Mulai cepat
- Daftar dan top up saldo di dashboard.
- Buat API key di menu API Key. Key berbentuk
sk-id-xxxxxxxx.<32 karakter>dan hanya ditampilkan sekali. - Arahkan SDK OpenAI Anda ke base URL di atas.
curl https://api.gudang-ai.nusahost.net/v1/chat/completions \
-H "Authorization: Bearer $GUDANG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-27b",
"messages": [
{"role": "system", "content": "Kamu asisten toko yang ramah."},
{"role": "user", "content": "Apakah ongkir ke Bandung gratis?"}
],
"max_tokens": 512
}'Autentikasi
Kirim API key di header Authorization: Bearer <API_KEY>. Key bisa dibatasi ke model tertentu dan diberi batas belanja bulanan. Jangan pernah menaruh key di kode frontend atau repositori publik; cabut key segera dari dashboard jika bocor.
Chat completions
POST /v1/chat/completions — format request dan respons sama dengan OpenAI. Parameter yang didukung: model, messages, max_tokens, temperature, top_p, stop, stream, stream_options, tools/tool_choice (sesuai dukungan model).
Jika max_tokens tidak dikirim, gateway memakai default 1.024 dan dibatasi oleh output maksimum model. Nilai ini juga dipakai untuk menahan saldo sementara sebelum request diproses.
Contoh respons
{
"id": "chatcmpl-8f1c…",
"object": "chat.completion",
"created": 1792137600,
"model": "qwen3.8-27b",
"choices": [{
"index": 0,
"message": { "role": "assistant", "content": "Ya, ongkir ke Bandung gratis untuk…" },
"finish_reason": "stop"
}],
"usage": { "prompt_tokens": 31, "completion_tokens": 48, "total_tokens": 79 }
}Streaming
Set "stream": true untuk menerima Server-Sent Events. Tambahkan "stream_options": {"include_usage": true} agar chunk terakhir memuat jumlah token. Jika koneksi diputus klien, generasi dihentikan dan hanya token yang sudah dihasilkan yang ditagih.
Daftar model
GET /v1/models mengembalikan model yang aktif untuk akun Anda.
curl https://api.gudang-ai.nusahost.net/v1/models -H "Authorization: Bearer $GUDANG_API_KEY"
{
"object": "list",
"data": [
{ "id": "qwen3.8-27b", "object": "model", "owned_by": "gudang-ai" }
]
}Kode error
Error mengikuti format OpenAI { error: { message, type, code } }.
| HTTP | code | Arti |
|---|---|---|
| 401 | invalid_api_key | Key salah, dicabut, atau akun ditangguhkan. |
| 402 | insufficient_credit | Saldo tidak cukup untuk menahan estimasi biaya request. |
| 403 | model_not_allowed | Model tidak diizinkan untuk key ini. |
| 404 | model_not_found | ID model tidak dikenal atau tidak aktif. |
| 413 | request_too_large | Body melebihi 2 MB atau melampaui panjang konteks. |
| 429 | rate_limit_exceeded | Melebihi RPM/TPM atau kapasitas sedang penuh. Ikuti header Retry-After. |
| 503 | backend_unavailable | Server model sedang tidak tersedia. Coba lagi beberapa saat. |
HTTP/1.1 402 Payment Required
{
"error": {
"message": "Saldo tidak mencukupi. Silakan top up di dashboard.",
"type": "insufficient_quota",
"code": "insufficient_credit"
}
}Batasan & rate limit
- Akun baru: 20 request/menit dan 40.000 token/menit per key. Naik otomatis ke 120 RPM setelah total top up ≥ Rp500.000.
- Ukuran body maksimum 2 MB. Batas waktu per request 10 menit.
- Layanan berstatus beta dengan kapasitas GPU terbatas; saat padat Anda akan menerima 429 dengan
Retry-After.
Privasi data
API bersifat stateless: server tidak menyimpan konteks percakapan per key, sehingga Anda harus mengirim riwayat messages lengkap setiap request. Isi prompt dan respons tidak dilog; kami hanya mencatat metadata (waktu, key, model, jumlah token, latensi) untuk penagihan. Semua pemrosesan berlangsung di server di Indonesia.