API-ключи
Выпускайте отдельный ключ Half Off Dev для каждого приложения, ограничивайте его расходы, частоту запросов и модели, меняйте и отзывайте без простоев в продакшене.
Ключ Half Off Dev — это всё, что нужно вашему коду для доступа к Claude, GPT и Gemini за полцены. Все ключи списывают средства с одного предоплаченного баланса, но у каждого свои лимиты, так что взбесившийся скрипт на одном ключе не опустошит баланс, от которого зависит остальной стек. Создавайте сколько угодно ключей.
Создание ключа#
Откройте страницу ключей
В панели перейдите в API-ключи и нажмите New key.
Задайте имя и группу
Выберите имя, по которому ясно, где живёт ключ, например
support-bot-prodилиnightly-evals. Channel group можно оставить на Auto — best available; Claude · Value, GPT · Value или Gemini · Value выбирайте, только если каждый вызов с этого ключа должен идти через эту группу. Подробнее в разделе Группы каналов.При необходимости добавьте лимиты
В разделе Limits & restrictions можно ограничить расходы, частоту запросов, параллелизм, допустимые модели и срок действия. Каждый параметр описан в таблице ниже. Все они, кроме группы, меняются позже.
Скопируйте ключ, пока он виден
Нажмите Create. Баннер вверху страницы один раз покажет ключ целиком. Скопируйте его сразу или нажмите Use in tools…, чтобы тут же настроить с ним Claude Code, Codex CLI и похожие клиенты. После нажатия Done в списке остаётся только начало ключа, например
ho-a1b2c3….
Полный ключ показывается один раз
Half Off Dev хранит хеш, а не сам ключ, поэтому показать его снова никто не сможет. Потерянный ключ нужно отозвать и заменить новым.
Параметры ключа#
| Параметр | По умолчанию | Действие |
|---|---|---|
| Name | — | До 60 символов. Отображается в списке ключей и рядом с каждым запросом в Логах. |
| Channel group | Auto | Привязывает все запросы ключа к одной группе каналов. 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 type | OpenAI type | Сообщение |
|---|---|---|---|---|
| Срок действия истёк | 401 | authentication_error | authentication_error | This API key has expired |
| Ключ отозван | 401 | authentication_error | authentication_error | Invalid or revoked API key |
| Модели нет в списке разрешённых | 403 | permission_error | permission_denied | This API key is not allowed to use 'gpt-6.1-sol'. |
| Лимит расходов исчерпан | 402 | billing_error | insufficient_quota | This API key has reached its spend limit. |
| Слишком много запросов в минуту или одновременно | 429 | rate_limit_error | rate_limit_exceeded | This 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 у ключа, чтобы изменить имя, лимит расходов, срок действия, лимиты запросов и параллелизма или список разрешённых моделей. Уже следующий запрос учитывает изменения. Чтобы снять лимит, очистите поле.
Единственное, что нельзя изменить, — группа каналов. Чтобы перенести трафик в другую группу, создайте ключ в этой группе и перейдите на него.
Смена ключа без простоя#
- Создайте замену с той же группой и теми же лимитами.
- Раскатайте её в приложении или менеджере секретов.
- Следите за временем Last used у старого ключа, пока оно не перестанет меняться.
- Отзовите старый ключ.
Делайте так регулярно, при уходе из команды любого, у кого был доступ, и немедленно, если ключ мог попасть в чужие руки.
Отзыв ключа#
Нажмите Revoke, затем Confirm revoke. Начиная со следующего запроса ключ отклоняется, отменить это нельзя. Ключ остаётся в списке серым вместе с историей расходов, а его прошлые запросы сохраняются в Логах.
Подключение клиента для кодинга#
У каждого ключа есть кнопка Use in tools с готовыми настройками для Claude Code, Codex CLI, Gemini CLI, Cherry Studio, DeepChat и AionUI, включая импорт в один клик для приложений, которые его поддерживают. Руководство по каждому клиенту — в разделе Интеграции.
Привычки, которые держат расходы под контролем#
- Ключ на каждое приложение и окружение. Продакшен, стейджинг, CI и ваш ноутбук получают свои ключи: так расходы видны по каждому ключу, а отозвать один можно, не трогая остальные.
- Ограничивайте всё, что работает без присмотра. Пакетные задачи, CI-пайплайны и циклы повторов могут пойти вразнос. Лимит расходов ограничивает стоимость, а лимит запросов в минуту замедляет цикл.
- Разрешайте только то, что нужно задаче. Ключу, который классифицирует тикеты малой моделью, незачем обращаться к самой большой.
- Задавайте срок временным ключам. Демо, подрядчики и пробные периоды получают ключ, который истекает сам.
- Никогда не отправляйте ключ в браузер или на телефон. Обращайтесь к Half Off Dev со своего сервера. См. Аутентификация.