Save Image Bridge (Yogurt Nodes)
The save node that doesn't stop the graph
- images
- images
- width
- height
- batch
- saved_paths
Save Image Bridge is the ComfyUI stock SaveImage node with the "terminal" part removed. Core SaveImage is a dead end - it writes your PNG and swallows the image, so anything downstream has to come off a wire you ran around it. This one writes the file and passes the image through, which is the whole trick.
That sounds like a small thing until you're building a workflow where saving is a side effect, not the finish line. You want to keep a copy of every pass, dump a comparison set to disk, or hand the saved result to another part of the graph for logging. Bridge nodes are exactly what the name promises: the data flows across, and the save happens as a bonus. It's from the Yogurt pack, a grab-bag of 150-ish utility nodes that all land under the "Yogurt Nodes" category in your node browser.
What it does
Feed it an image and it writes a PNG (or JPEG) into your ComfyUI output directory, then returns the same images plus the dimensions and the actual file paths it wrote. Because it's marked as an output node, the frontend also treats it as a workflow result - same as the stock SaveImage.
The inputs that actually matter:
- output_dir - leave blank to save to the standard
ComfyUI/outputfolder. Set a path if you want files somewhere else; a relative path resolves against the output dir. - filename_prefix - the base name before ComfyUI's usual counter. This one supports formatting tokens like
%date:yyyy-MM-dd%and even pulls values from other nodes, e.g.%Empty Latent Image.width%. - suffix -
.pngor.jpg. If you're going JPEG, also look at jpeg_quality (default 100). - disable_metadata - set to
trueto skip embedding the full workflow into the PNG. Smaller files, no workflow leak; you lose the drag-back-into-ComfyUI sharing trick that the community treats as table stakes. - overwrite - default
falsemeans the counter kicks in and you never clobber a file. Flip it when you're regenerating a fixed path on purpose. - png_compression - 0 (big, fast) to 9 (small, slow); 4 is the default and is fine.
The outputs are where the bridge earns its name: images, width, height, batch, and - the useful one - saved_paths, a list of the full paths you just wrote. Wire that into a text node or the pack's path utilities and you've got yourself a poor man's automation log.
Installing it
The whole pack installs at once, since these are all one repo:
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt
Easier: ComfyUI Manager → "Install Custom Nodes" → search ComfyUI-YogurtNodes, install, restart ComfyUI. Requirements are just numpy, pillow and requests for the I/O nodes - nothing heavy, no models to download.
Where people get burned
Mostly the filename_prefix. If your prefix has a typo in a %token%, the token just doesn't expand - the file lands with the literal text in the name, which reads as "broken" until you spot it. And remember overwrite=false is the default, so re-running a workflow piles up numbered files rather than replacing them. If you expected one file per run, that's not a bug - that's the counter. When in doubt, either accept the numbering or flip overwrite on.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to save. | |
| output_dir | STRING | The directory to save the images to, leave blank to save to the ComfyUI output directory. | |
| filename_prefix | STRING | ComfyUI | The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes. |
| disable_metadata | COMBO | false | Disable saving metadata to the PNG file. |
| overwrite | COMBO | false | Overwrite existing files. |
| suffix | COMBO | .png | The file extension to save the images as. |
| png_compression | INT | 40–9 | The level of compression to use for PNG images. |
| jpeg_quality | INT | 1000–100 | The quality of the JPEG image. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| width | INT | — |
| height | INT | — |
| batch | INT | — |
| saved_paths | LIST | — |