API Documentation
Quick Start
Smart API Gateway menggunakan format OpenAI-compatible. Anda hanya perlu mengganti base_url dan api_key.
OpenCode Setup
Gunakan API key ai.ipeenk.com di OpenCode melalui provider OpenAI-compatible. API key tetap berada di environment variable dan tidak perlu ditulis langsung di konfigurasi project.
1. Set API key
Linux/macOS:
export IPEENK_API_KEY="Ipeenk-xxx"Windows PowerShell:
$env:IPEENK_API_KEY = "Ipeenk-xxx"Ganti Ipeenk-xxx dengan API key Anda. Jangan commit API key ke Git atau membagikannya di chat/log.
2. Buat opencode.json
Simpan file berikut di root project Anda. Model ID harus sama persis dengan ID yang dikembalikan endpoint /v1/models untuk API key Anda.
{
"$schema": "https://opencode.ai/config.json",
"model": "ipeenk/<model-id>",
"provider": {
"ipeenk": {
"npm": "@ai-sdk/openai-compatible",
"name": "ai.ipeenk.com",
"options": {
"baseURL": "https://ai.ipeenk.com/v1",
"apiKey": "{env:IPEENK_API_KEY}"
},
"models": {
"<model-id>": {
"name": "ai.ipeenk model"
}
}
}
}
}3. Cari model ID
curl https://ai.ipeenk.com/v1/models -H "Authorization: Bearer $IPEENK_API_KEY"Ambil nilai data[].id, lalu ganti <model-id> di dua tempat pada opencode.json. Smart API key dapat membatasi model yang terlihat, jadi gunakan ID yang muncul untuk key tersebut.
4. Jalankan OpenCode
opencode
# Di dalam TUI, pilih model:
/models
# Atau jalankan langsung:
opencode run --model ipeenk/<model-id> "Review this repository"Endpoint: https://ai.ipeenk.com/v1. OpenCode menggunakan endpoint /chat/completions secara otomatis melalui provider OpenAI-compatible.
Cursor Setup
Referensi resmi: Cursor Docs. Cursor versi tertentu menyediakan pengaturan OpenAI API Key dan Override OpenAI Base URL di Settings → Models.
- Masuk ke Cursor Settings → Models.
- Isi OpenAI API Key dengan API key ai.ipeenk.com.
- Jika tersedia, aktifkan Override OpenAI Base URL dan isi
https://ai.ipeenk.com/v1. - Pilih model yang sama dengan ID dari
GET /v1/models, lalu lakukan test chat.
Catatan: Jika versi Cursor Anda tidak memiliki field Override Base URL, Cursor native tidak dapat diarahkan ke endpoint custom. Gunakan extension OpenAI-compatible di VS Code/Cursor atau OpenCode.
Claude Code Setup
Referensi resmi: Claude Code Docs. ai.ipeenk.com menyediakan endpoint Anthropic-compatible /v1/messages.
Linux/macOS:
export ANTHROPIC_BASE_URL="https://ai.ipeenk.com"
export ANTHROPIC_API_KEY="Ipeenk-xxx"
claudeWindows PowerShell:
$env:ANTHROPIC_BASE_URL = "https://ai.ipeenk.com"
$env:ANTHROPIC_API_KEY = "Ipeenk-xxx"
claudeGunakan base URL tanpa akhiran /v1 karena Claude Code menambahkan path Messages API-nya sendiri. Jika build Claude Code Anda menggunakan nama env token, gunakan ANTHROPIC_AUTH_TOKEN sebagai pengganti ANTHROPIC_API_KEY.
VS Code Extensions Setup
VS Code tidak memiliki satu format provider untuk semua extension. Gunakan extension yang mendukung OpenAI-compatible, misalnya Continue atau Cline, lalu isi base URL dan API key berikut pada pengaturan extension.
Provider type: OpenAI-compatible
Base URL: https://ai.ipeenk.com/v1
API key: Ipeenk-xxx
Model: <model-id-from-/v1/models>Pada extension yang memakai konfigurasi JSON/YAML, nama field biasanya apiBase/baseURL dan apiKey. Ikuti label extension yang terpasang; jangan menambahkan /chat/completions ke Base URL.
Codex CLI Setup
Referensi resmi: Codex CLI Docs. Simpan API key sebagai environment variable dan tambahkan provider custom pada ~/.codex/config.toml.
# Linux/macOS
export IPEENK_API_KEY="Ipeenk-xxx"
# ~/.codex/config.toml
model_provider = "ipeenk"
model = "<model-id>"
[model_providers.ipeenk]
name = "ai.ipeenk.com"
base_url = "https://ai.ipeenk.com/v1"
env_key = "IPEENK_API_KEY"Untuk Windows, set $env:IPEENK_API_KEY di PowerShell. Jika versi Codex Anda memakai nama field provider yang berbeda, jalankan codex --help dan pertahankan nilai base URL yang sama.
OpenClaw Setup
Referensi resmi: OpenClaw CLI Docs. Tambahkan provider OpenAI-compatible pada konfigurasi OpenClaw Anda.
export IPEENK_API_KEY="Ipeenk-xxx"
# Contoh provider OpenAI-compatible (JSON5)
{
"models": {
"providers": {
"ipeenk": {
"baseUrl": "https://ai.ipeenk.com/v1",
"apiKey": "${IPEENK_API_KEY}",
"models": [
{ "id": "<model-id>", "name": "ai.ipeenk model" }
]
}
}
}
}Letak konfigurasi dapat berbeda menurut versi OpenClaw. Jika versi Anda memakai models.providers atau SecretRef environment, pertahankan provider ID, base URL https://ai.ipeenk.com/v1, dan model ID dari endpoint /v1/models.
Authentication
Semua request harus menyertakan API key di header Authorization dengan format Bearer token.
Dapatkan API key Anda di Dashboard → API Keys.
Chat Completions
Buat chat completion dengan mengirimkan daftar messages.
Anthropic Compatible
API ini mendukung format Anthropic Messages API melalui endpoint /v1/messages. Gunakan format ini untuk integrasi dengan SDK Anthropic atau client yang kompatibel.
Authentication
Anthropic API menggunakan header x-api-key. Anda juga bisa menggunakan format Bearer token standar.
Example Request
Streaming (SSE)
Set "stream": true untuk mendapatkan Server-Sent Events. Events yang dikirim:
message_start — awal pesancontent_block_start — awal content blockcontent_block_delta — token streamingcontent_block_stop — akhir content blockmessage_delta — stop reason & usagemessage_stop — akhir pesanNote: Field system ditempatkan di top-level (di luar array messages), sesuai format Anthropic. API akan otomatis mengkonversi ke format OpenAI internally.
Available Models
| Model Name | Provider | Context | Input/1K | Output/1K |
|---|---|---|---|---|
| glm-4-plus | Zhipu | 128K | $0.50 | $0.50 |
| glm-4-flash | Zhipu | 128K | $0.10 | $0.10 |
| kimi-k2 | Moonshot | 128K | $0.60 | $0.60 |
| gpt-4o | OpenAI | 128K | $2.50 | $10.00 |
| gpt-4o-mini | OpenAI | 128K | $0.15 | $0.60 |
| deepseek-chat | DeepSeek | 64K | $0.14 | $0.28 |
| qwen-plus | Alibaba | 128K | $0.40 | $0.40 |
Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 402 | Payment Required - Insufficient balance |
| 403 | Forbidden - Model not allowed / Key restriction (Model Tidak Masuk Paket / Pembatasan Key) |
| 404 | Not Found - Model not available |
| 429 | Rate Limited - Too many requests / Quota exhausted |
| 500 | Server Error - Internal server error |
| 503 | Service Unavailable - Upstream provider error / Kapasitas penuh (Service at capacity) |
Code Examples
Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://ai.ipeenk.com/v1",
api_key="Ipeenk-xxx"
)
response = client.chat.completions.create(
model="glm-4-flash",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)JavaScript (fetch)
const response = await fetch(
"https://ai.ipeenk.com/v1/chat/completions",
{
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "kimi-k2",
messages: [{"role": "user", "content": "Hello!"}],
}),
}
);
const data = await response.json();
console.log(data.choices[0].message.content);cURL
curl https://ai.ipeenk.com/v1/chat/completions \
-H "Authorization: Bearer Ipeenk-xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-4-flash",
"messages": [{"role": "user", "content": "Hello!"}]
}'