Skip to main content
Kimi K3 always reasons and configures reasoning effort with the top-level reasoning_effort field. The only supported value is currently "max".
K3 always reasons and may return reasoning_content; more reasoning-effort levels are coming soon.

Set the reasoning effort

Set reasoning_effort at the top level of the request:
When migrating from K2.x to K3, set the reasoning level with the top-level reasoning_effort: "max" field.

Stay compatible with OpenAI via reasoning_effort

If your code already uses OpenAI’s reasoning_effort field, you do not need to rename it; K3 currently accepts only "max". K3 always reasons and may return reasoning_content.

Fields

For multi-turn conversations and tool calls, K3 requires the complete assistant message returned by the API to be passed back to messages as-is, including reasoning_content and tool_calls.

Notes

  • Models differ in their support for thinking sub-fields and their defaults (for example, kimi-k2.6 does not support thinking.effort, and thinking.keep does not preserve historical reasoning by default). See the Model Parameter Reference;
  • Lower effort levels, once available, will reduce reasoning_content token consumption and response latency — a good fit for lightweight tasks such as classification, rewriting, and simple Q&A. For now, max is the only available level.
Switching effort currently does not affect prefix-cache hits. Thinking effort currently supports only the max level. Once more levels are available, switching levels may invalidate the cache, so it is still recommended to decide on the effort level before the conversation starts and avoid switching it mid-session.