Dokumentasi
API kompatibel OpenAI. Ganti base URL, selesai.
Base URL & autentikasi
| Base URL | https://api.yolahproxy.com/v1 |
| Header | Authorization: Bearer rbl_live_... |
| Format | OpenAI v1 |
Endpoint
| Method | Path | Untuk apa |
|---|---|---|
| GET | /v1/models | Daftar model |
| POST | /v1/chat/completions | Chat (streaming didukung) |
| POST | /v1/completions | Completion gaya lama |
| GET | /api/me | Sisa token kamu |
| GET | /api/me/usage | Riwayat request |
| GET | /api/me/usage/daily | Total harian |
| GET | /status | Status layanan |
Mulai cepat
Python — SDK OpenAI resmi:
from openai import OpenAI
client = OpenAI(
api_key="rbl_live_...",
base_url="https://api.yolahproxy.com/v1",
)
response = client.chat.completions.create(
model="Qwen3.6-35B",
messages=[{"role": "user", "content": "Halo"}],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta.content or "", end="")
cURL:
curl https://api.yolahproxy.com/v1/chat/completions \
-H "Authorization: Bearer rbl_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen3.6-35B",
"messages": [{"role": "user", "content": "Halo"}],
"max_tokens": 256,
"stream": true
}'
Node.js:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "rbl_live_...",
baseURL: "https://api.yolahproxy.com/v1",
});
const stream = await client.chat.completions.create({
model: "Qwen3.6-35B",
messages: [{ role: "user", content: "Halo" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
Cek sisa token
curl https://api.yolahproxy.com/api/me \
-H "Authorization: Bearer rbl_live_..."
Balasan:
{
"key_prefix": "rbl_live_abcd1234",
"tokens_remaining": 285714,
"tokens_held": 0
}
Riwayat: GET /api/me/usage?limit=20 · Harian: GET /api/me/usage/daily?days=30 · Di browser: /usage
Daftar model
| Model | Kategori | Context | Pengali |
|---|---|---|---|
| GLM-5.2 | Flagship | 128K | ×7 |
| Kimi-K3 | Flagship | 256K | ×15 |
| DeepSeek-V4-Pro | Flagship | 128K | ×5 |
| MiniMax-M3 | Flagship | 128K | ×4 |
| Qwen3-235B | Flagship | 33K | ×3 |
| Qwen3.6-35B | Serbaguna | 33K | ×1 |
| Gemma-4-31B | Serbaguna | 128K | ×1 |
| Mistral-Small-3.1 | Serbaguna | 33K | ×1 |
| GPT-OSS-120B | Serbaguna | 128K | ×1 |
| Qwen3-Coder-30B | Coding | 33K | ×1 |
| Qwen2.5-Coder-14B | Coding | 33K | ×1 |
| GLM-4.7-Flash | Reasoning | 128K | ×1 |
| GLM-4.7 | Reasoning | 128K | ×4 |
| Qwen3-VL-32B | Vision | 33K | ×1 |
| Qwen3.5-9B | Cepat & Hemat | 33K | ×1 |
| Phi-4 | Cepat & Hemat | 16K | ×1 |
| DeepSeek-V4-Flash | Context Besar | 128K | ×1 |
| Kimi-Linear-48B | Context Besar | 128K | ×1 |
Nama tidak sensitif huruf besar-kecil. Nama panjang Featherless (zai-org/GLM-5.2) juga diterima. Perbandingan lengkap ada di halaman model.
Cara penagihan
| Yang dihitung | token masuk + token keluar |
| Model flagship | dikali sesuai tanda ×N |
| Request gagal | tidak dipotong sama sekali |
| Masa berlaku | tidak ada |
Rumus: (token_masuk + token_keluar) × pengali. Contoh: request 1.000 token ke GLM-5.2 (×7) memotong 7.000 token. Lihat harga untuk pilihan nominal.
Kode error
| Kode | Arti | Solusi |
|---|---|---|
| 401 | Key salah atau dicabut | Cek kembali key kamu |
| 402 | Token habis | Top up |
| 404 | Model tidak ada | Cek daftar model |
| 429 | Terlalu banyak request | Kurangi kecepatan, coba lagi |
| 503 | Server penuh atau model sibuk | Coba lagi beberapa detik |
Tips
| Pakai stream: true | Paling stabil untuk chat panjang dan agent |
| Set timeout klien 300–600 detik | Model besar butuh waktu memuat saat pertama dipakai |
| Selalu isi max_tokens | Tanpa itu, token ditahan sebesar batas maksimum model |
| Pantau /api/me | Agar agent berhenti sebelum kehabisan token |
| Jangan sebar key | Siapa pun yang punya key bisa menghabiskan token kamu |