This is a subproject of the
SD Prompt Reader.
It helps you extract metadata from images in any format supported by the
SD Prompt Reader and saves the images with
additional metadata to ensure compatibility with metadata detection on websites such as Civitai.
Supported Formats • Installation • Usage • Credits
PNG | JPEG | WEBP | TXT* | |
---|---|---|---|---|
A1111's webUI | ✅ | ✅ | ✅ | ✅ |
Easy Diffusion | ✅ | ✅ | ✅ | |
StableSwarmUI* | ✅ | ✅ | ||
Fooocus-MRE* | ✅ | ✅ | ||
InvokeAI | ✅ | |||
ComfyUI* | ✅ | |||
NovelAI | ✅ | |||
Draw Things | ✅ | |||
Naifu(4chan) | ✅ |
See SD Prompt Reader for details
While ZIP package is available, it is strongly recommended not to use it for installation.
Install and update via ComfyUI Manager (Recommended)
Search for SD Prompt Reader
in the ComfyUI Manager and install it.
Please make sure to install the submodules along with the main repository.
cd
to thecustom_node
folder- Clone this repo
git clone --recursive https://github.com/receyuki/comfyui-prompt-reader-node.git
- Install dependencies
cd comfyui-prompt-reader-node pip install -r requirements.txt
When updating, don't forget to include the submodules along with the main repository.
git pull --recurse-submodules
- The
Prompt Reader
Node works exactly the same as the standalone SD Prompt Reader. It uses the Image Data Reader from the standalone SD Prompt Reader, allowing it to support the same formats and receive updates along with the SD Prompt Reader. - Due to custom nodes and complex workflows potentially causing issues with SD Prompt Reader's ability
to read image metadata correctly, it is recommended to embed the
Prompt Saver
Node within the workflow to ensure maximum compatibility. - For images containing multiple sets of parameters, such as those processed through
hires-fix
orrefiner
, you will need to modify theparameter_index
to select the parameters you need - For images generated by SDXL and containing multiple sets of prompts,
the
text_g
will be combined withtext_l
into a single prompt
-
The
Prompt Saver
Node and TheParameter Generator
Node are designed to be used together. -
The
Prompt Saver
Node will write additional metadata in the A1111 format to the output images to be compatible with any tools that support the A1111 format, including SD Prompt Reader and Civitai. Due to custom nodes and complex workflows potentially causing issues with SD Prompt Reader's ability to read image metadata correctly, it is recommended to embed this node within the workflow to ensure maximum compatibility. -
Since it's not possible to directly extract metadata from
KSampler
, it is necessary to use theParameter Generator
Node to generate parameters and simultaneously output them to both thePrompt Saver
Node andKSampler
. -
Please refer to the following table for placeholders supported by the
filename
andpath
.Placeholder %date %time %counter %seed %steps %cfg %extension %model %sampler %scheduler %quality -
For the
date_format
andtime_format
, please refer to strftime.org or www.strfti.me.
- Since it's not possible to directly extract metadata from
KSampler
, it is necessary to use theParameter Generator
Node to generate parameters and simultaneously output them to both thePrompt Saver
Node andKSampler
. - The
Parameter Generator
Node can also be used as a control panel for complex ComfyUI workflows, just like the AP workflow. - The
model_version
andaspect_ratio
are used only for calculating the optimal resolution of the selected model version under the chosen aspect ratio. The calculation method is based on the Stability AI development documentation and the StableSwarmUI source code (developed by Stability AI). refiner_start
refers to the proportion of steps completed when the refiner starts running, i.e., the proportion of base steps to total steps. This is used to calculate thestart_at_step
(REFINER_START_STEP
) required by the refinerKSampler
under the selected step ratio.
- Since the A1111 format cannot store
text_g
andtext_l
separately, SDXL users need to use thePrompt Merger
Node to combinetext_g
andtext_l
into a single prompt. - Since
model_name
,sampler_name
, andscheduler
are special types that cannot be directly used by some other nodes, You can use theType Converter
Node to convert them intoSTRING
type.
- The SD Prompt Reader node is based on ComfyUI Load Image With Metadata
- The SD Prompt Saver node is based on Comfy Image Saver & Stable Diffusion Webui
- The seed generator in the SD Parameter Generator is modified from rgthree's Comfy Nodes
- A special thanks to @alessandroperilli and his AP Workflow for providing numerous suggestions