altrouter.ai
ОСНОВНОЕ

Лимиты и кредиты

Как устроены баланс, списания и ограничения запросов — и как задать лимиты отдельным ключам.

Кредиты

Баланс аккаунта хранится в кредитах, 1 кредит = $1. Каждый запрос сначала резервирует верхнюю оценку стоимости (hold), затем списывает фактический расход. Текущий баланс — GET /v1/credits.

cURLJSON
curl https://api.altrouter.ai/v1/credits -H "Authorization: Bearer ar-..."

Пополнение — в разделе Кредиты кабинета (карты, СБП, крипта). При нулевом балансе запросы получают 402 insufficient_quota.

Rate limit

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

Лимит применяется к генерирующим эндпоинтам — /chat/completions и /images/generations. Справочные /models и /credits не лимитируются.

Каждый ответ генерирующего эндпоинта несёт заголовки x-ratelimit-limit и x-ratelimit-remaining. При превышении возвращается 429 с retry-after: 60 — столько секунд остаётся до конца окна в худшем случае.

Лимиты ключа

Для каждого ключа в кабинете можно задать собственный лимит запросов в минуту и потолок трат за период — day · week · month · total. Это ограничивает ущерб от утёкшего ключа и позволяет раздавать ключи командам с предсказуемым расходом.

Запрос по ключу, исчерпавшему свой потолок трат, получает 402 insufficient_quota с code: "spend_limit_exceeded" — то есть тот же статус, что и при нулевом балансе аккаунта, но с другим кодом.

i
Настраивается в разделе Ключи → выбранный ключ. Без заданного лимита ключ использует лимит аккаунта по умолчанию. Потолок трат проверяется перед запросом, а увеличивается после списания, поэтому пачка одновременных запросов может немного его перебрать — это мягкий предохранитель, а не жёсткая граница.
ДалееБезопасность ключей