From 1a2c673660db465888e9a9b9840e247c32049d1d Mon Sep 17 00:00:00 2001 From: "dr.lt.data" Date: Mon, 14 Aug 2023 18:21:32 +0900 Subject: [PATCH] feat: badge feature bugfix: robust uninstall of .js improve: scanner.py crawl metadata from docstring --- README.md | 19 + __init__.py | 31 +- custom-node-list.json | 20 + extension-node-map.json | 3116 +++++++++++++++++++++++---------------- js/comfyui-manager.js | 144 +- misc/menu.jpg | Bin 50964 -> 53704 bytes misc/nickname.jpg | Bin 0 -> 186689 bytes scanner.py | 54 +- 8 files changed, 2097 insertions(+), 1287 deletions(-) create mode 100644 misc/nickname.jpg diff --git a/README.md b/README.md index 28f5dc6b..12b84aca 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ This repository provides Colab notebooks that allow you to install and use Comfy 2. If you click on 'Install Custom Nodes' or 'Install Models', an installer dialog will open. + ![menu](misc/menu.jpg) * When the 'Use local DB' feature is enabled, the application will utilize the data stored locally on your device, rather than retrieving node/model information over the internet @@ -81,6 +82,11 @@ This repository provides Colab notebooks that allow you to install and use Comfy * Install: Clicking this button will install the item. * Try Install: This is a custom node of which installation information cannot be confirmed. Click the button to try installing it. +4. If you set the `Badge:` item in the menu as `Badge: Nickname` or `Badge: #ID Nickname`, the information badge will be displayed on the node. +* `Badge: Nickname` displays the nickname of custom nodes, while `Badge: ID Nickname` also includes the internal ID of the node. + +![model-install-dialog](misc/nickname.jpg) + ## Custom node support guide @@ -104,6 +110,19 @@ NODE_CLASS_MAPPINGS.update({ }) ``` +* When you write a docstring in the header of the .py file for the Node as follows, it will be used for managing the database in the Manager. + * Currently, only the `nickname` is being used, but other parts will also be utilized in the future. + * The `nickname` will be the name displayed on the badge of the node. + * If there is no `nickname`, it will be truncated to 20 characters from the arbitrarily written title and used. +``` +""" +@author: Dr.Lt.Data +@title: Impact Pack +@nickname: Impact Pack +@description: This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler. +""" +``` + * **Special purpose files** (optional) * `node_list.js` - When your custom nodes pattern of NODE_CLASS_MAPPINGS is not conventional, it is used to manually provide a list of nodes for reference. ([example](https://github.com/melMass/comfy_mtb/raw/main/node_list.json)) * `requirements.txt` - When installing, this pip requirements will be installed automatically diff --git a/__init__.py b/__init__.py index 83a384e8..cbfcc05f 100644 --- a/__init__.py +++ b/__init__.py @@ -55,7 +55,7 @@ sys.path.append('../..') from torchvision.datasets.utils import download_url # ensure .js -print("### Loading: ComfyUI-Manager (V0.21.4)") +print("### Loading: ComfyUI-Manager (V0.22)") comfy_ui_required_revision = 1240 comfy_ui_revision = "Unknown" @@ -84,6 +84,7 @@ def write_config(): config = configparser.ConfigParser() config['default'] = { 'preview_method': get_current_preview_method(), + 'badge_mode': get_config()['badge_mode'] } with open(config_path, 'w') as configfile: config.write(configfile) @@ -96,11 +97,12 @@ def read_config(): default_conf = config['default'] return { - 'preview_method': default_conf['preview_method'] + 'preview_method': default_conf['preview_method'] if 'preview_method' in default_conf else get_current_preview_method(), + 'badge_mode': default_conf['badge_mode'] if 'badge_mode' in default_conf else 'none' } except Exception: - return {'preview_method': get_current_preview_method()} + return {'preview_method': get_current_preview_method(), 'badge_mode': 'none'} def get_config(): @@ -136,6 +138,10 @@ def set_preview_method(method): get_config()['preview_method'] = args.preview_method +def set_badge_mode(mode): + get_config()['badge_mode'] = mode + + set_preview_method(get_config()['preview_method']) @@ -588,7 +594,7 @@ def copy_install(files, js_path_name=None): return True -def copy_uninstall(files, js_path_name=None): +def copy_uninstall(files, js_path_name='.'): for url in files: dir_name = os.path.basename(url) base_path = custom_nodes_path if url.endswith('.py') else os.path.join(js_path, js_path_name) @@ -607,7 +613,7 @@ def copy_uninstall(files, js_path_name=None): return True -def copy_set_active(files, is_disable, js_path_name=None): +def copy_set_active(files, is_disable, js_path_name='.'): if is_disable: action_name = "Disable" else: @@ -838,7 +844,7 @@ async def install_custom_node(request): res = unzip_install(json_data['files']) if install_type == "copy": - js_path_name = json_data['js_path'] if 'js_path' in json_data else None + js_path_name = json_data['js_path'] if 'js_path' in json_data else '.' res = copy_install(json_data['files'], js_path_name) elif install_type == "git-clone": @@ -867,7 +873,7 @@ async def install_custom_node(request): res = False if install_type == "copy": - js_path_name = json_data['js_path'] if 'js_path' in json_data else None + js_path_name = json_data['js_path'] if 'js_path' in json_data else '.' res = copy_uninstall(json_data['files'], js_path_name) elif install_type == "git-clone": @@ -1000,5 +1006,16 @@ async def preview_method(request): return web.Response(status=200) +@server.PromptServer.instance.routes.get("/manager/badge_mode") +async def badge_mode(request): + if "value" in request.rel_url.query: + set_badge_mode(request.rel_url.query['value']) + write_config() + else: + return web.Response(text=get_config()['badge_mode'], status=200) + + return web.Response(status=200) + + NODE_CLASS_MAPPINGS = {} __all__ = ['NODE_CLASS_MAPPINGS'] diff --git a/custom-node-list.json b/custom-node-list.json index 1abdec5a..caedc4bd 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -1109,6 +1109,26 @@ "install_type": "git-clone", "description": "Nodes: NoisyLatentPerlin. This allows to create latent spaces filled with perlin-based noise that can actually be used by the samplers." }, + { + "author": "JPS-GER", + "title": "JPS Custom Nodes for ComfyUI", + "reference": "https://github.com/JPS-GER/ComfyUI_JPS-Nodes", + "files": [ + "https://github.com/JPS-GER/ComfyUI_JPS-Nodes" + ], + "install_type": "git-clone", + "description": "Nodes: SDXL - Resolutions, SDXL - Basic Settings, SDXL - Additional Settings, Math - Resolution Multiply, Math - Largest Integer, Switch - Generation Mode, ..." + }, + { + "author": "hustille", + "title": "hus' utils for ComfyUI", + "reference": "https://github.com/hustille/ComfyUI_hus_utils", + "files": [ + "https://github.com/hustille/ComfyUI_hus_utils" + ], + "install_type": "git-clone", + "description": "Nodes: Fetch widget value, 3way Prompt Styler, Text Hash, Date Time Format, Batch State, Debug Extra, ..." + }, { "author": "taabata", "title": "Syrian Falcon Nodes", diff --git a/extension-node-map.json b/extension-node-map.json index 9ad44125..6bdf45c3 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -1,1486 +1,2094 @@ { "https://github.com/AIrjen/OneButtonPrompt": [ - "CreatePromptVariant", - "OneButtonPrompt", - "SavePromptToFile" + [ + "CreatePromptVariant", + "OneButtonPrompt", + "SavePromptToFile" + ], + { + "title_aux": "One Button Prompt" + } ], "https://github.com/ArtVentureX/comfyui-animatediff": [ - "AnimateDiffCombine", - "AnimateDiffLoader", - "AnimateDiffLoader_v2", - "AnimateDiffUnload" + [ + "AnimateDiffCombine", + "AnimateDiffLoader", + "AnimateDiffLoader_v2", + "AnimateDiffUnload" + ], + { + "title_aux": "AnimateDiff" + } ], "https://github.com/BadCafeCode/masquerade-nodes-comfyui": [ - "Blur", - "Change Channel Count", - "Combine Masks", - "Constant Mask", - "Convert Color Space", - "Create QR Code", - "Create Rect Mask", - "Cut By Mask", - "Get Image Size", - "Image To Mask", - "Make Image Batch", - "Mask By Text", - "Mask Morphology", - "Mask To Region", - "MasqueradeIncrementer", - "Mix Color By Mask", - "Mix Images By Mask", - "Paste By Mask", - "Prune By Mask", - "Separate Mask Components", - "Unary Image Op", - "Unary Mask Op" + [ + "Blur", + "Change Channel Count", + "Combine Masks", + "Constant Mask", + "Convert Color Space", + "Create QR Code", + "Create Rect Mask", + "Cut By Mask", + "Get Image Size", + "Image To Mask", + "Make Image Batch", + "Mask By Text", + "Mask Morphology", + "Mask To Region", + "MasqueradeIncrementer", + "Mix Color By Mask", + "Mix Images By Mask", + "Paste By Mask", + "Prune By Mask", + "Separate Mask Components", + "Unary Image Op", + "Unary Mask Op" + ], + { + "title_aux": "Masquerade Nodes" + } ], "https://github.com/Beinsezii/bsz-cui-extras/raw/master/custom_nodes/bsz-auto-hires.py": [ - "BSZAbsoluteHires", - "BSZAspectHires", - "BSZCombinedHires" + [ + "BSZAbsoluteHires", + "BSZAspectHires", + "BSZCombinedHires" + ], + { + "title_aux": "bsz-cui-extras" + } ], "https://github.com/Bikecicle/ComfyUI-Waveform-Extensions/raw/main/EXT_AudioManipulation.py": [ - "BatchJoinAudio", - "CutAudio", - "DuplicateAudio", - "JoinAudio", - "ResampleAudio", - "ReverseAudio", - "StretchAudio" + [ + "BatchJoinAudio", + "CutAudio", + "DuplicateAudio", + "JoinAudio", + "ResampleAudio", + "ReverseAudio", + "StretchAudio" + ], + { + "title_aux": "Waveform Extensions" + } ], "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": [ - "BNK_AddCLIPSDXLParams", - "BNK_AddCLIPSDXLRParams", - "BNK_CLIPTextEncodeAdvanced", - "BNK_CLIPTextEncodeSDXLAdvanced" + [ + "BNK_AddCLIPSDXLParams", + "BNK_AddCLIPSDXLRParams", + "BNK_CLIPTextEncodeAdvanced", + "BNK_CLIPTextEncodeSDXLAdvanced" + ], + { + "title_aux": "Advanced CLIP Text Encode" + } ], "https://github.com/BlenderNeko/ComfyUI_Cutoff": [ - "BNK_CutoffBasePrompt", - "BNK_CutoffRegionsToConditioning", - "BNK_CutoffRegionsToConditioning_ADV", - "BNK_CutoffSetRegions" + [ + "BNK_CutoffBasePrompt", + "BNK_CutoffRegionsToConditioning", + "BNK_CutoffRegionsToConditioning_ADV", + "BNK_CutoffSetRegions" + ], + { + "title_aux": "ComfyUI Cutoff" + } ], "https://github.com/BlenderNeko/ComfyUI_Noise": [ - "BNK_DuplicateBatchIndex", - "BNK_GetSigma", - "BNK_InjectNoise", - "BNK_NoisyLatentImage", - "BNK_SlerpLatent", - "BNK_Unsampler" + [ + "BNK_DuplicateBatchIndex", + "BNK_GetSigma", + "BNK_InjectNoise", + "BNK_NoisyLatentImage", + "BNK_SlerpLatent", + "BNK_Unsampler" + ], + { + "title_aux": "ComfyUI Noise" + } ], "https://github.com/BlenderNeko/ComfyUI_SeeCoder": [ - "ConcatConditioning", - "SEECoderImageEncode" + [ + "ConcatConditioning", + "SEECoderImageEncode" + ], + { + "title_aux": "(WIP) SeeCoder" + } ], "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": [ - "BNK_TiledKSampler", - "BNK_TiledKSamplerAdvanced" + [ + "BNK_TiledKSampler", + "BNK_TiledKSamplerAdvanced" + ], + { + "title_aux": "Tiled sampling for ComfyUI" + } ], "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": [ - "LoadImageFromPath" + [ + "LoadImageFromPath" + ], + { + "title_aux": "ComfyUI_Ib_CustomNodes" + } ], "https://github.com/Davemane42/ComfyUI_Dave_CustomNode": [ - "ABGRemover", - "ConditioningStretch", - "ConditioningUpscale", - "MultiAreaConditioning", - "MultiLatentComposite" + [ + "ABGRemover", + "ConditioningStretch", + "ConditioningUpscale", + "MultiAreaConditioning", + "MultiLatentComposite" + ], + { + "title_aux": "Visual Area Conditioning / Latent composition" + } ], "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ - "ABSNode_DF", - "Absolute value", - "Ceil", - "CeilNode_DF", - "Conditioning area scale by ratio", - "ConditioningSetArea with tuples", - "ConditioningSetAreaEXT_DF", - "ConditioningSetArea_DF", - "CosNode_DF", - "Cosines", - "Divide", - "DivideNode_DF", - "EmptyLatentImage_DF", - "Float", - "Float debug print", - "Float2Tuple_DF", - "FloatDebugPrint_DF", - "FloatNode_DF", - "Floor", - "FloorNode_DF", - "Get image size", - "Get latent size", - "GetImageSize_DF", - "GetLatentSize_DF", - "Image scale by ratio", - "Image scale to side", - "ImageScale_Ratio_DF", - "ImageScale_Side_DF", - "Int debug print", - "Int to float", - "Int to tuple", - "Int2Float_DF", - "IntDebugPrint_DF", - "Integer", - "IntegerNode_DF", - "Latent Scale by ratio", - "Latent Scale to side", - "LatentComposite with tuples", - "LatentScale_Ratio_DF", - "LatentScale_Side_DF", - "MultilineStringNode_DF", - "Multiply", - "MultiplyNode_DF", - "PowNode_DF", - "Power", - "Random", - "RandomFloat_DF", - "SinNode_DF", - "Sinus", - "SqrtNode_DF", - "Square root", - "String debug print", - "StringNode_DF", - "Subtract", - "SubtractNode_DF", - "Sum", - "SumNode_DF", - "TanNode_DF", - "Tangent", - "Text", - "Text box", - "Tuple", - "Tuple debug print", - "Tuple multiply", - "Tuple swap", - "Tuple to floats", - "Tuple to ints", - "Tuple2Float_DF", - "TupleDebugPrint_DF", - "TupleNode_DF" + [ + "ABSNode_DF", + "Absolute value", + "Ceil", + "CeilNode_DF", + "Conditioning area scale by ratio", + "ConditioningSetArea with tuples", + "ConditioningSetAreaEXT_DF", + "ConditioningSetArea_DF", + "CosNode_DF", + "Cosines", + "Divide", + "DivideNode_DF", + "EmptyLatentImage_DF", + "Float", + "Float debug print", + "Float2Tuple_DF", + "FloatDebugPrint_DF", + "FloatNode_DF", + "Floor", + "FloorNode_DF", + "Get image size", + "Get latent size", + "GetImageSize_DF", + "GetLatentSize_DF", + "Image scale by ratio", + "Image scale to side", + "ImageScale_Ratio_DF", + "ImageScale_Side_DF", + "Int debug print", + "Int to float", + "Int to tuple", + "Int2Float_DF", + "IntDebugPrint_DF", + "Integer", + "IntegerNode_DF", + "Latent Scale by ratio", + "Latent Scale to side", + "LatentComposite with tuples", + "LatentScale_Ratio_DF", + "LatentScale_Side_DF", + "MultilineStringNode_DF", + "Multiply", + "MultiplyNode_DF", + "PowNode_DF", + "Power", + "Random", + "RandomFloat_DF", + "SinNode_DF", + "Sinus", + "SqrtNode_DF", + "Square root", + "String debug print", + "StringNode_DF", + "Subtract", + "SubtractNode_DF", + "Sum", + "SumNode_DF", + "TanNode_DF", + "Tangent", + "Text", + "Text box", + "Tuple", + "Tuple debug print", + "Tuple multiply", + "Tuple swap", + "Tuple to floats", + "Tuple to ints", + "Tuple2Float_DF", + "TupleDebugPrint_DF", + "TupleNode_DF" + ], + { + "title_aux": "Derfuu_ComfyUI_ModdedNodes" + } ], "https://github.com/EllangoK/ComfyUI-post-processing-nodes": [ - "ArithmeticBlend", - "AsciiArt", - "Blend", - "Blur", - "CannyEdgeMask", - "ChromaticAberration", - "ColorCorrect", - "ColorTint", - "Dissolve", - "Dither", - "DodgeAndBurn", - "FilmGrain", - "Glow", - "HSVThresholdMask", - "KMeansQuantize", - "KuwaharaBlur", - "Parabolize", - "PencilSketch", - "PixelSort", - "Pixelize", - "Quantize", - "Sharpen", - "SineWave", - "Solarize", - "Vignette" + [ + "ArithmeticBlend", + "AsciiArt", + "Blend", + "Blur", + "CannyEdgeMask", + "ChromaticAberration", + "ColorCorrect", + "ColorTint", + "Dissolve", + "Dither", + "DodgeAndBurn", + "FilmGrain", + "Glow", + "HSVThresholdMask", + "KMeansQuantize", + "KuwaharaBlur", + "Parabolize", + "PencilSketch", + "PixelSort", + "Pixelize", + "Quantize", + "Sharpen", + "SineWave", + "Solarize", + "Vignette" + ], + { + "title_aux": "ComfyUI-post-processing-nodes" + } ], "https://github.com/Extraltodeus/noise_latent_perlinpinpin": [ - "NoisyLatentPerlin" + [ + "NoisyLatentPerlin" + ], + { + "title_aux": "noise latent perlinpinpin" + } ], "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": [ - "AMT VFI", - "ESAI VFI", - "GMFSS Fortuna VFI", - "IFRNet VFI", - "IFUnet VFI", - "KSampler Gradually Adding More Denoise (efficient)", - "M2M VFI", - "RIFE VFI", - "Sepconv VFI" + [ + "AMT VFI", + "ESAI VFI", + "GMFSS Fortuna VFI", + "IFRNet VFI", + "IFUnet VFI", + "KSampler Gradually Adding More Denoise (efficient)", + "M2M VFI", + "RIFE VFI", + "Sepconv VFI" + ], + { + "title_aux": "ComfyUI-Frame-Interpolation" + } ], "https://github.com/Fannovel16/comfy_controlnet_preprocessors": [ - "AnimeLineArtPreprocessor", - "BAE-NormalMapPreprocessor", - "BinaryPreprocessor", - "CannyEdgePreprocessor", - "ColorPreprocessor", - "FakeScribblePreprocessor", - "HEDPreprocessor", - "InpaintPreprocessor", - "LeReS-DepthMapPreprocessor", - "LineArtPreprocessor", - "M-LSDPreprocessor", - "Manga2Anime-LineArtPreprocessor", - "MediaPipe-FaceMeshPreprocessor", - "MediaPipe-HandPosePreprocessor", - "MiDaS-DepthMapPreprocessor", - "MiDaS-NormalMapPreprocessor", - "OneFormer-ADE20K-SemSegPreprocessor", - "OneFormer-COCO-SemSegPreprocessor", - "OpenposePreprocessor", - "PiDiNetPreprocessor", - "ScribblePreprocessor", - "SemSegPreprocessor", - "ShufflePreprocessor", - "TilePreprocessor", - "UniFormer-SemSegPreprocessor", - "Zoe-DepthMapPreprocessor" + [ + "AnimeLineArtPreprocessor", + "BAE-NormalMapPreprocessor", + "BinaryPreprocessor", + "CannyEdgePreprocessor", + "ColorPreprocessor", + "FakeScribblePreprocessor", + "HEDPreprocessor", + "InpaintPreprocessor", + "LeReS-DepthMapPreprocessor", + "LineArtPreprocessor", + "M-LSDPreprocessor", + "Manga2Anime-LineArtPreprocessor", + "MediaPipe-FaceMeshPreprocessor", + "MediaPipe-HandPosePreprocessor", + "MiDaS-DepthMapPreprocessor", + "MiDaS-NormalMapPreprocessor", + "OneFormer-ADE20K-SemSegPreprocessor", + "OneFormer-COCO-SemSegPreprocessor", + "OpenposePreprocessor", + "PiDiNetPreprocessor", + "ScribblePreprocessor", + "SemSegPreprocessor", + "ShufflePreprocessor", + "TilePreprocessor", + "UniFormer-SemSegPreprocessor", + "Zoe-DepthMapPreprocessor" + ], + { + "title_aux": "ControlNet Preprocessors" + } ], "https://github.com/FizzleDorf/AIT": [ - "AITemplateControlNetLoader", - "AITemplateLoader", - "AITemplateVAEDecode", - "AITemplateVAEEncode", - "AITemplateVAEEncodeForInpaint" + [ + "AITemplateControlNetLoader", + "AITemplateLoader", + "AITemplateVAEDecode", + "AITemplateVAEEncode", + "AITemplateVAEEncodeForInpaint" + ], + { + "title_aux": "AIT" + } ], "https://github.com/FizzleDorf/ComfyUI_FizzNodes": [ - "AbsCosWave", - "AbsSinWave", - "CosWave", - "InvCosWave", - "InvSinWave", - "Lerp", - "PromptSchedule", - "PromptScheduleEncodeSDXL", - "PromptScheduleGLIGEN", - "PromptScheduleNodeFlow", - "PromptScheduleNodeFlowEnd", - "SawtoothWave", - "SinWave", - "SquareWave", - "TriangleWave", - "ValueSchedule" + [ + "AbsCosWave", + "AbsSinWave", + "CosWave", + "InvCosWave", + "InvSinWave", + "Lerp", + "PromptSchedule", + "PromptScheduleEncodeSDXL", + "PromptScheduleGLIGEN", + "PromptScheduleNodeFlow", + "PromptScheduleNodeFlowEnd", + "SawtoothWave", + "SinWave", + "SquareWave", + "TriangleWave", + "ValueSchedule" + ], + { + "title_aux": "FizzNodes" + } ], "https://github.com/Gourieff/comfyui-reactor-node": [ - "ReActorFaceSwap" + [ + "ReActorFaceSwap" + ], + { + "title_aux": "ReActor Node 0.1.0 for ComfyUI" + } + ], + "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": [ + [ + "Math Largest Int (JPS)", + "Math Resolution Multiply (JPS)", + "SDXL Additional Settings (JPS)", + "SDXL Basic Settings (JPS)", + "SDXL Resolutions (JPS)", + "Switch Generation Mode (JPS)" + ], + { + "title_aux": "JPS Custom Nodes for ComfyUI" + } ], "https://github.com/Jcd1230/rembg-comfyui-node": [ - "Image Remove Background (rembg)" + [ + "Image Remove Background (rembg)" + ], + { + "title_aux": "Rembg Background Removal Node for ComfyUI" + } ], "https://github.com/Jordach/comfy-plasma": [ - "JDC_AutoContrast", - "JDC_BlendImages", - "JDC_BrownNoise", - "JDC_Contrast", - "JDC_EqualizeGrey", - "JDC_GaussianBlur", - "JDC_GreyNoise", - "JDC_Greyscale", - "JDC_ImageLoader", - "JDC_ImageLoaderMeta", - "JDC_PinkNoise", - "JDC_Plasma", - "JDC_PlasmaSampler", - "JDC_PowerImage", - "JDC_RandNoise", - "JDC_ResizeFactor" + [ + "JDC_AutoContrast", + "JDC_BlendImages", + "JDC_BrownNoise", + "JDC_Contrast", + "JDC_EqualizeGrey", + "JDC_GaussianBlur", + "JDC_GreyNoise", + "JDC_Greyscale", + "JDC_ImageLoader", + "JDC_ImageLoaderMeta", + "JDC_PinkNoise", + "JDC_Plasma", + "JDC_PlasmaSampler", + "JDC_PowerImage", + "JDC_RandNoise", + "JDC_ResizeFactor" + ], + { + "title_aux": "comfy-plasma" + } ], "https://github.com/Kaharos94/ComfyUI-Saveaswebp": [ - "Save_as_webp" + [ + "Save_as_webp" + ], + { + "title_aux": "ComfyUI-Saveaswebp" + } ], "https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet": [ - "ControlNetLoaderAdvanced", - "CustomControlNetWeights", - "CustomT2IAdapterWeights", - "DiffControlNetLoaderAdvanced", - "ScaledSoftControlNetWeights", - "SoftControlNetWeights", - "SoftT2IAdapterWeights" + [ + "ControlNetLoaderAdvanced", + "CustomControlNetWeights", + "CustomT2IAdapterWeights", + "DiffControlNetLoaderAdvanced", + "ScaledSoftControlNetWeights", + "SoftControlNetWeights", + "SoftT2IAdapterWeights" + ], + { + "title_aux": "ComfyUI-Advanced-ControlNet" + } ], "https://github.com/LEv145/images-grid-comfy-plugin": [ - "GridAnnotation", - "ImageCombine", - "ImagesGridByColumns", - "ImagesGridByRows", - "LatentCombine" + [ + "GridAnnotation", + "ImageCombine", + "ImagesGridByColumns", + "ImagesGridByRows", + "LatentCombine" + ], + { + "title_aux": "ImagesGrid" + } ], "https://github.com/LucianoCirino/efficiency-nodes-comfyui": [ - "Control Net Stacker", - "Efficient Loader", - "Evaluate Integers", - "Image Overlay", - "Join XY Inputs of Same Type", - "KSampler (Efficient)", - "KSampler Adv. (Efficient)", - "LoRA Stacker", - "LoRA Stacker Adv.", - "Manual XY Entry Info", - "XY Input: Add/Return Noise", - "XY Input: CFG Scale", - "XY Input: Checkpoint", - "XY Input: Clip Skip", - "XY Input: Control Net Strengths", - "XY Input: Denoise", - "XY Input: End at Step", - "XY Input: LoRA", - "XY Input: LoRA Adv.", - "XY Input: LoRA Stacks", - "XY Input: Manual XY Entry", - "XY Input: Negative Prompt S/R", - "XY Input: Positive Prompt S/R", - "XY Input: Sampler", - "XY Input: Scheduler", - "XY Input: Seeds++ Batch", - "XY Input: Start at Step", - "XY Input: Steps", - "XY Input: VAE", - "XY Plot" + [ + "Control Net Stacker", + "Efficient Loader", + "Evaluate Integers", + "Image Overlay", + "Join XY Inputs of Same Type", + "KSampler (Efficient)", + "KSampler Adv. (Efficient)", + "LoRA Stacker", + "LoRA Stacker Adv.", + "Manual XY Entry Info", + "XY Input: Add/Return Noise", + "XY Input: CFG Scale", + "XY Input: Checkpoint", + "XY Input: Clip Skip", + "XY Input: Control Net Strengths", + "XY Input: Denoise", + "XY Input: End at Step", + "XY Input: LoRA", + "XY Input: LoRA Adv.", + "XY Input: LoRA Stacks", + "XY Input: Manual XY Entry", + "XY Input: Negative Prompt S/R", + "XY Input: Positive Prompt S/R", + "XY Input: Sampler", + "XY Input: Scheduler", + "XY Input: Seeds++ Batch", + "XY Input: Start at Step", + "XY Input: Steps", + "XY Input: VAE", + "XY Plot" + ], + { + "title_aux": "Efficiency Nodes for ComfyUI" + } ], "https://github.com/M1kep/ComfyLiterals": [ - "Checkpoint", - "Float", - "Int", - "Operation", - "String" + [ + "Checkpoint", + "Float", + "Int", + "Operation", + "String" + ], + { + "title_aux": "ComfyLiterals" + } ], "https://github.com/ManglerFTW/ComfyI2I": [ - "Color Transfer", - "Combine and Paste", - "Inpaint Segments", - "Mask Ops" + [ + "Color Transfer", + "Combine and Paste", + "Inpaint Segments", + "Mask Ops" + ], + { + "title_aux": "ComfyI2I" + } ], "https://github.com/NicholasMcCarthy/ComfyUI_TravelSuite": [ - "LatentTravel" + [ + "LatentTravel" + ], + { + "title_aux": "ComfyUI_TravelSuite" + } ], "https://github.com/Nourepide/ComfyUI-Allor": [ - "AlphaChanelAdd", - "AlphaChanelAddByMask", - "AlphaChanelAsMask", - "AlphaChanelRemove", - "AlphaChanelRestore", - "ClipClamp", - "ClipVisionClamp", - "ClipVisionOutputClamp", - "ConditioningClamp", - "ControlNetClamp", - "GligenClamp", - "ImageBatchFork", - "ImageBatchGet", - "ImageBatchJoin", - "ImageBatchRemove", - "ImageClamp", - "ImageCompositeAbsolute", - "ImageCompositeAbsoluteByContainer", - "ImageCompositeRelative", - "ImageCompositeRelativeByContainer", - "ImageContainer", - "ImageContainerInheritanceAdd", - "ImageContainerInheritanceMax", - "ImageContainerInheritanceScale", - "ImageContainerInheritanceSum", - "ImageDrawArc", - "ImageDrawArcByContainer", - "ImageDrawChord", - "ImageDrawChordByContainer", - "ImageDrawEllipse", - "ImageDrawEllipseByContainer", - "ImageDrawLine", - "ImageDrawLineByContainer", - "ImageDrawPieslice", - "ImageDrawPiesliceByContainer", - "ImageDrawPolygon", - "ImageDrawRectangle", - "ImageDrawRectangleByContainer", - "ImageDrawRectangleRounded", - "ImageDrawRectangleRoundedByContainer", - "ImageEffectsAdjustment", - "ImageEffectsGrayscale", - "ImageEffectsLensBokeh", - "ImageEffectsLensChromaticAberration", - "ImageEffectsLensOpticAxis", - "ImageEffectsLensVignette", - "ImageEffectsLensZoomBurst", - "ImageEffectsNegative", - "ImageEffectsSepia", - "ImageFilterBilateralBlur", - "ImageFilterBlur", - "ImageFilterBoxBlur", - "ImageFilterContour", - "ImageFilterDetail", - "ImageFilterEdgeEnhance", - "ImageFilterEdgeEnhanceMore", - "ImageFilterEmboss", - "ImageFilterFindEdges", - "ImageFilterGaussianBlur", - "ImageFilterGaussianBlurAdvanced", - "ImageFilterMax", - "ImageFilterMedianBlur", - "ImageFilterMin", - "ImageFilterMode", - "ImageFilterRank", - "ImageFilterSharpen", - "ImageFilterSmooth", - "ImageFilterSmoothMore", - "ImageFilterStackBlur", - "ImageNoiseBeta", - "ImageNoiseBinomial", - "ImageNoiseBytes", - "ImageNoiseGaussian", - "ImageSegmentation", - "ImageSegmentationCustom", - "ImageSegmentationCustomAdvanced", - "ImageText", - "ImageTextMultiline", - "ImageTextMultilineOutlined", - "ImageTextOutlined", - "ImageTransformCropAbsolute", - "ImageTransformCropCorners", - "ImageTransformCropRelative", - "ImageTransformPaddingAbsolute", - "ImageTransformPaddingRelative", - "ImageTransformResizeAbsolute", - "ImageTransformResizeRelative", - "ImageTransformRotate", - "ImageTransformTranspose", - "LatentClamp", - "MaskClamp", - "ModelClamp", - "StyleModelClamp", - "UpscaleModelClamp", - "VaeClamp" + [ + "AlphaChanelAdd", + "AlphaChanelAddByMask", + "AlphaChanelAsMask", + "AlphaChanelRemove", + "AlphaChanelRestore", + "ClipClamp", + "ClipVisionClamp", + "ClipVisionOutputClamp", + "ConditioningClamp", + "ControlNetClamp", + "GligenClamp", + "ImageBatchFork", + "ImageBatchGet", + "ImageBatchJoin", + "ImageBatchRemove", + "ImageClamp", + "ImageCompositeAbsolute", + "ImageCompositeAbsoluteByContainer", + "ImageCompositeRelative", + "ImageCompositeRelativeByContainer", + "ImageContainer", + "ImageContainerInheritanceAdd", + "ImageContainerInheritanceMax", + "ImageContainerInheritanceScale", + "ImageContainerInheritanceSum", + "ImageDrawArc", + "ImageDrawArcByContainer", + "ImageDrawChord", + "ImageDrawChordByContainer", + "ImageDrawEllipse", + "ImageDrawEllipseByContainer", + "ImageDrawLine", + "ImageDrawLineByContainer", + "ImageDrawPieslice", + "ImageDrawPiesliceByContainer", + "ImageDrawPolygon", + "ImageDrawRectangle", + "ImageDrawRectangleByContainer", + "ImageDrawRectangleRounded", + "ImageDrawRectangleRoundedByContainer", + "ImageEffectsAdjustment", + "ImageEffectsGrayscale", + "ImageEffectsLensBokeh", + "ImageEffectsLensChromaticAberration", + "ImageEffectsLensOpticAxis", + "ImageEffectsLensVignette", + "ImageEffectsLensZoomBurst", + "ImageEffectsNegative", + "ImageEffectsSepia", + "ImageFilterBilateralBlur", + "ImageFilterBlur", + "ImageFilterBoxBlur", + "ImageFilterContour", + "ImageFilterDetail", + "ImageFilterEdgeEnhance", + "ImageFilterEdgeEnhanceMore", + "ImageFilterEmboss", + "ImageFilterFindEdges", + "ImageFilterGaussianBlur", + "ImageFilterGaussianBlurAdvanced", + "ImageFilterMax", + "ImageFilterMedianBlur", + "ImageFilterMin", + "ImageFilterMode", + "ImageFilterRank", + "ImageFilterSharpen", + "ImageFilterSmooth", + "ImageFilterSmoothMore", + "ImageFilterStackBlur", + "ImageNoiseBeta", + "ImageNoiseBinomial", + "ImageNoiseBytes", + "ImageNoiseGaussian", + "ImageSegmentation", + "ImageSegmentationCustom", + "ImageSegmentationCustomAdvanced", + "ImageText", + "ImageTextMultiline", + "ImageTextMultilineOutlined", + "ImageTextOutlined", + "ImageTransformCropAbsolute", + "ImageTransformCropCorners", + "ImageTransformCropRelative", + "ImageTransformPaddingAbsolute", + "ImageTransformPaddingRelative", + "ImageTransformResizeAbsolute", + "ImageTransformResizeRelative", + "ImageTransformRotate", + "ImageTransformTranspose", + "LatentClamp", + "MaskClamp", + "ModelClamp", + "StyleModelClamp", + "UpscaleModelClamp", + "VaeClamp" + ], + { + "title_aux": "Allor Plugin" + } ], "https://github.com/Pfaeff/pfaeff-comfyui": [ - "AstropulsePixelDetector", - "BackgroundRemover", - "ImagePadForBetterOutpaint", - "Inpainting", - "InpaintingPipelineLoader" + [ + "AstropulsePixelDetector", + "BackgroundRemover", + "ImagePadForBetterOutpaint", + "Inpainting", + "InpaintingPipelineLoader" + ], + { + "title_aux": "pfaeff-comfyui" + } ], "https://github.com/RockOfFire/ComfyUI_Comfyroll_CustomNodes": [ - "CR Apply ControlNet", - "CR Apply LoRA Stack", - "CR Aspect Ratio", - "CR Aspect Ratio SDXL", - "CR Clip Input Switch", - "CR Color Tint", - "CR Conditioning Input Switch", - "CR ControlNet Input Switch", - "CR Halftone Grid", - "CR Halftone Image", - "CR Halftones", - "CR Hires Fix Process Switch", - "CR Image Input Switch", - "CR Image Input Switch (4 way)", - "CR Image Output", - "CR Image Pipe Edit", - "CR Image Pipe In", - "CR Image Pipe Out", - "CR Image Size", - "CR Img2Img Process Switch", - "CR Integer Multiple", - "CR KSampler (Iterative)", - "CR Latent Batch Size", - "CR Latent Input Switch", - "CR Latent Upscale (Iterative)", - "CR LoRA Stack", - "CR Load Image Sequence", - "CR Load LoRA", - "CR Model Input Switch", - "CR Module Input", - "CR Module Output", - "CR Module Pipe Loader", - "CR Pipe Switch", - "CR Process Switch", - "CR SDXL Base Prompt Encoder", - "CR SDXL Prompt Mixer", - "CR SDXL Style Text", - "CR Seed to Int", - "CR Switch" + [ + "CR Apply ControlNet", + "CR Apply LoRA Stack", + "CR Aspect Ratio", + "CR Aspect Ratio SDXL", + "CR Clip Input Switch", + "CR Color Tint", + "CR Conditioning Input Switch", + "CR ControlNet Input Switch", + "CR Halftone Grid", + "CR Halftone Image", + "CR Halftones", + "CR Hires Fix Process Switch", + "CR Image Input Switch", + "CR Image Input Switch (4 way)", + "CR Image Output", + "CR Image Pipe Edit", + "CR Image Pipe In", + "CR Image Pipe Out", + "CR Image Size", + "CR Img2Img Process Switch", + "CR Integer Multiple", + "CR KSampler (Iterative)", + "CR Latent Batch Size", + "CR Latent Input Switch", + "CR Latent Upscale (Iterative)", + "CR LoRA Stack", + "CR Load Image Sequence", + "CR Load LoRA", + "CR Model Input Switch", + "CR Module Input", + "CR Module Output", + "CR Module Pipe Loader", + "CR Pipe Switch", + "CR Process Switch", + "CR SDXL Base Prompt Encoder", + "CR SDXL Prompt Mixer", + "CR SDXL Style Text", + "CR Seed to Int", + "CR Switch" + ], + { + "title_aux": "ComfyUI_Comfyroll_CustomNodes" + } ], "https://github.com/SLAPaper/ComfyUI-Image-Selector": [ - "ImageDuplicator", - "ImageSelector", - "LatentDuplicator", - "LatentSelector" + [ + "ImageDuplicator", + "ImageSelector", + "LatentDuplicator", + "LatentSelector" + ], + { + "title_aux": "ComfyUI-Image-Selector" + } ], "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": [ - "MSSqlSelectNode", - "MSSqlTableNode" + [ + "MSSqlSelectNode", + "MSSqlTableNode" + ], + { + "title_aux": "LexMSDBNodes" + } ], "https://github.com/SadaleNet/CLIPTextEncodeA1111-ComfyUI/raw/master/custom_nodes/clip_text_encoder_a1111.py": [ - "CLIPTextEncodeA1111", - "RerouteTextForCLIPTextEncodeA1111" + [ + "CLIPTextEncodeA1111", + "RerouteTextForCLIPTextEncodeA1111" + ], + { + "title_aux": "ComfyUI A1111-like Prompt Custom Node Solution" + } ], "https://github.com/SeargeDP/SeargeSDXL": [ - "SeargeCheckpointLoader", - "SeargeConditioningMuxer2", - "SeargeConditioningMuxer5", - "SeargeEnablerInputs", - "SeargeFloatConstant", - "SeargeFloatMath", - "SeargeFloatPair", - "SeargeGenerated1", - "SeargeImageSave", - "SeargeInput1", - "SeargeInput2", - "SeargeInput3", - "SeargeInput4", - "SeargeInput5", - "SeargeInput6", - "SeargeInput7", - "SeargeIntegerConstant", - "SeargeIntegerMath", - "SeargeIntegerPair", - "SeargeIntegerScaler", - "SeargeLatentMuxer3", - "SeargeLoraLoader", - "SeargeOutput1", - "SeargeOutput2", - "SeargeOutput3", - "SeargeOutput4", - "SeargeOutput5", - "SeargeOutput6", - "SeargeOutput7", - "SeargeParameterProcessor", - "SeargePromptCombiner", - "SeargePromptText", - "SeargeSDXLBasePromptEncoder", - "SeargeSDXLImage2ImageSampler", - "SeargeSDXLImage2ImageSampler2", - "SeargeSDXLImage2ImageSamplerV3", - "SeargeSDXLPromptEncoder", - "SeargeSDXLRefinerPromptEncoder", - "SeargeSDXLSampler", - "SeargeSDXLSampler2", - "SeargeSDXLSamplerV3", - "SeargeSamplerInputs", - "SeargeSaveFolderInputs", - "SeargeStylePreprocessor", - "SeargeUpscaleModelLoader", - "SeargeVAELoader" + [ + "SeargeCheckpointLoader", + "SeargeConditioningMuxer2", + "SeargeConditioningMuxer5", + "SeargeEnablerInputs", + "SeargeFloatConstant", + "SeargeFloatMath", + "SeargeFloatPair", + "SeargeGenerated1", + "SeargeImageSave", + "SeargeInput1", + "SeargeInput2", + "SeargeInput3", + "SeargeInput4", + "SeargeInput5", + "SeargeInput6", + "SeargeInput7", + "SeargeIntegerConstant", + "SeargeIntegerMath", + "SeargeIntegerPair", + "SeargeIntegerScaler", + "SeargeLatentMuxer3", + "SeargeLoraLoader", + "SeargeOutput1", + "SeargeOutput2", + "SeargeOutput3", + "SeargeOutput4", + "SeargeOutput5", + "SeargeOutput6", + "SeargeOutput7", + "SeargeParameterProcessor", + "SeargePromptCombiner", + "SeargePromptText", + "SeargeSDXLBasePromptEncoder", + "SeargeSDXLImage2ImageSampler", + "SeargeSDXLImage2ImageSampler2", + "SeargeSDXLImage2ImageSamplerV3", + "SeargeSDXLPromptEncoder", + "SeargeSDXLRefinerPromptEncoder", + "SeargeSDXLSampler", + "SeargeSDXLSampler2", + "SeargeSDXLSamplerV3", + "SeargeSamplerInputs", + "SeargeSaveFolderInputs", + "SeargeStylePreprocessor", + "SeargeUpscaleModelLoader", + "SeargeVAELoader" + ], + { + "title_aux": "SeargeSDXL" + } ], "https://github.com/Ser-Hilary/SDXL_sizing/raw/main/conditioning_sizing_for_SDXL.py": [ - "get_aspect_from_image", - "get_aspect_from_ints", - "sizing_node", - "sizing_node_basic", - "sizing_node_unparsed" + [ + "get_aspect_from_image", + "get_aspect_from_ints", + "sizing_node", + "sizing_node_basic", + "sizing_node_unparsed" + ], + { + "title_aux": "SDXL_sizing" + } ], "https://github.com/TinyTerra/ComfyUI_tinyterraNodes.git": [ - "ttN busIN", - "ttN busOUT", - "ttN concat", - "ttN debugInput", - "ttN float", - "ttN hiresfixScale", - "ttN imageOutput", - "ttN imageREMBG", - "ttN int", - "ttN pipe2BASIC", - "ttN pipe2DETAILER", - "ttN pipeEDIT", - "ttN pipeIN", - "ttN pipeKSampler", - "ttN pipeKSamplerAdvanced", - "ttN pipeLoader", - "ttN pipeLoaderSDXL", - "ttN pipeOUT", - "ttN seed", - "ttN seedDebug", - "ttN text", - "ttN text3BOX_3WAYconcat", - "ttN text7BOX_concat", - "ttN textDebug", - "ttN xyPlot" + [ + "ttN busIN", + "ttN busOUT", + "ttN concat", + "ttN debugInput", + "ttN float", + "ttN hiresfixScale", + "ttN imageOutput", + "ttN imageREMBG", + "ttN int", + "ttN pipe2BASIC", + "ttN pipe2DETAILER", + "ttN pipeEDIT", + "ttN pipeIN", + "ttN pipeKSampler", + "ttN pipeKSamplerAdvanced", + "ttN pipeLoader", + "ttN pipeLoaderSDXL", + "ttN pipeOUT", + "ttN seed", + "ttN seedDebug", + "ttN text", + "ttN text3BOX_3WAYconcat", + "ttN text7BOX_concat", + "ttN textDebug", + "ttN xyPlot" + ], + { + "title_aux": "tinyterraNodes" + } ], "https://github.com/WASasquatch/ComfyUI_Preset_Merger": [ - "Preset_Model_Merge" + [ + "Preset_Model_Merge" + ], + { + "title_aux": "ComfyUI Preset Merger" + } ], "https://github.com/WASasquatch/was-node-suite-comfyui": [ - "BLIP Analyze Image", - "BLIP Model Loader", - "Blend Latents", - "Bounded Image Blend", - "Bounded Image Blend with Mask", - "Bounded Image Crop", - "Bounded Image Crop with Mask", - "CLIP Input Switch", - "CLIP Vision Input Switch", - "CLIPSeg Batch Masking", - "CLIPSeg Masking", - "CLIPSeg Model Loader", - "CLIPTextEncode (BlenderNeko Advanced + NSP)", - "CLIPTextEncode (NSP)", - "Cache Node", - "Checkpoint Loader", - "Checkpoint Loader (Simple)", - "Conditioning Input Switch", - "Constant Number", - "Control Net Model Input Switch", - "Convert Masks to Images", - "Create Grid Image", - "Create Morph Image", - "Create Morph Image from Path", - "Create Video from Path", - "Debug Number to Console", - "Dictionary to Console", - "Diffusers Hub Model Down-Loader", - "Diffusers Model Loader", - "Export API", - "Image Analyze", - "Image Aspect Ratio", - "Image Batch", - "Image Blank", - "Image Blend", - "Image Blend by Mask", - "Image Blending Mode", - "Image Bloom Filter", - "Image Bounds", - "Image Canny Filter", - "Image Chromatic Aberration", - "Image Color Palette", - "Image Crop Face", - "Image Crop Location", - "Image Crop Square Location", - "Image Displacement Warp", - "Image Dragan Photography Filter", - "Image Edge Detection Filter", - "Image Film Grain", - "Image Filter Adjustments", - "Image Flip", - "Image Generate Gradient", - "Image Gradient Map", - "Image High Pass Filter", - "Image History Loader", - "Image Input Switch", - "Image Levels Adjustment", - "Image Load", - "Image Lucy Sharpen", - "Image Median Filter", - "Image Mix RGB Channels", - "Image Monitor Effects Filter", - "Image Nova Filter", - "Image Padding", - "Image Paste Crop", - "Image Paste Crop by Location", - "Image Paste Face", - "Image Perlin Noise", - "Image Perlin Power Fractal", - "Image Pixelate", - "Image Power Noise", - "Image Rembg (Remove Background)", - "Image Remove Background (Alpha)", - "Image Remove Color", - "Image Resize", - "Image Rotate", - "Image Rotate Hue", - "Image SSAO (Ambient Occlusion)", - "Image SSDO (Direct Occlusion)", - "Image Save", - "Image Seamless Texture", - "Image Select Channel", - "Image Select Color", - "Image Shadows and Highlights", - "Image Size to Number", - "Image Stitch", - "Image Style Filter", - "Image Threshold", - "Image Tiled", - "Image Transpose", - "Image Voronoi Noise Filter", - "Image fDOF Filter", - "Image to Latent Mask", - "Image to Noise", - "Image to Seed", - "Images to RGB", - "Inset Image Bounds", - "Integer place counter", - "KSampler (WAS)", - "KSampler Cycle", - "LangSAM Masking", - "LangSAM Model Loader", - "Latent Input Switch", - "Latent Noise Injection", - "Latent Size to Number", - "Latent Upscale by Factor (WAS)", - "Load Cache", - "Load Image Batch", - "Load Lora", - "Load Text File", - "Logic Boolean", - "Lora Loader", - "Mask Arbitrary Region", - "Mask Batch", - "Mask Batch to Mask", - "Mask Ceiling Region", - "Mask Crop Dominant Region", - "Mask Crop Minority Region", - "Mask Crop Region", - "Mask Dilate Region", - "Mask Dominant Region", - "Mask Erode Region", - "Mask Fill Holes", - "Mask Floor Region", - "Mask Gaussian Region", - "Mask Invert", - "Mask Minority Region", - "Mask Paste Region", - "Mask Smooth Region", - "Mask Threshold Region", - "Masks Add", - "Masks Combine Batch", - "Masks Combine Regions", - "Masks Subtract", - "MiDaS Depth Approximation", - "MiDaS Mask Image", - "MiDaS Model Loader", - "Model Input Switch", - "Number Counter", - "Number Input Condition", - "Number Input Switch", - "Number Multiple Of", - "Number Operation", - "Number PI", - "Number to Float", - "Number to Int", - "Number to Seed", - "Number to String", - "Number to Text", - "Prompt Multiple Styles Selector", - "Prompt Styles Selector", - "Random Number", - "SAM Image Mask", - "SAM Model Loader", - "SAM Parameters", - "SAM Parameters Combine", - "Samples Passthrough (Stat System)", - "Save Text File", - "Seed", - "String to Text", - "Tensor Batch to Image", - "Text Add Token by Input", - "Text Add Tokens", - "Text Compare", - "Text Concatenate", - "Text Dictionary Update", - "Text File History Loader", - "Text Find and Replace", - "Text Find and Replace Input", - "Text Find and Replace by Dictionary", - "Text Input Switch", - "Text List", - "Text List Concatenate", - "Text Load Line From File", - "Text Multiline", - "Text Parse A1111 Embeddings", - "Text Parse Noodle Soup Prompts", - "Text Parse Tokens", - "Text Random Line", - "Text Random Prompt", - "Text String", - "Text String Truncate", - "Text to Conditioning", - "Text to Console", - "Text to Number", - "Text to String", - "True Random.org Number Generator", - "Upscale Model Loader", - "Upscale Model Switch", - "VAE Input Switch", - "Video Dump Frames", - "Write to GIF", - "Write to Video", - "unCLIP Checkpoint Loader" + [ + "BLIP Analyze Image", + "BLIP Model Loader", + "Blend Latents", + "Bounded Image Blend", + "Bounded Image Blend with Mask", + "Bounded Image Crop", + "Bounded Image Crop with Mask", + "CLIP Input Switch", + "CLIP Vision Input Switch", + "CLIPSeg Batch Masking", + "CLIPSeg Masking", + "CLIPSeg Model Loader", + "CLIPTextEncode (BlenderNeko Advanced + NSP)", + "CLIPTextEncode (NSP)", + "Cache Node", + "Checkpoint Loader", + "Checkpoint Loader (Simple)", + "Conditioning Input Switch", + "Constant Number", + "Control Net Model Input Switch", + "Convert Masks to Images", + "Create Grid Image", + "Create Morph Image", + "Create Morph Image from Path", + "Create Video from Path", + "Debug Number to Console", + "Dictionary to Console", + "Diffusers Hub Model Down-Loader", + "Diffusers Model Loader", + "Export API", + "Image Analyze", + "Image Aspect Ratio", + "Image Batch", + "Image Blank", + "Image Blend", + "Image Blend by Mask", + "Image Blending Mode", + "Image Bloom Filter", + "Image Bounds", + "Image Canny Filter", + "Image Chromatic Aberration", + "Image Color Palette", + "Image Crop Face", + "Image Crop Location", + "Image Crop Square Location", + "Image Displacement Warp", + "Image Dragan Photography Filter", + "Image Edge Detection Filter", + "Image Film Grain", + "Image Filter Adjustments", + "Image Flip", + "Image Generate Gradient", + "Image Gradient Map", + "Image High Pass Filter", + "Image History Loader", + "Image Input Switch", + "Image Levels Adjustment", + "Image Load", + "Image Lucy Sharpen", + "Image Median Filter", + "Image Mix RGB Channels", + "Image Monitor Effects Filter", + "Image Nova Filter", + "Image Padding", + "Image Paste Crop", + "Image Paste Crop by Location", + "Image Paste Face", + "Image Perlin Noise", + "Image Perlin Power Fractal", + "Image Pixelate", + "Image Power Noise", + "Image Rembg (Remove Background)", + "Image Remove Background (Alpha)", + "Image Remove Color", + "Image Resize", + "Image Rotate", + "Image Rotate Hue", + "Image SSAO (Ambient Occlusion)", + "Image SSDO (Direct Occlusion)", + "Image Save", + "Image Seamless Texture", + "Image Select Channel", + "Image Select Color", + "Image Shadows and Highlights", + "Image Size to Number", + "Image Stitch", + "Image Style Filter", + "Image Threshold", + "Image Tiled", + "Image Transpose", + "Image Voronoi Noise Filter", + "Image fDOF Filter", + "Image to Latent Mask", + "Image to Noise", + "Image to Seed", + "Images to RGB", + "Inset Image Bounds", + "Integer place counter", + "KSampler (WAS)", + "KSampler Cycle", + "LangSAM Masking", + "LangSAM Model Loader", + "Latent Input Switch", + "Latent Noise Injection", + "Latent Size to Number", + "Latent Upscale by Factor (WAS)", + "Load Cache", + "Load Image Batch", + "Load Lora", + "Load Text File", + "Logic Boolean", + "Lora Loader", + "Mask Arbitrary Region", + "Mask Batch", + "Mask Batch to Mask", + "Mask Ceiling Region", + "Mask Crop Dominant Region", + "Mask Crop Minority Region", + "Mask Crop Region", + "Mask Dilate Region", + "Mask Dominant Region", + "Mask Erode Region", + "Mask Fill Holes", + "Mask Floor Region", + "Mask Gaussian Region", + "Mask Invert", + "Mask Minority Region", + "Mask Paste Region", + "Mask Smooth Region", + "Mask Threshold Region", + "Masks Add", + "Masks Combine Batch", + "Masks Combine Regions", + "Masks Subtract", + "MiDaS Depth Approximation", + "MiDaS Mask Image", + "MiDaS Model Loader", + "Model Input Switch", + "Number Counter", + "Number Input Condition", + "Number Input Switch", + "Number Multiple Of", + "Number Operation", + "Number PI", + "Number to Float", + "Number to Int", + "Number to Seed", + "Number to String", + "Number to Text", + "Prompt Multiple Styles Selector", + "Prompt Styles Selector", + "Random Number", + "SAM Image Mask", + "SAM Model Loader", + "SAM Parameters", + "SAM Parameters Combine", + "Samples Passthrough (Stat System)", + "Save Text File", + "Seed", + "String to Text", + "Tensor Batch to Image", + "Text Add Token by Input", + "Text Add Tokens", + "Text Compare", + "Text Concatenate", + "Text Dictionary Update", + "Text File History Loader", + "Text Find and Replace", + "Text Find and Replace Input", + "Text Find and Replace by Dictionary", + "Text Input Switch", + "Text List", + "Text List Concatenate", + "Text Load Line From File", + "Text Multiline", + "Text Parse A1111 Embeddings", + "Text Parse Noodle Soup Prompts", + "Text Parse Tokens", + "Text Random Line", + "Text Random Prompt", + "Text String", + "Text String Truncate", + "Text to Conditioning", + "Text to Console", + "Text to Number", + "Text to String", + "True Random.org Number Generator", + "Upscale Model Loader", + "Upscale Model Switch", + "VAE Input Switch", + "Video Dump Frames", + "Write to GIF", + "Write to Video", + "unCLIP Checkpoint Loader" + ], + { + "title_aux": "WAS Node Suite" + } ], "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": [ - "MergeBlockWeighted" + [ + "MergeBlockWeighted" + ], + { + "title_aux": "MergeBlockWeighted_fo_ComfyUI" + } ], "https://github.com/ZaneA/ComfyUI-ImageReward": [ - "ImageRewardLoader", - "ImageRewardScore" + [ + "ImageRewardLoader", + "ImageRewardScore" + ], + { + "title_aux": "ImageReward" + } ], "https://github.com/adieyal/comfyui-dynamicprompts": [ - "DPCombinatorialGenerator", - "DPFeelingLucky", - "DPJinja", - "DPMagicPrompt", - "DPOutput", - "DPRandomGenerator" + [ + "DPCombinatorialGenerator", + "DPFeelingLucky", + "DPJinja", + "DPMagicPrompt", + "DPOutput", + "DPRandomGenerator" + ], + { + "title_aux": "DynamicPrompts Custom Nodes" + } ], "https://github.com/andersxa/comfyui-PromptAttention": [ - "CLIPAttentionMaskEncode" + [ + "CLIPAttentionMaskEncode" + ], + { + "title_aux": "CLIP Directional Prompt Attention" + } ], "https://github.com/asagi4/comfyui-prompt-control": [ - "CondLinearInterpolate", - "ConditioningCutoff", - "EditableCLIPEncode", - "FilterSchedule", - "JinjaRender", - "LoRAScheduler", - "PromptControlSimple", - "PromptToSchedule", - "ScheduleToCond", - "ScheduleToModel", - "SimpleWildcard", - "StringConcat" + [ + "CondLinearInterpolate", + "ConditioningCutoff", + "EditableCLIPEncode", + "FilterSchedule", + "JinjaRender", + "LoRAScheduler", + "PromptControlSimple", + "PromptToSchedule", + "ScheduleToCond", + "ScheduleToModel", + "SimpleWildcard", + "StringConcat" + ], + { + "title_aux": "ComfyUI prompt control" + } ], "https://github.com/bash-j/mikey_nodes": [ - "AddMetaData", - "Batch Resize Image for SDXL", - "Empty Latent Ratio Custom SDXL", - "Empty Latent Ratio Select SDXL", - "HaldCLUT", - "Mikey Sampler", - "Mikey Sampler Tiled", - "Prompt With SDXL", - "Prompt With Style", - "Prompt With Style V2", - "Prompt With Style V3", - "Resize Image for SDXL", - "Save Image With Prompt Data", - "Save Images Mikey", - "SaveMetaData", - "Style Conditioner", - "Upscale Tile Calculator", - "VAE Decode 6GB SDXL (deprecated)", - "Wildcard Processor" + [ + "AddMetaData", + "Batch Resize Image for SDXL", + "Empty Latent Ratio Custom SDXL", + "Empty Latent Ratio Select SDXL", + "HaldCLUT", + "Mikey Sampler", + "Mikey Sampler Tiled", + "Prompt With SDXL", + "Prompt With Style", + "Prompt With Style V2", + "Prompt With Style V3", + "Resize Image for SDXL", + "Save Image With Prompt Data", + "Save Images Mikey", + "SaveMetaData", + "Style Conditioner", + "Upscale Tile Calculator", + "VAE Decode 6GB SDXL (deprecated)", + "Wildcard Processor" + ], + { + "title_aux": "Mikey Nodes" + } ], "https://github.com/biegert/ComfyUI-CLIPSeg/raw/main/custom_nodes/clipseg.py": [ - "CLIPSeg", - "CombineSegMasks" + [ + "CLIPSeg", + "CombineSegMasks" + ], + { + "title_aux": "CLIPSeg" + } ], "https://github.com/bvhari/ComfyUI_ImageProcessing": [ - "BilateralFilter", - "Brightness", - "Gamma", - "Hue", - "Saturation", - "SigmoidCorrection", - "UnsharpMask" + [ + "BilateralFilter", + "Brightness", + "Gamma", + "Hue", + "Saturation", + "SigmoidCorrection", + "UnsharpMask" + ], + { + "title_aux": "ImageProcessing" + } ], "https://github.com/bvhari/ComfyUI_LatentToRGB": [ - "LatentToRGB" + [ + "LatentToRGB" + ], + { + "title_aux": "LatentToRGB" + } ], "https://github.com/chenbaiyujason/sc-node-comfyui": [ - "8 Combine Text String", - "Builder Text String", - "Clean Gradio", - "Combine GPT Prompt", - "Combine Text String", - "Get Gradio", - "Multiple Combine GPT Prompt", - "Multiple Post to GPT", - "Multiple Text String", - "One GPT Builder", - "One Post to GPT", - "Out Gradio", - "Prompt Preview", - "SCSCCLIPTextEncode", - "SCSearch and Replace", - "SCText to Console", - "Single Text String", - "String to ASCII", - "Verb One Post to GPT" + [ + "8 Combine Text String", + "Builder Text String", + "Clean Gradio", + "Combine GPT Prompt", + "Combine Text String", + "Get Gradio", + "Multiple Combine GPT Prompt", + "Multiple Post to GPT", + "Multiple Text String", + "One GPT Builder", + "One Post to GPT", + "Out Gradio", + "Prompt Preview", + "SCSCCLIPTextEncode", + "SCSearch and Replace", + "SCText to Console", + "Single Text String", + "String to ASCII", + "Verb One Post to GPT" + ], + { + "title_aux": "sc-node-comfyui" + } ], "https://github.com/city96/ComfyUI_NetDist": [ - "FetchRemote", - "QueueRemote" + [ + "FetchRemote", + "QueueRemote" + ], + { + "title_aux": "ComfyUI_NetDist" + } ], "https://github.com/city96/SD-Advanced-Noise": [ - "LatentGaussianNoise", - "MathEncode" + [ + "LatentGaussianNoise", + "MathEncode" + ], + { + "title_aux": "SD-Advanced-Noise" + } ], "https://github.com/city96/SD-Latent-Interposer": [ - "LatentInterposer" + [ + "LatentInterposer" + ], + { + "title_aux": "Latent-Interposer" + } ], "https://github.com/civitai/comfy-nodes": [ - "CivitAI_Checkpoint_Loader", - "CivitAI_Lora_Loader" + [ + "CivitAI_Checkpoint_Loader", + "CivitAI_Lora_Loader" + ], + { + "title_aux": "comfy-nodes" + } ], "https://github.com/comfyanonymous/ComfyUI_experiments/raw/master/advanced_model_merging.py": [ - "ModelMergeBlockNumber" + [ + "ModelMergeBlockNumber" + ], + { + "title_aux": "ComfyUI_experiments/advanced_model_merging" + } ], "https://github.com/comfyanonymous/ComfyUI_experiments/raw/master/reference_only.py": [ - "ReferenceOnlySimple" + [ + "ReferenceOnlySimple" + ], + { + "title_aux": "ComfyUI_experiments/reference_only" + } ], "https://github.com/comfyanonymous/ComfyUI_experiments/raw/master/sampler_rescalecfg.py": [ - "RescaleClassifierFreeGuidanceTest" + [ + "RescaleClassifierFreeGuidanceTest" + ], + { + "title_aux": "ComfyUI_experiments/sampler_rescalecfg" + } ], "https://github.com/comfyanonymous/ComfyUI_experiments/raw/master/sampler_tonemap.py": [ - "ModelSamplerTonemapNoiseTest" + [ + "ModelSamplerTonemapNoiseTest" + ], + { + "title_aux": "ComfyUI_experiments/sampler_tonemap" + } ], "https://github.com/coreyryanhanson/comfy-qr": [ - "comfy-qr-by-image-size", - "comfy-qr-by-module-size", - "comfy-qr-by-module-split" + [ + "comfy-qr-by-image-size", + "comfy-qr-by-module-size", + "comfy-qr-by-module-split" + ], + { + "title_aux": "Comfy-QR" + } ], "https://github.com/coreyryanhanson/comfy-qr-validation-nodes": [ - "comfy-qr-read", - "comfy-qr-validate" + [ + "comfy-qr-read", + "comfy-qr-validate" + ], + { + "title_aux": "comfy-qr-validation-nodes" + } ], "https://github.com/cubiq/ComfyUI_SimpleMath": [ - "SimpleMath" + [ + "SimpleMath" + ], + { + "title_aux": "Simple Math" + } ], "https://github.com/dawangraoming/ComfyUI_ksampler_gpu/raw/main/ksampler_gpu.py": [ - "KSamplerAdvancedGPU", - "KSamplerGPU" + [ + "KSamplerAdvancedGPU", + "KSamplerGPU" + ], + { + "title_aux": "KSampler GPU" + } ], "https://github.com/daxthin/facedetailer": [ - "DZ_Face_Detailer" + [ + "DZ_Face_Detailer" + ], + { + "title_aux": "facedetailer" + } ], "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": [ - "PixelArtDetectorConverter", - "PixelArtDetectorSave", - "PixelArtDetectorToImage", - "PixelArtLoadPalettes" + [ + "PixelArtDetectorConverter", + "PixelArtDetectorSave", + "PixelArtDetectorToImage", + "PixelArtLoadPalettes" + ], + { + "title_aux": "ComfyUI PixelArt Detector" + } ], "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": [ - "Add Text To Image", - "Apply Instagram Filter", - "Create Solid Color", - "Flatten Colors", - "Generate Noise Image", - "GlitchThis Effect", - "Hue Rotation", - "Load Picture Index", - "Pixel Sort", - "Play Sound At Execution", - "Prettify Prompt Using distilgpt2", - "Swap Color Mode" + [ + "Add Text To Image", + "Apply Instagram Filter", + "Create Solid Color", + "Flatten Colors", + "Generate Noise Image", + "GlitchThis Effect", + "Hue Rotation", + "Load Picture Index", + "Pixel Sort", + "Play Sound At Execution", + "Prettify Prompt Using distilgpt2", + "Swap Color Mode" + ], + { + "title_aux": "ComfyUI-Vextra-Nodes" + } ], "https://github.com/evanspearman/ComfyMath": [ - "CM_BoolBinaryOperation", - "CM_BoolToInt", - "CM_BoolUnaryOperation", - "CM_BreakoutVec2", - "CM_BreakoutVec3", - "CM_BreakoutVec4", - "CM_ComposeVec2", - "CM_ComposeVec3", - "CM_ComposeVec4", - "CM_FloatBinaryCondition", - "CM_FloatBinaryOperation", - "CM_FloatToInt", - "CM_FloatToNumber", - "CM_FloatUnaryCondition", - "CM_FloatUnaryOperation", - "CM_IntBinaryCondition", - "CM_IntBinaryOperation", - "CM_IntToBool", - "CM_IntToFloat", - "CM_IntToNumber", - "CM_IntUnaryCondition", - "CM_IntUnaryOperation", - "CM_NumberBinaryCondition", - "CM_NumberBinaryOperation", - "CM_NumberToFloat", - "CM_NumberToInt", - "CM_NumberUnaryCondition", - "CM_NumberUnaryOperation", - "CM_Vec2BinaryCondition", - "CM_Vec2BinaryOperation", - "CM_Vec2ScalarOperation", - "CM_Vec2ToScalarBinaryOperation", - "CM_Vec2ToScalarUnaryOperation", - "CM_Vec2UnaryCondition", - "CM_Vec2UnaryOperation", - "CM_Vec3BinaryCondition", - "CM_Vec3BinaryOperation", - "CM_Vec3ScalarOperation", - "CM_Vec3ToScalarBinaryOperation", - "CM_Vec3ToScalarUnaryOperation", - "CM_Vec3UnaryCondition", - "CM_Vec3UnaryOperation", - "CM_Vec4BinaryCondition", - "CM_Vec4BinaryOperation", - "CM_Vec4ScalarOperation", - "CM_Vec4ToScalarBinaryOperation", - "CM_Vec4ToScalarUnaryOperation", - "CM_Vec4UnaryCondition", - "CM_Vec4UnaryOperation" + [ + "CM_BoolBinaryOperation", + "CM_BoolToInt", + "CM_BoolUnaryOperation", + "CM_BreakoutVec2", + "CM_BreakoutVec3", + "CM_BreakoutVec4", + "CM_ComposeVec2", + "CM_ComposeVec3", + "CM_ComposeVec4", + "CM_FloatBinaryCondition", + "CM_FloatBinaryOperation", + "CM_FloatToInt", + "CM_FloatToNumber", + "CM_FloatUnaryCondition", + "CM_FloatUnaryOperation", + "CM_IntBinaryCondition", + "CM_IntBinaryOperation", + "CM_IntToBool", + "CM_IntToFloat", + "CM_IntToNumber", + "CM_IntUnaryCondition", + "CM_IntUnaryOperation", + "CM_NumberBinaryCondition", + "CM_NumberBinaryOperation", + "CM_NumberToFloat", + "CM_NumberToInt", + "CM_NumberUnaryCondition", + "CM_NumberUnaryOperation", + "CM_Vec2BinaryCondition", + "CM_Vec2BinaryOperation", + "CM_Vec2ScalarOperation", + "CM_Vec2ToScalarBinaryOperation", + "CM_Vec2ToScalarUnaryOperation", + "CM_Vec2UnaryCondition", + "CM_Vec2UnaryOperation", + "CM_Vec3BinaryCondition", + "CM_Vec3BinaryOperation", + "CM_Vec3ScalarOperation", + "CM_Vec3ToScalarBinaryOperation", + "CM_Vec3ToScalarUnaryOperation", + "CM_Vec3UnaryCondition", + "CM_Vec3UnaryOperation", + "CM_Vec4BinaryCondition", + "CM_Vec4BinaryOperation", + "CM_Vec4ScalarOperation", + "CM_Vec4ToScalarBinaryOperation", + "CM_Vec4ToScalarUnaryOperation", + "CM_Vec4UnaryCondition", + "CM_Vec4UnaryOperation" + ], + { + "title_aux": "ComfyMath" + } ], "https://github.com/filipemeneses/comfy_pixelization": [ - "Pixelization" + [ + "Pixelization" + ], + { + "title_aux": "Pixelization" + } ], "https://github.com/fitCorder/fcSuite/raw/main/fcSuite.py": [ - "fcFloat", - "fcFloatMatic", - "fcInteger" + [ + "fcFloat", + "fcFloatMatic", + "fcInteger" + ], + { + "title_aux": "fcSuite" + } ], "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": [ - "BatchIndex_AS", - "ImageMixMasked_As", - "ImageToMask_AS", - "Increment_AS", - "Int2Any_AS", - "LatentAdd_AS", - "LatentMixMasked_As", - "LatentMix_AS", - "LatentToImages_AS", - "LoadLatent_AS", - "MapRange_AS", - "MaskToImage_AS", - "Math_AS", - "Number2Float_AS", - "Number2Int_AS", - "Number_AS", - "SaveLatent_AS", - "TextToImage_AS" + [ + "BatchIndex_AS", + "ImageMixMasked_As", + "ImageToMask_AS", + "Increment_AS", + "Int2Any_AS", + "LatentAdd_AS", + "LatentMixMasked_As", + "LatentMix_AS", + "LatentToImages_AS", + "LoadLatent_AS", + "MapRange_AS", + "MaskToImage_AS", + "Math_AS", + "Number2Float_AS", + "Number2Int_AS", + "Number_AS", + "SaveLatent_AS", + "TextToImage_AS" + ], + { + "title_aux": "As_ComfyUI_CustomNodes" + } ], "https://github.com/gamert/ComfyUI_tagger": [ - "CLIPTextEncodeTaggerDD", - "ImageTaggerDD", - "LoadImage_Tagger", - "PromptDD" + [ + "CLIPTextEncodeTaggerDD", + "ImageTaggerDD", + "LoadImage_Tagger", + "PromptDD" + ], + { + "title_aux": "ComfyUI_tagger" + } ], "https://github.com/guoyk93/yk-node-suite-comfyui": [ - "YKImagePadForOutpaint", - "YKMaskToImage" + [ + "YKImagePadForOutpaint", + "YKMaskToImage" + ], + { + "title_aux": "y.k.'s ComfyUI node suite" + } ], "https://github.com/hnmr293/ComfyUI-nodes-hnmr": [ - "CLIPIter", - "Dict2Model", - "GridImage", - "ImageBlend2", - "KSamplerOverrided", - "KSamplerSetting", - "KSamplerXYZ", - "LatentToHist", - "LatentToImage", - "ModelIter", - "RandomLatentImage", - "SaveStateDict", - "SaveText", - "StateDictLoader", - "StateDictMerger", - "StateDictMergerBlockWeighted", - "StateDictMergerBlockWeightedMulti", - "VAEDecodeBatched", - "VAEEncodeBatched", - "VAEIter" + [ + "CLIPIter", + "Dict2Model", + "GridImage", + "ImageBlend2", + "KSamplerOverrided", + "KSamplerSetting", + "KSamplerXYZ", + "LatentToHist", + "LatentToImage", + "ModelIter", + "RandomLatentImage", + "SaveStateDict", + "SaveText", + "StateDictLoader", + "StateDictMerger", + "StateDictMergerBlockWeighted", + "StateDictMergerBlockWeightedMulti", + "VAEDecodeBatched", + "VAEEncodeBatched", + "VAEIter" + ], + { + "title_aux": "ComfyUI-nodes-hnmr" + } + ], + "https://github.com/hustille/ComfyUI_hus_utils": [ + [ + "3way Prompt Styler", + "Batch State", + "Date Time Format", + "Debug Extra", + "Fetch widget value", + "Text Hash" + ], + { + "title_aux": "hus' utils for ComfyUI" + } ], "https://github.com/hylarucoder/ComfyUI-Eagle-PNGInfo": [ - "EagleImageNode" + [ + "EagleImageNode" + ], + { + "title_aux": "Eagle PNGInfo" + } ], "https://github.com/imb101/ComfyUI-FaceSwap": [ - "FaceSwapNode" + [ + "FaceSwapNode" + ], + { + "title_aux": "FaceSwap" + } ], "https://github.com/kwaroran/abg-comfyui": [ - "Remove Image Background (abg)" + [ + "Remove Image Background (abg)" + ], + { + "title_aux": "abg-comfyui" + } ], "https://github.com/lilly1987/ComfyUI_node_Lilly": [ - "CheckpointLoaderSimpleText", - "LoraLoaderText", - "LoraLoaderTextRandom", - "Random_Sampler", - "VAELoaderDecode" + [ + "CheckpointLoaderSimpleText", + "LoraLoaderText", + "LoraLoaderTextRandom", + "Random_Sampler", + "VAELoaderDecode" + ], + { + "title_aux": "simple wildcard for ComfyUI" + } ], "https://github.com/lordgasmic/ComfyUI-Wildcards/raw/master/wildcards.py": [ - "CLIPTextEncodeWithWildcards" + [ + "CLIPTextEncodeWithWildcards" + ], + { + "title_aux": "Wildcards" + } ], "https://github.com/lrzjason/ComfyUIJasonNode/raw/main/SDXLMixSampler.py": [ - "SDXLMixSampler" + [ + "SDXLMixSampler" + ], + { + "title_aux": "ComfyUIJasonNode" + } ], "https://github.com/ltdrdata/ComfyUI-Impact-Pack": [ - "AddMask", - "BasicPipeToDetailerPipe", - "BboxDetectorCombined", - "BboxDetectorCombined_v2", - "BboxDetectorForEach", - "BboxDetectorSEGS", - "BitwiseAndMask", - "BitwiseAndMaskForEach", - "CLIPSegDetectorProvider", - "CfgScheduleHookProvider", - "CombineRegionalPrompts", - "DenoiseScheduleHookProvider", - "DetailerForEach", - "DetailerForEachDebug", - "DetailerForEachDebugPipe", - "DetailerForEachPipe", - "DetailerPipeToBasicPipe", - "EditBasicPipe", - "EditDetailerPipe", - "EmptySegs", - "FaceDetailer", - "FaceDetailerPipe", - "FromBasicPipe", - "FromBasicPipe_v2", - "FromDetailerPipe", - "FromDetailerPipe_v2", - "ImageMaskSwitch", - "ImageReceiver", - "ImageSender", - "ImpactCompare", - "ImpactConditionalBranch", - "ImpactConditionalStopIteration", - "ImpactFloat", - "ImpactImageBatchToImageList", - "ImpactImageInfo", - "ImpactInt", - "ImpactKSamplerAdvancedBasicPipe", - "ImpactKSamplerBasicPipe", - "ImpactLogger", - "ImpactMakeImageList", - "ImpactMinMax", - "ImpactNeg", - "ImpactSEGSConcat", - "ImpactSEGSLabelFilter", - "ImpactSEGSOrderedFilter", - "ImpactSEGSRangeFilter", - "ImpactSEGSToMaskList", - "ImpactSimpleDetectorSEGS", - "ImpactSimpleDetectorSEGSPipe", - "ImpactStringSelector", - "ImpactValueReceiver", - "ImpactValueSender", - "ImpactWildcardEncode", - "ImpactWildcardProcessor", - "IterativeImageUpscale", - "IterativeLatentUpscale", - "KSamplerAdvancedProvider", - "KSamplerProvider", - "LatentPixelScale", - "LatentReceiver", - "LatentSender", - "LatentSwitch", - "LoadConditioning", - "MMDetDetectorProvider", - "MMDetLoader", - "MaskPainter", - "MaskToSEGS", - "MasksToMaskList", - "ONNXDetectorProvider", - "ONNXDetectorSEGS", - "PixelKSampleHookCombine", - "PixelKSampleUpscalerProvider", - "PixelKSampleUpscalerProviderPipe", - "PixelTiledKSampleUpscalerProvider", - "PixelTiledKSampleUpscalerProviderPipe", - "PreviewBridge", - "ReencodeLatent", - "ReencodeLatentPipe", - "RegionalPrompt", - "RegionalSampler", - "SAMDetectorCombined", - "SAMDetectorSegmented", - "SAMLoader", - "SEGEdit", - "SEGPick", - "SEGSDetailer", - "SEGSPaste", - "SEGSPreview", - "SEGSSwitch", - "SEGSToImageList", - "SaveConditioning", - "SegmDetectorCombined", - "SegmDetectorCombined_v2", - "SegmDetectorForEach", - "SegmDetectorSEGS", - "Segs & Mask", - "Segs & Mask ForEach", - "SegsMaskCombine", - "SegsToCombinedMask", - "SubtractMask", - "SubtractMaskForEach", - "TiledKSamplerProvider", - "ToBasicPipe", - "ToBinaryMask", - "ToDetailerPipe", - "TwoAdvancedSamplersForMask", - "TwoSamplersForMask", - "TwoSamplersForMaskUpscalerProvider", - "TwoSamplersForMaskUpscalerProviderPipe", - "UltralyticsDetectorProvider" + [ + "AddMask", + "BasicPipeToDetailerPipe", + "BboxDetectorCombined", + "BboxDetectorCombined_v2", + "BboxDetectorForEach", + "BboxDetectorSEGS", + "BitwiseAndMask", + "BitwiseAndMaskForEach", + "CLIPSegDetectorProvider", + "CfgScheduleHookProvider", + "CombineRegionalPrompts", + "DenoiseScheduleHookProvider", + "DetailerForEach", + "DetailerForEachDebug", + "DetailerForEachDebugPipe", + "DetailerForEachPipe", + "DetailerPipeToBasicPipe", + "EditBasicPipe", + "EditDetailerPipe", + "EmptySegs", + "FaceDetailer", + "FaceDetailerPipe", + "FromBasicPipe", + "FromBasicPipe_v2", + "FromDetailerPipe", + "FromDetailerPipe_v2", + "ImageMaskSwitch", + "ImageReceiver", + "ImageSender", + "ImpactCompare", + "ImpactConditionalBranch", + "ImpactConditionalStopIteration", + "ImpactDummyInput", + "ImpactFloat", + "ImpactImageBatchToImageList", + "ImpactImageInfo", + "ImpactInt", + "ImpactKSamplerAdvancedBasicPipe", + "ImpactKSamplerBasicPipe", + "ImpactLogger", + "ImpactMakeImageList", + "ImpactMinMax", + "ImpactNeg", + "ImpactSEGSConcat", + "ImpactSEGSLabelFilter", + "ImpactSEGSOrderedFilter", + "ImpactSEGSRangeFilter", + "ImpactSEGSToMaskList", + "ImpactSimpleDetectorSEGS", + "ImpactSimpleDetectorSEGSPipe", + "ImpactStringSelector", + "ImpactValueReceiver", + "ImpactValueSender", + "ImpactWildcardEncode", + "ImpactWildcardProcessor", + "IterativeImageUpscale", + "IterativeLatentUpscale", + "KSamplerAdvancedProvider", + "KSamplerProvider", + "LatentPixelScale", + "LatentReceiver", + "LatentSender", + "LatentSwitch", + "LoadConditioning", + "MMDetDetectorProvider", + "MMDetLoader", + "MaskPainter", + "MaskToSEGS", + "MasksToMaskList", + "ONNXDetectorProvider", + "ONNXDetectorSEGS", + "PixelKSampleHookCombine", + "PixelKSampleUpscalerProvider", + "PixelKSampleUpscalerProviderPipe", + "PixelTiledKSampleUpscalerProvider", + "PixelTiledKSampleUpscalerProviderPipe", + "PreviewBridge", + "ReencodeLatent", + "ReencodeLatentPipe", + "RegionalPrompt", + "RegionalSampler", + "SAMDetectorCombined", + "SAMDetectorSegmented", + "SAMLoader", + "SEGEdit", + "SEGPick", + "SEGSDetailer", + "SEGSPaste", + "SEGSPreview", + "SEGSSwitch", + "SEGSToImageList", + "SaveConditioning", + "SegmDetectorCombined", + "SegmDetectorCombined_v2", + "SegmDetectorForEach", + "SegmDetectorSEGS", + "Segs & Mask", + "Segs & Mask ForEach", + "SegsMaskCombine", + "SegsToCombinedMask", + "SubtractMask", + "SubtractMaskForEach", + "TiledKSamplerProvider", + "ToBasicPipe", + "ToBinaryMask", + "ToDetailerPipe", + "TwoAdvancedSamplersForMask", + "TwoSamplersForMask", + "TwoSamplersForMaskUpscalerProvider", + "TwoSamplersForMaskUpscalerProviderPipe", + "UltralyticsDetectorProvider" + ], + { + "author": "Dr.Lt.Data", + "description": "This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.", + "nickname": "Impact Pack", + "title": "Impact Pack", + "title_aux": "ComfyUI Impact Pack" + } ], "https://github.com/ltdrdata/ComfyUI-tomeSD-installer": [ - "CheckpointTomeLoader", - "TestNode" + [ + "CheckpointTomeLoader", + "TestNode" + ], + { + "title_aux": "CheckpointTomeLoader" + } ], "https://github.com/m957ymj75urz/ComfyUI-Custom-Nodes/raw/main/clip-text-encode-split/clip_text_encode_split.py": [ - "RawText", - "RawTextCombine", - "RawTextEncode", - "RawTextReplace" + [ + "RawText", + "RawTextCombine", + "RawTextEncode", + "RawTextReplace" + ], + { + "title_aux": "m957ymj75urz/ComfyUI-Custom-Nodes" + } ], "https://github.com/melMass/comfy_mtb": [ - "Animation Builder (mtb)", - "Any To String (mtb)", - "Bbox (mtb)", - "Bbox From Mask (mtb)", - "Blur (mtb)", - "Color Correct (mtb)", - "Colored Image (mtb)", - "Concat Images (mtb)", - "Crop (mtb)", - "Debug (mtb)", - "Deep Bump (mtb)", - "Export With Ffmpeg (mtb)", - "Face Swap (mtb)", - "Film Interpolation (mtb)", - "Fit Number (mtb)", - "Float To Number (mtb)", - "Get Batch From History (mtb)", - "Image Compare (mtb)", - "Image Premultiply (mtb)", - "Image Remove Background Rembg (mtb)", - "Image Resize Factor (mtb)", - "Int To Bool (mtb)", - "Int To Number (mtb)", - "Latent Lerp (mtb)", - "Load Face Analysis Model (mtb)", - "Load Face Enhance Model (mtb)", - "Load Face Swap Model (mtb)", - "Load Film Model (mtb)", - "Load Image From Url (mtb)", - "Load Image Sequence (mtb)", - "Mask To Image (mtb)", - "Qr Code (mtb)", - "Restore Face (mtb)", - "Save Gif (mtb)", - "Save Image Grid (mtb)", - "Save Image Sequence (mtb)", - "Save Tensors (mtb)", - "Smart Step (mtb)", - "String Replace (mtb)", - "Styles Loader (mtb)", - "Text To Image (mtb)", - "Transform Image (mtb)", - "Uncrop (mtb)", - "Unsplash Image (mtb)" + [ + "Animation Builder (mtb)", + "Any To String (mtb)", + "Bbox (mtb)", + "Bbox From Mask (mtb)", + "Blur (mtb)", + "Color Correct (mtb)", + "Colored Image (mtb)", + "Concat Images (mtb)", + "Crop (mtb)", + "Debug (mtb)", + "Deep Bump (mtb)", + "Export With Ffmpeg (mtb)", + "Face Swap (mtb)", + "Film Interpolation (mtb)", + "Fit Number (mtb)", + "Float To Number (mtb)", + "Get Batch From History (mtb)", + "Image Compare (mtb)", + "Image Premultiply (mtb)", + "Image Remove Background Rembg (mtb)", + "Image Resize Factor (mtb)", + "Int To Bool (mtb)", + "Int To Number (mtb)", + "Latent Lerp (mtb)", + "Load Face Analysis Model (mtb)", + "Load Face Enhance Model (mtb)", + "Load Face Swap Model (mtb)", + "Load Film Model (mtb)", + "Load Image From Url (mtb)", + "Load Image Sequence (mtb)", + "Mask To Image (mtb)", + "Qr Code (mtb)", + "Restore Face (mtb)", + "Save Gif (mtb)", + "Save Image Grid (mtb)", + "Save Image Sequence (mtb)", + "Save Tensors (mtb)", + "Smart Step (mtb)", + "String Replace (mtb)", + "Styles Loader (mtb)", + "Text To Image (mtb)", + "Transform Image (mtb)", + "Uncrop (mtb)", + "Unsplash Image (mtb)" + ], + { + "title_aux": "MTB Nodes" + } ], "https://github.com/mihaiiancu/ComfyUI_Inpaint": [ - "InpaintMediapipe" + [ + "InpaintMediapipe" + ], + { + "title_aux": "mihaiiancu/Inpaint" + } ], "https://github.com/mpiquero7164/ComfyUI-SaveImgPrompt": [ - "Save IMG Prompt" + [ + "Save IMG Prompt" + ], + { + "title_aux": "SaveImgPrompt" + } ], "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": [ - "CLIPStringEncode _O", - "Chat completion _O", - "ChatGPT Simple _O", - "ChatGPT _O", - "ChatGPT compact _O", - "Chat_Completion _O", - "Chat_Message _O", - "Chat_Message_fromString _O", - "Concat Text _O", - "ConcatRandomNSP_O", - "Debug String _O", - "Debug Text _O", - "Debug Text route _O", - "Edit_image _O", - "Equation1param _O", - "Equation2params _O", - "GetImage_(Width&Height) _O", - "GetLatent_(Width&Height) _O", - "ImageScaleFactor _O", - "ImageScaleFactorSimple _O", - "LatentUpscaleFactor _O", - "LatentUpscaleFactorSimple _O", - "LatentUpscaleMultiply", - "Note _O", - "RandomNSP _O", - "Replace Text _O", - "String _O", - "Text _O", - "Text2Image _O", - "Trim Text _O", - "VAEDecodeParallel _O", - "combine_chat_messages _O", - "compine_chat_messages _O", - "concat Strings _O", - "create image _O", - "create_image _O", - "debug Completeion _O", - "debug messages_O", - "float _O", - "floatToInt _O", - "floatToText _O", - "int _O", - "intToFloat _O", - "load_openAI _O", - "replace String _O", - "replace String advanced _O", - "saveTextToFile _O", - "seed _O", - "selectLatentFromBatch _O", - "string2Image _O", - "trim String _O", - "variation_image _O" + [ + "CLIPStringEncode _O", + "Chat completion _O", + "ChatGPT Simple _O", + "ChatGPT _O", + "ChatGPT compact _O", + "Chat_Completion _O", + "Chat_Message _O", + "Chat_Message_fromString _O", + "Concat Text _O", + "ConcatRandomNSP_O", + "Debug String _O", + "Debug Text _O", + "Debug Text route _O", + "Edit_image _O", + "Equation1param _O", + "Equation2params _O", + "GetImage_(Width&Height) _O", + "GetLatent_(Width&Height) _O", + "ImageScaleFactor _O", + "ImageScaleFactorSimple _O", + "LatentUpscaleFactor _O", + "LatentUpscaleFactorSimple _O", + "LatentUpscaleMultiply", + "Note _O", + "RandomNSP _O", + "Replace Text _O", + "String _O", + "Text _O", + "Text2Image _O", + "Trim Text _O", + "VAEDecodeParallel _O", + "combine_chat_messages _O", + "compine_chat_messages _O", + "concat Strings _O", + "create image _O", + "create_image _O", + "debug Completeion _O", + "debug messages_O", + "float _O", + "floatToInt _O", + "floatToText _O", + "int _O", + "intToFloat _O", + "load_openAI _O", + "replace String _O", + "replace String advanced _O", + "saveTextToFile _O", + "seed _O", + "selectLatentFromBatch _O", + "string2Image _O", + "trim String _O", + "variation_image _O" + ], + { + "title_aux": "Quality of life Suit:V2" + } ], "https://github.com/pants007/comfy-pants": [ - "CLIPTextEncodeAIO", - "Image Make Square" + [ + "CLIPTextEncodeAIO", + "Image Make Square" + ], + { + "title_aux": "pants" + } ], "https://github.com/paulo-coronado/comfy_clip_blip_node": [ - "CLIPTextEncodeBLIP", - "CLIPTextEncodeBLIP-2", - "Example" + [ + "CLIPTextEncodeBLIP", + "CLIPTextEncodeBLIP-2", + "Example" + ], + { + "title_aux": "comfy_clip_blip_node" + } ], "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": [ - "CheckpointLoader|pysssss", - "ConstrainImage|pysssss", - "LoraLoader|pysssss", - "MathExpression|pysssss", - "MultiPrimitive|pysssss", - "PlaySound|pysssss", - "ReroutePrimitive|pysssss", - "ShowText|pysssss", - "StringFunction|pysssss" + [ + "CheckpointLoader|pysssss", + "ConstrainImage|pysssss", + "LoraLoader|pysssss", + "MathExpression|pysssss", + "MultiPrimitive|pysssss", + "PlaySound|pysssss", + "ReroutePrimitive|pysssss", + "ShowText|pysssss", + "StringFunction|pysssss" + ], + { + "title_aux": "pythongosssss/ComfyUI-Custom-Scripts" + } ], "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": [ - "WD14Tagger|pysssss" + [ + "WD14Tagger|pysssss" + ], + { + "title_aux": "ComfyUI WD 1.4 Tagger" + } ], "https://github.com/s1dlx/comfy_meh/raw/main/meh.py": [ - "MergingExecutionHelper" + [ + "MergingExecutionHelper" + ], + { + "title_aux": "comfy_meh" + } ], "https://github.com/shiimizu/ComfyUI_smZNodes": [ - "smZ CLIPTextEncode" + [ + "smZ CLIPTextEncode" + ], + { + "title_aux": "smZNodes" + } ], "https://github.com/shockz0rz/ComfyUI_InterpolateEverything": [ - "OpenposePreprocessorInterpolate" + [ + "OpenposePreprocessorInterpolate" + ], + { + "title_aux": "InterpolateEverything" + } ], "https://github.com/sipherxyz/comfyui-art-venture": [ - "AV_CheckpointModelsToParametersPipe", - "AV_ParametersPipeToCheckpointModels", - "AV_ParametersPipeToPrompts", - "AV_PromptsToParametersPipe", - "AV_UploadImage", - "LoadImageFromUrl" + [ + "AV_CheckpointModelsToParametersPipe", + "AV_ParametersPipeToCheckpointModels", + "AV_ParametersPipeToPrompts", + "AV_PromptsToParametersPipe", + "AV_UploadImage", + "ImageMuxer", + "LoadImageFromUrl", + "StringToInt" + ], + { + "title_aux": "comfyui-art-venture" + } ], "https://github.com/space-nuko/ComfyUI-Disco-Diffusion": [ - "DiscoDiffusion_DiscoDiffusion", - "DiscoDiffusion_DiscoDiffusionExtraSettings", - "DiscoDiffusion_GuidedDiffusionLoader", - "DiscoDiffusion_OpenAICLIPLoader" + [ + "DiscoDiffusion_DiscoDiffusion", + "DiscoDiffusion_DiscoDiffusionExtraSettings", + "DiscoDiffusion_GuidedDiffusionLoader", + "DiscoDiffusion_OpenAICLIPLoader" + ], + { + "title_aux": "Disco Diffusion" + } ], "https://github.com/space-nuko/ComfyUI-OpenPose-Editor": [ - "Nui.OpenPoseEditor" + [ + "Nui.OpenPoseEditor" + ], + { + "title_aux": "OpenPose Editor" + } ], "https://github.com/space-nuko/nui-suite": [ - "Nui.DynamicPromptsTextGen", - "Nui.FeelingLuckyTextGen", - "Nui.OutputString" + [ + "Nui.DynamicPromptsTextGen", + "Nui.FeelingLuckyTextGen", + "Nui.OutputString" + ], + { + "title_aux": "nui suite" + } ], "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": [ - "UltimateSDUpscale", - "UltimateSDUpscaleNoUpscale" + [ + "UltimateSDUpscale", + "UltimateSDUpscaleNoUpscale" + ], + { + "title_aux": "UltimateSDUpscale" + } ], "https://github.com/ssitu/ComfyUI_restart_sampling": [ - "KRestartSampler", - "KRestartSamplerSimple" + [ + "KRestartSampler", + "KRestartSamplerSimple" + ], + { + "title_aux": "Restart Sampling" + } ], "https://github.com/ssitu/ComfyUI_roop": [ - "roop" + [ + "roop" + ], + { + "title_aux": "ComfyUI roop" + } ], "https://github.com/strimmlarn/ComfyUI_Strimmlarns_aesthetic_score": [ - "AesthetlcScoreSorter", - "CalculateAestheticScore", - "LoadAesteticModel", - "ScoreToNumber" + [ + "AesthetlcScoreSorter", + "CalculateAestheticScore", + "LoadAesteticModel", + "ScoreToNumber" + ], + { + "title_aux": "ComfyUI_Strimmlarns_aesthetic_score" + } ], "https://github.com/sylym/comfy_vid2vid": [ - "CheckpointLoaderSimpleSequence", - "DdimInversionSequence", - "KSamplerSequence", - "LoadImageMaskSequence", - "LoadImageSequence", - "LoraLoaderSequence", - "SetLatentNoiseSequence", - "TrainUnetSequence", - "VAEEncodeForInpaintSequence" + [ + "CheckpointLoaderSimpleSequence", + "DdimInversionSequence", + "KSamplerSequence", + "LoadImageMaskSequence", + "LoadImageSequence", + "LoraLoaderSequence", + "SetLatentNoiseSequence", + "TrainUnetSequence", + "VAEEncodeForInpaintSequence" + ], + { + "title_aux": "Vid2vid" + } ], "https://github.com/szhublox/ambw_comfyui": [ - "Auto Merge Block Weighted" + [ + "Auto Merge Block Weighted" + ], + { + "title_aux": "Auto-MBW" + } ], "https://github.com/taabata/Comfy_Syrian_Falcon_Nodes/raw/main/SyrianFalconNodes.py": [ - "CompositeImage", - "KSamplerAlternate", - "KSamplerPromptEdit", - "KSamplerPromptEditAndAlternate", - "LoopBack", - "QRGenerate", - "WordAsImage" + [ + "CompositeImage", + "KSamplerAlternate", + "KSamplerPromptEdit", + "KSamplerPromptEditAndAlternate", + "LoopBack", + "QRGenerate", + "WordAsImage" + ], + { + "title_aux": "Syrian Falcon Nodes" + } ], "https://github.com/theUpsider/ComfyUI-Logic": [ - "Compare", - "DebugPrint", - "If ANY execute A else B", - "Int", - "String" + [ + "Compare", + "DebugPrint", + "If ANY execute A else B", + "Int", + "String" + ], + { + "title_aux": "ComfyUI-Logic" + } ], "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": [ - "Load Styles CSV" + [ + "Load Styles CSV" + ], + { + "title_aux": "Styles CSV Loader Extension for ComfyUI" + } ], "https://github.com/tkoenig89/ComfyUI_Load_Image_With_Metadata": [ - "LoadImageWithMetadata" + [ + "LoadImageWithMetadata" + ], + { + "title_aux": "Load Image with metadata" + } ], "https://github.com/trojblue/trNodes": [ - "JpgConvertNode", - "trColorCorrection", - "trLayering", - "trRouter", - "trRouterLonger" + [ + "JpgConvertNode", + "trColorCorrection", + "trLayering", + "trRouter", + "trRouterLonger" + ], + { + "title_aux": "trNodes" + } ], "https://github.com/tudal/Hakkun-ComfyUI-nodes/raw/main/hakkun_nodes.py": [ - "Any Converter", - "Calculate Upscale", - "Image size to string", - "Multi Text Merge", - "Prompt Parser", - "Random Line", - "Random Line 4" + [ + "Any Converter", + "Calculate Upscale", + "Image size to string", + "Multi Text Merge", + "Prompt Parser", + "Random Line", + "Random Line 4" + ], + { + "title_aux": "Hakkun-ComfyUI-nodes" + } ], "https://github.com/twri/sdxl_prompt_styler": [ - "SDXLPromptStyler" + [ + "SDXLPromptStyler" + ], + { + "title_aux": "SDXL Prompt Styler" + } ], "https://github.com/uarefans/ComfyUI-Fans": [ - "Fans Prompt Styler Negative", - "Fans Prompt Styler Positive", - "Fans Styler", - "Fans Text Concatenate" + [ + "Fans Prompt Styler Negative", + "Fans Prompt Styler Positive", + "Fans Styler", + "Fans Text Concatenate" + ], + { + "title_aux": "ComfyUI-Fans" + } ], "https://github.com/wallish77/wlsh_nodes": [ - "Alternating KSampler (WLSH)", - "Build Filename String (WLSH)", - "CLIP Positive-Negative (WLSH)", - "CLIP Positive-Negative w/Text (WLSH)", - "Checkpoint Loader w/Name (WLSH)", - "Empty Latent by Ratio (WLSH)", - "Generate Edge Mask (WLSH)", - "Generate Face Mask (WLSH)", - "Image Save with Prompt Data (WLSH)", - "Image Save with Prompt File (WLSH)", - "Image Scale By Factor (WLSH)", - "KSamplerAdvanced (WLSH)", - "Multiply Integer (WLSH)", - "Outpaint to Image (WLSH)", - "Resolutions by Ratio (WLSH)", - "SDXL Quick Empty Latent (WLSH)", - "SDXL Quick Image Scale (WLSH)", - "SDXL Resolutions (WLSH)", - "SDXL Steps (WLSH)", - "Save Positive Prompt File (WLSH)", - "Save Prompt Info (WLSH)", - "Seed and Int (WLSH)", - "Seed to Number (WLSH)", - "Time String (WLSH)", - "Upscale by Factor with Model (WLSH)", - "VAE Encode for Inpaint Padding (WLSH)" + [ + "Alternating KSampler (WLSH)", + "Build Filename String (WLSH)", + "CLIP Positive-Negative (WLSH)", + "CLIP Positive-Negative w/Text (WLSH)", + "Checkpoint Loader w/Name (WLSH)", + "Empty Latent by Ratio (WLSH)", + "Generate Edge Mask (WLSH)", + "Generate Face Mask (WLSH)", + "Image Save with Prompt Data (WLSH)", + "Image Save with Prompt File (WLSH)", + "Image Scale By Factor (WLSH)", + "KSamplerAdvanced (WLSH)", + "Multiply Integer (WLSH)", + "Outpaint to Image (WLSH)", + "Resolutions by Ratio (WLSH)", + "SDXL Quick Empty Latent (WLSH)", + "SDXL Quick Image Scale (WLSH)", + "SDXL Resolutions (WLSH)", + "SDXL Steps (WLSH)", + "Save Positive Prompt File (WLSH)", + "Save Prompt Info (WLSH)", + "Seed and Int (WLSH)", + "Seed to Number (WLSH)", + "Time String (WLSH)", + "Upscale by Factor with Model (WLSH)", + "VAE Encode for Inpaint Padding (WLSH)" + ], + { + "title_aux": "wlsh_nodes" + } ], "https://github.com/wsippel/comfyui_ws/raw/main/sdxl_utility.py": [ - "SDXLResolutionPresets" + [ + "SDXLResolutionPresets" + ], + { + "title_aux": "SDXLResolutionPresets" + } ], "https://github.com/xXAdonesXx/NodeGPT/raw/main/Textnode.py": [ - "CombineInput", - "CostumeAgent_1", - "CostumeAgent_2", - "CostumeMaster_1", - "Image_generation_Conditioning", - "Memory_Excel", - "Model_1", - "TextCombine", - "TextGenerator", - "TextInput", - "TextOutput" + [ + "CombineInput", + "CostumeAgent_1", + "CostumeAgent_2", + "CostumeMaster_1", + "Image_generation_Conditioning", + "Memory_Excel", + "Model_1", + "TextCombine", + "TextGenerator", + "TextInput", + "TextOutput" + ], + { + "title_aux": "NodeGPT" + } ], "https://github.com/yolanother/DTAIComfyPromptAgent": [ - "DTPromptAgent", - "DTPromptAgentString" + [ + "DTPromptAgent", + "DTPromptAgentString" + ], + { + "title_aux": "DTAIComfyPromptAgent" + } ], "https://raw.githubusercontent.com/throttlekitty/SDXLCustomAspectRatio/main/SDXLAspectRatio.py": [ - "SDXLAspectRatio" + [ + "SDXLAspectRatio" + ], + { + "title_aux": "SDXLCustomAspectRatio" + } ] } \ No newline at end of file diff --git a/js/comfyui-manager.js b/js/comfyui-manager.js index c8fe8aeb..574ca24f 100644 --- a/js/comfyui-manager.js +++ b/js/comfyui-manager.js @@ -5,6 +5,15 @@ import {ComfyWidgets} from "../../scripts/widgets.js"; var update_comfyui_button = null; var fetch_updates_button = null; +var badge_mode = "none"; + +async function init_badge_mode() { + api.fetchApi('/manager/badge_mode') + .then(response => response.text()) + .then(data => { badge_mode = data; }) +} + +await init_badge_mode(); async function getCustomnodeMappings() { var mode = "url"; @@ -48,6 +57,32 @@ async function getCustomNodes() { return data; } +async function fetchNicknames() { + const response1 = await api.fetchApi(`/customnode/getmappings?mode=local`); + const mappings = await response1.json(); + + let result = {}; + + for(let i in mappings) { + let item = mappings[i]; + var nickname; + if(item[1].title) { + nickname = item[1].title; + } + else { + nickname = item[1].title_aux; + } + + for(let j in item[0]) { + result[item[0][j]] = nickname; + } + } + + return result; +} + +let nicknames = await fetchNicknames(); + async function getAlterList() { var mode = "url"; if(ManagerMenuDialog.instance.local_mode_checkbox.checked) @@ -89,7 +124,7 @@ async function install_custom_node(target, caller, mode) { app.ui.dialog.show(`${mode} failed: ${target.title}`); app.ui.dialog.element.style.zIndex = 9999; return false; - } + } const status = await response.json(); app.ui.dialog.close(); @@ -238,7 +273,7 @@ class CustomNodesInstaller extends ComfyDialog { startInstall(target) { const self = CustomNodesInstaller.instance; - + self.updateMessage(`
Installing '${target.title}'`); for(let i in self.install_buttons) { @@ -335,8 +370,8 @@ class CustomNodesInstaller extends ComfyDialog { this.element.removeChild(this.element.children[0]); } - const msg = $el('div', {id:'custom-message'}, - [$el('br'), + const msg = $el('div', {id:'custom-message'}, + [$el('br'), 'The custom node DB is currently being updated, and updates to custom nodes are being checked for.', $el('br'), 'NOTE: Update only checks for extensions that have been fetched.', @@ -1368,11 +1403,12 @@ class ManagerMenuDialog extends ComfyDialog { () => fetchUpdates(this.update_check_checkbox) }); + // preview method let preview_combo = document.createElement("select"); preview_combo.appendChild($el('option', {value:'auto', text:'Preview method: Auto'}, [])); - preview_combo.appendChild($el('option', {value:'taesd', text:'Preview method: TAESD'}, [])); - preview_combo.appendChild($el('option', {value:'latent2rgb', text:'Preview method: Latent2RGB'}, [])); - preview_combo.appendChild($el('option', {value:'none', text:'Preview method: None'}, [])); + preview_combo.appendChild($el('option', {value:'taesd', text:'Preview method: TAESD (slow)'}, [])); + preview_combo.appendChild($el('option', {value:'latent2rgb', text:'Preview method: Latent2RGB (fast)'}, [])); + preview_combo.appendChild($el('option', {value:'none', text:'Preview method: None (very fast)'}, [])); api.fetchApi('/manager/preview_method') .then(response => response.text()) @@ -1382,6 +1418,22 @@ class ManagerMenuDialog extends ComfyDialog { api.fetchApi(`/manager/preview_method?value=${event.target.value}`); }); + // nickname + let badge_combo = document.createElement("select"); + badge_combo.appendChild($el('option', {value:'none', text:'Badge: None'}, [])); + badge_combo.appendChild($el('option', {value:'nick', text:'Badge: Nickname'}, [])); + badge_combo.appendChild($el('option', {value:'id_nick', text:'Badge: #ID Nickname'}, [])); + + api.fetchApi('/manager/badge_mode') + .then(response => response.text()) + .then(data => { badge_combo.value = data; badge_mode = data; }) + + badge_combo.addEventListener('change', function(event) { + api.fetchApi(`/manager/badge_mode?value=${event.target.value}`); + badge_mode = event.target.value; + app.graph.setDirtyCanvas(true); + }); + const res = [ $el("tr.td", {width:"100%"}, [$el("font", {size:6, color:"white"}, [`ComfyUI Manager Menu`])]), @@ -1447,6 +1499,7 @@ class ManagerMenuDialog extends ComfyDialog { $el("br", {}, []), $el("hr", {width: "100%"}, []), preview_combo, + badge_combo, $el("hr", {width: "100%"}, []), $el("br", {}, []), @@ -1497,5 +1550,82 @@ app.registerExtension({ ManagerMenuDialog.instance.show(); } menu.append(managerButton); + }, + + async beforeRegisterNodeDef(nodeType, nodeData, app) { + if(nicknames[nodeData.name.trim()]) { + const onDrawForeground = nodeType.prototype.onDrawForeground; + nodeType.prototype.onDrawForeground = function (ctx) { + const r = onDrawForeground?.apply?.(this, arguments); + + if(badge_mode != 'none') { + let text = nicknames[nodeData.name.trim()]; + if(text.length > 18) { + text = text.substring(0,17)+".."; + } + + if(badge_mode == 'id_nick') + text = `#${this.id} ${text}`; + + let fgColor = "white"; + let bgColor = "#0F1F0F"; + let visible = true; + + ctx.save(); + ctx.font = "12px sans-serif"; + const sz = ctx.measureText(text); + ctx.fillStyle = bgColor; + ctx.beginPath(); + ctx.roundRect(this.size[0]-sz.width-12, -LiteGraph.NODE_TITLE_HEIGHT - 20, sz.width + 12, 20, 5); + ctx.fill(); + + ctx.fillStyle = fgColor; + ctx.fillText(text, this.size[0]-sz.width-6, -LiteGraph.NODE_TITLE_HEIGHT - 6); + ctx.restore(); + } + + return r; + }; + } + }, + + async loadedGraphNode(node, app) { + if(node.has_errors) { + if(nicknames[node.type.trim()]) { + const onDrawForeground = node.onDrawForeground; + node.onDrawForeground = function (ctx) { + const r = onDrawForeground?.apply?.(this, arguments); + + if(badge_mode != 'none') { + let text = nicknames[node.type.trim()]; + + if(text.length > 18) { + text = text.substring(0,17)+".."; + } + + if(badge_mode == 'id_nick') + text = `#${this.id} ${text}`; + + let fgColor = "white"; + let bgColor = "#0F1F0F"; + let visible = true; + + ctx.save(); + ctx.font = "12px sans-serif"; + const sz = ctx.measureText(text); + ctx.fillStyle = bgColor; + ctx.beginPath(); + ctx.roundRect(this.size[0]-sz.width-12, -LiteGraph.NODE_TITLE_HEIGHT - 20, sz.width + 12, 20, 5); + ctx.fill(); + + ctx.fillStyle = fgColor; + ctx.fillText(text, this.size[0]-sz.width-6, -LiteGraph.NODE_TITLE_HEIGHT - 6); + ctx.restore(); + } + + return r; + }; + } + } } }); diff --git a/misc/menu.jpg b/misc/menu.jpg index 797ca4fcc7f18a5e02dd807e1c26980098f23ddb..64c816e72241c2db8ceade7a0acaa5ee88721464 100644 GIT binary patch literal 53704 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 VkjK6D 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 Tb)4eJv=+=-E_yTmeg3}yrlUpN literal 50964 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 S3O&H~jPuz7uy$d89r$1KP2IF{ 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

6qs&2_LV5Z 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

    r#LBs_z6BT=Y%*7EVh7)ceXd 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

    (c4u!5*|@mFu{(E8N0-sD*0 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 literal 0 HcmV?d00001 diff --git a/scanner.py b/scanner.py index 0f844252..67b379d6 100644 --- a/scanner.py +++ b/scanner.py @@ -53,7 +53,15 @@ def scan_in_file(filename): class_dict[key.strip()] = value.strip() nodes.add(key.strip()) - return nodes + metadata = {} + lines = code.strip().split('\n') + for line in lines: + if line.startswith('@'): + if line.startswith("@author:") or line.startswith("@title:") or line.startswith("@nickname:") or line.startswith("@description:"): + key, value = line[1:].strip().split(':') + metadata[key.strip()] = value.strip() + + return nodes, metadata def get_py_file_paths(dirname): file_paths = [] @@ -98,7 +106,7 @@ def get_git_urls_from_json(json_file): if node.get('install_type') == 'git-clone': files = node.get('files', []) if files: - git_clone_files.append(files[0]) + git_clone_files.append((files[0],node.get('title'))) return git_clone_files @@ -113,7 +121,7 @@ def get_py_urls_from_json(json_file): if node.get('install_type') == 'copy': files = node.get('files', []) if files: - py_files.append(files[0]) + py_files.append((files[0],node.get('title'))) return py_files @@ -146,22 +154,22 @@ def update_custom_nodes(): node_info = {} - git_urls = get_git_urls_from_json('custom-node-list.json') + git_url_titles = get_git_urls_from_json('custom-node-list.json') - for url in git_urls: + for url, title in git_url_titles: name = os.path.basename(url) if name.endswith(".git"): name = name[:-4] - node_info[name] = url + node_info[name] = (url, title) clone_or_pull_git_repository(url) - py_urls = get_py_urls_from_json('custom-node-list.json') + py_url_titles = get_py_urls_from_json('custom-node-list.json') - for url in py_urls: + for url, title in py_url_titles: name = os.path.basename(url) if name.endswith(".py"): - node_info[name] = url + node_info[name] = (url, title) try: download_url(url, ".tmp") @@ -178,10 +186,13 @@ def gen_json(node_info): data = {} for dirname in node_dirs: py_files = get_py_file_paths(dirname) + metadata = {} nodes = set() for py in py_files: - nodes.update(scan_in_file(py)) + nodes_in_file, metadata_in_file = scan_in_file(py) + nodes.update(nodes_in_file) + metadata.update(metadata_in_file) dirname = os.path.basename(dirname) @@ -190,13 +201,14 @@ def gen_json(node_info): nodes.sort() if dirname in node_info: - git_url = node_info[dirname] - data[git_url] = nodes + git_url, title = node_info[dirname] + metadata['title_aux'] = title + data[git_url] = (nodes, metadata) else: print(f"WARN: {dirname} is removed from custom-node-list.json") for file in node_files: - nodes = scan_in_file(file) + nodes, metadata = scan_in_file(file) if len(nodes) > 0: nodes = list(nodes) @@ -205,8 +217,9 @@ def gen_json(node_info): file = os.path.basename(file) if file in node_info: - url = node_info[file] - data[url] = nodes + url, title = node_info[file] + metadata['title_aux'] = title + data[url] = (nodes, metadata) else: print(f"Missing info: {url}") @@ -216,22 +229,25 @@ def gen_json(node_info): for extension in extensions: node_list_json_path = os.path.join('.tmp', extension, 'node_list.json') if os.path.exists(node_list_json_path): - git_url = node_info[extension] + git_url, title = node_info[extension] with open(node_list_json_path, 'r') as f: node_list_json = json.load(f) + metadata_in_url = {} if git_url not in data: nodes = set() else: - nodes = set(data[git_url]) + nodes_in_url, metadata_in_url = data[git_url] + nodes = set(nodes_in_url) for x, desc in node_list_json.items(): nodes.add(x.strip()) + metadata_in_url['title_aux'] = title nodes = list(nodes) nodes.sort() - data[git_url] = nodes + data[git_url] = (nodes, metadata_in_url) json_path = f"extension-node-map.json" with open(json_path, "w") as file: @@ -244,4 +260,4 @@ print("\n# Updating extensions\n") updated_node_info = update_custom_nodes() print("\n# 'extension-node-map.json' file is generated.\n") -gen_json(updated_node_info) \ No newline at end of file +gen_json(updated_node_info)