Launch HN: Speko (YC S26) – OpenRouter for Voice AI
TL;DR Highlight
Speko routes STT, LLM and TTS through one API using per-language benchmarks
Who Should Read
Backend developers comparing vendor numbers one by one to pick STT and TTS models for a voice agent
Core Mechanics
- A router for voice models
- Speko bundles STT, LLM and TTS behind one API at router.speko.dev.
- Managed routing picks models based on benchmarks.
- Per-language benchmarks are the core
- It says 4 different models win across 17 languages.
- The claim is that no single model is best everywhere.
- Many models are English-only
- 10 of 53 are measured only in English.
- The page says ranks in other languages are unknown, including the English table's top model.
- Accuracy and latency side by side
- The STT table shows conversational WER and finalize latency (p50, ms).
- Qwen3-ASR Fast tops it at 12.0% WER and 33ms.
- LiveKit, Pipecat and MCP integrations
- The LiveKit Python services set STT, LLM and TTS with credential_source="auto" and model="auto".
Community Reactions
- Latency depends on transport, not just model
- A commenter re-measured a TTS the vendor called too slow over streaming and got about 0.9s versus 5s non-streaming.
- They argue benchmarks must be per transport.
- Fast tiers break in non-English
- A commenter found flash/turbo tiers fine in English but producing meaning-changing errors in Japanese.
- The vendor docs claiming the two tiers were equivalent were wrong for that language.
- Effective cost beats list price
- One commenter noted identical list prices can differ several-fold depending on cache hit rate and context distribution.
- They asked whether the optimizer models this.
- Pipeline vs end-to-end debate
- One commenter pushed back that the industry is moving to end-to-end models and routing adds questionable value.
- They suggested positioning as an automatic-eval 'LM Arena for voice'.
- Another reported DeepSeek-V4-Pro plus a small STT was about 10x cheaper per minute within a 300ms added-latency budget.
How to Apply
- Test 3 STT candidates in your own language
- Run 10 real user audio samples through the candidates and compare WER.
- Decide on results in your language, not English rankings.
- Re-measure TTS latency over streaming
- Retest models you dropped based on non-streaming calls.
- Compare under the same transport you will ship.
- Add an effective-cost column to your comparison
- Compute per-minute cost using the stable-prefix share of the prompt rather than list price.
- Write two or three scenarios by cache hit rate.
- Wire the Speko Gateway into a LiveKit agent
- Set STT, LLM and TTS to auto in a dev environment.
- Compare routing results against your fixed models.
Try It
# Paste into Claude or ChatGPT (prompt to audit your voice model selection)
Our service is {{service description}} and users speak {{language}}.
We currently use {{STT model}} for STT, {{TTS model}} for TTS and {{LLM model}} for the LLM.
Build a model-selection checklist covering:
1. What to measure in non-English {{language}} (WER, proper nouns, self-correction handling)
2. How to measure latency over a streaming path
3. A formula for effective cost by cache hit rate
4. How to structure 10 test samples to compare 3 candidate models
Next step: paste your measured results as a table and I will help compare combinations.Terminology
Related Papers
The Judge Can Debias Itself: Awareness and Self-Debiasing for Reliable LLM-as-a-Judge
Warning an LLM judge about bias or letting it self-critique improved 20 of 21 model–bias combinations.
90% of US working hours are spent on tasks not covered well by AI benchmarks
Mapping 29 benchmarks to job tasks shows 90% of US working hours lack good coverage
Postgres 19 delayed after AI reviewers find more bugs than humans can fix
LLM code review surfaced so many bugs that Postgres 19 slipped to November and 8-10 features were reverted
Show HN: Gemini 4 Argon plays StarCraft
LLMs wrote StarCraft bots in one hour; GPT-6 Astra scored highest.
A Plausible Explanation Is Enough to Mislead Multimodal Judges
Adding plausible explanations to fixed answers cut MLLM judges' wrong-answer rejection by 12.7–13.8 points.
Neural networks are clean
Looking at neurons directly shows most have one main job, challenging superposition.