DOKUMENTASI

Mulai pakai AiTokenku

API kami mengikuti format OpenAI. Kalau aplikasimu sudah bisa bicara dengan OpenAI, cukup ganti base URL dan API key.

1. Buat API key

Masuk ke dashboard, buka menu API Keys, lalu klik Buat Key. Key hanya ditampilkan sekali — simpan di tempat aman.

2. Base URL

https://api.aitokenku.com/v1

3. OpenAI SDK (TypeScript)

import OpenAI from "openai";

const ai = new OpenAI({
  baseURL: "https://api.aitokenku.com/v1",
  apiKey: process.env.AITOKENKU_KEY,
});

const res = await ai.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [{ role: "user", content: "Jelaskan closure di JavaScript" }],
});

console.log(res.choices[0].message.content);

4. Python

from openai import OpenAI

ai = OpenAI(
    base_url="https://api.aitokenku.com/v1",
    api_key=os.environ["AITOKENKU_KEY"],
)

res = ai.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Halo"}],
)

5. curl

curl https://api.aitokenku.com/v1/chat/completions \
  -H "Authorization: Bearer $AITOKENKU_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role":"user","content":"Halo"}],
    "stream": true
  }'

6. Coding tool

Cursor, Cline, Continue, Aider, OpenCode, dan Claude Code semuanya menerima base URL kustom. Isi kolom base URL dengan https://api.aitokenku.com/v1 dan API key dengan key AiTokenku milikmu.

Endpoint yang tersedia

  • POST /v1/chat/completions — format chat OpenAI, mendukung streaming.
  • POST /v1/responses — format Responses API.
  • POST /v1/messages — format Anthropic Messages.
  • GET /v1/models — daftar model aktif beserta harganya.

Mode thinking & penalaran

Model dengan kemampuan thinking mendukung parameter standar OpenAI reasoning_effort (serta thinking_level untuk kompatibilitas mundur) — berlaku di /v1/chat/completions, /v1/responses, dan /v1/messages:

{
  "model": "$MODEL_ID",
  "messages": [{"role":"user","content":"Buktikan teorema Pythagoras"}],
  "reasoning_effort": "medium"
}
  • reasoning_effort (standar OpenAI) — low, medium, high, atau none.
  • thinking_level (kompatibilitas mundur) — low, medium, high, atau none.
  • thinking_budget_tokens — angka pasti, mis. 4000. Menang atas reasoning_effort/thinking_level bila keduanya diisi.

Gateway menerima parameter standar reasoning_effort di seluruh model thinking dan menerjemahkannya ke dialek masing-masing penyedia: native reasoning_effort untuk model OpenAI (budget dipetakan ke level terdekat: ≤2048 low, ≤8192 medium, selebihnya high), dan menjadi thinking.budget_tokens untuk model Anthropic (1024, 4096, 16384 untuk low/medium/high; minimal 1024). Parameter native yang dikirim langsung — mis. reasoning atau thinking — selalu menang dan tidak pernah ditimpa. Di luar kedua penyedia itu, parameter standar diteruskan apa adanya. Cek GET /v1/models: field thinking_control menandai model yang diterjemahkan, dan capabilities menandai yang bisa thinking.

Token thinking ditagih dengan tarif output dan ikut dihitung dalam saldo yang ditahan — pemikir berat menahan estimasi lebih besar, tetap dalam batas yang sama. Nilai yang tidak valid (mis. level selain empat di atas) ditolak dengan 400 sebelum saldo ditahan.

Saldo Rupiah dan token model

Saldo, tarif, dan biaya pemakaian ditampilkan dalam Rupiah. Catatan penagihan memakai bilangan bulat mikro-Rupiah (1 Rp = 1.000.000 µRp), sehingga biaya kecil tetap presisi. Satuan nilai uang API tidak berubah. Token input, output, dan cache adalah token asli provider, terpisah dari saldo prabayar.

Untuk nominal kustom Rp50.000 dengan bonus Rp5.000, total saldo masuk adalah Rp55.000. Rincian paket dan invoice menjadi acuan resmi. Masa berlaku saldo, termasuk ketentuan khusus paket yang disimpan saat pembelian, tetap berlaku.

Estimasi kalkulator biaya

Kalkulator memakai snapshot tarif saat ini yang memperhitungkan promosi aktif. Estimasi mencakup input tanpa cache, output, dan cache-read; biaya tiap kategori dibulatkan ke bawah ke µRp sebelum dijumlahkan dan ditampilkan dalam Rupiah. Biaya cache-write ditagih terpisah dengan tarif input. Hasilnya bukan jaminan biaya atau jumlah request: token aktual, tarif, promosi, saldo yang ditahan, dan batas layanan dapat memengaruhi pemakaian. Tidak ada jaminan estimasi ditampilkan sebelum setiap request.

Cara penagihan bekerja

Saat request masuk, sistem menahan estimasi biaya dari saldo. Saldo tersedia sudah dikurangi nilai yang sedang ditahan. Setelah pemakaian selesai dihitung, tahanan dilepas dan biaya aktual diselesaikan memakai tarif yang dicatat untuk request tersebut. Biaya historis tidak dihitung ulang memakai tarif terbaru.

Batas penggunaan

Batas standar adalah 30 request per menit dengan 2 request berjalan bersamaan. Jika terlampaui, API mengembalikan status 429 beserta header Retry-After (detik) dan x-ratelimit-*, sehingga SDK OpenAI resmi otomatis menunggu dengan tepat sebelum mencoba lagi. Hubungi kami bila butuh kuota lebih tinggi.

Endpoint yang didukung

  • POST /v1/chat/completions dan POST /v1/responses — format OpenAI.
  • POST /v1/messages — format Anthropic.
  • POST /v1/embeddings — ditagih token input saja.
  • GET /v1/models — katalog beserta harga per 1M token.

ID permintaan

Setiap respons membawa header x-request-id. Sertakan nilai itu saat melapor ke kami: satu ID yang sama menghubungkan log gateway dan mutasi saldo untuk request tersebut.

Kode error

  • 401 — API key tidak ada atau tidak valid.
  • 402 — saldo tidak cukup untuk request ini.
  • 429 — melewati batas request per menit, concurrency, batas bulanan key, atau kuota model di hulu. Lihat Retry-After.
  • 502 / 503 — gangguan pada penyedia model di sisi hulu.
Dokumentasi — AiTokenku