Add film grain to a video by API with the noise filter

Add film grain to a finished clip with the allowlisted noise filter in Sume's video filter: one encode job, a new MP4, and a free check before you pay.

4 min readSume
All posts

Put noise in the filtergraph of a Sume video filter job. noise is on the filter allowlist, the graph runs as a filters-only ffmpeg graph after any ops[], and the result is a new MP4 with the source untouched. Check the program with POST /v1/video-filter/check first; the check is free.

Higgsfield's Cinema Studio 4.0 changelog (Aug 12, 2026) describes an Era selector where, per its notes, "grain, color, and lens style adjust" to the chosen decade. Sume has no era preset; you assemble the look from filters. Facts below come from Video filter and the compiler allowlist, read 2026-10-01.

What does the request look like?

Send a Sume-hosted video_url, a filtergraph, and an Idempotency-Key. The noise option string below is standard ffmpeg; the Sume docs only guarantee that the name is allowlisted, and a program that passes the check can still fail on the worker, which comes back as a structured job error.

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

What are the limits?

Video filter facts, read 2026-10-01.
ItemValue
Rate$0.02 per encode job
CheckPOST /v1/video-filter/check, unbilled
Source lengthAt most 300 seconds
Graph sizeMax 2048 characters, 32 named filters
SourceA workspace media.sume.com clip
OutputNew MP4, inherits geometry, frame rate, audio

Can I get an era look from grain alone?

Grain is one part. Colour and lens character need other allowlisted filters; see the colour LUT post for what can substitute for a .cube file, and the allowlist for every allowed name.

What if my clip is not on Sume yet?

There is no open-internet fetch. Import the file first with POST /v1/media-imports, then use the returned media.sume.com URL. When the job is result_ready, GET /v1/jobs/:id/result returns the new video_url.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume