Skip to main content
POST
文生视频:根据文本提示词生成视频任务
右侧的交互式 Playground 支持直接在线调试。请在 Authorization 中填入你的 API Key(格式:Bearer sk-xxx),输入 prompt、选择 model / size / seconds 后一键发送即可。
场景说明:本页用于「纯文本提示词生成视频」——不传 input_reference、走 application/json 请求体。如需基于一张参考图生成视频(图生视频),请使用 图生视频接口(同一端点 + input_reference 文件上传)。
⚠️ 三步异步流程,本页只覆盖第一步(提交)
  • 第 1 步(本页)POST /v1/videos → 返回 video_id + status: "queued"
  • 第 2 步GET /v1/videos/{video_id} 轮询,直到 status: "completed"
  • 第 3 步GET /v1/videos/{video_id}/content 下载 MP4 文件
POST 提交本身耗时秒级,不会等到视频生成完成。完整流程见下方 Python 代码示例。

代码示例

Python(OpenAI SDK 直连)

Python(原生 requests)

cURL

Node.js(原生 fetch)

浏览器 JavaScript

参数说明速查

详细的参数约束、可选值、示例请查看右侧 Playground 中的字段说明,所有 enum 字段均支持下拉选择。图生视频相关参数(input_reference 文件上传)见 图生视频接口

响应格式

第 1 步 - 提交后立即返回

第 2 步 - 轮询返回(生成中)

第 2 步 - 轮询返回(完成)

⚠️ 响应字段陷阱
  • 没有直接的 video_url 字段 —— 视频文件需要通过 GET /v1/videos/{id}/content 端点单独下载(返回 video/mp4 二进制流),不要期待响应里直接出现一个 CDN 链接
  • progress 字段在不同生成阶段会跳变(如 0 → 45 → 80 → 100),不是严格线性的
  • status: "failed" 时不一定带详细 error 字段,多见于内容审核或服务过载,直接重试或调整 prompt 即可
  • 视频内容在 OpenAI 上只保留 1 天,过期后 /content 返回 404
本端点是异步任务式入口,计费在生成完成时按 seconds 单价结算(见 概览页定价表)。POST 提交、轮询查询、视频下载本身不计费,失败任务也不计费

授权

Authorization
string
header
必填

在 API易控制台获取的 API Key(必须配置 Sora2官转 分组 + 按量计费)

请求体

application/json
model
enum<string>
默认值:sora-2
必填

模型 ID。sora-2 仅支持 720p;sora-2-pro 支持 720p / 1024p / 1080p 三档分辨率

可用选项:
sora-2,
sora-2-pro
prompt
string
必填

视频生成提示词,建议详细描述场景、镜头运动、风格、光线、人物动作

示例:

"A serene Japanese garden with cherry blossoms, koi pond, traditional bridge, golden hour, ultra detailed"

seconds
enum<string>
默认值:4

视频时长,字符串枚举(不是数字):

  • "4" —— 4 秒(默认),适合短演示、单镜头、快速试错
  • "8" —— 8 秒,标准短视频,最常用
  • "12" —— 12 秒,长镜头、连续动作

"10" / "15" 或数字 4 会返回 400

可用选项:
4,
8,
12
size
enum<string>
默认值:720x1280

输出分辨率,sora-2sora-2-pro 支持档位不同

  • sora-2(仅 720p):720x1280(竖屏,默认)/ 1280x720(横屏)
  • sora-2-pro 额外支持:
    • 1024x1792 / 1792x1024(1024p,$0.50/秒)
    • 1080x1920 / 1920x1080(1080p,$0.70/秒)

sora-2 传 1024p / 1080p 会返回 400

可用选项:
720x1280,
1280x720,
1024x1792,
1792x1024,
1080x1920,
1920x1080

响应

任务已提交,返回 video_id 与 queued 状态

id
string

任务 ID,用于后续轮询和下载

示例:

"video_abc123def456"

object
string

对象类型,固定 video

示例:

"video"

model
string

本次任务使用的模型 ID

示例:

"sora-2"

status
enum<string>

任务状态:

  • queued —— 已提交,排队等待
  • in_progress —— 正在生成
  • completed —— 完成,可下载(/v1/videos/{id}/content
  • failed —— 失败(不计费),可重试
可用选项:
queued,
in_progress,
completed,
failed
示例:

"queued"

progress
integer

生成进度百分比(0–100),不严格线性

示例:

0

created_at
integer

任务创建 Unix 时间戳(秒)

示例:

1712697600

completed_at
integer

任务完成 Unix 时间戳(秒),仅 completed 状态返回

示例:

1712697900

size
string

实际输出分辨率(与请求的 size 一致)

示例:

"1280x720"

seconds
string

实际生成时长(与请求的 seconds 一致)

示例:

"8"

quality
string

画质档位(standard 对应 sora-2,high 对应 sora-2-pro)

示例:

"standard"