Sora 2 API

Sora 2 API で構築する

FSG AIのビデオ生成APIを通じて、テキストからビデオへのエクスペリエンスを提供します。APIキーで認証し、タスクステータスをポーリングし、数分で最終ビデオを配信します。

Sora 2 API が選ばれる理由

予測しやすいポーリング、20並行リクエスト、自動ストレージアップロードで堅牢な生成フローを実現。

Sora 2 + Sora Pro

各エンドポイントで文書化されている期間と品質のオプションを使用して、品質とコストのニーズに合ったモデル文字列を選択してください。

予測可能なポーリング

タスクを作成したら check-result をポーリングし、SSEなしでステータスを同期。

20並行リクエスト

最大20の動画生成タスクを同時処理。より高い制限が必要な場合はお問い合わせください。

認証とベースURL

すべてのエンドポイントは https://freesoragenerator.com/api 配下。コンソールで作成したAPIキーを Authorization ヘッダーで送信します。

  • 全リクエストに Authorization: Bearer YOUR_API_KEY を付与。
  • ペイロード送信時は Content-Type: application/json を使用。
  • 各生成リクエストは、選択されたモデル、期間、品質、ストーリーボードのオプションに基づいてクレジットを差し引きます。失敗したジョブは自動的に返金されます。

主要エンドポイント

まず生成タスクを作成し、その後結果をポーリングまたは受信します。

AIビデオを作成

テキストからビデオまたは画像からビデオへのプロンプトでAIビデオ生成ジョブを開始します。

メソッド: POSTPath: /api/v1/video/sora-video

ペイロードパラメータ

  • model: 必須。APIリファレンスからサポートされているモデル文字列を使用して、必要なモデルバリアントをターゲットします。
  • prompt: 必須。作成したいシーンの自然言語による説明。
  • imageData: 任意(推奨)。画像から動画モード用のBase64データURL。プレフィックス "data:image/*;base64," 付き。
  • url: Optional. Legacy reference image URL; still supported but lower priority than imageData.
  • aspectRatio: 任意。サポート値: "9:16"(デフォルト)または "16:9"。
  • duration: Optional. Only for "sora-2-stable"; choose 10 or 15 seconds (default 10).
  • isPublic: 任意。動画を公開表示するかどうか。デフォルトは true。
  • remixTargetId: 任意(VIP専用)。続編/リミックス機能用のターゲット動画 pid。
  • characters: 任意(VIP専用)。キャラクター制御配列。各項目には url と timestamps が含まれます。

補足

  • レスポンスは taskId と共に即時返却。status が succeeded か failed になるまで check-result をポーリング。

リクエスト例

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-stable",
    "prompt": "A cinematic shot of a futuristic city at sunset, captured in 4K.",
    "imageData": "data:image/png;base64,iVBORw0KGgoAAA...",
    "aspectRatio": "9:16",
    "duration": 15,
    "isPublic": true
  }'

レスポンス例

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

生成結果を確認

生成タスクの最新ステータスをポーリングし、進捗と結果を取得。

メソッド: POSTPath: /api/video-generations/check-result

ペイロードパラメータ

  • taskId: 必須。生成タスク作成時に返される識別子。

補足

  • タスクがあなたのアカウントに属するか確認してからデータを返します。
  • 失敗したジョブは自動でクレジット返金し、レスポンスに返金メタデータを含みます。

リクエスト例

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メンバーシップステータスを照会。

メソッド: POSTPath: /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. タスクを作成

プロンプトと任意のWebhook URLを添えて Sora2 API を呼び出し、返ってきた taskId を保存。

2. 進捗を追跡

ストリーミングイベントを購読するか、status が succeeded / failed になるまで check-result を呼び出す。

3. 動画を配信

result_url / result_urls のストレージURLを使って動画を配信またはダウンロード。

よくある質問

どのように認証しますか?

コンソールでAPIキーを作成し、Authorization: Bearer YOUR_API_KEY として送信します。キーはいつでもローテーション可能です。

結果はどうポーリングすればいいですか?

create 呼び出し後に taskId を保存し、/api/video-generations/check-result を3〜5秒間隔で呼び、status が succeeded または failed になったら result_url / result_urls を利用します。

失敗時のクレジットはどうなりますか?

タスクが失敗するとクレジットを自動返金し、check-result のペイロードに refund_trans_no と credits_refunded=true を返して記録できます。

役立つリソース

Sora2 API ですぐに開始

APIキーを作成し、数分でシネマティックなAI動画を生成しましょう。