Skip to main content
AI Development

Gemini 3.6 Flash ignores three settings your app may still send

Gemini 3.6 Flash and 3.5 Flash-Lite silently ignore three sampling controls that may remain in an integration. Trace the final request, remove no-op settings, and re-test accepted work before changing model IDs.

Sean McLellan profile photo

Sean McLellan

Lead Architect & Founder

9 min read
A BaristaLabs-constructed Gemini request trace shows temperature, top_p, and top_k accepted but diverted into a no-effect sink before a 200 response on current exact models, a trailing legacy model turn ending at an already-enforced HTTP 400, and deprecated sampling fields approaching a separate undated future-rejection barrier while thinking_level remains active.
Constructed request mechanics, not Google product UI or an observed application trace. Current exact models accept but ignore three sampling fields; a trailing non-empty model turn already fails in legacy generateContent, and Google has not named the future generation or date that will reject the deprecated fields.

Google released gemini-3.6-flash and gemini-3.5-flash-lite as generally available API models on July 21, 2026. Starting with these models, the API accepts temperature, top_p, and top_k but ignores their values. An application can therefore receive a successful response while three settings its maintainers believe they control are doing nothing.

That silent behavior is only one part of the migration. A legacy generateContent request whose last non-empty turn has the model role already fails with HTTP 400, including when sent directly over REST. Google says future Gemini model generations will also reject the deprecated sampling fields. This article separates those outcomes, shows where the affected configuration tends to hide, and gives teams a practical basis for changing model IDs now or cleaning and re-testing the integration first.

One migration now has three different request outcomes

Google describes both exact model IDs as GA and ready for production use. Gemini 3.6 Flash defaults to a thinking_level of medium, while Gemini 3.5 Flash-Lite defaults to minimal. Those defaults matter during migration because the old sampling fields no longer have their expected effect while thinking_level remains supported.

Scroll sideways to see all 3 columns.

Request field or shapeDocumented outcomeTime boundary
temperature, top_p, or top_kAccepted but ignored on gemini-3.6-flash and gemini-3.5-flash-liteCurrent exact models
Trailing non-empty model turn in a legacy generateContent request, including a direct REST payloadHTTP 400Already enforced
Deprecated sampling fields on future Gemini model generationsHTTP 400Later; Google has not named the first rejecting model or a date

The first row is the easy one to misread. The current GA models do not reject the three sampling fields. They disregard them, so a 200 response cannot confirm that the requested temperature or token-sampling limits took effect.

The second row concerns the conversation shape used by legacy generateContent requests, including direct REST payloads. Some integrations append a partial model response to make the next answer begin with a phrase, omit a preamble, or continue in a desired format. If that prefilled model turn is the last non-empty turn, the request is invalid now. The Interactions API does not use manually prefilled model turns; Google recommends a system instruction for behavioral guidance and structured outputs when the response must follow a schema.

The third row is a stated future failure with an unspecified start. Google has not said which future model generation will first reject temperature, top_p, and top_k or when that generation will arrive. Treat acceptance on the current exact GA IDs and rejection in future model generations as separate facts.

A no-op setting is more dangerous than a visible error

An HTTP 400 stops the request and points maintainers toward the payload. An ignored field leaves the system running while preserving a false explanation for its behavior. A shared configuration file may still say temperature: 0, an admin screen may still expose a creativity slider, and an evaluation record may still attribute an output change to a value the model never used.

That mismatch makes later debugging harder. If a team believes low temperature constrained wording, it may interpret variation as a prompt defect or an inference anomaly. If it believes top_k limited token choice, it may credit that setting for output quality that came from the model, system instruction, thinking level, or another part of the request.

This differs from the issue explained in Temperature Zero Doesn't Mean Deterministic. That article covers why a supported temperature=0 setting still does not guarantee identical production output. Here, the documented problem is simpler: on these two models, the temperature value is ignored altogether. Removing it corrects the request and the team's account of how the application works; it does not create determinism.

Search the payload path, not only the prompt

The affected fields may be far from the code that selects the model. Search shared generation configuration, provider adapters, SDK wrappers, and the final serialized request. Check raw REST payloads as well as calls built through an SDK, because Google has not established one universal behavior for every SDK version: a client might strip an old field, warn about it, or forward it unchanged.

Stored prompt templates can also carry generation settings beside the prompt text. Conversation-history builders and evaluation fixtures may preserve old payload fragments long after the production call site changes. Search those paths for the exact names temperature, top_p, top_k, thinking_budget, and candidate_count, then inspect generated requests rather than stopping at source-code matches.

For a move to Gemini 3.6 Flash, Google's migration guide says to replace thinking_budget with thinking_level set to medium or high, remove candidate_count, remove prefilled model turns, and audit function calling. Review conversation builders for a final non-empty model turn even when no literal prefill appears in a template; a helper may construct that turn from stored history. generateContent requests remain relevant whether they are sent through an SDK or directly to its REST endpoint, even though Google recommends the GA Interactions API for new projects.

A BaristaLabs-constructed migration trace follows provider settings from stored configuration through adapters and wrappers into the final serialized request, marks deprecated fields and trailing model turns for removal or replacement, and sends the cleaned exact-model request into a replay ledger that separates business acceptance, schema and tool behavior, retries, latency, token use, and failure categories.
Constructed migration trace, not Google product UI or an observed application request. SDK forwarding must be inspected per integration, and the replay ledger records representative evidence without claiming equivalent behavior or a winning model.

Removing the old fields does not prove equivalent behavior

Deleting deprecated fields proves that the cleaned request no longer claims to set them. It does not prove that the new model will produce equivalent results for a particular workload. The old values may already have been ignored on the new model, but the model change, default thinking level, prompt handling, function-calling behavior, and surrounding adapter can still change what the application does.

Re-run representative production work with the exact model ID and the cleaned request. “Representative” should follow the work the business accepts, rejects, edits, or escalates. A support workflow needs the difficult ticket types and policy exceptions that reach human review, while an extraction workflow needs the document variants and missing-field cases that determine whether downstream records are usable.

Compare accepted business output first. Then inspect structured-output validity, function and tool behavior, retries, latency, input and output token counts, and failure categories. A schema-valid answer can still contain an unacceptable decision; a correct final answer can still require enough retries or tool calls to make the workflow slower or more expensive. Keep these measures separate so a formatting improvement does not conceal a business-quality regression.

Capture failures at the boundary where they occur. Distinguish an HTTP validation error, malformed structured output, failed function call, tool error, timeout, exhausted retry, and human rejection. That separation prevents adapter or fixture defects from being counted as model failures, a problem covered in the production AI model evaluation guide. The useful evidence is production-shaped, but this migration does not need a leaderboard; it needs enough replay to support the model decision for the actual workflow.

Do not assume that passing results under the old model form a fixed reference answer. Some tasks allow several acceptable outputs, while others depend on exact schema values or business rules. Preserve the acceptance criteria and review notes that made earlier results usable, then compare the new run against those criteria. That tells the team whether the integration still does the job, even when the wording changes.

Pin the exact model and keep product surfaces separate

Use gemini-3.6-flash or gemini-3.5-flash-lite explicitly during migration and record which one produced each evaluation run. A moving alias can change independently of the application, making a later comparison ambiguous. The model page identifies gemini-3.6-flash as the stable API ID; that is a clearer test target than a product label or a downstream rollout name.

API status, API surface, and downstream product availability are different facts. Google calls these two model IDs GA, while another product may expose one gradually or use its own policy label. The Interactions API is also GA and recommended for new projects. Its generation_config can carry the deprecated sampling fields, but it does not use manually prefilled model turns. Legacy generateContent calls, whether sent through an SDK or directly to REST, can carry both the deprecated fields and the invalid trailing model turn described here.

The Gemini Interactions API explainer covers how that API stores state and represents multi-step work. It is useful when the migration also changes API surface. A switch to Interactions should still be evaluated separately from the model change, or the team will have trouble identifying whether a result came from the model, request cleanup, state handling, or all of them together.

Google's launch post emphasized efficiency and capability, and much of the Hacker News discussion followed the same price-and-performance framing through conflicting personal anecdotes. Reuters independently confirmed the July 21 release. Neither launch coverage nor community experience answers whether a specific application's old request is valid or whether its accepted outputs remain usable; the developer guide and local replay answer those questions.

Migrate when you can inspect the final request

Change the model ID now if the team can inspect the final serialized request, remove the deprecated fields and invalid trailing turns, account for the supported thinking settings, and replay representative work before wider release. Pin the exact ID during that evaluation and monitor the same business acceptance and failure categories after deployment. This removes a known compatibility problem before a later model rejects the request.

Hold the model-ID change if provider-specific generation configuration is still hidden behind shared adapters, if the SDK's handling of deprecated fields is unknown, or if no representative acceptance baseline exists. Use that time to make the outgoing payload visible, clean the request, and establish the replay set. Holding should be a short dependency decision with an owner and an exit condition, because Google has already said future generations will reject these fields even though it has not supplied the model or date.

For teams with production integrations that carry provider-specific generation configuration, BaristaLabs can help trace the payload and test the migration against real accepted outputs through our process automation work. Contact BaristaLabs about a Gemini request migration when the model decision depends on evidence from the working integration rather than an isolated prompt sample.

Sources

Model migration

Do you know what the final request sends?

Trace ignored fields and invalid turn shapes before a model change turns hidden configuration into failed work.

Review the request path

Use this before updating a pinned Gemini model ID or moving to another API surface.

Gemini request migration

Make the outgoing payload visible before changing the model

Bring one production Gemini integration, its provider adapter, and examples of work the business accepts or rejects.

Best fit when provider-specific generation settings sit behind shared SDK wrappers, adapters, prompt systems, or evaluation fixtures.

Turn this idea into a pilot

Which workflow should go first?

Use the readiness check to compare impact, effort, risk, owner, and next step before booking a call.

  • 3-5 minutes
  • Deterministic score
  • No sensitive data
Check workflow readiness

Practical AI Workflow Notes

Want more practical AI operations ideas?

Get short notes on applying AI inside real small-business workflows — from document handling and customer follow-up to internal reporting, compliance, and automation guardrails.

A useful next step if you’re still exploring and not ready to book a 20-minute AI assessment.

Occasional emails. Practical workflow guidance only. Unsubscribe anytime.