Nodes/ComfyUI_DAO_master/Load Image Pro (Path/Image → RGB/RGBA/Mask/Upscale)
ComfyUI Node

Load Image Pro (Path/Image → RGB/RGBA/Mask/Upscale)

Mask tools and upscaling built in

By orion4d·Created about a year ago·Updated 12 months ago· 11
Load Image Pro (Path/Image → RGB/RGBA/Mask/Upscale)
  • image
  • mask
  • image
  • image_rgba
  • mask
  • mask_image
  • width
  • height
path
enable_mask_toolsfalse
mask_blur0
mask_offset0
smooth0.0
fill_holesfalse
invert_maskfalse
enable_upscalefalse
upscale_factor1.00
upscale_model
upscale_methodlanczos

Load Image Pro is what you get when someone looks at the stock ComfyUI image loader and says "I want that, plus a mask pipeline, plus an upscaler, in one node." It loads from a path or takes an incoming IMAGE, and gives you RGB, RGBA, a mask with cleanup tools, and an optional upscale pass - all in one box. For batch work where every image needs the same mask treatment and a 2x bump, that's a lot of graph space saved.

How it works

The node has two source paths: a path string, or an existing image input (the image wins if both are given). From there it composes an RGBA version, extracts or builds a mask, runs the mask tools if enabled, and optionally upscales. The mask toolchain is genuinely useful:

  • mask_blur - Gaussian blur on the mask (soft edges).
  • mask_offset - dilate (positive) or erode (negative) the mask in pixels.
  • smooth - morphological open+close to clean up noise.
  • fill_holes - flood-fill to close gaps.
  • invert_mask - flip it.

The upscale branch uses a real upscale model from ComfyUI's models/upscale_models folder if one is installed and selected, falling back to OpenCV's lanczos/nearest-exact/bilinear/area methods otherwise. The mask is resized to match, so everything stays in sync.

Inputs that matter

  • path - where to load from. Empty string with an image input is fine.
  • enable_mask_tools - the master switch for the mask cleanup block (the individual tool settings do nothing until this is on).
  • enable_upscale + upscale_factor (0.05–8x) + upscale_model + upscale_method - the upscale block. upscale_model lists your installed upscale models; if you have none, it shows (no models found) and the node silently uses the OpenCV method.

Outputs

image (RGB), image_rgba, mask, mask_image, and width/height after any upscaling. Wire the mask into inpainting or compositing; wire the dimensions into anything that needs to know the output size.

How to install

Part of the orion4d/ComfyUI_DAO_master pack:

cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/ComfyUI_DAO_master.git
pip install opencv-python     # cv2 is required for the mask tools and OpenCV upscale

Restart ComfyUI. Model upscaling needs an ESRGAN-style model in ComfyUI/models/upscale_models/ - the pack itself downloads nothing.

Common issues

(no models found) in the upscale model dropdown isn't an error - it just means no upscale model is installed, and the node falls back to OpenCV interpolation. Two settings are silent switches: enable_mask_tools and enable_upscale - the tools do nothing until they're on, which trips up people who set mask_blur and see no change. And remember the image input wins over path: if you wire both and the output looks like the tensor, not the file, that's by design.

CategoryDAO_master/Images/IO

Inputs (13)

NameTypeDefaultDescription
pathSTRING
enable_mask_toolsBOOLEANfalse
mask_blurINT00–256
mask_offsetINT0-256–256
smoothFLOAT0.00–100
fill_holesBOOLEANfalse
invert_maskBOOLEANfalse
enable_upscaleBOOLEANfalse
upscale_factorFLOAT1.000.05–8
upscale_modelCOMBO1 options: (no models found)
upscale_methodCOMBOlanczos4 options: lanczos, nearest-exact, bilinear, area
imageoptIMAGE
maskoptMASK

Outputs (6)

NameTypeDescription
imageIMAGE
image_rgbaIMAGE
maskMASK
mask_imageIMAGE
widthINT
heightINT