diff --git a/.gitignore b/.gitignore index e2354725..e774ed6b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ startup-scripts/** matrix_auth channels.list comfyworkflows_sharekey +github-stats-cache.json diff --git a/README.md b/README.md index f1db7b03..72c6c7cb 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ This repository provides Colab notebooks that allow you to install and use Comfy * Press the "Restore" button to revert to the installation status of the respective snapshot. * However, for custom nodes not managed by Git, snapshot support is incomplete. * When you press `Restore`, it will take effect on the next ComfyUI startup. - + * The selected snapshot file is saved in `ComfyUI-Manager/startup-scripts/restore-snapshot.json`, and upon restarting ComfyUI, the snapshot is applied and then deleted. ![model-install-dialog](misc/snapshot.jpg) @@ -272,6 +272,13 @@ NODE_CLASS_MAPPINGS.update({ * `Possible(left) + Copy(right)`: When you Double-Click on the left half of the title, it operates as `Possible Input Connections`, and when you Double-Click on the right half, it operates as `Copy All Connections`. +* Prevent downgrade of specific packages + * List the package names in the `downgrade_blacklist` section of the `config.ini` file, separating them with commas. + * e.g + ``` + downgrade_blacklist = diffusers, kornia + ``` + ## Troubleshooting * If your `git.exe` is installed in a specific location other than system git, please install ComfyUI-Manager and run ComfyUI. Then, specify the path including the file name in `git_exe = ` in the ComfyUI-Manager/config.ini file that is generated. * If updating ComfyUI-Manager itself fails, please go to the **ComfyUI-Manager** directory and execute the command `git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull`. diff --git a/__init__.py b/__init__.py index 4c1987d1..bfed7256 100644 --- a/__init__.py +++ b/__init__.py @@ -17,6 +17,7 @@ import re import nodes import hashlib from datetime import datetime +from distutils.version import StrictVersion try: @@ -29,7 +30,7 @@ except: print(f"[WARN] ComfyUI-Manager: Your ComfyUI version is outdated. Please update to the latest version.") -version = [2, 11] +version = [2, 13, 1] version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '') print(f"### Loading: ComfyUI-Manager ({version_str})") @@ -38,19 +39,56 @@ comfy_ui_hash = "-" cache_lock = threading.Lock() +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 + + +def clear_pip_cache(): + global pip_map + pip_map = None + def is_blacklisted(name): name = name.strip() - pattern = r'([^<>!=]+)([<>!=]=?)' + pattern = r'([^<>!=]+)([<>!=]=?)(.*)' match = re.search(pattern, name) if match: name = match.group(1) if name in cm_global.pip_downgrade_blacklist: - if match is None or match.group(2) in ['<=', '==', '<']: - return True + pips = get_installed_packages() + + if match is None: + if name in pips: + return True + elif match.group(2) in ['<=', '==', '<']: + if name in pips: + if StrictVersion(pips[name]) >= StrictVersion(match.group(3)): + return True return False @@ -194,7 +232,8 @@ def write_config(): 'component_policy': get_config()['component_policy'], 'double_click_policy': get_config()['double_click_policy'], 'windows_selector_event_loop_policy': get_config()['windows_selector_event_loop_policy'], - 'model_download_by_agent': get_config()['model_download_by_agent'] + 'model_download_by_agent': get_config()['model_download_by_agent'], + 'downgrade_blacklist': get_config()['downgrade_blacklist'] } with open(config_path, 'w') as configfile: config.write(configfile) @@ -219,6 +258,7 @@ def read_config(): 'double_click_policy': default_conf['double_click_policy'] if 'double_click_policy' in default_conf else 'copy-all', 'windows_selector_event_loop_policy': default_conf['windows_selector_event_loop_policy'] if 'windows_selector_event_loop_policy' in default_conf else False, 'model_download_by_agent': default_conf['model_download_by_agent'] if 'model_download_by_agent' in default_conf else False, + 'downgrade_blacklist': default_conf['downgrade_blacklist'] if 'downgrade_blacklist' in default_conf else '', } except Exception: @@ -235,6 +275,7 @@ def read_config(): 'double_click_policy': 'copy-all', 'windows_selector_event_loop_policy': False, 'model_download_by_agent': False, + 'downgrade_blacklist': '' } @@ -307,7 +348,6 @@ def try_install_script(url, repo_path, install_cmd): print(f"[ComfyUI-Manager] skip black listed pip installation: '{install_cmd[4]}'") return True - print(f"\n## ComfyUI-Manager: EXECUTE => {install_cmd}") code = run_script(install_cmd, cwd=repo_path) @@ -581,6 +621,20 @@ async def get_data(uri, silent=False): json_obj = json.loads(json_text) return json_obj +async def populate_github_stats(json_obj, filename, silent=False): + uri = os.path.join(comfyui_manager_path, filename) + with open(uri, "r", encoding='utf-8') as f: + github_stats = json.load(f) + if 'custom_nodes' in json_obj: + for i, node in enumerate(json_obj['custom_nodes']): + url = node['reference'] + if url in github_stats: + json_obj['custom_nodes'][i]['stars'] = github_stats[url]['stars'] + json_obj['custom_nodes'][i]['last_update'] = github_stats[url]['last_update'] + else: + json_obj['custom_nodes'][i]['stars'] = -1 + json_obj['custom_nodes'][i]['last_update'] = -1 + return json_obj def setup_js(): import nodes @@ -831,6 +885,7 @@ def nickname_filter(json_obj): return json_obj + @server.PromptServer.instance.routes.get("/customnode/getmappings") async def fetch_customnode_mappings(request): mode = request.rel_url.query["mode"] @@ -903,6 +958,8 @@ async def update_all(request): return web.json_response(res, status=status, content_type='application/json') except: return web.Response(status=400) + finally: + clear_pip_cache() def convert_markdown_to_html(input_text): @@ -962,6 +1019,7 @@ async def fetch_customnode_list(request): channel = get_config()['channel_url'] json_obj = await get_data_by_mode(request.rel_url.query["mode"], 'custom-node-list.json') + json_obj = await populate_github_stats(json_obj, "github-stats.json") def is_ignored_notice(code): global version @@ -1586,6 +1644,8 @@ async def install_custom_node(request): install_cmd = [sys.executable, "-m", "pip", "install", pname] try_install_script(json_data['files'][0], ".", install_cmd) + clear_pip_cache() + if res: print(f"After restarting ComfyUI, please refresh the browser.") return web.json_response({}, content_type='application/json') @@ -1684,6 +1744,8 @@ async def update_custom_node(request): if install_type == "git-clone": res = gitclone_update(json_data['files']) + clear_pip_cache() + if res: print(f"After restarting ComfyUI, please refresh the browser.") return web.json_response({}, content_type='application/json') @@ -2132,6 +2194,7 @@ if hasattr(server.PromptServer.instance, "app"): cors_middleware = server.create_cors_middleware(args.enable_cors_header) app.middlewares.append(cors_middleware) + @server.PromptServer.instance.routes.post("/manager/set_esheep_workflow_and_images") async def set_esheep_workflow_and_images(request): json_data = await request.json() @@ -2141,12 +2204,14 @@ async def set_esheep_workflow_and_images(request): json.dump(json_data, file, indent=4) return web.Response(status=200) + @server.PromptServer.instance.routes.get("/manager/get_esheep_workflow_and_images") async def get_esheep_workflow_and_images(request): with open(os.path.join(comfyui_manager_path, "esheep_share_message.json"), 'r', encoding='utf-8') as file: data = json.load(file) return web.Response(status=200, text=json.dumps(data)) + def set_matrix_auth(json_data): homeserver = json_data['homeserver'] username = json_data['username'] @@ -2188,6 +2253,7 @@ def extract_model_file_names(json_data): recursive_search(json_data) return [f for f in list(file_names) if os.path.splitext(f)[1] in model_filename_extensions] + def find_file_paths(base_dir, file_names): """Find the paths of the files in the base directory.""" file_paths = {} @@ -2201,6 +2267,7 @@ def find_file_paths(base_dir, file_names): file_paths[file] = os.path.join(root, file) return file_paths + def compute_sha256_checksum(filepath): """Compute the SHA256 checksum of a file, in chunks""" sha256 = hashlib.sha256() @@ -2209,6 +2276,7 @@ def compute_sha256_checksum(filepath): sha256.update(chunk) return sha256.hexdigest() + @server.PromptServer.instance.routes.post("/manager/share") async def share_art(request): # get json data diff --git a/custom-node-list.json b/custom-node-list.json index d5077a42..f11cae20 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -266,16 +266,6 @@ ], "description": "CLIPTextEncodeBLIP: This custom node provides a CLIP Encoder that is capable of receiving images as input." }, - { - "author": "Davemane42", - "title": "Visual Area Conditioning / Latent composition", - "reference": "https://github.com/Davemane42/ComfyUI_Dave_CustomNode", - "files": [ - "https://github.com/Davemane42/ComfyUI_Dave_CustomNode" - ], - "install_type": "git-clone", - "description": "This tool provides custom nodes that allow visualization and configuration of area conditioning and latent composite." - }, { "author": "WASasquatch", "title": "WAS Node Suite", @@ -3452,6 +3442,16 @@ "install_type": "git-clone", "description": "Unofficial implementation of [a/DepthFM](https://github.com/CompVis/depth-fm) for ComfyUI" }, + { + "author": "ZHO-ZHO-ZHO", + "title": "ComfyUI-BiRefNet-ZHO", + "reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO", + "files": [ + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO" + ], + "install_type": "git-clone", + "description": "Better version for [a/BiRefNet](https://github.com/zhengpeng7/birefnet) in ComfyUI | Both img and video" + }, { "author": "kenjiqq", "title": "qq-nodes-comfyui", @@ -4302,6 +4302,7 @@ "files": [ "https://github.com/crystian/ComfyUI-Crystools" ], + "nodename_pattern": " \\[Crystools\\]$", "install_type": "git-clone", "description": "With this suit, you can see the resources monitor, progress bar & time elapsed, metadata and compare between two images, compare between two JSONs, show any value to console/display, pipes, and more!\nThis provides better nodes to load/save images, previews, etc, and see \"hidden\" data without loading a new workflow." }, @@ -4506,6 +4507,16 @@ "install_type": "git-clone", "description": "Nodes:3D Pose Editor" }, + { + "author": "chaojie", + "title": "ComfyUI-MuseV", + "reference": "https://github.com/chaojie/ComfyUI-MuseV", + "files": [ + "https://github.com/chaojie/ComfyUI-MuseV" + ], + "install_type": "git-clone", + "description": "ComfyUI MuseV" + }, { "author": "chaojie", "title": "ComfyUI-AniPortrait", @@ -5798,6 +5809,16 @@ "install_type": "git-clone", "description": "Nodes:Apply Ref UNet, Ref Sampler, Ref Sampler Custom" }, + { + "author": "logtd", + "title": "ComfyUI-FLATTEN", + "reference": "https://github.com/logtd/ComfyUI-FLATTEN", + "files": [ + "https://github.com/logtd/ComfyUI-FLATTEN" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/FLATTEN: optical FLow-guided ATTENtion for consistent text-to-video editing](https://github.com/yrcong/flatten)." + }, { "author": "Big-Idea-Technology", "title": "ImageTextOverlay Node for ComfyUI", @@ -6698,7 +6719,96 @@ "install_type": "git-clone", "description": "This initiative represents a solo venture dedicated to integrating a stereopsis effect within ComfyUI (Stable Diffusion). Presently, the project is focused on the refinement of node categorization within a unified framework, as it is in the early stages of development. However, it has achieved functionality in a fundamental capacity. By processing a video through the Side-by-Side (SBS) node and applying Frame Delay to one of the inputs, it facilitates the creation of a stereopsis effect. This effect is compatible with any Virtual Reality headset that supports SBS video playback, offering a practical application in immersive media experiences." }, - + { + "author": "nickve28", + "title": "Nich Comfy Utils", + "reference": "https://github.com/nickve28/nich-comfy-utils", + "files": [ + "https://github.com/nickve28/nich-comfy-utils" + ], + "install_type": "git-clone", + "description": "Nodes:Image from Dir Selector (Nich)" + }, + { + "author": "frankchieng", + "title": "ComfyUI_Aniportrait", + "reference": "https://github.com/frankchieng/ComfyUI_Aniportrait", + "files": [ + "https://github.com/frankchieng/ComfyUI_Aniportrait" + ], + "install_type": "git-clone", + "description": "implementation of [a/Aniportrait](https://github.com/Zejun-Yang/AniPortrait)'s self driven,audio driven and Face reenacment in ComfyUI" + }, + { + "author": "BlakeOne", + "title": "ComfyUI SchedulerMixer", + "reference": "https://github.com/BlakeOne/ComfyUI-SchedulerMixer", + "files": [ + "https://github.com/BlakeOne/ComfyUI-SchedulerMixer" + ], + "install_type": "git-clone", + "description": "Create a custom scheduler from a weighted average of the built-in schedulers" + }, + { + "author": "BlakeOne", + "title": "ComfyUI FastImageListToImageBatch", + "reference": "https://github.com/BlakeOne/ComfyUI-FastImageListToImageBatch", + "files": [ + "https://github.com/BlakeOne/ComfyUI-FastImageListToImageBatch" + ], + "install_type": "git-clone", + "description": "Quickly convert a list of images to a batch of images. All images must be the same size. Great for long videos." + }, + { + "author": "kale4eat", + "title": "ComfyUI_demucus", + "reference": "https://github.com/kale4eat/ComfyUI-path-util", + "files": [ + "https://github.com/kale4eat/ComfyUI-path-util" + ], + "install_type": "git-clone", + "description": "Path utility for ComfyUI" + }, + { + "author": "kale4eat", + "title": "ComfyUI-string-util", + "reference": "https://github.com/kale4eat/ComfyUI-string-util", + "files": [ + "https://github.com/kale4eat/ComfyUI-string-util" + ], + "install_type": "git-clone", + "description": "String utility for ComfyUI" + }, + { + "author": "kale4eat", + "title": "ComfyUI-text-file-util", + "reference": "https://github.com/kale4eat/ComfyUI-text-file-util", + "files": [ + "https://github.com/kale4eat/ComfyUI-text-file-util" + ], + "install_type": "git-clone", + "description": "Text file utility for ComfyUI" + }, + { + "author": "kijai", + "title": "ComfyUI-APISR", + "reference": "https://github.com/kijai/ComfyUI-APISR", + "files": [ + "https://github.com/kijai/ComfyUI-APISR" + ], + "install_type": "git-clone", + "description": "Node to use [a/APISR](https://github.com/Kiteretsu77/APISR) upscale models in ComfyUI" + }, + { + "author": "DrMWeigand", + "title": "ComfyUI Color Detection Nodes", + "reference": "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection", + "files": [ + "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection" + ], + "install_type": "git-clone", + "description": "A collection of nodes for detecting color in images, leveraging RGB and LAB color spaces. These nodes aim to distinguish colored images from black and white, including those with color tints." + }, diff --git a/extension-node-map.json b/extension-node-map.json index 9357acb4..3984e2b0 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -328,6 +328,7 @@ "Load Images Pair Batch", "Merge Tag", "Move Tag To Top", + "Reserve Tag", "Save Images Pair" ], { @@ -554,6 +555,22 @@ "title_aux": "ComfyUI-Path-Helper" } ], + "https://github.com/BlakeOne/ComfyUI-FastImageListToImageBatch": [ + [ + "FastImageListToImageBatch" + ], + { + "title_aux": "ComfyUI FastImageListToImageBatch" + } + ], + "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": [ + [ + "SchedulerMixer" + ], + { + "title_aux": "ComfyUI SchedulerMixer" + } + ], "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": [ [ "BNK_AddCLIPSDXLParams", @@ -766,6 +783,7 @@ "PrimereStyleLoader", "PrimereStylePile", "PrimereTextOutput", + "PrimereUpscaleModel", "PrimereVAE", "PrimereVAELoader", "PrimereVAESelector", @@ -793,18 +811,6 @@ "title_aux": "ComfyUI-ComfyCouple" } ], - "https://github.com/Davemane42/ComfyUI_Dave_CustomNode": [ - [ - "ABGRemover", - "ConditioningStretch", - "ConditioningUpscale", - "MultiAreaConditioning", - "MultiLatentComposite" - ], - { - "title_aux": "Visual Area Conditioning / Latent composition" - } - ], "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ [ "Absolute value", @@ -864,6 +870,15 @@ "title_aux": "ComfyUI-Cre8it-Nodes" } ], + "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": [ + [ + "LABColorDetection", + "RGBColorDetection" + ], + { + "title_aux": "ComfyUI Color Detection Nodes" + } + ], "https://github.com/Electrofried/ComfyUI-OpenAINode": [ [ "OpenAINode" @@ -1022,6 +1037,7 @@ [ "EmptyMotionData", "ExportSMPLTo3DSoftware", + "Export_SMPLMultipleSubjects_To_3DSoftware", "Human4D_Img2SMPL", "Humans4DLoader", "MotionCLIPTextEncode", @@ -1030,6 +1046,7 @@ "MotionDiffSimpleSampler", "RenderMultipleSubjectsSMPLMesh", "RenderSMPLMesh", + "Render_OpenPose_From_SMPL_Mesh_Multiple_Subjects", "SMPLLoader", "SMPLShapeParameters", "SaveSMPL", @@ -1333,6 +1350,10 @@ "Moondream Interrogator" ], { + "author": "AlexL", + "description": "An implementation of the moondream visual LLM", + "nickname": "Hangover-Moondream", + "title": "ComfyUI-Hangover-Moondream", "title_aux": "ComfyUI-Hangover-Moondream" } ], @@ -1344,6 +1365,10 @@ "Save Image w/o Metadata" ], { + "author": "AlexL", + "description": "Scales an input image into a given box size, whereby the aspect ratio keeps retained.", + "nickname": "Hangover-Image_Scale_Bouning_Box", + "title": "ComfyUI-Hangover-Image_Scale_Bouning_Box", "title_aux": "ComfyUI-Hangover-Nodes" } ], @@ -1352,6 +1377,10 @@ "Recognize Anything Model (RAM++)" ], { + "author": "AlexL", + "description": "An implementation of the Recognize Anything Model (RAM++) for ComfyUI. The counterpart of Segment Anything Model (SAM).", + "nickname": "Hangover-Recognize_Anything", + "title": "ComfyUI-Hangover-Recognize_Anything", "title_aux": "Recognize Anything Model (RAM++) for ComfyUI" } ], @@ -1665,6 +1694,7 @@ "ACN_ControlNetLoaderWithLoraAdvanced", "ACN_DefaultUniversalWeights", "ACN_ReferenceControlNet", + "ACN_ReferenceControlNetFinetune", "ACN_ReferencePreprocessor", "ACN_SparseCtrlIndexMethodNode", "ACN_SparseCtrlLoaderAdvanced", @@ -2157,6 +2187,7 @@ "DoubleClipTextEncode", "HashText", "IndoorBackgrounds", + "IntFloatDict", "LandscapeBackgrounds", "NatureColours", "OptimalCrop", @@ -2547,9 +2578,10 @@ "OneTimeMultiplyTransform", "OneTimeShiftTransform", "ShiftTransform", - "TSamplerWithTransform", + "TransformHijack", "TransformOffset", "TransformSampler", + "TransformSamplerAdvanced", "TransformsCombine" ], { @@ -3981,16 +4013,6 @@ "title_aux": "MergeBlockWeighted_fo_ComfyUI" } ], - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": [ - [ - "APISR_Lterative_Zho", - "APISR_ModelLoader_Zho", - "APISR_Zho" - ], - { - "title_aux": "APISR IN COMFYUI" - } - ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": [ [ "ArtGallery_Zho", @@ -4013,6 +4035,15 @@ "title_aux": "ComfyUI-BRIA_AI-RMBG" } ], + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO": [ + [ + "BiRefNet_ModelLoader_Zho", + "BiRefNet_Zho" + ], + { + "title_aux": "ComfyUI-BiRefNet-ZHO" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": [ [ "DepthFM_Literative_Zho", @@ -4188,6 +4219,7 @@ "AudioToFFTs", "BatchAmplitudeSchedule", "ClipAmplitude", + "FloatArrayToGraph", "GateNormalizedAmplitude", "LoadAudio", "NormalizeAmplitude", @@ -5252,6 +5284,15 @@ "title_aux": "ComfyUI-MotionCtrl-SVD" } ], + "https://github.com/chaojie/ComfyUI-MuseV": [ + [ + "MuseVRun" + ], + { + "author": "infguo", + "title_aux": "ComfyUI-MuseV" + } + ], "https://github.com/chaojie/ComfyUI-Open-Sora": [ [ "OpenSoraLoader", @@ -5923,6 +5964,17 @@ "title_aux": "Cozy Reference Pose Generator" } ], + "https://github.com/crystian/ComfyUI-Crystools": [ + [], + { + "author": "Crystian", + "description": "Plugins for multiples uses, mainly for debugging, you need them! IG: https://www.instagram.com/crystian.ia", + "nickname": "Crystools", + "nodename_pattern": " \\[Crystools\\]$", + "title": "Crystools", + "title_aux": "Crystools" + } + ], "https://github.com/cubiq/ComfyUI_FaceAnalysis": [ [ "FaceAnalysisModels", @@ -6693,6 +6745,20 @@ "title_aux": "RF Nodes" } ], + "https://github.com/frankchieng/ComfyUI_Aniportrait": [ + [ + "AniPortrait_Audio2Video", + "AniPortrait_Audio_Path", + "AniPortrait_Generate_Ref_Pose", + "AniPortrait_LoadVideoPath", + "AniPortrait_Pose_Gen_Video", + "AniPortrait_Ref_Image_Path", + "AniPortrait_Video_Gen_Pose" + ], + { + "title_aux": "ComfyUI_Aniportrait" + } + ], "https://github.com/gemell1/ComfyUI_GMIC": [ [ "GmicCliWrapper", @@ -7322,6 +7388,60 @@ "title_aux": "ComfyUI-Transformers" } ], + "https://github.com/kale4eat/ComfyUI-path-util": [ + [ + "path_util_PathAbspath", + "path_util_PathBasename", + "path_util_PathDirname", + "path_util_PathExists", + "path_util_PathIsdir", + "path_util_PathIsfile", + "path_util_PathJoin", + "path_util_PathRelpath", + "path_util_PathSplitext" + ], + { + "title_aux": "ComfyUI_demucus" + } + ], + "https://github.com/kale4eat/ComfyUI-string-util": [ + [ + "string_util_Str", + "string_util_StrConcat", + "string_util_StrCount", + "string_util_StrEndsWith", + "string_util_StrEqual", + "string_util_StrFind", + "string_util_StrFormat", + "string_util_StrJoin", + "string_util_StrLen", + "string_util_StrLower", + "string_util_StrLstrip", + "string_util_StrNotEqual", + "string_util_StrReplace", + "string_util_StrRstrip", + "string_util_StrSlice", + "string_util_StrSplit", + "string_util_StrStartsWith", + "string_util_StrStrip", + "string_util_StrUpper" + ], + { + "title_aux": "ComfyUI-string-util" + } + ], + "https://github.com/kale4eat/ComfyUI-text-file-util": [ + [ + "text_file_util_ReadAllLines", + "text_file_util_ReadAllText", + "text_file_util_WriteText", + "text_file_util_WriteTextLines", + "text_file_util_WriteTextWithSequentialNumbering" + ], + { + "title_aux": "ComfyUI-text-file-util" + } + ], "https://github.com/kenjiqq/qq-nodes-comfyui": [ [ "Any List", @@ -7370,6 +7490,16 @@ "title_aux": "Animatediff MotionLoRA Trainer" } ], + "https://github.com/kijai/ComfyUI-APISR": [ + [ + "APISR_Lterative_Zho", + "APISR_ModelLoader_Zho", + "APISR_Zho" + ], + { + "title_aux": "ComfyUI-APISR" + } + ], "https://github.com/kijai/ComfyUI-CCSR": [ [ "CCSR_Model_Select", @@ -7768,6 +7898,19 @@ "title_aux": "comfyui-easyapi-nodes" } ], + "https://github.com/logtd/ComfyUI-FLATTEN": [ + [ + "ApplyFlattenAttentionNode", + "CreateFlowNoiseNode", + "FlattenCheckpointLoaderNode", + "KSamplerFlattenNode", + "TrajectoryNode", + "UnsamplerFlattenNode" + ], + { + "title_aux": "ComfyUI-FLATTEN" + } + ], "https://github.com/logtd/ComfyUI-InstanceDiffusion": [ [ "ApplyScaleUModelNode", @@ -7835,8 +7978,7 @@ ], "https://github.com/longgui0318/comfyui-oms-diffusion": [ [ - "Additional Features With Attention", - "Extract Features With Unet" + "Additional Features With Attention" ], { "title_aux": "comfyui-oms-diffusion" @@ -8402,6 +8544,7 @@ "CreateMaskWithCanvas", "CreateRegionalPNGMask", "EightFloats", + "EvenOrOdd", "FloatMultiplication", "FourBooleanTrigger", "FourFloats", @@ -8492,6 +8635,14 @@ "title_aux": "ComfyUI-NegiTools" } ], + "https://github.com/nickve28/nich-comfy-utils": [ + [ + "Image from Dir Selector (Nich)" + ], + { + "title_aux": "Nich Comfy Utils" + } + ], "https://github.com/nicolai256/comfyUI_Nodes_nicolai256/raw/main/yugioh-presets.py": [ [ "yugioh_Presets" @@ -9743,6 +9894,7 @@ "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [ [ "CaptureWebcam", + "ImageResize_Padding", "LatentDelay", "LoadWebcamImage", "SaveImagetoPath" @@ -10234,6 +10386,7 @@ "easy if", "easy imageInsetCrop", "easy imagePixelPerfect", + "easy imageRatio", "easy imageRemBg", "easy imageRemoveBG", "easy imageSave", diff --git a/github-stats.json b/github-stats.json new file mode 100644 index 00000000..e89ab3f8 --- /dev/null +++ b/github-stats.json @@ -0,0 +1,2674 @@ +{ + "https://github.com/ltdrdata/ComfyUI-Manager": { + "stars": 3197, + "last_update": "2024-04-02 12:19:19" + }, + "https://github.com/ltdrdata/ComfyUI-Impact-Pack": { + "stars": 1066, + "last_update": "2024-04-02 05:15:17" + }, + "https://github.com/ltdrdata/ComfyUI-Inspire-Pack": { + "stars": 200, + "last_update": "2024-03-24 08:10:22" + }, + "https://github.com/comfyanonymous/ComfyUI_experiments": { + "stars": 119, + "last_update": "2023-09-13 06:28:20" + }, + "https://github.com/Stability-AI/stability-ComfyUI-nodes": { + "stars": 159, + "last_update": "2023-08-18 19:03:06" + }, + "https://github.com/Fannovel16/comfyui_controlnet_aux": { + "stars": 1118, + "last_update": "2024-04-01 18:25:56" + }, + "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": { + "stars": 245, + "last_update": "2024-02-17 06:26:44" + }, + "https://github.com/Fannovel16/ComfyUI-Loopchain": { + "stars": 24, + "last_update": "2023-12-15 14:25:35" + }, + "https://github.com/Fannovel16/ComfyUI-MotionDiff": { + "stars": 117, + "last_update": "2024-04-01 16:39:58" + }, + "https://github.com/Fannovel16/ComfyUI-Video-Matting": { + "stars": 108, + "last_update": "2024-02-12 13:57:45" + }, + "https://github.com/BlenderNeko/ComfyUI_Cutoff": { + "stars": 286, + "last_update": "2024-03-16 09:59:53" + }, + "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": { + "stars": 217, + "last_update": "2024-03-13 08:17:35" + }, + "https://github.com/BlenderNeko/ComfyUI_Noise": { + "stars": 171, + "last_update": "2023-12-25 16:37:59" + }, + "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": { + "stars": 238, + "last_update": "2024-03-14 02:39:35" + }, + "https://github.com/BlenderNeko/ComfyUI_SeeCoder": { + "stars": 33, + "last_update": "2023-09-11 10:09:22" + }, + "https://github.com/jags111/efficiency-nodes-comfyui": { + "stars": 472, + "last_update": "2024-03-25 13:41:14" + }, + "https://github.com/jags111/ComfyUI_Jags_VectorMagic": { + "stars": 38, + "last_update": "2024-02-03 04:00:30" + }, + "https://github.com/jags111/ComfyUI_Jags_Audiotools": { + "stars": 15, + "last_update": "2023-12-27 16:47:20" + }, + "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": { + "stars": 231, + "last_update": "2024-03-30 03:58:20" + }, + "https://github.com/paulo-coronado/comfy_clip_blip_node": { + "stars": 25, + "last_update": "2023-09-27 00:33:21" + }, + "https://github.com/WASasquatch/was-node-suite-comfyui": { + "stars": 755, + "last_update": "2024-03-20 00:46:04" + }, + "https://github.com/WASasquatch/ComfyUI_Preset_Merger": { + "stars": 20, + "last_update": "2023-08-23 04:57:58" + }, + "https://github.com/WASasquatch/PPF_Noise_ComfyUI": { + "stars": 19, + "last_update": "2023-10-01 03:36:57" + }, + "https://github.com/WASasquatch/PowerNoiseSuite": { + "stars": 45, + "last_update": "2023-09-19 17:04:01" + }, + "https://github.com/WASasquatch/FreeU_Advanced": { + "stars": 85, + "last_update": "2024-03-05 15:36:38" + }, + "https://github.com/WASasquatch/ASTERR": { + "stars": 7, + "last_update": "2023-09-30 01:11:46" + }, + "https://github.com/WASasquatch/WAS_Extras": { + "stars": 21, + "last_update": "2023-11-20 17:14:58" + }, + "https://github.com/get-salt-AI/SaltAI": { + "stars": 35, + "last_update": "2024-03-19 15:37:49" + }, + "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": { + "stars": 92, + "last_update": "2024-02-13 05:05:31" + }, + "https://github.com/lilly1987/ComfyUI_node_Lilly": { + "stars": 49, + "last_update": "2023-11-24 20:13:20" + }, + "https://github.com/sylym/comfy_vid2vid": { + "stars": 57, + "last_update": "2023-08-29 08:07:35" + }, + "https://github.com/EllangoK/ComfyUI-post-processing-nodes": { + "stars": 133, + "last_update": "2024-02-07 01:59:01" + }, + "https://github.com/LEv145/images-grid-comfy-plugin": { + "stars": 105, + "last_update": "2024-02-23 08:22:13" + }, + "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": { + "stars": 52, + "last_update": "2024-02-14 18:07:29" + }, + "https://github.com/CYBERLOOM-INC/ComfyUI-nodes-hnmr": { + "stars": 2, + "last_update": "2024-01-01 20:01:25" + }, + "https://github.com/BadCafeCode/masquerade-nodes-comfyui": { + "stars": 247, + "last_update": "2024-02-26 04:23:37" + }, + "https://github.com/guoyk93/yk-node-suite-comfyui": { + "stars": 10, + "last_update": "2023-03-28 16:19:46" + }, + "https://github.com/Jcd1230/rembg-comfyui-node": { + "stars": 94, + "last_update": "2023-04-03 00:12:22" + }, + "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": { + "stars": 14, + "last_update": "2023-05-23 19:57:46" + }, + "https://github.com/trojblue/trNodes": { + "stars": 8, + "last_update": "2024-03-17 00:16:43" + }, + "https://github.com/szhublox/ambw_comfyui": { + "stars": 10, + "last_update": "2024-01-09 14:14:18" + }, + "https://github.com/city96/ComfyUI_NetDist": { + "stars": 168, + "last_update": "2024-02-15 17:34:51" + }, + "https://github.com/city96/SD-Latent-Interposer": { + "stars": 131, + "last_update": "2024-03-20 21:55:09" + }, + "https://github.com/city96/SD-Advanced-Noise": { + "stars": 15, + "last_update": "2023-08-14 15:17:54" + }, + "https://github.com/city96/SD-Latent-Upscaler": { + "stars": 96, + "last_update": "2023-11-27 00:26:14" + }, + "https://github.com/city96/ComfyUI_DiT": { + "stars": 2, + "last_update": "2023-09-06 17:15:54" + }, + "https://github.com/city96/ComfyUI_ColorMod": { + "stars": 13, + "last_update": "2023-09-30 15:24:38" + }, + "https://github.com/city96/ComfyUI_ExtraModels": { + "stars": 80, + "last_update": "2024-03-16 17:20:28" + }, + "https://github.com/Kaharos94/ComfyUI-Saveaswebp": { + "stars": 27, + "last_update": "2023-11-11 19:53:48" + }, + "https://github.com/SLAPaper/ComfyUI-Image-Selector": { + "stars": 43, + "last_update": "2024-01-10 10:02:25" + }, + "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": { + "stars": 6, + "last_update": "2024-02-29 02:08:28" + }, + "https://github.com/Zuellni/ComfyUI-Custom-Nodes": { + "stars": 43, + "last_update": "2023-09-19 12:11:26" + }, + "https://github.com/Zuellni/ComfyUI-ExLlama": { + "stars": 77, + "last_update": "2024-02-26 12:24:06" + }, + "https://github.com/Zuellni/ComfyUI-PickScore-Nodes": { + "stars": 14, + "last_update": "2024-02-09 16:03:17" + }, + "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": { + "stars": 506, + "last_update": "2024-02-29 09:53:46" + }, + "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": { + "stars": 268, + "last_update": "2024-03-15 14:36:17" + }, + "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": { + "stars": 1000, + "last_update": "2024-04-02 04:42:43" + }, + "https://github.com/strimmlarn/ComfyUI_Strimmlarns_aesthetic_score": { + "stars": 20, + "last_update": "2024-03-01 23:00:05" + }, + "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": { + "stars": 234, + "last_update": "2024-03-10 07:42:00" + }, + "https://github.com/Jordach/comfy-plasma": { + "stars": 39, + "last_update": "2023-07-31 00:57:50" + }, + "https://github.com/bvhari/ComfyUI_ImageProcessing": { + "stars": 15, + "last_update": "2023-05-25 10:49:24" + }, + "https://github.com/bvhari/ComfyUI_LatentToRGB": { + "stars": 10, + "last_update": "2023-05-20 06:50:37" + }, + "https://github.com/bvhari/ComfyUI_PerpWeight": { + "stars": 8, + "last_update": "2024-03-25 07:05:23" + }, + "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": { + "stars": 487, + "last_update": "2024-03-30 17:18:43" + }, + "https://github.com/ssitu/ComfyUI_restart_sampling": { + "stars": 49, + "last_update": "2024-04-02 04:43:43" + }, + "https://github.com/ssitu/ComfyUI_roop": { + "stars": 56, + "last_update": "2023-09-05 16:18:48" + }, + "https://github.com/ssitu/ComfyUI_fabric": { + "stars": 68, + "last_update": "2023-12-31 18:28:55" + }, + "https://github.com/space-nuko/ComfyUI-Disco-Diffusion": { + "stars": 40, + "last_update": "2023-09-12 07:35:52" + }, + "https://github.com/space-nuko/ComfyUI-OpenPose-Editor": { + "stars": 128, + "last_update": "2024-01-05 17:45:55" + }, + "https://github.com/space-nuko/nui-suite": { + "stars": 10, + "last_update": "2023-06-04 22:08:46" + }, + "https://github.com/Nourepide/ComfyUI-Allor": { + "stars": 140, + "last_update": "2024-03-21 07:40:20" + }, + "https://github.com/melMass/comfy_mtb": { + "stars": 258, + "last_update": "2024-04-02 04:07:19" + }, + "https://github.com/xXAdonesXx/NodeGPT": { + "stars": 299, + "last_update": "2024-02-01 23:20:08" + }, + "https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes": { + "stars": 357, + "last_update": "2024-03-22 16:13:20" + }, + "https://github.com/bmad4ever/ComfyUI-Bmad-DirtyUndoRedo": { + "stars": 47, + "last_update": "2023-11-29 14:41:23" + }, + "https://github.com/bmad4ever/comfyui_bmad_nodes": { + "stars": 36, + "last_update": "2024-04-02 03:51:18" + }, + "https://github.com/bmad4ever/comfyui_ab_samplercustom": { + "stars": 3, + "last_update": "2023-11-06 17:45:57" + }, + "https://github.com/bmad4ever/comfyui_lists_cartesian_product": { + "stars": 1, + "last_update": "2023-12-22 00:54:35" + }, + "https://github.com/bmad4ever/comfyui_wfc_like": { + "stars": 2, + "last_update": "2024-03-19 23:02:45" + }, + "https://github.com/bmad4ever/comfyui_quilting": { + "stars": 1, + "last_update": "2024-03-04 22:48:03" + }, + "https://github.com/FizzleDorf/ComfyUI_FizzNodes": { + "stars": 249, + "last_update": "2024-03-24 14:52:58" + }, + "https://github.com/FizzleDorf/ComfyUI-AIT": { + "stars": 42, + "last_update": "2023-11-08 14:03:03" + }, + "https://github.com/filipemeneses/comfy_pixelization": { + "stars": 18, + "last_update": "2024-02-01 04:09:13" + }, + "https://github.com/shiimizu/ComfyUI_smZNodes": { + "stars": 105, + "last_update": "2024-03-20 06:12:08" + }, + "https://github.com/shiimizu/ComfyUI-TiledDiffusion": { + "stars": 121, + "last_update": "2024-02-19 10:44:28" + }, + "https://github.com/ZaneA/ComfyUI-ImageReward": { + "stars": 22, + "last_update": "2024-02-04 23:38:10" + }, + "https://github.com/SeargeDP/SeargeSDXL": { + "stars": 677, + "last_update": "2023-11-13 11:06:08" + }, + "https://github.com/cubiq/ComfyUI_SimpleMath": { + "stars": 6, + "last_update": "2023-09-26 06:31:44" + }, + "https://github.com/cubiq/ComfyUI_IPAdapter_plus": { + "stars": 1907, + "last_update": "2024-04-02 11:32:17" + }, + "https://github.com/cubiq/ComfyUI_InstantID": { + "stars": 600, + "last_update": "2024-03-29 19:27:42" + }, + "https://github.com/cubiq/ComfyUI_FaceAnalysis": { + "stars": 100, + "last_update": "2024-03-16 17:13:27" + }, + "https://github.com/shockz0rz/ComfyUI_InterpolateEverything": { + "stars": 20, + "last_update": "2023-12-23 04:13:06" + }, + "https://github.com/shockz0rz/comfy-easy-grids": { + "stars": 8, + "last_update": "2024-01-01 02:40:59" + }, + "https://github.com/yolanother/DTAIComfyPromptAgent": { + "stars": 5, + "last_update": "2023-07-15 15:19:30" + }, + "https://github.com/yolanother/DTAIImageToTextNode": { + "stars": 12, + "last_update": "2024-01-25 02:53:22" + }, + "https://github.com/yolanother/DTAIComfyLoaders": { + "stars": 1, + "last_update": "2023-12-25 04:37:43" + }, + "https://github.com/yolanother/DTAIComfyImageSubmit": { + "stars": 1, + "last_update": "2023-12-25 04:37:20" + }, + "https://github.com/yolanother/DTAIComfyQRCodes": { + "stars": 2, + "last_update": "2023-12-25 04:38:00" + }, + "https://github.com/yolanother/DTAIComfyVariables": { + "stars": 6, + "last_update": "2023-12-25 04:37:03" + }, + "https://github.com/sipherxyz/comfyui-art-venture": { + "stars": 52, + "last_update": "2024-03-03 12:21:56" + }, + "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": { + "stars": 4, + "last_update": "2023-07-21 11:22:18" + }, + "https://github.com/pants007/comfy-pants": { + "stars": 2, + "last_update": "2023-08-13 12:02:23" + }, + "https://github.com/evanspearman/ComfyMath": { + "stars": 35, + "last_update": "2023-08-27 03:29:04" + }, + "https://github.com/civitai/comfy-nodes": { + "stars": 74, + "last_update": "2024-02-29 12:23:11" + }, + "https://github.com/andersxa/comfyui-PromptAttention": { + "stars": 19, + "last_update": "2023-09-22 22:48:52" + }, + "https://github.com/ArtVentureX/comfyui-animatediff": { + "stars": 576, + "last_update": "2024-01-06 09:18:52" + }, + "https://github.com/twri/sdxl_prompt_styler": { + "stars": 495, + "last_update": "2024-03-24 18:55:24" + }, + "https://github.com/wolfden/ComfyUi_PromptStylers": { + "stars": 49, + "last_update": "2023-10-22 21:34:59" + }, + "https://github.com/wolfden/ComfyUi_String_Function_Tree": { + "stars": 7, + "last_update": "2023-10-22 22:12:55" + }, + "https://github.com/daxthin/DZ-FaceDetailer": { + "stars": 84, + "last_update": "2023-12-16 17:31:44" + }, + "https://github.com/asagi4/comfyui-prompt-control": { + "stars": 125, + "last_update": "2024-03-19 22:22:37" + }, + "https://github.com/asagi4/ComfyUI-CADS": { + "stars": 24, + "last_update": "2024-03-25 00:35:48" + }, + "https://github.com/asagi4/comfyui-utility-nodes": { + "stars": 6, + "last_update": "2024-03-10 16:04:01" + }, + "https://github.com/jamesWalker55/comfyui-p2ldgan": { + "stars": 12, + "last_update": "2023-08-11 20:15:26" + }, + "https://github.com/jamesWalker55/comfyui-various": { + "stars": 22, + "last_update": "2024-03-10 06:45:45" + }, + "https://github.com/adieyal/comfyui-dynamicprompts": { + "stars": 145, + "last_update": "2024-02-05 06:55:50" + }, + "https://github.com/mihaiiancu/ComfyUI_Inpaint": { + "stars": 9, + "last_update": "2023-07-30 22:32:41" + }, + "https://github.com/kwaroran/abg-comfyui": { + "stars": 19, + "last_update": "2023-08-03 08:57:52" + }, + "https://github.com/bash-j/mikey_nodes": { + "stars": 59, + "last_update": "2024-03-10 09:09:50" + }, + "https://github.com/failfa-st/failfast-comfyui-extensions": { + "stars": 101, + "last_update": "2024-02-25 09:56:19" + }, + "https://github.com/Pfaeff/pfaeff-comfyui": { + "stars": 17, + "last_update": "2023-08-19 19:28:36" + }, + "https://github.com/wallish77/wlsh_nodes": { + "stars": 66, + "last_update": "2024-03-28 23:02:54" + }, + "https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet": { + "stars": 300, + "last_update": "2024-04-02 07:07:31" + }, + "https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved": { + "stars": 1874, + "last_update": "2024-03-29 11:22:34" + }, + "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite": { + "stars": 273, + "last_update": "2024-03-31 00:31:24" + }, + "https://github.com/Gourieff/comfyui-reactor-node": { + "stars": 794, + "last_update": "2024-04-02 10:10:43" + }, + "https://github.com/imb101/ComfyUI-FaceSwap": { + "stars": 28, + "last_update": "2023-08-04 23:54:24" + }, + "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": { + "stars": 7, + "last_update": "2024-02-29 15:21:23" + }, + "https://github.com/AIrjen/OneButtonPrompt": { + "stars": 604, + "last_update": "2024-04-01 19:45:48" + }, + "https://github.com/coreyryanhanson/ComfyQR": { + "stars": 35, + "last_update": "2024-03-20 20:10:27" + }, + "https://github.com/coreyryanhanson/ComfyQR-scanning-nodes": { + "stars": 8, + "last_update": "2023-10-15 03:19:16" + }, + "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": { + "stars": 137, + "last_update": "2024-01-07 03:29:57" + }, + "https://github.com/hylarucoder/ComfyUI-Eagle-PNGInfo": { + "stars": 4, + "last_update": "2023-12-10 13:57:48" + }, + "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": { + "stars": 23, + "last_update": "2023-10-23 14:55:53" + }, + "https://github.com/M1kep/Comfy_KepListStuff": { + "stars": 22, + "last_update": "2023-10-30 01:30:09" + }, + "https://github.com/M1kep/ComfyLiterals": { + "stars": 8, + "last_update": "2023-11-20 01:08:21" + }, + "https://github.com/M1kep/KepPromptLang": { + "stars": 4, + "last_update": "2023-11-19 08:27:04" + }, + "https://github.com/M1kep/Comfy_KepMatteAnything": { + "stars": 9, + "last_update": "2023-09-27 01:16:51" + }, + "https://github.com/M1kep/Comfy_KepKitchenSink": { + "stars": 0, + "last_update": "2023-09-25 05:58:26" + }, + "https://github.com/M1kep/ComfyUI-OtherVAEs": { + "stars": 1, + "last_update": "2023-10-29 03:21:34" + }, + "https://github.com/M1kep/ComfyUI-KepOpenAI": { + "stars": 20, + "last_update": "2023-11-08 22:43:37" + }, + "https://github.com/uarefans/ComfyUI-Fans": { + "stars": 11, + "last_update": "2023-08-15 18:42:40" + }, + "https://github.com/NicholasMcCarthy/ComfyUI_TravelSuite": { + "stars": 12, + "last_update": "2024-02-02 11:09:18" + }, + "https://github.com/ManglerFTW/ComfyI2I": { + "stars": 128, + "last_update": "2023-11-03 11:09:53" + }, + "https://github.com/theUpsider/ComfyUI-Logic": { + "stars": 69, + "last_update": "2023-12-12 20:29:49" + }, + "https://github.com/mpiquero7164/ComfyUI-SaveImgPrompt": { + "stars": 12, + "last_update": "2023-08-14 11:27:09" + }, + "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": { + "stars": 1, + "last_update": "2023-08-16 11:33:14" + }, + "https://github.com/Extraltodeus/noise_latent_perlinpinpin": { + "stars": 18, + "last_update": "2023-08-21 22:04:31" + }, + "https://github.com/Extraltodeus/LoadLoraWithTags": { + "stars": 28, + "last_update": "2023-10-28 15:51:44" + }, + "https://github.com/Extraltodeus/sigmas_tools_and_the_golden_scheduler": { + "stars": 26, + "last_update": "2024-01-25 16:30:20" + }, + "https://github.com/Extraltodeus/ComfyUI-AutomaticCFG": { + "stars": 118, + "last_update": "2024-03-31 21:34:36" + }, + "https://github.com/Extraltodeus/Vector_Sculptor_ComfyUI": { + "stars": 53, + "last_update": "2024-03-26 16:30:00" + }, + "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": { + "stars": 25, + "last_update": "2024-02-02 13:05:11" + }, + "https://github.com/hustille/ComfyUI_hus_utils": { + "stars": 4, + "last_update": "2023-08-16 15:44:24" + }, + "https://github.com/hustille/ComfyUI_Fooocus_KSampler": { + "stars": 53, + "last_update": "2023-09-10 01:51:24" + }, + "https://github.com/badjeff/comfyui_lora_tag_loader": { + "stars": 35, + "last_update": "2024-02-12 07:46:02" + }, + "https://github.com/rgthree/rgthree-comfy": { + "stars": 435, + "last_update": "2024-04-02 00:45:15" + }, + "https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION": { + "stars": 636, + "last_update": "2024-04-02 10:03:49" + }, + "https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Studio": { + "stars": 167, + "last_update": "2024-03-24 04:37:53" + }, + "https://github.com/AIGODLIKE/ComfyUI-CUP": { + "stars": 0, + "last_update": "2024-03-22 07:26:43" + }, + "https://github.com/syllebra/bilbox-comfyui": { + "stars": 64, + "last_update": "2024-02-13 18:49:16" + }, + "https://github.com/giriss/comfy-image-saver": { + "stars": 104, + "last_update": "2023-11-16 10:39:05" + }, + "https://github.com/shingo1228/ComfyUI-send-eagle-slim": { + "stars": 18, + "last_update": "2024-01-27 01:44:58" + }, + "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage": { + "stars": 20, + "last_update": "2023-08-17 07:51:02" + }, + "https://github.com/laksjdjf/pfg-ComfyUI": { + "stars": 9, + "last_update": "2023-07-12 06:33:40" + }, + "https://github.com/laksjdjf/attention-couple-ComfyUI": { + "stars": 52, + "last_update": "2024-03-25 03:38:55" + }, + "https://github.com/laksjdjf/cd-tuner_negpip-ComfyUI": { + "stars": 16, + "last_update": "2023-11-23 02:06:20" + }, + "https://github.com/laksjdjf/LCMSampler-ComfyUI": { + "stars": 14, + "last_update": "2023-11-08 11:07:04" + }, + "https://github.com/laksjdjf/LoRTnoC-ComfyUI": { + "stars": 9, + "last_update": "2024-03-07 12:27:44" + }, + "https://github.com/laksjdjf/Batch-Condition-ComfyUI": { + "stars": 1, + "last_update": "2024-03-09 12:22:07" + }, + "https://github.com/alsritter/asymmetric-tiling-comfyui": { + "stars": 14, + "last_update": "2023-08-18 16:32:27" + }, + "https://github.com/meap158/ComfyUI-GPU-temperature-protection": { + "stars": 3, + "last_update": "2023-10-07 09:45:25" + }, + "https://github.com/meap158/ComfyUI-Prompt-Expansion": { + "stars": 54, + "last_update": "2023-09-17 00:00:31" + }, + "https://github.com/meap158/ComfyUI-Background-Replacement": { + "stars": 23, + "last_update": "2023-12-17 14:05:08" + }, + "https://github.com/TeaCrab/ComfyUI-TeaNodes": { + "stars": 4, + "last_update": "2024-02-07 21:57:28" + }, + "https://github.com/nagolinc/ComfyUI_FastVAEDecorder_SDXL": { + "stars": 2, + "last_update": "2023-07-27 20:15:00" + }, + "https://github.com/bradsec/ComfyUI_ResolutionSelector": { + "stars": 7, + "last_update": "2023-08-19 06:52:19" + }, + "https://github.com/kohya-ss/ControlNet-LLLite-ComfyUI": { + "stars": 118, + "last_update": "2024-03-15 19:05:53" + }, + "https://github.com/jjkramhoeft/ComfyUI-Jjk-Nodes": { + "stars": 4, + "last_update": "2023-08-19 19:17:07" + }, + "https://github.com/dagthomas/comfyui_dagthomas": { + "stars": 40, + "last_update": "2024-01-03 09:59:57" + }, + "https://github.com/marhensa/sdxl-recommended-res-calc": { + "stars": 46, + "last_update": "2024-03-15 05:43:38" + }, + "https://github.com/Nuked88/ComfyUI-N-Nodes": { + "stars": 136, + "last_update": "2024-03-16 11:27:55" + }, + "https://github.com/Nuked88/ComfyUI-N-Sidebar": { + "stars": 248, + "last_update": "2024-03-31 20:26:53" + }, + "https://github.com/richinsley/Comfy-LFO": { + "stars": 4, + "last_update": "2023-08-23 23:08:16" + }, + "https://github.com/Beinsezii/bsz-cui-extras": { + "stars": 19, + "last_update": "2024-01-11 23:53:04" + }, + "https://github.com/youyegit/tdxh_node_comfyui": { + "stars": 2, + "last_update": "2023-09-21 08:40:50" + }, + "https://github.com/Sxela/ComfyWarp": { + "stars": 19, + "last_update": "2023-11-04 10:45:11" + }, + "https://github.com/skfoo/ComfyUI-Coziness": { + "stars": 17, + "last_update": "2024-02-23 18:59:41" + }, + "https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes": { + "stars": 13, + "last_update": "2023-08-30 16:06:45" + }, + "https://github.com/Lerc/canvas_tab": { + "stars": 111, + "last_update": "2024-01-25 22:09:37" + }, + "https://github.com/Ttl/ComfyUi_NNLatentUpscale": { + "stars": 122, + "last_update": "2023-08-28 13:56:20" + }, + "https://github.com/spro/comfyui-mirror": { + "stars": 3, + "last_update": "2023-08-28 02:37:52" + }, + "https://github.com/Tropfchen/ComfyUI-Embedding_Picker": { + "stars": 19, + "last_update": "2024-01-06 14:15:12" + }, + "https://github.com/Acly/comfyui-tooling-nodes": { + "stars": 158, + "last_update": "2024-03-04 08:52:39" + }, + "https://github.com/Acly/comfyui-inpaint-nodes": { + "stars": 237, + "last_update": "2024-03-24 16:00:17" + }, + "https://github.com/picturesonpictures/comfy_PoP": { + "stars": 9, + "last_update": "2024-02-01 03:04:42" + }, + "https://github.com/alt-key-project/comfyui-dream-project": { + "stars": 60, + "last_update": "2023-12-21 19:36:51" + }, + "https://github.com/alt-key-project/comfyui-dream-video-batches": { + "stars": 38, + "last_update": "2023-12-03 10:31:55" + }, + "https://github.com/seanlynch/comfyui-optical-flow": { + "stars": 19, + "last_update": "2023-10-20 21:22:17" + }, + "https://github.com/ealkanat/comfyui_easy_padding": { + "stars": 10, + "last_update": "2023-09-26 14:56:04" + }, + "https://github.com/ArtBot2023/CharacterFaceSwap": { + "stars": 47, + "last_update": "2023-10-25 04:29:40" + }, + "https://github.com/mav-rik/facerestore_cf": { + "stars": 117, + "last_update": "2024-03-19 21:36:31" + }, + "https://github.com/braintacles/braintacles-comfyui-nodes": { + "stars": 1, + "last_update": "2023-09-06 12:12:32" + }, + "https://github.com/hayden-fr/ComfyUI-Model-Manager": { + "stars": 15, + "last_update": "2024-03-06 01:43:49" + }, + "https://github.com/hayden-fr/ComfyUI-Image-Browsing": { + "stars": 2, + "last_update": "2023-09-07 14:06:12" + }, + "https://github.com/ali1234/comfyui-job-iterator": { + "stars": 39, + "last_update": "2023-09-10 23:42:15" + }, + "https://github.com/jmkl/ComfyUI-ricing": { + "stars": 9, + "last_update": "2023-09-11 03:33:34" + }, + "https://github.com/budihartono/comfyui_otonx_nodes": { + "stars": 1, + "last_update": "2023-11-08 14:26:20" + }, + "https://github.com/ramyma/A8R8_ComfyUI_nodes": { + "stars": 4, + "last_update": "2023-09-13 02:56:53" + }, + "https://github.com/spinagon/ComfyUI-seamless-tiling": { + "stars": 39, + "last_update": "2024-01-29 03:45:40" + }, + "https://github.com/tusharbhutt/Endless-Nodes": { + "stars": 21, + "last_update": "2023-10-21 23:02:19" + }, + "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": { + "stars": 17, + "last_update": "2024-03-30 05:10:42" + }, + "https://github.com/spacepxl/ComfyUI-Image-Filters": { + "stars": 38, + "last_update": "2024-03-15 06:09:56" + }, + "https://github.com/spacepxl/ComfyUI-RAVE": { + "stars": 69, + "last_update": "2024-01-28 09:08:08" + }, + "https://github.com/phineas-pta/comfyui-auto-nodes-layout": { + "stars": 13, + "last_update": "2023-09-21 14:49:12" + }, + "https://github.com/receyuki/comfyui-prompt-reader-node": { + "stars": 137, + "last_update": "2024-03-21 16:07:20" + }, + "https://github.com/rklaffehn/rk-comfy-nodes": { + "stars": 2, + "last_update": "2024-01-23 17:12:45" + }, + "https://github.com/cubiq/ComfyUI_essentials": { + "stars": 156, + "last_update": "2024-03-30 19:23:33" + }, + "https://github.com/Clybius/ComfyUI-Latent-Modifiers": { + "stars": 35, + "last_update": "2024-01-02 21:57:58" + }, + "https://github.com/Clybius/ComfyUI-Extra-Samplers": { + "stars": 19, + "last_update": "2024-03-25 21:14:59" + }, + "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding": { + "stars": 979, + "last_update": "2024-03-21 09:27:41" + }, + "https://github.com/Tropfchen/ComfyUI-yaResolutionSelector": { + "stars": 5, + "last_update": "2024-01-20 14:15:58" + }, + "https://github.com/chrisgoringe/cg-noise": { + "stars": 20, + "last_update": "2024-02-02 23:38:25" + }, + "https://github.com/chrisgoringe/cg-image-picker": { + "stars": 109, + "last_update": "2024-03-29 04:17:32" + }, + "https://github.com/chrisgoringe/cg-use-everywhere": { + "stars": 242, + "last_update": "2024-03-29 04:12:08" + }, + "https://github.com/chrisgoringe/cg-prompt-info": { + "stars": 22, + "last_update": "2023-10-20 05:21:26" + }, + "https://github.com/TGu-97/ComfyUI-TGu-utils": { + "stars": 1, + "last_update": "2023-09-25 04:06:55" + }, + "https://github.com/seanlynch/srl-nodes": { + "stars": 3, + "last_update": "2023-10-22 22:35:41" + }, + "https://github.com/alpertunga-bile/prompt-generator-comfyui": { + "stars": 48, + "last_update": "2024-03-29 10:58:50" + }, + "https://github.com/mlinmg/ComfyUI-LaMA-Preprocessor": { + "stars": 60, + "last_update": "2023-12-21 04:31:58" + }, + "https://github.com/kijai/ComfyUI-KJNodes": { + "stars": 154, + "last_update": "2024-04-01 13:20:28" + }, + "https://github.com/kijai/ComfyUI-CCSR": { + "stars": 94, + "last_update": "2024-03-18 10:10:20" + }, + "https://github.com/kijai/ComfyUI-SVD": { + "stars": 149, + "last_update": "2023-11-25 10:16:57" + }, + "https://github.com/kijai/ComfyUI-Marigold": { + "stars": 294, + "last_update": "2024-04-01 22:48:01" + }, + "https://github.com/kijai/ComfyUI-Geowizard": { + "stars": 57, + "last_update": "2024-03-30 10:16:56" + }, + "https://github.com/kijai/ComfyUI-depth-fm": { + "stars": 35, + "last_update": "2024-03-23 23:45:51" + }, + "https://github.com/kijai/ComfyUI-DDColor": { + "stars": 51, + "last_update": "2024-01-18 08:05:17" + }, + "https://github.com/kijai/ComfyUI-ADMotionDirector": { + "stars": 82, + "last_update": "2024-03-27 19:38:20" + }, + "https://github.com/kijai/ComfyUI-moondream": { + "stars": 52, + "last_update": "2024-03-11 00:50:24" + }, + "https://github.com/kijai/ComfyUI-SUPIR": { + "stars": 779, + "last_update": "2024-03-29 22:29:23" + }, + "https://github.com/kijai/ComfyUI-DynamiCrafterWrapper": { + "stars": 152, + "last_update": "2024-03-26 13:31:13" + }, + "https://github.com/hhhzzyang/Comfyui_Lama": { + "stars": 29, + "last_update": "2023-10-01 17:33:29" + }, + "https://github.com/thedyze/save-image-extended-comfyui": { + "stars": 54, + "last_update": "2023-11-09 17:48:44" + }, + "https://github.com/SOELexicon/ComfyUI-LexTools": { + "stars": 17, + "last_update": "2024-03-15 17:45:41" + }, + "https://github.com/mikkel/ComfyUI-text-overlay": { + "stars": 22, + "last_update": "2023-10-05 03:05:03" + }, + "https://github.com/avatechai/avatar-graph-comfyui": { + "stars": 181, + "last_update": "2024-02-06 08:56:30" + }, + "https://github.com/TRI3D-LC/tri3d-comfyui-nodes": { + "stars": 7, + "last_update": "2024-03-19 12:03:30" + }, + "https://github.com/storyicon/comfyui_segment_anything": { + "stars": 334, + "last_update": "2024-03-30 10:11:17" + }, + "https://github.com/a1lazydog/ComfyUI-AudioScheduler": { + "stars": 56, + "last_update": "2024-04-01 05:46:51" + }, + "https://github.com/whatbirdisthat/cyberdolphin": { + "stars": 14, + "last_update": "2023-11-11 23:35:44" + }, + "https://github.com/chrish-slingshot/CrasHUtils": { + "stars": 11, + "last_update": "2023-11-02 23:00:35" + }, + "https://github.com/spinagon/ComfyUI-seam-carving": { + "stars": 10, + "last_update": "2023-10-13 07:24:05" + }, + "https://github.com/YMC-GitHub/ymc-node-suite-comfyui": { + "stars": 14, + "last_update": "2023-12-27 14:18:04" + }, + "https://github.com/chibiace/ComfyUI-Chibi-Nodes": { + "stars": 19, + "last_update": "2023-12-30 07:50:05" + }, + "https://github.com/DigitalIO/ComfyUI-stable-wildcards": { + "stars": 19, + "last_update": "2023-12-18 23:42:52" + }, + "https://github.com/THtianhao/ComfyUI-Portrait-Maker": { + "stars": 146, + "last_update": "2024-03-07 06:45:14" + }, + "https://github.com/THtianhao/ComfyUI-FaceChain": { + "stars": 61, + "last_update": "2024-01-15 07:18:31" + }, + "https://github.com/zer0TF/cute-comfy": { + "stars": 27, + "last_update": "2024-01-04 04:20:46" + }, + "https://github.com/chflame163/ComfyUI_MSSpeech_TTS": { + "stars": 12, + "last_update": "2024-02-20 01:27:38" + }, + "https://github.com/chflame163/ComfyUI_WordCloud": { + "stars": 40, + "last_update": "2024-02-27 12:47:52" + }, + "https://github.com/chflame163/ComfyUI_LayerStyle": { + "stars": 321, + "last_update": "2024-03-31 12:18:19" + }, + "https://github.com/chflame163/ComfyUI_FaceSimilarity": { + "stars": 2, + "last_update": "2024-03-22 05:35:23" + }, + "https://github.com/drustan-hawk/primitive-types": { + "stars": 5, + "last_update": "2023-10-20 16:33:23" + }, + "https://github.com/shadowcz007/comfyui-mixlab-nodes": { + "stars": 613, + "last_update": "2024-03-30 15:46:38" + }, + "https://github.com/shadowcz007/comfyui-ultralytics-yolo": { + "stars": 9, + "last_update": "2024-03-29 08:35:02" + }, + "https://github.com/shadowcz007/comfyui-consistency-decoder": { + "stars": 1, + "last_update": "2024-02-02 01:46:54" + }, + "https://github.com/shadowcz007/comfyui-Image-reward": { + "stars": 7, + "last_update": "2024-03-25 05:41:04" + }, + "https://github.com/ostris/ostris_nodes_comfyui": { + "stars": 17, + "last_update": "2023-11-26 21:41:27" + }, + "https://github.com/0xbitches/ComfyUI-LCM": { + "stars": 239, + "last_update": "2023-11-11 21:24:33" + }, + "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": { + "stars": 68, + "last_update": "2023-12-01 00:09:15" + }, + "https://github.com/taabata/LCM_Inpaint-Outpaint_Comfy": { + "stars": 202, + "last_update": "2024-02-19 22:14:46" + }, + "https://github.com/noxinias/ComfyUI_NoxinNodes": { + "stars": 4, + "last_update": "2023-11-01 00:11:28" + }, + "https://github.com/GMapeSplat/ComfyUI_ezXY": { + "stars": 16, + "last_update": "2023-11-30 00:32:24" + }, + "https://github.com/kinfolk0117/ComfyUI_SimpleTiles": { + "stars": 22, + "last_update": "2024-01-29 19:27:12" + }, + "https://github.com/kinfolk0117/ComfyUI_GradientDeepShrink": { + "stars": 20, + "last_update": "2023-12-01 20:13:00" + }, + "https://github.com/kinfolk0117/ComfyUI_Pilgram": { + "stars": 6, + "last_update": "2024-01-07 14:49:46" + }, + "https://github.com/Fictiverse/ComfyUI_Fictiverse": { + "stars": 6, + "last_update": "2023-11-29 12:58:14" + }, + "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words": { + "stars": 35, + "last_update": "2024-03-14 22:26:17" + }, + "https://github.com/aianimation55/ComfyUI-FatLabels": { + "stars": 4, + "last_update": "2023-10-31 14:25:23" + }, + "https://github.com/noembryo/ComfyUI-noEmbryo": { + "stars": 11, + "last_update": "2024-03-22 17:52:32" + }, + "https://github.com/mikkel/comfyui-mask-boundingbox": { + "stars": 20, + "last_update": "2024-03-07 08:11:06" + }, + "https://github.com/ParmanBabra/ComfyUI-Malefish-Custom-Scripts": { + "stars": 0, + "last_update": "2023-11-03 04:16:28" + }, + "https://github.com/matan1905/ComfyUI-Serving-Toolkit": { + "stars": 30, + "last_update": "2024-02-28 18:30:35" + }, + "https://github.com/PCMonsterx/ComfyUI-CSV-Loader": { + "stars": 8, + "last_update": "2023-11-06 06:34:25" + }, + "https://github.com/Trung0246/ComfyUI-0246": { + "stars": 83, + "last_update": "2024-03-10 08:42:04" + }, + "https://github.com/fexli/fexli-util-node-comfyui": { + "stars": 3, + "last_update": "2024-02-20 09:14:55" + }, + "https://github.com/AbyssYuan0/ComfyUI_BadgerTools": { + "stars": 5, + "last_update": "2024-03-16 07:39:28" + }, + "https://github.com/palant/image-resize-comfyui": { + "stars": 39, + "last_update": "2024-01-18 20:59:55" + }, + "https://github.com/palant/integrated-nodes-comfyui": { + "stars": 27, + "last_update": "2023-12-27 22:52:00" + }, + "https://github.com/palant/extended-saveimage-comfyui": { + "stars": 8, + "last_update": "2024-03-27 14:08:21" + }, + "https://github.com/whmc76/ComfyUI-Openpose-Editor-Plus": { + "stars": 12, + "last_update": "2024-01-06 18:32:07" + }, + "https://github.com/martijnat/comfyui-previewlatent": { + "stars": 27, + "last_update": "2024-02-15 05:52:28" + }, + "https://github.com/banodoco/steerable-motion": { + "stars": 401, + "last_update": "2024-03-30 12:10:00" + }, + "https://github.com/gemell1/ComfyUI_GMIC": { + "stars": 5, + "last_update": "2024-03-25 13:14:16" + }, + "https://github.com/LonicaMewinsky/ComfyUI-MakeFrame": { + "stars": 20, + "last_update": "2023-11-27 14:47:20" + }, + "https://github.com/TheBarret/ZSuite": { + "stars": 6, + "last_update": "2023-12-06 12:47:18" + }, + "https://github.com/romeobuilderotti/ComfyUI-PNG-Metadata": { + "stars": 1, + "last_update": "2024-01-04 17:52:44" + }, + "https://github.com/ka-puna/comfyui-yanc": { + "stars": 5, + "last_update": "2023-12-10 21:29:12" + }, + "https://github.com/Amorano/Jovimetrix": { + "stars": 93, + "last_update": "2024-03-31 04:36:03" + }, + "https://github.com/Umikaze-job/select_folder_path_easy": { + "stars": 4, + "last_update": "2023-11-18 14:59:56" + }, + "https://github.com/Niutonian/ComfyUi-NoodleWebcam": { + "stars": 25, + "last_update": "2023-11-20 11:25:01" + }, + "https://github.com/Feidorian/feidorian-ComfyNodes": { + "stars": 5, + "last_update": "2024-01-03 09:01:58" + }, + "https://github.com/wutipong/ComfyUI-TextUtils": { + "stars": 1, + "last_update": "2023-11-20 21:32:07" + }, + "https://github.com/natto-maki/ComfyUI-NegiTools": { + "stars": 19, + "last_update": "2024-02-02 07:50:01" + }, + "https://github.com/LonicaMewinsky/ComfyUI-RawSaver": { + "stars": 1, + "last_update": "2023-11-21 14:34:54" + }, + "https://github.com/jojkaart/ComfyUI-sampler-lcm-alternative": { + "stars": 68, + "last_update": "2024-02-17 11:54:33" + }, + "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": { + "stars": 5, + "last_update": "2023-12-10 01:20:36" + }, + "https://github.com/oyvindg/ComfyUI-TrollSuite": { + "stars": 0, + "last_update": "2023-11-21 01:46:07" + }, + "https://github.com/drago87/ComfyUI_Dragos_Nodes": { + "stars": 3, + "last_update": "2023-11-24 19:04:31" + }, + "https://github.com/ansonkao/comfyui-geometry": { + "stars": 6, + "last_update": "2023-11-30 02:45:49" + }, + "https://github.com/bronkula/comfyui-fitsize": { + "stars": 25, + "last_update": "2023-12-03 12:32:49" + }, + "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": { + "stars": 383, + "last_update": "2024-03-31 15:10:51" + }, + "https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion": { + "stars": 247, + "last_update": "2023-11-24 06:14:27" + }, + "https://github.com/thecooltechguy/ComfyUI-ComfyRun": { + "stars": 71, + "last_update": "2023-12-27 18:16:34" + }, + "https://github.com/thecooltechguy/ComfyUI-MagicAnimate": { + "stars": 179, + "last_update": "2024-01-09 19:24:47" + }, + "https://github.com/thecooltechguy/ComfyUI-ComfyWorkflows": { + "stars": 22, + "last_update": "2024-03-11 09:48:04" + }, + "https://github.com/Danand/ComfyUI-ComfyCouple": { + "stars": 14, + "last_update": "2023-11-22 22:48:31" + }, + "https://github.com/42lux/ComfyUI-safety-checker": { + "stars": 12, + "last_update": "2024-03-15 18:39:38" + }, + "https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": { + "stars": 1, + "last_update": "2023-12-03 14:27:21" + }, + "https://github.com/komojini/ComfyUI_SDXL_DreamBooth_LoRA_CustomNodes": { + "stars": 2, + "last_update": "2023-12-15 23:36:59" + }, + "https://github.com/komojini/komojini-comfyui-nodes": { + "stars": 53, + "last_update": "2024-02-10 14:58:22" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": { + "stars": 227, + "last_update": "2024-03-24 14:20:44" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Text_Image-Composite": { + "stars": 51, + "last_update": "2023-12-22 08:22:45" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini": { + "stars": 300, + "last_update": "2024-01-15 12:19:46" + }, + "https://github.com/ZHO-ZHO-ZHO/comfyui-portrait-master-zh-cn": { + "stars": 1311, + "last_update": "2023-12-23 07:08:46" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Q-Align": { + "stars": 2, + "last_update": "2024-01-03 15:22:13" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID": { + "stars": 1036, + "last_update": "2024-03-23 06:33:03" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PhotoMaker-ZHO": { + "stars": 695, + "last_update": "2024-01-25 13:13:33" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-VL-API": { + "stars": 154, + "last_update": "2024-03-12 10:32:47" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SVD-ZHO": { + "stars": 74, + "last_update": "2024-02-06 09:16:21" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SegMoE": { + "stars": 67, + "last_update": "2024-02-04 20:03:35" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-YoloWorld-EfficientSAM": { + "stars": 279, + "last_update": "2024-02-24 08:36:24" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PixArt-alpha-Diffusers": { + "stars": 24, + "last_update": "2024-04-02 02:55:59" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BRIA_AI-RMBG": { + "stars": 391, + "last_update": "2024-02-07 13:22:16" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": { + "stars": 46, + "last_update": "2024-03-25 02:09:04" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO": { + "stars": 45, + "last_update": "2024-04-01 13:35:54" + }, + "https://github.com/kenjiqq/qq-nodes-comfyui": { + "stars": 16, + "last_update": "2024-02-23 01:57:06" + }, + "https://github.com/80sVectorz/ComfyUI-Static-Primitives": { + "stars": 9, + "last_update": "2023-12-11 11:06:16" + }, + "https://github.com/AbdullahAlfaraj/Comfy-Photoshop-SD": { + "stars": 131, + "last_update": "2023-12-12 12:23:04" + }, + "https://github.com/zhuanqianfish/ComfyUI-EasyNode": { + "stars": 50, + "last_update": "2023-12-13 12:02:43" + }, + "https://github.com/discopixel-studio/comfyui-discopixel": { + "stars": 6, + "last_update": "2023-11-30 02:45:49" + }, + "https://github.com/zcfrank1st/Comfyui-Yolov8": { + "stars": 13, + "last_update": "2024-02-25 06:28:49" + }, + "https://github.com/SoftMeng/ComfyUI_Mexx_Styler": { + "stars": 11, + "last_update": "2023-11-30 07:35:07" + }, + "https://github.com/SoftMeng/ComfyUI_Mexx_Poster": { + "stars": 14, + "last_update": "2023-12-05 09:44:42" + }, + "https://github.com/wmatson/easy-comfy-nodes": { + "stars": 9, + "last_update": "2024-03-18 22:00:23" + }, + "https://github.com/DrJKL/ComfyUI-Anchors": { + "stars": 4, + "last_update": "2024-03-20 22:40:29" + }, + "https://github.com/vanillacode314/SimpleWildcardsComfyUI": { + "stars": 3, + "last_update": "2023-12-04 08:53:32" + }, + "https://github.com/WebDev9000/WebDev9000-Nodes": { + "stars": 1, + "last_update": "2023-12-01 02:23:18" + }, + "https://github.com/Scholar01/ComfyUI-Keyframe": { + "stars": 6, + "last_update": "2024-02-01 16:57:40" + }, + "https://github.com/Haoming02/comfyui-diffusion-cg": { + "stars": 35, + "last_update": "2024-03-22 19:10:11" + }, + "https://github.com/Haoming02/comfyui-prompt-format": { + "stars": 26, + "last_update": "2023-12-11 13:44:03" + }, + "https://github.com/Haoming02/comfyui-clear-screen": { + "stars": 1, + "last_update": "2023-12-12 08:16:28" + }, + "https://github.com/Haoming02/comfyui-menu-anchor": { + "stars": 3, + "last_update": "2024-01-26 03:54:55" + }, + "https://github.com/Haoming02/comfyui-tab-handler": { + "stars": 3, + "last_update": "2023-12-14 08:24:49" + }, + "https://github.com/Haoming02/comfyui-floodgate": { + "stars": 21, + "last_update": "2024-01-31 09:08:14" + }, + "https://github.com/bedovyy/ComfyUI_NAIDGenerator": { + "stars": 15, + "last_update": "2024-03-13 09:36:48" + }, + "https://github.com/Off-Live/ComfyUI-off-suite": { + "stars": 0, + "last_update": "2024-03-22 06:35:18" + }, + "https://github.com/ningxiaoxiao/comfyui-NDI": { + "stars": 29, + "last_update": "2024-03-07 02:08:05" + }, + "https://github.com/subtleGradient/TinkerBot-tech-for-ComfyUI-Touchpad": { + "stars": 11, + "last_update": "2024-01-14 20:01:01" + }, + "https://github.com/zcfrank1st/comfyui_visual_anagrams": { + "stars": 5, + "last_update": "2023-12-05 12:31:26" + }, + "https://github.com/Electrofried/ComfyUI-OpenAINode": { + "stars": 15, + "last_update": "2023-12-05 21:34:23" + }, + "https://github.com/AustinMroz/ComfyUI-SpliceTools": { + "stars": 1, + "last_update": "2024-02-09 23:16:25" + }, + "https://github.com/11cafe/comfyui-workspace-manager": { + "stars": 566, + "last_update": "2024-04-01 13:18:16" + }, + "https://github.com/knuknX/ComfyUI-Image-Tools": { + "stars": 1, + "last_update": "2024-01-01 03:30:49" + }, + "https://github.com/jtrue/ComfyUI-JaRue": { + "stars": 6, + "last_update": "2023-12-25 17:55:50" + }, + "https://github.com/filliptm/ComfyUI_Fill-Nodes": { + "stars": 9, + "last_update": "2024-03-12 01:27:59" + }, + "https://github.com/zfkun/ComfyUI_zfkun": { + "stars": 10, + "last_update": "2024-01-21 06:21:35" + }, + "https://github.com/zcfrank1st/Comfyui-Toolbox": { + "stars": 2, + "last_update": "2023-12-13 11:36:14" + }, + "https://github.com/talesofai/comfyui-browser": { + "stars": 333, + "last_update": "2024-03-31 05:16:02" + }, + "https://github.com/yolain/ComfyUI-Easy-Use": { + "stars": 284, + "last_update": "2024-04-02 05:23:16" + }, + "https://github.com/bruefire/ComfyUI-SeqImageLoader": { + "stars": 24, + "last_update": "2024-03-31 20:06:10" + }, + "https://github.com/modusCell/ComfyUI-dimension-node-modusCell": { + "stars": 0, + "last_update": "2023-12-13 21:01:18" + }, + "https://github.com/aria1th/ComfyUI-LogicUtils": { + "stars": 12, + "last_update": "2023-12-24 09:07:07" + }, + "https://github.com/MitoshiroPJ/comfyui_slothful_attention": { + "stars": 5, + "last_update": "2023-12-16 09:10:38" + }, + "https://github.com/brianfitzgerald/style_aligned_comfy": { + "stars": 203, + "last_update": "2024-03-12 03:42:07" + }, + "https://github.com/deroberon/demofusion-comfyui": { + "stars": 79, + "last_update": "2023-12-19 22:54:02" + }, + "https://github.com/deroberon/StableZero123-comfyui": { + "stars": 114, + "last_update": "2024-01-15 10:38:27" + }, + "https://github.com/glifxyz/ComfyUI-GlifNodes": { + "stars": 5, + "last_update": "2024-03-15 14:30:29" + }, + "https://github.com/concarne000/ConCarneNode": { + "stars": 2, + "last_update": "2024-01-23 06:05:24" + }, + "https://github.com/aegis72/aegisflow_utility_nodes": { + "stars": 17, + "last_update": "2024-03-06 14:04:56" + }, + "https://github.com/aegis72/comfyui-styles-all": { + "stars": 20, + "last_update": "2024-03-21 02:58:24" + }, + "https://github.com/glibsonoran/Plush-for-ComfyUI": { + "stars": 79, + "last_update": "2024-03-27 15:00:07" + }, + "https://github.com/vienteck/ComfyUI-Chat-GPT-Integration": { + "stars": 21, + "last_update": "2024-02-24 21:32:58" + }, + "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": { + "stars": 9, + "last_update": "2024-04-01 10:37:35" + }, + "https://github.com/AI2lab/comfyUI-tool-2lab": { + "stars": 0, + "last_update": "2024-03-24 16:59:45" + }, + "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid": { + "stars": 4, + "last_update": "2023-12-15 21:07:36" + }, + "https://github.com/NimaNzrii/comfyui-popup_preview": { + "stars": 24, + "last_update": "2024-01-07 12:21:43" + }, + "https://github.com/NimaNzrii/comfyui-photoshop": { + "stars": 48, + "last_update": "2023-12-20 13:03:59" + }, + "https://github.com/rui40000/RUI-Nodes": { + "stars": 11, + "last_update": "2023-12-15 07:37:43" + }, + "https://github.com/dmarx/ComfyUI-Keyframed": { + "stars": 72, + "last_update": "2023-12-30 00:37:20" + }, + "https://github.com/dmarx/ComfyUI-AudioReactive": { + "stars": 4, + "last_update": "2024-01-03 08:27:32" + }, + "https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler": { + "stars": 11, + "last_update": "2023-12-16 19:21:57" + }, + "https://github.com/BennyKok/comfyui-deploy": { + "stars": 531, + "last_update": "2024-03-28 15:15:47" + }, + "https://github.com/florestefano1975/comfyui-portrait-master": { + "stars": 647, + "last_update": "2024-03-04 11:08:24" + }, + "https://github.com/florestefano1975/comfyui-prompt-composer": { + "stars": 182, + "last_update": "2024-03-08 11:46:57" + }, + "https://github.com/mozman/ComfyUI_mozman_nodes": { + "stars": 0, + "last_update": "2023-12-18 06:07:50" + }, + "https://github.com/rcsaquino/comfyui-custom-nodes": { + "stars": 1, + "last_update": "2023-12-18 17:18:21" + }, + "https://github.com/rcfcu2000/zhihuige-nodes-comfyui": { + "stars": 0, + "last_update": "2024-01-11 08:41:17" + }, + "https://github.com/IDGallagher/ComfyUI-IG-Nodes": { + "stars": 0, + "last_update": "2024-02-04 03:37:05" + }, + "https://github.com/violet-chen/comfyui-psd2png": { + "stars": 4, + "last_update": "2024-01-18 05:00:49" + }, + "https://github.com/lldacing/comfyui-easyapi-nodes": { + "stars": 16, + "last_update": "2024-03-26 08:41:20" + }, + "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": { + "stars": 49, + "last_update": "2024-04-01 13:00:41" + }, + "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": { + "stars": 6, + "last_update": "2023-12-31 11:14:29" + }, + "https://github.com/OpenArt-AI/ComfyUI-Assistant": { + "stars": 12, + "last_update": "2024-01-24 21:44:12" + }, + "https://github.com/ttulttul/ComfyUI-Iterative-Mixer": { + "stars": 86, + "last_update": "2024-04-01 19:58:39" + }, + "https://github.com/ttulttul/ComfyUI-Tensor-Operations": { + "stars": 2, + "last_update": "2024-02-07 21:22:45" + }, + "https://github.com/jitcoder/lora-info": { + "stars": 19, + "last_update": "2024-01-28 15:09:51" + }, + "https://github.com/ceruleandeep/ComfyUI-LLaVA-Captioner": { + "stars": 52, + "last_update": "2024-03-04 10:07:53" + }, + "https://github.com/styler00dollar/ComfyUI-sudo-latent-upscale": { + "stars": 16, + "last_update": "2023-12-31 16:26:46" + }, + "https://github.com/styler00dollar/ComfyUI-deepcache": { + "stars": 5, + "last_update": "2023-12-26 17:53:44" + }, + "https://github.com/NotHarroweD/Harronode": { + "stars": 4, + "last_update": "2023-12-31 06:00:14" + }, + "https://github.com/Limitex/ComfyUI-Calculation": { + "stars": 0, + "last_update": "2023-12-27 17:50:16" + }, + "https://github.com/Limitex/ComfyUI-Diffusers": { + "stars": 86, + "last_update": "2024-03-08 11:07:01" + }, + "https://github.com/edenartlab/eden_comfy_pipelines": { + "stars": 22, + "last_update": "2024-03-18 05:40:42" + }, + "https://github.com/pkpkTech/ComfyUI-SaveAVIF": { + "stars": 1, + "last_update": "2023-12-27 01:33:08" + }, + "https://github.com/pkpkTech/ComfyUI-ngrok": { + "stars": 0, + "last_update": "2024-01-23 18:52:25" + }, + "https://github.com/pkpkTech/ComfyUI-TemporaryLoader": { + "stars": 1, + "last_update": "2024-02-10 20:52:21" + }, + "https://github.com/pkpkTech/ComfyUI-SaveQueues": { + "stars": 1, + "last_update": "2024-02-17 14:26:26" + }, + "https://github.com/crystian/ComfyUI-Crystools": { + "stars": 310, + "last_update": "2024-03-27 16:59:44" + }, + "https://github.com/crystian/ComfyUI-Crystools-save": { + "stars": 21, + "last_update": "2024-01-28 14:37:54" + }, + "https://github.com/Kangkang625/ComfyUI-paint-by-example": { + "stars": 11, + "last_update": "2024-01-29 02:37:38" + }, + "https://github.com/54rt1n/ComfyUI-DareMerge": { + "stars": 22, + "last_update": "2024-01-29 23:23:01" + }, + "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes": { + "stars": 0, + "last_update": "2023-12-30 01:42:04" + }, + "https://github.com/jesenzhang/ComfyUI_StreamDiffusion": { + "stars": 88, + "last_update": "2023-12-29 09:41:48" + }, + "https://github.com/ai-liam/comfyui_liam_util": { + "stars": 1, + "last_update": "2023-12-29 04:44:00" + }, + "https://github.com/Ryuukeisyou/comfyui_face_parsing": { + "stars": 24, + "last_update": "2024-02-17 11:00:34" + }, + "https://github.com/tocubed/ComfyUI-AudioReactor": { + "stars": 5, + "last_update": "2024-01-02 07:51:03" + }, + "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": { + "stars": 16, + "last_update": "2024-01-05 03:38:18" + }, + "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio": { + "stars": 1, + "last_update": "2024-01-02 04:07:20" + }, + "https://github.com/ownimage/ComfyUI-ownimage": { + "stars": 0, + "last_update": "2024-01-01 16:36:42" + }, + "https://github.com/Millyarde/Pomfy": { + "stars": 7, + "last_update": "2024-01-13 08:01:42" + }, + "https://github.com/Ryuukeisyou/comfyui_io_helpers": { + "stars": 0, + "last_update": "2024-03-04 13:20:38" + }, + "https://github.com/flowtyone/ComfyUI-Flowty-LDSR": { + "stars": 133, + "last_update": "2024-03-24 19:03:45" + }, + "https://github.com/flowtyone/ComfyUI-Flowty-TripoSR": { + "stars": 276, + "last_update": "2024-03-19 10:49:59" + }, + "https://github.com/flowtyone/ComfyUI-Flowty-CRM": { + "stars": 90, + "last_update": "2024-03-18 11:59:57" + }, + "https://github.com/massao000/ComfyUI_aspect_ratios": { + "stars": 3, + "last_update": "2024-01-05 09:36:52" + }, + "https://github.com/siliconflow/onediff_comfy_nodes": { + "stars": 7, + "last_update": "2024-01-04 11:33:08" + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": { + "stars": 179, + "last_update": "2024-02-12 01:56:02" + }, + "https://github.com/hinablue/ComfyUI_3dPoseEditor": { + "stars": 87, + "last_update": "2024-01-04 14:41:18" + }, + "https://github.com/chaojie/ComfyUI-AniPortrait": { + "stars": 150, + "last_update": "2024-04-02 03:06:43" + }, + "https://github.com/chaojie/ComfyUI-Img2Img-Turbo": { + "stars": 30, + "last_update": "2024-03-27 01:10:14" + }, + "https://github.com/chaojie/ComfyUI-Champ": { + "stars": 13, + "last_update": "2024-04-02 02:46:02" + }, + "https://github.com/chaojie/ComfyUI-Open-Sora": { + "stars": 65, + "last_update": "2024-03-26 05:54:18" + }, + "https://github.com/chaojie/ComfyUI-Trajectory": { + "stars": 5, + "last_update": "2024-03-14 14:41:18" + }, + "https://github.com/chaojie/ComfyUI-dust3r": { + "stars": 9, + "last_update": "2024-03-31 00:30:51" + }, + "https://github.com/chaojie/ComfyUI-Gemma": { + "stars": 5, + "last_update": "2024-02-24 10:02:51" + }, + "https://github.com/chaojie/ComfyUI-DynamiCrafter": { + "stars": 70, + "last_update": "2024-03-16 19:08:28" + }, + "https://github.com/chaojie/ComfyUI-Panda3d": { + "stars": 9, + "last_update": "2024-03-05 06:37:32" + }, + "https://github.com/chaojie/ComfyUI-Pymunk": { + "stars": 15, + "last_update": "2024-01-31 15:36:36" + }, + "https://github.com/chaojie/ComfyUI-MotionCtrl": { + "stars": 114, + "last_update": "2024-01-08 14:18:40" + }, + "https://github.com/chaojie/ComfyUI-Motion-Vector-Extractor": { + "stars": 0, + "last_update": "2024-01-20 16:51:06" + }, + "https://github.com/chaojie/ComfyUI-MotionCtrl-SVD": { + "stars": 69, + "last_update": "2024-01-16 09:41:07" + }, + "https://github.com/chaojie/ComfyUI-DragAnything": { + "stars": 53, + "last_update": "2024-03-19 03:37:48" + }, + "https://github.com/chaojie/ComfyUI-DragNUWA": { + "stars": 325, + "last_update": "2024-03-14 06:56:41" + }, + "https://github.com/chaojie/ComfyUI-Moore-AnimateAnyone": { + "stars": 191, + "last_update": "2024-02-24 13:48:57" + }, + "https://github.com/chaojie/ComfyUI-I2VGEN-XL": { + "stars": 22, + "last_update": "2024-01-19 09:02:08" + }, + "https://github.com/chaojie/ComfyUI-LightGlue": { + "stars": 48, + "last_update": "2024-01-20 16:53:51" + }, + "https://github.com/chaojie/ComfyUI-RAFT": { + "stars": 24, + "last_update": "2024-01-29 08:08:13" + }, + "https://github.com/alexopus/ComfyUI-Image-Saver": { + "stars": 13, + "last_update": "2024-04-01 20:42:20" + }, + "https://github.com/kft334/Knodes": { + "stars": 0, + "last_update": "2024-01-14 04:23:09" + }, + "https://github.com/MrForExample/ComfyUI-3D-Pack": { + "stars": 1260, + "last_update": "2024-04-01 13:51:02" + }, + "https://github.com/MrForExample/ComfyUI-AnimateAnyone-Evolved": { + "stars": 373, + "last_update": "2024-02-02 14:19:37" + }, + "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes": { + "stars": 19, + "last_update": "2024-03-31 17:06:25" + }, + "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream": { + "stars": 19, + "last_update": "2024-04-02 12:43:57" + }, + "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything": { + "stars": 3, + "last_update": "2024-04-02 10:41:08" + }, + "https://github.com/tzwm/comfyui-profiler": { + "stars": 27, + "last_update": "2024-01-12 07:38:40" + }, + "https://github.com/daniel-lewis-ab/ComfyUI-Llama": { + "stars": 19, + "last_update": "2024-04-02 06:33:08" + }, + "https://github.com/daniel-lewis-ab/ComfyUI-TTS": { + "stars": 4, + "last_update": "2024-04-02 06:32:21" + }, + "https://github.com/djbielejeski/a-person-mask-generator": { + "stars": 178, + "last_update": "2024-02-16 16:26:02" + }, + "https://github.com/smagnetize/kb-comfyui-nodes": { + "stars": 0, + "last_update": "2024-01-06 17:04:40" + }, + "https://github.com/ginlov/segment_to_mask_comfyui": { + "stars": 1, + "last_update": "2024-01-07 14:03:21" + }, + "https://github.com/glowcone/comfyui-base64-to-image": { + "stars": 5, + "last_update": "2024-01-09 08:33:02" + }, + "https://github.com/AInseven/ComfyUI-fastblend": { + "stars": 75, + "last_update": "2024-02-26 16:17:27" + }, + "https://github.com/HebelHuber/comfyui-enhanced-save-node": { + "stars": 0, + "last_update": "2024-01-12 14:34:55" + }, + "https://github.com/LarryJane491/Lora-Training-in-Comfy": { + "stars": 163, + "last_update": "2024-03-03 17:16:51" + }, + "https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": { + "stars": 17, + "last_update": "2024-03-08 19:59:00" + }, + "https://github.com/Layer-norm/comfyui-lama-remover": { + "stars": 29, + "last_update": "2024-01-13 04:58:58" + }, + "https://github.com/Taremin/comfyui-prompt-extranetworks": { + "stars": 1, + "last_update": "2024-01-27 05:51:35" + }, + "https://github.com/Taremin/comfyui-string-tools": { + "stars": 1, + "last_update": "2024-02-16 16:28:32" + }, + "https://github.com/Taremin/webui-monaco-prompt": { + "stars": 23, + "last_update": "2024-01-21 06:45:42" + }, + "https://github.com/foxtrot-roger/comfyui-rf-nodes": { + "stars": 1, + "last_update": "2024-01-26 16:40:43" + }, + "https://github.com/abyz22/image_control": { + "stars": 2, + "last_update": "2024-02-18 23:17:53" + }, + "https://github.com/HAL41/ComfyUI-aichemy-nodes": { + "stars": 3, + "last_update": "2024-01-15 22:25:46" + }, + "https://github.com/nkchocoai/ComfyUI-SizeFromPresets": { + "stars": 1, + "last_update": "2024-02-03 03:00:14" + }, + "https://github.com/nkchocoai/ComfyUI-PromptUtilities": { + "stars": 5, + "last_update": "2024-02-21 14:47:42" + }, + "https://github.com/nkchocoai/ComfyUI-TextOnSegs": { + "stars": 3, + "last_update": "2024-02-12 06:05:47" + }, + "https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData": { + "stars": 1, + "last_update": "2024-03-30 04:12:19" + }, + "https://github.com/nkchocoai/ComfyUI-Dart": { + "stars": 9, + "last_update": "2024-03-24 07:26:03" + }, + "https://github.com/JaredTherriault/ComfyUI-JNodes": { + "stars": 4, + "last_update": "2024-03-29 21:14:13" + }, + "https://github.com/prozacgod/comfyui-pzc-multiworkspace": { + "stars": 6, + "last_update": "2024-01-16 23:08:26" + }, + "https://github.com/Siberpone/lazy-pony-prompter": { + "stars": 14, + "last_update": "2024-03-30 05:31:25" + }, + "https://github.com/dave-palt/comfyui_DSP_imagehelpers": { + "stars": 0, + "last_update": "2024-01-18 04:59:26" + }, + "https://github.com/Inzaniak/comfyui-ranbooru": { + "stars": 4, + "last_update": "2024-02-25 10:30:59" + }, + "https://github.com/Miosp/ComfyUI-FBCNN": { + "stars": 3, + "last_update": "2024-01-19 21:30:27" + }, + "https://github.com/JcandZero/ComfyUI_GLM4Node": { + "stars": 21, + "last_update": "2024-02-21 01:48:08" + }, + "https://github.com/darkpixel/darkprompts": { + "stars": 3, + "last_update": "2024-03-25 15:42:28" + }, + "https://github.com/shiimizu/ComfyUI-PhotoMaker-Plus": { + "stars": 127, + "last_update": "2024-02-16 01:18:34" + }, + "https://github.com/QaisMalkawi/ComfyUI-QaisHelper": { + "stars": 0, + "last_update": "2024-01-22 10:39:27" + }, + "https://github.com/longgui0318/comfyui-mask-util": { + "stars": 1, + "last_update": "2024-02-29 14:34:55" + }, + "https://github.com/longgui0318/comfyui-llm-assistant": { + "stars": 3, + "last_update": "2024-03-01 02:57:07" + }, + "https://github.com/longgui0318/comfyui-oms-diffusion": { + "stars": 3, + "last_update": "2024-04-02 10:12:23" + }, + "https://github.com/DimaChaichan/LAizypainter-Exporter-ComfyUI": { + "stars": 6, + "last_update": "2024-02-08 13:57:21" + }, + "https://github.com/adriflex/ComfyUI_Blender_Texdiff": { + "stars": 0, + "last_update": "2024-01-26 10:25:05" + }, + "https://github.com/Shraknard/ComfyUI-Remover": { + "stars": 4, + "last_update": "2024-01-23 23:14:23" + }, + "https://github.com/FlyingFireCo/tiled_ksampler": { + "stars": 52, + "last_update": "2023-08-13 23:05:26" + }, + "https://github.com/Nlar/ComfyUI_CartoonSegmentation": { + "stars": 6, + "last_update": "2024-01-25 23:17:51" + }, + "https://github.com/godspede/ComfyUI_Substring": { + "stars": 0, + "last_update": "2024-01-26 06:28:40" + }, + "https://github.com/gokayfem/ComfyUI_VLM_nodes": { + "stars": 151, + "last_update": "2024-03-26 11:46:29" + }, + "https://github.com/gokayfem/ComfyUI-Dream-Interpreter": { + "stars": 46, + "last_update": "2024-03-24 22:26:17" + }, + "https://github.com/gokayfem/ComfyUI-Depth-Visualization": { + "stars": 39, + "last_update": "2024-03-24 04:03:08" + }, + "https://github.com/gokayfem/ComfyUI-Texture-Simple": { + "stars": 25, + "last_update": "2024-03-24 22:20:21" + }, + "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": { + "stars": 1, + "last_update": "2024-02-11 17:17:06" + }, + "https://github.com/azure-dragon-ai/ComfyUI-ClipScore-Nodes": { + "stars": 0, + "last_update": "2024-01-26 08:38:39" + }, + "https://github.com/yuvraj108c/ComfyUI-Whisper": { + "stars": 20, + "last_update": "2024-02-05 08:32:57" + }, + "https://github.com/blepping/ComfyUI-bleh": { + "stars": 13, + "last_update": "2024-03-18 23:50:09" + }, + "https://github.com/blepping/ComfyUI-sonar": { + "stars": 20, + "last_update": "2024-04-01 17:59:36" + }, + "https://github.com/JerryOrbachJr/ComfyUI-RandomSize": { + "stars": 2, + "last_update": "2024-02-14 20:36:01" + }, + "https://github.com/jamal-alkharrat/ComfyUI_rotate_image": { + "stars": 0, + "last_update": "2024-01-27 15:25:00" + }, + "https://github.com/mape/ComfyUI-mape-Helpers": { + "stars": 64, + "last_update": "2024-02-07 16:58:47" + }, + "https://github.com/zhongpei/Comfyui_image2prompt": { + "stars": 149, + "last_update": "2024-03-27 03:29:23" + }, + "https://github.com/zhongpei/ComfyUI-InstructIR": { + "stars": 52, + "last_update": "2024-02-01 06:40:40" + }, + "https://github.com/Loewen-Hob/rembg-comfyui-node-better": { + "stars": 21, + "last_update": "2024-01-29 16:03:36" + }, + "https://github.com/HaydenReeve/ComfyUI-Better-Strings": { + "stars": 0, + "last_update": "2024-02-05 15:48:43" + }, + "https://github.com/StartHua/ComfyUI_Seg_VITON": { + "stars": 139, + "last_update": "2024-02-07 05:33:39" + }, + "https://github.com/StartHua/Comfyui_joytag": { + "stars": 9, + "last_update": "2024-02-12 04:13:41" + }, + "https://github.com/StartHua/Comfyui_segformer_b2_clothes": { + "stars": 17, + "last_update": "2024-02-19 16:02:10" + }, + "https://github.com/StartHua/ComfyUI_OOTDiffusion_CXH": { + "stars": 70, + "last_update": "2024-03-04 09:33:57" + }, + "https://github.com/ricklove/comfyui-ricklove": { + "stars": 0, + "last_update": "2024-02-01 02:50:59" + }, + "https://github.com/nosiu/comfyui-instantId-faceswap": { + "stars": 133, + "last_update": "2024-02-25 13:58:50" + }, + "https://github.com/LyazS/comfyui-anime-seg": { + "stars": 3, + "last_update": "2024-02-03 16:45:06" + }, + "https://github.com/Chan-0312/ComfyUI-IPAnimate": { + "stars": 50, + "last_update": "2024-02-01 09:17:58" + }, + "https://github.com/Chan-0312/ComfyUI-EasyDeforum": { + "stars": 5, + "last_update": "2024-03-14 02:14:56" + }, + "https://github.com/trumanwong/ComfyUI-NSFW-Detection": { + "stars": 7, + "last_update": "2024-02-04 08:49:11" + }, + "https://github.com/TemryL/ComfyS3": { + "stars": 8, + "last_update": "2024-02-08 16:59:15" + }, + "https://github.com/davask/ComfyUI-MarasIT-Nodes": { + "stars": 14, + "last_update": "2024-04-01 08:48:30" + }, + "https://github.com/yffyhk/comfyui_auto_danbooru": { + "stars": 0, + "last_update": "2024-02-04 08:09:57" + }, + "https://github.com/dfl/comfyui-clip-with-break": { + "stars": 5, + "last_update": "2024-02-05 17:48:33" + }, + "https://github.com/dfl/comfyui-tcd-scheduler": { + "stars": 51, + "last_update": "2024-03-24 18:29:56" + }, + "https://github.com/MarkoCa1/ComfyUI_Segment_Mask": { + "stars": 6, + "last_update": "2024-03-16 06:37:47" + }, + "https://github.com/antrobot1234/antrobots-comfyUI-nodepack": { + "stars": 8, + "last_update": "2024-03-06 22:34:12" + }, + "https://github.com/bilal-arikan/ComfyUI_TextAssets": { + "stars": 2, + "last_update": "2024-02-06 00:30:11" + }, + "https://github.com/kadirnar/ComfyUI-Transformers": { + "stars": 13, + "last_update": "2024-02-06 15:43:43" + }, + "https://github.com/digitaljohn/comfyui-propost": { + "stars": 83, + "last_update": "2024-02-11 10:08:19" + }, + "https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes": { + "stars": 0, + "last_update": "2024-02-25 12:35:13" + }, + "https://github.com/XmYx/deforum-comfy-nodes": { + "stars": 54, + "last_update": "2024-03-21 11:08:54" + }, + "https://github.com/adbrasi/ComfyUI-TrashNodes-DownloadHuggingface": { + "stars": 4, + "last_update": "2024-02-08 21:25:17" + }, + "https://github.com/mbrostami/ComfyUI-HF": { + "stars": 7, + "last_update": "2024-02-11 00:03:26" + }, + "https://github.com/Billius-AI/ComfyUI-Path-Helper": { + "stars": 11, + "last_update": "2024-02-26 10:48:42" + }, + "https://github.com/Franck-Demongin/NX_PromptStyler": { + "stars": 3, + "last_update": "2024-02-19 10:14:56" + }, + "https://github.com/xiaoxiaodesha/hd_node": { + "stars": 2, + "last_update": "2024-02-18 05:23:57" + }, + "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": { + "stars": 1, + "last_update": "2024-03-08 15:16:10" + }, + "https://github.com/redhottensors/ComfyUI-Prediction": { + "stars": 7, + "last_update": "2024-03-30 23:21:59" + }, + "https://github.com/Mamaaaamooooo/batchImg-rembg-ComfyUI-nodes": { + "stars": 8, + "last_update": "2024-04-02 12:00:48" + }, + "https://github.com/jordoh/ComfyUI-Deepface": { + "stars": 8, + "last_update": "2024-03-23 14:37:34" + }, + "https://github.com/yuvraj108c/ComfyUI-Pronodes": { + "stars": 0, + "last_update": "2024-03-22 18:22:13" + }, + "https://github.com/GavChap/ComfyUI-CascadeResolutions": { + "stars": 5, + "last_update": "2024-02-26 10:29:06" + }, + "https://github.com/yuvraj108c/ComfyUI-Vsgan": { + "stars": 1, + "last_update": "2024-03-08 10:11:28" + }, + "https://github.com/yytdfc/ComfyUI-Bedrock": { + "stars": 4, + "last_update": "2024-04-02 09:26:29" + }, + "https://github.com/mirabarukaso/ComfyUI_Mira": { + "stars": 5, + "last_update": "2024-03-31 15:42:50" + }, + "https://github.com/1038lab/ComfyUI-GPT2P": { + "stars": 3, + "last_update": "2024-02-21 04:45:27" + }, + "https://github.com/LykosAI/ComfyUI-Inference-Core-Nodes": { + "stars": 4, + "last_update": "2024-03-25 00:54:00" + }, + "https://github.com/klinter007/klinter_nodes": { + "stars": 2, + "last_update": "2024-03-26 02:58:49" + }, + "https://github.com/Ludobico/ComfyUI-ScenarioPrompt": { + "stars": 10, + "last_update": "2024-03-26 01:28:07" + }, + "https://github.com/logtd/ComfyUI-InstanceDiffusion": { + "stars": 19, + "last_update": "2024-03-31 19:06:57" + }, + "https://github.com/logtd/ComfyUI-TrackingNodes": { + "stars": 5, + "last_update": "2024-02-24 04:43:16" + }, + "https://github.com/logtd/ComfyUI-InversedNoise": { + "stars": 3, + "last_update": "2024-03-31 19:11:53" + }, + "https://github.com/logtd/ComfyUI-RefSampling": { + "stars": 2, + "last_update": "2024-03-31 02:11:14" + }, + "https://github.com/logtd/ComfyUI-FLATTEN": { + "stars": 47, + "last_update": "2024-04-01 01:14:36" + }, + "https://github.com/Big-Idea-Technology/ComfyUI_Image_Text_Overlay": { + "stars": 4, + "last_update": "2024-02-26 15:43:54" + }, + "https://github.com/Big-Idea-Technology/ComfyUI_LLM_Node": { + "stars": 26, + "last_update": "2024-03-29 07:06:45" + }, + "https://github.com/Guillaume-Fgt/ComfyUI_StableCascadeLatentRatio": { + "stars": 3, + "last_update": "2024-02-26 09:37:16" + }, + "https://github.com/AuroBit/ComfyUI-OOTDiffusion": { + "stars": 218, + "last_update": "2024-03-26 02:44:57" + }, + "https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction": { + "stars": 32, + "last_update": "2024-02-29 10:19:36" + }, + "https://github.com/czcz1024/Comfyui-FaceCompare": { + "stars": 0, + "last_update": "2024-02-23 09:08:32" + }, + "https://github.com/TheBill2001/comfyui-upscale-by-model": { + "stars": 0, + "last_update": "2024-02-24 00:49:19" + }, + "https://github.com/leoleelxh/ComfyUI-LLMs": { + "stars": 6, + "last_update": "2024-03-07 07:34:10" + }, + "https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": { + "stars": 1, + "last_update": "2024-02-24 21:41:24" + }, + "https://github.com/jkrauss82/ultools-comfyui": { + "stars": 1, + "last_update": "2024-03-31 08:27:34" + }, + "https://github.com/hiforce/comfyui-hiforce-plugin": { + "stars": 2, + "last_update": "2024-02-29 09:35:31" + }, + "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": { + "stars": 10, + "last_update": "2024-04-01 21:06:51" + }, + "https://github.com/guill/abracadabra-comfyui": { + "stars": 1, + "last_update": "2024-02-26 04:25:21" + }, + "https://github.com/cerspense/ComfyUI_cspnodes": { + "stars": 16, + "last_update": "2024-03-23 14:40:21" + }, + "https://github.com/qwixiwp/queuetools": { + "stars": 0, + "last_update": "2024-02-26 19:21:00" + }, + "https://github.com/Chan-0312/ComfyUI-Prompt-Preview": { + "stars": 6, + "last_update": "2024-02-27 11:30:38" + }, + "https://github.com/Munkyfoot/ComfyUI-TextOverlay": { + "stars": 0, + "last_update": "2024-02-27 22:56:42" + }, + "https://github.com/holchan/ComfyUI-ModelDownloader": { + "stars": 2, + "last_update": "2024-03-02 05:43:41" + }, + "https://github.com/Alysondao/Comfyui-Yolov8-JSON": { + "stars": 8, + "last_update": "2024-03-04 07:34:39" + }, + "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": { + "stars": 3, + "last_update": "2024-02-27 23:31:45" + }, + "https://github.com/maracman/ComfyUI-SubjectStyle-CSV": { + "stars": 2, + "last_update": "2024-02-29 19:40:01" + }, + "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": { + "stars": 8, + "last_update": "2024-03-29 10:30:27" + }, + "https://github.com/uetuluk/comfyui-webcam-node": { + "stars": 0, + "last_update": "2024-03-01 07:25:27" + }, + "https://github.com/huchenlei/ComfyUI-layerdiffuse": { + "stars": 947, + "last_update": "2024-03-09 21:16:31" + }, + "https://github.com/huchenlei/ComfyUI_DanTagGen": { + "stars": 29, + "last_update": "2024-03-23 19:40:34" + }, + "https://github.com/nathannlu/ComfyUI-Pets": { + "stars": 31, + "last_update": "2024-03-31 23:55:42" + }, + "https://github.com/nathannlu/ComfyUI-Cloud": { + "stars": 104, + "last_update": "2024-03-31 06:00:13" + }, + "https://github.com/11dogzi/Comfyui-ergouzi-Nodes": { + "stars": 4, + "last_update": "2024-03-12 02:03:09" + }, + "https://github.com/BXYMartin/ComfyUI-InstantIDUtils": { + "stars": 3, + "last_update": "2024-03-04 16:42:02" + }, + "https://github.com/cdb-boop/comfyui-image-round": { + "stars": 0, + "last_update": "2024-03-07 07:35:43" + }, + "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life": { + "stars": 4, + "last_update": "2024-03-27 21:37:34" + }, + "https://github.com/atmaranto/ComfyUI-SaveAsScript": { + "stars": 5, + "last_update": "2024-03-20 08:47:51" + }, + "https://github.com/meshmesh-io/mm-comfyui-megamask": { + "stars": 0, + "last_update": "2024-03-07 23:59:12" + }, + "https://github.com/meshmesh-io/mm-comfyui-loopback": { + "stars": 0, + "last_update": "2024-03-07 19:46:37" + }, + "https://github.com/meshmesh-io/ComfyUI-MeshMesh": { + "stars": 0, + "last_update": "2024-03-12 17:19:32" + }, + "https://github.com/cozymantis/human-parser-comfyui-node": { + "stars": 18, + "last_update": "2024-03-08 22:47:18" + }, + "https://github.com/cozymantis/pose-generator-comfyui-node": { + "stars": 10, + "last_update": "2024-03-13 14:59:23" + }, + "https://github.com/cozymantis/cozy-utils-comfyui-nodes": { + "stars": 3, + "last_update": "2024-03-13 11:25:27" + }, + "https://github.com/vivax3794/ComfyUI-Vivax-Nodes": { + "stars": 3, + "last_update": "2024-03-17 22:02:48" + }, + "https://github.com/victorchall/comfyui_webcamcapture": { + "stars": 1, + "last_update": "2024-03-06 18:33:39" + }, + "https://github.com/ljleb/comfy-mecha": { + "stars": 4, + "last_update": "2024-03-24 21:52:17" + }, + "https://github.com/diStyApps/ComfyUI_FrameMaker": { + "stars": 6, + "last_update": "2024-03-08 09:19:43" + }, + "https://github.com/hackkhai/ComfyUI-Image-Matting": { + "stars": 8, + "last_update": "2024-03-09 06:30:39" + }, + "https://github.com/Pos13/comfyui-cyclist": { + "stars": 6, + "last_update": "2024-03-23 17:33:44" + }, + "https://github.com/ExponentialML/ComfyUI_ModelScopeT2V": { + "stars": 16, + "last_update": "2024-03-09 00:02:47" + }, + "https://github.com/ExponentialML/ComfyUI_Native_DynamiCrafter": { + "stars": 55, + "last_update": "2024-03-23 02:32:04" + }, + "https://github.com/ExponentialML/ComfyUI_VisualStylePrompting": { + "stars": 193, + "last_update": "2024-03-31 23:38:23" + }, + "https://github.com/angeloshredder/StableCascadeResizer": { + "stars": 0, + "last_update": "2024-03-08 22:53:27" + }, + "https://github.com/stavsap/comfyui-ollama": { + "stars": 12, + "last_update": "2024-03-15 08:41:19" + }, + "https://github.com/dchatel/comfyui_facetools": { + "stars": 11, + "last_update": "2024-03-13 11:20:57" + }, + "https://github.com/ggpid/idpark_custom_node": { + "stars": 0, + "last_update": "2024-03-12 03:41:34" + }, + "https://github.com/prodogape/ComfyUI-Minio": { + "stars": 1, + "last_update": "2024-03-09 07:44:51" + }, + "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes": { + "stars": 1, + "last_update": "2024-02-22 08:30:33" + }, + "https://github.com/vsevolod-oparin/comfyui-kandinsky22": { + "stars": 5, + "last_update": "2024-03-17 00:05:27" + }, + "https://github.com/Xyem/Xycuno-Oobabooga": { + "stars": 1, + "last_update": "2024-03-12 19:50:18" + }, + "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": { + "stars": 2, + "last_update": "2024-03-13 08:26:09" + }, + "https://github.com/if-ai/ComfyUI-IF_AI_tools": { + "stars": 85, + "last_update": "2024-03-30 02:20:02" + }, + "https://github.com/dmMaze/sketch2manga": { + "stars": 10, + "last_update": "2024-03-14 05:44:16" + }, + "https://github.com/olduvai-jp/ComfyUI-HfLoader": { + "stars": 1, + "last_update": "2024-03-18 04:57:05" + }, + "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes": { + "stars": 0, + "last_update": "2024-03-31 14:14:24" + }, + "https://github.com/ForeignGods/ComfyUI-Mana-Nodes": { + "stars": 136, + "last_update": "2024-04-01 16:51:37" + }, + "https://github.com/madtunebk/ComfyUI-ControlnetAux": { + "stars": 5, + "last_update": "2024-03-16 13:52:32" + }, + "https://github.com/MarkoCa1/ComfyUI-Text": { + "stars": 2, + "last_update": "2024-03-16 06:25:38" + }, + "https://github.com/Shadetail/ComfyUI_Eagleshadow": { + "stars": 0, + "last_update": "2024-03-14 10:02:22" + }, + "https://github.com/ArdeniusAI/CPlus_Ardenius": { + "stars": 0, + "last_update": "2024-03-28 02:21:05" + }, + "https://github.com/Jannchie/ComfyUI-J": { + "stars": 46, + "last_update": "2024-03-24 06:35:19" + }, + "https://github.com/daxcay/ComfyUI-JDCN": { + "stars": 3, + "last_update": "2024-03-30 19:14:48" + }, + "https://github.com/Seedsa/Fooocus_Nodes": { + "stars": 15, + "last_update": "2024-03-28 07:37:38" + }, + "https://github.com/zhangp365/ComfyUI-utils-nodes": { + "stars": 0, + "last_update": "2024-03-28 08:13:46" + }, + "https://github.com/ratulrafsan/Comfyui-SAL-VTON": { + "stars": 13, + "last_update": "2024-03-22 04:31:59" + }, + "https://github.com/Nevysha/ComfyUI-nevysha-top-menu": { + "stars": 2, + "last_update": "2024-03-23 10:48:36" + }, + "https://github.com/alisson-anjos/ComfyUI-LLaVA-Describer": { + "stars": 8, + "last_update": "2024-03-31 15:13:33" + }, + "https://github.com/chaosaiart/Chaosaiart-Nodes": { + "stars": 7, + "last_update": "2024-03-31 12:41:40" + }, + "https://github.com/viperyl/ComfyUI-BiRefNet": { + "stars": 107, + "last_update": "2024-03-25 11:02:49" + }, + "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": { + "stars": 54, + "last_update": "2024-04-02 00:18:19" + }, + "https://github.com/IKHOR/ComfyUI-IKHOR-Jam-Nodes": { + "stars": 0, + "last_update": "2024-03-26 16:55:10" + }, + "https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt": { + "stars": 23, + "last_update": "2024-03-30 11:08:23" + }, + "https://github.com/hay86/ComfyUI_Dreamtalk": { + "stars": 0, + "last_update": "2024-04-02 04:15:50" + }, + "https://github.com/shinich39/comfyui-load-image-39": { + "stars": 1, + "last_update": "2024-03-30 19:44:53" + }, + "https://github.com/shinich39/comfyui-ramdom-node-39": { + "stars": 1, + "last_update": "2024-03-31 19:53:05" + }, + "https://github.com/wei30172/comfygen": { + "stars": 1, + "last_update": "2024-03-28 14:03:32" + }, + "https://github.com/zombieyang/sd-ppp": { + "stars": 2, + "last_update": "2024-03-30 03:24:34" + }, + "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": { + "stars": 2, + "last_update": "2024-03-29 06:08:53" + }, + "https://github.com/1mckw/Comfyui-Gelbooru": { + "stars": 1, + "last_update": "2024-03-29 04:22:07" + }, + "https://github.com/NeuralSamurAI/Comfyui-Superprompt-Unofficial": { + "stars": 24, + "last_update": "2024-03-30 22:07:58" + }, + "https://github.com/MokkaBoss1/ComfyUI_Mokkaboss1": { + "stars": 0, + "last_update": "2024-03-31 20:39:40" + }, + "https://github.com/jiaxiangc/ComfyUI-ResAdapter": { + "stars": 192, + "last_update": "2024-04-02 09:49:53" + }, + "https://github.com/ParisNeo/lollms_nodes_suite": { + "stars": 5, + "last_update": "2024-03-31 21:59:30" + }, + "https://github.com/IsItDanOrAi/ComfyUI-Stereopsis": { + "stars": 1, + "last_update": "2024-03-20 21:56:10" + }, + "https://github.com/nickve28/nich-comfy-utils": { + "stars": 1, + "last_update": "2024-04-01 19:53:42" + }, + "https://github.com/frankchieng/ComfyUI_Aniportrait": { + "stars": 9, + "last_update": "2024-04-02 11:28:15" + }, + "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": { + "stars": 3, + "last_update": "2024-04-01 06:13:32" + }, + "https://github.com/BlakeOne/ComfyUI-FastImageListToImageBatch": { + "stars": 0, + "last_update": "2024-04-01 01:09:41" + }, + "https://github.com/kale4eat/ComfyUI-path-util": { + "stars": 0, + "last_update": "2024-04-01 01:33:56" + }, + "https://github.com/kale4eat/ComfyUI-string-util": { + "stars": 0, + "last_update": "2024-04-01 01:33:13" + }, + "https://github.com/kale4eat/ComfyUI-text-file-util": { + "stars": 0, + "last_update": "2024-04-01 01:32:04" + }, + "https://github.com/kijai/ComfyUI-APISR": { + "stars": 41, + "last_update": "2024-04-01 21:37:50" + }, + "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": { + "stars": 0, + "last_update": "2024-04-01 10:47:39" + }, + "https://github.com/comfyanonymous/ComfyUI": { + "stars": 30467, + "last_update": "2024-04-02 07:38:10" + }, + "https://github.com/chaojie/ComfyUI-MuseV": { + "stars": 2, + "last_update": "2024-04-02 15:39:23" + } +} \ No newline at end of file diff --git a/js/custom-nodes-downloader.js b/js/custom-nodes-downloader.js index aa2b054b..73d06eea 100644 --- a/js/custom-nodes-downloader.js +++ b/js/custom-nodes-downloader.js @@ -109,6 +109,9 @@ export class CustomNodesInstaller extends ComfyDialog { this.manager_dialog = manager_dialog; this.search_keyword = ''; this.element = $el("div.comfy-modal", { parent: document.body }, []); + + this.currentSortProperty = ''; // The property currently being sorted + this.currentSortAscending = true; // The direction of the current sort } startInstall(target) { @@ -367,76 +370,165 @@ export class CustomNodesInstaller extends ComfyDialog { } } + sortData(property, ascending = true) { + this.data.sort((a, b) => { + // Check if either value is -1 and handle accordingly + if (a[property] === -1) return 1; // Always put a at the end if its value is -1 + if (b[property] === -1) return -1; // Always put b at the end if its value is -1 + // And be careful here, (-1<'2024-01-01') and (-1>'2024-01-01') are both false! So I handle -1 seperately. + if (a[property] < b[property]) return ascending ? -1 : 1; + if (a[property] > b[property]) return ascending ? 1 : -1; + return 0; + }); + } + + resetHeaderStyles() { + const headers = ['th_stars', 'th_last_update']; // Add the IDs of all your sortable headers here + headers.forEach(headerId => { + const header = this.element.querySelector(`#${headerId}`); + if (header) { + header.style.backgroundColor = ''; // Reset to default background color + // Add other style resets if necessary + } + }); + } + + toggleSort(property) { + // If currently sorted by this property, toggle the direction; else, sort ascending + if (this.currentSortProperty === property) { + this.currentSortAscending = !this.currentSortAscending; + } else { + this.currentSortAscending = false; + } + this.currentSortProperty = property; + + this.resetHeaderStyles(); // Reset styles of all sortable headers + + // Determine the ID of the header based on the property + let headerId = ''; + if (property === 'stars') { + headerId = 'th_stars'; + } else if (property === 'last_update') { + headerId = 'th_last_update'; + } + + // If we have a valid headerId, change its style to indicate it's the active sort column + if (headerId) { + const activeHeader = this.element.querySelector(`#${headerId}`); + if (activeHeader) { + activeHeader.style.backgroundColor = '#222'; + // Slightly brighter. Add other style changes if necessary. + } + } + + // Call sortData with the current property and direction + this.sortData(property, this.currentSortAscending); + + // Refresh the grid to display sorted data + this.createGrid(); + this.apply_searchbox(this.data); + } + async createGrid() { - var grid = document.createElement('table'); - grid.setAttribute('id', 'custom-nodes-grid'); - - this.grid_rows = {}; - + // Remove existing table if present + var grid = this.element.querySelector('#custom-nodes-grid'); + var panel; let self = this; + if (grid) { + grid.querySelector('tbody').remove(); + panel = grid.parentNode; + } else { + grid = document.createElement('table'); + grid.setAttribute('id', 'custom-nodes-grid'); - var thead = document.createElement('thead'); + this.grid_rows = {}; + + var thead = document.createElement('thead'); + + var headerRow = document.createElement('tr'); + thead.style.position = "sticky"; + thead.style.top = "0px"; + thead.style.borderCollapse = "collapse"; + thead.style.tableLayout = "fixed"; + + var header0 = document.createElement('th'); + header0.style.width = "20px"; + this.checkbox_all = $el("input",{type:'checkbox', id:'check_all'},[]); + header0.appendChild(this.checkbox_all); + this.checkbox_all.checked = false; + this.checkbox_all.disabled = true; + this.checkbox_all.addEventListener('change', function() { self.check_all.call(self, self.checkbox_all.checked); }); + + var header1 = document.createElement('th'); + header1.innerHTML = '  ID  '; + header1.style.width = "20px"; + var header2 = document.createElement('th'); + header2.innerHTML = 'Author'; + header2.style.width = "150px"; + var header3 = document.createElement('th'); + header3.innerHTML = 'Name'; + header3.style.width = "20%"; + var header4 = document.createElement('th'); + header4.innerHTML = 'Description'; + header4.style.width = "60%"; + // header4.classList.add('expandable-column'); + var header5 = document.createElement('th'); + header5.innerHTML = 'GitHub Stars'; + header5.style.width = "130px"; + header5.setAttribute('id', 'th_stars'); + header5.style.cursor = 'pointer'; + header5.onclick = () => this.toggleSort('stars'); + var header6 = document.createElement('th'); + header6.innerHTML = 'Last Update'; + header6.style.width = "130px"; + header6.setAttribute('id', 'th_last_update'); + header6.style.cursor = 'pointer'; + header6.onclick = () => this.toggleSort('last_update'); + var header7 = document.createElement('th'); + header7.innerHTML = 'Install'; + header7.style.width = "130px"; + + header0.style.position = "sticky"; + header0.style.top = "0px"; + header1.style.position = "sticky"; + header1.style.top = "0px"; + header2.style.position = "sticky"; + header2.style.top = "0px"; + header3.style.position = "sticky"; + header3.style.top = "0px"; + header4.style.position = "sticky"; + header4.style.top = "0px"; + header5.style.position = "sticky"; + header5.style.top = "0px"; + header6.style.position = "sticky"; + header6.style.top = "0px"; + header7.style.position = "sticky"; + header7.style.top = "0px"; + + thead.appendChild(headerRow); + headerRow.appendChild(header0); + headerRow.appendChild(header1); + headerRow.appendChild(header2); + headerRow.appendChild(header3); + headerRow.appendChild(header4); + headerRow.appendChild(header5); + headerRow.appendChild(header6); + headerRow.appendChild(header7); + + headerRow.style.backgroundColor = "Black"; + headerRow.style.color = "White"; + headerRow.style.textAlign = "center"; + headerRow.style.width = "100%"; + headerRow.style.padding = "0"; + + grid.appendChild(thead); + + panel = document.createElement('div'); + panel.style.width = "100%"; + panel.appendChild(grid); + this.element.appendChild(panel); + } var tbody = document.createElement('tbody'); - - var headerRow = document.createElement('tr'); - thead.style.position = "sticky"; - thead.style.top = "0px"; - thead.style.borderCollapse = "collapse"; - thead.style.tableLayout = "fixed"; - - var header0 = document.createElement('th'); - header0.style.width = "20px"; - this.checkbox_all = $el("input",{type:'checkbox', id:'check_all'},[]); - header0.appendChild(this.checkbox_all); - this.checkbox_all.checked = false; - this.checkbox_all.disabled = true; - this.checkbox_all.addEventListener('change', function() { self.check_all.call(self, self.checkbox_all.checked); }); - - var header1 = document.createElement('th'); - header1.innerHTML = '  ID  '; - header1.style.width = "20px"; - var header2 = document.createElement('th'); - header2.innerHTML = 'Author'; - header2.style.width = "150px"; - var header3 = document.createElement('th'); - header3.innerHTML = 'Name'; - header3.style.width = "20%"; - var header4 = document.createElement('th'); - header4.innerHTML = 'Description'; - header4.style.width = "60%"; -// header4.classList.add('expandable-column'); - var header5 = document.createElement('th'); - header5.innerHTML = 'Install'; - header5.style.width = "130px"; - - header0.style.position = "sticky"; - header0.style.top = "0px"; - header1.style.position = "sticky"; - header1.style.top = "0px"; - header2.style.position = "sticky"; - header2.style.top = "0px"; - header3.style.position = "sticky"; - header3.style.top = "0px"; - header4.style.position = "sticky"; - header4.style.top = "0px"; - header5.style.position = "sticky"; - header5.style.top = "0px"; - - thead.appendChild(headerRow); - headerRow.appendChild(header0); - headerRow.appendChild(header1); - headerRow.appendChild(header2); - headerRow.appendChild(header3); - headerRow.appendChild(header4); - headerRow.appendChild(header5); - - headerRow.style.backgroundColor = "Black"; - headerRow.style.color = "White"; - headerRow.style.textAlign = "center"; - headerRow.style.width = "100%"; - headerRow.style.padding = "0"; - - grid.appendChild(thead); grid.appendChild(tbody); if(this.data) @@ -499,8 +591,27 @@ export class CustomNodesInstaller extends ComfyDialog { } var data5 = document.createElement('td'); + data5.style.maxWidth = "100px"; + data5.className = "cm-node-stars" + data5.textContent = `${data.stars}`; + data5.style.whiteSpace = "nowrap"; + data5.style.overflow = "hidden"; + data5.style.textOverflow = "ellipsis"; data5.style.textAlign = "center"; + var lastUpdateDate = new Date(); + var data6 = document.createElement('td'); + data6.style.maxWidth = "100px"; + data6.className = "cm-node-last-update" + data6.textContent = `${data.last_update}`.split(' ')[0]; + data6.style.whiteSpace = "nowrap"; + data6.style.overflow = "hidden"; + data6.style.textOverflow = "ellipsis"; + data6.style.textAlign = "center"; + + var data7 = document.createElement('td'); + data7.style.textAlign = "center"; + var installBtn = document.createElement('button'); installBtn.className = "cm-btn-install"; var installBtn2 = null; @@ -587,7 +698,7 @@ export class CustomNodesInstaller extends ComfyDialog { install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'update'); }); - data5.appendChild(installBtn2); + data7.appendChild(installBtn2); } if(installBtn3 != null) { @@ -596,7 +707,7 @@ export class CustomNodesInstaller extends ComfyDialog { install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'toggle_active'); }); - data5.appendChild(installBtn3); + data7.appendChild(installBtn3); } if(installBtn4 != null) { @@ -605,7 +716,7 @@ export class CustomNodesInstaller extends ComfyDialog { install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'fix'); }); - data5.appendChild(installBtn4); + data7.appendChild(installBtn4); } installBtn.style.width = "120px"; @@ -621,7 +732,7 @@ export class CustomNodesInstaller extends ComfyDialog { }); if(!data.author.startsWith('#NOTICE')){ - data5.appendChild(installBtn); + data7.appendChild(installBtn); } if(data.installed == 'Fail' || data.author.startsWith('#NOTICE')) @@ -637,6 +748,8 @@ export class CustomNodesInstaller extends ComfyDialog { dataRow.appendChild(data3); dataRow.appendChild(data4); dataRow.appendChild(data5); + dataRow.appendChild(data6); + dataRow.appendChild(data7); tbody.appendChild(dataRow); let buttons = []; @@ -653,10 +766,6 @@ export class CustomNodesInstaller extends ComfyDialog { this.grid_rows[i] = {data:data, buttons:buttons, checkbox:checkbox, control:dataRow}; } - const panel = document.createElement('div'); - panel.style.width = "100%"; - panel.appendChild(grid); - function handleResize() { const parentHeight = self.element.clientHeight; const gridHeight = parentHeight - 200; @@ -672,7 +781,6 @@ export class CustomNodesInstaller extends ComfyDialog { grid.style.overflowY = "scroll"; this.element.style.height = "85%"; this.element.style.width = "80%"; - this.element.appendChild(panel); handleResize(); } diff --git a/node_db/dev/custom-node-list.json b/node_db/dev/custom-node-list.json index 64e02718..ceb1eaaf 100644 --- a/node_db/dev/custom-node-list.json +++ b/node_db/dev/custom-node-list.json @@ -9,6 +9,26 @@ "description": "If you see this message, your ComfyUI-Manager is outdated.\nDev channel provides only the list of the developing nodes. If you want to find the complete node list, please go to the Default channel." }, + { + "author": "Jiffies-64", + "title": "ComfyUI-SaveImagePlus", + "reference": "https://github.com/Jiffies-64/ComfyUI-SaveImagePlus", + "files": [ + "https://github.com/Jiffies-64/ComfyUI-SaveImagePlus" + ], + "install_type": "git-clone", + "description": "Nodes:SaveImagePlus" + }, + { + "author": "kadirnar", + "title": "ComfyUI-Adapter [WIP]", + "reference": "https://github.com/kadirnar/ComfyUI-Adapter", + "files": [ + "https://github.com/kadirnar/ComfyUI-Adapter" + ], + "install_type": "git-clone", + "description": "WIP" + }, { "author": "Beinsezii", "title": "comfyui-amd-go-fast", @@ -229,16 +249,6 @@ "install_type": "git-clone", "description": "I made these nodes for experimenting so it's far from perfect but at least it is entertaining!\nIt uses cosine similarities or smallest euclidean distances to find the closest tokens." }, - { - "author": "logtd", - "title": "ComfyUI-FLATTEN", - "reference": "https://github.com/logtd/ComfyUI-FLATTEN", - "files": [ - "https://github.com/logtd/ComfyUI-FLATTEN" - ], - "install_type": "git-clone", - "description": "Load Checkpoint with FLATTEN model, KSampler (Flatten), Unsampler (Flatten), Sample Trajectories" - }, { "author": "shadowcz007", "title": "comfyui-llamafile [WIP]", diff --git a/node_db/legacy/custom-node-list.json b/node_db/legacy/custom-node-list.json index 28fff976..f008d4c0 100644 --- a/node_db/legacy/custom-node-list.json +++ b/node_db/legacy/custom-node-list.json @@ -9,6 +9,16 @@ "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": "Davemane42", + "title": "Visual Area Conditioning / Latent composition [DEPRECATED]", + "reference": "https://github.com/Davemane42/ComfyUI_Dave_CustomNode", + "files": [ + "https://github.com/Davemane42/ComfyUI_Dave_CustomNode" + ], + "install_type": "git-clone", + "description": "This tool provides custom nodes that allow visualization and configuration of area conditioning and latent composite." + }, { "author": "laksjdjf", "title": "LoRA-Merger-ComfyUI [DEPRECATED]", diff --git a/node_db/new/custom-node-list.json b/node_db/new/custom-node-list.json index 93609569..ecd2c9a6 100644 --- a/node_db/new/custom-node-list.json +++ b/node_db/new/custom-node-list.json @@ -8,8 +8,128 @@ "install_type": "git-clone", "description": "If you see this message, your ComfyUI-Manager is outdated.\nRecent channel provides only the list of the latest nodes. If you want to find the complete node list, please go to the Default channel.\nMaking LoRA has never been easier!" }, + - + { + "author": "chaojie", + "title": "ComfyUI-MuseV", + "reference": "https://github.com/chaojie/ComfyUI-MuseV", + "files": [ + "https://github.com/chaojie/ComfyUI-MuseV" + ], + "install_type": "git-clone", + "description": "ComfyUI MuseV" + }, + { + "author": "DrMWeigand", + "title": "ComfyUI Color Detection Nodes", + "reference": "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection", + "files": [ + "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection" + ], + "install_type": "git-clone", + "description": "A collection of nodes for detecting color in images, leveraging RGB and LAB color spaces. These nodes aim to distinguish colored images from black and white, including those with color tints." + }, + { + "author": "kijai", + "title": "ComfyUI-APISR", + "reference": "https://github.com/kijai/ComfyUI-APISR", + "files": [ + "https://github.com/kijai/ComfyUI-APISR" + ], + "install_type": "git-clone", + "description": "Node to use [a/APISR](https://github.com/Kiteretsu77/APISR) upscale models in ComfyUI" + }, + { + "author": "logtd", + "title": "ComfyUI-FLATTEN", + "reference": "https://github.com/logtd/ComfyUI-FLATTEN", + "files": [ + "https://github.com/logtd/ComfyUI-FLATTEN" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/FLATTEN: optical FLow-guided ATTENtion for consistent text-to-video editing](https://github.com/yrcong/flatten)." + }, + { + "author": "BlakeOne", + "title": "ComfyUI SchedulerMixer", + "reference": "https://github.com/BlakeOne/ComfyUI-SchedulerMixer", + "files": [ + "https://github.com/BlakeOne/ComfyUI-SchedulerMixer" + ], + "install_type": "git-clone", + "description": "Create a custom scheduler from a weighted average of the built-in schedulers" + }, + { + "author": "BlakeOne", + "title": "ComfyUI FastImageListToImageBatch", + "reference": "https://github.com/BlakeOne/ComfyUI-FastImageListToImageBatch", + "files": [ + "https://github.com/BlakeOne/ComfyUI-FastImageListToImageBatch" + ], + "install_type": "git-clone", + "description": "Quickly convert a list of images to a batch of images. All images must be the same size. Great for long videos." + }, + { + "author": "frankchieng", + "title": "ComfyUI_Aniportrait", + "reference": "https://github.com/frankchieng/ComfyUI_Aniportrait", + "files": [ + "https://github.com/frankchieng/ComfyUI_Aniportrait" + ], + "install_type": "git-clone", + "description": "implementation of [a/Aniportrait](https://github.com/Zejun-Yang/AniPortrait)'s self driven,audio driven and Face reenacment in ComfyUI" + }, + { + "author": "ZHO-ZHO-ZHO", + "title": "ComfyUI-BiRefNet-ZHO", + "reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO", + "files": [ + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO" + ], + "install_type": "git-clone", + "description": "Better version for [a/BiRefNet](https://github.com/zhengpeng7/birefnet) in ComfyUI | Both img and video" + }, + { + "author": "kale4eat", + "title": "ComfyUI_demucus", + "reference": "https://github.com/kale4eat/ComfyUI-path-util", + "files": [ + "https://github.com/kale4eat/ComfyUI-path-util" + ], + "install_type": "git-clone", + "description": "Path utility for ComfyUI" + }, + { + "author": "kale4eat", + "title": "ComfyUI-string-util", + "reference": "https://github.com/kale4eat/ComfyUI-string-util", + "files": [ + "https://github.com/kale4eat/ComfyUI-string-util" + ], + "install_type": "git-clone", + "description": "String utility for ComfyUI" + }, + { + "author": "kale4eat", + "title": "ComfyUI-text-file-util", + "reference": "https://github.com/kale4eat/ComfyUI-text-file-util", + "files": [ + "https://github.com/kale4eat/ComfyUI-text-file-util" + ], + "install_type": "git-clone", + "description": "Text file utility for ComfyUI" + }, + { + "author": "nickve28", + "title": "Nich Comfy Utils", + "reference": "https://github.com/nickve28/nich-comfy-utils", + "files": [ + "https://github.com/nickve28/nich-comfy-utils" + ], + "install_type": "git-clone", + "description": "Nodes:Image from Dir Selector (Nich)" + }, { "author": "Hangover3832", "title": "Recognize Anything Model (RAM++) for ComfyUI", @@ -571,126 +691,6 @@ ], "install_type": "git-clone", "description": "DragAnything" - }, - { - "author": "chaojie", - "title": "ComfyUI-Trajectory", - "reference": "https://github.com/chaojie/ComfyUI-Trajectory", - "files": [ - "https://github.com/chaojie/ComfyUI-Trajectory" - ], - "install_type": "git-clone", - "description": "ComfyUI Trajectory" - }, - { - "author": "olduvai-jp", - "title": "ComfyUI-HfLoader", - "reference": "https://github.com/olduvai-jp/ComfyUI-HfLoader", - "files": [ - "https://github.com/olduvai-jp/ComfyUI-HfLoader" - ], - "install_type": "git-clone", - "description": "Nodes:Lora Loader From HF" - }, - { - "author": "AiMiDi", - "title": "ComfyUI-Aimidi-nodes", - "reference": "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes", - "files": [ - "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes" - ], - "install_type": "git-clone", - "description": "Nodes:Merge Tag, Clear Tag, Add Tag, Load Images Pair Batch, Save Images Pair" - }, - { - "author": "vsevolod-oparin", - "title": "Kandinsky 2.2 ComfyUI Plugin", - "reference": "https://github.com/vsevolod-oparin/comfyui-kandinsky22", - "files": [ - "https://github.com/vsevolod-oparin/comfyui-kandinsky22" - ], - "install_type": "git-clone", - "description": "Nodes provide an options to combine prior and decoder models of Kandinsky 2.2." - }, - { - "author": "Xyem", - "title": "Xycuno Oobabooga", - "reference": "https://github.com/Xyem/Xycuno-Oobabooga", - "files": [ - "https://github.com/Xyem/Xycuno-Oobabooga" - ], - "install_type": "git-clone", - "description": "Xycuno Oobabooga provides custom nodes for ComfyUI, for sending requests to an [a/Oobabooga](https://github.com/oobabooga/text-generation-webui) instance to assist in creating prompt texts." - }, - { - "author": "CozyMantis", - "title": "Cozy Reference Pose Generator", - "reference": "https://github.com/cozymantis/pose-generator-comfyui-node", - "files": [ - "https://github.com/cozymantis/pose-generator-comfyui-node" - ], - "install_type": "git-clone", - "description": "Generate OpenPose face/body reference poses in ComfyUI with ease. Made with 💚 by the CozyMantis squad." - }, - { - "author": "CozyMantis", - "title": "Cozy Utils", - "reference": "https://github.com/cozymantis/cozy-utils-comfyui-nodes", - "files": [ - "https://github.com/cozymantis/cozy-utils-comfyui-nodes" - ], - "install_type": "git-clone", - "description": "Various cozy nodes, made with 💚 by the CozyMantis squad." - }, - { - "author": "Chan-0312", - "title": "ComfyUI-EasyDeforum", - "reference": "https://github.com/Chan-0312/ComfyUI-EasyDeforum", - "files": [ - "https://github.com/Chan-0312/ComfyUI-EasyDeforum" - ], - "install_type": "git-clone", - "description": "Nodes:Easy2DDeforum (Chan)" - }, - { - "author": "if-ai", - "title": "ComfyUI-IF_AI_tools", - "reference": "https://github.com/if-ai/ComfyUI-IF_AI_tools", - "files": [ - "https://github.com/if-ai/ComfyUI-IF_AI_tools" - ], - "install_type": "git-clone", - "description": "Various AI tools to use in Comfy UI. Starting with VL and prompt making tools using Ollma as backend will evolve as I find time." - }, - { - "author": "shi3z", - "title": "ComfyUI_Memeplex_DALLE", - "reference": "https://github.com/shi3z/ComfyUI_Memeplex_DALLE", - "files": [ - "https://github.com/shi3z/ComfyUI_Memeplex_DALLE" - ], - "install_type": "git-clone", - "description": "You can use memeplex and DALL-E thru ComfyUI. You need API keys." - }, - { - "author": "cdb-boop", - "title": "ComfyUI Bringing Old Photos Back to Life", - "reference": "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life", - "files": [ - "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life" - ], - "install_type": "git-clone", - "description": "Enhance old or low-quality images in ComfyUI. Optional features include automatic scratch removal and face enhancement. Based on Microsoft's Bringing-Old-Photos-Back-to-Life. Requires installing models, so see instructions here: https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life." - }, - { - "author": "kingzcheung", - "title": "ComfyUI_kkTranslator_nodes", - "reference": "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes", - "files": [ - "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes" - ], - "install_type": "git-clone", - "description": "These nodes are mainly used to translate prompt words from other languages into English. PromptTranslateToText implements prompt word translation based on Helsinki NLP translation model.It doesn't require internet connection。" } ] } diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 9357acb4..3984e2b0 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -328,6 +328,7 @@ "Load Images Pair Batch", "Merge Tag", "Move Tag To Top", + "Reserve Tag", "Save Images Pair" ], { @@ -554,6 +555,22 @@ "title_aux": "ComfyUI-Path-Helper" } ], + "https://github.com/BlakeOne/ComfyUI-FastImageListToImageBatch": [ + [ + "FastImageListToImageBatch" + ], + { + "title_aux": "ComfyUI FastImageListToImageBatch" + } + ], + "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": [ + [ + "SchedulerMixer" + ], + { + "title_aux": "ComfyUI SchedulerMixer" + } + ], "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": [ [ "BNK_AddCLIPSDXLParams", @@ -766,6 +783,7 @@ "PrimereStyleLoader", "PrimereStylePile", "PrimereTextOutput", + "PrimereUpscaleModel", "PrimereVAE", "PrimereVAELoader", "PrimereVAESelector", @@ -793,18 +811,6 @@ "title_aux": "ComfyUI-ComfyCouple" } ], - "https://github.com/Davemane42/ComfyUI_Dave_CustomNode": [ - [ - "ABGRemover", - "ConditioningStretch", - "ConditioningUpscale", - "MultiAreaConditioning", - "MultiLatentComposite" - ], - { - "title_aux": "Visual Area Conditioning / Latent composition" - } - ], "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ [ "Absolute value", @@ -864,6 +870,15 @@ "title_aux": "ComfyUI-Cre8it-Nodes" } ], + "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": [ + [ + "LABColorDetection", + "RGBColorDetection" + ], + { + "title_aux": "ComfyUI Color Detection Nodes" + } + ], "https://github.com/Electrofried/ComfyUI-OpenAINode": [ [ "OpenAINode" @@ -1022,6 +1037,7 @@ [ "EmptyMotionData", "ExportSMPLTo3DSoftware", + "Export_SMPLMultipleSubjects_To_3DSoftware", "Human4D_Img2SMPL", "Humans4DLoader", "MotionCLIPTextEncode", @@ -1030,6 +1046,7 @@ "MotionDiffSimpleSampler", "RenderMultipleSubjectsSMPLMesh", "RenderSMPLMesh", + "Render_OpenPose_From_SMPL_Mesh_Multiple_Subjects", "SMPLLoader", "SMPLShapeParameters", "SaveSMPL", @@ -1333,6 +1350,10 @@ "Moondream Interrogator" ], { + "author": "AlexL", + "description": "An implementation of the moondream visual LLM", + "nickname": "Hangover-Moondream", + "title": "ComfyUI-Hangover-Moondream", "title_aux": "ComfyUI-Hangover-Moondream" } ], @@ -1344,6 +1365,10 @@ "Save Image w/o Metadata" ], { + "author": "AlexL", + "description": "Scales an input image into a given box size, whereby the aspect ratio keeps retained.", + "nickname": "Hangover-Image_Scale_Bouning_Box", + "title": "ComfyUI-Hangover-Image_Scale_Bouning_Box", "title_aux": "ComfyUI-Hangover-Nodes" } ], @@ -1352,6 +1377,10 @@ "Recognize Anything Model (RAM++)" ], { + "author": "AlexL", + "description": "An implementation of the Recognize Anything Model (RAM++) for ComfyUI. The counterpart of Segment Anything Model (SAM).", + "nickname": "Hangover-Recognize_Anything", + "title": "ComfyUI-Hangover-Recognize_Anything", "title_aux": "Recognize Anything Model (RAM++) for ComfyUI" } ], @@ -1665,6 +1694,7 @@ "ACN_ControlNetLoaderWithLoraAdvanced", "ACN_DefaultUniversalWeights", "ACN_ReferenceControlNet", + "ACN_ReferenceControlNetFinetune", "ACN_ReferencePreprocessor", "ACN_SparseCtrlIndexMethodNode", "ACN_SparseCtrlLoaderAdvanced", @@ -2157,6 +2187,7 @@ "DoubleClipTextEncode", "HashText", "IndoorBackgrounds", + "IntFloatDict", "LandscapeBackgrounds", "NatureColours", "OptimalCrop", @@ -2547,9 +2578,10 @@ "OneTimeMultiplyTransform", "OneTimeShiftTransform", "ShiftTransform", - "TSamplerWithTransform", + "TransformHijack", "TransformOffset", "TransformSampler", + "TransformSamplerAdvanced", "TransformsCombine" ], { @@ -3981,16 +4013,6 @@ "title_aux": "MergeBlockWeighted_fo_ComfyUI" } ], - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": [ - [ - "APISR_Lterative_Zho", - "APISR_ModelLoader_Zho", - "APISR_Zho" - ], - { - "title_aux": "APISR IN COMFYUI" - } - ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": [ [ "ArtGallery_Zho", @@ -4013,6 +4035,15 @@ "title_aux": "ComfyUI-BRIA_AI-RMBG" } ], + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO": [ + [ + "BiRefNet_ModelLoader_Zho", + "BiRefNet_Zho" + ], + { + "title_aux": "ComfyUI-BiRefNet-ZHO" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": [ [ "DepthFM_Literative_Zho", @@ -4188,6 +4219,7 @@ "AudioToFFTs", "BatchAmplitudeSchedule", "ClipAmplitude", + "FloatArrayToGraph", "GateNormalizedAmplitude", "LoadAudio", "NormalizeAmplitude", @@ -5252,6 +5284,15 @@ "title_aux": "ComfyUI-MotionCtrl-SVD" } ], + "https://github.com/chaojie/ComfyUI-MuseV": [ + [ + "MuseVRun" + ], + { + "author": "infguo", + "title_aux": "ComfyUI-MuseV" + } + ], "https://github.com/chaojie/ComfyUI-Open-Sora": [ [ "OpenSoraLoader", @@ -5923,6 +5964,17 @@ "title_aux": "Cozy Reference Pose Generator" } ], + "https://github.com/crystian/ComfyUI-Crystools": [ + [], + { + "author": "Crystian", + "description": "Plugins for multiples uses, mainly for debugging, you need them! IG: https://www.instagram.com/crystian.ia", + "nickname": "Crystools", + "nodename_pattern": " \\[Crystools\\]$", + "title": "Crystools", + "title_aux": "Crystools" + } + ], "https://github.com/cubiq/ComfyUI_FaceAnalysis": [ [ "FaceAnalysisModels", @@ -6693,6 +6745,20 @@ "title_aux": "RF Nodes" } ], + "https://github.com/frankchieng/ComfyUI_Aniportrait": [ + [ + "AniPortrait_Audio2Video", + "AniPortrait_Audio_Path", + "AniPortrait_Generate_Ref_Pose", + "AniPortrait_LoadVideoPath", + "AniPortrait_Pose_Gen_Video", + "AniPortrait_Ref_Image_Path", + "AniPortrait_Video_Gen_Pose" + ], + { + "title_aux": "ComfyUI_Aniportrait" + } + ], "https://github.com/gemell1/ComfyUI_GMIC": [ [ "GmicCliWrapper", @@ -7322,6 +7388,60 @@ "title_aux": "ComfyUI-Transformers" } ], + "https://github.com/kale4eat/ComfyUI-path-util": [ + [ + "path_util_PathAbspath", + "path_util_PathBasename", + "path_util_PathDirname", + "path_util_PathExists", + "path_util_PathIsdir", + "path_util_PathIsfile", + "path_util_PathJoin", + "path_util_PathRelpath", + "path_util_PathSplitext" + ], + { + "title_aux": "ComfyUI_demucus" + } + ], + "https://github.com/kale4eat/ComfyUI-string-util": [ + [ + "string_util_Str", + "string_util_StrConcat", + "string_util_StrCount", + "string_util_StrEndsWith", + "string_util_StrEqual", + "string_util_StrFind", + "string_util_StrFormat", + "string_util_StrJoin", + "string_util_StrLen", + "string_util_StrLower", + "string_util_StrLstrip", + "string_util_StrNotEqual", + "string_util_StrReplace", + "string_util_StrRstrip", + "string_util_StrSlice", + "string_util_StrSplit", + "string_util_StrStartsWith", + "string_util_StrStrip", + "string_util_StrUpper" + ], + { + "title_aux": "ComfyUI-string-util" + } + ], + "https://github.com/kale4eat/ComfyUI-text-file-util": [ + [ + "text_file_util_ReadAllLines", + "text_file_util_ReadAllText", + "text_file_util_WriteText", + "text_file_util_WriteTextLines", + "text_file_util_WriteTextWithSequentialNumbering" + ], + { + "title_aux": "ComfyUI-text-file-util" + } + ], "https://github.com/kenjiqq/qq-nodes-comfyui": [ [ "Any List", @@ -7370,6 +7490,16 @@ "title_aux": "Animatediff MotionLoRA Trainer" } ], + "https://github.com/kijai/ComfyUI-APISR": [ + [ + "APISR_Lterative_Zho", + "APISR_ModelLoader_Zho", + "APISR_Zho" + ], + { + "title_aux": "ComfyUI-APISR" + } + ], "https://github.com/kijai/ComfyUI-CCSR": [ [ "CCSR_Model_Select", @@ -7768,6 +7898,19 @@ "title_aux": "comfyui-easyapi-nodes" } ], + "https://github.com/logtd/ComfyUI-FLATTEN": [ + [ + "ApplyFlattenAttentionNode", + "CreateFlowNoiseNode", + "FlattenCheckpointLoaderNode", + "KSamplerFlattenNode", + "TrajectoryNode", + "UnsamplerFlattenNode" + ], + { + "title_aux": "ComfyUI-FLATTEN" + } + ], "https://github.com/logtd/ComfyUI-InstanceDiffusion": [ [ "ApplyScaleUModelNode", @@ -7835,8 +7978,7 @@ ], "https://github.com/longgui0318/comfyui-oms-diffusion": [ [ - "Additional Features With Attention", - "Extract Features With Unet" + "Additional Features With Attention" ], { "title_aux": "comfyui-oms-diffusion" @@ -8402,6 +8544,7 @@ "CreateMaskWithCanvas", "CreateRegionalPNGMask", "EightFloats", + "EvenOrOdd", "FloatMultiplication", "FourBooleanTrigger", "FourFloats", @@ -8492,6 +8635,14 @@ "title_aux": "ComfyUI-NegiTools" } ], + "https://github.com/nickve28/nich-comfy-utils": [ + [ + "Image from Dir Selector (Nich)" + ], + { + "title_aux": "Nich Comfy Utils" + } + ], "https://github.com/nicolai256/comfyUI_Nodes_nicolai256/raw/main/yugioh-presets.py": [ [ "yugioh_Presets" @@ -9743,6 +9894,7 @@ "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [ [ "CaptureWebcam", + "ImageResize_Padding", "LatentDelay", "LoadWebcamImage", "SaveImagetoPath" @@ -10234,6 +10386,7 @@ "easy if", "easy imageInsetCrop", "easy imagePixelPerfect", + "easy imageRatio", "easy imageRemBg", "easy imageRemoveBG", "easy imageSave", diff --git a/prestartup_script.py b/prestartup_script.py index 5b946ab9..b3fba3f0 100644 --- a/prestartup_script.py +++ b/prestartup_script.py @@ -9,6 +9,13 @@ import locale import platform +try: + from distutils.version import StrictVersion +except: + print(f"[ComfyUI-Manager] Missing `distutils`. Try install...") + subprocess.check_output([sys.executable, '-m', 'pip', 'install', 'distutils']) + from distutils.version import StrictVersion + glob_path = os.path.join(os.path.dirname(__file__), "glob") sys.path.append(glob_path) @@ -292,6 +299,26 @@ else: print("** Log path: file logging is disabled") +def read_downgrade_blacklist(): + try: + import configparser + config_path = os.path.join(os.path.dirname(__file__), "config.ini") + config = configparser.ConfigParser() + config.read(config_path) + default_conf = config['default'] + + if 'downgrade_blacklist' in default_conf: + items = default_conf['downgrade_blacklist'].split(',') + items = [x.strip() for x in items if x != ''] + cm_global.pip_downgrade_blacklist += items + cm_global.pip_downgrade_blacklist = list(set(cm_global.pip_downgrade_blacklist)) + except: + pass + + +read_downgrade_blacklist() + + def check_bypass_ssl(): try: import configparser @@ -314,21 +341,30 @@ 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_list = None +pip_map = None def get_installed_packages(): - global pip_list + global pip_map - if pip_list is None: + if pip_map is None: try: result = subprocess.check_output([sys.executable, '-m', 'pip', 'list'], universal_newlines=True) - pip_list = set([line.split()[0].lower() for line in result.split('\n') if line.strip()]) + + 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_list + + return pip_map def is_installed(name): @@ -337,16 +373,23 @@ def is_installed(name): if name.startswith('#'): return True - pattern = r'([^<>!=]+)([<>!=]=?)' + pattern = r'([^<>!=]+)([<>!=]=?)(.*)' match = re.search(pattern, name) - + if match: name = match.group(1) if name in cm_global.pip_downgrade_blacklist: - if match is None or match.group(2) in ['<=', '==', '<']: - print(f"[ComfyUI-Manager] skip black listed pip installation: '{name}'") - return True + pips = get_installed_packages() + + if match is None: + if name in pips: + return True + elif match.group(2) in ['<=', '==', '<']: + if name in pips: + if StrictVersion(pips[name]) >= StrictVersion(match.group(3)): + print(f"[ComfyUI-Manager] skip black listed pip installation: '{name}'") + return True return name.lower() in get_installed_packages() @@ -499,7 +542,7 @@ if os.path.exists(script_list_path): print("#######################################################################\n") del processed_install -del pip_list +del pip_map def check_windows_event_loop_policy(): diff --git a/requirements.txt b/requirements.txt index 2435feff..70a430f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ GitPython +PyGithub matrix-client==0.4.0 transformers huggingface-hub>0.20 \ No newline at end of file diff --git a/scan.sh b/scan.sh index ef6e4348..f1f088ec 100755 --- a/scan.sh +++ b/scan.sh @@ -1,6 +1,6 @@ #!/bin/bash rm ~/.tmp/default/*.py > /dev/null 2>&1 -python scanner.py ~/.tmp/default $@ +python scanner.py ~/.tmp/default $* cp extension-node-map.json node_db/new/. echo Integrity check diff --git a/scanner.py b/scanner.py index 7e81aa9c..01bf4072 100644 --- a/scanner.py +++ b/scanner.py @@ -5,11 +5,16 @@ import json from git import Repo from torchvision.datasets.utils import download_url import concurrent +import datetime builtin_nodes = set() import sys +from urllib.parse import urlparse +from github import Github + +g = Github(os.environ.get('GITHUB_TOKEN')) # prepare temp dir if len(sys.argv) > 1: @@ -213,9 +218,6 @@ def update_custom_nodes(): git_url_titles_preemptions = get_git_urls_from_json('custom-node-list.json') def process_git_url_title(url, title, preemptions, node_pattern): - if 'Jovimetrix' in title: - pass - name = os.path.basename(url) if name.endswith(".git"): name = name[:-4] @@ -224,7 +226,76 @@ def update_custom_nodes(): if not skip_update: clone_or_pull_git_repository(url) - with concurrent.futures.ThreadPoolExecutor(10) as executor: + def process_git_stats(git_url_titles_preemptions): + GITHUB_STATS_CACHE_FILENAME = 'github-stats-cache.json' + GITHUB_STATS_FILENAME = 'github-stats.json' + + github_stats = {} + try: + with open(GITHUB_STATS_CACHE_FILENAME, 'r', encoding='utf-8') as file: + github_stats = json.load(file) + except FileNotFoundError: + pass + + def is_rate_limit_exceeded(): + return g.rate_limiting[0] == 0 + + if is_rate_limit_exceeded(): + print(f"GitHub API Rate Limit Exceeded: remained - {(g.rate_limiting_resettime - datetime.datetime.now().timestamp())/60:.2f} min") + else: + def renew_stat(url): + if is_rate_limit_exceeded(): + return + + # Parsing the URL + parsed_url = urlparse(url) + domain = parsed_url.netloc + path = parsed_url.path + path_parts = path.strip("/").split("/") + if len(path_parts) >= 2 and domain == "github.com": + owner_repo = "/".join(path_parts[-2:]) + repo = g.get_repo(owner_repo) + + last_update = repo.pushed_at.strftime("%Y-%m-%d %H:%M:%S") if repo.pushed_at else 'N/A' + github_stats[url] = { + "stars": repo.stargazers_count, + "last_update": last_update, + "cached_time": datetime.datetime.now().timestamp(), + } + with open(GITHUB_STATS_CACHE_FILENAME, 'w', encoding='utf-8') as file: + json.dump(github_stats, file, ensure_ascii=False, indent=4) + else: + print(f"Invalid URL format for GitHub repository: {url}") + + # resolve unresolved urls + for url, title, preemptions, node_pattern in git_url_titles_preemptions: + if url not in github_stats: + renew_stat(url) + + # renew outdated cache + outdated_urls = [] + for k, v in github_stats.items(): + if (datetime.datetime.now().timestamp() - v['cached_time']) > 60*60*3: # 3 hours + outdated_urls += k + + for url in outdated_urls: + renew_stat(url) + + with open(GITHUB_STATS_FILENAME, 'w', encoding='utf-8') as file: + for v in github_stats.values(): + if "cached_time" in v: + del v["cached_time"] + + json.dump(github_stats, file, ensure_ascii=False, indent=4) + + print(f"Successfully written to {GITHUB_STATS_FILENAME}, removing {GITHUB_STATS_CACHE_FILENAME}.") + # try: + # os.remove(GITHUB_STATS_CACHE_FILENAME) # This cache file is just for avoiding failure of GitHub API fetch, so it is safe to remove. + # except: + # pass + + with concurrent.futures.ThreadPoolExecutor(11) as executor: + executor.submit(process_git_stats, git_url_titles_preemptions) # One single thread for `process_git_stats()`. Runs concurrently with `process_git_url_title()`. for url, title, preemptions, node_pattern in git_url_titles_preemptions: executor.submit(process_git_url_title, url, title, preemptions, node_pattern)