AllPreview (BlueBox)
AllPreview (BlueBox) shows you the image and leaves no trace on disk
- image
A preview node that deliberately doesn't save anything
In ComfyUI, an image on screen is usually also a file on disk. PreviewImage writes into ComfyUI/temp, SaveImage writes into output/, and both of them are quietly filling a folder while you iterate. AllPreview (BlueBox) does neither. It encodes the image in memory, hands the bytes to the browser as base64, and the node draws them itself in a DOM widget.
That sounds like a micro-optimization. It's actually a different working mode: the node has no side effects at all, so you can staple one to every stage of a graph without thinking about cleanup, and the render is a straight passing of bytes to the UI rather than a file round-trip.
It also breaks the ecosystem's usual rule on purpose. A ComfyUI PNG normally carries its entire workflow in its text chunks, which is why the image doubles as the project file. AllPreview produces no PNG at all, so there is nothing to carry anything.
How it works
The backend takes image[0], converts the tensor to a PIL image, and encodes it - WEBP lossy by default, or PNG. That buffer is base64'd and returned as the node's UI payload: the base64 string, its MIME type, and the width/height pair. The frontend renders it as a background-image inside a DOM widget with object-fit: contain, and prints the dimensions in a small bar underneath. The node opens at 320×320 and you can resize it like any other preview.
Two consequences fall straight out of that code path. First, only the first image of a batch is shown - it's image[0], not a loop, so a four-image batch gives you one thumbnail and no way to see the rest. Second, the quality setting is ignored when format is PNG (PNG is lossless; the author's own comment says as much). Default quality on WEBP is 75, which is visibly lossy on hair, text and fine texture.
The inputs that matter
There are only three, and they're all you get:
image- the IMAGE tensor to display.format-WEBP(default) orPNG. WEBP for speed while you're iterating, PNG when you actually need to judge what the model produced.quality- 1 to 100, WEBP only. Bump it to 90+ before you use the preview to make a decision.
No outputs. It's a terminal node - wire it exactly where you'd wire PreviewImage and stop there. Right-clicking the node gives you Open Image, Save Image and Copy Image, which exist because otherwise a preview with no file behind it would be impossible to get out of ComfyUI.
Installing it
It's one node from a small single-author pack. ComfyUI Manager: search the pack title ComfyUI-BlueBox and install, or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/zhoutingxi/ComfyUI-BlueBox.git ComfyUI-BlueBox
Restart ComfyUI and look under BlueBox/experimental in the node menu. The repo's requirements.txt is empty - the README is accurate that the pack installs no third-party Python packages. One nuance the README doesn't spell out: both preview nodes import torchvision.transforms, and those imports happen at the top of the pack's __init__.py. torchvision normally arrives with ComfyUI itself, so this is a non-issue on a standard install; on a stripped-down build it isn't just the preview that breaks, the entire pack fails to load.
Where people get tripped up
There's no file to find afterwards. Nothing lands in output/ or temp/, so "where did my render go" has a correct but annoying answer: right-click → Save Image, which downloads a re-encoded file. That download has no workflow metadata, so it's fine for showing someone and useless as an archive.
The preview bloats your workflow. The base64 string is stashed on the node's properties and properties serialize - so a big PNG preview adds megabytes to the .json you save or share. It's also why the image is still there when you reload the graph. If a workflow file suddenly got huge, this node is a plausible culprit.
Blank node before the first run. Expected; there's nothing to draw until the graph executes once.
The pack itself has essentially no community footprint - no threads to search when something looks wrong. That's not a reason to avoid it, just a reason to read the console output, which is genuinely informative (this author prints what path the preview and mask came from).
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| format | COMBO | WEBP | 2 options: WEBP, PNG |
| quality | INT | 751–100 | — |
Outputs (0)
No outputs