Sora 2 API

面向开发者的 Sora 2 API

依托 OpenAI Sora 2 与 Sora Pro 构建文本转视频体验。API Key 鉴权,轮询任务状态,数分钟内交付成片。

为什么选择 Sora 2 API

可预期的轮询、20 并发支持与自动存储上传,让你快速上线稳定的视频生成能力。

Sora 2 + Sora Pro

按质量与成本选择模型:sora-2 或 sora-2-pro。

可预期的轮询

创建任务后调用 check-result 轮询状态与进度,无需 SSE 长连。

20 并发支持

最多同时处理 20 个视频生成任务。如需更高并发,请通过邮件联系我们。

鉴权与基础地址

所有接口均部署在 https://freesoragenerator.com/api 域名下。请在请求头通过 Authorization 传入在控制台创建的 API Key。

  • 为每个请求添加 Authorization: Bearer YOUR_API_KEY。
  • 提交 JSON 时请设置 Content-Type: application/json。
  • 每次生成会扣除 20 积分(sora-2)或 30 积分(sora-2-pro),失败任务会自动返还。

核心接口

先创建生成任务,再通过轮询或 webhook 获取结果。

创建 Sora 2 视频

支持文本转视频与图生视频,可选 Sora 2 或 Sora Pro 模型,触发新的生成任务。

请求方法: POST请求路径: /api/v1/video/sora-video

参数说明

  • 必填。可选 "sora-2" 或 "sora-2-pro",按需求选择模型。
  • 必填。用自然语言描述你想要的画面。
  • 选填(推荐)。图生视频模式下的 base64 图像 Data URL,需带前缀 "data:image/*;base64,"。
  • 选填。传统的参考图片 URL;仍支持但优先级低于 imageData。
  • 选填。支持 "9:16"(默认)或 "16:9"。
  • 选填。是否公开显示视频;默认为 true。
  • 选填(VIP 专属)。用于续写/混剪功能的目标视频 pid。
  • 选填(VIP 专属)。角色控制数组;每项包含 url 和 timestamps。
  • 选填。HTTPS 地址,任务成功后会推送完整结果。

使用提示

  • 接口会立即返回 taskId;调用 check-result 轮询,直到状态变为 succeeded 或 failed。
  • 提供 webHook 字段即可在任务完成后以 POST 方式异步收到最终负载。

请求示例

curl -X POST https://freesoragenerator.com/api/v1/video/sora-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro",
    "prompt": "A cinematic shot of a futuristic city at sunset, captured in 4K.",
    "imageData": "data:image/png;base64,iVBORw0KGgoAAA...",
    "aspectRatio": "9:16",
    "isPublic": true
  }'

响应示例

{
  "code": 0,
  "message": "ok",
  "data": {
    "id": "task_1234567890"
  }
}

查询生成结果

通过轮询任务状态来跟踪进度并获取结果。

请求方法: POST请求路径: /api/video-generations/check-result

参数说明

  • 必填。创建任务时返回的唯一标识。

使用提示

  • 接口会校验任务归属,仅返回当前账号的任务数据。
  • 失败任务会自动退款,并在响应中返回 credits_refunded 等退款字段。

请求示例

curl -X POST https://freesoragenerator.com/api/video-generations/check-result \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "task_1234567890"
  }'

响应示例

{
  "code": 0,
  "message": "Success",
  "data": {
    "status": "running",
    "progress": 35,
    "result_url": "https://your-domain.com/storage/videos/xxx.mp4",
    "result_urls": [
      "https://your-domain.com/storage/videos/xxx.mp4"
    ],
    "failure_reason": "",
    "error_message": null,
    "credits_refunded": false,
    "refund_trans_no": null,
    "result_pid": "s_xxx",
    "result_pids": [
      "s_xxx"
    ],
    "metadata": {
      "remixTargetId": "s_prev",
      "characters": [
        {
          "url": "https://.../hero.mp4",
          "timestamps": "0,3"
        }
      ]
    }
  }
}

获取积分与 VIP 状态

查询当前用户的可用积分余额和 VIP 会员状态。

请求方法: POST请求路径: /api/get-user-credits

使用提示

  • 需要有效的登录会话或 API 令牌才能访问用户信息。
  • 返回 left_credits、is_recharged、is_pro 和 is_vip 状态字段。

请求示例

curl -X POST https://freesoragenerator.com/api/get-user-credits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

响应示例

{
  "code": 0,
  "message": "ok",
  "data": {
    "left_credits": 120,
    "is_recharged": true,
    "is_pro": true,
    "is_vip": false
  }
}

1. 创建任务

发送 Sora 2 接口,携带提示词,并保存返回的 taskId。

2. 跟踪进度

调用查询接口,直到状态变为 succeeded 或 failed。

3. 分发成片

使用 result_url / result_urls 中已经上传到存储的地址向用户交付视频。

常见问题

接口如何鉴权?

在控制台创建 API Key 后,以 Authorization: Bearer YOUR_API_KEY 发送请求,可随时在控制台轮换密钥。

如何轮询获取结果?

调用创建接口后保存 taskId,每 3-5 秒调用 /api/video-generations/check-result,直到状态为 succeeded 或 failed,再使用 result_url/result_urls。

失败任务的积分如何处理?

系统会自动返还积分,并在查询结果中返回 refund_trans_no 与 credits_refunded=true,便于对账。

资源与支持

立即接入 Sora2 API

几分钟内创建 API Key,开始生成电影级 AI 视频。