Skip to main content
GET
/
v1
/
tasks
/
{task_id}
Query Task Status
curl --request GET \
  --url https://www.qingbo.dev/v1/tasks/{task_id}
{
  "task_id": "<string>",
  "status": "<string>",
  "action": "<string>",
  "model": "<string>",
  "progress": 123,
  "created_at": 123,
  "completed_at": 123,
  "error": {},
  "result": {},
  "urls": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.qingbo.dev/llms.txt

Use this file to discover all available pages before exploring further.

The core query endpoint for asynchronous tasks. After submitting a task (POST /v1/tasks) and receiving a task_id, poll this endpoint until status: completed to retrieve the final result.

Example Request

curl https://www.qingbo.dev/v1/tasks/task-wave1775285160b950328499 \
  -H "Authorization: Bearer $WAVE_API_KEY"

Example Responses (By Stage)

{
  "task_id": "task-wave1775285160b950328499",
  "status": "queued",
  "action": "generate",
  "model": "wan2.7",
  "progress": 0,
  "created_at": 1720000000,
  "urls": {
    "get": "https://www.qingbo.dev/v1/tasks/task-wave1775285160b950328499",
    "cancel": "https://www.qingbo.dev/v1/tasks/task-wave1775285160b950328499/cancel"
  }
}

Response Fields

task_id
string
Unique task ID (returned at submission)
status
string
Task status:
  • queued — Submitted, waiting to be processed
  • processing — In progress; the progress field indicates progress (0–100)
  • completed — Done; result contains the generated output
  • failed — Failed; error contains the error details
  • cancelled — Cancelled (only queued tasks can be cancelled)
action
string
Action type, identical to the value submitted (generate / edit / image2video, etc.)
model
string
Model ID used (group_name)
progress
integer
Progress as an integer 0–100. 0 for queued / failed / cancelled, 100 for completed
created_at
integer
Creation time (Unix millisecond timestamp)
completed_at
integer
Completion time (Unix millisecond timestamp). Only present in completed / failed / cancelled states
error
object
Error details. Only present in the failed state:
  • message — Error description
  • code — Error code (commonly task_failed)
result
object
Generation result. Only present in the completed state. Depending on the task’s media type, the key is images / videos / audios (an array). Each item contains:
  • urlstring[] array (always an array, even with a single element)
  • expires_at — Unix timestamp; link expiration (default 3 days)
urls
object
Convenience action links so clients don’t have to assemble URLs:
  • get — Current query endpoint
  • cancel — Cancel-task endpoint

Polling Recommendations

  • Polling interval: every 2–5 seconds
  • Maximum wait time: 5-minute timeout recommended (videos may take longer)
  • Display progress to show real-time progress to users
  • Prefer Webhooks: set callback_url at submission to receive a push on completion and skip polling
See Task System for the full workflow.
Generated result links are valid for 24 hours to 3 days (see the expires_at field). Download and persist them to your own storage promptly. After expiration the links become invalid and you’ll need to resubmit the task.

Error Codes

StatusErrorDescription
404task_not_foundtask_id does not exist or doesn’t belong to the current user
401Authentication failedInvalid API key