Dokumentasi Slave Ai

Gateway API yang kompatibel dengan OpenAI dan Anthropic SDK. Cukup ganti base URL, dan semua model AI premium bisa diakses dengan harga jauh lebih murah.

Quick Start

Mulai menggunakan Slave Ai dalam 3 langkah:

  1. Daftar akun — Daftar gratis dengan Google. Tidak perlu kartu kredit.
  2. Top up saldo — Buka halaman Top Up, masukkan nominal minimal $1, lalu bayar otomatis melalui QRIS atau transfer bank di Mayar. Sistem memeriksa pembayaran dan menambahkan saldo secara otomatis setelah transaksi berstatus lunas.
  3. Buat API key — Generate key di halaman API Keys dashboard. Copy key tersebut — hanya muncul sekali.

Setelah punya API key, tinggal ganti base_url di kode Anda:

Python · OpenAI SDK
from openai import OpenAI

client = OpenAI(
    base_url="https://slaveai.my.id/v1",
    api_key="sk-slave-..."
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Halo!"}]
)
print(response.choices[0].message.content)
✅ Selesai! Anda sudah bisa menggunakan semua model yang tersedia. Ganti parameter model dengan model ID mana pun yang didukung.

Autentikasi

Setiap request membutuhkan API key yang dikirim sebagai header. Dua format berikut sama-sama diterima di semua endpoint:

Kedua format berlaku di semua endpoint
# Format 1: Bearer Token (OpenAI style)
Authorization: Bearer sk-slave-...

# Format 2: x-api-key (Anthropic style)
x-api-key: sk-slave-...
⚠️ Keamanan Key: API key Anda adalah rahasia. Jangan pernah commit key ke repository publik, kirim via URL, atau tampilkan di frontend. Jika key bocor, revoke lewat halaman API Keys dashboard.

Endpoint & Base URL

Slave Ai menyediakan tiga endpoint yang kompatibel dengan SDK populer:

Endpoint Kompatibel dengan Base URL
/v1/chat/completions OpenAI SDK, Cursor, Cline, OpenCode https://slaveai.my.id
/v1/messages Anthropic SDK, Claude Code https://slaveai.my.id
/v1/responses OpenAI Responses API (Codex) https://slaveai.my.id
💡 Catatan: Untuk SDK, gunakan https://slaveai.my.id/v1 sebagai base_url. Untuk Claude Code CLI, gunakan root URL https://slaveai.my.id (tanpa /v1).

Model

Berikut adalah model yang tersedia. Gunakan model ID (kolom kiri) di parameter model request Anda. Lihat harga lengkap di halaman model.

Model ID Provider Status Explore
claude-fable-5AnthropicAktifGo to Official →
claude-opus-5AnthropicAktifGo to Official →
claude-sonnet-5AnthropicAktifGo to Official →
deepseek-chatDeepSeekAktifGo to Official →
deepseek-reasonerDeepSeekAktifGo to Official →
deepseek-v4-flashDeepSeekAktifGo to Official →
deepseek-v4-proDeepSeekAktifGo to Official →
gemini-2.5-flashGoogleAktifGo to Official →
gemini-2.5-proGoogleAktifGo to Official →
gpt-5.6-lunaOpenAIAktifGo to Official →
gpt-5.6-solOpenAIAktifGo to Official →
gpt-5.6-teraOpenAIAktifGo to Official →
kimi-k2MoonshotAktifGo to Official →
kimi-k2.5MoonshotAktifGo to Official →
kimi-k3MoonshotAktifGo to Official →

Parameter Request

Slave Ai adalah proxy transparan: kirim body native sesuai endpoint yang Anda gunakan. Berikut field umum yang tersedia:

Field API Deskripsi
modelbothModel ID dari tabel di atas. Wajib.
messagesbothArray pesan (role + content). Wajib untuk chat.
max_tokensAnthropicMaksimum token output. Wajib di /v1/messages.
max_completion_tokensOpenAIMaksimum token output (GPT). Opsional.
streambothtrue = SSE stream. Default false.
systemAnthropicSystem prompt (string atau array of blocks).
temperaturebothSampling temperature. Diabaikan untuk model thinking.
top_pbothNucleus sampling.
toolsbothDefinisi function/tool — lihat Tool Calling.
reasoning_effortOpenAIDepth thinking: none · low · medium · high · xhigh.
inputResponsesInput untuk /v1/responses (string atau item array).

Response Shape

Response yang Anda terima adalah bentuk native dari endpoint yang dipanggil. Contoh non-streaming via /v1/chat/completions:

200 OK · /v1/chat/completions
{
  "id": "chatcmpl-9a8b...",
  "object": "chat.completion",
  "model": "deepseek-v4-flash",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Halo! Ada yang bisa saya bantu?"
    }
  }],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 10,
    "total_tokens": 22
  }
}

Response /v1/messages (Anthropic) mengembalikan format Anthropic native. Response /v1/responses mengembalikan format Responses API. Model ID yang muncul di response adalah model yang Anda request — bukan alias internal.

Streaming (SSE)

Aktifkan streaming dengan set stream: true di body request. Anda akan menerima Server-Sent Events (SSE):

Streaming Request · cURL
curl https://slaveai.my.id/v1/chat/completions \
  -H "Authorization: Bearer sk-slave-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Streaming haiku"}],
    "stream": true
  }'

Untuk /v1/messages (Anthropic), stream mengirimkan event content_block_delta dan message_stop. Untuk /v1/chat/completions (OpenAI), stream mengirimkan data: ... chunks dengan choices[0].delta. Gateway Slave Ai menerjemahkan secara transparan — klien Anthropic yang streaming model GPT tetap menerima event Anthropic.

💡 Tips: Jika Anda menggunakan SDK, cukup set parameter stream=True (Python) atau stream: true (JS). SDK otomatis menangani parsing SSE.

Tool / Function Calling

Slave Ai meneruskan parameter tools dan tool_choice pada endpoint yang mendukungnya. Hasil bergantung pada kemampuan model dan upstream. Contoh OpenAI-style:

Tools · /v1/chat/completions
{
  "model": "claude-sonnet-5",
  "messages": [{"role": "user", "content": "Cuaca di Jakarta?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Dapatkan cuaca terkini untuk suatu kota",
      "parameters": {
        "type": "object",
        "properties": {
          "city": {"type": "string"}
        },
        "required": ["city"]
      }
    }
  }]
}

Untuk Anthropic endpoint /v1/messages, gunakan format tools Anthropic (field input_schema). Gateway akan menerjemahkan ke format yang dimengerti model tujuan.

Vision (Images)

Input gambar tersedia pada model yang mendukung vision. Kemampuan dapat berbeda per model; lakukan tes pada model tujuan sebelum dipakai di produksi. Untuk OpenAI SDK, kirim image_url:

Vision · OpenAI SDK
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Apa isi gambar ini?"},
            {"type": "image_url", "image_url": {"url": "https://..."}}
        ]
    }]
)

Untuk Anthropic SDK, kirim sebagai image block dengan source base64:

Vision · Anthropic SDK
response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "image", "source": {
                "type": "base64",
                "media_type": "image/png",
                "data": "<BASE64>"
            }},
            {"type": "text", "text": "Apa isi gambar ini?"}
        ]
    }]
)

Reasoning Effort

Kontrol seberapa dalam model "berpikir" sebelum menjawab. Semakin tinggi effort, semakin banyak token reasoning yang dihasilkan — dan semakin dalam analisisnya.

Model Field Nilai
GPT-5.6 Solreasoning_effortnone · low · medium · high · xhigh
Claude Opus 5output_config.effortlow · medium · high · xhigh · max
Reasoning Effort · GPT-5.6 Sol
{
  "model": "gpt-5.6-sol",
  "reasoning_effort": "high",
  "messages": [{"role": "user", "content": "Buktikan ada tak terhingga bilangan prima"}]
}

Kode Error

Kode Arti Solusi
400Bad request / JSON tidak validPeriksa body request dan field wajib.
401API key tidak valid atau tidak dikirimVerifikasi key di dashboard. Pastikan header Authorization terisi.
402Saldo tidak mencukupiTop up saldo via dashboard.
403Akun suspended / model tidak diizinkanHubungi admin atau periksa allowed models key Anda.
404Endpoint tidak ditemukanPeriksa base URL. Claude Code = root; SDK = /v1.
413Body terlalu besar (>10 MB)Kurangi konteks atau attachment.
429Rate limit exceededIkuti header Retry-After dan kurangi concurrency.
500Internal server errorCoba lagi. Jika berlanjut, hubungi admin.
502/503Upstream hiccupAuto-retry. Coba lagi dalam beberapa saat.

Rate Limits & Billing

Rate Limits

Jika terkena limit, Anda akan menerima response 429 dengan pesan Rate limit exceeded dan header Retry-After. Klien harus menunggu sesuai nilai tersebut sebelum mencoba kembali.

Billing

Slave Ai menggunakan sistem pay-as-you-go. Tidak ada biaya bulanan atau komitmen. Cukup top up saldo dan gunakan sesuai kebutuhan.

💡 Hemat: Gunakan model yang lebih kecil (seperti deepseek-v4-flash atau gpt-5.6-luna) untuk tugas sederhana. Simpan model flagship untuk tugas yang benar-benar membutuhkan reasoning dalam.

Client Setup

Panduan konfigurasi untuk berbagai tools dan SDK. Pada dasarnya sama: ganti base URL dan API key.

Claude Code Anthropic native

Claude Code CLI dan VS Code extension. Gunakan root URL (tanpa /v1):

Environment Variables
export ANTHROPIC_BASE_URL=https://slaveai.my.id
export ANTHROPIC_AUTH_TOKEN=sk-slave-...
export ANTHROPIC_MODEL=claude-sonnet-5

Untuk VS Code, tambahkan ke settings.json:

VS Code User Settings.json
{
  "claudeCode.disableLoginPrompt": true,
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://slaveai.my.id" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-slave-..." },
    { "name": "ANTHROPIC_MODEL", "value": "claude-sonnet-5" }
  ]
}

OpenAI SDK OpenAI compatible

Python · OpenAI SDK
from openai import OpenAI

client = OpenAI(
    base_url="https://slaveai.my.id/v1",
    api_key="sk-slave-..."
)
Node.js · OpenAI SDK
import OpenAI from "openai";
const client = new OpenAI({
  baseURL: "https://slaveai.my.id/v1",
  apiKey: "sk-slave-..."
});

Anthropic SDK Anthropic native

Python · Anthropic SDK
from anthropic import Anthropic

client = Anthropic(
    base_url="https://slaveai.my.id/v1",
    api_key="sk-slave-..."
)

Cursor OpenAI compatible

Tambahkan OpenAI-compatible custom provider di Settings → Models:

9Router advanced

Self-hosted LLM router. Tambahkan Slave Ai sebagai custom provider:

9Router akan mengekspos model sebagai slave/MODEL_ID.

LiteLLM OpenAI compatible

config.yaml
# litellm config.yaml
model_list:
  - model_name: deepseek-v4-flash
    litellm_params:
      model: openai/slave-deepseek-v4-flash
      api_base: https://slaveai.my.id/v1
      api_key: sk-slave-...
  - model_name: claude-sonnet-5
    litellm_params:
      model: openai/slave-claude-sonnet-5
      api_base: https://slaveai.my.id/v1
      api_key: sk-slave-...

cURL raw HTTP

Model ID yang sama berlaku di kedua endpoint:

OpenAI · /v1/chat/completions
curl https://slaveai.my.id/v1/chat/completions \
  -H "Authorization: Bearer sk-slave-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Halo!"}]
  }'
Anthropic · /v1/messages
curl https://slaveai.my.id/v1/messages \
  -H "x-api-key: sk-slave-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Halo!"}]
  }'

FAQ

Apakah data saya aman?

Request API biasa dicatat sebagai metadata pemakaian tanpa menyimpan isi percakapan. Percakapan Playground disimpan sementara untuk riwayat sesi dan otomatis dihapus setelah 24 jam. API key di-hash sebelum disimpan.

Model apa yang tersedia?

Lihat daftar lengkap di halaman model. Kami terus menambah model baru secara berkala.

Bagaimana cara top up?

Login ke dashboard, buka halaman Top Up, masukkan nominal minimal $1 dan referensi transaksi. Admin akan memverifikasi sebelum saldo ditambahkan.

Apakah ada batas pemakaian?

Tidak ada batas pemakaian. Gunakan sesuai kebutuhan.

Bisa ganti model di tengah percakapan?

Tidak. Setiap request adalah independen. Ganti parameter model di request berikutnya.

Ada yang tidak berfungsi?

Hubungi admin melalui kanal dukungan yang diberikan saat onboarding. Sertakan waktu kejadian, model, dan request ID tanpa membagikan API key.