IskraGen

Rate Limits

Лимиты запросов к API

Текущие лимиты

  • 60 запросов в минуту с одного IP-адреса. Лимит хранится в Redis; несколько API-ключей с одного адреса и клиенты за одним NAT делят его между собой.
  • POST /v1/auth/magic-link/request — 10 запросов в минуту с одного IP-адреса.
  • POST /v1/files — 20 запросов в минуту с одного IP-адреса.
  • GET /v1/billing/invoices/:id/pdf и GET /v1/billing/invoices/:id/act — 30 запросов в минуту с одного IP-адреса.
  • POST /v1/billing/topup — 5 запросов за 600 секунд на пользователя.
  • 5 одновременных активных задач генерации (PENDING + PROCESSING) на пользователя.

Лимит сейчас считается по IP-адресу, а не по API-ключу. Модель лимита пересматривается — следите за changelog.

Заголовки ответа

На каждом ответе, включая 200 и 429, API возвращает заголовки действующего для роута лимита:

x-ratelimit-limit: 60
x-ratelimit-remaining: 23
x-ratelimit-reset: 42

x-ratelimit-reset — число секунд до сброса окна. При превышении лимита запросов ответ 429 Too Many Requests дополнительно содержит retry-after в секундах. Тело использует стандартный конверт ошибки с code: "RATE_LIMIT_ERROR" и details.retryAfter — числом секунд до повтора.

Лимит одновременных генераций работает иначе: API возвращает 429 с code: "RATE_LIMIT_ERROR" и сообщением Maximum 5 concurrent generations allowed, но без details.retryAfter и без retry-after. Дождитесь завершения одной из своих задач.

Стратегия повторов

Используйте экспоненциальную задержку с jitter: 1s → 2s → 4s → 8s. После 5 попыток — стоп.

См. также: Errors.

Rate Limits · IskraGen Docs — IskraGen