Nodes/Photography Nodes/Vignette Effect
ComfyUI Node

Vignette Effect

The cheap shortcut to 'this was shot on a lens'

By TrophiHunter·Created about a year ago·Updated about a year ago· 5
Vignette Effect
  • image
  • IMAGE
strength1.000
vignette_size0.800
vignette_shapeellipse
falloff_size0.800
sigma0.700
opacity100

Real lenses darken at the edges. It's called vignetting, every cheap or wide-open lens does some of it, and diffusion models almost never generate it - which is one of those subtle tells that an image is AI. Vignette Effect from TrophiHunter's Photography Nodes pack is the fix: it darkens the corners of your image toward a lens-like falloff, and it's one of the highest value-per-effort moves you can make in a photorealism pipeline. That and a hint of film grain is most of the distance between "render" and "photo."

How it works

The node builds a mask from each pixel's distance to the center of the frame, normalized to an ellipse (or circle - your pick). Then it applies an exponential falloff whose shape is governed by two knobs: falloff_size controls how quickly the darkening builds toward the edges, and sigma softens the transition. The mask is multiplied into the image, and opacity blends the whole thing back so you can dial it from "barely there" to "tunnel vision." It's all tensor math on the GPU - effectively free, and it handles batches of frames no problem.

Inputs that matter

  • image - IMAGE in, IMAGE out.
  • strength - 0 to 1, default 1. Overall intensity of the darkening.
  • vignette_size - 0 to 1, default 0.8. How far from the center the falloff starts. Lower = the vignette starts closer to the middle (stronger corners).
  • vignette_shape - ellipse (default, matches a wide frame) or circle.
  • falloff_size - 0 to 1, default 0.8. Higher is a harsher, more defined edge; lower is a longer, gentler roll-off.
  • sigma - 0 to 1, default 0.7. Softness of the transition.
  • opacity - 0 to 100, default 100. The blend amount, Photoshop-style.

The output IMAGE wires into your Save or Preview. In the pack's example workflow it comes after the sharpen group - the right order, since sharpening after a vignette would sharpen the vignette's own edges.

Installing it

Part of the Photography Nodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/TrophiHunter/ComfyUI_Photography_Nodes
# restart, then find it under TrophiHunter/Photography

Or ComfyUI Manager → search "Photography Nodes" by TrophiHunter. No models, no extra dependencies - it's pure torch.

Troubleshooting

The defaults are strong: full opacity, strength 1. That's a dramatic corner darkening that reads as "instagram filter" on most images. For the subtle lens look, drop opacity to 50–70 and strength to around 0.5, then taste from there. If you pick circle on a wide image, the vignette clips top and bottom - that's expected, since a circle is sized to the width. And if the falloff edge looks like a hard ring, lower falloff_size and raise sigma until it disappears. Done right, nobody can point at the corners and tell you why it feels like a photograph.

CategoryTrophiHunter/Photography

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
strengthFLOAT1.0000–1
vignette_sizeFLOAT0.8000–1
vignette_shapeCOMBOellipse2 options: ellipse, circle
falloff_sizeFLOAT0.8000–1
sigmaFLOAT0.7000–1
opacityINT1000–100

Outputs (1)

NameTypeDescription
IMAGEIMAGE