典名词元典名词元首页
API 文档三方工具教程
AI 模型接口视频豆包

seedance 2.5

POST/api/v1/video/generation

Header Parameters

Authorization?string

格式: Authorization: Bearer sk-xxxxxx

Request Body

application/json

model*string

模型名称,固定值

doubao-seedance-2-5-260628 volc01/doubao-seedance-2-5-260628 volc03/doubao-seedance-2-5-260628

参考相同模型不同渠道的区别:https://api-doc.aa.com.cn/zh/docs/docs/%E8%A7%86%E9%A2%91/%E8%B0%83%E7%94%A8%20Seedance%202.0%20%E6%A8%A1%E5%9E%8B%E5%BF%85%E8%AF%BB

content*array<object>

输入给模型,生成视频的信息,支持文本、图片、音频、视频。支持以下几种组合:

纯文本

文本(可选)+ 图片(1-30 张)

文本(可选)+ 视频(0-10 个)

文本(可选)+ 音频(0-10 个)——可单独传入音频,无需搭配图片/视频

文本(可选)+ 图片 + 音频

文本(可选)+ 图片 + 视频

文本(可选)+ 视频 + 音频

文本(可选)+ 图片 + 视频 + 音频

[]?object
type*string

输入内容的类型

Value in"text" | "image_url" | "video_url" | "audio_url"
text?string

输入给模型的文本提示词,描述期望生成的视频。

提示词语言支持:中文、英文、日语、马来语、泰语、阿拉伯语、越南语、韩语、西班牙语、印度尼西亚语、葡萄牙语

提示词字数建议:中文提示词不超过500字,英文提示词不超过1000词。字数过多易导致信息分散,模型可能忽略细节、仅关注重点,进而造成视频缺失部分元素。

role?string

图片/视频/音频的位置或用途。

图片场景:

首帧:first_frame(或不填),需要传入1个image_url对象

首尾帧:first_frame和last_frame,需要传入2个image_url对象

参考图:reference_image,可传入1~30 个image_url对象

视频场景:

固定reference_video

音频场景:

固定reference_audio

image_url?object
url*string

图片信息,可以是图片URL/图片Base64 编码/素材ID。

传入单张图片要求:

格式:jpeg、png、webp、bmp、tiff、gif、heic、heif

宽高比(宽/高):[0.4, 2.5]

宽高长度(px):[300, 6000]

大小:单张图片小于 30 MB。请求体大小不超过 64 MB。大文件请勿使用Base64编码。

video_url?object
url*string

视频信息,可以是视频URL/素材ID

传入单个视频要求:

视频格式:mp4、mov(H.264/H.265 视频编码,AAC/MP3 音频编码)

分辨率:480p,720p,1080p,4K

时长:非编辑任务时长 [2, 30]s,编辑任务时长 [4, 30]s;最多 10 个视频,总时长 ≤30s;

尺寸:

宽高比(宽/高):[0.4, 2.5]

宽高长度(px):[300, 6000]

总像素数:[614×664=407696, 3326×2494=8295044],即宽和高的乘积符合 [407696, 8295044] 的区间要求。

大小:单个视频不超过 200 MB。

帧率 (FPS):[24, 60]

audio_url?object
url*string

音频信息,可以是音频URL/Base64编码/素材ID

传入单个音频要求:

格式:wav、mp3

时长:单个音频时长 [2, 30] s,最多传入 10 段参考音频,所有音频总时长不超过 30 s。

大小:单个音频不超过 15 MB,请求体大小不超过 64 MB。大文件请勿使用Base64编码。

omni_reference_task_type*string

任务类型引导,默认值:auto

auto:由模型根据输入素材和提示词自动判定任务类型。

reference:参考生视频任务,即基于参考图片、参考视频或参考音频生成新视频。设置 reference 时,ratio 或 duration 无特殊限制。

edit:视频编辑任务,即对原视频的画面或音频进行编辑操作。设置 edit 时,content 中必须至少包含一个 reference_video,且视频时长必须为 4–30 秒;ratio 必须为 adaptive;duration 必须为 -1。

extend:视频延长任务,即对原视频向前或向后延长。设置 extend 时,content 中必须至少包含一个 reference_video;ratio 必须为 adaptive

Seedance 2.5 全模态参考生视频任务 包括参考生视频、视频编辑和视频延长 3 类子任务。不同任务类型对参数有特殊限制,为减少任务创建后异步报错的情况,可通过本参数指定子任务类型,以提前校验对应限制。

默认情况下,即 omni_reference_task_type=auto:模型根据输入素材和提示词自动判定任务类型,再校验参数取值。如果参数与实际任务类型不兼容,任务将触发 异步报错(错误码:InvalidParameter.TaskTypeConstraint)。

显式指定任务类型,即 omni_reference_task_type 为 reference、edit 或 extend:接口在提交任务时提前校验对应任务的特殊参数限制。不符合要求时,接口立即报错,任务不会创建。

注意: 实际处理任务时,模型仍会进一步结合提示词判断任务类型。若实际判定的任务类型和指定的不一致,仍会触发 异步报错(错误码:InvalidParameter.TaskTypeMismatch)。建议遵循各任务类型的 提示词写法,降低报错概率。

Value in"auto" | "reference" | "edit" | "extend"
resolution*string

视频分辨率,默认值 720p

说明:Seedance 2.5 的 1080p 视频采用 10bit 位深与 H.265/HEVC 编码,在少数播放环境中可能不兼容,建议使用 VLC、MPV、QuickTime Player 等播放器。

Value in"480p" | "720p" | "1080p"
duration?integer

生成视频时长,单位:秒。默认值 -1;

取值范围 [4, 30];或设置为 -1(-1 表示自适应时长)

不同模型的 duration = -1 适配规则:

Seedance 2.5(视频编辑任务):模型根据提示词意图选定待编辑视频,并自动保持输出视频时长和待编辑视频基本一致,不支持另行设置。 输出时长可能为非整数秒输出时长可能略短于待编辑视频,误差约 0.4 秒

Seedance 2.5(其他任务类型):模型在 duration 的有效取值范围内,自主选择合适的视频长度(整数秒)。

ratio*string

生成视频的宽高比例,默认值 adaptive。

adaptive:根据输入自动选择最合适的宽高比

图生视频,选择的宽高比和图片宽高比不一致时,会对输入图片进行裁剪,裁剪规则参考火山官网文档。

注意: Seedance 2.5 模型在 视频编辑、视频延长、首帧 / 首尾帧生视频任务 (详见 任务类型与判定条件)存在特殊限制: 仅支持配置ratio为 adaptive,不支持指定具体宽高比。 视频编辑 / 视频延长任务中,模型根据提示词意图选定待编辑视频或待延长视频,并自动保持输出视频宽高比和待编辑视频或待延长视频一致。 首帧 / 首尾帧生视频任务中,模型自动保持输出视频宽高比和 first_frame 指定的首帧图片一致。

Value in"16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "21:9" | "adaptive"
generate_audio?boolean

控制生成的视频是否包含与画面同步的声音。

注意:生成的有声视频均为单声道、和传入的音频声道数无关。

true:模型输出的视频包含同步音频。模型会基于文本提示词与视觉内容,自动生成与之匹配的人声、音效及背景音乐。建议将对话部分置于双引号内,以优化音频生成效果。例如:男人叫住女人说:“你记住,以后不可以用手指指月亮。”

false:模型输出的视频为无声视频。

watermark*boolean

生成视频是否包含水印。枚举值:

false:不含水印。

true:含有水印。

output_format*string

输出视频的格式。默认值:mp4

mp4:通用格式,兼容性最好,采用标准色彩精度,可在网页、移动端、各类播放器及分发平台直接播放。 mov:面向专业场景的高色彩精度格式,更好地保持画面色彩与亮度一致性、适用于调色、抠像、合成等对色彩还原要求高的专业后期加工。推荐在视频编辑、视频延长场景使用 mov 格式作为输入和输出。

mov格式播放兼容性:参考火山文档

Value in"mp4" | "mov"
return_last_frame?boolean

重要:需要配合return_original参数返回原厂数据使用

true:返回生成视频的尾帧图像。设置为 true 后,可通过 查询视频生成任务接口 获取视频的尾帧图像。尾帧图像的格式为 png,宽高像素值与生成的视频保持一致,无水印。

false:不返回生成视频的尾帧图像。

callback_url?string

填写本次生成任务结果的回调通知地址。当视频生成任务有状态变化时,方舟将向此地址推送 POST 请求。

回调请求内容结构与查询任务API的返回体一致。

回调返回的 status 包括以下状态:

queued:排队中。

running:任务运行中。

succeeded: 任务成功。(如发送失败,即5秒内没有接收到成功发送的信息,回调三次)

failed:任务失败。(如发送失败,即5秒内没有接收到成功发送的信息,回调三次)

expired:任务超时,即任务处于运行中或排队中状态超过过期时间。可通过 execution_expires_after 字段设置过期时间。

execution_expires_after?integer

任务超时阈值。指定任务提交后的过期时间(单位:秒),从 created at 时间戳开始计算。默认值 172800 秒,即 48 小时。取值范围:[3600,259200]。

不论使用哪种 service_tier,都建议根据业务场景设置合适的超时时间。超过该时间后任务会被自动终止,并标记为expired状态。

safety_identifier?string

终端用户的唯一标识符,用于协助平台检测您的应用中可能违反火山方舟使用政策的用户。该标识符为英文字符串,需保证对单个用户固定且唯一,长度不超过 64 个字符。推荐传入对用户名、用户 ID 或邮箱进行哈希处理后生成的字符串,避免泄露用户隐私信息。

tools?array<object>

配置模型要调用的工具。

[]?object
type*string

指定使用的工具类型

Value in"web_search"

Response Body

application/json

成功

TypeScript Definitions

Use the response body type in TypeScript.

code*integer

状态码

data*object

数据对象

urls*array<string>

结果集

[]?string
usage*object

消耗信息

images*integer

图片张数

seconds*integer

视频秒数

input_tokens*integer

输入token数

total_tokens*integer

总token数

output_tokens*integer

输出token数

expired*string

有效期

task_id*string

任务ID

task_status*string

任务状态

message*string

状态信息

request_id*string

请求ID

curl -X POST "https://api.aa.com.cn/api/v1/video/generation" \  -H "Content-Type: application/json" \  -d '{    "model": "string",    "content": [      {        "type": "text"      }    ],    "omni_reference_task_type": "auto",    "resolution": "480p",    "ratio": "16:9",    "watermark": true,    "output_format": "mp4"  }'
{
  "code": 0,
  "data": {
    "urls": [
      "string"
    ],
    "usage": {
      "images": 0,
      "seconds": 0,
      "input_tokens": 0,
      "total_tokens": 0,
      "output_tokens": 0
    },
    "expired": "string",
    "task_id": "string",
    "task_status": "string"
  },
  "message": "string",
  "request_id": "string"
}
Empty