Backed by Y Combinator

The Router for Voice AI

Every speech model, benchmarked language by language, wired into one API.

Get API key

Router

A hosted, provider-neutral STT, LLM and TTS data plane at router.speko.dev, with typed contracts and managed routing.

Benchmark coverage by language

ModelENESDEFRARFILNBHITATEKOZHJATHLTIDSW
deepgram:nova-3
soniox:stt-rt-v5
OpenAI:GPT-4o Transcribebench
openai:gpt-4o-mini-transcribe
cartesia:ink-whisper
google:chirp_3
Alibaba:Qwen3-ASRbench
openai:gpt-transcribe
xai:grok-stt
assemblyai:universal-3-5-pro
ElevenLabs:Scribe v2bench
Gladia:Solaria-1bench
Smallest AI:Pulse Probench
ElevenLabs:Scribe v1bench
Alibaba:Qwen-ASRbench
Deepgram:Nova-2bench
modulate:velma-2-stt-streaming
azure:MAI-Transcribe-2
gradium:default
AssemblyAI:Universal-2bench
Azure:Fast Transcriptionbench
fish:transcribe-1
fish:transcribe-1-pro
gemini:gemini-3.5-transcribe
OpenAI:Whisper-1bench
alibaba:qwen3-asr-flash-realtime
elevenlabs:scribe_v2_realtime
meta:muse-voice-transcribe-1.0
AssemblyAI:Universal (batch tier)bench
cartesia:ink-2
Groq:Whisper Large v3bench
Hamsa:S3bench
modulate:velma-2-stt-streaming-english-v2
munsit:munsit
munsit:munsit-en-ar
nari:qwen3-asr
nari:qwen3-asr-fast
smallest:pulse

Score against cost, per stage

Accuracy (WER · conversational)
25ms1.75s12.0%24.2%
Qwen3-ASR Fast12.0% · 33ms
Finalize (ms, p50)
Model
Qwen3-ASR Fastnari:qwen3-asr-fast
12.0%33ms
Qwen3-ASRnari:qwen3-asr
12.0%25ms
Qwen3-ASR Realtimealibaba:qwen3-asr-flash-realtime
12.2%889ms
Scribe v2 Realtimeelevenlabs:scribe_v2_realtime
12.5%1.75s
Gemini 3.5 Transcribe Livegemini:gemini-3.5-transcribe-live
13.1%1.28s
GPT Live Transcribeopenai:gpt-live-transcribe
13.5%620ms
Grok Voice Transcribe 1.0xai:grok-stt
13.7%1.13s
Universal-3.6 Proassemblyai:universal-3-6-pro
13.7%505ms
Muse Voice Transcribemeta:muse-voice-transcribe-1.0
14.2%—
Velma 2modulate:velma-2-stt-streaming-english-v2
14.4%1.21s
Pulsesmallest:pulse
14.5%839ms
Universal-3.5 Proassemblyai:universal-3-5-pro
14.5%408ms
stt-rt-v5soniox:stt-rt-v5
16.6%340ms
Ink-2cartesia:ink-2
16.7%587ms
GPT Realtime Whisperopenai:gpt-realtime-whisper
16.8%1.14s
GPT Transcribeopenai:gpt-transcribe
16.8%817ms
Nova-3deepgram:nova-3
17.0%189ms
Chirp 3google:chirp_3
18.4%—
Fluxdeepgram:flux-general-en
19.7%712ms
GPT-4o-mini Transcribeopenai:gpt-4o-mini-transcribe
20.6%822ms
flux-general-multideepgram:flux-general-multi
21.4%854ms
Gradium ASRgradium:default
24.2%1.13s
transcribe-1-profish:transcribe-1-pro
——
transcribe-1fish:transcribe-1
——
MAI-Transcribe-2azure:MAI-Transcribe-2
——
MAI-Transcribe-2-Streamingazure:MAI-Transcribe-2-Streaming
——
ink-whispercartesia:ink-whisper
——
gemini-3.5-transcribegemini:gemini-3.5-transcribe
——
velma-2-stt-streamingmodulate:velma-2-stt-streaming
——
munsitmunsit:munsit
——
munsit-en-armunsit:munsit-en-ar
——
defaultpalabra:default
——

Gateway

The open customer-side runtime for LiveKit and Pipecat: provider-direct streaming, local BYOK credentials and optional Speko-managed routes.

Run and observe your voice workers

Use the native Gateway integrations in your framework, or call the hosted Router through its public OpenAPI and AsyncAPI contracts.

from livekit.agents import AgentSession
from speko_gateway.livekit import LLM, STT, TTS

session = AgentSession(
    stt=STT(credential_source="auto"),
    llm=LLM(model="auto", objective="balanced"),
    tts=TTS(credential_source="auto"),
)

Point your agent at Speko

$claude mcp add --transport http speko https://mcp.speko.ai/mcp