Compare commits
1 Commits
2.54
...
refactor/p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34a48fbae4 |
@@ -4059,7 +4059,7 @@
|
|||||||
{
|
{
|
||||||
"author": "toyxyz",
|
"author": "toyxyz",
|
||||||
"title": "ComfyUI_toyxyz_test_nodes",
|
"title": "ComfyUI_toyxyz_test_nodes",
|
||||||
"id": "comfyui_toyxyz_test_nodes",
|
"id": "toyxyz",
|
||||||
"reference": "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes",
|
"reference": "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes",
|
||||||
"files": [
|
"files": [
|
||||||
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes"
|
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes"
|
||||||
@@ -4067,16 +4067,6 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This node was created to send a webcam to ComfyUI in real time. This node is recommended for use with LCM."
|
"description": "This node was created to send a webcam to ComfyUI in real time. This node is recommended for use with LCM."
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"author": "toyxyz",
|
|
||||||
"title": "ComfyUI_rgbx_Wrapper",
|
|
||||||
"reference": "https://github.com/toyxyz/ComfyUI_rgbx_Wrapper",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This is the rgb2x wrapper node for ComfyUI. The required models are automatically downloaded on the first run.\noriginal project : [a/https://github.com/zheng95z/rgbx](original project : https://github.com/zheng95z/rgbx)"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "thecooltechguy",
|
"author": "thecooltechguy",
|
||||||
"title": "ComfyUI Stable Video Diffusion",
|
"title": "ComfyUI Stable Video Diffusion",
|
||||||
@@ -12963,7 +12953,7 @@
|
|||||||
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils"
|
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "NODES: Add Mask For IC Lora, Create Context Window, Concatenate Context Window"
|
"description": "NODES: Add Mask For IC Lora"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "lrzjason",
|
"author": "lrzjason",
|
||||||
@@ -15070,6 +15060,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This is a collection of nodes created to aid when managing area conditionings."
|
"description": "This is a collection of nodes created to aid when managing area conditionings."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "HentaiGirlfriendDotCom",
|
||||||
|
"title": "comfyui-highlight-connections",
|
||||||
|
"reference": "https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A node that can be dropped into a group. When a node is then clicked within that group, all nodes and connections in that group get greyed out and the connections from the clicked node go bright red."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "Cyber-BCat",
|
"author": "Cyber-BCat",
|
||||||
"title": "ComfyUI_Auto_Caption",
|
"title": "ComfyUI_Auto_Caption",
|
||||||
@@ -17047,15 +17047,14 @@
|
|||||||
"description": "A modulation layer addon for Flux that reduces model size to 8.8B parameters without significant quality loss."
|
"description": "A modulation layer addon for Flux that reduces model size to 8.8B parameters without significant quality loss."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "lth",
|
"author": "lo-th",
|
||||||
"title": "Comfyui_three_js",
|
"title": "Comfyui_three_js",
|
||||||
"id": "lth",
|
|
||||||
"reference": "https://github.com/lo-th/Comfyui_three_js",
|
"reference": "https://github.com/lo-th/Comfyui_three_js",
|
||||||
"files": [
|
"files": [
|
||||||
"https://github.com/lo-th/Comfyui_three_js"
|
"https://github.com/lo-th/Comfyui_three_js"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Use power of three.js in 3d view on comfyui."
|
"description": "Custom node for ComfyUI to run three js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "AIPOQUE",
|
"author": "AIPOQUE",
|
||||||
@@ -17335,7 +17334,7 @@
|
|||||||
"https://github.com/dymokomi/comfyui_dygen"
|
"https://github.com/dymokomi/comfyui_dygen"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "NODES: DY Image Quantize, DY Image Cluster, DY Image Palette, DY Image Masks, Image List to Grid, DY Image Scaler, DY Random Lines, DY Adaptive Color Lines, DY Adaptive Color Circles, DY Adaptive Color Rectangles, DY Binary Pattern Stamper"
|
"description": "NODES: DY Image Quantize, DY Image Cluster, DY Image Palette, DY Image Masks, Image List to Grid"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "bananasss00",
|
"author": "bananasss00",
|
||||||
@@ -17357,16 +17356,6 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "ComfyUI-SoundHub is a collection of audio processing nodes designed for ComfyUI, enabling seamless audio processing and generation within your ComfyUI workflows."
|
"description": "ComfyUI-SoundHub is a collection of audio processing nodes designed for ComfyUI, enabling seamless audio processing and generation within your ComfyUI workflows."
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"author": "Yuan-ManX",
|
|
||||||
"title": "ComfyUI-LLaMA-Mesh",
|
|
||||||
"reference": "https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "ComfyUI nodes for LLaMA-Mesh model."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "Starnodes2024",
|
"author": "Starnodes2024",
|
||||||
"title": "ComfyUI_StarNodes",
|
"title": "ComfyUI_StarNodes",
|
||||||
@@ -17418,59 +17407,6 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "NODES:AIRedoon Image Caption.\nAnalyze image tagger"
|
"description": "NODES:AIRedoon Image Caption.\nAnalyze image tagger"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"author": "zefu-lu",
|
|
||||||
"title": "ComfyUI_InstantX_SD35_Large_IPAdapter",
|
|
||||||
"id": "comfyui-instantx-sd3-5-large-ipadapter",
|
|
||||||
"reference": "https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Custom ComfyUI node for using InstantX SD3.5-Large IPAdapter"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Regi E",
|
|
||||||
"title": "Easy Pony",
|
|
||||||
"id": "comfyui-easy-pony",
|
|
||||||
"reference": "https://github.com/regiellis/ComfyUI-EasyPony",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/regiellis/ComfyUI-EasyPony"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Simple node to assits with prompting for Pony models"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "steelan9199",
|
|
||||||
"title": "ComfyUI-Teeth",
|
|
||||||
"reference": "https://github.com/steelan9199/ComfyUI-Teeth",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/steelan9199/ComfyUI-Teeth"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Index List, TextSplitByDelimiter"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "mrhan1993",
|
|
||||||
"title": "ComfyUI-Fooocus",
|
|
||||||
"reference": "https://github.com/mrhan1993/ComfyUI-Fooocus",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/mrhan1993/ComfyUI-Fooocus"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This extension provides image generation features based on Fooocus."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Kling AI",
|
|
||||||
"title": "ComfyUI-KLingAI-API",
|
|
||||||
"reference": "https://github.com/KwaiVGI/ComfyUI-KLingAI-API",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Provide high-quality video and image generation capabilities, meeting creators' needs for creative content production and management through more convenient operations, richer functionalities, professional parameters, and stunning effects."
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1121,7 +1121,6 @@
|
|||||||
"https://github.com/Acly/comfyui-tooling-nodes": [
|
"https://github.com/Acly/comfyui-tooling-nodes": [
|
||||||
[
|
[
|
||||||
"ETN_ApplyMaskToImage",
|
"ETN_ApplyMaskToImage",
|
||||||
"ETN_ApplyReferenceImages",
|
|
||||||
"ETN_AttentionMask",
|
"ETN_AttentionMask",
|
||||||
"ETN_BackgroundRegion",
|
"ETN_BackgroundRegion",
|
||||||
"ETN_CropImage",
|
"ETN_CropImage",
|
||||||
@@ -1142,7 +1141,6 @@
|
|||||||
"ETN_MergeImageTile",
|
"ETN_MergeImageTile",
|
||||||
"ETN_NSFWFilter",
|
"ETN_NSFWFilter",
|
||||||
"ETN_Parameter",
|
"ETN_Parameter",
|
||||||
"ETN_ReferenceImage",
|
|
||||||
"ETN_SendImageWebSocket",
|
"ETN_SendImageWebSocket",
|
||||||
"ETN_TileLayout",
|
"ETN_TileLayout",
|
||||||
"ETN_Translate"
|
"ETN_Translate"
|
||||||
@@ -3471,6 +3469,14 @@
|
|||||||
"title_aux": "Hellrunner's Magical Nodes"
|
"title_aux": "Hellrunner's Magical Nodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections": [
|
||||||
|
[
|
||||||
|
"HighlightConnections"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "comfyui-highlight-connections"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [
|
"https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [
|
||||||
[
|
[
|
||||||
"Load Prompt Travel file",
|
"Load Prompt Travel file",
|
||||||
@@ -3488,8 +3494,6 @@
|
|||||||
"https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [
|
"https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [
|
||||||
[
|
[
|
||||||
"AgentMemoryProvider",
|
"AgentMemoryProvider",
|
||||||
"AgentNode",
|
|
||||||
"BasicRecursionFilterNode",
|
|
||||||
"DocumentProcessor",
|
"DocumentProcessor",
|
||||||
"LinuxMemoryDirectory",
|
"LinuxMemoryDirectory",
|
||||||
"QueryNode"
|
"QueryNode"
|
||||||
@@ -3672,7 +3676,6 @@
|
|||||||
"IsulionClothingGenerator",
|
"IsulionClothingGenerator",
|
||||||
"IsulionCuteAnimalRandom",
|
"IsulionCuteAnimalRandom",
|
||||||
"IsulionEmotionGenerator",
|
"IsulionEmotionGenerator",
|
||||||
"IsulionEpochGenerator",
|
|
||||||
"IsulionFantasyRaceGenerator",
|
"IsulionFantasyRaceGenerator",
|
||||||
"IsulionHabitatGenerator",
|
"IsulionHabitatGenerator",
|
||||||
"IsulionLoadImagesNode",
|
"IsulionLoadImagesNode",
|
||||||
@@ -4399,19 +4402,6 @@
|
|||||||
"title_aux": "ComfyUI-DenoiseChooser"
|
"title_aux": "ComfyUI-DenoiseChooser"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API": [
|
|
||||||
[
|
|
||||||
"Client",
|
|
||||||
"Image Generator",
|
|
||||||
"Image2Video",
|
|
||||||
"KLingAI Preview Video",
|
|
||||||
"Text2Video",
|
|
||||||
"Virtual Try On"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-KLingAI-API"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [
|
"https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [
|
||||||
[
|
[
|
||||||
"SendToDiscordWebhook"
|
"SendToDiscordWebhook"
|
||||||
@@ -6083,16 +6073,6 @@
|
|||||||
"title_aux": "ComfyUI-LexTools"
|
"title_aux": "ComfyUI-LexTools"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/SS-snap/ComfyUI-Snap_Processing": [
|
|
||||||
[
|
|
||||||
"AreaCalculator",
|
|
||||||
"PyQtCanvasNode",
|
|
||||||
"Snapload"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "Snap Processing for Comfyui"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/SamKhoze/ComfyUI-DeepFuze": [
|
"https://github.com/SamKhoze/ComfyUI-DeepFuze": [
|
||||||
[
|
[
|
||||||
"DeepFuze Save",
|
"DeepFuze Save",
|
||||||
@@ -8454,16 +8434,6 @@
|
|||||||
"title_aux": "MergeBlockWeighted_fo_ComfyUI"
|
"title_aux": "MergeBlockWeighted_fo_ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh": [
|
|
||||||
[
|
|
||||||
"Apply Gradient Color",
|
|
||||||
"Chat LLaMa Mesh",
|
|
||||||
"Visualize Mesh"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-LLaMA-Mesh"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/Yuan-ManX/ComfyUI-SoundHub": [
|
"https://github.com/Yuan-ManX/ComfyUI-SoundHub": [
|
||||||
[
|
[
|
||||||
"Load Audio",
|
"Load Audio",
|
||||||
@@ -8913,7 +8883,6 @@
|
|||||||
"https://github.com/ai-shizuka/ComfyUI-tbox": [
|
"https://github.com/ai-shizuka/ComfyUI-tbox": [
|
||||||
[
|
[
|
||||||
"AnimalPosePreprocessor",
|
"AnimalPosePreprocessor",
|
||||||
"BatchManager",
|
|
||||||
"ConstrainImageNode",
|
"ConstrainImageNode",
|
||||||
"DWPosePreprocessor",
|
"DWPosePreprocessor",
|
||||||
"DWPreprocessor",
|
"DWPreprocessor",
|
||||||
@@ -8923,12 +8892,7 @@
|
|||||||
"ImageSaver",
|
"ImageSaver",
|
||||||
"ImageSize",
|
"ImageSize",
|
||||||
"ImagesSaver",
|
"ImagesSaver",
|
||||||
"MaskAddNode",
|
"MiDaSDepthPreprocessor"
|
||||||
"MiDaSDepthPreprocessor",
|
|
||||||
"VideoInfo",
|
|
||||||
"VideoLoader",
|
|
||||||
"VideoSaver",
|
|
||||||
"WatermarkNode"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "tstandley",
|
"author": "tstandley",
|
||||||
@@ -9433,7 +9397,6 @@
|
|||||||
"Sage_GetFileHash",
|
"Sage_GetFileHash",
|
||||||
"Sage_GetInfoFromHash",
|
"Sage_GetInfoFromHash",
|
||||||
"Sage_GetModelJSONFromHash",
|
"Sage_GetModelJSONFromHash",
|
||||||
"Sage_IterOverFiles",
|
|
||||||
"Sage_JoinText",
|
"Sage_JoinText",
|
||||||
"Sage_KSampler",
|
"Sage_KSampler",
|
||||||
"Sage_LoraStack",
|
"Sage_LoraStack",
|
||||||
@@ -9547,10 +9510,6 @@
|
|||||||
"SaveImageExtended"
|
"SaveImageExtended"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "AudioscavengeR",
|
|
||||||
"description": "1 custom node to save your pictures in various folders and formats.",
|
|
||||||
"nickname": "Save Image Extended",
|
|
||||||
"title": "Save Image Extended",
|
|
||||||
"title_aux": "Save Image Extended for ComfyUI"
|
"title_aux": "Save Image Extended for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -12883,17 +12842,11 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/dymokomi/comfyui_dygen": [
|
"https://github.com/dymokomi/comfyui_dygen": [
|
||||||
[
|
[
|
||||||
"AdaptiveColorCircles",
|
|
||||||
"AdaptiveColorLines",
|
|
||||||
"AdaptiveColorRectangles",
|
|
||||||
"BinaryPatternStamper",
|
|
||||||
"DYImageCluster",
|
"DYImageCluster",
|
||||||
"DYImageMasks",
|
"DYImageMasks",
|
||||||
"DYImagePalette",
|
"DYImagePalette",
|
||||||
"DYImageQuantize",
|
"DYImageQuantize",
|
||||||
"ImageListToGrid",
|
"ImageListToGrid"
|
||||||
"ImageScaler",
|
|
||||||
"RandomLines"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "comfyui_dygen"
|
"title_aux": "comfyui_dygen"
|
||||||
@@ -14544,7 +14497,6 @@
|
|||||||
"VAEDecode_party",
|
"VAEDecode_party",
|
||||||
"accuweather_tool",
|
"accuweather_tool",
|
||||||
"advance_ebd_tool",
|
"advance_ebd_tool",
|
||||||
"aisuite_loader",
|
|
||||||
"any2str",
|
"any2str",
|
||||||
"any_switcher",
|
"any_switcher",
|
||||||
"api_function",
|
"api_function",
|
||||||
@@ -17766,12 +17718,7 @@
|
|||||||
"Added Layer Info To Array",
|
"Added Layer Info To Array",
|
||||||
"Enhanced Random Light Source",
|
"Enhanced Random Light Source",
|
||||||
"Float Relay",
|
"Float Relay",
|
||||||
"HLFrequencyDetailRestore",
|
|
||||||
"Image Add Alpha",
|
|
||||||
"Image Frequency Analyzer",
|
|
||||||
"Image Relay",
|
"Image Relay",
|
||||||
"Image Remove Alpha",
|
|
||||||
"Image Resize With Padding",
|
|
||||||
"Init Layer Info Array",
|
"Init Layer Info Array",
|
||||||
"Int Relay",
|
"Int Relay",
|
||||||
"Layer Image Seleted",
|
"Layer Image Seleted",
|
||||||
@@ -17891,9 +17838,7 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [
|
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [
|
||||||
[
|
[
|
||||||
"AddMaskForICLora",
|
"AddMaskForICLora"
|
||||||
"ConcatContextWindow",
|
|
||||||
"CreateContextWindow"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "Comfyui-In-Context-Lora-Utils"
|
"title_aux": "Comfyui-In-Context-Lora-Utils"
|
||||||
@@ -19025,162 +18970,6 @@
|
|||||||
"title_aux": "ComfyUI_Seamless_Patten"
|
"title_aux": "ComfyUI_Seamless_Patten"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/mrhan1993/ComfyUI-Fooocus": [
|
|
||||||
[
|
|
||||||
"AlignYourStepsScheduler",
|
|
||||||
"BasicScheduler",
|
|
||||||
"CLIPLoader",
|
|
||||||
"CLIPMergeSimple",
|
|
||||||
"CLIPSave",
|
|
||||||
"CLIPSetLastLayer",
|
|
||||||
"CLIPTextEncode",
|
|
||||||
"CLIPTextEncodeSDXL",
|
|
||||||
"CLIPTextEncodeSDXLRefiner",
|
|
||||||
"CLIPVisionEncode",
|
|
||||||
"CLIPVisionLoader",
|
|
||||||
"Canny",
|
|
||||||
"CheckpointLoader",
|
|
||||||
"CheckpointLoaderSimple",
|
|
||||||
"CheckpointSave",
|
|
||||||
"ConditioningAverage",
|
|
||||||
"ConditioningCombine",
|
|
||||||
"ConditioningConcat",
|
|
||||||
"ConditioningSetArea",
|
|
||||||
"ConditioningSetAreaPercentage",
|
|
||||||
"ConditioningSetMask",
|
|
||||||
"ConditioningSetTimestepRange",
|
|
||||||
"ConditioningZeroOut",
|
|
||||||
"ControlNetApply",
|
|
||||||
"ControlNetApplyAdvanced",
|
|
||||||
"ControlNetLoader",
|
|
||||||
"CropMask",
|
|
||||||
"DiffControlNetLoader",
|
|
||||||
"DiffusersLoader",
|
|
||||||
"DualCLIPLoader",
|
|
||||||
"EmptyImage",
|
|
||||||
"EmptyLatentImage",
|
|
||||||
"EnhanceControl",
|
|
||||||
"EnhanceControls",
|
|
||||||
"ExponentialScheduler",
|
|
||||||
"FeatherMask",
|
|
||||||
"FlipSigmas",
|
|
||||||
"FooocusSampler",
|
|
||||||
"FooocusSettings",
|
|
||||||
"FreeU",
|
|
||||||
"FreeU_V2",
|
|
||||||
"GLIGENLoader",
|
|
||||||
"GLIGENTextBoxApply",
|
|
||||||
"GrowMask",
|
|
||||||
"HyperTile",
|
|
||||||
"HypernetworkLoader",
|
|
||||||
"ImageBatch",
|
|
||||||
"ImageBlend",
|
|
||||||
"ImageBlur",
|
|
||||||
"ImageColorToMask",
|
|
||||||
"ImageCompositeMasked",
|
|
||||||
"ImageCrop",
|
|
||||||
"ImageInvert",
|
|
||||||
"ImageOnlyCheckpointLoader",
|
|
||||||
"ImageOnlyCheckpointSave",
|
|
||||||
"ImagePadForOutpaint",
|
|
||||||
"ImagePrompts",
|
|
||||||
"ImageQuantize",
|
|
||||||
"ImageScale",
|
|
||||||
"ImageScaleBy",
|
|
||||||
"ImageScaleToTotalPixels",
|
|
||||||
"ImageSharpen",
|
|
||||||
"ImageToMask",
|
|
||||||
"ImageUpscaleWithModel",
|
|
||||||
"InpaintModelConditioning",
|
|
||||||
"InpaintOutpaint",
|
|
||||||
"InvertMask",
|
|
||||||
"JoinImageWithAlpha",
|
|
||||||
"KSampler",
|
|
||||||
"KSamplerAdvanced",
|
|
||||||
"KSamplerSelect",
|
|
||||||
"KarrasScheduler",
|
|
||||||
"LatentAdd",
|
|
||||||
"LatentBatch",
|
|
||||||
"LatentBatchSeedBehavior",
|
|
||||||
"LatentBlend",
|
|
||||||
"LatentComposite",
|
|
||||||
"LatentCompositeMasked",
|
|
||||||
"LatentCrop",
|
|
||||||
"LatentFlip",
|
|
||||||
"LatentFromBatch",
|
|
||||||
"LatentInterpolate",
|
|
||||||
"LatentMultiply",
|
|
||||||
"LatentRotate",
|
|
||||||
"LatentSubtract",
|
|
||||||
"LatentUpscale",
|
|
||||||
"LatentUpscaleBy",
|
|
||||||
"LoadImage",
|
|
||||||
"LoadImageMask",
|
|
||||||
"LoadLatent",
|
|
||||||
"LoraLoader",
|
|
||||||
"LoraLoaderModelOnly",
|
|
||||||
"LoraStacks",
|
|
||||||
"MaskComposite",
|
|
||||||
"MaskToImage",
|
|
||||||
"ModelMergeAdd",
|
|
||||||
"ModelMergeBlocks",
|
|
||||||
"ModelMergeSimple",
|
|
||||||
"ModelMergeSubtract",
|
|
||||||
"ModelSamplingContinuousEDM",
|
|
||||||
"ModelSamplingDiscrete",
|
|
||||||
"PatchModelAddDownscale",
|
|
||||||
"PerpNeg",
|
|
||||||
"PhotoMakerEncode",
|
|
||||||
"PhotoMakerLoader",
|
|
||||||
"PolyexponentialScheduler",
|
|
||||||
"PorterDuffImageComposite",
|
|
||||||
"PreviewImage",
|
|
||||||
"RebatchImages",
|
|
||||||
"RebatchLatents",
|
|
||||||
"RepeatImageBatch",
|
|
||||||
"RepeatLatentBatch",
|
|
||||||
"RescaleCFG",
|
|
||||||
"SDTurboScheduler",
|
|
||||||
"SD_4XUpscale_Conditioning",
|
|
||||||
"SVD_img2vid_Conditioning",
|
|
||||||
"SamplerCustom",
|
|
||||||
"SamplerDPMPP_2M_SDE",
|
|
||||||
"SamplerDPMPP_SDE",
|
|
||||||
"SamplerTCD",
|
|
||||||
"SaveAnimatedPNG",
|
|
||||||
"SaveAnimatedWEBP",
|
|
||||||
"SaveImage",
|
|
||||||
"SaveLatent",
|
|
||||||
"SelfAttentionGuidance",
|
|
||||||
"SetLatentNoiseMask",
|
|
||||||
"SolidMask",
|
|
||||||
"SplitImageWithAlpha",
|
|
||||||
"SplitSigmas",
|
|
||||||
"StableZero123_Conditioning",
|
|
||||||
"StableZero123_Conditioning_Batched",
|
|
||||||
"StyleModelApply",
|
|
||||||
"StyleModelLoader",
|
|
||||||
"TomePatchModel",
|
|
||||||
"UNETLoader",
|
|
||||||
"UpscaleModelLoader",
|
|
||||||
"UpscaleVary",
|
|
||||||
"VAEDecode",
|
|
||||||
"VAEDecodeTiled",
|
|
||||||
"VAEEncode",
|
|
||||||
"VAEEncodeForInpaint",
|
|
||||||
"VAEEncodeTiled",
|
|
||||||
"VAELoader",
|
|
||||||
"VAESave",
|
|
||||||
"VPScheduler",
|
|
||||||
"VideoLinearCFGGuidance",
|
|
||||||
"unCLIPCheckpointLoader",
|
|
||||||
"unCLIPConditioning"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"author": "Konie",
|
|
||||||
"title_aux": "ComfyUI-Fooocus"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [
|
"https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [
|
||||||
[
|
[
|
||||||
"ConcatStrings",
|
"ConcatStrings",
|
||||||
@@ -20359,14 +20148,6 @@
|
|||||||
"title_aux": "ComfyUI-Prediction"
|
"title_aux": "ComfyUI-Prediction"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/regiellis/ComfyUI-EasyPony": [
|
|
||||||
[
|
|
||||||
"EasyPony"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "Easy Pony"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/revirevy/Comfyui_saveimage_imgbb": [
|
"https://github.com/revirevy/Comfyui_saveimage_imgbb": [
|
||||||
[
|
[
|
||||||
"ImgBBUploader",
|
"ImgBBUploader",
|
||||||
@@ -21954,15 +21735,6 @@
|
|||||||
"title_aux": "ComfyUI Ollama"
|
"title_aux": "ComfyUI Ollama"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/steelan9199/ComfyUI-Teeth": [
|
|
||||||
[
|
|
||||||
"Index List",
|
|
||||||
"TextSplitByDelimiter"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-Teeth"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [
|
"https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [
|
||||||
[
|
[
|
||||||
"GridImageSplitter"
|
"GridImageSplitter"
|
||||||
@@ -22451,14 +22223,6 @@
|
|||||||
"title_aux": "TTools for ComfyUI"
|
"title_aux": "TTools for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper": [
|
|
||||||
[
|
|
||||||
"rgb2x"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_rgbx_Wrapper"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
|
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
|
||||||
[
|
[
|
||||||
"CaptureWebcam",
|
"CaptureWebcam",
|
||||||
@@ -23978,14 +23742,6 @@
|
|||||||
"title_aux": "comfyui_visual_anagram"
|
"title_aux": "comfyui_visual_anagram"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter": [
|
|
||||||
[
|
|
||||||
"SD35LargeIPAdapterLoader"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_InstantX_SD35_Large_IPAdapter"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/zer0TF/cute-comfy": [
|
"https://github.com/zer0TF/cute-comfy": [
|
||||||
[
|
[
|
||||||
"Cute.Placeholder"
|
"Cute.Placeholder"
|
||||||
@@ -24114,6 +23870,19 @@
|
|||||||
"title_aux": "ComfyUI_Bxb"
|
"title_aux": "ComfyUI_Bxb"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/zmwv823/ComfyUI_Ctrlora": [
|
||||||
|
[
|
||||||
|
"UL_Image_Generation_Ctrlora_AIO_Preprocessor",
|
||||||
|
"UL_Image_Generation_Ctrlora_Condition_Params",
|
||||||
|
"UL_Image_Generation_Ctrlora_Sampler",
|
||||||
|
"UL_Image_Generation_Ctrlora_loader",
|
||||||
|
"UL_Image_Process_Prepare_Img_for_Inpaint",
|
||||||
|
"UL_Image_Process_Prepare_Img_for_Outpaint"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI_Ctrlora"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [
|
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [
|
||||||
[
|
[
|
||||||
"ZcDrawShape"
|
"ZcDrawShape"
|
||||||
|
|||||||
2232
github-stats.json
2232
github-stats.json
File diff suppressed because it is too large
Load Diff
0
glob/__init__.py
Normal file
0
glob/__init__.py
Normal file
174
glob/git_wrapper.py
Normal file
174
glob/git_wrapper.py
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
import pygit2
|
||||||
|
import os
|
||||||
|
from tqdm import tqdm
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
class GitProgress(pygit2.RemoteCallbacks):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.pbar = None
|
||||||
|
|
||||||
|
def transfer_progress(self, stats):
|
||||||
|
if self.pbar is None:
|
||||||
|
self.pbar = tqdm(total=stats.total_objects, unit="obj", desc="Fetching objects")
|
||||||
|
self.pbar.n = stats.received_objects
|
||||||
|
self.pbar.refresh()
|
||||||
|
if stats.received_objects == stats.total_objects:
|
||||||
|
self.pbar.close()
|
||||||
|
self.pbar = None
|
||||||
|
|
||||||
|
|
||||||
|
class Remote:
|
||||||
|
def __init__(self, repo, remote):
|
||||||
|
self.repo = repo
|
||||||
|
self.remote = remote
|
||||||
|
|
||||||
|
def get_default_branch(self, remote_name='origin'):
|
||||||
|
remote = self.repo.remotes[remote_name]
|
||||||
|
remote.fetch() # Fetch latest data from the remote
|
||||||
|
|
||||||
|
# Look for the remote HEAD reference
|
||||||
|
head_ref = f'refs/remotes/{remote_name}/HEAD'
|
||||||
|
if head_ref in self.repo.references:
|
||||||
|
# Resolve the symbolic reference to get the actual branch
|
||||||
|
target_ref = self.repo.references[head_ref].resolve().name
|
||||||
|
return target_ref.replace(f'refs/remotes/{remote_name}/', '')
|
||||||
|
else:
|
||||||
|
raise ValueError(f"Could not determine the default branch for remote '{remote_name}'")
|
||||||
|
|
||||||
|
|
||||||
|
def pull(self, remote_name='origin'):
|
||||||
|
try:
|
||||||
|
# Detect if we are in detached HEAD state
|
||||||
|
if self.repo.head_is_detached:
|
||||||
|
# Find the default branch
|
||||||
|
branch_name = self.get_default_branch(remote_name)
|
||||||
|
|
||||||
|
# Checkout the branch if exists, or create it
|
||||||
|
branch_ref = f"refs/heads/{branch_name}"
|
||||||
|
if branch_ref in self.repo.references:
|
||||||
|
self.repo.checkout(branch_ref)
|
||||||
|
else:
|
||||||
|
# Create and checkout the branch
|
||||||
|
target_commit = self.repo.lookup_reference(f"refs/remotes/{remote_name}/{branch_name}").target
|
||||||
|
self.repo.create_branch(branch_name, self.repo[target_commit])
|
||||||
|
self.repo.checkout(branch_ref)
|
||||||
|
|
||||||
|
# Get the current branch
|
||||||
|
current_branch = self.repo.head.shorthand
|
||||||
|
|
||||||
|
# Fetch from the remote
|
||||||
|
remote = self.repo.remotes[remote_name]
|
||||||
|
remote.fetch()
|
||||||
|
|
||||||
|
# Merge changes from the remote
|
||||||
|
remote_branch_ref = f"refs/remotes/{remote_name}/{current_branch}"
|
||||||
|
remote_branch = self.repo.lookup_reference(remote_branch_ref).target
|
||||||
|
|
||||||
|
self.repo.merge(remote_branch)
|
||||||
|
|
||||||
|
# Check for merge conflicts
|
||||||
|
if self.repo.index.conflicts is not None:
|
||||||
|
print("Merge conflicts detected!")
|
||||||
|
for conflict in self.repo.index.conflicts:
|
||||||
|
print(f"Conflict: {conflict}")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Commit the merge
|
||||||
|
user = self.repo.default_signature
|
||||||
|
merge_commit = self.repo.create_commit(
|
||||||
|
'HEAD',
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
f"Merge branch '{current_branch}' from {remote_name}",
|
||||||
|
self.repo.index.write_tree(),
|
||||||
|
[self.repo.head.target, remote_branch]
|
||||||
|
)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
traceback.print_exc()
|
||||||
|
print(f"An error occurred: {e}")
|
||||||
|
self.repo.state_cleanup() # Clean up the merge state if necessary
|
||||||
|
|
||||||
|
|
||||||
|
class Repo:
|
||||||
|
def __init__(self, repo_path):
|
||||||
|
self.repo = pygit2.Repository(repo_path)
|
||||||
|
|
||||||
|
def remote(self, name="origin"):
|
||||||
|
return Remote(self.repo, self.repo.remotes[name])
|
||||||
|
|
||||||
|
def update_recursive(self):
|
||||||
|
update_submodules(self.repo)
|
||||||
|
|
||||||
|
|
||||||
|
def resolve_repository_state(repo):
|
||||||
|
if repo.is_empty:
|
||||||
|
raise ValueError("Repository is empty. Cannot proceed with submodule update.")
|
||||||
|
|
||||||
|
try:
|
||||||
|
state = repo.state() # Call the state method
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error retrieving repository state: {e}")
|
||||||
|
raise
|
||||||
|
|
||||||
|
if state != pygit2.GIT_REPOSITORY_STATE_NONE:
|
||||||
|
if state in (pygit2.GIT_REPOSITORY_STATE_MERGE, pygit2.GIT_REPOSITORY_STATE_REVERT):
|
||||||
|
print(f"Conflict detected. Cleaning up repository state... {repo.path} / {state}")
|
||||||
|
repo.state_cleanup()
|
||||||
|
print("Repository state cleaned up.")
|
||||||
|
else:
|
||||||
|
raise RuntimeError(f"Unsupported repository state: {state}")
|
||||||
|
|
||||||
|
|
||||||
|
def update_submodules(repo):
|
||||||
|
try:
|
||||||
|
resolve_repository_state(repo)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error resolving repository state: {e}")
|
||||||
|
return
|
||||||
|
|
||||||
|
gitmodules_path = os.path.join(repo.workdir, ".gitmodules")
|
||||||
|
if not os.path.exists(gitmodules_path):
|
||||||
|
return
|
||||||
|
|
||||||
|
with open(gitmodules_path, "r") as f:
|
||||||
|
lines = f.readlines()
|
||||||
|
|
||||||
|
submodules = []
|
||||||
|
submodule_path = None
|
||||||
|
submodule_url = None
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
if line.strip().startswith("[submodule"):
|
||||||
|
if submodule_path and submodule_url:
|
||||||
|
submodules.append((submodule_path, submodule_url))
|
||||||
|
submodule_path = None
|
||||||
|
submodule_url = None
|
||||||
|
elif line.strip().startswith("path ="):
|
||||||
|
submodule_path = line.strip().split("=", 1)[1].strip()
|
||||||
|
elif line.strip().startswith("url ="):
|
||||||
|
submodule_url = line.strip().split("=", 1)[1].strip()
|
||||||
|
|
||||||
|
if submodule_path and submodule_url:
|
||||||
|
submodules.append((submodule_path, submodule_url))
|
||||||
|
|
||||||
|
for path, url in submodules:
|
||||||
|
submodule_repo_path = os.path.join(repo.workdir, path)
|
||||||
|
|
||||||
|
print(f"submodule_repo_path: {submodule_repo_path}")
|
||||||
|
|
||||||
|
if not os.path.exists(submodule_repo_path):
|
||||||
|
print(f"Cloning submodule {path}...")
|
||||||
|
pygit2.clone_repository(url, submodule_repo_path, callbacks=GitProgress())
|
||||||
|
else:
|
||||||
|
print(f"Updating submodule {path}...")
|
||||||
|
submodule_repo = Repo(submodule_repo_path)
|
||||||
|
submodule_repo.remote("origin").pull()
|
||||||
|
|
||||||
|
update_submodules(submodule_repo)
|
||||||
|
|
||||||
|
|
||||||
|
def clone_from(git_url, repo_dir, recursive=True):
|
||||||
|
pygit2.clone_repository(git_url, repo_dir, callbacks=GitProgress())
|
||||||
|
Repo(repo_dir).update_recursive()
|
||||||
@@ -23,7 +23,7 @@ sys.path.append(glob_path)
|
|||||||
import cm_global
|
import cm_global
|
||||||
from manager_util import *
|
from manager_util import *
|
||||||
|
|
||||||
version = [2, 54]
|
version = [2, 53]
|
||||||
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
|
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -248,45 +248,23 @@ import urllib.request
|
|||||||
|
|
||||||
|
|
||||||
def get_model_dir(data):
|
def get_model_dir(data):
|
||||||
if 'download_model_base' in folder_paths.folder_names_and_paths:
|
|
||||||
models_base = folder_paths.folder_names_and_paths['download_model_base'][0][0]
|
|
||||||
else:
|
|
||||||
models_base = folder_paths.models_dir
|
|
||||||
|
|
||||||
def resolve_custom_node(save_path):
|
|
||||||
save_path = save_path[13:] # remove 'custom_nodes/'
|
|
||||||
repo_name = os.path.dirname(save_path) # get custom node repo name
|
|
||||||
repo_path = core.lookup_installed_custom_nodes(repo_name)
|
|
||||||
if repo_path is not None and repo_path[0]:
|
|
||||||
# Returns the retargeted path based on the actually installed repository
|
|
||||||
return os.path.join(os.path.dirname(repo_path[1]), save_path)
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if data['save_path'] != 'default':
|
if data['save_path'] != 'default':
|
||||||
if '..' in data['save_path'] or data['save_path'].startswith('/'):
|
if '..' in data['save_path'] or data['save_path'].startswith('/'):
|
||||||
print(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.")
|
print(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.")
|
||||||
base_model = os.path.join(models_base, "etc")
|
base_model = os.path.join(folder_paths.models_dir, "etc")
|
||||||
else:
|
else:
|
||||||
if data['save_path'].startswith("custom_nodes"):
|
if data['save_path'].startswith("custom_nodes"):
|
||||||
base_model = resolve_custom_node(data['save_path'])
|
base_model = os.path.join(core.comfy_path, data['save_path'])
|
||||||
if base_model is None:
|
|
||||||
print(f"[ComfyUI-Manager] The target custom node for model download is not installed: {data['save_path']}")
|
|
||||||
return None
|
|
||||||
else:
|
else:
|
||||||
base_model = os.path.join(models_base, data['save_path'])
|
base_model = os.path.join(folder_paths.models_dir, data['save_path'])
|
||||||
else:
|
else:
|
||||||
model_type = data['type']
|
model_type = data['type']
|
||||||
if model_type == "checkpoints" or model_type == "checkpoint":
|
if model_type == "checkpoints" or model_type == "checkpoint":
|
||||||
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
||||||
elif model_type == "unclip":
|
elif model_type == "unclip":
|
||||||
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
||||||
elif model_type == "clip" or model_type == "text_encoders":
|
elif model_type == "clip":
|
||||||
if folder_paths.folder_names_and_paths.get("text_encoders"):
|
base_model = folder_paths.folder_names_and_paths["clip"][0][0]
|
||||||
base_model = folder_paths.folder_names_and_paths["text_encoders"][0][0]
|
|
||||||
else:
|
|
||||||
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
|
|
||||||
base_model = folder_paths.folder_names_and_paths["clip"][0][0] # outdated version
|
|
||||||
elif model_type == "VAE":
|
elif model_type == "VAE":
|
||||||
base_model = folder_paths.folder_names_and_paths["vae"][0][0]
|
base_model = folder_paths.folder_names_and_paths["vae"][0][0]
|
||||||
elif model_type == "lora":
|
elif model_type == "lora":
|
||||||
@@ -312,17 +290,14 @@ def get_model_dir(data):
|
|||||||
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
|
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
|
||||||
base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version
|
base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version
|
||||||
else:
|
else:
|
||||||
base_model = os.path.join(models_base, "etc")
|
base_model = os.path.join(folder_paths.models_dir, "etc")
|
||||||
|
|
||||||
return base_model
|
return base_model
|
||||||
|
|
||||||
|
|
||||||
def get_model_path(data):
|
def get_model_path(data):
|
||||||
base_model = get_model_dir(data)
|
base_model = get_model_dir(data)
|
||||||
if base_model is None:
|
return os.path.join(base_model, data['filename'])
|
||||||
return None
|
|
||||||
else:
|
|
||||||
return os.path.join(base_model, data['filename'])
|
|
||||||
|
|
||||||
|
|
||||||
def check_custom_nodes_installed(json_obj, do_fetch=False, do_update_check=True, do_update=False):
|
def check_custom_nodes_installed(json_obj, do_fetch=False, do_update_check=True, do_update=False):
|
||||||
|
|||||||
@@ -14,17 +14,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
"author": "StableDiffusionVN",
|
|
||||||
"title": "SDVN_Comfy_node",
|
|
||||||
"reference": "https://github.com/StableDiffusionVN/SDVN_Comfy_node",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/StableDiffusionVN/SDVN_Comfy_node"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES:SDVN Load Image"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "anze",
|
"author": "anze",
|
||||||
"title": "ComfyUI-OIDN [WIP]",
|
"title": "ComfyUI-OIDN [WIP]",
|
||||||
|
|||||||
@@ -1177,14 +1177,6 @@
|
|||||||
"title_aux": "ComfyUI_Remaker_FaceSwap"
|
"title_aux": "ComfyUI_Remaker_FaceSwap"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/StableDiffusionVN/SDVN_Comfy_node": [
|
|
||||||
[
|
|
||||||
"Load Image Url"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "SDVN_Comfy_node"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/StartHua/Comfyui_CSDMT_CXH": [
|
"https://github.com/StartHua/Comfyui_CSDMT_CXH": [
|
||||||
[
|
[
|
||||||
"CSD"
|
"CSD"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -10,16 +10,6 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
"author": "HentaiGirlfriendDotCom",
|
|
||||||
"title": "comfyui-highlight-connections [REMOVED]",
|
|
||||||
"reference": "https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A node that can be dropped into a group. When a node is then clicked within that group, all nodes and connections in that group get greyed out and the connections from the clicked node go bright red."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "huangyangke",
|
"author": "huangyangke",
|
||||||
"title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]",
|
"title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]",
|
||||||
|
|||||||
@@ -10,78 +10,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
"author": "Kling AI",
|
|
||||||
"title": "ComfyUI-KLingAI-API",
|
|
||||||
"reference": "https://github.com/KwaiVGI/ComfyUI-KLingAI-API",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Provide high-quality video and image generation capabilities, meeting creators' needs for creative content production and management through more convenient operations, richer functionalities, professional parameters, and stunning effects."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "toyxyz",
|
|
||||||
"title": "ComfyUI_rgbx_Wrapper",
|
|
||||||
"reference": "https://github.com/toyxyz/ComfyUI_rgbx_Wrapper",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This is the rgb2x wrapper node for ComfyUI. The required models are automatically downloaded on the first run.\noriginal project : [a/https://github.com/zheng95z/rgbx](original project : https://github.com/zheng95z/rgbx)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Regi E",
|
|
||||||
"title": "Easy Pony",
|
|
||||||
"id": "comfyui-easy-pony",
|
|
||||||
"reference": "https://github.com/regiellis/ComfyUI-EasyPony",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/regiellis/ComfyUI-EasyPony"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Simple node to assits with prompting for Pony models"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Yuan-ManX",
|
|
||||||
"title": "ComfyUI-LLaMA-Mesh",
|
|
||||||
"reference": "https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "ComfyUI nodes for LLaMA-Mesh model."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "zefu-lu",
|
|
||||||
"title": "ComfyUI_InstantX_SD35_Large_IPAdapter",
|
|
||||||
"id": "comfyui-instantx-sd3-5-large-ipadapter",
|
|
||||||
"reference": "https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Custom ComfyUI node for using InstantX SD3.5-Large IPAdapter"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "mrhan1993",
|
|
||||||
"title": "ComfyUI-Fooocus",
|
|
||||||
"reference": "https://github.com/mrhan1993/ComfyUI-Fooocus",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/mrhan1993/ComfyUI-Fooocus"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This extension provides image generation features based on Fooocus."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "steelan9199",
|
|
||||||
"title": "ComfyUI-Teeth",
|
|
||||||
"reference": "https://github.com/steelan9199/ComfyUI-Teeth",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/steelan9199/ComfyUI-Teeth"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Index List, TextSplitByDelimiter"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "takemetosiberia",
|
"author": "takemetosiberia",
|
||||||
"title": "SAMURAI Nodes for ComfyUI",
|
"title": "SAMURAI Nodes for ComfyUI",
|
||||||
@@ -691,6 +619,81 @@
|
|||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Inspired by [a/InstantID](https://github.com/instantX-research/InstantID) and [a/InstantID Comfy](https://github.com/cubiq/ComfyUI_InstantID)\nThis ZenID Node has been refactored for specialized tasks like Face Swap"
|
"description": "Inspired by [a/InstantID](https://github.com/instantX-research/InstantID) and [a/InstantID Comfy](https://github.com/cubiq/ComfyUI_InstantID)\nThis ZenID Node has been refactored for specialized tasks like Face Swap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "yorkane",
|
||||||
|
"title": "ComfyUI-KYNode",
|
||||||
|
"reference": "https://github.com/yorkane/ComfyUI-KYNode",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/yorkane/ComfyUI-KYNode"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES:Advanced Lying Sigma Sampler, Save Image To target Path"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"author": "zer0thgear",
|
||||||
|
"title": "zer0 Comfy Utilities",
|
||||||
|
"id": "zer0-comfy-utils",
|
||||||
|
"reference": "https://github.com/zer0thgear/zer0-comfy-utils",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/zer0thgear/zer0-comfy-utils"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Collection of personal nodes including tavern card-related nodes, prompt manipulation related utilities, and a node to combine a list of strings back into one string."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "fallingmeteorite",
|
||||||
|
"title": "nsfw-image-check-comfyui",
|
||||||
|
"reference": "https://github.com/fallingmeteorite/nsfw-image-check-comfyui",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/fallingmeteorite/nsfw-image-check-comfyui"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES:Nsfw Image Check Node"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"author": "lquesada",
|
||||||
|
"title": "ComfyUI-Interactive",
|
||||||
|
"id": "interactive",
|
||||||
|
"reference": "https://github.com/lquesada/ComfyUI-Interactive",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/lquesada/ComfyUI-Interactive"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes that allow making the UI interactive, with selectors and switches. Enables selecting across multiple options with the click of a button to move a workflow forward."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "yondonfu",
|
||||||
|
"title": "ComfyUI-Background-Edit",
|
||||||
|
"id": "comfyui-background-edit",
|
||||||
|
"reference": "https://github.com/yondonfu/ComfyUI-Background-Edit",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/yondonfu/ComfyUI-Background-Edit"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "ComfyUI nodes for editing background of images/videos with CUDA acceleration support."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "TTPlanetPig",
|
||||||
|
"title": "Clothing Migration Kit",
|
||||||
|
"reference": "https://github.com/TTPlanetPig/Comfyui_Object_Migration",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/TTPlanetPig/Comfyui_Object_Migration"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "This is an experimental project focused on Stable Diffusion (SD) models. In a single generated image, the same object or character consistently maintains a very high level of consistency. I had already attempted to address this issue in the SDXL model."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "chenbaiyujason",
|
||||||
|
"title": "ComfyUI-SCStepFun",
|
||||||
|
"reference": "https://github.com/chenbaiyujason/ComfyUI_StepFun",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/chenbaiyujason/ComfyUI_StepFun"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "To use stepfun's library, you need an official api that supports multimodal inputs such as video and pictures [a/https://platform.stepfun.com/request-restriction](https://platform.stepfun.com/request-restriction)"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1121,7 +1121,6 @@
|
|||||||
"https://github.com/Acly/comfyui-tooling-nodes": [
|
"https://github.com/Acly/comfyui-tooling-nodes": [
|
||||||
[
|
[
|
||||||
"ETN_ApplyMaskToImage",
|
"ETN_ApplyMaskToImage",
|
||||||
"ETN_ApplyReferenceImages",
|
|
||||||
"ETN_AttentionMask",
|
"ETN_AttentionMask",
|
||||||
"ETN_BackgroundRegion",
|
"ETN_BackgroundRegion",
|
||||||
"ETN_CropImage",
|
"ETN_CropImage",
|
||||||
@@ -1142,7 +1141,6 @@
|
|||||||
"ETN_MergeImageTile",
|
"ETN_MergeImageTile",
|
||||||
"ETN_NSFWFilter",
|
"ETN_NSFWFilter",
|
||||||
"ETN_Parameter",
|
"ETN_Parameter",
|
||||||
"ETN_ReferenceImage",
|
|
||||||
"ETN_SendImageWebSocket",
|
"ETN_SendImageWebSocket",
|
||||||
"ETN_TileLayout",
|
"ETN_TileLayout",
|
||||||
"ETN_Translate"
|
"ETN_Translate"
|
||||||
@@ -3471,6 +3469,14 @@
|
|||||||
"title_aux": "Hellrunner's Magical Nodes"
|
"title_aux": "Hellrunner's Magical Nodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections": [
|
||||||
|
[
|
||||||
|
"HighlightConnections"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "comfyui-highlight-connections"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [
|
"https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [
|
||||||
[
|
[
|
||||||
"Load Prompt Travel file",
|
"Load Prompt Travel file",
|
||||||
@@ -3488,8 +3494,6 @@
|
|||||||
"https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [
|
"https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [
|
||||||
[
|
[
|
||||||
"AgentMemoryProvider",
|
"AgentMemoryProvider",
|
||||||
"AgentNode",
|
|
||||||
"BasicRecursionFilterNode",
|
|
||||||
"DocumentProcessor",
|
"DocumentProcessor",
|
||||||
"LinuxMemoryDirectory",
|
"LinuxMemoryDirectory",
|
||||||
"QueryNode"
|
"QueryNode"
|
||||||
@@ -3672,7 +3676,6 @@
|
|||||||
"IsulionClothingGenerator",
|
"IsulionClothingGenerator",
|
||||||
"IsulionCuteAnimalRandom",
|
"IsulionCuteAnimalRandom",
|
||||||
"IsulionEmotionGenerator",
|
"IsulionEmotionGenerator",
|
||||||
"IsulionEpochGenerator",
|
|
||||||
"IsulionFantasyRaceGenerator",
|
"IsulionFantasyRaceGenerator",
|
||||||
"IsulionHabitatGenerator",
|
"IsulionHabitatGenerator",
|
||||||
"IsulionLoadImagesNode",
|
"IsulionLoadImagesNode",
|
||||||
@@ -4399,19 +4402,6 @@
|
|||||||
"title_aux": "ComfyUI-DenoiseChooser"
|
"title_aux": "ComfyUI-DenoiseChooser"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API": [
|
|
||||||
[
|
|
||||||
"Client",
|
|
||||||
"Image Generator",
|
|
||||||
"Image2Video",
|
|
||||||
"KLingAI Preview Video",
|
|
||||||
"Text2Video",
|
|
||||||
"Virtual Try On"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-KLingAI-API"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [
|
"https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [
|
||||||
[
|
[
|
||||||
"SendToDiscordWebhook"
|
"SendToDiscordWebhook"
|
||||||
@@ -6083,16 +6073,6 @@
|
|||||||
"title_aux": "ComfyUI-LexTools"
|
"title_aux": "ComfyUI-LexTools"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/SS-snap/ComfyUI-Snap_Processing": [
|
|
||||||
[
|
|
||||||
"AreaCalculator",
|
|
||||||
"PyQtCanvasNode",
|
|
||||||
"Snapload"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "Snap Processing for Comfyui"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/SamKhoze/ComfyUI-DeepFuze": [
|
"https://github.com/SamKhoze/ComfyUI-DeepFuze": [
|
||||||
[
|
[
|
||||||
"DeepFuze Save",
|
"DeepFuze Save",
|
||||||
@@ -8454,16 +8434,6 @@
|
|||||||
"title_aux": "MergeBlockWeighted_fo_ComfyUI"
|
"title_aux": "MergeBlockWeighted_fo_ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh": [
|
|
||||||
[
|
|
||||||
"Apply Gradient Color",
|
|
||||||
"Chat LLaMa Mesh",
|
|
||||||
"Visualize Mesh"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-LLaMA-Mesh"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/Yuan-ManX/ComfyUI-SoundHub": [
|
"https://github.com/Yuan-ManX/ComfyUI-SoundHub": [
|
||||||
[
|
[
|
||||||
"Load Audio",
|
"Load Audio",
|
||||||
@@ -8913,7 +8883,6 @@
|
|||||||
"https://github.com/ai-shizuka/ComfyUI-tbox": [
|
"https://github.com/ai-shizuka/ComfyUI-tbox": [
|
||||||
[
|
[
|
||||||
"AnimalPosePreprocessor",
|
"AnimalPosePreprocessor",
|
||||||
"BatchManager",
|
|
||||||
"ConstrainImageNode",
|
"ConstrainImageNode",
|
||||||
"DWPosePreprocessor",
|
"DWPosePreprocessor",
|
||||||
"DWPreprocessor",
|
"DWPreprocessor",
|
||||||
@@ -8923,12 +8892,7 @@
|
|||||||
"ImageSaver",
|
"ImageSaver",
|
||||||
"ImageSize",
|
"ImageSize",
|
||||||
"ImagesSaver",
|
"ImagesSaver",
|
||||||
"MaskAddNode",
|
"MiDaSDepthPreprocessor"
|
||||||
"MiDaSDepthPreprocessor",
|
|
||||||
"VideoInfo",
|
|
||||||
"VideoLoader",
|
|
||||||
"VideoSaver",
|
|
||||||
"WatermarkNode"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "tstandley",
|
"author": "tstandley",
|
||||||
@@ -9433,7 +9397,6 @@
|
|||||||
"Sage_GetFileHash",
|
"Sage_GetFileHash",
|
||||||
"Sage_GetInfoFromHash",
|
"Sage_GetInfoFromHash",
|
||||||
"Sage_GetModelJSONFromHash",
|
"Sage_GetModelJSONFromHash",
|
||||||
"Sage_IterOverFiles",
|
|
||||||
"Sage_JoinText",
|
"Sage_JoinText",
|
||||||
"Sage_KSampler",
|
"Sage_KSampler",
|
||||||
"Sage_LoraStack",
|
"Sage_LoraStack",
|
||||||
@@ -9547,10 +9510,6 @@
|
|||||||
"SaveImageExtended"
|
"SaveImageExtended"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "AudioscavengeR",
|
|
||||||
"description": "1 custom node to save your pictures in various folders and formats.",
|
|
||||||
"nickname": "Save Image Extended",
|
|
||||||
"title": "Save Image Extended",
|
|
||||||
"title_aux": "Save Image Extended for ComfyUI"
|
"title_aux": "Save Image Extended for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -12883,17 +12842,11 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/dymokomi/comfyui_dygen": [
|
"https://github.com/dymokomi/comfyui_dygen": [
|
||||||
[
|
[
|
||||||
"AdaptiveColorCircles",
|
|
||||||
"AdaptiveColorLines",
|
|
||||||
"AdaptiveColorRectangles",
|
|
||||||
"BinaryPatternStamper",
|
|
||||||
"DYImageCluster",
|
"DYImageCluster",
|
||||||
"DYImageMasks",
|
"DYImageMasks",
|
||||||
"DYImagePalette",
|
"DYImagePalette",
|
||||||
"DYImageQuantize",
|
"DYImageQuantize",
|
||||||
"ImageListToGrid",
|
"ImageListToGrid"
|
||||||
"ImageScaler",
|
|
||||||
"RandomLines"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "comfyui_dygen"
|
"title_aux": "comfyui_dygen"
|
||||||
@@ -14544,7 +14497,6 @@
|
|||||||
"VAEDecode_party",
|
"VAEDecode_party",
|
||||||
"accuweather_tool",
|
"accuweather_tool",
|
||||||
"advance_ebd_tool",
|
"advance_ebd_tool",
|
||||||
"aisuite_loader",
|
|
||||||
"any2str",
|
"any2str",
|
||||||
"any_switcher",
|
"any_switcher",
|
||||||
"api_function",
|
"api_function",
|
||||||
@@ -17766,12 +17718,7 @@
|
|||||||
"Added Layer Info To Array",
|
"Added Layer Info To Array",
|
||||||
"Enhanced Random Light Source",
|
"Enhanced Random Light Source",
|
||||||
"Float Relay",
|
"Float Relay",
|
||||||
"HLFrequencyDetailRestore",
|
|
||||||
"Image Add Alpha",
|
|
||||||
"Image Frequency Analyzer",
|
|
||||||
"Image Relay",
|
"Image Relay",
|
||||||
"Image Remove Alpha",
|
|
||||||
"Image Resize With Padding",
|
|
||||||
"Init Layer Info Array",
|
"Init Layer Info Array",
|
||||||
"Int Relay",
|
"Int Relay",
|
||||||
"Layer Image Seleted",
|
"Layer Image Seleted",
|
||||||
@@ -17891,9 +17838,7 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [
|
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [
|
||||||
[
|
[
|
||||||
"AddMaskForICLora",
|
"AddMaskForICLora"
|
||||||
"ConcatContextWindow",
|
|
||||||
"CreateContextWindow"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "Comfyui-In-Context-Lora-Utils"
|
"title_aux": "Comfyui-In-Context-Lora-Utils"
|
||||||
@@ -19025,162 +18970,6 @@
|
|||||||
"title_aux": "ComfyUI_Seamless_Patten"
|
"title_aux": "ComfyUI_Seamless_Patten"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/mrhan1993/ComfyUI-Fooocus": [
|
|
||||||
[
|
|
||||||
"AlignYourStepsScheduler",
|
|
||||||
"BasicScheduler",
|
|
||||||
"CLIPLoader",
|
|
||||||
"CLIPMergeSimple",
|
|
||||||
"CLIPSave",
|
|
||||||
"CLIPSetLastLayer",
|
|
||||||
"CLIPTextEncode",
|
|
||||||
"CLIPTextEncodeSDXL",
|
|
||||||
"CLIPTextEncodeSDXLRefiner",
|
|
||||||
"CLIPVisionEncode",
|
|
||||||
"CLIPVisionLoader",
|
|
||||||
"Canny",
|
|
||||||
"CheckpointLoader",
|
|
||||||
"CheckpointLoaderSimple",
|
|
||||||
"CheckpointSave",
|
|
||||||
"ConditioningAverage",
|
|
||||||
"ConditioningCombine",
|
|
||||||
"ConditioningConcat",
|
|
||||||
"ConditioningSetArea",
|
|
||||||
"ConditioningSetAreaPercentage",
|
|
||||||
"ConditioningSetMask",
|
|
||||||
"ConditioningSetTimestepRange",
|
|
||||||
"ConditioningZeroOut",
|
|
||||||
"ControlNetApply",
|
|
||||||
"ControlNetApplyAdvanced",
|
|
||||||
"ControlNetLoader",
|
|
||||||
"CropMask",
|
|
||||||
"DiffControlNetLoader",
|
|
||||||
"DiffusersLoader",
|
|
||||||
"DualCLIPLoader",
|
|
||||||
"EmptyImage",
|
|
||||||
"EmptyLatentImage",
|
|
||||||
"EnhanceControl",
|
|
||||||
"EnhanceControls",
|
|
||||||
"ExponentialScheduler",
|
|
||||||
"FeatherMask",
|
|
||||||
"FlipSigmas",
|
|
||||||
"FooocusSampler",
|
|
||||||
"FooocusSettings",
|
|
||||||
"FreeU",
|
|
||||||
"FreeU_V2",
|
|
||||||
"GLIGENLoader",
|
|
||||||
"GLIGENTextBoxApply",
|
|
||||||
"GrowMask",
|
|
||||||
"HyperTile",
|
|
||||||
"HypernetworkLoader",
|
|
||||||
"ImageBatch",
|
|
||||||
"ImageBlend",
|
|
||||||
"ImageBlur",
|
|
||||||
"ImageColorToMask",
|
|
||||||
"ImageCompositeMasked",
|
|
||||||
"ImageCrop",
|
|
||||||
"ImageInvert",
|
|
||||||
"ImageOnlyCheckpointLoader",
|
|
||||||
"ImageOnlyCheckpointSave",
|
|
||||||
"ImagePadForOutpaint",
|
|
||||||
"ImagePrompts",
|
|
||||||
"ImageQuantize",
|
|
||||||
"ImageScale",
|
|
||||||
"ImageScaleBy",
|
|
||||||
"ImageScaleToTotalPixels",
|
|
||||||
"ImageSharpen",
|
|
||||||
"ImageToMask",
|
|
||||||
"ImageUpscaleWithModel",
|
|
||||||
"InpaintModelConditioning",
|
|
||||||
"InpaintOutpaint",
|
|
||||||
"InvertMask",
|
|
||||||
"JoinImageWithAlpha",
|
|
||||||
"KSampler",
|
|
||||||
"KSamplerAdvanced",
|
|
||||||
"KSamplerSelect",
|
|
||||||
"KarrasScheduler",
|
|
||||||
"LatentAdd",
|
|
||||||
"LatentBatch",
|
|
||||||
"LatentBatchSeedBehavior",
|
|
||||||
"LatentBlend",
|
|
||||||
"LatentComposite",
|
|
||||||
"LatentCompositeMasked",
|
|
||||||
"LatentCrop",
|
|
||||||
"LatentFlip",
|
|
||||||
"LatentFromBatch",
|
|
||||||
"LatentInterpolate",
|
|
||||||
"LatentMultiply",
|
|
||||||
"LatentRotate",
|
|
||||||
"LatentSubtract",
|
|
||||||
"LatentUpscale",
|
|
||||||
"LatentUpscaleBy",
|
|
||||||
"LoadImage",
|
|
||||||
"LoadImageMask",
|
|
||||||
"LoadLatent",
|
|
||||||
"LoraLoader",
|
|
||||||
"LoraLoaderModelOnly",
|
|
||||||
"LoraStacks",
|
|
||||||
"MaskComposite",
|
|
||||||
"MaskToImage",
|
|
||||||
"ModelMergeAdd",
|
|
||||||
"ModelMergeBlocks",
|
|
||||||
"ModelMergeSimple",
|
|
||||||
"ModelMergeSubtract",
|
|
||||||
"ModelSamplingContinuousEDM",
|
|
||||||
"ModelSamplingDiscrete",
|
|
||||||
"PatchModelAddDownscale",
|
|
||||||
"PerpNeg",
|
|
||||||
"PhotoMakerEncode",
|
|
||||||
"PhotoMakerLoader",
|
|
||||||
"PolyexponentialScheduler",
|
|
||||||
"PorterDuffImageComposite",
|
|
||||||
"PreviewImage",
|
|
||||||
"RebatchImages",
|
|
||||||
"RebatchLatents",
|
|
||||||
"RepeatImageBatch",
|
|
||||||
"RepeatLatentBatch",
|
|
||||||
"RescaleCFG",
|
|
||||||
"SDTurboScheduler",
|
|
||||||
"SD_4XUpscale_Conditioning",
|
|
||||||
"SVD_img2vid_Conditioning",
|
|
||||||
"SamplerCustom",
|
|
||||||
"SamplerDPMPP_2M_SDE",
|
|
||||||
"SamplerDPMPP_SDE",
|
|
||||||
"SamplerTCD",
|
|
||||||
"SaveAnimatedPNG",
|
|
||||||
"SaveAnimatedWEBP",
|
|
||||||
"SaveImage",
|
|
||||||
"SaveLatent",
|
|
||||||
"SelfAttentionGuidance",
|
|
||||||
"SetLatentNoiseMask",
|
|
||||||
"SolidMask",
|
|
||||||
"SplitImageWithAlpha",
|
|
||||||
"SplitSigmas",
|
|
||||||
"StableZero123_Conditioning",
|
|
||||||
"StableZero123_Conditioning_Batched",
|
|
||||||
"StyleModelApply",
|
|
||||||
"StyleModelLoader",
|
|
||||||
"TomePatchModel",
|
|
||||||
"UNETLoader",
|
|
||||||
"UpscaleModelLoader",
|
|
||||||
"UpscaleVary",
|
|
||||||
"VAEDecode",
|
|
||||||
"VAEDecodeTiled",
|
|
||||||
"VAEEncode",
|
|
||||||
"VAEEncodeForInpaint",
|
|
||||||
"VAEEncodeTiled",
|
|
||||||
"VAELoader",
|
|
||||||
"VAESave",
|
|
||||||
"VPScheduler",
|
|
||||||
"VideoLinearCFGGuidance",
|
|
||||||
"unCLIPCheckpointLoader",
|
|
||||||
"unCLIPConditioning"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"author": "Konie",
|
|
||||||
"title_aux": "ComfyUI-Fooocus"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [
|
"https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [
|
||||||
[
|
[
|
||||||
"ConcatStrings",
|
"ConcatStrings",
|
||||||
@@ -20359,14 +20148,6 @@
|
|||||||
"title_aux": "ComfyUI-Prediction"
|
"title_aux": "ComfyUI-Prediction"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/regiellis/ComfyUI-EasyPony": [
|
|
||||||
[
|
|
||||||
"EasyPony"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "Easy Pony"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/revirevy/Comfyui_saveimage_imgbb": [
|
"https://github.com/revirevy/Comfyui_saveimage_imgbb": [
|
||||||
[
|
[
|
||||||
"ImgBBUploader",
|
"ImgBBUploader",
|
||||||
@@ -21954,15 +21735,6 @@
|
|||||||
"title_aux": "ComfyUI Ollama"
|
"title_aux": "ComfyUI Ollama"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/steelan9199/ComfyUI-Teeth": [
|
|
||||||
[
|
|
||||||
"Index List",
|
|
||||||
"TextSplitByDelimiter"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-Teeth"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [
|
"https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [
|
||||||
[
|
[
|
||||||
"GridImageSplitter"
|
"GridImageSplitter"
|
||||||
@@ -22451,14 +22223,6 @@
|
|||||||
"title_aux": "TTools for ComfyUI"
|
"title_aux": "TTools for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper": [
|
|
||||||
[
|
|
||||||
"rgb2x"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_rgbx_Wrapper"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
|
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
|
||||||
[
|
[
|
||||||
"CaptureWebcam",
|
"CaptureWebcam",
|
||||||
@@ -23978,14 +23742,6 @@
|
|||||||
"title_aux": "comfyui_visual_anagram"
|
"title_aux": "comfyui_visual_anagram"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter": [
|
|
||||||
[
|
|
||||||
"SD35LargeIPAdapterLoader"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_InstantX_SD35_Large_IPAdapter"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/zer0TF/cute-comfy": [
|
"https://github.com/zer0TF/cute-comfy": [
|
||||||
[
|
[
|
||||||
"Cute.Placeholder"
|
"Cute.Placeholder"
|
||||||
@@ -24114,6 +23870,19 @@
|
|||||||
"title_aux": "ComfyUI_Bxb"
|
"title_aux": "ComfyUI_Bxb"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/zmwv823/ComfyUI_Ctrlora": [
|
||||||
|
[
|
||||||
|
"UL_Image_Generation_Ctrlora_AIO_Preprocessor",
|
||||||
|
"UL_Image_Generation_Ctrlora_Condition_Params",
|
||||||
|
"UL_Image_Generation_Ctrlora_Sampler",
|
||||||
|
"UL_Image_Generation_Ctrlora_loader",
|
||||||
|
"UL_Image_Process_Prepare_Img_for_Inpaint",
|
||||||
|
"UL_Image_Process_Prepare_Img_for_Outpaint"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI_Ctrlora"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [
|
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [
|
||||||
[
|
[
|
||||||
"ZcDrawShape"
|
"ZcDrawShape"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "comfyui-manager"
|
name = "comfyui-manager"
|
||||||
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
|
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
|
||||||
version = "2.54"
|
version = "2.53"
|
||||||
license = { file = "LICENSE.txt" }
|
license = { file = "LICENSE.txt" }
|
||||||
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
|
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
pygit2
|
||||||
GitPython
|
GitPython
|
||||||
PyGithub
|
PyGithub
|
||||||
matrix-client==0.4.0
|
matrix-client==0.4.0
|
||||||
@@ -5,4 +6,4 @@ transformers
|
|||||||
huggingface-hub>0.20
|
huggingface-hub>0.20
|
||||||
typer
|
typer
|
||||||
rich
|
rich
|
||||||
typing-extensions
|
typing-extensions
|
||||||
|
|||||||
2
scan.sh
2
scan.sh
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
rm ~/.tmp/default/*.py > /dev/null 2>&1
|
rm ~/.tmp/default/*.py > /dev/null 2>&1
|
||||||
python scanner.py ~/.tmp/default $*
|
python -m scanner ~/.tmp/default $*
|
||||||
cp extension-node-map.json node_db/new/.
|
cp extension-node-map.json node_db/new/.
|
||||||
|
|
||||||
echo "Integrity check"
|
echo "Integrity check"
|
||||||
|
|||||||
13
scanner.py
13
scanner.py
@@ -2,7 +2,8 @@ import ast
|
|||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
from git import Repo
|
import sys
|
||||||
|
from glob import git_wrapper
|
||||||
import concurrent
|
import concurrent
|
||||||
import datetime
|
import datetime
|
||||||
import concurrent.futures
|
import concurrent.futures
|
||||||
@@ -243,25 +244,27 @@ def get_py_urls_from_json(json_file):
|
|||||||
|
|
||||||
return py_files
|
return py_files
|
||||||
|
|
||||||
|
import traceback
|
||||||
def clone_or_pull_git_repository(git_url):
|
def clone_or_pull_git_repository(git_url):
|
||||||
repo_name = git_url.split("/")[-1].split(".")[0]
|
repo_name = git_url.split("/")[-1].split(".")[0]
|
||||||
repo_dir = os.path.join(temp_dir, repo_name)
|
repo_dir = os.path.join(temp_dir, repo_name)
|
||||||
|
|
||||||
if os.path.exists(repo_dir):
|
if os.path.exists(repo_dir):
|
||||||
try:
|
try:
|
||||||
repo = Repo(repo_dir)
|
repo = git_wrapper.Repo(repo_dir)
|
||||||
origin = repo.remote(name="origin")
|
origin = repo.remote(name="origin")
|
||||||
origin.pull()
|
origin.pull()
|
||||||
repo.git.submodule('update', '--init', '--recursive')
|
repo.update_recursive()
|
||||||
print(f"Pulling {repo_name}...")
|
print(f"Pulling {repo_name}...")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
traceback.print_exc()
|
||||||
print(f"Pulling {repo_name} failed: {e}")
|
print(f"Pulling {repo_name} failed: {e}")
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
Repo.clone_from(git_url, repo_dir, recursive=True)
|
git_wrapper.clone_from(git_url, repo_dir, recursive=True)
|
||||||
print(f"Cloning {repo_name}...")
|
print(f"Cloning {repo_name}...")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
traceback.print_exc()
|
||||||
print(f"Cloning {repo_name} failed: {e}")
|
print(f"Cloning {repo_name} failed: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user