MiniMax Chat Completions
Вызывайте MiniMax M3 и M3.1 Flash через единый метод OpenAI Chat Completions с ключом BeatAPI.
- Все актуальные модели MiniMax доступны через
POST /v1/chat/completions. Для переключения меняйтеmodel. - Потоковая передача, вызовы функций и контекстное окно на 1M токенов. У
MiniMax-M3тарифы удваиваются при промпте свыше 512 000 токенов;MiniMax-M3.1-Flashиспользует единый тариф при любой длине промпта. - Совместимо с OpenAI SDK: измените базовый URL и используйте ключ BeatAPI.
- Эти же модели также доступны через OpenAI Responses и Anthropic Messages.
Для текстовых запросов используйте базовый 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. Не включайте ключ в код браузера. Ниже приведён пример запроса, а не запись реального ответа модели.
Прочитайте ответ в choices[0].message.content, затем проверьте finish_reason и usage. Статус HTTP 200 не гарантирует, что ответ решает вашу задачу: проверяйте результат в приложении. Текстовые запросы возвращают результат напрямую, без опроса /v1/tasks.
Эндпоинт и аутентификация
POST https://direct.beatapi.io/v1/chat/completions
Authorization
string
Обязательно
Bearer <BEATAPI_API_KEY>. Ключ работает как с префиксом sk-, так и без него.
Параметры запроса
Принимаются стандартные поля OpenAI Chat Completions. Совместимость формата запроса не означает, что каждая модель поддерживает все параметры. Проверяйте параметры, от которых зависит ваше приложение.
model
string
Обязательно
Точный идентификатор модели.
Допустимые значения: MiniMax-M3, MiniMax-M3.1-Flash
- Каждый ID обозначает отдельную модель, а не псевдоним другой.
- Вызовите
GET /v1/modelsсо своим ключом, чтобы узнать, какие модели ему доступны. - Регистр ID имеет значение: передавайте
MiniMax-M3иMiniMax-M3.1-Flashточно в таком написании, а не строчными буквами.
messages
object[]
Обязательно
История диалога от самого раннего сообщения к последнему. Каждое сообщение содержит role (system, user, assistant или tool) и content.
max_tokens
integer
Необязательно
Максимальное число генерируемых токенов, включая рассуждения.
- Шлюз не сверяет это значение с максимальным объёмом вывода модели в таблице выше. Не превышайте указанный предел.
max_tokensтакже используется для оценки необходимого баланса. Слишком высокое значение может привести к402 insufficient_credits, даже если фактический ответ короткий. Указывайте значение по потребности.
Модели рассуждений сначала генерируют рассуждения. При слишком низком max_tokens весь лимит может уйти на них: content останется пустым, а finish_reason будет равен length. Оставляйте запас и для рассуждений, и для ответа; при length увеличьте лимит.
stream
boolean
НеобязательноПо умолчанию: false
Возвращает ответ в виде серверных событий SSE. См. раздел о потоковой передаче.
По умолчанию: false
temperature
number
Необязательно
Температура семплирования. Меняйте либо этот параметр, либо top_p, но не оба сразу.
top_p
number
Необязательно
Порог суммарной вероятности для выборки (nucleus sampling).
stop
string | string[]
Необязательно
Одна или несколько последовательностей, останавливающих генерацию.
tools
object[]
Необязательно
Определения функций, которые модель может вызвать. Модель запрашивает вызовы через tool_calls. Передайте каждый результат в следующем сообщении tool с соответствующим tool_call_id.
tool_choice
string | object
Необязательно
Разрешает, требует или запрещает вызовы инструментов. Проверьте нужные значения с выбранной моделью.
Стоимость длинного контекста
У MiniMax-M3 повышенный тариф включается, когда промпт превышает 512 000 токенов, и применяется ко всему запросу: цена входа, кэшированного входа и выхода удваивается. Повышение происходит сразу, а не постепенно: даже превышение на один токен означает оплату всего запроса по повышенному тарифу.
Цены MiniMax-M3 в таблице моделей выше и в таблице цен — базовые тарифы для промптов ниже порога. Перед отправкой длинной истории оцените весь промпт.
У MiniMax-M3.1-Flash нет повышенного тарифа за длинный контекст: цены входа и выхода из таблицы действуют при любой длине промпта вплоть до контекстного окна на 1 000 000 токенов. Кэшированный вход стоит $0.009 за 1M токенов.
Ответ
Без потоковой передачи вызов возвращает один JSON-объект. Ниже приведён сокращённый пример.
Поля ответа
Потоковая передача
Установите "stream": true. Ответ поступает событиями chat.completion.chunk и завершается строкой data: [DONE].
- Тип содержимого —
text/event-stream, без потоковой передачи —application/json. - Текст поступает в
choices[0].delta.content. Модели рассуждений сначала передают рассуждения вdelta.reasoning_content. - Ошибки до вызова модели возвращаются как обычные JSON-ошибки с HTTP-статусом, а не как события потока.
- Задайте явный тайм-аут и предусмотрите безопасное повторное подключение к потоку.
Устранение ошибок
Обзор HTTP-ошибок
Ошибки аутентификации, маршрутизации, ограничения частоты и неизвестной модели возвращаются до вызова модели в формате BeatAPI с полями error.code, error.message, retryable и request_id. Остальные ошибки сохраняют формат OpenAI SDK {"error": {"message", "type", "code"}}. Код находится в error.code, ID запроса — в конце message. См. ошибки.
Все коды и правила повторных запросов: ошибки.
Примечания
- MiniMax также доступна через OpenAI Responses и Anthropic Messages.
- Эта страница описывает текстовые модели MiniMax. Видеомодели MiniMax H3 используют Video API.
- В наблюдавшихся вызовах
MiniMax-M3.1-Flashнастройкаreasoning_effortотlowдоhighприводила к генерации токенов рассуждений. Они оплачиваются как выходные, поэтому оставляйте вmax_tokensзапас и для рассуждений, и для ответа. - Чтобы передать изображение в
MiniMax-M3.1-Flash, включите его как base64 data URL в часть содержимогоimage_url. - Храните ключ только на доверенном сервере и записывайте ID запроса из ответа. Повторяйте запросы только при ошибках
429,500и503.
Аутентификация
Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.
Запрос
Точный идентификатор модели.
Каждый ID обозначает отдельную модель, а не псевдоним другой.
Вызовите GET /v1/models со своим ключом, чтобы узнать, какие модели ему доступны.
Регистр ID имеет значение: передавайте MiniMax-M3 и MiniMax-M3.1-Flash точно в таком написании, а не строчными буквами.
MiniMax-M3, MiniMax-M3.1-Flash
История диалога от самого раннего сообщения к последнему. Каждое сообщение содержит role (system, user, assistant или tool) и content.
Максимальное число генерируемых токенов, включая рассуждения.
Шлюз не сверяет это значение с максимальным объёмом вывода модели в таблице выше. Не превышайте указанный предел.
max_tokens также используется для оценки необходимого баланса. Слишком высокое значение может привести к 402 insufficient_credits, даже если фактический ответ короткий. Указывайте значение по потребности.
Модели рассуждений сначала генерируют рассуждения. При слишком низком max_tokens весь лимит может уйти на них: content останется пустым, а finish_reason будет равен length. Оставляйте запас и для рассуждений, и для ответа; при length увеличьте лимит.
Возвращает ответ в виде серверных событий SSE. См. раздел о потоковой передаче.
Температура семплирования. Меняйте либо этот параметр, либо top_p, но не оба сразу.
Порог суммарной вероятности для выборки (nucleus sampling).
Одна или несколько последовательностей, останавливающих генерацию.
Определения функций, которые модель может вызвать. Модель запрашивает вызовы через tool_calls. Передайте каждый результат в следующем сообщении tool с соответствующим tool_call_id.
Разрешает, требует или запрещает вызовы инструментов. Проверьте нужные значения с выбранной моделью.
Ответ
Без потоковой передачи вызов возвращает один JSON-объект. Ниже приведён сокращённый пример.
Идентификатор сгенерированного ответа. Сохраняйте его вместе с ID запроса для обращения в поддержку и сверки начислений.
Модель, сформировавшая ответ.
Количество токенов. Оплата рассчитывается по фактическому использованию.

