Mulai cepat
Drop-in replacement untuk OpenAI SDK. Ganti base URL, pakai kunci MahiCenter.
Referensi endpoint
Yang penting untuk dipakai sehari-hari; sisanya administratif.
| Metode | Path | Untuk |
|---|---|---|
| GET | /v1/models | Daftar model aktif — publik, tanpa auth. |
| POST | /v1/chat/completions | Inferensi chat — butuh Authorization: Bearer mahi-rtr-…. |
| POST | /v1/audio/transcriptions | Speech-to-text — butuh kunci pengguna. |
| POST | /v1/audio/speech | Text-to-speech — butuh kunci pengguna. |
| POST | /v1/images/generations | Generate gambar — butuh kunci pengguna. |
| POST | /api/client/status | Cek kunci sendiri — kirim {"key": "…"}, publik. |
| GET | /api/public/summary | Agregat global (token, request, pengguna, latensi) — publik. |
| GET | /api/public/leaderboard | Papan peringkat 20 besar — publik. |
Integrasi client
Semua yang berbicara protokol OpenAI diperlakukan sama: arahkan base URL lalu pakai kunci.
Cursor / Continue.dev
Settings → Models → OpenAI-compatible. Base URL:
https://router.mahicenter.cloud/v1, API Key: kunci mahi-r… kamu, lalu model ditulis persis seperti di katalog.aider (CLI)
aider --openai-api-base https://router.mahicenter.cloud/v1 --openai-api-key mahi-r... --model mahi/deepseek-v4.1-flash-1017Python (openai SDK)
OpenAI(base_url="https://router.mahicenter.cloud/v1", api_key="mahi-r...") lalu client.chat.completions.create(...) seperti biasa.Node.js (openai SDK)
new OpenAI({ baseURL: "https://router.mahicenter.cloud/v1", apiKey: process.env.MAHI_KEY }) — sama persis SDK resmi, tidak perlu di-patch.Parameter chat.completions
Skema mengikuti OpenAI persis; yang paling sering dipakai:
| Parameter | Wajib | Keterangan |
|---|---|---|
| model | Ya | ID persis dari katalog (mis. mahi/deepseek-v4.1-flash-1017). |
| messages | Ya | Array [{role, content}] — role system/user/assistant. |
| max_tokens | Tidak | Batas token output; kosong = model pakai batas maksimumnya. |
| temperature | Tidak | 0–2; semakin tinggi semakin kreatif (default 1). |
| stream | Tidak | true untuk respons SSE per-token (streaming ala OpenAI). |
Kode Status & Penanganan Error
Gateway mengembalikan kode HTTP standar OpenAI-compatible dengan objek error JSON yang terstruktur dan jelas.
| Kode HTTP | Tipe / Kode Error | Penyebab & Solusi |
|---|---|---|
| 400 Bad Request | invalid_request_error |
Format JSON request rusak, field messages kosong, atau model yang diminta tidak terdaftar di gateway. Periksa kembali struktur request dan pastikan model tersedia di Katalog Model. |
| 401 Unauthorized | invalid_api_key |
Header Authorization: Bearer <kunci> tidak disertakan atau kunci API tidak terdaftar di sistem. Pastikan format diawali mahi-rtr-… dan cek masa aktif di halaman Cek Kunci. |
| 402 Payment Required | daily_quota_exceeded |
Batas kuota harian khusus model premium tertentu telah tercapai. Kuota harian di-reset otomatis setiap pukul 00:00 WIB. Anda dapat beralih ke model tanpa limit harian seperti mahi/deepseek-v4.1-flash atau mahi/step-5-preview. |
| 403 Forbidden |
key_expiredhardware_limit_exceededkey_suspended
|
Akses ditolak karena ketentuan penggunaan:
|
| 429 Too Many Requests | rate_limit_exceeded |
Frekuensi permintaan melebihi batas rate limit (default 60–120 request/menit). Gateway menyertakan header Retry-After. Beri jeda antar request atau pasang retry dengan exponential backoff. |
| 500 Internal Error | server_error |
Terjadi kegagalan internal pada server gateway saat memproses permintaan. Coba ulangi request beberapa saat lagi. |
| 502 Bad Gateway | api_error / upstream_error |
Penyedia model upstream sedang down, mengalami timeout, atau kendala jaringan. Gateway mencoba 1x retry otomatis; jika tetap gagal, error dilaporkan apa adanya secara jujur tanpa menyamarkan model. Gunakan model cadangan lain di katalog. |
| 503 Service Unavailable | service_upgrading |
Gateway sedang dalam mode peningkatan sistem / pemeliharaan berkala (header respons menyertakan Retry-After: 900). Layanan akan kembali normal dalam hitungan menit tanpa mengurangi saldo atau sisa masa aktif kunci. |
Tanya jawab
Yang paling sering ditanyakan sebelum membeli.
Apakah benar-benar OpenAI-compatible?
Ya. Endpoint
/v1/chat/completions mengikuti skema OpenAI: body, header auth Bearer, respons choices/usage, streaming SSE. SDK openai Python/Node jalan tanpa patch.Bagaimana cara bayarnya?
Semua lewat bot Telegram @mahicenterrouterbot: ketik
/buy, terima invoice QRIS dengan nominal unik, bayar, owner memverifikasi manual, kunci terkirim otomatis ke chat kamu.Ada batas kuota / rate limit?
Kuota token unlimited. Rate limit default 120 request per menit per kunci. Cukup untuk pemakaian agen dan skrip. Butuh lebih? Bicara saja dengan owner.
Kalau jalur model mati?
Gateway mencoba jalur cadangan otomatis (failover). Kalau semua jalur mati, kamu dapat error jujur. Kami tidak menyamaratakan error jadi respons sukses.
Boleh dipakai di banyak aplikasi sekaligus?
Boleh. Satu kunci bisa dipakai di beberapa device/tools sekaligus. Semua request tetap dihitung ke akun yang sama, dan batas rate limit 120/menit dibagi pemakaian total.
Kunci hilang atau bocor?
Lapor segera ke bot (
/buy → menu Bantuan, atau DM owner). Kunci lama dinonaktifkan, kunci baru diterbitkan dengan sisa masa berlaku dipertahankan.Apakah ada SLA/garansi?
Jujur: tidak ada SLA formal. Layanan dijaga oleh manusia dan di-monitor cron. Waktu down dicatat; perpanjangan masa langganan diberikan otomatis kalau ada gangguan besar tervalidasi.
Perubahan terbaru
Dicatat jujur apa adanya.
| Tanggal | Perubahan |
|---|---|
| 25 Okt 2026 | Situs multi-halaman baru (Beranda, Model, Peringkat, Cek Kunci, Dokumentasi) dengan endpoint publik /api/public/*. |
| 25 Okt 2026 | Pembayaran QRIS jadi verifikasi manual owner + invoice PNG otomatis ke pembeli. |
| 25 Okt 2026 | Kemitraan resmi dengan SFG (SANN404 Forum Group); label publik katalog disanitasi penuh (white-label, tanpa jenama vendor); paket maksimal 7 hari. |
| 24 Okt 2026 | Penutupan celah /api/keys/create tanpa auth + admin guard di seluruh endpoint admin. |