tech, developers, and the code underneath

issue 047· news·

Gemini 2.5 goes generally available with a thinking dial

Pro and Flash hit GA, Flash-Lite arrives, and every tier exposes a thinking budget.

Gemini 2.5 Pro and Flash are generally available today, with Flash-Lite entering preview. All three expose a configurable thinking budget.

The lineup now reads as a clean cost-capability ladder, which is a thing Google has struggled to communicate for two years:

modelshapethinking
2.5 Profrontier reasoningon, budgeted
2.5 Flashfast, cheap, capableon, budgeted, can be 0
2.5 Flash-Litecheapest, fastestoff by default, can enable

the thinking budget, properly#

Every tier takes a thinking_budget parameter. Setting it to 0 disables reasoning entirely; setting it to -1 lets the model decide.

python
from google import genai
from google.genai import types

client = genai.Client()
resp = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Classify this ticket: ...",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_budget=0)
    ),
)

I want to be emphatic about this because it is the single largest cost lever available in a reasoning model and most teams are not touching it.

Thinking tokens are output tokens. They are billed. A classification task that gets 2,000 thinking tokens is paying for reasoning it did not need. Across a million requests that is a very real number.

The practical method:

  1. Run your eval set with thinking_budget=0.
  2. Run it with 512, 2048, 8192.
  3. Plot quality against cost.
  4. Pick the knee of the curve.

For most production tasks — extraction, classification, routing, summarization — the curve is flat and the answer is zero or near it. For planning, debugging, and multi-step math, the curve is steep. You cannot guess which without measuring, and measuring takes an hour.

the deprecation note#

Google is deprecating the 1.5 models. If you are still on 1.5 Pro, you have a migration to do, and the behavior differences are real enough that you should re-run your evals rather than assuming a drop-in.

This is going to keep happening. Model deprecation on a roughly annual cadence is now the norm across every provider, and the teams that are handling it well are the ones who wrote their eval harness first.

If you do not have one, the cost of every future model migration is a week of vibes-based testing and a production incident. If you do, it is an afternoon.

the competitive position#

Flash is, at time of writing, the best price-performance point available from any major provider for general work, by a margin that is not close. TPU economics are real.

Pro is competitive at the frontier without clearly leading. That is a much better position than Google was in a year ago, and the volume is going to come from Flash regardless.

the thing to watch#

Google's remaining weakness is developer experience: three overlapping SDKs, a confusing split between AI Studio and Vertex, documentation that assumes GCP familiarity, and a model naming scheme with -preview-05-20 suffixes.

The new unified google-genai SDK is an improvement. It is not yet where the competition is, and for a lot of teams the API ergonomics are what actually decides the default.

Dom, June 18, 2025

get README in your inbox

One dispatch, no noise. Tech and developer news, plus the occasional long piece on the craft.

subscribe →