Save JPEG Websocket (CRT)
Save JPEG Websocket (CRT)
- images
Save JPEG Websocket (CRT) takes an image batch and streams it to the ComfyUI frontend as JPEG previews - and writes nothing to disk. No file, no PNG, no output/ folder clutter. It's the "look at this on the client, don't store it" node, and it earns its keep the moment you're doing remote rendering, long batch runs, or just generating a pile of throwaway previews you don't want to clean up later.
The mechanism is the interesting part, because it's not an API call or a clever library - it's an internal ComfyUI signal. The node grabs the running server instance and pushes each frame over the websocket using event type 2 (UNENCODED_PREVIEW_IMAGE), telling ComfyUI to encode the PIL image as JPEG before it goes over the wire. That's the same channel the built-in preview machinery uses, so the image lands in the UI exactly like a preview would - you just control exactly what gets pushed and what doesn't get saved.
Why JPEG and why websocket? JPEG because it's far smaller than PNG, which matters when frames are crossing a network to a browser on a different machine. Websocket because it's the live connection ComfyUI already has to the frontend - there's no extra client, no port to open, no server to configure. For a remote setup where the render box is headless and you're watching from a laptop, this is a lightweight way to get eyeballs on frames at the moment they're produced.
It's an output node with one required input: images. That's the entire interface. It accepts a batch, so you can feed it a video's worth of frames and watch them stream through one by one. There are no outputs - it terminates the branch. The honest trade-off: since nothing is persisted, whatever it previews is gone when you close the session. If you also need a permanent copy, run it in parallel with a real save node, or use it in a debug branch that you can mute.
It's also the least-glamorous of the pack's preview tools, and that's fine - for API/remote workflows it's the difference between a silent render and one you can actually watch. Install with the pack: ComfyUI Manager → search "CRT-Nodes", or clone https://github.com/plugcrypt/CRT-Nodes.git into custom_nodes and restart. It uses only core ComfyUI's websocket internals - no models, no extra dependencies.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — |
Outputs (0)
No outputs