← Блог

Kimi K3 по API: max_tokens 100, а в счёте 559 токенов

· 10 минут чтения

Запрос с max_tokens: 100 вернул 559 токенов выхода, а в finish_reason стояло stop, не length. Ответ оказался полным, но за него списалось $0,0099.

Это не сбой нашего клиента. Так Kimi K3 повела себя в замере 22.09.2026, и ниже мы разберём, почему привычный способ ограничить длину здесь не сработал.

Kimi K3 доступна в altrouter по OpenAI-совместимому API с оплатой картой РФ, СБП или криптой. За подтверждённый Telegram один раз начисляется $1 на пробу, регистрация бесплатная. У нас модель стоит на 15% дороже официальной цены Moonshot, скидки нет.

Что такое Kimi K3 и чем она отличается от обычных чат-моделей

Kimi K3 — модель Moonshot AI с 2,8 трлн параметров и полностью опубликованными весами. В каталоге OpenRouter она появилась 16.07.2026 с описанием «рассуждающая мультимодальная модель с открытыми весами» для сложного кода, работы со знаниями и длинных агентных задач.

Kimi K3 рассуждает всегда, выключить этот режим нельзя. Токены рассуждений — черновик модели: в обычном ответе их не видно, но они приходят в поле reasoning_content, входят в completion_tokens и тарифицируются как выход.

Контекст модели — 1 048 576 токенов. Контекст — всё, что модель видит за один запрос, включая вопрос, инструкции и историю диалога.

У K3 зафиксированы temperature=1.0, top_p=0.95, n=1, presence_penalty=0 и frequency_penalty=0. Moonshot просит не передавать эти параметры, поэтому ползунок temperature в каталоге altrouter трогать бессмысленно.

В документации Moonshot модель описана как флагман для длинных задач по коду. В каталоге altrouter у неё указаны инструменты, рассуждения и картинки на входе, а имя модели для API — kimi-k3 (страница модели). С чем её сравнивать среди моделей для программирования, мы собрали в обзоре нейросетей для кода.

Эксперимент: одна задача, девять прогонов

22.09.2026 мы отправили одну и ту же задачу через API altrouter: POST https://api.altrouter.ai/v1/chat/completions. Запросы были непотоковыми, сервер находился в Нюрнберге, время записывалось по часам клиента.

Задача звучала так:

«Сколько раз за сутки (24 часа) часовая и минутная стрелки механических часов образуют прямой угол? Дай число и объяснение в 3-4 предложениях.»

Вопрос с подвохом. Частый неверный ответ — 48, а правильный — 44: за 12 часов минутная стрелка обгоняет часовую 11 раз, и в каждом обгоне образует прямой угол дважды.

НастройкаВремяВходВыходИз них рассужденияСписаниеОтвет
low, прогон 14,8 с14424681$0,004744
low, прогон 27,6 с14428596$0,005444
high, прогон 15,1 с14427174$0,005244
high, прогон 27,3 с14424251$0,004744
high + max_tokens 3005,7 с14424753$0,004844
medium, прогон 113,0 с76845732$0,014844
medium, прогон 29,2 с76549426$0,009744
Без reasoning_effort8,7 с76366232$0,006644
Без reasoning_effort + max_tokens 1008,4 с76559427$0,009944

Все девять запросов завершились с HTTP 200 и finish_reason: stop. Ни одна настройка не ошиблась.

Ответы различались способом объяснения. В варианте low модель написала: «Минутная стрелка обгоняет часовую в полном обороте 11 раз за 12 часов…». В варианте high появилась скорость относительного движения: «5,5° в минуту (6° − 0,5°)».

В варианте medium Kimi K3 посчитала полные обороты: минутная стрелка делает за сутки 24 оборота, часовая — 2, поэтому относительно друг друга они совершают 22 оборота. Правильный ответ один, а путь к нему и счёт отличаются заметно.

max_tokens не ограничивает Kimi K3

max_tokens — потолок длины ответа, который вы задаёте в запросе. Для обычной модели ожидаешь, что после этого числа генерация остановится.

Схема: лимит max_tokens 100 против фактических 559 токенов, из них 427 рассуждений
Лимит в 100 токенов модель прошла не заметив: finish_reason — stop, а не length

В нашем прогоне max_tokens: 100 Kimi K3 выдала 559 токенов: 427 токенов рассуждений и 132 токена видимого ответа. finish_reason остался stop, поэтому модель не считала себя остановленной лимитом.

Первая проверка 22.09.2026 дала ещё более резкий результат. При max_tokens: 16 модель вернула 150 токенов, из них 127 пришлось на рассуждения.

В руководстве Moonshot сказано, что сумма reasoning_content и ответа должна быть не больше max_tokens. В наших прогонах это правило не выполнилось. При high + max_tokens 300 вернулось 247 токенов, но лимит там просто не понадобился.

Значит, max_tokens для Kimi K3 нельзя считать потолком расходов. Бюджет лучше держать через reasoning_effort: low, короткую постановку задачи и контроль usage.completion_tokens вместе с completion_tokens_details.reasoning_tokens.

Если max_tokens не передавать, altrouter подставляет 4096 как общую страховку каталога. На Kimi K3 и это значение не гарантирует фактический потолок. Другие способы урезать выход, которые работают независимо от модели, собраны в статье как снизить расходы на токены.

reasoning_effort: почему medium дороже high

reasoning_effort — настройка, которая задаёт интенсивность рассуждений модели. Чем больше внутреннего черновика, тем выше может оказаться число выходных токенов и списание.

Столбчатая диаграмма: токены выхода Kimi K3 при low, high и medium на одной задаче
medium в наших прогонах тратил в 2–3 раза больше токенов, чем high

В документации Moonshot для Kimi K3 указаны low, high и max. Если параметр не передан, документация указывает max. Значения medium у Moonshot нет.

У нас в каталоге для этой модели доступны low, medium и high, а без параметра мы подставляем medium. Это наш недочёт. В замере medium оказался дороже high: 549–845 токенов выхода против 242–271, $0,0097–0,0148 против $0,0047–0,0052.

На одной задаче medium стоил в 2–3 раза дороже high. Время тоже выросло: 9,2–13,0 секунды против 5,1–7,3 секунды.

Есть и странность, которую мы не объясняем. Для low и high usage показывал 144 входных токена, а для medium — 76 на том же вопросе. Разница дала доли цента, но в счёте она видна.

Пока настройка в каталоге не исправлена, ставьте low или high явно. Для короткой задачи из эксперимента оба режима дали правильный ответ, а low потребовал 246–285 токенов выхода.

Сколько стоит Kimi K3 по API: официальная цена и наша

Шкала цен Kimi K3: Moonshot $3 и $15 против altrouter $3,45 и $17,25 за 1 млн токенов
Kimi K3 у нас дороже официальной цены на 15% — это наш минус, скидки нет

Цены на 22.09.2026 считаются за 1 млн токенов.

ПровайдерВходВыход
Moonshot, официальная цена$3,00$15,00
altrouter$3,45$17,25

Kimi K3 у нас дороже официальной цены Moonshot на 15%. Скидки нет. У Moonshot также есть кэшированный вход по $0,30 за 1 млн токенов, а отдельной цены кэша для Kimi K3 в нашем каталоге нет.

По нашим средним значениям 10 000 похожих запросов через altrouter стоили бы примерно столько:

НастройкаСредняя цена запроса10 000 запросов
low≈ $0,00505≈ $50
high≈ $0,00495≈ $50
medium≈ $0,01225≈ $123
Без параметра, у нас это medium≈ $0,0066≈ $66

Расчёт сделан по usage и нашим ценам каталога. Например, прогон low №1 по официальной цене Moonshot стоил бы примерно $0,0041 вместо наших $0,0047.

Разница в цене altrouter даёт оплату картой РФ, СБП или криптой. Также используется один ключ и один OpenAI-совместимый адрес на весь каталог, а $1 на тесты начисляется один раз после подтверждения Telegram.

Как подключить Kimi K3 за пять минут

  1. Зарегистрируйтесь на altrouter и создайте ключ в кабинете.
  2. Подтвердите Telegram, чтобы один раз получить $1 на тесты.
  3. Установите библиотеку openai и укажите адрес https://api.altrouter.ai/v1.
  4. Передайте модель kimi-k3 и явно выберите reasoning_effort="low" или reasoning_effort="high".
from openai import OpenAI

client = OpenAI(api_key="ar-...", base_url="https://api.altrouter.ai/v1")

r = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Сколько раз за сутки стрелки часов образуют прямой угол?"}],
    reasoning_effort="low",
)

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

u = r.usage
print(u.completion_tokens, u.completion_tokens_details.reasoning_tokens)

То же можно отправить через curl:

curl https://api.altrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $ALTROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"kimi-k3","reasoning_effort":"low","messages":[{"role":"user","content":"..."}]}'

В многоходовом диалоге возвращайте в messages полное сообщение ассистента как есть. Для Kimi K3 это значит сохранить reasoning_content и tool_calls, если они пришли.

Оплата идёт по факту токенов, без подписки. Баланс пополняется картой РФ, СБП или криптой. Полный список параметров запроса — в документации API.

Методика и её дыры

Методика здесь узкая. Мы взяли одну задачу и сделали по одному или два прогона на настройку, поэтому результаты не описывают поведение Kimi K3 на всех типах запросов.

Время зависит от нагрузки. Стоимость посчитана по usage и нашим ценам каталога, а не по отдельной выписке биллинга.

На простой контрольной задаче с функцией проверки 10-значного ИНН на Python четыре прогона дали 160–191 токен выхода, 6,1–7,3 секунды и $0,0034–0,0037. Код во всех случаях совпал по логике, поэтому на простом коде разница между настройками почти не проявилась.

Для длинных задач по коду соотношение может быть другим. Но в рамках этого замера вывод практический: не рассчитывайте на max_tokens как на ограничитель, а reasoning_effort задавайте явно.

FAQ

Сколько стоит Kimi K3 по API?

На 22.09.2026 официальная цена Moonshot составляла $3 за 1 млн входных токенов и $15 за 1 млн выходных. В altrouter цена — $3,45 и $17,25, то есть на 15% выше официальной, скидки нет. Запрос со стрелками стоил от $0,0047 до $0,0148 в зависимости от настройки.

Как ограничить длину ответа Kimi K3?

В наших прогонах max_tokens: 100 не ограничил ответ: модель вернула 559 токенов. Для контроля бюджета используйте reasoning_effort: low, короткую постановку задачи и проверяйте usage.completion_tokens вместе с completion_tokens_details.reasoning_tokens.

Какие значения reasoning_effort поддерживает Kimi K3?

В документации Moonshot указаны low, high и max, а значением по умолчанию считается max. В каталоге altrouter доступны low, medium и high, но medium в документации Moonshot нет и в нашем замере он оказался дороже high. Пока это не исправлено, ставьте low или high явно.

Можно ли изменить temperature у Kimi K3?

Нет. Moonshot фиксирует temperature на 1.0 и top_p на 0.95 и просит не передавать эти параметры в запросе.

Какой контекст у Kimi K3?

Контекст Kimi K3 составляет 1 048 576 токенов. В документации Moonshot max_completion_tokens указан со значением по умолчанию 131 072.

Как оплатить Kimi K3 из России?

В altrouter баланс пополняется картой РФ, СБП или криптой. Оплата списывается по числу токенов, а за подтверждённый Telegram один раз начисляется $1 на тесты.