Skip to main content
本文では、テキストプロンプト(および任意の参照画像)を入力して Google Gemini(omni-flash)動画を生成できる Gemini Videos Generation API の連携方法について紹介します。

申請手順

Gemini Videos Generation API を使用するには、まず Ace Data Cloud コンソール で API Token を取得し、控えておいてください。 まだログインまたは登録していない場合は、自動的にログインページへ移動して登録とログインを促され、完了後に現在のページへ自動的に戻ります。 1 つの API Token でプラットフォーム上のすべてのサービスを呼び出すことができ、サービスごとに個別で申請する必要はありません。 初回申請時には無料クレジットが付与され、無料で体験できます。クレジットが不足した場合は コンソール で共通残高をチャージできます。
📘 完全なドキュメント:Gemini Videos Generation API →

基本的な使用方法

まず基本的な使用方法を確認しましょう。プロンプト prompt、モデル model、アスペクト比 aspect_ratio を入力することで、対応する動画を生成できます。 ここでは Request Headers を設定しており、以下を含みます:
  • accept:受け取りたいレスポンス結果の形式です。ここでは application/json、つまり JSON 形式を指定します。
  • authorization:API を呼び出すためのキーです。申請後、直接ドロップダウンから選択できます。
また、Request Body を設定しており、以下を含みます:
  • prompt:生成したい動画コンテンツを説明するテキストプロンプトです。必須。
  • model:動画を生成するモデルです。現在は omni-flash のみ対応しており、デフォルトも omni-flash です。
  • aspect_ratio:生成する動画のアスペクト比です。16:9(横向き)または 9:16(縦向き)を選択でき、デフォルトは 16:9 です。
  • resolution:任意の出力解像度です。720p または 1080p を選択でき、デフォルトは 720p です。
  • image_urls:任意の参照画像リンク配列です。動画生成のガイドに使用され、空の項目は無視されます。video_urls を使用して動画編集を行う場合、このパラメータは必須です(少なくとも 1 枚)。
  • video_urls:任意の参照動画リンク配列(最大 1 つ)です。動画編集 / 動画参照に使用されます。指定する場合は、少なくとも 1 枚の image_urls も同時に指定する必要があります。
  • callback_url:非同期コールバックアドレスです。設定後、API は直ちに task_id を返し、タスク完了時に結果をこのアドレスへ POST します。
  • async:任意です。true に設定すると、インターフェースは直ちに task_id を返します。callback_url を指定する必要はなく、その後対応するタスク照会インターフェースでポーリングして結果を取得します。
「Try」ボタンをクリックするとテストでき、以下のような結果が得られます:
返される結果には複数のフィールドがあり、以下のとおりです:
  • success:今回の動画生成リクエストが成功したかどうか。
  • task_id:今回の動画生成タスクの ID。
  • trace_id:今回のリクエストのトラッキング ID。問題の調査に使用します。
  • data:生成された動画結果のリスト。
    • id:生成された動画の一意の識別子。
    • video_url:生成された動画のリンクアドレス(state が pending の場合は null)。
    • state:動画生成タスクの状態。pending / succeeded / failed から選択可能です。
    • aspect_ratio:この動画のアスペクト比。リクエストパラメータと一致します。
    • prompt:この動画の生成に使用されたプロンプト。
同期レスポンスの場合、トップレベルには started_at、finished_at、elapsed(所要時間、秒)、および cost(今回の課金額、単位:Credit)などのフィールドも含まれます。 結果内の data にある video_url リンクアドレスから、生成された動画を取得するだけです。 対応する CURL コードは以下のとおりです:
対応する Python コードは以下のとおりです:

画像から動画を生成

参照画像に基づいて動画を生成したい場合は、image_urls に 1 つまたは複数の画像リンクを渡して、動画生成のガイドに使用できます:

動画編集 / 参照動画(動画を入力して動画を生成)

「1 本の動画を入力し、新しい動画を生成する」ことに直接対応しています:video_urls に参照動画リンクを 1 つ(最大 1 つ)渡し、同時に image_urls に少なくとも 1 枚の参照画像を指定し(上流の必須要件)、その後 prompt で希望する編集効果(スタイル変更、シーン変更、要素の追加・削除など)を説明します。 以下は完全な実例です——日差しのあるビーチ動画を雪が降りしきる冬のシーンに変更しながら、ビーチ、ヤシの木、小舟のレイアウトを維持します。動画編集には比較的長い時間がかかるため(この例では約 6.5 分)、async: true を使用して非同期で送信します:
送信後、API は直ちに task_id を返します:
その後、この task_id を id として Gemini Tasks API をポーリングし、タスク完了後に生成された新しい動画を取得できます(これは本サンプルの実際の返却結果です):
より高解像度の結果が必要な場合は、resolution を 1080p に設定してください(その他のパラメータは変更しません)。
ヒント:サンプル内の入力 / 出力メディアリンクはいずれも実際の生成結果です。プラットフォームで生成された動画・画像リンクには保存期限があり、期限切れ後は無効になります。結果を取得したら、速やかにダウンロードして自身のストレージに保存してください。
注意:参照動画は最大 1 本までです。また、video_urls を指定する場合は、少なくとも 1 枚の image_urls を指定する必要があります。そうしない場合、以下のパラメータエラーが返されます:

非同期コールバック

動画生成には一定の処理時間が必要です。長時間接続を維持して待機したくない場合は、callback_url を渡すことができます。この場合、API は直ちに task_id を返し、タスク完了後に最終結果をそのアドレスへ POST します:
直ちに返される結果は以下のとおりです:

タスク結果の照会

非同期コールバックを使用した場合、またはタスクの状態を能動的に照会したい場合は、Gemini Tasks API(POST https://api.acedata.cloud/gemini/tasks)を通じて、task_id に基づきタスクの最新状態と結果を照会できます。リクエストボディで、動画作成時に返された task_id を id として渡します:
タスク完了後に返される結果は以下のようになり、response.data の構造は同期生成時と一致します(生成中は state が pending、video_url が null です):

エラー処理

リクエストに問題がある場合、API は対応するエラーコードと説明を返します。一般的なものは以下のとおりです:
  • 400:リクエストパラメータが不正です。たとえば、prompt が欠けている、または aspect_ratio の値が不正です。
  • 401:認証に失敗しました。token が無効であるか、API と一致していません。
  • 403:残高不足、またはプロンプトがコンテンツ審査に該当して拒否されました。
  • 500:サーバー内部エラー、または上流の生成に失敗しました。