申請プロセス
APIを使用するには、まず Veo Videos Generation API の該当ページでサービスを申請する必要があります。ページに入ったら、「Acquire」ボタンをクリックします。以下のように表示されます:
まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。ログインまたは登録後、現在のページに自動的に戻ります。
初回申請時には無料のクレジットが付与され、このAPIを無料で使用できます。
基本使用
まず、基本的な使用方法を理解します。これは、プロンプトprompt、生成アクション action、先頭と末尾のフレーム参照画像配列 image_urls、およびモデル model を入力することで処理された結果を得ることができます。最初に、action フィールドを簡単に渡す必要があります。その値は text2video で、主に3つのアクションが含まれます:文生動画(text2video)、図生動画(image2video)、1080p動画の取得(get1080p)です。次に、モデル model を入力する必要があります。現在、主に veo2、veo2-fast、veo3、veo31、veo31-fast、veo31-fast-ingredients、および veo3-fast モデルがあります。具体的な内容は以下の通りです:

accept:受け取りたいレスポンス結果の形式。ここではapplication/json、すなわちJSON形式を記入します。authorization:APIを呼び出すためのキー。申請後、直接ドロップダウンから選択できます。
model:生成する動画のモデル。主にveo2、veo2-fast、veo3、veo31、veo31-fast、veo31-fast-ingredients、およびveo3-fastモデルがあります。action:今回の動画生成タスクのアクション。主に3つのアクションが含まれます:文生動画(text2video)、図生動画(image2video)、1080p動画の取得(get1080p)。image_urls:図生動画アクションimage2videoを選択した場合に必ずアップロードする必要がある先頭と末尾のフレーム参照画像のリンク。最大で3枚の参照画像をアップロードできます。resolution:生成する動画の解像度を選択します。veo31モデルは4k解像度をサポートしていますが、他のモデルはサポートしていません。すべてのモデルは1080pおよびgif解像度をサポートしており、この値を指定しない場合はデフォルトで720p解像度が使用されます。主に:1080p、gif、4k。prompt:プロンプト。callback_url:結果をコールバックするURL。
📌 モデル説明まとめ
| モデル名 | サポートモード | 画像入力ルール |
|---|---|---|
| veo2-fast | 文生動画(無画像) 図生動画モード(画像あり) | 1枚のみ → 先頭フレームモード |
| veo3-fast | 文生動画(無画像) 図生動画モード(画像あり) | 1枚 → 先頭フレームモード 3枚 → 先頭と末尾フレームモード |
| veo31-fast | 文生動画(無画像) 図生動画モード(画像あり) | 1枚 → 先頭フレームモード 3枚 → 先頭と末尾フレームモード |
| veo31-fast-ingredients | ❌ 文生動画(サポートなし) ✅ 強制的に複数画像融合(画像必須) | 1-3枚 → 複数画像融合モード(最大3枚) |
| veo2 | 文生動画(無画像) 図生動画モード(画像あり) | 1枚 → 先頭フレームモード 3枚 → 先頭と末尾フレームモード |
| veo3 | 文生動画(無画像) 図生動画モード(画像あり) | 1枚 → 先頭フレームモード 3枚 → 先頭と末尾フレームモード |
| veo31 | 文生動画(無画像) 図生動画モード(画像あり) | 1枚 → 先頭フレームモード 3枚 → 先頭と末尾フレームモード |
🔑 重要ルール説明
- 一般的なロジック:
- 画像入力なし → 自動的に文生動画モードがトリガーされます。
- 画像入力あり → 図生動画モードがトリガーされます(具体的な動作は画像の数によって決まります)。
- 図生動画モードのタイプ:
- 先頭フレームモード(1枚の画像):先頭フレームは入力画像に固定されます。
- 先頭と末尾フレームモード(2枚の画像):先頭フレームと末尾フレームは入力画像に固定されます。
- 複数画像融合モード(1-3枚の画像):
veo31-fast-ingredientsのみがサポートし、複数の画像内容を融合して動画を生成します。
- モード分類:
- Fastモード:
veo2-fast、veo3-fast、veo31-fast、veo31-fast-ingredients。 - Qualityモード:
veo2、veo3、veo31(生成品質が高い)。
- Fastモード:
⚠️ 注意事項
- 唯一の強制画像入力モデル:
veo31-fast-ingredientsは画像を必ず入力する必要があります(1-3枚)、さもなければ実行できません。 - 画像数の制限:
veo31-fast-ingredientsを除き、他のモデルは最大 3枚 の画像入力をサポートします。

success、この時点での動画生成タスクの状態。task_id、この時点での動画生成タスクID。data、この時点での動画生成タスクの結果。id、この時点での動画生成タスクの動画ID。video_url、この時点での動画生成タスクの動画リンク。created_at、この時点での動画生成タスクの作成時間。complete_at、この時点での動画生成タスクの完了時間。state、この時点での動画生成タスクの状態。
data の動画リンクアドレスに基づいて生成されたVeo動画を取得するだけです。
また、対応する接続コードを生成したい場合は、生成されたものを直接コピーできます。例えば、CURLのコードは以下の通りです:
画像から動画生成機能
もし、先頭と末尾のフレーム画像に基づいて動画を生成したい場合は、パラメータaction を image2video に設定し、先頭と末尾のフレーム画像リンクの配列 image_urls を入力する必要があります。
次に、生成する動画をカスタマイズするために拡張する必要があるプロンプトを入力する必要があります。以下の内容を指定できます:
model:生成動画のモデル、主にveo2、veo2-fast、veo3、veo3-fastがあります。image_urls:画像から動画生成アクションimage2videoを選択した場合にアップロードする必要がある先頭と末尾のフレーム参考画像リンク。prompt:プロンプト。


1080p動画取得機能
もし、既に生成されたVeo動画の1080pを取得したい場合は、パラメータaction を get1080p に設定し、1080pを取得する必要がある動画のIDを入力します。動画IDの取得は基本的な使用に基づいて行います。以下の図のように:

注意:ここでの動画の video_id は生成後の動画のIDです。動画を生成する方法がわからない場合は、前述の基本的な使用を参考にして動画を生成してください。
次に、生成する動画をカスタマイズするために拡張する必要があるプロンプトを入力する必要があります。以下の内容を指定できます:
model:生成動画のモデル、主にveo2、veo2-fast、veo3、veo3-fastがあります。video_id:参照する動画ID、1080p動画を取得するために使用します。


指定動画サイズ生成
もし、カスタムサイズのVeo動画を生成したい場合は、パラメータaspect_ratio を希望のサイズに設定します。次に、生成する動画をカスタマイズするために拡張する必要があるプロンプトを入力する必要があります。以下の内容を指定できます:
model:生成動画のモデル、主にveo2、veo2-fast、veo3、veo3-fastがあります。aspect_ratio:動画のサイズ、現在サポートされているのは16:9、16:9、3:4、4:3、1:1で、デフォルトは16:9です。translation:プロンプトの自動翻訳を有効にするかどうか、デフォルトはfalseです。 記入例は以下の通りです:


非同期コールバック
Veo Videos Generation APIによる生成には比較的長い時間がかかり、約1〜2分必要です。APIが長時間応答しない場合、HTTPリクエストは接続を維持し続け、追加のシステムリソースを消費するため、本APIは非同期コールバックのサポートも提供しています。 全体の流れは、クライアントがリクエストを発行する際に、追加でcallback_urlフィールドを指定し、クライアントがAPIリクエストを発行した後、APIはすぐに結果を返し、現在のタスクIDを示すtask_idフィールド情報を含みます。タスクが完了すると、生成された動画の結果がPOST JSON形式でクライアントが指定したcallback_urlに送信され、その中にもtask_idフィールドが含まれているため、タスクの結果をIDで関連付けることができます。
以下の例を通じて、具体的な操作方法を理解しましょう。
まず、WebhookコールバックはHTTPリクエストを受信できるサービスであり、開発者は自分で構築したHTTPサーバーのURLに置き換える必要があります。ここでは、デモのために公開されたWebhookサンプルサイトhttps://webhook.site/を使用します。このサイトを開くとWebhook URLが得られます。
このURLをコピーしてWebhookとして使用できます。ここでのサンプルはhttps://webhook.site/aed5cd28-f8aa-4dca-9480-8ec9b42137dcです。
次に、フィールドcallback_urlを上記のWebhook URLに設定し、対応するパラメータを入力します。具体的な内容は以下の通りです:

https://webhook.site/aed5cd28-f8aa-4dca-9480-8ec9b42137dcで生成された動画の結果を観察できます。
内容は以下の通りです:
task_idフィールドがあり、他のフィールドは上記と類似しており、このフィールドを通じてタスクの関連付けが可能です。
エラーハンドリング
APIを呼び出す際にエラーが発生した場合、APIは対応するエラーコードとメッセージを返します。例えば:400 token_mismatched:不正なリクエスト、パラメータが不足または無効な可能性があります。400 api_not_implemented:不正なリクエスト、パラメータが不足または無効な可能性があります。401 invalid_token:認証されていない、無効または不足している認証トークン。429 too_many_requests:リクエストが多すぎます、レート制限を超えました。500 api_error:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

