feat: add AODH Image Saver (Metadata), Lora Selector, Checkpoint Selector, and various node improvements
This commit is contained in:
77
README.md
77
README.md
@@ -12,8 +12,9 @@ The **Character JSON Reader** node allows you to load character definitions from
|
||||
- **Automatic File Discovery**: Scans the `nodes/character_reader/characters/` folder for `.json` files.
|
||||
- **Selection Modes**:
|
||||
- `manual`: Select a specific file from the dropdown.
|
||||
- `sequential`: Cycles through files based on the `index` input.
|
||||
- `random`: Picks a random file using the `index` as a seed.
|
||||
- `sequential`: Cycles through files, starting from the selected file.
|
||||
- `random`: Picks a random file. Uses a fresh random seed on every execution.
|
||||
- **Repeat Count**: Keeps the same selection for a specified number of executions before changing.
|
||||
- **Structured Outputs**: Provides 21 distinct output pins covering identity, wardrobe, and style.
|
||||
- **Prompt-Ready Formatting**: Automatically appends a comma to every non-empty output string.
|
||||
- **Robustness**: Ensures all outputs are valid strings, even if fields are missing from the JSON.
|
||||
@@ -24,11 +25,77 @@ The **Resolution Reader** node reads resolution configurations from text files.
|
||||
|
||||
#### Features:
|
||||
- **Selection Modes**:
|
||||
- `manual`: Uses the first line of the selected file.
|
||||
- `sequential`: Cycles through lines in the file based on the `index` input.
|
||||
- `random`: Picks a random line from the file using the `index` as a seed.
|
||||
- `manual`: Uses the selected line from the dropdown.
|
||||
- `sequential`: Cycles through lines in the file, starting from the selected line.
|
||||
- `random`: Picks a random line from the file. Uses a fresh random seed on every execution.
|
||||
- **Repeat Count**: Keeps the same selection for a specified number of executions before changing.
|
||||
- **Outputs**: Provides `width` (INT), `height` (INT), and `upscale` (FLOAT).
|
||||
|
||||
### Lora Selector
|
||||
|
||||
The **Lora Selector** node allows you to select a folder of Lora files (from `ComfyUI/models/Lora/Illustrious/`) and pick one `.safetensors` file at a time, either randomly or sequentially.
|
||||
|
||||
#### Features:
|
||||
- **Folder Selection**: Scans `ComfyUI/models/Lora/Illustrious/` for subdirectories.
|
||||
- **Selection Modes**:
|
||||
- `Random`: Picks a random Lora from the folder. Uses a fresh random seed on every execution.
|
||||
- `Sequential`: Cycles through the Lora files in the folder, starting from the `manual_index`.
|
||||
- `Manual`: Selects the Lora at the specified `manual_index`.
|
||||
- **Repeat Count**: Keeps the same selection for a specified number of executions before changing.
|
||||
- **Manual Index**: Specifies the starting index for `Sequential` mode or the specific index for `Manual` mode.
|
||||
- **Outputs**:
|
||||
- `lora_name` (STRING): The relative path to the selected Lora.
|
||||
- `total_loras` (INT): The total number of Lora files in the selected folder.
|
||||
|
||||
### Checkpoint Selector
|
||||
|
||||
The **Checkpoint Selector** node allows you to select a folder of Checkpoint files (from `ComfyUI/models/Stable-diffusion/`) and pick one `.safetensors` or `.ckpt` file at a time, either randomly or sequentially.
|
||||
|
||||
#### Features:
|
||||
- **Folder Selection**: Scans `ComfyUI/models/Stable-diffusion/` (and other checkpoint paths) for subdirectories.
|
||||
- **Selection Modes**:
|
||||
- `Random`: Picks a random Checkpoint from the folder. Uses a fresh random seed on every execution.
|
||||
- `Sequential`: Cycles through the Checkpoint files in the folder, starting from the `manual_index`.
|
||||
- `Manual`: Selects the Checkpoint at the specified `manual_index`.
|
||||
- **Repeat Count**: Keeps the same selection for a specified number of executions before changing.
|
||||
- **Manual Index**: Specifies the starting index for `Sequential` mode or the specific index for `Manual` mode.
|
||||
- **Outputs**:
|
||||
- `checkpoint_name` (STRING): The relative path to the selected Checkpoint.
|
||||
- `total_checkpoints` (INT): The total number of Checkpoint files in the selected folder.
|
||||
|
||||
### Checkpoint Loader (From String)
|
||||
|
||||
The **Checkpoint Loader (From String)** node loads a checkpoint model using a string input (e.g., from the **Checkpoint Selector** node).
|
||||
|
||||
#### Inputs:
|
||||
- `ckpt_name` (STRING): The name/path of the checkpoint to load.
|
||||
|
||||
#### Outputs:
|
||||
- `MODEL`: The loaded model.
|
||||
- `CLIP`: The loaded CLIP model.
|
||||
- `VAE`: The loaded VAE model.
|
||||
|
||||
### AODH Image Saver (Metadata)
|
||||
|
||||
The **AODH Image Saver (Metadata)** node saves images with comprehensive metadata in both A1111-compatible and extended ComfyUI formats.
|
||||
|
||||
#### Features:
|
||||
- **Dynamic Directory Support**: Specify a `save_directory` with support for date formatting:
|
||||
- `date:yyyy-MM-dd`: Replaces with formatted date (e.g., `2024-05-20`).
|
||||
- Standard `strftime` patterns like `%Y-%m-%d`.
|
||||
- **Comprehensive Metadata**: Embeds prompt, sampling parameters, model info, and LoRA details.
|
||||
- **LoRA Handling**: Automatically strips directory paths from LoRA names for cleaner metadata.
|
||||
- **Image Pass-through**: Includes an image output pin to continue the workflow after saving.
|
||||
|
||||
#### Inputs:
|
||||
- `images` (IMAGE): The images to save.
|
||||
- `filename_prefix` (STRING): The prefix for the saved files.
|
||||
- `save_directory` (STRING): The folder to save images in (defaults to current date).
|
||||
- Various optional metadata fields (prompts, checkpoint, lora, etc.).
|
||||
|
||||
#### Outputs:
|
||||
- `images` (IMAGE): The input images passed through.
|
||||
|
||||
#### JSON Structure:
|
||||
|
||||
Place your character JSON files in the `nodes/character_reader/characters/` directory. The expected format is:
|
||||
|
||||
Reference in New Issue
Block a user