跳到主要内容

Seedance 2.0 系列调用指南

更新时间:2026-07-29

本文介绍如何通过 UniAll 调用 Seedance 2.0 系列。新接入推荐使用三个稳定公共模型名,通过请求参数选择分辨率和生成能力。

1. 模型选择

公共模型支持分辨率适用场景
seedance2.0480p720p1080p4k综合质量优先,支持完整能力
seedance2.0-fast480p720p生成速度优先
seedance2.0-mini480p720p轻量任务和速度优先

三个模型均支持:

  • 文生视频;
  • 单图生视频;
  • 首尾帧生视频;
  • 图片、视频和音频多模态参考;
  • 视频编辑和视频延长;
  • 有声视频、水印和随机种子;
  • 纯文本联网搜索;
  • 返回生成视频的尾帧;
  • 使用已有的 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://api.uniall.ai

同时保留以下兼容接口:

POST /v1/videos/generations
GET /v1/videos/generations/{task_id}

POST /v1/video/generations
GET /v1/video/generations/{task_id}

新接入建议统一使用 /v1/videos

3. 公共参数

参数类型必填说明
modelstring三个公共模型之一,或兼容期内的固定分辨率模型名
promptstring条件必填视频提示词;使用 content[] 时改为至少一个 type=text
resolutionstring新公共模型必填输出分辨率,取值见模型表
sizestringresolution 的兼容别名
durationinteger/string输出时长,支持 415 秒;兼容值 auto,推荐显式传整数
aspect_ratiostringauto21:916:94:33:22:31:13:49:16
ratiostringaspect_ratio 的兼容别名;adaptive 等价于 auto
contentobject[]推荐的多模态输入格式,详见下一节
operationstring特定能力必填reference_to_videoedit_videoextend_video
generate_audioboolean是否生成有声视频
watermarkboolean是否添加水印
seedinteger随机种子
return_last_frameboolean是否在完成结果中返回尾帧 URL
toolsobject[]当前仅支持 [{"type":"web_search"}]

参数兼容规则:

  • resolutionsize 同时传入时必须相同。
  • aspect_ratioratio 同时传入时必须表达相同比例。
  • ratio: "adaptive"aspect_ratio: "auto" 视为相同。
  • operationgenerate_audiowatermarkseedreturn_last_frametools 也兼容放入 extra_body;同一参数不要在顶层和 extra_body 重复传入。
  • draftframescamera_fixedservice_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"
}
]
}

支持的类型和角色:

typerole含义
text提示词,可传多个文本项
image_urlimage单图生视频输入图
image_urlreference_image参考图片
image_urlfirst_frame首帧图片
image_urllast_frame尾帧图片
video_urlsource_video编辑或延长的源视频
video_urlreference_video参考视频
audio_urlreference_audio参考音频

输入约束:

  • content[] 至少包含一个非空文本项。
  • 图片最多 9 张,视频最多 3 段,音频最多 3 段。
  • first_framelast_frame 必须成对出现,且各只能有 1 张。
  • 首尾帧模式不能再混入视频、音频或其他图片。
  • imagereference_image 不要在同一请求中混用。
  • source_video 最多 1 段。
  • 参考音频必须同时存在至少一张图片或一段视频;不接受纯音频或“文本 + 音频”。
  • 使用多份参考素材时,可在提示词中按顺序使用 @Image1@Video1@Audio1 指定素材。

简单请求仍兼容 imageimageslast_imagevideovideosaudios 等字段;新功能和多模态组合建议使用 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
}

创建成功后保存 idtask_id,随后调用 GET /v1/videos/{task_id},直到任务进入 completedfailed。统一的轮询间隔、状态字段、错误结构、结果地址和鉴权下载方式见视频生成概览

Seedance 请求生成尾帧时,完成响应还可能包含 result.last_frame_url

7. 固定分辨率模型兼容

已有客户端可以继续使用固定分辨率模型名:

模型系列兼容模型名
Standardseedance2.0-480pseedance2.0-720pseedance2.0-1080pseedance2.0-4k
Fastseedance2.0-fast-480pseedance2.0-fast-720p
Miniseedance2.0-mini-480pseedance2.0-mini-720p

更早的以下名称也继续兼容:

  • seedance2.0-video-480p
  • seedance2.0-video-720p
  • seedance2.0-fast-video-480p
  • seedance2.0-fast-video-720p

固定分辨率模型从模型名确定分辨率,不要求额外传 resolution。它们与对应的新公共模型使用相同参数和能力;如仍传 resolutionsize,值必须与模型名中的分辨率一致。

新项目建议迁移到三个公共模型名,便于只修改请求参数即可切换输出分辨率。

8. 常见错误

场景结果修正方式
新公共模型缺少 resolution/sizeHTTP 400显式传入支持的分辨率
resolutionsize 不同HTTP 400只传一个,或保证值相同
aspect_ratioratio 冲突HTTP 400只传一个,或保证语义相同
缺少 durationHTTP 400415 的整数
content[] 没有文本项HTTP 400增加非空 type=text
首帧和尾帧没有成对传入HTTP 400同时传 first_framelast_frame
纯音频或“文本 + 音频”HTTP 400至少增加一张图片或一段视频
联网搜索请求包含媒体HTTP 400搜索请求只保留文本输入
图片、视频或音频数量超限HTTP 400分别控制在 9、3、3 个以内
使用 draftframescamera_fixedservice_tier=flexHTTP 400删除这些参数

遇到安全审核、素材格式或参数错误时,应修改输入后创建新任务,不要对同一无效请求进行高频重复提交。

9. 相关页面