Интерфейс Anthropic
x-api-keyx-api-key: omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Используется для /v1/messages, /v1/models и /v1/messages/count_tokens.
Эта страница описывает публичные маршруты, которые проксируют запросы к подключённым провайдерам Omni Router. Форматы тел следуют Anthropic и OpenAI API; Omni Router добавляет авторизацию, выбор интерфейса, лимиты и переключение между токенами пула.
Базовый URL
https://api.omnirouter.ru Интерфейсы API
Anthropic · Responses · Chat
Секреты
Только omni_ токен
01 · Подключение
Все публичные запросы идут на API-домен. Anthropic-клиенты используют URL без /v1:
клиент сам добавит этот путь. OpenAI-клиенты обычно получают базовый URL с /v1.
https://api.omnirouter.ru https://api.omnirouter.ru/v1 02 · Безопасность
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.
prx_… принимаются только для обратной совместимости; новые ключи имеют префикс omni_.
03 · Маршрутизация
Технический токен связан с интерфейсом провайдера. Отправка токена на другой интерфейс возвращает 400 и не выполняет скрытое переключение на другой API.
Anthropic, OpenRouter, Kimi, Z.ai
x-api-key: omni_… /v1/messages · /v1/models · /v1/messages/count_tokens ChatGPT / Codex OAuth или сеанс
Authorization: Bearer omni_… /v1/responses · /v1/responses/compact OpenAI API, Copilot, Qwen
Authorization: Bearer omni_… /v1/chat/completions Модели не фиксируются этой страницей: доступный список зависит от подключённого аккаунта внешнего провайдера, его плана и текущей квоты. Для токена, поддерживающего этот маршрут, используйте GET /v1/models.
04 · Совместимость с Anthropic
Omni Router сохраняет формат запроса и ответа Anthropic, включая обычный режим и потоковую передачу SSE. Дополнительные поля внешнего провайдера могут передаваться дальше.
/v1/messages API сообщений Основной маршрут для Claude Code и Anthropic-совместимых клиентов. Обязательные поля: model, max_tokens и messages.
Поля тела
При 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 также доступен: /responses OpenAI Responses API для Codex и совместимых SDK. Поддерживает обычный режим и стриминг, продолжение через previous_response_id и остальные поля формата.
Совместимость
model и input передаются в формате Responses.instructions и store: false.Пример
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 · Служебные маршруты
/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/*, обратные вызовы OAuth, /webhooks/yookassa и /payment/complete обслуживают внутренние или сценарии конкретных провайдеров и не являются частью этого справочника.
08 · Надёжность
При временных ошибках используйте экспоненциальную задержку. Заголовок retry-after, если он присутствует, имеет приоритет над локальным значением по умолчанию.
401 Неавторизован
Токен отсутствует, имеет неверный формат, деактивирован или OAuth-сессия провайдера истекла.
400 Неверный запрос
Неверное тело запроса или токен используется на несовместимом интерфейсе API.
429 Слишком много запросов
Достигнут лимит пользователя или внешний провайдер вернул ограничение частоты. Используйте retry-after; при настроенном пуле Omni Router попробует следующий токен.
502 Ошибка шлюза
Прокси не смог подключиться к внешнему провайдеру или прочитать его ответ. Это не означает, что внешний провайдер вернул HTTP 502.
503 Сервис недоступен
Прокси временно не готов обслуживать запрос. Повторите его с задержкой.
500 Внутренняя ошибка
Внутренняя ошибка прокси или базы данных. Не повторяйте запрос бесконечно; при устойчивой ошибке обратитесь в поддержку.
Нужна пошаговая настройка?
Инструкции для клиентов не смешаны со справочником и объясняют настройку от начала до первого запроса.