Tera Router
Gateway API

Audio

Text-to-speech dan speech-to-text dengan format audio OpenAI — POST /v1/audio/speech dan POST /v1/audio/transcriptions.

Kedua endpoint memakai API audio OpenAI, jadi SDK OpenAI bisa langsung dipakai dengan mengganti base URL-nya. model dibaca persis seperti chat — provider/model, alias, atau chain:<nama> — dan router hanya menyimpan target yang provider-nya mendukung kemampuan itu.

EndpointProvider
POST /v1/audio/speechOpenAI, ElevenLabs, Deepgram, custom provider kompatibel OpenAI
POST /v1/audio/transcriptionsOpenAI, Groq, ElevenLabs, Deepgram, custom provider kompatibel OpenAI

Text-to-speech

curl http://localhost:8080/v1/audio/speech \
  -H "Authorization: Bearer sk_tr_..." \
  -H "Content-Type: application/json" \
  -d '{ "model": "openai/gpt-4o-mini-tts", "input": "Halo dari Tera Router.", "voice": "alloy" }' \
  --output speech.mp3

Response-nya adalah file audio itu sendiri; Content-Type-nya jenis audio (audio/mpeg untuk MP3).

ProviderContoh modelvoice
OpenAIopenai/gpt-4o-mini-tts, openai/tts-1alloy, nova, shimmer, …
ElevenLabselevenlabs/eleven_multilingual_v2wajib: voice id ElevenLabs
Deepgramdeepgram/aura-2-thalia-entidak dipakai — model-nya adalah suara

response_format dan speed dipakai oleh provider yang kompatibel dengan OpenAI; ElevenLabs dan Deepgram mengembalikan MP3.

Speech-to-text

Kirim multipart/form-data, sama seperti API transkripsi OpenAI:

curl http://localhost:8080/v1/audio/transcriptions \
  -H "Authorization: Bearer sk_tr_..." \
  -F [email protected] \
  -F model=groq/whisper-large-v3-turbo
{ "text": "Halo dari rapat." }
FieldWajibCatatan
fileyaFile audio, maksimal 25 MB.
modelyaprovider/model, alias, atau chain:<nama>.
languagetidakKode ISO-639-1 seperti en atau id.
prompttidakPetunjuk konteks — hanya provider kompatibel OpenAI.
ProviderContoh model
OpenAIopenai/gpt-4o-mini-transcribe, openai/whisper-1
Groqgroq/whisper-large-v3-turbo
ElevenLabselevenlabs/scribe_v2
Deepgramdeepgram/nova-3

Error

400 berarti model menunjuk provider tanpa kemampuan itu (atau file tidak ada); 503 berarti belum ada akun yang terhubung untuknya. Alias atau chain yang mencampur provider akan pindah ke provider berikutnya kalau satu gagal.

Di halaman ini