OpenAI-compatible Versi API v1

Dokumentasi

Satu endpoint chat yang kompatibel dengan SDK populer, tarif rupiah per token, dan saldo prabayar via QRIS.

Yang perlu tahu lebih dulu

Base URL: https://tokenrouter.ai.id/v1. Endpoint OpenAI-compatible ada di /chat/completions, versi Anthropic di /messages, dan daftar model di /models. Kirim key lewat Authorization: Bearer <api-key> atau x-api-key: <api-key>.

Mulai cepat

Tiga langkah dari nol ke request pertama.

01

Buat API key

Buka halaman API key (login dulu di /masuk), lalu buat key baru. Key lengkap hanya tampil sekali.

02

Ganti base URL

Pakai https://tokenrouter.ai.id/v1 di SDK atau HTTP client yang sudah kamu pakai.

03

Pilih model

Isi deepseek/deepseek-v4.1-flash pada field model, lalu kirim pesan pertama.

curl https://tokenrouter.ai.id/v1/chat/completions \
  -H "Authorization: Bearer $TOKENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4.1-flash",
    "messages": [
      {"role": "user", "content": "Halo, kenalkan dirimu."}
    ],
    "stream": true
  }'

Autentikasi

Setiap request wajib membawa API key di header Authorization.

Format key: tr- diikuti 48 karakter hex. Key disimpan sebagai hash SHA-256 di server, jadi simpan salinannya saat dibuat. Jangan menaruh key di kode client-side atau repositori publik.

Authorization: Bearer tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

# alternatif
x-api-key: tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Key bisa dibuat terpisah per aplikasi dan dicabut kapan saja dari halaman API key. Saldo dan pemakaian dihitung per akun.

Chat completions

POST https://tokenrouter.ai.id/v1/chat/completions

Parameter

FieldTipeWajibKeterangan
modelstringYaID model, contoh deepseek/deepseek-v4.1-flash.
messagesarrayYaDaftar pesan role + content.
streambooleanTidaktrue untuk SSE token bertahap.
temperaturenumberTidak0 sampai 2. Default 0,7.
max_tokensintegerTidak16 sampai 2048. Default 900.
systemstringTidakSystem prompt singkat.

Contoh response

{
  "id": "chatcmpl_9f2c...",
  "object": "chat.completion",
  "model": "deepseek/deepseek-v4.1-flash",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Halo! Aku DeepSeek V4.1 Flash..."
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 18,
    "completion_tokens": 14,
    "total_tokens": 32
  }
}

Streaming

Dengan stream: true, respons dikirim sebagai text/event-stream. Tiap baris berisi data: {json} dan diakhiri data: [DONE]. Chunk terakhir membawa objek usage berisi jumlah token.

Messages (Anthropic)

POST https://tokenrouter.ai.id/v1/messages

Kalau kamu memakai SDK Anthropic, arahkan base URL ke https://tokenrouter.ai.id/v1 dan kirim key lewat x-api-key atau Authorization: Bearer. Request dan respons mengikuti bentuk Messages API, termasuk system, max_tokens, dan stream: true.

curl https://tokenrouter.ai.id/v1/messages \
  -H "x-api-key: tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4.1-flash",
    "max_tokens": 300,
    "messages": [{"role": "user", "content": "Halo!"}]
  }'

Streaming

Dengan stream: true, server mengirim event SSE message_start, content_block_start, content_block_delta, content_block_stop, message_delta, dan message_stop — persis seperti yang diharapkan SDK Anthropic.

Model & harga

Tarif per 1 juta token dalam rupiah. Tanpa biaya langganan.

ModelKonteksInput /1MCache /1MOutput /1MStatus
DeepSeek V4.1 Flash
deepseek/deepseek-v4.1-flash
1M Rp 25 Rp 10 Rp 50 Operasional
DeepSeek V4.1 Pro
deepseek/deepseek-v4.1-pro
512K Rp 7.000 Rp 700 Rp 28.000 Segera
GPT-6.1 Sol
openai/gpt-6.1-sol
1M Rp 33.000 Rp 3.300 Rp 132.000 Segera
Claude Sonnet 5.5
anthropic/claude-sonnet-5.5
1M Rp 49.500 Rp 4.950 Rp 247.500 Segera
Gemini 4 Argon
google/gemini-4-argon
2M Rp 20.000 Rp 2.000 Rp 80.000 Segera
Kimi K3
moonshotai/kimi-k3
256K Rp 9.000 Rp 900 Rp 36.000 Segera
GLM 5.3
z-ai/glm-5.3
200K Rp 7.500 Rp 750 Rp 30.000 Segera
MiniMax M3.1 Flash
minimax/minimax-m3.1-flash
1M Rp 2.000 Rp 200 Rp 8.000 Segera
MiMo v2.6 Flash
xiaomi/mimo-v2.6-flash
256K Rp 1.500 Rp 150 Rp 6.000 Segera
Grok 4.7
x-ai/grok-4.7
2M Rp 45.000 Rp 4.500 Rp 225.000 Segera

Token yang terbaca dari cache dihitung dengan tarif cache /1M yang jauh lebih murah. Daftar yang selalu terkini juga tersedia di GET https://tokenrouter.ai.id/v1/models.

Model mitra marketplace

Model dari gateway mitra dipakai lewat API key dan saldo yang sama. Harga di bawah adalah harga jual mitra apa adanya — TokenRouter tidak menambah markup. Komisi platform 5% dan biaya pencairan Rp 2.500 hanya dipotong dari penghasilan penjual, bukan dari pembeli.

ModelMitraKonteksInput /1MCache /1MOutput /1MStatus

Batas laju

Perlindungan dasar supaya satu klien tidak menghabiskan kuota bersama.

Playground dan endpoint demo dibatasi 80 request per jam per IP. Setiap respons menyertakan header berikut:

HeaderArti
X-RateLimit-LimitJumlah maksimum request per jendela waktu.
X-RateLimit-RemainingSisa request pada jendela berjalan.
Retry-AfterDetik sampai boleh mencoba lagi (saat 429).

Terapkan backoff eksponensial saat menerima 429. Batas untuk key produksi diatur terpisah di konsol.

Error & status

Endpoint internal memakai bentuk ok/error; endpoint /v1/* memakai bentuk resmi OpenAI/Anthropic.

{
  "ok": false,
  "error": {
    "code": "rate_limited",
    "message": "Terlalu banyak percobaan. Coba lagi nanti."
  }
}
StatusKapan munculYang harus dilakukan
400Body bukan JSON atau tidak lengkap.Periksa format request.
401API key tidak ada, salah, atau dicabut.Buat key baru di halaman API key.
402Saldo tidak cukup untuk request ini.Top up di halaman Top up.
404Rute atau model tidak ada.Cek base URL, path, dan ID model.
405Method tidak didukung.Pakai POST untuk chat.
413Payload melebihi 128 KB.Kurangi riwayat pesan.
422Field tidak valid, mis. model atau email.Ikuti pesan error pada respons.
429Batas laju tercapai.Tunggu sesuai Retry-After.
500Gangguan penyimpanan atau upstream.Ulangi dengan backoff, lalu hubungi kami.
503Model sedang gangguan atau belum dirilis.Cek status model di halaman Status.

Top up & saldo

Saldo prabayar rupiah, tanpa kartu kredit.

Isi saldo mulai Rp 1.000 lewat QRIS. Bisa dibayar dengan GoPay, OVO, DANA, ShopeePay, atau m-banking. Bonus top up (default 0%) ikut menambah saldo dan langsung terpakai per token.

Harga di katalog sudah final dalam rupiah — tidak ada biaya konversi mata uang atau biaya tersembunyi.

Buka halaman Top up