Skip to main content

A robust CLI tool for downloading models for ComfyUI

Project description

ComfyDL

PyPI version Python versions License Downloads

ComfyDL is a robust Command Line Interface (CLI) tool for downloading models for ComfyUI. It automates the process of fetching models from various sources (like Hugging Face, Civitai) and placing them into the correct directories within your ComfyUI installation.

Install ComfyUI Models with Ease

comfydl flux1
comfydl flux1_dev_fp8
comfydl pony
comfydl dreamshaper
comfydl common_vae
comfydl qwen_image_edit
comfydl chilloutmix
comfydl civitai 354657 # Dreamshaper lightning DPM++ SDE

Features

  • Smart Downloads: Automatically places files in the correct models/* subdirectories (e.g., models/ipadapter, models/diffusion_models).
  • Multi-Source Support: Easily download from Hugging Face, Civitai, and more using YAML configurations.
  • Interactive Menu: Select models to download from a user-friendly list.
  • Resumable: Uses aria2c (recommended) or wget for reliable, resumable downloads.
  • Configurable: Set your ComfyUI root path and API tokens once, and they are remembered.

Requirements

  • Python 3.8+
  • Download Tools: aria2c (highly recommended for speed) or wget.
    • macOS: brew install aria2
    • Linux: sudo apt install aria2
    • Windows: choco install aria2

Installation

Via PyPI (Recommended)

pip install comfydl

Via Git

pip install git+https://github.com/ShinChven/comfydl.git

To update:

pip install -U git+https://github.com/ShinChven/comfydl.git

Jupyter / Colab Setup

!apt-get update && apt-get install aria2
!pip install comfydl
!comfydl set COMFYUI_ROOT /content/ComfyUI
!mkdir -p /content/ComfyUI/

Configuration

Before starting, configure your ComfyUI root directory. You can also set a Civitai token if downloading restricted models.

# Set ComfyUI Root Path
comfydl set COMFYUI_ROOT /path/to/your/ComfyUI

# (Optional) Set Civitai API Token
comfydl set CIVITAI_TOKEN your_api_token

# (Optional) Set Hugging Face Token (for private/gated models)
comfydl set HF_TOKEN your_hf_token

# (Optional) Set Custom Model Sources Path
comfydl set MODEL_SOURCES_PATH /path/to/your/custom/sources

These settings are persisted locally in ~/.comfydl_config.

Usage

Interactive Mode

Simply run comfydl without arguments to launch the interactive menu. You can select multiple model sets to download.

comfydl

Command Line Mode

Download a specific model set directly by name:

# General syntax
comfydl <model_source_name> [comfyui_path_override]

# Examples
comfydl flux
comfydl ipadapters
comfydl z_image

Civitai Download

You can quickly download a model from Civitai using its Model Version ID or directly using the download URL. The tool will automatically determine the correct folder (e.g., models/checkpoints, models/loras) based on the model type.

# Using Model Version ID
comfydl civitai 1234567

# Using Direct Download URL
comfydl civitai "https://civitai.com/api/download/models/12345?type=Model&format=SafeTensor"

# Optional: Override ComfyUI root path
comfydl civitai 12345 /path/to/ComfyUI

Note: If you have configured CIVITAI_TOKEN, it will be automatically appended to the request to support downloading restricted or early-access models.

Model Sources & Resolution

comfydl resolves model source names (e.g., flux) by checking locations in the following order:

  1. Exact File Path: If you provide a path to a YAML file, it is used directly.
  2. Custom Model Sources Path: Checks the directory configured via comfydl set MODEL_SOURCES_PATH <path>.
  3. User Global Storage: Checks ~/.comfydl/model_sources/<name>.yaml.
    • Use this to override built-in sources or add personal collections available globally.
  4. Built-in Sources: Checks the model_sources directory bundled with the installed comfydl package.
  5. Local Project Storage: Checks model_sources/<name>.yaml in your current working directory.

Custom Model Sources

To define your own model source, create a YAML file. You can place it in ~/.comfydl/model_sources/ to make it discoverable by name (e.g., comfydl mysource).

YAML Format Example:

description: "My Custom Model Collection"
downloads:
  - url: "https://huggingface.co/some/model.safetensors"
    dest: "models/checkpoints/model.safetensors"
  - url: "https://civitai.com/api/download/models/12345"
    dest: "models/loras/mylora.safetensors"

Contributing

Adding New Default Sources

If you are a maintainer or contributor wishing to add new built-in model sources to the package, please refer to MODEL_SOURCE.md.

Legacy Scripts

The original shell scripts (e.g., download-ipadapters.sh) are still present in the repository for reference but comfydl is the recommended way to download models.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

comfydl-0.1.5.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

comfydl-0.1.5-py3-none-any.whl (63.7 kB view details)

Uploaded Python 3

File details

Details for the file comfydl-0.1.5.tar.gz.

File metadata

  • Download URL: comfydl-0.1.5.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for comfydl-0.1.5.tar.gz
Algorithm Hash digest
SHA256 276fd32e2b4592b2e923907cc215d2834b5dc88bccc3fe51ed13455087719167
MD5 937233abd6c3fe5921cecf77234ad145
BLAKE2b-256 11d0e2cdd91df5f2228a8bbeca99b5fd0fca8373b833ea1ce679db1452f6284b

See more details on using hashes here.

File details

Details for the file comfydl-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: comfydl-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 63.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for comfydl-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ce131ff6c9410254a45fda7ae1b64d7b018a95724c87d030b7923418541f0526
MD5 9b2db1ae0f812e1dcf60af41884b8ec2
BLAKE2b-256 b3e391541262909dc01533a72d0b81145226559d4b21827eb1e0939b255a04a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page