Fan out four Omni Flash clips in parallel and poll the jobs
Submit four Gemini Omni Flash requests at once on Sume, store each job id, poll status with backoff, then join the clips with Timeline.

To make a long piece from short Omni clips, submit one request per beat at once, store each job id, and poll each job's status until it is terminal. OpenAI's Sora guide says stitching shorter clips follows instructions more reliably than one long generation, and Sume's job model suits that: every generation returns a durable job.
Sume details are from the Jobs and results docs and Video Router docs; the Sora point is from OpenAI's Sora 2 Prompting Guide (read 2026-10-03).
Submit each beat with its own key
Writes need an Idempotency-Key. Use one per beat, such as story-001-beat-1, so a retry of the same beat is safe while a different beat is a different request. Admission limits can leave a job queued; the docs call that a normal accepted state.
| Status | Meaning | Stop polling? |
|---|---|---|
| queued | Accepted, waiting to run | No |
| processing | Running or finalizing | No |
| completed | Result ready | Yes |
| failed | Terminal failure with a public error | Yes |
| canceled | Cancellation terminal | Yes |
Poll with backoff
Read the job id from each submit response and keep it. The docs say to use exponential backoff, stop on a terminal status, and not resubmit a paid request just because a local process timed out.
curl https://api.sume.com/v1/jobs/$JOB_ID/status \
-H "Authorization: Bearer $SUME_API_KEY"Fetch results and join
GET /v1/jobs/:id/result works only after completion; before that it returns a conflict. When all four are complete, pass the clip URLs to a Timeline 1.0 render. If you prefer push to poll, Sume also sends job.completed webhooks, signed with HMAC over the timestamp and raw body.
Cost shape
Four 8 second 720p clips are 32 seconds of output: 32 x $0.125 = $4.00 on Sume at list x 1.25, plus $0.10 for a one minute timeline render. See the Video Router docs.
Sources
Related posts
More in Developers
- Where to find a voice ID for Sume text to speech: voices_list and voi_
Sume TTS wants a voice UUID or a voi_ library id, never a voice name like alloy. Where to copy it from, and the error you get for a name.
- Find dead air in a Reel: sentence segments and silence split
Sume video inspect splits a transcript into sentence segments at pauses of 0.2 to 3 s. Use the gaps between segments to find dead air before you trim.
- Find every Sora call left in your codebase: a retired-id scan
OpenAI's Videos API shut down 2026-09-24. A 20-line Python scan lists every file still naming a retired sora-2 model id so you can swap them.
- Find micro-drama premises: TikTok trending search for $0.10 a call
One trending-videos search returns ranked TikTok metadata for a keyword, from 1 to 50 results, for $0.10. How to read it for premises, not to copy clips.
Written by Sume