promptTTS

View as MarkdownOpen in Claude

Speak a text-to-speech prompt, then collect DTMF or speech input. A typed convenience over playAndCollect().

Parameters

text
stringRequired

The prompt to speak.

collect
CollectConfigRequired

Input collection configuration: digits, speech, initial_timeout, and the other fields accepted by playAndCollect(). Field names are the snake_case wire names; the object is sent as-is.

options
object

Voice and playback options.

options.language
string

Language code for the voice, such as "en-US".

options.gender
TtsGender

"male" or "female".

options.voice
string

Voice identifier for the TTS engine.

options.volume
number

Volume adjustment in dB, from -40 to 40.

options.onCompleted
(event: RelayEvent) => void | Promise<void>

Callback invoked when the operation reaches a terminal state.

Returns

Promise<CollectAction> — An action handle with stop(), pause(), resume(), volume(), startInputTimers(), and wait() methods.

Example

import { RelayClient } from '@signalwire/sdk';
const client = new RelayClient({
project: process.env.SIGNALWIRE_PROJECT_ID!,
token: process.env.SIGNALWIRE_API_TOKEN!,
contexts: ['default']
});
client.onCall(async (call) => {
await call.answer();
const action = await call.promptTTS(
'Enter your four digit PIN.',
{ digits: { max: 4, terminators: '#' } },
);
const event = await action.wait();
console.log(event.params);
});
await client.run();