Get xAI video task
Last updated September 13, 2026
Retrieve a video task in xAI's native shape. It reads the same task as GET /v1/tasks/{id}, rendered differently.
Retrieve a task in xAI's response shape. It reads the same task as
GET /v1/tasks/{id}; only the rendering
differs. There is no second store.
https://gateway.amux.ai/v1/videos/{id}Authorization
headerAuthorizationstringRequiredBearer <your Amux key> An Amux key created in the console. If you lose it, you can view it again on the keys page.
Request
idstringRequiredThe Amux task id returned at submit time.
Response
200responseAlways 200, finished or not — the state is in status.
404responseNo such task in this workspace.
Why this alias exists
Official xAI clients build the retrieval URL themselves. Without this path,
pointing base_url at this site would produce a successful submit followed by a
404 on retrieval — and "change only base_url to migrate" is the design goal of
these compatible endpoints.
Task status
| Status | Meaning |
|---|---|
pending | Generating; keep polling |
done | Complete; the artifact address is in video.url |
failed | Terminal; the reason is in error |
⚠️ The official response also defines expired, meaning the upstream request
timed out. This site does not return it: an expired task here means the same
thing to the caller, and retry logic written against the official documentation
already treats failed and expired identically. An additional status would
only add a value callers must recognise but cannot act on.
video.duration is the actual output length
This field is the number of seconds the upstream actually produced, not the
requested duration. The two can differ for image-to-video, where the output
length follows the input material. Billing uses this actual value.
Artifact address
video.url points at this site's storage. Stored files are cleaned up; download
anything you need to keep. The artifact has already been transferred by the time the
task completes and can be downloaded directly.
usage is not included in the response
This shape carries no usage or cost fields.
Keeping them would introduce a figure that does not reconcile against your invoice: billing follows this site's own price table.
For cost, use the cost field of
GET /v1/tasks/{id} or the billing page.
curl https://gateway.amux.ai/v1/videos/{id} \
-H "Authorization: Bearer $AMUX_API_KEY"{
"status": "pending",
"model": "<string>",
"video": {
"url": "<string>",
"duration": 0
},
"error": {
"code": "invalid_argument",
"message": "<string>"
}
}