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 — cukup base URL dan API key ini, tidak perlu aplikasi lain:

curl https://router.classai.id/v1/chat/completions \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5.5",
    "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
claude-opus-5.5Claude Opus 5.51M7,7 TOKS38,4 TOKS
claude-opus-5Claude Opus 5200K0,16 TOKS0,8 TOKS
claude-sonnet-5Claude Sonnet 5200K0,16 TOKS0,8 TOKS
gpt-4oGPT-4o128K0,5 TOKS2,5 TOKS
gemini-3.1-proGemini 3.1 Pro1M2 TOKS10,2 TOKS
claude-opus-4.6-thinkingClaude Opus 4.6 Thinking200K0,16 TOKS0,8 TOKS
claude-sonnet-4.6Claude Sonnet 4.6200K17,3 TOKS86,6 TOKS
claude-haiku-4.5Claude Haiku 4.5200K0,16 TOKS0,8 TOKS
gpt-4.1GPT-4.11M0,5 TOKS2,5 TOKS
gpt-4o-miniGPT-4o mini128K0,9 TOKS3,5 TOKS
glm-5.3GLM 5.31M2,5 TOKS3,5 TOKS
deepseek-v4.1-flashDeepSeek V4.1 Flash1M0,16 TOKS0,8 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-opus-4.6Claude Opus 4.6200K0,16 TOKS0,8 TOKS
claude-sonnet-4.5Claude Sonnet 4.5200K0,16 TOKS0,8 TOKS
gpt-6-astraGPT-6 Astra400K2,24 TOKS11,2 TOKS
gpt-5.6-solGPT-5.6 Sol400K2,24 TOKS11,2 TOKS
gpt-6-solGPT-6 Sol1M2,24 TOKS11,2 TOKS
gpt-5.6-terraGPT-5.6 Terra1M0,16 TOKS0,8 TOKS
gemini-3.8-seriesGemini 3.8 Series1M0,16 TOKS0,8 TOKS
mimo-v2.5-proMiMo v2.5 Pro256K0,16 TOKS0,8 TOKS
gpt-5.6-lunaGPT-5.6 Luna1M0,16 TOKS0,8 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 claude-opus-5.5 = Rp27 ≈ 0,027 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_error · unsupported_endpointBody bukan JSON yang valid, parameter ditolak model, atau model itu tidak melayani /v1/completions.
401missing_api_key · invalid_api_keyHeader Authorization kosong atau key salah.
402insufficient_balance · package_required · package_insufficientSaldo habis dan tidak ada paket aktif untuk model itu — top up atau beli paket. Model khusus paket hanya jalan dengan paket aktif. package_insufficient: sisa token paket tidak cukup untuk request ini (kecilkan max_tokens, atau tambah paket / saldo).
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_limited · concurrency_limitedTerlalu banyak request per menit, atau terlalu banyak request bersamaan dengan paket Unlimited.
502upstream_error · upstream_unreachableMesin model sedang bermasalah. Aman untuk dicoba ulang.
503maintenance · model_unavailablePemeliharaan singkat, atau model sedang tidak lolos tes (dicek ulang tiap 5 menit). Coba lagi sebentar atau pilih model lain.

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="claude-opus-5.5"
export ANTHROPIC_SMALL_FAST_MODEL="claude-opus-5.5"
claude

Pakai opencode? Lihat Prompt opencode di bawah — API key dan semua model sudah terisi, tinggal salin & tempel. Bagian 9router hanya untuk yang menjalankan aplikasi 9router sendiri — selain itu tidak perlu.

Prompt opencode

Satu prompt untuk memasang Classai Router beserta semua modelnya ke opencode. Salin, tempel ke opencode (atau AI coding agent lain), selesai — config lamamu tetap aman.

Prompt ini berisi API key-mu, jadi hanya tampil setelah masuk. Masuk ke dashboard lalu buka Dokumentasi → Prompt opencode.

Hubungkan ke 9router (opsional)

Tidak menjalankan aplikasi 9router? Lewati bagian ini.

Claude Code, Cursor, Cline, opencode, dan tool lain cukup diisi Base URL https://router.classai.id/v1 dan API key Classai sk_live_… — tanpa localhost, tanpa key 9router.

Lihat Integrasi tools →

Sudah menjalankan 9router di komputermu?

9router adalah aplikasi router AI yang kamu jalankan sendiri. Tambahkan Classai Router sebagai salah satu provider-nya — semua model Classai bisa dipakai dari 9router, termasuk sebagai cadangan di combo.

Alurnya lewat 9router

Tool kamuClaude Code, Cursor, opencode…
pakai API key 9router
9router (di komputermu)localhost:20128
pakai API key Classai
Classai Routerrouter.classai.id
  • localhost:20128 = alamat aplikasi 9router di komputermu sendiri (port bawaannya), bukan server Classai. Kalau 9router tidak sedang berjalan, alamat itu memang tidak bisa dibuka.
  • Ada dua key. Key Classai sk_live_… dipasang sekali di 9router (langkah 3). Tool-mu bicara ke 9router, jadi tool memakai key milik 9router — bukan key Classai.
  • Pilih salah satu jalur per tool. Kalau tool sudah tersambung langsung ke Classai Router, jangan ditambah lewat 9router juga — modelnya akan muncul dobel (mis. claude-opus-5.5 dan classai/claude-opus-5.5).

Langkah memasang Classai di 9router

Untuk yang menjalankan 9router — salin isian di tiap langkah.

  1. 1

    Buka Providers → Add OpenAI Compatible

    Jalankan 9router (npx 9router), buka dashboard http://localhost:20128/dashboard, masuk ke Providers, lalu klik Add OpenAI Compatible.

    Lebih suka format Anthropic (mis. untuk Claude Code)? Pilih Add Anthropic Compatible — isiannya sama, 9router menambahkan /messages sendiri.

  2. 2

    Isi form provider

    Add OpenAI Compatible9router
    Name
    Classai Router
    Prefix
    classai

    Dipakai di ID model: classai/<model>

    Base URL
    https://router.classai.id/v1

    Harus diakhiri /v1.

    API Type
    Chat Completions

    Simpan.

  3. 3

    Add Connection → tempel API key

    Buka provider Classai Router yang baru dibuat → Add Connection → beri nama (mis. utama) → tempel API key sk_live_… dari menu API Keys → Test Connection sampai statusnya hijau.

  4. 4

    Add Model — daftarkan model Classai

    Klik Add Model dan isi ID model persis seperti di bawah. Pilih model yang mau dipakai lalu klik Salin di barisnya — satu model satu kali Add Model — atau Salin semua. Format ID model untuk Add Model di 9router; format classai/ID untuk dipanggil dari tool (langkah 5).

    • Claude Opus 5.5claude-opus-5.5
    • Claude Opus 5claude-opus-5
    • Claude Sonnet 5claude-sonnet-5
    • GPT-4ogpt-4o
    • Gemini 3.1 Progemini-3.1-pro
    • GLM 5.3glm-5.3
    • DeepSeek V4.1 Flashdeepseek-v4.1-flash
    • Kimi K3kimi-k3

    Daftar ini hanya model yang sedang aktif dijual. Harga & konteks tiap model ada di Katalog Model (atau GET /v1/models).

  5. 5

    Pakai dengan prefix classai/

    Di tool yang diarahkan ke 9router (Base URL http://localhost:20128/v1), pilih model classai/claude-opus-5.5. Isi API key dengan key milik 9router (dari dashboard 9router), bukan sk_live_… — key Classai sudah kamu pasang di langkah 3, dan 9router yang meneruskannya ke Classai Router.

    curl http://localhost:20128/v1/chat/completions \
      -H "Authorization: Bearer <API key 9router>" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "classai/claude-opus-5.5",
        "messages": [{"role": "user", "content": "Halo dari 9router!"}]
      }'
  6. 6

    (Opsional) Jadikan cadangan di combo

    Di Combos, buka atau buat combo lalu Add Model to Combo → classai/claude-opus-5.5. Kalau provider lain kena limit atau error, 9router otomatis pindah ke Classai Router.

Biaya tetap dihitung di Classai: request lewat 9router memakai paket token yang aktif dulu, lalu saldo TOKS — semuanya tercatat di menu Pemakaian.

Batasan

  • 60 request per menit per API key.
  • Paket Unlimited (fair use): 60 request per menit dan maksimal 5 request bersamaan per akun — semua key dan playground dihitung bersama.
  • Body request maksimal 25 MB; satu request maksimal 15 menit.
  • Maksimal 25 API key per akun (termasuk key default dan fork).

Ketentuan lengkap soal penagihan, paket, pemakaian wajar, dan refund ada di Syarat & Ketentuan dan Kebijakan Privasi.