Hunyuan Chat Completions
Вызывайте Hunyuan HY4 Preview и HY3 через единый метод OpenAI Chat Completions с ключом BeatAPI.
- Все актуальные модели Hunyuan доступны через
POST /v1/chat/completions. Для переключения меняйтеmodel. - Потоковая передача и вызовы функций. У
hy3есть ежедневный период повышенных тарифов; см. раздел о тарифах в зависимости от времени суток ниже. - Совместимо с 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
Обязательно
Точный идентификатор модели.
Допустимые значения: hy4-preview, hy3
- Каждый ID обозначает отдельную модель, а не псевдоним другой.
- Вызовите
GET /v1/modelsсо своим ключом, чтобы узнать, какие модели ему доступны.
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
Необязательно
Разрешает, требует или запрещает вызовы инструментов. Проверьте нужные значения с выбранной моделью.
Тарифы в зависимости от времени суток
hy4-preview оплачивается по одному тарифу в любое время суток и день недели.
У hy3 есть ежедневный пиковый период. Все тарифы умножаются на 1.6x с 08:00 до 24:00 по пекинскому времени (GMT+8), каждый день недели: на вход, кэшированный вход и выход. С 00:00 до 08:00 действует непиковый тариф из таблицы моделей выше и таблицы цен.
Ответ
Без потоковой передачи вызов возвращает один 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. См. ошибки.
Все коды и правила повторных запросов: ошибки.
Примечания
- Модели Hunyuan также доступны через OpenAI Responses и Anthropic Messages.
- Храните ключ только на доверенном сервере и записывайте ID запроса из ответа. Повторяйте запросы только при ошибках
429,500и503.
Аутентификация
Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.
Запрос
Точный идентификатор модели.
Каждый ID обозначает отдельную модель, а не псевдоним другой.
Вызовите GET /v1/models со своим ключом, чтобы узнать, какие модели ему доступны.
hy4-preview, hy3
История диалога от самого раннего сообщения к последнему. Каждое сообщение содержит 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 запроса для обращения в поддержку и сверки начислений.
Модель, сформировавшая ответ.
Количество токенов. Оплата рассчитывается по фактическому использованию.

