ЦАРЬ РОУТЕР

Лимиты

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

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

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

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

Уровни

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

УровеньУсловиеОбщий лимит, запросов/мин
Tier 0Без пополнений120
Tier 1Пополнения от 1 000 ₽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
Потоковая расшифровка речи5102040

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

Tier 0Tier 1Tier 2Tier 3
Бесплатные модели, запросов/мин20202020
Бесплатные модели, запросов/сутки (МСК)2501 0001 0001 000
Одновременные потоковые ответы52050100
GET /v1/models, запросов/мин6001 2001 2001 200
GET /v1/stats, запросов/мин30606060
Потоковое распознавание: аудио на сессию, секунд3009001 8003 600
Потоковое распознавание: одновременные сессии1248
Потоковое распознавание: таймаут бездействия, секунд60606060

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

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

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

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

Рекомендуемая обработка: при 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