Claude Opus 5.5 уже доступна в SeedRouter

Text

Kimi K3.1 Pro

View Markdown

Нативные форматы Kimi K3.1 Pro Chat Completions, Responses и Messages. Официальные параметры, история рассуждений, структурированный вывод, медиа и учёт кэша.

Используйте публичный ID модели kimi-k3.1-pro. На странице модели доступны Playground и актуальные цены. Скачайте спецификацию OpenAPI с полными вложенными схемами запросов и ответов.

Быстрый старт

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"kimi-k3.1-pro",
    "messages":[{"role":"user","content":"How can an idempotency key prevent a duplicate payment?"}],
    "max_completion_tokens":2048,
    "reasoning_effort":"low"
  }'

Нативные форматы

ФорматАдрес APIОбязательные поля
Chat CompletionsPOST /v1/chat/completionsmodel, messages
ResponsesPOST /v1/responsesmodel, input
MessagesPOST /v1/messagesmodel, messages, max_tokens

Используйте Authorization: Bearer $SEEDROUTER_API_KEY. Messages также использует anthropic-version: 2023-06-01. Каждый формат возвращает нативный JSON или события SSE. Responses не хранит состояние: передавайте полную историю заново; поле запроса previous_response_id не поддерживается.

Параметры запроса

Пустые поля Playground не отправляются. Явные false и ноль сохраняются там, где допустимы. Отсутствие поля не означает допустимость null. Неизвестные расширения верхнего уровня отбрасываются; некорректные официальные поля отклоняются. Вложенные схемы инструментов и возвращённая история сохраняются без изменений.

Chat Completions

ПолеТипОбязательноеПо умолчанию / диапазон
logprobsbooleanНетпо умолчанию false
top_logprobsintegerНет0–20; требует logprobs=true
predictionobjectНетНе отправляется, если не задано
max_tokensintegerНет1–1048576
max_completion_tokensintegerНет1–1048576; по умолчанию 131072
response_formatobjectНетНе отправляется, если не задано
stopunionНет≤5 строк; ≤32 UTF-8 bytes каждая
streambooleanНетпо умолчанию false
stream_optionsobjectНетНе отправляется, если не задано
toolsarrayНетНе отправляется, если не задано
prompt_cache_keystringНетНе отправляется, если не задано
prompt_cache_optionsobjectНетНе отправляется, если не задано
safety_identifierstringНетНе отправляется, если не задано
tool_choiceunionНетНе отправляется, если не задано
messagesarrayДаНе отправляется, если не задано
reasoning_effortstringНетlow, high, max; по умолчанию "max"
modelstringДаkimi-k3.1-pro; по умолчанию "kimi-k3.1-pro"
temperaturenumberНет1
top_pnumberНет0.95
nintegerНет1
frequency_penaltynumberНет0
presence_penaltynumberНет0

Responses

ПолеТипОбязательноеПо умолчанию / диапазон
modelstringДаkimi-k3.1-pro; по умолчанию "kimi-k3.1-pro"
inputunionДаНе отправляется, если не задано
instructionsstringНетНе отправляется, если не задано
streambooleanНетпо умолчанию false
max_output_tokensintegerНет1–1048576; по умолчанию 131072
reasoningobjectНетНе отправляется, если не задано
textobjectНетНе отправляется, если не задано
toolsarrayНетНе отправляется, если не задано
tool_choiceobjectНетНе отправляется, если не задано
includearrayНетНе отправляется, если не задано
prompt_cache_keystringНетНе отправляется, если не задано
prompt_cache_optionsobjectНетНе отправляется, если не задано
safety_identifierstringНетНе отправляется, если не задано

Messages

ПолеТипОбязательноеПо умолчанию / диапазон
modelstringДаkimi-k3.1-pro; по умолчанию "kimi-k3.1-pro"
messagesarrayДаНе отправляется, если не задано
max_tokensintegerДа1–1048576
systemunionНетНе отправляется, если не задано
streambooleanНетпо умолчанию false
stop_sequencesarrayНет≤5 строк; ≤32 UTF-8 bytes каждая
toolsarrayНетНе отправляется, если не задано
tool_choiceobjectНетНе отправляется, если не задано
metadataobjectНетНе отправляется, если не задано
cache_controlobjectНетНе отправляется, если не задано
output_configobjectНетНе отправляется, если не задано

Chat имеет 22 поля верхнего уровня: model, пять фиксированных полей семплирования и 16 переменных входов. Responses имеет model и 12 входов; Messages — model и 10 входов. Playground скрывает фиксированную модель и фиксированные настройки семплирования.

Рассуждения и лимиты вывода

Мышление всегда включено. Chat reasoning_effort, Responses reasoning.effort и Messages output_config.effort принимают low, high или max; по умолчанию — max. Все лимиты вывода включают рассуждения. Chat и Responses по умолчанию допускают 131 072 выходных токена, максимум — 1 048 576. Messages требует положительный max_tokens. Chat принимает устаревший max_tokens; для новых интеграций используйте max_completion_tokens.

Контекстное окно составляет 1 048 576 токенов. Сам ввод должен помещаться в него. Когда ввод вместе с бюджетом генерации превышает окно, сервис может сократить бюджет до оставшегося места. Маленький лимит вывода может остановить генерацию до появления видимого ответа.

Семплирование Chat фиксировано: temperature:1, top_p:0.95, n:1, frequency_penalty:0, presence_penalty:0. Другие значения недопустимы. Стоп-последовательности сопоставляются с точным текстом и исключаются из ответа. Лимит в 32 байта учитывает байты UTF-8, а не символы.

Структурированный вывод и предсказания

Chat принимает response_format.type со значениями text, json_object или json_schema. Режим JSON также требует промпта с просьбой вернуть JSON. JSON Schema требует json_schema.name и json_schema.schema; strict по умолчанию равен true.

Responses использует text.format с type:json_schema, schema, необязательными name и strict. Messages использует output_config.format с type:json_schema и schema. Следуйте Moonshot Flavored JSON Schema; не предполагайте, что каждое общее расширение JSON Schema проверяется. Проверяйте завершённый вывод в приложении.

Предсказанный вывод Chat использует prediction:{type:"content",content:...}. Содержимое — строка или только текстовые части. Используйте это для почти известного вывода, например файла с небольшим изменением.

Инструменты и сохранение истории диалога

Инструменты Chat используют type:function с function.name и function.parameters. Необязательные поля включают description и strict (по умолчанию true). Имена соответствуют ^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$. Выбор инструмента поддерживает auto, none и required; required требует хотя бы одного доступного инструмента. Принудительный выбор именованной функции несовместим с постоянно включённым мышлением.

Динамическое сообщение инструментов Chat — {role:"system",tools:[...]} без content. Сохраняйте такие сообщения в диалоге. Добавляйте полный ответ помощника, включая reasoning_content и tool_calls, затем возвращайте каждый результат инструмента сообщением role:tool с соответствующим tool_call_id. Ответы помощника с вызовами инструментов могут иметь null в content. Остальные роли сообщений по-прежнему требуют content.

Responses поддерживает нативные определения инструментов function, namespace, пользовательского apply_patch и web_search с tool_choice:"auto". Возвращайте элементы function_call_output или custom_tool_call_output с соответствующими ID вызовов. Значения include web_search_call.results и web_search_call.action.sources влияют только на вывод веб-поиска.

Messages поддерживает нативные определения инструментов и объекты выбора с type auto, any или none. Сохраняйте блоки мышления помощника и их подписи. Возвращайте блоки результатов инструментов внутри пользовательских сообщений. Ваше приложение проверяет аргументы, выполняет пользовательские функции и контролирует внешние действия.

Chat Partial Mode устанавливает partial:true только в последнем сообщении помощника. Messages напрямую продолжает последнее сообщение помощника. Не восстанавливайте историю только по видимому тексту ответа.

Ограничения медиа

Chat принимает блоки содержимого text, image_url и video_url. Используйте data URL с base64 или допустимые ссылки ms://; произвольные публичные URL медиа не поддерживаются. Форматы изображений: JPEG, PNG, GIF, WebP, BMP, HEIC и HEIF. Форматы видео: MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV и 3GPP. Официальное руководство задаёт общий лимит тела запроса 100M без отдельного ограничения числа изображений. Изображения 4K и видео Full HD — рекомендации, а не обязательные ограничения.

Responses использует input_image.image_url с data URL. Messages использует источник изображения вида {type:"base64",media_type:"image/png",data:"..."} или type url с допустимой ссылкой ms://. Встроенные изображения Messages: JPEG, PNG, GIF и WebP. Эти форматы не наследуют видеоблок Chat автоматически; используйте их собственные схемы.

Playground прикрепляет встроенные изображения. Для видеоблоков и ссылок на файлы используйте нативные поля диалога или редактор JSON. Загрузка и управление файлами не входят в эти адреса генерации. ID файла, созданного другим аккаунтом, не обязательно доступен.

Кэширование и использование

Chat и Responses используют prompt_cache_key и prompt_cache_options:{mode:"implicit",ttl:"5m"}. TTL принимает 5m или 1h, по умолчанию — 5 минут. Messages использует верхнеуровневый cache_control:{type:"ephemeral",ttl:"5m"} и необязательный metadata.user_id. Вложенные маркеры cache-control Messages игнорируются. prompt_cache_breakpoint на уровне содержимого недопустим.

Существующий кэшированный префикс при обновлении сохраняет исходный TTL. Запрос другого срока жизни не доказывает, что он был применён. Официальные заголовки записи кэша Chat показывают фактические количества для 5 минут и 1 часа. Responses может вернуть применённый prompt_cache_options; Messages сообщает оба счётчика TTL в usage.cache_creation.

ФорматВсего вводаЧтение кэшаЗапись кэша
Chatusage.prompt_tokensprompt_tokens_details.cached_tokensprompt_tokens_details.cache_write_tokens
Responsesusage.input_tokensinput_tokens_details.cached_tokensinput_tokens_details.cache_write_tokens
Messagesinput_tokens + cache_read_input_tokens + cache_creation_input_tokenscache_read_input_tokenscache_creation_input_tokens

Итоговый ввод Chat и Responses уже включает чтение и запись кэша. Эти категории и некэшированный остаток не пересекаются; не прибавляйте кэшированные токены дважды. Вывод включает рассуждения. Messages разделяет запись на ephemeral_5m_input_tokens и ephemeral_1h_input_tokens. Смотрите актуальные тарифы; публичные ответы генерации не содержат денежных начислений.

Потоковая передача и завершение

Установите stream:true. Chat отправляет блоки данных и [DONE]; stream_options.include_usage:true запрашивает итоговый блок использования. Responses использует именованные события, например response.output_text.delta, response.completed и response.incomplete. Messages использует message_start, события блоков содержимого, message_delta и message_stop.

Закрытое соединение само по себе не доказывает завершение. Проверяйте нативные причины окончания и конечный статус. В прерванном потоке может отсутствовать итоговое использование. Остановка чтения не гарантирует отмену генерации.

Официальные источники

Проверено 25 октября 2026 года: руководство Kimi K3.1 Pro, Chat, Responses, Messages, зрение и кэширование.