Лимиты API

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

Обновлено: 3 мин чтения

Сводка

Что ограниченоЗначениеПри превышении
Запросы в минуту на ключПо умолчанию 60, свой предел ключа не выше общего потолка (по умолчанию 600)429 rate_limit_exceeded
Одновременные запросы на ключПо умолчанию 10429 too_many_concurrent_requests
Расход ключа за сутки и за месяцЗадаётся при создании ключа, без значения ограничения нет429 key_day_cap_reached, key_month_cap_reached
Задачи в работе на ключПо умолчанию 20429 too_many_active_tasks
Время жизни задачи100 минутЗадача останавливается со статусом failed и кодом task_timeout
Ожидание результата в адресах формы OpenAIОколо 100 секунд у картинок и озвучки, 280 секунд у расшифровкиОтвет 202 с задачей, дальше результат забирают через GET /v1/tasks/{id}
Хранение готовых файлов задачи7 сутокФайлы стираются, в задаче остаётся expired: true
Входная картинка в задаче10 МБ400 invalid_image
Неверные ключи с одного адреса20 за 15 минут429 too_many_failed_attempts
Размер тела запроса12 МБ413 request_too_large
Сообщения, функции, стоп-строкидо 2000 сообщений, 128 функций (до 256 КБ описаний), 4 строки по 64 знака400 invalid_parameter
Длина ответа8192 токена по умолчанию (16384 у моделей с рассуждениями), не больше 65536Ответ обрывается, finish_reason равен length
Время ожидания ответа280 секунд без потока, 900 секунд с потоком504 upstream_timeout, в потоке кадр с ошибкой

Значения по умолчанию задаёт epicai и может их менять, поэтому о своём ключе читайте ответ GET /v1/account. Он сообщает действующий предел запросов и потолки.

Запросы в минуту

Окно фиксированное и совпадает с календарной минутой часов сервера. Счётчик обнуляется в начале каждой минуты. Считается каждый запрос, который прошёл проверку ключа, в том числе завершившийся ошибкой 400 и запрос списка моделей. Остаток приходит в заголовках всех ответов, даже отказов. Опрос задачи GET /v1/tasks/{id} тоже запрос, поэтому спрашивайте не чаще, чем подсказывает его заголовок Retry-After, то есть раз в 3 секунды.

x-ratelimit-limit-requests: 60
x-ratelimit-remaining-requests: 58
x-ratelimit-reset-requests: 24s

Значения означают предел минуты, число оставшихся запросов и время до обнуления счётчика. При превышении приходит 429 с заголовком Retry-After, он содержит число секунд до начала следующей минуты.

Одновременные запросы

Запрос считается идущим, пока не получен ответ целиком или не закрыт поток. Если у ключа уже идёт 10 запросов, одиннадцатый получает 429 с Retry-After: 3. Для пакетной обработки держите число параллельных потоков ниже этого предела.

Потолки расхода

Суточный потолок считается по московскому времени и обнуляется в полночь по Москве. Месячный считается с первого числа календарного месяца, тоже по Москве. Оба задаются в TOK при создании ключа. Суточный потолок не бывает больше месячного.

Перед запросом epicai складывает расход ключа за период с оценкой этого запроса (входные токены плюс максимум ответа) и сравнивает с потолком. Отказ возможен и тогда, когда потолок ещё не достигнут, но оценка его пробивает. Помогает меньший max_tokens. Для суточного потолка в Retry-After приходит число секунд до полуночи, для месячного фиксированный час. Запросы, идущие одновременно, проверяются независимо, поэтому вместе они могут превысить потолок на сумму своих оценок. У задач с картинками, видео и другими медиа цена известна заранее, и в потолок складывается она, а не оценка.

Как вести себя при 429

Ждите столько, сколько названо в Retry-After, и повторяйте запрос. Библиотеки OpenAI делают это сами. Для потолков расхода повторять до сброса счётчика бесполезно, лучше остановить задачу и сообщить о достижении потолка. После 20 неверных ключей с одного адреса следующие запросы с этого адреса отклоняются независимо от ключа, пока не истечёт Retry-After.

Не нашли ответ?

Посмотрите частые вопросы или напишите в поддержку.

Войти или создать аккаунт

20 000 токенов в подарок новым пользователям. Без карты и без VPN.

или через сервис

Продолжая, вы получаете сервисные письма.

Для защиты от роботов используется Yandex SmartCaptcha. Условия обработки данных.