curl -X GET https://td.geeknow.top/v1/videos/task_01jz8s3dbke8p9vq2m8r9a7gk4 \
-H "Authorization: Bearer YOUR_API_KEY"
import requests
task_id = "task_01jz8s3dbke8p9vq2m8r9a7gk4"
resp = requests.get(
f"https://td.geeknow.top/v1/videos/{task_id}",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(resp.json())
const taskId = "task_01jz8s3dbke8p9vq2m8r9a7gk4";
const response = await fetch(`https://td.geeknow.top/v1/videos/${taskId}`, {
method: "GET",
headers: {
Authorization: "Bearer YOUR_API_KEY",
},
});
console.log(await response.json());
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "in_progress"
}
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "completed",
"video_url": "https://example.com/results/seedance-video.mp4",
"actualDuration": 6,
"totalTokens": 1200
}
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "failed",
"error": "task failed"
}
{
"error": {
"message": "task_id is required",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "无效的令牌",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "Task not found",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "rate limit exceeded",
"type": "rate_limit_exceeded"
}
}
{
"error": {
"message": "Failed to query task",
"type": "server_error"
}
}
Seedance 2.0
Seedance 2.0 查询视频任务
使用 GET /v1/videos/{id} 查询 Seedance 2.0 视频任务状态、进度和结果地址。
GET
https://td.geeknow.top
/
v1
/
videos
/
{id}
curl -X GET https://td.geeknow.top/v1/videos/task_01jz8s3dbke8p9vq2m8r9a7gk4 \
-H "Authorization: Bearer YOUR_API_KEY"
import requests
task_id = "task_01jz8s3dbke8p9vq2m8r9a7gk4"
resp = requests.get(
f"https://td.geeknow.top/v1/videos/{task_id}",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(resp.json())
const taskId = "task_01jz8s3dbke8p9vq2m8r9a7gk4";
const response = await fetch(`https://td.geeknow.top/v1/videos/${taskId}`, {
method: "GET",
headers: {
Authorization: "Bearer YOUR_API_KEY",
},
});
console.log(await response.json());
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "in_progress"
}
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "completed",
"video_url": "https://example.com/results/seedance-video.mp4",
"actualDuration": 6,
"totalTokens": 1200
}
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "failed",
"error": "task failed"
}
{
"error": {
"message": "task_id is required",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "无效的令牌",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "Task not found",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "rate limit exceeded",
"type": "rate_limit_exceeded"
}
}
{
"error": {
"message": "Failed to query task",
"type": "server_error"
}
}
Seedance 2.0 查询视频任务
这个接口用于查询 Seedance 2.0 异步视频任务的最新状态。- 根据创建任务返回的
id查询 - 任务完成后返回
video_url - 失败任务会返回
error - 状态统一为
queued、in_progress、completed、failed
方法与路径
GET /v1/videos/{id}
curl -X GET https://td.geeknow.top/v1/videos/task_01jz8s3dbke8p9vq2m8r9a7gk4 \
-H "Authorization: Bearer YOUR_API_KEY"
import requests
task_id = "task_01jz8s3dbke8p9vq2m8r9a7gk4"
resp = requests.get(
f"https://td.geeknow.top/v1/videos/{task_id}",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(resp.json())
const taskId = "task_01jz8s3dbke8p9vq2m8r9a7gk4";
const response = await fetch(`https://td.geeknow.top/v1/videos/${taskId}`, {
method: "GET",
headers: {
Authorization: "Bearer YOUR_API_KEY",
},
});
console.log(await response.json());
响应示例
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "in_progress"
}
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "completed",
"video_url": "https://example.com/results/seedance-video.mp4",
"actualDuration": 6,
"totalTokens": 1200
}
{
"id": "task_01jz8s3dbke8p9vq2m8r9a7gk4",
"object": "video",
"created": 1790557800,
"model": "doubao-seedance-2-0-260128",
"status": "failed",
"error": "task failed"
}
{
"error": {
"message": "task_id is required",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "无效的令牌",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "Task not found",
"type": "invalid_request_error"
}
}
{
"error": {
"message": "rate limit exceeded",
"type": "rate_limit_exceeded"
}
}
{
"error": {
"message": "Failed to query task",
"type": "server_error"
}
}
认证
Authorization: Bearer YOUR_API_KEY
Path Parameters
string
required
视频任务 ID。创建视频任务接口返回的
id,例如 task_01jz8s3dbke8p9vq2m8r9a7gk4。Response
string
对象类型,通常为
video。string
视频任务 ID。
string
任务状态。支持
queued、in_progress、completed、failed。integer
创建时间戳。
string
任务使用的模型名称。
string
任务完成时返回的视频 URL。
integer
实际生成的视频时长。上游返回该字段时透出。
integer
任务计费用量。上游返回该字段时透出。
string
任务失败原因。
状态映射
| 上游状态 | 返回状态 |
|---|---|
pending、queued | queued |
processing、running、in_progress | in_progress |
succeeded、completed | completed |
failed、cancelled | failed |
使用场景
轮询到任务完成
创建任务后保存返回的id,每隔数秒调用一次查询接口。status 为 completed 时读取 video_url。
GET /v1/videos/task_01jz8s3dbke8p9vq2m8r9a7gk4
获取失败原因
当status 为 failed 时,读取 error 字段定位失败原因。
{
"status": "failed",
"error": "task failed"
}
注意事项
- 查询接口只读取任务状态,不会重新提交生成任务。
video_url只在任务完成且上游返回结果地址后出现。- 如果需要代理下载视频内容,可使用
GET /v1/videos/{id}/content。
相关页面
⌘I