Render a Short from an agent: hosted MCP tool order
Which Sume hosted MCP tools an agent calls, in order, to import, inspect, cut and render a vertical Short, with idempotency_key rules and what stays on REST.

The order an agent should follow
An agent that renders a Short through Sume's hosted MCP server needs a short list of tools in a fixed order: import the clip, look at it, cut or arrange it, wait for the job, and read the result. The MCP tools and gates page lists the media tools, and the order comes from how each one's input works: trim, frames, inspect and Timeline all take a media.sume.com video, so the import has to come first.
This matters now because platform changes keep raising the length and the format of what a creator publishes. An October 2026 platform roundup lists YouTube's Shorts series, with seasons, episodes and sequential playback, as rolling out from 2026-09-23 (Orthotropy, read 2026-10-06). A series is the sort of work you hand to an agent as a list, and the agent then needs a tool path that does not surprise it.
Tools, in order
Every write tool takes an idempotency_key; under OAuth a write also needs the mcp:write scope, and a session with only mcp:read is refused with insufficient_scope.
| Step | Tool | Writes? | Notes from the docs |
|---|---|---|---|
| 1 | media-imports_create then media-imports_get | Yes | Brings a clip onto media.sume.com; every media tool below needs that host |
| 2 | video_inspect | Read-like | Probe, sampled stills and optional transcription, the default for what is in this clip; billed by Modal compute |
| 3 | video_frames_create then video_frames_get | Yes | Up to 24 stills at times you name, source up to 300 s |
| 4 | video_trim or timeline_create | Yes | Trim cuts one range; timeline_create renders a whole body |
| 5 | jobs_wait | No | Waits for a job to settle; one call holds at most 55 s (default 50), and a batch call takes 1 to 20 ids |
| 6 | timeline_get, jobs_result | No | Reads the finished render and its warnings |
What the agent cannot do over MCP
Captions are the gap. The tools page says video-captions_get is listed, while the older video-captions_create is not in tools_list. If the agent should caption a Short, it submits the caption job through the REST API with the same key and then reads it. Plan that handoff before the agent starts, so the agent does not invent a tool name. Treat any call to a tool that is not listed in tools_list as a mistake.
The same page says images_create and videos_create are not on hosted MCP and are REST-only. If your agent also generates clips, the generation step is a REST step. The cutting and arranging in the table are the parts it can run entirely over MCP.
Guardrails to set before you hand it over
Ask for an unbilled plan before a paid render. Timeline has a plan call that returns duration, segment count and billable minutes, and a hosted dry_run=true previews admission and cost without submitting. If you want a hard stop, the max_spend_usd gate is enforced only when you provide it, so provide it.
Give each job a key the agent builds from the season and the episode number, not a random one. A retry after a lost response then reuses the request. The tools page calls the key transport and dedup, not human approval: it does not prevent the agent from submitting two different episodes, so approval is still your job.
Keep slot counts low. Auto strategy chunks past 12 slots, and single is refused above that, so an agent that asks for single on a big body gets a refusal and not a render.
A short briefing for the agent is worth writing down. Tell it the order in the table, tell it that captions go through REST, tell it the key format, and tell it to stop and report if a plan shows more billable minutes than you expect. An agent that has the order and the stop condition written in its brief makes fewer expensive mistakes than one that discovers the tools as it goes.
If the agent has to loop over a season, the tools page describes a programmatic script_run call for three or more independent calls of the same shape, with a timeout_seconds between 5 and 55 and max_calls and max_paid_calls limits. Set max_paid_calls to the number of episodes you intend to render, so a runaway loop stops at your number. After a fan-out, prefer one batch jobs_wait over many single waits, and if it answers wait_slice_expired, call it again with the same ids rather than submitting the paid create again.
After the render, have the agent read the result and report the warnings by name, not summarize them. A padded or looped clip is a soft warning on a finished job, and a person should see it before the episode is published.
Sources
Related posts
More in Agents
- Scheduled run 400 because the instructions are empty: where to fix it
A Sume schedule with empty instructions can not run. The API run request returns 400 invalid_request, and the text can only be edited in the dashboard.
- Sume scheduled run returned skipped: detect previous_run_active
A Sume scheduled run that overlaps another returns 200 with status skipped, not an error. Check skip_reason in code, and choose reject if a drop must be loud.
- Did my Sume cron schedule fire? Read last_run_at and next_run_at
GET /v1/actions/{id} returns last_run_at and cron.next_run_at. Compare them with the run list to see if a schedule fired, without opening the dashboard.
- Sume schedule slug rules: 2-64 characters, and runs is reserved
A Sume schedule slug is lowercase alphanumerics with single hyphens, 2 to 64 characters, unique in your account. The word runs is reserved. See the vanity path.
Written by Sume