unsupported_filter_op: video-filter ops are dim and crop only
In Sume video-filter, ops[].op must be dim or crop. Another name returns unsupported_filter_op; an extra key on a valid op returns unsupported_filter_op_field.

unsupported_filter_op means ops[].op in a Sume video-filter request is something other than dim or crop. Other pixel work goes in filtergraph. A related code, unsupported_filter_op_field, fires when a valid op carries an extra key.
This is from the Video filter docs, read 2026-10-01. Topaz's September 2026 update list names workflows such as Sharpen and Denoise; on Sume, a name like that is not an op value.
Which op names are valid?
Exactly two: dim and crop. Anything else, for example sharpen, blur or scale as an op, returns unsupported_filter_op.
What shape does each op take?
Each op takes a fixed set of keys. Adding a key, even a sensible-looking one, returns unsupported_filter_op_field.
| Op | Allowed keys | Refusal on a stray key |
|---|---|---|
dim | op, amount | unsupported_filter_op_field |
crop | op, x, y, width, height | unsupported_filter_op_field |
Where does other pixel work go?
Into filtergraph, a filters-only ffmpeg graph applied after ops[]. Only allowlisted filter names are accepted, so check the program first; an unknown name fails as invalid_filtergraph. See the filter allowlist post.
curl -X POST https://api.sume.com/v1/video-filter/check \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"ops": [{ "op": "sharpen", "amount": 0.5 }]
}'Does the check catch both errors?
The check runs the same schema and op whitelist as the encode and returns diagnostics instead of a 400, so the example above is a safe way to see the refusal. It reserves no credits.
Sources
Related posts
More in Developers
- Extract frames from a long video API: duration_out_of_range
Video frames fails duration_out_of_range for a source over 300 seconds. Cut a range under 300 seconds with video trim first, then extract frames from it.
- Video frames job succeeded but one frame url is null
If one instant fails to extract, video frames returns that entry with url null and the job still finishes ready. Filter the null entries and ask again for them.
- Extract frames from video at fps: mid-bin times, 24 frame cap
Sume video frames turns fps into mid-bin timestamps (0.5/fps, 1.5/fps, and so on), caps the result at 24 frames, and accepts fps above 0 up to 2.
- Extract video frames to images: PNG or JPEG before an upscale
Video frames returns jpeg by default or png for lossless inspection, at the source size unless you set max_edge. Pick png when the stills feed an upscaler.
Written by Sume