# XAI | Grok Imagine | Image to Video Create dynamic videos from images and audio with xAI’s Grok Imagine Video model. ## API Information - **Model Slug:** xai-grok-imagine-image-to-video - **Branded URL:** https://www.eachlabs.ai/xai/grok-imagine/xai-grok-imagine-image-to-video - **Provider:** xAI - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Direct xAI cost from usage.cost_in_usd_ticks (ticks to USD) - **Estimated Processing Time:** 30 seconds - **Last Updated:** 2026-07-13 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/xai-grok-imagine-image-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Direct xAI cost from usage.cost_in_usd_ticks (ticks to USD) ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Direct xAI cost from usage.cost_in_usd_ticks (ticks to USD) | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description of desired changes or motion in the video. | | image_url | string | Yes | - | - | URL of the input image for video generation. | | duration | integer | No | 5 | 1–15 | Video duration in seconds. | | resolution | string | No | 720p | 480p,720p | Resolution of the output video. | | aspect_ratio | string | No | auto | 16:9,4:3,3:2,1:1,2:3,3:4,9:16 | Aspect ratio of the generated 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-image-to-video", "input": { "prompt": "An astronaut walking on the moon collecting glowing flowers from the lunar surface, slow motion movements, soft space dust floating, Earth visible in the sky, cinematic lighting, calm and dreamy atmosphere, ultra-realistic, smooth camera tracking, high detail.", "image_url": "https://storage.googleapis.com/magicpoint/inputs/xai-grok-imagine-video-image-to-video-input.png" } }' ``` ## 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 **xai-grok-imagine-image-to-video — Image-to-Video AI Model** Developed by xAI as part of the **grok-imagine** family, **xai-grok-imagine-image-to-video** transforms static images into dynamic short videos with synchronized audio, solving the challenge of creating engaging motion content without complex editing tools. This **image-to-video AI model** animates reference images using text prompts for actions, camera movements, and atmospheric effects, preserving original composition and identity for reliable outputs. Ideal for developers seeking **xAI image-to-video** capabilities, it supports up to 10-second clips at 720p resolution, making it perfect for short-form social media or product demos. With native audio integration including sound effects and dialogue, **xai-grok-imagine-image-to-video** stands out in workflows requiring quick, cinematic animations from a single image. ## 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.