Load Image w/Meta
Load an image and its embedded metadata together
- image
- mask
- metadata_props
Load Image w/Meta does what the stock Load Image does - pull an image into the graph - and then goes one better: if the image has TinyBee metadata embedded, it hands that back too, as a structured TINYPROPS dict you can query and re-use.
Why you'd reach for it
ComfyUI's culture runs on image-embedded metadata - workflow JSON rides inside PNGs so you can drag an image back into the app and reconstruct everything. TinyBee builds its own flavor of that: Save Image w/Meta tucks a properties dict into the PNG's text chunk, and this node reads it back out. So you can save an image with its generation parameters, load it later, and get those parameters back as real data - to re-feed a workflow, log them, or pass through Json From Properties into a file.
How it works
Give it a path and it opens the image, converts to RGB, and hands back the tensor. If the PNG contains a tinyprops text chunk (written by Save Image w/Meta), it parses that JSON and reconstructs each entry as {name, type, value} in a TINYPROPS dict. No chunk, no problem - you get an empty dict. There's also an alpha-channel bonus: if the image has transparency, the node computes a mask from the alpha channel (1 − alpha), so transparent areas arrive as a usable MASK without a separate step.
Relative paths resolve against ComfyUI's output directory; absolute paths are honored as-is.
The inputs that matter
- image_path - the file to load. Empty or missing files are rejected with a validation error.
Three outputs:
- image - the IMAGE tensor.
- mask - the alpha-derived MASK (all zeros if no alpha channel).
- metadata_props - the decoded TINYPROPS dict. Feed it to Prop From Properties to pull individual fields, or Json From Properties to serialize it.
Installing it
TinyBee pack: ComfyUI Manager → Install Custom Nodes → search "ComfyUI-TinyBee", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/TinyBeeman/ComfyUI-TinyBee
Under 🐝TinyBee/Images. Uses PIL, which ships with ComfyUI.
Common issues
The metadata only appears if the image was saved with metadata intact - any re-save that strips PNG text chunks will leave you with an empty dict, not a bug. And the path rule trips people up: relative paths are looked up in the output folder, so if your image is in input/, either give an absolute path or reference it relative to output. A file that doesn't exist gets a clear "Image file not found" error, which is better than most loaders. If you expected a mask and got zeros, the image simply has no alpha channel.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image_path | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| metadata_props | TINYPROPS | — |