视频生成是异步任务。创建任务后保存任务 ID,再轮询查询状态;任务完成后读取结果 URL,或下载视频文件并转存到自己的对象存储。 通用视频任务优先使用:
OpenAI 风格视频接口使用:
这两组接口都会返回任务对象,不会在创建请求里直接返回最终视频文件。

文生视频

prompt 应说明主体、动作、镜头运动、画面环境和比例。不同模型对 duration、size、aspect_ratio、resolution、mode 的支持不同,接入前先用 /v1/models 确认可用模型 ID。

图生视频

参考图建议使用公网可访问的 OSS 或 CDN URL,并确保任务执行期间不会过期。多图、首尾帧、参考视频和参考音频字段以具体模型说明和 API Reference 为准。

OpenAI 风格视频

以下特价版视频模型统一使用 POST /v1/videos,公开文档只推荐 application/json:

文生视频

omni_flash-10s 的时长和 720p 档位已经包含在模型规格中,不需要额外传 duration。

图生视频

参考图片通过 JSON 的 images 数组传入:
图片 URL 必须是公网可访问的文件直链,且在任务执行期间不能过期。

视频修改

omni_flash-10s 可以把公网视频直链放入 images,再通过 prompt 描述修改目标:

首尾帧视频

模型名包含 -fl 时,images[0] 是首帧,images[1] 是尾帧:
veo_3_1-lite-fl 使用相同的 JSON 结构,将 model 改为 veo_3_1-lite-fl 即可。只有一张参考图时,只传一个数组元素。不要把 images 写成单个字符串。

轮询任务

通用视频任务:
OpenAI 风格视频任务:
前端或服务端轮询时,只在成功或失败这类终态停止。任务仍在排队或运行时继续等待,并展示处理中状态。网络请求临时失败时等待下一轮继续查询,不要立即重复创建新任务。

下载结果

任务完成后下载视频内容:
这个接口返回视频二进制,不是 JSON。浏览器端可以转成 Blob 播放或下载;服务端建议下载后转存到自己的对象存储,并在业务数据里保存任务 ID、模型、请求参数摘要和最终文件地址。

常见模型和兼容接口

  • Seedance 的请求体和示例见 Seedance 视频。Wan 3.0 见 Wan 视频。都使用 POST /v1/videos,字段放在 JSON 顶层。
  • MiniMax H3 768p 和 2K 见 MiniMax H3 768p 与 2K。图生视频用 image_url,首尾帧用 start_image_url 和 end_image_url。
  • Flux 3 Video 见 Flux 3 Video。使用 POST /v1/videos,完成后读取 url。
  • omni_flash-10s、veo_3_1-fast、veo_3_1-lite-fl 和 veo_3_1-fast-fl-hd 走 /v1/videos 和 /v1/videos/{video_id}。
  • Sora 等其他 OpenAI 风格模型通常也走 /v1/videos、/v1/videos/{video_id} 和 /v1/videos/{task_id}/content。
  • Kling、Veo、Seedance 等模型可走通用 /v1/video/generations。
  • 豆包 Seedance 也支持火山方舟 Ark SDK 风格的 /api/v3/contents/generations/tasks。
  • Kling 原生路径还包括 /kling/v1/videos/text2video 和 /kling/v1/videos/image2video。
具体参数、请求示例和返回结构见 API Reference 的“视频任务”接口组。