mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-02-10 13:12:35 +08:00
Merge branch 'ltdrdata:main' into main
This commit is contained in:
commit
890ce93297
@ -152,17 +152,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "A custom node suite for Video Frame Interpolation in ComfyUI"
|
||||
},
|
||||
{
|
||||
"author": "Fannovel16",
|
||||
"title": "ComfyUI Loopchain",
|
||||
"id": "loopchain",
|
||||
"reference": "https://github.com/Fannovel16/ComfyUI-Loopchain",
|
||||
"files": [
|
||||
"https://github.com/Fannovel16/ComfyUI-Loopchain"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of nodes which can be useful for animation in ComfyUI. The main focus of this extension is implementing a mechanism called loopchain. A loopchain in this case is the chain of nodes only executed repeatly in the workflow. If a node chain contains a loop node from this extension, it will become a loop chain."
|
||||
},
|
||||
{
|
||||
"author": "Fannovel16",
|
||||
"title": "ComfyUI MotionDiff",
|
||||
@ -7052,16 +7041,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "A set of custom ComfyUI nodes for performing basic post-processing effects including Film Grain and Vignette. These effects can help to take the edge off AI imagery and make them feel more natural."
|
||||
},
|
||||
{
|
||||
"author": "DonBaronFactory",
|
||||
"title": "ComfyUI-Cre8it-Nodes",
|
||||
"reference": "https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes",
|
||||
"files": [
|
||||
"https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:CRE8IT Serial Prompter, CRE8IT Apply Serial Prompter, CRE8IT Image Sizer. A few simple nodes to facilitate working wiht ComfyUI Workflows"
|
||||
},
|
||||
{
|
||||
"author": "deforum",
|
||||
"title": "Deforum Nodes",
|
||||
@ -7216,6 +7195,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "A custom node for ComfyUI that enables smooth, keyframe-based animations for image generation. Create dynamic sequences with control over motion, zoom, rotation, and easing effects. Ideal for AI-assisted animation and video content creation."
|
||||
},
|
||||
{
|
||||
"author": "ShmuelRonen",
|
||||
"title": "Apply Style Model Adjust for ComfyUI",
|
||||
"reference": "https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust",
|
||||
"files": [
|
||||
"https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A custom node that provides enhanced control over style transfer balance when using FLUX style models in ComfyUI. This node offers better control over the influence of text prompts versus style reference images."
|
||||
},
|
||||
{
|
||||
"author": "redhottensors",
|
||||
"title": "ComfyUI-Prediction",
|
||||
@ -7525,6 +7514,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes to edit videos using Genmo Mochi"
|
||||
},
|
||||
{
|
||||
"author": "logtd",
|
||||
"title": "ComfyUI-LTXTricks",
|
||||
"reference": "https://github.com/logtd/ComfyUI-LTXTricks",
|
||||
"files": [
|
||||
"https://github.com/logtd/ComfyUI-LTXTricks"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A set of nodes that provide additional controls for the LTX Video model"
|
||||
},
|
||||
{
|
||||
"author": "Big-Idea-Technology",
|
||||
"title": "ComfyUI-Book-Tools Nodes for ComfyUI",
|
||||
@ -15558,7 +15557,7 @@
|
||||
"https://github.com/acorderob/sd-webui-prompt-postprocessor"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "The Prompt PostProcessor (PPP), formerly known as 'sd-webui-sendtonegative', is an extension designed to process the prompt, possibly after other extensions have modified it."
|
||||
"description": "Stable Diffusion WebUI & ComfyUI extension to post-process the prompt, including sending content from the prompt to the negative prompt and wildcards."
|
||||
},
|
||||
{
|
||||
"author": "Moooonet",
|
||||
@ -16789,7 +16788,7 @@
|
||||
"https://github.com/DoctorDiffusion/ComfyUI-MediaMixer"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Youtube Downloader, Video Merge, Final Frame Selector. Combine two videos into one, output the last frame of a video and download audio and video from youtube within comfyUI"
|
||||
"description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one."
|
||||
},
|
||||
{
|
||||
"author": "robtl2",
|
||||
@ -16944,6 +16943,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "A ComfyUI custom node for image compression that supports multiple compression formats and parameter adjustments."
|
||||
},
|
||||
{
|
||||
"author": "liuqianhonga",
|
||||
"title": "ComfyUI-Html2Image",
|
||||
"reference": "https://github.com/liuqianhonga/ComfyUI-Html2Image",
|
||||
"files": [
|
||||
"https://github.com/liuqianhonga/ComfyUI-Html2Image"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES:Webpage Screenshot, Camera Watermark"
|
||||
},
|
||||
{
|
||||
"author": "duhaifeng",
|
||||
"title": "ComfyUI-BiRefNet-lite",
|
||||
@ -16966,7 +16975,7 @@
|
||||
},
|
||||
{
|
||||
"author": "tanglup",
|
||||
"title": "Comfyui-Ycnode",
|
||||
"title": "Comfyui-Ycanvas",
|
||||
"reference": "https://github.com/tanglup/Comfyui-Ycnode",
|
||||
"files": [
|
||||
"https://github.com/tanglup/Comfyui-Ycnode"
|
||||
@ -17130,6 +17139,27 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes for LTXVideo model."
|
||||
},
|
||||
{
|
||||
"author": "Kai Duehrkop",
|
||||
"title": "Advanced Reflux control",
|
||||
"id": "advancedRefluxControl",
|
||||
"reference": "https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl",
|
||||
"files": [
|
||||
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This extension offers a new Apply-Style node for Reflux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Reflux."
|
||||
},
|
||||
{
|
||||
"author": "ramesh-x90",
|
||||
"title": "ComfyUI_pyannote",
|
||||
"reference": "https://github.com/ramesh-x90/ComfyUI_pyannote",
|
||||
"files": [
|
||||
"https://github.com/ramesh-x90/ComfyUI_pyannote"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This repository provides custom nodes for ComfyUI designed to process audio files, performing speaker diarization and integrating speaker data into whisper-transcribed segments. These nodes utilize the PyAnnote library for speaker identification and pandas for efficient data handling."
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
@ -2297,8 +2297,8 @@
|
||||
"https://github.com/DoctorDiffusion/ComfyUI-MediaMixer": [
|
||||
[
|
||||
"FinalFrameSelector",
|
||||
"PromptJournal",
|
||||
"VideoMerge",
|
||||
"VideoPromptGenerator",
|
||||
"YouTubeVideoDownloader"
|
||||
],
|
||||
{
|
||||
@ -2314,20 +2314,6 @@
|
||||
"title_aux": "Schedulizer"
|
||||
}
|
||||
],
|
||||
"https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes": [
|
||||
[
|
||||
"ApplySerialPrompter",
|
||||
"ImageSizer",
|
||||
"SerialPrompter"
|
||||
],
|
||||
{
|
||||
"author": "CRE8IT GmbH",
|
||||
"description": "This extension offers various nodes.",
|
||||
"nickname": "cre8Nodes",
|
||||
"title": "cr8SerialPrompter",
|
||||
"title_aux": "ComfyUI-Cre8it-Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/DrMWeigand/ComfyUI-StereoVision": [
|
||||
[
|
||||
"AutostereogramGenerator",
|
||||
@ -2611,21 +2597,6 @@
|
||||
"title_aux": "ComfyUI Frame Interpolation"
|
||||
}
|
||||
],
|
||||
"https://github.com/Fannovel16/ComfyUI-Loopchain": [
|
||||
[
|
||||
"EmptyLatentImageLoop",
|
||||
"FolderToImageStorage",
|
||||
"ImageStorageExportLoop",
|
||||
"ImageStorageImport",
|
||||
"ImageStorageReset",
|
||||
"LatentStorageExportLoop",
|
||||
"LatentStorageImport",
|
||||
"LatentStorageReset"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI Loopchain"
|
||||
}
|
||||
],
|
||||
"https://github.com/Fannovel16/ComfyUI-MagickWand": [
|
||||
[
|
||||
"ImageMagick Adaptive Blur",
|
||||
@ -6537,6 +6508,14 @@
|
||||
"title_aux": "Shibiko AI ComfyUI Tools"
|
||||
}
|
||||
],
|
||||
"https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust": [
|
||||
[
|
||||
"ApplyStyleModelAdjust"
|
||||
],
|
||||
{
|
||||
"title_aux": "Apply Style Model Adjust for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/ShmuelRonen/ComfyUI-AstralAnimator": [
|
||||
[
|
||||
"AstralAnimator"
|
||||
@ -6739,6 +6718,7 @@
|
||||
"Multiline Concatenate Strings",
|
||||
"Output Filename",
|
||||
"Prompt Cache",
|
||||
"Prompt X Lora",
|
||||
"Range(Num Steps) - Float",
|
||||
"Range(Num Steps) - Int",
|
||||
"Range(Step) - Float",
|
||||
@ -7808,6 +7788,7 @@
|
||||
"VrchChannelX4OSCControlNode",
|
||||
"VrchFloatKeyControlNode",
|
||||
"VrchFloatOSCControlNode",
|
||||
"VrchImageFlipBookWebViewerNode",
|
||||
"VrchImageSaverNode",
|
||||
"VrchImageSwitchOSCControlNode",
|
||||
"VrchImageWebViewerNode",
|
||||
@ -8855,6 +8836,7 @@
|
||||
"CustomLatentImageSimple",
|
||||
"FloatSlider-NYJY",
|
||||
"JoyCaption",
|
||||
"JoyCaptionAlpha1Online",
|
||||
"JoyCaptionAlpha2Online",
|
||||
"JoyTag",
|
||||
"Translate"
|
||||
@ -9130,6 +9112,8 @@
|
||||
"https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": [
|
||||
[
|
||||
"InputText",
|
||||
"OllamaCaptionerExtraOptions",
|
||||
"OllamaImageCaptioner",
|
||||
"OllamaImageDescriber",
|
||||
"OllamaTextDescriber",
|
||||
"ShowText",
|
||||
@ -9325,10 +9309,14 @@
|
||||
"https://github.com/arcum42/ComfyUI_SageUtils": [
|
||||
[
|
||||
"Sage_CheckpointLoaderSimple",
|
||||
"Sage_CollectKeywordsFromLoraStack",
|
||||
"Sage_ConditioningZeroOut",
|
||||
"Sage_ConstructMetadata",
|
||||
"Sage_DualCLIPTextEncode",
|
||||
"Sage_GetFileHash",
|
||||
"Sage_GetInfoFromHash",
|
||||
"Sage_GetModelJSONFromHash",
|
||||
"Sage_JoinText",
|
||||
"Sage_KSampler",
|
||||
"Sage_LoraStack",
|
||||
"Sage_LoraStackDebugString",
|
||||
@ -9363,6 +9351,7 @@
|
||||
"https://github.com/asagi4/ComfyUI-Adaptive-Guidance": [
|
||||
[
|
||||
"AdaptiveGuidance",
|
||||
"AdaptiveProjectedGuidance",
|
||||
"PerpNegAdaptiveGuidanceGuider"
|
||||
],
|
||||
{
|
||||
@ -9796,6 +9785,7 @@
|
||||
"BlehDisableNoise",
|
||||
"BlehDiscardPenultimateSigma",
|
||||
"BlehForceSeedSampler",
|
||||
"BlehGlobalSageAttention",
|
||||
"BlehHyperTile",
|
||||
"BlehInsaneChainSampler",
|
||||
"BlehLatentOps",
|
||||
@ -9803,6 +9793,7 @@
|
||||
"BlehModelPatchConditional",
|
||||
"BlehPlug",
|
||||
"BlehRefinerAfter",
|
||||
"BlehSageAttentionSampler",
|
||||
"BlehSetSamplerPreset"
|
||||
],
|
||||
{
|
||||
@ -11396,6 +11387,7 @@
|
||||
"DualCFGGuider",
|
||||
"DualCLIPLoader",
|
||||
"EmptyImage",
|
||||
"EmptyLTXVLatentVideo",
|
||||
"EmptyLatentAudio",
|
||||
"EmptyLatentImage",
|
||||
"EmptyMochiLatentVideo",
|
||||
@ -11438,6 +11430,9 @@
|
||||
"KSamplerAdvanced",
|
||||
"KSamplerSelect",
|
||||
"KarrasScheduler",
|
||||
"LTXVConditioning",
|
||||
"LTXVImgToVideo",
|
||||
"LTXVScheduler",
|
||||
"LaplaceScheduler",
|
||||
"LatentAdd",
|
||||
"LatentApplyOperation",
|
||||
@ -11484,6 +11479,7 @@
|
||||
"ModelSamplingContinuousV",
|
||||
"ModelSamplingDiscrete",
|
||||
"ModelSamplingFlux",
|
||||
"ModelSamplingLTXV",
|
||||
"ModelSamplingSD3",
|
||||
"ModelSamplingStableCascade",
|
||||
"ModelSave",
|
||||
@ -12073,6 +12069,7 @@
|
||||
"D2 XY Grid Image",
|
||||
"D2 XY List To Plot",
|
||||
"D2 XY Lora List",
|
||||
"D2 XY Model List",
|
||||
"D2 XY Plot",
|
||||
"D2 XY Prompt SR",
|
||||
"D2 XY Prompt SR2",
|
||||
@ -13138,6 +13135,7 @@
|
||||
"FL_FractalKSampler",
|
||||
"FL_GPT_Vision",
|
||||
"FL_Glitch",
|
||||
"FL_GoogleDriveDownloader",
|
||||
"FL_GradGenerator",
|
||||
"FL_HFHubModelUploader",
|
||||
"FL_HF_Character",
|
||||
@ -13170,6 +13168,8 @@
|
||||
"FL_Math",
|
||||
"FL_MirrorAndAppendCaptions",
|
||||
"FL_NFTGenerator",
|
||||
"FL_NodeLoader",
|
||||
"FL_NodePackLoader",
|
||||
"FL_OllamaCaptioner",
|
||||
"FL_PDFImageExtractor",
|
||||
"FL_PDFLoader",
|
||||
@ -14443,6 +14443,7 @@
|
||||
"load_int",
|
||||
"load_keyword",
|
||||
"load_llm_lora",
|
||||
"load_memo",
|
||||
"load_name",
|
||||
"load_openai_ebd",
|
||||
"load_persona",
|
||||
@ -14478,6 +14479,7 @@
|
||||
"red_book_text_persona",
|
||||
"replace_string",
|
||||
"save_ebd_database",
|
||||
"save_memo",
|
||||
"save_openai_ebd",
|
||||
"savepersona",
|
||||
"searxng_tool",
|
||||
@ -15803,6 +15805,16 @@
|
||||
"title_aux": "ComfyUI-YOLO"
|
||||
}
|
||||
],
|
||||
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl": [
|
||||
[
|
||||
"StyleModelApplyAdvanced",
|
||||
"StyleModelApplyInterpolation",
|
||||
"StyleModelApplySimple"
|
||||
],
|
||||
{
|
||||
"title_aux": "Advanced Reflux control"
|
||||
}
|
||||
],
|
||||
"https://github.com/kale4eat/ComfyUI-path-util": [
|
||||
[
|
||||
"path_util_PathAbspath",
|
||||
@ -16365,6 +16377,7 @@
|
||||
"StyleModelApplyAdvanced",
|
||||
"Superprompt",
|
||||
"TorchCompileControlNet",
|
||||
"TorchCompileLTXModel",
|
||||
"TorchCompileModelFluxAdvanced",
|
||||
"TorchCompileVAE",
|
||||
"TransitionImagesInBatch",
|
||||
@ -17099,6 +17112,15 @@
|
||||
"title_aux": "comfyui-remote-tools"
|
||||
}
|
||||
],
|
||||
"https://github.com/liuqianhonga/ComfyUI-Html2Image": [
|
||||
[
|
||||
"CameraWatermark",
|
||||
"WebpageScreenshot"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Html2Image"
|
||||
}
|
||||
],
|
||||
"https://github.com/liuqianhonga/ComfyUI-Image-Compressor": [
|
||||
[
|
||||
"ImageCompressor"
|
||||
@ -17396,6 +17418,22 @@
|
||||
"title_aux": "ComfyUI-InversedNoise"
|
||||
}
|
||||
],
|
||||
"https://github.com/logtd/ComfyUI-LTXTricks": [
|
||||
[
|
||||
"AddLatentGuide",
|
||||
"LTXAttentioOverride",
|
||||
"LTXAttentionBank",
|
||||
"LTXForwardModelSamplingPred",
|
||||
"LTXPrepareAttnInjections",
|
||||
"LTXRFForwardODESampler",
|
||||
"LTXRFReverseODESampler",
|
||||
"LTXReverseModelSamplingPred",
|
||||
"ModifyLTXModel"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-LTXTricks"
|
||||
}
|
||||
],
|
||||
"https://github.com/logtd/ComfyUI-MochiEdit": [
|
||||
[
|
||||
"MochiPrepareSigmas",
|
||||
@ -17993,6 +18031,8 @@
|
||||
[
|
||||
"LF_BlurImages",
|
||||
"LF_Boolean",
|
||||
"LF_Brightness",
|
||||
"LF_Brush",
|
||||
"LF_CharacterImpersonator",
|
||||
"LF_CheckpointSelector",
|
||||
"LF_CivitAIMetadataSetup",
|
||||
@ -18012,6 +18052,7 @@
|
||||
"LF_ExtractPromptFromLoraTag",
|
||||
"LF_ExtractString",
|
||||
"LF_Float",
|
||||
"LF_GaussianBlur",
|
||||
"LF_GetRandomKeyFromJSON",
|
||||
"LF_GetValueFromJSON",
|
||||
"LF_ImageClassifier",
|
||||
@ -19761,6 +19802,15 @@
|
||||
"title_aux": "queuetools"
|
||||
}
|
||||
],
|
||||
"https://github.com/ramesh-x90/ComfyUI_pyannote": [
|
||||
[
|
||||
"Speaker Diarization",
|
||||
"Whisper Segments to Speaker"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_pyannote"
|
||||
}
|
||||
],
|
||||
"https://github.com/ramyma/A8R8_ComfyUI_nodes": [
|
||||
[
|
||||
"AttentionCouple",
|
||||
@ -21766,10 +21816,10 @@
|
||||
],
|
||||
"https://github.com/tanglup/Comfyui-Ycnode": [
|
||||
[
|
||||
"CanvasView"
|
||||
"CanvasNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfyui-Ycnode"
|
||||
"title_aux": "Comfyui-Ycanvas"
|
||||
}
|
||||
],
|
||||
"https://github.com/teward/ComfyUI-Helper-Nodes": [
|
||||
|
||||
3792
github-stats.json
3792
github-stats.json
File diff suppressed because it is too large
Load Diff
@ -23,7 +23,7 @@ sys.path.append(glob_path)
|
||||
import cm_global
|
||||
from manager_util import *
|
||||
|
||||
version = [2, 51, 9]
|
||||
version = [2, 52]
|
||||
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
|
||||
|
||||
|
||||
@ -408,6 +408,7 @@ def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=Fa
|
||||
else:
|
||||
if os.path.exists(requirements_path):
|
||||
print("Install: pip packages")
|
||||
pip_fixer = PIPFixer(get_installed_packages())
|
||||
with open(requirements_path, "r") as requirements_file:
|
||||
for line in requirements_file:
|
||||
#handle comments
|
||||
@ -430,6 +431,8 @@ def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=Fa
|
||||
if package_name.strip() != "" and not package_name.startswith('#'):
|
||||
try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution)
|
||||
|
||||
pip_fixer.fix_broken()
|
||||
|
||||
if os.path.exists(install_script_path):
|
||||
print(f"Install: install script")
|
||||
install_cmd = [sys.executable, "install.py"]
|
||||
|
||||
@ -1216,6 +1216,11 @@ def restart(self):
|
||||
exit(0)
|
||||
|
||||
print(f"\nRestarting... [Legacy Mode]\n\n")
|
||||
|
||||
sys_argv = sys.argv.copy()
|
||||
if '--windows-standalone-build' in sys_argv:
|
||||
sys_argv.remove('--windows-standalone-build')
|
||||
|
||||
if sys.platform.startswith('win32'):
|
||||
return os.execv(sys.executable, ['"' + sys.executable + '"', '"' + sys.argv[0] + '"'] + sys.argv[1:])
|
||||
else:
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
# DON'T USE StrictVersion - cannot handle pre_release version
|
||||
# try:
|
||||
# from distutils.version import StrictVersion
|
||||
@ -62,3 +65,150 @@ class StrictVersion:
|
||||
def __ne__(self, other):
|
||||
return not self == other
|
||||
|
||||
|
||||
pip_map = None
|
||||
|
||||
def get_installed_packages(renew=False):
|
||||
global pip_map
|
||||
|
||||
if renew or pip_map is None:
|
||||
try:
|
||||
result = subprocess.check_output([sys.executable, '-m', 'pip', 'list'], universal_newlines=True)
|
||||
|
||||
pip_map = {}
|
||||
for line in result.split('\n'):
|
||||
x = line.strip()
|
||||
if x:
|
||||
y = line.split()
|
||||
if y[0] == 'Package' or y[0].startswith('-'):
|
||||
continue
|
||||
|
||||
pip_map[y[0]] = y[1]
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.")
|
||||
return set()
|
||||
|
||||
return pip_map
|
||||
|
||||
|
||||
def clear_pip_cache():
|
||||
global pip_map
|
||||
pip_map = None
|
||||
|
||||
|
||||
torch_torchvision_version_map = {
|
||||
'2.5.1': '0.20.1',
|
||||
'2.5.0': '0.20.0',
|
||||
'2.4.1': '0.19.1',
|
||||
'2.4.0': '0.19.0',
|
||||
'2.3.1': '0.18.1',
|
||||
'2.3.0': '0.18.0',
|
||||
'2.2.2': '0.17.2',
|
||||
'2.2.1': '0.17.1',
|
||||
'2.2.0': '0.17.0',
|
||||
'2.1.2': '0.16.2',
|
||||
'2.1.1': '0.16.1',
|
||||
'2.1.0': '0.16.0',
|
||||
'2.0.1': '0.15.2',
|
||||
'2.0.0': '0.15.1',
|
||||
}
|
||||
|
||||
|
||||
class PIPFixer:
|
||||
def __init__(self, prev_pip_versions):
|
||||
self.prev_pip_versions = { **prev_pip_versions }
|
||||
|
||||
def torch_rollback(self):
|
||||
spec = self.prev_pip_versions['torch'].split('+')
|
||||
if len(spec) > 0:
|
||||
platform = spec[1]
|
||||
else:
|
||||
cmd = [sys.executable, '-m', 'pip', 'install', '--force', 'torch', 'torchvision', 'torchaudio']
|
||||
subprocess.check_output(cmd, universal_newlines=True)
|
||||
print(cmd)
|
||||
return
|
||||
|
||||
torch_ver = StrictVersion(spec[0])
|
||||
torch_ver = f"{torch_ver.major}.{torch_ver.minor}.{torch_ver.patch}"
|
||||
torchvision_ver = torch_torchvision_version_map.get(torch_ver)
|
||||
|
||||
if torchvision_ver is None:
|
||||
cmd = [sys.executable, '-m', 'pip', 'install', '--pre',
|
||||
'torch', 'torchvision', 'torchaudio',
|
||||
'--index-url', f"https://download.pytorch.org/whl/nightly/{platform}"]
|
||||
print("[manager-core] restore PyTorch to nightly version")
|
||||
else:
|
||||
cmd = [sys.executable, '-m', 'pip', 'install',
|
||||
f'torch=={torch_ver}', f'torchvision=={torchvision_ver}', f"torchaudio=={torch_ver}",
|
||||
'--index-url', f"https://download.pytorch.org/whl/{platform}"]
|
||||
print(f"[manager-core] restore PyTorch to {torch_ver}+{platform}")
|
||||
|
||||
subprocess.check_output(cmd, universal_newlines=True)
|
||||
|
||||
def fix_broken(self):
|
||||
new_pip_versions = get_installed_packages(True)
|
||||
|
||||
# remove `comfy` python package
|
||||
try:
|
||||
if 'comfy' in new_pip_versions:
|
||||
cmd = [sys.executable, '-m', 'pip', 'uninstall', 'comfy']
|
||||
subprocess.check_output(cmd, universal_newlines=True)
|
||||
|
||||
print(f"[manager-core] 'comfy' python package is uninstalled.\nWARN: The 'comfy' package is completely unrelated to ComfyUI and should never be installed as it causes conflicts with ComfyUI.")
|
||||
except Exception as e:
|
||||
print(f"[manager-core] Failed to uninstall `comfy` python package")
|
||||
print(e)
|
||||
|
||||
# fix torch - reinstall torch packages if version is changed
|
||||
try:
|
||||
if self.prev_pip_versions['torch'] != new_pip_versions['torch'] \
|
||||
or self.prev_pip_versions['torchvision'] != new_pip_versions['torchvision'] \
|
||||
or self.prev_pip_versions['torchaudio'] != new_pip_versions['torchaudio']:
|
||||
self.torch_rollback()
|
||||
except Exception as e:
|
||||
print(f"[manager-core] Failed to restore PyTorch")
|
||||
print(e)
|
||||
|
||||
# fix opencv
|
||||
try:
|
||||
ocp = new_pip_versions.get('opencv-contrib-python')
|
||||
ocph = new_pip_versions.get('opencv-contrib-python-headless')
|
||||
op = new_pip_versions.get('opencv-python')
|
||||
oph = new_pip_versions.get('opencv-python-headless')
|
||||
|
||||
versions = [ocp, ocph, op, oph]
|
||||
versions = [StrictVersion(x) for x in versions if x is not None]
|
||||
versions.sort(reverse=True)
|
||||
|
||||
if len(versions) > 0:
|
||||
# upgrade to maximum version
|
||||
targets = []
|
||||
cur = versions[0]
|
||||
if ocp is not None and StrictVersion(ocp) != cur:
|
||||
targets.append('opencv-contrib-python')
|
||||
if ocph is not None and StrictVersion(ocph) != cur:
|
||||
targets.append('opencv-contrib-python-headless')
|
||||
if op is not None and StrictVersion(op) != cur:
|
||||
targets.append('opencv-python')
|
||||
if oph is not None and StrictVersion(oph) != cur:
|
||||
targets.append('opencv-python-headless')
|
||||
|
||||
if len(targets) > 0:
|
||||
for x in targets:
|
||||
cmd = [sys.executable, '-m', 'pip', 'install', f"{x}=={versions[0].version_string}"]
|
||||
subprocess.check_output(cmd, universal_newlines=True)
|
||||
|
||||
print(f"[manager-core] 'opencv' dependencies were fixed: {targets}")
|
||||
except Exception as e:
|
||||
print(f"[manager-core] Failed to restore opencv")
|
||||
print(e)
|
||||
|
||||
# fix numpy
|
||||
try:
|
||||
np = new_pip_versions.get('numpy')
|
||||
if np is not None:
|
||||
if StrictVersion(np) >= StrictVersion('2'):
|
||||
subprocess.check_output([sys.executable, '-m', 'pip', 'install', f"numpy<2"], universal_newlines=True)
|
||||
except Exception as e:
|
||||
print(f"[manager-core] Failed to restore numpy")
|
||||
print(e)
|
||||
|
||||
@ -241,6 +241,7 @@
|
||||
],
|
||||
"https://github.com/AIFSH/UtilNodes-ComfyUI": [
|
||||
[
|
||||
"GetRGBEmptyImgae",
|
||||
"LoadVideo",
|
||||
"PreViewVideo",
|
||||
"PromptTextNode"
|
||||
@ -416,14 +417,6 @@
|
||||
"title_aux": "ComfyUI-LogicGates"
|
||||
}
|
||||
],
|
||||
"https://github.com/Black-Lioness/ComfyUI-FilenameGenerator": [
|
||||
[
|
||||
"FilenameGenerator"
|
||||
],
|
||||
{
|
||||
"title_aux": "Filename Generator Node for ComfyUI [UNSAFE]"
|
||||
}
|
||||
],
|
||||
"https://github.com/BlueDangerX/ComfyUI-BDXNodes": [
|
||||
[
|
||||
"BDXTestInt",
|
||||
@ -584,8 +577,8 @@
|
||||
"https://github.com/DoctorDiffusion/Doctor-Tools": [
|
||||
[
|
||||
"FinalFrameSelector",
|
||||
"PromptJournal",
|
||||
"VideoMerge",
|
||||
"VideoPromptGenerator",
|
||||
"YouTubeVideoDownloader"
|
||||
],
|
||||
{
|
||||
@ -1178,6 +1171,14 @@
|
||||
"title_aux": "Comfyui_CXH_CRM"
|
||||
}
|
||||
],
|
||||
"https://github.com/StartHua/Comfyui_Flux_Style_Ctr": [
|
||||
[
|
||||
"CXH_StyleModelApply"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfyui_Flux_Style_Ctr [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/T8star1984/comfyui-purgevram": [
|
||||
[
|
||||
"PurgeVRAM"
|
||||
@ -1751,6 +1752,7 @@
|
||||
"DualCFGGuider",
|
||||
"DualCLIPLoader",
|
||||
"EmptyImage",
|
||||
"EmptyLTXVLatentVideo",
|
||||
"EmptyLatentAudio",
|
||||
"EmptyLatentImage",
|
||||
"EmptyMochiLatentVideo",
|
||||
@ -1793,6 +1795,9 @@
|
||||
"KSamplerAdvanced",
|
||||
"KSamplerSelect",
|
||||
"KarrasScheduler",
|
||||
"LTXVConditioning",
|
||||
"LTXVImgToVideo",
|
||||
"LTXVScheduler",
|
||||
"LaplaceScheduler",
|
||||
"LatentAdd",
|
||||
"LatentApplyOperation",
|
||||
@ -1839,6 +1844,7 @@
|
||||
"ModelSamplingContinuousV",
|
||||
"ModelSamplingDiscrete",
|
||||
"ModelSamplingFlux",
|
||||
"ModelSamplingLTXV",
|
||||
"ModelSamplingSD3",
|
||||
"ModelSamplingStableCascade",
|
||||
"ModelSave",
|
||||
@ -2406,6 +2412,8 @@
|
||||
"KillMeNode",
|
||||
"LinkMasterNode",
|
||||
"OkayBuddyNode",
|
||||
"OutlineRealNode",
|
||||
"OutlineStandardNode",
|
||||
"PixelPerfectResolution",
|
||||
"SuckerPunch",
|
||||
"UWU_Preprocessor",
|
||||
@ -3681,6 +3689,14 @@
|
||||
"title_aux": "ComfyUI-Dist [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/vahidzxc/ComfyUI-My-Handy-Nodes": [
|
||||
[
|
||||
"VahCropImage"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-My-Handy-Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/void15700/VoidCustomNodes": [
|
||||
[
|
||||
"Prompt Parser",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -9,6 +9,28 @@
|
||||
"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."
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"author": "Fannovel16",
|
||||
"title": "ComfyUI Loopchain [DEPRECATED]",
|
||||
"id": "loopchain",
|
||||
"reference": "https://github.com/Fannovel16/ComfyUI-Loopchain",
|
||||
"files": [
|
||||
"https://github.com/Fannovel16/ComfyUI-Loopchain"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of nodes which can be useful for animation in ComfyUI. The main focus of this extension is implementing a mechanism called loopchain. A loopchain in this case is the chain of nodes only executed repeatly in the workflow. If a node chain contains a loop node from this extension, it will become a loop chain."
|
||||
},
|
||||
{
|
||||
"author": "DonBaronFactory",
|
||||
"title": "ComfyUI-Cre8it-Nodes [DEPRECATED]",
|
||||
"reference": "https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes",
|
||||
"files": [
|
||||
"https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:CRE8IT Serial Prompter, CRE8IT Apply Serial Prompter, CRE8IT Image Sizer. A few simple nodes to facilitate working wiht ComfyUI Workflows"
|
||||
},
|
||||
{
|
||||
"author": "thecooltechguy",
|
||||
"title": "ComfyUI-ComfyRun [DEPRECATED/UNSAFE]",
|
||||
|
||||
@ -10,6 +10,57 @@
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "logtd",
|
||||
"title": "ComfyUI-LTXTricks",
|
||||
"reference": "https://github.com/logtd/ComfyUI-LTXTricks",
|
||||
"files": [
|
||||
"https://github.com/logtd/ComfyUI-LTXTricks"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A set of nodes that provide additional controls for the LTX Video model"
|
||||
},
|
||||
{
|
||||
"author": "Kai Duehrkop",
|
||||
"title": "Advanced Reflux control",
|
||||
"id": "advancedRefluxControl",
|
||||
"reference": "https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl",
|
||||
"files": [
|
||||
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This extension offers a new Apply-Style node for Reflux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Reflux."
|
||||
},
|
||||
{
|
||||
"author": "ramesh-x90",
|
||||
"title": "ComfyUI_pyannote",
|
||||
"reference": "https://github.com/ramesh-x90/ComfyUI_pyannote",
|
||||
"files": [
|
||||
"https://github.com/ramesh-x90/ComfyUI_pyannote"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This repository provides custom nodes for ComfyUI designed to process audio files, performing speaker diarization and integrating speaker data into whisper-transcribed segments. These nodes utilize the PyAnnote library for speaker identification and pandas for efficient data handling."
|
||||
},
|
||||
{
|
||||
"author": "ShmuelRonen",
|
||||
"title": "Apply Style Model Adjust for ComfyUI",
|
||||
"reference": "https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust",
|
||||
"files": [
|
||||
"https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A custom node that provides enhanced control over style transfer balance when using FLUX style models in ComfyUI. This node offers better control over the influence of text prompts versus style reference images."
|
||||
},
|
||||
{
|
||||
"author": "liuqianhonga",
|
||||
"title": "ComfyUI-Html2Image",
|
||||
"reference": "https://github.com/liuqianhonga/ComfyUI-Html2Image",
|
||||
"files": [
|
||||
"https://github.com/liuqianhonga/ComfyUI-Html2Image"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES:Webpage Screenshot, Camera Watermark"
|
||||
},
|
||||
{
|
||||
"author": "lightricks",
|
||||
"title": "ComfyUI-LTXVideo",
|
||||
@ -447,7 +498,7 @@
|
||||
"https://github.com/DoctorDiffusion/ComfyUI-MediaMixer"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Youtube Downloader, Video Merge, Final Frame Selector. Combine two videos into one, output the last frame of a video and download audio and video from youtube within comfyUI"
|
||||
"description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one."
|
||||
},
|
||||
{
|
||||
"author": "AIFSH",
|
||||
@ -641,59 +692,6 @@
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI Hunyuan3D-1-wrapper is a custom node that allows you to run [a/Tencent/Hunyuan3D-1](https://github.com/Tencent/Hunyuan3D-1) in ComfyUI as a wrapper."
|
||||
},
|
||||
{
|
||||
"author": "kijai",
|
||||
"title": "ComfyUI-GIMM-VFI",
|
||||
"reference": "https://github.com/kijai/ComfyUI-GIMM-VFI",
|
||||
"files": [
|
||||
"https://github.com/kijai/ComfyUI-GIMM-VFI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes to use GIMM-VFI frame interpolation"
|
||||
},
|
||||
{
|
||||
"author": "w00dycomfyuirun",
|
||||
"title": "ComfyUI_Appstore",
|
||||
"id": "ComfyUI_Appstore",
|
||||
"reference": "https://github.com/ronaldzgithub/ComfyUI_Appstore",
|
||||
"files": [
|
||||
"https://github.com/ronaldzgithub/ComfyUI_Appstore"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI_Appstore, a tool that converts ComfyUI workflows into web apps on huaxiaobao.net with one click, and supports payments, like ComfyUI_Bxb (Bxb) does. Providing a way for the comfyui authors to get profit from."
|
||||
},
|
||||
{
|
||||
"author": "kycg",
|
||||
"title": "Kw_Json_Lora_CivitAIDownloader",
|
||||
"reference": "https://github.com/kycg/comfyui-Lora-auto-downloader",
|
||||
"files": [
|
||||
"https://github.com/kycg/comfyui-Lora-auto-downloader"
|
||||
],
|
||||
"description": "This tool allows you to download models from CivitAI based on a JSON configuration that defines LORA and checkpoint models. It uses token-based authentication to download files from specified URLs and saves them to specified directories. based on CivitAIDownloader",
|
||||
"install_type": "git-clone"
|
||||
},
|
||||
{
|
||||
"author": "basix",
|
||||
"title": "Basix Image Filters",
|
||||
"id": "basix_image_filters",
|
||||
"reference": "https://github.com/maludwig/basix_image_filters",
|
||||
"files": [
|
||||
"https://github.com/maludwig/basix_image_filters"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A handful of image filters for ComfyUI (darken, lighten, levels, saturate, hue)"
|
||||
},
|
||||
{
|
||||
"author": "nkrcrft",
|
||||
"title": "ComfyUI-RecraftAI",
|
||||
"id": "recraftai",
|
||||
"reference": "https://github.com/recraft-ai/ComfyUI-RecraftAI",
|
||||
"files": [
|
||||
"https://github.com/recraft-ai/ComfyUI-RecraftAI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Recraft AI official ComfyUI custom nodes. Recraft V3 (code-named red_panda) is a text-to-image model with the ability to generate long texts, images in a wide list of styles, including custom brand styles."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -2297,8 +2297,8 @@
|
||||
"https://github.com/DoctorDiffusion/ComfyUI-MediaMixer": [
|
||||
[
|
||||
"FinalFrameSelector",
|
||||
"PromptJournal",
|
||||
"VideoMerge",
|
||||
"VideoPromptGenerator",
|
||||
"YouTubeVideoDownloader"
|
||||
],
|
||||
{
|
||||
@ -2314,20 +2314,6 @@
|
||||
"title_aux": "Schedulizer"
|
||||
}
|
||||
],
|
||||
"https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes": [
|
||||
[
|
||||
"ApplySerialPrompter",
|
||||
"ImageSizer",
|
||||
"SerialPrompter"
|
||||
],
|
||||
{
|
||||
"author": "CRE8IT GmbH",
|
||||
"description": "This extension offers various nodes.",
|
||||
"nickname": "cre8Nodes",
|
||||
"title": "cr8SerialPrompter",
|
||||
"title_aux": "ComfyUI-Cre8it-Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/DrMWeigand/ComfyUI-StereoVision": [
|
||||
[
|
||||
"AutostereogramGenerator",
|
||||
@ -2611,21 +2597,6 @@
|
||||
"title_aux": "ComfyUI Frame Interpolation"
|
||||
}
|
||||
],
|
||||
"https://github.com/Fannovel16/ComfyUI-Loopchain": [
|
||||
[
|
||||
"EmptyLatentImageLoop",
|
||||
"FolderToImageStorage",
|
||||
"ImageStorageExportLoop",
|
||||
"ImageStorageImport",
|
||||
"ImageStorageReset",
|
||||
"LatentStorageExportLoop",
|
||||
"LatentStorageImport",
|
||||
"LatentStorageReset"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI Loopchain"
|
||||
}
|
||||
],
|
||||
"https://github.com/Fannovel16/ComfyUI-MagickWand": [
|
||||
[
|
||||
"ImageMagick Adaptive Blur",
|
||||
@ -6537,6 +6508,14 @@
|
||||
"title_aux": "Shibiko AI ComfyUI Tools"
|
||||
}
|
||||
],
|
||||
"https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust": [
|
||||
[
|
||||
"ApplyStyleModelAdjust"
|
||||
],
|
||||
{
|
||||
"title_aux": "Apply Style Model Adjust for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/ShmuelRonen/ComfyUI-AstralAnimator": [
|
||||
[
|
||||
"AstralAnimator"
|
||||
@ -6739,6 +6718,7 @@
|
||||
"Multiline Concatenate Strings",
|
||||
"Output Filename",
|
||||
"Prompt Cache",
|
||||
"Prompt X Lora",
|
||||
"Range(Num Steps) - Float",
|
||||
"Range(Num Steps) - Int",
|
||||
"Range(Step) - Float",
|
||||
@ -7808,6 +7788,7 @@
|
||||
"VrchChannelX4OSCControlNode",
|
||||
"VrchFloatKeyControlNode",
|
||||
"VrchFloatOSCControlNode",
|
||||
"VrchImageFlipBookWebViewerNode",
|
||||
"VrchImageSaverNode",
|
||||
"VrchImageSwitchOSCControlNode",
|
||||
"VrchImageWebViewerNode",
|
||||
@ -8855,6 +8836,7 @@
|
||||
"CustomLatentImageSimple",
|
||||
"FloatSlider-NYJY",
|
||||
"JoyCaption",
|
||||
"JoyCaptionAlpha1Online",
|
||||
"JoyCaptionAlpha2Online",
|
||||
"JoyTag",
|
||||
"Translate"
|
||||
@ -9130,6 +9112,8 @@
|
||||
"https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": [
|
||||
[
|
||||
"InputText",
|
||||
"OllamaCaptionerExtraOptions",
|
||||
"OllamaImageCaptioner",
|
||||
"OllamaImageDescriber",
|
||||
"OllamaTextDescriber",
|
||||
"ShowText",
|
||||
@ -9325,10 +9309,14 @@
|
||||
"https://github.com/arcum42/ComfyUI_SageUtils": [
|
||||
[
|
||||
"Sage_CheckpointLoaderSimple",
|
||||
"Sage_CollectKeywordsFromLoraStack",
|
||||
"Sage_ConditioningZeroOut",
|
||||
"Sage_ConstructMetadata",
|
||||
"Sage_DualCLIPTextEncode",
|
||||
"Sage_GetFileHash",
|
||||
"Sage_GetInfoFromHash",
|
||||
"Sage_GetModelJSONFromHash",
|
||||
"Sage_JoinText",
|
||||
"Sage_KSampler",
|
||||
"Sage_LoraStack",
|
||||
"Sage_LoraStackDebugString",
|
||||
@ -9363,6 +9351,7 @@
|
||||
"https://github.com/asagi4/ComfyUI-Adaptive-Guidance": [
|
||||
[
|
||||
"AdaptiveGuidance",
|
||||
"AdaptiveProjectedGuidance",
|
||||
"PerpNegAdaptiveGuidanceGuider"
|
||||
],
|
||||
{
|
||||
@ -9796,6 +9785,7 @@
|
||||
"BlehDisableNoise",
|
||||
"BlehDiscardPenultimateSigma",
|
||||
"BlehForceSeedSampler",
|
||||
"BlehGlobalSageAttention",
|
||||
"BlehHyperTile",
|
||||
"BlehInsaneChainSampler",
|
||||
"BlehLatentOps",
|
||||
@ -9803,6 +9793,7 @@
|
||||
"BlehModelPatchConditional",
|
||||
"BlehPlug",
|
||||
"BlehRefinerAfter",
|
||||
"BlehSageAttentionSampler",
|
||||
"BlehSetSamplerPreset"
|
||||
],
|
||||
{
|
||||
@ -11396,6 +11387,7 @@
|
||||
"DualCFGGuider",
|
||||
"DualCLIPLoader",
|
||||
"EmptyImage",
|
||||
"EmptyLTXVLatentVideo",
|
||||
"EmptyLatentAudio",
|
||||
"EmptyLatentImage",
|
||||
"EmptyMochiLatentVideo",
|
||||
@ -11438,6 +11430,9 @@
|
||||
"KSamplerAdvanced",
|
||||
"KSamplerSelect",
|
||||
"KarrasScheduler",
|
||||
"LTXVConditioning",
|
||||
"LTXVImgToVideo",
|
||||
"LTXVScheduler",
|
||||
"LaplaceScheduler",
|
||||
"LatentAdd",
|
||||
"LatentApplyOperation",
|
||||
@ -11484,6 +11479,7 @@
|
||||
"ModelSamplingContinuousV",
|
||||
"ModelSamplingDiscrete",
|
||||
"ModelSamplingFlux",
|
||||
"ModelSamplingLTXV",
|
||||
"ModelSamplingSD3",
|
||||
"ModelSamplingStableCascade",
|
||||
"ModelSave",
|
||||
@ -12073,6 +12069,7 @@
|
||||
"D2 XY Grid Image",
|
||||
"D2 XY List To Plot",
|
||||
"D2 XY Lora List",
|
||||
"D2 XY Model List",
|
||||
"D2 XY Plot",
|
||||
"D2 XY Prompt SR",
|
||||
"D2 XY Prompt SR2",
|
||||
@ -13138,6 +13135,7 @@
|
||||
"FL_FractalKSampler",
|
||||
"FL_GPT_Vision",
|
||||
"FL_Glitch",
|
||||
"FL_GoogleDriveDownloader",
|
||||
"FL_GradGenerator",
|
||||
"FL_HFHubModelUploader",
|
||||
"FL_HF_Character",
|
||||
@ -13170,6 +13168,8 @@
|
||||
"FL_Math",
|
||||
"FL_MirrorAndAppendCaptions",
|
||||
"FL_NFTGenerator",
|
||||
"FL_NodeLoader",
|
||||
"FL_NodePackLoader",
|
||||
"FL_OllamaCaptioner",
|
||||
"FL_PDFImageExtractor",
|
||||
"FL_PDFLoader",
|
||||
@ -14443,6 +14443,7 @@
|
||||
"load_int",
|
||||
"load_keyword",
|
||||
"load_llm_lora",
|
||||
"load_memo",
|
||||
"load_name",
|
||||
"load_openai_ebd",
|
||||
"load_persona",
|
||||
@ -14478,6 +14479,7 @@
|
||||
"red_book_text_persona",
|
||||
"replace_string",
|
||||
"save_ebd_database",
|
||||
"save_memo",
|
||||
"save_openai_ebd",
|
||||
"savepersona",
|
||||
"searxng_tool",
|
||||
@ -15803,6 +15805,16 @@
|
||||
"title_aux": "ComfyUI-YOLO"
|
||||
}
|
||||
],
|
||||
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl": [
|
||||
[
|
||||
"StyleModelApplyAdvanced",
|
||||
"StyleModelApplyInterpolation",
|
||||
"StyleModelApplySimple"
|
||||
],
|
||||
{
|
||||
"title_aux": "Advanced Reflux control"
|
||||
}
|
||||
],
|
||||
"https://github.com/kale4eat/ComfyUI-path-util": [
|
||||
[
|
||||
"path_util_PathAbspath",
|
||||
@ -16365,6 +16377,7 @@
|
||||
"StyleModelApplyAdvanced",
|
||||
"Superprompt",
|
||||
"TorchCompileControlNet",
|
||||
"TorchCompileLTXModel",
|
||||
"TorchCompileModelFluxAdvanced",
|
||||
"TorchCompileVAE",
|
||||
"TransitionImagesInBatch",
|
||||
@ -17099,6 +17112,15 @@
|
||||
"title_aux": "comfyui-remote-tools"
|
||||
}
|
||||
],
|
||||
"https://github.com/liuqianhonga/ComfyUI-Html2Image": [
|
||||
[
|
||||
"CameraWatermark",
|
||||
"WebpageScreenshot"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Html2Image"
|
||||
}
|
||||
],
|
||||
"https://github.com/liuqianhonga/ComfyUI-Image-Compressor": [
|
||||
[
|
||||
"ImageCompressor"
|
||||
@ -17396,6 +17418,22 @@
|
||||
"title_aux": "ComfyUI-InversedNoise"
|
||||
}
|
||||
],
|
||||
"https://github.com/logtd/ComfyUI-LTXTricks": [
|
||||
[
|
||||
"AddLatentGuide",
|
||||
"LTXAttentioOverride",
|
||||
"LTXAttentionBank",
|
||||
"LTXForwardModelSamplingPred",
|
||||
"LTXPrepareAttnInjections",
|
||||
"LTXRFForwardODESampler",
|
||||
"LTXRFReverseODESampler",
|
||||
"LTXReverseModelSamplingPred",
|
||||
"ModifyLTXModel"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-LTXTricks"
|
||||
}
|
||||
],
|
||||
"https://github.com/logtd/ComfyUI-MochiEdit": [
|
||||
[
|
||||
"MochiPrepareSigmas",
|
||||
@ -17993,6 +18031,8 @@
|
||||
[
|
||||
"LF_BlurImages",
|
||||
"LF_Boolean",
|
||||
"LF_Brightness",
|
||||
"LF_Brush",
|
||||
"LF_CharacterImpersonator",
|
||||
"LF_CheckpointSelector",
|
||||
"LF_CivitAIMetadataSetup",
|
||||
@ -18012,6 +18052,7 @@
|
||||
"LF_ExtractPromptFromLoraTag",
|
||||
"LF_ExtractString",
|
||||
"LF_Float",
|
||||
"LF_GaussianBlur",
|
||||
"LF_GetRandomKeyFromJSON",
|
||||
"LF_GetValueFromJSON",
|
||||
"LF_ImageClassifier",
|
||||
@ -19761,6 +19802,15 @@
|
||||
"title_aux": "queuetools"
|
||||
}
|
||||
],
|
||||
"https://github.com/ramesh-x90/ComfyUI_pyannote": [
|
||||
[
|
||||
"Speaker Diarization",
|
||||
"Whisper Segments to Speaker"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_pyannote"
|
||||
}
|
||||
],
|
||||
"https://github.com/ramyma/A8R8_ComfyUI_nodes": [
|
||||
[
|
||||
"AttentionCouple",
|
||||
@ -21766,10 +21816,10 @@
|
||||
],
|
||||
"https://github.com/tanglup/Comfyui-Ycnode": [
|
||||
[
|
||||
"CanvasView"
|
||||
"CanvasNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfyui-Ycnode"
|
||||
"title_aux": "Comfyui-Ycanvas"
|
||||
}
|
||||
],
|
||||
"https://github.com/teward/ComfyUI-Helper-Nodes": [
|
||||
|
||||
@ -385,30 +385,7 @@ check_bypass_ssl()
|
||||
# Perform install
|
||||
processed_install = set()
|
||||
script_list_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "startup-scripts", "install-scripts.txt")
|
||||
pip_map = None
|
||||
|
||||
|
||||
def get_installed_packages():
|
||||
global pip_map
|
||||
|
||||
if pip_map is None:
|
||||
try:
|
||||
result = subprocess.check_output([sys.executable, '-m', 'pip', 'list'], universal_newlines=True)
|
||||
|
||||
pip_map = {}
|
||||
for line in result.split('\n'):
|
||||
x = line.strip()
|
||||
if x:
|
||||
y = line.split()
|
||||
if y[0] == 'Package' or y[0].startswith('-'):
|
||||
continue
|
||||
|
||||
pip_map[y[0]] = y[1]
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.")
|
||||
return set()
|
||||
|
||||
return pip_map
|
||||
pip_fixer = PIPFixer(get_installed_packages())
|
||||
|
||||
|
||||
def is_installed(name):
|
||||
@ -620,8 +597,11 @@ if os.path.exists(script_list_path):
|
||||
print("\n[ComfyUI-Manager] Startup script completed.")
|
||||
print("#######################################################################\n")
|
||||
|
||||
pip_fixer.fix_broken()
|
||||
|
||||
del processed_install
|
||||
del pip_map
|
||||
del pip_fixer
|
||||
clear_pip_cache()
|
||||
|
||||
|
||||
def check_windows_event_loop_policy():
|
||||
|
||||
@ -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 = "2.51.9"
|
||||
version = "2.52"
|
||||
license = { file = "LICENSE.txt" }
|
||||
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user