Skip to content

视频生成(Seedance)

本文档面向接入方,说明如何调用统一视频生成接口(Seedance 系列模型,如 doubao-seedance-2.0)。

文档覆盖 Seedance 视频生成的完整能力,包括:

  • 四种输入类型:文生视频、首尾帧、参考图、参考视频/音频
  • 画幅与时长resolution + ratioduration
  • 扩展能力:同步音频、水印、联网搜索等(经 metadata 透传)
  • 链式超分:在基础生成后再提升输出清晰度(见 链式超分

接口概览

创建视频生成任务

  • POST /v1/videos/generations
  • 兼容别名:POST /v1/video/generations

查询视频生成任务

  • GET /v1/videos/generations/{task_id}
  • 兼容别名:GET /v1/video/generations/{task_id}

认证方式

通过 Authorization 请求头传入 API Key:

http
Authorization: Bearer sk-xxxxxx

创建任务

请求头

http
Content-Type: application/json
Accept: application/json
Authorization: Bearer sk-xxxxxx

请求体

图片生成不同,视频接口不使用图片风格的 size(如 1024x1024。输出画幅请用 resolution + ratio 组合指定。

json
{
  "model": "doubao-seedance-2.0",
  "prompt": "一只猫在海边奔跑,电影感,夕阳,4k",
  "mode": "pro",
  "input_type": "text_to_video",
  "images": [],
  "videos": [],
  "audios": [],
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "metadata": {
    "draft": false,
    "generate_audio": false,
    "watermark": false
  }
}

说明:

  • 推荐resolution(清晰度档位)+ ratio(宽高比)
  • 不推荐:传图片接口同款 size;Seedance 系列请用 resolution / ratio
  • size 仅为兼容旧客户端的保留字段;若同时传 resolutionsize,以 resolution 为准
  • generate_audiowatermark 等扩展项请放在 metadata 中(见下文),不要作为顶层字段与 modelprompt 同级传递

接口说明

飞鸾聚合站统一通过 OpenAI 兼容接口 POST /v1/videos/generations 提交 Seedance 视频生成任务。

要点:

  • 素材输入(images / videos / audios)统一传 公网可访问的 URL 字符串数组
  • 扩展参数(同步音频、水印、链式超分等)统一写入 metadata
  • 画幅使用 resolution + ratio,不要使用图片接口的像素 size
  • 具体能力(分辨率档位、是否支持链式超分等)以所选 模型模型价格页 为准

成功响应示例

json
{
  "id": "task_65RmeonGhUJrizaVkQzAauwIXdOA1YFg",
  "task_id": "task_65RmeonGhUJrizaVkQzAauwIXdOA1YFg",
  "object": "video.generation.task",
  "status": "submitted",
  "message": "task submitted"
}

说明:

  • 创建接口只表示任务已提交。
  • 大多数异步视频任务在创建时不会立即返回最终视频结果。
  • 最终结果需要通过查询接口获取。

查询任务

请求示例

bash
curl --request GET \
  --url 'https://ai.feiluanai.com/v1/videos/generations/task_65RmeonGhUJrizaVkQzAauwIXdOA1YFg' \
  --header 'Authorization: Bearer sk-xxxxxx' \
  --header 'Accept: application/json'

成功响应示例

json
{
  "id": "task_65RmeonGhUJrizaVkQzAauwIXdOA1YFg",
  "task_id": "task_65RmeonGhUJrizaVkQzAauwIXdOA1YFg",
  "object": "video.generation.task",
  "status": "succeeded",
  "message": "task completed",
  "trace_id": "trace_xxx",
  "data": [
    {
      "url": "https://example.com/output.mp4"
    }
  ],
  "video_url": "https://example.com/output.mp4",
  "duration": 5,
  "usage": {
    "completion_tokens": 108000,
    "total_tokens": 108000
  }
}

失败响应示例

json
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video.generation.task",
  "status": "failed",
  "message": "task failed",
  "error": {
    "message": "task failed",
    "code": "task_error"
  }
}

请求参数

顶层字段(总览)

字段类型必填说明
modelstring模型名称,详见下方
promptstring文本提示词,详见下方
modestring生成模式,详见下方
input_typestring输入类型,详见下方
imagestring单图兼容字段,详见下方
imagesstring[]图片输入 URL 数组,详见下方
videosstring[]视频输入 URL 数组,详见下方
audiosstring[]音频输入 URL 数组,详见下方
resolutionstring输出分辨率档位,详见下方
ratiostring输出宽高比,详见下方
sizestring兼容字段(非图片 size),详见下方
durationnumber / string输出时长(秒),详见下方
secondsstringduration 兼容字段,详见下方
metadataobject / string扩展参数,详见下方

数量与取值限制(总表)

字段 / 场景限制说明
images最多 9 张文生视频不传;参考图 ≥ 1 张;首尾帧 ≥ 2 张
first_last_frame + images至少 2 张,最多 9 张第 1 张=首帧,最后 1 张=尾帧,中间张=参考图
videos最多 3 个参考视频场景使用
audios最多 3 个参考音频场景使用
duration4 ~ 15,或 -1-1 表示由模型智能选择时长;未传默认 5
resolution480p / 720p / 1080p / 4k4k 通常仅 pro 支持;fast 可能不支持 1080p
ratio16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive默认未传时多为 adaptive
metadata.generate_audioboolean是否生成同步音频;默认 true,不需要音频时请显式传 false
metadata.watermarkboolean是否添加水印;默认 false
metadata.super_resolution_configobject链式超分;不传则不开启;详见 链式超分
metadata.execution_expires_after3600 ~ 259200任务超时阈值,默认 172800(48 小时)

超出数量上限或非法参数组合时,接口可能返回参数错误。实际以所选模型为准。

字段详解

model

说明
类型string
必填
示例doubao-seedance-2.0doubao-seedance-2.0-fastdoubao-seedance-1.5-pro
作用指定调用的视频模型;决定可用分辨率、输入类型、计费档位等
注意模型名须与 模型价格页 一致;fastpro 能力/价格不同

prompt

说明
类型string
必填
示例"一只猫在海边奔跑,电影感,夕阳"
作用描述画面内容、镜头运动、风格、氛围等生成意图
注意不能为空字符串;图生视频/参考素材场景下,prompt 通常描述「如何变化」而非重复描述素材本身

mode

说明
类型string
必填
常见值profast
作用指定生成质量/速度档位;部分模型名已隐含模式(如 doubao-seedance-2.0-fast
注意是否生效取决于模型;fast 模式通常不支持 1080p

input_type

说明
类型string
必填
常见值见下表
作用声明本次任务的输入形态,影响服务端如何解析 images / videos / audios
自动推断未传时,服务端会按输入素材自动推断(见「自动推断规则」)
适用场景通常需要的字段
text_to_video纯文本生成视频prompt;不传 images / videos / audios
first_last_frame首尾帧插帧生成prompt + images2 ~ 9 张
reference参考图/视频/音频生成prompt + images1 ~ 9 张)/ videos1 ~ 3 个)/ audios1 ~ 3 个)至少一种

自动推断规则input_type 未传时):

输入情况推断结果
传了 videosreference
images ≥ 2 张first_last_frame
images = 1 张reference
无图片/视频/音频text_to_video

imageimages

字段类型必填说明
imagestring单图兼容字段;服务端会转为 images[0]
imagesstring[]推荐使用的图片输入数组
说明
格式公网可访问的 HTTPS URL,如 https://example.com/frame.png
类型string[](URL 列表)
数量上限最多 9 张(所有场景合计)
文生视频不传 images
参考图 reference1 ~ 9 张
首尾帧 first_last_frame至少 2 张,最多 9 张
注意不要同时传 imageimages;推荐统一用 images

首尾帧 images 顺序说明input_type: first_last_frame 时):

数组位置说明
images[0]首帧(必填)
images[最后一张]尾帧(必填)
images[1..n-2]中间参考帧(可选,多张时夹在首尾之间)

示例:3 张图时,[首帧, 中间参考, 尾帧];2 张图时,[首帧, 尾帧]

videos

说明
类型string[]
必填否(参考视频场景下通常需要)
数量上限最多 3 个
格式公网可访问的视频 URL,如 https://example.com/ref.mp4
作用提供动作、构图或风格参考;常用于 input_type: reference
注意是否支持取决于模型/通道;带视频输入通常影响计费

audios

说明
类型string[]
必填
数量上限最多 3 段
格式公网可访问的音频 URL,如 https://example.com/bgm.wav
作用提供节奏/氛围参考;可配合 metadata.generate_audio: true 生成同步音频
注意是否支持取决于模型;部分模型(如 doubao-seedance-1.5-pro)支持音频相关能力

resolution

说明
类型string
必填
推荐视频画幅请用本字段 + ratio,不要用图片接口的 size
默认值未传时多为 720p(以模型配置为准)
说明
480p标清
720p高清(最常用,默认)
1080p全高清;pro 模型常见;fast 模式可能不支持
4k超高清;通常仅 pro 档位支持

实际可用档位以 模型价格页 及所选模型为准。

ratio

说明
类型string
必填
格式宽:高,冒号分隔,如 16:9
默认值未传时多为 adaptive;也可显式传 16:9 等固定比例
作用resolution 组合决定输出画面比例(横屏/竖屏/方屏)
说明典型用途
16:9横屏横版短视频、电影感镜头
9:16竖屏抖音/快手/Reels 竖版内容
4:3横屏(传统比例)部分横版内容
3:4竖屏(传统比例)部分竖版内容
1:1正方形封面、头像动效
21:9超宽屏电影宽银幕风格
adaptive自适应由平台或参考素材自动决定比例

示例组合:

json
{ "resolution": "720p", "ratio": "16:9" }
{ "resolution": "1080p", "ratio": "9:16" }

size

说明
类型string
必填
定位兼容字段,不是图片接口的像素 size
场景行为
Seedance 系列推荐用 resolution;仅当 resolution 为空时,服务端可能将 size 当作分辨率档位(如 720p)解析
图片接口使用 1024x10241024x1792 等像素枚举 — 不要用于 Seedance 视频
同时传 resolutionsizeresolution 为准

durationseconds

字段类型说明
durationnumber / string推荐使用;输出视频时长,单位秒
secondsstring兼容旧客户端;语义与 duration 相同
说明
格式整数或数字字符串,如 5"5"-1
单位
合法范围4 ~ 15,或 -1(智能时长,由模型选择)
默认值未传时多为 5
注意不要同时传 durationseconds;超出范围可能被接口拒绝

metadata 与扩展字段

generate_audiowatermark 等扩展项请写入 metadata,不要与 modelprompt 等顶层字段同级传递。

字段类型必填默认值说明
metadata.generate_audiobooleantrue是否生成同步音频;不需要时请显式传 false
metadata.watermarkbooleanfalse是否在成片上添加水印
metadata.draftbooleanfalse是否启用样片模式
metadata.seednumber随机随机种子
metadata.return_last_framebooleanfalsetrue 时,任务成功可返回尾帧 URL
metadata.execution_expires_afternumber172800任务超时(秒),范围 3600 ~ 259200
metadata.toolsarray[{"type":"web_search"}] 开启联网搜索
metadata.super_resolution_configobject链式超分配置;详见 链式超分
metadata.callback_urlstring任务完成回调地址

示例:

json
"metadata": {
  "generate_audio": false,
  "watermark": false,
  "draft": false
}

也支持 JSON 字符串:

json
"metadata": "{\"generate_audio\":false,\"watermark\":false}"

metadata(通用说明)

说明
类型object 或 JSON 字符串
必填
作用透传视频生成扩展参数

链式超分字段 super_resolution_config 的完整说明见独立章节 链式超分

画幅参数对照(视频 vs 图片)

能力图片生成视频生成(Seedance)
画幅字段size(如 1024x1024resolution + ratio
示例"size": "1024x1792""resolution": "720p", "ratio": "9:16"
像素枚举有固定 宽x高 映射1024x1024 这类枚举

metadata 常见字段(补充)

除上表外,还可透传:

字段类型说明
safety_identifierstring终端用户唯一标识
input_video_durationnumber参考视频时长(秒),影响预扣估算

说明:

  • generate_audiowatermarkseedtoolssuper_resolution_config(链式超分)等扩展项写入 metadata 即可。
  • 部分字段是否生效取决于所选 模型;以 模型价格页 为准。

输入类型说明

以上四种场景通过 input_type 区分;任一场景均可叠加 链式超分,与输入类型无关。

1. 文生视频

适合纯文本生成视频。

json
{
  "model": "doubao-seedance-2.0",
  "prompt": "一只猫在海边奔跑,电影感,夕阳,4k",
  "input_type": "text_to_video",
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5
}

2. 首尾帧生成

适合提供首帧和尾帧图片,让模型生成中间动态过程。

json
{
  "model": "doubao-seedance-2.0",
  "prompt": "镜头平滑推进,角色从静止到转身",
  "input_type": "first_last_frame",
  "images": [
    "https://example.com/frame-start.png",
    "https://example.com/frame-end.png"
  ],
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5
}

说明:

  • first_last_frame 要求 images 至少 2 张、最多 9 张
  • images[0] 为首帧,images[最后一张] 为尾帧;中间张为可选参考帧。
  • 仅传 2 张时即为最常见的「首帧 + 尾帧」模式。

3. 参考图生成

适合用一张或多张参考图控制主体、风格或构图。

json
{
  "model": "doubao-seedance-2.0",
  "prompt": "角色保持一致,镜头环绕,电影感",
  "input_type": "reference",
  "images": [
    "https://example.com/reference-1.jpg"
  ],
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5
}

4. 参考视频生成

适合基于已有视频进行视频再生成、延展或风格变化。

json
{
  "model": "doubao-seedance-2.0",
  "prompt": "保留主体动作,整体改成赛博朋克氛围",
  "input_type": "reference",
  "videos": [
    "https://example.com/reference.mp4"
  ],
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5
}

说明:

  • 是否支持视频输入,取决于模型和通道。
  • 视频输入通常会影响最终计费。

5. 参考音频生成

适合携带音频输入的任务。

json
{
  "model": "doubao-seedance-1.5-pro",
  "prompt": "角色跟随音乐节奏移动,镜头稳定推进",
  "input_type": "reference",
  "audios": [
    "https://example.com/reference.wav"
  ],
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "metadata": {
    "generate_audio": true
  }
}

链式超分

链式超分是 Seedance 视频生成的可选扩展能力,不属于单独的 input_type。可与文生视频、首尾帧、参考图/视频/音频等任意输入类型组合使用

工作原理

  1. 先按请求中的 resolution 完成基础视频生成。
  2. 基础任务成功后,平台自动派发画质增强子任务(链式第二步)。
  3. 链式任一步失败,整任务标记失败且不扣费
  4. metadata.super_resolution_config非空对象即视为启用链式超分;不传或传 {} 表示不开启。

对外仍只暴露一个 task_id;调用方轮询 statusvideo_url 即可。启用链式超分后,status 在整条链路完成前会保持 running;成功后 video_url超分后的最终成片

配置入口

说明
字段位置metadata.super_resolution_configobject
是否必填否;不传或空对象 = 不开启
resolution 关系顶层 resolution 决定基础生成清晰度;超分配置决定增强后的目标清晰度

super_resolution_config 参数说明

启用链式超分时,resolutionresolution_limit 互斥且二选一必填(其余字段可选)。

字段类型必填含义
resolutionstring二选一目标分辨率档位。合法值:720p / 1080p / 2k / 4k。必须严格高于基础生成的 resolution(相同或更低不允许)。
resolution_limitint32二选一自定义短边像素。范围 64 ~ 2160。必须严格大于基础成片短边像素(如基础为 480p / 720p / 1080p 时,按对应短边计算)。与 resolution 互斥,只能传其中一个。
scenestring场景类型,影响超分策略。可选:aigc / short_series / ugc / old_film
tool_versionstring超分工具版本standard(默认)或 professionalprofessional 计费约为 standard 的 10 倍
fpsint32输出帧率,范围 1 ~ 120。若高于源视频帧率,将触发智能插帧。

各参数怎么选

  • resolution:已知目标档位时用(如基础 720p、想超到 1080p,传 "resolution": "1080p")。
  • resolution_limit:需要精确控制短边像素时用(如短边要到 1920),不用固定档位枚举。
  • scene:按内容类型选;不确定可不传,由平台默认策略处理。
  • tool_version:追求更高画质用 professional,成本显著更高;一般场景用默认 standard 即可。
  • fps:需要固定输出帧率时传;不追求改帧率可不传。

合法超分目标映射

超分目标必须高于基础 resolution,合法组合如下:

基础 resolution允许的超分目标
480p720p / 1080p / 2k / 4k
720p1080p / 2k / 4k
1080p2k / 4k

使用 resolution_limit 时,也需满足「短边严格大于基础成片短边」;不能通过 resolution_limit 变相降到与基础相同或更低。

请求示例

示例 1720p 基础生成 + 档位超分到 1080p

json
{
  "model": "doubao-seedance-1.5-pro",
  "prompt": "日落下的城市航拍,电影感",
  "input_type": "text_to_video",
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "metadata": {
    "super_resolution_config": {
      "resolution": "1080p"
    }
  }
}

示例 2:自定义短边像素 + 专业版超分

json
{
  "model": "doubao-seedance-2.0",
  "prompt": "人物特写,皮肤细节清晰",
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "metadata": {
    "super_resolution_config": {
      "resolution_limit": 1920,
      "scene": "aigc",
      "tool_version": "professional",
      "fps": 24
    }
  }
}

使用注意

  • 链式超分与直接传 resolution: "1080p" 不是同一回事:前者是「基础生成 + 画质增强」两段链路,后者是一次生成到目标档位。
  • resolutionresolution_limit 不要同时传;启用超分时必须二选一。
  • 启用后任务耗时更长,status 会长时间停留在 running,属正常现象。
  • tool_version: professional 画质更高,费用约为 standard 的 10 倍,请按业务需求选用。

字段兼容规则

resolutionratiosize

  • 推荐:使用 resolution + ratio 控制输出画幅
  • 不要把图片接口的 size1024x10241024x1792 等)直接用于视频接口
  • size 仅为兼容保留:当 resolution 为空时,服务端可能将 size 当作分辨率档位(如 720p)解析
  • resolutionsize 同时存在,以 resolution 为准

imageimages

  • 推荐使用 images
  • 如果只传单张图片,也可以使用 image
  • 服务端会将 image 自动视为 images[0]

durationseconds

  • 推荐使用 duration
  • seconds 为兼容旧客户端保留
  • 如果两者同时存在,最终解释以服务端实际解析结果为准,建议不要同时传

metadata

  • 支持对象:
json
"metadata": {
  "draft": true,
  "watermark": false
}
  • 也支持 JSON 字符串:
json
"metadata": "{\"draft\":true,\"watermark\":false}"

任务状态

统一返回以下状态之一:

状态说明
pending已创建,等待处理
submitted已提交,排队中
running正在生成
succeeded生成成功
failed生成失败

返回字段说明

创建任务响应

字段类型说明
idstring公有任务 ID
task_idstringid 等价,兼容字段
objectstring固定为 video.generation.task
statusstring当前任务状态
messagestring状态说明

查询任务响应

字段类型说明
idstring公有任务 ID
task_idstringid 等价
objectstring固定为 video.generation.task
statusstring当前任务状态
messagestring状态说明
trace_idstring请求追踪 ID,可能为空
dataarray视频结果数组,成功时通常包含至少一个对象
data[].urlstring生成结果视频地址
video_urlstring主视频地址,通常与 data[0].url 一致
durationnumber输出视频时长
usage.completion_tokensnumber实际消耗 token
usage.total_tokensnumber总 token
error.messagestring失败原因
error.codestring失败代码

计费说明

对于异步视频任务:

  1. 提交任务时,系统可能先执行预扣。
  2. 任务完成后,最终费用以查询结果中的 usage.completion_tokens 为准重新结算。
  3. 如果最终应扣低于预扣,会退款。
  4. 如果最终应扣高于预扣,会补扣。

建议调用方在业务上区分:

  • 创建成功:表示任务受理成功
  • 查询成功且 status = succeeded:表示生成成功
  • 查询结果中出现 usage.completion_tokens:表示已经进入最终计费口径

错误响应

统一错误格式示例:

json
{
  "error": {
    "message": "task_id is required",
    "type": "invalid_request_error",
    "param": "",
    "code": ""
  }
}

常见错误场景:

场景说明
401 UnauthorizedAPI Key 无效或缺失
403 Forbidden当前令牌无权限使用该模型或通道
400 Invalid Request参数缺失、格式错误或模型不支持该组合
404 Not Foundtask_id 不存在或不属于当前用户
500 Internal Server Error服务端异常

最佳实践

1. 先创建,再轮询查询

推荐流程:

  1. 调用创建接口获取 task_id
  2. 每隔 2 到 5 秒调用查询接口
  3. 直到状态变为:
    • succeeded
    • failed

2. 统一使用 URL 资源

推荐为图片、视频、音频提供公网可访问 URL,例如:

  • https://example.com/input.jpg
  • https://example.com/input.mp4
  • https://example.com/input.wav

3. 不要混用兼容字段

例如:

  • 不要同时传 imageimages
  • 不要同时传 durationseconds

4. 先按模型能力做参数校验

不同模型对以下能力支持不同:

  • 是否支持图片输入
  • 是否支持视频输入
  • 是否支持音频输入
  • 是否支持 1080p
  • 是否支持样片模式
  • 是否支持同步音频

建议在业务侧按模型能力限制参数组合,避免无效请求。

cURL 示例

文生视频

bash
curl --request POST \
  --url 'https://ai.feiluanai.com/v1/videos/generations' \
  --header 'Authorization: Bearer sk-xxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-2.0",
    "prompt": "一只猫在海边奔跑,电影感,夕阳,4k",
    "input_type": "text_to_video",
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5,
    "metadata": {
      "draft": false,
      "generate_audio": false,
      "watermark": false
    }
  }'

参考图视频

bash
curl --request POST \
  --url 'https://ai.feiluanai.com/v1/videos/generations' \
  --header 'Authorization: Bearer sk-xxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "doubao-seedance-2.0",
    "prompt": "角色保持一致,镜头环绕,电影感",
    "input_type": "reference",
    "images": [
      "https://example.com/reference-1.jpg"
    ],
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5
  }'

查询任务

bash
curl --request GET \
  --url 'https://ai.feiluanai.com/v1/videos/generations/task_65RmeonGhUJrizaVkQzAauwIXdOA1YFg' \
  --header 'Authorization: Bearer sk-xxxxxx'