OpenAI-compatible inference API
The iron layer of the AI stack.
One endpoint. One key. Every model in the catalog. Responses keep the same shape on every request, the wallet is prepaid with hard limits, and the API only ever grows.
Sign up with a code — no email, no password. First key on the same screen.
One endpoint, one key, every model.
IronStratum is an OpenAI-compatible inference API. Change one base URL in your existing code and it works — same endpoints, same request and response shapes, every model in the catalog.
What’s different is what you stop worrying about. The three sections below are the whole difference: responses that never change shape, an API that never breaks your code, and money that can’t run away.
The response shape never changes.
Every response is constructed by IronStratum, not passed through from whoever runs the model underneath. Same fields, same order, same error behavior — every request, every model. When a provider has a bad day, your code can’t tell: nothing from upstream appears in your responses. No foreign ids, no surprise error formats.
The API only ever grows.
Fields are added; never removed, never repurposed. Your code keeps working — enforced by drift tests, not promised in a policy. Credits and terms don’t change mid-period. Every request accepts an idempotency key: send the same request twice, get the same result and get billed once. Retries are safe by construction.
Money can’t run away.
The wallet is prepaid, and limits are checked when requests arrive — not reconciled at the end of the month. A leaked key can spend what you loaded, nothing more; it cannot produce a runaway bill. No free tier, no expiring credits, no gimmicks.
A key in under a minute.
Enter a code
No email, no password, no form.
Get your key
Account code, recovery code, and your first sk-ironstratum- key — same screen.
Fund when ready
The wallet is prepaid — load it, set limits, call.
Then go be in your terminal. The console is there when you want it.
The catalog.
Eight chat and reasoning models. Two more we host ourselves — you won’t find those anywhere else. And a specialty lane for speech,
transcription, embeddings and rerank. Token prices are per million, and the same data is served by the API that bills you:
GET /v1/models.
Chat & reasoning
| Model | Context | $/1M in | $/1M out | $/1M cached in | Capabilities |
|---|---|---|---|---|---|
| qwen3.8-27b | 262,144 | 0.35 | 2.55 | 0.105 | thinking · streaming |
| qwen3.6-35b | 131,072 | 0.11 | 0.80 | 0.044 | thinking · streaming |
| minimax-m2.7 | 196,608 | 0.24 | 0.95 | 0.072 | streaming |
| muse-glimmer-30b | 131,072 | 0.28 | 1.20 | 0.084 | streaming |
| glm-5.3-flash | 1,048,576 | 0.11 | 0.35 | 0.033 | streaming |
| deepseek-v4-flash-0731 | 1,310,720 | 0.15 | 0.42 | 0.045 | streaming |
| gemma-4-31b-it | 262,144 | 0.22 | 0.49 | 0.066 | streaming |
| deepseek-v4-pro | 1,000,000 | 1.13 | 2.21 | 0.339 | streaming |
Self-hosted, only here
| Model | Context | $/1M in | $/1M out | $/1M cached in | Capabilities |
|---|---|---|---|---|---|
| ornith-1.5-35b | 100,000 | 0.35 | 2.55 | 0.105 | thinking · streaming · only here |
| ornith-1.5-9b | 100,000 | 0.10 | 0.30 | 0.03 | thinking · streaming · only here |
Speech, transcription, embeddings & rerank
| Model | Kind | Price |
|---|---|---|
| kokoro-tts | text to speech | $15 / 1M chars |
| chatterbox-tts | text to speech | $25 / 1M chars |
| pocket-tts | text to speech | $16 / 1M chars |
| audio8-tts | text to speech | $8 / 1M chars |
| hayamimi-stt | speech to text | $0.60 / audio-hour |
| whisper | speech to text | $0.25 / audio-hour |
| bge-m3 | embeddings | $0.05 / 1M tokens |
| bge-reranker-v2-m3 | rerank | $1.50 / 1k searches |
Token prices per 1M unless the unit says otherwise; a dash means the value isn’t set yet — confirmed when the model goes live. Everything here is served by the same API that bills you: GET /v1/models. Full list with model details →
Agents use the same API.
Accounts, funding, keys and refills are API operations. Your agent has no email address; it doesn’t need one. The documented loop is pure HTTP: create an account, fund the wallet it returns, call the endpoint, refill when a 402 says to. Zero human steps.
Why “IronStratum”
Iron: the load-bearing metal. Stratum: the layer everything else is built on. Banded iron formations — iron deposited in layers, older than almost anything alive — are where most of the world’s iron has always come from. We named the company after the job: be the layer that holds.