Omni edit plus a reference image returns 400: send one or the other
Sume rejects video_url together with image or reference fields. Choose edit or reference-to-video on gemini-omni-flash-1.1, and see each field list.

Sume's validator returns 400 when a request carries both video_url and any frame or reference field: use either video_url (edit) or frame/reference fields, not both. If you wanted to edit a clip and also show the model the replacement object, put the object in the prompt, or run a reference-to-video call to make a new clip instead.
Two modes, two field sets
| Mode | Send | Do not send |
|---|---|---|
| Edit | prompt, video_url, optional resolution | image_url, end_image_url, reference_*_urls, aspect_ratio |
| Reference to video | prompt, reference_image_urls (up to 10) and/or reference_video_urls (up to 3, each up to 3 s) | video_url |
| Image to video | prompt, image_url, optional end_image_url | video_url |
A workaround that stays inside the rules
Describe the replacement in the edit prompt, as in the docs example: replace the bottle with an apple and keep everything else the same. If a photo is essential, generate a new clip with the photo as a reference and accept that it is a new clip, not your original footage. In reference mode the docs address media as <IMAGE_REF_0> and <VIDEO_REF_0>, zero-based in list order.
Omni takes no reference_audio_urls.
Sources
Related posts
More in Developers
- Gemini Omni Flash on /v1/videos: input_references and 9:16 in one call
Call gemini-omni-flash-1.1 through Sume's /v1/videos wire: input_references, 9:16, 720p, poll polling_url, download unsigned_urls. Fields and traps.
- One image to Gemini Omni on Sume: reference or first frame?
A single reference image on Sume's Omni row is reference-to-video, not a pinned first frame. Use image_url for a first frame, or frame_images on /v1/videos.
- Omni video_url or reference_video_urls: edit a clip or borrow from it?
On Sume, video_url edits your clip and keeps its framing. reference_video_urls only conditions a new clip. How the two differ in limits, fields and billing.
- Generated client for Sume schedule runs: handle the undeclared 503
The Sume run-a-schedule route declares 200, 202, 400, 401, 403, 404, 409, 413, 429 and 500 in OpenAPI, but can also return 503. Handle it in generated clients.
Written by Sume