Gemini Omni Flash edit on Sume: the 8-second reserve hint
A Gemini Omni edit has no duration input, so Sume reserves against a hint: 8 seconds by default, up to 30 if you send one. At 720p, that is $1.00 held.

Editing an existing clip with gemini-omni-flash-1.1 and video_url has an odd billing property: the provider returns the output length from the source clip, and Sume cannot know it at submit time. Sume's pricing code notes that an edit has no duration input on fal, so the reserve is a hint and not a probe.
What the hint is
If you send no duration with video_url, the reserve assumes 8 seconds. If you send one, it is used only for the reserve estimate; it is never forwarded to the provider. The Video Router duration ceiling for an edit hint is 30 seconds.
| Duration hint | Reserve held |
|---|---|
| none (default 8 s) | $1.00 |
| 5 | $0.63 |
| 10 | $1.25 |
| 30 | $3.75 |
What to send
Check the completed job's usage.cost against the hint you sent. Hints that are too high only hold more balance for a while, so a generous hint is the safer error.
- Send the hint when your source clip is longer than 8 seconds. Otherwise a 10-second source can exceed the reserve estimate.
- Do not send
aspect_ratiowith an edit; the API returns 400. The source clip sets the output. - Do not send
generate_audio,bitrate_modeorreference_audio_urls. Audio is always on for this model.
Request
curl -X POST https://api.sume.com/v1/video-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: omni-edit-10s-001" \
-d '{
"model": "gemini-omni-flash-1.1",
"prompt": "Replace the bottle with an apple. Keep everything else the same.",
"video_url": "https://example.com/clip.mp4",
"resolution": "720p",
"duration": 10,
"mode": "async"
}'
Sources
Related posts
More in Developers
- Gemini Omni Interactions API versus Sume /v1/videos: field mapping
Google returns Omni video as base64 in an Interactions response. Sume returns 202 with a polling_url and a content URL. See the mapping and a bytes helper.
- Gemini Omni prompt template: five parts in a Python builder
Google's Omni guide names five prompt parts: framing, style, lighting, location, action. Build them in Python and send the prompt to Sume's /v1/videos.
- generate-video 409s: preview_not_ready vs preview_image_not_ready
generate-video on an avatar preview can return two 409s: the job is unfinished, or a public preview image is missing. How to tell them apart.
- generation_spend_cap_usd: null means $500, 0 is a 400, per ad variant
What the per-run spend cap does on Sume Format runs for a number, null, 0 and a value over 500, and why every ad variant should set its own.
Written by Sume