Files
da2el-ai-D2-nodes-ComfyUI/docs/en/node.md
T

18 KiB

English | 日本語 | 繁体中文

Node

🍅 Sampler Nodes

D2 KSampler / D2 KSampler(Advanced)

  • KSampler that can input prompts as STRING

Input

  • cnet_stack
    • For connecting to D2 Controlnet Loader
  • model / clip / vae / ..etc
    • Same as standard KSampler
  • negative / positive
    • Prompts in STRING format

Output

  • IMAGE
    • Image output
  • positive / negative
    • Input passthrough

D2 Pipe

  • A node for modifying and extracting the contents of d2_pipe
  • d2_pipe is used to pass parameters collectively in nodes such as D2 XY Plot Easy, D2 KSampler, and D2 Send Eagle

🍅 Loader Node

D2 Checkpoint Loader

  • A Checkpoint Loader that outputs the full path of model files
  • Can automatically apply v_prediction settings when the filename contains "vpred"

Input

  • ckpt_name
    • Checkpoint name
  • auto_vpred
    • true: Automatically applies v_prediction settings if the filename contains "vpred"
  • sampling / zsnr
    • Same settings as ModelSamplingDiscrete (details unknown)
  • multiplier
    • Same settings as RescaleCFG (details unknown)

Output

  • model / clip / vae
    • Same as the conventional CheckpointLoader.
  • ckpt_name / ckpt_hash / ckpt_fullpath
    • Checkpoint name, hash, and full path.

D2 Controlnet Loader

  • Controlnet Loader that creates simple workflows when connected to D2 KSampler

Input

  • cnet_stack
    • For connecting to D2 Controlnet Loader

Output

  • cnet_stack
    • For connecting to D2 KSampler or D2 Controlnet Loader

🍅 Image Node

D2 Preview Image

  • Click the Popup Image button to display the full-screen gallery

D2 Load Image

  • Load Image node that can extract prompts from images
  • Compatible with images created in StableDiffusion webui A1111 and NovelAI
  • Includes a button to open mask editor

Input

  • image_path
    • Loads file when image path is input
    • Used for connection with D2 Folder Image Queue

Output

  • IMAGE / MASK
    • Image and mask
  • width / height
    • Image size
  • positive / negative
    • Prompts

Note: Prompts may not be retrievable depending on workflow configuration. For example, they cannot be retrieved without a node containing the string "KSampler" (e.g., Tiled KSampler).


D2 Load Folder Images

  • Batch loads and outputs images from a folder
  • Used with D2 Grid Image etc.
  • Use D2 Folder Image Queue for sequential processing

Input

  • folder
    • Specify folder in full path
  • extension
    • Specify like *.jpg to load only JPEG images
    • Can also specify patterns like *silver*.webp

D2 Folder Image Queue

  • Outputs paths of images in a folder
  • Automatically executes Queue for the number of images when Queue is run

Input

  • folder
    • Image folder
  • extension
    • Specify file name filter
    • *.*: All images
    • *.png: PNG format only
  • start_at
    • Image number to start processing
  • auto_queue
    • true: Automatically execute remaining Queues
    • false: Execute only once

Output

  • image_path
    • Full path of image

D2 Grid Image

  • Outputs grid images
  • Supports both horizontal and vertical alignment

Input

  • max_columns
    • Number of images to align horizontally
    • When swap_dimensions is true, this becomes the number of vertical images
  • grid_gap
    • Spacing between images
  • swap_dimensions
    • true: Vertical alignment
    • false: Horizontal alignment
  • trigger_count
    • Outputs grid image when the number of input images reaches this specified value
  • Image count
    • Number of input images
  • Reset Images
    • Discards all input images

D2 Image Stack

  • Outputs multiple input images together
  • Can input up to 50 images

Input

  • image_count
    • Can increase/decrease number of inputs. Maximum 50

D2 EmptyImage Alpha

  • Adds alpha channel (transparency) to EmptyImage

🍅 Size Node

D2 Get Image Size

  • Both outputs and displays size

D2 Size Selector

  • Node for selecting image size from presets
  • Can also get size from images
  • Rounding method can be selected from Ceil / Float / None

Input

  • images
    • Used when getting size from images
    • preset must be set to custom
  • preset
    • Size presets
    • Must be set to custom when using width height below or image sizes
    • Edit /custom_nodes/D2-nodes-ComfyUI/config/sizeselector_config.yaml to modify presets
  • width / height
    • Width/height dimensions
    • preset must be set to custom
  • swap_dimensions
    • Swap width/height
  • upscale_factor
    • Value passed to other resize nodes. Does nothing in this node
  • prescale_factor
    • Output width/height after resizing by this factor
  • round_method
    • Round: Round to nearest
    • Floor: Round down
    • None: No rounding
  • batch_size
    • Batch size to set for empty_latent

Output

  • width / height
    • Input width, height multiplied by prescale_factor
  • upscale_factor / prescale_factor
    • Passthrough of input
  • batch_size
    • Passthrough of input
  • empty_latent
    • Outputs latent created with specified size and batch size

D2 Image Resize

  • Simple image resizing
  • Precision up to 3 decimal places
  • Can select rounding, floor, or ceiling
  • Capable of upscaling using upscale models
  • Latent output is also possible (requires VAE)

D2 Resize Calculator

  • Can select rounding, floor, or ceiling

🍅 Text Node

D2 Regex Replace

  • Can replace using regular expressions
  • Multiple conditions can be specified
  • Supports reuse of regex match strings (e.g., \1, \2)
  • Target string can be specified by "tag unit" or "whole"

Input

  • text
    • Target string for search
  • mode
    • Tag: Break down text by newlines and "," and replace individually
    • Advanced: Replace text as a whole
  • regex_and_output
    • List of search strings and output strings
    • Write in following format
    • If output string is empty, matched part is deleted
    • No limit on number of entries
Search string 1
--
Output string 1
--
Search string 2
--
Output string 2

Output

  • text
    • Text after replacement

Sample

Sample for removing Pony series quality tags.

Mode: Tag

Input text

score_9, score_8_up, (score_7_up, score_6_up:0.8) , rating_explicit, source_anime, BREAK
1girl, swimsuit

Regex Replace

.*(score_|rating_|source_).*
--
--
BREAK
--

Output text

1girl, swimsuit

D2 Regex Switcher

  • Searches input text with regex and outputs matching text
  • Main purpose is switching quality tags per Checkpoint
  • When matching string is found in input text, outputs target string and match index (starting from 0)
  • Can concatenate strings at front and back

Input

  • text
    • Search target string
  • prefix
    • String to concatenate at front
  • suffix
    • String to concatenate at back
  • regex_and_output
    • List of search strings and output strings
    • Write in following format
  • pre_delim
    • Character inserted between prefix and regex_and_output
    • Comma: , / Line break: newline / None: nothing
  • suf_delim
    • Character inserted between regex_and_output and suffix

Output

  • combined_text
    • String combining prefix + output string + suffix
  • prefix / suffix
    • Input passthrough

D2 Multi Output

  • Node that outputs generic parameters like seed and cfg as lists

Input

  • type
    • FLOAT: Floating point numbers. For CFG etc.
    • INT: Integers. For steps etc.
    • STRING: Strings. For sampler etc.
    • SEED: Can input seed values with random number button
  • Add Random
    • Adds random numbers to input field
    • Only shown when type is SEED

D2 Filename Template

  • A node for creating filenames
  • Can incorporate external elements

Input

  • arg_1 arg_2 arg_3
    • Import values from other nodes
  • format
    • %date:{yyyy/MM/dd/hh/mm/ss}%
      • yyyy: Year
      • MM: Month
      • dd: Day
      • hh: Hour
      • mm: Minute
      • ss: Second
    • %node:{id}.{key}%
      • Retrieves values by specifying node ID and item name
      • Example: %node:8.width%: Get width from node ID 8
    • %arg_1% (same for 2 and 3)
      • Embed input values
    • %arg_1:ckpt_name% (same for 2 and 3)
      • Embed checkpoint name with .safetensors removed

Example

%date:yyyyMMdd-hhmmss%_%arg_1:ckpt_name%
👇
20241219-021926_obsessionIllustrious_v31

🍅 XY Plot Node

D2 XY Plot Easy

  • A node that creates XY Plots with simplified workflow limited to KSampler parameters

Input

  • positive / negative / seed / steps / cfg / sampler_name / scheduler / denoise
    • Settings to pass to KSampler
  • ckpt_name
    • Setting to pass to D2 Checkpoint Loader
  • x_type / y_type
    • Specify items to execute in XY Plot
    • When STRING, INT, or FLOAT is specified, output will be from x_other, y_other
  • x_list / y_list
    • XY Plot modification contents
    • Since it's newline-separated text, input from other nodes is possible
  • auto_queue
    • true: Automatically executes Queue the required number of times
    • false: Manually execute Queue
  • Reset index
    • Reset index with this button when stopped midway

Output

  • xy_pipe
    • Collectively outputs parameters used in D2 KSampler
  • grid_pipe
    • Collectively outputs parameters x_annotation y_annotation status used in D2 Grid Image
  • positive / negative / seed / steps / cfg / sampler_name / scheduler / denoise
    • Parameters to pass to KSampler
  • ckpt_name
    • Setting to pass to D2 Checkpoint Loader
  • x_other / y_other
    • Outputs from here when x_type y_type is set to STRING INT FLOAT
  • x_annotation / y_annotation
    • Header text to connect to D2 XY Grid Image
  • status
    • Control signal to connect to D2 XY Grid Image
  • index
    • Current processing count

D2 XY Plot

  • Node for creating versatile XY Plot workflows
  • X/Y inputs are simple newline-separated text for easy combination with other nodes

Input

  • x_type / y_type
    • Specify data type of x_list y_list from STRING INT FLOAT
  • x_title / y_title
    • Text to add to header text
  • x_list / y_list
    • XY Plot change contents
    • Newline-separated text that can be input using other nodes
  • auto_queue
    • true: Automatically execute required number of Queues
    • false: Manually execute Queue
  • Reset index
    • Reset index with this button when stopped midway

Output

  • X / Y
    • Elements retrieved from x_list y_list
  • x_annotation / y_annotation
    • Header text to connect to D2 XY Grid Image
  • status
    • Control signal to connect to D2 XY Grid Image
  • index
    • Current processing count

D2 XY Grid Image

  • Grid image creation node used with D2 XY Plot

Input

  • x_annotation / y_annotation
    • Header text for grid image
  • status
    • Control text from D2 XY Plot
    • INIT: Initialize
    • FINISH: Output grid image
    • {empty string}: Other states
  • font_size
    • Header text font size
  • grid_gap
    • Gap between images
  • swap_dimensions
    • true: Vertical grid
    • false: Horizontal grid
  • grid_only
    • true: Output only grid image
    • false: Output individual images too

D2 XY Prompt SR

  • Search and replace input text to pass to D2 XY Plot
  • Can output as list

Input

  • prompt
    • Prompt. Can include newlines
  • search_txt
    • Search target text. Can include multiple words
    • Cannot use newlines
  • replace
    • Replacement text
    • OK to include "," as it's separated by newlines

Output

  • x / y_list
    • Connect to D2 XY Plot
  • LIST
    • Output replaced text as list

D2 XY Prompt SR2

  • Search and replace prompts received from D2 XY Plot before passing to KSampler
  • Use this to recreate Stable Diffusion webui A1111's Prompt S/R

Input

  • x_y
    • Replacement text received from D2 XY Plot
  • prompt
    • Target text for replacement
  • search
    • Search text. Can include multiple words
    • Cannot use newlines

D2 XY Seed

  • Outputs random number when -1 is specified
  • Other numbers are output as-is
  • Must set x/y_type to INT on D2 XY Plot side

D2 XY Seed2

  • A node that outputs a specified number of seed values

input

  • initial_number
    • This value is used as a reference when mode is set to increment, decrement, or fixed
  • count
    • Number of seed values to generate
  • mode
    • fixed: Outputs only the initial_number
    • increment: Adds 1 to initial_number for each value
    • decrement: Subtracts 1 from initial_number for each value
    • randomize: Outputs random numbers regardless of initial_number

D2 XY Checkpoint List / D2 XY Lora List

  • Node to pass Checkpoint/Lora to D2 XY Plot
  • Can specify up to 50

D2 XY Model List

  • A node that passes Checkpoint/Lora to D2 XY Plot
  • Useful when you want to get a large list of models but don't want to select them one by one in D2 Checkpoint List
  • Click get_list to retrieve the model list, then edit it to keep only the ones you need

input

  • model_type
    • Select either checkpoints or loras
  • filter
    • Enter text to filter
    • Regular expressions are supported
    • When including \ in search text, write it as \\
  • get_list
    • Button to retrieve model list

D2 XY Folder Images

  • Node to pass image paths from specified folder to D2 XY Plot

D2 XY Annotation

  • Used to add headers when not using D2 XY Plot or when doing special XY Plot

D2 XY List To Plot

  • Converts output from list nodes to be compatible with D2 XY Plot
  • Internally, it simply performs "\n".join(list), so if the list contents include line breaks, it may not work as intended
  • Use D2 XY String To Plot when working with text that contains line breaks

D2 XY String To Plot

  • Converts multiline text to be compatible with D2 XY Plot / D2 XY Plot Easy
  • Used when you want to perform XY Plot comparisons of entire prompts
  • When using with D2 XY Plot Easy for prompt comparison, set x/y_type to STRING and connect x/y_other to the positive input of D2 KSampler

🍅 Refiner Node

D2 Refiner Steps

  • Node for outputting steps for Refiner

Input

  • steps
    • Total step count
  • start
    • Starting steps for first KSampler
  • end
    • Ending steps for first KSampler

Output

  • steps / start / end
    • Input passthrough
  • refiner_start
    • Starting steps for second KSampler

D2 Refiner Steps A1111

  • Node that can specify denoise for Refiner in img2img

Input

  • steps
    • Total step count
  • denoise
    • Specify denoise for img2img
  • switch_at
    • What percentage of total steps to switch to next KSampler

Output

  • steps
    • Input passthrough
  • start
    • Starting steps for first KSampler
  • end
    • Ending steps for first KSampler
  • refiner_start
    • Starting steps for second KSampler

D2 Refiner Steps Tester

  • Node for checking steps

🍅 Merge Node

D2 Model and CLIP Merge SDXL

  • A node that combines ModelMergeSDXL and CLIPMergeSimple
  • Allows comma-separated weight specifications for easier use with XYPlot
  • In this figure, 0.85,0.85,1,1,0.4,0.4,1,0.4,0.4,0.4,1,0.4,0.4,0.4,0,0.55,0.85,0.85,0.85,0.85,0.85,0.85,1,1,0.65 is specified

🍅 Float Palet

D2 Queue Button

  • Button to generate specified number of images (Batch count)
  • Can be moved by dragging left edge of palette
  • Configure visibility in ComfyUI settings under D2 category
  • Number of images can also be set from settings screen
  • Separate numbers with comma (,)

Prompt convert dialog

  • Dialog for converting weights between NovelAI and StableDiffusion
  • Open from Prompt convert button
  • Hidden by default
  • Enable display by activating settings > D2 > Show prompt convert button