Quick setup
Open the kRouter dashboard at http://localhost:20128
Go to Providers → click Kimi
Paste your API key, click Save
Test the connection
Use in your IDE
Point any OpenAI-compatible client at kRouter using your local API key.
# Endpoint
http://localhost:20128/v1
# API key (from Dashboard → API Keys)
sk-krouter-XXXX
# Model
kimi/kimi-k2.5How Kimi billing works with kRouter
Kimi is pay-per-token. You bring your own API key and kRouter routes to it, so you keep your own rate limits and billing relationship. kRouter authenticates it via apikey. 4 models are routable as kimi/<model>.
Through kRouter, Kimi serves chat and code completion and web search, exposed on /v1/search so an agent can look things up mid-conversation. Requests reach it through the same local OpenAI-compatible endpoint as every other provider, so switching to or from Kimi is a one-line model change in your client rather than a rewrite.
Kimi models & pricing
Prices are USD per 1M tokens, cheapest first. kRouter bills nothing on top; this is the provider's own rate.
| Model | Route as | Input /1M | Output /1M |
|---|---|---|---|
| Kimi Latest | kimi/kimi-latest | $1.00 | $4.00 |
| Kimi K2.6 | kimi/kimi-k2.6 | $1.20 | $4.80 |
| Kimi K2.5 | kimi/kimi-k2.5 | $1.20 | $4.80 |
| Kimi K2.5 Thinking | kimi/kimi-k2.5-thinking | $1.80 | $7.20 |
Kimi links
Kimi FAQ
Is Kimi free through kRouter?
Kimi is pay-per-token: you bring your own API key and are billed by Kimi at their rates. kRouter adds nothing on top and is free and MIT-licensed.
How do I use Kimi with Claude Code or Cursor?
Connect Kimi in the kRouter dashboard, then point your tool at kRouter's local endpoint (http://localhost:20128/v1) with a kRouter API key. Any OpenAI-compatible client works, and models are addressed as kimi/<model>.
Which Kimi models can kRouter route to?
4 models, including Kimi K2.6, Kimi K2.5, Kimi K2.5 Thinking. Every one is addressed as kimi/<model> from any client.
What happens when Kimi is rate limited?
kRouter detects the limit, parks that account until its real reset time, and fails over to your next connected account or provider — so the request still completes instead of erroring.