ER Glow
The multi-octave glow node
- images
- images
- glow_layer
- glow_layer_alpha
The classic recipe for a glow is in every post-processing doc: take a bright-pass copy of the image, blur it, screen it back over the original. It works, and it also looks exactly like that - one uniform soft smear around everything bright. Real optical glow isn't one blur. It's a tight bright core with a long soft tail falling off around it, the way light scatters through a lens or a filter.
ER Glow is built like the real thing. Instead of a single blur it builds a multi-octave optical pyramid - several blur scales stacked, each half the size of the last - and lets you control how energy distributes between the tight core and the wide tail. It's the bloom tool from the ER VFX Nodepack by Héctor Gallego (ER Academy), and it's the difference between "I added a glow" and "that light is actually glowing."
The controls that matter
Inputs are images plus a params string; the real controls live on the node's face with a WebGL preview that mirrors the render math exactly. Grouped:
Highlights - what goes in. Threshold sets the brightness level that starts to glow; knee softens that cut (0 = hard, higher = smooth roll-in, so gradients don't band); boost gains the extracted highlights before blurring. The extract mode decides how brightness is measured - Rec709 luma, Max RGB, Average, or Per channel, where per-channel keeps the highlight's color and gives the most saturated look.
Shape - how it falls off. Size % sets the widest octave as a percentage of image width (resolution-independent, like the other ER nodes). Octaves stacks blur scales - more means smoother, more optical falloff. Falloff is the interesting one: below 1 the small scales dominate (tight, punchy core); at 1 everything weighs the same (hazy atmosphere); above 1 the wide tail takes over (big soft bloom). Anamorphic stretches the glow horizontally or vertically, area-preserving so brightness doesn't change - the classic anamorphic lens smear.
Color and composite. Gain / gamma / saturation / tint grade the glow itself before it's mixed, dispersion hue-shifts the wider octaves for that colored optical tail around the core, and the final blend is Add (linear light, closest to real), Screen (never clips highlights), or Max. A View switch shows Result, Glow only, or the raw Highlights - the Highlights view is the fastest way to dial threshold and knee, because you're literally looking at what gets extracted.
The layer outputs
Like the other "light" nodes, ER Glow emits three things: images (glow applied), glow_layer (glow alone over black - add/screen pass, and the clean input for edit models, which dislike alpha), and glow_layer_alpha (RGBA, alpha = brightness, for normal blending in ER Combine). Taking the clean layer out and compositing yourself is the pro move.
Installing
ER Glow is 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 and search "ER" (image/adjust). No dependencies or model downloads. If you previously installed the standalone er_glow pack this grew from, delete it first - duplicate registrations are a real gotcha here.
Tip in the spirit of the KB's photorealism doc: glow is a finishing pass, so apply it last, after upscaling. And when you do reach for it, start with Falloff below 1 - most people over-bloom because their first try has the whole energy in the tail.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| paramsopt | STRING | {} | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | The image with the glow applied. |
| glow_layer | IMAGE | Glow 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. |
| glow_layer_alpha | IMAGE | Glow only with alpha (RGBA, alpha = brightness): for normal-blend compositing. Do NOT feed this one to edit models. |