方案介绍
官转 (官方 API 转发)是指直接调用 OpenAI 官方 Sora API 并透明转发给用户的方案。与当前默认的”官逆”(官网逆向)方案不同,官转方案具有更高的稳定性和更精准的指令遵循能力。
什么是官转? 官转是 OpenAI 官方 API 的透明代理转发服务。您的请求会直接转发到 OpenAI 官方服务器,享受与 OpenAI 官方完全一致的服务质量和稳定性。
方案对比
对比项 官转 官逆(当前默认) 稳定性 99.99% 可用性 依赖逆向,可能波动 指令遵循 精准还原 一般 画质 稳定无模糊 偶现模糊 时长选择 4/8/12 秒 10/15 秒 图生视频 支持 支持 调用方式 仅异步 同步 + 异步 价格 按秒计费 按次计费
如何选择?
追求稳定性和画质 :选择官转方案
追求性价比 :选择官逆方案(当前默认)
支持的模型和定价
sora-2(标准模型)
分辨率 每秒价格 4 秒 8 秒 12 秒 720x1280(竖屏) $0.1 $0.4 $0.8 $1.2 1280x720(横屏) $0.1 $0.4 $0.8 $1.2
sora-2-pro(高清模型)
分辨率 每秒价格 4 秒 8 秒 12 秒 720x1280(竖屏) $0.3 $1.2 $2.4 $3.6 1280x720(横屏) $0.3 $1.2 $2.4 $3.6 1024x1792(竖屏高清) $0.5 $2.0 $4.0 $6.0 1792x1024(横屏高清) $0.5 $2.0 $4.0 $6.0
如何开始使用
调用 API 生成视频
参考下方完整示例调用 API。
API 参考
基础信息
配置项 值 Base URL https://api.laozhang.ai认证方式 Authorization: Bearer YOUR_API_KEY请求格式 multipart/form-data
API 端点
端点 方法 说明 /v1/videosPOST 创建视频生成任务 /v1/videos/{id}GET 查询任务状态 /v1/videos/{id}/contentGET 下载生成的视频
请求参数
参数 类型 必填 说明 modelstring 是 模型名称:sora-2 或 sora-2-pro promptstring 是 视频描述文本 sizestring 否 分辨率,如 1280x720(默认 720x1280) secondsstring 否 视频时长:4、8 或 12(默认 4) input_referencefile 否 参考图片文件(用于图生视频)
支持的分辨率(size 参数)
sora-2:
720x1280(竖屏,默认)
1280x720(横屏)
sora-2-pro:
720x1280(竖屏)
1280x720(横屏)
1024x1792(竖屏高清)
1792x1024(横屏高清)
完整示例
文生视频(cURL)
Step 1: 创建视频生成任务
curl -X POST "https://api.laozhang.ai/v1/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F model="sora-2" \
-F prompt="A golden retriever playing fetch on a sunny beach, waves gently rolling in the background, cinematic lighting" \
-F size="1280x720" \
-F seconds="8"
响应示例:
{
"id" : "video_69788dc4a1c8819887468fbeffdda023" ,
"object" : "video" ,
"model" : "sora-2" ,
"status" : "queued" ,
"progress" : 0 ,
"created_at" : 1769508292 ,
"size" : "1280x720" ,
"seconds" : "8"
}
Step 2: 轮询任务状态
curl "https://api.laozhang.ai/v1/videos/video_69788dc4a1c8819887468fbeffdda023" \
-H "Authorization: Bearer YOUR_API_KEY"
响应示例(进行中):
{
"id" : "video_69788dc4a1c8819887468fbeffdda023" ,
"object" : "video" ,
"status" : "in_progress" ,
"progress" : 45 ,
"created_at" : 1769508292
}
响应示例(完成):
{
"id" : "video_69788dc4a1c8819887468fbeffdda023" ,
"object" : "video" ,
"status" : "completed" ,
"progress" : 100 ,
"created_at" : 1769508292 ,
"completed_at" : 1769508592
}
Step 3: 下载视频
curl "https://api.laozhang.ai/v1/videos/video_69788dc4a1c8819887468fbeffdda023/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o output.mp4
图生视频(cURL)
图生视频 功能允许您提供一张参考图片作为视频的第一帧,AI 会基于这张图片生成动态视频。
curl -X POST "https://api.laozhang.ai/v1/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F model="sora-2" \
-F prompt="The camera slowly zooms in, the scene comes alive with gentle movement, cinematic atmosphere" \
-F size="1280x720" \
-F seconds="4" \
-F input_reference="@your_image.jpeg;type=image/jpeg"
图片要求
图片分辨率必须与 size 参数匹配(如 size=1280x720,则图片需为 1280×720 像素)
支持格式:JPEG、PNG、WebP
不支持包含真人面孔的图片 (会被内容审核系统拒绝)
Python 示例
import requests
import time
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.laozhang.ai"
headers = {
"Authorization" : f "Bearer { API_KEY } "
}
# 文生视频
def create_video ( prompt , model = "sora-2" , seconds = "8" , size = "1280x720" ):
response = requests.post(
f " { BASE_URL } /v1/videos" ,
headers = headers,
data = {
"model" : model,
"prompt" : prompt,
"seconds" : seconds,
"size" : size
}
)
response.raise_for_status()
return response.json()
# 图生视频
def create_video_from_image ( prompt , image_path , model = "sora-2" , seconds = "4" , size = "1280x720" ):
with open (image_path, "rb" ) as f:
response = requests.post(
f " { BASE_URL } /v1/videos" ,
headers = headers,
data = {
"model" : model,
"prompt" : prompt,
"seconds" : seconds,
"size" : size
},
files = {
"input_reference" : (image_path.split( "/" )[ - 1 ], f, "image/jpeg" )
}
)
response.raise_for_status()
return response.json()
# 轮询任务状态
def poll_status ( video_id , timeout = 600 , interval = 15 ):
start_time = time.time()
while time.time() - start_time < timeout:
response = requests.get(
f " { BASE_URL } /v1/videos/ { video_id } " ,
headers = headers
)
response.raise_for_status()
data = response.json()
status = data.get( "status" )
progress = data.get( "progress" , 0 )
print ( f "状态: { status } , 进度: { progress } %" )
if status == "completed" :
return data
elif status == "failed" :
raise Exception ( f "视频生成失败: { data.get( 'error' ) } " )
time.sleep(interval)
raise TimeoutError ( "视频生成超时" )
# 下载视频
def download_video ( video_id , output_path = "output.mp4" ):
response = requests.get(
f " { BASE_URL } /v1/videos/ { video_id } /content" ,
headers = headers
)
response.raise_for_status()
with open (output_path, "wb" ) as f:
f.write(response.content)
print ( f "视频已保存到: { output_path } " )
# 完整流程示例
if __name__ == "__main__" :
# 文生视频
job = create_video(
prompt = "A golden retriever playing fetch on a sunny beach" ,
model = "sora-2" ,
seconds = "8" ,
size = "1280x720"
)
print ( f "任务已创建: { job[ 'id' ] } " )
# 等待完成
result = poll_status(job[ "id" ])
print ( "视频生成完成!" )
# 下载视频
download_video(job[ "id" ], "my_video.mp4" )
# 图生视频示例
# job2 = create_video_from_image(
# prompt="The scene comes alive with gentle movement",
# image_path="reference.jpg",
# model="sora-2",
# seconds="4",
# size="1280x720"
# )
任务状态说明
状态 说明 queued任务已加入队列,等待处理 in_progress正在生成视频 completed生成完成,可下载 failed生成失败
轮询建议 视频生成通常需要 2-5 分钟。建议每 15-20 秒轮询一次状态,避免过于频繁的请求。
开发文档
官转方案完全兼容 OpenAI 官方 API 格式,更多参数和高级用法请参考:
注意事项
重要限制
仅支持异步调用 :官转方案不支持同步 API,所有请求均为异步模式
仅支持按量计费 :必须选择”按量计费”模式,不支持”按次计费”
分组选择 :创建令牌时必须选择”Sora2官转”分组
图片限制 :图生视频不支持包含真人面孔的图片
常见问题
官转是直接调用 OpenAI 官方 API 的透明转发,稳定性高达 99.99%;官逆是通过逆向工程官网实现的方案,价格更低但稳定性可能受影响。
OpenAI 官方 Sora API 本身只提供异步调用方式,因此官转方案也仅支持异步调用。
官转方案支持 OpenAI 官方的 4/8/12 秒时长选项;官逆方案支持的是官网界面的 10/15 秒时长。
图片分辨率必须与目标视频的 size 参数匹配。例如,如果设置 size=1280x720,则图片必须是 1280×720 像素。支持 JPEG、PNG、WebP 格式,不支持包含真人面孔的图片。