gemini-4-argon を試すかどうか、料金表を開いて考えていました。入力は 100 万トークンあたり 2 ドル、出力は 10 ドル。いつも使っている gemini-3.8-flash は入力 0.75 ドル、出力 3.75 ドルです。割り算をすると、どちらも 2.67 倍。「それくらいなら、品質次第で払えるかもしれません」と、そこで一度は納得しかけました。
念のために、料金表の日付の欄を読み直して手が止まりました。Argon の単価は 12 月 1 日に倍になります。3.8 Flash の導入価格が終わるのは、その 1 か月後の 1 月 1 日です。2 つの日付がずれているのだと、気づきました。
2 つの値上げ日がずれると、差が開く月が 1 か月だけできます
Gemini API の料金ページ(Standard、有料枠、100 万トークンあたり)から、2 モデルの単価を抜き出します。
| 期間 | Argon 入力 / 出力 | 3.8 Flash 入力 / 出力 | 単価の倍率 |
|---|---|---|---|
| 〜 11 月 30 日 | $2.00 / $10.00 | $0.75 / $3.75(〜 12 月 31 日) | 2.67 倍 |
| 12 月 1 日〜 12 月 31 日 | $4.00 / $20.00 | $0.75 / $3.75 | 5.33 倍 |
| 1 月 1 日〜 | $4.00 / $20.00 | $1.50 / $7.50 | 2.67 倍 |
12 月だけ、Argon は新しい単価になり、Flash はまだ導入価格のままです。入力も出力も、差は 5.33 倍に開きます。1 月に Flash が追いつくと、倍率は 2.67 倍へ戻ります。
つまり、「Argon は Flash より 2.67 倍高い」という覚え方は、11 月と 1 月以降にしか当てはまりません。価格差は一定ではなく、12 月だけ山になる、というのが今回の読み方です。
月ごとの金額を並べる小さなスクリプト
倍率だけでは自分の請求が見えませんので、月間のトークン量を入れると、3 つの月の金額を並べて出すスクリプトを書きました。標準ライブラリだけで動きます。
"""Argon と 3.8 Flash の月額を、価格が切り替わる月ごとに並べる。"""
from datetime import date
# 100 万トークンあたりの USD。ai.google.dev/gemini-api/docs/pricing の Standard 有料枠(2026-10-25 確認)
# (適用開始日, 入力, キャッシュ入力, 出力[思考込み])
PRICES = {
"gemini-4-argon": [
(date(2026, 1, 1), 2.00, 0.10, 10.00), # 11/30 まで
(date(2026, 12, 1), 4.00, 0.20, 20.00), # 12/1 から
],
"gemini-3.8-flash": [
(date(2026, 1, 1), 0.75, 0.075, 3.75), # 12/31 まで
(date(2027, 1, 1), 1.50, 0.15, 7.50), # 1/1 から
],
}
def price_on(model: str, day: date):
current = None
for start, *p in PRICES[model]:
if day >= start:
current = p
return current
def monthly_cost(model, day, input_m, cached_share, output_m):
inp, cached, out = price_on(model, day)
fresh = input_m * (1 - cached_share)
return fresh * inp + input_m * cached_share * cached + output_m * out
# 仮の月間量(百万トークン)。自分のログの値に置き換える
INPUT_M = 20.0
OUTPUT_M_FLASH = 4.0
ARGON_OUTPUT_FACTOR = 1.0 # Argon の方が思考で出力が増えるなら 1.5 や 2.0 を入れる
CACHED_SHARE = 0.0 # 暗黙キャッシュが当たる入力の割合
print(f"{'月':<8}{'Argon':>10}{'3.8 Flash':>12}{'倍率':>8}")
for y, m in [(2026, 11), (2026, 12), (2027, 1)]:
d = date(y, m, 1)
a = monthly_cost("gemini-4-argon", d, INPUT_M, CACHED_SHARE, OUTPUT_M_FLASH * ARGON_OUTPUT_FACTOR)
f = monthly_cost("gemini-3.8-flash", d, INPUT_M, CACHED_SHARE, OUTPUT_M_FLASH)
print(f"{y}-{m:02d} {a:>9.2f} {f:>11.2f} {a / f:>6.2f}x")価格を日付つきの一覧にして、price_on が「その日に有効な行」を引く形にしたのは、次の値上げでも行を 1 本足すだけで済ませたかったからです。単価を数式の中に埋め込むと、日付が過ぎたあとの請求書ではじめて気づくことになります。
月に入力 2,000 万トークン、Flash 側の出力 400 万トークンという、あくまで仮の量で動かすと、次のように出ます。
月 Argon 3.8 Flash 倍率
2026-11 80.00 30.00 2.67x
2026-12 160.00 30.00 5.33x
2027-01 160.00 60.00 2.67x同じ使い方のまま、12 月の Argon は 11 月の 2 倍の 160 ドルになります。Flash は 12 月も 30 ドルのままで、両者の開きは 11 月の 50 ドルから 12 月の 130 ドルへ広がります。金額は仮の量での話ですが、倍率の形は量に関係なく変わりません。
思考のトークンとキャッシュで、倍率はどう動くか
Argon の出力単価は思考を含んでいます。同じ質問でも、Flash より思考に使うトークンが多くなる場合、出力の量そのものが増えます。ARGON_OUTPUT_FACTOR を 1.5 にして動かすと、倍率は 11 月が 3.33 倍、12 月が 6.67 倍、1 月が 3.33 倍に上がりました。
反対に、暗黙キャッシュが効く入力が多いと、倍率は少し下がります。入力の 60% にキャッシュが当たる設定(CACHED_SHARE = 0.6)にすると、11 月 2.61 倍、12 月 5.22 倍、1 月 2.61 倍でした。Argon のキャッシュ入力は通常入力の 5% ですが、出力の比重が大きい使い方では、入力側の割引だけでは倍率がほとんど動かないのです。
どちらも、私が実際に Argon を回して得た値ではありません。ARGON_OUTPUT_FACTOR に入れる数字は、自分の呼び出しのログから出すものです。ここを推測のまま使うと、せっかくの表が飾りになります。
比べる時期は 11 月のうちに決めます
個人開発で運用しているレビュー返信の下書きは、今のところ Flash で足りております。この価格の形から、私は次のように動くことにしました。
- Argon と Flash を同じ質問セットで比べる試験は、11 月中に終えます。どちらも導入価格のうちに、差が最も小さい(2.67 倍)条件で測れるからです
- 試験では、回答の良し悪しと一緒に、出力トークン数(思考を含む)を記録して、
ARGON_OUTPUT_FACTORの実測値にします - 12 月に本番へ載せる場合は、月額が 5.33 倍の差で始まることを、移行の判断に最初から入れておきます
- 1 月以降も使い続けるかどうかは、2.67 倍のままで品質の差が見合うかで決めます
Flash 側の値上げをまたぐ見積もりの書き方は、値上げの日をまたぐ費用の見積もりを、はじめから二段で書くで扱っています。Argon に替える前に自分のコードから消すものを探す手順は、gemini-4-argon へ model を替える前に、自分のコードから消すものを探しますにまとめました。
料金表は更新されることがありますので、この記事の数字は 2026 年 10 月 25 日に確認した内容です。スクリプトの PRICES を書き換えれば、そのまま使い続けていただけます。
最後に、一文だけ書き残します。倍率は「何倍か」より「どの月か」で読むものです。 12 月 1 日の前に比べ終えておけば、その月の請求書に驚かずに済みます。