Speak text to conference participants
POST/conferences/:id/actions/speak
Convert text to speech and play it to all or some participants.
Request
Path Parameters
Specifies the conference by id or name
- application/json
Body
required
- Define voices using the format
<Provider>.<Model>.<VoiceId>
.
Call Control IDs of participants who will hear the spoken text. When empty all participants will hear the spoken text.
The text or SSML to be converted into speech. There is a 3,000 character limit.
Possible values: [text
, ssml
]
Default value: text
The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).
Specifies the voice used in speech synthesis.
Supported Providers:
-AWS: Use AWS.Polly.<VoiceId>
(e.g., AWS.Polly.Joanna
). For neural voices, which provide more realistic, human-like speech, append -Neural
to the VoiceId
(e.g., AWS.Polly.Joanna-Neural
). Check the available voices for compatibility.
-ElevenLabs: Use ElevenLabs.<ModelId>.<VoiceId>
(e.g., ElevenLabs.eleven_multilingual_v2.21m00Tcm4TlvDq8ikWAM
). The ModelId
part 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.
For service_level basic, you may define the gender of the speaker (male or female).
voice_settings
object
The settings associated with the voice selected
oneOf
The settings associated with the voice selected
Possible values: [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
]
The language you want spoken. This parameter is ignored when a Polly.*
voice is specified.
Use this field to avoid execution of duplicate commands. Telnyx will ignore subsequent commands with the same command_id
as one that has already been executed.
Responses
200: Successful response upon making a conference command.
- application/json
401: Unauthorized
404: Conference does not exist
422: Unprocessable entity
Request samples
curl -L 'https://api.telnyx.com/v2/conferences/:id/actions/speak' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"call_control_ids": [
"v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg"
],
"payload": "Say this to participants",
"payload_type": "text",
"voice": "female",
"language": "en-US",
"command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
}'
Response samples
{
"data": {
"result": "ok"
}
}