ComfyUI Node

Bloom

Fake lens glow in one node

By lucafoscili·Created 2 years ago·Updated 6 days ago· 35
Bloom
  • image
  • ui_widget
  • image
  • image_list
threshold0.80
radius15
intensity0.60
tintFFFFFF

Bloom is that soft, cinematic halo around bright areas - neon signs bleeding light, sun flare kissing the horizon - and it's one of the cheapest "AI look" killers in the post-processing toolbox. LF_Bloom does the whole effect in a single node: bright-pass, blur, composite. No three-node chain, no math nodes, no trying to remember how to build the glow you saw in a tutorial once.

The mechanism is the classic filmic recipe. The node takes your image, keeps only the pixels above a brightness threshold (that's the "bright pass"), blurs the living daylights out of them, and screens the result back over the original. Bigger blur radius, softer and more cinematic; higher intensity, more of that haze reading. It's the same operation the post-processing literature describes as "blur a bright-pass copy, screen it back" - LF just wraps it so you don't have to.

The inputs that matter

Three numbers do all the work:

  • threshold - the bright-pass cutoff, 0–1. 0 means everything glows, 1 means nothing does. The author's own guidance in the tooltip is the one worth remembering: dim scenes want 0.15–0.35, high-key images want 0.65–0.85. It also accepts 0–255 scale (200 ≈ 0.78), which trips up nobody until it does.
  • radius - blur radius in pixels, odd numbers only, 3–127. A radius around 1–2% of your image width is a good starting point. That's a pixels rule, so a 1024-wide image starts around 10–20.
  • intensity - how strongly the glow reads after compositing. 1.0 adds the blurred highlights at full strength; under 1.0 softens, over 1.0 exaggerates and can wash out mid-tones. Default 0.6 is a sane place to start.

One optional you'll actually touch: tint, a hex colour for the glow. Leave it FFFFFF and the bloom keeps the original hue; give it FFCCAA and the highlights take on a warm cast - the classic "golden hour cheap trick" for outdoor scenes.

Outputs

image and image_list - the bloomed result as a single tensor or a batch list, ready to feed a save node or the next filter. That's it. There's also the ui_widget compare preview so you can A/B against the source before committing.

Installing it

lf-nodes is a one-time install that covers every node in the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/lucafoscili/lf-nodes

then restart ComfyUI - or search "LF Nodes" in ComfyUI Manager. No extra model downloads for this one; it's pure pixel math on the GPU.

One honest gotcha

The author's tip in the tooltip is the real takeaway: bloom works best at final resolution. If you bloom at 512 and upscale to 4K afterward, the glow softens and mushes out. Bloom after your last resize, not before. Also keep intensity under control - it's the knob that turns "cinematic" into "everything looks radioactive" faster than any other filter in the suite.

Category✨ LF Nodes/Filters

Inputs (6)

NameTypeDefaultDescription
imageIMAGESource frame to receive the glow. Tip ▸ Works best if the image is already at final resolution; up-res after blooming can soften the effect.
thresholdFLOAT0.800–1Bright-pass cutoff. ‣ 0 = everything glows • 1 = nothing glows ‣ For dim scenes start around **0.15-0.35**; for high-key images **0.65-0.85**. Accepts 0-1 *or* 0-255 (e.g. 200 ≈ 0.78).
radiusINT153–127Blur radius in **pixels** (odd numbers only). Bigger radius → softer, more cinematic glow. A value ~1-2 % of image width is a good starting point.
intensityFLOAT0.600–2How strong the bloom reads after compositing. 1.0 = add the blurred highlights at full strength. < 1.0 softens; > 1.0 exaggerates (can wash out mid-tones).
tintoptSTRINGFFFFFFHex colour for the glow (e.g. FFCCAA). Pure white **FFFFFF** keeps original hue.
ui_widgetoptLF_COMPARE[object Object]

Outputs (2)

NameTypeDescription
imageIMAGEImage tensor with bloom effect applied.
image_listIMAGEList of image tensors with bloom effect applied.