Price is set by how long you can wait
Tell us how long you can wait and the scheduler spends that window looking for cheap capacity, on open models with no per-token licence in the price. A wider window reaches a lower price.
The rate card
US dollars per million tokens, input / output. One flat input rate — there is no separate cached-input price to model, because we do not charge one.
| Tier | Small otium-small | Medium otium-medium | Large otium-large |
|---|---|---|---|
Compare at their standard rate | 0.20 / 1.20 gpt-5.6-luna | 2.00 / 12.00 gpt-5.6-terra | 5.00 / 30.00 gpt-5.6-sol |
Remnant < 7 days −62% | 0.075 / 0.45 | 0.75 / 4.50 | 1.875 / 11.25 |
Standard < 24 hours −50% | 0.10 / 0.60 | 1.00 / 6.00 | 2.50 / 15.00 |
Priority Planned < 6 hours −40% | 0.12 / 0.72 | 1.20 / 7.20 | 3.00 / 18.00 |
Rush Planned < 1 hour 0% | 0.20 / 1.20 | 2.00 / 12.00 | 5.00 / 30.00 |
Each lane is priced against a named incumbent so you can check the comparison rather than take it on faith: Small vs gpt-5.6-luna, Medium vs gpt-5.6-terra, Large vs gpt-5.6-sol. Standard sits at their batch price, Remnant 25% under it, and Rush at their standard rate.
Launch pricing, with a date on it. These rates are set against a measured cost model, but the throughput they assume comes from a benchmark we have not finished. We would rather publish the number and the caveat than a range. Method and derivation are in the repo.
Compare at
Every rate above, in dollars rather than percentages. Measured against the list price of the model each lane is built to replace — the price you pay today if you are not already using a batch API.
Small
otium-smallClassification, extraction, tagging, structured enrichment.
| Tier | 100M tokens | 1B tokens | 10B tokens |
|---|---|---|---|
| Remnant | $33 | $333 | $3,333 |
| Standard | $27 | $267 | $2,667 |
| Priority | $21 | $213 | $2,133 |
| Rush | — | — | — |
Medium
otium-mediumSummarisation, rewriting, multi-field reasoning over messy input.
| Tier | 100M tokens | 1B tokens | 10B tokens |
|---|---|---|---|
| Remnant | $333 | $3,333 | $33,333 |
| Standard | $267 | $2,667 | $26,667 |
| Priority | $213 | $2,133 | $21,333 |
| Rush | — | — | — |
Large
otium-largeThe hard tail — long context, multi-step reasoning, judgement calls.
| Tier | 100M tokens | 1B tokens | 10B tokens |
|---|---|---|---|
| Remnant | $833 | $8,333 | $83,333 |
| Standard | $667 | $6,667 | $66,667 |
| Priority | $533 | $5,333 | $53,333 |
| Rush | — | — | — |
Rush is priced at the compare-at rate, so it saves nothing and the column says so. What it buys is a one-hour window, which no batch API sells at any price.
Assumes 2 input tokens per 1 output token, the shape of the worked example above. Output-heavy work saves less and prompt-heavy work saves more, which is why we publish the input and output rates separately instead of one blended number you cannot check.
Every comparator, at both of its rates
Both major vendors discount asynchronous batch work by 50%. Here is every comparator we price against, at both of its own rates, so you can check which one your workload actually competes with.
| Model | Vendor | Standard in / out | Batch in / out | Batch, blended |
|---|---|---|---|---|
| gpt-5.6-luna anchors Small | OpenAI | 0.20 / 1.20 | 0.10 / 0.60 | $0.267 |
| Claude Haiku 4.5 | Anthropic | 1.00 / 5.00 | 0.50 / 2.50 | $1.167 |
| Claude Sonnet 5 | Anthropic | 2.00 / 10.00 | 1.00 / 5.00 | $2.333 |
| gpt-5.6-terra anchors Medium | OpenAI | 2.00 / 12.00 | 1.00 / 6.00 | $2.667 |
| Claude Opus 5 | Anthropic | 5.00 / 25.00 | 2.50 / 12.50 | $5.833 |
| gpt-5.6-sol anchors Large | OpenAI | 5.00 / 30.00 | 2.50 / 15.00 | $6.667 |
The lanes are anchored to the OpenAI ladder because that is where the volume incumbent sits. We have deliberately not anchored to whichever comparator happens to be cheapest: that would claim our open-weight model matches it on quality, and until an evaluation says so on your task, a cheaper model that fails the job is not a cheaper option — it is a worse product.
Enrich 100,000 product listings
800 input + 400 output tokens each — 80M in, 40M out. Small class.List prices, no prompt caching assumed on either side. A heavily-cached prompt narrows the batch comparison — at ~37% cached input the provider batch bill falls to about $29.36, against our $24.00, since we charge one flat input rate rather than a separate cached one.
What a deadline is worth on a pipeline
The per-million rate difference is small change next to what this does to a pipeline.
Seven batch submissions
Each stage waits for the one before it. A fixed 24-hour completion window means seven windows — and you write the orchestration, the joins, and the retries between them.
One workflow submission
The whole graph goes in as one artifact. We derive what actually depends on what, run independent stages together, and keep the model resident across the ones that share it.
Seven stages on a seven-day window is seven weeks if you chain batch jobs. Submit the graph instead and it is one seven-day run.
Compile a pipeline and see what it would cost →Why this gets cheaper
Most of what we do to make a workflow run well — packing independent stages together, keeping a model resident across the steps that share it, reusing a prompt prefix instead of paying for it ten thousand times — lowers what the same job costs us without changing what it costs you. That gap is a choice: bank it as margin, or pass it through. A platform that only resells someone else’s inference has no such choice to make, because it does not own the thing being optimised.
That is a direction, not a roadmap. What is published above is what we can fund today; when the cost basis moves, the card moves with it and the date on it changes.
SLA tiers
A tier is a completion window, not a queue priority. We launch with the widest window first — it gives the scheduler the most room to wait for cheap compute, which is where the savings are largest and the pricing is safest to calibrate.
Remnant
LiveBacklogs, re-processing, anything with no fixed date on it.
A week of slack lets the scheduler hold out for a price trough and shop every region, which is where the discount comes from.
Waits out the deepest troughs and takes idle capacity wherever it turns up.
Standard
LiveNightly enrichment — the everyday default tier.
Matched to the incumbent batch price on purpose. At these rates a further discount is pennies; what you get instead is a whole pipeline in this one window.
Waits out expensive hours, batches heavily, runs when demand drops.
Priority
PlannedSame-business-day batches.
Six hours still absorbs an interruption and a restart, so it stays on cheap interruptible capacity — it just cannot wait for the bottom of the market.
Waits for moderate dips, prefers already-warm capacity.
Rush
Planned“I need it this hour.”
An hour cannot absorb a reclaim and a restart, so this tier holds guaranteed capacity in reserve. It is priced at the incumbent’s standard rate: you pay what the fast option costs elsewhere, and leaving is still a base-URL change.
Takes near-current capacity, minimal waiting, on-demand fallback.
Remnant and Standard are live. Priority and Rush are priced but not yet switched on: a one-hour window cannot absorb an interruption and a restart, so it has to hold guaranteed capacity in reserve — and that only gets cheap once enough work is flowing that a machine is warm anyway. We would rather show the price now and turn the tier on when it is honest.
What the rate card doesn’t cover
A lower price is not a saving if the cost is your data. These are not tier-dependent settings or an enterprise upsell — they are how the platform is built.
Never trained on
Your prompts and results are not training data, at any tier, on any plan. We run open-weight models we did not train and have no interest in fine-tuning on your corpus.
Nothing retained past delivery
Inputs and outputs live in storage only as long as it takes to deliver them, then expire. Storing your data costs us money and creates liability; the incentives and the policy point the same way.
Encrypted per customer
Each customer’s payloads are encrypted under their own key, so reaching another tenant’s storage yields ciphertext under a key the reader cannot access. Isolation survives an access-control mistake rather than depending on one not happening.
Never in the logs
Operational logs carry job IDs, token counts, models and error categories — never prompt or result content. That is a hard rule in the codebase, not a preference.
The serving path is open source, so these are claims you can read rather than take on trust.
How this differs from provider batch APIs
Provider batch APIs are a real, useful product — but a fundamentally different one. They still complete soon, on the provider’s own fleet, with proprietary models.
| Aspect | Provider batch API | Otium |
|---|---|---|
| Completion window | ~24-hour ceiling, then it runs whether it’s a good moment or not. | Up to 7 days — the extra patience is exactly what buys the lower price. |
| Multi-stage work | One window per stage. A seven-step pipeline is seven submissions and seven waits. | The whole graph is one submission with one deadline. Stages that do not depend on each other run together. |
| What sets the price | Their list price, minus a fixed batch discount they decide. | What the compute actually costs at the moment we run it. Off-peak is cheap. |
| Models | Proprietary models, with per-token licensing baked into the price. | Open-weight models (the Qwen family today). You pay for compute, not model margin. |
| What you choose | A specific model name — and the burden of tracking when it changes or retires. | A size: small, medium or large. Pooling everyone onto a short list is part of the discount. |
| Model lifecycle | Deprecated, restricted, or withdrawn on their schedule. Migrating is your problem. | Open weights already exist in the world. No vendor or regulator can switch them off. |
| Data handling | A black box you send data into; retention and training vary by tier. | Nothing retained past delivery, never trained on, encrypted per customer. |
| Cost transparency | Opaque. You see a per-token bill. | Cost per job and per million tokens are first-class, measured, published metrics. |
Why you pick a size, not a model name
Rental companies don’t quote you a price on one particular vehicle — you book compact, mid-size, or full-size, and that is what makes the price work. Otium does the same with models: you pick a size, we keep a current open model behind each one. Concentrating everyone onto a short list means we run much larger batches of like work, which is where the throughput — and the price — comes from. Let every customer name their own model and the batches shrink, efficiency drops, and everybody pays for it.
Asking for one specific model outside the sized set is the equivalent of demanding a particular car off the lot. We expect to offer it later as a paid option, priced to cover the efficiency it costs. The sized tiers stay the cheap path, deliberately.
Give us a deadline and see what it costs.
Otium is in closed alpha. Leave your email and we’ll send an invite when a spot opens — then point your OpenAI-compatible client at our base URL and send your first batch.
No credit card, no spam — one email when your invite is ready.
Closed alpha — onboarding is gated while we calibrate. Already invited? Sign in.