blog · Aug 18, 2026 · 3 min

Credits vs tokens — pricing AI for products, not benchmarks

Why we price generative AI in flat credits instead of per-token metering, what it costs us, and how to model your unit economics on top of it.


Every AI API prices in tokens because tokens are what the provider pays for. That logic is airtight and it produces a terrible developer experience. This post is about why we broke with it.

The problem with per-token pricing

Per-token pricing pushes the provider's uncertainty onto you. Your cost per conversation now depends on how chatty your users are, how long your prompts grow, and how verbose the model felt today. You discover your unit economics after launch, in a dashboard, usually as a surprise.

For an assistant product answering support tickets, fine — volumes are predictable. For a character product, it is hostile: roleplay conversations are long, hot-temperature, and user-driven. The better your product works, the less predictable your bill.

What flat pricing costs us

Let's be honest about the trade: flat pricing means we absorb variance. A completion that runs to our token cap costs us more than one that stops at two sentences, and we charge the same 1 or 3 credits.

It works for three reasons:

  1. Caps make variance bounded. max_tokens tops out at 1,200 and context at 24k characters. Within those walls, the spread between a cheap call and an expensive one is small enough to average.
  2. Averages are stable at volume. One conversation is unpredictable; ten thousand are a distribution. We price on the distribution and re-measure it monthly.
  3. Simplicity is worth margin. A price you can explain in four words — "an image is ten credits" — converts better than a price that needs a calculator. We would rather win the account than win the basis points.

Why prepaid credits and not a monthly bill

Prepaid flips the risk. With postpaid metering, your bug is your bill: a retry loop at 3 a.m. is real money by breakfast. With prepaid credits, the worst case of any runaway is your current balance — the system fails closed, with an explicit 402, instead of failing expensive.

It also makes the failure path honest on our side: a generation that returns nothing refunds itself, as a visible negative line in your ledger. Under postpaid metering, failed calls quietly bill; under prepaid credits, an unfair charge would sit in your face on the billing page. The incentive points the right way.

Two design choices keep prepaid from feeling like a gift card racket: credits never expire, and bigger packs add bonus credits instead of changing per-call prices — so the price of an image is one number everywhere, forever.

Modeling your economics on top

The napkin math a character product needs:

revenue_per_user  = your_subscription_price
model_cost        = msgs_per_day × credit_cost × $0.01 × 30
premium_moments   = (images × 10 + voice_lines × input/100 × 3) × $0.01
margin            = revenue - model_cost - premium_moments

Run it for your P50 and P95 user, not your average — the P95 roleplayer sends 10× the messages. Flat per-call pricing makes the P95 case computable, which is exactly what token pricing takes away from you.

When token pricing is right

If you are batch-processing documents with tight output control, token metering is genuinely fairer — you would be subsidizing chatty products under our model. Flat credits shine when usage is interactive, long-tailed and user-driven. That is character products, which is who we build for.

The pricing table has every number. They fit on one screen — that, too, is the point.

Build with the models behind this post — get an API key (50 free credits).