Параметры запроса
Какие параметры шлюз передаёт модели на каждом эндпоинте, какие вырезает и какие отклоняет.
Шлюз передаёт модели только параметры из списка своего эндпоинта. Параметр вне
списка молча вырезается: запрос выполняется, как если бы его не было. Поэтому
параметр, который вы привыкли передавать в одном формате, в другом может тихо
пропасть: например, seed принимает только /v1/chat/completions, а
max_tokens в /v1/responses называется max_output_tokens.
Передаются модели
Шлюз проверяет только поле model; значения остальных параметров проверяет
провайдер модели. Если он отклонил значение, ответ — 400 с кодом
unsupported_value или invalid_value (см. Ошибки).
/v1/chat/completions
model, messages, stream, temperature, top_p, max_tokens, max_completion_tokens, stop, seed, n, presence_penalty, frequency_penalty, logit_bias, logprobs, top_logprobs, response_format, tools, tool_choice, parallel_tool_calls, functions, function_call, prediction, reasoning_effort, verbosity, prompt_cache_retention, top_k, min_p, repetition_penalty, thinking, enable_thinking, thinking_budget, reasoning
/v1/messages
model, messages, system, max_tokens, stop_sequences, stream, temperature, top_p, top_k, tools, tool_choice, thinking, cache_control, output_config (только effort и format; устаревшее output_format переносится в output_config.format)
/v1/responses
model, input, instructions, stream, temperature, top_p, top_logprobs, max_output_tokens, max_tool_calls, tools, tool_choice, parallel_tool_calls, reasoning, text, truncation, include, prompt_cache_retention
/v1/images/generations
model, prompt, n (приводится к диапазону 1–10), size, aspect_ratio, resolution, quality, background, image, images, output_format, output_compression, response_format
/v1/videos
model, prompt, seconds, duration, duration_seconds, size, aspect_ratio, resolution, image, images, video, input_reference, negative_prompt, seed
Особые случаи
stream_optionsвырезается, но"include_usage": trueв/v1/chat/completionsсоблюдается: usage придёт последним чанком потока.user,safety_identifier,prompt_cache_keyиmetadataпровайдеру не передаются — шлюз ставит свои идентификаторы. Разные значенияprompt_cache_keyпо-прежнему дают разные разделы кэша.- В
/v1/responsesstoreвсегдаfalse: переписка у провайдера не хранится. - Вырезаются без ошибки параметры, меняющие тариф или маршрут у провайдера:
service_tier,inference_geo,speed,models,provider,route,transforms,plugins, а также веб-поиск и исполнение кода (web_search_options,mcp_servers,containerи подобные).
Инструменты
В tools остаются только инструменты, которые исполняет ваш код или которые
стоят одних токенов. Встроенные инструменты провайдера (веб-поиск, исполнение
кода, поиск по файлам, MCP) молча убираются из списка.
| Эндпоинт | Остаются в tools |
|---|---|
/v1/chat/completions | function, custom |
/v1/messages | ваши инструменты (без type или custom) и клиентские инструменты Anthropic: bash_*, text_editor_*, memory_*, computer_*, browser_toolset_*, tool_search_tool_* |
/v1/responses | function, custom, namespace, apply_patch, local_shell, computer, tool_search, shell с локальным окружением |
Если после этого список опустел, tools, tool_choice и parallel_tool_calls
удаляются, и модель отвечает без инструментов. Но если tool_choice требует
вызвать инструмент, которого не осталось (required, конкретный инструмент,
any), запрос отклоняется — см. ниже.
Отклоняются с ошибкой 400
Эти параметры меняют сам вид ответа или ссылаются на данные, хранящиеся у провайдера, поэтому молча убрать их нельзя:
| Эндпоинт | Что отклоняется |
|---|---|
/v1/chat/completions | audio, modalities с "audio", "deferred": true; части сообщений input_audio и file с file_id |
/v1/messages | compaction; блоки image и document с source.type: "file", блоки container_upload |
/v1/responses | "background": true, previous_response_id, conversation, prompt; элементы input типа item_reference, части input_file и input_image с file_id |
| все текстовые | tools не массивом; tool_choice, требующий инструмент, которого нет в списке |
В ответе приходит код unsupported_parameter и в поле param — имя параметра
или путь к части сообщения, например messages[3].content[1]. Историю
разговора передавайте целиком в каждом запросе: состояние на стороне
провайдера шлюз не хранит.
Обновлено 29 сентября 2026 г.