Compare commits
120 Commits
feat/compl
...
3.33.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73d971bed8 | ||
|
|
bcfe0c2874 | ||
|
|
931ff666ae | ||
|
|
18b6d86cc4 | ||
|
|
3c5efa0662 | ||
|
|
9b739bcbbf | ||
|
|
db89076e48 | ||
|
|
19b341ef18 | ||
|
|
be3713b1a3 | ||
|
|
99c4415cfb | ||
|
|
7b311f2ccf | ||
|
|
4aeabfe0a7 | ||
|
|
431ed02194 | ||
|
|
07f587ed83 | ||
|
|
0408341d82 | ||
|
|
5b3c9432f3 | ||
|
|
4a197e63f9 | ||
|
|
0876a12fe9 | ||
|
|
c43c7ecc03 | ||
|
|
4a6dee3044 | ||
|
|
019acdd840 | ||
|
|
1c98512720 | ||
|
|
23a09ad546 | ||
|
|
0836e8fe7c | ||
|
|
90196af8f8 | ||
|
|
566fe05772 | ||
|
|
18772c6292 | ||
|
|
6278bddc9b | ||
|
|
f74bf71735 | ||
|
|
efe9ed68b2 | ||
|
|
7c1e75865d | ||
|
|
a0aee41f1a | ||
|
|
2049dd75f4 | ||
|
|
0864c35ba9 | ||
|
|
92c9f66671 | ||
|
|
815784e809 | ||
|
|
2795d00d1e | ||
|
|
86dd0b4963 | ||
|
|
77a4f4819f | ||
|
|
b63d603482 | ||
|
|
e569b4e613 | ||
|
|
8a70997546 | ||
|
|
80d0a0f882 | ||
|
|
70b3997874 | ||
|
|
e8e4311068 | ||
|
|
c58b93ff51 | ||
|
|
7d8ebfe91b | ||
|
|
810381eab2 | ||
|
|
61dc6cf2de | ||
|
|
0205ebad2a | ||
|
|
09a94133ac | ||
|
|
1eb3c3b219 | ||
|
|
457845bb51 | ||
|
|
0c11b46585 | ||
|
|
c35100d9e9 | ||
|
|
847031cb04 | ||
|
|
f8d87bb452 | ||
|
|
f60b3505e0 | ||
|
|
addefbc511 | ||
|
|
c4314b25a3 | ||
|
|
921bb86127 | ||
|
|
b3a7fb9c3e | ||
|
|
c143c81a7e | ||
|
|
dd389ba0f8 | ||
|
|
46b1649ab8 | ||
|
|
89710412e4 | ||
|
|
931973b632 | ||
|
|
60aaa838e3 | ||
|
|
1246538bbb | ||
|
|
80518abf9d | ||
|
|
fc1ae2a18e | ||
|
|
3fd8d2049c | ||
|
|
35a6bcf20c | ||
|
|
0d75fc331e | ||
|
|
0a23e793e3 | ||
|
|
2c1c03e063 | ||
|
|
64059d2949 | ||
|
|
648aa7c4d3 | ||
|
|
274bb81a08 | ||
|
|
e2c90b4681 | ||
|
|
fa0a98ac6e | ||
|
|
e6e7b42415 | ||
|
|
0b7ef2e1d4 | ||
|
|
2fac67a9f9 | ||
|
|
8b9892de2e | ||
|
|
b3290dc909 | ||
|
|
3e3176eddb | ||
|
|
b1ef84894a | ||
|
|
c6cffc92c4 | ||
|
|
efb9fd2712 | ||
|
|
94b294ff93 | ||
|
|
99a9e33648 | ||
|
|
055d94a919 | ||
|
|
0978005240 | ||
|
|
1f796581ec | ||
|
|
f3a1716dad | ||
|
|
a1c3a0db1f | ||
|
|
9f80cc8a6b | ||
|
|
133786846e | ||
|
|
bdf297a5c6 | ||
|
|
6767254eb0 | ||
|
|
691cebd479 | ||
|
|
f3932cbf29 | ||
|
|
3f73a97037 | ||
|
|
226f1f5be4 | ||
|
|
7e45c07660 | ||
|
|
0c815036b9 | ||
|
|
ae9fdd0255 | ||
|
|
b3874ee6fd | ||
|
|
62af4891f3 | ||
|
|
2176e0c0ad | ||
|
|
cac105b0d5 | ||
|
|
cd7c42cc23 | ||
|
|
a3fb847773 | ||
|
|
5c2f4f9e4b | ||
|
|
0a511d5b87 | ||
|
|
efe1aad5db | ||
|
|
eed4c53df0 | ||
|
|
9c08a6314b | ||
|
|
a6b2d2c722 |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
8748
github-stats.json
8748
github-stats.json
File diff suppressed because it is too large
Load Diff
@@ -46,6 +46,8 @@ def git_url(fullpath):
|
||||
|
||||
for k, v in config.items():
|
||||
if k.startswith('remote ') and 'url' in v:
|
||||
if 'Comfy-Org/ComfyUI-Manager' in v['url']:
|
||||
return "https://github.com/ltdrdata/ComfyUI-Manager"
|
||||
return v['url']
|
||||
|
||||
return None
|
||||
|
||||
@@ -43,7 +43,7 @@ import manager_downloader
|
||||
from node_package import InstalledNodePackage
|
||||
|
||||
|
||||
version_code = [3, 32, 5]
|
||||
version_code = [3, 33, 4]
|
||||
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
|
||||
|
||||
|
||||
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:
|
||||
def __init__(self):
|
||||
self.installed_node_packages: dict[str, InstalledNodePackage] = {}
|
||||
|
||||
self.cnr_inactive_nodes = {} # node_id -> node_version -> fullpath
|
||||
self.nightly_inactive_nodes = {} # node_id -> fullpath
|
||||
self.unknown_inactive_nodes = {} # node_id -> repo url * fullpath
|
||||
self.active_nodes = {} # node_id -> node_version * fullpath
|
||||
self.unknown_active_nodes = {} # node_id -> repo url * fullpath
|
||||
self.cnr_map = {} # node_id -> cnr info
|
||||
self.repo_cnr_map = {} # repo_url -> cnr info
|
||||
self.custom_node_map_cache = {} # (channel, mode) -> augmented custom node list json
|
||||
self.cnr_inactive_nodes = NormalizedKeyDict() # node_id -> node_version -> fullpath
|
||||
self.nightly_inactive_nodes = NormalizedKeyDict() # node_id -> fullpath
|
||||
self.unknown_inactive_nodes = {} # node_id -> repo url * fullpath
|
||||
self.active_nodes = NormalizedKeyDict() # node_id -> node_version * fullpath
|
||||
self.unknown_active_nodes = {} # node_id -> repo url * fullpath
|
||||
self.cnr_map = NormalizedKeyDict() # node_id -> cnr info
|
||||
self.repo_cnr_map = {} # repo_url -> cnr info
|
||||
self.custom_node_map_cache = {} # (channel, mode) -> augmented custom node list json
|
||||
self.processed_install = set()
|
||||
|
||||
def get_module_name(self, x):
|
||||
@@ -814,7 +882,7 @@ class UnifiedManager:
|
||||
channel = normalize_channel(channel)
|
||||
nodes = await self.load_nightly(channel, mode)
|
||||
|
||||
res = {}
|
||||
res = NormalizedKeyDict()
|
||||
added_cnr = set()
|
||||
for v in nodes.values():
|
||||
v = v[0]
|
||||
@@ -2876,7 +2944,7 @@ async def get_unified_total_nodes(channel, mode, regsitry_cache_mode='cache'):
|
||||
|
||||
if cnr_id is not None:
|
||||
# cnr or nightly version
|
||||
cnr_ids.remove(cnr_id)
|
||||
cnr_ids.discard(cnr_id)
|
||||
updatable = False
|
||||
cnr = unified_manager.cnr_map[cnr_id]
|
||||
|
||||
|
||||
@@ -181,7 +181,10 @@ def set_preview_method(method):
|
||||
core.get_config()['preview_method'] = method
|
||||
|
||||
|
||||
set_preview_method(core.get_config()['preview_method'])
|
||||
if args.preview_method == latent_preview.LatentPreviewMethod.NoPreviews:
|
||||
set_preview_method(core.get_config()['preview_method'])
|
||||
else:
|
||||
logging.warning("[ComfyUI-Manager] Since --preview-method is set, ComfyUI-Manager's preview method feature will be ignored.")
|
||||
|
||||
|
||||
def set_component_policy(mode):
|
||||
@@ -862,7 +865,7 @@ async def fetch_customnode_list(request):
|
||||
|
||||
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')
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ import sys
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
import manager_util
|
||||
|
||||
|
||||
def security_check():
|
||||
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')]
|
||||
}
|
||||
|
||||
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()
|
||||
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]
|
||||
if "pycrypto" in anthropic_reqs:
|
||||
location = [x for x in anthropic_info.split('\n') if x.startswith("Location")][0].split(': ')[1]
|
||||
|
||||
@@ -71,7 +71,7 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
this.allFiles = [];
|
||||
this.titleNum = 0;
|
||||
}
|
||||
|
||||
|
||||
createButtons() {
|
||||
const inputStyle = {
|
||||
display: "block",
|
||||
@@ -202,7 +202,7 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
this.LockInput = $el("input", {
|
||||
type: "text",
|
||||
placeholder: "",
|
||||
style: {
|
||||
style: {
|
||||
width: "100px",
|
||||
padding: "7px",
|
||||
borderRadius: "4px",
|
||||
@@ -301,7 +301,7 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
},
|
||||
[]
|
||||
);
|
||||
|
||||
|
||||
const titleNumDom = $el(
|
||||
"label",
|
||||
{
|
||||
@@ -342,15 +342,11 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
["0/70"]
|
||||
);
|
||||
// Additional Inputs Section
|
||||
const additionalInputsSection = $el(
|
||||
"div",
|
||||
{ style: { ...sectionStyle, } },
|
||||
[
|
||||
$el("label", { style: labelStyle }, ["3️⃣ Title "]),
|
||||
this.TitleInput,
|
||||
titleNumDom,
|
||||
]
|
||||
);
|
||||
const additionalInputsSection = $el("div", { style: { ...sectionStyle } }, [
|
||||
$el("label", { style: labelStyle }, ["3️⃣ Title "]),
|
||||
this.TitleInput,
|
||||
titleNumDom,
|
||||
]);
|
||||
const SubtitleSection = $el("div", { style: sectionStyle }, [
|
||||
$el("label", { style: labelStyle }, ["4️⃣ Subtitle "]),
|
||||
this.SubTitleInput,
|
||||
@@ -392,11 +388,31 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
},
|
||||
[
|
||||
this.radioButtonsCheck_lock,
|
||||
$el("div", { 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(
|
||||
"div",
|
||||
{
|
||||
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(
|
||||
@@ -404,14 +420,28 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
{ style: { display: "flex", alignItems: "center", cursor: "pointer" } },
|
||||
[
|
||||
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(
|
||||
"p",
|
||||
{ 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 }, [
|
||||
$el("label", { style: labelStyle }, ["7️⃣ Store on blockchain "]),
|
||||
$el("label", { style: labelStyle }, ["8️⃣ Store on blockchain "]),
|
||||
$el(
|
||||
"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
|
||||
this.message = $el(
|
||||
@@ -526,6 +689,7 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
DescriptionSection,
|
||||
// contestSection,
|
||||
blockChainSection_lock,
|
||||
contentRatingSection,
|
||||
blockChainSection,
|
||||
this.message,
|
||||
buttonsSection,
|
||||
@@ -534,7 +698,7 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
return layout;
|
||||
}
|
||||
/**
|
||||
* api
|
||||
* api
|
||||
* @param {url} path
|
||||
* @param {params} options
|
||||
* @param {statusText} statusText
|
||||
@@ -587,7 +751,9 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
url: data,
|
||||
});
|
||||
} 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) {
|
||||
if (e?.response?.status === 413) {
|
||||
@@ -628,8 +794,15 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
subTitle: this.SubTitleInput.value,
|
||||
content: this.descriptionInput.value,
|
||||
storeOnChain: this.radioButtonsCheck.checked ? true : false,
|
||||
lockState:this.radioButtonsCheck_lock.checked ? 2 : 0,
|
||||
unlockPrice:this.LockInput.value,
|
||||
lockState: this.radioButtonsCheck_lock.checked ? 2 : 0,
|
||||
unlockPrice: this.LockInput.value,
|
||||
rating: this.ratingRadioButtonsCheck0.checked
|
||||
? 0
|
||||
: this.ratingRadioButtonsCheck1.checked
|
||||
? 1
|
||||
: this.ratingRadioButtonsCheck2.checked
|
||||
? 2
|
||||
: -1,
|
||||
};
|
||||
|
||||
if (!this.keyInput.value) {
|
||||
@@ -644,8 +817,8 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
throw new Error("Title is required");
|
||||
}
|
||||
|
||||
if(this.radioButtonsCheck_lock.checked){
|
||||
if (!this.LockInput.value){
|
||||
if (this.radioButtonsCheck_lock.checked) {
|
||||
if (!this.LockInput.value) {
|
||||
throw new Error("Price is required");
|
||||
}
|
||||
}
|
||||
@@ -695,23 +868,23 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
"Uploading workflow..."
|
||||
);
|
||||
|
||||
if (res.status && res.data.status && res.data) {
|
||||
localStorage.setItem("copus_token",this.keyInput.value);
|
||||
const { data } = res.data;
|
||||
if (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.previewImage.src = "";
|
||||
this.previewImage.style.display = "none";
|
||||
this.uploadedImages = [];
|
||||
this.allFilesImages = [];
|
||||
this.allFiles = [];
|
||||
this.TitleInput.value = "";
|
||||
this.SubTitleInput.value = "";
|
||||
this.descriptionInput.value = "";
|
||||
this.selectedFile = null;
|
||||
}
|
||||
}
|
||||
if (res.status && res.data.status && res.data) {
|
||||
localStorage.setItem("copus_token", this.keyInput.value);
|
||||
const { data } = res.data;
|
||||
if (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.previewImage.src = "";
|
||||
this.previewImage.style.display = "none";
|
||||
this.uploadedImages = [];
|
||||
this.allFilesImages = [];
|
||||
this.allFiles = [];
|
||||
this.TitleInput.value = "";
|
||||
this.SubTitleInput.value = "";
|
||||
this.descriptionInput.value = "";
|
||||
this.selectedFile = null;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
throw new Error("Error sharing workflow: " + e.message);
|
||||
}
|
||||
@@ -757,7 +930,7 @@ export class CopusShareDialog extends ComfyDialog {
|
||||
this.element.style.display = "block";
|
||||
this.previewImage.src = "";
|
||||
this.previewImage.style.display = "none";
|
||||
this.keyInput.value = apiToken!=null?apiToken:"";
|
||||
this.keyInput.value = apiToken != null ? apiToken : "";
|
||||
this.uploadedImages = [];
|
||||
this.allFilesImages = [];
|
||||
this.allFiles = [];
|
||||
|
||||
@@ -714,6 +714,7 @@ export class CustomNodesManager {
|
||||
link.href = rowItem.reference;
|
||||
link.target = '_blank';
|
||||
link.innerHTML = `<b>${title}</b>`;
|
||||
link.title = rowItem.originalData.id;
|
||||
container.appendChild(link);
|
||||
|
||||
return container;
|
||||
|
||||
@@ -4006,6 +4006,29 @@
|
||||
"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",
|
||||
"type": "diffusion_model",
|
||||
@@ -4023,7 +4046,7 @@
|
||||
"type": "VAE",
|
||||
"base": "FLUX.1",
|
||||
"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",
|
||||
"filename": "ae.safetensors",
|
||||
"url": "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors",
|
||||
|
||||
@@ -1,23 +1,636 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "#NOTICE_1.13",
|
||||
"title": "NOTICE: This channel is not the default channel.",
|
||||
"reference": "https://github.com/ltdrdata/ComfyUI-Manager",
|
||||
"files": [],
|
||||
"author": "bikiam",
|
||||
"title": "ComfyUi_WhisperGTranslate",
|
||||
"reference": "https://github.com/bikiam/ComfyUi_WhisperGTranslate",
|
||||
"files": [
|
||||
"https://github.com/bikiam/ComfyUi_WhisperGTranslate"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "If you see this message, your ComfyUI-Manager is outdated.\nDev channel provides only the list of the developing nodes. If you want to find the complete node list, please go to the Default channel."
|
||||
"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": "Aryan185",
|
||||
"title": "ComfyUI-ReplicateFluxKontext",
|
||||
"reference": "https://github.com/Aryan185/ComfyUI-ReplicateFluxKontext",
|
||||
"files": [
|
||||
"https://github.com/Aryan185/ComfyUI-ReplicateFluxKontext"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI node for Flux Kontext Pro and Max models from Replicate"
|
||||
},
|
||||
{
|
||||
"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 built‑in 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",
|
||||
"title": "cesilk-comfyui-nodes",
|
||||
"reference": "https://github.com/cesilk10/cesilk-comfyui-nodes",
|
||||
"files": [
|
||||
"https://github.com/cesilk10/cesilk-comfyui-nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Save and Upload to S3, SDXL Image Sizes"
|
||||
},
|
||||
{
|
||||
"author": "COcisuts",
|
||||
"title": "CObot-ComfyUI-WhisperToTranscription [WIP]",
|
||||
"reference": "https://github.com/COcisuts/CObot-ComfyUI-WhisperToTranscription",
|
||||
"files": [
|
||||
"https://github.com/COcisuts/CObot-ComfyUI-WhisperToTranscription"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "CObot-ComfyUI-WhisperToTranscription\nNOTE: missing requirements.txt"
|
||||
},
|
||||
{
|
||||
"author": "xuhuan2048",
|
||||
"title": "ExtractStoryboards [WIP]",
|
||||
"reference": "https://github.com/gitadmini/comfyui_extractstoryboards",
|
||||
"files": [
|
||||
"https://github.com/gitadmini/comfyui_extractstoryboards"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A tool for decomposing video storyboards, which can obtain storyboards and keyframes"
|
||||
},
|
||||
{
|
||||
"author": "jinchanz",
|
||||
"title": "ComfyUI-AliCloud-Bailian [WIP]",
|
||||
"reference": "https://github.com/jinchanz/ComfyUI-AliCloud-Bailian",
|
||||
"files": [
|
||||
"https://github.com/jinchanz/ComfyUI-AliCloud-Bailian"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a collection of custom nodes for invoking Alibaba Cloud's DashScope API within ComfyUI.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "Yukinoshita-Yukinoe",
|
||||
"title": "ComfyUI-KontextOfficialNode",
|
||||
"reference": "https://github.com/Yukinoshita-Yukinoe/ComfyUI-KontextOfficialNode",
|
||||
"files": [
|
||||
"https://github.com/Yukinoshita-Yukinoe/ComfyUI-KontextOfficialNode"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Kontext Text-to-Image (Official Max), Kontext Image Editing (Official Max)"
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "takoyaki1118",
|
||||
"title": "ComfyUI_PromptExtractor",
|
||||
@@ -267,7 +880,7 @@
|
||||
"https://github.com/EQXai/ComfyUI_EQX"
|
||||
],
|
||||
"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",
|
||||
@@ -549,16 +1162,6 @@
|
||||
"install_type": "git-clone",
|
||||
"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",
|
||||
"title": "comfyui-sceneassembly",
|
||||
@@ -639,16 +1242,6 @@
|
||||
"install_type": "git-clone",
|
||||
"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",
|
||||
"reference": "https://github.com/maizerrr/comfyui-code-nodes",
|
||||
@@ -738,16 +1331,6 @@
|
||||
"install_type": "git-clone",
|
||||
"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",
|
||||
"title": "ComfyUI-Video-Dataset-Tools [WIP]",
|
||||
@@ -948,16 +1531,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI implementation of the partfield nvidea segmentation models\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "MicheleGuidi",
|
||||
"title": "ComfyUI-Computer-Vision [WIP]",
|
||||
"reference": "https://github.com/MicheleGuidi/ComfyUI-Contextual-SAM2",
|
||||
"files": [
|
||||
"https://github.com/MicheleGuidi/comfyui-computer-vision"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Extension nodes for ComfyUI that improves automatic segmentation using bounding boxes generated by Florence 2 and segmentation from Segment Anything 2 (SAM2). Currently just an enhancement of nodes from [a/Kijai](https://github.com/kijai/ComfyUI-segment-anything-2).\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "shinich39",
|
||||
"title": "comfyui-textarea-is-shit",
|
||||
@@ -1020,10 +1593,10 @@
|
||||
},
|
||||
{
|
||||
"author": "ftechmax",
|
||||
"title": "ComfyUI-FTM-Pack",
|
||||
"reference": "https://github.com/ftechmax/ComfyUI-FTM-Pack",
|
||||
"title": "ComfyUI-NovaKit-Pack",
|
||||
"reference": "https://github.com/ftechmax/ComfyUI-NovaKit-Pack",
|
||||
"files": [
|
||||
"https://github.com/ftechmax/ComfyUI-FTM-Pack"
|
||||
"https://github.com/ftechmax/ComfyUI-NovaKit-Pack"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Count Tokens"
|
||||
@@ -1033,7 +1606,7 @@
|
||||
"title": "ComfyUI DiaTest TTS Node [WIP]",
|
||||
"reference": "https://github.com/BobRandomNumber/ComfyUI-DiaTTS",
|
||||
"files": [
|
||||
"https://github.com/BobRandomNumber/ComfyUI-DiaTest"
|
||||
"https://github.com/BobRandomNumber/ComfyUI-DiaTTS"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Partial ComfyUI Dia implementation"
|
||||
@@ -1308,16 +1881,6 @@
|
||||
"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."
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"title": "ComfyUI_InfiniteYou [NAME CONFLICT]",
|
||||
@@ -1809,16 +2372,6 @@
|
||||
"install_type": "git-clone",
|
||||
"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",
|
||||
"title": "ComfyUi-Text-Tiler",
|
||||
@@ -1969,16 +2522,6 @@
|
||||
"install_type": "git-clone",
|
||||
"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",
|
||||
"title": "ComfyUI-camietagger-onnx",
|
||||
@@ -2623,13 +3166,13 @@
|
||||
},
|
||||
{
|
||||
"author": "HuangYuChuh",
|
||||
"title": "ComfyUI-DeepSeek-Toolkit [WIP]",
|
||||
"reference": "https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit",
|
||||
"title": "ComfyUI-LLMs-Toolkit [WIP]",
|
||||
"reference": "https://github.com/HuangYuChuh/ComfyUI-LLMs-Toolkit",
|
||||
"files": [
|
||||
"https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit"
|
||||
"https://github.com/HuangYuChuh/ComfyUI-LLMs-Toolkit"
|
||||
],
|
||||
"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",
|
||||
@@ -3386,7 +3929,7 @@
|
||||
},
|
||||
{
|
||||
"author": "kijai",
|
||||
"title": "ComfyUI-MMAudio",
|
||||
"title": "ComfyUI-MMAudio [WIP]",
|
||||
"reference": "https://github.com/kijai/ComfyUI-MMAudio",
|
||||
"files": [
|
||||
"https://github.com/kijai/ComfyUI-MMAudio"
|
||||
@@ -3815,8 +4358,8 @@
|
||||
"files": [
|
||||
"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",
|
||||
@@ -4056,7 +4599,7 @@
|
||||
"https://github.com/rouxianmantou/comfyui-rxmt-nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES:Check Value Type, Why Prompt Text"
|
||||
"description": "NODES: Check Value Type, Why Prompt Text"
|
||||
},
|
||||
{
|
||||
"author": "SirVeggie",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,15 @@
|
||||
{
|
||||
"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",
|
||||
"title": "ComfyUI-HiDream-Sampler [WIP]",
|
||||
|
||||
@@ -1,16 +1,261 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "#NOTICE_1.13",
|
||||
"title": "NOTICE: This channel is not the default channel.",
|
||||
"reference": "https://github.com/ltdrdata/ComfyUI-Manager",
|
||||
"files": [],
|
||||
"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": "If you see this message, your ComfyUI-Manager is outdated.\nLegacy channel provides only the list of the deprecated nodes. If you want to find the complete node list, please go to the Default channel."
|
||||
"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",
|
||||
"title": "SyntaxNodes - Image Processing Effects for ComfyUI [REMOVED]",
|
||||
"reference": "https://github.com/dream-computing/syntax-nodes",
|
||||
"files": [
|
||||
"https://github.com/dream-computing/syntax-nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of custom nodes for ComfyUI designed to apply various image processing effects, stylizations, and analyses."
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "UD1sto",
|
||||
"title": "plugin-utils-nodes [DEPRECATED]",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,28 @@
|
||||
{
|
||||
"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",
|
||||
"type": "diffusion_model",
|
||||
@@ -656,41 +679,6 @@
|
||||
"filename": "sd3.5_large_controlnet_depth.safetensors",
|
||||
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_depth.safetensors",
|
||||
"size": "8.65GB"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "LTX-Video 2B v0.9 Checkpoint",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ else:
|
||||
def current_timestamp():
|
||||
return str(time.time()).split('.')[0]
|
||||
|
||||
security_check.security_check()
|
||||
|
||||
cm_global.pip_blacklist = {'torch', 'torchaudio', 'torchsde', 'torchvision'}
|
||||
cm_global.pip_downgrade_blacklist = ['torch', 'torchaudio', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia']
|
||||
@@ -119,6 +118,7 @@ def check_file_logging():
|
||||
|
||||
read_config()
|
||||
read_uv_mode()
|
||||
security_check.security_check()
|
||||
check_file_logging()
|
||||
|
||||
if sys.version_info < (3, 13):
|
||||
@@ -344,7 +344,12 @@ try:
|
||||
log_file.write(message)
|
||||
else:
|
||||
log_file.write(f"[{timestamp}] {message}")
|
||||
log_file.flush()
|
||||
|
||||
try:
|
||||
log_file.flush()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
self.last_char = message if message == '' else message[-1]
|
||||
|
||||
if not file_only:
|
||||
@@ -357,7 +362,10 @@ try:
|
||||
original_stderr.flush()
|
||||
|
||||
def flush(self):
|
||||
log_file.flush()
|
||||
try:
|
||||
log_file.flush()
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
with std_log_lock:
|
||||
if self.is_stdout:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "comfyui-manager"
|
||||
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
|
||||
version = "3.32.5"
|
||||
version = "3.33.4"
|
||||
license = { file = "LICENSE.txt" }
|
||||
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions", "toml", "uv", "chardet"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user