AIREITER

Gemini 2.5 Pro Deprecated: Dec 1 Reroute and Fix

Last Updated: 2026-11-04 00:25:52

A gemini-2.5-pro call on December 2 will not fail. It will answer as a different model. Google deprecated gemini-2.5-pro and gemini-2.5-flash on November 2, 2026, and from December 1, 2026 the Gemini Developer API auto-routes those IDs to gemini-3.8-flash and gemini-3.5-flash-lite at the replacement rates. The catch is that the replacement is a tier change with breaking parameters, so pinning the old string through December is the risky option.

What Google announced for December 1

Google deprecated gemini-2.5-pro and gemini-2.5-flash on the Gemini Developer API. Both identifiers disappeared from the Google AI Studio picker, and API access is now limited to developers who used each model in the past. From December 1, 2026, requests keep succeeding but run on different models and bill at different rates.

The mapping comes from Google's Gemini API deprecations page:

Old ID you callModel that answers from Dec 1, 2026Billing from Dec 1
gemini-2.5-progemini-3.8-flashGemini 3.8 Flash rates
gemini-2.5-flashgemini-3.5-flash-liteGemini 3.5 Flash-Lite rates
gemini-2.5-flash-liteunchanged, no rerouteunchanged

Google lists December 1, 2026 as the routing date for both stable IDs, with the November 2, 2026 changelog entry as the notice. Google DeepMind staff member Patrick Loeber linked it in a PSA warning that advanced integrations need migration-guide work.

This notice covers the Gemini Developer API and AI Studio only. Vertex AI tracks Gemini 2.5 on a separate retirement schedule, with Google Cloud listing October 2026 dates for the same model names, and Firebase AI Logic documents its own supported-model list. Vertex users should check the Cloud console instead of assuming December 1 applies everywhere.

Google deprecations page showing Gemini 2.5 Pro routing to 3.8 Flash

Google called 2.5 "not deprecated" on September 18, then deprecated it November 2, so treat December 1 as firm. See the changelog history for that reversal.

What rerouted calls cost in December and January

Gemini 2.5 Pro traffic gets cheaper in December, then input gets more expensive in January. Gemini 2.5 Flash text traffic costs the same after the move, while audio input gets much cheaper. All figures below are paid-tier list prices per 1M tokens from Google's Gemini API pricing page, as captured November 3, 2026. For model-level context see Gemini 3.8 Flash pricing and Gemini 3.5 Flash-Lite.

Input and output price per 1M tokens for Gemini 2.5 Pro versus 3.8 Flash
Model and periodInput / 1MOutput incl. thinking / 1M
gemini-2.5-pro, prompts ≤200k tokens, until Nov 30$1.25$10.00
gemini-2.5-pro, prompts >200k tokens, until Nov 30$2.50$15.00
gemini-3.8-flash, Dec 1–31, 2026$0.75$3.75
gemini-3.8-flash, from Jan 1, 2027$1.50$7.50

Gemini 3.8 Flash has a single price band regardless of prompt length, so long-context workloads over 200,000 tokens see the largest drop. A 300k-input, 4k-output long-document prompt costs about $0.81 on Gemini 2.5 Pro at $2.50/$15.00, about $0.24 on Gemini 3.8 Flash December pricing at $0.75/$3.75, and about $0.48 on January pricing at $1.50/$7.50. Short-prompt input-heavy chat is the one pattern that ends up near the old bill in January.

The Flash move is simpler:

ModelText/image/video inputAudio inputOutput
gemini-2.5-flash until Nov 30$0.30$1.00$2.50
gemini-3.5-flash-lite from Dec 1$0.30$0.30$2.50

Context caching, batch, and priority follow the same pattern with text rates carrying over and audio rates falling. One wrinkle matters for budgets: thinking tokens bill as output, and replacement models can emit different thinking-token counts on long tasks, so equal output counts cannot be assumed. Compare usage_metadata from real traffic before locking a forecast.

Why the same model string breaks working code

Automatic routing preserves the HTTP 200 while changing the runtime underneath. Gemini 3.x enforces request rules that Gemini 2.5 accepted, so code that never touched the model name can start failing or silently drifting after December 1.

Gemini 3.x replaces thinking_budget with thinking_level. Gemini 3.8 Flash accepts low, medium, and high and rejects minimal; Gemini 3.5 Flash-Lite defaults to minimal. Sending both fields returns HTTP 400, and sharing one minimal config across both replacements breaks the 3.8 Flash path. Google recommends minimal for extraction, routing, and classification, and medium or high for subagents, tool calls, code execution, and multi-step reasoning to avoid premature tool termination.

Sampling and history controls change too, per the Gemini 3 migration guide. temperature, top_p, and top_k are currently ignored on Gemini 3.x and are expected to return HTTP 400 in future generations. candidate_count is unsupported. Any request whose last non-empty turn has role model, the classic prefill trick of ending with Translation:, returns HTTP 400. Google points to system_instruction and structured outputs instead.

Function calling gets stricter. Gemini 3.x validates thought_signature and requires each FunctionResponse to carry the matching call ID and name. Dropping the signature or rebuilding the model turn without it produces empty STOP responses or MISSING_THOUGHT_SIGNATURE finishes instead of a clean error. Regression tests must assert on response text, not only the absence of an exception.

Real users flagged exactly this failure mode within hours of the announcement:

Google just put a date on the end of Gemini 2.5, and the detail that matters is not the deprecation. It's the auto-routing. ... So your code won't throw a 404. It will quietly start answering with a different model. — @VarunChopr17597

If your agent still calls gemini-2.5-flash, on Dec 1 it starts running on Gemini 3.5 Flash-Lite, which defaults to minimal thinking. — @MarMarLabs

Migrate in November: the 7-step checklist

The safest path is an explicit model-ID change plus a parameter pass in November, then a side-by-side eval against the December replacement. Do not rely on the router as a migration strategy.

  1. Find each reference, plus preview aliases. Search code, configs, eval harnesses, and docs for the two affected IDs while excluding the unaffected Lite model:

grep -rnE 'gemini-2\.5-(pro|flash)([^-]|$)' .

  1. Swap the IDs explicitly. Change gemini-2.5-pro to gemini-3.8-flash and gemini-2.5-flash to gemini-3.5-flash-lite in a branch, not on December 1 morning.
  2. Fix thinking config. Replace thinking_budget with thinking_level, set it per model (medium or high for agents on 3.8 Flash; explicit minimal versus medium/high for Flash-Lite workloads), and avoid sharing minimal with 3.8 Flash.
  3. Strip legacy parameters. Remove temperature, top_p, top_k, candidate_count, and prefilled trailing model turns before testing.
  4. Update the SDK and tool plumbing. Upgrade to a current SDK, preserve full model turns including thoughtSignature, construct FunctionResponse with both call ID and name, and re-test multi-turn tool calls end to end.
  5. Re-run baselines on the replacement. Compare quality, latency, output length, and usage_metadata token counts on production prompts; a Flash model will not match a Pro model's style on each task.
  6. Recalculate cost twice. Budget December at $0.75/$3.75 for the Pro route and January onward at $1.50/$7.50, and re-check audio and cache lines for the Flash route.

Teams already on Gemini 3.x or on gemini-2.5-flash-lite can skip this migration. Everyone else should finish step 6 before November 30, because a green test suite on December 1 may only mean the router is answering, not that behavior is preserved.

Agent builders should also read the Gemini 3.8 Flash agent-task pricing breakdown before setting thinking levels for tool-heavy workloads.

FAQ

Is Gemini 2.5 Pro shut down on December 1, 2026?

No. Google lists December 1, 2026 as a routing date on the Gemini Developer API: gemini-2.5-pro requests route to gemini-3.8-flash instead of returning an error.

Will rerouted requests bill at old or new prices?

New prices. A request sent as gemini-2.5-pro after December 1 bills at Gemini 3.8 Flash rates, and a gemini-2.5-flash request bills at Gemini 3.5 Flash-Lite rates.

Do I need to change code if routing is automatic?

Yes. Thinking config, sampling parameters, prefilled turns, and function-call plumbing differ on Gemini 3.x. Unchanged code may get ignored parameters, HTTP 400s, or silently different reasoning behavior.

Does December 1 apply to Vertex AI?

No. December 1 is the Gemini Developer API date. Google Cloud documents separate October 2026 retirement dates for Gemini 2.5 on Vertex AI and the Enterprise Agent Platform.

Is Gemini 2.5 Flash-Lite affected?

No. Google states gemini-2.5-flash-lite is not deprecated and remains available until further notice.

Which replacement should each workload use?

Match by task, then eval. Do not assume a Flash model equals the old Pro model.

Current workloadExplicit targetWatch out
General Pro prompts, coding, long docsgemini-3.8-flash at medium+Pro-to-Flash tier change; re-eval quality, output length, January input price
Agents with toolsgemini-3.8-flash at medium or highthought_signature, response IDs, premature STOP on minimal
Classification, extraction, routinggemini-3.5-flash-lite at minimalCheapest fit; raise to medium if tools get added
Audio transcription pipelinesgemini-3.5-flash-liteAudio input falls $1.00 to $0.30; re-check cache lines

Your move before November 30

Change the two model strings this week, fix thinking and tool plumbing, and bank a fresh baseline on the replacement models while Gemini 2.5 still answers. December routing keeps the lights on, but only a November migration keeps the behavior and the bill under your control.