--- name: sarvam-ai description: "Indian language AI via Sarvam AI APIs. Text-to-Speech (TTS) with 38 voices in 22+ Indian languages using Bulbul v3, Speech-to-Text (STT) with Saaras v3. Use when the user asks to generate speech in Indian languages, transcribe Indian language audio, or needs Indic TTS/STT." metadata.openclaw: emoji: ЁЯЗоЁЯЗ│ requires: env: - SARVAM_API_KEY --- # Sarvam AI тАФ Indian Language TTS & STT Sarvam AI provides high-quality Text-to-Speech and Speech-to-Text for 22+ Indian languages. ## Authentication - API key must be set in `$SARVAM_API_KEY` (gateway env) - Header: `API-Subscription-Key: $SARVAM_API_KEY` - Base URL: `https://api.sarvam.ai` ## Quick Start (Helper Scripts) ```bash # Text-to-Speech scripts/sarvam-tts.sh "рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛" --lang hi-IN --speaker aditya --output hello.mp3 # Speech-to-Text scripts/sarvam-stt.sh audio.wav --lang hi-IN ``` ## Text-to-Speech (TTS) ### Batch TTS ```bash curl -X POST "https://api.sarvam.ai/text-to-speech" \ -H "API-Subscription-Key: $SARVAM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": ["Your text here"], "target_language_code": "hi-IN", "speaker": "aditya", "model": "bulbul:v3" }' ``` Response: `{"request_id": "...", "audios": [""]}` ### Streaming TTS (preferred for longer text) ```bash curl -X POST "https://api.sarvam.ai/text-to-speech/stream" \ -H "api-subscription-key: $SARVAM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Your text here", "target_language_code": "hi-IN", "speaker": "aditya", "model": "bulbul:v3", "pace": 1.0, "speech_sample_rate": 22050, "output_audio_codec": "mp3", "enable_preprocessing": true }' -o output.mp3 ``` ### TTS Parameters | Param | Values | Default | |-------|--------|---------| | `model` | `bulbul:v3` (best), `bulbul:v2` | `bulbul:v3` | | `target_language_code` | See language codes below | required | | `speaker` | See speakers below | required | | `pace` | 0.5 - 2.0 | 1.0 | | `speech_sample_rate` | 8000, 16000, 22050, 44100 | 22050 | | `output_audio_codec` | mp3, wav, aac, opus, flac, pcm, mulaw, alaw | mp3 | | `temperature` | 0.0 - 1.0 | 0.6 | ### Bulbul v3 Speakers (38 voices) aditya, ritu, ashutosh, priya, neha, rahul, pooja, rohan, simran, kavya, amit, dev, ishita, shreya, ratan, varun, manan, sumit, roopa, kabir, aayan, shubh, advait, amelia, sophia, anand, tanya, tarun, sunny, mani, gokul, vijay, shruti, suhani, mohit, kavitha, rehan, soham, rupali ## Speech-to-Text (STT) ### Batch STT ```bash curl -X POST "https://api.sarvam.ai/speech-to-text" \ -H "API-Subscription-Key: $SARVAM_API_KEY" \ -F "file=@audio.wav" \ -F "model=saaras:v3" \ -F "language_code=hi-IN" ``` Response: `{"transcript": "...", "language_code": "hi-IN"}` ### STT Models | Model | Best for | |-------|----------| | `saaras:v3` | Best quality, all languages | | `saarika:v2.5` | Good quality, faster | | `saarika:flash` | Fastest, lower quality | ## Language Codes | Language | Code | |----------|------| | Hindi | `hi-IN` | | Bengali | `bn-IN` | | Telugu | `te-IN` | | Marathi | `mr-IN` | | Tamil | `ta-IN` | | Gujarati | `gu-IN` | | Kannada | `kn-IN` | | Malayalam | `ml-IN` | | Odia | `od-IN` | | Punjabi | `pa-IN` | | English (Indian) | `en-IN` | | Auto-detect | `unknown` (STT only) |