Guide · Start building

Voice AI APIs for developers building in India.

There are four ways in, and you pick by the part of the call you'd rather not build. The voice-agent API places and answers whole phone calls for you. The Realtime API, Fourier TTS and transcription each take one piece, for teams that already run the rest.

By Frequency · Updated 16 October 2026.

AI agents from ₹1 a minute.¹

Read the API docs

Which one do I start with?

Pick the part of the call you’d rather not build. All four APIs share one sk_live_ key and one prepaid wallet. Voice agents cost ₹1 a minute on the volume plan.

Your application needs Start with What your team still owns
An agent that rings customers, or answers your number Voice-agent API (/v2/agents, /v2/calls, /v2/campaigns) The prompt, the customer data you pass in, and what happens after the call
Your own app or Pipecat bot, with us doing recognition, the model and speech Realtime API (OpenAI Realtime protocol over WebSocket) Audio transport, tools and session settings
Hindi or Hinglish speech from text Fourier TTS (/v1/audio/speech and a streaming WebSocket) Text generation, playback and the conversation itself
Transcripts of calls that already happened Offline transcription (/v2/transcriptions) Storage and review of the transcripts

Streaming recognition runs inside every agent and Realtime session. On its own it’s in private preview, so ask before you design around it. The LLM is priced in the docs, and we switch it on when you ask.

Agents speak Hindi, English, Gujarati, Tamil and Telugu, and Hinglish, in four voices: ashu, neha, shruti and sameer.

What happens when I place a call?

POST /v2/calls answers at once with 202 Accepted, a call ID and status: "queued". The phone hasn’t rung yet. Everything after that arrives as signed webhooks.

  1. Create a key under Developers in the sandbox. You see the secret key and a whsec_ webhook secret once, so keep both on your server.
  2. Create an agent with POST /v2/agents: a name, a system prompt, an opening line, a voice and a language such as hi-IN.
  3. Place the call with POST /v2/calls and an Idempotency-Key from your own record, so a retry never rings anyone twice.
  4. Save the call ID before you return. A webhook can land while the request is still in flight.
  5. Verify X-Mirai-Signature over the raw body, dedupe on the event id, and update your records from the final event.

The Python phone-call guide and the webhook guide have runnable code. For a whole list, use campaigns.

Calls to https://sandbox.voice.miraiminds.co bill at T5. After your company completes Go live in the console, send the same requests to https://prod.voice.miraiminds.co. Before that, prod answers 403 production_workspace_required.

What should I test with Indian callers?

The way your callers really talk. Try a Hindi sentence with an English product name, an amount and a local address. Add someone who corrects a digit halfway, and someone who talks over the agent. Listen on a real handset, because carrier audio isn’t browser audio.

Write prompts with Hindi in Devanagari, English words in Latin script and amounts as words; the prompting guide explains why. For voice quality, see the Hindi TTS guide. For timing, see the latency guide.

Where does the audio go?

Calls run on our own GPUs in India: recognition, the voice and the model. If one of our engines is slow, a backup provider in India takes that turn. Recordings are stored in Finland until our move to storage in India. The terms list exactly where call data goes.

Your phone provider, analytics and tools are yours to map. We keep recordings and transcripts until you ask us to delete them.

How do I know it’s ready for production?

Follow one real job end to end. Does the caller understand the opening line? Does the agent recover from a corrected order number? Does the final event reach the right record, and can GET /v2/calls catch you up if a webhook is late?

A completed call isn’t a completed task. status: "completed" only means the call connected and ended normally. Whether the customer said yes comes from post-call analysis or your own review. When something breaks, GET /v2/agents/{id}/logs shows tool errors, tools the model asked for that the agent doesn’t have, and the variables each call received.

Before you forecast spend, read the pricing guide. To decide how much of the stack to own, compare integrated and assembled stacks.

Sources

These are the references this guide is built on.

References reviewed on . Measurement dates and experimental limits are stated in the article. Check current API and runtime documentation when integrating.

Questions

These are the questions developers ask us most.

Do you sell a whole voice agent, or only text to speech?

Both, and two more. The voice-agent API runs whole phone and browser calls. The Realtime API runs recognition, the model and the voice for audio you stream in. Fourier TTS and transcription also work on their own, with the same sk_live_ key.

Can I use Fourier TTS without moving my whole voice stack?

Yes. Fourier TTS speaks OpenAI's POST /v1/audio/speech protocol, so you change the base URL and the model name and keep your own recognition, model and orchestration. There's also a WebSocket endpoint and a Pipecat package.

Do I need an access code to try it?

No. The sandbox opens without a sign-up. The first time you create a key, an agent or a test, it asks for your work email. Confirm it and the workspace gets ₹200 of credit, billed at T5. If we gave you an access code, it still works.

Where does the audio get processed?

In India. Every call runs on our own GPUs here: the audio, speech recognition, the voice and the model. Anything you add yourself, like storage, analytics or your own tools, you'll need to map separately.

Still deciding? Ask us.

Fifteen minutes with the team that builds it. Bring your script, or your hardest call.

Book 15 minutes

Book a call

15 minutes with Sneh Mehta

Finding a time for us…

  1. AI agents from ₹1 a minute: on our volume plan, ₹1,00,000 a month. Pay as you go is ₹5 a minute. Prices exclude GST.