Nodes/ComfyUI Web Viewer/IMAGE Web Viewer @ vrch.ai
ComfyUI Node

IMAGE Web Viewer @ vrch.ai

The IMAGE Web Viewer — the node that gives the pack its name

By VrchStudio·Created 2 years ago·Updated 2 months ago· 359
IMAGE Web Viewer @ vrch.ai
  • images
  • IMAGES
  • URL
◄channel1►
◄server127.0.0.1:8188►
◄sslfalse►
◄refresh_interval300►
◄fade_anim_duration200►
◄server_messages►
◄save_settingsfalse►
◄window_width1280►
◄window_height960►
◄show_urlfalse►
◄dev_modefalse►
◄extra_params—►
◄url►

This is the flagship. The pack is called ComfyUI Web Viewer because of this node: it takes your images, pops open a browser window, and shows them with smooth fades - and because that window runs in a browser, any device on your network can watch it. A phone, a tablet, a second machine, a screen at a show. ComfyUI's own preview pane is for you; this is for the audience.

What it is

The mechanism is a passthrough with a display attached. images goes in, and the node serves them to the browser - by default pulling from the ComfyUI server itself at server 127.0.0.1:8188, so on a normal local setup you don't configure a thing. channel (1–8) tags the display so sibling nodes can coordinate with it. refresh_interval (default 300 ms) sets how often the viewer checks for new frames, and fade_anim_duration (default 200 ms) controls the crossfade between them - set the fade high and every generation slides in instead of popping.

The window itself is configurable: window_width/window_height (defaults 1280×960), show_url to reveal the viewer's address (turn this on when you want to open the display elsewhere - the URL output hands it to your workflow as a string too), and save_settings to persist your choices. dev_mode exposes the debugging harness, extra_params and url are advanced escape hatches, and server_messages injects a message string into the page. Outputs are IMAGES (your input, passed straight through so the wire can keep going) and URL.

Common issues

The one genuinely new thing to learn: the display runs in the browser, and browsers have opinions. The README's troubleshooting section exists because of this node. On Chrome, viewing over a LAN can be blocked - add the ComfyUI server's IP under chrome://flags/#unsafely-treat-insecure-origin-as-secure to allow it. If you're opening the viewer from a different origin and hit a CORS error ("No 'Access-Control-Allow-Origin' header…"), relaunch ComfyUI with --enable-cors-header:

python main.py --enable-cors-header

And if you're serving over HTTPS, the pack ships a dev-only self-signed certificate and the README shows the exact command to run ComfyUI on port 8189 with it - intended for development, not production.

How to install

Install is the pack-standard path:

cd ComfyUI/custom_nodes
git clone https://github.com/VrchStudio/comfyui-web-viewer
cd comfyui-web-viewer
pip install -r requirements.txt

restart ComfyUI. Manager users search "ComfyUI Web Viewer". Windows portable: python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\comfyui-web-viewer\requirements.txt. No models to download - this is a browser front-end plus a small server hook.

The right mental model: this node turns the tail of your graph into a stage. Pair it with an instant-queue workflow and a key or OSC control node, and you've gone from generating images to performing them. The README's first example workflow (example_web_viewer_001_image_web_viewer.json) gets you there in one load - wire an image in, hit the button, and the browser window that opens is the whole point of the pack.

Categoryvrch.ai/viewer

Inputs (14)

NameTypeDefaultDescription
imagesIMAGE—
channelCOMBO18 options: 1, 2, 3, 4, 5, 6, +2
serverSTRING127.0.0.1:8188—
sslBOOLEANfalse—
refresh_intervalINT3001–10000—
fade_anim_durationINT2001–10000—
server_messagesSTRING—
save_settingsBOOLEANfalse—
window_widthINT1280100–10240—
window_heightINT960100–10240—
show_urlBOOLEANfalse—
dev_modeBOOLEANfalse—
extra_paramsSTRING—
urlSTRING—

Outputs (2)

NameTypeDescription
IMAGESIMAGE—
URLSTRING—