CRT scanline look on a clean AI clip: drawgrid plus noise

Add dark horizontal scanlines and light flickering noise to a finished clip with a two-filter Sume video-filter graph. $0.02 per encode, free check first.

4 min readSume
All posts

To give a clean generated clip a CRT look, send Sume's video filter two filters: drawgrid=w=0:h=4:t=1:c=black@0.35,noise=alls=8:allf=t. The first darkens one pixel row in every four to draw scanlines; the second adds light noise that changes every frame. One encode is $0.02, and the free check runs before you spend it.

Image-to-video outputs, such as a clip from grok-imagine-video-1.5 on Sume, are smooth by default. A scanline pass turns a smooth clip into a retro monitor or arcade bumper without regenerating anything.

How do the two filters work?

drawgrid normally draws a lattice. Setting the cell width to 0 skips the vertical lines, and h=4 puts a horizontal line every four rows. I tested it on a flat grey frame with a local ffmpeg build: rows 0, 4, 8 and 12 dropped from 128 to 83, which is a 35 percent black overlay, and all other rows stayed at 128.

noise=alls=8:allf=t adds noise to all planes with strength 8, and t makes it temporal, so the pattern changes each frame instead of freezing. Both filters are on Sume's allowlist, and the commas in the graph are at the top level where Sume's validator expects them.

What should I tune?

Line spacing is in pixels, so on a 480p clip a spacing of 4 looks coarser than on 1080p. Pick the value against the size you will watch it at.

Scanline and noise settings (Sume video filter, read 2026-10-11)
SettingValueEffect
Line spacingh=4One dark row in four; use 3 for denser lines
Line opacityblack@0.35Raise to 0.5 for heavy lines
Line thicknesst=1One pixel on the encoded frame
Noise strengthalls=8Subtle; 20 is very visible
Noise modeallf=tNew pattern every frame

How do I run it safely?

Check first, then encode. The result is a new MP4, and the source is not touched.

Do not add captions before this pass: scanlines and noise would cross the text. Burn captions on the finished file instead.

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/clip.mp4",
    "filtergraph": "drawgrid=w=0:h=4:t=1:c=black@0.35,noise=alls=8:allf=t"
  }'

What does the effect cost in quality?

Noise makes compression harder, so the output file is larger than the source for the same length. Platforms that re-encode will soften the lines, and a 1-pixel line can shimmer on a downscaled phone screen. Look at one still with video frames before you publish. The source cap for video filter is 300 seconds.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume