AP
Agent Provider Depot
Opinionated picks for agents
OpenAPI
← All jobs

Text-to-speech

Natural TTS for agents and products.

At a glance — Oct 2026

Updated 2026-10-27 · forward this page: /jtbds/speech-synthesis#brief

Scores as of 2026-09-14 (43 days old; Depot marks scores stale after 30 days). The pick is still Depot's current editorial pick; it has not been re-reviewed since. Prices below carry their own dates.

Depot Pick
ElevenLabs · 8.27/10 for this job (curated estimate, high confidence)

capability voice quality + dx.

Runner-up
Cartesia · 7.81/10

Scores higher than the pick on: Price / performance, Privacy / data retention, Lock-in risk (higher = worse).

When not to use the pick
Already all-in on OpenAI and quality sufficient.
Lock-in / migration
Runner-up Cartesia has lower stored lock-in risk (4.5 vs 5.5, 0–10, higher = more lock-in). Self-host fallback listed for this job: Kokoro-82M, Piper, eSpeak NG.
Sourced price (usd_per_1k_characters)

Pick's lowest sourced SKU: Flash / Turbo Text to Speech $0.04 (usd_per_1k_characters) — source, as of 2026-10-03, re-checked 2026-10-27

Cheapest matching SKU: Deepgram Aura-2 $0.03 — source, as of 2026-10-03, re-checked 2026-10-27. Not the pick; not quality-adjusted.

Price history: first seen 2026-10-03 · last changed no change recorded · history JSON

Free option
  • Cloudflare Workers AI text-to-speech (MeloTTS, Aura-1) (free) — source, as of 2026-10-19
  • eSpeak NG (oss) — source, as of 2026-10-25
  • Gemini 3.8 Flash TTS free tier (free tier unspecified) — source, as of 2026-10-26
Failure modes to watch
  • 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.
Reported outcomes (submitted reports only)

This job: loading… JSON · reports never change scores · seed/test records excluded

Depot Pick (ElevenLabs) on this job: loading… JSON · reports never change scores · seed/test records excluded

Same-job, same-unit comparisons: ElevenLabs vs Deepgram

Cite: Agent Provider Depot, Depot Pick for speech-synthesis: elevenlabs, scores as of 2026-09-14. Agents: GET /api/decide?jtbd=speech-synthesis

Free Text-to-speech options · All sourced prices, cheapest first · for voice agents

Depot Pick

ElevenLabs

capability voice quality + dx.

Pricing (directional): TTS/STS/voice agents; character/credit plans; telephony integrations (e.g. Twilio).

Cite: Depot Pick for speech-synthesis: elevenlabs
Overall
8.3
curated_estimate
confidence: high · as of 2026-09-14
Capability fit
9.4
Price / performance
7.5
Latency / reliability
8.8
Developer & agent DX
9.0
Privacy / data retention
7.0
Lock-in risk (higher = worse)
5.5
Maturity / track record
8.8

Lock-in risk: higher = more lock-in (worse). Overall already inverts this dimension.

Sources: ElevenLabs: https://elevenlabs.io

Default voice layer for talking agents. Combine with Twilio for phone; watch cloning policy.

Quote for Text-to-speech

Depot Pick stays ElevenLabs. Prices below are sourced SKU rows only (as of 2026-10-27). Input and output are not blended. GET /api/quote?jtbd=speech-synthesis

Pick is not a price winner. elevenlabs matching USD per 1k characters is 0.04; cheapest among candidates is deepgram at 0.03.

  • Scribe entity detection usd_per_hour $0.07 source as of 2026-10-03
  • Scribe keyterm prompting usd_per_hour $0.05 source as of 2026-10-03
  • Scribe v2 speech-to-text usd_per_hour $0.22 source as of 2026-10-03
  • Scribe v2 Realtime speech-to-text usd_per_hour $0.39 source as of 2026-10-03
  • Speech Engine usd_per_minute $0.08 source as of 2026-10-03
  • Speech Engine burst usd_per_minute $0.16 source as of 2026-10-03
  • Flash / Turbo Text to Speech usd_per_1k_characters $0.04 source as of 2026-10-03
  • v2 Multilingual Text to Speech usd_per_1k_characters $0.08 source as of 2026-10-03
  • v3 Text to Speech usd_per_1k_characters $0.08 source as of 2026-10-03
  • v3 Conversational Text to Speech usd_per_1k_characters $0.04 source as of 2026-10-03
  • v4 Text to Speech usd_per_1k_characters $0.08 source as of 2026-10-19
  • v4 Turbo Text to Speech usd_per_1k_characters $0.04 source as of 2026-10-19

5 of 9 candidates have no sourced price row. 7 are excluded from the USD per 1k characters comparison (speech_synthesis). min sourced speech-synthesis SKU among candidates; usd_per_1k_characters only; not a chat $/1M rate; not quality-adjusted

Runners-up

When NOT to use the top pick

Already all-in on OpenAI and quality sufficient.

Full ranking (score table)

Ranked with this JTBD's weights. Scores are curated estimates unless marked otherwise. Agents: prefer /api/decide then this table for tie-breaks.

#ProviderOverallFit$/perfLatencyDXAs of
1Deepgram8.58.88.88.68.62026-10-19
2ElevenLabsDepot Pick8.39.47.58.89.02026-09-14
3Rime8.38.68.88.48.62026-09-14
4Retell AI8.28.87.88.49.02026-09-14
5OpenAI Media (Images/Audio)8.28.87.28.89.22026-09-14
6Vapi8.19.07.28.49.22026-09-14
7MiniMax7.88.48.87.88.22026-09-14
8Cartesia7.88.48.07.88.42026-09-14
9Hume AI7.68.67.07.88.02026-09-14

Score methodology for this job

capability voice quality + dx.

  • capabilityFit: 25%
  • pricePerformance: 18%
  • latencyReliability: 15%
  • developerDx: 15%
  • privacyPosture: 10%
  • lockInRisk: 7%
  • maturity: 10%