Как вызывать Gemini API через OpenAI SDK: настройка base_url, имени модели и цены Gemini 3.5 Flash
14 июня 2026 г. · 10 мин чтения · Claude / GPT / Gemini

Документация Google по совместимости с OpenAI была обновлена 2026-05-18 и прямо указывает: модели Gemini можно вызывать через OpenAI Python / JavaScript SDK, изменив всего три ключевых параметра: api_key, base_url, model (Google). Сегодня 2026-06-14, и на странице цен для стандартного платного уровня gemini-3.5-flash указано: ввод — $1.50 / 100 万 token, вывод с учетом thinking-токенов — $9.00 / 100 万 token (Google Pricing).
Моя оценка проста: если у вас уже есть проект на OpenAI SDK, сначала не переписывайте его. Сначала подключите Gemini как OpenAI-compatible backend, проверьте стоимость, стриминг и вызов инструментов, а уже потом решайте, стоит ли мигрировать на нативный Gemini SDK.

1. Минимальные изменения: заменить только endpoint и имя модели
Сначала установите официальный OpenAI SDK для Python:
pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"
Затем измените клиент так:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
reasoning_effort="low",
messages=[
{"role": "system", "content": "你是一个直接、准确的代码助手。"},
{"role": "user", "content": "用三句话解释 SSE 流式输出。"},
],
)
print(resp.choices[0].message.content)
chat.completions.create, messages, tools и похожие структуры по-прежнему остаются в стиле OpenAI Chat Completions; собственная справка OpenAI API также определяет Chat Completions как интерфейс, который генерирует ответ на основе списка сообщений (OpenAI). Поэтому главный фокус миграции — не бизнес-код, а конфигурационный слой.
2. Не забудьте последний слэш в base_url
Адрес в документации Google выглядит так:
https://generativelanguage.googleapis.com/v1beta/openai/
Если не поставить последний /, у некоторых клиентов при склейке путей могут возникать странные проблемы. В продакшен-коде лучше вынести это в переменные окружения:
OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"
Если вы хотите не переключаться между аккаунтами, лимитами и счетами разных провайдеров, onehop — более простой путь: замените base_url на https://api.onehop.ai/v1 и вызывайте Claude, GPT, Gemini через единый набор OpenAI / Anthropic-совместимых интерфейсов. Новым аккаунтам дают $10, привязка карты не требуется; удобно сначала сделать PoC, а затем решить, подключаться ли напрямую к официальному API.
from openai import OpenAI
client = OpenAI(
api_key="你的 onehop key",
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "给我一个 FastAPI 健康检查接口"}],
)
print(resp.choices[0].message.content)
Вход здесь: вызывать Claude и другие модели через onehop, получить $10 пробного баланса сразу после регистрации.
3. Сначала считайте цену по output-токенам
Стандартный уровень gemini-3.5-flash — это не «настолько дешево, что можно не следить». Цена вывода в 6 раз выше цены ввода:
| Модель | Уровень | Ввод / 1 млн token | Вывод / 1 млн token |
|---|---|---|---|
gemini-3.5-flash |
Стандартный | $1.50 |
$9.00 |
gemini-3.5-flash |
Пакетный | $0.75 |
$4.50 |
gemini-3.5-flash |
Flex | $0.75 |
$4.50 |
Цифры для пакетного режима и Flex взяты с той же страницы цен Google. При разработке приложения нужно ограничивать max_completion_tokens, особенно для суммаризации, генерации кода и циклов инструментов в Agent. Длинный ввод еще можно кэшировать, а неконтролируемый вывод — это прямые расходы.

4. Как сопоставляется reasoning_effort
Совместимый слой Google принимает OpenAI-стиль reasoning_effort и сопоставляет его с конфигурацией thinking в Gemini (Google):
reasoning_effort |
Gemini 3 Flash thinking_level |
|---|---|
minimal |
minimal |
low |
low |
medium |
medium |
high |
high |
Если параметр не передавать, используется значение модели по умолчанию. В документации Google также указано важное ограничение: в Gemini 3 нельзя отключить thinking; none применим только к некоторым моделям 2.5. Моя рекомендация для продакшена — по умолчанию ставить low и повышать до medium или high только для сложного планирования и длинных цепочек вызова инструментов. Поскольку цена вывода включает thinking-токены, интенсивность рассуждений — не бесплатный переключатель.
5. Стриминг и function calling: работает, но нужно учитывать пустые chunk
Стриминговый вызов остается в стиле OpenAI SDK:
stream = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "写一个 Redis 缓存封装"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Здесь if delta очень полезен. В стриминговом ответе могут быть роль, вызов инструмента или пустая дельта, поэтому не стоит предполагать, что в каждом chunk есть текст.
Function calling также идет через tools и tool_choice="auto". В совместимой документации Google приведен пример функции погоды и подтверждено, что Gemini API поддерживает function calling (Google). В реальном проекте не ограничивайтесь печатью ответа модели; нужно проверять message.tool_calls, выполнять локальную функцию, а затем передавать результат инструмента обратно модели как сообщение следующего раунда.
Вывод: минимальная стоимость миграции на Gemini — это три строки конфигурации; по-настоящему следить нужно за output-токенами, уровнем thinking, пустыми chunk в стриминге и замкнутым циклом вызова инструментов. Если вы просто хотите быстро поместить Claude, GPT и Gemini в один проект на OpenAI SDK, единый вход onehop сэкономит немало времени на конфигурации: вызывать Claude и другие модели через onehop или сначала получить $10 пробного баланса сразу после регистрации.
Похожие материалы

Используйте Groq GPT-OSS 120B с OpenAI SDK: базовый URL, цены и кэширование
Замените base URL в OpenAI SDK, запускайте GPT-OSS 120B на Groq, оценивайте стоимость кэшированных токенов и избегайте сюрпризов с оплатой инструментов.
17 июня 2026 г. · 26 мин чтения

Вызов Gemini API через OpenAI SDK: руководство по миграции с заменой только base_url, API Key и имени модели
Чек-лист миграции на совместимый интерфейс Gemini для проектов на OpenAI SDK: код, сопоставление параметров и цены.
14 июня 2026 г. · 9 мин чтения

Вызов Gemini API через OpenAI SDK: руководство по подключению с изменением только base_url, key и имени модели
Подключение Gemini к существующему коду на OpenAI SDK: минимально нужно изменить всего три настройки.
14 июня 2026 г. · 9 мин чтения