Sora 2是OpenAI推出的新一代Sora多模态视频生成模型,能够根据自然语言描述或参考图像直接生成带有同步音频的高质量视频,目前已正式接入Platform API,有sora-2和sora-2 pro两个模型,本文介绍下在便携AI聚合API中如何使用这两个模型。
一、Sora 2 API介绍
以下是OpenAI Sora 2的介绍:
🎬 Sora 2 — 强大的视频生成模型
Sora 2 是 OpenAI 新一代通用型媒体生成模型,支持从文本或图像生成高质量视频,并自动生成与画面匹配的音频。
特点:
-
🎞️ 可根据文字或图片生成动态视频
-
🔊 自动生成与画面同步的音效与环境音
-
🌈 支持复杂的场景变化与自然过渡
-
⚙️ 性能优化,适合快速内容创作、广告、短片制作等
适用场景:
-
社交媒体短视频创作
-
教学或产品演示视频
-
快速概念可视化
🚀 Sora 2 Pro — 顶级媒体生成模型
Sora 2 Pro 是 OpenAI 当前最先进的媒体生成模型,相比标准版 Sora 2,它在细节表现、场景连贯性、动态范围和音视频融合方面都有显著提升。
优势:
-
📽️ 更高画质与帧率:支持生成更加逼真、电影级细节的视频
-
🔊 高级音频同步:对白、背景声与动作节奏完全一致
-
🧠 更强理解能力:能更准确地理解复杂提示词与镜头描述
-
🎨 更精细控制:适合影视级创作、广告大片、叙事类视频
适用场景:
-
影视与广告创作
-
高质量品牌宣传视频
-
精细叙事或视觉特效制作
Sora 2和Sora 2 Pro都是按照视频的生成时长计费的,即每秒多少钱:
模型名称 (Model) | 分辨率 (Resolution) | 方向 (Orientation) | 价格 (Price per second) |
---|---|---|---|
Sora 2 | 720×1280 / 1280×720 | Portrait / Landscape | $0.10 |
Sora 2 Pro | 720×1280 / 1280×720 | Portrait / Landscape | $0.30 |
Sora 2 Pro | 1024×1792 / 1792×1024 | Portrait / Landscape | $0.50 |
二、Sora 2 API使用教程
OpenAI Sora 2视频模型有专门的视频接口:/v1/videos
。
Sora 2模型名称:sora-2;Sora 2 Pro模型名称:sora-2-pro。
下面以sora-2为例介绍下便携AI聚合API中如何使用OpenAI Sora 2,示例中的api_key
可以在网站后台获取,获取方法:《便携AI聚合API新建令牌(API key)教程》。
1、生成视频
端点:POST /v1/videos
请求头:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | string | 是 | 用户认证令牌 (Bearer: sk-xxxx) |
Content-Type | string | 是 | multipart/form-data |
请求参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
prompt | string | 是 | 描述要生成视频的文本提示词 |
model | string | 否 | 视频生成模型,默认为 sora-2 |
seconds | string | 否 | 视频时长(秒),默认为 4 秒 |
size | string | 否 | 输出分辨率,格式为宽度x高度,默认为 720×1280 |
input_reference | file | 否 | 可选图片参考,用于指导生成 |
python请求示例:
import requests url = f"https://api.bianxie.ai/v1/videos" headers = { 'Content-Type': 'application/json', "Authorization": f"Bearer {api_key}" } data = { "model": "sora-2", "prompt": "A calico cat playing a piano on stage" } response = requests.post(url, headers=headers, json=data) print(response.json())
返回结果:
{ "id": "video_68f5b1fcab1c8193a64e885d0a970afd041b250dc8a53a42", "object": "video", "model": "sora-2", "status": "queued", "progress": 0, "created_at": 1760932348, "seconds": "4", "size": "720x1280" }
请求成功提交后,就可以在便携AI聚合API后台看到这个任务的状态了,地址:便携AI聚合API任务日志页面
这里会看到任务状态、进度,和详情,等任务完成后,可以预览视频:
2、查询视频
端点:GET /v1/videos/{video_id}
根据上一步生成的video_id
来查询视频的状态,例如这里的就是video_68f5b1fcab1c8193a64e885d0a970afd041b250dc8a53a42。
请求参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
video_id | string | 是 | 视频任务ID |
python请求示例:
import requests url = f"https://api.bianxie.ai/v1/videos/{id}" headers = { "Authorization": f"Bearer {api_key}" } response = requests.get(url, headers=headers) print(response.json())
返回结果:(注意视频是有有效期的expires_at
,请及时下载!)
{ "id": "video_68f5b1fcab1c8193a64e885d0a970afd041b250dc8a53a42", "size": "720x1280", "error": null, "model": "sora-2", "object": "video", "status": "completed", "seconds": "4", "progress": 100, "created_at": 1760932348, "expires_at": 1760936013, "completed_at": 1760932413, "remixed_from_video_id": null }
注意:这里有时候会返回 url,那么就可以直接下载,如果没有,则通过第3步获取视频。
3、下载视频
端点:GET /v1/videos/{video_id}/content
根据第2步生成的video_id
来查下载视频(需要第3步的status变成completed才行):
import requests url = f"https://api.bianxie.ai/v1/videos/{id}/content" headers = { "Authorization": f"Bearer {api_key}" } response = requests.get(url, headers=headers, stream=True) if response.status_code == 200: with open("video.mp4", "wb") as f: for chunk in response.iter_content(chunk_size=8192): f.write(chunk) print("视频下载完成!") else: print(f"下载失败,状态码: {response.status_code}, 响应内容: {response.text}")
结果如下: