Amux

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.

GEThttps://gateway.amux.ai/v1/videos/{id}

Authorization

header
AuthorizationstringRequired

Bearer <your Amux key> An Amux key created in the console. If you lose it, you can view it again on the keys page.

Request

idstringRequired

The Amux task id returned at submit time.

Response

200response

Always 200, finished or not — the state is in status.

404response

No 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

StatusMeaning
pendingGenerating; keep polling
doneComplete; the artifact address is in video.url
failedTerminal; 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
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>"
  }
}