Video generation MCP server: how Sume's generate_video works

Sume's hosted MCP server has a paid generate_video tool: a prompt or image in, a job id back, then jobs_wait and jobs_result for the clip.

5 min readSume
All posts

A video generation MCP server gives an AI agent a tool that turns a prompt or an image into a video clip. Sume's hosted MCP server at https://mcp.sume.com/mcp has one, generate_video: it submits a paid video job, routes to sume/auto unless you name a catalog model, and returns a job id that the agent waits on with jobs_wait.

The contract comes from Sume's MCP overview, MCP tools and gates, Video Generation, and Jobs and results docs, read on 2026-09-27. The basics page says hosted MCP still works but is not the primary path today: it fits an agent that already speaks remote MCP, while a backend calls POST /v1/videos directly.

How do I connect an agent to it?

Point a remote MCP client at https://mcp.sume.com/mcp. With OAuth, mcp:read sessions see only read-only tools, so turn Write on at consent: mcp:write sessions see mutating and paid tools such as generate_video. An API-key session, with Authorization: Bearer $SUME_API_KEY, sees the full hosted tool set. Setup for Claude Code, Cursor, and Codex is in Connect Claude Code, Cursor, or Codex to Sume.

What does a generate_video call look like?

In current code, generate_video submits to POST /v1/videos, and every generation field goes inside payload, next to idempotency_key. This call only previews the cost; send it again with dry_run omitted or false to submit.

{
  "idempotency_key": "desk-clip-001",
  "dry_run": true,
  "max_spend_usd": 2,
  "payload": {
    "prompt": "A vertical product clip on a desk, natural light",
    "aspect_ratio": "9:16",
    "duration": 5
  }
}

Which payload fields does generate_video take?

The fields follow Sume's POST /v1/videos contract. Read video-router_models before pinning a model, since limits differ per model.

From Video Generation and the MCP overview, read 2026-09-27.
`payload` fieldWhat it does
promptRequired. Text description of the video
modelOmit to route to sume/auto, or send a catalog id from video-router_models
duration, resolution, aspect_ratioEach model advertises the values it accepts
generate_audioWhether to generate audio; defaults to the model's audio capability
frame_imagesFirst or last frame images, for image-to-video
input_referencesReference images, for reference-to-video; frame_images wins if both are sent
size, seed, provider.optionsRejected with a 400 (provider.options when non-empty)

How does the agent get the finished clip?

It waits, then reads. In current code, generate_video answers with a job id within milliseconds, never a clip URL. Sume's docs say video generation typically takes 30 seconds to several minutes, depending on the model and parameters.

  • jobs_wait on the id holds at most 55 seconds per call (default 50), so the client's tool-call timeout must be longer than that.
  • On wait_slice_expired, call jobs_wait again with the same id. Never resubmit the paid create.
  • When the job is terminal, jobs_result returns it. Sume returns generated outputs as Sume-hosted artifacts under media.sume.com. Waiting out long video jobs covers the loop.

Is Sume's generate_video tool free?

No. generate_video is a paid tool, billed from the workspace's USD balance and reserved on submit, and the wallet is the spend gate. There is no mcp:paid scope, so the controls are per call: idempotency_key is required, dry_run=true previews the cost without submitting the job, and max_spend_usd is enforced only when provided. GET /v1/videos/models lists each model with its pricing.

What doesn't it do?

  • It does not name the model behind sume/auto. Responses echo sume/auto, and Sume does not disclose which family served the request.
  • It does not cut or assemble clips. Trim, filter, and Timeline are separate tools (video editing MCP server).
  • It cannot read files from your laptop. Frame and reference images have to be reachable over public HTTPS.

Sources

Related posts

More in Agents

All Agents posts

Written by Sume