Kimi K3 in Open Interpreter
Before you start. Create an account (you get $2 to try), then open Token Management → Create token and copy the key. The key starts with sk-. Registration and billing live on microquickjs.com, our API platform. Endpoint: OpenAI-compatible https://microquickjs.com/v1. Model ID: Kimi-K3.
Open Interpreter ships a Rust reimplementation of the Kimi Code harness, so K3 gets the prompt, tools and thinking history it expects. Its provider picker (/model) is generated from models.dev, where ainetcafe was added on 17 September; the bundled catalog in 0.0.44 predates that, so until the next release you add ainetcafe as a custom provider. Same harness, same model, our endpoint.
1. Export the key
export AINETCAFE_API_KEY="sk-..." # add to your shell profile
2. Add the provider to ~/.openinterpreter/config.toml
Merge this into your config (create the file if it does not exist). wire_api = "chat" selects OpenAI-compatible Chat Completions; harness = "kimi-code" is what Open Interpreter would infer from the model name anyway, set here so it survives a provider rename.
model_provider = "ainetcafe"
model = "Kimi-K3"
harness = "kimi-code"
[model_providers.ainetcafe]
name = "ainetcafe"
base_url = "https://microquickjs.com/v1"
env_key = "AINETCAFE_API_KEY"
wire_api = "chat"
3. Run
cd my-project
interpreter
Start a new session after switching to K3 so it begins with a fresh prompt cache and thinking history (Kimi's own recommendation; Open Interpreter's K3 guide says the same). To keep your default provider and use ainetcafe for one run:
interpreter -c 'model_provider="ainetcafe"' -m Kimi-K3 "Review this repository and fix the highest-impact bug."
When ainetcafe shows up in /model after Open Interpreter regenerates its catalog, you can pick it there instead; the custom table above keeps working either way.
Notes
- K3 answers with a
reasoning_contentblock before the visible text and before tool calls. The Kimi Code harness expects it; leave the harness on. - Context is 256K on the standard plan, 1M on request. Prompt caching is on by default and applies to the harness's system prompt and tool list.
- Pricing is per token: $2.10 input / $10.50 output / $0.30 cached input per million tokens. There is no subscription tier.
Verify the key first
Thirty seconds now saves an hour of guessing later. Run this in a terminal; you should see a short reply and a usage block.
curl https://microquickjs.com/v1/chat/completions \
-H "Authorization: Bearer $AINETCAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"Kimi-K3","messages":[{"role":"user","content":"Say OK"}],"max_tokens":5}'If something goes wrong
| Symptom | Cause | Fix |
|---|---|---|
| 401 Invalid token | Key copied with a space, or key from another site | Re-copy from Token Management on microquickjs.com |
| 403 quota / insufficient balance | Wallet at zero or plan quota used up | Top up in Wallet, or wait for the weekly plan reset |
| 404 model not found | Model ID typed differently | Use exactly Kimi-K3 |
| 429 | Rate limit for your tier | Reduce concurrency; limits rise with spend, or ask for a committed plan |
| "unknown model provider" | model_provider set but the [model_providers.ainetcafe] table is missing or misspelled | Table name and model_provider value must match exactly |
| Requests go to the Responses API and fail | wire_api left unset (defaults to responses) | Set wire_api = "chat", or pass --chat-completions for one run |
| Tool calls never happen | Tool calling disabled in the client, or thinking blocks stripped | Keep the client's default tool settings; K3 returns a thinking block before tool_use, do not filter it out |
Still stuck? Email [email protected] with the request ID from the error body.