Skip to navigation

Best Practices for Bulbul v3

View as Markdown

This page covers Bulbul v3 only (model="bulbul:v3" or omit model for the API default). For the latest persona-based model, see the Best Practice Guide for Bulbul v4 Flash.

Want to hear v3 speakers? See Voices — Bulbul v3.


Choosing the right API mode

Bulbul v3 supports REST and WebSocket streaming. Picking the right transport has a large impact on latency.

REST APIWebSocket streaming
EndpointPOST /text-to-speechwss://api.sarvam.ai/text-to-speech/ws
Character limit2,500 chars/call2,500 chars/session
LatencyHigher — full audio returned at onceLow — chunks streamed in real time
Best forShort/pre-known text, batch, notificationsConversational agents, IVR, LLM voice output
OutputComplete audio fileIncremental chunks for progressive playback

For voice agent pipelines (LLM → TTS), prefer HTTP streaming or WebSocket. REST adds dead air while the full clip is generated.


Pace and temperature

Two parameters control how Bulbul v3 sounds. Start with defaults, then tune for your use case.

Pace (0.5 – 2.0)

pace is speaking rate relative to the voice’s natural speed. Default 1.0.

PaceEffectUse case
0.8 – 0.9RelaxedEdTech, wellness, tutorials
1.0Natural (default)Conversational agents
1.1 – 1.2BriskNotifications, IVR, news

Temperature (0.01 – 1.0)

temperature controls expressiveness. Default 0.6.

TemperatureCharacterUse case
0.3 – 0.5ControlledIVR, BFSI notifications
0.6BalancedGeneral purpose, agents
0.7 – 0.8Warm, conversationalPersonas, storytelling

Bulbul v3 does not support pitch or loudness (those apply to bulbul:v2 and bulbul:v4-flash).


Speaker selection by language

Use short-name speakers (shubh, priya, …) with bulbul:v3. Do not use v4 persona IDs with v3.

LanguageCodeRecommended maleRecommended female
Englishen-INratanishita
Hindihi-INshubh, ashutoshpriya, suhani
Telugute-INshubh, ratanneha, priya
Kannadakn-INshubh, ratanneha, ishita
Bengalibn-INrehanroopa, suhani
Tamilta-INratan, rohanishita, ritu
Odiaod-INshubhritu, pooja
Malayalamml-INshubhpooja
Marathimr-INratanpriya, ritu
Punjabipa-INmaniroopa, suhani
Gujaratigu-INratanpriya, ritu

Varun is a dramatic character voice — not a neutral default. Reserve for thriller or suspense content.


Use-case presets (v3)

Use caseLanguageSpeaker(s)PaceTemperatureSample rate
Voice agenthi-INpriya / shubh1.00.616 kHz
IVR / telephonyhi-IN, en-INratan / ishita1.10.48 kHz
EdTechhi-IN, ta-INshubh / ishita0.90.622 kHz
BFSI notificationhi-IN, en-INashutosh / ratan1.10.322 kHz

Output formats (v3)

FormatBest for
wavAgents, archival
mp3Web and mobile
linear16Real-time agent buffers
mulawPSTN / 8 kHz telephony

For v3-specific limits (SSML, sample rates on streaming), see the Bulbul model page.