Nodes/Allor Plugin/ImageEffectsLensVignette
ComfyUI Node

ImageEffectsLensVignette

Masked, adjustable, and honest

By Nourepide·Created 3 years ago·Updated 2 years ago· 296
ImageEffectsLensVignette
  • images
  • IMAGE
  • MASK
lens_shape
lens_edge
lens_curvy3.0
lens_zoom0.0
brightness0.25
saturation0.50

Vignetting is the corner darkening you get for free on real lenses, and it's one of the cheapest "this is a photograph, not a render" tells in the book. The problem with most vignette nodes is they just multiply the edges by a hard circle and call it a day. ImageEffectsLensVignette from the Allor plugin is a notch above: it darkens and desaturates toward the edges using a curved lens-style falloff, and it hands you the mask so you can reuse the exact falloff elsewhere.

How it works

The node builds a radial mask across the frame using lens_shape (circle or rectangle) and lens_edge (around for an edge-anchored falloff, symmetric for a center-out one), curved by lens_curvy (1–15) and zoomed by lens_zoom. Then it takes two separate copies of the image:

  • one with brightness (0–1) applied - this is how dark the vignette gets at the corners,
  • one with saturation (0–1) applied - the desaturation that real falloff causes,

and blends them back with the original using the mask. The result is corners that fade in brightness and color together, which is what actually reads as lens-like. Because it's a masked blend rather than a multiply, highlights stay natural instead of going flat gray.

Outputs are the processed IMAGE plus a MASK - the falloff itself - which you can wire into compositing or other effects that want a radial gradient.

Inputs that matter

  • images - the IMAGE or batch.
  • lens_shape - circle for the classic look, rectangle for a flatter, wider frame falloff.
  • brightness - corner darkness. Default 0.25 is gentle; 0 is fully black corners.
  • saturation - how much color drains toward the edges. Default 0.5.
  • lens_curvy / lens_zoom - shape the falloff curve and its reach.

Installing it

It's in the Allor pack, one-time install:

cd ComfyUI/custom_nodes
git clone https://github.com/Nourepide/ComfyUI-Allor

Restart ComfyUI (or ComfyUI Manager → Allor Plugin). First launch installs rembg + onnx and creates config.json; no model files needed here.

Gotchas

  • Subtle is the secret. A brightness of 0.25 with saturation 0.5 is already noticeable; going much darker reads as "Instagram filter," not lens.
  • If your image has hard content (text, UI, faces) in the corners, the desaturation can look like a grading choice rather than optics - check the MASK output to see how wide the falloff actually is.
  • The pack's standing gotcha applies: the repo was rebased to strip old images from history, so old clones can fail on git pull. Re-clone if updates break.

Pair a light vignette with ImageEffectsLensChromaticAberration at a tiny shift and you've got a convincing "shot on a real camera" finish in two nodes.

Categoryimage/effects/lens

Inputs (7)

NameTypeDefaultDescription
imagesIMAGE
lens_shapeCOMBO2 options: circle, rectangle
lens_edgeCOMBO2 options: around, symmetric
lens_curvyFLOAT3.0
lens_zoomFLOAT0.0
brightnessFLOAT0.25
saturationFLOAT0.50

Outputs (2)

NameTypeDescription
IMAGEIMAGE
MASKMASK