Compare commits

...

125 Commits

Author SHA1 Message Date
Dr.Lt.Data
70139ded4a bump version 2025-07-06 13:40:50 +09:00
Dr.Lt.Data
bf379900e1 update DB 2025-07-06 13:40:17 +09:00
Dr.Lt.Data
9bafc90f5e update DB 2025-07-06 08:31:22 +09:00
Alexander Piskun
fce0d9e88e fix(Windows, numpy): do not use 'uv' by default (#1971) 2025-07-06 08:23:31 +09:00
namtb96
2b3b154989 Add OmniGen2 Simple Node (#1970)
* add OmniGen2 custom node

* Change extenions name
2025-07-06 08:22:02 +09:00
Dr.Lt.Data
948d2440a1 update DB 2025-07-05 09:40:28 +09:00
Dr.Lt.Data
5adbe1ce7a update DB 2025-07-05 06:42:32 +09:00
vrgamegirl19
8157d34ffa Add VRGameDevGirl’s Video Enhancement Nodes (#1966)
* Update custom-node-list.json

* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-07-05 06:26:15 +09:00
Dr.Lt.Data
3ec8cb2204 update DB 2025-07-05 06:06:16 +09:00
Dr.Lt.Data
0daa826543 fixed: invalid default config.ini
https://github.com/Comfy-Org/ComfyUI-Manager/issues/1967
2025-07-04 17:54:26 +09:00
Dr.Lt.Data
a66028da58 update DB 2025-07-04 08:53:35 +09:00
Dr.Lt.Data
807c9e6872 update DB 2025-07-04 07:02:41 +09:00
Dr.Lt.Data
e71f3774ba modified: If uv is available, set use_uv to True by default. 2025-07-03 12:32:50 +09:00
Dr.Lt.Data
dd7314bf10 update DB 2025-07-03 12:22:59 +09:00
Dr.Lt.Data
f33bc127dc update DB 2025-07-03 07:31:25 +09:00
Creepybits
db92b87782 Update custom-node-list.json (#1965)
* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-07-03 07:08:40 +09:00
Dr.Lt.Data
eba41c8693 update DB 2025-07-02 21:38:06 +09:00
sunxAI
c855308162 Update DB (#1963)
* Update custom-node-list.json

update

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-07-02 21:32:13 +09:00
Dr.Lt.Data
73d971bed8 bump version 2025-07-02 12:33:16 +09:00
copusDev
bcfe0c2874 feat: copus content add rating (#1962)
Co-authored-by: john <john@server31.io>
2025-07-02 12:32:17 +09:00
Dr.Lt.Data
931ff666ae update DB 2025-07-02 12:02:20 +09:00
Dr.Lt.Data
18b6d86cc4 update DB 2025-07-02 08:57:41 +09:00
Dr.Lt.Data
3c5efa0662 update DB 2025-07-01 12:18:14 +09:00
Dr.Lt.Data
9b739bcbbf update DB 2025-07-01 08:57:40 +09:00
Dr.Lt.Data
db89076e48 update DB 2025-07-01 07:30:59 +09:00
Dr.Lt.Data
19b341ef18 update DB 2025-07-01 01:04:40 +09:00
Dr.Lt.Data
be3713b1a3 update DB 2025-07-01 00:21:53 +09:00
Dr.Lt.Data
99c4415cfb update DB 2025-06-30 21:29:41 +09:00
方长君
7b311f2ccf Add MultiSaveImage custom node (#1956) 2025-06-30 21:13:20 +09:00
Dr.Lt.Data
4aeabfe0a7 update DB 2025-06-30 07:34:20 +09:00
Dr.Lt.Data
431ed02194 update DB 2025-06-30 07:25:27 +09:00
KarmaSwint
07f587ed83 Add KarmaNodes to Comfy Registry (#1958)
Co-authored-by: Karma Swint <karmaaswint@gmail.com>
2025-06-30 07:16:43 +09:00
S4MUEL
0408341d82 Add ComfyUI-S4Tool-Image to custom nodes list (#1957)
Add ComfyUI-S4Tool-Image to custom nodes list
2025-06-30 07:16:33 +09:00
Dr.Lt.Data
5b3c9432f3 update DB 2025-06-29 15:48:08 +09:00
Dr.Lt.Data
4a197e63f9 update DB 2025-06-28 23:31:08 +09:00
Dr.Lt.Data
0876a12fe9 update DB 2025-06-28 19:33:20 +09:00
Dr.Lt.Data
c43c7ecc03 update DB 2025-06-28 18:15:49 +09:00
Dr.Lt.Data
4a6dee3044 update DB 2025-06-28 08:45:28 +09:00
Dr.Lt.Data
019acdd840 update DB 2025-06-28 08:22:30 +09:00
PeterMikhai
1c98512720 Update custom-node-list.json (#1955)
* Update custom-node-list.json

* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-28 08:21:18 +09:00
Dr.Lt.Data
23a09ad546 update DB 2025-06-27 12:23:33 +09:00
Dr.Lt.Data
0836e8fe7c update DB 2025-06-27 07:23:09 +09:00
Dr.Lt.Data
90196af8f8 update DB 2025-06-27 01:48:34 +09:00
Dr.Lt.Data
566fe05772 update DB 2025-06-26 22:56:48 +09:00
uinodes
18772c6292 Update custom-node-list.json (#1953) 2025-06-26 22:34:15 +09:00
Yuan-Man
6278bddc9b Add ComfyUI-PosterCraft (#1952) 2025-06-26 22:33:02 +09:00
Dr.Lt.Data
f74bf71735 update DB 2025-06-26 08:58:08 +09:00
Dr.Lt.Data
efe9ed68b2 update DB 2025-06-26 06:56:56 +09:00
Ambrosinus
7c1e75865d Add ComfyUI-ATk-Nodes plugin (#1949)
* Update custom-node-list.json

* Update custom-node-list.json

fixing the correct insertion of new entries in alphabetical order.
2025-06-26 06:37:29 +09:00
Dr.Lt.Data
a0aee41f1a fixed: Support configuration with use_uv enabled in environments where only uv exists without pip.
https://github.com/Comfy-Org/ComfyUI-Manager/issues/1828
2025-06-25 12:44:26 +09:00
Dr.Lt.Data
2049dd75f4 update DB 2025-06-25 12:17:07 +09:00
Dr.Lt.Data
0864c35ba9 update DB 2025-06-25 07:27:45 +09:00
Dr.Lt.Data
92c9f66671 update DB 2025-06-25 00:52:31 +09:00
Dr.Lt.Data
815784e809 fixed: Fix issue where some nodepacks were displayed redundantly in custom nodes manager. 2025-06-25 00:18:18 +09:00
Dr.Lt.Data
2795d00d1e update DB 2025-06-24 23:39:31 +09:00
Dr.Lt.Data
86dd0b4963 update DB 2025-06-24 07:17:40 +09:00
Dr.Lt.Data
77a4f4819f update DB 2025-06-24 00:18:16 +09:00
Dr.Lt.Data
b63d603482 update DB 2025-06-23 23:40:54 +09:00
Dr.Lt.Data
e569b4e613 update DB 2025-06-23 12:35:42 +09:00
Gero Doll
8a70997546 Add ComfyUI Face Detection Node (#1947) 2025-06-23 12:29:58 +09:00
Dr.Lt.Data
80d0a0f882 update DB 2025-06-23 08:47:23 +09:00
Dr.Lt.Data
70b3997874 update DB 2025-06-23 06:53:30 +09:00
Dr.Lt.Data
e8e4311068 update DB 2025-06-22 18:43:10 +09:00
Dr.Lt.Data
c58b93ff51 update DB 2025-06-22 00:31:46 +09:00
Dr.Lt.Data
7d8ebfe91b update DB 2025-06-22 00:08:43 +09:00
Dr.Lt.Data
810381eab2 update DB 2025-06-22 00:03:44 +09:00
Dr.Lt.Data
61dc6cf2de update DB 2025-06-21 23:35:58 +09:00
NumZ
0205ebad2a Add ComfyUI-SeedVR2_VideoUpscaler Nodes (#1945)
* Update custom-node-list.json for Comfyui-Orpheus

add custom nodes from https://github.com/numz/Comfyui-Orpheus

* Update custom-node-list.json

add ComfyUI-SeedVR2_VideoUpscaler Node
2025-06-21 23:34:47 +09:00
Dr.Lt.Data
09a94133ac update DB 2025-06-21 23:34:05 +09:00
Dr.Lt.Data
1eb3c3b219 update DB 2025-06-21 23:25:10 +09:00
Alejandro Olivares Mompó
457845bb51 Add Kaizen Package by aleolidev (#1946) 2025-06-21 23:18:54 +09:00
Yuan-Man
0c11b46585 Add ComfyUI-OmniGen2 (#1944) 2025-06-21 23:17:36 +09:00
Dr.Lt.Data
c35100d9e9 update DB 2025-06-21 00:51:05 +09:00
Dr.Lt.Data
847031cb04 update DB 2025-06-20 12:33:28 +09:00
Dr.Lt.Data
f8d87bb452 update DB 2025-06-20 07:38:39 +09:00
Dr.Lt.Data
f60b3505e0 update DB 2025-06-19 20:44:57 +09:00
Dr.Lt.Data
addefbc511 update DB 2025-06-19 12:55:15 +09:00
Dr.Lt.Data
c4314b25a3 update DB 2025-06-19 07:34:54 +09:00
Dr.Lt.Data
921bb86127 update DB 2025-06-18 12:37:38 +09:00
Dr.Lt.Data
b3a7fb9c3e update DB 2025-06-17 23:53:40 +09:00
Lord Lethris
c143c81a7e Update custom-node-list.json (#1941) 2025-06-17 23:46:54 +09:00
Dr.Lt.Data
dd389ba0f8 update DB 2025-06-17 22:34:28 +09:00
seeo
46b1649ab8 Update custom-node-list.json (#1940) 2025-06-17 22:24:24 +09:00
Dr.Lt.Data
89710412e4 fixed: indentation error 2025-06-17 07:27:46 +09:00
Dr.Lt.Data
931973b632 update DB 2025-06-17 07:22:13 +09:00
Dr.Lt.Data
60aaa838e3 update DB 2025-06-17 00:52:22 +09:00
Dr.Lt.Data
1246538bbb fixed: Issue where installation status was not properly recognized when the nodepack ID registered in the registry was not normalized.
- ex) `ComfyUI-Crystools`

https://github.com/Comfy-Org/ComfyUI-Manager/issues/1834#issuecomment-2937370214
2025-06-17 00:31:51 +09:00
Dr.Lt.Data
80518abf9d update DB 2025-06-16 22:42:41 +09:00
Leon Wong
fc1ae2a18e added comfyui-leon-nodes to ustom-node-list.json (#1937) 2025-06-16 22:17:45 +09:00
Yuan-Man
3fd8d2049c Add ComfyUI-Hunyuan3D-2.1 (#1936) 2025-06-16 22:16:50 +09:00
Dr.Lt.Data
35a6bcf20c update DB 2025-06-16 12:52:05 +09:00
Dr.Lt.Data
0d75fc331e update DB 2025-06-16 07:28:55 +09:00
Dr.Lt.Data
0a23e793e3 update DB 2025-06-15 15:43:09 +09:00
Dr.Lt.Data
2c1c03e063 update DB 2025-06-15 14:27:27 +09:00
Çağlayan Karagözler
64059d2949 Added ComfyUI-YouTubeUploader to custom nodes json (#1933)
* Update custom-node-list.json

Added ComfyUI-YouTubeUploader

* Update custom-node-list.json

* Update custom-node-list.json

Added proper link

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-15 14:13:03 +09:00
Dr.Lt.Data
648aa7c4d3 update DB 2025-06-14 18:56:19 +09:00
Dr.Lt.Data
274bb81a08 update DB 2025-06-14 10:06:34 +09:00
Dr.Lt.Data
e2c90b4681 update DB 2025-06-13 22:41:52 +09:00
Dr.Lt.Data
fa0a98ac6e update DB 2025-06-13 12:53:51 +09:00
Dr.Lt.Data
e6e7b42415 update DB 2025-06-13 03:01:18 +09:00
Dr.Lt.Data
0b7ef2e1d4 update DB 2025-06-12 18:21:40 +09:00
Yuan-Man
2fac67a9f9 Add ComfyUI-Vui (#1930) 2025-06-12 18:15:32 +09:00
Dr.Lt.Data
8b9892de2e update DB 2025-06-12 12:31:04 +09:00
Dr.Lt.Data
b3290dc909 update DB 2025-06-12 12:24:22 +09:00
LargeModGames
3e3176eddb Update custom-node-list.json for new node: Add ComfyUI LoRA Auto Downloader (#1929)
* Add ComfyUI LoRA Auto Downloader extension

Adding ComfyUI LoRA Auto Downloader extension to the registry.
- Automatically downloads missing LoRAs from CivitAI
- Detects missing LoRAs in workflows
- Smart directory detection

* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-12 12:22:50 +09:00
Dr.Lt.Data
b1ef84894a update DB 2025-06-12 12:22:02 +09:00
hassan-sd
c6cffc92c4 Update custom-node-list.json for new node: comfyui-image-prompt-loader (#1928)
https://github.com/hassan-sd/comfyui-image-prompt-loader

Load images with automatic prompt extraction from Civitai URLs, caption files, or EXIF metadata. Features smart dataset detection and dynamic preview updates.
2025-06-12 12:16:27 +09:00
Dr.Lt.Data
efb9fd2712 update DB 2025-06-12 07:21:17 +09:00
Dr.Lt.Data
94b294ff93 update DB 2025-06-12 07:17:09 +09:00
Dr.Lt.Data
99a9e33648 update DB 2025-06-11 22:11:42 +09:00
gitadmini
055d94a919 add node extractstoryboards (#1927)
* add node extractstoryboards

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-11 22:00:32 +09:00
Dr.Lt.Data
0978005240 update DB 2025-06-11 12:31:34 +09:00
Yuan-Man
1f796581ec Add ComfyUI-Direct3D-S2 node (#1925) 2025-06-11 07:31:56 +09:00
Dr.Lt.Data
f3a1716dad update DB 2025-06-11 07:23:14 +09:00
Zachary
a1c3a0db1f add my custom node for read metadata from filepath. (#1926) 2025-06-11 06:59:54 +09:00
Dr.Lt.Data
9f80cc8a6b update DB 2025-06-10 12:27:20 +09:00
Dr.Lt.Data
133786846e update DB 2025-06-10 07:28:53 +09:00
keit
bdf297a5c6 Add ComfyUI-keitNodes (#1924) 2025-06-10 07:28:02 +09:00
Dr.Lt.Data
6767254eb0 update DB 2025-06-10 07:27:48 +09:00
11dogzi
691cebd479 CYBERPUNK-STYLE-DIY (#1923) 2025-06-10 07:26:14 +09:00
xiaowc
f3932cbf29 Add Comfyui-Dynamic-Params Node Plugin (#1922)
* Update custom-node-list.json to add Comfyui-Dynamic-Params Node

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-06-10 07:25:52 +09:00
Dr.Lt.Data
3f73a97037 update DB 2025-06-10 07:25:40 +09:00
Erehr
226f1f5be4 Add ComfyUI-EreNodes (#1921)
* Add ComfyUI-EreNodes

* Update custom-node-list.json
2025-06-10 07:23:53 +09:00
Dr.Lt.Data
7e45c07660 update DB 2025-06-10 07:23:40 +09:00
INuBq8
0c815036b9 Update custom-node-list.json (#1920) 2025-06-10 07:22:31 +09:00
19 changed files with 15603 additions and 7140 deletions

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -43,7 +43,7 @@ import manager_downloader
from node_package import InstalledNodePackage from node_package import InstalledNodePackage
version_code = [3, 32, 8] version_code = [3, 33, 7]
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '') version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
@@ -400,18 +400,86 @@ class ManagedResult:
return self return self
class NormalizedKeyDict:
def __init__(self):
self._store = {}
self._key_map = {}
def _normalize_key(self, key):
if isinstance(key, str):
return key.strip().lower()
return key
def __setitem__(self, key, value):
norm_key = self._normalize_key(key)
self._key_map[norm_key] = key
self._store[key] = value
def __getitem__(self, key):
norm_key = self._normalize_key(key)
original_key = self._key_map[norm_key]
return self._store[original_key]
def __delitem__(self, key):
norm_key = self._normalize_key(key)
original_key = self._key_map.pop(norm_key)
del self._store[original_key]
def __contains__(self, key):
return self._normalize_key(key) in self._key_map
def get(self, key, default=None):
return self[key] if key in self else default
def setdefault(self, key, default=None):
if key in self:
return self[key]
self[key] = default
return default
def pop(self, key, default=None):
if key in self:
val = self[key]
del self[key]
return val
if default is not None:
return default
raise KeyError(key)
def keys(self):
return self._store.keys()
def values(self):
return self._store.values()
def items(self):
return self._store.items()
def __iter__(self):
return iter(self._store)
def __len__(self):
return len(self._store)
def __repr__(self):
return repr(self._store)
def to_dict(self):
return dict(self._store)
class UnifiedManager: class UnifiedManager:
def __init__(self): def __init__(self):
self.installed_node_packages: dict[str, InstalledNodePackage] = {} self.installed_node_packages: dict[str, InstalledNodePackage] = {}
self.cnr_inactive_nodes = {} # node_id -> node_version -> fullpath self.cnr_inactive_nodes = NormalizedKeyDict() # node_id -> node_version -> fullpath
self.nightly_inactive_nodes = {} # node_id -> fullpath self.nightly_inactive_nodes = NormalizedKeyDict() # node_id -> fullpath
self.unknown_inactive_nodes = {} # node_id -> repo url * fullpath self.unknown_inactive_nodes = {} # node_id -> repo url * fullpath
self.active_nodes = {} # node_id -> node_version * fullpath self.active_nodes = NormalizedKeyDict() # node_id -> node_version * fullpath
self.unknown_active_nodes = {} # node_id -> repo url * fullpath self.unknown_active_nodes = {} # node_id -> repo url * fullpath
self.cnr_map = {} # node_id -> cnr info self.cnr_map = NormalizedKeyDict() # node_id -> cnr info
self.repo_cnr_map = {} # repo_url -> cnr info self.repo_cnr_map = {} # repo_url -> cnr info
self.custom_node_map_cache = {} # (channel, mode) -> augmented custom node list json self.custom_node_map_cache = {} # (channel, mode) -> augmented custom node list json
self.processed_install = set() self.processed_install = set()
def get_module_name(self, x): def get_module_name(self, x):
@@ -814,7 +882,7 @@ class UnifiedManager:
channel = normalize_channel(channel) channel = normalize_channel(channel)
nodes = await self.load_nightly(channel, mode) nodes = await self.load_nightly(channel, mode)
res = {} res = NormalizedKeyDict()
added_cnr = set() added_cnr = set()
for v in nodes.values(): for v in nodes.values():
v = v[0] v = v[0]
@@ -1670,12 +1738,14 @@ def read_config():
} }
except Exception: except Exception:
manager_util.use_uv = False import importlib.util
manager_util.use_uv = importlib.util.find_spec("uv") is not None
return { return {
'http_channel_enabled': False, 'http_channel_enabled': False,
'preview_method': manager_funcs.get_current_preview_method(), 'preview_method': manager_funcs.get_current_preview_method(),
'git_exe': '', 'git_exe': '',
'use_uv': False, 'use_uv': manager_util.use_uv and platform.system() != "Windows", # temporary disable on Windows by default
'channel_url': DEFAULT_CHANNEL, 'channel_url': DEFAULT_CHANNEL,
'default_cache_as_channel_url': False, 'default_cache_as_channel_url': False,
'share_option': 'all', 'share_option': 'all',
@@ -2876,7 +2946,7 @@ async def get_unified_total_nodes(channel, mode, regsitry_cache_mode='cache'):
if cnr_id is not None: if cnr_id is not None:
# cnr or nightly version # cnr or nightly version
cnr_ids.remove(cnr_id) cnr_ids.discard(cnr_id)
updatable = False updatable = False
cnr = unified_manager.cnr_map[cnr_id] cnr = unified_manager.cnr_map[cnr_id]

View File

@@ -865,7 +865,7 @@ async def fetch_customnode_list(request):
channel = found channel = found
result = dict(channel=channel, node_packs=node_packs) result = dict(channel=channel, node_packs=node_packs.to_dict())
return web.json_response(result, content_type='application/json') return web.json_response(result, content_type='application/json')

View File

@@ -2,6 +2,8 @@ import sys
import subprocess import subprocess
import os import os
import manager_util
def security_check(): def security_check():
print("[START] Security scan") print("[START] Security scan")
@@ -66,11 +68,11 @@ https://blog.comfy.org/comfyui-statement-on-the-ultralytics-crypto-miner-situati
"lolMiner": [os.path.join(comfyui_path, 'lolMiner')] "lolMiner": [os.path.join(comfyui_path, 'lolMiner')]
} }
installed_pips = subprocess.check_output([sys.executable, '-m', "pip", "freeze"], text=True) installed_pips = subprocess.check_output(manager_util.make_pip_cmd(["freeze"]), text=True)
detected = set() detected = set()
try: try:
anthropic_info = subprocess.check_output([sys.executable, '-m', "pip", "show", "anthropic"], text=True, stderr=subprocess.DEVNULL) anthropic_info = subprocess.check_output(manager_util.make_pip_cmd(["show", "anthropic"]), text=True, stderr=subprocess.DEVNULL)
anthropic_reqs = [x for x in anthropic_info.split('\n') if x.startswith("Requires")][0].split(': ')[1] anthropic_reqs = [x for x in anthropic_info.split('\n') if x.startswith("Requires")][0].split(': ')[1]
if "pycrypto" in anthropic_reqs: if "pycrypto" in anthropic_reqs:
location = [x for x in anthropic_info.split('\n') if x.startswith("Location")][0].split(': ')[1] location = [x for x in anthropic_info.split('\n') if x.startswith("Location")][0].split(': ')[1]

View File

@@ -202,7 +202,7 @@ export class CopusShareDialog extends ComfyDialog {
this.LockInput = $el("input", { this.LockInput = $el("input", {
type: "text", type: "text",
placeholder: "", placeholder: "",
style: { style: {
width: "100px", width: "100px",
padding: "7px", padding: "7px",
borderRadius: "4px", borderRadius: "4px",
@@ -342,15 +342,11 @@ export class CopusShareDialog extends ComfyDialog {
["0/70"] ["0/70"]
); );
// Additional Inputs Section // Additional Inputs Section
const additionalInputsSection = $el( const additionalInputsSection = $el("div", { style: { ...sectionStyle } }, [
"div", $el("label", { style: labelStyle }, ["3⃣ Title "]),
{ style: { ...sectionStyle, } }, this.TitleInput,
[ titleNumDom,
$el("label", { style: labelStyle }, ["3⃣ Title "]), ]);
this.TitleInput,
titleNumDom,
]
);
const SubtitleSection = $el("div", { style: sectionStyle }, [ const SubtitleSection = $el("div", { style: sectionStyle }, [
$el("label", { style: labelStyle }, ["4⃣ Subtitle "]), $el("label", { style: labelStyle }, ["4⃣ Subtitle "]),
this.SubTitleInput, this.SubTitleInput,
@@ -392,11 +388,31 @@ export class CopusShareDialog extends ComfyDialog {
}, },
[ [
this.radioButtonsCheck_lock, this.radioButtonsCheck_lock,
$el("div", { style: { marginLeft: "5px" ,display:'flex',alignItems:'center'} }, [ $el(
$el("span", { style: { marginLeft: "5px" } }, ["ON"]), "div",
$el("span", { style: { marginLeft: "20px",marginRight:'10px' ,color:'#fff'} }, ["Price US$"]), {
this.LockInput style: {
]), marginLeft: "5px",
display: "flex",
alignItems: "center",
},
},
[
$el("span", { style: { marginLeft: "5px" } }, ["ON"]),
$el(
"span",
{
style: {
marginLeft: "20px",
marginRight: "10px",
color: "#fff",
},
},
["Price US$"]
),
this.LockInput,
]
),
] ]
), ),
$el( $el(
@@ -404,14 +420,28 @@ export class CopusShareDialog extends ComfyDialog {
{ style: { display: "flex", alignItems: "center", cursor: "pointer" } }, { style: { display: "flex", alignItems: "center", cursor: "pointer" } },
[ [
this.radioButtonsCheckOff_lock, this.radioButtonsCheckOff_lock,
$el("span", { style: { marginLeft: "5px" } }, ["OFF"]), $el(
"div",
{
style: {
marginLeft: "5px",
display: "flex",
alignItems: "center",
},
},
[
$el("span", { style: { marginLeft: "5px" } }, ["OFF"]),
]
),
] ]
), ),
$el( $el(
"p", "p",
{ style: { fontSize: "16px", color: "#fff", margin: "10px 0 0 0" } }, { style: { fontSize: "16px", color: "#fff", margin: "10px 0 0 0" } },
["Get paid from your workflow. You can change the price and withdraw your earnings on Copus."] [
"Get paid from your workflow. You can change the price and withdraw your earnings on Copus.",
]
), ),
]); ]);
@@ -432,7 +462,7 @@ export class CopusShareDialog extends ComfyDialog {
}); });
const blockChainSection = $el("div", { style: sectionStyle }, [ const blockChainSection = $el("div", { style: sectionStyle }, [
$el("label", { style: labelStyle }, ["7️⃣ Store on blockchain "]), $el("label", { style: labelStyle }, ["8️⃣ Store on blockchain "]),
$el( $el(
"label", "label",
{ {
@@ -463,6 +493,139 @@ export class CopusShareDialog extends ComfyDialog {
), ),
]); ]);
this.ratingRadioButtonsCheck0 = $el("input", {
type: "radio",
name: "content_rating",
value: "0",
id: "content_rating0",
});
this.ratingRadioButtonsCheck1 = $el("input", {
type: "radio",
name: "content_rating",
value: "1",
id: "content_rating1",
});
this.ratingRadioButtonsCheck2 = $el("input", {
type: "radio",
name: "content_rating",
value: "2",
id: "content_rating2",
});
this.ratingRadioButtonsCheck_1 = $el("input", {
type: "radio",
name: "content_rating",
value: "-1",
id: "content_rating_1",
checked: true,
});
// content rating
const contentRatingSection = $el("div", { style: sectionStyle }, [
$el("label", { style: labelStyle }, ["7⃣ Content rating "]),
$el(
"label",
{
style: {
marginTop: "10px",
display: "flex",
alignItems: "center",
cursor: "pointer",
},
},
[
this.ratingRadioButtonsCheck0,
$el("img", {
style: {
width: "12px",
height: "12px",
marginLeft: "5px",
},
src: "https://static.copus.io/images/client/202507/test/b9f17da83b054d53cd0cb4508c2c30dc.png",
}),
$el("span", { style: { marginLeft: "5px", color: "#fff" } }, [
"All ages",
]),
]
),
$el(
"p",
{ style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } },
["Safe for all viewers; no profanity, violence, or mature themes."]
),
$el(
"label",
{ style: { display: "flex", alignItems: "center", cursor: "pointer" } },
[
this.ratingRadioButtonsCheck1,
$el("img", {
style: {
width: "12px",
height: "12px",
marginLeft: "5px",
},
src: "https://static.copus.io/images/client/202507/test/7848bc0d3690671df21c7cf00c4cfc81.png",
}),
$el("span", { style: { marginLeft: "5px", color: "#fff" } }, [
"13+ (Teen)",
]),
]
),
$el(
"p",
{ style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } },
[
"Mild language, light themes, or cartoon violence; no explicit content. ",
]
),
$el(
"label",
{ style: { display: "flex", alignItems: "center", cursor: "pointer" } },
[
this.ratingRadioButtonsCheck2,
$el("img", {
style: {
width: "12px",
height: "12px",
marginLeft: "5px",
},
src: "https://static.copus.io/images/client/202507/test/bc51839c208d68d91173e43c23bff039.png",
}),
$el("span", { style: { marginLeft: "5px", color: "#fff" } }, [
"18+ (Explicit)",
]),
]
),
$el(
"p",
{ style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } },
[
"Explicit content, including sexual content, strong violence, or intense themes. ",
]
),
$el(
"label",
{ style: { display: "flex", alignItems: "center", cursor: "pointer" } },
[
this.ratingRadioButtonsCheck_1,
$el("img", {
style: {
width: "12px",
height: "12px",
marginLeft: "5px",
},
src: "https://static.copus.io/images/client/202507/test/5c802fdcaaea4e7bbed37393eec0d5ba.png",
}),
$el("span", { style: { marginLeft: "5px", color: "#fff" } }, [
"Not Rated",
]),
]
),
$el(
"p",
{ style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } },
["No age rating provided."]
),
]);
// Message Section // Message Section
this.message = $el( this.message = $el(
@@ -526,6 +689,7 @@ export class CopusShareDialog extends ComfyDialog {
DescriptionSection, DescriptionSection,
// contestSection, // contestSection,
blockChainSection_lock, blockChainSection_lock,
contentRatingSection,
blockChainSection, blockChainSection,
this.message, this.message,
buttonsSection, buttonsSection,
@@ -587,7 +751,9 @@ export class CopusShareDialog extends ComfyDialog {
url: data, url: data,
}); });
} else { } else {
throw new Error("make sure your API key is correct and try again later"); throw new Error(
"make sure your API key is correct and try again later"
);
} }
} catch (e) { } catch (e) {
if (e?.response?.status === 413) { if (e?.response?.status === 413) {
@@ -628,8 +794,15 @@ export class CopusShareDialog extends ComfyDialog {
subTitle: this.SubTitleInput.value, subTitle: this.SubTitleInput.value,
content: this.descriptionInput.value, content: this.descriptionInput.value,
storeOnChain: this.radioButtonsCheck.checked ? true : false, storeOnChain: this.radioButtonsCheck.checked ? true : false,
lockState:this.radioButtonsCheck_lock.checked ? 2 : 0, lockState: this.radioButtonsCheck_lock.checked ? 2 : 0,
unlockPrice:this.LockInput.value, unlockPrice: this.LockInput.value,
rating: this.ratingRadioButtonsCheck0.checked
? 0
: this.ratingRadioButtonsCheck1.checked
? 1
: this.ratingRadioButtonsCheck2.checked
? 2
: -1,
}; };
if (!this.keyInput.value) { if (!this.keyInput.value) {
@@ -644,8 +817,8 @@ export class CopusShareDialog extends ComfyDialog {
throw new Error("Title is required"); throw new Error("Title is required");
} }
if(this.radioButtonsCheck_lock.checked){ if (this.radioButtonsCheck_lock.checked) {
if (!this.LockInput.value){ if (!this.LockInput.value) {
throw new Error("Price is required"); throw new Error("Price is required");
} }
} }
@@ -695,23 +868,23 @@ export class CopusShareDialog extends ComfyDialog {
"Uploading workflow..." "Uploading workflow..."
); );
if (res.status && res.data.status && res.data) { if (res.status && res.data.status && res.data) {
localStorage.setItem("copus_token",this.keyInput.value); localStorage.setItem("copus_token", this.keyInput.value);
const { data } = res.data; const { data } = res.data;
if (data) { if (data) {
const url = `${DEFAULT_HOMEPAGE_URL}/work/${data}`; const url = `${DEFAULT_HOMEPAGE_URL}/work/${data}`;
this.message.innerHTML = `Workflow has been shared successfully. <a href="${url}" target="_blank">Click here to view it.</a>`; this.message.innerHTML = `Workflow has been shared successfully. <a href="${url}" target="_blank">Click here to view it.</a>`;
this.previewImage.src = ""; this.previewImage.src = "";
this.previewImage.style.display = "none"; this.previewImage.style.display = "none";
this.uploadedImages = []; this.uploadedImages = [];
this.allFilesImages = []; this.allFilesImages = [];
this.allFiles = []; this.allFiles = [];
this.TitleInput.value = ""; this.TitleInput.value = "";
this.SubTitleInput.value = ""; this.SubTitleInput.value = "";
this.descriptionInput.value = ""; this.descriptionInput.value = "";
this.selectedFile = null; this.selectedFile = null;
} }
} }
} catch (e) { } catch (e) {
throw new Error("Error sharing workflow: " + e.message); throw new Error("Error sharing workflow: " + e.message);
} }
@@ -757,7 +930,7 @@ export class CopusShareDialog extends ComfyDialog {
this.element.style.display = "block"; this.element.style.display = "block";
this.previewImage.src = ""; this.previewImage.src = "";
this.previewImage.style.display = "none"; this.previewImage.style.display = "none";
this.keyInput.value = apiToken!=null?apiToken:""; this.keyInput.value = apiToken != null ? apiToken : "";
this.uploadedImages = []; this.uploadedImages = [];
this.allFilesImages = []; this.allFilesImages = [];
this.allFiles = []; this.allFiles = [];

View File

@@ -714,6 +714,7 @@ export class CustomNodesManager {
link.href = rowItem.reference; link.href = rowItem.reference;
link.target = '_blank'; link.target = '_blank';
link.innerHTML = `<b>${title}</b>`; link.innerHTML = `<b>${title}</b>`;
link.title = rowItem.originalData.id;
container.appendChild(link); container.appendChild(link);
return container; return container;

View File

@@ -4006,6 +4006,29 @@
"size": "649MB" "size": "649MB"
}, },
{
"name": "Comfy-Org/omnigen2_fp16.safetensors",
"type": "diffusion_model",
"base": "OmniGen2",
"save_path": "default",
"description": "OmniGen2 diffusion model. This is required for using OmniGen2.",
"reference": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged",
"filename": "omnigen2_fp16.safetensors",
"url": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/omnigen2_fp16.safetensors",
"size": "7.93GB"
},
{
"name": "Comfy-Org/qwen_2.5_vl_fp16.safetensors",
"type": "clip",
"base": "qwen-2.5",
"save_path": "default",
"description": "text encoder for OmniGen2",
"reference": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged",
"filename": "qwen_2.5_vl_fp16.safetensors",
"url": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged/resolve/main/split_files/text_encoders/qwen_2.5_vl_fp16.safetensors",
"size": "7.51GB"
},
{ {
"name": "FLUX.1 [Schnell] Diffusion model", "name": "FLUX.1 [Schnell] Diffusion model",
"type": "diffusion_model", "type": "diffusion_model",
@@ -4023,7 +4046,7 @@
"type": "VAE", "type": "VAE",
"base": "FLUX.1", "base": "FLUX.1",
"save_path": "vae/FLUX1", "save_path": "vae/FLUX1",
"description": "FLUX.1 VAE model", "description": "FLUX.1 VAE model\nNOTE: This VAE model can also be used for image generation with OmniGen2.",
"reference": "https://huggingface.co/black-forest-labs/FLUX.1-schnell", "reference": "https://huggingface.co/black-forest-labs/FLUX.1-schnell",
"filename": "ae.safetensors", "filename": "ae.safetensors",
"url": "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors", "url": "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors",

View File

@@ -1,5 +1,686 @@
{ {
"custom_nodes": [ "custom_nodes": [
{
"author": "bikiam",
"title": "Comfyui_AudioRecoder",
"reference": "https://github.com/bikiam/Comfyui_AudioRecoder",
"files": [
"https://github.com/bikiam/Comfyui_AudioRecoder"
],
"install_type": "git-clone",
"description": "NODES: AUDIO Recorder"
},
{
"author": "SaulQiu",
"title": "comfyui-saul-plugin [WIP]",
"reference": "https://github.com/SaulQiu/comfyui-saul-plugin",
"files": [
"https://github.com/SaulQiu/comfyui-saul-plugin"
],
"install_type": "git-clone",
"description": "NODES: Cutting Video\nNOTE: The files in the repo are not organized."
},
{
"author": "wasilone11",
"title": "comfyui-sync-translate-node",
"reference": "https://github.com/wasilone11/comfyui-sync-translate-node",
"files": [
"https://github.com/wasilone11/comfyui-sync-translate-node"
],
"install_type": "git-clone",
"description": "NODES: Sync.so Translator"
},
{
"author": "ashllay",
"title": "ComfyUI_MoreComfy",
"reference": "https://github.com/ashllay/ComfyUI_MoreComfy",
"files": [
"https://github.com/ashllay/ComfyUI_MoreComfy"
],
"install_type": "git-clone",
"description": "NODES: MC Switch Seed, MC Switch Image, MC Switch String, MC Alter Seed, MC Set Tile Size, MC Get Image Size, MC Get Image Min Max, MC Multi Concat, MC Multi Concat(Advanced), MC Noise"
},
{
"author": "gaowei-space",
"title": "ComfyUI Doubao LLM [WIP]",
"reference": "https://github.com/gaowei-space/ComfyUI-Doubao-LLM",
"files": [
"https://github.com/gaowei-space/ComfyUI-Doubao-LLM"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for Doubao (ByteDance) LLM and Vision Language Model integration\nNOTE: The files in the repo are not organized."
},
{
"author": "BrettMedia",
"title": "comfyui-bhtools [WIP]",
"reference": "https://github.com/BrettMedia/comfyui-bhtools",
"files": [
"https://github.com/BrettMedia/comfyui-bhtools"
],
"install_type": "git-clone",
"description": "A suite of creative tools designed to help AI artists with continuity, brainstorming, and workflow optimization. Born from real-world needs during my AI journey, these nodes solve common pain points in creative workflows.\nNOTE: The files in the repo are not organized."
},
{
"author": "XiaoHeiziGGG",
"title": "ComfyUI-Gemini-Kontext [WIP]",
"reference": "https://github.com/XiaoHeiziGGG/ComfyUI-Gemini-Kontext",
"files": [
"https://github.com/XiaoHeiziGGG/ComfyUI-Gemini-Kontext"
],
"install_type": "git-clone",
"description": "Google Gemini API powered translation nodes for ComfyUI\nNOTE: The files in the repo are not organized."
},
{
"author": "Bwebbfx",
"title": "ComfyUI Face Parsing Nodes [WIP]",
"reference": "https://github.com/Bwebbfx/ComfyUI_FaceParsing",
"files": [
"https://github.com/Bwebbfx/ComfyUI_FaceParsing"
],
"install_type": "git-clone",
"description": "This package provides ComfyUI nodes for face parsing using BiSeNet (from yakhyo/face-parsing), supporting batch and video workflows.\nNOTE: The files in the repo are not organized."
},
{
"author": "orion4d",
"title": "Unified List Selector for ComfyUI [UNSAFE]",
"reference": "https://github.com/orion4d/ComfyUI_unified_list_selector",
"files": [
"https://github.com/orion4d/ComfyUI_unified_list_selector"
],
"install_type": "git-clone",
"description": "This project is a custom node for ComfyUI that allows you to dynamically load lists from text (.txt) or CSV (.csv) files and select an item to use in your workflow. It features a manual selection mode (via a dropdown list) and a random selection mode, as well as the ability to add prefixes and suffixes to the selected text.[w/This node pack contains a node with a vulnerability that allows reading files from arbitrary paths.]"
},
{
"author": "DiffusionWave-YT",
"title": "DiffusionWave_PickResolution [WIP]",
"reference": "https://github.com/kongds1999/ComfyUI_was_image",
"files": [
"https://github.com/kongds1999/ComfyUI_was_image"
],
"install_type": "git-clone",
"description": "NODES: Replace Color By Palette, ConvertGrayToImage\nNOTE: The files in the repo are not organized."
},
{
"author": "zl9739379",
"title": "ComfyUI Qwen Vision Language API Node [NAME CONFLICT]",
"reference": "https://github.com/zl9739379/comfyui-qwen-vl-api",
"files": [
"https://github.com/zl9739379/comfyui-qwen-vl-api"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node for describing images using Qwen Vision Language models through OpenAI-compatible APIs."
},
{
"author": "bikiam",
"title": "ComfyUi_WhisperGTranslate",
"reference": "https://github.com/bikiam/ComfyUi_WhisperGTranslate",
"files": [
"https://github.com/bikiam/ComfyUi_WhisperGTranslate"
],
"install_type": "git-clone",
"description": "NODES: Whisper + AudioTranslate, Google Translate Node"
},
{
"author": "edgerunner",
"title": "ComfyUI Queue Manager [WIP]",
"reference": "https://github.com/QuietNoise/ComfyUI-Queue-Manager",
"files": [
"https://github.com/QuietNoise/ComfyUI-Queue-Manager"
],
"install_type": "git-clone",
"description": "An extension supporting more streamlined prompt queue management."
},
{
"author": "fylrid2",
"title": "lockValue",
"reference": "https://github.com/fylrid2/comfyui_lock_previous_value",
"files": [
"https://github.com/fylrid2/comfyui_lock_previous_value"
],
"install_type": "git-clone",
"description": "Allows the locking of a nodes value\nNOTE: The files in the repo are not organized."
},
{
"author": "XiaoHeiziGGG",
"title": "ComfyUI Gemini Translator [WIP]",
"reference": "https://github.com/XiaoHeiziGGG/ComfyUI-GeminiTranslator",
"files": [
"https://github.com/XiaoHeiziGGG/ComfyUI-GeminiTranslator"
],
"install_type": "git-clone",
"description": "The API node library of gemini can be translated and recognized.The API node library of gemini can be translated and recognized.\nNOTE: The files in the repo are not organized."
},
{
"author": "DiffusionWave-YT",
"title": "DiffusionWave_PickResolution [WIP]",
"reference": "https://github.com/DiffusionWave-YT/DiffusionWave_PickResolution",
"files": [
"https://github.com/DiffusionWave-YT/DiffusionWave_PickResolution"
],
"install_type": "git-clone",
"description": "Change of resolutions for ComfyUI and Upscalers\nNOTE: The files in the repo are not organized."
},
{
"author": "pixixai",
"title": "ComfyUI_Pixix-Tools [UNSAFE/WIP]",
"reference": "https://github.com/pixixai/ComfyUI_Pixix-Tools",
"files": [
"https://github.com/pixixai/ComfyUI_Pixix-Tools"
],
"install_type": "git-clone",
"description": "Load Text (from folder)\nNOTE: The files in the repo are not organized.[w/The contents of files from arbitrary paths can be read remotely through this node.]"
},
{
"author": "PeterMikhai",
"title": "DoomFLUX Nodes [WIP]",
"reference": "https://github.com/PeterMikhai/Doom_Flux_NodePack",
"files": [
"https://github.com/PeterMikhai/Doom_Flux_NodePack"
],
"install_type": "git-clone",
"description": "Custom nodes for FLUX models, including a loader and specialized samplers for standard and inpaint generation.\nNOTE: The files in the repo are not organized."
},
{
"author": "maque",
"title": "comfyui_video_BC [WIP]",
"reference": "https://github.com/JioJe/comfyui_video_BC",
"files": [
"https://github.com/JioJe/comfyui_video_BC"
],
"install_type": "git-clone",
"description": "Batch load video nodes and save videos in custom paths\nNOTE: The files in the repo are not organized."
},
{
"author": "ZHO-ZHO-ZHO",
"title": "ComfyUI-Gemini [NAME CONFLICT]",
"id": "gemini",
"reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini",
"files": [
"https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini"
],
"install_type": "git-clone",
"description": "Using Gemini-pro & Gemini-pro-vision in ComfyUI."
},
{
"author": "No-22-Github",
"title": "ComfyUI_SaveImageCustom",
"reference": "https://github.com/No-22-Github/ComfyUI_SaveImageCustom",
"files": [
"https://github.com/No-22-Github/ComfyUI_SaveImageCustom"
],
"install_type": "git-clone",
"description": "NODES: Fish-Speech Loader, Fish-Speech TTS, Fish-Speech Audio Preview"
},
{
"author": "jiafuzeng",
"title": "comfyui-fishSpeech",
"reference": "https://github.com/jiafuzeng/comfyui-fishSpeech",
"files": [
"https://github.com/jiafuzeng/comfyui-fishSpeech"
],
"install_type": "git-clone",
"description": "NODES: Save Image (Dir + Name)"
},
{
"author": "bleash-dev",
"title": "ComfyUI-Auth-Manager",
"reference": "https://github.com/bleash-dev/ComfyUI-Auth-Manager",
"files": [
"https://github.com/bleash-dev/ComfyUI-Auth-Manager"
],
"install_type": "git-clone",
"description": "A custom node that provides email/password authentication for ComfyUI pods with a beautiful modal interface."
},
{
"author": "robertvoy",
"title": "ComfyUI-Distributed [WIP]",
"reference": "https://github.com/robertvoy/ComfyUI-Distributed",
"files": [
"https://github.com/robertvoy/ComfyUI-Distributed"
],
"install_type": "git-clone",
"description": "A custom node extension for ComfyUI that enables distributed image generation across multiple GPUs through a master-worker architecture."
},
{
"author": "filliptm",
"title": "ComfyUI_Fill-Node-Loader [WIP]",
"reference": "https://github.com/filliptm/ComfyUI_Fill-Node-Loader",
"files": [
"https://github.com/filliptm/ComfyUI_Fill-Node-Loader"
],
"install_type": "git-clone",
"description": "A ComfyUI plugin to simplify loading and managing custom nodes with a sidebar interface."
},
{
"author": "diogod",
"title": "Comfy Inpainting Works [WIP]",
"reference": "https://github.com/diodiogod/Comfy-Inpainting-Works",
"files": [
"https://github.com/diodiogod/Comfy-Inpainting-Works"
],
"install_type": "git-clone",
"description": "Go to the top menu>Workflow>Browse Templates. This is a collection of my Inpainting workflows for Flux (expanded and COMPACT) + others. Previously called: 'Proper Flux Control-Net inpainting and/or outpainting with batch size - Alimama or Flux Fill'. By installing this 'node' you can always keep them up to date by updating on the manager. This is not a new custom node. You will still need to install all other custom nodes used on the workflows. You will also find my 'Flux LoRA Block Weights Preset Tester' here as well.\nNOTE: The files in the repo are not organized."
},
{
"author": "Malloc-pix",
"title": "comfyui-QwenVL",
"reference": "https://github.com/Malloc-pix/comfyui-QwenVL",
"files": [
"https://github.com/Malloc-pix/comfyui-QwenVL"
],
"install_type": "git-clone",
"description": "NODES: Qwen2.5VL, Qwen2.5"
},
{
"author": "artifyfun",
"title": "ComfyUI-JS [UNSAFE]",
"reference": "https://github.com/artifyfun/ComfyUI-JS",
"files": [
"https://github.com/artifyfun/ComfyUI-JS"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node capable of executing JavaScript code: it takes JavaScript code as input and outputs the execution result.[w/This extension has an XSS vulnerability that can be triggered through workflow execution.]"
},
{
"author": "OgreLemonSoup",
"title": "ComfyUI-Notes-manager",
"reference": "https://github.com/OgreLemonSoup/ComfyUI-Notes-manager",
"files": [
"https://github.com/OgreLemonSoup/ComfyUI-Notes-manager"
],
"install_type": "git-clone",
"description": "This extension provides the note feature."
},
{
"author": "WozStudios",
"title": "ComfyUI-WozNodes",
"reference": "https://github.com/WozStudios/ComfyUI-WozNodes",
"files": [
"https://github.com/WozStudios/ComfyUI-WozNodes"
],
"install_type": "git-clone",
"description": "NODES: Trim Image Batch, Create Image Batch, Select Image Batch by Mask, Advanced Batch Creator"
},
{
"author": "DDDDEEP",
"title": "ComfyUI-DDDDEEP",
"reference": "https://github.com/DDDDEEP/ComfyUI-DDDDEEP",
"files": [
"https://github.com/DDDDEEP/ComfyUI-DDDDEEP"
],
"install_type": "git-clone",
"description": "NODES: AutoWidthHeight, ReturnIntSeed, OppositeBool, PromptItemCollection"
},
{
"author": "stalkervr",
"title": "comfyui-custom-path-nodes [UNSAFE]",
"reference": "https://github.com/stalkervr/comfyui-custom-path-nodes",
"files": [
"https://github.com/stalkervr/comfyui-custom-path-nodes"
],
"install_type": "git-clone",
"description": "Nodes for path handling and image cropping.[w/This nodepack has a vulnerability that allows remote access to arbitrary file paths.]"
},
{
"author": "vovler",
"title": "comfyui-vovlertools",
"reference": "https://github.com/vovler/ComfyUI-vovlerTools",
"files": [
"https://github.com/vovler/ComfyUI-vovlerTools"
],
"install_type": "git-clone",
"description": "Advanced ComfyUI nodes for WD14 tagging, image filtering, and CLIP to TensorRT conversion"
},
{
"author": "ELiZswe",
"title": "ComfyUI-ELiZTools",
"reference": "https://github.com/ELiZswe/ComfyUI-ELiZTools",
"files": [
"https://github.com/ELiZswe/ComfyUI-ELiZTools"
],
"install_type": "git-clone",
"description": "ELIZ Tools"
},
{
"author": "yamanacn",
"title": "comfyui_qwenbbox",
"reference": "https://github.com/yamanacn/comfyui_qwenbbox",
"files": [
"https://github.com/yamanacn/comfyui_qwenbbox"
],
"install_type": "git-clone",
"description": "NODES: Load Qwen Model (v2), Qwen Bbox Detection, Prepare BBox for SAM (v2)"
},
{
"author": "mikheys",
"title": "ComfyUI-mikheys",
"reference": "https://github.com/mikheys/ComfyUI-mikheys",
"files": [
"https://github.com/mikheys/ComfyUI-mikheys"
],
"install_type": "git-clone",
"description": "NODES: WAN Optimal Resolution Selector, WAN Show Image Dimensions"
},
{
"author": "iacoposk8",
"title": "ComfyUI XOR Pickle Nodes",
"reference": "https://github.com/iacoposk8/xor_pickle_nodes",
"files": [
"https://github.com/iacoposk8/xor_pickle_nodes"
],
"install_type": "git-clone",
"description": "Two custom nodes for ComfyUI that allow you to encrypt and decrypt Python objects using simple XOR encryption with pickle."
},
{
"author": "yamanacn",
"title": "comfyui_qwen_object [WIP]",
"reference": "https://github.com/yamanacn/comfyui_qwen_object",
"files": [
"https://github.com/yamanacn/comfyui_qwen_object"
],
"install_type": "git-clone",
"description": "This is a custom node for ComfyUI that integrates the Qwen vision model for tasks such as object detection.\nNOTE: The files in the repo are not organized."
},
{
"author": "neverbiasu",
"title": "ComfyUI-Show-o [WIP]",
"reference": "https://github.com/neverbiasu/ComfyUI-Show-o",
"files": [
"https://github.com/neverbiasu/ComfyUI-Show-o"
],
"install_type": "git-clone",
"description": "NODES: Show-o Model Loader, Show-o Text to Image, Show-o Image Captioning, Show-o Image Inpainting"
},
{
"author": "visualbruno",
"title": "ComfyUI-Hunyuan3d-2-1",
"reference": "https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1",
"files": [
"https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1"
],
"install_type": "git-clone",
"description": "NODES: Hunyuan 3D 2.1 Mesh Generator, Hunyuan 3D 2.1 MultiViews Generator, Hunyuan 3D 2.1 Bake MultiViews, Hunyuan 3D 2.1 InPaint, Hunyuan 3D 2.1 Camera Config"
},
{
"author": "zyquon",
"title": "ComfyUI Stash",
"reference": "https://github.com/zyquon/ComfyUI-Stash",
"files": [
"https://github.com/zyquon/ComfyUI-Stash"
],
"install_type": "git-clone",
"description": "Nodes to use Stash within Comfy workflows"
},
{
"author": "tankenyuen-ola",
"title": "comfyui-env-variable-reader [UNSAFE]",
"reference": "https://github.com/tankenyuen-ola/comfyui-env-variable-reader",
"files": [
"https://github.com/tankenyuen-ola/comfyui-env-variable-reader"
],
"install_type": "git-clone",
"description": "NODES: Environment Variable Reader [w/Installing this node may expose environment variables that contain sensitive information such as API keys.]"
},
{
"author": "ftf001-tech",
"title": "ComfyUI-Lucian [WIP]",
"reference": "https://github.com/ftf001-tech/ComfyUI-ExternalLLMDetector",
"files": [
"https://github.com/ftf001-tech/ComfyUI-ExternalLLMDetector"
],
"install_type": "git-clone",
"description": "These nodes allow you to configure LLM API connections, send images with custom prompts, and convert the LLM's JSON bounding box responses into a format compatible with segmentation nodes like SAM2\nNOTE: The files in the repo are not organized."
},
{
"author": "LucianGnn",
"title": "ComfyUI-Lucian [WIP]",
"reference": "https://github.com/LucianGnn/ComfyUI-Lucian",
"files": [
"https://github.com/LucianGnn/ComfyUI-Lucian"
],
"install_type": "git-clone",
"description": "NODES: Audio Duration Calculator\nNOTE: The files in the repo are not organized."
},
{
"author": "akatz-ai",
"title": "ComfyUI-Execution-Inversion",
"reference": "https://github.com/akatz-ai/ComfyUI-Execution-Inversion",
"files": [
"https://github.com/akatz-ai/ComfyUI-Execution-Inversion"
],
"install_type": "git-clone",
"description": "Contains nodes related to the new execution inversion engine in ComfyUI. Node pack originally from [a/https://github.com/BadCafeCode/execution-inversion-demo-comfyui](https://github.com/BadCafeCode/execution-inversion-demo-comfyui)"
},
{
"author": "mamorett",
"title": "comfyui_minicpm_vision",
"reference": "https://github.com/mamorett/comfyui_minicpm_vision",
"files": [
"https://github.com/mamorett/comfyui_minicpm_vision"
],
"install_type": "git-clone",
"description": "NODES: MiniCPM Vision GGUF"
},
{
"author": "BigStationW",
"title": "flowmatch_scheduler-comfyui",
"reference": "https://github.com/BigStationW/flowmatch_scheduler-comfyui",
"files": [
"https://github.com/BigStationW/flowmatch_scheduler-comfyui"
],
"install_type": "git-clone",
"description": "NODES: FlowMatchSigmas"
},
{
"author": "casterpollux",
"title": "MiniMax-bmo",
"reference": "https://github.com/casterpollux/MiniMax-bmo",
"files": [
"https://github.com/casterpollux/MiniMax-bmo"
],
"install_type": "git-clone",
"description": "ComfyUI MiniMax Remover Node"
},
{
"author": "franky519",
"title": "ComfyUI Face Four Image Matcher [WIP]",
"reference": "https://github.com/franky519/comfyui_fnckc_Face_analysis",
"files": [
"https://github.com/franky519/comfyui_fnckc_Face_analysis"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for four face image matching and face swap control\nNOTE: Invalid pyproject.toml"
},
{
"author": "bleash-dev",
"title": "Comfyui-Iddle-Checker",
"reference": "https://github.com/bleash-dev/Comfyui-Idle-Checker",
"files": [
"https://github.com/bleash-dev/Comfyui-Idle-Checker"
],
"install_type": "git-clone",
"description": "front extension for idle checker"
},
{
"author": "fangg2000",
"title": "ComfyUI-StableAudioFG [WIP]",
"reference": "https://github.com/fangg2000/ComfyUI-StableAudioFG",
"files": [
"https://github.com/fangg2000/ComfyUI-StableAudioFG"
],
"install_type": "git-clone",
"description": "The ComfyUI plugin for stable-audio (supports offline use)\nNOTE: The files in the repo are not organized."
},
{
"author": "hdfhssg",
"title": "comfyui_EvoSearch [WIP]",
"reference": "https://github.com/hdfhssg/comfyui_EvoSearch",
"files": [
"https://github.com/hdfhssg/comfyui_EvoSearch"
],
"install_type": "git-clone",
"description": "NODES: EvoSearch_FLUX, EvoSearch_SD21, EvoSearch_WAN, EvolutionScheduleGenerator, GuidanceRewardsGenerator"
},
{
"author": "simonjaq",
"title": "ComfyUI-sjnodes",
"reference": "https://github.com/simonjaq/ComfyUI-sjnodes",
"files": [
"https://github.com/simonjaq/ComfyUI-sjnodes"
],
"install_type": "git-clone",
"description": "Some modified ComfyUI custom nodes"
},
{
"author": "A4P7J1N7M05OT",
"title": "ComfyUI-VAELoaderSDXLmod",
"reference": "https://github.com/A4P7J1N7M05OT/ComfyUI-VAELoaderSDXLmod",
"files": [
"https://github.com/A4P7J1N7M05OT/ComfyUI-VAELoaderSDXLmod"
],
"install_type": "git-clone",
"description": "NODES: Modified SDXL VAE Loader, Empty Latent Image Variable"
},
{
"author": "xzuyn",
"title": "xzuynodes-ComfyUI",
"reference": "https://github.com/xzuyn/ComfyUI-xzuynodes",
"files": [
"https://github.com/xzuyn/ComfyUI-xzuynodes"
],
"install_type": "git-clone",
"description": "NODES: First/Last Frame (XZ), Resize Image (Original KJ), Resize Image (XZ), CLIP Text Encode (XZ), Load CLIP (XZ), TripleCLIPLoader (XZ), WanImageToVideo (XZ)"
},
{
"author": "gilons",
"title": "ComfyUI-GoogleDrive-Downloader [UNSAFE]",
"reference": "https://github.com/gilons/ComfyUI-GoogleDrive-Downloader",
"files": [
"https://github.com/gilons/ComfyUI-GoogleDrive-Downloader"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for downloading files from Google Drive.[w/There is a vulnerability that allows saving a remote file to an arbitrary local path.]"
},
{
"author": "moonwhaler",
"title": "ComfyUI-FileBrowserAPI [UNSAFE]",
"reference": "https://github.com/GalactusX31/ComfyUI-FileBrowserAPI",
"files": [
"https://github.com/GalactusX31/ComfyUI-FileBrowserAPI"
],
"install_type": "git-clone",
"description": "A general-purpose, dependency-free File and Folder Browser API for ComfyUI custom nodes.[w/path traversal vulnerability]"
},
{
"author": "moonwhaler",
"title": "comfyui-moonpack",
"reference": "https://github.com/moonwhaler/comfyui-moonpack",
"files": [
"https://github.com/moonwhaler/comfyui-moonpack"
],
"install_type": "git-clone",
"description": "NODES: Proportional Dimension, Simple String Replace, Regex String Replace, VACE Looper Frame Scheduler"
},
{
"author": "DreamsInAutumn",
"title": "ComfyUI-Autumn-LLM-Nodes",
"reference": "https://github.com/DreamsInAutumn/ComfyUI-Autumn-LLM-Nodes",
"files": [
"https://github.com/DreamsInAutumn/ComfyUI-Autumn-LLM-Nodes"
],
"install_type": "git-clone",
"description": "NODES: Gemini-Image-To-Prompt, Gemini-Prompt-Builder, LLM-Prompt-Builder"
},
{
"author": "alexgenovese",
"title": "ComfyUI-Reica",
"reference": "https://github.com/alexgenovese/ComfyUI-Reica",
"files": [
"https://github.com/alexgenovese/ComfyUI-Reica"
],
"install_type": "git-clone",
"description": "NODES: 'Reica GCP: Read Image', 'Reica GCP: Write Image & Get URL', 'Reica Text Image Display', 'Reica Read Image URL', 'Reica URL Image Loader Filename', 'Reica API: Send HTTP Notification', 'Insert Anything'"
},
{
"author": "yichengup",
"title": "ComfyUI-Transition",
"reference": "https://github.com/yichengup/ComfyUI-Transition",
"files": [
"https://github.com/yichengup/ComfyUI-Transition"
],
"install_type": "git-clone",
"description": "NODES: Linear Transition, Gradient Transition, Dual Line Transition, Sequence Transition, Circular Transition, Circular Sequence Transition"
},
{
"author": "wildminder",
"title": "ComfyUI-MagCache [NAME CONFLICT|WIP]",
"reference": "https://github.com/wildminder/ComfyUI-MagCache",
"files": [
"https://github.com/wildminder/ComfyUI-MagCache"
],
"install_type": "git-clone",
"description": "official implementation of [zehong-ma/MagCache](https://github.com/zehong-ma/MagCache) for ComfyUI"
},
{
"author": "laubsauger",
"title": "ComfyUI Storyboard [WIP]",
"reference": "https://github.com/laubsauger/comfyui-storyboard",
"files": [
"https://github.com/laubsauger/comfyui-storyboard"
],
"install_type": "git-clone",
"description": "This custom node for ComfyUI provides a markdown renderer to display formatted text and notes within your workflow."
},
{
"author": "IsItDanOrAi",
"title": "ComfyUI-exLoadout [WIP]",
"reference": "https://github.com/IsItDanOrAi/ComfyUI-exLoadout",
"files": [
"https://github.com/IsItDanOrAi/ComfyUI-exLoadout"
],
"install_type": "git-clone",
"description": "exLoadout is a suite of lightweight ComfyUI custom nodes that let you define and switch between full 'loadouts' stored in an Excel sheet. A loadout could include any node inputs that expect string values—models (checkpoints, CLIP, VAE, ControlNets, LoRAs, UNets), numeric or text variables (CFG, sampler names, scheduler types, etc.)—all pulled from a row in your sheet. By selecting a row, you instantly apply all of its settings in your workflow, with builtin support for editing and reading those cells right inside the UI.\nNOTE: The files in the repo are not organized."
},
{
"author": "grokuku",
"title": "ComfyUI-Holaf-Terminal [UNSAFE]",
"reference": "https://github.com/grokuku/ComfyUI-Holaf-Utilities",
"files": [
"https://github.com/grokuku/ComfyUI-Holaf-Utilities"
],
"install_type": "git-clone",
"description": "Interactive Terminal in a node for ComfyUI[w/This custom extension provides a remote web-based shell (terminal) interface to the machine running the ComfyUI server. By installing and using this extension, you are opening a direct, powerful, and potentially dangerous access point to your system.]"
},
{
"author": "whmc76",
"title": "ComfyUI-LongTextTTSSuite [WIP]",
"reference": "https://github.com/whmc76/ComfyUI-LongTextTTSSuite",
"files": [
"https://github.com/whmc76/ComfyUI-LongTextTTSSuite"
],
"install_type": "git-clone",
"description": "This plugin can cut txt or srt files, hand them over to TTS for speech slicing generation, and synthesize long speech\nNOTE: The files in the repo are not organized."
},
{
"author": "usrname0",
"title": "ComfyUI-AllergicPack [WIP]",
"reference": "https://github.com/usrname0/ComfyUI-AllergicPack",
"files": [
"https://github.com/usrname0/ComfyUI-AllergicPack"
],
"install_type": "git-clone",
"description": "This package is not ready for primetime but I'm making it public anyway. If I'm using the node then I'm putting it here. Might make it more official later. Use at your own risk."
},
{
"author": "spawner",
"title": "comfyui-spawner-nodes",
"reference": "https://github.com/spawner1145/comfyui-spawner-nodes",
"files": [
"https://github.com/spawner1145/comfyui-spawner-nodes"
],
"install_type": "git-clone",
"description": "NODES: Read Image Metadata, JSON process, Text Encoder/Decoder"
},
{ {
"author": "cesilk10", "author": "cesilk10",
"title": "cesilk-comfyui-nodes", "title": "cesilk-comfyui-nodes",
@@ -299,7 +980,7 @@
"https://github.com/EQXai/ComfyUI_EQX" "https://github.com/EQXai/ComfyUI_EQX"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "NODES: SaveImage_EQX, File Image Selector, Load Prompt From File - EQX, LoraStackEQX_random, Extract Filename - EQX, Extract LORA name - EQX" "description": "NODES: SaveImage_EQX, File Image Selector, Load Prompt From File - EQX, LoraStackEQX_random, Extract Filename - EQX, Extract LORA name - EQX, NSFW Detector EQX, NSFW Detector Advanced EQX"
}, },
{ {
"author": "yincangshiwei", "author": "yincangshiwei",
@@ -581,16 +1262,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "Node for LoRA stack management in ComfyUI\nNOTE: The files in the repo are not organized." "description": "Node for LoRA stack management in ComfyUI\nNOTE: The files in the repo are not organized."
}, },
{
"author": "Good-Dream-Studio",
"title": "ComfyUI-Connect [WIP]",
"reference": "https://github.com/Good-Dream-Studio/ComfyUI-Connect",
"files": [
"https://github.com/Good-Dream-Studio/ComfyUI-Connect"
],
"install_type": "git-clone",
"description": "Transform your ComfyUI into a powerful API, exposing all your saved workflows as ready-to-use HTTP endpoints."
},
{ {
"author": "fuzr0dah", "author": "fuzr0dah",
"title": "comfyui-sceneassembly", "title": "comfyui-sceneassembly",
@@ -671,16 +1342,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "NODES: QLoadLatent, QLinearScheduler, QPreviewLatent, QGaussianLatent, QUniformLatent, QKSampler" "description": "NODES: QLoadLatent, QLinearScheduler, QPreviewLatent, QGaussianLatent, QUniformLatent, QKSampler"
}, },
{
"author": "wTechArtist",
"title": "ComfyUI_WWL_Florence2SAM2",
"reference": "https://github.com/wTechArtist/ComfyUI_VVL_SAM2",
"files": [
"https://github.com/wTechArtist/ComfyUI_VVL_SAM2"
],
"install_type": "git-clone",
"description": "NODES: WWL_Florence2SAM2"
},
{ {
"author": "virallover", "author": "virallover",
"reference": "https://github.com/maizerrr/comfyui-code-nodes", "reference": "https://github.com/maizerrr/comfyui-code-nodes",
@@ -770,16 +1431,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "Compare and save unique workflows, count tokens in prompt, and other utility." "description": "Compare and save unique workflows, count tokens in prompt, and other utility."
}, },
{
"author": "Maxed-Out-99",
"title": "ComfyUI-MaxedOut",
"reference": "https://github.com/Maxed-Out-99/ComfyUI-MaxedOut",
"files": [
"https://github.com/Maxed-Out-99/ComfyUI-MaxedOut"
],
"install_type": "git-clone",
"description": "Custom ComfyUI nodes used in Maxed Out workflows (SDXL, Flux, etc.)"
},
{ {
"author": "VictorLopes643", "author": "VictorLopes643",
"title": "ComfyUI-Video-Dataset-Tools [WIP]", "title": "ComfyUI-Video-Dataset-Tools [WIP]",
@@ -1330,16 +1981,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "A custom ComfyUI node for generating images using the HiDream AI model.\nNOTE: The files in the repo are not organized." "description": "A custom ComfyUI node for generating images using the HiDream AI model.\nNOTE: The files in the repo are not organized."
}, },
{
"author": "AJO-reading",
"title": "ComfyUI-AjoNodes [WIP]",
"reference": "https://github.com/AJO-reading/ComfyUI-AjoNodes",
"files": [
"https://github.com/AJO-reading/ComfyUI-AjoNodes"
],
"install_type": "git-clone",
"description": "A collection of custom nodes designed for ComfyUI from the AJO-reading organization. This repository currently includes the Audio Collect & Concat node, which collects multiple audio segments and concatenates them into a single audio stream.\nNOTE: The files in the repo are not organized."
},
{ {
"author": "ZenAI-Vietnam", "author": "ZenAI-Vietnam",
"title": "ComfyUI_InfiniteYou [NAME CONFLICT]", "title": "ComfyUI_InfiniteYou [NAME CONFLICT]",
@@ -1831,16 +2472,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "A lightweight node pack for ComfyUI that adds a few handy nodes that I use in my workflows" "description": "A lightweight node pack for ComfyUI that adds a few handy nodes that I use in my workflows"
}, },
{
"author": "markuryy",
"title": "ComfyUI Spiritparticle Nodes [WIP]",
"reference": "https://github.com/markuryy/comfyui-spiritparticle",
"files": [
"https://github.com/markuryy/comfyui-spiritparticle"
],
"install_type": "git-clone",
"description": "A node pack by spiritparticle."
},
{ {
"author": "CeeVeeR", "author": "CeeVeeR",
"title": "ComfyUi-Text-Tiler", "title": "ComfyUi-Text-Tiler",
@@ -1991,16 +2622,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "Wrapper for the Sa2VA model" "description": "Wrapper for the Sa2VA model"
}, },
{
"author": "S4MUEL-404",
"title": "ComfyUI-Folder-Images-Preview [UNSAFE]",
"reference": "https://github.com/S4MUEL-404/ComfyUI-Folder-Images-Preview",
"files": [
"https://github.com/S4MUEL-404/ComfyUI-Folder-Images-Preview"
],
"install_type": "git-clone",
"description": "A ComfyUI nodes , Generate a picture and quickly preview the pictures in the folder and the picture file name\n[w/This custom node has a path traversal vulnerability.]"
},
{ {
"author": "aria1th", "author": "aria1th",
"title": "ComfyUI-camietagger-onnx", "title": "ComfyUI-camietagger-onnx",
@@ -2645,13 +3266,13 @@
}, },
{ {
"author": "HuangYuChuh", "author": "HuangYuChuh",
"title": "ComfyUI-DeepSeek-Toolkit [WIP]", "title": "ComfyUI-LLMs-Toolkit [WIP]",
"reference": "https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit", "reference": "https://github.com/HuangYuChuh/ComfyUI-LLMs-Toolkit",
"files": [ "files": [
"https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit" "https://github.com/HuangYuChuh/ComfyUI-LLMs-Toolkit"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "ComfyUI-DeepSeek-Toolkit is a deep learning toolkit for ComfyUI that integrates the DeepSeek Janus model, offering functionalities for image generation and image understanding.\nNOTE: The files in the repo are not organized." "description": "Enhance your ComfyUI workflows with powerful LLMs! This custom node suite integrates DeepSeek, Qwen, and other leading Chinese LLMs directly into your ComfyUI environment. Create innovative AI-powered applications with a range of useful nodes designed to leverage the advanced capabilities of these LLMs for image generation, understanding, and more.\nNOTE: The files in the repo are not organized."
}, },
{ {
"author": "comfyuiblog", "author": "comfyuiblog",
@@ -3408,7 +4029,7 @@
}, },
{ {
"author": "kijai", "author": "kijai",
"title": "ComfyUI-MMAudio", "title": "ComfyUI-MMAudio [WIP]",
"reference": "https://github.com/kijai/ComfyUI-MMAudio", "reference": "https://github.com/kijai/ComfyUI-MMAudio",
"files": [ "files": [
"https://github.com/kijai/ComfyUI-MMAudio" "https://github.com/kijai/ComfyUI-MMAudio"
@@ -3837,8 +4458,8 @@
"files": [ "files": [
"https://github.com/suncat2ps/ComfyUI-SaveImgNextcloud" "https://github.com/suncat2ps/ComfyUI-SaveImgNextcloud"
], ],
"description": "NODES:Save Image to Nextcloud", "install_type": "git-clone",
"install_type": "git-clone" "description": "NODES: Save Image to Nextcloud"
}, },
{ {
"author": "KoreTeknology", "author": "KoreTeknology",
@@ -4078,7 +4699,7 @@
"https://github.com/rouxianmantou/comfyui-rxmt-nodes" "https://github.com/rouxianmantou/comfyui-rxmt-nodes"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "NODES:Check Value Type, Why Prompt Text" "description": "NODES: Check Value Type, Why Prompt Text"
}, },
{ {
"author": "SirVeggie", "author": "SirVeggie",

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,15 @@
{ {
"custom_nodes": [ "custom_nodes": [
{
"author": "joaomede",
"title": "ComfyUI-Unload-Model-Fork",
"reference": "https://github.com/joaomede/ComfyUI-Unload-Model-Fork",
"files": [
"https://github.com/joaomede/ComfyUI-Unload-Model-Fork"
],
"install_type": "git-clone",
"description": "For unloading a model or all models, using the memory management that is already present in ComfyUI. Copied from [a/https://github.com/willblaschko/ComfyUI-Unload-Models](https://github.com/willblaschko/ComfyUI-Unload-Models) but without the unnecessary extra stuff."
},
{ {
"author": "SanDiegoDude", "author": "SanDiegoDude",
"title": "ComfyUI-HiDream-Sampler [WIP]", "title": "ComfyUI-HiDream-Sampler [WIP]",

View File

@@ -1,5 +1,281 @@
{ {
"custom_nodes": [ "custom_nodes": [
{
"author": "MitoshiroPJ",
"title": "ComfyUI Slothful Attention [REMOVED]",
"reference": "https://github.com/MitoshiroPJ/comfyui_slothful_attention",
"files": [
"https://github.com/MitoshiroPJ/comfyui_slothful_attention"
],
"install_type": "git-clone",
"description": "This custom node allow controlling output without training. The reducing method is similar to [a/Spatial-Reduction Attention](https://paperswithcode.com/method/spatial-reduction-attention)."
},
{
"author": "MitoshiroPJ",
"title": "comfyui_focal_sampler [REMOVED]",
"reference": "https://github.com/MitoshiroPJ/comfyui_focal_sampler",
"files": [
"https://github.com/MitoshiroPJ/comfyui_focal_sampler"
],
"install_type": "git-clone",
"description": "Apply additional sampling to specific area"
},
{
"author": "manifestations",
"title": "ComfyUI Ethnic Outfit & Prompt Enhancer Nodes [REMOVED]",
"reference": "https://github.com/manifestations/comfyui-indian-outfit",
"files": [
"https://github.com/manifestations/comfyui-indian-outfit"
],
"install_type": "git-clone",
"description": "Features:\n* Extensive options for Indian, Indonesian, and international clothing, jewelry, accessories, and styles\n* Multiple jewelry and accessory fields (with material support: gold, diamond, silver, leather, beads, etc.)\n* Support for tattoos, henna, hair styles, poses, shot types, lighting, and photography genres\n* Seamless prompt expansion using your own Ollama LLM instance\n* Modular, extensible JSON data files for easy customization"
},
{
"author": "coVISIONSld",
"title": "ComfyUI-OmniGen2 [REMOVED]",
"reference": "https://github.com/coVISIONSld/ComfyUI-OmniGen2",
"files": [
"https://github.com/coVISIONSld/ComfyUI-OmniGen2"
],
"install_type": "git-clone",
"description": "ComfyUI-OmniGen2 is a custom node package for the OmniGen2 model, enabling advanced text-to-image generation and visual understanding."
},
{
"author": "S4MUEL-404",
"title": "ComfyUI-S4Tool-Image-Overlay [REMOVED]",
"reference": "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay",
"files": [
"https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay"
],
"install_type": "git-clone",
"description": "Quickly set up image overlay effects"
},
{
"author": "akspa0",
"title": "ComfyUI-FapMixPlus [REMOVED]",
"reference": "https://github.com/akspa0/ComfyUI-FapMixPlus",
"files": [
"https://github.com/akspa0/ComfyUI-FapMixPlus"
],
"install_type": "git-clone",
"description": "This is an audio processing script that applies soft limiting, optional loudness normalization, and optional slicing for transcription. It can also produce stereo-mixed outputs with optional audio appended to the end. The script organizes processed files into structured folders with sanitized filenames and retains original timestamps for continuity."
},
{
"author": "RedmondAI",
"title": "comfyui-tools [UNSAFE]",
"reference": "https://github.com/RedmondAI/comfyui-tools",
"files": [
"https://github.com/RedmondAI/comfyui-tools"
],
"install_type": "git-clone",
"description": "Custom extensions for ComfyUI used by the Redmond3D VFX team.[w/This node pack has a vulnerability that allows it to create files at arbitrary paths.]"
},
{
"author": "S4MUEL-404",
"title": "Image Position Blend [REMOVED]",
"id": "ComfyUI-Image-Position-Blend",
"version": "1.1",
"reference": "https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend",
"files": [
"https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend"
],
"install_type": "git-clone",
"description": "A custom node for conveniently adjusting the overlay position of two images."
},
{
"author": "S4MUEL-404",
"title": "ComfyUI-Text-On-Image [REMOVED]",
"id": "ComfyUI-Text-On-Image",
"reference": "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image",
"files": [
"https://github.com/S4MUEL-404/ComfyUI-Text-On-Image"
],
"install_type": "git-clone",
"description": "A custom node for ComfyUI that allows users to add text overlays to images with customizable size, font, position, and shadow."
},
{
"author": "S4MUEL-404",
"title": "ComfyUI-Prompts-Selector [REMOVED]",
"reference": "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector",
"files": [
"https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector"
],
"install_type": "git-clone",
"description": "Quickly select preset prompts and merge them"
},
{
"author": "juntaosun",
"title": "ComfyUI_open_nodes [REMOVED]",
"reference": "https://github.com/juntaosun/ComfyUI_open_nodes",
"files": [
"https://github.com/juntaosun/ComfyUI_open_nodes"
],
"install_type": "git-clone",
"description": "ComfyUI open nodes by juntaosun."
},
{
"author": "perilli",
"title": "apw_nodes [DEPRECATED]",
"reference": "https://github.com/alessandroperilli/apw_nodes",
"files": [
"https://github.com/alessandroperilli/apw_nodes"
],
"install_type": "git-clone",
"description": "A custom node suite to augment the capabilities of the [a/AP Workflows for ComfyUI](https://perilli.com/ai/comfyui/)[w/'APW_Nodes' has been newly added in place of 'apw_nodes'.]"
},
{
"author": "markuryy",
"title": "ComfyUI Spiritparticle Nodes [REMOVED]",
"reference": "https://github.com/markuryy/comfyui-spiritparticle",
"files": [
"https://github.com/markuryy/comfyui-spiritparticle"
],
"install_type": "git-clone",
"description": "A node pack by spiritparticle."
},
{
"author": "SpaceKendo",
"title": "Text to video for Stable Video Diffusion in ComfyUI [REMOVED]",
"id": "svd-txt2vid",
"reference": "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid",
"files": [
"https://github.com/SpaceKendo/ComfyUI-svd_txt2vid"
],
"install_type": "git-clone",
"description": "This is node replaces the init_image conditioning for the [a/Stable Video Diffusion](https://github.com/Stability-AI/generative-models) image to video model with text embeds, together with a conditioning frame. The conditioning frame is a set of latents."
},
{
"author": "vovler",
"title": "ComfyUI Civitai Helper Extension [REMOVED]",
"reference": "https://github.com/vovler/comfyui-civitaihelper",
"files": [
"https://github.com/vovler/comfyui-civitaihelper"
],
"install_type": "git-clone",
"description": "ComfyUI extension for parsing Civitai PNG workflows and automatically downloading missing models"
},
{
"author": "DriftJohnson",
"title": "DJZ-Nodes [REMOVED]",
"id": "DJZ-Nodes",
"reference": "https://github.com/MushroomFleet/DJZ-Nodes",
"files": [
"https://github.com/MushroomFleet/DJZ-Nodes"
],
"install_type": "git-clone",
"description": "AspectSize and other nodes"
},
{
"author": "DriftJohnson",
"title": "KokoroTTS Node [REMOVED]",
"reference": "https://github.com/MushroomFleet/DJZ-KokoroTTS",
"files": [
"https://github.com/MushroomFleet/DJZ-KokoroTTS"
],
"install_type": "git-clone",
"description": "This node provides advanced text-to-speech functionality powered by KokoroTTS. Follow the instructions below to install, configure, and use the node within your portable ComfyUI installation."
},
{
"author": "MushroomFleet",
"title": "DJZ-Pedalboard [REMOVED]",
"reference": "https://github.com/MushroomFleet/DJZ-Pedalboard",
"files": [
"https://github.com/MushroomFleet/DJZ-Pedalboard"
],
"install_type": "git-clone",
"description": "This project provides a collection of custom nodes designed for enhanced audio effects in ComfyUI. With an intuitive pedalboard interface, users can easily integrate and manipulate various audio effects within their workflows."
},
{
"author": "MushroomFleet",
"title": "SVG Suite for ComfyUI [REMOVED]",
"reference": "https://github.com/MushroomFleet/svg-suite",
"files": [
"https://github.com/MushroomFleet/svg-suite"
],
"install_type": "git-clone",
"description": "SVG Suite is an advanced set of nodes for converting images to SVG in ComfyUI, expanding upon the functionality of ComfyUI-ToSVG."
},
{
"author": "joeriben",
"title": "AI4ArtsEd Ollama Prompt Node [DEPRECATED]",
"reference": "https://github.com/joeriben/ai4artsed_comfyui",
"files": [
"https://github.com/joeriben/ai4artsed_comfyui"
],
"install_type": "git-clone",
"description": "Experimental nodes for ComfyUI. For more, see [a/https://kubi-meta.de/ai4artsed](https://kubi-meta.de/ai4artsed) A custom ComfyUI node for stylistic and cultural transformation of input text using local LLMs served via Ollama. This node allows you to combine a free-form prompt (e.g. translation, poetic recoding, genre shift) with externally supplied text in the ComfyUI graph. The result is processed via an Ollama-hosted model and returned as plain text."
},
{
"author": "bento234",
"title": "ComfyUI-bento-toolbox [REMOVED]",
"reference": "https://github.com/bento234/ComfyUI-bento-toolbox",
"files": [
"https://github.com/bento234/ComfyUI-bento-toolbox"
],
"install_type": "git-clone",
"description": "NODES: Tile Prompt Distributor"
},
{
"author": "yichengup",
"title": "ComfyUI-VideoBlender [REMOVED]",
"reference": "https://github.com/yichengup/ComfyUI-VideoBlender",
"files": [
"https://github.com/yichengup/ComfyUI-VideoBlender"
],
"install_type": "git-clone",
"description": "Video clip mixing"
},
{
"author": "xl0",
"title": "latent-tools [REMOVED]",
"reference": "https://github.com/xl0/latent-tools",
"files": [
"https://github.com/xl0/latent-tools"
],
"install_type": "git-clone",
"description": "Visualize and manipulate the latent space in ComfyUI"
},
{
"author": "Conor-Collins",
"title": "ComfyUI-CoCoTools [REMOVED]",
"reference": "https://github.com/Conor-Collins/coco_tools",
"files": [
"https://github.com/Conor-Collins/coco_tools"
],
"install_type": "git-clone",
"description": "A set of custom nodes for ComfyUI providing advanced image processing, file handling, and utility functions."
},
{
"author": "theUpsider",
"title": "ComfyUI-Logic [DEPRECATED]",
"id": "comfy-logic",
"reference": "https://github.com/theUpsider/ComfyUI-Logic",
"files": [
"https://github.com/theUpsider/ComfyUI-Logic"
],
"install_type": "git-clone",
"description": "An extension to ComfyUI that introduces logic nodes and conditional rendering capabilities."
},
{
"author": "Malloc-pix",
"title": "comfyui_qwen2.4_vl_node [REMOVED]",
"reference": "https://github.com/Malloc-pix/comfyui_qwen2.4_vl_node",
"files": [
"https://github.com/Malloc-pix/comfyui_qwen2.4_vl_node"
],
"install_type": "git-clone",
"description": "NODES: CogVLM2 Captioner, CLIP Dynamic Text Encode(cy)"
},
{
"author": "inyourdreams-studio",
"title": "ComfyUI-RBLM [REMOVED]",
"reference": "https://github.com/inyourdreams-studio/comfyui-rblm",
"files": [
"https://github.com/inyourdreams-studio/comfyui-rblm"
],
"install_type": "git-clone",
"description": "A custom node pack for ComfyUI that provides text manipulation nodes."
},
{ {
"author": "dream-computing", "author": "dream-computing",
"title": "SyntaxNodes - Image Processing Effects for ComfyUI [REMOVED]", "title": "SyntaxNodes - Image Processing Effects for ComfyUI [REMOVED]",

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,28 @@
{ {
"models": [ "models": [
{
"name": "Comfy-Org/omnigen2_fp16.safetensors",
"type": "diffusion_model",
"base": "OmniGen2",
"save_path": "default",
"description": "OmniGen2 diffusion model. This is required for using OmniGen2.",
"reference": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged",
"filename": "omnigen2_fp16.safetensors",
"url": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged/resolve/main/split_files/diffusion_models/omnigen2_fp16.safetensors",
"size": "7.93GB"
},
{
"name": "Comfy-Org/qwen_2.5_vl_fp16.safetensors",
"type": "clip",
"base": "qwen-2.5",
"save_path": "default",
"description": "text encoder for OmniGen2",
"reference": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged",
"filename": "qwen_2.5_vl_fp16.safetensors",
"url": "https://huggingface.co/Comfy-Org/Omnigen2_ComfyUI_repackaged/resolve/main/split_files/text_encoders/qwen_2.5_vl_fp16.safetensors",
"size": "7.51GB"
},
{ {
"name": "Latent Bridge Matching for Image Relighting", "name": "Latent Bridge Matching for Image Relighting",
"type": "diffusion_model", "type": "diffusion_model",
@@ -656,41 +679,6 @@
"filename": "sd3.5_large_controlnet_depth.safetensors", "filename": "sd3.5_large_controlnet_depth.safetensors",
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_depth.safetensors", "url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_depth.safetensors",
"size": "8.65GB" "size": "8.65GB"
},
{
"name": "LTX-Video 2B v0.9 Checkpoint",
"type": "checkpoint",
"base": "LTX-Video",
"save_path": "checkpoints/LTXV",
"description": "LTX-Video is the first DiT-based video generation model capable of generating high-quality videos in real-time. It produces 24 FPS videos at a 768x512 resolution faster than they can be watched. Trained on a large-scale dataset of diverse videos, the model generates high-resolution videos with realistic and varied content.",
"reference": "https://huggingface.co/Lightricks/LTX-Video",
"filename": "ltx-video-2b-v0.9.safetensors",
"url": "https://huggingface.co/Lightricks/LTX-Video/resolve/main/ltx-video-2b-v0.9.safetensors",
"size": "9.37GB"
},
{
"name": "InstantX/FLUX.1-dev-IP-Adapter",
"type": "IP-Adapter",
"base": "FLUX.1",
"save_path": "ipadapter-flux",
"description": "FLUX.1-dev-IP-Adapter",
"reference": "https://huggingface.co/InstantX/FLUX.1-dev-IP-Adapter",
"filename": "ip-adapter.bin",
"url": "https://huggingface.co/InstantX/FLUX.1-dev-IP-Adapter/resolve/main/ip-adapter.bin",
"size": "5.29GB"
},
{
"name": "Comfy-Org/sigclip_vision_384 (patch14_384)",
"type": "clip_vision",
"base": "sigclip",
"save_path": "clip_vision",
"description": "This clip vision model is required for FLUX.1 Redux.",
"reference": "https://huggingface.co/Comfy-Org/sigclip_vision_384/tree/main",
"filename": "sigclip_vision_patch14_384.safetensors",
"url": "https://huggingface.co/Comfy-Org/sigclip_vision_384/resolve/main/sigclip_vision_patch14_384.safetensors",
"size": "857MB"
} }
] ]
} }

View File

@@ -38,7 +38,6 @@ else:
def current_timestamp(): def current_timestamp():
return str(time.time()).split('.')[0] return str(time.time()).split('.')[0]
security_check.security_check()
cm_global.pip_blacklist = {'torch', 'torchaudio', 'torchsde', 'torchvision'} cm_global.pip_blacklist = {'torch', 'torchaudio', 'torchsde', 'torchvision'}
cm_global.pip_downgrade_blacklist = ['torch', 'torchaudio', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia'] cm_global.pip_downgrade_blacklist = ['torch', 'torchaudio', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia']
@@ -119,6 +118,7 @@ def check_file_logging():
read_config() read_config()
read_uv_mode() read_uv_mode()
security_check.security_check()
check_file_logging() check_file_logging()
if sys.version_info < (3, 13): if sys.version_info < (3, 13):

View File

@@ -1,7 +1,7 @@
[project] [project]
name = "comfyui-manager" name = "comfyui-manager"
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI." description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
version = "3.32.8" version = "3.33.7"
license = { file = "LICENSE.txt" } license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions", "toml", "uv", "chardet"] dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions", "toml", "uv", "chardet"]