A ComfyUI custom node for downloading models, LoRAs, upscalers, and more from CivitAI, HuggingFace, and other sources. If you are logged into these pages in a browser it will work without an API token, if you are using runpod or another means you can provide your API token.
- CivitAI Support: Download models directly from CivitAI model pages or API URLs
- HuggingFace Support: Download from HuggingFace repositories (supports blob and resolve URLs)
- Custom URLs: Download from any direct download URL
- Progress Tracking: Real-time download progress with speed indicator
- Auto-Detection: Automatically detects the download source from the URL
- Skip Existing: Optionally skip download if file already exists
- API Token Support: Authenticate with CivitAI or HuggingFace for gated models
- Interrupt Handling: Safely handles user cancellation and cleans up partial downloads
Search for "Kiko Downloader" in ComfyUI Manager and install.
-
Navigate to your ComfyUI custom nodes directory:
cd ComfyUI/custom_nodes -
Clone this repository:
git clone https://github.com/yourusername/kiko-downloader.git
-
Restart ComfyUI
The node appears under 🫶 ComfyAssets / 🛠️ Utils category in ComfyUI.
| Input | Type | Description |
|---|---|---|
url |
STRING | URL to download from (CivitAI, HuggingFace, or direct link) |
save_path |
STRING | Directory path to save the downloaded file (relative to ComfyUI) |
filename |
STRING (optional) | Custom filename (leave empty for auto-detection) |
api_token |
STRING (optional) | API token for CivitAI or HuggingFace authentication |
force_download |
BOOLEAN | Force re-download even if file exists |
CivitAI:
- Model page:
https://civitai.com/models/12345 - Specific version:
https://civitai.com/models/12345?modelVersionId=67890 - Direct API:
https://civitai.com/api/download/models/67890
HuggingFace:
- Blob URL:
https://huggingface.co/username/repo/blob/main/model.safetensors - Resolve URL:
https://huggingface.co/username/repo/resolve/main/model.safetensors
Custom:
- Any direct download URL:
https://example.com/files/model.safetensors
| Model Type | Save Path |
|---|---|
| Checkpoints | models/checkpoints |
| LoRAs | models/loras |
| VAE | models/vae |
| Upscalers | models/upscale_models |
| ControlNet | models/controlnet |
| Embeddings | models/embeddings |
- Go to CivitAI Account Settings
- Navigate to "API Keys"
- Create a new API key
- Copy the key and paste it in the
api_tokeninput
- Go to HuggingFace Settings
- Create a new access token with "Read" permissions
- Copy the token and paste it in the
api_tokeninput
kiko-downloader/
├── __init__.py # ComfyUI entry point
├── kiko_downloader/ # Main package
│ ├── __init__.py # Package exports
│ ├── node.py # ComfyUI node implementation
│ ├── base.py # Base downloader class
│ ├── civitai.py # CivitAI downloader
│ ├── huggingface.py # HuggingFace downloader
│ ├── custom.py # Custom URL downloader
│ └── detector.py # URL type detection
├── pyproject.toml # Project configuration
├── requirements.txt # Dependencies (none required)
├── LICENSE # MIT License
└── README.md # This file
- Python 3.10+
- No external dependencies (uses only Python standard library)
# Format code
black .
# Lint
flake8 .
# Type check
mypy .MIT License - see LICENSE for details.