Request

GET /api/v1/task/{task_id}

Headers: X-API-Key: h3k_...

Response

{
  "id": "uuid",
  "status": "completed",
  "progress": { "stage": "sample", "step": 12, "total_steps": 20 },
  "result_url": "videos/xxx.mp4",
  "error": null,
  "created_at": "2026-08-20T00:00:00Z"
}

State Machine

queued → running → completed | failed

  • queued: waiting in line.
  • running: executing on a GPU; progress shows the current step.
  • completed: done; result_url is ready for download.
  • failed: something went wrong; error explains why.

Poll every 5 seconds or more. Generating a video takes minutes, so polling faster just wastes requests and may hit rate limits.