Nodes/ER VFX Nodepack/ER Lens Flare
ComfyUI Node

ER Lens Flare

Cinematic lens flares without the render farm

By esperandoelrender·Created 2 days ago·Updated 2 days ago· 0
ER Lens Flare
  • images
  • images
  • flare_layer
  • flare_layer_alpha
flares[]

Lens flares are the post-processing equivalent of garlic: used right, one small touch makes the whole dish feel real; used like someone who just discovered garlic, you ruin it. ER Lens Flare is built for the "used right" version - a procedural, screen-blended flare generator with up to four independent flares, from the ER VFX Nodepack by Héctor Gallego (ER Academy). If you've been faking this by loading a flare PNG and fumbling with blend nodes, this is the grown-up version.

The genuinely useful part is the interactivity. Each flare has a round marker you drag on the preview to place the light source, and a small diamond orbiting it that aims where the ghost trail falls - the angle of the ghost reflections across the image. The anamorphic streak and the starburst rays stay straight regardless, like a real lens, and the ghost-angle slider stays in sync with the handle. You position flares by eye, not by typing coordinates blind.

Anatomy of a flare

Each of the four flare panels gives you independent control over the parts that make a flare feel like a lens rather than a smudge:

  • core / core radius - the bright central hotspot plus its halo, dialled up or down without touching anything else.
  • ghosts - the colored reflections along the light-to-center axis.
  • streak with its own hue and width - the anamorphic horizontal smear, in any color you like.
  • rays / ray count - the starburst, for when the light is genuinely bright.
  • hue / saturation tint across the whole flare, and intensity / scale.

Eight look presets (anamorphic blue, vintage prime, 70s zoom ghosts, golden sun, clean modern, sci-fi streak, night sodium, car headlight) fill values as a starting point without touching your placement. Per-flare 👁 on/off, ⧉ duplicate - build one car headlight, duplicate it and drag the copy to the other side of the frame - ⟲ reset and ✕ delete round it out.

The layer outputs (the reason compositors care)

Flare nodes give you three outputs:

  • images - the flare screened over your image.
  • flare_layer - the flare alone over pure black (RGB, no alpha). This is the classic add/screen pass for a compositor, and the clean input for edit models, which dislike alpha.
  • flare_layer_alpha - the flare with alpha (alpha = brightness), for normal-blend compositing. Don't feed this one to an edit model.

That separation is the pack's design language: flare it in the node for a quick look, or take the clean layer into ER Combine for full control. Need a transparent PNG? The docs point at ComfyUI's native Image to Mask + Join Image with Alpha.

Inputs & install

Graph inputs are images plus a flares string carrying the flare definitions from the UI. It's part of the ER VFX Nodepack - ComfyUI Manager → search "ER VFX Nodepack" → install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/esperandoelrender/ComfyUI-ER-VFX-Nodepack.git

Restart, find it under image/adjust. No extra dependencies. If you previously installed the standalone er_lens_fx pack, remove it first.

One honest warning, in the spirit of the KB's photorealism doc: flares on every image read as a crutch. Keep the core tight, the ghost subtle, and the streak wide-and-dim rather than fat-and-bright, and it'll look like the camera saw the sun - not like you discovered a node.

Categoryimage/adjust

Inputs (2)

NameTypeDefaultDescription
imagesIMAGE
flaresoptSTRING[]

Outputs (3)

NameTypeDescription
imagesIMAGEThe image with the flares screened on top.
flare_layerIMAGEFlares only over pure black (RGB): additive light for Add/Screen in a compositor, and the CLEAN input for edit models (klein, nano banana) that dislike alpha.
flare_layer_alphaIMAGEFlares only with alpha (RGBA, alpha = brightness): for normal-blend compositing. Do NOT feed this one to edit models.