Benchmarks
The measured provider scores routing decides on, from the terminal.
speko-cli bench # every stage
speko-cli bench stt --language nb # ranked by word error rate
speko-cli bench llm # ranked by measured latency
speko-cli bench tts --provider cartesia
speko-cli bench session <session_id> # what one call actually ran onThe stage boards need no credential. These are published measurements, and the person most likely to want them is deciding whether to sign up at all.
bench session is the one exception — a session belongs to a workspace, so it
requires sign-in and exits 3 without it.
What the columns mean
| Column | |
|---|---|
WER | Word error rate at p50. Lower is better. Transcription only. |
LATENCY | Measured first-response latency at p50, in ms. |
$/MIN | Cost per minute, where it has been measured. |
Stages rank on the axis that means something for them: transcription on word error rate, everything else on latency. Sorting a language model by a transcription metric would put an arbitrary row on top.
A dash is not a zero
— means the metric was not measured. It never means zero.
The distinction is load-bearing for cost: a provider nobody has priced would
otherwise render as $0.0000 and look like the cheapest option on the board.
Unmeasured values are omitted rather than defaulted, all the way through the API.
What one call ran on
speko-cli bench session <session_id>Joins the session's actual pipeline against the measured rows: what ran, what was measured about it, and the best measured option for the same stage and language.
It does not explain why that stack was chosen. A session records what ran and no reason beside it, so any explanation would be reconstructed after the fact — and the command says so on every run rather than implying otherwise.