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.

If an agent is re-rendering a list of saved Sora prompts through Sume's hosted MCP server, give it a batch rhythm. Per the jobs guide, jobs_wait accepts 1 to 20 job_ids with wait_for set to all or any, and include_results: true returns finished results in the same answer. Submit generate_video for 20 prompts with idempotency keys, wait once, read once, and move on. When a wait slice expires, wait again with the same ids.
Why 20 and why short slices
Remote MCP calls hold at most 55 seconds, with a 50 second default. The docs explain that a longer HTTP hold dies at the edge before it answers, while the job keeps running and billing. So a ten-minute render is repeated waits, not one long one.
| Setting | Value |
|---|---|
| job_ids | 1 to 20 |
| wait_for | all (default) or any |
| Default slice | 50 seconds |
| Maximum slice | 55 seconds; larger values are clamped |
| On slice expiry | Retry jobs_wait with the same ids; never resubmit |
| include_results | Returns finished results in results[] |
Instruct the agent explicitly
Agents improvise when told only to "render these". Spell out the loop: check the balance, run dry_run on the first prompt, submit up to the wave size, record every job id, call jobs_wait with include_results, then call a batch jobs_result for ids named in results_omitted. Tell it that wait_for: any still reports every id and that remaining jobs continue and still bill.
- Every paid write needs an
idempotency_keyper prompt. - Optional
max_spend_usdcaps a single call. - Report media.sume.com URLs, not signed URLs.
Failure modes to name in the prompt
A 524 or similar edge status on jobs_wait is a transport failure, never a job outcome; re-issue the wait or read jobs_status once. Partial success is normal in a batch result: read ok per entry. And an operator_stopped outcome means Sume operations stopped a job, which is terminal with the hold refunded. For wave sizing, follow the admission guide, and check MCP tools and gates for the tool list.
Sources
Related posts
More in Agents
- 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.
- 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.
Written by Sume