# Лимиты

Лимиты частоты и параллельности запросов, размер запроса, длина ответа и тайм-ауты.

## Частота и параллельность

| Уровень             | Запросов в минуту                           | Одновременных запросов |
| ------------------- | ------------------------------------------- | ---------------------- |
| API-ключ            | 600 или меньшее значение, заданное на ключе | 200                    |
| Пространство Router | 1200                                        | 400                    |

Все ключи пространства делят лимиты пространства. Кроме них, действуют общие лимиты на пользователя, на плательщика и на весь сервис. В одновременные запросы входит каждый выполняющийся запрос, потоковый или нет.

При превышении лимита роутер отвечает `429` с сообщением, в котором назван лимит, например `rate limit exceeded (key requests per minute)` или `too many concurrent requests (key)`. Собственный лимит частоты провайдера тоже возвращается как `429`.

В ответах нет заголовков `Retry-After` и `X-RateLimit-*`: повторяйте запрос с экспоненциальной задержкой и случайным разбросом, начиная с 1 секунды.

## Размер запроса и ответа

| Лимит             | Значение                                       |
| ----------------- | ---------------------------------------------- |
| Тело запроса      | 4 МиБ; сверх этого роутер отвечает `413`       |
| `max_tokens`      | от 1 до 65536; без него — 4096                 |
| Контекст          | `context_length` модели в `GET /api/v1/models` |
| Попыток на запрос | 3, с учетом всех резервных моделей             |

## Тайм-ауты

| Лимит                             | Значение   |
| --------------------------------- | ---------- |
| Ожидание начала ответа провайдера | 120 секунд |
| Запрос без потока                 | 10 минут   |
| Потоковый запрос                  | 15 минут   |
| Пауза в потоке                    | 120 секунд |

Тайм-аут провайдера — это `504`. Для ответов, которые могут занять много времени, используйте потоковую передачу.

## Другие лимиты

- API не отправляет заголовки CORS: вызывайте его со своего сервера, а не из браузера.
- Ключа идемпотентности нет: повторный `POST` — это новый запрос, и он оплачивается снова. Повторяйте запрос только после ошибки, которая говорит, что ничего не было сгенерировано, см. [Ошибки](/docs/ru/errors#повторные-запросы).
- `GET /api/v1/models` не требует ключа и допускает 120 запросов в минуту с одного IP-адреса; ответ кешируется на 60 секунд.
