查询 Seedance 视频生成任务
使用创建接口返回的公开任务 ID 读取最新任务快照。PinduCloud 会保存任务状态和结果, 并阻止跨用户读取。
请求
GET https://video.pinducloud.com.cn/doubao/api/v3/contents/generations/tasks/:task_id
curl --request GET \
"$BASE_URL/doubao/api/v3/contents/generations/tasks/task_gateway_doubao_01" \
--header "Authorization: Bearer $API_KEY"
路径参数 task_id 必须是当前用户创建的 Seedance 公开任务 ID。同一用户可以使用
另一把有相应权限的有效 API Key 查询;不能查询其他用户的任务。
状态值
| 状态 | 含义 |
|---|---|
| queued | 已提交,等待处理 |
| running | 正在生成 |
| succeeded | 生成成功,content.video_url 可用 |
| failed | 生成失败,查看 error |
| cancelled | 已取消 |
| expired | 已超过任务有效期 |
响应字段
查询结果是任务快照,常用字段如下:
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | PinduCloud 公开任务 ID |
| model | string | 实际使用的模型 |
| status | string | 当前任务状态 |
| content.video_url | string | 成功后的视频下载地址;格式以任务结果为准 |
| content.last_frame_url | string | 请求了 return_last_frame 时的尾帧地址 |
| created_at | integer | 创建时间,Unix 秒时间戳 |
| updated_at | integer | 最近更新时间,Unix 秒时间戳 |
| service_tier | string | default 或 flex |
| duration | integer | 实际视频时长,秒 |
| seed | integer | 实际使用的种子 |
| resolution | string | 实际分辨率 |
| ratio | string | 实际宽高比 |
| framespersecond | integer | 实际帧率,通常为 24 |
| generate_audio | boolean | 是否包含音频 |
| draft | boolean | 是否为 Draft 任务 |
| priority | integer | 任务优先级 |
| execution_expires_after | integer | 任务过期阈值,秒 |
| usage | object | 用量信息,成功后通常返回 |
| error | object | 失败原因,失败任务才返回 |
usage.completion_tokens 和 usage.total_tokens 为任务返回的 Token 用量,
不是费用。参考视频可能影响计费用量和价格档位,不应套用文本模型的输入/输出
Token 价格公式。实际费用请查看控制台的使用日志和任务结算记录。
查询结果是任务快照,可能保留任务处理过程中记录的历史字段。查询响应中出现
service_tier、draft 或其他字段,不表示当前三个 Seedance 2.0 模型的创建入口
接受同名请求字段;创建请求应以创建任务中的字段和模型限制为准。
响应示例
成功
{
"id": "task_gateway_doubao_01",
"model": "doubao-seedance-2-0-260128",
"status": "succeeded",
"content": {
"video_url": "https://cdn.example.com/generated.mp4",
"last_frame_url": "https://cdn.example.com/generated-last-frame.png"
},
"resolution": "1080p",
"ratio": "16:9",
"duration": 5,
"framespersecond": 24,
"seed": 11,
"generate_audio": false,
"draft": false,
"usage": {
"completion_tokens": 243000,
"total_tokens": 243000
}
}
处理中
{
"id": "task_gateway_doubao_01",
"model": "doubao-seedance-2-0-260128",
"status": "running",
"created_at": 1782286167,
"updated_at": 1782286260
}
刚创建的任务通常为 queued,部分字段尚未填充。此时没有视频 URL 是正常现象,
继续查询直到终态即可,不要重新提交生成请求。
失败
{
"id": "task_gateway_doubao_01",
"model": "doubao-seedance-2-0-260128",
"status": "failed",
"error": {
"code": "ContentFilteredError",
"message": "The content was filtered by the provider."
}
}
轮询规则
- 首次查询在创建后等待约 10 秒。
- 后续查询间隔不低于 10 秒。
- 收到 succeeded、failed、cancelled 或 expired 后停止轮询。
- video_url 和尾帧 URL可能是签名地址,应在有效期内转存。
计费与结算
任务受理时可能按请求参数预扣额度,完成后按该模型的计费规则和实际用量结算, 差额可能退还或补扣。未指定分辨率或使用智能时长时,预估值尤其不等于最终费用。 最终失败或确认取消的任务按结算规则退还预扣额度;请求删除成功视频不会退还 已经完成的生成费用。使用日志中的“任务结算补扣”是同一任务的差额,不是再次生成。
下载视频
从 content.video_url 读取地址并及时下载。也可以使用已鉴权的内容接口,
无需把 API Key 放在 URL 中:
curl --fail --location \
"$BASE_URL/v1/videos/task_gateway_doubao_01/content" \
--header "Authorization: Bearer $API_KEY" \
--output generated.mp4
内容接口支持 GET 和 HEAD。任务未完成、结果已删除或原视频地址失效时,
内容接口也可能不可用;它不是永久文件存储。更多兼容接口示例见兼容接口。