Skip to content

Per-Model Details

How specific model families handle parameters differently from the defaults in Parameter Support by Model. All parameters below are top-level request fields unless noted — you can send them through any API format. The router normalises them automatically, so you generally don't need to know these details; they're here for when you want precise control.

GPT-5 series

GPT-5 models apply strict parameter sanitisation:

Parameter Behaviour
max_tokens Automatically converted to max_completion_tokens.
temperature Accepted only when = 1.0, or when reasoning_effort = "none" (GPT-5.1+).
presence_penalty, frequency_penalty, stop, logit_bias Always dropped.
logprobs, top_logprobs, top_p Accepted only when reasoning_effort = "none" (GPT-5.1+).
reasoning_effort Supported on all GPT-5 variants.

Claude 4+

The router normalises the thinking parameter to match the target Claude model — clients don't need to know which mode a model uses.

Adaptive thinking models (Claude Sonnet 4.6, Opus 4.6, Opus 4.7, Opus 4.8 and newer):

Parameter Behaviour
thinking.type = "enabled" Converted to "adaptive". budget_tokens is optional and ignored when adaptive.
thinking.type = "adaptive" Passed through directly.
reasoning_effort Mapped to thinking.type = "adaptive".

Non-adaptive thinking models (Claude Haiku 4.5, Sonnet 4.5, Opus 4.5):

Parameter Behaviour
thinking.type = "enabled" Requires budget_tokens (minimum 1024).
thinking.type = "adaptive" Converted to "enabled" with a default budget.
reasoning_effort Mapped to budget_tokens (low / medium / high → token counts).
budget_tokens Must be ≥ 1024 and less than max_tokens.

All Claude models support tools, tool_choice, parallel_tool_calls, temperature, top_p, max_tokens, and response_format.

Gemini

Parameter Behaviour
thinking / reasoning_effort Accepted on all Gemini models; silently ignored on models without thinking support. Maps to a thinking_level tier on Gemini 3.x, to a token budget on Gemini 2.5 — see below.
frequency_penalty, presence_penalty Not available on preview or Gemini 3 models.
top_k Not a standard top-level field — pass via extra_body; forwarded when supported natively.

thinking_level support (Gemini 3.x only). Gemini 3.x models take a thinking_level tier instead of a token budget — sending an unsupported tier (e.g. medium on a model with only minimal/high) returns 400. Gemini 2.5 models don't use tiers at all; control them via reasoning.max_tokens / effort instead (see Reasoning & Thinking).

Model Code Supported thinking_level values Default
Gemini 3.1 Flash-Lite gemini-3.1-flash-lite minimal, low, medium, high minimal
Gemini 3 Flash Preview gemini-3-flash-preview minimal, low, medium, high high
Gemini 3.1 Pro Preview gemini-3.1-pro-preview low, medium, high (no minimal) high
Gemini 3.1 Flash Image gemini-3.1-flash-image minimal, high only minimal
Gemini 3.1 Flash-Lite Image gemini-3.1-flash-lite-image minimal, high only minimal
Gemini 3 Pro Image gemini-3-pro-image high only — any explicit value returns 400 high

Google's own docs also list plain Gemini 3 Pro and Gemini 3.1 Pro (low/medium/high, default high) as distinct model names — SIRAYA's catalog currently only exposes the preview build (gemini-3.1-pro-preview) on the text side. gemini-2.5-pro, gemini-2.5-flash, and gemini-2.5-flash-lite aren't in this table because the 2.5 series doesn't use thinking_level tiers at all (token-budget based, see above). gemini-2.5-flash-image isn't in this table because it doesn't support thinking at all (400). gemini-3.6-flash, gemini-3.5-flash, and gemini-3.5-flash-lite are not yet in this table — they're newer than Google's published thinking_level reference and their supported tiers/defaults haven't been confirmed yet. gemini-3.1-flash-lite-preview and gemini-3-pro-preview have been retired from SIRAYA's catalog and are omitted. See Nano Banana → extra_body for the image-model parameter details.