创建视频生成任务
火山官方格式
POST /api/v3/contents/generations/tasks
Authorization: Bearer <API_KEY>
Content-Type: application/json顶层参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称,当前为 doubao-seedance-2-0-260128 |
content | array | 是 | 文本和参考素材列表 |
resolution | string | 否 | 480p、720p、1080p,默认 720p |
ratio | string | 否 | 默认 adaptive;可选 16:9、4:3、1:1、3:4、9:16、21:9、adaptive |
duration | integer | 否 | 4~15 秒,或官方特殊值 -1 |
seed | integer | 否 | -1~4294967295,-1 表示随机 |
generate_audio | boolean | 否 | true 生成同步音频,false 生成无声视频;请显式传值 |
watermark | boolean | 否 | true 添加水印,false 不添加水印;请显式传值 |
return_last_frame | boolean | 否 | true 时在查询结果的 content.last_frame_url 返回生成视频的尾帧;请显式传值 |
callback_url | string | 否 | HTTP/HTTPS 回调地址 |
execution_expires_after | integer | 否 | 任务有效期,3600~259200 秒,官方默认 172800 秒 |
safety_identifier | string | 否 | 终端用户固定且唯一的英文标识,最长 64 个字符,建议使用用户标识的哈希值 |
tools | array | 否 | 模型工具列表;仅传当前服务明确开放的工具类型 |
duration=-1 表示由 Seedance 2.0 在 4~15 秒范围内自动选择最终整数时长。平台创建阶段按 15 秒预扣,任务完成后按实际 Token 用量结算。
content 素材类型
type | 地址字段 | 常用 role | 用途 |
|---|---|---|---|
text | text | 无 | 提示词 |
image_url | image_url.url | reference_image | 参考图片 |
image_url | image_url.url | first_frame | 输入首帧 |
image_url | image_url.url | last_frame | 输入尾帧 |
video_url | video_url.url | reference_video | 参考视频 |
audio_url | audio_url.url | reference_audio | 参考音频 |
普通参考图使用 reference_image,输入首帧和尾帧分别使用 first_frame、last_frame。三者语义不同,不能互相替代。系统不会因为只上传一张或两张图片,就自动把普通参考图改成首帧或首尾帧。
官方素材限制
| 素材 | Seedance 2.0 限制 |
|---|---|
| 参考图片 | 最多 9 张;JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC、HEIF;单张 <30 MB;宽高各 300~6000 px;宽高比 0.4~2.5 |
| 参考视频 | 最多 3 个;单个 2~15 秒,所有参考视频总时长不超过 15 秒;MP4、MOV;单个 <=200 MB;24~60 FPS;宽高各 300~6000 px;宽高比 0.4~2.5 |
| 参考音频 | 最多 3 段;单段 2~15 秒,所有参考音频总时长不超过 15 秒;WAV、MP3;单段 <=15 MB |
Seedance 2.0 不支持仅提供参考音频;使用参考音频时,请至少同时提供一张参考图片或一个参考视频。图片或音频使用 Base64 时,整个请求体不得超过 64 MB;大文件建议使用公网 URL 或对应素材库。
普通参考图或参考视频不能直接携带未授权真人人脸。真人场景请使用平台支持的已授权真人素材、预置虚拟人像,或官方允许二次创作的受信模型原始产物。
场景组合规则
| 场景 | content 组合 | 规则 |
|---|---|---|
| 文生视频 | 文本 | 不传图片、视频或音频素材 |
| 首帧生成 | 文本 + 1 张 first_frame | 严格首帧模式 |
| 首尾帧生成 | 文本 + 1 张 first_frame + 1 张 last_frame | 两张图比例不同时,尾帧按首帧比例居中裁剪 |
| 全模态参考 | 文本 + reference_image / reference_video / reference_audio | 可单用或组合参考素材,但需遵守上表数量和总时长限制 |
首帧、首尾帧、全模态参考是三类互斥场景,不要在同一请求中混用 first_frame / last_frame 与 reference_image / reference_video / reference_audio。全模态场景虽可在提示词中说明某张参考图作为起始或结束画面,但不等同于严格首尾帧约束。
限制来源:火山方舟—创建视频生成任务。实际请求还会受本平台素材库状态、模型权限和价格配置限制。
素材地址可使用公网 HTTPS URL,也可使用新版素材库返回的 asset://<asset_id>。使用素材库引用时,系统会校验素材归属、状态和类型,并将 asset:// 标识原样传给上游,以保留素材库及真人素材的授权上下文。不要自行换成素材详情里的动态签名 URL。
文生视频
{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "海边日落,镜头缓慢向前推进,电影质感"}
],
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true,
"watermark": false
}参考图片
{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "保持人物外观一致,在雨中缓慢回头"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/character.png"},
"role": "reference_image"
}
],
"resolution": "720p",
"ratio": "adaptive",
"duration": 5
}参考视频和音频
{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "参考运镜和节奏,保持主体身份一致"},
{
"type": "video_url",
"video_url": {"url": "asset://asset_video"},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {"url": "asset://asset_audio"},
"role": "reference_audio"
}
],
"resolution": "1080p",
"ratio": "adaptive",
"duration": 8,
"generate_audio": true
}首帧生成
{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "人物缓慢转身看向镜头,动作自然连贯"},
{
"type": "image_url",
"image_url": {"url": "asset://asset_first"},
"role": "first_frame"
}
],
"resolution": "720p",
"ratio": "adaptive",
"duration": 5,
"generate_audio": true,
"watermark": false
}首尾帧生成
{
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "从起始姿态自然过渡到结束姿态,主体与场景保持一致"},
{
"type": "image_url",
"image_url": {"url": "asset://asset_first"},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {"url": "asset://asset_last"},
"role": "last_frame"
}
],
"resolution": "720p",
"ratio": "adaptive",
"duration": 5,
"generate_audio": true,
"watermark": false,
"return_last_frame": true
}这里的 return_last_frame 只控制是否返回新生成视频的尾帧,不代表输入尾帧。输入尾帧必须放在 content[] 中并使用 role: "last_frame"。
OpenAI 兼容格式
POST /v1/video/generations
Authorization: Bearer <API_KEY>
Content-Type: application/json兼容参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称 |
prompt | string | 是 | 视频提示词 |
size | string | 是 | 480p、720p、1080p |
seconds | string | 是 | 视频时长字符串,当前模型为 "4"~"15",也可传 "-1" |
metadata | object | 否 | 生成控制和回调参数 |
first_frame | string | 否 | 首帧图片 URL |
last_frame | string | 否 | 尾帧图片 URL |
audio_url | string[] | 否 | 参考音频 URL 列表 |
video_url | string[] | 否 | 参考视频 URL 列表 |
images | string[] | 否 | 普通参考图片 URL 列表 |
metadata 可包含 seed、generate_audio、safety_identifier、callback_url、watermark、return_last_frame 和 execution_expires_after。这些字段的范围与火山官方格式相同。
{
"model": "doubao-seedance-2-0-260128",
"prompt": "海边日落,镜头缓慢向前推进",
"size": "720p",
"seconds": "5",
"metadata": {
"seed": 1024,
"generate_audio": true,
"safety_identifier": "user-hash",
"callback_url": "https://your.example.com/webhooks/seedance",
"watermark": false,
"return_last_frame": true,
"execution_expires_after": 172800
},
"first_frame": "https://example.com/first.png",
"last_frame": "https://example.com/last.png",
"audio_url": ["https://example.com/reference.mp3"],
"video_url": ["https://example.com/reference.mp4"],
"images": ["https://example.com/reference.png"]
}OpenAI 兼容创建成功后返回:
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "doubao-seedance-2-0-260128",
"status": "queued",
"progress": 0,
"created_at": 1787535000
}兼容入口最终仍按同一模型边界校验。新接入请使用 POST。为兼容早期客户端,平台仍接收 PUT,但会在网关内转换成上游实际支持的 POST。
重要边界
- 当前标准模型时长为 4~15 秒,或使用
-1。使用-1时由模型决定最终时长,创建阶段按 15 秒预扣,完成后按查询结果中的实际 Token 用量结算并多退少补。 - 当前标准模型支持
480p、720p、1080p。 - Seedance 2.0 最多支持 9 张参考图片、3 段参考视频和 3 段参考音频;超出上限会被拒绝。
adaptive表示由参考素材或模型决定画面比例;无参考素材时建议明确传入比例。- 请求分辨率必须同时受到模型能力和后台价格配置支持。
- 素材必须可访问;使用
asset://时必须属于当前用户和当前渠道,且状态为ACTIVE。 - 参考视频会触发“有视频输入”价格档位。
callback_url必须是解析到公网地址、使用 80/443 端口的 HTTP/HTTPS URL;内网、回环、本地路径和非 HTTP 协议会被拒绝。
旧项目继续使用 POST /v1/videos 及旧版模型名,详见旧版接口。