Text-to-Speech for Customer Support Chatbots: How to Choose

Which speech platform to pick when your chatbot has to talk. The decision is not voice quality, it is whether you need a TTS API or a full voice agent, plus how the model reads account numbers and order IDs back to a caller.

Engineering and research · SpeechifyAIFirst published by Luke Oliff
6 min read

Most comparisons of speech platforms for support bots rank voice quality. That is the wrong first question. Support conversations are short, functional, and full of things that break synthetic speech: order numbers, dates, currency, account IDs, surnames, and the occasional drug or policy name. A voice that sounds beautiful reading marketing copy and says “oh three four” as “thirty-four” will cost you more calls than one that sounds slightly flatter and gets it right.

Three questions decide this, in order.

1. Do you need a TTS API or a voice agent platform?

You need a TTS API if you already have the conversation. Your chatbot has an LLM, it has state, it knows what to say next, and you want it spoken aloud. You are buying one thing: text in, audio out. This is the cheaper path and the one you can drop into an existing product in an afternoon.

You need a voice agent platform if the conversation itself has to happen over voice. Someone dials a number, or clicks a call button, and the system has to listen, decide, respond, handle interruptions, and possibly transfer to a human. That needs speech-to-text, an LLM, text-to-speech, turn-taking, and telephony working together with tight timing.

Teams routinely buy the second when they needed the first, and pay per-minute rates for a per-character workload.

You haveYou needBilling shape
A working chat bot, want it spokenTTS APIPer character
A web widget with a talk buttonVoice agent platformPer minute
A phone number customers callVoice agent platform with telephonyPer minute
Both chat and voice on one brainVoice agent platformPer minute

If you are in the first row, the rest of this post’s per-minute pricing does not apply to you. Read the TTS provider comparison instead, which ranks the APIs on quality per dollar.

2. Can it say an order number correctly?

This is the part support teams discover in production, and it is worth testing before you sign anything.

Synthetic speech has to decide how to read ambiguous strings. Some are obvious in context and some are genuinely hard:

  • #A-1042 is “A ten forty two” or “A one zero four two”, and which one is right depends on whether it is an order number or a suite number.
  • 07/08 is July the eighth or the seventh of August, depending on the caller’s country.
  • $1,240.50 is “twelve forty and fifty cents” in casual speech and “one thousand two hundred forty dollars and fifty cents” when confirming a refund.
  • A surname like Ng or Siobhan mispronounced on a support call reads as carelessness.

Whatever you shortlist, test it on your own strings. Take twenty real order IDs, twenty customer surnames from your CRM, and your five most common date and currency formats, synthesize them, and listen. That test takes an hour and separates the field faster than any feature grid. Most platforms let you do it on a free tier before you talk to sales.

If a model mangles your identifiers, set the spoken form yourself. On SpeechifyAI’s Simba 3.x models, <sub alias="A one zero four two">A-1042</sub> speaks the alias in place of the ID; Simba 3.x applies <sub alias>, <break> and <prosody rate>, and reads <say-as> with no effect. Needing a substitution on every dynamic field is itself a cost, because someone has to maintain that template.

3. Is it fast enough to feel like a conversation?

Latency budgets differ sharply between the two paths above, and the numbers get quoted interchangeably, which causes real confusion.

  • For a TTS API, the number that matters is time to first byte: how long until audio starts streaming after you send text. SpeechifyAI’s Simba 3.2 returned its first byte in 56 ms at the median and 102 ms at the 90th percentile on our US East production path, read 15 September 2026. That is the figure to compare across TTS vendors.
  • For a voice agent, the number that matters is first audio after the caller stops speaking, which includes speech-to-text, the LLM’s first token, and then TTS. That whole-pipeline first-audio is the voice-agent figure, not the time to first byte a TTS API quotes. It is a different measurement of a different pipeline, and a TTS first-byte number tells you very little about it.

For support specifically, the perceptual threshold is roughly 500ms of total silence after the caller finishes. Past about a second, callers repeat themselves and start talking over the agent, which is worse than a slightly slower response because the turn has to be recovered.

SpeechifyAI on each path

SpeechifyAI. For the TTS path, Simba 3.2 is evaluated on Artificial Analysis, at $6 to $10 per 1M characters, with a first byte of 56 ms at the median on our US East production path (15 September 2026). For the voice agent path, SpeechifyAI is the voice inside the platform you pick: the same API plugs into LiveKit Agents and Deepgram’s Voice Agent, so the platform runs the call and Simba speaks it.

Wiring up the TTS path

If you landed in row one, your chatbot already produces text and you need audio. That is one request:

curl -X POST https://api.speechify.ai/v1/audio/stream \
  -H "Authorization: Bearer $SPEECHIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Your order A-1042 shipped this morning and arrives Thursday.",
    "voice_id": "geffen_32",
    "model": "simba-3.2"
  }' \
  --output reply.mp3

Use the streaming endpoint rather than the batch one for anything conversational, because it starts returning audio before the full sentence is synthesized. For a support bot the difference is audio that starts as soon as the first bytes arrive, 56 ms at the median from our US East production path on 15 September 2026, instead of after the whole reply has rendered.

You can start free with 500,000 text-to-speech characters a month, no card, which is enough to run the order-number test above on real data. See the docs to wire it in.

FAQ

What is the best text-to-speech for a customer support chatbot? It depends which path you are on. If your bot already handles the conversation and you only need speech, a per-character TTS API is the cheaper fit, and SpeechifyAI’s Simba 3.2 is evaluated on the Artificial Analysis Speech Arena at $6 to $10 per 1M characters. If the conversation itself happens over voice, you need a voice agent platform rather than a TTS API.

Do I need a voice agent platform or just a text-to-speech API? If you already have a working chatbot and want it to speak, you need a TTS API, billed per character. If customers speak to it and it has to listen, respond, and handle interruptions, you need a voice agent platform, billed per minute. Buying the second when you needed the first is the most common and most expensive mistake in this category.

How do I stop AI voices mispronouncing order numbers? Test before you buy: synthesize twenty real order IDs, twenty customer surnames, and your common date and currency formats, then listen. On SpeechifyAI’s Simba 3.x models, <sub alias> sets the spoken form of an ID and <say-as> has no effect, and maintaining those substitutions across every dynamic field is an ongoing cost.

How fast does a support voice bot need to respond? Aim to keep total silence after the caller stops speaking under about 500ms. Past roughly one second, callers repeat themselves and talk over the agent. Note that TTS time-to-first-byte and voice-agent first-audio are different measurements: first-byte covers only synthesis, while first-audio includes speech-to-text and the language model as well.

How much does a voice-enabled support bot cost per minute? Bundled voice agent platforms run about $0.07 to $0.14 per minute all-in. Unbundled platforms publish lower headline rates, $0.05 to $0.055, but add speech-to-text, the LLM, and telephony on top, typically landing between $0.115 and $0.23. If you only need text-to-speech, per-character pricing is far cheaper for the same volume.

Privacy preferences

Choose what we may store on this device. You can change this at any time from the footer.

Strictly necessary

Sign-in, security, load balancing, and remembering your privacy choices. These cannot be switched off.

Always on

Analytics

How the site is used in aggregate - which pages get read, where people get stuck - so we can improve it.

Marketing

Measures which campaigns bring people here, and lets us show relevant ads on other platforms.