爱虾AI文档中心

Doubao Seedance 2.x 视频生成

功能概览

本页用于说明 Doubao Seedance 2.x 视频生成 的核心能力、调用入口和接入要点,帮助开发者快速判断适用场景并完成集成。

适用场景

  • 产品原型验证:快速接入模型能力,验证内容生成、理解或编辑流程。
  • 生产业务接入:用于批量任务、自动化工作流和多模型组合调用。
  • 能力迁移适配:适合从原有模型或 SDK 平滑切换到爱虾AI统一接口。

接入建议

  • 优先确认模型名称、请求路径和响应字段,再接入具体业务流程。
  • 对异步任务、媒体生成和长耗时请求,建议在业务侧加入重试与状态轮询。
  • 上线前建议准备日志追踪、错误处理和内容安全校验,便于稳定运行。

模型与网关限制

平台模型名对应上游模型 ID分辨率网关允许时长
doubao-seedance-2.5doubao-seedance-2-5-260628480p720p1080p4-15 秒
doubao-seedance-2.0doubao-seedance-2-0-260128480p720p1080p4k4-15 秒
doubao-seedance-2.0-fastdoubao-seedance-2-0-fast-260128480p720p4-15 秒
doubao-seedance-2.0-minidoubao-seedance-2-0-mini-260615480p720p4-15 秒

请求中推荐使用左列的平台模型名。网关会根据已配置的上游模型转发请求。fastmini 传入 1080p4k 会返回 400。

火山方舟官方可能提供更长时长或更多参数组合;以本接口的 4-15 秒限制为准。

鉴权与异步结算

所有请求均使用 Bearer 鉴权:

Authorization: Bearer <API_KEY>
Content-Type: application/json

官方兼容接口

官方兼容创建路径:

POST https://api.yisu-api.com/api/v3/contents/generations/tasks

查询、列表和取消路径:

GET    https://api.yisu-api.com/api/v3/contents/generations/tasks/{task_id}
GET    https://api.yisu-api.com/api/v3/contents/generations/tasks?page_num=1&page_size=20
DELETE https://api.yisu-api.com/api/v3/contents/generations/tasks/{task_id}

官方兼容接口透传火山方舟的任务结构。使用官方的 content 格式时,可使用文本、参考图片、参考视频、参考音频等输入。提交前请阅读下方参数说明,确认输入组合与模型限制。

文生视频

curl "https://api.yisu-api.com/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2.5",
    "content": [
      {
        "type": "text",
        "text": "清晨的海岸公路,镜头缓慢向前推进,电影感自然光。"
      }
    ],
    "ratio": "16:9",
    "duration": 4,
    "resolution": "480p",
    "generate_audio": false,
    "watermark": false
  }'

图生视频

curl "https://api.yisu-api.com/api/v3/contents/generations/tasks" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2.0",
    "content": [
      {
        "type": "text",
        "text": "让参考图中的产品缓慢旋转,背景光影轻微流动。"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://example.com/product.png"
        },
        "role": "reference_image"
      }
    ],
    "ratio": "1:1",
    "duration": 4,
    "resolution": "480p",
    "generate_audio": false
  }'

参考视频和音频分别使用 video_urlaudio_url,并设置 rolereference_videoreference_audio。可用的数量与任务类型以火山方舟官方文档为准。

创建响应示例

{
  "id": "cgt-xxxxxxxxxxxxxxxx",
  "model": "doubao-seedance-2-5-260628",
  "status": "queued",
  "created_at": 1780000000
}

任务状态通常为 queuedrunningsucceededfailedcancelledexpired。成功响应的 content.video_url 是视频地址。

查询任务

curl "https://api.yisu-api.com/api/v3/contents/generations/tasks/cgt-xxxxxxxxxxxxxxxx" \
  -H "Authorization: Bearer <API_KEY>"

任务未完成时继续轮询。建议每 5-10 秒查询一次,避免高频轮询。

OpenAI Videos API 兼容接口

OpenAI 兼容路径:

POST   https://api.yisu-api.com/v1/videos
GET    https://api.yisu-api.com/v1/videos/{video_id}
GET    https://api.yisu-api.com/v1/videos/{video_id}/content
GET    https://api.yisu-api.com/v1/videos
DELETE https://api.yisu-api.com/v1/videos/{video_id}

该接口兼容 OpenAI 的路径、任务对象与视频下载方式,但 Seedance 的核心生成参数仍使用 ratiodurationresolution。不要用 seconds 代替 duration,也不要只传 size 期待其转换为上游分辨率。

文生视频

curl "https://api.yisu-api.com/v1/videos" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2.0-fast",
    "prompt": "雨后城市街道,霓虹灯在积水中倒映,镜头缓慢平移。",
    "ratio": "16:9",
    "duration": 4,
    "resolution": "480p",
    "generate_audio": false,
    "watermark": false
  }'

图生视频

OpenAI 兼容写法可用顶层 imageimages。网关会转换为上游的 content.image_url 结构。

curl "https://api.yisu-api.com/v1/videos" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2.0-mini",
    "prompt": "让参考图中的人物回头看向镜头,保持人物外观一致。",
    "images": [
      "https://example.com/person.png"
    ],
    "ratio": "9:16",
    "duration": 4,
    "resolution": "480p",
    "generate_audio": false
  }'

也可传递 video / videosaudio / audios,分别转换为参考视频和参考音频。需要使用首尾帧或高级参数时,请在 /v1/videos 路径直接传递官方 content 数组;编辑、延长任务还需遵守下方参数说明中的模型与任务类型限制。

OpenAI 兼容响应

创建或查询时,网关将上游任务对象转换为以下格式,并在 upstream_response 中保留原始任务响应:

{
  "id": "cgt-xxxxxxxxxxxxxxxx",
  "object": "video",
  "created": 1780000000,
  "model": "doubao-seedance-2-0-fast-260128",
  "status": "queued",
  "content": null,
  "error": null,
  "upstream_response": {}
}

状态映射如下:

上游状态OpenAI 兼容状态
queuedpendingcreatedqueued
runningprocessingin_progress
succeededsuccessdonecompleted
failederrorfailed
cancelledcanceleddeletedcancelled

下载视频

任务状态为 completed 后,可由兼容下载接口直接获取 MP4:

curl "https://api.yisu-api.com/v1/videos/cgt-xxxxxxxxxxxxxxxx/content" \
  -H "Authorization: Bearer <API_KEY>" \
  --output output.mp4

若任务尚未产生视频,接口返回 HTTP 409 及任务信息。

参数说明

以下说明依据火山方舟《创建视频生成任务》文档(官方页面更新于 2026-09-09),并结合当前网关的转发规则整理。两个创建路径使用相同的参数处理逻辑;输出时长按本页的 4-15 秒范围提交,不能直接照搬官方 Seedance 2.5 的 30 秒示例。

请求格式与参数优先级

请求体使用 JSON,Content-Typeapplication/json。整数直接传数字,布尔值传 true / false,不要传字符串 "false"

  • 完整写法: 传入 model 和非空的 content 数组,生成参数放在与 content 同级的请求体顶层。适合首尾帧、多模态参考、回调及其他官方参数。
  • 简写方式: 不传 content,改用 prompt 和顶层 image / imagesvideo / videosaudio / audios。网关将这些字段转换为官方 content 结构。
  • 不要混用: 一旦传入数组形式的 content,网关不会再把顶层 promptimages 等字段合并进去;提示词与素材应全部放入 content。不要传空数组并期待网关补入 prompt
  • 高级参数使用完整写法: 简写方式仅保留转换后的内容以及 ratiodurationresolutiongenerate_audiowatermarkseedcallback_urlreturn_last_frameoutput_format 等参数需要随 content 一起提交,否则不会转发。

基础生成参数

参数类型是否必填 / 默认值详细说明
modelstring必填使用上方模型表中的平台模型名,例如 doubao-seedance-2.0。不要填写自己的火山方舟 Endpoint ID;本接口使用爱虾AI已配置的上游模型。
contentobject[]完整写法必填非空的输入内容列表,每项通过 type 指定文本、图片、视频或音频。结构与组合限制见下文。
promptstring简写方式使用描述主体、动作、场景、镜头、风格及声音。文生视频需要提供提示词;使用完整写法时改填 content[].text。建议中文不超过 500 字、英文不超过 1000 词,这是效果建议,不是接口硬性字数上限。
durationinteger本接口请显式填写输出视频时长,单位为秒,按 4-15 的整数提交,例如 6,不是 "6"。本页不使用官方的 -1 智能时长或 16-30 秒配置;省略时网关不会补入统一的上游默认时长。不要用 frames 或提示词参数代替。
resolutionstring上游默认 720p,建议显式填写输出清晰度。2.5 支持 480p720p1080p;2.0 额外支持 4k;fast / mini 仅支持 480p720p。不支持 2k。请使用小写枚举,不要填写 1920x1080 等像素尺寸。
ratiostring上游默认 adaptive输出宽高比,可选 16:94:31:13:49:1621:9adaptiveadaptive 表示根据输入与任务类型自动适配。Seedance 2.5 的首帧、首尾帧、视频编辑和延长任务只能使用 adaptive;其他场景可按模型规则指定比例。
generate_audioboolean可选,默认 truetrue 生成与画面同步的人声、音效或背景音乐;false 输出无声视频。需要台词时可在提示词中用双引号标出台词。官方生成的有声视频为单声道,和参考音频的声道数无关。
watermarkboolean可选,默认 falsetrue 在视频右下角添加“AI 生成”水印;false 不添加该可见水印。

输出像素尺寸由 resolutionratio 共同决定。参考图片比例与输出比例不一致时,上游可能居中裁剪;首尾帧比例不一致时以首帧为主,尾帧会裁剪适配。

Seedance 2.5 的 1080p、Seedance 2.0 的 4k 输出采用 10bit 位深及 H.265/HEVC 编码,播放端需要支持对应编码。

content 数组结构

每一项是独立对象。type、对应的素材对象或 text、以及 role 都放在该项内;role 不要写入 image_url / video_url / audio_url 对象中。

字段类型使用条件说明
content[].typestring每项必填本页使用 textimage_urlvideo_urlaudio_url 四种类型。
content[].textstringtype=text 时必填文本提示词。支持中文、英文;多素材场景可描述每个素材的用途,例如参考哪张图的主体、哪个视频的动作、哪段音频的节奏。
content[].image_urlobjecttype=image_url 时必填图片对象,内部使用 url 字段。
content[].image_url.urlstring图片对象内必填图片公网 URL 或 data:image/png;base64,<编码内容> 等图片 Data URL;格式名小写。图片角色见下表。
content[].video_urlobjecttype=video_url 时必填视频对象,内部使用 url 字段。
content[].video_url.urlstring视频对象内必填视频公网 URL,例如 https://example.com/motion.mp4;官方此字段没有视频 Base64 输入方式。
content[].audio_urlobjecttype=audio_url 时必填音频对象,内部使用 url 字段。
content[].audio_url.urlstring音频对象内必填音频公网 URL 或 data:audio/wav;base64,<编码内容> 等音频 Data URL;格式名小写。
content[].rolestring素材项按用途填写图片使用 first_framelast_framereference_image;视频使用 reference_video;音频使用 reference_audio。文本项不需要此字段。

素材 URL 必须能被上游服务访问,不能使用本机路径、localhost 或内网地址。带有效期的签名 URL 应覆盖上游读取素材的时间。官方还定义了 asset://<ASSET_ID> 素材引用,但其可用性取决于上游账号的素材权限;通过本接口调用时优先使用公网 URL,不要默认自己的火山账号素材 ID 可以跨账号使用。

图片角色与任务组合

场景提交方式约束
文生视频text提供描述目标视频的提示词。
首帧生视频1 个 image_url 项,role=first_frame,可加文本官方单图首帧场景允许省略 role;为避免与参考图混淆,建议显式填写。
首尾帧生视频2 个 image_url 项,分别为 first_framelast_frame,可加文本两张图片的 role 都必填;图片可以相同。不能仅传尾帧。
全模态参考图片为 reference_image,视频为 reference_video,音频为 reference_audio,可加文本可组合多种参考素材,数量与大小见下表。Seedance 2.0 系列不能仅传音频,至少需要一张参考图或一个参考视频;2.5 支持仅传音频。

首帧、首尾帧、全模态参考是互斥场景。 不要在同一请求中同时传 first_frame / last_framereference_image / reference_video / reference_audio。若希望以参考图控制起止画面,可在全模态参考提示词中描述;需要严格指定首尾帧时,使用首尾帧角色。

参考素材数量与时长

以下为官方输入素材限制,和本接口 输出视频 4-15 秒 的范围分别计算。首帧 / 首尾帧任务仍分别只传 1 / 2 张图片。

参考素材Seedance 2.0 / fast / miniSeedance 2.5
图片最多 9 张最多 30 张
视频最多 3 个;单个 2-15 秒,全部视频合计不超过 15 秒最多 10 个;参考生成场景单个 2-30 秒,全部视频合计不超过 30 秒
音频最多 3 段;单段 2-15 秒,全部音频合计不超过 15 秒;不能只传音频最多 10 段;单段 2-30 秒,全部音频合计不超过 30 秒;可仅传音频
素材文件与尺寸要求
图片支持 jpegpngwebpbmptiffgifheicheif;单张小于 30 MB;宽和高各为 300-6000 px,宽高比为 0.4-2.5。
视频支持 mp4mov,编码需满足官方要求;单个不超过 200 MB;帧率 24-60 FPS;宽和高各为 300-6000 px,宽高比为 0.4-2.5,总像素数为 407696-8295044。
音频支持 wavmp3;单段不超过 15 MB。
请求体官方上限为 64 MB,实际还受接入网关的请求体限制;Base64 会增加体积,大文件请使用公网 URL。

含真人人脸的图片、视频等特殊素材还需符合官方素材使用规则;接口能够接收 URL 不代表上游一定接受该素材。

简写素材参数

这些参数仅在未传 content 数组时转换生效。完整写法与简写方式在两个创建路径上都可以使用。

参数类型转换结果与注意事项
image / imagesstring / string[]image 传单个图片 URL,images 传 URL 数组;均转换成 role=reference_image,不会变成首帧。需要首帧 / 尾帧时使用 content
video / videosstring / string[]单个视频 URL 或 URL 数组,转换成 role=reference_video
audio / audiosstring / string[]单个音频 URL 或 URL 数组,转换成 role=reference_audio;仍需遵守 2.0 系列不能仅传音频的限制。

同一类素材只选单数或复数形式;同时提供时,网关优先取单数字段,不会合并两个字段。推荐统一使用复数数组形式。

高级参数:随 content 一起提交

以下字段放在 JSON 顶层,不能放进 content 的文本项。网关透传这些字段,最终是否接受及如何执行由所选上游模型决定。

参数类型 / 默认值适用范围与说明
return_last_frameboolean,默认 falsetrue 时在查询结果 content.last_frame_url 返回尾帧 PNG;其尺寸与视频一致,尾帧图像无水印。可将其作为下一次请求的 first_frame
callback_urlstring,无默认值接收上游任务状态通知的公网地址。上游向该地址发送 POST,内容结构与官方查询任务返回体一致;不是 /v1/videos 包装后的响应格式。详见下文。
execution_expires_afterinteger,默认 172800从任务 created_at 开始计算的超时秒数,官方范围 3600-259200。本平台后台按 48 小时处理过期任务,建议不超过 172800;超过期限任务会成为 expired
priorityinteger,默认 02.5、2.0 系列支持,范围 0-9。数值越大越优先,只影响同一上游 Endpoint 内的排队顺序,不中断运行中的任务,也不保证立即执行。
safety_identifierstring,无默认值终端用户稳定且唯一的英文标识,最长 64 字符。建议使用用户 ID 的哈希值。
toolsobject[],可选2.5、2.0 系列的官方工具配置,例如 [{"type":"web_search"}]。模型自主决定是否搜索,可能增加耗时;搜索次数见官方查询响应 usage.tool_usage.web_search。具体开通情况以调用通道为准。
output_formatstring,默认 mp4仅 2.5mp4 用于通用播放;mov 用于专业后期处理。选择 mov 后应按实际格式保存,不要固定命名为 .mp4;建议从官方查询结果的 content.video_url 获取文件。
omni_reference_task_typestring,默认 auto仅 2.5 的全模态任务。官方值为 autoreferenceeditextend,含义及约束见下文。

Seedance 2.5 任务类型约束

取值官方含义提交注意事项
auto根据素材与提示词自动判定判定后发现参数不兼容,可能异步返回 InvalidParameter.TaskTypeConstraint
reference使用参考素材生成新视频建议普通参考生成任务明确指定,输出时长仍按本页 4-15 秒提交。
extend向前或向后延长参考视频至少包含一个 reference_videoratio 必须为 adaptive;提示词明确描述延长意图。
edit编辑原视频画面或音频官方要求至少一个 4-30 秒的 reference_videoratio=adaptiveduration=-1。这与本页采用的固定 4-15 秒提交范围不同,本页不提供该模式的可直接套用示例。

显式指定任务类型会让上游提前校验部分约束,但模型仍会结合提示词判断实际任务类型;两者不一致时,可能异步返回 InvalidParameter.TaskTypeMismatch

回调处理

callback_url 可收到 queuedrunningsucceededfailedexpired 状态。官方说明成功、失败通知在 5 秒内未收到成功响应时会重试,接收端应及时返回成功状态,并按任务 ID 与状态去重处理。回调地址不要填写本机或内网地址;仍建议保留轮询,避免漏收通知后无法取得结果。

不要直接套用的其他官方参数

官方参考页同时覆盖 Seedance 1.x。下列参数虽可能被网关透传,但官方当前未将其列为本文 2.5 / 2.0 系列的支持能力,不应作为本页模型的可用参数提交:

参数官方范围或用途本页模型的处理建议
seed随机种子,默认 -1,范围 -1 至 2147483647;官方列出的支持模型为 1.5 pro、1.0 pro / pro fast2.x 请求中省略;不能承诺通过固定种子复现结果。
frames按帧数控制时长,官方支持模型为 1.0 pro / pro fast2.x 使用 duration
camera_fixed固定摄像头,官方支持模型为 1.5 pro、1.0 pro / pro fast通过提示词描述固定镜头,不保证效果。
draftcontent[].draft_task样片与基于样片生成正式视频,官方支持模型为 1.5 pro本页模型不使用样片模式。

完整请求示例:首尾帧与尾帧返回

以下请求使用 2.0 模型。改为 2.5 时,首帧 / 首尾帧场景必须保持 ratio=adaptive。在 /v1/videos 路径也可提交相同请求体。

{
  "model": "doubao-seedance-2.0",
  "content": [
    {"type": "text", "text": "镜头缓慢推进,让首帧场景自然过渡到尾帧场景。"},
    {
      "type": "image_url",
      "image_url": {"url": "https://example.com/start.png"},
      "role": "first_frame"
    },
    {
      "type": "image_url",
      "image_url": {"url": "https://example.com/end.png"},
      "role": "last_frame"
    }
  ],
  "duration": 6,
  "resolution": "720p",
  "ratio": "adaptive",
  "generate_audio": false,
  "watermark": false,
  "return_last_frame": true
}

完整请求示例:多模态参考与回调

提交前替换素材 URL 和回调地址,并确认素材满足数量、时长及文件大小限制。

{
  "model": "doubao-seedance-2.5",
  "content": [
    {"type": "text", "text": "保持参考图中的产品外观,参考视频的运镜,按参考音频的节奏展示产品。"},
    {
      "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"
    }
  ],
  "duration": 8,
  "resolution": "720p",
  "ratio": "16:9",
  "generate_audio": true,
  "watermark": false,
  "omni_reference_task_type": "reference",
  "output_format": "mp4",
  "callback_url": "https://example.com/callbacks/seedance",
  "execution_expires_after": 86400
}

常见错误

HTTP 状态场景处理建议
400分辨率不支持检查模型对应的分辨率限制
400时长不在 4-15 秒调整 duration
404任务不存在确认任务 ID 与 API Key 所属账号
409视频尚未生成继续查询任务状态,完成后再下载
5xx上游或网络异常保留任务 ID,稍后查询;不要立即重复创建相同任务