Parameter mapping
The same parameter is spelled differently in each protocol. The tables line up by row: write the field from the column of the protocol you call, and if the serving endpoint speaks another protocol, the platform converts along the same row.
Sampling and output parameters
| Parameter | OpenAI | Anthropic | Gemini (generationConfig) |
When an endpoint lacks it |
|---|---|---|---|---|
| Temperature | temperature |
temperature |
temperature |
Endpoint excluded |
| Nucleus sampling | top_p |
top_p |
topP |
Endpoint excluded |
| Top-K | top_k |
top_k |
topK |
Endpoint excluded |
| Seed | seed |
— | seed |
Endpoint excluded |
| Multiple candidates | n (above 1) |
— | candidateCount (above 1) |
Endpoint excluded |
| Log probabilities | logprobs, top_logprobs |
— | responseLogprobs |
Endpoint excluded |
| Frequency penalty | frequency_penalty (non-zero) |
— | frequencyPenalty |
Endpoint excluded |
| Presence penalty | presence_penalty (non-zero) |
— | presencePenalty |
Endpoint excluded |
| Maximum output | max_tokens, max_completion_tokens; max_output_tokens in Responses |
max_tokens (required) |
maxOutputTokens |
Excluded when estimated input plus maximum output exceeds the context length |
Capabilities
| Capability | OpenAI | Anthropic | Gemini | Endpoint must declare |
|---|---|---|---|---|
| Structured output | response_format of type json_schema |
— | responseSchema, responseJsonSchema |
structured_output |
| JSON mode | response_format of type json_object |
— | responseMimeType of application/json |
json_mode |
| Tool calling | tools, tool_choice |
tools, tool_choice |
tools, toolConfig |
tools |
| Reasoning | reasoning, reasoning_effort |
thinking |
thinkingConfig |
Rewritten to the endpoint's reasoning levels; see Reasoning |
| Prompt caching | Automatic upstream | cache_control |
Automatic upstream | Never excluded; without support it just misses; see Prompt caching |
| Image input | image_url, input_image |
image content blocks |
inlineData, fileData |
vision_input |
| Streaming | stream |
stream |
:streamGenerateContent |
streaming |
When a parameter is not supported
The platform never drops a parameter and forwards the rest. Endpoints that do not declare a parameter or capability the request uses sit out the request; if that excludes every endpoint, you get 400 unsupported_parameter with the parameter names in the message. Remove the parameter, or use a model that supports it.
Which parameters each endpoint supports
The endpoint list on the model page shows each endpoint's supported parameters and capabilities. From code, read sampling_params and capabilities in each endpoint's config from GET /api/v1/models/<model ID>; see the Models API.