Kimi K3.1 Pro and the Bill Nobody Wants to Recalculate

It is a little past eleven at night inside a three-person team that builds tools for cross-border storefronts. The backend developer has two windows open. One is a log tail, the other is last month’s cloud bill. The team has had this conversation before. Call volume rose about thirty percent. The bill rose nearly double. The customer count barely moved. Someone suggests switching models. Someone else looks at the integration work and says the change would touch too much code, and the decision is to wait another month.

That team is imagined, not a case study. The position it sits in is ordinary enough that the arithmetic is still worth running.

On October 23, Moonshot put Kimi K3.1 Pro on the Kimi API. It follows Kimi K3. Simon Willison noted the launch in his link blog that day (simonwillison.net), pointing to the original post on the Kimi blog. One sentence in that post deserves to be lifted out of its paragraph: “Full model weights will be released by Nov 4, 2026.” That is a promise with a date attached. As of this week, the weights are not out.

If the team saw the news in a group chat, the first move would be to scroll to the bottom of the pricing page and redo the math against their own traffic. The math has a shape, and the shape matters more than the headline number.

Two dollars in, ten dollars out

The standard tier is two dollars per million input tokens and ten dollars per million output tokens. A Highspeed tier runs two to three times faster at twice the standard price, and the cached portion of input keeps its existing price.

Simon Willison supplied the comparison that makes the number legible: this is the same price as GPT-6.1 Sol and half the price of Claude Opus 5.5. Run the halving backwards and Opus 5.5 works out to roughly four dollars in and twenty dollars out. Once those two rows sit next to each other, an abstract discussion becomes concrete. The same workload costs one share of money on one side and two on the other.

The unit price is only the first layer. What decides the outcome is the shape of your own bill. Token consumption across a real product is almost never even. A small number of long-context requests eat most of the budget while a large number of short requests cost very little. The long ones are expensive twice over: the prompt itself is large, and whatever the model writes back arrives on top of it. A support bot answering in two sentences and a tool that ingests a contract before answering both look like one request in a log. They are not the same line item. Output is priced at five times input, so the output share of your traffic decides how much a model swap can save. A product built on short question and answer pairs, where input is ninety percent of the tokens, will not feel a price cut of half very strongly. A product built on long-form generation, where output dominates, will see the difference printed at the end of the month.

For content generation, code completion and batch translation, work that is dense in output, a price gap of that size can change what the product itself is able to charge. For classification and extraction, the money saved may not cover the labor of one retest cycle, because the output is short and the unit price was never the main cost. There is no need to guess which category you are in. Export last month’s usage detail, add up input and output separately, and ten minutes will give you an answer. Plenty of teams discover at that point that the usage mix they assumed is far from the one they have. The exercise is dull, which is exactly why it gets skipped in favor of a benchmark table, and why the benchmark table so often leads to the wrong decision.

A bill is not a unit price times a quantity

The Highspeed tier needs a paragraph of its own. The price doubles, yet the cached part of the input does not. If a product carries a long system prompt or a fixed knowledge base prefix that gets reused on every request, and the cache hits, the real increase lands well below double. If every request arrives as fresh long text with nothing to reuse, the cache mostly misses and the doubling is exactly what it says. Before buying speed, look at your cache hit rate. It will tell you more than a benchmark table.

Reasoning level is the other switch. K3.1 Pro exposes low, medium and max. The higher the setting, the longer the model thinks, the more intermediate steps it writes out, and the more output tokens land on the bill. Run the same question at low and at max, then compare the manual rework rates. Only your own data can say whether the difference is worth the price. The usual mistake is to set everything to max on day one, on the theory that the best score deserves the best setting, and then wonder why the cost overshot the estimate. Treat the setting as a budget line rather than a quality badge. A hard path with expensive mistakes can justify max. A routine path that a human skims in three seconds rarely can.

Scale makes the unit price easier to read. Take a team burning a billion input tokens and a hundred million output tokens a month. At standard rates that is two thousand dollars for input and one thousand for output, three thousand in total. The same work on Opus 5.5, at the implied rates, comes to six thousand. Over a year the gap is thirty-six thousand dollars. For a small team that is a part-time hire, or a feature rebuilt from scratch. The condition attached to it is quality: if output degrades, the savings come back as rework and refunds.

One cost never appears on the pricing page, and that is the engineering work of migrating. A new model means rerunning the evaluation set, adjusting prompts, handling small differences in output format, and watching the first week after launch for anomalies. None of that shows up on a bill, and all of it is real. A discount of half is a number on paper. Whether it reaches the bank account depends on how light the migration turns out to be. The teams that collect it are usually the ones whose prompts are short, whose output parsing is tolerant, and whose evaluation set already exists. The teams that do not are the ones who discover in week three that a downstream parser depended on a quirk of the old model’s formatting.

The 55 on the leaderboard

Artificial Analysis, the third-party evaluator, scores K3.1 Pro at 55. On the same table, Claude Fable 5.1, GPT-6 Astra and Gemini 4 Argon all sit at 53, and Claude Opus 5.5 sits at 58.

Moonshot’s own benchmarks put K3.1 Pro roughly level with Opus 5.5 and GPT-6 Astra, ahead on some items and close on others. Vendor tests and third-party tests are two different instruments. When they point the same way, they can be read together. When they disagree, keep some suspicion. A vendor picks its own questions. A third party at least does not.

Simon Willison’s reading was that this is the first time a model that is (about to be) open-weight has scored this high in a frontier comparison. The emphasis belongs on first, not on 55. For years the frontier list and the open-weight list were two separate tables. Someone has now laid one over the other, with a single place still between them.

What is one place worth? Fifty-eight minus fifty-five is three points. Three points in that band is not noise, and it is not enough to support a claim of outright superiority either. Three models crowded at 53 says the tier itself is tight, and that who leads depends on which questions were asked. The differences that matter in production rarely show up in an average. They show up in a task type: long-form rewriting in Chinese, structured extraction, multi-turn tool calling. Each vendor is stronger or weaker somewhere. Twenty of your own real requests will tell you more than ten leaderboards, provided you pick them with some care: requests whose correct answer you already know, requests that failed on the previous model, and requests that are common enough to matter at volume. Score them by whether a human would ship the output, not by whether it looks fluent.

There is a variable that gets skipped in most of these arguments: which reasoning level the score was produced at. The same model at low and at max can differ by a visible margin, in quality and in cost. Ask which setting was used before comparing numbers, and a lot of the argument becomes specific.

What November 4 is good for

From launch to the promised release date is twelve days. Twelve days is not long in this industry, and it is long enough for several things to happen: a delay, a staged release, a smaller model first. The announcement does not mention any of them, and there is no reason to write them in on the company’s behalf.

The meaning of open weights is practical. If the weights can be downloaded, they can be hosted, audited, kept as a fallback when an API raises prices or shuts down, and placed inside internal systems that are not allowed to reach the internet. For a product team those are terms in a risk assessment. Enough teams have had roadmaps broken by an API change to know what the alternative is worth.

Between a promise and a delivery sits a pile of engineering. When the weights appear, the license will appear with them, and nobody knows yet what it permits. Whether commercial use is allowed, and under what additional restrictions, decides whether the model can go into a product at all. Hardware is the second gate. A frontier-size model is one thing as a set of weights and another as something that runs. Quantization changes the resource requirement and changes the quality, and the quality has to be measured again. The community usually needs time to get inference working, wire up tooling and publish fine-tuned variants.

November 4 is therefore better treated as an observation point than as a schedule. On that date, check three things. Are the weights actually downloadable. Does the license allow commercial use. Has anyone published a report of it running on common hardware. If all three hold, self-hosting becomes a real conversation. If one is missing, stay on the API and put the saved effort into the product. A missing license is the one that ends the discussion fastest, because it turns a technical option into a legal question that a small team cannot settle on its own. A missing hardware report is softer: it means the model may run, and you would be the one paying to find out.

One distinction gets flattened in most discussions: open weights are not the same as open source. Weights are the parameters left after training. The data, the training code and the data mixture usually stay behind. For someone who only wants to deploy the model, weights are enough. For someone who wants to reproduce the training run or audit it for compliance, they are not. In conversation the two get compressed into the phrase open source model. In a contract or a procurement review, the difference is large.

What to do now, and what to leave alone

K3.1 Pro is callable today through an OpenAI-compatible endpoint at api.moonshot.ai/v1, under the model name kimi-k3.1-pro, with reasoning set to low, medium or max. The practical value of the compatible endpoint is the cost of switching. If the code already uses a standard OpenAI client, changing a base_url and a model name is enough to make it run. The call layer does not need to be rewritten. That is why, after a price announcement, many teams reach for a test key and a stretch of shadow traffic before they plan any migration at all.

Shadow traffic takes little setup. Copy real requests, send the copy to the new model, return nothing to the user, and log the output and the latency. Then compare against the existing evaluation set or a human sample. Run it for one to two weeks and watch three numbers: error rate, manual rework rate, and cost per thousand requests. If all three hold up, move ten percent of real traffic. The sequence looks slow. It is faster than switching everything and rolling back. It also produces something a bill review never will: a record of what the new model does badly, written down while you still remember which request caused it.

The evaluation set is worth building before you need it. Pull a few dozen representative requests out of production logs, covering the input lengths and task types you actually see, and store both the current model’s output and a human judgment of whether it was good. With that foundation, any model change becomes a single run. Without it, every change runs on instinct, and instinct is usually wrong about model quality.

A few things are not worth doing right now.

Do not move all your traffic onto the new model because the unit price is low. For the first two weeks of any launch, rate limits, stability and long-context behavior are still being mapped by everyone else. Move a slice. If something breaks, the blast radius stays small.

Do not bet the product architecture on weights that have not shipped. Open weights are a bonus, not a planning assumption. If November 4 arrives and the weights do not, or the license does not fit, the product still has to run.

Do not rewrite the prompt library over a three-point gap. Three points on a leaderboard can mean nothing at all on your tasks, and the rewrite costs real hours. Wait for your own test results before touching the prompts.

Do not let a discount of fifty percent crowd out the engineering cost. A model swap means retesting output quality, adjusting prompts and revising the evaluation set. None of that appears on the pricing page. Whether the API savings cover it depends on how sensitive the product is to small changes in output quality.

Back to the imagined team. The safer sequence is to open a test account, move a tenth of the most expensive path over, product description generation in their case, and run it for two weeks watching only the bill and the manual rework rate. The weights can wait for November 4. If they arrive, that is a bonus. If they do not, the part already running is unaffected.

Look at your own bill first, then at the leaderboard. For a small team, that is roughly the right order.

Related reading

Browse the full guide →

Stay updated with our latest AI insights

Follow FuturePicker on Google
Scroll to Top