diff --git a/README.MD b/README.MD index 6ca444b..fd6d876 100644 --- a/README.MD +++ b/README.MD @@ -15,1158 +15,29 @@ ## About Allor: -* Allor is a powerful ComfyUI plugin for image processing with an emphasis on transparency and performance. -* All modules and nodes support transparency and multi-image (batch) processing. -* Almost all functionality is implemented in tensor space, avoiding unnecessary image transformations where possible. -* Allor aims to provide a level of control over image modification that is close to professional tools. -* Allor contains more than **90** nodes with many parameters. -* Can be configured and allows you to disable unnecessary for you functionality. +* Allor is a high-performance ComfyUI plugin designed for image processing. +* It comprises more than 90 nodes, each with numerous parameters for your needs. +* It supports transparency and multi-image processing across all modules and nodes. +* Allor is fully configurable, offering the option to disable any functionality that is not required. +* The majority of its operations are implemented in tensor space to avoid unnecessary data transformations. -## Modules: -> Click on `Details` to open/close the drop-down menu with all modules. +## Documentation -
- Details: 👈 +We are pleased to present to you our [new documentation](https://nourepide.github.io/ComfyUI-Allor-Doc/). -### Alpha chanel -![alpha_chanel](images/image_alpha_chanel.png) -> Helpers for work with alpha chanel in exiting images. - -
- Nodes: - -### Add -![image_alpha_chanel_add](images/image_alpha_chanel_add.png) -> Adds alpha chanel to images (Convert `RGB` to `RGBA`). - -### Add By Mask -![image_alpha_chanel_by_mask](images/image_alpha_chanel_by_mask.png) -> Applies transparency to the images using a mask. - -
- Params: - -* method - - * default - Standard mask overlay. - * invert - Inverted mask overlay. - -
- -### As Mask -![image_alpha_chanel_as_mask](images/image_alpha_chanel_as_mask.png) -> Get alpha chanel from first images and returns it as mask. - -
- Params: - -* method - - * default - Standard mask overlay. - * invert - Inverted mask overlay. - -
- -### Restore -![image_alpha_chanel_restore](images/image_alpha_chanel_restore.png) -> Add alpha dimension to images. Or restore if it already exists. - -
- Params: - -* method - - * default - Apply adding new alpha chanel or restore chanel values to max if it already exists. - * only_add - Only add new alpha chanel if it does not exist. - * only_restore - Only restore alpha chanel values to max if it already exists. - -
- -### Remove -![image_alpha_chanel_remove](images/image_alpha_chanel_remove.png) -> Completely removes alpha chanel from images (Convert `RGBA` to `RGB`). - -
- ---- -### Image Container -![image_container](images/image_container.png) -> Creating blank images of fixed or inherited size. - -
- Nodes: - -#### All -* [red, green, blue] `[0 - 255]` - Color of the container in RGB. -* alpha `[0.0 - 1.0]` - Transparency of the container. - -### Default -> Create an empty container. - -
- Params: - -* [width, height] `[1 - *]` - Size of a new container. - -
- -### Inheritance Add -> Get images size and create a container with adding value to this size. - -
- Params: - -* add_[width, height] `[0 - *]` - The value that will then be added to the size of the container. - -
- -### Inheritance Scale -> Get images size and create a container with scaling this size. - -
- Params: - -* scale_[width, height] `[0.0 - *]` - Scale factor that will then be change the size of the container. - -
- -### Inheritance Max -> Get max width and max height from `images_a` and `images_b` and create a new container with this size. - -### Inheritance Sum -> Get width and/or height from `images_a` and `images_b` and create a new container with a sum this size. - -
- -#### PS: -The first letter `i` in the word `Inheritance` is barely noticeable. But in the end, I decided to leave it as it is. At first, I thought to replace this word with the word `Extended`, but one would think that this node expands the incoming images by adding size to it, and does not create a new image inheriting size from the incoming images. - ---- -### Image Composite -![image_composite](images/image_composite.png) -> Allows you to place one image on top of another. - -
- Nodes: - -#### All -* background - The placement order of images in the container. -* method - The method of connecting images makes sense only when 2 or more images are passed to the input. - -
- Methods: - - Inputs - [a1, a2, a3] and [b1, b2, b3]. - Outputs - - pair: [a1, b1], [a2, b2], [a3, b3] - matrix: [a1, b1], [a1, b2], [a1, b3] - [a2, b1], [a2, b2], [a2, b3] - [a3, b1], [a3, b2], [a3, b3] - -![image_composite_methods](images/image_composite_methods.png) - -
- -### Absolute -> Use it for pixel-perfect images compositing. - -
- Params: - -* images_[a, b]_x `[0 - *]` - Images horizontal position. `[left -> right]`. -* images_[a, b]_y `[0 - *]` - Images vertical position. `[top -> bottom]`. -* container_[width, height] `[0 - *]` - Container size. If 0, then the container will be with the maximum width and height of the images. - -
- -### AbsoluteByContainer -> Use it for pixel-perfect images compositing. The size of the container is taken from the outside. - -
- Params: - -* container - Image "donor". Its size will determine the size of the compositing space. -* images_[a, b]_x `[0 - *]` - Images horizontal position. `[left -> right]`. -* images_[a, b]_y `[0 - *]` - Images vertical position. `[top -> bottom]`. - -
- -### Relative -> Use it for percentage images compositing. - -
- Params: - -* images_[a, b]_x `[0.0 - 1.0]` - First images horizontal offset. `[left edge -> right edge]`. -* images_[a, b]_y `[0.0 - 1.0]` - First images vertical offset. `[top edge -> bottom edge]`. -* container_size_type - * max - Maximum of width and height from `images_a` and `images_b`. - * sum - Sum of width and height from `images_a` and `images_b`. - * sum_[width, height] - Sum of width or height from `images_a` and `images_b`. - -How it works. - -* Images in relative mode cannot go beyond the edges of the container. -* In horizontal [0.0 - images is located on the left of the container], [1.0 - on right of container]. -* In vertical [0.0 - images is located on the top of the container], [1.0 - on bottom of container]. -* In all cases, [0.5] means that the images will be in the center. - -
- -### RelativeByContainer -> Use it for percentage images compositing. The size of the container is taken from the outside. - -
- Params: - -* container - Image "donor". Its size will determine the size of the compositing space. Can't be smaller then max size of with or height images_[a, b]. -* images_[a, b]_x `[0.0 - 1.0]` - First images horizontal offset. `[left edge -> right edge]`. -* images_[a, b]_y `[0.0 - 1.0]` - First images vertical offset. `[top edge -> bottom edge]`. - -
- -
- ---- -### Image Segmentation -![image_segmentation](images/image_segmentation.png) -> Removes background from image. - -
- Nodes: - -#### All -* alpha_matting `[boolean]` - Alpha matting is a post-processing step that can be used to improve the quality of the output. -* alpha_matting_foreground_threshold `[0 - 250]` - Trimap foreground threshold. -* alpha_matting_background_threshold `[0 - 250]` - Trimap background threshold. -* alpha_matting_erode_size `[0 - *]` - How far will the transparency spread from the original mask. -* post_process_mask `[boolean]` - Post-processing mask, makes it rougher. - -### Default -> Allows you to select a model with pre-specified settings.: - -
- Params: - -* u2net - [GitHub](https://github.com/xuebinqin/U-2-Net) -* u2netp - [GitHub](https://github.com/xuebinqin/U-2-Net) -* u2net_human_seg - [GitHub](https://github.com/xuebinqin/U-2-Net) -* u2net_cloth_seg - [GitHub](https://github.com/levindabhi/cloth-segmentation) -* silueta - [GitHub](https://github.com/xuebinqin/U-2-Net/issues/295) -* isnet-general-use - [GitHub](https://github.com/xuebinqin/DIS) -* isnetis - [GitHub](https://github.com/SkyTNT/anime-segmentation) (I recommend `alpha_matting` parameter set to `false`) -* modnet-p - [GitHub](https://github.com/ZHKKKe/MODNet) (Not calibrated) -* modnet-w - [GitHub](https://github.com/ZHKKKe/MODNet) (Not calibrated) - -
- -### Custom -> Allows you to select a model from the onnx folder and specify the parameters yourself. - -
- Params: - -* model `[*.onnx]` - Your model in `ComfyUI/models/onnx` folder. -* mean `[0.0 - 1.0]` - Clarifying value. -* std `[0.0 - 1.0]` - The divisor of the final value. I recommend leaving it at 1.0. -* size `[0 - *]` - Title size. Different models support different sizes. Or their multiple values [512 -> 1024 -> 2048...]. If the size does not match the desired one, you will see a notification in the console. - -
- -### Custom Advanced -> Allows you to select a model from the onnx folder and `finely` specify the parameters yourself. - -
- Params: - -* model `[*.onnx]` - Your model in `ComfyUI/models/onnx` folder. -* mean_r `[0.0 - 1.0]` - Clarifying value. Red chanel. -* mean_g `[0.0 - 1.0]` - Clarifying value. Green chanel. -* mean_b `[0.0 - 1.0]` - Clarifying value. Blue chanel. -* std_r `[0.0 - 1.0]` - The divisor of the final value. Red chanel. -* std_g `[0.0 - 1.0]` - The divisor of the final value. Green chanel. -* std_b `[0.0 - 1.0]` - The divisor of the final value. Blue chanel. -* width `[0 - *]` - Width of title size. -* height `[0 - *]` - Height of title size. - -Some models support non-standard title size. For example [w:1024 - h:2048]. - -
- -
- -#### PS: -Made on [rembg](https://github.com/danielgatis/rembg). The solution of some problems may be dependent on the rembg developer. - ---- -### ImageText -![image_text](images/image_text.png) -> Creating text as image. - -Fonts should be contained in `ComfyUI/comfy_extras/fonts`. - -You also can change the fonts folder in config. - -
- Nodes: - -### Default -![image_text_default](images/image_text_default.png) -> Create an image with text. - -
- Params: - -* text - Your input. Shouldn't be empty. -* font `[*.otf, *.ttf]` - Font from `ComfyUI/comfy_extras/fonts` folder. -* size `[1 - *]` - Font size in `SP`. `Warning!`: It's not `PX` size of the container. The size of the container is calculated using a variety of parameters. Example: `o` and `j` will have different height and exactly different size compared to `树`. -* [red, green, blue] `[0 - 255]` - Color of the text in `RGB`. -* alpha `[0.0 - 1.0]` - Transparency of the text. -* margin_x `[0 - *]` - Horizontal offset. -* margin_y `[0 - *]` - Vertical offset. - -
- -### Outlined -![image_text_outlined](images/image_text_outlined.png) -> Create an image with outlined text. - -
- Params: - -* outline_size `[0 - *]` - Outline size in `PX`. -* outline_[red, green, blue] `[0 - 255]` - Color of the outline in `RGB`. - -
- -### Multiline -![image_text_multiline](images/image_text_multiline.png) -> Create an image with text. - -
- Params: - -* text - Your input. Shouldn't be empty. -* font `[*.otf, *.ttf]` - Font from `ComfyUI/comfy_extras/fonts` folder. -* size `[1 - *]` - Font size in `SP`. `Warning!`: It's not `PX` size of the container. The size of the container is calculated using a variety of parameters. Example: `o` and `j` will have different height and exactly different size compared to `树`. -* [red, green, blue] `[0 - 255]` - Color of the text in `RGB`. -* alpha `[0.0 - 1.0]` - Transparency of the text. -* margin_x `[0 - *]` - Horizontal offset. -* margin_y `[0 - *]` - Vertical offset. - -
- -### Multiline Outlined -![image_text_multiline_outlined](images/image_text_multiline_outlined.png) -> Create an image with outlined text. - -
- Params: - -* outline_size `[0 - *]` - Outline size in `PX`. -* outline_[red, green, blue] `[0 - 255]` - Color of the outline in `RGB`. - -
- -
- ---- -### ImageDraw -![image_draw](images/image_draw.png) -> Draw figures as image. - -
- Nodes: - -#### All -> All nodes has `ByContainer` version. -* SSAO [1 - 16] - [Super Sampling Anti-Aliasing](https://en.wikipedia.org/wiki/Supersampling). The figure is drawn initially at a higher resolution, and then compressed to the specified resolution. - -
- The difference of SSAA strength: - -> From left to right, x1, x2, x4, x8, x16. Image container size 256x256px. - -![SSAA](images/ssaa.png) - -
- -### Arc -![image_draw_arc](images/image_draw_arc.png) -> Draws an arc (a portion of a circle outline) between the start and end angles, inside the given bounding box. - -
- Params: - -* [width, height] `[1 - *]` - Size of image container. -* size `[1 - *]` - contour width. -* start_[x, y] `[0.0 - 1.0]` - Start points to define the bounding box in percent of image container. -* end_[x, y] `[0.0 - 1.0]` - End points to define the bounding box in percent of image container. -* [start, end] `[0 - 360]` - Starting and ending angle, in degrees. Angles are measured from 3 o’clock, increasing clockwise. -* [red, green, blue] `[0 - 255]` - Color of the figure in RGB. -* alpha `[0.0 - 1.0]` - Transparency of the figure. - -
- -### Chord -![image_draw_chord](images/image_draw_chord.png) -> Same as Arc, but connects the end points with a straight line. - -
- Params: - -* [width, height] `[1 - *]` - Size of image container. -* size `[1 - *]` - contour width. -* start_[x, y] `[0.0 - 1.0]` - Start points to define the bounding box in percent of image container. -* end_[x, y] `[0.0 - 1.0]` - End points to define the bounding box in percent of image container. -* [start, end] `[0 - 360]` - Starting and ending angle, in degrees. Angles are measured from 3 o’clock, increasing clockwise. -* [red, green, blue] `[0 - 255]` - Color of the figure in RGB. -* alpha `[0.0 - 1.0]` - Transparency of the figure. - -
- -### Ellipse -![image_draw_ellipse](images/image_draw_ellipse.png) -> Draws an ellipse inside the given bounding box. - -
- Params: - -* [width, height] `[1 - *]` - Size of image container. -* start_[x, y] `[0.0 - 1.0]` - Start points to define the bounding box in percent of image container. -* end_[x, y] `[0.0 - 1.0]` - End points to define the bounding box in percent of image container. -* outline_size `[0 - *]` - Outline size in PX. -* outline_[red, green, blue] `[0 - 255]` - Color of the outline in RGB. -* outline_alpha `[0.0 - 1.0]` - Transparency of the outline. -* fill_[red, green, blue] `[0 - 255]` - Color of the fill in RGB. -* fill_alpha `[0.0 - 1.0]` - Transparency of the fill. - -
- -### Line -![image_draw_line](images/image_draw_line.png) -> Draws a line between the coordinates. - -
- Params: - -* [width, height] `[1 - *]` - Size of image container. -* size `[1 - *]` - contour width. -* start_[x, y] `[0.0 - 1.0]` - Starting point of line. -* end_[x, y] `[0.0 - 1.0]` - Ending point of line. -* [red, green, blue] `[0 - 255]` - Color of the line in RGB. -* alpha `[0.0 - 1.0]` - Transparency of the line. - -
- -### Pieslice -![image_draw_pieslice](images/image_draw_pieslice.png) -> Same as Arc, but also draws straight lines between the end points and the center of the bounding box. - -
- Params: - -* [width, height] `[1 - *]` - Size of image container. -* start_[x, y] `[0.0 - 1.0]` - Start points to define the bounding box in percent of image container. -* end_[x, y] `[0.0 - 1.0]` - End points to define the bounding box in percent of image container. -* [start, end] `[0 - 360]` - Starting and ending angle, in degrees. Angles are measured from 3 o’clock, increasing clockwise. -* outline_size `[0 - *]` - Outline size in PX. -* outline_[red, green, blue] `[0 - 255]` - Color of the outline in RGB. -* outline_alpha `[0.0 - 1.0]` - Transparency of the outline. -* fill_[red, green, blue] `[0 - 255]` - Color of the fill in RGB. -* fill_alpha `[0.0 - 1.0]` - Transparency of the fill. - -
- -### Rectangle -![image_draw_rectangle](images/image_draw_rectangle.png) -> Draws a rectangle. - -
- Params: - -* [width, height] `[1 - *]` - Size of image container. -* start_[x, y] `[0.0 - 1.0]` - Start points to define the bounding box in percent of image container. -* end_[x, y] `[0.0 - 1.0]` - End points to define the bounding box in percent of image container. -* outline_size `[0 - *]` - Outline size in PX. -* outline_[red, green, blue] `[0 - 255]` - Color of the outline in RGB. -* outline_alpha `[0.0 - 1.0]` - Transparency of the outline. -* fill_[red, green, blue] `[0 - 255]` - Color of the fill in RGB. -* fill_alpha `[0.0 - 1.0]` - Transparency of the fill. - -
- -### Rectangle Rounded -![image_draw_rectangle_rounded](images/image_draw_rectangle_rounded.png) -> Draws a rounded rectangle. - -
- Params: - -* [width, height] `[1 - *]` - Size of image container. -* start_[x, y] `[0.0 - 1.0]` - Start points to define the bounding box in percent of image container. -* end_[x, y] `[0.0 - 1.0]` - End points to define the bounding box in percent of image container. -* radius `[0 -360]` - Radius of the corners. -* outline_size `[0 - *]` - Outline size in PX. -* outline_[red, green, blue] `[0 - 255]` - Color of the outline in RGB. -* outline_alpha `[0.0 - 1.0]` - Transparency of the outline. -* fill_[red, green, blue] `[0 - 255]` - Color of the fill in RGB. -* fill_alpha `[0.0 - 1.0]` - Transparency of the fill. -* [top_left, top_right, bottom_right, bottom_left]_corner `[boolean]` - The ability to choose for which angle to apply the radius. - -
- -### Polygon -![image_draw_polygon](images/image_draw_polygon.png) -> Draws a polygon. - -
- Params: - -* size `[1 - *]` - Size of image. -* sides `[3 - *]` - Sides of polygon. -* rotation `[0 - 360]` - Apply an arbitrary rotation to the polygon in degree. -* outline_size `[0 - *]` - Outline size in PX. -* outline_[red, green, blue] `[0 - 255]` - Color of the outline in RGB. -* outline_alpha `[0.0 - 1.0]` - Transparency of the outline. -* fill_[red, green, blue] `[0 - 255]` - Color of the fill in RGB. -* fill_alpha `[0.0 - 1.0]` - Transparency of the fill. - -
- -
- ---- -### Image Effects -![image_effects](images/image_effects.png) -> Apply effects to images. - -
- Nodes: - -### Adjustment -![image_effects_adjustment](images/image_effects_adjustment.png) -> Adjust your images with color correction. - -
- Params: - -* brightness `[0.0 - *]` - Adjust brightness of images with scale. -* contrast `[0.0 - *]` - Adjust contrast of images with scale. -* saturation `[0.0 - *]` - Adjust color saturation of an images with scale. -* hue `[0.0 - 1.0]` - Adjust hue of images. -* gamma `[0.0 - *]` - Perform gamma correction on an images with scale. -* sharpness `[0.0 - *]` - Adjust the sharpness of an images with scale. -* [red, green, blue] - Scale color factor. - -
- -### Grayscale -![image_effects_grayscale](images/image_effects_grayscale.png) -> Turn your images into monochrome. - -### Sepia -![image_effects_sepia](images/image_effects_sepia.png) -> Add an antique effect to your images. - -### Negative -![image_effects_negative](images/image_effects_negative.png) -> Add negative effect. - -### Lens Zoom Burst -![image_effects_lens_zoom_burst](images/image_effects_lens_zoom_burst.png) -> Emulate a [Zoom Burst](https://en.wikipedia.org/wiki/Zoom_burst) effect to images. - -
- Params: - -* scale `[1.0 - *]` - How far the zoom will aim. Where `2.0` is x2 from image size. -* samples `[1 - *]` - How many intermediate frames will be created. -* position_[x, y] `[0.0 - 1.0]` - Relative image position -* rotation `[0.0 - *]` - Rotation in angle. -* method `[circle, point]` - * **circle** - Zoom will spread out in the form of a circle, and do not take into account the boundaries of the images. - * **point** - Zoom will spread out from point to boundaries of the images. -* stabilization `[boolean]`- If set to `true`, the images will retain their size. - -
- -### Lens Chromatic Aberration -![image_effects_lens_chromatic_aberration](images/image_effects_lens_chromatic_aberration.png) -> Apply a camera lens color shift to the images. - -`Attention`⚡: You can test all params of `Chromatic Aberration` with this [JSON](images/image_effects_chromatic_aberration.json). The example works using `Image Draw` module and does not require any preparation. Changing the parameters leads to very unusual effects that you will not find anywhere else, so I recommend that you spend time on this and get acquainted as best as possible for incredible results. - -
- Params: - -* shift `[0 - *]` - Color shift in PX. -* method `[reflect, edge, constant]` - Method for fill new empty space around image while effect applying. The new space does not fall into the final result and is only needed to avoid artifacts. -* shift_type `[1 - 4]` - Type of chromatic aberration. -* mixing_type `[1 - 4]` - Type of method for shifting colors. -* transpose `[none, rotate, reflect]` - Shifting direction, where `none` is without changes, `rotate` is in alternative direction and `reflect` in both directions at the same time. -* colors `[rb, rg, gb]`- The color layers that will be shifted. -* lens_curvy `[0.0 - 15.0]` - The value of the curve during the propagation of the effect, where 1.0 is linear. Not work with shift_type 4. - -
- lens_curvy in details: - -![lens_curvy](images/lens_curvy.png) - -
- -
- -### Lens Bokeh -![image_effects_lens_bokeh](images/image_effects_lens_bokeh.png) -> Emulate a [bokeh](https://en.wikipedia.org/wiki/Bokeh) effect to images. - -
- Params: - -* blades_shape `[3 - *]` - The number of blades at the lens. -* blades_radius `[1 - *]` - Size of blades. -* blades_rotation `[0.0 - 360.0]` - Blades rotation. -* blur_size `[2 - *]` - Blur strength. -* blur_type `[bilateral, stack, none]` - * **bilateral** - Blur is set up to preserve sharp and bright edges. - * **stack** - Blur with color correction. - * **none** - Without blur. -* method `[dilate, filter]` - * **dilate** - A good choice for initially bright images. Creates a strong bokeh effect, but spoils the details of the image. I can recommend it only for the background. - * **filter** - Very fast. A weak bokeh effect, I recommend it for dark images with bright rare details such as lamp lights or car headlights. Originally created under the impression of LensBlur in Adobe Photoshop and achieved about 80%~ compliance. I recommend setting `blur_type` as `none` since it blurs the image by itself. - -
- -### Lens Optic Axis -![image_effects_lens_optic_axis](images/image_effects_lens_optic_axis.png) -> Apply a camera lens distort to the images. - -
- Params: - -* lens_shape `[circle, square, rectangle, corners]` - Form of lens. - -
- lens_shape in details: - -![lens_shape](images/lens_shape.png) - -
- -* lens_edge `[around, symmetric]` - If `around` is selected, the lens will adjust to the proportions of the image. -* lens_curvy `[0.0 - 15.0]` - The value of the curve during the propagation of the effect, where 1.0 is linear. - -
- lens_curvy in details: - -![lens_curvy](images/lens_curvy.png) - -
- -* lens_zoom `[0 - *]` - How close lens are to the center of images. -* lens_aperture `[0 - *]` - How much lens will distort images. -* blur_intensity `[0.0 - *]` - Strength of blur due to lens. - -
- -### Lens Vignette -![image_effects_lens_vignette](images/image_effects_lens_vignette.png) -> Apply a camera lens decreasing in the brightness and saturation to the images. - -
- Params: - -* lens_shape `[circle, rectangle]` - Form of lens. - -
- lens_shape in details: - -![lens_shape](images/lens_shape.png) - -
- -* lens_edge `[around, symmetric]` - If `around` is selected, the lens will adjust to the proportions of the image. -* lens_curvy `[0.0 - 15.0]` - The value of the curve during the propagation of the effect, where 1.0 is linear. - -
- lens_curvy in details: - -![lens_curvy](images/lens_curvy.png) - -
- -* lens_zoom `[0 - *]` - How close lens are to the center of images. -* brightness `[0.0 - *]` - Adjust brightness of images with scale. -* saturation `[0.0 - *]` - Adjust color saturation of an images with scale. - -
- -
- ---- -### Image Filter -![image_filter](images/image_filter.png) -> Apply filters to images. - -
- Nodes: - -`Warning` Some changes are difficult to notice without detailed consideration.You can load this [JSON](images/image_filter.json) and look at the changes in detail. - -### Smooth -![image_draw_polygon](images/image_filter_smooth.png) -> Anti-Aliasing of image artifacts. - -### Smooth More -![image_filter_smooth_more](images/image_filter_smooth_more.png) -> Improved Anti-Aliasing of image artifacts. - -### Blur -![image_filter_blur](images/image_filter_blur.png) -> Blurring the image. - -
- Params: - -* size_[x, y] `[1 - *]` - The strength of the blur application for horizontal and vertical direction. - -
- -### Box Blur -![image_filter_box_blur](images/image_filter_box_blur.png) -> Blurring the image by box algorithm. - -
- Params: - -* size_[x, y] `[1 - *]` - The strength of the blur application for horizontal and vertical direction. - -
- -### Gaussian Blur -![image_filter_gaussian_blur](images/image_filter_gaussian_blur.png) -> Blurring the image by gaussian algorithm. - -
- Params: - -#### All -* size_[x, y] `[1 - *]` - The strength of the blur application for horizontal and vertical direction. - -#### Advanced -* sigma_[x, y] `[1 - *]` - The scale of the blur deviation. - -
- -### Stack Blur -![image_filter_stack_blur](images/image_filter_stack_blur.png) -> Blurring the image by stack algorithm. - -
- Params: - -* size_[x, y] `[1 - *]` - The strength of the blur application for horizontal and vertical direction. - -
- -### Median Blur -![image_filter_median_blur](images/image_filter_median_blur.png) -> Blurring the image by median algorithm. - -
- Params: - -* size_[x, y] `[1 - *]` - The strength of the blur application for horizontal and vertical direction. - -
- -### Bilateral Blur -![image_filter_box_blur](images/image_filter_box_blur.png) -> Blurring the image by bilateral algorithm. Keeps the image sharp at the edges. - -
- Params: - -* size_[x, y] `[1 - *]` - The strength of the blur application for horizontal and vertical direction. - -
- -### Contour -![image_filter_contour](images/image_filter_contour.png) -> Find the contours of the image. - -### Detail -![image_filter_detail](images/image_filter_detail.png) -> Image detailing. - -### Edge Enhance -![image_filter_edge_enhance](images/image_filter_edge_enhance.png) -> Clarity of the image boundaries. - -### Edge Enhance More -![image_filter_edge_enhance_more](images/image_filter_edge_enhance_more.png) -> Improved clarity of image boundaries. - -### Emboss -![image_filter_emboss](images/image_filter_emboss.png) -> Embossed image. - -### Find Edges -![image_filter_find_edges](images/image_filter_find_edges.png) -> Identifies the boundaries of the image. - -### Sharpen -![image_filter_sharpen](images/image_filter_sharpen.png) -> Sharpness improvement. - -### Rank -![image_filter_rank](images/image_filter_rank.png) -> Rank filter sorts all pixels in a window of a given size. - -
- Params: - -* size `[0 - *]` - The size of the core in PX. -* rank `[0 - *]` - Which pixel value to choose. - -
- -### Min -![image_filter_min](images/image_filter_min.png) -> Selects the smallest pixel value in the window at the specified size. - -
- Params: - -* size `[0 - *]` - The size of the core in PX. - -
- -### Max -![image_filter_max](images/image_filter_max.png) -> Selects the largest pixel value in the window at the specified size. - -
- Params: - -* size `[0 - *]` - The size of the core in PX. - -
- -### Mode -![image_filter_mode](images/image_filter_mode.png) -> Selects the most common pixel value in a field of the specified size. - -
- Params: - -* size `[0 - *]` - The size of the core in PX. - -
- -
- ---- -### Image Transform -![image_transform](images/image_transform.png) -> Transform your images. - -
- Nodes: - -### Resize -![image_transform_resize](images/image_transform_resize.png) -> Change size of images. - -
- Params: - -#### Absolute -* [width, height] `[1 - *]` - New size of images. - -#### Relative -* scale_[width, height] `[0.0 - 1.0]` - New size of images. - -
- -### Crop -![image_transform_crop](images/image_transform_crop.png) -> Returns area from images. - -
- Params: - -#### Absolute -* start_[x, y] `[1 - *]` - Start of rectangle point. -* end_[x, y] `[1 - *]` - End of rectangle point. - -#### Relative -* start_[x, y] `[0.0 - 1.0]` - Start of rectangle point. -* end_[x, y] `[0.0 - 1.0]` - End of rectangle point. - -
- -### Crop Corners -![image_transform_crop_corners](images/image_transform_crop_corners.png) -> Round corners of your images. - -
- Params: - -* radius `[0 -360]` - Radius of the corners. -* [top_left, top_right, bottom_right, bottom_left]_corner `[boolean]` - The ability to choose for which angle to apply the radius. -* SSAO [1 - 16] - [Super Sampling Anti-Aliasing](https://en.wikipedia.org/wiki/Supersampling). The figure is drawn initially at a higher resolution, and then compressed to the specified resolution. - -
- -### Padding -![image_transform_padding](images/image_transform_padding.png) -> Expand your images. - -### Rotate -![image_transform_rotate](images/image_transform_rotate.png) -> Rotate your images. - -
- Params: - -* angle `[0 -360]` - Angle in degrees. Angles are measured from 3 o’clock, increasing clockwise. -* expand `[boolean]` - If "true" when rotating, change the size of the image to fit into it. -* SSAO [1 - 16] - [Super Sampling Anti-Aliasing](https://en.wikipedia.org/wiki/Supersampling). The figure is drawn initially at a higher resolution, and then compressed to the specified resolution. - -
- -### Transpose -![image_transform_transpose](images/image_transform_transpose.png) -> Transpose your images. - -
- ---- -### Clamp -![clamp](images/clamp.png) -> Clamps help to control the "web" of nodes and improve readability. - -
- Nodes: - -* ClipClamp -* ClipVisionClamp -* ClipVisionOutputClamp -* ConditioningClamp -* ControlNetClamp -* GligenClamp -* ImageClamp -* LatentClamp -* MaskClamp -* ModelClamp -* StyleModelClamp -* UpscaleModelClamp -* VaeClamp - -
- ---- -### Image Batch -![image_batch](images/image_batch.png) -> Allows you to manage batch of images. - -
- Nodes: - -### Get -![image_batch_get](images/image_batch_get.png) -> Get image from images batch. - -
- Params: - -* index `[1 - *]` - Number of image. - -
- -### Remove -![image_batch_remove](images/image_batch_remove.png) -> Remove image from images batch. - -
- Params: - -* index `[1 - *]` - Number of image. - -
- -### Fork -![image_batch_fork](images/image_batch_fork.png) -> Split images from batch. - -
- Params: - -* priority `[first, second]` - If there are an odd number of images, choose which stream to send the image from the center to. - -
- -### Join -![image_batch_join](images/image_batch_join.png) -> Combine images together into batch. - -
- -
- -## Installation: -To install Allor, you need to have ComfyUI and Python 3.10 or above installed on your system. -If you don't have it yet, you can download it from [here](https://github.com/comfyanonymous/ComfyUI). -Then, follow these steps: - -1. Open a terminal (Linux) or command prompt (Windows) in ComfyUI folder. -2. `cd custom_nodes`: Navigate to the `custom_nodes` folder inside the ComfyUI folder. -3. `git clone https://github.com/Nourepide/ComfyUI-Allor.git comfyui_allor`: Clone the Allor repository from GitHub. This will create a new folder called `comfyui_allor` inside the `custom_nodes` folder. -4. `cd comfyui_allor`: Enter the `comfyui_allor` folder. -5. `pip install -r requirements.txt`: Install the required dependencies. This may take some time depending on your internet speed and system configuration. -6. Optionally, you can create a `fonts` folder inside the `comfy_extras` folder to store your custom fonts. If you don't do this, ComfyUI will create it automatically when you run it. - -## Updating: -Allor has the ability to update itself (by default) during the startup of ComfyUI. - -If you need to manually update Allor, navigate to the root folder of Allor through the terminal and enter `git checkout main && git pull`. - -## Configuration: -You can customize Allor with the `config.json` file. - -* **fonts_folder_path**: An array specifying the relative path to the font folder. Default is `[“comfy_extras”, “fonts”]`, translating to `ComfyUI/comfy_extras/fonts`. -* **modules**: Enables or disables Allor’s various modules. Disabling a module prevents its nodes from loading at ComfyUI startup. -* **override**: Allows overriding and disabling original nodes with similar functionality from Allor. Setting a nested property to `true` disables the corresponding original node. - -
- See more about Overriding: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ModuleOriginalNew
postprocessingImageBlend-
ImageBlurImageFilterBlur
ImageFilterBoxBlur
ImageFilterGaussianBlur
ImageFilterGaussianBlurAdvanced
ImageFilterStackBlur
ImageFilterMedianBlur
ImageFilterBilateralBlur
ImageQuantize-
ImageSharpen-
transformImageScaleImageTransformResizeAbsolute
ImageScaleByImageTransformResizeRelative
ImageInvertImageTransfromRotate
ImageTransformTranspose
debugLatentBlend-
LoadLatent-
SaveLatent-
TomePatchModel-
FreeU-
FreeU_V2-
HyperTile-
- -
- -* **updates**: Allows Allor to update itself and also manages notifications about new updates. +The [documentation](https://nourepide.github.io/ComfyUI-Allor-Doc/) includes information about **installation**, **updating**, all **nodes** including their parameters and much more. ## Contributing: -ComfyUI Allor is an open source project and I welcome any contributions from the community. If you want to help me improve this plugin, here are some ways you can do it: +ComfyUI Allor is an open source project and I welcome any contributions from the community. -* **Suggest ideas**: If you have any ideas or suggestions on how to make this plugin better or more useful, please feel free to open an issue on GitHub. I appreciate any feedback and input. +* **Suggest ideas**: If you have thoughts on improving this plugin, feel free to share them on GitHub. -* **Report bugs**: If you encounter any bugs or errors while using this plugin, please report them on GitHub. Please provide as much information as possible, such as the steps to reproduce the bug, the expected and actual results, the error messages and screenshots if possible. I will try to fix them as soon as possible. +* **Report bugs**: If you find a bug or problem, please report it in the Issue with steps to reproduce it. -* **Make pull requests**: If you want to contribute to the code of this plugin, you can fork this repository and make your changes. Then you can submit a pull request with your modifications and explain what you did and why. I will review your code and merge it if it is suitable and compatible with the plugin. - -* **Share your results**: If you use this plugin to create amazing images, please share them with me and the community. You can post them on any other platform you like. You can also tag me (@Nourepide) on Reddit or use the hashtag #ComfyUIAllor. I would love to see what you create with this plugin and showcase some of your works on the README.MD file. - -## Google Colab: - -If you have a subscription to [Colab Pro](https://colab.research.google.com/signup), then you can run Allor in [Google Colab](https://colab.research.google.com/drive/1qOALtMEG_f6DN0o9mxUih6x_7PTPYM8X?usp=sharing). +* **Make pull requests**: If you’d like to help with the plugin’s code, you can copy this repository, make your changes, and I’ll check and include them if they work well with the plugin. ## Jupiter Notebook: To run Allor on another cloud service, you can use this [Jupiter Notebook](notebooks/ComfyUI_Allor.ipynb). -## Examples: -![example](images/example.png) -> Ready to create your own masterpiece? - -
- Just see how easy it is to do: - -`Warning` Google Collab can't reproduce those examples. - -| Image | Nodes | -|:---------------------------:|:------------------------------:| -| ![1](images/examples/1.png) | [JSON](images/examples/1.json) | -| ![2](images/examples/2.png) | [JSON](images/examples/2.json) | - -
+If you have a subscription to [Colab Pro](https://colab.research.google.com/signup), then you can run Allor in [Google Colab](https://colab.research.google.com/drive/1qOALtMEG_f6DN0o9mxUih6x_7PTPYM8X?usp=sharing).