halfoff.devДокументация
Получить ключ
Аккаунт

API-ключи

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

Ключ Half Off Dev — это всё, что нужно вашему коду для доступа к Claude, GPT и Gemini за полцены. Все ключи списывают средства с одного предоплаченного баланса, но у каждого свои лимиты, так что взбесившийся скрипт на одном ключе не опустошит баланс, от которого зависит остальной стек. Создавайте сколько угодно ключей.

Создание ключа#

  1. Откройте страницу ключей

    В панели перейдите в API-ключи и нажмите New key.

  2. Задайте имя и группу

    Выберите имя, по которому ясно, где живёт ключ, например support-bot-prod или nightly-evals. Channel group можно оставить на Auto — best available; Claude · Value, GPT · Value или Gemini · Value выбирайте, только если каждый вызов с этого ключа должен идти через эту группу. Подробнее в разделе Группы каналов.

  3. При необходимости добавьте лимиты

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

  4. Скопируйте ключ, пока он виден

    Нажмите Create. Баннер вверху страницы один раз покажет ключ целиком. Скопируйте его сразу или нажмите Use in tools…, чтобы тут же настроить с ним Claude Code, Codex CLI и похожие клиенты. После нажатия Done в списке остаётся только начало ключа, например ho-a1b2c3….

Полный ключ показывается один раз

Half Off Dev хранит хеш, а не сам ключ, поэтому показать его снова никто не сможет. Потерянный ключ нужно отозвать и заменить новым.

Параметры ключа#

ПараметрПо умолчаниюДействие
Name—До 60 символов. Отображается в списке ключей и рядом с каждым запросом в Логах.
Channel groupAutoПривязывает все запросы ключа к одной группе каналов. Auto выбирает лучшую доступную группу для каждого запроса. Задаётся при создании и не меняется.
Spend limit (USD)Без лимитаМаксимум, который ключ может потратить за всё время, в целых долларах. Не сбрасывается: это общий потолок, а не месячный бюджет.
Expires onНикогдаПо окончании этого дня (в часовом поясе вашего браузера) ключ перестаёт приниматься.
Requests per minuteБез ограниченийСколько запросов к моделям ключ может начать за любую минуту.
Max concurrent requestsБез ограниченийСколько запросов ключ может держать открытыми одновременно. Потоковый ответ считается до последнего байта.
Only allow specific modelsВсе моделиМодели, которые разрешено вызывать этому ключу. Алиас вроде claude-sonnet-5-5 проверяется как модель, на которую он указывает.

В списке ключей видны группа и лимиты каждого ключа, сколько он Spent и когда был Last used.

Что происходит при достижении лимита#

Half Off Dev отклоняет запрос до обращения к модели. Деньги не списываются, в Логи ничего не пишется, а ошибка возвращается в формате того эндпоинта, который вы вызвали.

ПричинаСтатусAnthropic typeOpenAI typeСообщение
Срок действия истёк401authentication_errorauthentication_errorThis API key has expired
Ключ отозван401authentication_errorauthentication_errorInvalid or revoked API key
Модели нет в списке разрешённых403permission_errorpermission_deniedThis API key is not allowed to use 'gpt-6.1-sol'.
Лимит расходов исчерпан402billing_errorinsufficient_quotaThis API key has reached its spend limit.
Слишком много запросов в минуту или одновременно429rate_limit_errorrate_limit_exceededThis API key has reached its rate or concurrency limit.

Запросы к эндпоинтам Gemini получают те же коды статуса в формате ошибок Gemini. Ответ 429 из-за лимита ключа содержит заголовок Retry-After с числом секунд ожидания.

Отказ из-за лимита расходов в том виде, в каком его получает каждый SDK:

{
  "type": "error",
  "error": {
    "type": "billing_error",
    "message": "This API key has reached its spend limit."
  }
}

Лимит расходов проверяется в момент начала запроса. Уже выполняющийся запрос доводится до конца, поэтому значение Spent у ключа может немного превысить лимит. Остальные тела ошибок и рекомендации по повторам описаны в разделе Ошибки.

Изменение ключа#

Нажмите Edit у ключа, чтобы изменить имя, лимит расходов, срок действия, лимиты запросов и параллелизма или список разрешённых моделей. Уже следующий запрос учитывает изменения. Чтобы снять лимит, очистите поле.

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

Смена ключа без простоя#

  1. Создайте замену с той же группой и теми же лимитами.
  2. Раскатайте её в приложении или менеджере секретов.
  3. Следите за временем Last used у старого ключа, пока оно не перестанет меняться.
  4. Отзовите старый ключ.

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

Отзыв ключа#

Нажмите Revoke, затем Confirm revoke. Начиная со следующего запроса ключ отклоняется, отменить это нельзя. Ключ остаётся в списке серым вместе с историей расходов, а его прошлые запросы сохраняются в Логах.

Подключение клиента для кодинга#

У каждого ключа есть кнопка Use in tools с готовыми настройками для Claude Code, Codex CLI, Gemini CLI, Cherry Studio, DeepChat и AionUI, включая импорт в один клик для приложений, которые его поддерживают. Руководство по каждому клиенту — в разделе Интеграции.

Привычки, которые держат расходы под контролем#

  • Ключ на каждое приложение и окружение. Продакшен, стейджинг, CI и ваш ноутбук получают свои ключи: так расходы видны по каждому ключу, а отозвать один можно, не трогая остальные.
  • Ограничивайте всё, что работает без присмотра. Пакетные задачи, CI-пайплайны и циклы повторов могут пойти вразнос. Лимит расходов ограничивает стоимость, а лимит запросов в минуту замедляет цикл.
  • Разрешайте только то, что нужно задаче. Ключу, который классифицирует тикеты малой моделью, незачем обращаться к самой большой.
  • Задавайте срок временным ключам. Демо, подрядчики и пробные периоды получают ключ, который истекает сам.
  • Никогда не отправляйте ключ в браузер или на телефон. Обращайтесь к Half Off Dev со своего сервера. См. Аутентификация.