
ProxyAPI — российский API-шлюз к большому каталогу AI-моделей. Сервис рассчитан на разработчиков: один ключ, единый базовый адрес `https://api.proxyapi.ru/v1`, рублёвая оплата и привычный формат запросов. Через ProxyAPI доступны текстовые модели, изображения, видео, speech и embeddings, а выбор конкретной модели выполняется прямо в поле `model`.
Главное отличие от обычного AI-агрегатора — developer-first подход. Здесь нет задачи заменить ChatGPT красивым веб-чатом; ценность в том, чтобы встроить OpenAI, Anthropic, Google, image/video-модели и другие провайдеры в собственный продукт без отдельных биллингов.
Единый base URL и общий ключ
Официальная документация указывает единый адрес `https://api.proxyapi.ru/v1`. Для chat completions используется `/v1/chat/completions`, а ключ передаётся через `Authorization: Bearer`.
Это упрощает инфраструктуру: один credential store и одна точка биллинга вместо десятков аккаунтов.
При этом конкретный endpoint и capabilities зависят от типа модели, поэтому нельзя автоматически считать все API полностью идентичными.
Model ID: почему лучше всегда указывать вендора
ProxyAPI использует идентификатор вида `vendor/model`, например `openai/gpt-5-mini`, `anthropic/claude-haiku-4-5` или `google/gemini-2.5-flash`.
Документация допускает короткое имя в некоторых endpoint, но полная запись надёжнее и переносима между маршрутами.
Если API отвечает `Model not supported`, первым делом нужно сверить ID с `/v1/models`.
Каталог моделей и актуальные цены
На момент проверки каталог ProxyAPI содержит более 400 моделей: сотни текстовых, десятки image- и video-моделей, embeddings, speech synthesis и transcription.
Для каждой модели указаны context, возможности и цена. Все цены на сайте публикуются в рублях с учётом НДС.
Такой каталог удобнее статичного списка в документации: новый model ID появляется без изменения кода, если выбор вынесен в конфигурацию.
Базовый пример OpenAI-совместимого запроса
from openai import OpenAI client = OpenAI( api_key="PROXYAPI_KEY", base_url="https://api.proxyapi.ru/v1" ) r = client.chat.completions.create( model="openai/gpt-5-mini", messages=[{"role":"user","content":"Суммируй документ"}] ) print(r.choices[0].message.content)
Перед production нужно отдельно проверить streaming, tools, JSON/structured output и vision именно на выбранной модели.
Как мигрировать существующий проект
Если код уже написан под OpenAI-compatible SDK, миграция часто начинается с замены base URL, key и model ID.
Но нельзя ограничиваться тем, что запрос вернул 200. Прогоните regression-набор: system prompt, длинный контекст, tool calling, ошибки и timeout.
Если модель управляет бизнес-действиями, тестируйте их отдельно: синтаксическая совместимость не гарантирует одинаковое поведение.
Pay-as-you-go и контроль бюджета
ProxyAPI работает по модели фактического usage. Для LLM стоимость зависит от input/output tokens, для изображений и видео — от конкретной модели и параметров.
Это удобно для SaaS с нестабильным трафиком: нет необходимости покупать подписки на каждую модель.
Но без лимитов один пользователь может быстро сжечь баланс длинными запросами. Бюджетный контроль должен находиться и в вашем приложении.
Как сделать multi-model router
Один API особенно полезен для автоматического выбора модели.
- определить тип задачи
- проверить требуемые capabilities
- выбрать допустимый диапазон цены
- назначить основную модель
- назначить fallback
- логировать токены и latency
Так можно отправлять классификацию дешёвой модели, код — coding-модели, а сложный reasoning — флагману.
Fallback и отказоустойчивость
Даже популярная модель может временно быть недоступна. Production-приложению нужен ограниченный retry и резерв.
Fallback должен учитывать совместимость output. Если основная модель возвращает structured JSON, резервная тоже должна поддерживать требуемый формат.
Не делайте бесконечные retries: они увеличивают latency и могут многократно списать usage.
Tool calling и JSON
Каталог указывает capabilities вроде функций, JSON, vision и reasoning. Это нужно проверять до выбора model ID.
Для tool-calling разделяйте генерацию решения и фактическое действие. LLM может предложить удалить запись, но выполнение должно проходить через ваш validation/approval layer.
JSON валидируйте схемой на сервере — корректный JSON ещё не означает правильные данные.
Изображения и видео через один биллинг
В каталоге есть отдельные категории image/video. Для продукта, где нужен текст и медиа, это уменьшает число интеграций.
Видео нужно считать по реальной себестоимости accepted clip: несколько неудачных генераций входят в расходы так же, как финальная.
Изображения товаров и людей требуют отдельной проверки на артефакты и сохранение идентичности.
Speech и embeddings
Speech synthesis/transcription и embeddings позволяют построить более полный AI-pipeline через одну точку.
Для RAG embeddings не нужно каждый раз пересчитывать: документы индексируются один раз, затем обновляются только изменившиеся части.
Для транскрибации отдельно учитывайте хранение аудио и персональные данные.
Логи, токены и unit economics
В лог полезно писать request ID, model, input/output tokens, latency, статус и внутреннего пользователя.
Затем расходы агрегируются не только по модели, но и по функции: «поддержка», «генерация статьи», «анализ договора».
Именно такая unit economics показывает, выгодна ли AI-функция, а не стоимость миллиона токенов сама по себе.
ProxyAPI или прямой API провайдера
Прямой API даёт первичный доступ к новым функциям и официальный SLA конкретного поставщика. ProxyAPI удобнее единым рублёвым биллингом и несколькими моделями.
Если проект использует только один provider в огромном объёме, прямой контракт может быть выгоднее. Если нужна гибкая маршрутизация, шлюз проще.
ProxyAPI или Zveno/BotHub
Все три решают похожую проблему российского доступа к моделям, но отличаются каталогом, pricing, интерфейсом и developer-функциями.
Сравнивайте на своей нагрузке: одна и та же модель может иметь разную наценку, latency и набор capabilities.
Для критичного проекта полезно иметь второй шлюз как резерв, а не привязывать код к одному посреднику.
Россия, НДС и оплата
ProxyAPI публикует цены в рублях и указывает их с учётом НДС. Это удобно российским ИП и компаниям.
VPN для обращения к ProxyAPI не нужен. Регистрация и API-key необходимы для работы.
Условия оплаты и документов для юрлиц нужно брать из текущего кабинета/договора.
Безопасность API
- не хранить ключ во frontend
- разделять ключи dev/prod
- ставить лимиты на пользователя
- маскировать secrets в логах
- регулярно ротировать ключи
- проверять upstream-политику для конфиденциальных данных
API-шлюз упрощает доступ, но не освобождает разработчика от обычной security-гигиены.
Streaming: почему его стоит включать в пользовательском чате
Для длинного ответа streaming улучшает perceived latency: пользователь видит первые токены раньше, даже если полная генерация занимает то же время.
На backend нужно корректно обрабатывать разрыв соединения и финальный usage. Если клиент закрыл страницу, это не всегда означает, что upstream generation автоматически прекратилась.
Vision-запросы
Если выбранная модель поддерживает vision, через единый API можно анализировать изображения и скриншоты. Это удобно для поддержки, документов и UI-задач.
Перед отправкой большого изображения уменьшайте его до разумного разрешения, если мелкие детали не нужны. Это сокращает нагрузку и иногда стоимость.
Не используйте vision-ответ как единственный источник для критичных цифр или мелкого текста: OCR и интерпретация могут ошибаться.
Контекстное окно и truncation
Разные модели имеют разные context limits. Приложение должно знать лимит заранее и не надеяться, что провайдер сам безопасно обрежет историю.
Хорошая стратегия — считать токены, сохранять последние сообщения и compact summary ранней истории. Для документов используется retrieval, а не бесконечное накопление всего текста.
Idempotency для AI-агентов
Если LLM только генерирует текст, повтор запроса обычно безвреден. Но при tool calling повтор после timeout может дважды создать лид, заказ или сообщение.
Бизнес-действию присваивается собственный operation ID. Перед выполнением backend проверяет, не была ли операция уже завершена.
Наблюдаемость и алерты
Собирайте ежедневные расходы по model ID и функции приложения. Резкий рост input tokens или ошибок должен создавать alert, а не обнаруживаться после пополнения баланса.
Полезно хранить процент 429/5xx, p50/p95 latency и долю fallback. Так можно объективно оценивать стабильность шлюза.
Кэширование и повторные запросы
Не отправляйте модель повторно для данных, которые уже были успешно сгенерированы и не изменились. SEO-description, embeddings документа или классификацию можно кэшировать по hash исходника.
Кэш особенно полезен в cron и массовых задачах: случайный повтор job не должен повторно списывать деньги за тот же результат.
Dev, staging и production
Разделяйте окружения ключами и лимитами. Тестовый скрипт разработчика не должен иметь доступ к полному production-балансу.
В staging можно использовать более дешёвую модель для проверки логики, а production model подключать только в regression-тестах и финальном запуске.
Миграция на другой шлюз без переписывания приложения
Спрячьте provider-specific настройки за собственным adapter: base URL, model mapping, ошибки и pricing. Тогда при необходимости ProxyAPI можно заменить или дополнить другим gateway.
Это особенно полезно для AI-продуктов: доступность моделей и цены меняются быстрее обычных backend-зависимостей.
Вопросы и ответы
Какой base URL у ProxyAPI?
`https://api.proxyapi.ru/v1`.
Есть endpoint списка моделей?
Да, `/v1/models`.
Цены в рублях?
Да, каталог публикует рублёвые цены с НДС.
Есть изображения и видео?
Да, каталог включает текст, изображения, видео, speech и embeddings.
Нужен VPN?
Нет, сервис ориентирован на доступ из России.
Совместим ли с OpenAI SDK?
Основной chat API использует OpenAI-совместимый формат.
Можно менять модель без новой настройки аккаунта?
Да, достаточно изменить поле `model`, если модель доступна в каталоге.
Вывод
ProxyAPI — практичный developer-шлюз для российских проектов, которым нужен единый API и рублёвая тарификация множества моделей.
Максимальная польза появляется не от простой замены base URL, а от построения нормального router, fallback, контроля токенов и измерения стоимости каждой бизнес-функции.