Skip to main content

Amazon Polly

Amazon Web Services' Polly TTS engine includes several models to accommodate different use cases.

Models

SignalWire supports the following three Amazon models.

Billing

Amazon Polly usage on SignalWire is billed according to the following SKU codes:

Billing SKUModel(s)Description
amazon_tts_standardStandardTraditional concatenative TTS, most cost-effective
amazon_tts_neuralNeuralAdvanced neural TTS with natural-sounding speech
amazon_tts_generativeGenerativeLatest generative AI model with highest quality

The model you specify determines which billing SKU is applied. Standard is the default if no model is specified.

Consult the Voice API Pricing page for current rates.

Languages

Consult AWS documentation for a comprehensive and up-to-date list of supported voices, as well as information on accented and fully bilingual voices.

Voice IDs

Amazon voice IDs are composed of four sections:

ParameterPossible valuesDescription
engine
required
  • amazon
  • polly (will be deprecated in the future)
TTS engine
voice
required
Choose from the Name/ID columnVoice ID
model
optional
standard, neural, or generativeAmazon Polly model. Default: standard
language
optional
Choose from the Language code columnSets model language. Default: en-US

Amazon voice IDs conform to the following format:

amazon.<voice>:<model>:<language>

Parameters:

ParameterRequiredValuesDescription
engineYesamazonTTS engine identifier (note: polly is deprecated)
voiceYesSee available voicesVoice name from the Name/ID column
modelOptionalstandard, neural, generativeAmazon Polly model (default: standard)
languageOptionalSee language codesLanguage code (default: en-US)

Examples:

amazon.Joanna
amazon.Joanna:standard:en-US
amazon.Kendra:neural:en-US
amazon.Matthew:neural:en-US
amazon.Danielle:generative:en-US
amazon.Amy:generative:en-GB
amazon.Aditi:standard:hi-IN

Simplified Format:

For voices that only support one model, you can omit the model parameter:

amazon.<voice>:<language>

Example: amazon.Aditi:hi-IN (Standard model implied)

note

The polly engine code is being deprecated. Use amazon instead.

Character limits

Amazon Polly has a limit of 3000 chargeable characters in a single request. If your TTS request is longer than 3000 characters, you will experience silence.


Examples

See how to use Amazon Polly voices on the SignalWire platform.

Use the languages SWML method to set one or more voices for an AI agent.

version: 1.0.0
sections:
main:
- ai:
prompt:
text: Have an open-ended conversation about flowers.
languages:
- name: English
code: en-US
voice: amazon.Ruth:neural

Alternatively, use the say_voice parameter of the play SWML method to select a voice for basic TTS.

version: 1.0.0
sections:
main:
- set:
say_voice: "amazon.Ruth:neural"
- play: "say:Greetings. This is the Ruth voice from Amazon Polly's Neural text-to-speech model."