Skip to main content
Здесь собраны все ограничения запроса: потолки по времени, размеру и частоте, лимиты тарифа и квоты.

Таймауты и размер тела

Поток идёт на контексте, отвязанном от клиента: если соединение оборвалось, генерация всё равно доходит до конца и деньги списываются. Потоковое ограничение в 15 минут — это не «сколько вы успеете прочитать», а верхняя граница работы всей генерации.

Частота запросов

Лимиты частоты считаются на пользователя, а не на ключ, и проверяются раньше всего остального: если превышены, до модели дело не доходит.
Оба лимита выключены по умолчанию. Включены ли они для вашего аккаунта и какие значения у них — вопрос настроек аккаунта, поэтому конкретное число здесь не приводится. Ориентируйтесь на поведение: получили 429 — значит, превысили тот предел, который задан у вас.
Что делать при 429:
  • Отступайте экспоненциально и добавляйте джиттер, иначе параллельные клиенты будут бить в один и тот же момент.
  • Объединяйте запросы: если задача допускает батчинг, это заметно экономит квоту токенов.
  • Отличайте два кода: token_limit_exceeded — вы упираетесь в объём, rate_limit_exceeded — в число запросов. Это разные меры.
Цикл повторов с джиттером — на странице Ошибки.

Лимиты тарифа

Отдельно от частоты запросов тариф может ограничивать число запросов и суммарное число токенов за день, неделю или месяц. Что происходит при их исчерпании — зависит от эндпоинта.
На /api/v1/chat/completions запрос может успешно вернуться от другой модели, чем та, которую вы просили, и по цене «по факту» вместо тарифной. Никакого признака в ответе об этом нет, если только вы не сравниваете поле model в результате с тем, что отправляли. Проверяйте его, пока тарифные лимиты активны, либо отключите резервную модель, если подмена недопустима.
Повтор внутри периода бесполезен: счётчик сбросится по расписанию тарифа. Вариантов два — дождаться сброса или сменить тариф. Текущий объём потребления виден в Биллинге.

Прочие ограничения

Исчерпание квоты хранилища даёт 413 payload_too_large на загрузке. Эндпоинта, который отдал бы текущий объём или остаток квоты, на /api/v1 нет — лимит узнаётся только по факту отказа.
Загруженные изображения могут быть перекодированы без потерь, если это даёт меньший файл. Поэтому size в ответе на загрузку может оказаться меньше размера отправленного файла. Это норма.

Политика повторов

Практические замечания

Поток обходит потолок в 300 секунд. Для длинной генерации переходите на stream: true: вместо одного запроса на 300 секунд вы получаете поток, идущий до 15 минут. Подробности — в разделе Потоковая передача. Параллельные потоки складываются. Каждый открытый поток занимает место в квоте параллельных генераций. Планируйте конкурентность под свой лимит, а не под число ядер клиента. Клиентский таймаут должен быть больше серверного. Поставьте в клиенте 320 секунд против серверных 300 — иначе вы получите локальный обрыв на ровном месте, где сервер ещё готов был ответить. Отменяйте ненужные потоки. Закрытое соединение освобождает слот сразу, а не по истечении 15 минут.

Что дальше

Ошибки

Коды и цикл повторов

Запрос чату

Формат запроса и потоковая передача

Создать задачу

Лимиты медиа-задач и идемпотентность

Загрузить файл

Квота хранилища и предел в 100 МБ

Биллинг

Списания, тарифы и потребление

Аутентификация

Ключи и их ограничения

Модели и цены

Контекстные окна и стоимость токенов