ai-toolkit-trainer
Train custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the…
Common ComfyUI errors and fixes. OOM, missing nodes, dtype mismatches, black images, and debugging strategies
$ npx -y skills add artokun/comfyui-mcp --skill troubleshooting --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/troubleshootingContext preview
The summary Claude sees to decide when to auto-load this skill.
Common ComfyUI errors and fixes. OOM, missing nodes, dtype mismatches, black images, and debugging strategies
name: troubleshooting description: Common ComfyUI errors and fixes. OOM, missing nodes, dtype mismatches, black images, and debugging strategies globs: - "**/*.json"
> Render completes but looks WRONG (artifacts, wrong subject/pose/color, a > ControlNet/mask/LoRA not taking, a refiner degrading it)? That's not an error. > Use the debug-render skill (`list_packs` with `action: "skill_read"`, > `name: "debug-render"`) to localize the bad stage with run-to-node > (`panel_run` `to_node_id`) by previewing intermediate steps. This guide is for > runs that fail with an error, OOM, or missing node.
When a workflow fails, follow this approach:
1. Get the error. Use `get_history(action="diagnose")` to retrieve the execution result with the full traceback, plus any missing models/nodes 2. Check logs. Use `get_system_stats (action:"logs")` with keyword filters like `"error"`, `"warning"`, `"traceback"` 3. Identify the failing node. The history response includes the `node_id` and `node_type` that failed 4. Cross-reference inputs. Use `create_workflow (action:"node_info")` to verify the failing node's expected input schema 5. Check models. Use `list_local_models` to verify all referenced model files exist
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate X MiB. GPU 0 has a total capacity of 24.00 GiB of which X MiB is free.
Or:
RuntimeError: CUDA error: out of memory
The GPU does not have enough VRAM to hold the model weights, intermediate tensors, and latent images at the same time. Common triggers:
1. Reduce resolution. Drop to the model's native resolution (512 for SD 1.5, 1024 for SDXL/Flux) 2. Use FP8/FP16 quantized models. FP8 Flux models use ~8GB vs ~24GB for FP16
3. Launch flags (the VRAM ladder). Offload via ComfyUI CLI flags:
4. Free VRAM between generations. ComfyUI should auto-manage, but restarting clears leaked memory 5. Use tiled VAE decoding. For high-resolution images, tile the VAE decode step
6. Reduce batch size. Set batch_size to 1 in `EmptyLatentImage` 7. Avoid multiple models. Don't load two full checkpoints at the same time; use one checkpoint and LoRAs instead 8. For LTXV/video: always use FP8 quantized video models on 24GB cards
| Model | FP32 | FP16 | FP8 | |-------|------|------|-----| | SD 1.5 | ~4GB | ~2GB | ~1GB | | SDXL | ~12GB | ~6GB | ~3GB | | Flux Dev | ~48GB | ~24GB | ~12GB | | Flux Schnell | ~48GB | ~24GB | ~12GB | | LTXV | ~20GB+ | ~10GB+ | ~6GB |
ComfyUI's startup flags tune the speed↔VRAM tradeoff. Match them to the detected GPU (the panel orchestrator reports VRAM/GPU/torch/sage in its env block; pick the tier from there). Set them on the process that launches ComfyUI (or the `--panel-orchestrator` / `connect` command's ComfyUI, not the agent).
| Flag | Card | Behavior | |------|------|----------| | `--gpu-only` | 16GB+ | Everything (CLIP/VAE/UNet) stays on GPU — fastest, max VRAM | | `--highvram` | 12–16GB | Models stay resident in GPU after use, no CPU offload | | `--normalvram` | 8–12GB | Default balance — unload to CPU RAM when idle | | `--lowvram` | 6–8GB | Split the UNet, aggressive CPU offload — slower | | `--novram` | 4–6GB | Extreme split/offload — for OOM even on lowvram, or long videos | | `--cpu` | <4GB / no GPU | CPU only (very slow) |
`--reserve-vram N` (GB) leaves headroom for the OS and other apps. Bump it if you OOM intermittently mid-run (VAE decode / audio round-trips spike).
| Flag | Effect | |------|--------| | `--cache-classic` | Default aggressive caching (fastest re-runs, most RAM) | | `--cache-lru N` | Keep the last N node results (bounded RAM) | | `--cache-ram N` | Cap cache to N GB of headroom | | `--cache-none` | No caching — minimal RAM, re-runs every node |
| Flag | Notes | |------|-------| | `--use-sage-attention` | **Recommended** — fast + efficient (needs SageAttention + Triton; see `triton-sageattention`) | | `--use-flash-attention` | Very fast on supported GPUs | | `--use-pytorch-cross-attention` | PyTorch 2.x native — best compatibility | | `--use-split-cross-attention` | Lower VRAM, slower | | `--use-quad-cross-attention` | Sub-quadratic optimization | | (omit) | Auto-selects xFormers if available |
| Flag | Effect | |------|--------| | `--fp16-unet` | Half precision, ~50% VRAM | | `--bf16-unet` | BFloat16, good balance (newer GPUs) | | `--fp8_e4m3fn-unet` | 8-bit float, max savings (newest GPUs) |
Typical recipes:
This project is no longer maintained. ComfyUI now ships official agent and MCP tooling — Comfy Agent and Comfy MCP — built and supported by the Comfy-Org team with deeper integration than a community project can match.
Repo: artokun/comfyui-mcp
Train custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the…
Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags + natural language;…
Train a custom anime LoRA on the ANIMA base model with Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM, character/style LoRAs; covers setup,…
Discover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on…
Diagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as black/white points, contrast, saturation,…
Core ComfyUI knowledge covering workflow format, node types, pipeline patterns, and MCP tool usage