MiniMax H3 (Hailuo 3) is live on EvoLinkTry it with 10 free credits
Four Gemini 3.6 Flash thinking levels visualized as progressively larger reasoning gates
analysis

Gemini 3.6 Flash Thinking Levels: What Each One Costs, Measured

Jacey
Jacey
July 22, 2026
26 min read
Last verified: 2026-07-21. Written by the EvoLink model research team. The numbers on this page come from 406 API calls we ran on launch day; the method is stated in full below. EvoLink builds AI model infrastructure for production teams, and the models measured here run on it.
The short version
  • minimal cost 73.6% less than the medium default on our nine production-shaped tasks, and scored the same nine out of nine. If you never chose a level, this is the largest cost lever you have.
  • Thinking tokens were 75% of the total bill at medium, counting input tokens. Answer length barely moved across all four levels, so almost every dollar of difference between levels is thinking.
  • low does not spend a fixed budget. On all nine structured-extraction runs it emitted exactly zero thinking tokens, making it cost the same as minimal there, while still thinking on tool-calling and code tasks.
  • Above low, more thinking did not buy more correct answers on our harder round. Scores went 2, 10, 10, 8 out of 15 across minimal, low, medium, high.
  • The default is not wrong, it is just untargeted. medium is a reasonable middle setting for unknown work. Once you know the shape of your work, the level is worth setting deliberately.
  • Every published benchmark for this model runs at high, while the API default is medium. Those are different bills and different latencies.

The short answer, by level

Thinking level is the single largest cost variable in a Gemini 3.6 Flash request, larger than the choice between Gemini 3.6 Flash and Gemini 3.5 Flash. Thinking tokens are billed at the output rate, and they outnumber answer tokens by roughly six to one at the default setting.

Here is what each level cost us for one pass through the same nine tasks, and where each one earned its money.

LevelCost per passVersus the medium defaultUse it when
minimal$0.015873.6% cheaperExtraction, classification, routing, code location, and tool chains that only have to follow the script
low$0.023261.2% cheaperThe same work, plus multi-step tool calls where the model may have to recover from something going wrong
medium (default)$0.0598baselineYou do not yet know the shape of your traffic, or the work varies too much to pin down
high$0.06539.3% moreReserve it. On our tasks the extra budget mostly went unspent, and on our hard round it scored below medium
One thing this table cannot tell you is that minimal is safe for your workload. It was safe for ours, and we describe exactly what ours looks like below.

The number nobody publishes: answer tokens against thinking tokens

Every price comparison of this model that we could find on launch day treats output tokens as one number. That merges two quantities that behave nothing alike, and once you separate them, most of the confusion around this release resolves.

Here is one pass through our nine tasks, with the output side split into the tokens you can read and the tokens you cannot.

ConfigurationAnswer tokensThinking tokensThinking share of outputCost per passCorrectAvg latency
3.6 Flash minimal1,16200%$0.01589/92.8s
3.6 Flash low1,0561,09551%$0.02329/93.3s
3.6 Flash medium (default)1,0805,94485%$0.05989/95.1s
3.6 Flash high1,0926,67986%$0.06539/95.3s
3.5 Flash medium1,0785,82784%$0.06929/95.1s
3.5 Flash high1,1137,18587%$0.08189/95.7s
3.5 Flash-Lite minimal (default)97700%$0.00368/91.8s
3.5 Flash-Lite high1,0978,28888%$0.02499/94.2s

Read the answer-token column first. Across eight configurations, two models and four thinking levels, it stays between 977 and 1,162 tokens, and the highest figure in the column belongs to the cheapest configuration. The models produce answers of roughly the same length no matter how much they think first.

Now read the thinking column. It runs from zero to 8,288. That is the entire story of your bill.

Here is the same data as money, splitting each pass into what you paid for input, for the answer, and for the thinking, at Gemini 3.6 Flash's standard-tier rates of $1.50 per million input tokens and $7.50 per million output tokens.

LevelInputAnswerThinkingTotalThinking as share of the whole bill
minimal$0.0071$0.0087$0.0000$0.01580%
low$0.0071$0.0079$0.0082$0.023235%
medium$0.0071$0.0081$0.0446$0.059875%
high$0.0071$0.0082$0.0501$0.065377%

At the default level, three quarters of what you pay is reasoning you never see, on tasks where the level made no difference to whether the answer was right. That is not a defect in the model. It is what happens when a general-purpose default meets a specific workload.

This also explains why "does the new model save tokens" gets contradictory answers in public. The claim is about output tokens, output tokens are mostly thinking tokens, and thinking token counts depend on the thinking level, which almost nobody states. A measurement without a stated level is not reproducible.

How we measured this

Two rounds, run on 2026-07-21, the day both models were released.

Round one: what the levels cost on ordinary production work. Nine tasks in three groups of three. Structured extraction from an invoice, a log file and a product page's HTML. Multi-turn tool calling over three to five steps against simulated tools. Code location and repair, where a bug description has to become a patch that runs. Inputs ran between roughly 1,000 and 4,000 tokens, so this covers ordinary request sizes and says nothing about long-context work. Each task ran three times against each of eight model and thinking-level configurations: 216 calls, $1.03.
Round two: where quality actually breaks. We wrote 20 deliberately harder tasks covering contradiction resolution, cross-record correlation, multi-step unit conversion, cross-function bugs, and longer tool chains. Each was run once at the weakest configuration and once at the strongest to sort them by difficulty; only tasks that the weakest failed and the strongest passed carry information about where the levels differ. Three of the 20 qualified. Those three ran five times against each of six configurations, which is 90 calls. We then re-ran all 20 tasks three times at minimal to check whether the sorting held, which is another 60 calls. Round two came to 190 calls and $1.34.
Conditions that apply to every number on this page.
  • Calls went through OpenRouter with the provider pinned to Google AI Studio, sent serially rather than concurrently. The gateway does not expose which region served the request, so we cannot state one.
  • Costs are computed from Google's standard-tier list prices, not from the gateway's own billing. The gateway routes at a discounted tier, and mixing the two would make our figures incomparable with Google's published pricing.
  • No sampling parameters were set. temperature, top_p and top_k are deprecated on Gemini 3.x and are accepted and then ignored, so setting them would have changed nothing while implying we had not read the documentation. If you still set them in production, the rest of this release's interface changes are covered in our Gemini 3.6 Flash release guide.
  • Grading is rule-based, not human. Correctness is a supporting metric here, present to rule out the explanation that a cheap level looks cheap because it is quietly doing less work.
  • Answer tokens and thinking tokens were recorded separately for every single call, which is what makes the tables above possible.
One honest limitation about repeat runs. Across round one, correctness never varied between the three repeats of a task: every configuration scored the same on every run. Thinking token counts varied a lot, between 6% and 51% for the same task and level. One code task at high returned 331, 538 and 347 thinking tokens on three identical requests. So averaging over three runs is necessary for the cost figures and unnecessary for the correctness figures. In round two, where the tasks sit at the edge of what the models can do, that stability disappears entirely, which we treat as a finding rather than a footnote.

Why the published benchmarks do not answer this question

There is a documented reason nobody can look this up. The benchmark numbers in circulation are measured at levels that most production traffic does not run at, and the sources rarely say so.

  • Artificial Analysis, currently the only independent source with a full breakdown of this model, measured at high thinking. The API default is medium.
  • Google's own results table for Gemini 3.5 Flash-Lite was produced at high thinking, while that model's API default is minimal. Running the default configuration is not the experiment the table describes.
  • In Google's comparison table, the DeepSWE row runs Gemini 3.5 Flash at medium and Gemini 3.6 Flash at high, so the two Gemini figures in that row are not a same-level comparison.
  • Google's headline "up to 65% on DeepSWE" refers to a reduction in token usage, not to a score. The DeepSWE score is 49%.
The most-quoted efficiency claim has a similar problem. Google states that the new model uses about 17% fewer output tokens, citing Artificial Analysis rather than its own measurement. The absolute token counts published on that same page, 59 million against 75 million, work out to 21.3%. The two figures have not been reconciled publicly, and neither one names a thinking level or a task set. We use the more conservative 17% wherever the claim appears in our work, and we treat it as an input to arithmetic rather than as a measurement.

None of that makes the published figures wrong. It makes them answers to a different question than "what will this cost me at the level I actually run".

Round one: the levels on ordinary work

Three results, in the order they matter.

minimal means no thinking at all, not less thinking. Thinking tokens came back as exactly zero, not as a small number. Across all our minimal runs on Gemini 3.6 Flash, 101 of 102 calls returned precisely zero thinking tokens. The single exception is strange enough that it gets its own section below. At the same time, correctness was unchanged at nine out of nine, and median latency fell from 5.1 seconds to 2.8 seconds. On this task set, the default level bought nothing except a bill 3.8 times larger and a response twice as slow.
high cost only 9.3% more than medium here, because the extra budget went largely unspent: thinking rose from 5,944 to 6,679 tokens. That is a fact about these nine tasks, not about the model. Give it work that genuinely needs more reasoning and the gap widens. Do not carry this ratio into your own forecast.
Both new-model levels came in cheaper than the equivalent level on Gemini 3.5 Flash, by 13.6% at medium and 20.1% at high. Almost all of that saving comes from the output price cut from $9.00 to $7.50 per million tokens, rather than from token efficiency: at medium our billed output tokens actually rose 1.7% against the older model, and at high they fell 6.4%. Whether the same holds for your traffic depends on your input-to-output ratio, since the input price did not change at all, and our Gemini 3.5 Flash cost calculator walks that arithmetic through worked examples on the older model.

low is adaptive, not a smaller fixed budget

This is the result we did not expect, and it is the most directly useful one on this page.

At low, Gemini 3.6 Flash spent its thinking unevenly across our three task types. Thinking tokens per pass:
Task groupminimallowmediumhigh
Structured extraction002,6732,916
Multi-turn tool calling05491,7971,914
Code location and repair05461,4741,849
On all three extraction tasks, across all three repeats, low emitted exactly zero thinking tokens. It cost $0.00490 for that group against minimal's $0.00489, a difference of two tenths of one percent. On tool calling and code repair, the same setting spent between 100 and 440 thinking tokens per task.
The practical consequence: if your traffic is a mixture of extraction and multi-step work behind one model configuration, low charges you close to minimal prices on the extraction share while keeping a reasoning reserve for the rest. You do not have to split your traffic across two configurations to get most of the saving. On our task set that combination cost 61.2% less than the default.
One caution on scope. This is a description of what one setting did on nine tasks on one day, not a documented behaviour that Google has described. We are reporting the observation. We are not claiming to know the mechanism that produces it, and we would not build a system that depends on low never thinking on extraction without checking it against your own prompts first.

Round two: where quality actually breaks

Round one could not answer the quality question, because every configuration scored nine out of nine. Nine tasks were not hard enough to separate four levels. So we made them harder, and the answer that came back was not the one the levels imply.

First, the sorting result, which is a finding in itself. Of 20 deliberately hard tasks, minimal got 17 right on three attempts out of three: contradiction resolution where three numbers on an invoice disagree and have to be recomputed, correlating three interleaved request records into one failure chain, applying a "the later-signed document wins" meta-rule to conflicting contract clauses, multi-currency and multi-period conversion, a cache-key bug spanning two functions, and a rate-limiter bug that only appears on the third call. It solved all of those without spending a single thinking token. The same tasks cost between 1,100 and 6,900 thinking tokens at high.

So thinking level does not buy reasoning correctness, at least not in the range these tasks occupy. What it buys is something narrower.

The three tasks that did separate the levels were all multi-turn tool calling, and they shared a specific shape: something goes wrong partway through, and the model has to add an action that was not in the original plan. Intercept a parcel before the address can be changed. Retry once after a rate-limit response. Roll a shipment back to the original label after an expedited one fails to print. Tasks that required refusing to act, or picking correctly among options that were offered, were handled at minimal every time, including one chain eight steps long.

Here is how the six configurations scored on those three tasks, five attempts each.

ConfigurationTask 1Task 2Task 3TotalCost per call
3.6 Flash minimal1/50/51/52/15$0.00175
3.6 Flash low4/51/55/510/15$0.00553
3.6 Flash medium (default)5/55/50/510/15$0.00674
3.6 Flash high5/52/51/58/15$0.00739
3.5 Flash-Lite minimal (default)4/55/50/59/15$0.00068
3.5 Flash-Lite high2/55/53/510/15$0.00262

Cost per call excludes one anomalous request described in the next section; the totals with it included are given there.

There is exactly one real step up, and it is from minimal to low. Two out of 15 becomes ten out of 15. Past that point the line is flat and then bends down: ten, ten, eight.
Per task, the picture is messier than the totals suggest. Task 1 improves cleanly as the level rises. Task 2 needs medium to be reliable and then falls back to two out of five at high. Task 3 runs the other way entirely, scoring five out of five at low, zero out of five at medium and one out of five at high. More thinking made that task worse, consistently, across five attempts each.
We are not going to explain why, because we do not know. What the pattern supports is a narrower and more defensible claim: on tasks at the edge of a model's ability, the level is not a quality dial you can turn up. Beyond low, the differences we measured are smaller than the variation between identical runs.
That instability is itself the most portable finding here. In round one, across 216 calls, correctness never differed between repeats of the same task. In round two, most cells in the table are values like one out of five or four out of five. The same request, sent five times, at the same level, gives different answers. Any evaluation of thinking levels that runs each configuration once is reporting noise, and that includes our own difficulty-sorting pass, which ran once per configuration by design. When we re-ran the sorted tasks three times at minimal, 17 of the 20 confirmed cleanly, but one task the single pass had marked as a failure came back one out of three, which is exactly the drift we are describing.

The engineering consequence is more useful than a level recommendation. If your agent has to recover from unexpected states, build the retry and the verification into your application, and treat the thinking level as a cost setting rather than as the thing that makes recovery reliable.

Gemini 3.6 Flash low against Gemini 3.5 Flash-Lite

This comparison has no published data anywhere that we could find, and it is the one a cost-conscious team actually faces: for roughly the same money, do you run the stronger model with a little thinking, or the cheaper model thinking hard?

On round one they cost nearly the same. Gemini 3.6 Flash at low was $0.0232 per pass; Gemini 3.5 Flash-Lite at high was $0.0249. Both scored nine out of nine. Gemini 3.6 Flash at low was faster, at 3.3 seconds against 4.2 seconds average latency, and it reached that score on 1,095 thinking tokens where Flash-Lite needed 8,288.
On round two, the harder tool-calling tasks, they tied again at ten out of 15, but the prices separated: Flash-Lite at high cost $0.00262 per call against $0.00553. On that task set, the cheaper model thinking hard was less than half the price for the same score.

Which of those two pictures applies to you depends on your task mix, and that is the honest answer rather than a hedge. The two configurations are in the same performance band on both of our rounds. The price relationship between them is not stable across task sets.

Two more observations from the same data, both worth knowing before you default to Flash-Lite.

The default minimal level on Flash-Lite failed one task in a specific, repeatable way. On a three-step notification chain, it called the first two tools and then stopped without sending the notification, three times out of three, with an identical signature each time. That was the only quality difference in all 216 calls of round one. It also reproduces a limitation Google documents itself: the minimal default is described as unsuitable for autonomous sub-agent use because it terminates tool calls prematurely. If you run Flash-Lite as an agent, raise the level or expect that failure.
The two models' lowest levels fail differently, and neither is uniformly stronger. On round two's tool-calling tasks, Flash-Lite at minimal scored nine out of 15 against Gemini 3.6 Flash's two out of 15. On round one's notification chain, that relationship inverted: Gemini 3.6 Flash at minimal passed three times out of three where Flash-Lite failed three times out of three. There is no ordering here, only two different failure shapes, and a level that is safe on one model's traffic is not automatically safe on the other's.

One anomaly we cannot explain

In round two, one call at minimal returned 62,916 thinking tokens.
Every other minimal call in our data returned exactly zero. This one used five tool turns, produced an output close to the model's 65,536-token output ceiling, took 209 seconds, and cost $0.48. That is roughly 270 times what the other calls at that level cost, and almost all of the $0.50 that configuration spent across its entire 15-call round. It was also the only time minimal got that particular task right.
We are reporting this because it happened and because it is material to anyone budgeting at minimal. We are not going to offer a mechanism, because we do not have one. Google's model card does list occasional slow responses among the model's known limitations, but we cannot connect that note to this observation with any confidence.
The operational takeaway stands without an explanation: if you run minimal on tool-calling work, set a maximum output token limit and a timeout. A level that normally spends zero thinking tokens is not the same as a level that cannot spend any.

Which level for which task

This is the table to take away. Every row is supported by the two rounds described above, and the limits of that support are stated underneath.

Shape of the workLevelWhy
Single-turn extraction, classification, question answering, code location and repairminimal17 of 20 deliberately hard tasks passed three times out of three, at 26% of the default's cost
Multi-step tool calls that only have to follow the plan, or to refuse an actionminimal is enoughAn eight-step chain, finding the exception in a batch, refusing an out-of-policy request and choosing the authoritative data source all passed three times out of three
Multi-step tool calls where the model may need an action that was not in the plan: a retry, a rollback, a pre-emptive interceptionlow at minimumminimal scored 2/15 on exactly these; low scored 10/15
The same, but you need it to be reliableNo level solves thislow, medium and high scored 10, 10 and 8 out of 15. The differences are smaller than the run-to-run variation. Handle it with retries and verification in your application
Mixed traffic behind one configurationlowIt spent zero thinking tokens on our extraction tasks while keeping a reserve for the rest, at 61.2% below the default
You do not know your mix yetmedium, then measureThe default is a sensible starting point. It is only expensive once you know it is not needed
The boundary of this advice. It rests on 29 tasks of our own design, nine ordinary and 20 hard, all with inputs under about 4,000 tokens. It does not cover long-context work, multimodal input, creative writing, or open-ended research. A different task set can reasonably produce different answers, and we have direct evidence of that: on the question of whether Gemini 3.6 Flash uses more or fewer thinking tokens than Gemini 3.5 Flash at medium, the independent test at aibenchy measured 66.2% more, and we measured 2.0% more. Their 22 short benchmark questions and our extraction, tool-calling and code tasks gave opposite answers to the same question. That is not a dispute to settle. It is the finding: whether a level saves you tokens is a property of your workload, not of the model.

Measuring this on your own traffic

Four steps, in the order that gets you an answer fastest.

  1. Log thinking tokens separately today, before changing anything. Google's API returns the count in total_thought_tokens, alongside the level you set. If you only track total output tokens, you cannot tell a prompt regression from a level that decided to think harder this week.
    from google import genai
    from google.genai import types
    
    client = genai.Client()  # reads the API key from the environment
    
    response = client.models.generate_content(
        model="gemini-3.6-flash",
        contents=prompt,
        config=types.GenerateContentConfig(
            thinking_config=types.ThinkingConfig(thinking_level="minimal"),
        ),
    )
    
    log.info(
        "level=minimal thinking_tokens=%s",
        response.usage_metadata.total_thought_tokens,
    )

    Store the thinking count as its own field next to your existing output-token metric, and store the level you sent alongside it. Adding the two token counts together throws away the only signal that tells you which one moved.

  2. Set the level explicitly, even if you set it to medium. An inherited default is a cost decision nobody made. It also means your bill can move when a default moves.
  3. Replay one day of real traffic at minimal and at low, and compare outputs against your current ones rather than against a benchmark. On our tasks that comparison was worth between 61% and 74% of the bill, which is a larger effect than any model swap available in this tier.
  4. Grade the tool-calling paths separately from everything else. That is the only place we found the level changing correctness, and averaging it together with extraction traffic will hide it.

Running that comparison across several models usually means a separate integration per vendor, and that integration cost is the most common reason teams skip the measurement entirely. Standardising on one OpenAI-compatible endpoint removes it, so the model string becomes the only thing that changes between runs.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.evolink.ai/v1",
    api_key=os.environ["EVOLINK_API_KEY"],
)

for model in ("gemini-3.6-flash", "gemini-3.5-flash-lite"):
    response = client.chat.completions.create(model=model, messages=messages)
    record(model, response.usage)
EvoLink is AI model infrastructure for production teams, and this kind of measurement is part of what it is for: usage is reported per request, so you can keep the answer and thinking columns separate from the first run. Where you run the comparison matters far less than running it at all.

FAQ

What is the default thinking level for Gemini 3.6 Flash? medium. The selectable values are minimal, low, medium and high. Gemini 3.5 Flash-Lite defaults to minimal instead, so the two models behave very differently out of the box.
Can I turn thinking off completely? minimal is the lowest setting available, and Google's documentation describes thinking as on by default for this model rather than something you switch off. In practice minimal returned exactly zero thinking tokens on 101 of our 102 calls, so it behaves as off for billing purposes on most requests. The one exception is documented above, which is why we would not describe it as a guarantee.
Are thinking tokens billed? Yes, at the output rate. Google's documentation states that response pricing is the sum of output tokens and thinking tokens. At $7.50 per million output tokens on Gemini 3.6 Flash, and at 85% of output tokens at the default level, thinking is the majority of most bills.
How much cheaper is minimal than the default? On our nine-task set, 73.6% cheaper per pass, at the same nine out of nine correctness and roughly half the latency. Your ratio depends on how much your work makes the model think at medium, so treat that as a reason to measure rather than as a number to forecast with.
Does a higher thinking level make the model more accurate? Not reliably, in what we measured. From minimal to low there was a clear step up on multi-step tool calling, from two out of 15 to ten out of 15. Above low, scores were ten, ten and eight out of 15, and one task scored worse at higher levels across five attempts each. On reasoning-heavy single-turn tasks, minimal solved 17 of 20 hard problems with no thinking tokens at all.
Which thinking level do the published benchmarks use? Artificial Analysis publishes at high, and Google's Flash-Lite results table was also produced at high while that model's API default is minimal. If you run defaults, you are not running the configuration those numbers describe.
How do I see how many thinking tokens a request used? Read total_thought_tokens from the response. Record it as its own field next to output tokens rather than adding them together, or you will not be able to attribute a cost change later.
Does the thinking level change the length of the answer? Barely. Across eight configurations covering two models and four levels, answer tokens stayed between 977 and 1,162 per pass on our task set. The level changes what the model does before answering, not how much it writes.

Sources

Ready to Reduce Your AI Costs by 89%?

Start using EvoLink today and experience the power of intelligent API routing.