
Gemini 3.6 Flash Thinking Levels: What Each One Costs, Measured
minimalcost 73.6% less than themediumdefault 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. lowdoes not spend a fixed budget. On all nine structured-extraction runs it emitted exactly zero thinking tokens, making it cost the same asminimalthere, 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 acrossminimal,low,medium,high. - The default is not wrong, it is just untargeted.
mediumis 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 ismedium. Those are different bills and different latencies.
The short answer, by level
Here is what each level cost us for one pass through the same nine tasks, and where each one earned its money.
| Level | Cost per pass | Versus the medium default | Use it when |
|---|---|---|---|
minimal | $0.0158 | 73.6% cheaper | Extraction, classification, routing, code location, and tool chains that only have to follow the script |
low | $0.0232 | 61.2% cheaper | The same work, plus multi-step tool calls where the model may have to recover from something going wrong |
medium (default) | $0.0598 | baseline | You do not yet know the shape of your traffic, or the work varies too much to pin down |
high | $0.0653 | 9.3% more | Reserve it. On our tasks the extra budget mostly went unspent, and on our hard round it scored below medium |
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.
| Configuration | Answer tokens | Thinking tokens | Thinking share of output | Cost per pass | Correct | Avg latency |
|---|---|---|---|---|---|---|
3.6 Flash minimal | 1,162 | 0 | 0% | $0.0158 | 9/9 | 2.8s |
3.6 Flash low | 1,056 | 1,095 | 51% | $0.0232 | 9/9 | 3.3s |
3.6 Flash medium (default) | 1,080 | 5,944 | 85% | $0.0598 | 9/9 | 5.1s |
3.6 Flash high | 1,092 | 6,679 | 86% | $0.0653 | 9/9 | 5.3s |
3.5 Flash medium | 1,078 | 5,827 | 84% | $0.0692 | 9/9 | 5.1s |
3.5 Flash high | 1,113 | 7,185 | 87% | $0.0818 | 9/9 | 5.7s |
3.5 Flash-Lite minimal (default) | 977 | 0 | 0% | $0.0036 | 8/9 | 1.8s |
3.5 Flash-Lite high | 1,097 | 8,288 | 88% | $0.0249 | 9/9 | 4.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.
| Level | Input | Answer | Thinking | Total | Thinking as share of the whole bill |
|---|---|---|---|---|---|
minimal | $0.0071 | $0.0087 | $0.0000 | $0.0158 | 0% |
low | $0.0071 | $0.0079 | $0.0082 | $0.0232 | 35% |
medium | $0.0071 | $0.0081 | $0.0446 | $0.0598 | 75% |
high | $0.0071 | $0.0082 | $0.0501 | $0.0653 | 77% |
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.
minimal to check whether the sorting held, which is another 60 calls. Round two came to 190 calls and $1.34.- 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_pandtop_kare 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.
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
highthinking. The API default ismedium. - Google's own results table for Gemini 3.5 Flash-Lite was produced at
highthinking, while that model's API default isminimal. 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
mediumand Gemini 3.6 Flash athigh, 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%.
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.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.
low, Gemini 3.6 Flash spent its thinking unevenly across our three task types. Thinking tokens per pass:| Task group | minimal | low | medium | high |
|---|---|---|---|---|
| Structured extraction | 0 | 0 | 2,673 | 2,916 |
| Multi-turn tool calling | 0 | 549 | 1,797 | 1,914 |
| Code location and repair | 0 | 546 | 1,474 | 1,849 |
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.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.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.
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.
minimal every time, including one chain eight steps long.Here is how the six configurations scored on those three tasks, five attempts each.
| Configuration | Task 1 | Task 2 | Task 3 | Total | Cost per call |
|---|---|---|---|---|---|
3.6 Flash minimal | 1/5 | 0/5 | 1/5 | 2/15 | $0.00175 |
3.6 Flash low | 4/5 | 1/5 | 5/5 | 10/15 | $0.00553 |
3.6 Flash medium (default) | 5/5 | 5/5 | 0/5 | 10/15 | $0.00674 |
3.6 Flash high | 5/5 | 2/5 | 1/5 | 8/15 | $0.00739 |
3.5 Flash-Lite minimal (default) | 4/5 | 5/5 | 0/5 | 9/15 | $0.00068 |
3.5 Flash-Lite high | 2/5 | 5/5 | 3/5 | 10/15 | $0.00262 |
Cost per call excludes one anomalous request described in the next section; the totals with it included are given there.
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.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.low, the differences we measured are smaller than the variation between identical runs.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?
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.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.
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.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
minimal returned 62,916 thinking tokens.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.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.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 work | Level | Why |
|---|---|---|
| Single-turn extraction, classification, question answering, code location and repair | minimal | 17 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 action | minimal is enough | An 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 interception | low at minimum | minimal scored 2/15 on exactly these; low scored 10/15 |
| The same, but you need it to be reliable | No level solves this | low, 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 configuration | low | It 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 yet | medium, then measure | The default is a sensible starting point. It is only expensive once you know it is not needed |
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.
-
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.
-
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. -
Replay one day of real traffic at
minimaland atlow, 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. -
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)FAQ
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.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.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.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.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.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.Sources
- Gemini thinking documentation, Google, for
thinking_levelvalues, per-model defaults, the statement that response pricing sums output and thinking tokens, and thetotal_thought_tokensfield - Gemini API models documentation, Google
- Gemini API pricing, Google
- Introducing Gemini 3.6 Flash, 3.5 Flash-Lite, and 3.5 Flash Cyber, Google, 2026-07-21
- Gemini 3.6 Flash, Google DeepMind, for the documented model limitations
- Gemini 3.6 Flash and Gemini 3.5 Flash-Lite: Halving Time per Task, Artificial Analysis, 2026-07-21
- aibenchy, independent 22-question test run, 2026-07-21
- EvoLink first-party measurement, 2026-07-21: 406 calls across two rounds, with per-call records retained


