image_url or reference_image_urls: the Omni field for a photo
On Gemini Omni Flash 1.1, one image in image_url is a start frame; one image in reference_image_urls with no frame is reference-to-video. The price is the same.

On Gemini Omni Flash 1.1, send the product photo in image_url when you want the clip to start from that exact picture, and in reference_image_urls when you want the model to use it as a guide for the product. The catalog rule is that a single reference image with no first or end frame is treated as reference-to-video. Both bill 12.5 cents a second at 720p.
Two fields, two modes
The Video Router docs list image-to-video as image_url with an optional end_image_url, and reference-to-video as reference_image_urls (up to 10) and reference_video_urls (up to 3).
| You send | Mode | Tag in the prompt | Use it when |
|---|---|---|---|
| image_url | image_to_video | none | the first frame must match the photo |
| image_url + end_image_url | image_to_video | none | you know both the first and the last frame |
| reference_image_urls (1 to 10) | reference_to_video | <IMAGE_REF_0> and on | the product must appear but the shot is new |
| video_url | video_to_video (edit) | none | you change an existing clip |
Pick by the shot
A packshot on white that must be the first frame is image-to-video. A bottle that must appear on a beach, in a hand and on a shelf is reference-to-video, since the framing is open. In a reference request, name the asset in the prompt with its tag so the model does not guess.
You cannot send video_url together with image_url, end_image_url or the reference fields. For a start frame plus an edit, run two jobs.
{
"model": "gemini-omni-flash-1.1",
"prompt": "The bottle from <IMAGE_REF_0> on a sunny beach, slow orbit.",
"reference_image_urls": ["https://example.com/bottle.png"],
"resolution": "720p",
"duration": 5,
"aspect_ratio": "9:16",
"mode": "async"
}Price and retries
Five seconds at 720p is 5 x 12.5 = 62.5, so 63 cents, in either mode. The cost of picking the wrong mode is a retry at that price. Test the choice at 360p first: 5 s is 19 cents.
Sume rounds each clip up to the next whole cent, so a clip total is ceil(seconds x rate), not a sum of fractional cents.
The same length at every tier
For reference, a 5-second Omni Flash clip at each resolution. Every price is the seconds times the billable rate, rounded up to a whole cent, as of 2026-10-08.
| Resolution | Arithmetic | Billed |
|---|---|---|
| 360p | 5 x 3.75 = 18.75 cents | $0.19 |
| 720p | 5 x 12.5 = 62.5 cents | $0.63 |
| 1080p | 5 x 18.75 = 93.75 cents | $0.94 |
| 4K | 5 x 37.5 = 187.5 cents | $1.88 |
Limits to remember
These apply to every request on this page, from the Video Router and Video generation docs:
- Length is 3 to 10 whole seconds in generation modes; an edit takes no duration.
- Aspect ratio is 16:9 or 9:16; an edit takes no aspect ratio.
- Native synced audio is always on, and
generate_audio: falseis rejected. - There is no
bitrate_mode, no reference audio and noseed. - Billing is the provider list times 1.25 per output second, reserved at submit and shown in
usage.cost.
Sources
Related posts
More in Developers
- Imagen 4 with a reference image: Sume rejects it, use Nano Banana 2.1
Sume lists Imagen 4 Fast and Ultra as text-to-image only: input_references is 0 to 0. To edit a photo, use Nano Banana 2.1 at $0.10 per 1K image.
- Why input_references fails on Imagen, Recraft, Soul and Qwen Max
Five Sume image rows list zero input_references: imagen-4 fast and ultra, recraft-v4, Soul and qwen-image-max. Check the catalog in Python first.
- Is Higgsfield Genjutsu in your Sume catalog? Check, then price it
higgsfield-genjutsu appears in the catalog only when its provider is configured. List your models, then price a 4 to 30 second source at 480p or 720p.
- Is Vidu Q4 Preview on Sume? Check the live video catalog in Python
Sume's documented video catalog lists no Vidu model. A short Python check against GET /v1/videos/models confirms it before you build, plus the closest rows.
Written by Sume