ComfyUI Custom Nodes Guide 2026: 10 Essential Node Packs

comfyuiaistablediffusiongpuopensource

ComfyUI ships with enough built-in nodes to generate images from a checkpoint — load model, encode prompt, sample, decode. That covers maybe 20% of what people actually use it for. ControlNet preprocessing, face detailing, IPAdapter style transfer, GGUF quantized model support — all of that lives in the custom node ecosystem.

The ecosystem is also enormous and chaotic. Dozens of packs exist for every category, maintainership changes without announcement, forks of forks circulate on forums. This guide cuts through that: ten packs you should actually install, what each one does, and why these over the alternatives.

Tested on ComfyUI v0.21.1 (released May 13, 2026) on an RTX 3090 (24GB VRAM). Where VRAM constraints matter, 8–12GB card behavior is noted.

If you’re still evaluating whether ComfyUI is the right tool for your workflow, the ComfyUI 2026 review covers the full picture first. And if you’re choosing between ComfyUI and something simpler for getting started, Fooocus vs ComfyUI for beginners is worth reading before loading up custom nodes.


Installing Custom Nodes: Two Methods

Method 1: ComfyUI-Manager (the right way)

ComfyUI-Manager is the first pack to install — it makes every subsequent install a three-click operation. The ComfyUI Desktop app ships with it pre-installed. For git-clone ComfyUI installations:

cd ComfyUI/custom_nodes
git clone https://github.com/Comfy-Org/ComfyUI-Manager

Restart ComfyUI. A Manager button appears in the top menu bar. After that: Manager → Custom Nodes Manager → search for the pack name → Install → Restart. That’s the complete workflow for every pack below.

Method 2: Manual git clone

Use this when Manager isn’t available or you want a pinned commit:

cd ComfyUI/custom_nodes
git clone https://github.com/<author>/<repo-name>
pip install -r <repo-name>/requirements.txt  # if the file exists

Restart ComfyUI, then check the Console tab for import errors before assuming the install worked. A silent failure here will leave nodes missing from the menu with no indication why.


The 10 Node Packs

1. ComfyUI-Manager

Repo: Comfy-Org/ComfyUI-Manager · License: GPL v3 · Version: 4.2.1 (April 22, 2026)

Install this before anything else, even if it’s the only thing you install. Every other pack on this list is easier to manage with it.

Beyond search-and-install, the features that matter day-to-day: automatic missing-node detection when you load a workflow that uses packs you don’t have; bulk updates across all installed packs with one click; and a snapshot system that saves the current state of your entire custom node setup. If a batch update breaks interdependent packs, rolling back takes thirty seconds.

The rough edge: some packs mark themselves disabled after a ComfyUI version bump until Manager re-enables them. Check the Installed tab after any ComfyUI update before assuming a pack stopped working.


2. ComfyUI Impact Pack

Repo: ltdrdata/ComfyUI-Impact-Pack · Version: 8.28.3 (April 19, 2026) · Downloads: 2.7M+

The most-downloaded third-party custom pack after Manager. The headline feature is Face Detailer: it detects faces in a generated image using SAM (Segment Anything Model), crops each face, runs a second higher-resolution generation pass on the crop, then composites it back into the original. The result is sharper, more consistent faces in a single workflow pass — no separate inpainting step required.

Other nodes worth knowing:

  • Detailer for AnimateDiff — the same face-fixing process applied frame-by-frame to video output
  • SEGS nodes — segment-anything integration for masking arbitrary objects in an image
  • Iterative Upscale — chains multiple upscale + denoise cycles automatically without manual node duplication

There’s also a ComfyUI-Impact-Subpack for features that didn’t make it into the main pack’s stability bar — install it separately if a workflow calls for it.


3. comfyui_controlnet_aux

Repo: Fannovel16/comfyui_controlnet_aux · Also mirrored at comfyorg/comfyui-controlnet-aux

ControlNet models condition image generation on a “hint image” — a depth map, edge map, or pose skeleton derived from a reference. ComfyUI’s built-in nodes include the ControlNet model loader and conditioning nodes, but not the preprocessors that generate the hint images. That gap is what this pack fills.

Preprocessors included: Canny edge, HED soft edge, Midas depth, ZoE depth, OpenPose skeleton, DWPose, lineart, scribble, segmentation, MediaPipe face mesh, and more. The AIO Aux Preprocessor consolidates all of them into a single node with a dropdown — useful when testing multiple hint types without rewiring the whole graph.

One behavior to know: preprocessor model weights download on first use, not on install. The first run of any preprocessor will pause to fetch the weights. Subsequent runs are instant.


4. ComfyUI_IPAdapter_plus

Repo: cubiq/ComfyUI_IPAdapter_plus · Maintainer: Matteo “cubiq” Spinelli

IPAdapter conditions a generation on a reference image by encoding its visual features and injecting them into the model’s attention layers — distinct from img2img, which blends pixels directly. The practical result: generate character variations that preserve appearance without a LoRA, transfer artistic style from one image to a new scene, or blend two reference images with adjustable weights.

The pack requires downloading IPAdapter model files separately from HuggingFace. Place them in ComfyUI/models/ipadapter/. The README specifies exact file names — the loader node is strict about matching them, and a misnamed file produces an unhelpful error.

For Flux-based workflows, Comfy-Org maintains a separate implementation at comfyorg/comfyui-ipadapter optimized for the Flux attention architecture.


5. ComfyUI-AnimateDiff-Evolved

Repo: Kosinkadink/ComfyUI-AnimateDiff-Evolved

AnimateDiff motion modules extend any Stable Diffusion checkpoint into a video generator by adding temporal attention layers. ComfyUI-AnimateDiff-Evolved is the maintained ComfyUI implementation — the “Evolved” suffix reflects its extended capabilities: context windowing for clips longer than the base 16-frame window, ControlNet and SparseCtrl integration, and IPAdapter support within the same workflow graph.

VRAM requirements are real here. Generating 16 frames at 512px with SDXL on 8GB is achievable with attention slicing. At 768px or longer clip lengths under 16GB, you’ll hit GPU memory swaps that slow generation significantly. Scaling up to an A100 for batch animation work costs less than you’d expect — RunPod rents A100 instances by the hour for exactly this use case.

Pairs with ComfyUI-VideoHelperSuite (pack #9 below) for loading reference video and exporting the generated output.


6. ComfyUI-GGUF

Repo: city96/ComfyUI-GGUF

Transformer-based diffusion models like Flux tolerate quantization far better than the older UNet conv2d architecture — the reason GGUF quantization wasn’t viable for SD1.5/SDXL but works for Flux. ComfyUI-GGUF brings llama.cpp’s GGUF format into ComfyUI’s model loading pipeline.

The practical impact: Flux.1-dev in full BF16 needs roughly 24GB VRAM. The Q4_K_S GGUF version fits in 8GB. Quality difference at Q4 is noticeable but acceptable for iterating on compositions; Q8 is nearly indistinguishable from BF16 and fits in 12GB. For anyone running Flux on a card under 16GB, this pack is non-optional. See the GPU buying guide at runaihome.com if you’re weighing a hardware upgrade against running quantized models.

Setup: install the pack, place .gguf files in ComfyUI/models/unet/, and use the GGUF Unet Loader node (listed under the “bootleg” category in the node search) instead of the standard checkpoint loader.

ComfyUI/
  models/
    unet/
      flux1-dev-Q4_K_S.gguf
      flux1-dev-Q8_0.gguf

Pre-quantized Flux files are available at city96/FLUX.1-dev-gguf on HuggingFace.


7. WAS Node Suite

Repo: ltdrdata/was-node-suite-comfyui — active fork of the original by WASasquatch, now archived

210+ nodes covering image processing, text manipulation, and workflow utilities. The original author retired and the original repo is archived; ltdrdata’s fork is the maintained version and the target ComfyUI-Manager installs when you search for “WAS Node Suite.”

Nodes worth reaching for:

  • Image Save — saves output with embedded generation metadata (prompt, seed, sampler settings)
  • Text Concatenate / Text Parse — string operations for building dynamic prompts from variables
  • Image Blend — composites two images with blend modes (multiply, screen, overlay, difference)
  • Latent Noise — injects structured noise into latents for controlled variation
  • CLIPTextEncode (NSP) — Natural Scene Parser for noodle-free prompt composition

You won’t use all 210 nodes. Install once and reference them as your workflow complexity grows.


8. ComfyUI_essentials

Repo: cubiq/ComfyUI_essentials · Maintainer: Matteo “cubiq” Spinelli

About 40 nodes focused on specific quality-of-life gaps in core ComfyUI. Less sprawling than WAS, more curated:

  • ImageResize+ — resize with multiple interpolation modes, optional padding to target aspect ratio
  • MaskFromBoundingBox — generate masks directly from detected bounding box coordinates
  • ConsoleDebug — print any tensor or value to the console mid-workflow for debugging without a separate preview node
  • SimpleMath+ — inline arithmetic on integer/float values, useful for parameterizing dimensions
  • BatchCount+ — count images or latents in a batch; saves opening a preview node just to check

Small, stable install. Rarely causes conflicts with other packs.


9. ComfyUI-VideoHelperSuite

Repo: Kosinkadink/ComfyUI-VideoHelperSuite · License: Apache 2.0

ComfyUI’s native pipeline works on image batches and latents, not video files. VideoHelperSuite is the bridge: load a video file into an image batch, process each frame through any workflow, then export back to video. It also handles audio pass-through, frame splitting, and sequence manipulation.

Key nodes:

  • LoadVideoUpload — load a video file from disk into an image batch
  • VHS_VideoCombine — export an image batch to a video file (MP4, GIF, WebP)
  • VHS_SplitImages — split a batch at a specific frame index into two segments
  • VHS_DuplicateImages — repeat frames within a batch for timing adjustments

Apache 2.0 license means commercial use without restriction. Required if you’re doing any AnimateDiff, LTX Video, or frame-interpolation workflow.


10. Efficiency Nodes for ComfyUI (jags111 fork)

Repo: jags111/efficiency-nodes-comfyui

The original Efficiency Nodes by LucianoCirino is no longer maintained. The jags111 fork is the active version. The core idea: consolidate the boilerplate starting nodes — checkpoint loader, CLIP encode, empty latent image, sampler — into fewer high-density nodes that take fewer wires to connect.

The Efficient Loader node replaces a 4-node stack. The KSampler (Efficient) adds inline latent preview during generation and caches the loaded model between runs, cutting reload time on workflows where you’re changing only the prompt or seed.

One real trade-off: consolidated nodes hide what’s happening under the hood. When debugging a workflow you didn’t build or one that’s misbehaving, convert the consolidated nodes back to standard equivalents to inspect each connection independently.


Comparison Table

PackPrimary UseMaintained ByLicenseVRAM Impact
ComfyUI-ManagerNode managementComfy-OrgGPL v3Minimal
Impact PackFace detail / SAM segmentationltdrdatasee LICENSE+0.5–2 GB
controlnet_auxControlNet preprocessorsFannovel16 / comfyorgApache 2.0+0.3–1 GB
IPAdapter_plusImage-prompt conditioningcubiqGPL v3+1–3 GB
AnimateDiff-EvolvedVideo / animation generationKosinkadinkApache 2.0+2–4 GB
ComfyUI-GGUFGGUF quantized model loadingcity96Apache 2.0Saves 8–16 GB
WAS Node SuiteImage ops / utilitiesltdrdata forkMITMinimal
ComfyUI_essentialsQoL utilitiescubiqMITMinimal
VideoHelperSuiteVideo I/O and sequencingKosinkadinkApache 2.0Minimal
Efficiency NodesWorkflow UX / node consolidationjags111 forkGPL v3Minimal

When Not to Load All of These at Once

Every installed custom node pack runs its __init__.py at ComfyUI startup. With 20+ packs installed, startup time can stretch to 60–90 seconds on a slow drive. More critically: one broken pack can prevent ComfyUI from loading at all, even if the broken pack’s nodes aren’t used in your current workflow.

Practical rules:

Install only what the active project needs. Manager lets you enable and disable packs without uninstalling them. Keep inactive packs disabled.

Snapshot before updating. Manager’s snapshot system saves the exact version of every installed pack. A batch update can break three interdependent packs simultaneously — the snapshot is the rollback.

Read the Console on startup. Import errors appear in the console output, not the ComfyUI UI. A pack that fails silently leaves nodes missing with no obvious reason. Check the logs.

Avoid forks of forks without vetting. The WAS Node Suite situation — original archived, active fork — is common in this ecosystem. Before assuming Manager installed the right version, confirm which GitHub repository it actually pulled from.

Don’t use all ten packs on a 8GB card simultaneously. IPAdapter, AnimateDiff, and a ControlNet model loaded at the same time will exhaust 8GB of VRAM before the sampler runs. Load what the workflow needs and let ComfyUI’s dynamic VRAM management offload what it can to system RAM.

For workflows that regularly push past local VRAM — batch AnimateDiff renders, full-resolution Flux without GGUF, training runs — cloud GPU rental is worth the hourly cost. RunPod lets you provision an A100 or H100 for the duration of a batch job and shut it down immediately after.


1V1 PLAYBOOK · LOCAL LLM

Cut your local AI bill from $400/month cloud GPU to $47/month at home.

4-path hardware decision table, Ollama cold-start fix, Cursor/Claude Code routing configs, full 24-month TCO calculator.

Get it for $19 (early bird) →

Sources

Was this article helpful?