Kimi K3 API: контекст 1M, цены и Python (2026)

Практическое руководство по Kimi K3 API — ключ, примеры curl и Python, контекст 1M, нативное зрение, reasoning_effort, сравнение цен и переход с K2.

Kimi K3 — новейшая флагманская модель Moonshot AI. Она разом расширяет окно контекста до 1 миллиона токенов и встраивает нативное зрение и всегда включённые рассуждения, метя прямо в «долгосрочное программирование + работа со знаниями + сложные рассуждения». Это руководство идёт по простому пути — получить ключ, отправить первый запрос, выжать максимум из контекста 1M, посчитать реальную стоимость и перейти с K2 — чтобы вы действительно запустили Kimi K3. Спешите? Получите бесплатные кредиты по реферальному коду на GetModel и вызывайте Kimi, GPT и Claude одним ключом.

Что предлагает Kimi K3

Kimi K3 использует архитектуру Mixture-of-Experts (MoE) с примерно 2.8T общих параметров, активируя 16 из 896 экспертов за проход. В сочетании с новым дизайном внимания KDA (Kimi Delta Attention) + Attention Residuals Moonshot заявляет, что общая эффективность масштабирования обучения/вывода примерно в 2.5 раза выше, чем у K2. На практике стоит запомнить несколько ключевых моментов заранее:

  • Окно контекста 1M —— точно 1 048 576 токенов, достаточно, чтобы за один раз проглотить средних размеров кодовую базу, целое руководство или десятки длинных документов. Это самое очевидное улучшение по сравнению с K2 (256K).
  • Нативное зрение —— ввод изображений и видео поддерживается напрямую, что делает модель полноправным гражданином для задач «смотрю на картинку — пишу код»: фронтенд, игры, CAD — без навесного OCR.
  • Всегда включённые рассуждения —— глубокое мышление в K3 включено по умолчанию и управляется через reasoning_effort. Пока доступен только уровень max (по умолчанию); остальные уровни появятся позже.
  • Интерфейс, совместимый с OpenAI —— формат Chat Completions, поэтому существующему коду на openai SDK обычно нужно поменять лишь base_url и model.

Текущий основной ID модели — kimi-k3. Перед интеграцией стоит сверить список доступных моделей в консоли — Moonshot итерирует быстро.

Шаги интеграции + код

Ниже два пути: прямое подключение подходит для сценариев только с Kimi; шлюз-агрегатор подходит, если вы одновременно используете GPT, Claude, Gemini и не хотите вести кучу ключей и счетов.

Способ первый: прямое подключение (платформа Moonshot)

  1. Зарегистрируйтесь и войдите на Открытую платформу Moonshot;
  2. Создайте ключ в разделе «Управление API-ключами»;
  3. Запомните адреса: внутренний https://api.moonshot.cn/v1, зарубежный https://api.moonshot.ai/v1.

Пример curl:

curl https://api.moonshot.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MOONSHOT_API_KEY" \
  -d '{
    "model": "kimi-k3",
    "messages": [{"role": "user", "content": "Представь Kimi K3 одним предложением"}]
  }'

Python (используем openai SDK напрямую, меняем только base_url и model):

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["MOONSHOT_API_KEY"],
    base_url="https://api.moonshot.cn/v1",
)

resp = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Представь Kimi K3 одним предложением"}],
)
print(resp.choices[0].message.content)

Для потоковой выдачи достаточно добавить stream=True — формат SSE совпадает с официальным OpenAI; вызов функций (function calling) тоже пишется через поле tools OpenAI.

Способ второй: шлюз-агрегатор (вызов Kimi / GPT / Claude одним ключом)

Если ваш проект использует не только Kimi, шлюз-агрегатор вроде GetModel сильно упростит жизнь: один ключ, один OpenAI-совместимый эндпоинт, а смена модели — это лишь изменение поля model. Баланс общий для всех моделей, и счёт тоже один.

  1. Войдите в Консоль GetModel и создайте ключ, начинающийся с sk-, на странице «API-токены»;
  2. Смените base_url на https://getmodel.ai/v1;
  3. Укажите в model значение kimi-k3.
from openai import OpenAI

client = OpenAI(
    api_key="sk-ваш-GetModel-ключ",
    base_url="https://getmodel.ai/v1",
)

# Вызов Kimi K3
resp = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Привет, Kimi K3"}],
)
print(resp.choices[0].message.content)

# Тот же код — поменяйте model на gpt-5.2 или claude-opus-4-8, и переключитесь на модель другого поставщика

На стороне шлюза встроен многоканальный failover: при сбое одного из вышестоящих провайдеров происходит автоматическое переключение — стабильнее для продакшена.

Как выжать максимум из контекста 1M и нативного зрения

Длинный контекст — ключевое преимущество K3. Забросить весь репозиторий, целый договор или десятки страниц PDF прямо в messages и дать модели отвечать в полном контексте зачастую проще — и теряется меньше информации — чем самому нарезать всё для RAG. Учтите: чем длиннее контекст, тем выше расход токенов и задержка на запрос, поэтому неизменный префикс (длинный system prompt, справочные документы) обязательно переиспользуйте через кэш — см. раздел о ценах ниже.

Ввод изображений требует внимания к двум моментам: во-первых, содержимое изображений/видео должно попадать в content как массив объектов, а не склеиваться в одну сериализованную строку; во-вторых, зрение K3 не поддерживает публичные URL изображений — для локальных изображений используйте base64, а видео загружайте через files API и ссылайтесь как ms://<file-id>.

resp = client.chat.completions.create(
    model="kimi-k3",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Напиши соответствующий HTML/CSS по этому макету"},
            {"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgo..."}},
        ],
    }],
)

Сравнение цен: прямое подключение vs шлюз-агрегатор

Kimi K3 тарифицируется по токенам, и кэширование контекста включено по умолчанию — как только повторяющийся префикс попадает в кэш, цена ввода падает до одной десятой. Ниже официальные референсные цены (за 1M токенов, в юанях; приоритет за актуальной ценой в консоли):

Статья тарификацииЦена / 1M токенов
Ввод (промах кэша)¥20
Ввод (попадание в кэш)¥2
Вывод¥100

Несколько замечаний:

  • Попадание в кэш сжимает цену ввода до ¥2/M, поэтому для сценариев с длинным system prompt и фиксированными документами, вызываемыми многократно, реальная стоимость может оказаться на порядок ниже, чем кажется — больше всех выигрывают долгосрочные агенты;
  • K3 позиционируется как флагман, поэтому его цена вывода заметно выше, чем у K2. Для задач чистого объёма, не требующих предельных возможностей, серия K2 всё ещё выгоднее (см. сравнение Kimi K3 и K2);
  • Цены на официальном и различных релейных / агрегаторских каналах плавают, поэтому перед заказом сверяйтесь с актуальной ценой. Актуальные тарифы Kimi и других моделей на GetModel — на странице цен.

Бесплатные кредиты: пробный кредит Moonshot в ¥15 для новых пользователей сейчас нельзя использовать на K3 — официальный K3 платный. Чтобы попробовать возможности K3 без затрат, зарегистрируйтесь по реферальному коду GetModel и получите бесплатный кредит, который работает со всеми моделями, — так можно сравнить K3, GPT и Claude бок о бок, прежде чем выбрать основную.

На что обратить внимание при переходе с K2

Если вы переходите с K2 / K2.x на K3, есть три ловушки, которых стоит избежать:

  • Больше не используйте параметр thinking. K3 управляет интенсивностью размышлений через reasoning_effort (пока только max); поле thinking из K2.x на K3 не применяется.
  • В многоходовых диалогах и вызовах инструментов добавляйте полное assistant message, которое вернул API, в следующий ход как есть — не оставляйте только content, иначе состояние рассуждений / инструментов теряется.
  • Бюджет контекста вырос в 4 раза (256K → 1M), но не забивайте его бездумно — чем длиннее, тем дороже и медленнее, так что нужные усечение и переиспользование кэша по-прежнему актуальны.

Частые ошибки и диагностика

  • 401 / ошибка аутентификации: опечатка в ключе, пропущенный префикс Bearer , или ключ из другого окружения. Проверьте, что заголовок Authorization и base_url соответствуют друг другу.
  • 429 / сработал лимит: превышены RPM/TPM или лимит параллелизма. Добавьте повторы с экспоненциальной задержкой, снизьте параллелизм или повысьте уровень аккаунта; через GetModel нагрузку автоматически распределяет многоканальный failover.
  • Ошибки запроса со зрением: чаще всего передан публичный URL изображения или смешанный текст/изображение content склеен в строку. Перейдите на ссылки base64 / ms:// и используйте массив объектов.
  • Превышение контекста: ввод свыше 1M токенов вызывает ошибку. Урежьте ввод, обрабатывайте по частям или включите переиспользование кэша для фиксированных префиксов.

Часто задаваемые вопросы (FAQ)

  • Какой контекст у Kimi K3? 1 048 576 токенов (около 1M), вчетверо больше, чем у K2 — подходит для кода целого репозитория, длинных документов и долгосрочных агентов.
  • Есть ли у K3 бесплатные кредиты? Официальный кредит ¥15 сейчас нельзя использовать на K3; регистрация через GetModel даёт кросс-модельный кредит, удобный для «сначала попробовать».
  • Поддерживаются ли зрение, вызов инструментов и потоковая передача? Все три. Зрение — массив объектов + base64/ms://; вызов инструментов — поле tools OpenAI; потоковая передача — добавьте stream=True.
  • Можно ли переиспользовать существующий код OpenAI? Да. K3 совместим с интерфейсом OpenAI Chat Completions, обычно нужно поменять только base_url и model; но при переходе с K2 не забудьте заменить thinking на reasoning_effort.
  • Как выбрать между K3 и K2? Нужны контекст 1M, нативное зрение и сильнейший код / рассуждения — берите K3; чистый объём и чувствительность к стоимости — берите серию K2.

Чтобы в одном коде одновременно использовать Kimi, GPT, Claude и Gemini, ведя лишь один ключ и один счёт, начните с Консоли GetModel и запустите Kimi K3 первым делом на подаренном кредите.