Developers
Wireflow Editor Connector
The Wireflow Editor connector lets Claude, or any MCP client, read, edit and render the workflows, video timelines and image composites in your Wireflow account. Rendering is deterministic: Remotion for video and canvas compositing for images, working from media that is already in your account. The connector does not generate images, video or audio.
Connect
Add a custom connector in your MCP client with the Streamable HTTP endpoint below. The client takes you through Wireflow sign-in and a consent screen; there are no API keys to copy.
https://www.wireflow.ai/api/mcp/editorHow auth works
- OAuth 2.1 authorization code flow with PKCE (S256).
- Dynamic Client Registration (RFC 7591), so clients register themselves with no shared credentials.
- Tokens are issued for this connector only (RFC 8707 resource indicators) and do not open other Wireflow endpoints.
- You approve a consent screen listing the permissions below, and can revoke access at any time from your Wireflow settings.
Permissions
Permissions marked optional are off unless you tick them on the consent screen or the client asks for them by name.
| workflows:read | View your workflows, templates, video timelines and named assets |
| workflows:render | Render previews, videos and image composites from media already in your workflows. Nothing is generated |
| executions:read | View the status and results of your runs |
| usage:read | View your credit balance |
| automations:read | View your scheduled automations and their run history |
| workflows:edit | Edit your workflows: copy templates, draft new workflows from a description, change node settings and video timelines, and add uploaded filesoptional |
| social:read | See how your social posts performed (views, reach, likes, comments, shares, saves). Cannot postoptional |
Tools
| whoami | Show the connected accountReturns the Wireflow account this connection acts as: user id, email, name, plan, the permissions granted to this connection, and the credit pool runs are billed to, with its available balance. Free; changes nothing. |
| get_credit_balance | Get credit balanceReturns the personal credit balance, the label and balance of the pool runs are billed to, and the plan name. Free; changes nothing. Requires the usage:read permission. |
| list_workflows | List workflowsLists the workflows in the account, most recently updated first, with id, name, description, tags, published flag and last update time. Free; changes nothing. Requires workflows:read. |
| get_workflow | Get a workflow summaryReturns a summary of one workflow: name, description, node count, a count of nodes by type, the inputs it accepts with their keys and types, and its Video Editor nodes with their ids and input ports. Saved input values are included for the owner and for collaborators with edit access; for other readable workflows (public templates, published apps) the inputs carry structure only. Node positions and sizes are not included. Free; changes nothing. Requires workflows:read. |
| list_templates | List templatesLists published Wireflow templates with id, name, description, tags, slug and, when known, the capabilities derived from the nodes each one contains. category filters by the template category tag. capability filters by graph contents; several capabilities match templates that contain all of them. Templates with unknown capabilities are left out of a filtered list and counted in unknownCapabilities. Free; changes nothing. Requires workflows:read. |
| clone_template | Copy a template into the accountCopies a template, or a workflow the account owns or has been given access to, into the account as a new private workflow and returns its id. The copy keeps the nodes, connections and layout of the source. Secret values are removed unless the caller owns the source; input values are kept for public templates and for sources the caller can edit, and left blank otherwise. Nothing is run and no model is called. Free; up to 100 copies per account per day. Requires workflows:edit. |
| get_video_timeline | Read a video timelineReturns the contents of a Video Editor (video:remotion) node: every scene and timeline clip with its index, type, duration in frames and seconds, start frame, trim points and source; findings such as clips that run past the last scene, empty sources and zero-length rows; and where the renderer reads the scene graph from. With includeSceneGraph set, the full scene graph is included too. A node in template mode reports its template and no scene graph. Free; renders nothing and changes nothing. Requires workflows:read. |
| edit_video_timeline | Edit a video timelineReplaces the scene graph on a Video Editor (video:remotion) node, through the same version-checked writer as the Wireflow editor. Top-level keys left out of sceneGraph keep their saved values; scenes, when present, replaces the whole scene list. The write is refused for a node in template mode, for a graph that fails validation, for a repair that would drop scenes or clips (unless acceptLossyRepair is true), and when the workflow changed after baseUpdatedAt. Returns the timeline as saved, the previous and new durations, the keys carried over and any repair notes. Renders nothing; spends no credits. Requires workflows:read and workflows:edit. |
| preview_video_frames | Preview video framesRenders up to 5 still frames of the scene graph saved on a Video Editor (video:remotion) node in a workflow the account owns, and returns them as images with their frame numbers and times, plus diagnostics: empty scene or clip sources, audio without a source, missing captions, and inputs whose upstream nodes have no output yet. renderable is false when a required visual source is empty. Values come from the saved outputs of upstream nodes; nothing upstream is run. Nodes in template mode are not supported. Costs 0 credits; limited to 3 calls per minute and 200 still renders per account per day. Changes nothing in the workflow. Requires workflows:read and workflows:render. |
| list_assets | List named assetsLists the named assets the account can use (characters, voices, plates, brand kits, recipes and references) from the personal library and one team: the active team, or teamId when given. q matches words against name, aliases, tags and description, all words required; kind filters by type. Each row carries its id and a pointer to its target, not resolved media. Free; changes nothing. Requires workflows:read. |
| get_asset | Get a named assetReturns one named asset by id, or by exact name or alias (case-insensitive), with its target resolved at call time: a workflow node with its current output URLs (and text for a document node), an owned voice with its voice id, a blueprint with its id and slug, a recipe reference, or a media URL. resolved.status reports missing, no_access or owner_only when the target cannot be served. A name matching several assets returns the candidates. Free; changes nothing. Requires workflows:read. |
| create_upload_link | Create an upload linkCreates a link to a phone-friendly page, with no login, where a person uploads one file into a workflow the account owns: audio (mp3, wav or m4a, up to 25MB), video (mp4, mov or webm, up to 500MB) or image (jpg, png, webp, gif or avif, up to 100MB). The page shows the given text inside a frame naming the requesting account. The file lands as an Import node: targetNodeId alone fills that Import node, replacing any file it held, targetNodeId with targetPort adds an Import node wired into that input, and neither adds an unwired Import node. A repeat upload replaces the file on the same node. The link expires after 24 hours and accepts maxUses uploads (default 3). Returns the url and a slotId. Runs nothing and spends no credits; up to 30 links per account per day and 10 open at once. Requires workflows:edit. |
| get_upload_link | Check an upload linkReturns the status of an upload link by slotId: pending, fulfilled or expired. When fulfilled it includes the Import node id, the file URL, the measured width, height, duration, content type and size, and whether the node was created or filled and what it is wired to. Free; changes nothing. Requires workflows:read. |
| create_workflow_from_prompt | Draft a workflow from a descriptionSaves a new private draft workflow built from a plain-English description. A text language model picks and connects nodes from the Wireflow node registry, so ports and defaults are real. The draft is saved and nothing in it is run, so no images, video or audio are generated. Returns the new workflow id and any repairs made to the graph. Spends no credits; up to 20 drafts per account per day, within a daily AI usage budget. Requires workflows:edit. |
| update_workflow_config | Update node settingsSets config or prompt values on nodes that already exist in a workflow the account owns, replacing the values saved there: for example a prompt, an aspect ratio, a duration, the text of a Text Input node (key prompt), the media URL of an Import node (imageUrl, videoUrl or audioUrl, https only) or the label of any node (key label). An image size takes a preset name or an object with width and height. Unknown keys are refused with the list of valid keys. Nodes and connections are not added, removed or rewired, and nothing is run, so no images, video or audio are generated. Spends no credits. Requires workflows:edit. |
| get_execution | Get run statusReturns the status and results of a workflow run by execution id: status, error, stored credits used, start and end times, output media URLs, and the status, progress, error and text output of each node (text capped at 4000 characters per node). For a run on a workflow the caller neither owns nor can edit, only the results its author designates are returned, with the author's saved values withheld. Reads results only and starts nothing. Free; changes nothing. Requires executions:read. |
| list_automations | List automationsLists the scheduled automations on the account: the workflow each one runs, its schedule in plain English, whether it is enabled, when it next fires and how its last run ended. Free; changes nothing. Requires automations:read. |
| get_post_insights | Get social post analyticsReturns performance snapshots of the social posts of the account, taken about 1 hour, 24 hours, 72 hours and 7 days after each post went live: views, reach, likes, comments, shares, saves and any other metric the platform returned. Posts are selected by post ids or idempotency key; with neither, the most recent posts with snapshots are returned. since and until limit the snapshots to a capture window. Instagram only for now. Free; changes nothing. Requires the optional social:read permission. |
| render_video | Render a video or compositeRenders one Video Editor (video:remotion) or Compositor (compv3) node in a workflow the account owns, from upstream outputs and saved input values that already exist, and saves the result as that node's output. Exactly one node runs and no image, video or audio model is called. The call is refused, with the nodes named, when the node is of another type, when an upstream node has no output yet, when an input node wired into it is empty, when nodes downstream of it would refresh with it, or when it sits below an iterator. A video render is limited to 180 seconds, 60fps and 1920x1080 in either orientation; a composite to 4096x4096, and a composite batch to 10 rows. The limits are checked on the render as it will actually run, with wired inputs applied; a render over them is stopped and nothing is rendered. Returns an execution id under which the run status and the rendered file are available. Rendering costs 0 credits at current pricing, and the response includes the estimated credits for this render. Limited to 2 renders per minute and 30 per account per day. Requires workflows:read and workflows:render. |
Limits
- A render runs exactly one Video Editor or Compositor node, from outputs that already exist upstream.
- Video renders: up to 180 seconds, 60fps and 1920x1080 in either orientation. Composites: up to 4096x4096, and up to 10 rows in a batch. The limits apply to the render as it actually runs, with wired inputs applied.
- 2 renders per minute and 30 per account per day. Renders cost 0 credits at current pricing.
Questions about how Wireflow handles your data are answered in the privacy policy.