Docs · Models
Kimi K3.1 Pro
Call kimi-k3.1-pro on TopxAI: a private deployment with fixed token prices, always-on reasoning (default low), output caps, and image and parameter limits.
Use kimi-k3.1-pro with a kimi-official or Auto-route key. The model is Moonshot's Kimi K3.1 Pro, served from a private deployment rather than Moonshot's own API. The route keeps its historical id, and the API keys page shows the line as a private deployment with fixed prices.
This model replaced kimi-k3 on October 24, 2026; the old ID returns 403. A key restricted to the old ID needs an explicit allowlist change. Saved client configurations must also be updated.
Send a text request
curl https://api.topxai.xyz/v1/chat/completions \
-H "Authorization: Bearer $TOPXAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3.1-pro",
"reasoning_effort": "low",
"max_completion_tokens": 4096,
"messages": [{"role":"user","content":"Explain the difference between a process and a thread."}]
}'
Chat Completions is the direct text interface. Anthropic-compatible clients can use /v1/messages; TopxAI converts that request to Chat Completions. Preserve complete assistant messages, including reasoning and tool-call fields, when constructing subsequent turns.
The private deployment adds a short system prompt of about 100 input tokens to each request. Those tokens are billed as input, so usage.prompt_tokens is about 100 higher than the prompt you sent.
Responses requests
POST /v1/responses accepts kimi-k3.1-pro with the full conversation supplied in input. Set store: false and use stateless requests; server-side conversation persistence and a complete Codex workflow have not been verified. Set reasoning through reasoning: {"effort":"low"} when using this format.
Reasoning
Reasoning is always on, with low, high and max as the supported efforts. A request that sets no effort runs as low; until November 8, 2026 the default was max, so send "reasoning_effort": "max" to keep that depth. The relay fits the other OpenAI values: minimal runs as low, medium as high and xhigh as max. none and off also run as low, because the model cannot stop reasoning, and the reasoning tokens are still spent. A "thinking": {"type": "disabled"} switch is folded into the effort the same way.
Limits and input formats
| Setting | Value |
|---|---|
| Input | Text and images (base64 data URLs only) |
| Context window | 1,048,576 tokens |
| Maximum output | 131,072 tokens |
| Endpoints | /v1/chat/completions, /v1/responses, /v1/messages |
| Reasoning effort | low (default), high, max; always on |
| Weights | MXFP4-quantized |
The weights row describes the private deployment: it runs quantized weights, not Moonshot's own full-precision service. TopxAI publishes the 131,072-token output limit to retain prompt room. The deployment rejects a max_tokens or max_completion_tokens above 1,000,000, and with a very small cap the model may write past it.
For image input, use a Chat Completions content array containing an image_url part with a base64 data URI (data:image/png;base64,...). Studio's image attachment button produces that format. Public http(s) image URLs are not fetched: the model answers that it cannot see the image, and the request is still billed.
Parameters
Tools, parallel tool calls, tool-result round trips, streaming with usage, Responses streaming and tools, Messages streaming, temperature, top_p and a json_object response format work. These do not:
stopsequences are ignored.- A
json_schemaresponse format is ignored; usejson_objectand check the result in your own code. tool_choiceset to"none"or"required"is ignored, and so isparallel_tool_calls: false. Atool_choicethat names one function works.nis not supported. One choice is returned and billed once, whatevernasks for.logprobsare not returned.
Fixed prices and caching
On the main deployment, default USD prices per million tokens are $0.50 input, $0.30 cache read and $5.00 output, at all hours. There is no long-context tier and no cache-write lane: prompt caching is automatic, cache writes are not billed separately, and cached prompt tokens are billed at the cache-read price, as reported by upstream usage.
The TopxAI pricing page also shows Kimi's own list price for reference, from Kimi's pricing page, checked November 8, 2026: $2.00 input, $0.20 cache read and $10.00 output. TopxAI is below that list for input and output and above it for cache reads. Accepted requests and historical charges keep the prices captured when they were accepted.
Backup deployment
kimi-k3.1-pro runs on two private deployments. The second is a costlier standby. If the main deployment fails before it answers, the request may move to the standby automatically, and that request is billed at the backup price: $2.40 input, $0.24 cache read and $12.00 output per million tokens, plus $2.40 for five-minute cache writes, which the standby bills and the main deployment does not. This is rare.
You can recognise such a request in the usage log: its entry is marked Backup deployment and shows the backup rates it was billed at. The price tables on the home page and the model page list the same rates in a Backup deployment row under the model's price.
The catalogue's two models without a standby are GLM-5.3-Flash-Abliterated and deepseek-flash-fast: when their deployment fails, the request fails and nothing is charged.
Models: kimi-k3.1-pro · Models & pricing
Related
- Kimi K3.1 Pro API pricing
- Kimi K3.1 Pro replaces Kimi K3 on TopxAI
- API reference: every endpoint, with an OpenAPI specification
- Create an API key and choose a route
- How requests are billed
Previous: deepseek-flash-Abliterated and deepseek-flash-fast · Next: Claude Opus 5.5 special offer
Other languages: 简体中文