Ключи и лимиты

Открыть в Markdown
На этой странице

Каждый запрос к API идёт с ключом sk-aic-…. Баланс у аккаунта один, а ключей может быть несколько, у каждого свои лимиты и своя строка в статистике.

Создание#

Ключ создаётся в кабинете на странице «Ключи». Имя и лимиты необязательны; имя — до 100 символов.

Полный ключ показывается один раз, сразу после создания. Мы храним только его хеш и начало — по началу ключ узнаётся в списке. Потерянный ключ восстановить нельзя: создай новый и отзови старый.

Клади ключ в переменную окружения, а не в файлы проекта, которые попадают в репозиторий:

bash
export AIC_API_KEY=sk-aic-…

Лимиты ключа#

Все четыре необязательны. Пустое поле — без лимита.

ЛимитЧто считаетсяОтвет сверх лимита
Запросов в минутуЗапросы ключа за последнюю минуту.429 rate_limit_exceeded
Токенов в минутуВходные токены за последнюю минуту, по оценке: размер тела запроса в байтах, делённый на 4.429 rate_limit_exceeded; запрос, который один больше всего лимита, — 400 request_too_large
Расходы в месяц, $Расход ключа за календарный месяц по UTC, вместе с резервом под запросы, которые ещё идут.429 monthly_limit_exceeded
Разрешённые моделиСписок моделей, к которым ключ может обращаться.403 model_not_allowed
  • Лимиты в минуту говорят, когда повторить: ответ 429 приходит с заголовком retry-after.
  • Месячный лимит проверяется по резерву под запрос, а не по итоговой цене: запрос получит отказ, если резерв в лимит уже не помещается. Ключ остаётся остановленным до следующего месяца или до повышения лимита.
  • Ключ с ограничением по моделям видит в GET /v1/models только разрешённые.

Как устроен резерв — в разделе «Биллинг и статистика».

Изменение#

Имя и лимиты готового ключа меняются там же, на странице «Ключи», кнопкой «Изменить». Сам ключ при этом остаётся прежним — в настройках инструментов ничего менять не нужно.

  • Новые лимиты действуют со следующего запроса ключа. Запрос, который уже идёт, доработает со старыми.
  • Если опустить месячный лимит ниже уже потраченного за месяц, следующие запросы получат 429 monthly_limit_exceeded — до нового месяца или пока не поднимешь лимит.
  • Отозванный ключ изменить нельзя.

Лимиты сервиса#

Они действуют на любой ключ и в кабинете не меняются:

  • не больше 120 запросов и 2 000 000 токенов в минуту на ключ. Если у ключа свой лимит, действует меньшее из двух;
  • не больше 20 активных ключей на аккаунт. Создание следующего вернёт 409; отозванные ключи не считаются.

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

Один ключ ведёт не больше 4 запросов одновременно. Следующий получит 429 concurrent_requests с заголовком retry-after: Claude Code повторит его сам.Если параллельных запросов нужно больше — например, несколько агентов сразу, — раздели их по разным ключам.

Лимит по IP-адресу#

С одного IP-адреса проходит не больше 60 запросов в минуту, 300 за пять минут и 1 200 в час на каждый адрес API (/v1/messages, /v1/chat/completions и остальные считаются отдельно). Он считает адрес, а не ключ: второй ключ на той же машине его не поднимет. Сверх лимита приходит 429 обычным текстом, без JSON и без error.code, с заголовком retry-after. Подробнее — в разделе «Ошибки и лимиты».

Отзыв и замена#

Отозванный ключ перестаёт работать со следующего запроса — ответ 401 invalid_api_key. Вернуть его нельзя. В списке он остаётся, в лимит активных ключей не входит.

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

Ключ на инструмент#

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