Nodes/S42 CutFlow/🔍 S42 CutFlow Lens Distortion
ComfyUI Node

🔍 S42 CutFlow Lens Distortion

Give Your Footage a Lens Personality

By GeekyGhost·Created 6 months ago·Updated 4 months ago· 3
🔍 S42 CutFlow Lens Distortion
  • clip
  • clip
  • frame_count
  • info
modebarrel
strength0.30
focus_position0.50
focus_width0.30

Real footage was shot through glass, and glass curves. Wide-angle lenses bulge the edges (barrel distortion), telephotos compress the center (pincushion), and tilt-shift lenses fake a miniature world with a razor-thin focus band. AI-generated video has none of that - it's optically sterile. S42CF_LensDistortion is the S42 CutFlow node that adds lens character back: barrel, pincushion, or tilt-shift, one node, no VRAM.

The modes

  • barrel (default) - edges curve outward, the wide-angle/fisheye look. Gives footage an immersive, POV quality. Paired with a subtle vignette, it's the fastest way to make a flat AI render feel like it was shot on a GoPro.
  • pincushion - edges curve inward, the compressed telescopic look. Opposite personality, same family.
  • tilt_shift - this one is different: instead of distorting geometry, it fakes a shallow depth-of-field with a horizontal in-focus band and blur above/below. That's the "miniature world" effect you see in aerial city shots. Here strength doubles as the blur radius, and the next two inputs matter.

The inputs

  • strength - distortion amount for barrel/pincushion (0.1–0.3 subtle, 0.5+ strong). For tilt_shift it's the blur radius.
  • focus_position - tilt-shift only: where the sharp band sits. 0 = top, 0.5 = center (default), 1 = bottom.
  • focus_width - tilt-shift only: how wide the in-focus band is. Smaller = narrower sharp zone = more dramatic miniature effect. 0.3 is a reasonable starting point.

One thing the author's tooltip doesn't tell you: barrel and pincushion push pixels off-frame, which leaves soft edges. If you're not exporting at full-bleed, plan on following distortion with a slight crop - the pack's CropPad handles that in one step, or you can just live with the character if it's a stylized piece.

Where it fits

Lens distortion is a flavor node, and it reads best as part of a stack. The pack's own VFX example runs ChromaticAberration → LensDistortion → TemporalFX → GlitchFX - aberration for the color fringing, distortion for the glass, and the results genuinely look like footage from a damaged or characterful lens. A subtle barrel (0.15) plus a whisper of vignette is the "shot on real glass" recipe for AI content; tilt-shift at strength 0.5+ is the social-media miniature look.

Outputs are clip, frame_count, and info, standard for the pack.

Install

ComfyUI Manager → search "S42 CutFlow" → Install → restart. Or:

cd ComfyUI/custom_nodes/
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt

Restart fully; console prints [S42 CutFlow] Loaded 53 total nodes. Pure CPU/numpy, no models, no VRAM. The pack's one mandatory dependency is OpenCV (opencv-python-headless in requirements.txt; README says pip install opencv-python if you see "No module named 'cv2'").

Standing pack note: Geeky Ghost is grooming S42 CutFlow as a work-in-progress for LTX Desktop. The filter core is stable; the expanded nodes are where settings move between releases.

CategoryS42 CutFlow/Filters

Inputs (5)

NameTypeDefaultDescription
clipIMAGEVideo clip.
modeCOMBObarrel'barrel' = edges curve outward (wide-angle lens). 'pincushion' = edges curve inward (telephoto). 'tilt_shift' = miniature/diorama blur effect.
strengthFLOAT0.300–2Distortion amount. 0.1-0.3 = subtle. 0.5+ = strong. For tilt_shift: blur radius.
focus_positionFLOAT0.500–1Tilt-shift focus band position. 0=top, 0.5=center, 1=bottom. Only used in tilt_shift mode.
focus_widthFLOAT0.300.05–0.8Width of the in-focus band for tilt-shift. Smaller = narrower sharp zone.

Outputs (3)

NameTypeDescription
clipIMAGE
frame_countINT
infoSTRING