# Veo 3.1 | Lite | Text to Video Google Veo 3.1 Lite Text to Video is a fast, cost-efficient text-to-video generation model by Google DeepMind that creates visually coherent short video clips from natural language descriptions. It brings Google's video generation quality to high-throughput workflows without the compute overhead of full-scale Veo models. Well suited for content automation, rapid video prototyping, and platforms requiring real-time or batch video generation from text prompts. ## API Information - **Model Slug:** veo-3-1-lite-text-to-video - **Branded URL:** https://www.eachlabs.ai/google/veo3-1/veo-3-1-lite-text-to-video - **Provider:** Google - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Base Cost:** $0.03–$0.08 per second, depending on audio and resolution - **Estimated Processing Time:** 60 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/veo-3-1-lite-text-to-video ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.03–$0.08 per second, depending on audio and resolution - **Pricing Details:** 720p, no audio: $0.03 - **Pricing Details:** 1080p, no audio: $0.05 - **Pricing Details:** 720p: $0.05 - **Pricing Details:** 1080p: $0.08 - **Pricing Details:** default: $0.05 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description of the video to generate. | | aspect_ratio | string | No | 16:9 | 16:9, 9:16 | Aspect ratio of the output video. | | duration | integer | No | 8 | 4, 6, 8 | Duration of the generated video in seconds. 1080p resolution requires 8. | | resolution | string | No | 720p | 720p, 1080p | Output resolution. 1080p requires duration=8s. | | negative_prompt | string | No | - | - | Describe what to avoid in the generated video. | | seed | integer | No | - | 0–4294967295 | Random seed for reproducibility. | | generate_audio | boolean | No | true | - | Whether to generate audio for the video. | ## 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": "veo-3-1-lite-text-to-video", "input": { "prompt": "A cinematic shot inside a large modern art museum with high ceilings and soft ambient lighting. Visitors walk slowly and silently, observing artworks. The camera smoothly glides forward through the gallery, passing sculptures and detailed paintings. Light reflects subtly on the polished floor. Dust particles float gently in the air, visible in soft light beams. Ambient sounds only: soft footsteps, distant echoes in the large space, subtle fabric movement, quiet room tone. No dialogue, no speaking. Ultra realistic, cinematic lighting, smooth camera movement, shallow depth of field, 4K" } }' ``` ## 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 Veo 3.1 | Lite | Text to Video from Google transforms text prompts into high-quality video clips, solving the need for quick, accessible video generation without complex production setups. Part of Google's Veo family, this lite version balances efficiency and professional output, making it ideal for creators seeking fast results on each::labs. Its primary differentiator is optimized performance for shorter clips with realistic motion and detail, outperforming heavier models in speed while maintaining Google's signature video coherence. Available via the Veo 3.1 | Lite | Text to Video API on each::labs, it supports both Text-to-Video and Image-to-Video workflows. Users can generate dynamic content for social media, prototypes, or marketing in seconds. As a Google text-to-video solution, it leverages advanced diffusion models for natural physics and lighting, setting it apart in practical utility. ## 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.