ComfyUI Node

Put Image

The folder-browsing Load Image that also paints your inpaint mask

By shinich39·Created 2 years ago·Updated about a year ago· 2
Put Image
    • IMAGE
    • MASK
    • FILENAME
    dir_path../input
    index0
    mode
    filename

    ComfyUI's stock Load Image is fine until you have to work through a whole folder. Pick a PNG, run it, pick the next one, run again - for a batch of img2img passes or inpainting fixes that's a lot of pointless clicking. Put Image from shinich39/comfyui-put-image is the answer to exactly that tedium: it loads images from a directory, lets you flip through them with arrow keys, and then goes one better and lets you paint an inpaint mask directly on the canvas before the image ever reaches your workflow.

    What it actually is

    Think of it as a Load Image with a built-in gallery browser. Give it a folder and an index, it shows you that file on a zoomable canvas. Click the node to give it focus and the arrow keys step through the directory; - and = change canvas zoom, the mouse wheel changes brush size, and space or a middle-click drag pans around. F5 (or Ctrl+R) re-reads the folder from disk, which matters more than it sounds: it means you can dump fresh exports into the directory and pull them in without restarting anything.

    The masking half

    This is the part that makes it more than a fancy Load Image. While the node is focused, left-click paints a mask on and right-click wipes it off - on the same canvas you're browsing. Because the node exposes a real MASK output, you can wire IMAGE and MASK straight into an inpainting pipeline: Put Image → paint → InpaintModelConditioning → sampler → done. For quick fixes that beats building a mask in an external editor and hauling it back in, and given that ComfyUI's masking interface is one of the loudest inpainting complaints in the community, a node that puts a paintbrush inside the graph is genuinely welcome. There's a drawing mode too (Ctrl or Alt + click sets the brush color from the pixel you clicked) for annotation-style edits. And the pack adds right-click "Send to" menu items on the stock Save Image and Preview Image nodes: send a generated image to your input folder, your output folder, or load it straight into a specific Put Image node for another pass.

    The inputs that matter

    • dir_path (default ../input): the folder to browse, relative to where ComfyUI runs.
    • index: the 0-based position in the folder listing. First file is 0. You can drive this from a counter node to loop a batch programmatically.
    • mode: fixed, increment, decrement, or randomize - how that index is applied. Increment/decrement automate stepping through a folder; randomize is a surprisingly pleasant way to shuffle through reference images.
    • filename: load a specific file by name instead of counting through the directory.

    Outputs are IMAGE (feed your sampler or img2img path), MASK (into inpainting), and FILENAME (the loaded file's name, handy if you're logging which images actually ran).

    Installing it

    The nice part: no dependencies, no model downloads, no pip hell - a rarity in this ecosystem. In ComfyUI Manager, search "comfyui-put-image" and install, then restart. Or the old-fashioned way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/shinich39/comfyui-put-image
    

    Restart ComfyUI and it's under Add Node → image → Put Image.

    Where people get burned

    • The keys do nothing until you click the node. Arrow-key navigation is a widget event, not a global shortcut - click the canvas first, then arrow away.
    • dir_path is relative to your ComfyUI working directory, not to the node. The default ../input is right if you're dropping files into the input folder; point it at a wrong path and you just get an empty canvas, no error worth reading.
    • Index is 0-based. Your first file isn't at 1.
    • It's a front-end tool, not a generation node. Everything this pack does is read, browse, paint, and copy. It won't resize, batch, or sample for you - pair it with the rest of your graph for that.

    For a lightweight image-loader-with-extras, this is the one you'd actually reach for. It's the only "inpainting workflow" that starts with you drawing on the image inside ComfyUI itself.

    Categoryimage

    Inputs (4)

    NameTypeDefaultDescription
    dir_pathSTRING../input
    indexINT0
    modeCOMBO4 options: fixed, increment, decrement, randomize
    filenameSTRING

    Outputs (3)

    NameTypeDescription
    IMAGEIMAGE
    MASKMASK
    FILENAMESTRING