Nodes/ComfyUI-ProPost/ProPostVignette
ComfyUI Node

ProPostVignette

The edge-darkening trick real lenses do for free

By digitaljohn·Created 2 years ago·Updated about a year ago· 211
ProPostVignette
  • image
  • IMAGE
intensity1.00
center_x0.50
center_y0.50

Real camera lenses darken toward the edges of the frame - it's just optics, light falls off as it travels farther from the lens center, and photographers have spent a century either fighting it or leaning into it on purpose. Diffusion models don't reproduce that for free, which is one of the small tells that gives an AI image away next to a real photo. ProPostVignette fakes it back in: a simple radial darkening that pulls the eye toward the center of the image and adds a bit of that "shot on a lens" quality.

Don't overthink this one - it's the simplest node in the pack, and that's the point. You're not trying to model optical physics, just nudge the edges down a bit.

How it works

The node darkens pixels based on distance from a center point, with darkening increasing toward the corners. That's the whole mechanism. What you control is how strong the effect is and where that center point sits.

The inputs that matter

  • intensity (default 1.0, range 0.0–10.0) - how strong the vignette is. The range goes way past what you'll actually use; most natural-looking vignettes sit well under 2.0. Crank it past that and you're deliberately going for a heavy, dramatic frame-darkening rather than a subtle photographic touch - which is a legitimate look, just know that's what you're choosing.
  • center_x / center_y (both default 0.5, range 0.0–1.0) - where the "bright center" of the vignette sits, as a fraction of the image. 0.5/0.5 is dead center. If your subject is off to one side of the frame, moving the center toward them keeps the vignette pulling focus onto the subject instead of onto empty space - this is the detail that separates "obviously slapped on a vignette node" from "looks like the lens actually did this."

One input (image), one output (IMAGE). Chain it after Film Grain or before Apply LUT - order doesn't matter much here since it's a straightforward multiply-style darkening, but doing color grading (LUT) last tends to give you the most predictable final look.

Installing it

Same install as the rest of the ProPost pack - ComfyUI Manager, search propost, install, restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/digitaljohn/comfyui-propost.git
pip install -r requirements.txt

Restart ComfyUI fully after either method; a page refresh won't register a new node pack.

Where people get tripped up

Honestly, there's not much to trip on here - it's a two-parameter darkening effect with no models, no dependencies beyond the pack's shared requirements.txt, and no weird interaction with other nodes. The one mistake worth flagging: cranking intensity too high on a bright, high-contrast image can clip the corners to solid black rather than a soft falloff, which reads as a mistake rather than a stylistic choice. If that happens, you don't need a different setting so much as a lower one - back off toward 0.5–1.5 and it'll look like a lens again instead of a black frame with a hole cut in it.

If you're chasing photorealism specifically, pair a light vignette (0.3–0.8) with Film Grain rather than using it alone - the combination of edge darkening plus grain is doing a lot of the "this looks captured, not generated" work that a vignette by itself can't quite pull off.

CategoryPro Post/Camera Effects

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
intensityFLOAT1.000–10
center_xFLOAT0.500–1
center_yFLOAT0.500–1

Outputs (1)

NameTypeDescription
IMAGEIMAGE