Skip to main content
Voice agents cost ₹1 a minute on the volume plan, or ₹5 a minute pay as you go. The pricing page shows the plans side by side. Every company starts on T5: ₹5 / minute for voice AI, pay as you go, with no monthly commitment. Commit to a monthly amount and the voice rate drops:
  • ₹50,000 a month → T3 at ₹3 / minute.
  • ₹1,00,000 a month → T1 at ₹1 / minute. Call insights are on by default at ₹0.20 / minute; you can turn them off in Billing.
T5 and T3 include Mirai phone calling and insights. On T1, optional Mirai phone calling adds ₹0.30 / minute only when Mirai supplies the phone connection. BYO telco, WhatsApp and browser calls have no Mirai telco charge. T3 and T1 are minimum monthly spend plans, funded upfront. Paid workspace usage counts towards the minimum; any unused minimum is settled from the wallet at the end of the billing month. Promotional credit does not count towards the minimum. Extra top-up credit carries forward. Existing agreements keep their recorded terms. All prices exclude GST. Enterprise: Custom voices, Dedicated deployment, SLA, A dedicated point of contact. Contact us for a custom plan. Top up anytime at the same rate. Your workspace’s agreed contract determines your charges. Advertised rates do not replace an existing contract. T5 and T3 include Mirai phone calling and call insights. T1 adds optional Mirai phone calling at ₹0.30 / minute only on Mirai-managed phone calls. BYO telco, WhatsApp and browser calls have no Mirai telco charge. T1 call insights are on by default at ₹0.20 / minute and can be turned off in Billing.

One stack on every tier

Every tier runs on the same Mira stack. The price is the only difference. Choose a tier for what you want to commit to, not for what the calls can do. Single-prompt and node-based agents are available on every tier. A node-based agent takes phone calls, browser calls and campaigns like any other agent, and is billed the same way. Create one in Agent Studio (Create agent → Node-based) from a description, call recordings, or both.

Your plan

A company is on one plan, and every call it makes is billed at that plan’s rate.
  • Start today on T5. Complete Go live in the console — it is self-serve, with no monthly commitment. You pay for the minutes you use from prepaid credit.
  • Or commit for a lower rate. Choose T3 (₹50,000 a month) or T1 (₹1,00,000 a month) when you go live. A company already on T5 moves up by contacting us today; moving up from the console’s Billing page is coming.
  • Commitments are minimum spend. Fund the minimum upfront each month. Paid workspace usage counts towards it. At the end of the billing month, only the unused minimum is settled from your wallet. Extra top-up credit carries forward. Promotional credit does not count towards the minimum. Existing agreements retain their recorded terms.
  • Top up at the same rate. Credit you add is spent at your plan’s rate.
Prices exclude GST. Calls are billed in 10-second blocks.

What a minute costs

Billing is pro-rated in 10-second blocks, rounded up, with a one-block minimum. Rates are quoted per minute; the billing unit is a sixth of one. A part-block is a whole block, and nothing smaller than 10 seconds is billed. Every tier: All models and features. Single-prompt and node-based agents. Bring your own telco, WhatsApp or browser calling. T5: Mirai phone calling and call insights included. T3: Mirai phone calling and call insights included. T1: Optional Mirai phone calling: ₹0.30/min. Call insights on by default: ₹0.20/min; turn them off in Billing. All prices exclude GST. On T1 only, Mirai phone calls add ₹0.30 / minute and insights add ₹0.20 / minute while enabled.

Metering

duration_secs on the call object is the true media duration in seconds. Voice AI and T1 insights round it up to the next 10 seconds, with a one-block minimum. T1 Mirai phone calling uses the same 10-second blocks. If your existing agreement has its own provider rates, that provider’s billing block applies instead. Voice AI and insights are added together, then rounded to the paisa. The phone calling charge is rounded on its own and added to the total. A call that never connected costs nothing; see the table below.
You never have to work this out yourself. cost.amount_inr on the call object and the debit row in the ledger are the real figures. Use the formula to forecast, not to reconcile.

What is and is not billable

The rule underneath: if media went live, you pay for it. A voicemail consumed a real dial, real TTS and real carrier time, so it is billed. A call our own pipeline broke is not.

Forecasting a month

Take your answer rate and your mean answered-call duration. Round each answered call up to a whole 10 seconds first, then multiply. The rounding is small, but it never cancels out, so averaging the seconds first will under-forecast slightly.
A campaign of 50,000 dials at a 35% answer rate and 80 seconds mean talk time:
These are base voice usage charges, before T1 telco and insights add-ons. T3 and T1 monthly commitments still apply. T5 has no monthly commitment. The monthly minimum is funded upfront; paid usage counts towards it, and only a shortfall is settled at month end. Extra top-up credit carries forward. Unanswered dials cost nothing, so the 32,500 that rang out are free. With a 10-second block the cost tracks talk time almost linearly — there is no minute boundary to engineer around. Every block you cut off the mean reduces the cost of every answered call. A prompt that caps reply length is still the cheapest way to move it, and a call that ends the moment its job is done pays for nothing after that.

Wallet

Billing is prepaid against one INR wallet per workspace.
  • Debits happen at call end, one ledger row per billable call, carrying the call_id.
  • Top up from the console. Once your company has gone live, add credit from the Billing page of the console whenever you need it. On T3 and T1, each monthly commitment is credited to the same wallet. Before you go live, your Mirai contact credits the workspace.
  • Top-up credit carries forward. The monthly minimum still applies to T3 and T1. In Billing, review paid usage, the remaining minimum and promotional credit. Each month-end shortfall appears separately in your wallet statement.
  • The ledger is the source of truth for reconciliation: GET /v2/wallet/transactions.
See the Wallet reference for the full API.

At zero balance

Before dialling, we check the wallet can cover at least one minute at the call’s tier. Billing is per 10-second block, but the pre-dial check asks for a full minute of headroom. If the wallet cannot cover it:
402 Payment Required
  • No phone rings. No charge. No call object is created.
  • The Idempotency-Key is not consumed — retry with the same key after topping up.
  • Calls already in flight are not killed. A call that started with credit runs to its natural end and then debits. Your balance can therefore dip below what the pre-dial check implied during a busy minute.
  • Inside a campaign this is not an error. The campaign pauses itself with pause_reason: "insufficient_balance", keeps every contact’s place, and continues from there once you top up and start it again.
Alert on balance yourself, hourly, at a threshold covering a day of traffic. A 402 mid-campaign is an expensive way to find out.

Setting the tier

Your plan sets the tier. A key created after your company goes live carries your plan’s tier, and every call and every campaign placed with it inherits that tier — leave tier out of the request:
If you do send tier, it must be your plan’s. A call at any other tier is refused with 403 contract_unavailable before anything is dialled. There is no per-call switch to a different rate: to change what your calls cost, change your plan. Before you go live, you are on T5. You can look around the sandbox without signing up. The first time you test, create or generate something, it asks for your work email. Confirm that email from the message we send, and your sandbox workspace gets its ₹200 of starter credit. Every call and campaign in it is billed at T5, ₹5 a minute, whatever tier your key carries or your request sends. When you read a call, it shows the tier it ran at next to its cost, so you can always see which rate card it was billed under. A campaign takes its tier at create time, and every call it places inherits it.

Model API pricing

Text to speech is priced per character — see TTS billing. Speech to text is priced per second of audio — see STT billing. The LLM is priced per token: Input, cached input and output tokens are priced separately. Cached input is the part of a prompt that repeats the start of a recent request, so it is read from cache instead of processed again. Prices are billed in INR; USD amounts are provided for reference. Top-ups use the same rates. Rate limits apply per workspace across all API keys. Shared endpoint. No contractual SLA. Monthly commitments are credited to your wallet. Unused credit never expires. All prices exclude GST. Enterprise: Custom volume pricing, rate limits, dedicated endpoint and SLA. Top up anytime at the same rate. Contact us to activate your LLM plan. Your workspace’s agreed contract determines your charges and limits.

Offline transcription

Transcribing a recorded call costs ₹18 per hour of audio on every tier. A job is charged once, when it completes, for the length of the recording to the millisecond, rounded up to the paisa: a five-minute call costs ₹1.50. Degraded and failed jobs are free. See pricing.

AI flow drafts

Generating a flow from a brief or from call recordings is charged to your wallet at what the model’s provider reports it cost, plus 20%. Each response’s cost says what was charged. The token rates below are the published guide, and what an attempt is charged when the provider reports no cost for it. The same rates apply on every tier.
  • A draft from two example calls is larger: typically ₹8–12.
  • A recording is priced as audio, which costs more than text, so a transcription is charged the provider’s reported cost plus 20% rather than a token rate. The audio is not stored.
  • The cost of every attempt in a generation is added up and rounded up to the paisa once.
  • A generation that fails (422), or stops after the model had answered (503), is charged for what the model did. So is a recording in which no conversation was heard (422). Nothing is charged when the model never answered.
  • Charges appear on the billing statement as AI flow drafts, and in wallet transactions with kind flow_generation.