Give my agent video generation: MCP, REST or Agent Completions?
Three ways to give an agent video generation on Sume: the hosted MCP server, the /v1/videos REST API as your own tool, or Agent Completions for the whole task.

You can give an agent video generation three ways with Sume. Connect the hosted MCP server at https://mcp.sume.com/mcp if your agent's client speaks remote MCP; wrap POST /v1/videos as your own tool if you run the tool loop yourself; or hand the whole task to Sume's agent with POST /v1/agent/completions. All three are asynchronous, and none returns a finished clip in the first response.
The choice is about who runs the loop, not about the video itself. This page lists what each route needs, from Sume's docs read 2026-09-29.
How do the three routes compare?
The differences are in the credential, the first call and what you poll.
| Route | Your agent calls | Credential | You then |
|---|---|---|---|
| Hosted MCP | generate_video | OAuth or API key | jobs_wait, jobs_result |
| REST as a tool | POST /v1/videos | API key | Poll polling_url or use callback_url |
| Agent Completions | POST /v1/agent/completions | API key with agent_completions:write | Poll GET /v1/agent-runs/{id} |
When is MCP the right route?
When the client already speaks remote MCP: Claude Code, Cursor, Codex and others list the tools for the model with no glue code. Omit payload.model and generate_video routes to sume/auto. Paid calls need an idempotency_key, and dry_run=true previews cost.
When should I wrap the REST API myself?
When your loop is your own code, for example a function-calling model without an MCP client. POST /v1/videos follows the OpenRouter video shape: model and prompt required, duration, resolution and aspect_ratio optional.
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Idempotency-Key: agent-clip-001" \
-H "Content-Type: application/json" \
-d '{"model": "sume/auto", "prompt": "A paper boat in a rain gutter", "duration": 5}'When does Agent Completions fit?
When the task, not the tool call, varies: you send an instruction and Sume's agent plans, generates and returns an agent.run receipt. generation_spend_cap_usd is required and has no default, and the response is a receipt, not a chat completion. Streaming is not available yet.
curl -X POST https://api.sume.com/v1/agent/completions \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{"instruction": "Make a 5 second product teaser.", "generation_spend_cap_usd": 5}'What is common to all three?
Never resubmit a paid create because a wait timed out. Over MCP, jobs_wait returns wait_slice_expired after at most 55 seconds and you wait again on the same ids; over REST, keep polling the same job; on Agent Completions, keep polling the same run. Set a spend ceiling before you leave the loop unattended.
Sources
Related posts
More in Agents
- GPT-6 Astra async tool calls: what a slow video job means for agents
OpenAI's GPT-6 guide describes async tool calling with async: true and call_id. How that maps to a video job that takes minutes, and where Sume's job ids fit.
- MCP tool search: how a long Sume tool list loads in Claude Code
Claude Code loads MCP tools on demand with tool search, which is on by default. What that means for Sume's long hosted tool list and how to prompt for it.
- Safe automation for AI agents that call paid APIs
Keep agents read-only by default, keep secrets out of logs, and on hosted MCP send an idempotency_key, preview with dry_run, and cap with max_spend_usd.
- Scheduled AI video agent runs: cron, API triggers, and receipts
A Sume schedule is a saved Agents automation that runs on a cron cadence and returns a run receipt. Author it in the dashboard; start and monitor runs by API.
Written by Sume