Seedance 2.0 Video
Seedance 2.0 Video 使用异步视频任务接口。先创建任务,再通过任务查询接口轮询状态和最终视频地址。
如需使用 doubao-seedance-2.5,请查看独立的 Seedance 2.5 文档。
推荐接入方式
新接入请使用统一视频接口 /v1/video/generations,并使用官方风格的顶层 content 数组组织文本、图片、视频和音频素材。
接口地址
| 能力 | 方法 | 路径 |
|---|---|---|
| 创建视频任务(兼容官方) | POST | /api/v3/contents/generations/tasks |
| 查询视频任务(兼容官方) | GET | /api/v3/contents/generations/tasks/{task_id} |
| 创建视频任务 | POST | /v1/video/generations |
| 查询视频任务 | GET | /v1/video/generations/{task_id} |
| 创建异步图片审核任务 | POST | /v1/images/moderations/tasks |
| 查询异步图片审核任务 | GET | /v1/images/moderations/tasks/{task_id} |
支持模型
| 模型 | 说明 |
|---|---|
doubao-seedance-2.0 | Seedance 2.0 标准模型 |
doubao-seedance-2.0-fast | Seedance 2.0 快速模型;是否可用以账户权限和平台配置为准 |
支持模式
| 模式 | 输入方式 |
|---|---|
| 文生视频 | content 中只传 text |
| 单图图生视频 | content 中传 1 个 image_url,可使用 first_frame 或 reference_image |
| 首尾帧视频 | content 中传 2 个 image_url,分别使用 first_frame 和 last_frame |
| 视频参考输入 | content 中传 video_url,角色使用 reference_video |
| 图片和音频参考 | content 中组合 image_url 与 audio_url |
| 图片审核入库 | 先创建异步图片审核任务,再使用返回的 asset://<asset ID> |
顶层参数
| 参数 | 必填 | 说明 |
|---|---|---|
model | 是 | Seedance 模型名称,例如 doubao-seedance-2.0 |
content | 推荐 | 多模态内容数组,用于组织提示词和素材,并精确控制素材类型和角色 |
duration | 否 | 视频时长,整数秒。默认通常为 5,Seedance 2.0 常用范围为 4 到 15 |
ratio | 否 | 输出比例,可选 adaptive、21:9、16:9、4:3、1:1、3:4、9:16 |
resolution | 否 | 输出分辨率,常用 480p、720p、1080p;doubao-seedance-2.0-fast 不支持 1080p |
generate_audio | 否 | 是否生成同步音频,布尔值。需要无声视频时传 false |
watermark | 否 | 是否添加水印,布尔值 |
调用示例
文生视频
curl -X POST https://cubicspaces.cloud/v1/video/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "doubao-seedance-2.0",
"content": [
{
"type": "text",
"text": "A cinematic aerial shot of a futuristic cubic city at sunrise"
}
],
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
"generate_audio": false,
"watermark": false
}'单图生成视频
curl -X POST https://cubicspaces.cloud/v1/video/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "doubao-seedance-2.0",
"content": [
{
"type": "text",
"text": "参考图片 1 的产品外观,生成 5 秒干净影棚展示视频,保持主体一致。"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "asset://reviewed-image-asset-id"
}
}
],
"duration": 5,
"resolution": "720p",
"ratio": "1:1",
"watermark": false
}'首尾帧视频
{
"model": "doubao-seedance-2.0",
"content": [
{
"type": "text",
"text": "根据图片 1 和图片 2 生成流畅过渡的视频。"
},
{
"type": "image_url",
"role": "first_frame",
"image_url": {
"url": "asset://first-frame-asset-id"
}
},
{
"type": "image_url",
"role": "last_frame",
"image_url": {
"url": "asset://last-frame-asset-id"
}
}
],
"duration": 8,
"resolution": "720p",
"ratio": "16:9"
}视频参考输入
{
"model": "doubao-seedance-2.0",
"content": [
{
"type": "text",
"text": "全程参考视频 1 的运镜和动作节奏,生成同风格的新场景。"
},
{
"type": "video_url",
"role": "reference_video",
"video_url": {
"url": "https://example.com/reference.mp4"
}
}
],
"duration": 5,
"resolution": "720p",
"ratio": "16:9"
}图片和音频参考
{
"model": "doubao-seedance-2.0",
"content": [
{
"type": "text",
"text": "参考图片 1 和音频 1,生成一段产品展示视频。"
},
{
"type": "image_url",
"role": "reference_image",
"image_url": {
"url": "asset://reviewed-image-asset-id"
}
},
{
"type": "audio_url",
"role": "reference_audio",
"audio_url": {
"url": "https://example.com/reference.wav"
}
}
],
"duration": 5,
"ratio": "1:1",
"generate_audio": true
}content 内容项
| 字段 | 必填 | 说明 |
|---|---|---|
content[].type | 是 | text、image_url、video_url、audio_url |
content[].text | 条件必填 | type 为 text 时使用 |
content[].image_url.url | 条件必填 | 图片公网 URL,或图片审核通过后的 asset://<asset ID> |
content[].video_url.url | 条件必填 | 视频公网 URL。平台会预检 URL 是否可下载 |
content[].audio_url.url | 条件必填 | 音频公网 URL,或上游支持的音频素材地址 |
content[].role | 条件必填 | 素材角色,见下方组合规则 |
素材组合规则
| 场景 | 推荐写法 | role 要求 |
|---|---|---|
| 文生视频 | content 中只传文本 | 不需要素材角色 |
| 单图图生视频 | content 中传 1 个 image_url 内容项 | first_frame,也可以省略 |
| 首尾帧视频 | content 中传 2 个 image_url 内容项 | 第一张 first_frame,第二张 last_frame |
| 多模态参考视频 | content 中传参考图/视频/音频 | 图片 reference_image,视频 reference_video,音频 reference_audio |
限制和建议:
- 参考图片最多 9 张;首尾帧场景只传 2 张。
- 视频参考最多 3 个,单个视频最长 15 秒,所有参考视频总时长不超过 15 秒。
- 音频参考最多 3 个,单个音频最长 15 秒,所有参考音频总时长不超过 15 秒。
- 音频不能单独作为唯一素材,至少同时提供 1 个图片或视频素材。
- 首帧/首尾帧场景不要和
reference_image、reference_video、reference_audio混用。 - 提示词中引用素材时,用“图片 1”“视频 1”“音频 1”这类顺序编号,不要直接写 Asset ID。
素材文件限制
| 素材 | 限制 |
|---|---|
| 图片 | 常见格式包括 jpeg、jpg、png、webp、bmp、tiff、gif;单张小于 30 MB;宽高比建议在 0.4 到 2.5 之间;宽高建议在 300 到 6000 px 之间 |
| 视频 | mp4 或 mov;建议 480p 或 720p,标准版在账号和模型支持时也可使用 1080p,fast 版不支持 1080p;单个小于 50 MB;帧率建议 4 到 60 FPS;公网 URL 必须可直接下载,不能返回 HTML 登录页 |
| 音频 | mp3 或 wav;单个小于 15 MB |
当前公开接口不支持直接传 base64 或内联二进制素材。请先上传到可公网访问的地址;图片也可以先走图片审核接口,使用返回的 asset_url。
审核图片
Seedance 使用真人或需要入库的图片素材时,建议先使用图片审核接口提交公开图片 URL。审核通过并入库后,将返回的 items[].asset_url 用作 content[].image_url.url。
请使用异步审核任务接口。创建接口会立即返回任务 ID,调用方再轮询任务状态,适合单张、多张、批量及高并发场景。
同一个 Seedance 生成请求中会用到的所有图片,必须在同一个异步审核任务的 images 数组中一起提交。不要把同一个生成请求的多张图片拆成多个审核批次;否则可能出现素材审核批次或资产绑定不一致的问题。
异步审核任务
创建任务:
POST /v1/images/moderations/tasks
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json请求参数:
| 参数 | 必填 | 说明 |
|---|---|---|
model | 是 | 用于选择 Seedance 能力,建议传 doubao-seedance-2.0 |
images | 是 | 图片 URL 数组;同一个生成请求内会用到的所有图片必须同批提交 |
asset_type | 否 | 资源类型,默认 Image;图片审核场景保持默认即可 |
图片必须是公网可访问的 http 或 https URL,不支持 base64 或内联二进制内容。单个任务最多提交 20 张图片。还可以传入 client_request_id 作为调用方幂等标识;同一账户使用相同标识重试时会返回同一个任务。
curl -X POST https://cubicspaces.cloud/v1/images/moderations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "doubao-seedance-2.0",
"images": [
"https://example.com/person.png",
"https://example.com/product.png"
],
"client_request_id": "seedance-batch-001"
}'创建成功返回 HTTP 200:
{
"code": "success",
"message": "",
"data": {
"id": "amt_xxx",
"model": "doubao-seedance-2.0",
"status": "queued",
"total": 2,
"completed": 0,
"approved": 0,
"rejected": 0,
"failed": 0,
"execution_expires_at": 1780000600,
"created_at": 1780000000,
"updated_at": 1780000000
}
}查询任务:
curl https://cubicspaces.cloud/v1/images/moderations/tasks/amt_xxx \
-H "Authorization: Bearer YOUR_API_KEY"建议每 2 到 5 秒查询一次。任务终态为 succeeded、partial_succeeded、failed 或 expired;处理中状态为 queued 或 running。查询结果中的每个图片项状态为 approved、rejected、failed 或 timed_out。
{
"code": "success",
"message": "",
"data": {
"id": "amt_xxx",
"model": "doubao-seedance-2.0",
"status": "partial_succeeded",
"total": 2,
"completed": 2,
"approved": 1,
"rejected": 1,
"failed": 0,
"items": [
{
"index": 0,
"source_url": "https://example.com/person.png",
"status": "approved",
"asset_url": "asset://reviewed-person-asset-id",
"asset_id": "reviewed-person-asset-id"
},
{
"index": 1,
"source_url": "https://example.com/product.png",
"status": "rejected",
"error_message": "image did not pass moderation"
}
]
}
}只有状态为 approved 的图片才能把 asset_url 用于后续视频生成。异步任务查询记录保留 7 天,请及时保存审核通过的 asset_url。
返回和查询
官方兼容接口
已支持官方兼容的视频任务接口:
POST /api/v3/contents/generations/tasks
GET /api/v3/contents/generations/tasks/{task_id}完整地址:
POST https://cubicspaces.cloud/api/v3/contents/generations/tasks
GET https://cubicspaces.cloud/api/v3/contents/generations/tasks/{task_id}统一视频接口
创建成功后返回标准视频任务对象:
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "doubao-seedance-2.0",
"status": "queued",
"progress": 0,
"created_at": 1770000000
}查询任务:
curl https://cubicspaces.cloud/v1/video/generations/task_xxx \
-H "Authorization: Bearer YOUR_API_KEY"查询时必须使用创建任务返回的公开 task_xxx,并携带创建该任务时使用的同一枚 API Key。使用其他令牌查询时会返回 task_not_exist。
任务成功后的查询响应示例:
{
"code": "success",
"message": "",
"data": {
"task_id": "task_xxx",
"action": "generate",
"status": "SUCCESS",
"progress": "100%",
"result_url": "https://example.com/generated-video.mp4",
"properties": {
"prompt": "一只猫在草地上奔跑",
"origin_model_name": "doubao-seedance-2.0"
},
"usage": {
"prompt_tokens": 0,
"completion_tokens": 38800,
"total_tokens": 38800
}
}
}- 从
data.result_url读取最终视频地址。 data.usage.completion_tokens和data.usage.total_tokens是任务完成并结算后的最终有效 token 数,与控制台最终结算记录一致,不是创建任务时的预估值;若上游原始用量与最终结算用量不同,以这里返回的结算用量为准。- 任务完成前,最终 token 尚未产生,响应可能不包含
data.usage。 - 响应中的
data.quota(如果存在)是平台内部计费额度,不是 token 数;用量统计请读取data.usage。
状态值
创建接口返回小写 queued。后续通过 /v1/video/generations/{task_id} 查询时,data.status 使用以下任务状态:
| 查询状态 | 说明 |
|---|---|
NOT_START / SUBMITTED / QUEUED | 等待或排队中 |
IN_PROGRESS | 生成中 |
SUCCESS | 已完成,可读取 data.result_url 和最终 data.usage |
FAILURE | 失败,查看 data.fail_reason |
注意事项
- 不确定比例时可以使用
ratio: "adaptive",或省略ratio让上游默认处理。 - 视频参考 URL 必须可由平台服务端直接下载;不要传需要登录、会跳转到 HTML 页面、或限制防盗链的地址。
- 图片参考可使用公网 URL 或图片审核接口返回的
asset://<asset ID>。 - 实际可用模型、分辨率、工具能力会随账户权限和平台配置变化。