In ComfyUI, models are the weight files that actually run your workflow. They include checkpoints, VAEs, LoRAs, ControlNets, and upscalers. The app install is small. These files are not included by default. You usually download them from the web, place them under ComfyUI/models/ (or follow a template’s prompts), then choose the file in the right loader node (on the canvas, these often appear as nodes whose names start with Load).
Built-in / first-party coverage is intentionally limited but grows over time as ComfyUI and the open-source ecosystem evolve. When a model gains first-class support, you will usually see a new entry in the workflow template library that shows the expected graph and model pairing.
Not every checkpoint or weights file works out of the box. For natively supported models and their common companion weights, keep ComfyUI up to date and confirm the matching workflow exists in the template library before assuming your files are in the wrong place.
Many other models are enabled through community custom nodes. Paths, loader nodes, and graph layout can differ from this page’s generic ComfyUI/models/ guidance. Always follow each project’s README or docs. ComfyUI is highly extensible, so implementations vary by author. For installation and troubleshooting, see How to install custom nodes.
Get the files into the right place. Download from community sites such as Hugging Face, Civitai, or a project’s page on GitHub, then put them under ComfyUI/models/ in the subfolder for that type (for example checkpoints, loras, vae).
Add the matching loader node. Pick the loader for that model type (checkpoint, LoRA, VAE, etc.). In the node list, titles often begin with Load.
Pick the file in that loader node’s dropdown.
Wire the loader node into the rest of the graph. If you copied files in by hand while ComfyUI was open, restart the app (or refresh as needed) so lists update.
For the ComfyUI version such as portable and manual, you can find an example file named extra_model_paths.yaml.example in the root directory of ComfyUI:
ComfyUI/extra_model_paths.yaml.example
Copy and rename it to extra_model_paths.yaml for use. Keep it in ComfyUI’s root directory at ComfyUI/extra_model_paths.yaml.
You can also find the config example file here
If you are using the Comfy Desktop application, click the capsule menu at the top of the desktop app, then open the Storage tab and add your model directories there. The capsule only exists in the desktop app, not when ComfyUI runs in a browser.Or open it directly at:
For the desktop version, please add the configuration to the existing configuration path without overwriting the path configuration generated during installation. Please back up the corresponding file before modification, so that you can restore it when you make a mistake.
Or you can refer to the default extra_model_paths.yaml.example for more configuration options. After saving, you need to restart ComfyUI for the changes to take effect.Below is the original config example:
#Rename this to extra_model_paths.yaml and ComfyUI will load it#config for a1111 ui#all you have to do is change the base_path to where yours is installeda111: base_path: path/to/stable-diffusion-webui/ checkpoints: models/Stable-diffusion configs: models/Stable-diffusion vae: models/VAE loras: | models/Lora models/LyCORIS upscale_models: | models/ESRGAN models/RealESRGAN models/SwinIR embeddings: embeddings hypernetworks: models/hypernetworks controlnet: models/ControlNet#config for comfyui#your base path should be either an existing comfy install or a central folder where you store all of your models, loras, etc.#comfyui:# base_path: path/to/comfyui/# # You can use is_default to mark that these folders should be listed first, and used as the default dirs for eg downloads# #is_default: true# checkpoints: models/checkpoints/# clip: models/clip/# clip_vision: models/clip_vision/# configs: models/configs/# controlnet: models/controlnet/# diffusion_models: |# models/diffusion_models# models/unet# embeddings: models/embeddings/# loras: models/loras/# upscale_models: models/upscale_models/# vae: models/vae/#other_ui:# base_path: path/to/ui# checkpoints: models/checkpoints# gligen: models/gligen# custom_nodes: path/custom_nodes
For example, if your WebUI is located at D:\stable-diffusion-webui\, you can modify the corresponding configuration to
Besides adding external models, you can also add custom nodes paths that are not in the default path of ComfyUI
Please note that this will not change the default installation path of custom nodes, but will add an extra path search when starting ComfyUI. You still need to complete the installation of custom node dependencies in the corresponding environment to ensure the integrity of the running environment.
Below is a simple configuration example (MacOS), please modify it according to your actual situation and add it to the corresponding configuration file, save it and restart ComfyUI for the changes to take effect:
For Comfy Desktop: Click the capsule menu at the top of the desktop app, then open the Storage tab to check your model directories. The capsule only exists in the desktop app, not when ComfyUI runs in a browser.
Press the r key to refresh node definitions so ComfyUI can detect the model
Restart ComfyUI
Ensure the correct model is selected in the loader node
Here, a model is a data file that encodes what a network learned. It contains enough information to turn inputs (like text and noise) into outputs (like an image). Common examples in image workflows are diffusion checkpoints, text/image encoders such as CLIP, and upscalers like RealESRGAN.
Base models and community variants
Large base models from labs and open-source projects are general-purpose. The community often fine-tunes or merges them into new checkpoints and LoRAs that look better for a given style, run a bit lighter, or add new behavior. This is similar to picking a favorite checkpoint on Civitai or Hugging Face.