Text to Speech Voices

Voices

Munsit offers a variety of voices with different accents, including Fusha, Emirati, Saudi Najdi, Saudi Hijazi, and more. List them all with one call, then use the voice_id in any text-to-speech request.

1

List voices

GET /api/v1/voices

Retrieve a list of all available voices for text-to-speech synthesis. Requires API key authentication via the x-api-key header. Returns an array of voice objects.

curl
curl -X GET "https://api.munsit.com/api/v1/voices" \ -H "x-api-key: YOUR_API_KEY"
2

Response fields

Each voice object contains:

FieldTypeDescription
voice_idstringUnique identifier for the voice (used in text-to-speech requests)
namestringHuman-readable name of the voice
descriptionstring | nullDetailed description of the voice characteristics
genderstring | nullGender of the voice (male, female, or null)
agestring | nullAge category of the voice (middle, elderly, or null)
languagesarray[string]List of language codes supported by the voice (e.g., ["ar", "en"])
dialectarray[string]List of dialects supported by the voice (e.g., ["fusha", "emirati", "najdi"])
typestring | nullVoice type (neural or null)
sample_urlstringURL to an audio sample of the voice
Treat voice_id as an opaque string. A few ids are readable (ar-najdi-male-2), but most of the catalogue looks like PCtWbxjoNTpVQ6gIPaVZ2Hqm. There is no guaranteed ar-{dialect}-{gender}-{n} convention, and readable ids are not enumerable — neighbouring numbers are not guaranteed to exist. Always list voices with GET /voices and use the ids it returns; never construct or pattern-match one.
Custom voices. Some voices may have null values for certain fields. These are typically custom user-created voices. The voice_id can still be used in text-to-speech requests regardless of these field values.
3

Voice types

Voices can be categorized by dialect, gender (male or female), age (middle or elderly) and languages (supported language codes, e.g. ar for Arabic, en for English).

fushaemiratinajdihijazikuwaitibritish

fusha is Modern Standard Arabic; najdi and hijazi are the Saudi dialects.

5

Using a voice

Use the voice_id from the response in text-to-speech generation endpoints: POST /text-to-speech/:model_id (include voice_id in the request body) or WS /text-to-speech (include voice_id in the WebSocket message). This example uses the faseeh-v1-preview model with the ar-najdi-male-2 voice.

curl
curl -X POST "https://api.munsit.com/api/v1/text-to-speech/faseeh-v1-preview" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "voice_id": "ar-najdi-male-2", "text": "مرحبا بك في فصيح كيف يمكنني مساعدتك اليوم", "stability": 0.5, "speed": 1.0, "streaming": true }' \ --output audio.pcm
Caching. Voice information doesn't change frequently. Consider caching the voice list to reduce API calls and improve application performance.
6

Go further

Working with an AI assistant? Every page is available as Markdown: add .md to the URL, or send an Accept: text/markdown header. For the whole documentation in one request, point it at llms-full.txt; the page index is llms.txt. Or use Copy Page, top right.