Sharpen video after an upscale: unsharp or cas filter API

Sharpen an upscaled clip with the unsharp or cas filter in Sume's video filter: one MP4 in, one new MP4 out, a flat per-job rate, and a free check first.

4 min readSume
All posts

Send the upscaled clip to POST /v1/video-filter with a filtergraph that uses unsharp or cas; both are on the filter allowlist. You get a new MP4 at the same size, frame rate and audio, billed at the listed $0.02 per encode job. Run /v1/video-filter/check first; it is free.

Why this comes up: Higgsfield's changelog, read 2026-10-01, says its FLUX 3 Video Upscaler (Aug 27, 2026) has a Precise mode that "raises resolution without adding new detail". An upscale that adds no detail can look soft, and a light sharpen is the usual follow-up.

Which sharpen filters does Sume allow?

The allowlist in the video filter code groups unsharp and cas under blur, sharpen and noise. Both are plain ffmpeg filters, so the argument syntax is ffmpeg's. Sume does not let you pass vf, ffmpeg, cmd or codec fields; the server compiles the command and rejects those with ffmpeg_fields_rejected.

Sharpen options on the video filter allowlist, from the docs and code read 2026-10-01.
FilterOn the allowlistExample filtergraph
unsharpYesunsharp=5:5:0.8
casYescas=0.5
gblur / boxblurYes (blur, not sharpen)Not for this job

How do I run it?

Import the upscaled file with POST /v1/media-imports if it is not already on media.sume.com; there is no open-internet fetch. Then check the program, and submit it with an Idempotency-Key.

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/upscaled.mp4",
    "filtergraph": "unsharp=5:5:0.8"
  }'

Does sharpening change the size?

No. The docs say output inherits source geometry, frame rate and audio unless the program changes them, so a sharpen-only graph keeps the resolution you upscaled to. The source clip must be 300 seconds or shorter. Poll the job with GET /v1/jobs/:id/status, then read GET /v1/jobs/:id/result; the video_url is a new artifact, never the source.

How much sharpening is too much?

Start low and compare. Over-sharpening an upscale produces halos around edges and brings out noise, and the check endpoint cannot judge that; it validates the program, not the look. Pull a still from before and after with the video frames tool and compare at full size. For the upscale step itself, see AI video upscaler API.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume