What AI models cost, per job, and what we can price so far
We wanted to publish a simple table, cost per job by model. We cannot do that honestly yet. Here is what we have measured, the prices we recorded with their dates, the traps in reading them, and how we are measuring the rest.
Why "per job"
Price lists quote dollars per million tokens. That is not what a small company buys. We buy jobs: review this change, write these tests, summarise this document, tag this bookmark. The cheapest model per token can be the dearest per job if it needs three attempts, runs ten times longer or fails silently. And on a flat-rate plan the bill does not change at all until a limit stops your work.
So the number we want is cost per job that passed, for each model and each kind of job. The figures below are what we have so far. All prices are in US dollars, as the providers charge them.
Prices we recorded, with dates
These were checked on the providers' own pages or plan dashboards on the dates shown. Prices in this market move monthly, so treat them as a snapshot.
| Plan | Price | What you get | Recorded |
|---|---|---|---|
| OpenCode Go | $10 a month | A shared usage pool of about $12 per rolling five hours, $30 a week and $60 a month, at each model's own price times a 1x, 2x or 4x multiplier | Bought 18 September 2026 |
| MiniMax Token Plan Plus | $22 a month | Use of MiniMax's own models. Max is $55 and Ultra $132 on the vendor's page | Bought 24 September 2026 |
| Z.ai GLM Coding | Lite $18, Pro $72, Max $160 a month | A promotion took 30% off at the time | 24 September 2026 |
| Ollama Cloud | Pro $20, Max $100 a month | Larger hosted models | 24 September 2026 |
| Cerebras Code | Pro $50, Max $200 a month | 24 September 2026 | |
| Synthetic.new | $30 a month | 500 requests per five hours | 24 September 2026 |
| DeepSeek V4.1 Flash, pay as you go | $0.30 in, $1.20 out per million tokens | Half price off-peak. Cache hits are fractions of a cent | 24 September 2026 |
And the effective output price of five models on the OpenCode Go plan, once its multiplier is applied, recorded on 23 September 2026:
| Model | Listed price per million tokens (in / out) | Multiplier | Effective output price |
|---|---|---|---|
| GLM-5.3 Flash | $0.15 / $0.50 | 1x | $0.50 |
| Qwen 3.8 Flash | $0.15 / $0.47 | 2x | $0.94 |
| Kimi K2.7 Code | $0.95 / $4.00 | 1x | $4.00 |
| GLM-5.2 | $1.40 / $4.40 | 1x | $4.40 |
| Kimi K3 | $3.00 / $15.00 | 4x | $60.00 |
The spread is the point. On the same flat plan, one model costs 120 times as much per output token as another.
What we measured ourselves
One week of gateway traffic (17 to 23 September 2026): 1,858 requests, 199 of which failed, and 13.4 million tokens, of which 73% were cache reads. At list prices that came to $5.54. One project was 89% of the tokens and 98% of that notional spend.
The same traffic on a flat plan. Run through the $10 plan, that week's traffic would use about $83 a month of the plan's pool, 138% of its $60 monthly allowance. On per-token providers the same traffic would cost an estimated $4 to $10 a month (our arithmetic, not a measured bill). For our traffic, the flat plan's limits mattered more than its price.
One bad run can eat a week. On 23 September a single coding run used 761,000 tokens over 42 minutes, ended with no answer, and moved the plan's weekly usage counter by 37 percentage points in about five hours.
Expensive models dominate quietly. In the plan's first five days, one model with a 4x multiplier used $8.86 of $12.28 of usage (72%) across 217 calls, while a 1x model used $3.10 across 175 calls.
Coding agents are mostly cache. Our coding agents use about a billion tokens a month, 98% of them cache reads. A memory plugin we ran alongside them made 5,859 model calls and used 412 million tokens in one week, about 17% of all our token use, which was a surprise and a reason to look at every background helper.
One quality baseline. Our daily model check runs eight test prompts per job. On 1 October 2026 the current coding seat passed 7 of 8 (median 1.4 seconds) and the reasoning seat 8 of 8 (median 4.5 seconds). A replacement model has to pass at least 6 of 8 and be no more than twice as slow. That gives us a pass rate per job, but not yet a cost per job.
Traps in reading AI prices
- A router's listed price is the cheapest provider it knows, not what you pay. One bill came to 1.98 times the listed price, because the request went to a dearer provider.
- Your own tracking can be wrong. For months our gateway priced reasoning tokens at zero and reported spend about 190 times below the real bill. Later it undercounted one plan's usage by about a third (21% shown, 30% actual).
- Flat plans are priced in limits. A rolling five-hour, weekly and monthly counter, and on our plan, using up any one of them blocks every model at once.
- Cheap per token is not cheap per job if the model needs retries, runs long, or tells you it did something it did not. We have seen a low-cost model report a tool call it never made, four times out of four.
- Caching changes everything. With 73 to 98% of tokens served from cache, the cache-read price matters more than the headline input price.
What we have not measured, and how we will
We do not yet have:
- a cost per job for any model;
- the effective price of our main subscription for coding agents, because it is a fixed monthly plan whose usage limits are not published as token counts;
- the five-hour and weekly limits on one of our plans, which the vendor does not publish;
- a cost for the daily model check itself.
The method we are putting in place: a fixed basket of real jobs from our own work, such as a code review, a set of tests for a small function, a document summary and a structured extraction. Each will run on every model we can reach. We will record tokens in, tokens out and from cache, wall-clock time, the price that was actually billed (or the plan usage it consumed), and whether the result passed a check we wrote in advance. Cost per job is then the total cost of the attempts divided by the number that passed.
When those numbers exist, they will go here, with the date, so you can see how they move. Until then, this note is the honest version: what we pay for, what we used, and the traps we fell into on the way.