AI SpaceSep 1, 20269 min read

The Cheapest Model Is the One That Finishes: Cost Per Solved Task

Price per million tokens tells you what an attempt costs. Divide by how often the model succeeds and you get the number that shows up on the invoice.

On this page
  1. The two inputs
  2. The arithmetic
  3. The strongest objection, worked through
  4. What this number leaves out
  5. The move this suggests
  6. Method

Every pricing page quotes dollars per million tokens. Nobody buys tokens. You buy finished work: a merged pull request, a triaged ticket, a migration that runs.

So the number worth knowing is the cost of a task that actually got done, which is the price of one attempt divided by how often the attempt succeeds. A model at a third of the price that succeeds a third as often has saved you nothing.

Here is what that arithmetic says right now, and the answer is more favourable to open models than the sticker prices already suggest.

The two inputs

Start with what an attempt costs. These are list prices per million tokens:

List price — USD per 1M tokens
List price — USD per 1M tokens
ModelInput $/1MOutput $/1M
GLM-5.3-Flash$0.15$0.5
GLM-5.3$1.4$4.4
Qwen3.8-Max$2$6
Claude Fable 5$10$50

Sources: MarkTechPost: GLM-5.3-Flash release, GLM-5.3 model card (Hugging Face), MarkTechPost: Alibaba releases Qwen3.8-Max, Anthropic: Claude Fable 5 and Claude Mythos 5

Then how often each one finishes. Terminal-Bench 2.1 is the benchmark with the widest coverage across these four, so it is the one that supports a comparison at all:

Terminal-Bench 2.1 — % of tasks completed
Terminal-Bench 2.1 — % of tasks completed
ModelTerminal-Bench 2.1
GLM-5.3-Flash84.3%
GLM-5.388.2%
Qwen3.8-Max86.6%
Claude Fable 584.6%

Sources: MarkTechPost: GLM-5.3-Flash release, GLM-5.3 model card (Hugging Face), MarkTechPost: Alibaba releases Qwen3.8-Max

Look at those two charts together and the argument is already visible. The success rates sit within four points of each other. The prices differ by nearly two orders of magnitude.

The arithmetic

Take a mid-sized agentic coding task: 250,000 input tokens accumulated across turns of repository context, and 30,000 output tokens of reasoning and diffs. Cost of one attempt is (0.25 × input price) + (0.03 × output price).

Then divide by the success rate, which is the same as saying: if a model finishes 84% of the time, you pay for about 1.19 attempts per finished task.

ModelOne attemptFinishesPer solved taskRelative
GLM-5.3-Flash$0.052584.3%$0.06
GLM-5.3$0.482088.2%$0.558.8×
Qwen3.8-Max$0.680086.6%$0.7912.6×
Claude Fable 5$4.000084.6%$4.7375.9×

GLM-5.3-Flash lands within 0.3 points of Claude Fable 5 on this benchmark and gets there for about one seventy-sixth of the cost per finished task.

At a thousand tasks a month, that is $62 against $4,728.

The strongest objection, worked through

Prompt caching. Agentic coding re-sends the same repository context on every turn, cached input is dramatically cheaper than fresh input, and the table above ignores that entirely. Anthropic has also been pushing cache reads down hard, the Fable 5.1 release cut them by 75%.

So give the expensive model the most generous version of its own case: 90% of that 250K input served from cache at $0.25 per million, the remaining 10% at full price.

Fable 5, cachedValue
Input (225K cached + 25K fresh)$0.31
Output (30K)$1.50
One attempt$1.81
Per solved task$2.14

Caching more than halves it, and the gap is still 34×. The reason is structural: output tokens are where agentic coding spends, caching does nothing for them, and $50 per million output is $50 per million output.

Run the sensitivity the other way, an output-heavy profile of 100K in and 80K out, and the ratio widens rather than narrows, because output is the expensive half.

What this number leaves out

Publishing a ratio like 76× obliges you to say where it breaks.

Retries are treated as independent, which flatters the cheaper model. Dividing by the success rate assumes a second attempt is a fresh roll of the dice. Failures correlate: a task a model cannot do, it usually cannot do on the third try either. For the slice of work that a weaker model simply never completes, the honest cost is not "more attempts", it is that the task needs a stronger model. That is an argument for routing, which is the conclusion below.

Scores are vendor-reported and harnesses differ. GLM-5.3's figure comes from Zhipu's model card; the Qwen and Fable numbers come from Alibaba's published comparison table. Different scaffolds, different prompts, no independent referee. Treat four points of separation as noise, which is exactly why the price column carries the argument.

Terminal-Bench 2.1 is one benchmark, and the family is confusing. Terminal-Bench 2.1, 3.0 and 4.0 are different tests, and their scores are not interchangeable. We have written separately about why those version numbers matter.

Engineer time is the real budget. A failed run costs a person's attention as well as tokens. That argues for spending more on the attempts a human is waiting on, and less on the ones running unattended overnight.

The move this suggests

The table has an obvious reading and a better one.

The obvious reading is "use the cheap model". The better one is that cost per solved task varies by 76× while quality varies by 4%, so the win is in matching the model to the task rather than standardising on one.

That means routing. Send routine work, the bulk of it, to GLM-5.3-Flash at six cents. Send the genuinely hard cases to a larger model. Put a verifier between the model and the merge button so that "finished" means tests passed rather than the model saying it was done.

Three practical consequences:

  • Measure your own rate, not the benchmark's. Your success rate on your codebase is the only number in that table you can actually change. Log attempts and completions per model and the arithmetic becomes yours.
  • Route by difficulty, and let the cheap model try first. A first pass at six cents that succeeds four times out of five makes the expensive fifth attempt easy to afford.
  • Spend the savings on verification. The money not spent on tokens buys a test suite, a judge pass, or a second opinion. All of those raise the success rate, which is the denominator of the whole calculation.

Keeping that choice open is the reason the model layer is a slot rather than a vendor: frontier endpoint, open weights in your region, or fully on-premises, swapped by configuration.

For how we assemble that into a working setup, see running open models at frontier level. For the current field, see the best open source coding models.

Method

Cost of one attempt is (input_tokens ÷ 1M × input_price) + (output_tokens ÷ 1M × output_price), using a 250K input / 30K output profile. Expected cost per solved task is that figure divided by the benchmark success rate, which models retries as independent. Prices and scores are the list prices and published Terminal-Bench 2.1 results cited in the charts above, all as of 30 August 2026. The arithmetic is deliberately simple so you can redo it with your own token profile and your own measured success rate.

Written by

Cho Yin Yong

Principal AI Solutions Engineer, XY Space

Principal AI Solutions Engineer at XY Space. University of Toronto lecturer for five years, co-author of two patents, winner of two competitive AI awards, and nine years of regulated engineering leadership.

More from Cho Yin Yong

Share this article

Work with us

We build the systems these posts describe, and we'll tell you in the first call whether yours is worth building.

Start a project
Work with us

Book a call.We'll come back with specifics.

Start with the map of your organization, or with the one job that hurts. Measured in hours and money, and everything we build stays yours.

Loading form…