Skip to content
OP Inference
The platform

One surface. Every upstream underneath.

OP Inference resolves a public model id to a provider endpoint, enforces your key's policy and budget, streams the answer back, and writes exactly one usage record, with a retention class on every artifact along the way.

The request path

Four things happen between your call and the first token.

The data plane holds no durable state and never waits on a control plane to answer you. Everything it needs (policy, budget, catalog and breaker state) is already in hot shared memory when your request arrives.

01

Resolve

A public model id maps to a set of provider endpoints that can actually serve it, with the feature flags you asked for rather than just the family name. Adding an OpenAI-compatible upstream is a manifest file, not a release.

02

Compare

Price, latency, uptime and feature support are measured continuously per route. The comparison happens before dispatch, on the call you are making, not in a monthly report about calls you already paid for.

03

Enforce

Every key carries a routing policy, a spend limit, an expiry and a model allowlist. Budget is reserved before dispatch and settled after, so an agent in a loop stops at its own ceiling instead of at your invoice.

04

Stream

Answers forward chunk by chunk with as little added lag as we can manage on the part we control. A route that fails before sending anything is retried on another endpoint serving the same model.

Call it like OpenAI

Change the base URL. Keep everything else.

Your existing client, SDK and streaming code keep working. Tool calls, structured output and server-sent events behave the way they already do.

request.sh

curl https://api.opinference.com/v1/chat/completions \
  -H "Authorization: Bearer $OP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-oss-120b",
    "messages": [{"role": "user", "content": "Say hello."}],
    "stream": true
  }'

HTTP/1.1 200 OK  ·  content-type: text/event-stream

data: {"choices":[{"delta":{"content":"Hello"}}]}
data: {"choices":[{"delta":{"content":" there."}}]}
data: [DONE]
Five routes

Everything a product needs, on one key.

  • 01

    Text

    POST /v1/chat/completions

    Streaming, tool calls, structured output, reasoning

  • 02

    Image

    POST /v1/images/generations

    Generation and editing

  • 03

    Video

    POST /v1/videos

    Text-to-video and image-to-video, as a job you poll

  • 04

    Audio

    POST /v1/audio/speech

    Speech synthesis and transcription

  • 05

    Music

    POST /v1/audio/music

    Generation from a prompt

  • Signed on request

    Add sign=true to any generation and the media returns with a C2PA manifest and a watermark.

Get started

Live in an afternoon: create a key, top up starter credits, change the base URL, then set your routing policy and budgets per key.

Never pay the first price.
Never go down at night.

Start self-serve with a key and prepaid credits, or book a thirty-minute call and we will scope your models, volumes and routing rules with you.

or write to [email protected]