View Image (Format) — Legacy JPG
The saver that eats your workflow on purpose
- images
- images
The display name tells you where this node stands: View Image (Format) - Legacy JPG. It's a plain JPEG saver with the usual in-node preview, kept alive so old workflows still load, and marked deprecated in the source in favour of View Image (Format). If you want one sentence for why: JPEG has no PNG text chunks, so the graph that made the image does not travel with it. The node's own tooltip says as much - "JPEG files do not embed a reloadable ComfyUI workflow."
What it is
WorkflowX_SaveImageJpg writes name_00001_.jpg files into ComfyUI's output/ directory and shows the saved image on the node, exactly like the core save node. You'd reach for it when something downstream wants a JPEG and you don't care about provenance: a webserver, a print order, a Discord attachment, a gallery you're uploading by hand.
Reach for it as your only saver on a keeper image and you'll lose the workflow - that's the trade, stated plainly rather than left as a surprise.
How it works
Three inputs, and they're all simple:
images(IMAGE) - the batch. Transparency is composited over white, because JPEG has no alpha channel. That compositing is real math, not a dropped channel: RGB is blended over a white background using the alpha value.filename_prefix(STRING, defaultComfyUI) - supports subfolders and ComfyUI's filename substitutions.quality(INT, 1–100, default 95) - higher is bigger. The node saves with 4:4:4 chroma sampling (no chroma subsampling), which is why a quality-95 JPEG from here holds up better than the same number out of a phone camera pipeline.
Output: images, a pass-through of the original tensor (a JPEG saver passed you the compressed image, and what's not a file). Batch handling is one file per image, with an auto-incrementing counter per frame and %batch_num% substituted before the counter. Files are created with exclusive open, which is a small but real nicety: two savers racing on the same prefix can't overwrite each other's frames. Interruptions are checked between frames, and a failed write deletes only its own partial file.
It's an output node, so it always runs and the cache works backward from it - the good news is that nothing behind a saver is skipped when you queue.
Installing it
It's part of WorkflowX; no models, no extra pip packages beyond what the pack already needs (NumPy and Pillow).
ComfyUI Manager → search "WorkflowX Configurator" → Install → restart
Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/haroonaslam/WorkflowX-Configurator
Then restart ComfyUI and hard-refresh the browser.
Where people get burned
- The image has no workflow in it. By design, and not recoverable from the pixels. If you plan to post it, keep the PNG too - PNG is the only format that round-trips a graph, and the flat A1111-style
parametersstring that CivitAI keys on lives in EXIFUserCommenton JPEG export, which this node doesn't write either. - You saved twice with two savers. Point this and a PNG saver at the same batch and you get two sets of files with two counters. That's normal, just noisy.
- You can't find it in the search box. Search the display name, not the class: it's filed under "View Image (Format) - Legacy JPG" and flagged deprecated, so a fresh install may surface it as a legacy entry. The non-legacy node with format selection, manual Save As and a workflow sidecar is the one you probably want.
- Nothing appears on the node. The preview comes from the standard saved-image UI channel, so if the file wrote and the preview is blank, it's a browser-side refresh problem - hard-refresh before assuming the save failed.
- Under
--disable-metadata. Irrelevant here, since there was never any metadata to disable. The flag only matters for the PNG path.
If you want format choice, lossless previews and a sidecar that keeps the workflow out of the JPEG's way, use View Image (Format). This one is legacy for a reason.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Images to save and preview. Transparency is composited over white because JPEG has no alpha channel. | |
| filename_prefix | STRING | ComfyUI | Output filename prefix; subfolders and ComfyUI filename substitutions are supported. |
| quality | INT | 951–100 | JPEG quality. Higher values give larger files. Uses 4:4:4 color sampling. JPEG files do not embed a reloadable ComfyUI workflow. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |