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

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

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

Машиночитаемый контракт: OpenAPI 3.1 JSON. Каждая операция содержит стабильный operationId, типизированные поля, схему JSON‑ошибки и обозначение требуемого разрешения клиентского ключа.

Базовый URL

https://api.omnirouter.ru

Интерфейсы API

Anthropic · Responses · Chat · MCP

Секреты

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

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

Базовый URL

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

Anthropic base_urlhttps://api.omnirouter.ru
OpenAI base_urlhttps://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, логи или публичные репозитории. Поддерживаются только ключи omni_; устаревший формат prx_ не принимается.
Область разрешений. Клиентский ключ даёт доступ только к получению списка моделей и явно документированным операциям inference, search, image, audio и MCP. Он не авторизует API личного кабинета, управление аккаунтом или удалённый доступ к окружению coding‑агента. Подробнее: безопасность ключей.

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

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

Вызов обычно остаётся на нативном интерфейсе провайдера. Два явных исключения меняют только клиентский wire format: Anthropic API key принимается на Responses и переводится в Messages, а ChatGPT/Codex OAuth принимается на Messages и переводится в Responses. Claude OAuth на Responses, OpenAI Chat на других интерфейсах и явно непредставимые возможности адаптера возвращают 400; скрытого переключения провайдера нет.

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

Anthropic-совместимые; ChatGPT / Codex OAuth через адаптер

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

ChatGPT / Codex OAuth; Anthropic API key через адаптер

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

OpenAI API, Copilot, Qwen

Authorization: Bearer omni_…/v1/chat/completions
Credits и MCP

Omni Credits; Codex OAuth для source=codex

Authorization: Bearer omni_…/v1/search · /v1/images/generations · /mcp

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

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

Anthropic API

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

POST/v1/messagesAPI сообщений

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

Для ChatGPT/Codex OAuth этот маршрут адаптирует сообщения, текст и inline-изображения, function tools/results, thinking, tool_choice, parallel-tool policy, usage и SSE в нативный Responses-вызов. Выбор инструмента без точного Responses-эквивалента отклоняется.

Поля тела

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. Нативные ChatGPT/Codex подключения поддерживают обычный режим, стриминг и продолжение через previous_response_id. Для Anthropic API key запрос адаптируется к Messages: поддерживаются полная история в input, текст и inline-изображения, function tools/results, reasoning, tool_choice, parallel-tool policy, usage и SSE; previous_response_id и выбор инструмента без точного Messages-эквивалента возвращают 400.

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

  • •model и input передаются в формате Responses.
  • •Внешнему Codex обычно нужны instructions и store: false.
  • •Hosted image_generation доступен активным Personal и Pro; web_search — Personal, Pro и Admin. Нужен ключ ChatGPT/Codex OAuth.

Пример

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 · Credits и инструменты

Изображения, поиск и MCP

POST/v1/images/generations

Генерация через image-модели Omni Credits. Нужны Credits-ключ и стабильный заголовок Idempotency-Key. Ответ 202 можно продолжить через GET /v1/images/generations/{job_id}; готовое изображение скачивается по защищённому URL из ответа с тем же Bearer-ключом.

MCPPOST /mcp

Stateless Streamable HTTP MCP с инструментами list_models, search, generate_image, get_image_generation и download_image. Credits-генерация поддерживает reference images и завершённый poll/download lifecycle. Для изображения обязателен явный source: codex | credits; сервер не проксирует сторонние MCP и не открывает файловую систему, терминал или OmniCode. Настройка клиента и правила оплаты →

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

Установщики

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

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

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

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

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

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

401

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

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

400

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

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

429

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

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

502

Ошибка шлюза

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

503

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

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

500

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

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

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

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

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