OpenRouter — это платформа‑агрегатор, которая предоставляет единый API для доступа к более чем 400 моделям искусственного интеллекта от ведущих мировых компаний. Представьте себе «Netflix для AI‑моделей» — одна подписка, один API, сотни возможностей. Вместо регистрации в десятках различных сервисов и изучения уникальных интерфейсов каждого провайдера, OpenRouter объединяет все под одной крышей.

OpenRouter решает ключевые проблемы AI‑разработки: упрощает интеграцию с множеством моделей, обеспечивает прозрачное ценообразование и избавляет от привязки к одному провайдеру. Разработчики получают возможность легко переключаться между моделями от DeepSeek, Meta, xAI, Mistral, Qwen и других провайдеров, тестировать разные решения для одной задачи и масштабировать приложения без привязки к конкретному поставщику.

Интеллектуальная ротация и отказоустойчивость

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

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

Доступ в России

На момент написания статьи OpenRouter не блокирует российских пользователей по IP‑адресу, поэтому доступ к платформе открыт. Основная сложность заключается в невозможности оплаты услуг российскими банковскими картами.

Эта проблема решается с помощью ProxyAPI — сервиса, который я использую для работы с моделями OpenAI, Anthropic и Google Gemini. Недавно они добавили поддержку OpenRouter в России с прозрачной фиксированной комиссией. Процесс простой: регистрируемся на платформе, получаем API‑ключ, пополняем баланс удобным способом и начинаем работать со всеми моделями OpenRouter.

Примеры использования на Python

Установка

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

pip install openai

Первый запрос

from openai import OpenAI

client = OpenAI(
    base_url="https://api.proxyapi.ru/openrouter/v1",
    api_key="<КЛЮЧ-PROXYAPI>"
)

response = client.chat.completions.create(
    model="deepseek/deepseek-chat",
    messages=[
        {"role": "user", "content": "Объясни принцип работы нейронных сетей простыми словами"}
    ]
)

print(response.choices[0].message.content)

В этом примере мы обращаемся к модели DeepSeek Chat через OpenRouter. Достаточно указать base_url OpenRouter и ваш API‑ключ, после чего можно использовать любую доступную модель, просто меняя параметр model. Полный список доступных моделей можно получить через эндпоинт /api/v1/models или на сайте OpenRouter.

Настройка fallback-моделей и управление провайдерами

OpenRouter предоставляет мощные инструменты для обеспечения надежности запросов и контроля над выбором провайдеров.

Базовая настройка fallback-моделей

from openai import OpenAI

client = OpenAI(
    base_url="https://api.proxyapi.ru/openrouter/v1",
    api_key="<КЛЮЧ-PROXYAPI>"
)

response = client.chat.completions.create(
    model="deepseek/deepseek-chat",
    messages=[
        {"role": "user", "content": "Напиши код для анализа данных на Python"}
    ],
    extra_body={
        "models": [
            "meta-llama/llama-3.1-405b-instruct",
            "mistralai/mistral-medium-3"
        ]
    }
)

print(response.choices[0].message.content)

Параметр extra_body.models позволяет указать список fallback‑моделей в порядке приоритета. Если основная модель (DeepSeek Chat) недоступна или перегружена, OpenRouter автоматически попробует следующую в списке — сначала Llama 3.1, затем Mistral Medium 3.

Разрешение только определенных провайдеров

Параметр provider.only позволяет ограничить выбор конкретными провайдерами. Это полезно, когда вы хотите использовать только проверенные или наиболее подходящие для задачи провайдеры:

response = client.chat.completions.create(
    model="meta-llama/llama-3.1-70b-instruct",
    messages=[
        {"role": "user", "content": "Проанализируй этот код на безопасность"}
    ],
    extra_body={
        "provider": {
            "only": ["fireworks", "together"]
        }
    }
)

В этом примере модель Llama 3.1 70B будет запущена только на провайдерах Fireworks или Together. Если оба недоступны, запрос завершится ошибкой, а не переключится на другие провайдеры.

Исключение провайдеров

Параметр provider.ignore позволяет исключить определенные провайдеры из рассмотрения.

response = client.chat.completions.create(
    model="meta-llama/llama-3.3-70b-instruct",
    messages=[
        {"role": "user", "content": "Напиши краткое резюме этой статьи"}
    ],
    extra_body={
        "provider": {
            "ignore": ["deepinfra"]  # Исключаем самый дешевый провайдер
        }
    }
)

Этот пример заставит OpenRouter использовать альтернативные провайдеры для Llama 3.3 70B, исключив DeepInfra, который обычно предлагает самые низкие цены, но может иметь нестабильное качество.

Поиск доступных моделей

Полный список доступных моделей можно найти двумя способами:

Через веб-интерфейс

На сайте openrouter.ai представлен удобный каталог всех доступных моделей с подробной информацией: стоимость за токен, размер контекстного окна, особенности каждой модели и рейтинги производительности.

Через API

import requests

response = requests.get(
    "https://api.proxyapi.ru/openrouter/v1/models",
    headers={
        "Authorization": "Bearer <КЛЮЧ-PROXYAPI>"
    }
)

models = response.json()
for model in models['data']:
    print(f"ID: {model['id']}")
    print(f"Название: {model['name']}")
    print(f"Стоимость ввода: ${model['pricing']['prompt']}")
    print(f"Стоимость вывода: ${model['pricing']['completion']}")
    print("---")

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

Мультимодальные возможности: PDF для любой модели

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

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

Когда модель поддерживает работу с файлами нативно (например, Llama или Grok), OpenRouter передает PDF напрямую модели. Однако для моделей, которые работают только с текстом (например, многие модели от DeepSeek, Mistral или локальные модели), OpenRouter автоматически:

  1. Получает PDF‑файл

  2. Извлекает из него текст с помощью собственных алгоритмов обработки

  3. Передает обработанный текст модели

  4. Возвращает результат, как если бы модель изначально поддерживала PDF

Это прозрачно для пользователя — API остается одинаковым независимо от того, поддерживает ли модель файлы или нет.

Типы обработки PDF

OpenRouter предлагает несколько движков для обработки PDF‑документов:

  • pdf-text (бесплатно) — подходит для качественных PDF с четким текстом

  • mistral-ocr (платно) — лучший выбор для отсканированных документов и PDF с изображениями

  • native — для моделей с встроенной поддержкой файлов (тарифицируется как входные токены)

Пример работы с PDF

from openai import OpenAI

client = OpenAI(
    base_url="https://api.proxyapi.ru/openrouter/v1",
    api_key="<КЛЮЧ-PROXYAPI>"
)

response = client.chat.completions.create(
    model="deepseek/deepseek-chat",  # Эта модель не поддерживает PDF нативно
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Проанализируй этот договор и выдели основные пункты"
                },
                {
                    "type": "file",
                    "file": {
                        "filename": "contract.pdf",
                        "file_data": "https://example.com/contract.pdf"  # Можно также использовать base64
                    }
                }
            ]
        }
    ],
    extra_body={
        "plugins": [
            {
                "id": "file-parser",
                "pdf": {
                    "engine": "pdf-text"  # Выбираем бесплатный движок
                }
            }
        ]
    }
)

print(response.choices[0].message.content)

В этом примере мы отправляем PDF‑файл модели DeepSeek Chat, которая изначально работает только с текстом. OpenRouter автоматически обработает PDF, извлечет текст и передаст его модели, которая сможет проанализировать документ как обычный текст.

Заключение

В этой статье я сфокусировался на специфических для OpenRouter возможностях — тех, которые выделяют его среди других AI‑платформ. OpenRouter также поддерживает все стандартные функции OpenAI API: reasoning‑модели, streaming, работу с функциями и инструментами, кэширование промптов и многое другое. Эти возможности работают точно так же, как в оригинальном OpenAI API, поэтому для их изучения лучше обращаться к официальной документации OpenAI.

OpenRouter для меня стал настоящей находкой — один API, множество моделей, надежность и никакой привязки к конкретному провайдеру. Если вы серьезно занимаетесь AI‑разработкой, рекомендую попробовать.

Удачи с вашими проектами!

Комментарии (22)


  1. MountainGoat
    02.09.2025 13:26

    Всё хорошо, только оплата по токенам годится не для всех задач. Я тут решил попробовать на практике, как ИИ умеет программировать с нуля программу целиком. Написал ему задачу и какие технологии использовать. Результат не работал, хотя и был удобной заготовкой с которой начать. Вот только для его создания ИИ съел токенов на 1500 руб за 2 запроса.

    Я давно уже использую ИИ вместо поисковика чтобы узнавать вещи типа "Ну так как приготовить кабачки?" И вот на одиночные вопросы ИИ отвечает хорошо и за копейки. А чтобы заставить его кодить, нужна подписка.


    1. qoojoe
      02.09.2025 13:26

      Кабачки лучше готовить через API Deepseek R1 (deepseek/deepseek-r1-0528:free). Бесплатно. Просто держите на счету OpenRouter 10$


      1. CyberCarp
        02.09.2025 13:26

        10 зелёных на счету нужны, потому что ротация может закинуть с бесплатных API моделей на платные?


        1. pol_pot
          02.09.2025 13:26

          Нет это просто защита от халявщиков. У тех кто никогда не ложил на счет 10 баксов лимит на бесплатные модели 50 запросов в день. У тех кто ложил 1000.

          Зы халява там такая себе, бесплатные модели работают медленно и нестабильно, некоторые выставляют дополнительные нереальные лимиты, квен3-средний например не дает чаще чем раз в минуту.


        1. qoojoe
          02.09.2025 13:26

    1. delfer
      02.09.2025 13:26

      Вы явно что-то делали не так и не туда. У всех моделей есть лимит на размер запроса (контекст). Такое может быть только если взять самый дорогой Claude Opus 4.1 с контекстом 0.2 млн токенов и ценой $75/M output tokens. И тогда два самых больших запроса обойдутся в 30 баксов. Но это надо очень постараться, чтобы модель в ответ выдала 200к токенов. Да и вообще не надо писать код в Opus, если вы точно в этом не уверены.

      Обычно с кодом хорошо справляются Claude Sonnet 4 ($15/M output tokens) или Gemini 2.5 Flash ($2.50/M output tokens).

      Ну или у вас очень жадный посредник))


      1. MountainGoat
        02.09.2025 13:26

        Я использовал Qwen Coder 3 400B. Штука в том, что на один запрос от пользователя, расширение VSCode может генерировать неограниченное количество запросов к LLM. Там получилось по штук 20 запросов с дохрена токенов на входе.


        1. delfer
          02.09.2025 13:26

          Qwen3 Coder 480B A35B на OpenRouter стоит $0.80/M output tokens (input еще дешевле). Максимальный контекст 262,144 токенов. Даже по курсу 100р/$ (с учетом комиссий), 1500 - это $15. $15/0.8 = 18,75 млн токенов. 18,75/0,262144 ~ 70 сообщений максимально возможного размера, чего почти невозможно добиться.

          Из моего опыта - на написание небольшого работающего приложения с нуля через Gemini Flash - нужно рублей 100, и это с учетом того, что он еще и отладит, исправит все ошибки.


  1. pol_pot
    02.09.2025 13:26

    Эта проблема решается с помощью ProxyAPI — сервиса, который я использую для работы с моделями OpenAI, Anthropic и Google Gemini. Недавно они добавили поддержку OpenRouter в России с прозрачной фиксированной комиссией

    А что там не так с ценами, в 3 раза дороже чем на опенроутере что ли.


    1. whitehorsespb
      02.09.2025 13:26

      Так и пост рекламный, если не заметили) Там партнёрская ссылка "ловко" вшита в урл)


  1. utya
    02.09.2025 13:26

    Парни подняли свой liteLLM норм)


  1. Onyix67
    02.09.2025 13:26

    Не особо понимаю, зачем сейчас вообще нужен openrouter, если только обращение к разным моделям не встроенная функция твоей проги. Для мелких вопросов юзаешь приложение. Для вайб-кодинга есть AI Studio. Гемини сейчас с большинством задач справляется. Единственный минус - нужно самому постоянно копипастить код. Если все таки не можешь жить без того, чтобы модель все сама за тебя делала, можно вставить ключик ai studio в cursor.

    Если хочешь использовать Клод, то опять таки лучше купить подписку на сайте и платить всего 20$ (да, с неудобствами), а не хз сколько по дорогому API. Тот же курсор жрет деньги как не в себя.

    Если хочется юзать какие то более мелкие модели, то как по мне лучше купить подписку на Chutes, где ты будешь ограничен по количеству запросов, но сможешь отправлять объемные промпты не переживая, что запрос сожрет тебе пол баланса

    И кстати пополнять openrouter ради бесплатного дипсика тоже как будто так себе. Там можно сойти с ума от количества перебоев и ошибок


    1. starfair
      02.09.2025 13:26

      Все вы верно рассуждаете, если бы сейчас на дворе был гипотетический 2020год, в котором уже есть все эти ИИ модели. Но сейчас 2025, и оплата сервисам AI за границами РФ весьма проблематична для большинства разработчиков внутри РФ. Поэтому и проще (для некоторых задач, само собой), оплатить с маржой посреднику, но за 1 минуту и отечественной картой. Плюс, некоторые сервисы просто блокируют доступ с ip внутри РФ. Не буду про политику, просто такова сейчас данность для подавляющего большинства программистов внутри страны


  1. delfer
    02.09.2025 13:26

    Я пишу код через Roo Code и через Qwen Code CLI, пишу небольшие приложения работающие с ИИ, и мне, естественно, нужен доступ к моделям через API.

    Сначала я пользовался ProxyAPI - спасибо им, отличный сервис, главная фишка - можно оплачивать от юр. лица полностью в белую. Но для пет проектов слишком дорого.

    Потом перешел на OpenRouter. У них цены как у официальных провайдеров, плюс комиссия. Оплата криптой - один раз разобраться, и дальше спокойно платить. Завести кошелек MetaMask, зарегистрироваться на Bybit, научится всем этим пользоваться, покупать крипту через P2P с карты "Желтого" или "Зеленого" банка. Кстати, проще всего и выгоднее использовать монету POL - с ней комиссия минимальная.

    А теперь вообще перешел на neuroapi.host - есть вопросы к удобству, скорости, стабильности, зато цены НИЖЕ, чем у официальных провайдеров (личный опыт, не реклама).

    Много букв получилось, надеюсь, кому-то будет полезно.


    1. MountainGoat
      02.09.2025 13:26

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


      1. delfer
        02.09.2025 13:26

        Это где такое нашли?


        1. MountainGoat
          02.09.2025 13:26

          В /r/LocalLLM когда-то обсуждали, я не запоминал. Таких сервисов как дрожжей под сараем.