Panduan API Infero.
Infero menyediakan satu endpoint OpenAI-compatible (dan jalur Anthropic) yang menyatukan banyak model frontier di balik satu API key. Cukup ganti base_url & api_key — kode yang sudah ada tetap jalan.
Quickstart
Tiga langkah untuk request pertama:
Buka menu API Keys, buat key baru. Simpan di tempat aman — key hanya tampil sekali.
Cek daftar Models atau GET /v1/models. Pakai ID bare dari respons — tanpa prefix provider.
Panggil endpoint di bawah dengan header Authorization.
curl https://api.infero.sbs/v1/chat/completions \
-H "Authorization: Bearer $INFERO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [
{"role": "user", "content": "Halo, siapa kamu?"}
]
}'# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://api.infero.sbs/v1",
api_key="YOUR_API_KEY",
)
resp = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Halo, siapa kamu?"}],
)
print(resp.choices[0].message.content)// npm i openai
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.infero.sbs/v1",
apiKey: process.env.INFERO_API_KEY,
});
const resp = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [{ role: "user", content: "Halo, siapa kamu?" }],
});
console.log(resp.choices[0].message.content);Autentikasi
Sertakan API key di setiap request lewat header Authorization:
Authorization: Bearer YOUR_API_KEY
Model
Ambil daftar model yang tersedia untuk akunmu:
curl https://api.infero.sbs/v1/models \ -H "Authorization: Bearer $INFERO_API_KEY"
Respons berisi array data[].id. Gunakan nilai id apa adanya sebagai field model di request. Nama model selalu bentuk bare (contoh: deepseek-v4.1-flash, gpt-6.1-sol, claude-opus-5-5) — jangan tambahkan prefix provider.
/v1/models atau halaman Models alih-alih meng-hardcode.Chat Completions
Endpoint utama. Body mengikuti spesifikasi OpenAI Chat Completions.
/v1/chat/completions| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
| model | string | ya | ID model bare dari /v1/models. |
| messages | array | ya | Daftar pesan {role, content}. Role: system, user, assistant. |
| stream | boolean | tidak | true untuk respons streaming (SSE). Default false. |
| max_tokens | integer | tidak | Batas token output. |
| temperature | number | tidak | 0–2. Default 1. |
| tools | array | tidak | Function/tool calling (OpenAI format). |
Contoh
curl https://api.infero.sbs/v1/chat/completions \
-H "Authorization: Bearer $INFERO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [
{"role": "user", "content": "Halo, siapa kamu?"}
]
}'
Streaming
Untuk respons bertahap (token demi token), set "stream": true. Server mengirim event text/event-stream diakhiri baris data: [DONE].
curl https://api.infero.sbs/v1/chat/completions \
-H "Authorization: Bearer $INFERO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Tulis puisi pendek"}],
"stream": true
}'
Anthropic Messages
Selain format OpenAI, tersedia jalur kompatibel Anthropic untuk klien yang memakai /v1/messages.
/v1/messagescurl https://api.infero.sbs/v1/messages \
-H "x-api-key: $INFERO_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Halo"}]
}'
Error & Status
| Status | Arti | Yang dilakukan |
|---|---|---|
| 200 | Sukses | — |
| 401 | Key tidak valid | Cek header Authorization & key aktif di menu API Keys. |
| 402 | Saldo habis | Isi paket token lewat Paket Token lalu konfirmasi di Chat Admin. |
| 404 | Endpoint / model salah | Cek URL dan ID model (/v1/models). |
| 429 | Rate limit | Beri jeda lalu ulangi; layanan upstream dapat membatasi request. |
| 5xx | Gangguan sementara | Ulangi beberapa saat lagi; hubungi Chat Admin jika berulang. |
Saldo & Token
Saldo token terpotong otomatis sesuai pemakaian setiap request. Angka di dashboard memakai satuan token tampilan.
- Total Token Terpakai = Token Input (tidak termasuk cache) + Token Cache + Token Output.
- Token Cache adalah bagian dari input yang dibaca dari cache (lebih murah) — bukan tambahan terpisah.
- Penggunaan Historis (Rp) = harga normal sebelum diskon, sebagai acuan nilai pemakaian.
Multiple & Konteks
Tiap model punya pengali (multiple) dan jendela konteks berbeda. Angka Token Terpakai di dashboard sudah memperhitungkan pengali tersebut, sehingga berbeda dari jumlah token mentah dari API.
- Model dengan multiple besar (mis. keluarga
claude-opus/gpt-6) memotong saldo lebih cepat per token. - Model dengan konteks besar menaikkan kurang-lebih multiple ketika prompt melampaui ambang konteks.
- Token cache tetap dihitung untuk akuntansi, namun dengan tarif baca lebih rendah.
FAQ
Apakah endpoint-nya benar-benar OpenAI-compatible?
Ya. Ganti base_url ke https://api.infero.sbs/v1 dan api_key ke key Infero — SDK OpenAI resmi (Python/Node) langsung bekerja.
Kenapa saya harus pakai ID model bare?
ID bare adalah nama publik model. Prefix provider (internal) tidak boleh dipakai dan akan ditolak; selalu ambil nama dari /v1/models.
Bagaimana cara mengecek sisa saldo?
Lihat menu Usage di console — saldo, pemakaian per model, dan aktivitas terbaru.
Apakah ada rate limit?
Tergantung model upstream. Bila menerima 429, ulangi dengan jeda; untuk asisten volume tinggi hubungi Chat Admin.