Open-source project
yolain/ComfyUI-Easy-Use avatar
yolain/ComfyUI-Easy-Use

ComfyUI-Easy-Use ships its install instructions as English prose inside a shell block

In order to make it easier to use the ComfyUI, I have made some optimizations and integrations to some commonly used nodes.

2,761 stars227 forksPythonGPL-3.0

At a glance

What is it?
ComfyUI-Easy-Use is a ComfyUI custom node package that chases every new diffusion model with a simplified node, and its changelog is mostly about keeping up with ComfyUI's own frontend. The install block, the duplicated dependency lists and the version cadence are the parts worth reading.
Who is it for?
ComfyUI-Easy-Use is worth installing if you work in ComfyUI and want one node per model family instead of assembling samplers yourself, and if you already run custom node packages, since some of its nodes depend on other people's packs. Check three things first.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 13 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The second line of the install command is a sentence

The installation section is short enough to take in at a glance, and the block it contains is worth reading closely:

shell
#1. Clone the repo
git clone https://github.com/yolain/ComfyUI-Easy-Use
#2. Install the requirements
Double-click install.bat to install the required dependencies

The first instruction is a real command, and it has no destination. The prose above the block says to clone the repo into the custom_nodes directory, so a reader has to supply that part themselves and remember that ComfyUI only scans that one directory for custom nodes.

The second instruction is not a command at all. It is an English sentence telling you to double-click a Windows batch file, sitting inside a shell fence between two numbered comments as though it were something to paste. A reader working on Linux or macOS has to notice that the repository also ships install.sh and choose for themselves, because the block names only the batch file.

There is a third dependency step mentioned elsewhere in the document as well: the Layer Diffuse support is said to need pip install -r requirements.txt run on first use. So requirements can be installed by the installer script or by hand, and one feature asks for the hand route explicitly.

The same ten dependencies are listed in two files, in two orders

The package declares its dependencies twice, and the two lists are not identical.

The manifest lists ten packages: diffusers, accelerate, clip_interrogator, sentencepiece, lark, onnxruntime, spandrel, opencv-python-headless, matplotlib and peft. The requirements file lists the same ten names in a different order, and adds a floor to one of them, requiring clip_interrogator at 0.6.0 or newer. Everything else is unpinned in both places.

That is the whole picture for versioning: one dependency out of ten carries a lower bound, and no dependency carries an upper bound anywhere. For a package whose job is to load many model families, unpinned loaders and inference libraries are the ones that move underneath it most often.

Two other details belong here. The manifest has no build system table, which is consistent with ComfyUI loading a custom node directory directly rather than installing a wheel, so the file exists for metadata and registry purposes rather than for pip. And the root carries a file called repair_dependency_list.txt, whose name says the dependency list is something that has needed repairing before.

A startup script runs before ComfyUI, and a submodule holds the frontend

The root layout explains how the package attaches itself to ComfyUI. There is a prestartup_script.py at the top level, which is the hook ComfyUI runs before it brings the interface up, so part of this package executes before any node is even registered. There is a .gitmodules file and a ComfyUI-Easy-Use-Frontend directory, meaning the frontend half is a separate repository pulled in as a submodule rather than code that lives here.

There is also a web_version directory, which suggests a second delivery shape alongside the custom node package, and a locales directory for translated interface strings. The Chinese README sits beside the English one as README.ZH_CN.md, so the documentation is maintained in two languages at the root rather than through a translation service.

The remaining directories divide into code and support: a py directory, a resources directory, a tools directory and a tests directory. An __init__.py at the root is what ComfyUI imports when it loads the package.

The manifest also carries registry metadata, with a publisher identifier, a display name and an icon URL, under a section commented as being used by the Comfy Registry. So the package is published to a node registry as well as being cloned by hand, and the version in that manifest is a static 1.4.1 rather than something computed.

Every model family gets a node, and several of them need someone else's pack

The feature list is organised by model family, and it reads like a running record of what has shipped. Simplified processes are claimed for SD1.x, SD2.x, SDXL, SVD and Zero123, then separately for Stable Cascade, Layer Diffuse, InstantID, Fooocus inpainting, SD3, Kolors and Flux. Background removal targets the RMBG-1.4 model. Lazy conditionals and for loops are supported, and there is forced clearing of the ComfyUI model's memory usage for people who want the VRAM back on demand.

The newest entry is the most specific. Anima and Krea2 diffusion models are supported through a diffusion model loader and a matching XYPlot input, and that loader requires an explicit text encoder and VAE selection rather than inferring them. That is a real difference from the older families, and it is stated as a requirement rather than a default.

Three features delegate to other people's packages, and this is the practical cost of the design. LoRA block weight needs the ComfyUI-Inspire-Pack present. InstantID needs ComfyUI_InstantID present. Layer Diffuse needs its requirements installed on first use. SD3 also gets multi-account API nodes, which implies holding more than one account's credentials in the configuration.

So the node count is high partly because it wraps other packs rather than replacing them.

The loader borrows A1111 prompt mode so results match webui

One loader option exists purely for output parity. The loader enables A1111 prompt mode, described as reproducing nearly identical images to those the web interface generates, which matters to anyone moving an existing workflow from Automatic1111 rather than starting fresh inside ComfyUI.

Two other choices are about workflow shape rather than models. A node for pre-sampling parameter configuration was split out from the sampling node so parameters can be previewed before a run, and noise can be injected into the latent space through either an easy latentNoisy node or an easy preSamplingNoiseIn node, giving two entry points for the same effect.

There is also a first-run step that is easy to miss. The UI theme has to be switched by hand in Settings, then the page refreshed, before the theme takes effect. That is a manual step after installation rather than a setting, which is the sort of detail that gets reported as a bug on the first day and never again.

The broader claim in the project description is that it restores a smooth image production experience while keeping freedom of configuration, which is a promise about feel rather than a measurable property.

Wildcards and style files are read from folders on disk

Two features depend on files the user places in specific directories, and both have naming rules that are easy to get wrong.

The multi-selectable cue word selector loads style definitions as JSON, and the default is a Fooocus style file. Custom style JSON goes into a styles folder, and a companion repository of ready made style templates exists for people who would rather not write their own. Alongside that, wildcards and LoRAs are supported, so a prompt can be assembled from a wildcard list rather than typed.

Sample images are tied to the same mechanism by filename. A sample image can be placed in the preview image folder so the selector shows it, but the file name has to match the style name, and any space in the name has to be replaced by a low line character instead. That is a filesystem convention rather than a UI convention, so a style called studio portrait has to be backed by a file whose name uses a low line where the space was, and nothing in the interface will tell you that is why the preview is blank.

The XYPlot integration is extended rather than replaced, which means the parameter sweep tool people already use gains inputs instead of arriving as a separate graph editor.

The changelog is mostly about ComfyUI's frontend moving

Read the recent versions together and one theme dominates: the package is repeatedly repairing its own nodes against upstream changes it does not control.

Version 1.4.0 is the clearest case. It fixes a node that stopped working on the latest ComfyUI frontend, restores connection lines missing from the refresh nodes feature in the new frontend, switches tiled decode to the native VAEDecodeTiled for Qwen Image VAE support, and changes the PixArt ControlNet wrappers to use a different interpolation parameter because the one they used was removed upstream. That last one is not a bug fix in this package at all; it is a rename forced by someone else's deprecation. The same version also rolls a cycle node back to its first version, gives global seed generation a dedicated random generator, and fixes a batch of smaller defects including a crash on multi-frame masks and a dialog overlay that would not clear on Windows.

Version 1.3.6 shows the other direction of travel: a prompt file converted to the V3 schema, and custom widgets taught about subgraphs and a newer node format. It also carries an admission, that displaying large data may still crash ComfyUI in some cases.

So the package version moves, but the binding constraint is the host application. A ComfyUI update can require a new release of this package even when nothing about image generation changed.

Two releases a day apart, after seven months of quiet

The release dates describe an uneven cadence. Version 1.3.6 was published on 2026-01-23. Version 1.4.0 followed on 2026-09-03, and 1.4.1 the next day. That is roughly seven and a half months between the two, then two releases inside twenty four hours, and the newer of the pair contains a single fix, to a text output node that was writing outside the output directory.

The last push to the main branch is dated 2026-09-21, seventeen days after 1.4.1 shipped. The version in the manifest is the static string 1.4.1, so the working tree is ahead of its own version number and there is no mechanism in the files described here that derives one from the repository state.

The licensing deserves one note because of what the package is built from. It is described as extended from TinyTerraNodes, so it is derivative work, and it is distributed under GPL-3.0 with a LICENSE file at the root, which is the licence that derivative distribution of that kind calls for.

The documentation lives outside the repository. The docs are on a separate documentation site, the video tutorial is on a video platform, and the example workflows are in a separate repository, so a reader who installs the package still has three other places to go for material.

Editorial conclusion

ComfyUI-Easy-Use is worth installing if you work in ComfyUI and want one node per model family instead of assembling samplers yourself, and if you already run custom node packages, since some of its nodes depend on other people's packs. Check three things first. The install path is manual, with a clone into the custom_nodes directory and a separate dependency step, and the README puts an English sentence where a shell command should be, so follow the prose rather than the block. The dependency list exists twice with different version floors, so check which file your install actually reads. And expect the package to lag ComfyUI: the frontend moves faster than the release tags do, and several recent versions exist mostly to catch up with upstream changes, including one that had to rename a parameter upstream had already removed.

Frequently asked questions

how to install comfyui easy use

Clone the repository into ComfyUI's custom_nodes directory with git clone https://github.com/yolain/ComfyUI-Easy-Use, then install the dependencies. The repository ships both install.bat and install.sh for that second step, and the requirements can also be installed by hand with pip install -r requirements.txt, which is what the Layer Diffuse feature asks for on first use.

what is comfyui easy use

A ComfyUI custom node package that adds simplified nodes for specific model families and workflows, extended from TinyTerraNodes. It covers SD1.x, SD2.x, SDXL, SVD, Zero123, Stable Cascade, Layer Diffuse, InstantID, SD3, Kolors, Flux, Anima and Krea2, plus loop and conditional nodes, XYPlot extensions, style and wildcard selectors, and forced VRAM clearing. Licence is GPL-3.0.

Why does ComfyUI-Easy-Use need other custom node packages installed?

Three of its features wrap other people's packs rather than reimplementing them. LoRA block weight requires the ComfyUI-Inspire-Pack, InstantID requires ComfyUI_InstantID, and Layer Diffuse asks you to install its requirements on first use. The package is also extended from TinyTerraNodes.

How often does ComfyUI-Easy-Use have to catch up with ComfyUI itself?

Often, based on its own changelog. Version 1.4.0 fixes a node broken by the latest frontend, restores connection lines missing from the refresh nodes feature, moves to the native VAEDecodeTiled for Qwen Image support, and replaces a PixArt ControlNet parameter that upstream removed. Version 1.3.6 converted a prompt file to the V3 schema and taught custom widgets about subgraphs.

How does ComfyUI-Easy-Use declare what it depends on?

Twice, and not identically. The manifest and the requirements file both list the same ten packages, in different orders, and only the requirements file puts a floor on one of them by requiring clip_interrogator 0.6.0 or newer. No dependency carries an upper bound in either file, and the manifest carries no build system table because ComfyUI loads the directory directly.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. yolain/ComfyUI-Easy-Use on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/yolain-comfyui-easy-use.svg)](https://hysenlabs.com/projects/yolain-comfyui-easy-use)