Tera Router

Pengenalan

Satu base URL dan satu API key untuk semua model — format OpenAI, Anthropic, dan Responses API sekaligus.

Tera Router itu apa?

Tera Router adalah LLM gateway yang kamu jalankan sendiri. Arahkan SDK, curl, atau coding agent favoritmu ke satu base URL, dan router yang meneruskan setiap request ke provider yang sudah kamu hubungkan — lengkap dengan fallback, cooldown, pembatasan biaya, dan pencatatan usage.

  • Kompatibel dengan tiga dialek — POST /v1/chat/completions (OpenAI), POST /v1/messages (Anthropic), dan POST /v1/responses (OpenAI Responses). Klien yang sudah ada tidak perlu diubah.
  • Lebih dari chat — web search dan fetch, text-to-speech, speech-to-text, pembuatan gambar, dan embeddings dengan key yang sama, lengkap dengan fallback dan pencatatan usage yang sama.
  • Routing yang bisa diatur — rantai provider dengan strategi priority, round-robin, atau load-balanced, plus fallback otomatis saat satu akun gagal atau kena rate limit.
  • Kontrol biaya — plan dan budget per key, per akun, atau global, dengan alert dan hard cutoff.
  • Guardrails — deteksi PII, prompt injection, topik, toksisitas, dan bias sebelum request keluar.
  • Dashboard — kelola semua di atas dari UI: API key, akun provider, chains, guardrails, usage, sampai log console.
  • Akses jarak jauh — bagikan router lewat Cloudflare quick tunnel sekali klik, atau simpan privat di jaringan Tailscale-mu.

Tiga langkah ke request pertama

  1. Jalankan server — make run di apps/server, gateway siap di http://localhost:8080.
  2. Buat API key — masuk ke dashboard di http://localhost:5173, buka API Keys, buat key berawalan sk_tr_.
  3. Panggil — pakai key itu di header Authorization:
curl http://localhost:8080/v1/chat/completions \
  -H "Authorization: Bearer sk_tr_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      { "role": "user", "content": "Halo, dunia!" }
    ]
  }'

Panggil dari kode

Semua SDK yang bicara format OpenAI tinggal diganti base URL-nya:

OpenAI SDK
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'sk_tr_...',
  baseURL: 'http://localhost:8080/v1',
})

const res = await client.chat.completions.create({
  model: 'anthropic/claude-sonnet-4',
  messages: [{ role: 'user', content: 'Halo, dunia!' }],
})
Anthropic SDK
import Anthropic from '@anthropic-ai/sdk'

const client = new Anthropic({
  apiKey: 'sk_tr_...',
  baseURL: 'http://localhost:8080',
})

const res = await client.messages.create({
  model: 'openai/gpt-4o-mini',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Halo, dunia!' }],
})

Perhatikan: dengan Tera Router, model Anthropic bisa dipanggil lewat SDK OpenAI dan sebaliknya — router yang menerjemahkan dialeknya.

Langkah selanjutnya

Di halaman ini