Dokumentasi

Classai Router API

Kompatibel dengan OpenAI Chat Completions dan Anthropic Messages. Kalau kodemu sudah jalan dengan salah satu SDK itu, cukup ganti base URL dan API key.

Mulai cepat

Base URL:

https://router.classai.id/v1

Salin key default di Dashboard → API Keys (dibuat otomatis saat daftar), isi saldo atau beli paket, lalu jalankan:

curl https://router.classai.id/v1/chat/completions \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.3",
    "messages": [
      {"role": "user", "content": "Halo! Jelaskan AI dalam 1 kalimat."}
    ]
  }'

Autentikasi

Kirim key di header Authorization: Bearer sk_live_…. Header x-api-key juga diterima (dipakai Anthropic SDK). Setiap akun otomatis punya satu key default; buat key tambahan atau fork key yang ada untuk aplikasi/anggota tim lain — semuanya memakai saldo & paket yang sama, dengan catatan pemakaian terpisah. Simpan key di server atau environment variable — jangan di kode frontend.

Endpoint

Metode & pathFormat
POST /v1/chat/completionsOpenAI Chat Completions (messages, tools, stream)
POST /v1/messagesAnthropic Messages (Claude Code, Anthropic SDK)
POST /v1/completionsOpenAI legacy completions
GET /v1/modelsDaftar model aktif + harga per 1M token

Streaming

Kirim "stream": true untuk menerima jawaban bertahap lewat Server-Sent Events. Chunk terakhir berisi usage (jumlah token) — kami menambahkan stream_options.include_usage otomatis supaya pemakaian tercatat akurat.

Model & harga

Harga per 1 juta token. 1 TOKS = Rp1.000. Katalog lengkap ada di halaman model.

ID modelKonteksInput / 1MOutput / 1M
glm-5.3GLM 5.31M2,5 TOKS3,5 TOKS
deepseek-v4.1-flashDeepSeek V4.1 Flash1M1,2 TOKS2,4 TOKS
kimi-k3Kimi K3256K4 TOKS5 TOKS
glm-5.2GLM 5.21M2 TOKS4,4 TOKS
minimax-m3MiniMax M31M1,8 TOKS3 TOKS
kimi-k2.7-codeKimi K2.7 Code250K3,7 TOKS6 TOKS
deepseek-v4-flashDeepSeek V4 Flash1M1,2 TOKS2,4 TOKS
deepseek-v4-flash-0731DeepSeek V4 Flash 07311M1,2 TOKS2,4 TOKS
deepseek-v4-proDeepSeek V4 Pro1M2 TOKS4 TOKS
deepseek-v4-pro-0813DeepSeek V4 Pro 08131M2 TOKS4 TOKS
glm-5.3-flashGLM 5.3 Flash1M1,4 TOKS3 TOKS
glm-5.1GLM 5.1200K1,8 TOKS4 TOKS
kimi-k2.6Kimi K2.6256K3 TOKS5 TOKS
gpt-oss-120bGPT-OSS 120B128K1 TOKS1 TOKS
gemini-3.8-flashGemini 3.8 Flash1M2 TOKS8 TOKS
claude-sonnet-4.6Claude Sonnet 4.6200K49,5 TOKS247,5 TOKS
claude-opus-4.6-thinkingClaude Opus 4.6 Thinking200K82,5 TOKS412,5 TOKS

Cara biaya dihitung

Biaya = token masuk × harga input + token keluar × harga output. Jumlah token diambil dari usage yang dilaporkan model; kalau model tidak mengirim usage saat streaming, kami memperkirakannya dari panjang teks (≈ 4 karakter per token).

Contoh: 1.000 token masuk + 500 token keluar di glm-5.3 = Rp4,25 ≈ 0,0043 TOKS.

Request yang gagal (error dari model atau gateway) tidak ditagih. Beberapa model menambahkan system prompt internal, sehingga token masuk bisa sedikit lebih besar dari teks yang kamu kirim.

Saldo & paket token

Semua API key di akunmu memakai sumber yang sama. Untuk setiap request, saldo paket token untuk model itu dipakai lebih dulu (paket khusus satu model didahulukan dari bundel); kalau tidak ada paket atau tokennya habis, biaya dipotong dari saldo TOKS. Tidak perlu key khusus per paket atau per model.

Paket aktif 30 hari. Membeli paket yang sama lagi sebelum masa aktif habis menambahkan tokennya ke sisa yang ada dan memperpanjang masa aktif 30 hari dari tanggal berakhir sebelumnya. Setelah masa aktif lewat, sisa token hangus dan pembelian berikutnya mulai dari nol.

Kode error

Error mengikuti format OpenAI: {"error": {"message", "type", "code"}}.

HTTPcodeArti
400invalid_request_errorBody bukan JSON yang valid atau parameter salah.
401missing_api_key · invalid_api_keyHeader Authorization kosong atau key salah.
402insufficient_balanceSaldo habis dan tidak ada paket aktif untuk model itu — top up atau beli paket.
403key_disabled · key_expired · account_disabledKey dinonaktifkan/kedaluwarsa, atau akun ditangguhkan.
403model_not_allowedKey ini dibatasi untuk model lain.
404model_not_foundID model tidak ada atau sedang nonaktif. Cek GET /v1/models.
413—Body lebih dari 25 MB.
429rate_limitedTerlalu banyak request per menit untuk satu key.
502upstream_error · upstream_unreachableMesin model sedang bermasalah. Aman untuk dicoba ulang.
503maintenancePemeliharaan singkat. Coba lagi sebentar.

Integrasi tools

Tools yang mendukung "OpenAI compatible" cukup diisi base URL https://router.classai.id/v1. Untuk Claude Code, pakai ANTHROPIC_BASE_URL tanpa /v1 dan pilih model dari katalog lewat ANTHROPIC_MODEL.

export ANTHROPIC_BASE_URL="https://router.classai.id"
export ANTHROPIC_AUTH_TOKEN="sk_live_…"
export ANTHROPIC_MODEL="glm-5.3"
export ANTHROPIC_SMALL_FAST_MODEL="glm-5.3"
claude

Batasan

  • 60 request per menit per API key.
  • Body request maksimal 25 MB; satu request maksimal 15 menit.
  • Maksimal 25 API key per akun (termasuk key default dan fork).