Skip to main content
GET
cURL
Use this endpoint after you already have a request_id. It tells you whether the xAI job is still running and returns the final video metadata when ready.

Check these fields first

  • request_id when the task has been accepted but the result is not ready yet
  • status for the xAI job state; keep polling while it is pending, and stop on done, failed, or expired
  • progress for completion percentage when it is returned
  • video.url when the render is complete

Polling loop

1

Create or edit the video first

Start with Create an xAI video or Create an xAI video edit, then copy the returned request_id.
2

Poll until the task reaches a terminal state

If the response only echoes request_id, wait a few seconds and poll again. Continue while status is pending; stop on done, failed, or expired.
3

Persist the finished file

Download or copy the final video.url promptly, because xAI documents generated URLs as temporary.

Authorizations

Authorization
string
header
required

Use your CometAPI API key as the bearer value.

Path Parameters

request_id
string
required

The deferred request ID returned by the create or edit endpoint.

Response

200 - application/json

The current Grok video task state.

request_id
string

Returned when the request is accepted but result metadata is not ready yet.

model
string

The Grok video model ID.

video
object

Generated video metadata. Present when the job has completed.

status
enum<string>

The job state. done means the video metadata is ready.

Available options:
pending,
done,
failed,
expired
progress
integer

Completion percentage when returned.

usage
object

Additional usage metadata returned when the job is complete. Its contents can vary by model.

error

Error details when the job fails.

Last modified on August 21, 2026