Формат Google Gemini устроен иначе, чем формат OpenAI: имя модели передаётся в адресе, а не в теле запроса. Поэтому для него выделен отдельный базовый путь — /v1beta.

Адрес собирается из имени модели и метода: POST /v1beta/models/gemini-2.5-flash:generateContent. Текст запроса передаётся в поле contents.

Официальные библиотеки Google дописывают путь /v1beta/models/… сами, поэтому в качестве базового адреса им указывается https://api.proxyapi.ru.

curl "https://api.proxyapi.ru/v1beta/models/gemini-2.5-flash:generateContent" \
    -H "Content-Type: application/json" \
    -H "x-goog-api-key: <КЛЮЧ>" \
    -d '{
        "contents": [
            {"parts": [{"text": "Назови столицу Австралии."}]}
        ]
    }'

Ключ передаётся заголовком x-goog-api-key или параметром ?key= — так его отправляют официальные библиотеки Google. Заголовок Authorization тоже работает.

Потоковый вариант того же метода — :streamGenerateContent с параметром alt=sse в строке запроса.

Текст лежит в первом элементе массива candidates, внутри content.parts:

{
    "candidates": [
        {
            "content": {
                "role": "model",
                "parts": [
                    {"text": "Канберра."}
                ]
            },
            "finishReason": "STOP"
        }
    ],
    "usageMetadata": {
        "promptTokenCount": 8,
        "candidatesTokenCount": 4,
        "totalTokenCount": 12
    }
}

В официальных библиотеках разбирать массив вручную не нужно — готовый текст лежит в поле text.

Метод :countTokens считает, сколько токенов займёт запрос, не выполняя его: POST /v1beta/models/gemini-2.5-flash:countTokens.

GET /v1beta/models возвращает список в формате Google. Отвечает на него сам Google, поэтому в списке только модели Google — полный каталог отдаёт /v1/models.

  • Единый API — базовый формат запроса и ответа.
  • Модели — как устроены идентификаторы и что доступно.

Частые вопросы

Подойдёт ли официальная библиотека Google?

Да. Достаточно указать базовый адрес https://api.proxyapi.ru и ключ ProxyAPI — путь /v1beta/models библиотека дописывает сама.

Как передать ключ в этом формате?

Заголовком x-goog-api-key или параметром key в строке запроса — именно так его отправляют библиотеки Google. Заголовок Authorization тоже принимается.

Можно ли на /v1beta обратиться к модели другого вендора?

Нет. Этот путь принимает короткое имя модели Google. Для моделей других вендоров используйте /v1 — chat/completions, responses или messages.

Последняя редакция: 2 сентября 2026 г.