Spotify video audio channels: mono upmixed, 5.1 downmixed
Spotify upmixes mono to stereo, downmixes 5.1, and rejects multi-channel. Sume audio detach offers only channels source or mono; it cannot mix to stereo.

Spotify for Creators handles channel layout for you: its Video specs say mono is upmixed to stereo, surround 5.1 is downmixed to stereo, and multi-channel is not supported. Sume audio detach has one channel choice, channels of source (default) or mono, so it can keep the layout or collapse to mono but cannot mix up to stereo or 5.1.
Spotify's rules are from its Video specs page; Sume's from Audio detach, read 2026-10-01.
What does Spotify do to each layout?
| Your audio | Spotify says |
|---|---|
| Mono | Will be upmixed to stereo |
| Surround 5.1 | Will be downmixed to stereo |
| Other multi-channel | Not supported |
What does audio detach give me?
POST /v1/audio-detach pulls the audio track of a Sume-hosted video into a new file. format is wav (default, pcm_s16le sample-exact) or mp3 (128 kbps). sample_rate is 16000, 44100 or 48000, or omitted to inherit the source. The result reports channels, so you can read back what you got.
Should I pick source or mono?
Leave channels at source when you only want the track out unchanged; Spotify will do its own upmix or downmix on upload. Choose mono when a later step, such as speech-to-text, wants one channel; the docs call 16000 with mono the speech-to-text shape. See keep source channels and sample rate.
Why does detach fail on my file?
A source with no audio track fails with detach_source_has_no_audio. Check probe.has_audio with video inspect first. If the file fails on Spotify's side instead, the layout rows above are the first thing to check.
Sources
Related posts
More in Developers
- Sume SDK fetch wrapper: do not add an Authorization header
A fetch wrapper passed to createSumeClient must not add Authorization. Sending it with x-api-key returns 401, because Sume accepts only one credential.
- Sume SDK calls resolve with error: make your task throw
Generated Sume SDK operations return { data, error, response } and never throw. In Trigger.dev or Inngest, throw yourself or a failed run looks successful.
- Supabase Edge Function 400 s wall clock vs a Sume video job
Supabase Edge Functions cap wall clock at 150 s on Free and 400 s on Paid. Do not wait on a video: submit in one function and receive the webhook in another.
- Supabase Edge Function secrets: 100 per project, 2 for Sume
Supabase allows 100 secrets per project. A Sume webhook receiver needs two: your API key and the webhook signing secret. Names, rules and what to verify.
Written by Sume