Satu base URL, kompatibel dengan SDK OpenAI maupun Anthropic.
https://kalimashada.id/v1
Authorization: Bearer <API_KEY> (OpenAI) atau x-api-key: <API_KEY> (Anthropic).| Method | Path | Keterangan |
|---|---|---|
| POST | /v1/chat/completions | Format OpenAI. Support streaming (SSE). |
| POST | /v1/messages | Format Anthropic. Support streaming. |
| POST | /v1/messages/count_tokens | Perkiraan jumlah token input (dipakai Claude Code sebelum mengirim pesan). |
| GET | /v1/models | Daftar varian DeepSeek yang tersedia untuk akun Anda. |
| GET | /v1/models/{id} | Detail satu model beserta harga per 1 juta token. |
curl https://kalimashada.id/v1/chat/completions \ -H "Authorization: Bearer $KALIMASHADA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-flash", "messages": [{ "role": "user", "content": "Halo!" }] }'
curl https://kalimashada.id/v1/messages \ -H "x-api-key: $KALIMASHADA_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-flash", "max_tokens": 1024, "messages": [{ "role": "user", "content": "Halo!" }] }'
# pip install openai from openai import OpenAI client = OpenAI( base_url="https://kalimashada.id/v1", api_key="ask_live_xxxxxxxx", ) res = client.chat.completions.create( model="deepseek-flash", messages=[{"role": "user", "content": "Halo!"}], ) print(res.choices[0].message.content)
// npm i openai import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://kalimashada.id/v1", apiKey: process.env.KALIMASHADA_API_KEY, }); const res = await client.chat.completions.create({ model: "deepseek-v4-pro", messages: [{ role: "user", content: "Halo!" }], stream: true, });
"stream": true (OpenAI) atau header Accept: text/event-stream (Anthropic). Response berupa Server-Sent Events, ditagih setelah stream selesai berdasarkan usage final.: ping untuk OpenAI, event ping untuk Anthropic) supaya koneksi tidak dianggap idle.max_tokens yang cukup (mis. ≥ 256) agar jawaban akhir terlihat — kalau terlalu kecil, jatah habis di bagian berpikir.deepseek-chat dan deepseek-reasoner juga diterima (diarahkan ke deepseek-flash) supaya konfigurasi klien lama tetap jalan.kalimashada.chatLanguageModels.json dan memasang sinkronisasi harian, jadi penambahan model berikutnya tidak perlu pemasangan ulang (cukup reload window).| HTTP | Code | Artinya |
|---|---|---|
| 400 | invalid_request | Body JSON tidak valid atau parameter wajib tidak ada. |
| 401 | invalid_api_key | API key salah, dicabut, atau tidak ada header Authorization. |
| 402 | insufficient_balance | Saldo tidak cukup. Lakukan top up lalu ulangi request. |
| 404 | model_not_found | Nama model tidak dikenal / belum aktif untuk akun Anda. |
| 405 | method_not_allowed | Metode HTTP salah untuk endpoint tersebut. |
| 413 | payload_too_large | Body request melebihi 32 MB. |
| 502 | upstream_error | Provider upstream gagal merespons. Saldo tidak dipotong untuk request gagal. |