Главная Документация Справочник API
🔌 Справочник API прокси, совместимый с v1

Подключайте любой совместимый клиент к единому API прокси

Эта страница описывает публичные маршруты, которые проксируют запросы к подключённым провайдерам Omni Router. Форматы тел следуют Anthropic и OpenAI API; Omni Router добавляет авторизацию, выбор интерфейса, лимиты и переключение между токенами пула.

Базовый URL

https://api.omnirouter.ru

Интерфейсы API

Anthropic · Responses · Chat

Секреты

Только omni_ токен

01 · Подключение

Базовый URL

Все публичные запросы идут на API-домен. Anthropic-клиенты используют URL без /v1: клиент сам добавит этот путь. OpenAI-клиенты обычно получают базовый URL с /v1.

Anthropic base_url https://api.omnirouter.ru
OpenAI base_url https://api.omnirouter.ru/v1

02 · Безопасность

Аутентификация

Интерфейс Anthropic

x-api-key
x-api-key: omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Используется для /v1/messages, /v1/models и /v1/messages/count_tokens.

Интерфейсы OpenAI

Bearer
Authorization: Bearer omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Используется для Responses, Chat Completions, WebSocket и транскрипции. Для совместимости обработчик также принимает omni-токен в x-api-key.

Храните токен как секрет. Не передавайте его в браузерный JavaScript, URL, логи или публичные репозитории. Токены формата prx_… принимаются только для обратной совместимости; новые ключи имеют префикс omni_.

03 · Маршрутизация

Интерфейсы и провайдеры

Технический токен связан с интерфейсом провайдера. Отправка токена на другой интерфейс возвращает 400 и не выполняет скрытое переключение на другой API.

Совместимый с Anthropic

Anthropic, OpenRouter, Kimi, Z.ai

x-api-key: omni_… /v1/messages · /v1/models · /v1/messages/count_tokens
OpenAI Responses

ChatGPT / Codex OAuth или сеанс

Authorization: Bearer omni_… /v1/responses · /v1/responses/compact
OpenAI Chat

OpenAI API, Copilot, Qwen

Authorization: Bearer omni_… /v1/chat/completions

Модели не фиксируются этой страницей: доступный список зависит от подключённого аккаунта внешнего провайдера, его плана и текущей квоты. Для токена, поддерживающего этот маршрут, используйте GET /v1/models.

04 · Совместимость с Anthropic

Anthropic API

Omni Router сохраняет формат запроса и ответа Anthropic, включая обычный режим и потоковую передачу SSE. Дополнительные поля внешнего провайдера могут передаваться дальше.

POST /v1/messages API сообщений

Основной маршрут для Claude Code и Anthropic-совместимых клиентов. Обязательные поля: model, max_tokens и messages.

Поля тела

model
строка, обязательно
max_tokens
целое число, обязательно
messages
массив, обязательно
stream
логическое, по умолчанию false
tools
массив, необязательно

При stream: true ответ содержит события message_start, события блоков содержимого, message_delta и message_stop.

Пример

curl -N https://api.omnirouter.ru/v1/messages \
  -H "x-api-key: omni_***" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 256,
    "stream": true,
    "messages": [{"role": "user", "content": "Привет"}]
  }'
GET /v1/models Список моделей

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

{
  "data": [{
    "id": "claude-sonnet-5",
    "type": "model",
    "display_name": "Claude Sonnet 5",
    "created_at": "2025-05-14T00:00:00Z"
  }],
  "has_more": false
}
POST /v1/messages/count_tokens Подсчёт токенов

Принимает поля model и messages в формате Anthropic и возвращает количество входных токенов. Поддержка зависит от внешнего провайдера.

// request
{"model":"claude-sonnet-5","messages":[{"role":"user","content":"Привет"}]}

// ответ
{"input_tokens": 8}

05 · Совместимость с OpenAI

Responses и Chat Completions

Для клиентов в стиле OpenAI используйте Bearer omni-токен и базовый URL с /v1. Алиасы без /v1 оставлены для клиентов, которые добавляют путь самостоятельно.

POST /v1/responses также доступен: /responses

OpenAI Responses API для Codex и совместимых SDK. Поддерживает обычный режим и стриминг, продолжение через previous_response_id и остальные поля формата.

Совместимость

  • model и input передаются в формате Responses.
  • Внешнему Codex обычно нужны instructions и store: false.
  • Обычные запросы могут получить дополнительную совместимость с инструментом генерации изображений; Responses Lite определяется заголовком клиента.

Пример

curl -N https://api.omnirouter.ru/v1/responses \
  -H "Authorization: Bearer omni_***" \
  -H "content-type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "instructions": "You are a helpful assistant.",
    "input": "Привет!",
    "store": false,
    "stream": true
  }'
POST /v1/responses/compact также доступен: /responses/compact

Компактный маршрут Responses для клиентов, которые явно используют компактный формат обмена. Аутентификация и проверка интерфейса такие же, как у /v1/responses.

POST /v1/chat/completions также доступен: /chat/completions

Интерфейс OpenAI Chat Completions для ключей OpenAI, Copilot и Qwen. Формат запроса и потоковых фрагментов совместим с OpenAI.

curl -N https://api.omnirouter.ru/v1/chat/completions \
  -H "Authorization: Bearer omni_***" \
  -H "content-type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "stream": true,
    "messages": [{"role": "user", "content": "Привет"}]
  }'

06 · Реальное время

WebSocket и транскрипция

WebSocket-маршруты выполняют переключение на WebSocket через GET. В карточках ниже WS означает установку WebSocket-соединения, а не обычный HTTP GET с JSON-ответом.

WS /v1/responses также доступен: /responses

Режим Responses через WebSocket. Это отдельный транспорт для Responses API, а не голосовой маршрут реального времени. После установки соединения клиент передаёт сообщения Responses в формате внешнего провайдера.

// заголовки установки соединения
Authorization: Bearer omni_***

// пример сообщения клиента
{"type":"response.create","model":"gpt-5.6-sol","input":"Привет"}
WS /ws также доступен: /v1

Голосовой диалог Codex в реальном времени. Использует OAuth-токен или токен сеанса Codex и двунаправленную передачу по WebSocket.

POST /transcribe также доступен: /v1/transcribe

Передаёт тело запроса во внешний сервис транскрипции голоса Codex. Используйте Bearer omni-токен Codex и сохраняйте тип содержимого исходного запроса.

07 · Служебные маршруты

Установщики

GET/install/claude.shи /install/codex.sh

Публичные установочные скрипты для curl | bash. Они запрашивают omni-токен интерактивно и сохраняют готовую конфигурацию локально. Для подробностей откройте инструкцию по Claude Code или инструкцию по Codex; не передавайте omni-токен в URL.

curl -fsSL https://api.omnirouter.ru/install/claude.sh | bash
curl -fsSL https://api.omnirouter.ru/install/codex.sh | bash
Не входят в клиентский API: управляющие маршруты личного кабинета /api/*, обратные вызовы OAuth, /webhooks/yookassa и /payment/complete обслуживают внутренние или сценарии конкретных провайдеров и не являются частью этого справочника.

08 · Надёжность

Ошибки, повторные запросы и ограничения частоты

При временных ошибках используйте экспоненциальную задержку. Заголовок retry-after, если он присутствует, имеет приоритет над локальным значением по умолчанию.

401

Неавторизован

Токен отсутствует, имеет неверный формат, деактивирован или OAuth-сессия провайдера истекла.

400

Неверный запрос

Неверное тело запроса или токен используется на несовместимом интерфейсе API.

429

Слишком много запросов

Достигнут лимит пользователя или внешний провайдер вернул ограничение частоты. Используйте retry-after; при настроенном пуле Omni Router попробует следующий токен.

502

Ошибка шлюза

Прокси не смог подключиться к внешнему провайдеру или прочитать его ответ. Это не означает, что внешний провайдер вернул HTTP 502.

503

Сервис недоступен

Прокси временно не готов обслуживать запрос. Повторите его с задержкой.

500

Внутренняя ошибка

Внутренняя ошибка прокси или базы данных. Не повторяйте запрос бесконечно; при устойчивой ошибке обратитесь в поддержку.

Нужна пошаговая настройка?

Инструкции для клиентов не смешаны со справочником и объясняют настройку от начала до первого запроса.

Вернуться к инструкциям