Agent classes / Voice agent / Speech-to-text / transcription
Speech-to-text / transcription for a voice agent
Updated 2026-10-27 (newest stored date on this page) · score asOf 2026-10-19
The class: Hears or speaks on a call or a realtime channel, and confirms account-changing actions before they run.
- A transcript the caller can correct
- Confirmation before an account change
Depot Pick: Deepgram
When not to use it: Already all-in on OpenAI and Whisper quality/latency is fine — openai-media; need richest audio-intelligence features (summaries/PII) — AssemblyAI; ultra-cheap batch Whisper on Groq LPU — groq.
Runner-up: AssemblyAI.
Cheapest matching sourced SKU (usd_per_minute): Cloudflare Workers AI @cf/openai/whisper audio minute $0.0005 — source, asOf 2026-10-03. All sourced prices
Failure modes this class and job share (7)
- Runaway spend: Set a budget and a tool-call cap per task. Alert when spend jumps. Stop the run at the cap instead of summarizing a partial trace as success.
- Confirmation skip: Gate those tool names on an approval id recorded before the call. A missing approval is a failure even if the downstream tool returns success.
- Identity confusion: Bind every tool call to a user or tenant id. Refuse the call if that id changed mid-task. For a public bot, the operator owns the words the bot shows.
- Non-determinism: Run the task more than once and compare the end state, not a single transcript. Record the trial count next to any success rate you cite.
- Over-refusal: Log refusals separately from successes. Review a sample against the written policy. Do not treat a refusal as a pass, and do not weaken a safety check to raise the pass rate.
- Partial tool success: Require a per-item status and a failure count. Success for the task requires the failed count to be zero or explicitly handed to a retry queue.
- Silent truncation: Tools must return whether the payload was truncated and how long the original was. Fail the task if the answer depends on the missing span.