Introduction
Reference-to-video for Gemini Omni 1.1 Flash: one to seven reference images and a prompt in, a 4-10 second clip with sound out.
| Field | Value |
|---|---|
| Input | Text |
| Output | Video |
| Publisher | |
| Clip length | 4, 6, 8 or 10 seconds |
| Resolution | 720p native; 1080p and 4K upscaled by Google |
| Aspect ratios | 16:9, 9:16 |
| Frame rate | 24 fps |
| Sound | Generated with every clip |
| Inputs | Text; first frame with optional last frame; up to 7 reference images |
Key features & highlights
Seven reference slots, and they all count
Image 1 was a man in a denim jacket, Image 2 a photo of an observatory with a woman at the telescope. The prompt asked for the man to walk up to the observatory and wave; he did, with his face and jacket kept. The woman from Image 2 appeared too, at the telescope behind him. Crop each reference to what you want in the shot. Rendered at 4K (3840x2160), shown here at 1080p.
Longer clips, with cuts it chooses
An 8-second 9:16 clip from our observatory prompt: the dome's two halves slid apart to show a brass telescope and a lit control desk, then about 6 seconds in the model cut to an outside angle of the telescope against the stars. Write "one continuous shot" if you do not want cuts.
Hit the closing frame
The same first and last frames we sent to the Veo 3.1 tiers. In 4 seconds at 720p she turned from the telescope to face the camera, crossed her arms and ended leaning on the railing, as in the last frame.
A portrait becomes a scene
One studio portrait and the prompt "At dusk the woman from the reference walks toward the camera and smiles." Omni put her on a quiet street at dusk with her hair, corduroy jacket and turtleneck kept from the photo, walking toward us and smiling, in 4 seconds at 720p.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Required, up to 20,000 characters. Say what from Image 1, Image 2 and so on appears, what happens and how the camera moves. at least 1 characters · at most 20000 characters |
reference_image_urls | Yes | Required, 1 to 7 images (up to 20 MB each) of the people, products, places or look to keep. Refer to them in the prompt as Image 1, Image 2 and so on, in upload order. at least 1 items · at most 7 items |
aspect_ratio | No | 16:9 (default) or 9:16. It does not change the price. |
resolution | No | 720p (default) is the model's native output; 1080p and 4K are upscaled by Google and cost more. |
duration_seconds | No | 4, 6, 8 or 10 seconds (default 8). Longer clips cost more. |
seed | No | For Omni shot comparisons, choose an integer from 0 to 2147483647 and change one scene control at a time; the seed does not promise identical frames. |
Pricing
Billed per clip by length (4, 6, 8 or 10 seconds) and resolution; 1080p and 4K cost more than 720p. The number of reference images, aspect ratio and seed do not change the price. Failed or declined requests are not charged.
| Resolution | Duration: 4 | Duration: 6 | Duration: 8 | Duration: 10 |
|---|---|---|---|---|
| $0.3648 / request | $0.5473 / request | $0.7297 / request | $0.9122 / request |
| $0.5473 / request | $0.821 / request | $1.0946 / request | $1.3683 / request |
| $1.0946 / request | $1.642 / request | $2.1893 / request | $2.7367 / request |
Use cases
New projects on Google's current video model
Google recommends Gemini Omni Flash for new work instead of Veo 3.1. Clips go to 10 seconds, so one request covers what takes an 8-second clip plus an extend on Veo.
Ads and product shots with several assets
Send the product, the person and the location as separate references, up to 7, and call them Image 1, Image 2 and so on in the prompt.
Delivering at 1080p or 4K
Draft at 720p, then render the version you keep at 1080p or 4K. Both are upscaled by Google from the 720p output, so judge the motion at 720p first.
Shots that must end on a set picture
Give a first frame and an optional last frame on image to video, up to 10 seconds per shot.
Prompt guide & pro tips
Name your references by number
Write "the man in Image 1" and "the observatory in Image 2", in upload order. Anything visible in a reference may show up, so crop out what you do not want.
Say whether you want cuts
On longer clips the model may cut to a new angle by itself. Add "one continuous shot" to keep a single take, or describe the shots you want.
Describe the sound
End the prompt with a line such as "Sound: footsteps on gravel" and put spoken words in quotes. Sound is included at every resolution.
Draft at 720p, deliver at 4K
A 4-second draft at 720p costs $0.3648; the same clip at 4K costs $1.0946. Fix the prompt first, then pay for resolution once.
Introduction
Gemini Omni 1.1 Flash Reference to video takes up to seven images of people, products, places or a look and builds a new clip of 4, 6, 8 or 10 seconds around them, with sound. Google reviews prompts and images before generating; requests it declines fail and are not charged.
Choose a Gemini Omni 1.1 Flash mode
| What you start with | Mode |
|---|---|
| a written scene | Gemini Omni 1.1 Flash Text to video |
| a first frame, and optionally a last frame | Gemini Omni 1.1 Flash Image to video |
| photos of people, products or places to keep | Gemini Omni 1.1 Flash Reference to video (you are here) |
Prompt tips
- Refer to your images as Image 1, Image 2 and so on, in upload order.
- Say what role each image plays: a character, an object, the setting or the style.
- Use clean, well-lit pictures; one subject per image works best.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "google/gemini-omni-1.1-flash/reference-to-video",
"input": {
"aspect_ratio": "16:9",
"duration_seconds": 8,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"reference_image_urls": [
"https://example.com/reference.png"
],
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.








