Trim or filter on a PNG or audio file: the not-a-video refusal

Sume video trim and video filter refuse a still image or a file with no video stream. The reason codes, the probe fields that predict them, and the right tool.

4 min readSume
All posts

Point Sume video trim at a PNG, or video filter at an audio-only file, and the job stops with a named reason: trim_source_not_video for trim and filter_source_not_video for filter. Both carry next_action: use_video_source. The worker checks that the probe found a video stream and that the file is not a still image, and it does this before any ffmpeg encode.

The API also screens by type earlier. At submit it sends a HEAD request to the media.sume.com URL, and a response that is not a video content type returns unsupported_media_type with the content type it saw. The worker reasons cover files that pass that screen, such as a video container that holds only audio or a one-frame clip.

How a still is recognized

The probe sets is_still from the container, codec, and duration, with no audio and a video stream that is really an image. Video inspect returns is_still in probe, so you can read it ahead of time.

Pick the right tool

From the Sume model docs, read 2026-10-05
You haveUse
A PNG or JPG you want in a videoTimeline 1.0, where stills are static holds
An audio fileAudio tools; audio detach needs a video
A video served with the wrong content typeRe-export it as MP4 and import it again

Timeline is the one surface that takes a still, as a static hold. The Timeline 1.0 docs say a motion on a still is accepted but ignored, with a motion_ignored warning, not a failure.

A quick guard in an automation: read has_audio and is_still from one inspect call, then route. It costs less than a failed job and keeps the error log readable.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume