83 lines
2.8 KiB
Markdown
83 lines
2.8 KiB
Markdown
# 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 | 7–17 GB | FP8/FP16 |
|
||
| Text encoder (T5-XXL) | 10 GB | often largest single file |
|
||
| VAE | 300–800 MB | small |
|
||
| LoRA | 50–500 MB | small, many files |
|
||
| Checkpoint (.ckpt) | 4–7 GB | deprecated for Flux |
|
||
|
||
Total for a single workflow: 20–35 GB minimum. Plan LXC rootfs accordingly.
|