model-registry

$npx mdskill add artokun/comfyui-mcp/model-registry

Provides curated model download URLs and target directories for ComfyUI.

  • Resolves missing-model errors during workflow execution or new machine setup.
  • Depends on HuggingFace and CivitAI for model sources and download APIs.
  • Organizes models by family (Flux, WAN, LTX, etc.) and maps to correct subfolders.
  • Returns exact filename, source URL, and target subdirectory for download_model calls.

SKILL.md

.github/skills/model-registryView on GitHub ↗
---
name: model-registry
description: Curated download URLs and target directories for every model the comfyui-mcp skills reference — checkpoints, VAEs, text encoders, LoRAs — organized by family (Flux, WAN, LTX, Qwen, Z-Image, SD15/SDXL). Use when downloading models with download_model / download_civitai_model, when a workflow fails with a missing-model error, or when setting up a new machine.
---

# Model Registry

One table per family: filename → source URL → target subdir under
`<COMFYUI>/models/`. Use with `download_model(url, target_subfolder, filename)`.
This registry grows with every release — if a model you need is missing, use
`search_models` (HuggingFace) or `download_civitai_model` and consider
contributing the row.

**Conventions**
- HF "resolve" URLs download directly: `https://huggingface.co/<repo>/resolve/main/<path>`
- 🔒 = gated repo — needs `HUGGINGFACE_TOKEN` (accept the license on the HF page first)
- CivitAI model-page URLs need `download_civitai_model` (resolves version → file); raw `civitai.com/api/download/...` URLs work with `download_model` + `CIVITAI_API_TOKEN`
- Always verify the exact filename a workflow's loader expects — `model-compatibility` skill covers which VAE/CLIP pairs with which architecture

## Shared VAEs & text encoders (download these once)

| File | Source | Target |
|---|---|---|
| `ae.safetensors` (Flux/Z-Image VAE) | `huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors` (Apache, not gated) | `vae/` |
| `vae-ft-mse-840000-ema-pruned.safetensors` (SD1.5 VAE) | `huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors` | `vae/` |
| `clip_l.safetensors` | `huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors` | `text_encoders/` |
| `t5xxl_fp8_e4m3fn.safetensors` | `huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors` | `text_encoders/` |
| `umt5_xxl_fp8_e4m3fn_scaled.safetensors` (WAN) | `huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors` | `text_encoders/` |

## Flux (see `flux-txt2img` skill for workflows)

| File | Source | Target |
|---|---|---|
| `flux1-dev.safetensors` 🔒 | `huggingface.co/black-forest-labs/FLUX.1-dev` | `diffusion_models/` |
| `flux1-schnell.safetensors` | `huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/flux1-schnell.safetensors` | `diffusion_models/` |
| `flux2-vae.safetensors` (Flux 2 Klein) | `huggingface.co/Comfy-Org/flux2-klein` — check repo for current path | `vae/` |

## WAN 2.x video (see `wan-t2v-video` / `wan-flf-video` skills)

Comfy-Org repackages everything: `huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged` under `split_files/`.

| File | Path in repo | Target |
|---|---|---|
| `wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors` | `split_files/diffusion_models/` | `diffusion_models/` |
| `wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors` | `split_files/diffusion_models/` | `diffusion_models/` |
| `wan_2.1_vae.safetensors` | `split_files/vae/` | `vae/` |
| `wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors` | `split_files/loras/` | `loras/` |
| `wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors` | `split_files/loras/` | `loras/` |
| Magical-morph I2V LoRAs (high/low) | `huggingface.co/NikolaSigmoid/wan2.2-i2v-loras-magical-morph` | `loras/` |
| SkinMorph Redmond I2V 14B | `civitai.com/models/2210162` (use `download_civitai_model`) | `loras/` |

## LTX-2 19B video (see `ltxv2-video` skill)

| File | Source | Target |
|---|---|---|
| `ltx-2-19b-distilled.safetensors` | `huggingface.co/Lightricks/LTX-2` — check repo for the bf16 distilled path | `checkpoints/` |
| `gemma_3_12B_it_fp4_mixed.safetensors` | `huggingface.co/Comfy-Org` LTX repackage | `text_encoders/` |
| `ltx-2-spatial-upscaler-x2-1.0.safetensors` | `huggingface.co/Lightricks/LTX-2` | `upscale_models/` |
| Camera-control LoRAs (`dolly-left`, distilled-384) | `huggingface.co/Lightricks/LTX-2` LoRA dir | `loras/` |

## Qwen-Image (see `qwen-txt2img` / `qwen-image-edit` skills)

| File | Source | Target |
|---|---|---|
| `qwen_image_fp8_e4m3fn.safetensors` | `huggingface.co/Comfy-Org/Qwen-Image_ComfyUI/resolve/main/split_files/diffusion_models/qwen_image_fp8_e4m3fn.safetensors` | `diffusion_models/` |
| `qwen_2.5_vl_7b_fp8_scaled.safetensors` | same repo, `split_files/text_encoders/` | `text_encoders/` |
| `qwen_image_vae.safetensors` | same repo, `split_files/vae/` | `vae/` |
| `qwen_image_edit_2511_bf16.safetensors` | `huggingface.co/Comfy-Org/Qwen-Image-Edit_ComfyUI` — check repo | `diffusion_models/` |
| Qwen-Image 2512 Lightning LoRA | `huggingface.co/lightx2v/Qwen-Image-2512-Lightning` | `loras/` |
| Qwen-Image-Edit 2511 Lightning LoRA | `huggingface.co/lightx2v/Qwen-Image-Edit-2511-Lightning` | `loras/` |
| Qwen-Image 2512 Turbo LoRA | `huggingface.co/Wuli-art/Qwen-Image-2512-Turbo-LoRA` | `loras/` |

## Z-Image (see `z-image-txt2img` skill)

| File | Source | Target |
|---|---|---|
| `z_image_turbo_bf16.safetensors` | `huggingface.co/Comfy-Org/z_image_turbo` — check repo for split_files path | `diffusion_models/` |
| `z_image_base_bf16.safetensors` | same family repo | `diffusion_models/` |
| `qwen_3_4b.safetensors` (Z-Image text encoder) | Comfy-Org repackage, `split_files/text_encoders/` | `text_encoders/` |

## SDXL / SD1.5 community checkpoints (CivitAI)

Use `download_civitai_model(model_id)` — it resolves the latest version and
handles auth:

| Model | CivitAI |
|---|---|
| RedCraft RedZ ImageDX | `civitai.com/models/958009` |
| (2027494 entry in model-settings.json) | `civitai.com/models/2027494` |
| Copax Timeless | `civitai.com/models/copaxTimeless` (search by name) |

## Failure modes

- **404 on an HF resolve URL** — the repo restructured. Open the repo page,
  find the file under "Files", and rebuild the resolve URL.
- **401/403** — gated repo: set `HUGGINGFACE_TOKEN` after accepting the
  license, or `CIVITAI_API_TOKEN` for early-access CivitAI files.
- **Wrong dropdown after download** — file landed in the wrong `models/`
  subdir; check the Target column and `model-compatibility`.
- Downloads resume automatically on retry (HTTP Range) — re-run the same
  `download_model` call after a network drop.

More from artokun/comfyui-mcp

SkillDescription
ai-toolkit-trainerTrain 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 user wants to train a WAN or Z-Image LoRA; covers local + RunPod setup, dataset prep, key params, and using the result in a ComfyUI workflow.
anima-baseAnime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT) — use for anime, manga, illustrated characters; accepts Danbooru tags + natural language; runs/trains on <6GB VRAM; includes anime inpainting via Anima-LLLite ControlNet
anima-lora-trainerTrain a custom anime LoRA on the ANIMA base model — Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM, character/style LoRAs; covers setup, dataset prep, training params, and using the result in the anima-base workflow
civitaiDiscover Civitai models with the BUILT-IN search_civitai_models tool and install/generate them locally — find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).
color-correctionDiagnose and fix video/image color OBJECTIVELY with the analyze_color tool (scopes/stats — black/white points, contrast, saturation, clipping, cast) instead of eyeballing a contact sheet. Covers the "washed out" signature, why reference color-match (mkl/ColorMatch/ColorMatchAdobe) CAN'T add contrast a flat source lacks, the levels/contrast-stretch fix (core AdjustContrast / CurveEditor), the measure→fix→re-measure loop, the side-by-side sandbox pattern, and where to place the fix in a render graph (after decode, before save). Use when a render looks washed out / flat / dull / over-saturated / color-cast, or when deciding between a color-match and a contrast/levels fix.
comfyui-coreCore ComfyUI knowledge — workflow format, node types, pipeline patterns, and MCP tool usage
comfyui-frontend-extensionsAuthoring ComfyUI v2 frontend extensions with @comfyorg/extension-api — defineNode/defineExtension/defineWidget, shell UI (sidebar tabs, commands, hotkeys), typed events, and handles. Use when writing or editing ComfyUI web-UI extension code (custom node JS, sidebar panels, widgets).
comfyui-launch-flagsPick the right ComfyUI startup flags for VRAM, attention, caching, and speed — the full decision matrix for OOM (--novram / --cache-none / --disable-smart-memory), shared-VRAM creep on Windows (--reserve-vram N), model-switching with big text encoders (--cache-none), high-VRAM throughput (--gpu-only / --highvram), and attention-backend selection (--use-sage-attention for speed, --use-pytorch-cross-attention as the highest-quality / Z-Image-safe fallback). Also the acceleration-stack + Blackwell/RTX 5000 (sm_120) notes. Use when a graph OOMs (especially long video like LTX 2 / WAN), when the GPU spills into shared VRAM and slows to a crawl, when switching between models eats all RAM, when Z-Image produces black/garbled output under Sage, or when deciding which attention backend to launch with. Flag names verified against upstream comfy/cli_args.py — see Sources.
comfyui-node-registryAuthoring & publishing ComfyUI custom nodes to the Comfy Registry — node structure, pyproject.toml spec, comfy-cli publishing, and CI
debug-renderDebug a WRONG or imperfect render (not a hard error) by inspecting inputs and intermediate steps with run-to-node — render one branch up to an output, preview-tap latents/masks/preprocessor maps, localize the first bad stage, then fix. Use when a final image/video comes out wrong — artifacts, wrong subject/pose/composition/color, blur, a ControlNet/IPAdapter/mask/LoRA not taking, a two-stage refiner or upscale degrading the result — rather than the run failing with an error (for errors/OOM/missing nodes use the troubleshooting skill).