Skip to content

All MenaVoice text to speech models cost the same, so choose on sound and behavior alone. Start from what your script needs.

Quick guide

If you needUsequality
Everyday scripts, product audio and high volume, with predictable resultsMenaVoice 1vflash
Narration, courses and commercials with a polished studio soundMenaVoice 1.5pro
The most expressive delivery: storytelling, characters, emotional adsMenaVoice 2v2
Your own voice, or a voice saved from the communityMenaVoice Cloneclone

What to consider

Consistency

MenaVoice 1v is built for consistency: regenerated audio sounds much like the last take, which suits audio you update often, like notifications or product copy. MenaVoice 2 varies noticeably between takes. That's part of what makes it expressive, but it means you should generate a few takes, keep the one you like, and store it instead of generating it again.

Speed

MenaVoice 1v is built for speed. When a person is waiting for the audio, such as in an app or on a phone line, it's the safest choice.

Dialects

MenaVoice 2, 1.5 and 1v all support dialectId. MenaVoice Clone doesn't: a cloned voice keeps the accent of the recording it was made from, so clone a speaker of the dialect you want.

Voices

The 30 studio voices work with MenaVoice 2, 1.5 and 1v. MenaVoice Clone works only with voices in your library.

Compare them on your own script

The best test is your real script. Generate it with each model and listen side by side:

import base64
import os

import requests

script = "اكتشف عروض نهاية الأسبوع، خصومات تصل إلى خمسين بالمئة على كل المنتجات."

for quality in ["flash", "pro", "v2"]:
    response = requests.post(
        "https://api.menavoice.ai/api/tts",
        headers={"x-api-key": os.environ["MENAVOICE_API_KEY"]},
        json={"text": script, "voiceId": "sara", "quality": quality},
        timeout=120,
    )
    response.raise_for_status()
    with open(f"sample-{quality}.mp3", "wb") as f:
        f.write(base64.b64decode(response.json()["audio"]))

You can also compare models without code in the web app's Text to Speech page, where the Takes panel keeps each result for comparison, or in the API Playground.

Was this page helpful?