Batch API позволяет отправить набор запросов на генерацию и получить результаты в течение 24 часов со скидкой 50%. Подходит для задач, где мгновенный ответ не нужен: предобработки данных, оценок качества, массовой генерации текста.

Через ProxyAPI поддерживается inline-режим: запросы передаются прямо в теле запроса на создание пакета, в формате generateContent. Поддерживаются только текстовые модели. Путь к API — https://api.proxyapi.ru/google, официальный SDK совместим.

  1. Создание пакета методом :batchGenerateContent с массивом запросов в теле.
  2. Опрос статуса по имени пакета, пока state не перейдёт в одно из завершающих состояний.
  3. Получение результатов — ответы приходят прямо в объекте пакета (inline), каждый соотносится с запросом по своему ключу.

# Создание пакета
curl "https://api.proxyapi.ru/google/v1beta/models/gemini-3.5-flash:batchGenerateContent" \
    -H "Authorization: Bearer <КЛЮЧ>" \
    -H "Content-Type: application/json" \
    -X POST \
    -d '{
        "batch": {
            "display_name": "my-batch",
            "input_config": {
                "requests": {
                    "requests": [
                        {"request": {"contents": [{"parts": [{"text": "Привет!"}]}]}, "metadata": {"key": "req-1"}},
                        {"request": {"contents": [{"parts": [{"text": "Как дела?"}]}]}, "metadata": {"key": "req-2"}}
                    ]
                }
            }
        }
    }'

# Проверка статуса (batch_id — имя из поля name ответа, без префикса batches/)
curl "https://api.proxyapi.ru/google/v1beta/batches/abc123" \
    -H "Authorization: Bearer <КЛЮЧ>"

# Отмена
curl "https://api.proxyapi.ru/google/v1beta/batches/abc123:cancel" \
    -H "Authorization: Bearer <КЛЮЧ>" \
    -X POST

Состояние пакета отражает поле state (в сыром ответе — metadata.state):

СтатусЗначение
JOB_STATE_PENDINGпакет создан и ожидает обработки
JOB_STATE_RUNNINGпакет обрабатывается
JOB_STATE_SUCCEEDEDуспешно завершён, результаты доступны
JOB_STATE_FAILEDпакет завершился с ошибкой
JOB_STATE_CANCELLEDпакет отменён пользователем
JOB_STATE_EXPIREDпакет не завершился за 48 часов; результатов нет

ОперацияМетод и путь
Создание пакетаPOST /google/v1beta/models/{model}:batchGenerateContent
Статус пакетаGET /google/v1beta/batches/{batch_id}
Отмена пакетаPOST /google/v1beta/batches/{batch_id}:cancel

batch_id — это значение поля name из ответа на создание (batches/abc123) без префикса batches/.

  • Только inline-режим (запросы в теле), суммарный размер — до 20 МБ на пакет. Загрузка файлов (File API) и режим файлового ввода недоступны.
  • Только текстовый generateContent. Модели эмбеддингов и генерации изображений в пакетном режиме недоступны.
  • Окно — 24 часа (целевое). Если пакет не завершился за 48 часов, он переходит в JOB_STATE_EXPIRED без результатов.
  • Результаты доступны ~48 часов с момента создания пакета — это самый короткий срок среди провайдеров, забирайте их вовремя.

  • Нет методов «список пакетов» и «удаление пакета». У Gemini они есть, но мы их не проксируем — доступны только создание, статус и отмена. Сохраняйте имя пакета на своей стороне.
  • Если запрос ссылается на модель без batch-тарифа (эмбеддинги, генерация изображений и т.п.), пакет отклоняется при создании — модель в пакете одна и задаётся в пути.

Списание происходит по завершении пакета, по фактическому использованию из успешных ответов, по batch-ставке (−50%). За завершившиеся ошибкой запросы плата не взимается. Подробнее — в разделе «Пакетная обработка (Batch API)» в Основах.

ProxyAPI Logo

Доступ к последним разработкам мировых лидеров в области AI для вашего проекта или бизнеса в России. Без VPN и блокировок. Оплата в рублях.

Accepted payment methods