Official shape
Azure 官方接口定义怎么映射到 UniKeyX
POST {endpoint}/openai/v1/video/generations/jobs?api-version=preview
请求体使用 prompt、model、width、
height、n_seconds、n_variants。
查询任务和下载内容分别使用 job ID 与 generation ID。
POST https://api2.unikeyx.com/v1/videos
对终端用户隐藏 Azure 资源端点和 Azure API key,只保留 OpenAI 兼容的视频接口: 创建任务、按 ID 查询状态、按 ID 下载内容。
Azure 官方文档中 Sora-2 属于预览能力,并提供原生 job API 与 OpenAI 兼容 SDK 示例。
UniKeyX 用户只需要使用本站的 /v1/videos 路径和 Bearer Token。
参考:Microsoft Learn Sora-2 概览 和 Azure OpenAI v1 preview REST reference。
Before request
调用前准备好 Key、模型名和视频规格
用户侧只需要使用 UniKeyX API Key、选择模型、填写提示词和视频规格。视频生成是异步任务,创建后保存任务 ID 再轮询状态。
sora-2
适合常规文生视频。建议先使用 720x1280 或 1280x720、4 到 8 秒。
Create video
创建 Sora-2 视频任务
curl https://api2.unikeyx.com/v1/videos \
-H "Authorization: Bearer YOUR_UNIKEYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "A cinematic vertical video of a futuristic city street after rain, neon reflections, slow camera push forward",
"seconds": "4",
"size": "720x1280"
}'
成功响应
{
"id": "task_xxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxx",
"object": "video",
"model": "sora-2",
"status": "queued",
"progress": 0,
"seconds": "4",
"size": "720x1280"
}
保存任务 ID
后续查询和下载都使用返回的 id。不要把用户 API Key 放到浏览器前端,也不要依赖供应商侧内部任务 ID。
Fetch result
查询状态并下载视频
curl https://api2.unikeyx.com/v1/videos/task_xxxxxxxxxxxxx \
-H "Authorization: Bearer YOUR_UNIKEYX_API_KEY"
curl -L https://api2.unikeyx.com/v1/videos/task_xxxxxxxxxxxxx/content \
-H "Authorization: Bearer YOUR_UNIKEYX_API_KEY" \
-o sora-output.mp4
{
"id": "task_xxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxx",
"object": "video",
"model": "sora-2",
"status": "completed",
"progress": 100,
"created_at": 1785000000,
"completed_at": 1785000070,
"expires_at": 1785086400,
"seconds": "4",
"size": "720x1280"
}
视频生成通常需要几十秒到数分钟。状态进入 completed 后请尽快下载或转存,生成任务和结果不会无限期保留。
Parameters
常用请求参数
sora-2。
"4" 或 "8" 验证。
720x1280 或 1280x720。
queued、in_progress、completed、failed。
Troubleshooting
常见错误与处理
返回 401 或 Invalid token
检查请求头是否包含 Authorization: Bearer YOUR_UNIKEYX_API_KEY,并确认 API Key 没有被禁用。
提示 model not found 或模型不可用
检查 model 是否填写正确、API Key 是否有该模型调用权限,以及账户额度是否充足。
提示 size invalid
先使用 720x1280 或 1280x720,不要使用未列出的尺寸。
任务进入 failed
读取响应里的 error.message。常见原因包括内容安全策略拦截、提示词不合规、规格不支持或余额不足。
任务完成后下载失败
优先使用 /v1/videos/{id}/content 下载。结果可能有有效期,完成后建议尽快转存。