comfyanonymous/ComfyUI
Glossary
Project-specific vocabulary you will run into when reading the code or talking to the team.
Graph and execution
| Term | Meaning |
|---|---|
| Prompt | The JSON object posted to /prompt. Maps node IDs to {class_type, inputs}. Despite the name, it is the entire workflow — text prompts are just one input on a CLIPTextEncode node. |
| Workflow | The frontend's term for a saved graph (with positions, colors, etc.). Stored as JSON. The prompt is the executable subset. |
| Node | A class registered in NODE_CLASS_MAPPINGS (nodes.py). Has INPUT_TYPES, RETURN_TYPES, and a FUNCTION method. |
| DynamicPrompt | The mutable view of a prompt during execution. Supports node expansion — a node can return a sub-graph that gets spliced in. Defined in comfy_execution/graph.py. |
| Output node | A node with OUTPUT_NODE = True. Execution starts from output nodes and walks backward through the DAG. |
| Lazy input | An input declared with lazy: True. Combined with check_lazy_status, lets a node skip evaluating inputs it does not need. |
| ExecutionBlocker | A sentinel value a node can emit to short-circuit a branch without raising. |
| CacheSet | The collection of caches that decides whether a node needs to re-run. See comfy_execution/caching.py and Prompt execution. |
Models and weights
| Term | Meaning |
|---|---|
| Checkpoint | A .ckpt or .safetensors file containing the unet, VAE, and text encoder weights of a model. Loaded via comfy.sd.load_checkpoint_guess_config (comfy/sd.py). |
| MODEL | A loaded diffusion backbone (the unet equivalent), wrapped in a ModelPatcher. The MODEL Comfy IO type passes one of these between nodes. |
| CLIP | A loaded text encoder, also wrapped in a ModelPatcher. Despite the name, the same socket carries T5, Llama, Qwen, and other encoders for non-SD models. |
| VAE | A loaded autoencoder. Wraps multiple architectures via comfy/ldm/.../*vae* modules. |
| ModelPatcher | The class in comfy/model_patcher.py that owns a model's weights, applies "patches" (LoRA, hooks), and shuttles the model between CPU and GPU. The single most central type in comfy/. |
| LoRA | Low-rank adapter weights applied as a ModelPatcher patch. See comfy/lora.py and nodes.LoraLoader. |
| Hook | A scoped, time-bounded patch that activates only for a subset of timesteps or conditioning. See comfy/hooks.py. |
| Latent | The compressed image space that diffusion happens in. A 4D tensor like [B, 4, H/8, W/8] for SD-style models. Carried by the LATENT IO type. |
| Conditioning | A list of (tensor, dict) pairs produced by a text encoder, with optional masks, area, and extra controls. The CONDITIONING IO type. |
| Sampler | A discretization scheme (Euler, DPM++, etc.). Lives in comfy/k_diffusion/sampling.py and comfy/extra_samplers/. |
| Sigmas | The noise schedule values. The SIGMAS IO type carries a 1D tensor of noise levels. |
| GUIDER | A higher-level wrapper that takes a model + conditioning and exposes a predict_noise method. Used by the Custom Sampler node family. |
Patching, ops, quantization
| Term | Meaning |
|---|---|
| ops | A drop-in replacement for torch.nn modules in comfy/ops.py. Each model's nn modules import from comfy.ops instead of torch.nn so weight loading, dtype handling, and offload can hook in. |
| MixedPrecisionOps | The variant of ops that loads selected layers as QuantizedTensors. Activated when a checkpoint declares layer_quant_config. See QUANTIZATION.md and comfy/ops.py. |
| QuantizedTensor | A torch.Tensor subclass that carries quantization metadata (scales, layout). See comfy/quant_ops.py. |
| VRAMState | One of DISABLED / NO_VRAM / LOW_VRAM / NORMAL_VRAM / HIGH_VRAM / SHARED. Set at startup in comfy/model_management.py based on flags and detected hardware. |
| Async offload | Overlapping weight uploads with compute via multiple CUDA streams. Controlled by --async-offload. |
| DynamicVRAM | Newer VRAM scheduler implemented in comfy_aimdo. Activated via enables_dynamic_vram() in comfy/cli_args.py. |
Server and frontend
| Term | Meaning |
|---|---|
| PromptServer | The aiohttp app in server.py that exposes /prompt, /queue, /history, /view, the WebSocket, etc. |
| Internal routes | The /internal/* routes in api_server/routes/internal/internal_routes.py. Considered private to the frontend and not part of the public API. |
| client_id | Identifies a connected WebSocket session. Used to scope progress events. |
| prompt_id | A UUID assigned to a queued prompt. Threads through validation, execution, history, and asset records. |
| Frontend | The Vue/TypeScript SPA in Comfy-Org/ComfyUI_frontend, shipped as a pinned Python package and served from web/. |
| Manager | Comfy-Org/ComfyUI-Manager. Custom-node installer/updater. Optional, gated by --enable-manager. |
| Subgraph | A reusable group of nodes the frontend can collapse into a single visual node. The backend sees an expanded prompt; subgraph metadata is managed in app/subgraph_manager.py. |
| Blueprint | A workflow JSON file shipped under blueprints/ that the frontend can load as a starting point. |
Assets and storage
| Term | Meaning |
|---|---|
| Asset | A file identified by content hash. Stored in the assets table; see app/assets/database/models.py. |
| AssetReference | A name + path + metadata for an asset. One asset can have many references (e.g., the same checkpoint mounted via two paths). |
| Seeder / scanner | The background pair that walks models/, input/, output/ and populates the asset DB. Lives in app/assets/seeder.py and app/assets/scanner.py. |
| enrichment_level | A 0/1/2 tier on AssetReference indicating how much metadata has been computed (size only → MIME → full hash + thumbnail). |
| Folder paths | The model directory registry in folder_paths.py. Maps logical names (checkpoints, loras, vae, …) to lists of disk paths and accepted extensions. |
API node ecosystem
| Term | Meaning |
|---|---|
| API node | A node with API_NODE = True that calls an external paid service (Kling, Veo, Stability, BFL, Ideogram, …). Lives in comfy_api_nodes/. Disabled with --disable-api-nodes. |
| comfy-api | The versioned public surface for custom nodes (comfy_api/latest, comfy_api/v0_0_1, comfy_api/v0_0_2). Includes io, ui, ComfyExtension, video helpers, etc. |
| V3 schema | The newer way to declare nodes via io.Schema(...) and define_schema/execute. Coexists with the V1 (INPUT_TYPES / RETURN_TYPES) style. |
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.