Blog

Agents

The Sume video agent from code: Agent Completions, scheduled runs, MCP tools and timeouts, programmatic tool calling, and guardrails for paid APIs.

Start with: What is a video agent? How Sume defines and runs one

OpenAI Tier 1 is 200 requests a minute: poll Sume jobs in batches

A job-polling loop burns a 200 requests-a-minute limit fast. One batched jobs_wait on up to 20 Sume job ids replaces dozens of status calls.

tts_source_get and verify_spine: check a voiceover vs its script

Sume's hosted MCP has two free read tools for voiceover work. One returns the accepted script for tts_create, the other compares chosen TTS jobs to it.

generate_video MCP defaults to sume/auto; REST requires model

The generate_video MCP tool defaults model to sume/auto, but POST /v1/videos requires model. Same payload schema; the MCP server adds the default.

Sume skipped run with previous_run_active: what it means, what to do

A scheduled Sume run is skipped with skip_reason previous_run_active when the last one is still going. It is not billed work. How to detect it and avoid it.

A decision model's confidence is not a spend cap: Sume's real gates

Strands Decider and Clef return confidence scores. Only the Sume gates in this table, from idempotency_key to the required spend cap, limit what a run can cost.

Fire a Sume schedule from a decision, not a clock: API trigger

Set api_trigger_enabled on a Sume schedule, let Clef or Decider decide when it is worth running, then POST /v1/actions/{action_id}/runs with an idempotency key.

Scheduled Sume agent runs: the $1.00 default cap and min(request, cap)

A Sume schedule saves a spend cap, defaulting to $1.00 when unset. An API trigger can lower a run's cap but never raise it past the saved one.

Clef-flash as a yes/no gate before a paid Sume Agent Completion

Cloudflare's Clef-flash returns typed answers with probabilities. Put one in front of POST /v1/agent/completions as a filter, keep the spend cap as the guard.

402 automation_generation_spend_cap_exceeded in a scheduled run

The per-run generation cap rejected one job before it reserved credits. Only that job fails; the run is not canceled. Raise the cap or trim the plan.

Scheduled run cap null: no ceiling, but wallet and limits still bind

Sending generation_spend_cap_usd null drops the automation ceiling for one run. Wallet balance, admission and org limits still apply, and 0 is a 400.

script_run budget stop: split the batch and wait outside the script

A Sume script_run budget stop (timeout, call or paid budget) means the script asked for more than allowed. Split it, or return job ids and wait outside.

What a Sume MCP create result tells the agent to call next

A Sume MCP create result carries agent.next_step: jobs_wait with the job_id and timeout 50, plus poll_after_seconds 5. Follow it; do not resubmit.

Agent says Sume MCP is down after one timeout: retry once, name it

One errored or timed-out Sume MCP call is just that call failing. Retry it once, report that tool's error, and never say the server is down.

Sume MCP tool_name_typo: avatar_image_to_video_create is a typo

avatar_image_to_video_create gives tool_not_found; the real name is avatar-image-to-video_create. Sume sends did_you_mean and a tools_schema next_step.

Sume MCP returned a tool descriptor, not a result: it did not run

If a Sume MCP call returns a tool name, description and schema instead of a result, the tool did not run. Re-call with the namespaced name your client lists.

Weekly trend video schedule stops early: the $1.00 default cap

A Sume schedule with no spend cap runs with $1.00 of generation per run, so a weekly video run can stop after a clip. Set the cap to fit the plan.

Agent Completion or three API calls for a render-trim-caption chain

If the steps are fixed, call the endpoints. If the task changes on every call, an Agent Completion with a required spend cap fits. How the two compare.

API-triggered scheduled run: key per week, not $(uuidgen)

The docs' example sends Idempotency-Key: $(uuidgen), which changes on every retry. Derive the key from the week so a retry returns the same run.

200 from an Action run call: replay or skipped? Read the receipt

A 200 on POST /v1/actions/:id/runs means an idempotency replay or a skipped run. Branch on status, idempotency_hit and skip_reason, not on the HTTP code.

Make a video from a URL in Claude or Cursor: crawl_scrape, Wan 3.0

Alibaba's Wan 3.0 reads webpages; Sume's request has no web_url. In Claude or Cursor use hosted MCP: crawl_scrape the page, then generate_video with wan-3.0.

voices_create persona: 20 characters minimum, one variant in chat

To invent a Sume voice from words, voices_create needs a persona of 20+ characters or invent:true. Chat makes one variant by default, three only if you ask.

Use a saved workspace voice in Sume chat: @ mention it in the turn

Tag a saved voice with @ in a Sume chat turn and the agent prefers that voice for speech. Here is what it reads from the voice and what a mismatch looks like.

Audition a saved Sume voice with sample_url before a paid TTS take

voices_list and voices_get return a sample_url for each ready workspace voice. Play it first, then spend on tts_create with the cartesia_voice_id.

voices_create says processing: call again with voice_id

When voices_create returns processing, the voice is still being made. Call it again with the same voice_id to wait. A resubmit starts a second paid generation.

Sume team chat says View only: 403 Missing capability

Members are read-only in a Sume team workspace. The composer is disabled and write routes answer 403 Missing capability thread.run or thread.write.

Pasted a Sume thread link and landed on New Agent? Workspace

A Sume thread stamped with another workspace answers 404 workspace_mismatch and the app redirects to New Agent. Switch workspace, then reopen the link.

Dictate a video brief by voice in Sume Agents: the 2-minute limit

The Sume Agents composer records up to 120 seconds from your mic, transcribes it with Sume STT, and adds the text. Here is what happens to the audio.

Parallel tool calls on a voice agent: one idempotency key each

ElevenLabs agents default enable_parallel_tool_calls to true. If tools start paid jobs, give each call its own key and wait on all job ids in one batch.

Cursor Projects coordinator fan-out: size waves from generation_limits

A Cursor coordinator that delegates to subagents can overrun a Sume workspace. Budget new in-flight jobs from generation_limits, not from wave_size_hint.

Claude Code 2.1.289 agent.spawn: teammates share one Sume queue

Claude Code 2.1.289 adds agent.spawn for teammates. Teammates sharing a Sume workspace share its concurrency limit and queue, so plan the width of the fan-out.

OpenAI Dots x Runway: brief a dot, it plans shots. The Sume loop

Runway's Oct 1 changelog lists OpenAI Dots x Runway for all plans: brief a dot, it plans shots, Runway shoots. The same loop with Sume MCP tools.

Qwen3.8-Omni-Flash for audio agents: tool access

Qwen3.8-Omni-Flash is an omnimodal model for agents. Whatever model you pick, give it Sume's hosted MCP tools and check tools_list before any paid call.

@-mention an agent on a video asset: Runway vs Sume

Runway Enterprise lets you @-mention its Agent in asset comments. Sume Agents take work via the Agent Completions API; media jobs report by webhook.

Claude Desktop catch-up run after wake: idempotency key for Sume

Desktop runs one catch-up task after sleep, maybe hours late. Use a date-based idempotency_key, dry_run and max_spend_usd so Sume bills once.

Claude Desktop scheduled task skipped? Computer asleep vs Sume cron

Desktop scheduled tasks only fire while the app is open and the computer is awake. Where a Sume Scheduled cron run differs and when to use each.

Claude Desktop task can reschedule itself; a Sume schedule cannot

Desktop tasks can edit their own cadence with update_scheduled_task. A Sume schedule has a fixed trigger and no write API. What to do instead.

Hermes cron fixes for run now, and Sume's one-active-run rule

Hermes fixed run-now cancelling the next scheduled run. Sume schedules allow one active run: a second is skipped, or rejected if you ask for reject.

Kilo scheduled sessions vs a Sume schedule for recurring renders

Kilo v7.8.3 reports a session waiting on a wakeup or cron task as scheduled. A Sume schedule lives server-side; use it when renders must run unattended.

AI video agent vs a single-model video generator: what you call

A single-model generator returns one clip from a prompt. An agent plans shots, calls tools and assembles a video. How the Sume calls differ.

Agent Completions gaps today: plan around streaming and PDFs

What Sume Agent Completions does not do yet: streaming, thread continuation, assistant turns, PDFs. Workarounds for GPT-6.1 Sol and Sonnet 5.5 agents.

List Agent Completions newest first: audit an overnight agent

After an agent on GPT-6.1 Sol or Sonnet 5.5 ran overnight, GET /v1/agent-runs lists its Sume completions. What to read from each receipt, and what not to infer.

Re-render Sora prompts from an agent: jobs_wait takes 20 ids

An agent re-rendering saved Sora prompts should wait on up to 20 Sume job ids per call, read results in one batch, and not resubmit after a wait slice expires.

Codex Cloud background tasks: three Sume guardrails to set first

OpenAI's Codex Cloud runs tasks in the background while you are away. Before one can call Sume, set read-only scope, idempotency keys and a hard spend cap.

script_run or Agent Completion: which for a GPT-6.1 Sol agent?

A GPT-6.1 Sol coding agent can call Sume via MCP script_run or Agent Completions. Which fits fan-out of known calls, and which fits open-ended tasks.

What did my seller agent spend? Read Sume usage by thread

Amazon's Seller Assistant plugin logs its actions with audit trails. For the media your agent made through Sume, read the cost by thread_id and run_id.

job_scope_forbidden: why an agent run cannot list every Sume job

A thread-bound Sume credential lists only its own thread's jobs, and unattended runs cannot ask for the whole workspace. What to use instead.

Opus 5.5 resists injection better, but keep scraped text in input

Anthropic says Opus 5.5 is more resistant to prompt injection. For a video agent that reads web pages, still send them to a Sume Format run as input data.

Gemini 4 Argon is announced but not public: what to run today

Google announced Gemini 4 Argon on Sept 30 with access limited to cyber defenders. Here is what a Sume Format run uses as its orchestrator meanwhile.