Developer / Dokumentasi

Mulai menggunakan API

Hubungkan aplikasi Anda ke TokenGateway. Satu API untuk model pilihan Anda, dengan SDK yang sudah Anda gunakan.

OpenAI SDK Anthropic SDK REST API
BASE URLOpenAI & Anthropic
https://tokengateway.ai.id/v1

Satu Base URL untuk Semua: Gateway secara otomatis menangani routing /v1/chat/completions dan /v1/messages.

01 / MULAI CEPAT
1

Siapkan API key

Buat key di halaman API Keys dan simpan di environment server Anda. Kunci diawali dengan tk-gw-*.

2

Pilih model

Gunakan model ID yang tersedia dalam katalog akun. Saldo dan akses model diperlukan untuk request.

3

Kirim request

Ganti YOUR_MODEL_ID dengan model pilihan Anda. Pilih SDK OpenAI atau Anthropic Claude di bawah:

Python
import os
from openai import OpenAI
client = OpenAI(
base_url="https://tokengateway.ai.id/v1",
api_key=os.environ["TOKENGATEWAY_API_KEY"],
)
response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[{
"role": "user",
"content": "Halo, apa yang bisa kamu lakukan?"
}],
)
print(response.choices[0].message.content)
02 / AUTENTIKASI

Autentikasi

TokenGateway mendukung autentikasi virtual key (tk-gw-*) melalui header Authorization: Bearer atau x-api-key.

OpenAI SDK & cURL:

Authorization: Bearer YOUR_API_KEY

Anthropic SDK, Claude Code, Cursor, Cline:

x-api-key: YOUR_API_KEY

Secret key hanya ditampilkan saat dibuat atau dirotasi. Simpan selalu di environment server Anda.

03 / MODEL

Model yang tersedia

Akses model mengikuti akun, paket aktif, dan izin API key Anda.

GET /v1/models

Daftar model yang tersedia untuk kredensial request saat ini, beserta capabilities, architecture.input_modalities, dan batas token. GET /v1/models/MODEL_ID mengembalikan detail model yang dapat diakses.

04 / CHAT COMPLETIONS

Chat completions

Endpoint OpenAI Chat Completions standar untuk chat dan text generation.

POST /v1/chat/completions

Gunakan format pesan OpenAI dengan role system, user, dan assistant.

Vision, OCR, dan file

Pilih model dengan capabilities.vision: true. Pada Chat Completions, kirim gambar sebagai blok image_url di dalam messages[].content. Pada Anthropic Messages, gunakan blok image dengan source base64 atau URL HTTPS.

TypeScript
{
"model": "YOUR_VISION_MODEL_ID",
"max_completion_tokens": 1024,
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Baca isi gambar ini."},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,BASE64_IMAGE"}}
]
}]
}

PNG, JPEG, dan WebP dapat dikirim inline. TXT/Markdown/CSV inline tersedia sebagai file teks. Untuk PDF, periksa capabilities.pdf_input; scan membutuhkan kemampuan Vision pada rute yang dipakai. Ukuran JSON maksimum 10.000.000 byte, termasuk base64, dengan maksimum 16 gambar dan 8 halaman PDF per request.

Kirim riwayat beserta blok gambar/file asli pada giliran berikutnya. File ID provider dan URL file belum didukung. Jika agent menolak gambar sebelum mengirim request, aktifkan kemampuan gambar pada konfigurasi model di agent tersebut sesuai metadata gateway.

Responses API

POST /v1/responses

Mendukung percakapan stateless, gambar, file inline, function tools, JSON terstruktur, dan streaming event Responses. Gunakan store: false dan sertakan riwayat lengkap di input.

Python
response = client.responses.create(
model="YOUR_VISION_MODEL_ID",
store=False,
max_output_tokens=1024,
input=[{"role": "user", "content": [
{"type": "input_text", "text": "Baca isi gambar ini."},
{"type": "input_image", "image_url": "data:image/png;base64,BASE64_IMAGE"},
]}],
)
print(response.output_text)

Riwayat function tools memakai function_call dan function_call_output dengan call_id yang sama. Penyimpanan response, previous_response_id, background, WebSocket, built-in tools, dan reasoning state terenkripsi belum didukung. Opsi yang tidak didukung ditolak sebelum inference.

05 / ANTHROPIC MESSAGES

Anthropic Messages

Endpoint Anthropic Messages API untuk kompatibilitas penuh dengan SDK Claude dan tool coding agent.

POST /v1/messages

Mendukung parameter Anthropic seperti model, messages, max_tokens, system, dan stream.

Didukung melalui Base URL universal https://tokengateway.ai.id/v1 (otomatis menangani /v1/messages maupun /v1/v1/messages), serta alias /anthropic/v1/messages dan /messages.

06 / STREAMING

Streaming

Tambahkan stream: true untuk menerima potongan respons secara realtime melalui Server-Sent Events (SSE).

Contoh Anthropic Python SDK:

Python
with client.messages.stream(
model="YOUR_MODEL_ID",
max_tokens=1024,
messages=[{"role": "user", "content": "Halo Claude!"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)

Contoh OpenAI Python SDK:

Python
stream = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[{"role": "user", "content": "Halo!"}],
stream=True,
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")
07 / CODING AGENTS

Coding agents & CLI

Gunakan TokenGateway sebagai backend langsung untuk autonomous AI coding agents dan assistant editor:

1. Claude Code CLI

Autonomous coding agent CLI resmi dari Anthropic. Anda dapat memetakan alias model bawaan Claude (Opus, Sonnet, Haiku) ke model TokenGateway pilihan Anda sendiri menggunakan environment variable:

cURL / Bash
# 1. Install CLI secara global
npm install -g @anthropic-ai/claude-code
# 2. Set endpoint TokenGateway & Virtual Key Anda
export ANTHROPIC_BASE_URL="https://tokengateway.ai.id/v1"
export ANTHROPIC_API_KEY="sk-gw-..."
# 3. Model mapping sesuka Anda di terminal:
export ANTHROPIC_DEFAULT_OPUS_MODEL="gpt-6.1-sol"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-v4-pro"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-5.3-flash"
export ANTHROPIC_MODEL="deepseek-v4-pro"
# 4. Jalankan di dalam folder proyek git
claude

Atau gunakan konfigurasi persisten di ~/.claude/settings.json:

TypeScript
{
"env": {
"ANTHROPIC_BASE_URL": "https://tokengateway.ai.id/v1",
"ANTHROPIC_API_KEY": "sk-gw-...",
"ANTHROPIC_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "gpt-6.1-sol",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-5.3-flash"
}
}

Untuk mode script sekali jalan (non-interaktif): claude -p "Review perubahan kode ini"

2. OpenCode CLI

Open-source terminal coding agent dengan dukungan multi-provider. Pasang CLI dan tambahkan konfigurasi TokenGateway:

cURL / Bash
# Install via installer script resmi
curl -fsSL https://opencode.ai/install | bash
# Atau install via npm
npm install -g opencode-ai@latest

Buat file konfigurasi di ~/.config/opencode/opencode.json (atau di folder proyek):

TypeScript
{
"$schema": "https://opencode.ai/config.json",
"model": "tokengateway/gemini-3.8-flash",
"provider": {
"tokengateway": {
"npm": "@ai-sdk/openai-compatible",
"name": "TokenGateway",
"options": {
"baseURL": "https://tokengateway.ai.id/v1",
"apiKey": "{env:TOKENGATEWAY_API_KEY}"
},
"models": {
"gemini-3.8-flash": {
"name": "Gemini 3.8 Flash",
"modalities": {"input": ["text", "image"], "output": ["text"]}
}
}
}
}
}

Jalankan interaktif: opencode

3. OpenAI Codex CLI

Autonomous agent CLI dari OpenAI untuk eksekusi tugas coding di repository git:

cURL / Bash
# 1. Install Codex CLI
npm install -g @openai/codex
# 2. Arahkan endpoint OpenAI ke TokenGateway
export OPENAI_BASE_URL="https://tokengateway.ai.id/v1"
export OPENAI_API_KEY="tk-gw-..."
# 3. Eksekusi tugas (wajib di dalam git repo)
codex exec --sandbox workspace-write "Buatkan unit test untuk payment handler"

4. Cursor & Cline / Roo Code

Cursor: Buka Settings > Models > Anthropic API Key. Masukkan virtual key (tk-gw-...), aktifkan Override Base URL dan isi https://tokengateway.ai.id/v1.
Cline / Roo Code: Pilih provider Anthropic-compatible atau OpenAI-compatible. Masukkan Base URL https://tokengateway.ai.id/v1 dan API Key tk-gw-....

08 / 9ROUTER

Integrasi 9router AI Proxy

TokenGateway dapat dihubungkan sebagai upstream provider pada 9router (router.mannn.app) untuk routing cerdas, fallback model, dan agregasi multi-kunci.

1

Konfigurasi Provider di 9router

Buka panel 9router Dashboard > menu Providers > pilih Add OpenAI-Compatible:

FieldNilai Pengaturan
Provider NameTokenGateway
API TypeOpenAI-Compatible Chat
Base URLhttps://tokengateway.ai.id/v1
API KeyVirtual Key Anda (tk-gw-...)
Supported ModelsDaftar model dari katalog akun (cth: claude-3-7-sonnet, deepseek-v4-pro, gpt-4.1)
2

Menggunakan Endpoint 9router

Setelah terhubung, seluruh aplikasi dan coding agents dapat memanggil model TokenGateway melalui endpoint 9router:

cURL / Bash
curl https://router.mannn.app/v1/chat/completions \
-H "Authorization: Bearer 9ROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"messages": [{ "role": "user", "content": "Halo dari 9router!" }]
}'

Penggunaan token tetap tercatat transparan dan langsung dipotong dari saldo TokenGateway Anda.

09 / ERROR

Menangani error

Respons error menyertakan kode dan ID request. Gunakan ID tersebut untuk menelusuri aktivitas di halaman Penggunaan.

KodeLangkah berikutnya
quota_exceededPeriksa saldo tersedia dan token tertahan di Wallet.
model_not_allowedPeriksa akses model dan allowlist API key.
missing_api_keyPastikan header x-api-key atau Authorization berisi key aktif.
rate_limit_exceededTunggu lalu coba kembali dengan jeda bertahap.