1 Ambil API key dari bot
Akun, pembayaran, dan penerbitan key dikelola melalui bot Telegram. Dashboard web membantu melihat status akun dan pembelian dengan alur yang sama.
Buka @tokoapikey_bot, kirim /start — akun dibuat otomatis.
Tap 🛒 Beli Paket, pilih produk, lalu bayar via QRIS atau USDT. Saldo masuk otomatis setelah pembayaran terkonfirmasi.
Buka 🔑 API Key, pilih ➕ Buat Key Baru, lalu salin. Plaintext hanya tampil sekali.
Urutan billing. Gateway memeriksa katalog dan estimasi biaya lebih dulu, meneruskan request saat saldo mencukupi, lalu mencatat usage dan debit setelah upstream selesai. Request berbayar wajib menyertakan batas output.
Dua jenis key. Key pay-as-you-go yang kamu buat sendiri (maks 5 aktif) berlaku untuk model umum. Key plan dikirim bot otomatis setelah pembayaran plan lunas. Aksesnya mengikuti whitelist plan; bila whitelist kosong, model umum aktif tetap mengikuti aturan katalog. Model bertanda 🔒 khusus plan di katalog memerlukan key plan yang mencantumkannya. Saldo Rupiah tetap satu dompet untuk semua key.
2 Panggil pertama
Mulai dengan request kecil. Contoh di bawah menyertakan batas output agar gateway dapat menghitung kebutuhan saldo sebelum upstream dipanggil.
Salin utuh, ganti <API-KEY-DARI-BOT> dan nama modelnya
(pilih dari halaman Model):
curl https://api.leuwongrr.cloud/v1/chat/completions \
-H "Authorization: Bearer <API-KEY-DARI-BOT>" \
-H "Content-Type: application/json" \
-d '{"model":"<pilih-model>","max_tokens":4096,"messages":[{"role":"user","content":"halo"}]}'Kenapa perlu batas token? Gateway memakai ukuran request + batas output untuk estimasi konservatif. Nilai 4096 pada contoh adalah batas maksimum jawaban request ini, bukan batas tetap server. Naikkan bila aplikasi membutuhkan jawaban atau tool call lebih panjang; saldo yang belum cukup menghasilkan 402 sebelum isi percakapan dikirim ke upstream.
Prefix lrr/ opsional. Klien yang otomatis menambah prefix tetap aman:
lrr/<model> bahkan lrr/lrr/<model> mengarah ke model yang sama — huruf besar/kecil juga diabaikan.
Jangan tempel API key asli di tempat publik — contoh di atas hanya placeholder.
3 Pakai di aplikasimu
Pilih satu jalur konfigurasi. Base URL dan key tetap mengikuti format klien yang kamu gunakan.
Claude Code (Anthropic)
export ANTHROPIC_BASE_URL="https://api.leuwongrr.cloud"
export ANTHROPIC_AUTH_TOKEN="<API-KEY-DARI-BOT>"
claudeCodex CLI (OpenAI-compatible)
export OPENAI_BASE_URL="https://api.leuwongrr.cloud/v1"
export OPENAI_API_KEY="<API-KEY-DARI-BOT>"
codexzcode
export OPENAI_BASE_URL="https://api.leuwongrr.cloud/v1"
export OPENAI_API_KEY="<API-KEY-DARI-BOT>"
# atau lewat config provider custom — base URL samaCursor · Cline · ekstensi VS Code
Isi di pengaturan provider: API Key = <API-KEY> dari bot · Base URL =
https://api.leuwongrr.cloud/v1 · Model = pilih dari halaman Model.
Anthropic SDK (Python)
import anthropic
client = anthropic.Anthropic(
base_url="https://api.leuwongrr.cloud",
api_key="<API-KEY-DARI-BOT>",
)4 Endpoint
Dua format API berbagi katalog model dan wallet yang sama; path request-nya berbeda.
| Endpoint | Keterangan |
|---|---|
GET/v1/ | Daftar model tersedia (format OpenAI). |
POST/v1/ | Chat OpenAI-compatible + streaming (stream: true). |
POST/v1/ | Anthropic Messages API — Claude Code, Cline, dll + streaming. |
Autentikasi
| Klien | Header |
|---|---|
| OpenAI | Authorization: Bearer <API-KEY> |
| Anthropic | x-api-key: <API-KEY> |
Untuk request OpenAI streaming, gateway meminta include_usage secara otomatis. Jika provider tetap tidak mengirim usage, request berbayar ditolak agar tidak ada biaya yang tidak dapat dihitung.
5 Kode error
Gunakan status dan kode error sebagai petunjuk tindakan. Kegagalan upstream tidak otomatis mengurangi saldo.
| Kode | Solusi |
|---|---|
401 invalid_api_keyKey salah atau sudah dicabut | Buat key baru di bot — 🔑 API Key |
402 insufficient_fundsSaldo Rupiah tidak cukup | Isi saldo lewat katalog atau bot Telegram |
422 max_tokens_requiredRequest berbayar tidak punya batas output | Tambahkan max_tokens atau max_completion_tokens |
403 model_not_in_planModel di luar whitelist key plan yang dipakai | Pakai key plan yang mencakupnya, atau cek daftar model di detail plan |
403 model_requires_planModel 🔒 khusus plan, dipakai key pay-as-you-go | Beli plan-nya di bot — key plan dikirim otomatis setelah lunas |
403 plan_inactivePlan pemilik key itu sudah tidak aktif / periodenya habis | Pakai key pay-as-you-go, atau beli plan lagi |
404 model_not_foundModel tidak terdaftar / nonaktif | Cek nama di halaman Model |
404 route_not_foundPath salah | Cek endpoint di bagian 4 |
429 rate_limitedBatas request/menit plan key itu tercapai | Tunggu satu menit, atau naik plan |
413 payload_too_largeBody request melewati batas gateway | Kurangi ukuran konteks atau lampiran |
502 upstream_unreachableUpstream belum menjawab atau koneksinya terputus | Coba ulang setelah beberapa detik; saldo tidak dipotong bila request gagal |
502 usage_unavailableUpstream tidak mengirim angka usage | Coba lagi; request tidak ditagih |
503 catalog_not_configured / price_not_configuredKatalog atau harga model belum siap | Hubungi admin |
503 upstream_unconfiguredGateway sedang disetel | Coba lagi sebentar |
6 Keamanan & privasi
API key disimpan sebagai hash. Plaintext tidak disimpan di server. Jika key hilang, buat key baru karena key lama tidak dapat dipulihkan.
Isi percakapan tidak disimpan oleh gateway. Log layanan hanya memuat metadata operasional seperti jumlah token, durasi, dan model; prompt serta response tidak ditulis ke log.
Key bocor? Buka bot → 🔑 API Key → tap 🔄 Rotasi: key baru dibuat, key lama langsung nonaktif, riwayat pemakaian tetap utuh. Kendala pembayaran? Hubungi admin lewat bot.
7 FAQ
| Pertanyaan | Jawaban |
|---|---|
| Ini gateway apa? | LeuwongRR AI Gateway — satu base URL & satu key untuk memakai berbagai model AI, dibeli lewat bot Telegram. |
| Format apa yang didukung? | OpenAI-compatible (/v1/chat/completions) dan Anthropic (/v1/messages) — streaming di keduanya. |
| Aplikasi apa yang bisa dipakai? | Semua yang bisa set base URL OpenAI/Anthropic: Claude Code, Codex, zcode, Cursor, Cline, SDK Python/JS. |
| Di mana saya melihat model yang tersedia? | Buka katalog model atau panggil GET /v1/models. Gunakan kode yang sama saat mengirim request. |
| Ganti key tanpa ubah program? | Pakai 🔄 Rotasi di bot, lalu update env aplikasimu dengan key baru. |
| Saldo hangus? | Saldo pay-as-you-go tidak hangus — bertahan sampai terpakai. Paket plan berlaku sesuai periode yang tertera saat pembelian. |
| Invoice berlaku berapa lama? | Berlaku 10 menit sejak dibuat — lewat itu, buat invoice baru. Invoice yang tidak dibayar tidak memotong saldo. |