GEMINI LABEN
PRO35 — 報道が目標日としていた7月17日を過ぎましたが、Gemini 3.5 Proの公式発表もモデルカードも本日時点で確認できていません。予備日として7月24日が挙げられていますNB2LITE — Nano Banana 2 Lite(Gemini 3.1 Flash-Lite Image)が登場しました。約4秒で画像を生成し、1,000枚あたり0.034ドルという水準ですOMNI — Gemini Omni Flashが公開プレビューに入りました。最長10秒の動画を生成でき、価格は出力1秒あたり0.10ドルですEDIT — Omni Flashは会話による編集を軸に設計されています。登場人物の差し替え、ライティングの変更、アングルの調整を自然文で指示でき、元の音声と映像のトラックは保持されますSYNTHID — 新しい2モデルにはSynthIDの電子透かしが組み込まれており、生成物の来歴をGeminiアプリ側から確認できますSHUTDOWN — 旧来の画像生成モデルは非推奨となり、8月17日に停止されます。移行の期限をご確認いただければと思いますPRO35 — 報道が目標日としていた7月17日を過ぎましたが、Gemini 3.5 Proの公式発表もモデルカードも本日時点で確認できていません。予備日として7月24日が挙げられていますNB2LITE — Nano Banana 2 Lite(Gemini 3.1 Flash-Lite Image)が登場しました。約4秒で画像を生成し、1,000枚あたり0.034ドルという水準ですOMNI — Gemini Omni Flashが公開プレビューに入りました。最長10秒の動画を生成でき、価格は出力1秒あたり0.10ドルですEDIT — Omni Flashは会話による編集を軸に設計されています。登場人物の差し替え、ライティングの変更、アングルの調整を自然文で指示でき、元の音声と映像のトラックは保持されますSYNTHID — 新しい2モデルにはSynthIDの電子透かしが組み込まれており、生成物の来歴をGeminiアプリ側から確認できますSHUTDOWN — 旧来の画像生成モデルは非推奨となり、8月17日に停止されます。移行の期限をご確認いただければと思います
記事一覧/API / SDK
API / SDK/2026-06-18上級

countTokens でバッチ投入前にコスト超過を止める — 既定モデルが変わっても崩れない予算ゲートの設計

夜間バッチが想定外に高くつく原因は、投入後にしかコストが分からないことです。countTokens を起点に、思考トークンまで織り込んだ予算ゲートを設計し、既定モデルが入れ替わっても見積もりが崩れない運用に立て直します。

Gemini API189countTokens2コスト管理15バッチ処理6本番運用47

プレミアム記事

既定モデルが入れ替わった日に、月次コストの見積もりが静かにずれた

私は個人開発のかたわら、壁紙アプリのレビューを夜間にまとめて分類するバッチと、AdMob の日次レポートを要約するバッチを Gemini API で回しています。どちらも件数が読めるので、月初に「だいたい月いくら」と当たりをつけ、その範囲に収まる前提で運用していました。

ところが先日、既定モデルが新しい世代の Flash に切り替わったタイミングで、その当たりが静かに外れました。件数も入力の中身も変えていないのに、月の半ばで想定の予算枠を一日分ほど超えていたのです。ログを追って分かったのは、出力テキストの長さは変わっていないのに、課金対象のトークンが増えていたことでした。原因は思考(thinking)トークンです。私の見積もりは「入力トークン+見えている出力トークン」だけを数えていたため、モデルが内部で消費する思考トークンをまるごと取りこぼしていました。

この経験で痛感したのは、コストを「投入してから請求で知る」運用の脆さです。バッチは一度走り出すと数千件を一気に処理します。途中で気づいても、止める頃には大半が課金済みです。そこで、投入の直前にコストを見積もり、予算を超えるなら走らせない「予算ゲート」を入口に置く設計へ作り変えました。私自身が実際に作り直した設計を、そのまま再現できる形で以下に残します。

なぜ「投入後に気づく」超過が起きるのか

バッチのコスト超過には、個人開発者が踏みやすい型がいくつかあります。

ひとつは、入力サイズのばらつきです。レビュー分類のように1件あたりの入力が短い処理でも、たまに極端に長い本文が混ざると、その数件が全体のトークンを押し上げます。平均で見積もると、こうした裾の長い分布を取りこぼします。

もうひとつは、出力トークンの過小評価です。要約や分類の出力は短く見えますが、構造化出力で JSON スキーマを返させると、フィールド名や区切り記号がトークンを食います。「見た目の文章量」と「課金トークン」は一致しません。

そして最大の盲点が、思考トークンです。新しい世代のモデルは応答前に内部で推論を行い、その分のトークンも出力側として課金されます。可視テキストだけを数える静的な試算は、ここを構造的に取りこぼします。私の環境では、分類タスクで出力課金の3割前後が思考トークンでした。既定モデルが入れ替わると、この比率がそのまま見積もりの誤差として表面化します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
countTokens を起点に、バッチ投入前へ projected_cost を算出して予算超過を止めるゲートのPythonコード
Gemini 3.5 Flash の思考トークンを見積もりへ織り込み、出力だけ数える静的試算の30%前後の取りこぼしを補正する手順
既定モデルが入れ替わっても校正係数1つで追従させる、運用に乗せやすい設計判断
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-06-26
Gemini API の月額上限に当てた瞬間、有料ユーザーまで止まる — Project Spend Caps の影響範囲をプロジェクト分割で閉じ込める
Project Spend Caps はプロジェクト全体を一度に止めます。無料ユーザーの暴走が有料ユーザーを巻き込まないよう、上限の影響範囲をティア別プロジェクトで分離し、約10分の遅延を埋めるソフト予算ゲートを実装する設計メモです。
API / SDK2026-07-13
structured output の任意フィールドが null・空文字・キー欠落で三様にぶれる — 正規化ゲートで一つの表現に畳む
Gemini の structured output で任意フィールドが null・空文字・キー欠落の三態にぶれ、下流が壊れる問題を、responseSchema の nullable 宣言と出力後の正規化ゲートで一つの表現に畳む実装として整理します。個人開発の夜間バッチでの実測つきです。
API / SDK2026-07-11
Gemini のコンテキストキャッシュが途中で失効する — 一時停止するパイプラインで TTL 切れを検知して張り直す
夜間バッチや再試行で処理が一時停止すると、Gemini の明示的コンテキストキャッシュは静かに TTL 切れを起こし、以降の呼び出しが全トークン課金へ戻ります。残り有効期限を握って張り直すか素通しするかを費用で決める、小さなリース設計をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →