Skip to main content
Voice format: AssemblyAI.assemblyai-tts-1.<VoiceId> AssemblyAI is a third-party TTS provider with streamed synthesis. Every AssemblyAI voice can speak any of the six supported languages: choose the voice for its sound, and set language to the language of the text. AssemblyAI does not detect the language for you.

Voices

AssemblyAI offers 11 voices under assemblyai-tts-1. The default voice is aai-jane. You can also list them with the Voices API or the available voices page:

Models

Language

Set language to the two-letter ISO 639-1 code of the text. The default is en. A regional code such as es-MX is accepted and treated as es. Any other language is rejected with an error. The text is read as written. Where the reading matters, write numbers, dates, and amounts out in words: a date such as 3/4 or an amount with cents can be read in a way you did not intend. SSML is not supported, and there are no speed, pitch, or emotion controls. Send plain text.

Voice Settings

Limits

A request accepts up to 5,000 characters. Split longer text into several requests. AssemblyAI is a third-party provider that synthesizes speech in the United States. Requests that require in-transit data locality are refused. See Data Residency.

WebSocket

AssemblyAI is available on the TTS WebSocket API. Select the voice with the voice query parameter and pick the output with audio_format and sample_rate. Send language in voice_settings on the init frame.
See the AssemblyAI WebSocket provider page for the accepted formats and sample rates.

REST API

Fields

Response

Default (binary_output): chunked audio bytes. With output_type: "base64_output": JSON with base64-encoded audio. With output_type: "audio_id": JSON with an audio_url for deferred retrieval.

Audio Formats & Sample Rates

pcm_mulaw and pcm_alaw are raw G.711 with no header, so they can go straight into a call’s media stream.

In-Call Playback

AssemblyAI voices work with the Call Control speak, gather_using_speak, and conference speak commands, and with TeXML <Say>.
  • Send plain text: payload_type must be text.
  • Set language to a code for the language of the text, for example es-ES. Call Control takes regional codes; AssemblyAI uses the language part (es).
See In-Call Playback for details.

AI Assistants

Choose an AssemblyAI voice such as AssemblyAI.assemblyai-tts-1.aai-jane in the assistant’s voice settings, and set language to one of en, es, de, fr, it, or pt. Saving an assistant with any other language is rejected. Every voice speaks all six languages, so one voice can serve an assistant that changes language during a call.

AI Assistants

Build voice AI assistants using AssemblyAI voices.

TTS REST API

Generate speech directly with REST TTS requests.