Realtime STT Router for voice agents

Every realtime STT model, one key, one WebSocket

Stream live audio to the best STT models for voice agents. Switch models with one string; keep the same key, socket, events, and balance.

Live caller audio
PCM frames · continuously
One WebSocket
VoiceRun STT Router
API keyverified
Active routerealtime
voicerun-asr-realtime-v1
Billing
one balance
Failover
standby
Voice agent
Normalized realtime events
Route or fail over by model
VoiceRun
Deepgram
OpenAI
ElevenLabs
Google
Qwen

Choosing an STT vendor shouldn't be a one-way door

Stream audio once and receive one event schema. VoiceRun handles provider integrations, routing, failover, usage, and billing behind the socket.

wss://api.voicerun.com/v1/stt · Authorization: Bearer $VOICERUN_API_KEY
# one VoiceRun key, one connection — only the model string changes

{"type": "session.update", "model": "nova-3"}
{"type": "session.update", "model": "gpt-4o-mini-transcribe"}
{"type": "session.update", "model": "scribe_v2_realtime"}
{"type": "session.update", "model": "voicerun-asr-realtime-v1"}

# everything downstream is identical: the same audio frames in,
# the same delta / final-turn events back out
  {"type": "input_audio_buffer.append", "audio": "<base64 PCM16>"}
  {"type": "transcription.delta", "text": "I'd like a table for four"}
  {"type": "turn.ended", "text": "I'd like a table for four.", "reason": "provider"}

Realtime, not file upload

OpenRouter's STT endpoint accepts a complete audio file over POST. VoiceRun streams live audio over WebSocket and returns accepts finished files over POST. VoiceRun streams live audio and returns partials immediately.

Events built for voice agents

Speech, transcript, and turn events arrive in one shape across every provider.

Automatic provider failover

Move new sessions to your fallback model when a provider becomes unavailable.

One key, one balance

One VoiceRun API key and credit balance across every enabled model.

Bake-off on your own audio

Compare accuracy and latency on the production audio that actually matters.

Including our own model

VoiceRun STT Model is selectable through the same protocol, with audio kept inside VoiceRun.

One extra hop, tuned for realtime voice

Routing adds a hop, and latency matters in every voice conversation. VoiceRun STT Router is built in Rust and keeps billing checks off the per-turn audio path, so a warmed provider connection can forward live audio with little typical overhead.

No measurable overhead
warmed connection · p50

Local benchmark: 200 measured turns—100 direct and 100 routed—alternated over persistent, warmed connections to VoiceRun STT Model. Each turn used the same 3.8-second spoken fixture, streamed in realtime, and compared time to the first partial transcript. The direct and routed p50 measurements were within 1.5 ms of each other—inside measurement noise. Setup and end-to-end latency vary by model, provider, and region. This measurement is directional, not a latency guarantee.

Twelve STT providers, one integration

Every provider below is available through the same STT Router protocol. Voice activity detection, partial and final transcripts, and context biasing are normalized across their models, so switching is a string change rather than a rewrite.

ProviderModels
VoiceRun
voicerun-asr-realtime-v1
First-party, self-hosted — per-turn context and semantic turn-taking
Deepgram
flux-general-en · flux-general-multi · nova-3
Low-latency workhorse for English and multilingual
OpenAI
gpt-4o-transcribe · gpt-4o-mini-transcribe · whisper-1
Strong general accuracy; prompt biasing supported
ElevenLabs
scribe_v2_realtime
Realtime scribe with broad language coverage
Cartesia
ink-whisper
Fast streaming transcription
Soniox
stt-rt-v4
Realtime multilingual recognition
Google
chirp_3
Chirp 3 speech recognition
Qwen
qwen3-asr-flash · qwen3-asr-flash-realtime
Low-latency multilingual recognition with contextual biasing
xAI
grok-stt
Grok speech-to-text
Inworld
inworld/inworld-stt-1
Conversational speech recognition
Gradium
gradium-default-stt
Gradium speech recognition
Tencent
tencent-16k
16 kHz recognition for China-region workloads

Model availability evolves as vendors ship and retire snapshots; the API reference carries the current list and per-model capabilities.

Access VoiceRun STT Model through the Router

STT Router is the shared access layer. Select VoiceRun STT Model for our first-party model—with per-turn context, semantic turn-taking, hallucination and language-drift guards, and audio that stays inside VoiceRun—or select an external model with the same VoiceRun key. The socket, audio format, event schema, and credit balance stay the same.

Integrate once, compare models on your own calls, and move between them by changing the model string.