视频与素材
获取视频状态
获取视频生成任务的状态和结果
路径参数
idstringpath必填
创建视频时返回的任务 ID。id 和 task_id 指向同一个任务。
如果创建响应中包含 poll_url,直接请求这个地址即可。
已过期或不可用的公开任务可能返回 404 async_task_not_found。无法确认当前 API 密钥对任务的归属权限时,返回 403 task_not_owned。
响应
结果、错误、时间戳和模型字段仅在任务提供时返回。
idstring
任务 ID。
task_idstring
与 id 相同的任务 ID。
poll_urlstring
查询任务状态和结果的地址。
billing_transaction_idstring
结算完成后返回的账单交易 ID,与任务 ID 不同。
statusstring
任务状态:pending、processing、completed、failed。
progressnumber
可选进度值。仅在任务提供真实进度时返回;请使用 status 判断任务是否完成。
video_urlstring
生成视频的 URL(完成时)。
videoobject
单个视频结果,可能包含 url、duration、width 和 height。
videosarray
任务生成的多个视频结果。
errorstring | object
错误信息(如果失败)。
createdinteger
创建时间戳。
updatedinteger
最后更新时间戳。
modelstring
用于该任务的模型。
请求
curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
-H "Authorization: Bearer sk-your-api-key"响应
{
"id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "pending",
"model": "veo3.1",
"created": 1706000000,
"updated": 1706000000
}查询建议
- 每 5–10 秒查询一次即可。
- 等待时间较长时,可以逐步延长查询间隔。
- 为你的应用设置最长等待时间。
- 收到
failed时停止查询,并向用户显示error。
import requests
import time
def wait_for_video(task_id, max_wait=600, interval=5):
"""Wait for video with timeout."""
start = time.time()
while time.time() - start < max_wait:
response = requests.get(
f"https://api.tokenlab.sh/v1/tasks/{task_id}",
headers={"Authorization": "Bearer sk-your-api-key"}
)
response.raise_for_status()
data = response.json()
if data["status"] == "completed":
return data["video_url"]
elif data["status"] == "failed":
raise Exception(data.get("error", "Video generation failed"))
time.sleep(interval)
raise TimeoutError("Video generation timed out")授权
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