Nodes/ComfyUI FRED Nodes v2/πŸ‘‘ FRED Image Saver v2
ComfyUI Node

πŸ‘‘ FRED Image Saver v2

A real parameters input and unlimited LoRA info

By PoukpalaovaΒ·Created about a year agoΒ·Updated 7 months agoΒ· 3
πŸ‘‘ FRED Image Saver v2
  • images
  • GRID_IMAGE
  • last_saved_path
  • help
β—„save_single_imagetrueβ–Ί
β—„filename%lora_name_1_%lora_weight_1_%model_name_%date_dashβ–Ί
β—„pathFred_nodes/%date_dash/β–Ί
β—„time_format%Y-%m-%d-%H%M%Sβ–Ί
β—„extensionpngβ–Ί
β—„optimize_pngfalseβ–Ί
β—„lossless_webptrueβ–Ί
β—„quality_jpeg_or_webp100β–Ί
β—„save_workflow_as_jsonfalseβ–Ί
β—„embed_workflow_in_pngtrueβ–Ί
β—„save_as_grid_if_multifalseβ–Ί
β—„grid_filename%lora_name_1_%lora_weight_1_%date_dash_%model_name_grid%_img_countβ–Ί
β—„grid_pathTest/%model_name/Grid/%date_dash/β–Ί
β—„grid_column_max5β–Ί
β—„grid_row_max2β–Ί
β—„grid_extensionpngβ–Ί
β—„grid_quality_jpeg_or_webp100β–Ί
β—„positiveβ–Ί
β—„negativeβ–Ί
β—„use_parameters_inputfalseβ–Ί
β—„width1024β–Ί
β—„height1024β–Ί
β—„scale1.40β–Ί
β—„denoise0.60β–Ί
β—„guidance2.20β–Ί
β—„clip_skip1β–Ί
β—„steps20β–Ί
β—„seed_value0β–Ί
β—„sampler_nameeulerβ–Ί
β—„scheduler_namesimpleβ–Ί
β—„model_namefluxβ–Ί
β—„parametersβ–Ί
β—„loras_infosβ–Ί

FRED_ImageSaver is good; this is the one you should probably be using. ImageSaver v2 keeps all the tokenized filenames and A1111-style metadata from the original, then fixes its three weak spots: a real parameters input you can override explicitly, loras_infos that accepts any number of LoRAs instead of a hard three, and proper multi-image list mapping for batches. If you're starting fresh with the FRED pack, go straight to this node.

What changed in v2

Parameters input with an explicit switch. v1 made you hand-type every field (steps, CFG, sampler, seed, model name...) into widgets. v2 keeps those widgets for convenience but adds an optional parameters STRING input - wire in a full A1111-style parameters block and flip use_parameters_input on, and that exact text is what gets embedded, overriding the widgets. This is the key to honest metadata: feed it the parameters output from FRED_ImageLoad (which extracts them from a source image), or build the string from your extractor nodes, and the saved file records what actually ran rather than what you remembered to type.

Unlimited LoRA info via loras_infos. The optional loras_infos STRING input accepts the compact LoRA list format that the FRED Auto LoRA loaders emit. No more capping out at three LoRA fields - stack ten and the metadata records all of them.

Multi-image list mapping. The saver properly handles when images is a batch/list and maps metadata per image, so grid runs save each entry with the right per-image info instead of one shared blob.

The rest is familiar

Same token system - %model_name, %seed, %date_dash, %lora_name_1, %width, %steps, %cfg, %img_count and friends in filename/path (with the counter appended for uniqueness, default path Fred_nodes/%date_dash/). Same embedding: A1111-style parameters text, workflow JSON (toggleable), ComfyUI version. Same grid mode with save_as_grid_if_multi, grid_column_max/grid_row_max, separate grid extension and quality. Same outputs: GRID_IMAGE and last_saved_path.

The defaults for the widget fields skew toward Flux (scale 1.4, guidance 2.2, steps 8, model name flux) - they're record-only values for metadata, not active sampling parameters, so they only matter if you're not overriding via parameters.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Poukpalaova/ComfyUI-FRED-Nodes_v2.git

Restart, or "ComfyUI FRED Nodes v2" from ComfyUI Manager. Same pack requirements as the v1 saver - nothing extra.

Gotchas

use_parameters_input is a strict switch: when on, the parameters input wins and widget values are ignored for embedding, so make sure the string you feed is complete or your metadata will be sparse. And positive/negative still exist as widgets; when you use a full parameters block, keep them in sync or the embedded text will disagree with the sidecar fields. If the whole thing feels like overkill, it is - until you hit the day you need to know exactly which LoRA stack made that one great image.

CategoryπŸ‘‘FRED/image

Inputs (34)

NameTypeDefaultDescription
imagesIMAGEimages to save (list or batch).
save_single_imageBOOLEANtrueSave each input image as its own file.
filenameSTRING%lora_name_1_%lora_weight_1_%model_name_%date_dashbase filename (counter appended)
pathSTRINGFred_nodes/%date_dash/relative to Comfy output or absolute
time_formatSTRING%Y-%m-%d-%H%M%Sused by %datetime token
extensionCOMBOpngoutput file format for single images
optimize_pngBOOLEANfalseoptimize PNG (lossless, smaller files but slower)
lossless_webpBOOLEANtruesave WEBP in lossless mode (quality ignored)
quality_jpeg_or_webpINT1001–100JPEG/WEBP quality (ignored if WEBP lossless)
save_workflow_as_jsonBOOLEANfalsewrite a sidecar JSON next to image
embed_workflow_in_pngBOOLEANtrueembed workflow/prompt JSON into PNG metadata
save_as_grid_if_multiBOOLEANfalseAlso save a single tiled grid image of all inputs.
grid_filenameSTRING%lora_name_1_%lora_weight_1_%date_dash_%model_name_grid%_img_countfilename prefix for the grid image
grid_pathSTRINGTest/%model_name/Grid/%date_dash/save folder for the grid image
grid_column_maxINT5xsize (columns).
grid_row_maxINT2ysize (rows).
grid_extensionCOMBOpngoutput file format for the grid image
grid_quality_jpeg_or_webpINT1001–100JPEG/WEBP quality for the grid image
positiveSTRINGpositive prompt (saved in metadata) note: will not come from parameters
negativeSTRINGnegative prompt (saved in metadata) note: will not come from parameters
use_parameters_inputBOOLEANfalseIf ON, 'parameters' overwrite following widgets if exist
widthINT10241–16384recorded in metadata (does not resize)
heightINT10241–16384recorded in metadata (does not resize)
scaleFLOAT1.400–100000record-only parameter
denoiseFLOAT0.600–1record-only parameter
guidanceFLOAT2.200–100record-only parameter (CFG/guidance)
clip_skipINT1-24–24record-only parameter
stepsINT201–4096record-only parameter
seed_valueINT00–18446744073709550000record-only parameter (seed)
sampler_nameSTRINGeulerrecord-only parameter (sampler name)
scheduler_nameSTRINGsimplerecord-only parameter (scheduler name)
model_nameSTRINGfluxrecord-only parameter (model name)
parametersoptSTRINGA1111 tail (Steps, Sampler, ...). When 'use_parameters_input' is ON, overrides individual fields
loras_infosoptSTRINGname[:weight],name2[:weight2],... or name,weight,name2,weight2,...; \, for literal comma

Outputs (3)

NameTypeDescription
GRID_IMAGEIMAGEβ€”
last_saved_pathSTRINGpath to last saved image
helpSTRINGhelp / usage tips