Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9e44617199 | ||
|
|
8aa4fcf448 | ||
|
|
39e62cd800 | ||
|
|
d8c5a42777 | ||
|
|
0a19924b36 | ||
|
|
665fd72480 | ||
|
|
76b073c366 | ||
|
|
fa357479ef | ||
|
|
19a9c24485 | ||
|
|
05ecca1f4d | ||
|
|
58847298be | ||
|
|
a9f8cecaec | ||
|
|
441b4d2797 | ||
|
|
1808bc3027 | ||
|
|
d4db1a51d2 | ||
|
|
f06ac47557 | ||
|
|
d8fb8ce606 | ||
|
|
26b7816552 | ||
|
|
8576f9c97f | ||
|
|
c4eecca6b6 |
@@ -4059,7 +4059,7 @@
|
|||||||
{
|
{
|
||||||
"author": "toyxyz",
|
"author": "toyxyz",
|
||||||
"title": "ComfyUI_toyxyz_test_nodes",
|
"title": "ComfyUI_toyxyz_test_nodes",
|
||||||
"id": "toyxyz",
|
"id": "comfyui_toyxyz_test_nodes",
|
||||||
"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,6 +4067,16 @@
|
|||||||
"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",
|
||||||
@@ -5210,6 +5220,17 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Provides some features and nodes related to API calls."
|
"description": "Provides some features and nodes related to API calls."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "lldacing",
|
||||||
|
"title": "ComfyUI_StableDelight_ll",
|
||||||
|
"id": "comfyui_stabledelight_ll",
|
||||||
|
"reference": "https://github.com/lldacing/ComfyUI_StableDelight_ll",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/lldacing/ComfyUI_StableDelight_ll"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "StableDelight: Revealing Hidden Textures by Removing Specular Reflections"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "CosmicLaca",
|
"author": "CosmicLaca",
|
||||||
"title": "Primere nodes for ComfyUI",
|
"title": "Primere nodes for ComfyUI",
|
||||||
@@ -7205,6 +7226,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "A custom node that provides enhanced control over style transfer balance when using FLUX style models in ComfyUI. This node offers better control over the influence of text prompts versus style reference images."
|
"description": "A custom node that provides enhanced control over style transfer balance when using FLUX style models in ComfyUI. This node offers better control over the influence of text prompts versus style reference images."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "ShmuelRonen",
|
||||||
|
"title": "ComfyUI Pixtral Large Extension",
|
||||||
|
"reference": "https://github.com/ShmuelRonen/ComfyUI_pixtral_large",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/ShmuelRonen/ComfyUI_pixtral_large"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A ComfyUI custom node that integrates Mistral AI's Pixtral Large vision model, enabling powerful multimodal AI capabilities within ComfyUI. Pixtral Large is a 124B parameter model (123B decoder + 1B vision encoder) that can analyze up to 30 high-resolution images simultaneously."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "redhottensors",
|
"author": "redhottensors",
|
||||||
"title": "ComfyUI-Prediction",
|
"title": "ComfyUI-Prediction",
|
||||||
@@ -8613,16 +8644,6 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Unofficial implementation of [a/MiniCPM-V](https://github.com/OpenBMB/MiniCPM-V) for ComfyUI"
|
"description": "Unofficial implementation of [a/MiniCPM-V](https://github.com/OpenBMB/MiniCPM-V) for ComfyUI"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"author": "hay86",
|
|
||||||
"title": "ComfyUI AceNodes",
|
|
||||||
"reference": "https://github.com/hay86/ComfyUI_AceNodes",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/hay86/ComfyUI_AceNodes"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Some useful custom nodes that are not included in ComfyUI core yet."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "shinich39",
|
"author": "shinich39",
|
||||||
"title": "comfyui-load-image-in-seq",
|
"title": "comfyui-load-image-in-seq",
|
||||||
@@ -10003,14 +10024,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "pamparamm",
|
"author": "pamparamm",
|
||||||
"title": "Perturbed-Attention Guidance",
|
"title": "sd-perturbed-attention",
|
||||||
"id": "pag",
|
"id": "pag",
|
||||||
"reference": "https://github.com/pamparamm/sd-perturbed-attention",
|
"reference": "https://github.com/pamparamm/sd-perturbed-attention",
|
||||||
"files": [
|
"files": [
|
||||||
"https://github.com/pamparamm/sd-perturbed-attention"
|
"https://github.com/pamparamm/sd-perturbed-attention"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Perturbed-Attention Guidance with advanced parameters for ComfyUI. (PAG)"
|
"description": "Perturbed-Attention Guidance, Smoothed Energy Guidance and Sliding Window Guidance for ComfyUI and SD Forge/reForge. (PAG)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "pamparamm",
|
"author": "pamparamm",
|
||||||
@@ -12942,7 +12963,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"
|
"description": "NODES: Add Mask For IC Lora, Create Context Window, Concatenate Context Window"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "lrzjason",
|
"author": "lrzjason",
|
||||||
@@ -14462,7 +14483,7 @@
|
|||||||
"https://github.com/Steudio/ComfyUI_Steudio"
|
"https://github.com/Steudio/ComfyUI_Steudio"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Nodes: Make_Tile_Calc, Make_Tiles, Unmake_Tiles, Make_Size, Make_Size_Latent"
|
"description": "Nodes: Divide and Conquer Algorithm, Divide Image, Combine Tiles, Make_Size"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "Assistant",
|
"author": "Assistant",
|
||||||
@@ -15049,16 +15070,6 @@
|
|||||||
"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",
|
||||||
@@ -15195,7 +15206,7 @@
|
|||||||
"https://github.com/revirevy/Comfyui_saveimage_imgbb"
|
"https://github.com/revirevy/Comfyui_saveimage_imgbb"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This custom node allow upscaling an image by a factor using a model."
|
"description": "This custom node allow you to upload result images to imgbb."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "Kinglord",
|
"author": "Kinglord",
|
||||||
@@ -16137,6 +16148,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "A custom node for ComfyUI that allows you to create iPhone-compatible Live Photos from videos. This node can convert video sequences into Live Photo format, with the ability to select key frames and customize the output."
|
"description": "A custom node for ComfyUI that allows you to create iPhone-compatible Live Photos from videos. This node can convert video sequences into Live Photo format, with the ability to select key frames and customize the output."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "stormcenter",
|
||||||
|
"title": "ComfyUI-SVGFullfill",
|
||||||
|
"reference": "https://github.com/stormcenter/ComfyUI-SVGFullfill",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/stormcenter/ComfyUI-SVGFullfill"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "ComfyUI-SVGFullfill is a custom node for ComfyUI that handles SVG file processing. Key features: - SVG file upload and preview - Replace images (up to 3) and text elements (up to 10) in SVG - Chinese font support - Real-time canvas preview - PNG export"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "AkashKarnatak",
|
"author": "AkashKarnatak",
|
||||||
"title": "ComfyUI_faishme",
|
"title": "ComfyUI_faishme",
|
||||||
@@ -16374,16 +16395,6 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "A custom node extension for ComfyUI that enables conversion between NovelAI and ComfyUI prompt formats, along with extraction of NovelAI metadata from PNG images."
|
"description": "A custom node extension for ComfyUI that enables conversion between NovelAI and ComfyUI prompt formats, along with extraction of NovelAI metadata from PNG images."
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"author": "zmwv823",
|
|
||||||
"title": "ComfyUI_Ctrlora",
|
|
||||||
"reference": "https://github.com/zmwv823/ComfyUI_Ctrlora",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/zmwv823/ComfyUI_Ctrlora"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Unofficial custom_node for [a/xyfJASON/ctrlora](https://github.com/xyfJASON/ctrlora)."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "Wakfull33",
|
"author": "Wakfull33",
|
||||||
"title": "ComfyUI-SaveImageCivitAI",
|
"title": "ComfyUI-SaveImageCivitAI",
|
||||||
@@ -16790,6 +16801,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one."
|
"description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "DoctorDiffusion",
|
||||||
|
"title": "ComfyUI-SnakeOil",
|
||||||
|
"reference": "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/DoctorDiffusion/ComfyUI-SnakeOil"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Use [a/Doctor Diffusion's snake oil nLoRAs](https://civitai.com/models/987843) as well as [a/other negative LoRAs](https://civitai.com/models/186617/doctor-diffusions-negative-xl-lora) easily within ComfyUI."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "robtl2",
|
"author": "robtl2",
|
||||||
"title": "ComfyUI-ComfyBridge",
|
"title": "ComfyUI-ComfyBridge",
|
||||||
@@ -16963,6 +16984,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This repository packages the latest BiRefNet model as a ComfyUI node for use, supporting chunked loading on both CPU and GPU, as well as model caching features."
|
"description": "This repository packages the latest BiRefNet model as a ComfyUI node for use, supporting chunked loading on both CPU and GPU, as well as model caching features."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "duhaifeng",
|
||||||
|
"title": "ComfyUI-Flux-Inpainting",
|
||||||
|
"reference": "https://github.com/rubi-du/ComfyUI-Flux-Inpainting",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/rubi-du/ComfyUI-Flux-Inpainting"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "This node wraps the flux fill model as ComfyUI nodes. Use NF4 flux fill model, support for inpainting and outpainting image. Compared to the flux fill dev model, these nodes can use the flux fill model to perform inpainting and outpainting work under lower VRM conditions."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "vkff5833",
|
"author": "vkff5833",
|
||||||
"title": "ComfyUI-PromptConverter",
|
"title": "ComfyUI-PromptConverter",
|
||||||
@@ -16983,6 +17014,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "NODES:Canvas View"
|
"description": "NODES:Canvas View"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "tanglup",
|
||||||
|
"title": "Comfyui_Flux_Style_Adjust",
|
||||||
|
"reference": "https://github.com/tanglup/Comfyui_Flux_Style_Adjust",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/tanglup/Comfyui_Flux_Style_Adjust"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "StyleModelApply adds more controls"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "Makki_Shizu",
|
"author": "Makki_Shizu",
|
||||||
"title": "ComfyUI-SaveAnimatedGIF",
|
"title": "ComfyUI-SaveAnimatedGIF",
|
||||||
@@ -17006,14 +17047,15 @@
|
|||||||
"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": "lo-th",
|
"author": "lth",
|
||||||
"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": "Custom node for ComfyUI to run three js"
|
"description": "Use power of three.js in 3d view on comfyui."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "AIPOQUE",
|
"author": "AIPOQUE",
|
||||||
@@ -17078,6 +17120,17 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "The face restore node for ComfyUI, based on RestoreFormer"
|
"description": "The face restore node for ComfyUI, based on RestoreFormer"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "tungdop2",
|
||||||
|
"title": "Joy Caption Alpha Two for ComfyUI",
|
||||||
|
"id": "joy-captioner-alpha-two",
|
||||||
|
"reference": "https://github.com/tungdop2/Comfyui_joy-caption-alpha-two",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/tungdop2/Comfyui_joy-caption-alpha-two"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "The Joy Caption Alpha Two node for ComfyUI, based on https://huggingface.co/spaces/fancyfeast/joy-caption-alpha-two"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "pschroedl",
|
"author": "pschroedl",
|
||||||
"title": "ComfyUI-SAM2-Realtime",
|
"title": "ComfyUI-SAM2-Realtime",
|
||||||
@@ -17100,13 +17153,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "iamandeepsandhu",
|
"author": "iamandeepsandhu",
|
||||||
"title": "ComfyUI-NSFW-Check",
|
"title": "NSFW Check for ComfyUI",
|
||||||
"reference": "https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check",
|
"reference": "https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check",
|
||||||
"files": [
|
"files": [
|
||||||
"https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check"
|
"https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "his project is designed to detect whether images generated by ComfyUI are Not Safe For Work (NSFW). It uses a machine learning model to classify images as either safe or not safe for work and returns a confidence score for the NSFW classification."
|
"description": "This project is designed to detect whether images generated by ComfyUI are Not Safe For Work (NSFW). It uses a machine learning model to classify images as either safe or not safe for work and returns a confidence score for the NSFW classification."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "Black-Lioness",
|
"author": "Black-Lioness",
|
||||||
@@ -17128,6 +17181,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "A node for ComfyUI that modifies the values in the samples input that fall outside of a min and max range using a multiplier."
|
"description": "A node for ComfyUI that modifies the values in the samples input that fall outside of a min and max range using a multiplier."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "SparknightLLC",
|
||||||
|
"title": "ComfyUI-MaskArbiter",
|
||||||
|
"reference": "https://github.com/SparknightLLC/ComfyUI-MaskArbiter",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/SparknightLLC/ComfyUI-MaskArbiter"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A node for ComfyUI that takes a list of masks and returns a single mask based on your criteria. For example, it can be used to mask the leftmost subject in an image containing more than one subject of the same class. The workflow below demonstrates the difference between Mask Arbiter (top) and traditional Grounding DINO masking (bottom.)"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "lightricks",
|
"author": "lightricks",
|
||||||
"title": "ComfyUI-LTXVideo",
|
"title": "ComfyUI-LTXVideo",
|
||||||
@@ -17148,7 +17211,7 @@
|
|||||||
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
|
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This extension offers a new Apply-Style node for Reflux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Reflux."
|
"description": "This extension offers a new Apply-Style node for Redux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Redux."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "ramesh-x90",
|
"author": "ramesh-x90",
|
||||||
@@ -17160,6 +17223,256 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This repository provides custom nodes for ComfyUI designed to process audio files, performing speaker diarization and integrating speaker data into whisper-transcribed segments. These nodes utilize the PyAnnote library for speaker identification and pandas for efficient data handling."
|
"description": "This repository provides custom nodes for ComfyUI designed to process audio files, performing speaker diarization and integrating speaker data into whisper-transcribed segments. These nodes utilize the PyAnnote library for speaker identification and pandas for efficient data handling."
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "wu12023",
|
||||||
|
"title": "ComfyUI-Image-Evaluation",
|
||||||
|
"reference": "https://github.com/wu12023/ComfyUI-Image-Evaluation",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/wu12023/ComfyUI-Image-Evaluation"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "An extension to ComfyUI that evaluates images using multiple models."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "windfancy",
|
||||||
|
"title": "zsq_prompt",
|
||||||
|
"reference": "https://github.com/windfancy/zsq_prompt",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/windfancy/zsq_prompt"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES: PromptStyler, PromptLatent, PromptCLIPEncode, PromptSelector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "c0ffymachyne",
|
||||||
|
"title": "Bytebeat Synthesizer: Composing with Operators",
|
||||||
|
"reference": "https://github.com/c0ffymachyne/ComfyUI_BeatByte",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/c0ffymachyne/ComfyUI_BeatByte"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Bytebeat is like composing music with the tools of a programmer’s toolkit. Instead of piano keys, you have operators like >>, |, and &. It’s like giving your CPU a guitar and letting it shred! 🤘"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "exectails",
|
||||||
|
"title": "Info Utils",
|
||||||
|
"id": "et_infoutils",
|
||||||
|
"reference": "https://github.com/exectails/comfyui-et_infoutils",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/exectails/comfyui-et_infoutils"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes that facilitate simpler information providing and gathering, such as Text Box, Show Data and Token Counter nodes."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "exectails",
|
||||||
|
"title": "String Utils",
|
||||||
|
"id": "et_stringutils",
|
||||||
|
"reference": "https://github.com/exectails/comfyui-et_stringutils",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/exectails/comfyui-et_stringutils"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes dedicated to the analysis and transformation of text strings, such as for formatting and conversions between types."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "exectails",
|
||||||
|
"title": "Dynamic Prompts",
|
||||||
|
"id": "et_dynamicprompts",
|
||||||
|
"reference": "https://github.com/exectails/comfyui-et_dynamicprompts",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/exectails/comfyui-et_dynamicprompts"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes that implement functionality similar to the Dynamic Prompts extension for A1111."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "Lasse Lauwerys",
|
||||||
|
"title": "Touchpad and trackpad gesture support",
|
||||||
|
"reference": "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Iemand005/ComfyUI-Touchpad-Gestures"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Implements proper touchpad zooming and panning into ComfyUI to make it more usable on laptops."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "SleeeepyZhou",
|
||||||
|
"title": "CNtranslator",
|
||||||
|
"id": "cn-translator",
|
||||||
|
"reference": "https://github.com/SleeeepyZhou/ComfyUI-CNtranslator",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/SleeeepyZhou/ComfyUI-CNtranslator"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A translation node for users in Chinese Mainland. (Because of the network firewall in Chinese Mainland, many translation APIs cannot be used normally.)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "flycarl",
|
||||||
|
"title": "ComfyUI-Pixelate",
|
||||||
|
"reference": "https://github.com/flycarl/ComfyUI-Pixelate",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/flycarl/ComfyUI-Pixelate"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "[a/sd-webui-pixelart](https://github.com/mrreplicart/sd-webui-pixelart) are referenced by many webui users, this node is mean to use it in ComfyUI."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "Alvaroeai",
|
||||||
|
"title": "ComfyUI-Text2Json",
|
||||||
|
"reference": "https://github.com/Alvaroeai/ComfyUI-Text2Json",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Alvaroeai/ComfyUI-Text2Json"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "This repository contains a custom node for ComfyUI that converts text into a JSON object. The node is designed to be user-friendly and supports multi-line JSON input."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "dymokomi",
|
||||||
|
"title": "comfyui_dygen",
|
||||||
|
"reference": "https://github.com/dymokomi/comfyui_dygen",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/dymokomi/comfyui_dygen"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "bananasss00",
|
||||||
|
"title": "ComfyUI-flux_fill_patcher",
|
||||||
|
"reference": "https://github.com/bananasss00/ComfyUI-flux_fill_patcher",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/bananasss00/ComfyUI-flux_fill_patcher"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "flux patcher for Fill Flux.Dev lora [a/https://civitai.com/models/981615/fluxfill-inpaint-lora](https://civitai.com/models/981615/fluxfill-inpaint-lora)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "Yuan-ManX",
|
||||||
|
"title": "ComfyUI-SoundHub",
|
||||||
|
"reference": "https://github.com/Yuan-ManX/ComfyUI-SoundHub",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Yuan-ManX/ComfyUI-SoundHub"
|
||||||
|
],
|
||||||
|
"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."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"title": "ComfyUI_StarNodes",
|
||||||
|
"reference": "https://github.com/Starnodes2024/ComfyUI_StarNodes",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Starnodes2024/ComfyUI_StarNodes"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES: StarNode Input Image Chooser, SD(XL) Star(t) Settings, SD3.5 Star(t) Settings, Starnode Ollama Helper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "motivated3",
|
||||||
|
"title": "ComfyUI MiaoShua Creator",
|
||||||
|
"id": "comfyui-shua-creator",
|
||||||
|
"reference": "https://github.com/motivated3/comfyui-shua-creator",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/motivated3/comfyui-shua-creator"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "With the MiaoShua creator's end, you can use this plugin to upload debugged workflows for consumer end users to use."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "takemetosiberia",
|
||||||
|
"title": "SAMURAI Nodes for ComfyUI",
|
||||||
|
"reference": "https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "ComfyUI nodes for video object segmentation using [a/SAMURAI](https://github.com/yangchris11/samurai) model."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "purpen",
|
||||||
|
"title": "AIRedoon",
|
||||||
|
"reference": "https://github.com/purpen/ComfyUI-AIRedoon",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/purpen/ComfyUI-AIRedoon"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES:AIRedoon Translator, AIRedoon Image Caption.\nRedoonAi Tool Kit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "purpen",
|
||||||
|
"title": "ComfyUI-ImageTagger",
|
||||||
|
"reference": "https://github.com/purpen/ComfyUI-ImageTagger",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/purpen/ComfyUI-ImageTagger"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"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."
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -17520,14 +17833,14 @@
|
|||||||
"description": "This repository contains a custom node for ComfyUI that allows searching for a keyword in the first column of a CSV file and returning a value from a specified column in that row. The node is designed to be modular and fit within the node-based workflow of ComfyUI."
|
"description": "This repository contains a custom node for ComfyUI that allows searching for a keyword in the first column of a CSV file and returning a value from a specified column in that row. The node is designed to be modular and fit within the node-based workflow of ComfyUI."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "BobsBlazed",
|
"author": "bobsblazed",
|
||||||
"title": "Bobs_FLUX_SDXL_Latent_Optimizer",
|
"title": "Bobs_Latent_Optimizer",
|
||||||
"reference": "https://github.com/BobsBlazed/Bobs_FLUX_SDXL_Latent_Optimizer",
|
"reference": "https://github.com/BobsBlazed/Bobs_Latent_Optimizer",
|
||||||
"files": [
|
"files": [
|
||||||
"https://raw.githubusercontent.com/BobsBlazed/Bobs_Latent_Optimizer/refs/heads/main/Bobs_Latent_Optimizer.py"
|
"https://github.com/BobsBlazed/Bobs_Latent_Optimizer/raw/refs/heads/main/Bobs_Latent_Optimizer.py"
|
||||||
],
|
],
|
||||||
"install_type": "copy",
|
"install_type": "copy",
|
||||||
"description": "This custom node for ComfyUI is designed to optimize latent generation for use with both FLUX and SDXL modes. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs."
|
"description": "This custom node for ComfyUI is designed to optimize latent generation for use with FLUX, SDXL and SD3. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "SimonHeese",
|
"author": "SimonHeese",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
4524
github-stats.json
4524
github-stats.json
File diff suppressed because it is too large
Load Diff
@@ -23,13 +23,35 @@ sys.path.append(glob_path)
|
|||||||
import cm_global
|
import cm_global
|
||||||
from manager_util import *
|
from manager_util import *
|
||||||
|
|
||||||
version = [2, 52]
|
version = [2, 54]
|
||||||
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 '')
|
||||||
|
|
||||||
|
|
||||||
comfyui_manager_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
comfyui_manager_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||||
custom_nodes_path = os.path.abspath(os.path.join(comfyui_manager_path, '..'))
|
custom_nodes_path = os.path.abspath(os.path.join(comfyui_manager_path, '..'))
|
||||||
|
|
||||||
|
default_custom_nodes_path = None
|
||||||
|
|
||||||
|
def get_default_custom_nodes_path():
|
||||||
|
global default_custom_nodes_path
|
||||||
|
if default_custom_nodes_path is None:
|
||||||
|
try:
|
||||||
|
import folder_paths
|
||||||
|
default_custom_nodes_path = folder_paths.get_folder_paths("custom_nodes")[0]
|
||||||
|
except:
|
||||||
|
default_custom_nodes_path = custom_nodes_path
|
||||||
|
|
||||||
|
return default_custom_nodes_path
|
||||||
|
|
||||||
|
|
||||||
|
def get_custom_nodes_paths():
|
||||||
|
try:
|
||||||
|
import folder_paths
|
||||||
|
return folder_paths.get_folder_paths("custom_nodes")
|
||||||
|
except:
|
||||||
|
return [custom_nodes_path]
|
||||||
|
|
||||||
|
|
||||||
comfy_path = os.environ.get('COMFYUI_PATH')
|
comfy_path = os.environ.get('COMFYUI_PATH')
|
||||||
if comfy_path is None:
|
if comfy_path is None:
|
||||||
comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..'))
|
comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..'))
|
||||||
@@ -340,7 +362,7 @@ def __win_check_git_update(path, do_fetch=False, do_update=False):
|
|||||||
|
|
||||||
new_env = os.environ.copy()
|
new_env = os.environ.copy()
|
||||||
new_env["COMFYUI_PATH"] = comfy_path
|
new_env["COMFYUI_PATH"] = comfy_path
|
||||||
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=custom_nodes_path)
|
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=get_default_custom_nodes_path())
|
||||||
output, _ = process.communicate()
|
output, _ = process.communicate()
|
||||||
output = output.decode('utf-8').strip()
|
output = output.decode('utf-8').strip()
|
||||||
|
|
||||||
@@ -394,7 +416,7 @@ def __win_check_git_pull(path):
|
|||||||
new_env = os.environ.copy()
|
new_env = os.environ.copy()
|
||||||
new_env["COMFYUI_PATH"] = comfy_path
|
new_env["COMFYUI_PATH"] = comfy_path
|
||||||
command = [sys.executable, git_script_path, "--pull", path]
|
command = [sys.executable, git_script_path, "--pull", path]
|
||||||
process = subprocess.Popen(command, env=new_env, cwd=custom_nodes_path)
|
process = subprocess.Popen(command, env=new_env, cwd=get_default_custom_nodes_path())
|
||||||
process.wait()
|
process.wait()
|
||||||
|
|
||||||
|
|
||||||
@@ -562,11 +584,11 @@ def gitclone_install(files, instant_execution=False, msg_prefix=''):
|
|||||||
try:
|
try:
|
||||||
print(f"Download: git clone '{url}'")
|
print(f"Download: git clone '{url}'")
|
||||||
repo_name = os.path.splitext(os.path.basename(url))[0]
|
repo_name = os.path.splitext(os.path.basename(url))[0]
|
||||||
repo_path = os.path.join(custom_nodes_path, repo_name)
|
repo_path = os.path.join(get_default_custom_nodes_path(), repo_name)
|
||||||
|
|
||||||
# Clone the repository from the remote URL
|
# Clone the repository from the remote URL
|
||||||
if not instant_execution and platform.system() == 'Windows':
|
if not instant_execution and platform.system() == 'Windows':
|
||||||
res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", custom_nodes_path, url], cwd=custom_nodes_path)
|
res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", get_default_custom_nodes_path(), url], cwd=get_default_custom_nodes_path())
|
||||||
if res != 0:
|
if res != 0:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
@@ -690,6 +712,22 @@ async def get_data_by_mode(mode, filename, channel_url=None):
|
|||||||
return json_obj
|
return json_obj
|
||||||
|
|
||||||
|
|
||||||
|
def lookup_installed_custom_nodes(repo_name):
|
||||||
|
try:
|
||||||
|
import folder_paths
|
||||||
|
base_paths = folder_paths.get_folder_paths("custom_nodes")
|
||||||
|
except:
|
||||||
|
base_paths = [custom_nodes_path]
|
||||||
|
|
||||||
|
for base_path in base_paths:
|
||||||
|
repo_path = os.path.join(base_path, repo_name)
|
||||||
|
if os.path.exists(repo_path):
|
||||||
|
return True, repo_path
|
||||||
|
elif os.path.exists(repo_path+'.disabled'):
|
||||||
|
return False, repo_path
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
def gitclone_fix(files, instant_execution=False):
|
def gitclone_fix(files, instant_execution=False):
|
||||||
print(f"Try fixing: {files}")
|
print(f"Try fixing: {files}")
|
||||||
for url in files:
|
for url in files:
|
||||||
@@ -701,13 +739,15 @@ def gitclone_fix(files, instant_execution=False):
|
|||||||
url = url[:-1]
|
url = url[:-1]
|
||||||
try:
|
try:
|
||||||
repo_name = os.path.splitext(os.path.basename(url))[0]
|
repo_name = os.path.splitext(os.path.basename(url))[0]
|
||||||
repo_path = os.path.join(custom_nodes_path, repo_name)
|
repo_path = lookup_installed_custom_nodes(repo_name)
|
||||||
|
|
||||||
if os.path.exists(repo_path+'.disabled'):
|
if repo_path is not None:
|
||||||
repo_path = repo_path+'.disabled'
|
repo_path = repo_path[1]
|
||||||
|
|
||||||
if not execute_install_script(url, repo_path, instant_execution=instant_execution):
|
if not execute_install_script(url, repo_path, instant_execution=instant_execution):
|
||||||
return False
|
return False
|
||||||
|
else:
|
||||||
|
print(f"Custom node not found: {repo_name}")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Install(git-clone) error: {url} / {e}", file=sys.stderr)
|
print(f"Install(git-clone) error: {url} / {e}", file=sys.stderr)
|
||||||
@@ -754,12 +794,12 @@ def gitclone_uninstall(files):
|
|||||||
url = url[:-1]
|
url = url[:-1]
|
||||||
try:
|
try:
|
||||||
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
||||||
dir_path = os.path.join(custom_nodes_path, dir_name)
|
repo_path = lookup_installed_custom_nodes(dir_name)
|
||||||
|
|
||||||
# safety check
|
if repo_path is None:
|
||||||
if dir_path == '/' or dir_path[1:] == ":/" or dir_path == '':
|
continue
|
||||||
print(f"Uninstall(git-clone) error: invalid path '{dir_path}' for '{url}'")
|
|
||||||
return False
|
dir_path = repo_path[1]
|
||||||
|
|
||||||
install_script_path = os.path.join(dir_path, "uninstall.py")
|
install_script_path = os.path.join(dir_path, "uninstall.py")
|
||||||
disable_script_path = os.path.join(dir_path, "disable.py")
|
disable_script_path = os.path.join(dir_path, "disable.py")
|
||||||
@@ -775,10 +815,7 @@ def gitclone_uninstall(files):
|
|||||||
if code != 0:
|
if code != 0:
|
||||||
print(f"An error occurred during the execution of the disable.py script. Only the '{dir_path}' will be deleted.")
|
print(f"An error occurred during the execution of the disable.py script. Only the '{dir_path}' will be deleted.")
|
||||||
|
|
||||||
if os.path.exists(dir_path):
|
rmtree(dir_path)
|
||||||
rmtree(dir_path)
|
|
||||||
elif os.path.exists(dir_path + ".disabled"):
|
|
||||||
rmtree(dir_path + ".disabled")
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Uninstall(git-clone) error: {url} / {e}", file=sys.stderr)
|
print(f"Uninstall(git-clone) error: {url} / {e}", file=sys.stderr)
|
||||||
return False
|
return False
|
||||||
@@ -801,12 +838,12 @@ def gitclone_set_active(files, is_disable):
|
|||||||
url = url[:-1]
|
url = url[:-1]
|
||||||
try:
|
try:
|
||||||
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
||||||
dir_path = os.path.join(custom_nodes_path, dir_name)
|
repo_path = lookup_installed_custom_nodes(dir_name)
|
||||||
|
|
||||||
# safety check
|
if repo_path is None:
|
||||||
if dir_path == '/' or dir_path[1:] == ":/" or dir_path == '':
|
continue
|
||||||
print(f"{action_name}(git-clone) error: invalid path '{dir_path}' for '{url}'")
|
|
||||||
return False
|
dir_path = repo_path[1]
|
||||||
|
|
||||||
if is_disable:
|
if is_disable:
|
||||||
current_path = dir_path
|
current_path = dir_path
|
||||||
@@ -843,10 +880,12 @@ def gitclone_update(files, instant_execution=False, skip_script=False, msg_prefi
|
|||||||
url = url[:-1]
|
url = url[:-1]
|
||||||
try:
|
try:
|
||||||
repo_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
repo_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
||||||
repo_path = os.path.join(custom_nodes_path, repo_name)
|
repo_path = lookup_installed_custom_nodes(repo_name)
|
||||||
|
|
||||||
if os.path.exists(repo_path+'.disabled'):
|
if repo_path is None:
|
||||||
repo_path = repo_path+'.disabled'
|
continue
|
||||||
|
|
||||||
|
repo_path = repo_path[1]
|
||||||
|
|
||||||
git_pull(repo_path)
|
git_pull(repo_path)
|
||||||
|
|
||||||
@@ -917,10 +956,14 @@ def lookup_customnode_by_url(data, target):
|
|||||||
for x in data['custom_nodes']:
|
for x in data['custom_nodes']:
|
||||||
if target in x['files']:
|
if target in x['files']:
|
||||||
dir_name = os.path.splitext(os.path.basename(target))[0].replace(".git", "")
|
dir_name = os.path.splitext(os.path.basename(target))[0].replace(".git", "")
|
||||||
dir_path = os.path.join(custom_nodes_path, dir_name)
|
repo_path = lookup_installed_custom_nodes(dir_name)
|
||||||
if os.path.exists(dir_path):
|
|
||||||
|
if repo_path is None:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if repo_path[0]:
|
||||||
x['installed'] = 'True'
|
x['installed'] = 'True'
|
||||||
elif os.path.exists(dir_path + ".disabled"):
|
else:
|
||||||
x['installed'] = 'Disabled'
|
x['installed'] = 'Disabled'
|
||||||
return x
|
return x
|
||||||
|
|
||||||
@@ -929,13 +972,15 @@ def lookup_customnode_by_url(data, target):
|
|||||||
|
|
||||||
def simple_check_custom_node(url):
|
def simple_check_custom_node(url):
|
||||||
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
||||||
dir_path = os.path.join(custom_nodes_path, dir_name)
|
repo_path = lookup_installed_custom_nodes(dir_name)
|
||||||
if os.path.exists(dir_path):
|
|
||||||
return 'installed'
|
|
||||||
elif os.path.exists(dir_path+'.disabled'):
|
|
||||||
return 'disabled'
|
|
||||||
|
|
||||||
return 'not-installed'
|
if repo_path is None:
|
||||||
|
return 'not-installed'
|
||||||
|
|
||||||
|
if repo_path[0]:
|
||||||
|
return 'installed'
|
||||||
|
else:
|
||||||
|
return 'disabled'
|
||||||
|
|
||||||
|
|
||||||
def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do_update=False):
|
def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do_update=False):
|
||||||
@@ -948,8 +993,12 @@ def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do
|
|||||||
url = url[:-1]
|
url = url[:-1]
|
||||||
|
|
||||||
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
|
||||||
dir_path = os.path.join(custom_nodes_path, dir_name)
|
repo_path = lookup_installed_custom_nodes(dir_name)
|
||||||
if os.path.exists(dir_path):
|
|
||||||
|
if repo_path is None:
|
||||||
|
item['installed'] = 'False'
|
||||||
|
elif repo_path[0]:
|
||||||
|
dir_path = repo_path[1]
|
||||||
try:
|
try:
|
||||||
item['installed'] = 'True' # default
|
item['installed'] = 'True' # default
|
||||||
|
|
||||||
@@ -968,17 +1017,23 @@ def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do
|
|||||||
else:
|
else:
|
||||||
item['installed'] = 'True'
|
item['installed'] = 'True'
|
||||||
|
|
||||||
elif os.path.exists(dir_path + ".disabled"):
|
|
||||||
item['installed'] = 'Disabled'
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
item['installed'] = 'False'
|
item['installed'] = 'Disabled'
|
||||||
|
|
||||||
elif item['install_type'] == 'copy' and len(item['files']) == 1:
|
elif item['install_type'] == 'copy' and len(item['files']) == 1:
|
||||||
dir_name = os.path.basename(item['files'][0])
|
dir_name = os.path.basename(item['files'][0])
|
||||||
|
|
||||||
if item['files'][0].endswith('.py'):
|
if item['files'][0].endswith('.py'):
|
||||||
base_path = custom_nodes_path
|
base_path = lookup_installed_custom_nodes(item['files'][0])
|
||||||
|
if base_path is None:
|
||||||
|
item['installed'] = 'False'
|
||||||
|
return
|
||||||
|
elif base_path[0]:
|
||||||
|
item['installed'] = 'True'
|
||||||
|
else:
|
||||||
|
item['installed'] = 'Disabled'
|
||||||
|
|
||||||
|
return
|
||||||
elif 'js_path' in item:
|
elif 'js_path' in item:
|
||||||
base_path = os.path.join(js_path, item['js_path'])
|
base_path = os.path.join(js_path, item['js_path'])
|
||||||
else:
|
else:
|
||||||
@@ -990,8 +1045,6 @@ def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do
|
|||||||
item['installed'] = 'Fail'
|
item['installed'] = 'Fail'
|
||||||
else:
|
else:
|
||||||
item['installed'] = 'True'
|
item['installed'] = 'True'
|
||||||
elif os.path.exists(file_path + ".disabled"):
|
|
||||||
item['installed'] = 'Disabled'
|
|
||||||
else:
|
else:
|
||||||
item['installed'] = 'False'
|
item['installed'] = 'False'
|
||||||
|
|
||||||
@@ -1028,39 +1081,46 @@ def get_current_snapshot():
|
|||||||
git_custom_nodes = {}
|
git_custom_nodes = {}
|
||||||
file_custom_nodes = []
|
file_custom_nodes = []
|
||||||
|
|
||||||
|
try:
|
||||||
|
import folder_paths
|
||||||
|
base_paths = folder_paths.get_folder_paths("custom_nodes")
|
||||||
|
except:
|
||||||
|
base_paths = [custom_nodes_path]
|
||||||
|
|
||||||
# Get custom nodes hash
|
# Get custom nodes hash
|
||||||
for path in os.listdir(custom_nodes_path):
|
for base_path in base_paths:
|
||||||
fullpath = os.path.join(custom_nodes_path, path)
|
for path in os.listdir(base_path):
|
||||||
|
fullpath = os.path.join(base_path, path)
|
||||||
|
|
||||||
if os.path.isdir(fullpath):
|
if os.path.isdir(fullpath):
|
||||||
is_disabled = path.endswith(".disabled")
|
is_disabled = path.endswith(".disabled")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
git_dir = os.path.join(fullpath, '.git')
|
git_dir = os.path.join(fullpath, '.git')
|
||||||
|
|
||||||
if not os.path.exists(git_dir):
|
if not os.path.exists(git_dir):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
repo = git.Repo(fullpath)
|
repo = git.Repo(fullpath)
|
||||||
commit_hash = repo.head.commit.hexsha
|
commit_hash = repo.head.commit.hexsha
|
||||||
url = repo.remotes.origin.url
|
url = repo.remotes.origin.url
|
||||||
git_custom_nodes[url] = {
|
git_custom_nodes[url] = {
|
||||||
'hash': commit_hash,
|
'hash': commit_hash,
|
||||||
|
'disabled': is_disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
except:
|
||||||
|
print(f"Failed to extract snapshots for the custom node '{path}'.")
|
||||||
|
|
||||||
|
elif path.endswith('.py'):
|
||||||
|
is_disabled = path.endswith(".py.disabled")
|
||||||
|
filename = os.path.basename(path)
|
||||||
|
item = {
|
||||||
|
'filename': filename,
|
||||||
'disabled': is_disabled
|
'disabled': is_disabled
|
||||||
}
|
}
|
||||||
|
|
||||||
except:
|
file_custom_nodes.append(item)
|
||||||
print(f"Failed to extract snapshots for the custom node '{path}'.")
|
|
||||||
|
|
||||||
elif path.endswith('.py'):
|
|
||||||
is_disabled = path.endswith(".py.disabled")
|
|
||||||
filename = os.path.basename(path)
|
|
||||||
item = {
|
|
||||||
'filename': filename,
|
|
||||||
'disabled': is_disabled
|
|
||||||
}
|
|
||||||
|
|
||||||
file_custom_nodes.append(item)
|
|
||||||
|
|
||||||
pip_packages = get_installed_pip_packages()
|
pip_packages = get_installed_pip_packages()
|
||||||
|
|
||||||
|
|||||||
@@ -248,23 +248,45 @@ 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(folder_paths.models_dir, "etc")
|
base_model = os.path.join(models_base, "etc")
|
||||||
else:
|
else:
|
||||||
if data['save_path'].startswith("custom_nodes"):
|
if data['save_path'].startswith("custom_nodes"):
|
||||||
base_model = os.path.join(core.comfy_path, data['save_path'])
|
base_model = resolve_custom_node(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(folder_paths.models_dir, data['save_path'])
|
base_model = os.path.join(models_base, 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":
|
elif model_type == "clip" or model_type == "text_encoders":
|
||||||
base_model = folder_paths.folder_names_and_paths["clip"][0][0]
|
if folder_paths.folder_names_and_paths.get("text_encoders"):
|
||||||
|
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":
|
||||||
@@ -290,14 +312,17 @@ 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(folder_paths.models_dir, "etc")
|
base_model = os.path.join(models_base, "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)
|
||||||
return os.path.join(base_model, data['filename'])
|
if base_model is None:
|
||||||
|
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):
|
||||||
|
|||||||
@@ -1276,15 +1276,6 @@ class ManagerMenuDialog extends ComfyDialog {
|
|||||||
modifyButtonStyle(url);
|
modifyButtonStyle(url);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "Open 'flowt.ai'",
|
|
||||||
callback: () => {
|
|
||||||
const url = "https://flowt.ai/";
|
|
||||||
localStorage.setItem("wg_last_visited", url);
|
|
||||||
window.open(url, url);
|
|
||||||
modifyButtonStyle(url);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Open 'esheep'",
|
title: "Open 'esheep'",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
|
|||||||
@@ -3721,6 +3721,41 @@
|
|||||||
"size": "1.19GB"
|
"size": "1.19GB"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "stabilityai/SD3.5-Large-Controlnet-Blur",
|
||||||
|
"type": "controlnet",
|
||||||
|
"base": "SD3.5",
|
||||||
|
"save_path": "controlnet/SD3.5",
|
||||||
|
"description": "Blur Controlnet model for SD3.5 Large",
|
||||||
|
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
|
||||||
|
"filename": "sd3.5_large_controlnet_blur.safetensors",
|
||||||
|
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_blur.safetensors",
|
||||||
|
"size": "8.65GB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stabilityai/SD3.5-Large-Controlnet-Canny",
|
||||||
|
"type": "controlnet",
|
||||||
|
"base": "SD3.5",
|
||||||
|
"save_path": "controlnet/SD3.5",
|
||||||
|
"description": "Canny Controlnet model for SD3.5 Large",
|
||||||
|
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
|
||||||
|
"filename": "sd3.5_large_controlnet_canny.safetensors",
|
||||||
|
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_canny.safetensors",
|
||||||
|
"size": "8.65GB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stabilityai/SD3.5-Large-Controlnet-Depth",
|
||||||
|
"type": "controlnet",
|
||||||
|
"base": "SD3.5",
|
||||||
|
"save_path": "controlnet/SD3.5",
|
||||||
|
"description": "Depth Controlnet model for SD3.5 Large",
|
||||||
|
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
|
||||||
|
"filename": "sd3.5_large_controlnet_depth.safetensors",
|
||||||
|
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_depth.safetensors",
|
||||||
|
"size": "8.65GB"
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "Kijai/ToonCrafter model checkpoint (interpolation fp16)",
|
"name": "Kijai/ToonCrafter model checkpoint (interpolation fp16)",
|
||||||
"type": "checkpoint",
|
"type": "checkpoint",
|
||||||
|
|||||||
@@ -13,6 +13,89 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"title": "ComfyUI-OIDN [WIP]",
|
||||||
|
"reference": "https://github.com/Anze-/ComfyUI-OIDN",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Anze-/ComfyUI-OIDN"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "ComyUI wrapper for Intel OIDN image denoising\nWARNING! : this is a development repo, usage in production environments is not advised! Bugs are to be expected."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "techzuhaib",
|
||||||
|
"title": "ComfyUI-CacheImageNode",
|
||||||
|
"reference": "https://github.com/techzuhaib/ComfyUI-CacheImageNode",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/techzuhaib/ComfyUI-CacheImageNode"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES: CacheImageNode"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "hay86",
|
||||||
|
"title": "ComfyUI AceNodes [UNSAFE]",
|
||||||
|
"reference": "https://github.com/hay86/ComfyUI_AceNodes",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/hay86/ComfyUI_AceNodes"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Some useful custom nodes that are not included in ComfyUI core yet.\nNOTE: Vulnerability discovered. Not being managed."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "dowands",
|
||||||
|
"title": "AddMaskForICLora",
|
||||||
|
"reference": "https://github.com/dowands/ComfyUI-AddMaskForICLora",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/dowands/ComfyUI-AddMaskForICLora"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES: Add Mask For IC Lora x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "zmwv823",
|
||||||
|
"title": "ComfyUI-Sana [WIP]",
|
||||||
|
"reference": "https://github.com/zmwv823/ComfyUI-Sana",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/zmwv823/ComfyUI-Sana"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Unofficial custom-node for [a/SANA: Efficient High-Resolution Image Synthesis with Linear Diffusion Transformer](https://github.com/NVlabs/Sana)\n[w/A init node with lots of bugs, do not try unless interested.]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "exectails",
|
||||||
|
"title": "Scripting",
|
||||||
|
"id": "et_scripting [UNSAFE]",
|
||||||
|
"reference": "https://github.com/exectails/comfyui-et_scripting",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/exectails/comfyui-et_scripting"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes that can be used to write Python scripts directly on a node. Useful for quick prototyping and testing, at the cost of security.[w/This extension allows the execution of arbitrary Python code from a workflow.]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "AIFSH",
|
||||||
|
"title": "UltralightDigitalHuman-ComfyUI",
|
||||||
|
"reference": "https://github.com/AIFSH/UltralightDigitalHuman-ComfyUI",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/AIFSH/UltralightDigitalHuman-ComfyUI"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "a custom node for [a/Ultralight-Digital-Human](https://github.com/anliyuan/Ultralight-Digital-Human)\nNOTE: The files in the repo are not organized."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "vahidzxc",
|
"author": "vahidzxc",
|
||||||
"title": "ComfyUI-My-Handy-Nodes",
|
"title": "ComfyUI-My-Handy-Nodes",
|
||||||
@@ -132,7 +215,7 @@
|
|||||||
"https://github.com/RobeSantoro/ComfyUI-RobeNodes"
|
"https://github.com/RobeSantoro/ComfyUI-RobeNodes"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "NODES: List Video Path Node, List Image Path Node\nThis is a collection of utility nodes for the ComfyUI stable diffusion client that provides enhanced file path handling capabilities.[w/Users will be able to access images from arbitrary paths through the workflow.] "
|
"description": "NODES: List Video Path Node, List Image Path Node\nThis is a collection of utility nodes for the ComfyUI stable diffusion client that provides enhanced file path handling capabilities.[w/Users will be able to access images from arbitrary paths through the workflow.]"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "Kimara.ai",
|
"author": "Kimara.ai",
|
||||||
@@ -173,7 +256,7 @@
|
|||||||
"https://github.com/trashgraphicard/Albedo-Sampler-for-ComfyUI"
|
"https://github.com/trashgraphicard/Albedo-Sampler-for-ComfyUI"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "NODES:Sample Image"
|
"description": "NODES:Sample Image, Make Seamless Tile"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "Anze-",
|
"author": "Anze-",
|
||||||
@@ -486,16 +569,6 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Upscale image with model multiple times !"
|
"description": "Upscale image with model multiple times !"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"author": "huangyangke",
|
|
||||||
"title": "ComfyUI-Kolors-IpadapterFaceId [WIP]",
|
|
||||||
"reference": "https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES:kolors_ipadapter_faceid\nNOTE: The files in the repo are not organized."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "rouxianmantou",
|
"author": "rouxianmantou",
|
||||||
"title": "comfyui-rxmt-nodes",
|
"title": "comfyui-rxmt-nodes",
|
||||||
|
|||||||
@@ -239,6 +239,15 @@
|
|||||||
"title_aux": "IMAGDressing-ComfyUI"
|
"title_aux": "IMAGDressing-ComfyUI"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/AIFSH/UltralightDigitalHuman-ComfyUI": [
|
||||||
|
[
|
||||||
|
"InferUltralightDigitalHumanNode",
|
||||||
|
"TrainUltralightDigitalHumanNode"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "UltralightDigitalHuman-ComfyUI"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/AIFSH/UtilNodes-ComfyUI": [
|
"https://github.com/AIFSH/UtilNodes-ComfyUI": [
|
||||||
[
|
[
|
||||||
"GetRGBEmptyImgae",
|
"GetRGBEmptyImgae",
|
||||||
@@ -341,6 +350,14 @@
|
|||||||
"title_aux": "ComfyUI-Xorbis-nodes [WIP]"
|
"title_aux": "ComfyUI-Xorbis-nodes [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/Anze-/ComfyUI-OIDN": [
|
||||||
|
[
|
||||||
|
"OIDN Denoise"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI-OIDN [WIP]"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/Anze-/ComfyUI_deepDeband": [
|
"https://github.com/Anze-/ComfyUI_deepDeband": [
|
||||||
[
|
[
|
||||||
"deepDeband Inference"
|
"deepDeband Inference"
|
||||||
@@ -496,7 +513,8 @@
|
|||||||
"DevToolsNodeWithOnlyOptionalInput",
|
"DevToolsNodeWithOnlyOptionalInput",
|
||||||
"DevToolsNodeWithOptionalInput",
|
"DevToolsNodeWithOptionalInput",
|
||||||
"DevToolsNodeWithOutputList",
|
"DevToolsNodeWithOutputList",
|
||||||
"DevToolsNodeWithStringInput"
|
"DevToolsNodeWithStringInput",
|
||||||
|
"DevToolsNodeWithUnionInput"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "ComfyUI_devtools [WIP]"
|
"title_aux": "ComfyUI_devtools [WIP]"
|
||||||
@@ -577,7 +595,9 @@
|
|||||||
"https://github.com/DoctorDiffusion/Doctor-Tools": [
|
"https://github.com/DoctorDiffusion/Doctor-Tools": [
|
||||||
[
|
[
|
||||||
"FinalFrameSelector",
|
"FinalFrameSelector",
|
||||||
|
"FirstFrameSelector",
|
||||||
"PromptJournal",
|
"PromptJournal",
|
||||||
|
"ReverseFrameSequence",
|
||||||
"VideoMerge",
|
"VideoMerge",
|
||||||
"YouTubeVideoDownloader"
|
"YouTubeVideoDownloader"
|
||||||
],
|
],
|
||||||
@@ -995,7 +1015,9 @@
|
|||||||
"FRED_LoadPathImagesPreview",
|
"FRED_LoadPathImagesPreview",
|
||||||
"FRED_LoadPathImagesPreview_v2",
|
"FRED_LoadPathImagesPreview_v2",
|
||||||
"FRED_LoadRetinaFace",
|
"FRED_LoadRetinaFace",
|
||||||
|
"FRED_LoraInfos",
|
||||||
"FRED_PreviewOnly",
|
"FRED_PreviewOnly",
|
||||||
|
"FRED_TextMultiline",
|
||||||
"FRED_photo_prompt"
|
"FRED_photo_prompt"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
@@ -1155,6 +1177,14 @@
|
|||||||
"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"
|
||||||
@@ -1831,6 +1861,7 @@
|
|||||||
"ModelMergeAuraflow",
|
"ModelMergeAuraflow",
|
||||||
"ModelMergeBlocks",
|
"ModelMergeBlocks",
|
||||||
"ModelMergeFlux1",
|
"ModelMergeFlux1",
|
||||||
|
"ModelMergeLTXV",
|
||||||
"ModelMergeMochiPreview",
|
"ModelMergeMochiPreview",
|
||||||
"ModelMergeSD1",
|
"ModelMergeSD1",
|
||||||
"ModelMergeSD2",
|
"ModelMergeSD2",
|
||||||
@@ -2057,6 +2088,14 @@
|
|||||||
"title_aux": "ComfyUI_WcpD_Utility_Kit"
|
"title_aux": "ComfyUI_WcpD_Utility_Kit"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/dowands/ComfyUI-AddMaskForICLora": [
|
||||||
|
[
|
||||||
|
"AddMaskForICLora"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "AddMaskForICLora"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/downlifted/ComfyUI_BWiZ_Nodes": [
|
"https://github.com/downlifted/ComfyUI_BWiZ_Nodes": [
|
||||||
[
|
[
|
||||||
"BWIZInteractiveLogMonitor",
|
"BWIZInteractiveLogMonitor",
|
||||||
@@ -2158,6 +2197,14 @@
|
|||||||
"title_aux": "ComfyUI-GeneraNodes"
|
"title_aux": "ComfyUI-GeneraNodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/exectails/comfyui-et_scripting": [
|
||||||
|
[
|
||||||
|
"ETPythonTextScript3Node"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "Scripting"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/fablestudio/ComfyUI-Showrunner-Utils": [
|
"https://github.com/fablestudio/ComfyUI-Showrunner-Utils": [
|
||||||
[
|
[
|
||||||
"AlignFace",
|
"AlignFace",
|
||||||
@@ -2277,6 +2324,43 @@
|
|||||||
"title_aux": "Comfyui-SadTalker"
|
"title_aux": "Comfyui-SadTalker"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/hay86/ComfyUI_AceNodes": [
|
||||||
|
[
|
||||||
|
"ACE_AnyInputSwitchBool",
|
||||||
|
"ACE_AnyInputToAny",
|
||||||
|
"ACE_AudioLoad",
|
||||||
|
"ACE_AudioPlay",
|
||||||
|
"ACE_AudioSave",
|
||||||
|
"ACE_Expression_Eval",
|
||||||
|
"ACE_Float",
|
||||||
|
"ACE_ImageColorFix",
|
||||||
|
"ACE_ImageConstrain",
|
||||||
|
"ACE_ImageFaceCrop",
|
||||||
|
"ACE_ImageGetSize",
|
||||||
|
"ACE_ImageLoadFromCloud",
|
||||||
|
"ACE_ImagePixelate",
|
||||||
|
"ACE_ImageQA",
|
||||||
|
"ACE_ImageRemoveBackground",
|
||||||
|
"ACE_ImageSaveToCloud",
|
||||||
|
"ACE_Integer",
|
||||||
|
"ACE_MaskBlur",
|
||||||
|
"ACE_Seed",
|
||||||
|
"ACE_Text",
|
||||||
|
"ACE_TextConcatenate",
|
||||||
|
"ACE_TextGoogleTranslate",
|
||||||
|
"ACE_TextInputSwitch2Way",
|
||||||
|
"ACE_TextInputSwitch4Way",
|
||||||
|
"ACE_TextInputSwitch8Way",
|
||||||
|
"ACE_TextList",
|
||||||
|
"ACE_TextPreview",
|
||||||
|
"ACE_TextSelector",
|
||||||
|
"ACE_TextToResolution",
|
||||||
|
"ACE_TextTranslate"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI AceNodes [UNSAFE]"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/hgabha/WWAA-CustomNodes": [
|
"https://github.com/hgabha/WWAA-CustomNodes": [
|
||||||
[
|
[
|
||||||
"WWAA-BuildString",
|
"WWAA-BuildString",
|
||||||
@@ -2353,14 +2437,6 @@
|
|||||||
"title_aux": "comfy-magick [WIP]"
|
"title_aux": "comfy-magick [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId": [
|
|
||||||
[
|
|
||||||
"kolors_ipadapter_faceid"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-Kolors-IpadapterFaceId [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/huizhang0110/ComfyUI_Easy_Nodes_hui": [
|
"https://github.com/huizhang0110/ComfyUI_Easy_Nodes_hui": [
|
||||||
[
|
[
|
||||||
"EasyBgRemover",
|
"EasyBgRemover",
|
||||||
@@ -2881,7 +2957,9 @@
|
|||||||
"AddFluxFlow",
|
"AddFluxFlow",
|
||||||
"ApplyFluxRaveAttention",
|
"ApplyFluxRaveAttention",
|
||||||
"ApplyRefFlux",
|
"ApplyRefFlux",
|
||||||
|
"ApplyRegionalConds",
|
||||||
"ConfigureModifiedFlux",
|
"ConfigureModifiedFlux",
|
||||||
|
"CreateRegionalCond",
|
||||||
"FlowEditForwardSampler",
|
"FlowEditForwardSampler",
|
||||||
"FlowEditReverseSampler",
|
"FlowEditReverseSampler",
|
||||||
"FluxAttnOverride",
|
"FluxAttnOverride",
|
||||||
@@ -2897,6 +2975,7 @@
|
|||||||
"PrepareAttnBank",
|
"PrepareAttnBank",
|
||||||
"RFDoubleBlocksOverride",
|
"RFDoubleBlocksOverride",
|
||||||
"RFSingleBlocksOverride",
|
"RFSingleBlocksOverride",
|
||||||
|
"RegionalStyleModelApply",
|
||||||
"SEGAttention"
|
"SEGAttention"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
@@ -3585,6 +3664,14 @@
|
|||||||
"title_aux": "ComfyUI-Rpg-Architect [WIP]"
|
"title_aux": "ComfyUI-Rpg-Architect [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/techzuhaib/ComfyUI-CacheImageNode": [
|
||||||
|
[
|
||||||
|
"CacheImageNode"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI-CacheImageNode"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/thderoo/ComfyUI-_topfun_s_nodes": [
|
"https://github.com/thderoo/ComfyUI-_topfun_s_nodes": [
|
||||||
[
|
[
|
||||||
"ConditioningPerturbation",
|
"ConditioningPerturbation",
|
||||||
@@ -3639,6 +3726,7 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/trashgraphicard/Albedo-Sampler-for-ComfyUI": [
|
"https://github.com/trashgraphicard/Albedo-Sampler-for-ComfyUI": [
|
||||||
[
|
[
|
||||||
|
"Make Seamless Tile",
|
||||||
"Sample Image"
|
"Sample Image"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
@@ -3800,6 +3888,17 @@
|
|||||||
"title_aux": "Comfyui_image2prompt"
|
"title_aux": "Comfyui_image2prompt"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/zmwv823/ComfyUI-Sana": [
|
||||||
|
[
|
||||||
|
"UL_SanaModelLoader",
|
||||||
|
"UL_SanaSampler",
|
||||||
|
"UL_SanaTextEncode",
|
||||||
|
"UL_SanaVAEProcess"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "ComfyUI-Sana [WIP]"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_VariationUtils.py": [
|
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_VariationUtils.py": [
|
||||||
[
|
[
|
||||||
"BatchToList",
|
"BatchToList",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,36 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]",
|
||||||
|
"reference": "https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES:kolors_ipadapter_faceid\nNOTE: The files in the repo are not organized."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "zmwv823",
|
||||||
|
"title": "ComfyUI_Ctrlora [DEPRECATED]",
|
||||||
|
"reference": "https://github.com/zmwv823/ComfyUI_Ctrlora",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/zmwv823/ComfyUI_Ctrlora"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Unofficial custom_node for [a/xyfJASON/ctrlora](https://github.com/xyfJASON/ctrlora)."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "Fannovel16",
|
"author": "Fannovel16",
|
||||||
"title": "ComfyUI Loopchain [DEPRECATED]",
|
"title": "ComfyUI Loopchain [DEPRECATED]",
|
||||||
|
|||||||
@@ -10,6 +10,347 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"title": "SAMURAI Nodes for ComfyUI",
|
||||||
|
"reference": "https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "ComfyUI nodes for video object segmentation using [a/SAMURAI](https://github.com/yangchris11/samurai) model."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "motivated3",
|
||||||
|
"title": "ComfyUI MiaoShua Creator",
|
||||||
|
"id": "comfyui-shua-creator",
|
||||||
|
"reference": "https://github.com/motivated3/comfyui-shua-creator",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/motivated3/comfyui-shua-creator"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "With the MiaoShua creator's end, you can use this plugin to upload debugged workflows for consumer end users to use."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "DoctorDiffusion",
|
||||||
|
"title": "ComfyUI-SnakeOil",
|
||||||
|
"reference": "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/DoctorDiffusion/ComfyUI-SnakeOil"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Use [a/Doctor Diffusion's snake oil nLoRAs](https://civitai.com/models/987843) as well as [a/other negative LoRAs](https://civitai.com/models/186617/doctor-diffusions-negative-xl-lora) easily within ComfyUI."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "duhaifeng",
|
||||||
|
"title": "ComfyUI-Flux-Inpainting",
|
||||||
|
"reference": "https://github.com/rubi-du/ComfyUI-Flux-Inpainting",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/rubi-du/ComfyUI-Flux-Inpainting"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "This node wraps the flux fill model as ComfyUI nodes. Use NF4 flux fill model, support for inpainting and outpainting image. Compared to the flux fill dev model, these nodes can use the flux fill model to perform inpainting and outpainting work under lower VRM conditions."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "purpen",
|
||||||
|
"title": "AIRedoon",
|
||||||
|
"reference": "https://github.com/purpen/ComfyUI-AIRedoon",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/purpen/ComfyUI-AIRedoon"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES:AIRedoon Translator, AIRedoon Image Caption"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "purpen",
|
||||||
|
"title": "ComfyUI-ImageTagger",
|
||||||
|
"reference": "https://github.com/purpen/ComfyUI-ImageTagger",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/purpen/ComfyUI-ImageTagger"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES:AIRedoon Image Caption.\nAnalyze image tagger"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "Yuan-ManX",
|
||||||
|
"title": "ComfyUI-SoundHub",
|
||||||
|
"reference": "https://github.com/Yuan-ManX/ComfyUI-SoundHub",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Yuan-ManX/ComfyUI-SoundHub"
|
||||||
|
],
|
||||||
|
"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."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "Starnodes2024",
|
||||||
|
"title": "ComfyUI_StarNodes",
|
||||||
|
"reference": "https://github.com/Starnodes2024/ComfyUI_StarNodes",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Starnodes2024/ComfyUI_StarNodes"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES: StarNode Input Image Chooser, SD(XL) Star(t) Settings, SD3.5 Star(t) Settings, Starnode Ollama Helper"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "bananasss00",
|
||||||
|
"title": "ComfyUI-flux_fill_patcher",
|
||||||
|
"reference": "https://github.com/bananasss00/ComfyUI-flux_fill_patcher",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/bananasss00/ComfyUI-flux_fill_patcher"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "flux patcher for Fill Flux.Dev lora [a/https://civitai.com/models/981615/fluxfill-inpaint-lora](https://civitai.com/models/981615/fluxfill-inpaint-lora)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "lldacing",
|
||||||
|
"title": "ComfyUI_StableDelight_ll",
|
||||||
|
"id": "comfyui_stabledelight_ll",
|
||||||
|
"reference": "https://github.com/lldacing/ComfyUI_StableDelight_ll",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/lldacing/ComfyUI_StableDelight_ll"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "StableDelight: Revealing Hidden Textures by Removing Specular Reflections"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "flycarl",
|
||||||
|
"title": "ComfyUI-Pixelate",
|
||||||
|
"reference": "https://github.com/flycarl/ComfyUI-Pixelate",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/flycarl/ComfyUI-Pixelate"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "[a/sd-webui-pixelart](https://github.com/mrreplicart/sd-webui-pixelart) are referenced by many webui users, this node is mean to use it in ComfyUI."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "SparknightLLC",
|
||||||
|
"title": "ComfyUI-MaskArbiter",
|
||||||
|
"reference": "https://github.com/SparknightLLC/ComfyUI-MaskArbiter",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/SparknightLLC/ComfyUI-MaskArbiter"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A node for ComfyUI that takes a list of masks and returns a single mask based on your criteria. For example, it can be used to mask the leftmost subject in an image containing more than one subject of the same class. The workflow below demonstrates the difference between Mask Arbiter (top) and traditional Grounding DINO masking (bottom.)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "tanglup",
|
||||||
|
"title": "Comfyui_Flux_Style_Adjust",
|
||||||
|
"reference": "https://github.com/tanglup/Comfyui_Flux_Style_Adjust",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/tanglup/Comfyui_Flux_Style_Adjust"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "StyleModelApply adds more controls"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "dymokomi",
|
||||||
|
"title": "comfyui_dygen",
|
||||||
|
"reference": "https://github.com/dymokomi/comfyui_dygen",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/dymokomi/comfyui_dygen"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES: DY Image Quantize, DY Image Cluster, DY Image Palette, DY Image Masks, Image List to Grid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "exectails",
|
||||||
|
"title": "Info Utils",
|
||||||
|
"id": "et_infoutils",
|
||||||
|
"reference": "https://github.com/exectails/comfyui-et_infoutils",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/exectails/comfyui-et_infoutils"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes that facilitate simpler information providing and gathering, such as Text Box, Show Data and Token Counter nodes."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "exectails",
|
||||||
|
"title": "String Utils",
|
||||||
|
"id": "et_stringutils",
|
||||||
|
"reference": "https://github.com/exectails/comfyui-et_stringutils",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/exectails/comfyui-et_stringutils"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes dedicated to the analysis and transformation of text strings, such as for formatting and conversions between types."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "exectails",
|
||||||
|
"title": "Dynamic Prompts",
|
||||||
|
"id": "et_dynamicprompts",
|
||||||
|
"reference": "https://github.com/exectails/comfyui-et_dynamicprompts",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/exectails/comfyui-et_dynamicprompts"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Nodes that implement functionality similar to the Dynamic Prompts extension for A1111."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "Lasse Lauwerys",
|
||||||
|
"title": "Touchpad and trackpad gesture support",
|
||||||
|
"id": "manager",
|
||||||
|
"reference": "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Iemand005/ComfyUI-Touchpad-Gestures"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Implements proper touchpad zooming and panning into ComfyUI to make it more usable on laptops."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "Alvaroeai",
|
||||||
|
"title": "ComfyUI-Text2Json",
|
||||||
|
"reference": "https://github.com/Alvaroeai/ComfyUI-Text2Json",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/Alvaroeai/ComfyUI-Text2Json"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "This repository contains a custom node for ComfyUI that converts text into a JSON object. The node is designed to be user-friendly and supports multi-line JSON input."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "SleeeepyZhou",
|
||||||
|
"title": "CNtranslator",
|
||||||
|
"id": "cn-translator",
|
||||||
|
"reference": "https://github.com/SleeeepyZhou/ComfyUI-CNtranslator",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/SleeeepyZhou/ComfyUI-CNtranslator"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A translation node for users in Chinese Mainland. (Because of the network firewall in Chinese Mainland, many translation APIs cannot be used normally.)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "tungdop2",
|
||||||
|
"title": "Joy Caption Alpha Two for ComfyUI",
|
||||||
|
"id": "joy-captioner-alpha-two",
|
||||||
|
"reference": "https://github.com/tungdop2/Comfyui_joy-caption-alpha-two",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/tungdop2/Comfyui_joy-caption-alpha-two"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "The Joy Caption Alpha Two node for ComfyUI, based on https://huggingface.co/spaces/fancyfeast/joy-caption-alpha-two"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "c0ffymachyne",
|
||||||
|
"title": "Bytebeat Synthesizer: Composing with Operators",
|
||||||
|
"reference": "https://github.com/c0ffymachyne/ComfyUI_BeatByte",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/c0ffymachyne/ComfyUI_BeatByte"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "Bytebeat is like composing music with the tools of a programmer’s toolkit. Instead of piano keys, you have operators like >>, |, and &. It’s like giving your CPU a guitar and letting it shred! 🤘"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "ShmuelRonen",
|
||||||
|
"title": "ComfyUI Pixtral Large Extension",
|
||||||
|
"reference": "https://github.com/ShmuelRonen/ComfyUI_pixtral_large",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/ShmuelRonen/ComfyUI_pixtral_large"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A ComfyUI custom node that integrates Mistral AI's Pixtral Large vision model, enabling powerful multimodal AI capabilities within ComfyUI. Pixtral Large is a 124B parameter model (123B decoder + 1B vision encoder) that can analyze up to 30 high-resolution images simultaneously."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "wu12023",
|
||||||
|
"title": "ComfyUI-Image-Evaluation",
|
||||||
|
"reference": "https://github.com/wu12023/ComfyUI-Image-Evaluation",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/wu12023/ComfyUI-Image-Evaluation"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "An extension to ComfyUI that evaluates images using multiple models."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "windfancy",
|
||||||
|
"title": "zsq_prompt",
|
||||||
|
"reference": "https://github.com/windfancy/zsq_prompt",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/windfancy/zsq_prompt"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "NODES: PromptStyler, PromptLatent, PromptCLIPEncode, PromptSelector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"author": "bobsblazed",
|
||||||
|
"title": "Bobs_Latent_Optimizer",
|
||||||
|
"reference": "https://github.com/BobsBlazed/Bobs_Latent_Optimizer",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/BobsBlazed/Bobs_Latent_Optimizer/raw/refs/heads/main/Bobs_Latent_Optimizer.py"
|
||||||
|
],
|
||||||
|
"install_type": "copy",
|
||||||
|
"description": "This custom node for ComfyUI is designed to optimize latent generation for use with FLUX, SDXL and SD3. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs."
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"author": "logtd",
|
"author": "logtd",
|
||||||
"title": "ComfyUI-LTXTricks",
|
"title": "ComfyUI-LTXTricks",
|
||||||
@@ -29,7 +370,7 @@
|
|||||||
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
|
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
|
||||||
],
|
],
|
||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "This extension offers a new Apply-Style node for Reflux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Reflux."
|
"description": "This extension offers a new Apply-Style node for Redux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Redux."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"author": "ramesh-x90",
|
"author": "ramesh-x90",
|
||||||
@@ -350,348 +691,6 @@
|
|||||||
],
|
],
|
||||||
"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)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "lrzjason",
|
|
||||||
"title": "Comfyui-In-Context-Lora-Utils",
|
|
||||||
"reference": "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Add Mask For IC Lora"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "1038lab",
|
|
||||||
"title": "ComfyUI-RMBG",
|
|
||||||
"reference": "https://github.com/1038lab/ComfyUI-RMBG",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/1038lab/ComfyUI-RMBG"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A ComfyUI node for removing image backgrounds using RMBG-2.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "GorillaFrame",
|
|
||||||
"title": "GFrbmg2",
|
|
||||||
"reference": "https://github.com/gorillaframeai/GF_nodes",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/gorillaframeai/GF_nodes"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This custom node for ComfyUI provides advanced background removal capabilities using the briaai/RMBG-2.0 model. It is designed to seamlessly integrate into the ComfyUI environment, offering users a powerful tool for image processing tasks."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "amaozhao",
|
|
||||||
"title": "ComfyUI_DeployCash",
|
|
||||||
"id": "ComfyUI_DeployCash",
|
|
||||||
"reference": "https://github.com/jacklukai/ComfyUI_DeployCash",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/jacklukai/ComfyUI_DeployCash"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "DeployCash, a tool that converts workflows into WeChat and H5 with one click, and supports payments."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "akatz-ai",
|
|
||||||
"title": "ComfyUI-X-Portrait-Nodes",
|
|
||||||
"id": "comfyui-x-portrait-nodes",
|
|
||||||
"reference": "https://github.com/akatz-ai/ComfyUI-X-Portrait-Nodes",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/akatz-ai/ComfyUI-X-Portrait-Nodes"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Implementation of X-Portrait nodes for ComfyUI, animate portraits with an input video and a reference image."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Doctor Diffusion",
|
|
||||||
"title": "Schedulizer",
|
|
||||||
"id": "schedulizer",
|
|
||||||
"reference": "https://github.com/DoctorDiffusion/ComfyUI-Schedulizer",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/DoctorDiffusion/ComfyUI-Schedulizer"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Nodes:Whisper Node, Prompt Schedule Converter. Convert song lyrics into a useable prompt travel schedule within comfyUI. Includes whisper large-v2."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Doctor Diffusion",
|
|
||||||
"title": "MediaMixer",
|
|
||||||
"id": "mediamixer",
|
|
||||||
"reference": "https://github.com/DoctorDiffusion/ComfyUI-MediaMixer",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/DoctorDiffusion/ComfyUI-MediaMixer"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "AIFSH",
|
|
||||||
"title": "MiniMates-ComfyUI",
|
|
||||||
"reference": "https://github.com/AIFSH/MiniMates-ComfyUI",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/AIFSH/MiniMates-ComfyUI"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "a custom node for [a/MiniMates](https://github.com/kleinlee/MiniMates)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "bombax-xiaoice",
|
|
||||||
"title": "ComfyUI-MagicDance",
|
|
||||||
"reference": "https://github.com/bombax-xiaoice/ComfyUI-MagicDance",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/bombax-xiaoice/ComfyUI-MagicDance"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "ComfyUI supports over [a/Boese0601/MagicDance](https://github.com/Boese0601/MagicDance)."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "phazei",
|
|
||||||
"title": "Prompt Stash Saver Node for ComfyUI",
|
|
||||||
"id": "stash-saver",
|
|
||||||
"reference": "https://github.com/phazei/ConfyUI-node-prompt-stash-saver",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/phazei/ConfyUI-node-prompt-stash-saver"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Prompt Stash is a simple plugin for ComfyUI that lets you save your prompts and organize them into multiple lists. It also features a pass-through functionality, so you can hook it up to an LLM node (or any text outputting node) and capture its outputs directly."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "LatentSpaceDirective",
|
|
||||||
"title": "ComfyUI-Texturaizer",
|
|
||||||
"id": "texturaizer",
|
|
||||||
"reference": "https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "These are companion nodes for Texturaizer, a Blender plugin that connects complex 3D data to ComfyUI. https://texturaizer.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Lasse Lauwerys",
|
|
||||||
"title": "Touch screen gesture support",
|
|
||||||
"reference": "https://github.com/Iemand005/ComfyUI-Touch-Gestures",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Iemand005/ComfyUI-Touch-Gestures"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Implements proper multitouch zooming and panning into ComfyUI to make it more usable on mobile devices."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "robtl2",
|
|
||||||
"title": "ComfyUI-ComfyBridge",
|
|
||||||
"reference": "https://github.com/robtl2/ComfyUI-ComfyBridge",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/robtl2/ComfyUI-ComfyBridge"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A socket service that helps third-party DCC software maintain long-term image exchange with comfyUI."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Isi-dev",
|
|
||||||
"title": "ComfyUI-Animation_Nodes_and_Workflows",
|
|
||||||
"id": "ComfyUI-Animation_Nodes_and_Workflows",
|
|
||||||
"reference": "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "These are nodes and workflows that can facilitate the creation of animations and video compilations."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "ShmuelRonen",
|
|
||||||
"title": "ComfyUI Flux 1.1 Ultra & Raw Node",
|
|
||||||
"reference": "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A ComfyUI custom node for Black Forest Labs' FLUX 1.1 [pro] API, supporting both regular and Ultra modes with optional Raw mode."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "akspa0",
|
|
||||||
"title": "ComfyUI-FapMixPlus",
|
|
||||||
"reference": "https://github.com/akspa0/ComfyUI-FapMixPlus",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/akspa0/ComfyUI-FapMixPlus"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This is an audio processing script that applies soft limiting, optional loudness normalization, and optional slicing for transcription. It can also produce stereo-mixed outputs with optional audio appended to the end. The script organizes processed files into structured folders with sanitized filenames and retains original timestamps for continuity."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "neph1",
|
|
||||||
"title": "comfyui-smooth-step-lora-loader",
|
|
||||||
"reference": "https://github.com/neph1/comfyui-smooth-step-lora-loader",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/neph1/comfyui-smooth-step-lora-loader"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This custom node provides a smooth step function that normalizes LoRA values by enhancing elements above the mean while reducing those below it. Users can independently control both the LoRA strength and smooth step intensity to fine-tune their results, though the effectiveness may vary between different seeds and LoRA types."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "troyxmccall",
|
|
||||||
"title": "ComfyUI-ScaleToTargetMegapixels",
|
|
||||||
"reference": "https://github.com/troyxmccall/ComfyUI-ScaleToTargetMegapixels",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/troyxmccall/ComfyUI-ScaleToTargetMegapixels"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES:ScaleToTargetMegapixels."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Comflowy",
|
|
||||||
"title": "Comflowy's Custom Nodes",
|
|
||||||
"id": "comflowy",
|
|
||||||
"reference": "https://github.com/6174/comflowy-nodes",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/6174/comflowy-nodes"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Custom nodes for ComfyUI by Comflowy."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "TTPlanetPig",
|
|
||||||
"reference": "https://github.com/TTPlanetPig/Comfyui_Hunyuan3D",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/TTPlanetPig/Comfyui_Hunyuan3D"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES:TTP_Hunyuan3DNode, TTP_SquareImage, TTP_GIFViewer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "ARZUMATA",
|
|
||||||
"title": "ComfyUI-Qwen2",
|
|
||||||
"reference": "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-Qwen2",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/ARZUMATA/ComfyUI-ARZUMATA-Qwen2"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Qwen2 Nodes for ComfyUI.\nI needed to run Qwen2 on ComfyUI to use it in my workflow for batching images and captioning and none of the implementations I found on the web worked the way I wanted.[w/May contain bugs.]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "ryanontheinside",
|
|
||||||
"title": "Doom",
|
|
||||||
"reference": "https://github.com/ryanontheinside/ComfyUI_Doom",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/ryanontheinside/ComfyUI_Doom"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Play Doom in ComfyUI."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "wTechArtist",
|
|
||||||
"title": "ComfyUI-StableDelight-weiweiliang",
|
|
||||||
"reference": "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Nodes:StableDelight-weiweiliang"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "VangengLab",
|
|
||||||
"title": "ComfyUI-LivePortrait_v2",
|
|
||||||
"reference": "https://github.com/VangengLab/ComfyUI-LivePortrait_v2",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/VangengLab/ComfyUI-LivePortrait_v2"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "We developed a custom_node for Liveportrait_v2 that enables flexible use on Comfyui to drive animal image-based emoji generation from videos."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "VangengLab",
|
|
||||||
"title": "ComfyUI-LivePortrait_v3",
|
|
||||||
"reference": "https://github.com/VangengLab/ComfyUI-LivePortrait_v3",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/VangengLab/ComfyUI-LivePortrait_v3"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "We developed a custom_node for Liveportrait_v3 that enables flexible use on Comfyui to drive image-based emoji generation from photos."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "jtydhr88",
|
|
||||||
"title": "ComfyUI-Hunyuan3D-1-wrapper",
|
|
||||||
"reference": "https://github.com/jtydhr88/ComfyUI-Hunyuan3D-1-wrapper",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/jtydhr88/ComfyUI-Hunyuan3D-1-wrapper"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "ComfyUI Hunyuan3D-1-wrapper is a custom node that allows you to run [a/Tencent/Hunyuan3D-1](https://github.com/Tencent/Hunyuan3D-1) in ComfyUI as a wrapper."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,39 @@
|
|||||||
{
|
{
|
||||||
"models": [
|
"models": [
|
||||||
|
{
|
||||||
|
"name": "stabilityai/SD3.5-Large-Controlnet-Blur",
|
||||||
|
"type": "controlnet",
|
||||||
|
"base": "SD3.5",
|
||||||
|
"save_path": "controlnet/SD3.5",
|
||||||
|
"description": "Blur Controlnet model for SD3.5 Large",
|
||||||
|
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
|
||||||
|
"filename": "sd3.5_large_controlnet_blur.safetensors",
|
||||||
|
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_blur.safetensors",
|
||||||
|
"size": "8.65GB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stabilityai/SD3.5-Large-Controlnet-Canny",
|
||||||
|
"type": "controlnet",
|
||||||
|
"base": "SD3.5",
|
||||||
|
"save_path": "controlnet/SD3.5",
|
||||||
|
"description": "Canny Controlnet model for SD3.5 Large",
|
||||||
|
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
|
||||||
|
"filename": "sd3.5_large_controlnet_canny.safetensors",
|
||||||
|
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_canny.safetensors",
|
||||||
|
"size": "8.65GB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stabilityai/SD3.5-Large-Controlnet-Depth",
|
||||||
|
"type": "controlnet",
|
||||||
|
"base": "SD3.5",
|
||||||
|
"save_path": "controlnet/SD3.5",
|
||||||
|
"description": "Depth Controlnet model for SD3.5 Large",
|
||||||
|
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
|
||||||
|
"filename": "sd3.5_large_controlnet_depth.safetensors",
|
||||||
|
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_depth.safetensors",
|
||||||
|
"size": "8.65GB"
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "LTX-Video 2B v0.9 Checkpoint",
|
"name": "LTX-Video 2B v0.9 Checkpoint",
|
||||||
"type": "checkpoint",
|
"type": "checkpoint",
|
||||||
@@ -646,50 +680,6 @@
|
|||||||
"filename": "flux1-dev-Q5_0.gguf",
|
"filename": "flux1-dev-Q5_0.gguf",
|
||||||
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_0.gguf",
|
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_0.gguf",
|
||||||
"size": "8.27GB"
|
"size": "8.27GB"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "city96/flux1-dev-Q5_1.gguf",
|
|
||||||
"type": "diffusion_model",
|
|
||||||
"base": "FLUX.1",
|
|
||||||
"save_path": "diffusion_models/FLUX1",
|
|
||||||
"description": "FLUX.1 [Dev] Diffusion model (Q5_1/.gguf)",
|
|
||||||
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
|
|
||||||
"filename": "flux1-dev-Q5_1.gguf",
|
|
||||||
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_1.gguf",
|
|
||||||
"size": "9.01GB"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "city96/flux1-dev-Q5_K_S.gguf",
|
|
||||||
"type": "diffusion_model",
|
|
||||||
"base": "FLUX.1",
|
|
||||||
"save_path": "diffusion_models/FLUX1",
|
|
||||||
"description": "FLUX.1 [Dev] Diffusion model (Q5_K_S/.gguf)",
|
|
||||||
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
|
|
||||||
"filename": "flux1-dev-Q5_K_S.gguf",
|
|
||||||
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_K_S.gguf",
|
|
||||||
"size": "8.29GB"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "city96/flux1-dev-Q6_K.gguf",
|
|
||||||
"type": "diffusion_model",
|
|
||||||
"base": "FLUX.1",
|
|
||||||
"save_path": "diffusion_models/FLUX1",
|
|
||||||
"description": "FLUX.1 [Dev] Diffusion model (Q6_K/.gguf)",
|
|
||||||
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
|
|
||||||
"filename": "flux1-dev-Q6_K.gguf",
|
|
||||||
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q6_K.gguf",
|
|
||||||
"size": "9.86GB"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "city96/flux1-dev-Q8_0.gguf",
|
|
||||||
"type": "diffusion_model",
|
|
||||||
"base": "FLUX.1",
|
|
||||||
"save_path": "diffusion_models/FLUX1",
|
|
||||||
"description": "FLUX.1 [Dev] Diffusion model (Q8_0/.gguf)",
|
|
||||||
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
|
|
||||||
"filename": "flux1-dev-Q8_0.gguf",
|
|
||||||
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q8_0.gguf",
|
|
||||||
"size": "12.7GB"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.52"
|
version = "2.54"
|
||||||
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