Pricing
Celeris uses prepaid, per-token billing. Buy credits under Settings → Billing in the Console; completed requests draw from the workspace's balance according to token usage. There are no subscriptions, seat charges, or minimum commitments.
Rates
Each model is priced separately, per million tokens:
| Model | Prompt tokens | Cached prompt tokens | Completion tokens |
|---|---|---|---|
celeris-1 | US$0.20 per million | US$0.02 per million | US$0.70 per million |
celeris-1-magnus | US$0.20 per million | US$0.02 per million | US$0.70 per million |
Estimating costs
Completed responses report exact token counts in their usage block:
"usage": {"prompt_tokens": 27, "completion_tokens": 2, "total_tokens": 29}
At celeris-1's rates, cost per call is
prompt_tokens × $0.20/M + completion_tokens × $0.70/M. The
following examples show approximate costs for common
agentic workloads:
| Workload | Prompt | Completion | Cost per call | Calls per US$1 |
|---|---|---|---|---|
| Classification / routing | ~30 tokens | ~4 tokens | ~$0.0000088 | ~110,000 |
| Judge / rerank scoring | ~120 tokens | ~3 tokens | ~$0.0000261 | ~38,000 |
| Structured extraction | ~200 tokens | ~48 tokens | ~$0.0000736 | ~14,000 |
| Query rewriting | ~60 tokens | ~24 tokens | ~$0.0000288 | ~35,000 |
Two request settings have the greatest effect on spend:
- Set
max_tokensdeliberately. Completion tokens cost 3.5× as much as prompt tokens, and a limit bounds the cost of unexpected output. Any positive integer that fits the context window is accepted. - Keep prompts concise. Repeated instruction tokens are billed on every call.
Images are billed as prompt tokens at the same rate, with no separate
per-image charge. An image's token cost tracks the resolution the model processes
it at rather than its file size, so recompressing an upload to fewer bytes cuts
latency but not tokens. Read the exact count from the response's usage block.
An image extraction, worked through
The Console's Read an image example is a typical shape for image work: a short instruction carrying an output schema, one receipt image, and a small JSON reply. Its parts land roughly here:
| Part | Direction | Tokens |
|---|---|---|
| Instruction and output schema | Prompt | ~140 |
| One receipt image | Prompt | ~275 |
| JSON reply | Completion | ~48 |
The reply is sized like the structured extraction row above: a handful of short
JSON fields. That comes to ~415 prompt tokens and ~48 completion tokens, so
415 × $0.20/M + 48 × $0.70/M ≈ $0.0001166 per call, or roughly 8,600
calls per US$1.
The image is about two thirds of the prompt here, so on an image workload what
moves the bill is how many images each call carries, not how long your
instructions are. The reply is bounded by max_tokens either way: at the 2,048
default, the worst case for the same call is ~$0.0015.
These are one example's figures rather than a rate card. Your image, your prompt, and how much the model writes back all move them. Measure your own first: Token usage and cost shows how to read an image's real cost out of a response.
What is — and isn't — charged
- Served requests are charged from their exact
usagetoken counts, the same token volumes the usage dashboard aggregates. - Rejected requests are not charged. This includes throttled
(
429), unauthorized (401), and out-of-credit (402) requests. The exception is a JSON mode request that fails its contract: that400carriesusage, and the generations it reports are charged. - Server-side failures are free. You are never charged for a
502or503. - A client disconnect does not guarantee cancellation. If processing continues after a disconnect, the request may still be charged for work performed.
Buying credits
Buy credits with a card (Stripe) under Settings → Billing, in preset amounts of $5 / $10 / $50 / $100 or a custom amount between $5 and $1,000 per purchase. The card must be issued in a country where Celeris is available (currently the United States); see Availability if you're somewhere else. Receipts are emailed automatically, and invoice documents remain available on the same billing page.
When your balance reaches zero, API calls return
402 insufficient_quota until you add credit. See
Going to production for production
monitoring guidance. See Auto Top-Up for automatic
purchases and the balance-email schedule.
Credit expiry
Credit granted to your workspace expires 30 days after it is granted.
Usage draws from the credit that expires first. Expired credit leaves your
balance and cannot be restored; from a zero balance, API calls return
402 insufficient_quota until you add credit.
Settings → Billing shows the next date on which some of your credit expires.
We also email you about it: once two weeks ahead if you have not spent any of the credit yet, once three business days before the date, and once when it expires. Turn these off under Credit balance and expiry in Settings → Notifications.
For reserved capacity, custom limits, or invoicing beyond self-service top-ups, contact us.