AXIAI

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.

http
POST /v1/chat/completionsHost: api.axi.ai.idAuthorization: Bearer axi_live_xxxxxxxxxxxxContent-Type: application/json

Penting

Jangan expose API key di frontend atau repository publik. Selalu gunakan environment variable dan panggil AXI AI dari sisi server.

Model & Tier

Pilih tier berdasarkan kebutuhan kompresi konteks dan anggaran kredit.

Tarif per tier model
ModelKompresiInputOutputCache
axi-liteAgresif3,0 cr/1k6,0 cr/1k0,6 cr/1k
axi-proPopulerKonservatif4,5 cr/1k9,0 cr/1k0,9 cr/1k
axi-premiumTidak ada6,0 cr/1k12,0 cr/1k1,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.

POSThttps://api.axi.ai.id/v1/chat/completions

Request body

json
{  "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

json
{  "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_charged

Kredit yang dikurangi untuk request ini (desimal).

credits_remaining

Sisa 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.

bash
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.

POSThttps://api.axi.ai.id/v1/embeddings

Model yang tersedia untuk embeddings dapat dilihat lewat GET /v1/models. Ganti ID_MODEL_EMBEDDING pada contoh berikut dengan id dari daftar tersebut.

bash
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.

GEThttps://api.axi.ai.id/v1/models
bash
curl 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.

Kode status HTTP error
StatusArtiTindakan
401API key tidak valid atau sudah dicabut.Periksa header Authorization. Buat key baru di Console bila key lama dicabut.
402Saldo kredit tidak cukup (Payment Required).Top-up kredit, lalu ulangi request.
429Request melewati batas QPM (60) atau TPM (1.000.000) per API key.Kurangi laju request lalu coba lagi beberapa saat kemudian.
5xxTerjadi gangguan di sisi server.Coba lagi beberapa saat kemudian.

Contoh Penggunaan

cURL

bash
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)

python
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

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:

yaml
model: axi-proprovider:  name: openai  baseURL: https://api.axi.ai.id/v1  apiKey: axi_live_xxxxxxxxxxxx

Atau langsung via environment variable:

bash
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:

json
{  "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:

bash
aider \  --model openai/axi-pro \  --openai-api-key $AXI_API_KEY \  --openai-api-base https://api.axi.ai.id/v1

Atau simpan di .aider.conf.yml supaya tidak perlu diketik ulang:

yaml
model: openai/axi-proopenai-api-key: axi_live_xxxxxxxxxxxxopenai-api-base: https://api.axi.ai.id/v1

Hermes, 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:

bash
export OPENAI_API_KEY="axi_live_xxxxxxxxxxxx"export OPENAI_BASE_URL="https://api.axi.ai.id/v1"export OPENAI_MODEL="axi-pro"   # jika tool mendukung

Untuk tool yang menggunakan file konfigurasi sendiri, cari opsi base_url, api_base, atau endpoint dan isi dengan URL di atas:

Opsi base URL pada tool populer
ToolConfig keyNilai
Hermes CLIbase_url / openai_basehttps://api.axi.ai.id/v1
QwenCodeOPENAI_BASE_URLhttps://api.axi.ai.id/v1
OpenClawprovider.baseURLhttps://api.axi.ai.id/v1
ContinueapiBase (config.json)https://api.axi.ai.id/v1
ClineopenAiBaseUrlhttps://api.axi.ai.id/v1
LM StudioCustom Endpoint URLhttps://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.