Merge branch 'ltdrdata:main' into main

This commit is contained in:
Indra's Mirror 2024-08-16 06:16:03 +10:00 committed by GitHub
commit 4f0529bae7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 10420 additions and 4499 deletions

View File

@ -5,6 +5,7 @@
![menu](misc/menu.jpg)
## NOTICE
* V2.48.1: Security policy has been changed. Downloads of models in the list are allowed under the 'normal' security level.
* V2.47: Security policy has been changed. The former 'normal' is now 'normal-', and 'normal' no longer allows high-risk features, even if your ComfyUI is local.
* V2.37 Show a ✅ mark to accounts that have been active on GitHub for more than six months.
* V2.33 Security policy is applied.

View File

@ -32,7 +32,7 @@ done
echo
echo CHECK2
find ~/.tmp/default -name "*.py" -print0 | xargs -0 grep "crypto"
find ~/.tmp/default -name "*.py" -print0 | xargs -0 grep -E "crypto|^_A="
echo
echo CHECK3

View File

@ -35,11 +35,13 @@ restore_snapshot_path = os.path.join(startup_script_path, "restore-snapshot.json
pip_overrides_path = os.path.join(comfyui_manager_path, "pip_overrides.json")
git_script_path = os.path.join(comfyui_manager_path, "git_helper.py")
cm_global.pip_blacklist = ['torch', 'torchsde', 'torchvision']
cm_global.pip_downgrade_blacklist = ['torch', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia']
cm_global.pip_overrides = {}
if os.path.exists(pip_overrides_path):
with open(pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file:
cm_global.pip_overrides = json.load(json_file)
cm_global.pip_overrides['numpy'] = 'numpy<2'
def check_comfyui_hash():

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,10 +8,34 @@ import configparser
import re
import json
import yaml
from torchvision.datasets.utils import download_url
import requests
from tqdm.auto import tqdm
from git.remote import RemoteProgress
def download_url(url, dest_folder, filename=None):
# Ensure the destination folder exists
if not os.path.exists(dest_folder):
os.makedirs(dest_folder)
# Extract filename from URL if not provided
if filename is None:
filename = os.path.basename(url)
# Full path to save the file
dest_path = os.path.join(dest_folder, filename)
# Download the file
response = requests.get(url, stream=True)
if response.status_code == 200:
with open(dest_path, 'wb') as file:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
file.write(chunk)
else:
print(f"Failed to download file from {url}")
config_path = os.path.join(os.path.dirname(__file__), "config.ini")
nodelist_path = os.path.join(os.path.dirname(__file__), "custom-node-list.json")
working_directory = os.getcwd()

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@ sys.path.append(glob_path)
import cm_global
from manager_util import *
version = [2, 47]
version = [2, 49]
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
@ -97,12 +97,15 @@ def clear_pip_cache():
def is_blacklisted(name):
name = name.strip()
pattern = r'([^<>!=]+)([<>!=]=?)(.*)'
pattern = r'([^<>!=]+)([<>!=]=?)([^ ]*)'
match = re.search(pattern, name)
if match:
name = match.group(1)
if name in cm_global.pip_blacklist:
return True
if name in cm_global.pip_downgrade_blacklist:
pips = get_installed_packages()
@ -123,12 +126,15 @@ def is_installed(name):
if name.startswith('#'):
return True
pattern = r'([^<>!=]+)([<>!=]=?)(.*)'
pattern = r'([^<>!=]+)([<>!=]=?)([0-9.a-zA-Z]*)'
match = re.search(pattern, name)
if match:
name = match.group(1)
if name in cm_global.pip_blacklist:
return True
if name in cm_global.pip_downgrade_blacklist:
pips = get_installed_packages()
@ -405,8 +411,14 @@ def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=Fa
with open(requirements_path, "r") as requirements_file:
for line in requirements_file:
package_name = remap_pip_package(line.strip())
if package_name and not package_name.startswith('#'):
install_cmd = [sys.executable, "-m", "pip", "install", package_name]
if '--index-url' in package_name:
s = package_name.split('--index-url')
install_cmd = [sys.executable, "-m", "pip", "install", s[0].strip(), '--index-url', s[1].strip()]
else:
install_cmd = [sys.executable, "-m", "pip", "install", package_name]
if package_name.strip() != "" and not package_name.startswith('#'):
try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution)
@ -1215,3 +1227,4 @@ def unzip(model_path):
os.remove(model_path)
return True

View File

@ -59,7 +59,7 @@ def is_allowed_security_level(level):
async def get_risky_level(files):
json_data1 = await core.get_data_by_mode('local', 'custom-node-list.json')
json_data2 = await core.get_data_by_mode('cache', 'custom-node-list.json', channel_url='https://github.com/ltdrdata/ComfyUI-Manager/raw/main/custom-node-list.json')
json_data2 = await core.get_data_by_mode('cache', 'custom-node-list.json', channel_url='https://github.com/ltdrdata/ComfyUI-Manager/raw/main')
all_urls = set()
for x in json_data1['custom_nodes'] + json_data2['custom_nodes']:
@ -249,8 +249,12 @@ def get_model_dir(data):
model_type = data['type']
if model_type == "checkpoints":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "checkpoint":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "unclip":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "clip":
base_model = folder_paths.folder_names_and_paths["clip"][0][0]
elif model_type == "VAE":
base_model = folder_paths.folder_names_and_paths["vae"][0][0]
elif model_type == "lora":
@ -990,8 +994,17 @@ async def install_model(request):
return web.Response(status=403)
if not json_data['filename'].endswith('.safetensors') and not is_allowed_security_level('high'):
print(f"ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.")
return web.Response(status=403)
models_json = await core.get_data_by_mode('cache', 'model-list.json')
is_belongs_to_whitelist = False
for x in models_json['models']:
if x.get('url') == json_data['url']:
is_belongs_to_whitelist = True
break
if not is_belongs_to_whitelist:
print(f"ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.")
return web.Response(status=403)
res = False

View File

@ -1,63 +1,64 @@
try:
from distutils.version import StrictVersion
except:
print(f"[ComfyUI-Manager] 'distutils' package not found. Activating fallback mode for compatibility.")
class StrictVersion:
def __init__(self, version_string):
self.version_string = version_string
self.major = 0
self.minor = 0
self.patch = 0
self.pre_release = None
self.parse_version_string()
# DON'T USE StrictVersion - cannot handle pre_release version
# try:
# from distutils.version import StrictVersion
# except:
# print(f"[ComfyUI-Manager] 'distutils' package not found. Activating fallback mode for compatibility.")
class StrictVersion:
def __init__(self, version_string):
self.version_string = version_string
self.major = 0
self.minor = 0
self.patch = 0
self.pre_release = None
self.parse_version_string()
def parse_version_string(self):
parts = self.version_string.split('.')
if not parts:
raise ValueError("Version string must not be empty")
def parse_version_string(self):
parts = self.version_string.split('.')
if not parts:
raise ValueError("Version string must not be empty")
self.major = int(parts[0])
self.minor = int(parts[1]) if len(parts) > 1 else 0
self.patch = int(parts[2]) if len(parts) > 2 else 0
self.major = int(parts[0])
self.minor = int(parts[1]) if len(parts) > 1 else 0
self.patch = int(parts[2]) if len(parts) > 2 else 0
# Handling pre-release versions if present
if len(parts) > 3:
self.pre_release = parts[3]
# Handling pre-release versions if present
if len(parts) > 3:
self.pre_release = parts[3]
def __str__(self):
version = f"{self.major}.{self.minor}.{self.patch}"
if self.pre_release:
version += f"-{self.pre_release}"
return version
def __str__(self):
version = f"{self.major}.{self.minor}.{self.patch}"
if self.pre_release:
version += f"-{self.pre_release}"
return version
def __eq__(self, other):
return (self.major, self.minor, self.patch, self.pre_release) == \
(other.major, other.minor, other.patch, other.pre_release)
def __eq__(self, other):
return (self.major, self.minor, self.patch, self.pre_release) == \
(other.major, other.minor, other.patch, other.pre_release)
def __lt__(self, other):
if (self.major, self.minor, self.patch) == (other.major, other.minor, other.patch):
return self.pre_release_compare(self.pre_release, other.pre_release) < 0
return (self.major, self.minor, self.patch) < (other.major, other.minor, other.patch)
def __lt__(self, other):
if (self.major, self.minor, self.patch) == (other.major, other.minor, other.patch):
return self.pre_release_compare(self.pre_release, other.pre_release) < 0
return (self.major, self.minor, self.patch) < (other.major, other.minor, other.patch)
@staticmethod
def pre_release_compare(pre1, pre2):
if pre1 == pre2:
return 0
if pre1 is None:
return 1
if pre2 is None:
return -1
return -1 if pre1 < pre2 else 1
@staticmethod
def pre_release_compare(pre1, pre2):
if pre1 == pre2:
return 0
if pre1 is None:
return 1
if pre2 is None:
return -1
return -1 if pre1 < pre2 else 1
def __le__(self, other):
return self == other or self < other
def __le__(self, other):
return self == other or self < other
def __gt__(self, other):
return not self <= other
def __gt__(self, other):
return not self <= other
def __ge__(self, other):
return not self < other
def __ge__(self, other):
return not self < other
def __ne__(self, other):
return not self == other
def __ne__(self, other):
return not self == other

View File

@ -12,7 +12,7 @@ def security_check():
guide = {
"ComfyUI_LLMVISION": """
0.Remove ComfyUI\\custom_nodes\\ComfyUI_LLMVISION.
1.Remove pip packages: openai-1.16.3.dist-info, anthropic-0.21.4.dist-info, openai-1.30.2.dist-info, anthropic-0.26.1.dist-info, %LocalAppData%\\rundll64.exe
1.Remove pip packages: openai-1.16.3.dist-info, anthropic-0.21.4.dist-info, openai-1.30.2.dist-info, anthropic-0.21.5.dist-info, anthropic-0.26.1.dist-info, %LocalAppData%\\rundll64.exe
(For portable versions, it is recommended to reinstall. If you are using a venv, it is advised to recreate the venv.)
2.Remove these files in your system: lib/browser/admin.py, Cadmino.py, Fadmino.py, VISION-D.exe, BeamNG.UI.exe
3.Check your Windows registry for the key listed above and remove it.
@ -44,6 +44,18 @@ Detailed information: https://old.reddit.com/r/comfyui/comments/1dbls5n/psa_if_y
installed_pips = subprocess.check_output([sys.executable, '-m', "pip", "freeze"], text=True)
detected = set()
try:
anthropic_info = subprocess.check_output([sys.executable, '-m', "pip", "show", "anthropic"], text=True, stderr=subprocess.DEVNULL)
anthropic_reqs = [x for x in anthropic_info.split('\n') if x.startswith("Requires")][0].split(': ')[1]
if "pycrypto" in anthropic_reqs:
location = [x for x in anthropic_info.split('\n') if x.startswith("Location")][0].split(': ')[1]
for fi in os.listdir(location):
if fi.startswith("anthropic"):
guide["ComfyUI_LLMVISION"] = f"\n0.Remove {os.path.join(location, fi)}" + guide["ComfyUI_LLMVISION"]
detected.add("ComfyUI_LLMVISION")
except subprocess.CalledProcessError:
pass
for k, v in node_blacklist.items():
if os.path.exists(os.path.join(custom_nodes_path, k)):
print(f"[SECURITY ALERT] custom node '{k}' is dangerous.")

View File

@ -4,7 +4,7 @@ import { sleep } from "./common.js";
async function tryInstallCustomNode(event) {
let msg = '-= [ComfyUI Manager] extension installation request =-\n\n';
msg += `The '${event.detail.sender}' extension requires the installation of the '${event.detail.title}' extension. `;
msg += `The '${event.detail.sender}' extension requires the installation of the '${event.detail.target.title}' extension. `;
if(event.detail.target.installed == 'Disabled') {
msg += 'However, the extension is currently disabled. Would you like to enable it and reboot?'

View File

@ -105,6 +105,10 @@ function node_info_copy(src, dest, connect_both) {
// copy input connections
for(let i in src.inputs) {
let input = src.inputs[i];
if (input.widget !== undefined) {
const destWidget = dest.widgets.find(x => x.name === input.widget.name);
dest.convertWidgetToInput(destWidget);
}
if(input.link) {
let link = app.graph.links[input.link];
let src_node = app.graph.getNodeById(link.origin_id);
@ -138,6 +142,10 @@ function node_info_copy(src, dest, connect_both) {
}
}
dest.color = src.color;
dest.bgcolor = src.bgcolor;
dest.size = src.size;
app.graph.afterChange();
}
@ -202,7 +210,7 @@ app.registerExtension({
let new_node = LiteGraph.createNode(nodeType.comfyClass);
new_node.pos = [this.pos[0], this.pos[1]];
app.canvas.graph.add(new_node, false);
node_info_copy(this, new_node);
node_info_copy(this, new_node, true);
app.canvas.graph.remove(this);
},
});

View File

@ -178,7 +178,7 @@
},
{
"name": "stabilityai/stable-diffusion-x4-upscaler",
"type": "checkpoints",
"type": "checkpoint",
"base": "upscale",
"save_path": "checkpoints/upscale",
"description": "This upscaling model is a latent text-guided diffusion model and should be used with SD_4XUpscale_Conditioning and KSampler.",
@ -255,7 +255,7 @@
},
{
"name": "Stable Video Diffusion Image-to-Video",
"type": "checkpoints",
"type": "checkpoint",
"base": "SVD",
"save_path": "checkpoints/SVD",
"description": "Stable Video Diffusion (SVD) Image-to-Video is a diffusion model that takes in a still image as a conditioning frame, and generates a video from it.\nNOTE: 14 frames @ 576x1024",
@ -277,7 +277,7 @@
},
{
"name": "Stable Video Diffusion Image-to-Video (XT)",
"type": "checkpoints",
"type": "checkpoint",
"base": "SVD",
"save_path": "checkpoints/SVD",
"description": "Stable Video Diffusion (SVD) Image-to-Video is a diffusion model that takes in a still image as a conditioning frame, and generates a video from it.\nNOTE: 25 frames @ 576x1024 ",
@ -332,7 +332,7 @@
},
{
"name": "stabilityai/comfyui_checkpoints/stable_cascade_stage_b.safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "Stable Cascade",
"save_path": "checkpoints/Stable-Cascade",
"description": "Stable Cascade stage_b checkpoints",
@ -343,7 +343,7 @@
},
{
"name": "stabilityai/comfyui_checkpoints/stable_cascade_stage_c.safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "Stable Cascade",
"save_path": "checkpoints/Stable-Cascade",
"description": "Stable Cascade stage_c checkpoints",
@ -475,7 +475,7 @@
},
{
"name": "SDXL-Turbo 1.0 (fp16)",
"type": "checkpoints",
"type": "checkpoint",
"base": "SDXL",
"save_path": "checkpoints/SDXL-TURBO",
"description": "SDXL-Turbo 1.0 fp16",
@ -486,7 +486,7 @@
},
{
"name": "SDXL-Turbo 1.0",
"type": "checkpoints",
"type": "checkpoint",
"base": "SDXL",
"save_path": "checkpoints/SDXL-TURBO",
"description": "SDXL-Turbo 1.0",
@ -497,7 +497,7 @@
},
{
"name": "sd_xl_base_1.0_0.9vae.safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "SDXL",
"save_path": "default",
"description": "Stable Diffusion XL base model (VAE 0.9)",
@ -508,7 +508,7 @@
},
{
"name": "sd_xl_base_1.0.safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "SDXL",
"save_path": "default",
"description": "Stable Diffusion XL base model",
@ -519,7 +519,7 @@
},
{
"name": "sd_xl_refiner_1.0_0.9vae.safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "SDXL",
"save_path": "default",
"description": "Stable Diffusion XL refiner model (VAE 0.9)",
@ -530,7 +530,7 @@
},
{
"name": "stable-diffusion-xl-refiner-1.0",
"type": "checkpoints",
"type": "checkpoint",
"base": "SDXL",
"save_path": "default",
"description": "Stable Diffusion XL refiner model",
@ -618,9 +618,44 @@
"size": "892MB"
},
{
"name": "google-t5/t5-v1_1-xxl_encoderonly-fp16",
"type": "clip",
"base": "t5",
"save_path": "clip/t5",
"description": "The encoder part of https://huggingface.co/google/t5-v1_1-xxl, used with SD3 and Flux1",
"reference": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly",
"filename": "google_t5-v1_1-xxl_encoderonly-fp16.safetensors",
"url": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly/resolve/main/pytorch_model.safetensors",
"size": "10.1GB"
},
{
"name": "google-t5/t5-v1_1-xxl_encoderonly-fp8_e4m3fn",
"type": "clip",
"base": "t5",
"save_path": "clip/t5",
"description": "The encoder part of https://huggingface.co/google/t5-v1_1-xxl, used with SD3 and Flux1",
"reference": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly",
"filename": "google_t5-v1_1-xxl_encoderonly-fp8_e4m3fn.safetensors",
"url": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly/resolve/main/t5xxl_fp8_e4m3fn.safetensors",
"size": "4.89GB"
},
{
"name": "comfyanonymous/clip_l",
"type": "clip",
"base": "clip",
"save_path": "default",
"description": "clip_l model",
"reference": "https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main",
"filename": "clip_l.safetensors",
"url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
"size": "246MB"
},
{
"name": "v1-5-pruned-emaonly.ckpt",
"type": "checkpoints",
"type": "checkpoint",
"base": "SD1.5",
"save_path": "default",
"description": "Stable Diffusion 1.5 base model",
@ -631,7 +666,7 @@
},
{
"name": "v2-1_512-ema-pruned.safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "SD2",
"save_path": "default",
"description": "Stable Diffusion 2 base model (512)",
@ -642,7 +677,7 @@
},
{
"name": "v2-1_768-ema-pruned.safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "SD2",
"save_path": "default",
"description": "Stable Diffusion 2 base model (768)",
@ -653,7 +688,7 @@
},
{
"name": "AbyssOrangeMix2 (hard)",
"type": "checkpoints",
"type": "checkpoint",
"base": "SD1.5",
"save_path": "default",
"description": "AbyssOrangeMix2 - hard version (anime style)",
@ -664,7 +699,7 @@
},
{
"name": "AbyssOrangeMix3 A1",
"type": "checkpoints",
"type": "checkpoint",
"base": "SD1.5",
"save_path": "default",
"description": "AbyssOrangeMix3 - A1 (anime style)",
@ -675,7 +710,7 @@
},
{
"name": "AbyssOrangeMix3 A3",
"type": "checkpoints",
"type": "checkpoint",
"base": "SD1.5",
"save_path": "default",
"description": "AbyssOrangeMix - A3 (anime style)",
@ -686,7 +721,7 @@
},
{
"name": "Waifu Diffusion 1.5 Beta3 (fp16)",
"type": "checkpoints",
"type": "checkpoint",
"base": "SD2.1",
"save_path": "default",
"description": "Waifu Diffusion 1.5 Beta3",
@ -807,7 +842,7 @@
},
{
"name": "Segmind-Vega",
"type": "checkpoints",
"type": "checkpoint",
"base": "segmind-vega",
"save_path": "checkpoints/segmind-vega",
"description": "The Segmind-Vega Model is a distilled version of the Stable Diffusion XL (SDXL), offering a remarkable 70% reduction in size and an impressive 100% speedup while retaining high-quality text-to-image generation capabilities.",
@ -1962,7 +1997,7 @@
},
{
"name": "TencentARC/motionctrl.pth",
"type": "checkpoints",
"type": "checkpoint",
"base": "MotionCtrl",
"save_path": "checkpoints/motionctrl",
"description": "To use the ComfyUI-MotionCtrl extension, downloading this model is required.",
@ -2378,6 +2413,17 @@
"url": "https://huggingface.co/TencentARC/PhotoMaker/resolve/main/photomaker-v1.bin",
"size": "934.1MB"
},
{
"name": "photomaker-v2.bin",
"type": "photomaker",
"base": "SDXL",
"save_path": "photomaker",
"description": "PhotoMaker model. This model is compatible with SDXL.",
"reference": "https://huggingface.co/TencentARC/PhotoMaker-V2",
"filename": "photomaker-v2.bin",
"url": "https://huggingface.co/TencentARC/PhotoMaker-V2/resolve/main/photomaker-v2.bin",
"size": "1.8GB"
},
{
"name": "1k3d68.onnx",
"type": "insightface",
@ -2620,28 +2666,6 @@
"url": "https://huggingface.co/ShilongLiu/GroundingDINO/raw/main/GroundingDINO_SwinT_OGC.cfg.py",
"size": "1.01KB"
},
{
"name": "ViT-H SAM model",
"type": "sam",
"base": "SAM",
"save_path": "sams",
"description": "Segmenty Anything SAM model (ViT-H)",
"reference": "https://github.com/facebookresearch/segment-anything#model-checkpoints",
"filename": "sam_vit_h_4b8939.pth",
"url": "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth",
"size": "2.56GB"
},
{
"name": "ViT-L SAM model",
"type": "sam",
"base": "SAM",
"save_path": "sams",
"description": "Segmenty Anything SAM model (ViT-L)",
"reference": "https://github.com/facebookresearch/segment-anything#model-checkpoints",
"filename": "sam_vit_l_0b3195.pth",
"url": "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth",
"size": "1.25GB"
},
{
"name": "MobileSAM",
"type": "sam",
@ -2655,7 +2679,7 @@
},
{
"name": "DynamiCrafter 1024 bf16 safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "DynamiCrafter",
"save_path": "checkpoints/dynamicrafter",
"description": "DynamiCrafter image2video model 1024x575",
@ -2666,7 +2690,7 @@
},
{
"name": "DynamiCrafter 512 interpolation bf16 safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "DynamiCrafter",
"save_path": "checkpoints/dynamicrafter",
"description": "DynamiCrafter image2video interpolation model 512",
@ -2688,7 +2712,7 @@
},
{
"name": "Depth-FM-v1 fp16 safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "Depth-FM",
"save_path": "checkpoints/depthfm",
"description": "Depth-FM monocular depth estimation model",
@ -2699,7 +2723,7 @@
},
{
"name": "Depth-FM-v1 fp32 safetensors",
"type": "checkpoints",
"type": "checkpoint",
"base": "Depth-FM",
"save_path": "checkpoints/depthfm",
"description": "Depth-FM monocular depth estimation model",
@ -2710,7 +2734,7 @@
},
{
"name": "SUPIR-v0F.ckpt",
"type": "checkpoints",
"type": "checkpoint",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
@ -2721,7 +2745,7 @@
},
{
"name": "SUPIR-v0Q.ckpt",
"type": "checkpoints",
"type": "checkpoint",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
@ -2732,7 +2756,7 @@
},
{
"name": "Kijai/SUPIR-v0F_fp16.safetensors (pruned)",
"type": "checkpoints",
"type": "checkpoint",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
@ -2743,7 +2767,7 @@
},
{
"name": "Kijai/SUPIR-v0Q_fp16.safetensors (pruned)",
"type": "checkpoints",
"type": "checkpoint",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
@ -2787,8 +2811,8 @@
},
{
"name": "Zero123 3D object Model",
"type": "Zero123",
"base": "Zero123",
"type": "zero123",
"base": "zero123",
"save_path": "checkpoints/zero123",
"description": "model that been trained on 10M+ 3D objects from Objaverse-XL, used for generated rotated CamView",
"reference": "https://objaverse.allenai.org/docs/zero123-xl/",
@ -2798,8 +2822,8 @@
},
{
"name": "Zero123 3D object Model",
"type": "Zero123",
"base": "Zero123",
"type": "zero123",
"base": "zero123",
"save_path": "checkpoints/zero123",
"description": "Stable Zero123 is a model for view-conditioned image generation based on [a/Zero123](https://github.com/cvlab-columbia/zero123).",
"reference": "https://huggingface.co/stabilityai/stable-zero123",
@ -2809,8 +2833,8 @@
},
{
"name": "Zero123 3D object Model",
"type": "Zero123",
"base": "Zero123",
"type": "zero123",
"base": "zero123",
"save_path": "checkpoints/zero123",
"description": "Zero123 original checkpoints in 105000 steps.",
"reference": "https://huggingface.co/cvlab/zero123-weights",
@ -2820,8 +2844,8 @@
},
{
"name": "Zero123 3D object Model",
"type": "Zero123",
"base": "Zero123",
"type": "zero123",
"base": "zero123",
"save_path": "checkpoints/zero123",
"description": "Zero123 original checkpoints in 165000 steps.",
"reference": "https://huggingface.co/cvlab/zero123-weights",
@ -3050,6 +3074,17 @@
"url": "https://huggingface.co/xinsir/controlnet-union-sdxl-1.0/resolve/main/diffusion_pytorch_model.safetensors",
"size": "2.50GB"
},
{
"name": "xinsir/ControlNet++: All-in-one ControlNet (ProMax model)",
"type": "controlnet",
"base": "SDXL",
"save_path": "controlnet/SDXL/controlnet-union-sdxl-1.0",
"description": "All-in-one ControlNet for image generations and editing! (ProMax model)",
"reference": "https://huggingface.co/xinsir/controlnet-union-sdxl-1.0",
"filename": "iffusion_pytorch_model_promax.safetensors",
"url": "https://huggingface.co/xinsir/controlnet-union-sdxl-1.0/resolve/main/diffusion_pytorch_model_promax.safetensors",
"size": "2.50GB"
},
{
"name": "xinsir/Controlnet-Scribble-Sdxl-1.0",
"type": "controlnet",
@ -3359,6 +3394,110 @@
"filename": "PixArt-Sigma-XL-2-1024-MS.pth",
"url": "https://huggingface.co/PixArt-alpha/PixArt-Sigma/resolve/main/PixArt-Sigma-XL-2-1024-MS.pth",
"size": "2.47GB"
},
{
"name": "hunyuan_dit_1.2.safetensors",
"type": "checkpoint",
"base": "Hunyuan-DiT",
"save_path": "checkpoints/hunyuan_dit_comfyui",
"description": "Different versions of HunyuanDIT packaged for ComfyUI use.",
"reference": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui",
"filename": "hunyuan_dit_1.2.safetensors",
"url": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui/resolve/main/hunyuan_dit_1.2.safetensors",
"size": "8.24GB"
},
{
"name": "hunyuan_dit_1.1.safetensors",
"type": "checkpoint",
"base": "Hunyuan-DiT",
"save_path": "checkpoints/hunyuan_dit_comfyui",
"description": "Different versions of HunyuanDIT packaged for ComfyUI use.",
"reference": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui",
"filename": "hunyuan_dit_1.1.safetensors",
"url": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui/resolve/main/hunyuan_dit_1.1.safetensors",
"size": "8.24GB"
},
{
"name": "hunyuan_dit_1.0.safetensors",
"type": "checkpoint",
"base": "Hunyuan-DiT",
"save_path": "checkpoints/hunyuan_dit_comfyui",
"description": "Different versions of HunyuanDIT packaged for ComfyUI use.",
"reference": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui",
"filename": "hunyuan_dit_1.0.safetensors",
"url": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui/resolve/main/hunyuan_dit_1.0.safetensors",
"size": "8.24GB"
},
{
"name": "FLUX.1 [schnell] Diffusion model",
"type": "unet",
"base": "FLUX.1",
"save_path": "unet/FLUX1",
"description": "FLUX.1 [Schnell] Diffusion model (a.k.a. FLUX.1 turbo model)[w/Due to the large size of the model, it is recommended to download it through a browser if possible.]",
"reference": "https://huggingface.co/black-forest-labs/FLUX.1-schnell",
"filename": "flux1-schnell.sft",
"url": "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/flux1-schnell.sft",
"size": "23.8GB"
},
{
"name": "FLUX.1 VAE model",
"type": "vae",
"base": "FLUX.1",
"save_path": "vae/FLUX1",
"description": "FLUX.1 [Schnell] VAE model",
"reference": "https://huggingface.co/black-forest-labs/FLUX.1-schnell",
"filename": "ae.sft",
"url": "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors",
"size": "335MB"
},
{
"name": "kijai/FLUX.1 [schnell] Diffusion model (float8_e4m3fn)",
"type": "unet",
"base": "FLUX.1",
"save_path": "unet/FLUX1",
"description": "FLUX.1 [Schnell] Diffusion model (float8_e4m3fn)",
"reference": "https://huggingface.co/Kijai/flux-fp8",
"filename": "flux1-schnell-fp8.safetensors",
"url": "https://huggingface.co/Kijai/flux-fp8/resolve/main/flux1-schnell-fp8.safetensors",
"size": "11.9GB"
},
{
"name": "kijai/FLUX.1 [dev] Diffusion model (float8_e4m3fn)",
"type": "unet",
"base": "FLUX.1",
"save_path": "unet/FLUX1",
"description": "FLUX.1 [dev] Diffusion model (float8_e4m3fn)",
"reference": "https://huggingface.co/Kijai/flux-fp8",
"filename": "flux1-dev-fp8.safetensors",
"url": "https://huggingface.co/Kijai/flux-fp8/resolve/main/flux1-dev-fp8.safetensors",
"size": "11.9GB"
},
{
"name": "Comfy Org/FLUX.1 [dev] Checkpoint model (fp8)",
"type": "checkpoint",
"base": "FLUX.1",
"save_path": "checkpoints/FLUX1",
"description": "FLUX.1 [dev] Checkpoint model (fp8)",
"reference": "https://huggingface.co/Comfy-Org/flux1-dev/tree/main",
"filename": "flux1-dev-fp8.safetensors",
"url": "https://huggingface.co/Comfy-Org/flux1-dev/resolve/main/flux1-dev-fp8.safetensors",
"size": "17.2GB"
},
{
"name": "Comfy Org/FLUX.1 [schnell] Checkpoint model (fp8)",
"type": "checkpoint",
"base": "FLUX.1",
"save_path": "checkpoints/FLUX1",
"description": "FLUX.1 [schnell] Checkpoint model (fp8)",
"reference": "https://huggingface.co/Comfy-Org/flux1-dev/tree/main",
"filename": "flux1-schnell-fp8.safetensors",
"url": "https://huggingface.co/Comfy-Org/flux1-schnell/resolve/main/flux1-schnell-fp8.safetensors",
"size": "17.2GB"
}
]
}
}

View File

@ -9,8 +9,249 @@
"description": "If you see this message, your ComfyUI-Manager is outdated.\nDev channel provides only the list of the developing nodes. If you want to find the complete node list, please go to the Default channel."
},
{
"author": "logtd",
"title": "ComfyUI-Fluxtapoz [WIP]",
"reference": "https://github.com/logtd/ComfyUI-Fluxtapoz",
"files": [
"https://github.com/logtd/ComfyUI-Fluxtapoz"
],
"install_type": "git-clone",
"description": "A set of nodes for editing images using Flux in ComfyUI"
},
{
"author": "ChrisColeTech",
"title": "ComfyUI-Get-Random-File [UNSAFE]",
"reference": "https://github.com/ChrisColeTech/ComfyUI-Get-Random-File",
"files": [
"https://github.com/ChrisColeTech/ComfyUI-Get-Random-File"
],
"install_type": "git-clone",
"description": "Gets a random file from a directory. Returns the filpath as a STRING. [w/This node allows access to arbitrary files through the workflow, which could pose a security threat.]"
},
{
"author": "logtd",
"title": "ComfyUI-Fluxtapoz [WIP]",
"reference": "https://github.com/logtd/ComfyUI-Fluxtapoz",
"files": [
"https://github.com/logtd/ComfyUI-Fluxtapoz"
],
"install_type": "git-clone",
"description": "A set of nodes for editing images using Flux in ComfyUI"
},
{
"author": "neeltheninja",
"title": "ComfyUI-ControlNeXt [WIP]",
"reference": "https://github.com/neverbiasu/ComfyUI-ControlNeXt",
"files": [
"https://github.com/neverbiasu/ComfyUI-ControlNeXt"
],
"install_type": "git-clone",
"description": "In progress🚧"
},
{
"author": "neeltheninja",
"title": "ComfyUI-TextOverlay",
"reference": "https://github.com/neeltheninja/ComfyUI-TextOverlay",
"files": [
"https://github.com/neeltheninja/ComfyUI-TextOverlay"
],
"install_type": "git-clone",
"description": "A custom node for ComfyUI that adds text overlay to images, with options for text and background color, opacity, vertical positioning, and custom font selection. [w/Name conflict with munkyfoot/ComfyUI-TextOverlay. Cannot install simulatenously.]"
},
{
"author": "comfyanonymous",
"title": "ComfyUI_bitsandbytes_NF4 [EXPERIMENTAL]",
"reference": "https://github.com/comfyanonymous/ComfyUI_bitsandbytes_NF4",
"files": [
"https://github.com/comfyanonymous/ComfyUI_bitsandbytes_NF4"
],
"install_type": "git-clone",
"description": "A quickly written custom node that uses code from Forge to support the nf4 flux dev checkpoint and nf4 flux schnell checkpoint.\nRequires installing bitsandbytes.\nMake sure your ComfyUI is updated.\nThe node is: CheckpointLoaderNF4, just plug it in your flux workflow instead of the regular one.[w/NF4 checckpoint doesn't support LoRA.]"
},
{
"author": "kijai",
"title": "ComfyUI-EasyAnimateWrapper [WIP]",
"reference": "https://github.com/kijai/ComfyUI-EasyAnimateWrapper",
"files": [
"https://github.com/kijai/ComfyUI-EasyAnimateWrapper"
],
"install_type": "git-clone",
"description": "EasyAnimateWrapper for ComfyUI"
},
{
"author": "logtd",
"title": "ComfyUI-Veevee [WIP]",
"reference": "https://github.com/logtd/ComfyUI-Veevee",
"files": [
"https://github.com/logtd/ComfyUI-Veevee"
],
"install_type": "git-clone",
"description": "A Video2Video framework for text2image models in ComfyUI. Supports SD1.5 and SDXL."
},
{
"author": "kijai",
"title": "ComfyUI-LLaVA-OneVision [WIP]",
"reference": "https://github.com/kijai/ComfyUI-LLaVA-OneVision",
"files": [
"https://github.com/kijai/ComfyUI-LLaVA-OneVision"
],
"install_type": "git-clone",
"description": "Original repo: [a/https://github.com/LLaVA-VL/LLaVA-NeXT](https://github.com/LLaVA-VL/LLaVA-NeXT)\nUnsure of the dependencies, the original was a huge list, but I didn't install single new one to my environment and it worked."
},
{
"author": "TTPlanetPig",
"title": "for comfyui image proprocessor",
"reference": "https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor",
"files": [
"https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor"
],
"install_type": "git-clone",
"description": "Adapt for Hunyuan now"
},
{
"author": "IuvenisSapiens",
"title": "ComfyUI_MiniCPM-V-2_6-int4",
"id": "minicpm-v-2_6-int4",
"reference": "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4",
"files": [
"https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4"
],
"install_type": "git-clone",
"description": "This is an implementation of [a/MiniCPM-V-2_6-int4](https://github.com/OpenBMB/MiniCPM-V) by [a/ComfyUI](https://github.com/comfyanonymous/ComfyUI), including support for text-based queries, video queries, single-image queries, and multi-image queries to generate captions or responses."
},
{
"author": "chrisdreid",
"title": "ComfyUI_EnvAutopsyAPI [UNSAFE]",
"reference": "https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI",
"files": [
"https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI"
],
"install_type": "git-clone",
"description": "ComfyUI_EnvAutopsyAPI is a powerful debugging tool designed for ComfyUI that provides in-depth analysis of your environment and dependencies through an API interface. This tool allows you to inspect environment variables, pip packages, and dependency trees, making it easier to diagnose and resolve issues in your ComfyUI setup.[w/This tool may expose sensitive system information if used on a public server. MUST READ [a/THIS](https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI#%EF%B8%8F-warning-security-risk-%EF%B8%8F) before install.]"
},
{
"author": "kijai",
"title": "ComfyUI-CogVideoXWrapper [WIP]",
"reference": "https://github.com/kijai/ComfyUI-CogVideoXWrapper",
"files": [
"https://github.com/kijai/ComfyUI-CogVideoXWrapper"
],
"install_type": "git-clone",
"description": "Original repo: [a/https://github.com/THUDM/CogVideo](https://github.com/THUDM/CogVideo)\nNOTE:Currently requires diffusers with PR: [a/huggingface/diffusers#9082](https://github.com/huggingface/diffusers/pull/9082)"
},
{
"author": "neuratech-ai",
"title": "ComfyUI-MultiGPU",
"reference": "https://github.com/neuratech-ai/ComfyUI-MultiGPU",
"files": [
"https://github.com/neuratech-ai/ComfyUI-MultiGPU"
],
"install_type": "git-clone",
"description": "Experimental nodes for using multiple GPUs in a single ComfyUI workflow.\nThis extension adds new nodes for model loading that allow you to specify the GPU to use for each model. It monkey patches the memory management of ComfyUI in a hacky way and is neither a comprehensive solution nor a well-tested one. Use at your own risk.\nNote that this does not add parallelism. The workflow steps are still executed sequentially just on different GPUs. Any potential speedup comes from not having to constantly load and unload models from VRAM."
},
{
"author": "Isi-dev",
"title": "Isi-dev/ComfyUI-UniAnimate",
"reference": "https://github.com/Isi-dev/ComfyUI-UniAnimate",
"files": [
"https://github.com/Isi-dev/ComfyUI-UniAnimate"
],
"install_type": "git-clone",
"description": "This is my ComfyUi-windows implementation for the image animation project ▶ UniAnimate: Taming Unified Video Diffusion Models for Consistent Human Image Animation[w/This node cannot be installed simultaneously with ComfyUI-UniAnimate by AIFSH because it has the same name as that custom node.]"
},
{
"author": "Futureversecom",
"title": "ComfyUI-JEN",
"reference": "https://github.com/futureversecom/ComfyUI-JEN",
"files": [
"https://github.com/futureversecom/ComfyUI-JEN"
],
"install_type": "git-clone",
"description": "Comfy UI custom nodes for JEN music generation powered by Futureverse"
},
{
"author": "denislov",
"title": "Comfyui_AutoSurvey",
"reference": "https://github.com/denislov/Comfyui_AutoSurvey",
"files": [
"https://github.com/denislov/Comfyui_AutoSurvey"
],
"install_type": "git-clone",
"description": "Nodes:AutoSurvey, WriteOutline, WriteSection, ChatModel, QueryKnowledge, ManageDatabase, AddDoc2Knowledge"
},
{
"author": "leoleelxh",
"title": "ComfyUI-MidjourneyNode-leoleexh",
"reference": "https://github.com/leoleelxh/ComfyUI-MidjourneyNode-leoleexh",
"files": [
"https://github.com/leoleelxh/ComfyUI-MidjourneyNode-leoleexh"
],
"install_type": "git-clone",
"description": "This node allows ComfyUI to easily integrate with Midjourney, utilizing the ultra-high quality of Midjourney and the powerful control of SD to provide more convenient capabilities for AIGC.\nNOTE: This node relies on the midjourney proxy project and requires API deployment in advance. For detailed installation, please refer to the instructions of the project. https://github.com/novicezk/midjourney-proxy"
},
{
"author": "kijai",
"title": "ComfyUI-FollowYourEmojiWrapper [WIP]",
"reference": "https://github.com/kijai/ComfyUI-FollowYourEmojiWrapper",
"files": [
"https://github.com/kijai/ComfyUI-FollowYourEmojiWrapper"
],
"install_type": "git-clone",
"description": "Original repo: [a/https://github.com/mayuelala/FollowYourEmoji](https://github.com/mayuelala/FollowYourEmoji)"
},
{
"author": "haomole",
"title": "Comfyui-SadTalker",
"reference": "https://github.com/haomole/Comfyui-SadTalker",
"files": [
"https://github.com/haomole/Comfyui-SadTalker"
],
"install_type": "git-clone",
"description": "[a/SadTalker](https://github.com/OpenTalker/SadTalker) for ComfyUI"
},
{
"author": "maepopi",
"title": "Diffusers-in-ComfyUI",
"reference": "https://github.com/maepopi/Diffusers-in-ComfyUI",
"files": [
"https://github.com/maepopi/Diffusers-in-ComfyUI"
],
"install_type": "git-clone",
"description": "This is a custom node allowing the use of the diffusers pipeline into ComfyUI. Based on [a/Limitex/ComfyUI-Diffusers](https://github.com/Limitex/ComfyUI-Diffusers)"
},
{
"author": "hotpizzatactics",
"title": "ComfyUI-WaterMark-Detector",
"id": "watermark-detector",
"reference": "https://github.com/hotpizzatactics/ComfyUI-WaterMark-Detector",
"files": [
"https://github.com/hotpizzatactics/ComfyUI-WaterMark-Detector"
],
"install_type": "git-clone",
"description": "Nodes:CLAHE Enhancement, High Pass Filter, Edge Detection, Combine Enhancements, Adaptive Thresholding, Morphological Operations, Gray Color Enhancement, Improved Gray Color Enhancement, Texture Enhancement, Denoising Filter, Flexible Combine Enhancements."
},
{
"author": "drmbt",
"title": "comfyui-dreambait-nodes",
"reference": "https://github.com/drmbt/comfyui-dreambait-nodes",
"files": [
"https://github.com/drmbt/comfyui-dreambait-nodes"
],
"install_type": "git-clone",
"description": "Nodes:Aspect Pad Image For Outpainting"
},
{
"author": "AIFSH",
"title": "IMAGDressing-ComfyUI",
"id": "imagdressing",
"reference": "https://github.com/AIFSH/IMAGDressing-ComfyUI",
"files": [
"https://github.com/AIFSH/IMAGDressing-ComfyUI"
],
"install_type": "git-clone",
"description": "Nodes:IMAGDressingNode, TextNode"
},
{
"author": "BetaDoggo",
"title": "ComfyUI-LogicGates",
@ -83,26 +324,6 @@
"install_type": "git-clone",
"description": "NODES: LygiaProgram, LygiaUniforms"
},
{
"author": "filliptm",
"title": "ComfyUI_FL-Trainer [WIP]",
"reference": "https://github.com/filliptm/ComfyUI_FL-Trainer",
"files": [
"https://github.com/filliptm/ComfyUI_FL-Trainer"
],
"install_type": "git-clone",
"description": "Trainer nodes based on KohyaSS trainer."
},
{
"author": "Indra's Mirror",
"title": "ComfyUI-Lumina-Next-SFT-DiffusersWrapper [WIP]",
"reference": "https://github.com/Excidos/ComfyUI-Lumina-Next-SFT-DiffusersWrapper",
"files": [
"https://github.com/Excidos/ComfyUI-Lumina-Next-SFT-DiffusersWrapper"
],
"install_type": "git-clone",
"description": "WORK IN PROGRESS (Currently Not Working)"
},
{
"author": "SpaceWarpStudio",
"title": "ComfyUI_Remaker_FaceSwap",
@ -175,16 +396,6 @@
"install_type": "git-clone",
"description": "If you wish to incorporate these changes into your repo, feel free to open an issue and ask. The commits should be pretty clear, and I also label almost all changes with #HACK so a full text search will work too.\nPlease let me know if you decide to incorporate any of these changes into your LivePortrait implementation so I can direct people to you repository. I do not intend to maintain this repo.\nSome operations are simply not supported on MPS and I didn't rewrite them. Most of my changes are just to .cuda calls and that sort of thing. Many operations are still done on CPU, so don't expect awesome performance."
},
{
"author": "justUmen",
"title": "Bjornulf_custom_nodes [WIP]",
"reference": "https://github.com/justUmen/Bjornulf_custom_nodes",
"files": [
"https://github.com/justUmen/Bjornulf_custom_nodes"
],
"install_type": "git-clone",
"description": "Nodes: ollamaLoader, ShowText, ShowInt, LoopTexts, LoopFloat, LoopInteger, ..."
},
{
"author": "thderoo",
"title": "_topfun_s_nodes",
@ -205,16 +416,6 @@
"install_type": "git-clone",
"description": "This repository provides developers with a way to better manage their ComfyUI model memory. It includes nodes that allow developers to either unload all models or unload one model at a time. These nodes are designed as pass-through nodes, so they can be used anywhere in the flow. The nodes can be found in the 'Unload Model' section.[w/These are massive hammers, and it could be possible to break things, please don't use them if you need finesse.]"
},
{
"author": "GeekyGhost",
"title": "ComfyUI-GeekyRemB v2",
"reference": "https://github.com/GeekyGhost/ComfyUI-GeekyRemB",
"files": [
"https://github.com/GeekyGhost/ComfyUI-GeekyRemB/raw/SketchUITest/GeekyRembv2.py"
],
"install_type": "copy",
"description": "GeekyRemB Node Description: GeekyRemB is a powerful and versatile image processing node for ComfyUI, designed to remove backgrounds from images with advanced customization options. This node leverages the rembg library and offers a wide range of features for fine-tuning the background removal process and enhancing the resulting images."
},
{
"author": "AIFSH",
"title": "ComfyUI-OpenDIT [WIP]",
@ -237,17 +438,6 @@
"install_type": "git-clone",
"description": "Custom ComfyUI nodes to run [a/fal-ai/AuraSR](https://huggingface.co/fal-ai/AuraSR) model.[w/This node cannot be installed simultaneously with AIFSH/ComfyUI-AuraSR due to overlapping repository names.]"
},
{
"author": "mingqizhang",
"title": "ComfyUI_AEMatter_zmq",
"id": "aematter",
"reference": "https://github.com/mingqizhang/ComfyUI_AEMatter_zmq",
"files": [
"https://github.com/mingqizhang/ComfyUI_AEMatter_zmq"
],
"install_type": "git-clone",
"description": "Nodes:AEMatter_ModelLoader, Create_Trimap, AEMatter_Apply, Mask_Transfor, Replace_Background, Gaussian_Filter, Guide_Filter, Improved_Aplha_Composite"
},
{
"author": "m-ai-studio",
"title": "mai-prompt-progress",
@ -291,17 +481,6 @@
"install_type": "git-clone",
"description": "A simple node to load image from local path or http url. You can find this node from 'image' category."
},
{
"author": "mingqizhang",
"title": "ComfyUI_AEMatter_zmq",
"id": "aematter-zmq",
"reference": "https://github.com/mingqizhang/ComfyUI_AEMatter_zmq",
"files": [
"https://github.com/mingqizhang/ComfyUI_AEMatter_zmq"
],
"install_type": "git-clone",
"description": "Nodes:AEMatter_ModelLoader, Create_Trimap, AEMatter_Apply, Mask_Transfor, Replace_Background, Gaussian_Filter, Guide_Filter"
},
{
"author": "majorsauce",
"title": "comfyui_indieTools [WIP]",
@ -335,16 +514,6 @@
"install_type": "copy",
"description": "Some additional audio utilites for use on top of Sample Diffusion ComfyUI Extension"
},
{
"author": "mingqizhang",
"title": "ComfyUI_AEMatter_zmq",
"reference": "https://github.com/mingqizhang/ComfyUI_AEMatter_zmq",
"files": [
"https://github.com/mingqizhang/ComfyUI_AEMatter_zmq"
],
"install_type": "git-clone",
"description": "Nodes:AEMatter_ModelLoader, Create_Trimap, AEMatter_Apply, Mask_Transfor, Replace_Background, Gaussian_Filter, Guide_Filter."
},
{
"author": "nat-chan",
"title": "comfyui-paint",
@ -593,6 +762,17 @@
"install_type": "git-clone",
"description": "Nodes:BetterImageDimensions, SDXLDimensions, PureRatio"
},
{
"author": "endman100",
"title": "ComfyUI-augmentation",
"id": "augmentation",
"reference": "https://github.com/endman100/ComfyUI-augmentation",
"files": [
"https://github.com/endman100/ComfyUI-augmentation"
],
"install_type": "git-clone",
"description": "Nodes:RamdomFlipImage (endman100)"
},
{
"author": "endman100",
"title": "ComfyUI Nodes: SaveConditioning and LoadConditioning",
@ -746,16 +926,6 @@
"install_type": "git-clone",
"description": "Primary Nodes for Inference.Core and Stability Matrix. With a focus on not impacting startup performance and using fully qualified Node names. [w/This custom node is likely to conflict with many other nodes.]"
},
{
"author": "blepping",
"title": "comfyui_overly_complicated_sampling",
"reference": "https://github.com/blepping/comfyui_overly_complicated_sampling",
"files": [
"https://github.com/blepping/comfyui_overly_complicated_sampling"
],
"install_type": "git-clone",
"description": "Very unstable, experimental and mathematically unsound sampling for ComfyUI.\nCurrent status: In flux, not suitable for general use."
},
{
"author": "tracerstar",
"title": "comfyui-p5js-node",
@ -1219,16 +1389,6 @@
"install_type": "git-clone",
"description": "This is a PoC port of [a/Google's Prompt-to-Prompt](https://github.com/google/prompt-to-prompt/) to ComfyUI. It isn't feature complete. But it's good enough for evaluating if prompt-to-prompt is of any good."
},
{
"author": "MushroomFleet",
"title": "DJZ-Nodes",
"reference": "https://github.com/MushroomFleet/DJZ-Nodes",
"files": [
"https://github.com/MushroomFleet/DJZ-Nodes"
],
"install_type": "git-clone",
"description": "Nodes:Aspect Size. Drift Johnsons Custom nodes for ComfyUI"
},
{
"author": "stavsap",
"title": "ComfyUI Ollama [WIP]",
@ -1749,16 +1909,6 @@
"install_type": "git-clone",
"description": "Nodes: CheckpointVAELoaderSimpleText, CheckpointVAESelectorText, LoRA_Tag_To_Stack"
},
{
"author": "dnl13",
"title": "ComfyUI-dnl13-seg",
"reference": "https://github.com/dnl13/ComfyUI-dnl13-seg",
"files": [
"https://github.com/dnl13/ComfyUI-dnl13-seg"
],
"install_type": "git-clone",
"description": "After discovering @storyicon implementation here of Segment Anything, I realized its potential as a powerful tool for ComfyUI if implemented correctly. I delved into the SAM and Dino models. The following is my own adaptation of sam_hq for ComfyUI."
},
{
"author": "Brandelan",
"title": "ComfyUI_bd_customNodes",

View File

@ -204,6 +204,15 @@
"title_aux": "ComfyUI-ViViD"
}
],
"https://github.com/AIFSH/IMAGDressing-ComfyUI": [
[
"IMAGDressingNode",
"TextNode"
],
{
"title_aux": "IMAGDressing-ComfyUI"
}
],
"https://github.com/ALatentPlace/ComfyUI_yanc": [
[
"> Clear Text",
@ -268,7 +277,6 @@
"IntConditions",
"IntMathOperation",
"InversionDemoAdvancedPromptNode",
"InversionDemoFakeAdvancedPromptNode",
"InversionDemoLazyConditional",
"InversionDemoLazyIndexSwitch",
"InversionDemoLazyMixImages",
@ -284,6 +292,27 @@
"title_aux": "execution-inversion-demo-comfyui"
}
],
"https://github.com/BetaDoggo/ComfyUI-LogicGates": [
[
"AND",
"BitMemory",
"BoolToString",
"ByteMemory",
"ByteToBits",
"CreateByte",
"NAND",
"NOR",
"NOT",
"ON",
"OR",
"SWITCH",
"XNOR",
"XOR"
],
{
"title_aux": "ComfyUI-LogicGates"
}
],
"https://github.com/BlueDangerX/ComfyUI-BDXNodes": [
[
"BDXTestInt",
@ -322,6 +351,15 @@
"title_aux": "ComfyUI_bd_customNodes"
}
],
"https://github.com/ChrisColeTech/ComfyUI-Get-Random-File": [
[
"RandomFilePathNode",
"RandomImagePathNode"
],
{
"title_aux": "ComfyUI-Get-Random-File [UNSAFE]"
}
],
"https://github.com/DeTK/ComfyUI-Switch": [
[
"NodeSwitch"
@ -347,14 +385,6 @@
"title_aux": "ComfyUI-MusicGen [WIP]"
}
],
"https://github.com/Excidos/ComfyUI-Lumina-Next-SFT-DiffusersWrapper": [
[
"LuminaDiffusersNode"
],
{
"title_aux": "ComfyUI-Lumina-Next-SFT-DiffusersWrapper [WIP]"
}
],
"https://github.com/ExponentialML/ComfyUI_LiveDirector": [
[
"LiveDirector"
@ -388,14 +418,6 @@
"title_aux": "ComfyUI-Airtable [WIP]"
}
],
"https://github.com/GeekyGhost/ComfyUI-GeekyRemB/raw/SketchUITest/GeekyRembv2.py": [
[
"GeekyRemB"
],
{
"title_aux": "ComfyUI-GeekyRemB v2"
}
],
"https://github.com/GentlemanHu/ComfyUI-Notifier": [
[
"GentlemanHu_Notifier"
@ -421,6 +443,7 @@
"GR Image/Depth Mask",
"GR Mask Create",
"GR Mask Create Random",
"GR Mask Create Random Multi",
"GR Mask Resize",
"GR Multi Mask Create",
"GR Onomatopoeia",
@ -455,6 +478,26 @@
"title_aux": "GH Tools for ComfyUI"
}
],
"https://github.com/Isi-dev/ComfyUI-UniAnimate": [
[
"Gen_align_pose",
"UniAnimateImage"
],
{
"title_aux": "Isi-dev/ComfyUI-UniAnimate"
}
],
"https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4": [
[
"DisplayText",
"LoadVideo",
"MiniCPM_VQA",
"PreViewVideo"
],
{
"title_aux": "ComfyUI_MiniCPM-V-2_6-int4"
}
],
"https://github.com/IvanZhd/comfyui-codeformer": [
[
"RedBeanie_CustomImageInverter"
@ -471,6 +514,33 @@
"title_aux": "comfyui-terminal-command [UNSAFE]"
}
],
"https://github.com/JichaoLiang/Immortal_comfyUI": [
[
"AppendNode",
"ApplyVoiceConversion",
"ImAppendQuickbackNode",
"ImAppendQuickbackVideoNode",
"ImAppendVideoNode",
"ImApplyWav2lip",
"ImDumpEntity",
"ImDumpNode",
"ImNodeTitleOverride",
"LoadPackage",
"MergeNode",
"NewNode",
"SaveImagePath",
"SaveToDirectory",
"SetEvent",
"SetNodeMapping",
"SetProperties",
"batchNodes",
"mergeEntityAndPointer",
"redirectToNode"
],
{
"title_aux": "Immortal_comfyUI"
}
],
"https://github.com/Jiffies-64/ComfyUI-SaveImagePlus": [
[
"SaveImagePlus"
@ -607,14 +677,6 @@
"title_aux": "CheckProgress [WIP]"
}
],
"https://github.com/MushroomFleet/DJZ-Nodes": [
[
"AspectSize"
],
{
"title_aux": "DJZ-Nodes"
}
],
"https://github.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/raw/main/EXT_VariationUtils.py": [
[
"BatchToList",
@ -626,14 +688,6 @@
"title_aux": "ComfyUI-Waveform-Extensions"
}
],
"https://github.com/NitramDom/ComfyUI_FacialFlip": [
[
"Swapper"
],
{
"title_aux": "ComfyUI_FacialFlip"
}
],
"https://github.com/PluMaZero/ComfyUI-SpaceFlower": [
[
"SpaceFlower_HangulPrompt",
@ -647,13 +701,20 @@
[
"CPPN Generator",
"Color Match",
"Coordinates From Mask",
"Custom Shader",
"Distance Map",
"Folder Queue Manager",
"Image Blend by Mask (Batch)",
"Image Noise Generator",
"Image to Optical Flow",
"Perlin Noise Generator",
"Preview Mask",
"Random Image Generator",
"Shift Mask",
"Slit Scan",
"Spring Mesh",
"Temporal Blur",
"Video Queue Manager"
],
{
@ -768,6 +829,17 @@
"title_aux": "ComfyUI-TSFNodes"
}
],
"https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor": [
[
"TTPlanet_Tile_Preprocessor_GF",
"TTPlanet_Tile_Preprocessor_Simple",
"TTPlanet_Tile_Preprocessor_cufoff",
"TTPlanet_inpainting_Preprecessor"
],
{
"title_aux": "for comfyui image proprocessor"
}
],
"https://github.com/Video3DGenResearch/comfyui-batch-input-node": [
[
"BatchImageAndPrompt",
@ -780,7 +852,9 @@
],
"https://github.com/VisionExp/ve_custom_comfyui_nodes": [
[
"LoadImgFromInputUrl"
"LoadImgFromInputUrl",
"assets/Asset Image",
"render3d/Render Node"
],
{
"title_aux": "ve_custom_comfyui_nodes"
@ -836,6 +910,19 @@
"title_aux": "ComfyUI-PuLID-ZHO [WIP]"
}
],
"https://github.com/adityathiru/ComfyUI-LLMs": [
[
"Model",
"Model V2",
"Predict",
"Predict V2",
"Prompt Builder",
"Text Field"
],
{
"title_aux": "ComfyUI LLMs [WIP]"
}
],
"https://github.com/alexisrolland/ComfyUI-AuraSR": [
[
"RunAuraSR",
@ -947,15 +1034,6 @@
"title_aux": "Gen Data Tester [WIP]"
}
],
"https://github.com/blepping/comfyui_overly_complicated_sampling": [
[
"ComposableSampler",
"ComposableStepSampler"
],
{
"title_aux": "comfyui_overly_complicated_sampling"
}
],
"https://github.com/bruce007lee/comfyui-cleaner": [
[
"cleaner"
@ -970,7 +1048,9 @@
"FaceAlign",
"FaceAlignImageProcess",
"FaceAlignMaskProcess",
"ImageFillColorByMask"
"ImageFillColorByMask",
"ImageTransposeAdvance",
"LoadImageAdvance"
],
{
"title_aux": "comfyui-tiny-utils"
@ -1038,6 +1118,7 @@
"AlignYourStepsScheduler",
"BasicGuider",
"BasicScheduler",
"BetaSamplingScheduler",
"CFGGuider",
"CLIPAttentionMultiply",
"CLIPLoader",
@ -1048,6 +1129,8 @@
"CLIPSetLastLayer",
"CLIPTextEncode",
"CLIPTextEncodeControlnet",
"CLIPTextEncodeFlux",
"CLIPTextEncodeHunyuanDiT",
"CLIPTextEncodeSD3",
"CLIPTextEncodeSDXL",
"CLIPTextEncodeSDXLRefiner",
@ -1084,6 +1167,7 @@
"ExponentialScheduler",
"FeatherMask",
"FlipSigmas",
"FluxGuidance",
"FreeU",
"FreeU_V2",
"GITSScheduler",
@ -1143,6 +1227,7 @@
"MaskToImage",
"ModelMergeAdd",
"ModelMergeBlocks",
"ModelMergeFlux1",
"ModelMergeSD1",
"ModelMergeSD2",
"ModelMergeSD3_2B",
@ -1153,6 +1238,7 @@
"ModelSamplingContinuousEDM",
"ModelSamplingContinuousV",
"ModelSamplingDiscrete",
"ModelSamplingFlux",
"ModelSamplingSD3",
"ModelSamplingStableCascade",
"Morphology",
@ -1180,6 +1266,7 @@
"SamplerCustomAdvanced",
"SamplerDPMAdaptative",
"SamplerDPMPP_2M_SDE",
"SamplerDPMPP_2S_Ancestral",
"SamplerDPMPP_3M_SDE",
"SamplerDPMPP_SDE",
"SamplerEulerAncestral",
@ -1195,6 +1282,7 @@
"SaveLatent",
"SelfAttentionGuidance",
"SetLatentNoiseMask",
"SetUnionControlNetType",
"SolidMask",
"SplitImageWithAlpha",
"SplitSigmas",
@ -1235,6 +1323,14 @@
"title_aux": "ComfyUI"
}
],
"https://github.com/comfyanonymous/ComfyUI_bitsandbytes_NF4": [
[
"CheckpointLoaderNF4"
],
{
"title_aux": "ComfyUI_bitsandbytes_NF4 [EXPERIMENTAL]"
}
],
"https://github.com/comfypod/ComfyUI-Comflow": [
[
"ComflowInputBoolean",
@ -1269,6 +1365,26 @@
"title_aux": "ComfyUI-Better-Dimensions"
}
],
"https://github.com/denislov/Comfyui_AutoSurvey": [
[
"AddDoc2Knowledge",
"AutoSurvey",
"ChatModel",
"ComfyMilvus",
"ComfyWeaviate",
"ManageDatabase",
"MilvusScheme",
"MsField",
"QueryKnowledge",
"WcProperty",
"WcPropertyComb",
"WriteOutline",
"WriteSection"
],
{
"title_aux": "Comfyui_AutoSurvey"
}
],
"https://github.com/dfl/comfyui-stylegan": [
[
"StyleGAN Generator",
@ -1278,20 +1394,6 @@
"title_aux": "comfyui-stylegan"
}
],
"https://github.com/dnl13/ComfyUI-dnl13-seg": [
[
"Automatic Segmentation (dnl13)",
"BatchSelector (dnl13)",
"Combine Images By Mask (dnl13)",
"Dinov1 Model Loader (dnl13)",
"Mask with prompt (dnl13)",
"RGB (dnl13)",
"SAM Model Loader (dnl13)"
],
{
"title_aux": "ComfyUI-dnl13-seg"
}
],
"https://github.com/doucx/ComfyUI_WcpD_Utility_Kit": [
[
"BlackImage",
@ -1304,6 +1406,14 @@
"title_aux": "ComfyUI_WcpD_Utility_Kit"
}
],
"https://github.com/drmbt/comfyui-dreambait-nodes": [
[
"Aspect Pad Image For Outpainting"
],
{
"title_aux": "comfyui-dreambait-nodes"
}
],
"https://github.com/eigenpunk/ComfyUI-audio": [
[
"ApplyVoiceFixer",
@ -1365,6 +1475,14 @@
"title_aux": "ComfyUI Nodes: SaveConditioning and LoadConditioning"
}
],
"https://github.com/endman100/ComfyUI-augmentation": [
[
"RamdomFlipImage (endman100)"
],
{
"title_aux": "ComfyUI-augmentation"
}
],
"https://github.com/ericbeyer/guidance_interval": [
[
"Guidance Interval"
@ -1430,6 +1548,18 @@
"title_aux": "ComfyUI-InstantStyle"
}
],
"https://github.com/haomole/Comfyui-SadTalker": [
[
"LoadRefVideo",
"SadTalker",
"ShowAudio",
"ShowText",
"ShowVideo"
],
{
"title_aux": "Comfyui-SadTalker"
}
],
"https://github.com/horidream/ComfyUI-Horidream": [
[
"PassThroughWithSound"
@ -1438,6 +1568,27 @@
"title_aux": "ComfyUI-Horidream"
}
],
"https://github.com/hotpizzatactics/ComfyUI-WaterMark-Detector": [
[
"AdaptiveThresholding",
"AdvancedWatermarkEnhancement",
"AdvancedWaveletWatermarkEnhancement",
"CLAHEEnhancement",
"CombineEnhancements",
"ComprehensiveImageEnhancement",
"DenoisingFilter",
"EdgeDetection",
"FlexibleCombineEnhancements",
"HighPassFilter",
"ImprovedGrayColorEnhancement",
"MorphologicalOperations",
"TextureEnhancement",
"WatermarkEnhancement"
],
{
"title_aux": "ComfyUI-WaterMark-Detector"
}
],
"https://github.com/houdinii/comfy-magick": [
[
"AdaptiveBlur",
@ -1672,40 +1823,6 @@
"title_aux": "ComfyUI-Unique3D [WIP]"
}
],
"https://github.com/justUmen/Bjornulf_custom_nodes": [
[
"Bjornulf_CombineTexts",
"Bjornulf_CustomStringType",
"Bjornulf_LoopBasicBatch",
"Bjornulf_LoopCombosSamplersSchedulers",
"Bjornulf_LoopFloat",
"Bjornulf_LoopInteger",
"Bjornulf_LoopSamplers",
"Bjornulf_LoopSchedulers",
"Bjornulf_LoopTexts",
"Bjornulf_RandomModelClipVae",
"Bjornulf_RandomTexts",
"Bjornulf_ResizeImage",
"Bjornulf_SaveApiImage",
"Bjornulf_SaveImagePath",
"Bjornulf_SaveText",
"Bjornulf_SaveTmpImage",
"Bjornulf_ShowFloat",
"Bjornulf_ShowInt",
"Bjornulf_ShowText",
"Bjornulf_VideoPingPong",
"Bjornulf_WriteImageAllInOne",
"Bjornulf_WriteImageCharacter",
"Bjornulf_WriteImageCharacters",
"Bjornulf_WriteImageEnvironment",
"Bjornulf_WriteText",
"Bjornulf_imgs2vid",
"Bjornulf_ollamaLoader"
],
{
"title_aux": "Bjornulf_custom_nodes [WIP]"
}
],
"https://github.com/kadirnar/ComfyUI-Adapter": [
[
"GarmentSegLoader"
@ -1763,6 +1880,18 @@
"title_aux": "ComfyUI-CV-VAE"
}
],
"https://github.com/kijai/ComfyUI-CogVideoXWrapper": [
[
"CogVideoDecode",
"CogVideoImageEncode",
"CogVideoSampler",
"CogVideoTextEncode",
"DownloadAndLoadCogVideoModel"
],
{
"title_aux": "ComfyUI-CogVideoXWrapper [WIP]"
}
],
"https://github.com/kijai/ComfyUI-DeepSeek-VL": [
[
"deepseek_vl_inference",
@ -1790,6 +1919,43 @@
"title_aux": "ComfyUI-DiffusersSD3Wrapper"
}
],
"https://github.com/kijai/ComfyUI-EasyAnimateWrapper": [
[
"DownloadAndLoadEasyAnimateModel",
"EasyAnimateDecode",
"EasyAnimateImageEncoder",
"EasyAnimateResize",
"EasyAnimateSampler",
"EasyAnimateTextEncode"
],
{
"title_aux": "ComfyUI-EasyAnimateWrapper [WIP]"
}
],
"https://github.com/kijai/ComfyUI-FollowYourEmojiWrapper": [
[
"DownloadAndLoadFYEModel",
"FYECLIPEncode",
"FYEClipEmbedToComfy",
"FYELandmarkEncode",
"FYELandmarkToComfy",
"FYEMediaPipe",
"FYESampler",
"FYESamplerLong"
],
{
"title_aux": "ComfyUI-FollowYourEmojiWrapper [WIP]"
}
],
"https://github.com/kijai/ComfyUI-LLaVA-OneVision": [
[
"DownloadAndLoadLLaVAOneVisionModel",
"LLaVA_OneVision_Run"
],
{
"title_aux": "ComfyUI-LLaVA-OneVision [WIP]"
}
],
"https://github.com/komojini/ComfyUI_Prompt_Template_CustomNodes/raw/main/prompt_with_template.py": [
[
"ObjectPromptWithTemplate",
@ -1826,6 +1992,15 @@
"title_aux": "ssd-1b-comfyui"
}
],
"https://github.com/leoleelxh/ComfyUI-MidjourneyNode-leoleexh": [
[
"MidjourneyGenerateNode",
"MidjourneyUpscaleNode"
],
{
"title_aux": "ComfyUI-MidjourneyNode-leoleexh"
}
],
"https://github.com/linhusyung/comfyui-Build-and-train-your-network": [
[
"Conv_layer",
@ -1847,6 +2022,18 @@
"title_aux": "ComfyUI Build and Train Your Network [WIP]"
}
],
"https://github.com/logtd/ComfyUI-Fluxtapoz": [
[
"FluxDeGuidance",
"FluxInverseSampler",
"InFluxFlipSigmas",
"InFluxModelSamplingPred",
"OutFluxModelSamplingPred"
],
{
"title_aux": "ComfyUI-Fluxtapoz [WIP]"
}
],
"https://github.com/logtd/ComfyUI-MotionThiefExperiment": [
[
"ApplyRefMotionNode",
@ -1857,6 +2044,24 @@
"title_aux": "ComfyUI-MotionThiefExperiment"
}
],
"https://github.com/logtd/ComfyUI-Veevee": [
[
"ApplyVVModel",
"FlowConfig",
"FlowGetFlow",
"GetRaftFlow",
"InjectionConfig",
"PivotConfig",
"RaveConfig",
"SCAConfig",
"TemporalConfig",
"VVSamplerSampler",
"VVUnsamplerSampler"
],
{
"title_aux": "ComfyUI-Veevee [WIP]"
}
],
"https://github.com/longgui0318/comfyui-one-more-step": [
[
"Calculate More Step Latent",
@ -1884,6 +2089,18 @@
"title_aux": "ComfyUI-Workflow-Component [WIP]"
}
],
"https://github.com/maepopi/Diffusers-in-ComfyUI": [
[
"BLoRALoader",
"CreatePipeline",
"ImageInference",
"LoRALoader",
"MakeCanny"
],
{
"title_aux": "Diffusers-in-ComfyUI"
}
],
"https://github.com/majorsauce/comfyui_indieTools": [
[
"IndCutByMask",
@ -1908,6 +2125,7 @@
[
"marduk191_5_text_string",
"marduk191_5way_text_switch",
"marduk191_s_random_latent",
"marduk191_workflow_settings"
],
{
@ -1935,12 +2153,22 @@
"title_aux": "ComfyUI mashb1t nodes"
}
],
"https://github.com/melMass/ComfyUI-Lygia": [
[
"LygiaProgram",
"LygiaUniforms"
],
{
"title_aux": "ComfyUI-Lygia"
}
],
"https://github.com/mikeymcfish/FishTools": [
[
"AnaglyphCreator",
"AnaglyphCreatorPro",
"Deptherize",
"LaserCutterFull"
"LaserCutterFull",
"ShadowMap"
],
{
"author": "Fish",
@ -1950,21 +2178,6 @@
"title_aux": "LaserCutterFull and Deptherize Nodes"
}
],
"https://github.com/mingqizhang/ComfyUI_AEMatter_zmq": [
[
"AEMatter_Apply",
"AEMatter_ModelLoader",
"Create_Trimap",
"Gaussian_Filter",
"Guide_Filter",
"Improved_Aplha_Composite",
"Mask_Transfor",
"Replace_Background"
],
{
"title_aux": "ComfyUI_AEMatter_zmq"
}
],
"https://github.com/mut-ex/comfyui-gligengui-node": [
[
"GLIGEN_GUI"
@ -1973,6 +2186,36 @@
"title_aux": "ComfyUI GLIGEN GUI Node"
}
],
"https://github.com/neeltheninja/ComfyUI-TextOverlay": [
[
"TextOverlay"
],
{
"title_aux": "ComfyUI-TextOverlay"
}
],
"https://github.com/neuratech-ai/ComfyUI-MultiGPU": [
[
"CLIPLoaderMultiGPU",
"CheckpointLoaderMultiGPU",
"ControlNetLoaderMultiGPU",
"DualCLIPLoaderMultiGPU",
"UNETLoaderMultiGPU",
"VAELoaderMultiGPU"
],
{
"title_aux": "ComfyUI-MultiGPU"
}
],
"https://github.com/neverbiasu/ComfyUI-ControlNeXt": [
[
"ControlNextPipelineConfig",
"ControlNextSDXL"
],
{
"title_aux": "ComfyUI-ControlNeXt [WIP]"
}
],
"https://github.com/nidefawl/ComfyUI-nidefawl": [
[
"BlendImagesWithBoundedMasks",
@ -2007,8 +2250,11 @@
"PromptUtilitiesJoinStringList",
"PromptUtilitiesLoadPreset",
"PromptUtilitiesLoadPresetAdvanced",
"PromptUtilitiesPromptWeight",
"PromptUtilitiesRandomPreset",
"PromptUtilitiesRandomPresetAdvanced"
"PromptUtilitiesRandomPresetAdvanced",
"PromptUtilitiesReplaceOrInsertTag",
"PromptUtilitiesRoundPromptWeight"
],
{
"title_aux": "ComfyUI-PromptUtilities"
@ -2039,6 +2285,7 @@
"https://github.com/pamparamm/ComfyUI-ppm": [
[
"AttentionCouplePPM",
"CFGLimiterGuider",
"CFGPPSamplerSelect",
"CLIPMicroConditioning",
"CLIPNegPip",
@ -2094,40 +2341,7 @@
],
"https://github.com/redhottensors/ComfyUI-ODE": [
[
"Blended Transition [DVB]",
"Calculation [DVB]",
"Create Frame Set [DVB]",
"Divide [DVB]",
"Fade From Black [DVB]",
"Fade To Black [DVB]",
"Float Input [DVB]",
"For Each Done [DVB]",
"For Each Filename [DVB]",
"Frame Set Append [DVB]",
"Frame Set Frame Dimensions Scaled [DVB]",
"Frame Set Index Offset [DVB]",
"Frame Set Merger [DVB]",
"Frame Set Reindex [DVB]",
"Frame Set Repeat [DVB]",
"Frame Set Reverse [DVB]",
"Frame Set Split Beginning [DVB]",
"Frame Set Split End [DVB]",
"Frame Set Splitter [DVB]",
"Generate Inbetween Frames [DVB]",
"Int Input [DVB]",
"Linear Camera Pan [DVB]",
"Linear Camera Roll [DVB]",
"Linear Camera Zoom [DVB]",
"Load Image From Path [DVB]",
"Multiply [DVB]",
"ODESamplerSelect",
"Sine Camera Pan [DVB]",
"Sine Camera Roll [DVB]",
"Sine Camera Zoom [DVB]",
"String Input [DVB]",
"Text Input [DVB]",
"Trace Memory Allocation [DVB]",
"Unwrap Frame Set [DVB]"
"ODESamplerSelect"
],
{
"author": "RedHotTensors",
@ -2165,6 +2379,23 @@
"title_aux": "comfyui-CLIPSeg"
}
],
"https://github.com/shadowcz007/comfyui-hydit-lowvram": [
[
"DiffusersCLIPLoader",
"DiffusersCheckpointLoader",
"DiffusersClipTextEncode",
"DiffusersControlNetLoader",
"DiffusersLoraLoader",
"DiffusersModelMakeup",
"DiffusersPipelineLoader",
"DiffusersSampler",
"DiffusersSchedulerLoader",
"DiffusersVAELoader"
],
{
"title_aux": "comfyui-hydit"
}
],
"https://github.com/shadowcz007/comfyui-musicgen": [
[
"AudioPlay",
@ -2348,6 +2579,19 @@
"title_aux": "ComfyUI-clip-interrogator [WIP]"
}
],
"https://github.com/walterFeng/ComfyUI-Image-Utils": [
[
"Calculate Image Brightness",
"Calculate Image Contrast",
"Calculate Image Saturation",
"Color Similarity Checker",
"Displace Filter",
"Load Image (By Url)"
],
{
"title_aux": "ComfyUI-Image-Utils"
}
],
"https://github.com/willblaschko/ComfyUI-Unload-Models": [
[
"DeleteAnyObject",

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,80 @@
},
{
"author": "shinich39",
"title": "comfyui-pkg39 [DEPRECATED]",
"reference": "https://github.com/shinich39/comfyui-pkg39",
"files": [
"https://github.com/shinich39/comfyui-pkg39"
],
"install_type": "git-clone",
"description": "This package has created for generate image from generated image and embedded workflow."
},
{
"author": "dnl13",
"title": "ComfyUI-dnl13-seg [DEPRECATED]",
"reference": "https://github.com/dnl13/ComfyUI-dnl13-seg",
"files": [
"https://github.com/dnl13/ComfyUI-dnl13-seg"
],
"install_type": "git-clone",
"description": "After discovering @storyicon implementation here of Segment Anything, I realized its potential as a powerful tool for ComfyUI if implemented correctly. I delved into the SAM and Dino models. The following is my own adaptation of sam_hq for ComfyUI."
},
{
"author": "1038lab",
"title": "ComfyUI-latentSizeSelector [REMOVED]",
"id": "ComfyUI-latentSizeSelector",
"reference": "https://github.com/1038lab/ComfyUI_LatentSizeSelector",
"files": [
"https://github.com/1038lab/ComfyUI_LatentSizeSelector"
],
"install_type": "git-clone",
"description": "You'll get a new node Latent Size Selector, you can pick the x and y sizes from a list."
},
{
"author": "hy134300",
"title": "ComfyUI-PhotoMaker-V2 [REMOVED]",
"reference": "https://github.com/hy134300/ComfyUI-PhotoMaker-V2",
"files": [
"https://github.com/hy134300/ComfyUI-PhotoMaker-V2"
],
"install_type": "git-clone",
"description": "Nodes for PhotoMaker-V2"
},
{
"author": "neverbiasu",
"title": "ComfyUI ImageCaptioner [REMOVED]",
"reference": "https://github.com/neverbiasu/ComfyUI-ImageCaptioner",
"files": [
"https://github.com/neverbiasu/ComfyUI-ImageCaptioner"
],
"install_type": "git-clone",
"description": "A ComfyUI extension for generating captions for your images. Runs on your own system, no external services used, no filter."
},
{
"author": "mingqizhang",
"title": "ComfyUI_InSPyResNet_zmq [REMOVED]",
"id": "inspy",
"reference": "https://github.com/mingqizhang/ComfyUI_InSPyResNet_zmq",
"files": [
"https://github.com/mingqizhang/ComfyUI_InSPyResNet_zmq"
],
"install_type": "git-clone",
"description": "Nodes:INSPY removebg ModelLoader, INSPY RMBG"
},
{
"author": "mingqizhang",
"title": "ComfyUI_AEMatter_zmq [REMOVED]",
"id": "aematter",
"reference": "https://github.com/mingqizhang/ComfyUI_AEMatter_zmq",
"files": [
"https://github.com/mingqizhang/ComfyUI_AEMatter_zmq"
],
"install_type": "git-clone",
"description": "Nodes:AEMatter_ModelLoader, Create_Trimap, AEMatter_Apply, Mask_Transfor, Replace_Background, Gaussian_Filter, Guide_Filter, Improved_Aplha_Composite"
},
{
"author": "bradsec",
"title": "ComfyUI_StringTools [REMOVED]",
@ -462,7 +536,7 @@
"https://github.com/laksjdjf/IPAdapter-ComfyUI"
],
"install_type": "git-clone",
"description": "This custom nodes provides loader of the IP-Adapter model.[w/NOTE: To use this extension node, you need to download the [a/ip-adapter_sd15.bin](https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter_sd15.bin) file and place it in the %%**custom_nodes/IPAdapter-ComfyUI/models**%% directory. Additionally, you need to download the 'Clip vision model' from the 'Install models' menu as well.]<BR>NOTE: Use ComfyUI_IPAdapter_plus instead of this."
"description": "This custom nodes provides loader of the IP-Adapter model.[w/NOTE: To use this extension node, you need to download the [a/ip-adapter_sd15.bin](https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter_sd15.bin) file and place it in the %%**custom_nodes/IPAdapter-ComfyUI/models**%% directory. Additionally, you need to download the 'Clip vision model' from the 'Install models' menu as well.]\nNOTE: Use ComfyUI_IPAdapter_plus instead of this."
},
{
"author": "RockOfFire",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,167 @@
{
"models": [
{
"name": "comfyanonymous/clip_l",
"type": "clip",
"base": "clip",
"save_path": "default",
"description": "clip_l model",
"reference": "https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main",
"filename": "clip_l.safetensors",
"url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
"size": "246MB"
},
{
"name": "Comfy Org/FLUX.1 [dev] Checkpoint model (fp8)",
"type": "checkpoint",
"base": "FLUX.1",
"save_path": "checkpoints/FLUX1",
"description": "FLUX.1 [dev] Checkpoint model (fp8)",
"reference": "https://huggingface.co/Comfy-Org/flux1-dev/tree/main",
"filename": "flux1-dev-fp8.safetensors",
"url": "https://huggingface.co/Comfy-Org/flux1-dev/resolve/main/flux1-dev-fp8.safetensors",
"size": "17.2GB"
},
{
"name": "Comfy Org/FLUX.1 [schnell] Checkpoint model (fp8)",
"type": "checkpoint",
"base": "FLUX.1",
"save_path": "checkpoints/FLUX1",
"description": "FLUX.1 [schnell] Checkpoint model (fp8)",
"reference": "https://huggingface.co/Comfy-Org/flux1-dev/tree/main",
"filename": "flux1-schnell-fp8.safetensors",
"url": "https://huggingface.co/Comfy-Org/flux1-schnell/resolve/main/flux1-schnell-fp8.safetensors",
"size": "17.2GB"
},
{
"name": "google-t5/t5-v1_1-xxl_encoderonly-fp16",
"type": "clip",
"base": "t5",
"save_path": "clip/t5",
"description": "The encoder part of https://huggingface.co/google/t5-v1_1-xxl, used with SD3 and Flux1",
"reference": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly",
"filename": "google_t5-v1_1-xxl_encoderonly-fp16.safetensors",
"url": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly/resolve/main/pytorch_model.safetensors",
"size": "10.1GB"
},
{
"name": "google-t5/t5-v1_1-xxl_encoderonly-fp8_e4m3fn",
"type": "clip",
"base": "t5",
"save_path": "clip/t5",
"description": "The encoder part of https://huggingface.co/google/t5-v1_1-xxl, used with SD3 and Flux1",
"reference": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly",
"filename": "google_t5-v1_1-xxl_encoderonly-fp8_e4m3fn.safetensors",
"url": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly/resolve/main/t5xxl_fp8_e4m3fn.safetensors",
"size": "4.89GB"
},
{
"name": "FLUX.1 [schnell] Diffusion model",
"type": "unet",
"base": "FLUX.1",
"save_path": "unet/FLUX1",
"description": "FLUX.1 [Schnell] Diffusion model (a.k.a. FLUX.1 turbo model)[w/Due to the large size of the model, it is recommended to download it through a browser if possible.]",
"reference": "https://huggingface.co/black-forest-labs/FLUX.1-schnell",
"filename": "flux1-schnell.sft",
"url": "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/flux1-schnell.sft",
"size": "23.8GB"
},
{
"name": "FLUX.1 VAE model",
"type": "vae",
"base": "FLUX.1",
"save_path": "vae/FLUX1",
"description": "FLUX.1 [Schnell] VAE model",
"reference": "https://huggingface.co/black-forest-labs/FLUX.1-schnell",
"filename": "ae.sft",
"url": "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors",
"size": "335MB"
},
{
"name": "kijai/FLUX.1 [schnell] Diffusion model (float8_e4m3fn)",
"type": "unet",
"base": "FLUX.1",
"save_path": "unet/FLUX1",
"description": "FLUX.1 [Schnell] Diffusion model (float8_e4m3fn)",
"reference": "https://huggingface.co/Kijai/flux-fp8",
"filename": "flux1-schnell-fp8.safetensors",
"url": "https://huggingface.co/Kijai/flux-fp8/resolve/main/flux1-schnell-fp8.safetensors",
"size": "11.9GB"
},
{
"name": "kijai/FLUX.1 [dev] Diffusion model (float8_e4m3fn)",
"type": "unet",
"base": "FLUX.1",
"save_path": "unet/FLUX1",
"description": "FLUX.1 [dev] Diffusion model (float8_e4m3fn)",
"reference": "https://huggingface.co/Kijai/flux-fp8",
"filename": "flux1-dev-fp8.safetensors",
"url": "https://huggingface.co/Kijai/flux-fp8/resolve/main/flux1-dev-fp8.safetensors",
"size": "11.9GB"
},
{
"name": "photomaker-v2.bin",
"type": "photomaker",
"base": "SDXL",
"save_path": "photomaker",
"description": "PhotoMaker model. This model is compatible with SDXL.",
"reference": "https://huggingface.co/TencentARC/PhotoMaker-V2",
"filename": "photomaker-v2.bin",
"url": "https://huggingface.co/TencentARC/PhotoMaker-V2/resolve/main/photomaker-v2.bin",
"size": "1.8GB"
},
{
"name": "hunyuan_dit_1.2.safetensors",
"type": "checkpoint",
"base": "Hunyuan-DiT",
"save_path": "checkpoints/hunyuan_dit_comfyui",
"description": "Different versions of HunyuanDIT packaged for ComfyUI use.",
"reference": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui",
"filename": "hunyuan_dit_1.2.safetensors",
"url": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui/resolve/main/hunyuan_dit_1.2.safetensors",
"size": "8.24GB"
},
{
"name": "hunyuan_dit_1.1.safetensors",
"type": "checkpoint",
"base": "Hunyuan-DiT",
"save_path": "checkpoints/hunyuan_dit_comfyui",
"description": "Different versions of HunyuanDIT packaged for ComfyUI use.",
"reference": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui",
"filename": "hunyuan_dit_1.1.safetensors",
"url": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui/resolve/main/hunyuan_dit_1.1.safetensors",
"size": "8.24GB"
},
{
"name": "hunyuan_dit_1.0.safetensors",
"type": "checkpoint",
"base": "Hunyuan-DiT",
"save_path": "checkpoints/hunyuan_dit_comfyui",
"description": "Different versions of HunyuanDIT packaged for ComfyUI use.",
"reference": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui",
"filename": "hunyuan_dit_1.0.safetensors",
"url": "https://huggingface.co/comfyanonymous/hunyuan_dit_comfyui/resolve/main/hunyuan_dit_1.0.safetensors",
"size": "8.24GB"
},
{
"name": "xinsir/ControlNet++: All-in-one ControlNet (ProMax model)",
"type": "controlnet",
"base": "SDXL",
"save_path": "controlnet/SDXL/controlnet-union-sdxl-1.0",
"description": "All-in-one ControlNet for image generations and editing! (ProMax model)",
"reference": "https://huggingface.co/xinsir/controlnet-union-sdxl-1.0",
"filename": "iffusion_pytorch_model_promax.safetensors",
"url": "https://huggingface.co/xinsir/controlnet-union-sdxl-1.0/resolve/main/diffusion_pytorch_model_promax.safetensors",
"size": "2.50GB"
},
{
"name": "xinsir/ControlNet++: All-in-one ControlNet",
"type": "controlnet",
@ -554,157 +716,6 @@
"filename": "antelopev2.zip",
"url": "https://huggingface.co/MonsterMMORPG/tools/resolve/main/antelopev2.zip",
"size": "360.7MB"
},
{
"name": "InstantID/ip-adapter",
"type": "instantid",
"base": "SDXL",
"save_path": "instantid/SDXL",
"description": "ip-adapter model for cubiq/InstantID",
"reference": "https://huggingface.co/InstantX/InstantID",
"filename": "ip-adapter.bin",
"url": "https://huggingface.co/InstantX/InstantID/resolve/main/ip-adapter.bin"
},
{
"name": "InstantID/ControlNet",
"type": "controlnet",
"base": "SDXL",
"save_path": "controlnet/SDXL/instantid",
"description": "instantid controlnet model for cubiq/InstantID",
"reference": "https://huggingface.co/InstantX/InstantID",
"filename": "diffusion_pytorch_model.safetensors",
"url": "https://huggingface.co/InstantX/InstantID/resolve/main/ControlNetModel/diffusion_pytorch_model.safetensors"
},
{
"name": "ip_plus_composition_sd15.safetensors",
"type": "IP-Adapter",
"base": "SD1.5",
"save_path": "ipadapter",
"description": "You can use this model in the [a/ComfyUI IPAdapter plus](https://github.com/cubiq/ComfyUI_IPAdapter_plus) extension.",
"reference": "https://huggingface.co/ostris/ip-composition-adapter",
"filename": "ip_plus_composition_sd15.safetensors",
"url": "https://huggingface.co/ostris/ip-composition-adapter/resolve/main/ip_plus_composition_sd15.safetensors"
},
{
"name": "ip_plus_composition_sdxl.safetensors",
"type": "IP-Adapter",
"base": "SDXL",
"save_path": "ipadapter",
"description": "You can use this model in the [a/ComfyUI IPAdapter plus](https://github.com/cubiq/ComfyUI_IPAdapter_plus) extension.",
"reference": "https://huggingface.co/ostris/ip-composition-adapter",
"filename": "ip_plus_composition_sdxl.safetensors",
"url": "https://huggingface.co/ostris/ip-composition-adapter/resolve/main/ip_plus_composition_sdxl.safetensors"
},
{
"name": "ip-adapter-faceid-portrait-v11_sd15.bin",
"type": "IP-Adapter",
"base": "SD1.5",
"save_path": "ipadapter",
"description": "IP-Adapter-FaceID Portrait V11 Model (SD1.5) [ipadapter]",
"reference": "https://huggingface.co/h94/IP-Adapter-FaceID",
"filename": "ip-adapter-faceid-portrait-v11_sd15.bin",
"url": "https://huggingface.co/h94/IP-Adapter-FaceID/resolve/main/ip-adapter-faceid-portrait-v11_sd15.bin"
},
{
"name": "ip-adapter-faceid-portrait_sdxl.bin",
"type": "IP-Adapter",
"base": "SDXL",
"save_path": "ipadapter",
"description": "IP-Adapter-FaceID Portrait Model (SDXL) [ipadapter]",
"reference": "https://huggingface.co/h94/IP-Adapter-FaceID",
"filename": "ip-adapter-faceid-portrait_sdxl.bin",
"url": "https://huggingface.co/h94/IP-Adapter-FaceID/resolve/main/ip-adapter-faceid-portrait_sdxl.bin"
},
{
"name": "ip-adapter-faceid-portrait_sdxl_unnorm.bin",
"type": "IP-Adapter",
"base": "SDXL",
"save_path": "ipadapter",
"description": "IP-Adapter-FaceID Portrait Model (SDXL/unnorm) [ipadapter]",
"reference": "https://huggingface.co/h94/IP-Adapter-FaceID",
"filename": "ip-adapter-faceid-portrait_sdxl_unnorm.bin",
"url": "https://huggingface.co/h94/IP-Adapter-FaceID/resolve/main/ip-adapter-faceid-portrait_sdxl_unnorm.bin"
},
{
"name": "ip-adapter_sd15_light_v11.bin",
"type": "IP-Adapter",
"base": "SD1.5",
"save_path": "ipadapter",
"description": "You can use this model in the [a/ComfyUI IPAdapter plus](https://github.com/cubiq/ComfyUI_IPAdapter_plus) extension.",
"reference": "https://huggingface.co/h94/IP-Adapter",
"filename": "ip-adapter_sd15_light_v11.bin",
"url": "https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter_sd15_light_v11.bin"
},
{
"name": "Kijai/SUPIR-v0F_fp16.safetensors (pruned)",
"type": "checkpoints",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
"reference": "https://huggingface.co/Kijai/SUPIR_pruned/tree/main",
"filename": "SUPIR-v0F_fp16.safetensors",
"url": "https://huggingface.co/Kijai/SUPIR_pruned/resolve/main/SUPIR-v0F_fp16.safetensors"
},
{
"name": "Kijai/SUPIR-v0Q_fp16.safetensors (pruned)",
"type": "checkpoints",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
"reference": "https://huggingface.co/Kijai/SUPIR_pruned/tree/main",
"filename": "SUPIR-v0Q_fp16.safetensors",
"url": "https://huggingface.co/Kijai/SUPIR_pruned/resolve/main/SUPIR-v0Q_fp16.safetensors"
},
{
"name": "SUPIR-v0F.ckpt",
"type": "checkpoints",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
"reference": "https://huggingface.co/camenduru/SUPIR/tree/main",
"filename": "SUPIR-v0F.ckpt",
"url": "https://huggingface.co/camenduru/SUPIR/resolve/main/SUPIR-v0F.ckpt"
},
{
"name": "SUPIR-v0Q.ckpt",
"type": "checkpoints",
"base": "SUPIR",
"save_path": "checkpoints/SUPIR",
"description": "SUPIR checkpoint model",
"reference": "https://huggingface.co/camenduru/SUPIR/tree/main",
"filename": "SUPIR-v0Q.ckpt",
"url": "https://huggingface.co/camenduru/SUPIR/resolve/main/SUPIR-v0Q.ckpt"
},{
"name": "Depth-FM-v1 fp16 safetensors",
"type": "checkpoints",
"base": "Depth-FM",
"save_path": "checkpoints/depthfm",
"description": "Depth-FM monocular depth estimation model",
"reference": "https://huggingface.co/Kijai/depth-fm-pruned",
"filename": "depthfm-v1_fp16.safetensors",
"url": "https://huggingface.co/Kijai/depth-fm-pruned/resolve/main/depthfm-v1_fp16.safetensors"
},
{
"name": "Depth-FM-v1 fp32 safetensors",
"type": "checkpoints",
"base": "Depth-FM",
"save_path": "checkpoints/depthfm",
"description": "Depth-FM monocular depth estimation model",
"reference": "https://huggingface.co/Kijai/depth-fm-pruned",
"filename": "depthfm-v1_fp32.safetensors",
"url": "https://huggingface.co/Kijai/depth-fm-pruned/resolve/main/depthfm-v1_fp32.safetensors"
},
{
"name": "monster-labs - Controlnet QR Code Monster v1 For SDXL",
"type": "controlnet",
"base": "SDXL",
"save_path": "default",
"description": "monster-labs - Controlnet QR Code Monster v1 For SDXL",
"reference": "https://huggingface.co/monster-labs/control_v1p_sdxl_qrcode_monster",
"filename": "control_v1p_sdxl_qrcode_monster.safetensors",
"url": "https://huggingface.co/monster-labs/control_v1p_sdxl_qrcode_monster/resolve/main/diffusion_pytorch_model.safetensors"
}
]
}

View File

@ -249,6 +249,17 @@
],
"install_type": "git-clone",
"description": "Mira's Simple Wildcard Node"
},
{
"author": "BetaDoggo",
"title": "ComfyUI Tetris",
"id": "tetris",
"reference": "https://github.com/BetaDoggo/ComfyUI-Tetris",
"files": [
"https://github.com/BetaDoggo/ComfyUI-Tetris"
],
"install_type": "git-clone",
"description": "The primitive node and dummy input are required because comfy doesn't accept requests with identical graphs. You'll also need a show text node. I like the one from ComfyUI-Custom-Scripts. I got the generic tetris remake from claude so it may or may not be ripped from somewhere else."
}
]
}

View File

@ -66,10 +66,10 @@
"\n",
"!echo -= Install dependencies =-\n",
"!pip3 install accelerate\n",
"!pip3 install einops transformers>=4.25.1 safetensors>=0.3.0 aiohttp pyyaml Pillow scipy tqdm psutil\n",
"!pip3 install einops transformers>=4.28.1 safetensors>=0.4.2 aiohttp pyyaml Pillow scipy tqdm psutil tokenizers>=0.13.3\n",
"!pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121\n",
"!pip3 install torchsde\n",
"!pip3 install kornia>=0.7.1 spandrel\n",
"!pip3 install kornia>=0.7.1 spandrel soundfile sentencepiece\n",
"\n",
"if OPTIONS['USE_COMFYUI_MANAGER']:\n",
" %cd custom_nodes\n",
@ -228,8 +228,8 @@
},
"outputs": [],
"source": [
"!wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\n",
"!dpkg -i cloudflared-linux-amd64.deb\n",
"!wget -P ~ https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\n",
"!dpkg -i ~/cloudflared-linux-amd64.deb\n",
"\n",
"import subprocess\n",
"import threading\n",
@ -369,4 +369,4 @@
},
"nbformat": 4,
"nbformat_minor": 0
}
}

View File

@ -20,6 +20,7 @@ import cm_global
security_check.security_check()
cm_global.pip_blacklist = ['torch', 'torchsde', 'torchvision']
cm_global.pip_downgrade_blacklist = ['torch', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia']
@ -82,6 +83,7 @@ cm_global.pip_overrides = {}
if os.path.exists(pip_overrides_path):
with open(pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file:
cm_global.pip_overrides = json.load(json_file)
cm_global.pip_overrides['numpy'] = 'numpy<2'
def remap_pip_package(pkg):
@ -447,12 +449,15 @@ def is_installed(name):
if name.startswith('#'):
return True
pattern = r'([^<>!=]+)([<>!=]=?)(.*)'
pattern = r'([^<>!=]+)([<>!=]=?)([0-9.a-zA-Z]*)'
match = re.search(pattern, name)
if match:
name = match.group(1)
if name in cm_global.pip_blacklist:
return True
if name in cm_global.pip_downgrade_blacklist:
pips = get_installed_packages()
@ -531,7 +536,12 @@ if os.path.exists(restore_snapshot_path):
package_name = remap_pip_package(line.strip())
if package_name and not is_installed(package_name):
if not package_name.startswith('#'):
install_cmd = [sys.executable, "-m", "pip", "install", package_name]
if '--index-url' in package_name:
s = package_name.split('--index-url')
install_cmd = [sys.executable, "-m", "pip", "install", s[0].strip(), '--index-url', s[1].strip()]
else:
install_cmd = [sys.executable, "-m", "pip", "install", package_name]
this_exit_code += process_wrap(install_cmd, repo_path)
if os.path.exists(install_script_path) and f'{repo_path}/install.py' not in processed_install:
@ -574,7 +584,12 @@ def execute_lazy_install_script(repo_path, executable):
for line in requirements_file:
package_name = remap_pip_package(line.strip())
if package_name and not is_installed(package_name):
install_cmd = [executable, "-m", "pip", "install", package_name]
if '--index-url' in package_name:
s = package_name.split('--index-url')
install_cmd = [sys.executable, "-m", "pip", "install", s[0].strip(), '--index-url', s[1].strip()]
else:
install_cmd = [sys.executable, "-m", "pip", "install", package_name]
process_wrap(install_cmd, repo_path)
if os.path.exists(install_script_path) and f'{repo_path}/install.py' not in processed_install:

View File

@ -1,8 +1,8 @@
[project]
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."
version = "2.47"
license = "LICENSE"
version = "2.49"
license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
[project.urls]

View File

@ -488,6 +488,7 @@ def gen_json(node_info):
print("------------------------------------------------------")
print(e)
print("------------------------------------------------------")
node_list_json = {}
metadata_in_url = {}
if git_url not in data: