Tera Router
Konsep

Providers & Accounts

Katalog provider bawaan, menambah akun, prioritas, dan custom provider.

Provider vs akun

  • Provider adalah jenis upstream (OpenAI, Anthropic, Gemini, Exa, ...) dengan dialek dan base URL bawaan.
  • Account adalah kredensial konkret milikmu di provider itu — satu provider bisa punya banyak akun.

Katalog bawaan

Halaman Providers membagi katalog ke dalam empat tab. Provider muncul di setiap tab yang sesuai dengan kemampuannya — OpenAI, misalnya, ada di semua tab kecuali search.

TabProvider
AI Model Providersopenai, anthropic, openrouter, nvidia, gemini, mistral, together, fireworks, nebius, groq, cline, cloudflare, muse, voyage-ai, jina-ai, plus custom provider
AI Search Providersexa, tavily, firecrawl, jina-ai, brave, serper
AI Voice Providersopenai, groq (STT), elevenlabs, deepgram, plus custom provider yang kompatibel dengan OpenAI
AI Image Generationopenai, gemini, together, muse, plus custom provider yang kompatibel dengan OpenAI

Kemampuan yang dibuka di gateway:

KemampuanEndpoint gateway
chat/v1/chat/completions, /v1/messages, /v1/responses
embeddings/v1/embeddings
image/v1/images/generations
tts / stt/v1/audio/speech, /v1/audio/transcriptions
search / fetch/v1/search, /v1/web/fetch

Provider chat memakai dialek OpenAI kecuali anthropic (dialek Anthropic). OpenAI dan Anthropic bisa dihubungkan dengan API key atau login di situs resminya (OAuth); login OpenAI dirutekan sebagai provider terpisah codex (dialek Responses, backend ChatGPT).

Kredensial akun disimpan terenkripsi (enkripsi amplop dengan kunci turunan dari APP_SECRET).

Menambah akun

Lewat dashboard (Providers → pilih provider → Connect) atau API. Provider chat langsung menyinkronkan daftar modelnya setelah terhubung; provider search, voice, dan khusus embeddings (Exa, ElevenLabs, Voyage AI, …) cukup diberi key, yang dicek saat pertama dipakai karena API-nya tidak punya panggilan uji gratis. Uji dulu sebelum disimpan:

curl -X POST http://localhost:8080/v1/validate-key \
  -H "Authorization: Bearer <jwt-dashboard>" \
  -H "Content-Type: application/json" \
  -d '{ "provider": "openai", "auth_kind": "api_key", "api_key": "sk-..." }'

Field penting saat membuat akun:

  • auth_kind — api_key, oauth, atau none.
  • priority — urutan pemakaian saat satu provider punya banyak akun.
  • proxy_pool_id — ikat akun ke proxy pool untuk kontrol IP keluar.
  • metadata.base_url — timpa base URL bawaan (berguna untuk endpoint kompatibel sendiri).
  • metadata.headers — header tambahan per akun.

Tiap akun punya uji koneksi (POST /v1/accounts/:id/test) dan pembacaan kuota (GET /v1/accounts/:id/quota) dari dashboard.

Custom provider

Punya endpoint OpenAI/Anthropic/Responses-compatible sendiri? Daftarkan sebagai custom provider (halaman Providers → Custom) dengan memilih api_kind-nya, lalu tambahkan akun seperti biasa. Slug-nya langsung bisa dipakai di model: "provider-saya/model".

Di halaman ini