概述
本接口为 Seedance 2.0 视频生成能力,请求/响应形态与主流视频生成 API 对齐,便于已有 SDK 或调用方快速接入。
- 视频生成为异步任务:先创建任务,再轮询查询结果。
- 支持文生视频、图生视频、多模态参考生视频。
- 创建成功后返回任务 ID,初始状态为
queued;生成完成后通过查询接口获取 content.video_url。
| 能力 | 方法 | 路径 |
| 创建视频生成任务 | POST | /api/v3/contents/generations/tasks |
| 查询视频生成任务 | GET | /api/v3/contents/generations/tasks/{id} |
鉴权方式
使用 Bearer Token 鉴权,在请求头中携带平台分配的 ApiKey:
| 方式 | Header | 格式 |
| Bearer | Authorization | Authorization: Bearer your-api-key |
本接口仅接受 Authorization: Bearer <ApiKey>。鉴权失败示例:
{
"code": "AuthenticationError",
"message": "authentication failed: missing Authorization header",
"type": "Unauthorized",
"request_id": "7f9a72b7476bc7838a470c3df57258da"
}
公共说明
- Base URL:
https://sd.yanyunai.com
- Content-Type:
application/json
下文 {BASE_URL} 即代表上述 Base URL。
成功:直接返回业务 JSON 对象(不含外层包装)。
失败:返回扁平错误对象:
| 字段 | 类型 | 说明 |
code | string | 错误码,如 InvalidParameter、AuthenticationError |
message | string | 错误描述 |
param | string | 可选,出错参数名 |
type | string | HTTP 错误类型,如 BadRequest、Unauthorized |
request_id | string | 请求追踪 ID |
1. 创建视频生成任务
创建 Seedance 2.0 视频生成任务。模型会依据传入的 content 及参数生成视频,完成后通过查询接口获取结果。
POST {BASE_URL}/api/v3/contents/generations/tasks
请求参数
| 字段 | 类型 | 必选 | 说明 |
model | string | 否 | Model ID:doubao-seedance-2-0-fast-260128(默认)或 doubao-seedance-2-0-260128 |
content | object[] | 是 | 输入内容数组,至少 1 项。支持 text / image_url / video_url / audio_url |
resolution | string | 否 | 输出分辨率:480p / 720p / 1080p,默认 720p。doubao-seedance-2-0-fast-260128 不支持 1080p |
ratio | string | 否 | 宽高比:16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive,默认 adaptive |
duration | integer | 否 | 视频时长(秒),默认 5。合法范围 [4, 15],或 -1 表示由模型智能选择时长 |
generate_audio | boolean | 否 | 是否生成同步音频,默认 true |
以下字段暂不支持,传入非默认值将返回错误:
callback_url、return_last_frame、service_tier、execution_expires_after、draft、tools、safety_identifier、priority、frames、seed、camera_fixed、watermark、draft_task
请求示例
文生视频(fast 型号,默认)
curl -X POST "https://sd.yanyunai.com/api/v3/contents/generations/tasks" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-fast-260128",
"content": [
{ "type": "text", "text": "海浪拍打礁石,黄昏的阳光洒在海面上,镜头缓缓推进" }
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true
}'
多模态参考(pro 型号)
curl -X POST "https://sd.yanyunai.com/api/v3/contents/generations/tasks" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-260128",
"content": [
{ "type": "text", "text": "让画面中的人物挥手微笑" },
{ "type": "image_url", "image_url": { "url": "https://example.com/first.png" }, "role": "first_frame" },
{ "type": "image_url", "image_url": { "url": "https://example.com/ref.png" }, "role": "reference_image" }
],
"resolution": "1080p",
"ratio": "9:16",
"duration": 5
}'
响应参数
| 字段 | 类型 | 说明 |
id | string | 视频生成任务 ID(cgt- 前缀) |
model | string | 回显请求的 Model ID |
status | string | 初始状态固定为 queued |
created_at | integer | 任务创建时间,Unix 时间戳(秒) |
响应示例
{
"id": "cgt-20260528xxxxxx-abcde",
"model": "doubao-seedance-2-0-260128",
"status": "queued",
"created_at": 1748400000
}
2. 查询视频生成任务
查询视频生成任务的状态;任务成功时返回生成视频的 URL。
GET {BASE_URL}/api/v3/contents/generations/tasks/{id}
路径参数
| 字段 | 类型 | 必选 | 说明 |
id | string | 是 | 创建接口返回的任务 ID |
请求示例
curl "https://sd.yanyunai.com/api/v3/contents/generations/tasks/cgt-20260528xxxxxx-abcde" \
-H "Authorization: Bearer your-api-key"
响应参数
| 字段 | 类型 | 说明 |
id | string | 任务 ID |
model | string | 创建时传入的 Model ID |
status | string | 任务状态,见下表 |
error | object / null | 失败时的错误信息;成功时为 null 或不返回 |
created_at | integer | 任务创建时间(Unix 秒) |
updated_at | integer | 状态更新时间(Unix 秒) |
content | object | 成功时的输出内容 |
content.video_url | string | 生成视频 MP4 URL(约 24h 有效),仅 status=succeeded 时返回 |
content.persistent_video_url | string | 转存后的持久下载 URL,仅 status=succeeded 时返回。注意:可能有数分钟延迟,刚成功时不一定可用;请以 video_url 为主 |
resolution | string | 实际输出分辨率,如 720p |
ratio | string | 实际输出宽高比,如 16:9 |
duration | integer | 实际输出时长(秒) |
usage | object | Token 用量(completion_tokens / total_tokens) |
status 取值
| 取值 | 含义 |
queued | 排队中 |
running | 任务运行中 |
succeeded | 任务成功,可获取 content.video_url |
failed | 任务失败,见 error |
响应示例
任务运行中
{
"id": "cgt-20260528xxxxxx-abcde",
"model": "doubao-seedance-2-0-260128",
"status": "running",
"created_at": 1748400000,
"updated_at": 1748400060
}
任务成功
{
"id": "cgt-20260528xxxxxx-abcde",
"model": "doubao-seedance-2-0-260128",
"status": "succeeded",
"content": {
"video_url": "https://.../output.mp4",
"persistent_video_url": "https://.../persistent/output.mp4"
},
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"usage": { "completion_tokens": 123456, "total_tokens": 123456 },
"created_at": 1748400000,
"updated_at": 1748400300
}
任务失败
{
"id": "cgt-20260528xxxxxx-abcde",
"status": "failed",
"error": { "code": "OutputVideoSensitiveContentDetected", "message": "..." }
}
content 数组元素
每个元素通过 type 指定类型:
| type | 必填子字段 | 说明 |
text | text | 文本提示词。多段 text 会按换行拼接 |
image_url | image_url.url | 图片 URL |
video_url | video_url.url | 参考视频 URL |
audio_url | audio_url.url | 参考音频 URL |
可选字段 role(素材角色):
| role | 适用 type | 说明 |
first_frame | image_url | 首帧 |
last_frame | image_url | 尾帧 |
reference_image | image_url | 参考图 |
reference_video | video_url | 参考视频(默认) |
reference_audio | audio_url | 参考音频(默认) |
使用限制
| 限制项 | 说明 |
| model | 仅 doubao-seedance-2-0-260128 / doubao-seedance-2-0-fast-260128;未传默认 fast |
| fast 型号 | 不支持参考视频、参考音频 |
| pro 型号 | 支持图片 / 视频 / 音频多模态参考 |
| duration | [4, 15] 秒,或 -1(智能时长) |
| resolution | 480p / 720p / 1080p;fast 型号不支持 1080p |
| 图片数量 | 最多 9 张 |
| 视频数量 | 最多 3 个(仅 pro 型号) |
| 音频数量 | 最多 3 段(仅 pro 型号) |
| 音频单独传入 | 不允许,须配合图片或视频 |
| content 最少项 | 至少包含 text、image_url 或 video_url 之一 |
错误码说明
鉴权与访问
| HTTP | type | code | 含义 |
| 401 | Unauthorized | AuthenticationError | Authorization 缺失/格式错误或 ApiKey 无效 |
| 403 | Forbidden | AccessDenied | 无访问权限 |
参数校验(HTTP 400)
| code | 典型 message |
| InvalidParameter | invalid model "...", must be doubao-seedance-2-0-260128 or doubao-seedance-2-0-fast-260128 |
| InvalidParameter | content is required |
| InvalidParameter | duration must be 4-15 for ... mode |
| InvalidParameter | videos are only supported in pro mode |
| InvalidParameter | ... is not supported yet |
内容安全(HTTP 400)
| code | 含义 |
| InputTextSensitiveContentDetected | 输入文本可能包含敏感信息 |
| InputImageSensitiveContentDetected | 输入图片可能包含敏感信息 |
| InputVideoSensitiveContentDetected | 输入视频可能包含敏感信息 |
| InputAudioSensitiveContentDetected | 输入音频可能包含敏感信息 |
| OutputVideoSensitiveContentDetected | 生成视频可能包含敏感信息 |
限流与服务端
| HTTP | code | 含义 |
| 429 | RateLimitExceeded.EndpointRPMExceeded | 请求频率超限,请稍后重试 |
| 429 | QuotaExceeded | 配额或并发超限 |
| 500 | InternalError | 内部错误,请稍后重试 |
注意事项
- 鉴权:使用
Authorization: Bearer <your-api-key>。
- model 字段:使用 Model ID
doubao-seedance-2-0-260128(Seedance 2.0)或 doubao-seedance-2-0-fast-260128(Seedance 2.0 fast)。
- 异步轮询:创建后请轮询查询接口,建议间隔 ≥ 30 秒;视频生成通常需 1-3 分钟。过于频繁的轮询会被限流(429)。
- 任务 ID:请保存创建接口返回的
id,查询时使用同一路径参数。
- 视频 URL:
content.video_url 约 24h 有效,请在此期间下载;如需长期保存,请在 24h 内自行下载转存到你方存储。content.persistent_video_url 为转存持久地址,但可能有数分钟延迟、刚成功时不一定可用,请优先使用 video_url。