kimi-k3.1-pro API pricing

kimi-k3.1-pro on InferSpeed: $1.20 input, $6.00 output, $0.12 cache read per 1M tokens, 40% below the official list price. OpenAI- and Anthropic-compatible API, pay per token.

Price (USD per 1M tokens)

InputOutputCache read
Price$1.20$6.00$0.12
Official list price$2.00$10.00—

40% below the official list price.

Endpoints

APIBase URL
OpenAI Chat Completions (/chat/completions)https://api.inferspeed.ai/v1
Anthropic Messages (/v1/messages)https://api.inferspeed.ai

Authentication: Authorization: Bearer $INFERSPEED_API_KEY (x-api-key also works).

FAQ

How much does the kimi-k3.1-pro API cost?

InferSpeed charges $1.20 per 1M input tokens, $6.00 per 1M output tokens and $0.12 per 1M cache-read tokens (USD), billed per token from a prepaid balance. The official list price is $2.00 input / $10.00 output, so this is 40% below the official list price.

Which APIs can I call kimi-k3.1-pro with?

The price list names these APIs for kimi-k3.1-pro: OpenAI Chat Completions (POST https://api.inferspeed.ai/v1/chat/completions) and Anthropic Messages (POST https://api.inferspeed.ai/v1/messages). Authentication: Authorization: Bearer $INFERSPEED_API_KEY (x-api-key also works).

Which API key do I need for kimi-k3.1-pro?

One API key calls every live model, kimi-k3.1-pro included: create a key at https://inferspeed.ai/keys and name the model in the request. Each request is billed at the price of the model that served it.

How do I call kimi-k3.1-pro?

Set the model explicitly in the request:

curl https://api.inferspeed.ai/v1/chat/completions \
  -H "Authorization: Bearer $INFERSPEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k3.1-pro",
    "messages": [{"role": "user", "content": "Say hello in one sentence."}]
  }'
curl https://api.inferspeed.ai/v1/messages \
  -H "x-api-key: $INFERSPEED_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k3.1-pro",
    "max_tokens": 512,
    "messages": [{"role": "user", "content": "Say hello in one sentence."}]
  }'

What happens if I request a model my key cannot call?

A live model is always served as written. Any other name, such as an agent default (claude-*, gpt-*, codex-*, o*, gemini-*, grok-*), a model not on sale yet or a typo, is routed to a live model (glm-5.3, then kimi-k3) instead of failing. The model field and the X-Served-Model header name the model that served the request (the name you sent is in X-Model-Routed-From), and you are billed at that model's price. You get an error instead only with X-Model-Strict: 1, for a name of the key's own vendor that it does not serve, for a name longer than 64 characters, or when the key has no live routing target.

More

Setup for Claude Code, Codex CLI, OpenCode and SDKs: /developers.md. All models and prices: /model-plaza. Prices as JSON: /api/v1/public/pricing.