Skip to main content
silk mulberry 1.6 is our multilingual voice. it speaks 22 indian languages, each written in its own script, in four named voices. you steer the delivery with a short style, accent and pace. it streams, so it’s a good fit for voice agents in any of those languages. it’s available over /v1/tts, /v1/tts/json, websocket streaming and the playground; the dashboard’s hosted agents and phone calls don’t offer it yet.

at a glance

quickstart

one call, one .wav file:
to receive opus, pcm, mulaw, alaw, or mp3, add audio_format to the request. see audio formats for exact values and examples. write your text in the language’s own script and put the delivery in description. there’s no language field: the text decides. the full request schema is in the api reference.

supported languages

write each language in its own script, and don’t romanise it. if your description names no accent, silk picks one from the script of the text. name an accent in description to pick it yourself. the full list is in the prompting guide.

preset voices

pick one of four named voices with speaker. leave it out and you get ira.
names are case-insensitive. send a name we don’t know and you get ira, not an error, so a typo sounds like the wrong voice rather than failing loudly. when you send speaker, /v1/tts/json echoes the voice it used, e.g. "Ira".
coming from mulberry 1.5? its numbered preset values, speaker_1 to speaker_4, map to ira, siya, aisha and zoya, in that order.

parameters

long text? one request speaks up to about 80 seconds of audio: roughly 1,200 english characters, or about 600 characters of indic-script text at a steady pace. split longer text into sentences. a generation that can’t finish comes back as an error instead of cut-off audio, and it isn’t charged: 502 GENERATION_TOO_LONG over http, or an error frame with code GENERATION_TOO_LONG over a websocket. any other failure, like the engine being unreachable, is GENERATION_ERROR.

how it differs from mulberry 1.5

silk mulberry 1.5 (mulberry) is unchanged. pick the model per request. → to write good descriptions, read the prompting guide.