Kimi K3

Moonshot AITextReasoningToolsVision

Moonshot's Kimi K3: a flagship for long-horizon coding that always reasons, 1M context.

Our price
$3.45 / $17.25
input / output per 1M

First request

from openai import OpenAI

client = OpenAI(
    base_url="https://api.altrouter.ai/v1",
    api_key="ar-...",
)

resp = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

The interface is OpenAI-compatible: in existing code only the base_url, the key and the model id change — nothing else.

Kimi K3 against its price neighbours

Kimi K3 and its closest neighbours by price: prices and parameters from the AltRouter AI catalog
ModelInput / 1MOutput / 1MContext
Gemini 3.1 ProGoogle$1.46$10.201MOpen
GPT-5.6OpenAI$2.13$12.75400KOpen
Kimi K3this pageMoonshot AI$3.45$17.251.0M
Claude Opus 4.8Anthropic$4.50$22.50200KOpen
GPT-5.6 ProOpenAI$4.25$25.50400KOpen

Prices and parameters come from the same catalog as the price above; this is not a benchmark, it is comparable billing terms.

Limits

Context is 1.0M tokens per request, and it holds everything you send: the system prompt, the conversation history and the current question together. Whatever does not fit is not seen by the model — trimming the history is your side of the job, and you pay for exactly what fit.

Response length is set by max_tokens, capped at 32,000 tokens per call. A response that hits the cap comes back with finish_reason: "length" — truncated but still billed, so it is worth setting deliberately on long generations.

Supported: a reasoning mode, tool calling, image input.

There is no subscription: every successful request is billed at the price above, and a failed one is not billed at all. There is no markup over the vendor's official price. No Moonshot AI account of your own is needed, and no VPN: requests go to api.altrouter.ai and we make the upstream call.

Rate limiting is shared across models and counted per key: 600 requests per minute by default, and a 429 with retry-after: 60 above it. An individual key can get its own limit and a spending cap per day, week, month or lifetime in the dashboard.

Full limits and credits

When to pick Kimi K3, and when a neighbour

The cheaper neighbour is GPT-5.6: $2.13 per 1M input tokens against $3.45 for Kimi K3. On the same volume the bill comes out 1.6× smaller. Its context is smaller: 400K against 1.0M — long documents will need splitting. It is the sensible pick where the task is repetitive and high-volume — labelling, classification, short templated answers — the kind of work where quality is bounded by the prompt rather than the model.

The dearer neighbour is Claude Opus 4.8: $4.50 per 1M input tokens, or 1.3× the price. On catalog parameters it offers the same capabilities and the same order of context, so the premium is only justified if Kimi K3 falls short on your own task.

Guessing is more expensive than checking: the table above is prices and parameters, not a benchmark, and it cannot tell you which model does better on your own prompt. Switching costs one line — the model id in the request changes, the base_url and the key stay — so running both on your own data takes minutes.

API

OpenAI-compatible chat completions endpoint, with SSE streaming.

POST/v1/chat/completions
Body parameters
modelstringrequired"kimi-k3"
The model id.
messagesarrayrequired
The conversation: [{ role, content }].
streambooleandefault false
Stream the response over SSE.
max_tokensnumber1–32000
Maximum tokens to generate.
reasoning_effortenumlow · medium · highdefault medium
Thinking budget for reasoning models.
seednumber0–2147483647
Seed for reproducibility.
frequency_penaltynumber-2–2
Penalizes tokens by their existing frequency.
presence_penaltynumber-2–2
Penalizes tokens that have already appeared.

Structured fields (tools, response_format, stop and more) are in the full parameter reference.

Response
idstring
Completion id.
choicesarray
Completions. Each: index, message { role, content, reasoning_content, tool_calls }, finish_reason.
usageobject
Tokens: prompt_tokens, completion_tokens, total_tokens.
Example
cURLPythonJavaScriptJSON
curl https://api.altrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer ar-..." \
  -H "Content-Type: application/json" \
  -d '{
  "model": "kimi-k3",
  "messages": [
    {
      "role": "user",
      "content": "Hello!"
    }
  ],
  "reasoning_effort": "medium"
}'
Errors
400Invalid request.
401Missing or invalid API key.
402Insufficient credits, or the key’s spending cap is exhausted.
404Model not found.
429Rate limit exceeded.