Skip to main content
POST
右侧的交互式 Playground 支持在线调试。在 Authorization 填入你的 API Key(格式 Bearer sk-xxx),填好 prompt、seconds、size 即可发送。发送后拿到的是任务 id,视频要用下文的查询接口取回。
一个端点,四种玩法:只给 prompt = 文生视频;input_reference 填一张图 = 首帧生视频;input_reference 填 JSON 信封 = 首尾帧 / 参考素材生视频,也可以在信封里选 320p、1:1。能力总览见 Oxygen 概览。
⚠️ 最容易踩的四个坑
  1. 每次都显式传 size:不传时网关默认补 720x1280,出来是竖屏
  2. 高级参数写进 input_reference 信封:顶层只有 model、prompt、seconds、size、input_reference 会生效;last_image、reference_images、resolution、aspect_ratio 写在顶层会被静默丢弃,不报错
  3. input_reference 必须是字符串:信封先 json.dumps / JSON.stringify 再放进去,直接传对象或数组会被拒
  4. 时长只用顶层 seconds(4–15),信封里写 duration 会返回 400

代码示例

Python(requests · 提交 + 轮询 + 下载)

Python(首帧生视频 · 请求体片段)

Python(首尾帧 / 参考素材 · JSON 信封)

cURL

首尾帧(注意 input_reference 的值是转义后的 JSON 字符串):

Node.js(原生 fetch)

已有 id?一条 cURL 查结果

status 为 completed 时,video_url 就是 MP4 地址,可直接下载:

参数说明速查

顶层字段(只有这五个会生效)

input_reference 信封字段

信封里不能写 duration(时长用顶层 seconds),也不能出现表外的键;首尾帧(images / last_image)与 reference_* 不能混用。违反任一条返回 400(param: input_reference),不扣费。

清晰度与输出尺寸(实测)

图生视频的画幅跟随首帧图片,例如方图首帧输出 480×480(480p)。

响应格式

创建任务

查询任务(成功)

查询任务(失败)

提交报错(400)

⚠️ 响应字段要点
  • 状态依次为 queued → in_progress → completed / failed
  • 成片地址在 video_url,下载不需要鉴权头;expires_at 之后失效(约 24 小时),请及时转存
  • 刚变成 completed 时,/v1/videos/{id}/content 可能还要几秒才能下载(先返回 400),优先用 video_url
  • usage.unit_price_usd 是按清晰度的参考单价,实际扣费以账单为准:统一 $0.02/秒
  • 提交报错时,具体原因是 message 字段里的一段 JSON 字符串,需要再解析一次
计费:任务受理时按 seconds × \$0.02 预扣,清晰度和参考素材不影响价格;任务失败会自动全额退款。提交阶段返回 400 的请求不扣费,查询与下载不收费。价格详见 概览页定价。

授权

Authorization
string
header
必填

在 API易控制台获取的 API Key

请求体

application/json
model
enum<string>
默认值:oxygen-1.0
必填

固定为 oxygen-1.0

可用选项:
oxygen-1.0
prompt
string
必填

视频描述

示例:

"A paper boat drifting on a calm pond, soft morning light"

seconds
enum<string>
默认值:4
必填

输出时长(秒),整数 4–15,字符串或数字均可。按此计费;成片通常略长于请求值

可用选项:
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15
size
enum<string>
默认值:1280x720

决定清晰度与横竖。建议每次都传,不传默认 720x1280(竖屏)。 1280x720 = 480p 横屏,720x1280 = 480p 竖屏,1792x1024 = 768p 横屏,1024x1792 = 768p 竖屏。 320p 和 1:1 请用 input_reference 信封里的 resolution / aspect_ratio。

可用选项:
1280x720,
720x1280,
1792x1024,
1024x1792
input_reference
string

两种写法:

  • 图片链接或 data URI → 首帧生视频,画幅跟随首帧
  • 以 { 开头的 JSON 字符串(信封)→ 可用键:images(首帧,≤1)、last_image(尾帧)、reference_images(≤9)、reference_videos(≤3,仅 https)、reference_audios(≤3,仅 https)、resolution(320p / 480p / 768p,优先于 size)、aspect_ratio(16:9 / 9:16 / 1:1,图生时忽略)、prompt

必须是字符串,信封要先 JSON 序列化;信封里不能写 duration、不能有未知键;首尾帧不能与参考素材混用。

示例:

"https://your-cdn.example.com/first.png"

响应

任务已受理

id
string

任务 id,用于 GET /v1/videos/{id} 查询

object
enum<string>
可用选项:
video
model
string
status
enum<string>
可用选项:
queued,
in_progress,
completed,
failed
progress
integer

0–100

seconds
string
size
string
created_at
integer
completed_at
integer
expires_at
integer

video_url 失效时间(Unix 秒),约为完成后 24 小时

video_url
string

成片 MP4 地址,下载不需要鉴权头,请及时转存

usage
object

参考计费信息;实际扣费统一为 $0.02/秒,以账单为准

error
object