api.opennozzle.com · OpenAI and Anthropic wire compatible

One key in front of every way a model can be served.

Send an OpenAI-shaped request naming a model. Nozzle resolves the name to a binding and relays it: a platform credential, a shared pod, your own key, or a GPU that belongs only to you. Your code never learns which. Every call lands in one cost ledger, attributed to tenant, project, key and request.

One request resolves to one of four ways of serving a model, and one cost ledger records it.POST /v1/chat/completions{"model": "…", "messages": […]}resolve bindingAPlatform keyOpenAI, Anthropic, Gemini…BShared podopen weights, our GPUCYour keybring your own credentialDYour poddedicated GPUone cost ledger · tenant · project · key · request

Point any SDK at one base URL.

The OpenAI-shaped surface lives under /v1, the Anthropic drop-in under /anthropic. Same key, same ledger, same headers telling you what it cost.

  • Chat, responses, embeddings, rerank, transcription, speech, images, moderation.
  • Streaming on every text surface; prompt caching preserved on the Anthropic path.
  • Capabilities are refused by name, never silently dropped.
  • X-Nozzle-Cost-Micro-Cents on every buffered reply.
curl
curl https://api.opennozzle.com/v1/chat/completions \
  -H "Authorization: Bearer pk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4.1-mini", "messages": [{"role": "user", "content": "Hello"}]}'
python
from openai import OpenAI

client = OpenAI(api_key="pk_live_…", base_url="https://api.opennozzle.com/v1")
client.chat.completions.create(model="claude-haiku-4-5",
                               messages=[{"role": "user", "content": "Hello"}])

Two axes, four modes, one wire.

Whose credential pays the upstream, and who gets the capacity. Move a model between modes chasing price, latency or data residency without touching a line of caller code.

A

Platform passthrough

Nozzle's credential, shared capacity · pay per token

Every closed model without an account to manage.

B

Shared self-hosted

Our pod, shared capacity · pay per token

Open weights served once, called by everyone.

C

Bring your own key

Your credential, shared capacity · pay platform fee

When the tokens must land on your invoice.

D

Dedicated self-hosted

Your pod, dedicated capacity · pay per GPU-hour

A machine nobody else touches.

A subscription, and compute at cost.

Nozzle does not mark up GPU time. You pay for platform access; tokens and GPU-hours pass through at the cheapest rate we can source.

Full pricing →