Nodes/ComfyUI-Light-Tool/Light-Tool: Generate PhantomTankEffect
ComfyUI Node

Light-Tool: Generate PhantomTankEffect

Two images melted into one, eight sliders deep

By ihmily·Created 2 years ago·Updated 4 months ago· 20
Light-Tool: Generate PhantomTankEffect
  • image1
  • image2
  • image
offset128
alpha_min1
alpha_max255
v_min0
v_max255
gray_methodluminosity

Every pack has its "what is this and why does it exist" node, and for ComfyUI-Light-Tool it's Light-Tool: PhantomTankEffect. It takes two images and blends them into one ghostly composite where the brightness of each image decides how much of the other shows through. Think thermal-imaging overlay, think x-ray vision, think the dissolve blend on a moody album cover. The name evokes a phantom tank, which is about as much sense as it needs to make.

Inputs: image1 and image2 (both required), then a cluster of tuning parameters - offset (0–255, default 128), alpha_min (default 1), alpha_max (default 255), v_min (default 0), v_max (default 255), and gray_method with five choices: luminosity, average, max, min, and custom. Output: one RGBA image.

How it works. Both images are converted to grayscale using the method you picked - luminosity is the classic weighted grayscale (0.299R + 0.587G + 0.114B), average is the flat mean, max/min take the brightest/darkest channel, and custom uses its own weighting. Then comes the per-pixel math: each pixel's alpha is derived from the two gray values (v1 = gray1/2, v2 = gray2/2 + offset, then alpha = alpha_max - v2 + v1, clamped between alpha_min and alpha_max), and the output value is scaled from v1 against v_max/v_min. In plain language: bright areas of one image make the other show through more, and offset shifts that whole relationship - nudge it and the ghost balance slides.

What matters in practice. offset is the dial you'll actually touch - it's the "how much ghost do I want" control. gray_method changes the character of the blend (luminosity reads most naturally; max gives a punchier, brighter ghost). alpha_min/alpha_max clamp how transparent/opaque things can get, and v_min/v_max clamp the brightness range of the result. The output is RGBA, so it's ready to composite.

The honest warnings. First, it's slow - this is a pure-Python per-pixel loop over every pixel of both images, and it shows on anything above a modest resolution. Second, I searched around and found essentially zero community discussion of this effect; it's the pack author's own curiosity, not a workflow standard. Treat it as a toy with a surprisingly expressive range, and budget for the pixel-loop speed. If you need a fast general crossfade or blend, there are better nodes; this one is for when you specifically want the weirdness.

Installing. Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/ihmily/ComfyUI-Light-Tool.git
pip install -r requirements.txt
# restart ComfyUI

Or ComfyUI Manager → search ComfyUI-Light-Tool → Install. No models.

Verdict: gloriously niche. Try it once on two high-contrast images with a mid offset and you'll either love the look or never touch it again - either reaction is correct.

CategoryComfyUI-Light-Tool/image/compositing

Inputs (8)

NameTypeDefaultDescription
image1IMAGE
image2IMAGE
offsetINT1280–255
alpha_minINT10–255
alpha_maxINT2550–255
v_minINT00–255
v_maxINT2550–255
gray_methodCOMBOluminosity5 options: luminosity, average, max, min, custom

Outputs (1)

NameTypeDescription
imageIMAGE