MULAI DENGAN
SATU REQUEST.
Satu endpoint. API key milikmu.
Buat key, isi saldo, lalu pilih model aktif dari katalog.
https://api.eclyzer.site/v1from openai import OpenAI
client = OpenAI(base_url="https://api.eclyzer.site/v1", api_key="sk-eclyzer-...")
reply = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Halo!"}],
max_tokens=512,
)
print(reply.choices[0].message.content)Model di contoh bukan janji ketersediaan. Gunakan model aktif di katalog.
Format yang didukung
| Endpoint | Format | Autentikasi |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Authorization: Bearer KEY |
POST /v1/messages | Anthropic Messages | x-api-key atau Bearer |
POST /v1/responses | OpenAI Responses | Authorization: Bearer KEY |
POST /v1/messages/count_tokens | Estimasi token untuk client | x-api-key atau Bearer |
Streaming dan tool calling diterjemahkan oleh 9Router di server. Dukungan gambar, reasoning, dan fitur model mengikuti provider. Request OpenAI diteruskan dengan parameter tambahan dari client.
Responses memakai percakapan stateless: kirim riwayat lengkap dalam input. previous_response_id, background jobs, WebSocket, dan penyimpanan response server belum tersedia.
Claude Code langsung ke Eclyzer
Gunakan URL domain sebagai base Anthropic. Client menambahkan path /v1/messages. Tidak perlu 9Router di PC.
# PowerShell: berlaku pada sesi terminal ini
$env:ANTHROPIC_BASE_URL = "https://api.eclyzer.site"
$env:ANTHROPIC_AUTH_TOKEN = "sk-eclyzer-..."
claude --model deepseek-v4.1-flashKey dan model harus aktif. Pilih model yang mendukung tool calling. Jika aplikasi sudah memiliki konfigurasi endpoint lain, sesuaikan pengaturannya sebelum mulai sesi baru.
Streaming
Kirim stream: true. Event mengikuti format endpoint yang dipakai. Error setelah header terkirim muncul sebagai event error. Simpan x-request-id untuk penelusuran.
for chunk in client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role":"user", "content":"Halo"}],
max_tokens=512, stream=True,
):
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")Credit & pembayaran
Rp10.000 = 100 Credits. Top-up QRIS masuk setelah persetujuan manual admin. Harga input dan output tersedia di katalog dalam Credits per 1M token.
Sebagian saldo direservasi berdasarkan perkiraan input dan batas output. Tagihan akhir mengutamakan token asli dari provider; sisa reservation dilepas. Website menampilkan dua desimal, sementara perhitungan tetap presisi.
Request gagal dari provider, timeout, atau stream rusak tidak ditagih. Jika pengguna membatalkan request, hanya usage provider yang sudah terverifikasi yang dapat ditagih. Usage provider yang hilang ditampilkan sebagai estimasi teks/tool jika tersedia, dan tidak ditagih.
Batas output default 4.096 token jika tidak diberikan; maksimum 131.072 per completion. Payload maksimum 1 MB, 60 request/menit/key dan 120/menit/user, batas waktu maksimal 250 detik. Tidak ada retry otomatis yang bisa menimbulkan tagihan berulang.
Akun & error
GET /v1/models menampilkan model aktif; GET /v1/credits menampilkan saldo; GET /v1/usage?page=1 menampilkan riwayat milik pengguna. Semua memerlukan API key.
| HTTP | Arti |
|---|---|
| 400 | Format atau fitur ditolak |
| 401 / 403 | Key tidak valid atau akun dinonaktifkan |
| 402 | Saldo tidak cukup untuk reservation |
| 404 | Model tidak tersedia |
| 429 | Batas request tercapai |
| 502 / 503 / 504 | Provider gagal, tidak tersedia, atau timeout; saldo tidak dipotong |
Saat meminta bantuan, kirim request ID dan pesan error. Jangan mengirim API key atau password.