Light-Tool: Generate PhantomTankEffect
Two images melted into one, eight sliders deep
- image1
- image2
- image
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.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image1 | IMAGE | — | |
| image2 | IMAGE | — | |
| offset | INT | 1280–255 | — |
| alpha_min | INT | 10–255 | — |
| alpha_max | INT | 2550–255 | — |
| v_min | INT | 00–255 | — |
| v_max | INT | 2550–255 | — |
| gray_method | COMBO | luminosity | 5 options: luminosity, average, max, min, custom |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |