OmniRoute / API surface

One endpoint, more than chat.

Chat, embeddings, reranking, images, video, music, speech, OCR, files and batches, in the request format your client already speaks.

Wire formats

Keep the request shape your client already sends.

One process accepts several formats, so a tool built against one vendor's SDK needs a base URL change and nothing else.

OpenAI

Chat Completions, embeddings, images, audio and files, unchanged.

/v1/chat/completions

Anthropic

The Messages wire format, including token counting.

/v1/messages

OpenAI Responses

The Responses API shape, with tool-output compaction.

/v1/responses

Gemini

generateContent and the Gemini model listing.

/v1beta/models

Ollama

Drop-in for tools that speak the local Ollama API.

/v1/api/chat

Rerank and Jina

Cohere/Voyage reranking plus Jina classify and segment.

/v1/rerank

Endpoints

More than chat completions.

Grouped by what you are trying to do rather than by which provider happens to serve it.

Chat and messages

Three request shapes reach the same router, so a client keeps the format it already speaks.

  • POST/v1/chat/completionsOpenAI Chat Completions, streaming or buffered
  • POST/v1/messagesAnthropic Messages
  • POST/v1/responsesOpenAI Responses
  • POST/v1/messages/count_tokensCount tokens before spending them

Embeddings, search and ranking

The retrieval half of a RAG stack behind the same endpoint and the same key.

  • POST/v1/embeddingsText and multimodal embeddings
  • POST/v1/rerankCohere and Voyage compatible reranking
  • POST/v1/searchWeb search abstraction across providers
  • POST/v1/classifyJina text classification
  • POST/v1/segmentJina content segmentation
  • POST/v1/web/fetchReadable page extraction

Image, video and music

Generation routes through the same fallback and cost accounting as text.

  • POST/v1/images/generationsImage synthesis
  • POST/v1/images/editsEditing and inpainting
  • POST/v1/videos/generationsVideo generation
  • POST/v1/music/generationsMusic synthesis

Audio and documents

Speech in both directions, plus OCR for scanned source material.

  • POST/v1/audio/transcriptionsSpeech to text
  • POST/v1/audio/translationsTranslating transcription
  • POST/v1/audio/speechText to speech
  • POST/v1/ocrDocument OCR

Files and batches

Upload once, then run work asynchronously instead of holding a connection open.

  • POST/v1/filesUpload a file
  • GET/v1/files/{id}/contentStream file contents back
  • POST/v1/batchesCreate a batch job
  • GET/v1/batches/{id}Poll batch status
  • POST/v1/batches/{id}/cancelCancel a running batch

Discovery and control

Everything a client needs to choose a model and stay inside a budget.

  • GET/v1/modelsProvider-grouped model catalog
  • GET/v1/quotas/checkPre-validate remaining quota
  • POST/v1/moderationsContent moderation
  • GET/v1/wsWebSocket upgrade for streaming clients

Agent protocols

An MCP server with 110 tools and an A2A agent card, served by the same process.

  • GET/api/mcp/streamMCP over HTTP, 33 scopes
  • GET/api/mcp/sseMCP over Server-Sent Events
  • POST/a2aJSON-RPC 2.0, 6 agent skills
  • GET/.well-known/agent.jsonPublic agent card

Headers

Every response says how it was served.

Routing is not a black box: the decision, the cost and the compression that produced a response all travel back with it.

Response headers

  • X-OmniRoute-DecisionStrategy, provider alias and latency that served the request
  • X-OmniRoute-ProviderThe provider alias actually routed to
  • X-OmniRoute-ModelThe resolved model identifier
  • X-OmniRoute-Latency-MsUpstream latency in milliseconds
  • X-OmniRoute-Tokens-InInput token count
  • X-OmniRoute-Tokens-OutOutput token count
  • X-OmniRoute-Response-CostUSD cost of this response
  • X-OmniRoute-Cost-SavedUSD avoided on a cache hit
  • X-OmniRoute-CacheHIT or MISS on non-streaming requests
  • X-OmniRoute-CompressionApplied compression mode and where it came from
  • X-OmniRoute-Fallback-AttemptsFallback hops taken, when there were any
  • X-OmniRoute-Request-IdCorrelation id for the request log

Request headers

  • x-omniroute-compressionOverride the compression profile for one request
  • X-OmniRoute-No-CacheBypass the semantic cache
  • x-omniroute-no-memorySkip memory and skills injection
  • X-Session-IdSession affinity and cost attribution key
  • Idempotency-KeyDeduplicate a retried request
Read the API reference (opens in a new tab)

OmniRoute by Cheaper Inference

Choose how you run OmniRoute.

Self-host OmniRoute, or use Cheaper Inference for a hosted cost-ranked gateway.