Skip to main content
POST
Create Video

Create Video

The Grok unified video entry point uses POST /v1/video/create, and the request body is JSON. Unlike Grok video generation in OpenAI format, this endpoint uses fields such as images, aspect_ratio, and size, and supports referencing multiple images in prompt via @img1, @img2.
  • The routing entry point is POST /v1/video/create.
  • Reference images are passed through the images array as URLs or base64; text-to-video can pass [].
  • The common model is grok-video-3; use the model actually available on the current channel.
  • After a successful submission, id or task_id and status are returned. Use Query Task to poll for the result later.

Method and Path

Request Example

Response Example

The actual response fields may vary slightly by channel. Please use id or task_id in the response as the credential for subsequent queries.

Authentication

Body

model
string
required
Model name, for example grok-video-3.
prompt
string
required
Prompt. When using multi-image reference, you can use placeholders such as @img1 and @img2 in the text, corresponding to the order of indices in the images array.
images
array<string>
required
List of reference images, where each element is a URL or a base64 data URI. Text-to-video can pass []; first-and-last-frame inputs are usually provided as 2 images in order; multi-image reference supports up to 6 images.
aspect_ratio
string
required
Video aspect ratio. Optional values are 16:9, 9:16, 2:3, 3:2, 1:1.
size
string
required
Resolution specification, pass 720P or 1080P.
duration
integer
Video duration in seconds. Default is 10; supports 6, 10, and 15.

Response

id
string
Task ID, used as the id parameter when querying; some responses may return only task_id.
task_id
string
Upstream task ID, which may coexist with id; subject to the actual response.
status
string
Task status. Common values include processing, completed, and failed.
status_update_time
integer
Most recent status update time (Unix timestamp).
created_at
string
Creation time, which in some responses is an RFC3339 string.