查询视频任务
查询已创建的视频生成任务状态、结果与结算信息。创建视频任务后,使用响应中的 trinity_task.task_id 轮询本接口。
创建视频见 创建视频生成任务。视频参数见 视频生成 · 高级参数。
Endpoint
| Method | URL |
|---|---|
GET | {TRINITY_BASE_URL}/video/tasks/{taskId} |
Base URL
| 项 | 值 |
|---|---|
| Base URL | https://api.trinitydesk.ai/v1 |
| 协议 | HTTPS |
bash
export TRINITY_BASE_URL="https://api.trinitydesk.ai/v1"
export TRINITY_API_KEY="xh-..."Headers
| Header | 必填 | 说明 |
|---|---|---|
Authorization | 是 | Bearer <TRINITY_API_KEY> |
请求示例
bash
curl -sS "${TRINITY_BASE_URL}/video/tasks/vidtsk_xxx" \
-H "Authorization: Bearer ${TRINITY_API_KEY}"路径参数
| 参数 | 类型 | 说明 |
|---|---|---|
taskId | string | 创建响应中的 trinity_task.task_id,形如 vidtsk_xxx |
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
task_id | string | 任务 ID |
status | string | 任务状态,见下方状态表 |
billing_status | string | 结算状态。终态结算完成后通常为 billed;终态结果已出但仍在结算时为 billing_in_progress |
phase | string | 任务阶段。可能值包括 upstream_running、delivering、billing、done |
progress_hint | string | 阶段说明文本,存在时返回 |
model | string | 模型 ID |
result_url | string | 视频结果 URL,status=succeeded 时返回 |
pricing | object | 已结算任务的价格信息,billing_status=billed 且有结算数据时返回 |
pricing.user_charge_usd | number | 本次用户侧扣费金额(美元) |
pricing.charge_unit | string | 计费单位,例如 video_second |
pricing.charge_quantity | number | 计费数量,例如按秒计费时的视频秒数 |
pricing.billed_usd_per_sec | number | 按秒折算后的单价,按秒计费任务可能返回 |
pricing.requested_duration_sec | integer | 请求的视频时长(秒),存在时返回 |
error_code | string | 错误码,status=failed 时返回 |
error_message | string | 错误描述,status=failed 时返回 |
任务状态
| status | 说明 |
|---|---|
queued | 排队中 |
running | 生成中 |
succeeded | 生成成功,可读取 result_url |
failed | 生成失败,可读取 error_code / error_message |
返回示例
生成中
json
{
"task_id": "vidtsk_xxx",
"status": "running",
"phase": "upstream_running",
"progress_hint": "Generating video",
"model": "kling-2.6"
}生成成功,结算中
json
{
"task_id": "vidtsk_xxx",
"status": "succeeded",
"billing_status": "billing_in_progress",
"phase": "billing",
"model": "kling-2.6",
"result_url": "https://..."
}生成成功,已结算
json
{
"task_id": "vidtsk_xxx",
"status": "succeeded",
"billing_status": "billed",
"phase": "done",
"model": "kling-2.6",
"result_url": "https://...",
"pricing": {
"user_charge_usd": 0.5,
"charge_unit": "video_second",
"charge_quantity": 5,
"billed_usd_per_sec": 0.1,
"requested_duration_sec": 5
}
}生成失败
json
{
"task_id": "vidtsk_xxx",
"status": "failed",
"model": "kling-2.6",
"error_code": "upstream_task_failed",
"error_message": "..."
}Python 示例
python
import os
import time
import requests
BASE = os.environ["TRINITY_BASE_URL"]
API_KEY = os.environ["TRINITY_API_KEY"]
TASK_ID = "vidtsk_xxx"
headers = {"Authorization": f"Bearer {API_KEY}"}
for _ in range(75):
r = requests.get(
f"{BASE}/video/tasks/{TASK_ID}",
headers=headers,
timeout=60,
)
r.raise_for_status()
result = r.json()
status = result.get("status")
billing_status = result.get("billing_status")
print(f"status={status} billing={billing_status}")
if status == "failed":
print(f"error={result.get('error_code')} {result.get('error_message')}")
break
if status == "succeeded" and billing_status == "billed":
print(f"video={result.get('result_url')}")
print(f"pricing={result.get('pricing')}")
break
time.sleep(8)