字节 Seedance / 概览
Seedance 是字节的视频生成模型,通过视频域名上的异步任务接口调用。
前置条件
- 已获取 UniGateway API Key,保存在
UNIGATEWAY_API_KEY中
UNIGATEWAY_API_KEY=<YOUR_UNIGATEWAY_API_KEY>
鉴权
所有 Seedance 接口使用 Bearer Token:
Authorization: Bearer $UNIGATEWAY_API_KEY
接口说明
视频生成接口
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /api/v3/contents/generations/tasks | 创建视频任务 |
GET | /api/v3/contents/generations/tasks | 查询任务列表 |
GET | /api/v3/contents/generations/tasks/{id} | 查询单个任务 |
DELETE | /api/v3/contents/generations/tasks/{id} | 取消/删除任务 |
素材库接口
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /api/v3/asset-groups | 创建素材库 |
GET | /api/v3/asset-groups | 查询素材库列表 |
GET | /api/v3/asset-groups/{groupId} | 查询单个素材库 |
PATCH | /api/v3/asset-groups/{groupId} | 更新素材库 |
POST | /api/v3/assets | 创建素材 |
GET | /api/v3/assets | 查询素材列表 |
GET | /api/v3/assets/{assetId} | 查询单个素材 |
PATCH | /api/v3/assets/{assetId} | 更新素材 |
DELETE | /api/v3/assets/{assetId} | 删除素材 |
查找可用模型
Seedance 模型在视频域名上,不通过 /v1/models:
curl https://video.unigateway.ai/api/models \
-H "Authorization: Bearer $UNIGATEWAY_API_KEY"
示例模型 — 以实时查询为准:
| 模型 ID | 说明 |
|---|---|
doubao-seedance-2.0-fast | 快速 Seedance 视频生成 |
doubao-seedance-2.0 | 标准 Seedance 视频生成 |
调用流程
创建任务
curl -sS -X POST "https://video.unigateway.ai/api/v3/contents/generations/tasks" \
-H "Authorization: Bearer $UNIGATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2.0-fast",
"content": [
{ "type": "text", "text": "天空飘着一朵白云。" }
],
"ratio": "16:9",
"duration": 5,
"generate_audio": false
}'
响应:
{
"id": "cgt-20260514135903-68khw"
}
查询状态
curl -sS "https://video.unigateway.ai/api/v3/contents/generations/tasks/{id}" \
-H "Authorization: Bearer $UNIGATEWAY_API_KEY"
响应(处理中):
{
"id": "cgt-20260514135903-68khw",
"model": "doubao-seedance-2.0-fast",
"status": "running",
"content": {},
"usage": null
}
响应(已完成):
{
"id": "cgt-20260514135903-68khw",
"model": "doubao-seedance-2.0-fast",
"status": "succeeded",
"content": {
"video_url": "https://<your-cdn>/media/output/video.mp4"
},
"usage": {
"billing_mode": "credits",
"credits": 50
}
}
查询任务列表
curl -sS "https://video.unigateway.ai/api/v3/contents/generations/tasks?page_num=1&page_size=20" \
-H "Authorization: Bearer $UNIGATEWAY_API_KEY"
返回近 7 天任务。可选过滤:filter.status、filter.task_ids、filter.model。
取消任务
curl -sS -X DELETE "https://video.unigateway.ai/api/v3/contents/generations/tasks/{id}" \
-H "Authorization: Bearer $UNIGATEWAY_API_KEY"
排队中的任务可被取消。正在运行或已完成的任务无法删除。
任务状态
| 状态 | 含义 | 处理 |
|---|---|---|
queued | 已接收,尚未处理 | 继续轮询 |
running | 生成处理中 | 继续轮询 |
succeeded | 结果已就绪 | 保存 content.video_url |
failed | 处理失败 | 检查 error,决定是否重提 |
expired | 任务或结果已过期 | 重新提交 |
cancelled | 任务已终止 | 视为终态 |
参数说明(创建)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 视频域名的 Seedance 模型 ID |
content | array | 是 | 至少一条输入项,支持 text 类型 |
ratio | string | 否 | 画幅比例,例如 16:9 |
duration | number | 否 | 目标时长(秒) |
generate_audio | boolean | 否 | 是否生成音频 |
部分参数不是所有模型变体都支持,请逐一测试。
轮询策略
- 创建后 2-3 秒首次查询
- 随等待时间增长逐步拉大间隔(3s -> 5s -> 10s)
- 在调用方设置总超时
- 不对同一任务 ID 高频并发查询
常见错误
| 状态码 | 原因 | 处理 |
|---|---|---|
400 | 参数非法或不支持的选项 | 去掉可选参数,用最小载荷重试 |
401 / 403 | Key 无效或权限不足 | 检查凭证 |
404 | 模型不存在 | 从视频域名模型列表确认模型 ID |
429 | 触发限流 | 退避并排队 |
5xx | 网关或上游异常 | 有限退避重试 |