Files
da2el-aiandClaude Opus 5.5 9cd412e79f docs: document LIST/ARRAY renaming and D2 List Converter and bump to 43.0.0
Add a 2026.11.04 notice to README explaining that many node inputs and
outputs were renamed or reordered and need reconnecting, and update the
ja/en/zh node docs and changelog for LIST/ARRAY, x / y_items, the new
D2 List Converter and the deprecated list nodes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 01:16:42 +09:00

18 KiB

English | 日本語 | 繁体中文

Node

🍅 Image Node

D2 Preview Image

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

Output

  • images: Outputs the input images as they are

D2 Save Image

▲filenames outputs the paths of saved images
  • An image saving node with full-screen gallery functionality, similar to D2 Preview Image
  • Supports PNG / JPEG / WEBP / animated WEBP image formats
  • Saves A1111-style generation parameters to metadata (PNG / JPEG / WEBP formats only)
  • When loaded with D2 Load Image, positive and negative prompts can be extracted from saved images (PNG / JPEG / WEBP formats only)
▲Retrieves generation parameters from d2_pipe and saves them to metadata

Input

  • images: Images to save
  • d2_pipe: Receives generation parameters from D2 KSampler etc.
  • filename_prefix: Filename format. See D2 Filename Template for details
  • preview_only:
    • true: Only preview images without saving
    • false: Save images
  • format: Select image format from png / jpeg / webp / animated_webp
  • lossless: Applied for webp and animated_webp
    • true: Lossless compression
    • false: Lossy compression
  • quality: Image compression ratio. Applied for jpeg or webp, animated_webp with lossless:false
  • fps: Frame rate for animated_webp
  • Popup Image: Clicking the button displays a full-screen gallery

Output

  • images: Outputs the input images as they are
  • filenames: Array of full paths of saved image files (ARRAY)

D2 Save Image Eagle

Differences from D2 Send Eagle

  • Supports animated WEBP
  • Full-screen gallery functionality
  • Filename rules conform to the standard Save Image
  • Tag saving feature excluded

Input

  • eagle_folder: Eagle registration folder. Can use either folder name or folder ID
  • memo_text: Text to register as a memo in Eagle

Recording A1111 webui-style parameters in Eagle memo

Automatic creation

When d2_pipe is connected from D2 KSampler, it is saved to the Eagle memo.

Custom format creation

For complex generation parameters like videos, you can also record custom memos.

Input

  • eagle_folder: Eagle registration folder. Can use either folder name or folder ID
  • memo_text: Text to register as a memo in Eagle

Recording A1111 webui-style parameters in Eagle memo

Use D2 Filename Template2 to create a template and input it into the memo_text of D2 Save Image Eagle.

In the sample above, positive and negative from D2 KSampler are input to arg_1 and arg_2 and retrieved with %arg_1% and %arg_2%, while other parameters are retrieved with %{Node name}.{Param}.

For details on parameter retrieval methods, see D2 Filename Template.

%arg_1%

Negative prompt: %arg_2%
Steps: %D2 KSampler.steps%, Sampler: %D2 KSampler.sampler_name% %D2 KSampler.scheduler%, CFG scale: %D2 KSampler.cfg%, Seed: %D2 KSampler.seed%, Size: %Empty Latent Image.width%x%Empty Latent Image.height%, Model: %D2 Checkpoint Loader.ckpt_name%

Output result

masterpiece, 1girl, bikini, blue sky,

Negative prompt: bad quality, worst quality, sepia,
Steps: 20, Sampler: euler_ancestral simple, CFG scale: 5.000000000000001, Seed: 926243299419009, Size: 768x1024, Model: _SDXL_Illustrious\anime\HiyokoDarkness_vpred_v2_20250329.safetensors

D2 Send File Eagle

  • Registers files at the path input in file_path to Eagle
  • Created to register output files from Video Combine to Eagle
  • Can also save video generation parameters by using D2 File Template2 for memo_text input
  • The file_path output outputs the input file_path as it is
About file_path

Provide the full path of the file as a string or an array of strings.

Example: String

D:\ComfyUI\output\foo.png

Example: Array of strings

["D:\ComfyUI\output\foo.png","D:\ComfyUI\output\bar.png"]
About Filenames output by Video Combine

The Filenames output by Video Combine is an array like the following:

[
  true, 
  [
    "D:\\ComfyUI\\output\\AnimateDiff_00002.png",
    "D:\\ComfyUI\\output\\AnimateDiff_00002.mp4"
  ]
]

In the image above, the Exec node from ComfyUI-List-Utils is used to extract the filename part.

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
  • filename / filepath: Name and path of the saved file
  • pnginfo: Image metadata

About Prompt Output

Compatible with images saved by the following nodes and UIs:

Note: Prompts cannot be extracted when the mask editor is used

When you edit an image with the mask editor, ComfyUI writes out a new image file and internally swaps it in, so the original metadata is lost and prompts can no longer be extracted. Clearing the mask does not revert this swap.

As a workaround, add a separate D2 Load Image dedicated to prompt extraction and avoid using the mask editor on that node.


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
    • Can specify multiple extensions comma-separated, like *.png, *.jpg, *.webp
  • include_subfolders
    • true: Also includes images in subfolders
    • false: Only directly under the specified folder
    • You can also write ** directly in folder, like image_folder/**, to search recursively

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
    • Can specify multiple extensions comma-separated, like *.png, *.jpg, *.webp
  • include_subfolders
    • true: Also includes images in subfolders
    • false: Only directly under the specified folder
    • You can also write ** directly in folder, like image_folder/**, to search recursively
  • 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
  • For D2 XY Plot workflows, please use D2 XY Grid Image.

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

  • Combines multiple input images into a batch
  • Can be used with D2 Grid Image and others
  • Maximum of 50 inputs

D2 Image Mask Stack

  • Combines multiple input images and masks into a batch
  • Essentially D2 Image Stack with added mask support

D2 EmptyImage Alpha

  • Adds alpha channel (transparency) to EmptyImage
  • Setting output_alpha to false outputs RGB (3ch) without an alpha channel
    • Can be passed to nodes that expect RGB (such as Anima ControlNet-LLLite)

D2 Mosaic Filter

  • Applies a mosaic filter
  • Adjustable transparency, brightness, and color inversion options

I've written an article about the automatic mosaic workflow, so please refer to it.

Automatic mosaic workflow using ComfyUI


D2 Cut By Mask

  • Cut an image using a mask
  • Can specify the output shape, size, margins, etc.

Input

  • images: Source image to cut from
  • mask: Mask
  • cut_type: Shape of the cut image
    • mask: Cut according to the mask shape
    • rectangle: Calculate and cut a rectangle from the mask shape
    • square_thumb: Cuts out the maximum-sized square. A mode intended for thumbnails
  • output_size: Output image size
    • mask_size: Mask size
    • image_size: Input image size (surroundings become transparent while preserving the input image position)
  • round_to: Round up the cut rectangle's width/height to the chosen unit (default none)
    • Choose from none / 8px / 16px / 32px / 64px
    • Only effective when cut_type is rectangle (ignored for mask / square_thumb)
    • Intended to prevent blurry edges with local models that generate in 8px units. Expands while keeping the center, and never extends beyond the source image
  • padding: Number of pixels to expand the mask area (default 0)
  • min_width: Minimum width of mask size (default 0)
  • min_height: Minimum height of mask size (default 0)
  • output_alpha: Whether to include alpha channel in the output image

output

  • image: Image cut by the mask area
  • mask: Mask
  • rect: Cut rectangular area

D2 Paste By Mask

  • Composite images using masks or rectangular areas created with D2 Paste By Mask
  • Can specify blur width, paste shape, etc.

Input

  • img_base: Base image (batch compatible)
  • img_paste: Image to paste (batch compatible)
  • paste_mode: Determines how to trim img_paste and the paste coordinates
    • mask: Mask img_paste with mask_opt and paste at position x=0, y=0 (mask shape pasting)
    • rect_full: Trim img_paste to the size of rect_opt and paste at the position of rect_opt (rectangular pasting)
    • rect_position: Paste img_paste at the position of rect_opt (rectangular pasting)
    • rect_pos_mask: Mask img_paste with mask_opt and paste at the position of rect_opt (mask shape pasting)
  • multi_mode: Processing method when either or both of img_base and img_paste have multiple images
    • pair_last: Process img_base and img_paste pairs from the beginning with the same index. If one has fewer images, the last image is used
    • pair_only: Same as pair_last. If one has fewer images, an error is displayed and processing stops
    • cross: Process all combinations

input optional:

  • mask_opt: Mask
  • rect_opt: Rectangular area
  • feather: Number of pixels to blur the edge (default 0)

output

  • image: Composited image

About multi_mode

pair_last and pair_only output the same ordered images from img_base and img_paste as pairs.

cross outputs all combinations.


D2 Create Point

  • Node that outputs XY coordinates by dragging markers
  • Markers increase or decrease with marker_count, and the x_1 / y_1 ... outputs follow along
  • Dropping an image onto the node shows it as the canvas background and applies its size to width / height

Input

  • marker_count: Number of markers (1-16). The number of x_N / y_N outputs follows this value
  • mode
    • absolute: Outputs actual pixel coordinates
    • relative: Outputs relative values from 0.0 to 1.0
  • width / height: Size of the coordinate system. It also determines the aspect ratio of the canvas
  • image: Image shown in the background. Leave it empty for a black canvas
  • markers: JSON of the marker coordinates. It updates automatically when you drag, so you normally don't need to touch it

Output

  • image: The specified image. If no image is specified, a black image of width x height
  • width / height: Size of the coordinate system
  • x_1 / y_1: Coordinates of marker 1. If marker_count is "3", x_2 y_2 x_3 y_3 are also output

About mode

markers always holds relative values (0.0 to 1.0) regardless of mode, so switching between absolute and relative does not move the markers. The same applies when you change width / height.

The image above shows the same marker positions with only the mode changed. Multiplying 0.163305 in relative by 832 of width gives 136 in absolute.


D2 Create Masks

  • Node that creates multiple masks by dragging rectangles on a canvas
  • Drag inside a rectangle to move it, drag the white circles at its corners to resize it
  • Rectangles increase or decrease with mask_count, and the mask_1 mask_2 ... outputs follow along
  • Dropping an image onto the node shows it as the canvas background and applies its size to width / height

Input

  • mask_count: Number of masks (1-16). The number of mask_N outputs follows this value
  • select_mask: Number of the mask to make active. It changes automatically to the number of the mask you click on the canvas
  • width / height: Size of the output masks. It also determines the aspect ratio of the canvas
  • image: Image shown in the background. Leave it empty for a black canvas
  • masks: JSON of the mask positions and sizes. It updates automatically when you drag, so you normally don't need to touch it

Output

  • image: The specified image. If no image is specified, a black image of width x height
  • width / height: Size of the masks
  • mask_1: Mask 1. If mask_count is "3", mask_2 mask_3 are also output

About the active mask

The mask you click becomes "active": it is shown in front of the others and white circles for resizing appear at its corners.

When masks overlap completely you cannot click the one underneath, so pick its number with select_mask instead. Conversely, changing the active mask by clicking also updates select_mask.


D2 Random Point

  • Node that outputs random XY coordinates
  • You can limit the range by setting min / max

Input

  • width / height: Size of the coordinate system
  • min_x / max_x: Range of the X coordinate
  • min_y / max_y: Range of the Y coordinate
  • mode
    • absolute: Outputs actual pixel coordinates
    • relative: Outputs a relative value from 0.0 to 1.0
  • number_type: int / float. It only takes effect when mode is absolute
  • seed: Random seed. The same value gives the same coordinates

Output

  • width / height: The size of the coordinate system you entered is output as is
  • x / y: The randomly chosen coordinates

About the range

min_x max_x min_y max_y are always specified as relative values from 0.0 to 1.0, regardless of mode.

For example, setting min_x to 0.25 and max_x to 0.75 keeps the coordinates near the center. Changing width does not change what "near the center" means.

Entering the same value for min and max fixes the coordinate at that position.

About number_type

When mode is absolute, int outputs an integer like 100 and float outputs a decimal like 100.3968.

relative is a range from 0 to 1, so it is always a decimal.


D2 Random Mask

  • Node that outputs a random rectangular mask
  • The rectangle is placed so that it never extends beyond width / height

Input

  • width / height: Size of the output mask
  • min_width / max_width: Range of the rectangle width (pixels)
  • min_height / max_height: Range of the rectangle height (pixels)
  • seed: Random seed. The same value gives the same rectangle

Output

  • width / height: The mask size you entered is output as is
  • mask: Mask that is white inside the rectangle
  • mask_x / mask_y: Top-left coordinates of the rectangle
  • mask_w / mask_h: Width and height of the rectangle

About the rectangle size

Entering the same value for min_width and max_width fixes the width, so only the position moves randomly.

When max is smaller than min the two are swapped, and a size larger than width / height is reduced to the mask size. The rectangle never extends outside the mask.