ComfyUI Extension: DaimalyadNodes
Model Downloader + API-Friendly Wildcard Processor for ComfyUI
Custom Nodes (0)
README
DaimalyadNodes
A ComfyUI custom nodes package providing Model Downloader and API-Friendly Wildcard Processor utilities.
Features
š Model Downloader (DaimalyadModelDownloader
)
- Workflow-based model downloading - Download models directly from your ComfyUI workflows
- Smart path handling - Automatically organizes downloads into proper ComfyUI model directories
- SHA-256 verification - Optional integrity checking for downloaded files
- Retry logic - Robust network error handling with exponential backoff
- Progress tracking - Real-time download progress with speed estimates
- Safe file operations - Atomic file replacement to prevent corruption
š² API-Friendly Wildcard Processor (DaimalyadWildcardProcessor
)
- Advanced wildcard resolution - Supports nested
{option1|option2|option3}
syntax - Escape sequences - Use
\{
,\|
,\}
for literal characters - Always fresh randomization - Uses nanosecond timestamp for non-reproducible results
- Simple interface - Single text input, no complex controls
- API integration - Designed for programmatic use in automated workflows
- API workflow execution - Works seamlessly with ComfyUI API calls, unlike most other wildcard processors
- Performance optimized - Efficient parsing with guaranteed fresh execution
Installation
Via ComfyUI Manager (Recommended)
- Install ComfyUI Manager
- Go to Manager ā Install Custom Nodes
- Search for
daimalyadnodes
- Click Install
Manual Installation
- Clone this repository to your
ComfyUI/custom_nodes/
directory:cd ComfyUI/custom_nodes/ git clone https://github.com/daimalyad/DaimalyadNodes.git
- Restart ComfyUI
Usage
Model Downloader
Inputs:
url
(required): HTTP(S) URL to download fromsubfolder
(required): Target subfolder under/models
(e.g., "checkpoints", "loras", "controlnet")filename
(optional): Custom filename (defaults to URL basename)overwrite
(optional): Whether to overwrite existing files (default: True)sha256
(optional): SHA-256 hash for integrity verificationtimeout_s
(optional): Network timeout in seconds (default: 120)retries
(optional): Number of retry attempts (default: 3)user_agent
(optional): Custom HTTP User-Agent header
Output:
path
: Absolute path to the downloaded file
Example:
URL: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors
Subfolder: checkpoints
Filename: stable-diffusion-v1-5.safetensors
SHA-256: 6ce9ef5449e8abcb9bafd9a5d10aa7f9653e3a9f3c77a2e7d8f1e9a2b3c4d5e6f
Wildcard Processor
Inputs:
text
(required): Text containing wildcards like{a beautiful|an amazing} {landscape|portrait}
Output:
text
: Resolved text with wildcards replaced
Examples:
Input: "A {beautiful|stunning} {landscape|portrait} of a {cat|dog}"
Output: "A beautiful landscape of a cat" (or any combination, always fresh)
Input: "Create a \{literal\} {option1|option2}"
Output: "Create a {literal} option1" (escaped braces preserved, always fresh)
Key Features:
- Always fresh results - Each execution produces different output
- Non-reproducible - Same input never gives same output twice
- Nanosecond precision - Uses
time.time_ns()
for maximum randomization - No caching - Guaranteed fresh execution every time
API Workflow Compatibility: Unlike most other wildcard processors, this node works seamlessly with ComfyUI's API workflow execution system. When you execute workflows via API calls, the wildcard processor will:
- Always execute - No caching issues that plague other processors
- Provide fresh randomization - Each API call gets unique wildcard resolution
- Maintain consistency - Same API workflow always produces fresh results
- Integrate seamlessly - Works exactly the same in API and manual execution
This makes it ideal for automated workflows, batch processing, and server-side applications where you need reliable, fresh wildcard resolution.
Node Categories
- Model Downloader:
utils
- Wildcard Processor:
Text/Wildcards
Requirements
- Python: 3.8+
- ComfyUI: Latest version
- Dependencies: None (uses only Python standard library)
Development
Project Structure
DaimalyadNodes/
āāā __init__.py # Node exports
āāā daimalyad_model_downloader.py
āāā daimalyad_wildcard_processor.py
āāā requirements.txt # Dependencies
āāā pyproject.toml # Package metadata
āāā LICENSE # MIT License
āāā README.md # This file
Building
This package is designed to work directly as a ComfyUI custom node. No build step required.
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
Support
- GitHub Issues: Report bugs or request features
- Discord: Join the ComfyUI community for general support
Changelog
v0.1.0
- Initial release
- Model Downloader with SHA-256 verification
- API-Friendly Wildcard Processor with guaranteed fresh randomization
- ComfyUI Manager integration ready
Made with ā¤ļø by @daimalyad