ImageEffectsLensVignette
Masked, adjustable, and honest
- images
- IMAGE
- MASK
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-circlefor the classic look,rectanglefor 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
brightnessof 0.25 withsaturation0.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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| lens_shape | COMBO | 2 options: circle, rectangle | |
| lens_edge | COMBO | 2 options: around, symmetric | |
| lens_curvy | FLOAT | 3.0 | — |
| lens_zoom | FLOAT | 0.0 | — |
| brightness | FLOAT | 0.25 | — |
| saturation | FLOAT | 0.50 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| MASK | MASK | — |