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

文生视频

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

图生视频

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

OpenAI 风格视频

上传参考文件时使用 multipart/form-data,并把文件放到 input_reference。已生成的视频可以用 POST /v1/videos/{video_id}/remix 继续调整风格、节奏或镜头表现。

轮询任务

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

下载结果

任务完成后下载视频内容:
这个接口返回视频二进制,不是 JSON。浏览器端可以转成 Blob 播放或下载;服务端建议下载后转存到自己的对象存储,并在业务数据里保存任务 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 的“视频任务”接口组。