Skip to main content
The Speak section controls text to speech (TTS): the voice your agent uses and how quickly it starts talking. For how Listen, Think, and Speak fit together, see the Execution Layer overview.

Prerequisites

Before you begin:

Change the voice

Open your project and go to the Speak section. Open the TTS model dropdown and pick a model, then pick a Voice for it. As with Listen, the dropdown separates SLNG models, hosted in your region, from BYOK, models you reach with your own provider key.
Opening the TTS model dropdown, then the Voice dropdown showing the voices for that model

Pick the TTS model first, then a voice that belongs to it.

Prefer a model from the SLNG models tab to synthesize in your region. To use the BYOK tab, register your provider key first; see Bring your own key.
Each TTS model has its own set of voices, so pick the model first, then a voice that belongs to it. For the models and voices a region and language allow, see Which models are available.

Tune latency

models.tts_kwargs passes options through to the synthesis provider. In the dashboard it lives under Advanced settings on the Speak section, in the Overrides · JSON box. The same block holds the TTS timeout covered under Keep Speak reliable.
The Advanced settings block on the Speak section, with the TTS timeout field and the Overrides JSON editor

Advanced settings on the Speak section: a TTS timeout and a JSON box for provider overrides.

The keys are specific to the model you picked, not to SLNG. For example, the Fish models, such as the default slng/fish/tts:s2.1-pro, take a latency mode that trades startup speed against audio quality (balanced by default). Send overrides inside the whole models object, since a PATCH replaces it as a unit:
To find the options a model accepts, see that provider’s synthesis API reference. SLNG applies a few limits: up to 128 keys, 64 KiB in total, and it rejects keys that would carry credentials or change routing (api_key, base_url, headers, model, and similar). Overrides apply to the primary TTS model, not to its fallbacks.

Cache repeated phrases

Repeated lines such as greetings and confirmations are served from a cache instead of being synthesized again, which cuts cost and latency. Caching is on by default (tts_cache_enabled). For how it works and how to turn it off, see TTS caching.

Control pronunciation

A pronunciation dictionary fixes how the voice says specific words, such as a brand or a product name. See Pronunciation dictionaries.

Keep Speak reliable

The TTS step can fall back to another model and has its own per-turn timeout (models.fallbacks.tts, models.tts_first_audio_timeout_s). These work the same way across all three sections. See Reliability.

Next steps