Seedance 2.0 系列调用指南
更新时间:2026-07-29
本文介绍如何通过 UniAll 调用 Seedance 2.0 系列。新接入推荐使用三个稳定公共模型名,通过请求参数选择分辨率和生成能力。
1. 模型选择
| 公共模型 | 支持分辨率 | 适用场景 |
|---|---|---|
seedance2.0 | 480p、720p、1080p、4k | 综合质量优先,支持完整能力 |
seedance2.0-fast | 480p、720p | 生成速度优先 |
seedance2.0-mini | 480p、720p | 轻量任务和速度优先 |
三个模型均支持:
- 文生视频;
- 单图生视频;
- 首尾帧生视频;
- 图片、视频和音频多模态参考;
- 视频编辑和视频延长;
- 有声视频、水印和随机种子;
- 纯文本联网搜索;
- 返回生成视频的尾帧;
- 使用已有的
asset://素材 ID。
2. 接口与鉴权
推荐使用 OpenAI 兼容视频任务接口:
POST /v1/videos
GET /v1/videos/{task_id}
GET /v1/videos/{task_id}/content
请求头:
Authorization: Bearer sk-***
Content-Type: application/json
以下示例中的 {BASE_URL} 使用:
https:
同时保留以下兼容接口:
POST /v1/videos/generations
GET /v1/videos/generations/{task_id}
POST /v1/video/generations
GET /v1/video/generations/{task_id}
新接入建议统一使用 /v1/videos。
3. 公共参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 三个公共模型之一,或兼容期内的固定分辨率模型名 |
prompt | string | 条件必填 | 视频提示词;使用 content[] 时改为至少一个 type=text 项 |
resolution | string | 新公共模型必填 | 输出分辨率,取值见模型表 |
size | string | 否 | resolution 的兼容别名 |
duration | integer/string | 是 | 输出时长,支持 4 到 15 秒;兼容值 auto,推荐显式传整数 |
aspect_ratio | string | 否 | auto、21:9、16:9、4:3、3:2、2:3、1:1、3:4、9:16 |
ratio | string | 否 | aspect_ratio 的兼容别名;adaptive 等价于 auto |
content | object[] | 否 | 推荐的多模态输入格式,详见下一节 |
operation | string | 特定能力必填 | reference_to_video、edit_video 或 extend_video |
generate_audio | boolean | 否 | 是否生成有声视频 |
watermark | boolean | 否 | 是否添加水印 |
seed | integer | 否 | 随机种子 |
return_last_frame | boolean | 否 | 是否在完成结果中返回尾帧 URL |
tools | object[] | 否 | 当前仅支持 [{"type":"web_search"}] |
参数兼容规则:
resolution和size同时传入时必须相同。aspect_ratio和ratio同时传入时必须表达相同比例。ratio: "adaptive"与aspect_ratio: "auto"视为相同。operation、generate_audio、watermark、seed、return_last_frame和tools也兼容放入extra_body;同一参数不要在顶层和extra_body重复传入。draft、frames、camera_fixed和service_tier: "flex"不属于当前公共契约。
4. content[] 多模态格式
复杂输入推荐统一使用 content[]:
{
"content": [
{
"type": "text",
"text": "提示词"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.png"
},
"role": "reference_image"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/video.mp4"
},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://example.com/audio.mp3"
},
"role": "reference_audio"
}
]
}
支持的类型和角色:
type | role | 含义 |
|---|---|---|
text | 无 | 提示词,可传多个文本项 |
image_url | image | 单图生视频输入图 |
image_url | reference_image | 参考图片 |
image_url | first_frame | 首帧图片 |
image_url | last_frame | 尾帧图片 |
video_url | source_video | 编辑或延长的源视频 |
video_url | reference_video | 参考视频 |
audio_url | reference_audio | 参考音频 |
输入约束:
content[]至少包含一个非空文本项。- 图片最多 9 张,视频最多 3 段,音频最多 3 段。
first_frame和last_frame必须成对出现,且各只能有 1 张。- 首尾帧模式不能再混入视频、音频或其他图片。
image和reference_image不要在同一请求中混用。source_video最多 1 段。- 参考音频必须同时存在至少一张图片或一段视频;不接受纯音频或“文本 + 音频”。
- 使用多份参考素材时,可在提示词中按顺序使用
@Image1、@Video1、@Audio1指定素材。
简单请求仍兼容 image、images、last_image、video、videos 和 audios 等字段;新功能和多模态组合建议使用 content[],避免输入角色不明确。
5. 请求示例
5.1 文生视频
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0",
"prompt": "雨后的未来城市街道,霓虹倒影,电影感镜头缓慢向前推进。",
"resolution": "1080p",
"duration": 5,
"ratio": "16:9",
"generate_audio": true
}'
5.2 单图生视频
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast",
"resolution": "720p",
"duration": 6,
"content": [
{
"type": "text",
"text": "人物自然转身看向镜头,衣服随风轻微摆动,保持人物身份一致。"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/person.png"
},
"role": "image"
}
]
}'
5.3 首尾帧生视频
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0",
"resolution": "720p",
"duration": 6,
"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/last.png"
},
"role": "last_frame"
}
]
}'
5.4 多模态参考生视频
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-mini",
"resolution": "720p",
"duration": 8,
"operation": "reference_to_video",
"content": [
{
"type": "text",
"text": "让 @Image1 中的产品按照 @Video1 的镜头运动展示,并参考 @Audio1 的节奏。"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/product.png"
},
"role": "reference_image"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/motion.mp4"
},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://example.com/music.mp3"
},
"role": "reference_audio"
}
]
}'
5.5 视频编辑
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0",
"resolution": "720p",
"duration": 6,
"operation": "edit_video",
"content": [
{
"type": "text",
"text": "把背景替换为雨夜霓虹街道,保留人物动作和主体身份。"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/source.mp4"
},
"role": "source_video"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/style.png"
},
"role": "reference_image"
}
]
}'
5.6 视频延长
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast",
"resolution": "720p",
"duration": 5,
"operation": "extend_video",
"content": [
{
"type": "text",
"text": "延续原镜头运动,人物继续向前行走,光线和场景保持一致。"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/source.mp4"
},
"role": "source_video"
}
]
}'
5.7 纯文本联网搜索
联网搜索只能用于纯文本请求,不能同时传图片、视频或音频。
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-mini",
"prompt": "根据今天公开的科技新闻制作一段简洁的资讯视频,不要显示品牌商标。",
"resolution": "720p",
"duration": 5,
"tools": [
{
"type": "web_search"
}
]
}'
web_search 表示允许模型检索公开信息,不保证每次生成都会实际产生搜索调用。
5.8 返回尾帧
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0",
"prompt": "一艘纸船缓慢停在石桥旁,最后画面保持稳定。",
"resolution": "720p",
"duration": 5,
"return_last_frame": true
}'
任务完成后,尾帧通过 result.last_frame_url 返回,不会混入视频 outputs。
5.9 使用素材库 URI
通过 Seedance 2.0 素材库 创建并查询可复用输入。素材达到 status=available 后,把普通媒体 URL 替换为接口返回的 uri:
{
"type": "video_url",
"video_url": {
"url": "asset://asset-xxxxxxxxxxxxx"
},
"role": "source_video"
}
URI 只能放入对应的结构化图片、视频或音频字段,不要写入提示词。UniAll.ai 会在创建视频任务前校验当前用户的素材归属、状态和有效期。
6. 任务状态与结果
创建成功后返回异步任务:
{
"id": "task_xxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxx",
"object": "video.generation.job",
"model": "seedance2.0",
"status": "queued",
"progress": 0,
"created_at": 1784640000
}
创建成功后保存 id 或 task_id,随后调用 GET /v1/videos/{task_id},直到任务进入 completed 或 failed。统一的轮询间隔、状态字段、错误结构、结果地址和鉴权下载方式见视频生成概览。
Seedance 请求生成尾帧时,完成响应还可能包含 result.last_frame_url。
7. 固定分辨率模型兼容
已有客户端可以继续使用固定分辨率模型名:
| 模型系列 | 兼容模型名 |
|---|---|
| Standard | seedance2.0-480p、seedance2.0-720p、seedance2.0-1080p、seedance2.0-4k |
| Fast | seedance2.0-fast-480p、seedance2.0-fast-720p |
| Mini | seedance2.0-mini-480p、seedance2.0-mini-720p |
更早的以下名称也继续兼容:
seedance2.0-video-480pseedance2.0-video-720pseedance2.0-fast-video-480pseedance2.0-fast-video-720p
固定分辨率模型从模型名确定分辨率,不要求额外传 resolution。它们与对应的新公共模型使用相同参数和能力;如仍传 resolution 或 size,值必须与模型名中的分辨率一致。
新项目建议迁移到三个公共模型名,便于只修改请求参数即可切换输出分辨率。
8. 常见错误
| 场景 | 结果 | 修正方式 |
|---|---|---|
新公共模型缺少 resolution/size | HTTP 400 | 显式传入支持的分辨率 |
resolution 与 size 不同 | HTTP 400 | 只传一个,或保证值相同 |
aspect_ratio 与 ratio 冲突 | HTTP 400 | 只传一个,或保证语义相同 |
缺少 duration | HTTP 400 | 传 4 到 15 的整数 |
content[] 没有文本项 | HTTP 400 | 增加非空 type=text 项 |
| 首帧和尾帧没有成对传入 | HTTP 400 | 同时传 first_frame 和 last_frame |
| 纯音频或“文本 + 音频” | HTTP 400 | 至少增加一张图片或一段视频 |
| 联网搜索请求包含媒体 | HTTP 400 | 搜索请求只保留文本输入 |
| 图片、视频或音频数量超限 | HTTP 400 | 分别控制在 9、3、3 个以内 |
使用 draft、frames、camera_fixed 或 service_tier=flex | HTTP 400 | 删除这些参数 |
遇到安全审核、素材格式或参数错误时,应修改输入后创建新任务,不要对同一无效请求进行高频重复提交。