BlogAI Engineering
AI Engineering18 min read· Jun 26, 2026

Kimi K2.7 Code (2026): Does a 30% Token Cut Lower Your Bill?

Carolina Fogliato

Published Jun 26, 2026 · updated Jun 26, 2026

Kimi K2.7 Code costs the same per token as K2.6, with slightly worse cache reads. A lower bill rides entirely on Moonshot's claim that it burns ~30% fewer thinking tokens — and that cut is real money only where reasoning dominates spend. On a reasoning-heavy job the bill drops ~13%, not 30. On an input-heavy job it drops under 1%. The benchmarks behind the hype are vendor-reported and unverified; the only number to trust is your own bill.

Kimi K2.7 Code costs the same per token as K2.6 — $0.95 per million input tokens, $4.00 per million output. Its cache reads are slightly worse ($0.19/M vs $0.16/M). A lower bill rides entirely on Moonshot's claim that the model burns ~30% fewer thinking tokens, and that cut is real money only where reasoning dominates spend. On a reasoning-heavy job the bill drops ~13%, not 30. On an input-heavy job it drops under 1%.

Pick K2.7 Code for text-only reasoning work; stay on K2.6 for images or short-output jobs. The benchmarks behind the hype are all vendor-reported and unverified; the only number to trust is your own bill. This piece walks the token math so you can compute that number on your own traffic before you change a model string.

30% fewer thinking tokens is not 30% cheaper. It's ~30% times your reasoning share.

TL;DR

Which Workload Picks Which Model

The decision turns on one variable: the share of your output tokens that go to reasoning. Everything else — price parity, worse cache, unverified benchmarks — is secondary to that ratio.

Here's the short version, by workload. Match your traffic to the closest row.

Your workloadPickWhy
Text-only, reasoning-heavy coding (long thinking traces)K2.7 CodeThinking tokens are most of your output spend, so the 30% cut lands hard.
Agentic loops with long autonomous runsK2.7 CodeReasoning token reduction compounds across many turns.
Vision / screenshot / image inputK2.6K2.7 Code is text-only; an image_url block fails on it.
Input-heavy, short outputs (RAG, summarize, classify)K2.6Output is a sliver of your bill, so a 30% output cut saves under 1%.
Heavy cache reuse on repeated contextK2.6K2.7 Code's cache read is $0.19/M vs K2.6's $0.16/M, so K2.6 is cheaper on cached input.
You haven't measured your own thinking/output ratio yetmeasure firstThe whole decision turns on that ratio; the A/B loop gives it to you in 10 lines.
If you do nothing elsemeasure firstEvery dollar figure depends on the reasoning share of output, specific to your traffic. Vendor benchmarks won't tell you; your own logs will.

If you do nothing else, take the "measure first" row seriously — every dollar figure depends on the share of output tokens that go to reasoning, specific to your traffic. Vendor benchmarks won't tell you; your own logs will.

Quick Specs

K2.7 Code vs K2.6 at a Glance

Same per-token price, same context window, slightly worse cache reads, text-only. That leaves exactly one lever that can lower your bill: the thinking-token reduction.

Specs from Moonshot's release and model card, June 2026, prices per million tokens.

SpecK2.7 CodeK2.6
Model stringkimi-k2.7-codekimi-k2.6
Context window262,144262,144
Max output262,144262,144
Input $/M$0.95$0.95
Output $/M$4.00$4.00
Cache read $/M$0.19$0.16
Modalitytext onlytext + image
Architecture1T MoE / 32B activeMoE
Released2026-06-122026-04-21
LicenseModified MIT (open weights)open weights

Three facts fall out of this table. Per-token price is identical, so swapping models doesn't change your rate card. Cache reads are worse on K2.7, so cached input costs more. And K2.7 Code is text-only — it does not take images, K2.6 does. Price parity plus worse cache means exactly one lever can lower your bill: the thinking-token reduction.

Per-token price identical

$0.95/M input and $4.00/M output on both models. Swapping K2.6 for K2.7 Code changes nothing on the rate card.

Cache reads worse on K2.7

$0.19/M vs $0.16/M — a 19% premium on every cached token. On cache-heavy workloads K2.6 is cheaper on input alone.

K2.7 Code is text-only

It does not accept images; K2.6 does. An image_url block works on kimi-k2.6 and fails on kimi-k2.7-code.

Benchmarks

The Coding Gains Are Vendor-Reported

Moonshot reports three coding benchmarks with double-digit gains. All three are proprietary, none have independent reproduction, and no public SWE-bench Verified, LiveCodeBench, or GPQA results shipped at launch.

BenchmarkK2.6K2.7 CodeReported gainVerified by third party?
Kimi Code Bench v250.962.0+21.8%No
Program Bench48.353.6+11.0%No
MLS Bench Lite26.735.1+31.5%No

The structural reason to discount: a vendor benchmark with a narrow score spread can show a big percentage gain off a small absolute move, and a proprietary harness can be tuned to the model that ships with it. VentureBeat covered the launch under the line that practitioners say the benchmarks don't check out. Researcher Elliot Arledge ran K2.7 Code vs K2.6 on KernelBench-Hard, a public GPU-kernel bench, and the MoE-kernel score regressed to 0.157 from K2.6's 0.222 on worse tuning.

The benchmark that would settle this for a routing decision has a wide spread across models and a public methodology. K2.7 wasn't submitted to that at launch. So treat K2.7 Code as roughly K2.6-class on quality until your own evals say otherwise, and justify the switch on token math, not benchmark deltas.

Unverified, treat as marketing

+21.8%, +11.0%, +31.5% are all Moonshot proprietary results with no third-party reproduction. KernelBench-Hard, the one public test we've seen, regressed. Don't route on these numbers.

Roughly K2.6-class on quality, until your own evals say otherwise.

Token Math

Where the 30% Actually Lands

The 30% reduction is on thinking (reasoning) tokens, which bill as output (completion) tokens. Input doesn't move. So the cut only touches the reasoning slice of your output spend.

The bill formula

bill = input_tokens × $0.95/M + output_tokens × $4.00/M where output_tokens = thinking_tokens + visible_tokens K2.7 Code cuts only the thinking_tokens piece, by ~30%.

The clean saving formula is: reduction ≈ 0.30 × (thinking spend / total spend). If thinking is your whole bill, you get close to 30%. If it's a sliver, you save a sliver. The variable is the share of spend on reasoning, which ranges from near-total (agentic multi-step coding) to near-zero (long input, one-line answer).

Moonshot's own example is a 12-hour run dropping from ~2M reasoning tokens to ~1.4M — the 30%. That's a vendor example, not your measured result, but it shows the shape: on a long agentic run, reasoning dominates and the cut compounds. Don't generalize that 12-hour agent run to every job.

A summarization call that reads 200K tokens and writes 200 is the opposite profile — output is a sliver, the cut saves almost nothing, and the switch is pointless for cost. You don't have to guess: every response carries usage with prompt_tokens and completion_tokens, and thinking is folded into completion. The share you care about is completion_tokens × $4.00/M divided by the whole bill. Log it across a representative week before you change a model string.

Your measured thinking-to-output ratio decides, not the brochure.

Pricing Math

Three Worked Examples, $0.95/$4.00, No Cache Hits

Same price per token on both models, so the only moving part is the thinking-token cut. These three examples bracket the real world: reasoning-heavy, input-heavy, and a 12-hour agentic run.

All three assume the $0.95/M input and $4.00/M output rate card and no cache hits, so the thinking-token cut is the only lever. Monthly figures scale the per-job total by the job counts noted in each example.

Example 1 — reasoning-heavy

50,000 input, 20,000 output (14,000 thinking / 6,000 visible)

LineK2.6K2.7 Code
Input (50,000 × $0.95/M)$0.0475$0.0475
Thinking tokens14,0009,800 (−30%)
Visible tokens6,0006,000
Output tokens total20,00015,800
Output cost (× $4.00/M)$0.0800$0.0632
Per-job total$0.1275$0.1107

Bill reduction: 13.2% (thinking fell 30%, output 21%, bill 13.2% because input didn't move).

ModelMonthly bill
K2.6$3,825.00/mo
K2.7 Code$3,321.00/mo
Saving$504.00/mo (−13.2%)

Example 2 — input-heavy

200,000 input, 4,000 output (1,600 thinking)

LineK2.6K2.7 Code
Input (200,000 × $0.95/M)$0.1900$0.1900
Output tokens total4,0003,520 (thinking 1,600 → 1,120)
Output cost (× $4.00/M)$0.0160$0.0141
Per-job total$0.2060$0.2041

Bill reduction: 0.93% — under one percent. Switching for cost is pointless here; K2.6's cheaper cache makes it cheaper outright.

Example 3 — 12-hour agentic

500,000 input, 2M reasoning → 1.4M, 200K visible

LineK2.6K2.7 Code
Input (500,000 × $0.95/M)$0.475$0.475
Reasoning tokens2,000,0001,400,000 (−30%)
Visible output200,000200,000
Output cost (× $4.00/M)$8.800$6.400
Per-run total$9.275$6.875

Bill reduction: 25.9% — as good as it gets; reasoning dominates.

ModelMonthly bill
K2.6$5,565/mo
K2.7 Code$4,125/mo
Saving$1,440/mo (−25.9%)

The three examples bracket the real world: ~1% to ~26% depending on reasoning share; a typical mixed coding workload sits around 13% in the middle. The closer output is to all-thinking, the closer you get to the headline; the more bill is input, the less you save.

Cache Line Item

K2.7's Cache Premium Can Eat the Saving

K2.7's cached input is $0.19/M vs K2.6's $0.16/M — a 19% premium on every cached token. On a cache-heavy job, that premium has to be overcome by the thinking-token cut, and on light-reasoning work it isn't.

LineK2.6K2.7 Code
Fresh input (60,000 × $0.95/M)$0.0570$0.0570
Cached input (240,000)× $0.16/M = $0.0384× $0.19/M = $0.0456
Input cost$0.0954$0.1026

On a 300K-input job at 80% cache hit, K2.7 costs $0.0072 more per job on input alone. At 1,000 cache-heavy jobs a day over a 30-day month that's about $216/mo extra the thinking savings must overcome. On a cache-heavy, light-reasoning job, K2.7 can end up the more expensive model.

When to Pick K2.7 Code

Narrow Win: Text-Only, Reasoning-Heavy

K2.7 Code earns its keep on a narrow profile: text-only work where long thinking traces dominate output spend. Outside that profile the headline 30% rarely arrives.

  • Text-only — no image or screenshot input in the prompt.
  • Reasoning-heavy: long thinking traces vs a short visible answer (agentic coding, multi-step debugging, planning-heavy work).
  • Not leaning hard on cache reuse — repeated context that hits the cache a lot pays the $0.19/M premium on K2.7.

If you need more throughput at the same price, kimi-k2.7-code-highspeed keeps the token math identical — the swap doesn't change the bill, just the speed.

When to Stick with K2.6

Stay Put for Images, Short Outputs, Cache

K2.6 is the safer default for anything K2.7 Code can't do well or where the thinking cut doesn't reach the bill.

  • You need image input — K2.7 Code is text-only and an image_url block fails on it.
  • Input-heavy, short-output jobs (RAG, summarize, classify) — savings round to nothing, and K2.6's cheaper cache makes it cheaper outright.
  • You rely on non-thinking mode for fast direct answers — there's nothing for the 30% to cut.
  • You've validated K2.6 in production and have no measured reason K2.7 does the work better; the benchmarks are unverified.

If K2.6 is validated in your production and you have no measured reason K2.7 does the same work better, the unverified benchmarks aren't a reason to switch.

When Not to Use Either

Match the Model Tier to the Job First

K2.7 Code is a narrow efficiency gain on reasoning-heavy text. If that isn't your bottleneck, optimize routing, not this swap.

Budget high-volume batch

Classification, extraction, bulk summarization — route to a cheaper tier like DeepSeek V4 Flash ($0.14/$0.28), roughly 6× cheaper blended than Kimi. A reasoning model is the wrong tool.

Hard reasoning wanting a different family

If you want a different family's strengths on hard reasoning, GLM-5.2 is a reasoning-tier alternative worth an A/B against both Kimi variants.

Mixed traffic across all of the above

Don't pick one model; route each job class to the cheapest model that clears its quality bar. That beats any single-model choice, including K2.7 Code.

The point of K2.7 Code is a narrow efficiency gain on reasoning-heavy text; if that's not your bottleneck, optimize routing not this swap. Match model tier to job first; optimize within a tier second.

Match the model tier to the job first; optimize within a tier second.

A/B Both Models in 10 Lines

Run Your Real Prompt Through Both, Sum the Bills

Both Kimi variants share one OpenAI-compatible endpoint, so A/B is a loop over two model strings. Run your real prompt through both, log the token counts the API returns, and compute the bill on your own traffic.

Python — A/B both models in one loop

from openai import OpenAI

client = OpenAI(
    base_url="https://api.moonshot.ai/v1",   # Moonshot's API, or any OpenAI-compatible gateway carrying both Kimi variants
    api_key=os.environ["MOONSHOT_API_KEY"],   # swap is one model string, nothing else changes
)

models = ["kimi-k2.6", "kimi-k2.7-code"]
for m in models:
    r = client.chat.completions.create(
        model=m,
        messages=[{"role": "user", "content": PROMPT}],
    )
    u = r.usage
    bill = u.prompt_tokens * 0.95e-6 + u.completion_tokens * 4.00e-6
    print(m, u.prompt_tokens, u.completion_tokens, f"${bill:.4f}")

Node — same shape

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.moonshot.ai/v1",   // Moonshot's API, or any OpenAI-compatible gateway carrying both Kimi variants
  apiKey: process.env.MOONSHOT_API_KEY,   // swap is one model string, nothing else changes
});

const models = ["kimi-k2.6", "kimi-k2.7-code"];
for (const m of models) {
  const r = await client.chat.completions.create({
    model: m,
    messages: [{ role: "user", content: PROMPT }],
  });
  const u = r.usage;
  const bill = u.prompt_tokens * 0.95e-6 + u.completion_tokens * 4.00e-6;
  console.log(m, u.prompt_tokens, u.completion_tokens, `$${bill.toFixed(4)}`);
}

Swap is one string. Run the loop over your top 20 real prompts, sum the bills, and the cheaper model on your traffic is right there in the totals. The bill formula is prompt_tokens × $0.95e-6 + completion_tokens × $4.00e-6 — the same on both models, so the only difference is how many completion tokens each emits.

One gotcha: K2.7 Code is text-only

K2.6 takes images, K2.7 Code does not. The same image_url block works on kimi-k2.6 and fails on kimi-k2.7-code. Keep image jobs on K2.6.

r = client.chat.completions.create(
    model="kimi-k2.6",   # swap to kimi-k2.7-code -> error
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Describe this screenshot."},
            {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
        ],
    }],
)

FAQ

Frequently Asked Questions

Is K2.7 Code cheaper than K2.6?+

No — same per-token price ($0.95/M input, $4.00/M output) and cache reads are worse ($0.19/M vs $0.16/M). The only path to a lower bill is the ~30% thinking-token cut, and only on reasoning-heavy work where thinking dominates output spend.

Does a 30% token cut equal a 30% lower bill?+

No. The 30% applies to thinking tokens, which bill as output; input is unchanged. The real reduction is roughly 30% × your thinking-spend share — about 13% on reasoning-heavy work, under 1% on input-heavy work.

What's the model string for K2.7 Code?+

kimi-k2.7-code on Moonshot's OpenAI-compatible API at api.moonshot.ai/v1. A highspeed variant, kimi-k2.7-code-highspeed, is the same price. K2.6 is kimi-k2.6.

Does K2.7 Code accept images?+

No — it is text-only. An image_url block works on kimi-k2.6 and fails on kimi-k2.7-code. Route vision work to kimi-k2.6.

Are the benchmarks verified?+

Not independently. The +21.8%, +11.0%, and +31.5% gains are all Moonshot proprietary with no third-party reproduction. VentureBeat reported that practitioners say they don't check out, and on the one public test we've seen (KernelBench-Hard), K2.7 regressed to 0.157 from K2.6's 0.222.

What's the context window and architecture?+

262,144 (256K) context and max output, same as K2.6. It's a 1T-total / 32B-active MoE with built-in thinking, released June 12 2026 under a Modified MIT open-weight license.

When should I switch from K2.6 to K2.7 Code?+

On text-only, reasoning-heavy coding where thinking dominates output spend. Stay on K2.6 for images or input-heavy, short-output jobs where the thinking cut doesn't reach the bill.

References

References

  • Moonshot AI, Kimi K2.7 Code overview (kimi.com/resources/kimi-k2-7-code)
  • Hugging Face, moonshotai/Kimi-K2.7-Code model card
  • VentureBeat, coverage of the Kimi K2.7 Code launch
  • Elliot Arledge, Kimi K2.7 Code vs K2.6 on KernelBench-Hard
  • Moonshot AI, Kimi K2.6 release and model card

About FACTA

FACTA is an AI consulting firm. We help teams choose the right model for each task, route between tiers, and measure cost-per-outcome instead of cost-per-token. A token-price comparison that ignores your reasoning share is the kind of number that quietly sinks AI projects.

We write these guides because the default reflex — chase a vendor's headline benchmark or token-cut claim — is usually backwards. The discipline is to match the model tier to the job first, then optimize within a tier. For Kimi that means: confirm your thinking-to-output ratio before you swap a model string, and trust your own bill over any brochure.

If you want a vendor-neutral evaluation of whether K2.7 Code lowers your bill on your actual traffic, or help designing a tiered routing setup that puts each job class on the cheapest model that clears its quality bar, we can help.

Vendor-neutral by design. Match the tier to the job first; optimize within a tier second.

Decide on Your Own Bill, Not a Brochure

A 30% token cut only lowers your bill where reasoning dominates spend. FACTA's AI strategy practice helps you measure your reasoning share, A/B models on your real traffic, and design tiered routing that keeps cost-per-outcome low.

Explore AI Strategy

Stay Sharp

Practical AI engineering, no vendor hype.

One email when we publish. No spam, ever.