Maestro Task Query API

Query the status and results of video tasks created by POST /maestro/videos. Polling is free and does not consume points.

POST https://api.acedata.cloud/maestro/tasks

Query a Single Task

curl -X POST https://api.acedata.cloud/maestro/tasks \
  -H "authorization: Bearer {token}" \
  -H "content-type: application/json" \
  -d '{ "id": "f57e99c4f60f4373a15517742ce2357d", "action": "retrieve" }'
Field Type Description
id string task_id returned by POST /maestro/videos
action string retrieve (default, query single) / retrieve_batch (query history list)

Response (one variant for each language):

{
  "id": "f57e99c4f60f4373a15517742ce2357d",
  "status": "succeeded",
  "elapsed": 312,
  "request": { "prompt": "…", "langs": ["zh-cn", "en"], "aspect": "9:16", "duration": 20 },
  "response": {
    "success": true,
    "data": {
      "variants": [
        { "lang": "zh-cn", "aspect": "9:16", "kind": "video", "title": "什么是向量数据库", "output_url": "https://…/zh.mp4" },
        { "lang": "en", "aspect": "9:16", "kind": "video", "title": "What is a vector database", "output_url": "https://…/en.mp4" }
      ],
      "project": { "tarball_url": "https://…/project.tar.gz", "outputs": ["https://…/zh.mp4", "https://…/en.mp4"] },
      "progress": [ { "stage": "producing", "message": "rendering scene 2", "pct": 60, "t": 1750000000 } ],
      "stage": "succeeded"
    }
  }
}

status values: pending → planning → producing → succeeded (or failed). response.data.progress is an array of progress appended by stage, which can be used to display a real-time progress bar. It is recommended to poll every 5–10 seconds until succeeded or failed.

Query History List

Pass action: retrieve_batch to get the most recent tasks of the current user (in descending order of creation time), which can be used for the "My Videos" list:

curl -X POST https://api.acedata.cloud/maestro/tasks \
  -H "authorization: Bearer {token}" \
  -H "content-type: application/json" \
  -d '{ "action": "retrieve_batch", "limit": 20 }'
Field Type Description
action string retrieve_batch
limit int Number of items returned, default 20, maximum 100
created_at_max int Optional, only return tasks created before this Unix timestamp (for pagination)
created_at_min int Optional, only return tasks created after this Unix timestamp

Response:

{ "count": 2, "items": [ { "id": "…", "status": "succeeded", "request": { … }, "response": { … } } ] }