ArtificialGuyBR

Home / Blog / ComfyUI

ComfyUI for A1111 Users: Graph, Nodes, Shortcuts, Habits

Node graph guide for A1111 migrants: read the graph, five starters, keyboard shortcuts, habits that prevent broken workflows.

8 sources cited ComfyUI

TL;DR


Why ComfyUI feels alien after Automatic1111

Automatic1111 presents tabs and sliders; ComfyUI presents a directed acyclic graph — boxes connected by wires where each node performs one operation. Data flows left-to-right through typed tensors. If you've used a node editor in Nuke, Blender, or Unreal, think of it as a visual programming environment of reusable blocks.

This architecture means:

Core concepts: "a collection of program objects called nodes that are connected to each other, forming a network" where "only parts of the graph that change from each execution to the next will be executed." Source


Reading the graph: data types and direction

Every wire carries a typed tensor (hover to see). The six types you'll meet:

TypeWhat it carriesProduced byConsumed bySource
MODELDenoising network (UNet)Load CheckpointKSampler, ControlNet ApplyKSampler/Checkpoint docs
CLIPText encoderLoad CheckpointCLIP Text EncodeCheckpointLoaderSimple docs
VAELatent↔pixel converterLoad CheckpointVAE Decode, VAE EncodeCheckpointLoaderSimple docs
CONDITIONINGPrompt embeddingsCLIP Text EncodeKSamplerKSampler docs
LATENTCompressed image tensorEmpty Latent Image, KSamplerKSampler, VAE DecodeKSampler docs
IMAGEPixel tensor (H×W×3)VAE Decode, Load ImageSave Image, Preview ImageKSampler docs

Direction rule: data flows output → input. A red wire means type mismatch — hover to see expected vs. actual. Source


The five nodes you need for text-to-image

Forget the node library. Drag these onto the canvas in order:

  1. Load Checkpoint (CheckpointLoaderSimple) — selects the .safetensors file. Outputs MODEL, CLIP, VAE. CheckpointLoaderSimple docs
  2. CLIP Text Encode (×2) — positive and negative prompts. Takes CLIP, outputs CONDITIONING.
  3. KSampler — the denoiser. Takes MODEL, both CONDITIONINGs, a LATENT (from Empty Latent Image), plus seed, steps, cfg, sampler_name, scheduler, denoise. Outputs denoised LATENT.
  4. VAE Decode — converts LATENTIMAGE using the VAE from step 1.
  5. Save Image — writes the IMAGE to disk and shows a preview. First generation

Wire left-to-right: Checkpoint → (CLIP to both Text Encodes) → (MODEL + both CONDITIONING + LATENT to KSampler) → (KSampler LATENT + VAE to VAE Decode) → (IMAGE to Save Image).

Settings cheat sheet

ParameterNodeStarting valueWhy it mattersSource
ckpt_nameLoad Checkpointv1-5-pruned-emaonly-fp16.safetensorsModel architecture and weightsCheckpointLoaderSimple docs
cfgKSampler8.0Prompt adherence; >10 often burnsKSampler docs
sampler_nameKSamplereuler_ancestralFast; try dpmpp_2m for qualityKSampler docs
schedulerKSamplernormalkarras can sharpen detailsKSampler docs
denoiseKSampler1.01.0 = txt2img; <1.0 = img2imgKSampler docs

Source: KSampler embedded docs, first generation tutorial.


Keyboard shortcuts worth learning on day one

ComfyUI ships with a full shortcut set (documented in the GitHub README). The ones that save the most friction for A1111 migrants:

ActionShortcutWhen you'll use itSource
Queue promptCtrl + EnterReplaces the big orange Generate buttonREADME
Cancel generationCtrl + Alt + EnterStop a runaway jobREADME
Undo / RedoCtrl + Z / Ctrl + YGraph editing is destructive; undo saves youREADME
Bypass selected nodesCtrl + BDisable ControlNet / IP-Adapter without deletingREADME
Group selected nodesCtrl + GCollapse visual clustersREADME
Pan canvasSpace + dragPrevents accidental wire draggingREADME
Fit view. (period)Frame the whole graph instantlyREADME
Refresh graphRReload after dropping new checkpointsREADME

Three UI settings to change now:

  1. Settings → Comfy → Menu → Use new menu: ON — sidebar with Assets, Nodes, Models, Workflows, Templates. Read more
  2. Settings → Comfy → Locale — supports EN, ZH, RU, FR, JA, KO.

Habits that prevent broken workflows

1. Back up before you rewire

Drag a workflow .json onto the canvas to load it. Before moving nodes, press Ctrl+S. The original file stays intact; you're editing the browser's live copy.

Source: "It's easy to break stuff and not necessarily easy to fix." — Civitai article 9471

2. Use the hand tool for navigation

Bottom-right toolbar: click the arrow icon to toggle hand mode. In hand mode, drag pans without selecting or moving nodes. Arrow mode lets you rewire — but a careless click drags a node and snaps wires. Civitai 9471

When a workflow throws red boxes or "ModuleNotFoundError":

  1. Launch with python main.py --disable-all-custom-nodes.
  2. If it works, re-enable half your custom nodes, restart, test.
  3. Repeat until the culprit is found.

Comfy CLI automates this: comfy-cli node bisect start → mark good/bad → comfy-cli node bisect reset. Source

4. Read red boxes left-to-right

A red node border means missing input. Zoom out (- key), find the leftmost red box. Its input dropdown shows the filename ComfyUI expects. Search your drive for that file (Windows: Everything by Voidtools is excellent). Drop it in the folder the dropdown references, press R to refresh, select it. Civitai 9471

5. Prefer CheckpointLoaderSimple

The old CheckpointLoader asks for both config and checkpoint. CheckpointLoaderSimple needs only the checkpoint name and splits MODEL/CLIP/VAE automatically. The legacy node is deprecated. Source

6. Bypass, don't delete

Need to compare with/without ControlNet? Select the node, press Ctrl+B. It grays out and wires pass through. Press Ctrl+B again to re-enable. Deleting forces you to rewire. Source: "Bypass selected nodes (acts like the node was removed from the graph and the wires reconnected through)."


Common errors and fixes

SymptomLikely causeFixSource
"ModuleNotFoundError: No module named 'xyz'"Custom node dependency missing or wrong Python envRun pip install -r requirements.txt inside that node folder, or use Manager → Install Missing NodesComfyUI-Manager
Red box on Load Checkpoint, dropdown emptyCheckpoint not in models/checkpoints/Move .safetensors there, press RCivitai 9471
KSampler runs but Save Image shows nothingMissing wire to VAE Decode or VAE not connectedConnect KSampler → VAE Decode → Save Image; wire VAE from Load CheckpointKSampler docs
"Torch not compiled with CUDA"PyTorch CPU-only installReinstall: pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130ComfyUI README
Nodes missing (gray "Unknown" boxes)Custom nodes not installedManager → Install Missing Nodes; or clone the Git repo into custom_nodes/ComfyUI-Manager
Generated image is solid colordenoise too low or cfg extremeSet denoise=1.0 for txt2img; keep cfg between 5–9KSampler docs

Sources: ComfyUI troubleshooting docs, KSampler embedded docs, Civitai article 9471, ComfyUI Manager README.


FAQ

What are the most important ComfyUI nodes for beginners? Load Checkpoint, CLIP Text Encode (positive + negative), KSampler, VAE Decode, Save Image. These five form every text-to-image pipeline. Everything else — ControlNet, IP-Adapter, upscalers — plugs into this spine. Read more

How do you load a model in ComfyUI without knowing the filename? Drop a .safetensors into ComfyUI/models/checkpoints/ (or a subfolder). Press R on the canvas. The Load Checkpoint dropdown refreshes and shows the new file.

What is the difference between LATENT and IMAGE nodes? Empty Latent Image creates a blank compressed tensor that KSampler denoises. VAE Decode converts that LATENT into an IMAGE (pixels). Save Image writes it to disk. You never see pixels until after VAE Decode.

How do I bypass ControlNet without deleting the node? Select the node, press Ctrl+B. It grays out and wires pass through. Ctrl+B again to re-enable.

What does the 'seed' parameter do? Seed initializes the random noise tensor. Same seed + same inputs = identical output. control_after_generate offers random, increment/decrement, and fixed.

Why does my workflow cache results instead of re-generating? ComfyUI only re-runs changed nodes. If no inputs differ, it returns cached output. Change a prompt, seed, or parameter to force re-execution.


Sources

  1. ComfyUI core concepts — workflow graph architecture

https://docs.comfy.org/development/core-concepts/workflow

  1. ComfyUI text-to-image tutorial — detailed node chain

https://docs.comfy.org/tutorials/basic/text-to-image

  1. KSampler embedded docs — denoising node parameters

https://raw.githubusercontent.com/Comfy-Org/embedded-docs/main/comfyui_embedded_docs/docs/KSampler/en.md

  1. CheckpointLoaderSimple docs — model decomposition

https://raw.githubusercontent.com/Comfy-Org/embedded-docs/main/comfyui_embedded_docs/docs/CheckpointLoaderSimple/en.md

  1. ComfyUI README — keyboard shortcuts

https://github.com/Comfy-Org/ComfyUI

  1. ComfyUI troubleshooting — custom node debugging

https://docs.comfy.org/troubleshooting/custom-node-issues

  1. Civitai article 9471 — red-box troubleshooting workflow

https://civitai.com/articles/9471

  1. ComfyUI-Manager — missing nodes installation

https://github.com/Comfy-Org/ComfyUI-Manager