功能说明

文生视频从提示词生成场景;首帧/首尾帧控制视频开始和结束的画面;多模态参考用于保持素材风格、动作或声音;视频编辑修改已有视频,视频延长增加前后内容。样片用于先预览效果,再生成正式成片,属于单独的 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,并下载视频。

基础参数

参数类型必填详细说明
modelstring是青云开放的完整模型 ID,见模型表。
contentobject[]是至少包含有效文本或素材;多段 text 会合并,其他项保留角色与顺序。
content[].typestring是text、image_url、video_url、audio_url,或样片的 draft_task。
content[].textstringtext 项必填支持中英文,中文建议不超过 500 字;对话用引号标识。
content[].image_url.urlstring图片项必填可直读 HTTPS URL 或带 MIME 的 data URL;本机文件路径无效。
content[].video_url.urlstring视频项必填可直读的视频 URL,角色为 reference_video。
content[].audio_url.urlstring音频项必填可直读的音频 URL,角色为 reference_audio。
content[].rolestring按场景图片选 first_frame、last_frame 或 reference_image;视频选 reference_video;音频选 reference_audio。
durationinteger建议2.5 为 4–30;2.0 为 4–15;1.5 为 4–12;1.0 Pro 为 2–12 秒。1.5 及以上支持 -1 智能时长;2.5 编辑必须 -1。

生成选项

这些字段放在请求体顶层,无需 metadata 包裹。

参数类型必填详细说明
resolutionstring否见模型表;2.5、2.0、1.5 默认 720p,1.0 Pro 默认 1080p。
ratiostring否16:9、9:16、1:1、4:3、3:4、21:9 或 adaptive。2.5、2.0、1.5 默认 adaptive;2.5 首尾帧、编辑和延长只允许 adaptive。
generate_audioboolean否1.5 Pro、2.0 系列及 2.5 支持,默认 true;false 输出无声视频。
watermarkboolean否是否添加水印,官方默认 false。
return_last_frameboolean否默认 false;true 时成功结果可带 content.last_frame_url,样片模式不支持。
seedinteger否1.0 Pro、1.5 Pro 支持,范围 -1 至 2147483647;默认 -1 随机。相同种子不保证结果完全一致。
camera_fixedboolean否1.0 Pro、1.5 Pro 的镜头固定提示,默认 false,参考图模式不支持。
omni_reference_task_typestring否2.5 使用 auto、reference、edit、extend;默认 auto。edit 要求参考视频 4–30 秒、ratio=adaptive、duration=-1。
output_formatstring否2.5 支持 mp4(默认)或 mov。选择 mov 后文件后缀也应改为 .mov。
framesinteger否1.0 Pro 可用,29–289 且满足 25+4n;与 duration 二选一,官方 frames 优先。
draftboolean否1.5 Pro 样片模式,默认 false;true 必须 480p,不支持 return_last_frame 和 flex。
service_tierstring否default 或 flex;2.0/2.5 不支持 flex,不要把官方折扣直接当作青云价格。
execution_expires_afterinteger否上游任务过期秒数,3600–259200,默认 172800;不是客户端超时。
priorityinteger否2.0/2.5 队列优先级,0–9,默认 0。
safety_identifierstring否业务端用户标识,使用不含个人敏感信息的标识。
toolsobject[]否官方扩展工具配置,2.0/2.5 支持的具体项以官方说明和青云实际能力为准。
callback_urlstring否接收模型服务状态通知的公网地址。回调中的任务号不保证与本站 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.52.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-… 前缀。保存原值并按查询、下载与错误处理继续。