# 参数映射表

https://modelportal.ai/docs/parameter-mapping?lang=zh

同一个参数在三种协议里写法不同。下表按行对应：你用哪种协议发请求，就写那一列的字段；承接的报价用另一种协议时，平台按同一行转换。

## 采样与输出参数

| 参数 | OpenAI | Anthropic | Gemini（`generationConfig`） | 报价不支持时 |
| --- | --- | --- | --- | --- |
| 温度 | `temperature` | `temperature` | `temperature` | 排除该报价 |
| 核采样 | `top_p` | `top_p` | `topP` | 排除该报价 |
| Top-K | `top_k` | `top_k` | `topK` | 排除该报价 |
| 随机种子 | `seed` | — | `seed` | 排除该报价 |
| 多个候选 | `n`（大于 1 时） | — | `candidateCount`（大于 1 时） | 排除该报价 |
| 对数概率 | `logprobs`、`top_logprobs` | — | `responseLogprobs` | 排除该报价 |
| 频率惩罚 | `frequency_penalty`（非 0 时） | — | `frequencyPenalty` | 排除该报价 |
| 存在惩罚 | `presence_penalty`（非 0 时） | — | `presencePenalty` | 排除该报价 |
| 最大输出 | `max_tokens`、`max_completion_tokens`；Responses 为 `max_output_tokens` | `max_tokens`（必填） | `maxOutputTokens` | 预估输入加最大输出超过上下文长度时排除 |

## 能力

| 能力 | OpenAI | Anthropic | Gemini | 报价需要声明 |
| --- | --- | --- | --- | --- |
| 结构化输出 | `response_format` 为 `json_schema` | — | `responseSchema`、`responseJsonSchema` | `structured_output` |
| JSON 模式 | `response_format` 为 `json_object` | — | `responseMimeType` 为 `application/json` | `json_mode` |
| 工具调用 | `tools`、`tool_choice` | `tools`、`tool_choice` | `tools`、`toolConfig` | `tools` |
| 推理控制 | `reasoning`、`reasoning_effort` | `thinking` | `thinkingConfig` | 按报价的推理档位改写，见[推理控制](/docs/reasoning) |
| 提示缓存 | 上游自动 | `cache_control` | 上游自动 | 不排除，不支持只是不命中，见[提示缓存](/docs/prompt-caching) |
| 图片输入 | `image_url`、`input_image` | `image` 内容块 | `inlineData`、`fileData` | `vision_input` |
| 流式 | `stream` | `stream` | `:streamGenerateContent` | `streaming` |

## 不支持时怎么办

平台不会悄悄丢掉参数再转发。请求里用到的参数或能力，报价没有声明支持的就不参与这次请求；所有报价都因此被排除时返回 400 `unsupported_parameter`，错误信息列出参数名。去掉该参数，或换一个支持它的模型即可。

## 每个报价支持哪些参数

模型详情页的报价列表写明每个报价支持的参数和能力；用程序查询时，看 `GET /api/v1/models/<模型 ID>` 返回的每个报价 `config` 里的 `sampling_params` 和 `capabilities`，见[模型列表接口](/docs/api-models)。
