/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:
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 yourdescription 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 withspeaker. leave it out and you get ira.
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.