- Version 1(クラシックモード):
duration(10/15/25秒)、orientation(横向き/縦向き)、size(small/large 解像度)、参照画像image_urls、キャラクター**###**character_urlなどのパラメータをサポート。 - Version 2(パートナーモード):
seconds(4/8/12秒)、ピクセル単位の解像度size(例:1280x720)、参照画像input_referenceなどのパラメータをサポート。
申請手順
API を使用するには、まず Sora Videos Generation API の該当ページでサービスを申請してください。ページにアクセス後、「Acquire」ボタンをクリックします。以下の画像のように表示されます:
未ログインまたは未登録の場合は、自動的にログインページにリダイレクトされ、登録・ログイン後に元のページに戻ります。
初回申請時には無料枠が付与され、この API を無料で利用可能です。
基本的な使い方(Version 1)
まず、Version 1 の基本的な使い方を理解しましょう。prompt(プロンプト)、参照画像リンク配列 image_urls、モデル model を入力することで処理結果が得られます。具体的な内容は以下の通りです:

accept:受け取りたいレスポンス形式。ここではapplication/json(JSON形式)を指定。authorization:API 呼び出し用のキー。申請後にプルダウンから選択可能。
model:動画生成モデル。sora-2(標準モード)とsora-2-pro(高画質モード)をサポート。sora-2-proは 25秒の動画をサポートし、sora-2は 10秒または15秒のみ対応。size:動画解像度。smallは標準解像度、largeは HD 解像度(Version 1 のみ)。duration:動画長さ。10、15、25秒をサポート。25秒はsora-2-proのみ対応(Version 1 のみ)。orientation:画面方向。landscape(横向き)、portrait(縦向き)(Version 1 のみ)。image_urls:参照画像リンク配列。画像から動画生成に使用(Version 1 のみ)。character_url:キャラクター**###**リンク。動画内に実写人物が含まれてはいけません(Version 1 のみ)。character_start/character_end:キャラクターの表示開始・終了秒数。範囲は1~3秒(Version 1 のみ)。prompt:プロンプト(必須)。callback_url:非同期コールバック用 URL。version:API バージョン。"1.0"(デフォルト)または"2.0"。

success:動画生成タスクの状態。task_id:動画生成タスクのID。trace_id:動画生成トレースID。data:動画生成タスクの結果リスト。id:動画生成タスクの動画ID。video_url:動画生成タスクの動画リンク。state:動画生成タスクの状態。
data 内の動画リンクから生成された Sora 動画を取得してください。
また、対応する接続コードを生成してコピー可能です。例えば CURL コードは以下の通りです:
画像から動画生成タスク(Version 1)
画像から動画生成タスクを行う場合、パラメータimage_urls に参照画像リンクを渡す必要があります。以下の内容を指定できます:
image_urls:画像から動画生成に使用する参照画像リンク配列。実際の人物の顔写真などは渡さないでください。タスク失敗の原因となります。


キャラクター生成動画タスク(Version 1)
キャラクター生成動画タスクを行う場合、パラメータcharacter_url にキャラクター作成用の動画リンクを渡す必要があります。動画内に実写人物が含まれていると失敗するため注意してください。以下の内容を指定できます:
character_url:キャラクター作成用の動画リンク。動画内に実写人物が含まれていると失敗します。


Version 2.0 モード
前述の Version 1.0 モードに加え、本 API は Version 2.0 モードもサポートしています。version パラメータを "2.0" に設定することで有効化されます。Version 2.0 モードはより短い動画長さとピクセル単位の解像度制御をサポートします。
Version 2.0 パラメータ説明
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
version | string | 必須 | "2.0" に設定 |
prompt | string | 必須 | 動画生成のプロンプト |
model | string | 任意 | sora-2(デフォルト)または sora-2-pro |
duration | integer | 任意 | 動画長さ:4(デフォルト)、8、12秒 |
size | string | 任意 | 解像度:720x1280(デフォルト)、1280x720、1024x1792、1792x1024 |
image_urls | array | 任意 | 参照画像 URL 配列。最初の1枚のみ使用。画像サイズは size と一致させる必要あり |
callback_url | string | 任意 | 非同期コールバック URL |
基本例
参照画像の使用(Version 2.0)
Version 2.0 モードでは、image_urls パラメータで参照画像を渡して動画生成を誘導できます(最初の1枚のみ使用):
注意:参照画像のサイズはsizeパラメータと一致させる必要があります。例えばsizeが1280x720の場合、参照画像のサイズは 1280×720 である必要があります。
Version 1.0 と Version 2.0 のパラメータ比較
| パラメータ | Version 1.0 | Version 2.0 |
|---|---|---|
version | 1.0(デフォルト) | 2.0 |
prompt | ✅ | ✅ |
model | ✅ sora-2 / sora-2-pro | ✅ sora-2 / sora-2-pro |
duration | ✅ 10/15/25秒 | ✅ 4/8/12秒 |
orientation | ✅ landscape/portrait | ❌ |
size | ✅ small/large | ✅ 720x1280/1280x720/1024x1792/1792x1024 |
image_urls | ✅ 複数参照画像 | ✅ 最初の1枚のみ |
character_url | ✅ | ❌ |
callback_url | ✅ | ✅ |
非同期コールバック
Sora Videos Generation API の動画生成には約1~2分かかるため、API が長時間応答しない場合、HTTP リクエストが接続を保持し続け、システムリソースの無駄遣いとなります。そのため、本 API は非同期コールバックもサポートしています。 全体の流れは以下の通りです:クライアントがリクエスト時にcallback_url フィールドを指定します。API はリクエストを受けるとすぐに task_id を含む結果を返します。タスク完了後、生成された動画結果が POST の JSON 形式でクライアント指定の callback_url に送信されます。task_id も含まれているため、タスク結果を ID で紐付け可能です。
以下の例で具体的な操作方法を説明します。
まず、Webhook コールバックは HTTP リクエストを受け取れるサービスであり、開発者は自身で構築した HTTP サーバーの URL に置き換えてください。ここではデモ用に公開 Webhook サイト https://webhook.site/ を使用します。このサイトを開くと Webhook URL が取得できます。以下の画像のように表示されます:
この URL をコピーし、Webhook として使用します。例として https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa を使用します。
次に、callback_url フィールドに上記 Webhook URL を設定し、他のパラメータも入力します。内容は以下の画像の通りです:

https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa で生成動画の結果を確認できます。以下の画像のように表示されます:
内容は以下の通りです:
task_id フィールドが含まれており、他のフィールドは前述のものと同様です。このフィールドを使ってタスクを関連付けられます。
エラー処理
API 呼び出し時にエラーが発生した場合、API は対応するエラーコードとメッセージを返します。例:400 token_mismatched:不正なリクエスト。パラメータの不足や不正の可能性あり。400 api_not_implemented:不正なリクエスト。パラメータの不足や不正の可能性あり。401 invalid_token:認証エラー。無効または欠落したトークン。429 too_many_requests:リクエスト過多。レート制限超過。500 api_error:サーバー内部エラー。

