Dokumentasi API

Satu base URL, kompatibel dengan SDK OpenAI maupun Anthropic.

REST + SSESaldo USDDeposit Rp 10.000 = $1
Base URL
https://kalimashada.id/v1
Header autentikasi: Authorization: Bearer <API_KEY> (OpenAI) atau x-api-key: <API_KEY> (Anthropic).
Langkah cepat
  1. Top up saldo di Top Up (QRIS).
  2. Buat API key di API Keys.
  3. Ganti base URL di aplikasi Anda ke base URL di samping.
  4. Jalankan request pertama, cek pemakaian di Usage & Logs.
Endpoint
MethodPathKeterangan
POST/v1/chat/completionsFormat OpenAI. Support streaming (SSE).
POST/v1/messagesFormat Anthropic. Support streaming.
POST/v1/messages/count_tokensPerkiraan jumlah token input (dipakai Claude Code sebelum mengirim pesan).
GET/v1/modelsDaftar varian DeepSeek yang tersedia untuk akun Anda.
GET/v1/models/{id}Detail satu model beserta harga per 1 juta token.
Contoh request
cURL (format OpenAI)
curl https://kalimashada.id/v1/chat/completions \
  -H "Authorization: Bearer $KALIMASHADA_API_KEY" \
  -H "Content-Type: application/json" \
  -d &#39;{
    "model": "deepseek-flash",
    "messages": [{ "role": "user", "content": "Halo!" }]
  }&#39;
cURL (format Anthropic)
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 &#39;{
    "model": "deepseek-flash",
    "max_tokens": 1024,
    "messages": [{ "role": "user", "content": "Halo!" }]
  }&#39;
Python
# 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)
Node.js / Bun (streaming)
// 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,
});
Streaming
Kirim "stream": true (OpenAI) atau header Accept: text/event-stream (Anthropic). Response berupa Server-Sent Events, ditagih setelah stream selesai berdasarkan usage final.
SSEheartbeat ±15stimeout 300s
Selama model berpikir, server mengirim heartbeat (komentar : ping untuk OpenAI, event ping untuk Anthropic) supaya koneksi tidak dianggap idle.
Model yang tersedia
Saat ini 5 model resmi DeepSeek:
deepseek-flashdeepseek-v4.1-flashdeepseek-v4-prodeepseek-v4-flashdeepseek-v4-flash-vision-exp
Model ini reasoning: token berpikir ikut dihitung sebagai output. Beri max_tokens yang cukup (mis. ≥ 256) agar jawaban akhir terlihat — kalau terlalu kecil, jatah habis di bagian berpikir.
Nama lama deepseek-chat dan deepseek-reasoner juga diterima (diarahkan ke deepseek-flash) supaya konfigurasi klien lama tetap jalan.
VS Code (chat model picker)
  1. Buka Panduan & perintah pemasang.
  2. Salin perintah untuk OS Anda (Linux/macOS atau Windows), jalankan di terminal.
  3. VS Code → Command Palette → Developer: Reload Window → Chat → model picker → provider kalimashada.
Perintah itu menulis chatLanguageModels.json dan memasang sinkronisasi harian, jadi penambahan model berikutnya tidak perlu pemasangan ulang (cukup reload window).
Error
HTTPCodeArtinya
400invalid_requestBody JSON tidak valid atau parameter wajib tidak ada.
401invalid_api_keyAPI key salah, dicabut, atau tidak ada header Authorization.
402insufficient_balanceSaldo tidak cukup. Lakukan top up lalu ulangi request.
404model_not_foundNama model tidak dikenal / belum aktif untuk akun Anda.
405method_not_allowedMetode HTTP salah untuk endpoint tersebut.
413payload_too_largeBody request melebihi 32 MB.
502upstream_errorProvider upstream gagal merespons. Saldo tidak dipotong untuk request gagal.
Tidak ada batas request per menit — pemakaian dibatasi saldo Anda (HTTP 402 saat saldo habis).
Penagihan
Saldo dalam USD; deposit Rupiah dikonversi Rp 10.000 = $1. Biaya per request = (token input × harga input/1M) + (token output × harga output/1M), memakai usage dari provider, lalu dipotong dari saldo USD. Riwayat ada di halaman Usage & Logs.