GEMINI LABEN
LOGS — Interactions API の開発者ログが AI Studio のダッシュボードから見えるようになりました(7月6日)。対応する呼び出しの記録を後から追えますOMNIFL — gemini-omni-flash-preview は Interactions API 経由で 720p・3〜10秒の動画を生成し、そのまま会話で編集できますNANOLITE — gemini-3.1-flash-lite-image(Nano Banana 2 Lite)が GA になりました。低遅延と低コストに振った画像生成・編集向けですCOMPUSE — Computer Use ツールが Gemini 3.5 Flash で公開プレビューに入りました。ブラウザ・モバイル・デスクトップに対応し、安全ポリシーとプロンプトインジェクション検知を備えますAGENTS — Managed Agents が公開プレビューです。Google がホストする隔離 Linux サンドボックスで、状態を持つエージェントを動かせますVIDS — Google Vids に Omni が直接組み込まれ、テキスト指示だけで動画の質感や文字表現を調整できるようになりましたLOGS — Interactions API の開発者ログが AI Studio のダッシュボードから見えるようになりました(7月6日)。対応する呼び出しの記録を後から追えますOMNIFL — gemini-omni-flash-preview は Interactions API 経由で 720p・3〜10秒の動画を生成し、そのまま会話で編集できますNANOLITE — gemini-3.1-flash-lite-image(Nano Banana 2 Lite)が GA になりました。低遅延と低コストに振った画像生成・編集向けですCOMPUSE — Computer Use ツールが Gemini 3.5 Flash で公開プレビューに入りました。ブラウザ・モバイル・デスクトップに対応し、安全ポリシーとプロンプトインジェクション検知を備えますAGENTS — Managed Agents が公開プレビューです。Google がホストする隔離 Linux サンドボックスで、状態を持つエージェントを動かせますVIDS — Google Vids に Omni が直接組み込まれ、テキスト指示だけで動画の質感や文字表現を調整できるようになりました
記事一覧/API / SDK
API / SDK/2026-07-29上級

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

出力単価16.67%減と出力トークン17%減。二つの数字を足しても総額の下がり方は出ません。単価・数量・交差項への厳密分解と、エージェントループで削減率がむしろ下がった実行結果をまとめました。

Gemini API197コスト設計8トークン会計エージェント15運用8

プレミアム記事

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/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-07-19
静止画か短い動画か — Nano Banana 2 Lite と Omni Flash のコスト桁差で機能の置き所を決める
壁紙アプリの目玉アセットを静止画にするか短い動画にするかで手が止まったとき、決め手になったのは好みではなくコストの桁でした。Nano Banana 2 Lite と Omni Flash の単価を同じ土俵に並べ、動く意思決定関数まで落とし込みます。
API / SDK2026-07-17
途中で切れた Gemini のストリーミングを、引き直すか続きから書かせるか — 二重に払わないための分岐設計
モバイル回線でストリーミングが切れたあと、無条件に全部引き直していませんか。受信済み出力を続きに使う方式との費用差を式で出し、継ぎ目の壊れ方まで含めて分岐条件を決める設計をまとめます。
API / SDK2026-07-14
Batch ジョブが『まだ RUNNING です』のまま半日溶けていたとき — 状態別の滞留予算とレコード突合で詰まりを早期に名指しする運用メモ
Gemini Batch API のジョブが 24 時間 SLA の陰で静かに滞留していたとき、状態別の滞留時間予算とレコード数の突合で詰まりと取りこぼしを早期に検知するための計測手順を、運用ログの実測とともに整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →