Gemini 3.8 Flash Pricing Doubles in January 2027
Google shipped Gemini 3.8 Flash on September 2 with a price tag that looked almost too good to plan around: $0.75 per million input tokens and $3.75 per million output tokens, the same introductory rate that carried over from 3.7 Flash. Turns out "introductory" had a date stamped on it the whole time.
That rate holds through December 31, 2026. On January 1, 2027, Gemini 3.8 Flash pricing doubles to $1.50 per million input tokens and $7.50 per million output tokens, according to Google's published pricing and confirmed in third-party pricing trackers. Cached input, currently $0.075 per million tokens, is expected to scale with it. Nothing about the model changes: same 1M-token context window, same GA status. Just the invoice.
Why this is a project management problem, not just a finance one
If you're the one who wrote the cost line in a pilot proposal this month, you probably wrote it using the $0.75/$3.75 numbers, because that's what's on the page today. If that pilot is still running, or scaling into production, past January 1, your actuals will not match your estimate. That's not a rounding error. It's a 2x line item that shows up in someone's quarterly review with your name next to it.
This is exactly the trap FDEs walk clients into without meaning to: a pilot gets costed and approved at introductory pricing, procurement signs off on projected annual spend, and the vendor's rate card moves before the contract term does. The pilot looks cheap. The rollout doesn't.
Model the cliff before it hits you
Don't wait for the January invoice to find out how much this costs you. Model it now with your own token volumes.
# rough monthly cost comparison, Gemini 3.8 Flash
input_tokens_millions = 40 # your actual monthly input volume
output_tokens_millions = 12 # your actual monthly output volume
rate_2026 = {"input": 0.75, "output": 3.75}
rate_2027 = {"input": 1.50, "output": 7.50}
def monthly_cost(rate):
return (input_tokens_millions * rate["input"]) + (output_tokens_millions * rate["output"])
cost_before = monthly_cost(rate_2026)
cost_after = monthly_cost(rate_2027)
print(f"Dec 2026 monthly cost: ${cost_before:,.2f}")
print(f"Jan 2027 monthly cost: ${cost_after:,.2f}")
print(f"Increase: ${cost_after - cost_before:,.2f} ({(cost_after/cost_before - 1) * 100:.0f}%)")
Swap in your real token counts from whatever you're already logging, whether that's Vertex AI usage metrics or your own request logs. The output is the exact number to put in front of a client or a budget owner before they see it on an invoice instead.
What to do on Monday morning
- Pull actual token volumes for anything running on
gemini-3.8-flash, not estimates from the pilot proposal. - Run the doubled rate against 2027 forecasts, not just current spend, since usage on a successful pilot usually grows before January anyway.
- Flag it in writing to whoever owns the budget. A one-line email now costs you nothing. Silence costs you an awkward January conversation.
- Check for a cheaper tier or caching strategy. Cached input stays far below the standard input rate, so a system prompt or retrieved context that's reused across calls is worth caching regardless of which side of January you're on.
- Ask your Google account team if enterprise agreements can lock a rate. Some committed-use or enterprise pricing arrangements sit outside the public rate card; it's worth one email to find out before assuming the public price is your price.
Gotchas
- The doubling applies to the standard public API rate. If you're buying through committed use discounts or a reseller agreement, your actual rate may differ, confirm it directly rather than assuming the public number applies.
- This is Google's pattern with Flash-tier pricing generally: introductory rates that expire on a set date rather than a usage threshold. Don't assume the next Flash release will be cheap indefinitely either.
- Cached input pricing hasn't been separately confirmed to double at the same ratio, so don't extrapolate that number, only the input and output rates are confirmed.
If you're the one who put a token cost in a proposal, this is the kind of detail that turns "the pilot was under budget" into "the rollout wasn't," and it's a lot cheaper to catch in September than explain in January.