Document the D2_XYGridImage memo output and the new d2_pipe input on the loader nodes across ja/en/zh, refresh the sample workflows (new images and downloadable JSON), and add a Changelog entry. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
16 KiB
16 KiB
- Top
- Node / Image Node / Text Node / XYPlot Node / Float Palet
- Workflow
Node
🍅 Sampler Nodes
D2 KSampler / D2 KSampler(Advanced)
Differences from standard KSampler
- Directly outputs images (VAE Decoder not required)
- Can input prompts in STRING format
- Supports A1111-style LoRA loading prompts
- Example:
<lora:foo.safetensors:1> - For format, refer to
D2 Load Lora - Note: When inputting
positive_cond/negative_condtoD2 KSampler Advanced, LoRA will not be applied to CLIP. It will only be applied to MODEL.
- Example:
- Has dedicated Controlnet input for simple application
- Supports
d2_pipewhich consolidates generation parameters- Can easily receive from
D2 XY Plot,D2 XY Plot Easy,D2 XY Plot Easy Mini - Can collectively receive
model/clip/vaefromD2 Checkpoint LoaderorD2 Load Diffusion Model Set - Can easily pass parameters to
D2 Save Image Eagle
- Can easily receive from
- Can change prompt weight algorithm (weight_interpretation)
Notes
- When
d2_pipeis connected,d2_pipeparameters take priority - For example, if you specify steps:20 in
D2 KSamplerand steps:15 inD2 XYPlot Easy, withd2_pipeconnected, steps:15 fromD2 XYPlot Easywill be used. - However,
model/clip/vae/positive_cond/negative_condgive priority to directly connected inputs (same handling aspositive/negative). Thed2_pipevalues are used only when there is no direct connection.
Input
- Same as standard KSampler
model/clip/latent_image/seed/steps/cfg/sampler_name/scheduler/denoisemodel/clipcan now be passed viad2_pipe, so both are optional
- Added in D2 KSampler
vae: optional, since it can be passed viad2_pipecnet_stack: For connecting toD2 Controlnet Loaderd2_pipe: Consolidated generation parameters. Received from nodes likeD2 XY Plotpreview_method: Preview display method during generationpositive/negative: Prompts in STRING format
- Added in D2 KSampler Advanced
token_normalization/weight_interpretation- Methods for adjusting prompt weights. Available in D2 KSampler Advanced
- Requires Advanced CLIP Text Encode to use
Output
- Same as standard KSampler
LATENT
- Added in D2 KSampler
IMAGE: Generated imageMODEL/CLIP: With LoRA appliedpositive/negative: Input passthroughformatted_positive: Positive prompt with A1111-style LoRA format removedpositive_cond/negative_cond: CONDITIONING with Controlnet appliedd2_pipe: Consolidated generation parameters
D2 Pipe
- A node for modifying and extracting the contents of
d2_pipe d2_pipeis used to pass parameters collectively in nodes such as D2 XY Plot Easy, D2 KSampler, and D2 Save Image Eagle- In addition to
ckpt_name/positive/negative/seed/steps/cfg/sampler_name/scheduler/denoise/width/height, it now also supports input/output ofmodel/clip/vae/positive_cond/negative_cond- Connecting a direct input to these overwrites the corresponding item in
d2_pipe. If there is no connection, thed2_pipevalue is passed through as is
- Connecting a direct input to these overwrites the corresponding item in
🍅 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
d2_pipe- Not used by this node itself, but adds
modeland others to the receivedd2_pipe
- Not used by this node itself, but adds
ckpt_name- Checkpoint name
auto_vpredtrue: 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_pipe- Consolidates
model/clip/vae/ckpt_name. Can be connected toD2 KSamplerwith a single wire.
- Consolidates
D2 Load Diffusion Model
- A Load Diffusion Model that outputs the full path and filename of model files
Input
d2_pipe- Not used by this node itself, but adds
modeland others to the receivedd2_pipe
- Not used by this node itself, but adds
unet_name/weight_dtype: Same as the standardLoad Diffusion Model
Output
model- Same as the standard Load Diffusion Model.
ckpt_name/ckpt_hash/ckpt_fullpath- Checkpoint name, hash, and full path.
- Although it's technically
unet_name, it has been namedckpt_nameto align withD2 Checkpoint Loader
d2_pipe- Consolidates
model/ckpt_name. Can be connected toD2 KSampler. - Since this node does not load VAE / CLIP,
d2_pipecontains onlymodel(clip/vaeneed to be connected separately)
- Consolidates
D2 Load Diffusion Model Set
- A loader that combines
Load Diffusion Model+Load VAE+Load CLIPinto one - Loads
model/clip/vaetogether and can output them asd2_pipe - By connecting a single
d2_pipewire toD2 KSampler, individual connections formodel/clip/vaebecome unnecessary
Input
d2_pipe- Not used by this node itself, but adds
modeland others to the receivedd2_pipe
- Not used by this node itself, but adds
unet_name/weight_dtype: Same as the standardLoad Diffusion Modelvae_name: Same as the standardLoad VAEclip_name/clip_type: Same as the standardLoad CLIP
Output
model/clip/vae- Same as each standard loader.
ckpt_name/ckpt_hash/ckpt_fullpath- Diffusion Model name, hash, and full path.
- Although it's technically
unet_name, it has been namedckpt_nameto align withD2 Checkpoint Loader
d2_pipe- Consolidates
model/clip/vae/ckpt_name. Can be connected toD2 KSamplerwith a single wire.
- Consolidates
D2 Controlnet Loader
- Controlnet Loader that creates simple workflows when connected to
D2 KSampler controlnet_typeswitches betweenStableDiffusion(standard Controlnet) andAnima(kohya-ss's Anima-LLLite)- To use
Anima, you need to install ComfyUI-Anima-LLLite beforehand
- To use
Input
controlnet_typeStableDiffusion: Standard ControlnetAnima: kohya-ss's Anima-LLLite (requires ComfyUI-Anima-LLLite)
cnet_stack- For connecting to
D2 Controlnet Loader
- For connecting to
Output
cnet_stack- For connecting to
D2 KSamplerorD2 Controlnet Loader
- For connecting to
D2 Load Lora
- A Lora loader that allows specifying Lora through text
- model_weight / clip_weight can also be specified
- There are two modes: one that uses the same format as StableDiffusion webui A1111 (a1111), and one that simply lists LoRA names (simple)
- For specific usage, refer to the sample workflow
Input
modea1111: Mode that allows using the same format as StableDiffusion webui A1111simple: Simple mode that just lists LoRA names. In this mode, theSTRINGoutput is not used
Output
MODEL/CLIP: MODEL and CLIP with LoRA appliedprompt: Outputs the input text as isformatted_prompt: Text with LoRA specification parts removed
Format differences based on mode
mode: a1111
Expressed as <lora:~>.
<lora:lora_name:1>
mode: simple No decorations needed before or after
lora_name:1
How to specify Weight
Write in the format {lora_name}:{model_weight}:{clip_weight}.
foo:0.8:1
If clip_weight is not specified, the same value as model_weight is applied. The following have the same meaning.
foo:0.8
foo:0.8:0.8
If weight is not specified, "1" is applied The following have the same meaning.
foo
foo:1:1
How to specify multiple LoRAs in simple mode
Separate with line breaks
foo:0.5
bar
When writing two types in one line, separate with ","
foo:0.5,bar
Comments
Lines that start with "//" or "#" are ignored.
//foo:0.5
#bar
🍅 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
presetmust be set tocustom
preset- Size presets
- Must be set to
customwhen usingwidthheightbelow or image sizes - Edit
/custom_nodes/D2-nodes-ComfyUI/config/sizeselector_config.yamlto modify presets
width/height- Width/height dimensions
presetmust be set tocustom
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_methodRound: Round to nearestFloor: Round downNone: No rounding
batch_size- Batch size to set for empty_latent
Output
width / height- Input
width,heightmultiplied byprescale_factor
- Input
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
- Image and mask resizing and rotation
- Precision up to 3 decimal places for scaling
- Can select rounding, floor, or ceiling for decimal handling
- Capable of upscaling using upscale models
- Latent output is also possible (requires VAE)
- Rotation options: 90 / 180 / 270 degrees
D2 Resize Calculator
- Can select rounding, floor, or ceiling
🍅 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.65is specified
D2 Any Delivery
- A node that can pass multiple elements together
- Connect
D2 Any Deliverynodes to pass data as a package - You can dynamically add necessary inputs and outputs by writing them in
_label - Created because ComfyUI-0246's
Highwaybecame unusable with ComfyUI updates- It's probably better to use the original if it gets updated
Input
_package- Package received from other
D2 Any Deliverynodes
- Package received from other
_label- Define inputs and outputs
- Specified like
>width; >height; <width - Items starting with
>are added as inputs - Items starting with
<are added as outputs - Multiple items can be specified separated by
;
_update- Update inputs and outputs according to the content of
_label
- Update inputs and outputs according to the content of
Output
_package- Package to pass to other D2_AnyDelivery nodes
- All values received in inputs are stored
- Items specified with
<in_label- Values extracted from
_packageare output
- Values extracted from
_label Examples
Add width height to inputs
>width; >height
Add width height to outputs
<width; <height
Add prompt seed to inputs, width height to outputs
>prompt; >seed; <width; <height
D2 Preset Selector
- A node that defines presets of multiple parameters as text and outputs a whole set by picking one from a dropdown
- Intended for switching sets of recommended
steps/cfgetc. per Checkpoint - Enter the format into
preset_textand press_updateto rebuild the output slots and the dropdown
Input
preset- Dropdown. The currently selected preset
- The titles from line 3 onward of
preset_textbecome the choices
preset_name- Input that receives a preset name as a string from outside (forceInput)
- When connected and not an empty string, it takes priority over
preset(the dropdown selection)
preset_text- Preset definition text (format described below)
- A sample is filled in by default, so you can try it as is
_update- Updates the output slots and the dropdown according to
preset_text
- Updates the output slots and the dropdown according to
Output
- An output slot is created for each name defined on line 1 of
preset_text - The values of the selected preset are converted to the types specified on line 2 and output
preset_text Format
steps;cfg
INT;FLOAT
Anima;15;1.5
Illustrious;20;5.0
- Line 1: output names (separated by
;) - Line 2: output types (
INT/FLOAT/STRING/BOOLEAN) - Line 3 onward:
title;value1;value2…(one line per preset). The title (first cell) is required; leaving it empty causes an error
In the example above, selecting Anima outputs steps=15 and cfg=1.5.
Constraints
- The separator
;cannot be used insideSTRINGvalues - Connecting a Primitive node to the
presetdropdown is not supported (due to a ComfyUI limitation, the choices are not shown). Reloading, loading a workflow, and subgraph inputs all work normally
D2 Save Audio Eagle
- A node that sends audio files to Eagle
- Note that files are also saved to the regular folder, so be mindful of drive space
Input
audio- Audio to save
filename_prefix- Filename for saving
eagle_folder- Destination folder name in Eagle
format- Choose from FLAC / MP3 / Opus
mp3_quality- Bitrate used when
formatismp3
- Bitrate used when
opus_quality- Bitrate used when
formatisOpus
- Bitrate used when
memo_text- Text to save in Eagle's memo field