English | 日本語 | 繁体中文 - Top - Node / Image Node / Text Node / XYPlot Node / Float Palet - Workflow # D2 Nodes ComfyUI **D2 Nodes ComfyUI** is a collection of custom nodes created with the themes of "slightly convenient," "simple," and "maintaining versatility." - Versatile XY Plot - Workflow that automatically switches quality tags based on Checkpoint lineage - Queue button with customizable batch count - Various other "slightly convenient nodes" ## :exclamation: NOTICE ### Unnecessary Custom Nodes If you have installed any of the following custom nodes previously, please remove them: - [ComfyUI-d2-size-selector](https://github.com/da2el-ai/ComfyUI-d2-size-selector) - [ComfyUI-d2-steps](https://github.com/da2el-ai/ComfyUI-d2-steps) - [ComfyUI-d2-xyplot-utils](https://github.com/da2el-ai/ComfyUI-d2-xyplot-utils) ## :tomato: Nodes - `D2 KSampler / D2 KSampler(Advanced)` - KSampler that inputs and outputs prompts as STRING - `D2 Pipe` - A node for modifying and retrieving the d2_pipe used in D2 XYPlot Easy, D2 KSampler, and D2 Send Eagle ### Loader - `D2 Checkpoint Loader` - Checkpoint Loader that outputs full model file paths - `D2 Controlnet Loader` - Controlnet Loader that creates simple workflows when connected to D2 KSampler - `D2 Load Lora` - Lora loader that can be specified with text ### Size - `D2 Get Image Size` - Displays and retrieves image sizes - `D2 Size Slector` - Image size and Empty latent output node with preset selection - Can also get size from images - `D2 Image Resize` - Image resize with precision up to 3 decimal places - Options for rounding, floor, or ceiling - `D2 Resize Calculator` - Image size calculator that ensures results are multiples of 8 - Options for rounding, floor, or ceiling ### Refiner - `D2 Refiner Steps` - Outputs steps for Refiner - `D2 Refiner Steps A1111` - Can specify denoise for Refiner in img2img - `D2 Refiner Steps Tester` - Node for checking steps ### Merge Node - `D2 Model and CLIP Merge SDXL` - A node that combines ModelMergeSDXL and CLIPMergeSimple ### Text - `D2 Regex Replace` - Text replacement node with multiple condition support - `D2 Regex Switcher` - Node that switches output text based on input text - Can also perform string concatenation - `D2 Multi Output` - Outputs SEED / STRING / INT / FLOAT as lists - `D2 List To String` - Converts arrays to strings - `D2 Filename Template` - Creates filenames - `D2 Delete Comment` - Delete comments from text - `D2 Token Counter` - Counts tokens in prompts ### Image - `D2 Load Image` - Load Image that can extract prompts from images - Compatible with images created in StableDiffusion webui A1111 and NovelAI - Includes a button to open mask editor - `D2 Load Folder Images` - Loads all images from a folder - `D2 Folder Image Queue` - Sequentially outputs image paths from a folder - Automatically executes queue for all images - `D2 Grid Image` - Generates grid images - `D2 Image Stack` - Node for stacking multiple images to pass to D2 Grid Image - Outputs images directly - `D2 EmptyImage Alpha` - Outputs EmptyImage with alpha channel (transparency) ### XY Plot - `D2 XY Plot Easy` - A simplified XY Plot node limited to D2 KSampler parameters, designed for streamlined workflow - `D2 XY Plot` - Versatile XY Plot node - Automatically executes required number of queues - `D2 XY Grid Image` - Node for generating grid images - `D2 XY Prompt SR` - Searches and replaces text, returns as list. Placed before D2 XY Plot - `D2 XY Prompt SR2` - Searches and replaces text, returns as list. Placed after D2 XY Plot - `D2 XY Seed` - Outputs list of SEEDs - `D2 XY Seed2` - Outputs a list of SEEDs with specified count - `D2 XY Checkpoint List` - Outputs list of Checkpoints - `D2 XY Lora List` - Outputs list of Loras - `D2 XY Model List` - Outputs a list of Checkpoints / Loras - `D2 XY Folder Images` - Outputs list of files in folder - `D2 XY Annotation` - Creates header text for display in D2 Grid Image - `D2 XY List To Plot` - Converts arrays to D2 XY Plot lists - `D2 XY String To Plot` - Converts text containing line breaks into a list format for `D2 XY Plot` ### Float Palet - `D2 Queue Button` - Button that generates specified number of images (Batch count) - `Prompt convert dialog` - Dialog for converting weights between NovelAI and StableDiffusion ## :blossom: Changelog **2025.03.31** - `D2 Token Counter`: Newly added **2025.03.25** - Added comment shortcut key (ctrl + /) - `D2 XYPlot Easy Mini`: Added a version of `D2 XYPlot Easy` with limited output slots **2025.03.23** - `D2 Delete Comment`: Newly added - `D2 Load Lora`: Added option to enable the use of A1111 format - `D2 Model List`: Added option to retrieve in A1111 format **2025.02.27** - `D2 Load Lora`: Newly added - `D2 Multi Output`: Added x_list/ylist output **2025.02.23** - `D2 Model and CLIP Merge SDXL`: Added checkpoint merge nodes **2025.01.20** - `D2 XY Seed2`: Added new node - `D2 XY Plot / D2 XY Plot Easy`: Added ability to specify XY plot starting position - `D2 XY Plot / D2 XY Plot Easy`: Added estimated time remaining display for XY plots - `D2 Regex Replace`: Added support for using whitespace in replacement strings **2024.12.28** - `D2 Pipe`: Added new node - `D2_KSampler / D2_XYPlotEasy`: Changed xy_pipe name to d2_pipe **2024.12.18** - `D2 Filename Template`: Added new node - `D2 Grid Image`: Added the ability to specify the grid image output trigger by the number of images **2024.12.16** - `D2 XY String To Plot`: Added new node - `D2 XY Grid Image`: Added support for line breaks in labels - `D2 XY Grid Image`: Added option to toggle label output - `D2 XY Prompt SR`: Added support for text containing line breaks - `D2 XY Plot Easy`: Modified to record random values in `x/y_annotation` when `-1` is specified for seed **2024.12.14** - `D2 KSampler`: Added `xy_pipe` for connection with `D2 XY Plot Easy` - `D2 Grid Image`: Added `grid_pipe` for connection with `D2 XY Plot` and `D2 XY Plot Easy` - `D2 XY Plot Easy`: Newly added - `D2 XY Model List`: Added filename and date sorting. Added support for retrieving Sampler and Scheduler lists **2024.12.05** - Added Conditioning output to `D2 KSampler` / `D2 KSampler` **2024.11.27** - Added new `D2 Preview Image` **2024.11.23** - Added new `D2 Model List` **2024.11.21** - `D2 Checkpoint Loader`: Added settings for Vpred (v_prediction) - `D2 Image Resize`: Modified to enable Latent output **2024.11.20** - `D2 Image Resize`: Added support for upscale models (like SwinIR_4x) **2024.11.18** - Added many nodes at once - Added `D2 Controlnet Loader`, `D2 Get Image Size`, `D2 Grid Image`, `D2 Image Stack`, `D2 List To String`, `D2 Load Folder Images` - Added XY Plot related nodes - Added `D2 XY Annotation`, `D2 XY Checkpoint List`, `D2 XY Folder Images`, `D2 Grid Image`, `D2 XY List To Plot`, `D2 XY Lora List`, `D2 XY Plot`, `D2 XY Prompt SR`, `D2 XY Prompt SR2`, `D2 XY Seed` - Existing nodes have also been modified, see commit history for details **2024.11.02** - `D2 Regex Switcher`: Added toggle for input text confirmation textarea **2024.10.28** - Added `Prompt convert`: Dialog for converting prompts between NovelAI and StableDiffusion - `D2 Folder Image Queue`: Fixed issue where image generation count was inconsistent **2024.10.26** - Added new `D2 EmptyImage Alpha` - Added new `D2 Image Resize` - Added new `D2 Resize Calculator`
2024.10.24 - Added new `D2 Regex Replace` - Added new `D2 Folder Image Queue` - `D2 Load Image`: Added image path input - `D2 KSampler(Advanced)`: Added Positive / Negative Conditioning to Input
2024.10.19 - Added `D2 Queue Button`
2024.10.18 - `D2 Size Selector`: Added ability to get size from images - `D2 Size Selector`: Added option to choose between "rounding" and "floor" for resizing
2024.10.14 - `D2 Load Image`: Fixed error when loading images without Exif data (e.g., pasted from clipboard)
2024.10.11 - `D2 Regex Switcher`: Added ability to specify separator character for string concatenation
2024.10.10 - `D2 Load Image`: Added "Open Mask Editor" button
2024.10.08 - Added new `D2 Load Image`
2024.10.03 - `D2 Regex Switcher`: Fixed bug where matches were being passed through without processing
2024.10.02 - Created by integrating existing nodes