Because not all TTS engines operate the same way, third-party TTS engine playback may differ. For example, some TTS engines only allow up to 3 KB of text, and if you submit a string that exceeds that length it may play nothing, or it may fall back to the Genesys TTS engine if it supports the current language. Engines usually have higher latency for synthesizing large TTS requests, and TTS requests with more than a couple thousand characters at a time may not be recommended. Performance can vary depending on language, dialect, and voice. 

Warning: Failure to perform appropriate testing string values in third-party TTS engines could result in serious consequences. For example, if you use a string in a third-party TTS engine and it reads a negative bank account balance as a positive amount, or an outstanding invoice balance as a surplus.

It is important to test and confirm third-party TTS engine behavior. Runtime playback of TTS strings is at the third-party provider’s discretion and may not produce the same behavior as the Genesys TTS engine. One TTS engine could read 5.0 as “five point zero,” while another could read that text as “five period zero.”


Let’s review the following string:

ToAudioTTS(ToString(MakeList(1,-5, 3))

Using the Genesys TTS engine for playback, the caller hears one, minus five, three. However, a third-party TTS engine that plays back the same string may not read the negative number and processes the expression as one, five, three.

Best practice recommends that you test third-party TTS engine playback in an Architect test flow, or in a third party provider’s test environment. For more information about configuring a TTS engine and voice for a flow’s language, see Select a TTS engine and voice for a flow.