Skip to content
API Reference

Parameter Support by Model

These tables show which request parameters take effect for each model family. They are client-facing fields you send through any API format; the router translates each into whatever the model needs.

Legend: ✅ supported · ⚠️ conditional (see Per-Model Details) · — not supported (silently dropped).

A parameter not listed here is either dropped or forwarded unchanged to the model's backend, depending on the backend. A dropped parameter does not fail the request — the field simply has no effect — but a forwarded one that the model does not accept can return an error. Each parameter is described in the Parameters reference.

Core

Parameter Type GPT Claude Gemini Other
model string ✅ ✅ ✅ ✅
messages array ✅ ✅ ✅ ✅
temperature float ⚠️ ⚠️ ✅ ✅
top_p float ⚠️ ⚠️ ✅ ✅
max_tokens integer ✅ ✅ ✅ ✅
max_completion_tokens integer ✅ ✅ ✅ ✅
stop array ⚠️ ✅ ✅ ⚠️
stream boolean ✅ ✅ ✅ ✅
stream_options object ✅ ✅ ✅ ✅

max_tokens is automatically converted to max_completion_tokens for GPT-5 models. GPT-5 and Codex models need max_tokens of at least 16.

stop is dropped for Grok models and for GPT-5. It must be an array of strings, even for a single sequence (for example ["END"]); a plain string is rejected with 400.

Claude: send only one of temperature and top_p. Claude 4.7 and later ignore temperature (other than 1), top_p and top_k, and with thinking on temperature is set to 1. See Per-Model Details.

Tool use

Parameter Type GPT Claude Gemini Other
tools array ✅ ✅ ✅ ✅
tool_choice string/object ✅ ✅ ✅ ✅
parallel_tool_calls boolean ✅ ✅ ✅ ⚠️
functions (legacy) array ✅ — — —
function_call (legacy) string/object ✅ — — —

Reasoning & extended thinking

Parameter Type GPT Claude Gemini Other
thinking object — ✅ ✅ ⚠️
reasoning_effort string ✅ ✅ ✅ ⚠️
reasoning object ✅ ✅ ✅ ⚠️

reasoning_effort, reasoning and thinking are normalised per model — the router maps whichever you send to the target model's native mode. reasoning is the nested form (effort, max_tokens, enabled, exclude); if both reasoning and reasoning_effort are sent, reasoning.effort wins. Other families support reasoning control only on models with a switchable reasoning mode. See Per-Model Details and Reasoning & Thinking.

Output control

Parameter Type GPT Claude Gemini Other
response_format object ✅ ✅ ✅ ✅
n integer ✅ — ✅ —
seed integer ✅ — ✅ —
user string ✅ ✅ ✅ ✅
web_search_options object ⚠️ ✅ ✅ —

web_search_options works on GPT models with web search support and has no effect on others, such as gpt-4.1.

Sampling & penalties

Parameter Type GPT Claude Gemini Other
frequency_penalty float ⚠️ — ⚠️ ✅
presence_penalty float ⚠️ — ⚠️ ✅
logit_bias object ⚠️ — — —

GPT-5 models always drop both penalties and logit_bias; earlier GPT models accept them. Penalties are not available on Gemini preview and Gemini 3 models.

Logprobs

Parameter Type GPT Claude Gemini Other
logprobs boolean ⚠️ — ✅ ⚠️
top_logprobs integer ⚠️ — ✅ ⚠️

Logprobs apply to Gemini models and to GPT models. GPT-5.1, 5.2, 5.4 and 5.5 return them only when reasoning_effort is "none"; other GPT-5 models (including Codex variants) drop them. For other model families, support varies by model. Claude models ignore them.

Extended parameters

These are not top-level fields. Pass them inside extra_body; each is extracted by an allowlist before being merged into the outbound request. (service_tier is the exception — it is a standard top-level field.)

Parameter Via GPT Claude Gemini Other
modalities extra_body ✅ — — —
audio extra_body ✅ — — —
prediction extra_body ✅ — — —
service_tier top-level ✅ — — —
top_k extra_body — ⚠️ ✅ ⚠️

top_k is not part of the standard request body — pass it via extra_body; it is forwarded only to models that support it natively. Claude 4.7 and later ignore it.