Gemini 3.8 TTS returns WAV by default; Sume TTS returns MP3

Gemini 3.8 TTS unary requests return WAV with a RIFF header. Sume TTS 1.0 defaults to mp3 at 44100 Hz, so ask for wav when your pipeline needs it.

4 min readSume
All posts

Sume TTS 1.0 returns an mp3 unless you say otherwise: output_format defaults to mp3 with sample_rate 44100 and bit_rate 128000. Gemini 3.8 TTS goes the other way for unary requests, returning a complete WAV with a RIFF header. If your code was saving Gemini output straight to .wav, set output_format.container to wav on Sume.

Gemini facts are from its speech-generation guide; Sume facts are from the API reference. Read 2026-10-01.

What does Gemini 3.8 return by default?

The guide says unary requests (stream=False) return complete audio/wav with a standard RIFF header at 24 kHz, mono, 16-bit signed little-endian PCM. Streaming requests return headerless raw linear PCM (audio/l16) by default.

Defaults from the Gemini guide and the Sume API reference, read 2026-10-01.
ItemGemini 3.8 TTSSume TTS 1.0
Default containerWAV (unary), raw L16 (streaming)mp3
Default sample rate24 kHz44100 Hz
Other formatsaudio/l16, audio/mulaw, audio/alawwav, raw

How do I get WAV from Sume?

Send output_format with container: "wav". The API reference also says to pass wav, pcm_s16le and 44100 explicitly when feeding avatar mux. One catch: per-sentence audio slices need wav or raw; for mp3, timings are returned without segment audio_url.

{
  "output_format": {
    "container": "wav",
    "encoding": "pcm_s16le",
    "sample_rate": 44100
  }
}

What should I do next?

Set the container explicitly in every request so a default never decides your format. For a longer look at the containers, read mp3 or wav for TTS sample rates.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume