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