Nodes/ComfyUI FSL Nodes/FSL Image Saver w/ Metadata V5
ComfyUI Node

FSL Image Saver w/ Metadata V5

FSL Image Saver w/ Metadata V5 — the legacy saver that still gets referenced

By fredlef·Created about a year ago·Updated 9 months ago· 13
FSL Image Saver w/ Metadata V5
  • images
  • external_metadata
  • metadata_raw
  • image
filenamegemini_out
save_to_subfolder
append_datetimefalse
model_string
modelname
seed_string
width_string
height_string
temperature_string
positive_string
negative_string
cfg_string
steps_string
sampler_string
scheduler_string
guidance_scale_string
watermark_string

FSLImageSaverWithMetadataV5 is the older metadata-saver in the FSL pack, and the README is unambiguous about its status: [Legacy], "De-versioned in the newest update." If a workflow you loaded references it, this is what you're seeing. If you're building fresh, the maintained FSLImageSaverWithMetadata is the one to use - the README calls the current version "the metadata saver" and treats V5 as superseded.

What it does

Mechanically it's the same idea as its successor: save an IMAGE batch as PNGs with generation parameters embedded in the file's metadata. It writes the same two kinds of chunks - an A1111-style parameters text block assembled from whatever string inputs you filled in, plus an fsl_metadata JSON chunk if you pass the external_metadata DICT. Filenames and subfolders are sanitized against path traversal, append_datetime timestamps the prefix, and ComfyUI's save-path helper handles the counter naming.

What differs from the current version

The visible differences are small but worth knowing if you're comparing:

  • Output type. V5 returns METADATA_RAW as its first output instead of the newer node's METADATA DICT. That's a wire-type mismatch - a workflow expecting one won't accept the other without a convert.
  • Extra optional strings. V5 has guidance_scale_string and watermark_string fields the current node dropped. If you were relying on those, they live here only.
  • external_metadata defaults to {} rather than being required - behavior is otherwise the same.
  • It's registered as an output node (is_output_node), where the current saver isn't, so V5 always runs at the end of the graph.

For the save-and-metadata core - filename prefix, subfolder, datetime suffix, model/seed/width/height/temperature/cfg/steps/sampler/scheduler/positive/negative strings - the two nodes are interchangeable.

When to use it

Basically two scenarios: you loaded an old FSL workflow and it works, or you specifically need the guidance_scale_string/watermark_string fields. In both cases it'll keep working - the legacy tag means "no longer the recommended path," not "broken." Otherwise default to the maintained node; the pack's direction is clear, and Google-model metadata conventions have moved on.

Install

Same pack, same routine:

cd ComfyUI/custom_nodes
git clone https://github.com/fredlef/Comfyui_FSL_Nodes
cd Comfyui_FSL_Nodes
pip install -r requirements.txt

or ComfyUI Manager → "ComfyUI FSL Nodes", then restart. No models, no API key - pure local saving. If you're converting an old workflow, the honest advice is to leave V5 alone while it's wired, then migrate when you next touch the graph; converting the METADATA_RAW socket is the one step that needs a moment's attention.

CategoryFSL Nodes

Inputs (19)

NameTypeDefaultDescription
imagesIMAGE
filenameSTRINGgemini_out
save_to_subfolderSTRING
append_datetimeoptBOOLEANfalse
model_stringoptSTRING
modelnameoptSTRING
seed_stringoptSTRING
width_stringoptSTRING
height_stringoptSTRING
temperature_stringoptSTRING
positive_stringoptSTRING
negative_stringoptSTRING
cfg_stringoptSTRING
steps_stringoptSTRING
sampler_stringoptSTRING
scheduler_stringoptSTRING
guidance_scale_stringoptSTRING
watermark_stringoptSTRING
external_metadataoptDICT[object Object]

Outputs (2)

NameTypeDescription
metadata_rawMETADATA_RAW
imageIMAGE