Лимиты и квоты
Лимиты RPM и конкурентности, квоты ключей, баланс аккаунта и ограничения размера запроса.
Шлюз применяет к каждому запросу несколько уровней ограничений, снаружи внутрь: скорость (RPM/конкурентность) → лимит расходов ключа → баланс аккаунта → размер тела запроса. Понимание того, какую ошибку даёт каждый уровень, — основа корректной логики повторов.
RPM и конкурентность
Лимиты запросов в минуту (RPM) и одновременных сессий настраиваются на уровне аккаунта. При превышении возвращается 429:
rpm_exceeded: слишком много запросов в минуту; в сообщении об ошибке указан лимит. Повторите с задержкой.concurrent_exceeded: слишком много запросов выполняется одновременно. Дождитесь завершения текущих запросов или снизьте конкурентность клиента.
Обратите внимание: запросы метаданных, такие как Модели, тоже учитываются в RPM — не опрашивайте их в цикле.
Лимиты расходов ключа
Каждому ключу можно задать лимит расходов в USD с опциональным сбросом раз в день/неделю/месяц. После исчерпания запросы возвращают 402 (key_quota_exhausted) до сброса или повышения лимита. Так каждой задаче или окружению выделяется собственный бюджет.
Баланс аккаунта
При недостатке средств возвращается 402 (balance_exhausted); после пополнения запросы возобновляются.
Тарификация постоплатная: стоимость запроса известна только после того, как источник сообщит число токенов, поэтому баланс может уйти в небольшой минус; долг погашается при следующем пополнении. Включите оповещения о низком балансе, чтобы задачи не натыкались на 402 неожиданно.
Размер запроса
- 413 (
body_too_large): тело запроса превышает лимит этого эндпоинта. Чат-эндпоинты допускают встроенные медиа; чисто текстовые (например, embeddings) имеют меньший лимит. Сожмите встроенные медиа или используйте эндпоинт, рассчитанный на большие объёмы. - 503 (
server_busy): суммарный объём тел запросов в обработке у шлюза достиг потолка — дело не в размере вашего запроса, шлюз временно перегружен. Повторите чуть позже.
Практические советы
- Повторяйте 429/502/503 с экспоненциальной задержкой; на 402 настройте оповещение, а не повтор — см. Обработку ошибок и повторы.
- Следите за частотой 429 и 402: первое значит снизить конкурентность или запросить повышение лимитов, второе — пополнить баланс или скорректировать бюджеты.
- Оставляйте щедрые таймауты для долгих и потоковых запросов, чтобы клиент не обрывал их раньше времени (см. Стриминг).
- Разделяйте ключи по задачам с отдельными лимитами — перерасход одной задачи не заденет остальные.