OpenAI-compatible API. Base URL https://ai.genzicorp.com — pakai library OpenAI apa pun, tinggal ganti base URL.
/v1/chat/completions. Semua request pakai Authorization: Bearer gzi_....Contoh paling cepat pakai library resmi OpenAI:
from openai import OpenAI
client = OpenAI(
api_key="gzi_... your key", # buat di Console → API Keys
base_url="https://ai.genzicorp.com/v1"
)
resp = client.chat.completions.create(
model="grok-4.7",
messages=[{"role": "user", "content": "Halo!"}]
)
print(resp.choices[0].message.content)
Atau raw curl:
curl https://ai.genzicorp.com/v1/chat/completions \
-H "Authorization: Bearer gzi_..." \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.7",
"messages": [{"role":"user","content":"Halo!"}]
}'
1. Login di console → Wallet → Top Up. Pilih nominal & channel (QRIS / VA / e-wallet).
2. Setelah dibayar, saldo IDR masuk otomatis.
3. Konversi IDR → USD credit di Wallet (kurs live ditampilkan sebelum konfirmasi). Chat cuma bisa dibayar pakai USD credit.
Buat key di Console → API Keys. Format gzi_.... Bisa bikin beberapa key, blokir/unblokir, atau hapus kapan saja.
# semua endpoint butuh header ini
Authorization: Bearer gzi_...
POST /v1/chat/completions
{
"model": "grok-4.7", // atau "auto", atau slug lain dari /v1/models
"messages": [
{"role": "system", "content": "Kamu asisten singkat."},
{"role": "user", "content": "Halo!"}
],
"max_tokens": 500, // opsional
"stream": false // true = SSE streaming
}
Response-nya standar OpenAI:
{
"id": "chatcmpl-...",
"model": "grok-4.7",
"choices": [{
"message": {"role": "assistant", "content": "Halo! Ada yang bisa dibantu?"},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 8,
"total_tokens": 20
}
}
Saldo USD credit dipotong otomatis per request, berdasarkan token yang benar-benar terpakai:
| Komponen | Di-hitung dari | Tarif |
|---|---|---|
| Input (tidak di-cache) | prompt_tokens − cached_tokens | harga input model |
| Input (cache hit) | prompt_tokens_details.cached_tokens | harga cache model (jauh lebih murah) |
| Output | completion_tokens | harga output model |
curl https://ai.genzicorp.com/v1/chat/completions \
-H "Authorization: Bearer gzi_..." \
-H "Content-Type: application/json" \
-d '{"model":"grok-4.7","messages":[{"role":"user","content":"Halo!"}],"stream":true}'
Response = Server-Sent Events, format sama dengan OpenAI (data: {...} per chunk, diakhiri data: [DONE]).
Harga live (per 1 juta token, USD). Tabel ini di-fetch langsung dari API:
| Model | Input $/1M | Output $/1M | Cache $/1M |
|---|---|---|---|
| loading… | |||
Endpoint: GET /v1/models (publik — tanpa API key) — juga mengembalikan konteks, vendor asli, dan kemampuan vision.
GET /v1/wallet → saldo USD credit + IDR
GET /wallet/ledger → riwayat transaksi (topup, konversi, pemakaian)
| HTTP | Arti | Yang perlu dilakukan |
|---|---|---|
| 400 | Body/param salah | Cek format JSON & nama field |
| 401 | API key salah/blokir | Cek header Authorization, pastikan key aktif |
| 402 | Saldo tidak cukup | Top up & konversi ke USD credit |
| 404 | Model tidak ada | Cek slug di GET /v1/models |
| 429 | Rate limit | Tunggu sebentar, atau kurangi request |
| 5xx | Error upstream/sistem | Retry dengan backoff; saldo tidak terpotong untuk request gagal |
100% kompatibel OpenAI Chat Completions. Sudah dites dengan:
| Library / tool | Setup |
|---|---|
Python openai | base_url="https://ai.genzicorp.com/v1" |
JS openai (Node) | new OpenAI({ baseURL: "https://ai.genzicorp.com/v1" }) |
| LangChain | ChatOpenAI(openai_api_base=..., openai_api_key=...) |
| Curl / HTTP apa pun | POST langsung ke /v1/chat/completions |