Dokumentasi
API AXI AI
API gateway berbasis kredit dengan antarmuka OpenAI-compatible. Cukup ganti base_url dan api_key; tidak perlu mengubah kode yang sudah ada.
Pengantar
AXI AI adalah API gateway yang menyediakan akses ke model AI terkurasi melalui satu endpoint yang kompatibel dengan format OpenAI. Setiap request dikonsumsi dalam satuan kredit berdasarkan jumlah token yang diproses, tanpa biaya langganan tetap atau komitmen minimum.
Tersedia tiga tier model dengan karakteristik berbeda pada kompresi konteks dan prioritas antrean. Semua tier menggunakan model dasar yang sama.
Base URL: https://api.axi.ai.id/v1
Autentikasi
Setiap request harus menyertakan API key dalam header Authorization dengan skema Bearer. API key dibuat di Console AXI AI setelah akun Anda aktif.
POST /v1/chat/completionsHost: api.axi.ai.idAuthorization: Bearer axi_live_xxxxxxxxxxxxContent-Type: application/jsonPenting
Model & Tier
Pilih tier berdasarkan kebutuhan kompresi konteks dan anggaran kredit.
| Model | Kompresi | Input | Output | Cache |
|---|---|---|---|---|
axi-lite | Agresif | 3,0 cr/1k | 6,0 cr/1k | 0,6 cr/1k |
axi-proPopuler | Konservatif | 4,5 cr/1k | 9,0 cr/1k | 0,9 cr/1k |
axi-premium | Tidak ada | 6,0 cr/1k | 12,0 cr/1k | 1,2 cr/1k |
cr = kredit · 1k = per 1.000 token · Cache = token cache hit (read)
Model Limits
Batas kapasitas model yang berlaku untuk semua tier AXI AI.
- Maximum Input Tokens
- 1.000.000 (1M)
- Maximum Output Tokens
- 384.000 (384k)
- Context Window
- 1.000.000 (1M)
- Maximum TPM
- 1.000.000 (1000k)
- Maximum QPM
- 60
TPM = Tokens Per Minute · QPM = Queries Per Minute · Limit berlaku per API key.
Endpoint
Endpoint utama untuk chat completion. Endpoint lain tersedia di bagian Embeddings dan Models.
https://api.axi.ai.id/v1/chat/completionsRequest body
{ "model": "axi-pro", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Jelaskan apa itu machine learning." } ], "max_tokens": 512, "temperature": 0.7}Response
{ "id": "chatcmpl-axi-xxxxxxxx", "object": "chat.completion", "created": 1750000000, "model": "axi-pro", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Machine learning adalah ..." }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 28, "completion_tokens": 120, "total_tokens": 148, "credits_charged": "0.42", "credits_remaining": "4832.58" }}credits_chargedKredit yang dikurangi untuk request ini (desimal).
credits_remainingSisa saldo kredit setelah request.
Streaming
Tambahkan "stream": true pada request body untuk menerima respons bertahap sebagai Server-Sent Events (SSE) dengan format yang sama seperti OpenAI. SDK OpenAI membaca aliran ini langsung.
curl -N https://api.axi.ai.id/v1/chat/completions \ -H "Authorization: Bearer $AXI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "axi-pro", "messages": [{"role": "user", "content": "Hello!"}], "stream": true }'Embeddings
Ubah teks menjadi vektor embedding dengan format request dan respons OpenAI Embeddings.
https://api.axi.ai.id/v1/embeddingsModel yang tersedia untuk embeddings dapat dilihat lewat GET /v1/models. Ganti ID_MODEL_EMBEDDING pada contoh berikut dengan id dari daftar tersebut.
curl https://api.axi.ai.id/v1/embeddings \ -H "Authorization: Bearer $AXI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "ID_MODEL_EMBEDDING", "input": "Teks yang ingin diubah menjadi vektor" }'Models
Ambil daftar model yang dapat Anda pakai dengan API key Anda. Respons mengikuti format daftar model OpenAI.
https://api.axi.ai.id/v1/modelscurl https://api.axi.ai.id/v1/models \ -H "Authorization: Bearer $AXI_API_KEY"Error
Saat request gagal, status HTTP menunjukkan jenis masalahnya dan isi respons mengikuti format error OpenAI; pesan yang bisa dibaca manusia ada pada error.message.
| Status | Arti | Tindakan |
|---|---|---|
401 | API key tidak valid atau sudah dicabut. | Periksa header Authorization. Buat key baru di Console bila key lama dicabut. |
402 | Saldo kredit tidak cukup (Payment Required). | Top-up kredit, lalu ulangi request. |
429 | Request melewati batas QPM (60) atau TPM (1.000.000) per API key. | Kurangi laju request lalu coba lagi beberapa saat kemudian. |
5xx | Terjadi gangguan di sisi server. | Coba lagi beberapa saat kemudian. |
Contoh Penggunaan
cURL
curl https://api.axi.ai.id/v1/chat/completions \ -H "Authorization: Bearer $AXI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "axi-pro", "messages": [{"role": "user", "content": "Hello!"}], "max_tokens": 256 }'Python (openai SDK)
from openai import OpenAI client = OpenAI( api_key="axi_live_xxxxxxxxxxxx", base_url="https://api.axi.ai.id/v1",) response = client.chat.completions.create( model="axi-pro", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Jelaskan konsep REST API."}, ], max_tokens=512,) print(response.choices[0].message.content)JavaScript / TypeScript
import OpenAI from "openai"; const client = new OpenAI({ apiKey: process.env.AXI_API_KEY, baseURL: "https://api.axi.ai.id/v1",}); const response = await client.chat.completions.create({ model: "axi-pro", messages: [ { role: "system", content: "You are a helpful assistant." }, { role: "user", content: "Jelaskan konsep REST API." }, ], max_tokens: 512,}); console.log(response.choices[0].message.content);Integrasi Tool
AXI AI kompatibel dengan semua tool yang mendukung OpenAI API. Pola konfigurasi umum: ganti base_url ke https://api.axi.ai.id/v1, isi api_key dengan API key AXI AI, dan set model ke axi-lite, axi-pro, atau axi-premium.
Codex CLI
npm install -g @openai/codex
Via file konfigurasi ~/.codex/config.yaml:
model: axi-proprovider: name: openai baseURL: https://api.axi.ai.id/v1 apiKey: axi_live_xxxxxxxxxxxxAtau langsung via environment variable:
export OPENAI_API_KEY="axi_live_xxxxxxxxxxxx"export OPENAI_BASE_URL="https://api.axi.ai.id/v1" codex "refactor this function to use async/await"OpenCode
npm install -g opencode-ai
Tambahkan provider di ~/.config/opencode/config.json atau opencode.json di root project:
{ "model": "openai/axi-pro", "providers": { "openai": { "name": "AXI AI", "apiKey": "axi_live_xxxxxxxxxxxx", "baseURL": "https://api.axi.ai.id/v1" } }}Aider
pip install aider-chat
Via flag saat menjalankan:
aider \ --model openai/axi-pro \ --openai-api-key $AXI_API_KEY \ --openai-api-base https://api.axi.ai.id/v1Atau simpan di .aider.conf.yml supaya tidak perlu diketik ulang:
model: openai/axi-proopenai-api-key: axi_live_xxxxxxxxxxxxopenai-api-base: https://api.axi.ai.id/v1Hermes, QwenCode, OpenClaw, dan tool lainnya
Semua tool yang mendukung endpoint OpenAI-compatible dapat dikonfigurasi dengan pola yang sama. Sebagian besar membaca dari environment variable standar:
export OPENAI_API_KEY="axi_live_xxxxxxxxxxxx"export OPENAI_BASE_URL="https://api.axi.ai.id/v1"export OPENAI_MODEL="axi-pro" # jika tool mendukungUntuk tool yang menggunakan file konfigurasi sendiri, cari opsi base_url, api_base, atau endpoint dan isi dengan URL di atas:
| Tool | Config key | Nilai |
|---|---|---|
| Hermes CLI | base_url / openai_base | https://api.axi.ai.id/v1 |
| QwenCode | OPENAI_BASE_URL | https://api.axi.ai.id/v1 |
| OpenClaw | provider.baseURL | https://api.axi.ai.id/v1 |
| Continue | apiBase (config.json) | https://api.axi.ai.id/v1 |
| Cline | openAiBaseUrl | https://api.axi.ai.id/v1 |
| LM Studio | Custom Endpoint URL | https://api.axi.ai.id/v1 |
Sistem Kredit
Kredit dikonsumsi per token yang diproses. Tidak ada biaya tetap; Anda hanya membayar yang dipakai.
Input token
Dihitung dari semua pesan yang dikirim (termasuk system prompt dan riwayat chat).
Output token
Dihitung dari teks yang dihasilkan model dalam satu response.
Cache hit
Token yang diambil dari cache provider, dengan tarif lebih hemat dari input reguler.
- Saldo kredit tidak kedaluwarsa; bebas digunakan kapan saja.
- Jika saldo tidak cukup, request akan ditolak dengan HTTP
402 Payment Required. - Top-up kredit tersedia di halaman paket. Ketentuan lengkap ada di Ketentuan Saldo.