The bill arrives and it is larger than expected. The usual reaction is to question whether the tool is worth it at all, which is the wrong question asked at the wrong altitude.
The right question is narrower. Which of this work actually needed the expensive version?
Usage-based pricing turns a purchasing decision into an operating one. You are not choosing a tool once, you are choosing a tier every time something runs.
The habit that creates the bill
When a tool is good, it becomes the default for everything. That is the sensible reflex with software that costs a flat monthly fee, and it is an expensive reflex with anything metered.
The work flowing through most AI setups is not uniform. Some of it is genuinely hard: ambiguous input, judgment calls, things where a weak answer costs you something real. A lot of it is not hard at all. Reformatting. Extracting a date. Sorting a message into one of four buckets. Tagging a file.
Both kinds get sent to the same place, because nobody set up anywhere else to send them, and the cheap work is usually the high-volume work. That is the whole bill in one sentence.
Sorting by cost of being wrong
The useful sort is not by how complicated a task looks. It is by what happens when the answer is poor.
| Cost of a bad answer | Examples | Where it should run |
|---|---|---|
| Someone notices and it matters | Client-facing writing, anything with numbers in it, judgment calls | Premium tier |
| Someone notices and fixes it in a second | Draft subject lines, first-pass tagging, internal summaries | Cheap tier |
| Nobody would notice | Bulk classification, deduplication, format conversion | Cheapest thing that works, or no AI at all |
The bottom row is worth dwelling on. Some of the work being sent to a language model is not a language problem. A rule, a lookup table, or a small script does it faster, cheaper, and identically every time. Metered pricing makes that distinction expensive to ignore, which is a useful discipline.
What this looks like in practice
Routing is unglamorous and it is most of the saving. In plain terms: the hard work goes to the best model, the routine work goes to a cheaper one, and the mechanical work leaves the AI entirely.
A few things make it work:
- Decide the routing once, in one place. If every part of your setup picks its own model, you cannot change the policy later without hunting.
- Make the cheap tier the default. Escalation should be a deliberate choice. When premium is the default, nothing ever gets demoted.
- Check the cheap tier's output for a week before trusting it. Some tasks you assumed were easy are not, and you want to find that out on your own work.
- Measure by task type, not in total. A single monthly number tells you the bill went up. A breakdown tells you which task type to move.
The trap of over-engineering the savings
There is a point where this stops paying. Building elaborate machinery to route between three tiers, for a workload that costs a modest amount per month, is work you are doing instead of work that earns.
The honest version of this: look at where the spend actually concentrates. It is usually one or two task types running at high volume. Move those, leave the rest alone, and revisit when the shape of the work changes. A routing decision is cheap to make and expensive to maintain, so make few of them.
What to take away
- Sort work by what a bad answer costs, not by how sophisticated it looks.
- Make the cheap option the default and treat the expensive one as an escalation.
- Check whether the highest-volume task needs a language model at all, because the cheapest inference is the one you do not run.
Metered pricing is not a reason to avoid these tools. It is a reason to be deliberate about which work earns the premium rate. The AI does the busywork, you still make the calls.
