Turn text into spoken audio. Send a language name such as English, then save the WAV body to a file.
Request fields
Voices
Omit voice to use the default. Every supported TTS language accepts male and female.
Regional English accents
When language is english, you can also send these regional accent voices:
nigerian_maleandnigerian_femaleghanaian_maleandghanaian_femaleeast_african_maleandeast_african_femalenorth_african_maleandnorth_african_femalesouth_african_maleandsouth_african_female
Example:
{"text": "Good morning.", "language": "english", "voice": "ghanaian_female"}English speakers for every language
Each of the 37 African languages also has an English voice named {language}_{gender}_speaker. These speak English with that language's native speaker accent. Example:
{"text": "Good morning.", "language": "english", "voice": "igbo_male_speaker"}Ten speaker ids are the same clips as the regional accents above: igbo_male_speaker = nigerian_male, yoruba_female_speaker = nigerian_female, twi_*_speaker = the Ghanaian pair, swahili_*_speaker = the East African pair, xhosa_*_speaker = the South African pair, and arabic_*_speaker = the North African pair.
Unsupported voice values return invalid_request.
Response
A successful response contains binary WAV audio with Content-Type: audio/wav. Save the response body directly to a .wav file; it is not JSON or base64.
When stream is true, audio bytes arrive progressively. Some audio players require the complete file before playback.
Supported languages
Send the full language name in the language field, such as English or Swahili. Matching lowercase slugs are listed below.
Common aliases such as fulani, kiswahili, and tamazight are accepted.
Errors and billing
Before audio begins, failures use the shared JSON error format. If a streamed response is interrupted, treat the audio file as incomplete. TTS is billed according to input text length at $0.10 per 1K characters ($100 per 1M) — see Pricing. Retrying creates a new billable request.