Dokumentasi API

Kompatibel OpenAI. Ganti dua baris, selesai.

Base URL: https://api.gudang-ai.nusahost.net/v1

Mulai cepat

  1. Daftar dan top up saldo di dashboard.
  2. Buat API key di menu API Key. Key berbentuk sk-id-xxxxxxxx.<32 karakter> dan hanya ditampilkan sekali.
  3. 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 } }.

HTTPcodeArti
401invalid_api_keyKey salah, dicabut, atau akun ditangguhkan.
402insufficient_creditSaldo tidak cukup untuk menahan estimasi biaya request.
403model_not_allowedModel tidak diizinkan untuk key ini.
404model_not_foundID model tidak dikenal atau tidak aktif.
413request_too_largeBody melebihi 2 MB atau melampaui panjang konteks.
429rate_limit_exceededMelebihi RPM/TPM atau kapasitas sedang penuh. Ikuti header Retry-After.
503backend_unavailableServer 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

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.