# Google | Gemini Omni 1.1 Flash | Image to Video Gemini Omni 1.1 Flash Image-to-Video animates a source image into a short AI video with prompt-guided motion, synchronized audio, portrait or landscape framing, and selectable resolution up to 4k. ## API Information - **Model Slug:** google-gemini-omni-1-1-flash-image-to-video - **Branded URL:** https://www.eachlabs.ai/google/gemini-omni-flash/google-gemini-omni-1-1-flash-image-to-video - **Provider:** Google - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Base Cost:** $1.50–$17.50 per million tokens, depending on token type - **Estimated Processing Time:** 75 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/google-gemini-omni-1-1-flash-image-to-video ## Pricing - **Charge Type:** dynamic - **Estimate:** $1.50–$17.50 per million tokens, depending on token type - **Pricing Details:** input tokens: $1.50 - **Pricing Details:** output tokens: $17.50 - **Pricing Details:** thought tokens: $9.00 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description guiding the video. Describe how the source image should animate, including subject motion, camera work, dialogue, sound effects, or ambient audio. Gemini Omni 1.1 Flash generates synchronized audio with video. Max 20000 characters. | | image_url | string | Yes | - | - | URL of the source image to use as the first frame. Supported formats: JPEG, PNG, WebP, HEIC, and HEIF. | | end_image_url | string | No | - | - | Optional URL of the ending image to use as the last frame for first-to-last frame interpolation. Supported formats: JPEG, PNG, WebP, HEIC, and HEIF. | | aspect_ratio | string | No | 16:9 | 16:9, 9:16 | Output video aspect ratio. 16:9 is landscape; 9:16 is portrait. | | resolution | string | No | 720p | 360p, 720p, 1080p, 4k | Output video resolution. Gemini Omni 1.1 Flash supports 360p, 720p, 1080p, and 4k. Defaults to 720p if omitted. | | duration | string | No | - | 3s, 4s, 5s, 6s, 7s, 8s, 9s, 10s | Optional output video length, 3-10 seconds. If omitted, the model chooses a length based on the prompt. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "google-gemini-omni-1-1-flash-image-to-video", "input": { "image_url": "https://cdn-us.eachlabs.ai/defaults/8eace99f6ad84b58bfd4ff48097a81c7.png", "prompt": "Create a 10-second horizontal fast-paced, high-energy product commercial for the each::labs \"Orange C\" Vitamin C Face Serum, a glass dropper bottle with amber serum, a shiny gold metallic cap, an orange rubber dropper bulb, and a white label, exactly as shown in the reference image. The bottle, cap, dropper, colors, and label must stay identical to the reference at all times and must not change.Set in the warm natural scene from the reference image: a wooden surface with soft linen drapery, fresh oranges, orange slices, orange blossoms and leaves around the bottle, in warm golden daylight.Energetic, premium, vibrant beauty-commercial mood with quick dynamic motion. No hands or people appear in the video at any point, the product moves on its own.Sequence:\nPunchy quick push-in toward the bottle as warm golden light flares and glints sharply across the gold cap and glowing amber serum. Rapid smooth orbit around the bottle, orange slices and blossoms flying past, juicy textures glistening, leaves swirling in a light breeze.\nSnap to a bold hero shot: the bottle standing tall and proud, sunlight flaring behind it, label crisp and clearly facing the camera.\nTo finish: with no hands involved, the gold dropper cap rises smoothly on its own out of the bottle and stays fully visible in frame, keeping its exact same shiny gold color and orange dropper bulb. The dropper squeezes once and releases a single small drop of serum. The camera pushes in close as the drop falls in slow motion straight down into the open neck of the bottle, merging into the amber serum inside with a soft glossy ripple. The video ends on this close-up of the drop landing inside the bottle.\nA warm, confident female voiceover says over the video:\n\"Orange C by each::labs. Pure vitamin C glow, in every drop.\"Style: warm, vibrant, high-energy premium skincare commercial. Bright golden daylight, strong light flares, shallow depth of field, creamy bokeh, glistening juicy orange textures, fast smooth camera motion, rich amber and orange tones. Photorealistic, 4K. No text on screen, no cuts, single continuous dynamic shot. The gold cap and orange dropper must keep their original colors the entire time. No hands, no people." } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Google | Gemini Omni 1.1 Flash | Image to Video Overview** **Google | Gemini Omni 1.1 Flash | Image to Video** turns a still image into a short, prompt-guided video with synchronized audio and a realistic motion structure. It is part of Google’s Omni family, which is positioned as a multimodal video model for creating and editing video from text, image, video, and audio references. The main differentiator is its combination of image conditioning, native audio generation, and high-end production controls, including scene extension, first-and-last-frame interpolation, and 4K upscaling. For teams using each::labs, this makes the model useful when a single reference image must become a polished motion asset without a separate editing pipeline. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.