Mulai menggunakan API
Hubungkan aplikasi Anda ke TokenGateway. Satu API untuk model pilihan Anda, dengan SDK yang sudah Anda gunakan.
https://tokengateway.ai.id/v1Satu Base URL untuk Semua: Gateway secara otomatis menangani routing /v1/chat/completions dan /v1/messages.
Siapkan API key
Buat key di halaman API Keys dan simpan di environment server Anda. Kunci diawali dengan tk-gw-*.
Pilih model
Gunakan model ID yang tersedia dalam katalog akun. Saldo dan akses model diperlukan untuk request.
Kirim request
Ganti YOUR_MODEL_ID dengan model pilihan Anda. Pilih SDK OpenAI atau Anthropic Claude di bawah:
import osfrom openai import OpenAIclient = 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)Autentikasi
TokenGateway mendukung autentikasi virtual key (tk-gw-*) melalui header Authorization: Bearer atau x-api-key.
OpenAI SDK & cURL:
Authorization: Bearer YOUR_API_KEYAnthropic SDK, Claude Code, Cursor, Cline:
x-api-key: YOUR_API_KEYSecret key hanya ditampilkan saat dibuat atau dirotasi. Simpan selalu di environment server Anda.
Model yang tersedia
Akses model mengikuti akun, paket aktif, dan izin API key Anda.
/v1/modelsDaftar 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.
Chat completions
Endpoint OpenAI Chat Completions standar untuk chat dan text generation.
/v1/chat/completionsGunakan 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.
{ "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
/v1/responsesMendukung percakapan stateless, gambar, file inline, function tools, JSON terstruktur, dan streaming event Responses. Gunakan store: false dan sertakan riwayat lengkap di input.
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.
Anthropic Messages
Endpoint Anthropic Messages API untuk kompatibilitas penuh dengan SDK Claude dan tool coding agent.
/v1/messagesMendukung 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.
Streaming
Tambahkan stream: true untuk menerima potongan respons secara realtime melalui Server-Sent Events (SSE).
Contoh Anthropic Python SDK:
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:
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="")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:
# 1. Install CLI secara globalnpm install -g @anthropic-ai/claude-code# 2. Set endpoint TokenGateway & Virtual Key Andaexport 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 gitclaudeAtau gunakan konfigurasi persisten di ~/.claude/settings.json:
{ "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:
# Install via installer script resmicurl -fsSL https://opencode.ai/install | bash# Atau install via npmnpm install -g opencode-ai@latestBuat file konfigurasi di ~/.config/opencode/opencode.json (atau di folder proyek):
{ "$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:
# 1. Install Codex CLInpm install -g @openai/codex# 2. Arahkan endpoint OpenAI ke TokenGatewayexport 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-....
Integrasi 9router AI Proxy
TokenGateway dapat dihubungkan sebagai upstream provider pada 9router (router.mannn.app) untuk routing cerdas, fallback model, dan agregasi multi-kunci.
Konfigurasi Provider di 9router
Buka panel 9router Dashboard > menu Providers > pilih Add OpenAI-Compatible:
| Field | Nilai Pengaturan |
|---|---|
| Provider Name | TokenGateway |
| API Type | OpenAI-Compatible Chat |
| Base URL | https://tokengateway.ai.id/v1 |
| API Key | Virtual Key Anda (tk-gw-...) |
| Supported Models | Daftar model dari katalog akun (cth: claude-3-7-sonnet, deepseek-v4-pro, gpt-4.1) |
Menggunakan Endpoint 9router
Setelah terhubung, seluruh aplikasi dan coding agents dapat memanggil model TokenGateway melalui endpoint 9router:
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.
Menangani error
Respons error menyertakan kode dan ID request. Gunakan ID tersebut untuk menelusuri aktivitas di halaman Penggunaan.
| Kode | Langkah berikutnya |
|---|---|
quota_exceeded | Periksa saldo tersedia dan token tertahan di Wallet. |
model_not_allowed | Periksa akses model dan allowlist API key. |
missing_api_key | Pastikan header x-api-key atau Authorization berisi key aktif. |
rate_limit_exceeded | Tunggu lalu coba kembali dengan jeda bertahap. |