September 25, 2026
In the worked ten-turn conversation, an 8,000-token system prefix leads to 101,750 input tokens, of which 92,250 (90.7%) repeat earlier text. Switching models can force a fresh prefill. GMI Router accounts for cache state when choosing a model, with no judge-model call and a published routing time under 200 ms.
GMI Router provides Cost, Balanced, and Quality modes within an organization-approved model pool on GMI Cloud's inference platform. (About)
Compare cached-turn cost, switching cost, and the prefix-length crossover before setting routing policy.
A multi-turn bill grows faster than its traffic because every turn resends the whole conversation. The model is stateless, so turn 10 pays for turns 1 through 9 again.
Take a realistic assistant shape: an 8,000-token static prefix (system prompt, tool schemas, policy text), a 150-token user message per turn, and a 300-token reply.
| Turn | Input tokens sent | Repeated from previous turn | Genuinely new |
|---|---|---|---|
| 1 | 8,150 | 0 | 8,150 |
| 2 | 8,600 | 8,450 | 150 |
| 3 | 9,050 | 8,900 | 150 |
| 5 | 9,950 | 9,800 | 150 |
| 8 | 11,300 | 11,150 | 150 |
| 10 | 12,200 | 12,050 | 150 |
| 10-turn total | 101,750 | 92,250 | 9,500 |
Traffic grew by one user message per turn. Billable input grew by 450 tokens per turn, which is three times faster, and 90.7% of the total is repetition. This is the structural reason multi-turn products hit budget ceilings that single-shot products never see, and it is why the two numbers that decide your unit economics are the cache read price and the cache hit rate.
On GPT-6 Astra, cache reuse cuts a 10-turn session by roughly 71%.
Run the same 10 turns through GPT-6 Astra at its list price of $10.00 per 1M input tokens, $50.00 per 1M output tokens, and $1.00 per 1M cache read tokens (model catalog, as of October 2026, console.gmicloud.ai/model-library). Column three bills every input token at full rate. Column four bills the repeated prefix at the cache read rate.
| Turn | Input tokens | Prefix served from cache | Cost without cache reuse | Cost with cache reuse |
|---|---|---|---|---|
| 1 | 8,150 | 0 | $0.0965 | $0.0965 |
| 2 | 8,600 | 8,450 | $0.1010 | $0.0250 |
| 3 | 9,050 | 8,900 | $0.1055 | $0.0254 |
| 4 | 9,500 | 9,350 | $0.1100 | $0.0259 |
| 5 | 9,950 | 9,800 | $0.1145 | $0.0263 |
| 6 | 10,400 | 10,250 | $0.1190 | $0.0268 |
| 7 | 10,850 | 10,700 | $0.1235 | $0.0272 |
| 8 | 11,300 | 11,150 | $0.1280 | $0.0277 |
| 9 | 11,750 | 11,600 | $0.1325 | $0.0281 |
| 10 | 12,200 | 12,050 | $0.1370 | $0.0286 |
| Session | 101,750 | 92,250 | $1.1675 | $0.3373 |
Each turn includes 300 output tokens at $50.00 per 1M, which is $0.0150 of fixed cost per turn. Prices are list prices from the catalog; GPT-6 Astra carried no catalog discount on October 15, 2026.
Three things fall out of that table:
At 100,000 sessions of this shape per month, the gap is $116,750 against $33,725, a difference of $83,025. Cost efficiency through "KVcache reuse, scheduling, load planning, and more" is listed as a platform feature of GMI Cloud's Model-as-a-Service platform, and the savings show up where they are authoritative: the Serverless Usage view and the invoice in Console (usage docs).
DeepSeek-V4.1-Flash gives the biggest one of the five models compared here: it bills a repeated prefix at one fiftieth of its input price. The multiple between a model's input price and its cache read price varies by more than an order of magnitude across the catalog, so it belongs in your model selection criteria rather than in a footnote.
All figures below are list prices from the GMI Cloud model catalog as of October 15, 2026 (console.gmicloud.ai/model-library), per 1M tokens.
| Model (catalog ID) | Input | Cache read | Input / cache read | Output | Context |
|---|---|---|---|---|---|
DeepSeek-V4.1-Flash (deepseek-ai/DeepSeek-V4.1-Flash) | $0.30 | $0.006 | 50x | $1.20 | 1,048,575 |
GPT-6 Astra (openai/gpt-6-astra) | $10.00 | $1.00 | 10x | $50.00 | 1,050,000 |
Gemini 3.8 Flash (google/gemini-3.8-flash) | $0.75 | $0.075 | 10x | $3.75 | 1,048,576 |
GLM-5.3 (zai-org/GLM-5.3) | $1.40 | $0.26 | 5.4x | $4.40 | 1,048,576 |
Kimi K2.7-Code (moonshotai/kimi-k2.7-code) | $0.95 | $0.19 | 5.0x | $4.00 | 262,144 |
Read the multiple as "how much of the first pass you keep paying for." At 50x, a repeated prefix on DeepSeek-V4.1-Flash costs 2% of what it cost the first time. At 5x, the same prefix on Kimi K2.7-Code still costs 20% of its first pass, so a long conversation on that model stays meaningfully expensive even with a perfect hit rate.
Two of these models carried catalog discounts on October 15, 2026: in the model catalog, DeepSeek-V4.1-Flash was listed at $0.18 input and $0.0036 cache read under a 40% discount, and GLM-5.3 at $0.98 input and $0.182 cache read under a 30% discount. Every calculation in this article uses list prices, so that discounts cannot flatter the result.
A mid-conversation model switch costs one full cold prefill at the new model's input price, paid on the turn the switch happens. Whether that is a good trade depends entirely on how far apart the two models are priced.
Start at turn 6 of the session above: 10,250 tokens of shared prefix, 150 new tokens, 300 output tokens.
Case A: a modest downgrade that loses money. The session is on GLM-5.3 and a cost-seeking router moves it to Kimi K2.7-Code, whose input price is 32% lower.
| Stay on GLM-5.3 (cache warm) | Switch to Kimi K2.7-Code (cold) | |
|---|---|---|
| Prefix billing | 10,250 at $0.26 = $0.00267 | 10,250 at $0.95 = $0.00974 |
| New input | 150 at $1.40 = $0.00021 | 150 at $0.95 = $0.00014 |
| Output | 300 at $4.40 = $0.00132 | 300 at $4.00 = $0.00120 |
| Turn 6 total | $0.00420 | $0.01108 |
The switch costs 2.6 times as much on the turn it happens. From turn 7 onward the cheaper model saves about $0.00098 per turn, so the cold prefill takes roughly 7 more turns to repay. A 10-turn session only has 4 turns left, and the full session lands at $0.05344 instead of $0.05049, which is 5.8% more expensive than never switching at all.
Case B: a large downgrade that pays immediately. Same turn, same prefix, but the session moves from GPT-6 Astra to GLM-5.3.
| Stay on GPT-6 Astra (cache warm) | Switch to GLM-5.3 (cold) | |
|---|---|---|
| Prefix billing | 10,250 at $1.00 = $0.01025 | 10,250 at $1.40 = $0.01435 |
| New input | 150 at $10.00 = $0.00150 | 150 at $1.40 = $0.00021 |
| Output | 300 at $50.00 = $0.01500 | 300 at $4.40 = $0.00132 |
| Turn 6 total | $0.02675 | $0.01588 |
Here the switch is 41% cheaper on the switch turn itself, before any payback period, because the output price gap of $45.60 per 1M dwarfs the $0.40 per 1M premium on the cold prefix. Over the full session, switching at turn 6 costs $0.2328 against $0.3373, a 31% saving.
The lesson is not "never switch." It is that a router making this decision has to price the cache, and a router that only compares headline input prices will confidently pick Case A.
Switching models mid-conversation is cheaper than staying on the current model whenever the destination model's savings on new input and output tokens outweigh the cost of reloading the shared prefix at its full input price. Written out, the switch turn is cheaper when:
prefix_tokens x (input_price_new - cache_read_price_current)
< new_tokens x (input_price_current - input_price_new)
+ output_tokens x (output_price_current - output_price_new)
The left side is the cold prefill premium. The right side is everything the cheaper model saves on that turn. Solving for the prefix length gives a crossover point: the conversation length past which a given downgrade stops being worth it. Using the same per-turn shape (150 new input tokens, 300 output tokens) and October 2026 list prices:
| Switch | Crossover shared prefix | Practical reading |
|---|---|---|
| GPT-6 Astra to Kimi K2.7-Code | No limit | Candidate input price ($0.95) sits below Astra's cache read price ($1.00), so a longer prefix makes the switch relatively cheaper, not dearer |
| GPT-6 Astra to DeepSeek-V4.1-Flash | No limit | Same condition, with a much larger output gap |
| GPT-6 Astra to GLM-5.3 | about 37,400 tokens | Worth it for normal sessions, stops paying once the shared prefix passes roughly 37K |
| GLM-5.3 to DeepSeek-V4.1-Flash | about 28,100 tokens | Worth it for normal sessions |
| Gemini 3.8 Flash to DeepSeek-V4.1-Flash | about 3,700 tokens | Below the 8,000-token prefix modeled here, so this pair only pays on surfaces with a short static block |
| GLM-5.3 to Kimi K2.7-Code | about 270 tokens | Effectively never worth it mid-session |
Two conditions sit behind every row. The thresholds use the October 15, 2026 list prices rather than the discounts two of these models carried that day, and they assume the destination model starts cold on that conversation. Recheck them whenever catalog prices move.
Three operating rules follow from this table, and they are simple enough to encode in your routing policy:
These rules assume one cache lineage per conversation and no retrieval step that rewrites the front of the prompt. Prompt ordering decides whether that assumption holds, which the FAQ below covers.
On GMI Router the rules turn into two settings rather than code you maintain: the allowed model pool fixes which switches are available at all, and the mode fixes how hard the router pushes toward the cheap end of that pool.
GMI Router applies the task-versus-cost decision per request, inside a model pool the organization approves, without adding a second model call in front of your traffic.
One design detail worth knowing before you integrate: the router itself does not store your conversation. The GMI Router documentation states "The router is stateless. Resend the full conversation on every request." Cache reuse happens in the serving layer, not in the router's memory, so your client keeps owning the message list exactly as it does today against an OpenAI-style chat endpoint. The call itself is one POST to https://console.gmicloud.ai/api/v1/ie/recommendation/autoroute with an OpenAI-style messages array and an optional mode field set to cost, balanced, or quality; the response carries a routing_metadata block naming the model that was selected.
Two companion pieces cover the neighboring ground. Automatic Model Selection for Every Prompt: GMI Router Is Live covers what routing does and how it was introduced; Cost Per Million Tokens Explained covers the per-token arithmetic underneath any model price. This article stays on the part neither one prices: what repetition and cache reuse do to a conversation that runs for ten turns.
Does GMI Router keep my conversation history so the cache stays warm? No. The router is stateless; resend the full messages array on every request. Prefix reuse occurs at the serving layer, not in a stored router conversation.
Which routing mode should a multi-turn chat product use? Start by testing Balanced for the main conversation, Quality for costly errors, and Cost for stateless classification or extraction. GMI's cited 84% lower cost versus Opus 4.8 is an internal directional result, not independently audited; validate the choice on actual tasks.
How do I confirm that cache reuse is actually happening on my traffic? Replay a fixed session cohort for a week, then reconcile Console Serverless Usage by model and key with the invoice. The example predicts roughly 80% lower input spend with unchanged output spend; that depends on realizing the modeled prefix reuse. (docs)
Does switching models mid-conversation always cost more? No. Compare the new model's cold-prefill cost against future savings using the crossover inequality. If its fresh-input rate is no higher than the current cached-input rate and output is no dearer, switching pays immediately. Close rates can reverse that result: the GLM-5.3/Kimi K2.7-Code example raises ten-turn cost by 5.8%.
Does retrieved context break the cache on every turn? New context invalidates the shared suffix when inserted before it. Put stable system text, tools, and policies first, then history, then new retrieved passages. If prompt ordering cannot retain a stable prefix, evaluate per-request routing without assuming durable cache reuse.
My traffic is steady and high volume. Is routing still the right layer? Routing can still choose by task. Move a model's sustained, predictable traffic to a warm single-tenant Prime Inference endpoint billed per GPU-hour while other workloads continue routing.
Create a key in Console, set your allowed model pool, and send a week of your existing multi-turn conversations to GMI Router by posting them to https://console.gmicloud.ai/api/v1/ie/recommendation/autoroute with "mode": "balanced". The request body is the same OpenAI-style messages array you already build; what changes on the way back is that the response also names the model that was chosen. Compare the invoice against your fixed-model baseline. If you want help picking the pool for your session shape, or a quote for sustained production traffic, talk to the GMI Cloud team through the MaaS page.
Colin Mo
GMI Cloud helps you architect, deploy, optimize, and scale your AI strategies
