grok-imagine-video

This documentation is valid for the following list of our models:

  • x-ai/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

Step-by-Step Instructions

Generating a video using this model involves sequentially calling two endpoints:

  • The first one is for creating and sending a video generation task to the server (returns a generation ID).

  • The second one is for requesting the generated video from the server using the generation ID received from the first endpoint.

Below, you can find both corresponding API schemas.

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.

post
Body
modelstring · enumRequiredPossible values:
promptstringOptional

The text description of the scene, subject, or action to generate in the video.

image_urlstring · uriOptional

URL of the source image to animate (image-to-video mode). Omit for text-to-video. Cannot be combined with reference_images.

reference_imagesstring · uri[] · min: 1 · max: 7Optional

Array of reference image URLs (reference-to-video mode). Up to 7 images. Cannot be combined with image_url.

durationinteger · min: 1 · max: 15Optional

The length of the output video in seconds.

Default: 10
aspect_ratiostring · enumOptional

The aspect ratio of the generated video.

Default: 16:9Possible values:
resolutionstring · enumOptional

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.

Possible values:
Responses
200Success
application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
post
/v2/video/generations
200Success

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.

get
Authorizations
AuthorizationstringRequired

Bearer key

Query parameters
generation_idstringRequiredExample: <REPLACE_WITH_YOUR_GENERATION_ID>
Responses
200Success
application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
get
/v2/video/generations
200Success

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.

Response

Processing time: ~ 1 min 47 sec.

Generated video (1280x720, with sound):

Last updated

Was this helpful?