Speak text
Convert text to speech and play it back on the call. If multiple speak text commands are issued consecutively, the audio files will be placed in a queue awaiting playback.
Expected Webhooks:
call.speak.startedcall.speak.ended
Documentation Index
Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier and token for controlling the call
Body
Speak request
The text or SSML to be converted into speech. There is a 3,000 character limit.
"Say this on the call"
Specifies the voice used in speech synthesis.
- Define voices using the format
<Provider>.<Model>.<VoiceId>. Specifying only the provider will give default values for voice_id and model_id.
Supported Providers:
- AWS: Use
AWS.Polly.<VoiceId>(e.g.,AWS.Polly.Joanna). For neural voices, which provide more realistic, human-like speech, append-Neuralto theVoiceId(e.g.,AWS.Polly.Joanna-Neural). Check the available voices for compatibility. - Azure: Use
Azure.<VoiceId>(e.g.,Azure.en-CA-ClaraNeural,Azure.en-US-BrianMultilingualNeural,Azure.en-US-Ava:DragonHDLatestNeural). For a complete list of voices, go to Azure Voice Gallery. Usevoice_settingsto configure custom deployments, regions, or API keys. - ElevenLabs: Use
ElevenLabs.<ModelId>.<VoiceId>(e.g.,ElevenLabs.eleven_multilingual_v2.21m00Tcm4TlvDq8ikWAM). TheModelIdpart is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration identifier secret in"voice_settings": {"api_key_ref": "<secret_identifier>"}. See integration secrets documentation for details. Check available voices. - Telnyx: Use
Telnyx.<model_id>.<voice_id>(e.g.,Telnyx.KokoroTTS.af). Usevoice_settingsto configure voice_speed and other synthesis parameters. - Minimax: Use
Minimax.<ModelId>.<VoiceId>(e.g.,Minimax.speech-02-hd.Wise_Woman). Supported models:speech-02-turbo,speech-02-hd,speech-2.6-turbo,speech-2.8-turbo. Usevoice_settingsto configure speed, volume, pitch, and language_boost. - Rime: Use
Rime.<model_id>.<voice_id>(e.g.,Rime.Arcana.cove). Supported model_ids:Arcana,Mist,ArcanaV3,Coda. Usevoice_settingsto configure voice_speed. - Resemble: Use
Resemble.Turbo.<voice_id>(e.g.,Resemble.Turbo.my_voice). OnlyTurbomodel is supported. Usevoice_settingsto configure precision, sample_rate, and format. - Inworld: Use
Inworld.<ModelId>.<VoiceId>(e.g.,Inworld.Mini.Loretta,Inworld.Max.Oliver). Supported models:Mini,Max. - xAI: Use
xAI.<VoiceId>(e.g.,xAI.eve). Available voices:eve,ara,rex,sal,leo.
For service_level basic, you may define the gender of the speaker (male or female).
"Telnyx.KokoroTTS.af"
The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).
text, ssml "ssml"
This parameter impacts speech quality, language options and payload types. When using basic, only the en-US language and payload type text are allowed.
basic, premium "premium"
When specified, it stops the current audio being played. Specify current to stop the current audio being played, and to play the next file in the queue. Specify all to stop the current audio file being played and to also clear all audio files from the queue.
"current"
The settings associated with the voice selected
- ElevenLabs Voice Settings
- Telnyx Voice Settings
- AWS Voice Settings
- Minimax Voice Settings
- Azure Voice Settings
- Rime Voice Settings
- Resemble Voice Settings
- Inworld Voice Settings
- xAI Voice Settings
The language you want spoken. This parameter is ignored when a Polly.* voice is specified.
arb, cmn-CN, cy-GB, da-DK, de-DE, en-AU, en-GB, en-GB-WLS, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, is-IS, it-IT, ja-JP, ko-KR, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ro-RO, ru-RU, sv-SE, tr-TR "en-US"
Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.
"aGF2ZSBhIG5pY2UgZGF5ID1d"
Use this field to avoid duplicate commands. Telnyx will ignore any command with the same command_id for the same call_control_id.
"891510ac-f3e4-11e8-af5b-de00688a4901"
The number of times to play the audio file. Use infinity to loop indefinitely. Defaults to 1.
Specifies which legs of the call should receive the spoken audio.
self, opposite, both "both"
Response
Successful response upon making a call control command.
{ "result": "ok" }