Start building
Voice AI API pricing: minutes, characters and commitments
Voice agents run from ₹1 a minute at volume (T1, with a ₹1,00,000 monthly commitment) to ₹5 a minute pay as you go (T5), billed in 10-second blocks; Realtime sessions are billed the same way. Every company starts on T5 with no commitment, and T3 and T1 lower the rate in exchange for a monthly minimum. Mira TTS is billed per character and offline transcription per hour of audio. Calls that never connect cost nothing.
Current API rates and commitments
Mirai Minds pricing catalog, effective . All prices exclude GST.
Voice-agent API
| Plan | Rate | Monthly commitment | Inclusions and add-ons |
|---|---|---|---|
| T5 | ₹5/minute | None — pay as you go | All models and features. Single-prompt and node-based agents. Bring your own telco, WhatsApp or browser calling. Mirai phone calling and call insights included |
| T3 | ₹3/minute | ₹50,000 | All models and features. Single-prompt and node-based agents. Bring your own telco, WhatsApp or browser calling. Mirai phone calling and call insights included |
| T1 | ₹1/minute | ₹1,00,000 | All models and features. Single-prompt and node-based agents. Bring your own telco, WhatsApp or browser calling. Optional Mirai phone calling: ₹0.30/min. Optional call insights: ₹0.20/min; enable in Billing |
Agent duration is rounded up in 10-second blocks, with a one-block minimum. For a billable call:
cost = ceil(duration_seconds / 10) × 10 / 60 × rate_per_minute
| Billable call duration | Billed duration | T1 | T3 |
|---|---|---|---|
| 8 seconds | 10 seconds | ₹0.17 | ₹0.50 |
| 59 seconds | 60 seconds | ₹1 | ₹3 |
| 61 seconds | 70 seconds | ₹1.17 | ₹3.50 |
Every company starts on T5 at ₹5/minute without a commitment. All tiers have the same models and features. T1 offers optional Mirai phone calling at +₹0.30/minute and insights at +₹0.20/minute. BYO telco, WhatsApp and browser calls have no Mirai telco charge.
Standalone Mira TTS
₹1.80 per 1,000 characters. Shared endpoint. No contractual SLA.
| Plan | Monthly commitment | Concurrent requests |
|---|---|---|
| Pay as you go | None | Up to 5 |
| Business | ₹50,000 | Up to 25 |
Monthly commitments are credited to your wallet. Unused credit never expires. Top up anytime at the same rate.
Enterprise: Custom volume pricing, concurrency, dedicated endpoint and SLA. Discuss your workload.
How is a call billed?
Each call’s duration is rounded up to the next 10 seconds, with a minimum of one block, and charged at your plan’s per-minute rate. A 59-second call bills as 60 seconds and a 61-second call as 70, as in the table above. The call object’s cost field and the wallet ledger are the record of what was charged. The formula is for forecasting.
Only calls where media went live are billed:
| Outcome | status |
Billed |
|---|---|---|
| Conversation finished | completed |
Yes |
| Answering machine | voicemail |
Yes |
| Hit the duration cap | timeout |
Yes |
| Rang out | no_answer |
No |
| Line busy | busy |
No |
| Could not connect, or Mirai’s pipeline errored | failed |
No |
| You cancelled it | aborted |
No |
Before dialling, Mirai checks that the wallet can cover one full minute at your tier. If it can’t, POST /v2/calls returns 402 insufficient_balance, no phone rings and no call is created. Calls already in progress run to their end. A campaign that runs low pauses itself with pause_reason: "insufficient_balance" and continues from the same place after you top up.
A Realtime session is billed the same way as a call: per minute at your tier’s rate, in 10-second blocks, from when its audio goes live until the socket closes. There is no charge per token, request or tool call.
How should you estimate an agent workload?
Round each answered call up to whole 10-second blocks before you multiply. Averaging the seconds first under-forecasts slightly, because the rounding never cancels out. The docs give the formula:
monthly ₹ = answered_calls × mean(ceil(secs / 10)) × rate / 6
A worked example, before GST: 10,000 dials a month, 40% answered, 75 seconds average talk time.
10,000 × 0.40 = 4,000 answered calls
75 seconds -> 8 blocks = 80 billed seconds
T5: 80 / 60 × ₹5 = ₹6.67 a call (rounded up to the paisa) × 4,000 = ₹26,680
T3: 80 / 60 × ₹3 = ₹4.00 a call × 4,000 = ₹16,000 of usage, below the ₹50,000 minimum
The 6,000 unanswered dials cost nothing. On T3 this workload still pays the ₹50,000 monthly minimum, so T5 is cheaper here.
T3 and T1 are minimum-spend plans, funded upfront. Paid usage counts towards the minimum, and at the end of the billing month only the unused part is settled from the wallet. Promotional credit doesn’t count towards it, and extra top-up credit carries forward. On base voice rates, that gives two break-even points:
T5 vs T3: ₹50,000 / ₹5 = 10,000 billed minutes a month
T3 vs T1: ₹1,00,000 / ₹3 ≈ 33,334 billed minutes a month
Below 10,000 billed minutes, T5 costs less than T3. The T1 line ignores T1’s optional phone calling and insights, which T3 includes, so add those if you will use them. Your company is on one plan, and every call it makes is billed at that plan’s rate.
For a business-level estimate, see pricing and AI calling. To run a list, the campaign guide shows how to cap a campaign’s spend with budget_paise.
How should you estimate a TTS workload?
Count the characters your application will send. Use real replies or messages rather than converting call minutes to characters with an assumed speaking rate, because how much the agent says varies a lot by workflow. For example, 1,000 replies of 120 characters each is 120,000 characters, and 120 × ₹1.80 = ₹216.
Each request is rounded up to the paisa. One request we sent on 16 October 2026 billed 59 characters, and its X-Cost-Paise header read 11: 59 × ₹1.80 / 1,000 = ₹0.1062, rounded up to ₹0.11. Only completed audio is charged. If the engine fails, the stream stalls or your client disconnects part-way, there is no charge. The output format and sample rate don’t change the price. On the WebSocket endpoint each sentence is charged separately, and fractions of a paisa carry over between sentences.
Concurrency means requests in flight at once, which is different from requests per second. The limit is set per workspace. A request over it gets 429 at_capacity with a Retry-After header and costs nothing. If your workspace’s limit doesn’t match your plan, ask Mirai to change it; it is a provisioning change with no code change on your side. Keep X-Request-Id, X-Chars-Billed and X-Cost-Paise from each response so you can compare your forecast with actual usage.
What does transcription cost?
Offline transcription with POST /v2/transcriptions costs ₹18 per hour of audio on every plan. A job is charged once, when it completes, for the recording’s length to the millisecond, rounded up to the paisa. A five-minute call costs 5 / 60 × ₹18 = ₹1.50. Degraded and failed jobs are free. The Hindi speech-to-text guide covers the API.
What should you confirm before a production rollout?
Prices exclude GST, and an existing agreement keeps its recorded terms. Check the limits your workspace is provisioned with. The docs give 5 concurrent calls as the pilot default; calls over that wait in the queue, and the queue holds 500 calls before new requests get 429. Raising either is a provisioning change.
Before your company goes live, every call runs at T5 from the sandbox’s ₹200 starter credit. Go live in the console is self-serve and starts you on T5 with no commitment. For a dedicated endpoint, custom concurrency or a contractual SLA, ask about enterprise terms.
To compare architectures on cost, read integrated versus assembled voice stacks. For the first integration, start with the voice API overview or Mira TTS setup.
Common questions
Are voice-agent minutes and TTS characters the same billing unit?
No. Agent calls and Realtime sessions are billed by duration. Standalone Mira TTS is billed by characters of input, and offline transcription by the length of the recording. Use the unit of the API you are integrating.
Is telephony included in every agent plan?
T5 and T3 include Mirai phone calling and call insights. On T1, Mirai phone calling is an optional ₹0.30 a minute and call insights an optional ₹0.20 a minute. Bring-your-own telco, WhatsApp and browser calls have no Mirai telco charge on any tier.
Am I charged for calls nobody answers?
No. no_answer, busy, failed and aborted calls are free. completed, voicemail and timeout calls are billed, because media went live.
How much credit does the sandbox start with?
₹200, once you confirm your work email. Every call in a workspace that has not gone live is billed at T5, ₹5 a minute.
Does a shared TTS endpoint include a contractual SLA?
No. The published TTS plans run on a shared endpoint with no contractual SLA. Enterprise arrangements can add a dedicated endpoint, custom concurrency and an SLA.
Sources and API references
References reviewed on . Measurement dates and experimental limits are stated in the article. Check current API and runtime documentation when integrating.