OpenRouter: что это, какие модели доступны и как работать с API

OpenRouter даёт единый OpenAI-совместимый API для доступа к моделям и маршрутизации между провайдерами. Разбираем ключи, первый запрос, free-варианты, 402 и 429, приватность и запуск в production.

OpenRouter: что это, какие модели доступны и как работать с API

В коде уже есть вызов Chat Completions. Менять хочется только ключ, base URL и model ID, а не переписывать интеграцию под каждого поставщика. Для такого сценария и нужен OpenRouter: это единый OpenAI-совместимый API и маршрутизатор к моделям и inference-провайдерам. Но одинаковый endpoint не делает модели одинаковыми: параметры, формат ответов, цена, задержка и правила данных всё равно зависят от выбранной модели и маршрута.

Что такое OpenRouter и когда он нужен?

OpenRouter полезен, когда вы собираете прототип, сравниваете несколько моделей или хотите предусмотреть резервный маршрут при сбое основного. Один ключ и совместимый API уменьшают интеграционный слой. Прямой API провайдера часто разумнее, если нужны его специфичные функции, договорные условия или полностью предсказуемый контур обработки данных.

Например, через один слой можно тестировать решения разных семейств, включая модели, о которых мы писали в материалах что такое DeepSeek и как им пользоваться, и затем оставить конкретный model ID для задачи. А когда нужен весь набор возможностей одного поставщика, полезно сравнить этот подход с прямой интеграцией из статьи как подключиться к Claude через API.

Сначала зафиксируйте одну измеримую задачу: классификация, извлечение полей, ответ оператору, генерация кода. Так вы сравните модели по качеству, задержке и стоимости на одинаковых входных данных.

Какие модели доступны и почему нельзя брать статичный список?

На дату проверки 13.07.2026 OpenRouter показывает каталог из сотен моделей. Полный перечень в статье устареет раньше публикации: сервис добавляет и убирает модели, а один model ID может обслуживаться разными провайдерами. Перед внедрением смотрите карточку в каталоге или ответ GET /api/v1/models: там есть ID, pricing, поддерживаемые параметры и другие свойства.

Что означает доступностьЧто проверитьПочему это важно
Модель есть в каталогеModel ID в каталоге или Models APIНазвание модели не заменяет точный ID
Функция поддерживаетсяКонтекст, modalities, `supported_parameters`Tools, JSON-схема и reasoning могут отличаться
Есть подходящий провайдерМаршрут, нагрузка, правила приватностиОдин ID не гарантирует один backend
Модель доступна вашему аккаунтуНастройки, региональные и платёжные условияФильтры и статус аккаунта могут сузить выбор

Выбирайте модель под контракт задачи. Для tool calling проверьте tools и формат аргументов, для структурированного ответа проверьте поддержку нужных параметров, для длинного документа проверьте контекст. Тот же принцип работает с моделями Qwen: сначала задача и возможности, потом громкое имя. Базовый разбор есть в статье Qwen: что это и как пользоваться.

Каталог OpenRouter с карточками моделей, параметрами и поставщиками инференса
Перед запуском сверяйте model ID, возможности, цену и доступных провайдеров в каталоге или через Models API.

Как получить ключ и отправить первый запрос к API?

Создайте отдельный ключ в интерфейсе OpenRouter для dev, staging или production и сразу задайте ему кредитный лимит. Храните ключ в переменной окружения или secrets manager. Не кладите его во фронтенд, публичный репозиторий, скриншот или клиентское приложение. Если ключ утёк, отзовите его и выпустите новый.

bash
curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [
      {"role": "user", "content": "Кратко объясни, что такое API."}
    ]
  }'

Базовый URL: https://openrouter.ai/api/v1, а первый запрос идёт на /chat/completions. После него сохраните у себя timestamp, model ID, HTTP-код, задержку и usage. Полный prompt и ключ в прикладные логи лучше не писать без необходимости.

@yourself_realize

Практика работы с AI API

В Telegram разбираем, как подключать модели к продуктам, считать расходы и проверять ответы до запуска в production.

Подписаться

Как выбрать модель и настроить маршрутизацию?

По умолчанию OpenRouter распределяет запросы между подходящими провайдерами. Через объект provider маршрут можно ограничить или настроить. А fallback задаёт очередь совместимых моделей: следующую пробуют, когда провайдер основной модели недоступен, упёрся в rate limit или отклонил ответ из-за модерации.

Fallback нельзя включить и забыть. Резервная модель может иначе держать русский язык, возвращать JSON, вызывать инструменты и считать токены. Если вы используете tool calling, заранее проверьте совместимость параметров и контракт вызовов. Отдельно о подключении инструментов рассказывает MCP для Claude: как подключить инструменты.

КритерийЧто проверитьРиск без проверки
КачествоНабор ваших тестовых запросовОтвет годится в демо, но ломает рабочий сценарий
СовместимостьJSON, tools, structured outputs, контекстFallback возвращает другой формат
МаршрутДопустимые providers и privacy-параметрыЗапрос уйдёт в неподходящий контур
БюджетPricing, `usage`, лимит ключаРасходы обнаружатся после запуска
Устойчивость429, недоступность и тест fallbackПовторы или резервная модель ухудшат сервис

Что с бесплатными моделями, лимитами и расходами?

У OpenRouter есть free-router openrouter/free и варианты с суффиксом :free для моделей, где такой вариант доступен. Free-router случайно выбирает доступную бесплатную модель, поэтому конкретный результат не контролируется. У free-вариантов могут быть ниже лимиты, выше задержка и временная недоступность. Для критичного сценария держите совместимый резервный маршрут.

Условия проверены 13.07.2026 и могут меняться. Pricing-страница на эту дату указывала 25+ free models, 4 free providers, 50 запросов в день и доступ только к free-моделям на free-плане. Для ID, оканчивающихся на :free, документация указывала 20 запросов в минуту; 50 запросов в день при покупках кредитов менее $10 за всё время и 1000 в день при $10+. Это не обещание будущих условий.

!

HTTP 402 означает, что вы превысили кредитный лимит или не хватает доступного бюджета. HTTP 429 означает rate limit: ключ может быть рабочим, но запросов за интервал слишком много. Для 429 учитывайте Retry-After и применяйте exponential backoff; для 402 останавливайте или упрощайте сценарий и проверяйте лимит ключа через GET /api/v1/key.

Схема обработки ошибок OpenRouter 402 и 429 с лимитом ключа и повтором запроса
402 связан с бюджетом и лимитом ключа, 429 с частотой запросов. Эти ошибки требуют разных действий.

Как не передать лишние данные?

Запрос обслуживает выбранный провайдер модели, поэтому политика retention и обучения зависит от него. Если для задачи нужно нулевое хранение, настройте или потребуйте ZDR и убедитесь, что после фильтрации у модели остался допустимый endpoint. ZDR и запрет на обучение на данных означают разные условия, их нельзя подменять одной галочкой.

  • Отделите ключи dev, staging и production и поставьте каждому расходный лимит.
  • Передавайте минимум персональных и коммерческих данных, нужный для ответа.
  • Проверьте retention, training policy и ограничения провайдера до отправки чувствительных данных.
  • Не пишите ключи и полный текст чувствительных запросов в логи.
  • Для регулируемых данных отдельно проверьте договорные условия и применимое право.
@yourself_realize

Безопасные интеграции с нейросетями

Подписывайтесь на Telegram: там выходят схемы по ключам, лимитам, приватности и проверке AI-функций перед релизом.

Подписаться

Можно ли пользоваться и оплачивать из России?

Общего подтверждённого ответа для резидента РФ или карты РФ нет. Публичная pricing-страница перечисляет карты, crypto и банковские переводы для pay-as-you-go, но из этого нельзя вывести доступность регистрации, KYC, покупки кредитов или работы API в вашем случае. Перед оплатой проверьте актуальный интерфейс, правила сервиса и ответ поддержки. Не обходите ограничения платёжных систем, сервиса или применимого права.

То же правило полезно держать в голове при выборе моделей Google: материал как пользоваться Gemini из России помогает разобраться с самим продуктом, но не заменяет проверку доступа и оплаты на конкретную дату.

Чек-лист перед production

Перед релизом пройдите короткий список. Он ловит большинство сюрпризов раньше, чем их увидит пользователь.

ПроверкаГотово, если
КлючЕсть отдельный production-ключ с кредитным лимитом и планом ротации
МодельЗафиксирован model ID и протестированы нужные параметры
FallbackРезервные модели проходят контрактные тесты на формат и tools
Ошибки402 и 429 обрабатываются по-разному; для 429 есть backoff
НаблюдаемостьСохраняются model ID, HTTP-код, latency, `usage` и внутренний request ID
ДанныеПроверены provider policy, retention/training и требования к ZDR
БюджетКоманда видит `limit_remaining` и следит за аномалиями расхода

OpenRouter удобно ставить между приложением и меняющимся рынком моделей. А перед запуском всё равно придётся сделать скучную, полезную работу: проверить контракт, маршрут, данные и деньги. Именно она спасает интеграцию, когда каталог снова поменяется.

FAQ об OpenRouter

Для эксперимента или небольшого объёма это возможно, но free-router и варианты :free имеют лимиты, временную недоступность и могут давать повышенную задержку. В критичном сценарии нужен совместимый fallback и контроль качества. Условия free-доступа меняются, поэтому сверяйте их перед запуском.
429 означает rate limit, а не обязательно проблему с ключом или балансом. Прочитайте Retry-After, уменьшите частоту и повторяйте запрос с exponential backoff. Нехватка бюджета или превышение кредитного лимита связаны с HTTP 402.
Запрос обрабатывает выбранный provider, и его retention и training policy могут отличаться от других. Для чувствительных данных проверяйте условия конкретного провайдера, настраивайте ограничения и ZDR, если он требуется. ZDR не равен запрету на обучение на данных.
OpenRouter удобен для единой интеграции, тестов нескольких моделей и fallback-маршрутов. Прямой API выбирают, когда нужны специфичные функции провайдера, фиксированный контур данных или отдельные коммерческие условия. В обоих случаях тестируйте реальный контракт ответа.