Integrating Kimi K3 into Developer Tools: Cursor, Dify, Open WebUI and OpenAI-Compatible Clients
Connect kimi-k3 on EXAIV to Cursor, Continue, Dify, Open WebUI and any OpenAI-compatible client using one base URL and one key.
Kimi K3 is callable on the EXAIV cloud today under the model ID kimi-k3. Because the endpoint is OpenAI-compatible, wiring it into an editor or a self-hosted platform is configuration work: change the base URL, supply your key, set the model name, and keep the rest of your request format unchanged.
The 30-second version
Set base URL to https://exaiv.com/api/ai/v1, use your EXAIV key, and set model to kimi-k3. Cursor, Continue, Cline, Dify and Open WebUI all accept a custom OpenAI-compatible provider. Kimi K3 has a 1M token context, supports streaming and tool calling, and pricing follows the live /pricing page.
Configure the client
from openai import OpenAI
client = OpenAI(
base_url="https://exaiv.com/api/ai/v1",
api_key="YOUR_EXAIV_KEY",
)
resp = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Summarise this repository"}],
stream=True,
)
for chunk in resp:
print(chunk.choices[0].delta.content or "", end="")
Tool-by-tool settings
Cursor
Open Settings → Models, add a custom OpenAI-compatible provider, set the Base URL to https://exaiv.com/api/ai/v1, enter your key, and add kimi-k3 as the model name. If automatic model discovery fails, entering the model name manually still works.Continue and Cline
In the plugin model configuration choose the OpenAI provider, fill the base URL and the model name, then save. Most of these plugins have a dedicated custom-provider option, which is cleaner than editing global settings.Dify
In Settings → Model Providers → OpenAI-API-compatible, enter the API Base URL, the key, and the model name kimi-k3. Dify will then list it alongside other models for your applications.Open WebUI
In Admin Settings → Connections → OpenAI, add the same base URL and key, then enable kimi-k3 under Models. Multiple connections can coexist, so local models and cloud models appear side by side.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| 401 Unauthorized | expired key or missing Bearer prefix | refresh the key from the console and retry a short request |
| 404 model not found | ID not present in the live catalog | open /models and copy the exact current ID |
| 429 rate limited | request rate exceeded | add exponential backoff and separate retryable requests |
| Empty streamed output | client dropping chunks without content | concatenate delta.content and handle the final empty chunk |
| Tool not invoked | unclear function description or system prompt | sharpen the tool schema and allow tool use explicitly |
Notes on cost and context
Calls are billed by input and output tokens, not by request count. A 1M context is a ceiling, not a default: trim or summarise irrelevant material before sending, and use streaming only where users need to see output immediately. Current prices and credit packs are always on /pricing. Keep a log of model ID, token counts and latency so a later change from kimi-k3 to another model can be compared against the same baseline.
FAQ
Do I need a new SDK?
Can Kimi K3 stream responses?
Can I use it alongside local models?
Where do I check the current model list?
Is Kimi K3 available on the cloud today?
Related reading
- Kimi K3 API guide — first API call
- Kimi K3 long context guide — 1M context practice
- Kimi K3 reasoning guide — reasoning and agents
- hy4 vs Kimi — lightweight versus flagship
Sources
- moonshotai on HuggingFace
- EXAIV live model catalog at /models