Gemini Omni 1.1 Flash
テキスト、先頭フレーム、先頭・末尾フレーム、または最大 10 枚の参照画像と 3 本の参照動画から、720p・1080p・4K で 3~10 秒の音声付き動画を生成します。
- 非同期:作成リクエストはタスク ID を返し、タスクが成功すると動画を取得できます。
- 1 つのモデル ID で 4 種類の入力に対応します:テキストのみ、先頭フレーム 1 枚、
imagesの先頭・末尾フレーム、または最大 10 枚のreference_imagesと任意で最大 3 本のreference_videos。フレームと参照は同時に使えません。 - 長さは 3~10 秒、画面比率は
16:9または9:16です。durationは秒単位の整数です。 - すべての動画に音声が付きます。音声をオフにするスイッチはなく、参照音声も受け付けません。
- 解像度とリクエストした秒数に応じて課金されます。失敗したタスクは無料です。
このモデルをテスト画面で開きます。BeatAPI の API キーを入力するとタスクを作成できます。実際に呼び出され、ご自身の残高から課金されます。
エンドポイントと認証
POST https://api.beatapi.io/v1/videos/tasks
Authorization
string
必須
BeatAPI の API キーを Bearer <BEATAPI_API_KEY> の形式で送信します。キーはダッシュボードで作成できます。キーはサーバー側で保管し、ブラウザーやモバイルアプリに含めないでください。
ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。
リクエストの流れ
タスクを作成する
下記のパラメーターをエンドポイントに POST します。201 が返れば、タスクが受け付けられ、料金が残高から仮確保されたことを意味します。処理はバックグラウンドで実行されます。data.id を保存してください。
完了を待つ
GET /v1/tasks/{task_id} を呼び出し、status が succeeded または failed になるまで、呼び出しの間隔を data.poll_after_seconds(画像は 5 秒、動画は 8 秒)だけ空けてください。あるいは task.succeeded と task.failed のWebhookを登録することもできます。処理タイムアウトで停止したタスクはイベントを送信しないため、フォールバックとしてポーリングも続けてください。
入力モード
リクエストパラメーター
model
string
必須
実行するモデルです。
値:gemini-omni-1.1-flash
値が正しくない場合
- 指定がない:
"model" is required - 画像モデルをこのエンドポイントに送った:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
prompt
string
必須
動画の内容です。動き、カメラ、場面、入れたいセリフや音を書きます。
長さ:1–5000 文字
- 長さは文字数で数えます(日本語・中国語・韓国語の 1 文字は 1 文字)。
- 参照素材を使う場合は、それぞれから何を使うかをプロンプトに書いてください。例:「1 枚目の参照画像の女性」「参照動画のカメラワーク」。
値が正しくない場合
- 指定がない:
"prompt" is required - 空、または上限より長い:
"prompt" has an unsupported length - 文字列ではない:
"prompt" must be a string
images
string[]
任意
フレームです。リンク 1 個は先頭フレーム、2 個は順に先頭フレームと末尾フレームです。省略可能:テキストから動画を作る場合や参照素材を送る場合は送らないでください。
要素数:1–2
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各リンクは公開された
https://URL である必要があります。 - 動画の始まりや終わりではなく、参考にさせたいだけの画像は
reference_imagesに入れてください。
値が正しくない場合
- リンクが 3 個以上:
"images" accepts at most 2 items - 空の配列:
"images" requires at least 1 item - 配列ではない:
"images" must be an array - https:// のリンクではない:
"images[0]" must be a public HTTPS URL reference_imagesまたはreference_videosと同時に送った:Cannot combine "images" with reference inputs in one task
reference_images
string[]
任意
動画に使う人物、商品、スタイル、場面の画像を 1~10 枚指定します。
要素数:1–10
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各リンクは公開された
https://URL である必要があります。 reference_videosを送るときは必須です。
値が正しくない場合
- リンクが 11 個以上:
"reference_images" accepts at most 10 items - 空の配列:
"reference_images" requires at least 1 item - 配列ではない:
"reference_images" must be an array imagesと同時に送った:Cannot combine "images" with reference inputs in one task
reference_videos
string[]
任意
新しい動画が動き、カメラワーク、被写体の参考にする動画を 1~3 本指定します。
要素数:1–3
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各リンクは MP4、MOV、WebM ファイルを指す公開された
https://URL である必要があります。 reference_imagesのリンクが 1 個以上あるときだけ送れます。- 参照動画は料金に影響しません。課金されるのは新しい動画の秒数です。
値が正しくない場合
reference_imagesなしで送った:Gemini Omni 1.1 Flash "reference_videos" need at least one image in "reference_images"- リンクが 4 個以上:
"reference_videos" accepts at most 3 items imagesと同時に送った:Cannot combine "images" with reference inputs in one task
duration
integer
任意デフォルト: 5
動画の長さ(秒、整数)です。
デフォルト:5
範囲:3–10
- 省略すると
5が使われ、その秒数で課金されます。 - 秒数で課金されるため(「料金」を参照)、料金を左右する主な要素です。
値が正しくない場合
- 3~10 の範囲外、整数ではない、または文字列で送った:
"duration" is outside its supported range
aspect_ratio
string
任意デフォルト: 16:9
動画の画面比率です。横長の 16:9 または縦長の 9:16 です。
指定できる値:16:9, 9:16
デフォルト:16:9
- 省略すると
16:9が使われます。 - フレームを送る場合も適用されます。先頭フレームと同じ比率を選んでください。
値が正しくない場合
- リストにない値:
"aspect_ratio" must be one of: [16:9 9:16]
resolution
string
任意デフォルト: 720p
出力解像度です。高い解像度ほど 1 秒あたりの料金が上がります。
指定できる値:720p, 1080p, 4k
デフォルト:720p
- 省略すると
720pが使われます。 4kと4Kは同じ区分です。
値が正しくない場合
- リストにない値(例:
480pや720P):"resolution" must be one of: [720p 1080p 4k 4K]
ゲートウェイはタスク作成前に、次の組み合わせも確認します。
imagesと参照メディアのフィールドは同時に使用できません。imagesはフレームです。1 枚なら先頭フレーム、2 枚なら順に先頭フレームと末尾フレームです。reference_videosを送るときは、reference_imagesに画像が 1 枚以上必要です。- 音声のオン・オフを切り替える設定はありません。参照音声には対応していません。
入力メディアの上限
ゲートウェイはタスク作成前にすべての入力を読み取り、次の上限を超えるものは、その入力を示す 400 bad_request で拒否します。課金はされません。
- ゲートウェイはタスクを作成する前に、各リンク先ファイルのサイズを確認します。上限を超えるファイルは、どのファイルかを示す 400 で拒否され、料金はかかりません。例:
images[0] is 25.0 MB; this model takes images up to 20 MB. - リンク先のホストが 4xx エラーを返した場合や、ファイルが空の場合も同じように拒否されます:
<field>[<n>] could not be downloaded: <reason>. - タスク作成後にモデルがリンクを利用できなかった場合、タスクは失敗し(通常は
bad_request)、全額返金されます。 - ローカルのファイルは、
POST /v1/filesでアップロードし、返されたdata.urlを渡してください。
このモデルが受け付けないフィールド
次のフィールドを送ると、無視されるのではなく、課金前に拒否されます。
reference_audios、generate_audio、seed、quality、sound、task_type、output_format、watermarkなど他の動画モデルのフィールド →field "generate_audio" is not supported by model gemini-omni-1.1-flash(送ったフィールド名が入ります)。音声は毎回生成されるため、切り替えるものはありません。- 動画エンドポイントがまったく認識しないフィールド →
unknown field: <name>。
リクエスト例
テキストから動画
テキストだけから 5 秒・720p の横長クリップを生成します。
先頭フレーム
1 枚の画像から始まる 5 秒・720p のクリップです。
先頭・末尾フレーム
1 枚目の画像から 2 枚目の画像へ移る 8 秒・1080p のクリップです。
参照画像と参照動画 1 本
参照画像 2 枚と参照動画 1 本から、8 秒・720p の縦長クリップを生成します。
レスポンス
タスクの作成(201)
タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。
完了したタスク
GET /v1/tasks/{task_id} は HTTP 200 と status: "succeeded" を返し、結果は data.output に入ります。
出力フィールド
失敗したタスク
失敗したタスクも、GET /v1/tasks/{task_id} では HTTP 200 になります。失敗はボディに示されます。仮確保された金額は全額戻されるため、課金されません。
完全なコード例
タスクを作成し、サーバーが示すポーリング間隔で完了を待ち、結果の URL を出力します。環境変数に BEATAPI_API_KEY を設定し、requests をインストールしてください。
課金
- 料金は、解像度とリクエストした秒数(
duration、省略時は 5)に応じて決まります。1 秒あたりの料金は 720p より 1080p、1080p より 4K が高くなります。入力の種類、aspect_ratio、フレームや参照素材の数は料金に影響しません。 - 下の表は 8 秒のクリップの料金です。他の長さは、解像度ごとの同じ単価で 1 秒単位で計算されます。
- 料金はタスク作成時に確保されます。
data.usage.billable_duration_secondsに計算の基になった秒数が表示されます。 - 失敗したタスク(送信後にモデレーションで拒否されたものを含む)は全額返金されます。
現在の定価です。料金ページと同じ金額です。割引を個別に契約しているアカウントでは、より低い金額になります。実際に課金された金額は、タスクの data.usage で確認できます。
よくあるエラー
HTTP エラー早見表
タスクが作られる前のエラーは、2xx 以外のレスポンスで返されます。課金はされません。error.code または error.retryable で処理を分岐してください。message には問題の内容が示されます。全一覧と再試行のルールはエラーにあります。
認証
API キーを Authorization: Bearer <BEATAPI_API_KEY> として送信してください。
ヘッダー
ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。
リクエスト
実行するモデルです。
値:gemini-omni-1.1-flash
値が正しくない場合
- 指定がない:
"model" is required - 画像モデルをこのエンドポイントに送った:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
動画の内容です。動き、カメラ、場面、入れたいセリフや音を書きます。
長さ:1–5000 文字
- 長さは文字数で数えます(日本語・中国語・韓国語の 1 文字は 1 文字)。
- 参照素材を使う場合は、それぞれから何を使うかをプロンプトに書いてください。例:「1 枚目の参照画像の女性」「参照動画のカメラワーク」。
値が正しくない場合
- 指定がない:
"prompt" is required - 空、または上限より長い:
"prompt" has an unsupported length - 文字列ではない:
"prompt" must be a string
動画の画面比率です。横長の 16:9 または縦長の 9:16 です。
指定できる値:16:9, 9:16
デフォルト:16:9
- 省略すると
16:9が使われます。 - フレームを送る場合も適用されます。先頭フレームと同じ比率を選んでください。
値が正しくない場合
- リストにない値:
"aspect_ratio" must be one of: [16:9 9:16]
動画の長さ(秒、整数)です。
デフォルト:5
範囲:3–10
- 省略すると
5が使われ、その秒数で課金されます。 - 秒数で課金されるため(「料金」を参照)、料金を左右する主な要素です。
値が正しくない場合
- 3~10 の範囲外、整数ではない、または文字列で送った:
"duration" is outside its supported range
フレームです。リンク 1 個は先頭フレーム、2 個は順に先頭フレームと末尾フレームです。省略可能:テキストから動画を作る場合や参照素材を送る場合は送らないでください。
要素数:1–2
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各リンクは公開された
https://URL である必要があります。 - 動画の始まりや終わりではなく、参考にさせたいだけの画像は
reference_imagesに入れてください。
値が正しくない場合
- リンクが 3 個以上:
"images" accepts at most 2 items - 空の配列:
"images" requires at least 1 item - 配列ではない:
"images" must be an array - https:// のリンクではない:
"images[0]" must be a public HTTPS URL reference_imagesまたはreference_videosと同時に送った:Cannot combine "images" with reference inputs in one task
動画に使う人物、商品、スタイル、場面の画像を 1~10 枚指定します。
要素数:1–10
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各リンクは公開された
https://URL である必要があります。 reference_videosを送るときは必須です。
値が正しくない場合
- リンクが 11 個以上:
"reference_images" accepts at most 10 items - 空の配列:
"reference_images" requires at least 1 item - 配列ではない:
"reference_images" must be an array imagesと同時に送った:Cannot combine "images" with reference inputs in one task
新しい動画が動き、カメラワーク、被写体の参考にする動画を 1~3 本指定します。
要素数:1–3
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各リンクは MP4、MOV、WebM ファイルを指す公開された
https://URL である必要があります。 reference_imagesのリンクが 1 個以上あるときだけ送れます。- 参照動画は料金に影響しません。課金されるのは新しい動画の秒数です。
値が正しくない場合
reference_imagesなしで送った:Gemini Omni 1.1 Flash "reference_videos" need at least one image in "reference_images"- リンクが 4 個以上:
"reference_videos" accepts at most 3 items imagesと同時に送った:Cannot combine "images" with reference inputs in one task
出力解像度です。高い解像度ほど 1 秒あたりの料金が上がります。
指定できる値:720p, 1080p, 4k
デフォルト:720p
- 省略すると
720pが使われます。 4kと4Kは同じ区分です。
値が正しくない場合
- リストにない値(例:
480pや720P):"resolution" must be one of: [720p 1080p 4k 4K]
レスポンス
タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。

