The full Claude family — Opus, Sonnet, Fable, Haiku — through one Anthropic-compatible API at up to 70% off Anthropic's official pricing. Same models, same quality, radically better economics.
Per 1 million tokens. Same models, identical outputs — the only difference is what you pay.
| Model | Anthropic Input / 1M | Hamartia Input / 1M | Anthropic Output / 1M | Hamartia Output / 1M | You Save |
|---|---|---|---|---|---|
Claude Fable 5.1 Creative · long context |
$10.00 | $3.00 | $50.00 | $15.00 | 70% |
Claude Fable 5 Creative · long context |
$10.00 | $3.00 | $50.00 | $15.00 | 70% |
Claude Opus 5.5 Best price-performance flagship |
$4.00 | $1.20 | $20.00 | $6.00 | 70% |
Claude Opus 5 Deepest reasoning |
$5.00 | $1.50 | $25.00 | $7.50 | 70% |
Claude Opus 4.8 Production workhorse |
$5.00 | $1.50 | $25.00 | $7.50 | 70% |
Claude Opus 4.7 Reliable reasoning |
$5.00 | $1.50 | $25.00 | $7.50 | 70% |
Claude Opus 4.6 Reliable reasoning |
$5.00 | $1.50 | $25.00 | $7.50 | 70% |
Claude Opus 4.5 Reliable reasoning |
$5.00 | $1.50 | $25.00 | $7.50 | 70% |
Claude Sonnet 5.5 Balanced · agents |
$2.00 | $0.60 | $10.00 | $3.00 | 70% |
Claude Sonnet 5 Balanced · agents |
$2.00 | $0.60 | $10.00 | $3.00 | 70% |
Claude Sonnet 4.6 Cost-efficient coding |
$3.00 | $0.90 | $15.00 | $4.50 | 70% |
Claude Sonnet 4.5 Cost-efficient coding |
$3.00 | $0.90 | $15.00 | $4.50 | 70% |
Claude Haiku 4.5 Fastest · bulk tasks |
$1.00 | $0.30 | $5.00 | $1.50 | 70% |
All prices USD per 1M tokens · Prompt-cache reads billed at just $0.10–$0.25 per 1M (≈10% of input) · No monthly fees, no long-context surcharge, pay-as-you-go
From deep reasoning to bulk processing — switch models by changing one string.
Flagship intelligence at a lighter price than Opus 5 — $4 input, $20 output on Anthropic.
Deepest reasoning for complex analysis, multi-step problems and large codebases.
Intelligence and speed in balance. Ideal for agents and production coding workloads.
Price-performance champion for classification, summarization and bulk pipelines.
Production-grade tooling included — infrastructure stays out of your way.
If the Anthropic SDK is already installed, change one line — the base URL. No rewrites, no new dependencies, no surprises.
Every key carries its own balance. Set limits, watch spend in real time, revoke instantly. Hand out separate keys per team or project.
What you send is what you pay for — token counts match your input to the token. No rounding games, no hidden overhead.
Full SSE streaming and standard JSON responses. Prompt-cache reporting included — your bill matches real usage.
Circuit breakers and rate protection keep the service healthy under load. Busy moments get smart routing, not outages.
The /v1/chat/completions endpoint works with OpenAI-format clients out of the box. Format translation is on us.
Fully compatible with Anthropic and OpenAI SDKs. Pick a tab, copy, ship.
# Anthropic-compatible — the only difference is the URL curl -X POST https://api.hamartia.xyz/v1/messages \ -H "x-api-key: hm-sk-..." \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-opus-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello!"}] }'
from anthropic import Anthropic client = Anthropic( api_key="hm-sk-...", base_url="https://api.hamartia.xyz", ) msg = client.messages.create( model="claude-sonnet-5", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}], ) print(msg.content[0].text)
import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic({ apiKey: "hm-sk-...", baseURL: "https://api.hamartia.xyz", }); const msg = await client.messages.create({ model: "claude-opus-5", max_tokens: 1024, messages: [{ role: "user", content: "Hello!" }], }); console.log(msg.content[0].text);
// OpenAI SDK also works — /v1/chat/completions import OpenAI from "openai"; const oai = new OpenAI({ apiKey: "hm-sk-...", baseURL: "https://api.hamartia.xyz/v1", }); const res = await oai.chat.completions.create({ model: "claude-sonnet-5", messages: [{ role: "user", content: "Hello!" }], }); console.log(res.choices[0].message.content);
Get a key, load a balance, change one line of code. Your budget just went 3× further.