reasoningopenHand-written lesson

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
Live from the OpenRouter listing ↗

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.

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 none for 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

Same board, other models.