← Blog
Product6 min read

Sarvam's Indian-language models are live on Mume

By Kushal Sharma

Muse Mesh Private Limited was accepted into the Sarvam Startup Program on 6 September 2026. As of today, three Sarvam models run on Mume — a chat model that reasons in ten Indian languages, a text-to-speech model that speaks eleven, and a transcription model that recognises twenty-three. They are in the chat app, the media studio and the API, on the same key and the same credits as everything else.

Why this one mattered to us

In August we put the whole interface into Hindi, Marathi and Tamil. That work exposed an embarrassing gap. The buttons could speak Marathi; the models could not. Every speech model we routed spoke Hindi at best, and not one of them spoke Marathi, Bengali, Tamil, Telugu, Kannada, Malayalam, Gujarati, Punjabi or Odia. Someone reading the app in Marathi could not have it read anything back.

This is what closes that. The program itself gives us API credit over six months, business-tier rate limits, engineering support and a listing on Sarvam's site — useful, and not the reason. The reason is that these are the only models we could find that make the audio side of the product match the language side.

What is live

Sarvam-105B, as sarvam/sarvam-105b with a 128k context window and sarvam/sarvam-105b-conversations with 32k. Ten Indian languages plus English, and it takes them in native script, in romanised form, or code-mixed the way people actually type. It calls tools. Reasoning is always on, at low, medium or high — you can pick the effort but you cannot switch it off, which is worth knowing before you send a tight token budget.

Bulbul v3, as sarvam/bulbul-v3, for text to speech. Eleven languages: Hindi, Bengali, Tamil, Telugu, Kannada, Malayalam, Marathi, Gujarati, Punjabi, Odia and Indian English. There are 37 voices and every one of them speaks all eleven, so a voice is a voice rather than a language — you choose the sound you want and the language follows the text. Sarvam's own picks are priya, ishita and ratan, and those are the three we put at the top of the picker. Up to 3,500 characters a request, and it streams: the first audio arrives in well under a second.

Saaras v4, as sarvam/saaras-v4, for speech to text. Twenty-three Indian languages, detected automatically — you do not have to tell it which one. Clips up to 30 seconds. Five modes: transcribe, translate (straight to English), verbatim, translit and codemix.

Using them in the app

In chat, open the model picker and search "sarvam". Nothing else changes: same composer, same tools, same credits.

In the media studio, speech mode gains a language chooser and a 3,500-character counter when Bulbul is selected, and transcribe mode shows the 30-second ceiling and a chooser for Saaras's job mode. Both limits are upstream limits, so we would rather show them to you before you paste 6,000 characters than return an error afterwards.

Using them from the API

All three are ordinary catalogue models on the OpenAI-shaped API at https://mume.ai/api/v1, authenticated with the same API key as everything else. Chat is the standard chat completions call — streaming works, and reasoning is accepted if you want to set the effort.

Bash
curl https://mume.ai/api/v1/chat/completions \ -H "Authorization: Bearer $MUME_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "sarvam/sarvam-105b", "messages": [ {"role": "user", "content": "मराठीत एका ओळीत सांग: पाऊस का पडतो?"} ], "stream": true, "reasoning": {"effort": "low"} }'

Speech is the same audio endpoint every other voice model uses, and it answers with the audio bytes rather than JSON. language is a BCP-47 tag and is optional — leave it out and Sarvam works the language out from the text.

Bash
curl https://mume.ai/api/v1/audio/speech \ -H "Authorization: Bearer $MUME_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "sarvam/bulbul-v3", "voice": "priya", "language": "hi-IN", "input": "नमस्ते, यह म्यूज़ मेश की तरफ़ से सर्वम की पहली आवाज़ है।", "response_format": "mp3" }' \ --output namaste.mp3

Add "stream": true to start playing before synthesis finishes. Transcription takes either a URL in JSON or a file as multipart, and returns the text with the language it detected.

Bash
curl https://mume.ai/api/v1/audio/transcriptions \ -H "Authorization: Bearer $MUME_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "sarvam/saaras-v4", "file_url": "https://example.com/namaste.mp3", "mode": "translate" }'
JSON
{ "text": "Namaste, this is the first voice of Sarvam from Muse Mesh.", "language": "hi-IN", "duration": 4.41, "usage": { "seconds": 4.41 } }

Drop mode and you get the Hindi back as Hindi. That is the whole difference between the two.

What they cost

The three models are billed at Sarvam's list rates, converted into Mume credits, and the rate is shown on each model in the catalogue like every other model we route. Nothing to opt into.

Where this goes

Sarvam also has translation, transliteration and language identification endpoints, and a batch transcription API for audio longer than 30 seconds. We have not shipped those yet; the 30-second ceiling is the one we expect to hear about first.

For now the useful thing to know is that the interface and the models finally speak the same languages. If you read or listen in one of them, open a chat and tell us where it falls short — that is worth more to us than another benchmark.