Omni video edit: the duration field only sets the reserve, default 8 s
On a Gemini Omni Flash 1.1 edit, Sume sends no duration to the provider. A duration you add is only a reserve hint, default 8 s. Reserves at four resolutions.

On a Gemini Omni Flash 1.1 edit through Sume, the source clip sets the output length. A duration you send with video_url is only a hint for the credit reserve, and without it the hint is 8 seconds. At the default 720p that reserves $1.00. Pass 10 and it reserves $1.25.
Why a hint
The Video Router docs describe the edit mode: send video_url with a prompt and an optional resolution. The edit sends no aspect_ratio (a value returns 400) and no duration to the provider. The docs flag that the provider does not return an output duration, so the reserve is a hint, not a measured length.
A request
Edit is the only way to change an existing clip with natural language. video_url cannot be combined with image_url, end_image_url or reference_*_urls. To use a clip as a reference for a new generation, send reference_video_urls instead. generate_audio: false, bitrate_mode and reference_audio_urls are 400s for this model.
curl -X POST https://api.sume.com/v1/video-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-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
}'What the reserve looks like
The rate is per second by resolution, list x 1.25: $0.0375 at 360p, $0.125 at 720p, $0.1875 at 1080p and $0.375 at 4K. Amounts round up to the cent.
| Hint | 360p | 720p | 1080p | 4K |
|---|---|---|---|---|
| 8 s (default) | $0.30 | $1.00 | $1.50 | $3.00 |
| 10 s | $0.38 | $1.25 | $1.88 | $3.75 |
Practical advice
If your source clip is 10 seconds, send duration: 10 so the reserve covers it. If it is 4 seconds, you can leave the field out, and the reserve is the 8 s hint. Read usage.cost on the finished job for the amount charged.
Edit sources have to be reachable by URL. A private or expired URL fails with the public message that the input media could not be downloaded. For the workflow, see our note on editing an old clip.
Output resolution defaults to 720p, and 4K or 4k both work on this model. Aspect ratio is not a field here; the source decides.
What an edit cannot do
Edit takes a prompt, a source clip and optionally a resolution. It does not take references, a last frame, bitrate_mode or an audio input. The API also does not expose a way to extend a clip: the previous-interaction field is not in the provider schema that Sume maps. To make a clip longer, generate a second clip and join them in Timeline.
Because the source sets the output, an 8 s default reserve for a 3 s source overstates the hold. The difference comes back when the job settles, so the practical cost of a too-large hint is a temporary lock on balance, not a higher charge.
Related posts
More in Developers
- A one-file Python CLI that replaces a Sora script, on Sume
One argparse script, standard library only: prompt, model, seconds, resolution and aspect flags in, mp4 out, with an idempotency key derived from the arguments.
- One handler for both: Sume run webhook payload equals the GET receipt
A Sume run webhook's payload is byte-identical to GET /v1/format-runs/{run_id}. Write one function for polling and webhook, and branch on outcome.
- One Sume probe, eight platform limits: a Python preflight
Check one video inspect probe against Truth Social, Odysee, ArtStation, Linktree, Spotlight, Reels, TikTok API and Shorts limits in under 30 lines of Python.
- Agents SDK blocked_tool_names: hide Sume paid tools from a model
create_static_tool_filter takes allowed and blocked tool names. Use it so an agent on Sume's hosted MCP can read, but never sees a paid generate tool.
Written by Sume