4.4 KiB
4.4 KiB
ComfyUI Image Miscellaneous Nodes 🎨
This repository provides a set of custom nodes for ComfyUI focused on image manipulation. Currently we just have an image downloader node, but I didn't wanted to put it with my audio nodes.
⚙️ Main features
✅ No extra dependencies, we use the same modules as ComfyUI
✅ Warnings and errors visible in the browser, configurable debug information in the console
📜 Table of Contents
- 🚀 Installation
- 📦 Dependencies
- 🖼️ Examples
- ✨ Nodes
- 📝 Usage Notes
- 📜 Project History
- ⚖️ License
- 🙏 Attributions
✨ Nodes
1. Image Download and Load
- Display Name:
Image Download and Load - Internal Name:
SET_ImageDownload - Category:
image/io - Description: Downloads an image file from a URL into the
ComfyUI/input/directory if it's not already there, and then loads it as an image and mask. This is perfect for creating self-contained, shareable workflows with example image. - Inputs:
image_bypass(IMAGE, Optional): If an image is provided here it will be used for the output. You can connect aLoad Imagenode here, if the connected node is muted (bypassed) we download the file, otherwise we use the image from theLoad Imagenode.mask_bypass(MASK, Optional): This input complementsimage_bypass.base_url(STRING): The URL of the directory containing the image file.filename(STRING): The name of the image file to download (e.g., photo.jpg, art.png).
- Output:
image(IMAGE): The loaded image.alpha_mask(MASK): The alpha mask for the loaded image.
- Behavior Details:
- Caching: The node checks the
ComfyUI/input/folder first. If the file with the specifiedfilenamealready exists, the download is skipped. - Bypass: If only one of
image_bypassandmask_bypassis connected the other will be assumed to be empty. You should connect both or avoid using the output corresponding to the unconnected input.
- Caching: The node checks the
🚀 Installation
You can install the nodes from the ComfyUI nodes manager, the name is Image Misc, or just do it manually:
- Clone this repository into your
ComfyUI/custom_nodes/directory:cd ComfyUI/custom_nodes/ git clone https://github.com/set-soft/ComfyUI-ImageMisc ComfyUI-ImageMisc - Install SeCoNoHe:
pip install seconohe - Restart ComfyUI.
The nodes should then appear under the "image/io" category in the "Add Node" menu.
📦 Dependencies
- SeCoNoHe (seconohe): This is just some functionality I wrote shared by my nodes, only depends on ComfyUI.
- PyTorch: Installed by ComfyUI
- Requests (optional): Usually an indirect ComfyUI dependency. If installed it will be used for downloads, it should be more robust than then built-in
urllib, used as fallback. - Colorama (optional): Might help to get colored log messages on some terminals. We use ANSI escape sequences when it isn't installed.
🖼️ Examples
Once installed the examples are available in the ComfyUI workflow templates, in the Image Misc section (or ComfyUI-ImageMisc).
- image_download.json: Shows how to use the image downloader node.
📝 Usage Notes
- Logging: 🔊 The nodes use Python's
loggingmodule. Debug messages can be helpful for understanding the transformations being applied. You can control log verbosity through ComfyUI's startup arguments (e.g.,--preview-method auto --verbose DEBUGfor more detailed ComfyUI logs which might also affect custom node loggers if they are configured to inherit levels). The logger name used is "ImageMisc". You can force debugging level for these nodes defining theIMAGEMISC_NODES_DEBUGenvironment variable to1.
📜 Project History
- 1.0.0 2025-07-21: Initial release
- Just the download image.
⚖️ License
🙏 Attributions
- Good part of the initial code and this README was generated using Gemini 2.5 Pro.