Решение проблемИнструкция
Частые ошибки подключения и их исправление
Что означают 401, 402, 400, 404, 413, 429 и 503 при подключении к API CheapTokens, как выглядят ответы и как исправить каждую ошибку.

Содержание
Почти любая проблема с подключением сводится к четырём вещам: адрес, ключ, ID модели и баланс. Начните с быстрой проверки ниже, затем найдите свой код ответа. Тела ответов в статье — настоящие ответы API (октябрь 2026 года).
Быстрая проверка#
# 1. Адрес доступен — этому запросу ключ не нужен
curl https://api.cheaptokens.dev/v1/models
# 2. Ключ и баланс работают — крошечный запрос (стоит доли цента)
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "max_tokens": 5,
"messages": [{"role": "user", "content": "ping"}]}'Если не работает первая команда — причина может быть в сети на вашей стороне, в опечатке в адресе или во временной недоступности самого сервиса. Если не работает только вторая — найдите её код ответа ниже. Если обе работают, а инструмент нет, сравните его настройки с этими двумя командами.
401 — неверный API-ключ#
{"error": {"message": "Invalid API key", "type": "authentication_error"}}Клиенты в стиле Anthropic получают ту же ошибку в своём формате:
{"type": "error", "error": {"type": "authentication_error", "message": "Invalid API key"}}Причины:
- ключ скопирован не полностью, с пробелом или кавычками;
- ключ обновили в кабинете — старый больше не работает;
- вместо ключа CheapTokens указан ключ другого сервиса, например OpenAI;
- переменная окружения пуста в этом терминале:
echo ${#CHEAPTOKENS_выведет её длину.API_ KEY}
Кабинет показывает ключ только один раз. Если он потерян, нажмите Обновить, получите новый ключ и замените его везде, где он используется.
402 — пустой баланс или в запросе нет ключа#
API возвращает 402 в двух разных ситуациях:
- Закончился баланс. Запросы оплачиваются с баланса; когда он заканчивается, ключ приостанавливается. Пополните баланс в кабинете — и запросы снова пойдут.
- В запросе вообще нет ключа. Если нет заголовка
Authorization(илиx-api-keyу клиентов в стиле Anthropic), API отвечает 402 с типомinsufficient_. Проверьте, что инструмент действительно отправляет ключ: в стиле OpenAI этоfunds Authorization: Bearer <ключ>.
404 — неверный адрес#
{"error": {"message": "Invalid URL (GET /v1/chat/completion)", "type": "invalid_request_error", "param": null, "code": null}}Опечатка в пути — здесь completion вместо completions. Другие частые причины:
- В адресе API нет
/v1. Клиентам в стиле OpenAI нуженhttps:/. Без/ api. cheaptokens. dev/ v1 /v1запрос не попадает в API, и вместо JSON приходит обычная HTML-страница 404. /v1дважды. Некоторые клиенты добавляют/v1сами — тогда адрес должен быть корневым,https:/. Клиенты в стиле Anthropic всегда используют корневой адрес./ api. cheaptokens. dev
400 — модель не найдена#
{"error": {"message": "Model \"deepseek-v4-flash\" not found. Available: …", "type": "invalid_request_error", "param": "model"}}ID модели должен быть полным, с префиксом до косой черты: deepseek-, а не deepseek-. Регистр букв не важен. В тексте ошибки перечислены доступные ID, а полный список всегда есть в GET /v1/models.
400 приходит и на некорректное тело запроса — например, пустой массив messages (messages field is required and must be a non-) или сообщение без role.
413 — слишком большой запрос#
Размер тела запроса ограничен 16 МБ. Агенты могут упереться в лимит, если кладут в контекст огромные файлы или логи. Отправляйте только нужные модели фрагменты и сокращайте длинный вывод инструментов.
429 — слишком много запросов#
Если пришёл 429, снизьте частоту запросов. В ответе есть заголовок Retry-After — сколько секунд подождать. Официальные SDK OpenAI повторяют запрос сами (max_retries); в своём коде дождитесь Retry-After перед следующей попыткой.
503 — модель временно недоступна#
Модель может быть временно недоступна — тогда API отвечает 503 с типом model_, а в карточке модели на сайте написано «временно недоступна». Повторите запрос позже или поменяйте поле model на другую модель — ключ и адрес остаются прежними.
Долгое ожидание и тайм-ауты#
Рассуждающие модели, например zai-, думают перед ответом, поэтому первый токен может прийти не сразу. Используйте потоковые ответы или увеличьте тайм-аут клиента — например, timeout=120 в SDK OpenAI.



