Google Gemini Omni Flash Image To Video API Documentation
Playground
Try it on WaveSpeedAI!Gemini Omni Flash Image to Video animates input images into short AI videos with synchronized audio, adding motion and sound while following the source image. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Gemini Omni Flash Image-to-Video animates an input image into a short video with synchronized audio. Upload an image, describe how it should move or change, then generate a landscape or portrait video from 3 to 10 seconds.
Why Choose This?
-
Image-to-video generation
Animate a still image into a short video. -
Synchronized audio
Generate audio together with the video output. -
Prompt-guided motion
Describe camera movement, subject motion, scene changes, pacing, and audio direction. -
Simple aspect ratio control
Choose16:9for landscape videos or9:16for portrait videos. -
Short-form video output
Generate clips from3to10seconds for quick creative iteration.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Input image URL to animate. |
| prompt | Yes | Text prompt describing how the image should move or change. |
| aspect_ratio | No | Output aspect ratio: 16:9 or 9:16. Default: 16:9. |
| duration | No | Output duration in seconds. Range: 3 to 10. Default: 8. |
How to Use
- Upload your image — Provide the input image you want to animate.
- Write your prompt — Describe the motion, camera behavior, scene changes, pacing, and audio direction.
- Choose aspect ratio — Use
16:9for landscape video or9:16for portrait video. - Set duration — Choose a duration from
3to10seconds. - Submit — Generate the final video with synchronized audio.
Pricing
Pricing is $0.14 per second of generated video.
| Duration | Price |
|---|---|
| 3s | $0.42 |
| 5s | $0.70 |
| 8s | $1.12 |
| 10s | $1.40 |
Best Use Cases
- Image animation — Turn a still image into a short motion clip.
- Audio-video scenes — Generate videos with synchronized sound from a single image and prompt.
- Cinematic motion testing — Explore camera movement, pacing, and atmosphere from a reference image.
- Social media content — Create portrait or landscape clips for short-form publishing.
- Creative prototyping — Quickly test visual concepts, motion ideas, and audio-visual directions.
Pro Tips
- Use a clear, high-quality input image.
- Be specific about camera motion, subject movement, scene development, and audio direction.
- Use
16:9for landscape scenes and9:16for vertical mobile content. - Use shorter durations for quick testing and longer durations when the scene needs more time to develop.
- Keep prompts focused on visible motion and audio-visual changes.
## Authentication
For authentication details, please refer to the [Authentication Guide](/api-authentication).
## API Endpoints
### Submit Task & Query Result
<ApiTabs submitUrl={model.submitUrl} resultUrl={model.resultUrl} payload={model.defaultValues} />
## Parameters
### Task Submission Parameters
#### Request Parameters
<RequestParams params={model.params} />
#### Response Parameters
<SubmitResponse />
#### Result Request Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| id | string | Yes | - | Task ID |
#### Result Response Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., "success") |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction |
| data.model | string | Model ID used for the prediction |
| data.outputs | array<string \| object> | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to poll for the prediction result |
| data.status | string | Status: `created`, `processing`, `completed`, or `failed` |
| data.created_at | string | ISO timestamp of when the request was created |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |