DEV Community

Ahab
Ahab

Posted on • Originally published at indieseek.co

Gemini 3.6 Flash vs 3.5 Flash-Lite: API Migration Guide

Gemini 3.6 Flash vs 3.5 Flash-Lite: API migration and routing guide

Quick answer

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:

  • Use Gemini 3.6 Flash for coding, multimodal reasoning, and multi-step agent workflows where accepted results matter more than the lowest possible cost.
  • Use Gemini 3.5 Flash-Lite for extraction, classification, routing, and high-volume subagent work where latency and unit economics dominate.

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.

Who this guide is for

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.

What changed

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.

Route by task, not by model rank

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.

Migrate the request contract first

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)
Enter fullscreen mode Exit fullscreen mode

Then audit the production adapter:

  1. Replace the model ID with gemini-3.6-flash or gemini-3.5-flash-lite behind a routing flag.
  2. Remove temperature, top_p, and top_k; these fields are deprecated and ignored now, and future model generations will return HTTP 400.
  3. Replace thinking_budget with the string thinking_level; remove unsupported candidate_count.
  4. Remove prefilled model turns. If the final non-empty turn has the model role, the request returns HTTP 400. Use system_instruction and structured outputs instead.
  5. Standardize multi-turn state on previous_interaction_id. For generateContent, preserve required thought signatures and include call_id plus name in every function response.
  6. Record model ID, thinking level, input/output tokens, tool rounds, latency, HTTP status, schema result, and human acceptance without logging secrets or sensitive prompt contents.

Six-case canary gate

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.

Common mistakes

  • Sending legacy sampling fields because the API still ignores them today.
  • Choosing 3.6 Flash for every subagent and paying frontier-model prices for deterministic extraction.
  • Choosing Flash-Lite for complex autonomous planning while leaving thinking at minimal.
  • Hot-switching a live conversation between incompatible request contracts.
  • Claiming Gemini API availability means the same model is enabled in every Google or third-party product.
  • Measuring tokens and latency but not whether the result was actually accepted.

FAQ

Is Gemini 3.6 Flash cheaper than Gemini 3.5 Flash?

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.

Is 3.5 Flash-Lite a good coding model?

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.

Can I keep using 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.

Sources

Top comments (0)