48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# ComfyUI Model Downloader
|
||
|
||
Download models from Hugging Face and Civitai into ComfyUI model folders. Use one YAML config and run on any machine (local, server, rented GPU).
|
||
|
||
## Setup
|
||
|
||
```bash
|
||
git clone <repo-url>
|
||
cd model_downloader
|
||
python -m venv venv
|
||
source venv/bin/activate # Windows: venv\Scripts\activate
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
Copy the example config and edit it:
|
||
|
||
```bash
|
||
cp config.example.yaml config.yaml
|
||
```
|
||
|
||
Edit `config.yaml`: set `huggingface_token`, `civitai_token`, `comfyui_base_dir`, and add model URLs under the right keys. **Do not commit `config.yaml`** (it is gitignored).
|
||
|
||
## Run
|
||
|
||
```bash
|
||
python -m model_downloader
|
||
```
|
||
|
||
- `--config PATH` – config file (default: `config.yaml` in current directory).
|
||
- `--dry-run` – print what would be downloaded and where; no writes.
|
||
- `--only TYPE ...` – only process these model types (e.g. `--only diffusion_models loras`).
|
||
|
||
## Config keys and ComfyUI folders
|
||
|
||
| Config key | ComfyUI subdir (under `comfyui_base_dir/models/`) |
|
||
|--------------------|--------------------------------------------------|
|
||
| diffusion_models | diffusion_models |
|
||
| text_encoders | text_encoders |
|
||
| vaes | vae |
|
||
| upscale_models | upscale_models |
|
||
| loras | loras |
|
||
|
||
Tokens stay in your local `config.yaml` only; keep them out of git.
|
||
|
||
## Idempotency
|
||
|
||
Same URL and model type always write to the same path (`comfyui_base_dir/models/<subdir>/<filename>`). Re-running is safe: existing model files are skipped (no re-download, no overwrite).
|