Gemini Omni edit returns 400: the five field mistakes on Sume
A video_url edit on gemini-omni-flash-1.1 fails with 400 when you add aspect_ratio, generate_audio false, bitrate_mode, reference audio, or other media. Fixes.

If a Gemini Omni Flash 1.1 edit on Sume returns 400, one of five things is almost always in the body: an aspect_ratio, generate_audio: false, a bitrate_mode, reference_audio_urls, or another media field next to video_url. Remove it and resubmit. The edit takes only prompt, video_url and an optional resolution.
The refused fields
Sume treats an edit as its own input shape on the single gemini-omni-flash-1.1 id. The Video Router docs spell out what the shape does not accept, and the API refuses those fields loudly rather than dropping them, because a silent drop would bill you for something you did not ask for.
| You sent | Why it fails | Fix |
|---|---|---|
aspect_ratio | The source clip sets the output framing | Delete it |
generate_audio: false | Native synced audio is always on for this model | Delete it, or trim the audio afterwards |
bitrate_mode | The model has no such option | Delete it |
reference_audio_urls | The model takes no audio reference | Delete it |
video_url with image_url, end_image_url or reference_*_urls | video_url is the edit source, not a reference | Send one or the other. To condition a new generation on a clip, use reference_video_urls and no video_url |
Two near-misses
Two more points catch people. First, duration is not an error with video_url, but it is only a hint for the credit reserve and does not trim the output. Second, /v1/videos does not carry the edit field at all: the edit mode is a Video Router field, so send it to /v1/video-router/generate.
Also check the resolution value. The edit-capable row lists 360p, 720p, 1080p and 4K, so 480p and 768p are not valid for it.
When the 400 is not a field
Use the poll or /v1/jobs/{id}/status response, not a raw provider message, to read why a job failed after it was accepted. An unreachable video_url is reported as a public-network error without revealing the URL, so first check that the clip opens in a private browser window.
Sources
Related posts
More in Developers
- Generate 100 images with the Sume Image API: async jobs and polling
Submit each image with mode async, collect job ids, then poll status. Each job bills only if it completes; failed jobs use no credits.
- Generate Grok Imagine clips from an agent with the generate_video tool
Hosted MCP exposes generate_video, which replaced video-router_create. How an agent should call it for grok-imagine-video-1.5 and what to read first.
- Can the Sume Image API output SVG? Not today; formats you get
No: output_format svg is in the schema for parity, but no catalog model advertises it, so the request is rejected. Sume returns png, jpeg or webp.
- GET /v1/balance returns available_credits: a TypeScript gate
Sume's balance read returns whole credits in available_credits, a funded or empty state, and expiring_soon_credits. Gate a job on it in TypeScript.
Written by Sume