📰 AI NewsProduct ManagementIntermediate✨ AI-assisted

Gemini 2.5 Pro Deprecation Routes to 3.8 Flash on Dec. 1

WittyTech Daily··4 min read
#gemini#deprecation#migration#cost

If your product calls gemini-2.5-pro, Google is about to swap the engine under you. On Nov. 2, Google's AI Studio changelog logged that gemini-2.5-pro and gemini-2.5-flash are no longer selectable in AI Studio. Effective Dec. 1, 2026, API requests to gemini-2.5-pro route automatically to gemini-3.8-flash, and requests to gemini-2.5-flash route to gemini-3.5-flash-lite, each billed at the new model's rates.

This piece on the Gemini 2.5 Pro deprecation covers what the reroute does to your bill and your outputs, and what to test before the date.

What changes on Dec. 1

Google reroutes old model IDs instead of switching them off, so your app keeps answering, just with a different model. Two details from the deprecations page matter. gemini-2.5-flash-lite is not on the list and "remains available through the API until further notice". And Google calls the listed shutdown dates "the earliest possible dates", so treat Dec. 1 as the deadline, not a promise of extra time.

What the Gemini 2.5 Pro deprecation does to your bill

Prices per 1M tokens, text, standard tier, from the pricing page. Output prices include thinking tokens. The 2.5 Pro row is for prompts up to 200k tokens.

| Model | Input | Output | | --- | --- | --- | | Gemini 2.5 Pro | $1.25 | $10.00 | | Gemini 3.8 Flash, through Dec. 31, 2026 | $0.75 | $3.75 | | Gemini 3.8 Flash, from Jan. 1, 2027 | $1.50 | $7.50 | | Gemini 2.5 Flash | $0.30 | $2.50 | | Gemini 3.5 Flash-Lite | $0.30 | $2.50 |

December looks like a discount. January is a step up: input costs more than 2.5 Pro did, output costs less.

Take a hypothetical month of 100M input tokens and 20M output tokens. On 2.5 Pro that is $325. On 3.8 Flash in December it is $150. From January it is $300. That assumes identical token counts, and the 3.8 Flash docs warn the model "can use more tokens on long, complex tasks". At January rates, about 17% more output tokens (thinking included) erases the saving.

The Flash route is price-neutral per token. Behavior is where it can differ, because Google's 3.5 Flash-Lite docs say it defaults to minimal thinking to optimize for speed and cost.

Gemini 3.8 Flash migration: what breaks in behavior

Moving from Pro to Flash, hard cases regress first. Google's Gemini 3.8 Flash page lists these changes:

  • Replace thinking_budget with the string thinking_level: low, medium (default) or high. minimal returns an error.
  • Remove temperature, top_p and top_k, which are deprecated.
  • Remove candidate_count, unsupported in Gemini 3 and later.
  • Remove prefilled model turns. Use previous_interaction_id for multi-turn state.
  • On generateContent, every FunctionResponse needs call_id and name.

3.5 Flash-Lite ignores custom temperature, top-K and top-P, errors on frequency and presence penalties, and errors when the last turn has the model role.

The deprecations page doesn't say how the reroute treats a request that uses a parameter the new model rejects. Find out in staging, not on Dec. 1.

Test the swap before Dec. 1

1. Find every old model ID

grep -rnE 'gemini-2\.5-(pro|flash)([^-]|$)' . \
  --exclude-dir=node_modules --exclude-dir=.git

The pattern skips gemini-2.5-flash-lite, which is not deprecated. Also check vendor tools, notebooks and anything configured outside the repo.

2. Replay real prompts at each thinking level

from google import genai

client = genai.Client()  # reads the API key from the environment

PROMPTS = [
    "<a typical prompt from your logs>",
    "<a hard case your users complain about>",
]

for level in ("low", "medium", "high"):
    for prompt in PROMPTS:
        interaction = client.interactions.create(
            model="gemini-3.8-flash",
            input=prompt,
            generation_config={"thinking_level": level},
        )
        print(level, interaction.usage)

This follows the Interactions API pattern in Google's thinking docs and omits temperature, top_p and top_k on purpose. The usage object reports thinking tokens (total_thought_tokens), billed as output, so you can price each level. Repeat with gemini-3.5-flash-lite at its default thinking.

3. Save 2.5 baselines now

After Dec. 1, gemini-2.5-pro answers come from 3.8 Flash, so you can't capture the old model's outputs. Save them this week, then score old against new on your own eval set.

4. Pin the new model yourself

Ship the new model ID behind a flag before Dec. 1, so you choose the thinking level and rollout instead of inheriting Google's default.

5. Tell finance about January

Give them both numbers: the December rates and the Jan. 1 step.

A model ID in your config is a dependency with an expiry date, and Dec. 1 is when Google changes your cost and behavior whether or not your team has tested it.

← More in Product Management