---
title: "Решение проблем: 401, 402, 429, base URL — AI Creator API"
description: "Частые сбои AI Creator API по симптомам: 401, 402, 403, 429, 413, 524 и неверный base URL — причина и что делать."
url: https://llm.aicreator.app/docs/troubleshooting/
lang: ru
updated: 2026-11-10
---

# Решение проблем

Сначала посмотри на HTTP-статус и на поле `error.code` в теле ответа: у одного статуса бывает несколько причин. Полная таблица кодов — в разделе [«Ошибки и лимиты»](https://llm.aicreator.app/docs/errors/#codes).

## 401: ключ не принят

Ответ 401 `invalid_api_key`.

**Причина.** Одна из трёх:

- ключ скопирован не целиком, с пробелом или кавычками;
- ключ отозван;
- в Claude Code — в окружении осталась переменная `ANTHROPIC_API_KEY`. Её значение уходит в заголовке `x-api-key`, а он у нас главнее `Authorization`: вместо нашего ключа приходит старый ключ Anthropic.

**Что делать.** Проверь ключ на странице [«Ключи»](https://llm.aicreator.app/app/keys/): он начинается с `sk-aic-` и стоит в списке активных. Для Claude Code убери лишнюю переменную и убедись, что её больше нет:

```bash
unset ANTHROPIC_API_KEY
env | grep ANTHROPIC
```

Переменная может быть задана и в файле `~/.claude/settings.json` — проверь блок `env`. Потом набери в Claude Code `/status`: в строке `Auth token` должно стоять `ANTHROPIC_AUTH_TOKEN`.

## 402: не хватает баланса

Ответ 402 `insufficient_balance`.

**Причина.** Баланс не вмещает резерв под запрос. Резерв больше цены запроса: он считается по размеру тела и по `max_tokens`, а без него — по максимуму выхода модели. Поэтому 402 бывает и при ненулевом балансе.

**Что делать.** [Пополни баланс](https://llm.aicreator.app/app/billing/) или задай в запросе `max_tokens` поменьше. Повторять запрос без этого бесполезно. Как считается резерв — в разделе [«Биллинг и статистика»](https://llm.aicreator.app/docs/billing/#hold).

## 403: модель не разрешена ключу

Ответ 403 `model_not_allowed`.

**Причина.** У ключа задан список разрешённых моделей, и этой модели в нём нет.

**Что делать.** Добавь модель в список ключа на странице «Ключи» или возьми разрешённую: их показывает `GET /v1/models` с этим ключом. В Claude Code проверь и фоновую модель из `ANTHROPIC_DEFAULT_HAIKU_MODEL` — она тоже должна быть в списке.

Если вместо JSON пришёл 403 с HTML-страницей, это ответ не нашего API: наш 403 — всегда JSON с `error.code`. Напиши в [поддержку](https://t.me/let_support) время запроса и адрес, на который он шёл.

## 400: модель не найдена

Ответ 400 `model_not_available`.

**Причина.** Такого имени нет в нашем списке, или модель есть, но не на этом протоколе. Частые случаи:

- Claude Code прислал своё имя модели, потому что модели не закреплены переменными `ANTHROPIC_DEFAULT_*_MODEL`;
- имя написано иначе, чем в списке, — например, с точкой вместо дефиса;
- модель выбрана в инструменте, который говорит по другому протоколу: Codex работает только с моделями протокола Responses.

**Что делать.** Возьми имя из раздела [«Модели и цены»](https://llm.aicreator.app/docs/models/) и проверь, что у модели есть протокол твоего инструмента. Для Claude Code закрепи модели, как в [его настройке](https://llm.aicreator.app/docs/claude-code/#setup).

## 429: сработал лимит

У ответа 429 пять разных причин. Какая из них — видно по телу ответа:

| Что в ответе                                           | Причина                                                                                            | Что делать                                                                                                                  |
| ------------------------------------------------------ | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `rate_limit_exceeded`                                  | Исчерпан лимит ключа на запросы или токены в минуту.                                               | Подожди столько секунд, сколько сказано в `retry-after`. Если упираешься постоянно — подними лимит ключа в кабинете.        |
| `concurrent_requests`                                  | По ключу уже идёт максимум одновременных запросов — 4.                                             | Повтори через секунду; Claude Code с субагентами делает это сам. Нужно больше параллельных запросов — раздели их по ключам. |
| `monthly_limit_exceeded`                               | Исчерпан месячный лимит расходов ключа.                                                            | До следующего месяца ждать бесполезно. Увеличь месячный лимит ключа в кабинете или возьми другой ключ.                      |
| Обычный текст, без JSON                                | Лимит по IP-адресу: 60 запросов в минуту и 1 200 в час с одного адреса, сколько бы ключей ни было. | Подожди по `retry-after`. Второй ключ не поможет: считается адрес.                                                          |
| Ошибка в формате Anthropic или OpenAI, без нашего кода | Лимит на стороне провайдера модели; ответ передан как есть.                                        | Повтори по `retry-after` и `x-should-retry`; Claude Code делает это сам.                                                    |

Все лимиты и их значения — в разделе [«Ключи и лимиты»](https://llm.aicreator.app/docs/keys/).

## 413 и 400: запрос слишком большой

Код `request_too_large` приходит с двумя статусами, 413 и 400, и причины у них разные.

- **413.** Тело запроса больше 32 МБ. Ответ может прийти и обычным текстом, без JSON. Сократи историю диалога или вложения: картинки в base64 занимают больше всего.
- **400.** Запрос один больше всего минутного лимита токенов ключа. Токены здесь — оценка: размер тела в байтах, делённый на 4. Ожидание не поможет: подними лимит токенов ключа в кабинете или сократи запрос.

## 524 и обрывы: ответа не дождались

**Причина.** Запрос без стрима ждёт весь ответ молча. Если модель готовит его дольше примерно двух минут, Cloudflare перед нашим API закрывает соединение с кодом 524. Это ответ Cloudflare, а не наш: JSON с `error.code` в нём нет.

**Что делать.** Включи стрим — `"stream": true`. В стриме, когда модель молчит дольше 15 секунд, мы шлём keepalive, и соединение держится. Для Codex оставь `stream_idle_timeout_ms` из нашей настройки.

Другой случай — ответ 504 `upstream_timeout`: запрос шёл дольше 30 минут, это предел для одного запроса. Раздели задачу на части.

## 404 и «нет соединения»: неверный base URL

**Причина.** Адрес записан не так, как его ждёт инструмент. Клиенты Anthropic сами добавляют `/v1` к адресу, клиенты OpenAI — нет. Лишний или пропущенный `/v1` даёт путь, которого у нас нет, и ответ 404.

**Что делать.** Сверь адрес с таблицей:

| Инструмент                                                 | Настройка            | Значение                       |
| ---------------------------------------------------------- | -------------------- | ------------------------------ |
| [Claude Code](https://llm.aicreator.app/docs/claude-code/) | `ANTHROPIC_BASE_URL` | `https://api.aicreator.app`    |
| [Codex CLI](https://llm.aicreator.app/docs/codex/)         | `base_url`           | `https://api.aicreator.app/v1` |
| [Cline](https://llm.aicreator.app/docs/cline/)             | `Base URL`           | `https://api.aicreator.app/v1` |
| [OpenCode](https://llm.aicreator.app/docs/opencode/)       | `settings.baseURL`   | `https://api.aicreator.app/v1` |
| [Aider](https://llm.aicreator.app/docs/aider/)             | `OPENAI_API_BASE`    | `https://api.aicreator.app/v1` |

Адрес сайта — `llm.aicreator.app` — для запросов не подходит: API живёт на `api.aicreator.app`.

## Из России не открывается или обрывается

**Причина.** Основной адрес идёт через Cloudflare, а он из России доступен не везде.

**Что делать.** Возьми второй адрес того же API — `https://api-ru.aicreator.app`. Ключ, пути и баланс те же. Правило про `/v1` то же: для Claude Code — `https://api-ru.aicreator.app`, для остальных — `https://api-ru.aicreator.app/v1`. Длинные ответы и здесь запрашивай стримом.

## 502 и 503: сервис временно недоступен

**Причина.** Провайдер модели не ответил (502 `upstream_unavailable`) или сервис перегружен (503 `at_capacity`). Деньги за такой запрос не списываются.

**Что делать.** Повтори запрос, если заголовок `x-should-retry` не говорит `false`; когда есть `retry-after` — подожди столько секунд. Если ошибка держится, напиши в [поддержку](https://t.me/let_support) время запроса и модель. Заголовок `X-Billing-Id` приложи, если он есть в ответе: у 503 его нет.

## Запроса нет в журнале кабинета

**Причина.** В журнал попадают только запросы, которые дошли до провайдера модели. Запрос, который мы отклонили раньше — 401, 402, 403, наши 400 и 429, — в журнале не появляется и ничего не стоит.

**Что делать.** Смотри на ответ, который получил инструмент: причина в его статусе и `error.code`.
