Nodes/ComfyUI-RvTools_v2/Pass Images v2
ComfyUI Node

Pass Images v2

The image version of 'have you tried turning it off and on'

By r-vage·Created about a year ago·Updated 5 months ago· 23
Pass Images v2
  • image
  • IMAGE
Purge_VRAMfalse

Here's a node that takes images in and hands the same images right back out, with one extra button labeled Purge_VRAM bolted on the side. It's the sibling of the plain Pass Image, and its job is twofold: it's a stable hop that keeps bypassed-node weirdness from killing your graph, and it can flush your GPU on the way through. If that still sounds useless, you haven't yet spent an hour chasing a workflow that worked yesterday and silently produces nothing today.

Why it exists

The passers in this pack were born from a real annoyance: some ComfyUI nodes misbehave when you feed them data from a bypassed node. The upstream goes dead, the wire goes gray, and whatever's downstream either errors or quietly returns nothing. Dropping a passer in the middle forces the image through an always-executing node, so the downstream never sees a gap. That's the same family of fix rgthree's utilities represent - workarounds that make big graphs keep working, rather than features that add capability.

They also earn their keep in managed groups: you need at least two nodes to form a group, and a passer is the perfect second node for bundling an input into a collapsible group while letting you hide widgets and shrink the canvas.

How it works

image goes in, IMAGE comes out, untouched. The class body is nearly empty:

def passthrough(self, Purge_VRAM, image):
    # optionally: gc.collect(), empty cuda cache, unload_all_models()
    return (image,)

The one interesting path is Purge_VRAM. Turn it on and before passing the image through, the node garbage-collects, empties the CUDA cache, and calls ComfyUI's unload_all_models(). Useful when an image branch is sitting on a pile of VRAM and you want it cleared before the next heavy stage - think of it as a "clean the bench before the next set" button. It costs time, so treat it as a per-run decision, not a default.

The inputs

There's just the one: image, plus the Purge_VRAM boolean. Wire your IMAGE in (from a VAE Decode, a Load Image, an upscaler), flip Purge_VRAM only if you need the flush, and the IMAGE output goes to wherever the image was headed anyway. Nothing to misconfigure, which is the entire point of a passer.

Installing it

Same routine as the rest of the RvTools v2 pack - no models to fetch. ComfyUI Manager → search RvTools → install ComfyUI-RvTools_v2, restart. Or from a terminal:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2

Restart ComfyUI; you'll see RvTools v2: Version 2.5.x in the console. Its requirements.txt adds opencv-python, pilgram, pynvml, and piexif on top of the torch/numpy/Pillow ComfyUI already has - Manager handles those for you.

Troubleshooting

Two things worth knowing before you blame this node for a broken workflow:

  • Old RvTools v1 is dead. The original repo was deleted, so Manager can't resolve old node names. This v2 pack renamed everything (including the passers) specifically to fix that. If a workflow references plain "Pass Images" without v2, install this pack and re-connect.
  • Purge_VRAM isn't free. If you leave it on and your runs feel sluggish, that's the unload/reload tax showing up. Turn it off for normal runs and flip it on only when the swap genuinely needs the memory cleared.

And for new builds, note that the author has migrated to ComfyUI_Eclipse, which supersedes RvTools v2 - this pack still runs fine, but Eclipse is where development continued.

Category🫦 RvTools II/ Passer

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
Purge_VRAMBOOLEANfalse

Outputs (1)

NameTypeDescription
IMAGEIMAGE