- output
Vewd Tab is a slide-out gallery for your ComfyUI generations, and the VewdSidebar node is the tiny bit of that you drag onto the canvas. If you've ever run twenty variations, squinted at each tiny preview in the node, and lost track of which one you actually liked - this is aimed squarely at you. It's part of the vewdtab pack, a companion to the author's vewd viewer project, and it's new enough that there's essentially zero community chatter about it yet. That cuts both ways: it's fresh, and you're early.
The whole point is to keep the review surface outside the canvas. A persistent panel slides in from the right edge (drag the white vewd tab), pushes your workflow over instead of covering it, and stays put when you switch workflows. Every generation you run lands in a scrolling grid automatically - images, video, audio, 3D, and splats. Spacebar to heart your favorites, filter by type or likes, arrow-key through the grid, and one click exports the hearted or selected batch to a folder you set once. That's the part you'll actually use.
How the node actually works
Here's the trick that keeps this honest: VewdSidebar is a "thin shell" node, as the source puts it. The real UI lives in sidebar.js, a frontend extension the pack loads from its web/ directory. It listens for ComfyUI's executed event after every queue run, grabs the output media, and adds it to the panel. When you click a tile, the panel writes a small JSON payload (filename, subfolder, type) into the node's hidden selected_media widget. On the next run, process() parses that JSON, resolves the file path against ComfyUI's temp/output/input directories, opens it with PIL, and hands it out as a tensor. The node's IS_CHANGED returns NaN, which is ComfyUI-speak for "always dirty" - so it re-runs every queue and your latest selection is what comes out.
Wire the output into anything downstream that takes an IMAGE - a preview, a VAE Encode for img2img, a second pass sampler. You can also just drag a thumbnail straight onto any Load Image node. No model downloads, no Python deps: pyproject.toml lists zero dependencies and there's no requirements.txt. The only imports are torch, PIL, and ComfyUI's own plumbing, all of which you already have. Install is genuinely painless, which in this ecosystem is a feature worth saying out loud.
The inputs and outputs that matter
There's exactly one optional input, selected_media (a STRING, default empty) - and you never set it by hand. The panel fills it for you, and the frontend hides the widget so it doesn't clutter the node. The one output is output, type IMAGE, the image (or batch of images) currently selected in the panel.
Where people get burned
Two traps, both real, both in the source. First, if nothing is selected, the node returns a black 512×512 image instead of an error - so a workflow that ran fine suddenly produces black frames and gives you no hint why. Second, the IMAGE output only carries images. The panel happily shows video, audio, and 3D, but process() skips anything that isn't a .png/.jpg/.jpeg/.webp/.bmp/.gif and silently returns that black placeholder. Select a video tile and feed it downstream, and you get nothing useful. Delete only removes from the viewer - files stay on disk, and export copies (deduping with (1), (2) suffixes) rather than moving, so you can't lose your outputs.
Install
Via ComfyUI Manager, search "Vewd Tab" (the pack title is vewdtab). Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/spiritform/vewdtab.git
Restart ComfyUI. That's it - no extra dependencies, no model files. It's MIT licensed, single-author, and early; if the panel misbehaves on a Nodes 2.0 canvas, remember the legacy renderer is a click away. Honestly, it's a nicety more than a necessity - but if you curate batches for sharing or export a lot of output, it beats wrestling with node height.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| selected_mediaopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | IMAGE | — |