• 用 OpenAI 风格的结构提交视频任务
  • 字段由网关映射到上游原生格式
  • 适合已有 OpenAI 调用链的项目快速接入
POST/v1/video/generations

认证

string必填

所有接口均使用 Bearer Token 进行认证。

Seedance 系列的接口需要在 ark 站 单独获取 Key,与 api 站的 Key 不通用。

请求时在请求头中添加:

Authorization: Bearer YOUR_ARK_KEY

请求结构

prompt、image、duration、size 等字段全部平铺在请求体顶层,没有 content 数组,也没有 metadata 包装。图片放进 image 单字段,固定按首帧处理。其余参数(fps、seed、response_format、callback_url)同样在顶层。

与豆包原生的差异见下方「与原生结构的差异」。

支持的场景

场景字段组合
文生视频prompt
图生视频·首帧prompt + image
图生视频·首尾帧改用豆包原生通道,见视频生成(豆包原生)
全模态参考改用豆包原生通道,见视频生成(豆包原生)
编辑视频改用豆包原生通道,见视频生成(豆包原生)
延长视频改用豆包原生通道,见视频生成(豆包原生)

OpenAI 兼容结构只有 prompt 与 image 两个创作字段,能表达的场景比豆包原生少。需要首尾帧、参考图、视频编辑或延长时,用豆包原生通道提交,任务查询仍然走同一个任务状态接口。

请求参数

提交后拿到的只是任务 ID 与状态。轮询结果用任务状态接口,见获取任务状态;需要鉴权下载成片时,走下载接口,支持 Bearer Token 与 Dashboard 登录 Cookie 两种鉴权。
string必填

视频模型 ID。

string必填

视频描述。写清主体动作、镜头运动与环境氛围。

string可选

首帧图片地址,支持 HTTP(S) 与 Base64 data URI。传入后进入图生视频模式。

integer可选

时长,单位秒。不传时由模型按默认值处理。

string可选

输出画幅,写成 1280x720 这类像素值,或直接用比例字符串。

integer可选

帧率。部分模型固定帧率,传了会被忽略。

integer可选

随机种子。

string可选

url 返回可访问地址,固定为默认值。

string可选

完成回调地址。不传则用任务状态接口轮询。

响应

string

任务 ID。

string

固定为 video.generation。

string

任务状态。提交后为 queued。

integer

创建时间戳。

string

实际使用的模型。

这是同步受理、异步出片的接口。返回值里只有任务状态,没有视频本身。要拿成片,用返回的 id 去任务状态接口轮询,或配置 callback_url。

错误码

HTTP含义
400参数错误,type 为 invalid_request_error
401Token 缺失或无效,type 为 authentication_error
402余额不足,type 为 permission_error
429触发限流

更多状态码与重试建议见错误码与限流,常见报错的排查步骤见常见问题。

与原生结构的差异

原生OpenAI 兼容说明
content[].type = textprompt 字符串文本被包装成 content 条目
content[].image_url + roleimage 单字段固定按首帧处理
ratiosize比例或像素都可
callback_urlcallback_url一致

用 multipart 上传本地文件

JSON 请求体不能直接携带二进制文件。首帧图如果要本地直传,改用 multipart/form-data:

curl --request POST   --url 'https://ark.oairoute.com/v1/video/generations'   --header 'Authorization: Bearer YOUR_ARK_KEY'   --form 'model=seedance-2.5'   --form 'prompt=海面日落,镜头缓慢前推'   --form '[email protected]'   --form 'duration=5'   --form 'size=1280x720'

两个容易踩的坑:

  • 数字要写成字符串。 multipart 里没有类型概念,duration=5 与 duration="5" 传输上一样,但部分客户端会把 5 序列化成 5.0,被判为非法整数
  • image 与 image_url 互斥。 同时出现返回 400

multipart 的请求体比 JSON 大,10MB 以上的图片在慢网络下容易超时,建议改用先上传再引用。

metadata 透传容器

metadata 是自由格式对象,服务端不校验内部键名,只做两件事:原样保存、在任务查询时原样返回。

{
  "model": "seedance-2.5",
  "prompt": "海面日落",
  "metadata": {
    "order_id": "A20261030-001",
    "user_id": "u_88213"
  }
}

序列化后不超过 4KB,超限返回 400。

适合放不适合放
订单号、工单号密钥、Token
用户标识身份证号、银行卡号
批次编号大段提示词
调用来源标记二进制数据

metadata 不进入模型,写进去的「让画面更亮一点」不会影响生成结果。需要影响生成的内容一律放 prompt。

metadata 会随任务持久化,也会出现在回调里。写进去的东西等于长期存在平台侧,敏感信息不要放这里。

支持的模型列表

以下视频模型均可通过本接口提交任务,清单只列各厂商最新一代,实际可用范围以你的账号分组为准:

Seedance 系列

  • seedance-2.5旗舰,支持音画同步
  • seedance-2.0上一代主力
  • seedance-2.0-fast快速版
  • seedance-2.0-mini轻量,成本最低 等

更多模型持续更新中…

各型号的能力差异:

项目2.0 家族2.5
最长时长15 秒30 秒
分辨率480p / 720p / 1080p / 4k480p / 720p / 1080p

2.0 家族里 fast 与 mini 只支持 480p 与 720p,4K 仅 2.0 标准版可用。

完整模型目录(含时长上限、音画能力)可读取 GET https://ark.oairoute.com/api/pricing。

使用示例

文生视频

OpenAI 兼容结构把文本放进 prompt,图片放进 image,比原生通道少一层 content 数组包装。提交返回 task_id,再轮询任务状态接口。

图生视频

image 固定按首帧处理。需要控制末帧请改用豆包原生通道。

指定时长与帧率

duration 单位是秒,fps 决定流畅度。时长越长、帧率越高,耗时和费用都会上去。

回调通知

大批量任务不要靠轮询,传 callback_url,任务完成时平台会主动 POST 结果过来。