Flip a video upside down with the API: vflip in video-filter

To flip a video upside down in Sume, send filtergraph vflip to video-filter; hflip mirrors it. vflip, hflip and transpose are all on the allowlist.

4 min readSume
All posts

To flip a video upside down with Sume, send "filtergraph": "vflip" to POST /v1/video-filter. hflip mirrors it left to right, and transpose rotates in 90 degree steps. All three are in the geometry group of the filtergraph allowlist.

The job returns a new MP4 and leaves the source alone. The video filter page lists the contract.

Which filter does what?

Picking the wrong one is the usual mistake: a mirror is not a rotation.

Geometry filters for flips, read 2026-10-02
GoalFilterOn the allowlist
Upside downvflipYes
Left-right mirrorhflipYes
Quarter turntransposeYes
Free anglerotateYes

What is the request?

Import the clip first, because off-host URLs are refused at admit. Writes need an Idempotency-Key. You can chain filters inside one graph with commas.

curl -X POST https://api.sume.com/v1/video-filter \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: vflip-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
    "filtergraph": "vflip,hflip"
  }'

What does the flip not change?

Only the picture changes. Audio is inherited from the source, so a clip with speech keeps its speech, and text in the frame ends up mirrored or upside down with the picture. Sume does not read text and does not fix it.

The output is a new MP4 produced by the worker's ffmpeg, so check the result in a player before you publish.

How do I avoid a failed job?

Run the program through POST /v1/video-filter/check first. It costs nothing and names an unknown filter with the allowlist. Then poll the job rather than waiting on one request; sync mode waits at most 30 seconds, as the jobs page explains.

Never send vf, ffmpeg or cmd fields; the server compiles ffmpeg itself and refuses those with ffmpeg_fields_rejected.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume