ЦАРЬ РОУТЕР

Лимиты

Лимиты запросов API Царь Роутера: уровни, сетка по типам моделей, заголовки x-ratelimit-*, эндпоинт GET /v1/key

Как работают лимиты

Лимиты считаются на аккаунт целиком (по всем вашим ключам) и зависят от уровня. Запросы сверх лимита получают ответ 429.

Актуальные значения именно для вашего аккаунта всегда доступны без документации: на странице «Лимиты» в личном кабинете и через GET /v1/key.

Уровни

Лимиты зависят от уровня аккаунта. Уровень определяется суммой пополнений за всё время (пополнения минус возвраты; промокоды не учитываются) и повышается автоматически сразу после оплаты.

УровеньУсловиеОбщий лимит, запросов/мин
Tier 0Без пополнений120
Tier 1Любое успешное пополнение600
Tier 2Пополнения от 10 000 ₽1 200
Tier 3Пополнения от 50 000 ₽2 400

Нужны индивидуальные лимиты - напишите на support@tsarrouter.ru.

Сетка по типам моделей

Лимиты действуют на аккаунт целиком (по всем вашим ключам сразу), окно - 60 секунд. Общий лимит уровня распределяется по типам моделей:

Tier 0Tier 1Tier 2Tier 3
Текст2060120240
Эмбеддинг603006001 200
Реранкер603006001 200
Vision OCR123060120
Расшифровка речи (STT)603006001 200
Синтез речи (TTS)1206001 2002 400
Изображения3060120240
Детектор ИИ-текста3060120240
Классификатор123060120
Обработка изображений3060120240
Анализ тональности речи3060120240

Дополнительно:

Tier 0Tier 1Tier 2Tier 3
Бесплатные модели, запросов/мин20202020
Бесплатные модели, запросов/сутки (МСК)2001 0001 0001 000
Одновременные потоковые ответы52050100
GET /v1/models, запросов/мин6001 2001 2001 200
GET /v1/stats, запросов/мин30606060

Ответ 429 и заголовки

При превышении лимита API возвращает 429 в OpenAI-совместимом формате (rate_limit_error, см. список ошибок). Отклонённый запрос не тратит квоту. В 429 всегда есть честный Retry-After - секунды до освобождения окна.

Успешные и ошибочные ответы авторизованных эндпоинтов /v1/* несут заголовки самого ограничивающего действующего лимита:

x-ratelimit-limit-requests: 120
x-ratelimit-remaining-requests: 119
x-ratelimit-reset-requests: 60
  • limit - размер лимита, remaining - осталось в текущем окне, reset - секунды до сброса окна.
  • Заголовки приходят на все авторизованные /v1-ответы - как успешные, так и 429.
  • У потоковых ответов значения фиксируются в момент старта потока.

Рекомендуемая обработка: при 429 подождите Retry-After секунд и повторите запрос с экспоненциальной задержкой на случай повторного отказа.

GET /v1/key

Статус своего ключа: уровень, действующая сетка лимитов и бюджет ключа. Авторизация - тем же Bearer-ключом, чей статус запрашивается.

curl https://tsarrouter.ru/v1/key \
  -H "Authorization: Bearer $TSAR_API_KEY"
{
  "data": {
    "label": "my-key",
    "tier": 2,
    "expires_at": "2026-12-31T23:59:59Z",
    "available_rub": 376.55,
    "limits": {
      "total_rpm": 1200,
      "per_type_rpm": {"text": 120, "embedding": 600, "...": 0},
      "free_rpm": 20,
      "free_requests_per_day": 1000,
      "concurrent_streams": 50,
      "get_models_rpm": 1200,
      "get_stats_rpm": 60
    },
    "budget": {
      "type": "monthly",
      "amount_rub": 500.0,
      "spent_rub": 123.45,
      "remaining_rub": 376.55,
      "resets_at": "2026-08-01T00:00:00Z"
    }
  }
}
  • Если поддержка выдала ключу индивидуальный лимит, он приходит в limits.individual_rpm и отражается в самой сетке (total_rpm).
  • expires_at - когда ключ перестанет действовать; null - бессрочный. Отключённый или просроченный ключ статус не читает (403/401).
  • available_rub - сколько рублей доступно этому ключу. Ключ без бюджета видит баланс аккаунта; ключ с бюджетом - остаток своего бюджета, но не больше доступных средств аккаунта (бюджетный ключ может быть выдан подрядчику, поэтому сам баланс аккаунта ему не сообщается). Если баланс аккаунта меньше 1 ₽, поле отдаёт 0 - столько платных запросов и пройдёт.
  • У некоторых старых ключей available_rub может отдавать null.
  • Блокировки по деньгам (402): платные запросы - когда баланс аккаунта меньше 1 ₽ (бесплатные модели продолжают работать); любые запросы ключа, включая бесплатные, - когда израсходован весь его бюджет (spent_rub достиг amount_rub).
  • budget - денежный лимит самого ключа из личного кабинета (не баланс аккаунта). remaining_rub - остаток бюджета; resets_at - момент сброса счётчика для периодических бюджетов (daily - полночь UTC, weekly - понедельник, monthly - первое число месяца), null - без автосброса. У ключа без бюджета поля budget равны null, кроме spent_rub - накопленного расхода ключа (информационно).
  • Все метки времени - ISO 8601, UTC (Z).
  • Машиночитаемые русские названия типов из per_type_rpm отдаёт публичный GET /v1/model-types.
  • Полная сетка лимитов по всем уровням машиночитаемо - публичный GET /v1/limits (без авторизации); таблицы этой страницы рендерятся из него.

На этой странице

Редактировать на GitVerse