ComfyUI_MetaSaver
A save node for all the meta data you want!
Perfil del paquete
- Estado
- Verificado
- Publicador
- @SorenWeile
- Fuente
- GitHub
Léeme
ComfyUI MetaSaver
A powerful ComfyUI custom node for saving images and videos with flexible custom metadata fields embedded directly in the file.
Features
- Up to 10 Metadata Fields: Standard version with 10 optional metadata slots
- Up to 20 Metadata Fields: Dynamic version with 20 optional metadata slots
- Custom Field Names: Give each metadata field a custom name
- Flexible Input Types: Supports ANY type - strings, integers (seeds), floats (CFG), and more
- PNG & Video Metadata Embedding: Custom data saved in PNG files or video container tags
- Workflow Preservation: Maintains standard ComfyUI workflow metadata
- Multiple Formats: Metadata saved both as structured JSON and individual fields
- All Optional: Only fill in the fields you need - empty fields are ignored
- Video Output: Save MP4 (H.264) or WEBM (VP9) video from image frame batches
Why MetaSaver?
Unlike standard save nodes, MetaSaver lets you:
- Save seeds from KSampler nodes
- Store positive and negative prompts
- Record model names, LoRA weights, CFG values
- Add any custom text or numbers you want to track
- Name your fields exactly how you want them
- Embed metadata in videos as container-level tags
Perfect for tracking generation parameters, comparing outputs, or sharing images and videos with full context!
Installation
Method 1: ComfyUI Manager (Recommended)
- Open ComfyUI Manager
- Search for "MetaSaver"
- Click Install
Method 2: Manual Installation
-
Navigate to your ComfyUI custom_nodes directory:
cd ComfyUI/custom_nodes/ -
Clone this repository:
git clone https://github.com/SorenWeile/ComfyUI_MetaSaver.git -
Restart ComfyUI
Usage
Saving Images
-
Add the "Save Image with Custom Metadata" node to your workflow
-
You'll see pairs of inputs for metadata (10 pairs in standard, 20 in dynamic version):
meta_name_0: Name of first field (e.g., "seed")meta_value_0: Value to save (e.g., connect from KSampler seed output)meta_name_1: Name of second field (e.g., "positive_prompt")meta_value_1: Value to save- ... and so on
-
Fill in only the metadata fields you want to use (empty ones are ignored)
-
Connect your image output to the
imagesinput -
Run your workflow!
Saving Videos
- Add the "Save Video with Custom Metadata" node to your workflow
- Connect an
IMAGEbatch (your video frames) to theimagesinput - Set
fps, chooseformat(mp4 or webm), and fill in any metadata fields - Run your workflow — the video is saved to your ComfyUI output folder
A typical video workflow: KSampler → VAE Decode → Save Video with Custom Metadata
Or for multi-frame video: connect the image batch output from a video model directly.
Note: All metadata fields are optional - you can use as many or as few as you need!
Reading Metadata
From PNG images:
- ComfyUI: Drag the image back into ComfyUI to see all metadata
- Python:
from PIL import Image img = Image.open("your_image.png") metadata = img.info.get("custom_metadata") print(metadata) - ExifTool:
exiftool your_image.png
From MP4/WEBM videos:
- Command line:
ffprobe -v quiet -print_format json -show_format your_video.mp4 - Python:
import av, json with av.open("your_video.mp4") as container: custom = json.loads(container.metadata.get("custom_metadata", "{}")) print(custom) - ExifTool:
exiftool your_video.mp4
The metadata JSON structure is the same for both images and videos:
{
"seed": 12345,
"positive_prompt": "a beautiful landscape",
"cfg_scale": 7.5,
"model_name": "sd_xl_base_1.0"
}
Node Variants
MetaSaver (Standard)
Saves a PNG image with 10 optional metadata field pairs (meta_name_0 through meta_name_9). Perfect for most use cases.
MetaSaverDynamic (Advanced)
Saves a PNG image with *
Nodos de este paquete
4 nodos
Nodos de este paquete
4 nodos- MetaSaver
- MetaSaverDynamic
- MetaVideoSaver
- MetaVideoSaverDynamic
Fuentes
3 fuentes
Fuentes
3 fuentesVerificado 26 oct
Verificado 26 oct
Extractos de fuentes
1 extracto
Extractos de fuentes
1 extractoSource context: Repo SorenWeile/ComfyUI_MetaSaver
