Save Image(Suffix-TJ)
Save Image (Suffix-TJ)
- images
Save Image (Suffix-TJ) is the second act of TJ_NODE's save pipeline. Where Primary-TJ saves the base generation and hands you its file paths, this node takes those paths in, saves a downstream result (the upscale, the detail pass, the compare sheet) next to the base, and suffixes the name so the family stays visibly connected. main.png + main_upscale.png - that's the whole idea, and it's deceptively useful.
How it works
The mechanism is a handoff: Primary-TJ outputs FILEPATH_JSON (a JSON array of the paths it wrote). You run a wire from that output to this node's filepath_json input, and the suffix node figures out the base filename from it, then appends filename_suffix to save the new image alongside. So the chain is:
Save Image (Primary-TJ) → [upscale nodes] → Save Image (Suffix-TJ)
└── FILEPATH_JSON ────────────────────────→ filepath_json
Downstream results inherit the family name and the folder, with a suffix you control:
images- the batch to save (your upscaled or edited result).filepath_json- the pipeline context from Primary-TJ. The essential glue; without it the node doesn't know which family it belongs to.filename_suffix- default_upscaled; change it per derivative (_detail,_compare,_mask).extension_option-Original, or forcepng/jpg/webp.save_path_opt- optional override of where to write; blank follows the inherited path.
No outputs - it's a terminal save node.
Installing it
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/designloves2/ComfyUI-TJ_NODE
or ComfyUI Manager → ComfyUI-TJ_NODE → restart. No dependencies beyond the pack.
The honest take
This node only makes sense as part of the Primary→Suffix chain - drop it into a workflow without the Primary upstream and you've just got a slightly more complicated Save Image. As a discipline it's genuinely nice: results stay grouped, cleanup is trivial, and "which file came from which run" stops being a guessing game. Where it can bite: the _upscaled default is only meaningful for upscales, so if you're saving three kinds of derivatives from the same base, use three suffix nodes with distinct suffixes (_detail, _compare) rather than rerunning one. If you never process beyond a base generation, skip the chain entirely - it's structure for workflows that grow, and it grows with them.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| filepath_json | STRING | — | |
| filename_suffix | STRING | _upscaled | — |
| extension_option | COMBO | Original | 4 options: Original, png, jpg, webp |
| save_path_opt | STRING | — |
Outputs (0)
No outputs