Skip to navigation

Bulbul

View as Markdown

Bulbul v4 Flash is our latest text-to-speech model — 200+ persona voices and the same API contract as Bulbul v3. Bulbul v3 remains the API default when model is omitted and offers 30+ classic speaker names, improved audio quality, and up to 2500 characters per request.

Bulbul v4 Flash is the latest model, offering the same request and response contract as bulbul:v3 but with a much larger, persona-based voice catalog (200+ speaker voices across style and use case). Bulbul v3 remains the API default when model is omitted. Both are available on the Text-to-Speech endpoint (/text-to-speech).

At a Glance

Model IDbulbul:v4-flash (latest, recommended for new integrations), bulbul:v3 (stable; API default when model is omitted), bulbul:v2 (legacy)
What it doesText-to-speech with natural speaker voices and pace control
Languages11 (10 Indian + English), full list
APIsREST, HTTP streaming, WebSocket
Input limits2,500 characters per REST request; sample rates up to 48 kHz (REST API only), all limits
PricingPricing page
Best forVoice agents, IVR prompts, narration and audio content
Known limitationsSee below

Bulbul v4 Flash vs v3

Bulbul v4 FlashBulbul v3
StatusLatest, recommended for new integrationsStable (API default when model omitted)
Speaker voices200+ persona voices (222 IDs), organized by language and style, see Voices30+ named speakers
Languages (voices)Hindi, English, enhi, Bengali, Gujarati, Kannada, Marathi, Punjabi, Tamil, Telugu — see v4 catalog note11 BCP-47 codes (incl. Malayalam, Odia)
Request/response shapeSameSame
Endpoint/text-to-speech/text-to-speech

For new integrations, set model="bulbul:v4-flash" in any of the requests below along with a speaker value from the Bulbul v4 Flash voice catalog. The request/response shape is identical to bulbul:v3.

Key Features

200+ Persona Voices (v4 Flash)

222 persona voices on bulbul:v4-flash, organized by language and style (for example simran_en_customer, ishita_hi_devotional).

30+ Speaker Voices (v3)

On bulbul:v3: natural-sounding voices including Shubh, Aditya, Ritu, Simran, Anand, Roopa, Priya, and more.

Extended Character Limit

Support for up to 2500 characters per request for longer content generation.

Sample Rate Options

REST accepts 8000–48000 Hz (see Limits). Streaming accepts 8000–24000 Hz. Omitted → 22050 Hz output.

Language Support (v3)

On bulbul:v3: support for 11 languages (10 Indian + English) with BCP-47 codes. The target language code is primarily used by the pre-TTS text normalization model.

Natural Prosody

Human-like speech patterns with natural intonation and emotional expression.

Pace Control

Adjustable speech speed from 0.5x to 2.0x for customized delivery.

Language Support

Bulbul v3

Bulbul v3 supports the following Indian languages:

Hindi (hi-IN), Bengali (bn-IN), Tamil (ta-IN), Telugu (te-IN), Gujarati (gu-IN), Kannada (kn-IN), Malayalam (ml-IN), Marathi (mr-IN), Punjabi (pa-IN), Odia (od-IN), English (en-IN)

Bulbul v4 Flash

Bulbul v4 Flash voices cover Hindi, English, English–Hindi (enhi), Bengali, Gujarati, Kannada, Marathi, Punjabi, Tamil, and Telugu. Malayalam and Odia are not yet offered on v4 Flash.

Available Speakers

Bulbul v3

Bulbul v3 offers 30+ speaker voices:

Speakers: Shubh (default), Aditya, Ritu, Priya, Neha, Rahul, Pooja, Rohan, Simran, Kavya, Amit, Dev, Ishita, Shreya, Ratan, Varun, Manan, Sumit, Roopa, Kabir, Aayan, Ashutosh, Advait, Anand, Tanya, Tarun, Sunny, Mani, Gokul, Vijay, Shruti, Suhani, Mohit, Kavitha, Rehan, Soham, Rupali

Bulbul v4 Flash

Bulbul v4 Flash offers 200+ persona voices (222 catalog IDs). Most IDs follow <name>_<language>_<style> (for example ishita_hi_devotional, simran_en_customer); some use the enhi tag for English–Hindi code-mixed styles. Browse the full catalog on the Voices page.

Use the speaker parameter to select specific voices for your use case. For bulbul:v4-flash, omit speaker to use the default persona shubh_enhi_ads, or pick any ID from the v4 catalog. The v3 default shubh is not valid on this model.

REST output codec: wav, mp3, aac, flac, and linear16 work with bulbul:v3 and bulbul:v4-flash. The opus value may appear in the schema but currently returns an error on /text-to-speech; prefer mp3 for compressed audio.

Key Capabilities

Convert text to speech with Bulbul v4 Flash — recommended for new integrations.

from sarvamai import SarvamAI
from sarvamai.play import play, save
client = SarvamAI(
api_subscription_key="YOUR_SARVAM_API_KEY"
)
response = client.text_to_speech.convert(
text="Hello, how are you today?",
language_code="en-IN",
model="bulbul:v4-flash",
speaker="simran_en_customer",
)
# Play the audio
play(response)
# Save the response to a file
save(response, "output.wav")

Limits

LimitValue
Max characters per request (REST)2,500
pace0.5–2.0 (bulbul:v3, bulbul:v4-flash) / 0.3–3.0 (bulbul:v2)
pitch-1.0 to 1.0; suitable range -0.75 to 0.75 (bulbul:v2 only)
loudness0.1–3.0 (bulbul:v2 only)
speech_sample_rateREST: 8000 / 16000 / 22050 / 24000 / 32000 / 44100 / 48000. Streaming: 8000 / 16000 / 22050 / 24000. Omitted → 22050 Hz output
Rate limitsSee Rate Limits

Known Limitations

LimitationDetailWorkaround
No SSML supportBulbul does not support SSML tags for fine-grained prosody controlUse pace for coarse control; split text at natural pause points
Romanised Indic input degrades qualityTransliterated input (e.g., "Aapka order confirm ho gaya hai") significantly reduces output qualityAlways use native script for Indic words (e.g., "आपका order confirm हो गया है")
High sample rates are REST-only32000, 44100, and 48000 are accepted on REST only; streaming accepts up to 24000Use ≤ 24000 Hz for HTTP stream or WebSocket

Next Steps