DEV Community

MT_Notes
MT_Notes

Posted on

Why the Cheaper-per-Token Model Costs More per Point of Capability: Step 5 Preview, MiniMax M3, and the New Denominator

1. Background

On September 20, StepFun released its flagship foundation model Step 5 Preview: a sparse MoE architecture with 600B total parameters and only 27B activated per token, a 1M-token context window, and native text plus vision input. The third-party API opened the same day, with full weights promised for October 15. Artificial Analysis scored it 44 on its Intelligence Index, placing it in the global top three among open models. StepFun also pushed a more quotable number: a per-task cost roughly one-eighth that of Claude Opus 5.
In almost the same window, another open-weight model, MiniMax M3, was pushed to prominent positions in several gateway and price-comparison catalogs: 428B total parameters, around 23B active, MiniMax Sparse Attention (MSA), a 1M-token context, and multimodal data mixed in from the very first pretraining step. It is far cheaper than Step 5 Preview, at $0.30 versus $1.00 per million input tokens and $1.20 versus $2.70 per million output tokens.
So the question becomes concrete: is the model that is two to three times cheaper per token actually cheaper to run? Compare the two price sheets over a common denominator and the answer is no.

2. The technical picture

2.1 Change the denominator from tokens to tasks
Artificial Analysis runs the same evaluation set through both models and converts the tokens actually produced into money. Step 5 Preview lands at about $0.71 per index task; MiniMax M3 lands at about $0.51. Measured on raw throughput, M3 is roughly 28% cheaper.
Divide by each model's score and the ranking flips: 44 against 29. That works out to about 1.6 cents of capability per point for Step 5 Preview and about 1.8 cents for M3. The model that costs 3.3x more per token is the cheaper one per unit of capability.
That denominator deserves to be called out on its own, because a per-token price hides two things entirely: how much a model talks (verbosity) and how many tokens it spends thinking (reasoning overhead). A chatty cheap model can easily outspend a concise expensive one.
One version trap is worth flagging. Artificial Analysis recalibrated its Intelligence Index on September 7, 2026, compressing scores across the board. Comparing a score from a screenshot taken before that date against a current score will produce the wrong conclusion.
2.2 Two counterintuitive clauses in M3's price sheet

The first row is an ordinary tier. The second row is the point. The vendor's rule reads: the whole request is priced according to the tier that its input token count falls into. This is not a surcharge on the excess; it is the entire request repriced. For a coding agent that keeps accumulating history into its context, the moment that context crosses 512K, the full input, the full output, and even the cache-hit rate all double. That is not a linear increase. It is a cliff.
The second clause is a cache write price of $0.00. Most vendors charge more for writing to cache than for ordinary input, because writing is extra work and only a hit earns a discount. M3 turns the write into a free action, which means you no longer have to bet on your hit rate. You do not need to calculate how many hits it takes to amortize the write cost, because the first write already breaks even. The engineering conclusion is blunt: if a prefix can be pinned into cache, pin it, and stop deliberating.
2.3 One model id, 49 hosting providers, a 3.2x price spread
M3 is an open-weight model, so the same weights can be hosted by many parties. Comparison catalogs show M3 quoted across 49 hosts, with input prices running from $0.225 to $1.20, a 3.2x spread. For contrast, GPT-5.5's spread over the same period is 33.3x.
More expensive does not automatically mean worse. One host quotes $0.40 / $2.00, which is 33% and 67% above the official rates, yet its measured behavior on the relay path shows a 1.03s median time to first token and a 92.6% cache hit rate. Keep the sources straight: benchmark scores belong to the weights, while measured time to first token and hit rate belong to the host. They are not interchangeable.

from openai import OpenAI

client = OpenAI(
    api_key="your-accels-key",
    base_url="https://router.accels.tech/v1",
)

resp = client.chat.completions.create(
    model="minimax-m3",
    messages=[
        {"role": "system", "content": STABLE_PREFIX},   # pin the prefix, change it rarely
        {"role": "user", "content": question},
    ],
)

u = resp.usage
print(u.prompt_tokens, u.completion_tokens)
print(getattr(u, "prompt_tokens_details", None))   # how much hit the cache
Enter fullscreen mode Exit fullscreen mode

What matters here is not the reply but the usage object: the tokens that hit the cache show up separately in the detail fields. Log that number weekly and you will forecast your bill far better than you can by staring at a rate card.
It is also worth separating the two senses of "available." M3's weights have been downloadable since June 12, with an additional MXFP8 quantized release. Step 5 Preview currently exists only as a hosted endpoint; its Hugging Face repository is an empty shell and the weights are due October 15. One is a file you can hold. The other is a date in a letter of intent.

3. Where this lands: why the call layer should converge on one interface

Once unit price, caching semantics, tier rules and hosting variance are all moving at the same time, maintaining a price sheet by hand stops being realistic. That is why we converge our calls onto router.accels.tech. Accels is a Singapore-based company, and Singapore is becoming the concentration point for AI infrastructure in the region: per the FT, OpenAI is in talks to lease roughly 100,000 square feet at Shaw Tower, and Anthropic opens its own Singapore office in October, following Tokyo, Bengaluru, Seoul and Sydney.
Three things land concretely.
Complete model coverage. For models like the ones above that are open-weight but served by many hosts, one key reaches them by model id, with no need to wire up each host separately. Model selection stops being "integrate one more vendor" and becomes "change one string."
Unified billing. If cache-hit rates, tier boundaries and host differences are scattered across several invoices, you can never work out how much a given change actually saved. Unified billing turns cost per task from an estimate into a queryable number, which is exactly the denominator this article opened with.
Stability. A cache hit rate depends on the previous request landing on the same host. One mid-run failure restarts the entire cache chain, and input that should have billed at the hit rate is rebilled at full price. On this path, link stability converts directly into money.

# Long-context workhorse plus a light router, one key, one invoice
for model in ["minimax-m3", "qwen3.8-flash-next", "gpt-5.6-luna"]:
    r = client.chat.completions.create(model=model, messages=msgs)
    print(model, r.usage)
Enter fullscreen mode Exit fullscreen mode

The boundary deserves stating: a gateway will not decide how to slice your prefix or when to compact your context. That remains your architectural call. What it removes is duplicated integration work and inconsistent accounting, not design responsibility.

4. Closing

In 2026, model selection is hard to answer with "which one is cheaper." What actually determines the bill is three numbers: cost per task, cache hit rate and host stability. Step 5 Preview pushes the Pareto frontier outward by a notch, running unattended 24-hour loops that take an H100 kernel from scratch to 508 TFLOPS, against Claude Opus 5's 493 TFLOPS in the same experiment. MiniMax M3 uses open weights plus free cache writes to turn long context from something you can afford into something you use routinely. Neither price sheet states its own denominator clearly.
Rather than keep doing the arithmetic by hand, stand up the unified interface layer first and optimize the prefix structure afterwards. Spend the effort on where the prefix should be cut, not on rewriting auth and retry logic for the fourth time.

Sources

  • Step 5 Preview: 600B total / 27B active, AA Intelligence Index 44 (National Business Daily)
  • Small parameters, high performance: StepFun's new model enters the global open-source top three (Shanghai Observer)
  • Step 5 Preview Goes Live: 600B Params (AI DAMN)
  • Step 5 Preview vs MiniMax M3: cost per task and per index point (OrcaRouter)
  • MiniMax M3 model page: rates, cache pricing, long-context tiers (LLM Abacus)
  • MiniMax M3 multi-host quotes and spread (LLM Pricing)
  • MiniMax M3 measured endpoint: time to first token and cache hit rate (Requesty)
  • SWE-bench Pro leaderboard with live prices (AnotherWrapper)
  • OpenAI and Anthropic push up Singapore office rents (Financial Times via AI Weekly)

Top comments (0)