TTS output formats: Gemini 24 kHz WAV vs Sume 44.1 kHz MP3 default
Gemini 3.8 TTS returns 24 kHz mono 16-bit WAV, or headerless L16 when streaming. Sume TTS defaults to 44.1 kHz 128 kbps MP3 and offers WAV and raw options.

Gemini 3.8 TTS unary calls return audio/wav at 24 kHz mono 16-bit, and streaming returns headerless audio/l16 at 24 kHz. Sume TTS 1.0 defaults to MP3 at 44,100 Hz and 128 kbps, and lets you choose wav or raw with sample rates from 8,000 to 48,000 Hz.
Formats compared
Gemini details are from the speech generation docs, which also list mulaw and alaw mime types. Sume details are from the API reference.
| Item | Gemini 3.8 TTS | Sume TTS 1.0 |
|---|---|---|
| Default | WAV, 24 kHz mono 16-bit | MP3, 44.1 kHz, 128 kbps |
| Streaming | Headerless L16 24 kHz | Not offered |
| Containers | wav, l16, mulaw, alaw | mp3, wav, raw |
| Sample rates | 24 kHz | 8000 to 48000 |
| Encodings | As listed | pcm_f32le, pcm_s16le, pcm_mulaw, pcm_alaw |
Choosing for an ad edit
Edit in WAV and export MP3 once, since each lossy pass adds artifacts. If you join Sume clips with timeline audio, note its default output is wav and mp3 adds priming padding, so a join of mp3 parts can introduce small gaps.
For a phone line, mulaw or alaw at 8 kHz is the match; both products list it. For video delivery, 48 kHz is the usual video rate, and Sume can render at that rate directly.
Do not assume
A higher sample rate does not make speech more natural; it only carries more bandwidth. Compare the clips at the rate you will ship.
Sources
Related posts
More in Developers
- $2.00 balance: one 10-second Omni 1080p job, then a 402
With $2.00 in the wallet, one 10-second Omni 1080p job reserves $1.875. A second identical submit gets 402, not 429: balance and queue are separate.
- TypeScript union for Sume bulk queue items, checked with Deno
Model queue items by status so run_id and error are typed per case: null while queued, null for a child that never started, and an exhaustive switch.
- TypeScript SDK: createVideoGeneration, then poll for 'cancelled'
The @sume-com/sdk video functions return {data, error, response} and never throw. An 18-line loop passes an Idempotency-Key and handles the British spelling.
- unittest the spreadsheet-row to Sume bulk item builder, no network
A pure function that turns a spreadsheet row into a Sume bulk item, with four unittest cases for trimming, price format, a spend cap in range and blank SKUs.
Written by Sume