MoonshotAI: Kimi K2 Thinking

moonshotai/kimi-k2-thinking

Kimi K2 Thinking is Moonshot AI’s most advanced open reasoning model to date, extending the K2 series into agentic, long-horizon reasoning. Built on the trillion-parameter Mixture-of-Experts (MoE) arc...

tools
MODALITIES
INPUT PRICE
$0.60per 1M
OUTPUT PRICE
$2.50per 1M
CONTEXT
262.1K
RELEASED
Nov 6, 2025
ProviderCacheUptimeChat
$0.6$2.5
Cache read$0.15

Capabilities

Input modalities
text
Output modalities
text
Features
frequency_penaltyinclude_reasoninglogprobsmax_tokenspresence_penaltyreasoningrepetition_penaltyresponse_formatseedstopstructured_outputstemperaturetool_choicetoolstop_ktop_logprobstop_p
1

Get your API key

Create an API key from the Keys page, then set it as an environment variable:

export ONLIST_API_KEY=sk-...
2

Make your first request

Endpoints

POSThttps://onlist.io/v1/chat/completions

OpenAI Chat Completions format

Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:moonshotai/kimi-k2-thinking
POSThttps://onlist.io/v1/responses

OpenAI Responses format

Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:moonshotai/kimi-k2-thinking
POSThttps://onlist.io/v1/messages

Anthropic Messages format

Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:moonshotai/kimi-k2-thinking

Code samples

curl https://onlist.io/v1/chat/completions \
  -H "Authorization: Bearer $ONLIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "model": "moonshotai/kimi-k2-thinking",
       "messages": [
         {
           "role": "user",
           "content": "Explain quantum entanglement in one paragraph."
         }
       ]
     }'

Replace $ONLIST_API_KEY with the API key from your Keys page.

Authentication

All requests must include an Authorization: Bearer <TOKEN> header. Generate keys from the Keys page; keys can be scoped to specific models, groups, IP ranges, and rate limits.

3

Enable streaming

Add "stream": true to receive partial responses as server-sent events in real time.

Streaming example

curl https://onlist.io/v1/chat/completions \
  -H "Authorization: Bearer $ONLIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "model": "moonshotai/kimi-k2-thinking",
       "messages": [
         {
           "role": "user",
           "content": "Write a haiku about recursion."
         }
       ],
       "stream": true
     }'

Supported parameters

NameTypeDescription
frequency_penaltynumberPenalizes new tokens based on their existing frequency in the text (-2.0 to 2.0).
include_reasoning
logprobsbooleanWhether to return log probabilities of the output tokens.
max_tokensintegerMaximum number of tokens to generate in the completion.
presence_penaltynumberPenalizes new tokens based on whether they appear in the text so far (-2.0 to 2.0).
reasoning
repetition_penaltynumberPenalizes repeated tokens. Values > 1 discourage repetition.
response_formatobjectSpecifies the output format. Use {"type": "json_object"} for JSON mode.
seedintegerIf specified, the system will attempt deterministic sampling for reproducible results.
stopstring | arrayUp to 4 sequences where the API will stop generating tokens.
structured_outputs
temperaturenumberSampling temperature between 0 and 2. Higher values make output more random.
tool_choicestring | objectControls which tool is called. "auto", "none", "required", or a specific function.
toolsarrayA list of tools the model may call. Currently supports functions.
top_kintegerLimits token selection to the k most likely candidates at each step.
top_logprobsintegerNumber of most likely tokens to return at each position (0-20). Requires logprobs: true.
top_pnumberNucleus sampling. The model considers tokens with top_p probability mass.

These are the request parameters this model accepts. Parameter semantics follow the OpenAI Chat Completions specification.