メインコンテンツへスキップ

Gemini Omni 1.2 Flash APIゲートウェイの使い方:料金は4.3秒で逆転

Gemini Omni 1.2 Flashはゲートウェイごとに動画APIとモデルIDが違います。15秒や4Kは秒課金の経路、5〜10秒なら1本定額が安くなります。

LaoZhang AI Team公開25 分で読めます
目次
Gemini Omni 1.2 Flashのゲートウェイ4経路:料金の分岐点4.32秒、15秒・4Kの3経路、10秒・1080pまでのLaoZhang

Gemini Omni 1.2 FlashはAPIゲートウェイ経由でも呼べますが、OpenAI互換のChat Completionsでmodelを差し替えるだけでは動きません。Googleがこのモデルを提供しているのはInteractions APIだけなので、各ゲートウェイは動画用の入口を別に用意しています。2026年11月12日時点で、Vercel AI GatewayはAI SDKのgenerateTextにgoogle/gemini-omni-1.2-flashを渡す形、OpenRouterは非同期の/api/v1/videosに同じIDを渡す形、LaoZhangはOpenAI形式の/v1/videosにgemini-omni-1.2-flashを渡す形で、モデルIDは経路の間で使い回せません。

経路は、作る動画の長さと必要な機能で選びます。11〜15秒、4K、延長、編集、参照動画、先頭と末尾のフレーム指定のどれかが要るなら、Googleに直接つなぐか、機能をそのまま通すOpenRouterかVercelを使います。3〜10秒・1080p以下で、テキストか画像から作るだけなら1本定額のLaoZhangでも足ります。料金はGoogleの秒単価と1本定額が4.32秒で同額になるため、3〜4秒の短いクリップは秒課金、5秒以上は定額のほうが安くなります。

2026年11月12日にLaoZhangの経路で6本を生成したところ、完了までは31〜67秒で、返ってきたのは24fps・音声付きのMP4でした。どのファイルにもGoogle LLCが発行したC2PAの来歴情報が残っていました。実測したのはこの経路だけで、VercelとOpenRouterの記述は各社の公式ページによるものです。

なぜChat Completionsで呼べないのか:Interactions API専用のモデル

GoogleのGemini Omniのドキュメントによると、gemini-omni-1.2-flashを呼ぶ方法はInteractions API(POST https://generativelanguage.googleapis.com/v1beta/interactions、SDKではclient.interactions.create)だけで、GenerateContentにもChat Completionsにも対応していません。続けて編集するときは、前回のprevious_interaction_idを渡します。ゲートウェイはこの呼び方をOpenAIのチャット形式に載せられないため、各社が独自の動画用インターフェースを作っています。その結果、エンドポイント、モデルID、完了の待ち方、動画の受け取り方が経路ごとに違います。

ゲートウェイには2つの型があります。1つは、Googleの機能と課金をほぼそのまま通す型です。OpenRouterのGemini Omni 1.2 Flashのモデルページは、リクエストをGoogle AI Studioにそのまま転送すると説明しており、秒単価もGoogleと同じです。Vercel AI Gatewayも延長や追加の編集まで扱えると告知しています。もう1つは、1本いくらの定額にして機能を絞る型で、LaoZhangは3〜10秒・1080pまで、入力はテキストと画像だけです。同じ「ゲートウェイ経由」でも、どちらの型かで料金の計算も使える機能も変わります。

Google直接・Vercel・OpenRouter・LaoZhangの対応表

4つの経路のうち、15秒と4Kまで届くのはGoogle直接、Vercel、OpenRouterの3つで、LaoZhangは3〜10秒・1080pまでです。縦横比はどの経路も16:9と9:16の2種類です。違いが大きいのは呼び出し方、モデルID、課金方式で、次の表は2026年11月12日時点の各社の公開情報と、LaoZhangについては同日の実測をまとめたものです。

項目Google直接Vercel AI GatewayOpenRouterLaoZhang
呼び出し方Interactions APIAI SDKのgenerateText・streamText独自の非同期API POST /api/v1/videosOpenAI形式のPOST /v1/videos
モデルIDgemini-omni-1.2-flashgoogle/gemini-omni-1.2-flashgoogle/gemini-omni-1.2-flashgemini-omni-1.2-flash
必要なものGemini APIの有料枠、対応地域Vercelのキー(Googleアカウント不要)OpenRouterのキーLaoZhangのトークン(Googleアカウント不要)
長さ3〜15秒3〜15秒3〜15秒3〜10秒
解像度360p〜4K360p〜4K360p〜4K360p、720p、1080p
画像の入力参照画像6枚まで、先頭と末尾のフレーム参照画像6枚までfirst_frameとlast_frame開始フレーム1枚と参照画像(合計6枚まで)
動画の入力・編集・延長参照動画、会話形式の編集、延長は合計30秒まで3〜15秒の元動画の編集、延長は合計30秒まで参照動画、アップロード動画の編集、続きの編集と延長なし
課金秒単価(720pで1秒約$0.07)動画の秒単価は公開ページに記載なしGoogleと同じ秒単価1本定額(解像度で3段階)
情報の出どころGoogleの料金ページとドキュメントVercelの変更履歴とモデルページOpenRouterのモデルページと動画APIガイド実測とLaoZhangのドキュメント

Googleの欄はGemini APIの料金ページとOmniのドキュメント、Vercelの欄はVercelの変更履歴「Gemini Omni 1.2 Flash now available on AI Gateway」(2026年11月5日)、OpenRouterの欄はモデルページと公開の動画モデル一覧によります。Google直接はGemini APIの無料枠では使えず、Googleの対応地域の一覧にある国・地域でしか使えません。

どの経路が安いか:秒課金と1本定額は4.32秒で同額

秒課金と1本定額のどちらが安いかは、4.32秒を境に決まります。Googleの秒単価は「1秒あたりの出力トークン数×動画出力の単価(100万トークンあたり$12)」で、720pは1秒5,792トークンなので約$0.0695です(Gemini APIの料金ページ、2026年11月12日時点)。LaoZhangの720pの定額$0.30をこの秒単価で割ると4.32秒になり、360p(定額$0.10、秒単価約$0.0232)と1080p(定額$0.45、秒単価約$0.1043)でも同じく4.32秒です。したがって3秒と4秒は秒課金、5秒以上は定額のほうが安く、11〜15秒と4Kは秒課金の経路にしかありません。

720pの秒課金の料金線と1本定額$0.30の線が4.32秒で交わるグラフと、360p・1080pも同じ4.32秒で分岐し4Kには定額がないことを示すカード

長さ360p(定額$0.10)720p(定額$0.30)1080p(定額$0.45)4K(定額なし)
3秒$0.070$0.209$0.313$0.626
4秒$0.093$0.278$0.417$0.834
5秒$0.116$0.348$0.521$1.043
8秒$0.185$0.556$0.834$1.668
10秒$0.232$0.695$1.043$2.085
15秒$0.348$1.043$1.564$3.128

表の金額は秒課金で払う場合の動画出力分で、Googleが公表する1秒あたりのトークン数(360pは1,931、720pは5,792、1080pは8,688、4Kは17,376)に$12/100万トークンと秒数を掛けたものです。見出しの括弧内が同じ解像度の定額で、定額は10秒までしか選べません。

本数が多いと差は広がります。720pの10秒を100本作ると、秒課金は$69.50、定額は$30で、定額は秒課金の43%です。逆に720pの3秒を100本なら秒課金は$20.85で、定額の$30のほうが44%高くなります。秒課金の経路ではこのほかに入力トークンが100万あたり$1.50かかりますが、1,000トークンのテキストプロンプトなら$0.0015なので、この比較を覆すほどではありません。OpenRouterでクレジットを買うときの手数料は表に入っていません。

ゲートウェイのモデルページに出る「出力$9/100万トークン」はテキスト出力の単価で、動画出力は$12です。Vercelの公開モデル一覧(GET https://ai-gateway.vercel.sh/v1/models)も入力$1.50・出力$9のトークン単価だけを載せており、2026年11月12日時点で動画の秒単価は公開ページに記載がありません。そのため表の秒課金はGoogle直接とOpenRouterに当てはまるもので、Vercelでの請求額はこの表からは決められません。

LaoZhangの/v1/videosで最初の1本を作る:作成→ポーリング→MP4

LaoZhangの経路は、トークンを作る、POST /v1/videosでタスクを作る、GET /v1/videos/{id}で完了を待つ、video_urlからMP4を取る、の4段階です。GoogleのアカウントやGemini APIキーは要りません。下のリクエストは2026年11月12日に実際に送ったものと同じ形で、キーは環境変数LAOZHANG_API_KEYに入れておきます。

  1. LaoZhangのトークン管理ページでdefaultグループのトークンを作ります。課金モードは従量優先(按量优先)か回数課金(按次计费)にします。従量課金だけに設定したトークンではこのモデルを呼べません。

  2. タスクを作ります。secondsは3〜10、resolutionは360p・720p・1080p、縦長にするなら"aspect_ratio": "9:16"を足します。応答のidが以降の手順で使うタスクIDです。

    bash
    VIDEO_ID=$(curl -s -X POST "https://api.laozhang.ai/v1/videos" \
      -H "Authorization: Bearer $LAOZHANG_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "gemini-omni-1.2-flash",
        "prompt": "A street violinist plays under a lamp on a wet cobblestone street after rain, the camera slowly pushes in. She stops, smiles at the camera and says: \"This one is for you.\" Rain drips and violin in the background.",
        "resolution": "720p",
        "seconds": "10"
      }' | jq -r '.id')

    画像から始めるときは、開始フレームを"image": "data:image/jpeg;base64,..."のように渡します。参照画像を足す場合はreference_imagesの配列に入れ、開始フレームと合わせて6枚までです。

  3. 完了まで5〜10秒おきに状態を読みます。状態はqueued、in_progress(progress付き)と進み、completedかfailedで終わります。LaoZhangのドキュメントは、15分までは待ち、その間に再送しないよう案内しています。

    bash
    while true; do
      STATUS=$(curl -s "https://api.laozhang.ai/v1/videos/$VIDEO_ID" \
        -H "Authorization: Bearer $LAOZHANG_API_KEY" | jq -r '.status')
      echo "$STATUS"
      if [ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ]; then break; fi
      sleep 10
    done
  4. completedの応答にはid、object、model、status、progress、resolution、seconds、size、created_at、completed_at、video_urlが入ります。video_urlは認証なしでダウンロードでき、リンクは7日間で切れるので手元に保存し、ffprobeで解像度と長さを確かめます。

    bash
    curl -s "https://api.laozhang.ai/v1/videos/$VIDEO_ID" \
      -H "Authorization: Bearer $LAOZHANG_API_KEY" | jq -r '.video_url' | xargs curl -sL -o omni.mp4
    ffprobe -v error -show_entries stream=codec_name,width,height,r_frame_rate:format=duration -of compact omni.mp4

プロンプト内の引用符で囲んだセリフは、LaoZhangのドキュメントでは日本語を含む5言語で話すとされていますが、上の実測は英語のセリフだけで、発話の正確さは書き起こして確かめていません。料金、エラー表、他の動画モデルとの使い分けはLaoZhangのGemini Omni動画生成ドキュメント(中国語)にあり、英語のドキュメントはdocs.laozhang.ai/enから読めます。

注記:laozhang.ai は当ブログ運営チームの自社サービスです。その料金は中立的な比較ではなく、自社の提示価格です。

VercelとOpenRouterで呼ぶ場合:公式サンプルの形

VercelとOpenRouterはどちらもgoogle/gemini-omni-1.2-flashというIDを使いますが、呼び方は大きく違います。VercelはタスクIDやポーリングを見せず、AI SDKのgenerateTextが完成した動画をファイルとして返します。OpenRouterはLaoZhangと同じ作成→ポーリング→ダウンロードの非同期型ですが、パラメータ名と状態名が違います。どちらの公式ページにも、長い4Kクリップでの待ち時間やタイムアウトの扱いは書かれていません。

Vercelの変更履歴に載っている例は、360p・3秒のクリップを作ってvideo.mp4に保存するものです。streamTextを使っても、動画は少しずつではなく完成したファイルとして届くと説明されています。

ts
import { writeFile } from 'node:fs/promises';
import { generateText } from 'ai';

const { files } = await generateText({
  model: 'google/gemini-omni-1.2-flash',
  prompt: 'A red ball rolls across a white table.',
  providerOptions: {
    google: {
      responseModalities: ['text', 'video'],
      responseFormat: [{ type: 'video', resolution: '360p', duration: '3s' }],
    },
  },
});

const video = files.find(file => file.mediaType === 'video/mp4');
if (!video) throw new Error('No MP4 video returned');
await writeFile('video.mp4', video.uint8Array);

OpenRouterの動画生成ガイドの形では、POST /api/v1/videosに長さをduration(整数)で渡します。応答はid、polling_url、status: "pending"で、GET /api/v1/videos/{jobId}を約30秒おきに読み、completedになったらGET /api/v1/videos/{jobId}/content?index=0をキー付きで呼んでMP4を取ります。失敗側の終了状態はfailed、cancelled、expiredで、ポーリングの代わりにcallback_urlでWebhookを受けることもできます。

bash
curl -s -X POST "https://openrouter.ai/api/v1/videos" \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-omni-1.2-flash",
    "prompt": "A red ball rolls across a white table.",
    "duration": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

待ち時間とファイル:6本の実測は31〜67秒、24fpsのMP4

2026年11月12日の日本時間12時42分〜48分に、LaoZhangの経路で6本を生成し、6本ともcompletedになりました。タスクIDは毎回5.5〜5.8秒で返り、5秒おきのポーリングで計った完了までの時間(作成の呼び出しを含む)は360pの3秒が約31秒、1080pと720pでも約1分でした。キー1つ、約6分間の6本なので、成功率を示す数字ではありません。

指定入力完了までの時間返ってきたファイル定価
360p・3秒・16:9(3回)テキスト30.7秒、30.8秒、30.9秒640×360、3.03秒、約1.29MB各$0.10
360p・5秒・16:9開始フレーム画像とテキスト37.2秒640×360、5.03秒、1.62MB$0.10
720p・10秒・16:9テキスト67.2秒1280×720、10.03秒、4.99MB$0.30
1080p・5秒・9:16テキスト61.1秒1080×1920、5.03秒、5.01MB$0.45

ffprobeで読むと、6本ともH.264・24fpsの映像とAAC・ステレオ・48kHzの音声トラックを持つMP4で、指定した解像度と長さはすべて守られていました。音声の平均音量は−23〜−33dBで、無音のトラックではありません。ビットレートは720pで約3.98Mbit/s、1080pの縦長で約7.95Mbit/sです。LaoZhangのドキュメントの目安(360pの短いクリップは30〜60秒、720pの10秒は約1分、1080pの10秒は1.5〜2分)とも合っています。

6本の定価の合計は$1.15です。利用額のカウンターは、ほかの作業と重ならなかった360p・1080p・画像からの生成では定価どおりに動きました。同じキーを別の作業でも使っていた時間帯の3本(360pの2本と720p)は差分がそれぞれ$0.018多く出ましたが、これは重なった作業の分と区別できません。なお3秒と5秒のクリップは、10秒で作った場合と同じ料金です。

比べる材料として、OpenRouterのモデルページは同日12時35分ごろ、唯一の提供元Google AI Studioについて、エンドツーエンドの待ち時間の中央値を41.51秒、過去3日間の稼働率を44.18%と表示していました。これはOpenRouter自身が出している数字で、公開から1週間の3日間の値です。毎日変わるうえ、Google API全体や他のゲートウェイには当てはめられません。

LaoZhang経路が提出時に拒否する指定とエラー文

Googleのモデルにはあっても、LaoZhangの経路では使えない指定があります。2026年11月12日の日本時間12時41分〜42分に7種類を送ると、すべて約1秒でHTTP 400(type: invalid_request_error)が返り、タスクは作られず課金もされませんでした。エラー文はこのゲートウェイ自身の検証メッセージで、Google APIの応答ではありません。

送った指定返ってきたエラー文
"seconds": "15"seconds must be a whole number from 3 to 10.
"seconds": "2"seconds must be a whole number from 3 to 10.
"resolution": "4k"resolution must be one of 360p, 720p, 1080p (2K and 4K are not available).
"aspect_ratio": "1:1"aspect_ratio must be one of 16:9, 9:16.
video_url(参照動画)video_url is not supported by gemini-omni-1.2-flash; send a prompt and up to 6 images.
last_frame(末尾フレーム)last_frame is not supported by gemini-omni-1.2-flash; send a prompt and up to 6 images.
参照画像7枚Send at most 6 images in total (input_reference plus reference_images).

モデルIDの書き方でも止まります。OpenRouterやVercel向けのgoogle/gemini-omni-1.2-flashをLaoZhangに送るとHTTP 503でCurrent group default has no available channels for model google/gemini-omni-1.2-flash …が返り、gemini-omni-1.2-flashに直すと通りました。経路を移すときは、エンドポイントと一緒にモデルIDも書き換えます。

返ってきた動画はGoogle製か:C2PAの発行者はGoogle LLC

ゲートウェイを通っても、ファイルにはGoogleの来歴情報が残っています。2026年11月12日にc2patoolで生成できた6本を調べると、すべてに有効なC2PAマニフェスト(validation_state: Valid)があり、発行者は「Google LLC」、生成ツールは「Google C2PA Core Generator Library」でした。記録された操作は「Created by Google Generative AI.」と「Added imperceptible SynthID watermark」で、素材の種類はtrainedAlgorithmicMediaです。

Googleは、Omniの出力すべてに見えないSynthIDの透かしとC2PAの来歴情報を付けると説明しています。調べた結果から言えるのは、ファイルがGoogleの生成系で作られ、ゲートウェイを通った後もその情報が残っていることまでです。どのバージョンのOmniで作られたかは、このマニフェストだけでは分かりません。手元のファイルはc2patool omni.mp4で同じように確かめられます。

プロンプトがブロックされたら:再送すると新しいタスクとして課金

LaoZhangの経路では、生成後にfailedで終わったタスクは課金が戻りますが、送り直すと新しいタスクとして改めて課金されます。2026年11月12日に実在の有名人の名前を入れたプロンプトを送ると、提出時はHTTP 200でタスクIDが返り、11.6秒後にfailedになりました。error.codeはvideo_generation_failed、メッセージはThe prompt or images were blocked: the model can't create videos of real people's names or likenesses. This request is not charged. Remove the person's name or photo and retry.です。利用額のカウンターは提出時に$0.10増え、約30秒後に元の値に戻りました。

LaoZhangのドキュメントでは、提出時のHTTP 400は課金なし、生成後のfailedは全額返金、30分を過ぎても終わらないタスクは失敗扱いで返金です。再送で二重に払わないためには、queuedやin_progressのうちは送り直さず、終了状態を確かめてから送ります。ブロックされた場合は、メッセージどおり人物の名前や写真を外してから送り直します。

11〜15秒・4K・延長・編集が要るならGoogle直接かOpenRouter・Vercel

LaoZhangの経路は3〜10秒・1080p以下のテキストと画像からの生成に限られるため、11〜15秒、4K、延長、編集、参照動画、末尾フレームのどれかが要るなら、Google直接かOpenRouter・Vercelに切り替えます。どれを選ぶかは、Googleの有料枠を使えるか、すでにVercel AI SDKを使っているか、料金を秒単価で前もって計算したいかで決まります。

Google直接・Vercel・OpenRouter・LaoZhangの4経路について、モデルID、長さと解像度、画像の入力、動画の入力・編集・延長の対応を並べた表

OpenRouterでは、公開の動画モデル一覧のとおりdurationを15まで、resolutionを4Kまで指定でき、frame_imagesでfirst_frameとlast_frameを渡せます。モデルページによると、前回の生成の続きの編集や延長はprevious_job_idで行い、参照動画やアップロードした動画の編集にも対応しています。Vercelでは変更履歴のとおり、延長は1回3〜10秒で合計30秒まで、追加の修正はpreviousInteractionIdで行います。すでにAI SDKで他のモデルを呼んでいるなら、modelとproviderOptionsを変えるだけで済むのがVercelの利点ですが、動画の秒単価は前述のとおり公開ページにありません。

Google直接は、ゲートウェイを挟まないぶん機能がすべて使え、料金もGoogleの秒単価そのままです。ただしGemini APIの有料枠が前提で、レート制限は自分のGoogleプロジェクトのTierで決まります。ゲートウェイ側の上限がGoogleのTierとどう関係するかは、どのゲートウェイも公開していません。最初のリクエスト、Tierごとの上限、1.1からの移行はGemini Omni 1.2 Flash APIの使い方と料金:1.1は12月3日に自動切替で扱っています。

Gemini Omni 1.2 Flash APIゲートウェイのよくある質問

Gemini Omni 1.2 Flash APIは無料で使えますか?

2026年11月12日時点で、Gemini APIの無料枠ではこのモデルは「Not available」で、APIでの生成はどの経路でも有料です。Vercelのモデルページは無料ユーザーに30日ごと$5のクレジットを付けると書いていますが、このモデルに使えるかは記載がありません。APIを使わずアプリで作るなら、FlowとGeminiアプリの1日の上限はVeo3の回数制限は1日何本?FlowはLite5本、Geminiは本数非公開にまとめています。

Gemini Omni 1.1 Flashを指定したままだとどうなりますか?

Googleの料金ページによると、Gemini APIでは2026年12月3日からgemini-omni-1.1-flash宛てのリクエストがすべてgemini-omni-1.2-flashで処理され、1.2の料金で課金されます。Gemini APIでの移行の詳細はGemini Omni 1.2 Flash APIの使い方と料金:1.1は12月3日に自動切替にあります。

15秒より長い動画をAPIで作るには?

Gemini Omni 1.2 Flashは1回の生成が15秒までで、延長を重ねても合計30秒までです。20〜60秒の連続した1本が要るなら、LaoZhangでは同じ/v1/videosとトークンでMetaのmuse-videoを呼べます。手順と長さごとの料金はMuse Video APIの使い方:公式APIなしの経路と60秒までの料金にあります。

参考資料5

本文で参照している外部ページを、登場順に並べています。最終更新日:2026年11月12日。

  1. 1.Gemini Omniのドキュメントai.google.dev/gemini-api/docs/omni
  2. 2.OpenRouterのGemini Omni 1.2 Flashのモデルページopenrouter.ai/google/gemini-omni-1.2-flash
  3. 3.Gemini APIの料金ページai.google.dev/gemini-api/docs/pricing
  4. 4.Vercelの変更履歴「Gemini Omni 1.2 Flash now available on AI Gateway」vercel.com/changelog/gemini-omni-1-2-flash-now-available-on-ai-gateway
  5. 5.OpenRouterの動画生成ガイドopenrouter.ai/docs/guides/overview/multimodal/video-generation