Invert video colors by API with the negate filter

Send filtergraph negate to Sume's video filter to invert a clip's colors. A typo in the filter name is refused with invalid_filtergraph before any encode.

4 min readSume
All posts

Post negate as the filtergraph to POST /v1/video-filter. It inverts every color in the clip and returns a new MP4 for one encode job at the public rate in Video filter. No other parameters are needed.

Runway's changelog (Aug 20, 2026) describes Ruby, a color grading model that converts SDR video to HDR. Inversion is not grading; it is a fixed pixel operation. Sources were read 2026-10-01.

What does the request look like?

Import the clip first. The server wraps your graph in [0:v] and [vout] for you, so write only the filter.

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

What happens if I misspell the filter?

The graph is refused with invalid_filtergraph, and the unknown_filter detail names the token and the allowlist. POST /v1/video-filter/check shows the same refusal for free, so test there first.

Can I invert and then shift color?

Yes, chain filters with commas, for example negate,hue=h=180. See hue shift for the second filter, and the allowlist overview for the rest.

What are the limits?

Video filter limits from the Sume docs, read 2026-10-01.
ItemValue
Price$0.02 per encode job; the check is free
SourceUp to 300 seconds, on media.sume.com
GraphUp to 2048 chars and 32 named filters; no [0:v] stream specifiers
Unknown filterRefused with invalid_filtergraph

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume