Перейти к навигации

Gemini Responses

Вызывайте Gemini 4 Argon, Gemini 3.8 Flash и Gemini 3.1 Pro через OpenAI Responses API с ключом BeatAPI.

  • Все актуальные модели Gemini доступны через POST /v1/responses. Для переключения меняйте model.
  • Потоковая передача и вызовы функций. gemini-4-argon также понимает изображения и длинные видео.
  • Совместимо с 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.

POST/v1/responsesПопробовать

Открывает эндпоинт в API Explorer. Если ввести ключ BeatAPI и отправить запрос, будет выполнен реальный вызов с оплатой из вашего баланса.

Модели

Передайте один из этих ID в model. Каждый ID обозначает отдельную модель; не считайте их псевдонимами друг друга.

ID моделиКонтекст (токены)Максимальный вывод (токены)НазначениеВвод, USD за миллион токеновВывод, USD за миллион токеновПримечания
gemini-4-argon—1 000 000Флагманская модель Google Gemini 4 с выводом до 1M токенов$1.00$5.00Понимает изображения и длинные видео. Вывод до 1 000 000 токенов. Требуется пополненный аккаунт: регистрационный бонус не применяется.
gemini-3.8-flash——Самая интеллектуальная модель Google Flash для длительной разработки ПО, автономных агентов и сложных корпоративных процессов$0.375$1.875Модель Flash для длительных задач разработки, агентов и сложных корпоративных процессов.
gemini-3.1-pro-preview1 048 57665 536Предварительная версия Gemini с упором на рассуждения для программирования с агентом и решения сложных задач$1.00$6.00Предварительная версия с упором на рассуждения для программирования с агентом и сложных задач. Контекст 1 048 576 токенов, вывод до 65 536 токенов.
  • Указаны базовые цены со скидкой. Не включены тарифы для длинного контекста, кэшированного ввода и записи в кэш. См. страницу цен.
  • — означает, что каталог не публикует это значение.

Старые ID этого семейства остаются доступны. См. старые модели.

Быстрый старт

Установите пакет openai на сервере и сохраните ключ в BEATAPI_API_KEY. Не помещайте ключ в код браузерного приложения. Свойство SDK output_text позволяет получить текст ответа без обхода блоков. Ниже показаны примеры запросов, а не записанные ответы модели.

Прочитайте ответ в output_text (или в частях output типа output_text), затем проверьте status и usage. Сам по себе HTTP 200 не означает, что ответ решает вашу задачу: проверяйте результат в приложении. Текстовые запросы возвращают ответ напрямую; опрашивать /v1/tasks для них не нужно.

curl --request POST \
--url https://direct.beatapi.io/v1/responses \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.8-flash",
"max_output_tokens": 2000,
"input": "Design a resilient webhook retry strategy for a payments API."
}'

Бесплатные версии

У этих моделей есть бесплатные версии. Они вызываются через тот же эндпоинт с отдельным ID, без платы за токены и с отдельными минутными лимитами. До первого пополнения баланса каждому аккаунту доступен один успешный запрос в минуту, после — до десяти. Стабильность не гарантируется: доступ может быть ограничен или прекращён в любой момент. См. бесплатные модели.

ID моделиПлатная версияЦена
gemini-3.8-flash-freegemini-3.8-flashБесплатно

gemini-3.8-flash-free

curl --request POST \
--url https://direct.beatapi.io/v1/responses \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.8-flash-free",
"input": "Say hello in one sentence."
}'

Эндпоинт и аутентификация

POST https://direct.beatapi.io/v1/responses

Authorization string Обязательно

Bearer <BEATAPI_API_KEY>. Ключ работает как с префиксом sk-, так и без него.

Параметры запроса

Поддерживаются стандартные поля OpenAI Responses. Совместимость формата запроса не означает поддержку всех параметров конкретной модели и встроенных инструментов сервиса. Проверьте возможности, от которых зависит ваше приложение.

model string Обязательно

Точный ID модели.

Допустимые значения: gemini-4-argon, gemini-3.8-flash, gemini-3.1-pro-preview

  • Каждый ID обозначает отдельную модель, а не псевдоним другой модели.
  • Вызовите GET /v1/models со своим ключом, чтобы проверить, какие модели ему доступны.
  • Прежние ID gemini-3.6-flash и gemini-3.7-flash продолжают работать и указаны в разделе Старые модели.

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-объект. Ниже приведён сокращённый пример.

{
"id": "resp_example",
"object": "response",
"model": "gemini-3.8-flash",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Retry with exponential backoff and jitter, and make every handler idempotent."
}
]
}
],
"usage": {
"input_tokens": 19,
"output_tokens": 16,
"total_tokens": 35
}
}

Поля ответа

ПолеТипОписание
idstringID ответа. Сохраняйте его вместе с ID запроса для обращений в поддержку и сверки расходов.
modelstringМодель, сформировавшая ответ.
statusstringcompleted означает, что ответ завершён.
output[]object[]Выходные элементы: message, reasoning и function_call. Свойство SDK output_text объединяет текстовые части ответа.
output[].content[].textstringТекст ответа из элемента message, в части типа output_text.
usageobjectКоличество токенов. Стоимость рассчитывается по фактическому использованию.

Потоковая передача

Установите "stream": true. Поток начинается с response.created, передаёт текст событиями response.output_text.delta и заканчивается response.completed.

  • Тип ответа — text/event-stream; без потоковой передачи — application/json.
  • Вызов функции поступает отдельным выходным элементом, а его аргументы передаются событиями response.function_call_arguments.delta.
  • Ошибка до вызова модели возвращается обычным JSON-ответом с HTTP-кодом, а не событием потока.
  • Явно задайте тайм-ауты и предусмотрите безопасное восстановление соединения при потоковой передаче.
event: response.created
data: {"type":"response.created","response":{"id":"resp_example","status":"in_progress"}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"Retry"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":" with backoff"}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_example","status":"completed"}}

Устранение ошибок

Ошибка или симптомПричинаРешение
Текст ответа пустой или обрезанМодель потратила весь лимит max_output_tokens на рассуждения.Увеличьте max_output_tokens, не превышая максимальный объём вывода модели.
Ошибка с упоминанием previous_response_id, conversation, prompt или context_managementЭти поля для сохранения состояния не поддерживаются.Удалите их и передавайте всю историю в input.
402 insufficient_creditsБаланс меньше оценочной стоимости запроса, часто из-за слишком большого max_output_tokens.Пополните баланс или уменьшите max_output_tokens.
403 forbiddenНа аккаунте только регистрационный бонус, а модель не входит в разрешённый список, либо она недоступна группе ключа.Пополните баланс, выберите бесплатную модель или используйте ключ с доступом к нужной модели.
404 not_foundНеизвестный ID модели либо модель недоступна этому ключу.Получите список доступных моделей через GET /v1/models.
429 rate_limit_exceededДостигнут лимит запросов аккаунта или бесплатной модели.Подождите время, указанное в Retry-After, затем повторите запрос.

Обзор HTTP-ошибок

Ошибки до вызова модели используют поля BeatAPI error.code, error.message, retryable и request_id. Остальные сохраняют формат OpenAI SDK {"error": {"message", "type", "code"}}. Код находится в error.code, ID запроса — в конце message. См. ошибки.

HTTP-статусКодыЧто делать
400bad_request, content_policy_violationИсправьте запрос или ввод. Не отправляйте его повторно без изменений.
401missing_api_key, invalid_api_keyПроверьте ключ. Не повторяйте запрос без исправления.
402insufficient_creditsПополните баланс или увеличьте лимит ключа. Слишком высокий max_tokens может вызвать эту ошибку.
403forbiddenПроверьте группу ключа, список разрешённых IP и доступность модели за бесплатные кредиты.
404not_foundНеизвестная модель. Проверьте активные модели через GET /v1/models.
429rate_limit_exceededПодождите согласно Retry-After или retry_after_seconds, затем повторите запрос с увеличивающимися интервалами.
500internal_error, temporary_errorПовторите запрос один-два раза с увеличивающимися интервалами.
503model_unavailable, upstream_timeout, temporary_errorПовторите запрос с увеличивающимися интервалами или выберите другую модель.

Все коды и правила повторных запросов: ошибки.

Примечания

  • Модели Gemini также доступны через Chat Completions, Anthropic Messages и нативный API Gemini.
  • Модели Gemini рассуждают по умолчанию, а токены рассуждений оплачиваются как выходные. Оставляйте в max_output_tokens запас и для рассуждений, и для ответа.
  • Кэшированный вход оплачивается дешевле: одна двадцатая цены входа у gemini-4-argon, одна десятая — у gemini-3.8-flash и gemini-3.1-pro-preview. Отдельной платы за хранение кэша нет. Проверяйте число кэшированных входных токенов в usage, а не предполагайте попадание в кэш. Если промпт gemini-3.1-pro-preview превышает 200 000 токенов, повышенный тариф применяется ко всему запросу; см. таблицу цен.
  • Храните ключи на доверенных серверах, записывайте ID запроса из ответа и повторяйте запросы только при ошибках 429, 500 и 503.

Аутентификация

AuthorizationBearer

Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.

Запрос

This endpoint expects an object.
modelenumОбязательный

Точный ID модели.

Каждый ID обозначает отдельную модель, а не псевдоним другой модели.

Вызовите GET /v1/models со своим ключом, чтобы проверить, какие модели ему доступны.

Прежние ID gemini-3.6-flash и gemini-3.7-flash продолжают работать и указаны в разделе Старые модели.

gemini-4-argon, gemini-3.8-flash, gemini-3.1-pro-preview

Допустимые значения:
inputstring or list of objectsОбязательный

Промпт: строка либо массив входных элементов, например сообщений, вызовов функций и их результатов.

Состояние диалога не сохраняется на сервере. previous_response_id, conversation, prompt и context_management не поддерживаются: при каждом обращении передавайте всю историю в input.

instructionsstringОпциональный

Системная инструкция, добавляемая перед input.

max_output_tokensintegerОпциональный

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

Шлюз не сравнивает указанное значение с максимальным объёмом вывода модели из таблицы выше. Не превышайте этот предел.

Значение также используется для оценки необходимого баланса. Слишком большое значение может привести к 402 insufficient_credits, даже если фактический ответ был бы коротким. Указывайте столько токенов, сколько требуется задаче.

Модель с рассуждениями сначала генерирует рассуждения. Если max_output_tokens слишком мал, весь лимит может быть потрачен на них, и текст ответа будет пустым или обрезанным. Оставляйте запас и для рассуждений, и для ответа. В таком случае увеличьте лимит.

streambooleanОпциональныйПо умолчанию false

Передавать ответ потоком событий SSE. См. раздел о потоковой передаче ниже.

temperaturedoubleОпциональный

Температура семплирования. Меняйте либо этот параметр, либо top_p, но не оба одновременно.

top_pdoubleОпциональный

Порог суммарной вероятности для выборки (nucleus sampling).

toolslist of objectsОпциональный

Функции-инструменты, которые может вызвать модель. Модель возвращает элемент function_call; передайте результат как входной элемент function_call_output с тем же call_id. Встроенные инструменты сервиса, например поиск в интернете или файлах, в этот список не входят.

tool_choicestring or map from strings to anyОпциональный

Разрешает, требует или запрещает вызовы инструментов. Проверьте нужное значение с выбранной моделью.

Ответ

Без потоковой передачи запрос возвращает один JSON-объект. Ниже приведён сокращённый пример.

idstringОпциональный

ID ответа. Сохраняйте его вместе с ID запроса для обращений в поддержку и сверки расходов.

modelstringОпциональный

Модель, сформировавшая ответ.

statusstringОпциональный

completed означает, что ответ завершён.

outputlist of objectsОпциональный

Выходные элементы: message, reasoning и function_call. Свойство SDK output_text объединяет текстовые части ответа.

usageobjectОпциональный

Количество токенов. Стоимость рассчитывается по фактическому использованию.

Ошибки

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error