Google released gemini-3.6-flash
and gemini-3.5-flash-lite
as generally available Gemini API models on July 21, 2026. Both support a 1-million-token context window, up to 64K output tokens, thinking, and built-in tools including Computer Use. They solve different production jobs:
Do not treat this as a model-ID-only upgrade. These models deprecate temperature
, top_p
, and top_k
, reject conversations that end with a prefilled model turn, and continue the Gemini 3.x migration away from numeric thinking budgets. Remove incompatible fields, run both models through the same task fixtures, and route by workload before changing a production default.
This guide is for teams migrating a Gemini API application, coding agent, or automation system.
If you are evaluating other current models, compare the same fixtures with the Kimi K3 rollout guide and Grok 4.5 coding-agent checklist. If the model can execute repository commands, keep the untrusted-repository sandbox gate independent of model choice.
The new stable models add a useful two-tier route instead of one universal replacement:
| Model | Default thinking | Input / 1M tokens | Output / 1M tokens | Best first test |
|---|---|---|---|---|
| Gemini 3.6 Flash | medium |
|||
| $1.50 | $7.50 | Coding, multimodal analysis, tool-heavy planning | ||
| Gemini 3.5 Flash-Lite | minimal |
|||
| $0.30 | $2.50 | Extraction, classification, routing, cheap subagents |
Google says 3.6 Flash uses fewer turns and tool calls than 3.5 Flash, makes fewer unwanted code edits, and improves agentic and spatial tasks. It now powers the Antigravity managed agent by default. Human evaluators still preferred earlier models for some visual styling, so keep screenshot review.
Flash-Lite is the throughput route. Keep minimal
for bounded tasks; test medium
or high
for autonomous planning and complex tools. Higher thinking can erase its latency and cost advantage.
Start with this router, then test assumptions:
| Workload | Start with | Promote when | Keep a fallback to |
|---|---|---|---|
| Repository diagnosis or multi-file implementation | 3.6 Flash | Acceptance rises without extra unwanted edits | Current coding model |
| Screenshot-to-code or chart interpretation | 3.6 Flash | Visual fixtures and browser checks pass | Human-reviewed baseline |
| Document extraction or strict JSON parsing | 3.5 Flash-Lite | Schema pass rate holds at target throughput | 3.6 Flash for hard cases |
| Triage, labeling, or request routing | 3.5 Flash-Lite | False-route rate stays below threshold | Rules or current classifier |
| Autonomous subagent with several tools | Flash-Lite at medium , then 3.6 Flash |
||
| Tool completion improves enough to justify cost | One-step manual escalation |
For 100K input and 10K output tokens, listed-token cost is about $0.225
on 3.6 Flash and $0.055
on Flash-Lite. Compare cost per accepted task, not per request.
Start with the smallest current Interactions API request:
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="Inspect this failure and return the most likely cause.",
system_instruction="Do not modify files. Return evidence before recommendations.",
)
print(interaction.output_text)
Then audit the production adapter:
gemini-3.6-flash
or gemini-3.5-flash-lite
behind a routing flag.temperature
, top_p
, and top_k
; these fields are deprecated and ignored now, and future model generations will return HTTP 400.thinking_budget
with the string thinking_level
; remove unsupported candidate_count
.model
role, the request returns HTTP 400. Use system_instruction
and structured outputs instead.previous_interaction_id
. For generateContent
, preserve required thought signatures and include call_id
plus name
in every function response.| Case | Probe | Pass condition | |---|---|---| | Contract | Send removed sampling fields and a prefilled model turn in disposable negative tests | Monitoring identifies the expected deprecation or HTTP 400 instead of silently corrupting output | | Quality | Run 20 representative tasks on the old route, 3.6 Flash, and Flash-Lite | Blind acceptance rate and unwanted-edit rate are recorded under one harness | | Tools | Exercise search, code execution, function calls, and one failure/retry path | Call IDs match, retries are bounded, and the agent stops on permission boundaries | | Structure | Validate extraction and refusal cases against the production JSON Schema | Invalid output never reaches downstream writes | | Cost | Replay short, long-context, and multi-turn tasks | Cost per accepted task and p95 latency stay within explicit budgets | | Rollback | Disable the route flag during a canary | New sessions return to the prior model without reusing incompatible conversation state |
Promote one workload at a time: 5%, then 25%, then the target share. Stop on schema regressions, unexpected tool actions, budget breaches, or lower acceptance.
minimal
.Input remains $1.50 per million tokens while output falls from $9.00 to $7.50. Fewer turns and tool calls can matter more than the rate.
It handles lightweight web coding and subagents, but its strongest case is high-throughput bounded work. Start complex repository changes on 3.6 Flash and test fixtures before rerouting.
generateContent
? Yes, but Google recommends the GA Interactions API for the latest models and features. On either surface, test deprecated fields, conversation state, thought signatures, and function responses.