Skip to content

Explore CallMissed

Text-to-Speech API

Text-to-speech API with natural Indian-language voices

40+ natural voices across 10 Indian languages plus Indian English. Streaming output, $0.30 per 10K characters. Built for voice agents, audiobooks, IVR, and accessibility.

  • 10 Indian languages × 40+ natural voices
  • Streaming output for live voice agents
  • Speed control, 6 audio formats
  • $0.30 / 10K chars, transparent pricing, no seat fees
Indian languages
10
Natural voices
40+
Real-time output
Streaming
per 10K chars
$0.30

How it works

From text to natural voice in 4 steps

Sample voices, pick one, ship to production.

  1. 01

    Pick a voice

    40+ Bulbul voices across 10 Indian languages plus Indian English, male and female. Sample them in-dashboard before deploying.

  2. 02

    Send text

    POST your text with a voice and language, or stream chunks. Control speed from 0.25x to 4x.

  3. 03

    Receive audio

    MP3, WAV, OPUS, AAC, FLAC, or raw PCM. Batch mode for files; streaming for real-time voice.

  4. 04

    Reuse

    The OpenAI-compatible audio.speech shape: one call returns the audio bytes, ready to play or store.

Features

Why teams building Indian products choose CallMissed TTS

Because Google's Hindi voices still sound like a call-center IVR. Ours don't.

10 Indian languages + 40+ voices

Hindi (Kavya, Anand, Priya and more), plus Bengali, Gujarati, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu and Indian English. Male and female voices in every language.

Natural Indic prosody

Sarvam's Bulbul voices are tuned for Indian languages, with intonation and rhythm that sound native, not a translated accent.

Streaming output

Stream audio bytes as they're synthesized, fast enough for live voice agents and interactive IVR, or fetch the whole clip in one batch call.

Speed control

Set playback speed from 0.25x to 4x per request. Pick the output format your pipeline needs: MP3, WAV, OPUS, AAC, FLAC, or raw PCM.

OpenAI-compatible shape

Call it with the audio.speech.create pattern from the OpenAI SDK: one endpoint, a voice, a language, your text. No new client to learn.

India data residency

Text and audio are processed in our India region (Azure Central India). DPDP Act-aligned, tenant-isolated per API key.

Use Cases

Text-to-speech use cases

Voice agents, audiobooks, IVR, accessibility, navigation: same API.

Headset for voice AI call

Voice AI agents

Natural voice for your phone bot

Pair our TTS with the Voice Agent API for a full voice pipeline. Streaming output means callers hear the reply as it's synthesized, not after an awkward gap.

Result

Voice agents that customers don't hang up on.

Headphones audiobook listening

Audiobooks + e-learning

Indian-language audiobooks at scale

Convert educational content, books, articles into natural-sounding audio across 10 Indian languages. Students consume lessons while commuting; learners without literacy get access via voice.

Result

Turn a whole library into audio at per-character API rates.

Phone system IVR

IVR + phone menus

Dynamic IVR prompts without re-recording

Change your IVR greetings, hold messages, or queue announcements in minutes, not weeks waiting for a studio session. Say 'Queue is longer than usual' in Tamil on-demand without re-recording audio files.

Result

Launch campaign greetings in an hour, not a week.

Accessibility on mobile

Accessibility

Read-aloud for low-literacy users

Government portals, banking apps, and health apps add a 'Listen' button that reads content in the user's chosen Indian language. Essential for low-literacy populations and visually impaired users.

Result

WCAG AA compliance + genuine accessibility for Bharat.

Navigation turn-by-turn

Navigation & in-app voice

Turn-by-turn directions in local languages

Mapping apps, delivery driver apps, cab aggregators: give turn-by-turn voice prompts in the driver's local language. Works offline when prompts are pre-generated and cached on device.

Result

Voice navigation across 10 Indian languages.

Voice note on phone

Marketing + announcements

Personalized voice notes at scale

Send hyper-personalized WhatsApp voice notes ('Hi Rajesh, your order is out for delivery') in the customer's language. Higher open rates than text, warmer than generic SMS.

Result

Warmer than SMS, in the customer's own language.

Compare

CallMissed TTS vs Google, AWS, ElevenLabs, Azure

On Indian languages we lead; on price we crush; on API ergonomics we're OpenAI-compatible.

FeatureCallMissedGoogle TTSAWS PollyElevenLabsAzure TTS
Native Indian-language voicesYesPartialPartialNoPartial
Natural Indic prosodyYesPartialPartialYesPartial
Streaming outputYesYesYesYesYes
Speed controlYesYesYesYesYes
India data residencyYesYesYesNoYes
OpenAI-compatible shapeYesNoNoNoNo
Pricing per 10K chars$0.30$0.16$0.16$3.00$0.16

Comparison based on publicly listed features as of 2026. Check each vendor's site for the latest.

Code

Shipping voice in 5 lines

speak.pyPython
from openai import OpenAI client = OpenAI( base_url="https://api.callmissed.com/v1", api_key="cm_your_key", ) audio = client.audio.speech.create( model="bulbul:v3", # Sarvam — 37 voices, 11 Indian languages. # Also: "aura-2-en" (Deepgram English, 40 voices) # Also: "aura-2-es" (Deepgram Spanish, 10 voices) # Also: "melotts" (open-source en + fr, cheapest) voice="ritu", # Hindi female — or shubh, priya, rahul… input="नमस्ते, आपका ऑर्डर कल पहुँचेगा।", response_format="mp3", ) audio.stream_to_file("greeting.mp3")

Python: synthesize Hindi voice, save as MP3

stream.mjsJavaScript
import { CallMissed } from "callmissed"; const cm = new CallMissed({ apiKey: process.env.CM_KEY }); const stream = cm.audio.tts.stream({ model: "bulbul:v3", // or "aura-2-en" / "aura-2-es" / "melotts" voice: "shubh", // 37 Sarvam speakers; pick a Tamil one for ta-IN text: "உங்கள் ஆர்டர் நாளை வருகிறது", format: "opus", sampleRate: 24000, }); // pipe to telephony / websocket / audio element stream.on("data", (chunk) => speaker.write(chunk));

Node/JS: stream TTS audio for a live voice agent

FAQ

Text-to-speech API questions, answered

What is a text-to-speech API?

A text-to-speech (TTS) API converts written text into natural-sounding audio. You send a text string, a voice, and a language; it returns audio bytes (MP3/WAV/OPUS and more) you can play in an app, broadcast over the phone, or save as a file. CallMissed's TTS uses Sarvam's Bulbul voices, tuned for Indian languages, so Hindi, Tamil, Marathi etc. sound native, not a translated accent.

Which Indian languages and voices are available?

Sarvam Bulbul covers 10 Indian languages plus Indian English: Hindi, Bengali, Gujarati, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, and Telugu. Across them are 40+ named voices, male and female, including Kavya, Anand, Priya, Shubh, Aditya, Ritu and more. Sample every voice in the dashboard before committing.

How natural do the voices sound?

Bulbul voices are tuned specifically for Indian languages, so intonation and rhythm sound native rather than a translated accent. For a live demo, sample any voice in the dashboard and compare it against your current provider on your own script.

Does TTS stream, or only return a full clip?

Both. Fetch the whole clip in one batch call, or stream audio bytes as they're synthesized for live voice agents where a caller speaks, an LLM replies, and TTS must start speaking quickly. Streaming works over the audio endpoint; batch returns the complete file.

How much does text-to-speech cost?

Sarvam Bulbul v3 is $0.30 per 10,000 characters (Bulbul v2 is half that). You pay from your credits (1 credit = ₹1 = $0.01) and only for the characters you synthesize. Free tier includes 1000 API credits to start.

Can I control speed?

Yes. Set the speed parameter between 0.25x and 4x per request. Pitch, SSML markup, and voice cloning are not offered on this API today: pick a voice and language, send text, get audio.

What audio formats does the API return?

MP3, WAV, OPUS, AAC, FLAC, and raw PCM. Choose the format via the response_format parameter, MP3 by default. The batch shape matches the OpenAI audio.speech pattern.

Where is my text processed?

Text and generated audio are processed in our India region (Azure Central India), tenant-isolated per API key and DPDP Act-aligned. We don't train on your content.

How do I integrate it?

Use the OpenAI SDK's audio.speech pattern, or plain REST (curl works). Point base_url at https://api.callmissed.com/v1, send text with a voice and language, and get audio bytes back. Full docs and copy-paste examples at docs.callmissed.com.

Try 40+ Indian voices free

Grab an API key, sample every voice in the dashboard, and ship natural-sounding audio today.