Video edit on Sume: video_url cannot ride with image fields
For gemini-omni-flash-1.1 video-to-video edit, video_url is the source, not a reference. Mixing it with image_url or reference lists fails. Fix and examples.

A Sume video edit with Gemini Omni Flash 1.1 takes video_url as the clip to change and a prompt as the instruction. Do not send image_url, end_image_url or reference_*_urls in the same request: the docs say video_url is the edit source, not a reference, and cannot be combined with them.
If your edit fails because you tried to add a reference image, split the work into two steps.
How Sume picks the capability
In the Video Router docs, gemini-omni-flash-1.1 is one catalog id. Sume routes it by the shape of the request, and you never select an endpoint. The same id covers text-to-video, image-to-video, reference-to-video and video-to-video edit.
| Capability | Send | Notes |
|---|---|---|
| Text to video | prompt | 3-10 s, 360p to 4K, 16:9 or 9:16 |
| Image to video | image_url, optional end_image_url | same envelope |
| Reference to video | reference_image_urls (up to 10), reference_video_urls (up to 3, each up to 3 s) | refer to media as <IMAGE_REF_0>, <VIDEO_REF_0> |
| Video edit | video_url | prompt gives the edit; resolution optional, default 720p; no aspect_ratio or duration |
A working edit request
The edit example in the docs sends the model id, a prompt, a video_url and a resolution, and uses async mode. Nothing else is needed. Add an Idempotency-Key so that a retry returns the original job instead of a second charge.
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: video-router-edit-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","mode":"async"}'If you wanted a reference in the edit
Reference media and an edit source are different modes, so there is no single call that does both. Two options follow. First, edit the clip with a prompt that describes the change in words. Second, run the reference-to-video mode to make a new clip that uses the reference images, then edit that clip in a second call, because the finished clip from the first job can be passed as the video_url of the second call.
The edit mode has no aspect_ratio or duration fields, so the output follows the source. Native synced audio is always on for this id, and the API rejects generate_audio: false.
How this compares to Ray 3.2
Luma lists a full control surface through the Ray 3.2 API (page read 2026-10-05). Sume does not run Ray 3.2. For editing an existing clip with a prompt, Omni Flash 1.1 is the Sume catalog id that documents video_url edit. Billing is the provider list times 1.25 for each output second, as a function of the resolution.
The edit source is the length you pay for, so trim first with video trim if you only need to change a few seconds of a longer take.
Edit limits to plan around
The edit mode accepts resolution as an option (default 720p) and nothing about duration or aspect ratio: the output follows the source. The model id's general envelope is 3 to 10 seconds, so keep the source in that range when you can, and cut a longer take first with video trim. Prompts should say what to keep: the docs example ends with 'Keep everything else the same.'
Billing is the provider list times 1.25 for each output second, as a function of resolution. A 10 second edit at 1080p costs more than at 720p, so test the prompt at the default 720p first.
Debug checklist
- Remove
image_url,end_image_url,reference_image_urlsandreference_video_urlsfrom the body. - Keep
model,prompt,video_urland optionallyresolution. - Send an
Idempotency-Keyso a retry does not run twice. - Read the job's error field on a failure instead of guessing.
Where the other edit tools fit
Omni Flash 1.1 is the id on Sume that documents a prompt-driven video_url edit. For other changes, the media tools are deterministic: video filter dims or crops a clip, video trim cuts a range, and Timeline joins and fades. If your change is geometric or tonal, those cost $0.02 or $0.10 and use no model inference, so try them before an edit job.
Sources
Related posts
More in Developers
- Video filter 400 video_filter_ops_empty: send one op or a filtergraph
Video filter 1.0 needs at least one op in ops[] (max 8) or a non-empty filtergraph. POST /v1/video-filter/check returns diagnostics for free before you pay.
- video_inspect: fps 2 and a 24-still cap cover only 12 seconds
At fps 2 video_inspect's 24-still cap covers 12 seconds. Pick fps or explicit at[] times by clip length; a table of coverage from 12 s to 96 s per call.
- video_inspect seek fast vs precise: a quick look with keyframe stills
seek: fast moves each still to the keyframe at or before its instant and skips the decode. Use it for a quick look; precise when timing matters.
- Video job statuses: pending, cancelled vs Sume's five job states
A /v1/videos job says pending or in_progress; /v1/jobs/{id}/status says queued or processing. Here is the mapping, which one to poll, and the spelling trap.
Written by Sume