Dokumentasi
Integrasi dalam hitungan menit.
NusaGate kompatibel dengan API OpenAI: ganti baseURL, pakai SDK resmi apa pun, dan bayar per token dalam rupiah. Semua contoh di halaman ini bisa langsung dijalankan.
Base URL
https://api.nusagate.com01 / mulai cepat
Request pertama kamu
Dua langkah: buat API key di dashboard, lalu kirim request ke gateway. Tidak ada SDK khusus yang perlu diinstal.
curl https://api.nusagate.com/v1/chat/completions \
-H "Authorization: Bearer nsk_kunci_anda" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3-flash",
"messages": [
{ "role": "user", "content": "Halo, perkenalkan dirimu!" }
]
}'SDK OpenAI resmi (JavaScript maupun Python) langsung jalan tanpa adaptasi, cukup arahkan baseURL ke https://api.nusagate.com/v1 dan apiKey ke key nsk_ kamu.
02 / katalog
Model yang tersedia
Pakai ID pada kolom pertama sebagai nilai field model di body request. Harga per 1 juta token, prabayar dalam Rupiah. Katalog yang sama bisa diambil program lewat GET /v1/models.
| Model ID | Input | Konteks | Input /1M | Output /1M | Cache hit /1M |
|---|---|---|---|---|---|
GPT 6.1 Sol Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar, Suara, Video | 1.05M token | Rp 10.000 | Rp 60.000 | Rp 1.00010% dari input |
GPT-6 Sol Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar, Suara, Video | 1.05M token | Rp 12.500 | Rp 62.000 | Rp 1.25010% dari input |
GPT 6 Luna Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 600 | Rp 3.000 | Rp 6010% dari input |
GLM 5.3 Flash Model multimodal 1M untuk coding dan workflow agent. | Input: Teks, Gambar, Video | 1.05M token | Rp 1.100 | Rp 3.000 | Rp 11010% dari input |
DeepSeek V4.1 Flash Konteks 1M untuk coding, RAG, dan pemrosesan volume besar. | Input: Teks, Gambar | 1.05M token | Rp 1.300 | Rp 4.000 | Rp 13010% dari input |
GPT-5.6 Luna Model hemat untuk workflow agent dengan volume tinggi. | Input: Teks, Gambar, Video | 1.05M token | Rp 1.200 | Rp 9.000 | Rp 12010% dari input |
GPT-5.6 Terra Keseimbangan kualitas, reasoning, dan biaya. | Input: Teks, Gambar | 1.05M token | Rp 15.000 | Rp 65.000 | Rp 1.50010% dari input |
GPT-5.6 Sol Flagship untuk pekerjaan kompleks dan long-horizon agent. | Input: Teks, Gambar, Suara, Video | 1.05M token | Rp 35.000 | Rp 100.000 | Rp 3.50010% dari input |
Qwen 3.8 Flash Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 900 | Rp 2.800 | Rp 9010% dari input |
MiniMax M3.1 Flash Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 2.300 | Rp 8.300 | Rp 23010% dari input |
DeepSeek V4 Pro Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks | 1.05M token | Rp 4.000 | Rp 12.000 | Rp 40010% dari input |
MiniMax M3 Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar, Video | 1.05M token | Rp 4.500 | Rp 18.000 | Rp 45010% dari input |
Gemini 3.8 Flash Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 5.200 | Rp 20.000 | Rp 52010% dari input |
GLM 5.3 Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks | 1.05M token | Rp 8.300 | Rp 26.000 | Rp 83010% dari input |
Grok 4.7 Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 10.000 | Rp 25.500 | Rp 1.00010% dari input |
Qwen 3.8 Max 0902 Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 11.800 | Rp 35.500 | Rp 1.18010% dari input |
Kimi K3 Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 17.000 | Rp 89.000 | Rp 1.70010% dari input |
Kimi K3.1 Pro Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar | 1.05M token | Rp 30.000 | Rp 150.000 | Rp 3.00010% dari input |
GPT-6 Astra Tersedia lewat NusaGate dengan harga lokal Indonesia. | Input: Teks, Gambar, Suara, Video | 272K token | Rp 60.000 | Rp 310.000 | Rp 6.00010% dari input |
Harga live dari katalog NusaGate, sama dengan yang ditagihkan ke akun kamu (cache 1 menit). Model dengan harga cache mendukung prompt/prefix caching: token yang kena cache ditagih sesuai persentase di kolom terakhir.
03 / keamanan
Autentikasi & API key
Satu key berlaku untuk semua model. Key di-hash sebelum disimpan, sehingga kebocoran database tidak membocorkan kunci pelanggan.
Daftar dan buat API key
nsk_ dan hanya ditampilkan sekali saat dibuat, jadi simpan langsung di secret manager.Kirim di header
Setiap request menyertakan header berikut. Jangan taruh API key di URL, body, atau kode frontend yang terbaca browser.
Authorization: Bearer nsk_xxxxxxxx...Topup dan pantau usage
Isi saldo di dashboard lewat Midtrans, saldo masuk otomatis setelah pembayaran. Tiap request tercatat di halaman usage, rinci per model per hari.
insufficient_balance, bukan 500.04 / endpoint utama
Chat Completions
POST /v1/chat/completions menerima body bergaya OpenAI. Semua parameter opsional mengikuti default model bila tidak dikirim.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
model | string | wajib | Id model. Ambil daftar lengkap dari GET /v1/models, misalnya glm-5.3-flash atau gpt-5.6-luna. |
messages | array | wajib | Riwayat percakapan berupa objek { role, content }, role bisa system, user, atau assistant. |
stream | boolean | opsional | Default false. Bila true, respons dikirim sebagai Server-Sent Events. |
temperature | number | opsional | Kreativitas jawaban, 0 sampai 2. Default mengikuti model. |
max_tokens | integer | opsional | Batas maksimum token pada jawaban. |
Contoh streaming
curl https://api.nusagate.com/v1/chat/completions \
-H "Authorization: Bearer nsk_kunci_anda" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3-flash",
"messages": [
{ "role": "user", "content": "Tulis puisi tiga baris tentang hujan." }
],
"stream": true
}'05 / referensi
Referensi Endpoint
Endpoint gateway publik yang kompatibel dengan format OpenAI dan dapat dipanggil langsung dari aplikasi kamu.
Gateway API
Endpoint publik untuk request dari aplikasi kamu. Autentikasi memakai API key nsk_... di header Authorization: Bearer.
06 / coding agent
Pasang ke coding agent
Satu perintah mengarahkan coding agent ke NusaGate. Helper menulis konfigurasi secara merge dan mencadangkan file lama, jadi setelan kamu yang lain tidak hilang.
# wizard: pilih agent + model, key diverifikasi dulu
npx @nusagate-gateway/helper
# tanpa prompt
npx @nusagate-gateway/helper apply -k nsk_... -m gpt-5.6-terra --agents claude,opencode -y
# agent mana yang sudah diarahkan ke NusaGate
npx @nusagate-gateway/helper status
# cek API key lewat GET /v1/models lalu tampilkan daftar model
npx @nusagate-gateway/helper validate
# daftar agent yang didukung
npx @nusagate-gateway/helper list
# hapus setelan NusaGate saja, sisanya dibiarkan
npx @nusagate-gateway/helper resetAgent yang didukung
- Claude Code
- Codex
- OpenCode
- Cline
- OpenClaw
Hermes
- OMP
- Pi
Opsi helper
| Opsi | Fungsi |
|---|---|
-k, --key <key> | API key NusaGate. Bisa juga dibaca dari env NUSAGATE_API_KEY. |
--base-url <url> | Default https://api.nusagate.com/v1. |
-m, --model <id> | Model utama yang dipakai agent itu. |
--subagent-model <id> | Model untuk subagent atau tugas small-fast. |
--models <a,b> | Model tambahan, dipakai OpenCode, OpenClaw, OMP, dan Pi. |
--all-models | Daftarkan semua model katalog, bukan cuma yang disebut. |
--agents <sel> | installed (default), all, atau daftar dipisah koma: claude, codex, opencode, cline, openclaw, hermes, omp, pi. |
--dry-run | Tampilkan rencana perubahan tanpa menulis file. |
-y, --yes | Lewati konfirmasi. |
--json | Cetak output JSON. |
-h, --help | Tampilkan bantuan lengkap. |
GET /v1/models sebelum menulis apa pun, dan membatalkan penulisan kalau file konfigurasi tidak bisa dibaca. Salinan file lama ada di *.nusagate-backup.Tonton: pasang NusaGate di OpenCode (2 menit)
Konfigurasi manual (tanpa helper)
OpenCode
Simpan konfigurasi ini di ~/.config/opencode/opencode.json. Gunakan ID model publik NusaGate. Jangan tambahkan limit jika batas output belum pasti; OpenCode menolak blok limit yang hanya punya context.
export NUSAGATE_API_KEY="nsk_..."
# ~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"model": "nusagate/gpt-6-sol",
"provider": {
"nusagate": {
"npm": "@ai-sdk/openai-compatible",
"name": "NusaGate",
"options": {
"baseURL": "https://api.nusagate.com/v1",
"apiKey": "{env:NUSAGATE_API_KEY}"
},
"models": {
"gpt-6-sol": { "name": "GPT-6 Sol" }
}
}
}
}Restart OpenCode setelah mengubah environment variable, lalu pilih model nusagate/gpt-6-sol.
Hermes
Arahkan konfigurasi model Hermes ke base URL yang sama. Nama field bisa berbeda tergantung versi Hermes, nilainya tetap sama.
export NUSAGATE_API_KEY="nsk_..."
export OPENAI_BASE_URL="https://api.nusagate.com/v1"
export OPENAI_MODEL="deepseek-v4.1-flash"
hermes --provider openai-compatibleKalau Hermes memakai file config, salin nilai OPENAI_BASE_URL dan OPENAI_MODEL.
07 / penanganan error
Error contract
Semua error memakai format OpenAI { error: { message, type, code, request_id } } dengan status HTTP yang jelas, sehingga SDK OpenAI, OpenCode, dan tool lain menampilkan pesannya, dan retry serta alerting bisa otomatis. Cabangkan logika dari error.code. Sertakan error.request_id saat menghubungi support.
| Status | Kode error | Arti | Yang perlu dilakukan |
|---|---|---|---|
| 400 | validation_error | Body request tidak valid, misalnya messages kosong. | Pesannya menyebut apa yang perlu diperbaiki (daftar yang sama ada di error.details). |
| 400 | context_length_exceeded | Percakapan ditambah output yang dicadangkan tidak muat di jendela konteks model. | Ringkas atau perpendek percakapan (OpenCode melakukannya sendiri), atau turunkan max_tokens. |
| 401 | invalid_api_key | API key salah, dicabut, atau header Authorization tidak ada. | Buat key baru di dashboard dan cek format header Bearer. |
| 402 | insufficient_balance | Saldo prabayar habis. | Topup lewat dashboard, saldo aktif setelah diverifikasi. |
| 404 | model_not_found | id model tidak ada di katalog. | Ambil daftar id resmi dari GET /v1/models. |
| 429 | rate_limit | Melebihi 60 request per menit per key. | Tunggu sesuai retry_after sebelum mencoba lagi. |
| 429 | pass_window_cap | Pemakaian Coding Plan mencapai batas per window (hanya tier Pro dan Month yang punya batas). | Nilai plan tetap berlaku dan bisa dipakai lagi setelah window-nya reset (lihat retry_after). Kalau tidak mau menunggu, nyalakan opsi "Lanjut pakai saldo kalau batas plan kena" di dashboard Wallet tab Plan supaya request lanjut dibayar dari saldo. |
| 503 | upstream_busy | Upstream sedang sibuk atau tidak tersedia. | Coba ulang setelah retry_after, gateway sudah melakukan satu retry internal. |
| 500 | internal_error | Kesalahan tak terduga di sisi NusaGate. | Coba ulang, bila berlanjut hubungi support dengan requestId. |
HTTP/1.1 429 Too Many Requests
{
"error": {
"message": "Too many requests. Retry in 60 seconds.",
"type": "rate_limit_error",
"code": "rate_limit",
"param": null,
"request_id": "V1StGXR8_Z5jdHi6B-myT"
},
"message": "Too many requests. Retry in 60 seconds.",
"retry_after": 60
}Langkah berikut
Siap mencoba?
Buat API key, isi saldo mulai Rp 10.000, dan kirim request pertama kamu.