功能说明
文生视频从提示词生成场景;首帧/首尾帧控制视频开始和结束的画面;多模态参考用于保持素材风格、动作或声音;视频编辑修改已有视频,视频延长增加前后内容。样片用于先预览效果,再生成正式成片,属于单独的 1.5 Pro 流程。
第一步:鉴权
在控制台 API 密钥取得青云 API Key。每次创建、查询和下载请求都发送以下请求头:
Authorization: Bearer YOUR_API_KEY将 YOUR_API_KEY 替换为自己的 Key,保留 Bearer 和其后一个空格。无需先请求登录接口。
第二步:调用模型生成
POST https://top.qingyuntop.ai/doubao/api/v3/contents/generations/tasks
请求头另加 Content-Type: application/json。创建返回 id 后,使用查询任务等待 succeeded,并下载视频。
基础参数
| 参数 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
model | string | 是 | 青云开放的完整模型 ID,见模型表。 |
content | object[] | 是 | 至少包含有效文本或素材;多段 text 会合并,其他项保留角色与顺序。 |
content[].type | string | 是 | text、image_url、video_url、audio_url,或样片的 draft_task。 |
content[].text | string | text 项必填 | 支持中英文,中文建议不超过 500 字;对话用引号标识。 |
content[].image_url.url | string | 图片项必填 | 可直读 HTTPS URL 或带 MIME 的 data URL;本机文件路径无效。 |
content[].video_url.url | string | 视频项必填 | 可直读的视频 URL,角色为 reference_video。 |
content[].audio_url.url | string | 音频项必填 | 可直读的音频 URL,角色为 reference_audio。 |
content[].role | string | 按场景 | 图片选 first_frame、last_frame 或 reference_image;视频选 reference_video;音频选 reference_audio。 |
duration | integer | 建议 | 2.5 为 4–30;2.0 为 4–15;1.5 为 4–12;1.0 Pro 为 2–12 秒。1.5 及以上支持 -1 智能时长;2.5 编辑必须 -1。 |
生成选项
这些字段放在请求体顶层,无需 metadata 包裹。
| 参数 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
resolution | string | 否 | 见模型表;2.5、2.0、1.5 默认 720p,1.0 Pro 默认 1080p。 |
ratio | string | 否 | 16:9、9:16、1:1、4:3、3:4、21:9 或 adaptive。2.5、2.0、1.5 默认 adaptive;2.5 首尾帧、编辑和延长只允许 adaptive。 |
generate_audio | boolean | 否 | 1.5 Pro、2.0 系列及 2.5 支持,默认 true;false 输出无声视频。 |
watermark | boolean | 否 | 是否添加水印,官方默认 false。 |
return_last_frame | boolean | 否 | 默认 false;true 时成功结果可带 content.last_frame_url,样片模式不支持。 |
seed | integer | 否 | 1.0 Pro、1.5 Pro 支持,范围 -1 至 2147483647;默认 -1 随机。相同种子不保证结果完全一致。 |
camera_fixed | boolean | 否 | 1.0 Pro、1.5 Pro 的镜头固定提示,默认 false,参考图模式不支持。 |
omni_reference_task_type | string | 否 | 2.5 使用 auto、reference、edit、extend;默认 auto。edit 要求参考视频 4–30 秒、ratio=adaptive、duration=-1。 |
output_format | string | 否 | 2.5 支持 mp4(默认)或 mov。选择 mov 后文件后缀也应改为 .mov。 |
frames | integer | 否 | 1.0 Pro 可用,29–289 且满足 25+4n;与 duration 二选一,官方 frames 优先。 |
draft | boolean | 否 | 1.5 Pro 样片模式,默认 false;true 必须 480p,不支持 return_last_frame 和 flex。 |
service_tier | string | 否 | default 或 flex;2.0/2.5 不支持 flex,不要把官方折扣直接当作青云价格。 |
execution_expires_after | integer | 否 | 上游任务过期秒数,3600–259200,默认 172800;不是客户端超时。 |
priority | integer | 否 | 2.0/2.5 队列优先级,0–9,默认 0。 |
safety_identifier | string | 否 | 业务端用户标识,使用不含个人敏感信息的标识。 |
tools | object[] | 否 | 官方扩展工具配置,2.0/2.5 支持的具体项以官方说明和青云实际能力为准。 |
callback_url | string | 否 | 接收模型服务状态通知的公网地址。回调中的任务号不保证与本站 ID 相同,也不采用本站 API Key 验签。本指南推荐使用本站 GET 查询确认任务结果。 |
参数是否可用由所选模型决定;同一参数不一定适用于所有模型。不要把 seed、camera_fixed、draft 同时套用到所有 2.0/2.5 请求。
文生视频代码
cURL 使用 Bash 语法;Python 先安装 requests;Node.js 使用 22+ 并保存为 .mjs。示例中的 Key、素材 URL 和任务 ID 都需要替换。
curl --fail-with-body "https://top.qingyuntop.ai/doubao/api/v3/contents/generations/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "一只橙色的猫走过雨后屋顶,镜头缓慢推进,柔和的傍晚光线,伴随轻微雨声。"
}
],
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
"generate_audio": true
}'图生与首尾帧
下面 JSON 可直接替换上面的请求体。素材 URL 需要替换,2.5 的首尾帧必须 ratio: adaptive。只用首帧时删除 last_frame 项。
{
"model": "doubao-seedance-2-5-260628",
"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"
}
],
"duration": 5,
"resolution": "720p",
"ratio": "adaptive"
}视频和音频参考
参考模式的图片角色使用 reference_image,不使用 first_frame。2.5 可以仅有音频输入;2.0 音频必须搭配图片或视频。
{
"model": "doubao-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "参考视频中的镜头运动和音频的节奏,生成一段产品展示视频。"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/reference.mp4"
},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://example.com/music.mp3"
},
"role": "reference_audio"
}
],
"omni_reference_task_type": "reference",
"duration": 5,
"resolution": "720p",
"ratio": "16:9",
"generate_audio": true
}| 素材 | 2.5 | 2.0 系列 |
|---|---|---|
| 参考图片 | 最多 30 张 | 最多 9 张 |
| 参考视频 | 最多 10 个,总计 ≤30 秒;单个 2–30 秒;编辑用 4–30 秒 | 最多 3 个,总计 ≤15 秒;单个 2–15 秒 |
| 参考音频 | 最多 10 段,总计 ≤30 秒,单段 2–30 秒 | 最多 3 段,总计 ≤15 秒,单段 2–15 秒,搭配图或视频 |
官方素材限制:单图小于 30 MB,宽高 300–6000 px、宽高比 0.4–2.5;视频 MP4/MOV、单个 ≤200 MB;音频 WAV/MP3、单个 ≤15 MB;请求体 ≤64 MB。青云实际网关也可能施加更小的请求体限制。图片使用 data URL 时保留 data:image/…;base64, 前缀,视频和音频示例使用 HTTPS 文件地址。
Seedance 2.5 视频编辑与延长
编辑修改参考视频:content 至少一个 reference_video,提示词明确修改要求,使用下列完整请求体。模型仍会根据提示词判定任务,判定与指定类型不符可能异步失败。
{
"model": "doubao-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "编辑参考视频,将背景改为傍晚海滩,保持主体动作和镜头顺序。"
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/source.mp4"
},
"role": "reference_video"
}
],
"omni_reference_task_type": "edit",
"duration": -1,
"ratio": "adaptive",
"resolution": "720p"
}延长视频:将 omni_reference_task_type 改为 extend,保持 ratio: adaptive,并把提示词改为“延续参考视频结尾的动作……”。可使用 duration: -1 由模型决定时长;不要把任意视频的任务 ID 填入 draft_task。
Seedance 1.5 Pro 样片转正式视频
先创建样片,等待 succeeded:
{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "text",
"text": "一只橙色的猫走过雨后屋顶,镜头缓慢推进,柔和的傍晚光线,伴随轻微雨声。"
}
],
"duration": 5,
"ratio": "16:9",
"resolution": "480p",
"draft": true
}确认效果后,将返回的青云样片 ID 替换 task_draft_example,创建正式视频。请原样使用创建响应中的 ID,来源必须是同账号可访问的样片任务。
{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "draft_task",
"draft_task": {
"id": "task_draft_example"
}
}
],
"resolution": "720p",
"draft": false
}这是复用样片输入生成正式成片,不是视频延长。正式请求无需重填 prompt 或 duration。样片转正式视频请使用本页的豆包原生格式,不要将该请求直接发到统一 /v1/videos。
创建响应
{
"id": "task_doubao_example"
}响应 id 是青云任务 ID,不必具有上游 cgt-… 前缀。保存原值并按查询、下载与错误处理继续。