comfyanonymous/ComfyUI
Supported models
ComfyUI ships with built-in support for ~30 model families across image, video, audio, and 3D generation. This page is a navigation aid — for each architecture, where to find the network code, the text encoder, and the user-facing nodes.
Image diffusion
| Family | LDM code | Text encoder(s) | Nodes |
|---|---|---|---|
| SD 1.x / 2.x | comfy/ldm/modules/diffusionmodules/ (UNet) |
comfy/sd1_clip.py, comfy/text_encoders/sd2_clip.py |
Built-in (nodes.py) |
| SDXL / SDXL Turbo | comfy/ldm/modules/diffusionmodules/ (UNet) |
comfy/sdxl_clip.py |
Built-in |
| Stable Cascade | comfy/ldm/cascade/ |
comfy/sdxl_clip.py (CLIP-G) |
comfy_extras/nodes_stable_cascade.py |
| SD3 / SD3.5 | comfy/ldm/modules/diffusionmodules/mmdit.py |
comfy/text_encoders/sd3_clip.py |
comfy_extras/nodes_sd3.py |
| Pixart Alpha/Sigma | comfy/ldm/pixart/ |
comfy/text_encoders/pixart_t5.py |
comfy_extras/nodes_pixart.py |
| AuraFlow | comfy/ldm/aura/ |
comfy/text_encoders/aura_t5.py |
(built-in via nodes.py) |
| HunyuanDiT | comfy/ldm/hydit/ |
comfy/text_encoders/hydit.py |
comfy_extras/nodes_hunyuan.py |
| Flux / Flux 2 / Kontext / Krea | comfy/ldm/flux/ |
comfy/text_encoders/flux.py |
comfy_extras/nodes_flux.py |
| Lumina 2 | comfy/ldm/lumina/ |
comfy/text_encoders/lumina2.py |
comfy_extras/nodes_lumina2.py |
| HiDream | comfy/ldm/hidream/ |
comfy/text_encoders/hidream.py |
comfy_extras/nodes_hidream.py |
| Qwen Image / Edit | comfy/ldm/qwen_image/ |
comfy/text_encoders/qwen_image.py, qwen_vl.py |
comfy_extras/nodes_qwen.py |
| Hunyuan Image 2.1 | comfy/ldm/ |
comfy/text_encoders/hunyuan_image.py |
comfy_extras/nodes_hunyuan.py |
| Z Image | comfy/ldm/ |
comfy/text_encoders/z_image.py |
comfy_extras/nodes_zimage.py |
| Chroma Radiance | comfy/ldm/chroma_radiance/ |
(uses standard CLIP) | comfy_extras/nodes_chroma_radiance.py |
| Omnigen 2 | comfy/ldm/omnigen/ |
comfy/text_encoders/omnigen2.py |
(in nodes.py and edit nodes) |
| Anima | comfy/ldm/anima/ |
comfy/text_encoders/anima.py |
(in nodes.py) |
| Ernie | comfy/ldm/ernie/ |
comfy/text_encoders/ernie.py |
(in nodes.py) |
| LongCat Image | comfy/ldm/ |
comfy/text_encoders/longcat_image.py |
(in edit nodes) |
Video diffusion
| Family | LDM code | Text encoder(s) | Nodes |
|---|---|---|---|
| Stable Video Diffusion | comfy/ldm/modules/diffusionmodules/ |
(uses CLIP-Vision) | comfy_extras/nodes_video_model.py |
| Mochi (Genmo) | comfy/ldm/genmo/ |
comfy/text_encoders/genmo.py |
comfy_extras/nodes_mochi.py |
| LTX-Video (Lightricks) | comfy/ldm/lightricks/ |
comfy/text_encoders/lt.py |
comfy_extras/nodes_lt.py, nodes_lt_audio.py, nodes_lt_upsampler.py |
| Hunyuan Video | comfy/ldm/hunyuan_video/ |
comfy/text_encoders/hunyuan_video.py |
comfy_extras/nodes_hunyuan.py |
| Wan 2.1 / 2.2 | comfy/ldm/wan/ |
comfy/text_encoders/wan.py (UMT5) |
comfy_extras/nodes_wan.py, nodes_wanmove.py |
| Cosmos | comfy/ldm/cosmos/ |
comfy/text_encoders/cosmos.py |
comfy_extras/nodes_cosmos.py |
| Kandinsky 5 | comfy/ldm/kandinsky5/ |
comfy/text_encoders/kandinsky5.py |
comfy_extras/nodes_kandinsky5.py |
Audio
| Family | LDM code | Text encoder(s) | Nodes |
|---|---|---|---|
| Stable Audio | comfy/ldm/audio/ (in audio subdir) |
(its own conditioning) | comfy_extras/nodes_audio.py |
| ACE Step | comfy/ldm/ace/ |
comfy/text_encoders/ace.py, ace15.py |
comfy_extras/nodes_ace.py |
3D
| Family | LDM code | Text encoder(s) | Nodes |
|---|---|---|---|
| Hunyuan3D 2.0/2.1 | comfy/ldm/hunyuan3d/, comfy/ldm/hunyuan3dv2_1/ |
(uses CLIP-Vision) | comfy_extras/nodes_hunyuan3d.py |
| Stable Zero123 | comfy/ldm/ |
(uses CLIP-Vision) | comfy_extras/nodes_stable3d.py |
Auxiliary
| Family | Code | Notes |
|---|---|---|
| ControlNet | comfy/cldm/, comfy/controlnet.py |
Multiple variants — classic ControlNet, Union ControlNet (comfy/cldm/control_types.py), MMDiT ControlNet |
| T2I-Adapter | comfy/t2i_adapter/ |
|
| GLIGEN | comfy/gligen.py |
|
| Upscalers (ESRGAN, Swin*) | comfy_extras/chainner_models/ |
Vendored chaiNNer port |
| TAESD (preview) | comfy/taesd/ |
Tiny autoencoders for fast latent → RGB previews |
| RT-DETR | comfy/ldm/rt_detr/ |
Detection |
| SAM 3 | comfy/ldm/sam3/ |
Segmentation + tracking |
| SDPose | comfy/ldm/sdpose.py |
Human pose |
| SUPIR | comfy/ldm/supir/ |
Photo restoration |
| Frame interpolation | comfy_extras/frame_interpolation_models/ |
RIFE etc. |
How architectures are added
The pattern is consistent (see Lore):
- Drop the network code under
comfy/ldm/<model>/— usuallymodel.pyplusmmdit.py/vae.py/ etc. - Register a
Model<Name>entry incomfy/supported_models.pywith the unet key/shape fingerprints. - Add a
BaseModelsubclass incomfy/model_base.py. - Drop a text encoder under
comfy/text_encoders/with the right tokenizer. - Add user-facing nodes in
comfy_extras/nodes_<model>.py(or build offnodes.pyif it's just SD-style). - Update
comfy.sd.load_clipandcomfy.sd.load_checkpoint_guess_configif a new encoder combination is needed.
Recent additions are good templates. comfy_extras/nodes_zimage.py (96 lines) is a small one; comfy/ldm/wan/ and comfy_extras/nodes_wan.py are heavyweights that show every step.
Latent format normalization
Each architecture has its own latent statistics (shift/scale and channel count). comfy/latent_formats.py registers per-architecture LatentFormat classes used by previewers and any cross-model conversion. Every BaseModel subclass declares its latent_format.
Cross-references
- The actual loader entry:
comfy/sd.py:load_checkpoint_guess_config. - Detection:
comfy/model_detection.py. - Memory and dtype: see Model management.
- The sampling math: see Sampling pipeline and
comfy/model_sampling.py.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.