Nodes/SDXL Auto Prompter/APNext Film Halation FX
ComfyUI Node

APNext Film Halation FX

The red-orange glow film gives bright edges

By dagthomas·Created 3 years ago·Updated 13 days ago· 283
APNext Film Halation FX
  • images
  • image
intensity0.50
threshold0.80
radius20.0
color_tintwarm
custom_color_r1.00
custom_color_g0.90
custom_color_b0.70
falloff2.0
film_typecolor_negative

Halation is the warm glow that bleeds around bright edges on real film - the reddish halo around a window, a streetlight, a backlit head of hair. It happens because light passes through the film emulsion, bounces off the backing, and re-exposes the surrounding grains, mostly in the red channel. It's one of the strongest "this looks like it was shot on film" cues there is, and it's exactly the sort of thing a clean digital diffusion render is missing. APNext Film Halation FX adds it back.

Image in, image out, applied after VAE decode. No model, no API key.

How it works

The node isolates the bright regions above your threshold, spreads a colored glow outward from them by radius, tinted toward the warm red-orange that real halation produces, and composites it back. The falloff shapes how quickly that glow fades with distance, and film_type swaps between profiles (color_negative, slide_film, vintage, modern) that tune the character to match different stocks.

The color is the whole point. Where bloom is a neutral white glow, halation is specifically warm - that's what your eye reads as "film" rather than "lens flare." The color_tint control lets you keep it warm, go cool, or dial an exact custom RGB if you're matching a reference.

Inputs and outputs that matter

  • images - your decoded image.
  • intensity (0–2, default 0.5) - how visible the halo is. The default is already restrained, which is correct for this effect.
  • threshold (default 0.8) - how bright an area has to be to halate. Lower to catch more edges.
  • radius (default 20) - how far the glow reaches. Halation is a fairly tight bleed; huge radii turn it into general haze.
  • color_tint - warm is the authentic default. custom unlocks the custom_color_r/g/b sliders.
  • film_type - pick the stock profile that matches the look you're after.

The single output is image.

Installing it

ComfyUI Manager: search comfyui_dagthomas, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/dagthomas/comfyui_dagthomas
cd comfyui_dagthomas
pip install -r requirements.txt

Runs on the pack's image dependencies. No API key, no downloads.

Common issues

Halation is subtle by design - if you can obviously see it, it's probably too strong and now reads as a cheap glow filter. Keep intensity low (the 0.5 default is a good ceiling for most shots) and let it work at the edges of highlights rather than washing the frame. If it looks like a white bloom instead of film, check that color_tint is warm and not none.

This effect only has something to grab onto when there are actual bright highlights - a flat, evenly-lit image has nothing to halate, so don't expect much on an overcast scene. It's most convincing on backlit subjects, windows, and night scenes with light sources. Stack it with a little grain from the Noise FX node and a subtle color grade, and put it near the end of the chain - halation sits on top of the graded image, the same order film would.

Categorycomfyui_dagthomas/APNext FX Advanced

Inputs (10)

NameTypeDefaultDescription
imagesIMAGE
intensityFLOAT0.500–2
thresholdFLOAT0.800–1
radiusFLOAT20.01–100
color_tintCOMBOwarm6 options: none, warm, cool, red, blue, custom
custom_color_rFLOAT1.000–2
custom_color_gFLOAT0.900–2
custom_color_bFLOAT0.700–2
falloffFLOAT2.00.5–4
film_typeCOMBOcolor_negative4 options: color_negative, slide_film, vintage, modern

Outputs (1)

NameTypeDescription
imageIMAGE