Лимиты и баланс
Все запросы обслуживаются одинаково. Без тарифных уровней скорости. Без отдельной квоты API. Вы уже оплатили свои токены — расходуйте их так быстро, как хотите.
На этой странице объясняется, из чего состоит ваш баланс, что резервирует и сколько стоит один запрос, сколько запросов можно отправлять и какие немногие ограничения может встретить отдельный запрос.
- стоимость 1M токенов баланса
- $5.00
- ежедневный лимит обновляется
- 00:00 UTC
- защита от флуда, на аккаунт
- 120 запросов / мин
Как обслуживаются запросы
- Без тарифных уровней скорости — Одно правило ограничивает, как быстро могут поступать запросы, и оно одинаково для каждого аккаунта и каждого плана: 120 запросов в минуту. Ограничения на токены в минуту нет.
- Без отдельной квоты API — API расходует тот же баланс, что и чат. План задает размер лимита на сегодня. Он не задает частоту запросов.
- Так быстро, как вы хотите — Параллельно отправленные запросы принимаются и ждут в очереди. Их не отклоняют за параллельность.
Ваш баланс
Ваш баланс считается в токенах. 1,000,000 токенов баланса стоят $5.00, и каждая цена на странице «Модели и цены» — это ставка относительно этой стоимости.
В любой момент баланс — это сумма двух частей.
- Лимит плана на сегодня — Число токенов, заданное вашим планом. Обновляется каждый день в 00:00 UTC. Остаток на конец дня не переносится.
- Купленные кредиты — Токены, которые вы купили пакетом. Кредит не сгорает и работает на любом плане, включая Free.
| План | Токенов в день | Стоимость |
|---|---|---|
| Free | 30,000 | $0.15 |
| Plus | 80,000 | $0.40 |
| Standard | 265,000 | $1.325 |
| Pro | 665,000 | $3.325 |
- Порядок списания — Каждый запрос сначала расходует лимит плана на сегодня. Купленные кредиты расходуются только на то, что превышает лимит в этот день.
- Чат и API делят его — На аккаунт приходится один баланс. API-ключ списывает с баланса аккаунта, которому он принадлежит, по тем же ценам, что и чат.
- Пакеты — Кредит продается пакетами по 1,000,000 ($5.00), 2,000,000 ($10.00) и 5,000,000 ($25.00) токенов или на сумму по вашему выбору от 1,000,000 до 100,000,000 токенов по $5.00 за 1,000,000.
Что резервирует запрос и сколько он стоит
- Резерв — Когда приходит запрос, он резервирует на вашем балансе свой бюджет вывода:
max_tokensна/v1/chat/completionsи/v1/messages,max_output_tokensна/v1/responses./v1/chat/completionsтакже читаетmax_completion_tokens. Значение по умолчанию — 4,096, диапазон — от 1 до 65,536. - Допуск — Запрос принимается, только если резерв помещается в остаток вашего баланса. Баланс, который больше нуля, но меньше бюджета вывода, получает ответ
Quota exceeded. Отправьте меньшийmax_tokens, чтобы использовать остаток. - Расчет — Когда ответ завершен, резерв заменяется фактическим списанием. Списание может быть меньше или больше резерва.
- Возврат — Запрос, завершившийся статусом ошибки, полностью возвращает свой резерв.
Фактическое списание зависит от семейства модели.
| Модели | Что списывается |
|---|---|
| Модели Shannon | usage.total_tokens по цене модели за 1M. У ввода и вывода одна ставка. |
| Размещенные модели с открытыми весами | Некэшированный ввод — по ставке ввода, кэшированный ввод — по ставке кэша, вывод — по ставке вывода. |
Сумма в USD списывается с вашего баланса в токенах по $5.00 за 1,000,000 с округлением до целого токена.
Подсчет токенов через POST /v1/tokenize или POST /v1/messages/count_tokens бесплатен и ничего не резервирует. Подсчет токенов
Где смотреть баланс и использование
Страница Keys & usage показывает, сколько вы можете потратить прямо сейчас, лимит плана на сегодня, купленные кредиты и расход API за последние 30 дней. Ниже она перечисляет каждый запрос, сделанный вашим ключом: время, эндпоинт, модель, кэшированный ввод, тарифицированные токены и стоимость. Keys & usage
Каждый ответ также содержит объект usage с числом токенов этого вызова.
| Эндпоинт | Поля usage | Добавляют размещенные модели с открытыми весами |
|---|---|---|
/v1/chat/completions | prompt_tokens, completion_tokens, total_tokens | prompt_tokens_details.cached_tokens, completion_tokens_details.reasoning_tokens |
/v1/messages | input_tokens, output_tokens | cache_read_input_tokens, cache_creation_input_tokens |
/v1/responses | input_tokens, output_tokens, total_tokens | input_tokens_details.cached_tokens, output_tokens_details.reasoning_tokens |
usageсодержит число токенов модели. Сумма, списанная с вашего баланса, в ответ не входит: она находится в столбце Billed tokens списка запросов на Keys & usage.- На
/v1/messagesс размещенной моделью с открытыми весамиinput_tokens— некэшированная часть ввода,cache_read_input_tokens— кэшированная часть, аcache_creation_input_tokensвсегда равно0. - Поток на
/v1/chat/completionsпередаетusageв последнем чанке перед[DONE]. Потоковая передача
Когда баланс закончился
На запрос, резерв которого не помещается в ваш баланс, отвечают статусом 429, типом rate_limit_error и сообщением ниже. Ничего не списывается. Тот же ответ отправляется, когда баланс больше нуля, но меньше бюджета вывода запроса.
{
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} На /v1/responses объект error может также содержать code и param, оба null.
Что можно сделать:
- Дождитесь следующего лимита плана в 00:00 UTC.
- Пополните кредит. Кредит расходуется после лимита плана и не сгорает. Пополнить кредит
- Перейдите на план с большим ежедневным лимитом. Сменить план
- Отправьте меньший
max_tokens, если на балансе что-то осталось: тогда резерв будет меньше.
Лимит вызовов Shannon Coder
shannon-coder-1 на /v1/chat/completions и /v1/messages считается в вызовах, а не в токенах. Каждый план включает определенное число вызовов на 4-часовое окно. Один запрос — один вызов.
| План | Вызовов за 4-часовое окно |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
- Окна начинаются в 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC. Вызовы, оставшиеся к концу окна, не переносятся.
- Вызов засчитывается, когда запрос принят, до ответа модели. Запрос, завершившийся после этого сбоем, все равно считается вызовом.
- Эти вызовы не резервируют токены и ничего не берут с вашего баланса. Список запросов на Keys & usage показывает их число токенов и стоимость по указанной цене.
- Значение
max_tokensпо умолчанию дляshannon-coder-1на этих двух эндпоинтах равно 65,536. - Когда вызовов не осталось, ответ имеет статус
429, типrate_limit_errorи сообщениеShannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan. - На
/v1/responsesуshannon-coder-1нет лимита вызовов: она тарифицируется в токенах с вашего баланса по $8.00 за 1M, как любая другая модель.
Защита от флуда
Аккаунт может отправлять 120 запросов в минуту. Это единственное ограничение частоты запросов, и оно одинаково на всех планах. Оно существует, чтобы останавливать флуд, а не замедлять обычное использование.
- Минута — это фиксированное окно в 60 секунд, которое открывается вашим первым запросом. Когда оно заканчивается, счет начинается с нуля.
- Счет ведется по аккаунту, а не по ключу и не по IP-адресу. Замена ключа не открывает новое окно.
- На 121-й запрос в окне отвечают статусом
429, типомrate_limit_errorи сообщениемToo many requests. Retry in <N>s.N— число секунд до конца окна, от 1 до 60. - Защита от флуда проверяется раньше баланса. Отклоненный ею запрос ничего не резервирует и ничего не стоит.
{
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} | Запрос | Защита от флуда |
|---|---|
POST /v1/chat/completions, POST /v1/messages, POST /v1/responses | Считается, по одному на запрос. |
GET /v1/models, POST /v1/tokenize, POST /v1/messages/count_tokens | Не считается. |
shannon-coder-1 на /v1/chat/completions и /v1/messages | Считается вместо этого по лимиту вызовов Shannon Coder. |
Запрос, на который ответили 401, или 400 для неизвестной model | Не считается. |
| Запрос, отклоненный защитой от флуда | Считается в окне. Ничего не списывается. |
Параллельные запросы
Ограничения на число одновременно открытых запросов аккаунта нет, и за параллельные запросы ошибка не возвращается. Запросы, которые не могут начаться сразу, ждут в очереди и обрабатываются по очереди.
- Каждый запрос засчитывается в 120 в минуту в момент поступления, независимо от того, завершились ли предыдущие запросы.
- Каждый запрос удерживает свой резерв до завершения. Двадцать открытых запросов с бюджетом вывода по умолчанию удерживают 20 × 4,096 = 81,920 токенов баланса. Если резервы вместе превышают ваш баланс, следующий запрос получает ответ
Quota exceeded, хотя завершенные вызовы стоили бы меньше. Меньшийmax_tokensудерживает меньше. - Запрос без стриминга ничего не отправляет, пока ответ не будет готов, поэтому задайте клиенту таймаут, покрывающий это ожидание. Поток держит соединение открытым, пока ждет. Потоковая передача
Ограничения отдельного запроса
| Лимит | Значение | Применяется к | При достижении лимита |
|---|---|---|---|
| Тело запроса | 32 MiB (33,554,432 байта) | Каждый эндпоинт | Статус 413, тип invalid_request_error. |
Бюджет вывода: max_tokens, max_completion_tokens, max_output_tokens | От 1 до 65,536. По умолчанию 4,096; для shannon-coder-1 на /v1/chat/completions и /v1/messages по умолчанию 65,536. | Каждая модель — как сумма, резервируемая с вашего баланса. Как предел длины ответа: размещенные модели с открытыми весами, shannon-1.6-lite, shannon-1.6-pro и shannon-coder-1. | Значение вне диапазона приводится к ближайшей границе диапазона. Ошибки нет. |
Стоп-последовательности: stop, stop_sequences | 4 строки | Размещенные модели с открытыми весами | Используются первые 4 непустые строки. |
| Изображение или файл, заданные как URL | 8 MiB, чтение в течение 20 секунд, не более 5 перенаправлений, публичный адрес http или https | Каждый эндпоинт, принимающий изображения или файлы | На запрос отвечают без этой части. Ошибки нет. |
| Изображение или файл, отправленные внутри запроса (base64) | Собственного лимита нет. Входит в тело запроса размером 32 MiB. | Каждый эндпоинт, принимающий изображения или файлы | Статус 413 для всего запроса. |
text в POST /v1/tokenize | 4,000,000 байт | /v1/tokenize | Статус 413, тип invalid_request_error, сообщение text too long. |
messages в POST /v1/tokenize и тело POST /v1/messages/count_tokens | Тело запроса размером 32 MiB | Оба эндпоинта подсчета | Статус 413. |
| Контекстное окно | Для каждой модели: context_window в GET /v1/models | Каждая модель | Что происходит с более длинным разговором, зависит от модели. Модели и цены |
Веб-поиски (web_search: true) | На план и день: Free 3, Plus 30, Standard 50, Pro 60. Один поиск засчитывается для запроса, поиск которого нашел результаты. | Запросы с web_search: true | Если лимит исчерпан, на запрос отвечают без поиска. Ошибки нет. Встроенный веб‑поиск |
Ошибки
Ответы, описанные на этой странице. На /v1/messages тот же объект error оборачивается как {"type": "error", "error": {…}}.
| Статус | Тип | Сообщение | Когда и что делать |
|---|---|---|---|
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | Резерв запроса не помещается в ваш баланс. Дождитесь 00:00 UTC, пополните кредит, смените план или отправьте меньший max_tokens. |
429 | rate_limit_error | Too many requests. Retry in <N>s. | Более 120 запросов в текущую минуту. Подождите N секунд и отправьте снова. |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | Вызовы Shannon Coder текущего 4-часового окна исчерпаны. |
429 | rate_limit_error | Shannon routes are temporarily busy. Please retry. | Модель в данный момент не может принять запрос. Отправьте его снова после короткой паузы. |
503 | api_error | Could not verify your quota right now. Please retry. | Ваш баланс не удалось прочитать. Ничего не списывается; отправьте запрос снова. На /v1/responses с моделью Shannon статус равен 500. |
413 | invalid_request_error | Тело запроса больше 32 MiB. На эндпоинтах формата OpenAI объект error содержит code: "request_too_large". | |
413 | invalid_request_error | text too long | text в POST /v1/tokenize длиннее 4,000,000 байт. |