Skip to main content
POST
Kimi K3 supports a 1M-token context window, text/image input, always-on reasoning with configurable effort, streaming, structured output, Partial Mode, and function tools.
Use top-level reasoning_effort; the K2.x thinking object has no effect. Sampling values are fixed, so omit temperature, top_p, n, presence_penalty, and frequency_penalty.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
model
enum<string>
default:kimi-k3
required

Model ID. Must be kimi-k3.

Available options:
kimi-k3
messages
object[]
required

Conversation history. Return complete assistant messages, including reasoning, reasoning_details, and tool_calls, in later turns.

Minimum array length: 1
reasoning_effort
enum<string>
default:max

Controls reasoning effort. K3 always reasons with Preserved Thinking enabled; reasoning cannot be disabled.

Available options:
low,
high,
max
max_completion_tokens
integer
default:131072

Maximum output tokens. Input plus output must fit the 1M-token context window. max_tokens is deprecated.

Required range: 1 <= x <= 1048576
response_format
object
stop

Up to 5 stop strings; each string must not exceed 32 bytes. A stop string can terminate reasoning before final content is produced.

stream
boolean
default:false

Stream partial deltas using Server-Sent Events.

stream_options
object

Options for streaming responses.

tools
object[]

Function tools available to the model.

tool_choice
enum<string>
default:auto

Let the model decide, disable tool calls, or require at least one tool call.

Available options:
auto,
none,
required
prompt_cache_key
string

Stable session or task ID used to improve prefix-cache hit rates.

safety_identifier
string

Stable identifier for the end user. Use a hash instead of directly identifying information.

Response

Completion generated successfully. When stream is true, the endpoint returns chat.completion.chunk objects using SSE and ends with data: [DONE].

id
string
required
object
enum<string>
required
Available options:
chat.completion
created
integer
required

Unix timestamp.

model
string
required

The response may use the upstream canonical model ID.

Example:

"moonshotai/kimi-k3"

choices
object[]
required
provider
string
Example:

"Moonshot AI"

system_fingerprint
string | null
service_tier
string | null
usage
object