Sora 2 Pro API

Sora 2 Pro API を統合する

予測可能なポーリングとクレジット管理で、テキストから動画、画像から動画、ストーリーボードのワークフローを構築。

Sora 2 Pro API が提供するもの

本番環境対応の Sora 2 Pro パイプラインを立ち上げるために必要なすべて。

5つのモデルバリアント

品質とコストに基づいて、sora-2 テキスト/画像または sora-2-pro テキスト/画像/ストーリーボードを選択。

ストーリーボードサポート

shots[] とショットごとの duration でマルチショットナラティブを定義。

統一されたレスポンス

エラー時に HTTP ステータスが 200 でも、すべてのエンドポイントは code/message/data を返します。

認証とベース URL

ベース URL: https://freesoragenerator.com。API キーまたはログイン済みセッション Cookie で認証します。

  • Authorization: Bearer [TOKEN](API キー sk- または JWT)、またはセッション Cookie を送信。
  • POST ボディには Content-Type: application/json を送信。
  • ほとんどのエラーは HTTP 200 を返します。常に code フィールドを確認してください。

コアエンドポイント

/sora-pro でタスクを作成し、check-result でステータスをポーリング。

生成タスクを作成

入力を検証し、クレジットを差し引き、タスクを作成して taskId を返します。

メソッド: POSTパス: /api/v1/video/sora-pro

ペイロードパラメータ

  • 必須。sora-2-text-to-video、sora-2-image-to-video、sora-2-pro-text-to-video、sora-2-pro-image-to-video、sora-2-pro-storyboard のいずれか。
  • 条件付き。sora-2-pro-storyboard 以外のすべてのモデルで必須。
  • 条件付き。data:image/png;base64,... のような Base64 データ URL。imageUrl がない場合、image-to-video で必須。
  • 条件付き。imageData が提供されていない場合に使用される公開画像 URL。
  • オプション。portrait または landscape。デフォルト: landscape。
  • オプション。10、15、または 25(ストーリーボードのみ)。デフォルトはモデルによって異なります。
  • オプション。standard または high。Pro テキスト/画像モデルのみ。
  • オプション。非ストーリーボードモデルのウォーターマークを削除。デフォルト: true。
  • 条件付き。sora-2-pro-storyboard で必須。'{ Scene, duration }' の配列。

注意事項

  • 両方が提供された場合、imageData が imageUrl より優先されます。
  • prompt はストーリーボードではオプションで、プロバイダーには送信されません。コンテンツには shots を使用してください。
  • nFrames はモデルごとの許可値に正規化されます。
  • removeWatermark は非ストーリーボードモデルではデフォルトで true です。
  • shots には Scene(大文字の S)と duration > 0 を含める必要があります。

リクエスト例

テキストから動画
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro-text-to-video",
    "prompt": "A cinematic shot of a futuristic city at sunset.",
    "aspectRatio": "landscape",
    "nFrames": "10",
    "size": "high",
    "removeWatermark": true
  }'
画像から動画
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-image-to-video",
    "prompt": "Turn this image into a dynamic 10s clip.",
    "imageUrl": "https://example.com/reference.png",
    "aspectRatio": "portrait",
    "nFrames": "10"
  }'
ストーリーボード
curl -X POST https://freesoragenerator.com/api/v1/video/sora-pro \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro-storyboard",
    "shots": [
      { "Scene": "Establishing shot of a city skyline at dusk", "duration": 5 },
      { "Scene": "Close-up of a runner splashing through puddles", "duration": 5 }
    ],
    "aspectRatio": "landscape",
    "nFrames": "10"
  }'

レスポンス例

{
  "code": 0,
  "message": "ok",
  "data": {
    "taskId": "281e5b0*********************f39b9"
  }
}

タスクステータスを照会

taskId でステータス、進捗、結果 URL を取得。

メソッド: POSTパス: /api/video-generations/check-result

ペイロードパラメータ

  • 必須。create で返された taskId。

注意事項

  • ステータス値: pending | running | succeeded | failed | cancelled。
  • result_url と result_urls は準備完了時に最終動画リンクを返します。

リクエスト例

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

レスポンス例

{
  "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
  }
}

ユーザークレジットを取得

タスク送信前に現在のクレジット残高を確認。

メソッド: POSTパス: /api/get-user-credits

注意事項

  • オプションのエンドポイント。事前チェックに便利。
  • left_credits と 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_vip": false
  }
}

一般的なエラーコード

エラーはレスポンスボディの code フィールドで表示されます。

  • 401: 認証されていません
  • 402: クレジット不足
  • -1: 無効な model パラメータ
  • -1: prompt は必須です
  • -1: image-to-video には画像が必要です
  • -1: ストーリーボードには shots が必要です
  • -1: 画像のアップロードに失敗しました
  • -1: 動画生成レコードの作成に失敗しました

クレジットリファレンス

クレジットはモデル、サイズ、nFrames によって異なります。この表をベースラインとして使用してください。

モデルパラメータクレジット
sora-2-text-to-video1020
sora-2-text-to-video1530
sora-2-image-to-video1020
sora-2-image-to-video1530
sora-2-pro-text-to-videostandard + 10375
sora-2-pro-text-to-videostandard + 15675
sora-2-pro-text-to-videohigh + 10825
sora-2-pro-text-to-videohigh + 151,575
sora-2-pro-image-to-videostandard + 10375
sora-2-pro-image-to-videostandard + 15675
sora-2-pro-image-to-videohigh + 10825
sora-2-pro-image-to-videohigh + 151,575
sora-2-pro-storyboard10375
sora-2-pro-storyboard15675
sora-2-pro-storyboard25675

1. タスクを作成

モデルとペイロードで POST /api/v1/video/sora-pro を実行。

2. 進捗を追跡

ステータスが succeeded または failed になるまで /api/video-generations/check-result をポーリング。

3. クレジットを確認

大量バッチを送信する前にオプションで /api/get-user-credits を呼び出し。

よくある質問

API キーまたはセッション Cookie を使用できますか?

はい。Authorization: Bearer [TOKEN](API キーまたは JWT)またはログイン済みセッション Cookie を送信してください。

ストーリーボードの shots をどのようにフォーマットしますか?

shots を '{ Scene, duration }' の配列として提供します。Scene は大文字で、duration は秒数です。

なぜモデルによってクレジットが異なるのですか?

クレジットはすべてのモデルで nFrames に応じてスケールします。Pro モデルは size によっても異なります。

便利なリソース

Sora 2 Pro API を始める

API キーを生成して、今日から最初の Sora 2 Pro ワークフローを開始しましょう。