The node-based visual engine for Stable Diffusion, FLUX, and more: install methods, the core node graph, every startup flag, and how to fix Manager's missing-node errors.
Easiest: the desktop app
For Windows and macOS, comfy.org/download gives you an installer with no command line involved — the recommended starting point for most people.
Manual install (any platform) — more control, needed for custom setups
Then install PyTorch for your GPU before the general requirements — order matters, since the wrong PyTorch build silently falls back to CPU:
Windows portable build
A pre-built 7z archive, no Python setup at all. Pick the variant matching your GPU (current NVIDIA, legacy NVIDIA, AMD, Intel), extract with 7-Zip, and drop model files into ComfyUI\models\checkpoints.
The models folder — get this right before anything else
The whole interface is a canvas of connected nodes. A "workflow" is just that graph saved to a JSON file — shareable, versionable, and re-loadable exactly as built.
Load Checkpoint
Loads the model file and splits it into the three sub-models every downstream node needs: the diffusion model, CLIP text encoder, and VAE.
CLIP Text Encode
Turns your prompt text into the conditioning tensor the sampler steers toward — one node for the positive prompt, a second for the negative.
KSampler
The actual denoising loop — steps, CFG scale, sampler name, and scheduler all live here. This is the node you'll tweak most for quality/speed tradeoffs.
VAE Decode
Converts the sampler's latent-space output back into a real pixel image before it can be saved or previewed.
| Shortcut | Action |
|---|---|
Ctrl+Enter | Queue the current graph for generation. |
Ctrl+S | Save the current workflow as a JSON file. |
Ctrl+O | Load a workflow JSON file, replacing the current graph. |
Delete | Removes the selected node(s) — connections to it are removed too. |
. (period) | Fits the view to the current selection — the fastest way to find a node in a sprawling graph. |
Terms you'll meet immediately
Run python main.py --help for the full, version-current list. These are the ones you'll actually reach for.
| Flag | What it does |
|---|---|
--listen [IP] | Listen on a given IP instead of just 127.0.0.1 — needed to reach the UI from another device on your network. Comma-separated list supported for multiple interfaces. |
--port 8188 | Change the server port. Default is 8188. |
--cpu | Run everything on CPU. Works, but slow — mainly for testing a workflow without GPU access. |
--gpu-only | Store and run everything on the GPU — the opposite end of the VRAM-management spectrum from --lowvram/--novram. |
--highvram | Keep models resident in GPU memory instead of unloading between runs — trades VRAM headroom for faster repeated generations. |
--lowvram | Runs text encoders on CPU to free GPU memory when dynamic VRAM management isn't already handling it. The first flag to reach for on a memory-constrained card. |
--novram | More aggressive than --lowvram — for genuinely tight VRAM situations where --lowvram alone still runs out. |
--cpu-vae | Runs just the VAE decode step on CPU. Can be combined with a VRAM mode flag — useful when the VAE step specifically is what's running out of memory. |
--force-fp16 | Forces fp16 precision globally (and sets --fp16-unet). Common pairing: --lowvram --force-fp16 for moderate VRAM savings without switching VRAM tiers entirely. |
--force-fp32 | Forces fp32 globally — occasionally needed for numerical stability with certain models/hardware combinations, at a memory and speed cost. |
--directml [DEVICE] | Enables DirectML on Windows for GPUs without native CUDA/ROCm support, with an optional device index. |
--preview-method auto | Enables live step-by-step previews while sampling. Choices are none (default), auto, latent2rgb, or taesd for a higher-quality preview. |
--output-directory PATH | Redirects generated output elsewhere — handy for pointing multiple ComfyUI instances at one shared output folder. |
--extra-model-paths-config PATH | Loads one or more extra_model_paths.yaml files — the way to share one models folder across ComfyUI, Automatic1111, and other tools without duplicating multi-gigabyte checkpoints. |
--disable-auto-launch | Don't open a browser tab automatically on startup — useful when running headless on a server. |
--disable-xformers | Turns off the xformers memory-efficient attention optimization — a troubleshooting step if you suspect it's causing an artifact or crash. |
--tls-keyfile / --tls-certfile | Serve over HTTPS instead of plain HTTP — worth doing the moment --listen exposes the UI beyond localhost. |
--disable-api-nodes | Forces fully offline operation, disabling any node that calls out to a hosted API — for air-gapped or privacy-strict setups. |
Enable it
Fix red "missing node" errors
Load the workflow with red nodes first, open Manager, and click Install Missing Custom Nodes — it auto-detects everything the workflow needs and installs it in one pass. Restart ComfyUI afterward.
When a node isn't in the registry
Not every custom node is indexed by ComfyRegistry. Search GitHub directly for the exact node type name shown in the red node (e.g. IPAdapterApply) — most authors' repo names match.
- Update ComfyUI core first. An outdated core causes a large share of "red node" errors that a plain update fixes with zero new installs.
- Manager failing to fetch the node list ≠ ComfyUI being broken. If the app itself runs fine and only Manager can't reach the registry, treat it as a network/cache issue, not proof your whole install is bad.
- Clear only the Manager cache if the node list looks stale or corrupted — this doesn't touch your workflows, models, or installed custom node folders.
--lowvram, then --novram if that's still not enough. --highvram is for the opposite problem — plenty of VRAM, want to skip the unload/reload overhead between runs.
pip install -r requirements.txt. Generation is slower than an equivalent NVIDIA card and some custom nodes assume CUDA and simply won't load.
--disable-api-nodes to guarantee no node calls out, useful for air-gapped machines or strict privacy requirements.
Official docs & further reading
ComfyUI development moves fast and node behavior changes between releases — when this page and the docs disagree, the docs win.
comfyanonymous/ComfyUI).
github.com/Comfy-Org/ComfyUI
Desktop app download
The no-command-line installer for Windows and macOS this page's Start Here tab recommends for most people.
comfy.org/download
Startup flags reference
The authoritative, always-current list of every command-line flag — worth bookmarking directly since new flags land with new releases.
docs.comfy.org
ComfyUI-Manager
The custom-node manager this page's Manager tab covers — install, update, and dependency-resolve community nodes from inside the UI.
github.com/ltdrdata/ComfyUI-Manager