Should I use MCP, an API, an app or a skill for AI image and video?
For AI image and video, use MCP when an agent does the work, the REST API for your own code, an app when others run it, and a skill for a ready-made job.
Use the MCP connector when an AI agent does the work, the REST API when your own code runs a workflow, an app when other people run your workflow with their own credits, and a skill when you want a ready-made job in Claude Code, Cursor or Codex. All four run the same image and video models on the same credits.
| Route | Use it when | How you connect | Who pays | How you get results | Start here |
|---|---|---|---|---|---|
MCP connector, https://www.wireflow.ai/api/mcp |
An agent such as Claude, Cursor, Codex or ChatGPT builds, runs and reads workflows for you | Sign in with your Wireflow account (OAuth), no key | The connected account | The agent calls get_execution |
Connect your agent |
Editor connector, https://www.wireflow.ai/api/mcp/editor |
An agent edits video timelines and renders media already in your account. It generates nothing | Sign in with OAuth, no key | Renders cost 0 credits at current pricing | render_video saves the file as the node's output |
Editor Connector |
REST API, POST /api/v1/workflows/{id}/run |
Your own code runs a workflow you own | An sk- key with workflows:execute |
The key owner | Polling, or a signed webhook | Run a workflow from your app |
App, POST /api/v1/apps/{slug}/execute |
Other people, or you by slug, run a workflow you published | The caller's own sk- key with apps:execute |
The caller | Polling the pollUrl |
Let others run your workflow |
Skill, from github.com/wireflowINC/skills |
A packaged job fits, such as a product clip or a set of ad images, and you want a cost quote first | It runs through the MCP connector | The connected account | Files saved to ./wireflow-outputs/ |
Claude Code Skills |
Most setups use more than one route. An agent drafts and tests a workflow over MCP, your code runs it with the REST API, and you publish it as an app when other people need it. Drafting costs nothing, and credits are spent only when something runs.
What is the difference between MCP and an API?
MCP is how an AI agent works with Wireflow: it signs in with OAuth and calls tools such as create_workflow_from_prompt, run_workflow and get_execution. The REST API is how your own code does the same, with an sk- key and plain HTTP requests.
| MCP connector | REST API | |
|---|---|---|
| Who drives it | An AI agent, from your prompt | Your code |
| Sign-in | OAuth with a consent screen, and no key to copy | An sk- API key as a Bearer token |
| Permissions | The scopes you approve on the consent screen; some are opt-in | The scopes you pick when you create the key |
| Starts a run with | run_workflow or run_app |
POST /run or POST /apps/{slug}/execute |
| Learns the result with | get_execution |
Polling, or a webhook on /run |
The two are separate. An MCP sign-in is not an API key: the video composition contract endpoint, for example, refuses an MCP token with 401. They also resolve identities independently: check which account each one acts as with whoami over MCP, or GET /api/v1/me with a key.
Connecting an agent is one command in Claude Code:
claude mcp add --transport http wireflow https://www.wireflow.ai/api/mcp
Running the same workflow from code is one request:
curl -X POST https://www.wireflow.ai/api/v1/workflows/YOUR_WORKFLOW_ID/run \
-H "Authorization: Bearer $WIREFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inputs": {"node-prompt": "a paper boat on a neon puddle"}}'
MCP or skills: which should I use with Claude Code?
Use a skill when one of the ready-made jobs fits, and the connector on its own when you want to shape the job yourself. A skill is not a separate connection: it plans the job in Claude and runs a published Wireflow app through the same MCP connector.
| Skill | MCP connector on its own | |
|---|---|---|
| What you get | A fixed job, such as a 5-second video clip, product photos or static ads in three sizes | Any workflow: build it, run it, read results, edit video timelines |
| Before it spends | Shows the plan, the credit cost and your balance, then waits for your yes | Whatever you ask, so tell the agent to quote the cost first |
| Results | Saved to ./wireflow-outputs/, with the credits used |
File URLs from get_execution, plus the board in your account |
| Install | /plugin marketplace add wireflowINC/skills, then /plugin install wireflow-skills@wireflow |
claude mcp add --transport http wireflow https://www.wireflow.ai/api/mcp |
The plugin adds the connector too, so you run /mcp once to sign in. To install the skills in Cursor, Codex, Gemini CLI and more, use the skills CLI:
npx skills add wireflowINC/skills
Every retry or extra variation needs a new yes. To run boards you built yourself, the ai-workflow-runner skill matches a plain request to one of your workflows and estimates its credits first. Claude Code Skills lists every skill.
When should I use the REST API instead of an MCP server?
Use the REST API when code runs the job with no agent in the loop: a backend, a scheduled script or a feature in your own product. It takes an sk- key, which suits servers, and /run adds two things servers need: a signed webhook when the run ends, and an Idempotency-Key header that replays the original run on a retry instead of billing it twice.
const res = await fetch('https://www.wireflow.ai/api/v1/workflows/YOUR_WORKFLOW_ID/run', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WIREFLOW_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ inputs: { 'node-prompt': 'a paper boat on a neon puddle' } }),
});
if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`);
const { data } = await res.json(); // data.executionId and data.poll
import os
import requests
res = requests.post(
"https://www.wireflow.ai/api/v1/workflows/YOUR_WORKFLOW_ID/run",
headers={"Authorization": f"Bearer {os.environ['WIREFLOW_API_KEY']}"},
json={"inputs": {"node-prompt": "a paper boat on a neon puddle"}},
)
res.raise_for_status()
data = res.json()["data"] # data["executionId"] and data["poll"]
Use MCP instead when a person steers the work in chat, or when the job changes each time and an agent should pick the models, draft the workflow and read the results. For how an agent compares with a node tool that runs on a schedule, see n8n vs MCP for video automation.
When do I use an app instead of the API?
Publish an app when someone other than you should run the workflow, or when you want a fixed endpoint by slug. /run works only on workflows you own, while an app can be called by anyone with an apps:execute key, and each caller pays for their own runs. Publish it as private and it becomes an endpoint that only your account can call.
An app also gets a web page with a form, for people who don't write code. Its sign-in, per-run prices and subscriptions are in Publishing Apps. To run someone else's community template without copying it, see Execute Templates.
Related
- Overview
Connect your AI agent to image and video generation tools: add the Wireflow MCP server URL in Claude, Cursor, Codex or ChatGPT, then sign in. No API key.
- Quickstart
The Wireflow REST API runs your AI workflows from code: authenticate with an sk- key, start a run, then poll or get a webhook with the result.
- Publish an app
Turn your workflows into standalone apps with subdomains, user auth, billing, and analytics.
- Skills
Yes, Wireflow's public agent skills make images, videos, product shots and ads in Claude Code, and the skills CLI installs them in Cursor and Codex.