Kimi K3, measured
The pricing, the model ID, the million-token window — measured on launch day, so your first call just works.
{
"model": "kimi-k3",
"choices": [{
"message": {
"content": "OK",
"reasoning_content": "The user is asking…"
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 90,
"completion_tokens": 47,
"completion_tokens_details":
{ "reasoning_tokens": 31 }, // billed as output
"prompt_tokens_details":
{ "cached_tokens": 90 } // 10× cheaper
}
}
- Model ID
- kimi-k3
- Input
- $3.00 /1M
- Cached input
- $0.30 /1M
- Output
- $15.00 /1M
- Context
- 1,048,576
Kimi K3 is Moonshot AI's flagship model, launched July 2026. The API is live now: model ID kimi-k3, a 1,048,576-token context window, $3.00 per 1M input tokens ($0.30 cached) and $15.00 per 1M output. It speaks the OpenAI format, and EvoLink carries it at the same rates — no markup, one base_url change, no Chinese phone number.
Prices from the official page, 2026-07-16. Everything marked measured, we ran ourselves — how.
We hit the potholes so you don't have to
We ran kimi-k3 the hour it launched and mapped the sharp edges. Get three settings right and your integration works the first time, at the price you expected.
Input caching is automatic
Repeat your prefix and input drops from $3.00 to $0.30 per 1M — no parameter, no code change. We measured exactly how it triggers, so you can keep it hot.
Keep the cache hot Before you shipOne setting protects your bill
Leave max_completion_tokens at its default and empty-response billing can't happen to you. If you must cap it, we measured where the floor is.
Output includes thinking — plan for it
K3 reasons on every request; that's the model's power, and it bills as output. Budget a few times your answer length and your numbers come out right.
See the breakdownChange one line and it runs
K3 speaks the OpenAI format. Point base_url at a gateway that carries it, set the model, done.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_EVOLINK_API_KEY",
base_url="https://direct.evolink.ai/v1", # <-- the one line you change
)
response = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Explain prompt caching in two sentences."}],
)
print(response.choices[0].message.content)
Leave max_completion_tokens at its 131,072 default unless you have read why capping it backfires. Full walkthrough, auth, and streaming: the API guide.
Go deeper
One page per question. Every number on them is either quoted from the official docs with a date, or measured by us.
Kimi K3 API guide
Auth, the request that works, streaming, what a real response body looks like, and how to tell a success from a silent failure.
Start calling BudgetPricing
The official rates with a date stamp — and the reasoning-token overhead that makes the output rate the one that matters.
See real costs OptimisePrompt caching
The 10× input discount: how it actually triggers, the 256-token block size, why it saves money but not time.
Cut your bill ScaleThe 1M context window
Half a million tokens in one call, measured — and how a warm cache makes repeat runs cost a tenth. When the window pays, it really pays.
See the numbers EvaluateLatency
2.8s to first token, measured — and the streaming setup that makes a thinking model feel responsive.
See the timings DebugErrors & failure modes
Real response bodies from deliberately broken calls — including two bad parameters that return HTTP 200 instead of erroring.
Fix it InteractiveCost calculator
Your requests, your prompt structure, your hit rate — a monthly bill at the official rates, computed in your browser.
Run your numbersGet a key and make the call
EvoLink carries kimi-k3 on an OpenAI-compatible endpoint — one key reaches GPT, Claude, Gemini, and dozens of the world's mainstream models. 10 free credits, sign up from anywhere — no Chinese phone number.