Preview Anything
One node to actually see what your graph made
- value
Every workflow ends with the question "okay, what did that produce?" Preview Anything is the universal answer: a single output node whose wildcard input accepts anything and renders it in a dark, distraction-free panel. Text, markdown, image URLs, video URLs, audio URLs, IMAGE tensors, AUDIO dicts - it sniffs the type and shows you the right thing. It's the node you keep on the end of every text generation and every API call, and honestly, once you've used it, ComfyUI's built-in previews feel limited.
The mechanism is type-sniffing with a manual override. Strings get inspected: a URL ending in .png or .mp4 renders as media, a string that looks like markdown renders as markdown, anything else renders as text. Tensors and audio dicts get written to the temp folder and rendered. The display_type dropdown lets you force a renderer (auto, text, markdown, image, gif, video, audio) when the auto-detect guesses wrong.
Inputs
- value - the wildcard input. Wire literally anything here.
- display_type -
autodefault; force a renderer if detection misfires. - filename - base name used when you hit Download (default
preview). - strip_metadata - off by default. When on, image-URL inputs get re-encoded to strip EXIF/ICC/XMP (GPS, camera info, timestamps) before download. Only affects image URLs; tensors are already metadata-free. This is the privacy button.
The parts that make it worth it
The toolbar (Download / Copy buttons plus a character counter) only appears once there's content, so the node stays clean. Download saves as .txt, .md, or the original media format. Last rendered content persists across workflow reloads, which is a quiet lifesaver when you're iterating. Text and markdown stay at a fixed scrollable size so a giant LLM response can't swallow your canvas.
It's an output node - no outputs, just the preview.
Install
Part of the ERPK Collection:
cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk && pip install -r requirements.txt
Restart, or install via ComfyUI Manager → search erpk. Free, no key, no model downloads - it's the pack's universal landing pad, and the README's video nodes literally point to it: they return URL strings and expect you to drop Preview Anything on the end. That's the pattern that makes the whole pack feel coherent.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| value | * | Any content. Strings, URLs, IMAGE tensors, AUDIO dicts, or any Python value. | |
| display_typeopt | COMBO | auto | How to render. 'auto' picks based on the input. |
| filenameopt | STRING | preview | Base filename used when downloading. |
| strip_metadataopt | BOOLEAN | false | Re-encode image URL inputs to strip EXIF / ICC / XMP metadata (GPS, camera info, timestamps) before download. Only applies to image URLs; IMAGE tensor inputs are already metadata-free. Text, video, audio, and non-image URLs are unaffected. |
Outputs (0)
No outputs