Коротко
Подключить свой ключ вместо подписки можно не к любому инструменту, и дело не в ключе, а в том, куда инструмент ходит. Универсального «вставьте ключ и всё» не существует: половина популярных агентов жёстко прибита к своему вендору.
Правило, по которому всё решается, одно:
Инструмент заработает на вашем ключе, если у него настраивается адрес API и он говорит в OpenAI-совместимом формате.
Обе части обязательны. Настраиваемый адрес без совместимого формата не поможет - ключ вставится, запрос уйдёт и вернётся ошибкой.

Ниже - как проверить любой инструмент за минуту, что подключается, что нет и почему.
Почему «OpenAI-совместимый» вообще что-то значит
Формат запроса к модели у разных вендоров разный. Исторически сложилось, что формат OpenAI - ручка /v1/chat/completions, поле model, массив messages - стал общим языком: его повторяют почти все сервисы, потому что под него уже написаны все библиотеки.
Отсюда практическое следствие: смена модели или сервиса - это две строки, адрес и ключ, если обе стороны говорят на этом языке.
from openai import OpenAI
client = OpenAI(
api_key="ar-...",
base_url="https://api.altrouter.ai/v1",
)
resp = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "привет"}],
)
Ровно этот же приём работает в любом инструменте, который внутри использует библиотеку openai или даёт поле «Base URL» в настройках.
Но у части вендоров есть свой формат. У Anthropic это ручка /v1/messages с другой структурой запроса. Инструмент, написанный под неё, чужой адрес принять не сможет, даже если поле для адреса в нём есть.
Проверка за минуту
Не гадайте по документации инструмента - спросите сам сервис. Две команды.
Есть ли OpenAI-совместимая ручка:
curl -s -o /dev/null -w "%{http_code}\n" \
-X POST https://api.altrouter.ai/v1/chat/completions \
-H 'content-type: application/json' -d '{}'
401 - ручка есть, не хватает только ключа. Это то, что нужно.
404 - ручки нет, инструмент под этот формат не подключится.
Есть ли Anthropic-совместимая ручка:
curl -s -o /dev/null -w "%{http_code}\n" \
-X POST https://api.altrouter.ai/v1/messages \
-H 'content-type: application/json' -d '{}'
На нашем шлюзе это 404 - и это прямой ответ на вопрос, почему часть инструментов через нас не идёт.
Тот же приём годится для любого другого сервиса: подставьте его адрес и посмотрите на код. 401 или 403 означают «ручка на месте», 404 - «такого формата здесь нет».
Что подключается
Ваш собственный код. Любой скрипт на библиотеке openai для Python или Node - две строки, показанные выше. Сюда же попадают LangChain, LlamaIndex и всё, что принимает base_url.
Агенты и расширения с выбором «OpenAI Compatible». Если в настройках провайдера есть такой пункт и под ним поля для адреса и ключа - заработает. Порядок один и тот же: выбрать OpenAI-совместимого провайдера, вписать https://api.altrouter.ai/v1, вставить ключ ar-..., вписать идентификатор модели ровно как на витрине.
Инструменты с конфигом. Там, где провайдер описывается в JSON или YAML, нужны те же три поля - baseUrl, apiKey, список моделей.

🔴 Проверяйте каждый шаг, а не только итог. Самая частая поломка - лишний пробел или слеш в конце адреса: /v1 вместо /v1 даёт 404 Cannot POST /api/v1%20/..., и выглядит это как «сервис не работает». Прежде чем менять настройки дальше, посмотрите, что записалось в конфиг.
Что не подключается
Claude Code. Ходит в Anthropic-совместимый /v1/messages. У нас этой ручки нет - ключ вставится, работать не будет.
Cursor. По той же причине.
Это не временная недоработка, о которой стоит написать в поддержку: это разница форматов. Пока у шлюза нет Anthropic-совместимой ручки, инструменты, написанные под неё, через него не пойдут. Если ваш рабочий инструмент - именно Claude Code или Cursor, заводить ключ ради них не нужно.
Ещё одна честная граница: мы даём API, а не плагин к редактору. Автодополнения по Tab и кнопки «объясни выделенное» у нас нет и не будет - это работа расширений, а не шлюза.
Что даёт свой ключ вместо подписки
Разница не в цене за месяц, а в модели оплаты.

Подписка - фиксированная сумма и лимиты внутри. Выгодна, если вы пользуетесь инструментом каждый день и упираетесь в эти лимиты.
Ключ - вы платите за то, что потратили. Выгоден при неровной нагрузке: неделю активно, две недели почти нет.
| Сценарий | Что дешевле |
|---|---|
| Каждый день, помногу | подписка |
| Несколько раз в неделю | ключ |
| Пять инструментов, каждому нужен доступ | ключ - он один на все |
| Нужна конкретная модель, которой нет в подписке | ключ |
Отдельный плюс ключа - один счёт и один баланс на всё: скрипты, агент, эксперимент в ноутбуке. Отдельный минус - счёт заранее неизвестен, и это надо закрывать лимитом на ключ, а не самодисциплиной.
С чего начать
- Проверьте инструмент двумя curl-ами до того, как что-то настраивать.
- Заведите отдельный ключ под каждый инструмент. Так видно, кто сколько тратит, и один ключ можно отозвать, не трогая остальные.
- Поставьте лимит трат на ключ. Агент в цикле умеет удивлять.
- Впишите идентификатор модели ровно как на витрине - большинство «не работает» это опечатка в имени модели.
- Начните с лёгкой модели. Убедитесь, что связь есть, и только потом переключайтесь на флагман.
Все 44 модели с идентификаторами и ценами - на витрине. Про то, во сколько обходится работа с агентом, - разбор вайбкодинга, а про выбор модели под кодовые задачи - здесь. Что выгоднее в вашем случае, ключ или подписка, - считали отдельно.
FAQ
Что значит «OpenAI-совместимый API»?
Что сервис принимает запросы в том же формате, что и OpenAI: ручка /v1/chat/completions, поле model, массив messages. Такой формат повторяет большинство сервисов, поэтому переезд между ними сводится к смене адреса и ключа, без переписывания кода.
Работает ли Claude Code через ваш API?
Нет. Claude Code обращается к Anthropic-совместимой ручке /v1/messages, а на нашем шлюзе её нет - есть OpenAI-совместимая /v1/chat/completions. Ключ вставится, но запросы работать не будут. То же касается Cursor и любого инструмента, написанного под формат Anthropic.
Как быстро понять, подключится ли мой инструмент?
Посмотрите в его настройках, есть ли поле для адреса API и пункт «OpenAI Compatible» среди провайдеров. Если есть оба - почти наверняка подключится. Если провайдеры заданы жёстко списком без своего адреса - нет.
Почему после настройки приходит 404?
Чаще всего из-за адреса: лишний пробел, лишний слеш в конце или потерянный /v1. Проверьте, что именно записалось в конфиг, а не что вы вводили. Второй по частоте случай - инструмент ходит в ручку другого формата, которой у сервиса нет.
Что выгоднее - подписка или свой ключ?
Зависит от ровности нагрузки. При ежедневной плотной работе дешевле подписка, при неровной - ключ, потому что вы платите только за потраченное. Плюс один ключ обслуживает сразу несколько инструментов, а подписки покупаются на каждый отдельно.
Можно ли ограничить траты по ключу?
Да, и это стоит сделать до первого запуска агента. Лимит на ключ - единственная защита от цикла, который за ночь потратит месячный бюджет: сам по себе шлюз не знает, что запрос был лишним.