Docs

TopUpSaja pakai format OpenAI-compatible. Semua tool yang support custom base URL bisa langsung dipakai.

1. Endpoint

MethodPathKeterangan
POST/v1/chat/completionsChat completions (OpenAI-compatible, streaming OK)
GET/v1/modelsDaftar model + rate credit

2. Autentikasi

Generate API key di dashboard (format sk-ts-…), kirim sebagai Bearer token.

curl https://api.topupsaja.com/v1/chat/completions \
  -H "Authorization: Bearer $TOPUPSAJA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ts/gpt-4o-mini",
    "messages": [{"role": "user", "content": "Halo!"}]
  }'

3. Setup Coding Tools

API key TopUpSaja bisa dipakai di berbagai coding agent dan IDE yang mendukung custom base URL OpenAI-compatible — di antaranya OpenCode, Kilo Code, Cursor, Cline, Roo Code, Aider, dan Continue.

OpenCode (CLI / TUI)

Simpan opencode.json di root project (atau ~/.config/opencode/opencode.json), lalu jalankan opencode.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "topupsaja": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "TopUpSaja",
      "options": {
        "baseURL": "https://api.topupsaja.com/v1",
        "apiKey": "$TOPUPSAJA_API_KEY"
      },
      "models": {
        "ts/gpt-4o-mini": { "name": "GPT-4o mini" },
        "ts/claude-3.5-sonnet": { "name": "Claude 3.5 Sonnet" }
      }
    }
  }
}

Kilo Code (VS Code)

Install ekstensi Kilo Code, buka Settings, pilih provider "OpenAI Compatible", lalu isi:

Base URL : https://api.topupsaja.com/v1
API Key  : sk-ts-xxxx
Model ID : ts/gpt-4o-mini

# Contoh Model ID lain:
#   ts/claude-3.5-sonnet  — task coding kompleks
#   ts/gemini-2.0-flash   — task cepat & murah

Cursor

Settings → Models → OpenAI API Key: masukkan key TopUpSaja, Overwrite Base URL: https://api.topupsaja.com/v1

Cline / Roo Code / Aider / Continue

# contoh Aider
export OPENAI_API_BASE=https://api.topupsaja.com/v1
export OPENAI_API_KEY=sk-ts-xxxx

# contoh Cline / Roo Code (VS Code settings)
# Provider: OpenAI Compatible
#   Base URL: https://api.topupsaja.com/v1
#   API Key : sk-ts-xxxx
#   Model ID: ts/deepseek-chat

# contoh Continue (config.yaml)
# models:
#   - name: TopUpSaja
#     provider: openai
#     apiBase: https://api.topupsaja.com/v1
#     apiKey: sk-ts-xxxx
#     model: ts/gpt-4o-mini

4. Sistem Credit

Konsumsi credit per request:

credits = ceil( input_fresh × m_in
             + input_cached × m_cache
             + output × m_out )

Rate m_* tiap model ada di halaman Models. Respons non-streaming menyertakan header X-Credits-Used dan X-Credits-Remaining.

5. Error Codes

401API key invalid / nonaktif
402Saldo credit tidak cukup
404Model tidak tersedia
429Terlalu banyak request (rate limit)
503Maintenance — cek halaman Status