diff --git a/README.md b/README.md index eb288ce8..0100a7a2 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ ![missing-list](misc/missing-list.png) -* Currently, support is only provided for extension nodes that can be installed in the form of "git-clone". +* Currently, support is not available for custom nodes that can only be downloaded through civitai. diff --git a/__init__.py b/__init__.py index c9c8cddc..3e09921c 100644 --- a/__init__.py +++ b/__init__.py @@ -16,7 +16,7 @@ sys.path.append('../..') from torchvision.datasets.utils import download_url # ensure .js -print("### Loading: ComfyUI-Manager (V0.6.2)") +print("### Loading: ComfyUI-Manager (V0.6.3)") comfy_path = os.path.dirname(folder_paths.__file__) custom_nodes_path = os.path.join(comfy_path, 'custom_nodes') diff --git a/extension-node-map.json b/extension-node-map.json index 0fc65ceb..9fa21300 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -1,512 +1,420 @@ { - "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": [ - "WD14Tagger|pysssss" + "https://github.com/BadCafeCode/masquerade-nodes-comfyui": [ + "Blur", + "Change Channel Count", + "Combine Masks", + "Constant Mask", + "Create Rect Mask", + "Cut By Mask", + "Get Image Size", + "Image To Mask", + "Make Image Batch", + "Mask By Text", + "Mask Morphology", + "Mask To Region", + "Mix Color By Mask", + "Mix Images By Mask", + "Paste By Mask", + "Prune By Mask", + "Separate Mask Components", + "Unary Mask Op" ], - "https://github.com/LEv145/images-grid-comfy-plugin": [ - "LatentCombine", - "ImagesGridByColumns", - "ImagesGridByRows", - "ImageCombine", - "GridAnnotation" + "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": [ + "BNK_CLIPTextEncodeAdvanced", + "BNK_MixCLIPEmbeddings" ], - "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": [ - "Prettify Prompt Using distilgpt2", - "Load Picture Index", - "Pixel Sort", - "Flatten Colors", - "Hue Rotation", - "Generate Noise Image", - "GlitchThis Effect", - "Apply Instagram Filter", - "Add Text To Image", - "Create Solid Color", - "Play Sound At Execution", - "Swap Color Mode", - "Prettify Prompt Using distilgpt2", - "Load Picture Index", - "Pixel Sort", - "Flatten Colors", - "Hue Rotation", - "Generate Noise Image", - "GlitchThis Effect", - "Apply Instagram Filter", - "Add Text To Image", - "Create Solid Color", - "Play Sound At Execution", - "Swap Color Mode" - ], - "https://github.com/TinyTerra/ComfyUI_tinyterraNodes.git": [ - "ttN pipeLoader", - "ttN pipeKSampler", - "ttN pipeIN", - "ttN pipeOUT", - "ttN pipeEDIT", - "ttN pipe2BASIC", - "ttN pipe2DETAILER", - "ttN text", - "ttN textDebug", - "ttN concat", - "ttN text3BOX_3WAYconcat", - "ttN text7BOX_concat", - "ttN imageOutput", - "ttN imageREMBG", - "ttN int", - "ttN float", - "ttN seed" - ], - "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": [ - "ChatGPT Simple _O", - "ChatGPT compact _O", - "load_openAI _O", - "Chat_Message _O", - "combine_chat_messages _O", - "Chat completion _O", - "create image _O", - "Edit_image _O", - "variation_image _O", - "LatentUpscaleFactor _O", - "LatentUpscaleFactorSimple _O", - "selectLatentFromBatch _O", - "VAEDecodeParallel _O", - "RandomNSP _O", - "ConcatRandomNSP_O", - "Concat Text _O", - "Trim Text _O", - "Replace Text _O", - "saveTextToFile _O", - "Text2Image _O", - "ImageScaleFactor _O", - "ImageScaleFactorSimple _O", - "Equation1param _O", - "Equation2params _O", - "floatToInt _O", - "intToFloat _O", - "floatToText _O", - "GetImage_(Width&Height) _O", - "GetLatent_(Width&Height) _O", - "debug messages_O", - "debug Completeion _O", - "Debug Text _O", - "Debug Text route _O", - "Note _O", - "Text _O", - "seed _O", - "int _O", - "float _O", - "ChatGPT _O", - "Chat_Message_fromString _O", - "compine_chat_messages _O", - "Chat_Completion _O", - "create_image _O", - "String _O", - "Debug String _O", - "concat Strings _O", - "trim String _O", - "replace String _O", - "replace String advanced _O", - "string2Image _O", - "CLIPStringEncode _O", - "LatentUpscaleMultiply", - "ChatGPT Simple _O", - "ChatGPT compact _O", - "load_openAI _O", - "Chat_Message _O", - "combine_chat_messages _O", - "Chat completion _O", - "create image _O", - "Edit_image _O", - "variation_image _O", - "LatentUpscaleFactor _O", - "LatentUpscaleFactorSimple _O", - "selectLatentFromBatch _O", - "VAEDecodeParallel _O", - "RandomNSP _O", - "ConcatRandomNSP_O", - "Concat Text _O", - "Trim Text _O", - "Replace Text _O", - "saveTextToFile _O", - "Text2Image _O", - "ImageScaleFactor _O", - "ImageScaleFactorSimple _O", - "Equation1param _O", - "Equation2params _O", - "floatToInt _O", - "intToFloat _O", - "floatToText _O", - "GetImage_(Width&Height) _O", - "GetLatent_(Width&Height) _O", - "debug messages_O", - "debug Completeion _O", - "Debug Text _O", - "Debug Text route _O", - "Note _O", - "Text _O", - "seed _O", - "int _O", - "float _O", - "ChatGPT _O", - "Chat_Message_fromString _O", - "compine_chat_messages _O", - "Chat_Completion _O", - "create_image _O", - "String _O", - "Debug String _O", - "concat Strings _O", - "trim String _O", - "replace String _O", - "replace String advanced _O", - "string2Image _O", - "CLIPStringEncode _O", - "LatentUpscaleMultiply" - ], - "https://github.com/bvhari/ComfyUI_ImageProcessing": [ - "BilateralFilter", - "UnsharpMask" + "https://github.com/BlenderNeko/ComfyUI_Cutoff": [ + "BNK_CutoffBasePrompt", + "BNK_CutoffRegionsToConditioning", + "BNK_CutoffRegionsToConditioning_ADV", + "BNK_CutoffSetRegions" ], "https://github.com/BlenderNeko/ComfyUI_Noise": [ - "BNK_NoisyLatentImage", "BNK_DuplicateBatchIndex", - "BNK_SlerpLatent", "BNK_GetSigma", "BNK_InjectNoise", + "BNK_NoisyLatentImage", + "BNK_SlerpLatent", "BNK_Unsampler" ], + "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": [ + "BNK_TiledKSampler", + "BNK_TiledKSamplerAdvanced" + ], + "https://github.com/Davemane42/ComfyUI_Dave_CustomNode": [ + "ABGRemover", + "ConditioningStretch", + "ConditioningUpscale", + "MultiAreaConditioning", + "MultiLatentComposite" + ], + "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ + "ABSNode_DF", + "ABSNode_DF", + "ABSNode_DF", + "Absolute value", + "Ceil", + "CeilNode_DF", + "CeilNode_DF", + "CeilNode_DF", + "Conditioning area scale by ratio", + "ConditioningSetArea with tuples", + "ConditioningSetAreaEXT_DF", + "ConditioningSetAreaEXT_DF", + "ConditioningSetAreaEXT_DF", + "ConditioningSetArea_DF", + "ConditioningSetArea_DF", + "ConditioningSetArea_DF", + "CosNode_DF", + "CosNode_DF", + "CosNode_DF", + "Cosines", + "Divide", + "DivideNode_DF", + "DivideNode_DF", + "DivideNode_DF", + "EmptyLatentImage_DF", + "EmptyLatentImage_DF", + "EmptyLatentImage_DF", + "Float", + "Float debug print", + "Float2Tuple_DF", + "Float2Tuple_DF", + "Float2Tuple_DF", + "FloatDebugPrint_DF", + "FloatDebugPrint_DF", + "FloatDebugPrint_DF", + "FloatNode_DF", + "FloatNode_DF", + "FloatNode_DF", + "Floor", + "FloorNode_DF", + "FloorNode_DF", + "FloorNode_DF", + "Get image size", + "Get latent size", + "GetImageSize_DF", + "GetImageSize_DF", + "GetImageSize_DF", + "GetLatentSize_DF", + "GetLatentSize_DF", + "GetLatentSize_DF", + "Image scale by ratio", + "Image scale to side", + "ImageScale_Ratio_DF", + "ImageScale_Ratio_DF", + "ImageScale_Ratio_DF", + "ImageScale_Side_DF", + "ImageScale_Side_DF", + "ImageScale_Side_DF", + "Int debug print", + "Int to float", + "Int to tuple", + "Int2Float_DF", + "Int2Float_DF", + "Int2Float_DF", + "IntDebugPrint_DF", + "IntDebugPrint_DF", + "IntDebugPrint_DF", + "Integer", + "IntegerNode_DF", + "IntegerNode_DF", + "IntegerNode_DF", + "Latent Scale by ratio", + "Latent Scale to side", + "LatentComposite with tuples", + "LatentScale_Ratio_DF", + "LatentScale_Ratio_DF", + "LatentScale_Ratio_DF", + "LatentScale_Side_DF", + "LatentScale_Side_DF", + "LatentScale_Side_DF", + "MultilineStringNode_DF", + "MultilineStringNode_DF", + "MultilineStringNode_DF", + "Multiply", + "MultiplyNode_DF", + "MultiplyNode_DF", + "MultiplyNode_DF", + "PowNode_DF", + "PowNode_DF", + "PowNode_DF", + "Power", + "Random", + "RandomFloat_DF", + "RandomFloat_DF", + "RandomFloat_DF", + "SinNode_DF", + "SinNode_DF", + "SinNode_DF", + "Sinus", + "SqrtNode_DF", + "SqrtNode_DF", + "SqrtNode_DF", + "Square root", + "String debug print", + "StringNode_DF", + "StringNode_DF", + "StringNode_DF", + "Subtract", + "SubtractNode_DF", + "SubtractNode_DF", + "SubtractNode_DF", + "Sum", + "SumNode_DF", + "SumNode_DF", + "SumNode_DF", + "TanNode_DF", + "TanNode_DF", + "TanNode_DF", + "Tangent", + "Text", + "Text box", + "Tuple", + "Tuple debug print", + "Tuple swap", + "Tuple to floats", + "Tuple to ints", + "Tuple2Float_DF", + "Tuple2Float_DF", + "Tuple2Float_DF", + "TupleDebugPrint_DF", + "TupleDebugPrint_DF", + "TupleDebugPrint_DF", + "TupleNode_DF", + "TupleNode_DF", + "TupleNode_DF" + ], + "https://github.com/EllangoK/ComfyUI-post-processing-nodes": [ + "ArithmeticBlend", + "ArithmeticBlend", + "ArithmeticBlend", + "AsciiArt", + "AsciiArt", + "AsciiArt", + "Blend", + "Blend", + "Blend", + "Blur", + "Blur", + "Blur", + "CannyEdgeMask", + "CannyEdgeMask", + "CannyEdgeMask", + "ChromaticAberration", + "ChromaticAberration", + "ChromaticAberration", + "ColorCorrect", + "ColorCorrect", + "ColorCorrect", + "ColorTint", + "ColorTint", + "ColorTint", + "Dissolve", + "Dissolve", + "Dissolve", + "Dither", + "Dither", + "DodgeAndBurn", + "DodgeAndBurn", + "DodgeAndBurn", + "FilmGrain", + "FilmGrain", + "FilmGrain", + "Glow", + "Glow", + "Glow", + "HSVThresholdMask", + "HSVThresholdMask", + "HSVThresholdMask", + "KMeansQuantize", + "KMeansQuantize", + "KuwaharaBlur", + "KuwaharaBlur", + "KuwaharaBlur", + "Parabolize", + "Parabolize", + "Parabolize", + "PencilSketch", + "PencilSketch", + "PencilSketch", + "PixelSort", + "PixelSort", + "PixelSort", + "Pixelize", + "Pixelize", + "Pixelize", + "Quantize", + "Quantize", + "Quantize", + "Sharpen", + "Sharpen", + "Sharpen", + "SineWave", + "SineWave", + "SineWave", + "Solarize", + "Solarize", + "Solarize", + "Vignette", + "Vignette", + "Vignette" + ], + "https://github.com/Fannovel16/comfy_controlnet_preprocessors": [ + "AnimeLineArtPreprocessor", + "AnimeLineArtPreprocessor", + "BAE-NormalMapPreprocessor", + "BAE-NormalMapPreprocessor", + "BinaryPreprocessor", + "BinaryPreprocessor", + "CannyEdgePreprocessor", + "CannyEdgePreprocessor", + "ColorPreprocessor", + "ColorPreprocessor", + "FakeScribblePreprocessor", + "FakeScribblePreprocessor", + "HEDPreprocessor", + "HEDPreprocessor", + "LeReS-DepthMapPreprocessor", + "LeReS-DepthMapPreprocessor", + "LineArtPreprocessor", + "LineArtPreprocessor", + "M-LSDPreprocessor", + "M-LSDPreprocessor", + "Manga2Anime-LineArtPreprocessor", + "Manga2Anime-LineArtPreprocessor", + "MediaPipe-FaceMeshPreprocessor", + "MediaPipe-FaceMeshPreprocessor", + "MediaPipe-HandPosePreprocessor", + "MediaPipe-HandPosePreprocessor", + "MiDaS-DepthMapPreprocessor", + "MiDaS-DepthMapPreprocessor", + "MiDaS-NormalMapPreprocessor", + "MiDaS-NormalMapPreprocessor", + "OneFormer-ADE20K-SemSegPreprocessor", + "OneFormer-ADE20K-SemSegPreprocessor", + "OneFormer-COCO-SemSegPreprocessor", + "OneFormer-COCO-SemSegPreprocessor", + "OpenposePreprocessor", + "OpenposePreprocessor", + "PiDiNetPreprocessor", + "PiDiNetPreprocessor", + "ScribblePreprocessor", + "ScribblePreprocessor", + "SemSegPreprocessor", + "SemSegPreprocessor", + "TilePreprocessor", + "TilePreprocessor", + "UniFormer-SemSegPreprocessor", + "UniFormer-SemSegPreprocessor", + "Zoe-DepthMapPreprocessor", + "Zoe-DepthMapPreprocessor" + ], + "https://github.com/Fannovel16/comfy_video": [ + "Save Frame To Folder", + "Simple Frame Folder To Video", + "Video Frame Extractor" + ], + "https://github.com/Jcd1230/rembg-comfyui-node": [ + "Image Remove Background (rembg)" + ], + "https://github.com/Jordach/comfy-plasma": [ + "JDC_BrownNoise", + "JDC_Contrast", + "JDC_GreyNoise", + "JDC_PinkNoise", + "JDC_Plasma", + "JDC_PlasmaSampler", + "JDC_PowerImage", + "JDC_RandNoise" + ], "https://github.com/Kaharos94/ComfyUI-Saveaswebp": [ "Save_as_webp" ], - "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": [ - "BNK_TiledKSamplerAdvanced", - "BNK_TiledKSampler" - ], - "https://github.com/sylym/comfy_vid2vid": [ - "LoadImageSequence", - "LoadImageMaskSequence", - "VAEEncodeForInpaintSequence", - "DdimInversionSequence", - "SetLatentNoiseSequence", - "CheckpointLoaderSimpleSequence", - "LoraLoaderSequence", - "TrainUnetSequence", - "KSamplerSequence" + "https://github.com/LEv145/images-grid-comfy-plugin": [ + "GridAnnotation", + "ImageCombine", + "ImagesGridByColumns", + "ImagesGridByRows", + "LatentCombine" ], "https://github.com/LucianoCirino/efficiency-nodes-comfyui": [ - "KSampler (Efficient)", "Efficient Loader", - "XY Plot", - "Image Overlay", "Evaluate Integers", - "Evaluate Strings" - ], - "https://github.com/bvhari/ComfyUI_LatentToRGB": [ - "LatentToRGB" + "Evaluate Strings", + "Image Overlay", + "KSampler (Efficient)", + "XY Plot" ], "https://github.com/SLAPaper/ComfyUI-Image-Selector": [ - "ImageSelector", "ImageDuplicator", - "LatentSelector", - "LatentDuplicator" + "ImageSelector", + "LatentDuplicator", + "LatentSelector" ], - "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": [ - "UltimateSDUpscale" - ], - "https://github.com/paulo-coronado/comfy_clip_blip_node": [ - "CLIPTextEncodeBLIP", - "CLIPTextEncodeBLIP-2", - "Example" - ], - "https://github.com/guoyk93/yk-node-suite-comfyui": [ - "YKImagePadForOutpaint", - "YKMaskToImage" - ], - "https://github.com/EllangoK/ComfyUI-post-processing-nodes": [ - "ArithmeticBlend", - "AsciiArt", - "Blend", - "Blur", - "CannyEdgeMask", - "ChromaticAberration", - "ColorCorrect", - "ColorTint", - "Dissolve", - "DodgeAndBurn", - "FilmGrain", - "Glow", - "HSVThresholdMask", - "KuwaharaBlur", - "Parabolize", - "PencilSketch", - "PixelSort", - "Pixelize", - "Quantize", - "Sharpen", - "SineWave", - "Solarize", - "Vignette", - "Blur", - "KuwaharaBlur", - "HSVThresholdMask", - "PencilSketch", - "Vignette", - "DodgeAndBurn", - "Pixelize", - "ArithmeticBlend", - "AsciiArt", - "SineWave", - "ColorTint", - "Parabolize", - "ChromaticAberration", - "PixelSort", - "Solarize", - "Glow", - "ColorCorrect", - "Blend", - "Quantize", - "FilmGrain", - "Sharpen", - "Dissolve", - "CannyEdgeMask", - "Dither", - "KMeansQuantize", - "Blur", - "KuwaharaBlur", - "HSVThresholdMask", - "PencilSketch", - "Vignette", - "DodgeAndBurn", - "Pixelize", - "ArithmeticBlend", - "AsciiArt", - "SineWave", - "ColorTint", - "Parabolize", - "ChromaticAberration", - "PixelSort", - "Solarize", - "Glow", - "ColorCorrect", - "Blend", - "Quantize", - "FilmGrain", - "Sharpen", - "Dissolve", - "CannyEdgeMask", - "Dither", - "KMeansQuantize" - ], - "https://github.com/szhublox/ambw_comfyui": [ - "Auto Merge Block Weighted" - ], - "https://github.com/BlenderNeko/ComfyUI_Cutoff": [ - "BNK_CutoffBasePrompt", - "BNK_CutoffSetRegions", - "BNK_CutoffRegionsToConditioning", - "BNK_CutoffRegionsToConditioning_ADV" - ], - "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ - "Float", - "Integer", - "Text", - "Text box", - "Float debug print", - "Int debug print", - "Tuple debug print", - "String debug print", - "Random", - "Tuple", - "Int to tuple", - "Tuple to floats", - "Tuple to ints", - "Tuple swap", - "Int to float", - "Ceil", - "Floor", - "Absolute value", - "Get latent size", - "Get image size", - "Sum", - "Subtract", - "Multiply", - "Divide", - "Power", - "Square root", - "Sinus", - "Cosines", - "Tangent", - "Latent Scale by ratio", - "Latent Scale to side", - "Image scale by ratio", - "Image scale to side", - "Conditioning area scale by ratio", - "ConditioningSetArea with tuples", - "LatentComposite with tuples", - "FloatDebugPrint_DF", - "IntDebugPrint_DF", - "TupleDebugPrint_DF", - "EmptyLatentImage_DF", - "LatentScale_Ratio_DF", - "LatentScale_Side_DF", - "ImageScale_Ratio_DF", - "ImageScale_Side_DF", - "ConditioningSetArea_DF", - "ConditioningSetAreaEXT_DF", - "RandomFloat_DF", - "Float2Tuple_DF", - "Tuple2Float_DF", - "Int2Float_DF", - "CeilNode_DF", - "FloorNode_DF", - "ABSNode_DF", - "GetLatentSize_DF", - "GetImageSize_DF", - "SumNode_DF", - "SubtractNode_DF", - "MultiplyNode_DF", - "DivideNode_DF", - "PowNode_DF", - "SqrtNode_DF", - "SinNode_DF", - "CosNode_DF", - "TanNode_DF", - "FloatNode_DF", - "IntegerNode_DF", - "StringNode_DF", - "TupleNode_DF", - "MultilineStringNode_DF", - "FloatDebugPrint_DF", - "IntDebugPrint_DF", - "TupleDebugPrint_DF", - "EmptyLatentImage_DF", - "LatentScale_Ratio_DF", - "LatentScale_Side_DF", - "ImageScale_Ratio_DF", - "ImageScale_Side_DF", - "ConditioningSetArea_DF", - "ConditioningSetAreaEXT_DF", - "RandomFloat_DF", - "Float2Tuple_DF", - "Tuple2Float_DF", - "Int2Float_DF", - "CeilNode_DF", - "FloorNode_DF", - "ABSNode_DF", - "GetLatentSize_DF", - "GetImageSize_DF", - "SumNode_DF", - "SubtractNode_DF", - "MultiplyNode_DF", - "DivideNode_DF", - "PowNode_DF", - "SqrtNode_DF", - "SinNode_DF", - "CosNode_DF", - "TanNode_DF", - "FloatNode_DF", - "IntegerNode_DF", - "StringNode_DF", - "TupleNode_DF", - "MultilineStringNode_DF", - "FloatDebugPrint_DF", - "IntDebugPrint_DF", - "TupleDebugPrint_DF", - "EmptyLatentImage_DF", - "LatentScale_Ratio_DF", - "LatentScale_Side_DF", - "ImageScale_Ratio_DF", - "ImageScale_Side_DF", - "ConditioningSetArea_DF", - "ConditioningSetAreaEXT_DF", - "RandomFloat_DF", - "Float2Tuple_DF", - "Tuple2Float_DF", - "Int2Float_DF", - "CeilNode_DF", - "FloorNode_DF", - "ABSNode_DF", - "GetLatentSize_DF", - "GetImageSize_DF", - "SumNode_DF", - "SubtractNode_DF", - "MultiplyNode_DF", - "DivideNode_DF", - "PowNode_DF", - "SqrtNode_DF", - "SinNode_DF", - "CosNode_DF", - "TanNode_DF", - "FloatNode_DF", - "IntegerNode_DF", - "StringNode_DF", - "TupleNode_DF", - "MultilineStringNode_DF" - ], - "https://github.com/Jordach/comfy-plasma": [ - "JDC_Plasma", - "JDC_RandNoise", - "JDC_GreyNoise", - "JDC_PinkNoise", - "JDC_BrownNoise", - "JDC_PlasmaSampler", - "JDC_PowerImage", - "JDC_Contrast" - ], - "https://github.com/trojblue/trNodes": [ - "trLayering", - "trColorCorrection", - "trRouter", - "trRouterLonger", - "JpgConvertNode" - ], - "https://github.com/Fannovel16/comfy_video": [ - "Video Frame Extractor", - "Save Frame To Folder", - "Simple Frame Folder To Video" + "https://github.com/TinyTerra/ComfyUI_tinyterraNodes.git": [ + "ttN concat", + "ttN float", + "ttN imageOutput", + "ttN imageREMBG", + "ttN int", + "ttN modelScale", + "ttN pipe2BASIC", + "ttN pipe2DETAILER", + "ttN pipeEDIT", + "ttN pipeIN", + "ttN pipeKSampler", + "ttN pipeLoader", + "ttN pipeOUT", + "ttN seed", + "ttN text", + "ttN text3BOX_3WAYconcat", + "ttN text7BOX_concat", + "ttN textDebug" ], "https://github.com/WASasquatch/was-node-suite-comfyui": [ + "BLIP Analyze Image", + "Bounded Image Blend", + "Bounded Image Blend with Mask", + "Bounded Image Crop", + "Bounded Image Crop with Mask", + "CLIPSeg Batch Masking", + "CLIPSeg Masking", + "CLIPTextEncode (NSP)", "Cache Node", "Checkpoint Loader", "Checkpoint Loader (Simple)", - "CLIPTextEncode (NSP)", "Conditioning Input Switch", "Constant Number", + "Convert Masks to Images", "Create Grid Image", "Create Morph Image", "Create Morph Image from Path", "Create Video from Path", - "CLIPSeg Masking", - "CLIPSeg Batch Masking", - "Convert Masks to Images", "Debug Number to Console", "Dictionary to Console", - "Diffusers Model Loader", "Diffusers Hub Model Down-Loader", - "Latent Input Switch", - "Load Cache", - "Logic Boolean", - "Lora Loader", + "Diffusers Model Loader", "Image Analyze", "Image Blank", - "Image Blend by Mask", "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 Paste Face", - "Image Paste Crop", - "Image Paste Crop by Location", - "Image Pixelate", "Image Dragan Photography Filter", "Image Edge Detection Filter", "Image Film Grain", "Image Filter Adjustments", "Image Flip", - "Image Gradient Map", "Image Generate Gradient", + "Image Gradient Map", "Image High Pass Filter", "Image History Loader", "Image Input Switch", @@ -517,7 +425,11 @@ "Image Monitor Effects Filter", "Image Nova Filter", "Image Padding", + "Image Paste Crop", + "Image Paste Crop by Location", + "Image Paste Face", "Image Perlin Noise Filter", + "Image Pixelate", "Image Remove Background (Alpha)", "Image Remove Color", "Image Resize", @@ -533,18 +445,22 @@ "Image Threshold", "Image Tiled", "Image Transpose", + "Image Voronoi Noise Filter", "Image fDOF Filter", "Image to Latent Mask", - "Image Voronoi Noise Filter", + "Image to Noise", + "Inset Image Bounds", "KSampler (WAS)", + "Latent Input Switch", "Latent Noise Injection", "Latent Size to Number", "Latent Upscale by Factor (WAS)", + "Load Cache", "Load Image Batch", - "Load Text File", "Load Lora", - "Masks Add", - "Masks Subtract", + "Load Text File", + "Logic Boolean", + "Lora Loader", "Mask Arbitrary Region", "Mask Batch to Mask", "Mask Ceiling Region", @@ -558,46 +474,41 @@ "Mask Minority Region", "Mask Smooth Region", "Mask Threshold Region", - "Masks Combine Regions", + "Masks Add", "Masks Combine Batch", + "Masks Combine Regions", + "Masks Subtract", "MiDaS Depth Approximation", "MiDaS Mask Image", - "Number Operation", - "Number to Float", - "Number Input Switch", "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 Styles Selector", "Random Number", - "Save Text File", - "Seed", - "Tensor Batch to Image", - "BLIP Analyze Image", + "SAM Image Mask", "SAM Model Loader", "SAM Parameters", "SAM Parameters Combine", - "SAM Image Mask", + "Save Text File", + "Seed", "String to Text", - "Image Bounds", - "Inset Image Bounds", - "Bounded Image Blend", - "Bounded Image Blend with Mask", - "Bounded Image Crop", - "Bounded Image Crop with Mask", - "Text Dictionary Update", - "Text Add Tokens", + "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 by Dictionary", - "Text Find and Replace Input", "Text Find and Replace", + "Text Find and Replace Input", + "Text Find and Replace by Dictionary", "Text Input Switch", "Text Multiline", "Text Parse A1111 Embeddings", @@ -610,207 +521,338 @@ "Text to Number", "Text to String", "True Random.org Number Generator", - "unCLIP Checkpoint Loader", "Upscale Model Loader", + "Video Dump Frames", "Write to GIF", "Write to Video", - "Video Dump Frames" - ], - "https://github.com/Davemane42/ComfyUI_Dave_CustomNode": [ - "MultiLatentComposite", - "MultiAreaConditioning", - "ConditioningUpscale", - "ConditioningStretch", - "ABGRemover" + "unCLIP Checkpoint Loader" ], "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": [ "MergeBlockWeighted" ], - "https://github.com/Fannovel16/comfy_controlnet_preprocessors": [ - "OpenposePreprocessor", - "MediaPipe-HandPosePreprocessor", - "SemSegPreprocessor", - "UniFormer-SemSegPreprocessor", - "OneFormer-COCO-SemSegPreprocessor", - "OneFormer-ADE20K-SemSegPreprocessor", - "MiDaS-DepthMapPreprocessor", - "MiDaS-NormalMapPreprocessor", - "LeReS-DepthMapPreprocessor", - "Zoe-DepthMapPreprocessor", - "BAE-NormalMapPreprocessor", - "MediaPipe-FaceMeshPreprocessor", - "ColorPreprocessor", - "TilePreprocessor", - "CannyEdgePreprocessor", - "M-LSDPreprocessor", - "HEDPreprocessor", - "ScribblePreprocessor", - "FakeScribblePreprocessor", - "BinaryPreprocessor", - "PiDiNetPreprocessor", - "LineArtPreprocessor", - "AnimeLineArtPreprocessor", - "Manga2Anime-LineArtPreprocessor", - "OpenposePreprocessor", - "MediaPipe-HandPosePreprocessor", - "SemSegPreprocessor", - "UniFormer-SemSegPreprocessor", - "OneFormer-COCO-SemSegPreprocessor", - "OneFormer-ADE20K-SemSegPreprocessor", - "MiDaS-DepthMapPreprocessor", - "MiDaS-NormalMapPreprocessor", - "LeReS-DepthMapPreprocessor", - "Zoe-DepthMapPreprocessor", - "BAE-NormalMapPreprocessor", - "MediaPipe-FaceMeshPreprocessor", - "ColorPreprocessor", - "TilePreprocessor", - "CannyEdgePreprocessor", - "M-LSDPreprocessor", - "HEDPreprocessor", - "ScribblePreprocessor", - "FakeScribblePreprocessor", - "BinaryPreprocessor", - "PiDiNetPreprocessor", - "LineArtPreprocessor", - "AnimeLineArtPreprocessor", - "Manga2Anime-LineArtPreprocessor" + "https://github.com/asd417/tomeSD_for_Comfy/raw/main/tomeloader.py": [ + "CheckpointTomeLoader", + "TestNode" + ], + "https://github.com/biegert/ComfyUI-CLIPSeg/raw/main/custom_nodes/clipseg.py": [ + "CLIPSeg", + "CombineSegMasks" + ], + "https://github.com/bvhari/ComfyUI_ImageProcessing": [ + "BilateralFilter", + "UnsharpMask" + ], + "https://github.com/bvhari/ComfyUI_LatentToRGB": [ + "LatentToRGB" ], "https://github.com/chenbaiyujason/sc-node-comfyui": [ - "One Post to GPT", - "One GPT Builder", - "Combine GPT Prompt", - "Multiple Post to GPT", - "Prompt Preview", - "String to ASCII", - "SCSCCLIPTextEncode", - "Multiple Text String", - "Single Text String", - "Combine Text String", "Builder Text String", + "Combine GPT Prompt", + "Combine Text String", + "Multiple Post to GPT", + "Multiple Text String", + "One GPT Builder", + "One Post to GPT", + "Prompt Preview", + "SCSCCLIPTextEncode", "SCSearch and Replace", - "SCText to Console" + "SCText to Console", + "Single Text String", + "String to ASCII" ], - "https://github.com/lilly1987/ComfyUI_node_Lilly": [ - "LoraLoaderTextRandom", - "LoraLoaderText", - "VAELoaderDecode", - "CheckpointLoaderSimpleText", - "Random_Sampler" + "https://github.com/comfyanonymous/ComfyUI_experiments/raw/master/sampler_rescalecfg.py": [ + "RescaleClassifierFreeGuidanceTest" ], - "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": [ - "BNK_CLIPTextEncodeAdvanced", - "BNK_MixCLIPEmbeddings" + "https://github.com/comfyanonymous/ComfyUI_experiments/raw/master/sampler_tonemap.py": [ + "ModelSamplerTonemapNoiseTest" + ], + "https://github.com/dawangraoming/ComfyUI_ksampler_gpu/raw/main/ksampler_gpu.py": [ + "KSamplerAdvancedGPU", + "KSamplerGPU" + ], + "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": [ + "Add Text To Image", + "Add Text To Image", + "Apply Instagram Filter", + "Apply Instagram Filter", + "Create Solid Color", + "Create Solid Color", + "Flatten Colors", + "Flatten Colors", + "Generate Noise Image", + "Generate Noise Image", + "GlitchThis Effect", + "GlitchThis Effect", + "Hue Rotation", + "Hue Rotation", + "Load Picture Index", + "Load Picture Index", + "Pixel Sort", + "Pixel Sort", + "Play Sound At Execution", + "Play Sound At Execution", + "Prettify Prompt Using distilgpt2", + "Prettify Prompt Using distilgpt2", + "Swap Color Mode", + "Swap Color Mode" ], "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": [ - "MaskToImage_AS", - "ImageToMask_AS", - "LatentMix_AS", - "LatentAdd_AS", - "SaveLatent_AS", - "LoadLatent_AS", - "LatentToImages_AS", - "LatentMixMasked_As", - "ImageMixMasked_As", - "TextToImage_AS", "BatchIndex_AS", - "MapRange_AS", - "Number_AS", + "ImageMixMasked_As", + "ImageToMask_AS", + "Increment_AS", "Int2Any_AS", - "Number2Int_AS", - "Number2Float_AS", + "LatentAdd_AS", + "LatentMixMasked_As", + "LatentMix_AS", + "LatentToImages_AS", + "LoadLatent_AS", + "MapRange_AS", + "MaskToImage_AS", "Math_AS", - "Increment_AS" - ], - "https://github.com/BadCafeCode/masquerade-nodes-comfyui": [ - "Mask By Text", - "Mask Morphology", - "Combine Masks", - "Unary Mask Op", - "Blur", - "Image To Mask", - "Mix Images By Mask", - "Mix Color By Mask", - "Mask To Region", - "Cut By Mask", - "Paste By Mask", - "Get Image Size", - "Change Channel Count", - "Constant Mask", - "Prune By Mask", - "Separate Mask Components", - "Create Rect Mask", - "Make Image Batch" - ], - "https://github.com/ltdrdata/ComfyUI-Impact-Pack": [ - "SAMLoader", - "MMDetDetectorProvider", - "CLIPSegDetectorProvider", - "ONNXDetectorProvider", - "BitwiseAndMaskForEach", - "SubtractMaskForEach", - "DetailerForEach", - "DetailerForEachDebug", - "DetailerForEachPipe", - "DetailerForEachDebugPipe", - "SAMDetectorCombined", - "FaceDetailer", - "FaceDetailerPipe", - "ToDetailerPipe", - "FromDetailerPipe", - "ToBasicPipe", - "FromBasicPipe", - "BasicPipeToDetailerPipe", - "DetailerPipeToBasicPipe", - "EditBasicPipe", - "EditDetailerPipe", - "LatentPixelScale", - "PixelKSampleUpscalerProvider", - "PixelKSampleUpscalerProviderPipe", - "IterativeLatentUpscale", - "IterativeImageUpscale", - "PixelTiledKSampleUpscalerProvider", - "PixelTiledKSampleUpscalerProviderPipe", - "TwoSamplersForMaskUpscalerProvider", - "TwoSamplersForMaskUpscalerProviderPipe", - "PixelKSampleHookCombine", - "DenoiseScheduleHookProvider", - "CfgScheduleHookProvider", - "BitwiseAndMask", - "SubtractMask", - "Segs & Mask", - "EmptySegs", - "MaskToSEGS", - "ToBinaryMask", - "BboxDetectorSEGS", - "SegmDetectorSEGS", - "ONNXDetectorSEGS", - "BboxDetectorCombined", - "SegmDetectorCombined", - "SegsToCombinedMask", - "KSamplerProvider", - "TwoSamplersForMask", - "TiledKSamplerProvider", - "PreviewBridge", - "MaskPainter", - "MMDetLoader", - "SegsMaskCombine", - "BboxDetectorForEach", - "SegmDetectorForEach" - ], - "https://github.com/Jcd1230/rembg-comfyui-node": [ - "Image Remove Background (rembg)" + "Number2Float_AS", + "Number2Int_AS", + "Number_AS", + "SaveLatent_AS", + "TextToImage_AS" ], "https://github.com/gamert/ComfyUI_tagger": [ - "ImageTaggerDD", "CLIPTextEncodeTaggerDD", + "ImageTaggerDD", "LoadImage_Tagger", "PromptDD" ], + "https://github.com/guoyk93/yk-node-suite-comfyui": [ + "YKImagePadForOutpaint", + "YKMaskToImage" + ], + "https://github.com/lilly1987/ComfyUI_node_Lilly": [ + "CheckpointLoaderSimpleText", + "LoraLoaderText", + "LoraLoaderTextRandom", + "Random_Sampler", + "VAELoaderDecode" + ], + "https://github.com/ltdrdata/ComfyUI-Impact-Pack": [ + "BasicPipeToDetailerPipe", + "BboxDetectorCombined", + "BboxDetectorForEach", + "BboxDetectorSEGS", + "BitwiseAndMask", + "BitwiseAndMaskForEach", + "CLIPSegDetectorProvider", + "CfgScheduleHookProvider", + "DenoiseScheduleHookProvider", + "DetailerForEach", + "DetailerForEachDebug", + "DetailerForEachDebugPipe", + "DetailerForEachPipe", + "DetailerPipeToBasicPipe", + "EditBasicPipe", + "EditDetailerPipe", + "EmptySegs", + "FaceDetailer", + "FaceDetailerPipe", + "FromBasicPipe", + "FromDetailerPipe", + "IterativeImageUpscale", + "IterativeLatentUpscale", + "KSamplerProvider", + "LatentPixelScale", + "MMDetDetectorProvider", + "MMDetLoader", + "MaskPainter", + "MaskToSEGS", + "ONNXDetectorProvider", + "ONNXDetectorSEGS", + "PixelKSampleHookCombine", + "PixelKSampleUpscalerProvider", + "PixelKSampleUpscalerProviderPipe", + "PixelTiledKSampleUpscalerProvider", + "PixelTiledKSampleUpscalerProviderPipe", + "PreviewBridge", + "SAMDetectorCombined", + "SAMLoader", + "SegmDetectorCombined", + "SegmDetectorForEach", + "SegmDetectorSEGS", + "Segs & Mask", + "SegsMaskCombine", + "SegsToCombinedMask", + "SubtractMask", + "SubtractMaskForEach", + "TiledKSamplerProvider", + "ToBasicPipe", + "ToBinaryMask", + "ToDetailerPipe", + "TwoSamplersForMask", + "TwoSamplersForMaskUpscalerProvider", + "TwoSamplersForMaskUpscalerProviderPipe" + ], + "https://github.com/m957ymj75urz/ComfyUI-Custom-Nodes/raw/main/clip-text-encode-split/clip_text_encode_split.py": [ + "RawText", + "RawTextCombine", + "RawTextEncode", + "RawTextReplace" + ], + "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": [ + "CLIPStringEncode _O", + "CLIPStringEncode _O", + "Chat completion _O", + "Chat completion _O", + "ChatGPT Simple _O", + "ChatGPT Simple _O", + "ChatGPT _O", + "ChatGPT _O", + "ChatGPT compact _O", + "ChatGPT compact _O", + "Chat_Completion _O", + "Chat_Completion _O", + "Chat_Message _O", + "Chat_Message _O", + "Chat_Message_fromString _O", + "Chat_Message_fromString _O", + "Concat Text _O", + "Concat Text _O", + "ConcatRandomNSP_O", + "ConcatRandomNSP_O", + "Debug String _O", + "Debug String _O", + "Debug Text _O", + "Debug Text _O", + "Debug Text route _O", + "Debug Text route _O", + "Edit_image _O", + "Edit_image _O", + "Equation1param _O", + "Equation1param _O", + "Equation2params _O", + "Equation2params _O", + "GetImage_(Width&Height) _O", + "GetImage_(Width&Height) _O", + "GetLatent_(Width&Height) _O", + "GetLatent_(Width&Height) _O", + "ImageScaleFactor _O", + "ImageScaleFactor _O", + "ImageScaleFactorSimple _O", + "ImageScaleFactorSimple _O", + "LatentUpscaleFactor _O", + "LatentUpscaleFactor _O", + "LatentUpscaleFactorSimple _O", + "LatentUpscaleFactorSimple _O", + "LatentUpscaleMultiply", + "LatentUpscaleMultiply", + "Note _O", + "Note _O", + "RandomNSP _O", + "RandomNSP _O", + "Replace Text _O", + "Replace Text _O", + "String _O", + "String _O", + "Text _O", + "Text _O", + "Text2Image _O", + "Text2Image _O", + "Trim Text _O", + "Trim Text _O", + "VAEDecodeParallel _O", + "VAEDecodeParallel _O", + "combine_chat_messages _O", + "combine_chat_messages _O", + "compine_chat_messages _O", + "compine_chat_messages _O", + "concat Strings _O", + "concat Strings _O", + "create image _O", + "create image _O", + "create_image _O", + "create_image _O", + "debug Completeion _O", + "debug Completeion _O", + "debug messages_O", + "debug messages_O", + "float _O", + "float _O", + "floatToInt _O", + "floatToInt _O", + "floatToText _O", + "floatToText _O", + "int _O", + "int _O", + "intToFloat _O", + "intToFloat _O", + "load_openAI _O", + "load_openAI _O", + "replace String _O", + "replace String _O", + "replace String advanced _O", + "replace String advanced _O", + "saveTextToFile _O", + "saveTextToFile _O", + "seed _O", + "seed _O", + "selectLatentFromBatch _O", + "selectLatentFromBatch _O", + "string2Image _O", + "string2Image _O", + "trim String _O", + "trim String _O", + "variation_image _O", + "variation_image _O" + ], + "https://github.com/paulo-coronado/comfy_clip_blip_node": [ + "CLIPTextEncodeBLIP", + "CLIPTextEncodeBLIP-2", + "Example" + ], + "https://github.com/pythongosssss/ComfyUI-Custom-Scripts/raw/main/anime-segmentation/anime_segmentation.py": [ + "AnimeSegmentation" + ], + "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": [ + "WD14Tagger|pysssss" + ], + "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": [ + "UltimateSDUpscale" + ], "https://github.com/strimmlarn/ComfyUI_Strimmlarns_aesthetic_score": [ + "AesthetlcScoreSorter", "CalculateAestheticScore", "LoadAesteticModel", - "AesthetlcScoreSorter", "ScoreToNumber" + ], + "https://github.com/sylym/comfy_vid2vid": [ + "CheckpointLoaderSimpleSequence", + "DdimInversionSequence", + "KSamplerSequence", + "LoadImageMaskSequence", + "LoadImageSequence", + "LoraLoaderSequence", + "SetLatentNoiseSequence", + "TrainUnetSequence", + "VAEEncodeForInpaintSequence" + ], + "https://github.com/szhublox/ambw_comfyui": [ + "Auto Merge Block Weighted" + ], + "https://github.com/trojblue/trNodes": [ + "JpgConvertNode", + "trColorCorrection", + "trLayering", + "trRouter", + "trRouterLonger" + ], + "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" ] } \ No newline at end of file diff --git a/scanner.py b/scanner.py index 270720c4..4e2f99e7 100644 --- a/scanner.py +++ b/scanner.py @@ -1,8 +1,8 @@ import re import os import json -import sys from git import Repo +from torchvision.datasets.utils import download_url def scan_in_file(filename): @@ -83,6 +83,21 @@ def get_git_urls_from_json(json_file): return git_clone_files +def get_py_urls_from_json(json_file): + with open(json_file) as file: + data = json.load(file) + + custom_nodes = data.get('custom_nodes', []) + py_files = [] + for node in custom_nodes: + if node.get('install_type') == 'copy': + files = node.get('files', []) + if files: + py_files.append(files[0]) + + return py_files + + def clone_or_pull_git_repository(git_url): repo_name = git_url.split("/")[-1].split(".")[0] repo_dir = os.path.join(os.getcwd(), ".tmp", repo_name) @@ -116,9 +131,19 @@ def update_custom_nodes(): name = os.path.basename(url) if name.endswith(".git"): name = name[:-4] + node_info[name] = url clone_or_pull_git_repository(url) - + + py_urls = get_py_urls_from_json('custom-node-list.json') + + for url in py_urls: + name = os.path.basename(url) + if name.endswith(".py"): + node_info[name] = url + + download_url(url, ".tmp") + return node_info @@ -136,13 +161,30 @@ def gen_json(node_info): dirname = os.path.basename(dirname) if nodes != []: + nodes.sort() + git_url = node_info[dirname] data[git_url] = nodes + for file in node_files: + nodes = scan_in_file(file) + + if nodes != []: + nodes.sort() + + file = os.path.basename(file) + url = node_info[file] + data[url] = nodes + json_path = f"extension-node-map.json" with open(json_path, "w") as file: - json.dump(data, file, indent=4) + json.dump(data, file, indent=4, sort_keys=True) +print("### ComfyUI Manager Node Scanner ###") + +print("\n# Updating extensions\n") node_info = update_custom_nodes() + +print("\n# 'extension-node-map.json' file is generated.\n") gen_json(node_info) \ No newline at end of file