← Все статьи

Kimi K2 API: полное руководство по интеграции для AI-инженеров (2026)

Всё для интеграции модельной линейки Moonshot AI Kimi — K2.6, K2.7 Code и K2.5. Регистрация, API key, первый вызов за 3 минуты, thinking mode, streaming, tool calls, multimodal input, pricing, частые ошибки и маршрутизация Kimi-моделей через TheRouter.

· TheRouter

Kimi K2 API от Moonshot AI — это OpenAI-совместимый endpoint, дающий доступ к семейству MoE-моделей c триллионом параметров: от flagship-модели K2.6 до code-специализированной K2.7 Code, вышедшей 12 июня 2026 года. Все модели поддерживают контекст 256K token, thinking mode, tool calls и streaming. Регистрация на platform.kimi.ai, API key, base_url на https://api.moonshot.ai/v1 — и ваш OpenAI SDK-код работает без изменений.

Мы подготовили это руководство, потому что линейка Kimi расширяется быстро — пять моделей маршрутизируются через TheRouter, плюс K2.7 Code доступен через direct API Moonshot. Различия между ними (always-thinking vs. toggle, multimodal vs. text-only, deprecated K2 series) легко упустить. Это единый справочник, который был нужен нам самим при первой интеграции Moonshot в наш routing layer.

Источники: Kimi API Model List, получено 2026-06-14; Kimi API Overview, получено 2026-06-14.

Начало работы за 3 минуты

Шаг 1: Создайте аккаунт. Перейдите на platform.kimi.ai и зарегистрируйтесь. Moonshot поддерживает регистрацию по email и номеру телефона.

Шаг 2: Получите API key. Откройте Console → API Keys и создайте новый key. Скопируйте сразу — key показывается один раз.

Шаг 3: Первый вызов. Установите OpenAI Python SDK:

pip install --upgrade openai

Затем:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_MOONSHOT_KEY",
    base_url="https://api.moonshot.ai/v1",
)

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "What is Kimi K2.6?"}],
)

print(response.choices[0].message.content)

Kimi API реализует спецификацию OpenAI ChatCompletions — любой инструмент, SDK или код, работающий с OpenAI, подключается заменой base_url и API key.

Источник: Kimi K2.6 Quick Start, получено 2026-06-14.

Линейка моделей Kimi: какую выбрать

Moonshot AI предлагает три активных семейства моделей через Kimi API. Legacy-серия K2 (K2, K2 Instruct, K2 Thinking) deprecated 25 мая 2026 года.

МодельModel IDКонтекстМодальностьThinkingДля чего
K2.7 Codekimi-k2.7-code256Ktext+image→textВсегда включён (нельзя отключить)Coding agents, long-horizon code generation
K2.6kimi-k2.6256Ktext+image→textВключён по умолчанию (можно отключить)Универсальные задачи, multimodal, agent workflows
K2.5kimi-k2.5256Ktext+image→textВключён по умолчанию (можно отключить)Универсальные задачи (предыдущее поколение)

Deprecated-модели (25 мая 2026)

Legacy IDСтатус
kimi-k2-0905-previewСнят с обслуживания
kimi-k2-0711-previewСнят с обслуживания
kimi-k2-turbo-previewСнят с обслуживания
kimi-k2-thinkingСнят с обслуживания
kimi-k2-thinking-turboСнят с обслуживания

Если ваш код использует любые kimi-k2-*-preview или kimi-k2-thinking ID — переключайтесь на kimi-k2.6. Эти модели больше не поддерживаются.

Источник: Kimi API Model List, получено 2026-06-14.

K2.7 Code: специалист по коду (always-thinking)

K2.7 Code вышел 12 июня 2026 года — это самая сильная coding-модель Moonshot. Ключевое отличие от K2.6: thinking всегда включён и не может быть отключён. Параметр thinking передавать не нужно — достаточно указать model kimi-k2.7-code, и модель всегда выдаёт reasoning_content.

Кроме того, Preserved Thinking всегда активен — в multi-turn диалогах необходимо передавать reasoning_content из каждого предыдущего assistant message без изменений.

Пример K2.7 Code

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_MOONSHOT_KEY",
    base_url="https://api.moonshot.ai/v1",
)

stream = client.chat.completions.create(
    model="kimi-k2.7-code",
    messages=[
        {"role": "system", "content": "You are Kimi."},
        {"role": "user", "content": "Implement quicksort in Python."},
    ],
    max_tokens=32768,
    stream=True,
)

for chunk in stream:
    if chunk.choices:
        choice = chunk.choices[0]
        delta = choice.delta
        if hasattr(delta, "reasoning_content") and delta.reasoning_content:
            print(delta.reasoning_content, end="")
        if delta.content:
            print(delta.content, end="")

Влияние на стоимость

K2.7 Code всегда генерирует thinking token, которые тарифицируются по output rate ($4.00/1M). Для простых задач без необходимости глубокого рассуждения — используйте K2.6 с отключённым thinking для экономии.

Источники: Using Thinking Models — Kimi API, получено 2026-06-14; K2.7 Code Pricing, получено 2026-06-14.

Thinking mode: различия между моделями

Параметр thinking ведёт себя по-разному в трёх активных моделях:

Параметрkimi-k2.7-codekimi-k2.6kimi-k2.5
thinking.typeТолько "enabled" (ошибка при "disabled")"enabled" (default) или "disabled""enabled" (default) или "disabled"
thinking.keep (Preserved Thinking)Всегда "all" (нельзя отключить)null (default) или "all"Не поддерживается

Включение/отключение thinking на K2.6

# Thinking включён по умолчанию — параметр передавать не нужно
response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "Prove that sqrt(2) is irrational."}],
)

# Явное отключение thinking
response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "What time is it in Tokyo?"}],
    extra_body={"thinking": {"type": "disabled"}},
)

При включённом thinking модель возвращает поле reasoning_content в assistant message наряду с обычным content. В streaming-режиме сначала приходят chunks с reasoning_content, затем — с content.

Preserved Thinking (K2.6 и K2.7 Code)

Preserved Thinking означает, что модель ожидает видеть свою историю рассуждений в multi-turn диалогах. При включении на K2.6 (или always-on для K2.7 Code) необходимо передавать reasoning_content из предыдущих assistant messages:

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[
        {"role": "user", "content": "Write a binary search function."},
        {
            "role": "assistant",
            "reasoning_content": "<reasoning from previous turn>",
            "content": "Here's a binary search implementation..."
        },
        {"role": "user", "content": "Now add error handling."},
    ],
    extra_body={"thinking": {"type": "enabled", "keep": "all"}},
)

Источник: Using Thinking Models — Kimi API, получено 2026-06-14.

Multimodal input: изображения и видео

K2.6, K2.5 и K2.7 Code поддерживают совместный ввод текста и изображений. K2.6 дополнительно поддерживает видео. Изображения передаются стандартным OpenAI image_url content type:

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What is in this image?"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/photo.jpg"},
                },
            ],
        }
    ],
)

Формат совпадает с OpenAI vision messages — если вы уже отправляете изображения в GPT-4o или Claude, тот же код работает здесь.

Источник: Kimi K2.6 Quick Start, получено 2026-06-14.

Примеры кода: curl, Python, streaming и tool calls

curl

curl https://api.moonshot.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${MOONSHOT_API_KEY}" \
  -d '{
    "model": "kimi-k2.6",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": false
  }'

Python Streaming

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_MOONSHOT_KEY",
    base_url="https://api.moonshot.ai/v1",
)

stream = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "Explain the CAP theorem."}],
    stream=True,
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Tool Calls

Все активные модели Kimi поддерживают tool/function calling в формате OpenAI:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {"type": "string", "description": "City name"},
                },
                "required": ["location"],
            },
        },
    }
]

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "What's the weather in Beijing?"}],
    tools=tools,
    tool_choice="auto",
)

K2.6 и K2.7 Code особенно сильны в multi-step tool orchestration — K2.6 стабильно выполняет 200–300 шагов tool orchestration, а K2.7 Code оптимизирован для long-horizon coding с tool-augmented reasoning.

Источник: Kimi API Tool Use, получено 2026-06-14.

Pricing: Moonshot direct vs. DashScope

Moonshot Direct API (platform.kimi.ai)

МодельInput (Cache Miss)Input (Cache Hit)OutputКонтекст
kimi-k2.7-code$0.95/1M$0.19/1M$4.00/1M256K
kimi-k2.6$0.95/1M$0.16/1M$4.00/1M256K
kimi-k2.5$0.60/1M$0.10/1M$3.00/1M256K

Автоматическое кеширование контекста у Moonshot означает, что повторяющиеся system prompts и общие prefix попадают под cache rate автоматически — настройка не требуется.

DashScope (Aliyun Bailian)

Kimi K2.6 и K2.5 также доступны через Alibaba Cloud DashScope/Bailian. Это альтернативный endpoint на инфраструктуре Aliyun. DashScope endpoint OpenAI-совместим:

client = OpenAI(
    api_key="YOUR_DASHSCOPE_KEY",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

response = client.chat.completions.create(
    model="kimi-k2.6",
    messages=[{"role": "user", "content": "Hello!"}],
)

Обратите внимание: на DashScope thinking mode управляется параметром enable_thinking, а не объектом thinking, который использует Moonshot direct API. Формат параметров — в DashScope Kimi docs.

Источники: K2.6 Pricing, получено 2026-06-14; K2.7 Code Pricing, получено 2026-06-14; DashScope Kimi API, получено 2026-06-14.

Частые ошибки и решения

Неправильный base_url

API base Moonshot — https://api.moonshot.ai/v1. Не используйте https://platform.moonshot.ai (это console) или https://platform.kimi.ai (это docs).

Передача thinking.type: "disabled" в K2.7 Code

K2.7 Code не поддерживает отключение thinking. API вернёт ошибку. Для non-thinking mode используйте K2.6.

Путаница model ID между провайдерами

Model ID для K2.6 на Moonshot direct API — kimi-k2.6. На DashScope тоже kimi-k2.6. Но при использовании DashScope в Cursor или некоторых IDE-интеграциях точку нужно заменить на дефис — Cursor требует kimi-k2-6. При routing через TheRouter мы используем канонический идентификатор moonshot/kimi-k2.6.

Deprecated model IDs

Если получаете ошибку "model not found" — проверьте, не используете ли deprecated K2 series ID (kimi-k2-0905-preview, kimi-k2-thinking и т. д.). Они сняты с обслуживания 25 мая 2026 года.

Ошибки Preserved Thinking в multi-turn

При использовании K2.7 Code (или K2.6 с Preserved Thinking) необходимо передавать reasoning_content из всех предыдущих assistant messages. Пропуск приводит к деградации ответов или ошибкам в multi-turn диалогах.

Источник: Kimi API Model List, получено 2026-06-14.

Интеграция с TheRouter: routing и fallback

Мы маршрутизируем пять Kimi-моделей через TheRouter:

  • moonshot/kimi-k2 — быстрый non-thinking вариант (131K контекст) (устарела — переходите на kimi-k2.5/k2.6)
  • moonshot/kimi-k2-instruct — 1T MoE для диалогов и tool use (200K контекст) (устарела — переходите на kimi-k2.5/k2.6)
  • moonshot/kimi-k2-thinking — deep reasoning specialist (256K контекст) (устарела — переходите на kimi-k2.5/k2.6)
  • moonshot/kimi-k2.5 — flagship предыдущего поколения (256K контекст)
  • moonshot/kimi-k2.6 — текущий flagship, multimodal (256K контекст)

Для использования Kimi через TheRouter укажите наш endpoint в OpenAI SDK с model ID с prefix moonshot/:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_THEROUTER_KEY",
    base_url="https://api.therouter.ai/v1",
)

response = client.chat.completions.create(
    model="moonshot/kimi-k2.6",
    messages=[{"role": "user", "content": "Hello from TheRouter!"}],
)

Fallback-конфигурация

Преимущество routing через TheRouter — автоматический fallback. Если API Moonshot недоступен или ограничивает rate, мы переключаемся на другого провайдера с той же моделью. Поскольку K2.6 доступен и через DashScope, вы получаете географическую redundancy без написания retry-логики.

OpenAI-совместимость означает, что провайдер предоставляет endpoint chat-completions, чей контракт запроса и ответа достаточно близок к API OpenAI, чтобы немодифицированный вызов OpenAI SDK работал после замены трёх значений: API key, base URL, название модели. Минимальная поверхность на практике —POST /v1/chat/completions с messages, model и потоковым ответом в форме OpenAI.

Примечание: K2.7 Code (kimi-k2.7-code) пока не доступен как route TheRouter — на данный момент только через Moonshot direct API. Поддержка routing будет добавлена после стабилизации availability у нескольких провайдеров.

Источник: TheRouter Models Data, получено 2026-06-14.

Чеклист перед продакшеном

Перед запуском Kimi-моделей в production:

  • Мигрируйте с deprecated K2 series — если используете kimi-k2-*-preview или kimi-k2-thinking ID, переключайтесь на kimi-k2.6
  • Выберите thinking mode — задайте thinking.type явно на K2.6; для K2.7 Code thinking всегда включён
  • Обрабатывайте reasoning_content в multi-turn — при использовании K2.7 Code или K2.6 с Preserved Thinking передавайте reasoning history
  • Выберите правильную модель — K2.7 Code для coding agents, K2.6 для универсальных + multimodal задач, K2.5 для экономии
  • Мониторьте стоимость thinking token — thinking token тарифицируются по output rate; отключайте thinking на K2.6 для простых задач
  • Настройте fallback — routing через TheRouter или DashScope для избежания single-provider dependency
  • Используйте context caching — автоматическое prefix caching Moonshot удешевляет повторяющиеся system prompts ($0.16/1M cache hit на K2.6)
  • Установите timeout — thinking-интенсивные запросы требуют времени; рекомендуемый timeout 60–120 с
  • Проверьте совместимость model ID — убедитесь, что model ID корректно работает с вашим SDK/инструментом (точка vs. дефис в IDE-интеграциях)

FAQ

Q: Kimi K2 API совместим с OpenAI? A: Да. Moonshot API реализует спецификацию OpenAI ChatCompletions на https://api.moonshot.ai/v1. Замените base_url и api_key в OpenAI SDK — streaming, tool calls и system messages работают без изменений.

Q: Можно ли отключить thinking в K2.7 Code? A: Нет. K2.7 Code имеет always-on thinking и вернёт ошибку при thinking.type: "disabled". Для non-thinking mode используйте K2.6 с отключённым thinking.

Q: Что случилось с оригинальными K2-моделями? A: Серия kimi-k2 (K2, K2 Instruct, K2 Thinking, K2 Turbo) deprecated 25 мая 2026 года. Если вы ещё используете эти model IDs — переключайтесь на kimi-k2.6 для общих задач или kimi-k2.7-code для coding.

Q: Как Kimi K2.6 соотносится с DeepSeek V4? A: Обе — MoE-модели с контекстом 256K–1M и поддержкой thinking mode. K2.6 имеет native multimodal (image + video input) и превосходит в agent/tool orchestration. DeepSeek V4 предлагает больший контекст (1M vs. 256K) и более низкие цены на cache hits. Выбор зависит от workload — с TheRouter можно маршрутизировать между ними в зависимости от задачи.

Q: Можно запустить Kimi K2.6 локально? A: Да. Weights Kimi K2.6 доступны на HuggingFace как open-weight. Но при 1T параметров (32B active) потребуются значительные GPU-ресурсы. Для production в большинстве случаев API практичнее.

Q: K2.7 Code доступен через TheRouter? A: Пока нет. K2.7 Code вышел 12 июня 2026 года и доступен только через Moonshot direct API. Routing-поддержка будет добавлена по мере расширения provider availability.


Последнее обновление: 14 июня 2026 года. Pricing и model availability по данным Kimi API Pricing и Kimi API Model List. Все цены могут измениться — актуальные тарифы проверяйте на platform.kimi.ai.

Помощь и контакты