Automatically installs missing model files from workflow templates with Install/Uninstall buttons and progress tracking.
- Workflow-Based Security: Only allows installation of models defined in workflow templates
- One-Click Installation: Install missing models directly from the Missing Models dialog
- Smart Directory Detection: Automatically determines correct installation directories
- Multi-Path Support: Downloads files to path with most available storage (v1.1.2 - requested by BrknSoul)
- Enhanced Proxy Support: Robust proxy detection and timeout handling (v1.1.5)
- Progress Tracking: Real-time download progress with speed, ETA, and completion percentage
- Hugging Face Support: Seamless authentication for gated models
- Multiple Sources: Supports Hugging Face, Civitai, and direct download URLs
- Safe Installation: Validates paths and prevents unauthorized downloads
- Open ComfyUI-Manager in your ComfyUI interface
- Search for "Model Installer"
- Click Install
- Restart ComfyUI
- Clone this repository to your ComfyUI custom_nodes directory:
cd ComfyUI/custom_nodes git clone https://github.com/gignit/comfyui_model_installer - Install dependencies:
pip install -r comfyui_model_installer/requirements.txt
- Restart ComfyUI
- Load a workflow that requires missing models
- Open the Missing Models dialog (appears automatically or via menu)
- Click the Install button next to any missing model
- Watch the progress in the top-right download panel
- The button changes to Uninstall when the model is installed
For gated models on Hugging Face:
- Click Install on a gated model
- Enter your Hugging Face token in the dialog that appears
- Get your token from: https://huggingface.co/settings/tokens
- The token is saved for future downloads
The extension automatically determines the correct installation directory by:
- Primary Method: Reading directory info from workflow templates (
"text_encoders / clip_l.safetensors") - Fallback Method: Mapping URL patterns to model directories
- Checkpoints →
models/checkpoints/ - LoRAs →
models/loras/ - VAE →
models/vae/ - ControlNet →
models/controlnet/ - Text Encoders →
models/text_encoders/ - CLIP Vision →
models/clip_vision/ - Upscale Models →
models/upscale_models/
Use ComfyUI-Manager to enable or disable this extension:
- ComfyUI-Manager → Custom Nodes → Enable/Disable "Model Installer"
Important: The directory name must use underscores (comfyui_model_installer) not hyphens for Python import compatibility.
The uninstall feature is disabled by default. To enable it, modify the configuration:
- Edit
custom_nodes/comfyui_model_installer/config.py - Change
ALLOW_UNINSTALL = FalsetoALLOW_UNINSTALL = True - Restart ComfyUI
When disabled, the client will still be presented with a button that indicates 'uninstall' but clicking this will gracefully fail indicating the feature is disabled.
Advanced users can customize download behavior by editing config.py:
DOWNLOAD_CONFIG = {
# Timeout settings
"timeout_connect": 30, # Connection timeout in seconds
"timeout_total": None, # Total timeout (None = unlimited)
# Connection pool settings (aiohttp TCPConnector parameters)
"limit": 100, # Max total connections
"limit_per_host": 30, # Max connections per host
"ttl_dns_cache": 10, # DNS cache TTL in seconds
"use_dns_cache": True, # Enable DNS caching
# Download settings
"chunk_size": 8192, # Download chunk size in bytes
}Performance Tuning Examples:
- High-performance: Increase
limit,limit_per_host, andchunk_size - Corporate/restricted: Decrease connection limits, shorter DNS cache
- Memory-constrained: Reduce
chunk_sizeand connection limits
- Check that the extension is enabled in ComfyUI-Manager
- Hard refresh your browser (Ctrl+F5)
- Check browser console for errors
- Verify internet connection
- Check ComfyUI logs for error messages
- For Hugging Face models, ensure you have a valid token
- "Failed to Initiate Download": Check proxy settings and network connectivity
- Corporate networks: Verify
HTTP_PROXY,HTTPS_PROXY, andALL_PROXYenvironment variables - Slow connections: Increase
timeout_connectinconfig.py - Check logs: Look for "Using proxy settings" messages in ComfyUI console
- Ensure ComfyUI has write permissions to model directories
- Check available disk space
- Slow downloads: Increase
chunk_sizeand connection limits inconfig.py - Memory usage: Decrease
chunk_sizeandlimitsettings - Corporate restrictions: Reduce
limit_per_hostto be more server-friendly
- Workflow Validation: Only models defined in workflow templates can be installed
- Zero-Trust Model: Backend validates all requests against cached workflow index
- Path Protection: Prevents directory traversal attacks with safe path joining
- Secure Authentication: Hugging Face tokens stored using standard
huggingface_hublibrary
The model installer automatically detects and uses proxy settings from environment variables. This works independently of ComfyUI's proxy configuration and includes robust timeout handling and error feedback.
Set these environment variables before starting ComfyUI:
# For HTTP and HTTPS proxies
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
# For authenticated proxies
export HTTP_PROXY=http://username:[email protected]:8080
export HTTPS_PROXY=http://username:[email protected]:8080
# For SOCKS proxies (supports all protocols)
export ALL_PROXY=socks5://127.0.0.1:7890
# Mixed proxy setup example (supports both cases)
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
# Exclude local addresses from proxy
export NO_PROXY=localhost,127.0.0.1,.local
# Then start ComfyUI
python main.py --listen 0.0.0.0 --port 8189set HTTP_PROXY=http://proxy.company.com:8080
set HTTPS_PROXY=http://proxy.company.com:8080
set ALL_PROXY=socks5://127.0.0.1:7890
python main.py --listen 0.0.0.0 --port 8189- Fast failure detection: 30 seconds to establish connection (configurable)
- No download timeout: Large model files can take hours without interruption
- Immediate error feedback: "Failed to Initiate Download" appears instantly on connection issues
- Smart retry system: "Retry Install" button for failed downloads with error details
- Comprehensive proxy support: HTTP, HTTPS, SOCKS5, and mixed configurations
- Configurable connection pooling: Optimized for corporate and high-performance environments
- "Install" → "Initiating..." → "Downloading..." (success)
- "Install" → "Initiating..." → "Failed to Initiate Download" (connection timeout/proxy issues)
- "Downloading..." → "Retry Install" (download failure during progress)
The model installer uses its own HTTP client with configurable settings for optimal performance in any network environment, including corporate proxies and restricted networks.
MIT License - see LICENSE file for details


