OpenAI-compatible clients: base https://kasva.dev/v1. Anthropic clients: base https://kasva.dev. Key is your Kasva kv_… key. Model kasva/auto.
OpenAI-compatible clients send the Kasva key to https://kasva.dev/v1. Anthropic clients send it to https://kasva.dev. Model kasva/auto unless you pin another id from GET /v1/models.
| Setting | Value |
|---|---|
| OpenAI API Key | Kasva key only |
| Override OpenAI Base URL | https://kasva.dev/v1 |
| Custom model | kasva/auto or kasva/code |
Gemini via Kasva: add custom model byok/gemini/2.5-flash (not Cursor’s built-in Gemini).
OpenAI via Kasva: byok/openai/gpt-6.1-sol (or another byok/openai/… chat id). Do not put image models in Cursor chat — use POST /v1/images.
Avoid: Cursor’s built-in Auto and built-in Gemini — those talk to Cursor/Google directly, not Kasva.
| Setting | Value |
|---|---|
| Base URL | https://kasva.dev |
| API key | Kasva kv_… |
| Model | kasva/auto |
Set ANTHROPIC_BASE_URL=https://kasva.dev and ANTHROPIC_API_KEY to the Kasva key. Do not paste a provider sk-ant-… key into Claude Code if you want the request to go through Kasva.
| Setting | Value |
|---|---|
| API | OpenAI-compatible |
| Base URL | https://kasva.dev/v1 |
| API key | Kasva kv_… |
| Model | kasva/auto |
Codex talks OpenAI Chat Completions. Same three fields as Cursor.
| Setting | Value |
|---|---|
| API Provider | OpenAI Compatible |
| Base URL | https://kasva.dev/v1 |
| API Key | Kasva key |
| Model | kasva/auto or byok/gemini/2.5-flash |
Register provider keys once via POST /v1/byok/keys (no per-request provider headers).
| Setting | Value |
|---|---|
| API | OpenAI compatible / custom base |
| Base URL | https://kasva.dev/v1 |
| API key | Kasva kv_… |
| Model | kasva/auto |
| Setting | Value |
|---|---|
| Provider | openai |
| apiBase | https://kasva.dev/v1 |
| apiKey | Kasva kv_… |
| model | kasva/auto |
export OPENAI_API_BASE=https://kasva.dev/v1
export OPENAI_API_KEY=YOUR_KASVA_KEY
aider --model openai/kasva/auto
Same as Cline: OpenAI Compatible, base https://kasva.dev/v1, Kasva key, model kasva/auto.
OpenAI-compatible endpoint. Base https://kasva.dev/v1, Kasva key, model kasva/auto.
xAI’s CLI. OpenAI-compatible config (~/.grok/config.toml): base https://kasva.dev/v1, Kasva key, model kasva/auto. This is the Grok client, not a Grok model picker inside Cursor.
curl https://kasva.dev/v1/chat/completions \
-H "Authorization: Bearer YOUR_KASVA_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kasva/auto","messages":[{"role":"user","content":"ping"}]}'
Anthropic shape:
curl https://kasva.dev/v1/messages \
-H "x-api-key: YOUR_KASVA_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"kasva/auto","max_tokens":1024,"messages":[{"role":"user","content":"ping"}]}'
Look at the chat response:
"kasva": {
"provider": "gemini",
"routed_model": "byok/gemini/2.5-flash"
}
If a free tier is exhausted, free-route hops: Groq → Gemini → DeepSeek → Kasva hosted (route_reason shows the hop).
| ID | Use |
|---|---|
kasva/auto |
Smart routing |
kasva/code |
Always code-focused routing |
byok/gemini/2.5-flash |
Gemini Flash via your BYOK key |
byok/gemini/3.6-flash |
Higher-quality Gemini Flash |
byok/groq/gpt-oss-20b |
Groq (needs Groq BYOK) |
byok/openai/gpt-6.1-sol |
OpenAI chat (needs OpenAI BYOK) |
byok/anthropic/claude-haiku |
Anthropic (needs Anthropic BYOK) |
byok/openai/gpt-image-2 |
Images only — POST /v1/images |
OpenAI-compatible clients send the Kasva key to https://kasva.dev/v1. Anthropic clients send it to https://kasva.dev. Model kasva/auto unless you pin another id from GET /v1/models.
| Setting | Value |
|---|---|
| OpenAI API Key | Kasva key only |
| Override OpenAI Base URL | https://kasva.dev/v1 |
| Custom model | kasva/auto or kasva/code |
Gemini via Kasva: add custom model byok/gemini/2.5-flash (not Cursor’s built-in Gemini).
OpenAI via Kasva: byok/openai/gpt-6.1-sol (or another byok/openai/… chat id). Do not put image models in Cursor chat — use POST /v1/images.
Avoid: Cursor’s built-in Auto and built-in Gemini — those talk to Cursor/Google directly, not Kasva.
| Setting | Value |
|---|---|
| Base URL | https://kasva.dev |
| API key | Kasva kv_… |
| Model | kasva/auto |
Set ANTHROPIC_BASE_URL=https://kasva.dev and ANTHROPIC_API_KEY to the Kasva key. Do not paste a provider sk-ant-… key into Claude Code if you want the request to go through Kasva.
| Setting | Value |
|---|---|
| API | OpenAI-compatible |
| Base URL | https://kasva.dev/v1 |
| API key | Kasva kv_… |
| Model | kasva/auto |
Codex talks OpenAI Chat Completions. Same three fields as Cursor.
| Setting | Value |
|---|---|
| API Provider | OpenAI Compatible |
| Base URL | https://kasva.dev/v1 |
| API Key | Kasva key |
| Model | kasva/auto or byok/gemini/2.5-flash |
Register provider keys once via POST /v1/byok/keys (no per-request provider headers).
| Setting | Value |
|---|---|
| API | OpenAI compatible / custom base |
| Base URL | https://kasva.dev/v1 |
| API key | Kasva kv_… |
| Model | kasva/auto |
| Setting | Value |
|---|---|
| Provider | openai |
| apiBase | https://kasva.dev/v1 |
| apiKey | Kasva kv_… |
| model | kasva/auto |
export OPENAI_API_BASE=https://kasva.dev/v1
export OPENAI_API_KEY=YOUR_KASVA_KEY
aider --model openai/kasva/auto
Same as Cline: OpenAI Compatible, base https://kasva.dev/v1, Kasva key, model kasva/auto.
OpenAI-compatible endpoint. Base https://kasva.dev/v1, Kasva key, model kasva/auto.
xAI’s CLI. OpenAI-compatible config (~/.grok/config.toml): base https://kasva.dev/v1, Kasva key, model kasva/auto. This is the Grok client, not a Grok model picker inside Cursor.
curl https://kasva.dev/v1/chat/completions \
-H "Authorization: Bearer YOUR_KASVA_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kasva/auto","messages":[{"role":"user","content":"ping"}]}'
Anthropic shape:
curl https://kasva.dev/v1/messages \
-H "x-api-key: YOUR_KASVA_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"kasva/auto","max_tokens":1024,"messages":[{"role":"user","content":"ping"}]}'
Look at the chat response:
"kasva": {
"provider": "gemini",
"routed_model": "byok/gemini/2.5-flash"
}
If a free tier is exhausted, free-route hops: Groq → Gemini → DeepSeek → Kasva hosted (route_reason shows the hop).
| ID | Use |
|---|---|
kasva/auto |
Smart routing |
kasva/code |
Always code-focused routing |
byok/gemini/2.5-flash |
Gemini Flash via your BYOK key |
byok/gemini/3.6-flash |
Higher-quality Gemini Flash |
byok/groq/gpt-oss-20b |
Groq (needs Groq BYOK) |
byok/openai/gpt-6.1-sol |
OpenAI chat (needs OpenAI BYOK) |
byok/anthropic/claude-haiku |
Anthropic (needs Anthropic BYOK) |
byok/openai/gpt-image-2 |
Images only — POST /v1/images |
| Ayar | Değer |
|---|---|
| OpenAI API Key | Yalnızca Kasva anahtarı |
| Override OpenAI Base URL | https://kasva.dev/v1 |
| Custom model | kasva/auto veya kasva/code |
Kasva üzerinden Gemini: özel model byok/gemini/2.5-flash ekle (Cursor’ın yerleşik Gemini’si değil).
Kasva üzerinden OpenAI: byok/openai/gpt-6.1-sol (veya başka bir byok/openai/… sohbet id). Görüntü modellerini Cursor sohbetine koyma — POST /v1/images kullan.
Kaçın: Cursor’ın yerleşik Auto ve yerleşik Gemini — bunlar doğrudan Cursor/Google’a gider, Kasva’a değil.
| Ayar | Değer |
|---|---|
| Base URL | https://kasva.dev |
| API key | Kasva kv_… |
| Model | kasva/auto |
ANTHROPIC_BASE_URL=https://kasva.dev ve ANTHROPIC_API_KEY olarak Kasva anahtarını ayarla. İsteğin Kasva’dan geçmesini istiyorsan Claude Code’a sağlayıcı sk-ant-… anahtarı yapıştırma.
| Ayar | Değer |
|---|---|
| API | OpenAI uyumlu |
| Base URL | https://kasva.dev/v1 |
| API key | Kasva kv_… |
| Model | kasva/auto |
Codex OpenAI Chat Completions konuşur. Cursor ile aynı üç alan.
| Ayar | Değer |
|---|---|
| API Provider | OpenAI Compatible |
| Base URL | https://kasva.dev/v1 |
| API Key | Kasva anahtarı |
| Model | kasva/auto veya byok/gemini/2.5-flash |
Sağlayıcı anahtarlarını bir kez POST /v1/byok/keys ile kaydet (istek başına sağlayıcı başlığı yok).
| Ayar | Değer |
|---|---|
| API | OpenAI uyumlu / özel taban |
| Base URL | https://kasva.dev/v1 |
| API key | Kasva kv_… |
| Model | kasva/auto |
| Ayar | Değer |
|---|---|
| Provider | openai |
| apiBase | https://kasva.dev/v1 |
| apiKey | Kasva kv_… |
| model | kasva/auto |
export OPENAI_API_BASE=https://kasva.dev/v1
export OPENAI_API_KEY=YOUR_KASVA_KEY
aider --model openai/kasva/auto
Cline ile aynı: OpenAI Compatible, taban https://kasva.dev/v1, Kasva anahtarı, model kasva/auto.
OpenAI uyumlu uç. Taban https://kasva.dev/v1, Kasva anahtarı, model kasva/auto.
xAI CLI. OpenAI uyumlu yapı (~/.grok/config.toml): taban https://kasva.dev/v1, Kasva anahtarı, model kasva/auto. Bu Grok istemcisi; Cursor içindeki bir Grok model seçici değil.
curl https://kasva.dev/v1/chat/completions \
-H "Authorization: Bearer YOUR_KASVA_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kasva/auto","messages":[{"role":"user","content":"ping"}]}'
Anthropic biçimi:
curl https://kasva.dev/v1/messages \
-H "x-api-key: YOUR_KASVA_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"kasva/auto","max_tokens":1024,"messages":[{"role":"user","content":"ping"}]}'
Sohbet yanıtına bak:
"lumirouter": {
"provider": "gemini",
"routed_model": "byok/gemini/2.5-flash"
}
Free kotası biterse free-route atlar: Groq → Gemini → DeepSeek → Kasva barındırılan (route_reason atlamayı gösterir).
| ID | Kullanım |
|---|---|
kasva/auto |
Akıllı yönlendirme |
kasva/code |
Her zaman kod odaklı yönlendirme |
byok/gemini/2.5-flash |
BYOK anahtarınla Gemini Flash |
byok/gemini/3.6-flash |
Daha yüksek kaliteli Gemini Flash |
byok/groq/gpt-oss-20b |
Groq (Groq BYOK ister) |
byok/openai/gpt-6.1-sol |
OpenAI sohbet (OpenAI BYOK ister) |
byok/anthropic/claude-haiku |
Anthropic (Anthropic BYOK ister) |
byok/openai/gpt-image-2 |
Yalnızca görüntü — POST /v1/images |