GEMINI LABEN
10/2 — gemini-2.5-flash-image の停止予定日は10月2日です。世に Nano Banana として広まった初代で、記事やサンプルに最も多く残っています注意 — 公式の表が推奨移行先に挙げる gemini-3.1-flash-image-preview は、すでに6月25日に停止済みです。実際の移行先は GA の gemini-3.1-flash-image です9/30 — gemini-omni-flash-preview の停止は9月30日。移行先は8月27日に GA となった gemini-omni-1.1-flash ですRESOLUTION — gemini-omni-1.1-flash では video_config に resolution が入りました。360p / 720p / 1080p / 4k から選べます最早日 — 停止日は確定日ではなく「最も早い可能性のある日付」だと公式が明記しています。慌てず、しかし先延ばしにもしないことですSAMPLING — temperature / top_p / top_k は7月21日付で非推奨です。手癖で温度を下げる書き方は、世代が変わると効かなくなります10/2 — gemini-2.5-flash-image の停止予定日は10月2日です。世に Nano Banana として広まった初代で、記事やサンプルに最も多く残っています注意 — 公式の表が推奨移行先に挙げる gemini-3.1-flash-image-preview は、すでに6月25日に停止済みです。実際の移行先は GA の gemini-3.1-flash-image です9/30 — gemini-omni-flash-preview の停止は9月30日。移行先は8月27日に GA となった gemini-omni-1.1-flash ですRESOLUTION — gemini-omni-1.1-flash では video_config に resolution が入りました。360p / 720p / 1080p / 4k から選べます最早日 — 停止日は確定日ではなく「最も早い可能性のある日付」だと公式が明記しています。慌てず、しかし先延ばしにもしないことですSAMPLING — temperature / top_p / top_k は7月21日付で非推奨です。手癖で温度を下げる書き方は、世代が変わると効かなくなります
記事一覧/API / SDK
API / SDK/2026-07-29上級

出力トークンが17%減ると聞いて、総額はいくら下がるのかを分解した

出力単価16.67%減と出力トークン17%減が重なったとき、総額はいくら下がるのか。Gemini 3.6 Flash への切り替えを単価・数量・交差項に厳密分解し、エージェントループでは削減率がむしろ下がった実行結果と、請求との突き合わせ方をまとめました。

Gemini API238コスト設計13トークン会計エージェント16運用13

プレミアム記事

7月21日の週に Gemini 3.6 Flash が入れ替わる形で入ってきたとき、私が最初にしたのは頭の中での足し算でした。

出力単価が 100万トークンあたり $9.00 から $7.50 へ。おおよそ 16.67% 減。あわせて「同じ課題でも出力トークンが約17%少ない」という話。

合わせて 33% くらい安くなるのだろう、と。

その見積もりを個人開発の自動処理に当てはめて予算表を書き直したところ、どうにも桁が合いませんでした。処理系によって、期待した削減の十分の一しか出てこない。

原因は二つありました。一つは掛け算すべきものを足していたこと。もう一つは、入力単価が据え置きである事実を勘定に入れていなかったことです。

以下は、その二つを潰すために書いた分解のコードと、実際に走らせて出てきた数字です。価格は2026年7月時点で公表されているものを使っています。料金は変わりますので、判断に使う前に必ず一次情報でご確認ください。

単価と数量が同時に動くと、引き算の順番で答えが変わる

出力側の費用は「単価 × 数量」です。単価が $9.00 から $7.50 へ、数量が 1.00 から 0.83 へ動いたとき、費用は 9.00 → 7.50 × 0.83 = 6.225 になります。

削減率は 1 − 6.225 / 9.00 で 30.84%。足し算で出した 33.67% ではありません。

差の 2.83 ポイントは、両方が同時に動いた分の重なりです。単価を下げた後の安い単価で、減った分の数量まで割り引いてしまっているという二重計上にあたります。

この重なりは経済統計で交差項と呼ばれるもので、金額の差を要因ごとに配るときには必ず出てきます。無視できる大きさではありません。

from dataclasses import dataclass
 
@dataclass(frozen=True)
class Price:
    name: str
    inp: float   # USD / 1M input tokens
    out: float   # USD / 1M output tokens
 
OLD = Price("gemini-3.5-flash", 1.50, 9.00)
NEW = Price("gemini-3.6-flash", 1.50, 7.50)
 
def cost(p: Price, ti: int, to: int) -> float:
    return (ti / 1_000_000) * p.inp + (to / 1_000_000) * p.out
 
def decompose(old_p: Price, new_p: Price, to_old: int, to_new: int):
    """出力側の総額差を 単価効果 / 数量効果 / 交差項 に厳密分解する。
    三つの和は必ず実測差と一致する(浮動小数の丸め誤差を除く)。"""
    q0, q1 = to_old / 1_000_000, to_new / 1_000_000
    p0, p1 = old_p.out, new_p.out
    price_effect = (p1 - p0) * q0          # 数量を据え置いて単価だけ動かす
    volume_effect = (q1 - q0) * p0         # 単価を据え置いて数量だけ動かす
    cross = (p1 - p0) * (q1 - q0)          # 同時に動いた分
    total = p1 * q1 - p0 * q0
    residual = abs((price_effect + volume_effect + cross) - total)
    if residual > 1e-9:
        raise AssertionError(f"分解が閉じていません: 残差 {residual}")
    return price_effect, volume_effect, cross, total

residual の検算を例外にしてあるのは、後から按分の定義をいじったときに黙って壊れないようにするためです。分解式は少し触ると簡単に閉じなくなります。

三つのワークロードで走らせた結果

手元の処理を、入力偏重・出力偏重・中庸の三つに単純化して同じ分解にかけました。数値は上記のコードの実行結果です。

処理入力トークン出力トークン出力が旧総額に占める割合総額削減
A 分類バッチ(入力偏重)2,000,00040,00010.7%3.30%
B 下書き生成(出力偏重)30,000120,00096.0%29.60%
C 対話(中庸)200,00060,00064.3%19.82%

同じモデル、同じ 17% の削減率で、総額の下がり方が 3.30% から 29.60% まで開きます。

A の内訳を金額で並べると次のようになりました。旧 $3.3600 に対して新 $3.2490。差は −$0.11100 で、単価効果 −$0.06000、数量効果 −$0.06120、交差項 +$0.01020 の和です。

交差項が正の符号で戻ってきている点に注意してください。単価と数量が同じ向きに減っているとき、交差項は削減を打ち消す方向に働きます。足し算の見積もりが常に楽観側に外れるのはこのためです。

A で削減が伸びない理由は分解を見ればはっきりします。出力が総額の 10.7% しか占めておらず、残る 89.3% は入力単価 $1.50 のままだからです。値下げが届いていない領域が大半を占めています。

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

この記事の続きを読む

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

この記事で得られること
単価16.67%減と数量17%減を足し算すると33.67%、正しく合成すると30.84% — 2.83ポイントのずれがどこから出るかを実行結果で示します
出力側が総額の10%しかない分類バッチでは総額削減が3.30%に留まる一方、出力偏重の下書き生成では29.60%になる分解の内訳
12ターンのエージェントループで削減率が20.40%から15.59%へ下がった測定と、履歴の刈り込みが26.9%削減で上回った比較
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

API / SDK2026-09-02
9月で止まる Gemini の標準 API キーを、CI とサーバーとローカルの三層で棚卸しする
標準 API キーは制限付きのものも含めて9月中に拒否されるようになります。差し替えではなく出どころの移行になるため、コード・デプロイ設定・手元の三層に分けた棚卸しと、両対応クライアントを挟んでから切り替える手順をまとめました。
API / SDK2026-09-01
Gemini の API キーを差し替えても旧キーが勝つ。決め手は読み込み順ではありませんでした
同じ環境変数名を複数の経路が供給していると、キーを差し替えても古い値が残ります。読み込み順を四通り入れ替えた実測と、供給と読み取りを台帳に残す監査シムの実装をまとめました。
API / SDK2026-08-18
Gemini 3.7 Flash と 3.1 Pro の使い分けを、速さではなくやり直しのコストで決める
新しい Flash が出るたびにモデル選定をやり直す作業を、判断基準ごと組み替えました。出力の誤りを機械で拾えるかどうかで振り分ける方法と、導入価格が切れる12月31日をまたいだ費用の出し方をまとめています。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます