Лимиты и тарифы
Лимиты применяются к ключу и берутся из твоего тарифа. Их четыре: частота, конкурентность, суточная квота и пожизненная квота изображений.
Четыре оси лимитов
- Частота (rpm) — сколько запросов в минуту принимает ключ.
- Конкурентность — сколько запросов может выполняться одновременно; стриминг держит слот до конца потока.
- Суточная квота — сколько запросов в сутки доступно на тарифе; окно сбрасывается каждые 24 часа.
- Пожизненная квота изображений — сколько картинок ключ может сгенерировать за всё время.
Числа по тарифам
| Лимит | Free | Pro |
|---|---|---|
| Запросов в минуту | 10 | 60 |
| Параллельных запросов | 1 | 10 |
| Запросов в сутки | без суточного лимита | 1 000 |
| Изображений за всё время | 50 | без лимита |
Что происходит при превышении
Запрос отклоняется с кодом 429 ещё до маршрутизации, поэтому отказ не тратит квоту. В теле — kind и, когда шлюз может его вычислить, retry_after_sec.
- rate_limited — упёрся в частоту или конкурентность. Подожди и повтори.
- quota_exceeded — исчерпана суточная или пожизненная квота. Повтор не поможет: дождись сброса или смени тариф.
{
"success": false,
"code": 429,
"data": null,
"error": {
"kind": "rate_limited",
"message": "rate limit exceeded (rpm)",
"retry_after_sec": 8
}
}Где смотреть расход
Страница «Статистика» в кабинете показывает запросы, изображения и ошибки за месяц и за всё время, а «Логи» — каждый вызов с латентностью и числом попыток. Оба разреза считаются по каждому ключу отдельно.
Как жить в пределах лимита
- Ставь свою очередь: на Free одновременный запрос ровно один, параллельные вызовы будут отбиты.
- Экспоненциальный бэкофф с джиттером убирает синхронные всплески после 429.
- Разводи окружения по разным ключам — тогда отладка не съедает квоту продакшена.
- Для изображений считай не запросы, а картинки: n > 1 расходует пожизненную квоту быстрее.