Введение
Kimi K3 — агентная модель Moonshot AI с длинным контекстом, здесь она доступна как один совместимый с OpenAI эндпоинт /v1/chat/completions. Она читает до 1 000 000 токенов в пределах 256 сообщений и может вернуть до 1 048 576 токенов в одном ответе.
В запросе семь полей: messages, max_tokens, tools, tool_choice, response_format, reasoning_effort и stop. Уровень рассуждения — low, high или max, стартует с max; temperature и top_p фиксирует Moonshot, поэтому здесь они отклоняются. Сообщения могут содержать части с текстом и image_url, а ответы приходят потоком через Server-Sent Events.
Ключевые возможности и особенности
reasoning_effort — единственная ручка
Поскольку сэмплирование фиксирует Moonshot, управляете вы тем, сколько модель думает: low — для коротких механических реплик, high — для обычного ревью, max — для миграций и доказательств. Значение сэмплирования, скопированное у другой модели, сразу приводит к ошибке, а не игнорируется молча, так что запрос значит одно и то же в любом окружении.
Прочитать пакет — вернуть файл
Миллион токенов на входе и до 1 048 576 обратно: кодовая база уходит целиком, и переписанный файл может вернуться целиком. Каждый проход по-прежнему видит остальной репозиторий — именно тот контекст, который обычно теряют конвейеры, режущие материал на куски.
Текст и изображения в одном сообщении
Пользовательское сообщение может сочетать части с текстом и image_url с параметром detail — auto, low или high, и каждая часть учитывается как входные токены. Скриншот сломанного экрана и код, который его отрисовывает, можно отправить модели вместе; частей с видео нет.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
messages | Да | Не более 256 упорядоченных реплик. Содержимое — строка или массив частей: text и |
max_tokens | Нет | Ограничивает ответ значением 1 048 576. Даже значение по умолчанию 32 768 может молча обрезать переписанный целиком файл — задавайте его под результат. |
reasoning_effort | Нет | low, high или max, по умолчанию max — уровни и значение по умолчанию, которые Moonshot описывает для K3, поэтому запрос без этого поля уже идёт в самом внимательном режиме. |
stop | Нет | До 4 последовательностей не длиннее 32 байт каждая — строкой или массивом. Ответ обрывается, как только модель пишет одну из них, а совпавший текст не возвращается. Не менее 1 символов · Не менее 1 элементов · Не более 4 элементов |
tools | Нет | До 128 описаний функций, объявленных в первом запросе цикла. Не более 128 элементов |
tool_choice | Нет | auto позволяет модели пропустить вызов; required принуждает к нему; none запрещает все. |
response_format | Нет | Просите объект JSON, когда на выходе структурные данные, а не проза. |
Стоимость
Ввод $2.70 / Вывод $13.50 за 1 млн токенов
Сценарии использования
Переписывание всего репозитория, файл за файлом
Отправьте все файлы пакета и просите по одному мигрированному файлу за раз, а не описание диффа. Высокий предел ответа возвращает целиком даже большой файл, поэтому ничего не теряется на границе продолжения посреди функции.
Агентные циклы с неизменным набором полей
Объявите до 128 инструментов, оставьте tool_choice в auto и запустите цикл. Зафиксируйте reasoning_effort на весь цикл, и между итерациями будет меняться только диалог — трассировка агента останется читаемой, когда что-то пойдёт не так.
Перевод и перестройка целых книг
Загрузите всю рукопись и глоссарий и просите по одной переведённой или перестроенной главе за вызов, пока модель видит остальную книгу. Термины и имена остаются согласованными, потому что прежние главы находятся в том же запросе.
Руководство по промптам и практические советы
Выбирайте уровень рассуждения осознанно
Пропущенный reasoning_effort уже означает max — самый тщательный уровень, расходующий больше всего выходных токенов. Решайте по задаче: max — для миграции или доказательства, high — для ревью, low — для коротких механических реплик.
Просите артефакт, а не его описание
POST https://api.spicyapi.ai/v1/chat/completions с телом {"model": "moonshot/kimi-k3", "messages": [{"role": "system", "content": "Return the migrated files in full. No commentary, no diffs, no omitted regions."}, {"role": "user", "content": "<every file in the package>"}], "max_tokens": 120000}. Задавайте max_tokens под ожидаемый файл: стандартные 32 768 могут без ошибки обрезать переписывание целого файла.
Стриминг и ограничения
Вызов без стриминга на max при полном окне может идти долго, поэтому используйте стриминг или задайте таймаут клиента с запасом. Окно — 1 000 000 токенов, max_tokens больше 1 048 576 недопустим, а temperature или top_p в теле запроса не проходят валидацию.
Быстрый старт API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "moonshot/kimi-k3/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Аутентификация, полная схема, опрос статуса и обработка ошибок описаны в справочнике API.





