New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Model family compatibility matrix covering loaders

ComfyUI Model Compatibility Matrix

by artokun · MIT license · ★ 759 on GitHub · updated Sep 21

ComfyUI Model Compatibility Matrix cover

Model family compatibility matrix covering loaders, resolutions, samplers, CFG, VAE, ControlNet, and LoRA compatibility for SD 1.5, SDXL, Flux, SD3, and video models

---
name: model-compatibility
description: Model family compatibility matrix covering loaders, resolutions, samplers, CFG, VAE, ControlNet, and LoRA compatibility for SD 1.5, SDXL, Flux, SD3, and video models
globs:
  - "**/*.json"
---

# ComfyUI Model Compatibility Matrix

## Stable Diffusion 1.5 (SD 1.5)

### Overview

The original widely-adopted Stable Diffusion model. Huge ecosystem of fine-tunes, LoRAs, ControlNets, and embeddings. Still the most compatible and lightweight model family.

### Configuration

| Parameter | Value |

Overview

The original widely-adopted Stable Diffusion model. Huge ecosystem of fine-tunes, LoRAs, ControlNets, and embeddings. Still the most compatible and lightweight model family.

Manual install (npx, ZIP)
Claude Codenpx skills add artokun/comfyui-mcp --skill model-compatibility -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/artokun/comfyui-mcp/tar.gz/1d5b12b1b499 \ | tar -xz -C ~/.claude/skills --strip-components=3 comfyui-mcp-1d5b12b1b499/plugin/skills/model-compatibility
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/69d324f0b74ac1665197/model-compatibility.zip" -OutFile "$env:TEMP\model-compatibility.zip"; Expand-Archive "$env:TEMP\model-compatibility.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md15.9 KB
Read the files here
artokun/1d5b12b1 file
SKILL.md
Show the full text441 lines

ComfyUI Model Compatibility Matrix

Stable Diffusion 1.5 (SD 1.5)

Overview

The original widely-adopted Stable Diffusion model. Huge ecosystem of fine-tunes, LoRAs, ControlNets, and embeddings. Still the most compatible and lightweight model family.

Configuration
Parameter Value
Loader CheckpointLoaderSimple
Native Resolution 512x512
Supported Resolutions 512x512, 512x768, 768x512, 768x768 (some fine-tunes)
VAE Built-in or external (vae-ft-mse-840000-ema-pruned.safetensors)
CLIP Single CLIP-L (output index 1 from checkpoint)
Text Encoder Node CLIPTextEncode
CFG Range 7-12 (typical: 7.5)
Negative Prompt Yes — very important for quality
Steps 20-30 (standard samplers)
Sampler All standard samplers: euler, euler_ancestral, dpmpp_2m, dpmpp_sde, ddim
Scheduler normal, karras
Denoise 1.0 (txt2img), 0.5-0.8 (img2img)
VRAM (FP16) ~2-3GB
Workflow Pattern
CheckpointLoaderSimple → MODEL(0), CLIP(1), VAE(2)
  CLIP(1) → CLIPTextEncode (positive) → CONDITIONING
  CLIP(1) → CLIPTextEncode (negative) → CONDITIONING
EmptyLatentImage (width=512, height=512) → LATENT
KSampler (cfg=7.5, steps=20, sampler="euler", scheduler="normal") → LATENT
VAEDecode → IMAGE
SaveImage
VAE Notes
  • Most SD 1.5 checkpoints have a built-in VAE, but it's often mediocre
  • Recommended: Use external vae-ft-mse-840000-ema-pruned.safetensors for better color accuracy
  • Load via VAELoader node and connect to VAEDecode
  • FP16 VAE can produce NaN on some images. FP32 VAE is more stable
ControlNet Compatibility

SD 1.5 has the largest ControlNet ecosystem:

ControlNet Model File Pattern Notes
Canny control_v11p_sd15_canny Edge detection
Depth control_v11f1p_sd15_depth Depth map
OpenPose control_v11p_sd15_openpose Skeleton/pose
Scribble control_v11p_sd15_scribble Hand-drawn lines
Lineart control_v11p_sd15_lineart Clean lines
Softedge control_v11p_sd15_softedge Soft edges (HED)
Normal control_v11p_sd15_normalbae Normal maps
Seg control_v11p_sd15_seg Semantic segmentation
Tile control_v11f1e_sd15_tile Tile/upscale guidance
Inpaint control_v11p_sd15_inpaint Inpainting guidance
IP-Adapter ip-adapter_sd15 Image prompt
LoRA Compatibility
  • SD 1.5 LoRAs ONLY work with SD 1.5 base models
  • Format: .safetensors in models/loras/
  • Loader: LoraLoader node, which connects between checkpoint and CLIPTextEncode
  • Strength range: 0.5-1.0 (higher can cause artifacts)

SDXL (Stable Diffusion XL)

Overview

Major upgrade from SD 1.5 with dual CLIP encoders, higher native resolution, and better prompt understanding. Includes Turbo and Lightning variants for fast generation.

Configuration — SDXL 1.0 (Base)
Parameter Value
Loader CheckpointLoaderSimple
Native Resolution 1024x1024
Supported Resolutions 1024x1024, 832x1216, 1216x832, 896x1152, 1152x896, 768x1344, 1344x768
VAE Built-in (SDXL has good integrated VAE)
CLIP Dual CLIP: CLIP-L + CLIP-G
Text Encoder Node CLIPTextEncode (unified) or CLIPTextEncodeSDXL (separate G/L)
CFG Range 5-10 (typical: 7.0)
Negative Prompt Yes — moderately important
Steps 20-40
Sampler euler, euler_ancestral, dpmpp_2m, dpmpp_sde
Scheduler normal, karras
Denoise 1.0 (txt2img), 0.5-0.8 (img2img)
VRAM (FP16) ~6-7GB
Configuration — SDXL Turbo
Parameter Value
Loader CheckpointLoaderSimple
Resolution 512x512 (optimized for lower res)
CFG 1.0-2.0
Steps 1-4
Sampler euler_ancestral
Scheduler normal
Negative Prompt Minimal or empty
Denoise 1.0
Configuration — SDXL Lightning
Parameter Value
Loader CheckpointLoaderSimple + LoraLoader (Lightning LoRA)
Resolution 1024x1024
CFG 1.0-2.0
Steps 4-8 (match the Lightning variant: 2-step, 4-step, 8-step)
Sampler euler
Scheduler sgm_uniform
Negative Prompt Empty or minimal
Special Requires matching Lightning LoRA for the step count
SDXL Refiner

The optional SDXL refiner model does a second pass to improve fine details:

CheckpointLoaderSimple (base) → KSampler (steps=25, start=0, end=20)
CheckpointLoaderSimple (refiner) → KSampler (steps=25, start=20, end=25)
  • The refiner uses KSamplerAdvanced with start_at_step and end_at_step
  • Typically run the base for 80% of steps, refiner for the last 20%
  • Refiner checkpoint: sd_xl_refiner_1.0.safetensors
Workflow Pattern
CheckpointLoaderSimple → MODEL(0), CLIP(1), VAE(2)
  CLIP(1) → CLIPTextEncode (positive) → CONDITIONING
  CLIP(1) → CLIPTextEncode (negative) → CONDITIONING
EmptyLatentImage (width=1024, height=1024) → LATENT
KSampler (cfg=7.0, steps=25, sampler="dpmpp_2m", scheduler="karras") → LATENT
VAEDecode → IMAGE
SaveImage
ControlNet Compatibility

SDXL ControlNets are separate from SD 1.5 ControlNets:

ControlNet Model File Pattern Notes
Canny control-lora-canny-rank256 or diffusers_xl_canny Often LoRA-based
Depth control-lora-depth-rank256 or diffusers_xl_depth
T2I-Adapter t2i-adapter-*-sdxl Lighter alternative to ControlNet
IP-Adapter ip-adapter_sdxl Image prompt adapter
InstantID instantid-* Face-specific
LoRA Compatibility
  • SDXL LoRAs ONLY work with SDXL base models, NOT with SD 1.5
  • Same LoraLoader node as SD 1.5
  • Lightning LoRAs are SDXL LoRAs that enable few-step generation

Flux (Flux.1)

Overview

Black Forest Labs' model with a T5-XXL text encoder. Produces high-quality images without negative prompts. Available in schnell (fast) and dev (quality) variants.

Configuration — Flux Schnell
Parameter Value
Loader CheckpointLoaderSimple (single-file) or DualCLIPLoader + UNETLoader + VAELoader (split)
Native Resolution 1024x1024 (flexible aspect ratios)
Supported Resolutions Flexible: 512x512 to 2048x2048, any aspect ratio
VAE Separate Flux VAE (ae.safetensors) — NOT shared with SD models
CLIP T5-XXL + CLIP-L via DualCLIPLoader
Text Encoder Node CLIPTextEncode (single combined)
CFG 1.0 (MUST be 1.0 — higher values cause severe artifacts)
Negative Prompt NONE — do not connect negative conditioning
Steps 4
Sampler euler
Scheduler simple or sgm_uniform
Denoise 1.0
VRAM (FP16) ~24GB (FP8: ~12GB)
Configuration — Flux Dev
Parameter Value
Same as Schnell except:
Steps 20-50 (typical: 30)
Scheduler sgm_uniform
VRAM (FP16) ~24GB (FP8: ~12GB)
Loading Methods

Method 1: Single Checkpoint (simplest)

CheckpointLoaderSimple (ckpt_name="flux1-schnell.safetensors")
  → MODEL(0), CLIP(1), VAE(2)

Method 2: Split Components (recommended for FP8)

UNETLoader (unet_name="flux1-schnell-fp8.safetensors") → MODEL
DualCLIPLoader (clip_name1="t5xxl_fp16.safetensors", clip_name2="clip_l.safetensors", type="flux") → CLIP
VAELoader (vae_name="ae.safetensors") → VAE
CRITICAL Rules
  • CFG MUST be 1.0. Flux uses guidance embedded in the model, not classifier-free guidance
  • No negative prompt. Empty string or don't connect the negative input at all
  • Separate VAE required. Flux uses its own VAE (ae.safetensors), not SD VAEs
  • FP8 strongly recommended for 24GB cards. FP16 Flux barely fits in 24GB VRAM
  • T5-XXL encoder can be loaded in FP8 to save additional VRAM
  • Kitchen quant column (this GPU): kitchen action:"status" reports gpu.fp8 (SM ≥ 8.9, Ada), gpu.nvfp4 and gpu.mxfp8 (SM ≥ 10.0, Blackwell). A UNETLoader on weight_dtype: default with an unquantized file and kitchen present is panel_kitchen action:"assess" rec fp8_unet_fast (set fp8_e4m3fn_fast). An NVFP4 sibling on disk is rec nvfp4_swap. MXFP8 is reported in status but not recommended until a loader path exposes it.
Workflow Pattern
UNETLoader (flux fp8) → MODEL
DualCLIPLoader (t5xxl + clip_l, type="flux") → CLIP
VAELoader (ae.safetensors) → VAE

CLIPTextEncode (positive prompt) → CONDITIONING
  (no negative CLIPTextEncode needed)

EmptyLatentImage (width=1024, height=1024) → LATENT

KSampler (cfg=1.0, steps=4, sampler="euler", scheduler="simple") → LATENT
VAEDecode (vae from VAELoader) → IMAGE
SaveImage
ControlNet Compatibility

Flux ControlNets are model-specific:

ControlNet Notes
Flux ControlNet (Canny) Specific Flux-compatible ControlNet
Flux ControlNet (Depth) Specific Flux-compatible ControlNet
InstantX ControlNets Community Flux ControlNets
Flux IP-Adapter Image prompt for Flux

SD 1.5 and SDXL ControlNets do NOT work with Flux.

LoRA Compatibility
  • Flux LoRAs ONLY work with Flux models
  • Typically loaded via LoraLoader same as SD models
  • Flux LoRA ecosystem is smaller than SD 1.5/SDXL but growing
  • Some Flux LoRAs require specific trigger words

Stable Diffusion 3 / 3.5 (SD3)

Overview

Stability AI's next-generation model with triple CLIP architecture. Better prompt adherence and longer prompt support via T5-XXL.

Configuration
Parameter Value
Loader CheckpointLoaderSimple or triple-clip loader
Native Resolution 1024x1024
VAE Built-in (integrated)
CLIP Triple: CLIP-L + CLIP-G + T5-XXL
Text Encoder Node CLIPTextEncode or CLIPTextEncodeSD3
CFG Range 4-7 (typical: 5.0)
Negative Prompt Minimal — SD3 needs very little negative guidance
Steps 20-30
Sampler euler, dpmpp_2m
Scheduler sgm_uniform, normal
Denoise 1.0 (txt2img)
Shift Some samplers support a shift parameter for SD3
VRAM (FP16) ~12GB (without T5-XXL: ~6GB)
Triple CLIP Loading
CheckpointLoaderSimple → MODEL(0), CLIP(1), VAE(2)

Or for separate CLIP control:

DualCLIPLoader (clip_l + clip_g) → CLIP
CLIPLoader (t5xxl) → CLIP
Key Differences from SD 1.5/SDXL
  • Much better text rendering capabilities
  • Handles spatial relationships better ("cat on the left, dog on the right")
  • T5-XXL enables long, detailed prompts (no 77-token limit concern)
  • Lower CFG values (4-7 vs 7-12)
  • Minimal negative prompting needed
  • shift parameter in sampling affects noise schedule
ControlNet Compatibility
  • SD3-specific ControlNets are limited
  • Check for SD3-compatible community ControlNets
  • SD 1.5 and SDXL ControlNets do NOT work with SD3

LTXV (Video Models)

Overview

Latent video diffusion models for text-to-video and image-to-video generation. VRAM-intensive.

Configuration
Parameter Value
Loader Special video checkpoint loader (varies by node pack)
Resolution 512x512 or 768x768 per frame (depends on model)
Frames 16-64 (depends on VRAM)
FPS 8-24
VRAM 20GB+ FP16, ~6-10GB FP8
Key Warning Can OOM on 24GB VRAM — always use FP8 quantized models
VRAM Management
  • Always use FP8 quantized models on 24GB cards
  • Reduce frame count if OOM persists
  • Lower resolution helps a lot
  • Close other GPU-using applications
  • Consider --lowvram flag for ComfyUI

Cross-Family Compatibility Rules

LoRA Compatibility

LoRAs are model-family specific and are NOT interchangeable:

LoRA Trained For Works With Does NOT Work With
SD 1.5 SD 1.5 and its fine-tunes SDXL, Flux, SD3
SDXL SDXL and its fine-tunes SD 1.5, Flux, SD3
Flux Flux models only SD 1.5, SDXL, SD3
SD3 SD3/3.5 models only SD 1.5, SDXL, Flux

Using a LoRA with the wrong base model will produce garbage images or errors.

ControlNet Compatibility

ControlNets are also model-family specific:

ControlNet Trained For Works With Does NOT Work With
SD 1.5 (v1.1 series) SD 1.5 base + fine-tunes SDXL, Flux, SD3
SDXL SDXL base + fine-tunes SD 1.5, Flux, SD3
Flux Flux models only SD 1.5, SDXL, SD3
VAE Compatibility
VAE Compatible Models Notes
vae-ft-mse-840000-ema-pruned SD 1.5 family Best external VAE for SD 1.5
SDXL built-in VAE SDXL family Good quality, no external needed
sdxl_vae.safetensors SDXL family External SDXL VAE option
ae.safetensors (Flux VAE) Flux only Required for Flux, incompatible with SD
SD3 built-in VAE SD3 family Integrated, no external needed

Rule: Never mix VAEs across model families. An SD 1.5 VAE decoding Flux latents will produce garbage.

Embedding/Textual Inversion Compatibility
Embedding Type Compatible Models
SD 1.5 embeddings SD 1.5 family only
SDXL embeddings SDXL family only
Flux/SD3 Generally don't use traditional embeddings
Sampler/Scheduler Compatibility

Most samplers work across all models, but some combinations are optimal:

Model Best Sampler Best Scheduler Notes
SD 1.5 euler_ancestral, dpmpp_2m karras, normal All standard samplers work
SDXL dpmpp_2m, euler karras, normal Same as SD 1.5
SDXL Turbo euler_ancestral normal Must use 1-4 steps
SDXL Lightning euler sgm_uniform Must match step count to LoRA
Flux Schnell euler simple 4 steps only
Flux Dev euler sgm_uniform 20-50 steps
SD3 euler, dpmpp_2m sgm_uniform, normal Lower CFG needed

Quick Decision Guide

Choosing a Model
Use Case Recommended Model Why
Maximum ecosystem/community support SD 1.5 Most LoRAs, ControlNets, embeddings
High quality, good prompt following SDXL Best balance of quality and ecosystem
Fastest generation SDXL Turbo/Lightning 1-4 steps
Best prompt understanding Flux Dev T5-XXL encoder, natural language
Fast + good quality Flux Schnell 4 steps, no negative needed
Text in images SD3.5 Best text rendering
Low VRAM (<6GB) SD 1.5 Smallest memory footprint
Video generation LTXV / AnimateDiff Only options for video
Choosing Resolution
Model Minimum Recommended Maximum (before OOM on 24GB)
SD 1.5 256x256 512x512 768x768
SDXL 512x512 1024x1024 1536x1536
Flux (FP8) 512x512 1024x1024 2048x2048
Flux (FP16) 512x512 1024x1024 1024x1024 (tight)
SD3 512x512 1024x1024 1536x1536

Going below the recommended resolution produces blurry/low-quality results. Going above the maximum risks OOM errors or quality degradation (tiling artifacts).

Sources

  • Official: none found as a vendor pairing matrix. Kitchen hardware gates: ComfyUI comfy/model_management.py (supports_fp8_compute, supports_nvfp4_compute, supports_mxfp8_compute); UNETLoader weight_dtype in nodes.py.
  • Empirical: base-model / VAE / CLIP pairing rules from observed load failures.
1---
2name: model-compatibility
3description: Model family compatibility matrix covering loaders, resolutions, samplers, CFG, VAE, ControlNet, and LoRA compatibility for SD 1.5, SDXL, Flux, SD3, and video models
4globs:
5 - "**/*.json"
6---
7 
8# ComfyUI Model Compatibility Matrix
9 
10## Stable Diffusion 1.5 (SD 1.5)
11 
12### Overview
13 
14The original widely-adopted Stable Diffusion model. Huge ecosystem of fine-tunes, LoRAs, ControlNets, and embeddings. Still the most compatible and lightweight model family.
15 
16### Configuration
17 
18| Parameter | Value |
19|-----------|-------|
20| **Loader** | `CheckpointLoaderSimple` |
21| **Native Resolution** | 512x512 |
22| **Supported Resolutions** | 512x512, 512x768, 768x512, 768x768 (some fine-tunes) |
23| **VAE** | Built-in or external (`vae-ft-mse-840000-ema-pruned.safetensors`) |
24| **CLIP** | Single CLIP-L (output index 1 from checkpoint) |
25| **Text Encoder Node** | `CLIPTextEncode` |
26| **CFG Range** | 7-12 (typical: 7.5) |
27| **Negative Prompt** | Yes — very important for quality |
28| **Steps** | 20-30 (standard samplers) |
29| **Sampler** | All standard samplers: `euler`, `euler_ancestral`, `dpmpp_2m`, `dpmpp_sde`, `ddim` |
30| **Scheduler** | `normal`, `karras` |
31| **Denoise** | 1.0 (txt2img), 0.5-0.8 (img2img) |
32| **VRAM (FP16)** | ~2-3GB |
33 
34### Workflow Pattern
35 
36```
37CheckpointLoaderSimple → MODEL(0), CLIP(1), VAE(2)
38 CLIP(1) → CLIPTextEncode (positive) → CONDITIONING
39 CLIP(1) → CLIPTextEncode (negative) → CONDITIONING
40EmptyLatentImage (width=512, height=512) → LATENT
41KSampler (cfg=7.5, steps=20, sampler="euler", scheduler="normal") → LATENT
42VAEDecode → IMAGE
43SaveImage
44```
45 
46### VAE Notes
47 
48- Most SD 1.5 checkpoints have a built-in VAE, but it's often mediocre
49- **Recommended**: Use external `vae-ft-mse-840000-ema-pruned.safetensors` for better color accuracy
50- Load via `VAELoader` node and connect to `VAEDecode`
51- FP16 VAE can produce NaN on some images. FP32 VAE is more stable
52 
53### ControlNet Compatibility
54 
55SD 1.5 has the largest ControlNet ecosystem:
56 
57| ControlNet | Model File Pattern | Notes |
58|------------|-------------------|-------|
59| Canny | `control_v11p_sd15_canny` | Edge detection |
60| Depth | `control_v11f1p_sd15_depth` | Depth map |
61| OpenPose | `control_v11p_sd15_openpose` | Skeleton/pose |
62| Scribble | `control_v11p_sd15_scribble` | Hand-drawn lines |
63| Lineart | `control_v11p_sd15_lineart` | Clean lines |
64| Softedge | `control_v11p_sd15_softedge` | Soft edges (HED) |
65| Normal | `control_v11p_sd15_normalbae` | Normal maps |
66| Seg | `control_v11p_sd15_seg` | Semantic segmentation |
67| Tile | `control_v11f1e_sd15_tile` | Tile/upscale guidance |
68| Inpaint | `control_v11p_sd15_inpaint` | Inpainting guidance |
69| IP-Adapter | `ip-adapter_sd15` | Image prompt |
70 
71### LoRA Compatibility
72 
73- SD 1.5 LoRAs ONLY work with SD 1.5 base models
74- Format: `.safetensors` in `models/loras/`
75- Loader: `LoraLoader` node, which connects between checkpoint and CLIPTextEncode
76- Strength range: 0.5-1.0 (higher can cause artifacts)
77 
78---
79 
80## SDXL (Stable Diffusion XL)
81 
82### Overview
83 
84Major upgrade from SD 1.5 with dual CLIP encoders, higher native resolution, and better prompt understanding. Includes Turbo and Lightning variants for fast generation.
85 
86### Configuration — SDXL 1.0 (Base)
87 
88| Parameter | Value |
89|-----------|-------|
90| **Loader** | `CheckpointLoaderSimple` |
91| **Native Resolution** | 1024x1024 |
92| **Supported Resolutions** | 1024x1024, 832x1216, 1216x832, 896x1152, 1152x896, 768x1344, 1344x768 |
93| **VAE** | Built-in (SDXL has good integrated VAE) |
94| **CLIP** | Dual CLIP: CLIP-L + CLIP-G |
95| **Text Encoder Node** | `CLIPTextEncode` (unified) or `CLIPTextEncodeSDXL` (separate G/L) |
96| **CFG Range** | 5-10 (typical: 7.0) |
97| **Negative Prompt** | Yes — moderately important |
98| **Steps** | 20-40 |
99| **Sampler** | `euler`, `euler_ancestral`, `dpmpp_2m`, `dpmpp_sde` |
100| **Scheduler** | `normal`, `karras` |
101| **Denoise** | 1.0 (txt2img), 0.5-0.8 (img2img) |
102| **VRAM (FP16)** | ~6-7GB |
103 
104### Configuration — SDXL Turbo
105 
106| Parameter | Value |
107|-----------|-------|
108| **Loader** | `CheckpointLoaderSimple` |
109| **Resolution** | 512x512 (optimized for lower res) |
110| **CFG** | 1.0-2.0 |
111| **Steps** | 1-4 |
112| **Sampler** | `euler_ancestral` |
113| **Scheduler** | `normal` |
114| **Negative Prompt** | Minimal or empty |
115| **Denoise** | 1.0 |
116 
117### Configuration — SDXL Lightning
118 
119| Parameter | Value |
120|-----------|-------|
121| **Loader** | `CheckpointLoaderSimple` + `LoraLoader` (Lightning LoRA) |
122| **Resolution** | 1024x1024 |
123| **CFG** | 1.0-2.0 |
124| **Steps** | 4-8 (match the Lightning variant: 2-step, 4-step, 8-step) |
125| **Sampler** | `euler` |
126| **Scheduler** | `sgm_uniform` |
127| **Negative Prompt** | Empty or minimal |
128| **Special** | Requires matching Lightning LoRA for the step count |
129 
130### SDXL Refiner
131 
132The optional SDXL refiner model does a second pass to improve fine details:
133 
134```
135CheckpointLoaderSimple (base) → KSampler (steps=25, start=0, end=20)
136CheckpointLoaderSimple (refiner) → KSampler (steps=25, start=20, end=25)
137```
138 
139- The refiner uses `KSamplerAdvanced` with `start_at_step` and `end_at_step`
140- Typically run the base for 80% of steps, refiner for the last 20%
141- Refiner checkpoint: `sd_xl_refiner_1.0.safetensors`
142 
143### Workflow Pattern
144 
145```
146CheckpointLoaderSimple → MODEL(0), CLIP(1), VAE(2)
147 CLIP(1) → CLIPTextEncode (positive) → CONDITIONING
148 CLIP(1) → CLIPTextEncode (negative) → CONDITIONING
149EmptyLatentImage (width=1024, height=1024) → LATENT
150KSampler (cfg=7.0, steps=25, sampler="dpmpp_2m", scheduler="karras") → LATENT
151VAEDecode → IMAGE
152SaveImage
153```
154 
155### ControlNet Compatibility
156 
157SDXL ControlNets are separate from SD 1.5 ControlNets:
158 
159| ControlNet | Model File Pattern | Notes |
160|------------|-------------------|-------|
161| Canny | `control-lora-canny-rank256` or `diffusers_xl_canny` | Often LoRA-based |
162| Depth | `control-lora-depth-rank256` or `diffusers_xl_depth` | |
163| T2I-Adapter | `t2i-adapter-*-sdxl` | Lighter alternative to ControlNet |
164| IP-Adapter | `ip-adapter_sdxl` | Image prompt adapter |
165| InstantID | `instantid-*` | Face-specific |
166 
167### LoRA Compatibility
168 
169- SDXL LoRAs ONLY work with SDXL base models, NOT with SD 1.5
170- Same `LoraLoader` node as SD 1.5
171- Lightning LoRAs are SDXL LoRAs that enable few-step generation
172 
173---
174 
175## Flux (Flux.1)
176 
177### Overview
178 
179Black Forest Labs' model with a T5-XXL text encoder. Produces high-quality images without negative prompts. Available in schnell (fast) and dev (quality) variants.
180 
181### Configuration — Flux Schnell
182 
183| Parameter | Value |
184|-----------|-------|
185| **Loader** | `CheckpointLoaderSimple` (single-file) or `DualCLIPLoader` + `UNETLoader` + `VAELoader` (split) |
186| **Native Resolution** | 1024x1024 (flexible aspect ratios) |
187| **Supported Resolutions** | Flexible: 512x512 to 2048x2048, any aspect ratio |
188| **VAE** | Separate Flux VAE (`ae.safetensors`) — NOT shared with SD models |
189| **CLIP** | T5-XXL + CLIP-L via `DualCLIPLoader` |
190| **Text Encoder Node** | `CLIPTextEncode` (single combined) |
191| **CFG** | **1.0** (MUST be 1.0 — higher values cause severe artifacts) |
192| **Negative Prompt** | **NONE** — do not connect negative conditioning |
193| **Steps** | 4 |
194| **Sampler** | `euler` |
195| **Scheduler** | `simple` or `sgm_uniform` |
196| **Denoise** | 1.0 |
197| **VRAM (FP16)** | ~24GB (FP8: ~12GB) |
198 
199### Configuration — Flux Dev
200 
201| Parameter | Value |
202|-----------|-------|
203| **Same as Schnell except:** | |
204| **Steps** | 20-50 (typical: 30) |
205| **Scheduler** | `sgm_uniform` |
206| **VRAM (FP16)** | ~24GB (FP8: ~12GB) |
207 
208### Loading Methods
209 
210**Method 1: Single Checkpoint (simplest)**
211```
212CheckpointLoaderSimple (ckpt_name="flux1-schnell.safetensors")
213 → MODEL(0), CLIP(1), VAE(2)
214```
215 
216**Method 2: Split Components (recommended for FP8)**
217```
218UNETLoader (unet_name="flux1-schnell-fp8.safetensors") → MODEL
219DualCLIPLoader (clip_name1="t5xxl_fp16.safetensors", clip_name2="clip_l.safetensors", type="flux") → CLIP
220VAELoader (vae_name="ae.safetensors") → VAE
221```
222 
223### CRITICAL Rules
224 
225- **CFG MUST be 1.0.** Flux uses guidance embedded in the model, not classifier-free guidance
226- **No negative prompt.** Empty string or don't connect the negative input at all
227- **Separate VAE required.** Flux uses its own VAE (`ae.safetensors`), not SD VAEs
228- **FP8 strongly recommended** for 24GB cards. FP16 Flux barely fits in 24GB VRAM
229- T5-XXL encoder can be loaded in FP8 to save additional VRAM
230- **Kitchen quant column (this GPU):** `kitchen` action:"status" reports `gpu.fp8` (SM ≥ 8.9, Ada), `gpu.nvfp4` and `gpu.mxfp8` (SM ≥ 10.0, Blackwell). A UNETLoader on `weight_dtype: default` with an unquantized file and kitchen present is `panel_kitchen` action:"assess" rec `fp8_unet_fast` (set `fp8_e4m3fn_fast`). An NVFP4 sibling on disk is rec `nvfp4_swap`. MXFP8 is reported in status but not recommended until a loader path exposes it.
231 
232### Workflow Pattern
233 
234```
235UNETLoader (flux fp8) → MODEL
236DualCLIPLoader (t5xxl + clip_l, type="flux") → CLIP
237VAELoader (ae.safetensors) → VAE
238 
239CLIPTextEncode (positive prompt) → CONDITIONING
240 (no negative CLIPTextEncode needed)
241 
242EmptyLatentImage (width=1024, height=1024) → LATENT
243 
244KSampler (cfg=1.0, steps=4, sampler="euler", scheduler="simple") → LATENT
245VAEDecode (vae from VAELoader) → IMAGE
246SaveImage
247```
248 
249### ControlNet Compatibility
250 
251Flux ControlNets are model-specific:
252 
253| ControlNet | Notes |
254|------------|-------|
255| Flux ControlNet (Canny) | Specific Flux-compatible ControlNet |
256| Flux ControlNet (Depth) | Specific Flux-compatible ControlNet |
257| InstantX ControlNets | Community Flux ControlNets |
258| Flux IP-Adapter | Image prompt for Flux |
259 
260SD 1.5 and SDXL ControlNets do NOT work with Flux.
261 
262### LoRA Compatibility
263 
264- Flux LoRAs ONLY work with Flux models
265- Typically loaded via `LoraLoader` same as SD models
266- Flux LoRA ecosystem is smaller than SD 1.5/SDXL but growing
267- Some Flux LoRAs require specific trigger words
268 
269---
270 
271## Stable Diffusion 3 / 3.5 (SD3)
272 
273### Overview
274 
275Stability AI's next-generation model with triple CLIP architecture. Better prompt adherence and longer prompt support via T5-XXL.
276 
277### Configuration
278 
279| Parameter | Value |
280|-----------|-------|
281| **Loader** | `CheckpointLoaderSimple` or triple-clip loader |
282| **Native Resolution** | 1024x1024 |
283| **VAE** | Built-in (integrated) |
284| **CLIP** | Triple: CLIP-L + CLIP-G + T5-XXL |
285| **Text Encoder Node** | `CLIPTextEncode` or `CLIPTextEncodeSD3` |
286| **CFG Range** | 4-7 (typical: 5.0) |
287| **Negative Prompt** | Minimal — SD3 needs very little negative guidance |
288| **Steps** | 20-30 |
289| **Sampler** | `euler`, `dpmpp_2m` |
290| **Scheduler** | `sgm_uniform`, `normal` |
291| **Denoise** | 1.0 (txt2img) |
292| **Shift** | Some samplers support a shift parameter for SD3 |
293| **VRAM (FP16)** | ~12GB (without T5-XXL: ~6GB) |
294 
295### Triple CLIP Loading
296 
297```
298CheckpointLoaderSimple → MODEL(0), CLIP(1), VAE(2)
299```
300 
301Or for separate CLIP control:
302```
303DualCLIPLoader (clip_l + clip_g) → CLIP
304CLIPLoader (t5xxl) → CLIP
305```
306 
307### Key Differences from SD 1.5/SDXL
308 
309- Much better text rendering capabilities
310- Handles spatial relationships better ("cat on the left, dog on the right")
311- T5-XXL enables long, detailed prompts (no 77-token limit concern)
312- Lower CFG values (4-7 vs 7-12)
313- Minimal negative prompting needed
314- `shift` parameter in sampling affects noise schedule
315 
316### ControlNet Compatibility
317 
318- SD3-specific ControlNets are limited
319- Check for SD3-compatible community ControlNets
320- SD 1.5 and SDXL ControlNets do NOT work with SD3
321 
322---
323 
324## LTXV (Video Models)
325 
326### Overview
327 
328Latent video diffusion models for text-to-video and image-to-video generation. VRAM-intensive.
329 
330### Configuration
331 
332| Parameter | Value |
333|-----------|-------|
334| **Loader** | Special video checkpoint loader (varies by node pack) |
335| **Resolution** | 512x512 or 768x768 per frame (depends on model) |
336| **Frames** | 16-64 (depends on VRAM) |
337| **FPS** | 8-24 |
338| **VRAM** | 20GB+ FP16, ~6-10GB FP8 |
339| **Key Warning** | Can OOM on 24GB VRAM — always use FP8 quantized models |
340 
341### VRAM Management
342 
343- **Always use FP8 quantized models** on 24GB cards
344- Reduce frame count if OOM persists
345- Lower resolution helps a lot
346- Close other GPU-using applications
347- Consider `--lowvram` flag for ComfyUI
348 
349---
350 
351## Cross-Family Compatibility Rules
352 
353### LoRA Compatibility
354 
355LoRAs are **model-family specific** and are NOT interchangeable:
356 
357| LoRA Trained For | Works With | Does NOT Work With |
358|-----------------|------------|-------------------|
359| SD 1.5 | SD 1.5 and its fine-tunes | SDXL, Flux, SD3 |
360| SDXL | SDXL and its fine-tunes | SD 1.5, Flux, SD3 |
361| Flux | Flux models only | SD 1.5, SDXL, SD3 |
362| SD3 | SD3/3.5 models only | SD 1.5, SDXL, Flux |
363 
364Using a LoRA with the wrong base model will produce garbage images or errors.
365 
366### ControlNet Compatibility
367 
368ControlNets are also **model-family specific**:
369 
370| ControlNet Trained For | Works With | Does NOT Work With |
371|-----------------------|------------|-------------------|
372| SD 1.5 (v1.1 series) | SD 1.5 base + fine-tunes | SDXL, Flux, SD3 |
373| SDXL | SDXL base + fine-tunes | SD 1.5, Flux, SD3 |
374| Flux | Flux models only | SD 1.5, SDXL, SD3 |
375 
376### VAE Compatibility
377 
378| VAE | Compatible Models | Notes |
379|-----|-------------------|-------|
380| `vae-ft-mse-840000-ema-pruned` | SD 1.5 family | Best external VAE for SD 1.5 |
381| SDXL built-in VAE | SDXL family | Good quality, no external needed |
382| `sdxl_vae.safetensors` | SDXL family | External SDXL VAE option |
383| `ae.safetensors` (Flux VAE) | Flux only | Required for Flux, incompatible with SD |
384| SD3 built-in VAE | SD3 family | Integrated, no external needed |
385 
386**Rule**: Never mix VAEs across model families. An SD 1.5 VAE decoding Flux latents will produce garbage.
387 
388### Embedding/Textual Inversion Compatibility
389 
390| Embedding Type | Compatible Models |
391|---------------|-------------------|
392| SD 1.5 embeddings | SD 1.5 family only |
393| SDXL embeddings | SDXL family only |
394| Flux/SD3 | Generally don't use traditional embeddings |
395 
396### Sampler/Scheduler Compatibility
397 
398Most samplers work across all models, but some combinations are optimal:
399 
400| Model | Best Sampler | Best Scheduler | Notes |
401|-------|-------------|----------------|-------|
402| SD 1.5 | `euler_ancestral`, `dpmpp_2m` | `karras`, `normal` | All standard samplers work |
403| SDXL | `dpmpp_2m`, `euler` | `karras`, `normal` | Same as SD 1.5 |
404| SDXL Turbo | `euler_ancestral` | `normal` | Must use 1-4 steps |
405| SDXL Lightning | `euler` | `sgm_uniform` | Must match step count to LoRA |
406| Flux Schnell | `euler` | `simple` | 4 steps only |
407| Flux Dev | `euler` | `sgm_uniform` | 20-50 steps |
408| SD3 | `euler`, `dpmpp_2m` | `sgm_uniform`, `normal` | Lower CFG needed |
409 
410## Quick Decision Guide
411 
412### Choosing a Model
413 
414| Use Case | Recommended Model | Why |
415|----------|------------------|-----|
416| Maximum ecosystem/community support | SD 1.5 | Most LoRAs, ControlNets, embeddings |
417| High quality, good prompt following | SDXL | Best balance of quality and ecosystem |
418| Fastest generation | SDXL Turbo/Lightning | 1-4 steps |
419| Best prompt understanding | Flux Dev | T5-XXL encoder, natural language |
420| Fast + good quality | Flux Schnell | 4 steps, no negative needed |
421| Text in images | SD3.5 | Best text rendering |
422| Low VRAM (<6GB) | SD 1.5 | Smallest memory footprint |
423| Video generation | LTXV / AnimateDiff | Only options for video |
424 
425### Choosing Resolution
426 
427| Model | Minimum | Recommended | Maximum (before OOM on 24GB) |
428|-------|---------|-------------|-------------------------------|
429| SD 1.5 | 256x256 | 512x512 | 768x768 |
430| SDXL | 512x512 | 1024x1024 | 1536x1536 |
431| Flux (FP8) | 512x512 | 1024x1024 | 2048x2048 |
432| Flux (FP16) | 512x512 | 1024x1024 | 1024x1024 (tight) |
433| SD3 | 512x512 | 1024x1024 | 1536x1536 |
434 
435Going below the recommended resolution produces blurry/low-quality results. Going above the maximum risks OOM errors or quality degradation (tiling artifacts).
436 
437## Sources
438 
439- **Official:** none found as a vendor pairing matrix. Kitchen hardware gates: ComfyUI `comfy/model_management.py` (`supports_fp8_compute`, `supports_nvfp4_compute`, `supports_mxfp8_compute`); UNETLoader `weight_dtype` in `nodes.py`.
440- **Empirical:** base-model / VAE / CLIP pairing rules from observed load failures.
441 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 759
Checked
Source
artokun/comfyui-mcp ↗
Creator
artokun · 44 listings
View creator

Similar skills

See all →
SkillMake Japanese TV-anime style videos with codeAnime celedenfunf/reelmimic · by edenfunfMake Japanese TV-anime style videos (MP4) with code — cel-shaded characters with tapered line art, big detailed eyes, hair clumps with a specular band, comedic anime reactions (sweat drop, anger vein, sparkle eyes, ≥< eyes, dot eyes, tears), painted skies with cumulus clouds, school/street/classroom/rooftop sets with time-of-day palettes, speed/focus lines, impact frames, dramatic zooms, smears, sakura petals and anime subtitles (CJK). Canvas 2D rendered frame by frame in headless Chrome, encoded with ffmpeg. Use when a reference video or brief calls for anime / 動畫 / 日系動畫 / アニメ / cel-shaded / slice-of-life / school romance / shōnen-style reactions, or when the video-clone router picks the anime-cel style. 2D only; characters are original (Hina, Ren) or new ones built on the same rig.★ 3.6k GitHub starsSkillDirect and produce a short film made entirely in codeLemo opuscarlemomo-ai/lemo-opuscar · by lemomo-aiDirect and produce a short film made entirely in code, in one of the styles of the Lemo-Opuscar library (e.g. Impasto Oil Painting 油画厚涂, Watercolor Brush 水彩笔刷, Ukiyo-e 浮世绘, Satellite Briefing 卫星简报, Exploded Teardown 产品拆解, Microscope Story 显微叙事). Use when the user asks for a video, film, short, promo, explainer or animation (视频、短片、动画、宣传片) in a named style, including data, science and product explainers built from real material such as satellite imagery, laser scans, CAD files or archive scans (数据解说、科普、产品拆解); when they want a film made about their own topic and haven't chosen a style (help them choose); or when they ask which film styles there are. Not for editing or converting existing video files.★ 3k GitHub starsSkillGenerate Ian-style Xiaohei illustrations for articles, postsdzhng/skills · by dzhngGenerate Ian-style Xiaohei illustrations for articles, posts, blogs, Notion documents, workflows, methods, processes, structures, states, metaphors, and opinions. Use when the user asks for weird, hand-drawn, Xiaohei, article, editorial, body illustrations, illustration ideas, shot lists, title removal, image edits, or image regeneration. By default, all image text and annotations are English, even when the source article is Chinese; only use another language when the user explicitly asks.★ 1.3k GitHub starsSkillCreating game art through Scenario MCP: spritesScenario game assetsscenario-labs/skills · by scenario-labsUse when creating game art through Scenario MCP: sprites, sprite sheets, icons, props, loot, tilesets and autotile terrain transitions, seamless tiles, isometric buildings, top-down maps, pixel art, UI buttons and panels, parallax background layers or depth planes for side-scrollers, and character or concept art; or when assets need transparent backgrounds, background removal, style-consistent variation batches, upscaling, pixel-grid cleanup, or PNG export for Unity, Godot, or Unreal.★ 854 GitHub starsSkillTrain custom LoRAs with ostris AI-ToolkitAI-Toolkit LoRA Trainer (WAN 2.2 & Z-Image)artokun/comfyui-mcp · by artokunTrain 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.★ 759 GitHub starsSkillAnime/illustration text-to-imageANIMA 1.0 (Anima Base Ultra) Text-to-Image Workflowsartokun/comfyui-mcp · by artokunAnime/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★ 759 GitHub stars

More from artokun

SkillTrain custom LoRAs with ostris AI-ToolkitAI-Toolkit LoRA Trainer (WAN 2.2 & Z-Image)artokun/comfyui-mcp · by artokunTrain 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.★ 759 GitHub starsSkillAnime/illustration text-to-imageANIMA 1.0 (Anima Base Ultra) Text-to-Image Workflowsartokun/comfyui-mcp · by artokunAnime/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★ 759 GitHub starsSkillAuthoring & Publishing ComfyUI Custom Nodesartokun/comfyui-mcp · by artokunAuthoring & publishing ComfyUI custom nodes to the Comfy Registry, covering node structure, pyproject.toml spec, comfy-cli publishing, and CI★ 759 GitHub starsSkillTrain a custom anime LoRA on the ANIMA base modelCitron Anima LoRA Trainerartokun/comfyui-mcp · by artokunTrain 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, dataset prep, training params, and using the result in the anima-base workflow★ 759 GitHub starsSkillDiscover Civitai models with the BUILT-IN downloadmodelCivitai + comfyui-mcpartokun/comfyui-mcp · by artokunDiscover Civitai models with the BUILT-IN download_model action:"search_civitai" 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).★ 759 GitHub starsSkillDiagnose and fix video/image color OBJECTIVELYColor Correction (measure, don't eyeball)artokun/comfyui-mcp · by artokunDiagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as 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.★ 759 GitHub stars