Kimi K3
Connect to Kimi K3 through the OpenAI Chat Completions compatible API.
Kimi K3 uses HopBase's OpenAI Chat Completions compatible protocol. Use https://api.hop-base.com/v1 and set the model to kimi-k3.
Kimi K3 is Moonshot AI's latest flagship reasoning model: a 1M context window (1,048,576 tokens) with up to 131,072 output tokens per response, served through a self-hosted dedicated line.
Group selection and billing
- When creating an API key in the console, set the key's group to Kimi K3 自部署专线 (Kimi K3 Dedicated Line). That key can then call
kimi-k3. - Official list price is $3 per million input tokens and $15 per million output tokens, with cached input reads at $0.30 per million. Your effective rate is shown in the signed-in model catalog.
- One key is bound to one group. Keys bound to other groups get a clear 404 when calling
kimi-k3— create a new key on this group, or rebind an existing key in the console.
Client fields
| Field | Value |
|---|---|
| API address / Base URL | https://api.hop-base.com/v1 |
| API Key | sk-your-key |
| Model | kimi-k3 |
| API format | OpenAI Chat Completions |
| Context window | 1,048,576 tokens |
| Max output per response | 131,072 tokens |
Kimi K3 serves POST /v1/chat/completions only. The upstream does not implement /v1/responses and returns "not implemented" for it, so clients that speak the OpenAI Responses protocol or the Anthropic Messages protocol cannot reach this model.
Unsupported clients
Codex CLI and Claude Code cannot use Kimi K3 today. Codex CLI needs /v1/responses, and Claude Code speaks the Anthropic Messages protocol; neither is available for this model. Use the OpenAI SDK, curl, or any client that calls chat.completions — LobeChat, Dify, Cherry Studio, and similar apps all work.
Reasoning output and prefix caching
- Kimi K3 is a reasoning model. Responses carry a
reasoning_contentfield holding the thinking trace, and reasoning tokens are billed as output tokens. - Set
max_tokensto 1024 or higher. A small budget can be consumed entirely by the thinking trace, leaving a response with reasoning but no final answer. - Prefix caching is effective in production, matching at a 256-token block granularity. Long multi-turn agent sessions settle at an 88-96% hit rate, so keep the system prompt, tool definitions, and other fixed context at the front of the message list to reuse the cache.
OpenAI SDK / Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.hop-base.com/v1",
api_key="sk-your-key",
)
resp = client.chat.completions.create(
model="kimi-k3",
max_tokens=4096,
messages=[{"role": "user", "content": "Explain where Kimi K3 works best"}],
)
message = resp.choices[0].message
print(getattr(message, "reasoning_content", None))
print(message.content)curl
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"max_tokens": 4096,
"messages": [{"role": "user", "content": "Hello, introduce yourself"}]
}'