异步任务

获取任务状态

通过创建响应中的 `poll_url` 获取异步任务状态和结果

GET
/v1/tasks/{id}

概览

通过这个 API 查询视频、图片、音乐、3D 等异步任务。

创建响应包含 poll_url 时,直接使用这个地址。不同媒体 API 也可能提供自己的状态地址。

路径参数

idstringpath必填

由 create 请求返回的任务 ID。

响应

结果、错误、时间戳和模型字段仅在任务提供时返回。

idstring

TokenLab 任务 ID。

task_idstring

同一个任务 ID 的兼容字段名。

poll_urlstring

创建响应返回的状态查询地址。

statusstring

任务状态,例如 pending、processing、completed 或 failed。已取消的任务会表示为 failed 并带有 cancelled: true。

cancelledboolean

排队中的异步任务在执行前被取消时为 true。

cancellation_statusstring

取消标记。取消成功时为 cancelled。

dataarray

对于已完成的图片任务,生成的图片结果会在这里返回。图片任务会在 data[].url 中返回 URL。

progressnumber

可选进度值。仅在任务提供真实进度时返回;请使用 status 判断任务是否完成。

video_urlstring

任务完成并生成视频时的结果资源 URL。

videoobject

单个视频结果,可能包含 url、duration、width 和 height。

videosarray

多个视频结果。

errorstring | object

任务失败时的错误信息。

createdinteger

可用时的创建时间戳。

updatedinteger

可用时的上次更新时间戳。

modelstring

可用时任务使用的模型。

错误行为

已过期或不可用的公开任务可能返回 404 async_task_not_found。无法确认当前 API 密钥对任务的归属权限时,返回 403 task_not_owned。

{
  "error": {
    "message": "Task not found or no longer available.",
    "type": "invalid_request_error",
    "code": "async_task_not_found"
  }
}

示例

请求

cURL
curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"
Python
import requests

poll_url = "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
response = requests.get(
    f"https://api.tokenlab.sh{poll_url}",
    headers={"Authorization": "Bearer sk-your-api-key"},
)
print(response.json())
JavaScript
const pollUrl = '/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
const response = await fetch(`https://api.tokenlab.sh${pollUrl}`, {
  headers: { Authorization: 'Bearer sk-your-api-key' },
});
console.log(await response.json());
{  "id": "string",  "status": "pending",  "progress": 0,  "created": 0,  "updated": 0,  "model": "string",  "video": {    "url": "string",    "duration": 0,    "width": 0,    "height": 0  },  "error": "string",  "error_details": {    "projection_version": 0,    "status": 400,    "message": "string",    "type": "string",    "code": "string",    "param": "string",    "retryable": true,    "upstream": {      "source": "string",      "code": "string",      "message": "string",      "param": "string"    }  },  "task_id": "string",  "poll_url": "string",  "cancelled": true,  "cancellation_status": "cancelled",  "billing_transaction_id": "string",  "video_url": "string",  "videos": [    {}  ],  "data": [    {}  ],  "audio_url": "string",  "title": "string",  "lyrics": "string",  "model_url": "string",  "glb_url": "string",  "fbx_url": "string"}

授权

BearerAuth
AuthorizationBearer <token>

API Key 身份验证。在 Dashboard > API > API Keys 中创建或管理 API Key。

位置: header

路径参数

id*string

由 id / task_id 返回或嵌入在 poll_url 中的异步任务 ID

响应

application/json

application/json

application/json

application/json