diff --git a/README.md b/README.md index 56638ec..d42c1df 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,10 @@ The purpose of this package is to collect the most necessary and atomic nodes for working with any tasks, adapted for use in cycles and conditions. The package of nodes is aimed at those users who need all the basic things to create multitasking complex workflows using multimodal neural models and software solutions. -*[Our dream is to see object-oriented programming in ComfyUI. We will try to get closer to it.](https://www.patreon.com/LevelPixel)* +*[Our dream is to see the possibilities for convenient creation of full automation in ComfyUI workflows. We will try to get closer to it.](https://www.patreon.com/LevelPixel)* **In this Level Pixel node pack you will find:** -Image Remove Background based on RemBG, Tag Category Filter nodes, Model Unloader nodes, File Counter, Image Loader From Path, Load Image, Fast Checker Pattern, Float Slider, Load LoRA Tag, Image Overlay, Conversion nodes. +Inpaint Crop and Stitch, Pipeline, Tag Category Filter nodes, Model Unloader nodes, File Counter, Object Counter, Image Loader From Path, Load Image, Fast Checker Pattern, Float Slider, Load LoRA Tag, Image Overlay, Conversion nodes. Recommend that you install the advanced node package from Level Pixel Advanced for Multimodal Generators, Qwen2.5-VL gguf, LLM, VLM, RAM, Autotaggers, RemBG nodes:\ [https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced](https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced) @@ -17,7 +17,7 @@ The official repository of the current node package is located at this link:\ **Like our nodes? Then we'd be happy to see your star on our GitHub repository!** -## Contacts, services and support: +## Contacts, services and support Our official Patreon page:\ [https://www.patreon.com/LevelPixel](https://www.patreon.com/LevelPixel) @@ -30,12 +30,12 @@ For cooperation, suggestions and ideas you can write to email: ## Installation -### Installation package using ComfyUI Manager (recommended): +### Installation package using ComfyUI Manager (recommended) Install [ComfyUI Manager](https://github.com/ltdrdata/ComfyUI-Manager) and do steps introduced there to install this repo 'ComfyUI-LevelPixel'. The nodes of the current package will be updated automatically when you click "Update ALL" in ComfyUI Manager. -### Alternative installation package: +### Alternative installation package Clone the repository: `git clone https://github.com/LevelPixel/ComfyUI-LevelPixel.git` @@ -58,6 +58,33 @@ All nodes Level Pixel in this package: ![level-pixel-nodes_1](https://github.com/user-attachments/assets/10fa67be-766c-4936-9fbd-fdf3830cd290) ![level-pixel-nodes_2](https://github.com/user-attachments/assets/f9c1e2ab-1bfc-4f4d-9fd5-b4c8c00e4423) +### Inpaint Crop and Stitch + +Inpaint Crop and Inpaint Stitch nodes allow you to work effectively with image fragments. +Inpaint Crop cuts out a part of the image using a given mask, increases/decreases the cut out image fragment to the target size, and then, after any third-party modifications to the image fragment (regeneration, manual correction, repainting, etc.), using Inpaint Stitch, it stitches this modified fragment back into the main image (after having reduced/increased it to the size it had when cutting the fragment out of the main image). + +This is incredibly convenient for Inpaint, and especially convenient for automation. + +In addition, the peculiarity of these Inpaint Crop and Stitch nodes is that they have a special pin that accepts different parameters for the specified size of the cut out fragment. One of the key ones is "Cropped Aspect Size Parameters" (or the "aspect size" value embedded in Inpaint Crop in the mode widget), which allows you to set the target resolution for the cut fragment, and the program itself calculates the required dimensions, which can be incredibly useful for automation and regeneration of a picture fragment. + +![level-pixel-nodes_inpaint_1](https://github.com/user-attachments/assets/c726cc87-06aa-4e7d-a45b-aa1221156591) + +In addition, Inpaint Crop and Stitch can easily work with Batch images, masks and context masks. This can be very useful in many scenarios when you need to mass-cut images by mask, and then also mass-return them to the main images. The only limitation is that the target size of the masks must be the same for batch images. +The image below shows an example of using the batch mode. +![level-pixel-nodes_inpaint_2](https://github.com/user-attachments/assets/bead11da-7100-4ae2-a78f-db5e9a7d4364) + +### Resize Image and Masks + +Resize Image and Masks is a node that allows you to do a great thing - bring an image/mask/context mask or a batch of images/masks/context masks to one target size. + +This can be incredibly useful when you need to bring images to one target size along with their masks, without any errors and in one go. +In addition, you can also use this node for special cases of adjusting the size of an image (or mask, or context mask) to the target. + +An example of how you can use this node is below (and also on the previous image in Inpaint Crop and Stitch). +![level-pixel-nodes_inpaint_3](https://github.com/user-attachments/assets/2c89bcc9-3f86-453c-80af-fe2771471f8f) + +The core functionality is taken from [ComfyUI-Inpaint-CropAndStitch](https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch) and belongs to its authors. + ### Tag Category Filter nodes A set of nodes that allow you to filter tags by category. There is an option to remove or leave certain categories of tags, there is a function for defining categories of all tags, there is a function for removing certain tags. @@ -123,12 +150,14 @@ There are a few more nodes in this package that have some unusual uses: All LLM nodes have been moved to a separate ComfyUI Level Pixel Advanced node package, as such nodes require the skill of configuring programs, drivers and libraries for correct use, as well as due to constant changes and other frequent changes that may affect all other functionality of the current node package. In addition, some technologies based on neural networks tend to quickly become obsolete (currently in 1-2 years), so they will be in a separate ComfyUI Level Pixel Advanced package. -Link to Level Pixel Advanced nodes with LLM nodes:\ +Link to Level Pixel Advanced nodes with LLM nodes: [https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced](https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced) ## Update History -27-05-2025 - The node package is divided into two independent packages - a package with logical nodes [ComfyUI-LevelPixel](https://github.com/LevelPixel/ComfyUI-LevelPixel) and a package with wrapper-nodes for neural models [ComfyUI-LevelPixel-Advanced](https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced) +v1.3.0 - 08-06-2025 - Added powerful Inpaint Crop and Inpaint Stitch nodes, as well as Resize Image and Masks + +v1.2.0 - 27-05-2025 - The node package is divided into two independent packages - a package with logical nodes [ComfyUI-LevelPixel](https://github.com/LevelPixel/ComfyUI-LevelPixel) and a package with wrapper-nodes for neural models [ComfyUI-LevelPixel-Advanced](https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced) The license for this package has been changed from Apache 2.0 to GNU GPLv3 diff --git a/node_list.json b/node_list.json index 58f13f9..584712f 100644 --- a/node_list.json +++ b/node_list.json @@ -57,5 +57,15 @@ "Pipe [LP]":"Pipe", "Pipe In [LP]":"Pipe In", "Pipe Out [LP]":"Pipe Out", - "Count Objects [LP]":"Count Objects - counts the number of objects that were fed to the input (this can be a list or one single object). Accepts any type of input." + "Count Objects [LP]":"Count Objects - counts the number of objects that were fed to the input (this can be a list or one single object). Accepts any type of input.", + "Resize Image To Target Size [LP]":"Resize Image To Target Size", + "Calculate Target Size By Mask [LP]":"Calculate Target Size By Mask", + "Resize Image and Masks [LP]":"Resize Image and Masks", + "Inpaint Crop [LP]":"Inpaint Crop by masks", + "Inpaint Stitch [LP]":"Inpaint Stitch", + "Extend Factor Parameters [LP]":"Extend Factor Parameters for Inpaint Crop", + "Cropped Aspect Size Parameters [LP]":"Cropped Aspect Size Parameters for Inpaint Crop", + "Cropped Forsed Size Parameters [LP]":"Cropped Forsed Size Parameters for Inpaint Crop", + "Cropped Ranged Size Parameters [LP]":"Cropped Ranged Size Parameters for Inpaint Crop", + "Cropped Free Size Parameters [LP]":"Cropped Free Size Parameter for Inpaint Crops" } \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index fc52a24..b439dc9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui-levelpixel" -description = "Main nodes of the Level Pixel company (aka levelpixel, LP). Includes convenient nodes for working with images from folders; counting files in a folder; cleaning memory; tag filters. Model Unloader, Free memory, Tag Filters, Tag Category Filters, Tag Choice Parser, File counter, Image Loader From Path (with counters), Google Translator, Language Translator, Override Device, Delay, Lora Tag Loader. Licensed under GNU GPLv3. Repository: https://github.com/LevelPixel/ComfyUI-LevelPixel" -version = "1.2.7" +description = "Main nodes of the Level Pixel company (levelpixel, LP). In this package you will find easy-to-use atomic nodes that can help automate various processes - memory cleaning automation (RAM free, VRAM free), Lora loading like in Automatic1111, powerful inpaint crop and stitch, pipeline, declaring standard variables, converting variables, google translate, filtering tags by categories, working with file system, counting files in file system, counting objects, counting images. The names of the key nodes in this package are: Inpaint-CropAndStitch, Inpaint Crop, Inpaint Stitch, Resize Image, Resize Mask, Model Unloader, Free memory, Tag Filters, Tag Category Filters, Tag Choice Parser, File counter, Image Loader From Path (with counters), Google Translator, Language Translator, Override Device, Delay, Lora Tag Loader, Pipeline, Resize Masks, Resize Image. Licensed under GNU GPLv3. Repository: https://github.com/LevelPixel/ComfyUI-LevelPixel" +version = "1.2.8" license = { file = "LICENSE.txt" } dependencies = [ "torch>=2.0.1",