The Router for Voice AI
Every speech model, benchmarked language by language, wired into one API.
Router
Which model to call, per language and per objective, decided from published measurements instead of a vendor's English leaderboard.
Benchmark coverage by language
Model
EN
AR
FR
DE
HI
NB
ES
TA
TE
Nova-3
stt-rt-v5
GPT-4o Transcribe
GPT-4o-mini Transcribe
Qwen3-ASR
Chirp 3
Ink-Whisper
Pulse Pro
Whisper-1
Nova-2
Gradium ASR
Grok STT
Ink-2
Pulse
Realtime STT-1bench
Scribe v2 Realtime
Solaria-1
Universal-3.5 Pro
Velma 2
Flux
GPT Live Transcribe
Score against cost, per stage
Accuracy (WER)
$0.0010$0.01602.0%11.0%
Realtime STT-13.3% · $0.0025
Universal-3.5 Pro2.0% · $0.0075
Velma 24.4% · $0.0010
GPT-4o Transcribe2.3% · $0.0060
GPT-4o-mini Transcribe2.7% · $0.0030
Cost ($/min)
#Model
1
Universal-3.5 Proassemblyai:universal-3-5-pro
2.0%$0.00752
GPT-4o Transcribeopenai:gpt-4o-transcribe
2.3%$0.00603
GPT-4o-mini Transcribeopenai:gpt-4o-mini-transcribe
2.7%$0.00304
Qwen3-ASRalibaba:qwen3-asr-flash
2.8%$0.00545
Realtime STT-1inworld:inworld-stt-1
3.3%$0.00256
Chirp 3google:chirp_3
3.9%$0.01607
Velma 2modulate:velma-2-stt-streaming-english-v2
4.4%$0.00108
Grok STTxai:stt
4.8%$0.00339
Solaria-1gladia:solaria-1
5.0%$0.012510
Pulsesmallest:pulse
5.1%~$0.005011
stt-rt-v5soniox:stt-rt-v5
7.5%$0.002012
Gradium ASRgradium:default
8.4%$0.010413
Nova-3deepgram:nova-3
9.8%$0.004814
Ink-2cartesia:ink-2
11.0%$0.0090—
Fluxdeepgram:flux-general-en
—$0.0065—
Scribe v2 Realtimeelevenlabs:scribe_v2_realtime
—$0.0065—
GPT Live Transcribeopenai:gpt-live-transcribe
—$0.0170Gateway
One base URL and one key in front of every provider, speaking the API your framework already calls.
Run and observe your voice workers
Speko speaks the OpenAI API, so the frameworks you already use need a hostname and a model string.
import { defineAgent, voice } from '@livekit/agents';
import * as openai from '@livekit/agents-plugin-openai';
const key = process.env.SPEKO_API_KEY!;
const baseURL = 'https://api.speko.ai/v1';
export default defineAgent({
entry: async (ctx) => {
const session = new voice.AgentSession({
stt: new openai.STT({ apiKey: key, baseURL, model: 'auto' }),
llm: new openai.LLM({ apiKey: key, baseURL, model: 'auto' }),
tts: new openai.TTS({ apiKey: key, baseURL, model: 'auto' }),
});
await session.start({ agent: new voice.Agent({ ... }) });
},
});Point your agent at Speko
$claude mcp add --transport http speko https://mcp.speko.ai/mcp