Skip to content

One interfacefor the AIecosystem.

Reach models from every major provider through one API, with one key and a single bill.

Model families you can call through Odyssey: Claude, Gemini, Grok, ChatGPT, DeepSeek, GLM, Kimi, Qwen.

models
17models
providers
5providers
wire formats
2wire formats
bill
1bill

What changes wheneverything goes throughone gateway.

01

six keysone key

One Odyssey key reaches every model in the catalog. Scope it to the models it may call and the money it may spend.

sk-ody-••••4f2aeval-harness

$18.40 of a $150 monthly limit

02

six invoicesone balance

Pay-as-you-go requests draw from one prepaid balance at each model's listed rate, whichever lab made the model.

Credit balance

$184.20

Credits never expire

03

four SDKsthe one you have

Odyssey speaks the OpenAI and Anthropic wire formats. Change the base URL and the model id, and leave the rest of your code alone.

The only line that changes

baseURL: "https://odysseyapi.tech/v1"
04

guessworka request log

Every request is recorded with its status, timing, tokens and cost, so a slow call becomes a question you can answer.

  • 14:32:06anthropic/claude-sonnet-52001.24 s$0.0010
  • 14:32:04openai/gpt-5-nano200612 ms$0.0002
  • 14:31:58google/gemini-3-pro42988 ms$0.0000

Keep your SDK. Change one line.

Odyssey speaks the OpenAI and Anthropic wire formats. Point an existing client at Odyssey and every model in the catalog is available by name.

OpenAI-compatible
Chat Completions and Responses, including tool calls, structured output and vision inputs.
Anthropic-compatible
The Messages API with streaming, prompt caching and extended thinking where the model supports it.
Consistent streaming
Server-sent events from every provider, ending with the same usage and cost fields.
import OpenAI from "openai"; const client = new OpenAI({  baseURL: "https://odysseyapi.tech/v1",  apiKey: process.env.ODYSSEY_API_KEY,}); const completion = await client.chat.completions.create({  model: "anthropic/claude-sonnet-5",  messages: [{ role: "user", content: "Summarise this incident report." }],});

Every request, on the record.

What you get in the dashboard from the first call, whether it came from your code, the playground or the image studio.

A log of every call
Each request is recorded with its status, time to first token, token counts and cost. Failures keep the error they returned.
Usage by model and key
Spend and traffic broken down by model and by API key, over the range you choose, and exportable as CSV.
Limits on every key
Give each key a spend limit, an expiry date and the list of models it may call. Revoke it at any time.
Images on the same bill
Image models are billed per image from the same balance, and their requests land in the same log.

Pay per token.

Buy credits and spend them at each model's listed rate. You pay for exactly what you use, and credits never expire.

Pay as you go

Per token

Buy credits and spend them at each model's listed rate. Nothing expires.

  • $0.05 in credit when you sign up
  • Every model in the catalogue
  • 30 requests per minute to start
  • Unlimited rate after $10 of credit purchased
  • No subscription, no minimum

Buy credit in seconds from your Billing page — card, SBP, SberPay or crypto, applied automatically. Got another payment method? Contact our support team on Discord, and we'll help you get started.

Send your first request in minutes.

Create a key, point your client at Odyssey and call any model by name.

No card needed to create a key. Add credits when you send your first request.