通用视频接口 · OpenAI 格式

创建视频

提交视频生成任务,立即返回视频对象,之后用视频 ID 查询进度和结果。所有视频模型都用这个接口,按传入的素材决定生成方式。

POSThttps://your-domain/v1/videos

请求参数

请求体可以是 JSON(Content-Type: application/json),也可以是 multipart/form-data(上传本地图片时使用,OpenAI SDK 也用这种格式),不超过 32 MB。不认识的参数会被忽略。multipart 请求里,列表参数重复同一个字段即可,字段名写成 reference_images 或 reference_images[] 都可以。

请求体

modelstring必填
模型 ID,可用的模型见模型与价格或模型列表接口。
promptstring

提示词,描述想要生成的视频。文生视频、视频编辑和视频延长必填;图生视频、首尾帧和多模态参考可以不填,个别模型要求必填(模型列表里 prompt_required 为 true)。

不超过 10000 字(模型另有上限时以模型列表的 spec.max_prompt_length 为准)。Seedance 模型同样支持在提示词末尾写 --rs 720p --rt 16:9 --dur 5,请求体里的同名参数优先。

secondsstring

视频时长,单位秒,例如 "5",也可以传数字。可选值见模型列表的 spec.durations,默认是模型的默认时长(spec.default_duration)。 也可以写成 duration。

传 -1 或 auto 由模型决定时长(模型列表里 spec.auto_duration 为 true 的模型),先按最长时长冻结费用,完成后按实际时长结算,见计费规则。视频编辑生成的视频和原视频一样长,这个参数不生效。

sizestring
OpenAI 格式的尺寸,写成 宽x高,例如 1280x720。短边换算成分辨率(480、720、1080 分别对应 480p、720p、1080p),宽高比换算成画幅。同时传了 resolution 或 aspect_ratio 时,以它们为准。
resolutionstring
视频分辨率,例如 720p。可选值见模型列表的 spec.resolutions,默认是模型的默认分辨率。
aspect_ratiostring

视频画幅,例如 16:9、9:16,可选值见模型列表的 spec.aspect_ratios。也可以写成 ratio。

  • 文生视频:默认是模型的默认画幅。
  • 多模态参考:不传或传 adaptive 时由素材决定,也可以指定画幅。
  • 图生视频、首尾帧跟随首帧图片,视频编辑和延长跟随原视频,这个参数不生效。
audioboolean默认值 false
是否生成与画面同步的声音,也可以写成 generate_audio。只对模型列表里 spec.audio 为 optional 的模型有效,生成声音时按有声单价计费;always 的模型总是带声音;不支持声音的模型传 true 返回错误。
input_referencefile | string
首帧图片,用于图生视频和首尾帧。可以是图片的公网链接(不超过 4096 个字符)、data URL(例如 data:image/png;base64,...)或 Base64 编码;multipart 请求还可以直接上传图片文件。也可以写成 first_frame,两个只能传一个。
last_framefile | string
尾帧图片,格式同 input_reference。使用尾帧时必须同时传首帧。
reference_imagesstring[]
参考图,每一项可以是图片的公网链接(不超过 4096 个字符)、data URL(例如 data:image/png;base64,...)或 Base64 编码;multipart 请求还可以直接上传图片文件。数量上限见模型列表的 spec.reference.images。
reference_videosstring[]
参考视频,只能传 http 或 https 链接,本平台生成的视频地址(video_url)也可以直接使用。支持 mp4、mov;平台会读取视频时长用于计费,所以链接必须能公开下载。个数和总时长上限见模型列表的 spec.reference。
reference_audiosstring[]
参考音频,可以是公网链接或 data URL(例如 data:audio/mpeg;base64,...),multipart 请求还可以直接上传文件。支持 mp3、wav,单个不超过 15 MB。
omni_reference_task_typestring默认值 auto
有参考素材时的任务类型:auto 或 reference 为参考生成,edit 为视频编辑,extend 为视频延长。edit 和 extend 处理 reference_videos 里的第一个视频。也可以写成 task_type。
negative_promptstring
反向提示词,描述不希望出现的内容。只有模型列表里 spec.negative_prompt 为 true 的模型支持,其他模型传了返回错误。
seedinteger
随机种子。只有模型列表里 spec.seed 为 true 的模型支持,其他模型传了返回错误。

生成方式

平台按传入的素材判断生成方式,各模型支持的生成方式见模型列表的 spec.modes:

生成方式input_mode需要传的参数
文生视频textprompt
图生视频imageinput_reference(首帧)
首尾帧framesinput_reference 和 last_frame
多模态参考referencereference_images、reference_videos、reference_audios 至少一项
视频编辑editreference_videos(原视频)、prompt,omni_reference_task_type 传 edit
视频延长extendreference_videos(原视频)、prompt,omni_reference_task_type 传 extend
  • 首帧、首尾帧不能和参考素材同时使用。需要固定首帧时,可以把图片放进参考图,并在提示词里写明「以图片1为首帧」。
  • 提示词里用「图片1」「视频1」「音频1」指代参考素材,序号是同类素材在列表里的顺序。
  • 上传文件和 Base64 编码的图片单张不超过 10 MB,支持 jpeg、png、webp、bmp、tiff、gif、heic、heif,更大的图片请传链接。带参考视频的任务改用「带参考视频」单价,参考视频的时长也计入费用,见计费规则。

返回参数

返回视频对象,字段见查询视频。创建成功时 status 为 queued,price 是冻结的金额。

参数有误、余额不足等情况下,接口直接返回错误,不扣费,见错误码。

请求示例

文生视频见右侧的请求示例,下面是其他生成方式的写法。

图生视频

用 input_reference 传首帧图片的链接,视频画幅跟随图片。OpenAI SDK 的 input_reference 只接受文件,图片链接要放在 extra_body 里:

图生视频
curl https://your-domain/v1/videos \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "女孩抬头看向镜头,微笑着挥手,微风吹起她的头发",
    "input_reference": "https://example.com/first-frame.png",
    "seconds": "5",
    "resolution": "720p"
  }'

上传本地图片

用 multipart/form-data 直接上传图片文件,单张不超过 10 MB:

上传本地图片
curl https://your-domain/v1/videos \
  -H "Authorization: Bearer $API_KEY" \
  -F model=doubao-seedance-2-0-260128 \
  -F prompt="女孩抬头看向镜头,微笑着挥手,微风吹起她的头发" \
  -F seconds=5 \
  -F input_reference=@first-frame.png

首尾帧

同时传首帧和尾帧图片,视频从首帧过渡到尾帧:

首尾帧
curl https://your-domain/v1/videos \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "镜头从街道缓缓升高,天色由白天过渡到黄昏,街灯依次亮起",
    "first_frame": "https://example.com/first-frame.png",
    "last_frame": "https://example.com/last-frame.png",
    "seconds": "5"
  }'

多模态参考

参考图、参考视频和参考音频可以任意组合,在提示词里说明每个素材的用途:

多模态参考
curl https://your-domain/v1/videos \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "图片1中的女孩穿着图片2的外套,按视频1的运镜在街头行走,背景音乐用音频1",
    "reference_images": [
      "https://example.com/girl.png",
      "https://example.com/coat.png"
    ],
    "reference_videos": ["https://example.com/camera-move.mp4"],
    "reference_audios": ["https://example.com/bgm.mp3"],
    "aspect_ratio": "16:9",
    "seconds": "10"
  }'

视频编辑和延长

把原视频放进 reference_videos,omni_reference_task_type 传 edit(编辑)或 extend(延长),在提示词里写明要怎么改或怎么延长。

视频编辑
curl https://your-domain/v1/videos \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-5-260628",
    "prompt": "把视频1中女孩的外套换成红色羽绒服,其他内容保持不变",
    "reference_videos": ["https://example.com/source.mp4"],
    "omni_reference_task_type": "edit"
  }'
可以直接用本平台生成的视频做编辑或延长:把之前任务返回的 video_url 放进 reference_videos 即可。