A powerful and user-friendly extension for ComfyUI that adds a built-in model downloader with a sleek modal interface. Download models, LoRAs, VAEs, and other assets directly from URLs without leaving ComfyUI.
- π High-Speed Downloads: Uses
wgeton the ComfyUI server for robust large-file downloads - π¦ Queue Management: Download multiple files with automatic queue processing
- π― Smart Integration: Detects missing models from your workflow and suggests downloads
- β‘ One-Click Missing Downloads: Queue every missing workflow model from the top-right action bar
- π Real-time Progress: Live progress tracking for queued and active downloads
- π‘οΈ Security: Built-in path traversal protection and file validation
- π Auto-Organization: Downloads files to the correct ComfyUI folders (checkpoints, loras, VAEs, etc.)
- βΈοΈ Download Control: Cancel downloads in progress with queue management
- π¨ Clean UI: Modal-based interface that integrates seamlessly with ComfyUI
π Watch Full Video
Models urls are loaded from workflow or https://github.com/Comfy-Org/ComfyUI-Manager/blob/main/model-list.json
-
Navigate to your ComfyUI custom nodes directory:
cd ComfyUI/custom_nodes/ -
Clone this repository:
git clone https://github.com/taigadit/ComfyUI-Downloader.git
-
Install Python dependencies:
cd ComfyUI-Downloader pip install -r requirements.txt -
Install
wgetif your system does not already provide it:# macOS (Homebrew) brew install wget # Ubuntu / Debian sudo apt-get install wget
-
Restart ComfyUI
- Python 3.8+
- ComfyUI
- Dependencies:
- Python package:
aiohttp
- System dependency:
wgetavailable in serverPATH
- Click the "Downloader" button in the ComfyUI interface (next to the settings button)
- The downloader modal will open
- Use Refresh Models to scan the current workflow for referenced models
- To download everything missing at once, click Download Missing in the top-right action bar
- Or paste a model URL in the manual download section for a single file
- Select the destination folder (checkpoints, loras, vae, etc.)
- Enter a filename (supports subfolders like
subfolder/model.safetensors) - Click Download
You can organize downloads into subfolders:
my-loras/character-lora.safetensors
sdxl/checkpoints/my-model.safetensors
- If a file already exists, you'll be prompted for confirmation
- Choose to override or cancel the download
- The extension scans your workflow for missing models
- Missing models are highlighted in the UI for quick downloading
- The Download Missing button queues every missing model that already has a URL and folder configured
- If any missing model does not have a URL or folder, the batch action stops immediately and shows which entries need to be fixed first
Example of the batch download controls in the top-right action bar, with the Download Missing button highlighted:
- Multiple downloads are queued automatically
- One download processes at a time for optimal performance
- Cancel queued or active downloads anytime
- Batch downloads reuse the same queue, so one-click actions stay in order with manual downloads
The extension shells out to wget for the actual file transfer and polls the output file to report progress back to the UI.
The downloader supports all standard ComfyUI model directories:
- checkpoints
- loras
- vae
- upscale_models
- embeddings
- controlnet
- clip_vision
- And more...
ComfyUI-Downloader includes multiple security measures:
- Path traversal attack prevention
- Filename validation (no backslashes, dots, or escape sequences)
- Path resolution verification
- Only downloads to configured ComfyUI model directories
The extension provides REST API endpoints for programmatic access:
POST /{API_PREFIX}/server_download/start
{
"url": "https://example.com/model.safetensors",
"save_path": "checkpoints",
"filename": "model.safetensors",
"override": false
}
POST /{API_PREFIX}/server_download/cancel
{
"download_id": "checkpoints/model.safetensors"
}
server_download_progress: Real-time progress updatesserver_download_complete: Download completion notificationserver_download_error: Error notifications
ComfyUI-Downloader/
βββ assets/ # README screenshots
βββ __init__.py # Main extension logic and API endpoints
βββ requirements.txt # Python dependencies
βββ web/
β βββ css/
β β βββ downloader.css # UI styling
β βββ js/
β βββ downloader.js # Extension initialization
β βββ UI.js # Modal UI implementation
βββ README.md
- Make your changes
- Restart ComfyUI to reload the extension
- Test in the browser console for any errors
- Ensure ComfyUI is fully loaded before looking for the button
- Check browser console for JavaScript errors
- Verify the extension is in the
custom_nodesdirectory
- Check internet connectivity
- Verify the URL is accessible
- Check browser console and ComfyUI terminal for error messages
- Ensure you have write permissions to the ComfyUI directories
- If Download Missing stops immediately, fill in the missing URL or folder shown in the alert and try again
- Download performance depends on the remote host and your server network path
- Check that
wgetis installed and accessible from the ComfyUI process - Check your network bandwidth and latency
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
Created for the ComfyUI community to make model management easier and more efficient.
If you encounter issues or have suggestions:
- Open an issue on GitHub
- Check existing issues for solutions
- Provide error messages and browser console logs when reporting bugs

