新用户添加客服WX:wittyurchin,领取 10$ 站内免费体验额度查看通知

VIDEO API

视频生成

使用 RootFlowAI OpenAI-compatible 视频接口提交异步任务、查询状态并下载生成结果。

视频生成

RootFlowAI 的视频生成接口兼容 OpenAI Videos API。视频任务是异步执行的:先提交任务拿到 task_id,再轮询查询状态,任务完成后通过 content 接口在线播放或下载 MP4。

已完成的视频会保留 7 天,请及时下载保存。视频内容通过 RootFlowAI 代理返回,不暴露上游供应商的原始文件地址。

接口流程

POST /v1/videos
  -> 返回 task_id

GET /v1/videos/{task_id}
  -> 查询 queued / in_progress / completed / failed

GET /v1/videos/{task_id}/content
  -> completed 后下载视频文件

你也可以登录 RootFlowAI 门户,在 /account/video-tasks 查看当前账号的视频任务、预览结果并下载文件。

可用模型

当前视频模型分为按秒计费和按次计费两类。按次计费模型是固定规格,提交时即使传入不同 secondsresolution,系统也会按该公开模型的固定规格处理。

需要显式传入秒数时,请把 seconds 写成 JSON 字符串,例如 "seconds": "8"。这能兼容 Sora、Veo、Seedance 等视频上游的参数格式。

模型 ID计费方式规格说明
sora-2按秒Sora 2 视频生成
veo-3.1-lite-8s-720p按次Veo 3.1 Lite,固定 8 秒,720p
gemini-omni-720p-4s按次Gemini Omni,固定 4 秒,720p
gemini-omni-720p-6s按次Gemini Omni,固定 6 秒,720p
gemini-omni-720p-8s按次Gemini Omni,固定 8 秒,720p
gemini-omni-720p-10s按次Gemini Omni,固定 10 秒,720p
seedance-2.0-fast-480p按秒Seedance 2.0 Fast,480p
seedance-2.0-720p按秒Seedance 2.0,720p

实际扣费还会受到你的账号分组倍率影响,请以控制台展示和账单记录为准。

提交视频任务

curl https://api.rootflowai.com/v1/videos \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-720p-4s",
    "prompt": "一只黑色中华田园犬在阳光明媚的草地上快乐奔跑,毛发自然摆动,尾巴摇摆,表情开心,镜头跟随运动,真实纪录片风格,清晰自然光,充满活力。"
  }'

按秒计费模型示例:

curl https://api.rootflowai.com/v1/videos \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "一只黑色中华田园犬在阳光明媚的草地上快乐奔跑,真实纪录片风格。",
    "seconds": "4",
    "resolution": "720p"
  }'

响应示例:

{
  "id": "task_xxxxxxxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "gemini-omni-720p-4s",
  "status": "queued",
  "progress": 0,
  "created_at": 1782892800
}

记录返回的 id,后续查询和下载都使用这个任务 ID。

查询任务状态

curl https://api.rootflowai.com/v1/videos/task_xxxxxxxxxxxxxxxxxxxxx \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx"

状态说明:

状态含义
queued任务已提交,等待调度
in_progress正在生成
completed生成完成,可以下载
failed生成失败

完成响应示例:

{
  "id": "task_xxxxxxxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "gemini-omni-720p-4s",
  "status": "completed",
  "progress": 100,
  "created_at": 1782892800,
  "completed_at": 1782893010
}

如果状态是 failed,响应里会带错误信息。失败任务不会返回可下载视频。

如果任务已经生成完成,但系统仍在准备视频存储,可能会短暂看到 video storage is preparing。稍后重新查询任务或下载 content 即可。

下载视频

任务状态为 completed 后,使用 content 接口下载:

curl -L https://api.rootflowai.com/v1/videos/task_xxxxxxxxxxxxxxxxxxxxx/content \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx" \
  -o output.mp4

content 接口返回的是视频二进制内容,通常为 video/mp4。任务未完成时,该接口不会返回视频文件。

下载接口会通过 RootFlowAI 的视频代理读取已转存的视频文件,不会把上游供应商的原始视频 URL 返回给用户。

在门户查看任务

登录 RootFlowAI 后进入:

/account/video-tasks

视频任务中心可以查看:

  • 任务 ID
  • 模型
  • 状态和进度
  • 创建时间和更新时间
  • 失败原因
  • 成功任务的视频预览和下载按钮

门户只展示用户自己的视频任务信息。供应商、上游任务 ID、内部路由、采购成本和三方原始视频 URL 不会在用户侧展示。

注意事项

  • 视频生成耗时通常比文本和图片更长,请使用轮询方式查询结果。
  • 不要在任务未完成时反复下载 content,先查询状态更稳。
  • 已完成的视频会保留 7 天,建议生成完成后及时下载保存视频文件。
  • 如果任务失败,可以根据错误信息调整 prompt、模型或输入素材后重新提交。
  • API Key 只应保存在服务端或可信环境,不要写进公开前端代码。