# Grok Imagine Video 1.5 Lite – Text to Video Grok Imagine Video 1.5 Lite generates video from text prompts for visual storytelling. Turn scene ideas into short clips for creative projects and content. ## API Information - **Model Slug:** xai-grok-imagine-video-1-5-lite-text-to-video - **Branded URL:** https://www.eachlabs.ai/xai/grok-imagine/xai-grok-imagine-video-1-5-lite-text-to-video - **Provider:** xAI - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Base Cost:** $0.02–$0.14 per second, depending on resolution - **Interactive Demo:** https://www.eachlabs.ai/ai-models/xai-grok-imagine-video-1-5-lite-text-to-video ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.02–$0.14 per second, depending on resolution - **Pricing Details:** 480p (default): $0.02 - **Pricing Details:** 720p: $0.03 - **Pricing Details:** 1080p: $0.14 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt describing the video to generate. | | duration | integer | No | 6 | 1–15 | Duration of the generated video in seconds (1-15). | | aspect_ratio | string | No | 16:9 | 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16 | Aspect ratio of the generated video. | | resolution | string | No | 480p | 480p, 720p, 1080p | Output video resolution. | | generate_audio | boolean | No | true | - | Generate audio track 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": "xai-grok-imagine-video-1-5-lite-text-to-video", "input": { "prompt": "15-second aesthetic influencer vlog-style video of a young woman preparing iced matcha in a bright, minimal kitchen with soft natural morning light from a window. She has her hair in a loose bun and wears a cream knit sweater. Warm neutral tones, cream and sage green palette, cozy and calm atmosphere. Smooth, stable camera with subtle handheld feel, vertical 9:16 format.\\n\\n0–5s: Medium shot from the front at counter height. The woman stands at the kitchen counter and slowly whisks matcha in a ceramic bowl with a bamboo whisk, using calm, gentle circular motions. Her hands and the bowl are clearly visible, natural and well-proportioned.\\n5–10s: Medium close-up from the side. She slowly pours the bright green matcha into a tall clear glass filled with ice and milk, the green gently blending into the white. Slow, smooth motion.\\n10–15s: Medium shot. She picks up the glass with both hands, takes a small sip through a straw and smiles softly at the camera.\\n\\nRealistic and natural movement, anatomically correct hands with five fingers, consistent appearance of the woman throughout, soft depth of field, crisp details, authentic social media aesthetic, no text on screen." } }' ``` ## 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 | ## 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.