BigQuery の AI 関数で自由記述の分類や要約を定期実行したい、1 人目のデータ担当の方向けの記事です。BigQuery AI関数の料金がどこでかかるかを整理し、1,000 行・1 万行・10 万行を処理した時の月額を筆者が試算しました。読み終わると、実行する前に月額の見込みと上限を上司へ説明できるようになります。
この記事で分かること
- AI 関数を使うと、クエリの料金のほかに「モデルの料金」がかかること
- 1,000 行・1 万行・10 万行 × 月 1 回・週 1 回・毎日の月額の目安(2026-11-10 時点の単価)
- 実行する前に、AI.COUNT_TOKENS でトークン数を数えて見積もる手順
- 費用を左右するのは行数よりも「出力と思考の長さ」であること
ざっくり言うと
既定のモデル(Gemini 3.5 Flash-Lite)のバッチ料金で、1 行あたり約 200 トークンの文章を短く要約する場合、1 万行を 1 回処理すると約 1.64 ドルでした。10 万行を毎日処理すると、月に約 493 ドルになります。
一方で、クエリの料金は、1 行約 1 KB と仮定すると 10 万行を毎日読んでも月約 3 GB で、月 1 TiB の無料枠に収まる見込みです。つまり、費用のほとんどはモデルの料金です。
BigQuery の AI 関数とは:SQL の中から生成 AI を呼ぶ仕組み
AI 関数(SQL の中から生成 AI のモデルを呼び出す BigQuery の関数)を使うと、テーブルの文章の列を 1 行ずつモデルに渡し、分類や要約の結果を列として受け取れます。代表的なのが AI.GENERATE です。
AI.GENERATE でモデルを指定しない場合、既定のモデルは gemini-3.5-flash-lite です(Google Cloud:AI.GENERATE 関数)。週次レポートのどこに AI 関数を使うかは、BigQuery の AI 機能を週次レポートのどこに使うかを整理した記事で紹介しています。
料金はどこでかかるか:クエリの料金とモデルの料金
AI 関数の料金は 2 階建てです。BigQuery で処理したデータ量にかかる通常の料金に加えて、モデル(リモートのエンドポイント)側の料金が別に発生します(Google Cloud:BigQuery の料金)。
図 1 のとおり、課金の場所は 2 か所です。
| 料金の種類 | 何に対してかかるか | 単価(2026-11-10 時点) | 請求元 |
|---|---|---|---|
| クエリの料金 | 読んだデータ量 | 1 TiB あたり 6.25 ドル、月 1 TiB まで無料 | BigQuery |
| モデルの料金 | 入力と出力の トークン(AI が文章を処理する単位) | 100 万トークンあたりの単価(下の表) | Vertex AI 側 |
BigQuery の料金表では、オンデマンドの単価は Iowa(us-central1)と東京(asia-northeast1)が同じ表に並び、東京だけ別の単価という記載は読み取れませんでした(Google Cloud:BigQuery の料金)。
モデルの料金は、モデルを提供するサービスから直接請求されます。請求書では、課金ラベル billing_service = 'bigquery_ml' で絞り込めると料金表に書かれています。
モデルの料金は「バッチ料金」を参照する
BigQuery の料金表は、AI.GENERATE などのモデル側の料金について、生成 AI の「バッチ料金」を見るよう案内しています。そこでこの記事では、バッチ料金を基準にし、標準料金を上限側として並べます。ただし、実際の請求画面で単価を確かめたわけではありません。
| モデルと料金の種類 | 入力(100 万トークン) | 出力(100 万トークン) |
|---|---|---|
| Gemini 3.5 Flash-Lite バッチ・グローバル(既定、基準) | 0.15 ドル | 1.25 ドル |
| Gemini 3.5 Flash-Lite バッチ・グローバル以外 | 0.165 ドル | 1.375 ドル |
| Gemini 3.5 Flash-Lite 標準・グローバル(上限側) | 0.30 ドル | 2.50 ドル |
| Gemini 3.1 Flash-Lite バッチ・グローバル | 0.125 ドル | 0.75 ドル |
| Gemini 3.5 Flash 標準・グローバル | 1.50 ドル | 9.00 ドル |
単価は Google Cloud:生成 AI の料金 で 2026-11-10 に確認しました。
東京で実行するとグローバルの単価になる
モデル名だけを指定した場合、US で実行したクエリは us、EU では eu、それ以外の場所(東京を含む)では global の エンドポイント(モデルを呼び出す窓口)が使われます。そのため、東京のクエリにはグローバルの単価が当てはまります。US で実行すると、グローバル以外の単価(約 1 割高い)になります。
なお、公式ドキュメントは、データを処理する場所を指定したい場合には global エンドポイントを使わないよう注意しています。東京リージョン専用のモデル単価は、今回確認できませんでした。
関数ごとに料金のかかり方は違う
「AI」と名前が付いていても、すべてがモデルの料金の対象ではありません。
図 2 の内容を表にすると次のとおりです。
| 関数 | モデルの料金 | 提供の段階 |
|---|---|---|
| AI.GENERATE、AI.IF、AI.SCORE、AI.CLASSIFY など | かかる | この記事では確認していない |
| AI.AGG | かかる | GA(2026-10-13) |
| AI.KEY_DRIVERS | 公式に明記なし | GA(2026-09-29) |
| AI.FORECAST | 公式に明記なし | TimesFM 3.0 はプレビュー |
使うモデルは、AI.GENERATE や AI.CLASSIFY などと AI.AGG が Gemini です。AI.KEY_DRIVERS には、生成 AI のモデルを呼ぶという記載がありません。AI.FORECAST は BigQuery ML に組み込まれた TimesFM(既定は 2.5)を使います。
AI.AGG は Vertex AI の Gemini モデルを使うと公式ドキュメントに書かれています(Google Cloud:AI.AGG 関数)。AI.FORECAST は組み込みの TimesFM を使います(Google Cloud:AI.FORECAST 関数)。
ただし、AI.KEY_DRIVERS と AI.FORECAST について「モデルの料金がかからない」と明記した一文は見つかりませんでした。そのため「無料」とは書かず、「公式に明記なし」としています。GA(一般提供:正式版として提供されている状態)の日付は BigQuery のリリースノート で確認しました。
実行する前に見積もる:1 行あたりのトークン数を数える
モデルの料金は「トークン数 × 単価」で決まります。そこで、実行する前にトークン数を数えます。
図 3 の 2 段目で使うのが AI.COUNT_TOKENS(文章のトークン数を BigQuery の中で数える関数)です。2026-10-27 に GA になりました。数える処理は BigQuery の中で行われ、Vertex AI では課金されません(Google Cloud:AI.COUNT_TOKENS 関数)。
公式ドキュメントの例は、公開データセットの映画レビューのトークン数を数えるものです。
SELECT
review,
AI.COUNT_TOKENS(review).*
FROM `bigquery-public-data.imdb.reviews`
LIMIT 2;
この例では、2 件のレビューが 180 トークンと 246 トークンと数えられています。同じテーブルは、公開レビュー 200 件で AI の分類の正解率を検算した記事でも使いました。
注意点が 2 つあります。AI.COUNT_TOKENS が数えるのは入力だけで、出力と思考のトークンは含みません。また、筆者の作業環境には BigQuery のコマンドが無かったため、今回は AI.COUNT_TOKENS を自分では実行できていません。
そこで、以下の試算では、公式の例の 2 件の平均(213 トークン)を「1 行およそ 200 トークンの文章」の目安として使います。テーブル全体の平均ではない点に注意してください。
1,000 行・1 万行・10 万行の費用を計算する
筆者の仮定
料金表に無い値は、次のように仮定しました。
| 項目 | 仮定した値 | 理由 |
|---|---|---|
| 文章(1 行) | 213 トークン | 公式の AI.COUNT_TOKENS の例の平均 |
| 指示文(1 行ごとに送る) | 50 トークン | 分類や要約の短い指示 |
| 出力:分類 | 1 行 5 トークン | ラベル 1 語ほど |
| 出力:要約 | 1 行 100 トークン | 1〜2 文の要約 |
| 思考トークン | 0 | 思考を抑える設定にする前提(後で感度を示す) |
1 行の入力は 213 + 50 = 263 トークンです。式は次のとおりです。
1 回の費用 = 行数 × (263 × 入力単価 + 出力トークン × 出力単価) ÷ 1,000,000
1 回あたりの費用
既定モデルのバッチ料金(グローバル)で、筆者が料金表から計算した結果です。
| 用途 | 1,000 行 | 1 万行 | 10 万行 |
|---|---|---|---|
| 分類 | 0.05 ドル | 0.46 ドル | 4.57 ドル |
| 要約 | 0.16 ドル | 1.64 ドル | 16.44 ドル |
モデルや料金の種類を変えると、同じ 10 万行の要約でも金額が大きく変わります。
| モデルと料金の種類 | 10 万行を 1 回要約 |
|---|---|
| 3.1 Flash-Lite バッチ | 10.79 ドル |
| 3.5 Flash-Lite バッチ(既定) | 16.44 ドル |
| 3.5 Flash-Lite バッチ US(グローバル以外) | 18.09 ドル |
| 3.5 Flash-Lite 標準 | 32.89 ドル |
| 3.5 Flash 標準 | 129.45 ドル |
図 4 のとおり、標準料金どうしで比べても、Flash-Lite から Flash に変えると約 4 倍になります。既定のバッチ料金と比べると約 8 倍です。高性能なモデルが必要かどうかは、少ない行で結果を確かめてから決めるのが安全です。
頻度を変える:月 1 回・週 1 回・毎日の月額
1 回あたりの費用に、月の実行回数を掛けます。週 1 回は 52 週 ÷ 12 か月で月 4.33 回、毎日は月 30 回としました。毎回、新しい行だけを処理する前提です。
図 5 の値(要約)と、分類の値を表にまとめます。
| 用途 | 行数 | 月 1 回 | 週 1 回 | 毎日 |
|---|---|---|---|---|
| 要約 | 1,000 行 | 0.16 ドル | 0.71 ドル | 4.93 ドル |
| 要約 | 1 万行 | 1.64 ドル | 7.13 ドル | 49.34 ドル |
| 要約 | 10 万行 | 16.44 ドル | 71.26 ドル | 493.35 ドル |
| 分類 | 1,000 行 | 0.05 ドル | 0.20 ドル | 1.37 ドル |
| 分類 | 1 万行 | 0.46 ドル | 1.98 ドル | 13.71 ドル |
| 分類 | 10 万行 | 4.57 ドル | 19.80 ドル | 137.10 ドル |
上司に説明する時は、標準料金を上限として添えると安心です。要約の 10 万行を毎日処理する場合、標準料金なら月 986.70 ドルと筆者は計算しました。バッチ料金の約 2 倍です。
クエリの料金は無料枠に収まるか
BigQuery の 無料枠(毎月 1 TiB までのクエリは料金がかからない仕組み)と比べます。
クエリの料金は、クエリが読んだデータ量で決まります。筆者は今回 AI 関数を実行していないため、読むデータ量は行数から見積もりました。
| 項目 | 見積もり |
|---|---|
| 仮定 | 1 行あたり約 1 KB(1 KB = 1,000 バイト) |
| 10 万行を 1 回 | 約 100 MB |
| 10 万行を毎日(月 30 回) | 約 3 GB |
| 無料枠(1 TiB)に対する割合 | 約 0.3% |
この見積もりなら、クエリの料金は無料枠に収まる見込みです。仮に無料枠を使い切っていても、月約 3 GB は 1 TiB あたり 6.25 ドルの単価で約 0.02 ドルです(2026-11-10 時点、Google Cloud:BigQuery の料金)。図 5 にクエリの料金を描いていないのはこのためです。
ただし、無料枠は料金表で「アカウントごと・1 か月ごと」とされています。同じ請求先アカウントでほかのクエリを実行している場合は、その量と合わせて確かめてください。無料枠の詳しい計算は、BigQuery の無料枠で GA4 エクスポートが何か月もつかを計算した記事にまとめています。
費用を抑える手順
次の順で進めると、想定外の請求を防ぎやすくなります。
- 対象の行を絞り、処理済みの行を除く。
- 対象の行を、先に別のテーブルへ保存する。
- 保存したテーブルに AI.COUNT_TOKENS を実行し、入力のトークン数を数える。
- 出力と思考のトークンを仮定し、単価を掛けて 1 回と月額を出す。
- 少ない行(例:100 行)で AI.GENERATE を試し、結果と実際の消費を確かめる。
- 1 日あたりのトークン割り当てを設定する。
- 結果をテーブルに保存し、同じ行を再実行しない。
手順 2 は公式の勧めです。JOIN や ORDER BY … LIMIT を含む複雑なクエリでは、モデルが処理する行数が想定と変わることがあるため、先に結果を別テーブルへ書き出してから推論するよう書かれています(Google Cloud:AI.GENERATE 関数)。
手順 6 の トークン割り当て(1 日に使えるトークン数の上限)は、入力・出力それぞれに、プロジェクト単位とユーザー単位で設定できます。公式ブログは、最初の防御策にトークン割り当て、プロジェクト全体の安全網に Cloud Billing の費用上限を使うよう勧めています。費用上限はすぐには効かず、超過が出る場合があるためです(Google Cloud ブログ:生成 AI 関数の費用管理)。
つまずきやすい点
行数より「出力と思考の長さ」で費用が決まる
10 万行の要約(バッチ料金)を分けると、入力が 3.95 ドル、出力が 12.50 ドルで、出力が約 76% を占めます。出力の単価は入力の約 8 倍だからです。
試しに文章の長さを 2 倍(213 → 426 トークン)にしても、10 万行の要約は 16.44 ドルから 19.64 ドルへ、約 2 割増えるだけでした。一方、分類は出力が短いので、入力(文章の長さ)が費用の約 86% を占めます。用途によって、効く要素が変わります。
思考トークンを忘れると試算が大きく外れる
Gemini 2.5 以降のモデルでは、思考(回答の前にモデルが内部で考える処理)のトークンにも課金されます。AI.COUNT_TOKENS はこれを数えません。
仮に 1 行あたり 200 トークンの思考が加わると、10 万行の要約は 1 回 16.44 ドルから 41.45 ドルへ、約 2.5 倍になると筆者は計算しました。毎日なら月 1,243.35 ドルです。分類や短い要約のように深い推論が要らない処理では、思考を抑える設定(Gemini 3 以降は thinking_level を LOW にする)が公式ドキュメントで紹介されています。
費用の比較は「同じ前提」でそろえる
この記事の金額は、すべて米ドルで、2026-11-10 時点の単価です。他社の API と比べる場合は、問い合わせ分類とアンケート要約の月額で LLM API の価格を比べた記事のように、同じ件数・同じトークン数でそろえてから比べてください。
まとめ
- BigQuery AI関数の料金は、クエリの料金とモデルの料金の 2 階建てです。1 行約 1 KB の仮定では 10 万行を毎日読んでもクエリは無料枠に収まる見込みで、費用のほとんどはモデルの料金です。
- 既定モデルのバッチ料金で 1 行約 200 トークンの要約をすると、1 万行 1 回で約 1.64 ドル、10 万行を毎日なら月約 493 ドルです(2026-11-10 時点)。
- 実行前に AI.COUNT_TOKENS で入力を数え、出力と思考は仮定して足し、トークン割り当てで上限を決めます。
次の一歩
自社のテーブルの行数と文章の長さで試算し直したい方や、AI 関数を使った定期処理の構成を相談したい方は、お問い合わせからご連絡ください。AI 関数を含む SQL が想定どおりの行だけを処理しているか、読むデータ量が大きすぎないかを第三者の目で確かめたい場合は、BigQuery SQL レビューパックもご利用いただけます。
参考にした一次情報
いずれも 2026-11-10 に内容を確認しました。