Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
897debb106 | ||
|
|
0b43716c56 | ||
|
|
4ad1c8a238 |
@@ -118,7 +118,7 @@ class Ctx:
|
|||||||
if channel is not None:
|
if channel is not None:
|
||||||
self.channel = channel
|
self.channel = channel
|
||||||
|
|
||||||
asyncio.run(unified_manager.reload(cache_mode=self.mode == 'cache'))
|
asyncio.run(unified_manager.reload(cache_mode=self.mode == 'cache', dont_wait=False))
|
||||||
asyncio.run(unified_manager.load_nightly(self.channel, self.mode))
|
asyncio.run(unified_manager.load_nightly(self.channel, self.mode))
|
||||||
|
|
||||||
def set_no_deps(self, no_deps):
|
def set_no_deps(self, no_deps):
|
||||||
|
|||||||
@@ -4015,6 +4015,17 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "ComfyUI Nodes for using Spout streams."
|
"description": "ComfyUI Nodes for using Spout streams."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "amorano",
|
||||||
|
"title": "Jovi_Measure",
|
||||||
|
"id": "jovi_measure",
|
||||||
|
"reference": "https://github.com/Amorano/Jovi_Measure",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Amorano/Jovi_Measure"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Image metrics nodes for ComfyUI"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "Umikaze-job",
|
"author": "Umikaze-job",
|
||||||
"title": "select_folder_path_easy",
|
"title": "select_folder_path_easy",
|
||||||
@@ -8317,17 +8328,6 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This node improves the quality of the image mask. more suitable for image composite matting"
|
"description": "This node improves the quality of the image mask. more suitable for image composite matting"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"author": "Pos13",
|
|
||||||
"title": "Cyclist",
|
|
||||||
"id": "cyclist",
|
|
||||||
"reference": "https://github.com/Pos13/comfyui-cyclist",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Pos13/comfyui-cyclist"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "ExponentialML",
|
"author": "ExponentialML",
|
||||||
"title": "ComfyUI_ModelScopeT2V",
|
"title": "ComfyUI_ModelScopeT2V",
|
||||||
@@ -10252,6 +10252,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "You can use TRELLIS in comfyUI\n[a/TRELLIS](https://github.com/microsoft/TRELLIS/tree/main), Structured 3D Latents for Scalable and Versatile 3D Generation"
|
"description": "You can use TRELLIS in comfyUI\n[a/TRELLIS](https://github.com/microsoft/TRELLIS/tree/main), Structured 3D Latents for Scalable and Versatile 3D Generation"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "smthemex",
|
||||||
|
"title": "ComfyUI_SVFR",
|
||||||
|
"reference": "https://github.com/smthemex/ComfyUI_SVFR",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/smthemex/ComfyUI_SVFR"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "SVFR is a unified framework for face video restoration that supports tasks such as BFR, Colorization, Inpainting,you can use it in ComfyUI"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "choey",
|
"author": "choey",
|
||||||
"title": "Comfy-Topaz",
|
"title": "Comfy-Topaz",
|
||||||
@@ -18641,6 +18651,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This is a ComfyUI plugin that makes it easier to call and run workflows from RunningHub in your local ComfyUI setup."
|
"description": "This is a ComfyUI plugin that makes it easier to call and run workflows from RunningHub in your local ComfyUI setup."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "shahkoorosh",
|
||||||
|
"title": "ComfyUI-PersianText",
|
||||||
|
"reference": "https://github.com/shahkoorosh/ComfyUI-PersianText",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/shahkoorosh/ComfyUI-PersianText"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A powerful ComfyUI node for rendering text with advanced styling options, including full support for Persian/Farsi and Arabic scripts."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "wqjuser",
|
"author": "wqjuser",
|
||||||
"title": "ComfyUI-Chat-Image",
|
"title": "ComfyUI-Chat-Image",
|
||||||
@@ -19282,6 +19302,26 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "The ultimate openpose render node for ComfyUI with flexible input, output and adjustment."
|
"description": "The ultimate openpose render node for ComfyUI with flexible input, output and adjustment."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "westNeighbor",
|
||||||
|
"title": "ComfyUI-ultimate-openpose-estimator",
|
||||||
|
"reference": "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Super fast tensorrt performance with accuate pose estimation of dwpose model, giving the detecting threshold control, plus pose image render and pose json format output. Fine control for pose plotting."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "westNeighbor",
|
||||||
|
"title": "ComfyUI-ultimate-openpose-estimator",
|
||||||
|
"reference": "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Enhanced features with flexible choice of inputs and outputs, fine control for pose plotting, freedom to composite poses and fast local pose editting."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "a-und-b",
|
"author": "a-und-b",
|
||||||
"title": "ComfyUI_Delay",
|
"title": "ComfyUI_Delay",
|
||||||
@@ -19312,6 +19352,27 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "A custom node for ComfyUI that enables direct posting of images, videos, and messages to Discord channels. This node seamlessly integrates your ComfyUI workflows with Discord communication, allowing you to automatically share your generated content."
|
"description": "A custom node for ComfyUI that enables direct posting of images, videos, and messages to Discord channels. This node seamlessly integrates your ComfyUI workflows with Discord communication, allowing you to automatically share your generated content."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "r3dsd",
|
||||||
|
"title": "Comfyui-Template-Loader",
|
||||||
|
"reference": "https://github.com/r3dsd/comfyui-template-loader",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/r3dsd/comfyui-template-loader"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Easily Load Your Frequently Used Prompts in ComfyUI\nWith ComfyUI Template Loader, managing and reusing your favorite prompts has never been simpler. Save time and streamline your workflow by loading your go-to templates with just a few clicks!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "r3dsd",
|
||||||
|
"title": "HommageTools for ComfyUI",
|
||||||
|
"reference": "https://github.com/ArtHommage/HommageTools",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/ArtHommage/HommageTools"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Entry point for HommageTools node collection for ComfyUI. Handles node registration, imports, and logging configuration."
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1365,29 +1365,43 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/Amorano/Jovi_GLSL": [
|
"https://github.com/Amorano/Jovi_GLSL": [
|
||||||
[
|
[
|
||||||
"GLSL (JOV_GL) \ud83c\udf69",
|
"BLEND LINEAR (JOV_GL)",
|
||||||
"GLSL BLEND LINEAR (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"COLOR CONVERSION (JOV_GL)",
|
||||||
"GLSL COLOR CONVERSION (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"COLOR PALETTE (JOV_GL)",
|
||||||
"GLSL COLOR PALETTE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"CONICAL GRADIENT (JOV_GL)",
|
||||||
"GLSL CONICAL GRADIENT (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"DIRECTIONAL WARP (JOV_GL)",
|
||||||
"GLSL DIRECTIONAL WARP (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"FILTER RANGE (JOV_GL)",
|
||||||
"GLSL FILTER RANGE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"GRAYSCALE (JOV_GL)",
|
||||||
"GLSL GRAYSCALE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"HSV ADJUST (JOV_GL)",
|
||||||
"GLSL HSV ADJUST (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"INVERT (JOV_GL)",
|
||||||
"GLSL INVERT (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"MIN MAX (JOV_GL)",
|
||||||
"GLSL NORMAL (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"NOISE PERLIN (JOV_GL)",
|
||||||
"GLSL NORMAL BLEND (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"NOISE SIMPLEX (JOV_GL)",
|
||||||
"GLSL POSTERIZE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"NOISE WORLEY (JOV_GL)",
|
||||||
"GLSL TRANSFORM (JOV_GL) \ud83e\uddd9\ud83c\udffd"
|
"NORMAL (JOV_GL)",
|
||||||
|
"NORMAL BLEND (JOV_GL)",
|
||||||
|
"PIXELATE (JOV_GL)",
|
||||||
|
"POSTERIZE (JOV_GL)",
|
||||||
|
"SOBEL (JOV_GL)",
|
||||||
|
"TRANSFORM (JOV_GL)"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "Jovi_GLSL"
|
"title_aux": "Jovi_GLSL"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/Amorano/Jovi_Measure": [
|
||||||
|
[
|
||||||
|
"BLUR EFFECT (JOV_MEASURE)",
|
||||||
|
"SHANNON ENTROPY (JOV_MEASURE)"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "Jovi_Measure"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/Amorano/Jovi_Spout": [
|
"https://github.com/Amorano/Jovi_Spout": [
|
||||||
[
|
[
|
||||||
"SPOUT READER (JOV_SP) \ud83d\udcfa",
|
"SPOUT READER (JOV_SPOUT)",
|
||||||
"SPOUT WRITER (JOV_SP) \ud83c\udfa5"
|
"SPOUT WRITER (JOV_SPOUT)"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "Jovi_Spout"
|
"title_aux": "Jovi_Spout"
|
||||||
@@ -2662,6 +2676,7 @@
|
|||||||
[
|
[
|
||||||
"DP 10 String Switch",
|
"DP 10 String Switch",
|
||||||
"DP 2 String Switch",
|
"DP 2 String Switch",
|
||||||
|
"DP 5 Find And Replace",
|
||||||
"DP 5 String Switch",
|
"DP 5 String Switch",
|
||||||
"DP Add Weight To String Sdxl",
|
"DP Add Weight To String Sdxl",
|
||||||
"DP Advanced Weight String Sdxl",
|
"DP Advanced Weight String Sdxl",
|
||||||
@@ -2689,6 +2704,7 @@
|
|||||||
"DP Image Color Analyzer Small",
|
"DP Image Color Analyzer Small",
|
||||||
"DP Image Color Effect",
|
"DP Image Color Effect",
|
||||||
"DP Image Effect Processor",
|
"DP Image Effect Processor",
|
||||||
|
"DP Image Effect Processor Small",
|
||||||
"DP Image Empty Latent Switch Flux",
|
"DP Image Empty Latent Switch Flux",
|
||||||
"DP Image Empty Latent Switch SDXL",
|
"DP Image Empty Latent Switch SDXL",
|
||||||
"DP Image Slide Show",
|
"DP Image Slide Show",
|
||||||
@@ -2699,6 +2715,7 @@
|
|||||||
"DP Int 0-1000",
|
"DP Int 0-1000",
|
||||||
"DP Int 0-1000 4 Step",
|
"DP Int 0-1000 4 Step",
|
||||||
"DP Int 0-1000 8 Step",
|
"DP Int 0-1000 8 Step",
|
||||||
|
"DP Line Cycler",
|
||||||
"DP Load Image Effects",
|
"DP Load Image Effects",
|
||||||
"DP Load Image Effects Small",
|
"DP Load Image Effects Small",
|
||||||
"DP Load Image Minimal",
|
"DP Load Image Minimal",
|
||||||
@@ -3934,9 +3951,9 @@
|
|||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "AlexL",
|
"author": "AlexL",
|
||||||
"description": "Display, save or not save image, with or without extra metadata.",
|
"description": "An implementation of Microsoft kosmos-2 image to text transformer.",
|
||||||
"nickname": "Hangover-Save_Image_Extra_Metadata",
|
"nickname": "Hangover-ms_kosmos2",
|
||||||
"title": "ComfyUI-Hangover-Save_Image",
|
"title": "ComfyUI-Hangover-Kosmos2",
|
||||||
"title_aux": "ComfyUI-Hangover-Nodes"
|
"title_aux": "ComfyUI-Hangover-Nodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -5184,6 +5201,7 @@
|
|||||||
"Texturaizer_KSamplerAdvanced",
|
"Texturaizer_KSamplerAdvanced",
|
||||||
"Texturaizer_Placeholder",
|
"Texturaizer_Placeholder",
|
||||||
"Texturaizer_PowerLoraLoader",
|
"Texturaizer_PowerLoraLoader",
|
||||||
|
"Texturaizer_SendImage",
|
||||||
"Texturaizer_SetGlobalDir",
|
"Texturaizer_SetGlobalDir",
|
||||||
"Texturaizer_SigmasSelector",
|
"Texturaizer_SigmasSelector",
|
||||||
"Texturaizer_SwitchAny",
|
"Texturaizer_SwitchAny",
|
||||||
@@ -6578,39 +6596,6 @@
|
|||||||
"title_aux": "comfyUI-PL-data-tools"
|
"title_aux": "comfyUI-PL-data-tools"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Pos13/comfyui-cyclist": [
|
|
||||||
[
|
|
||||||
"CyclistCompare",
|
|
||||||
"CyclistMathFloat",
|
|
||||||
"CyclistMathInt",
|
|
||||||
"CyclistTimer",
|
|
||||||
"CyclistTimerStop",
|
|
||||||
"CyclistTypeCast",
|
|
||||||
"Interrupt",
|
|
||||||
"LoopManager",
|
|
||||||
"MemorizeConditioning",
|
|
||||||
"MemorizeFloat",
|
|
||||||
"MemorizeInt",
|
|
||||||
"MemorizeString",
|
|
||||||
"OverrideImage",
|
|
||||||
"OverrideLatent",
|
|
||||||
"OverrideModel",
|
|
||||||
"RecallConditioning",
|
|
||||||
"RecallFloat",
|
|
||||||
"RecallInt",
|
|
||||||
"RecallString",
|
|
||||||
"ReloadImage",
|
|
||||||
"ReloadLatent",
|
|
||||||
"ReloadModel"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"author": "Pos13",
|
|
||||||
"description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles.",
|
|
||||||
"nickname": "comfyui-cyclist",
|
|
||||||
"title": "Cyclist",
|
|
||||||
"title_aux": "Cyclist"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": [
|
"https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": [
|
||||||
[
|
[
|
||||||
"Publish Image To RabbitMQ"
|
"Publish Image To RabbitMQ"
|
||||||
@@ -11678,7 +11663,6 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/catboxanon/comfyui_stealth_pnginfo": [
|
"https://github.com/catboxanon/comfyui_stealth_pnginfo": [
|
||||||
[
|
[
|
||||||
"AddA1111LikeMetadata",
|
|
||||||
"CatboxAnonSaveImageStealth"
|
"CatboxAnonSaveImageStealth"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
@@ -12664,9 +12648,9 @@
|
|||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "Chris Freilich",
|
"author": "Chris Freilich",
|
||||||
"description": "This extension provides blur nodes.",
|
"description": "This extension provides a \"Levels\" node.",
|
||||||
"nickname": "Virtuoso Pack - Blur",
|
"nickname": "Virtuoso Pack - Contrast",
|
||||||
"title": "Virtuoso Pack - Blur",
|
"title": "Virtuoso Pack - Contrast",
|
||||||
"title_aux": "Virtuoso Nodes for ComfyUI"
|
"title_aux": "Virtuoso Nodes for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -22426,6 +22410,14 @@
|
|||||||
"title_aux": "Redial Discomphy - Discord Integration for ComfyUI"
|
"title_aux": "Redial Discomphy - Discord Integration for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/r3dsd/comfyui-template-loader": [
|
||||||
|
[
|
||||||
|
"TemplateLoader"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "Comfyui-Template-Loader"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/ramesh-x90/ComfyUI_pyannote": [
|
"https://github.com/ramesh-x90/ComfyUI_pyannote": [
|
||||||
[
|
[
|
||||||
"Speaker Diarization",
|
"Speaker Diarization",
|
||||||
@@ -23460,6 +23452,18 @@
|
|||||||
"title_aux": "ComfyUI-KGnodes"
|
"title_aux": "ComfyUI-KGnodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/shahkoorosh/ComfyUI-PersianText": [
|
||||||
|
[
|
||||||
|
"PersianText"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"author": "ShahKoorosh",
|
||||||
|
"description": "A powerful ComfyUI node for rendering text with advanced styling options, including full support for Persian/Farsi and Arabic scripts.",
|
||||||
|
"nickname": "PersianText",
|
||||||
|
"title": "ComfyUI-PersianText",
|
||||||
|
"title_aux": "ComfyUI-PersianText"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/shi3z/ComfyUI_Memeplex_DALLE": [
|
"https://github.com/shi3z/ComfyUI_Memeplex_DALLE": [
|
||||||
[
|
[
|
||||||
"DallERender",
|
"DallERender",
|
||||||
@@ -24005,6 +24009,16 @@
|
|||||||
"title_aux": "ComfyUI_Pops"
|
"title_aux": "ComfyUI_Pops"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/smthemex/ComfyUI_SVFR": [
|
||||||
|
[
|
||||||
|
"SVFR_LoadModel",
|
||||||
|
"SVFR_Sampler",
|
||||||
|
"SVFR_img2mask"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI_SVFR"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/smthemex/ComfyUI_Sapiens": [
|
"https://github.com/smthemex/ComfyUI_Sapiens": [
|
||||||
[
|
[
|
||||||
"SapiensLoader",
|
"SapiensLoader",
|
||||||
@@ -24070,6 +24084,7 @@
|
|||||||
"Character Selector",
|
"Character Selector",
|
||||||
"Copy/Paste Textbox",
|
"Copy/Paste Textbox",
|
||||||
"Filter Tags",
|
"Filter Tags",
|
||||||
|
"Generate All Characters",
|
||||||
"Get Font Size",
|
"Get Font Size",
|
||||||
"Load Lora Folder",
|
"Load Lora Folder",
|
||||||
"Load Lora Sn0w",
|
"Load Lora Sn0w",
|
||||||
@@ -24857,10 +24872,10 @@
|
|||||||
"ImageToAscii"
|
"ImageToAscii"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "Tomudo",
|
"author": "dfl",
|
||||||
"description": "Convert Image to ascii art to use. May be use to decorate terminal apps like Neofetch",
|
"description": "CLIP text encoder that does BREAK prompting like A1111",
|
||||||
"nickname": "Image To Ascii",
|
"nickname": "CLIP with BREAK",
|
||||||
"title": "Image To Ascii",
|
"title": "CLIP with BREAK syntax",
|
||||||
"title_aux": "ComfyUI-ascii-art"
|
"title_aux": "ComfyUI-ascii-art"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -25494,6 +25509,22 @@
|
|||||||
"title_aux": "ComfyUI template matching"
|
"title_aux": "ComfyUI template matching"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor": [
|
||||||
|
[
|
||||||
|
"OpenposeEditorNode"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI-ultimate-openpose-estimator"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator": [
|
||||||
|
[
|
||||||
|
"OpenposeEstimatorNode"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI-ultimate-openpose-estimator"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": [
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": [
|
||||||
[
|
[
|
||||||
"OpenposeRenderNode"
|
"OpenposeRenderNode"
|
||||||
@@ -26878,9 +26909,6 @@
|
|||||||
"QRNG_Node_CSV"
|
"QRNG_Node_CSV"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"preemptions": [
|
|
||||||
"SAMLoader"
|
|
||||||
],
|
|
||||||
"title_aux": "QRNG_Node_ComfyUI"
|
"title_aux": "QRNG_Node_ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -27044,6 +27072,9 @@
|
|||||||
"SDXLAspectRatio"
|
"SDXLAspectRatio"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
|
"preemptions": [
|
||||||
|
"SAMLoader"
|
||||||
|
],
|
||||||
"title_aux": "SDXLCustomAspectRatio"
|
"title_aux": "SDXLCustomAspectRatio"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
2225
github-stats.json
2225
github-stats.json
File diff suppressed because it is too large
Load Diff
@@ -4,23 +4,49 @@ from typing import List
|
|||||||
import manager_util
|
import manager_util
|
||||||
import toml
|
import toml
|
||||||
import os
|
import os
|
||||||
|
import asyncio
|
||||||
|
|
||||||
base_url = "https://api.comfy.org"
|
base_url = "https://api.comfy.org"
|
||||||
|
|
||||||
|
|
||||||
async def get_cnr_data(page=1, limit=1000, cache_mode=True):
|
lock = asyncio.Lock()
|
||||||
try:
|
|
||||||
uri = f'{base_url}/nodes?page={page}&limit={limit}'
|
|
||||||
json_obj = await manager_util.get_data_with_cache(uri, cache_mode=cache_mode)
|
|
||||||
|
|
||||||
|
is_cache_loading = False
|
||||||
|
|
||||||
|
async def get_cnr_data(page=1, limit=1000, cache_mode=True, dont_wait=True):
|
||||||
|
global is_cache_loading
|
||||||
|
|
||||||
|
uri = f'{base_url}/nodes?page={page}&limit={limit}'
|
||||||
|
|
||||||
|
def touch(json_obj):
|
||||||
for v in json_obj['nodes']:
|
for v in json_obj['nodes']:
|
||||||
if 'latest_version' not in v:
|
if 'latest_version' not in v:
|
||||||
v['latest_version'] = dict(version='nightly')
|
v['latest_version'] = dict(version='nightly')
|
||||||
|
|
||||||
|
|
||||||
|
if cache_mode:
|
||||||
|
if dont_wait:
|
||||||
|
json_obj = await manager_util.get_data_with_cache(uri, cache_mode=cache_mode, dont_wait=True) # fallback
|
||||||
|
|
||||||
|
if 'nodes' in json_obj:
|
||||||
|
touch(json_obj)
|
||||||
|
return json_obj['nodes']
|
||||||
|
else:
|
||||||
|
return {}
|
||||||
|
|
||||||
|
is_cache_loading = True
|
||||||
|
|
||||||
|
try:
|
||||||
|
json_obj = await manager_util.get_data_with_cache(uri, cache_mode=cache_mode)
|
||||||
|
touch(json_obj)
|
||||||
|
|
||||||
return json_obj['nodes']
|
return json_obj['nodes']
|
||||||
except:
|
except:
|
||||||
res = {}
|
res = {}
|
||||||
print("Cannot connect to comfyregistry.")
|
print("Cannot connect to comfyregistry.")
|
||||||
|
finally:
|
||||||
|
if cache_mode:
|
||||||
|
is_cache_loading = False
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@@ -92,7 +118,7 @@ def install_node(node_id, version=None):
|
|||||||
|
|
||||||
|
|
||||||
def all_versions_of_node(node_id):
|
def all_versions_of_node(node_id):
|
||||||
url = f"https://api.comfy.org/nodes/{node_id}/versions?statuses=NodeVersionStatusActive&statuses=NodeVersionStatusPending"
|
url = f"{base_url}/nodes/{node_id}/versions?statuses=NodeVersionStatusActive&statuses=NodeVersionStatusPending"
|
||||||
|
|
||||||
response = requests.get(url)
|
response = requests.get(url)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
@@ -113,7 +139,7 @@ def read_cnr_info(fullpath):
|
|||||||
data = toml.load(f)
|
data = toml.load(f)
|
||||||
|
|
||||||
project = data.get('project', {})
|
project = data.get('project', {})
|
||||||
name = project.get('name')
|
name = project.get('name').strip().lower()
|
||||||
version = project.get('version')
|
version = project.get('version')
|
||||||
|
|
||||||
urls = project.get('urls', {})
|
urls = project.get('urls', {})
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ import manager_downloader
|
|||||||
from node_package import InstalledNodePackage
|
from node_package import InstalledNodePackage
|
||||||
|
|
||||||
|
|
||||||
version_code = [3, 6, 5]
|
version_code = [3, 7]
|
||||||
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
||||||
|
|
||||||
|
|
||||||
@@ -233,7 +233,7 @@ def remap_pip_package(pkg):
|
|||||||
def is_blacklisted(name):
|
def is_blacklisted(name):
|
||||||
name = name.strip()
|
name = name.strip()
|
||||||
|
|
||||||
pattern = r'([^<>!=]+)([<>!=]=?)([^ ]*)'
|
pattern = r'([^<>!~=]+)([<>!~=]=?)([^ ]*)'
|
||||||
match = re.search(pattern, name)
|
match = re.search(pattern, name)
|
||||||
|
|
||||||
if match:
|
if match:
|
||||||
@@ -248,7 +248,7 @@ def is_blacklisted(name):
|
|||||||
if match is None:
|
if match is None:
|
||||||
if name in pips:
|
if name in pips:
|
||||||
return True
|
return True
|
||||||
elif match.group(2) in ['<=', '==', '<']:
|
elif match.group(2) in ['<=', '==', '<', '~=']:
|
||||||
if name in pips:
|
if name in pips:
|
||||||
if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)):
|
if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)):
|
||||||
return True
|
return True
|
||||||
@@ -262,7 +262,7 @@ def is_installed(name):
|
|||||||
if name.startswith('#'):
|
if name.startswith('#'):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
pattern = r'([^<>!=]+)([<>!=]=?)([0-9.a-zA-Z]*)'
|
pattern = r'([^<>!~=]+)([<>!~=]=?)([0-9.a-zA-Z]*)'
|
||||||
match = re.search(pattern, name)
|
match = re.search(pattern, name)
|
||||||
|
|
||||||
if match:
|
if match:
|
||||||
@@ -507,7 +507,7 @@ class UnifiedManager:
|
|||||||
if node_package.is_disabled and node_package.is_nightly:
|
if node_package.is_disabled and node_package.is_nightly:
|
||||||
self.nightly_inactive_nodes[node_package.id] = node_package.fullpath
|
self.nightly_inactive_nodes[node_package.id] = node_package.fullpath
|
||||||
|
|
||||||
if node_package.is_enabled:
|
if node_package.is_enabled and not node_package.is_unknown:
|
||||||
self.active_nodes[node_package.id] = node_package.version, node_package.fullpath
|
self.active_nodes[node_package.id] = node_package.version, node_package.fullpath
|
||||||
|
|
||||||
if node_package.is_enabled and node_package.is_unknown:
|
if node_package.is_enabled and node_package.is_unknown:
|
||||||
@@ -664,7 +664,7 @@ class UnifiedManager:
|
|||||||
|
|
||||||
return latest
|
return latest
|
||||||
|
|
||||||
async def reload(self, cache_mode):
|
async def reload(self, cache_mode, dont_wait=True):
|
||||||
self.custom_node_map_cache = {}
|
self.custom_node_map_cache = {}
|
||||||
self.cnr_inactive_nodes = {} # node_id -> node_version -> fullpath
|
self.cnr_inactive_nodes = {} # node_id -> node_version -> fullpath
|
||||||
self.nightly_inactive_nodes = {} # node_id -> fullpath
|
self.nightly_inactive_nodes = {} # node_id -> fullpath
|
||||||
@@ -673,7 +673,7 @@ class UnifiedManager:
|
|||||||
self.active_nodes = {} # node_id -> node_version * fullpath
|
self.active_nodes = {} # node_id -> node_version * fullpath
|
||||||
|
|
||||||
# reload 'cnr_map' and 'repo_cnr_map'
|
# reload 'cnr_map' and 'repo_cnr_map'
|
||||||
cnrs = await cnr_utils.get_cnr_data(cache_mode=cache_mode)
|
cnrs = await cnr_utils.get_cnr_data(cache_mode=cache_mode, dont_wait=dont_wait)
|
||||||
|
|
||||||
for x in cnrs:
|
for x in cnrs:
|
||||||
self.cnr_map[x['id']] = x
|
self.cnr_map[x['id']] = x
|
||||||
|
|||||||
@@ -1415,7 +1415,7 @@ async def default_cache_update():
|
|||||||
await asyncio.gather(a, b, c, d, e)
|
await asyncio.gather(a, b, c, d, e)
|
||||||
|
|
||||||
# load at least once
|
# load at least once
|
||||||
await core.unified_manager.reload('cache')
|
await core.unified_manager.reload('cache', dont_wait=False)
|
||||||
await core.unified_manager.get_custom_nodes('default', 'cache')
|
await core.unified_manager.get_custom_nodes('default', 'cache')
|
||||||
|
|
||||||
# NOTE: hide migration button temporarily.
|
# NOTE: hide migration button temporarily.
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ from datetime import datetime
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import re
|
import re
|
||||||
|
import logging
|
||||||
|
|
||||||
|
|
||||||
cache_lock = threading.Lock()
|
cache_lock = threading.Lock()
|
||||||
|
|
||||||
@@ -128,15 +130,26 @@ async def get_data(uri, silent=False):
|
|||||||
return json_obj
|
return json_obj
|
||||||
|
|
||||||
|
|
||||||
async def get_data_with_cache(uri, silent=False, cache_mode=True):
|
async def get_data_with_cache(uri, silent=False, cache_mode=True, dont_wait=False):
|
||||||
cache_uri = str(simple_hash(uri)) + '_' + os.path.basename(uri).replace('&', "_").replace('?', "_").replace('=', "_")
|
cache_uri = str(simple_hash(uri)) + '_' + os.path.basename(uri).replace('&', "_").replace('?', "_").replace('=', "_")
|
||||||
cache_uri = os.path.join(cache_dir, cache_uri+'.json')
|
cache_uri = os.path.join(cache_dir, cache_uri+'.json')
|
||||||
|
|
||||||
|
if cache_mode and dont_wait:
|
||||||
|
# NOTE: return the cache if possible, even if it is expired, so do not cache
|
||||||
|
if not os.path.exists(cache_uri):
|
||||||
|
logging.error(f"[ComfyUI-Manager] The network connection is unstable, so it is operating in fallback mode: {uri}")
|
||||||
|
|
||||||
|
return {}
|
||||||
|
else:
|
||||||
|
if not is_file_created_within_one_day(cache_uri):
|
||||||
|
logging.error(f"[ComfyUI-Manager] The network connection is unstable, so it is operating in outdated cache mode: {uri}")
|
||||||
|
|
||||||
|
return await get_data(cache_uri, silent=silent)
|
||||||
|
|
||||||
if cache_mode and is_file_created_within_one_day(cache_uri):
|
if cache_mode and is_file_created_within_one_day(cache_uri):
|
||||||
json_obj = await get_data(cache_uri, silent=silent)
|
json_obj = await get_data(cache_uri, silent=silent)
|
||||||
else:
|
else:
|
||||||
json_obj = await get_data(uri, silent=silent)
|
json_obj = await get_data(uri, silent=silent)
|
||||||
|
|
||||||
with cache_lock:
|
with cache_lock:
|
||||||
with open(cache_uri, "w", encoding='utf-8') as file:
|
with open(cache_uri, "w", encoding='utf-8') as file:
|
||||||
json.dump(json_obj, file, indent=4, sort_keys=True)
|
json.dump(json_obj, file, indent=4, sort_keys=True)
|
||||||
|
|||||||
@@ -4040,7 +4040,7 @@
|
|||||||
"name": "Comfy-Org/hunyuan_video_vae_bf16.safetensors",
|
"name": "Comfy-Org/hunyuan_video_vae_bf16.safetensors",
|
||||||
"type": "VAE",
|
"type": "VAE",
|
||||||
"base": "Hunyuan Video",
|
"base": "Hunyuan Video",
|
||||||
"save_path": "VAE",
|
"save_path": "default",
|
||||||
"description": "Huyuan Video VAE model. repackaged version.",
|
"description": "Huyuan Video VAE model. repackaged version.",
|
||||||
"reference": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged",
|
"reference": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged",
|
||||||
"filename": "hunyuan_video_vae_bf16.safetensors",
|
"filename": "hunyuan_video_vae_bf16.safetensors",
|
||||||
|
|||||||
@@ -2531,7 +2531,6 @@
|
|||||||
[
|
[
|
||||||
"DownloadAndLoadHyVideoTextEncoder",
|
"DownloadAndLoadHyVideoTextEncoder",
|
||||||
"HyVideoBlockSwap",
|
"HyVideoBlockSwap",
|
||||||
"HyVideoCustomPromptTemplate",
|
|
||||||
"HyVideoDecode",
|
"HyVideoDecode",
|
||||||
"HyVideoEncode",
|
"HyVideoEncode",
|
||||||
"HyVideoModelLoader",
|
"HyVideoModelLoader",
|
||||||
@@ -2861,11 +2860,16 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/hy134300/comfyui-hydit": [
|
"https://github.com/hy134300/comfyui-hydit": [
|
||||||
[
|
[
|
||||||
|
"DiffusersCLIPLoader",
|
||||||
|
"DiffusersCheckpointLoader",
|
||||||
"DiffusersClipTextEncode",
|
"DiffusersClipTextEncode",
|
||||||
|
"DiffusersControlNetLoader",
|
||||||
|
"DiffusersLoraLoader",
|
||||||
"DiffusersModelMakeup",
|
"DiffusersModelMakeup",
|
||||||
"DiffusersPipelineLoader",
|
"DiffusersPipelineLoader",
|
||||||
"DiffusersSampler",
|
"DiffusersSampler",
|
||||||
"DiffusersSchedulerLoader"
|
"DiffusersSchedulerLoader",
|
||||||
|
"DiffusersVAELoader"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "comfyui-hydit"
|
"title_aux": "comfyui-hydit"
|
||||||
@@ -4262,6 +4266,7 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/sourceful-official/comfyui-cog-comfyui-incontext-three-panels": [
|
"https://github.com/sourceful-official/comfyui-cog-comfyui-incontext-three-panels": [
|
||||||
[
|
[
|
||||||
|
"FalFluxLoraSourcefulOfficial",
|
||||||
"SourcefulOfficialComfyuiIncontextThreePanels"
|
"SourcefulOfficialComfyuiIncontextThreePanels"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"author": "Pos13",
|
||||||
|
"title": "Cyclist [DEPRECATED]",
|
||||||
|
"id": "cyclist",
|
||||||
|
"reference": "https://github.com/Pos13/comfyui-cyclist",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Pos13/comfyui-cyclist"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "leiweiqiang",
|
"author": "leiweiqiang",
|
||||||
"title": "ComfyUI-TRA",
|
"title": "ComfyUI-TRA",
|
||||||
|
|||||||
@@ -9,6 +9,77 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"author": "smthemex",
|
||||||
|
"title": "ComfyUI_SVFR",
|
||||||
|
"reference": "https://github.com/smthemex/ComfyUI_SVFR",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/smthemex/ComfyUI_SVFR"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "SVFR is a unified framework for face video restoration that supports tasks such as BFR, Colorization, Inpainting,you can use it in ComfyUI"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "westNeighbor",
|
||||||
|
"title": "ComfyUI-ultimate-openpose-estimator",
|
||||||
|
"reference": "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Super fast tensorrt performance with accuate pose estimation of dwpose model, giving the detecting threshold control, plus pose image render and pose json format output. Fine control for pose plotting."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "westNeighbor",
|
||||||
|
"title": "ComfyUI-ultimate-openpose-estimator",
|
||||||
|
"reference": "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Enhanced features with flexible choice of inputs and outputs, fine control for pose plotting, freedom to composite poses and fast local pose editting."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "r3dsd",
|
||||||
|
"title": "Comfyui-Template-Loader",
|
||||||
|
"reference": "https://github.com/r3dsd/comfyui-template-loader",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/r3dsd/comfyui-template-loader"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Easily Load Your Frequently Used Prompts in ComfyUI\nWith ComfyUI Template Loader, managing and reusing your favorite prompts has never been simpler. Save time and streamline your workflow by loading your go-to templates with just a few clicks!"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "amorano",
|
||||||
|
"title": "Jovi_Measure",
|
||||||
|
"id": "jovi_measure",
|
||||||
|
"reference": "https://github.com/Amorano/Jovi_Measure",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Amorano/Jovi_Measure"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Image metrics nodes for ComfyUI"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "r3dsd",
|
||||||
|
"title": "HommageTools for ComfyUI",
|
||||||
|
"reference": "https://github.com/ArtHommage/HommageTools",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/ArtHommage/HommageTools"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Entry point for HommageTools node collection for ComfyUI. Handles node registration, imports, and logging configuration."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "shahkoorosh",
|
||||||
|
"title": "ComfyUI-PersianText",
|
||||||
|
"reference": "https://github.com/shahkoorosh/ComfyUI-PersianText",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/shahkoorosh/ComfyUI-PersianText"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A powerful ComfyUI node for rendering text with advanced styling options, including full support for Persian/Farsi and Arabic scripts."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "westNeighbor",
|
"author": "westNeighbor",
|
||||||
"title": "ComfyUI-ultimate-openpose-render",
|
"title": "ComfyUI-ultimate-openpose-render",
|
||||||
@@ -625,77 +696,6 @@
|
|||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "[a/FitDiT](https://arxiv.org/abs/2411.10499): Advancing the Authentic Garment Details for High-fidelity Virtual Try-onon"
|
"description": "[a/FitDiT](https://arxiv.org/abs/2411.10499): Advancing the Authentic Garment Details for High-fidelity Virtual Try-onon"
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "rohitsainier",
|
|
||||||
"title": "ComfyUI-InstagramDownloader",
|
|
||||||
"id": "comfyui-instagram-downloader",
|
|
||||||
"reference": "https://github.com/rohitsainier/ComfyUI-InstagramDownloader",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/rohitsainier/ComfyUI-InstagramDownloader"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A ComfyUI custom node package that allows downloading and organizing Instagram content directly in your ComfyUI Output folder"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "zmwv823",
|
|
||||||
"title": "ComfyUI_Anytext",
|
|
||||||
"reference": "https://github.com/zmwv823/ComfyUI_Anytext",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/zmwv823/ComfyUI_Anytext"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Unofficial Simple And Rough Implementation Of [a/AnyText](https://github.com/tyxsspa/AnyText) and [a/Glyph-ByT5] (https://github.com/AIGText/Glyph-ByT5) and [a/JoyType](https://github.com/jdh-algo/JoyType)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "SKBv0",
|
|
||||||
"title": "ComfyUI SKBundle",
|
|
||||||
"reference": "https://github.com/SKBv0/ComfyUI_SKBundle",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/SKBv0/ComfyUI_SKBundle"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A collection of custom nodes designed to enhance your workflow in ComfyUI. These nodes were developed to meet my own needs while working with ComfyUI. Although I'm not a programmer, I created these nodes with the help of Cursor AI and will continue to develop them over time."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "civen-cn",
|
|
||||||
"title": "ComfyUI Whisper Translator",
|
|
||||||
"reference": "https://github.com/civen-cn/ComfyUI-Whisper-Translator",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/civen-cn/ComfyUI-Whisper-Translator"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This is a ComfyUI node that allows you to translate subtitles using the Whisper. Now support for multiple languages: ['zh', 'en', 'ja', 'ko', 'ru', 'fr', 'de', 'es', 'pt', 'it', 'ar'] You may need to put fonts in the 'fonts' folder to support different languages."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "WainWong",
|
|
||||||
"title": "ComfyUI-Loop-image",
|
|
||||||
"reference": "https://github.com/WainWong/ComfyUI-Loop-image",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/WainWong/ComfyUI-Loop-image"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "ComfyUI Loop Image is a node package specifically designed for image loop processing. It provides two main processing modes: Batch Image Processing and Single Image Processing, along with supporting image segmentation and merging functions."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "rhplus0831",
|
|
||||||
"title": "ComfyMepi",
|
|
||||||
"reference": "https://github.com/rhplus0831/ComfyMepi",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/rhplus0831/ComfyMepi"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Another mobile frontend for ComfyUI"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "0x-jerry",
|
|
||||||
"title": "Rembg Background Removal Node for ComfyUI",
|
|
||||||
"reference": "https://github.com/0x-jerry/comfyui-rembg",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/0x-jerry/comfyui-rembg"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Rembg Background Removal Node for ComfyUI"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1365,29 +1365,43 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/Amorano/Jovi_GLSL": [
|
"https://github.com/Amorano/Jovi_GLSL": [
|
||||||
[
|
[
|
||||||
"GLSL (JOV_GL) \ud83c\udf69",
|
"BLEND LINEAR (JOV_GL)",
|
||||||
"GLSL BLEND LINEAR (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"COLOR CONVERSION (JOV_GL)",
|
||||||
"GLSL COLOR CONVERSION (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"COLOR PALETTE (JOV_GL)",
|
||||||
"GLSL COLOR PALETTE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"CONICAL GRADIENT (JOV_GL)",
|
||||||
"GLSL CONICAL GRADIENT (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"DIRECTIONAL WARP (JOV_GL)",
|
||||||
"GLSL DIRECTIONAL WARP (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"FILTER RANGE (JOV_GL)",
|
||||||
"GLSL FILTER RANGE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"GRAYSCALE (JOV_GL)",
|
||||||
"GLSL GRAYSCALE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"HSV ADJUST (JOV_GL)",
|
||||||
"GLSL HSV ADJUST (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"INVERT (JOV_GL)",
|
||||||
"GLSL INVERT (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"MIN MAX (JOV_GL)",
|
||||||
"GLSL NORMAL (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"NOISE PERLIN (JOV_GL)",
|
||||||
"GLSL NORMAL BLEND (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"NOISE SIMPLEX (JOV_GL)",
|
||||||
"GLSL POSTERIZE (JOV_GL) \ud83e\uddd9\ud83c\udffd",
|
"NOISE WORLEY (JOV_GL)",
|
||||||
"GLSL TRANSFORM (JOV_GL) \ud83e\uddd9\ud83c\udffd"
|
"NORMAL (JOV_GL)",
|
||||||
|
"NORMAL BLEND (JOV_GL)",
|
||||||
|
"PIXELATE (JOV_GL)",
|
||||||
|
"POSTERIZE (JOV_GL)",
|
||||||
|
"SOBEL (JOV_GL)",
|
||||||
|
"TRANSFORM (JOV_GL)"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "Jovi_GLSL"
|
"title_aux": "Jovi_GLSL"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/Amorano/Jovi_Measure": [
|
||||||
|
[
|
||||||
|
"BLUR EFFECT (JOV_MEASURE)",
|
||||||
|
"SHANNON ENTROPY (JOV_MEASURE)"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "Jovi_Measure"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/Amorano/Jovi_Spout": [
|
"https://github.com/Amorano/Jovi_Spout": [
|
||||||
[
|
[
|
||||||
"SPOUT READER (JOV_SP) \ud83d\udcfa",
|
"SPOUT READER (JOV_SPOUT)",
|
||||||
"SPOUT WRITER (JOV_SP) \ud83c\udfa5"
|
"SPOUT WRITER (JOV_SPOUT)"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "Jovi_Spout"
|
"title_aux": "Jovi_Spout"
|
||||||
@@ -2662,6 +2676,7 @@
|
|||||||
[
|
[
|
||||||
"DP 10 String Switch",
|
"DP 10 String Switch",
|
||||||
"DP 2 String Switch",
|
"DP 2 String Switch",
|
||||||
|
"DP 5 Find And Replace",
|
||||||
"DP 5 String Switch",
|
"DP 5 String Switch",
|
||||||
"DP Add Weight To String Sdxl",
|
"DP Add Weight To String Sdxl",
|
||||||
"DP Advanced Weight String Sdxl",
|
"DP Advanced Weight String Sdxl",
|
||||||
@@ -2689,6 +2704,7 @@
|
|||||||
"DP Image Color Analyzer Small",
|
"DP Image Color Analyzer Small",
|
||||||
"DP Image Color Effect",
|
"DP Image Color Effect",
|
||||||
"DP Image Effect Processor",
|
"DP Image Effect Processor",
|
||||||
|
"DP Image Effect Processor Small",
|
||||||
"DP Image Empty Latent Switch Flux",
|
"DP Image Empty Latent Switch Flux",
|
||||||
"DP Image Empty Latent Switch SDXL",
|
"DP Image Empty Latent Switch SDXL",
|
||||||
"DP Image Slide Show",
|
"DP Image Slide Show",
|
||||||
@@ -2699,6 +2715,7 @@
|
|||||||
"DP Int 0-1000",
|
"DP Int 0-1000",
|
||||||
"DP Int 0-1000 4 Step",
|
"DP Int 0-1000 4 Step",
|
||||||
"DP Int 0-1000 8 Step",
|
"DP Int 0-1000 8 Step",
|
||||||
|
"DP Line Cycler",
|
||||||
"DP Load Image Effects",
|
"DP Load Image Effects",
|
||||||
"DP Load Image Effects Small",
|
"DP Load Image Effects Small",
|
||||||
"DP Load Image Minimal",
|
"DP Load Image Minimal",
|
||||||
@@ -3934,9 +3951,9 @@
|
|||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "AlexL",
|
"author": "AlexL",
|
||||||
"description": "Display, save or not save image, with or without extra metadata.",
|
"description": "An implementation of Microsoft kosmos-2 image to text transformer.",
|
||||||
"nickname": "Hangover-Save_Image_Extra_Metadata",
|
"nickname": "Hangover-ms_kosmos2",
|
||||||
"title": "ComfyUI-Hangover-Save_Image",
|
"title": "ComfyUI-Hangover-Kosmos2",
|
||||||
"title_aux": "ComfyUI-Hangover-Nodes"
|
"title_aux": "ComfyUI-Hangover-Nodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -5184,6 +5201,7 @@
|
|||||||
"Texturaizer_KSamplerAdvanced",
|
"Texturaizer_KSamplerAdvanced",
|
||||||
"Texturaizer_Placeholder",
|
"Texturaizer_Placeholder",
|
||||||
"Texturaizer_PowerLoraLoader",
|
"Texturaizer_PowerLoraLoader",
|
||||||
|
"Texturaizer_SendImage",
|
||||||
"Texturaizer_SetGlobalDir",
|
"Texturaizer_SetGlobalDir",
|
||||||
"Texturaizer_SigmasSelector",
|
"Texturaizer_SigmasSelector",
|
||||||
"Texturaizer_SwitchAny",
|
"Texturaizer_SwitchAny",
|
||||||
@@ -6578,39 +6596,6 @@
|
|||||||
"title_aux": "comfyUI-PL-data-tools"
|
"title_aux": "comfyUI-PL-data-tools"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Pos13/comfyui-cyclist": [
|
|
||||||
[
|
|
||||||
"CyclistCompare",
|
|
||||||
"CyclistMathFloat",
|
|
||||||
"CyclistMathInt",
|
|
||||||
"CyclistTimer",
|
|
||||||
"CyclistTimerStop",
|
|
||||||
"CyclistTypeCast",
|
|
||||||
"Interrupt",
|
|
||||||
"LoopManager",
|
|
||||||
"MemorizeConditioning",
|
|
||||||
"MemorizeFloat",
|
|
||||||
"MemorizeInt",
|
|
||||||
"MemorizeString",
|
|
||||||
"OverrideImage",
|
|
||||||
"OverrideLatent",
|
|
||||||
"OverrideModel",
|
|
||||||
"RecallConditioning",
|
|
||||||
"RecallFloat",
|
|
||||||
"RecallInt",
|
|
||||||
"RecallString",
|
|
||||||
"ReloadImage",
|
|
||||||
"ReloadLatent",
|
|
||||||
"ReloadModel"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"author": "Pos13",
|
|
||||||
"description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles.",
|
|
||||||
"nickname": "comfyui-cyclist",
|
|
||||||
"title": "Cyclist",
|
|
||||||
"title_aux": "Cyclist"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": [
|
"https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": [
|
||||||
[
|
[
|
||||||
"Publish Image To RabbitMQ"
|
"Publish Image To RabbitMQ"
|
||||||
@@ -11678,7 +11663,6 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/catboxanon/comfyui_stealth_pnginfo": [
|
"https://github.com/catboxanon/comfyui_stealth_pnginfo": [
|
||||||
[
|
[
|
||||||
"AddA1111LikeMetadata",
|
|
||||||
"CatboxAnonSaveImageStealth"
|
"CatboxAnonSaveImageStealth"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
@@ -12664,9 +12648,9 @@
|
|||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "Chris Freilich",
|
"author": "Chris Freilich",
|
||||||
"description": "This extension provides blur nodes.",
|
"description": "This extension provides a \"Levels\" node.",
|
||||||
"nickname": "Virtuoso Pack - Blur",
|
"nickname": "Virtuoso Pack - Contrast",
|
||||||
"title": "Virtuoso Pack - Blur",
|
"title": "Virtuoso Pack - Contrast",
|
||||||
"title_aux": "Virtuoso Nodes for ComfyUI"
|
"title_aux": "Virtuoso Nodes for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -22426,6 +22410,14 @@
|
|||||||
"title_aux": "Redial Discomphy - Discord Integration for ComfyUI"
|
"title_aux": "Redial Discomphy - Discord Integration for ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/r3dsd/comfyui-template-loader": [
|
||||||
|
[
|
||||||
|
"TemplateLoader"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "Comfyui-Template-Loader"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/ramesh-x90/ComfyUI_pyannote": [
|
"https://github.com/ramesh-x90/ComfyUI_pyannote": [
|
||||||
[
|
[
|
||||||
"Speaker Diarization",
|
"Speaker Diarization",
|
||||||
@@ -23460,6 +23452,18 @@
|
|||||||
"title_aux": "ComfyUI-KGnodes"
|
"title_aux": "ComfyUI-KGnodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/shahkoorosh/ComfyUI-PersianText": [
|
||||||
|
[
|
||||||
|
"PersianText"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"author": "ShahKoorosh",
|
||||||
|
"description": "A powerful ComfyUI node for rendering text with advanced styling options, including full support for Persian/Farsi and Arabic scripts.",
|
||||||
|
"nickname": "PersianText",
|
||||||
|
"title": "ComfyUI-PersianText",
|
||||||
|
"title_aux": "ComfyUI-PersianText"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/shi3z/ComfyUI_Memeplex_DALLE": [
|
"https://github.com/shi3z/ComfyUI_Memeplex_DALLE": [
|
||||||
[
|
[
|
||||||
"DallERender",
|
"DallERender",
|
||||||
@@ -24005,6 +24009,16 @@
|
|||||||
"title_aux": "ComfyUI_Pops"
|
"title_aux": "ComfyUI_Pops"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/smthemex/ComfyUI_SVFR": [
|
||||||
|
[
|
||||||
|
"SVFR_LoadModel",
|
||||||
|
"SVFR_Sampler",
|
||||||
|
"SVFR_img2mask"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI_SVFR"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/smthemex/ComfyUI_Sapiens": [
|
"https://github.com/smthemex/ComfyUI_Sapiens": [
|
||||||
[
|
[
|
||||||
"SapiensLoader",
|
"SapiensLoader",
|
||||||
@@ -24070,6 +24084,7 @@
|
|||||||
"Character Selector",
|
"Character Selector",
|
||||||
"Copy/Paste Textbox",
|
"Copy/Paste Textbox",
|
||||||
"Filter Tags",
|
"Filter Tags",
|
||||||
|
"Generate All Characters",
|
||||||
"Get Font Size",
|
"Get Font Size",
|
||||||
"Load Lora Folder",
|
"Load Lora Folder",
|
||||||
"Load Lora Sn0w",
|
"Load Lora Sn0w",
|
||||||
@@ -24857,10 +24872,10 @@
|
|||||||
"ImageToAscii"
|
"ImageToAscii"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"author": "Tomudo",
|
"author": "dfl",
|
||||||
"description": "Convert Image to ascii art to use. May be use to decorate terminal apps like Neofetch",
|
"description": "CLIP text encoder that does BREAK prompting like A1111",
|
||||||
"nickname": "Image To Ascii",
|
"nickname": "CLIP with BREAK",
|
||||||
"title": "Image To Ascii",
|
"title": "CLIP with BREAK syntax",
|
||||||
"title_aux": "ComfyUI-ascii-art"
|
"title_aux": "ComfyUI-ascii-art"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -25494,6 +25509,22 @@
|
|||||||
"title_aux": "ComfyUI template matching"
|
"title_aux": "ComfyUI template matching"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor": [
|
||||||
|
[
|
||||||
|
"OpenposeEditorNode"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI-ultimate-openpose-estimator"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator": [
|
||||||
|
[
|
||||||
|
"OpenposeEstimatorNode"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI-ultimate-openpose-estimator"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": [
|
"https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": [
|
||||||
[
|
[
|
||||||
"OpenposeRenderNode"
|
"OpenposeRenderNode"
|
||||||
@@ -26878,9 +26909,6 @@
|
|||||||
"QRNG_Node_CSV"
|
"QRNG_Node_CSV"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"preemptions": [
|
|
||||||
"SAMLoader"
|
|
||||||
],
|
|
||||||
"title_aux": "QRNG_Node_ComfyUI"
|
"title_aux": "QRNG_Node_ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -27044,6 +27072,9 @@
|
|||||||
"SDXLAspectRatio"
|
"SDXLAspectRatio"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
|
"preemptions": [
|
||||||
|
"SAMLoader"
|
||||||
|
],
|
||||||
"title_aux": "SDXLCustomAspectRatio"
|
"title_aux": "SDXLCustomAspectRatio"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -413,7 +413,7 @@ def is_installed(name):
|
|||||||
if name.startswith('#'):
|
if name.startswith('#'):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
pattern = r'([^<>!=]+)([<>!=]=?)([0-9.a-zA-Z]*)'
|
pattern = r'([^<>!~=]+)([<>!~=]=?)([0-9.a-zA-Z]*)'
|
||||||
match = re.search(pattern, name)
|
match = re.search(pattern, name)
|
||||||
|
|
||||||
if match:
|
if match:
|
||||||
|
|||||||
@@ -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 = "3.6.5"
|
version = "3.7"
|
||||||
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"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user