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
- AgentCore payments GA vs Sume's API key and credit balance
AWS made AgentCore payments GA on Aug 18, 2026 with x402 upto and MPP. Sume uses an API key or OAuth with a credit balance and per-call spend caps instead.
- Cap a voiceover batch at $1: tts_create dry_run and max_spend_usd
Preview what a Sume TTS call will cost before it runs, and cap the spend. How dry_run and max_spend_usd work on tts_create, with a 20-line cost example.
- 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.
Written by Sume