Скидка до 55% и курс по ИИ в подарок 2 дня 10 :28 :07 Выбрать курс
Код
#статьи

Что такое OpenRouter и как им пользоваться

Разбираем процесс от регистрации до первого API-запроса.

Иллюстрация: Polina Vari для Skillbox Media

Разработчикам доступны десятки популярных ИИ-моделей: GPT, Claude, Gemini и множество open-source-решений. Но у разных провайдеров свои API, тарифы и правила работы. Если в проекте нужно использовать несколько нейросетей или быстро переключаться между ними, это усложняет разработку.

OpenRouter решает эту проблему: сервис предоставляет единый API для доступа к моделям разных разработчиков. Через него можно работать с сотнями моделей для генерации и обработки текста, изображений, аудио и видео — от бесплатных open-source-вариантов до актуальных вариантов от OpenAI, Anthropic и Google.

В этой статье мы разберёмся, как устроен OpenRouter, как зарегистрироваться в этом сервисе, выбрать модель, создать API-ключ и отправить первый запрос из своего проекта.

Содержание


Зачем нужен OpenRouter

OpenRouter называет себя единым интерфейсом для всех моделей. По сути, это промежуточный слой между приложением и поставщиками нейросетей. Принцип похож на агрегатор такси: интерфейс остаётся единым, а конкретный провайдер, который обрабатывает запрос, может меняться.

OpenRouter имеет несколько преимуществ по сравнению с ручным подключением отдельных нейросетей к IT-сервису.

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

Проще сравнивать модели. Высокое место в бенчмарке не означает, что нейросеть лучше подойдёт для конкретной задачи. Например, она может хорошо решать математические задачи, но хуже сокращать тексты. Через платформу можно отправить одинаковые запросы нескольким моделям и сравнить качество ответов, скорость и стоимость.

Можно использовать разные модели для разных задач. Например, в сервисе поддержки недорогая нейросеть может определять тему обращения: оплата, доставка или возврат. Более сложные запросы, для которых нужно учитывать историю переписки и условия заказа, можно передавать другой модели. Это позволяет не использовать дорогую модель там, где её возможности не нужны.

В результате приложение меньше зависит от конкретной нейросети или компании. Если ИИ перестанет устраивать по цене, скорости или качеству ответов, заменить его будет проще. При этом зависимость от внешнего сервиса сохраняется: посредником между приложением и поставщиками моделей становится OpenRouter.

Как работает OpenRouter

Основной способ работы с OpenRouter — через API. Приложение отправляет запрос и указывает нужную модель — например, Claude, GPT, Gemini или DeepSeek. OpenRouter передаёт запрос провайдеру, получает ответ модели и возвращает его приложению.

В запросе можно указать модель, системную инструкцию, сообщение пользователя и параметры генерации. В ответ OpenRouter возвращает результат работы модели и служебные данные.

Доступ к одной и той же нейросети могут предоставлять несколько провайдеров. В таком случае платформа может выбрать поставщика автоматически с учётом стоимости, задержки и доступности. Например, если один провайдер временно недоступен, сервис может направить запрос другому.

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

Стоимость использования модели зависит от выбранной нейросети и провайдера. Обычно она рассчитывается по количеству входных и выходных токенов. Актуальные цены можно посмотреть на странице конкретной модели в каталоге OpenRouter.

Провайдеры, через которых доступна модель Qwen3.8 27B
Изображение: официальный сайт OpenRouter

Как начать пользоваться OpenRouter

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

Информация про API-ключ
Изображение: OpenRouter

Летом 2026 года часть пользователей OpenRouter из России и Беларуси получила уведомления об ограничении API-доступа из-за географии аккаунта. При этом у части российских пользователей сервис продолжает работать.

Поэтому рассчитывать на стабильный доступ из России не стоит: он может зависеть от региона аккаунта, IP-адреса и ограничений конкретного провайдера. VPN тоже не гарантирует решение проблемы, если ограничения связаны не только с текущим IP.

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

В OpenRouter есть бесплатные модели, за запросы к которым не списываются кредиты. Также сервис предлагает маршрутизатор openrouter/free: он автоматически выбирает одну из доступных бесплатных нейросетей с учётом возможностей, необходимых для запроса.

Доступные способы оплаты в OpenRouter
Изображение: OpenRouter

Как выбрать модель в OpenRouter

Подходящую модель можно найти в разделе Models. В каталоге есть поиск по названию и фильтры по типу входных данных, размеру контекстного окна, стоимости и другим параметрам.

Окно поиска доступных моделей
Изображение: OpenRouter

У каждой модели есть отдельная страница с основными характеристиками. На ней можно посмотреть размер контекстного окна, стоимость входных и выходных токенов, поддерживаемые возможности, а также список доступных провайдеров и показатели их работы. Это помогает сравнить несколько моделей и выбрать подходящую по возможностям, скорости и цене.

Перед подключением к проекту нейросеть можно протестировать прямо в браузере. Для этого на платформе есть Chat Playground — интерфейс, в котором можно выбрать одну или несколько моделей, отправить им одинаковые запросы и сравнить ответы без написания кода и настройки API.

Песочница ByteDance Seed: Seedream 5.0 Lite
Изображение: OpenRouter

Как подключить OpenRouter к проекту

Разберём подключение OpenRouter на примере V4 Flash Vision Exp — экспериментальной мультимодальной модели DeepSeek, которая работает с текстом и изображениями. На странице нейросети во вкладке API указан её идентификатор: deepseek/deepseek-v4-flash-vision-exp. Он понадобится, чтобы указать платформе, к какой модели нужно отправить запрос.

OpenRouter поддерживает несколько форматов API-запросов. Основные из них:

  1. POST /api/v1/chat/completions — формат Chat Completions, совместимый с OpenAI API. Поддерживает обычные и потоковые ответы.
  2. POST /api/v1/responses — формат OpenAI Responses API.
  3. POST /api/v1/messages — формат Anthropic Messages API. Через него можно передавать текст, изображения и PDF, а также использовать инструменты и расширенный режим рассуждений.

Для большинства простых интеграций подойдёт chat/completions. Этот формат особенно удобен, если проект уже использует OpenAI SDK: обычно достаточно заменить базовый URL на адрес OpenRouter, указать API-ключ и идентификатор нужной модели.

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

Дальше разберём два универсальных способа отправки запроса в OpenRouter — с помощью Python и cURL.

Подключение OpenRouter на Python

Для отправки запросов из Python можно использовать библиотеку Requests. Установите её командой:

pip install requests

API-ключ лучше не прописывать прямо в коде. Безопаснее сохранить его в переменной окружения OPENROUTER_API_KEY, а затем получить значение в программе через os.environ. Так ключ не попадёт в исходный код и, например, случайно не окажется в публичном репозитории.

Для DeepSeek V4 Flash Vision Exp в запросе нужно указать идентификатор deepseek/deepseek-v4-flash-vision-exp.

Теперь соберём запрос целиком. В примере программа получает API-ключ из переменной окружения и отправляет в OpenRouter два последовательных запроса к модели DeepSeek V4 Flash Vision Exp.

Сначала модель получает вопрос и отвечает на него с включённым режимом рассуждений. Программа сохраняет текст ответа и данные reasoning_details, связанные с рассуждением нейросети. Метод raise_for_status() дополнительно проверяет HTTP-статус ответа и вызывает исключение, если сервер вернул ошибку, например 401 или 404.

Затем программа формирует продолжение диалога: добавляет исходный вопрос, ответ модели, сохранённые reasoning_details и новое уточнение пользователя. После этого вся история отправляется в OpenRouter повторно.

Так модель получает контекст предыдущего запроса и может продолжить рассуждение с учётом уже полученного ответа.

import os
import requests
import json

API_KEY = os.environ["OPENROUTER_API_KEY"]

url = "https://openrouter.ai/api/v1/chat/completions" 
headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json", }

# Первый запрос с reasoning
response = requests.post(
  url=url,
  headers=headers,
  data=json.dumps({
    "model": "deepseek/deepseek-v4-flash-vision-exp",
    "messages": [
        {
          "role": "user",
          "content": "How many r's are in the word 'strawberry'?"
        }
      ],
    "reasoning": {"enabled": True}
  })
)

# Останавливаем выполнение кода, если сервер вернул HTTP-ошибку
response.raise_for_status()

# Получаем сообщение модели
response = response.json()
response = response['choices'][0]['message']

# Сохраняем ответ модели и reasoning_details для продолжения диалога
messages = [
  {"role": "user", "content": "How many r's are in the word 'strawberry'?"},
  {
    "role": "assistant",
    "content": response.get('content'),
    "reasoning_details": response.get('reasoning_details')  # Pass back unmodified
  },
  {"role": "user", "content": "Are you sure? Think carefully."}
]

# Второй запрос: модель продолжает диалог
response2 = requests.post(
  url=url,
  headers=headers,
  data=json.dumps({
    "model": "deepseek/deepseek-v4-flash-vision-exp",
    "messages": messages,  # Includes preserved reasoning_details
    "reasoning": {"enabled": True}
  })
)

Подключение OpenRouter через cURL

Тот же запрос можно отправить без Python — прямо из терминала с помощью cURL. Этот способ удобен для быстрой проверки API-ключа, выбранной модели и параметров запроса.

Сначала сохраните ключ с API в переменной окружения:

export OPENROUTER_API_KEY="ваш_API_ключ"

После этого выполните запрос:

1
  curl https://openrouter.ai/api/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENROUTER_API_KEY" \
    -d '{
    "model": "deepseek/deepseek-v4-flash-vision-exp",
    "messages": [
      {
        "role": "user",
        "content": "How many r`s are in the word `strawberry?`"
      }
    ],
    "reasoning": {
      "enabled": true
    }
}'

Здесь мы обращаемся к тому же эндпоинту chat/completions, передаём API-ключ в заголовке Authorization, указываем модель и добавляем сообщение пользователя.

В ответ OpenRouter вернёт JSON со служебными данными и результатом работы нейросети. В отличие от примера на Python, cURL не обрабатывает ответ — он просто выводит его целиком в терминал.

Если нужен только текст ответа модели, результат можно передать утилите jq через пайп:

| jq -r '.choices[0].message.content'

Тогда в терминале останется только содержимое поля content, без остальных данных из ответа API.

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

Разберём несколько практических вопросов, которые могут возникнуть при работе с OpenRouter: от пополнения баланса и ошибок API до выбора провайдера и настройки резервных моделей.

Как пополнить баланс OpenRouter

OpenRouter работает по предоплате: пользователь покупает кредиты, а стоимость запросов постепенно списывается с баланса. Для аккаунтов без региональных ограничений сервис поддерживает оплату банковскими картами, через Alipay и криптовалютой USDC.

Российские карты для прямой оплаты не подходят. Если на аккаунт уже распространяются региональные ограничения, иностранная карта не решит проблему.

Почему OpenRouter не отправляет запрос

Сначала посмотрите HTTP-код ошибки. По нему часто можно быстро понять причину проблемы:

  • 401 — проблема с API-ключом;
  • 402 — недостаточно средств;
  • 403 — доступ запрещён;
  • 404 — указан неправильный адрес или ресурс недоступен;
  • 429 — превышен лимит запросов;
  • 502, 503 и 529 — проблема на стороне провайдера или высокая нагрузка на его инфраструктуру.

Если код и текст ошибки не помогают установить причину, проверьте API-ключ, остаток кредитов, идентификатор модели и установленные лимиты. Затем попробуйте другую нейросеть или провайдера.

Где посмотреть доступные модели OpenRouter

Актуальный каталог находится в разделе Models. Модели можно фильтровать по типу входных и выходных данных, цене, размеру контекстного окна, поддерживаемым параметрам, провайдерам и другим характеристикам.

На странице конкретной нейросети указаны её идентификатор для API, стоимость и доступные эндпоинты.

Если список моделей нужен непосредственно в приложении, его можно получить через API:

GET https://openrouter.ai/api/v1/models

В ответ OpenRouter вернёт идентификаторы моделей, размер контекстного окна, поддерживаемые возможности, цены и другие параметры.

Можно ли пользоваться OpenRouter бесплатно

Да, в OpenRouter есть бесплатные модели, которые можно найти в каталоге по пометке : free. Также можно указать openrouter/free — в этом случае сервис сам выберет одну из доступных бесплатных нейросетей.

Состав бесплатного каталога меняется, поэтому рассчитывать на постоянную доступность конкретной модели не стоит.

Для бесплатных вариантов действуют отдельные лимиты — 50 запросов в день и 20 запросов в минуту. Если пользователь приобрёл кредиты на сумму от десяти долларов, дневной лимит для бесплатных моделей увеличивается до 1000 запросов. Лимит в 20 запросов в минуту при этом сохраняется.

Как настроить fallback в OpenRouter

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

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

Как выбрать провайдера в OpenRouter

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

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

Это полезно, если вам важны скорость ответа, стоимость запросов или стабильность работы.

Стоит ли использовать OpenRouter

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

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

При этом важно понимать, что сервис добавляет ещё один слой между приложением и поставщиком модели. Если проекту важен прямой доступ к API конкретной компании, строгий контроль над маршрутом и обработкой данных или минимальное количество посредников, отдельная интеграция может быть предпочтительнее.

Поэтому выбор зависит от задачи: OpenRouter даёт больше гибкости при работе с разными моделями, а прямое подключение — больше контроля над конкретным провайдером.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Освойте 45+ топовых нейросетей в одном курсе
На курсе Skillbox вы на практике изучите ИИ-инструменты. Сможете делать за минуты то, на что раньше уходили часы.
Узнать о курсе
Курсы по нейросетям
Читаете про нейросети?
Освойте их на уровне эксперта. По клику — 22 курса по ИИ под разные задачи и бюджет.
Смотреть курсы
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована