MenaVoice has two ways to pay: prepaid API credit for the API, and a monthly plan for the web app. They're separate. API requests never use your plan's quota, and the web app never touches your API credit.
API pricing
| Service | Model | quality | Price |
|---|---|---|---|
| Text to Speech | MenaVoice 2 | v2 | $25 / million characters |
| Text to Speech | MenaVoice 1.5 | pro | $25 / million characters |
| Text to Speech | MenaVoice 1v | flash | $25 / million characters |
| Text to Speech | MenaVoice Clone | clone | $25 / million characters |
| Speech to Text | MenaVoice Speech to Text | $25 / million transcript characters |
- Text to speech is charged on the characters of the text you send. Spaces, punctuation and diacritics count; the dialect steering MenaVoice adds is free.
- Speech to text is charged on the characters of the transcript you get back, not on the length of the audio.
- The cost is taken from your API credit when a request succeeds. Failed requests aren't charged.
| Example | Characters | Cost |
|---|---|---|
| A short product line | 200 | $0.005 |
| An ad script | 1,000 | $0.025 |
| 1,000 app notifications of 100 characters each | 100,000 | $2.50 |
| A full-length audiobook | 1,000,000 | $25 |
API credit
Top up under API Billing in the Developer workspace:
- Choose $10, $25, $50 or $100, or any amount from $5 to $5,000, and pay by card.
- Your balance updates a few moments after payment, and every top-up is listed in the billing history, which you can export as CSV.
- A text to speech request is refused with
402 Insufficient API balancewhen your credit can't cover its full cost. A transcription only needs a positive balance to start, since its cost depends on the transcript, so it can take the balance slightly below zero.
For volume pricing or a custom agreement, contact sales.
API limits
| Limit | Value |
|---|---|
| Requests per minute | 30 for text to speech and 30 for speech to text, per account |
| Concurrent requests | 5 by default, more as your top-ups grow (below) |
| Characters per text to speech request | 5,000, including all lines of a dialogue |
| Lines per dialogue | 40 |
| Speech-to-text upload | 25 MB per file |
| JSON request body | 10 MB |
Limits apply per account and are shared by all your API keys. The more API credit you buy in total, the more requests you can run at the same time:
| Total top-ups | Concurrent requests |
|---|---|
| Any (default) | 5 |
| $100 or more | 15 |
| $1,000 or more | 50 |
| Custom | Contact sales |
See Rate Limits for how the limits behave and how to handle 429 responses.
Web app plans
| Feature | Free | Starter | Creator | Pro | Business |
|---|---|---|---|---|---|
| Price | $0 | $9/mo | $29/mo | $99/mo | $349/mo |
| TTS characters | 1,000 / mo | 50,000 / mo | 150,000 / mo | 700,000 / mo | 2,500,000 / mo |
| STT minutes | 10 / mo | 150 / mo | 700 / mo | 2,500 / mo | 7,000 / mo |
| Voice cloning | |||||
| Free trial | 14 days | ||||
| Support | None | Standard | Priority | Fast processing + priority | 24/7 + SLA |
- Plans are billed monthly in US dollars. Creator comes with a 14-day free trial.
- Quotas reset at the start of each billing period. Unused characters and minutes don't carry over.
- Every character you generate uses one character of your quota, whichever model you choose.
- Transcriptions use speech-to-text minutes, measured by the length of the audio, rounded to a tenth of a minute (at least 0.1 minutes each).
- Voice cloning needs an active paid plan. Saving community voices is free on every plan.
Upgrade, downgrade or cancel on the Plans page. A cancellation takes effect at the end of the period you've paid for.
Web app limits
Each plan also limits how much text to speech you can generate in the web app:
| Feature | Free | Starter | Creator | Pro | Business |
|---|---|---|---|---|---|
| Generations per day | 100 | 1,000 | 5,000 | Unlimited | Unlimited |
| Characters per generation | 1,000 | 5,000 | 5,000 | 5,000 | 5,000 |
| Characters per day | 5,000 | 50,000 | 200,000 | 800,000 | 3,000,000 |
| Generations at once | 1 | 2 | 10 | 30 | 100 |
Daily limits reset at midnight UTC. These limits don't apply to the API, which has its own limits above.

