What happened
On 2026-10-23 Moonshot AI released Kimi K3.1 Pro and K3.1 Pro Highspeed. The launch post calls Pro "the first model in our new K3.1 series" and "our most capable 3T-class open-weight model to date". It went live the same day in the Kimi apps, in the Kimi Work desktop app, in Kimi Code (you pick it with /model), and on the API as kimi-k3.1-pro and kimi-k3.1-pro-highspeed.
The part that got people talking is the gap. Artificial Analysis put it at 55 on its Intelligence Index, and Simon Willison noted that only Claude Opus 5.5, at 58, sits above it. In his words, it is "the first time a (soon-to-be) open weight model has scored this highly against the frontier".
That "soon-to-be" matters. The weights are not out. Moonshot's own sentence is: "Full model weights will be released by Nov 4, 2026." Until then, K3.1 Pro is a hosted API like any other.
What it is
Moonshot says "3T-class" and gives no exact size. Artificial Analysis lists 2.8 trillion parameters. Nobody I read gives the number of active parameters per token, which is the figure that decides how expensive it is to run yourself.
The context window is 1M tokens; Kimi's pricing docs put every K3 series model at 1,048,576. The quickstart sets the default output limit at 131072 tokens, and you can raise it to the full context.
Highspeed is the same model family served faster: Moonshot says 2-3× the speed of Pro, but gives no tokens-per-second figure. Artificial Analysis measured Pro itself at 50.7 tokens/s.
On price, Kimi's own pricing table did not render when I read it, so this comes from two people who did read it: Willison and Artificial Analysis both list $2.00 per million input tokens and $10 per million output tokens. Willison says Highspeed costs twice that, except for cache hits.
How you call it
This is the part a web developer can act on today. The quickstart's examples use the OpenAI Python SDK pointed at https://api.moonshot.ai/v1. So if your app already talks to an OpenAI-style endpoint, a first try is a new base URL, a new key and a new model id.
There are catches, and they are in the quickstart, not on the benchmark chart:
- Thinking is always on. You cannot turn it off. You set
reasoning_efforttolow,highormax, andmaxis the default. If latency matters,lowis the documented way to cut reasoning time. - Sampling is fixed.
temperature,top_p,nand the presence and frequency penalties are fixed, and the docs say to leave them out of the request. A wrapper that always sendstemperatureis the first thing to check. - Send the whole message back. In multi-turn chats and tool calls, the docs ask you to return the complete assistant message unchanged, not just its
content. A chat UI that stores only the text and rebuilds the history from it will need to keep more. - Images go in as base64 or file ids. Public image URLs are not accepted for vision input.
- You pay before you try. The model unlocks after a top-up of at least $1, and how much you have topped up sets your rate limits.
Tool calling is supported, including forcing a tool call with tool_choice="required". The quickstart does not mention an Anthropic-compatible endpoint, so it does not say whether you can point Claude Code at it directly.
What the benchmarks say, and whose they are
Moonshot ran its coding benchmarks inside the Claude Code harness. On Terminal-Bench 4.0 it reports 65.7% for K3.1 Pro, against 66.4% for Claude Opus 5.5 and 58.2% for GPT-6 Astra. On its internal Kimi Code Bench 3.0 long-horizon set it reports 61.2%, up from 55.95% for K3.
The number I find more interesting is the hallucination one. On Moonshot's own Kimi Hallu Bench, hard set, with tools, it reports a claim-level hallucination rate of 8.3% for K3.1 Pro, down from 23.4% for K3. Claude Opus 5.5 is listed at 15.0 and GPT-6 Astra at 5.5. Lower is better.
The launch post also lists front-end pages and interactive Three.js scenes among the things it builds, next to game-engine and 3D work.
Read all of this with the right label on it. Apart from the Artificial Analysis index, every score here is Moonshot's own, many of them are only in chart images, and some come from internal benchmarks nobody else can run.
Why someone building web apps with AI should care
Three reasons.
First, the switching cost is low. An OpenAI-shaped API means you can run your own test prompts against it in an afternoon. The fixed sampling parameters and the full-message rule are the real work, and both are small.
Second, it is aimed at the work frontend developers hand to agents. Moonshot measured it inside Claude Code and ships it in its own coding tool. Whatever you think of the scores, it is built for the same loop: read a codebase, change files, run the tests.
Third, open weights would change who can use it. A near-frontier coding model that a company can host itself is an answer for teams whose code is not allowed to leave their own servers. That only becomes true if the weights actually ship.
What is not known yet
- Whether the weights arrive by Nov 4, and under what license. The launch post names no license.
- Active parameters. Without them you cannot judge what self-hosting costs.
- Independent coding results. Artificial Analysis's index is outside work; the coding and hallucination numbers are Moonshot's.
- Claude Code directly. The quickstart shows only the OpenAI shape.
My take
This part is my opinion, Amar Gupta's.
I build React and Next.js apps with AI agents, and the benchmark chart is the least useful page of this launch for me. The quickstart is the useful one. Always-on thinking and fixed sampling are the two facts that decide whether K3.1 Pro fits a product. For a background agent that refactors a repo overnight, always-on reasoning is fine. For a chat box where a user waits for the first token, I would test low effort before believing any speed claim, because 50.7 tokens/s is a measured number and "2-3×" is a promise.
The other thing I would do before trusting it with real work is keep a small set of my own golden prompts, real tickets from my own repos, and run them against it next to the model I already use. A vendor's hallucination chart tells me where to look. My own prompts tell me whether it holds up. If the weights land on Nov 4, I would rerun the same set against a hosted copy, because an open model is only as good as whoever is serving it to you.
