Media Output Settings

Deepgram provides support for generating audio output in various formats, each with specific encoding options.

Upon successful processing of a Deepgram text-to-speech request, you will receive an audio file containing the synthesized text-to-speech output.

It is a good idea to become familiar with the Supported Audio Formats table and the Audio Format Combination table if you choose to configure your audio based on your use case. More information can also be found in these feature guides:

Supported Audio Formats

The API supports the following audio formats:

Audio FormatDescriptionUse Cases
Linear16Uncompressed, high-fidelity audio format- Professional audio recordings
- Broadcast applications
- Quality-centric text-to-speech applications
MuLawCompressed audio format- Telecommunication systems
- Voice transmission in bandwidth-constrained environments
ALawCompressed audio format- Telecommunication systems
- Voice transmission where bandwidth efficiency is crucial
MP3Lossy audio compression format.
Capable of significantly reducing file sizes while maintaining good audio quality
- Audio streaming
- Digital music distribution
- Podcasts
OpusVersatile audio codec optimized for interactive speech and music transmission. Offers low latency and superior compression efficiency.- VoIP (Voice over Internet Protocol) communications
- Online gaming
- Real-time interactive speech and music transmission
FLACLossless audio compression format that maintains original audio quality with efficient storage.- Archival audio storage
- High-quality audio applications
AACAdvanced audio coding format providing superior audio quality compared to MP3 at similar bitrates.- Mobile applications
- Streaming platforms
- Text-to-speech (TTS) applications

Audio Format Combinations

While Deepgram offers flexibility in choosing encoding options, there are predefined combinations of audio formats with specific configurations that you must adhere to. These combinations determine the encoding parameters, container format, sample rate, bitrate, and content-type header attached to the response.

EncodingContainerSample Rate (Hz)Bitrate (bps)
linear16wav(default),
none
8000,
16000,
24000,(default),
32000,
48000
Not Applicable
mulawwav(default),
none
8000(default),
16000
Not Applicable
alawwav(default),
none
8000(default),
16000
Not Applicable
mp3(default)Not ApplicableNot Configurable ( set to22050)32000,
48000 (default)
opusogg(default)Not Configurable (set to 48000)Default: 12000
Range: >= 4000and <= 650000
flacNot Applicable8000,
16000,
22050,
32000,
48000
Not Applicable
aacNot ApplicableNot Configurable (set to 22050)Default:48000,
Range: >=4000and <= 192000

🌈

We'd love to get your feedback on Deepgram's Aura text-to-speech. You will receive $50 in additional console credits within two weeks after filling out the form, and you may be invited to join a group of users with access to the latest private releases. To fill out the form, Click Here.

FAQ & Troubleshooting

Why do I hear clicks in my audio?

If you encounter a problem of hearing "clicks" in the audio, we recommend that you add container=none to the request.

These clicks can occur when integrating with telephony providers, i.e. services that handle real-time communication such as VoIP (Voice over Internet Protocol). When using these services, you probably want to use raw audio without a container. If you don't specify container=none, the default container of wav will be requested, which will result in header information being misinterpreted by the service, leading to anomalies such as clicks or static sounds.

Be sure to ask Deepgram to provide raw audio by setting container=none; otherwise, you will likely hear static or clicking at the beginning of the audio playback as your speaker tries to interpret the accidentally-included container as actual audio.

🚧

When using VoIP (Voice over Internet Protocol), we recommend adding container=none to your request to prevent request header information being misinterpreted as audio, which can result in static or click sounds.

Why do certain audio formats have a default container and some don't?

Many encodings require a certain container format as part of their specification (e.g., MP3, FLAC, AAC), so Deepgram can't provide container options for those.

Other encodings can be container-less (e.g., raw audio). This is why wav and none are options for those.

With raw audio you no longer have metadata to give you information like the sample rate or encoding.

Why do certain audio formats have sample rate options and some don't?

Some formats specify their sample rates, so we cannot provide sample_rate options for them.

Why do certain audio formats have bit rates options and some don't?

Uncompressed audio formats don't have configurable bit rates, so we cannot provide bit_rate options for them.


What’s Next