Grok Imagine Video grok-video
video model · provider: xai · typical generation time ~100s
Capabilities
| Capability | Value |
|---|---|
| Aspect ratios | 16:9 9:16 2:3 3:2 1:1 |
| Durations | 6s 10s 15s 20s 30s |
| Resolutions | 480p 720p |
| Modes | fun normal spicy |
Image-to-video (image_url) | ✓ |
First frame (first_frame_url) | ✓ |
Last frame (last_frame_url) | — |
Audio generation (generate_audio) | — |
| Reference images | — |
| Reference videos | — |
| Reference audio | — |
| Extendable | — |
Credits
| Resolution | 6s | 10s | 15s | 20s | 30s |
|---|---|---|---|---|---|
480p | 60 cr | 90 cr | 120 cr | 140 cr | 160 cr |
720p | 80 cr | 120 cr | 150 cr | 180 cr | 280 cr |
Example
bash
curl -X POST "https://api.aiveed.io/v1/generate/video" \
-H "X-API-Key: $AIVEED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-video",
"prompt": "A golden retriever puppy chasing soap bubbles in a sunlit garden, slow motion",
"resolution": "480p",
"duration": "6",
"mode": "normal",
"aspect_ratio": "9:16"
}'The response is a job — poll GET /v1/jobs/{id} or use
webhooks/SSE; when
status is completed, result_url is the hosted output.
Good to know
image_urlandfirst_frame_urlare aliases here — either works (first_frame_urlwins if both are sent).- Accepts
first_frame_urlbut notlast_frame_url— sending a last frame returns 422. - Reference media (
reference_*_urls) is not supported — 422. mode: "spicy"is unavailable for image-to-video — it is silently downgraded tonormalwhen an image is provided.- Prompt cap: 5,000 characters.