Введение
OpenAI-совместимый чат для Gemini 3.7 Flash. Окно чтения на 1 048 576 токенов, три ступени усилия рассуждения, 128 описаний инструментов и вывод JSON в одном синхронном вызове, а при желании — потоковая выдача по SSE.
Gemini 3.7 Flash — быстрая модель Flash от Google для повседневной работы с кодом, вызовов инструментов агентами и надёжного многошагового выполнения; здесь она опубликована как один OpenAI-совместимый чат-эндпоинт. Один запрос читает до 1 048 576 токенов и отвечает не длиннее 65 536, усилие рассуждения переключается от хода к ходу между low, medium и high, а вызовы инструментов и вывод JSON записаны по-опенаевски.
Ключевые возможности и особенности
Достаточно быстрый, чтобы жить внутри цикла
Агент, который планирует, вызывает инструмент, читает результат и снова решает, тратит большую часть реального времени на ожидание модели. Именно под такую работу эта модель и сделана — повседневный код, работа с инструментами, многошаговое выполнение, — поэтому цикл закрывается быстро, а не застревает на каждом шаге.
Три ступени, выбираются на каждом ходу
low, medium и high, по умолчанию medium. Это одна строка в том же теле запроса: рутинный шаг идёт на low, а шаг, который должен попасть в цель, поднимается до high. Ступени minimal у этой модели нет: её отклоняет сам API Google, и этот эндпоинт тоже отклоняет её, а не подменяет молча другим значением.
1 048 576 токенов в одном запросе
Целый модуль вместе с тестами, длинный журнал агента со всеми результатами инструментов на месте или пачка документов, прочитанная за один проход. Потолок считает вместе системное сообщение, историю и вывод инструментов: бюджет принадлежит всей ветке, а не последнему сообщению.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
messages | Да | Упорядоченные реплики, старые первыми. Содержимое — строка или массив частей text, |
max_tokens | Нет | Ограничивает ответ значением 65 536, по умолчанию 16 384. |
reasoning_effort | Нет | minimal, low, medium или high; по умолчанию medium. Обычные шаги прекрасно идут на low, а тот шаг, который должен попасть в цель, поднимается до high отдельно. |
stop | Нет | До 4 последовательностей — строкой или массивом. Ответ обрывается, как только модель пишет одну из них, а совпавший текст не возвращается. Не менее 1 символов · Не менее 1 элементов · Не более 4 элементов |
seed | Нет | Любое целое число. |
temperature | Нет | От 0 до 2, по умолчанию 1. Google советует оставлять модели Gemini 3 на 1,0: при меньших значениях генерация может зациклиться или просесть по качеству. |
top_p | Нет | От 0,01 до 1. Меняйте его либо temperature, но не оба сразу в одном сравнении. |
tools | Нет | До 128 описаний функций в одном запросе. Не более 128 элементов |
tool_choice | Нет | auto, none, required или объект с именем конкретной функции. |
response_format | Нет | Просите объект JSON и называйте каждый ключ в системном сообщении — так результаты извлечения возвращаются разбираемыми. |
Стоимость
Ввод $0.675 / Вывод $3.375 за 1 млн токенов
Сценарии использования
Повседневная работа с кодом
Прочитать диф и сказать, что он меняет; написать недостающий тест; превратить трассировку стека в правку. Это короткие и частые запросы, где время до первого токена прямо решает, станут ли инструментом пользоваться вообще.
Циклы вызова инструментов агентом
До 128 описаний функций на запрос, плюс tool_choice, чтобы навязать конкретный вызов или запретить любой. Вызовы инструментов возвращаются в форме OpenAI, поэтому готовой среде агента нужен только другой идентификатор модели.
Многошаговое выполнение в длинной ветке
Агент, уже вызвавший шесть инструментов, несёт все шесть результатов в следующий запрос. Окно на 1 048 576 токенов держит эту ветку целой вместо того, чтобы на полпути навязывать шаг с пересказом.
Структурированное извлечение в объёме
Просите объект JSON через response_format, называйте каждый ключ в системном сообщении. Строки журнала в поля, обращения в метки, свободный текст в схему: цена одного вызова и решает, стоит ли эту работу запускать.
Руководство по промптам и практические советы
Сначала оставьте место размышлению, потом ограничивайте ответ
На усилии medium по умолчанию модель думает прежде, чем писать, и это размышление берётся из того же бюджета max_tokens, что и ответ. Тесный потолок уходит на обдумывание и возвращает пустую строку. Дайте max_tokens настоящий запас — для ответа по коду это несколько тысяч — или опустите reasoning_effort до low, когда нужен короткий ответ без обдумывания.
Меняйте усилие по ходу, а не по интеграции
Рутинные шаги цикла гоняйте на low, чтобы первый токен приходил раньше, а шаг, который должен попасть в цель, отправляйте на high. Тот же эндпоинт, то же тело, разница в одной строке.
Ограничения, которые нужно учесть
reasoning_effort принимает только low, medium и high. API Google отклоняет minimal на этой модели, поэтому и этот эндпоинт отклоняет его, а не подменяет молча чем-то другим. Предел ответа — 65 536 токенов, и max_tokens сверх него сразу не проходит проверку. Содержимое сообщений — текст, изображения и видео, части со звуком отклоняются. Видео отправляется как загруженный файл, а видео в одном запросе может занимать в сумме до 14 MB.
Быстрый старт 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": "google/gemini-3.7-flash/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.












