TTS Vendor Settings

How to pass vendor-specific tuning to a TTS provider, and which vendors support it.

Most TTS vendors expose knobs that go beyond picking a voice — speaking rate, expressiveness, stability, and so on. jambonz passes these through untouched in synthesizer.options.

1{
2 "verb": "say",
3 "text": "Thanks for calling, how can I help you today?",
4 "synthesizer": {
5 "vendor": "cartesia",
6 "language": "en",
7 "voice": "a0e99841-438c-4a64-b679-ae501e7d6091",
8 "options": {
9 "speed": -0.3,
10 "emotion": "positivity:high"
11 }
12 }
13}

The fields options accepts are defined entirely by the vendor — jambonz does not validate them. See each vendor’s page below for what it supports.

Where settings can be set

There are two places, and they combine:

  1. On the speech credential, under Extra Options in the portal (Account → Speech → your credential). These apply to every request using that credential.
  2. On the verb, in synthesizer.options. These apply to that verb only.

Where both are present, the verb wins.

Setting them on the credential is the better default when you want one consistent voice character across an application. Use the verb when a particular prompt needs to differ — a slower, clearer reading of an account number, for example.

Options are passed to the vendor as-is. If you send a field a vendor doesn’t recognise, most vendors ignore it silently rather than returning an error — so a typo usually shows up as “my setting had no effect”, not as a failure.

Vendors with settings

Vendors not listed here take no options beyond voice, language and model.

Fallback vendors

synthesizer.options applies to the primary vendor only. If you configure a fallbackVendor, it is used with its own credential-level Extra Options — the primary vendor’s options are not carried over, since the two vendors’ options are unrelated.