Руководства по API18 min

Лимиты Gemini API: проверьте квоту проекта и исправьте 429

Узнайте реальные лимиты Gemini API для своего проекта и модели в AI Studio, рассчитайте безопасную нагрузку и отличите ошибку 429 квоты от ошибки 503 мощности.

Yingtu AI Editorial
Yingtu AI Editorial
YingTu Editorial
22 янв. 2026 г.
Обновлено 15 июл. 2026 г.
18 min
Лимиты Gemini API: проверьте квоту проекта и исправьте 429
yingtu.ai

Содержание

Заголовки не найдены

Ошибка 429 в Gemini API — не сигнал немедленно менять ключ, модель или тариф. Сначала установите, где выполнялся запрос, какому проекту он принадлежит, какая точная модель использовалась, какой счётчик мог исчерпаться и когда этот счётчик обновляется. Без этих пяти ответов вы ещё не знаете, какой лимит сработал.

Для Gemini Developer API применимые значения показывает страница лимитов Google AI Studio для конкретного Google Cloud project и конкретной строки модели. У приложения Gemini, Firebase AI Logic и Vertex AI другие точки учёта. Поэтому универсальная цифра «столько-то запросов Gemini в минуту» почти всегда слишком груба для решения инцидента.

Где выполняется работаГде искать действующие данныеЧто сделать первым
Gemini Developer APIСтрока точного проекта и модели в AI StudioНайти ограничивающий RPM, входной TPM, RPD, IPM, TPD, расход, Priority или Batch
Приложение GeminiНастройки → Ограничения использованияПроверить лимит функции и показанное время восстановления
Firebase AI LogicНастройка шлюза на пользователя и квота вышестоящего провайдераПроверить оба уровня: первым сработает меньший
Vertex AIDynamic Shared Quota либо Provisioned Throughput в Google CloudОтделить конкуренцию за общую мощность от купленной пропускной способности

Правило остановки: не вращайте API keys и не запускайте бесконечный цикл повторов. 429 RESOURCE_EXHAUSTED направляет к данным о квоте, частоте, суточном лимите или расходах. 503 UNAVAILABLE направляет к данным о временной перегрузке и доступной мощности сервиса. Обе ошибки иногда проходят со временем, но их причины и долговременные исправления различаются.

Сначала найдите строку своего проекта, а не универсальную таблицу

Официальная документация Gemini API описывает механику ограничений, а авторизованная AI Studio показывает значения, действующие для аккаунта. Публичная таблица может объяснить обозначения, но не знает фактический usage tier, состояние billing account, статус preview-модели и доступную мощность вашего проекта.

У Developer API обычно есть несколько независимых измерений:

  • RPM (requests per minute) считает вызовы. Большое число коротких запросов может первым исчерпать именно RPM;
  • input TPM (input tokens per minute) считает входные токены prompt и context. Несколько крупных запросов способны исчерпать TPM при свободном RPM;
  • RPD (requests per day) действует только там, где он указан в активной строке. По текущему правилу счётчик сбрасывается в полночь по Pacific Time;
  • отдельные строки модели или функции могут также содержать IPM для изображений и TPD для токенов в сутки.

Превышение любого применимого измерения способно вызвать отказ. У preview и experimental models ограничения могут быть строже. Поэтому в журнале инцидента сохраняйте полный model ID из запроса, а не только слова Flash или Pro.

Несколько ключей одного проекта не дают несколько квот

Лимиты Developer API применяются к Google Cloud project, а не к API key. Два ключа в одном проекте расходуют общий RPM, TPM и RPD. Дополнительный ключ полезен для ротации credentials, разделения сервисов и прав доступа, но не создаёт новую пропускную способность.

Не распределяйте запросы по проектам ради обхода квоты. Несколько проектов оправданы, когда они отражают реальные границы окружений, billing, безопасности или организаций. Тогда заранее определите маршрутизацию, учёт расходов, data policy и изоляцию отказов.

Если ограничение появилось как конкретное сообщение в интерфейсе AI Studio, а не как ответ API, используйте отдельную инструкцию по восстановлению после лимита Google AI Studio. Интерфейсная пауза и проектная API quota — разные задачи.

Условия уровней и расходов меняются

На 15 июля 2026 года публичная страница Google указывает такие условия квалификации:

УровеньОпубликованное условие на эту датуЧто всё равно нужно проверить
FreeАктивный проект или состояние free trialКакие модели и значения открыты именно этому проекту
Tier 1Привязанный активный billing accountКакой уровень и строки появились после активации billing
Tier 2Оплачено не менее 100 долларов и прошло не менее 3 дней с первого успешного платежаСостояние аккаунта и уровень, показанный Google
Tier 3Оплачено не менее 1 000 долларов и прошло не менее 30 дней с первого успешного платежаСостояние аккаунта и уровень, показанный Google

Та же страница сейчас описывает admission limit по расходам в скользящем десятиминутном окне: 10 долларов для Tier 1 и 200 долларов для Tier 2 и Tier 3. Эти суммы, условия и применимость могут измениться. Перед нагрузочным тестом перепроверьте официальную страницу и авторизованный проект.

Подключение billing меняет право на уровень, но не отменяет RPM, input TPM, RPD, окно расходов, Batch и другие ограничения. Вопрос о том, какая модель доступна без оплаты, лучше решать в руководстве по бесплатному уровню Gemini API, а не по старой строке из чужой статьи.

Разделите минутные, суточные и денежные окна

Запрос может укладываться в минутный лимит и всё равно быть отклонён суточным либо расходным ограничением. Кроме того, Standard, Priority и Batch — не три названия одной квоты, а разные serving paths, которые следует наблюдать отдельно.

Счётчик или режимЧто он ограничиваетКакие данные сохранитьТипичная ошибка планирования
RPMЧисло онлайн-вызовов в минутуВремена запросов и текущую строку RPMСчитать только средний RPS и не видеть burst
Input TPMОбъём входных токенов в минутуРаспределение размера input, а не только число вызововСчитать все prompts одинаковыми
RPDСуточное число запросов там, где лимит включёнТекущую строку RPD и сброс по Pacific TimeНадеяться исправить суточный предел коротким backoff
Окно расходовДопуск по расходам в соответствующем скользящем окнеBilling tier и актуальное официальное правилоПринимать его за месячный бюджет
PriorityОтдельную квоту приоритетной обработкиЗапрошенный tier и x-gemini-service-tier в ответеСчитать Priority безграничным запасом
BatchОтдельный асинхронный пулЧисло jobs, размеры файлов и queued tokensОтправлять срочную интерактивную работу в Batch

Документация Priority inference сейчас задаёт исходный Priority limit как 0,3 от соответствующего Standard limit модели и уровня. При нехватке Priority capacity запрос может обслуживаться как Standard, а не обязательно завершаться ошибкой. Если для SLO важен режим, записывайте возвращённый x-gemini-service-tier.

Batch полезен для несрочных задач, потому что его quota pool отделён от интерактивных вызовов. На 15 июля 2026 года Batch API перечисляет 100 одновременных batch requests, максимум 2 GB на входной файл, 20 GB file storage и зависящий от модели и уровня предел enqueued tokens. Это ограничения с датой проверки, а не вечные константы.

В хорошем нагрузочном профиле записаны точная модель и проект, p50/p95 входных токенов, burst factor, requested serving tier, p95 latency, суточный объём, риск расходов, доля retries и допустимость асинхронной обработки. Один target RPS не описывает такую нагрузку.

Рассчитайте рабочую нагрузку по текущим значениям

После чтения активной строки определите, какой минутный предел сработает первым:

Потолок запросов = min(активный RPM, активный input TPM ÷ среднее число входных токенов на запрос)

Это ориентир для расчёта, а не production target. Размер input меняется, трафик приходит всплесками, retries добавляют нагрузку, а реальная capacity может быть ниже опубликованной границы. Operational headroom выбирают по наблюдаемой вариативности и цене ошибки; Google не назначает одно универсальное значение запаса.

Пример с явно указанными допущениями

Допустим, AI Studio показывает 60 RPM и 120 000 input TPM, а наблюдаемый запрос в среднем содержит 4 000 входных токенов:

  1. RPM допускает 60 запросов в минуту;
  2. input TPM допускает 120 000 ÷ 4 000 = 30 запросов в минуту;
  3. меньшая цифра ограничивает поток, поэтому потолок до запаса равен 30 запросам в минуту;
  4. если команда сама выбирает для этого примера запас 20%, стартовая рабочая скорость равна 24 запросам в минуту, или 0,4 RPS;
  5. при измеренной p95 latency 2 секунды оценка steady-state concurrency равна 0,4 × 2 = 0,8. Начать можно с concurrency 1, затем проверить очередь, burst и retry amplification.

Двадцать процентов здесь — инженерное допущение примера, не рекомендация Google. Неровному пользовательскому трафику может потребоваться больший запас, а плавной offline queue с контролируемым input — другой.

Минутного расчёта недостаточно. При 24 запросах в минуту непрерывный процесс попытался бы выполнить 34 560 запросов в сутки. Сравните это с активным RPD и отдельно проверьте окно расходов. Успешный десятиминутный тест не гарантирует возможность работать круглые сутки.

Для неодинаковых prompts используйте распределение, а не одно среднее:

ПоказательДля чего он нужен
Средний input tokensНачальная оценка стабильного режима
p95 input tokensПроверка, не исчерпывает ли обычный пик TPM
Максимально разрешённый inputЗащита от класса запросов, съедающего всю минуту
p95 latencyПеревод безопасного RPS в начальный concurrency cap
Retry rateИзмерение усиления трафика при частичных отказах
Cache hit rateПоиск повторяющегося контекста, который можно убрать из горячего пути

Пересчитывайте бюджет после смены модели, prompt template, размера context, tool use, traffic mix, уровня или serving path. Capacity planning — измеряемый цикл, а не разовое деление.

Разберите 429 и 503 по разным веткам

Официальная страница troubleshooting различает 429 RESOURCE_EXHAUSTED и 503 UNAVAILABLE. Для обеих ошибок может быть уместен ограниченный exponential backoff с jitter, но только после проверки ветки и безопасной повторяемости операции.

ОтветПервая гипотезаЧто проверитьПолезное действиеКогда остановиться
429 RESOURCE_EXHAUSTEDQuota, RPM/TPM/RPD, расход или другое admission limitПолное тело, headers, Retry-After, строку проекта/модели, недавнее usageПоставить в очередь, снизить rate или input, дождаться правильного окна либо использовать официальный quota pathНе повторять вслепую, пока неизвестны исчерпанный счётчик и reset
503 UNAVAILABLEВременная перегрузка, capacity или недоступность сервисаRequest ID, время с timezone, endpoint/region, модель и service statusОграниченный backoff, сглаживание трафика, поддерживаемый global endpoint, затем escalation с даннымиПосле retry budget или при устойчивом влиянии

429 после минутного burst может исчезнуть, когда окно сдвинется. 429 из-за RPD не исправит повтор каждые пять секунд. Расходное ограничение требует правильного rolling window или billing action. Устойчивый 503 может потребовать проверки статуса и другого capacity path даже при свободных проектных лимитах.

Повторы должны иметь бюджет и завершение

Production retry policy должна определить:

  • какие status codes повторяются, а какие завершают операцию;
  • безопасно ли повторять конкретное действие без двойного эффекта;
  • maximum attempts и общий elapsed-time budget;
  • exponential backoff с рандомизированным jitter;
  • использование Retry-After, если header присутствует;
  • queue или circuit breaker против синхронной retry storm;
  • отдельные метрики исходных вызовов и повторов;
  • пакет для escalation: request ID, model ID, endpoint, timestamp с timezone, response details и impact без API key.

Смена ключа не заменяет диагностику: quota принадлежит проекту. Она лишь затруднит восстановление последовательности credentials, services и запросов. Проекты также нельзя размножать как способ обхода лимита.

Устраняйте ограничитель, а не сообщение об ошибке

Самое короткое безопасное действие зависит от фактически исчерпанного измерения:

ОграничениеБыстрая мераДолговременное решениеПлохой короткий путь
RPMСгладить burst, ограничить concurrency, поставить calls в queueAdmission control и budgets по workloadБольше keys в том же project
Input TPMУкоротить context, убрать повторения, уменьшить пакетКэшировать стабильный prefix, отделить крупные jobsСчитать calls без tokens
RPDУбрать необязательные calls и дождаться Pacific reset, если применимоПрогнозировать суточный volume и оценить подходящий tierTight retry loop
Spend windowСнизить допускаемый поток и дождаться rolling windowAlerts и cost-aware admissionСчитать billing отменой лимитов
PriorityНаблюдать фактически возвращённый tier и решить, допустим ли StandardОставить Priority для latency-sensitive jobs и измерять отдельноСчитать Priority универсальным запасом
Batch tokens/jobsРазнести submissions по времени и уменьшить jobПостроить asynchronous scheduler по текущему контракту BatchОтправлять interactive work в Batch
503 capacityОграниченный backoff и traffic smoothingGlobal routing, capacity planning либо Provisioned Throughput, где уместноИскать project quota без capacity evidence

Кэш помогает при большом стабильном prefix. Очередь помогает, когда работа может ждать. Batch помогает, когда ответ не нужен немедленно. Смена модели оправдана только если новая модель доступна сейчас, удовлетворяет требованиям качества и её активная строка улучшает именно ограничивающее измерение. Название устаревшей модели из старой таблицы не является fallback plan.

Запрос на повышение лимита полезнее, если содержит текущий project и model, распределение traffic, исчерпанное измерение, прогноз роста, уже введённые меры и business impact. Формулировка «нужно больше RPM» без этих данных почти ничего не объясняет.

Не смешивайте Developer API, приложение, Firebase и Vertex

Слово Gemini используется в нескольких продуктах, но их limits не переносятся друг на друга.

Приложение Gemini использует лимит потребительского аккаунта

Ограничение приложения зависит от модели или функции, сложности prompt, файлов и длины диалога. На 15 июля 2026 года Gemini Apps Help сообщает об обновлении доступного объёма каждые пять часов до достижения недельного лимита; конкретное время и текущий остаток показывает Настройки → Ограничения использования. Значения могут меняться вместе с capacity.

Подписка на приложение не увеличивает автоматически RPM, TPM или RPD проекта Developer API. Consumer subscription и billed API project решают разные задачи.

Firebase AI Logic добавляет ещё один уровень

Firebase AI Logic может применять per-user gateway limit перед квотой выбранного model provider. На 15 июля 2026 года Firebase документирует значение по умолчанию 100 RPM на пользователя. Вышестоящий project/model limit Gemini продолжает действовать.

Фактический потолок равен меньшему из применимых уровней. Если заблокирован один пользователь при нормальном project usage, проверьте Firebase gateway. Если одновременно падают многие пользователи и исчерпана строка Gemini project, изменение только gateway limit не поможет.

Vertex AI использует собственную модель мощности

Для более новых Gemini models в Vertex AI PayGo Google Cloud описывает Dynamic Shared Quota, а не фиксированную универсальную квоту проекта. Vertex 429 может означать конкуренцию в shared pool. Traffic smoothing, подходящий global endpoint, ограниченные retries и Provisioned Throughput относятся к этой ветке.

Не вставляйте RPM/RPD Developer API в Vertex plan. Если нужна предсказуемая enterprise throughput, сравните наблюдаемое поведение PayGo с Provisioned Throughput.

Image-generation workloads имеют свои IPM, consumer image limits и Vertex capacity. Для них используйте руководство по лимитам генерации изображений Gemini, не расширяя общий API guide до отдельной графической задачи.

Зафиксируйте ограничения до запуска

Перед production rollout создайте короткую запись, которая отвечает на вопросы:

  • через какую поверхность идёт traffic: Developer API, приложение, Firebase или Vertex;
  • какой project, billing account, consumer account или Firebase project является владельцем;
  • какой точный model ID и status используются;
  • какие RPM, input TPM, RPD, IPM, TPD, spend, Batch или Priority применимы;
  • когда окно сбрасывается или сдвигается и где команда перепроверяет значение;
  • каковы p50/p95 input tokens, p95 latency, burst factor, daily volume и retry rate;
  • какие queue, concurrency cap, token budget и shed rule удерживают поток ниже target;
  • разделены ли 429 и 503 в metrics и есть ли у каждой ветки stop rule;
  • отдельно ли наблюдаются Standard, Priority и Batch;
  • можно ли собрать request IDs, timestamps, model, project, response и impact без credentials.

Тестируйте с production-like input sizes, а не только с hello. Проверьте короткий burst и длительный интервал. Убедитесь, что retries видны как дополнительная нагрузка. Ставьте alerts ниже выбранной рабочей границы, а не ровно на опубликованный потолок.

Полезный dashboard — не стена чисел по моделям. Он должен быстро показать, какой путь выполнял запрос, какой счётчик исчерпался, что изменилось и какое действие остаётся безопасным.

Часто задаваемые вопросы

Лимиты Gemini API считаются на API key?

Нет. Для Developer API они применяются к Google Cloud project. Несколько keys одного project используют общий quota pool.

Есть ли у Gemini API суточный лимит?

В некоторых активных строках есть RPD или TPD, но универсального суточного числа нет. Когда RPD включён, текущее правило сбрасывает его в полночь Pacific Time.

Почему платный проект всё ещё получает 429?

Billing меняет право на usage tier, но проект всё ещё может исчерпать RPM, input TPM, RPD, spend window, Batch или другое admission limit. 429 требует найти измерение, а не доказывает неисправность оплаты.

Сколько ждать после 429?

Зависит от окна. Соблюдайте Retry-After, если он есть, и сопоставьте error body с активной строкой. Короткое ожидание может помочь minute pressure, но не сбрасывает RPD.

Batch API использует отдельную квоту?

Да. У Batch отдельный pool, собственные limits для concurrent jobs, input file, storage и queued tokens. Перед production scheduling проверьте актуальную документацию.

Подписка Gemini увеличивает лимиты API?

Не следует так считать. Лимиты приложения принадлежат consumer account, а Developer API — Cloud project, model, tier и активной строке AI Studio.

Лимиты Vertex AI совпадают с Developer API?

Нет. Новые Gemini workloads в Vertex AI PayGo используют Dynamic Shared Quota, а Provisioned Throughput — купленная capacity. Диагностируйте Vertex по Google Cloud evidence.

Можно ли увеличить capacity несколькими проектами?

Проекты могут иметь отдельные limits только при реальных границах среды, billing, безопасности или организации. Создавать или менять проекты ради обхода квоты нельзя.

Что отправить в поддержку?

Укажите поверхность продукта, безопасный project identifier, точный model, endpoint или region, timestamp с timezone, request ID, полный error code и details, активную строку limit, недавний traffic и token distribution, retry behavior и impact. Никогда не отправляйте API key.

Теги

Поделиться статьей

XTelegram