# Speko - full text of every page on speko.ai
Index: https://speko.ai/llms.txt
Each section below names its canonical HTML source and its exact Markdown twin.
# The Router for Voice AI
Source: https://speko.ai/
Markdown: https://speko.ai/index.html.md
[Backed by Y Combinator](https://www.ycombinator.com/companies/speko)
Every speech model, benchmarked language by language, wired into one API.
[Get API key](https://platform.speko.ai/sign-in)
## 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
Model EN (English) AR (Arabic) FR (French) DE (German) HI (Hindi) NB (Norwegian) ES (Spanish) TA (Tamil) TE (Telugu)
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-1 bench
Scribe v2 Realtime
Solaria-1
Universal-3.5 Pro
Velma 2
Flux
GPT Live Transcribe
Muse Voice Transcribe
Hover a cell for its number.
worse better
12 of 24
are only measured in English
Their rank in any other language is unknown — including the model that sits at the top of the English table.
4
different models win across 9 languages
No single model is best everywhere, so the right pick changes with the language your users speak.
### Score against cost, per stage
Accuracy (WER)
$0.0008 $0.0160 2.0% 12.0%
Universal-3.5 Pro 2.0% · $0.0075
Velma 2 4.4% · $0.0008
GPT-4o Transcribe 2.3% · $0.0060
GPT Transcribe 2.5% · $0.0045
Qwen3-ASR Fast 3.3% · $0.0020
Cost ($/min)
\# Model
1
Universal-3.5 Pro assemblyai:universal-3-5-pro
2.0% $0.0075 (Universal-3.5 Pro Realtime at $0.45/hr. Async pre-recorded is $0.0035. Diarization and other add-ons bill on top.)
2
GPT-4o Transcribe openai:gpt-4o-transcribe
2.3% $0.0060
3
GPT Transcribe openai:gpt-transcribe
2.5% $0.0045 (Billed per minute, not per token.)
4
GPT-4o-mini Transcribe openai:gpt-4o-mini-transcribe
2.7% $0.0030
5
Qwen3-ASR alibaba:qwen3-asr-flash
2.8% $0.0054 (qwen3-asr-flash-realtime, Singapore. The file/sync SKU is $0.0021.)
6
Realtime STT-1 inworld:inworld-stt-1
3.3% $0.0025 (On-demand $0.15/hr. The $0.10/hr headline needs a paid Creator subscription.)
7
Qwen3-ASR Fast nari:qwen3-asr-fast
3.3% $0.0020 (Vendor list $0.12 per input audio hour, Partner tier (docs.narilabs.com/models-and-pricing, read 2026-09-13). A free tier of the same model is listed at $0.)
8
Chirp 3 google:chirp_3
3.9% $0.0160 (Speech-to-Text V2 Standard, first tier — one rate for streaming, sync and batch. Dynamic Batch Recognition is $0.003.)
9
Velma 2 modulate:velma-2-stt-streaming-english-v2
4.4% $0.0008 (Published streaming rate for English Fast, $0.05/hr. Batch is $0.025/hr. The $0.06/hr this row used to carry is the MULTILINGUAL row, a different product from the one this id names. Not a measurement.)
10
Solaria-1 gladia:solaria-1
5.0% $0.0125 (Starter pay-as-you-go real-time ($0.75/hr). Pre-recorded is $0.0102/min, and committed Growth pricing goes to $0.0042.)
11
Pulse smallest:pulse
5.1% $0.0040 (Streaming Pulse, the vendor's published per-model rate (smallest.ai/pricing/models; pre-recorded Pulse is $0.003/min). The ~$0.009/min on the main pricing page is the STT slice of a blended voice-agent stack, not this API's list rate.)
12
stt-rt-v5 soniox:stt-rt-v5
7.5% $0.0020
13
Gradium ASR gradium:default
8.4% $0.0104 (3 credits/sec on the XS tier, the cheapest paid plan; $0.0068 at the L tier.)
14
Ink-2 cartesia:ink-2
11.0% $0.0090 (Ink-2 bills 3 credits/sec on Pro, the cheapest paid plan; $0.0071 at Startup, $0.0067 at Scale. The 1 credit/sec rate is Ink-Whisper, a different model.)
15
Nova-3 deepgram:nova-3
12.0% $0.0048 (Streaming pay-as-you-go. Vendor flags it as a limited-time promotional rate; pre-recorded is $0.0043.)
—
Flux deepgram:flux-general-en
— $0.0065 (Flux English streaming pay-as-you-go. Vendor flags it as a limited-time promotional rate; flux-general-multi is $0.0078.)
—
Scribe v2 Realtime elevenlabs:scribe_v2_realtime
— $0.0065 (Scribe v2 Realtime at $0.39/hr, flat across every tier. Batch Scribe v2 is $0.0037.)
—
GPT Live Transcribe openai:gpt-live-transcribe
— $0.0170 (gpt-live-transcribe, the streaming path this row is recommended for.)
—
Muse Voice Transcribe meta:muse-voice-transcribe-1.0
— $0.0030 (Vendor list price: $3.00 per 1,000 minutes, equivalently $0.18/hr. Streaming and batch are priced identically -- the table does not differentiate -- and there is a single tier, no plan or volume rates.)
—
Gemini 3.5 Transcribe Live gemini:gemini-3-5-transcribe-live
— ~$0.0090 (ESTIMATE, not a published per-minute rate. Google prices this model per token -- $3.50/1M audio in, $21.00/1M text out -- and the ~$0.005/min + ~$0.004/min figures on the pricing page are Google's own estimate at 25 audio tokens/sec input and 175 text tokens/min output, for a blended ~$0.009/min. Speech density moves it, so read it as an order of magnitude rather than a rate card. Every other price on this column is the vendor's published per-minute rate.)
## 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.
```python
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
```bash
$ claude mcp add --transport http speko https://mcp.speko.ai/mcp
```
[Read the docs](https://docs.speko.ai) [Get API key](https://platform.speko.ai/sign-in)
# Voice agent infrastructure for STT, LLM and TTS
Source: https://speko.ai/voice-agent-infrastructure
Markdown: https://speko.ai/voice-agent-infrastructure/index.html.md
Architecture
Voice agent infrastructure across the hosted Speko Router, the open customer-side Gateway, and the separate hosted Agents API.
## The three Speko boundaries
- **Router.** The hosted data plane at[router.speko.dev](https://router.speko.dev) accepts native, typed STT, LLM, and TTS requests. It owns managed routing, admission, provider dispatch, normalized errors, and usage settlement.
- **Gateway.** The open runtime in[SpekoAI/gateway](https://github.com/SpekoAI/gateway)runs inside the customer workload. It keeps BYOK credentials local, provides one streaming protocol across providers, and ships native LiveKit and Pipecat integrations.
- **Agents API.** The hosted API at[api.speko.dev](https://api.speko.dev) owns agents, sessions, phone numbers, calls, and the managed conversation loop.
## Choose by trust boundary
Choose Router when Speko should operate the managed model data plane. Choose Gateway when provider-direct audio should stay in the customer workload or provider keys must remain inside a customer process. The two can coexist: a LiveKit session can use Gateway for direct STT and TTS while using Router for a managed LLM. Read Gateway's public trust document before deciding which process may inspect environment variables and which traffic crosses the hosted boundary.
Choose the Agents API when Speko should also own the agent definition, session lifecycle, phone number, and call transport. A Router credential does not create an agent or place a call, and a Gateway local token is not a hosted API key.
## Use the contracts, not guessed compatibility
Router is not an OpenAI-compatible hostname. Its canonical OpenAPI 3.1 document is available at[router.speko.dev/openapi.json](https://router.speko.dev/openapi.json), with streaming speech documented by the AsyncAPI contract in the public Gateway repository. Every POST requires an`Idempotency-Key`, and every non-2xx response uses the same typed error envelope with a stable code, message, recovery hint, and retryable flag.
Start with the [Router quickstart](https://speko.ai/docs), the[LiveKit Gateway guide](https://speko.ai/docs/livekit), or the[Pipecat Gateway guide](https://speko.ai/docs/pipecat). The[versioning policy](https://speko.ai/developers/versioning) defines compatibility, deprecation, and Sunset behavior for durable clients.
# Voice AI models and benchmarks
Source: https://speko.ai/models
Markdown: https://speko.ai/models/index.html.md
Catalog
Every model Speko has measured, and the 73 of 73 catalog entries a request can pin today. Accuracy, latency and price as each board published them — nothing on this page is estimated to fill a column.
Provider
82 models
## Speech-to-text20
\# Model Provider Id
1 Pulse Smallest AI
5.1% 8.0% 178ms $0.0040 (Streaming Pulse, the vendor's published per-model rate (smallest.ai/pricing/models; pre-recorded Pulse is $0.003/min). The ~$0.009/min on the main pricing page is the STT slice of a blended voice-agent stack, not this API's list rate.)
2 Nova-3 Deepgram
12.0% 12.9% 106ms $0.0048 (Streaming pay-as-you-go. Vendor flags it as a limited-time promotional rate; pre-recorded is $0.0043.)
3 Flux Deepgram
not measured 6.6% 406ms $0.0065 (Flux English streaming pay-as-you-go. Vendor flags it as a limited-time promotional rate; flux-general-multi is $0.0078.)
4 Ink-2 Cartesia
11.0% 9.9% 102ms $0.0090 (Ink-2 bills 3 credits/sec on Pro, the cheapest paid plan; $0.0071 at Startup, $0.0067 at Scale. The 1 credit/sec rate is Ink-Whisper, a different model.)
5 Qwen3-ASR Alibaba
2.8% 4.0% 424ms $0.0054 (qwen3-asr-flash-realtime, Singapore. The file/sync SKU is $0.0021.)
6 Chirp 3 Google
3.9% 7.4% 581ms $0.0160 (Speech-to-Text V2 Standard, first tier — one rate for streaming, sync and batch. Dynamic Batch Recognition is $0.003.)
7 Scribe v2 Realtime ElevenLabs
not measured 3.4% 233ms $0.0065 (Scribe v2 Realtime at $0.39/hr, flat across every tier. Batch Scribe v2 is $0.0037.)
8 Realtime STT-1 Inworld
3.3% 3.6% 139ms $0.0025 (On-demand $0.15/hr. The $0.10/hr headline needs a paid Creator subscription.)
9 Universal-3.5 Pro AssemblyAI
2.0% 2.0% 66ms $0.0075 (Universal-3.5 Pro Realtime at $0.45/hr. Async pre-recorded is $0.0035. Diarization and other add-ons bill on top.)
10 Velma 2 Modulate
4.4% 5.4% 1.11s $0.0008 (Published streaming rate for English Fast, $0.05/hr. Batch is $0.025/hr. The $0.06/hr this row used to carry is the MULTILINGUAL row, a different product from the one this id names. Not a measurement.)
11 stt-rt-v5 Soniox
7.5% 7.3% 78ms $0.0020
12 GPT-4o Transcribe OpenAI
2.3% 5.8% 572ms $0.0060
13 GPT Transcribe OpenAI
2.5% 6.2% 817ms $0.0045 (Billed per minute, not per token.)
14 GPT Live Transcribe OpenAI
not measured 4.5% 1.12s $0.0170 (gpt-live-transcribe, the streaming path this row is recommended for.)
15 Qwen3-ASR Fast Nari
3.3% 3.2% 33ms $0.0020 (Vendor list $0.12 per input audio hour, Partner tier (docs.narilabs.com/models-and-pricing, read 2026-09-13). A free tier of the same model is listed at $0.)
16 GPT-4o-mini Transcribe OpenAI
2.7% 6.4% 460ms $0.0030
17 Gradium ASR Gradium
8.4% 11.7% 334ms $0.0104 (3 credits/sec on the XS tier, the cheapest paid plan; $0.0068 at the L tier.)
18 Solaria-1 Gladia
5.0% 11.4% 596ms $0.0125 (Starter pay-as-you-go real-time ($0.75/hr). Pre-recorded is $0.0102/min, and committed Growth pricing goes to $0.0042.)
19 Muse Voice Transcribe Meta
not measured 4.6% not measured $0.0030 (Vendor list price: $3.00 per 1,000 minutes, equivalently $0.18/hr. Streaming and batch are priced identically -- the table does not differentiate -- and there is a single tier, no plan or volume rates.)
20 Gemini 3.5 Transcribe Live Google
not measured not measured 1.22s ~$0.0090 (ESTIMATE, not a published per-minute rate. Google prices this model per token -- $3.50/1M audio in, $21.00/1M text out -- and the ~$0.005/min + ~$0.004/min figures on the pricing page are Google's own estimate at 25 audio tokens/sec input and 175 text tokens/min output, for a blended ~$0.009/min. Speech density moves it, so read it as an order of magnitude rather than a rate card. Every other price on this column is the vendor's published per-minute rate.)
## LLM14
\# Model Provider Id
1 gpt-5.6-luna OpenAI
94.21% (84–100% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 659ms 70% 0% $1.20
2 gpt-4.1 OpenAI
91.40% (78–100% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 640ms 59% 10% $8.00
3 gpt-5.6-terra OpenAI
87.37% (74–98% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 701ms 66% 0% $12.00
4 gpt-4.1-mini OpenAI
87.19% (78–95% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 708ms 40% 57% $1.60
5 gpt-oss-120b (Baseten) Baseten
86.32% (72–98% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 393ms 71% 27% $0.50
6 gpt-oss-120b (Cerebras) Cerebras
85.00% (70–96% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 195ms 68% 30% $0.75
7 Claude Haiku 4.5 Anthropic
82.46% (67–95% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 532ms 2% 0% $5.00
8 Claude Sonnet 5 Anthropic
81.72% (65–95% 95% CI bootstrap over items · n=93 · measured 2026-08-25) 1.21s 40% 0% $10.00
9 DeepSeek-V4-Flash-0731 Baseten
80.18% (71–90% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 361ms 5% 10% $0.26
10 gemma-4-31b Cerebras
77.72% (62–92% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 192ms 53% 0% $1.49
11 gemini-3.8-flash Gemini
77.37% (61–92% 95% CI bootstrap over items · n=95 · measured 2026-09-03) not measured 69% 0% $3.75
12 GLM-4.7 Baseten
72.46% (59–85% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 275ms 2% 17% $2.20
13 Llama-3.3-70B Together
64.21% (43–84% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 698ms 74% 0% $1.04
14 inkling-small Baseten
57.72% (43–73% 95% CI bootstrap over items · n=95 · measured 2026-08-25) 177ms 72% 0% $1.20
## Text-to-speech36
\# Model Provider Id
1 eleven_v3_conversational ElevenLabs
1590 266ms $50.0
2 gemini-3.1-flash-tts-preview Gemini
1591 978ms ~$33.3
3 aura-2 Deepgram
1584 125ms $30.0
4 flux Deepgram
~1550 106ms $45.0
5 sonic-3.5 Cartesia
1574 121ms $50.0
6 sonic-3.6 Cartesia
~1578 120ms $50.0
7 tts-rt-v1 Soniox
1569 362ms ~$13.0
8 tts-rt-v2 Soniox
~1606 381ms ~$13.0
9 simba-3.2 Speechify
1573 345ms $10.0
10 inworld-tts-2 Inworld
1561 116ms $25.0
11 inworld-tts-2-flash Inworld
~1501 82ms $15.0
12 s2.1-pro Fish Audio
~1566 185ms $15.0
13 lightning_v3.1 Smallest
1544 173ms $17.5
14 grok-tts xAI Grok
1495 272ms $15.0
15 Gradium TTS Gradium
~1585 272ms $57.8
16 gpt-4o-mini-tts OpenAI
1424 691ms ~$20.0
17 arcanav3 Rime
1429 238ms $40.0
18 speech-2.8-hd MiniMax
1431 294ms $100.0
19 octave-2 Hume
1377 448ms $100.0
20 qwen3-tts-flash Qwen
1310 472ms $10.0
21 palabra-tts-v1 Palabra
~1520 72ms $30.0
22 bland-speech Bland
~1569 303ms $40.0
23 Qwen3-TTS Fast Nari
~1536 not measured $10.0
24 Maya 2 Native Maya
not measured 100ms ~$4.0
25 eleven_flash_v2_5 ElevenLabs
~1494 not measured $50.0
26 eleven_turbo_v2_5 ElevenLabs
~1466 not measured $50.0
27 eleven_multilingual_v2 ElevenLabs
~1472 not measured $100.0
28 eleven_flash_v2 ElevenLabs
~1507 not measured $50.0
29 eleven_turbo_v2 ElevenLabs
~1492 not measured $50.0
30 sonic-3 Cartesia
~1551 not measured $50.0
31 coda Rime
~1535 not measured $50.0
32 mistv3 Rime
~1428 not measured $30.0
33 octave-1 Hume
~1455 not measured $100.0
34 speech-2.6-hd MiniMax
~1450 not measured ~$100.0
35 speech-2.6-turbo MiniMax
~1408 not measured ~$60.0
36 lightning_v3.1_pro Smallest
~1447 not measured $19.5
## Speech-to-speech12
\# Model Provider Id Price as published
1 grok-voice-think-fast-2.0 xAI
0.85 0.67 820ms $0.08 · min
2 gemini-3.1-flash-live Gemini
0.77 0.78 1.11s $3.00 / $12.00 · 1M tok
3 gpt-realtime OpenAI
0.79 0.84 494ms $32 / $64 · 1M tok
4 gpt-realtime-2.1-mini OpenAI
0.76 0.83 1.01s $10 / $20 · 1M tok
5 gemini-3.8-live Gemini
0.87 0.83 1.21s $0.005 · min
6 gemini-3.8-live-extended-thinking Gemini
0.83 0.83 844ms $0.005 · min
7 gpt-live-1 OpenAI
0.86 0.78 1.22s $0.05 · min
8 grok-voice-fast xAI
0.74 0.44 1.11s $0.05 · min
9 gpt-realtime-2 OpenAI
0.67 0.87 1.10s $32 / $64 · 1M tok
10 gpt-realtime-2.1 OpenAI
0.63 0.56 1.10s $32 / $64 · 1M tok
11 gpt-realtime-mini OpenAI
0.65 0.77 614ms $10 / $20 · 1M tok
12 grok-voice-think-fast-1.0 xAI
0.60 0.22 1.01s $0.05 · min
## Measured per language
26 studies across 13 languages.
### Spanish speech-to-text
\# Model Provider Id WER batch
1 GPT-4o Transcribe OpenAI
3.8%
2 Universal-3.5 Pro AssemblyAI
4.0%
3 Qwen3-ASR Alibaba
4.4%
4 GPT-4o-mini Transcribe OpenAI
4.6%
5 Chirp 3 Google
5.4%
6 Gradium ASR Gradium
6.7%
7 Ink-Whisper Cartesia
7.3%
8 stt-rt-v5 Soniox
7.3%
9 Nova-3 Deepgram
8.4%
10 Pulse Pro Smallest AI
8.4%
11 Nova-2 Deepgram
11.3%
12 Scribe v2 Realtime ElevenLabs
not measured
13 Qwen3-ASR Realtime Alibaba
not measured
14 Pulse Smallest AI
not measured
### German speech-to-text
\# Model Provider Id WER batch
1 GPT-4o Transcribe OpenAI
2.1%
2 Universal-3.5 Pro AssemblyAI
2.6%
3 Qwen3-ASR Alibaba
3.0%
4 GPT-4o-mini Transcribe OpenAI
4.1%
5 Scribe v2 Realtime ElevenLabs
not measured
6 Chirp 3 Google
5.0%
7 Qwen3-ASR Realtime Alibaba
not measured
8 Gradium ASR Gradium
5.7%
9 Ink-Whisper Cartesia
7.4%
10 Pulse Smallest AI
not measured
11 Pulse Pro Smallest AI
9.2%
12 Nova-3 Deepgram
11.2%
13 Nova-2 Deepgram
12.0%
14 stt-rt-v5 Soniox
13.4%
### French speech-to-text
\# Model Provider Id WER batch
1 Universal-3.5 Pro AssemblyAI
3.3%
2 GPT-4o Transcribe OpenAI
4.0%
3 Qwen3-ASR Realtime Alibaba
not measured
4 Qwen3-ASR Alibaba
4.4%
5 Scribe v2 Realtime ElevenLabs
not measured
6 GPT-4o-mini Transcribe OpenAI
6.8%
7 GPT Live Transcribe OpenAI
not measured
8 Chirp 3 Google
not measured
9 stt-rt-v5 Soniox
8.6%
10 Nova-3 Deepgram
9.9%
11 Gradium ASR Gradium
10.0%
12 Ink-Whisper Cartesia
10.4%
13 Pulse Smallest AI
not measured
14 Pulse Pro Smallest AI
11.8%
15 Nova-2 Deepgram
12.9%
### Arabic speech-to-text
\# Model Provider Id CER batch
1 GPT-4o Transcribe OpenAI
2.7%
2 Universal-3.5 Pro AssemblyAI
3.3%
3 Qwen3-ASR Alibaba
3.5%
4 Qwen3-ASR Realtime Alibaba
not measured
5 Scribe v2 Realtime ElevenLabs
not measured
6 Grok STT xAI
not measured
7 GPT-4o-mini Transcribe OpenAI
4.7%
8 S3 Hamsa
5.0%
9 stt-rt-v5 Soniox
5.1%
10 Nova-3 Deepgram
7.1%
11 Ink-Whisper Cartesia
10.2%
### Filipino speech-to-text
\# Model Provider Id WER batch
1 GPT-4o Transcribe OpenAI
6.1%
4 GPT-4o-mini Transcribe OpenAI
10.8%
5 Scribe v2 Realtime ElevenLabs
not measured
6 GPT Live Transcribe OpenAI
not measured
7 Velma 2 multilingual Modulate
12.5%
8 Qwen3-ASR Alibaba
18.8%
9 Qwen-ASR Alibaba
18.8%
10 Ink-Whisper Cartesia
20.7%
11 stt-rt-v5 Soniox
21.9%
12 Nova-3 Deepgram
25.6%
13 Qwen3-ASR Fast Nari
not measured
14 Chirp 3 Google
27.3%
### Norwegian speech-to-text
\# Model Provider Id WER batch
2 Scribe v1 ElevenLabs
5.7%
3 GPT-4o Transcribe OpenAI
6.4%
5 Scribe v2 Realtime ElevenLabs
not measured
6 Velma 2 multilingual Modulate
8.4%
7 stt-rt-v5 Soniox
8.6%
8 Universal-3.5 Pro AssemblyAI
10.1%
9 Chirp 3 Google
11.2%
10 Qwen3-ASR Alibaba
12.0%
11 Qwen-ASR Alibaba
12.0%
12 GPT-4o mini Transcribe OpenAI
14.4%
13 Qwen3-ASR Realtime Alibaba
not measured
14 Ink-Whisper Cartesia
14.5%
15 Nova-3 Deepgram
14.6%
16 Nova-2 Deepgram
19.1%
### Hindi speech-to-text
\# Model Provider Id WER batch
1 Chirp 3 Google
6.1%
2 Qwen3-ASR Alibaba
9.8%
3 stt-rt-v5 Soniox
12.3%
4 GPT-4o-mini Transcribe OpenAI
12.7%
5 Pulse Pro Smallest AI
13.4%
6 Universal-3.5 Pro AssemblyAI
17.2%
7 Nova-3 Deepgram
20.3%
8 GPT-4o Transcribe OpenAI
21.0%
9 Nova-2 Deepgram
25.1%
10 Ink-Whisper Cartesia
41.9%
### Tamil speech-to-text
\# Model Provider Id CER batch
1 Chirp 3 Google
7.4%
2 GPT-4o Transcribe OpenAI
10.1%
3 Pulse Pro Smallest AI
12.1%
4 Nova-3 Deepgram
14.2%
5 stt-rt-v5 Soniox
14.6%
6 GPT-4o-mini Transcribe OpenAI
16.1%
7 Ink-Whisper Cartesia
30.6%
### Telugu speech-to-text
\# Model Provider Id CER batch
1 Chirp 3 Google
3.2%
2 GPT-4o Transcribe OpenAI
7.5%
3 Pulse Pro Smallest AI
8.5%
4 stt-rt-v5 Soniox
9.8%
5 GPT-4o-mini Transcribe OpenAI
10.2%
6 Nova-3 Deepgram
13.4%
### Korean speech-to-text
\# Model Provider Id CER stream
1 stt-rt-v5 Soniox
not measured
2 Scribe v2 Realtime ElevenLabs
not measured
3 Grok STT xAI
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
not measured
4 Qwen3-ASR Alibaba
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
not measured
5 GPT-4o Transcribe OpenAI
not measured
6 Solaria-1 Gladia
not measured
8 Nova-3 Deepgram
not measured
### Chinese (Mandarin) speech-to-text
\# Model Provider Id CER stream
1 stt-rt-v5 Soniox
not measured
2 Qwen3-ASR Alibaba
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
not measured
3 Scribe v2 Realtime ElevenLabs
not measured
4 Grok STT xAI
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
not measured
6 GPT-4o Transcribe OpenAI
not measured
7 Nova-3 Deepgram
not measured
8 Solaria-1 Gladia
not measured
### Japanese speech-to-text
\# Model Provider Id CER batch
1 GPT-4o Transcribe OpenAI
1.6%
3 stt-rt-v5 Soniox
2.0%
4 Scribe v1 ElevenLabs
2.1%
5 Qwen3-ASR Alibaba
2.1%
6 Qwen-ASR Alibaba
2.1%
8 GPT-4o mini Transcribe OpenAI
2.8%
9 Universal-3.5 Pro AssemblyAI
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
not measured
10 Scribe v2 Realtime ElevenLabs
not measured
11 Velma 2 multilingual Modulate
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
4.8%
12 Pulse Pro Smallest AI
5.5%
13 Pulse Smallest AI
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
not measured
14 GPT Live Transcribe OpenAI
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
not measured
15 Solaria-1 Gladia
11.5%
16 Nova-3 Deepgram
20.7%
17 Ink-Whisper Cartesia
30.3%
18 Grok STT xAI
42.9%
### Thai speech-to-text
\# Model Provider Id CER batch
1 Qwen-ASR Alibaba
3.5%
3 Qwen3-ASR Alibaba
3.5%
5 Scribe v1 ElevenLabs
4.3%
6 Qwen3-ASR Realtime Alibaba
not measured
7 GPT Live Transcribe OpenAI
not measured
8 stt-rt-v5 Soniox
4.7%
9 Scribe v2 Realtime ElevenLabs
not measured
10 Velma 2 multilingual Modulate
5.1%
11 Qwen3-ASR Fast Nari
not measured
12 GPT-4o mini Transcribe OpenAI
5.2%
13 GPT-4o Transcribe OpenAI
6.1%
14 Chirp 3 Google
6.4%
15 Solaria-1 Gladia
7.9%
16 Nova-3 Deepgram
8.4%
17 Universal (batch tier) AssemblyAI
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
11.2%
18 Grok STT xAI
16.6%
19 Ink-Whisper Cartesia
24.1%
### Spanish text-to-speech
\# Model Provider Id Naturalness Elo
1 eleven_v3_conversational ElevenLabs
1951.00
2 sonic-3.5 Cartesia
1751.00
3 tts-rt-v2 Soniox
1696.00
4 grok-tts xAI Grok
1634.00
5 inworld-tts-2 Inworld
1598.00
6 octave-2 Hume
1568.00
7 tts-rt-v1 Soniox
1525.00
8 lightning_v3.1 Smallest
1487.00
9 speech-2.8-hd MiniMax
1460.00
10 qwen3-tts-flash Qwen
1437.00
11 gpt-4o-mini-tts OpenAI
1408.00
12 arcanav3 Rime
1172.00
13 aura-2 Deepgram
1055.00
### German text-to-speech
\# Model Provider Id Naturalness Elo
1 eleven_v3_conversational ElevenLabs
1798.00
2 grok-tts xAI Grok
1762.00
3 tts-rt-v1 Soniox
1717.00
4 tts-rt-v2 Soniox
1700.00
5 octave-2 Hume
1687.00
6 sonic-3.5 Cartesia
1665.00
7 inworld-tts-2 Inworld
1576.00
8 qwen3-tts-flash Qwen
1573.00
9 speech-2.8-hd MiniMax
1528.00
10 gpt-4o-mini-tts OpenAI
1497.00
11 arcanav3 Rime
1257.00
12 lightning_v3.1 Smallest
1254.00
13 Gradium TTS Gradium
1245.00
14 aura-2 Deepgram
1062.00
### French text-to-speech
\# Model Provider Id Naturalness Elo
1 eleven_v3_conversational ElevenLabs
1775.00
2 tts-rt-v2 Soniox
1695.00
3 grok-tts xAI Grok
1692.00
4 inworld-tts-2 Inworld
1684.00
5 octave-2 Hume
1671.00
6 tts-rt-v1 Soniox
1628.00
7 sonic-3.5 Cartesia
1622.00
8 gpt-4o-mini-tts OpenAI
1535.00
9 qwen3-tts-flash Qwen
1529.00
10 speech-2.8-hd MiniMax
1419.00
11 lightning_v3.1 Smallest
1416.00
12 arcanav3 Rime
1316.00
13 Gradium TTS Gradium
1233.00
14 aura-2 Deepgram
1114.00
### Arabic text-to-speech
\# Model Provider Id Naturalness Elo
1 grok-tts xAI Grok
1736.00
2 sonic-3.5 Cartesia
1644.00
3 tts-rt-v2 Soniox
1612.00
4 eleven_v3_conversational ElevenLabs
1564.00
5 inworld-tts-2 Inworld
1454.00
### Filipino text-to-speech
\# Model Provider Id Naturalness Elo
1 gemini-3.1-flash-tts-preview Gemini
2012.00
2 tts-rt-v2 Soniox
1790.00
3 eleven_v3_conversational ElevenLabs
1693.00
4 gpt-4o-mini-tts OpenAI
1676.00
5 grok-tts xAI Grok
1657.00
6 speech-2.8-hd MiniMax
1598.00
7 sonic-3.5 Cartesia
1597.00
8 inworld-tts-2 Inworld
1251.00
### Norwegian text-to-speech
\# Model Provider Id Naturalness Elo
1 sonic-3.5 Cartesia
1836.00
2 gemini-3.1-flash-tts-preview Gemini
1705.00
3 eleven_v3_conversational ElevenLabs
1628.00
4 tts-rt-v2 Soniox
1621.00
5 Azure AI Speech (native) Azure
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1467.00
6 gpt-4o-mini-tts OpenAI
1420.00
7 speech-2.8-hd MiniMax
1386.00
### Hindi text-to-speech
\# Model Provider Id Naturalness Elo
1 sonic-3.5 Cartesia
1736.00
2 gemini-3.1-flash-tts-preview Gemini
1563.00
3 speech-2.8-hd MiniMax
1522.00
4 eleven_v3_conversational ElevenLabs
1490.00
5 Maya 2 Native Maya
1478.00
6 chirp-3-hd Google Chirp
1468.00
7 Azure AI Speech (native) Azure
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1412.00
8 simba-multilingual Speechify
1310.00
### Tamil text-to-speech
\# Model Provider Id Naturalness Elo
1 gemini-3.1-flash-tts-preview Gemini
1676.00
2 sonic-3.5 Cartesia
1620.00
3 Maya 2 Native Maya
1603.00
4 chirp-3-hd Google Chirp
1555.00
5 eleven_v3_conversational ElevenLabs
1543.00
6 Azure AI Speech (native) Azure
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1462.00
7 simba-multilingual Speechify
1144.00
### Telugu text-to-speech
\# Model Provider Id Naturalness Elo
1 sonic-3.5 Cartesia
1639.00
2 gemini-3.1-flash-tts-preview Gemini
1625.00
3 chirp-3-hd Google Chirp
1548.00
4 Maya 2 Native Maya
1540.00
5 Azure AI Speech (native) Azure
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1419.00
6 simba-multilingual Speechify
1269.00
### Chinese (Mandarin) text-to-speech
\# Model Provider Id Naturalness Elo
1 inworld-tts-2 Inworld
1688.00
2 eleven_v3_conversational ElevenLabs
1675.00
3 gemini-3.1-flash-tts-preview Gemini
1649.00
4 sonic-3.5 Cartesia
1564.00
5 Azure AI Speech (native) Azure
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1552.00
6 speech-2.6-hd MiniMax
1467.00
7 gpt-4o-mini-tts OpenAI
1365.00
### Korean text-to-speech
\# Model Provider Id Naturalness Elo
1 gemini-3.1-flash-tts-preview Gemini
1917.00
2 sonic-3.5 Cartesia
1859.00
3 inworld-tts-2 Inworld
1722.00
4 eleven_v3_conversational ElevenLabs
1628.00
5 gpt-4o-mini-tts OpenAI
1498.00
6 Azure AI Speech (native) Azure
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1438.00
7 speech-2.6-hd MiniMax
1407.00
8 coda Rime
1187.00
9 generative AWS Polly
953.00
### Japanese text-to-speech
\# Model Provider Id Naturalness Elo
1 gemini-3.1-flash-tts-preview Gemini
1756.00
2 eleven_v3 ElevenLabs
1646.00
3 sonic-3.5 Cartesia
1600.00
4 inworld-tts-2 Inworld
1597.00
5 DragonHDLatestNeural Azure
1539.00
6 tts-rt-v2 Soniox
1447.00
7 speech-2.6-hd MiniMax
1441.00
8 chirp-3-hd Google Chirp 3 HD
1407.00
9 gpt-4o-mini-tts OpenAI
1338.00
10 octave-2 Hume
1228.00
### Thai text-to-speech
\# Model Provider Id Naturalness Elo
1 gemini-3.1-flash-tts-preview Gemini
1722.00
2 tts xAI Grok
1719.00
3 speech-2.6-hd MiniMax
1699.00
4 sonic-3.5 Cartesia
1688.00
5 eleven_v3 ElevenLabs
1605.00
6 tts-rt-v2 Soniox
1591.00
7 paxa-tts-flash-v1 Paxa
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1467.00
8 chirp-3-hd Google Chirp 3 HD
1442.00
9 Azure AI Speech (native) Azure
direct benchmark (Measured directly; no Router model id exists for this benchmark row.)
1280.00
10 inworld-tts-2 Inworld
1202.00
11 gpt-4o-mini-tts OpenAI
1084.00
## Published stacks
What benchmarks.speko.ai picks for each job off the boards above, and the measurement that decided it. A stack whose legs are identical to another’s is one row: the publisher distinguishes four jobs and its boards distinguish two stacks. A stack with a leg Router cannot currently call is not shown at all — a measurement may stay visible in that state, an instruction you would copy may not.
Use case Speech-to-text LLM Text-to-speech
Accuracy-critical decided on 2.0% WER · 0% fabrication · 0.93 robustness Natural conversation decided on 2.0% WER · 1.6% dead-air · MOS 1561
Universal-3.5 Pro assemblyai:universal-3-5-pro
Claude Haiku 4.5 anthropic:claude-haiku-4-5
inworld-tts-2 inworld:inworld-tts-2
Tool-heavy agent decided on 2.0% WER · 2.7% tool silence · 50ms
Universal-3.5 Pro assemblyai:universal-3-5-pro
Claude Haiku 4.5 anthropic:claude-haiku-4-5
inworld-tts-2-flash inworld:inworld-tts-2-flash
## How to read this
**Every model id is copyable.** Click an id to copy it. An id offered by the current Router catalog can be sent as`model`; other ids identify benchmark evidence without claiming that the route is currently available. A direct benchmark label means the provider published no Router model id for that row.
**Not measured is not zero.** A dash in a column of word error rates reads as a perfect score, so an unmeasured cell says so in words. A leading `~` is the board’s own mark for an estimate.
**Nothing here re-ranks a board.** The `#` column indexes the order you sorted into. It is not a verdict.
The catalog endpoint did not answer this request, so the routable column comes from the bundled snapshot. The boards are unaffected.
# Speko Router API quickstart
Source: https://speko.ai/docs
Markdown: https://speko.ai/docs/index.html.md
Docs
Call Speko Router's native model discovery, speech-to-text, LLM, and text-to-speech operations with typed responses.
## Set the credential
```bash
export SPEKO_API_KEY=sk_live_...
export SPEKO_ROUTER=https://router.speko.dev
```
## Discover models
```bash
curl --fail --silent "$SPEKO_ROUTER/v1/models" \
-H "Authorization: Bearer $SPEKO_API_KEY"
```
## Transcribe audio
```bash
curl --fail --silent "$SPEKO_ROUTER/v1/stt/transcriptions" \
-H "Authorization: Bearer $SPEKO_API_KEY" \
-H "Idempotency-Key: stt-$(uuidgen)" \
-F 'request={"routing":{"mode":"auto","objective":"latency"},"language":"en"};type=application/json' \
-F 'audio=@sample.wav;type=application/octet-stream'
```
Response
```json
{
"text": "What time do you close on Saturday?",
"route": {"provider": "deepgram", "model": "nova-3", "region": "us-west-2", "attempt_id": "att_..."},
"usage": {"duration_ms": 1840}
}
```
## Generate an LLM response
```bash
curl --fail --silent "$SPEKO_ROUTER/v1/llm/responses" \
-H "Authorization: Bearer $SPEKO_API_KEY" \
-H "Idempotency-Key: llm-$(uuidgen)" \
-H "Content-Type: application/json" \
--data '{
"routing": {"mode": "auto", "objective": "quality"},
"input": [{"type": "message", "role": "user", "content": [{"type": "text", "text": "What time do you close on Saturday?"}]}],
"max_output_tokens": 128
}'
```
Response
```json
{
"id": "resp_req_...",
"route": {"provider": "openai", "model": "gpt-5.2", "region": "us-west-2", "attempt_id": "att_..."},
"output": [{"type": "message", "role": "assistant", "content": [{"type": "text", "text": "We close at six on Saturday."}]}],
"stop_reason": "stop",
"usage": {"input_tokens": 18, "output_tokens": 11}
}
```
## Synthesize speech
```bash
curl --fail --silent "$SPEKO_ROUTER/v1/tts/speech" \
-H "Authorization: Bearer $SPEKO_API_KEY" \
-H "Idempotency-Key: tts-$(uuidgen)" \
-H "Content-Type: application/json" \
--data '{
"routing": {"mode": "auto", "objective": "balanced"},
"input": "We close at six on Saturday.",
"language": "en",
"audio": {"encoding": "pcm_s16le", "sample_rate_hz": 24000, "channels": 1}
}' \
--output reply.pcm
```
## Routes
| | |
| --- | --- |
| GET /openapi.json | Download the canonical OpenAPI 3.1 contract without authentication |
| GET /v1/models | List currently routable models and capabilities |
| POST /v1/stt/transcriptions | Transcribe one uploaded audio file |
| GET /v1/stt/stream | Open a realtime transcription WebSocket |
| POST /v1/tts/speech | Synthesize one utterance to a raw audio stream |
| GET /v1/tts/stream | Open a streaming synthesis WebSocket |
| POST /v1/llm/responses | Generate a typed JSON or SSE LLM response |
## Request headers
| | |
| --- | --- |
| `Authorization` | Bearer Speko API key. Required on every /v1 operation. |
| `Idempotency-Key` | Required on every POST and WebSocket upgrade. Reuse only for a byte-identical retry. |
| `Content-Type` | application/json, multipart/form-data, or the media type declared by the operation. |
## Response headers
| | |
| --- | --- |
| `Speko-Request-ID` | Router correlation id; also appears in error envelopes when available. |
| `Speko-Attempt-ID` | The attempt that produced the response after any pre-output fallback. |
| `Speko-Provider` | The concrete provider selected for this response. |
| `Speko-Model` | The concrete provider model selected for this response. |
| `Speko-Region` | The Speko Router region that served the request. |
| `RateLimit-Policy` | Default edge policy: "relay-ip";q=2000;w=300. Lower concurrency controls may also apply. |
| `Retry-After` | Minimum delay on an application-generated 429; continue with exponential backoff. |
## Errors
| | | |
| --- | --- | --- |
| `400` | `invalid_request` | Correct the fields named by message and hint. |
| `401` | `authentication_failed` | Replace or reactivate the bearer key. |
| `404` | `route_not_found` | Read /openapi.json and use a declared route. |
| `405` | `method_not_allowed` | Use the method in the Allow header. |
| `409` | `idempotency_conflict` | Use a new Idempotency-Key when content changes. |
| `429` | `rate_limited` | Honor Retry-After and use exponential backoff. |
| `429` | `concurrency_exhausted` | Wait for active work to finish, then retry. |
| `502` | `provider_error` | Retry or allow Router to select another provider. |
| `503` | `provider_unavailable` | Retry after a delay or use auto routing. |
| `504` | `request_timeout` | Retry; the selected provider stopped making progress. |
## Give the contract to an agent
```text
Read https://speko.ai/openapi.json. Integrate the native Speko Router contract into this repository. Do not treat Router as an OpenAI-compatible hostname. Use Idempotency-Key on every POST and preserve the typed error envelope.
```
# Pricing
Source: https://speko.ai/pricing
Markdown: https://speko.ai/pricing/index.html.md
$0.09 per minute all-in on Speko infrastructure across speech-to-text, LLM and text-to-speech, or 5% on top of a provider's published rate when routed.
$10 in signup credit applies to every account.
| | Router | Speko infra | Enterprise |
| --- | --- | --- | --- |
| | +5% on the provider's rate | $0.09 per minute | Custom locked for the term |
| Speech-to-text, LLM, TTS | The provider's published rate | Included | Included |
| Routing | Measured selection and pre-response failover | Measured selection and pre-response failover | Plus deployment reviews |
| Access | Public preview | Public preview | By contract |
| Support | Email | Email | Dedicated |
| SLA | None during preview | None during preview | In the contract |
| Commitment | None | None | Committed monthly minimum |
| | [Get API key](https://platform.speko.ai/sign-in) | [Get API key](https://platform.speko.ai/sign-in) | [team@speko.ai](mailto:team@speko.ai) |
## Choose the pricing path
Pick the service boundary first. Router adds managed routing to your provider spend, Speko infrastructure bundles the three voice-model legs into one per-minute rate, and Enterprise covers committed usage and custom operating requirements. Signup credit is applied before paid usage.
- ### Signup credit
$10 in signup credit applies to every account.
- ### Router
+5% on the provider's rate. Speech-to-text, LLM, TTS: The provider's published rate. Routing: Measured selection and pre-response failover. Access: Public preview. Support: Email. SLA: None during preview. Commitment: None.
- ### Speko infra
$0.09 per minute. Speech-to-text, LLM, TTS: Included. Routing: Measured selection and pre-response failover. Access: Public preview. Support: Email. SLA: None during preview. Commitment: None.
- ### Enterprise
Custom locked for the term. Speech-to-text, LLM, TTS: Included. Routing: Plus deployment reviews. Access: By contract. Support: Dedicated. SLA: In the contract. Commitment: Committed monthly minimum.
## What each feature row means
These are the boundaries used in the plan matrix. They separate the model bill, routing behavior, availability, support, service level, and commercial commitment so an automated buyer can compare like with like.
- ### Speech-to-text, LLM, TTS
Router: The provider's published rate. Speko infrastructure: Included. Enterprise: Included.
- ### Routing
Router: Measured selection and pre-response failover. Speko infrastructure: Measured selection and pre-response failover. Enterprise: Plus deployment reviews.
- ### Access
Router: Public preview. Speko infrastructure: Public preview. Enterprise: By contract.
- ### Support
Router: Email. Speko infrastructure: Email. Enterprise: Dedicated.
- ### SLA
Router: None during preview. Speko infrastructure: None during preview. Enterprise: In the contract.
- ### Commitment
Router: None. Speko infrastructure: None. Enterprise: Committed monthly minimum.
## What the 5% is 5% of
Provider list rates, from the boards Speko routes on. Routed, you pay the rate of whichever model Router selects, plus 5%. On Speko infrastructure you pay $0.09 a minute for all three legs instead, and none of these apply.
### Speech-to-text
$ / minute of audio · 19 models priced
Lowest $0.0008
Velma 2
Highest $0.0170
GPT Live Transcribe
Velma 2: Published streaming rate for English Fast, $0.05/hr. Batch is $0.025/hr. The $0.06/hr this row used to carry is the MULTILINGUAL row, a different product from the one this id names. Not a measurement.
GPT Live Transcribe: gpt-live-transcribe, the streaming path this row is recommended for.
### LLM
$ / M output tokens · 14 models priced
Lowest $0.26
DeepSeek-V4-Flash-0731
Highest $12.00
gpt-5.6-terra
### Text-to-speech
$ / M characters · 35 models priced
Lowest ~$4.0
Maya 2 Native
Highest $100.0
speech-2.8-hd
Rates as transcribed from [benchmarks.speko.ai](https://benchmarks.speko.ai). A tilde is the board’s own: the vendor publishes no exact rate.
# About Speko
Source: https://speko.ai/about
Markdown: https://speko.ai/about/index.html.md
Company
Speko Group, Inc. builds the hosted Speko Router and the open customer-side Speko Gateway for real-time voice AI workloads.
## What we build
Speko Router is the hosted, provider-neutral data plane at[router.speko.dev](https://router.speko.dev). It exposes typed operations for model discovery, speech transcription, speech synthesis, and LLM responses. Teams can let Router choose an eligible route by latency, quality, cost, or a balanced objective, or pin a provider and model. Each response reports the selected route in structured metadata.
Speko Gateway is a different product boundary: an open customer-side runtime that runs beside LiveKit or Pipecat, keeps BYOK provider credentials in the customer process, and exposes one local streaming protocol across providers. Gateway can use provider-direct routes, Speko-managed routes, or both. Its public repository also owns the canonical wire contract consumed by the hosted Router.
## Who it is for
Router is for applications that want Speko to operate the managed STT, LLM, and TTS data plane. Gateway is for teams that own the conversation loop and want provider-direct streaming or local credential custody. The separate hosted Agents API at [api.speko.dev](https://api.speko.dev) owns agents, sessions, phone calls, and telephony. These surfaces are complementary, but they are not interchangeable.
## Company and contact
Speko is operated by Speko Group, Inc. from the United States and is a Y Combinator company. Product questions, support requests, security reports, billing questions, and partnership inquiries all reach the team at [team@speko.ai](mailto:team@speko.ai). The public[support page](https://speko.ai/support) explains what to include for a faster reply, and the[privacy policy](https://speko.ai/privacy-policy) explains how the website, platform, APIs, SDKs, and demos process information.
# Changelog
Source: https://speko.ai/changelog
Markdown: https://speko.ai/changelog/index.html.md
Product updates
Dated API, model, SDK, console and documentation changes, with the migration action each one needs.
2 entries
[RSS](https://speko.ai/changelog.xml) [JSON](https://speko.ai/changelog.json)
Aug 24, 2026 Improved Available
Router Gateway API
## Router publishes its canonical machine-readable contract
The hosted Router now serves the Gateway-owned OpenAPI 3.1 document at /openapi.json and returns typed JSON for unknown routes and unsupported methods.
- GET https://router.speko.dev/openapi.json is public and returns the exact normative relayapi OpenAPI mirror embedded from the public Gateway repository.
- Unknown paths return route_not_found with HTTP 404. Known paths called with the wrong method return method_not_allowed with HTTP 405 and an Allow header.
- Every public Router response advertises the default edge quota through RateLimit-Policy. Application-generated 429 responses also include Retry-After and the normalized error envelope.
- The contract documents the stable /v1 compatibility policy, RFC 9745 deprecation signal, migration link, and minimum 90-day Sunset notice.
**Action:** No request migration is required. Agents and code generators should discover the Router contract from https://speko.ai/openapi.json or https://router.speko.dev/openapi.json instead of guessing routes.
[Router OpenAPI](https://router.speko.dev/openapi.json) [Versioning policy](https://speko.ai/developers/versioning)
Aug 24, 2026 Added Available
Gateway LiveKit Pipecat
## Gateway is the open customer-side voice runtime
Speko Gateway provides one local streaming protocol across voice providers, native LiveKit and Pipecat integrations, and local BYOK credential custody.
- Gateway runs in the customer workload and can call voice providers directly while keeping BYOK credentials inside the Gateway process.
- The public image ships native LiveKit and Pipecat integrations for streaming STT and TTS, interruption handling, usage, and timing events.
- Gateway can combine provider-direct voice legs with Speko-managed routes. The hosted Router remains a separate Speko-operated data plane at router.speko.dev.
- The public relayapi package in the Gateway repository is the canonical HTTP, SSE, and WebSocket wire contract for hosted Router traffic.
**Action:** Choose Gateway for provider-direct or local-BYOK workloads. Choose Router for the hosted managed data plane; the two surfaces are complementary, not interchangeable.
[Gateway repository](https://github.com/SpekoAI/gateway) [LiveKit guide](https://speko.ai/docs/livekit) [Pipecat guide](https://speko.ai/docs/pipecat)
# Speko developer resources
Source: https://speko.ai/developers
Markdown: https://speko.ai/developers/index.html.md
Developers
Speko Router, Gateway, Agents API, OpenAPI, framework guides, MCP, CLI, and machine-readable discovery resources in one place.
## Choose the right Speko surface
**Router** is Speko's hosted STT, LLM, and TTS data plane at [router.speko.dev](https://router.speko.dev).**Gateway** is the open customer-side runtime in the[SpekoAI/gateway](https://github.com/SpekoAI/gateway)repository; it keeps BYOK credentials in your process and integrates natively with LiveKit and Pipecat. The separate hosted**Agents API** at[api.speko.dev](https://api.speko.dev) owns agents, sessions, phone numbers, and calls. They solve different jobs and do not share an OpenAI-compatible facade.
- **Router quickstart.** The[native Router docs](https://speko.ai/docs) show model discovery, STT, LLM, and TTS calls with typed request and response bodies.
- **OpenAPI.** The canonical Router HTTP contract is served without authentication at[https://router.speko.dev/openapi.json](https://router.speko.dev/openapi.json).
- **Gateway integrations.** Use the public[LiveKit](https://speko.ai/docs/livekit) and[Pipecat](https://speko.ai/docs/pipecat) guides for the customer-side Gateway runtime and its native adapters.
- **Changes.** The[Speko changelog](https://speko.ai/changelog) also publishes[JSON Feed](https://speko.ai/changelog.json) and[RSS](https://speko.ai/changelog.xml) representations.
- **Versioning.** The[API versioning and deprecation policy](https://speko.ai/developers/versioning) defines compatible v1 changes, RFC 9745 deprecation signals, a minimum 90-day Sunset window, typed errors, and rate-limit fields.
## Call Router directly
Every Router request sends`Authorization: Bearer $SPEKO_API_KEY`. Every POST also sends an `Idempotency-Key`. Use[GET /v1/models](https://router.speko.dev/v1/models) to discover currently routable models and their capabilities. Use`routing: { mode: "auto", objective: "balanced" }`for managed selection, or provide an explicit provider and model. Router is a native contract, not a hostname replacement for an OpenAI SDK.
## Connect an agent
The public Speko Docs MCP server is a read-only Streamable HTTP endpoint at[https://speko.ai/.well-known/mcp](https://speko.ai/.well-known/mcp). It requires no authentication: initialize the connection, list resources, read `spekoai://docs/index`, and then open the matching documentation resource rather than guessing a page or tool name.
Account data and write tools remain on the protected operational MCP endpoint at[https://mcp.speko.ai/mcp](https://mcp.speko.ai/mcp). Clients use OAuth or a Speko bearer key and should follow the authorization metadata URL in its 401 challenge.
- **Agent index.** [llms.txt](https://speko.ai/llms.txt) explains when to use Speko and lists the exact Markdown representation for every canonical page.
- **Whole corpus.**[llms-full.txt](https://speko.ai/llms-full.txt) contains the complete public site text in one file for retrieval and offline context.
- **Agent skill.** The[Speko get-started skill](https://speko.ai/.well-known/agent-skills/get-started/SKILL.md) is for governed voice-front-desk tasks with explicit approval gates before purchases or calls to a human.
## Use the official CLI
Speko publishes first-party command-line packages on npm. Use`npx @spekoai/mcp-calls init` for the disclosed agent-call setup flow, or `npx @spekoai/mcp` as a local stdio bridge when an MCP client cannot connect to Streamable HTTP directly. The[Speko CLI guide](https://speko.ai/developers/cli) links both registry packages and explains which interface fits each job.
# Speko CLI
Source: https://speko.ai/developers/cli
Markdown: https://speko.ai/developers/cli/index.html.md
Developers
Official Speko command-line tools on npm for disclosed agent phone calls and local access to the hosted Speko MCP server.
## Install the CLI
[@spekoai/cli](https://www.npmjs.com/package/@spekoai/cli) is the Speko CLI: sign in, create agents, place calls, read transcripts, and run an agent’s eval suite. It publishes the `speko-cli` executable. Reference is at [docs.speko.ai/cli](https://docs.speko.ai/cli).
`npm install -g @spekoai/cli`
`speko-cli login`
## Placing disclosed phone calls
[@spekoai/mcp-calls](https://www.npmjs.com/package/@spekoai/mcp-calls) is a separate package, for an AI agent that must place a real, disclosed phone call to a business or call its verified owner for input. It publishes the `speko` executable on npm. Start the guided setup without a global install:
`npx @spekoai/mcp-calls init`
Use this package only when a task genuinely needs a phone call and the caller can disclose that it is an AI agent. The setup flow owns credentials and consent configuration; do not put secrets in command arguments or source control.
## Bridge a local MCP client
[@spekoai/mcp](https://www.npmjs.com/package/@spekoai/mcp) is the official local stdio bridge for MCP clients that cannot connect directly to Speko's hosted Streamable HTTP endpoint. It publishes the `spekoai-mcp` executable:
`npx @spekoai/mcp`
- **Public documentation.** Agents can list and read docs without authentication at[https://speko.ai/.well-known/mcp](https://speko.ai/.well-known/mcp).
- **Account operations.** OAuth and API-key clients use the protected endpoint at[https://mcp.speko.ai/mcp](https://mcp.speko.ai/mcp).
For direct application integrations, use the[REST API and OpenAPI resources](https://speko.ai/developers)instead of wrapping API calls in shell commands.
# Speko API versioning and deprecation policy
Source: https://speko.ai/developers/versioning
Markdown: https://speko.ai/developers/versioning/index.html.md
Developers
Speko REST API versioning, backward-compatibility, deprecation, sunset, migration, and rate-limit conventions for durable agent integrations.
## Stable major versions
Speko's stable REST operations use a major version in the URL, beginning with `/v1`. Backward-compatible fields, enum values, and endpoints may be added within v1. A change that removes a field, changes its meaning, or makes a previously valid request invalid requires a new major path. The[OpenAPI 3.1 contract](https://router.speko.dev/openapi.json) is the language-neutral source for current request and response shapes.
## Deprecation and sunset signals
No v1 operation is currently deprecated. Before Speko removes a stable operation, the response will carry the RFC 9745`Deprecation` header and a `Link` with the`deprecation` relation to its migration instructions. A dated `Sunset` header will be announced at least 90 days before shutdown. The same change appears in the[dated public changelog](https://speko.ai/changelog), JSON Feed, and RSS feed with an effective date, sunset date, and concrete migration action.
- **Compatible change.** Continue using v1; tolerate unknown response fields and enum values where the contract allows them.
- **Deprecated operation.** Follow the linked migration and move before the advertised Sunset date.
- **Model identifiers.** A renamed model keeps an input alias; catalog and response headers publish the canonical identifier.
## Errors and request quotas
Router errors use a JSON `error` object with stable`code`, `message`, `hint`, and`retryable` fields. Every public Router response advertises the default edge quota as`RateLimit-Policy: "relay-ip";q=2000;w=300`: 2,000 requests per five-minute window for each public source IP. Organization and provider concurrency controls can impose a lower effective limit. An application-generated 429 also includes`Retry-After`; agents must wait at least that long and then continue with exponential backoff rather than retrying in a tight loop.
# Speko Gateway for LiveKit
Source: https://speko.ai/docs/livekit
Markdown: https://speko.ai/docs/livekit/index.html.md
Docs
Run the open Speko Gateway beside a LiveKit AgentSession for provider-direct voice legs and optional managed Router LLMs.
## Use the native Gateway integration
Speko Gateway is a customer-side runtime that runs in the same image or beside the LiveKit agent. It is not an OpenAI-compatible base URL. The public Gateway image includes the binary and Python integration; follow the complete container diff in the[Gateway README](https://github.com/SpekoAI/gateway#add-gateway-to-a-livekit-agent).
```python
from livekit.agents import AgentSession
from livekit.plugins import openai
from speko_gateway.livekit import LLM, STT, TTS
session = AgentSession(
stt=STT(
language="en",
credential_source="auto", # managed or local BYOK
),
llm=LLM(
model="auto",
objective="balanced",
max_output_tokens=8192,
),
tts=TTS(
language="en",
credential_source="auto",
),
)
```
## Managed credentials
```text
lk agent update-secrets \
--secrets "SPEKO_LOCAL_AUTH_TOKEN=$(openssl rand -hex 32)" \
--secrets "SPEKO_API_KEY=$SPEKO_API_KEY"
```
## Local BYOK credentials
```text
lk agent update-secrets \
--secrets "SPEKO_LOCAL_AUTH_TOKEN=$(openssl rand -hex 32)" \
--secrets "SPEKO_DEEPGRAM_BYOK_API_KEY=$DEEPGRAM_API_KEY"
```
## Choose the trust boundary
| | |
| --- | --- |
| `Managed` | Gateway requests Speko-managed routes; Router handles the hosted LLM data plane. |
| `BYOK` | Provider credentials stay inside the Gateway process and provider-direct voice traffic does not traverse Router. |
| `Mixed` | Use BYOK for selected voice legs and a Speko API key for managed or Router-backed work. |
# Speko Gateway for Pipecat
Source: https://speko.ai/docs/pipecat
Markdown: https://speko.ai/docs/pipecat/index.html.md
Docs
Add Speko Gateway's native STT and TTS services to a Pipecat cascade while keeping the rest of the pipeline unchanged.
## Replace only the voice services
Gateway implements native Pipecat STT and TTS services. Turn aggregation, tools, transports, observers, and the LLM remain normal Pipecat components. See the complete sidecar and Pipecat Cloud setup in the[public Gateway guide](https://github.com/SpekoAI/gateway/blob/main/docs/PIPECAT.md).
```python
from pipecat.services.openai.llm import OpenAILLMService
from speko_gateway.pipecat import SpekoSTTService, SpekoTTSService
stt = SpekoSTTService(language="en")
llm = OpenAILLMService(model="gpt-4.1-mini") # any Pipecat LLM service
tts = SpekoTTSService(language="en")
pipeline = Pipeline([
transport.input(),
stt,
user_aggregator,
llm,
tts,
transport.output(),
assistant_aggregator,
])
```
## Configure managed or BYOK credentials
```text
SPEKO_LOCAL_AUTH_TOKEN=replace-with-a-random-local-token
SPEKO_API_KEY=sk_live_...
# Or keep a provider credential local to Gateway:
SPEKO_DEEPGRAM_BYOK_API_KEY=...
```
## Pipeline behavior
| | |
| --- | --- |
| `STT` | Native streaming SpekoSTTService with utterance commits, final transcripts, usage, and cancellation. |
| `LLM` | Keep any Pipecat LLM service, or use Router through a Gateway integration when managed LLM routing is desired. |
| `TTS` | Native streaming SpekoTTSService with sentence synthesis, first-audio timing, and barge-in cancellation. |
# Privacy Policy
Source: https://speko.ai/privacy-policy
Markdown: https://speko.ai/privacy-policy/index.html.md
Legal
How Speko collects, uses, shares, and protects information when you use the Speko website, platform, APIs, SDKs, demos, and integrations.
Effective May 23, 2026
Speko Group, Inc. ("Speko", "we", "us", or "our") provides a voice AI gateway and platform for routing speech-to-text, language model, text-to-speech, and real-time voice agent workloads across providers. This Privacy Policy explains how we handle information for our public website, dashboard, APIs, SDKs, demos, documentation, support channels, and connected integrations.
## 1. Information We Collect
We collect information in the following categories:
- **Account and identity information.** Name, email address, organization, authentication identifiers, role, workspace membership, and security settings.
- **Platform configuration.** Agents, prompts, routing preferences, provider selections, tool definitions, knowledge base metadata, API key metadata, and encrypted provider credentials you choose to store with Speko.
- **Voice session and API content.** Audio, transcripts, generated responses, tool inputs and outputs, session recordings, phone numbers, request metadata, latency, routing decisions, logs, and usage data generated when you or your users use Speko.
- **Integration data.** Information from third-party services you connect, such as account identifiers, access tokens, calendars, events, availability, messages, files, or other data exposed by the scopes you approve.
- **Website, device, and support data.** IP address, browser and device metadata, pages visited, referral source, diagnostics, cookies or similar technologies, support messages, and feedback.
- **Billing data.** Billing contact details, subscription status, usage credits, invoices, and payment processing records handled by our payment providers.
## 2. How We Use Information
We use information to:
- create and secure accounts, organizations, workspaces, API keys, and sessions;
- provide the Speko platform, APIs, SDKs, demos, integrations, and support;
- route voice and AI requests to selected providers, perform failover, return transcripts, play generated audio, execute configured tools, and show operational logs;
- measure usage, manage billing, enforce limits, detect abuse, and prevent fraud;
- debug, maintain, secure, and improve Speko services;
- communicate about service updates, security events, support requests, and billing; and
- comply with legal obligations and enforce our terms.
We do not sell personal information. We do not use customer voice session content or Google user data for advertising.
## 3. Voice, Audio, and Transcript Data
Speko processes voice data so the service can create live voice sessions, transcribe speech, route model requests, synthesize responses, provide observability, and allow customers to inspect or debug their own sessions. Depending on your configuration, Speko may send audio, transcripts, prompts, and related request data to third-party speech, language model, and voice providers selected by the routing system or by your organization.
Session recordings are generally retained for 30 days after a session ends, then deleted by lifecycle policy, unless a different product configuration or legal requirement applies. Customers should avoid sending sensitive information unless their workspace and providers are configured for that use case.
## 4. Google User Data
Speko's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
If you connect a Google account or install a Google integration, Speko requests only the scopes needed for the feature you choose to use. For example, a calendar integration may use Google account identifiers, calendar lists, event details, availability, and event write access so your configured agents can check schedules, create bookings, update meetings, or perform related actions you authorize.
We use Google user data only to provide and maintain the connected Speko feature, including:
- authenticating the connected Google account;
- displaying and managing integration status inside Speko;
- executing user-configured agent actions, such as reading availability or creating events;
- debugging, securing, and auditing the integration; and
- complying with law, security obligations, and user instructions.
We do not sell Google user data, use it for advertising, or use it to train generalized AI or machine learning models. We do not allow humans to read Google user data except when necessary for security, legal compliance, support you request, or internal operations with appropriate access controls.
## 5. Sharing and Subprocessors
We share information only as needed to operate Speko or as you direct, including with:
- cloud hosting, database, storage, analytics, security, observability, and support vendors;
- speech, language model, voice, telephony, and media transport providers used to fulfill requests;
- payment processors and billing vendors;
- third-party integrations you connect or instruct Speko to use;
- professional advisors, auditors, and legal authorities when required; and
- successors in a merger, acquisition, financing, or sale of assets.
Customers are responsible for reviewing the third-party providers they configure, including any provider-specific privacy, security, retention, and compliance terms.
## 6. Cookies and Analytics
We may use cookies, local storage, and similar technologies to keep you signed in, remember preferences, protect against abuse, understand website traffic, and improve the product. Browser settings may let you block or delete some cookies, but the platform may not work correctly without required authentication or security cookies.
## 7. Data Retention
We retain information for as long as needed to provide Speko, comply with legal obligations, resolve disputes, maintain security, and enforce agreements. Account, billing, audit, and security records may be retained longer than product content where necessary. You may request deletion of your account or certain data by contacting us.
## 8. Security
We use administrative, technical, and organizational safeguards designed to protect information, including access controls, encryption for sensitive credentials, logging, and monitoring. No system is perfectly secure, so customers should protect their API keys, configure least-privilege integrations, and notify us promptly of suspected misuse.
## 9. Your Choices and Rights
Depending on your location, you may have rights to access, correct, delete, export, or object to certain processing of your personal information. Workspace administrators can manage many settings directly in the dashboard. You can disconnect integrations, revoke API keys, and request account or data deletion by contacting us.
## 10. International Transfers
Speko is operated from the United States and may process information in the United States and other countries where we or our subprocessors operate. Those countries may have data protection laws different from the laws where you live.
## 11. Children
Speko is not directed to children under 13, and we do not knowingly collect personal information from children under 13.
## 12. Changes
We may update this Privacy Policy from time to time. If we make material changes, we will update the effective date and provide additional notice when required.
## 13. Contact
Questions or requests about this Privacy Policy can be sent to [team@speko.ai](mailto:team@speko.ai).
# Speko vs Bland AI
Source: https://speko.ai/speko-vs-bland
Markdown: https://speko.ai/speko-vs-bland/index.html.md
Comparison
Speko offers a hosted Router and an open customer-side Gateway for STT, LLM and TTS workloads; Bland AI is a hosted phone automation platform that executes calls and campaigns, so the useful comparison is which boundary your team wants to own.
Short answer
Choose Bland when managed phone automation is the product requirement. Choose Speko when your runtime owns the conversation loop and model selection is the boundary to make interchangeable.
Author
Speko engineering
Reviewed by
Speko engineering
Published
August 7, 2026 Last reviewed August 7, 2026
## How do Speko and Bland AI compare?
Bland AI category, scope and billing statements were checked against the official sources below on July 31, 2026. The table compares product boundaries, not overall quality. A dash means this site publishes no sourced statement for that cell.
| Dimension | Speko Router + Gateway | Bland AI |
| --- | --- | --- |
| Category | Voice model router. | Hosted phone automation platform. |
| Scope | Compatible model calls for STT, LLM and TTS. It does not run the conversation loop. | Managed phone-call automation, including campaign and call execution inside the Bland product. |
| Telephony | Not included in the Router or Gateway boundary. Telephony and WebRTC remain with the application runtime. | Bland supports its own telephony and BYOT. Carrier, transfer and some outbound charges can be separate from connected-minute usage. |
| Model routing | The application can pin a model or request measured automatic selection from eligible routes. | STT, LLM and TTS are integrated into the connected-minute product rather than exposed as a neutral router. |
| Runtime ownership | Speko operates the routing API; the customer keeps LiveKit, Pipecat or a custom runtime. | Bland operates the phone automation stack; the customer configures workflows and integrations. |
| Observability and failover | Route, reason, failover-count and first-byte headers. Failover is pre-response only, not mid-stream. | Call execution and logs are platform-managed inside the phone automation boundary. |
| Benchmark transparency | Public voice benchmark boards at benchmarks.speko.ai; automatic selection ranks over the published snapshot. | - |
| Pricing model | USD 0.09 per minute all-in on Speko infrastructure; current terms are kept on the pricing page. | Tiered monthly plans plus connected-minute usage. Carrier, BYOT, transfer and some outbound charges can add telephony cost. |
Bland AI sources:
[Bland AI pricing](https://www.bland.ai/pricing) [Bland AI billing](https://docs.bland.ai/platform/billing) [Bland AI documentation](https://docs.bland.ai/)
Checked 2026-07-31
## When to choose Bland AI
- The managed phone automation workflow is the product requirement.
- Managed campaign and call execution should live inside one product boundary.
- Integrated model components should reduce the number of services the application wires directly.
## When to choose Speko
- Automatic routing considers only models in the published benchmark snapshot. If the request constraints leave no eligible candidate, the router returns no_candidate rather than selecting outside that snapshot.
- The route is decided when your session opens, not while you speak.
- A preview endpoint returns the provider Speko would pick for a language and objective, with its runners-up, before you send a request.
## Method and provenance
Every Bland AI cell is copied from the sourced comparison this site maintains on the [voice agent platforms page](https://speko.ai/voice-agent-platforms), where each statement carries its official source and check date. Speko cells are verified against the public contracts and claim ledger this site builds from; the benchmark snapshot behind routing is published at [benchmarks.speko.ai/data.json](https://benchmarks.speko.ai/data.json).
Choose the layer first. Compare products inside that boundary second.
Related pages
- [Voice agent platforms, runtimes and model routers](https://speko.ai/voice-agent-platforms)
- [Speko vs Vapi](https://speko.ai/speko-vs-vapi)
- [Speko vs Retell AI](https://speko.ai/speko-vs-retell)
- [Vapi alternatives](https://speko.ai/vapi-alternatives)
- [Current model catalog](https://speko.ai/models)
- [Speko pricing](https://speko.ai/pricing)
# Speko vs Retell AI
Source: https://speko.ai/speko-vs-retell
Markdown: https://speko.ai/speko-vs-retell/index.html.md
Comparison
Speko offers a hosted Router and an open customer-side Gateway for STT, LLM and TTS workloads; Retell AI is a hosted phone-agent platform that runs the agent for you, so the useful comparison is which boundary your team wants to own.
Short answer
Choose Retell when the requirement is a managed phone-agent product. Choose Speko when your runtime owns the conversation loop and model selection is the boundary to make interchangeable.
Author
Speko engineering
Reviewed by
Speko engineering
Published
August 7, 2026 Last reviewed August 7, 2026
## How do Speko and Retell AI compare?
Retell AI category, scope and billing statements were checked against the official sources below on July 31, 2026. The table compares product boundaries, not overall quality. A dash means this site publishes no sourced statement for that cell.
| Dimension | Speko Router + Gateway | Retell AI |
| --- | --- | --- |
| Category | Voice model router. | Hosted phone-agent platform. |
| Scope | Compatible model calls for STT, LLM and TTS. It does not run the conversation loop. | Managed phone agents assembled from Retell-supported infrastructure and model components. |
| Telephony | Not included in the Router or Gateway boundary. Telephony and WebRTC remain with the application runtime. | Published options include Retell carrier service and custom SIP, priced as separate components. |
| Model routing | The application can pin a model or request measured automatic selection from eligible routes. | The agent uses model and infrastructure choices supported by the Retell configuration surface. |
| Runtime ownership | Speko operates the routing API; the customer keeps LiveKit, Pipecat or a custom runtime. | Retell operates the phone-agent platform and runtime; the customer configures the agent. |
| Observability and failover | Route, reason, failover-count and first-byte headers. Failover is pre-response only, not mid-stream. | Call operations and logs are platform-managed within the supported component boundary. |
| Benchmark transparency | Public voice benchmark boards at benchmarks.speko.ai; automatic selection ranks over the published snapshot. | - |
| Pricing model | USD 0.09 per minute all-in on Speko infrastructure; current terms are kept on the pricing page. | Component pricing: voice infrastructure plus selected TTS, LLM, telephony and optional features. |
Retell AI sources:
[Retell AI pricing](https://www.retellai.com/pricing) [Retell AI documentation](https://docs.retellai.com/)
Checked 2026-07-31
## When to choose Retell AI
- The requirement is a managed phone-agent product rather than a standalone model-routing API.
- Telephony and agent operations should live in one hosted workflow.
- A component-based configuration and pricing surface fits how the team buys.
## When to choose Speko
- Automatic routing considers only models in the published benchmark snapshot. If the request constraints leave no eligible candidate, the router returns no_candidate rather than selecting outside that snapshot.
- The route is decided when your session opens, not while you speak.
- A preview endpoint returns the provider Speko would pick for a language and objective, with its runners-up, before you send a request.
## Method and provenance
Every Retell AI cell is copied from the sourced comparison this site maintains on the [voice agent platforms page](https://speko.ai/voice-agent-platforms), where each statement carries its official source and check date. Speko cells are verified against the public contracts and claim ledger this site builds from; the benchmark snapshot behind routing is published at [benchmarks.speko.ai/data.json](https://benchmarks.speko.ai/data.json).
Choose the layer first. Compare products inside that boundary second.
Related pages
- [Voice agent platforms, runtimes and model routers](https://speko.ai/voice-agent-platforms)
- [Speko vs Vapi](https://speko.ai/speko-vs-vapi)
- [Speko vs Bland AI](https://speko.ai/speko-vs-bland)
- [Vapi alternatives](https://speko.ai/vapi-alternatives)
- [Current model catalog](https://speko.ai/models)
- [Speko pricing](https://speko.ai/pricing)
# Speko vs Vapi
Source: https://speko.ai/speko-vs-vapi
Markdown: https://speko.ai/speko-vs-vapi/index.html.md
Comparison
Speko offers a hosted Router and an open customer-side Gateway for STT, LLM and TTS workloads; Vapi is a hosted developer platform that runs the whole voice agent, so the useful comparison is which boundary your team wants to own.
Short answer
Choose Vapi when a managed platform should own agent orchestration. Choose Speko when your runtime owns the conversation loop and model selection is the boundary to make interchangeable.
Author
Speko engineering
Reviewed by
Speko engineering
Published
August 7, 2026 Last reviewed August 7, 2026
## How do Speko and Vapi compare?
Vapi category, scope and billing statements were checked against the official sources below on July 31, 2026. The table compares product boundaries, not overall quality. A dash means this site publishes no sourced statement for that cell.
| Dimension | Speko Router + Gateway | Vapi |
| --- | --- | --- |
| Category | Voice model router. | Hosted developer platform for voice agents. |
| Scope | Compatible model calls for STT, LLM and TTS. It does not run the conversation loop. | Managed agent orchestration with prompts, tools and a provider stack configured in the platform. |
| Telephony | Not included in the Router or Gateway boundary. Telephony and WebRTC remain with the application runtime. | Telephony is connected and billed separately from Vapi hosting and orchestration. |
| Model routing | The application can pin a model or request measured automatic selection from eligible routes. | Developers configure supported STT, LLM and TTS choices. Model usage can be pass-through or BYOK. |
| Runtime ownership | Speko operates the routing API; the customer keeps LiveKit, Pipecat or a custom runtime. | Vapi operates the hosted platform; the customer configures the agent and connected services. |
| Observability and failover | Route, reason, failover-count and first-byte headers. Failover is pre-response only, not mid-stream. | The platform owns call logs and orchestration. Fallback behavior stays within the configured provider paths. |
| Benchmark transparency | Public voice benchmark boards at benchmarks.speko.ai; automatic selection ranks over the published snapshot. | - |
| Pricing model | USD 0.09 per minute all-in on Speko infrastructure; current terms are kept on the pricing page. | Usage-based hosting and orchestration, plus model and telephony charges; BYOK providers can bill directly. |
Vapi sources:
[Vapi pricing](https://vapi.ai/pricing) [Vapi pricing FAQ](https://docs.vapi.ai/faq) [Vapi documentation](https://docs.vapi.ai/)
Checked 2026-07-31
## When to choose Vapi
- A managed developer platform should own agent orchestration and provider configuration.
- You want a developer-facing managed agent surface with a configurable provider stack.
- The platform should own more of deployment and call orchestration than a model router does.
## When to choose Speko
- Automatic routing considers only models in the published benchmark snapshot. If the request constraints leave no eligible candidate, the router returns no_candidate rather than selecting outside that snapshot.
- The route is decided when your session opens, not while you speak.
- A preview endpoint returns the provider Speko would pick for a language and objective, with its runners-up, before you send a request.
## Method and provenance
Every Vapi cell is copied from the sourced comparison this site maintains on the [voice agent platforms page](https://speko.ai/voice-agent-platforms), where each statement carries its official source and check date. Speko cells are verified against the public contracts and claim ledger this site builds from; the benchmark snapshot behind routing is published at [benchmarks.speko.ai/data.json](https://benchmarks.speko.ai/data.json).
Choose the layer first. Compare products inside that boundary second.
Related pages
- [Voice agent platforms, runtimes and model routers](https://speko.ai/voice-agent-platforms)
- [Speko vs Retell AI](https://speko.ai/speko-vs-retell)
- [Speko vs Bland AI](https://speko.ai/speko-vs-bland)
- [Vapi alternatives](https://speko.ai/vapi-alternatives)
- [Current model catalog](https://speko.ai/models)
- [Speko pricing](https://speko.ai/pricing)
# Support
Source: https://speko.ai/support
Markdown: https://speko.ai/support/index.html.md
Help
How to reach the Speko team, what to include so we can help on the first reply, and where to check whether something is already known to be down.
## Email us
[team@speko.ai](mailto:team@speko.ai) reaches the whole team, including the engineers who built the thing you are writing about. It is the right address for everything: a bug, a question about the API, help picking a voice stack, billing, security, or a partnership.
We answer during business hours, Monday to Friday. If something is actively broken in production, say so in the subject line and it gets picked up ahead of the queue.
## What to include
None of this is required, but each one usually saves a round trip:
- **A session or call id.** Almost every question about a call is answerable in one step from its id.
- **The time it happened, with a timezone.** "This morning" is a wide window in our logs.
- **What you expected, and what happened instead.** The gap between those two is the actual report.
- **The exact error.** Pasted verbatim, including the status code, rather than described.
## Before you write
Two places worth a look first, because they answer faster than we can. [status.speko.ai](https://status.speko.ai) shows whether a provider or a Speko service is degraded right now, and [docs.speko.dev](https://docs.speko.dev) carries the API reference, the quickstarts, and the migration guides.
## Security
If you have found a vulnerability, write to [team@speko.ai](mailto:team@speko.ai) with "security" in the subject and please give us a chance to fix it before disclosing it publicly. We will confirm receipt and keep you updated through the fix.
# Terms of Service
Source: https://speko.ai/terms-of-service
Markdown: https://speko.ai/terms-of-service/index.html.md
Legal
The terms that govern access to and use of Speko's voice routing platform, APIs, SDKs, and demos: accounts, acceptable use, billing, and liability.
Effective May 23, 2026
These Terms of Service ("Terms") govern access to and use of the websites, dashboard, APIs, SDKs, demos, documentation, integrations, and other services provided by Speko Group, Inc. ("Speko", "we", "us", or "our"). By using Speko, you agree to these Terms.
## 1. Speko Services
Speko provides a voice AI gateway and platform that helps teams build, operate, and observe voice agents and voice workflows. The service may route speech-to-text, language model, text-to-speech, telephony, media transport, and tool requests across Speko-managed or customer-configured providers.
## 2. Accounts and Organizations
You must provide accurate account information and keep your credentials secure. If you use Speko for an organization, you represent that you have authority to bind that organization. Organization administrators may manage members, settings, integrations, billing, API keys, and data associated with the organization.
## 3. Customer Data
"Customer Data" means content, prompts, audio, recordings, transcripts, files, tool inputs and outputs, integration data, configuration, and other data submitted to or generated through Speko by you or your users. As between you and Speko, you retain ownership of Customer Data. You grant Speko the rights needed to host, process, transmit, display, store, and otherwise use Customer Data to provide, secure, support, and improve the services.
You are responsible for Customer Data, including obtaining all rights, permissions, notices, and consents required for Speko and its providers to process it. You should not submit regulated or highly sensitive data unless your Speko workspace and selected providers are configured for that use case.
## 4. Voice Sessions and Recordings
Speko may process microphone audio, call audio, transcripts, generated speech, and session recordings to deliver real-time voice features, demos, observability, debugging, and failover. You are responsible for complying with recording consent, call monitoring, biometrics, privacy, and communications laws that apply to your use of Speko.
## 5. Third-Party Providers and Integrations
Speko may rely on third-party providers for speech recognition, language models, text to speech, telephony, media transport, authentication, analytics, billing, infrastructure, and connected integrations. Third-party services are governed by their own terms and policies. Speko is not responsible for third-party services outside our control.
If you connect a third-party account, such as Google Calendar, you authorize Speko to access and use the connected data and tokens only as needed to provide the integration and actions you configure. You may disconnect integrations through the platform or the third-party service.
## 6. API Keys and Security
You are responsible for safeguarding API keys, provider keys, passwords, session tokens, and other credentials. You must promptly revoke compromised credentials and notify Speko of suspected unauthorized access. You may not share credentials in a way that bypasses account, billing, rate limit, or security controls.
## 7. Acceptable Use
You may not use Speko to:
- violate laws, contracts, privacy rights, intellectual property rights, or platform rules;
- send spam, phishing, malware, abusive traffic, or unauthorized communications;
- impersonate people or organizations without permission;
- collect or process sensitive data without required rights, notices, and consents;
- attempt to reverse engineer, overload, scan, scrape, or disrupt Speko systems;
- circumvent usage limits, security controls, billing controls, or access restrictions; or
- use Speko for high-risk activities where failure could cause death, injury, or severe harm.
## 8. Fees and Billing
Paid features, usage credits, subscriptions, overages, and provider pass-through costs are billed according to the plan, order form, dashboard, or written agreement that applies to your account. Fees are non-refundable except where required by law or expressly stated in a written agreement. You authorize Speko and its payment processors to charge applicable fees and taxes.
## 9. Benchmarks, Demos, and Beta Features
Benchmarks, demos, previews, and beta features are provided for evaluation and may change, fail, or be discontinued. Benchmark results depend on datasets, provider availability, model versions, measurement methods, and network conditions. You should validate results for your own workloads before relying on them in production.
## 10. Intellectual Property
Speko and its licensors retain all rights in the Speko services, software, designs, logos, documentation, benchmarks, and related technology. Subject to these Terms, Speko grants you a limited, non-exclusive, non-transferable right to use the services for your internal business purposes. You may not remove proprietary notices or use Speko marks without our permission.
## 11. Confidentiality
Each party may receive non-public information from the other party. The receiving party will use reasonable care to protect confidential information and will use it only to perform under these Terms, unless disclosure is required by law or authorized by the disclosing party.
## 12. Service Changes and Suspension
We may modify, suspend, or discontinue features, providers, models, integrations, limits, or availability from time to time. We may suspend or restrict access if we believe use of Speko violates these Terms, creates security or legal risk, threatens service reliability, or could harm Speko, customers, providers, or third parties.
## 13. Disclaimers
Speko is provided "as is" and "as available" to the fullest extent permitted by law. We disclaim warranties of merchantability, fitness for a particular purpose, non-infringement, uninterrupted operation, and error-free results. AI, speech, and routing outputs may be inaccurate, incomplete, delayed, or unavailable.
## 14. Limitation of Liability
To the fullest extent permitted by law, Speko will not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages, or for lost profits, revenue, goodwill, data, or business interruption. Speko's total liability for any claim arising out of or relating to the services or these Terms will not exceed the amounts paid by you to Speko for the services in the 12 months before the event giving rise to the claim.
## 15. Indemnity
You will defend, indemnify, and hold harmless Speko from claims, damages, liabilities, and expenses arising from your Customer Data, your use of Speko, your connected providers or integrations, your violation of these Terms, or your violation of law or third-party rights.
## 16. Termination
You may stop using Speko at any time. We may terminate or suspend access as described in these Terms. After termination, you remain responsible for amounts owed and for obligations that by their nature should survive, including confidentiality, payment, acceptable use, disclaimers, limitations of liability, and indemnity.
## 17. Governing Law
These Terms are governed by the laws of the State of Delaware, without regard to conflict of law rules, unless a separate written agreement states otherwise.
## 18. Changes
We may update these Terms from time to time. If we make material changes, we will update the effective date and provide additional notice when required. Continued use of Speko after an update means you accept the updated Terms.
## 19. Contact
Questions about these Terms can be sent to [team@speko.ai](mailto:team@speko.ai).
# Vapi Alternatives
Source: https://speko.ai/vapi-alternatives
Markdown: https://speko.ai/vapi-alternatives/index.html.md
Comparison
Vapi is a hosted developer platform for voice agents; teams usually compare alternatives when the bill spans platform, model and telephony components, or when moving to or from a hosted agent abstraction becomes the migration to plan for - and the closest options sit at different layers, so category comes before feature lists.
Short answer
There is no drop-in swap. Retell AI and Bland AI are hosted products, Pipecat and LiveKit Agents are runtime frameworks, Speko Router is a hosted data plane, and Speko Gateway is a customer-side runtime.
Author
Speko engineering
Reviewed by
Speko engineering
Published
August 7, 2026 Last reviewed August 7, 2026
## The candidates, by product boundary
Competitor category and billing statements were checked against official sources on July 31, 2026. The table compares product boundaries, not overall quality; a dash means this site publishes no sourced statement for that cell.
| Option | Category | Telephony | Pricing model | Sources |
| --- | --- | --- | --- | --- |
| Vapi the baseline | Hosted developer platform for voice agents. | Telephony is connected and billed separately from Vapi hosting and orchestration. | Usage-based hosting and orchestration, plus model and telephony charges; BYOK providers can bill directly. | [Vapi pricing](https://vapi.ai/pricing) [Vapi pricing FAQ](https://docs.vapi.ai/faq) [Vapi documentation](https://docs.vapi.ai/) Checked 2026-07-31 |
| Speko Router + Gateway our product | Hosted Router plus an open customer-side Gateway for STT, LLM and TTS. | Not included in the Router or Gateway boundary. Telephony and WebRTC remain with the application runtime. | USD 0.09 per minute all-in on Speko infrastructure; current terms are kept on the pricing page. | [Speko infrastructure guide](https://speko.ai/voice-agent-infrastructure) [Speko pricing](https://speko.ai/pricing) Checked 2026-08-07 |
| Retell AI | Hosted phone-agent platform. | Published options include Retell carrier service and custom SIP, priced as separate components. | Component pricing: voice infrastructure plus selected TTS, LLM, telephony and optional features. | [Retell AI pricing](https://www.retellai.com/pricing) [Retell AI documentation](https://docs.retellai.com/) Checked 2026-07-31 |
| Bland AI | Hosted phone automation platform. | Bland supports its own telephony and BYOT. Carrier, transfer and some outbound charges can be separate from connected-minute usage. | Tiered monthly plans plus connected-minute usage. Carrier, BYOT, transfer and some outbound charges can add telephony cost. | [Bland AI pricing](https://www.bland.ai/pricing) [Bland AI billing](https://docs.bland.ai/platform/billing) [Bland AI documentation](https://docs.bland.ai/) Checked 2026-07-31 |
| Pipecat | Open-source framework with an optional managed cloud. | A self-hosted application selects its transport or telephony integration. Pipecat Cloud offers managed deployment around Pipecat workloads. | The framework is open source. Self-hosted model, transport and hosting costs are separate; Pipecat Cloud is a separately priced managed service. | [Pipecat documentation](https://docs.pipecat.ai/) [Pipecat Cloud documentation](https://docs.pipecat.ai/pipecat-cloud/introduction) [Pipecat repository](https://github.com/pipecat-ai/pipecat) Checked 2026-07-31 |
| LiveKit Agents | Agent framework; the application team owns the conversation loop. | - | - | [LiveKit Agents documentation](https://docs.livekit.io/agents/) [LiveKit with Speko](https://speko.ai/docs/livekit) |
## The alternatives, one by one
### Speko Router + Gateway
Our product - read this entry as the vendor describing itself.
Speko replaces separate compatible model clients and application-owned selection policy. It does not replace the phone carrier, media transport, turn detector, context, tools or deployment runtime, so it is not a drop-in Vapi replacement.
When to choose it
Choose it when the application already owns the realtime loop and model selection is the boundary to make interchangeable.
[Speko vs Vapi](https://speko.ai/speko-vs-vapi)
### Retell AI
Managed phone agents assembled from Retell-supported infrastructure and model components. Telephony and agent operations live in one hosted workflow, and the final rate depends on the selected model, telephony and optional components.
When to choose it
Choose Retell when the requirement is a managed phone-agent product rather than a standalone model-routing API.
[Speko vs Retell AI](https://speko.ai/speko-vs-retell)
### Bland AI
Managed phone-call automation, including campaign and call execution inside the Bland product. The product boundary is phone automation, not a provider-neutral model API, so model-level control is bounded by the platform surface.
When to choose it
Choose Bland when the managed phone automation workflow is the product requirement.
[Speko vs Bland AI](https://speko.ai/speko-vs-bland)
### Pipecat
Pipecat is a code framework for realtime pipelines; Pipecat Cloud is a separate managed deployment service. Developers wire individual STT, LLM and TTS services in code, or point those services at an external router.
When to choose it
Choose Pipecat for code-level control of the realtime conversation loop; choose Pipecat Cloud when its managed deployment boundary fits.
[Pipecat with Speko](https://speko.ai/docs/pipecat)
### LiveKit Agents
LiveKit Agents is an agent framework; its own documentation is the source for what it runs, and the application team owns the conversation loop. Speko publishes the @spekoai/adapter-livekit package (0.1.3 on npm) and an integration guide for routing model calls inside that loop.
When to choose it
Choose LiveKit Agents when the team wants to own the runtime on the LiveKit stack.
[LiveKit with Speko](https://speko.ai/docs/livekit)
## Which alternative for which team?
**A managed platform should still own the agent. +**
Compare Vapi with Retell AI: both are hosted products, and the choice is orchestration surface and component pricing, not architecture.
**The requirement is outbound phone automation. +**
Compare Vapi with Bland AI, whose product boundary is campaign and call execution.
**The team wants to own the runtime. +**
Move to Pipecat or LiveKit Agents for the conversation loop, then add Speko Gateway for provider-direct voice services or Router for managed routes.
Every non-Speko statement on this page is copied from the sourced comparison this site maintains on the [voice agent platforms page](https://speko.ai/voice-agent-platforms); the benchmark snapshot behind Speko routing is published at [benchmarks.speko.ai/data.json](https://benchmarks.speko.ai/data.json). There are no rankings here because this site measures models, not platforms.
Choose the layer first. Compare products inside that boundary second.
Related pages
- [Voice agent platforms, runtimes and model routers](https://speko.ai/voice-agent-platforms)
- [Speko vs Vapi](https://speko.ai/speko-vs-vapi)
- [Speko vs Retell AI](https://speko.ai/speko-vs-retell)
- [Speko vs Bland AI](https://speko.ai/speko-vs-bland)
- [Current model catalog](https://speko.ai/models)
- [Speko pricing](https://speko.ai/pricing)
# Voice agent latency measurement framework
Source: https://speko.ai/voice-agent-latency
Markdown: https://speko.ai/voice-agent-latency/index.html.md
Measurement
A production framework for tracing voice agent latency across turn detection, streaming STT, LLM first token, TTS first audio and transport.
The useful voice agent latency number is the time from the caller finishing a turn to the first audible agent response. Trace it across turn detection, streaming speech-to-text, LLM first token, streaming text-to-speech and media transport. This page defines the clocks and test controls; it does not combine measurements from different benchmark runs into a synthetic latency budget.
**Measurement rule**
Keep one end-to-end clock. Component clocks explain the result; they do not replace it.
**Author**
Speko engineering
**Reviewed by**
Speko engineering
**Published**
August 2, 2026
**Last reviewed**
August 2, 2026
## Which clocks should a latency trace record?
| Stage | Clock | Production check | Evidence |
| --- | --- | --- | --- |
| Turn detection | Last caller audio to a committed end-of-turn decision | Test pauses and backchannels, not only clean read speech. | [Turn-taking board](https://benchmarks.speko.ai/turntaking/) [Smart Turn method](https://benchmarks.speko.ai/blog/how-speko-uses-smart-turn/) |
| Streaming STT | Committed turn to the final transcript used by the agent | Record partial and final timestamps. A fast partial is not a usable final. | [Streaming STT board](https://benchmarks.speko.ai/streaming-stt/) |
| LLM | Final transcript available to the first usable output token | Measure first token on the prompts, tools and guardrails used in calls. | [LLM board](https://benchmarks.speko.ai/llm/) [Model size test](https://benchmarks.speko.ai/blog/mini-is-not-a-latency-tier/) |
| Streaming TTS | First speakable text chunk to the first playable audio | Measure first audio and long-form stability separately. | [TTS board](https://benchmarks.speko.ai/tts/) [Speed and quality profile](https://benchmarks.speko.ai/blog/cartesia-fast-and-natural/) |
| Full response | Last caller audio to the first audible agent response | Trace the complete call in one region; do not add medians from separate runs. | [Speech-to-speech board](https://benchmarks.speko.ai/s2s/) [Conversation latency test](https://benchmarks.speko.ai/blog/gpt-realtime-2-1-mini-fastest/) |
## How should production latency be measured?
1. 01
Timestamp the last caller audio, committed transcript, first LLM token, first TTS byte and first played audio.
2. 02
Run the same prompts, tools, voices, regions and network path for every candidate.
3. 03
Publish sample size, run date, median and tail latency. Keep errors and empty responses in the denominator.
4. 04
Replay pauses, backchannels, noisy audio and tool calls from the calls the agent must actually handle.
### What usually moves the number?
- Endpointing can add delay before any model request begins.
- LLM tokens per second do not answer the first-token question.
- TTS must receive a speakable chunk before it can stream audio.
- Region placement and media playback add time outside the model APIs.
- A model or provider change should be evaluated on the full call, not a single component score.
## Cascade or speech-to-speech?
A cascade exposes separate STT, LLM and TTS clocks and lets the application replace one component. A speech-to-speech model can shorten the path, but it changes the observability, cost and component-control tradeoff. Compare both on the same complete conversation before changing the architecture.
Further evidence
Read the measured [cascade and speech-to-speech comparison](https://benchmarks.speko.ai/blog/can-s2s-replace-the-cascade/), then inspect the [voice agent infrastructure map](https://speko.ai/voice-agent-infrastructure).
Measure the complete turn, then change one stage at a time.
# Voice agent platforms, runtimes and model routers
Source: https://speko.ai/voice-agent-platforms
Markdown: https://speko.ai/voice-agent-platforms/index.html.md
Comparison
A sourced comparison of Vapi, Retell AI, Bland AI, Pipecat and Speko across telephony, provider choice, runtime ownership, operations, pricing and tradeoffs.
A hosted voice agent platform, an agent runtime and a voice model router are not interchangeable. The platform manages more of the deployed agent. The runtime owns the realtime conversation loop. The model router selects or pins model APIs. Compare products only after choosing which boundary the team intends to own.
**Short answer**
Vapi, Retell AI and Bland AI are hosted products. Pipecat is a runtime framework. Speko Router is a hosted data plane and Gateway is a customer-side runtime.
**Author**
Speko engineering
**Reviewed by**
Speko engineering
**Published**
August 2, 2026
**Last reviewed**
August 7, 2026
## Comparison matrix
Competitor category and billing statements were checked against official sources on July 31, 2026; Pipecat was checked on July 31, 2026. The matrix compares product boundaries, not overall quality. Follow the source before making a purchasing decision.
| Option | Scope | Telephony | Provider choice and routing |
| --- | --- | --- | --- |
| [Speko Router + Gateway](#speko) Voice model router | Compatible model calls for STT, LLM and TTS. It does not run the conversation loop. | Not included in the Router or Gateway boundary. Telephony and WebRTC remain with the application runtime. | The application can pin a model or request measured automatic selection from eligible routes. |
| [Vapi](#vapi) Hosted developer platform for voice agents | Managed agent orchestration with prompts, tools and a provider stack configured in the platform. | Telephony is connected and billed separately from Vapi hosting and orchestration. | Developers configure supported STT, LLM and TTS choices. Model usage can be pass-through or BYOK. |
| [Retell AI](#retell) Hosted phone-agent platform | Managed phone agents assembled from Retell-supported infrastructure and model components. | Published options include Retell carrier service and custom SIP, priced as separate components. | The agent uses model and infrastructure choices supported by the Retell configuration surface. |
| [Bland AI](#bland) Hosted phone automation platform | Managed phone-call automation, including campaign and call execution inside the Bland product. | Bland supports its own telephony and BYOT. Carrier, transfer and some outbound charges can be separate from connected-minute usage. | STT, LLM and TTS are integrated into the connected-minute product rather than exposed as a neutral router. |
| [Pipecat](#pipecat) Open-source framework with an optional managed cloud | Pipecat is a code framework for realtime pipelines; Pipecat Cloud is a separate managed deployment service. | A self-hosted application selects its transport or telephony integration. Pipecat Cloud offers managed deployment around Pipecat workloads. | Developers wire individual STT, LLM and TTS services in code, or point those services at an external router. |
| Option | Runtime ownership | Observability and failover | Pricing model |
| --- | --- | --- | --- |
| [Speko Router + Gateway](#speko) Voice model router | Speko operates the routing API; the customer keeps LiveKit, Pipecat or a custom runtime. | Route, reason, failover-count and first-byte headers. Failover is pre-response only, not mid-stream. | Router markup or an infrastructure rate; current terms are kept on the pricing page. |
| [Vapi](#vapi) Hosted developer platform for voice agents | Vapi operates the hosted platform; the customer configures the agent and connected services. | The platform owns call logs and orchestration. Fallback behavior stays within the configured provider paths. | Usage-based hosting and orchestration, plus model and telephony charges; BYOK providers can bill directly. |
| [Retell AI](#retell) Hosted phone-agent platform | Retell operates the phone-agent platform and runtime; the customer configures the agent. | Call operations and logs are platform-managed within the supported component boundary. | Component pricing: voice infrastructure plus selected TTS, LLM, telephony and optional features. |
| [Bland AI](#bland) Hosted phone automation platform | Bland operates the phone automation stack; the customer configures workflows and integrations. | Call execution and logs are platform-managed inside the phone automation boundary. | Tiered monthly plans plus connected-minute usage. Carrier, BYOT, transfer and some outbound charges can add telephony cost. |
| [Pipecat](#pipecat) Open-source framework with an optional managed cloud | The application team owns a self-hosted Pipecat runtime. Pipecat Cloud manages deployment infrastructure, scaling, operations and monitoring for hosted workloads. | Self-hosted teams own runtime operations; Pipecat Cloud provides a managed operational layer. Model-service behavior still depends on the configured services. | The framework is open source. Self-hosted model, transport and hosting costs are separate; Pipecat Cloud is a separately priced managed service. |
Each option’s official sources and check date sit with its tradeoffs below.
## What Speko Router and Gateway replace
Speko replaces separate compatible model clients and application-owned selection policy. It does not replace the phone carrier, media transport, turn detector, context, tools or deployment runtime.
Current Router and Gateway evidence
- [Speko infrastructure guide](https://speko.ai/voice-agent-infrastructure)
- [Speko pricing](https://speko.ai/pricing)
- [Current model catalog](https://speko.ai/models)
Last checked 2026-08-07
## Competitor-specific tradeoffs
### Speko vs Vapi
Managed agent orchestration with prompts, tools and a provider stack configured in the platform.
Strengths of this option
- Developer-facing managed agent surface
- Configurable provider stack
- Platform owns more of deployment and call orchestration than a model router
Watch-outs
- The bill spans platform, model and telephony components
- Provider compatibility and fallback coverage depend on the current platform configuration
- Moving to or from a hosted agent abstraction is a wider change than swapping a model API
When to choose it
Choose Vapi when a managed developer platform should own agent orchestration and provider configuration.
Official sources [Vapi pricing](https://vapi.ai/pricing) [Vapi pricing FAQ](https://docs.vapi.ai/faq) [Vapi documentation](https://docs.vapi.ai/) Last checked 2026-07-31
[Full comparison: Speko vs Vapi](https://speko.ai/speko-vs-vapi)
### Speko vs Retell AI
Managed phone agents assembled from Retell-supported infrastructure and model components.
Strengths of this option
- Managed phone-agent product
- Component-based configuration and pricing surface
- Telephony and agent operations live in one hosted workflow
Watch-outs
- The final rate depends on the selected model, telephony and optional components
- Provider choice is bounded by the platform-supported combinations
- A platform-managed runtime offers less code-level control than owning the loop
When to choose it
Choose Retell when the requirement is a managed phone-agent product rather than a standalone model-routing API.
Official sources [Retell AI pricing](https://www.retellai.com/pricing) [Retell AI documentation](https://docs.retellai.com/) Last checked 2026-07-31
[Full comparison: Speko vs Retell AI](https://speko.ai/speko-vs-retell)
### Speko vs Bland AI
Managed phone-call automation, including campaign and call execution inside the Bland product.
Strengths of this option
- Phone-automation product boundary
- Managed campaign and call execution
- Integrated model components reduce the number of services the application wires directly
Watch-outs
- The product boundary is phone automation, not a provider-neutral model API
- Monthly tier, connected-minute, carrier, BYOT and applicable transfer or outbound charges must be compared together
- Model-level control is bounded by the platform surface
When to choose it
Choose Bland when the managed phone automation workflow is the product requirement.
Official sources [Bland AI pricing](https://www.bland.ai/pricing) [Bland AI billing](https://docs.bland.ai/platform/billing) [Bland AI documentation](https://docs.bland.ai/) Last checked 2026-07-31
[Full comparison: Speko vs Bland AI](https://speko.ai/speko-vs-bland)
### Speko vs Pipecat
Pipecat is a code framework for realtime pipelines; Pipecat Cloud is a separate managed deployment service.
Strengths of this option
- Code-level control of the realtime pipeline
- Open-source framework and service ecosystem
- Can use direct providers or an external model router
Watch-outs
- Self-hosting leaves deployment, scaling and operational monitoring with the team
- Provider setup and cross-service policy live in application code
- Hosting and provider costs remain separate
When to choose it
Choose Pipecat for code-level control of the realtime conversation loop; choose Pipecat Cloud when its managed deployment boundary fits. Add Speko only if routed model services are useful inside that loop.
Official sources [Pipecat documentation](https://docs.pipecat.ai/) [Pipecat Cloud documentation](https://docs.pipecat.ai/pipecat-cloud/introduction) [Pipecat repository](https://github.com/pipecat-ai/pipecat) Last checked 2026-07-31
## A practical evaluation order
1. 01
Decide who owns telephony and media transport.
2. 02
Decide whether the conversation loop lives in a hosted product or in your runtime.
3. 03
Decide whether model choice is fixed, application-managed or delegated to a router.
4. 04
Compare latency, quality, cost, failure behavior and observability on the same calls.
Implementation paths
- [Voice agent infrastructure map](https://speko.ai/voice-agent-infrastructure)
- [Latency measurement framework](https://speko.ai/voice-agent-latency)
- [Vapi alternatives, compared](https://speko.ai/vapi-alternatives)
- [Pipecat with Speko](https://speko.ai/docs/pipecat)
- [LiveKit with Speko](https://speko.ai/docs/livekit)
- [LiveKit Agents documentation](https://docs.livekit.io/agents/)
Choose the layer first. Compare products inside that boundary second.
# Find a voice
Source: https://speko.ai/voices
Markdown: https://speko.ai/voices/index.html.md
Voices
Measured voice models, with the published naturalness evidence behind them.
## Browse the roster
The catalog endpoint did not answer, so this is the bundled snapshot — which carries the voice models but not their per-voice rosters. The boards below are unaffected.
No per-voice roster in this snapshot. The models are listed below.
## What each one scored
Naturalness is measured per language, not inferred from English — the model that wins one study routinely loses another. Every figure is the board's own.
\# Model Naturalness Elo Synth english board p50 Cost $ / M chars
1
gemini-3.1-flash-tts-preview google-tts:gemini-3.1-flash-tts-preview
1591 978ms ~$33.3
2
eleven_v3 elevenlabs:eleven_v3
1590 481ms $100.0
3
aura-2 deepgram:aura-2
1584 125ms $30.0
4
sonic-3.5 cartesia:sonic-3.5
1574 121ms $50.0
5
simba-3.2 speechify:simba-3.2
1573 345ms $10.0
6
tts-rt-v1 soniox:tts-rt-v1
1569 362ms ~$13.0
7
s2.1-pro fishaudio:s2.1-pro
~1566 185ms $15.0
8
inworld-tts-2 inworld:inworld-tts-2
1561 116ms $25.0
9
inworld-tts-2-flash inworld:inworld-tts-2-flash
~1501 82ms $15.0
10
lightning_v3.1 smallest:lightning_v3.1
1544 173ms $25.0
11
palabra-tts-v1 palabra:palabra-tts-v1
~1520 72ms $30.0
12
grok-tts xai:tts
1495 272ms $15.0
13
default gradium:default
1448 244ms $57.8
14
speech-2.8-hd minimax:speech-2.8-hd
1431 294ms $100.0
15
arcanav3 rime:arcanav3
1429 238ms $40.0
16
gpt-4o-mini-tts openai:gpt-4o-mini-tts
1424 691ms ~$20.0
17
octave-2 hume:octave-2
1377 448ms $100.0
18
qwen3-tts-flash alibaba:qwen3-tts-flash
1310 472ms $10.0
Latency and price are the English board’s, by model — a model measured only in this study carries neither.
## Voice models and language coverage
Which model each voice belongs to, and the languages Router can select it for.
Model Provider Voices Routable for
sonic-3.5 cartesia:sonic-3.5
cartesia —
en (English) ar (Arabic) de (German) es (Spanish) fil (Filipino) fr (French) hi (Hindi) nb (Norwegian) ta (Tamil) te (Telugu)
gpt-4o-mini-tts openai:gpt-4o-mini-tts
openai —
en (English) de (German) es (Spanish) fil (Filipino) fr (French) nb (Norwegian)
inworld-tts-2 inworld:inworld-tts-2
inworld —
en (English) ar (Arabic) de (German) es (Spanish) fil (Filipino) fr (French)
lightning_v3.1 smallest:lightning_v3.1
smallest —
en (English) de (German) es (Spanish) fr (French)
octave-2 hume:octave-2
hume —
en (English) de (German) es (Spanish) fr (French)
tts-rt-v1 soniox:tts-rt-v1
soniox —
en (English) de (German) es (Spanish) fr (French)
s2.1-pro fish:s2.1-pro
fish —
en (English)
tts-rt-v2 soniox:tts-rt-v2
soniox —
en (English)
chirp-3-hd google:chirp-3-hd
google —
no languages declared
coda rime:coda
rime —
no languages declared
eleven_flash_v2 elevenlabs:eleven_flash_v2
elevenlabs —
no languages declared
eleven_flash_v2_5 elevenlabs:eleven_flash_v2_5
elevenlabs —
no languages declared
eleven_multilingual_v2 elevenlabs:eleven_multilingual_v2
elevenlabs —
no languages declared
eleven_turbo_v2 elevenlabs:eleven_turbo_v2
elevenlabs —
no languages declared
eleven_turbo_v2_5 elevenlabs:eleven_turbo_v2_5
elevenlabs —
no languages declared
flux-haley-en deepgram:flux-haley-en
deepgram —
no languages declared
grok-tts xai:grok-tts
xai —
no languages declared
lightning_v3.1_pro smallest:lightning_v3.1_pro
smallest —
no languages declared
mistv3 rime:mistv3
rime —
no languages declared
octave-1 hume:octave-1
hume —
no languages declared
qwen3-tts-flash-realtime alibaba:qwen3-tts-flash-realtime
alibaba —
no languages declared
qwen3-tts-instruct-flash-realtime alibaba:qwen3-tts-instruct-flash-realtime
alibaba —
no languages declared
sonic-3 cartesia:sonic-3
cartesia —
no languages declared
speech-2.6-hd minimax:speech-2.6-hd
minimax —
no languages declared
speech-2.6-turbo minimax:speech-2.6-turbo
minimax —
no languages declared
speech-2.8-turbo minimax:speech-2.8-turbo
minimax —
no languages declared
## Take one to the API
Pin a voice route with the provider and model in an explicit`routing` object, then send the provider's voice id in`voice`. Router returns raw audio in the encoding declared by the request.
```bash
curl https://router.speko.dev/v1/tts/speech \
-H "Authorization: Bearer $SPEKO_API_KEY" \
-H "Idempotency-Key: tts-$(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"routing": {"mode":"auto","objective":"balanced"},
"voice": "",
"input": "Hello from Speko.",
"audio": {"encoding": "pcm_s16le", "sample_rate_hz": 24000, "channels": 1}
}'
```
Use `routing.mode: "auto"` to let Router select the voice model by language and objective instead of pinning a route.