В этой статье
Если в конфигурации SDK вы увидели https://generativelanguage.googleapis.com/v1beta/openai/, это не адрес OpenAI API. Это базовый URL Google для OpenAI-совместимого слоя Gemini: клиент может отправлять запросы в знакомом формате OpenAI, но обработает их сервис Google и модели Gemini.
Документация Google показывает этот вариант подключения для Python, JavaScript и REST-запросов: OpenAI compatibility.
Если вместе с настройкой API вам нужен отдельный каталог сервисов для работы с зарубежными платформами, его можно открыть у Amber Market.
Как разобрать URL
https://generativelanguage.googleapis.com/v1beta/openai/
│ │ │ │
│ │ │ └─ совместимый маршрут
│ │ └──────── версия API и пространство OpenAI
│ └────────────────────────────────── домен Google Generative Language
└──────────────────────────────────────── защищённое соединение HTTPS
generativelanguage.googleapis.com — домен Google, через который доступен Gemini API. v1beta обозначает версию интерфейса, а openai здесь означает формат совместимости, а не владельца сервиса.
Этот адрес является базовым: библиотека или ваш код добавляет к нему путь метода. Например, запрос чата обращается к:
https://generativelanguage.googleapis.com/v1beta/openai/chat/completions
В том же слое предусмотрены маршруты вроде /models и /embeddings. Названия похожи на OpenAI API, но список моделей и обработка запроса относятся к Gemini.
Как использовать адрес с OpenAI-клиентом
В клиенте нужно указать три вещи: ключ Gemini, этот базовый URL и доступное имя модели Gemini. В Python это может выглядеть так:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="YOUR_GEMINI_MODEL",
messages=[
{"role": "user", "content": "Объясни простыми словами, что такое API"}
]
)
print(response.choices[0].message)
В JavaScript параметры называются apiKey и baseURL:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.GEMINI_API_KEY,
baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});
const response = await client.chat.completions.create({
model: "YOUR_GEMINI_MODEL",
messages: [
{ role: "user", content: "Объясни простыми словами, что такое API" },
],
});
console.log(response.choices[0].message);
YOUR_GEMINI_MODEL — это место для имени модели Gemini, доступной вашему ключу. Список можно проверить через маршрут /models.
Без SDK тот же принцип можно проверить через REST:
curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $GEMINI_API_KEY" \
-d '{
"model": "YOUR_GEMINI_MODEL",
"messages": [
{"role": "user", "content": "Объясни простыми словами, что такое API"}
]
}'
Секретный ключ должен оставаться на сервере. Не встраивайте его в JavaScript, который отправляется в браузер.
Какой ключ использовать
Для этого адреса нужен Gemini API key — ключ Google для доступа к Gemini API. Ключ OpenAI здесь не подходит. В примерах Google используется переменная GEMINI_API_KEY и заголовок Authorization: Bearer $GEMINI_API_KEY (пример OpenAI-совместимого вызова).
Собственный OpenAI API — отдельный сервис со своим базовым адресом и своим API key. Сам факт, что в обоих случаях можно использовать библиотеку openai, ничего не меняет: библиотека задаёт способ отправки запроса, а не провайдера и не выдаёт доступ к его API. Для ориентира можно сравнить этот режим с официальным quickstart OpenAI.
Где заканчивается совместимость
OpenAI-совместимость отвечает на практический вопрос: можно ли переиспользовать привычный клиент и схему запроса. Она не обещает полного совпадения API. Поэтому одного похожего имени метода недостаточно — поддерживаемую функцию нужно сверять с актуальной документацией Google.
Слой совместимости Gemini находится в beta, и его набор возможностей может быть уже, чем у прямого Gemini API. Например, Google отдельно указывает ограничение для некоторых операций пакетной обработки: загрузка и скачивание файлов через OpenAI-совместимый слой не поддерживаются. За возможностями, специфичными для Gemini, Google рекомендует обращаться к прямому Gemini API; различие между интеграциями описано в документации Partner and library integrations.
Отсюда следуют два простых сценария:
- Если приложение уже использует OpenAI SDK и нужен обычный запрос к модели Gemini, замените базовый URL, ключ и имя модели, а затем проверьте нужный вызов.
- Если нужна функция, которой нет в OpenAI-схеме, или возможность, специфичная для Gemini, используйте прямой Gemini API и официальный SDK Google.
Проверка через /models удобна как первый тест настройки, но результатом будет список моделей Gemini, а не моделей OpenAI. Успешный ответ от https://generativelanguage.googleapis.com/v1beta/openai/models подтверждает, что маршрут и ключ работают; он не превращает этот endpoint в OpenAI API.
Итак, generativelanguage.googleapis.com/v1beta/openai/ — это Google Gemini с OpenAI-подобным интерфейсом. Он помогает подключить Gemini к существующему коду, но не меняет провайдера, ключ или набор доступных возможностей. Для совместимого вызова используйте этот endpoint, а для полного набора функций Gemini выбирайте прямой Gemini API.
Источники
- OpenAI compatibilityGoogle AI for Developers
- Partner and library integrationsGoogle AI for Developers
- Developer quickstartOpenAI