Kimi Responses
Вызывайте Kimi K3.1 Pro и Kimi K3 через OpenAI Responses API с ключом BeatAPI.
- Все актуальные модели Kimi доступны через
POST /v1/responses. Для переключения меняйтеmodel. - Потоковая передача, вызовы функций и контекстное окно на 1M токенов.
- Совместимо с OpenAI SDK: измените базовый URL и используйте ключ BeatAPI. Для существующей интеграции Chat Completions см. Chat Completions.
- Состояние диалога не сохраняется на сервере: при каждом обращении передавайте всю историю в
input.
Для текстовых запросов используйте базовый URL https://direct.beatapi.io. Этот адрес не ограничен 100-секундным тайм-аутом Cloudflare, который может прервать долгий запрос без потоковой передачи. Если ваша сеть не может подключиться к нему, используйте https://api.beatapi.io. Ключи, модели и цены одинаковы. API изображений и видео используют только https://api.beatapi.io.
Открывает эндпоинт в API Explorer. Если ввести ключ BeatAPI и отправить запрос, будет выполнен реальный вызов с оплатой из вашего баланса.
Модели
Передайте один из этих ID в model. Каждый ID обозначает отдельную модель; не считайте их псевдонимами друг друга.
- Указаны базовые цены со скидкой. Не включены тарифы для длинного контекста, кэшированного ввода и записи в кэш. См. страницу цен.
—означает, что каталог не публикует это значение.
Быстрый старт
Установите пакет openai на сервере и сохраните ключ в BEATAPI_API_KEY. Не помещайте ключ в код браузерного приложения. Свойство SDK output_text позволяет получить текст ответа без обхода блоков. Ниже показаны примеры запросов, а не записанные ответы модели.
Прочитайте ответ в output_text (или в частях output типа output_text), затем проверьте status и usage. Сам по себе HTTP 200 не означает, что ответ решает вашу задачу: проверяйте результат в приложении. Текстовые запросы возвращают ответ напрямую; опрашивать /v1/tasks для них не нужно.
Эндпоинт и аутентификация
POST https://direct.beatapi.io/v1/responses
Authorization
string
Обязательно
Bearer <BEATAPI_API_KEY>. Ключ работает как с префиксом sk-, так и без него.
Параметры запроса
Поддерживаются стандартные поля OpenAI Responses. Совместимость формата запроса не означает поддержку всех параметров конкретной модели и встроенных инструментов сервиса. Проверьте возможности, от которых зависит ваше приложение.
model
string
Обязательно
Точный ID модели.
Допустимые значения: kimi-k3.1-pro, kimi-k3
- Каждый ID обозначает отдельную модель, а не псевдоним другой модели.
- Вызовите
GET /v1/modelsсо своим ключом, чтобы проверить, какие модели ему доступны.
input
string | object[]
Обязательно
Промпт: строка либо массив входных элементов, например сообщений, вызовов функций и их результатов.
Состояние диалога не сохраняется на сервере. previous_response_id, conversation, prompt и context_management не поддерживаются: при каждом обращении передавайте всю историю в input.
instructions
string
Необязательно
Системная инструкция, добавляемая перед input.
max_output_tokens
integer
Необязательно
Максимальное число генерируемых токенов, включая токены рассуждений.
- Шлюз не сравнивает указанное значение с максимальным объёмом вывода модели из таблицы выше. Не превышайте этот предел.
- Значение также используется для оценки необходимого баланса. Слишком большое значение может привести к
402 insufficient_credits, даже если фактический ответ был бы коротким. Указывайте столько токенов, сколько требуется задаче.
Модель с рассуждениями сначала генерирует рассуждения. Если max_output_tokens слишком мал, весь лимит может быть потрачен на них, и текст ответа будет пустым или обрезанным. Оставляйте запас и для рассуждений, и для ответа. В таком случае увеличьте лимит.
stream
boolean
НеобязательноПо умолчанию: false
Передавать ответ потоком событий SSE. См. раздел о потоковой передаче ниже.
По умолчанию: false
temperature
number
Необязательно
Температура семплирования. Меняйте либо этот параметр, либо top_p, но не оба одновременно.
top_p
number
Необязательно
Порог суммарной вероятности для выборки (nucleus sampling).
tools
object[]
Необязательно
Функции-инструменты, которые может вызвать модель. Модель возвращает элемент function_call; передайте результат как входной элемент function_call_output с тем же call_id. Встроенные инструменты сервиса, например поиск в интернете или файлах, в этот список не входят.
tool_choice
string | object
Необязательно
Разрешает, требует или запрещает вызовы инструментов. Проверьте нужное значение с выбранной моделью.
Ответ
Без потоковой передачи запрос возвращает один JSON-объект. Ниже приведён сокращённый пример.
Поля ответа
Потоковая передача
Установите "stream": true. Поток начинается с response.created, передаёт текст событиями response.output_text.delta и заканчивается response.completed.
- Тип ответа —
text/event-stream; без потоковой передачи —application/json. - Вызов функции поступает отдельным выходным элементом, а его аргументы передаются событиями
response.function_call_arguments.delta. - Ошибка до вызова модели возвращается обычным JSON-ответом с HTTP-кодом, а не событием потока.
- Явно задайте тайм-ауты и предусмотрите безопасное восстановление соединения при потоковой передаче.
Устранение ошибок
Обзор HTTP-ошибок
Ошибки до вызова модели используют поля BeatAPI error.code, error.message, retryable и request_id. Остальные сохраняют формат OpenAI SDK {"error": {"message", "type", "code"}}. Код находится в error.code, ID запроса — в конце message. См. ошибки.
Все коды и правила повторных запросов: ошибки.
Примечания
- Kimi также доступна через Chat Completions и Anthropic Messages.
- Kimi K3 рассуждает по умолчанию, а Kimi K3.1 Pro — всегда: её рассуждения нельзя отключить. Токены рассуждений входят в выходные токены и оплачиваются как вывод.
- Храните ключи на доверенных серверах, записывайте ID запроса из ответа и повторяйте запросы только при ошибках
429,500и503.
Аутентификация
Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.
Запрос
Точный ID модели.
Каждый ID обозначает отдельную модель, а не псевдоним другой модели.
Вызовите GET /v1/models со своим ключом, чтобы проверить, какие модели ему доступны.
kimi-k3.1-pro, kimi-k3
Промпт: строка либо массив входных элементов, например сообщений, вызовов функций и их результатов.
Состояние диалога не сохраняется на сервере. previous_response_id, conversation, prompt и context_management не поддерживаются: при каждом обращении передавайте всю историю в input.
Системная инструкция, добавляемая перед input.
Максимальное число генерируемых токенов, включая токены рассуждений.
Шлюз не сравнивает указанное значение с максимальным объёмом вывода модели из таблицы выше. Не превышайте этот предел.
Значение также используется для оценки необходимого баланса. Слишком большое значение может привести к 402 insufficient_credits, даже если фактический ответ был бы коротким. Указывайте столько токенов, сколько требуется задаче.
Модель с рассуждениями сначала генерирует рассуждения. Если max_output_tokens слишком мал, весь лимит может быть потрачен на них, и текст ответа будет пустым или обрезанным. Оставляйте запас и для рассуждений, и для ответа. В таком случае увеличьте лимит.
Передавать ответ потоком событий SSE. См. раздел о потоковой передаче ниже.
Температура семплирования. Меняйте либо этот параметр, либо top_p, но не оба одновременно.
Порог суммарной вероятности для выборки (nucleus sampling).
Функции-инструменты, которые может вызвать модель. Модель возвращает элемент function_call; передайте результат как входной элемент function_call_output с тем же call_id. Встроенные инструменты сервиса, например поиск в интернете или файлах, в этот список не входят.
Разрешает, требует или запрещает вызовы инструментов. Проверьте нужное значение с выбранной моделью.
Ответ
Без потоковой передачи запрос возвращает один JSON-объект. Ниже приведён сокращённый пример.
ID ответа. Сохраняйте его вместе с ID запроса для обращений в поддержку и сверки расходов.
Модель, сформировавшая ответ.
completed означает, что ответ завершён.
Выходные элементы: message, reasoning и function_call. Свойство SDK output_text объединяет текстовые части ответа.
Количество токенов. Стоимость рассчитывается по фактическому использованию.

