Amux

Retrieve video task

Last updated September 6, 2026

Query a alibaba/wan3.0-video-prime task in Model Studio's shape.

Query a alibaba/wan3.0-video-prime video task; the response is in Alibaba Model Studio's own shape. DashScope clients construct this address themselves, so retrieval keeps working after base_url is changed.

GEThttps://gateway.amux.ai/api/v1/tasks/{id}

Authorization

header
AuthorizationstringRequired

Bearer <your Amux key> Your Amux API key.

Request

idstringRequired

The task ID returned at submit time.

Response

200response

Always 200, finished or not. The state lives in output.task_status.

404response

No such task, or the task does not belong to this workspace. Both cases return the same response, so that a task ID cannot be probed across workspaces to confirm its existence.

Status field

Always 200, whether or not the task has finished. The state lives in output.task_status, so polling only has to read that one field.

task_statusMeaningCharged?
PENDINGQueued
RUNNINGGenerating
SUCCEEDEDDone; the artifact is in output.video_urlYes, per second produced
FAILEDUpstream refused, errored, or the task did not completeNo, reserve released
CANCELEDCanceledNo, reserve released
UNKNOWNWe could not map our own state onto this vocabulary

UNKNOWN means something different here than upstream. Upstream uses it to indicate a task that can no longer be queried (its records expire after 24 hours). Amux task records are never deleted, so that case does not arise, and a client treating UNKNOWN as a give-up condition will not reach that branch here.

Polling

Video generation takes an order of magnitude longer than image generation, and the elapsed time is dominated by queueing rather than scaling with the requested duration:

Measured sampleEnd-to-end
480P / 2sapprox. 105 seconds
1080P / 30sapprox. 891 seconds

Roughly 100 seconds of that is fixed overhead, so no request returns a result within 20 seconds regardless of the duration requested. Size client timeouts accordingly rather than extrapolating linearly from output length.

Suggested strategy: do not poll during the first 20 seconds, then poll every 10-15 seconds.

The artifact URL

output.video_url points at Amux storage. Upstream returns a signed temporary address that expires in 24 hours; Amux transfers the video first and serves its own copy.

That address is also cleaned up periodically — download anything you need to keep; afterwards it returns 404.

What this shape leaves out

Two kinds of thing, both available from the unified endpoint:

  1. Usage and cost — the Model Studio shape has nowhere to put them;
  2. Timing and the original prompt — upstream also returns submit_time / scheduled_time / end_time / orig_prompt, and we do not. We map only the fields a client actually reads, rebuilding them field by field rather than passing the upstream body through.

Not found is a 404

No such task, or it does not belong to your workspace — both return the same 404. Separating them would let anyone confirm a task exists by trying its ID from another workspace.

cURL
curl https://gateway.amux.ai/api/v1/tasks/{id} \
  -H "Authorization: Bearer $AMUX_API_KEY"
{
  "output": {
    "task_id": "<string>",
    "task_status": "PENDING",
    "video_url": "<string>",
    "code": "<string>",
    "message": "<string>"
  },
  "request_id": "<string>"
}