Google Gemini Omni Flash 1.1 image-to-video via Fal.AI. Animates a still image into 3-10 second video with synchronized audio, or interpolates between a first and an optional end frame โ 16:9 or 9:16 at 360p to 4K.
Test this model instantly in the Console Playground โ no code required
Copy usage instructions for Claude, ChatGPT, or other AI
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "google/gemini-omni-flash/v1.1/image-to-video",
"input": {
"prompt": "The dog turns its head and wags its tail in warm sunlight.",
"image_url": "https://storage.googleapis.com/falserverless/example_inputs/dog.png",
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "720p"
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | - | The text prompt describing the video โ how the first image should be animated or interpolated into the optional end image. |
image_url | string | Yes | - | URL of the first frame to animate. |
end_image_url | string | No | - | Optional URL of the end frame. When provided, the model interpolates between the two images in order. |
duration | integer | No | 8 | The duration of the generated video in seconds (3-10), billed per second. |
aspect_ratio | string | No | 16:9 | The aspect ratio of the generated video. 16:99:16 |
resolution | string | No | 720p | The resolution of the generated video. Higher resolutions cost more per second. 360p720p1080p4k |
There are 3 ways to provide files for the image_urlend_image_url parameters:
Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.
{
"model": "google/gemini-omni-flash/v1.1/image-to-video",
"input": {
"prompt": "your prompt here",
"image_url": "https://example.com/image.jpg"
}
}Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.
curl -X POST "https://api.core.today/v1/predictions/upload" \
-H "X-API-Key: cdt_your_api_key" \
-F "model=google/gemini-omni-flash/v1.1/image-to-video" \
-F 'input={"prompt":"your prompt here"}' \
-F "file:image_url=@your_file.png"Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
Animate a still photo at the default 720p and 8 seconds.
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "google/gemini-omni-flash/v1.1/image-to-video",
"input": {
"prompt": "The dog turns its head and wags its tail in warm sunlight.",
"image_url": "https://storage.googleapis.com/falserverless/example_inputs/dog.png",
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "720p"
}
}'A cheap 4-second draft to check motion before a high-resolution render.
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "google/gemini-omni-flash/v1.1/image-to-video",
"input": {
"prompt": "The dog runs toward the camera and jumps playfully.",
"image_url": "https://storage.googleapis.com/falserverless/example_inputs/dog.png",
"duration": 4,
"resolution": "360p"
}
}'POST /v1/predictions