MP4 video has no sound? Find where the audio went
An MP4 with no sound has no audio track, a silent one, or one your player can't decode. Check with a free probe, then fix the step that lost it.

If an MP4 video has no sound, first find out whether the file has an audio track at all. With no track, the file was made without sound, and you fix the step that made it; with a track, either the track itself is silent or the player can't play it. For a file on Sume, a free video inspect probe answers the first question with has_audio and names the track's codec.
The facts come from the Video inspect, Video trim, Timeline 1.0, Timeline compose, Video filter, and Video generation docs and the Sume API reference, read on 2026-09-27. Anything described as current behavior is read from Sume's code.
How do I check whether an MP4 has an audio track?
Run a probe-only inspect: POST /v1/video-inspect with frames: false. It is unbilled and never re-encodes the source, and the default sync mode answers within 30 seconds or returns a job to poll. The clip must be your workspace's media.sume.com file, such as an earlier Sume job's output; which URLs each endpoint accepts explains the rule.
probe.has_audioisfalse: the file has no audio track. Find the step that made it, below.has_audioistrue:audio_codec,audio_channels, andaudio_sample_ratedescribe the track. No probe field measures loudness, and in current codehas_audioistruewhenever the file has an audio stream, even a silent one.- If the same file plays with sound in another player, the file is fine, and the problem is the player or the device.
curl -X POST https://api.sume.com/v1/video-inspect \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: probe-silent-clip-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
"frames": false
}'Which Sume steps leave a video without sound?
Each of these steps writes a new file, so the fix is to redo the step with the sound kept, not to repair the output.
| Step | What happens to the sound | Fix |
|---|---|---|
| Timeline 1.0 render | In current code, only the audio spine and an optional soundtrack are mixed; the clips' own sound never is. | Detach the clip's sound and pass it as audio.url or audio.parts[]. |
Timeline render with audio.mode: "silence" | A silent audio track: has_audio is true, with nothing to hear. | Send a spine, or a soundtrack for music only. |
Video trim with audio: "drop" | In current code, the new file has no audio stream at all. | Trim the source again with audio: "keep", the default. |
Video generation, POST /v1/videos | generate_audio defaults to the model's audio capability, so a model without audio, or false, gives a clip with no generated sound. | Pick a model that makes sound, or add a track in a Timeline render. |
| Video filter or timeline compose | Both keep the source video's sound; compose only warns compose_video_has_no_audio on a mute clip. | Check the source clip instead. |
Can Sume bring the sound back?
Only if the sound still exists somewhere. Trim, filter, and detach never change their source, so when an earlier step dropped the sound, run that step again from the original. For a Timeline render, detach the sound with POST /v1/audio-detach, whose default wav is the file a spine wants, and render again.
A track that was never recorded or generated can't be recovered: detach fails with detach_source_has_no_audio, and an inspect transcript fails with inspect_source_has_no_audio. Add a new track instead by rendering the clip over narration or music, as in add a voiceover to a video. Which video models generate audio lists the models that make sound.
What if the MP4 has an audio track that won't play?
Check audio_codec. A trim of the whole clip at the default exact precision re-encodes the kept audio as AAC (at 192 kbps in current code), while keyframe precision is a stream copy that keeps the audio as it was. Trim takes sources up to 1,800 seconds and writes at most 900 seconds per job. It is billed per job, plus a 5.5% agent fee by default; the docs say to confirm the rate in GET /v1/catalog.
Sources
Related posts
More in Media tools
- Google Performance Max video specs: sizes and lengths
Performance Max recommends one video each in 16:9, 1:1, and 9:16, 10 seconds or more, at 1920×1080, 1080×1080, and 1080×1920. Make each with Sume.
- Pinterest pin size and video specs: 2:3 images and clips
Pinterest recommends 2:3 or 1000x1500 image Pins and takes 4 s to 15 min video. Make 2:3 images with Sume, and crop 9:16 clips to 2:3 or 4:5.
- How to reduce video file size to fit an upload limit
Reduce video file size with fewer bits: a smaller frame, a lower frame rate, a shorter cut, or no audio. Sume takes no bitrate, so check size_bytes.
- Remove background from images in bulk with an API
Background removal takes one image per job, so a bulk run is one async job per image, paced by your concurrency limit, at one flat price per image.
Written by Sume