Интерфейс Anthropic
x-api-keyx-api-key: omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxИспользуется для /v1/messages, /v1/models и /v1/messages/count_tokens.
Эта страница описывает публичные маршруты, которые проксируют запросы к подключённым провайдерам 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 · Подключение
Все публичные запросы идут на API-домен. Anthropic-клиенты используют URL без /v1: клиент сам добавит этот путь. OpenAI-клиенты обычно получают базовый URL с /v1.
https://api.omnirouter.ruhttps://api.omnirouter.ru/v102 · Безопасность
x-api-key: omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxИспользуется для /v1/messages, /v1/models и /v1/messages/count_tokens.
Authorization: Bearer omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxИспользуется для Responses, Chat Completions, WebSocket и транскрипции. Для совместимости обработчик также принимает omni-токен в x-api-key.
omni_; устаревший формат prx_ не принимается.03 · Маршрутизация
Вызов обычно остаётся на нативном интерфейсе провайдера. Два явных исключения меняют только клиентский wire format: Anthropic API key принимается на Responses и переводится в Messages, а ChatGPT/Codex OAuth принимается на Messages и переводится в Responses. Claude OAuth на Responses, OpenAI Chat на других интерфейсах и явно непредставимые возможности адаптера возвращают 400; скрытого переключения провайдера нет.
Anthropic-совместимые; ChatGPT / Codex OAuth через адаптер
x-api-key: omni_…/v1/messages · /v1/models · /v1/messages/count_tokensChatGPT / Codex OAuth; Anthropic API key через адаптер
Authorization: Bearer omni_…/v1/responses · /v1/responses/compactOpenAI API, Copilot, Qwen
Authorization: Bearer omni_…/v1/chat/completionsOmni Credits; Codex OAuth для source=codex
Authorization: Bearer omni_…/v1/search · /v1/images/generations · /mcpМодели не фиксируются этой страницей: доступный список зависит от подключённого аккаунта внешнего провайдера, его плана и текущей квоты. Для токена, поддерживающего этот маршрут, используйте GET /v1/models.
04 · Совместимость с Anthropic
Omni Router сохраняет формат запроса и ответа Anthropic, включая обычный режим и потоковую передачу SSE. Дополнительные поля внешнего провайдера могут передаваться дальше.
/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-эквивалента отклоняется.
Поля тела
При 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": "Привет"}]
}'/v1/modelsСписок моделейВозвращает список моделей, доступных именно для выбранного токена и аккаунта внешнего провайдера. Не используйте статический список из документации как источник истины — перечень может меняться вместе с провайдером.
{
"data": [{
"id": "claude-sonnet-5",
"type": "model",
"display_name": "Claude Sonnet 5",
"created_at": "2025-05-14T00:00:00Z"
}],
"has_more": false
}/v1/messages/count_tokensПодсчёт токеновПринимает поля model и messages в формате Anthropic и возвращает количество входных токенов. Поддержка зависит от внешнего провайдера.
// request
{"model":"claude-sonnet-5","messages":[{"role":"user","content":"Привет"}]}
// ответ
{"input_tokens": 8}05 · Совместимость с OpenAI
Для клиентов в стиле OpenAI используйте Bearer omni-токен и базовый URL с /v1. Алиасы без /v1 оставлены для клиентов, которые добавляют путь самостоятельно.
/v1/responsesтакже доступен: /responsesOpenAI 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.instructions и store: false.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
}'/v1/responses/compactтакже доступен: /responses/compactКомпактный маршрут Responses для клиентов, которые явно используют компактный формат обмена. Аутентификация и проверка интерфейса такие же, как у /v1/responses.
/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 через GET. В карточках ниже WS означает установку WebSocket-соединения, а не обычный HTTP GET с JSON-ответом.
/v1/responsesтакже доступен: /responsesРежим Responses через WebSocket. Это отдельный транспорт для Responses API, а не голосовой маршрут реального времени. После установки соединения клиент передаёт сообщения Responses в формате внешнего провайдера.
// заголовки установки соединения
Authorization: Bearer omni_***
// пример сообщения клиента
{"type":"response.create","model":"gpt-5.6-sol","input":"Привет"}/wsтакже доступен: /v1Голосовой диалог Codex в реальном времени. Использует OAuth-токен или токен сеанса Codex и двунаправленную передачу по WebSocket.
/transcribeтакже доступен: /v1/transcribeПередаёт тело запроса во внешний сервис транскрипции голоса Codex. Используйте Bearer omni-токен Codex и сохраняйте тип содержимого исходного запроса.
07 · Credits и инструменты
/v1/images/generationsГенерация через image-модели Omni Credits. Нужны Credits-ключ и стабильный заголовок Idempotency-Key. Ответ 202 можно продолжить через GET /v1/images/generations/{job_id}; готовое изображение скачивается по защищённому URL из ответа с тем же Bearer-ключом.
/v1/searchтакже доступен: /searchПлатный веб-поиск с ключом Omni Credits. Сейчас доступен режим basic, до десяти результатов.
POST /mcpStateless 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 · Служебные маршруты
/install/claude.sh/install/claude.ps1, /install/codex.sh и /install/codex.ps1Публичные установочные скрипты для Bash и Windows PowerShell. Они запрашивают omni-ключ интерактивно и сохраняют готовую конфигурацию локально. Для подробностей откройте инструкцию по Claude Code или инструкцию по Codex; не передавайте omni-ключ в URL.
/install/claude.shClaude Code для Windows/install/claude.ps1Автонастройка Codex CLI/install/codex.shCodex для Windows/install/codex.ps1curl -fsSL https://api.omnirouter.ru/install/claude.sh | bashirm https://api.omnirouter.ru/install/claude.ps1 | iexcurl -fsSL https://api.omnirouter.ru/install/codex.sh | bashirm https://api.omnirouter.ru/install/codex.ps1 | iex/api/*, обратные вызовы OAuth, /webhooks/yookassa и /payment/complete обслуживают внутренние или сценарии конкретных провайдеров и не являются частью этого справочника.09 · Надёжность
При временных ошибках используйте экспоненциальную задержку. Заголовок retry-after, если он присутствует, имеет приоритет над локальным значением по умолчанию.
401Неавторизован
Токен отсутствует, имеет неверный формат, деактивирован или OAuth-сессия провайдера истекла.
400Неверный запрос
Неверное тело запроса или токен используется на несовместимом интерфейсе API.
429Слишком много запросов
Достигнут лимит пользователя или внешний провайдер вернул ограничение частоты. Используйте retry-after; при настроенном пуле Omni Router попробует следующий токен.
502Ошибка шлюза
Прокси не смог подключиться к внешнему провайдеру или прочитать его ответ. Это не означает, что внешний провайдер вернул HTTP 502.
503Сервис недоступен
Прокси временно не готов обслуживать запрос. Повторите его с задержкой.
500Внутренняя ошибка
Внутренняя ошибка прокси или базы данных. Не повторяйте запрос бесконечно; при устойчивой ошибке обратитесь в поддержку.
Нужна пошаговая настройка?
Инструкции для клиентов не смешаны со справочником и объясняют настройку от начала до первого запроса.