Gateway AI OpenAI-compatible. Satu API key untuk semua model, bayar per token, tanpa langganan. Kalau kode lu udah jalan dengan library OpenAI, tinggal ganti base URL dan key.
Semua request ke API pakai Bearer token di header. Key formatnya br-live-...
# header wajib di tiap request Authorization: Bearer br-live-xxxxxxxxxxxxxxxx
os.environ atau process.env.Di halaman Top Up, pilih paket, bayar QRIS.
Scan, bayar, API key br-live-... aktif otomatis. Kuota sesuai paket.
Request pertama lu dalam 30 detik. Base URL:
https://bokurouter.com/v1
curl https://bokurouter.com/v1/chat/completions \ -H "Authorization: Bearer br-live-..." \ -H "Content-Type: application/json" \ -d '{ "model": "glm-5.3", "messages": [{"role": "user", "content": "halo, perkenalkan diri"} ]}'
choices[0].message.content berisi jawaban, usage berisi token yang kehitung.Endpoint utama. Kompatibel penuh dengan skema request OpenAI.
POST https://bokurouter.com/v1/chat/completions
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
model | string | ya | ID model, contoh glm-5.3. Lihat daftar lengkap di List Model. |
messages | array | ya | Riwayat percakapan. Tiap item: {"role": "user|assistant|system", "content": "..."} |
max_tokens | integer | tidak | Batas token output. Default 4096. |
temperature | number | tidak | 0 - 2. Kontrol kreativitas. Default 1. |
stream | boolean | tidak | true untuk streaming SSE. Default false. |
curl https://bokurouter.com/v1/chat/completions \ -H "Authorization: Bearer br-live-..." \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3.8-max", "messages": [ {"role": "system", "content": "Kamu asisten yang jawab singkat."}, {"role": "user", "content": "apa itu API gateway"}, {"role": "assistant", "content": "API gateway adalah..."}, {"role": "user", "content": "kasih contohnya"} ], "temperature": 0.7 }'
Respons diterima bertahap (Server-Sent Events), kepotong per potongan teks. Cocok buat chatbot UI biar keliatan ngetik.
curl https://bokurouter.com/v1/chat/completions \ -H "Authorization: Bearer br-live-..." \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-v4-pro", "messages": [{"role": "user", "content": "tulis puisi singkat"}], "stream": true }'
Respons stream: baris data: {...} berulang, tiap baris berisi potongan teks di choices[0].delta.content. Stream berakhir dengan data: [DONE].
data: {"choices":[{"delta":{"content":"teks"}}]}data: [DONE]Semua model yang tersedia + harga per juta token.
GET https://bokurouter.com/v1/models Authorization: Bearer br-live-...
Model yang tersedia saat ini: glm-5.3, qwen3.8-max, deepseek-v4-pro, deepseek-v4.1-flash, muse-spark-1.3. Daftar lengkap selalu uptodate di endpoint ini dan di halaman Model & Harga.
Cek sisa kuota dan riwayat pemakaian per model.
GET https://bokurouter.com/v1/usage Authorization: Bearer br-live-...
Respons: quota (total), used (terpakai), remaining (sisa), reqs (jumlah request).
curl https://bokurouter.com/api/usage-history \
-H "Authorization: Bearer br-live-..."
Respons: by_model (agregat per model: jumlah request + token) dan recent (50 request terakhir, dengan input/output token).
Top up via QRIS, API key aktif otomatis setelah pembayaran terverifikasi.
POST /api/orders dengan {"packageId": "p100", "name": "nama"} - responsnya kode order + QRIS.
Scan sesuai nominal paket, cantumkan kode order di berita transfer.
Setelah pembayaran terverifikasi, API key dibuat otomatis dan ditampilkan di halaman Lacak Order. Tanpa kontak admin.
Atau langsung klik Top Up di halaman utama.
Arti tiap HTTP status yang mungkin balik dari API.
| Kode | Arti | Solusi |
|---|---|---|
400 | Request salah / field kurang | Cek format JSON dan field wajib. |
401 | Key salah atau tidak ada | Cek header Authorization, pastikan format Bearer. |
402 | Kuota habis | Top up paket token baru di halaman Top Up. |
404 | Model tidak tersedia / endpoint salah | Cek nama model di /v1/models. |
429 | Rate limit kena | Max 60 request/menit per key. Kasih jeda atau retry. |
500/502 | Upstream error | Transient, coba ulang. Kalau nyaris 1 menit gagal terus, hubungi admin. |
Semua library OpenAI-compatible bisa dipakai. Tinggal ganti base URL.
from openai import OpenAI client = OpenAI( api_key="br-live-...", base_url="https://bokurouter.com/v1" ) resp = client.chat.completions.create( model="glm-5.3", messages=[{"role": "user", "content": "halo"}], ) print(resp.choices[0].message.content)
stream = client.chat.completions.create(
model="glm-5.3",
messages=[{"role": "user", "content": "halo"}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
import OpenAI from "openai"; const client = new OpenAI({ apiKey: process.env.BOKU_KEY, baseURL: "https://bokurouter.com/v1", }); const resp = await client.chat.completions.create({ model: "glm-5.3", messages: [{ role: "user", content: "halo" }], }); console.log(resp.choices[0].message.content);
Lihat contoh di bagian Quickstart.
Pertanyaan yang sering muncul.
Input + output dihitung, dikali multiplier model (misal x2 untuk glm-5.3, x1 untuk deepseek-v4.1-flash). Sisa kuota selalu bisa dicek di /v1/usage.
Request bakal balik 402. Top up paket baru, kuotanya langsung nambah, ga perlu ganti key.
Bisa. Semua aplikasi yang support custom OpenAI base URL: Cursor, ChatBox, LibreChat, LobeChat, Open WebUI, dll. Isi base URL https://bokurouter.com/v1 + key lu.
60 request per menit per key. Buat kebutuhan lebih besar, hubungi admin.