Skip to main content
POST
/
calls
/
{call_control_id}
/
actions
/
gather_using_speak
JavaScript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: 'My API Key',
});

const response = await client.calls.actions.gatherUsingSpeak('call_control_id', {
  payload: 'say this on call',
  voice: 'male',
});

console.log(response.data);
{
  "data": {
    "result": "ok"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

call_control_id
string
required

Unique identifier and token for controlling the call

Body

application/json

Gather using speak request

payload
string
required

The text or SSML to be converted into speech. There is a 3,000 character limit.

Example:

"Say this on the call"

voice
string
required

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 -Neural to the VoiceId (e.g., AWS.Polly.Joanna-Neural). Check the available voices for compatibility.
  • Azure: Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural, Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural, Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to Azure Voice Gallery.)
  • 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.
  • Telnyx: Use Telnyx.<model_id>.<voice_id>

For service_level basic, you may define the gender of the speaker (male or female).

Example:

"Telnyx.KokoroTTS.af"

invalid_payload
string

The text or SSML to be converted into speech when digits don't match the valid_digits parameter or the number of digits is not between min and max. There is a 3,000 character limit.

Example:

"Say this on the call"

payload_type
enum<string>
default:text

The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).

Available options:
text,
ssml
Example:

"ssml"

service_level
enum<string>
default:premium

This parameter impacts speech quality, language options and payload types. When using basic, only the en-US language and payload type text are allowed.

Available options:
basic,
premium
Example:

"premium"

voice_settings
ElevenLabs Voice Settings · object

The settings associated with the voice selected

  • ElevenLabs Voice Settings
  • Telnyx Voice Settings
  • AWS Voice Settings
language
enum<string>

The language you want spoken. This parameter is ignored when a Polly.* voice is specified.

Available options:
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
Example:

"en-US"

minimum_digits
integer<int32>
default:1

The minimum number of digits to fetch. This parameter has a minimum value of 1.

Example:

1

maximum_digits
integer<int32>
default:128

The maximum number of digits to fetch. This parameter has a maximum value of 128.

Example:

10

maximum_tries
integer<int32>
default:3

The maximum number of times that a file should be played back if there is no input from the user on the call.

Example:

3

timeout_millis
integer<int32>
default:60000

The number of milliseconds to wait for a DTMF response after speak ends before a replaying the sound file.

Example:

60000

terminating_digit
string
default:#

The digit used to terminate input if fewer than maximum_digits digits have been gathered.

Example:

"#"

valid_digits
string
default:0123456789#*

A list of all digits accepted as valid.

Example:

"123"

inter_digit_timeout_millis
integer<int32>
default:5000

The number of milliseconds to wait for input between digits.

Example:

10000

client_state
string

Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.

Example:

"aGF2ZSBhIG5pY2UgZGF5ID1d"

command_id
string

Use this field to avoid duplicate commands. Telnyx will ignore any command with the same command_id for the same call_control_id.

Example:

"891510ac-f3e4-11e8-af5b-de00688a4901"

Response

Successful response upon making a call control command.

data
Call Control Command Result · object
Example:
{ "result": "ok" }