text-to-speech

Installation
SKILL.md

Text-to-Speech — Bulbul

Live in-chat TTS → sarvam-mcp (sarvam_tools_tts_*). This skill = SDK code.

[!IMPORTANT] Auth: api-subscription-key header — NOT Authorization: Bearer. Base URL: https://api.sarvam.ai (NOT /v1 — that prefix is only for the OpenAI-compatible chat endpoint) SDK floor for the code below: Python sarvamai>=0.1.29, JS sarvamai@>=1.1.8. On older versions the TTS param is target_language_code — see Gotchas.

Model

bulbul:v4-flash — latest, use this for new integrations. Same REST / HTTP stream / WebSocket contract as v3. 200+ persona voices (222 IDs).

bulbul:v3 — what the API uses when model is omitted. Short names (shubh, priya). Still the right model for Malayalam and Odia, which have no v4 personas yet.

Speakers (v4 Flash)

IDs are lowercase voice_language_style: aparna_hi_customer, simran_en_customer, shubh_enhi_ads. Omit speaker and the default is shubh_enhi_ads. v2/v3 short names (shubh, priya, ishita, anushka) return 400.

The middle token is a language tag (hi, en, bn, gu, kn, mr, pa, ta, te) or enhi for English–Hindi code-mix. Use an _enhi_ persona when one utterance is genuinely mixed; a few English loanwords in Hindi script do not need it.

Installs
197
Repository
sarvamai/skills
GitHub Stars
73
First Seen
Feb 8, 2026