Files
hermes-skills/devops/proxmox-ve-administration/references/proxmox-lxc-gpu/comfyui-model-directories.md
T

83 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ComfyUI Model Directory Layout (CT 204 Reference)
Canonical path inside the LXC: `/opt/ComfyUI/models/`
## Directory-to-Node Mapping
| Directory | ComfyUI Node Type | Example Models |
|---|---|---|
| `checkpoints/` | Load Checkpoint | legacy `.ckpt`, `.safetensors` |
| `diffusion_models/` | Load Diffusion Model | Flux, SD3, Ideogram, etc. |
| `text_encoders/` | CLIP Text Encode | T5, Qwen-VL, CLIP-L, etc. |
| `vae/` | Load VAE | SD VAE, Flux VAE |
| `unet/` | deprecated alias for diffusion_models | — |
| `clip/` | Load CLIP | CLIP models (some workflows use this instead of text_encoders) |
| `clip_vision/` | CLIP Vision Encode | image-to-text encoders |
| `controlnet/` | Load ControlNet | `.safetensors` control nets |
| `loras/` | Load LoRA | `.safetensors` LoRAs |
| `embeddings/` | Embedding | textual inversion files |
| `upscale_models/` | Upscale Model | ESRGAN, RealESRGAN |
| `vae_approx/` | VAE Decode (taesd) | TAESD approx decoder |
## Model Source URLs
### HuggingFace
Always use `resolve` URL + `-O` filename:
```bash
cd /opt/ComfyUI/models/diffusion_models
wget -c "https://huggingface.co/Comfy-Org/Ideogram-4/resolve/main/diffusion_models/ideogram4_fp8_scaled.safetensors" -O ideogram4_fp8_scaled.safetensors
```
- `blob` URL → HTML preview page (wrong)
- `resolve` URL → 302 to CDN, then binary (correct)
- `-O` ensures predictable filename regardless of redirect
### CivitAI
CivitAI model page is NOT the download URL:
```bash
# WRONG - downloads HTML page
wget "https://civitai.com/models/12345/model-name"
# CORRECT - api download endpoint
wget "https://civitai.com/api/download/models/67890?type=Model&format=SafeTensor" -O model.safetensors
```
## Verifying Downloads
```bash
ls -lh /opt/ComfyUI/models/diffusion_models/
file /opt/ComfyUI/models/diffusion_models/*.safetensors
```
`file` should report `data` or similar binary type, not `HTML document`.
## Parallel Downloads
When queueing multiple large models, run each in background and poll:
```bash
# Start 3 downloads in parallel
pct exec 204 -- bash -c 'cd /opt/ComfyUI/models/text_encoders && nohup wget -c --tries=0 --read-timeout=30 "..." -O qwen3vl_8b_fp8_scaled.safetensors > /tmp/qwen_dl.log 2>&1 &'
pct exec 204 -- bash -c 'cd /opt/ComfyUI/models/diffusion_models && nohup wget -c --tries=0 --read-timeout=30 "..." -O ideogram4_fp8_scaled.safetensors > /tmp/ideogram_dl.log 2>&1 &'
# Poll
pct exec 204 -- tail -5 /tmp/qwen_dl.log
pct exec 204 -- ls -lh /opt/ComfyUI/models/
```
## Disk Space Planning
| Model Type | Typical Size | Notes |
|---|---|---|
| FLUX/SD XL diffusion model | 717 GB | FP8/FP16 |
| Text encoder (T5-XXL) | 10 GB | often largest single file |
| VAE | 300800 MB | small |
| LoRA | 50500 MB | small, many files |
| Checkpoint (.ckpt) | 47 GB | deprecated for Flux |
Total for a single workflow: 2035 GB minimum. Plan LXC rootfs accordingly.