From 2321ce5ae47f355096bc21704c09706b06093095 Mon Sep 17 00:00:00 2001
From: receyuki
Date: Mon, 22 Jan 2024 03:07:45 +0800
Subject: [PATCH] Update README.md Update CHANGELOG.md Update example workflow
---
.gitignore | 1 +
CHANGELOG.md | 22 +
README.md | 239 +-
images/example_workflow.png | Bin 429763 -> 0 bytes
images/generator.png | Bin 114128 -> 112798 bytes
images/loader2reader.png | Bin 0 -> 175180 bytes
images/lora.png | Bin 0 -> 40333 bytes
images/lora_loader_chain.png | Bin 0 -> 264680 bytes
images/lora_selector_chain.png | Bin 0 -> 431273 bytes
images/reader2extractor.png | Bin 0 -> 223504 bytes
images/saver.png | Bin 524405 -> 67119 bytes
images/screenshot_v130.png | Bin 0 -> 1001560 bytes
workflows/hires_fix_example.json | 2072 +++++++++++++++++
workflows/hires_fix_example.png | Bin 0 -> 1297140 bytes
workflows/lora_example.json | 1398 +++++++++++
workflows/lora_example.png | Bin 0 -> 736629 bytes
workflows/sdxl_example.json | 1943 ++++++++++++++++
workflows/sdxl_example.png | Bin 0 -> 670730 bytes
...mple_workflow.json => simple_example.json} | 1348 +++++------
workflows/simple_example.png | Bin 0 -> 646984 bytes
20 files changed, 6305 insertions(+), 718 deletions(-)
delete mode 100644 images/example_workflow.png
create mode 100644 images/loader2reader.png
create mode 100644 images/lora.png
create mode 100644 images/lora_loader_chain.png
create mode 100644 images/lora_selector_chain.png
create mode 100644 images/reader2extractor.png
create mode 100644 images/screenshot_v130.png
create mode 100644 workflows/hires_fix_example.json
create mode 100644 workflows/hires_fix_example.png
create mode 100644 workflows/lora_example.json
create mode 100644 workflows/lora_example.png
create mode 100644 workflows/sdxl_example.json
create mode 100644 workflows/sdxl_example.png
rename workflows/{example_workflow.json => simple_example.json} (83%)
create mode 100644 workflows/simple_example.png
diff --git a/.gitignore b/.gitignore
index 976a184..48bf3ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -153,3 +153,4 @@ dmypy.json
cython_debug/
.idea/
+preview/
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 42c1432..8b15cb9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,26 @@
# Change Log
+## v1.3.0
+> Starting from this version, to support auto-detection on Civitai, `calculate_model_hash` will be renamed as
+> `calculate_hash` and it will be enabled by default. Due to the addition of temporary storage of the model hash values,
+> the first image generated after switching to the new model will take more time to calculate the hash value,
+> but it will not affect the generation speed afterwards until the server is restarted.
+
+- Add `Lora Loader` node and `Lora Selector` node
+- Add `VAE_NAME` output to the `Parameter Generator` node and add `vae_name` input to the `Prompt Saver` node #39
+- Add `lora_name` input to the `Prompt Saver` node
+- Add `resource_hash` switch to the `Prompt Saver` node
+- Add resources hashes to metadata for auto-detection on Civitai #35
+- Add temporary storage for model hashes
+- Add `WEB_DIRECTORY` and remove old js directory
+- Fix adding the `Parameter Generator` node to a workflow disables the queue button #45
+- Fix the `Parameter Generator` node doesn't load seed value from generated images #44
+- Fix the input validation of the `Batch Loader` node #37 #38
+- Fix the parsing error caused by the loss of model data #43
+- Fix the error message caused by aspect_ratio
+- Rename `calculate_model_hash` as `calculate_hash`
+- Update seedGen.js to rgthree's latest code
+- Update core to cc3c8b2
+
## v1.2.1
- Fix the input validation of the `Prompt Reader` node #37
- Fix the `Batch Loader` node not working when not connected to any node
diff --git a/README.md b/README.md
index ead9a4b..b014bf1 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ additional metadata to ensure compatibility with metadata detection on websites
Change Log •
Credits
-
+
@@ -66,6 +66,10 @@ git pull --recurse-submodules
## Usage
### Prompt Reader Node
+
+

+
+
- The `Prompt Reader` Node works exactly the same as the
[standalone SD Prompt Reader](https://github.com/receyuki/stable-diffusion-prompt-reader).
It uses the Image Data Reader from the
@@ -74,13 +78,30 @@ allowing it to support the same formats and receive updates along with the
[SD Prompt Reader](https://github.com/receyuki/stable-diffusion-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.
+to ensure maximum compatibility.
+
+ More Information
+
+#### `parameter_index`
- For images containing multiple sets of parameters, such as those processed through `hires-fix` or `refiner`,
you will need to modify the `parameter_index` to select the parameters you need
+#### SDXL
- For images generated by SDXL and containing multiple sets of prompts,
the `text_g` will be combined with `text_l` into a single prompt
-- For batch processing, please use the `Batch Loader` node.
+#### Batch Read
+- For batch processing, please use the `Batch Loader` node. When using the `Batch Loader` node for bulk reading,
+the preview image will not update, and the text box will only display the metadata of the last image.
+
+

+
+
+#### Additional Parameters
- To read parameters other than the existing output, please connect the `settings` to the `Parameter Extractor` node.
+
+

+
+
+#### `MODEL_NAME`
- `MODEL_NAME` is a special output that matches the model name in the metadata with the existing models on the server
according to the following priority:
1. Identical path, filename, and extension.
@@ -90,108 +111,198 @@ e.g. `sd_xl_base.safetensors` will be matched with `SDXL\sd_xl_base.safetensors`
e.g. `sd_xl_base` will be matched with `SDXL\sd_xl_base.safetensors`, and vice versa.
4. If a matching model cannot be found, the original name will be outputted.
-
-

-
+
### Prompt Saver Node
-- The `Prompt Saver` Node and The `Parameter 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 the `Parameter Generator` Node to generate parameters and simultaneously output them to both
-the `Prompt Saver` Node and `KSampler`.
-- Please refer to the following table for placeholders supported by the `filename` and `path`.
-
- | Placeholder |
- |-------------|
- | %date |
- | %time |
- | %counter |
- | %seed |
- | %steps |
- | %cfg |
- | %extension |
- | %model |
- | %sampler |
- | %scheduler |
- | %quality |
-- `%counter` cannot be used for the `path`. This `%counter` is slightly different from the `%counter`
-in the built-in Saver node, it will count all image files in the `path`.
-- When the filename already exists, an index will be added at the end of the filename,
-e.g. `file.png, file_1.png, file_2.png`.
-- For the `date_format` and `time_format`, please refer to
-[strftime.org](https://strftime.org/) or [www.strfti.me](https://www.strfti.me/).
-- When the `save_metadata_file` is turned on, the metadata will be saved as a TXT file with the same name
-alongside the image.
-
-## Parameter Generator Node
-- Since it's not possible to directly extract metadata from `KSampler`, it is necessary to
-use the `Parameter Generator` Node to generate parameters and simultaneously output them to both
-the `Prompt Saver` Node and `KSampler`.
-- The `Parameter Generator` Node can also be used as a control panel for complex ComfyUI workflows, just like the [AP workflow](https://perilli.com/ai/comfyui/).
-- The `model_version` and `aspect_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](https://platform.stability.ai/docs/features/api-parameters#about-dimensions)
-and the [StableSwarmUI source code](https://github.com/Stability-AI/StableSwarmUI) (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 the `start_at_step` (`REFINER_START_STEP`)
-required by the refiner `KSampler` under the selected step ratio.
+- The `Prompt Saver` Node and the `Parameter 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's recommended to embed this node within the workflow
+to ensure maximum compatibility.
+- Since it's not possible to directly extract metadata from `KSampler`, it's necessary to
+use the `Parameter Generator` Node to generate parameters and simultaneously output them to
+the `Prompt Saver` Node and `KSampler` Node.
+
+ More Information
+
+#### Duplicate Filename
+- When the filename already exists, an index will be added at the end of the filename,
+e.g. `file.png, file_1.png, file_2.png`.
+#### Hashes & Auto-Detection on Civitai
+- When `calculate_hash` is enabled, the node will compute the hash values of checkpoint, VAE, Lora,
+and embedding/Textual Inversion, and write them into the metadata. After the server restarts, or a new checkpoint,
+VAE, Lora, or embedding/Textual Inversion is loaded, the first image generation may take a longer time for hash calculation.
+The hash value will be stored in temporary storage without the need for repeated calculation,
+until the server is restarted.
+- When `resource_hash` is enabled, the resource hashes will be written into the metadata to support auto-detection
+on Civitai. This function will only run when `calculate_hash` is enabled.
+- If you need to calculate the hash of Lora, please use the `Lora Loader` Node or the `Lora Selector` Node.
+The hash value of the embedding/Textual Inversion will be automatically detected from the prompt.
+#### `save_metadata_file`
+- When the `save_metadata_file` is turned on, the metadata will be saved as a TXT file with the same name
+alongside the image.
+#### `date_format` & `time_format`
+- For the `date_format` and `time_format`, please refer to
+[strftime.org](https://strftime.org/) or [www.strfti.me](https://www.strfti.me/).
+#### `filename` & `path`
+- `%counter` cannot be used for `path`, it can only be used for `filename`. This `%counter` is slightly different
+from the `%counter` in the built-in `Saver` node, it will count all image files in the `path`.
+- Please refer to the following table for placeholders supported by the `filename` and `path`.
+
+ | | |
+ |------------|------------|
+ | %seed | %date |
+ | %steps | %time |
+ | %cfg | %counter |
+ | %model | %extension |
+ | %sampler | %quality |
+ | %scheduler | |
+
+
+
+### Parameter Generator Node
+- Since it's not possible to directly extract metadata from `KSampler`, it's necessary to
+use the `Parameter Generator` Node to generate parameters and simultaneously output them to both
+the `Prompt Saver` Node and `KSampler` Node.
+- The `Parameter Generator` Node can also be used as a control panel for complex ComfyUI workflows, just like the [AP workflow](https://perilli.com/ai/comfyui/).
+
+ More Information
+
+#### Optimal Resolution
+- The `model_version` and `aspect_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](https://platform.stability.ai/docs/features/api-parameters#about-dimensions)
+and the [StableSwarmUI source code](https://github.com/Stability-AI/StableSwarmUI) (developed by Stability AI).
+#### `refiner_start`
+- `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 the `start_at_step` (`REFINER_START_STEP`)
+required by the refiner `KSampler` under the selected step ratio.
+
+
+
### Batch Loader Node
+
+

+
+
- The `Batch Loader` Node is specifically designed for the `Prompt Reader` Node to batch-read image files in a directory
and cannot be used with other custom nodes.
+
+ More Information
+
- For batch processing, please connect the `IMAGE` output of the `Batch Loader` Node to the `image` input of
the `Prompt Reader` Node.
+
+

+
+
+#### `path`
- The `path` supports relative paths such as `./input/` or absolute paths like `C:/Users/receyuki/Pictures`.
- Both `\ ` and `/` are acceptable.
- You can also input a single file or a list of files into the `path`,
in which case the `image_load_limit` and `start_index` will not function.
-
-

-
+
### Parameter Extractor Node
-- The `Parameter Extractor` Node is an extension of the `Prompt Reader` Node, designed to retrieve the values
-of all parameters in the settings (including those parameters that the `Prompt Reader` Node cannot output).
-e.g. `Hires upscaler`
-- Connect the `SETTINGS` of the `Prompt Reader` Node to the `settings` of the `Parameter Extractor` Node.
-After the first run, the parameter list will be loaded.
-
+- The `Parameter Extractor` Node is an extension of the `Prompt Reader` Node, designed to retrieve the values
+of all parameters in the settings (including those parameters that the `Prompt Reader` Node cannot output).
+e.g. `Hires upscaler`
+
+ More Information
+
+- Connect the `SETTINGS` of the `Prompt Reader` Node to the `settings` of the `Parameter Extractor` Node.
+After the first run, the parameter list will be loaded.
+
+

+
+
+
### Prompt Merger Node & Type Converter Node
+
+

+
+
- Since the A1111 format cannot store `text_g` and `text_l` separately, SDXL users need to use
the `Prompt Merger` Node to combine `text_g` and `text_l` into a single prompt.
- Since `model_name`, `sampler_name`, and `scheduler` are special types
that cannot be directly used by some other nodes,
You can use the `Type Converter` Node to convert them into `STRING` type.
+### Lora Loader Node & Lora Selector Node
-

+
-### [Example Workflow](https://raw.githubusercontent.com/receyuki/comfyui-prompt-reader-node/main/workflows/example_workflow.json)
+- The `Lora Loader` Node and `Lora Selector` Node are used to write Lora data into metadata and support auto-detection
+on Civitai.
+
+ More Information
+- Replace the original loader with the `Lora Loader` Node, or connect the `LORA_NAME` output of the `Lora Selector` Node
+to the `lora_name` input of other lora loaders (built-in or custom), and link the `NEXT_LORA` output to the `lora_name`
+input of the `Prompt Saver` Node. Both of these nodes have the same function, please choose according to your needs.
+#### Multiple Loras
+- If you need to load multiple Loras, please connect the `Lora Loader` Node or `Lora Selector` Node head to tail
+through `last_lora` and `NEXT_LORA`, and connect the `NEXT_LORA` at the end of the Lora chain to the `lora_name` input
+of the `Prompt Saver` Node.
+1. Lora Loader chain
-

+
+2. Lora Selector chain
+
+

+
+
+
+
+### Example Workflow
+
+ Simple Example
+
+

+
+
+
+
+ Lora Example
+
+

+
+
+
+
+ Hires-fix Example
+
+

+
+
+
+
+ SDXL Example
+
+

+
+
+
+
## Credits
- The SD Prompt Reader node is based on [ComfyUI Load Image With Metadata](https://github.com/tkoenig89/ComfyUI_Load_Image_With_Metadata)
- The SD Prompt Saver node is based on [Comfy Image Saver](https://github.com/giriss/comfy-image-saver) & [Stable Diffusion Webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
diff --git a/images/example_workflow.png b/images/example_workflow.png
deleted file mode 100644
index d1499dd8f337ae865de53151738f449efae3a97c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 429763
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