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.

By Mirai Minds · Updated

Current API rates and commitments

Mirai Minds pricing catalog, effective . All prices exclude GST.

Voice-agent API

Agent rates, inclusions and add-ons
PlanRateMonthly commitmentInclusions 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

Base agent charges before GST; T1 telco and insights are additional
Billable call durationBilled durationT1T3
8 seconds10 seconds ₹0.17₹0.50
59 seconds60 seconds ₹1₹3
61 seconds70 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.

Shared-endpoint TTS plans
PlanMonthly commitmentConcurrent 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.

Try the sandbox