o10.io
01Inference control plane

Cut your LLM bill. Prove quality held.

One base-URL swap. Free shadow mode shows what you'd save — eval-backed, per task. Pay only from realized savings.

02How to use o10

Same OpenAI-compatible API. Shadow mode shows savings before you pay.

1
Get a free route key
Start free, copy your o10_sk_… key from the console.
2
Point your client at o10
Set base URL to https://app.o10.io/v1 — that's the only change.
3
Pick a mode
Set model to o10/auto, or another mode below.

Start free →

04Quickstart — the whole integration
curl https://app.o10.io/v1/chat/completions \
  -H "Authorization: Bearer o10_sk_…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "o10/auto",
    "messages": [{"role": "user", "content": "say hi"}]
  }'
curl
curl https://app.o10.io/v1/chat/completions \
  -H "Authorization: Bearer o10_sk_…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "o10/auto",
    "messages": [{"role": "user", "content": "say hi"}]
  }'
OpenAI SDK · Python
from openai import OpenAI

client = OpenAI(
    base_url="https://app.o10.io/v1",  # ← the only change
    api_key="o10_sk_…",
)
resp = client.chat.completions.create(
    model="o10/auto",
    messages=[{"role": "user", "content": "say hi"}],
)
print(resp.choices[0].message.content)
OpenAI SDK · TS
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://app.o10.io/v1", // ← the only change
  apiKey: "o10_sk_…",
});
const resp = await client.chat.completions.create({
  model: "o10/auto",
  messages: [{ role: "user", content: "say hi" }],
});
console.log(resp.choices[0].message.content);
Cursor
# Cursor → Settings → Models → OpenAI API Key
# 1. Enable "Override OpenAI Base URL" and set:
https://app.o10.io/v1
# 2. Paste your route key as the OpenAI API key:
o10_sk_…
# 3. Add a custom model named o10/auto (listed via https://app.o10.io/v1/models)
Cline
# Cline → Settings → API Provider: "OpenAI Compatible"
Base URL: https://app.o10.io/v1
API Key:  o10_sk_…
Model ID: o10/auto
LangChain
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    base_url="https://app.o10.io/v1",
    api_key="o10_sk_…",
    model="o10/auto",
)
print(llm.invoke("say hi").content)
Vercel AI SDK
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";

const o10 = createOpenAI({
  baseURL: "https://app.o10.io/v1",
  apiKey: "o10_sk_…",
});
const { text } = await generateText({
  model: o10("o10/auto"),
  prompt: "say hi",
});

Snippets show a placeholder key — start free and your real key drops in.

05Live playground

Send a live request from your browser — paste an o10 route key (not a provider key). Concrete models listed here have an available AWS Bedrock host route (plus o10 smart modes). Your key stays in this tab only. Response chips include x-o10-byok when present.

Every response explains itself. That's the product.

Every response explains itself. That's the product. Open the console to try it →

08Pricing
Free
$0 — bring your key
Route on your own provider keys. Shadow receipts on live traffic. No card.
Pro
$49/mo
Includes routed inference credits monthly. Top up $19/$49/$99 when you need more — you control every charge.
Enterprise
Custom
Volume credits, BYOK at scale, SSO, and a savings SLA.

Estimate my savings →