Compare commits
1 Commits
2.55.5
...
refactor/p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34a48fbae4 |
@@ -391,6 +391,7 @@ When you run the `scan.sh` script:
|
|||||||
* https://github.com/SimithWang/comfyui-renameImages
|
* https://github.com/SimithWang/comfyui-renameImages
|
||||||
* https://github.com/Tcheko243/ComfyUI-Photographer-Alpha7-Nodes
|
* https://github.com/Tcheko243/ComfyUI-Photographer-Alpha7-Nodes
|
||||||
* https://github.com/Limbicnation/ComfyUINodeToolbox
|
* https://github.com/Limbicnation/ComfyUINodeToolbox
|
||||||
|
* https://github.com/chenpipi0807/pip_longsize
|
||||||
* https://github.com/APZmedia/ComfyUI-APZmedia-srtTools
|
* https://github.com/APZmedia/ComfyUI-APZmedia-srtTools
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
|
||||||
|
|
||||||
cli_mode_flag = os.path.join(os.path.dirname(__file__), '.enable-cli-only-mode')
|
cli_mode_flag = os.path.join(os.path.dirname(__file__), '.enable-cli-only-mode')
|
||||||
|
|
||||||
if not os.path.exists(cli_mode_flag):
|
if not os.path.exists(cli_mode_flag):
|
||||||
sys.path.append(os.path.join(os.path.dirname(__file__), "glob"))
|
from .glob import manager_server
|
||||||
import manager_server
|
from .glob import share_3rdparty
|
||||||
import share_3rdparty
|
|
||||||
WEB_DIRECTORY = "js"
|
WEB_DIRECTORY = "js"
|
||||||
else:
|
else:
|
||||||
print(f"\n[ComfyUI-Manager] !! cli-only-mode is enabled !!\n")
|
print(f"\n[ComfyUI-Manager] !! cli-only-mode is enabled !!\n")
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
5245
github-stats.json
5245
github-stats.json
File diff suppressed because it is too large
Load Diff
0
glob/__init__.py
Normal file
0
glob/__init__.py
Normal file
174
glob/git_wrapper.py
Normal file
174
glob/git_wrapper.py
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
import pygit2
|
||||||
|
import os
|
||||||
|
from tqdm import tqdm
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
class GitProgress(pygit2.RemoteCallbacks):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.pbar = None
|
||||||
|
|
||||||
|
def transfer_progress(self, stats):
|
||||||
|
if self.pbar is None:
|
||||||
|
self.pbar = tqdm(total=stats.total_objects, unit="obj", desc="Fetching objects")
|
||||||
|
self.pbar.n = stats.received_objects
|
||||||
|
self.pbar.refresh()
|
||||||
|
if stats.received_objects == stats.total_objects:
|
||||||
|
self.pbar.close()
|
||||||
|
self.pbar = None
|
||||||
|
|
||||||
|
|
||||||
|
class Remote:
|
||||||
|
def __init__(self, repo, remote):
|
||||||
|
self.repo = repo
|
||||||
|
self.remote = remote
|
||||||
|
|
||||||
|
def get_default_branch(self, remote_name='origin'):
|
||||||
|
remote = self.repo.remotes[remote_name]
|
||||||
|
remote.fetch() # Fetch latest data from the remote
|
||||||
|
|
||||||
|
# Look for the remote HEAD reference
|
||||||
|
head_ref = f'refs/remotes/{remote_name}/HEAD'
|
||||||
|
if head_ref in self.repo.references:
|
||||||
|
# Resolve the symbolic reference to get the actual branch
|
||||||
|
target_ref = self.repo.references[head_ref].resolve().name
|
||||||
|
return target_ref.replace(f'refs/remotes/{remote_name}/', '')
|
||||||
|
else:
|
||||||
|
raise ValueError(f"Could not determine the default branch for remote '{remote_name}'")
|
||||||
|
|
||||||
|
|
||||||
|
def pull(self, remote_name='origin'):
|
||||||
|
try:
|
||||||
|
# Detect if we are in detached HEAD state
|
||||||
|
if self.repo.head_is_detached:
|
||||||
|
# Find the default branch
|
||||||
|
branch_name = self.get_default_branch(remote_name)
|
||||||
|
|
||||||
|
# Checkout the branch if exists, or create it
|
||||||
|
branch_ref = f"refs/heads/{branch_name}"
|
||||||
|
if branch_ref in self.repo.references:
|
||||||
|
self.repo.checkout(branch_ref)
|
||||||
|
else:
|
||||||
|
# Create and checkout the branch
|
||||||
|
target_commit = self.repo.lookup_reference(f"refs/remotes/{remote_name}/{branch_name}").target
|
||||||
|
self.repo.create_branch(branch_name, self.repo[target_commit])
|
||||||
|
self.repo.checkout(branch_ref)
|
||||||
|
|
||||||
|
# Get the current branch
|
||||||
|
current_branch = self.repo.head.shorthand
|
||||||
|
|
||||||
|
# Fetch from the remote
|
||||||
|
remote = self.repo.remotes[remote_name]
|
||||||
|
remote.fetch()
|
||||||
|
|
||||||
|
# Merge changes from the remote
|
||||||
|
remote_branch_ref = f"refs/remotes/{remote_name}/{current_branch}"
|
||||||
|
remote_branch = self.repo.lookup_reference(remote_branch_ref).target
|
||||||
|
|
||||||
|
self.repo.merge(remote_branch)
|
||||||
|
|
||||||
|
# Check for merge conflicts
|
||||||
|
if self.repo.index.conflicts is not None:
|
||||||
|
print("Merge conflicts detected!")
|
||||||
|
for conflict in self.repo.index.conflicts:
|
||||||
|
print(f"Conflict: {conflict}")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Commit the merge
|
||||||
|
user = self.repo.default_signature
|
||||||
|
merge_commit = self.repo.create_commit(
|
||||||
|
'HEAD',
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
f"Merge branch '{current_branch}' from {remote_name}",
|
||||||
|
self.repo.index.write_tree(),
|
||||||
|
[self.repo.head.target, remote_branch]
|
||||||
|
)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
traceback.print_exc()
|
||||||
|
print(f"An error occurred: {e}")
|
||||||
|
self.repo.state_cleanup() # Clean up the merge state if necessary
|
||||||
|
|
||||||
|
|
||||||
|
class Repo:
|
||||||
|
def __init__(self, repo_path):
|
||||||
|
self.repo = pygit2.Repository(repo_path)
|
||||||
|
|
||||||
|
def remote(self, name="origin"):
|
||||||
|
return Remote(self.repo, self.repo.remotes[name])
|
||||||
|
|
||||||
|
def update_recursive(self):
|
||||||
|
update_submodules(self.repo)
|
||||||
|
|
||||||
|
|
||||||
|
def resolve_repository_state(repo):
|
||||||
|
if repo.is_empty:
|
||||||
|
raise ValueError("Repository is empty. Cannot proceed with submodule update.")
|
||||||
|
|
||||||
|
try:
|
||||||
|
state = repo.state() # Call the state method
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error retrieving repository state: {e}")
|
||||||
|
raise
|
||||||
|
|
||||||
|
if state != pygit2.GIT_REPOSITORY_STATE_NONE:
|
||||||
|
if state in (pygit2.GIT_REPOSITORY_STATE_MERGE, pygit2.GIT_REPOSITORY_STATE_REVERT):
|
||||||
|
print(f"Conflict detected. Cleaning up repository state... {repo.path} / {state}")
|
||||||
|
repo.state_cleanup()
|
||||||
|
print("Repository state cleaned up.")
|
||||||
|
else:
|
||||||
|
raise RuntimeError(f"Unsupported repository state: {state}")
|
||||||
|
|
||||||
|
|
||||||
|
def update_submodules(repo):
|
||||||
|
try:
|
||||||
|
resolve_repository_state(repo)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error resolving repository state: {e}")
|
||||||
|
return
|
||||||
|
|
||||||
|
gitmodules_path = os.path.join(repo.workdir, ".gitmodules")
|
||||||
|
if not os.path.exists(gitmodules_path):
|
||||||
|
return
|
||||||
|
|
||||||
|
with open(gitmodules_path, "r") as f:
|
||||||
|
lines = f.readlines()
|
||||||
|
|
||||||
|
submodules = []
|
||||||
|
submodule_path = None
|
||||||
|
submodule_url = None
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
if line.strip().startswith("[submodule"):
|
||||||
|
if submodule_path and submodule_url:
|
||||||
|
submodules.append((submodule_path, submodule_url))
|
||||||
|
submodule_path = None
|
||||||
|
submodule_url = None
|
||||||
|
elif line.strip().startswith("path ="):
|
||||||
|
submodule_path = line.strip().split("=", 1)[1].strip()
|
||||||
|
elif line.strip().startswith("url ="):
|
||||||
|
submodule_url = line.strip().split("=", 1)[1].strip()
|
||||||
|
|
||||||
|
if submodule_path and submodule_url:
|
||||||
|
submodules.append((submodule_path, submodule_url))
|
||||||
|
|
||||||
|
for path, url in submodules:
|
||||||
|
submodule_repo_path = os.path.join(repo.workdir, path)
|
||||||
|
|
||||||
|
print(f"submodule_repo_path: {submodule_repo_path}")
|
||||||
|
|
||||||
|
if not os.path.exists(submodule_repo_path):
|
||||||
|
print(f"Cloning submodule {path}...")
|
||||||
|
pygit2.clone_repository(url, submodule_repo_path, callbacks=GitProgress())
|
||||||
|
else:
|
||||||
|
print(f"Updating submodule {path}...")
|
||||||
|
submodule_repo = Repo(submodule_repo_path)
|
||||||
|
submodule_repo.remote("origin").pull()
|
||||||
|
|
||||||
|
update_submodules(submodule_repo)
|
||||||
|
|
||||||
|
|
||||||
|
def clone_from(git_url, repo_dir, recursive=True):
|
||||||
|
pygit2.clone_repository(git_url, repo_dir, callbacks=GitProgress())
|
||||||
|
Repo(repo_dir).update_recursive()
|
||||||
@@ -23,7 +23,7 @@ sys.path.append(glob_path)
|
|||||||
import cm_global
|
import cm_global
|
||||||
from manager_util import *
|
from manager_util import *
|
||||||
|
|
||||||
version = [2, 55, 5]
|
version = [2, 53]
|
||||||
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
|
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
|
||||||
|
|
||||||
|
|
||||||
@@ -52,20 +52,8 @@ def get_custom_nodes_paths():
|
|||||||
return [custom_nodes_path]
|
return [custom_nodes_path]
|
||||||
|
|
||||||
|
|
||||||
def get_comfyui_tag():
|
|
||||||
repo = git.Repo(comfy_path)
|
|
||||||
try:
|
|
||||||
return repo.git.describe('--tags')
|
|
||||||
except:
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
comfy_path = os.environ.get('COMFYUI_PATH')
|
comfy_path = os.environ.get('COMFYUI_PATH')
|
||||||
if comfy_path is None:
|
if comfy_path is None:
|
||||||
try:
|
|
||||||
import folder_paths
|
|
||||||
comfy_path = os.path.join(os.path.dirname(folder_paths.__file__))
|
|
||||||
except:
|
|
||||||
comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..'))
|
comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..'))
|
||||||
|
|
||||||
channel_list_path = os.path.join(comfyui_manager_path, 'channels.list')
|
channel_list_path = os.path.join(comfyui_manager_path, 'channels.list')
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ def print_comfyui_version():
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if core.comfy_ui_commit_datetime.date() < core.comfy_ui_required_commit_datetime.date():
|
if core.comfy_ui_commit_datetime.date() < core.comfy_ui_required_commit_datetime.date():
|
||||||
print(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({core.get_comfyui_tag()})[{core.comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n")
|
print(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({core.comfy_ui_revision})[{core.comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n")
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -200,11 +200,7 @@ def print_comfyui_version():
|
|||||||
# <--
|
# <--
|
||||||
|
|
||||||
if current_branch == "master":
|
if current_branch == "master":
|
||||||
version_tag = core.get_comfyui_tag()
|
|
||||||
if version_tag is None:
|
|
||||||
print(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
|
print(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
|
||||||
else:
|
|
||||||
print(f"### ComfyUI Version: {core.get_comfyui_tag()} | Released on '{core.comfy_ui_commit_datetime.date()}'")
|
|
||||||
else:
|
else:
|
||||||
print(f"### ComfyUI Revision: {core.comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
|
print(f"### ComfyUI Revision: {core.comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
|
||||||
except:
|
except:
|
||||||
@@ -252,45 +248,23 @@ import urllib.request
|
|||||||
|
|
||||||
|
|
||||||
def get_model_dir(data):
|
def get_model_dir(data):
|
||||||
if 'download_model_base' in folder_paths.folder_names_and_paths:
|
|
||||||
models_base = folder_paths.folder_names_and_paths['download_model_base'][0][0]
|
|
||||||
else:
|
|
||||||
models_base = folder_paths.models_dir
|
|
||||||
|
|
||||||
def resolve_custom_node(save_path):
|
|
||||||
save_path = save_path[13:] # remove 'custom_nodes/'
|
|
||||||
repo_name = save_path.replace('\\','/').split('/')[0] # get custom node repo name
|
|
||||||
repo_path = core.lookup_installed_custom_nodes(repo_name)
|
|
||||||
if repo_path is not None and repo_path[0]:
|
|
||||||
# Returns the retargeted path based on the actually installed repository
|
|
||||||
return os.path.join(os.path.dirname(repo_path[1]), save_path)
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if data['save_path'] != 'default':
|
if data['save_path'] != 'default':
|
||||||
if '..' in data['save_path'] or data['save_path'].startswith('/'):
|
if '..' in data['save_path'] or data['save_path'].startswith('/'):
|
||||||
print(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.")
|
print(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.")
|
||||||
base_model = os.path.join(models_base, "etc")
|
base_model = os.path.join(folder_paths.models_dir, "etc")
|
||||||
else:
|
else:
|
||||||
if data['save_path'].startswith("custom_nodes"):
|
if data['save_path'].startswith("custom_nodes"):
|
||||||
base_model = resolve_custom_node(data['save_path'])
|
base_model = os.path.join(core.comfy_path, data['save_path'])
|
||||||
if base_model is None:
|
|
||||||
print(f"[ComfyUI-Manager] The target custom node for model download is not installed: {data['save_path']}")
|
|
||||||
return None
|
|
||||||
else:
|
else:
|
||||||
base_model = os.path.join(models_base, data['save_path'])
|
base_model = os.path.join(folder_paths.models_dir, data['save_path'])
|
||||||
else:
|
else:
|
||||||
model_type = data['type']
|
model_type = data['type']
|
||||||
if model_type == "checkpoints" or model_type == "checkpoint":
|
if model_type == "checkpoints" or model_type == "checkpoint":
|
||||||
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
||||||
elif model_type == "unclip":
|
elif model_type == "unclip":
|
||||||
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
|
||||||
elif model_type == "clip" or model_type == "text_encoders":
|
elif model_type == "clip":
|
||||||
if folder_paths.folder_names_and_paths.get("text_encoders"):
|
base_model = folder_paths.folder_names_and_paths["clip"][0][0]
|
||||||
base_model = folder_paths.folder_names_and_paths["text_encoders"][0][0]
|
|
||||||
else:
|
|
||||||
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
|
|
||||||
base_model = folder_paths.folder_names_and_paths["clip"][0][0] # outdated version
|
|
||||||
elif model_type == "VAE":
|
elif model_type == "VAE":
|
||||||
base_model = folder_paths.folder_names_and_paths["vae"][0][0]
|
base_model = folder_paths.folder_names_and_paths["vae"][0][0]
|
||||||
elif model_type == "lora":
|
elif model_type == "lora":
|
||||||
@@ -316,16 +290,13 @@ def get_model_dir(data):
|
|||||||
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
|
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
|
||||||
base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version
|
base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version
|
||||||
else:
|
else:
|
||||||
base_model = os.path.join(models_base, "etc")
|
base_model = os.path.join(folder_paths.models_dir, "etc")
|
||||||
|
|
||||||
return base_model
|
return base_model
|
||||||
|
|
||||||
|
|
||||||
def get_model_path(data):
|
def get_model_path(data):
|
||||||
base_model = get_model_dir(data)
|
base_model = get_model_dir(data)
|
||||||
if base_model is None:
|
|
||||||
return None
|
|
||||||
else:
|
|
||||||
return os.path.join(base_model, data['filename'])
|
return os.path.join(base_model, data['filename'])
|
||||||
|
|
||||||
|
|
||||||
@@ -1207,21 +1178,14 @@ async def get_notice(request):
|
|||||||
|
|
||||||
if match:
|
if match:
|
||||||
markdown_content = match.group(1)
|
markdown_content = match.group(1)
|
||||||
version_tag = core.get_comfyui_tag()
|
|
||||||
if version_tag is None:
|
|
||||||
markdown_content += f"<HR>ComfyUI: {core.comfy_ui_revision}[{comfy_ui_hash[:6]}]({core.comfy_ui_commit_datetime.date()})"
|
markdown_content += f"<HR>ComfyUI: {core.comfy_ui_revision}[{comfy_ui_hash[:6]}]({core.comfy_ui_commit_datetime.date()})"
|
||||||
else:
|
|
||||||
markdown_content += (f"<HR>ComfyUI: {version_tag}<BR>"
|
|
||||||
f" ({core.comfy_ui_commit_datetime.date()})")
|
|
||||||
# markdown_content += f"<BR> ()"
|
# markdown_content += f"<BR> ()"
|
||||||
markdown_content += f"<BR>Manager: {core.version_str}"
|
markdown_content += f"<BR>Manager: {core.version_str}"
|
||||||
|
|
||||||
markdown_content = add_target_blank(markdown_content)
|
markdown_content = add_target_blank(markdown_content)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if core.comfy_ui_commit_datetime == datetime(1900, 1, 1, 0, 0, 0):
|
if core.comfy_ui_required_commit_datetime.date() > core.comfy_ui_commit_datetime.date():
|
||||||
markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI isn\'t git repo.</P>' + markdown_content
|
|
||||||
elif core.comfy_ui_required_commit_datetime.date() > core.comfy_ui_commit_datetime.date():
|
|
||||||
markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI is too OUTDATED!!!</P>' + markdown_content
|
markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI is too OUTDATED!!!</P>' + markdown_content
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
@@ -1321,6 +1285,13 @@ async def load_components(request):
|
|||||||
return web.Response(status=400)
|
return web.Response(status=400)
|
||||||
|
|
||||||
|
|
||||||
|
args.enable_cors_header = "*"
|
||||||
|
if hasattr(PromptServer.instance, "app"):
|
||||||
|
app = PromptServer.instance.app
|
||||||
|
cors_middleware = server.create_cors_middleware(args.enable_cors_header)
|
||||||
|
app.middlewares.append(cors_middleware)
|
||||||
|
|
||||||
|
|
||||||
def sanitize(data):
|
def sanitize(data):
|
||||||
return data.replace("<", "<").replace(">", ">")
|
return data.replace("<", "<").replace(">", ">")
|
||||||
|
|
||||||
|
|||||||
@@ -29,37 +29,12 @@ Detailed information: https://old.reddit.com/r/comfyui/comments/1dbls5n/psa_if_y
|
|||||||
2. Remove files: lolMiner*, 4G_Ethash_Linux_Readme.txt, mine* in ComfyUI dir.
|
2. Remove files: lolMiner*, 4G_Ethash_Linux_Readme.txt, mine* in ComfyUI dir.
|
||||||
|
|
||||||
(Reinstall ComfyUI is recommended.)
|
(Reinstall ComfyUI is recommended.)
|
||||||
""",
|
|
||||||
"ultralytics==8.3.41": f"""
|
|
||||||
Execute following commands:
|
|
||||||
{sys.executable} -m pip uninstall ultralytics
|
|
||||||
{sys.executable} -m pip install ultralytics==8.3.40
|
|
||||||
|
|
||||||
And kill and remove /tmp/ultralytics_runner
|
|
||||||
|
|
||||||
|
|
||||||
The version 8.3.41 to 8.3.42 of the Ultralytics package you installed is compromised. Please uninstall that version and reinstall the latest version.
|
|
||||||
https://blog.comfy.org/comfyui-statement-on-the-ultralytics-crypto-miner-situation/
|
|
||||||
""",
|
|
||||||
"ultralytics==8.3.42": f"""
|
|
||||||
Execute following commands:
|
|
||||||
{sys.executable} -m pip uninstall ultralytics
|
|
||||||
{sys.executable} -m pip install ultralytics==8.3.40
|
|
||||||
|
|
||||||
And kill and remove /tmp/ultralytics_runner
|
|
||||||
|
|
||||||
|
|
||||||
The version 8.3.41 to 8.3.42 of the Ultralytics package you installed is compromised. Please uninstall that version and reinstall the latest version.
|
|
||||||
https://blog.comfy.org/comfyui-statement-on-the-ultralytics-crypto-miner-situation/
|
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
||||||
node_blacklist = {"ComfyUI_LLMVISION": "ComfyUI_LLMVISION"}
|
node_blacklist = {"ComfyUI_LLMVISION": "ComfyUI_LLMVISION"}
|
||||||
|
|
||||||
pip_blacklist = {
|
pip_blacklist = {"AppleBotzz": "ComfyUI_LLMVISION"}
|
||||||
"AppleBotzz": "ComfyUI_LLMVISION",
|
|
||||||
"ultralytics==8.3.41": "ultralytics==8.3.41"
|
|
||||||
}
|
|
||||||
|
|
||||||
file_blacklist = {
|
file_blacklist = {
|
||||||
"ComfyUI_LLMVISION": ["%LocalAppData%\\rundll64.exe"],
|
"ComfyUI_LLMVISION": ["%LocalAppData%\\rundll64.exe"],
|
||||||
|
|||||||
@@ -4499,7 +4499,7 @@
|
|||||||
{
|
{
|
||||||
"name": "pulid_flux_v0.9.1.safetensors",
|
"name": "pulid_flux_v0.9.1.safetensors",
|
||||||
"type": "PuLID",
|
"type": "PuLID",
|
||||||
"base": "FLUX.1",
|
"base": "FLUX",
|
||||||
"save_path": "pulid",
|
"save_path": "pulid",
|
||||||
"description": "This is required for PuLID (FLUX)",
|
"description": "This is required for PuLID (FLUX)",
|
||||||
"reference": "https://huggingface.co/guozinan/PuLID",
|
"reference": "https://huggingface.co/guozinan/PuLID",
|
||||||
|
|||||||
@@ -14,257 +14,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
"author": "kijai",
|
|
||||||
"title": "ComfyUI-MMAudio",
|
|
||||||
"reference": "https://github.com/kijai/ComfyUI-MMAudio",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/kijai/ComfyUI-MMAudio"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "ComfyUI nodes to use [a/MMAudio](https://github.com/hkchengrex/MMAudio)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Aksaz",
|
|
||||||
"title": "seamless-clone-comfyui",
|
|
||||||
"reference": "https://github.com/Aksaz/seamless-clone-comfyui",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Aksaz/seamless-clone-comfyui"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Seamless Cloning"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "kuschanow",
|
|
||||||
"title": "ComfyUI-SD-Slicer",
|
|
||||||
"reference": "https://github.com/kuschanow/ComfyUI-SD-Slicer",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/kuschanow/ComfyUI-SD-Slicer"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Slicer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "ralonsobeas",
|
|
||||||
"title": "ComfyUI-HDRConversion [WIP]",
|
|
||||||
"reference": "https://github.com/ralonsobeas/ComfyUI-HDRConversion",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/ralonsobeas/ComfyUI-HDRConversion"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Generate HDR image"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Matrix-King-Studio",
|
|
||||||
"title": "ComfyUI-MoviePy",
|
|
||||||
"reference": "https://github.com/Matrix-King-Studio/ComfyUI-MoviePy",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Matrix-King-Studio/ComfyUI-MoviePy"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Image Clip Node, Audio Duration Node, Save Video Node"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "oxysoft",
|
|
||||||
"title": "ComfyUI-uiapi",
|
|
||||||
"reference": "https://github.com/oxysoft/ComfyUI-uiapi",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/oxysoft/ComfyUI-uiapi"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "UIAPI is an intermediate and frontend plugin which allow communicating with the Comfy webui through server connection. This saves the need to export a workflow.json and instead directly sending a queue command to the frontend. This way, the user can experiment in realtime as they are running some professional industry or rendering software which uses UIAPI / ComfyUI as a backend. There is no way to switch seamlessly between UIAPI and regular server connection - though as of late summer 2023 it was inferior to use the server connection because the server would constantly unload models and start from scratch, and the schema of the workfow json was completely different and much less convenient, losing crucial information for efficient querying of nodes and assigning data dynamically."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "esciron",
|
|
||||||
"title": "ComfyUI-HunyuanVideoWrapper-Extended [WIP]",
|
|
||||||
"reference": "https://github.com/esciron/ComfyUI-HunyuanVideoWrapper-Extended",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/esciron/ComfyUI-HunyuanVideoWrapper-Extended"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Extended ComfyUI wrapper nodes for [a/HunyuanVideo](https://github.com/Tencent/HunyuanVideo)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "hotpot-killer",
|
|
||||||
"title": "ComfyUI_AlexNodes",
|
|
||||||
"reference": "https://github.com/hotpot-killer/ComfyUI_AlexNodes",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/hotpot-killer/ComfyUI_AlexNodes"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: InstructPG - editing images with text prompt, ...\nNOTE: The files in the repo are not organized."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "pschroedl",
|
|
||||||
"title": "ComfyUI-StreamDiffusion",
|
|
||||||
"reference": "https://github.com/pschroedl/ComfyUI-StreamDiffusion",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/pschroedl/ComfyUI-StreamDiffusion"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: StreamDiffusionConfig, StreamDiffusionAccelerationSampler, StreamDiffusionLoraLoader, StreamDiffusionAccelerationConfig, StreamDiffusionSimilarityFilterConfig, StreamDiffusionModelLoader, ..."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "jefferyharrell",
|
|
||||||
"title": "ComfyUI-JHXMP",
|
|
||||||
"reference": "https://github.com/jefferyharrell/ComfyUI-JHXMP",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/jefferyharrell/ComfyUI-JHXMP"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Save Image With XMP Metadata"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "c0ffymachyne",
|
|
||||||
"title": "ComfyUI Signal Processing [WIP]",
|
|
||||||
"reference": "https://github.com/c0ffymachyne/ComfyUI_SignalProcessing",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/c0ffymachyne/ComfyUI_SignalProcessing"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This repo contains signal processing nodes for ComfyUI allowing for audio manipulation."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "wjl0313",
|
|
||||||
"title": "ComfyUI_KimNodes [WIP]",
|
|
||||||
"reference": "https://github.com/wjl0313/ComfyUI_KimNodes",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/wjl0313/ComfyUI_KimNodes"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Distribute_Icons, IconDistributeByGrid, YOLO_Crop, Crop_Paste, KimFilter\nNOTE: The files in the repo are not organized."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Aksaz",
|
|
||||||
"title": "seamless-clone-comfyui",
|
|
||||||
"reference": "https://github.com/Aksaz/seamless-clone-comfyui",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Aksaz/seamless-clone-comfyui"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Seamless Cloning"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Junst",
|
|
||||||
"title": "ComfyUI-PNG2SVG2PNG",
|
|
||||||
"reference": "https://github.com/Junst/ComfyUI-PNG2SVG2PNG",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Junst/ComfyUI-PNG2SVG2PNG"
|
|
||||||
],
|
|
||||||
"description": "NODES:PNG2SVG2PNG",
|
|
||||||
"install_type": "git-clone"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "animEEEmpire",
|
|
||||||
"title": "ComfyUI-Animemory-Loader",
|
|
||||||
"reference": "https://github.com/animEEEmpire/ComfyUI-Animemory-Loader",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/animEEEmpire/ComfyUI-Animemory-Loader"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "AniMemory-alpha Custom Node for ComfyUI"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "ShahFaisalWani",
|
|
||||||
"title": "ComfyUI-Mojen-Nodeset",
|
|
||||||
"reference": "https://github.com/ShahFaisalWani/ComfyUI-Mojen-Nodeset",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/ShahFaisalWani/ComfyUI-Mojen-Nodeset"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: MojenLogPercent, MojenTagProcessor, MojenStyleExtractor, MojenAnalyzeProcessor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "kijai",
|
|
||||||
"title": "ComfyUI-HunyuanVideoWrapper [WIP]",
|
|
||||||
"reference": "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/kijai/ComfyUI-HunyuanVideoWrapper"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "ComfyUI wrapper nodes for [a/HunyuanVideo](https://github.com/Tencent/HunyuanVideo)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "grimli333",
|
|
||||||
"title": "ComfyUI_Grim",
|
|
||||||
"reference": "https://github.com/grimli333/ComfyUI_Grim",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/grimli333/ComfyUI_Grim"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Generate a unique filename and folder name, Format Strings with Two Inputs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "risunobushi",
|
|
||||||
"title": "ComfyUI_FocusMask",
|
|
||||||
"reference": "https://github.com/risunobushi/ComfyUI_FocusMask",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/risunobushi/ComfyUI_FocusMask"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Extract Focus Mask"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "RicherdLee",
|
|
||||||
"title": "comfyui-oss-image-save [WIP]",
|
|
||||||
"reference": "https://github.com/RicherdLee/comfyui-oss-image-save",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/RicherdLee/comfyui-oss-image-save"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: SaveImageOSS."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Matrix-King-Studio",
|
|
||||||
"title": "ComfyUI-MoviePy",
|
|
||||||
"reference": "https://github.com/Matrix-King-Studio/ComfyUI-MoviePy",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Matrix-King-Studio/ComfyUI-MoviePy"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: Image Clip Node, Audio Duration Node, Save Video Node,..."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "sh570655308",
|
|
||||||
"title": "ComfyUI-GigapixelAI [WIP]",
|
|
||||||
"reference": "https://github.com/sh570655308/ComfyUI-GigapixelAI",
|
|
||||||
"pip": ["GigapixelAI>=7.3.0"],
|
|
||||||
"files": [
|
|
||||||
"https://github.com/sh570655308/ComfyUI-GigapixelAI"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "custom nodes use gigapixelai ai in comfyui Thanks @choey for the https://github.com/choey/Comfy-Topaz nodes helps me a lot\nRequirements: Licensed installation of Gigapixel 8: the path of gigapixel.exe is in the installation folder of Topaz Gigapixel AI, manually fill it if your installation is not default. Need GigapixelAI>=7.3.0\nNOTE: The files in the repo are not organized."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "Big Idea Technology",
|
|
||||||
"title": "ComfyUI-Movie-Tools [WIP]",
|
|
||||||
"reference": "https://github.com/Big-Idea-Technology/ComfyUI-Movie-Tools",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/Big-Idea-Technology/ComfyUI-Movie-Tools"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Movie Tools is a set of custom nodes, designed to simplify saving and loading batches of images with enhanced functionality like subfolder management and batch image handling."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "ArthusLiang",
|
|
||||||
"title": "comfyui-face-remap [WIP]",
|
|
||||||
"reference": "https://github.com/ArthusLiang/comfyui-face-remap",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/ArthusLiang/comfyui-face-remap"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "NODES: FaceRemap\nNOTE: The files in the repo are not organized."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "trithemius",
|
|
||||||
"title": "ComfyUI-SmolVLM [WIP]",
|
|
||||||
"reference": "https://github.com/mamorett/ComfyUI-SmolVLM",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/mamorett/ComfyUI-SmolVLM"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Nodes to use SmolVLM for image tagging and captioning.\nNOTE: The files in the repo are not organized."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "anze",
|
"author": "anze",
|
||||||
"title": "ComfyUI-OIDN [WIP]",
|
"title": "ComfyUI-OIDN [WIP]",
|
||||||
@@ -305,6 +54,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "NODES: Add Mask For IC Lora x"
|
"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",
|
"author": "exectails",
|
||||||
"title": "Scripting",
|
"title": "Scripting",
|
||||||
@@ -3039,6 +2798,16 @@
|
|||||||
"install_type": "git-clone",
|
"install_type": "git-clone",
|
||||||
"description": "Nodes:PythonScript, BlendImagesWithBoundedMasks, CropImagesWithMasks, VAELoaderDataType, ModelSamplerTonemapNoiseTest, gcLatentTunnel, ReferenceOnlySimple, EmptyImageWithColor, MaskFromColor, SetLatentCustomNoise, LatentToImage, ImageToLatent, LatentScaledNoise, DisplayAnyType, SamplerCustomCallback, CustomCallback, SplitCustomSigmas, SamplerDPMPP_2M_SDE_nidefawl, LatentPerlinNoise.<BR>[w/This node is an unsafe node that includes the capability to execute arbitrary python script.]"
|
"description": "Nodes:PythonScript, BlendImagesWithBoundedMasks, CropImagesWithMasks, VAELoaderDataType, ModelSamplerTonemapNoiseTest, gcLatentTunnel, ReferenceOnlySimple, EmptyImageWithColor, MaskFromColor, SetLatentCustomNoise, LatentToImage, ImageToLatent, LatentScaledNoise, DisplayAnyType, SamplerCustomCallback, CustomCallback, SplitCustomSigmas, SamplerDPMPP_2M_SDE_nidefawl, LatentPerlinNoise.<BR>[w/This node is an unsafe node that includes the capability to execute arbitrary python script.]"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"author": "kadirnar",
|
||||||
|
"title": "comfyui_hub",
|
||||||
|
"reference": "https://github.com/kadirnar/comfyui_hub",
|
||||||
|
"files": [
|
||||||
|
"https://github.com/kadirnar/comfyui_hub"
|
||||||
|
],
|
||||||
|
"install_type": "git-clone",
|
||||||
|
"description": "A collection of nodes randomly selected and gathered, related to noise. NOTE: SD-Advanced-Noise, noise_latent_perlinpinpin, comfy-plasma"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"author": "foglerek",
|
"author": "foglerek",
|
||||||
"title": "comfyui-cem-tools",
|
"title": "comfyui-cem-tools",
|
||||||
|
|||||||
@@ -319,14 +319,6 @@
|
|||||||
"title_aux": "comfyui-textools [WIP]"
|
"title_aux": "comfyui-textools [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Aksaz/seamless-clone-comfyui": [
|
|
||||||
[
|
|
||||||
"Seamless Cloning"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "seamless-clone-comfyui"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/AlexXi19/ComfyUI-OpenAINode": [
|
"https://github.com/AlexXi19/ComfyUI-OpenAINode": [
|
||||||
[
|
[
|
||||||
"ImageWithPrompt",
|
"ImageWithPrompt",
|
||||||
@@ -374,14 +366,6 @@
|
|||||||
"title_aux": "ComfyUI_deepDeband [WIP]"
|
"title_aux": "ComfyUI_deepDeband [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/ArthusLiang/comfyui-face-remap": [
|
|
||||||
[
|
|
||||||
"FaceRemap"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "comfyui-face-remap [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/BadCafeCode/execution-inversion-demo-comfyui": [
|
"https://github.com/BadCafeCode/execution-inversion-demo-comfyui": [
|
||||||
[
|
[
|
||||||
"AccumulateNode",
|
"AccumulateNode",
|
||||||
@@ -450,15 +434,6 @@
|
|||||||
"title_aux": "ComfyUI-LogicGates"
|
"title_aux": "ComfyUI-LogicGates"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Big-Idea-Technology/ComfyUI-Movie-Tools": [
|
|
||||||
[
|
|
||||||
"LoadImagesFromSubdirsBatch",
|
|
||||||
"SaveImagesWithSubfolder"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-Movie-Tools [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/BlueDangerX/ComfyUI-BDXNodes": [
|
"https://github.com/BlueDangerX/ComfyUI-BDXNodes": [
|
||||||
[
|
[
|
||||||
"BDXTestInt",
|
"BDXTestInt",
|
||||||
@@ -679,7 +654,6 @@
|
|||||||
"AppIO_ImageInputFromID",
|
"AppIO_ImageInputFromID",
|
||||||
"AppIO_ImageOutput",
|
"AppIO_ImageOutput",
|
||||||
"AppIO_IntegerInput",
|
"AppIO_IntegerInput",
|
||||||
"AppIO_ResizeInstanceAndPaste",
|
|
||||||
"AppIO_ResizeInstanceImageMask",
|
"AppIO_ResizeInstanceImageMask",
|
||||||
"AppIO_StringInput",
|
"AppIO_StringInput",
|
||||||
"AppIO_StringOutput"
|
"AppIO_StringOutput"
|
||||||
@@ -786,12 +760,14 @@
|
|||||||
"https://github.com/JichaoLiang/Immortal_comfyUI": [
|
"https://github.com/JichaoLiang/Immortal_comfyUI": [
|
||||||
[
|
[
|
||||||
"AppendNode",
|
"AppendNode",
|
||||||
|
"ApplyVoiceConversion",
|
||||||
"CombineVideos",
|
"CombineVideos",
|
||||||
"ImAppendFreeChatAction",
|
"ImAppendFreeChatAction",
|
||||||
"ImAppendImageActionNode",
|
"ImAppendImageActionNode",
|
||||||
"ImAppendQuickbackNode",
|
"ImAppendQuickbackNode",
|
||||||
"ImAppendQuickbackVideoNode",
|
"ImAppendQuickbackVideoNode",
|
||||||
"ImAppendVideoNode",
|
"ImAppendVideoNode",
|
||||||
|
"ImApplyWav2lip",
|
||||||
"ImDumpEntity",
|
"ImDumpEntity",
|
||||||
"ImDumpNode",
|
"ImDumpNode",
|
||||||
"ImLoadPackage",
|
"ImLoadPackage",
|
||||||
@@ -833,14 +809,6 @@
|
|||||||
"title_aux": "comfy-consistency-vae"
|
"title_aux": "comfy-consistency-vae"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Junst/ComfyUI-PNG2SVG2PNG": [
|
|
||||||
[
|
|
||||||
"PNG2SVG2PNG"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-PNG2SVG2PNG"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack": [
|
"https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack": [
|
||||||
[
|
[
|
||||||
"Brightness Image",
|
"Brightness Image",
|
||||||
@@ -986,16 +954,6 @@
|
|||||||
"title_aux": "ComfyUI Nodes for Inference.Core"
|
"title_aux": "ComfyUI Nodes for Inference.Core"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/Matrix-King-Studio/ComfyUI-MoviePy": [
|
|
||||||
[
|
|
||||||
"AudioDurationNode",
|
|
||||||
"ImageClipNode",
|
|
||||||
"SaveVideoNode"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-MoviePy"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/MrAdamBlack/CheckProgress": [
|
"https://github.com/MrAdamBlack/CheckProgress": [
|
||||||
[
|
[
|
||||||
"CHECK_PROGRESS"
|
"CHECK_PROGRESS"
|
||||||
@@ -1023,8 +981,6 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/PnthrLeo/comfyUI-image-search": [
|
"https://github.com/PnthrLeo/comfyUI-image-search": [
|
||||||
[
|
[
|
||||||
"AreasGenerator",
|
|
||||||
"BatchImageGetter",
|
|
||||||
"CloseImagesSearcher"
|
"CloseImagesSearcher"
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
@@ -1092,14 +1048,6 @@
|
|||||||
"title_aux": "ComfyUI-QuasimondoNodes [WIP]"
|
"title_aux": "ComfyUI-QuasimondoNodes [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/RicherdLee/comfyui-oss-image-save": [
|
|
||||||
[
|
|
||||||
"SaveImageOSS"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "comfyui-oss-image-save [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/RobeSantoro/ComfyUI-RobeNodes": [
|
"https://github.com/RobeSantoro/ComfyUI-RobeNodes": [
|
||||||
[
|
[
|
||||||
"List Image Path \ud83d\udc24",
|
"List Image Path \ud83d\udc24",
|
||||||
@@ -1164,17 +1112,6 @@
|
|||||||
"title_aux": "ComfyUI-SeedV-Nodes [UNSAFE]"
|
"title_aux": "ComfyUI-SeedV-Nodes [UNSAFE]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/ShahFaisalWani/ComfyUI-Mojen-Nodeset": [
|
|
||||||
[
|
|
||||||
"MojenAnalyzeProcessor",
|
|
||||||
"MojenLogPercent",
|
|
||||||
"MojenStyleExtractor",
|
|
||||||
"MojenTagProcessor"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-Mojen-Nodeset"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/Shinsplat/ComfyUI-Shinsplat": [
|
"https://github.com/Shinsplat/ComfyUI-Shinsplat": [
|
||||||
[
|
[
|
||||||
"Clip Text Encode (Shinsplat)",
|
"Clip Text Encode (Shinsplat)",
|
||||||
@@ -1426,14 +1363,6 @@
|
|||||||
"title_aux": "Dream Project Video Batches [WIP]"
|
"title_aux": "Dream Project Video Batches [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/animEEEmpire/ComfyUI-Animemory-Loader": [
|
|
||||||
[
|
|
||||||
"AnimemoryNode"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-Animemory-Loader"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/aria1th/ComfyUI-SkipCFGSigmas": [
|
"https://github.com/aria1th/ComfyUI-SkipCFGSigmas": [
|
||||||
[
|
[
|
||||||
"CFGControl_SKIPCFG"
|
"CFGControl_SKIPCFG"
|
||||||
@@ -1728,29 +1657,6 @@
|
|||||||
"title_aux": "brycegoh/comfyui-custom-nodes"
|
"title_aux": "brycegoh/comfyui-custom-nodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/c0ffymachyne/ComfyUI_SignalProcessing": [
|
|
||||||
[
|
|
||||||
"SignalProcessingBaxandall3BandEQ",
|
|
||||||
"SignalProcessingBaxandallEQ",
|
|
||||||
"SignalProcessingConvolutionReverb",
|
|
||||||
"SignalProcessingFilter",
|
|
||||||
"SignalProcessingHarmonicsEnhancer",
|
|
||||||
"SignalProcessingLoadAudio",
|
|
||||||
"SignalProcessingLoudness",
|
|
||||||
"SignalProcessingMixdown",
|
|
||||||
"SignalProcessingNormalizer",
|
|
||||||
"SignalProcessingPadSynth",
|
|
||||||
"SignalProcessingPadSynthChoir",
|
|
||||||
"SignalProcessingPaulStretch",
|
|
||||||
"SignalProcessingPitchShifter",
|
|
||||||
"SignalProcessingSpectrogram",
|
|
||||||
"SignalProcessingStereoWidening",
|
|
||||||
"SignalProcessingWaveform"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI Signal Processing [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/celll1/cel_sampler": [
|
"https://github.com/celll1/cel_sampler": [
|
||||||
[
|
[
|
||||||
"latent_tracker"
|
"latent_tracker"
|
||||||
@@ -1787,10 +1693,11 @@
|
|||||||
[
|
[
|
||||||
"CombineStrings",
|
"CombineStrings",
|
||||||
"JSONParser",
|
"JSONParser",
|
||||||
|
"OSSClient",
|
||||||
|
"OSSUploader",
|
||||||
"StepFunClient",
|
"StepFunClient",
|
||||||
"TextImageChat",
|
"TextImageChat",
|
||||||
"VideoChat",
|
"VideoChat"
|
||||||
"VideoFileUploader"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "ComfyUI_StepFun"
|
"title_aux": "ComfyUI_StepFun"
|
||||||
@@ -2272,24 +2179,6 @@
|
|||||||
"title_aux": "guidance_interval"
|
"title_aux": "guidance_interval"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/esciron/ComfyUI-HunyuanVideoWrapper-Extended": [
|
|
||||||
[
|
|
||||||
"DownloadAndLoadHyVideoTextEncoder",
|
|
||||||
"HyVideoBlockSwap",
|
|
||||||
"HyVideoCustomPromptTemplate",
|
|
||||||
"HyVideoDecode",
|
|
||||||
"HyVideoEncode",
|
|
||||||
"HyVideoModelLoader",
|
|
||||||
"HyVideoSTG",
|
|
||||||
"HyVideoSampler",
|
|
||||||
"HyVideoTextEncode",
|
|
||||||
"HyVideoTorchCompileSettings",
|
|
||||||
"HyVideoVAELoader"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-HunyuanVideoWrapper-Extended [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/evolox/ComfyUI-GeneraNodes": [
|
"https://github.com/evolox/ComfyUI-GeneraNodes": [
|
||||||
[
|
[
|
||||||
"Genera.BatchPreviewer",
|
"Genera.BatchPreviewer",
|
||||||
@@ -2393,15 +2282,6 @@
|
|||||||
"title_aux": "ComfyUI-Tools-Video-Combine [WIP]"
|
"title_aux": "ComfyUI-Tools-Video-Combine [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/grimli333/ComfyUI_Grim": [
|
|
||||||
[
|
|
||||||
"GenerateFileName",
|
|
||||||
"TwoStringsFormat"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_Grim"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/haodman/ComfyUI_Rain": [
|
"https://github.com/haodman/ComfyUI_Rain": [
|
||||||
[
|
[
|
||||||
"Rain_ImageSize",
|
"Rain_ImageSize",
|
||||||
@@ -2512,14 +2392,6 @@
|
|||||||
"title_aux": "ComfyUI-WaterMark-Detector"
|
"title_aux": "ComfyUI-WaterMark-Detector"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/hotpot-killer/ComfyUI_AlexNodes": [
|
|
||||||
[
|
|
||||||
"InstructPG"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_AlexNodes"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/houdinii/comfy-magick": [
|
"https://github.com/houdinii/comfy-magick": [
|
||||||
[
|
[
|
||||||
"AdaptiveBlur",
|
"AdaptiveBlur",
|
||||||
@@ -2639,14 +2511,6 @@
|
|||||||
"title_aux": "ComfyUI-LuminaNext [WIP]"
|
"title_aux": "ComfyUI-LuminaNext [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/jefferyharrell/ComfyUI-JHXMP": [
|
|
||||||
[
|
|
||||||
"JHSaveImageWithXMPMetadata"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-JHXMP"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/jgbrblmd/ComfyUI-ComfyFluxSize": [
|
"https://github.com/jgbrblmd/ComfyUI-ComfyFluxSize": [
|
||||||
[
|
[
|
||||||
"ComfyFluxSize"
|
"ComfyFluxSize"
|
||||||
@@ -2796,6 +2660,35 @@
|
|||||||
"title_aux": "ComfyUI-Adapter [WIP]"
|
"title_aux": "ComfyUI-Adapter [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"https://github.com/kadirnar/comfyui_hub": [
|
||||||
|
[
|
||||||
|
"CircularVAEDecode",
|
||||||
|
"CustomKSamplerAdvancedTile",
|
||||||
|
"JDC_AutoContrast",
|
||||||
|
"JDC_BlendImages",
|
||||||
|
"JDC_BrownNoise",
|
||||||
|
"JDC_Contrast",
|
||||||
|
"JDC_EqualizeGrey",
|
||||||
|
"JDC_GaussianBlur",
|
||||||
|
"JDC_GreyNoise",
|
||||||
|
"JDC_Greyscale",
|
||||||
|
"JDC_ImageLoader",
|
||||||
|
"JDC_ImageLoaderMeta",
|
||||||
|
"JDC_PinkNoise",
|
||||||
|
"JDC_Plasma",
|
||||||
|
"JDC_PlasmaSampler",
|
||||||
|
"JDC_PowerImage",
|
||||||
|
"JDC_RandNoise",
|
||||||
|
"JDC_ResizeFactor",
|
||||||
|
"LatentGaussianNoise",
|
||||||
|
"LatentToRGB",
|
||||||
|
"MathEncode",
|
||||||
|
"NoisyLatentPerlin"
|
||||||
|
],
|
||||||
|
{
|
||||||
|
"title_aux": "comfyui_hub"
|
||||||
|
}
|
||||||
|
],
|
||||||
"https://github.com/kappa54m/ComfyUI_Usability": [
|
"https://github.com/kappa54m/ComfyUI_Usability": [
|
||||||
[
|
[
|
||||||
"KLoadImageByPath",
|
"KLoadImageByPath",
|
||||||
@@ -2871,35 +2764,6 @@
|
|||||||
"title_aux": "ComfyUI-FollowYourEmojiWrapper [WIP]"
|
"title_aux": "ComfyUI-FollowYourEmojiWrapper [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": [
|
|
||||||
[
|
|
||||||
"DownloadAndLoadHyVideoTextEncoder",
|
|
||||||
"HyVideoBlockSwap",
|
|
||||||
"HyVideoCustomPromptTemplate",
|
|
||||||
"HyVideoDecode",
|
|
||||||
"HyVideoEncode",
|
|
||||||
"HyVideoModelLoader",
|
|
||||||
"HyVideoSTG",
|
|
||||||
"HyVideoSampler",
|
|
||||||
"HyVideoTextEncode",
|
|
||||||
"HyVideoTorchCompileSettings",
|
|
||||||
"HyVideoVAELoader"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-HunyuanVideoWrapper [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/kijai/ComfyUI-MMAudio": [
|
|
||||||
[
|
|
||||||
"MMAudioFeatureUtilsLoader",
|
|
||||||
"MMAudioModelLoader",
|
|
||||||
"MMAudioSampler",
|
|
||||||
"MMAudioVoCoderLoader"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-MMAudio"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/kijai/ComfyUI-MochiWrapper": [
|
"https://github.com/kijai/ComfyUI-MochiWrapper": [
|
||||||
[
|
[
|
||||||
"DownloadAndLoadMochiModel",
|
"DownloadAndLoadMochiModel",
|
||||||
@@ -2951,36 +2815,12 @@
|
|||||||
"https://github.com/kostenickj/comfyui-jk-easy-nodes": [
|
"https://github.com/kostenickj/comfyui-jk-easy-nodes": [
|
||||||
[
|
[
|
||||||
"EasyHRFix",
|
"EasyHRFix",
|
||||||
"EasyHRFix_Context",
|
"JKAnythingToString"
|
||||||
"JKAnythingToString",
|
|
||||||
"JKBigContext",
|
|
||||||
"JKDynamicThresholdingMultiModel",
|
|
||||||
"JKEasyCheckpointLoader",
|
|
||||||
"JKEasyDetailer",
|
|
||||||
"JKEasyDetailer_Context",
|
|
||||||
"JKEasyKSampler_Context",
|
|
||||||
"JKEasyWatermark",
|
|
||||||
"JKInspireSchedulerAdapter",
|
|
||||||
"JKLilContext",
|
|
||||||
"JKMultiModelSamplerUnpatch",
|
|
||||||
"JKStringEmpty",
|
|
||||||
"JKStringEquals",
|
|
||||||
"JKStringNotEmpty",
|
|
||||||
"JKStringNotEquals",
|
|
||||||
"JKStringToSamplerAdapter"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "comfyui-jk-easy-nodes"
|
"title_aux": "comfyui-jk-easy-nodes"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/kuschanow/ComfyUI-SD-Slicer": [
|
|
||||||
[
|
|
||||||
"SdSlicer"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-SD-Slicer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/kxh/ComfyUI-ImageUpscaleWithModelMultipleTimes": [
|
"https://github.com/kxh/ComfyUI-ImageUpscaleWithModelMultipleTimes": [
|
||||||
[
|
[
|
||||||
"ImageUpscaleWithModelMultipleTimes"
|
"ImageUpscaleWithModelMultipleTimes"
|
||||||
@@ -3225,17 +3065,6 @@
|
|||||||
"title_aux": "comfyui_indieTools [WIP]"
|
"title_aux": "comfyui_indieTools [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/mamorett/ComfyUI-SmolVLM": [
|
|
||||||
[
|
|
||||||
"Smolvlm_Caption_Analyzer",
|
|
||||||
"Smolvlm_Flux_CLIPTextEncode",
|
|
||||||
"Smolvlm_SaveTags",
|
|
||||||
"Smolvlm_Tagger"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-SmolVLM [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/marcueberall/ComfyUI-BuildPath": [
|
"https://github.com/marcueberall/ComfyUI-BuildPath": [
|
||||||
[
|
[
|
||||||
"Build Path Adv"
|
"Build Path Adv"
|
||||||
@@ -3291,9 +3120,7 @@
|
|||||||
"Add zSNR Sigma max",
|
"Add zSNR Sigma max",
|
||||||
"ConcatSigmas",
|
"ConcatSigmas",
|
||||||
"CosineScheduler",
|
"CosineScheduler",
|
||||||
"GaussianScheduler",
|
|
||||||
"InvertSigmas",
|
"InvertSigmas",
|
||||||
"LogNormal Scheduler",
|
|
||||||
"OffsetSigmas",
|
"OffsetSigmas",
|
||||||
"PerpNegScheduledCFGGuider",
|
"PerpNegScheduledCFGGuider",
|
||||||
"ScheduledCFGGuider"
|
"ScheduledCFGGuider"
|
||||||
@@ -3593,22 +3420,6 @@
|
|||||||
"title_aux": "ComfyUI-clip-interrogator [WIP]"
|
"title_aux": "ComfyUI-clip-interrogator [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/pschroedl/ComfyUI-StreamDiffusion": [
|
|
||||||
[
|
|
||||||
"StreamDiffusionAccelerationConfig",
|
|
||||||
"StreamDiffusionAccelerationSampler",
|
|
||||||
"StreamDiffusionCheckpointLoader",
|
|
||||||
"StreamDiffusionConfig",
|
|
||||||
"StreamDiffusionDeviceConfig",
|
|
||||||
"StreamDiffusionLoraLoader",
|
|
||||||
"StreamDiffusionPrebuiltConfig",
|
|
||||||
"StreamDiffusionSimilarityFilterConfig",
|
|
||||||
"StreamDiffusionTensorRTEngineLoader"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-StreamDiffusion"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/pzzmyc/comfyui-sd3-simple-simpletuner": [
|
"https://github.com/pzzmyc/comfyui-sd3-simple-simpletuner": [
|
||||||
[
|
[
|
||||||
"sd not very simple simpletuner by hhy"
|
"sd not very simple simpletuner by hhy"
|
||||||
@@ -3617,14 +3428,6 @@
|
|||||||
"title_aux": "comfyui-sd3-simple-simpletuner"
|
"title_aux": "comfyui-sd3-simple-simpletuner"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/ralonsobeas/ComfyUI-HDRConversion": [
|
|
||||||
[
|
|
||||||
"HDRConversion"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-HDRConversion [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/redhottensors/ComfyUI-ODE": [
|
"https://github.com/redhottensors/ComfyUI-ODE": [
|
||||||
[
|
[
|
||||||
"ODESamplerSelect"
|
"ODESamplerSelect"
|
||||||
@@ -3637,15 +3440,6 @@
|
|||||||
"title_aux": "ComfyUI-ODE"
|
"title_aux": "ComfyUI-ODE"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/risunobushi/ComfyUI_FocusMask": [
|
|
||||||
[
|
|
||||||
"FocusMaskExtractor",
|
|
||||||
"FocusOutlineExtractor"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_FocusMask"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/rouxianmantou/comfyui-rxmt-nodes": [
|
"https://github.com/rouxianmantou/comfyui-rxmt-nodes": [
|
||||||
[
|
[
|
||||||
"CheckValueTypeNode"
|
"CheckValueTypeNode"
|
||||||
@@ -3695,15 +3489,6 @@
|
|||||||
"title_aux": "ComfyUI-LMCQ [WIP]"
|
"title_aux": "ComfyUI-LMCQ [WIP]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/sh570655308/ComfyUI-GigapixelAI": [
|
|
||||||
[
|
|
||||||
"GigapixelAI",
|
|
||||||
"GigapixelUpscaleSettings"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI-GigapixelAI [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/shadowcz007/ComfyUI-PuLID-Test": [
|
"https://github.com/shadowcz007/ComfyUI-PuLID-Test": [
|
||||||
[
|
[
|
||||||
"ApplyPulid",
|
"ApplyPulid",
|
||||||
@@ -4026,34 +3811,18 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/wilzamguerrero/Comfyui-zZzZz": [
|
"https://github.com/wilzamguerrero/Comfyui-zZzZz": [
|
||||||
[
|
[
|
||||||
"CaptureZNode",
|
|
||||||
"CompressFolderNode",
|
"CompressFolderNode",
|
||||||
"CreateZNode",
|
"CreateZNode",
|
||||||
"DeleteZNode",
|
"DeleteZNode",
|
||||||
"DownloadFileNode",
|
"DownloadFileNode",
|
||||||
"InfiniteZNode",
|
"InfiniteZNode",
|
||||||
"MoveZNode",
|
"MoveZNode",
|
||||||
"RenameZNode",
|
"RenameZNode"
|
||||||
"VideoZNode",
|
|
||||||
"ZFShareScreen"
|
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
"title_aux": "Comfyui-zZzZz [UNSAFE]"
|
"title_aux": "Comfyui-zZzZz [UNSAFE]"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"https://github.com/wjl0313/ComfyUI_KimNodes": [
|
|
||||||
[
|
|
||||||
"Crop_Paste",
|
|
||||||
"Distribute_Icons",
|
|
||||||
"IconDistributeByGrid",
|
|
||||||
"KimFilter",
|
|
||||||
"Text_Match",
|
|
||||||
"YOLO_Crop"
|
|
||||||
],
|
|
||||||
{
|
|
||||||
"title_aux": "ComfyUI_KimNodes [WIP]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"https://github.com/wormley/comfyui-wormley-nodes": [
|
"https://github.com/wormley/comfyui-wormley-nodes": [
|
||||||
[
|
[
|
||||||
"CheckpointVAELoaderSimpleText",
|
"CheckpointVAELoaderSimpleText",
|
||||||
@@ -4066,8 +3835,6 @@
|
|||||||
],
|
],
|
||||||
"https://github.com/xiaoyumu/ComfyUI-XYNodes": [
|
"https://github.com/xiaoyumu/ComfyUI-XYNodes": [
|
||||||
[
|
[
|
||||||
"AdjustImageColor",
|
|
||||||
"AppyColorToImage",
|
|
||||||
"PrimitiveBBOX",
|
"PrimitiveBBOX",
|
||||||
"StringToBBOX"
|
"StringToBBOX"
|
||||||
],
|
],
|
||||||
@@ -4113,6 +3880,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,101 +10,6 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
"author": "doomy23",
|
|
||||||
"title": "ComfyUI-D00MYsNodes [REMOVED]",
|
|
||||||
"reference": "https://github.com/doomy23/ComfyUI-D00MYsNodes",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/doomy23/ComfyUI-D00MYsNodes"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "Nodes: Images_Converter, Show_Text, Strings_From_List, Save_Text, Random_Images, Load_Images_From_Paths, JSPaint."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "kadirnar",
|
|
||||||
"title": "comfyui_hub [REMOVED]",
|
|
||||||
"reference": "https://github.com/kadirnar/comfyui_hub",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/kadirnar/comfyui_hub"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A collection of nodes randomly selected and gathered, related to noise. NOTE: SD-Advanced-Noise, noise_latent_perlinpinpin, comfy-plasma"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "SaltAI",
|
|
||||||
"title": "SaltAI_AudioViz [REMOVED]",
|
|
||||||
"id": "saltai-audioviz",
|
|
||||||
"reference": "https://github.com/get-salt-AI/SaltAI_AudioViz",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/get-salt-AI/SaltAI_AudioViz"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "SaltAI AudioViz contains ComfyUI nodes for generating complex audio reactive visualizations"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "SaltAI",
|
|
||||||
"title": "SaltAI-Open-Resources [REMOVED]",
|
|
||||||
"id": "saltai-open-resource",
|
|
||||||
"reference": "https://github.com/get-salt-AI/SaltAI",
|
|
||||||
"pip": ["numba"],
|
|
||||||
"files": [
|
|
||||||
"https://github.com/get-salt-AI/SaltAI"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "This repository is a collection of open-source nodes and workflows for ComfyUI, a dev tool that allows users to create node-based workflows often powered by various AI models to do pretty much anything.\nOur mission is to seamlessly connect people and organizations with the world’s foremost AI innovations, anywhere, anytime. Our vision is to foster a flourishing AI ecosystem where the world’s best developers can build and share their work, thereby redefining how software is made, pushing innovation forward, and ensuring as many people as possible can benefit from the positive promise of AI technologies.\nWe believe that ComfyUI is a powerful tool that can help us achieve our mission and vision, by enabling anyone to explore the possibilities and limitations of AI models in a visual and interactive way, without coding if desired.\nWe hope that by sharing our nodes and workflows, we can inspire and empower more people to create amazing AI-powered content with ComfyUI."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "SaltAI",
|
|
||||||
"title": "SaltAI_Language_Toolkit [REMOVED]",
|
|
||||||
"id": "saltai_language_toolkit",
|
|
||||||
"reference": "https://github.com/get-salt-AI/SaltAI_Language_Toolkit",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/get-salt-AI/SaltAI_Language_Toolkit"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "The project integrates the Retrieval Augmented Generation (RAG) tool [a/Llama-Index](https://www.llamaindex.ai/), [a/Microsoft's AutoGen](https://microsoft.github.io/autogen/), and [a/LlaVA-Next](https://github.com/LLaVA-VL/LLaVA-NeXT) with ComfyUI's adaptable node interface, enhancing the functionality and user experience of the platform."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "zmwv823",
|
|
||||||
"title": "ComfyUI-Sana [DEPRECATED]",
|
|
||||||
"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": "ACE-innovate",
|
|
||||||
"title": "seg-node [REMOVED]",
|
|
||||||
"reference": "https://github.com/ACE-innovate/seg-node",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/ACE-innovate/seg-node"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "hf cloth seg custom node for comfyui\nNOTE: The files in the repo are not organized."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"author": "zefu-lu",
|
|
||||||
"title": "ComfyUI_InstantX_SD35_Large_IPAdapter [REMOVED]",
|
|
||||||
"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": "HentaiGirlfriendDotCom",
|
|
||||||
"title": "comfyui-highlight-connections [REMOVED]",
|
|
||||||
"reference": "https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections",
|
|
||||||
"files": [
|
|
||||||
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections"
|
|
||||||
],
|
|
||||||
"install_type": "git-clone",
|
|
||||||
"description": "A node that can be dropped into a group. When a node is then clicked within that group, all nodes and connections in that group get greyed out and the connections from the clicked node go bright red."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"author": "huangyangke",
|
"author": "huangyangke",
|
||||||
"title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]",
|
"title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -78,7 +78,6 @@
|
|||||||
" ![ -f \"ComfyUI-Manager/check.sh\" ] && chmod 755 ComfyUI-Manager/check.sh\n",
|
" ![ -f \"ComfyUI-Manager/check.sh\" ] && chmod 755 ComfyUI-Manager/check.sh\n",
|
||||||
" ![ -f \"ComfyUI-Manager/scan.sh\" ] && chmod 755 ComfyUI-Manager/scan.sh\n",
|
" ![ -f \"ComfyUI-Manager/scan.sh\" ] && chmod 755 ComfyUI-Manager/scan.sh\n",
|
||||||
" ![ -f \"ComfyUI-Manager/node_db/dev/scan.sh\" ] && chmod 755 ComfyUI-Manager/node_db/dev/scan.sh\n",
|
" ![ -f \"ComfyUI-Manager/node_db/dev/scan.sh\" ] && chmod 755 ComfyUI-Manager/node_db/dev/scan.sh\n",
|
||||||
" ![ -f \"ComfyUI-Manager/node_db/tutorial/scan.sh\" ] && chmod 755 ComfyUI-Manager/node_db/tutorial/scan.sh\n",
|
|
||||||
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\n",
|
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\n",
|
||||||
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\n",
|
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
|||||||
@@ -84,7 +84,6 @@ if os.path.exists(pip_overrides_path):
|
|||||||
with open(pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file:
|
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 = json.load(json_file)
|
||||||
cm_global.pip_overrides['numpy'] = 'numpy<2'
|
cm_global.pip_overrides['numpy'] = 'numpy<2'
|
||||||
cm_global.pip_overrides['ultralytics'] = 'ultralytics==8.3.40' # for security
|
|
||||||
|
|
||||||
|
|
||||||
def remap_pip_package(pkg):
|
def remap_pip_package(pkg):
|
||||||
|
|||||||
@@ -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.55.5"
|
version = "2.53"
|
||||||
license = { file = "LICENSE.txt" }
|
license = { file = "LICENSE.txt" }
|
||||||
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
|
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
pygit2
|
||||||
GitPython
|
GitPython
|
||||||
PyGithub
|
PyGithub
|
||||||
matrix-client==0.4.0
|
matrix-client==0.4.0
|
||||||
|
|||||||
2
scan.sh
2
scan.sh
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
rm ~/.tmp/default/*.py > /dev/null 2>&1
|
rm ~/.tmp/default/*.py > /dev/null 2>&1
|
||||||
python scanner.py ~/.tmp/default $*
|
python -m scanner ~/.tmp/default $*
|
||||||
cp extension-node-map.json node_db/new/.
|
cp extension-node-map.json node_db/new/.
|
||||||
|
|
||||||
echo "Integrity check"
|
echo "Integrity check"
|
||||||
|
|||||||
18
scanner.py
18
scanner.py
@@ -2,7 +2,8 @@ import ast
|
|||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
from git import Repo
|
import sys
|
||||||
|
from glob import git_wrapper
|
||||||
import concurrent
|
import concurrent
|
||||||
import datetime
|
import datetime
|
||||||
import concurrent.futures
|
import concurrent.futures
|
||||||
@@ -243,28 +244,27 @@ def get_py_urls_from_json(json_file):
|
|||||||
|
|
||||||
return py_files
|
return py_files
|
||||||
|
|
||||||
|
import traceback
|
||||||
def clone_or_pull_git_repository(git_url):
|
def clone_or_pull_git_repository(git_url):
|
||||||
repo_name = git_url.split("/")[-1]
|
repo_name = git_url.split("/")[-1].split(".")[0]
|
||||||
if repo_name.endswith(".git"):
|
|
||||||
repo_name = repo_name[:-4]
|
|
||||||
|
|
||||||
repo_dir = os.path.join(temp_dir, repo_name)
|
repo_dir = os.path.join(temp_dir, repo_name)
|
||||||
|
|
||||||
if os.path.exists(repo_dir):
|
if os.path.exists(repo_dir):
|
||||||
try:
|
try:
|
||||||
repo = Repo(repo_dir)
|
repo = git_wrapper.Repo(repo_dir)
|
||||||
origin = repo.remote(name="origin")
|
origin = repo.remote(name="origin")
|
||||||
origin.pull()
|
origin.pull()
|
||||||
repo.git.submodule('update', '--init', '--recursive')
|
repo.update_recursive()
|
||||||
print(f"Pulling {repo_name}...")
|
print(f"Pulling {repo_name}...")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
traceback.print_exc()
|
||||||
print(f"Pulling {repo_name} failed: {e}")
|
print(f"Pulling {repo_name} failed: {e}")
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
Repo.clone_from(git_url, repo_dir, recursive=True)
|
git_wrapper.clone_from(git_url, repo_dir, recursive=True)
|
||||||
print(f"Cloning {repo_name}...")
|
print(f"Cloning {repo_name}...")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
traceback.print_exc()
|
||||||
print(f"Cloning {repo_name} failed: {e}")
|
print(f"Cloning {repo_name} failed: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user