/v1/videos 调用火山方舟 Doubao Seedance 视频模型,并与官方 Sora/Veo 接口保持一致的体验:
- 统一的请求体:
model/prompt/seconds/size/input_reference; - 统一的任务 ID:响应中的
id均为video_<PlatformTaskID>形式; - 统一的查询方式:
GET /v1/videos/{id}。
对比关系:
- 原生 Ark 接口:
POST /volcark/api/v3/contents/generations/tasks(见doubao/video文档)- OpenAI 风格接口(本页):
POST /v1/videos
1. 前置条件
doubao-seedance-1-0-prodoubao-seedance-1-0-pro-fastdoubao-seedance-1-0-lite-t2vdoubao-seedance-1-0-lite-i2v
2. OpenAI 风格接口概览
在 OpenAI 风格模式下,你只需要关注统一的/v1/videos 接口:
- 创建任务:
POST /v1/videos - 查询任务:
GET /v1/videos/{id} - 下载内容:
GET /v1/videos/{id}/content
3. 文生视频示例(T2V)
以doubao-seedance-1-0-pro-fast 为例:
id:平台生成的全局任务 ID,始终以video_开头;- 其内部对应
model.Task.PlatformTaskID; - 在
/panel/task页面中你会看到同一个值(列名为「任务ID」)。
- 其内部对应
model:保留对外暴露的 API 模型名(例如doubao-seedance-1-0-pro-fast),不会泄露 Ark 内部版本化 ID。
4. 图生视频示例(I2V)
图生视频模型通过input_reference 传入参考图 URL(兼容 input_image / input_images):
对于 I2V 模型(如
doubao-seedance-1-0-lite-i2v),若未提供任何图片引用,平台会返回错误:image to video models require image in content5. 查询任务状态
创建任务后,可通过id 查询最新状态:
status:queued/in_progress/completed/failed等;video_url:- 为平台代理后的 URL(由
proxyVideoURLs生成),不会暴露 Ark 源站域名; - 同一 URL 会出现在
/panel/task弹窗中的「平台最终响应」里。
- 为平台代理后的 URL(由
relay.VideoRetrieve会根据video_前缀将VIDEO_ID还原为内部PlatformTaskID;- 根据任务的
Platform(sora或volcark)选择对应 Provider; - 对 VolcArk 任务,调用
providers/volcark/video.go的RetrieveVideo,使用 Ark 的task_id查询最新状态。
6. 下载视频内容
下载内容与 Sora/Veo 对齐,使用/v1/videos/{id}/content:
7. 与原生 VolcArk 接口的对比
| 维度 | 原生 VolcArk 接口 | OpenAI 风格接口 /v1/videos |
|---|---|---|
| 创建路径 | /volcark/api/v3/contents/generations/tasks | /v1/videos |
| 请求体 | model + content[{type,text/image_url,...}] | model + prompt + seconds + size + input_reference |
| 任务 ID | Ark 的 id / task_id(不带前缀) | 平台全局 ID:video_<PlatformTaskID> |
| 查询路径 | /volcark/api/v3/contents/generations/tasks/{task_id} | /v1/videos/{id} |
| 控制台任务列表 | PlatformTaskID(原生:裸 ULID;现在:带 video_ 前缀) | 同一值,展示为 video_<PlatformTaskID> |
- 如希望与 OpenAI Sora/Veo 风格统一,优先使用本页的
/v1/videos接口; - 如需完全对齐火山方舟官方文档(原生字段),可使用
doubao/video文档中的 VolcArk 原生接口。
