Kimi K3 fits a team that wants open weights today for coding work, and maybe its own servers tomorrow. Moonshot AI announced it in July 2026: a mixture-of-experts design with 2.8 trillion parameters overall. Moonshot aims it at code, research and reasoning over long stretches, and claims it can stay productive through extended sessions, find its way around huge repositories and drive command-line tools. It reads images and video natively as well.
Moonshot admits openly that the best closed models are still ahead of K3 overall.
What you can use it for
- Extended coding sessions in big codebases
- Shell agents that cycle through build, test and fix
- Research over long inputs, such as papers or internal docs
- A trial run of an open-weight model before self-hosting
Settings and limits
- Context window: 1,048,576 tokens; output up to 131,072 tokens.
- Moonshot warns that agent tools which cut or rewrite the model's reasoning can hurt quality.
- When a request is vague, K3 often goes ahead rather than asking, so spell out what you want.
- Moonshot also rates its chat style below the leading closed models.
Example request
from openai import OpenAI
client = OpenAI(
base_url="https://kadraris.com/v1",
api_key="sk-kd-...",
)
resp = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user",
"content": "Fix only the code behind "
"these failing tests."}],
)
print(resp.choices[0].message.content)State exactly what it may and may not change; K3 works best with tight boundaries.
Questions
What does Kimi K3 cost?
$3.38 / $16.88 per 1M tokens, from the same balance as every other model; no Moonshot account needed. Failed calls cost $0.
Is it as good as Claude for coding?
Moonshot describes K3 as close to the leaders without beating them. Give one real task to K3 and to Claude Sonnet 5, then look at both diffs and both bills. See also Kimi K3 vs Claude Opus 5.5.
Which open model should I compare it with?
glm-5.3 is the obvious rival; the Kimi K3 vs GLM 5.3 page covers both.
Kimi K3 in your code
from openai import OpenAI
client = OpenAI(base_url="https://kadraris.com/v1", api_key="sk-kd-...")
resp = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Suggest three opening shots for a short film about a cafe."}],
)
print(resp.choices[0].message.content)curl https://kadraris.com/v1/chat/completions \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "kimi-k3", "messages": [{"role": "user", "content": "Suggest three opening shots for a short film about a cafe."}]}'import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://kadraris.com/v1", apiKey: process.env.KADRARIS_API_KEY });
const resp = await client.chat.completions.create({
model: "kimi-k3",
messages: [{ role: "user", content: "Suggest three opening shots for a short film about a cafe." }],
});
console.log(resp.choices[0].message.content);
























