# Google | Gemini Omni Flash | Text to Video Create short text-prompted videos with synchronized audio using Gemini Omni Flash, including aspect ratio and duration controls. ## API Information - **Model Slug:** google-gemini-omni-flash-text-to-video - **Branded URL:** https://www.eachlabs.ai/google/gemini-omni-flash/google-gemini-omni-flash-text-to-video - **Provider:** Google - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Token-based billing: input tokens at $1.50 per 1M, video output tokens at $17.50 per 1M, reasoning and text output tokens at $9.00 per 1M. - **Estimated Processing Time:** 75 seconds - **Last Updated:** 2026-07-01 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/google-gemini-omni-flash-text-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Token-based billing: input tokens at $1.50 per 1M, video output tokens at $17.50 per 1M, reasoning and text output tokens at $9.00 per 1M. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Token-based billing: input tokens at $1.50 per 1M, video output tokens at $17.50 per 1M, reasoning and text output tokens at $9.00 per 1M. | ## Input Schema No input parameters documented. ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "google-gemini-omni-flash-text-to-video", "input": {} }' ``` ## 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 "X-API-Key: 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 `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Google | Gemini Omni Flash | Text to Video Overview** Google | Gemini Omni Flash | Text to Video is a multimodal generative video model from Google’s Gemini family that creates short video clips directly from natural language prompts. It solves the challenge of rapid video prototyping by turning text, images, audio, or existing footage into coherent, editable video sequences without traditional editing tools. A primary differentiator of Google | Gemini Omni Flash | Text to Video is its conversational editing workflow: users describe changes in plain language and the model updates the video while preserving visual consistency across iterations. Integrated into Google’s Gemini ecosystem, it is designed for creators, marketers, and developers who need fast, iterative video generation with synchronized audio and flexible multimodal inputs. On each::labs, this model focuses on efficient 720p text-to-video generation, billed by token usage. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: 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.