import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: 'My API Key',
});
const response = await client.calls.actions.speak('call_control_id', {
payload: 'Say this on the call',
voice: 'female',
});
console.log(response.data);{
"data": {
"result": "ok"
}
}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.endedimport Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: 'My API Key',
});
const response = await client.calls.actions.speak('call_control_id', {
payload: 'Say this on the call',
voice: 'female',
});
console.log(response.data);{
"data": {
"result": "ok"
}
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Unique identifier and token for controlling the call
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.
<Provider>.<Model>.<VoiceId>. Specifying only the provider will give default values for voice_id and model_id.Supported Providers:
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.<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.Telnyx.<model_id>.<voice_id>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
Show child attributes
The identifier for an integration secret /v2/integration_secrets that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.
"my_elevenlabs_api_key"
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"
Was this page helpful?