Skip to main content
TTS models accept advanced options via the json_config parameter. In the Python SDK, this is a dict mapping option name to value (float or string). For REST POST requests, pass it as an object in the JSON body. These options apply to both the WebSocket and REST transports. For STT, see Transcription Settings.
Deprecated: cfg_coef for TTSThe new TTS model accepts cfg_coef in json_config but ignores its value. Remove it from TTS requests. Voice Design’s cfg_scale is a separate generation setting and remains available.

Quick reference

Range is the span each option is tuned and tested across.
Validation accepts a wider span than the table: temp to 1.5, padding_bonus from -5.0 to 5.0. Use the table’s ranges when tuning.
For deterministic output, set temp to 0.0. For multi-utterance flows on a single session, see Multiplexing. For designed voices, see also Voice Design settings. The TTS engine recognises the <flush> and <break time="..." /> tags described in Text-to-Speech.

Setup fields, not json_config

Two per-request options are set at the top level of the setup message, alongside voice_id, rather than inside json_config: pronunciation_id goes next to voice_id, at the top level of the setup. An ID that doesn’t exist is reported as Pronunciation dictionary <id> not found.
Pronunciation dictionaries apply to WebSocket sessions only. REST requests cannot use them; the pattern-based rewrite_rules in json_config are the only rewriting control there. See Text Rewriting Rules.

Speed control

You can guide the speed of the model using the padding bonus parameter. Default value is 0.0. Negative values mean that the speaker will speak faster (values between -4.0 and -0.1). Positive values mean that the speaker will speak slower (values between 0.1 and 4.0).

Temperature control

The temperature for the generation can be set with values ranging from 0 to 1.4. A value of 0 corresponds to a deterministic generation, while higher values lead to more diverse outputs. Default value is 0.7.

Resampling delay

The model generates audio at 48 kHz. In a resampled output format (pcm_8000, pcm_16000, pcm_22050, pcm_24000, pcm_44100, ulaw_8000 and alaw_8000) the stream used to start with 40 ms of silence added by the resampler. no_resampling_delay is true by default, which drops that silence: the first audio chunk then holds 40 ms instead of 80 ms, so use the start_s and stop_s timestamps rather than a fixed chunk size. pcm, pcm_48000, wav and opus are not resampled and are unaffected. Set it to false to restore the leading silence and a fixed 80 ms first chunk:

Rewrite rules

The rewrite_rules parameter can be used to pass text rewriting rules that are applied before the text is synthesized. The rules should be passed as a string. More details on the rules themselves can be found in the Text Rewriting Rules guide. Values such as "en", "fr", "fr-be", "fr-ch", "de", "es", "pt" enable all the rewriting rules for a given language or locale. When the voice has a language, its rules are enabled by default; pass "none" to disable rewriting entirely.

Passing json_config

For REST, see the TTS POST reference.