ComfyUI Node
Save Image with Metadata v099d
A ComfyUI node in Eric's Nodes/Output with 62 inputs and 2 outputs.
Save Image with Metadata v099d
- images
- mask_layer_1
- mask_layer_2
- overlay_layer_1
- overlay_layer_2
- images
- filepath
◄filename_prefixComfyUI►
◄file_formatpng►
◄include_projectfalse►
◄include_datetimetrue►
◄mask_1_nameMask 1►
◄mask_1_blend_modenormal►
◄mask_1_opacity255►
◄mask_2_nameMask 2►
◄mask_2_blend_modenormal►
◄mask_2_opacity255►
◄_divider_mask_section--- Mask Layer Options ---►
◄include_mask_layersfalse►
◄overlay_1_nameOverlay 1►
◄overlay_1_blend_modenormal►
◄overlay_1_opacity255►
◄overlay_2_nameOverlay 2►
◄overlay_2_blend_modenormal►
◄overlay_2_opacity255►
◄custom_output_directory►
◄output_path_modeSubfolder in Output►
◄filename_formatDefault (padded zeros)►
◄quality_presetBest Quality►
◄color_profilesRGB v4 Appearance►
◄rendering_intentRelative Colorimetric►
◄bit_depth8-bit►
◄alpha_modeauto►
◄matte_color#FFFFFF►
◄save_alpha_separatelyfalse►
◄apng_fps10►
◄apng_loops0►
◄additional_formatNone►
◄additional_format_qualityBalanced►
◄additional_format_suffix_web►
◄additional_format_embed_workflowfalse►
◄additional_format_color_profilesRGB v4 Appearance►
◄svg_colormodecolor►
◄svg_hierarchicalstacked►
◄svg_modespline►
◄enable_metadatatrue►
◄title►
◄project►
◄description►
◄creator►
◄copyright►
◄keywords►
◄custom_metadata{}►
◄auto_extract_generation_paramstrue►
◄include_node_detailsfalse►
◄save_embeddedtrue►
◄save_workflow_as_jsonfalse►
◄save_xmptrue►
◄save_txttrue►
◄save_dbfalse►
◄save_individual_discoveryfalse►
◄debug_loggingfalse►
◄enable_runtime_hooksAuto (use config)►
◄embed_workflowtrue►
CategoryEric's Nodes/Output
Inputs (62)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to save | |
| filename_prefix | STRING | ComfyUI | Base name for saved files. Can include formatting like %date:yyyy-MM-dd% |
| file_format | COMBO | png | Image format to save in |
| include_projectopt | BOOLEAN | false | Add project name to filename |
| include_datetimeopt | BOOLEAN | true | Add date and time to filename |
| mask_layer_1opt | IMAGE | Optional mask layer 1 | |
| mask_1_nameopt | STRING | Mask 1 | Name for mask layer 1 |
| mask_1_blend_modeopt | COMBO | normal | Blend mode for mask layer 1 |
| mask_1_opacityopt | INT | 2550–255 | Opacity for mask layer 1 (0-255) |
| mask_layer_2opt | IMAGE | Optional mask layer 2 | |
| mask_2_nameopt | STRING | Mask 2 | Name for mask layer 2 |
| mask_2_blend_modeopt | COMBO | normal | Blend mode for mask layer 2 |
| mask_2_opacityopt | INT | 2550–255 | Opacity for mask layer 2 (0-255) |
| _divider_mask_sectionopt | STRING | --- Mask Layer Options --- | — |
| include_mask_layersopt | BOOLEAN | false | — |
| overlay_layer_1opt | IMAGE | Optional overlay layer 1 | |
| overlay_1_nameopt | STRING | Overlay 1 | Name for overlay layer 1 |
| overlay_1_blend_modeopt | COMBO | normal | Blend mode for overlay layer 1 |
| overlay_1_opacityopt | INT | 2550–255 | Opacity for overlay layer 1 (0-255) |
| overlay_layer_2opt | IMAGE | Optional overlay layer 2 | |
| overlay_2_nameopt | STRING | Overlay 2 | Name for overlay layer 2 |
| overlay_2_blend_modeopt | COMBO | normal | Blend mode for overlay layer 2 |
| overlay_2_opacityopt | INT | 2550–255 | Opacity for overlay layer 2 (0-255) |
| custom_output_directoryopt | STRING | Override the default output location. For relative paths, don't start with backslash. Use 'images/subfolder' format. Leave empty to use default output folder. | |
| output_path_modeopt | COMBO | Subfolder in Output | How to interpret the custom output directory: as an absolute path, as a subfolder in the standard output folder |
| filename_formatopt | COMBO | Default (padded zeros) | How to format sequential filenames: with padded zeros or simple numbers |
| quality_presetopt | COMBO | Best Quality | Quality versus file size tradeoff |
| color_profileopt | COMBO | sRGB v4 Appearance | Color profile to embed in the image |
| rendering_intentopt | COMBO | Relative Colorimetric | How colors are mapped when converting between color spaces |
| bit_depthopt | COMBO | 8-bit | Save in 8-bit (standard) or 16-bit (high precision) format. 16-bit only works with PNG. |
| alpha_modeopt | COMBO | auto | How to handle alpha channel. Auto=choose best for format, Matte=composite onto background color |
| matte_coloropt | STRING | #FFFFFF | Background color when saving with matte. Use color name or hex value. |
| save_alpha_separatelyopt | BOOLEAN | false | Save alpha channel as separate image for formats that don't support transparency |
| apng_fpsopt | INT | 101–60 | Frames per second for animated PNG |
| apng_loopsopt | INT | 00–99999 | Number of animation loops (0 = infinite) |
| additional_formatopt | COMBO | None | Save a second copy in this format (e.g., workflow in PNG plus JPG for sharing) |
| additional_format_qualityopt | COMBO | Balanced | Quality setting for the additional format |
| additional_format_suffixopt | STRING | _web | Suffix for the additional format filename (e.g., image_web.jpg) |
| additional_format_embed_workflowopt | BOOLEAN | false | Whether to embed workflow data in the additional format (PNG only) |
| additional_format_color_profileopt | COMBO | sRGB v4 Appearance | Color profile for the additional format |
| svg_colormodeopt | COMBO | color | SVG color mode (only applies when saving as SVG) |
| svg_hierarchicalopt | COMBO | stacked | SVG hierarchy mode (only applies when saving as SVG) |
| svg_modeopt | COMBO | spline | SVG curve mode (only applies when saving as SVG) |
| enable_metadataopt | BOOLEAN | true | Master switch to enable/disable all metadata writing. When disabled, no structured metadata will be written anywhere. |
| titleopt | STRING | Image title | |
| projectopt | STRING | Project name for organization | |
| descriptionopt | STRING | Image description/caption | |
| creatoropt | STRING | Creator/artist name | |
| copyrightopt | STRING | Copyright information | |
| keywordsopt | STRING | Comma-separated keywords/tags | |
| custom_metadataopt | STRING | {} | Custom metadata in JSON format. Example: {"basic":{"source":"My Collection"},"ai_info":{"generation":{"negative_prompt":"blurry"}},"custom_section":{"custom_field":"value"}} |
| auto_extract_generation_paramsopt | BOOLEAN | true | Automatically extract comprehensive generation parameters (prompts, model, sampler, etc.) from workflow without manual wiring |
| include_node_detailsopt | BOOLEAN | false | Include technical node information (IDs, connections) in metadata - useful for debugging |
| save_embeddedopt | BOOLEAN | true | Save structured metadata directly inside the image file (title, description, etc.) - distinct from workflow embedding. |
| save_workflow_as_jsonopt | BOOLEAN | false | Save workflow data as a separate JSON file |
| save_xmpopt | BOOLEAN | true | Save metadata in XMP sidecar file (.xmp) |
| save_txtopt | BOOLEAN | true | Save human-readable metadata in text file (.txt) |
| save_dbopt | BOOLEAN | false | Save metadata to database (if configured) |
| save_individual_discoveryopt | BOOLEAN | false | Save individual discovery JSON and HTML files for each run (central discovery is always maintained) |
| debug_loggingopt | BOOLEAN | false | Enable detailed debug logging to console |
| enable_runtime_hooksopt | COMBO | Auto (use config) | Enable runtime execution hooks to capture actual node execution data. Auto = use config.json setting. Provides more accurate metadata for conditional workflows. May require ComfyUI restart if enabling for first time. |
| embed_workflowopt | BOOLEAN | true | Embed ComfyUI workflow graph data in the PNG file - enables re-loading workflow later (PNG only) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| filepath | STRING | — |