# XAI | Grok Imagine | Edit Video Edit videos using xAI’s Grok Imagine.Seamlessly modify and transform your existing videos with AI powered edits. ## API Information - **Model Slug:** xai-grok-imagine-edit-video - **Branded URL:** https://www.eachlabs.ai/xai/grok-imagine/xai-grok-imagine-edit-video - **Provider:** xAI - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Estimated Processing Time:** 80 seconds - **Last Updated:** 2026-04-06 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/xai-grok-imagine-edit-video ## Pricing Pricing information not available. ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description of the desired edit. | | video_url | string | Yes | - | - | URL of the input video to edit. The video will be resized to a maximum area of 854x480 pixels and truncated to 8 seconds. | | resolution | string | No | 720p | 480p,720p | Resolution of the output video. | ## 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": "xai-grok-imagine-edit-video", "input": { "prompt": "Colorize the video.", "video_url": "https://storage.googleapis.com/magicpoint/inputs/xai-grok-imagine-video-edit-video-input.mp4" } }' ``` ## 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 **xai-grok-imagine-edit-video — Image-to-Video AI Model** Developed by xAI as part of the **grok-imagine** family, **xai-grok-imagine-edit-video** empowers creators to edit and transform existing videos using AI-powered prompts, solving the challenge of complex post-production with seamless modifications like object swaps and scene restyles. This video editing model stands out with its native synchronized audio generation, delivering realistic sound effects, dialogue, and music alongside high-fidelity visuals in just 45 seconds for an 8-second 720p clip—30% faster than leading alternatives. Whether you're refining footage for marketing campaigns or prototyping character animations, **xai-grok-imagine-edit-video** handles **image-to-video AI model** tasks and video edits with precise control over motion and lighting, generating over 1.245 billion videos to date and topping leaderboards for speed and cost efficiency at $0.05 per second. ## 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.