Sora-2 视频生成使用指南
Sora-2 视频生成使用指南
OpenAI 系视频模型,写实风、质感强、价格便宜,是日常出短视频的首选。 先读 视频生成总览 拿到接口共通约定,再看本页细节。
接口地址 & 模型
- 创建任务:
POST https://your-domain.com/v1/video/generations(把your-domain.com换成你的预制小龙虾域名) - 查询任务:
GET https://your-domain.com/v1/video/generations/{task_id} - API 模型 ID:
sora-2(标准版)/sora-2-pro(高清版) - 认证:HTTP Header
Authorization: Bearer <你的 API 令牌> - 任务类型:异步任务(提交 → 轮询 → 下载,无需配置 callback)
拿令牌 + 怎么测试(5 分钟流程)
- 登录你的预制小龙虾后台(
https://your-domain.com)。 - 左侧菜单进「令牌」页,点「添加令牌」,分组挑含 Sora 的视频分组,生成后完整复制好。
- 打开 Postman 或终端 curl,按本文「文生视频 curl 示例」粘贴执行;拿到
task_id后调查询接口轮询,直到status=completed。 - 第一次只传
model+prompt跑通,再加duration/size等可选参数。
分组开通须知
视频模型属于受控分组 sora-veo-grok-video,新用户无法自助开通。
- 在 newapi 后台「个人 → API 令牌」页生成令牌时,如果令牌分组下拉找不到
sora-veo-grok-video,请联系客服 zhiyanck@gmail.com 开通该分组权限。 - 已开通用户:创建令牌时选
sora-veo-grok-video分组,调用即可。 - 余额不足时调用会返回
403 quota_exceeded,先充值再试。
sora-2 vs sora-2-pro 怎么选
| 模型 | 画质 | size 选项 | 典型场景 |
|---|---|---|---|
sora-2 | 标清,质感够用 | 默认(不传 size) | 日常试稿、社媒短视频、提示词调试 |
sora-2-pro | 高清,细节更丰富 | 默认(不传 size) / large(large 加价 50%) | 商用交付、广告短片、需要更高细节的镜头 |
一句话:先用 sora-2 跑通,确认效果后再切 sora-2-pro large 出终稿。
size 字段使用约束
上游 sora-2 / sora-2-pro 不接受 size: "small" 字面值(会返回 400 invalid_size)。如要走默认 small 价格档,请完全不传 size 字段;只在需要 sora-2-pro 的 large 加价档时填 "size": "large"。
完整参数表
| 参数 | 类型 | 必填 | 可选值 / 说明 |
|---|---|---|---|
model | string | 是 | sora-2 或 sora-2-pro |
prompt | string | 是 | 视频描述,建议英文写法更稳;中文也支持 |
duration | int | 否 | 4 / 8 / 12 秒,默认 4 |
image_urls | string[] | 否 | 图生视频参考图,1–3 张公网 URL |
characters | array | 否 | 多角色 cameo,每个元素 {name, image_url} |
size | string | 否 | 画幅档位 — 只接受 "large"。只在你想用 large 加价档(仅 sora-2-pro 支持,按 small 价格 ×1.5)时填写 "large";默认 small,请不要传 "small" 字面值(上游会返回 400 invalid_size),也不要传 1280x720 / 720x1280 这类分辨率字面值 |
注意
- 必填只有
model+prompt,其它字段都可以省略;省略duration默认4秒。 - 平台不开放
callback_url/webhook_url,结果一律走GET /v1/video/generations/{task_id}取。 size字段只接受"large";要走默认 small 档请完全不传size。传"size": "small"会被上游拒绝(400 invalid_size)。sora-2不支持size=large,仅sora-2-pro支持 large 加价档。image_urls必须公网可访问,不要传 base64 或本地路径。- 含真人人脸的图片需自有授权,平台对人物素材有合规审查。
文生视频 curl 示例
把
your-domain.com换成你的预制小龙虾域名。
curl -X POST "https://your-domain.com/v1/video/generations" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Cinematic shot of a steaming bowl of crawfish on a rustic wooden table, red spices glistening, soft warm light from the side, shallow depth of field, food commercial style",
"duration": 8
}'响应(关键字段):
{
"task_id": "task_xxx",
"id": "task_xxx",
"model": "sora-2",
"status": "queued",
"created_at": 1717000000
}拿到 task_id 后调用查询接口轮询:
curl "https://your-domain.com/v1/video/generations/task_xxx" \
-H "Authorization: Bearer <YOUR_API_KEY>"status=completed 后按 总览页 的下载流程取视频。
图生视频 curl 示例
curl -X POST "https://your-domain.com/v1/video/generations" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2-pro",
"prompt": "Use image 1 as the main product. Camera slowly pushes in, soft top light, water droplets on the surface, premium beverage commercial",
"image_urls": [
"https://example.com/your-product.jpg"
],
"duration": 8,
"size": "large"
}'多角色 cameo 示例
sora-2 支持多个角色同框,每个角色配一张参考图:
curl -X POST "https://your-domain.com/v1/video/generations" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2-pro",
"prompt": "Alice and Bob are sitting at a wooden table sharing a bowl of crawfish, both laughing, warm restaurant ambient light, handheld camera, cinematic",
"characters": [
{ "name": "Alice", "image_url": "https://example.com/alice.jpg" },
{ "name": "Bob", "image_url": "https://example.com/bob.jpg" }
],
"duration": 12
}'角色提示词写法
在 prompt 里直接用 characters[].name 出现的名字(如 "Alice"、"Bob"),模型会把名字和参考图对应上。
价格表 + 算例
售价已是客户最终价,按 1:1 站内汇率扣费。计费按时长档位整档收费(不是真正的每秒线性计价)。
| 模型 | size | 4 秒 | 8 秒 | 12 秒 |
|---|---|---|---|---|
sora-2 | 默认(不传 size) | 1.23 元 | 2.46 元 | 3.69 元 |
sora-2-pro | 默认(不传 size) | 1.23 元 | 2.46 元 | 3.69 元 |
sora-2-pro | size=large | 1.85 元 | 3.69 元 | 5.54 元 |
舍入说明:表中价格按"每秒 0.308 USD × 时长(× 1.5 若 large)× QuotaPerUnit"计算后按 0.5 分(0.005 元)截尾展示。例如 12s 默认档实际预扣
0.308 × 12 = 3.696元,展示截尾为3.69 元;12s large 实际5.544元,截尾5.54 元。用户单次实际扣费以 newapi 后台「调用日志」精确金额为准,截尾仅为文档可读性。
算例: 我用 sora-2-pro 生成 8 秒 large 视频要扣多少钱?
8 秒默认档(不传 size)单价 2.46 元 × 1.5(large 加价系数) = 3.69 元实际扣费以接口返回的 usage 字段为准(任务失败不扣费)。
提示词技巧(小白也能写好)
记住一个公式:主体 + 动作 + 镜头 + 光线 + 风格。
| 要素 | 示例片段 |
|---|---|
| 主体 | A steaming bowl of crawfish |
| 动作 | slowly rotates on the table |
| 镜头 | cinematic close-up, slow push in |
| 光线 | soft warm afternoon light from the window |
| 风格 | food commercial style, photorealistic, 35mm film grain |
拼起来:
Cinematic close-up of a steaming bowl of crawfish slowly rotating on a rustic table, soft warm afternoon light from the window, slow camera push in, photorealistic food commercial style, 35mm film grain.
进阶小技巧:
- 想要写实:加
photorealistic、35mm film、shallow depth of field。 - 想要广告感:加
commercial、product shot、studio lighting。 - 想要电影感:加
cinematic、anamorphic、color graded。 - 不要写: "make it beautiful"、"awesome"。这些词模型 get 不到。
常见错误 + 排查
| 现象 | 可能原因 | 处理 |
|---|---|---|
400 invalid duration | 时长不是 4/8/12 | 改成 4、8 或 12 |
400 invalid_size | sora-2 / sora-2-pro 不接受 size: "small" 字面值 | 删掉 size 字段,默认就是 small;只在需要 large 加价时填 "size": "large" |
400 size not supported | sora-2 传了 size=large | 切到 sora-2-pro 或去掉 size |
401 | 令牌格式错 / 已过期 | 重新生成令牌,确认完整复制(含 sk- 前缀) |
503 no_available_channel | 令牌分组不含 sora-2 渠道 / 渠道全部停用 | 确认令牌分组是 sora-veo-grok-video;如显示开通仍不通联系客服 zhiyanck@gmail.com |
402 | 余额不足 | 充值 |
任务一直 queued | 上游排队 | 别重复提交,正常等 3–5 分钟 |
任务 failed,提示 content policy | 提示词触发内容审查 | 改 prompt,去除可能敏感的描写 |
| 图生视频结果完全不像参考图 | 参考图不清晰 / prompt 没引用 | 换更清晰的参考图,prompt 加 "use image 1 as ..." |
FAQ
我能生成多长的视频?
最长 12 秒。需要更长就分多段生成后剪辑,或者考虑 Grok-Video(最长 30 秒)。
支持竖版(短视频平台)吗?
上游模型默认输出比例由 prompt 主导,平台不再通过 size 指定分辨率字面值(传 1280x720 / 720x1280 会被拒)。建议在 prompt 里显式描述比例,例如 vertical 9:16 composition for short video platforms,或在剪辑环节裁剪到目标比例。
生成失败会扣钱吗?
不会。只有任务状态变为 completed / success 才会真正扣费。
一次最多能提交多少任务?
接口本身没有硬上限,但请避免一次性丢几百个进去;建议设并发上限 5–10,配合任务队列。
平台支持 webhook / callback 吗?
不支持。任务完成结果统一通过 GET /v1/video/generations/{task_id} 查询接口取,不要在请求体里塞 webhook_url / callback_url,会被忽略或直接 400。
中文 prompt 行不行?
行,但英文 prompt 命中率高一些。不会英文就用中文,模型自己会翻。
上一步:视频生成总览 | 下一步:Veo 3.1 视频生成使用指南
