Skip to navigation

Smallest AI

Lightning voices, speed, number and date reading, pronunciation dictionaries and content filtering for Smallest AI TTS.

Smallest AI generates speech with its Lightning models in English, Hindi and other Indic languages, and many European and Asian languages. The same Smallest AI API key also serves speech recognition. Smallest AI tuning is passed in synthesizer.options.

{
"verb": "say",
"text": "Hi there, your order ships today.",
"synthesizer": {
"vendor": "smallestai",
"language": "en-US",
"voice": "kaitlyn",
"options": {
"speed": 1.0
}
}
}

You can also set these in the portal under Extra Options on the speech credential, in which case they apply to every request that uses that credential. Settings supplied on the verb take precedence.

Credential

Create an API key in the Smallest AI console. Keys start with sk_, and jambonz sends the key as a Bearer token. Add it as a Smallest AI speech credential in the portal or API; one credential is used for both text-to-speech and speech-to-text.

Models

ModelNotes
lightning_v3.1_proDefault.
lightning_v3.1_pro_10_26Preview of the next Pro checkpoint.
lightning_v3.1Smallest AI retires this model on 2026-11-30.

Pick the model on the speech credential, or set options.model_id to override it for one verb.

Voices and languages

A voice is a lowercase id such as kaitlyn, meher or rhea. The portal lists the lightning_v3.1_pro voices under each language; see Smallest AI’s voice list for every model. Listing voices needs an API key, so the portal list is bundled with jambonz.

jambonz maps synthesizer.language to Smallest AI’s language code by its base language (en-US is sent as en, cmn-* as zh, nb-* or nn-* as no). It sends en, hi, mr, kn, ta, bn, gu, te, ml, pa, or, es, de, fr, it, nl, sv, pt, ru, el, fi, no, pl, ar, zh, id, ja, ko, ms, tr and vi; any other language is not sent, and Smallest AI uses the voice’s default. Set options.language to choose explicitly, including auto; it takes precedence over synthesizer.language.

Options

model_id
string

The Lightning model to use, overriding the credential’s model.

language
string

The language code sent to Smallest AI as-is, overriding synthesizer.language.

speed
number

Speaking rate, 0.5 – 2 times the voice’s own speed.

number_pronunciation_language
string

The language numbers are read in, when it differs from the text’s language.

date_format
string

How ambiguous dates are read: EU (day first) or US (month first).

math_notation
boolean

Read mathematical notation in the text as spoken math.

pronunciation_dicts
array

Ids of pronunciation dictionaries in your Smallest AI account.

content_filter
object

Smallest AI’s content filter, such as {"enabled": true, "action": "reject"}. action is reject, flag or redact.

session_id
string

Your own session id, echoed back by Smallest AI as external_session_id.

request_id
string

Your own request id, echoed back by Smallest AI as external_request_id.

expire_content
string

Sent as Smallest AI’s x-expire-content header, which controls how long Smallest AI keeps the request’s content.

Every option is optional. An option you don’t set is not sent, so Smallest AI’s own default applies.

Streaming

These apply when Smallest AI is driven by TTS streaming, for example from the agent verb.

max_buffer_flush_ms
number

Longest time Smallest AI holds buffered text before speaking it, 0 – 1000 milliseconds.

complete_backoff_ms
number

How long Smallest AI waits for more text before it ends the turn, 0 – 10000 milliseconds.

timeout
number

Seconds an idle connection stays open, up to 180.

Endpoint override

To point at a non-default endpoint, such as a regional host or a proxy, set api_uri in the credential’s Extra Options (or the credential’s API URI field); it applies to both TTS and STT. A ws:// or http:// prefix turns off TLS. Leave it out to use api.smallest.ai.

Streaming

Smallest AI supports TTS streaming, so it can be driven token by token from an LLM using tts:tokens, for example from the agent verb. jambonz opens a new connection to Smallest AI for each turn, and on barge-in closes the connection.

Smallest AI returns word-level timestamps for some voices, so alignment events are available for those voices when alignment is enabled.