Moonshot
Kimi K3
moonshotai/kimi-k3
A 2.8T-parameter open-weight multimodal reasoning model from Moonshot AI, suited to complex coding, knowledge work, and long-horizon agentic workflows. Takes text, images, and video.
RoleThe open-weight multimodal agent
$0.192
In / M
$16
Out / M
1.0M
Context
- AA intelligence index
- 17.4
- Inputs
- text, image, video
- Outputs
- text
- Tools
- Listed
- Structured output
- Listed
- Reasoning
- Listed
- Weights
- Open · moonshotai/Kimi-K3
- Listed
- Jul 16, 2026
01 · What it's good at
Use it for this.
Three jobs this model is built for, and the ones to give to something else.
01
Open-weight agents that also need to see images or video
02
Complex coding and knowledge work
03
Long agentic workflows with a 1M-token context
Skip it for
- Running on your own laptop. A 2.8T-parameter model is a cluster project
02 · Example tasks
What you'd actually send it.
Real inputs, not a benchmark. Paste one into the snippet below to try it.
You send
Rebuild this dashboard screenshot as a React + Tailwind component. Match spacing and type scale, and use our Button component.
Why this model
Vision input plus coding, on open weights.
03 · Your stack
Where it sits: Plan & reason.
The agent model when you want open weights and vision in the same model. Pair it with a cheap model for subtasks.
Layer 01
Retrieve
Layer 02 · this model
Plan & reason
Layer 03
Do the volume
Layer 04
Gate & route
Layer 05
Draw, speak, listen
04 · Wire it up
One request. Paste and run.
Uses OpenRouter, so one key works for every model on this site. Set OPENROUTER_API_KEY and swap the prompt for one of the tasks above.
// OpenRouter speaks the OpenAI Chat Completions format.
const res = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "moonshotai/kimi-k3",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Rebuild this dashboard screenshot as a React + Tailwind component."
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/dashboard.png"
}
}
]
}
],
"reasoning": {
"effort": "high"
}
}),
});
const data = await res.json();
console.log(data.choices[0].message.content);
05 · Watch out for
Gotchas.
Default effort is max on the listing. Reasoning can be turned off with effort
nonefor simple turns.Check the listing for separate batch pricing if you run large offline jobs.
Sources
Lessons are written from each model's listing and the linked docs. We don't publish our own benchmark numbers; the index above is Artificial Analysis, as shown on OpenRouter.
Keep learning