Load Image Prompt Metadata Advance
Grab up to 20 prompts out of an image's metadata
- IMAGE
- prompt_1
- prompt_2
- prompt_3
- prompt_4
- prompt_5
- prompt_6
- prompt_7
- prompt_8
- prompt_9
- prompt_10
- prompt_11
- prompt_12
- prompt_13
- prompt_14
- prompt_15
- prompt_16
- prompt_17
- prompt_18
- prompt_19
- prompt_20
The pack's plain Load Image Prompt Metadata node pulls positive and negative prompts out of an image's embedded ComfyUI metadata. This is the version for when two strings aren't enough. HYBS_LoadImagePromptMetadataAdvance extracts up to twenty prompt strings from the embedded workflow metadata, each from a node ID you specify, all in one load.
Think about what a complex workflow actually stores: not just the positive and negative, but per-region prompts, control-net conditioning text, wildcard-expanded values, lora trigger notes. If you're rebuilding or comparing against someone's source image, being able to pull a half-dozen prompts at once beats running the basic node five times or transcribing from a screenshot. It's the same metadata-reading machinery, just vectorized.
How it works
Like the basic version, image is a combo of files in your input folder, and the node parses the workflow/prompt metadata from the file, then resolves node IDs to prompt text. The difference is how you specify IDs: instead of two fixed text fields, there's a selection widget (socketless, internal state) that starts with one node-ID row and grows as you fill rows in. You list the node IDs in order, and the outputs come back in that order.
The widget accepts up to 20 IDs. Outputs:
- IMAGE - the loaded image
- prompt_1 through prompt_20 - one
STRINGoutput per ID, in your specified order
Blank rows are ignored, and unused outputs come back as empty strings, so you don't need to wire 20 sockets if you only asked for three. If you supply no IDs at all, or the metadata is missing, or any supplied ID fails to resolve to prompt text, the node raises an error rather than silently returning blanks - you'll know immediately that something's off instead of chasing a phantom empty prompt downstream.
Getting the node IDs
Same as the basic node: open the source image in ComfyUI so the workflow reconstructs, note the node ID numbers on the text-encode nodes you care about, and type them into the selection widget in the order you want them out. Subgraph IDs like 82:78 work here too.
Installation
Standard pack install:
cd path/to/ComfyUI/custom_nodes
git clone https://github.com/hybskgks28275/ComfyUI-hybs-nodes.git
pip install -r ComfyUI-hybs-nodes/requirements.txt
Or "ComfyUI-hybs-nodes" in ComfyUI Manager and restart. No models to download; the pack's only pip dependency is toml, which this node doesn't use.
The judgment call: if your img2img reuse is "I want the prompt back," the basic node is enough and its two outputs are simpler to wire. Go Advance when you're pulling several prompts from one source image and want them as first-class graph values - that's the case the 20 outputs are built for.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | Image from ComfyUI's input folder that contains workflow or prompt metadata. | |
| selection | STRING | [] | Internal prompt node ID list managed by the frontend widget. |
Outputs (21)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | Loaded image. |
| prompt_1 | STRING | Prompt text read from node ID 1. |
| prompt_2 | STRING | Prompt text read from node ID 2. |
| prompt_3 | STRING | Prompt text read from node ID 3. |
| prompt_4 | STRING | Prompt text read from node ID 4. |
| prompt_5 | STRING | Prompt text read from node ID 5. |
| prompt_6 | STRING | Prompt text read from node ID 6. |
| prompt_7 | STRING | Prompt text read from node ID 7. |
| prompt_8 | STRING | Prompt text read from node ID 8. |
| prompt_9 | STRING | Prompt text read from node ID 9. |
| prompt_10 | STRING | Prompt text read from node ID 10. |
| prompt_11 | STRING | Prompt text read from node ID 11. |
| prompt_12 | STRING | Prompt text read from node ID 12. |
| prompt_13 | STRING | Prompt text read from node ID 13. |
| prompt_14 | STRING | Prompt text read from node ID 14. |
| prompt_15 | STRING | Prompt text read from node ID 15. |
| prompt_16 | STRING | Prompt text read from node ID 16. |
| prompt_17 | STRING | Prompt text read from node ID 17. |
| prompt_18 | STRING | Prompt text read from node ID 18. |
| prompt_19 | STRING | Prompt text read from node ID 19. |
| prompt_20 | STRING | Prompt text read from node ID 20. |