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

Kimi K3

Используйте Kimi K3 через официальный API Chat Completions, Responses или Anthropic Messages: контекстное окно 1M токенов, всегда включённое рассуждение и уровень рассуждения на ваш выбор.

View Markdown

Kimi K3 — флагманская модель Moonshot AI для долгосрочного программирования, агентов и интеллектуальной работы. Она всегда рассуждает, прежде чем ответить, а глубину рассуждения вы выбираете через reasoning_effort. Отправьте официальный запрос Kimi в SeedRouter: измените базовый URL и API-ключ, тело оставьте прежним.

ID модели

ID моделиКонтекстное окноМаксимальный выводУровень рассужденияУровень рассуждения по умолчанию
kimi-k31,048,576 токенов1,048,576 токенов (по умолчанию 131,072)low, high, maxmax

Вход: текст и изображения. Выход: текст. Актуальные цены смотрите на странице модели.

Краткий пример

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k3",
    "messages": [{"role": "user", "content": "Explain context caching in one sentence."}]
  }'

Конечные точки

ФорматМетод и путьАутентификация
Chat CompletionsPOST https://api.seedrouter.ai/v1/chat/completionsAuthorization: Bearer <key>
ResponsesPOST https://api.seedrouter.ai/v1/responsesAuthorization: Bearer <key>
Anthropic MessagesPOST https://api.seedrouter.ai/v1/messagesx-api-key: <key> или Authorization: Bearer <key>, плюс anthropic-version

Все три возвращают официальный формат ответа Kimi, со стримингом или без. Храните API-ключ в коде на серверной стороне.

Параметры

Поля Chat Completions:

ИмяТипОбязательныйПо умолчаниюПримечания
modelstringДа—kimi-k3.
messagesobject[]Да—Текстовые сообщения; изображения передаются как части image_url (см. Входные изображения).
max_completion_tokensintegerНет131072До 1048576. Включает токены рассуждения. max_tokens — устаревшее название того же лимита.
reasoning_effortenumНетmaxlow, high или max. Любое другое значение возвращает 400.
stopstring or string[]Нет—До 5 последовательностей.
response_formatobjectНет{"type": "text"}text, json_object или json_schema (с json_schema.name и json_schema.schema).
toolsobject[]Нет—Инструменты-функции.
tool_choicestring or objectНетautoauto и none применяются. required и именованная функция принимаются, но не принуждают к вызову.
streambooleanНетfalseТранслировать серверные события.
stream_options.include_usagebooleanНетfalseДобавляет финальный чанк с данными об использовании.
prompt_cache_optionsobjectНет{"mode": "implicit", "ttl": "5m"}mode: implicit. ttl: 5m или 1h.
prompt_cache_key, safety_identifier, prediction—Нет—Принимаются.
logprobs, top_logprobs—Нет—Принимаются (top_logprobs от 0 до 20), но логарифмические вероятности не возвращаются.
temperature, top_p, n, presence_penalty, frequency_penalty—Нет1.0, 0.95, 1, 0, 0Фиксированы. Любое другое значение возвращает 400, поэтому не передавайте их.

Рассуждение и уровень рассуждения

Kimi K3 рассуждает всегда; отключить рассуждение нельзя. reasoning_effort задаёт его объём: max (по умолчанию) — для самой сложной работы, high — для большинства задач, low — для быстрых простых шагов. Рассуждение возвращается в reasoning_content, рядом с content. Токены рассуждения тарифицируются как выходные токены и учитываются в max_completion_tokens.

В многоходовых диалогах и вызовах инструментов отправляйте каждое сообщение assistant обратно без изменений, включая его reasoning_content.

Входные изображения

Kimi K3 принимает изображения в виде base64 data URI. Публичный URL изображения не принимается и возвращает 400 — так же, как в собственном API Kimi.

{"role": "user", "content": [
  {"type": "image_url", "image_url": {"url": "data:image/png;base64,<BASE64_DATA>"}},
  {"type": "text", "text": "Describe this image."}
]}

Кэширование контекста

Кэширование работает автоматически: повторяющийся префикс промпта читается из кэша по более низкому тарифу для кэшированного входа. prompt_cache_options.ttl задаёт, сколько записанный префикс хранится в кэше: 5m (по умолчанию) или 1h; выбирайте 1h, если между вашими запросами проходит больше пяти минут. usage.prompt_tokens_details.cached_tokens показывает токены, прочитанные из кэша, а cache_write_tokens — оплачиваемые в запросе записи в кэш.

Измерения стоимости

Смотрите актуальные тарифы на странице модели. Запрос тарифицируется по используемым токенам:

  • входные токены,
  • кэшированные входные токены (cached_tokens),
  • токены записи в кэш (cache_write_tokens),
  • выходные токены, включая рассуждение.

Цены не зависят от длины контекста. Сумма берётся из usage, возвращённого с завершённым ответом. Неудачный запрос не тарифицируется. Записи использования вашей учётной записи показывают точную сумму для каждого запроса.

Вывод

Нестриминговый запрос Chat Completions возвращает:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1790585961,
  "model": "kimi-k3",
  "choices": [{
    "index": 0,
    "finish_reason": "stop",
    "message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
  }],
  "usage": {
    "prompt_tokens": 90,
    "completion_tokens": 57,
    "total_tokens": 147,
    "cached_tokens": 90,
    "prompt_tokens_details": {"cached_tokens": 90, "cache_write_tokens": 0}
  }
}

При "stream": true каждый чанк содержит delta с reasoning_content или content. С stream_options.include_usage последний чанк с пустым массивом choices передаёт данные об использовании перед data: [DONE].

Responses API и Codex

POST /v1/responses принимает тело Responses: input, instructions, max_output_tokens, reasoning.effort (low, high, max), text.format (json_schema), tools (function и пользовательский инструмент apply_patch), tool_choice, stream, prompt_cache_options, prompt_cache_key и safety_identifier. Рассуждение возвращается как элемент reasoning с частью summary_text, а поток передаёт пронумерованные события от response.created до response.completed. API не хранит состояние: previous_response_id и conversation игнорируются, поэтому отправляйте весь диалог в input. Инструмент web_search игнорируется.

Чтобы использовать Kimi K3 в Codex, добавьте provider в ~/.codex/config.toml и задайте SEEDROUTER_API_KEY:

model = "kimi-k3"
model_provider = "seedrouter"
model_context_window = 1048576

[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"

Формат Anthropic Messages

Код, написанный для Anthropic Messages API, тоже может вызывать Kimi K3: отправьте тело Messages на /v1/messages с "model": "kimi-k3". system, max_tokens, tools, tool_choice (auto, none) и output_config.effort (low, high, max) применяются, а metadata.user_id и cache_control принимаются. stop_sequences (до 5), tool_choice any и output_config.format принимаются, но не имеют эффекта. Рассуждение возвращается блоками thinking. Изображения передаются как источники base64.

Ошибки

Ошибки используют форму {"error": {"code": ..., "message": "..."}} (конечная точка Messages использует формат ошибок Anthropic). Поле code — это код из общего каталога ошибок. Неудачные запросы не тарифицируются.

Советы

  • Начните с уровня рассуждения high и переходите на max только для самых сложных задач; low подходит для быстрых простых шагов.
  • Установите max_completion_tokens достаточно высоким и для рассуждения, и для ответа: это один бюджет для обоих.
  • Помещайте длинный, повторно используемый контекст в начало промпта, чтобы последующие запросы читали его из кэша, и используйте TTL 1h, если запросы идут с большими интервалами.

Связанные материалы