kosareva.cloud

Ошибка 404 API: сервер не нашёл путь или модель

Ключ и деньги в порядке, а ответ 404. Почти всегда это адрес: лишний или пропущенный /v1, опечатка в имени модели или GET вместо POST.

/ Короткий ответ

Что это значит

Ошибка API с кодом 404 (not found) значит, что сервер не нашёл то, к чему вы обращаетесь: либо путь запроса, либо модель с таким именем. Ключ здесь ни при чём: до проверки ключа дело часто даже не доходит, потому что маршрут не совпал. Повторять запрос без изменений бесполезно.

Две главные причины. Первая: base URL собран неверно. У OpenAI-совместимых сервисов адрес заканчивается на /v1, а SDK сам добавляет /chat/completions. Если написать /v1/chat/completions в base URL, SDK добавит путь второй раз и получит 404; если забыть /v1, путь не найдётся вовсе. Вторая: имя модели. У OpenAI это code model_not_found: опечатка, снятая с производства модель или имя с точкой там, где сервис ждёт дефис, и наоборот.

Третья причина реже, но коварнее: метод. Запрос на /chat/completions через GET вместо POST часть серверов отдаёт как 404, а не как 405. Проверяется одной командой curl со списком моделей: если /v1/models отвечает 200, адрес верный, и остаётся проверить имя модели.

/ Почему

Откуда берётся ошибка

  • base URL без /v1: адрес указан как https://api.example.com, и SDK шлёт запрос на /chat/completions без версии.
  • Лишний путь в base URL: адрес заканчивается на /chat/completions или /v1/chat, SDK добавляет свой путь поверх и получает несуществующий маршрут.
  • model_not_found: опечатка в имени, модель снята с производства, или имя написано с точкой, а у сервиса принято через дефис.
  • GET вместо POST: обращение к endpoint генерации методом GET, например через браузер или неверно настроенный HTTP-узел.
  • Другой формат API: Anthropic-путь /v1/messages отправлен на OpenAI-совместимый адрес или наоборот.
/ Тексты ошибок

Что пишет сервер и что это значит

Текст в ответеПричинаЧто делать
model_not_found / The model does not existТакой модели нет или имя с опечаткойВозьмите точное имя из /v1/models
Not Found на любой запросbase URL без /v1 или с лишним путёмОставьте адрес до /v1 включительно, остальное добавит SDK
Cannot GET /v1/chat/completionsМетод GET вместо POSTОтправляйте POST с JSON-телом
404 с HTML вместо JSONЗапрос ушёл не на API, а на сайт или проксиПроверьте домен и порт в base URL
Unknown path / route not foundПуть другого формата APIСверьте: /v1/chat/completions для OpenAI-формата, /v1/messages для Anthropic

Тексты приведены по ответам сервисов на момент написания; формулировки отличаются от сервиса к сервису.

/ Что делать

Порядок действий

01

Проверьте адрес списком моделей

Если этот запрос отвечает 200 и списком, base URL верный. Если 404, дело в адресе, а не в модели.

curl https://api.kosareva.cloud/v1/models \
  -H "Authorization: Bearer $KEY"
02

Оставьте base URL до /v1

Правильно: https://api.kosareva.cloud/v1. Неправильно: без /v1 или с /chat/completions в конце. SDK и большинство инструментов добавляют путь сами.

from openai import OpenAI
client = OpenAI(base_url="https://api.kosareva.cloud/v1", api_key="KEY")
r = client.chat.completions.create(model="gpt-5-6", messages=[{"role": "user", "content": "Привет"}])
03

Скопируйте имя модели из списка

Не набирайте имя по памяти: у каждого сервиса свои слаги, где-то с точками, где-то с дефисами. Возьмите строку id из ответа /v1/models.

04

Убедитесь, что метод POST

Endpoint генерации принимает только POST с телом JSON. Открытие адреса в браузере или GET-нода в конструкторе сценариев даст 404 или 405.

05

Сверьте формат API с адресом

Claude Code и Anthropic SDK ходят на /v1/messages, OpenAI SDK и совместимые инструменты на /v1/chat/completions. Адрес должен поддерживать тот формат, которым говорит ваш инструмент.

/ По инструментам

Где это чинится в разных инструментах

  • Cursor, Cline, Continue. Поле base URL должно заканчиваться на /v1, поле model содержать точный слаг. Лишний пробел или слеш в конце тоже ломают путь у некоторых версий.
  • Open WebUI. Пустой список моделей после сохранения соединения обычно значит 404 на /v1/models: проверьте, что адрес с /v1 и что «Verify connection» проходит.
  • n8n и Make. В HTTP-ноде метод должен быть POST, а URL полным, до /chat/completions включительно: здесь SDK ничего не добавляет.
  • Python и Node.js SDK. Исключение NotFoundError. Выведите поле body: там будет либо model_not_found, либо текст про путь.
/ FAQ

Частые вопросы

Нужен ли /v1 в base URL?

Для OpenAI SDK и совместимых инструментов да: адрес заканчивается на /v1, дальше SDK добавляет /chat/completions сам. В HTTP-ноде без SDK пишите полный путь.

Почему модель есть в каталоге, а API отвечает model_not_found?

Имя в каталоге и слаг в API могут отличаться: точки, дефисы, суффиксы версий. Берите id из /v1/models.

404 или 400, если модели нет?

У OpenAI отсутствующая модель приходит как 404 model_not_found. Часть сервисов отдаёт 400 с тем же смыслом, поэтому смотрите message, а не только код.

/ На kosareva.cloud

Как это выглядит у нас

Наш адрес для OpenAI-формата https://api.kosareva.cloud/v1, для Claude Code https://api.kosareva.cloud без /v1: переменная ANTHROPIC_BASE_URL. Имена моделей у нас без точек: gpt-5-6, claude-sonnet-5, gemini-3-8-flash, deepseek-v4-flash, точный список отдаёт /v1/models по вашему ключу. Если инструмент требует адрес до /chat/completions, дописывать его нужно только там, где нет SDK.

Ключ, который работает из России

OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.

Получить ключ