Grok Imagine Video
An xAI video generation model supporting text-to-video, image-to-video, and reference-to-video generation. Designed for transforming images into dynamic video content while preserving subject appearance and scene composition.
Setup your API Key
If you don’t have an API key for the AI/ML API yet, feel free to use our Quickstart guide.
How to Make a Call
API Schemas
Create a video generation task and send it to the server
This endpoint creates and sends a video generation task to the server — and returns its ID.
The text description of the scene, subject, or action to generate in the video.
URL of the source image to animate (image-to-video mode). Omit for text-to-video. Cannot be combined with reference_images.
Array of reference image URLs (reference-to-video mode). Up to 7 images. Cannot be combined with image_url.
The length of the output video in seconds.
10The aspect ratio of the generated video.
16:9Possible values: Output video resolution. For image-to-video and reference-to-video modes, the value is selected automatically based on the resolution of the input images. For text-to-video mode, the default output resolution is 720p.
The ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325The current status of the generation task.
completedPossible values: curl -L \
--request POST \
--url 'https://api.aimlapi.com/v2/video/generations' \
--header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "x-ai/grok-imagine-video",
"prompt": "Mona Lisa puts on glasses with her hands.",
"image_url": "https://raw.githubusercontent.com/aimlapi/api-docs/main/reference-files/mona_lisa_extended.jpg"
}'{
"id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
"status": "completed",
"video": {
"url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
},
"error": {
"name": "text",
"message": "text"
},
"meta": {
"usage": {
"credits_used": 120000,
"usd_spent": 0.06
}
}
}Retrieve the generated video from the server
After sending a request for video generation, this task is added to the queue. This endpoint lets you check the status of a video generation task using its id, obtained from the endpoint described above.
If the video generation task status is completed, the response will include the final result — with the generated video URL and additional metadata.
Bearer key
<REPLACE_WITH_YOUR_GENERATION_ID>The ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325The current status of the generation task.
completedPossible values: curl -L \
--request GET \
--url 'https://api.aimlapi.com/v2/video/generations?generation_id=<REPLACE_WITH_YOUR_GENERATION_ID>' \
--header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>'{
"id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
"status": "completed",
"video": {
"url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
},
"error": {
"name": "text",
"message": "text"
},
"meta": {
"usage": {
"credits_used": 120000
}
}
}Code Example
The code below creates a video generation task, then automatically polls the server every 15 seconds until it finally receives the video URL.
Processing time: ~ 1 min 47 sec.
Generated video (1280x720, with sound):
Last updated
Was this helpful?