Skip to main content
Kimi K3 is Moonshot AI’s flagship model for long-horizon coding, end-to-end knowledge work, and deep reasoning. It provides a 1M-token context window, image understanding, and always-on reasoning through AnyFast’s OpenAI-compatible Chat Completions API.
The model ID is kimi-k3. K3 always reasons and uses the top-level reasoning_effort field instead of the K2.x thinking object.

Key capabilities

  • 1M-token context — Process large codebases, long documents, and extended agent histories
  • 2.8T sparse architecture — Uses KDA, Attention Residuals, and Stable LatentMoE with 16 of 896 experts active per token
  • Multimodal input — Understand text and images in one conversation
  • Always-on reasoning — Configure effort with low, high, or max; the default is max
  • Long-horizon coding — Work across large repositories and coordinate terminal or external tools
  • Structured output — Constrain final answers with JSON Mode or strict JSON Schema
  • Tool use — Supports auto, none, and required for tool_choice
  • Automatic context caching — Reuse an unchanged long prefix without creating a cache ID
  • Partial Mode — Continue generation from a supplied assistant prefix

Quick example

Thinking effort

K3 always has reasoning enabled. Set the top-level reasoning_effort field to low, high, or max according to the task. The default is max.
Do not send the K2.x thinking parameter. K3 reasoning cannot be disabled. Changing reasoning_effort during a conversation also invalidates prefix-cache hits, so choose the level before the conversation starts.

Streaming

In streaming mode, reasoning is returned through delta.reasoning, while the final answer is returned through delta.content. A non-streaming response also includes message.reasoning and may include message.reasoning_details.

Image input

Multimodal content must be an array of typed objects. AnyFast accepts an image as a public URL or Base64 Data URI.
Official guidance recommends limiting images to 4K.

Structured output

Use response_format.type: "json_schema" with strict: true to constrain the final message.content.
Only parse message.content; reasoning and reasoning_details are not part of the structured result.

Tool calling

K3 supports top-level function tools and accepts auto, none, and required for tool_choice.
After executing a tool, append the complete assistant message and one role: "tool" result for each tool_call_id, then call the model again.

Partial Mode

Append an assistant message with partial: true to continue from a prefix.

Parameters and limits

temperature is fixed at 1.0, top_p at 0.95, n at 1, and both penalties at 0. Do not send these parameters explicitly. For multi-turn conversations and tool calls, return the complete assistant message unchanged, including reasoning, reasoning_details, and tool_calls.
Automatic context caching applies to unchanged prefixes. The previous request prompt must exceed 256 tokens before a later request can hit the prefix cache. Reuse a stable prompt_cache_key for the same session or task when possible.

API Reference

View the interactive API reference for Kimi K3.