yolain / ComfyUI-Easy-Use

In order to make it easier to use the ComfyUI, I have made some optimizations and integrations to some commonly used nodes.
GNU General Public License v3.0
1.08k stars 77 forks source link

comfyui-easy-use

Video Tutorial | Docs (Cooming Soon) | Workflow Collection | Donation

ComfyUI-Easy-Use is an efficiency custom nodes integration package, which is extended on the basis of TinyTerraNodes. It has been integrated and optimized for many popular awesome custom nodes to achieve the purpose of faster and more convenient use of ComfyUI. While ensuring the degree of freedom, it restores the ultimate smooth image production experience that belongs to Stable Diffusion.

👨🏻‍🎨 Introduce

👨🏻‍🔧 Installation

Clone the repo into the custom_nodes directory and install the requirements:

#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

👨🏻‍🚀 Plan

📜 Changelog

v1.2.5

v1.2.4

v1.2.3

v1.2.2

v1.2.1

v1.2.0

v1.1.9

v1.1.8

v1.1.7

v1.1.6

v1.1.5

v1.1.4

v1.1.3

v1.1.2 - Optimized some of the recommended nodes for slots related to EasyUse - Added **Enable ContextMenu Auto Nest Subdirectories** The setting item is enabled by default, and it can be classified into subdirectories, checkpoints and loras previews - Added `easy sv3dLoader` - Added `easy dynamiCrafterLoader` - Added `easy ipadapterApply` - Added `easy ipadapterApplyADV` - Added `easy ipadapterApplyEncoder` - Added `easy ipadapterApplyEmbeds` - Added `easy preMaskDetailerFix` - Fixed `easy stylesSelector` is change the prompt when not select the style - Fixed `easy pipeEdit` error when add lora to prompt - Fixed layerDiffuse xyplot bug - `easy kSamplerInpainting` add *additional* widget,you can choose 'Differential Diffusion' or 'Only InpaintModelConditioning'
v1.1.1 - The issue that the seed is 0 when a node with a seed control is added and **control before generate** is fixed for the first time run queue prompt. - `easy preSamplingAdvanced` Added **return_with_leftover_noise** - Fixed `easy stylesSelector` error when choose the custom file - `easy preSamplingLayerDiffusion` Added optional input parameter for mask - Renamed all nodes widget name named seed_num to seed - Remove forced **control_before_generate** settings。 If you want to use control_before_generate, change widget_value_control_mode to before in system settings - Added `easy imageRemBg` - The default is BriaAI's RMBG-1.4 model, which removes the background effect more and faster
v1.1.0 - Added `easy imageSplitList` - to split every N images - Added `easy preSamplingDiffusionADDTL` - It can modify foreground、background or blended additional prompt - Added `easy preSamplingNoiseIn` It can replace the `easy latentNoisy` node that needs to be fronted to achieve better noise injection - `easy pipeEdit` Added conditioning splicing mode selection, you can choose to replace, concat, combine, average, and set timestep range - Added `easy pipeEdit` - nodes that can edit pipes (including re-enterable prompts) - Added `easy preSamplingLayerDiffusion` and `easy kSamplerLayerDiffusion` - Added a convenient menu to right-click on nodes such as Loader, Presampler, Sampler, Controlnet, etc. to quickly replace nodes of the same type - Added `easy instantIDApplyADV` can link positive and negative - Fixed layerDiffusion error when batch size greater than 1 - Fixed `easy wildcards` When LoRa is not filled in completely, LoRa is not automatically retrieved, resulting in failure to load LoRa - Fixed the issue that 'BREAK' non-initiation when didn't use a1111 prompt style - Fixed `easy instantIDApply` mask not input right
v1.0.9 - Fixed the error when ComfyUI-Impack-Pack and ComfyUI_InstantID were not installed - Fixed `easy pipeIn` - Added `easy instantIDApply` - you need installed [ComfyUI_InstantID](https://github.com/cubiq/ComfyUI_InstantID) fisrt, Workflow[Example](https://github.com/yolain/ComfyUI-Easy-Use/blob/main/README.en.md#InstantID) - Fixed `easy detailerFix` not added to the list of nodes available for saving images formatting extensions - Fixed `easy XYInputs: PromptSR` errors are reported when replacing negative prompts
v1.0.8 - `easy cascadeLoader` stage_c and stage_b support the checkpoint model (Download [checkpoints](https://huggingface.co/stabilityai/stable-cascade/tree/main/comfyui_checkpoints) models) - `easy styleSelector` The search box is modified to be case-insensitive - `easy fullLoader` **positive**、**negative**、**latent** added to the output items - Fixed the issue that 'easy preSampling' and other similar node, latent could not be generated based on the batch index after passing in - Fixed `easy svdLoader` error when the positive or negative is empty - Fixed the error of SDXLClipModel in ComfyUI revision 2016[c2cb8e88] and above (the revision number was judged to be compatible with the old revision) - Fixed `easy detailerFix` generation error when batch size is greater than 1 - Optimize the code, reduce a lot of redundant code and improve the running speed
v1.0.7 - Added `easy cascadeLoader` - stable cascade Loader - Added `easy preSamplingCascade` - stable cascade preSampling Settings - Added `easy fullCascadeKSampler` - stable cascade stage-c ksampler full - Added `easy cascadeKSampler` - stable cascade stage-c ksampler simple - - Optimize the image to image[Example](https://github.com/yolain/ComfyUI-Easy-Use/blob/main/README.en.md#image-to-image)
v1.0.6 - Added `easy XYInputs: Checkpoint` - Added `easy XYInputs: Lora` - `easy seed` can manually switch the random seed when increasing the fixed seed value - Fixed `easy fullLoader` and all loaders to automatically adjust the node size when switching LoRa - Removed the original ttn image saving logic and adapted to the default image saving format extension of ComfyUI
v1.0.5 - Added `easy isSDXL` - Added prompt word control on `easy svdLoader`, which can be used with open_clip model - Added **populated_text** on `easy wildcards`, wildcard populated text can be output
v1.0.4 - `easy showAnything` added support for converting other types (e.g., tensor conditions, images, etc.) - Added `easy showLoaderSettingsNames` can display the model and VAE name in the output loader assembly - Added `easy promptList` - Added `easy fooocusInpaintLoader` (only the process of SDXLModel is supported) - Added **Logic** nodes - Added `easy imageSave` - Image saving node with date conversion and aspect and height formatting - Added `easy joinImageBatch` - `easy kSamplerInpainting` Added the **patch** input value to be used with the FooocusInpaintLoader node - Fixed xyplot error when with Pillow>9.5 - Fixed `easy wildcards` An error is reported when running with the PS extension - Fixed `easy XYInputs: ControlNet` Error - Fixed `easy loraStack` error when **toggle** is disabled - Changing the first-time install node package no longer automatically replaces the theme, you need to manually adjust and refresh the page - `easy imageSave` added **only_preivew** - Adjust the `easy latentCompositeMaskedWithCond` node
v1.0.3 - Added `easy stylesSelector` - Added **scale_soft_weights** in `easy controlnetLoader` and `easy controlnetLoaderADV` - Added the queue progress bar setting item, which is not enabled by default - Fixed `easy XYInputs: Sampler/Scheduler` Error - Fixed the right menu has a problem when clicking the button - Fixed `easy comfyLoader` error - Fixed xyPlot error when connecting to zero123 - Fixed the error message in the loader when the prompt word was component - Fixed `easy getNode` and `easy setNode` the title does not change when loading - Fixed all samplers using subdirectories to store images - Adjust the UI theme, divided into two sets of styles: the official default background and the dark black background, which can be switched in the color palette in the settings - Modify the styles path to be compatible with other environments
v1.0.2 - Added `easy XYPlotAdvanced` and some nodes about `easy XYInputs` - Added **Alt+1-Alt+9** Shortcut keys to quickly paste node presets for Node templates (corresponding to 1~9 sequences) - Added a `📜Groups Map(EasyUse)` to the context menu. - An `autocomplete` folder has been added, If you have [ComfyUI-Custom-Scripts](https://github.com/pythongosssss/ComfyUI-Custom-Scripts) installed, the txt files in that folder will be merged and overwritten to the autocomplete .txt file of the pyssss package at startup. - Fixed XYPlot is not working when `a1111_prompt_style` is True - Fixed UI loading failure in the new version of ComfyUI - `easy XYInputs ModelMergeBlocks` Values can be imported from CSV files - Fixed `easy pipeToBasicPipe` Bug - Removed `easy imageRemBg` - Remove the introductory diagram and workflow files from the package to reduce the package size - Replaced the font file used in the generation of XY diagrams
v1.0.1 - Fixed `easy comfyLoader` error - Fixed All nodes that contain the value of the image size - Added `easy kSamplerInpainting` - Added `easy pipeToBasicPipe` - Fixed `width` and `height` can not customize in `easy svdLoader` - Fixed all preview image path (Previously, it was not possible to preview the image on the Mac system) - Fixed `vae_name` is not working in `easy fullLoader` and `easy a1111Loader` and `easy comfyLoader` - Fixed `easy fullkSampler` outputs error - Fixed `model_override` is not working in `easy fullLoader` - Fixed `easy hiresFix` error - Fixed `easy xyplot` font file path error - Fixed seed that cannot be fixed when you convert `seed_num` to `easy seed` - Fixed `easy pipeIn` inputs bug - `easy preDetailerFix` have added a new parameter `optional_image` - Fixed `easy zero123Loader` and `easy svdLoader` model into cache. - Added `easy seed` - Fixed `image_output` default value is "Preview" - `easy fullLoader` and `easy a1111Loader` have added a new parameter `a1111_prompt_style`,that can reproduce the same image generated from stable-diffusion-webui on comfyui, but you need to install [ComfyUI_smZNodes](https://github.com/shiimizu/ComfyUI_smZNodes) to use this feature in the current version
v1.0.0 - Added `easy positive` - simple positive prompt text - Added `easy negative` - simple negative prompt text - Added `easy wildcards` - support for wildcards and hint text selected by Lora - Added `easy portraitMaster` - PortraitMaster v2.2 - Added `easy loraStack` - Lora stack - Added `easy fullLoader` - full version of the loader - Added `easy zero123Loader` - simple zero123 loader - Added `easy svdLoader` - easy svd loader - Added `easy fullkSampler` - full version of the sampler (no separation) - Added `easy hiresFix` - support for HD repair of Pipe - Added `easy predetailerFix` and `easy DetailerFix` - support for Pipe detail fixing - Added `easy ultralyticsDetectorPipe` and `easy samLoaderPipe` - Detect loader (detail fixed input) - Added `easy pipein` `easy pipeout` - Pipe input and output - Added `easy xyPlot` - simple xyplot (more controllable parameters will be updated in the future) - Added `easy imageRemoveBG` - image to remove background - Added `easy imagePixelPerfect` - image pixel perfect - Added `easy poseEditor` - Pose editor - New UI Theme (Obsidian) - Auto-load UI by default, which can also be changed in the settings - Fixed `easy globalSeed` is not working - Fixed an issue where all `seed_num` values were out of order due to [cg-use-everywhere](https://github.com/chrisgoringe/cg-use-everywhere) updating the chart in real time - Fixed `easy imageSize`, `easy imageSizeBySide`, `easy imageSizeByLongerSide` as end nodes - Fixed the bug that `seed_num` (random seed value) could not be read consistently in history
Updated at 12/14/2023 - `easy a1111Loader` and `easy comfyLoader` added `batch_size` of required input parameters - Added the `easy controlnetLoaderADV` node - `easy controlnetLoaderADV` and `easy controlnetLoader` added `control_net ` of optional input parameters - `easy preSampling` and `easy preSamplingAdvanced` added `image_to_latent` optional input parameters - Added the `easy imageSizeBySide` node, which can be output as a long side or a short side
Updated at 12/13/2023 - Added the `easy LLLiteLoader` node, if you have pre-installed the kohya-ss/ControlNet-LLLite-ComfyUI package, please move the model files in the models to `ComfyUI\models\controlnet\` (i.e. in the default controlnet path of comfy, please do not change the file name of the model, otherwise it will not be read). - Modify `easy controlnetLoader` to the bottom of the loader category. - Added size display for `easy imageSize` and `easy imageSizeByLongerSize` outputs.
Updated at 12/11/2023 - Added the `showSpentTime` node to display the time spent on image diffusion and the time spent on VAE decoding images

The relevant node package involved

Disclaimer: Opened source was not easy. I have a lot of respect for the contributions of these original authors. I just did some integration and optimization.

Nodes Name(Search Name) Related libraries Library-related node
easy setNode ComfyUI-extensions diffus3.SetNode
easy getNode ComfyUI-extensions diffus3.GetNode
easy bookmark rgthree-comfy Bookmark 🔖
easy portraitMarker comfyui-portrait-master Portrait Master
easy LLLiteLoader ControlNet-LLLite-ComfyUI LLLiteLoader
easy globalSeed ComfyUI-Inspire-Pack Global Seed (Inspire)
easy preSamplingDynamicCFG sd-dynamic-thresholding DynamicThresholdingFull
dynamicThresholdingFull sd-dynamic-thresholding DynamicThresholdingFull
easy imageInsetCrop rgthree-comfy ImageInsetCrop
easy poseEditor ComfyUI_Custom_Nodes_AlekPet poseNode
easy preSamplingLayerDiffusion ComfyUI-layerdiffusion LayeredDiffusionApply...
easy dynamiCrafterLoader ComfyUI-layerdiffusion Apply Dynamicrafter
easy imageChooser cg-image-picker Preview Chooser
easy styleAlignedBatchAlign style_aligned_comfy styleAlignedBatchAlign
easy kolorsLoader ComfyUI-Kolors-MZ kolorsLoader

Credits

ComfyUI - Powerful and modular Stable Diffusion GUI

ComfyUI-ComfyUI-Manager - ComfyUI Manager

tinyterraNodes - Pipe nodes (node bundles) allow users to reduce unnecessary connections

ComfyUI-extensions - Diffus3 gets and sets points that allow the user to detach the composition of the workflow

ComfyUI-Impact-Pack - General modpack 1

ComfyUI-Inspire-Pack - General Modpack 2

ComfyUI-ResAdapter - Make model generation independent of training resolution

ComfyUI_IPAdapter_plus - Style migration

ComfyUI_InstantID - Face migration

ComfyUI_PuLID - Face migration

ComfyUI-Custom-Scripts - pyssss🐍

cg-image-picker - Image Preview Chooser

ComfyUI_ExtraModels - DiT custom nodes

☕️ Donation

Comfyui-Easy-Use is an GPL-licensed open source project. In order to achieve better and sustainable development of the project, i expect to gain more backers.
If my custom nodes has added value to your day, consider indulging in a coffee to fuel it further!
💖You can support me in any of the following ways:

(This is a newly created wallet, and if it receives sponsorship, I'll use it to rent GPUs or other GPT services for better debugging and refinement of ComfyUI-Easy-Use features.)

🌟Stargazers

My gratitude extends to the generous souls who bestow a star. Your support is much appreciated!

Stargazers repo roster for @yolain/ComfyUI-Easy-Use