Skip to main content
All parameters are passed as query string values on the WebSocket URL. Locked at connection time — cannot be changed mid-session.
string
Compound voice identifier in Provider.Model.VoiceId format. When present, the server parses it into provider, model_id, and voice_id — those individual params are ignored. See Voices.
string
default:"telnyx"
TTS provider. One of: telnyx, aws, azure, elevenlabs, minimax, murfai, rime, resemble, inworld. Ignored when voice is provided.
string
Model within the provider. Ignored when voice is provided.
string
Voice ID within the model. Ignored when voice is provided.
Use either voice (compound) or provider + model_id + voice_id (separate). If voice is present, it takes precedence and the individual fields are ignored.
string
Output audio format. Accepted values: pcm, wav. Only applies to Telnyx Natural and NaturalHD models — other providers control format via voice settings. See each provider’s page for details.
string
BCP-47 language code. Passed to the provider for multilingual voices.
string
Text type hint. Passed through to providers that support it (e.g., ssml for AWS Polly).
string
Client-provided connection identifier for tracing and debugging. Also accepted as x-socket-id header. If omitted, the server generates a UUID.
boolean
default:"false"
When true, bypass the audio cache and always synthesize fresh audio.

Voice Settings

Provider-specific parameters (speed, pitch, emotion, etc.) are not query parameters. They are passed in the voice_settings object of the initialization frame:
Available fields vary by provider. See each provider’s page for the full list.

Example