diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 997949dc..463ecca9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,15 +7,19 @@ on: paths: - "pyproject.toml" +permissions: + issues: write + jobs: publish-node: name: Publish Custom Node to registry runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'ltdrdata' }} steps: - name: Check out code uses: actions/checkout@v4 - name: Publish Custom Node - uses: Comfy-Org/publish-node-action@main + uses: Comfy-Org/publish-node-action@v1 with: ## Add your own personal access token to your Github Repository secrets and reference it here. - personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} \ No newline at end of file + personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} diff --git a/README.md b/README.md index f4ac73ea..7c3e6644 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,12 @@ **ComfyUI-Manager** is an extension designed to enhance the usability of [ComfyUI](https://github.com/comfyanonymous/ComfyUI). It offers management functions to **install, remove, disable, and enable** various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI. -![menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/dialog.jpg) +![menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/refs/heads/Main/ComfyUI-Manager/images/dialog.jpg) ## NOTICE +* V3.16: Support for `uv` has been added. Set `use_uv` in `config.ini`. +* V3.10: `double-click feature` is removed + * This feature has been moved to https://github.com/ltdrdata/comfyui-connection-helper * V3.3.2: Overhauled. Officially supports [https://comfyregistry.org/](https://comfyregistry.org/). * You can see whole nodes info on [ComfyUI Nodes Info](https://ltdrdata.github.io/) page. @@ -25,6 +28,7 @@ To install ComfyUI-Manager in addition to an existing installation of ComfyUI, y - standalone version - select option: use windows default console window 2. Download [scripts/install-manager-for-portable-version.bat](https://github.com/ltdrdata/ComfyUI-Manager/raw/main/scripts/install-manager-for-portable-version.bat) into installed `"ComfyUI_windows_portable"` directory +- Don't click. Right click the link and use save as... 3. double click `install-manager-for-portable-version.bat` batch file ![portable-install](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/portable-install.jpg) @@ -50,6 +54,7 @@ python -m venv venv pip install comfy-cli comfy install ``` +* See also: https://github.com/Comfy-Org/comfy-cli ### Installation[method4] (Installation for linux+venv: ComfyUI + ComfyUI-Manager) @@ -58,6 +63,7 @@ To install ComfyUI with ComfyUI-Manager on Linux using a venv environment, you c * **prerequisite: python-is-python3, python3-venv, git** 1. Download [scripts/install-comfyui-venv-linux.sh](https://github.com/ltdrdata/ComfyUI-Manager/raw/main/scripts/install-comfyui-venv-linux.sh) into empty install directory +- Don't click. Right click the link and use save as... - ComfyUI will be installed in the subdirectory of the specified directory, and the directory will contain the generated executable script. 2. `chmod +x install-comfyui-venv-linux.sh` 3. `./install-comfyui-venv-linux.sh` @@ -90,7 +96,7 @@ This repository provides Colab notebooks that allow you to install and use Comfy 2. If you click on 'Install Custom Nodes' or 'Install Models', an installer dialog will open. - ![menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/dialog.jpg) + ![menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/refs/heads/Main/ComfyUI-Manager/images/dialog.jpg) * There are three DB modes: `DB: Channel (1day cache)`, `DB: Local`, and `DB: Channel (remote)`. * `Channel (1day cache)` utilizes Channel cache information with a validity period of one day to quickly display the list. @@ -143,10 +149,20 @@ In `ComfyUI-Manager` V3.0 and later, configuration files and dynamically generat * Basic config files: `/default/ComfyUI-Manager/config.ini` * Configurable channel lists: `/default/ComfyUI-Manager/channels.ini` * Configurable pip overrides: `/default/ComfyUI-Manager/pip_overrides.json` +* Configurable pip blacklist: `/default/ComfyUI-Manager/pip_blacklist.list` +* Configurable pip auto fix: `/default/ComfyUI-Manager/pip_auto_fix.list` * Saved snapshot files: `/default/ComfyUI-Manager/snapshots` * Startup script files: `/default/ComfyUI-Manager/startup-scripts` * Component files: `/default/ComfyUI-Manager/components` - + + +## `extra_model_paths.yaml` Configuration +The following settings are applied based on the section marked as `is_default`. + +* `custom_nodes`: Path for installing custom nodes + * Importing does not need to adhere to the path set as `is_default`, but this is the path where custom nodes are installed by the `ComfyUI Nodes Manager`. +* `download_model_base`: Path for downloading models + ## Snapshot-Manager * When you press `Save snapshot` or use `Update All` on `Manager Menu`, the current installation status snapshot is saved. @@ -174,17 +190,18 @@ In `ComfyUI-Manager` V3.0 and later, configuration files and dynamically generat ## Custom node support guide +* **NOTICE:** + - You should no longer assume that the GitHub repository name will match the subdirectory name under `custom_nodes`. The name of the subdirectory under `custom_nodes` will now use the normalized name from the `name` field in `pyproject.toml`. + - Avoid relying on directory names for imports whenever possible. + * https://docs.comfy.org/registry/overview +* https://github.com/Comfy-Org/rfcs - -* **Special purpose files** (optional) +**Special purpose files** (optional) + * `pyproject.toml` - Spec file for comfyregistry. * `node_list.json` - When your custom nodes pattern of NODE_CLASS_MAPPINGS is not conventional, it is used to manually provide a list of nodes for reference. ([example](https://github.com/melMass/comfy_mtb/raw/main/node_list.json)) * `requirements.txt` - When installing, this pip requirements will be installed automatically * `install.py` - When installing, it is automatically called - * `uninstall.py` - When uninstalling, it is automatically called - * `disable.py` - When disabled, it is automatically called - * When installing a custom node setup `.js` file, it is recommended to write this script for disabling. - * `enable.py` - When enabled, it is automatically called * **All scripts are executed from the root path of the corresponding custom node.** @@ -232,6 +249,32 @@ In `ComfyUI-Manager` V3.0 and later, configuration files and dynamically generat ![missing-list](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/missing-list.jpg) +# Config +* You can modify the `config.ini` file to apply the settings for ComfyUI-Manager. + * The path to the `config.ini` used by ComfyUI-Manager is displayed in the startup log messages. + * See also: [https://github.com/ltdrdata/ComfyUI-Manager#paths] +* Configuration options: + ``` + [default] + git_exe = + use_uv = + default_cache_as_channel_url = + bypass_ssl = + file_logging = + windows_selector_event_loop_policy = + model_download_by_agent = + downgrade_blacklist = + security_level = strong|normal|normal-|weak> + always_lazy_install = + network_mode = public|private|offline> + ``` + + * network_mode: + - public: An environment that uses a typical public network. + - private: An environment that uses a closed network, where a private node DB is configured via `channel_url`. (Uses cache if available) + - offline: An environment that does not use any external connections when using an offline network. (Uses cache if available) + + ## Additional Feature * Logging to file feature * This feature is enabled by default and can be disabled by setting `file_logging = False` in the `config.ini`. @@ -260,12 +303,40 @@ In `ComfyUI-Manager` V3.0 and later, configuration files and dynamically generat * Custom pip mapping * When you create the `pip_overrides.json` file, it changes the installation of specific pip packages to installations defined by the user. * Please refer to the `pip_overrides.json.template` file. - + +* Prevent the installation of specific pip packages + * List the package names one per line in the `pip_blacklist.list` file. + +* Automatically Restoring pip Installation + * If you list pip spec requirements in `pip_auto_fix.list`, similar to `requirements.txt`, it will automatically restore the specified versions when starting ComfyUI or when versions get mismatched during various custom node installations. + * `--index-url` can be used. + * Use `aria2` as downloader * [howto](docs/en/use_aria2.md) -* If you add the item `skip_migration_check = True` to `config.ini`, it will not check whether there are nodes that can be migrated at startup. - * This option can be used if performance issues occur in a Colab+GDrive environment. + +## Environment Variables + +The following features can be configured using environment variables: + +* **COMFYUI_PATH**: The installation path of ComfyUI +* **GITHUB_ENDPOINT**: Reverse proxy configuration for environments with limited access to GitHub +* **HF_ENDPOINT**: Reverse proxy configuration for environments with limited access to Hugging Face + + +### Example 1: +Redirecting `https://github.com/ltdrdata/ComfyUI-Impact-Pack` to `https://mirror.ghproxy.com/https://github.com/ltdrdata/ComfyUI-Impact-Pack` + +``` +GITHUB_ENDPOINT=https://mirror.ghproxy.com/https://github.com +``` + +#### Example 2: +Changing `https://huggingface.co/path/to/somewhere` to `https://some-hf-mirror.com/path/to/somewhere` + +``` +HF_ENDPOINT=https://some-hf-mirror.com +``` ## Scanner When you run the `scan.sh` script: @@ -290,6 +361,7 @@ When you run the `scan.sh` script: * if `SSL: CERTIFICATE_VERIFY_FAILED` error is occured. * Edit `config.ini` file: add `bypass_ssl = True` + ## Security policy * Edit `config.ini` file: add `security_level = ` * `strong` diff --git a/__init__.py b/__init__.py index 6a63dbe5..f966524b 100644 --- a/__init__.py +++ b/__init__.py @@ -7,7 +7,10 @@ if not os.path.exists(cli_mode_flag): sys.path.append(os.path.join(os.path.dirname(__file__), "glob")) import manager_server # noqa: F401 import share_3rdparty # noqa: F401 - WEB_DIRECTORY = "js" + import cm_global + + if not cm_global.disable_front and not 'DISABLE_COMFYUI_MANAGER_FRONT' in os.environ: + WEB_DIRECTORY = "js" else: print("\n[ComfyUI-Manager] !! cli-only-mode is enabled !!\n") diff --git a/cm-cli.py b/cm-cli.py index 80dde26e..0a472c98 100644 --- a/cm-cli.py +++ b/cm-cli.py @@ -20,14 +20,19 @@ sys.path.append(os.path.join(os.path.dirname(__file__), "glob")) import manager_util +# read env vars +# COMFYUI_FOLDERS_BASE_PATH is not required in cm-cli.py +# `comfy_path` should be resolved before importing manager_core comfy_path = os.environ.get('COMFYUI_PATH') if comfy_path is None: try: import folder_paths comfy_path = os.path.join(os.path.dirname(folder_paths.__file__)) except: + print("\n[bold yellow]WARN: The `COMFYUI_PATH` environment variable is not set. Assuming `custom_nodes/ComfyUI-Manager/../../` as the ComfyUI path.[/bold yellow]", file=sys.stderr) comfy_path = os.path.abspath(os.path.join(manager_util.comfyui_manager_path, '..', '..')) +# This should be placed here sys.path.append(comfy_path) import utils.extra_config @@ -36,17 +41,9 @@ import manager_core as core from manager_core import unified_manager import cnr_utils - - comfyui_manager_path = os.path.abspath(os.path.dirname(__file__)) -comfy_path = os.environ.get('COMFYUI_PATH') -if comfy_path is None: - print("\n[bold yellow]WARN: The `COMFYUI_PATH` environment variable is not set. Assuming `custom_nodes/ComfyUI-Manager/../../` as the ComfyUI path.[/bold yellow]", file=sys.stderr) - comfy_path = os.path.abspath(os.path.join(comfyui_manager_path, '..', '..')) - - -cm_global.pip_blacklist = ['torch', 'torchsde', 'torchvision'] +cm_global.pip_blacklist = {'torch', 'torchsde', 'torchvision'} cm_global.pip_downgrade_blacklist = ['torch', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia'] cm_global.pip_overrides = {'numpy': 'numpy<2'} @@ -55,14 +52,26 @@ if os.path.exists(os.path.join(manager_util.comfyui_manager_path, "pip_overrides cm_global.pip_overrides = json.load(json_file) +if os.path.exists(os.path.join(manager_util.comfyui_manager_path, "pip_blacklist.list")): + with open(os.path.join(manager_util.comfyui_manager_path, "pip_blacklist.list"), 'r', encoding="UTF-8", errors="ignore") as f: + for x in f.readlines(): + y = x.strip() + if y != '': + cm_global.pip_blacklist.add(y) + + def check_comfyui_hash(): - repo = git.Repo(comfy_path) - core.comfy_ui_revision = len(list(repo.iter_commits('HEAD'))) + try: + repo = git.Repo(comfy_path) + core.comfy_ui_revision = len(list(repo.iter_commits('HEAD'))) + core.comfy_ui_commit_datetime = repo.head.commit.committed_datetime + except: + print('[bold yellow]INFO: Frozen ComfyUI mode.[/bold yellow]') + core.comfy_ui_revision = 0 + core.comfy_ui_commit_datetime = 0 cm_global.variables['comfyui.revision'] = core.comfy_ui_revision - core.comfy_ui_commit_datetime = repo.head.commit.committed_datetime - check_comfyui_hash() # This is a preparation step for manager_core core.check_invalid_nodes() @@ -71,7 +80,7 @@ core.check_invalid_nodes() def read_downgrade_blacklist(): try: import configparser - config = configparser.ConfigParser() + config = configparser.ConfigParser(strict=False) config.read(core.manager_config.path) default_conf = config['default'] @@ -95,7 +104,8 @@ class Ctx: self.no_deps = False self.mode = 'cache' self.user_directory = None - self.custom_nodes_paths = [os.path.join(core.comfy_path, 'custom_nodes')] + self.custom_nodes_paths = [os.path.join(core.comfy_base_path, 'custom_nodes')] + self.manager_files_directory = os.path.dirname(__file__) if Ctx.folder_paths is None: try: @@ -118,7 +128,7 @@ class Ctx: if channel is not None: self.channel = channel - asyncio.run(unified_manager.reload(cache_mode=self.mode == 'cache')) + asyncio.run(unified_manager.reload(cache_mode=self.mode, dont_wait=False)) asyncio.run(unified_manager.load_nightly(self.channel, self.mode)) def set_no_deps(self, no_deps): @@ -139,6 +149,18 @@ class Ctx: cm_global.pip_overrides = json.load(json_file) cm_global.pip_overrides = {'numpy': 'numpy<2'} + if os.path.exists(core.manager_pip_blacklist_path): + with open(core.manager_pip_blacklist_path, 'r', encoding="UTF-8", errors="ignore") as f: + for x in f.readlines(): + y = x.strip() + if y != '': + cm_global.pip_blacklist.add(y) + + def update_custom_nodes_dir(self, target_dir): + import folder_paths + a, b = folder_paths.folder_names_and_paths['custom_nodes'] + folder_paths.folder_names_and_paths['custom_nodes'] = [os.path.abspath(target_dir)], set() + @staticmethod def get_startup_scripts_path(): return os.path.join(core.manager_startup_script_path, "install-scripts.txt") @@ -232,7 +254,7 @@ def fix_node(node_spec_str, is_all=False, cnt_msg=''): res = unified_manager.unified_fix(node_name, version_spec, no_deps=cmd_ctx.no_deps) if not res.result: - print(f"ERROR: f{res.msg}") + print(f"[bold red]ERROR: f{res.msg}[/bold red]") def uninstall_node(node_spec_str: str, is_all: bool = False, cnt_msg: str = ''): @@ -537,7 +559,7 @@ def get_all_installed_node_specs(): res.append(node_spec_str) processed.add(k) - for k, _ in unified_manager.cnr_inactive_nodes.keys(): + for k in unified_manager.cnr_inactive_nodes.keys(): if k in processed: continue @@ -546,7 +568,7 @@ def get_all_installed_node_specs(): node_spec_str = f"{k}@{str(latest[0])}" res.append(node_spec_str) - for k, _ in unified_manager.nightly_inactive_nodes.keys(): + for k in unified_manager.nightly_inactive_nodes.keys(): if k in processed: continue @@ -624,7 +646,10 @@ def install( cmd_ctx.set_user_directory(user_directory) cmd_ctx.set_channel_mode(channel, mode) cmd_ctx.set_no_deps(no_deps) + + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) for_each_nodes(nodes, act=install_node) + pip_fixer.fix_broken() @app.command(help="Reinstall custom nodes") @@ -659,7 +684,10 @@ def reinstall( cmd_ctx.set_user_directory(user_directory) cmd_ctx.set_channel_mode(channel, mode) cmd_ctx.set_no_deps(no_deps) + + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) for_each_nodes(nodes, act=reinstall_node) + pip_fixer.fix_broken() @app.command(help="Uninstall custom nodes") @@ -683,7 +711,7 @@ def uninstall( for_each_nodes(nodes, act=uninstall_node) -@app.command(help="Disable custom nodes") +@app.command(help="Update custom nodes") def update( nodes: List[str] = typer.Argument( ..., @@ -711,12 +739,15 @@ def update( if 'all' in nodes: asyncio.run(auto_save_snapshot()) + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) + for x in nodes: if x.lower() in ['comfyui', 'comfy', 'all']: update_comfyui() break update_parallel(nodes) + pip_fixer.fix_broken() @app.command(help="Disable custom nodes") @@ -809,7 +840,9 @@ def fix( if 'all' in nodes: asyncio.run(auto_save_snapshot()) + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) for_each_nodes(nodes, fix_node, allow_all=True) + pip_fixer.fix_broken() @app.command("show-versions", help="Show all available versions of the node") @@ -1004,17 +1037,36 @@ def save_snapshot( user_directory: str = typer.Option( None, help="user directory" - ) + ), + full_snapshot: Annotated[ + bool, + typer.Option( + show_default=False, help="If the snapshot should include custom node, ComfyUI version and pip versions (default), or only custom node details" + ), + ] = True, ): cmd_ctx.set_user_directory(user_directory) - path = asyncio.run(core.save_snapshot_with_postfix('snapshot', output)) + if output is None: + print("[bold red]ERROR: missing output path[/bold red]") + raise typer.Exit(code=1) + + if(not output.endswith('.json') and not output.endswith('.yaml')): + print("[bold red]ERROR: output path should be either '.json' or '.yaml' file.[/bold red]") + raise typer.Exit(code=1) + + dir_path = os.path.dirname(output) + if(dir_path != '' and not os.path.exists(dir_path)): + print(f"[bold red]ERROR: {output} path not exists.[/bold red]") + raise typer.Exit(code=1) + + path = asyncio.run(core.save_snapshot_with_postfix('snapshot', output, not full_snapshot)) print(f"Current snapshot is saved as `{path}`") @app.command("restore-snapshot", help="Restore snapshot from snapshot file") def restore_snapshot( - snapshot_name: str, + snapshot_name: str, pip_non_url: Optional[bool] = typer.Option( default=None, show_default=False, @@ -1036,10 +1088,17 @@ def restore_snapshot( user_directory: str = typer.Option( None, help="user directory" + ), + restore_to: Optional[str] = typer.Option( + None, + help="Manually specify the installation path for the custom node. Ignore user directory." ) ): cmd_ctx.set_user_directory(user_directory) + if restore_to: + cmd_ctx.update_custom_nodes_dir(restore_to) + extras = [] if pip_non_url: extras.append('--pip-non-url') @@ -1060,12 +1119,14 @@ def restore_snapshot( print(f"[bold red]ERROR: `{snapshot_path}` is not exists.[/bold red]") exit(1) + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) try: asyncio.run(core.restore_snapshot(snapshot_path, extras)) except Exception: print("[bold red]ERROR: Failed to restore snapshot.[/bold red]") traceback.print_exc() raise typer.Exit(code=1) + pip_fixer.fix_broken() @app.command( @@ -1089,11 +1150,14 @@ def restore_dependencies( total = len(node_paths) i = 1 + + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) for x in node_paths: print("----------------------------------------------------------------------------------------------------") print(f"Restoring [{i}/{total}]: {x}") unified_manager.execute_install_script('', x, instant_execution=True) i += 1 + pip_fixer.fix_broken() @app.command( @@ -1105,7 +1169,10 @@ def post_install( ) ): path = os.path.expanduser(path) + + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) unified_manager.execute_install_script('', path, instant_execution=True) + pip_fixer.fix_broken() @app.command( @@ -1147,6 +1214,7 @@ def install_deps( print(f"[bold red]Invalid json file: {deps}[/bold red]") exit(1) + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, core.manager_files_path) for k in json_obj['custom_nodes'].keys(): state = core.simple_check_custom_node(k) if state == 'installed': @@ -1155,6 +1223,7 @@ def install_deps( asyncio.run(core.gitclone_install(k, instant_execution=True)) else: # disabled core.gitclone_set_active([k], False) + pip_fixer.fix_broken() print("Dependency installation and activation complete.") @@ -1202,20 +1271,6 @@ def export_custom_node_ids( print(f"{x['id']}@unknown", file=output_file) -@app.command( - "migrate", - help="Migrate legacy node system to new node system", -) -def migrate( - user_directory: str = typer.Option( - None, - help="user directory" - ) -): - cmd_ctx.set_user_directory(user_directory) - asyncio.run(unified_manager.migrate_unmanaged_nodes()) - - if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(app()) diff --git a/custom-node-list.json b/custom-node-list.json old mode 100644 new mode 100755 index 7001969f..2b87b992 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -46,6 +46,18 @@ "install_type": "git-clone", "description": "This extension provides various nodes to support Lora Block Weight and the Impact Pack. Provides many easily applicable regional features and applications for Variation Seed." }, + { + "author": "Dr.Lt.Data", + "title": "ComfyUI Connection Helper", + "id": "connection-helper", + "reference": "https://github.com/ltdrdata/comfyui-connection-helper", + "nodename_pattern": "Inspire$", + "files": [ + "https://github.com/ltdrdata/comfyui-connection-helper" + ], + "install_type": "git-clone", + "description": "This is a helper extension for ComfyUI that assists with node connections." + }, { "author": "comfyanonymous", "title": "ComfyUI_experiments", @@ -430,7 +442,7 @@ "https://github.com/EllangoK/ComfyUI-post-processing-nodes" ], "install_type": "git-clone", - "description": "A collection of post processing nodes for ComfyUI, simply download this repo and drag." + "description": "A collection of post processing nodes for ComfyUI, which enable a variety of visually striking image effects." }, { "author": "LEv145", @@ -591,7 +603,7 @@ { "author": "city96", "title": "ComfyUI-GGUF", - "id": "gguf", + "id": "comfyui-gguf", "reference": "https://github.com/city96/ComfyUI-GGUF", "files": [ "https://github.com/city96/ComfyUI-GGUF" @@ -881,6 +893,16 @@ "install_type": "git-clone", "description": "NODES: Face Swap, Film Interpolation, Latent Lerp, Int To Number, Bounding Box, Crop, Uncrop, ImageBlur, Denoise, ImageCompare, RGV to HSV, HSV to RGB, Color Correct, Modulo, Deglaze Image, Smart Step, ..." }, + { + "author": "melMass", + "title": "comfy-oiio", + "reference": "https://github.com/melMass/comfy_oiio", + "files": [ + "https://github.com/melMass/comfy_oiio" + ], + "install_type": "git-clone", + "description": "OpenImageIO plugin for ComfyUI" + }, { "author": "xXAdonesXx", "title": "NodeGPT", @@ -1434,7 +1456,7 @@ { "author": "asagi4", "title": "ComfyUI NPNet (Golden Noise)", - "id": "comfyui-adaptive-guidance", + "id": "npnet", "reference": "https://github.com/asagi4/ComfyUI-NPNet", "files": [ "https://github.com/asagi4/ComfyUI-NPNet" @@ -1575,17 +1597,6 @@ "install_type": "git-clone", "description": "Nodes related to video workflows" }, - { - "author": "Gourieff", - "title": "ReActor Node for ComfyUI", - "id": "reactor", - "reference": "https://github.com/Gourieff/comfyui-reactor-node", - "files": [ - "https://github.com/Gourieff/comfyui-reactor-node" - ], - "install_type": "git-clone", - "description": "The Fast and Simple 'roop-like' Face Swap Extension Node for ComfyUI, based on ReActor (ex Roop-GE) SD-WebUI Face Swap Extension" - }, { "author": "Gourieff", "title": "ComfyUI-FutureWarningIgnore", @@ -1597,6 +1608,16 @@ "install_type": "copy", "description": "This extension collapses 'future warning' messages in your Console" }, + { + "author": "Gourieff", + "title": "comfyui-reactor-node", + "reference": "https://github.com/Gourieff/ComfyUI-ReActor", + "files": [ + "https://github.com/Gourieff/ComfyUI-ReActor" + ], + "install_type": "git-clone", + "description": "The Fast and Simple Face Swap Extension Node for ComfyUI, based on ReActor SD-WebUI Face Swap Extension" + }, { "author": "imb101", "title": "FaceSwap", @@ -1814,7 +1835,7 @@ "https://github.com/m-sokes/ComfyUI-Sokes-Nodes" ], "install_type": "git-clone", - "description": "Nodes: Empty Latent Randomizer (9 Inputs)" + "description": "Nodes: Current Date, Latent Switch x9, Replace Text with RegEx, Load Random Image" }, { "author": "Extraltodeus", @@ -1920,11 +1941,21 @@ "id": "distancesampler", "reference": "https://github.com/Extraltodeus/DistanceSampler", "files": [ - "https://github.com/Extraltodeus/Skimmed_CFG" + "https://github.com/Extraltodeus/DistanceSampler" ], "install_type": "git-clone", "description": "Heuristic modification of the Heun sampler using a custom function based on normalized distances. For ComfyUI." }, + { + "author": "Extraltodeus", + "title": "Negative-attention-for-ComfyUI-", + "reference": "https://github.com/Extraltodeus/Negative-attention-for-ComfyUI-", + "files": [ + "https://github.com/Extraltodeus/Negative-attention-for-ComfyUI-" + ], + "install_type": "git-clone", + "description": "Takes the difference in between the positive and negative conditioning at the attention.\nNOTE: Will not work with Flux" + }, { "author": "JPS", "title": "JPS Custom Nodes for ComfyUI", @@ -2517,17 +2548,6 @@ "install_type": "git-clone", "description": "Manage models: browsing, download and delete." }, - { - "author": "hayden-fr", - "title": "ComfyUI-Image-Browsing", - "id": "image-browsing", - "reference": "https://github.com/hayden-fr/ComfyUI-Image-Browsing", - "files": [ - "https://github.com/hayden-fr/ComfyUI-Image-Browsing" - ], - "install_type": "git-clone", - "description": "Image Browsing: browsing, download and delete." - }, { "author": "ali1234", "title": "comfyui-job-iterator", @@ -2659,6 +2679,16 @@ "install_type": "git-clone", "description": "Based on [a/https://github.com/apple/ml-depth-pro](https://github.com/apple/ml-depth-pro)" }, + { + "author": "spacepxl", + "title": "ComfyUI-LossTesting", + "reference": "https://github.com/spacepxl/ComfyUI-LossTesting", + "files": [ + "https://github.com/spacepxl/ComfyUI-LossTesting" + ], + "install_type": "git-clone", + "description": "Basic utility for testing diffusion model loss across the timestep schedule. Should work with any native models that use ksampler. This could be used for comparing models, testing captions on an image, etc." + }, { "author": "PTA", "title": "auto nodes layout", @@ -3210,6 +3240,26 @@ "install_type": "git-clone", "description": "ComfyUI diffusers wrapper nodes for [a/HunyuanVideo](https://github.com/Tencent/HunyuanVideo)" }, + { + "author": "kijai", + "title": "ComfyUI-StableXWrapper", + "reference": "https://github.com/kijai/ComfyUI-StableXWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-StableXWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper for [a/StableX normal](https://github.com/Stable-X/StableNormal)/[a/delight](https://github.com/Stable-X/StableDelight) models" + }, + { + "author": "kijai", + "title": "ComfyUI-HFRemoteVae", + "reference": "https://github.com/kijai/ComfyUI-HFRemoteVae", + "files": [ + "https://github.com/kijai/ComfyUI-HFRemoteVae" + ], + "install_type": "git-clone", + "description": "This node allows using Hugginface remote server for latent decoding. Currently supported models: SD, SDXL, Flux, HunyuanVideo" + }, { "author": "hhhzzyang", "title": "Comfyui-Lama", @@ -3515,6 +3565,26 @@ "install_type": "git-clone", "description": "ComfyUI custom node of OmniGen project." }, + { + "author": "chflame163", + "title": "ComfyUI_Janus_Wrapper", + "reference": "https://github.com/chflame163/ComfyUI_Janus_Wrapper", + "files": [ + "https://github.com/chflame163/ComfyUI_Janus_Wrapper" + ], + "install_type": "git-clone", + "description": "Unofficial implementation of [a/deepseek-ai/Janus](https://github.com/deepseek-ai/Janus) in ComfyUI." + }, + { + "author": "chflame163", + "title": "ComfyUI_CogView4_Wrapper", + "reference": "https://github.com/chflame163/ComfyUI_CogView4_Wrapper", + "files": [ + "https://github.com/chflame163/ComfyUI_CogView4_Wrapper" + ], + "install_type": "git-clone", + "description": "The unofficial implementation of CogView4 project in ComfyUI." + }, { "author": "drustan-hawk", "title": "primitive-types", @@ -3623,6 +3693,18 @@ "nodename_pattern": "- Ostris$", "description": "This is a collection of custom nodes for ComfyUI that I made for some QOL. I will be adding much more advanced ones in the future once I get more familiar with the API." }, + { + "author": "ostris", + "title": "Flex.1 tools", + "id": "ostris", + "reference": "https://github.com/ostris/ComfyUI-FlexTools", + "files": [ + "https://github.com/ostris/ComfyUI-FlexTools" + ], + "install_type": "git-clone", + "nodename_pattern": "- Ostris$", + "description": "Some tools to help with [a/Flex.1-alpha](https://huggingface.co/ostris/Flex.1-alpha) inference on Comfy UI." + }, { "author": "0xbitches", "title": "Latent Consistency Model for ComfyUI", @@ -3698,17 +3780,6 @@ "install_type": "git-clone", "description": "Nodes: Noxin Complete Chime, Noxin Scaled Resolutions, Load from Noxin Prompt Library, Save to Noxin Prompt Library" }, - { - "author": "apesplat", - "title": "ezXY scripts and nodes", - "id": "ezxy", - "reference": "https://github.com/GMapeSplat/ComfyUI_ezXY", - "files": [ - "https://github.com/GMapeSplat/ComfyUI_ezXY" - ], - "install_type": "git-clone", - "description": "Extensions/Patches: Enables linking float and integer inputs and ouputs. Values are automatically cast to the correct type and clamped to the correct range. Works with both builtin and custom nodes.[w/NOTE: This repo patches ComfyUI's validate_inputs and map_node_over_list functions while running. May break depending on your version of ComfyUI. Can be deactivated in config.yaml.]Nodes: A collection of nodes for facilitating the generation of XY plots. Capable of plotting changes over most primitive values.[w/Does not work with current version of Comfyui]" - }, { "author": "kinfolk0117", "title": "SimpleTiles", @@ -3983,15 +4054,14 @@ }, { "author": "amorano", - "title": "Jovimetrix Composition Nodes", + "title": "Jovimetrix", "id": "jovimetrix", "reference": "https://github.com/Amorano/Jovimetrix", "files": [ "https://github.com/Amorano/Jovimetrix" ], - "nodename_pattern": " \\(JOV\\)$", "install_type": "git-clone", - "description": "Webcam, MIDI, Spout and GLSL shader support. Animation via tick. Parameter manipulation with wave generator. Math operations, universal value converstion, shape mask generation, image channel ops, batch splitting/merging/randomizing, load image/video from URL, Dynamic bus routing, support for GIPHY, save output anywhere! flatten, crop, transform; check color blindness, make stereograms or stereoscopic images, and much more." + "description": "Webcam, MIDI, Spout, and GLSL support with animation via tick. Features wave-based parameter modulation, math operations, universal value conversion, shape masking, image channel ops, batch processing, dynamic bus routing, GIPHY and SPOUT integration. Load images/videos from URLs, save output anywhere, and apply transformations like flattening, cropping, and color adjustments. Includes tools for color blindness simulation, stereograms, and stereoscopic imaging—plus much more!" }, { "author": "amorano", @@ -4015,6 +4085,50 @@ "install_type": "git-clone", "description": "ComfyUI Nodes for using Spout streams." }, + { + "author": "amorano", + "title": "Jovi_Measure", + "id": "jovi_measure", + "reference": "https://github.com/Amorano/Jovi_Measure", + "files": [ + "https://github.com/Amorano/Jovi_Measure" + ], + "install_type": "git-clone", + "description": "Image metrics nodes for ComfyUI" + }, + { + "author": "amorano", + "title": "Jovi_MIDI", + "id": "jovi_midi", + "reference": "https://github.com/Amorano/Jovi_MIDI", + "files": [ + "https://github.com/Amorano/Jovi_MIDI" + ], + "install_type": "git-clone", + "description": "Read and Process data from MIDI devices inside of ComfyUI." + }, + { + "author": "amorano", + "title": "Jovi_Capture", + "id": "jovi_capture", + "reference": "https://github.com/Amorano/Jovi_Capture", + "files": [ + "https://github.com/Amorano/Jovi_Capture" + ], + "install_type": "git-clone", + "description": "Capture Webcamera and URL media streams as ComfyUI images." + }, + { + "author": "amorano", + "title": "Jovi_Colorizer", + "id": "jovijovi_colorizer_capture", + "reference": "https://github.com/Amorano/Jovi_Colorizer", + "files": [ + "https://github.com/Amorano/Jovi_Colorizer" + ], + "install_type": "git-clone", + "description": "Colorize ComfyUI nodes with defaults per node, node category or via regex filtering." + }, { "author": "Umikaze-job", "title": "select_folder_path_easy", @@ -4196,16 +4310,6 @@ "install_type": "git-clone", "description": " If you want to draw two different characters together without blending their features, so you could try to check out this custom node." }, - { - "author": "42lux", - "title": "ComfyUI-safety-checker", - "reference": "https://github.com/42lux/ComfyUI-safety-checker", - "files": [ - "https://github.com/42lux/ComfyUI-safety-checker" - ], - "install_type": "git-clone", - "description": "A NSFW/Safety Checker Node for ComfyUI." - }, { "author": "42lux", "title": "Just a bunch of QOL nodes by 42lux", @@ -4456,6 +4560,16 @@ "install_type": "git-clone", "description": "Unofficial implementation of [a/UltraEdit](https://github.com/HaozheZhao/UltraEdit) (Diffusers) for ComfyUI" }, + { + "author": "ZHO-ZHO-ZHO", + "title": "ComfyUI-DeepSeek-JanusPro", + "reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DeepSeek-JanusPro", + "files": [ + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DeepSeek-JanusPro" + ], + "install_type": "git-clone", + "description": "ComfyUI-DeepSeek-JanusPro" + }, { "author": "kenjiqq", "title": "qq-nodes-comfyui", @@ -4613,7 +4727,7 @@ "https://github.com/Scholar01/ComfyUI-Keyframe" ], "install_type": "git-clone", - "description": "Nodes:Keyframe Part, Keyframe Interpolation Part, Keyframe Apply." + "description": "set denoise strength for keyframe" }, { "author": "Haoming02", @@ -5024,7 +5138,7 @@ "https://github.com/glibsonoran/Plush-for-ComfyUI" ], "install_type": "git-clone", - "description": "Nodes: Style Prompt, OAI Dall_e Image. Plush contains two OpenAI enabled nodes: Style Prompt: Takes your prompt and the art style you specify and generates a prompt from ChatGPT3 or 4 that Stable Diffusion can use to generate an image in that style. OAI Dall_e 3: Takes your prompt and parameters and produces a Dall_e3 image in ComfyUI." + "description": "A suite of nodes that includes: - Prompt enhancers/generators that employ remote AI services and local front-ends like: ChatGPT, Anthropic Claude, Groq, Gemini, LM Studio, Oobabooga, OpenRouter etc. - An Image Generator that uses Dall_e 3. - An image metadata extractor that extracts seed, prompt, cfg, size, denoise, etc from existing AI generated images and photo metadata (from exif data) from jpeg photographs. A tagger that appends text (tags) to the beginning, end and/or middle of a text block. Image and text multiplexer utilility. A text block remover that removes text between two named tags." }, { "author": "vienteck", @@ -5045,7 +5159,7 @@ "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes" ], "install_type": "git-clone", - "description": "Added new models to Groq LLM. Added a new node: Tiktoken Tokenizer Info." + "description": "Added Lora Loader - Tag node, originally by badjeff" }, { "author": "AI2lab", @@ -5299,6 +5413,17 @@ "install_type": "git-clone", "description": "ComfyUI adaptation of https://github.com/G-U-N/Motion-I2V" }, + { + "author": "IDGallagher", + "title": "IG-Motion-Search", + "id": "motion-video-search", + "reference": "https://github.com/IDGallagher/MotionVideoSearch", + "files": [ + "https://github.com/IDGallagher/MotionVideoSearch" + ], + "install_type": "git-clone", + "description": "Nodes for searching videos by motion" + }, { "author": "violet-chen", "title": "comfyui-psd2png", @@ -5343,6 +5468,47 @@ "install_type": "git-clone", "description": "Hair transfer" }, + { + "author": "lldacing", + "title": "ComfyUI_PuLID_Flux_ll", + "id": "comfyui_pulid_flux_ll", + "reference": "https://github.com/lldacing/ComfyUI_PuLID_Flux_ll", + "files": [ + "https://github.com/lldacing/ComfyUI_PuLID_Flux_ll" + ], + "install_type": "git-clone", + "description": "The implementation for PuLID-Flux, support TeaCache, no model pollution." + }, + { + "author": "lldacing", + "title": "ComfyUI_BiRefNet_ll", + "reference": "https://github.com/lldacing/ComfyUI_BiRefNet_ll", + "files": [ + "https://github.com/lldacing/ComfyUI_BiRefNet_ll" + ], + "install_type": "git-clone", + "description": "Sync with version of BiRefNet. NODES:AutoDownloadBiRefNetModel, LoadRembgByBiRefNetModel, RembgByBiRefNet." + }, + { + "author": "lldacing", + "title": "ComfyUI_Patches_ll", + "reference": "https://github.com/lldacing/ComfyUI_Patches_ll", + "files": [ + "https://github.com/lldacing/ComfyUI_Patches_ll" + ], + "install_type": "git-clone", + "description": "Some patches for Flux|HunYuanVideo|LTXVideo etc, support TeaCache, PuLID, First Block Cache." + }, + { + "author": "lldacing", + "title": "ComfyUI_BEN_ll", + "reference": "https://github.com/lldacing/ComfyUI_BEN_ll", + "files": [ + "https://github.com/lldacing/ComfyUI_BEN_ll" + ], + "install_type": "git-clone", + "description": "Background removal based on BEN. NODES:LoadRembgByBenModel, RembgByBen, GetMaskByBen, RembgByBenAdvanced, BlurFusionForegroundEstimation." + }, { "author": "CosmicLaca", "title": "Primere nodes for ComfyUI", @@ -6321,6 +6487,26 @@ "install_type": "git-clone", "description": "Make it possible to edit the prompt using the Monaco Editor, an editor implementation used in VSCode.\nNOTE: This extension supports both ComfyUI and A1111 simultaneously." }, + { + "author": "Taremin", + "title": "comfyui-keep-multiple-tabs", + "reference": "https://github.com/Taremin/comfyui-keep-multiple-tabs", + "files": [ + "https://github.com/Taremin/comfyui-keep-multiple-tabs" + ], + "install_type": "git-clone", + "description": "This is an extension for ComfyUI. It retains multiple workflow tabs so that they are not lost when reloading or restarting." + }, + { + "author": "Taremin", + "title": "comfyui-prompt-config", + "reference": "https://github.com/Taremin/comfyui-prompt-config", + "files": [ + "https://github.com/Taremin/comfyui-prompt-config" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI.\nThe PromptGenerationConfig node allows users to configure settings such as image dimensions, step count, and CFGScale through prompts during image generation.\nThe PromptEdit node enables users to add text from the prompt to the negative prompt (or vice versa) and replace parts of the prompt using regular expressions." + }, { "author": "foxtrot-roger", "title": "RF Nodes", @@ -6402,6 +6588,16 @@ "install_type": "git-clone", "description": "Add nodes that generates danbooru tags by [a/Dart(Danbooru Tags Transformer)](https://huggingface.co/p1atdev/dart-v1-sft)." }, + { + "author": "nkchocoai", + "title": "ComfyUI-DanbooruPromptQuiz", + "reference": "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz", + "files": [ + "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz" + ], + "install_type": "git-clone", + "description": "This node is for playing the game of guessing prompts by looking at images generated from prompts output by TIPO, Tagger, etc.." + }, { "author": "JaredTherriault", "title": "ComfyUI-JNodes", @@ -6795,6 +6991,36 @@ "install_type": "git-clone", "description": "This project provides a TensorRT implementation of [a/RIFE](https://github.com/hzwer/ECCV2022-RIFE) for ultra fast frame interpolation inside ComfyUI" }, + { + "author": "yuvraj108c", + "title": "ComfyUI Video Depth Anything", + "reference": "https://github.com/yuvraj108c/ComfyUI-Video-Depth-Anything", + "files": [ + "https://github.com/yuvraj108c/ComfyUI-Video-Depth-Anything" + ], + "install_type": "git-clone", + "description": "This project is an unofficial ComfyUI implementation of [a/Video Depth Anything](https://github.com/DepthAnything/Video-Depth-Anything), for depth estimation on long videos without compromising quality, consistency, or generalization ability." + }, + { + "author": "yuvraj108c", + "title": "ComfyUI InvSR", + "reference": "https://github.com/yuvraj108c/ComfyUI_InvSR", + "files": [ + "https://github.com/yuvraj108c/ComfyUI_InvSR" + ], + "install_type": "git-clone", + "description": "This project is an unofficial ComfyUI implementation of [a/InvSR](https://github.com/zsyOAOA/InvSR) (Arbitrary-steps Image Super-resolution via Diffusion Inversion)" + }, + { + "author": "yuvraj108c", + "title": "ComfyUI Thera", + "reference": "https://github.com/yuvraj108c/ComfyUI-Thera", + "files": [ + "https://github.com/yuvraj108c/ComfyUI-Thera" + ], + "install_type": "git-clone", + "description": "This project is an unofficial ComfyUI implementation of [a/Thera](https://github.com/prs-eth/thera) (Aliasing-Free Arbitrary-Scale Super-Resolution with Neural Heat Fields)" + }, { "author": "blepping", "title": "ComfyUI-bleh", @@ -6849,6 +7075,16 @@ "install_type": "git-clone", "description": "Experimental and mathematically unsound (but fun!) sampling for ComfyUI.\nFeel free create a question in Discussions for usage help: OCS Q&A Discussion[w/Status: In flux, may be useful but likely to change/break workflows frequently. Mainly for advanced users.]" }, + { + "author": "blepping", + "title": "ComfyUI-ApplyResAdapterUnet", + "reference": "https://github.com/blepping/ComfyUI-ApplyResAdapterUnet", + "files": [ + "https://github.com/blepping/ComfyUI-ApplyResAdapterUnet" + ], + "install_type": "git-clone", + "description": "ComfyUI node to apply the ResAdapter Unet patch for SD1.5 models" + }, { "author": "JerryOrbachJr", "title": "Random Size", @@ -6968,16 +7204,6 @@ "install_type": "git-clone", "description": "Original project: [a/link](https://github.com/tencent-ailab/PCDMs)\nBased on testing, the author's original images work very well, but using my own images generally requires some luck!" }, - { - "author": "StartHua", - "title": "Comfyui_CXH_joy_caption", - "reference": "https://github.com/StartHua/Comfyui_CXH_joy_caption", - "files": [ - "https://github.com/StartHua/Comfyui_CXH_joy_caption" - ], - "install_type": "git-clone", - "description": "Nodes:Joy_caption_load, Joy_caption" - }, { "author": "StartHua", "title": "Comfyui_CXH_Phi_3.5", @@ -7031,14 +7257,25 @@ }, { "author": "nosiu", - "title": "ComfyUI InstantID Faceswapper", - "id": "instantid-faceswapper", + "title": "comfyui-instantId-faceswap", + "id": "comfyui-instantid-faceswap", "reference": "https://github.com/nosiu/comfyui-instantId-faceswap", "files": [ "https://github.com/nosiu/comfyui-instantId-faceswap" ], "install_type": "git-clone", - "description": "Implementation of [a/faceswap](https://github.com/nosiu/InstantID-faceswap/tree/main) based on [a/InstantID](https://github.com/InstantID/InstantID) for ComfyUI. Allows usage of [a/LCM Lora](https://huggingface.co/latent-consistency/lcm-lora-sdxl) which can produce good results in only a few generation steps.\nNOTE:Works ONLY with SDXL checkpoints." + "description": "Implementation of [a/faceswap](https://github.com/nosiu/InstantID-faceswap/tree/main) based on [a/InstantID](https://github.com/InstantID/InstantID) for ComfyUI." + }, + { + "author": "nosiu", + "title": "comfyui-text-randomizer", + "id": "comfyui-text-randomizer", + "reference": "https://github.com/nosiu/comfyui-text-randomizer", + "files": [ + "https://github.com/nosiu/comfyui-text-randomizer" + ], + "install_type": "git-clone", + "description": "A simple text randomizer for ComfyUI that can generate random and surprising results" }, { "author": "LyazS", @@ -7123,13 +7360,13 @@ }, { "author": "dfl", - "title": "CLIP with BREAK syntax", + "title": "comfyui-clip-with-break", "reference": "https://github.com/dfl/comfyui-clip-with-break", "files": [ "https://github.com/dfl/comfyui-clip-with-break" ], "install_type": "git-clone", - "description": "Clip text encoder with BREAK formatting like A1111 (uses conditioning concat)" + "description": "CLIP text encoder with BREAK formatting like A1111 (uses chained ComfyUI conditioning concat)." }, { "author": "dfl", @@ -7182,7 +7419,7 @@ "https://github.com/kadirnar/ComfyUI-YOLO" ], "install_type": "git-clone", - "description": "Ultralytics-Powered Object Recognition for ComfyUI" + "description": "Nodes:Load Ultralytics Model, Ultralytics Inference, Ultralytics Visualization, Convert to Dictionary, BBox to XYWH" }, { "author": "digitaljohn", @@ -7438,6 +7675,66 @@ "install_type": "git-clone", "description": "A ComfyUI custom node implementation for optimized video generation and motion effects, designed to work with Hunyuan text-to-video models." }, + { + "author": "ShmuelRonen", + "title": "ComfyUI DeepSeek_R1 Chat Node", + "reference": "https://github.com/ShmuelRonen/ComfyUI-DeepSeek_R1-Chat", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-DeepSeek_R1-Chat" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates DeepSeek's powerful chat and instruction API, enabling seamless AI interactions within your ComfyUI workflows." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI Janus Pro Vision", + "reference": "https://github.com/ShmuelRonen/ComfyUI-Janus_pro_vision", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-Janus_pro_vision" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node extension that integrates the Janus-Pro-7B vision-language model from DeepSeek AI on your's local computer, enabling powerful image understanding and multi-turn conversation capabilities." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-JoyHallo_wrapper", + "reference": "https://github.com/ShmuelRonen/ComfyUI-JoyHallo_wrapper", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-JoyHallo_wrapper" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node wrapper for JoyHallo - One-Shot Audio-Driven Talking Head Generation." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-FreeVC_wrapper", + "reference": "https://github.com/ShmuelRonen/ComfyUI-FreeVC_wrapper", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-FreeVC_wrapper" + ], + "install_type": "git-clone", + "description": "A voice conversion extension node for ComfyUI based on [a/FreeVC](https://github.com/OlaWod/FreeVC), enabling high-quality voice conversion capabilities within the ComfyUI framework." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-WanVideoKsampler", + "reference": "https://github.com/ShmuelRonen/ComfyUI-WanVideoKsampler", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-WanVideoKsampler" + ], + "install_type": "git-clone", + "description": "An advanced custom node for ComfyUI that provides optimized access to Wan2.1, a state-of-the-art video foundation model suite. The WanVideoKsampler node features intelligent memory management to enable higher resolution outputs and longer video sequences, even on consumer-grade hardware." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-PixArt_XL", + "reference": "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that integrates PixArt-Alpha models directly into ComfyUI with advanced memory management." + }, { "author": "redhottensors", "title": "ComfyUI-Prediction", @@ -7542,7 +7839,37 @@ "https://github.com/1038lab/ComfyUI-WildPromptor" ], "install_type": "git-clone", - "description": "Create dynamic prompts with wildcard list." + "description": "WildPromptor simplifies prompt creation, organization, and customization in ComfyUI, turning chaotic workflows into an efficient, intuitive process." + }, + { + "author": "1038lab", + "title": "ComfyUI-EdgeTTS", + "reference": "https://github.com/1038lab/ComfyUI-EdgeTTS", + "files": [ + "https://github.com/1038lab/ComfyUI-EdgeTTS" + ], + "install_type": "git-clone", + "description": "ComfyUI-EdgeTTS is a powerful text-to-speech node for ComfyUI, leveraging Microsoft's Edge TTS capabilities. It enables seamless conversion of text into natural-sounding speech, supporting multiple languages and voices. Ideal for enhancing user interactions, this node is easy to integrate and customize, making it perfect for various applications." + }, + { + "author": "1038lab", + "title": "ComfyUI-Pollinations", + "reference": "https://github.com/1038lab/ComfyUI-Pollinations", + "files": [ + "https://github.com/1038lab/ComfyUI-Pollinations" + ], + "install_type": "git-clone", + "description": "ComfyUI integration for Pollinations API - Generate images and text based on user prompts" + }, + { + "author": "1038lab", + "title": "Comfyui-Spark-TTS", + "reference": "https://github.com/1038lab/ComfyUI-SparkTTS", + "files": [ + "https://github.com/1038lab/ComfyUI-SparkTTS" + ], + "install_type": "git-clone", + "description": "ComfyUI-SparkTTS is a custom ComfyUI node implementation of SparkTTS, an advanced text-to-speech system that harnesses the power of large language models (LLMs) to generate highly accurate and natural-sounding speech." }, { "author": "Klinter", @@ -7757,16 +8084,6 @@ "install_type": "git-clone", "description": "ComfyUI nodes to edit videos using Genmo Mochi" }, - { - "author": "logtd", - "title": "ComfyUI-LTXTricks", - "reference": "https://github.com/logtd/ComfyUI-LTXTricks", - "files": [ - "https://github.com/logtd/ComfyUI-LTXTricks" - ], - "install_type": "git-clone", - "description": "A set of nodes that provide additional controls for the LTX Video model" - }, { "author": "Big-Idea-Technology", "title": "ComfyUI-Book-Tools Nodes for ComfyUI", @@ -8013,7 +8330,7 @@ "https://github.com/huchenlei/ComfyUI-layerdiffuse" ], "install_type": "git-clone", - "description": "ComfyUI implementation of [a/LayerDiffusion](https://github.com/layerdiffusion/LayerDiffusion)." + "description": "Transparent Image Layer Diffusion using Latent Transparency" }, { "author": "huchenlei", @@ -8317,17 +8634,6 @@ "install_type": "git-clone", "description": "This node improves the quality of the image mask. more suitable for image composite matting" }, - { - "author": "Pos13", - "title": "Cyclist", - "id": "cyclist", - "reference": "https://github.com/Pos13/comfyui-cyclist", - "files": [ - "https://github.com/Pos13/comfyui-cyclist" - ], - "install_type": "git-clone", - "description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles." - }, { "author": "ExponentialML", "title": "ComfyUI_ModelScopeT2V", @@ -8382,6 +8688,16 @@ "install_type": "git-clone", "description": "Custom ComfyUI Nodes for interacting with [a/Ollama](https://ollama.com/) using the [a/ollama python client](https://github.com/ollama/ollama-python).\nIntegrate the power of LLMs into CompfyUI workflows easily." }, + { + "author": "stavsap", + "title": "comfyui-kokoro", + "reference": "https://github.com/stavsap/comfyui-kokoro", + "files": [ + "https://github.com/stavsap/comfyui-kokoro" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI Nodes for TTS with Kokoro, genenrate and merge speakers for new style generations." + }, { "author": "dchatel", "title": "comfyui_davcha", @@ -8491,9 +8807,9 @@ "description": "You can use memeplex and DALL-E thru ComfyUI. You need API keys." }, { - "author": "if-ai", - "title": "ComfyUI-IF_AI_tools", - "id": "if-ai-tools", + "author": "impactframes", + "title": "IF_AI_tools", + "id": "impactframes-tools", "reference": "https://github.com/if-ai/ComfyUI-IF_AI_tools", "files": [ "https://github.com/if-ai/ComfyUI-IF_AI_tools" @@ -8502,9 +8818,9 @@ "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": "if-ai", - "title": "ComfyUI-IF_AI_WishperSpeechNode", - "id": "if-ai-whisper-speech", + "author": "impactframes", + "title": "IF_AI_WishperSpeechNode", + "id": "impactframes-whisper-speech", "reference": "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode", "files": [ "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode" @@ -8513,9 +8829,9 @@ "description": "This repository hosts a Text-to-Speech (TTS) application that leverages Whisper Speech for voice synthesis, allowing users to train a voice model on-the-fly. It is built on ComfyUI and supports rapid training and inference processes." }, { - "author": "if-ai", - "title": "ComfyUI-IF_AI_HFDownloaderNode", - "id": "if-ai-hfdownloader", + "author": "impactframes", + "title": "IF_AI_HFDownloaderNode", + "id": "impactframes-hfdownloader", "reference": "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode", "files": [ "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode" @@ -8524,24 +8840,103 @@ "description": "Talking avatars Heads for the IF_AI tools integrates dreamtalk in ComfyUI" }, { - "author": "if-ai", - "title": "ComfyUI-IF_MemoAvatar", + "author": "impactframes", + "title": "IF_MemoAvatar", + "id": "impactframes-memoavatar", "reference": "https://github.com/if-ai/ComfyUI-IF_MemoAvatar", "files": [ "https://github.com/if-ai/ComfyUI-IF_MemoAvatar" ], "install_type": "git-clone", - "description": "ComfyUI MemoAvatar is a talking head avatar generator using Memory-Guided Diffusion for Expressive Talking Video Generation" + "description": "Talking avatars MemoAvatar Memory-Guided Diffusion for Expressive Talking Video Generation" }, { - "author": "if-ai", - "title": "ComfyUI-IF_Trellis", + "author": "impactframes", + "title": "IF_Trellis", + "id": "impactframes-trellis", "reference": "https://github.com/if-ai/ComfyUI-IF_Trellis", "files": [ "https://github.com/if-ai/ComfyUI-IF_Trellis" ], "install_type": "git-clone", - "description": "ComfyUI TRELLIS is a large 3D asset generation in various formats, such as Radiance Fields, 3D Gaussians, and meshes. The cornerstone of TRELLIS is a unified Structured LATent (SLAT) representation that allows decoding to different output formats and Rectified Flow Transformers tailored for SLAT as the powerful backbones." + "description": "ComfyUI IF Trellis creates a 3d mesh from a single view or multi angle pictures" + }, + { + "author": "impactframes", + "title": "IF_DatasetMkr", + "id": "impactframes-datasetmkr", + "reference": "https://github.com/if-ai/ComfyUI-IF_DatasetMkr", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_DatasetMkr" + ], + "install_type": "git-clone", + "description": "Create Video datasets straight from YT or a video file path" + }, + { + "author": "impactframes", + "title": "IF_ParlerTTSNode", + "id": "impactframes-parlertts", + "reference": "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode" + ], + "install_type": "git-clone", + "description": "Parler TTS is a zeroshot voice synthesis with emotion and entonations, you can control the voice style via text prompt" + }, + { + "author": "impactframes", + "title": "IF_Dreamtalk", + "id": "impactframes-dreamtalk", + "reference": "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk" + ], + "install_type": "git-clone", + "description": "Talking avatars Heads for the IF_AI tools integrates dreamtalk in ComfyUI" + }, + { + "author": "impactframes", + "title": "IF_VideoPrompts", + "id": "impactframes-videoprompts", + "reference": "https://github.com/if-ai/ComfyUI-IF_VideoPrompts", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_VideoPrompts" + ], + "install_type": "git-clone", + "description": "ComfyUI extension for video-based prompting and processing with support for various models and video processing capabilities" + }, + { + "author": "impactframes", + "title": "IF_LLM", + "id": "impactframes-llm", + "reference": "https://github.com/if-ai/ComfyUI-IF_LLM", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_LLM" + ], + "install_type": "git-clone", + "description": "Run Local and API LLMs, Features Conditioning manipulation via Omost, supports Ollama, LlamaCPP LMstudio, Koboldcpp, TextGen, Transformers or via APIs Anthropic, Groq, OpenAI, Google Gemini, Mistral, xAI and create your own charcters assistants (SystemPrompts) with custom presets and muchmore" + }, + { + "author": "impactframes", + "title": "IF_AI_LoadImages", + "id": "impactframes-loadimages", + "reference": "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages", + "files": [ + "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages" + ], + "install_type": "git-clone", + "description": "It Load Images with subfolders form arbitrary folders previous on node outputs lists- convinient selection via file browser" + }, + { + "author": "impactframes", + "title": "IF_Gemini", + "id": "impactframes-gemini", + "reference": "https://github.com/if-ai/ComfyUI-IF_Gemini", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_Gemini" + ], + "install_type": "git-clone", + "description": "Enjoy the latest GEMINI V2 API for ComfyUI - generate images, analyze content, and use multimodal capabilities with Google's Gemini models" }, { "author": "dmMaze", @@ -8563,7 +8958,7 @@ "https://github.com/olduvai-jp/ComfyUI-HfLoader" ], "install_type": "git-clone", - "description": "Nodes:Lora Loader From HF" + "description": "A simple and easy to use Hugging Face model loader." }, { "author": "AiMiDi", @@ -8887,16 +9282,6 @@ "install_type": "git-clone", "description": "Unofficial implementation of [a/LatentSync](https://github.com/bytedance/LatentSync) for ComfyUI" }, - { - "author": "shinich39", - "title": "comfyui-load-image-in-seq", - "reference": "https://github.com/shinich39/comfyui-load-image-in-seq", - "files": [ - "https://github.com/shinich39/comfyui-load-image-in-seq" - ], - "install_type": "git-clone", - "description": "This node is load png image sequentially with metadata. Only supported for PNG format that has been created by ComfyUI.[w/renamed from comfyui-load-image-39. You need to remove previous one and reinstall to this.]" - }, { "author": "shinich39", "title": "comfyui-random-node", @@ -8988,16 +9373,6 @@ "install_type": "git-clone", "description": "Extract metadata from image." }, - { - "author": "shinich39", - "title": "comfyui-view-recommendations", - "reference": "https://github.com/shinich39/comfyui-view-recommendations", - "files": [ - "https://github.com/shinich39/comfyui-view-recommendations" - ], - "install_type": "git-clone", - "description": "Load model generation data from civitai." - }, { "author": "wei30172", "title": "comfygen", @@ -9028,6 +9403,16 @@ "install_type": "git-clone", "description": "A ComfyUI node that utilizes Moviepy to convert and send your images or videos to a webhook endpoint directly from ComfyUI." }, + { + "author": "KytraScript", + "title": "ComfyUI_MatAnyone_Kytra", + "reference": "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra", + "files": [ + "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra" + ], + "install_type": "git-clone", + "description": "Kytra's MatAnyone (Video Matting) implementation for ComfyUI - Based on pq-yang/MatAnyone" + }, { "author": "1mckw", "title": "Comfyui-Gelbooru", @@ -9036,7 +9421,7 @@ "https://github.com/1mckw/Comfyui-Gelbooru" ], "install_type": "git-clone", - "description": "Get random images from gelbooru, support multiple tag searches, exclude tags, etc. user and api key are optional." + "description": "Get random images from gelbooru or rule34." }, { "author": "NeuralSamurAI", @@ -9249,7 +9634,7 @@ "https://github.com/DrMWeigand/ComfyUI-StereoVision" ], "install_type": "git-clone", - "description": "The StereoVision plugin for ComfyUI enables the creation of stereoscopic and autostereoscopic images and videos using depth maps. It supports both traditional stereoscopic image generation and autostereogram (Magic Eye) creation." + "description": "A ComfyUI node for producing stereoscopic and autostereogram (magic eye) images and videos." }, { "author": "bobmagicii", @@ -9897,6 +10282,16 @@ "install_type": "git-clone", "description": "a custom node for [a/echomimic_v2](https://github.com/antgroup/echomimic_v2)" }, + { + "author": "AIFSH", + "title": "SemiChat-ComfyUI", + "reference": "https://github.com/AIFSH/SemiChat-ComfyUI", + "files": [ + "https://github.com/AIFSH/SemiChat-ComfyUI" + ], + "install_type": "git-clone", + "description": "A ComfyUI chat node based on SemiUI." + }, { "author": "Koishi-Star", "title": "Euler-Smea-Dyn-Sampler", @@ -9961,7 +10356,7 @@ "https://github.com/smthemex/ComfyUI_Stable_Makeup" ], "install_type": "git-clone", - "description": "You can apply makeup to the characters in comfyui\nStable_Makeup From: [a/Stable_Makeup](https://github.com/Xiaojiu-z/Stable-Makeup)" + "description": "you can using stable makeup when use comfyUI" }, { "author": "smthemex", @@ -9983,7 +10378,7 @@ "https://github.com/smthemex/ComfyUI_EchoMimic" ], "install_type": "git-clone", - "description": "You can using [a/EchoMimic](https://github.com/BadToBest/EchoMimic/tree/main) in comfyui,whitch Lifelike Audio-Driven Portrait Animations through Editable Landmark Conditioning " + "description": "You can using EchoMimic in comfyui,please using pip install install miss module" }, { "author": "smthemex", @@ -10180,7 +10575,7 @@ "https://github.com/smthemex/ComfyUI_Sapiens" ], "install_type": "git-clone", - "description": "You can call Using Sapiens to get seg,normal,pose,depth,mask maps. Sapiens From: [a/facebookresearch/sapiens](https://github.com/facebookresearch/sapiens)" + "description": "You can call Using Sapiens to get seg,normal,pose,depth,mask." }, { "author": "smthemex", @@ -10252,6 +10647,96 @@ "install_type": "git-clone", "description": "You can use TRELLIS in comfyUI\n[a/TRELLIS](https://github.com/microsoft/TRELLIS/tree/main), Structured 3D Latents for Scalable and Versatile 3D Generation" }, + { + "author": "smthemex", + "title": "ComfyUI_SVFR", + "reference": "https://github.com/smthemex/ComfyUI_SVFR", + "files": [ + "https://github.com/smthemex/ComfyUI_SVFR" + ], + "install_type": "git-clone", + "description": "SVFR is a unified framework for face video restoration that supports tasks such as BFR, Colorization, Inpainting,you can use it in ComfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_MangaNinjia", + "reference": "https://github.com/smthemex/ComfyUI_MangaNinjia", + "files": [ + "https://github.com/smthemex/ComfyUI_MangaNinjia" + ], + "install_type": "git-clone", + "description": "ComfyUI_MangaNinjia is a ComfyUI node of MangaNinja which is a Line Art Colorization with Precise Reference Following method." + }, + { + "author": "smthemex", + "title": "ComfyUI_Sonic", + "reference": "https://github.com/smthemex/ComfyUI_Sonic", + "files": [ + "https://github.com/smthemex/ComfyUI_Sonic" + ], + "install_type": "git-clone", + "description": "Sonic is a method about ' Shifting Focus to Global Audio Perception in Portrait Animation',you can use it in comfyUI." + }, + { + "author": "smthemex", + "title": "ComfyUI_DiffuEraser", + "reference": "https://github.com/smthemex/ComfyUI_DiffuEraser", + "files": [ + "https://github.com/smthemex/ComfyUI_DiffuEraser" + ], + "install_type": "git-clone", + "description": "DiffuEraser is a diffusion model for video Inpainting, you can use it in ComfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_CSD_MT", + "reference": "https://github.com/smthemex/ComfyUI_CSD_MT", + "files": [ + "https://github.com/smthemex/ComfyUI_CSD_MT" + ], + "install_type": "git-clone", + "description": "[a/CSD_MT](https://github.com/Snowfallingplum/CSD-MT) is a method about 'Content-Style Decoupling for Unsupervised Makeup Transfer without Generating Pseudo Ground Truth', you can use it in comfyUI." + }, + { + "author": "smthemex", + "title": "ComfyUI_Light_A_Video", + "reference": "https://github.com/smthemex/ComfyUI_Light_A_Video", + "files": [ + "https://github.com/smthemex/ComfyUI_Light_A_Video" + ], + "install_type": "git-clone", + "description": "Light-A-Video: Training-free Video Relighting via Progressive Light Fusion,you can use it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_YuE", + "reference": "https://github.com/smthemex/ComfyUI_YuE", + "files": [ + "https://github.com/smthemex/ComfyUI_YuE" + ], + "install_type": "git-clone", + "description": "[a/YuE](https://github.com/multimodal-art-projection/YuE) is a groundbreaking series of open-source foundation models designed for music generation, specifically for transforming lyrics into full songs (lyrics2song). you can use it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_PhotoDoodle", + "reference": "https://github.com/smthemex/ComfyUI_PhotoDoodle", + "files": [ + "https://github.com/smthemex/ComfyUI_PhotoDoodle" + ], + "install_type": "git-clone", + "description": "PhotoDoodle: Learning Artistic Image Editing from Few-Shot Pairwise Data,you can use it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_KV_Edit", + "reference": "https://github.com/smthemex/ComfyUI_KV_Edit", + "files": [ + "https://github.com/smthemex/ComfyUI_KV_Edit" + ], + "install_type": "git-clone", + "description": "KV-Edit: Training-Free Image Editing for Precise Background Preservation,you can use it in comfyUI" + }, { "author": "choey", "title": "Comfy-Topaz", @@ -10402,6 +10887,26 @@ "install_type": "git-clone", "description": "These are just some nodes I wanted and couldn't find where anyone else had made them yet." }, + { + "author": "quadmoon", + "title": "ComfyUI-Riffusion", + "reference": "https://github.com/traugdor/ComfyUI-Riffusion", + "files": [ + "https://github.com/traugdor/ComfyUI-Riffusion" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension for Riffusion audio generation." + }, + { + "author": "quadmoon", + "title": "ComfyUI-UltimateSDUpscale-GGUF", + "reference": "https://github.com/traugdor/ComfyUI-UltimateSDUpscale-GGUF", + "files": [ + "https://github.com/traugdor/ComfyUI-UltimateSDUpscale-GGUF" + ], + "install_type": "git-clone", + "description": "GGUF implementation for the ComfyUI Ultimate SD Upscale node." + }, { "author": "quadme7macoon", "title": "ComfyUI-ShadertoyGL", @@ -10824,6 +11329,16 @@ "install_type": "git-clone", "description": "Run [a/Replicate models](https://replicate.com/explore) in ComfyUI." }, + { + "author": "fofr", + "title": "ComfyUI-Basic-Auth", + "reference": "https://github.com/fofr/comfyui-basic-auth", + "files": [ + "https://github.com/fofr/comfyui-basic-auth" + ], + "install_type": "git-clone", + "description": "A basic auth middleware for ComfyUI" + }, { "author": "cfreilich", "title": "Virtuoso Nodes for ComfyUI", @@ -10889,6 +11404,16 @@ "install_type": "git-clone", "description": "Custom node for using Prompt S/R in XY Plot\nAlso includes nodes for listing generic parameters like seed and cfg\nEasy to manipulate as elements are separated by line breaks\nDesigned for use with the XY Plot custom node qq-nodes-comfyui, but may work with other custom nodes as well" }, + { + "author": "da2el-ai", + "title": "D2-PromptSelector-comfyUI", + "reference": "https://github.com/da2el-ai/D2-PromptSelector-comfyUI", + "files": [ + "https://github.com/da2el-ai/D2-PromptSelector-comfyUI" + ], + "install_type": "git-clone", + "description": "This is a version of [a/sd-d2-prompt-selector](https://github.com/da2el-ai/sd-d2-prompt-selector) reworked for ComfyUI. It's just a prototype that I've put together for now. The random syntax of sd-d2-prompt-selector cannot be used; instead, the DynamicPrompt syntax is used" + }, { "author": "nat-chan", "title": "ComfyUI-Transceiver📡", @@ -10964,6 +11489,16 @@ "install_type": "git-clone", "description": "Nodes:FastImageListToImageBatch" }, + { + "author": "jax-explorer", + "title": "comfyui-model-dynamic-loader", + "reference": "https://github.com/jax-explorer/comfyui-model-dynamic-loader", + "files": [ + "https://github.com/jax-explorer/comfyui-model-dynamic-loader" + ], + "install_type": "git-clone", + "description": "for comfyonline dynamic loader\ncomfyonline is comfyui cloud website" + }, { "author": "sugarkwork", "title": "comfyui_cohere", @@ -11008,6 +11543,17 @@ "install_type": "git-clone", "description": "This extension contains a custom node for ComfyUI. The node, called 'Bounding Box Crop', is designed to compute the top-left coordinates of a cropped bounding box based on input coordinates and dimensions of the final cropped image. It does so computing the center of the cropping area and then computing where the top-left coordinates would be." }, + { + "author": "alessandrozonta", + "title": "Comfyui-LoopLoader", + "id": "Comfyui-LoopLoader", + "reference": "https://github.com/alessandrozonta/Comfyui-LoopLoader", + "files": [ + "https://github.com/alessandrozonta/Comfyui-LoopLoader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for loading images sequentially from a directory. Loops back to the first image when reaching the end" + }, { "author": "curiousjp", "title": "ComfyUI-MaskBatchPermutations", @@ -11048,7 +11594,7 @@ "https://github.com/osi1880vr/prompt_quill_comfyui" ], "install_type": "git-clone", - "description": "Nodes:Use Prompt Quill in Comfyui" + "description": "Nodes for Comfyui to use Prompt Quill within complex workflows" }, { "author": "philz1337x", @@ -11254,7 +11800,7 @@ "https://github.com/gonzalu/ComfyUI_YFG_Comical" ], "install_type": "git-clone", - "description": "Image Historgram Generator - Outputs a set of images displaying the Histogram of the input image. Nodes: img2histograms, img2histogramsSelf" + "description": "Utility custom nodes for special effects, image manipulation and quality of life tools." }, { "author": "ruiqutech", @@ -11478,7 +12024,7 @@ "https://github.com/ArcherFMY/Diffusion360_ComfyUI" ], "install_type": "git-clone", - "description": "ComfyUI plugin of [a/SD-T2I-360PanoImage](https://github.com/ArcherFMY/SD-T2I-360PanoImage).\nbase t2i-pipeline for generating 512*1024 panorama image from text input" + "description": "Generating seamless 360 degree panoramic image through text or perspective image." }, { "author": "Makeezi", @@ -11588,7 +12134,7 @@ "https://github.com/fexploit/ComfyUI-AutoLabel" ], "install_type": "git-clone", - "description": "ComfyUI-AutoLabel is a custom node for ComfyUI that uses BLIP (Bootstrapping Language-Image Pre-training) to generate detailed descriptions of the main object in an image. This node leverages the power of BLIP to provide accurate and context-aware captions for images." + "description": "ComfyUI-AutoLabel is a custom node for ComfyUI that uses BLIP (Bootstrapping Language-Image Pre-training) to generate detailed descriptions of the main object in an image. This node leverages the power of BLIP to provide accurate and context-aware captions for images. by Fexploit." }, { "author": "fexploit", @@ -11860,7 +12406,7 @@ "https://github.com/AshMartian/ComfyUI-DirGir" ], "install_type": "git-clone", - "description": "A collection of ComfyUI directory automation utility nodes. Directory Get It Right adds a GUI directory browser, and smart directory loop/iteration node that supports regex and file extension filtering." + "description": "A collection of ComfyUI directory automation utility nodes. Directory Get-It-Right adds a GUI directory browser, and a smart directory loop/iteration node that supports regex + file extension filtering + sorting methods." }, { "author": "SozeInc", @@ -12177,6 +12723,16 @@ "install_type": "git-clone", "description": "A custom node for ComfyUI that calculates CLIP and LPIPS similarity scores between two images." }, + { + "author": "risunobushi", + "title": "ComfyUI_DisplacementMapTools", + "reference": "https://github.com/risunobushi/ComfyUI_DisplacementMapTools", + "files": [ + "https://github.com/risunobushi/ComfyUI_DisplacementMapTools" + ], + "install_type": "git-clone", + "description": "NODES: Extract Displacement Map Node, Displace Logo" + }, { "author": "zohac", "title": "ComfyUI_ZC_DrawShape", @@ -12285,7 +12841,7 @@ "https://github.com/exdysa/comfyui-selector" ], "install_type": "git-clone", - "description": "Nodes:Selector. Quick and dirty parameter generator node for ComfyUI." + "description": "Selector and Recourse. Presets & failsafes. Work flow. EXDYSA" }, { "author": "Jin Liu", @@ -12600,17 +13156,6 @@ "install_type": "git-clone", "description": "Simple nodes for loading image files.Nodes that include a simple remote connection to Photoshop, a node that can overlay and preview an image with a mask, and a node that can load images directly from a file path." }, - { - "author": "RedRayz", - "title": "ComfyUI-Danbooru-To-WD", - "id": "danbooru2wd", - "reference": "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD", - "files": [ - "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD" - ], - "install_type": "git-clone", - "description": "Converts booru tags to a format suitable for Waifu Diffusion(or Danbooru based models)." - }, { "author": "Shibiko-AI", "title": "Shibiko AI ComfyUI Tools", @@ -12729,7 +13274,7 @@ "https://github.com/licyk/ComfyUI-Restart-Sampler" ], "install_type": "git-clone", - "description": "This extension is a node that directly expands the functionality of KSampler, adding the TCD sampling to KSampler." + "description": "This extension is a node that directly expands the functionality of KSampler, rather than being in the form of a custom node. [w/Workflows created using this feature are not compatible with other users.]" }, { "author": "licyk", @@ -13096,6 +13641,16 @@ "install_type": "git-clone", "description": "This node for ComfyUI allows saving images with an optional alpha channel (transparency). It supports saving images in formats like PNG, JPEG, and WebP." }, + { + "author": "APZmedia", + "title": "APZmedia Together Image Generator for ComfyUI", + "reference": "https://github.com/APZmedia/APZmedia-comfy-together-lora", + "files": [ + "https://github.com/APZmedia/APZmedia-comfy-together-lora" + ], + "install_type": "git-clone", + "description": "A ComfyUI node to implement Together AI API image generation" + }, { "author": "N3rd00d", "title": "ComfyUI-Paint3D-Nodes", @@ -13117,6 +13672,16 @@ "install_type": "git-clone", "description": "A collection of nodes and improvements created for general ease and lora management. These are just nodes I made and found useful, they should work with most other nodes. Most nodes that take in a prompt are made with booru tags in mind and might not work as expected with other prompts." }, + { + "author": "sn0w12", + "title": "ComfyUI-Syntax-Highlighting", + "reference": "https://github.com/sn0w12/ComfyUI-Syntax-Highlighting", + "files": [ + "https://github.com/sn0w12/ComfyUI-Syntax-Highlighting" + ], + "install_type": "git-clone", + "description": "Syntax highlighting and other quality of life improvements for ComfyUI." + }, { "author": "MiaoshouAI", "title": "ComfyUI-Miaoshouai-Tagger", @@ -13268,7 +13833,17 @@ "description": "NODES: SDXLMixSampler, LatentByRatio" }, { - "author": "amorano", + "author": "lrzjason", + "title": "Comfyui-ThinkRemover", + "reference": "https://github.com/lrzjason/Comfyui-ThinkRemover", + "files": [ + "https://github.com/lrzjason/Comfyui-ThinkRemover" + ], + "install_type": "git-clone", + "description": "Remove content inside 'think' tag from reasoning llm" + }, + { + "author": "cozy_comm", "title": "Cozy Communication", "id": "cozy_comm", "reference": "https://github.com/cozy-comfyui/cozy_comm", @@ -13521,6 +14096,26 @@ "install_type": "git-clone", "description": "This custom node for ComfyUI allows you to use the Doubutsu small VLM model to describe images. Credit and further information on Doubutsu: [a/https://huggingface.co/qresearch/doubutsu-2b-pt-756](https://huggingface.co/qresearch/doubutsu-2b-pt-756)" }, + { + "author": "EnragedAntelope", + "title": "ComfyUI-ConstrainResolution", + "reference": "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution", + "files": [ + "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution" + ], + "install_type": "git-clone", + "description": "Given min/max resolution constraints, this automatically suggests optimal dimensions while preserving aspect ratio. Ideal for Image to Image (I2I) and Image to Video (I2V) workflows!" + }, + { + "author": "EnragedAntelope", + "title": "ComfyUI-EACloudNodes", + "reference": "https://github.com/EnragedAntelope/ComfyUI-EACloudNodes", + "files": [ + "https://github.com/EnragedAntelope/ComfyUI-EACloudNodes" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI custom nodes for interacting with various cloud services. These nodes are designed to work with any ComfyUI instance, including cloud-hosted environments (such as MimicPC) where users may have limited system access." + }, { "author": "jn-jairo", "title": "JNComfy", @@ -13614,6 +14209,26 @@ "install_type": "git-clone", "description": "AspectSize and other nodes" }, + { + "author": "DriftJohnson", + "title": "KokoroTTS Node", + "reference": "https://github.com/MushroomFleet/DJZ-KokoroTTS", + "files": [ + "https://github.com/MushroomFleet/DJZ-KokoroTTS" + ], + "install_type": "git-clone", + "description": "This node provides advanced text-to-speech functionality powered by KokoroTTS. Follow the instructions below to install, configure, and use the node within your portable ComfyUI installation." + }, + { + "author": "MushroomFleet", + "title": "DJZ-Pedalboard", + "reference": "https://github.com/MushroomFleet/DJZ-Pedalboard", + "files": [ + "https://github.com/MushroomFleet/DJZ-Pedalboard" + ], + "install_type": "git-clone", + "description": "This project provides a collection of custom nodes designed for enhanced audio effects in ComfyUI. With an intuitive pedalboard interface, users can easily integrate and manipulate various audio effects within their workflows." + }, { "author": "var1ableX", "title": "ComfyUI_Accessories", @@ -13646,17 +14261,6 @@ "install_type": "git-clone", "description": "Optional wildcards in ComfyUI" }, - { - "author": "Makki_Shizu", - "title": "ComfyUI-SaveAnimatedGIF", - "id": "SaveAnimatedGIF", - "reference": "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF", - "files": [ - "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF" - ], - "install_type": "git-clone", - "description": "Save animated GIF format nodes in ComfyUI" - }, { "author": "JosefKuchar", "title": "ComfyUI-AdvancedTiling", @@ -13700,6 +14304,16 @@ "install_type": "git-clone", "description": "The ComfyUI-Visionatrix nodes are designed for convenient ComfyUI to [a/Visionatrix](https://github.com/Visionatrix/Visionatrix) workflow support migration, in particular to extract prompt input params (input, textarea, checkbox, select, range, file) to be used in simplified Visionatrix UI." }, + { + "author": "Visionatrix", + "title": "ComfyUI-RemoteVAE", + "reference": "https://github.com/Visionatrix/ComfyUI-RemoteVAE", + "files": [ + "https://github.com/Visionatrix/ComfyUI-RemoteVAE" + ], + "install_type": "git-clone", + "description": "ComfyUI Nodes for Remote VAE Decoding." + }, { "author": "liangt", "title": "comfyui-loadimagewithsubfolder", @@ -13912,17 +14526,6 @@ "install_type": "git-clone", "description": "multiline text node that strips c-style comments (i.e.'//' and '/* ... */') before passing output string downstream" }, - { - "author": "noarche", - "title": "noarche/Color Enhance", - "id": "color-enhance", - "reference": "https://github.com/noarche/sd-webui-color-enhance", - "files": [ - "https://github.com/noarche/sd-webui-color-enhance" - ], - "install_type": "git-clone", - "description": "Script for [a/AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui) and node for ComfyUI to enhance colors.\nThis is the same algorithm GIMP/GEGL uses for color enhancement. The gist of this implementation is that it converts the color space to [CIELCh(ab) and normalizes the chroma (or '[a/colorfulness](https://en.wikipedia.org/wiki/Colorfulness)') component. Original source can be found in the link below." - }, { "author": "emojiiii", "title": "ComfyUI_Emojiiii_Custom_Nodes", @@ -13992,7 +14595,17 @@ "https://github.com/GeekyGhost/ComfyUI-GeekyRemB" ], "install_type": "git-clone", - "description": "GeekyRemB is a powerful and versatile image processing node for ComfyUI, designed to remove backgrounds from images with advanced customization options. This node leverages the rembg library and offers a wide range of features for fine-tuning the background removal process and enhancing the resulting images." + "description": "GeekyRemB is a powerful suite of image processing nodes for ComfyUI, offering advanced background removal, animation, lighting effects, and keyframe-based positioning. Built on the rembg library with additional capabilities for chroma keying, mask refinement, realistic lighting, shadow generation, and dynamic animations." + }, + { + "author": "GeekyGhost", + "title": "ComfyUI-Geeky-Kokoro-TTS", + "reference": "https://github.com/GeekyGhost/ComfyUI-Geeky-Kokoro-TTS", + "files": [ + "https://github.com/GeekyGhost/ComfyUI-Geeky-Kokoro-TTS" + ], + "install_type": "git-clone", + "description": "A powerful and feature-rich custom node collection for ComfyUI that integrates the Kokoro TTS (Text-to-Speech) system with advanced voice modification capabilities. This package allows you to generate natural-sounding speech and apply various voice effects within ComfyUI workflows." }, { "author": "Dobidop", @@ -14116,6 +14729,96 @@ "install_type": "git-clone", "description": "ComfyUI nodes to use FluxCustomId\nOriginal repo: [a/https://github.com/damo-cv/FLUX-customID](https://github.com/damo-cv/FLUX-customID)" }, + { + "author": "leeguandong", + "title": "ComfyUI nodes to use FluxClipWeight", + "reference": "https://github.com/leeguandong/ComfyUI_FluxClipWeight", + "files": [ + "https://github.com/leeguandong/ComfyUI_FluxClipWeight" + ], + "install_type": "git-clone", + "description": "In Flux, the T5 and CLIP in the text branch are weighted separately to regulate the strength of text-side embeddings." + }, + { + "author": "leeguandong", + "title": "ComfyUI nodes to use AttentionMask", + "reference": "https://github.com/leeguandong/ComfyUI_FluxAttentionMask", + "files": [ + "https://github.com/leeguandong/ComfyUI_FluxAttentionMask" + ], + "install_type": "git-clone", + "description": "The attention mask in the T5 part of flux and SD3 utilizes the text-side attention mask to make the model focus more on text embeddings during image generation, thereby enhancing semantic alignment with the text." + }, + { + "author": "leeguandong", + "title": "ComfyUI_Cogview4", + "reference": "https://github.com/leeguandong/ComfyUI_Cogview4", + "files": [ + "https://github.com/leeguandong/ComfyUI_Cogview4" + ], + "install_type": "git-clone", + "description": "The latest DIT architecture-based image generation model from Zhipu that supports Chinese text generation." + }, + { + "author": "leeguandong", + "title": "ComfyUI_1Prompt1Story", + "reference": "https://github.com/leeguandong/ComfyUI_1Prompt1Story", + "files": [ + "https://github.com/leeguandong/ComfyUI_1Prompt1Story" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/1Prompt1Story](https://github.com/byliutao/1Prompt1Story)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_ChatGen", + "reference": "https://github.com/leeguandong/ComfyUI_ChatGen", + "files": [ + "https://github.com/leeguandong/ComfyUI_ChatGen" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/ChatGen](https://github.com/chengyou-jia/ChatGen)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_DeepSeekVL2", + "reference": "https://github.com/leeguandong/ComfyUI_DeepSeekVL2", + "files": [ + "https://github.com/leeguandong/ComfyUI_DeepSeekVL2" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/DeepSeek-VL2](https://github.com/deepseek-ai/DeepSeek-VL2)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_FluxLayerDiffuse", + "reference": "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse", + "files": [ + "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/Flux-version-LayerDiffuse](https://github.com/RedAIGC/Flux-version-LayerDiffuse)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_Gemma3", + "reference": "https://github.com/leeguandong/ComfyUI_Gemma3", + "files": [ + "https://github.com/leeguandong/ComfyUI_Gemma3" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/gemma-3-27b-it](https://huggingface.co/google/gemma-3-27b-it)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_QWQ32B", + "reference": "https://github.com/leeguandong/ComfyUI_QWQ32B", + "files": [ + "https://github.com/leeguandong/ComfyUI_QWQ32B" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/QwQ-32B](https://huggingface.co/Qwen/QwQ-32B)" + }, { "author": "lenskikh", "title": "Propmt Worker", @@ -14181,6 +14884,17 @@ "install_type": "git-clone", "description": "Flux Pro via Replicate API\nCreate API key at [a/https://replicate.com/account/api-tokens](https://replicate.com/account/api-tokens)\nCopy config.ini.example to config.ini and put the replicate key there." }, + { + "author": "smlbiobot", + "title": "sml-comfyui-prompt-expansion", + "id": "sml-comfyui-prompt-expansion", + "reference": "https://github.com/smlbiobot/sml-comfyui-prompt-expansion", + "files": [ + "https://github.com/smlbiobot/sml-comfyui-prompt-expansion" + ], + "install_type": "git-clone", + "description": "Prompt Expansion for Stable Diffusion, using Deepseek API." + }, { "author": "Jjulianadv", "title": "Wild Divide", @@ -14435,7 +15149,7 @@ "https://github.com/fairy-root/comfyui-ollama-llms" ], "install_type": "git-clone", - "description": "Ollama and Llava vision integration for ComfyUI" + "description": "Ollama and Llava / vision integration for ComfyUI" }, { "author": "fairy-root", @@ -14447,6 +15161,16 @@ "install_type": "git-clone", "description": "A flexible and customizable prompt generator for generating detailed and creative prompts for image generation models for ComfyUI" }, + { + "author": "fairy-root", + "title": "ComfyUI-Show-Text", + "reference": "https://github.com/fairy-root/ComfyUI-Show-Text", + "files": [ + "https://github.com/fairy-root/ComfyUI-Show-Text" + ], + "install_type": "git-clone", + "description": "A simple but powerful node for ComfyUI that displays text input in a readable format. Perfect for viewing outputs from text generation nodes, prompt builders, interrogators, and more." + }, { "author": "ryanontheinside", "title": "RyanOnTheInside", @@ -14460,10 +15184,10 @@ { "author": "RyanOnTheInside", "title": "Nodes for use with real-time applications of ComfyUI", - "id": "realtimenodes", - "reference": "https://github.com/ryanontheinside/ComfyUI_RealTimeNodes", + "id": "comfyui_realtimenodes", + "reference": "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes", "files": [ - "https://github.com/ryanontheinside/ComfyUI_RealTimeNodes" + "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes" ], "install_type": "git-clone", "description": "These nodes are for real-time applications of ComfyUI." @@ -14478,6 +15202,36 @@ "install_type": "git-clone", "description": "A ComfyUI implementation of [a/EfficientTAM](https://github.com/yformer/EfficientTAM)" }, + { + "author": "ryanontheinside", + "title": "Doom", + "reference": "https://github.com/ryanontheinside/ComfyUI_Doom", + "files": [ + "https://github.com/ryanontheinside/ComfyUI_Doom" + ], + "install_type": "git-clone", + "description": "Play Doom in ComfyUI." + }, + { + "author": "ryanontheinside", + "title": "ComfyUI_ProfilerX", + "reference": "https://github.com/ryanontheinside/ComfyUI_ProfilerX", + "files": [ + "https://github.com/ryanontheinside/ComfyUI_ProfilerX" + ], + "install_type": "git-clone", + "description": "Node and workflow profiling. Find bottlenecks in your workflows. See trends over time." + }, + { + "author": "ryanontheinside", + "title": "ComfyUI_SuperResolution", + "reference": "https://github.com/ryanontheinside/ComfyUI_SuperResolution", + "files": [ + "https://github.com/ryanontheinside/ComfyUI_SuperResolution" + ], + "install_type": "git-clone", + "description": "A collection of high-performance neural network-based Super Resolution models for ComfyUI." + }, { "author": "ControlAltAI", "title": "ControlAltAI Nodes", @@ -14521,6 +15275,26 @@ "install_type": "git-clone", "description": "The Flux Prompt Saver is set of simple nodes for saving images generated with Flux with A1111-style metadata." }, + { + "author": "markuryy", + "title": "Super Loader", + "reference": "https://github.com/markuryy/ComfyUI-SuperLoader", + "files": [ + "https://github.com/markuryy/ComfyUI-SuperLoader" + ], + "install_type": "git-clone", + "description": "Metadata for loaded models" + }, + { + "author": "markuryy", + "title": "Video XY Plot", + "reference": "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot", + "files": [ + "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, { "author": "eesahe", "title": "ComfyUI-eesahesNodes", @@ -14613,7 +15387,7 @@ "https://github.com/aidenli/ComfyUI_NYJY" ], "install_type": "git-clone", - "description": "Nodes: Translate, JoyTag, JoyCaption." + "description": "A comfyui node that provides translation and image reverse push functions(JoyTag & JoyCaption)." }, { "author": "Pseudotools", @@ -14694,7 +15468,7 @@ "https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm" ], "install_type": "git-clone", - "description": "Auto prompt by LLM and LLM-Vision. (Trigger more details hiding in model)" + "description": "NODES: Auto-LLM-Text-Vision, Auto-LLM-Text, Auto-LLM-Vision" }, { "author": "xlinx", @@ -14759,13 +15533,24 @@ }, { "author": "niknah", - "title": "ComfyUI-F5-TTS", + "title": "ComfyUI F5-TTS", "reference": "https://github.com/niknah/ComfyUI-F5-TTS", "files": [ "https://github.com/niknah/ComfyUI-F5-TTS" ], "install_type": "git-clone", - "description": "ComfyUI node for to make text to speech audio using F5-TTS [a/https://github.com/SWivid/F5-TTS](https://github.com/SWivid/F5-TTS)" + "description": "Text to speech with F5-TTS" + }, + { + "author": "niknah", + "title": "ComfyUI Hunyuan-3D-2", + "id": "comfyui-hunyuan-3d-2", + "reference": "https://github.com/niknah/ComfyUI-Hunyuan-3D-2", + "files": [ + "https://github.com/niknah/ComfyUI-Hunyuan-3D-2" + ], + "install_type": "git-clone", + "description": "Image to 3D using Hunyuan-3D-2" }, { "author": "daryltucker", @@ -14810,24 +15595,14 @@ "description": "This repository contains custom nodes for ComfyUI that integrate the fal.ai FLUX.1 [dev] with LoRA API, specifically for text-to-image generation. These nodes allow you to use the FLUX.1 model directly within your ComfyUI workflows." }, { - "author": "Rvage0815", - "title": "ComfyUI-RvTools", - "reference": "https://github.com/Rvage0815/ComfyUI-RvTools", + "author": "yhayano-ponotech", + "title": "ComfyUI Local Save Node", + "reference": "https://github.com/yhayano-ponotech/comfyui-save-image-local", "files": [ - "https://github.com/Rvage0815/ComfyUI-RvTools" + "https://github.com/yhayano-ponotech/comfyui-save-image-local" ], "install_type": "git-clone", - "description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows." - }, - { - "author": "Rvage0815", - "title": "RvTComfyUI-RvTools_v2", - "reference": "https://github.com/Rvage0815/ComfyUI-RvTools_v2", - "files": [ - "https://github.com/Rvage0815/ComfyUI-RvTools_v2" - ], - "install_type": "git-clone", - "description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows." + "description": "ComfyUI custom node for directly downloading generated images to your local PC with customizable filenames and formats (PNG/JPEG)." }, { "author": "erosDiffusion", @@ -14923,6 +15698,26 @@ "install_type": "git-clone", "description": "Simple Node to make panoramic images" }, + { + "author": "RodrigoSKohl", + "title": "Interior Design for Comfyui", + "reference": "https://github.com/RodrigoSKohl/InteriorDesign-for-ComfyUI", + "files": [ + "https://github.com/RodrigoSKohl/InteriorDesign-for-ComfyUI" + ], + "install_type": "git-clone", + "description": "This node is based on MykolaL/StableDesign" + }, + { + "author": "RodrigoSKohl", + "title": "TryOff Anyone", + "reference": "https://github.com/RodrigoSKohl/comfyui-tryoff-anyone", + "files": [ + "https://github.com/RodrigoSKohl/comfyui-tryoff-anyone" + ], + "install_type": "git-clone", + "description": "Node to tryoff clothes" + }, { "author": "nicehero", "title": "comfyui-SegGPT", @@ -15110,6 +15905,17 @@ "install_type": "git-clone", "description": "This is a custom node to convert only the Diffusion model part or CLIP model part to fp8 in ComfyUI.\nVAE fp8 conversion is not supported.\nThe advantage of this node is that you do not need to separate unet/clip/vae in advance when converting to fp8, but can use the safetenros files that ComfyUI provides." }, + { + "author": "Shiba-2-shiba", + "title": "ComfyUI_FreeU_V2_timestepadd", + "id": "ComfyUI_FreeU_V2_timestepadd", + "reference": "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd", + "files": [ + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd" + ], + "install_type": "git-clone", + "description": "This is a custom node to add timestep for FreeU V2." + }, { "author": "Bao Pham", "title": "ComfyUI-LyraVSIH", @@ -15244,7 +16050,7 @@ "https://github.com/SeanScripts/ComfyUI-PixtralLlamaMolmoVision" ], "install_type": "git-clone", - "description": "For loading and running Pixtral, Llama 3.2 Vision, and Molmo models. Put models in the models/LLM folder.\n[w/Renamed from ComfyUI-PixtralLlamaVision. Please reinstall.]" + "description": "For loading and running Pixtral, Llama 3.2 Vision, and Molmo models. Put models in the models/LLM folder." }, { "author": "ExterminanzHS", @@ -15310,16 +16116,6 @@ "install_type": "git-clone", "description": "NODES:Object Mask.\nNOTE:push [a/yolov8x-seg.pt](https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8x-seg.pt) in models/yolo" }, - { - "author": "lldacing", - "title": "ComfyUI_BiRefNet_ll", - "reference": "https://github.com/lldacing/ComfyUI_BiRefNet_ll", - "files": [ - "https://github.com/lldacing/ComfyUI_BiRefNet_ll" - ], - "install_type": "git-clone", - "description": "Sync with version of BiRefNet. NODES:AutoDownloadBiRefNetModel, LoadRembgByBiRefNetModel, RembgByBiRefNet." - }, { "author": "Tenney95", "title": "ComfyUI-NodeAligner", @@ -15424,6 +16220,17 @@ "install_type": "git-clone", "description": "Detect human parts using the DeepLabV3+ ResNet50 model from Keras-io. You can extract hair, arms, legs, and other parts with ease and with small memory usage." }, + { + "author": "Metal3d", + "title": "M3D photo effects", + "id": "ComfyUI_M3D_photo_effects", + "reference": "https://github.com/metal3d/ComfyUI_M3D_photo_effects", + "files": [ + "https://github.com/metal3d/ComfyUI_M3D_photo_effects" + ], + "install_type": "git-clone", + "description": "A set of photo effects for ComfyUI, for the moment, only Bleach Bypass effect is provided, but more to come!" + }, { "author": "Fuwuffy", "title": "ComfyUI-VisualArea-Nodes", @@ -15437,13 +16244,13 @@ }, { "author": "Cyber-BCat", - "title": "ComfyUI_Auto_Caption", + "title": "Cyber-BlackCat", "reference": "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption", "files": [ "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption" ], "install_type": "git-clone", - "description": "This report contains a 'load many images' node which is going to load the image set by the number of file names from smallest to largest, and the images will no longer be loaded in the wrong order! Setting index=0 makes it load from the first small value (image flie name) image, and index=2 will load them from the second image. Another node 'load images & resize' can resize the image by the first loaded image." + "description": "Load images in order(All other nodes are in the wrong order)! Using LLM and Joy tag pipeline to tag your image(s folder), it's suitable for train FLUX LoRA and also sdxl." }, { "author": "cr7Por", @@ -15541,16 +16348,6 @@ "install_type": "git-clone", "description": "Custom javascript extensions for better UX for ComfyUI. Double click on image to open. It's convenient for checking images." }, - { - "author": "NyaamZ", - "title": "Get Booru Tag ExtendeD", - "reference": "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED", - "files": [ - "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED" - ], - "description": "Get tag from Booru site.", - "install_type": "git-clone" - }, { "author": "chrissy0", "title": "chris-comfyui-nodes", @@ -15688,9 +16485,9 @@ { "author": "silveroxides", "title": "Model and Checkpoint Loaders for NF4 and FP4", - "reference": "https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders", + "reference": "https://github.com/silveroxides/ComfyUI_bitsandbytes_NF4", "files": [ - "https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders" + "https://github.com/silveroxides/ComfyUI_bitsandbytes_NF4" ], "install_type": "git-clone", "description": "Nodes for loading both Checkpoints and UNET/Diffussion models quantized to bitsandbytes NF4 or FP4 format.\nStill under development and some limitations such as using LoRA might apply still." @@ -15796,9 +16593,9 @@ "files": [ "https://github.com/CY-CHENYUE/ComfyUI-InpaintEasy" ], - "description": "InpaintEasy is a set of optimized local repainting (Inpaint) nodes that provide a simpler and more powerful local repainting workflow. It makes local repainting work easier and more efficient with intelligent cropping and merging functions.", "tags": ["inpaint", "crop", "image"], - "install_type": "git-clone" + "install_type": "git-clone", + "description": "InpaintEasy is a set of optimized local repainting (Inpaint) nodes that provide a simpler and more powerful local repainting workflow. It makes local repainting work easier and more efficient with intelligent cropping and merging functions." }, { "author": "CY-CHENYUE", @@ -15808,8 +16605,8 @@ "files": [ "https://github.com/CY-CHENYUE/ComfyUI-OmniGenX" ], - "description": "OmniGen Unified Image Generation Model Integration.", - "install_type": "git-clone" + "install_type": "git-clone", + "description": "OmniGen Unified Image Generation Model Integration." }, { "author": "CY-CHENYUE", @@ -15819,8 +16616,41 @@ "files": [ "https://github.com/CY-CHENYUE/ComfyUI-Redux-Prompt" ], - "description": "A ComfyUI custom node that provides fine-grained control over style transfer using Redux style models.", "tags": ["Flux", "redux", "prompt"], + "install_type": "git-clone", + "description": "A ComfyUI custom node that provides fine-grained control over style transfer using Redux style models." + }, + { + "author": "CY-CHENYUE", + "title": "ComfyUI-MiniCPM-o", + "id": "ComfyUI-MiniCPM-o", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-o", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-o" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for MiniCPM" + }, + { + "author": "CY-CHENYUE", + "title": "ComfyUI-Janus-Pro", + "id": "ComfyUI-Janus-Pro", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Janus-Pro, a unified multimodal understanding and generation framework." + }, + { + "author": "CY-CHENYUE", + "title": "ComfyUI-Free-GPU", + "id": "ComfyUI-Free-GPU", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-Free-GPU", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-Free-GPU" + ], + "description": "ComfyUI-Free-GPU provides a node for releasing RAM and VRAM in ComfyUI.", "install_type": "git-clone" }, { @@ -15967,17 +16797,6 @@ "install_type": "git-clone", "description": "This plugin works with [a/IF_AI_Tools](https://github.com/if-ai/ComfyUI-IF_AI_tools) to build a workflow in ComfyUI that uses AI to assist in generating prompts." }, - { - "author": "jetchopper", - "title": "ComfyUI-GeneraNodes", - "id": "genera", - "reference": "https://github.com/evolox/ComfyUI-GeneraNodes", - "files": [ - "https://github.com/evolox/ComfyUI-GeneraNodes" - ], - "install_type": "git-clone", - "description": "Genera custom nodes and extensions" - }, { "author": "Nojahhh", "title": "ComfyUI GLM-4 Wrapper", @@ -16100,16 +16919,6 @@ "install_type": "git-clone", "description": "Nodes to interact with the mrv2 player" }, - { - "author": "JichaoLiang", - "title": "Immortal_comfyUI", - "reference": "https://github.com/JichaoLiang/Immortal_comfyUI", - "files": [ - "https://github.com/JichaoLiang/Immortal_comfyUI" - ], - "install_type": "git-clone", - "description": "NODES:ImNewNode, ImAppendNode, MergeNode, SetProperties, SaveToDirectory, batchNodes, redirectToNode, SetEvent, ..." - }, { "author": "SSsnap", "title": "Snap Processing for Comfyui", @@ -16120,6 +16929,26 @@ "install_type": "git-clone", "description": "preprocessing images, presented in a visual way. It also calculates the corresponding image area." }, + { + "author": "SSsnap", + "title": "ComfyUI-LBW_flux", + "reference": "https://github.com/SS-snap/ComfyUI-LBW_flux", + "files": [ + "https://github.com/SS-snap/ComfyUI-LBW_flux" + ], + "install_type": "git-clone", + "description": "Through this node, you can more easily test the impact of different blocks in flux_lora on the final result." + }, + { + "author": "SSsnap", + "title": "ComfyUI-Ad-scheduler", + "reference": "https://github.com/SS-snap/ComfyUI-Ad_scheduler", + "files": [ + "https://github.com/SS-snap/ComfyUI-Ad_scheduler" + ], + "install_type": "git-clone", + "description": "For denoising tasks that handle noise at any time period, with the ability to add noise in post-processing to enhance details or correct structural accuracy while maintaining the original similarity. Allocating more steps allows the image to regress to an earlier stage.." + }, { "author": "RiceRound", "title": "ComfyUI Compression and Encryption Node", @@ -16131,6 +16960,17 @@ "install_type": "git-clone", "description": "a lightweight open-source node for ComfyUI, designed to simplify workflows while providing encryption protection for them." }, + { + "author": "RiceRound", + "title": "RiceRound Cloud Node", + "id": "riceround", + "reference": "https://github.com/RiceRound/ComfyUI_RiceRound", + "files": [ + "https://github.com/RiceRound/ComfyUI_RiceRound" + ], + "install_type": "git-clone", + "description": "This is an imaginative project that allows for one-click deployment, providing both an online page and a ComfyUI cloud node.[w/This custom node is vulnerable because it can dynamically download and execute nodes.]" + }, { "author": "yvann-ba", "title": "ComfyUI_Yvann-Nodes", @@ -16163,7 +17003,7 @@ "description": "This repository contains a custom ComfyUI node for overlaying media using ffmpeg." }, { - "author": "laogou666", + "author": "LAOGOU-666", "title": "ComfyUI_LG_FFT", "reference": "https://github.com/LAOGOU-666/ComfyUI_LG_FFT", "files": [ @@ -16173,7 +17013,7 @@ "description": "Implementation of Fast Fourier Transform in COMFYUI" }, { - "author": "laogou666", + "author": "LAOGOU-666", "title": "Comfyui-LG_Relight", "reference": "https://github.com/LAOGOU-666/Comfyui-LG_Relight", "files": [ @@ -16182,6 +17022,17 @@ "install_type": "git-clone", "description": "A simple implementation of real-time 3D lighting in ComfyUI. It's an open-source node, have fun playing around!" }, + { + "author": "LAOGOU-666", + "title": "ComfyUI-LG_HotReload", + "id": "ComfyUI-LG_HotReload", + "reference": "https://github.com/LAOGOU-666/ComfyUI-LG_HotReload", + "files": [ + "https://github.com/LAOGOU-666/ComfyUI-LG_HotReload" + ], + "install_type": "git-clone", + "description": "An extension for ComfyUI that allows hot reloading. Once installed, you can preview changes in real-time while developing custom nodes or installing plugins without restarting ComfyUI." + }, { "author": "VertexStudio", "title": "roblox-comfyui-nodes", @@ -16214,16 +17065,6 @@ "install_type": "git-clone", "description": "This is a node to convert workflows to cyuai api available nodes." }, - { - "author": "l1yongch1", - "title": "ComfyUI_PhiCaption", - "reference": "https://github.com/l1yongch1/ComfyUI_PhiCaption", - "files": [ - "https://github.com/l1yongch1/ComfyUI_PhiCaption" - ], - "install_type": "git-clone", - "description": "In addition to achieving conventional single-image, single-round reverse engineering, it can also achieve single-image multi-round and multi-image single-round reverse engineering. Moreover, the Phi model has a better understanding of prompts." - }, { "author": "tkreuziger", "title": "ComfyUI and Claude", @@ -16438,7 +17279,7 @@ ], "install_type": "git-clone", "description": "This repository provides utility nodes for defining inputs and outputs in ComfyUI workflows. These nodes are essential for running ShellAgent apps with ComfyUI, but they can also be used independently to specify input/output variables and their requirements explicitly." - }, + }, { "author": "Vrch Studio (vrch.ai)", "title": "ComfyUI Web Viewer", @@ -16457,7 +17298,7 @@ "https://github.com/kk8bit/KayTool" ], "install_type": "git-clone", - "description": "KayTool is a growing toolkit for ComfyUI. It includes the 'Custom Save Image' node, allowing image saving in PNG or JPG format, with support for ICC profiles like sRGB and Adobe RGB, metadata control, JPG quality adjustment." + "description": "KayTool nodes is designed to enhance the efficiency of building ComfyUI workflows. It includes a variety of practical nodes: support for efficient models like BiRefNet and RemBG for background removal and mask post-processing, wireless data transfer (Set & Get ), AI translation (Tencent and Baidu), dynamic mathematical operations, image processing (size extraction, color adjustment, background removal, mask blurring and expansion), flexible text handling, precision sliders, advanced image saving with metadata support, and more." }, { "author": "sousakujikken", @@ -16657,7 +17498,7 @@ "https://github.com/Apache0ne/ComfyUI-EasyUrlLoader" ], "install_type": "git-clone", - "description": "Simple 4k YT Downloader Through URL" + "description": "A simple YT downloader node for ComfyUI using video Urls. Can be used with VHS nodes etc." }, { "author": "TZOOTZ", @@ -16702,21 +17543,21 @@ "description": "NODES:Aesthetics, Aesthetics V2, Load AI Toolkit Latent Flux, Send_to_Eagle" }, { - "author": "mithamunda", + "author": "theshubzworld", "title": "OllamaKiller Node for ComfyUI", - "reference": "https://github.com/mithamunda/ComfyUI-ollama_killer", + "reference": "https://github.com/theshubzworld/ComfyUI-ollama_killer", "files": [ - "https://github.com/mithamunda/ComfyUI-ollama_killer" + "https://github.com/theshubzworld/ComfyUI-ollama_killer" ], "install_type": "git-clone", "description": "OllamaKiller is a utility node for ComfyUI designed to manage VRAM usage more efficiently by automatically terminating the ollama_llama_server.exe process. This is particularly useful for users with limited VRAM, allowing them to clear up memory after running models and improve workflow performance." }, { - "author": "mithamunda", + "author": "theshubzworld", "title": "SD3.5 Empty Latent Size Picker", - "reference": "https://github.com/mithamunda/ComfyUI-SD3.5-Latent-Size-Picker", + "reference": "https://github.com/theshubzworld/ComfyUI-SD3.5-Latent-Size-Picker", "files": [ - "https://github.com/mithamunda/ComfyUI-SD3.5-Latent-Size-Picker" + "https://github.com/theshubzworld/ComfyUI-SD3.5-Latent-Size-Picker" ], "install_type": "git-clone", "description": "A utility node for generating empty latent tensors in Stable Diffusion v3.5-compatible resolutions. This node allows for custom batch sizes, width/height overrides, and inverting aspect ratios, ensuring flexibility and compatibility in ComfyUI workflows." @@ -16759,7 +17600,7 @@ "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext" ], "install_type": "git-clone", - "description": "NODES:ScheduledCFGGuider, PerpNegScheduledCFGGuider, CosineScheduler, Add zSNR Sigma max, InvertSigmas, ConcatSigmas, OffsetSigmas" + "description": "This extension contains various nodes for CFG scheduling and more. NODES:ScheduledCFGGuider, PerpNegScheduledCFGGuider, CosineScheduler, GaussianScheduler, LogNormalScheduler, InvertSigmas, ConcatSigmas, OffsetSigmas, SplitSigmasByValue" }, { "author": "changwook987", @@ -16802,6 +17643,16 @@ "install_type": "git-clone", "description": "Just like when your pizza is ready and the oven goes 'Ding! 🍕', this plugin lets your ComfyUI notify you when your AI creations are done baking!\nA ComfyUI custom node that sends you a friendly 'ding-dong' notification when your workflows are fully cooked and ready to serve. No more staring at the screen waiting - let the AI kitchen tell you when dinner's ready! 👨‍🍳" }, + { + "author": "lgldlk", + "title": "ComfyUI-PSD-Replace", + "reference": "https://github.com/lgldlk/ComfyUI-PSD-Replace", + "files": [ + "https://github.com/lgldlk/ComfyUI-PSD-Replace" + ], + "install_type": "git-clone", + "description": "One click replacement of smart objects or layers in PSD" + }, { "author": "raspie10032", "title": "ComfyUI NAI Prompt Converter", @@ -16997,7 +17848,7 @@ "https://github.com/LevelPixel/ComfyUI-LevelPixel" ], "install_type": "git-clone", - "description": "Various nodes of the Level Pixel company. Includes convenient advanced nodes for working with images from folders; counting files in a folder; cleaning memory; tag filters. Model Unloader, LLM Unloader (GGUF unloaders), Free memory, Tag Filters, Tag Category Filters, Tag Choice Parser, File counter, Image Loader From Path (with counters), Image Remove Background based on RemBG." + "description": "Various nodes of the Level Pixel company. Includes convenient advanced nodes for working with images from folders; counting files in a folder; cleaning memory; tag filters. Model Unloader, LLM Unloader (GGUF unloaders), Free memory, Tag Filters, Tag Category Filters, Tag Choice Parser, File counter, Image Loader From Path (with counters), Image Remove Background based on RemBG, Autotagger." }, { "author": "morino-kumasan", @@ -17070,16 +17921,6 @@ "install_type": "git-clone", "description": "Nodes:StableDelight-weiweiliang" }, - { - "author": "ryanontheinside", - "title": "Doom", - "reference": "https://github.com/ryanontheinside/ComfyUI_Doom", - "files": [ - "https://github.com/ryanontheinside/ComfyUI_Doom" - ], - "install_type": "git-clone", - "description": "Play Doom in ComfyUI." - }, { "author": "Comflowy", "title": "Comflowy's Custom Nodes", @@ -17163,6 +18004,16 @@ "install_type": "git-clone", "description": "Implements proper multitouch zooming and panning into ComfyUI to make it more usable on mobile devices." }, + { + "author": "Lasse Lauwerys", + "title": "Touchpad and trackpad gesture support", + "reference": "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures", + "files": [ + "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures" + ], + "install_type": "git-clone", + "description": "Implements proper touchpad/trackpad zooming and panning into ComfyUI to make it more usable on laptops." + }, { "author": "phazei", "title": "Prompt Stash Saver Node for ComfyUI", @@ -17276,6 +18127,16 @@ "install_type": "git-clone", "description": "Another comfy implementation for the short video generation project PKU-YuanGroup/Open-Sora-Plan, supporting latest 1.3.0 and 1.2.0 and image to video feature, etc." }, + { + "author": "bombax-xiaoice", + "title": "ComfyUI-DisPose", + "reference": "https://github.com/bombax-xiaoice/ComfyUI-DisPose", + "files": [ + "https://github.com/bombax-xiaoice/ComfyUI-DisPose" + ], + "install_type": "git-clone", + "description": "ComfyUI supports over lihxxx/DisPose, which generates a new video with a reference video as poses and a reference image as everything else." + }, { "author": "chenbaiyujason", "title": "ComfyUI-SCStepFun", @@ -17316,7 +18177,7 @@ "https://github.com/gorillaframeai/GF_nodes" ], "install_type": "git-clone", - "description": "This custom node for ComfyUI provides advanced background removal capabilities using the briaai/RMBG-2.0 model. It is designed to seamlessly integrate into the ComfyUI environment, offering users a powerful tool for image processing tasks." + "description": "GF Remove Background 2.0" }, { "author": "amaozhao", @@ -17440,6 +18301,16 @@ "install_type": "git-clone", "description": "NODES: String Formatter, String List" }, + { + "author": "liuqianhonga", + "title": "ComfyUI-QHNodes", + "reference": "https://github.com/liuqianhonga/ComfyUI-QHNodes", + "files": [ + "https://github.com/liuqianhonga/ComfyUI-QHNodes" + ], + "install_type": "git-clone", + "description": "A custom node collection developed for ComfyUI, offering preset dimensions for Latent, loading LoRA from folders, and integrating multiple commonly used custom nodes." + }, { "author": "duhaifeng", "title": "ComfyUI-BiRefNet-lite", @@ -17470,6 +18341,16 @@ "install_type": "git-clone", "description": "This repository support processing Comfyui image nodes with ICC profile, load and save images with ICC profile" }, + { + "author": "duhaifeng", + "title": "ComfyUI-MaskEditor-Extension", + "reference": "https://github.com/rubi-du/ComfyUI-MaskEditor-Extension", + "files": [ + "https://github.com/rubi-du/ComfyUI-MaskEditor-Extension" + ], + "install_type": "git-clone", + "description": "This repository packages the latest BiRefNet model as a ComfyUI node for use, supporting chunked loading on both CPU and GPU, as well as model caching features." + }, { "author": "vkff5833", "title": "ComfyUI-PromptConverter", @@ -17510,6 +18391,46 @@ "install_type": "git-clone", "description": "Redux style adds more controls" }, + { + "author": "yichengup", + "title": "Comfyui-Deepseek", + "reference": "https://github.com/yichengup/Comfyui-Deepseek", + "files": [ + "https://github.com/yichengup/Comfyui-Deepseek" + ], + "install_type": "git-clone", + "description": "About DeepSeek Chat API\nGo here to register and get the api-key [a/https://platform.deepseek.com/](https://platform.deepseek.com/) Then enter api_key in config.json" + }, + { + "author": "yichengup", + "title": "ComfyUI_Yc_JanusPro", + "reference": "https://github.com/yichengup/ComfyUI_Yc_JanusPro", + "files": [ + "https://github.com/yichengup/ComfyUI_Yc_JanusPro" + ], + "install_type": "git-clone", + "description": "About DeepSeek Chat API\nGo here to register and get the api-key [a/https://platform.deepseek.com/](https://platform.deepseek.com/) Then enter api_key in config.json" + }, + { + "author": "yichengup", + "title": "ComfyUI-YCNodes", + "reference": "https://github.com/yichengup/ComfyUI-YCNodes", + "files": [ + "https://github.com/yichengup/ComfyUI-YCNodes" + ], + "install_type": "git-clone", + "description": "A collection of image processing extension nodes for ComfyUI." + }, + { + "author": "yichengup", + "title": "ComfyUI-VideoBlender", + "reference": "https://github.com/yichengup/ComfyUI-VideoBlender", + "files": [ + "https://github.com/yichengup/ComfyUI-VideoBlender" + ], + "install_type": "git-clone", + "description": "Video clip mixing" + }, { "author": "Horizon Team", "title": "ComfyUI_FluxMod", @@ -17669,13 +18590,13 @@ { "author": "lightricks", "title": "ComfyUI-LTXVideo", - "id": "ltxv", + "id": "comfyui-ltxvideo", "reference": "https://github.com/Lightricks/ComfyUI-LTXVideo", "files": [ "https://github.com/Lightricks/ComfyUI-LTXVideo" ], "install_type": "git-clone", - "description": "ComfyUI nodes for LTXVideo model." + "description": "Custom nodes for LTX-Video support in ComfyUI" }, { "author": "Kai Duehrkop", @@ -17751,16 +18672,6 @@ "install_type": "git-clone", "description": "Nodes that implement functionality similar to the Dynamic Prompts extension for A1111." }, - { - "author": "Lasse Lauwerys", - "title": "Touchpad and trackpad gesture support", - "reference": "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures", - "files": [ - "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures" - ], - "install_type": "git-clone", - "description": "Implements proper touchpad zooming and panning into ComfyUI to make it more usable on laptops." - }, { "author": "SleeeepyZhou", "title": "CNtranslator", @@ -17832,6 +18743,36 @@ "install_type": "git-clone", "description": "ComfyUI nodes for LLaMA-Mesh model." }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-PhotoDoodle", + "reference": "https://github.com/Yuan-ManX/ComfyUI-PhotoDoodle", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-PhotoDoodle" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for PhotoDoodle model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-StyleStudio", + "reference": "https://github.com/Yuan-ManX/ComfyUI-StyleStudio", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-StyleStudio" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for StyleStudio model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-OrpheusTTS", + "reference": "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for OrpheusTTS model." + }, { "author": "Starnodes2024", "title": "ComfyUI_StarNodes", @@ -17840,7 +18781,7 @@ "https://github.com/Starnodes2024/ComfyUI_StarNodes" ], "install_type": "git-clone", - "description": "NODES: StarNode Input Image Chooser, SD(XL) Star(t) Settings, SD3.5 Star(t) Settings, Starnode Ollama Helper" + "description": "NODES: StarNode Startsettings for Flux and SD, Smplers for Flux and SD, Detail Deamon, Wildcards and more Helper Nodes" }, { "author": "motivated3", @@ -17943,7 +18884,7 @@ "https://github.com/StableDiffusionVN/SDVN_Comfy_node" ], "install_type": "git-clone", - "description": "Smart Node Set, Supporting Easier and More Convenient Ways to Use Comfyui.Support Translate, Dynamic Prompt, Wildcard in most nodes.Support API with popular models (Gemini, Dall-E, Chat GPT).Support to download and use models directly at Comfyui.Support sub-folder with input folders.Support Merger Model more intelligently.Support smart, higher customization node and neat, more beautiful.And many other complementary nodes ..." + "description": "Update IC Lora Layout Support Node" }, { "author": "Eugene (JEONG-JIWOO)", @@ -17997,15 +18938,15 @@ "description": "Advanced samplers with new noise scaling math to enable SDE sampling with all publicly available rectified flow models; new unsampling/noise inversion methods and other advanced techniques for inpainting and/or guiding the sampling process with latent images. 40 sampler types, 20 noise types, 7 noise scaling modes, in a single node. Also includes a wide variety of QoF and other utility nodes for manipulating sigmas, latents, images, and more." }, { - "author": "mithamunda", + "author": "theshubzworld", "title": "Together Vision Node", "id": "comfyui_together_vision", - "reference": "https://github.com/mithamunda/ComfyUI-TogetherVision", + "reference": "https://github.com/theshubzworld/ComfyUI-TogetherVision", "files": [ - "https://github.com/mithamunda/ComfyUI-TogetherVision" + "https://github.com/theshubzworld/ComfyUI-TogetherVision" ], "install_type": "git-clone", - "description": "A custom ComfyUI node for generating AI-powered image descriptions using Together AI's Vision models (both free and paid versions). Features include customizable prompts, advanced generation parameters, and robust image handling with comprehensive error management." + "description": "A custom ComfyUI node using Together AI's Vision models for free image descriptions, image generation, and image-to-image transformation. Features include customizable prompts, advanced parameters, and robust error handling." }, { "author": "NeoGriever", @@ -18059,6 +19000,16 @@ "description": "ComfyUI implementation of the [a/InstantX IP-Adapter for SD3.5 Large](https://huggingface.co/InstantX/SD3.5-Large-IP-Adapter).", "install_type": "git-clone" }, + { + "author": "Slickytail", + "title": "ComfyUI-RegionalAdaptiveSampling", + "reference": "https://github.com/Slickytail/ComfyUI-RegionalAdaptiveSampling", + "files": [ + "https://github.com/Slickytail/ComfyUI-RegionalAdaptiveSampling" + ], + "description": "ComfyUI implementation of Regional Adaptive Sampling, (original implementation at https://github.com/microsoft/RAS).", + "install_type": "git-clone" + }, { "author": "sourceful-official", "title": "LoadLoraModelOnlyWithUrl", @@ -18080,7 +19031,7 @@ "install_type": "git-clone" }, { - "author": "magic-quill", + "author": "magic-quill", "title": "ComfyUI_MagicQuill", "id": "MagicQuill", "reference": "https://github.com/magic-quill/ComfyUI_MagicQuill", @@ -18102,14 +19053,15 @@ "description": "Write prompt words like WebUI" }, { - "author": "jax-explorer", - "title": "comfyui-model-dynamic-loader", - "reference": "https://github.com/jax-explorer/comfyui-model-dynamic-loader", + "author": "weilin9999", + "title": "WeiLin-Comfyui-Tools", + "id": "Comfyui-Tools", + "reference": "https://github.com/weilin9999/WeiLin-Comfyui-Tools", "files": [ - "https://github.com/jax-explorer/comfyui-model-dynamic-loader" + "https://github.com/weilin9999/WeiLin-Comfyui-Tools" ], "install_type": "git-clone", - "description": "for comfyonline dynamic loader\ncomfyonline is comfyui cloud website" + "description": "quickly use the prompt word tool in ComfyUI" }, { "author": "LucipherDev", @@ -18131,6 +19083,16 @@ "install_type": "git-clone", "description": "ComfyUI Custom Nodes for 'AniDoc: Animation Creation Made Easier'. This approach automates line art video colorization using a novel model that aligns color information from references, ensures temporal consistency, and reduces manual effort in animation production." }, + { + "author": "LucipherDev", + "title": "ComfyUI-TangoFlux", + "reference": "https://github.com/LucipherDev/ComfyUI-TangoFlux", + "files": [ + "https://github.com/LucipherDev/ComfyUI-TangoFlux" + ], + "install_type": "git-clone", + "description": "ComfyUI Custom Nodes for 'TangoFlux: Super Fast and Faithful Text to Audio Generation with Flow Matching'. This generates high-quality 44.1kHz audio up to 30 seconds using just a text prompt." + }, { "author": "envy-ai", "title": "ComfyUI-ConDelta", @@ -18437,7 +19399,7 @@ }, { "author": "kazeyori", - "title": "Quick Image Sequence Process", + "title": "ComfyUI-QuickImageSequenceProcess", "reference": "https://github.com/kazeyori/ComfyUI-QuickImageSequenceProcess", "files": [ "https://github.com/kazeyori/ComfyUI-QuickImageSequenceProcess" @@ -18477,6 +19439,16 @@ "install_type": "git-clone", "description": "A collection of specialized image processing nodes for ComfyUI, focused on dataset preparation and pixel art manipulation." }, + { + "author": "marcoc2", + "title": "ComfyUI-Cog", + "reference": "https://github.com/marcoc2/ComfyUI_CogView4-6B_diffusers", + "files": [ + "https://github.com/marcoc2/ComfyUI_CogView4-6B_diffusers" + ], + "install_type": "git-clone", + "description": "This is a custom node aiming to run CogView4 on diffusers while there is no official implementation on ComfyUI.\nNOTE: You will need a updated version of diffusers and I don't know if updating it my break other stuff, so I advise you to make in a new instance of ComfyUI" + }, { "author": "BIMer-99", "title": "ComfyUI_FishSpeech_EX", @@ -18497,6 +19469,16 @@ "install_type": "git-clone", "description": "A beautiful theme extension for ComfyUI that adds festive touches with dynamic backgrounds, snowfall effects, and animated node connections" }, + { + "author": "AEmotionStudio", + "title": "ComfyUI-EnhancedLinksandNodes 🎨✨", + "reference": "https://github.com/AEmotionStudio/ComfyUI-EnhancedLinksandNodes", + "files": [ + "https://github.com/AEmotionStudio/ComfyUI-EnhancedLinksandNodes" + ], + "install_type": "git-clone", + "description": "A visually stunning extension for ComfyUI that adds beautiful, customizable animations to both links and nodes in your workflow, with a focus on performance and customization. Includes an end-of-render animation and a text visibility tool for nodes. No extra packages are required, works with the latest version of ComfyUI, and should be compatible with most workflows. Larger workflows may experience performance issues, especially if you have a lot of nodes and are using a lower end system." + }, { "author": "xfgexo", "title": "EXO Custom ComfyUI Nodes", @@ -18548,6 +19530,16 @@ "install_type": "git-clone", "description": "A ComfyUI node that detects the skin tone of a person in an image and matches it to the standard emoji skin tone palette." }, + { + "author": "kevinmcmahondev", + "title": "KMCDev Nodes", + "reference": "https://github.com/kevinmcmahondev/comfyui-kmcdev-image-filter-adjustments", + "files": [ + "https://github.com/kevinmcmahondev/comfyui-kmcdev-image-filter-adjustments" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that provides advanced image adjustment filters and controls for image manipulation" + }, { "author": "mahdi", "title": "seamless-clone-comfyui", @@ -18620,6 +19612,16 @@ "install_type": "git-clone", "description": "This is a ComfyUI plugin that makes it easier to call and run workflows from RunningHub in your local ComfyUI setup." }, + { + "author": "shahkoorosh", + "title": "ComfyUI-PersianText", + "reference": "https://github.com/shahkoorosh/ComfyUI-PersianText", + "files": [ + "https://github.com/shahkoorosh/ComfyUI-PersianText" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI node for rendering text with advanced styling options, including full support for Persian/Farsi and Arabic scripts." + }, { "author": "wqjuser", "title": "ComfyUI-Chat-Image", @@ -18670,16 +19672,6 @@ "install_type": "git-clone", "description": "This custom node allows you to generate logo images using Google Fonts." }, - { - "author": "hzane", - "title": "OmniGen-ComfyUI", - "reference": "https://github.com/hzane/OmniGen-ComfyUI", - "files": [ - "https://github.com/hzane/OmniGen-ComfyUI" - ], - "install_type": "git-clone", - "description": "A custom node for [a/OmniGen](https://github.com/VectorSpaceLab/OmniGen)." - }, { "author": "SongGuo11", "title": "ComfyUI SaveAnything Node (SG11)", @@ -18702,6 +19694,28 @@ "install_type": "git-clone", "description": "This node pack helps to convert various files to Markdown. It supports pdf, pptx, xlsx, docx, html and image files." }, + { + "author": "ciga2011", + "title": "ComfyUI Pollinations", + "id": "pollinations", + "reference": "https://github.com/ciga2011/ComfyUI-Pollinations", + "files": [ + "https://github.com/ciga2011/ComfyUI-Pollinations" + ], + "install_type": "git-clone", + "description": "Generate images from text prompts using Pollinations' AI models for free." + }, + { + "author": "ciga2011", + "title": "ComfyUI Prompt Optimizer", + "id": "promptoptimizer", + "reference": "https://github.com/ciga2011/ComfyUI-PromptOptimizer", + "files": [ + "https://github.com/ciga2011/ComfyUI-PromptOptimizer" + ], + "install_type": "git-clone", + "description": "Optimize prompts for text-to-image models at no cost." + }, { "author": "IgalOgonov", "title": "Simple String Repository", @@ -18977,6 +19991,26 @@ "install_type": "git-clone", "description": "ComfyUI_OneButtonPrompt_Flux is a Flux prompt generation node. The subject can be 'human,' 'other' or a combination of both. For human, pose settings can be enabled. Additionally, various styles can be applied. Finally, combine it with 'Prompt Enhancement' to seamlessly automate image generation, eliminating the hassle of designing prompts." }, + { + "author": "billwuhao", + "title": "ComfyUI_StepAudioTTS", + "reference": "https://github.com/billwuhao/ComfyUI_StepAudioTTS", + "files": [ + "https://github.com/billwuhao/ComfyUI_StepAudioTTS" + ], + "install_type": "git-clone", + "description": "A Text To Speech node using Step-Audio-TTS in ComfyUI. Can speak, rap, sing, or clone voice." + }, + { + "author": "billwuhao", + "title": "ComfyUI_KokoroTTS_MW", + "reference": "https://github.com/billwuhao/ComfyUI_KokoroTTS_MW", + "files": [ + "https://github.com/billwuhao/ComfyUI_KokoroTTS_MW" + ], + "install_type": "git-clone", + "description": "A Text To Speech node using Kokoro TTS in ComfyUI. Supports 8 languages and 150 voices" + }, { "author": "pandaer119", "title": "ComfyUI_pandai", @@ -19088,7 +20122,7 @@ "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils" ], "install_type": "git-clone", - "description": "A practical collection of nodes for ComfyUI that streamlines image and text processing workflows. Features include image optimized resolution adjustment, text cleaning tools, dynamic image/text combination, and mask preview utilities. Perfect for artists and developers looking to enhance their AI art creation pipeline." + "description": "Powerful tools for image and text processing, including cross-platform workflow fixes, optimized resolution, dynamic text/image combos, and batch processing. Unlock seamless AI art creation and boost your productivity!" }, { "author": "welltop-cn", @@ -19120,16 +20154,6 @@ "install_type": "git-clone", "description": "gguf node for comfyui" }, - { - "author": "LucipherDev", - "title": "ComfyUI-TangoFlux", - "reference": "https://github.com/LucipherDev/ComfyUI-TangoFlux", - "files": [ - "https://github.com/LucipherDev/ComfyUI-TangoFlux" - ], - "install_type": "git-clone", - "description": "ComfyUI Custom Nodes for 'TangoFlux: Super Fast and Faithful Text to Audio Generation with Flow Matching'. This generates high-quality 44.1kHz audio up to 30 seconds using just a text prompt." - }, { "author": "ainewsto", "title": "comfyui-labs-google", @@ -19140,6 +20164,16 @@ "install_type": "git-clone", "description": "NODES: ComfyUI-ImageFx, ComfyUI-Whisk" }, + { + "author": "ainewsto", + "title": "Comfyui_Comfly", + "reference": "https://github.com/ainewsto/Comfyui_Comfly", + "files": [ + "https://github.com/ainewsto/Comfyui_Comfly" + ], + "install_type": "git-clone", + "description": "NODES: Comfly_Mj, Comfly_mjstyle, Comfly_upload, Comfly_Mju, Comfly_Mjv, Comfly_kling_videoPreview" + }, { "author": "gremlation", "title": "ComfyUI-ViewData", @@ -19191,11 +20225,11 @@ "description": "A ComfyUI extension that improves panning and zooming on trackpads and with the mouse wheel." }, { - "author": "nmlen", + "author": "fuselayer", "title": "comfyui-mosaic-blur", - "reference": "https://github.com/nmlen/comfyui-mosaic-blur", + "reference": "https://github.com/fuselayer/comfyui-mosaic-blur", "files": [ - "https://github.com/nmlen/comfyui-mosaic-blur" + "https://github.com/fuselayer/comfyui-mosaic-blur" ], "install_type": "git-clone", "description": "A simple mosaic blur node for ComfyUI that uses CV2 or Pillow" @@ -19220,6 +20254,2449 @@ "install_type": "git-clone", "description": "SASolver for Comfyui. Adapted from [a/comfyanonymous/ComfyUI#4454](https://github.com/comfyanonymous/ComfyUI/pull/4454) and [a/https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler](https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler)" }, + { + "author": "dreamhartley", + "title": "ComfyUI_show_seed", + "reference": "https://github.com/dreamhartley/ComfyUI_show_seed", + "files": [ + "https://github.com/dreamhartley/ComfyUI_show_seed" + ], + "install_type": "git-clone", + "description": "A custom node that saves images while displaying the seed value used in generation" + }, + { + "author": "bubbliiiing", + "title": "Video Generation Nodes for EasyAnimate", + "id": "easyanimatenodes", + "reference": "https://github.com/aigc-apps/EasyAnimate", + "files": [ + "https://github.com/aigc-apps/EasyAnimate" + ], + "install_type": "git-clone", + "description": "Video Generation Nodes for EasyAnimate, which suppors text-to-video, image-to-video, video-to-video and different controls." + }, + { + "author": "DraconicDragon", + "title": "ComfyUI-Venice-API", + "reference": "https://github.com/DraconicDragon/ComfyUI-Venice-API", + "files": [ + "https://github.com/DraconicDragon/ComfyUI-Venice-API" + ], + "install_type": "git-clone", + "description": "A custom node implementation for ComfyUI that integrates with venice.ai's Flux and SDXL image generation models. This project is adapted from [a/ComfyUI-FLUX-TOGETHER-API](https://github.com/BZcreativ/ComfyUI-FLUX-TOGETHER-API) to work with the venice.ai API." + }, + { + "author": "Wenaka2004", + "title": "ComfyUI-TagClassifier", + "reference": "https://github.com/Wenaka2004/ComfyUI-TagClassifier", + "files": [ + "https://github.com/Wenaka2004/ComfyUI-TagClassifier" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node,use Deepseek v3 to classify the input tags" + }, + { + "author": "westNeighbor", + "title": "ComfyUI-ultimate-openpose-render", + "reference": "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render", + "files": [ + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render" + ], + "install_type": "git-clone", + "description": "Enhanced features with flexible choice of inputs and outputs, fine control for pose plotting, freedom to composite poses and fast local pose editting." + }, + { + "author": "westNeighbor", + "title": "ComfyUI-ultimate-openpose-estimator", + "reference": "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator", + "files": [ + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator" + ], + "install_type": "git-clone", + "description": "Super fast tensorrt performance with accuate pose estimation of dwpose model, giving the detecting threshold control, plus pose image render and pose json format output. Fine control for pose plotting." + }, + { + "author": "westNeighbor", + "title": "ComfyUI-ultimate-openpose-editor", + "reference": "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor", + "files": [ + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor" + ], + "install_type": "git-clone", + "description": "Enhanced features with flexible choice of inputs and outputs, fine control for pose plotting, freedom to composite poses and fast local pose editting." + }, + { + "author": "a-und-b", + "title": "ComfyUI_Delay", + "reference": "https://github.com/a-und-b/ComfyUI_Delay", + "files": [ + "https://github.com/a-und-b/ComfyUI_Delay" + ], + "install_type": "git-clone", + "description": "Simple custom node for ComfyUI to artificially delay a workflow at any point." + }, + { + "author": "a-und-b", + "title": "ComfyUI_JSON_Helper", + "reference": "https://github.com/a-und-b/ComfyUI_JSON_Helper", + "files": [ + "https://github.com/a-und-b/ComfyUI_JSON_Helper" + ], + "install_type": "git-clone", + "description": "Simple custom node for ComfyUI that converts JSON strings to JSON objects." + }, + { + "author": "a-und-b", + "title": "ComfyUI_LoRA_from_URL", + "reference": "https://github.com/a-und-b/ComfyUI_LoRA_from_URL", + "files": [ + "https://github.com/a-und-b/ComfyUI_LoRA_from_URL" + ], + "install_type": "git-clone", + "description": "A simple-as-possible custom node for ComfyUI to load LoRA models from a public URL." + }, + { + "author": "r3dial", + "title": "Redial Discomphy - Discord Integration for ComfyUI", + "reference": "https://github.com/r3dial/redial-discomphy", + "files": [ + "https://github.com/r3dial/redial-discomphy" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that enables direct posting of images, videos, and messages to Discord channels. This node seamlessly integrates your ComfyUI workflows with Discord communication, allowing you to automatically share your generated content." + }, + { + "author": "r3dsd", + "title": "Comfyui-Template-Loader", + "reference": "https://github.com/r3dsd/comfyui-template-loader", + "files": [ + "https://github.com/r3dsd/comfyui-template-loader" + ], + "install_type": "git-clone", + "description": "Easily Load Your Frequently Used Prompts in ComfyUI\nWith ComfyUI Template Loader, managing and reusing your favorite prompts has never been simpler. Save time and streamline your workflow by loading your go-to templates with just a few clicks!" + }, + { + "author": "r3dsd", + "title": "HommageTools for ComfyUI", + "reference": "https://github.com/ArtHommage/HommageTools", + "files": [ + "https://github.com/ArtHommage/HommageTools" + ], + "install_type": "git-clone", + "description": "Entry point for HommageTools node collection for ComfyUI. Handles node registration, imports, and logging configuration." + }, + { + "author": "l-comm", + "title": "WatermarkRemoval", + "id": "watermark-removal", + "reference": "https://github.com/l-comm/WatermarkRemoval", + "files": [ + "https://github.com/l-comm/WatermarkRemoval" + ], + "install_type": "git-clone", + "description": "Watermark removal project" + }, + { + "author": "jhj0517", + "title": "ComfyUI-Moondream-Gaze-Detection", + "id": "comfyui-moondream-gaze-detection", + "reference": "https://github.com/jhj0517/ComfyUI-Moondream-Gaze-Detection", + "files": [ + "https://github.com/jhj0517/ComfyUI-Moondream-Gaze-Detection" + ], + "install_type": "git-clone", + "description": "Moondream's gaze detection feature wrapper node." + }, + { + "author": "jhj0517", + "title": "ComfyUI jhj Kokoro Onnx", + "id": "comfyui-jhj-kokoro-onnx", + "reference": "https://github.com/jhj0517/ComfyUI-jhj-Kokoro-Onnx", + "files": [ + "https://github.com/jhj0517/ComfyUI-jhj-Kokoro-Onnx" + ], + "install_type": "git-clone", + "description": "kokoro-onnx (opensource TTS model) wrapper for ComfyUI." + }, + { + "author": "jnxmx", + "title": "ComfyUI_HuggingFace_Downloader", + "reference": "https://github.com/jnxmx/ComfyUI_HuggingFace_Downloader", + "files": [ + "https://github.com/jnxmx/ComfyUI_HuggingFace_Downloader" + ], + "install_type": "git-clone", + "description": "Nodes for auto download models from Hugging Face using their filenames as part of workflows" + }, + { + "author": "philiprodriguez", + "title": "ComfyUI-HunyuanImageLatentToVideoLatent", + "reference": "https://github.com/philiprodriguez/ComfyUI-HunyuanImageLatentToVideoLatent", + "files": [ + "https://github.com/philiprodriguez/ComfyUI-HunyuanImageLatentToVideoLatent" + ], + "install_type": "git-clone", + "description": "A ComfyUI node which copies a given latent's samples tensor along the time axis ((length - 1) // 4) + 1 times to form a longer latent (see EmptyHunyuanLatentVideo's implementation for why this specific number of copies is used) and then prepares a noise_mask tensor of the same shape such that the value of the mask for a given time step is given by the function at https://www.desmos.com/calculator/vhw74mr1vh." + }, + { + "author": "benjiyaya", + "title": "ComfyUI-HunyuanVideoImagesGuider", + "reference": "https://github.com/benjiyaya/ComfyUI-HunyuanVideoImagesGuider", + "files": [ + "https://github.com/benjiyaya/ComfyUI-HunyuanVideoImagesGuider" + ], + "install_type": "git-clone", + "description": "A specialized node for ComfyUI that enable advanced motion and animation capabilities for image as guider for video processing In Hunyuan Video." + }, + { + "author": "Zeks", + "title": "comfyui-rapidfire", + "reference": "https://github.com/Zeks/comfyui-rapidfire", + "files": [ + "https://github.com/Zeks/comfyui-rapidfire" + ], + "install_type": "git-clone", + "description": "A set of nodes for rapidfiring the half backed latents, cleaning up obvious bad generations and automatically queueing the rest to fully generate." + }, + { + "author": "meanin2", + "title": "ComfyUI Watermark Image Node", + "reference": "https://github.com/meanin2/comfyui-watermarking", + "files": [ + "https://github.com/meanin2/comfyui-watermarking" + ], + "install_type": "git-clone", + "description": "This custom node allows you to overlay a watermark image onto an existing image within ComfyUI." + }, + { + "author": "Kurdknight", + "title": "KurdKnight ComfyUI System Check Node", + "reference": "https://github.com/Kurdknight/Kurdknight_comfycheck", + "files": [ + "https://github.com/Kurdknight/Kurdknight_comfycheck" + ], + "install_type": "git-clone", + "description": "A comprehensive system information node for ComfyUI that provides detailed information about your system, GPU, CUDA, and AI libraries configuration. Works on both Windows and Linux systems." + }, + { + "author": "ThepExcel", + "title": "Multiline Text Choice Node for ComfyUI", + "reference": "https://github.com/ThepExcel/aiangelgallery-comfyui", + "files": [ + "https://github.com/ThepExcel/aiangelgallery-comfyui" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI allows users to input multiline text and select a specific line by its number. The node processes the input and returns the selected line along with its index." + }, + { + "author": "BoyuanJiang", + "title": "FitDiT[official] - High-fidelity Virtual Try-on", + "id": "fitdit", + "reference": "https://github.com/BoyuanJiang/FitDiT/tree/FitDiT-ComfyUI", + "files": [ + "https://github.com/BoyuanJiang/FitDiT-ComfyUI" + ], + "install_type": "git-clone", + "description": "FitDiT is designed for high-fidelity virtual try-on using Diffusion Transformers (DiT)." + }, + { + "author": "nofunstudio", + "title": "Node_Fun_ComfyUI", + "reference": "https://github.com/nofunstudio/Node_Fun_ComfyUI", + "files": [ + "https://github.com/nofunstudio/Node_Fun_ComfyUI" + ], + "install_type": "git-clone", + "description": "ComfyUI Custom Node Pack Layered Infinite Zoom Node" + }, + { + "author": "PixelML", + "title": "PixelML ComfyUI Nodes", + "reference": "https://github.com/PixelML/ComfyUI-PixelML-CustomNodes", + "files": [ + "https://github.com/PixelML/ComfyUI-PixelML-CustomNodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI focused on variable handling and workflow automation." + }, + { + "author": "shabri-arrahim", + "title": "ComfyUI Safety Checker", + "reference": "https://github.com/shabri-arrahim/ComfyUI-Safety-Checker", + "files": [ + "https://github.com/shabri-arrahim/ComfyUI-Safety-Checker" + ], + "install_type": "git-clone", + "description": "This project provides custom safety checkers for image classification using Falcons AI and CompVis models. The safety checkers are designed to detect and filter out NSFW content from images." + }, + { + "author": "shenduldh", + "title": "ComfyUI-Lightning", + "reference": "https://github.com/shenduldh/ComfyUI-Lightning", + "files": [ + "https://github.com/shenduldh/ComfyUI-Lightning" + ], + "install_type": "git-clone", + "description": "Accelerate FLUX inferencing speed for ComfyUI." + }, + { + "author": "theAdamColton", + "title": "ComfyUI-texflow-extension", + "reference": "https://github.com/theAdamColton/ComfyUI-texflow-extension", + "files": [ + "https://github.com/theAdamColton/ComfyUI-texflow-extension" + ], + "install_type": "git-clone", + "description": "This is the ComfyUI extension for use with texflow. It provides two new nodes, 'Load Texflow Depth Image' and 'Save Texflow Image'.\nFor more information see [a/the main texflow repo](https://github.com/theAdamColton/texflow/)" + }, + { + "author": "hmwl", + "title": "ComfyUI_zip", + "reference": "https://github.com/hmwl/ComfyUI_zip", + "files": [ + "https://github.com/hmwl/ComfyUI_zip" + ], + "install_type": "git-clone", + "description": "ComfyUI zip package image processing" + }, + { + "author": "nisimjoseph", + "title": "ComfyUI OpenAI Prompter", + "reference": "https://github.com/nisimjoseph/ComfyUI_OpenAI-Prompter", + "files": [ + "https://github.com/nisimjoseph/ComfyUI_OpenAI-Prompter" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that generates creative and detailed prompts using OpenAI's GPT models." + }, + { + "author" : "ngosset", + "title": "ImageSimilarity", + "id": "imageSimilarity", + "reference": "https://github.com/ngosset/ComfyUI-ImageSimilarity", + "files": [ + "https://github.com/ngosset/ComfyUI-ImageSimilarity" + ], + "install_type": "git-clone", + "description": "Uses ResNet embeddings and cosine similarity to compare the likeness of two images." + }, + { + "author": "Bellzs", + "title": "ComfyUI-LoRA-Assistant", + "reference": "https://github.com/Bellzs/ComfyUI-LoRA-Assistant", + "files": [ + "https://github.com/Bellzs/ComfyUI-LoRA-Assistant" + ], + "install_type": "git-clone", + "description": "The plug-in is designed to automatically save the association between the LoRA model and Trigger words to a Local JSON file so that when the LoRA model is loaded, the associated trigger words can be automatically loaded via the node 'LoRA Trigger Local' without manual input." + }, + { + "author" : "strand1", + "title": "ComfyUI-Autogen", + "reference": "https://github.com/strand1/ComfyUI-Autogen", + "files": [ + "https://github.com/strand1/ComfyUI-Autogen" + ], + "install_type": "git-clone", + "description": "A collection of nodes for using Autogen with ComfyUI\n[a/AutoGen](https://github.com/microsoft/AutoGen): assistant agents, group chats, code executor, etc." + }, + { + "author": "hellercommaa", + "title": "Hunyuan Video Resolutions", + "id": "hunyuanvideoresolutions", + "reference": "https://github.com/HellerCommaA/ComfyUI-VideoResolutions", + "files": [ + "https://github.com/HellerCommaA/ComfyUI-VideoResolutions" + ], + "install_type": "git-clone", + "description": "A super simple node that outputs common video resolutions as 2 integers for Hunyuan and others!" + }, + { + "author": "benjiyaya", + "title": "ComfyUI-KokoroTTS", + "reference": "https://github.com/benjiyaya/ComfyUI-KokoroTTS", + "files": [ + "https://github.com/benjiyaya/ComfyUI-KokoroTTS" + ], + "install_type": "git-clone", + "description": "A Text To Speech node using Kokoro TTS in ComfyUI." + }, + { + "author": "WangPengxing", + "title": "ComfyUI WPX Nodes", + "reference": "https://github.com/WangPengxing/ComfyUI_WPX_Node", + "files": [ + "https://github.com/WangPengxing/ComfyUI_WPX_Node" + ], + "install_type": "git-clone", + "description": "A custom node collection for ComfyUI, offering enhanced image processing features." + }, + { + "author": "PixelFunAI", + "title": "Hunyuan LoRA Loader Nodes", + "reference": "https://github.com/PixelFunAI/ComfyUI_PixelFun", + "files": [ + "https://github.com/PixelFunAI/ComfyUI_PixelFun" + ], + "install_type": "git-clone", + "description": "This collection provides four additional nodes for loading and managing Hunyuan Video LoRAs in ComfyUI" + }, + { + "author": "Burgstall-labs", + "title": "ComfyUI-BS_Kokoro-onnx", + "reference": "https://github.com/Burgstall-labs/ComfyUI-BS_Kokoro-onnx", + "files": [ + "https://github.com/Burgstall-labs/ComfyUI-BS_Kokoro-onnx" + ], + "install_type": "git-clone", + "description": "A ComfyUI wrapper for [a/Kokoro-onnx](https://github.com/thewh1teagle/kokoro-onnx)" + }, + { + "author": "Kidev", + "title": "ComfyUI Fisheye Effects Nodes", + "reference": "https://github.com/Kidev/ComfyUI-Fisheye-effects", + "files": [ + "https://github.com/Kidev/ComfyUI-Fisheye-effects" + ], + "install_type": "git-clone", + "description": "Provides tools for applying and removing fisheye lens effects from images." + }, + { + "author": "feixuetuba", + "title": "Spleeter", + "reference": "https://github.com/feixuetuba/Spleeter", + "files": [ + "https://github.com/feixuetuba/Spleeter" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI plugin based on [a/Spleeter](https://github.com/deezer/spleete). The model files are available on BaiduNetDisk. After downloading the model, place it in the checkpoints directory." + }, + { + "author": "aidec", + "title": "Comfyui_TextBatch_aidec", + "reference": "https://github.com/aidec/Comfyui_TextBatch_aidec", + "files": [ + "https://github.com/aidec/Comfyui_TextBatch_aidec" + ], + "install_type": "git-clone", + "description": "The Text Queue Processor can split text into groups line by line for batch processing (unfinished, with noticeable bugs still being fixed). Currently, on the first run, it may only process one item. Once that is completed, running it again usually works fine. After each run, the `start_index` needs to be manually reset. Occasionally, strange issues occur, such as multiple queues being added at once, while other times it works perfectly fine. The potential causes are still under investigation." + }, + { + "author": "asutermo", + "title": "ComfyUI-Flux-TryOff", + "id": "tryoffflux", + "reference": "https://github.com/asutermo/ComfyUI-Flux-TryOff", + "files": [ + "https://github.com/asutermo/ComfyUI-Flux-TryOff" + ], + "install_type": "git-clone", + "description": "Try Off for ComfyUI using Flux and CatVTON." + }, + { + "author": "bugltd", + "title": "ComfyLab Pack", + "id": "comfylab-pack", + "reference": "https://github.com/bugltd/ComfyLab-Pack", + "files": [ + "https://github.com/bugltd/ComfyLab-Pack" + ], + "nodename_pattern": " \\(lab\\)$", + "install_type": "git-clone", + "description": "Nodes: XY Plot with many options, Output Config (JSON / JSON5 / YAML), Queue, Format String, List utilities, Input nodes, ...." + }, + { + "author": "duchamps0305", + "title": "comfyui-white-extractor", + "reference": "https://github.com/duchamps0305/comfyui-white-extractor", + "files": [ + "https://github.com/duchamps0305/comfyui-white-extractor" + ], + "install_type": "git-clone", + "description": "a simple white extractor node for comfyui." + }, + { + "author": "DJ-Tribefull", + "title": "Comfyui FOCUS nodes", + "reference": "https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes", + "files": [ + "https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes" + ], + "install_type": "git-clone", + "description": "A collection of nodes designed for efficiency and the reduction of screen-clutter. Includes a Global Seed controller with boolean toggles, SDXL All-in-One conditioner, a custom SDXL control module, Wildcard processor, Style Injector, and more. [w/WARNING: Updating this node-pack wil overwrite any changes you've made to the included wildcards and styles. Please backup your folders before updating.]" + }, + { + "author": "KLL535", + "title": "ComfyUI_SimpleButcher", + "reference": "https://github.com/KLL535/ComfyUI_SimpleButcher", + "files": [ + "https://github.com/KLL535/ComfyUI_SimpleButcher" + ], + "install_type": "git-clone", + "description": "Node to automate batch generation with randomize prompts from text files. It mimics Forge's functionality, allowing you to combine text elements and LoRA. The node supports writing LoRA in any order within a text file using formats like or , without needing separate nodes. The node understands LoRA names in Forge's style, when the name is not the filename, but the internal name from the metadata." + }, + { + "author": "KLL535", + "title": "ComfyUI_PNGInfo_Sidebar", + "reference": "https://github.com/KLL535/ComfyUI_PNGInfo_Sidebar", + "files": [ + "https://github.com/KLL535/ComfyUI_PNGInfo_Sidebar" + ], + "install_type": "git-clone", + "description": "Frontend extension that adds a sidebar for easy viewing of PNG file metadata." + }, + { + "author": "mango125", + "title": "ComfyUI-Mango-Random", + "reference": "https://github.com/mango-rgb/ComfyUI-Mango-Random-node", + "files": [ + "https://github.com/mango-rgb/ComfyUI-Mango-Random-node" + ], + "install_type": "git-clone", + "description": "🥭 Mango Random Nodes - A collection of random file nodes for ComfyUI" + }, + { + "author": "meanin2", + "title": "ComfyUI Image Watermarking Node", + "reference": "https://github.com/meanin2/comfyui-MGnodes", + "files": [ + "https://github.com/meanin2/comfyui-MGnodes" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to add image watermarks with advanced controls for transparency, positioning, and color manipulation." + }, + { + "author": "WUYUDING2583", + "title": "Save Image With Callback", + "reference": "https://github.com/WUYUDING2583/ComfyUI-Save-Image-Callback", + "files": [ + "https://github.com/WUYUDING2583/ComfyUI-Save-Image-Callback" + ], + "install_type": "git-clone", + "description": "This node enables integration between ComfyUI and external services by adding callback capabilities to the image saving process. When an image is saved, the node automatically call your webhook with your specified URL with custom data." + }, + { + "author": "fblissjr", + "title": "ComfyUI-EmbeddingPipelineAnalytics", + "reference": "https://github.com/fblissjr/ComfyUI-EmbeddingPipelineAnalytics", + "files": [ + "https://github.com/fblissjr/ComfyUI-EmbeddingPipelineAnalytics" + ], + "install_type": "git-clone", + "description": "this repo is to capture end-to-end data, metadata, and embeddings for ComfyUI workflows, specifically HunyuanVideo to start." + }, + { + "author": "fblissjr", + "title": "ComfyUI Dataset Helper & Batch Node", + "reference": "https://github.com/fblissjr/ComfyUI-DatasetHelper", + "files": [ + "https://github.com/fblissjr/ComfyUI-DatasetHelper" + ], + "install_type": "git-clone", + "description": "This custom node set for ComfyUI provides a DatasetBatchNode for automated, sequential processing of datasets, particularly useful for iterative training or batched image/video generation workflows." + }, + { + "author": "fblissjr", + "title": "wanvideo - seamless flow", + "reference": "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow", + "files": [ + "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow" + ], + "install_type": "git-clone", + "description": "experimental wanvideo comfyui node with a singular goal - visually seamless transitions between context windows" + }, + { + "author": "vincentfs", + "title": "ComfyUI-ArchiGraph", + "id": "archigraph", + "reference": "https://github.com/vincentfs/ComfyUI-ArchiGraph", + "files": [ + "https://github.com/vincentfs/ComfyUI-ArchiGraph" + ], + "install_type": "git-clone", + "description": "Implementation of architectural related graph algorithm in ComfyUI." + }, + + { + "author": "ziwang-com", + "title": "comfyui-deepseek-r1", + "reference": "https://github.com/ziwang-com/comfyui-deepseek-r1", + "files": [ + "https://github.com/ziwang-com/comfyui-deepseek-r1" + ], + "install_type": "git-clone", + "description": "Comfyui-deepseek-r1 Node Plugin" + }, + { + "author": "davidgressett", + "title": "CartesianCSVNode for ComfyUI", + "reference": "https://github.com/davidgressett/comfyui-systemlevel", + "files": [ + "https://github.com/davidgressett/comfyui-systemlevel" + ], + "install_type": "git-clone", + "description": "This custom node allows you to load data from one or more CSV files, then feed that data into subsequent nodes in a ComfyUI workflow." + }, + { + "author": "SshunWang", + "title": "ComfyUI for CosyVoice", + "reference": "https://github.com/SshunWang/ComfyUI_CosyVoice", + "files": [ + "https://github.com/SshunWang/ComfyUI_CosyVoice" + ], + "install_type": "git-clone", + "description": "Support both CosyVoice1.0 and CosyVoice2.0. Referenced [a/CosyVoice-ComfyUI](https://github.com/AIFSH/CosyVoice-ComfyUI), the following modifications have been made: Add support for CosyVoice2.0, Add whether to use stream processing options, Use speed control by CosyVoice, Add model path check to avoid duplicate downloads, Provide two ways of use" + }, + { + "author": "Kayarte", + "title": "AudioDriven-Latent-Space-Tools-for-ComfyUI", + "reference": "https://github.com/Kayarte/AudioDriven-Latent-Space-Tools-for-ComfyUI", + "files": [ + "https://github.com/Kayarte/AudioDriven-Latent-Space-Tools-for-ComfyUI" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that analyzes audio files using Librosa, extracting tempo, beat times, energy levels, and timestamps. The analysis results can be displayed in a text box within ComfyUI." + }, + { + "author": "MontagenAI", + "title": "ComfyUI-Montagen", + "reference": "https://github.com/MontagenAI/ComfyUI-Montagen", + "files": [ + "https://github.com/MontagenAI/ComfyUI-Montagen" + ], + "install_type": "git-clone", + "description": "ComfyUI-Montagen is an extension designed to enhance the video editing ability of ComfyUI with custom nodes and Montagen. It offers basic video editing features and integrates media clips with the ComfyUI workflow. Furthermore, this extension unlocks the full potential of AI-based video generation and task automation." + }, + { + "author": "Xiangyu-CAS", + "title": "HandFixer", + "reference": "https://github.com/Xiangyu-CAS/HandFixer", + "files": [ + "https://github.com/Xiangyu-CAS/HandFixer" + ], + "install_type": "git-clone", + "description": "This project addresses the issue of numerous hand defects in AI-generated portrait images by using a workflow based on FLUX/FLUX-Fill to correct hand deformities. It is effective for both real-life and anime images, including those generated by DiT/SDXL/Midjourney. It supports diffusers, gradio, ComfyUI, and more" + }, + { + "author": "cake-ml", + "title": "TinySanaPreview", + "reference": "https://github.com/cake-ml/tiny-sana-preview", + "files": [ + "https://github.com/cake-ml/tiny-sana-preview" + ], + "install_type": "git-clone", + "description": "TinySanaPreview is a custom ComfyUI node that implements real-time previews during generation for Sana diffusion models." + }, + { + "author": "huixingyun", + "title": "ComfyUI-HX-Captioner", + "reference": "https://github.com/huixingyun/ComfyUI-HX-Captioner", + "files": [ + "https://github.com/huixingyun/ComfyUI-HX-Captioner" + ], + "install_type": "git-clone", + "description": "A ComfyUI plugin library based on [a/https://github.com/stavsap/comfyui-ollama](https://github.com/stavsap/comfyui-ollama), with the Ollama cluster provided by Huixingyun." + }, + { + "author": "huixingyun", + "title": "ComfyUI-HX-Pimg", + "reference": "https://github.com/huixingyun/ComfyUI-HX-Pimg", + "files": [ + "https://github.com/huixingyun/ComfyUI-HX-Pimg" + ], + "install_type": "git-clone", + "description": "Some custom nodes used for pimg (a comfyui controller deployed in huixingyun)." + }, + { + "author": "bradsec", + "title": "ComfyUI_StringEssentials", + "reference": "https://github.com/bradsec/ComfyUI_StringEssentials", + "files": [ + "https://github.com/bradsec/ComfyUI_StringEssentials" + ], + "install_type": "git-clone", + "description": "Essential string manipulation nodes for ComfyUI." + }, + { + "author": "Dr.Positliver", + "title": "comfyui-zegr", + "reference": "https://github.com/Positliver/comfyui-zegr", + "files": [ + "https://github.com/Positliver/comfyui-zegr" + ], + "install_type": "git-clone", + "description": "comfyui share models to oss conveniently." + }, + { + "author": "danielw", + "title": "Custom nodes for llm chat with optional image input", + "id": "llm-api", + "reference": "https://github.com/tianyuw/ComfyUI-LLM-API", + "files": [ + "https://github.com/tianyuw/ComfyUI-LLM-API" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that enables Large Language Model (LLM) chat interactions with optional image input support." + }, + { + "author": "JohnDoeSmithee", + "title": "ComfyUI-SoX-Mixdown", + "reference": "https://github.com/JohnDoeSmithee/ComfyUI-SoX-Mixdown", + "files": [ + "https://github.com/JohnDoeSmithee/ComfyUI-SoX-Mixdown" + ], + "install_type": "git-clone", + "description": "A custom node for SoX's mixdown function. Make sure that the sox command is installed and the path added before using this node." + }, + { + "author": "JTriggerFish", + "title": "Comfy Latent Tools", + "reference": "https://github.com/JTriggerFish/ComfyLatentTools", + "files": [ + "https://github.com/JTriggerFish/ComfyLatentTools" + ], + "install_type": "git-clone", + "description": "A set of tools for manipulating latent tensors in ComfyUI" + }, + { + "author": "ProGamerGov", + "title": "PyTorch 360° Image Conversion Toolkit for ComfyUI", + "id": "comfyui-pytorch360convert", + "reference": "https://github.com/ProGamerGov/ComfyUI_pytorch360convert", + "files": [ + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for working with and converting between 360 degree equirectangular images, cubemap, and perspective images. Panoramic 360 images are also sometimes known as VR photography (virtual reality), HDRI environments (ex: skyboxes), image spheres, spherical images, 360 pano, and 360 degree photos." + }, + { + "author": "ProGamerGov", + "title": "Preview 360 Panorama for ComfyUI", + "id": "comfyui-preview360panorama", + "reference": "https://github.com/ProGamerGov/ComfyUI_preview360panorama", + "files": [ + "https://github.com/ProGamerGov/ComfyUI_preview360panorama" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for interactive 360° panorama image previews. Panoramic 360 images are also sometimes known as VR photography (virtual reality), HDRI environments (ex: skyboxes), image spheres, spherical images, 360 pano, and 360 degree photos." + }, + { + "author": "burnsbert", + "title": "EBU LMStudio LLM Integration", + "id": "ebu-lmstudio", + "reference": "https://github.com/burnsbert/ComfyUI-EBU-LMStudio", + "files": [ + "https://github.com/burnsbert/ComfyUI-EBU-LMStudio" + ], + "install_type": "git-clone", + "description": "Custom nodes for integrating LM Studio's LLM functionality into ComfyUI. Includes EBU-LMStudio-Load, EBU-LMStudio-Unload, and EBU-LMStudio-Request." + }, + { + "author": "SykkoAtHome", + "title": "Face Processor for ComfyUI", + "reference": "https://github.com/SykkoAtHome/ComfyUI_FaceProcessor", + "files": [ + "https://github.com/SykkoAtHome/ComfyUI_FaceProcessor" + ], + "install_type": "git-clone", + "description": "A custom node collection for ComfyUI that provides advanced face detection, alignment, and transformation capabilities using MediaPipe Face Mesh." + }, + { + "author": "Mattabyte", + "title": "ComfyUI Secure API Call", + "reference": "https://github.com/Mattabyte/ComfyUI-SecureApiCall", + "files": [ + "https://github.com/Mattabyte/ComfyUI-SecureApiCall" + ], + "install_type": "git-clone", + "description": "This package provides custom nodes to ComfyUI to POST data to a secure API." + }, + { + "author": "oxysoft", + "title": "ComfyUI-gowiththeflow", + "reference": "https://github.com/oxysoft/ComfyUI-gowiththeflow", + "files": [ + "https://github.com/oxysoft/ComfyUI-gowiththeflow" + ], + "install_type": "git-clone", + "description": "Implementation of GoWithTheFlow, original code at [a/https://github.com/Eyeline-Research/Go-with-the-Flow/](https://github.com/Eyeline-Research/Go-with-the-Flow/) and [a/https://github.com/RyannDaGreat/CommonSource/blob/master/noise_warp.py](https://github.com/RyannDaGreat/CommonSource/blob/master/noise_warp.py)" + }, + { + "author": "willmiao", + "title": "ComfyUI-Lora-Manager", + "reference": "https://github.com/willmiao/ComfyUI-Lora-Manager", + "files": [ + "https://github.com/willmiao/ComfyUI-Lora-Manager" + ], + "install_type": "git-clone", + "description": "LoRA Manager for ComfyUI - Access it at http://localhost:8188/loras for managing LoRA models with previews and metadata integration." + }, + { + "author": "tigeryy2", + "title": "ComfyUI Structured Outputs", + "reference": "https://github.com/tigeryy2/comfyui-structured-outputs", + "files": [ + "https://github.com/tigeryy2/comfyui-structured-outputs" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for LLM Structured Outputs with integration for prompting" + }, + { + "author": "Conor-Collins", + "title": "ComfyUI-CoCoTools", + "reference": "https://github.com/Conor-Collins/coco_tools", + "files": [ + "https://github.com/Conor-Collins/coco_tools" + ], + "install_type": "git-clone", + "description": "A set of custom nodes for ComfyUI providing advanced image processing, file handling, and utility functions." + }, + { + "author": "852wa", + "title": "ComfyUI-ColorshiftColor", + "reference": "https://github.com/852wa/ComfyUI-ColorshiftColor", + "files": [ + "https://github.com/852wa/ComfyUI-ColorshiftColor" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI.\nIt reduces colors based on a specified number and allows for adjustments to hue, saturation, and brightness.\nFeatures:Each parameter can be set to random, You can toggle masking (not changing colors) using color numbers, Mask inversion can also be toggled on or off." + }, + { + "author": "852wa", + "title": "ComfyUI-AdvancedAlphaProcessor", + "reference": "https://github.com/852wa/ComfyUI-AAP", + "files": [ + "https://github.com/852wa/ComfyUI-AAP" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI.\nFeatures:Removes white areas in the input image by making them transparent based on brightness, Outputs in black and transparent, Outputs in gray and transparent.\nThis is a simple node with the above functionalities implemented. It also supports sequential processing." + }, + { + "author": "ReBeating", + "title": "ComfyUI-Artist-Selector", + "reference": "https://github.com/ReBeating/ComfyUI-Artist-Selector", + "files": [ + "https://github.com/ReBeating/ComfyUI-Artist-Selector" + ], + "install_type": "git-clone", + "description": "A useful comfyui node named LoadArtistTag for selecting artist tags, including 1000+ single-artist tags and 300 mixed-artists tags." + }, + { + "author": "gmorks", + "title": "ComfyUI-SendToDiscord", + "reference": "https://github.com/gmorks/ComfyUI-SendToDiscord", + "files": [ + "https://github.com/gmorks/ComfyUI-SendToDiscord" + ], + "install_type": "git-clone", + "description": "ComfyUI-SendToDiscord is a custom node for ComfyUI that simplifies sending preview images to Discord via webhooks. It supports both single-image uploads and batch mode, making it an efficient tool for sharing your generated images directly with your Discord server." + }, + { + "author": "jinanlongen", + "title": "ComfyUI Prompt Expander Node", + "reference": "https://github.com/jinanlongen/ComfyUI-Prompt-Expander", + "files": [ + "https://github.com/jinanlongen/ComfyUI-Prompt-Expander" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that expands text prompts using the SuperPrompt-v1 T5 model. This node helps generate more detailed and descriptive prompts from simple input text, which can be particularly useful for image generation workflows." + }, + { + "author": "Style-Mosaic", + "title": "ComfyUI DINO-X Detector Node", + "reference": "https://github.com/Style-Mosaic/dino-x-comfyui-node", + "files": [ + "https://github.com/Style-Mosaic/dino-x-comfyui-node" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that integrates DINO-X API for object detection and segmentation. This node allows you to detect and segment objects in images using text prompts." + }, + { + "author": "checkbins", + "title": "checkbin-comfy", + "id": "checkbin", + "reference": "https://github.com/checkbins/checkbin-comfy", + "files": [ + "https://github.com/checkbins/checkbin-comfy" + ], + "install_type": "git-clone", + "description": "These nodes allow you to make Checkbin comparisons." + }, + { + "author": "GHOSTLXH", + "title": "ComfyUI-Counternodes", + "reference": "https://github.com/GHOSTLXH/ComfyUI-Counternodes", + "files": [ + "https://github.com/GHOSTLXH/ComfyUI-Counternodes" + ], + "install_type": "git-clone", + "description": "This node group contains a series of ComfyUI nodes with built-in counters and specific output results based on the counter's output, aimed at implementing folder traversal functionality in the ComfyUI frontend. For specific examples, please refer to the sample workflow. Of course, you can also use your imagination to create other interesting things." + }, + { + "author": "agilly1989", + "title": "ComfyUI_agilly1989_motorway", + "reference": "https://github.com/agilly1989/ComfyUI_agilly1989_motorway", + "files": [ + "https://github.com/agilly1989/ComfyUI_agilly1989_motorway" + ], + "install_type": "git-clone", + "description": "This my implemenation of a `pipe` in ComfyUI. Is it better or worse than others? No idea." + }, + { + "author": "AiartvnTeam", + "title": "A2V Multi Image Composite", + "id": "Aiartvn", + "reference": "https://github.com/aiartvn/A2V_Multi_Image_Composite", + "files": [ + "https://github.com/aiartvn/A2V_Multi_Image_Composite" + ], + "description": "Node for compositing multiple images with interactive preview and layer management", + "install_type": "git-clone", + "tags": ["image", "composite", "layer", "blend", "transform"] + }, + { + "author": "zentrocdot", + "title": "ComfyUI_Circle_Detection", + "reference": "https://github.com/zentrocdot/ComfyUI_Circle_Detection", + "files": [ + "https://github.com/zentrocdot/ComfyUI_Circle_Detection" + ], + "description": "Next to AI mathematical methods can be used for the detection of objects like a circle.", + "install_type": "git-clone" + }, + { + "author": "zentrocdot", + "title": "ComfyUI-RealESRGAN_Upscaler", + "reference": "https://github.com/zentrocdot/ComfyUI-RealESRGAN_Upscaler", + "files": [ + "https://github.com/zentrocdot/ComfyUI-RealESRGAN_Upscaler" + ], + "description": "This node uses the RealESRGAN model from [a/xinntao](https://github.com/xinntao/Real-ESRGAN).", + "install_type": "git-clone" + }, + { + "author": "zentrocdot", + "title": "ComfyUI-Simple_Image_To_Prompt", + "reference": "https://github.com/zentrocdot/ComfyUI-Simple_Image_To_Prompt", + "files": [ + "https://github.com/zentrocdot/ComfyUI-Simple_Image_To_Prompt" + ], + "description": "ComfyUI simple Image To Prompt node.", + "install_type": "git-clone" + }, + { + "author": "hgabha", + "title": "WWAA-CustomNodes", + "reference": "https://github.com/hgabha/WWAA-CustomNodes", + "files": [ + "https://github.com/hgabha/WWAA-CustomNodes" + ], + "install_type": "git-clone", + "description": "Custom Nodes by the team at WeirdWonderfulAI.Art. Line Count, Join String, Dither Image, Image Batch Loader, Prompt Writer" + }, + { + "author": "slvslvslv", + "title": "ComfyUI Smart Helper Nodes", + "reference": "https://github.com/slvslvslv/ComfyUI-SmartHelperNodes", + "files": [ + "https://github.com/slvslvslv/ComfyUI-SmartHelperNodes" + ], + "install_type": "git-clone", + "description": "NODES: Smart HunyuanVideo Lora Select, Smart HunyuanVideo Lora StackSmart Format String, Smart Format String (10 params)" + }, + { + "author": "Tr1dae", + "title": "ComfyUI-Dequality", + "reference": "https://github.com/Tr1dae/ComfyUI-Dequality", + "files": [ + "https://github.com/Tr1dae/ComfyUI-Dequality" + ], + "install_type": "git-clone", + "description": "Simple addition to add noise to an image. Found on reddit" + }, + { + "author": "greengerong", + "title": "Janus-Pro ComfyUI Plugin", + "reference": "https://github.com/greengerong/ComfyUI-JanusPro-PL", + "files": [ + "https://github.com/greengerong/ComfyUI-JanusPro-PL" + ], + "install_type": "git-clone", + "description": "This plugin integrates the Janus-Pro multi-modal model into ComfyUI, enabling advanced image understanding and text-to-image generation capabilities. It supports both image analysis and creative image generation workflows." + }, + { + "author": "greengerong", + "title": "ComfyUI-Lumina-Video", + "reference": "https://github.com/greengerong/ComfyUI-Lumina-Video", + "files": [ + "https://github.com/greengerong/ComfyUI-Lumina-Video" + ], + "install_type": "git-clone", + "description": "This is a video generation plugin implementation for ComfyUI based on the Lumina Video model." + }, + { + "author": "raindrop313", + "title": "ComfyUI_SD3_Flowedit", + "reference": "https://github.com/raindrop313/ComfyUI_SD3_Flowedit", + "files": [ + "https://github.com/raindrop313/ComfyUI_SD3_Flowedit" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes that support SD3/SD3.5 in FlowEdit" + }, + { + "author": "raindrop313", + "title": "ComfyUI-WanVideoStartEndFrames", + "reference": "https://github.com/raindrop313/ComfyUI-WanVideoStartEndFrames", + "files": [ + "https://github.com/raindrop313/ComfyUI-WanVideoStartEndFrames" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes that support video generation by start and end frames" + }, + { + "author": "satche", + "title": "Prompt Factory", + "reference": "https://github.com/satche/comfyui-prompt-factory", + "files": [ + "https://github.com/satche/comfyui-prompt-factory" + ], + "install_type": "git-clone", + "description": "A modular system that adds randomness to prompt generation" + }, + { + "author": "martin-rizzo", + "title": "ComfyUI-TinyBreaker", + "reference": "https://github.com/martin-rizzo/ComfyUI-TinyBreaker", + "files": [ + "https://github.com/martin-rizzo/ComfyUI-TinyBreaker" + ], + "install_type": "git-clone", + "description": "ComfyUI-TinyBreaker is a collection of custom nodes specifically designed to generate images using the TinyBreaker model. It's actively developed with ongoing improvements. Although still in progress, these nodes are functional and allow you to explore the potential of the model." + }, + { + "author": "Arkanun", + "title": "ReadCSV_ComfyUI", + "reference": "https://github.com/Arkanun/ReadCSV_ComfyUI", + "files": [ + "https://github.com/Arkanun/ReadCSV_ComfyUI" + ], + "install_type": "git-clone", + "description": "NODES: ReadCSVRowNode" + }, + { + "author": "gorillaframeai", + "title": "GF_translate", + "reference": "https://github.com/gorillaframeai/GF_translate", + "files": [ + "https://github.com/gorillaframeai/GF_translate" + ], + "install_type": "git-clone", + "description": "These custom nodes for ComfyUI provide advanced text translation capabilities using Google Translate. They are designed for seamless integration into the ComfyUI environment, offering users powerful tools for text and JSON file translation tasks." + }, + { + "author": "DragonDiffusionbyBoyo", + "title": "Boyonodes", + "reference": "https://github.com/DragonDiffusionbyBoyo/Boyonodes", + "files": [ + "https://github.com/DragonDiffusionbyBoyo/Boyonodes" + ], + "install_type": "git-clone", + "description": "The Vae node is a sneaky little node perfect for deployment in Schools or work environments where you do not want the kiddywinkles creating NSFW content. Just rename the node to VAE decode and it looks like a normal node but hidden inside is an NSFW detector. Once hidden in the workflow there are no settings to undo the NSFW detection so cannot be worked around unless you remove the node. The node looks innocent once renamed so is virtually undetectable. I have placed an example workflow for you to see how to connect it. Simple stuff really, but once connected just rename." + }, + { + "author": "StarAsh042", + "title": "ComfyUI_RollingArtist", + "reference": "https://github.com/StarAsh042/ComfyUI_RollingArtist", + "files": [ + "https://github.com/StarAsh042/ComfyUI_RollingArtist" + ], + "install_type": "git-clone", + "description": "RollingArtist is a ComfyUI node designed to generate artist prompt texts with random weights, suitable for text-to-image generation models. The node reads an artist list from a CSV file and generates combined prompts based on the parameters." + }, + { + "author": "magekinnarus", + "title": "ComfyUI-V-Prediction-Node", + "reference": "https://github.com/magekinnarus/ComfyUI-V-Prediction-Node", + "files": [ + "https://github.com/magekinnarus/ComfyUI-V-Prediction-Node" + ], + "install_type": "git-clone", + "description": "Node to set v-prediction sampling when using SDXL and other models that may not have the necessary metadata to identify it as a v-prediction model. This node is useful for quantized models since they lack the necessary metadata." + }, + { + "author": "CC-SUN6", + "title": "ccsun_node", + "reference": "https://github.com/CC-SUN6/ccsun_node", + "files": [ + "https://github.com/CC-SUN6/ccsun_node" + ], + "install_type": "git-clone", + "description": "About the comfyui image selector, image adjustment (panning, rotation, zoom), adjust image size to be a multiple of 8" + }, + { + "author": "DiaoDaiaChan", + "title": "Comfyui SDAPI Request / NovelAI", + "id": "diaodaiachan", + "reference": "https://github.com/DiaoDaiaChan/ComfyUI_API_Request", + "files": [ + "https://github.com/DiaoDaiaChan/ComfyUI_API_Request" + ], + "install_type": "git-clone", + "description": "A Novel AI / SD-WebUI request node, support nai3/nai4, use NovelAI model in Your Comfyui." + }, + { + "author": "dorpxam", + "title": "ComfyUI-LTXVideoLoRA", + "reference": "https://github.com/dorpxam/ComfyUI-LTXVideoLoRA", + "files": [ + "https://github.com/dorpxam/ComfyUI-LTXVideoLoRA" + ], + "install_type": "git-clone", + "description": "A set of custom nodes enabling LoRA support for LTX Video" + }, + { + "author": "asdrabael", + "title": "Hunyuan-Multi-Lora-Loader", + "id": "Hunyuan Multi-Lora Loader", + "reference": "https://github.com/asdrabael/Hunyuan-Multi-Lora-Loader", + "files": [ + "https://github.com/asdrabael/Hunyuan-Multi-Lora-Loader" + ], + "install_type": "git-clone", + "description": "ComfyUI Node for loading multiple Lora's [a/HunyuanVideo](https://github.com/Tencent/HunyuanVideo)" + }, + { + "author": "lingha", + "title": "comfyui_kj", + "id": "comfyui_kj", + "reference": "https://github.com/lingha0h/comfyui_kj", + "files": [ + "https://github.com/lingha0h/comfyui_kj" + ], + "install_type": "git-clone", + "description": "comfyui_kj, A tool that can package workflows into projects and publish them to a WeChat Mini Program named Kaji, allowing charges to be collected from users." + }, + { + "author": "vahlok-alunmid", + "title": "ComfyUI-ExtendIPAdapterClipVision", + "reference": "https://github.com/vahlok-alunmid/ComfyUI-ExtendIPAdapterClipVision", + "files": [ + "https://github.com/vahlok-alunmid/ComfyUI-ExtendIPAdapterClipVision" + ], + "install_type": "git-clone", + "description": "This extension provides two nodes to use with my experimental [a/ip-adapter finetune](https://civitai.com/models/1233692?modelVersionId=1390253) for NoobAI-XL style transfer. [a/Here](https://github.com/vahlok-alunmid/reForge-preprocessor_bigG_448) is the counterpart extension for Reforge WebUI." + }, + { + "author": "guerreiro", + "title": "Comfyg Switch", + "reference": "https://github.com/guerreiro/comfyg-switch", + "files": [ + "https://github.com/guerreiro/comfyg-switch" + ], + "install_type": "git-clone", + "description": "Comfyg Switch is a custom node that dynamically selects model configuration parameters based on the chosen checkpoint. It reads model-specific settings from a JSON file (model_configs.json)." + }, + { + "author": "yanhuifair", + "title": "comfyui-janus", + "reference": "https://github.com/yanhuifair/comfyui-janus", + "files": [ + "https://github.com/yanhuifair/comfyui-janus" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Janus" + }, + { + "author": "ShunL12324", + "title": "comfy-portal-endpoint", + "reference": "https://github.com/ShunL12324/comfy-portal-endpoint", + "files": [ + "https://github.com/ShunL12324/comfy-portal-endpoint" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI extension that provides additional API endpoints functionality, primarily designed to support Comfy Portal - a modern iOS client application for ComfyUI." + }, + { + "author": "burnsbert", + "title": "EBU LMStudio LLM Integration", + "id": "ebu-lmstudio", + "reference": "https://github.com/burnsbert/ComfyUI-EBU-LMStudio", + "files": [ + "https://github.com/burnsbert/ComfyUI-EBU-LMStudio" + ], + "install_type": "git-clone", + "description": "Custom nodes for integrating LM Studio's LLM functionality into ComfyUI. Includes EBU LMStudio Load, EBU LMStudio UnloadAll, and EBU LMStudio Make Request." + }, + { + "author": "burnsbert", + "title": "EBU PromptHelper", + "id": "ebu-prompthelper", + "reference": "https://github.com/burnsbert/ComfyUI-EBU-PromptHelper", + "files": [ + "https://github.com/burnsbert/ComfyUI-EBU-PromptHelper" + ], + "install_type": "git-clone", + "description": "Custom nodes for enhancing and manipulating prompts in ComfyUI. Includes nodes for random color palette generation following different color theory methodologies, prompt text replacement and randomization, list sampling, loading files into strings, and season/weather/time-of-day generation." + }, + { + "author": "ShinChven", + "title": "ShinChven's Custom Nodes Package", + "reference": "https://github.com/ShinChven/sc-comfy-nodes", + "files": [ + "https://github.com/ShinChven/sc-comfy-nodes" + ], + "install_type": "git-clone", + "description": "This project contains custom nodes for ComfyUI, developed by ShinChven. The nodes in this package extend the functionality of ComfyUI by providing additional features and utilities." + }, + { + "author": "vkff5833", + "title": "ComfyUI-MobileClient", + "reference": "https://github.com/vkff5833/ComfyUI-MobileClient", + "files": [ + "https://github.com/vkff5833/ComfyUI-MobileClient" + ], + "install_type": "git-clone", + "description": "Add a mobile-friendly web interface to ComfyUI." + }, + { + "author": "mediocreatmybest", + "title": "ComfyUI-Transformers-Pipeline", + "reference": "https://github.com/mediocreatmybest/ComfyUI-Transformers-Pipeline", + "files": [ + "https://github.com/mediocreatmybest/ComfyUI-Transformers-Pipeline" + ], + "install_type": "git-clone", + "description": "Additional ComfyUI nodes to utilise the Transformers pipeline in a simple and modular way." + }, + { + "author": "IrisRainbowNeko", + "title": "ascii-art-comfyui", + "reference": "https://github.com/Deep-Neko/ComfyUI_ascii_art", + "files": [ + "https://github.com/Deep-Neko/ComfyUI_ascii_art" + ], + "install_type": "git-clone", + "description": "ascii art preprocessors in ComfyUI" + }, + { + "author": "mie", + "title": "ComfyUI_MieNodes", + "reference": "https://github.com/MieMieeeee/ComfyUI-MieNodes", + "files": [ + "https://github.com/MieMieeeee/ComfyUI-MieNodes" + ], + "install_type": "git-clone", + "description": "Offering a series of utility nodes designed to simplify workflows and enhance efficiency" + }, + { + "author": "mie", + "title": "ComfyUI_CaptionThis", + "reference": "https://github.com/MieMieeeee/ComfyUI-CaptionThis", + "files": [ + "https://github.com/MieMieeeee/ComfyUI-CaptionThis" + ], + "install_type": "git-clone", + "description": "Describe a single image or all images in a directory using models such as Janus Pro, Florence2, or JoyCaption (testing), with a particular focus on building datasets for training LoRA." + }, + { + "author": "mie", + "title": "ComfyUI-MinioConnector", + "reference": "https://github.com/MieMieeeee/ComfyUI-MinioConnector", + "files": [ + "https://github.com/MieMieeeee/ComfyUI-MinioConnector" + ], + "install_type": "git-clone", + "description": "Provides a series of utility nodes designed for interacting with MinIO, including functionalities such as uploading and downloading files and folders, as well as creating buckets if they do not already exist." + }, + { + "author": "lum3on", + "title": "LLM Polymath Chat Node", + "id": "polymath", + "reference": "https://github.com/lum3on/comfyui_LLM_Polymath", + "files": [ + "https://github.com/lum3on/comfyui_LLM_Polymath" + ], + "install_type": "git-clone", + "description": "Advanced LLM driven node with many custom instructions, including node finder, expert prompter and json converter." + }, + { + "author": "austinbrown34", + "title": "ComfyUI-IO-Helpers", + "reference": "https://github.com/austinbrown34/ComfyUI-IO-Helpers", + "files": [ + "https://github.com/austinbrown34/ComfyUI-IO-Helpers" + ], + "install_type": "git-clone", + "description": "A custom nodes package for ComfyUI that enhances workflow flexibility by providing specialized nodes for saving and loading intermediate data (encoded prompts and sampled latents) in multiple formats. This package leverages helper classes for file I/O, supports gzip compression for efficient storage, and integrates progress feedback via a progress bar to improve user experience during long operations." + }, + { + "author": "HowToSD", + "title": "ComfyUI-Data-Analysis", + "reference": "https://github.com/HowToSD/ComfyUI-Data-Analysis", + "files": [ + "https://github.com/HowToSD/ComfyUI-Data-Analysis" + ], + "install_type": "git-clone", + "description": "Data analysis custom modules for ComfyUI - Use Pandas & Matplotlib from within ComfyUI" + }, + { + "author": "HowToSD", + "title": "ComfyUI-Pt-Wrapper", + "reference": "https://github.com/HowToSD/ComfyUI-Pt-Wrapper", + "files": [ + "https://github.com/HowToSD/ComfyUI-Pt-Wrapper" + ], + "install_type": "git-clone", + "description": "PyTorch extension for ComfyUI featuring extensive PyTorch wrapper nodes for seamless tensor operations and PyTorch model training." + }, + { + "author": "dasilva333", + "title": "ComfyUI_ContrastingColor", + "reference": "https://github.com/dasilva333/ComfyUI_ContrastingColor", + "files": [ + "https://github.com/dasilva333/ComfyUI_ContrastingColor" + ], + "install_type": "git-clone", + "description": "This node calculates a contrasting complementary color based on an input RGB color. The goal is to ensure visibility and contrast when overlaying text, UI elements, or graphical components against a given background color." + }, + { + "author": "dasilva333", + "title": "ComfyUI_MarkdownImage", + "reference": "https://github.com/dasilva333/ComfyUI_MarkdownImage", + "files": [ + "https://github.com/dasilva333/ComfyUI_MarkdownImage" + ], + "install_type": "git-clone", + "description": "This project generates an image from Markdown text using imgkit and wkhtmltoimage. It automatically scales the text to fit within the specified image dimensions." + }, + { + "author": "moon7star9", + "title": "ComfyUI_BiRefNet_Universal", + "reference": "https://github.com/moon7star9/ComfyUI_BiRefNet_Universal", + "files": [ + "https://github.com/moon7star9/ComfyUI_BiRefNet_Universal" + ], + "install_type": "git-clone", + "description": "A comprehensive node package that seamlessly integrates all BiRefNet series models into ComfyUI" + }, + { + "author": "wirytiox", + "title": "ComfyUI-SelectStringFromListWithIndex", + "id": "ComfyUI-SelectStringFromListWithIndex", + "reference": "https://github.com/wirytiox/ComfyUI-SelectStringFromListWithIndex", + "files": [ + "https://github.com/wirytiox/ComfyUI-SelectStringFromListWithIndex" + ], + "install_type": "git-clone", + "description": "This node is a node made by GMapeSplat/ComfyUI_ezXY that i copied while his node doesn't work" + }, + { + "author": "TheAIDoctor", + "title": "The AI Doctors Clinical Tools", + "id": "The-AI-Doctors-Clinical-Tools", + "reference": "https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools", + "files": [ + "https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools" + ], + "install_type": "git-clone", + "description": "Nodes: Multi Int and Multi Text; allows for the creation of multiple int and multiple string storage and output from a single node. Multi Float coming soon." + }, + { + "author": "Mohammadreza Mohseni", + "title": "ComfyUI Mohseni Kit", + "id": "mohseni-kit", + "reference": "https://github.com/mohseni-mr/ComfyUI-Mohseni-Kit", + "files": [ + "https://github.com/mohseni-mr/ComfyUI-Mohseni-Kit" + ], + "install_type": "git-clone", + "description": "A collection of useful nodes for ComfyUI, including Float Preview for live image visualization." + }, + { + "author": "BuffMcBigHuge", + "title": "ComfyUI-Zonos", + "reference": "https://github.com/BuffMcBigHuge/ComfyUI-Zonos", + "files": [ + "https://github.com/BuffMcBigHuge/ComfyUI-Zonos" + ], + "install_type": "git-clone", + "description": "TTS with Zyphra Zonos" + }, + { + "author": "BahaC", + "title": "ComfyUI Zonos TTS Node", + "reference": "https://github.com/BahaC/ComfyUI-ZonosTTS", + "files": [ + "https://github.com/BahaC/ComfyUI-ZonosTTS" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that brings Zonos Text-to-Speech capabilities to your workflows, featuring high-quality speech synthesis and voice cloning." + }, + { + "author": "dzqdzq", + "title": "ComfyUI-crop-alpha", + "reference": "https://github.com/dzqdzq/ComfyUI-crop-alpha", + "files": [ + "https://github.com/dzqdzq/ComfyUI-crop-alpha" + ], + "install_type": "git-clone", + "description": "Automatic cropping of transparent areas to prevent images from being too large, while also supporting resizing to prevent image dimensions from being too large." + }, + { + "author": "bbtaivi", + "title": "AIV ComfyUI Node", + "reference": "https://github.com/bbtaivi/ComfyUI-Aiv-Param", + "files": [ + "https://github.com/bbtaivi/ComfyUI-Aiv-Param" + ], + "install_type": "git-clone", + "description": "Used to convert workflow node settings into AIV mini-program parameters." + }, + { + "author": "PrunaAI", + "title": "Pruna nodes for ComfyUI", + "reference": "https://github.com/PrunaAI/ComfyUI_pruna", + "files": [ + "https://github.com/PrunaAI/ComfyUI_pruna" + ], + "install_type": "git-clone", + "description": "This repository explains how to accelerate image generation in ComfyUI using Pruna, an inference optimization engine that makes AI models faster, smaller, cheaper, and greener. ComfyUI is a popular node-based GUI for image generation models, for which we provide a custom compilation node that accelerates Stable Diffusion (SD) and Flux inference, while preserving output quality." + }, + { + "author": "Hellfiredragon", + "title": "comfyui-image-manipulation", + "reference": "https://github.com/Hellfiredragon/comfyui-image-manipulation", + "files": [ + "https://github.com/Hellfiredragon/comfyui-image-manipulation" + ], + "install_type": "git-clone", + "description": "Custom nodes to manipulate images in ComfyUI" + }, + { + "author": "lunarring", + "title": "bitalino_comfy", + "reference": "https://github.com/lunarring/bitalino_comfy", + "files": [ + "https://github.com/lunarring/bitalino_comfy" + ], + "install_type": "git-clone", + "description": "A package implementing a Bitalino device ComfyUI custom node." + }, + { + "author": "AIDC-AI", + "title": "ComfyUI-Copilot", + "id": "ComfyUI-Copilot", + "reference": "https://github.com/AIDC-AI/ComfyUI-Copilot", + "files": [ + "https://github.com/AIDC-AI/ComfyUI-Copilot" + ], + "install_type": "git-clone", + "description": "Your Intelligent Assistant for Comfy-UI." + }, + { + "author": "attashe", + "title": "ComfyUI-FluxRegionAttention", + "reference": "https://github.com/attashe/ComfyUI-FluxRegionAttention", + "files": [ + "https://github.com/attashe/ComfyUI-FluxRegionAttention" + ], + "install_type": "git-clone", + "description": "Implement Region Attention for Flux model. Add node RegionAttention that takes a regions - mask + condition, mask could be set from comfyui masks or bbox in FluxRegionBBOX node.\nThis code is not optimized and has a memory leak. If you caught a OOM just try run a query againg - works on my RTX3080. For generation it uses a usual prompt that have influence to all picture and a regions that have their own prompts.\nBase prompt good for setup background and style of image. This is train-free technique and results not always stable - sometimes need to try several seeds or change prompt." + }, + { + "author": "RodrigoSKohl", + "title": "Interior Design for Comfyui", + "reference": "https://github.com/RodrigoSKohl/StableDesign-for-ComfyUI", + "files": [ + "https://github.com/RodrigoSKohl/StableDesign-for-ComfyUI" + ], + "install_type": "git-clone", + "description": "This node is based on MykolaL/StableDesign" + }, + { + "author": "yas-ponotech", + "title": "ComfyUI-Stability-AI-API", + "reference": "https://github.com/yhayano-ponotech/comfyui-stability-ai-api", + "files": [ + "https://github.com/yhayano-ponotech/comfyui-stability-ai-api" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for using the Stability AI API in ComfyUI." + }, + { + "author": "HJH-AILab", + "title": "ComfyUI_StableAnimator", + "reference": "https://github.com/HJH-AILab/ComfyUI_StableAnimator", + "files": [ + "https://github.com/HJH-AILab/ComfyUI_StableAnimator" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for StableAnimator" + }, + { + "author": "Easymode-ai", + "title": "ComfyUI-ShadowR", + "reference": "https://github.com/Easymode-ai/ComfyUI-ShadowR", + "files": [ + "https://github.com/Easymode-ai/ComfyUI-ShadowR" + ], + "install_type": "git-clone", + "description": "ComfyUI [a/movingforward100/Shadow_R](https://github.com/movingforward100/Shadow_R) Wrapper" + }, + { + "author": "Easymode-ai", + "title": "ComfyUI-BPT", + "reference": "https://github.com/Easymode-ai/ComfyUI-BPT", + "files": [ + "https://github.com/Easymode-ai/ComfyUI-BPT" + ], + "install_type": "git-clone", + "description": "Comfyui [a/BPT](https://github.com/whaohan/bpt) Wrapper (Trimesh in/out connections)" + }, + { + "author": "GamingDaveUk", + "title": "Daves Nodes", + "id": "davesnodes", + "reference": "https://github.com/GamingDaveUk/daves_nodes", + "files": [ + "https://github.com/GamingDaveUk/daves_nodes" + ], + "install_type": "git-clone", + "description": "Nodes that I needed but couldnt find, so ended up making." + }, + { + "author": "chenlongming", + "title": "ComfyUI_Spectral", + "reference": "https://github.com/chenlongming/ComfyUI_Spectral", + "files": [ + "https://github.com/chenlongming/ComfyUI_Spectral" + ], + "install_type": "git-clone", + "description": "ComfyUI Spectral is a ComfyUI custom nodes library based on the spectral, mainly used for visual processing of spectral files" + }, + { + "author": "Chengym2023", + "title": "ComfyUI-DeepSeek_Online", + "reference": "https://github.com/Chengym2023/ComfyUI-DeepSeek_Online", + "files": [ + "https://github.com/Chengym2023/ComfyUI-DeepSeek_Online" + ], + "install_type": "git-clone", + "description": "NODES: SiliconCloudReasoning, DeepSeekOnline" + }, + { + "author": "gitmylo", + "title": "Audio nodes", + "reference": "https://github.com/gitmylo/ComfyUI-audio-nodes", + "files": [ + "https://github.com/gitmylo/ComfyUI-audio-nodes" + ], + "install_type": "git-clone", + "description": "Various nodes related to audio." + }, + { + "author": "aicuai", + "title": "aicu-comfyui-stability-ai-api", + "reference": "https://github.com/aicuai/aicu-comfyui-stability-ai-api", + "files": [ + "https://github.com/aicuai/aicu-comfyui-stability-ai-api" + ], + "install_type": "git-clone", + "description": "This repository contains custom nodes for Stability AI API which supports SD3.0 and 3.5." + }, + { + "author": "benda1989", + "title": "CosyVoice2 for ComfyUI", + "reference": "https://github.com/benda1989/CosyVoice2_ComfyUI", + "files": [ + "https://github.com/benda1989/CosyVoice2_ComfyUI" + ], + "install_type": "git-clone", + "description": "A plugin of ComfyUI for CosyVoice2, one component for text to Sonic Video" + }, + { + "author": "benda1989", + "title": "GKK·Sonic", + "reference": "https://github.com/benda1989/Sonic_ComfyUI", + "files": [ + "https://github.com/benda1989/Sonic_ComfyUI" + ], + "install_type": "git-clone", + "description": "a plugin of ComfyUI for Long Sonic" + }, + { + "author": "morgan55555", + "title": "ComfyUI Lock Mode", + "reference": "https://github.com/morgan55555/comfyui-lock-mode", + "files": [ + "https://github.com/morgan55555/comfyui-lock-mode" + ], + "install_type": "git-clone", + "description": "Lock Mode feature for ComfyUI. Make simple no-code UI easily." + }, + { + "author": "pathway8-sudo", + "title": "ComfyUI-Pathway-CutPNG-Node", + "reference": "https://github.com/pathway8-sudo/ComfyUI-Pathway-CutPNG-Node", + "files": [ + "https://github.com/pathway8-sudo/ComfyUI-Pathway-CutPNG-Node" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node that uses BRIA RMBG v1.4 for background removal and PNG cutting." + }, + { + "author": "crave33", + "title": "RenesStuffDanboruTagGet", + "reference": "https://github.com/crave33/RenesStuffDanboruTagGet", + "files": [ + "https://github.com/crave33/RenesStuffDanboruTagGet" + ], + "install_type": "git-clone", + "description": "generate tags / prompt from danboru image_id input" + }, + { + "author": "MeeeyoAI", + "title": "ComfyUI_StringOps", + "reference": "https://github.com/MeeeyoAI/ComfyUI_StringOps", + "files": [ + "https://github.com/MeeeyoAI/ComfyUI_StringOps" + ], + "install_type": "git-clone", + "description": "StringOps is a versatile text processing toolkit built for ComfyUI's node-based workflows" + }, + { + "author": "svetozarov", + "title": "AS_GeminiCaptioning Node", + "reference": "https://github.com/svetozarov/AS_GeminiCaptioning", + "files": [ + "https://github.com/svetozarov/AS_GeminiCaptioning" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that combines an image with simple text parameters to create a prompt, sends it to the Google Gemini API via the google-generativeai SDK, and returns the generated text response along with the original prompt and an execution log" + }, + { + "author": "Pablerdo", + "title": "ComfyUI-MultiCutAndDrag", + "reference": "https://github.com/Pablerdo/ComfyUI-MultiCutAndDrag", + "files": [ + "https://github.com/Pablerdo/ComfyUI-MultiCutAndDrag" + ], + "install_type": "git-clone", + "description": "Cut and and drag that allows you to cut and drag multiple images on a path" + }, + { + "author": "Pablerdo", + "title": "ComfyUI-ZeptaframePromptMerger", + "reference": "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger", + "files": [ + "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger" + ], + "install_type": "git-clone", + "description": "Custom node that merges general and subject-specific prompts" + }, + { + "author": "orange90", + "title": " ComfyUI-Regex-Runner", + "id": "comfyui-regex-runner", + "reference": "https://github.com/orange90/ComfyUI-Regex-Runner", + "files": [ + "https://github.com/orange90/ComfyUI-Regex-Runner" + ], + "install_type": "git-clone", + "description": "This is a node to run regex for strings." + }, + { + "author": "SirWillance", + "title": "FoW - Light", + "id": "fow-suite-light", + "reference": "https://github.com/SirWillance/FoW_Suite_LIGHT", + "files": [ + "https://github.com/SirWillance/FoW_Suite_LIGHT" + ], + "install_type": "git-clone", + "description": "A Beginner-friendly Node Suite for prompt refinement in ComfyUI, including custom nodes for weighting, splitting, combining, catalogues, and the PromptRefiner for a simple prompt interface. For more info, join me on https://www.twitch.tv/sirwillance. Be one of the first 50 followers to get a FREE upgrade to the Standard Tier!" + }, + { + "author": "KAVVATARE", + "title": " ComfyUI-Light-N-Color", + "reference": "https://github.com/KAVVATARE/ComfyUI-Light-N-Color", + "files": [ + "https://github.com/KAVVATARE/ComfyUI-Light-N-Color" + ], + "install_type": "git-clone", + "description": "ComfyUI node that adds Brightness, RGB channels, and Depth of Field to AI-generated image" + }, + { + "author": "fat-tire", + "title": "ComfyUI Unified Media Suite", + "reference": "https://github.com/fat-tire/comfyui-unified-media-suite", + "files": [ + "https://github.com/fat-tire/comfyui-unified-media-suite" + ], + "install_type": "git-clone", + "description": "Lightweight [a/PyAV](https://pypi.org/project/av/)-powered ComfyUI nodes to load/save multimedia." + }, + { + "author": "ajbergh", + "title": "comfyui-ethnicity_hairstyle_clip_encoder", + "reference": "https://github.com/ajbergh/comfyui-ethnicity_hairstyle_clip_encoder", + "files": [ + "https://github.com/ajbergh/comfyui-ethnicity_hairstyle_clip_encoder" + ], + "install_type": "git-clone", + "description": "This ComfyUI custom node enhances the standard CLIP text encoding functionality by integrating ethnicity and hairstyle selection into the positive prompt. Designed to work seamlessly with ComfyUI, this node allows you to influence the conditioning process by dynamically appending descriptive modifiers. Users can choose a specific ethnicity or hairstyle, or opt for a 'random' selection that picks an option from a predefined CSV list." + }, + { + "author": "moose-lab", + "title": "ComfyUI-GPT", + "reference": "https://github.com/moose-lab/ComfyUI-GPT", + "files": [ + "https://github.com/moose-lab/ComfyUI-GPT" + ], + "install_type": "git-clone", + "description": "Help comfy deisgner develope custom nodes by foreground GUI without any coding knowledge, complementing the workflow what you design with LLM automatically" + }, + { + "author": "zichongc", + "title": "ComfyUI-Attention-Distillation", + "reference": "https://github.com/zichongc/ComfyUI-Attention-Distillation", + "files": [ + "https://github.com/zichongc/ComfyUI-Attention-Distillation" + ], + "install_type": "git-clone", + "description": "Non-native [a/AttentionDistillation](https://github.com/xugao97/AttentionDistillation) for ComfyUI.\nOfficial ComfyUI demo for the paper AttentionDistillation, implemented as an extension of ComfyUI. Note that this extension incorporates AttentionDistillation using diffusers." + }, + { + "author": "PanicTitan", + "title": "ComfyUI-Fooocus-V2-Expansion", + "reference": "https://github.com/PanicTitan/ComfyUI-Fooocus-V2-Expansion", + "files": [ + "https://github.com/PanicTitan/ComfyUI-Fooocus-V2-Expansion" + ], + "install_type": "git-clone", + "description": "Adaptation of Fooocus Prompt Expansion for ComfyUI\nForked from [a/ComfyUI-Prompt-Expansion](https://github.com/meap158/ComfyUI-Prompt-Expansion) with some updates and changes based on original Fooocus, to be more specific [a/expansion.py](https://github.com/lllyasviel/Fooocus/blob/main/extras/expansion.py) and [a/LykosAI - GPT-Prompt-Expansion-Fooocus-v2](https://huggingface.co/LykosAI/GPT-Prompt-Expansion-Fooocus-v2)" + }, + { + "author": "panic-titan", + "title": "ComfyUI-Gallery", + "reference": "https://github.com/PanicTitan/ComfyUI-Gallery", + "files": [ + "https://github.com/PanicTitan/ComfyUI-Gallery" + ], + "install_type": "git-clone", + "description": "Real-time Output Gallery for ComfyUI with image metadata inspection." + }, + { + "author": "maximclouser", + "title": "ComfyUI-InferenceTimeScaling", + "reference": "https://github.com/YRIKKA/ComfyUI-InferenceTimeScaling", + "files": [ + "https://github.com/YRIKKA/ComfyUI-InferenceTimeScaling" + ], + "install_type": "git-clone", + "description": "Inference-time techniques to enhance diffusion-based image generation quality through random search and zero-order optimization algorithms" + }, + { + "author": "marawan206", + "title": "Face Cropper Node (2:3 Ratio)", + "reference": "https://github.com/marawan206/ComfyUI-FaceCropper", + "files": [ + "https://github.com/marawan206/ComfyUI-FaceCropper" + ], + "install_type": "git-clone", + "description": "The Face Cropper Node (MarwanFaceCropping) is a custom image processing node designed for ComfyUI. It takes an input image and crops it to a 2:3 aspect ratio, ensuring that most of the subject remains in the frame while maintaining the correct proportions." + }, + { + "author": "JiSenHua", + "title": "ComfyUI-TD", + "id": "touchdesigner", + "reference": "https://github.com/JiSenHua/ComfyUI-TD", + "files": [ + "https://github.com/JiSenHua/ComfyUI-TD" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI designed to facilitate the real-time transmission of rendered images, videos, or 3D models to TouchDesigner." + }, + { + "author": "InceptionsAI", + "title": "ComfyUI-RunComfy-Helper", + "reference": "https://github.com/InceptionsAI/ComfyUI-RunComfy-Helper", + "files": [ + "https://github.com/InceptionsAI/ComfyUI-RunComfy-Helper" + ], + "install_type": "git-clone", + "description": "Helper nodes for [a/RunComfy](https://www.runcomfy.com)" + }, + { + "author": "fluffydiveX", + "title": "ComfyUI-hvBlockswap", + "reference": "https://github.com/fluffydiveX/ComfyUI-hvBlockswap", + "files": [ + "https://github.com/fluffydiveX/ComfyUI-hvBlockswap" + ], + "install_type": "git-clone", + "description": "It is a simple HunyuanVideo block swap node for ComfyUI native nodes." + }, + { + "author": "keit", + "title": "ComfyUI-Image-Toolkit", + "id": "comfyui-image-toolkit", + "reference": "https://github.com/keit0728/ComfyUI-Image-Toolkit", + "files": [ + "https://github.com/keit0728/ComfyUI-Image-Toolkit" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for image processing." + }, + { + "author": "Mango1010", + "title": "Mango Node Pack", + "id": "MangoNodePack", + "reference": "https://github.com/mang01010/MangoNodePack", + "files": [ + "https://github.com/mang01010/MangoNodePack" + ], + "install_type": "git-clone", + "description": "Node pack designed to save images with metadata supported by Civitai." + }, + { + "author": "0xRavenBlack", + "title": "ComfyUI-OOP", + "reference": "https://github.com/0xRavenBlack/ComfyUI-OOP", + "files": [ + "https://github.com/0xRavenBlack/ComfyUI-OOP" + ], + "install_type": "git-clone", + "description": "ComfyUI Node to create Object-Oriented Prompts" + }, + { + "author": "Legorobotdude", + "title": "ComfyUI-VariationLab", + "reference": "https://github.com/Legorobotdude/ComfyUI-VariationLab", + "files": [ + "https://github.com/Legorobotdude/ComfyUI-VariationLab" + ], + "install_type": "git-clone", + "description": "Helps explore different parameters quickly" + }, + { + "author": "lthero", + "title": "ComfyUI-GaussianShadingWatermark", + "reference": "https://github.com/lthero-big/ComfyUI-GaussianShadingWatermark", + "files": [ + "https://github.com/lthero-big/ComfyUI-GaussianShadingWatermark" + ], + "install_type": "git-clone", + "description": "Add invisible watermark to images to protect your images" + }, + { + "author": "JohanK66", + "title": "ComfyUI WebhookImage", + "reference": "https://github.com/JohanK66/ComfyUI-WebhookImage", + "files": [ + "https://github.com/JohanK66/ComfyUI-WebhookImage" + ], + "install_type": "git-clone", + "description": "This package provides a custom node to ComfyUI to send a message and image by means of a webhook" + }, + { + "author": "mr7thing", + "title": "Circle Pattern Processor for ComfyUI", + "reference": "https://github.com/mr7thing/circle_pattern_processor", + "files": [ + "https://github.com/mr7thing/circle_pattern_processor" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that can detect circular patterns in an image and generate a standardized circular output." + }, + { + "author": "TheWhykiki", + "title": "Whykiki ComfyUI Toolset", + "reference": "https://github.com/TheWhykiki/Whykiki-ComfyUIToolset", + "files": [ + "https://github.com/TheWhykiki/Whykiki-ComfyUIToolset" + ], + "install_type": "git-clone", + "description": "A collection of useful nodes for ComfyUI that provide various workflow enhancements." + }, + { + "author": "justin-vt", + "title": "ComfyUI-brushstrokes", + "reference": "https://github.com/justin-vt/ComfyUI-brushstrokes", + "files": [ + "https://github.com/justin-vt/ComfyUI-brushstrokes" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that applies painterly/brush-stroke effects to images, using either ImageMagick (Wand) or G'MIC (gmic-py) under the hood." + }, + { + "author": "pxl-pshr", + "title": "GlitchNodes", + "reference": "https://github.com/pxl-pshr/GlitchNodes", + "files": [ + "https://github.com/pxl-pshr/GlitchNodes" + ], + "install_type": "git-clone", + "description": "GlitchNodes is a collection of image processing nodes designed for ComfyUI that specializes in creating glitch art and retro effects." + }, + { + "author": "S4MUEL-404", + "title": "Image Position Blend", + "id": "ComfyUI-Image-Position-Blend", + "version": "1.1", + "reference": "https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend" + ], + "install_type": "git-clone", + "description": "A custom node for conveniently adjusting the overlay position of two images." + }, + { + "author": "S4MUEL-404", + "title": "ComfyUI-Text-On-Image", + "id": "ComfyUI-Text-On-Image", + "reference": "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows users to add text overlays to images with customizable size, font, position, and shadow." + }, + { + "author": "S4MUEL-404", + "title": "ComfyUI-Prompts-Selector", + "reference": "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector" + ], + "install_type": "git-clone", + "description": "Quickly select preset prompts and merge them" + }, + { + "author": "S4MUEL-404", + "title": "ComfyUI-S4Tool-Image-Overlay", + "reference": "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay" + ], + "install_type": "git-clone", + "description": "Quickly set up image overlay effects" + }, + { + "author": "ZYK-AI", + "title": "ComfyUI-YK Line loading", + "id": "ComfyUI-YK_Line loading", + "reference": "https://github.com/sittere/ComfyUI-YK_Line-loading", + "files": [ + "https://github.com/sittere/ComfyUI-YK_Line-loading" + ], + "install_type": "git-clone", + "description": "Plugin that implements world automatic typesetting and outputs only one paragraph of text" + }, + { + "author": "Jerome Bacquet", + "title": "ComfyUI XenoFlow", + "id": "XenoFlow", + "reference": "https://github.com/jerome7562/ComfyUI-XenoFlow", + "files": [ + "https://github.com/jerome7562/ComfyUI-XenoFlow" + ], + "install_type": "git-clone", + "description": "Implementation of Instance nodes, Replicate nodes, and standard Save UI to improve the workflow into ComfyUI." + }, + { + "author": "chenpipi0807", + "title": "PIP Artistic Words for ComfyUI", + "reference": "https://github.com/chenpipi0807/PIP_ArtisticWords", + "files": [ + "https://github.com/chenpipi0807/PIP_ArtisticWords" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI extension node that allows you to add various exquisite artistic text effects to your images, supporting a wide range of text styles and effects." + }, + { + "author": "chenpipi0807", + "title": "ComfyUI NSFW Filter", + "reference": "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie", + "files": [ + "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie" + ], + "install_type": "git-clone", + "description": "A simple and effective ComfyUI custom node for filtering inappropriate text content, automatically detecting and replacing prohibited words while preserving the original format." + }, + { + "author": "ifmylove2011", + "title": "comfyui-missing-tool", + "reference": "https://github.com/ifmylove2011/comfyui-missing-tool", + "files": [ + "https://github.com/ifmylove2011/comfyui-missing-tool" + ], + "install_type": "git-clone", + "description": "NODES: TrimBG, TrimBG Advanced, Image Queue Loader, Load Image Alpha.\nA few tools for ComfyUI, perhaps it's exactly what you need." + }, + { + "author": "illuminatianon", + "title": "CSV Wildcard Node for ComfyUI", + "reference": "https://github.com/illuminatianon/comfyui-csvwildcards", + "files": [ + "https://github.com/illuminatianon/comfyui-csvwildcards" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that provides dynamic text substitution using wildcards and CSV files. Perfect for creating varied prompts with consistent relationships between terms." + }, + { + "author": "finegrain", + "title": "comfyui-finegrain", + "reference": "https://github.com/finegrain-ai/comfyui-finegrain", + "files": [ + "https://github.com/finegrain-ai/comfyui-finegrain" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes to interact with the Finegrain API." + }, + { + "author": "Diohim", + "title": "ComfyUI Unusual Tools", + "reference": "https://github.com/Diohim/ComfyUI-Unusual-Tools", + "files": [ + "https://github.com/Diohim/ComfyUI-Unusual-Tools" + ], + "install_type": "git-clone", + "description": "A collection of unusual but useful image processing nodes for ComfyUI." + }, + { + "author": "penposs", + "title": "ComfyUI Gemini Pro Node", + "reference": "https://github.com/penposs/ComfyUI_Gemini_Pro", + "files": [ + "https://github.com/penposs/ComfyUI_Gemini_Pro" + ], + "install_type": "git-clone", + "description": "This is a Google Gemini Pro API integration node for ComfyUI, supporting text, image, video, and audio inputs." + }, + { + "author": "cardenluo", + "title": "ComfyUI-Apt_Preset", + "reference": "https://github.com/cardenluo/ComfyUI-Apt_Preset", + "files": [ + "https://github.com/cardenluo/ComfyUI-Apt_Preset" + ], + "install_type": "git-clone", + "description": "ComfyUI Preset Manager, supporting various preset templates and workflow management" + }, + { + "author": "Holasyb918", + "title": "Ghost2_Comfyui", + "reference": "https://github.com/Holasyb918/Ghost2_Comfyui", + "files": [ + "https://github.com/Holasyb918/Ghost2_Comfyui" + ], + "install_type": "git-clone", + "description": "ComfyUI adaptation of [a/GHOST 2.0](https://github.com/ai-forever/ghost-2.0)." + }, + { + "author": "mit-han-lab", + "title": "ComfyUI-nunchaku", + "reference": "https://github.com/mit-han-lab/ComfyUI-nunchaku", + "files": [ + "https://github.com/mit-han-lab/ComfyUI-nunchaku" + ], + "install_type": "git-clone", + "description": "Nunchaku ComfyUI Node. Nunchaku is the inference that supports SVDQuant. SVDQuant is a new post-training training quantization paradigm for diffusion models, which quantize both the weights and activations of FLUX.1 to 4 bits, achieving 3.5× memory and 8.7× latency reduction on a 16GB laptop 4090 GPU. See more details: https://github.com/mit-han-lab/nunchaku" + }, + { + "author": "billwuhao", + "title": "ComfyUI_DiffRhythm", + "reference": "https://github.com/billwuhao/ComfyUI_DiffRhythm", + "files": [ + "https://github.com/billwuhao/ComfyUI_DiffRhythm" + ], + "install_type": "git-clone", + "description": "Blazingly Fast and Embarrassingly Simple End-to-End Full-Length Song Generation. A node for ComfyUI." + }, + { + "author": "Nikosis", + "title": "ComfyUI-Nikosis-Nodes", + "reference": "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes", + "files": [ + "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes" + ], + "install_type": "git-clone", + "description": "Nodes: Aspect Ratio, Prompt Multiple Styles Selector, Text Concatenate" + }, + { + "author": "vadimcro", + "title": "VKRiez-Edge", + "reference": "https://github.com/vadimcro/VKRiez-Edge", + "files": [ + "https://github.com/vadimcro/VKRiez-Edge" + ], + "install_type": "git-clone", + "description": "A collection of advanced edge detection nodes for ComfyUI that generate high-quality edge maps / contours for usage with ControlNet Canny / Anyline guidance." + }, + { + "author": "Duanyll", + "title": "Duanyll Nodepack", + "reference": "https://github.com/Duanyll/duanyll_nodepack", + "files": [ + "https://github.com/Duanyll/duanyll_nodepack" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "irreveloper", + "title": "ComfyUI-DSD", + "reference": "https://github.com/irreveloper/ComfyUI-DSD", + "files": [ + "https://github.com/irreveloper/ComfyUI-DSD" + ], + "install_type": "git-clone", + "description": "An Unofficial ComfyUI custom node package that integrates [a/Diffusion Self-Distillation (DSD)](https://github.com/primecai/diffusion-self-distillation) for zero-shot customized image generation.\nDSD is a model for subject-preserving image generation that allows you to create images of a specific subject in novel contexts without per-instance tuning." + }, + { + "author": "HannibalP", + "title": "comfyui-HannibalPack", + "reference": "https://github.com/HannibalP/comfyui-HannibalPack", + "files": [ + "https://github.com/HannibalP/comfyui-HannibalPack" + ], + "install_type": "git-clone", + "description": "This node improves the merging of LoRA for movements and physical resemblance when adding multiple LoRA to a model." + }, + { + "author": "xingBaGan", + "title": "ComfyUI-connect-ui", + "reference": "https://github.com/xingBaGan/ComfyUI-connect-ui", + "files": [ + "https://github.com/xingBaGan/ComfyUI-connect-ui" + ], + "install_type": "git-clone", + "description": "Real-time image transfer between client and server Base64 image encoding/decoding support Supports PNG image format Includes a floating preview window for received images Preview window has minimize/maximize functionality" + }, + { + "author": "iDAPPA", + "title": "AMD GPU Monitor for ComfyUI", + "reference": "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor", + "files": [ + "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor" + ], + "install_type": "git-clone", + "description": "A simple, lightweight AMD GPU monitoring tool for ComfyUI that displays real-time information about your AMD GPU directly in the UI." + }, + { + "author": "roundyyy", + "title": "Mesh Simplifier for ComfyUI", + "reference": "https://github.com/roundyyy/ComfyUI-mesh-simplifier", + "files": [ + "https://github.com/roundyyy/ComfyUI-mesh-simplifier" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that implements mesh simplification with texture preservation using PyMeshLab. This node allows you to reduce the complexity of 3D meshes while preserving visual quality, and is compatible with ComfyUI-3D-Pack's mesh format." + }, + { + "author": "notagen-mw", + "title": "ComfyUI_NotaGen", + "reference": "https://github.com/billwuhao/ComfyUI_NotaGen", + "files": [ + "https://github.com/billwuhao/ComfyUI_NotaGen" + ], + "install_type": "git-clone", + "description": "Symbolic Music Generation, NotaGen node for ComfyUI." + }, + { + "author": "orssorbit", + "title": "ComfyUI-wanBlockswap", + "reference": "https://github.com/orssorbit/ComfyUI-wanBlockswap", + "files": [ + "https://github.com/orssorbit/ComfyUI-wanBlockswap" + ], + "install_type": "git-clone", + "description": "This is a simple Wan block swap node for ComfyUI native nodes, works by swapping upto 40 blocks to the CPU to reduce VRAM." + }, + { + "author": "joreyaesh", + "title": "ComfyUI Scroll Over Textarea", + "reference": "https://github.com/joreyaesh/comfyui_scroll_over_textarea", + "files": [ + "https://github.com/joreyaesh/comfyui_scroll_over_textarea" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension to allow textarea elements to be scrolled over. Useful when using a trackpad in order to prevent accidental forward/back navigation (two fingers horizontally on a Mac) when scrolling around the UI." + }, + { + "author": "joreyaesh", + "title": "ComfyUI Touchpad Scroll Controller", + "reference": "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll", + "files": [ + "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that enhances touchpad navigation by redirecting two-finger scrolling over to the canvas, including over textareas. This can prevent accidental back/forward browser navigation when using horizontal touchpad gestures and provides smooth zooming and panning for Mac and other touchpad users." + }, + { + "author": "ali-vilab", + "title": "ComfyUI-ACE_Plus", + "id": "ace_plus", + "reference": "https://github.com/ali-vilab/ACE_plus", + "files": [ + "https://github.com/ali-vilab/ACE_plus" + ], + "install_type": "git-clone", + "description": "Custom nodes for various visual generation and editing tasks using ACE_Plus FFT Model." + }, + { + "author": "CY-CHENYUE", + "title": "ComfyUI-Gemini-API", + "id": "ComfyUI-Gemini-API", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API" + ], + "description": "A custom node for ComfyUI to integrate Google Gemini API.", + "install_type": "git-clone" + }, + { + "author": "chri002", + "title": "ComfyUI_depthMapOperation", + "reference": "https://github.com/chri002/ComfyUI_depthMapOperation", + "files": [ + "https://github.com/chri002/ComfyUI_depthMapOperation" + ], + "description": "A simple set of nodes to generate a point cloud from an image and its depth map, perform transformations and some basic operations.", + "install_type": "git-clone" + }, + { + "author": "Laurent2916", + "title": "comfyui-piq", + "reference": "https://github.com/Laurent2916/comfyui-piq", + "files": [ + "https://github.com/Laurent2916/comfyui-piq" + ], + "description": "PIQ ComfyUI custom nodes", + "install_type": "git-clone" + }, + { + "author": "thezveroboy", + "title": "ComfyUI-CSM-Nodes", + "reference": "https://github.com/thezveroboy/ComfyUI-CSM-Nodes", + "files": [ + "https://github.com/thezveroboy/ComfyUI-CSM-Nodes" + ], + "description": "Custom nodes for ComfyUI implementing the csm model for text-to-speech generation.", + "install_type": "git-clone" + }, + { + "author": "thezveroboy", + "title": "ComfyUI-WAN-ClipSkip", + "reference": "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip", + "files": [ + "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip" + ], + "description": "Custom nodes for ComfyUI implementing the csm model for text-to-speech generation.", + "install_type": "git-clone" + }, + { + "author": "tatookan", + "title": "comfyui_ssl_gemini_EXP", + "reference": "https://github.com/tatookan/comfyui_ssl_gemini_EXP", + "files": [ + "https://github.com/tatookan/comfyui_ssl_gemini_EXP" + ], + "description": "Calling gemini2.0 at comfyui . The project will continue to organize good APIs!", + "install_type": "git-clone" + }, + { + "author": "atluslin", + "title": "comfyui_arcane_style_trans", + "reference": "https://github.com/atluslin/comfyui_arcane_style_trans", + "files": [ + "https://github.com/atluslin/comfyui_arcane_style_trans" + ], + "description": "ComfyUI's Arcane stylization plugin", + "install_type": "git-clone" + }, + { + "author": "pixelworldai", + "title": "ComfyUI-AlphaFlatten", + "reference": "https://github.com/pixelworldai/ComfyUI-AlphaFlatten", + "files": [ + "https://github.com/pixelworldai/ComfyUI-AlphaFlatten" + ], + "description": "This node takes a batch of images with alpha channels (RGBA format) and combines them into a single image, respecting the transparency of each layer. It's particularly useful for compositing multiple masked elements (like faces) into a single image.", + "install_type": "git-clone" + }, + { + "author": "CozyMantis (+ Curt-Park)", + "title": "Cozy Human Parser in pure Python", + "id": "humanparser-pure-python", + "reference": "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python", + "files": [ + "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python" + ], + "install_type": "git-clone", + "description": "It works the same as human-parser-comfyui-node but is implemented in pure Python so that it doesn't require a runtime build for InPlaceABNSync." + }, + { + "author": "ComplexRobot", + "title": "ComfyUI-Simple-VFI", + "reference": "https://github.com/ComplexRobot/ComfyUI-Simple-VFI", + "files": [ + "https://github.com/ComplexRobot/ComfyUI-Simple-VFI" + ], + "install_type": "git-clone", + "description": "Nodes for simple frame interpolation without the use of AI. Uses standard image operations to blend frames together." + }, + { + "author": "Taithrah", + "title": "Fens-Simple-Nodes", + "reference": "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes", + "files": [ + "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes" + ], + "install_type": "git-clone", + "description": "Simple nodes for ComfyUI" + }, + { + "author": "Immac", + "title": "ComfyUI Core Video Nodes", + "reference": "https://github.com/Immac/ComfyUI-CoreVideoMocks", + "files": [ + "https://github.com/Immac/ComfyUI-CoreVideoMocks" + ], + "install_type": "git-clone", + "description": "A mock of a possible implementation of for ComfyUI Core Video Nodes." + }, + { + "author": "kuo6", + "title": "ComfyUI Equirectangular Tools", + "reference": "https://github.com/kukuo6666/ComfyUI-Equirect", + "files": [ + "https://github.com/kukuo6666/ComfyUI-Equirect" + ], + "install_type": "git-clone", + "description": "Tools for processing equirectangular images, supporting conversion from equirectangular format to cubemap." + }, + { + "author": "vahidzxc", + "title": "va-nodes", + "reference": "https://github.com/vahidzxc/va-nodes", + "files": [ + "https://github.com/vahidzxc/va-nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI, focusing on improving workflow efficiency and adding new functionality.(work in progress!!!)" + }, + { + "author": "vahidzxc", + "title": "va-nodes", + "reference": "https://github.com/vahidzxc/va-nodes", + "files": [ + "https://github.com/vahidzxc/va-nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI, focusing on improving workflow efficiency and adding new functionality.(work in progress!!!)" + }, + { + "author": "abuzreq", + "title": "ComfyUI Model Bending", + "reference": "https://github.com/abuzreq/ComfyUI-Model-Bending", + "files": [ + "https://github.com/abuzreq/ComfyUI-Model-Bending" + ], + "install_type": "git-clone", + "description": "Use model bending to push your model beyond its visuals' limits. These nodes allow you to apply transformations to the intemediate densoising steps during sampling, e.g. add, multiplty, scale, rotate, dilate, erode ..etc." + }, + { + "author": "blovett80", + "title": "ComfyUI-PixelDojo", + "reference": "https://github.com/blovett80/ComfyUI-PixelDojo", + "files": [ + "https://github.com/blovett80/ComfyUI-PixelDojo" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension for using PixelDojo's Flux API to generate high-quality images directly within ComfyUI workflows." + }, + { + "author": "yasser-baalla", + "title": "comfyUI-SemanticImageFetch", + "reference": "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch", + "files": [ + "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch" + ], + "install_type": "git-clone", + "description": "Create a custom node to select the closest images semantically to an input prompt" + }, + { + "author": "SijieMei", + "title": "ComfyUI-Prompt-History", + "reference": "https://github.com/SijieMei/ComfyUI-promptHistory", + "files": [ + "https://github.com/SijieMei/ComfyUI-promptHistory" + ], + "install_type": "git-clone", + "description": "Save prompt history and reselect" + }, + { + "author": "camiilevitoriia", + "title": "ComfyUI-WanVideoStartEndFrames", + "reference": "https://github.com/camiilevitoriia/ComfyUI-WanVideoStartEndFrames", + "files": [ + "https://github.com/camiilevitoriia/ComfyUI-WanVideoStartEndFrames" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes that support video generation by start and end frames" + }, + { + "author": "Tensor-Art", + "title": "ComfyUI_TENSOR_ART", + "reference": "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART", + "files": [ + "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART" + ], + "install_type": "git-clone", + "description": "This project implements a set of custom nodes for ComfyUI, integrating some of the API interfaces provided by [a/TAMS](https://tams.tensor.art/)." + }, + { + "author": "infinigence", + "title": "ComfyUI_Model_Cache", + "reference": "https://github.com/infinigence/ComfyUI_Model_Cache", + "files": [ + "https://github.com/infinigence/ComfyUI_Model_Cache" + ], + "install_type": "git-clone", + "description": "A model cached-loader custom node for ComfyUI." + }, + { + "author": "zaheenrahman", + "title": "ComfyUI-ColorCorrection", + "reference": "https://github.com/zaheenrahman/ComfyUI-ColorCorrection", + "files": [ + "https://github.com/zaheenrahman/ComfyUI-ColorCorrection" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that performs color correction on clothing in face-swapped images. This node helps maintain the original clothing color when using face swap tools, addressing common color shifts that occur during the face swap process." + }, + { + "author": "CHAOSEA", + "title": "ComfyUI_FaceAlignPaste", + "reference": "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste", + "files": [ + "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste" + ], + "install_type": "git-clone", + "description": "Smart Face Alignment and Pasting Node" + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-PS_Flatten_Image", + "reference": "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that simulates Photoshop's 'Flatten Image' functionality." + }, @@ -19242,41 +22719,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { "author": "Ser-Hilary", @@ -19403,7 +22845,7 @@ "https://raw.githubusercontent.com/tudal/Hakkun-ComfyUI-nodes/main/hakkun_nodes.py" ], "install_type": "copy", - "description": "Nodes: Prompt parser. ComfyUI extra nodes. Mostly prompt parsing." + "description": "Mainly its prompt generating by custom syntax. Prompt Parser, Prompt tags, Random Line, Calculate Upscale, Image size to string, Type Converter, Image Resize To Height/Width, Load Random Image, Load Text" }, { "author": "SadaleNet", @@ -19632,7 +23074,7 @@ }, { "author": "ptmaster", - "title": "Embedding Merge for ComfyUI", + "title": "ComfyUI-Load-Diffusion-Model-to-Muti-GPUs", "reference": "https://github.com/ptmaster/ComfyUI-Load-Diffusion-Model-to-Muti-GPUs", "files": [ "https://github.com/ptmaster/ComfyUI-Load-Diffusion-Model-to-Muti-GPUs/raw/refs/heads/main/Load%20Diffusion%20Model%20into%20Muti%20GPUs.py" @@ -19640,6 +23082,27 @@ "install_type": "copy", "description": "NODES: OverrideLoadedDiffusionDevice.\nI happen to have two graphics cards, and I want to load models into another graphics card in Comfyui, so I designed this small node." }, + { + "author": "Kayarte", + "title": "GeoNodes", + "reference": "https://github.com/Kayarte/GeoNodes", + "files": [ + "https://github.com/Kayarte/GeoNodes/raw/refs/heads/main/GISDetectionNode.py" + ], + "install_type": "copy", + "description": "GIS Processing Nodes for ComfyUI" + }, + { + "author": "huimengshiguang", + "title": "AspectAwareTiling", + "reference": "https://github.com/huimengshiguang/AspectAwareTiling", + "files": [ + "https://raw.githubusercontent.com/huimengshiguang/AspectAwareTiling/refs/heads/main/hmsg-quanjing.py" + ], + "install_type": "copy", + "description": "This is an extension script for Stable Diffusion WebUI, modified based on the original functionality. It now supports fixing FLUX panorama seams. It allows users to independently configure seamless image tiling for both the X and Y axes while also being capable of handling FLUX panorama seam issues." + }, + { diff --git a/docs/en/cm-cli.md b/docs/en/cm-cli.md index e5158be8..d00bf3b3 100644 --- a/docs/en/cm-cli.md +++ b/docs/en/cm-cli.md @@ -121,8 +121,9 @@ ComfyUI-Loopchain * If no file exists at the snapshot path, it is implicitly assumed to be in ComfyUI-Manager/snapshots. * `--pip-non-url`: Restore for pip packages registered on PyPI. * `--pip-non-local-url`: Restore for pip packages registered at web URLs. - * `--pip-local-url`: Restore for pip packages specified by local paths. - + * `--pip-local-url`: Restore for pip packages specified by local paths. + * `--user-directory`: Set the user directory. + * `--restore-to`: The path where the restored custom nodes will be installed. (When this option is applied, only the custom nodes installed in the target path are recognized as installed.) ### 5. CLI Only Mode diff --git a/docs/ko/cm-cli.md b/docs/ko/cm-cli.md index 33860f6b..6d6a74a3 100644 --- a/docs/ko/cm-cli.md +++ b/docs/ko/cm-cli.md @@ -123,7 +123,8 @@ ComfyUI-Loopchain * `--pip-non-url`: PyPI 에 등록된 pip 패키지들에 대해서 복구를 수행 * `--pip-non-local-url`: web URL에 등록된 pip 패키지들에 대해서 복구를 수행 * `--pip-local-url`: local 경로를 지정하고 있는 pip 패키지들에 대해서 복구를 수행 - + * `--user-directory`: 사용자 디렉토리 설정 + * `--restore-to`: 복구될 커스텀 노드가 설치될 경로. (이 옵션을 적용할 경우 오직 대상 경로에 설치된 custom nodes 만 설치된 것으로 인식함.) ### 5. CLI only mode diff --git a/extension-node-map.json b/extension-node-map.json index b183944d..41155c0f 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -9,6 +9,15 @@ "title_aux": "alkemann nodes" } ], + "https://git.mmaker.moe/mmaker/sd-webui-color-enhance": [ + [ + "MMakerColorBlend", + "MMakerColorEnhance" + ], + { + "title_aux": "mmaker/Color Enhance" + } + ], "https://github.com/0x-jerry/comfyui-rembg": [ [ "Load Rembg Model", @@ -18,6 +27,25 @@ "title_aux": "Rembg Background Removal Node for ComfyUI" } ], + "https://github.com/0xRavenBlack/ComfyUI-OOP": [ + [ + "OOPAnimalNode", + "OOPClothingNode", + "OOPEnvironmentNode", + "OOPEyesNode", + "OOPHairNode", + "OOPLocationNode", + "OOPMouthNode", + "OOPNode", + "OOPPersonNode", + "OOPPoseNode", + "OOPStyleNode", + "OOPViewNode" + ], + { + "title_aux": "ComfyUI-OOP" + } + ], "https://github.com/0xbitches/ComfyUI-LCM": [ [ "LCM_Sampler", @@ -29,6 +57,16 @@ "title_aux": "Latent Consistency Model for ComfyUI" } ], + "https://github.com/1038lab/ComfyUI-EdgeTTS": [ + [ + "EdgeTTS", + "Save_Audio", + "WhisperSTT" + ], + { + "title_aux": "ComfyUI-EdgeTTS" + } + ], "https://github.com/1038lab/ComfyUI-OmniGen": [ [ "ailab_OmniGen" @@ -39,7 +77,14 @@ ], "https://github.com/1038lab/ComfyUI-RMBG": [ [ + "AiLab_ImagePreview", + "AiLab_LoadImage", + "AiLab_MaskPreview", + "AiLab_Preview", + "BiRefNetRMBG", + "BodySegment", "ClothesSegment", + "FaceSegment", "FashionSegmentAccessories", "FashionSegmentClothing", "RMBG", @@ -49,6 +94,17 @@ "title_aux": "ComfyUI-RMBG" } ], + "https://github.com/1038lab/ComfyUI-SparkTTS": [ + [ + "SparkTTS_AdvVoiceClone", + "SparkTTS_AudioRecorder", + "SparkTTS_VoiceClone", + "SparkTTS_VoiceCreator" + ], + { + "title_aux": "Comfyui-Spark-TTS" + } + ], "https://github.com/1038lab/ComfyUI-WildPromptor": [ [ "AllInOneList", @@ -182,6 +238,7 @@ [ "Character2Video", "Image2Video", + "StartEnd2Video", "Text2Video", "UpscaleVideo", "VideoDownloader" @@ -227,14 +284,6 @@ "title_aux": "Just a bunch of QOL nodes by 42lux" } ], - "https://github.com/42lux/ComfyUI-safety-checker": [ - [ - "Safety Checker" - ], - { - "title_aux": "ComfyUI-safety-checker" - } - ], "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": [ [ "GPT4VCaptioner", @@ -401,42 +450,58 @@ ], "https://github.com/807502278/ComfyUI-WJNodes": [ [ - "AdvCrop", + "Accurate_mask_clipping", + "Any_Pipe", "ApplyEasyOCR_batch", - "BilateralFilter", - "ColorSegmentation", - "ColorSegmentation_v2", - "ComfyUIPath", - "CoordsSelectMask", + "Bilateral_Filter", + "ColorData_HSV_Capture", + "Color_Data_Break", + "Color_check_Name", + "ComfyUI_Path_Out", + "Determine_Type", + "Graphics_Detection_Reference", "ImageChannelBus", - "InvertChannelAdv", - "LoadColorConfig", - "LoadImageAdv", - "LoadImageFromPath", - "MaskAndMaskMath", - "MaskDetection", - "MaskLineMapping", - "MaskSelectMask", - "MergeImageList", - "PathAppend", + "ListMerger", + "Load_Image_Adv", + "Load_Image_From_Path", + "Mask_Detection", "PrimitiveNode", - "RGBABatchToImage", + "Random_Select_Prompt", + "Run_BEN_v2", + "Run_torchvision_model", "Sam2AutoSegmentation_data", - "SaveImageOut", - "SaveImageToPath", + "Save_Image_Out", + "Save_Image_To_Path", "SegmDetectorCombined_batch", - "SelectImagesBatch", - "SplitPath", + "Select_Batch_v2", + "Select_Images_Batch", + "Split_Path", + "Str_Append", "ToImageListData", - "VideoFade", + "Video_Fade", + "Video_OverlappingSeparation_test", "WAS_Mask_Fill_Region_batch", - "any_data", - "array_count", + "adv_crop", + "any_math", + "any_math_v2", "bbox_restore_mask", + "color_segmentation", + "color_segmentation_v2", + "coords_select_mask", + "filter_DensePose_color", "get_image_data", + "image_ValueMath", + "image_math", + "invert_channel_adv", + "load_BEN_model", + "load_ColorName_config", "load_EasyOCR_model", + "load_color_config", "load_model_value", - "show_type", + "load_torchvision_model", + "mask_and_mask_math", + "mask_line_mapping", + "mask_select_mask", "sort_images_batch" ], { @@ -475,6 +540,24 @@ "title_aux": "ComfyUI-Static-Primitives" } ], + "https://github.com/852wa/ComfyUI-AAP": [ + [ + "AdvancedAlphaProcessor" + ], + { + "title_aux": "ComfyUI-AdvancedAlphaProcessor" + } + ], + "https://github.com/852wa/ComfyUI-ColorshiftColor": [ + [ + "ColorshiftColor", + "CsCFill", + "CsCPaletteEditor" + ], + { + "title_aux": "ComfyUI-ColorshiftColor" + } + ], "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": [ [ "AutoColorGimp" @@ -485,7 +568,8 @@ ], "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE-Wrapper": [ [ - "PixelOE" + "PixelOE", + "PixelOETorch" ], { "title_aux": "ComfyUI-PixelOE-Wrapper" @@ -876,6 +960,15 @@ "title_aux": "MiniMates-ComfyUI" } ], + "https://github.com/AIFSH/OmniGen-ComfyUI": [ + [ + "OmniGenLoader", + "OmniGenNode" + ], + { + "title_aux": "OmniGen-ComfyUI" + } + ], "https://github.com/AIFSH/PyramidFlow-ComfyUI": [ [ "PyramidFlowNode" @@ -1057,6 +1150,7 @@ "> Rotate Image", "> Saturation", "> Save Image", + "> Save Text", "> Scale Image to Side", "> Scanlines", "> Sharpen", @@ -1073,6 +1167,15 @@ "title_aux": "ComfyUI_yanc" } ], + "https://github.com/APZmedia/APZmedia-comfy-together-lora": [ + [ + "TogetherImageGenerator", + "TogetherImageGeneratorLoRA" + ], + { + "title_aux": "APZmedia Together Image Generator for ComfyUI" + } + ], "https://github.com/APZmedia/APZmedia-comfyui-fast-image-save": [ [ "APZmedia Fast image save" @@ -1249,7 +1352,9 @@ "Fast_Color_Match", "Fast_Film_Grain", "Get_Side_Length_Of_Image", + "Image_Crop", "Image_Dimensions", + "Image_Stitch", "Image_Tiler", "Image_Untiler", "Int_Divide_Rounded", @@ -1267,7 +1372,8 @@ "Seed-Nodes: ImageTo3D", "Seed-Nodes: LoadImage", "Seed-Nodes: LoadMultipleImages", - "Seed-Nodes: SLICPixelator" + "Seed-Nodes: SLICPixelator", + "Seed-Nodes: SeedSaveAudio" ], { "title_aux": "ComfyUI-Seed-Nodes" @@ -1288,9 +1394,9 @@ "BillBum_Modified_RegText_Node", "BillBum_Modified_SD3_API_Node", "BillBum_Modified_Structured_LLM_Node(Imperfect)", - "BillBum_Modified_Together_API_Node", "BillBum_Modified_VisionLM_API_Node", "BillBum_Modified_img2b64_url_Node", + "BillBum_NonSysPrompt_VLM_API_Node", "Input_Text", "Text_Concat" ], @@ -1316,8 +1422,19 @@ "https://github.com/AkashKarnatak/ComfyUI_faishme": [ [ "Faishme Debug", + "Faishme Load Image from Glob", "Faishme Mannequin to Model Loader", + "Faishme Memory Debug", "Faishme Moondream", + "Faishme Repeat BBOX", + "Faishme Repeat Image Batch", + "Faishme Repeat Latent Batch", + "Faishme Repeat Tensor Batch", + "Faishme Save Image", + "Faishme Stack Images", + "Faishme Stack Latents", + "Faishme Unstack Images", + "Faishme Unstack Latents", "Load Fashion Model" ], { @@ -1332,29 +1449,6 @@ "title_aux": "seamless-clone-comfyui" } ], - "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": [ - [ - "ArgosTranslateCLIPTextEncodeNode", - "ArgosTranslateTextNode", - "ChatGLM4InstructMediaNode", - "ChatGLM4InstructNode", - "ChatGLM4TranslateCLIPTextEncodeNode", - "ChatGLM4TranslateTextNode", - "ColorsCorrectNode", - "DeepTranslatorCLIPTextEncodeNode", - "DeepTranslatorTextNode", - "GoogleTranslateCLIPTextEncodeNode", - "GoogleTranslateTextNode", - "HexToHueNode", - "IDENode", - "PainterNode", - "PoseNode", - "PreviewTextNode" - ], - { - "title_aux": "AlekPet/ComfyUI_Custom_Nodes_AlekPet" - } - ], "https://github.com/Alvaroeai/ComfyUI-Text2Json": [ [ "TextToJson" @@ -1363,31 +1457,68 @@ "title_aux": "ComfyUI-Text2Json" } ], + "https://github.com/Amorano/Jovi_Capture": [ + [ + "CAMERA (JOV_CAPTURE)", + "MONITOR (JOV_CAPTURE)", + "REMOTE (JOV_CAPTURE)", + "WINDOW (JOV_CAPTURE)" + ], + { + "title_aux": "Jovi_Capture" + } + ], "https://github.com/Amorano/Jovi_GLSL": [ [ - "GLSL (JOV_GL) \ud83c\udf69", - "GLSL BLEND LINEAR (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL COLOR CONVERSION (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL COLOR PALETTE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL CONICAL GRADIENT (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL DIRECTIONAL WARP (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL FILTER RANGE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL GRAYSCALE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL HSV ADJUST (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL INVERT (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL NORMAL (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL NORMAL BLEND (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL POSTERIZE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL TRANSFORM (JOV_GL) \ud83e\uddd9\ud83c\udffd" + "BLEND LINEAR (JOV_GL)", + "COLOR CONVERSION (JOV_GL)", + "COLOR PALETTE (JOV_GL)", + "CONICAL GRADIENT (JOV_GL)", + "DIRECTIONAL WARP (JOV_GL)", + "FILTER RANGE (JOV_GL)", + "GRAYSCALE (JOV_GL)", + "HSV ADJUST (JOV_GL)", + "INVERT (JOV_GL)", + "MIN MAX (JOV_GL)", + "NOISE PERLIN (JOV_GL)", + "NOISE SIMPLEX (JOV_GL)", + "NOISE WORLEY (JOV_GL)", + "NORMAL (JOV_GL)", + "NORMAL BLEND (JOV_GL)", + "PIXELATE (JOV_GL)", + "POSTERIZE (JOV_GL)", + "SOBEL (JOV_GL)", + "TRANSFORM (JOV_GL)" ], { "title_aux": "Jovi_GLSL" } ], + "https://github.com/Amorano/Jovi_MIDI": [ + [ + "MIDI FILTER (JOV_MIDI)", + "MIDI FILTER EZ (JOV_MIDI)", + "MIDI LOADER (JOV_MIDI)", + "MIDI MESSAGE (JOV_MIDI)", + "MIDI READER (JOV_MIDI)" + ], + { + "title_aux": "Jovi_MIDI" + } + ], + "https://github.com/Amorano/Jovi_Measure": [ + [ + "BLUR EFFECT (JOV_MEASURE)", + "SHANNON ENTROPY (JOV_MEASURE)" + ], + { + "title_aux": "Jovi_Measure" + } + ], "https://github.com/Amorano/Jovi_Spout": [ [ - "SPOUT READER (JOV_SP) \ud83d\udcfa", - "SPOUT WRITER (JOV_SP) \ud83c\udfa5" + "SPOUT READER (JOV_SPOUT)", + "SPOUT WRITER (JOV_SPOUT)" ], { "title_aux": "Jovi_Spout" @@ -1456,14 +1587,13 @@ "TICK (JOV) \u23f1", "TRANSFORM (JOV) \ud83c\udfdd\ufe0f", "VALUE (JOV) \ud83e\uddec", + "VECTOR2 (JOV)", + "VECTOR3 (JOV)", + "VECTOR4 (JOV)", "WAVE GEN (JOV) \ud83c\udf0a" ], { - "author": "Alexander G. Morano", - "description": "Integrates Webcam, MIDI, Spout and GLSL shader support. Animation", - "nodename_pattern": " \\(JOV\\)$", - "title": "Jovimetrix", - "title_aux": "Jovimetrix Composition Nodes" + "title_aux": "Jovimetrix" } ], "https://github.com/Anibaaal/ComfyUI-UX-Nodes": [ @@ -1474,7 +1604,8 @@ "ColorGeneratorNode", "DropShadowNode", "EasyResolutionPicker", - "LerpNode" + "LerpNode", + "RemoveJSONMarkdownFormatting" ], { "title_aux": "ComfyUI UX Nodes" @@ -1558,6 +1689,14 @@ "title_aux": "ComfyUI-Ardenius" } ], + "https://github.com/Arkanun/ReadCSV_ComfyUI": [ + [ + "ReadCSVRowNode" + ], + { + "title_aux": "ReadCSV_ComfyUI" + } + ], "https://github.com/ArtBot2023/CharacterFaceSwap": [ [ "Color Blend", @@ -1576,6 +1715,51 @@ "title_aux": "Character Face Swap" } ], + "https://github.com/ArtHommage/HommageTools": [ + [ + "HTBaseShiftNode", + "HTConsoleLoggerNode", + "HTConversionNode", + "HTDetectionBatchProcessor", + "HTDiffusionLoaderMulti", + "HTDimensionAnalyzerNode", + "HTDimensionFormatterNode", + "HTDownsampleNode", + "HTFlexibleNode", + "HTInspectorNode", + "HTLayerCollectorNode", + "HTLayerExportNode", + "HTLevelsNode", + "HTMaskDilationNode", + "HTMaskValidatorNode", + "HTNodeStateController", + "HTNodeUnmuteAll", + "HTNullNode", + "HTParameterExtractorNode", + "HTPhotoshopBlurNode", + "HTRegexNode", + "HTResizeNode", + "HTResolutionDownsampleNode", + "HTResolutionNode", + "HTSamplerBridgeNode", + "HTSaveImagePlus", + "HTSchedulerBridgeNode", + "HTSplitterNode", + "HTStatusIndicatorNode", + "HTSurfaceBlurNode", + "HTSwitchNode", + "HTTensorInfoNode", + "HTTextCleanupNode", + "HTTrainingSizeNode", + "HTValueMapperNode", + "HTWidgetControlNode", + "UltimateSDUpscaleStandalone", + "ht_detection_batch_processor_v2" + ], + { + "title_aux": "HommageTools for ComfyUI" + } + ], "https://github.com/ArtVentureX/comfyui-animatediff": [ [ "AnimateDiffCombine", @@ -1721,6 +1905,14 @@ "title_aux": "Masquerade Nodes" } ], + "https://github.com/BahaC/ComfyUI-ZonosTTS": [ + [ + "ZonosTextToSpeech" + ], + { + "title_aux": "ComfyUI Zonos TTS Node" + } + ], "https://github.com/Beinsezii/bsz-cui-extras": [ [ "BSZAbsoluteHires", @@ -1747,6 +1939,14 @@ "title_aux": "bsz-cui-extras" } ], + "https://github.com/Bellzs/ComfyUI-LoRA-Assistant": [ + [ + "LoRATriggerLocal" + ], + { + "title_aux": "ComfyUI-LoRA-Assistant" + } + ], "https://github.com/BenNarum/ComfyUI_CAS": [ [ "AttentionToSigmas", @@ -1840,10 +2040,13 @@ ], "https://github.com/BennyKok/comfyui-deploy": [ [ + "ComfyDeployOutputImage", "ComfyDeployWebscoketImageInput", "ComfyDeployWebscoketImageOutput", + "ComfyUIDeployExternalAudio", "ComfyUIDeployExternalBoolean", "ComfyUIDeployExternalCheckpoint", + "ComfyUIDeployExternalEXR", "ComfyUIDeployExternalFaceModel", "ComfyUIDeployExternalImage", "ComfyUIDeployExternalImageAlpha", @@ -1918,11 +2121,14 @@ [ "BTPromptSchedule", "BTPromptSelector", + "DownloadFont", "EndQueue", "ImageTextOverlay", "Loop", "LoopEnd", - "LoopStart" + "LoopStart", + "RandomTextOverlay", + "TextGrowth" ], { "title_aux": "ComfyUI-Book-Tools Nodes for ComfyUI" @@ -2078,6 +2284,7 @@ [ "ClearNode", "LoadImageURL", + "StopNode", "UploadImage", "XSampler", "XSave" @@ -2086,20 +2293,68 @@ "title_aux": "ComfyUI-Rework-X" } ], + "https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools": [ + [ + "Multi Float", + "Multi Int", + "Multi Text", + "MultiFloatNodeAID", + "MultiInt", + "MultiText" + ], + { + "title_aux": "The AI Doctors Clinical Tools" + } + ], + "https://github.com/BoyuanJiang/FitDiT-ComfyUI": [ + [ + "FitDiTLoader", + "FitDiTMaskGenerator", + "FitDiTTryOn" + ], + { + "title_aux": "FitDiT[official] - High-fidelity Virtual Try-on" + } + ], "https://github.com/Bria-AI/ComfyUI-BRIA-API": [ [ "BriaEraser", "BriaGenFill", "BriaTailoredGen", + "ImageExpansionNode", + "ReimagineNode", + "RemoveForegroundNode", + "ReplaceBgNode", + "RmbgNode", "ShotByImageNode", "ShotByTextNode", "TailoredModelInfoNode", - "Text2ImageBaseNode" + "TailoredPortraitNode", + "Text2ImageBaseNode", + "Text2ImageFastNode", + "Text2ImageHDNode" ], { "title_aux": "BRIA AI API nodes" } ], + "https://github.com/BuffMcBigHuge/ComfyUI-Zonos": [ + [ + "ZonosEmotion", + "ZonosGenerate" + ], + { + "title_aux": "ComfyUI-Zonos" + } + ], + "https://github.com/Burgstall-labs/ComfyUI-BS_Kokoro-onnx": [ + [ + "Kokoro TTS" + ], + { + "title_aux": "ComfyUI-BS_Kokoro-onnx" + } + ], "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": [ [ "APIRequestNode", @@ -2110,6 +2365,44 @@ "title_aux": "ComfyUI_API_Manager" } ], + "https://github.com/CC-SUN6/ccsun_node": [ + [ + "Image Editing", + "Single Image", + "resize to 8", + "several images" + ], + { + "title_aux": "ccsun_node" + } + ], + "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste": [ + [ + "FaceAlignDouble", + "FaceAlignSingle", + "FaceAutoFitDouble", + "FaceAutoFitSingle" + ], + { + "title_aux": "ComfyUI_FaceAlignPaste" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-Free-GPU": [ + [ + "FreeGPUMemory" + ], + { + "title_aux": "ComfyUI-Free-GPU" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API": [ + [ + "Google-Gemini" + ], + { + "title_aux": "ComfyUI-Gemini-API" + } + ], "https://github.com/CY-CHENYUE/ComfyUI-InpaintEasy": [ [ "CropByMask", @@ -2121,6 +2414,16 @@ "title_aux": "ComfyUI-InpaintEasy" } ], + "https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro": [ + [ + "JanusImageGeneration", + "JanusImageUnderstanding", + "JanusModelLoader" + ], + { + "title_aux": "ComfyUI-Janus-Pro" + } + ], "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-Plus": [ [ "MiniCPM3_4B", @@ -2137,6 +2440,16 @@ "title_aux": "ComfyUI-MiniCPM-Plus" } ], + "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-o": [ + [ + "Load MiniCPM Model", + "MiniCPM Image Chat", + "MiniCPMImageAnalyzer" + ], + { + "title_aux": "ComfyUI-MiniCPM-o" + } + ], "https://github.com/CY-CHENYUE/ComfyUI-Molmo": [ [ "Molmo7BDbnb" @@ -2240,6 +2553,15 @@ "title_aux": "ComfyUI-TimestepShiftModel" } ], + "https://github.com/Chengym2023/ComfyUI-DeepSeek_Online": [ + [ + "DeepSeekOnline", + "SiliconCloud" + ], + { + "title_aux": "ComfyUI-DeepSeek_Online" + } + ], "https://github.com/ChrisColeTech/ComfyUI-Elegant-Resource-Monitor": [ [ "Resource Monitor" @@ -2252,7 +2574,8 @@ [ "Directory File Counter", "Simple Number Counter", - "Text File Line Counter" + "Text File Line Counter", + "Text File Line Reader" ], { "title_aux": "ComfyUI-Line-counter" @@ -2263,41 +2586,56 @@ "AdvancedNoise", "Base64ToConditioning", "CLIPTextEncodeFluxUnguided", - "ClownInpaint", - "ClownInpaintSimple", - "ClownSampler", - "ClownSamplerAdvanced", - "ClownsharKSampler", - "ClownsharKSamplerAutomation", - "ClownsharKSamplerGuide", - "ClownsharKSamplerGuides", - "ClownsharKSamplerOptions", - "ClownsharKSamplerOptions_SDE_Noise", - "ClownsharkSamplerOptions_FrameWeights", + "ClownRegionalConditioning", + "ClownRegionalConditioning3", + "ClownRegionalConditioningAdvanced", + "ClownScheduler", "Conditioning Recast FP64", "ConditioningAdd", "ConditioningAverageScheduler", + "ConditioningBatch4", + "ConditioningBatch8", "ConditioningMultiply", + "ConditioningOrthoCollin", "ConditioningToBase64", "ConditioningTruncate", "ConditioningZeroAndTruncate", + "Constant Scheduler", "EmptyLatentImage64", "EmptyLatentImageCustom", "Film Grain", "FluxGuidanceDisable", "FluxLoader", - "FluxRegionalConditioning", - "FluxRegionalPrompt", + "FluxOrthoCFGPatcher", + "Frame Select", + "Frame Select Latent", + "Frame Select Latent Raw", + "Frames Concat", + "Frames Concat Latent", + "Frames Concat Latent Raw", + "Frames Slice", + "Frames Slice Latent", + "Frames Slice Latent Raw", "Frequency Separation Hard Light", "Frequency Separation Hard Light LAB", + "Frequency Separation Linear Light", "Image Channels LAB", "Image Crop Location Exact", + "Image Gaussian Blur", "Image Median Blur", "Image Pair Split", + "Image Sharpen FS", "Latent Batcher", + "Latent Channels From To", + "Latent Clear State Info", + "Latent Display State Info", + "Latent Get Channel Means", "Latent Match Channelwise", "Latent Normalize Channels", + "Latent Replace State Info", + "Latent Transfer State Info", "Latent to Cuda", + "Latent to RawX", "LatentBatch_channels", "LatentBatch_channels_16", "LatentNoiseBatch_fractal", @@ -2310,23 +2648,22 @@ "LatentPhaseMagnitudeMultiply", "LatentPhaseMagnitudeOffset", "LatentPhaseMagnitudePower", - "Legacy_ClownSampler", - "Legacy_ClownsharKSampler", - "Legacy_ClownsharKSamplerGuides", - "Legacy_SharkSampler", + "Linear Quadratic Advanced", + "MaskToggle", "ModelSamplingAdvanced", "ModelSamplingAdvancedResolution", "ModelTimestepPatcher", "PrepForUnsampling", + "ReAuraPatcher", "ReFluxPatcher", + "ReSD35Patcher", + "RectifiedFlow_RegionalConditioning", + "RectifiedFlow_RegionalPrompt", "SD35Loader", - "SamplerOptions_GarbageCollection", - "SamplerOptions_TimestepScaling", - "SamplerRK_Test", + "SeedGenerator", "Set Precision", "Set Precision Advanced", "Set Precision Universal", - "SharkSampler", "Sigmas Abs", "Sigmas Add", "Sigmas Cleanup", @@ -2363,15 +2700,17 @@ "Tan Scheduler 2", "Tan Scheduler 2 Simple", "TextBox1", + "TextBox2", "TextBox3", + "TextBoxConcatenate", + "TextConcatenate", + "TextLoadFile", + "TextShuffle", + "TextShuffleAndTruncate", + "TextTruncateTokens", "TorchCompileModelFluxAdv", "UNetSave", - "UltraSharkSampler", - "UltraSharkSampler Tiled", - "UltraSharkSamplerRBTest", - "VAEEncodeAdvanced", - "VGG19StyleTransfer", - "Zampler_Test" + "VAEEncodeAdvanced" ], { "title_aux": "RES4LYF" @@ -2420,6 +2759,45 @@ "title_aux": "JH Misc. Nodes" } ], + "https://github.com/ComplexRobot/ComfyUI-Simple-VFI": [ + [ + "Simple_Frame_Interpolation" + ], + { + "title_aux": "ComfyUI-Simple-VFI" + } + ], + "https://github.com/Conor-Collins/coco_tools": [ + [ + "ColorspaceNode", + "CryptomatteLayer", + "FrequencyCombine", + "FrequencySeparation", + "ImageLoader", + "JSONNode", + "JSONReaderNode", + "JSONValueFinderNode", + "LoadExr", + "LoadExrLayerByName", + "NoiseNode", + "RandomIntNode", + "RegexFindNode", + "SaverNode", + "SplitThreeBandsNode", + "WalkFolderNode", + "ZDepthNode", + "ZNormalizeNode", + "coco_loader", + "colorspace", + "load_exr", + "load_exr_layer_by_name", + "saver", + "shamble_cryptomatte" + ], + { + "title_aux": "ComfyUI-CoCoTools" + } + ], "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": [ [ "DebugToFile", @@ -2441,6 +2819,7 @@ "PrimereFastSeed", "PrimereHypernetwork", "PrimereImageSegments", + "PrimereImgToPrompt", "PrimereKSampler", "PrimereLLMEnhancer", "PrimereLORA", @@ -2521,6 +2900,16 @@ "title_aux": "comfyui_nai_api" } ], + "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python": [ + [ + "Cozy Human Parser ATR", + "Cozy Human Parser LIP", + "Cozy Human Parser Pascal" + ], + { + "title_aux": "Cozy Human Parser in pure Python" + } + ], "https://github.com/CyanAutumn/ComfyUi_Random_Manage_Cyan": [ [ "Random Prompt Cyan", @@ -2533,23 +2922,30 @@ "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption": [ [ "Auto Caption", + "Auto_Caption2", + "ExtraOptionsSet", "Joy Model load", + "Joy_Model2_load", "LoadManyImages" ], { - "title_aux": "ComfyUI_Auto_Caption" + "title_aux": "Cyber-BlackCat" } ], "https://github.com/Cyber-Blacat/ComfyUI-Yuan": [ [ + ", and the value is the function name in the right of the", "Black and white", "Image Judgment", "ImageMinusMask", "Light or Dark", "Load Random Images", "Mask Preprocess Morphology", + "Number", "PhotoShop Transfer", - "Yuan" + "SomethingShow", + "TensorShow", + "a fake Nod" ], { "title_aux": "ComfyUI-Yuan" @@ -2563,6 +2959,26 @@ "title_aux": "ComfyUI Checkpoint Loader Config" } ], + "https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes": [ + [ + "Control Pipe (Focus Nodes)", + "FOCUS Upscale (Focus Nodes)", + "Global Seed Controller (Focus Nodes)", + "KSampler Settings (Focus Nodes)", + "Model Unloader (Focus Nodes)", + "Prompt Box (Focus Nodes)", + "SDXL All-In-One (Focus Nodes)", + "SDXL Control Module (Focus Nodes)", + "SDXL Preprocess (Focus Nodes)", + "Style Injector (Focus Nodes)", + "Style Selector (Focus Nodes)", + "Text Display (Focus Nodes)", + "Wildcard Processor (Focus Nodes)" + ], + { + "title_aux": "Comfyui FOCUS nodes" + } + ], "https://github.com/Danand/ComfyUI-ComfyCouple": [ [ "Attention couple", @@ -2647,6 +3063,15 @@ "title_aux": "Pipeline Parallel ComfyUI" } ], + "https://github.com/Deep-Neko/ComfyUI_ascii_art": [ + [ + "AsciiGenerator" + ], + { + "author": "DeepNeko ", + "title_aux": "ascii-art-comfyui" + } + ], "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ [], { @@ -2660,10 +3085,17 @@ ], "https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes": [ [ - "DP 10 String Switch", + "DP 10 Images Switch Or Batch", + "DP 10 String Switch Or Connect", "DP 2 String Switch", - "DP 5 String Switch", + "DP 3 Images Switch Or Batch", + "DP 3 String Switch Or Connect", + "DP 5 Find And Replace", + "DP 5 Images Switch Or Batch", + "DP 5 String Switch Or Connect", + "DP Add Background To Png", "DP Add Weight To String Sdxl", + "DP Advanced Sampler", "DP Advanced Weight String Sdxl", "DP Animation Calculator 10 Inputs", "DP Animation Calculator 5 Inputs", @@ -2672,8 +3104,9 @@ "DP Big Letters", "DP Broken Token", "DP Clean Prompt", - "DP Combo Controller", - "DP Condition Mixer", + "DP Clean Prompt Travel", + "DP Condition Switch", + "DP ControlNet Apply Advanced", "DP Crazy Prompt Mixer", "DP Create Json File", "DP Custom Aspect Ratio", @@ -2681,36 +3114,43 @@ "DP Draggable Floats 1", "DP Draggable Floats 2", "DP Draggable Floats 3", + "DP Draggable Int 1step", + "DP Draggable Int 4step", + "DP Draggable Int 8step", "DP Fast Slow Motion", "DP Five Lora", "DP Five Lora Random", + "DP Float Stepper", + "DP Image And String Pairs Switch", "DP Image Color Analyzer", "DP Image Color Analyzer Small", "DP Image Color Effect", "DP Image Effect Processor", + "DP Image Effect Processor Small", "DP Image Empty Latent Switch Flux", "DP Image Empty Latent Switch SDXL", "DP Image Slide Show", "DP Image Strip", - "DP Image Switch 10", - "DP Image Switch 3", - "DP Image Switch 5", - "DP Int 0-1000", - "DP Int 0-1000 4 Step", - "DP Int 0-1000 8 Step", + "DP Latent Split", + "DP Line Cycler", + "DP Load Checkpoint With Info", + "DP Load Controlnet Model With Name", + "DP Load Dual CLIP With Info", "DP Load Image Effects", "DP Load Image Effects Small", + "DP Load Image Minimal", + "DP Load Image With Seed", + "DP Load UNET With Info", "DP Logo Animator", - "DP Logo Animator Advanced", "DP Lora Random Strength Controller", "DP Lora Strength Controller", - "DP Lora Strength Stepper", + "DP Mask Settings", "DP Prompt Inverter", - "DP Prompt Manager", "DP Prompt Manager Small", "DP Prompt Mode Controller", "DP Prompt Styler", "DP Prompt Token Compressor", + "DP Prompt Travel Prompt", "DP Random Character", "DP Random Crazy Prompt Generator", "DP Random Logo Style Generator", @@ -2720,11 +3160,11 @@ "DP Random Psychedelic Punk Generator", "DP Random Superhero Prompt Generator", "DP Random Vehicle Generator", + "DP Sampler With Info", "DP Save Preview Image", "DP Set New Model Folder Link", "DP String Text", - "DP String With Switch", - "DP Strings Connector", + "DP String Text With Sdxl Weight", "DP Strip Edge Masks", "DP Switch Controller", "DP Text Preview", @@ -2735,18 +3175,40 @@ "DP Video Looper", "DP Video Transition", "DP_Crazy_Prompt_Mixer", - "DP_Logo_Animator_Advanced", - "DP_Lora_Strength_Stepper", - "DP_Prompt_Inverter", - "DP_Strings_Connector" + "DP_Float_Stepper", + "DP_Prompt_Inverter" ], { "title_aux": "ComfyUI-Desert-Pixel-Nodes" } ], + "https://github.com/DiaoDaiaChan/ComfyUI_API_Request": [ + [ + "Character_Prompt_Select", + "NovelAI_Request", + "NovelAI_Request_Payload", + "SDWebUI_Request", + "SDWebUI_Request_Payload", + "SDWebUI_Request_PayloadExtend" + ], + { + "title_aux": "Comfyui SDAPI Request / NovelAI" + } + ], + "https://github.com/Diohim/ComfyUI-Unusual-Tools": [ + [ + "AdjustCrop", + "AutoImageResize", + "BatchLoadLatentImage", + "BatchSaveLatentImage" + ], + { + "title_aux": "ComfyUI Unusual Tools" + } + ], "https://github.com/Dobidop/ComfyStereo": [ [ - "LazyStereo", + "DeoVRViewNode", "StereoImageNode" ], { @@ -2818,6 +3280,38 @@ "title_aux": "ComfyUI Color Detection Nodes" } ], + "https://github.com/DraconicDragon/ComfyUI-Venice-API": [ + [ + "CharCountTextBox", + "GenerateImage_VENICE", + "GenerateTextAdvanced_VENICE", + "GenerateText_VENICE", + "InpaintImage_VENICE", + "UpscaleImage_VENICE" + ], + { + "title_aux": "ComfyUI-Venice-API" + } + ], + "https://github.com/DragonDiffusionbyBoyo/Boyonodes": [ + [ + "BoyoLoadImageList", + "BoyoSaver", + "BoyoVAEDecode", + "Boyolatent" + ], + { + "title_aux": "Boyonodes" + } + ], + "https://github.com/Duanyll/duanyll_nodepack": [ + [ + "PhotoDoddleConditioning" + ], + { + "title_aux": "Duanyll Nodepack" + } + ], "https://github.com/Eagle-CN/ComfyUI-Addoor": [ [ "AD_AnyFileList", @@ -2845,6 +3339,7 @@ "AD_mockup-maker", "AD_poster-maker", "AD_prompt-saver", + "ImageCaptioner", "ImageResize", "Incrementer \ud83e\udeb4", "TextAppendNode", @@ -2861,6 +3356,26 @@ "title_aux": "ComfyUI-Addoor" } ], + "https://github.com/Easymode-ai/ComfyUI-BPT": [ + [ + "TrimeshBPT", + "TrimeshLoad", + "TrimeshPreview", + "TrimeshSave" + ], + { + "title_aux": "ComfyUI-BPT" + } + ], + "https://github.com/Easymode-ai/ComfyUI-ShadowR": [ + [ + "ShadowRModelLoader", + "ShadowRShadowRemover" + ], + { + "title_aux": "ComfyUI-ShadowR" + } + ], "https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes": [ [ "InstantX Flux Union ControlNet Loader" @@ -2922,6 +3437,14 @@ "title_aux": "ComfyUI-post-processing-nodes" } ], + "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution": [ + [ + "ConstrainResolution" + ], + { + "title_aux": "ComfyUI-ConstrainResolution" + } + ], "https://github.com/EnragedAntelope/ComfyUI-Doubutsu-Describer": [ [ "DoubutsuDescriber" @@ -2930,6 +3453,16 @@ "title_aux": "ComfyUI-Doubutsu-Describer" } ], + "https://github.com/EnragedAntelope/ComfyUI-EACloudNodes": [ + [ + "GroqNode", + "OpenRouterModels", + "OpenrouterNode" + ], + { + "title_aux": "ComfyUI-EACloudNodes" + } + ], "https://github.com/EvilBT/ComfyUI_SLK_joy_caption_two": [ [ "Batch_joy_caption_two", @@ -3023,6 +3556,14 @@ "title_aux": "ComfyUI-AutomaticCFG" } ], + "https://github.com/Extraltodeus/DistanceSampler": [ + [ + "SamplerDistance" + ], + { + "title_aux": "DistanceSampler" + } + ], "https://github.com/Extraltodeus/LoadLoraWithTags": [ [ "LoraLoaderTagsQuery" @@ -3031,6 +3572,15 @@ "title_aux": "LoadLoraWithTags" } ], + "https://github.com/Extraltodeus/Negative-attention-for-ComfyUI-": [ + [ + "Negative cross attention", + "Negative cross attention concatenate" + ], + { + "title_aux": "Negative-attention-for-ComfyUI-" + } + ], "https://github.com/Extraltodeus/Skimmed_CFG": [ [ "Skimmed CFG", @@ -3042,7 +3592,7 @@ "Skimmed CFG - replace" ], { - "title_aux": "DistanceSampler" + "title_aux": "Skimmed_CFG" } ], "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": [ @@ -3435,7 +3985,9 @@ [ "AutoImageResize", "GroupLink", - "VariablesInjector" + "ModelListNode", + "VariablesInjector", + "VariablesLogicNode" ], { "title_aux": "ComfyUI_Finetuners_Suite" @@ -3646,25 +4198,17 @@ "title_aux": "ComfyUI-SD3-Powerlab" } ], - "https://github.com/GMapeSplat/ComfyUI_ezXY": [ + "https://github.com/GHOSTLXH/ComfyUI-Counternodes": [ [ - "ConcatenateString", - "ItemFromDropdown", - "IterationDriver", - "JoinImages", - "LineToConsole", - "NumberFromList", - "NumbersToList", - "PlotImages", - "StringFromList", - "StringToLabel", - "StringsToList", - "ezMath", - "ezXY_AssemblePlot", - "ezXY_Driver" + "AlternatingOutput", + "AlternatingOutputB", + "ImageCounter", + "IntervalCounter", + "IntervalCounterB", + "LoadPromptFromTXT" ], { - "title_aux": "ezXY scripts and nodes" + "title_aux": "ComfyUI-Counternodes" } ], "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": [ @@ -3693,6 +4237,14 @@ "title_aux": "Gadzoinks" } ], + "https://github.com/GamingDaveUk/daves_nodes": [ + [ + "davesTextToList" + ], + { + "title_aux": "Daves Nodes" + } + ], "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": [ [ "SD3LatentSelectRes" @@ -3701,6 +4253,15 @@ "title_aux": "ComfyUI-SD3LatentSelectRes" } ], + "https://github.com/GeekyGhost/ComfyUI-Geeky-Kokoro-TTS": [ + [ + "GeekyKokoroAdvancedVoice", + "GeekyKokoroTTS" + ], + { + "title_aux": "ComfyUI-Geeky-Kokoro-TTS" + } + ], "https://github.com/GeekyGhost/ComfyUI-GeekyRemB": [ [ "GeekyRemB" @@ -3737,7 +4298,7 @@ "title_aux": "Save Image Plus for ComfyUI" } ], - "https://github.com/Gourieff/comfyui-reactor-node": [ + "https://github.com/Gourieff/ComfyUI-ReActor": [ [ "ImageRGBA2RGB", "ReActorBuildFaceModel", @@ -3751,27 +4312,45 @@ "ReActorOptions", "ReActorRestoreFace", "ReActorSaveFaceModel", + "ReActorSetWeight", "ReActorUnload" ], { - "title_aux": "ReActor Node for ComfyUI" + "title_aux": "comfyui-reactor-node" + } + ], + "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR": [ + [ + "GRApplyPulidFlux", + "GRPulidFluxEvaClipLoader", + "GRPulidFluxInsightFaceLoader", + "GRPulidFluxModelLoader" + ], + { + "title_aux": "ComfyUI-PuLID-Flux-GR" } ], "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": [ [ + "GR BLIP 2 Caption Generator", + "GR BLIP 2 Text Expander", "GR Background Remover REMBG", "GR Checkered Board", "GR Counter", "GR Flip Tile Random Inverted", "GR Flip Tile Random Red Ring", + "GR Florence 2 Caption Generator", + "GR INT Incremetor", "GR Image Details Displayer", "GR Image Details Saver", + "GR Image Multiplier", "GR Image Paste", "GR Image Paste With Mask", "GR Image Resize", "GR Image Resize Methods", "GR Image Size", "GR Image/Depth Mask", + "GR Lora Randomizer", "GR Mask", "GR Mask Create", "GR Mask Create Random", @@ -3855,9 +4434,23 @@ "title_aux": "ComfyUI-FilePathCreator" } ], + "https://github.com/HJH-AILab/ComfyUI_StableAnimator": [ + [ + "StableAnimatorDWPoseDetectorAlignedModels", + "StableAnimatorLoadFramesFromFolderNode", + "StableAnimatorModels", + "StableAnimatorNode", + "StableAnimatorSkeletonNode" + ], + { + "title_aux": "ComfyUI_StableAnimator" + } + ], "https://github.com/HM-RunningHub/ComfyUI_RH_APICall": [ [ + "RH_BatchImages", "RH_ExecuteNode", + "RH_ExtractImage", "RH_ImageUploaderNode", "RH_NodeInfoListNode", "RH_SettingsNode", @@ -3909,9 +4502,9 @@ ], { "author": "AlexL", - "description": "Display, save or not save image, with or without extra metadata.", - "nickname": "Hangover-Save_Image_Extra_Metadata", - "title": "ComfyUI-Hangover-Save_Image", + "description": "An implementation of Microsoft kosmos-2 image to text transformer.", + "nickname": "Hangover-ms_kosmos2", + "title": "ComfyUI-Hangover-Kosmos2", "title_aux": "ComfyUI-Hangover-Nodes" } ], @@ -3927,6 +4520,14 @@ "title_aux": "Recognize Anything Model (RAM) for ComfyUI" } ], + "https://github.com/HannibalP/comfyui-HannibalPack": [ + [ + "HannibalLoraLoader" + ], + { + "title_aux": "comfyui-HannibalPack" + } + ], "https://github.com/Haoming02/comfyui-diffusion-cg": [ [ "Normalization", @@ -3981,6 +4582,23 @@ "title_aux": "comfyui-enhanced-save-node" } ], + "https://github.com/HellerCommaA/ComfyUI-VideoResolutions": [ + [ + "HunyuanResolutions" + ], + { + "title_aux": "Hunyuan Video Resolutions" + } + ], + "https://github.com/Hellfiredragon/comfyui-image-manipulation": [ + [ + "AlphaApplyMaskToImage", + "CreateMaskFromColorsNode" + ], + { + "title_aux": "comfyui-image-manipulation" + } + ], "https://github.com/HelloVision/ComfyUI_HelloMeme": [ [ "CropPortrait", @@ -4026,6 +4644,23 @@ "title_aux": "Hiero-Nodes" } ], + "https://github.com/Holasyb918/Ghost2_Comfyui": [ + [ + "AlignPipeline", + "BlenderPipeline", + "FaceAnalysisePipeline", + "FaceParsingPipeline", + "LoadAlignerModel", + "LoadBlenderModel", + "LoadFaceAnalysisModel", + "LoadFaceParsingModel", + "LoadInpainterModel", + "LoadStyleMatteModel" + ], + { + "title_aux": "Ghost2_Comfyui" + } + ], "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [ [ "AgentMemoryProvider", @@ -4098,6 +4733,19 @@ "title_aux": "IG Interpolation Nodes" } ], + "https://github.com/IDGallagher/MotionVideoSearch": [ + [ + "IG Motion Video Frame", + "IG Motion Video Search" + ], + { + "author": "IDGallagher", + "description": "Search an index of videos by motion image", + "nickname": "IG Motion Video Search", + "title": "IG Motion Video Search", + "title_aux": "IG-Motion-Search" + } + ], "https://github.com/ITurchenko/ComfyUI-SizeFromArray": [ [ "SizeFromArray" @@ -4108,9 +4756,11 @@ ], "https://github.com/IamCreateAI/Ruyi-Models": [ [ + "Ruyi_EnhanceAVideo", "Ruyi_I2VSampler", "Ruyi_LoadLora", - "Ruyi_LoadModel" + "Ruyi_LoadModel", + "Ruyi_TeaCache" ], { "title_aux": "ComfyUI-Ruyi" @@ -4129,6 +4779,30 @@ "title_aux": "Simple String Repository" } ], + "https://github.com/Immac/ComfyUI-CoreVideoMocks": [ + [ + "CoreVideoMocks:AV1Codec", + "CoreVideoMocks:BatchAudioStreams", + "CoreVideoMocks:BatchSubtitlesStreams", + "CoreVideoMocks:BatchVideoStreams", + "CoreVideoMocks:CodecFromVideoStream", + "CoreVideoMocks:CombineVideo", + "CoreVideoMocks:DecodeVideoStream", + "CoreVideoMocks:EncodeVideoStream", + "CoreVideoMocks:GetAudioStream", + "CoreVideoMocks:GetSubtitleStream", + "CoreVideoMocks:GetVideoStream", + "CoreVideoMocks:LoadVideo", + "CoreVideoMocks:PreviewVideo", + "CoreVideoMocks:SaveVideo", + "CoreVideoMocks:SplitVideo", + "CoreVideoMocks:VP9Codec", + "CoreVideoMocks:VideoStreamData" + ], + { + "title_aux": "ComfyUI Core Video Nodes" + } + ], "https://github.com/ImmortalPie/ComfyUI-PonySwitch": [ [ "PonySwitch" @@ -4442,6 +5116,17 @@ "title_aux": "ComfyUI-PhyCV" } ], + "https://github.com/JTriggerFish/ComfyLatentTools": [ + [ + "DownsampledAttentionGuidance", + "DownsampledLatentGuidance", + "GenericAttentionGuidance", + "LatentNormalizedLanczosResize" + ], + { + "title_aux": "Comfy Latent Tools" + } + ], "https://github.com/JackEllie/ComfyUI_AI_Assistant": [ [ "apply_lighting_effects", @@ -4606,38 +5291,34 @@ "title_aux": "ComfyUI_TGate" } ], - "https://github.com/JichaoLiang/Immortal_comfyUI": [ + "https://github.com/JiSenHua/ComfyUI-TD": [ [ - "AppendNode", - "CombineVideos", - "ImAppendFreeChatAction", - "ImAppendImageActionNode", - "ImAppendQuickbackNode", - "ImAppendQuickbackVideoNode", - "ImAppendVideoNode", - "ImDumpEntity", - "ImDumpNode", - "ImLoadPackage", - "ImNodeTitleOverride", - "ImSetActionKeywordMapping", - "MergeNode", - "NewNode", - "Node2String", - "OllamaChat", - "SaveImagePath", - "SaveToDirectory", - "SetEvent", - "SetNodeMapping", - "SetProperties", - "String2Node", - "TurnOnOffNodeOnEnter", - "batchNodes", - "grepNodeByText", - "mergeEntityAndPointer", - "redirectToNode" + "Comfy3DPacktoTD", + "Hy3DtoTD", + "ImagetoTD", + "LoadTDImage", + "Tripo3DtoTD", + "TripoSRtoTD", + "VideotoTD" ], { - "title_aux": "Immortal_comfyUI" + "title_aux": "ComfyUI-TD" + } + ], + "https://github.com/JohanK66/ComfyUI-WebhookImage": [ + [ + "Notif-Webhook" + ], + { + "title_aux": "ComfyUI WebhookImage" + } + ], + "https://github.com/JohnDoeSmithee/ComfyUI-SoX-Mixdown": [ + [ + "SoxMixNode" + ], + { + "title_aux": "ComfyUI-SoX-Mixdown" } ], "https://github.com/Jonseed/ComfyUI-Detail-Daemon": [ @@ -4726,6 +5407,34 @@ "title_aux": "ComfyUI JMNodes" } ], + "https://github.com/KAVVATARE/ComfyUI-Light-N-Color": [ + [ + "ControlNetSwitch", + "FluxLightingAndColor", + "FluxSamplerPuLID", + "ImageSwitch", + "LatentSwitch", + "LoadInputOutputImage" + ], + { + "title_aux": " ComfyUI-Light-N-Color" + } + ], + "https://github.com/KLL535/ComfyUI_SimpleButcher": [ + [ + "Simple Auto Bypass", + "Simple Extract Lora From Text", + "Simple Image Saver (as Forge)", + "Simple Load Image With Metadata", + "Simple Load Images from Dir", + "Simple Load Line From Text File", + "Simple Lora Loader", + "Simple Remove Think" + ], + { + "title_aux": "ComfyUI_SimpleButcher" + } + ], "https://github.com/Kangkang625/ComfyUI-paint-by-example": [ [ "PaintbyExamplePipeLoader", @@ -4735,6 +5444,25 @@ "title_aux": "ComfyUI-Paint-by-Example" } ], + "https://github.com/Kayarte/AudioDriven-Latent-Space-Tools-for-ComfyUI": [ + [ + "AdvancedNoisePatterns", + "AudioNoiseMapper", + "LibrosaAnalysisNode", + "NoiseToLatentConverter" + ], + { + "title_aux": "AudioDriven-Latent-Space-Tools-for-ComfyUI" + } + ], + "https://github.com/Kayarte/GeoNodes/raw/refs/heads/main/GISDetectionNode.py": [ + [ + "GISDetectionNode" + ], + { + "title_aux": "GeoNodes" + } + ], "https://github.com/Kesin11/ComfyUI-list-filter": [ [ "list_filter_FilterImageListByIndexList", @@ -4764,6 +5492,15 @@ "title_aux": "ComfyUI-kewky_tools" } ], + "https://github.com/Kidev/ComfyUI-Fisheye-effects": [ + [ + "Defisheye", + "Fisheye" + ], + { + "title_aux": "ComfyUI Fisheye Effects Nodes" + } + ], "https://github.com/KohakuBlueleaf/z-tipo-extension": [ [ "TIPO", @@ -4797,10 +5534,9 @@ ], "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": [ [ - "Load Nai Styles Complex CSV", - "ShowText|pysssss", - "Universal_Styler_Node", - "concat" + "\ud83d\udee1\ufe0f Load Scripts from Database", + "\ud83d\udee1\ufe0f Save Script to Database (In progress)", + "\ud83d\udee1\ufe0f Set Main Channel" ], { "title_aux": "ComfyUI Universal Styler" @@ -4868,6 +5604,7 @@ "ADE_AdjustWeightIndivAttnAdd", "ADE_AdjustWeightIndivAttnMult", "ADE_AdjustWeightIndivMult", + "ADE_AncestralOptions", "ADE_AnimateDiffCombine", "ADE_AnimateDiffKeyframe", "ADE_AnimateDiffLoRALoader", @@ -4951,6 +5688,7 @@ "ADE_NoiseCalibration", "ADE_NoiseLayerAdd", "ADE_NoiseLayerAddWeighted", + "ADE_NoiseLayerNormalizedSum", "ADE_NoiseLayerReplace", "ADE_NoisedImageInjectOptions", "ADE_NoisedImageInjection", @@ -5021,6 +5759,7 @@ "VHS_SelectFilename", "VHS_SelectImages", "VHS_SelectLatents", + "VHS_SelectLatest", "VHS_SelectMasks", "VHS_SplitImages", "VHS_SplitLatents", @@ -5056,6 +5795,15 @@ "title_aux": "ComfyUI_S3_direct" } ], + "https://github.com/Kurdknight/Kurdknight_comfycheck": [ + [ + "SystemCheck", + "SystemViz" + ], + { + "title_aux": "KurdKnight ComfyUI System Check Node" + } + ], "https://github.com/KwaiVGI/ComfyUI-KLingAI-API": [ [ "Client", @@ -5081,6 +5829,15 @@ "title_aux": "ComfyUI_KytraWebhookHTTP" } ], + "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra": [ + [ + "Kytra_Images_To_RGB", + "MatAnyoneVideoMatting" + ], + { + "title_aux": "ComfyUI_MatAnyone_Kytra" + } + ], "https://github.com/LAOGOU-666/ComfyUI_LG_FFT": [ [ "LG_FFTNode", @@ -5148,6 +5905,7 @@ "Texturaizer_GetImageData", "Texturaizer_GetJsonData", "Texturaizer_GetLoraData", + "Texturaizer_GetMaterialTileData", "Texturaizer_GetModelName", "Texturaizer_GetPromptData", "Texturaizer_GetRenderData", @@ -5159,6 +5917,7 @@ "Texturaizer_KSamplerAdvanced", "Texturaizer_Placeholder", "Texturaizer_PowerLoraLoader", + "Texturaizer_SendImage", "Texturaizer_SetGlobalDir", "Texturaizer_SigmasSelector", "Texturaizer_SwitchAny", @@ -5178,6 +5937,16 @@ "title_aux": "Comfyui lama remover" } ], + "https://github.com/Legorobotdude/ComfyUI-VariationLab": [ + [ + "CFGExplorer", + "CheckpointExplorer", + "StepExplorer" + ], + { + "title_aux": "ComfyUI-VariationLab" + } + ], "https://github.com/Lerc/canvas_tab": [ [ "Canvas_Tab", @@ -5193,45 +5962,116 @@ ], "https://github.com/LevelPixel/ComfyUI-LevelPixel": [ [ + "Autotagger [LP]", "Autotagger|LP", "BoolToInt|LP", "BoolToString|LP", + "CLIP Text Encode Translate [LP]", "CLIPTextEncodeTranslate|LP", + "Convert Bool To Int [LP]", + "Convert Bool To String [LP]", + "Convert Float To Int [LP]", + "Convert Float To String [LP]", + "Convert Int To Bool [LP]", + "Convert Int To Float [LP]", + "Convert Int To String [LP]", + "Convert String To Bool [LP]", + "Convert String To Combo [LP]", + "Convert String To Float [LP]", + "Convert String To Int [LP]", + "Convert String To Number [LP]", + "Delay [LP]", + "Delay|LP", + "Fast Checker Pattern [LP]", "FastCheckerPattern|LP", + "File Counter [LP]", "FileCounter|LP", + "Find Value From File [LP]", + "FindValueFromFile|LP", "FloatToInt|LP", "FloatToString|LP", + "Hard Model Unloader [LP]", "HardModelUnloader|LP", "HundredthsSimpleFloatSlider|LP", + "Image Loader From Path [LP]", + "Image Overlay [LP]", + "Image Remove Background [LP]", "ImageLoaderFromPath|LP", "ImageOverlay|LP", "ImageRemoveBackground|LP", "IntToBool|LP", "IntToFloat|LP", "IntToString|LP", + "Keep Only English Tags [LP]", + "Keep Only English Words [LP]", + "KeepOnlyEnglishTags|LP", + "KeepOnlyEnglishWords|LP", + "LLM Advanced [LP]", + "LLM Loader [LP]", + "LLM Sampler [LP]", "LLMAdvanced|LP", "LLMLoader|LP", "LLMSampler|LP", + "LLava Advanced [LP]", + "LLava Clip Loader [LP]", + "LLava Loader [LP]", + "LLava Sampler Advanced [LP]", + "LLava Sampler Simple [LP]", + "LLava Simple [LP]", "LLavaAdvanced|LP", "LLavaClipLoader|LP", "LLavaLoader|LP", "LLavaSamplerAdvanced|LP", "LLavaSamplerSimple|LP", "LLavaSimple|LP", + "Load Image [LP]", + "Load LoRA Tag [LP]", "LoadImage|LP", "LoraTagLoader|LP", + "Model Unloader [LP]", "ModelUnloader|LP", + "Override CLIP Device [LP]", + "Override VAE Device [LP]", + "OverrideCLIPDevice|LP", + "OverrideVAEDevice|LP", + "Preview Image Bridge [LP]", "PreviewImageForConditions|LP", + "Remove Banned Tags From Tags [LP]", + "Remove Banned Tags From Text [LP]", + "Remove Duplicate Tags [LP]", + "RemoveBannedTagsFromTags|LP", + "RemoveBannedTagsFromText|LP", + "RemoveDuplicateTags|LP", + "ResizeImageToTargetSize|LP", + "Resorting Tags [LP]", + "ResortingTags|LP", + "Show Text Bridge [LP]", + "Show Text [LP]", "ShowTextBridge|LP", "ShowText|LP", + "Simple Float Slider - Hundredths Step [LP]", + "Simple Float Slider - Tenths Step [LP]", + "Simple Float Slider [LP]", "SimpleFloatSlider|LP", + "Soft Model Unloader [LP]", "SoftModelUnloader|LP", + "Split Compound Text [LP]", + "SplitCompoundText|LP", + "String [LP]", "StringToBool|LP", "StringToCombo|LP", "StringToFloat|LP", "StringToInt|LP", "StringToNumber|LP", "String|LP", + "Tag Category Filter [LP]", + "Tag Category Keeper [LP]", + "Tag Category Remover [LP]", + "Tag Category [LP]", + "Tag Merger [LP]", + "Tag Remover [LP]", + "Tag Replace [LP]", + "Tag Switcher [LP]", "TagCategoryFilter|LP", "TagCategoryKeeper|LP", "TagCategoryRemover|LP", @@ -5241,7 +6081,12 @@ "TagReplace|LP", "TagSwitcher|LP", "TenthsSimpleFloatSlider|LP", + "Text Choice Parser [LP]", + "Text To List [LP]", + "Text Translate [LP]", + "Text [LP]", "TextChoiceParser|LP", + "TextToList|LP", "TextTranslate|LP", "Text|LP" ], @@ -5292,6 +6137,27 @@ "title_aux": "ComfyUI-LivePortraitNode (Replicate API)" } ], + "https://github.com/Lightricks/ComfyUI-LTXVideo": [ + [ + "AddLatentGuide", + "LTXAttentioOverride", + "LTXAttentionBank", + "LTXAttnOverride", + "LTXFetaEnhance", + "LTXFlowEditCFGGuider", + "LTXFlowEditSampler", + "LTXForwardModelSamplingPred", + "LTXPerturbedAttention", + "LTXPrepareAttnInjections", + "LTXRFForwardODESampler", + "LTXRFReverseODESampler", + "LTXReverseModelSamplingPred", + "ModifyLTXModel" + ], + { + "title_aux": "ComfyUI-LTXVideo" + } + ], "https://github.com/Limitex/ComfyUI-Calculation": [ [ "CenterCalculation", @@ -5501,6 +6367,7 @@ ], "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": [ [ + "LoraTagLoader", "StringCleaning", "TiktokenTokenizer", "\u26d4 Generate Negative Prompt", @@ -5508,6 +6375,7 @@ "\u2728\ud83d\udcac Groq LLM API", "\u2728\ud83d\udcdd Groq ALM API - Transcribe", "\u2728\ud83d\udcf7 Groq VLM API", + "\ud83c\udff7\ufe0f LoRA Loader Prompt Tags", "\ud83d\udcbe Save Text File With Path", "\ud83d\udcc1 Get File Path", "\ud83d\udd20 Tiktoken Tokenizer Info", @@ -5528,6 +6396,7 @@ ], "https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards": [ [ + "makitextwildcards", "makiwildcards", "textconcatenate" ], @@ -5535,15 +6404,6 @@ "title_aux": "ComfyUI-Prompt-Wildcards" } ], - "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF": [ - [ - "SaveAnimatedGIF", - "SaveAnimatedWEBPRevise" - ], - { - "title_aux": "ComfyUI-SaveAnimatedGIF" - } - ], "https://github.com/MakkiShizu/comfyui_reimgsize": [ [ "Cropimg", @@ -5648,6 +6508,17 @@ "title_aux": "Mosaica" } ], + "https://github.com/Mattabyte/ComfyUI-SecureApiCall": [ + [ + "SaveLatentToS3", + "SaveVideoFilesS3", + "SecureAPI-SecureAPI", + "SecureAPI-SecureAPI-AWS" + ], + { + "title_aux": "ComfyUI Secure API Call" + } + ], "https://github.com/Mcmillian/ComfyUI-SimpleToolsNodes": [ [ "GetModelStep", @@ -5657,6 +6528,51 @@ "title_aux": "SimpleToolsNodes" } ], + "https://github.com/MeeeyoAI/ComfyUI_StringOps": [ + [ + "AddPrefixSuffix", + "AddPrefixSuffixToLines", + "BatchReplaceStrings", + "CheckSubstringPresence", + "CompareInt", + "ConditionalTextOutput", + "CountOccurrences", + "ExtractAndCombineLines", + "ExtractBeforeAfter", + "ExtractLinesByIndex", + "ExtractSpecificData", + "ExtractSpecificLines", + "ExtractSubstring", + "ExtractSubstringByIndices", + "FileListAndSuffix", + "FilterLinesBySubstrings", + "FilterLinesByWordCount", + "FindExcelData", + "FindFirstLineContent", + "FloatToInteger", + "GenerateNumbers", + "GetCurrentTime", + "GetRandomIntegerInRange", + "ProcessString", + "RandomLineFromText", + "ReadExcelData", + "ReadExcelRowOrColumnDiff", + "RemoveContentBetweenChars", + "ReplaceMultiple", + "ReplaceNthOccurrence", + "SelectionParameter", + "ShuffleTextLines", + "SplitAndExtractText", + "SplitStringByDelimiter", + "StandardSize", + "TextConcatenation", + "TextConditionCheck", + "WriteExcelData" + ], + { + "title_aux": "ComfyUI_StringOps" + } + ], "https://github.com/Meettya/ComfyUI-OneForOne": [ [ "OFO Image Fit" @@ -5775,6 +6691,8 @@ "iToolsLineLoader", "iToolsLoadImagePlus", "iToolsLoadImages", + "iToolsLoadRandomImage", + "iToolsPreviewText", "iToolsPromptLoader", "iToolsPromptSaver", "iToolsPromptStyler", @@ -5865,6 +6783,16 @@ "title_aux": "Node Pack mostly for manipulating strings and integers" } ], + "https://github.com/MontagenAI/ComfyUI-Montagen": [ + [ + "MontagenAudioClipAdapter", + "MontagenImageClipAdapter", + "MontagenVideoClipAdapter" + ], + { + "title_aux": "ComfyUI-Montagen" + } + ], "https://github.com/MoonHugo/ComfyUI-BiRefNet-Hugo": [ [ "BiRefNet_Hugo" @@ -5942,46 +6870,143 @@ "title_aux": "ComfyUI-TextOverlay" } ], + "https://github.com/MushroomFleet/DJZ-KokoroTTS": [ + [ + "KokoroTTS_LoadVoice_v1", + "KokoroTTS_SaveVoice_v1", + "KokoroTTS_v1", + "KokoroTTS_v2", + "KokoroTTS_v3", + "KokoroTTS_v4", + "KokoroTTS_v5" + ], + { + "title_aux": "KokoroTTS Node" + } + ], "https://github.com/MushroomFleet/DJZ-Nodes": [ [ + "AnamorphicEffect", "AspectSize", "AspectSizeV2", + "BatchAlphaComposite", "BatchOffset", "BatchRangeInsert", "BatchRangeSwap", "BatchThief", + "BlackBarsV1", + "BlackBarsV2", + "BlackBarsV3", + "BracketCleaner", + "CRT_Effect_v1", + "CathodeRayEffect", + "ClassicFilmEffect", + "CombineAudio", "DJZ-LoadLatent", "DJZ-LoadLatentV2", "DJZDatamosh", "DJZDatamoshV2", "DatasetWordcloud", + "DeadPixelEffect", + "DepthBasedPixelization", "DinskyPlus", "DinskyPlusV2", + "DjzDatabendingV1", "DjzDatamoshV3", "DjzDatamoshV4", "DjzDatamoshV5", "DjzDatamoshV6", "DjzDatamoshV7", + "DjzDatamoshV8", + "FilmGateWeave", + "FilmGrainEffect", + "FilmGrainEffect_v2", + "FishEyeEffect", + "FishEyeV2", "FractalGenerator", "FractalGeneratorV2", "FractalGeneratorV3", + "GSL_Filter_V1", + "HalationBloom", + "ImageInterleavedUpscaler", + "ImageInterleavedUpscalerV2", "ImageSizeAdjuster", "ImageSizeAdjusterV2", "ImageSizeAdjusterV3", + "JitterEffect", + "KeyframeBasedUpscalerV1", + "KinescopeEffectV1", + "LensLeaks", "LoadTextDirectory", "LoadVideoDirectory", + "LoadVideoDirectoryV2", + "MotionBlending", + "NoiseFactory", + "NoiseFactoryV2", + "NoiseFactoryV3", + "NonSquarePixelsV1", + "PanavisionLensV2", "ParametricMeshGen", "ParametricMeshGenV2", "ProjectFilePathNode", "PromptCleaner", + "PromptCleanerV2", + "PromptDupeRemover", + "PromptDupeRemoverV2", "PromptInject", + "PromptInjectV2", "PromptSwap", + "RetroVideoText", + "ScreensaverGenerator", + "ScreensaverGeneratorV2", + "ScreensaverGeneratorV3", "SequentialNumberGenerator", + "StringChaos", "StringWeights", + "Technicolor3Strip_v1", + "Technicolor3Strip_v2", + "ThinkSeeker", + "ThreeToneStyler", "TrianglesPlus", "TrianglesPlusV2", + "UncleanSpeech", + "VGA_Effect_v1", + "VHS_Effect_V3", + "VHS_Effect_v1", + "VHS_Effect_v2", + "VideoBitClamp", + "VideoChromaticAberration", + "VideoCorridorV1", + "VideoCubeV1", + "VideoFilmDamage", + "VideoInterlaceFastV4", + "VideoInterlaceGANV3", + "VideoInterlaced", + "VideoInterlacedV2", + "VideoMazeV1", + "VideoMazeV2", + "VideoNoiseFactory", + "VideoPyramidV1", + "VideoRingPainter", + "VideoTemperatureV1", + "VideoTimecode", + "VideoTrails", + "VideoTrailsV2", + "VideoVignettingV1", + "VoiceEffects", + "VoiceEffects2", + "WaveletCompose", + "WaveletDecompose", + "WinampViz", + "WinampVizV2", + "ZenkaiImagePromptV1", + "ZenkaiImagePromptV2", + "ZenkaiPoseMap", "ZenkaiPrompt", "ZenkaiPromptV2", + "ZenkaiPromptV3", + "ZenkaiPromptV4", + "ZenkaiPromptV5", "ZenkaiWildcard", "ZenkaiWildcardV2" ], @@ -5990,6 +7015,14 @@ "title_aux": "DJZ-Nodes" } ], + "https://github.com/MushroomFleet/DJZ-Pedalboard": [ + [ + "DJZ_Pedalboard" + ], + { + "title_aux": "DJZ-Pedalboard" + } + ], "https://github.com/MuziekMagie/ComfyUI-Matchering": [ [ "Matchering", @@ -6002,8 +7035,17 @@ ], "https://github.com/MzMaXaM/ComfyUi-MzMaXaM": [ [ - "SelectLatentSize", - "TextEncode3in1" + "ImageChooser", + "KSamplerWithVAE", + "LmsImageToText", + "LmsTextToText", + "OllamaImageToText", + "OllamaTextToText", + "SelectLatentSize1MP", + "SelectLatentSize2MP", + "TextEncode3in1", + "UpscaleImageBy1_5x", + "UpscaleLatentBy1_5x" ], { "title_aux": "ComfyUi-MzMaXaM" @@ -6164,6 +7206,16 @@ "title_aux": "ComfyUI_TravelSuite" } ], + "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes": [ + [ + "AspectRatioNikosis", + "PromptMultipleStylesSelectorNikosis", + "TextConcatenateNikosis" + ], + { + "title_aux": "ComfyUI-Nikosis-Nodes" + } + ], "https://github.com/NimaNzrii/comfyui-photoshop": [ [ "\ud83d\udd39 Photoshop RemoteConnection", @@ -6357,31 +7409,33 @@ "title_aux": "ComfyUI-N-Nodes" } ], - "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED": [ - [ - "Get Booru Tag \ud83d\udcacED" - ], - { - "author": "NyaamZ", - "description": "Get tag from Booru site.", - "nickname": "Get Booru Tag ED", - "title": "Get Booru Tag ExtendeD", - "title_aux": "Get Booru Tag ExtendeD" - } - ], "https://github.com/NyaamZ/efficiency-nodes-ED": [ [ - "Apply LoRA Stack \ud83d\udcacED", + "Context To BasicPipe", + "Context To DetailerPipe", "Control Net Script \ud83d\udcacED", + "Detailer (SEGS) \ud83d\udcacED", "Efficient Loader \ud83d\udcacED", "Embedding Stacker \ud83d\udcacED", + "FaceDetailer \ud83d\udcacED", + "Get Booru Tag \ud83d\udcacED", "Int Holder \ud83d\udcacED", "KSampler (Efficient) \ud83d\udcacED", - "KSampler TEXT (Eff.) \ud83d\udcacED", + "KSampler Text \ud83d\udcacED", "LoRA Stacker \ud83d\udcacED", "Load Image \ud83d\udcacED", + "MaskDetailer \ud83d\udcacED", "Refiner Script \ud83d\udcacED", - "Save Image \ud83d\udd14ED" + "Regional Processor \ud83d\udcacED", + "Regional Script \ud83d\udcacED", + "Regional Stacker \ud83d\udcacED", + "SUPIR Model Loader \ud83d\udcacED", + "SUPIR Sampler \ud83d\udcacED", + "Save Image \ud83d\udd14ED", + "Simple Text \ud83d\udcacED", + "TIPO Script \ud83d\udcacED", + "Ultimate SD Upscale \ud83d\udcacED", + "Wildcard Encode \ud83d\udcacED" ], { "author": "NyaamZ", @@ -6455,6 +7509,42 @@ "title_aux": "ComfyUI-CSV-Loader" } ], + "https://github.com/Pablerdo/ComfyUI-MultiCutAndDrag": [ + [ + "BatchImageToMask", + "LoadImageFromBase64", + "LoadImagesFromBase64Array", + "MapTrajectoriesToSegmentedMasks", + "MultiCutAndDragOnPath" + ], + { + "title_aux": "ComfyUI-MultiCutAndDrag" + } + ], + "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger": [ + [ + "MergePrompts" + ], + { + "title_aux": "ComfyUI-ZeptaframePromptMerger" + } + ], + "https://github.com/PanicTitan/ComfyUI-Fooocus-V2-Expansion": [ + [ + "FooocusV2Expansion" + ], + { + "title_aux": "ComfyUI-Fooocus-V2-Expansion" + } + ], + "https://github.com/PanicTitan/ComfyUI-Gallery": [ + [ + "GalleryNode" + ], + { + "title_aux": "ComfyUI-Gallery" + } + ], "https://github.com/Parameshvadivel/ComfyUI-SVGview": [ [ "SVGPreview" @@ -6533,6 +7623,31 @@ "title_aux": "Remade_nodes" } ], + "https://github.com/PixelFunAI/ComfyUI_PixelFun": [ + [ + "HunyuanLoadAndEditLoraBlocks", + "HunyuanLoadFromBlockCache", + "HunyuanLoraFromJson", + "HunyuanLoraFromPrompt" + ], + { + "title_aux": "Hunyuan LoRA Loader Nodes" + } + ], + "https://github.com/PixelML/ComfyUI-PixelML-CustomNodes": [ + [ + "AgenticflowAIVariable", + "BooleanInput_PixelML", + "FloatInput_PixelML", + "IntegerInput_PixelML", + "LoadImageFromURL_PixelML", + "SaveImage_PixelML", + "StringInput_PixelML" + ], + { + "title_aux": "PixelML ComfyUI Nodes" + } + ], "https://github.com/PnthrLeo/comfyUI-PL-data-tools": [ [ "AreasGenerator", @@ -6543,39 +7658,6 @@ "title_aux": "comfyUI-PL-data-tools" } ], - "https://github.com/Pos13/comfyui-cyclist": [ - [ - "CyclistCompare", - "CyclistMathFloat", - "CyclistMathInt", - "CyclistTimer", - "CyclistTimerStop", - "CyclistTypeCast", - "Interrupt", - "LoopManager", - "MemorizeConditioning", - "MemorizeFloat", - "MemorizeInt", - "MemorizeString", - "OverrideImage", - "OverrideLatent", - "OverrideModel", - "RecallConditioning", - "RecallFloat", - "RecallInt", - "RecallString", - "ReloadImage", - "ReloadLatent", - "ReloadModel" - ], - { - "author": "Pos13", - "description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles.", - "nickname": "comfyui-cyclist", - "title": "Cyclist", - "title_aux": "Cyclist" - } - ], "https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": [ [ "Publish Image To RabbitMQ" @@ -6584,6 +7666,16 @@ "title_aux": "ComfyUI-RabbitMQ-Publisher" } ], + "https://github.com/Positliver/comfyui-zegr": [ + [ + "ZEGR_ALI_UF", + "ZEGR_LF", + "ZEGR_WD" + ], + { + "title_aux": "comfyui-zegr" + } + ], "https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait": [ [ "AdvancedLivePortrait", @@ -6612,6 +7704,44 @@ "title_aux": "ComfyUI-StringsAndThings" } ], + "https://github.com/ProGamerGov/ComfyUI_preview360panorama": [ + [ + "PanoramaViewerNode" + ], + { + "title_aux": "Preview 360 Panorama for ComfyUI" + } + ], + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert": [ + [ + "Crop 360 to 180 Equirectangular", + "Crop Image with Coords", + "Crop Stereo to Monoscopic", + "Cubemap to Equirectangular", + "Equirectangular Rotation", + "Equirectangular to Cubemap", + "Equirectangular to Perspective", + "Masked Diff C2E", + "Merge Monoscopic into Stereo", + "Pad 180 to 360 Equirectangular", + "Paste Image with Coords", + "Roll Image Axes", + "Split Cubemap Faces", + "Stack Cubemap Faces" + ], + { + "title_aux": "PyTorch 360\u00b0 Image Conversion Toolkit for ComfyUI" + } + ], + "https://github.com/PrunaAI/ComfyUI_pruna": [ + [ + "CacheModel", + "CompileModel" + ], + { + "title_aux": "Pruna nodes for ComfyUI" + } + ], "https://github.com/Pseudotools/Pseudocomfy": [ [ "Combiner", @@ -6685,12 +7815,12 @@ "title_aux": "ComfyUI-Rodin" } ], - "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD": [ + "https://github.com/ReBeating/ComfyUI-Artist-Selector": [ [ - "DanbooruToWD" + "LoadArtistTag" ], { - "title_aux": "ComfyUI-Danbooru-To-WD" + "title_aux": "ComfyUI-Artist-Selector" } ], "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": [ @@ -6733,14 +7863,51 @@ "https://github.com/RiceRound/ComfyUI_CryptoCat": [ [ "CryptoCatImage", + "DecodeCryptoNode", "ExcuteCryptoNode", "RandomSeedNode", + "SaveCryptoBridgeNode", "SaveCryptoNode" ], { "title_aux": "ComfyUI Compression and Encryption Node" } ], + "https://github.com/RiceRound/ComfyUI_RiceRound": [ + [ + "RiceRoundAdvancedChoiceNode", + "RiceRoundBooleanNode", + "RiceRoundDecryptNode", + "RiceRoundDownloadImageAndMaskNode", + "RiceRoundDownloadImageNode", + "RiceRoundDownloadMaskNode", + "RiceRoundEncryptNode", + "RiceRoundFloatNode", + "RiceRoundImageBridgeNode", + "RiceRoundImageNode", + "RiceRoundImageUrlNode", + "RiceRoundInputTextNode", + "RiceRoundIntNode", + "RiceRoundMaskBridgeNode", + "RiceRoundOutputBooleanNode", + "RiceRoundOutputFloatNode", + "RiceRoundOutputImageBridgeNode", + "RiceRoundOutputImageNode", + "RiceRoundOutputIntNode", + "RiceRoundOutputMaskBridgeNode", + "RiceRoundOutputTextNode", + "RiceRoundRandomSeedNode", + "RiceRoundSimpleChoiceNode", + "RiceRoundSimpleImageNode", + "RiceRoundStrToBooleanNode", + "RiceRoundStrToFloatNode", + "RiceRoundStrToIntNode", + "RiceRoundUploadImageNode" + ], + { + "title_aux": "RiceRound Cloud Node" + } + ], "https://github.com/Rinsanga1/comfyui-florence2xy": [ [ "Florence2toCoordinatesButxy", @@ -6760,6 +7927,30 @@ "title_aux": "Panoramic Image Stitcher" } ], + "https://github.com/RodrigoSKohl/InteriorDesign-for-ComfyUI": [ + [ + "interior-design-for-comfyui" + ], + { + "title_aux": "Interior Design for Comfyui" + } + ], + "https://github.com/RodrigoSKohl/StableDesign-for-ComfyUI": [ + [ + "interior-design-for-comfyui" + ], + { + "title_aux": "Interior Design for Comfyui" + } + ], + "https://github.com/RodrigoSKohl/comfyui-tryoff-anyone": [ + [ + "TryOffAnyoneNode" + ], + { + "title_aux": "TryOff Anyone" + } + ], "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": [ [ "LatentAddTransform", @@ -6803,6 +7994,8 @@ "Runware ControlNet PreProcessor", "Runware Embedding Search", "Runware Embeddings Combine", + "Runware IPAdapter", + "Runware IPAdapters Combine", "Runware Image Caption", "Runware Image Inference", "Runware Image Masking", @@ -6845,6 +8038,7 @@ "MaskBatchComposite(FaceParsing)", "MaskBlackOut(FaceParsing)", "MaskBorderDissolve(FaceParsing)", + "MaskBorderDissolveAdvanced(FaceParsing)", "MaskComposite(FaceParsing)", "MaskCropWithBBox(FaceParsing)", "MaskInsertWithBBox(FaceParsing)", @@ -6870,6 +8064,41 @@ "title_aux": "comfyui_io_helpers" } ], + "https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend": [ + [ + "ImagePositionBlend" + ], + { + "title_aux": "Image Position Blend" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector": [ + [ + "PromptSelector" + ], + { + "title_aux": "ComfyUI-Prompts-Selector" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay": [ + [ + "ImageBlendWithAlpha", + "ImageColor", + "ImageOverlay", + "ImageSelector" + ], + { + "title_aux": "ComfyUI-S4Tool-Image-Overlay" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image": [ + [ + "TextOnImage" + ], + { + "title_aux": "ComfyUI-Text-On-Image" + } + ], "https://github.com/SEkINVR/ComfyUI-SaveAs": [ [ "ComfyUISaveAs" @@ -6883,6 +8112,7 @@ "AspectRatioAdvanced", "DisplayEverything", "ImageComparer", + "LensFlare", "MultiFloat", "MultiTextNode", "SKB_AnySwitch", @@ -6943,6 +8173,22 @@ "title_aux": "ComfyUI-LexTools" } ], + "https://github.com/SS-snap/ComfyUI-Ad_scheduler": [ + [ + "AD_Scheduler" + ], + { + "title_aux": "ComfyUI-Ad-scheduler" + } + ], + "https://github.com/SS-snap/ComfyUI-LBW_flux": [ + [ + "LoraBlockWeight_Flux" + ], + { + "title_aux": "ComfyUI-LBW_flux" + } + ], "https://github.com/SS-snap/ComfyUI-Snap_Processing": [ [ "AreaCalculator", @@ -7403,6 +8649,14 @@ "title_aux": "ComfyUI_DiffusionModel_fp8_converter" } ], + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd": [ + [ + "FreeU_V2_timestepadd" + ], + { + "title_aux": "ComfyUI_FreeU_V2_timestepadd" + } + ], "https://github.com/Shiba-2-shiba/comfyui-color-ascii-art-node": [ [ "ASCIIArtNode", @@ -7427,6 +8681,15 @@ "title_aux": "Shibiko AI ComfyUI Tools" } ], + "https://github.com/ShinChven/sc-comfy-nodes": [ + [ + "Rescale Node", + "Width & Height" + ], + { + "title_aux": "ShinChven's Custom Nodes Package" + } + ], "https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust": [ [ "ApplyStyleModelAdjust" @@ -7451,6 +8714,14 @@ "title_aux": "ComfyUI Coherent Video Sampler Node" } ], + "https://github.com/ShmuelRonen/ComfyUI-DeepSeek_R1-Chat": [ + [ + "ComfyUIDeepSeekChat" + ], + { + "title_aux": "ComfyUI DeepSeek_R1 Chat Node" + } + ], "https://github.com/ShmuelRonen/ComfyUI-EmptyHunyuanLatent": [ [ "EmptyHunyuanLatentForImage", @@ -7465,12 +8736,21 @@ "FreeMemoryCLIP", "FreeMemoryImage", "FreeMemoryLatent", - "FreeMemoryModel" + "FreeMemoryModel", + "FreeMemoryString" ], { "title_aux": "ComfyUI-FreeMemory" } ], + "https://github.com/ShmuelRonen/ComfyUI-FreeVC_wrapper": [ + [ + "FreeVC Voice Conversion" + ], + { + "title_aux": "ComfyUI-FreeVC_wrapper" + } + ], "https://github.com/ShmuelRonen/ComfyUI-Gemini_Flash_2.0_Exp": [ [ "AudioRecorder", @@ -7507,15 +8787,49 @@ "title_aux": "ComfyUI-ImageMotionGuider" } ], + "https://github.com/ShmuelRonen/ComfyUI-Janus_pro_vision": [ + [ + "UnifiedVisionAnalyzer", + "VisionModelLoader" + ], + { + "title_aux": "ComfyUI Janus Pro Vision" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-JoyHallo_wrapper": [ + [ + "JoyHallo_wrapper" + ], + { + "title_aux": "ComfyUI-JoyHallo_wrapper" + } + ], "https://github.com/ShmuelRonen/ComfyUI-LatentSyncWrapper": [ [ - "D_LatentSyncNode", - "D_VideoLengthAdjuster" + "LatentSyncNode", + "VideoLengthAdjuster" ], { "title_aux": "ComfyUI-LatentSyncWrapper" } ], + "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image": [ + [ + "FlattenImage" + ], + { + "title_aux": "ComfyUI-PS_Flatten_Image" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL": [ + [ + "PA_BaseModelLoader_fromhub", + "PA_Generation" + ], + { + "title_aux": "ComfyUI-PixArt_XL" + } + ], "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": [ [ "SVDRsizer" @@ -7524,9 +8838,17 @@ "title_aux": "ComfyUI-SVDResizer" } ], + "https://github.com/ShmuelRonen/ComfyUI-WanVideoKsampler": [ + [ + "WanVideoKsampler" + ], + { + "title_aux": "ComfyUI-WanVideoKsampler" + } + ], "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API": [ [ - "FluxPro11" + "FluxPro11WithFinetune" ], { "title_aux": "ComfyUI Flux 1.1 Ultra & Raw Node" @@ -7603,6 +8925,14 @@ "title_aux": "ComfyUI_Textarea_Loaders" } ], + "https://github.com/SijieMei/ComfyUI-promptHistory": [ + [ + "PromptHistory" + ], + { + "title_aux": "ComfyUI-Prompt-History" + } + ], "https://github.com/SimonHeese/ComfyUI_AnimationNodes/raw/refs/heads/main/animated_offset_pad.py": [ [ "AnimatedOffsetPadding" @@ -7613,8 +8943,17 @@ ], "https://github.com/SlackinJack/asyncdiff_comfyui": [ [ - "AsyncDiffImg2VidSampler", - "AsyncDiffSVDPipelineLoader" + "ADADSampler", + "ADControlNetLoader", + "ADIPAdapterLoader", + "ADLoraLoader", + "ADModelLoader", + "ADMultiLoraCombiner", + "ADPipelineConfig", + "ADSDSampler", + "ADSDUpscaleSampler", + "ADSVDSampler", + "ADSchedulerSelector" ], { "title_aux": "asyncdiff_comfyui" @@ -7622,8 +8961,8 @@ ], "https://github.com/SlackinJack/distrifuser_comfyui": [ [ - "DistrifuserPipelineLoader", - "DistrifuserSampler" + "DFPipelineConfig", + "DFSampler" ], { "title_aux": "distrifuser_comfyui" @@ -7647,6 +8986,14 @@ "title_aux": "ComfyUI-InstantX-IPAdapter-SD3" } ], + "https://github.com/Slickytail/ComfyUI-RegionalAdaptiveSampling": [ + [ + "RegionalAdaptiveSampling" + ], + { + "title_aux": "ComfyUI-RegionalAdaptiveSampling" + } + ], "https://github.com/Smirnov75/ComfyUI-mxToolkit": [ [ "mxSeed", @@ -7747,6 +9094,7 @@ ], "https://github.com/SozeInc/ComfyUI_Soze": [ [ + "Alpha Crop and Position Image", "CSV Reader", "CSV Writer", "Empty Images", @@ -7758,6 +9106,7 @@ "Load Image", "Load Image From URL", "Load Images From Folder", + "Lora File Loader", "Multiline Concatenate Strings", "Output Filename", "Prompt Cache", @@ -7766,6 +9115,7 @@ "Range(Num Steps) - Int", "Range(Step) - Float", "Range(Step) - Int", + "Shrink Image", "String Replacer", "Text Contains (Return Bool)", "Text Contains (Return String)", @@ -7828,16 +9178,20 @@ "https://github.com/Stability-AI/ComfyUI-SAI_API": [ [ "Stability Conservative Upscale", - "Stability Control Skech", + "Stability Control Sketch", "Stability Control Structure", + "Stability Control Style", "Stability Creative Upscale", "Stability Erase", + "Stability Fast Upscale", "Stability Image Core", "Stability Image Ultra", "Stability Inpainting", "Stability Outpainting", "Stability Remove Background", + "Stability Replace Background and Relight", "Stability SD3", + "Stability Search And Recolor", "Stability Search and Replace" ], { @@ -7870,20 +9224,33 @@ "SDVN CLIP Text Encode", "SDVN CLIPVision Download", "SDVN Checkpoint Download", + "SDVN Checkpoint Download List", "SDVN ControlNet Download", "SDVN Controlnet Apply", "SDVN DALL-E Generate Image", "SDVN Dic Convert", "SDVN Easy IPAdapter weight", "SDVN Exif check", + "SDVN Fill Background", "SDVN Filter List", + "SDVN Flip Image", + "SDVN Gemini Flash 2 Image", + "SDVN Google Imagen", + "SDVN IC Lora Layout", + "SDVN IC Lora Layout Crop", + "SDVN IC-Light v2", + "SDVN Image Adjust", + "SDVN Image Film Grain", + "SDVN Image HSL", "SDVN Image Info", "SDVN Image Layout", "SDVN Image Repeat", "SDVN Image Scraper", "SDVN Image Size", + "SDVN Image White Balance", "SDVN Inpaint", "SDVN Join Parameter", + "SDVN Joy Caption", "SDVN KSampler", "SDVN Load Checkpoint", "SDVN Load Image", @@ -7926,6 +9293,14 @@ "title_aux": "SDVN Comfy node" } ], + "https://github.com/StarAsh042/ComfyUI_RollingArtist": [ + [ + "RollingArtist" + ], + { + "title_aux": "ComfyUI_RollingArtist" + } + ], "https://github.com/StarMagicAI/comfyui_tagger": [ [ "DownloadAndLoadFlorence2Lora_jsonL", @@ -7941,14 +9316,29 @@ "https://github.com/Starnodes2024/ComfyUI_StarNodes": [ [ "DetailStarDaemon", + "FluxFillSampler", "FluxStartSettings", "Fluxstarsampler", "OllamaModelChooser", "SD35StartSettings", "SDXLStartSettings", "SDstarsampler", + "Star Face Loader", + "Star3LoRAs", + "StarDeleteSamplerSettings", + "StarDenoiseSlider", + "StarDivisibleDimension", + "StarEasyTextStorage", "StarFiveWildcards", "StarImageSwitch", + "StarLatentSwitch", + "StarLoadSamplerSettings", + "StarNewsScraper", + "StarPSDSaver", + "StarSaveSamplerSettings", + "StarTextFilter", + "StarTextInput", + "StarWildcardsAdvanced", "Starupscale" ], { @@ -8010,26 +9400,6 @@ "title_aux": "Comfyui_CXH_Phi_3.5" } ], - "https://github.com/StartHua/Comfyui_CXH_joy_caption": [ - [ - "CXH_DownloadAndLoadFlorence2Model", - "CXH_Florence2Run", - "CXH_HG_Model_Load", - "CXH_Min2_6_classifiy", - "CXH_Min2_6_prompt_Run", - "CXH_MinCP3_4B_Chat", - "CXH_MinCP3_4B_Load", - "Joy_caption", - "Joy_caption_alpha_batch", - "Joy_caption_alpha_load", - "Joy_caption_alpha_prompt", - "Joy_caption_alpha_run", - "Joy_caption_load" - ], - { - "title_aux": "Comfyui_CXH_joy_caption" - } - ], "https://github.com/StartHua/Comfyui_Gemini2": [ [ "CXH_Gemini2_TX", @@ -8065,12 +9435,22 @@ "Divide and Conquer Algorithm", "Divide and Conquer Algorithm (No Upscale)", "Load Images into List", - "Make Size" + "Make Size", + "Seed Shifter", + "Sequence Generator" ], { "title_aux": "ComfyUI Steudio" } ], + "https://github.com/Style-Mosaic/dino-x-comfyui-node": [ + [ + "DinoxDetector" + ], + { + "title_aux": "ComfyUI DINO-X Detector Node" + } + ], "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": [ [ "Deflicker - Experimental (SuperBeasts.AI)", @@ -8315,6 +9695,11 @@ ], "https://github.com/Sxela/ComfyWarp": [ [ + "ApplyMask", + "ApplyMaskConditional", + "ApplyMaskLatent", + "ApplyMaskLatentConditional", + "ExtractFlowAndMixConsistencyMaps", "ExtractOpticalFlow", "FixedQueue", "LoadFrame", @@ -8323,6 +9708,7 @@ "LoadFramePairFromDataset", "LoadFrameSequence", "MakeFrameDataset", + "MakePaths", "MixConsistencyMaps", "OffsetNumber", "RenderVideo", @@ -8337,6 +9723,18 @@ "title_aux": "ComfyWarp" } ], + "https://github.com/SykkoAtHome/ComfyUI_FaceProcessor": [ + [ + "FaceFitAndRestore", + "FaceTracker", + "FaceWrapper", + "HighPassFilter", + "ImageFeeder" + ], + { + "title_aux": "Face Processor for ComfyUI" + } + ], "https://github.com/TGu-97/ComfyUI-TGu-utils": [ [ "MPNReroute", @@ -8489,9 +9887,15 @@ "tri3d-skin-feathered-padded-mask", "tri3d-swap-pixels", "tri3d_H_Stack_Images", + "tri3d_Image_extend", + "tri3d_NSFWFilter", + "tri3d_NarrowfyImage", "tri3d_SaveImage_absolute", "tri3d_SaveText_absolute", + "tri3d_Skip_HeadMask", + "tri3d_Skip_HeadMask_AddNeck", "tri3d_SmartBox", + "tri3d_Smart_Depth", "tri3d_Wait_And_Read_File", "tri3d_extract_facer_mask", "tri3d_fill_mask", @@ -8602,8 +10006,27 @@ "title_aux": "Simswap Node for ComfyUI" } ], + "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes": [ + [ + "FensTokenCounter" + ], + { + "title_aux": "Fens-Simple-Nodes" + } + ], + "https://github.com/Taremin/comfyui-prompt-config": [ + [ + "PromptEdit", + "PromptGenerationConfig" + ], + { + "title_aux": "comfyui-prompt-config" + } + ], "https://github.com/Taremin/comfyui-prompt-extranetworks": [ [ + "PromptControlNetApply", + "PromptControlNetPrepare", "PromptExtraNetworks" ], { @@ -8703,6 +10126,16 @@ "title_aux": "ComfyUI-ELLA" } ], + "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART": [ + [ + "TA_AIToolsNode", + "TA_ExecuteNode", + "TA_SettingsNode" + ], + { + "title_aux": "ComfyUI_TENSOR_ART" + } + ], "https://github.com/TheBarret/ZSuite": [ [ "ZSuite: Prompter", @@ -8733,6 +10166,22 @@ "title_aux": "Anyline" } ], + "https://github.com/TheWhykiki/Whykiki-ComfyUIToolset": [ + [ + "SequentialImageLoaderV8" + ], + { + "title_aux": "Whykiki ComfyUI Toolset" + } + ], + "https://github.com/ThepExcel/aiangelgallery-comfyui": [ + [ + "ThepExcel_AiAngel_MultilineTextChoiceNode" + ], + { + "title_aux": "Multiline Text Choice Node for ComfyUI" + } + ], "https://github.com/ThereforeGames/ComfyUI-Unprompted": [ [ "Unprompted", @@ -8747,6 +10196,7 @@ "ttN KSampler_v2", "ttN advPlot combo", "ttN advPlot images", + "ttN advPlot merge", "ttN advPlot range", "ttN advPlot string", "ttN advanced xyPlot", @@ -8799,12 +10249,23 @@ "https://github.com/Tlant/ComfyUI-OllamaPromptsGeneratorTlant": [ [ "LoadRandomTxtFileTlant", - "OllamaPromptsGeneratorTlant" + "LoadRandomTxtFileTlantV2", + "LoadRandomTxtFileTlantV3", + "OllamaPromptsGeneratorTlant", + "OllamaSimpleTextGeneratorTlant" ], { "title_aux": "ComfyUI-OllamaPromptsGeneratorTlant" } ], + "https://github.com/Tr1dae/ComfyUI-Dequality": [ + [ + "Dequality" + ], + { + "title_aux": "ComfyUI-Dequality" + } + ], "https://github.com/Trgtuan10/ComfyUI_YoloSegment_Mask": [ [ "Object Mask" @@ -8904,7 +10365,6 @@ "TripoAnimateRetargetNode", "TripoAnimateRigNode", "TripoConvertNode", - "TripoGLBViewer", "TripoRefineModel", "TripoTextureModel" ], @@ -8968,8 +10428,20 @@ "title_aux": "VEnhancer ComfyUI Extension" } ], + "https://github.com/Visionatrix/ComfyUI-RemoteVAE": [ + [ + "RemoteVAEDecode" + ], + { + "title_aux": "ComfyUI-RemoteVAE" + } + ], "https://github.com/Visionatrix/ComfyUI-Visionatrix": [ [ + "StyleAlignedBatchAlign", + "VixCheckboxLogic", + "VixDynamicLoraDefinition", + "VixUiAspectRatioSelector", "VixUiCheckbox", "VixUiCheckboxLogic", "VixUiList", @@ -8990,24 +10462,30 @@ "VrchAudioGenresNode", "VrchAudioRecorderNode", "VrchAudioSaverNode", + "VrchAudioWebViewerNode", "VrchBooleanKeyControlNode", "VrchChannelOSCControlNode", "VrchChannelX4OSCControlNode", "VrchDelayOSCControlNode", "VrchFloatKeyControlNode", "VrchFloatOSCControlNode", + "VrchImageChannelLoaderNode", "VrchImageFlipBookWebViewerNode", + "VrchImagePreviewBackgroundNode", "VrchImageSaverNode", "VrchImageSwitchOSCControlNode", + "VrchImageWebSocketWebViewerNode", "VrchImageWebViewerNode", "VrchInstantQueueKeyControlNode", "VrchIntKeyControlNode", "VrchIntOSCControlNode", "VrchJsonUrlLoaderNode", + "VrchModelWebViewerNode", "VrchOSCControlSettingsNode", "VrchSwitchOSCControlNode", "VrchTextConcatOSCControlNode", "VrchTextKeyControlNode", + "VrchTextSrtPlayerNode", "VrchTextSwitchOSCControlNode", "VrchVideoWebViewerNode", "VrchWebViewerNode", @@ -9342,6 +10820,14 @@ "title_aux": "WAS Node Suite" } ], + "https://github.com/WUYUDING2583/ComfyUI-Save-Image-Callback": [ + [ + "Save Image With Callback" + ], + { + "title_aux": "Save Image With Callback" + } + ], "https://github.com/WX-NPS1598/ComfyUI-Auto_Crop_By_NPS": [ [ "AutoCropByNPS" @@ -9361,6 +10847,7 @@ "InstaCSeed", "InstaCText", "InstaCTextML", + "InstaLoadImageLocal", "InstaPromptMultipleStyleSelector", "InstaPromptStyleSelector", "LoadVideo", @@ -9392,6 +10879,21 @@ "title_aux": "ComfyUI-SaveImageCivitAI" } ], + "https://github.com/WangPengxing/ComfyUI_WPX_Node": [ + [ + "AnimalContour", + "AnimalContourSilhouette", + "CircleContour", + "DetermineRowsAndCols", + "PenetrateStyle", + "RectangleContour", + "SplitMaskElements", + "SplitStickers" + ], + { + "title_aux": "ComfyUI WPX Nodes" + } + ], "https://github.com/WebDev9000/WebDev9000-Nodes": [ [ "IgnoreBraces", @@ -9401,6 +10903,14 @@ "title_aux": "WebDev9000-Nodes" } ], + "https://github.com/Wenaka2004/ComfyUI-TagClassifier": [ + [ + "LLMProcessingNode" + ], + { + "title_aux": "ComfyUI-TagClassifier" + } + ], "https://github.com/Wicloz/ComfyUI-Simply-Nodes": [ [ "WF_ConditionalLoraLoader", @@ -9455,6 +10965,14 @@ "title_aux": "ComfyUI-Merlin: Magic Photo Prompter" } ], + "https://github.com/Xiangyu-CAS/HandFixer": [ + [ + "MediapipeHandNode" + ], + { + "title_aux": "HandFixer" + } + ], "https://github.com/XmYx/deforum-comfy-nodes": [ [ "DeforumAddNoiseNode", @@ -9554,11 +11072,23 @@ "title_aux": "ComfyUI-TacoNodes" } ], + "https://github.com/YRIKKA/ComfyUI-InferenceTimeScaling": [ + [ + "InferenceTimeScaler", + "LoadCLIPScoreVerifier", + "LoadImageRewardVerifier", + "LoadQwenVLMVerifier" + ], + { + "title_aux": "ComfyUI-InferenceTimeScaling" + } + ], "https://github.com/Yanick112/ComfyUI-ToSVG": [ [ "ConvertRasterToVectorBW", "ConvertRasterToVectorColor", "ConvertVectorToRaster", + "SVGPreview", "SaveSVG" ], { @@ -9568,16 +11098,17 @@ "https://github.com/YarvixPA/ComfyUI-NeuralMedia": [ [ "ApplyControlNet", - "CLIPVisionAndStyleApply", "InpaintConditioningNode", "LoadImagesFromFolderNode", - "MultiClipVisionAndStyleApply", "MultiControlnet", "MultiControlnetApply", "MultiControlnetUnion", "RemoveBackgroundNode", "SDXLTextEncoderSimpleNode", "SaveCaptionsImages", + "SaveImageNode", + "StyleModelApplyAdvanced", + "StyleModelApplySimple", "TextFieldNode", "TileCheckpointPatchNode", "UpscaleImageWithModel", @@ -9605,6 +11136,23 @@ "title_aux": "ComfyUI-LLaMA-Mesh" } ], + "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS": [ + [ + "Long Text Generation", + "Single Text Generation" + ], + { + "title_aux": "ComfyUI-OrpheusTTS" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-PhotoDoodle": [ + [ + "PhotoDoodle Gen" + ], + { + "title_aux": "ComfyUI-PhotoDoodle" + } + ], "https://github.com/Yuan-ManX/ComfyUI-SoundHub": [ [ "Load Audio", @@ -9615,6 +11163,14 @@ "title_aux": "ComfyUI-SoundHub" } ], + "https://github.com/Yuan-ManX/ComfyUI-StyleStudio": [ + [ + "StyleStudio Image Stylization" + ], + { + "title_aux": "ComfyUI-StyleStudio" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": [ [ "APISR_Lterative_Zho", @@ -9655,6 +11211,16 @@ "title_aux": "ComfyUI-BRIA_AI-RMBG" } ], + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DeepSeek-JanusPro": [ + [ + "Janus_ImageGeneration", + "Janus_ModelLoader", + "Janus_MultimodalUnderstanding" + ], + { + "title_aux": "ComfyUI-DeepSeek-JanusPro" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": [ [ "DepthFM_Literative_Zho", @@ -9853,6 +11419,41 @@ "title_aux": "ComfyUI-Embeddings-Tools" } ], + "https://github.com/Zeks/comfyui-rapidfire": [ + [ + "CachedCheckpoint", + "CsvWriterNode", + "ImmatureImageCounter", + "ImmatureImageDataLoader" + ], + { + "title_aux": "comfyui-rapidfire" + } + ], + "https://github.com/a-und-b/ComfyUI_Delay": [ + [ + "Add Delay" + ], + { + "title_aux": "ComfyUI_Delay" + } + ], + "https://github.com/a-und-b/ComfyUI_JSON_Helper": [ + [ + "JSONStringToObjectNode" + ], + { + "title_aux": "ComfyUI_JSON_Helper" + } + ], + "https://github.com/a-und-b/ComfyUI_LoRA_from_URL": [ + [ + "Load LoRA From URL" + ], + { + "title_aux": "ComfyUI_LoRA_from_URL" + } + ], "https://github.com/a1lazydog/ComfyUI-AudioScheduler": [ [ "AmplitudeToGraph", @@ -9902,6 +11503,19 @@ "title_aux": "ComfyUI-RequestPoster" } ], + "https://github.com/abuzreq/ComfyUI-Model-Bending": [ + [ + "LatentApplyBendingOperationCFG", + "LatentOperation", + "LatentOperationAddScalar", + "LatentOperationMultiplyScalar", + "LatentOperationRotate", + "LatentOperationThreshold" + ], + { + "title_aux": "ComfyUI Model Bending" + } + ], "https://github.com/abyz22/image_control": [ [ "abyz22_AddPrompt", @@ -9939,6 +11553,7 @@ ], "https://github.com/acorderob/sd-webui-prompt-postprocessor": [ [ + "ACBPPPSelectVariable", "ACBPromptPostProcessor" ], { @@ -10031,6 +11646,18 @@ "title_aux": "ComfyUI-styles-all" } ], + "https://github.com/agilly1989/ComfyUI_agilly1989_motorway": [ + [ + "MotorwayFloat", + "MotorwayInt", + "MotorwaySeed", + "MotorwayStr", + "MotorwayStrMulti" + ], + { + "title_aux": "ComfyUI_agilly1989_motorway" + } + ], "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools": [ [ "GCPReadImageNode", @@ -10106,10 +11733,61 @@ "title_aux": "Comfy UI FatLabels" } ], + "https://github.com/aiartvn/A2V_Multi_Image_Composite": [ + [ + "A2V_Multi_Image_Composite" + ], + { + "title_aux": "A2V Multi Image Composite" + } + ], + "https://github.com/aicuai/aicu-comfyui-stability-ai-api": [ + [ + "Preview3DModel", + "Save3DModel", + "StabilityControlSketch", + "StabilityControlStructure", + "StabilityControlStyle", + "StabilityEdit", + "StabilityImageCore", + "StabilityImageSD3", + "StabilityImageToVideo", + "StabilityImageUltra", + "StabilityUpscaleConservative", + "StabilityUpscaleCreative", + "StabilityUpscaleFast", + "StableFast3D", + "StablePointAware3D" + ], + { + "title_aux": "aicu-comfyui-stability-ai-api" + } + ], + "https://github.com/aidec/Comfyui_TextBatch_aidec": [ + [ + "ImageFilenameProcessor", + "ImageInfoExtractor", + "ImageQueueProcessor", + "LoadImagesFromDirBatch", + "PathParser", + "TextBatch", + "TextQueueProcessor", + "TextSplitCounter" + ], + { + "title_aux": "Comfyui_TextBatch_aidec" + } + ], "https://github.com/aidenli/ComfyUI_NYJY": [ [ + "BailianChat", + "BailianChatOption", + "BailianVL", + "BailianVLOption", "CivitaiPrompt", - "ConverAnyToString", + "CommonLLMChat", + "ConvertAnyToString", + "ConvertStringToNumber", "CustomLatentImage-NYJY", "CustomLatentImageSimple", "FloatSlider-NYJY", @@ -10119,6 +11797,7 @@ "JoyCaptionAlpha2Online", "JoyTag", "JsonDumps", + "JsonGetValueByKeys", "JsonLoads", "SplitString", "Translate" @@ -10127,6 +11806,29 @@ "title_aux": "ComfyUI_NYJY" } ], + "https://github.com/aigc-apps/EasyAnimate": [ + [ + "CameraBasicFromChaoJie", + "CameraCombineFromChaoJie", + "CameraJoinFromChaoJie", + "CameraTrajectoryFromChaoJie", + "CreateTrajectoryBasedOnKJNodes", + "EasyAnimateI2VSampler", + "EasyAnimateT2VSampler", + "EasyAnimateV2VSampler", + "EasyAnimateV5_I2VSampler", + "EasyAnimateV5_T2VSampler", + "EasyAnimateV5_V2VSampler", + "EasyAnimate_TextBox", + "ImageMaximumNode", + "LoadEasyAnimateLora", + "LoadEasyAnimateModel", + "TextBox" + ], + { + "title_aux": "Video Generation Nodes for EasyAnimate" + } + ], "https://github.com/aimerib/ComfyUI_HigherBitDepthSaveImage": [ [ "SaveImageHigherBitDepth" @@ -10135,10 +11837,28 @@ "title_aux": "ComfyUI-HigherBitDepthSaveImage" } ], + "https://github.com/ainewsto/Comfyui_Comfly": [ + [ + "ComflyGeminiAPI", + "Comfly_Mj", + "Comfly_Mju", + "Comfly_Mjv", + "Comfly_kling_image2video", + "Comfly_kling_text2video", + "Comfly_kling_videoPreview", + "Comfly_mjstyle", + "Comfly_upload", + "Comfly_video_extend" + ], + { + "title_aux": "Comfyui_Comfly" + } + ], "https://github.com/ainewsto/comfyui-labs-google": [ [ "ComfyUI-ImageFx", - "ComfyUI-Whisk" + "ComfyUI-Whisk", + "ComfyUI-Whisk-Prompts" ], { "title_aux": "comfyui-labs-google" @@ -10152,6 +11872,14 @@ "title_aux": "ComfyUI_merge_ASVL" } ], + "https://github.com/ajbergh/comfyui-ethnicity_hairstyle_clip_encoder": [ + [ + "CLIPTextEncodeWithExtras" + ], + { + "title_aux": "comfyui-ethnicity_hairstyle_clip_encoder" + } + ], "https://github.com/akatz-ai/ComfyUI-AKatz-Nodes": [ [ "AK_AdjustDepthmapBrightness", @@ -10162,6 +11890,7 @@ "AK_AudioreactiveDilationMask", "AK_AudioreactiveDynamicDilationMask", "AK_BinaryAmplitudeGate", + "AK_BlobTrack", "AK_BrightnessToFloatList", "AK_ConvertAudioToSaltAudio", "AK_ConvertListToFloatList", @@ -10178,10 +11907,12 @@ "AK_MakeDepthmapSeamless", "AK_NormalizeMaskImage", "AK_RescaleFloatList", + "AK_ScaleMask", "AK_ScheduledBinaryComparison", "AK_ShrinkNumSequence", "AK_SplitImageBatch", - "AK_VideoSpeedAdjust" + "AK_VideoSpeedAdjust", + "Scale Mask Node" ], { "author": "akatz", @@ -10293,12 +12024,16 @@ "https://github.com/al-swaiti/ComfyUI-OllamaGemini": [ [ "BRIA_RMBG", - "BRIA_RMBG_ModelLoader", + "CLIPSeg", + "ClaudeAPI", + "CombineSegMasks", "ComfyUIStyler", "ConvertRasterToVector", "FLUXResolutions", "GeminiAPI", "OllamaAPI", + "OpenAIAPI", + "QwenAPI", "Save text", "SaveSVG", "TextSplitByDelimiter", @@ -10344,10 +12079,18 @@ "title_aux": "OpenPose Node" } ], + "https://github.com/alessandrozonta/Comfyui-LoopLoader": [ + [ + "LoadLoopImagesFromDir" + ], + { + "title_aux": "Comfyui-LoopLoader" + } + ], "https://github.com/alexcong/ComfyUI_QwenVL": [ [ "Qwen2.5", - "Qwen2VL" + "Qwen2.5VL" ], { "title_aux": "Qwen2-VL wrapper for ComfyUI" @@ -10383,6 +12126,7 @@ [ "Cfg Literal (Image Saver)", "Checkpoint Loader with Name (Image Saver)", + "Civitai Hash Fetcher (Image Saver)", "Float Literal (Image Saver)", "Image Saver", "Int Literal (Image Saver)", @@ -10404,6 +12148,7 @@ "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": [ [ "InputText", + "JsonPropertyExtractorNode", "OllamaCaptionerExtraOptions", "OllamaImageCaptioner", "OllamaImageDescriber", @@ -10487,6 +12232,7 @@ "Noise from Palette [Dream]", "Palette Color Align [Dream]", "Palette Color Shift [Dream]", + "Random Prompt Words [Dream]", "Sample Image Area as Palette [Dream]", "Sample Image as Palette [Dream]", "Saw Curve [Dream]", @@ -10603,8 +12349,10 @@ [ "Sage_AdvSamplerInfo", "Sage_CacheMaintenance", + "Sage_CheckpointInfoOnly", "Sage_CheckpointLoaderRecent", "Sage_CheckpointLoaderSimple", + "Sage_CleanText", "Sage_CollectKeywordsFromLoraStack", "Sage_ConditioningOneOut", "Sage_ConditioningRngOut", @@ -10612,10 +12360,14 @@ "Sage_ConstructMetadata", "Sage_ConstructMetadataLite", "Sage_DualCLIPTextEncode", + "Sage_DualCLIPTextEncodeLumina2", "Sage_EmptyLatentImagePassthrough", + "Sage_Foobar", "Sage_GetFileHash", "Sage_JoinText", "Sage_KSampler", + "Sage_KSamplerDecoder", + "Sage_KSamplerTiledDecoder", "Sage_LastLoraInfo", "Sage_LoadImage", "Sage_LogicalSwitch", @@ -10623,6 +12375,7 @@ "Sage_LoraStackLoader", "Sage_LoraStackRecent", "Sage_ModelInfo", + "Sage_ModelLoraStackLoader", "Sage_ModelReport", "Sage_PonyPrefix", "Sage_SamplerInfo", @@ -10631,8 +12384,13 @@ "Sage_SetFloat", "Sage_SetInteger", "Sage_SetText", + "Sage_StringListTest", + "Sage_TextCompare", + "Sage_TilingInfo", "Sage_TripleJoinText", + "Sage_TripleLoraStack", "Sage_UNETLoader", + "Sage_ViewAnything", "Sage_ViewText" ], { @@ -10683,13 +12441,16 @@ ], "https://github.com/asagi4/comfyui-prompt-control": [ [ + "AttentionMaskHookExperimental", "PCAddMaskToCLIP", "PCAddMaskToCLIPMany", + "PCExtractScheduledPrompt", "PCLazyLoraLoader", "PCLazyLoraLoaderAdvanced", "PCLazyTextEncode", "PCLazyTextEncodeAdvanced", "PCLoraHooksFromText", + "PCSaveExpandedWorkflow", "PCSetLogLevel", "PCSetPCTextEncodeSettings", "PCTextEncode", @@ -10705,8 +12466,10 @@ ], "https://github.com/asagi4/comfyui-utility-nodes": [ [ + "MUConditioningCutoff", "MUForceCacheClear", "MUJinjaRender", + "MURemoveControlNet", "MUReplaceModelWeights", "MUSimpleWildcard" ], @@ -10714,6 +12477,30 @@ "title_aux": "asagi4/comfyui-utility-nodes" } ], + "https://github.com/asdrabael/Hunyuan-Multi-Lora-Loader": [ + [ + "HunyuanMultiLoraLoader", + "HunyuanMultiLoraLoaderWrapper" + ], + { + "title_aux": "Hunyuan-Multi-Lora-Loader" + } + ], + "https://github.com/asutermo/ComfyUI-Flux-TryOff": [ + [ + "TryOffFluxFillModelNode", + "TryOffFluxFillPipelineNode", + "TryOffModelNode", + "TryOffQuantizerNode", + "TryOffRunNode", + "TryOnOffModelNode", + "TryOnOffRunNode", + "TryOnRunNode" + ], + { + "title_aux": "ComfyUI-Flux-TryOff" + } + ], "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": [ [ "Core ML Converter", @@ -10728,6 +12515,28 @@ "title_aux": "Core ML Suite for ComfyUI" } ], + "https://github.com/atluslin/comfyui_arcane_style_trans": [ + [ + "Arcane_style_trans" + ], + { + "title_aux": "comfyui_arcane_style_trans" + } + ], + "https://github.com/attashe/ComfyUI-FluxRegionAttention": [ + [ + "BBoxToMaskNode", + "BoundingBoxNode", + "CLIPDebug", + "FluxRegionBBOX", + "FluxRegionMask", + "RegionAttention", + "VisualizeBBoxesNode" + ], + { + "title_aux": "ComfyUI-FluxRegionAttention" + } + ], "https://github.com/audioscavenger/ComfyUI-Thumbnails": [ [ "LoadImage" @@ -10752,6 +12561,18 @@ "title_aux": "Save Image Extended for ComfyUI" } ], + "https://github.com/austinbrown34/ComfyUI-IO-Helpers": [ + [ + "EncodedPromptFromFile", + "EncodedPromptToFile", + "IO_LoadImage", + "SampledLatentsFromFile", + "SampledLatentsToFile" + ], + { + "title_aux": "ComfyUI-IO-Helpers" + } + ], "https://github.com/avatechai/avatar-graph-comfyui": [ [ "ApplyMeshTransformAsShapeKey", @@ -10781,8 +12602,16 @@ ], "https://github.com/aws-samples/comfyui-llm-node-for-amazon-bedrock": [ [ + "Amazon Bedrock - Luma AI Ray Video", + "Amazon Bedrock - Nova Canvas Background Prompt Replace", + "Amazon Bedrock - Nova Canvas Generate Image", + "Amazon Bedrock - Nova Canvas Generate Variations", + "Amazon Bedrock - Nova Reel Video", + "Amazon Bedrock - SD3 & SD3.5 Large | Image to Image", + "Amazon Bedrock - Stability AI Models | Text to Image", "Bedrock - Claude", "Bedrock - Claude Multimodal", + "Bedrock - Nova", "Bedrock - SDXL", "Bedrock - Titan Inpainting", "Bedrock - Titan Outpainting", @@ -10790,6 +12619,10 @@ "Bedrock - Titan Variation", "Image From S3", "Image From URL", + "Image OCR By Textract", + "Image OCR By Textract V2", + "Image OCR By Textract V3", + "Image OCR by PaddleOCR", "Image To S3", "JSON Text Extraction", "Prompt Regex Remove", @@ -10893,6 +12726,7 @@ "SP_HiresGen_HiresCfg", "SP_HiresGen_Sharpen", "SP_HunyuanLoader", + "SP_ImpactSwitchCombo", "SP_KSampler", "SP_KSamplerSelect", "SP_KoboldCpp", @@ -10900,14 +12734,19 @@ "SP_KoboldCpp_BannedTokens", "SP_KoboldCpp_OverrideCfg", "SP_ListAny", + "SP_ModelLoader", + "SP_Pass", "SP_Pipe", "SP_Pipe_ToBasicPipe", "SP_SD3Loader", "SP_SDLoader", + "SP_SetPipeModelType", "SP_Supir", "SP_SupirSampler", "SP_SupirSampler_DPMPP2M", "SP_SupirSampler_EDM", + "SP_SwitchBooleanAny", + "SP_UnlistValues", "SP_WebsocketSendImage", "SP_XYGrid", "SP_XYValues", @@ -11012,6 +12851,7 @@ "Range Float", "Range Integer", "Ratio Advanced", + "RemoveTextBetween", "Resize Image for SDXL", "SD3TextConditioningWithOptionsOnePrompt", "SRFloatPromptInput", @@ -11041,9 +12881,19 @@ "title_aux": "Mikey Nodes" } ], + "https://github.com/bbtaivi/ComfyUI-Aiv-Param": [ + [ + "AivParam" + ], + { + "title_aux": "AIV ComfyUI Node" + } + ], "https://github.com/bear2b/comfyui-argo-nodes": [ [ - "ColorMatrixGPU" + "ColorMatrixGPU", + "LoadGridFromURL", + "SaveGridToS3" ], { "title_aux": "ColorMatrixGPU Node for ComfyUI" @@ -11072,6 +12922,45 @@ "title_aux": "ComfyUI_NAIDGenerator" } ], + "https://github.com/benda1989/CosyVoice2_ComfyUI": [ + [ + "CosyVoice3s", + "CosyVoiceCrossLingual", + "CosyVoiceLoader", + "CosyVoiceNLControl", + "CosyVoiceSonic", + "Text2" + ], + { + "title_aux": "CosyVoice2 for ComfyUI" + } + ], + "https://github.com/benda1989/Sonic_ComfyUI": [ + [ + "SonicLoader", + "SonicSimper", + "SonicSpeechs" + ], + { + "title_aux": "GKK\u00b7Sonic" + } + ], + "https://github.com/benjiyaya/ComfyUI-HunyuanVideoImagesGuider": [ + [ + "Hunyuan Video Image To Guider" + ], + { + "title_aux": "ComfyUI-HunyuanVideoImagesGuider" + } + ], + "https://github.com/benjiyaya/ComfyUI-KokoroTTS": [ + [ + "Kokoro TextToSpeech" + ], + { + "title_aux": "ComfyUI-KokoroTTS" + } + ], "https://github.com/bentoml/comfy-pack": [ [ "CPackInputAny", @@ -11094,14 +12983,55 @@ "title_aux": "ComfyUI_TextAssets" } ], + "https://github.com/billwuhao/ComfyUI_DiffRhythm": [ + [ + "AudioRecorderDR", + "DiffRhythmRun", + "MultiLinePrompt" + ], + { + "title_aux": "ComfyUI_DiffRhythm" + } + ], + "https://github.com/billwuhao/ComfyUI_KokoroTTS_MW": [ + [ + "Kokoro Run", + "Kokoro ZH Run" + ], + { + "title_aux": "ComfyUI_KokoroTTS_MW" + } + ], + "https://github.com/billwuhao/ComfyUI_NotaGen": [ + [ + "NotaGenRun" + ], + { + "title_aux": "ComfyUI_NotaGen" + } + ], "https://github.com/billwuhao/ComfyUI_OneButtonPrompt_Flux": [ [ - "OneButtonPromptFlux" + "DeepseekRun", + "LoadImageInfoFromCivitai", + "OneButtonPromptFlux", + "QwenLLMRun", + "QwenVLRun" ], { "title_aux": "ComfyUI_OneButtonPrompt_Flux" } ], + "https://github.com/billwuhao/ComfyUI_StepAudioTTS": [ + [ + "AudioRecorder", + "StepAudioClone", + "StepAudioRun" + ], + { + "title_aux": "ComfyUI_StepAudioTTS" + } + ], "https://github.com/bitaffinity/ComfyUI_HF_Inference": [ [ "Classification", @@ -11120,12 +13050,17 @@ "https://github.com/black-forest-labs/bfl-comfy-nodes": [ [ "FLUX 1.0 [canny]", + "FLUX 1.0 [canny] Finetuned", "FLUX 1.0 [depth]", + "FLUX 1.0 [depth] Finetuned", "FLUX 1.0 [dev]", "FLUX 1.0 [fill]", + "FLUX 1.0 [fill] Finetuned", "FLUX 1.0 [pro]", + "FLUX 1.0 [pro] Finetuned", "FLUX 1.1 [pro]", - "FLUX 1.1 [ultra]" + "FLUX 1.1 [ultra]", + "FLUX 1.1 [ultra] Finetuned" ], { "title_aux": "Black Forest Labs API Nodes" @@ -11141,10 +13076,19 @@ "title_aux": "ComfyUI-Benripack" } ], + "https://github.com/blepping/ComfyUI-ApplyResAdapterUnet": [ + [ + "ApplyResAdapterUnet" + ], + { + "title_aux": "ComfyUI-ApplyResAdapterUnet" + } + ], "https://github.com/blepping/ComfyUI-bleh": [ [ "BlehBlockCFG", "BlehBlockOps", + "BlehCast", "BlehDeepShrink", "BlehDisableNoise", "BlehDiscardPenultimateSigma", @@ -11152,13 +13096,15 @@ "BlehGlobalSageAttention", "BlehHyperTile", "BlehInsaneChainSampler", + "BlehLatentBlend", "BlehLatentOps", "BlehLatentScaleBy", "BlehModelPatchConditional", "BlehPlug", "BlehRefinerAfter", "BlehSageAttentionSampler", - "BlehSetSamplerPreset" + "BlehSetSamplerPreset", + "BlehSetSigmas" ], { "title_aux": "ComfyUI-bleh" @@ -11173,18 +13119,22 @@ "SamplerSonarEuler", "SamplerSonarEulerA", "SonarAdvanced1fNoise", + "SonarAdvancedDistroNoise", "SonarAdvancedPowerLawNoise", "SonarAdvancedPyramidNoise", "SonarBlendedNoise", "SonarChannelNoise", "SonarCompositeNoise", "SonarCustomNoise", + "SonarCustomNoiseAdv", "SonarGuidanceConfig", "SonarGuidedNoise", "SonarModulatedNoise", "SonarRandomNoise", "SonarRepeatedNoise", - "SonarScheduledNoise" + "SonarResizedNoise", + "SonarScheduledNoise", + "SonarWaveletFilteredNoise" ], { "title_aux": "ComfyUI-sonar" @@ -11236,9 +13186,18 @@ "title_aux": "ComfyUI_sloppy-comic" } ], + "https://github.com/blovett80/ComfyUI-PixelDojo": [ + [ + "PixelDojoAPI" + ], + { + "title_aux": "ComfyUI-PixelDojo" + } + ], "https://github.com/blueraincoatli/comfyUI_SillyNodes": [ [ "BooleanJumper|SillyNode", + "CloseErrorWindowNode|SillyNode", "QueueSequence|SillyNode", "Screenshots|SillyNode", "dummyInput|SillyNode", @@ -11323,13 +13282,26 @@ "AllegroDecoder", "AllegroEncoder", "AllegroSampler", + "AllegroTI2VEncoder", + "AllegroTI2VSampler", "AllegroTextEncoder", - "LoadAllegroModel" + "LoadAllegroModel", + "LoadAllegroTI2VModel" ], { "title_aux": "ComfyUI-Allegro" } ], + "https://github.com/bombax-xiaoice/ComfyUI-DisPose": [ + [ + "DisPoseDecoder", + "DisPoseLoader", + "DisPoseSampler" + ], + { + "title_aux": "ComfyUI-DisPose" + } + ], "https://github.com/bombax-xiaoice/ComfyUI-MagicDance": [ [ "LoadMagicDanceModel", @@ -11407,6 +13379,17 @@ "title_aux": "ResolutionSelector for ComfyUI" } ], + "https://github.com/bradsec/ComfyUI_StringEssentials": [ + [ + "StringPreview", + "StringReplace", + "StringStrip", + "StringTextbox" + ], + { + "title_aux": "ComfyUI_StringEssentials" + } + ], "https://github.com/braintacles/braintacles-comfyui-nodes": [ [ "CLIPTextEncodeSDXL-Multi-IO", @@ -11476,6 +13459,75 @@ "title_aux": "Otonx's Custom Nodes" } ], + "https://github.com/bugltd/ComfyLab-Pack": [ + [ + "Convert to Any (lab)", + "File Queue (lab)", + "Format: Multiline (lab)", + "Format: String (lab)", + "Generic Queue (lab)", + "Image Queue (lab)", + "Input: Boolean (lab)", + "Input: Float (lab)", + "Input: Folder (lab)", + "Input: Integer (lab)", + "Input: Multiline (lab)", + "Input: String (lab)", + "List: Checkpoints (lab)", + "List: Limit (lab)", + "List: LoRAs (lab)", + "List: Merge (lab)", + "List: Random Seeds (lab)", + "List: Samplers (lab)", + "List: Schedulers (lab)", + "List: from Elements (lab)", + "List: from File (backend) (lab)", + "List: from Multiline (lab)", + "List: from String (lab)", + "Load Image (RGBA) (lab)", + "Output Config: Load (lab)", + "Output Config: Retrieve (backend) (lab)", + "Plot Config: Grid (lab)", + "Plot Config: Header/Footer (lab)", + "Resolution to Dimensions (lab)", + "Save Text File (lab)", + "Sleep (lab)", + "XY Plot: Queue (lab)", + "XY Plot: Render (lab)", + "XY Plot: Split Data (lab)" + ], + { + "nodename_pattern": " \\(lab\\)$", + "title_aux": "ComfyLab Pack" + } + ], + "https://github.com/burnsbert/ComfyUI-EBU-LMStudio": [ + [ + "EbuLMStudioLoadModel", + "EbuLMStudioMakeRequest", + "EbuLMStudioUnload" + ], + { + "title_aux": "EBU LMStudio LLM Integration" + } + ], + "https://github.com/burnsbert/ComfyUI-EBU-PromptHelper": [ + [ + "EbuPromptHelperCombineTwoStrings", + "EbuPromptHelperConsumeListItem", + "EbuPromptHelperCurrentDateTime", + "EbuPromptHelperListSampler", + "EbuPromptHelperLoadFileAsString", + "EbuPromptHelperRandomColorPalette", + "EbuPromptHelperRandomize", + "EbuPromptHelperReplace", + "EbuPromptHelperSeasonWeatherTimeOfDay", + "EbuPromptHelperTruncate" + ], + { + "title_aux": "EBU PromptHelper" + } + ], "https://github.com/bvhari/ComfyUI_ImageProcessing": [ [ "BilateralFilter", @@ -11550,14 +13602,27 @@ "title_aux": "ComfyUI Signal Processing" } ], + "https://github.com/cake-ml/tiny-sana-preview": [ + [ + "TinySanaPreview" + ], + { + "title_aux": "TinySanaPreview" + } + ], "https://github.com/calcuis/gguf": [ [ "ClipLoaderGGUF", "DualClipLoaderGGUF", + "GGUFRun", "GGUFSave", + "GGUFUndo", "LoaderGGUF", "LoaderGGUFAdvanced", - "TripleClipLoaderGGUF" + "TENSORBoost", + "TENSORCut", + "TripleClipLoaderGGUF", + "VaeGGUF" ], { "preemptions": [ @@ -11592,9 +13657,312 @@ "title_aux": "ComfyUI-TostAI" } ], + "https://github.com/camiilevitoriia/ComfyUI-WanVideoStartEndFrames": [ + [ + "LoadWanVideoClipTextEncoder_2frames", + "LoadWanVideoT5TextEncoder_2frames", + "WanVideoBlockSwap_2frames", + "WanVideoContextOptions_2frames", + "WanVideoEmptyEmbeds_2frames", + "WanVideoEncode_2frames", + "WanVideoEnhanceAVideo_2frames", + "WanVideoFlowEdit_2frames", + "WanVideoImageClipEncode_2frames", + "WanVideoLatentPreview_2frames", + "WanVideoLoraBlockEdit_2frames", + "WanVideoLoraSelect_2frames", + "WanVideoModelLoader_2frames", + "WanVideoStartEndDecode_2frames", + "WanVideoStartEndImageClipEncode_2frames", + "WanVideoStartEndSampler_2frames", + "WanVideoTeaCache_2frames", + "WanVideoTextEmbedBridge_2frames", + "WanVideoTextEncode_2frames", + "WanVideoTorchCompileSettings_2frames", + "WanVideoVAELoader_2frames", + "WanVideoVRAMManagement_2frames" + ], + { + "title_aux": "ComfyUI-WanVideoStartEndFrames" + } + ], + "https://github.com/cardenluo/ComfyUI-Apt_Preset": [ + [ + "ACN_AdvancedControlNetApply", + "ACN_AdvancedControlNetApplySingle", + "ACN_AdvancedControlNetApplySingle_v2", + "ACN_AdvancedControlNetApply_v2", + "ACN_ControlNet++InputNode", + "ACN_ControlNet++LoaderAdvanced", + "ACN_ControlNet++LoaderSingle", + "ACN_ControlNetLoaderAdvanced", + "ACN_ControlNetLoaderWithLoraAdvanced", + "ACN_CtrLoRALoader", + "ACN_CustomControlNetWeightsFlux", + "ACN_CustomControlNetWeightsSD15", + "ACN_CustomT2IAdapterWeights", + "ACN_DefaultUniversalWeights", + "ACN_DiffControlNetLoaderAdvanced", + "ACN_ExtrasMiddleMult", + "ACN_ReferenceControlNet", + "ACN_ReferenceControlNetFinetune", + "ACN_ReferencePreprocessor", + "ACN_ScaledSoftControlNetWeights", + "ACN_SoftControlNetWeightsSD15", + "ACN_SoftT2IAdapterWeights", + "ACN_SparseCtrlIndexMethodNode", + "ACN_SparseCtrlLoaderAdvanced", + "ACN_SparseCtrlMergedLoaderAdvanced", + "ACN_SparseCtrlRGBPreprocessor", + "ACN_SparseCtrlSpreadMethodNode", + "ACN_SparseCtrlWeightExtras", + "ACN_TimestepKeyframeFromStrengthList", + "ACN_TimestepKeyframeInterpolation", + "ADE_AdjustPEFullStretch", + "ADE_AdjustPEManual", + "ADE_AdjustPESweetspotStretch", + "ADE_AdjustWeightAllAdd", + "ADE_AdjustWeightAllMult", + "ADE_AdjustWeightIndivAdd", + "ADE_AdjustWeightIndivAttnAdd", + "ADE_AdjustWeightIndivAttnMult", + "ADE_AdjustWeightIndivMult", + "ADE_AnimateDiffCombine", + "ADE_AnimateDiffKeyframe", + "ADE_AnimateDiffLoRALoader", + "ADE_AnimateDiffLoaderGen1", + "ADE_AnimateDiffLoaderV1Advanced", + "ADE_AnimateDiffLoaderWithContext", + "ADE_AnimateDiffModelSettings", + "ADE_AnimateDiffModelSettingsAdvancedAttnStrengths", + "ADE_AnimateDiffModelSettingsSimple", + "ADE_AnimateDiffModelSettings_Release", + "ADE_AnimateDiffSamplingSettings", + "ADE_AnimateDiffSettings", + "ADE_AnimateDiffUniformContextOptions", + "ADE_AnimateDiffUnload", + "ADE_ApplyAnimateDiffModel", + "ADE_ApplyAnimateDiffModelSimple", + "ADE_ApplyAnimateDiffModelWithCameraCtrl", + "ADE_ApplyAnimateDiffModelWithPIA", + "ADE_ApplyAnimateLCMI2VModel", + "ADE_AttachLoraHookToCLIP", + "ADE_AttachLoraHookToConditioning", + "ADE_BatchedContextOptions", + "ADE_CFGExtrasPAG", + "ADE_CFGExtrasPAGSimple", + "ADE_CFGExtrasRescaleCFG", + "ADE_CFGExtrasRescaleCFGSimple", + "ADE_CameraCtrlAnimateDiffKeyframe", + "ADE_CameraManualPoseAppend", + "ADE_CameraPoseAdvanced", + "ADE_CameraPoseBasic", + "ADE_CameraPoseCombo", + "ADE_CombineLoraHooks", + "ADE_CombineLoraHooksEight", + "ADE_CombineLoraHooksFour", + "ADE_ConditioningCombine", + "ADE_ConditioningSetMask", + "ADE_ConditioningSetMaskAndCombine", + "ADE_ConditioningSetUnmaskedAndCombine", + "ADE_ContextExtras_ContextRef", + "ADE_ContextExtras_ContextRef_Keyframe", + "ADE_ContextExtras_ContextRef_KeyframeFromList", + "ADE_ContextExtras_ContextRef_KeyframeInterpolation", + "ADE_ContextExtras_ContextRef_ModeFirst", + "ADE_ContextExtras_ContextRef_ModeIndexes", + "ADE_ContextExtras_ContextRef_ModeSliding", + "ADE_ContextExtras_ContextRef_TuneAttn", + "ADE_ContextExtras_ContextRef_TuneAttnAdain", + "ADE_ContextExtras_NaiveReuse", + "ADE_ContextExtras_NaiveReuse_Keyframe", + "ADE_ContextExtras_NaiveReuse_KeyframeFromList", + "ADE_ContextExtras_NaiveReuse_KeyframeInterpolation", + "ADE_ContextExtras_Set", + "ADE_CustomCFG", + "ADE_CustomCFGKeyframe", + "ADE_CustomCFGKeyframeFromList", + "ADE_CustomCFGKeyframeInterpolation", + "ADE_CustomCFGKeyframeSimple", + "ADE_CustomCFGSimple", + "ADE_EmptyLatentImageLarge", + "ADE_InjectI2VIntoAnimateDiffModel", + "ADE_InjectPIAIntoAnimateDiffModel", + "ADE_InputPIA_Multival", + "ADE_InputPIA_PaperPresets", + "ADE_IterationOptsDefault", + "ADE_IterationOptsFreeInit", + "ADE_LoadAnimateDiffModel", + "ADE_LoadAnimateDiffModelWithCameraCtrl", + "ADE_LoadAnimateLCMI2VModel", + "ADE_LoadCameraPoses", + "ADE_LoadCameraPosesFromPath", + "ADE_LoopedUniformContextOptions", + "ADE_LoopedUniformViewOptions", + "ADE_LoraHookKeyframe", + "ADE_LoraHookKeyframeFromStrengthList", + "ADE_LoraHookKeyframeInterpolation", + "ADE_MultivalConvertToMask", + "ADE_MultivalDynamic", + "ADE_MultivalDynamicFloatInput", + "ADE_MultivalDynamicFloats", + "ADE_MultivalScaledMask", + "ADE_NoiseCalibration", + "ADE_NoiseLayerAdd", + "ADE_NoiseLayerAddWeighted", + "ADE_NoiseLayerNormalizedSum", + "ADE_NoiseLayerReplace", + "ADE_NoisedImageInjectOptions", + "ADE_NoisedImageInjection", + "ADE_PIA_AnimateDiffKeyframe", + "ADE_PairedConditioningCombine", + "ADE_PairedConditioningSetMask", + "ADE_PairedConditioningSetMaskAndCombine", + "ADE_PairedConditioningSetUnmaskedAndCombine", + "ADE_PerturbedAttentionGuidanceMultival", + "ADE_RawSigmaSchedule", + "ADE_RegisterLoraHook", + "ADE_RegisterLoraHookModelOnly", + "ADE_RegisterModelAsLoraHook", + "ADE_RegisterModelAsLoraHookModelOnly", + "ADE_ReplaceCameraParameters", + "ADE_ReplaceOriginalPoseAspectRatio", + "ADE_RescaleCFGMultival", + "ADE_SetLoraHookKeyframe", + "ADE_SigmaSchedule", + "ADE_SigmaScheduleSplitAndCombine", + "ADE_SigmaScheduleToSigmas", + "ADE_SigmaScheduleWeightedAverage", + "ADE_SigmaScheduleWeightedAverageInterp", + "ADE_StandardStaticContextOptions", + "ADE_StandardStaticViewOptions", + "ADE_StandardUniformContextOptions", + "ADE_StandardUniformViewOptions", + "ADE_TimestepsConditioning", + "ADE_UpscaleAndVAEEncode", + "ADE_UseEvolvedSampling", + "ADE_ViewsOnlyContextOptions", + "ADE_VisualizeContextOptionsK", + "ADE_VisualizeContextOptionsKAdv", + "ADE_VisualizeContextOptionsSCustom", + "AD_DrawSchedule", + "AD_latent_keyframe", + "AD_latent_kfGroup", + "AD_sch_IPA", + "AD_sch_Value", + "AD_sch_adv_CN", + "AD_sch_latent", + "AD_sch_mask", + "AD_sch_prompt", + "AD_sch_prompt_adv", + "AD_slice_Condi", + "AnimateDiffLoaderV1", + "Apply_AD_diff", + "Apply_ControlNetStack", + "Apply_IPA", + "Apply_IPA_SD3", + "Apply_LoRAStack", + "Apply_Redux", + "Apply_adv_CN", + "Apply_condiStack", + "Apply_latent", + "Apply_prompt_Schedule", + "Apply_textStack", + "CN_preset1", + "CheckpointLoaderSimpleWithNoiseSelect", + "ControlNetLoaderAdvanced", + "CustomControlNetWeights", + "CustomT2IAdapterWeights", + "Data_chx_Merge", + "Data_chx_MergeBig", + "Data_fullData", + "Data_presetData", + "Data_preset_save", + "Data_sample", + "Data_select", + "Date_basic", + "Date_basic_easy", + "DiffControlNetLoaderAdvanced", + "LatentKeyframe", + "LatentKeyframeBatchedGroup", + "LatentKeyframeGroup", + "LatentKeyframeTiming", + "LoadImagesFromDirectory", + "Model_Preset", + "SD3IPAdapter", + "ScaledSoftControlNetWeights", + "ScaledSoftMaskedUniversalWeights", + "SoftControlNetWeights", + "SoftT2IAdapterWeights", + "Stack_ControlNet", + "Stack_ControlNet1", + "Stack_IPA", + "Stack_IPA_SD3", + "Stack_LoRA", + "Stack_Redux", + "Stack_adv_CN", + "Stack_adv_CN_easy", + "Stack_condi", + "Stack_latent", + "Stack_text", + "TimestepKeyframe", + "Unpack_CN", + "Unpack_Model", + "Unpack_param", + "Unpack_photoshop", + "basic_Ksampler_custom", + "basic_Ksampler_full", + "basic_Ksampler_mid", + "basic_Ksampler_simple", + "chx_IPA_XL_adv", + "chx_IPA_apply_combine", + "chx_IPA_basic", + "chx_IPA_faceID", + "chx_IPA_region_combine", + "chx_Ksampler_VisualStyle", + "chx_Ksampler_adv", + "chx_Ksampler_dual_area", + "chx_Ksampler_inpaint", + "chx_Ksampler_mix", + "chx_Ksampler_refine", + "chx_Ksampler_texture", + "chx_StyleModelApply", + "chx_Style_Redux", + "chx_Upscale_simple", + "chx_YC_LG_Redux", + "chx_controlnet", + "chx_controlnet_union", + "chx_easy_text", + "chx_ksampler_Deforum", + "chx_ksampler_tile", + "chx_mask_Mulcondi", + "chx_prompt_Schedule", + "chx_re_fluxguide", + "load_FLUX", + "load_SD35", + "load_basic", + "param_preset", + "photoshop_preset", + "pre_inpaint", + "pre_make_context", + "pre_sample_data", + "stack_AD_diff", + "sum_controlnet", + "sum_editor", + "sum_latent", + "sum_load", + "sum_lora", + "sum_stack_AD", + "sum_stack_SD3", + "sum_stack_flux", + "sum_stack_image" + ], + { + "title_aux": "ComfyUI-Apt_Preset" + } + ], "https://github.com/catboxanon/comfyui_stealth_pnginfo": [ [ - "AddA1111LikeMetadata", "CatboxAnonSaveImageStealth" ], { @@ -12159,6 +14527,7 @@ "chaosaiart_controlnet_weidgth", "chaosaiart_convert", "chaosaiart_convert_Prompt", + "chaosaiart_deepseek_fix", "chaosaiart_forPreview", "chaosaiart_image_loop", "chaosaiart_img2gif", @@ -12182,6 +14551,19 @@ "title_aux": "Chaosaiart-Nodes" } ], + "https://github.com/checkbins/checkbin-comfy": [ + [ + "Checkbin Get Image Bin", + "Checkbin Get String Bin", + "Checkbin Save Image Bin", + "Checkbin Save String Bin", + "Checkbin Start Run", + "Checkbin Submit Bin" + ], + { + "title_aux": "checkbin-comfy" + } + ], "https://github.com/chenbaiyujason/ComfyUI_StepFun": [ [ "CombineStrings", @@ -12195,6 +14577,41 @@ "title_aux": "ComfyUI-SCStepFun" } ], + "https://github.com/chenlongming/ComfyUI_Spectral": [ + [ + "Calculate", + "KMeans", + "LoadEnvi", + "LoadSpectral", + "Plot" + ], + { + "title_aux": "ComfyUI_Spectral" + } + ], + "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie": [ + [ + "NSFWFilterNode" + ], + { + "title_aux": "ComfyUI NSFW Filter" + } + ], + "https://github.com/chenpipi0807/PIP_ArtisticWords": [ + [ + "PIP Artistic Text Generator", + "PIP ArtisticWords Fusion", + "PIP ColorPicker", + "PIP SVG Recorder", + "PIP Text Preview", + "PIPAdvancedColorAnalyzer", + "PIPColorPicker", + "PIPColorWheel" + ], + { + "title_aux": "PIP Artistic Words for ComfyUI" + } + ], "https://github.com/cherninlab/logo-generator-comfyui": [ [ "GoogleFontsLogo" @@ -12223,6 +14640,14 @@ "title_aux": "ComfyUI_CatVTON_Wrapper" } ], + "https://github.com/chflame163/ComfyUI_CogView4_Wrapper": [ + [ + "CogView4" + ], + { + "title_aux": "ComfyUI_CogView4_Wrapper" + } + ], "https://github.com/chflame163/ComfyUI_FaceSimilarity": [ [ "Face Similarity" @@ -12231,6 +14656,16 @@ "title_aux": "ComfyUI Face Similarity" } ], + "https://github.com/chflame163/ComfyUI_Janus_Wrapper": [ + [ + "JanusImage2Text", + "JanusTextToImage", + "LoadJanusModel" + ], + { + "title_aux": "ComfyUI_Janus_Wrapper" + } + ], "https://github.com/chflame163/ComfyUI_LayerStyle": [ [ "LayerColor: AutoAdjust", @@ -12365,6 +14800,7 @@ "LayerUtility: NumberCalculatorV2", "LayerUtility: PrintInfo", "LayerUtility: PurgeVRAM", + "LayerUtility: PurgeVRAM V2", "LayerUtility: QueueStop", "LayerUtility: RGB Value", "LayerUtility: RandomGenerator", @@ -12426,9 +14862,11 @@ "LayerMask: TransparentBackgroundUltra", "LayerMask: YoloV8Detect", "LayerUtility: AddBlindWaterMark", + "LayerUtility: Collage", "LayerUtility: CreateQRCode", "LayerUtility: DecodeQRCode", "LayerUtility: DeepSeekAPI", + "LayerUtility: DeepSeekAPIV2", "LayerUtility: Florence2Image2Prompt", "LayerUtility: Gemini", "LayerUtility: GetColorTone", @@ -12534,6 +14972,27 @@ "title_aux": "Comfy-Topaz" } ], + "https://github.com/chri002/ComfyUI_depthMapOperation": [ + [ + "CleanPoints (KDTree)", + "CloudPointsInfo", + "CubeLimit", + "Export to PLY", + "ImageToPoints", + "ImageToPoints (Legacy)", + "ImageToPoints (Torch)", + "Import PLY", + "InterpolatePoints (KDTree)", + "PointsToImage (Orthographic)", + "PointsToImage (Projection)", + "PointsToImage advance (Orthographic)", + "PointsToImage advance (Projection)", + "TransformPoints" + ], + { + "title_aux": "ComfyUI_depthMapOperation" + } + ], "https://github.com/chris-arsenault/ComfyUI-AharaNodes": [ [ "FrameSegmenter", @@ -12580,9 +15039,9 @@ ], { "author": "Chris Freilich", - "description": "This extension provides blur nodes.", - "nickname": "Virtuoso Pack - Blur", - "title": "Virtuoso Pack - Blur", + "description": "This extension provides a \"Levels\" node.", + "nickname": "Virtuoso Pack - Contrast", + "title": "Virtuoso Pack - Contrast", "title_aux": "Virtuoso Nodes for ComfyUI" } ], @@ -12699,6 +15158,22 @@ "title_aux": "ComfyUI MarkItDown" } ], + "https://github.com/ciga2011/ComfyUI-Pollinations": [ + [ + "PollinationsNode" + ], + { + "title_aux": "ComfyUI Pollinations" + } + ], + "https://github.com/ciga2011/ComfyUI-PromptOptimizer": [ + [ + "PromptOptimizer" + ], + { + "title_aux": "ComfyUI Prompt Optimizer" + } + ], "https://github.com/ciri/comfyui-model-downloader": [ [ "Auto Model Downloader", @@ -12926,6 +15401,7 @@ "CLIPTextEncodeControlnet", "CLIPTextEncodeFlux", "CLIPTextEncodeHunyuanDiT", + "CLIPTextEncodeLumina2", "CLIPTextEncodePixArtAlpha", "CLIPTextEncodeSD3", "CLIPTextEncodeSDXL", @@ -12941,6 +15417,7 @@ "ConditioningConcat", "ConditioningSetArea", "ConditioningSetAreaPercentage", + "ConditioningSetAreaPercentageVideo", "ConditioningSetAreaStrength", "ConditioningSetMask", "ConditioningSetTimestepRange", @@ -12951,6 +15428,7 @@ "ControlNetApplySD3", "ControlNetInpaintingAliMamaApply", "ControlNetLoader", + "CosmosImageToVideoLatent", "CropMask", "DiffControlNetLoader", "DifferentialDiffusion", @@ -12958,16 +15436,19 @@ "DisableNoise", "DualCFGGuider", "DualCLIPLoader", + "EmptyCosmosLatentVideo", "EmptyHunyuanLatentVideo", "EmptyImage", "EmptyLTXVLatentVideo", "EmptyLatentAudio", + "EmptyLatentHunyuan3Dv2", "EmptyLatentImage", "EmptyMochiLatentVideo", "EmptySD3LatentImage", "ExponentialScheduler", "FeatherMask", "FlipSigmas", + "FluxDisableGuidance", "FluxGuidance", "FreeU", "FreeU_V2", @@ -12975,6 +15456,9 @@ "GLIGENLoader", "GLIGENTextBoxApply", "GrowMask", + "Hunyuan3Dv2Conditioning", + "Hunyuan3Dv2ConditioningMultiView", + "HunyuanImageToVideo", "HyperTile", "HypernetworkLoader", "ImageBatch", @@ -12989,12 +15473,14 @@ "ImageOnlyCheckpointSave", "ImagePadForOutpaint", "ImageQuantize", + "ImageRGBToYUV", "ImageScale", "ImageScaleBy", "ImageScaleToTotalPixels", "ImageSharpen", "ImageToMask", "ImageUpscaleWithModel", + "ImageYUVToRGB", "InpaintModelConditioning", "InstructPixToPixConditioning", "InvertMask", @@ -13003,8 +15489,11 @@ "KSamplerAdvanced", "KSamplerSelect", "KarrasScheduler", + "LTXVAddGuide", "LTXVConditioning", + "LTXVCropGuides", "LTXVImgToVideo", + "LTXVPreprocess", "LTXVScheduler", "LaplaceScheduler", "LatentAdd", @@ -13031,16 +15520,21 @@ "LoadAudio", "LoadImage", "LoadImageMask", + "LoadImageOutput", "LoadLatent", "LoraLoader", "LoraLoaderModelOnly", "LoraSave", + "LotusConditioning", "Mahiro", "MaskComposite", "MaskToImage", + "ModelComputeDtype", "ModelMergeAdd", "ModelMergeAuraflow", "ModelMergeBlocks", + "ModelMergeCosmos14B", + "ModelMergeCosmos7B", "ModelMergeFlux1", "ModelMergeLTXV", "ModelMergeMochiPreview", @@ -13070,11 +15564,17 @@ "PolyexponentialScheduler", "PorterDuffImageComposite", "Preview3D", + "Preview3DAnimation", "PreviewAudio", "PreviewImage", + "PrimitiveBoolean", + "PrimitiveFloat", + "PrimitiveInt", + "PrimitiveString", "RandomNoise", "RebatchImages", "RebatchLatents", + "RenormCFG", "RepeatImageBatch", "RepeatLatentBatch", "RescaleCFG", @@ -13097,10 +15597,13 @@ "SaveAnimatedPNG", "SaveAnimatedWEBP", "SaveAudio", + "SaveGLB", "SaveImage", "SaveImageWebsocket", "SaveLatent", + "SaveWEBM", "SelfAttentionGuidance", + "SetFirstSigma", "SetLatentNoiseMask", "SetUnionControlNetType", "SkipLayerGuidanceDiT", @@ -13153,6 +15656,7 @@ "TestVariadicAverage", "TestWhileLoopClose", "TestWhileLoopOpen", + "TextEncodeHunyuanVideo_ImageToVideo", "ThresholdMask", "TomePatchModel", "TorchCompileModel", @@ -13164,6 +15668,7 @@ "UpscaleModelLoader", "VAEDecode", "VAEDecodeAudio", + "VAEDecodeHunyuan3D", "VAEDecodeTiled", "VAEEncode", "VAEEncodeAudio", @@ -13174,6 +15679,8 @@ "VPScheduler", "VideoLinearCFGGuidance", "VideoTriangleCFGGuidance", + "VoxelToMeshBasic", + "WanImageToVideo", "WebcamCapture", "unCLIPCheckpointLoader", "unCLIPConditioning" @@ -13293,6 +15800,14 @@ "title_aux": "ComfyUI_DepthFlow" } ], + "https://github.com/crave33/RenesStuffDanboruTagGet": [ + [ + "DanbooruTagFetcher" + ], + { + "title_aux": "RenesStuffDanboruTagGet" + } + ], "https://github.com/crystian/ComfyUI-Crystools": [ [], { @@ -13634,6 +16149,8 @@ "D2 List To String", "D2 Load Folder Images", "D2 Load Image", + "D2 Load Lora", + "D2 Model and CLIP Merge SDXL", "D2 Multi Output", "D2 Pipe", "D2 Preview Image", @@ -13656,6 +16173,7 @@ "D2 XY Prompt SR", "D2 XY Prompt SR2", "D2 XY Seed", + "D2 XY Seed2", "D2 XY String To Plot" ], { @@ -13667,9 +16185,17 @@ ], "https://github.com/dadoirie/ComfyUI_Dados_Nodes": [ [ - "PinterestImageNode" + "DynamicTextLoaderNode", + "PinterestFetch", + "SmolVLMNode", + "TextConcatenatorNode", + "TextDropDownNode", + "inactivePinterestImageNode" ], { + "author": "Dado", + "description": "A node with dynamic text inputs for concatenation", + "title": "Text Concatenator", "title_aux": "ComfyUI_Dados_Nodes" } ], @@ -13801,6 +16327,25 @@ "title_aux": "ComfyUI-LoadFiles" } ], + "https://github.com/dasilva333/ComfyUI_ContrastingColor": [ + [ + "ContrastingComplementaryColor|pysssss" + ], + { + "title_aux": "ComfyUI_ContrastingColor" + } + ], + "https://github.com/dasilva333/ComfyUI_MarkdownImage": [ + [ + "CreateDialogImage", + "CreateDialogImageV2", + "CreateMarkdownImage", + "CreateMarkdownImageV2" + ], + { + "title_aux": "ComfyUI_MarkdownImage" + } + ], "https://github.com/dave-palt/comfyui_DSP_imagehelpers": [ [ "dsp-imagehelpers-concat" @@ -13809,6 +16354,14 @@ "title_aux": "comfyui_DSP_imagehelpers" } ], + "https://github.com/davidgressett/comfyui-systemlevel": [ + [ + "CartesianCSVNode" + ], + { + "title_aux": "CartesianCSVNode for ComfyUI" + } + ], "https://github.com/daxcay/ComfyUI-DataSet": [ [ "DataSet_ClaudeAIChat", @@ -13922,12 +16475,16 @@ "DavchaCLIPTextEncode", "DavchaConditioningConcat", "DavchaEmptyLatentImage", + "DavchaLLM", + "DavchaLLMAdvanced", + "DavchaLoadLLM", "DavchaLoadVideo", "DavchaMaskImage", "DavchaModelMergeSD1", "DavchaModelMergeSDXL", "DavchaModelMergeSimple", "DavchaPop", + "PadAndResize", "PercentPadding", "ResizeCropFit", "SmartMask", @@ -14027,7 +16584,7 @@ "description": "CLIP text encoder that does BREAK prompting like A1111", "nickname": "CLIP with BREAK", "title": "CLIP with BREAK syntax", - "title_aux": "CLIP with BREAK syntax" + "title_aux": "comfyui-clip-with-break" } ], "https://github.com/dfl/comfyui-tcd-scheduler": [ @@ -14264,6 +16821,16 @@ "title_aux": "ComfyUI-Keyframed" } ], + "https://github.com/dorpxam/ComfyUI-LTXVideoLoRA": [ + [ + "LTXVLoRABlockEdit", + "LTXVLoRALoader", + "LTXVLoRASelector" + ], + { + "title_aux": "ComfyUI-LTXVideoLoRA" + } + ], "https://github.com/drago87/ComfyUI_Dragos_Nodes": [ [ "file_padding", @@ -14275,6 +16842,14 @@ "title_aux": "ComfyUI_Dragos_Nodes" } ], + "https://github.com/dreamhartley/ComfyUI_show_seed": [ + [ + "Show Seed" + ], + { + "title_aux": "ComfyUI_show_seed" + } + ], "https://github.com/drmbt/comfyui-dreambait-nodes": [ [ "AudioInfoPlus", @@ -14285,6 +16860,7 @@ "DRMBT_String_Item_Menu", "DictToOutputs", "DownloadAndLoadMiniCPMV", + "DrawText", "DreambaitFolderOpener", "DynamicDictionary", "ImageFrameBlend", @@ -14300,9 +16876,12 @@ "Qwen2AudioInstruct", "StringToDict", "SwitchDuo", + "TextBoxStyle", "TextLineSelect", "TextLinesToList", - "TextPlusPlus" + "TextMargins", + "TextPlusPlus", + "TextShadow" ], { "title_aux": "comfyui-dreambait-nodes" @@ -14319,6 +16898,14 @@ "title_aux": "primitive-types" } ], + "https://github.com/duchamps0305/comfyui-white-extractor": [ + [ + "WhitePercentage" + ], + { + "title_aux": "comfyui-white-extractor" + } + ], "https://github.com/ducido/ObjectFusion_ComfyUI_nodes": [ [ "Custom ESAM_ModelLoader_Zho", @@ -14357,6 +16944,15 @@ "title_aux": "comfyui_dygen" } ], + "https://github.com/dzqdzq/ComfyUI-crop-alpha": [ + [ + "FastAlphaCropper", + "ShrinkImage" + ], + { + "title_aux": "ComfyUI-crop-alpha" + } + ], "https://github.com/e7mac/ComfyUI-ShadertoyGL": [ [ "ColorChannelOffset", @@ -14401,30 +16997,38 @@ "CLIP_Interrogator", "ConvertToGrayscale", "DepthSlicer", + "Eden_AllMediaLoader", "Eden_Bool", "Eden_BoolBinaryOperation", "Eden_Compare", - "Eden_DebugPrint", + "Eden_Debug_Anything", "Eden_DepthSlice_MaskVideo", "Eden_DetermineFrameCount", + "Eden_FaceToMask", + "Eden_Face_Crop", "Eden_Float", "Eden_FloatToInt", "Eden_GPTPromptEnhancer", "Eden_IMG_padder", "Eden_IMG_unpadder", + "Eden_ImageMaskComposite", "Eden_Image_Math", "Eden_Int", "Eden_IntToFloat", "Eden_MaskBoundingBox", "Eden_MaskCombiner", "Eden_Math", + "Eden_RandomFilepathSampler", + "Eden_RandomNumberSampler", "Eden_RandomPromptFromFile", + "Eden_Regex_Replace", "Eden_RepeatLatentBatch", "Eden_Seed", "Eden_String", "Eden_StringHash", "Eden_StringReplace", "Eden_gpt4_node", + "Eden_randbool", "Extend_Sequence", "FolderScanner", "GetRandomFile", @@ -14446,6 +17050,8 @@ "MaskFromRGB_KMeans", "ParallaxZoom", "Random_Style_Mixture", + "SDAnyConverter", + "SDTypeConverter", "SaveImageAdvanced", "SavePosEmbeds", "VAEDecode_to_folder", @@ -14578,29 +17184,29 @@ "title_aux": "ComfyMath" } ], - "https://github.com/evolox/ComfyUI-GeneraNodes": [ - [ - "Genera.BatchPreviewer", - "Genera.BatchTester", - "Genera.GCPStorageNode", - "Genera.MaskDrawer", - "Genera.Utils", - "PainterNode" - ], - { - "title_aux": "ComfyUI-GeneraNodes" - } - ], "https://github.com/exdysa/comfyui-selector": [ [ - "Fork", - "ForkClip", - "Recourse", - "Recourse+/-", + "RecourseAny", "RecourseCkpt", "RecourseImage", + "RecoursePolar", + "RecourseStrings", + "SelInClip", + "SelInFloat", + "SelInGuider", + "SelInInt", + "SelInLatent", + "SelInModel", + "SelInPolar", + "SelInSampler", + "SelInSigmas", + "SelInVae", + "SelOutCLIP", + "SelOutModel", + "SelOutPolar", "Selector", - "Unite" + "Selector Advanced", + "Selector Hub" ], { "author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"", @@ -14661,10 +17267,12 @@ "https://github.com/fablestudio/ComfyUI-Showrunner-Utils": [ [ "AlignFace", + "Alpha Crop and Position Image", "GenerateTimestamp", "GetMostCommonColors", "ReadImage", - "RenderOpenStreetMapTile" + "RenderOpenStreetMapTile", + "Shrink Image" ], { "title_aux": "ComfyUI-Showrunner-Utils" @@ -14694,6 +17302,14 @@ "title_aux": "ComfyUI-GLHF" } ], + "https://github.com/fairy-root/ComfyUI-Show-Text": [ + [ + "ComfyUIShowText" + ], + { + "title_aux": "ComfyUI-Show-Text" + } + ], "https://github.com/fairy-root/Flux-Prompt-Generator": [ [ "FluxPromptGenerator" @@ -14728,6 +17344,45 @@ "title_aux": "FASHN Virtual Try-On" } ], + "https://github.com/fat-tire/comfyui-unified-media-suite": [ + [ + "MediaLoad", + "MediaMerge", + "MediaSave" + ], + { + "title_aux": "ComfyUI Unified Media Suite" + } + ], + "https://github.com/fblissjr/ComfyUI-DatasetHelper": [ + [ + "DatasetBatchNode" + ], + { + "title_aux": "ComfyUI Dataset Helper & Batch Node" + } + ], + "https://github.com/fblissjr/ComfyUI-EmbeddingPipelineAnalytics": [ + [ + "EmbeddingAnalyzer", + "EmbeddingPipelineCapture" + ], + { + "title_aux": "ComfyUI-EmbeddingPipelineAnalytics" + } + ], + "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow": [ + [ + "WanAdaptiveFlow", + "WanBlendVisualize", + "WanEmbeddingPrevizCanvas", + "WanMinimalCanvasTest", + "WanSmartBlend" + ], + { + "title_aux": "wanvideo - seamless flow" + } + ], "https://github.com/fearnworks/ComfyUI_FearnworksNodes": [ [ "Count Files in Directory (FW)", @@ -14743,6 +17398,14 @@ "title_aux": "Fearnworks Nodes" } ], + "https://github.com/feixuetuba/Spleeter": [ + [ + "Spleeter" + ], + { + "title_aux": "Spleeter" + } + ], "https://github.com/fexli/fexli-util-node-comfyui": [ [ "FEBCPrompt", @@ -14831,6 +17494,9 @@ ], "https://github.com/filliptm/ComfyUI_Fill-Nodes": [ [ + "FL_API_Base64_ImageLoader", + "FL_API_ImageSaver", + "FL_AnimeLineExtractor", "FL_ApplyMask", "FL_Ascii", "FL_BatchAlign", @@ -14838,6 +17504,7 @@ "FL_BulletHellGame", "FL_CaptionSaver_V2", "FL_CaptionToCSV", + "FL_ClipScanner", "FL_CodeNode", "FL_ColorPicker", "FL_Dalle3", @@ -14845,14 +17512,19 @@ "FL_Dither", "FL_FractalKSampler", "FL_GPT_Vision", + "FL_GeminiImageEditor", + "FL_GeminiTextAPI", + "FL_GeminiVideoCaptioner", "FL_Glitch", "FL_GoogleDriveDownloader", + "FL_GoogleDriveImageDownloader", "FL_GradGenerator", "FL_HFHubModelUploader", "FL_HF_Character", "FL_HF_UploaderAbsolute", "FL_HalftonePattern", "FL_HexagonalPattern", + "FL_HunyuanDelight", "FL_ImageAdjuster", "FL_ImageBatchToGrid", "FL_ImageBatchToImageList", @@ -14870,6 +17542,7 @@ "FL_InfiniteZoom", "FL_InpaintCrop", "FL_Inpaint_Stitch", + "FL_JS", "FL_KSamplerXYZPlot", "FL_KsamplerBasic", "FL_KsamplerPlus", @@ -14905,6 +17578,7 @@ "FL_SaveCSV", "FL_SaveImages", "FL_SaveWebPImage(SaveImage)", + "FL_SceneCut", "FL_SchedulerStrings", "FL_SendToDiscordWebhook", "FL_SeparateMaskComponents", @@ -14914,6 +17588,7 @@ "FL_TetrisGame", "FL_TimeLine", "FL_UpscaleModel", + "FL_VideoCaptionSaver", "FL_VideoCropMask", "FL_VideoRecompose", "FL_ZipDirectory", @@ -15029,6 +17704,14 @@ "title_aux": "ComfyUI-Flowty-TripoSR" } ], + "https://github.com/fluffydiveX/ComfyUI-hvBlockswap": [ + [ + "hvBlockSwap" + ], + { + "title_aux": "ComfyUI-hvBlockswap" + } + ], "https://github.com/flycarl/ComfyUI-Pixelate": [ [ "ComfyUIPixelate" @@ -15094,6 +17777,14 @@ "title_aux": "ComfyUI-Prompter-fofrAI" } ], + "https://github.com/fofr/comfyui-basic-auth": [ + [ + "BasicAuthSetup" + ], + { + "title_aux": "ComfyUI-Basic-Auth" + } + ], "https://github.com/fofr/comfyui-fofr-toolkit": [ [ "Incrementer \ud83e\udeb4", @@ -15253,6 +17944,14 @@ "title_aux": "ComfyUI_pose_inter" } ], + "https://github.com/fuselayer/comfyui-mosaic-blur": [ + [ + "ImageMosaic" + ], + { + "title_aux": "comfyui-mosaic-blur" + } + ], "https://github.com/gelasdev/ComfyUI-FLUX-BFL-API": [ [ "FluxDevRedux_BFL", @@ -15284,7 +17983,10 @@ "Image Scale", "Image Selector", "LoRA Name List", - "Seed to Noise" + "Prompt Text", + "Seed to Noise", + "ShowTextNode", + "Text Replace" ], { "title_aux": "geocine-comfyui" @@ -15402,14 +18104,19 @@ "Custom API Key", "DalleImage", "Enhancer", + "Gemini Image", "Image Mixer", + "Imagen Image", "ImgTextSwitch", "Load Remote Models", + "LoadText|plush", "ParseJSON", "Plush-Exif Wrangler", "Random Image Output", "Random Mixer", "Random Output", + "Remove Text", + "SaveText|plush", "Tagger", "Text (Any)", "Type Converter", @@ -15454,6 +18161,14 @@ "title_aux": "String Converter" } ], + "https://github.com/gmorks/ComfyUI-SendToDiscord": [ + [ + "PreviewImageWithDiscord" + ], + { + "title_aux": "ComfyUI-SendToDiscord" + } + ], "https://github.com/goburiin/nsfwrecog-comfyui": [ [ "NSFWDetectorNode" @@ -15603,6 +18318,35 @@ "title_aux": "GFrbmg2" } ], + "https://github.com/gorillaframeai/GF_translate": [ + [ + "GFDeepTranslate", + "GFJsonTranslate" + ], + { + "title_aux": "GF_translate" + } + ], + "https://github.com/greengerong/ComfyUI-JanusPro-PL": [ + [ + "JanusProImageGenerator", + "JanusProImageUnderstanding", + "JanusProModelLoader" + ], + { + "title_aux": "Janus-Pro ComfyUI Plugin" + } + ], + "https://github.com/greengerong/ComfyUI-Lumina-Video": [ + [ + "LuminaVideoModelLoader", + "LuminaVideoSampler", + "LuminaVideoVAEDecode" + ], + { + "title_aux": "ComfyUI-Lumina-Video" + } + ], "https://github.com/gremlation/ComfyUI-ImageLabel": [ [ "gremlation:ComfyUI-ImageLabel:ImageLabel" @@ -15649,6 +18393,9 @@ "Griptape Agent Config: Expand", "Griptape Agent Config: Google Drivers", "Griptape Agent Config: Google [DEPRECATED]", + "Griptape Agent Config: Griptape Cloud", + "Griptape Agent Config: Grok Drivers", + "Griptape Agent Config: Groq Drivers", "Griptape Agent Config: HuggingFace Drivers", "Griptape Agent Config: HuggingFace [DEPRECATED]", "Griptape Agent Config: LM Studio Drivers", @@ -15659,13 +18406,16 @@ "Griptape Agent Config: OpenAI Compatible [DEPRECATED]", "Griptape Agent Config: OpenAI Drivers", "Griptape Agent Config: OpenAI [DEPRECATED]", + "Griptape Audio Transcription Driver: Groq", "Griptape Audio Transcription Driver: OpenAI", "Griptape Code: Run Griptape Cloud Structure", - "Griptape Code: Run Python", + "Griptape Code: Run Python [DEPRECATED]", + "Griptape Combine: Merge Dictionary", "Griptape Combine: Merge Inputs", "Griptape Combine: Merge Texts", "Griptape Combine: RAG Module List", "Griptape Combine: Rules List", + "Griptape Combine: String List", "Griptape Combine: Tool List", "Griptape Config: Environment Variables", "Griptape Convert: Agent to Tool", @@ -15677,12 +18427,15 @@ "Griptape Create: Image Inpainting Variation", "Griptape Create: Image Variation", "Griptape Create: Image from Text", + "Griptape Create: Key Value Pair", "Griptape Create: Rules", "Griptape Create: Text", "Griptape Display: Artifact", "Griptape Display: Data as Text", + "Griptape Display: Dictionary", "Griptape Display: Image", "Griptape Display: Text", + "Griptape Display: Text as Markdown", "Griptape Driver: Amazon Bedrock Stable Diffusion", "Griptape Driver: Amazon Bedrock Titan", "Griptape Driver: Azure OpenAI Image Generation", @@ -15701,6 +18454,7 @@ "Griptape Embedding Driver: OpenAI", "Griptape Embedding Driver: OpenAI Compatible", "Griptape Embedding Driver: Voyage AI", + "Griptape End Workflow", "Griptape Expand: Agent Nodes", "Griptape Load: Audio", "Griptape Load: Image From URL", @@ -15711,6 +18465,9 @@ "Griptape Prompt Driver: Azure OpenAI", "Griptape Prompt Driver: Cohere", "Griptape Prompt Driver: Google", + "Griptape Prompt Driver: Griptape Cloud", + "Griptape Prompt Driver: Grok", + "Griptape Prompt Driver: Groq", "Griptape Prompt Driver: HuggingFace", "Griptape Prompt Driver: LM Studio", "Griptape Prompt Driver: Ollama", @@ -15727,10 +18484,14 @@ "Griptape Replace: Rulesets on Agent", "Griptape Replace: Tools on Agent", "Griptape Rerank Driver: Cohere", + "Griptape Rerank Driver: Local", + "Griptape Retrieve: Cloud Ruleset", "Griptape Run: Agent", "Griptape Run: Audio Transcription", + "Griptape Run: Cloud Assistant", "Griptape Run: Image Description", "Griptape Run: Parallel Image Description", + "Griptape Run: Parallel Prompt Task", "Griptape Run: Prompt Task", "Griptape Run: Task", "Griptape Run: Text Extraction", @@ -15740,6 +18501,7 @@ "Griptape Run: Toolkit Task", "Griptape Save: Text", "Griptape Set: Default Agent", + "Griptape Start Workflow", "Griptape Text To Speech Driver: ElevenLabs", "Griptape Text To Speech Driver: OpenAI", "Griptape Tool: Audio Transcription", @@ -15774,6 +18536,7 @@ "Griptape WebSearch Driver: DuckDuckGo", "Griptape WebSearch Driver: Exa", "Griptape WebSearch Driver: Google", + "Griptape WebSearch Driver: Serper", "Griptape WebSearch Driver: Tavily" ], { @@ -15817,6 +18580,14 @@ "title_aux": "ComfyUI-DreamWaltz-G" } ], + "https://github.com/guerreiro/comfyg-switch": [ + [ + "ComfygSwitch" + ], + { + "title_aux": "Comfyg Switch" + } + ], "https://github.com/guill/abracadabra-comfyui": [ [ "AbracadabraNode", @@ -16063,6 +18834,7 @@ "ic_lora_persona", "image_iterator", "img2path", + "img_hosting", "interpreter_function", "interpreter_tool", "interrupt_loop", @@ -16189,6 +18961,22 @@ "title_aux": "comfyui_LLM_schools" } ], + "https://github.com/hgabha/WWAA-CustomNodes": [ + [ + "WWAA-BuildString", + "WWAA-LineCount", + "WWAA_AdvancedTextFileReader", + "WWAA_DitherNode", + "WWAA_GBCamera", + "WWAA_ImageLoader", + "WWAA_ImageToTextFile", + "WWAA_NestedLoopCounter", + "WWAA_PromptWriter" + ], + { + "title_aux": "WWAA-CustomNodes" + } + ], "https://github.com/hhhzzyang/Comfyui_Lama": [ [ "LamaApply", @@ -16240,9 +19028,20 @@ "title_aux": "ComfyUI 3D Pose Editor" } ], + "https://github.com/hmwl/ComfyUI_zip": [ + [ + "CleanFolders", + "CompressImages", + "UnzipToInput" + ], + { + "title_aux": "ComfyUI_zip" + } + ], "https://github.com/hodanajan/optimal-crop-resolution": [ [ - "AspectRatioCalculator" + "AspectRatioCalculator", + "ResolutionMatcher" ], { "title_aux": "optimal-crop-resolution" @@ -16292,16 +19091,16 @@ "BiRefNet", "ControlImagePreprocessor", "ControlNetModelLoader", + "DiffusersMVModelMakeup", + "DiffusersMVPipelineLoader", "DiffusersMVSampler", - "DiffusersModelMakeup", - "DiffusersPipelineLoader", - "DiffusersSampler", - "DiffusersSchedulerLoader", - "DiffusersVaeLoader", + "DiffusersMVSchedulerLoader", + "DiffusersMVVaeLoader", "ImagePreprocessor", "LdmPipelineLoader", "LdmVaeLoader", - "LoraModelLoader" + "LoraModelLoader", + "ViewSelector" ], { "title_aux": "ComfyUI-MVAdapter" @@ -16381,6 +19180,22 @@ "title_aux": "OpenPose Keypoint Extractor" } ], + "https://github.com/huixingyun/ComfyUI-HX-Captioner": [ + [ + "HXOllamaCaptioner" + ], + { + "title_aux": "ComfyUI-HX-Captioner" + } + ], + "https://github.com/huixingyun/ComfyUI-HX-Pimg": [ + [ + "SaveImageWithPromptsWebsocket" + ], + { + "title_aux": "ComfyUI-HX-Pimg" + } + ], "https://github.com/hustille/ComfyUI_Fooocus_KSampler": [ [ "KSampler With Refiner (Fooocus)" @@ -16424,19 +19239,19 @@ "https://github.com/hyunamy/comfy-ui-on-complete-email-me": [ [ "OnCompleteEmailMe", + "OnCompletePlaySound", "OnCompleteWebhook" ], { "title_aux": "Comfy-UI on-complete-email-me" } ], - "https://github.com/hzane/OmniGen-ComfyUI": [ + "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor": [ [ - "OmniGenLoader", - "OmniGenNode" + "AMDGPUMonitor" ], { - "title_aux": "OmniGen-ComfyUI" + "title_aux": "AMD GPU Monitor for ComfyUI" } ], "https://github.com/iFREEGROUP/comfyui-undistort": [ @@ -16505,13 +19320,29 @@ "title_aux": "Isaac's Nodes" } ], + "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk": [ + [ + "IF_DreamTalk" + ], + { + "title_aux": "IF_Dreamtalk" + } + ], "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode": [ [ "IF_HFDownload", "IF_HFDownloadNode" ], { - "title_aux": "ComfyUI-IF_AI_HFDownloaderNode" + "title_aux": "IF_AI_HFDownloaderNode" + } + ], + "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode": [ + [ + "IF_ParlerTTS" + ], + { + "title_aux": "IF_ParlerTTSNode" } ], "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode": [ @@ -16519,7 +19350,7 @@ "IF_WhisperSpeech" ], { - "title_aux": "ComfyUI-IF_AI_WishperSpeechNode" + "title_aux": "IF_AI_WishperSpeechNode" } ], "https://github.com/if-ai/ComfyUI-IF_AI_tools": [ @@ -16539,7 +19370,46 @@ "IF_tools_LoadImagesS" ], { - "title_aux": "ComfyUI-IF_AI_tools" + "title_aux": "IF_AI_tools" + } + ], + "https://github.com/if-ai/ComfyUI-IF_DatasetMkr": [ + [ + "IF_DatasetMkr", + "IF_HyDatasetMkr" + ], + { + "title_aux": "IF_DatasetMkr" + } + ], + "https://github.com/if-ai/ComfyUI-IF_Gemini": [ + [ + "GeminiNode" + ], + { + "title_aux": "IF_Gemini" + } + ], + "https://github.com/if-ai/ComfyUI-IF_LLM": [ + [ + "IF_DisplayText", + "IF_JoinText", + "IF_LLM", + "IF_LLM_DisplayOmni", + "IF_LLM_DisplayText", + "IF_LLM_DisplayTextWildcard", + "IF_LLM_JoinText", + "IF_LLM_ListModels", + "IF_LLM_LoadImagesS", + "IF_LLM_SaveText", + "IF_LLM_TextTyper", + "IF_LoadImagesS", + "IF_TextTyper", + "IF_saveText", + "ListModelsNode" + ], + { + "title_aux": "IF_LLM" } ], "https://github.com/if-ai/ComfyUI-IF_MemoAvatar": [ @@ -16548,7 +19418,7 @@ "IF_MemoCheckpointLoader" ], { - "title_aux": "ComfyUI-IF_MemoAvatar" + "title_aux": "IF_MemoAvatar" } ], "https://github.com/if-ai/ComfyUI-IF_Trellis": [ @@ -16557,7 +19427,34 @@ "IF_TrellisImageTo3D" ], { - "title_aux": "ComfyUI-IF_Trellis" + "title_aux": "IF_Trellis" + } + ], + "https://github.com/if-ai/ComfyUI-IF_VideoPrompts": [ + [ + "VideoPromptNode" + ], + { + "title_aux": "IF_VideoPrompts" + } + ], + "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages": [ + [ + "IF_LoadImagesS" + ], + { + "title_aux": "IF_AI_LoadImages" + } + ], + "https://github.com/ifmylove2011/comfyui-missing-tool": [ + [ + "ImageQueueLoader", + "LoadImageA", + "TrimBG", + "TrimBGAdvanced" + ], + { + "title_aux": "comfyui-missing-tool" } ], "https://github.com/ihmily/ComfyUI-Light-Tool": [ @@ -16566,6 +19463,7 @@ "Light-Tool: AddBackgroundV2", "Light-Tool: BoundingBoxCropping", "Light-Tool: GetImageSize", + "Light-Tool: Hex2Rgb", "Light-Tool: ImageConcat", "Light-Tool: ImageMaskApply", "Light-Tool: ImageOverlay", @@ -16574,6 +19472,7 @@ "Light-Tool: InputTextList", "Light-Tool: InvertMask", "Light-Tool: IsTransparent", + "Light-Tool: KeyValue", "Light-Tool: LoadImage", "Light-Tool: LoadImageFromURL", "Light-Tool: LoadImagesFromDir", @@ -16581,6 +19480,7 @@ "Light-Tool: MaskContourExtractor", "Light-Tool: MaskImageToTransparent", "Light-Tool: MaskToImage", + "Light-Tool: MorphologicalTF", "Light-Tool: PhantomTankEffect", "Light-Tool: PreviewVideo", "Light-Tool: RGB2RGBA", @@ -16588,9 +19488,13 @@ "Light-Tool: ResizeImage", "Light-Tool: SaveToAliyunOSS", "Light-Tool: SaveVideo", + "Light-Tool: ScaleImage", "Light-Tool: ShowText", + "Light-Tool: SimpleImageOverlay", + "Light-Tool: SimpleTextConnect", "Light-Tool: SolidColorBackground", - "Light-Tool: TextConnect" + "Light-Tool: TextConnect", + "Light-Tool: UpscaleImage" ], { "author": "Hmily", @@ -16600,6 +19504,15 @@ "title_aux": "ComfyUI-Light-Tool" } ], + "https://github.com/illuminatianon/comfyui-csvwildcards": [ + [ + "CSVWildcardNode", + "DisplayTextNode" + ], + { + "title_aux": "CSV Wildcard Node for ComfyUI" + } + ], "https://github.com/imb101/ComfyUI-FaceSwap": [ [ "FaceSwapNode" @@ -16610,7 +19523,10 @@ ], "https://github.com/inflamously/comfyui-prompt-enhancer": [ [ - "PROMPT_ENHANCE_Simple" + "PROMPT_ENHANCER", + "PROMPT_ENHANCER_CHAIN_CONTROL", + "PROMPT_ENHANCER_CHAIN_RANDOM", + "PROMPT_ENHANCER_REPROMPT" ], { "title_aux": "comfyui-prompt-enhancer" @@ -16690,6 +19606,19 @@ "title_aux": "ComfyUI Neural Network Toolkit NNT " } ], + "https://github.com/irreveloper/ComfyUI-DSD": [ + [ + "DSDGeminiPromptEnhancer", + "DSDImageGenerator", + "DSDModelDownloader", + "DSDModelLoader", + "DSDModelSelector", + "DSDResizeSelector" + ], + { + "title_aux": "ComfyUI-DSD" + } + ], "https://github.com/iwanders/ComfyUI_nodes": [ [ "IW_JsonPickItem", @@ -16954,6 +19883,7 @@ "Evaluate Floats JK", "Evaluate Ints JK", "Evaluate Strings JK", + "Get OrbitPoses From List JK", "Get Size JK", "Guidance Default JK", "HintImageEnchance JK", @@ -16998,6 +19928,7 @@ "Image Remove Alpha JK", "Image Resize Mode JK", "Image Upscale Parameters Extract JK", + "Inject Noise Params JK", "Is Mask Empty JK", "Ksampler Parameters Default JK", "Ksampler Parameters JK", @@ -17030,6 +19961,7 @@ "Reroute String JK", "Reroute Upscale JK", "Reroute Vae JK", + "SD3 Prompts Switch JK", "SDXL Target Res JK", "SDXLPromptStylerAll", "SDXLPromptStylerHorror", @@ -17077,22 +20009,6 @@ "Save Image with Metadata JK", "Scale To Resolution JK", "Split Image Grid JK", - "Stability Conservative Upscale", - "Stability Control Sketch", - "Stability Control Structure", - "Stability Control Style", - "Stability Creative Upscale", - "Stability Erase", - "Stability Fast Upscale", - "Stability Image Core", - "Stability Image Ultra", - "Stability Inpainting", - "Stability Outpainting", - "Stability Remove Background", - "Stability Replace Background and Relight", - "Stability SD3", - "Stability Search And Recolor", - "Stability Search and Replace", "String To Combo JK", "Tiling Mode JK", "Upscale Method JK", @@ -17129,6 +20045,8 @@ "GroupInfoExtractInt", "GroupLoadBatchImages", "GroupLoadImage", + "JWAudioBlend", + "JWAudioSaveToPath", "JWDatetimeString", "JWImageBatchCount", "JWImageContrast", @@ -17158,6 +20076,7 @@ "JWInfoHashListExtractStringList", "JWInfoHashListFromRangedInfo", "JWInfoHashPrint", + "JWLoadAudio", "JWLoadImageSequence", "JWLoadImagesFromString", "JWLoopImageSequence", @@ -17203,26 +20122,26 @@ ], "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": [ [ - "ClickPopup", - "ColorPicker", - "DynamicImageCombiner", - "DynamicMaskCombiner", - "ImageLatentCreator", - "ImageResolutionAdjuster", - "ImageSizeCreator", - "ImageSwitch", - "ImageToBase64", - "LatentSwitch", - "MaskPreview", - "MaskSwitch", - "MultilineTextInput", - "RemoveEmptyLinesAndLeadingSpaces", - "RemoveEmptyLinesAndLeadingSpacesAdvance", - "ShowTextPlus", - "SimpleTextInput", - "TextCombiner", - "TextSwitch", - "WebImageLoader" + "PaintingCoder::DynamicImageCombiner", + "PaintingCoder::DynamicMaskCombiner", + "PaintingCoder::ImageLatentCreator", + "PaintingCoder::ImageLatentCreatorPlus", + "PaintingCoder::ImageResolutionAdjuster", + "PaintingCoder::ImageSizeCreator", + "PaintingCoder::ImageSizeCreatorPlus", + "PaintingCoder::ImageSwitch", + "PaintingCoder::ImageToBase64", + "PaintingCoder::LatentSwitch", + "PaintingCoder::MaskPreview", + "PaintingCoder::MaskSwitch", + "PaintingCoder::MultilineTextInput", + "PaintingCoder::OutputToTextConverter", + "PaintingCoder::RemoveEmptyLinesAndLeadingSpaces", + "PaintingCoder::ShowTextPlus", + "PaintingCoder::SimpleTextInput", + "PaintingCoder::TextCombiner", + "PaintingCoder::TextSwitch", + "PaintingCoder::WebImageLoader" ], { "title_aux": "Painting Coder Utils" @@ -17233,13 +20152,18 @@ "ComfyOnlineSaveFile", "ComfyOnlineUploadAnything", "EmbeddingLoader", + "LoadCheckpointFromCivitAI", "LoadHunyuanLoraFromCivitAI", "LoadHunyuanLoraFromComfyOnline", "LoadHunyuanLoraFromHF", "LoadLoraFromCivitAI", "LoadLoraFromComfyOnline", "LoadLoraFromHF", - "SaveAudioAsWav" + "LoadLoraFromHFWithToken", + "LoadWanVideoLoraFromCivitAI", + "LoadWanVideoLoraFromComfyOnline", + "SaveAudioAsWav", + "SaveText" ], { "title_aux": "comfyui-model-dynamic-loader" @@ -17299,6 +20223,25 @@ "title_aux": "ComfyUI_StreamDiffusion" } ], + "https://github.com/jhj0517/ComfyUI-Moondream-Gaze-Detection": [ + [ + "(Down)Load Moondream Model", + "Gaze Detection", + "Gaze Detection Video" + ], + { + "title_aux": "ComfyUI-Moondream-Gaze-Detection" + } + ], + "https://github.com/jhj0517/ComfyUI-jhj-Kokoro-Onnx": [ + [ + "(Down)Load Kokoro Model", + "Kokoro Audio Generator" + ], + { + "title_aux": "ComfyUI jhj Kokoro Onnx" + } + ], "https://github.com/jiaqianjing/ComfyUI-MidjourneyHub": [ [ "MidjourneyActionNode", @@ -17317,6 +20260,14 @@ "title_aux": "ResAdapter for ComfyUI" } ], + "https://github.com/jinanlongen/ComfyUI-Prompt-Expander": [ + [ + "PromptExpanderNode" + ], + { + "title_aux": "ComfyUI Prompt Expander Node" + } + ], "https://github.com/jitcoder/lora-info": [ [ "ImageFromURL", @@ -17494,6 +20445,15 @@ "title_aux": "JNComfy" } ], + "https://github.com/jnxmx/ComfyUI_HuggingFace_Downloader": [ + [ + "Hugging Face Download Folder", + "Hugging Face Download Model" + ], + { + "title_aux": "ComfyUI_HuggingFace_Downloader" + } + ], "https://github.com/john-mnz/ComfyUI-Inspyrenet-Rembg": [ [ "InspyrenetRembg", @@ -17525,6 +20485,22 @@ "title_aux": "ComfyUI Deepface" } ], + "https://github.com/joreyaesh/comfyui_scroll_over_textarea": [ + [ + "ScrollOverTextareaDummyNode" + ], + { + "title_aux": "ComfyUI Scroll Over Textarea" + } + ], + "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll": [ + [ + "TouchpadScrollControllerDummyNode" + ], + { + "title_aux": "ComfyUI Touchpad Scroll Controller" + } + ], "https://github.com/jroc22/ComfyUI-CSV-prompt-builder": [ [ "BuildPromptFromCSV" @@ -17576,6 +20552,15 @@ "title_aux": "ComfyUI LayerDivider" } ], + "https://github.com/juehackr/comfyui_fk_server": [ + [ + "FK_Node", + "FK_ShowBaseNode" + ], + { + "title_aux": "comfyui_fk_server" + } + ], "https://github.com/jurdnisglobby/ComfyUI-Jurdns-Groq-Node": [ [ "JurdnsGroqAPIPromptEnhancer" @@ -17592,10 +20577,16 @@ "Bjornulf_APIGenerateFlux", "Bjornulf_APIGenerateStability", "Bjornulf_AddLineNumbers", + "Bjornulf_AllLoraSelector", + "Bjornulf_AnythingToFloat", + "Bjornulf_AnythingToInt", "Bjornulf_AnythingToText", + "Bjornulf_ApiDynamicTextInputs", + "Bjornulf_AudioPreview", "Bjornulf_AudioVideoSync", "Bjornulf_CharacterDescriptionGenerator", "Bjornulf_CivitAILoraSelector", + "Bjornulf_CivitAILoraSelectorHunyuan", "Bjornulf_CivitAILoraSelectorPONY", "Bjornulf_CivitAILoraSelectorSD15", "Bjornulf_CivitAILoraSelectorSDXL", @@ -17611,26 +20602,48 @@ "Bjornulf_CombineVideoAudio", "Bjornulf_ConcatVideos", "Bjornulf_ConcatVideosFromList", + "Bjornulf_ConditionalSwitch", "Bjornulf_ConvertVideo", + "Bjornulf_DisplayNote", + "Bjornulf_EmptyVideoLatentWithSingle", + "Bjornulf_ExecuteWorkflowNode", "Bjornulf_FFmpegConfig", + "Bjornulf_FaceSettings", + "Bjornulf_FixFace", + "Bjornulf_FourImageViewer", "Bjornulf_FreeVRAM", + "Bjornulf_GlobalSeedManager", "Bjornulf_GrayscaleTransform", "Bjornulf_GreenScreenToTransparency", "Bjornulf_HiResFix", + "Bjornulf_HuggingFaceDownloader", "Bjornulf_IfElse", "Bjornulf_ImageBlend", "Bjornulf_ImageDetails", "Bjornulf_ImageMaskCutter", + "Bjornulf_ImageNote", + "Bjornulf_ImageNoteLoadImage", "Bjornulf_ImagesListToVideo", + "Bjornulf_KokoroTTS", "Bjornulf_LatentResolutionSelector", + "Bjornulf_LineSelector", "Bjornulf_ListLooper", "Bjornulf_ListLooperCharacter", "Bjornulf_ListLooperOutfitFemale", "Bjornulf_ListLooperOutfitMale", "Bjornulf_ListLooperScene", "Bjornulf_ListLooperStyle", + "Bjornulf_ListSelector", + "Bjornulf_LoadCivitAILinks", + "Bjornulf_LoadFromBase64", + "Bjornulf_LoadGlobalVariables", "Bjornulf_LoadImageWithTransparency", "Bjornulf_LoadImagesFromSelectedFolder", + "Bjornulf_LoadTensor", + "Bjornulf_LoadTextFromFolder", + "Bjornulf_LoadTextFromPath", + "Bjornulf_LoadTextPickMeGlobal", + "Bjornulf_LoaderLoraWithPath", "Bjornulf_LoopAllLines", "Bjornulf_LoopBasicBatch", "Bjornulf_LoopCombosSamplersSchedulers", @@ -17646,30 +20659,47 @@ "Bjornulf_LoopSchedulers", "Bjornulf_LoopTexts", "Bjornulf_LoopWriteText", + "Bjornulf_MathNode", "Bjornulf_MergeImagesHorizontally", "Bjornulf_MergeImagesVertically", + "Bjornulf_ModelClipVaeSelector", "Bjornulf_OllamaConfig", "Bjornulf_OllamaImageVision", "Bjornulf_OllamaSystemJobSelector", "Bjornulf_OllamaSystemPersonaSelector", "Bjornulf_OllamaTalk", + "Bjornulf_OllamaVisionPromptSelector", "Bjornulf_PassPreviewImage", "Bjornulf_PauseResume", "Bjornulf_PickInput", + "Bjornulf_PickMe", + "Bjornulf_PlayAudio", + "Bjornulf_PreviewFirstImage", + "Bjornulf_PurgeCLIPNode", + "Bjornulf_RandomFloatNode", "Bjornulf_RandomImage", + "Bjornulf_RandomIntNode", "Bjornulf_RandomLineFromInput", "Bjornulf_RandomLoraSelector", "Bjornulf_RandomModelClipVae", "Bjornulf_RandomModelSelector", "Bjornulf_RandomTexts", + "Bjornulf_ReassembleImageGrid", + "Bjornulf_RemoteTextEncodingWithCLIPs", + "Bjornulf_RemoteVAEDecoderNode", + "Bjornulf_RemoteVAEDecoderNodeTiled", "Bjornulf_RemoveTransparency", "Bjornulf_ResizeImage", "Bjornulf_ResizeImagePercentage", "Bjornulf_SaveBjornulfLobeChat", + "Bjornulf_SaveGlobalVariables", "Bjornulf_SaveImagePath", "Bjornulf_SaveImageToFolder", + "Bjornulf_SaveTensors", "Bjornulf_SaveText", + "Bjornulf_SaveTmpAudio", "Bjornulf_SaveTmpImage", + "Bjornulf_SaveTmpVideo", "Bjornulf_ScramblerCharacter", "Bjornulf_SelectImageFromList", "Bjornulf_ShowFloat", @@ -17678,6 +20708,11 @@ "Bjornulf_ShowStringText", "Bjornulf_ShowText", "Bjornulf_SpeechToText", + "Bjornulf_SplitImageGrid", + "Bjornulf_StyleSelector", + "Bjornulf_SwitchAnything", + "Bjornulf_SwitchText", + "Bjornulf_TextAnalyzer", "Bjornulf_TextGenerator", "Bjornulf_TextGeneratorCharacterCreature", "Bjornulf_TextGeneratorCharacterFemale", @@ -17688,16 +20723,27 @@ "Bjornulf_TextGeneratorOutfitMale", "Bjornulf_TextGeneratorScene", "Bjornulf_TextGeneratorStyle", + "Bjornulf_TextGeneratorText2Video", "Bjornulf_TextReplace", + "Bjornulf_TextSplitin10", + "Bjornulf_TextSplitin5", "Bjornulf_TextToAnything", "Bjornulf_TextToSpeech", "Bjornulf_TextToStringAndSeed", + "Bjornulf_TextToVariable", + "Bjornulf_ToDoList", "Bjornulf_VideoDetails", + "Bjornulf_VideoLatentResolutionSelector", "Bjornulf_VideoPingPong", "Bjornulf_VideoPreview", + "Bjornulf_VideoTextGenerator", "Bjornulf_VideoToImagesList", "Bjornulf_WriteText", "Bjornulf_WriteTextAdvanced", + "Bjornulf_WriteTextPickMe", + "Bjornulf_WriteTextPickMeChain", + "Bjornulf_WriteTextPickMeGlobal", + "Bjornulf_XTTSConfig", "Bjornulf_imagesToVideo", "Bjornulf_ollamaLoader" ], @@ -17705,6 +20751,16 @@ "title_aux": "Bjornulf_custom_nodes" } ], + "https://github.com/justin-vt/ComfyUI-brushstrokes": [ + [ + "OpenCVBrushStrokesNode", + "PILBrushStrokesNode", + "WandBrushStrokesNode" + ], + { + "title_aux": "ComfyUI-brushstrokes" + } + ], "https://github.com/k-komarov/comfyui-bunny-cdn-storage": [ [ "Save Image to BunnyStorage" @@ -17807,6 +20863,7 @@ "SDT_FasterWhisperTextFromSegments", "SDT_FasterWhisperTranscribe", "SDT_GriffinLim", + "SDT_HighpassBiquad", "SDT_JoinAudio", "SDT_KotobaWhisperListSegments", "SDT_KotobaWhisperLoaderLong", @@ -17817,19 +20874,15 @@ "SDT_LFCC", "SDT_LoadAudio", "SDT_LoadAudios", + "SDT_LowpassBiquad", "SDT_MFCC", "SDT_MakeSilenceAudio", "SDT_MelBandRoformerLoader", "SDT_MelSpectrogram", - "SDT_NemoAsrListSegments", - "SDT_NemoAsrListSubwords", "SDT_NemoAsrLoader", - "SDT_NemoAsrSegmentProperty", - "SDT_NemoAsrSubwordProperty", "SDT_NemoAsrTranscribe", "SDT_NueAsrLoader", "SDT_NueAsrTranscribe", - "SDT_PlayAudio", "SDT_PlotMelFilterBank", "SDT_PlotPitch", "SDT_PlotSpecgram", @@ -17837,7 +20890,6 @@ "SDT_PlotWaveForm", "SDT_ResampleAudio", "SDT_SaveAudio", - "SDT_SaveAudioWithSequentialNumbering", "SDT_SilenceAudio", "SDT_SileroVADApply", "SDT_SileroVADCollectChunks", @@ -17928,7 +20980,7 @@ "description": "A ComfyUI plugin for efficient image sequence processing. Features frame insertion, duplication, and removal with intuitive controls.", "nickname": "QuickSeq", "title": "Quick Image Sequence Process", - "title_aux": "Quick Image Sequence Process" + "title_aux": "ComfyUI-QuickImageSequenceProcess" } ], "https://github.com/kealiu/ComfyUI-S3-Tools": [ @@ -17957,6 +21009,19 @@ "title_aux": "ComfyUI-ZeroShot-MTrans" } ], + "https://github.com/keit0728/ComfyUI-Image-Toolkit": [ + [ + "AntialiasingImage", + "BinarizeImage", + "BinarizeImageUsingOtsu", + "BrightnessTransparency", + "GrayscaleImage", + "RemoveWhiteBackgroundNoise" + ], + { + "title_aux": "ComfyUI-Image-Toolkit" + } + ], "https://github.com/kenjiqq/qq-nodes-comfyui": [ [ "Any List", @@ -17975,6 +21040,17 @@ "title_aux": "qq-nodes-comfyui" } ], + "https://github.com/kevinmcmahondev/comfyui-kmcdev-image-filter-adjustments": [ + [ + "ImageBlankAlpha", + "ImageBlendMask", + "ImageFilterAdjustments", + "ImageMixColorByMask" + ], + { + "title_aux": "KMCDev Nodes" + } + ], "https://github.com/kevinmcmahondev/comfyui-skin-tone-detector": [ [ "SkinToneDetector" @@ -18061,6 +21137,7 @@ "CogVideoXFasterCache", "CogVideoXFunResizeToClosestBucket", "CogVideoXModelLoader", + "CogVideoXTeaCache", "CogVideoXTorchCompileSettings", "CogVideoXVAELoader", "DownloadAndLoadCogVideoControlNet", @@ -18175,15 +21252,24 @@ "FluxTrainSaveModel", "FluxTrainValidate", "FluxTrainValidationSettings", + "FluxTrainerLossConfig", "InitFluxLoRATraining", "InitFluxTraining", + "InitSD3LoRATraining", + "InitSDXLLoRATraining", "OptimizerConfig", "OptimizerConfigAdafactor", "OptimizerConfigProdigy", "OptimizerConfigProdigyPlusScheduleFree", + "SD3ModelSelect", + "SD3TrainValidationSettings", + "SDXLModelSelect", + "SDXLTrainValidate", + "SDXLTrainValidationSettings", "TrainDatasetAdd", "TrainDatasetGeneralConfig", "TrainDatasetRegularization", + "TrainNetworkConfig", "UploadToHuggingFace", "VisualizeLoss" ], @@ -18209,6 +21295,15 @@ "title_aux": "Geowizard depth and normal estimation in ComfyUI" } ], + "https://github.com/kijai/ComfyUI-HFRemoteVae": [ + [ + "HFRemoteVAE", + "HFRemoteVAEDecode" + ], + { + "title_aux": "ComfyUI-HFRemoteVae" + } + ], "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": [ [ "DownloadAndLoadHyVideoTextEncoder", @@ -18219,7 +21314,10 @@ "HyVideoDecode", "HyVideoEmptyTextEmbeds", "HyVideoEncode", + "HyVideoEncodeKeyframes", "HyVideoEnhanceAVideo", + "HyVideoGetClosestBucketSize", + "HyVideoI2VEncode", "HyVideoInverseSampler", "HyVideoLatentPreview", "HyVideoLoraBlockEdit", @@ -18230,6 +21328,7 @@ "HyVideoSTG", "HyVideoSampler", "HyVideoTeaCache", + "HyVideoTextEmbedBridge", "HyVideoTextEmbedsLoad", "HyVideoTextEmbedsSave", "HyVideoTextEncode", @@ -18260,6 +21359,8 @@ "AddLabel", "AppendInstanceDiffusionTracking", "AppendStringsToList", + "ApplyRifleXRoPE_HunuyanVideo", + "ApplyRifleXRoPE_WanVideo", "AudioConcatenate", "BOOLConstant", "BatchCLIPSeg", @@ -18298,6 +21399,7 @@ "CrossFadeImagesMulti", "CustomControlNetWeightsFluxFromList", "CustomSigmas", + "CutAndDragOnPath", "DifferentialDiffusionAdvanced", "DiffusionModelLoaderKJ", "DownloadAndLoadCLIPSeg", @@ -18318,10 +21420,13 @@ "GetImageRangeFromBatch", "GetImageSizeAndCount", "GetImagesFromBatchIndexed", + "GetLatentRangeFromBatch", "GetLatentsFromBatchIndexed", "GetMaskSizeAndCount", "GradientToFloat", "GrowMaskWithBlur", + "HunyuanVideoBlockLoraSelect", + "HunyuanVideoEncodeKeyframesToCond", "INTConstant", "ImageAddMulti", "ImageAndMaskPreview", @@ -18331,26 +21436,34 @@ "ImageConcanate", "ImageConcatFromBatch", "ImageConcatMulti", + "ImageCropByMask", "ImageCropByMaskAndResize", + "ImageCropByMaskBatch", "ImageGrabPIL", "ImageGridComposite2x2", "ImageGridComposite3x3", "ImageGridtoBatch", + "ImageNoiseAugmentation", "ImageNormalize_Neg1_To_1", "ImagePadForOutpaintMasked", "ImagePadForOutpaintTargetSize", + "ImagePadKJ", "ImagePass", + "ImagePrepForICLora", "ImageResizeKJ", + "ImageTensorList", "ImageTransformByNormalizedAmplitude", "ImageUncropByMask", "ImageUpscaleWithModelBatched", "InjectNoiseToLatent", "InsertImageBatchByIndexes", "InsertImagesToBatchIndexed", + "InsertLatentToIndexed", "InterpolateCoords", "Intrinsic_lora_sampling", "JoinStringMulti", "JoinStrings", + "LeapfusionHunyuanI2VPatcher", "LoadAndResizeImage", "LoadImagesFromFolderKJ", "LoadResAdapterNormalization", @@ -18377,11 +21490,15 @@ "SV3D_BatchSchedule", "SaveImageKJ", "SaveImageWithAlpha", + "SaveStringKJ", "ScaleBatchPromptSchedule", + "ScheduledCFGGuidance", "Screencap_mss", + "SeparateMasks", "SetShakkerLabsUnionControlNetType", "ShuffleImageBatch", "SigmasToFloat", + "SkipLayerGuidanceWanVideo", "Sleep", "SomethingToString", "SoundReactive", @@ -18392,15 +21509,23 @@ "StableZero123_BatchSchedule", "StringConstant", "StringConstantMultiline", + "StringToFloatList", "StyleModelApplyAdvanced", "Superprompt", + "TimerNodeKJ", "TorchCompileControlNet", + "TorchCompileCosmosModel", "TorchCompileLTXModel", "TorchCompileModelFluxAdvanced", + "TorchCompileModelHyVideo", + "TorchCompileModelWanVideo", "TorchCompileVAE", "TransitionImagesInBatch", "TransitionImagesMulti", + "VAELoaderKJ", "VRAM_Debug", + "WanVideoEnhanceAVideoKJ", + "WanVideoTeaCacheKJ", "WebcamCaptureCV2", "WeightScheduleConvert", "WeightScheduleExtend", @@ -18576,6 +21701,16 @@ "title_aux": "ComfyUI-SUPIR" } ], + "https://github.com/kijai/ComfyUI-StableXWrapper": [ + [ + "DifferenceExtractorNode", + "DownloadAndLoadStableXModel", + "StableXProcessImage" + ], + { + "title_aux": "ComfyUI-StableXWrapper" + } + ], "https://github.com/kijai/ComfyUI-depth-fm": [ [ "Depth_fm" @@ -18662,8 +21797,32 @@ ], "https://github.com/kk8bit/KayTool": [ [ + "AB_Images", + "AIO_Translater", + "Abc_Math", + "Baidu_Translater", "Color_Adjustment", - "Custom_Save_Image" + "Custom_Save_Image", + "Display_Any", + "Image_Composer", + "Image_Cropper", + "Image_Resizer", + "Image_Size_Extractor", + "Kay_BiRefNet_Loader", + "Load_Image_Folder", + "Mask_Blur_Plus", + "Mask_Filler", + "Preview_Mask", + "Preview_Mask_Plus", + "RemBG_Loader", + "Remove_BG", + "Slider_10", + "Slider_100", + "Slider_1000", + "Strong_Prompt", + "Tencent_Translater", + "Text", + "To_Int" ], { "title_aux": "KayTool" @@ -18673,8 +21832,12 @@ [ "AspectSelector", "FolderLoader", + "Json Extractor - klinter", "LoadImagePlus", + "LoadVideoForExtendingKlinter", "OutpaintPadding", + "PrepVideoForExtendKlinter", + "SaveAudioPlus", "SizeSelector", "SpeedRamp", "YellowBus", @@ -18776,6 +21939,15 @@ "title_aux": "comfyui-jk-easy-nodes" } ], + "https://github.com/kukuo6666/ComfyUI-Equirect": [ + [ + "CubemapToEquirect", + "EquirectToCubemap" + ], + { + "title_aux": "ComfyUI Equirectangular Tools" + } + ], "https://github.com/kunieone/ComfyUI_alkaid": [ [ "A_EmptyLatentImageLongside", @@ -18815,13 +21987,17 @@ "title_aux": "Kw_Json_Lora_CivitAIDownloader" } ], - "https://github.com/l1yongch1/ComfyUI_PhiCaption": [ + "https://github.com/l-comm/WatermarkRemoval": [ [ - "PhiInfer", - "PhiModelLoder" + "FindWatermarkNode", + "RemoveWatermarkNode" ], { - "title_aux": "ComfyUI_PhiCaption" + "author": "l-comm", + "description": "Remove watermark", + "nickname": "Watermark Removal", + "title": "Watermark Removal", + "title_aux": "WatermarkRemoval" } ], "https://github.com/l20richo/ComfyUI-Azure-Blob-Storage": [ @@ -18951,6 +22127,34 @@ "title_aux": "Google Photos Loader - by PabloGFX" } ], + "https://github.com/leeguandong/ComfyUI_1Prompt1Story": [ + [ + "GenerateStoryImage", + "PromptStoryModelLoader" + ], + { + "title_aux": "ComfyUI_1Prompt1Story" + } + ], + "https://github.com/leeguandong/ComfyUI_ChatGen": [ + [ + "ChatGenGenerate", + "ChatGenImageProcessor", + "ChatGenModelLoader" + ], + { + "title_aux": "ComfyUI_ChatGen" + } + ], + "https://github.com/leeguandong/ComfyUI_Cogview4": [ + [ + "CogView4ImageGenerator", + "CogView4ModelLoader" + ], + { + "title_aux": "ComfyUI_Cogview4" + } + ], "https://github.com/leeguandong/ComfyUI_CompareModelWeights": [ [ "CheckPointLoader_Compare", @@ -18974,6 +22178,33 @@ "title_aux": "ComfyUI nodes to use CrossImageAttention" } ], + "https://github.com/leeguandong/ComfyUI_DeepSeekVL2": [ + [ + "deepseek_vl2_inference", + "deepseek_vl2_model_loader" + ], + { + "title_aux": "ComfyUI_DeepSeekVL2" + } + ], + "https://github.com/leeguandong/ComfyUI_FluxAttentionMask": [ + [ + "AMModelLoader", + "AMSample", + "AttentionMask" + ], + { + "title_aux": "ComfyUI nodes to use AttentionMask" + } + ], + "https://github.com/leeguandong/ComfyUI_FluxClipWeight": [ + [ + "CLIPTextEncodeFluxWeight" + ], + { + "title_aux": "ComfyUI nodes to use FluxClipWeight" + } + ], "https://github.com/leeguandong/ComfyUI_FluxCustomId": [ [ "ApplyCustomIDFlux", @@ -18983,6 +22214,25 @@ "title_aux": "ComfyUI_FluxCustomId" } ], + "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse": [ + [ + "FluxTransparentI2I", + "FluxTransparentModelLoader", + "FluxTransparentT2I" + ], + { + "title_aux": "ComfyUI_FluxLayerDiffuse" + } + ], + "https://github.com/leeguandong/ComfyUI_Gemma3": [ + [ + "ApplyGemma3", + "Gemma3ModelLoader" + ], + { + "title_aux": "ComfyUI_Gemma3" + } + ], "https://github.com/leeguandong/ComfyUI_InternVL2": [ [ "DynamicPreprocess", @@ -19027,6 +22277,15 @@ "title_aux": "ComfyUI nodes to use MasaCtrl" } ], + "https://github.com/leeguandong/ComfyUI_QWQ32B": [ + [ + "QwQModelLoader", + "QwQTextGenerator" + ], + { + "title_aux": "ComfyUI_QWQ32B" + } + ], "https://github.com/leeguandong/ComfyUI_Style_Aligned": [ [ "SAControlnet_ModelLoader", @@ -19072,6 +22331,7 @@ [ "AddPaddingToImage", "ForLoopNode", + "ImageAndTextDescriptionBySeed", "ImageMetadataExtractor", "InputNode", "MetadataExtractBySeed", @@ -19112,6 +22372,14 @@ "title_aux": "ComfyUI-PC-ding-dong" } ], + "https://github.com/lgldlk/ComfyUI-PSD-Replace": [ + [ + "psd replace" + ], + { + "title_aux": "ComfyUI-PSD-Replace" + } + ], "https://github.com/liangt/comfyui-loadimagewithsubfolder": [ [ "LoadImageWithSubfolder" @@ -19132,8 +22400,10 @@ "Glow", "InOutPaint", "LenDistortion", + "OutlineExpansion", "PixelOE", "Pixelize", + "PreResize", "SaveImageWithCustomExif", "Sketch", "TiltShift" @@ -19150,6 +22420,14 @@ "title_aux": "ComfyUI-TCD-Sampler" } ], + "https://github.com/lingha0h/comfyui_kj": [ + [ + "cpm_textInput" + ], + { + "title_aux": "comfyui_kj" + } + ], "https://github.com/linshier/comfyui-remote-tools": [ [ "LoadBase64(js)", @@ -19179,6 +22457,44 @@ "title_aux": "ComfyUI-Image-Compressor" } ], + "https://github.com/liuqianhonga/ComfyUI-QHNodes": [ + [ + "BatchImageCompressor", + "CameraWatermark", + "DownloadCheckpoint", + "DownloadControlNet", + "DownloadLora", + "DownloadUNET", + "DownloadVAE", + "DynamicExpression", + "FileSave", + "Gemini", + "ImageCompressor", + "ImageCountFromFolder", + "JsonToCSV", + "JsonUnpack", + "LoadImageFromFolder", + "LoadLoraFromFolder", + "LoadPromptsFromFolder", + "PresetSizeLatent", + "SamplerSettings", + "ShowTranslateString", + "StringConverter", + "StringFormatter", + "StringList", + "StringListFromCSV", + "StringListToCSV", + "StringMatcher", + "StringTranslate", + "TemplateToImage", + "TimeFormatter", + "UnifiedPromptGenerator", + "WebpageScreenshot" + ], + { + "title_aux": "ComfyUI-QHNodes" + } + ], "https://github.com/liuqianhonga/ComfyUI-String-Helper": [ [ "JsonToCSV", @@ -19295,6 +22611,18 @@ "title_aux": "ComfyUI AnyNode: Any Node you ask for" } ], + "https://github.com/lldacing/ComfyUI_BEN_ll": [ + [ + "BlurFusionForegroundEstimation", + "GetMaskByBen", + "LoadRembgByBenModel", + "RembgByBen", + "RembgByBenAdvanced" + ], + { + "title_aux": "ComfyUI_BEN_ll" + } + ], "https://github.com/lldacing/ComfyUI_BiRefNet_ll": [ [ "AutoDownloadBiRefNetModel", @@ -19308,6 +22636,34 @@ "title_aux": "ComfyUI_BiRefNet_ll" } ], + "https://github.com/lldacing/ComfyUI_Patches_ll": [ + [ + "ApplyFirstBlockCachePatch", + "ApplyFirstBlockCachePatchAdvanced", + "ApplyTeaCachePatch", + "ApplyTeaCachePatchAdvanced", + "DitForwardOverrider", + "FluxForwardOverrider", + "VideoForwardOverrider" + ], + { + "title_aux": "ComfyUI_Patches_ll" + } + ], + "https://github.com/lldacing/ComfyUI_PuLID_Flux_ll": [ + [ + "ApplyPulidFlux", + "FixPulidFluxPatch", + "PulidFluxEvaClipLoader", + "PulidFluxFaceDetector", + "PulidFluxInsightFaceLoader", + "PulidFluxModelLoader", + "PulidFluxOptions" + ], + { + "title_aux": "ComfyUI_PuLID_Flux_ll" + } + ], "https://github.com/lldacing/ComfyUI_StableDelight_ll": [ [ "ApplyStableDelight", @@ -19347,6 +22703,7 @@ "ForEachOpen", "GetImageBatchSize", "GetValueFromJsonObj", + "IfElseForEmptyObject", "ImageEqual", "ImageToBase64", "ImageToBase64Advanced", @@ -19410,18 +22767,6 @@ "title_aux": "Comfyui_three_js" } ], - "https://github.com/lodestone-rock/ComfyUI_FluxMod": [ - [ - "FluxModCheckpointLoader", - "FluxModCheckpointLoaderMini", - "FluxModSamplerWrapper", - "KSamplerMod", - "SkipLayerForward" - ], - { - "title_aux": "ComfyUI_FluxMod" - } - ], "https://github.com/logtd/ComfyUI-4DHumans": [ [ "LoadDetectron", @@ -19518,27 +22863,6 @@ "title_aux": "ComfyUI-InversedNoise" } ], - "https://github.com/logtd/ComfyUI-LTXTricks": [ - [ - "AddLatentGuide", - "LTXAttentioOverride", - "LTXAttentionBank", - "LTXAttnOverride", - "LTXFetaEnhance", - "LTXFlowEditCFGGuider", - "LTXFlowEditSampler", - "LTXForwardModelSamplingPred", - "LTXPerturbedAttention", - "LTXPrepareAttnInjections", - "LTXRFForwardODESampler", - "LTXRFReverseODESampler", - "LTXReverseModelSamplingPred", - "ModifyLTXModel" - ], - { - "title_aux": "ComfyUI-LTXTricks" - } - ], "https://github.com/logtd/ComfyUI-MochiEdit": [ [ "MochiPrepareSigmas", @@ -19661,6 +22985,7 @@ "Enhanced Random Light Source", "Float Relay", "HLFrequencyDetailRestore", + "Hex to Color", "Image Add Alpha", "Image Frequency Analyzer", "Image Relay", @@ -19803,6 +23128,14 @@ "title_aux": "Comfyui Kolors Utils" } ], + "https://github.com/lrzjason/Comfyui-ThinkRemover": [ + [ + "ThinkRemover" + ], + { + "title_aux": "Comfyui-ThinkRemover" + } + ], "https://github.com/ltdrdata/ComfyUI-Impact-Pack": [ [ "AddMask", @@ -19903,9 +23236,11 @@ "ImpactRemoteInt", "ImpactSEGSClassify", "ImpactSEGSConcat", + "ImpactSEGSIntersectionFilter", "ImpactSEGSLabelAssign", "ImpactSEGSLabelFilter", "ImpactSEGSMerge", + "ImpactSEGSNMSFilter", "ImpactSEGSOrderedFilter", "ImpactSEGSPicker", "ImpactSEGSRangeFilter", @@ -20076,6 +23411,7 @@ "LeRes_DepthMap_Preprocessor_Provider_for_SEGS //Inspire", "LineArt_Preprocessor_Provider_for_SEGS //Inspire", "ListCounter //Inspire", + "LoadDiffusionModelShared //Inspire", "LoadImage //Inspire", "LoadImageListFromDir //Inspire", "LoadImagesFromDir //Inspire", @@ -20083,6 +23419,7 @@ "LoadPromptsFromDir //Inspire", "LoadPromptsFromFile //Inspire", "LoadSinglePromptFromFile //Inspire", + "LoadTextEncoderShared //Inspire", "LoraBlockInfo //Inspire", "LoraLoaderBlockWeight //Inspire", "MakeBasicPipe //Inspire", @@ -20140,16 +23477,41 @@ "title_aux": "ComfyUI Inspire Pack" } ], + "https://github.com/ltdrdata/comfyui-connection-helper": [ + [], + { + "author": "Dr.Lt.Data", + "description": "Helper", + "nickname": "Connection Helper", + "nodename_pattern": "Inspire$", + "title": "ComfyUI Connection Helper", + "title_aux": "ComfyUI Connection Helper" + } + ], + "https://github.com/lthero-big/ComfyUI-GaussianShadingWatermark": [ + [ + "DPR_Extractor", + "DPR_GS_Latent", + "DPR_KSamplerAdvanced", + "DPR_Latent" + ], + { + "title_aux": "ComfyUI-GaussianShadingWatermark" + } + ], "https://github.com/luandev/ComfyUI-CrewAI": [ [ + "DisplayText", "\ud83d\udcceCrewAI Agent", "\ud83d\udcceCrewAI Agent List", "\ud83d\udcceCrewAI Crew", "\ud83d\udcceCrewAI LLM Chat GPT", "\ud83d\udcceCrewAI LLM Hugging Face", + "\ud83d\udcceCrewAI LLM Ollama", "\ud83d\udcceCrewAI LLM OpenAI", "\ud83d\udcceCrewAI Task", - "\ud83d\udcceCrewAI Task List" + "\ud83d\udcceCrewAI Task List", + "\ud83d\udcceCrewAI Text" ], { "title_aux": "ComfyUI CrewAI" @@ -20264,6 +23626,19 @@ "title_aux": "ComfyUI-CatvtonFluxWrapper" } ], + "https://github.com/lum3on/comfyui_LLM_Polymath": [ + [ + "ConceptEraserNode", + "polymath_SaveAbsolute", + "polymath_chat", + "polymath_concept_eraser", + "polymath_helper", + "polymath_scraper" + ], + { + "title_aux": "LLM Polymath Chat Node" + } + ], "https://github.com/lumalabs/ComfyUI-LumaAI-API": [ [ "CharacterReference", @@ -20277,6 +23652,7 @@ "LumaModifyImage", "LumaPreviewVideo", "LumaText2Video", + "Ray2Text2Video", "Reference" ], { @@ -20285,8 +23661,10 @@ ], "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": [ [ - "Custom Date Format | sokes \ud83e\uddac", - "Latent Switch x9 | sokes \ud83e\uddac" + "Current Date | sokes \ud83e\uddac", + "Latent Switch x9 | sokes \ud83e\uddac", + "Load Random Image | sokes \ud83e\uddac", + "Replace Text with RegEx | sokes \ud83e\uddac" ], { "title_aux": "ComfyUI Sokes Nodes" @@ -20308,6 +23686,14 @@ "title_aux": "Diffusers-in-ComfyUI" } ], + "https://github.com/magekinnarus/ComfyUI-V-Prediction-Node": [ + [ + "AddParam" + ], + { + "title_aux": "ComfyUI-V-Prediction-Node" + } + ], "https://github.com/magic-quill/ComfyUI_MagicQuill": [ [ "MagicQuill" @@ -20320,6 +23706,35 @@ "title_aux": "ComfyUI_MagicQuill" } ], + "https://github.com/mang01010/MangoNodePack": [ + [ + "CompositeMangoLoader", + "FluxGuidanceMango", + "FluxSamplerMango", + "ImageSaverMango", + "KSamplerMango", + "LatentImageMango", + "MangoLoader", + "MangoTriggerExporter", + "PromptEmbedMango", + "PromptMango" + ], + { + "title_aux": "Mango Node Pack" + } + ], + "https://github.com/mango-rgb/ComfyUI-Mango-Random-node": [ + [ + "RandomFilePathNode", + "RandomImageNode", + "RandomImagePathNode", + "RandomTextNode", + "RandomVideoPathNode" + ], + { + "title_aux": "ComfyUI-Mango-Random" + } + ], "https://github.com/mape/ComfyUI-mape-Helpers": [ [ "mape Variable" @@ -20340,6 +23755,14 @@ "title_aux": "ComfyUI-SubjectStyle-CSV" } ], + "https://github.com/marawan206/ComfyUI-FaceCropper": [ + [ + "NodoFaceCropping" + ], + { + "title_aux": "Face Cropper Node (2:3 Ratio)" + } + ], "https://github.com/marcoc2/ComfyUI-AnotherUtils": [ [ "CustomCrop", @@ -20352,6 +23775,14 @@ "title_aux": "Image Processing Suite for ComfyUI" } ], + "https://github.com/marcoc2/ComfyUI_CogView4-6B_diffusers": [ + [ + "CogView4Generator" + ], + { + "title_aux": "ComfyUI-Cog" + } + ], "https://github.com/marduk191/ComfyUI-Fluxpromptenhancer": [ [ "FluxPromptEnhance" @@ -20394,6 +23825,24 @@ "title_aux": "ComfyUI Flux Prompt Saver" } ], + "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot": [ + [ + "VideoXYPlotSampler" + ], + { + "title_aux": "Video XY Plot" + } + ], + "https://github.com/markuryy/ComfyUI-SuperLoader": [ + [ + "Display String", + "Display String Multiline", + "LoRA Metadata" + ], + { + "title_aux": "Super Loader" + } + ], "https://github.com/martijnat/comfyui-previewlatent": [ [ "PreviewLatent", @@ -20481,6 +23930,24 @@ "title_aux": "Dynamic Thresholding" } ], + "https://github.com/meanin2/comfyui-MGnodes": [ + [ + "ImageWatermarkNode", + "TextExtractorNode" + ], + { + "title_aux": "ComfyUI Image Watermarking Node" + } + ], + "https://github.com/meanin2/comfyui-watermarking": [ + [ + "ImageWatermarkNode", + "TextExtractorNode" + ], + { + "title_aux": "ComfyUI Watermark Image Node" + } + ], "https://github.com/meap158/ComfyUI-Background-Replacement": [ [ "BackgroundReplacement", @@ -20515,6 +23982,24 @@ "title_aux": "ComfyUI Checkpoint Automatic Config" } ], + "https://github.com/mediocreatmybest/ComfyUI-Transformers-Pipeline": [ + [ + "BatchProcessorTpl", + "CaptionExportTpl", + "CaptionGeneratorTpl", + "DebugModelNodeTpl", + "DebugNodeTpl", + "ExifMetadataExtractorTpl", + "Florence2NodeTpl", + "ImageLoaderTpl", + "ModelLoaderTpl", + "PresetModelListTpl", + "TaskListTpl" + ], + { + "title_aux": "ComfyUI-Transformers-Pipeline" + } + ], "https://github.com/melMass/comfy_mtb": [ [ "Animation Builder (mtb)", @@ -20583,6 +24068,16 @@ "title_aux": "MTB Nodes" } ], + "https://github.com/melMass/comfy_oiio": [ + [ + "OIIO_ColorspaceConvert", + "OIIO_LoadImage", + "OIIO_SaveImage" + ], + { + "title_aux": "comfy-oiio" + } + ], "https://github.com/mephisto83/petty-paint-comfyui-node": [ [ "ConvertWhiteToAlpha", @@ -20679,6 +24174,15 @@ "title_aux": "Human Parts Detector" } ], + "https://github.com/metal3d/ComfyUI_M3D_photo_effects": [ + [ + "Bleach Bypass", + "RGB Curve" + ], + { + "title_aux": "M3D photo effects" + } + ], "https://github.com/metncelik/comfyui_met_suite": [ [ "BBOXPadding", @@ -20693,7 +24197,6 @@ ], "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext": [ [ - "Add zSNR Sigma max", "ConcatSigmas", "CosineScheduler", "GaussianScheduler", @@ -20701,7 +24204,8 @@ "LogNormal Scheduler", "OffsetSigmas", "PerpNegScheduledCFGGuider", - "ScheduledCFGGuider" + "ScheduledCFGGuider", + "SplitSigmasByValue" ], { "title_aux": "ComfyUI-ScheduledGuider-Ext" @@ -20860,7 +24364,7 @@ "SingleBooleanTrigger", "SixBooleanTrigger", "StepsAndCfg", - "TextBox", + "TextBoxMira", "TextCombinerSix", "TextCombinerTwo", "TextLoopCombiner", @@ -20870,7 +24374,11 @@ "TextWithBooleanSwitchAndCommonTextInput", "TwoBooleanTrigger", "TwoFloats", - "UpscaleImageByModelThenResize" + "UpscaleImageByModelThenResize", + "illustrious_character_select", + "illustrious_character_select_en", + "llm_prompt_gen_node", + "local_llm_prompt_gen" ], { "title_aux": "ComfyUI_Mira" @@ -20894,30 +24402,15 @@ "title_aux": "MLTask_ComfyUI" } ], - "https://github.com/mithamunda/ComfyUI-SD3.5-Latent-Size-Picker": [ + "https://github.com/mit-han-lab/ComfyUI-nunchaku": [ [ - "SD3_5EmptyLatent" + "SVDQuantDepthPreprocessor", + "SVDQuantFluxDiTLoader", + "SVDQuantFluxLoraLoader", + "SVDQuantTextEncoderLoader" ], { - "title_aux": "SD3.5 Empty Latent Size Picker" - } - ], - "https://github.com/mithamunda/ComfyUI-TogetherVision": [ - [ - "Together Image \ud83c\udfa8", - "Together Vision \ud83d\udd0d", - "TogetherVisionNode" - ], - { - "title_aux": "Together Vision Node" - } - ], - "https://github.com/mithamunda/ComfyUI-ollama_killer": [ - [ - "OllamaKiller" - ], - { - "title_aux": "OllamaKiller Node for ComfyUI" + "title_aux": "ComfyUI-nunchaku" } ], "https://github.com/mittimi/ComfyUI_mittimiLoadPreset2": [ @@ -20977,6 +24470,23 @@ "title_aux": "Preset Dimensions" } ], + "https://github.com/mohseni-mr/ComfyUI-Mohseni-Kit": [ + [ + "FloatPreview" + ], + { + "title_aux": "ComfyUI Mohseni Kit" + } + ], + "https://github.com/moon7star9/ComfyUI_BiRefNet_Universal": [ + [ + "BiRefNet_Loader", + "BiRefNet_Remove_Background" + ], + { + "title_aux": "ComfyUI_BiRefNet_Universal" + } + ], "https://github.com/morino-kumasan/comfyui-toml-prompt": [ [ "IntSelector", @@ -21014,6 +24524,16 @@ "title_aux": "ComfyUI_Seamless_Patten" } ], + "https://github.com/mr7thing/circle_pattern_processor": [ + [ + "CirclePatternProcessor", + "CirclePatternSVGExporter", + "ImageBinarizer" + ], + { + "title_aux": "Circle Pattern Processor for ComfyUI" + } + ], "https://github.com/mrchipset/ComfyUI-SaveImageS3": [ [ "SaveImageS3" @@ -21331,8 +24851,10 @@ ], "https://github.com/neverbiasu/ComfyUI-Dashscope": [ [ + "DashscopeEmoCaller", "DashscopeLLMLoader", "DashscopeModelCaller", + "DashscopeOCRCaller", "DashscopeVLMLoader" ], { @@ -21367,6 +24889,14 @@ "title_aux": "ComfyUI-StyleShot" } ], + "https://github.com/ngosset/ComfyUI-ImageSimilarity": [ + [ + "Image Similarity" + ], + { + "title_aux": "ImageSimilarity" + } + ], "https://github.com/nicehero/comfyui-SegGPT": [ [ "SegGPT" @@ -21398,11 +24928,20 @@ "F5TTSAudioInputs" ], { - "title_aux": "ComfyUI-F5-TTS" + "title_aux": "ComfyUI F5-TTS" + } + ], + "https://github.com/niknah/ComfyUI-Hunyuan-3D-2": [ + [ + "Hunyuan3D2ImageTo3D" + ], + { + "title_aux": "ComfyUI Hunyuan-3D-2" } ], "https://github.com/nilor-corp/nilor-nodes": [ [ + "Nilor Categorize String", "Nilor Count Images In Directory", "Nilor Int To List Of Bools", "Nilor Interpolated Float List", @@ -21410,6 +24949,7 @@ "Nilor List of Ints", "Nilor One Minus Float List", "Nilor Output Filename String", + "Nilor Random String", "Nilor Remap Float List", "Nilor Repeat & Trim Image Batch", "Nilor Repeat, Shuffle, & Trim Image Batch", @@ -21452,6 +24992,23 @@ "title_aux": "ComfyUI_pytorch_openpose" } ], + "https://github.com/nisimjoseph/ComfyUI_OpenAI-Prompter": [ + [ + "OpenAI Prompt Generator" + ], + { + "title_aux": "ComfyUI OpenAI Prompter" + } + ], + "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz": [ + [ + "DanbooruPromptComparison", + "DanbooruPromptQuiz" + ], + { + "title_aux": "ComfyUI-DanbooruPromptQuiz" + } + ], "https://github.com/nkchocoai/ComfyUI-Dart": [ [ "DanbooruTagsTransformerBanTagsFromRegex", @@ -21529,23 +25086,6 @@ "title_aux": "ComfyUI-TextOnSegs" } ], - "https://github.com/nmlen/comfyui-mosaic-blur": [ - [ - "ImageMosaic" - ], - { - "title_aux": "comfyui-mosaic-blur" - } - ], - "https://github.com/noarche/sd-webui-color-enhance": [ - [ - "MMakerColorBlend", - "MMakerColorEnhance" - ], - { - "title_aux": "noarche/Color Enhance" - } - ], "https://github.com/noembryo/ComfyUI-noEmbryo": [ [ "PromptTermList1", @@ -21563,24 +25103,60 @@ "title_aux": "noEmbryo nodes" } ], + "https://github.com/nofunstudio/Node_Fun_ComfyUI": [ + [ + "DynamicQueueCounter", + "IframeView", + "IndexedStringSelector", + "LayeredInfiniteZoom", + "Replicate flux 1.1 pro ultra", + "ReplicateAPI_flux_1_1_pro_ultra", + "ReplicateAPI_flux_fill_pro" + ], + { + "title_aux": "Node_Fun_ComfyUI" + } + ], "https://github.com/nosiu/comfyui-instantId-faceswap": [ [ "AngleFromFace", + "AngleFromKps", "ComposeRotated", "ControlNetInstantIdApply", "FaceEmbed", "FaceEmbedCombine", "InstantIdAdapterApply", "InstantIdAndControlnetApply", + "Kps2dRandomizer", + "Kps3dFromImage", + "Kps3dRandomizer", + "KpsCrop", + "KpsDraw", "KpsMaker", + "KpsRotate", + "KpsScale", + "KpsScaleBy", "LoadInsightface", "LoadInstantIdAdapter", + "MaskFromKps", "PreprocessImage", "PreprocessImageAdvanced", "RotateImage" ], { - "title_aux": "ComfyUI InstantID Faceswapper" + "title_aux": "comfyui-instantId-faceswap" + } + ], + "https://github.com/nosiu/comfyui-text-randomizer": [ + [ + "ConcatText", + "RandomTextChoice", + "RandomizeText", + "RandomizeTextWithCheck", + "ShowText" + ], + { + "title_aux": "comfyui-text-randomizer" } ], "https://github.com/noxinias/ComfyUI_NoxinNodes": [ @@ -21709,6 +25285,7 @@ ], "https://github.com/olduvai-jp/ComfyUI-HfLoader": [ [ + "ControlNet Loader From HF", "Lora Loader From HF" ], { @@ -21796,6 +25373,22 @@ "title_aux": "Comfy UI Text List Product" } ], + "https://github.com/orange90/ComfyUI-Regex-Runner": [ + [ + "RegexNode" + ], + { + "title_aux": " ComfyUI-Regex-Runner" + } + ], + "https://github.com/orssorbit/ComfyUI-wanBlockswap": [ + [ + "wanBlockSwap" + ], + { + "title_aux": "ComfyUI-wanBlockswap" + } + ], "https://github.com/osi1880vr/prompt_quill_comfyui": [ [ "PromptQuillGenerate", @@ -21807,6 +25400,17 @@ "title_aux": "ComfyUI_Prompt-Quill" } ], + "https://github.com/ostris/ComfyUI-FlexTools": [ + [ + "FlexGuidance", + "FlexLoraLoader", + "FlexLoraLoaderModelOnly" + ], + { + "nodename_pattern": "- Ostris$", + "title_aux": "Flex.1 tools" + } + ], "https://github.com/ostris/ostris_nodes_comfyui": [ [ "LLM Pipe Loader - Ostris", @@ -21827,6 +25431,15 @@ "title_aux": "ComfyUI-ownimage" } ], + "https://github.com/oxysoft/ComfyUI-gowiththeflow": [ + [ + "KSamplerNoiseless", + "NoiseWarperNode" + ], + { + "title_aux": "ComfyUI-gowiththeflow" + } + ], "https://github.com/oyvindg/ComfyUI-TrollSuite": [ [ "BinaryImageMask", @@ -21871,6 +25484,7 @@ "ConditioningZeroOutCombine", "ConvertTimestepToSigma", "DynSamplerSelect", + "DynamicThresholdingPost", "DynamicThresholdingSimplePost", "EmptyLatentImageAR", "FreeU2PPM", @@ -21878,7 +25492,9 @@ "LatentOperationTonemapLuminance", "LatentToMaskBB", "LatentToWidthHeight", + "MaskCompositePPM", "PPMSamplerSelect", + "RenormCFGPost", "RescaleCFGPost" ], { @@ -21924,6 +25540,14 @@ "title_aux": "pants" } ], + "https://github.com/pathway8-sudo/ComfyUI-Pathway-CutPNG-Node": [ + [ + "CutPNGNode" + ], + { + "title_aux": "ComfyUI-Pathway-CutPNG-Node" + } + ], "https://github.com/patriciogonzalezvivo/comfyui_glslnodes": [ [ "float", @@ -21966,6 +25590,18 @@ "title_aux": "ComfyUI-LyraVSIH" } ], + "https://github.com/penposs/ComfyUI_Gemini_Pro": [ + [ + "Gemini File Processing", + "Gemini File Upload", + "Gemini Pro", + "Gemini-Pro-Chat", + "Gemini-Pro-Editimage" + ], + { + "title_aux": "ComfyUI Gemini Pro Node" + } + ], "https://github.com/pharmapsychotic/comfy-cliption": [ [ "CLIPtionBeamSearch", @@ -21985,6 +25621,14 @@ "title_aux": "Prompt Stash Saver Node for ComfyUI" } ], + "https://github.com/philiprodriguez/ComfyUI-HunyuanImageLatentToVideoLatent": [ + [ + "HunyuanImageLatentToVideoLatent" + ], + { + "title_aux": "ComfyUI-HunyuanImageLatentToVideoLatent" + } + ], "https://github.com/philz1337x/ComfyUI-ClarityAI": [ [ "Clarity AI Upscaler" @@ -22048,6 +25692,14 @@ "title_aux": "ComfyUI_PRNodes" } ], + "https://github.com/pixelworldai/ComfyUI-AlphaFlatten": [ + [ + "FlattenByAlpha" + ], + { + "title_aux": "ComfyUI-AlphaFlatten" + } + ], "https://github.com/pkpkTech/ComfyUI-SaveAVIF": [ [ "SaveAvif" @@ -22072,6 +25724,7 @@ "Depth Pass Sequence", "Mask Pass Sequence", "Outline Pass Sequence", + "Playbook Aspect Ratio Select", "Playbook Beauty", "Playbook Beauty Sequence", "Playbook Boolean", @@ -22079,12 +25732,15 @@ "Playbook Depth Sequence", "Playbook Float", "Playbook Image", + "Playbook LoRA Select", + "Playbook LoRA Selection", "Playbook Mask", "Playbook Mask Sequence", "Playbook Number", "Playbook Outline", "Playbook Outline Sequence", "Playbook Render Result", + "Playbook Seed", "Playbook Text", "Playbook Video" ], @@ -22107,9 +25763,19 @@ "title_aux": "CRT-Nodes" } ], + "https://github.com/pollockjj/ComfyUI-MultiGPU": [ + [ + "DeviceSelectorMultiGPU", + "HunyuanVideoEmbeddingsAdapter" + ], + { + "title_aux": "ComfyUI-MultiGPU" + } + ], "https://github.com/portu-sim/comfyui_bmab": [ [ "BMAB Alpha Composit", + "BMAB Base64 Image", "BMAB Basic", "BMAB Black And White", "BMAB Blend", @@ -22125,12 +25791,14 @@ "BMAB Detect And Paste", "BMAB Detection Crop", "BMAB Detector", + "BMAB Dummy", "BMAB Edge", "BMAB Extractor", "BMAB Face Detailer", "BMAB Flux ControlNet", "BMAB Flux Integrator", "BMAB Google Gemini Prompt", + "BMAB Image Storage", "BMAB Import Integrator", "BMAB Inpaint", "BMAB Integrator", @@ -22145,6 +25813,7 @@ "BMAB Masks To Images", "BMAB Model To Bind", "BMAB Noise Generator", + "BMAB Normalize Size", "BMAB Openpose Hand Detailer", "BMAB Outpaint By Ratio", "BMAB Person Detailer", @@ -22232,7 +25901,7 @@ "OverrideLoadedDiffusionDevice" ], { - "title_aux": "Embedding Merge for ComfyUI" + "title_aux": "ComfyUI-Load-Diffusion-Model-to-Muti-GPUs" } ], "https://github.com/purpen/ComfyUI-AIRedoon": [ @@ -22261,6 +25930,28 @@ "title_aux": "ComfyUI-ImageTagger" } ], + "https://github.com/pxl-pshr/GlitchNodes": [ + [ + "Corruptor", + "DataBend", + "FrequencyModulation", + "GlitchIT", + "LineScreen", + "LuminousFlow", + "PixelFloat", + "PixelRedistribution", + "Rekked", + "Scanz", + "TvGlitch", + "VHSonAcid", + "VaporWave", + "VideoModulation", + "interference" + ], + { + "title_aux": "GlitchNodes" + } + ], "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": [ [ "CheckpointLoader|pysssss", @@ -22307,6 +25998,32 @@ "title_aux": "queuetools" } ], + "https://github.com/r3dial/redial-discomphy": [ + [ + "DiscordMessage" + ], + { + "title_aux": "Redial Discomphy - Discord Integration for ComfyUI" + } + ], + "https://github.com/r3dsd/comfyui-template-loader": [ + [ + "TemplateLoader" + ], + { + "title_aux": "Comfyui-Template-Loader" + } + ], + "https://github.com/raindrop313/ComfyUI_SD3_Flowedit": [ + [ + "FlowEditCFGGuider", + "FlowEditSampler", + "OutSD3ModelSamplingPred" + ], + { + "title_aux": "ComfyUI_SD3_Flowedit" + } + ], "https://github.com/ramesh-x90/ComfyUI_pyannote": [ [ "Speaker Diarization", @@ -22442,10 +26159,13 @@ "https://github.com/recraft-ai/ComfyUI-RecraftAI": [ [ "RecraftBackgroundRemover", + "RecraftBackgroundReplacer", "RecraftClarityUpscaler", "RecraftClient", "RecraftGenerativeUpscaler", - "RecraftImageGenerator" + "RecraftImageGenerator", + "RecraftImageToImageTransformer", + "RecraftInpainter" ], { "title_aux": "ComfyUI-RecraftAI" @@ -22617,6 +26337,15 @@ "title_aux": "ComfyUI-Similarity-Score" } ], + "https://github.com/risunobushi/ComfyUI_DisplacementMapTools": [ + [ + "DisplaceLogo", + "ExtractDisplacementMap" + ], + { + "title_aux": "ComfyUI_DisplacementMapTools" + } + ], "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": [ [ "FrequencyCombination", @@ -22720,6 +26449,14 @@ "title_aux": "ComfyUIFlexiLoRALoader" } ], + "https://github.com/roundyyy/ComfyUI-mesh-simplifier": [ + [ + "MeshSimplifierNode" + ], + { + "title_aux": "Mesh Simplifier for ComfyUI" + } + ], "https://github.com/royceschultz/ComfyUI-Notifications": [ [ "Notif-PlaySound", @@ -22864,25 +26601,47 @@ "title_aux": "ComfyUI-EfficientTAM" } ], - "https://github.com/ryanontheinside/ComfyUI_RealTimeNodes": [ + "https://github.com/ryanontheinside/ComfyUI_ProfilerX": [ + [ + "CATEGORY", + "ExecutionTracker", + "FUNCTION", + "INPUT_TYPES", + "OUTPUT_NODE", + "ProfilerX", + "RETURN_TYPES" + ], + { + "title_aux": "ComfyUI_ProfilerX" + } + ], + "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes": [ [ "DTypeConverter", - "DeltaControl", "FPSMonitor", "FastWebcamCapture", "FloatControl", "FloatSequence", + "HandMaskNode", + "HandTrackingNode", "IntControl", "IntSequence", "IntegerMotionController", - "IntervalControl", + "LazyCondition", + "LoadImageFromPath_", "MotionController", + "MultilineText", "QuickShapeMask", "ROINode", + "RepulsiveMaskNode", + "ResizeMaskNode", + "SimilarityFilter", + "StateResetNode", + "StateTestNode", "StringControl", "StringSequence", - "TAESDVaeDecode", - "TAESDVaeEncode" + "TextRenderer", + "YOLOSimilarityCompare" ], { "title_aux": "Nodes for use with real-time applications of ComfyUI" @@ -22890,15 +26649,13 @@ ], "https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside": [ [ + "AdvancedLuminanceMask", "AreaFeatureNode", "AudioChannelMerge", "AudioChannelSplit", - "AudioCombine", - "AudioConcatenate", "AudioDither", "AudioFade", "AudioFeatureExtractor", - "AudioFeatureExtractorFirst", "AudioFeatureVisualizer", "AudioFilter", "AudioGain", @@ -22906,13 +26663,16 @@ "AudioPad", "AudioPitchShift", "AudioResample", - "AudioSeparator", "AudioSeparatorSimple", "AudioSubtract", "AudioTimeStretch", "AudioVolumeNormalization", + "Audio_Combine", + "Audio_Concatenate", "BrightnessFeatureNode", "ColorFeatureNode", + "Color_Picker", + "ContextModifier", "DepthBlender", "DepthFeatureNode", "DepthInjection", @@ -22920,9 +26680,10 @@ "DepthRippleEffect", "DepthShapeModifier", "DepthShapeModifierPrecise", - "Doom", + "Doom_", "DownloadCREPEModel", "DownloadOpenUnmixModel", + "DrawableFeatureNode", "DyeImage", "EffectVisualizer", "EmbeddingGuidedLatentInterpolate", @@ -22935,21 +26696,31 @@ "FeatureCombine", "FeatureContiguousInterpolate", "FeatureFade", + "FeatureInfoNode", + "FeatureInterpolator", "FeatureMath", "FeatureMixer", "FeatureOscillator", + "FeaturePeakDetector", "FeatureRebase", "FeatureRenormalize", "FeatureScaler", "FeatureSmoothing", + "FeatureToFlexFloatParam", + "FeatureToFlexIntParam", "FeatureToFloat", + "FeatureToLatentKeyframe", + "FeatureToMask", "FeatureToSplineData", + "FeatureToTimestepKeyframe", "FeatureToWeightsStrategy", "FeatureTruncateOrExtend", "FlexAudioPitchShift", "FlexAudioTimeStretch", "FlexAudioVisualizerCircular", + "FlexAudioVisualizerContour", "FlexAudioVisualizerLine", + "FlexFeatureAttentionControl", "FlexImageBloom", "FlexImageChromaticAberration", "FlexImageColorGrade", @@ -22986,6 +26757,7 @@ "FlexVideoFrameBlend", "FlexVideoSeek", "FlexVideoSpeed", + "FloatFeatureNode", "FrequencyFilterCustom", "FrequencyFilterPreset", "FrequencyRange", @@ -22996,7 +26768,7 @@ "ImageInterval", "ImageIntervalSelectPercentage", "ImageScaleToTarget", - "ImageShuffle", + "Image_Shuffle", "LatentFrequencyBlender", "LocationFromMask", "LocationFromPoint", @@ -23005,6 +26777,7 @@ "ManualFeatureFromPipe", "ManualFeatureNode", "ManualFeaturePipe", + "ManualWhisperAlignmentData", "MaskCompositePlus", "MaskMath", "MaskMorph", @@ -23038,8 +26811,14 @@ "SwapDevice", "TextMaskNode", "TimeFeatureNode", + "TranslucentComposite", + "TriggerBuilder", "VideoChunk", "Vortex", + "WhisperAutoAdjust", + "WhisperFeature", + "WhisperTextRenderer", + "WhisperTimeAdjuster", "WhisperToPromptTravel", "_mfc" ], @@ -23047,6 +26826,15 @@ "title_aux": "RyanOnTheInside" } ], + "https://github.com/ryanontheinside/ComfyUI_SuperResolution": [ + [ + "SuperResolutionModelLoader", + "SuperResolutionUpscale" + ], + { + "title_aux": "ComfyUI_SuperResolution" + } + ], "https://github.com/saftle/uber_comfy_nodes": [ [ "ControlNet Selector", @@ -23061,12 +26849,35 @@ ], "https://github.com/sakura1bgx/ComfyUI_FlipStreamViewer": [ [ - "FlipStreamLoader", - "FlipStreamOption", - "FlipStreamPrompt", + "FlipStreamBatchPrompt", + "FlipStreamFileSelect_AnimateDiffModel", + "FlipStreamFileSelect_Checkpoints", + "FlipStreamFileSelect_ControlNetModel", + "FlipStreamFileSelect_Input", + "FlipStreamFileSelect_Output", + "FlipStreamFileSelect_TensorRT", + "FlipStreamFileSelect_VAE", + "FlipStreamFilmVfi", + "FlipStreamGate", + "FlipStreamGetParam", + "FlipStreamGetPreviewRoi", + "FlipStreamImageSize", + "FlipStreamInputBox", + "FlipStreamPreviewBox", + "FlipStreamRembg", + "FlipStreamScreenGrabber", + "FlipStreamSection", + "FlipStreamSegMask", + "FlipStreamSelectBox_Samplers", + "FlipStreamSelectBox_Scheduler", + "FlipStreamSetParam", + "FlipStreamSlider", "FlipStreamSource", - "FlipStreamSwitchVFI", - "FlipStreamUpdate", + "FlipStreamSwitchImage", + "FlipStreamSwitchLatent", + "FlipStreamTextBox", + "FlipStreamTextReplace", + "FlipStreamVideoInput", "FlipStreamViewer" ], { @@ -23114,6 +26925,16 @@ ], "https://github.com/sebord/ComfyUI-LMCQ": [ [ + "LmcqAuthFluxDecryption", + "LmcqAuthFluxEncryption", + "LmcqAuthLoraDecryption", + "LmcqAuthLoraEncryption", + "LmcqAuthModelDecryption", + "LmcqAuthModelEncryption", + "LmcqAuthWorkflowDecryption", + "LmcqAuthWorkflowEncryption", + "LmcqDeepGen", + "LmcqDeepLoader", "LmcqGetMachineCode", "LmcqImageSaver", "LmcqImageSaverTransit", @@ -23155,12 +26976,23 @@ ], "https://github.com/sh570655308/ComfyUI-TopazVideoAI": [ [ + "TopazUpscaleParams", "TopazVideoAI" ], { "title_aux": "ComfyUI-TopazVideoAI" } ], + "https://github.com/shabri-arrahim/ComfyUI-Safety-Checker": [ + [ + "CompVisSafetyChecker", + "FalconsAISafetyChecker", + "loadImageBase64" + ], + { + "title_aux": "ComfyUI Safety Checker" + } + ], "https://github.com/shadowcz007/comfyui-Image-reward": [ [ "ImageBatchToList_", @@ -23325,16 +27157,52 @@ "https://github.com/shahkoorosh/ComfyUI-KGnodes": [ [ "CustomResolutionLatentNode", + "ImageScaleToSide", + "OverlayRGBAonRGB", "StyleSelector" ], { "author": "ShahKoorosh", - "description": "This Custom node offers various experimental nodes to make it easier to use ComfyUI.", + "description": "This Custom node pack offers various nodes to make it easier to use ComfyUI.", "nickname": "KGnodes", "title": "ComfyUI-KGnodes", "title_aux": "ComfyUI-KGnodes" } ], + "https://github.com/shahkoorosh/ComfyUI-PersianText": [ + [ + "PersianText" + ], + { + "author": "ShahKoorosh", + "description": "A powerful ComfyUI node for rendering text with advanced styling options, including full support for Persian/Farsi and Arabic scripts.", + "nickname": "PersianText", + "title": "ComfyUI-PersianText", + "title_aux": "ComfyUI-PersianText" + } + ], + "https://github.com/shenduldh/ComfyUI-Lightning": [ + [ + "ApplyFBCacheAndSkipBlocks", + "ApplyMBCacheAndSkipBlocks", + "ApplyMBCacheAndSkipBlocksForSana", + "ApplySageAttention", + "ApplySpargeAttn", + "ApplyTeaCacheAndSkipBlocks", + "ApplyToCa", + "ApplyTokenMerging", + "CompileAndQuantizeModel", + "SanaCLIPLoader", + "SanaDiffusionLoader", + "SanaEmptyLatentImage", + "SanaTextEncode", + "SanaVAELoader", + "SaveSpargeAttnHyperparams" + ], + { + "title_aux": "ComfyUI-Lightning" + } + ], "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": [ [ "DallERender", @@ -23418,8 +27286,8 @@ { "author": "shinich39", "description": "Extract metadata from image.", - "nickname": "parse-image", - "title": "parse-image", + "nickname": "comfyui-parse-image", + "title": "comfyui-parse-image", "title_aux": "comfyui-parse-image" } ], @@ -23430,8 +27298,8 @@ { "author": "shinich39", "description": "Load image from directory.", - "nickname": "put-image", - "title": "put-image", + "nickname": "comfyui-put-image", + "title": "comfyui-put-image", "title_aux": "comfyui-put-image" } ], @@ -23505,15 +27373,6 @@ "title_aux": "\u2601\ufe0fBizyAir Nodes" } ], - "https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders": [ - [ - "CheckpointLoaderNF4", - "UNETLoaderNF4" - ], - { - "title_aux": "Model and Checkpoint Loaders for NF4 and FP4" - } - ], "https://github.com/sipherxyz/comfyui-art-venture": [ [ "AV_AwsBedrockClaudeApi", @@ -23609,6 +27468,14 @@ "title_aux": "ComfyUI-PuLID-Flux-Enhanced" } ], + "https://github.com/sittere/ComfyUI-YK_Line-loading": [ + [ + "MultiTextLoader" + ], + { + "title_aux": "ComfyUI-YK Line loading" + } + ], "https://github.com/skfoo/ComfyUI-Coziness": [ [ "LoraTextExtractor-b1f83aa2", @@ -23618,6 +27485,19 @@ "title_aux": "ComfyUI-Coziness" } ], + "https://github.com/slvslvslv/ComfyUI-SmartHelperNodes": [ + [ + "SmartFormatString", + "SmartFormatString10", + "SmartHVLoraSelect", + "SmartHVLoraStack", + "SmartRemoveComments", + "SmartSaveText" + ], + { + "title_aux": "ComfyUI Smart Helper Nodes" + } + ], "https://github.com/slyt/comfyui-ollama-nodes": [ [ "BooleanToString", @@ -23650,6 +27530,14 @@ "title_aux": "ComfyUI-Flux-Replicate-API" } ], + "https://github.com/smlbiobot/sml-comfyui-prompt-expansion": [ + [ + "SML_Prompt_Generator" + ], + { + "title_aux": "sml-comfyui-prompt-expansion" + } + ], "https://github.com/smthemex/ComfyUI_AnyDoor": [ [ "AnyDoor_LoadModel", @@ -23659,6 +27547,15 @@ "title_aux": "ComfyUI_AnyDoor" } ], + "https://github.com/smthemex/ComfyUI_CSD_MT": [ + [ + "CSDMTLoader", + "CSDMTSampler" + ], + { + "title_aux": "ComfyUI_CSD_MT" + } + ], "https://github.com/smthemex/ComfyUI_CSGO_Wrapper": [ [ "Blip_Loader", @@ -23718,6 +27615,15 @@ "title_aux": "ComfyUI_Diffree" } ], + "https://github.com/smthemex/ComfyUI_DiffuEraser": [ + [ + "DiffuEraserLoader", + "DiffuEraserSampler" + ], + { + "title_aux": "ComfyUI_DiffuEraser" + } + ], "https://github.com/smthemex/ComfyUI_EchoMimic": [ [ "Echo_LoadModel", @@ -23796,6 +27702,25 @@ "title_aux": "ComfyUI_InstantIR_Wrapper" } ], + "https://github.com/smthemex/ComfyUI_KV_Edit": [ + [ + "KV_Edit_Load", + "KV_Edit_PreData", + "KV_Edit_Sampler" + ], + { + "title_aux": "ComfyUI_KV_Edit" + } + ], + "https://github.com/smthemex/ComfyUI_Light_A_Video": [ + [ + "Light_A_Video_Loader", + "Light_A_Video_Sampler" + ], + { + "title_aux": "ComfyUI_Light_A_Video" + } + ], "https://github.com/smthemex/ComfyUI_Llama3_8B": [ [ "ChatQA_1p5_8b", @@ -23817,6 +27742,15 @@ "title_aux": "ComfyUI_MS_Diffusion" } ], + "https://github.com/smthemex/ComfyUI_MangaNinjia": [ + [ + "MangaNinjiaLoader", + "MangaNinjiaSampler" + ], + { + "title_aux": "ComfyUI_MangaNinjia" + } + ], "https://github.com/smthemex/ComfyUI_MooER": [ [ "MooER_LoadModel", @@ -23853,6 +27787,15 @@ "title_aux": "ComfyUI_ParlerTTS" } ], + "https://github.com/smthemex/ComfyUI_PhotoDoodle": [ + [ + "PhotoDoodle_Loader", + "PhotoDoodle_Sampler" + ], + { + "title_aux": "ComfyUI_PhotoDoodle" + } + ], "https://github.com/smthemex/ComfyUI_Pic2Story": [ [ "Pic2Story_Loader", @@ -23880,6 +27823,16 @@ "title_aux": "ComfyUI_Pops" } ], + "https://github.com/smthemex/ComfyUI_SVFR": [ + [ + "SVFR_LoadModel", + "SVFR_Sampler", + "SVFR_img2mask" + ], + { + "title_aux": "ComfyUI_SVFR" + } + ], "https://github.com/smthemex/ComfyUI_Sapiens": [ [ "SapiensLoader", @@ -23889,6 +27842,16 @@ "title_aux": "ComfyUI_Sapiens" } ], + "https://github.com/smthemex/ComfyUI_Sonic": [ + [ + "SONICSampler", + "SONICTLoader", + "SONIC_PreData" + ], + { + "title_aux": "ComfyUI_Sonic" + } + ], "https://github.com/smthemex/ComfyUI_StableAudio_Open": [ [ "StableAudio_ModelLoader", @@ -23940,11 +27903,23 @@ "title_aux": "ComfyUI_TRELLIS" } ], + "https://github.com/smthemex/ComfyUI_YuE": [ + [ + "YUE_Stage_A_Loader", + "YUE_Stage_A_Sampler", + "YUE_Stage_B_Loader", + "YUE_Stage_B_Sampler" + ], + { + "title_aux": "ComfyUI_YuE" + } + ], "https://github.com/sn0w12/ComfyUI-Sn0w-Scripts": [ [ "Character Selector", "Copy/Paste Textbox", "Filter Tags", + "Generate All Characters", "Get Font Size", "Load Lora Folder", "Load Lora Sn0w", @@ -24067,9 +28042,12 @@ [ "LoadEXR", "LoadEXRFrames", + "LoadImageAndPrompt", "LoadLatentEXR", "SaveEXR", "SaveEXRFrames", + "SaveImageAndPromptExact", + "SaveImageAndPromptIncremental", "SaveLatentEXR", "SaveTiff" ], @@ -24139,6 +28117,14 @@ "title_aux": "ComfyUI-Image-Filters" } ], + "https://github.com/spacepxl/ComfyUI-LossTesting": [ + [ + "Measure Timestep Loss" + ], + { + "title_aux": "ComfyUI-LossTesting" + } + ], "https://github.com/spacepxl/ComfyUI-RAVE": [ [ "ConditioningDebug", @@ -24237,11 +28223,24 @@ "title_aux": "ComfyUI roop" } ], + "https://github.com/stavsap/comfyui-kokoro": [ + [ + "KokoroGenerator", + "KokoroSpeaker", + "KokoroSpeakerCombiner" + ], + { + "title_aux": "comfyui-kokoro" + } + ], "https://github.com/stavsap/comfyui-ollama": [ [ + "OllamaConnectivityV2", "OllamaGenerate", "OllamaGenerateAdvance", + "OllamaGenerateV2", "OllamaLoadContext", + "OllamaOptionsV2", "OllamaSaveContext", "OllamaVision" ], @@ -24301,6 +28300,17 @@ "title_aux": "segment anything" } ], + "https://github.com/strand1/ComfyUI-Autogen": [ + [ + "AutogenAssistantAgent", + "AutogenCodeExecutor", + "AutogenGroupChat", + "AutogenModel" + ], + { + "title_aux": "ComfyUI-Autogen" + } + ], "https://github.com/strimmlarn/ComfyUI-Strimmlarns-Aesthetic-Score": [ [ "AesthetlcScoreSorter", @@ -24338,14 +28348,18 @@ ], "https://github.com/sugarkwork/comfyui_tag_fillter": [ [ + "TagCategory", + "TagCategoryEnhance", "TagComparator", + "TagEnhance", "TagFilter", "TagIf", "TagMerger", "TagRemover", "TagReplace", "TagSelector", - "TagSwitcher" + "TagSwitcher", + "TagWildcardFilter" ], { "title_aux": "comfyui_tag_filter" @@ -24360,6 +28374,16 @@ "title_aux": "comfyui_lumaAPI" } ], + "https://github.com/svetozarov/AS_GeminiCaptioning": [ + [ + "AS_ComfyGPT", + "AS_GeminiCaptioning", + "AS_MultimodalGemini" + ], + { + "title_aux": "AS_GeminiCaptioning Node" + } + ], "https://github.com/sweetndata/ComfyUI-Image-Harmonizer": [ [ "harmonizer" @@ -24570,6 +28594,15 @@ "title_aux": "ComfyUI-StoryMaker" } ], + "https://github.com/tatookan/comfyui_ssl_gemini_EXP": [ + [ + "SSL_GeminiAPIKeyConfig", + "SSL_GeminiTextPrompt" + ], + { + "title_aux": "comfyui_ssl_gemini_EXP" + } + ], "https://github.com/teward/ComfyUI-Helper-Nodes": [ [ "HelperNodes_CfgScale", @@ -24590,6 +28623,15 @@ "title_aux": "ComfyUI-Helper-Nodes" } ], + "https://github.com/theAdamColton/ComfyUI-texflow-extension": [ + [ + "Load Texflow Depth Image", + "Save Texflow Image" + ], + { + "title_aux": "ComfyUI-texflow-extension" + } + ], "https://github.com/theUpsider/ComfyUI-Logic": [ [ "Bool-\ud83d\udd2c", @@ -24633,6 +28675,50 @@ "title_aux": "ComfyUI Stable Video Diffusion" } ], + "https://github.com/theshubzworld/ComfyUI-SD3.5-Latent-Size-Picker": [ + [ + "SD3_5EmptyLatent" + ], + { + "title_aux": "SD3.5 Empty Latent Size Picker" + } + ], + "https://github.com/theshubzworld/ComfyUI-TogetherVision": [ + [ + "Together Image \ud83c\udfa8", + "Together Vision \ud83d\udd0d", + "TogetherVisionNode" + ], + { + "title_aux": "Together Vision Node" + } + ], + "https://github.com/theshubzworld/ComfyUI-ollama_killer": [ + [ + "OllamaKiller" + ], + { + "title_aux": "OllamaKiller Node for ComfyUI" + } + ], + "https://github.com/thezveroboy/ComfyUI-CSM-Nodes": [ + [ + "CSMTextToSpeech", + "LoadCSMCheckpoint", + "LoadCSMTokenizer" + ], + { + "title_aux": "ComfyUI-CSM-Nodes" + } + ], + "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip": [ + [ + "CLIPSkip" + ], + { + "title_aux": "ComfyUI-WAN-ClipSkip" + } + ], "https://github.com/thoddnn/ComfyUI-MLX": [ [ "MLXClipTextEncoder", @@ -24684,6 +28770,14 @@ "title_aux": "Stable Projectorz Bridge" } ], + "https://github.com/tianyuw/ComfyUI-LLM-API": [ + [ + "PromptWithImage" + ], + { + "title_aux": "Custom nodes for llm chat with optional image input" + } + ], "https://github.com/tkreuziger/comfyui-claude": [ [ "Combine Texts", @@ -24729,10 +28823,10 @@ "ImageToAscii" ], { - "author": "Tomudo", - "description": "Convert Image to ascii art to use. May be use to decorate terminal apps like Neofetch", - "nickname": "Image To Ascii", - "title": "Image To Ascii", + "author": "dfl", + "description": "CLIP text encoder that does BREAK prompting like A1111", + "nickname": "CLIP with BREAK", + "title": "CLIP with BREAK syntax", "title_aux": "ComfyUI-ascii-art" } ], @@ -24772,12 +28866,29 @@ "Load Random Text From File", "LoadWebcamImage", "Remove noise", - "SaveImagetoPath" + "SaveImagetoPath", + "VisualAreaMask" ], { "title_aux": "ComfyUI_toyxyz_test_nodes" } ], + "https://github.com/traugdor/ComfyUI-Riffusion": [ + [ + "RiffusionNode" + ], + { + "title_aux": "ComfyUI-Riffusion" + } + ], + "https://github.com/traugdor/ComfyUI-UltimateSDUpscale-GGUF": [ + [ + "UltimateSDUpscaleGGUF" + ], + { + "title_aux": "ComfyUI-UltimateSDUpscale-GGUF" + } + ], "https://github.com/traugdor/ComfyUI-quadMoons-nodes": [ [ "quadmoonBatchFromLatent", @@ -24785,6 +28896,7 @@ "quadmoonChangeBackground", "quadmoonConvertBoolToString", "quadmoonConvertFloatToString", + "quadmoonConvertImageToPrompt", "quadmoonConvertIntToString", "quadmoonConvertNormalizeHW", "quadmoonConvertNumberToString", @@ -25050,6 +29162,32 @@ "title_aux": "unwdef-nodes" } ], + "https://github.com/vadimcro/VKRiez-Edge": [ + [ + "VKriezEnhancedEdgePreprocessor", + "VKriezHybridEdgePreprocessor" + ], + { + "title_aux": "VKRiez-Edge" + } + ], + "https://github.com/vahidzxc/va-nodes": [ + [ + "VA_Seed" + ], + { + "title_aux": "va-nodes" + } + ], + "https://github.com/vahlok-alunmid/ComfyUI-ExtendIPAdapterClipVision": [ + [ + "EXTEND_CLIP_VISION_INPUT_SIZE", + "IPAdapterAdvancedSizeAware" + ], + { + "title_aux": "ComfyUI-ExtendIPAdapterClipVision" + } + ], "https://github.com/valofey/Openrouter-Node": [ [ "OpenrouterNode" @@ -25089,8 +29227,11 @@ ], "https://github.com/var1ableX/ComfyUI_Accessories": [ [ + "ACC_AnyCast", + "AccMakeListNode", "GetMaskDimensions", "GetRandomDimensions", + "isImageEmpty", "isMaskEmpty" ], { @@ -25167,7 +29308,8 @@ ], "https://github.com/violet-chen/comfyui-psd2png": [ [ - "Psd2Png" + "Psd2Png", + "StringInsert" ], { "title_aux": "comfyui-psd2png" @@ -25205,9 +29347,18 @@ "title_aux": "ComfyUI-Vivax-Nodes" } ], + "https://github.com/vkff5833/ComfyUI-MobileClient": [ + [ + "MobileClient" + ], + { + "title_aux": "ComfyUI-MobileClient" + } + ], "https://github.com/vkff5833/ComfyUI-PromptConverter": [ [ - "PromptConverter" + "PromptConverter", + "PromptConverterWithFilter" ], { "title_aux": "ComfyUI-PromptConverter" @@ -25340,10 +29491,19 @@ "title_aux": "WeiLin-ComfyUI-prompt-all-in-one" } ], + "https://github.com/weilin9999/WeiLin-Comfyui-Tools": [ + [ + "WeiLinPromptUI" + ], + { + "title_aux": "WeiLin-Comfyui-Tools" + } + ], "https://github.com/welltop-cn/ComfyUI-TeaCache": [ [ - "TeaCacheForImgGen", - "TeaCacheForVidGen" + "CompileModel", + "TeaCache", + "TeaCacheForCogVideoX" ], { "title_aux": "ComfyUI-TeaCache" @@ -25358,6 +29518,30 @@ "title_aux": "ComfyUI template matching" } ], + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor": [ + [ + "OpenposeEditorNode" + ], + { + "title_aux": "ComfyUI-ultimate-openpose-editor" + } + ], + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator": [ + [ + "OpenposeEstimatorNode" + ], + { + "title_aux": "ComfyUI-ultimate-openpose-estimator" + } + ], + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": [ + [ + "OpenposeRenderNode" + ], + { + "title_aux": "ComfyUI-ultimate-openpose-render" + } + ], "https://github.com/whatbirdisthat/cyberdolphin": [ [ "\ud83d\udc2c Gradio ChatInterface", @@ -25443,12 +29627,23 @@ "title_aux": "zsq_prompt" } ], + "https://github.com/wirytiox/ComfyUI-SelectStringFromListWithIndex": [ + [ + "StringFromList" + ], + { + "title_aux": "ComfyUI-SelectStringFromListWithIndex" + } + ], "https://github.com/wjl0313/ComfyUI_KimNodes": [ [ "Add_ImageMetadata", "Crop_Paste", "Distribute_Icons", + "ExtractDifferenceLora", "IconDistributeByGrid", + "Icon_Position_Cropper", + "ImageResize", "Image_Classification", "KimFilter", "KimHDR", @@ -25456,6 +29651,7 @@ "Manual_MetadataInput", "Prompt_Text", "Save_Image", + "Seamless_Icon_Generator", "Text_Match", "Whitening_Node", "YOLOWorld_Match", @@ -25698,6 +29894,15 @@ "title_aux": "hd-nodes-comfyui" } ], + "https://github.com/xingBaGan/ComfyUI-connect-ui": [ + [ + "SaveImageByWebsocket", + "reciveImageByWebsocket" + ], + { + "title_aux": "ComfyUI-connect-ui" + } + ], "https://github.com/xlinx/ComfyUI-decadetw-auto-messaging-realtime": [ [ "Auto-MSG-ALL", @@ -25711,6 +29916,7 @@ ], "https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm": [ [ + "Auto-LLM-Chat", "Auto-LLM-Text", "Auto-LLM-Text-Vision", "Auto-LLM-Vision" @@ -25789,8 +29995,19 @@ "title_aux": "ComfyUI_Camera" } ], + "https://github.com/yanhuifair/comfyui-janus": [ + [ + "JanusProImageGenerationNode", + "JanusProModelLoaderNode", + "JanusProMultimodalUnderstandingNode" + ], + { + "title_aux": "comfyui-janus" + } + ], "https://github.com/yanlang0123/ComfyUI_Lam": [ [ + "AppParams", "AspectRatio", "AutioPath", "DoWhileEnd", @@ -25816,6 +30033,7 @@ "LamCommonPrint", "LamCommonPrintNoOutput", "LamGetPngInfo", + "LamLoadImageBase64", "LamLoadPathImage", "LamLoadVideo", "LamSaveOnly", @@ -25841,6 +30059,7 @@ "PromptTranslator", "QRCode", "SaveImageLam", + "SaveImgOutputLam", "SectionEnd", "SectionStart", "StyleSelecto", @@ -25856,6 +30075,16 @@ "title_aux": "ComfyUI_Lam" } ], + "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch": [ + [ + "ColorGradeSampler", + "ColorGrading", + "SemanticImageFetch" + ], + { + "title_aux": "comfyUI-SemanticImageFetch" + } + ], "https://github.com/ycchanau/ComfyUI_Preview_Magnifier": [ [ "YC.ImageComparerMagnifier", @@ -25902,12 +30131,105 @@ "FalAPIFluxProFillNode", "FalAPIFluxProNode", "FalAPIFluxProReduxNode", - "FalAPIFluxProV11Node" + "FalAPIFluxProV11Node", + "FalAPIFluxProV11UltraNode" ], { "title_aux": "ComfyUI-Fal-API-Flux" } ], + "https://github.com/yhayano-ponotech/comfyui-save-image-local": [ + [ + "Local Save" + ], + { + "title_aux": "ComfyUI Local Save Node" + } + ], + "https://github.com/yhayano-ponotech/comfyui-stability-ai-api": [ + [ + "Preview3DModel", + "Save3DModel", + "StabilityControlSketch", + "StabilityControlStructure", + "StabilityControlStyle", + "StabilityEdit", + "StabilityImageCore", + "StabilityImageSD3", + "StabilityImageToVideo", + "StabilityImageUltra", + "StabilityUpscaleConservative", + "StabilityUpscaleCreative", + "StabilityUpscaleFast", + "StableFast3D", + "StablePointAware3D" + ], + { + "title_aux": "ComfyUI-Stability-AI-API" + } + ], + "https://github.com/yichengup/ComfyUI-VideoBlender": [ + [ + "VideoBlendLayer", + "VideoBlendStack", + "VideoBlendStackAdvanced", + "VideoPreprocess" + ], + { + "title_aux": "ComfyUI-VideoBlender" + } + ], + "https://github.com/yichengup/ComfyUI-YCNodes": [ + [ + "DynamicThreshold", + "ImageBatchSelector", + "ImageBlendResize", + "ImageIC", + "ImageICAdvanced", + "ImageLoaderAdvanced", + "ImageMirror", + "ImageMosaic", + "ImageRotate", + "ImageSelector", + "ImageUpscaleTiled", + "MaskBatchComposite", + "MaskBatchCopy", + "MaskFromBatch", + "MaskRepeatBatch", + "MaskSmartValleySplit", + "MaskSplitFilter", + "MaskTopNFilter", + "TextBeforeKeyword", + "YC Extract Number", + "YC Text Index Switch" + ], + { + "title_aux": "ComfyUI-YCNodes" + } + ], + "https://github.com/yichengup/ComfyUI_Yc_JanusPro": [ + [ + "ImageAnalyzer", + "JanusChatAnalyzer", + "JanusImageGenerator", + "JanusProLoader" + ], + { + "title_aux": "ComfyUI_Yc_JanusPro" + } + ], + "https://github.com/yichengup/Comfyui-Deepseek": [ + [ + "DeepseekAdvancedNode", + "DeepseekNode", + "DeepseekReasonerNode", + "SiliconDeepseekChat", + "SiliconDeepseekReasoner" + ], + { + "title_aux": "Comfyui-Deepseek" + } + ], "https://github.com/yichengup/Comfyui-Ycanvas": [ [ "CanvasNode" @@ -25926,7 +30248,8 @@ ], "https://github.com/yichengup/Comfyui_Redux_Advanced": [ [ - "StyleAdvancedApply" + "StyleAdvancedApply", + "YC_LG_Redux" ], { "title_aux": "Comfyui_Redux_Advanced" @@ -26025,7 +30348,6 @@ "easy controlnetStackApply", "easy convertAnything", "easy detailerFix", - "easy dynamiCrafterLoader", "easy float", "easy fluxLoader", "easy fluxPromptGenAPI", @@ -26071,6 +30393,7 @@ "easy imageToBase64", "easy imageToMask", "easy imageUncropFromBBOX", + "easy imagesCountInDirectory", "easy imagesSplitImage", "easy indexAnything", "easy injectNoiseToLatent", @@ -26090,6 +30413,7 @@ "easy isNone", "easy isSDXL", "easy joinImageBatch", + "easy joyCaption2API", "easy kSampler", "easy kSamplerCustom", "easy kSamplerDownscaleUnet", @@ -26111,7 +30435,6 @@ "easy mathString", "easy mochiLoader", "easy negative", - "easy ominiControlApply", "easy outputToList", "easy pipeBatchIndex", "easy pipeEdit", @@ -26284,10 +30607,12 @@ "KY_AnyByIndex", "KY_AnyToList", "KY_FilePathAnalyzer-", + "KY_FileSequenceAnalyzer", "KY_JoinToString", "KY_LoadImagesFromFolder", "KY_MathExpression", "KY_OpenAICaptionImage", + "KY_OpenAICaptionImages", "KY_OpenAIChat", "KY_ReadImage", "KY_RegexExtractor", @@ -26391,14 +30716,33 @@ "title_aux": "ComfyUI Rife TensorRT" } ], + "https://github.com/yuvraj108c/ComfyUI-Thera": [ + [ + "LoadTheraModel", + "TheraProcess" + ], + { + "title_aux": "ComfyUI Thera" + } + ], "https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt": [ [ + "LoadUpscalerTensorrtModel", "UpscalerTensorrt" ], { "title_aux": "ComfyUI Upscaler TensorRT" } ], + "https://github.com/yuvraj108c/ComfyUI-Video-Depth-Anything": [ + [ + "LoadVideoDepthAnythingModel", + "VideoDepthAnythingProcess" + ], + { + "title_aux": "ComfyUI Video Depth Anything" + } + ], "https://github.com/yuvraj108c/ComfyUI-Vsgan": [ [ "DepthAnythingTrtNode", @@ -26428,6 +30772,15 @@ "title_aux": "ComfyUI YoloNasPose Tensorrt" } ], + "https://github.com/yuvraj108c/ComfyUI_InvSR": [ + [ + "InvSRSampler", + "LoadInvSRModels" + ], + { + "title_aux": "ComfyUI InvSR" + } + ], "https://github.com/yvann-ba/ComfyUI_Yvann-Nodes": [ [ "Audio Analysis", @@ -26459,6 +30812,14 @@ "title_aux": "ComfyUI_Zwng_Nodes" } ], + "https://github.com/zaheenrahman/ComfyUI-ColorCorrection": [ + [ + "ClothingColorCorrection" + ], + { + "title_aux": "ComfyUI-ColorCorrection" + } + ], "https://github.com/zcfrank1st/Comfyui-Toolbox": [ [ "PreviewJson", @@ -26488,6 +30849,36 @@ "title_aux": "comfyui_visual_anagram" } ], + "https://github.com/zentrocdot/ComfyUI-RealESRGAN_Upscaler": [ + [ + "\ud83d\ude80 Universal RealESRGAN Upscaler", + "\ud83e\uddf3 Show Data" + ], + { + "title_aux": "ComfyUI-RealESRGAN_Upscaler" + } + ], + "https://github.com/zentrocdot/ComfyUI-Simple_Image_To_Prompt": [ + [ + "\ud83d\udc41\ufe0f Image To Prompt", + "\ud83d\udc41\ufe0f Image To Prompt (NO UPDATE)", + "\ud83e\uddf3 Show Data" + ], + { + "title_aux": "ComfyUI-Simple_Image_To_Prompt" + } + ], + "https://github.com/zentrocdot/ComfyUI_Circle_Detection": [ + [ + "\u270f\ufe0f Input Data", + "\ud83d\udcc4 Show Data", + "\ud83d\udd2c Circle Detection (Hough)", + "\ud83d\udd2c Ellipse Detection (Simple)" + ], + { + "title_aux": "ComfyUI_Circle_Detection" + } + ], "https://github.com/zer0TF/cute-comfy": [ [ "Cute.Placeholder" @@ -26501,6 +30892,7 @@ "List Combine Node (zer0)", "Multiline String Node (zer0)", "Prompt Minimizer And Splitter Node (zer0)", + "Quality Tag Prepend Node (zer0)", "Tavern Card Creation Node (zer0)", "Tavern Card Info Node (zer0)" ], @@ -26540,8 +30932,12 @@ "CheckpointLoaderSimpleWithSwitch", "ColorCorrectOfUtils", "ConcatTextOfUtils", + "CropByMaskToSpecificSize", "DeepfaceAnalyzeFaceAttributes", "DetectorForNSFW", + "EmptyConditioning", + "FrameAdjuster", + "GeminiPromptEnhance", "GenderControlOutput", "ImageAutoSelector", "ImageBatchOneOrMore", @@ -26550,6 +30946,7 @@ "ImageCompositeWatermark", "ImageConcanateOfUtils", "ImageResizeTo8x", + "ImageTransition", "IntAndIntAddOffsetLiteral", "IntMultipleAddLiteral", "LoadImageMaskWithSwitch", @@ -26566,6 +30963,7 @@ "SplitMask", "TextInputAutoSelector", "TextPreview", + "TorchCompileModelAdvanced", "UpscaleImageWithModelIfNeed" ], { @@ -26631,16 +31029,37 @@ "title_aux": "ComfyUI_Bxb" } ], + "https://github.com/zichongc/ComfyUI-Attention-Distillation": [ + [ + "ADOptimizer", + "ADSampler", + "LoadDistiller", + "LoadPILImage", + "PureText", + "ResizeImage" + ], + { + "title_aux": "ComfyUI-Attention-Distillation" + } + ], + "https://github.com/ziwang-com/comfyui-deepseek-r1": [ + [ + "deep_gen", + "deep_load" + ], + { + "title_aux": "comfyui-deepseek-r1" + } + ], "https://github.com/zmwv823/ComfyUI_Anytext": [ [ + "UL_AnyText2Fonts", + "UL_AnyTextComposer", "UL_AnyTextEncoder", + "UL_AnyTextFontImg", "UL_AnyTextFormatter", - "UL_AnyTextLoaderTest", - "UL_AnyText_Composer", - "UL_AnyText_FontImg", - "UL_AnyText_Inputs", - "UL_AnyText_Loader", - "UL_AnyText_Sampler", + "UL_AnyTextLoader", + "UL_AnyTextSampler", "UL_DiffusersCheckpointLoader", "UL_DiffusersControlNetApplyAdvanced", "UL_DiffusersControlNetLoader", @@ -26650,7 +31069,10 @@ "UL_Image_Generation_Glyph_ByT5_Font", "UL_Image_Generation_JoyType_Font_Img", "UL_Image_Generation_JoyType_Render_List", - "UL_Image_Process_Common_Cv2_Canny" + "UL_Image_Process_Common_Cv2_Canny", + "UL_Translator", + "UL_TranslatorLoader", + "U_LoRAS" ], { "title_aux": "ComfyUI_Anytext" @@ -26734,9 +31156,6 @@ "QRNG_Node_CSV" ], { - "preemptions": [ - "SAMLoader" - ], "title_aux": "QRNG_Node_ComfyUI" } ], @@ -26761,14 +31180,6 @@ "title_aux": "SDXL_sizing" } ], - "https://raw.githubusercontent.com/Smuzzies/comfyui_chatbox_overlay/main/chatbox_overlay.py": [ - [ - "Chatbox Overlay" - ], - { - "title_aux": "Chatbox Overlay node for ComfyUI" - } - ], "https://raw.githubusercontent.com/barckley75/comfyUI_DaVinciResolve/main/custom_nodes/node_text_to_speech.py": [ [ "TextToSpeech" @@ -26821,6 +31232,14 @@ "title_aux": "CSV Search Node" } ], + "https://raw.githubusercontent.com/huimengshiguang/AspectAwareTiling/refs/heads/main/hmsg-quanjing.py": [ + [ + "AspectAwareTiling" + ], + { + "title_aux": "AspectAwareTiling" + } + ], "https://raw.githubusercontent.com/lordgasmic/comfyui_wildcards/master/wildcards.py": [ [ "CLIPTextEncodeWithWildcards" @@ -26900,6 +31319,9 @@ "SDXLAspectRatio" ], { + "preemptions": [ + "SAMLoader" + ], "title_aux": "SDXLCustomAspectRatio" } ], diff --git a/extras.json b/extras.json index e6332abc..22949306 100644 --- a/extras.json +++ b/extras.json @@ -9,7 +9,7 @@ "comfyui-layerdiffuse", "comfyui-liveportraitkj", "aigodlike-comfyui-translation", - "comfyui-reactor-node", + "comfyui-reactor", "comfyui_instantid", "sd-dynamic-thresholding", "pr-was-node-suite-comfyui-47064894", diff --git a/git_helper.py b/git_helper.py index 14c6b7e9..e79b43a6 100644 --- a/git_helper.py +++ b/git_helper.py @@ -124,18 +124,60 @@ def gitcheck(path, do_fetch=False): print("CUSTOM NODE CHECK: Error") +def get_remote_name(repo): + available_remotes = [remote.name for remote in repo.remotes] + if 'origin' in available_remotes: + return 'origin' + elif 'upstream' in available_remotes: + return 'upstream' + elif len(available_remotes) > 0: + return available_remotes[0] + + if not available_remotes: + print(f"[ComfyUI-Manager] No remotes are configured for this repository: {repo.working_dir}") + else: + print(f"[ComfyUI-Manager] Available remotes in '{repo.working_dir}': ") + for remote in available_remotes: + print(f"- {remote}") + + return None + + def switch_to_default_branch(repo): + remote_name = get_remote_name(repo) + try: - default_branch = repo.git.symbolic_ref('refs/remotes/origin/HEAD').replace('refs/remotes/origin/', '') + if remote_name is None: + return False + + default_branch = repo.git.symbolic_ref(f'refs/remotes/{remote_name}/HEAD').replace(f'refs/remotes/{remote_name}/', '') repo.git.checkout(default_branch) + return True except: + # try checkout master + # try checkout main if failed try: repo.git.checkout(repo.heads.master) + return True except: try: - repo.git.checkout('-b', 'master', 'origin/master') + if remote_name is not None: + repo.git.checkout('-b', 'master', f'{remote_name}/master') + return True except: - print("[ComfyUI Manager] Failed to switch to the default branch") + try: + repo.git.checkout(repo.heads.main) + return True + except: + try: + if remote_name is not None: + repo.git.checkout('-b', 'main', f'{remote_name}/main') + return True + except: + pass + + print("[ComfyUI Manager] Failed to switch to the default branch") + return False def gitpull(path): @@ -166,7 +208,11 @@ def gitpull(path): branch_name = current_branch.name remote.fetch() - remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + if f'{remote_name}/{branch_name}' in repo.refs: + remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + else: + print("CUSTOM NODE PULL: Fail") # update fail + return if commit_hash == remote_commit_hash: print("CUSTOM NODE PULL: None") # there is no update @@ -356,12 +402,13 @@ def apply_snapshot(path): git_custom_node_infos = info['git_custom_nodes'] file_custom_node_infos = info['file_custom_nodes'] - checkout_comfyui_hash(comfyui_hash) + if comfyui_hash: + checkout_comfyui_hash(comfyui_hash) checkout_custom_node_hash(git_custom_node_infos) invalidate_custom_node_file(file_custom_node_infos) print("APPLY SNAPSHOT: True") - if 'pips' in info: + if 'pips' in info and info['pips']: return info['pips'] else: return None diff --git a/github-stats.json b/github-stats.json index ebe361d0..43247754 100644 --- a/github-stats.json +++ b/github-stats.json @@ -1,9027 +1,10687 @@ { + "hhttps://github.com/alessandrozonta/Comfyui-LoopLoader": { + "stars": 0, + "last_update": "2025-02-21 13:28:39", + "author_account_age_days": 1467 + }, "https://github.com/0x-jerry/comfyui-rembg": { - "stars": 1, - "last_update": "2025-01-01 16:03:57", - "author_account_age_days": 3408 + "stars": 0, + "last_update": "2025-02-11 12:50:18", + "author_account_age_days": 3480 + }, + "https://github.com/0xRavenBlack/ComfyUI-OOP": { + "stars": 6, + "last_update": "2025-03-02 11:59:14", + "author_account_age_days": 1650 }, "https://github.com/0xbitches/ComfyUI-LCM": { - "stars": 252, + "stars": 254, "last_update": "2023-11-11 21:24:33", - "author_account_age_days": 730 + "author_account_age_days": 802 + }, + "https://github.com/1038lab/ComfyUI-EdgeTTS": { + "stars": 28, + "last_update": "2025-01-24 10:39:15", + "author_account_age_days": 722 }, "https://github.com/1038lab/ComfyUI-OmniGen": { - "stars": 180, - "last_update": "2025-01-06 21:07:17", - "author_account_age_days": 651 + "stars": 230, + "last_update": "2025-01-23 00:57:27", + "author_account_age_days": 722 + }, + "https://github.com/1038lab/ComfyUI-Pollinations": { + "stars": 18, + "last_update": "2025-03-21 12:57:47", + "author_account_age_days": 722 }, "https://github.com/1038lab/ComfyUI-RMBG": { - "stars": 191, - "last_update": "2025-01-06 23:53:19", - "author_account_age_days": 651 + "stars": 698, + "last_update": "2025-03-21 11:40:45", + "author_account_age_days": 722 + }, + "https://github.com/1038lab/ComfyUI-SparkTTS": { + "stars": 17, + "last_update": "2025-03-21 09:36:05", + "author_account_age_days": 722 }, "https://github.com/1038lab/ComfyUI-WildPromptor": { - "stars": 9, - "last_update": "2025-01-06 21:06:40", - "author_account_age_days": 651 + "stars": 22, + "last_update": "2025-01-28 23:51:02", + "author_account_age_days": 722 }, "https://github.com/111496583yzy/comfyui-PuzzleCrack-Effect": { - "stars": 4, - "last_update": "2024-12-30 08:16:30", - "author_account_age_days": 2082 + "stars": 3, + "last_update": "2025-01-13 10:15:44", + "author_account_age_days": 2153 }, "https://github.com/11cafe/comfyui-workspace-manager": { - "stars": 1175, + "stars": 1239, "last_update": "2024-10-01 14:40:46", - "author_account_age_days": 404 + "author_account_age_days": 475 }, "https://github.com/11dogzi/ComfUI-EGAdapterMadAssistant": { - "stars": 36, + "stars": 37, "last_update": "2024-08-02 05:24:19", - "author_account_age_days": 324 + "author_account_age_days": 396 }, "https://github.com/11dogzi/Comfyui-ergouzi-Nodes": { - "stars": 68, + "stars": 77, "last_update": "2024-08-23 12:04:09", - "author_account_age_days": 324 + "author_account_age_days": 396 }, "https://github.com/11dogzi/Comfyui-ergouzi-kaiguan": { - "stars": 60, - "last_update": "2024-12-09 02:29:58", - "author_account_age_days": 324 + "stars": 65, + "last_update": "2025-02-20 11:10:02", + "author_account_age_days": 396 }, "https://github.com/11dogzi/Comfyui-ergouzi-samplers": { "stars": 26, "last_update": "2024-06-28 05:28:05", - "author_account_age_days": 324 + "author_account_age_days": 396 }, "https://github.com/1mckw/Comfyui-Gelbooru": { - "stars": 4, - "last_update": "2024-12-08 03:42:25", - "author_account_age_days": 889 + "stars": 3, + "last_update": "2025-03-15 05:08:34", + "author_account_age_days": 960 }, "https://github.com/1zhangyy1/comfyui-vidu-nodes": { - "stars": 4, - "last_update": "2025-01-09 13:24:13", - "author_account_age_days": 658 + "stars": 5, + "last_update": "2025-03-21 12:25:22", + "author_account_age_days": 729 }, "https://github.com/2kpr/ComfyUI-PMRF": { - "stars": 117, + "stars": 145, "last_update": "2024-10-11 00:11:40", - "author_account_age_days": 1118 + "author_account_age_days": 1189 }, "https://github.com/2kpr/ComfyUI-UltraPixel": { "stars": 223, "last_update": "2024-07-27 14:52:10", - "author_account_age_days": 1118 + "author_account_age_days": 1189 }, "https://github.com/311-code/ComfyUI-MagicClip_Strength": { - "stars": 1, + "stars": 2, "last_update": "2024-09-22 12:07:40", - "author_account_age_days": 2971 + "author_account_age_days": 3042 }, "https://github.com/42lux/ComfyUI-42lux": { - "stars": 8, + "stars": 10, "last_update": "2024-12-19 10:21:03", - "author_account_age_days": 3897 - }, - "https://github.com/42lux/ComfyUI-safety-checker": { - "stars": 29, - "last_update": "2024-05-22 22:11:59", - "author_account_age_days": 3897 + "author_account_age_days": 3969 }, "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": { "stars": 26, "last_update": "2024-06-13 05:51:56", - "author_account_age_days": 613 + "author_account_age_days": 684 }, "https://github.com/45uee/ComfyUI-Color_Transfer": { - "stars": 19, - "last_update": "2024-09-19 20:16:51", - "author_account_age_days": 2501 + "stars": 21, + "last_update": "2025-02-21 10:42:35", + "author_account_age_days": 2573 }, "https://github.com/54rt1n/ComfyUI-DareMerge": { - "stars": 79, + "stars": 80, "last_update": "2024-08-01 15:28:19", - "author_account_age_days": 4249 + "author_account_age_days": 4321 }, "https://github.com/5x00/ComfyUI-PiAPI-Faceswap": { "stars": 2, - "last_update": "2025-01-05 10:13:19", - "author_account_age_days": 1170 + "last_update": "2025-01-12 14:49:09", + "author_account_age_days": 1242 }, "https://github.com/5x00/ComfyUI-VLM-Captions": { - "stars": 4, + "stars": 3, "last_update": "2025-01-04 21:27:47", - "author_account_age_days": 1170 - }, - "https://github.com/5x00/ComfyUI-VLM_Captions": { - "stars": 4, - "last_update": "2025-01-04 21:27:47", - "author_account_age_days": 1170 + "author_account_age_days": 1242 }, "https://github.com/6174/comflowy-nodes": { "stars": 12, "last_update": "2024-12-03 13:31:04", - "author_account_age_days": 4318 + "author_account_age_days": 4389 }, "https://github.com/807502278/ComfyUI-3D-MeshTool": { "stars": 19, "last_update": "2024-10-18 09:59:54", - "author_account_age_days": 2212 + "author_account_age_days": 2283 }, "https://github.com/807502278/ComfyUI-WJNodes": { - "stars": 8, - "last_update": "2025-01-09 09:27:43", - "author_account_age_days": 2212 + "stars": 10, + "last_update": "2025-03-10 09:05:21", + "author_account_age_days": 2283 }, "https://github.com/807502278/ComfyUI_MaskGCT": { - "stars": 19, - "last_update": "2024-11-12 08:13:01", - "author_account_age_days": 2212 + "stars": 26, + "last_update": "2025-03-05 09:15:32", + "author_account_age_days": 2283 }, "https://github.com/80sVectorz/ComfyUI-Static-Primitives": { "stars": 11, - "last_update": "2024-08-07 11:21:06", - "author_account_age_days": 1670 + "last_update": "2025-03-14 11:42:07", + "author_account_age_days": 1741 + }, + "https://github.com/852wa/ComfyUI-AAP": { + "stars": 9, + "last_update": "2025-01-29 13:21:59", + "author_account_age_days": 633 + }, + "https://github.com/852wa/ComfyUI-ColorshiftColor": { + "stars": 43, + "last_update": "2025-02-01 12:17:38", + "author_account_age_days": 633 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": { "stars": 1, "last_update": "2024-05-23 00:26:10", - "author_account_age_days": 671 + "author_account_age_days": 743 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE-Wrapper": { - "stars": 8, - "last_update": "2024-10-15 05:14:43", - "author_account_age_days": 671 + "stars": 11, + "last_update": "2025-01-21 22:26:11", + "author_account_age_days": 743 }, "https://github.com/AARG-FAN/Image-Vector-for-ComfyUI": { - "stars": 117, + "stars": 126, "last_update": "2024-06-23 14:56:16", - "author_account_age_days": 698 + "author_account_age_days": 769 }, "https://github.com/AEmotionStudio/ComfyUI-ChristmasTheme": { - "stars": 37, + "stars": 40, "last_update": "2024-12-21 23:43:44", - "author_account_age_days": 301 + "author_account_age_days": 373 + }, + "https://github.com/AEmotionStudio/ComfyUI-EnhancedLinksandNodes": { + "stars": 34, + "last_update": "2025-02-22 22:10:35", + "author_account_age_days": 373 }, "https://github.com/AI2lab/comfyUI-DeepSeek-2lab": { - "stars": 6, + "stars": 5, "last_update": "2024-10-02 07:21:00", - "author_account_age_days": 391 + "author_account_age_days": 462 }, "https://github.com/AI2lab/comfyUI-kling-api-2lab": { - "stars": 7, + "stars": 6, "last_update": "2024-10-09 14:14:31", - "author_account_age_days": 391 + "author_account_age_days": 462 }, "https://github.com/AI2lab/comfyUI-siliconflow-api-2lab": { "stars": 6, "last_update": "2024-08-01 15:13:33", - "author_account_age_days": 391 + "author_account_age_days": 462 }, "https://github.com/AI2lab/comfyUI-tool-2lab": { - "stars": 24, + "stars": 23, "last_update": "2024-11-15 16:42:51", - "author_account_age_days": 391 + "author_account_age_days": 462 + }, + "https://github.com/AIDC-AI/ComfyUI-Copilot": { + "stars": 878, + "last_update": "2025-03-17 21:28:47", + "author_account_age_days": 281 }, "https://github.com/AIFSH/AniTalker-ComfyUI": { - "stars": 6, + "stars": 5, "last_update": "2024-08-06 03:08:44", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-3d-photo-inpainting": { - "stars": 11, + "stars": 13, "last_update": "2024-06-19 13:59:49", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-AuraSR": { - "stars": 23, + "stars": 22, "last_update": "2024-06-27 14:00:16", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-DiffSynth-Studio": { - "stars": 74, + "stars": 81, "last_update": "2024-08-05 08:48:03", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-FishSpeech": { - "stars": 25, + "stars": 33, "last_update": "2024-05-23 01:18:49", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-GPT_SoVITS": { - "stars": 203, + "stars": 220, "last_update": "2024-08-09 22:00:45", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-Hallo": { - "stars": 292, + "stars": 297, "last_update": "2024-06-24 06:43:23", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-I2V-Adapter": { - "stars": 21, + "stars": 22, "last_update": "2024-07-02 01:59:49", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-IP_LAP": { - "stars": 32, + "stars": 33, "last_update": "2024-06-14 07:05:39", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-Live2DViewer": { - "stars": 5, + "stars": 6, "last_update": "2024-06-14 07:04:49", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-MARS5-TTS": { - "stars": 27, + "stars": 29, "last_update": "2024-07-02 02:00:28", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-MimicBrush": { - "stars": 106, + "stars": 109, "last_update": "2024-06-17 22:26:53", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-MimicMotion": { - "stars": 355, + "stars": 369, "last_update": "2024-08-06 06:21:16", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-MuseTalk_FSH": { - "stars": 17, + "stars": 20, "last_update": "2024-06-14 07:05:19", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-RVC": { - "stars": 17, + "stars": 20, "last_update": "2024-06-14 07:05:25", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-UVR5": { - "stars": 86, + "stars": 88, "last_update": "2024-06-20 07:31:20", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-UniAnimate": { - "stars": 36, + "stars": 37, "last_update": "2024-06-30 09:20:25", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-WhisperX": { - "stars": 35, + "stars": 42, "last_update": "2024-10-23 22:19:56", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI-XTTS": { - "stars": 48, + "stars": 56, "last_update": "2024-06-24 09:45:59", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ComfyUI_V-Express": { "stars": 86, "last_update": "2024-06-23 09:54:57", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/CosyVoice-ComfyUI": { - "stars": 205, + "stars": 244, "last_update": "2024-09-10 22:21:37", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/DHLive-ComfyUI": { - "stars": 19, + "stars": 21, "last_update": "2024-11-14 01:45:45", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/DiffMorpher-ComfyUI": { "stars": 15, "last_update": "2024-07-17 01:24:59", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/DiffSynth-ComfyUI": { - "stars": 1, + "stars": 0, "last_update": "2024-09-07 12:23:07", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/EchoMimicV2-ComfyUI": { - "stars": 28, + "stars": 53, "last_update": "2024-12-08 08:53:21", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/EzAudio-ComfyUI": { "stars": 8, "last_update": "2024-10-08 05:22:46", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/F5-TTS-ComfyUI": { - "stars": 24, + "stars": 32, "last_update": "2024-11-14 01:43:03", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/FancyVideo-ComfyUI": { - "stars": 37, + "stars": 36, "last_update": "2024-10-12 07:21:51", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/FireRedTTS-ComfyUI": { - "stars": 10, + "stars": 11, "last_update": "2024-10-24 01:18:51", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/GSTTS-ComfyUI": { - "stars": 27, + "stars": 34, "last_update": "2024-08-25 03:23:24", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/HivisionIDPhotos-ComfyUI": { - "stars": 104, + "stars": 119, "last_update": "2024-09-16 14:16:06", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/IMAGDressing-ComfyUI": { - "stars": 59, + "stars": 61, "last_update": "2024-11-14 01:44:02", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/JoyHallo-ComfyUI": { "stars": 7, "last_update": "2024-11-14 01:44:39", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/MaskGCT-ComfyUI": { - "stars": 37, + "stars": 57, "last_update": "2024-11-14 01:40:15", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/MiniMates-ComfyUI": { - "stars": 24, + "stars": 26, "last_update": "2024-11-14 01:36:30", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/OmniGen-ComfyUI": { - "stars": 191, + "stars": 202, "last_update": "2024-11-14 01:37:33", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/PyramidFlow-ComfyUI": { - "stars": 15, + "stars": 14, "last_update": "2024-10-10 13:59:16", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/RealisDance-ComfyUI": { - "stars": 39, + "stars": 47, "last_update": "2024-09-13 14:38:59", - "author_account_age_days": 430 + "author_account_age_days": 501 + }, + "https://github.com/AIFSH/SemiChat-ComfyUI": { + "stars": 10, + "last_update": "2025-02-19 23:21:48", + "author_account_age_days": 501 }, "https://github.com/AIFSH/SenseVoice-ComfyUI": { "stars": 13, "last_update": "2024-07-16 06:41:25", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/StyleShot-ComfyUI": { - "stars": 5, + "stars": 4, "last_update": "2024-08-17 00:25:29", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/VideoSys-ComfyUI": { - "stars": 7, + "stars": 6, "last_update": "2024-09-01 09:11:57", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/ViewCrafter-ComfyUI": { - "stars": 9, + "stars": 8, "last_update": "2024-09-19 11:11:25", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIFSH/VocalSeparation-ComfyUI": { - "stars": 12, + "stars": 16, "last_update": "2024-10-24 07:16:37", - "author_account_age_days": 430 + "author_account_age_days": 501 }, "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes": { "stars": 6, "last_update": "2024-09-13 07:34:18", - "author_account_age_days": 409 + "author_account_age_days": 480 }, "https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION": { - "stars": 1928, - "last_update": "2024-12-19 11:43:49", - "author_account_age_days": 700 + "stars": 2140, + "last_update": "2025-02-26 03:21:14", + "author_account_age_days": 771 }, "https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Studio": { - "stars": 293, + "stars": 322, "last_update": "2025-01-06 11:31:20", - "author_account_age_days": 700 + "author_account_age_days": 771 }, "https://github.com/AIGODLIKE/ComfyUI-CUP": { - "stars": 32, - "last_update": "2024-06-21 03:43:20", - "author_account_age_days": 700 + "stars": 41, + "last_update": "2025-03-10 10:21:47", + "author_account_age_days": 771 }, "https://github.com/AIGODLIKE/ComfyUI-ToonCrafter": { - "stars": 337, + "stars": 351, "last_update": "2024-07-17 02:28:49", - "author_account_age_days": 700 + "author_account_age_days": 771 }, "https://github.com/AIPOQUE/ComfyUI-APQNodes": { - "stars": 72, + "stars": 89, "last_update": "2024-11-21 08:56:49", - "author_account_age_days": 81 + "author_account_age_days": 153 }, "https://github.com/AInseven/ComfyUI-fastblend": { - "stars": 196, + "stars": 209, "last_update": "2024-11-22 03:32:25", - "author_account_age_days": 1882 + "author_account_age_days": 1953 }, "https://github.com/AIrjen/OneButtonPrompt": { - "stars": 898, + "stars": 947, "last_update": "2024-10-26 13:22:39", - "author_account_age_days": 641 + "author_account_age_days": 713 }, "https://github.com/ALatentPlace/ComfyUI_yanc": { - "stars": 53, - "last_update": "2024-09-19 05:24:38", - "author_account_age_days": 1659 + "stars": 55, + "last_update": "2025-01-22 14:44:17", + "author_account_age_days": 1730 + }, + "https://github.com/APZmedia/APZmedia-comfy-together-lora": { + "stars": 0, + "last_update": "2025-02-15 13:14:17", + "author_account_age_days": 2747 }, "https://github.com/APZmedia/APZmedia-comfyui-fast-image-save": { "stars": 2, "last_update": "2024-11-08 07:17:20", - "author_account_age_days": 2676 + "author_account_age_days": 2747 }, "https://github.com/APZmedia/ComfyUI-APZmedia-cleanName-from-string": { - "stars": 5, + "stars": 6, "last_update": "2024-09-06 09:44:42", - "author_account_age_days": 2676 + "author_account_age_days": 2747 }, "https://github.com/ARZUMATA/ComfyUI-ARZUMATA": { - "stars": 5, + "stars": 4, "last_update": "2024-11-01 00:10:58", - "author_account_age_days": 1965 + "author_account_age_days": 2037 }, "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-Qwen2": { "stars": 1, "last_update": "2024-11-08 17:29:32", - "author_account_age_days": 1965 + "author_account_age_days": 2037 }, "https://github.com/Aaron-CHM/ComfyUI-z-a1111-sd-webui-DanTagGen": { "stars": 4, "last_update": "2024-07-17 03:55:26", - "author_account_age_days": 1725 + "author_account_age_days": 1796 }, "https://github.com/AbdullahAlfaraj/Comfy-Photoshop-SD": { - "stars": 254, + "stars": 274, "last_update": "2024-06-14 07:04:37", - "author_account_age_days": 3866 + "author_account_age_days": 3938 }, "https://github.com/AbyssBadger0/ComfyUI_BadgerTools": { - "stars": 9, + "stars": 8, "last_update": "2024-11-12 11:10:16", - "author_account_age_days": 688 + "author_account_age_days": 760 }, "https://github.com/AbyssBadger0/ComfyUI_Kolors_awesome_prompts": { - "stars": 4, + "stars": 5, "last_update": "2024-08-29 15:19:06", - "author_account_age_days": 688 + "author_account_age_days": 760 }, "https://github.com/Acly/comfyui-inpaint-nodes": { - "stars": 758, - "last_update": "2024-11-20 08:54:22", - "author_account_age_days": 4003 + "stars": 885, + "last_update": "2025-02-24 14:55:28", + "author_account_age_days": 4075 }, "https://github.com/Acly/comfyui-tooling-nodes": { - "stars": 376, - "last_update": "2024-12-09 18:53:55", - "author_account_age_days": 4003 + "stars": 445, + "last_update": "2025-03-11 10:19:32", + "author_account_age_days": 4075 }, "https://github.com/AconexOfficial/ComfyUI_GOAT_Nodes": { - "stars": 3, - "last_update": "2025-01-03 17:02:12", - "author_account_age_days": 1679 + "stars": 5, + "last_update": "2025-02-22 03:33:26", + "author_account_age_days": 1751 }, "https://github.com/Aerse/ComfyUI-Seed-Nodes": { - "stars": 3, - "last_update": "2024-12-17 05:40:40", - "author_account_age_days": 3577 + "stars": 4, + "last_update": "2025-02-08 09:12:41", + "author_account_age_days": 3648 }, "https://github.com/AhBumm/ComfyUI_BillBum_Nodes": { - "stars": 5, - "last_update": "2025-01-04 20:10:23", - "author_account_age_days": 1008 + "stars": 9, + "last_update": "2025-02-18 11:14:23", + "author_account_age_days": 1079 }, "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes": { "stars": 0, "last_update": "2024-06-20 17:26:02", - "author_account_age_days": 1474 + "author_account_age_days": 1546 }, "https://github.com/AkashKarnatak/ComfyUI_faishme": { - "stars": 1, - "last_update": "2024-12-09 16:08:07", - "author_account_age_days": 1952 + "stars": 0, + "last_update": "2025-03-10 20:04:22", + "author_account_age_days": 2023 }, "https://github.com/Aksaz/comfyui-seamless-clone": { - "stars": 4, + "stars": 5, "last_update": "2024-12-22 12:42:36", - "author_account_age_days": 82 + "author_account_age_days": 153 }, "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": { - "stars": 968, - "last_update": "2025-01-01 13:47:34", - "author_account_age_days": 2898 + "stars": 1109, + "last_update": "2025-03-06 11:47:57", + "author_account_age_days": 2970 }, "https://github.com/Alvaroeai/ComfyUI-Text2Json": { - "stars": 1, + "stars": 0, "last_update": "2024-11-26 16:40:31", - "author_account_age_days": 3900 + "author_account_age_days": 3972 + }, + "https://github.com/Amorano/Jovi_Capture": { + "stars": 1, + "last_update": "2025-03-18 08:15:27", + "author_account_age_days": 5482 + }, + "https://github.com/Amorano/Jovi_Colorizer": { + "stars": 1, + "last_update": "2025-03-08 20:48:29", + "author_account_age_days": 5482 }, "https://github.com/Amorano/Jovi_GLSL": { - "stars": 7, - "last_update": "2025-01-09 04:18:55", - "author_account_age_days": 5411 + "stars": 11, + "last_update": "2025-03-08 20:01:48", + "author_account_age_days": 5482 + }, + "https://github.com/Amorano/Jovi_MIDI": { + "stars": 6, + "last_update": "2025-03-08 19:49:02", + "author_account_age_days": 5482 + }, + "https://github.com/Amorano/Jovi_Measure": { + "stars": 2, + "last_update": "2025-03-08 19:49:45", + "author_account_age_days": 5482 }, "https://github.com/Amorano/Jovi_Spout": { - "stars": 3, - "last_update": "2025-01-08 22:43:43", - "author_account_age_days": 5411 + "stars": 4, + "last_update": "2025-03-13 04:21:16", + "author_account_age_days": 5482 }, "https://github.com/Amorano/Jovimetrix": { - "stars": 293, - "last_update": "2025-01-08 22:38:24", - "author_account_age_days": 5411 + "stars": 331, + "last_update": "2025-03-19 01:55:51", + "author_account_age_days": 5482 }, "https://github.com/Anibaaal/ComfyUI-UX-Nodes": { - "stars": 2, - "last_update": "2024-12-31 23:44:30", - "author_account_age_days": 3575 + "stars": 1, + "last_update": "2025-01-23 13:35:49", + "author_account_age_days": 3647 }, "https://github.com/AonekoSS/ComfyUI-LoRA-Tuner": { "stars": 8, "last_update": "2024-08-12 11:45:52", - "author_account_age_days": 4290 + "author_account_age_days": 4362 }, "https://github.com/AonekoSS/ComfyUI-SimpleCounter": { - "stars": 2, + "stars": 1, "last_update": "2024-08-01 15:13:56", - "author_account_age_days": 4290 + "author_account_age_days": 4362 }, "https://github.com/Apache0ne/ComfyUI-EasyUrlLoader": { - "stars": 2, - "last_update": "2024-10-31 10:55:57", - "author_account_age_days": 77 + "stars": 1, + "last_update": "2025-03-12 17:39:34", + "author_account_age_days": 148 }, "https://github.com/Apache0ne/SambaNova": { - "stars": 3, + "stars": 2, "last_update": "2024-11-02 07:41:35", - "author_account_age_days": 77 + "author_account_age_days": 148 }, "https://github.com/ArcherFMY/Diffusion360_ComfyUI": { - "stars": 33, - "last_update": "2024-05-28 03:14:17", - "author_account_age_days": 3588 + "stars": 38, + "last_update": "2025-03-17 06:08:17", + "author_account_age_days": 3659 }, "https://github.com/ArdeniusAI/ComfyUI-Ardenius": { - "stars": 4, + "stars": 5, "last_update": "2024-11-24 09:57:46", - "author_account_age_days": 325 + "author_account_age_days": 397 + }, + "https://github.com/Arkanun/ReadCSV_ComfyUI": { + "stars": 0, + "last_update": "2025-02-05 23:06:48", + "author_account_age_days": 3219 }, "https://github.com/ArtBot2023/CharacterFaceSwap": { - "stars": 77, + "stars": 82, "last_update": "2024-05-22 20:53:09", - "author_account_age_days": 492 + "author_account_age_days": 563 + }, + "https://github.com/ArtHommage/HommageTools": { + "stars": 1, + "last_update": "2025-03-18 20:51:17", + "author_account_age_days": 803 }, "https://github.com/ArtVentureX/comfyui-animatediff": { - "stars": 713, + "stars": 730, "last_update": "2024-05-22 18:16:43", - "author_account_age_days": 604 + "author_account_age_days": 675 }, "https://github.com/AshMartian/ComfyUI-DirGir": { - "stars": 16, - "last_update": "2024-05-29 22:28:55", - "author_account_age_days": 4785 + "stars": 19, + "last_update": "2025-03-16 01:45:38", + "author_account_age_days": 4857 }, "https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction": { "stars": 37, "last_update": "2024-06-14 09:03:24", - "author_account_age_days": 589 + "author_account_age_days": 660 }, "https://github.com/AuroBit/ComfyUI-OOTDiffusion": { - "stars": 427, + "stars": 451, "last_update": "2024-07-12 03:49:27", - "author_account_age_days": 589 + "author_account_age_days": 660 }, "https://github.com/AustinMroz/ComfyUI-DynamicOversampling": { "stars": 0, "last_update": "2024-06-14 07:06:51", - "author_account_age_days": 4273 + "author_account_age_days": 4345 }, "https://github.com/AustinMroz/ComfyUI-MinCache": { "stars": 2, "last_update": "2024-12-25 18:52:07", - "author_account_age_days": 4273 + "author_account_age_days": 4345 }, "https://github.com/AustinMroz/ComfyUI-SpliceTools": { "stars": 6, "last_update": "2024-06-14 07:07:21", - "author_account_age_days": 4273 + "author_account_age_days": 4345 }, "https://github.com/AustinMroz/ComfyUI-WorkflowCheckpointing": { "stars": 10, "last_update": "2024-10-17 19:59:40", - "author_account_age_days": 4273 + "author_account_age_days": 4345 }, "https://github.com/Auttasak-L/ComfyUI-ImageCropper": { "stars": 1, "last_update": "2024-05-23 05:04:53", - "author_account_age_days": 2848 + "author_account_age_days": 2919 }, "https://github.com/BAIS1C/ComfyUI_RSS_Feed_Reader": { - "stars": 5, + "stars": 4, "last_update": "2024-09-13 22:09:17", - "author_account_age_days": 688 + "author_account_age_days": 760 }, "https://github.com/BIMer-99/ComfyUI_FishSpeech_EX": { - "stars": 3, + "stars": 6, "last_update": "2024-12-21 11:35:08", - "author_account_age_days": 1431 + "author_account_age_days": 1502 }, "https://github.com/BIMer-99/Comfyui_Hunyuan3D_EX": { - "stars": 5, + "stars": 6, "last_update": "2024-12-09 17:50:23", - "author_account_age_days": 1431 + "author_account_age_days": 1502 }, "https://github.com/BXYMartin/ComfyUI-InstantIDUtils": { "stars": 3, "last_update": "2024-05-23 00:08:50", - "author_account_age_days": 2642 + "author_account_age_days": 2713 }, "https://github.com/BZcreativ/ComfyUI-FLUX-TOGETHER-API": { - "stars": 2, + "stars": 3, "last_update": "2024-11-02 14:45:28", - "author_account_age_days": 3435 + "author_account_age_days": 3507 }, "https://github.com/BadCafeCode/masquerade-nodes-comfyui": { - "stars": 381, + "stars": 399, "last_update": "2024-06-19 04:16:54", - "author_account_age_days": 629 + "author_account_age_days": 700 + }, + "https://github.com/BahaC/ComfyUI-ZonosTTS": { + "stars": 13, + "last_update": "2025-02-19 06:28:38", + "author_account_age_days": 1576 }, "https://github.com/Beinsezii/bsz-cui-extras": { - "stars": 23, + "stars": 24, "last_update": "2024-05-22 20:46:45", - "author_account_age_days": 2425 + "author_account_age_days": 2496 + }, + "https://github.com/Bellzs/ComfyUI-LoRA-Assistant": { + "stars": 13, + "last_update": "2025-01-27 09:47:46", + "author_account_age_days": 3277 }, "https://github.com/BenNarum/ComfyUI_CAS": { "stars": 2, "last_update": "2024-07-13 12:00:40", - "author_account_age_days": 3271 + "author_account_age_days": 3342 }, "https://github.com/BenNarum/SigmaWaveFormNode": { "stars": 5, "last_update": "2024-06-20 15:20:35", - "author_account_age_days": 3271 + "author_account_age_days": 3342 }, "https://github.com/BennyKok/comfyui-deploy": { - "stars": 1153, - "last_update": "2025-01-08 05:51:06", - "author_account_age_days": 3195 + "stars": 1291, + "last_update": "2025-03-20 01:31:37", + "author_account_age_days": 3266 }, "https://github.com/BetaDoggo/ComfyUI-FastSDCPU": { - "stars": 9, + "stars": 8, "last_update": "2024-09-16 05:34:01", - "author_account_age_days": 996 + "author_account_age_days": 1068 }, "https://github.com/BetaDoggo/ComfyUI-Gatcha-Embedding": { "stars": 1, "last_update": "2024-08-28 00:24:01", - "author_account_age_days": 996 + "author_account_age_days": 1068 }, "https://github.com/BetaDoggo/ComfyUI-VideoPlayer": { - "stars": 16, + "stars": 17, "last_update": "2024-08-05 04:45:12", - "author_account_age_days": 996 + "author_account_age_days": 1068 }, "https://github.com/BetaDoggo/ComfyUI-WDV-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-01 07:59:10", - "author_account_age_days": 996 + "author_account_age_days": 1068 }, "https://github.com/BetaDoggo/ComfyUI-YetAnotherSafetyChecker": { - "stars": 4, + "stars": 5, "last_update": "2024-07-19 18:11:11", - "author_account_age_days": 996 + "author_account_age_days": 1068 }, "https://github.com/Big-Idea-Technology/ComfyUI-Book-Tools": { - "stars": 23, - "last_update": "2024-11-29 21:43:03", - "author_account_age_days": 1070 + "stars": 24, + "last_update": "2025-02-24 14:20:43", + "author_account_age_days": 1142 }, "https://github.com/Big-Idea-Technology/ComfyUI_LLM_Node": { - "stars": 61, + "stars": 63, "last_update": "2024-08-01 08:01:48", - "author_account_age_days": 1070 + "author_account_age_days": 1142 }, "https://github.com/Billius-AI/ComfyUI-Path-Helper": { "stars": 17, "last_update": "2024-05-22 23:25:08", - "author_account_age_days": 333 + "author_account_age_days": 405 }, "https://github.com/Bin-sam/DynamicPose-ComfyUI": { - "stars": 4, + "stars": 5, "last_update": "2024-09-11 12:09:11", - "author_account_age_days": 133 + "author_account_age_days": 204 }, "https://github.com/Black-Lioness/ComfyUI-PromptUtils": { - "stars": 3, + "stars": 2, "last_update": "2024-11-22 03:05:11", - "author_account_age_days": 1054 + "author_account_age_days": 1125 }, "https://github.com/BlackVortexAI/ComfyUI-BVortexNodes": { - "stars": 3, + "stars": 2, "last_update": "2024-10-23 09:19:54", - "author_account_age_days": 154 + "author_account_age_days": 226 }, "https://github.com/BlakeOne/ComfyUI-CustomScheduler": { "stars": 14, "last_update": "2024-05-23 00:23:56", - "author_account_age_days": 2731 + "author_account_age_days": 2803 }, "https://github.com/BlakeOne/ComfyUI-NodePresets": { "stars": 11, "last_update": "2024-05-23 00:24:07", - "author_account_age_days": 2731 + "author_account_age_days": 2803 }, "https://github.com/BlakeOne/ComfyUI-NodeReset": { - "stars": 2, + "stars": 3, "last_update": "2024-05-23 00:24:18", - "author_account_age_days": 2731 + "author_account_age_days": 2803 }, "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": { "stars": 10, "last_update": "2024-05-23 00:23:44", - "author_account_age_days": 2731 + "author_account_age_days": 2803 }, "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": { - "stars": 344, + "stars": 358, "last_update": "2024-08-07 15:13:31", - "author_account_age_days": 676 + "author_account_age_days": 748 }, "https://github.com/BlenderNeko/ComfyUI_Cutoff": { - "stars": 379, + "stars": 384, "last_update": "2024-05-22 15:01:45", - "author_account_age_days": 676 + "author_account_age_days": 748 }, "https://github.com/BlenderNeko/ComfyUI_Noise": { - "stars": 273, + "stars": 285, "last_update": "2024-06-10 16:38:48", - "author_account_age_days": 676 + "author_account_age_days": 748 }, "https://github.com/BlenderNeko/ComfyUI_SeeCoder": { "stars": 38, "last_update": "2024-05-22 14:57:04", - "author_account_age_days": 676 + "author_account_age_days": 748 }, "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": { - "stars": 343, + "stars": 356, "last_update": "2024-05-22 14:56:49", - "author_account_age_days": 676 + "author_account_age_days": 748 }, "https://github.com/Blonicx/ComfyUI-X-Rework": { - "stars": 2, - "last_update": "2024-12-25 00:36:30", - "author_account_age_days": 922 + "stars": 1, + "last_update": "2025-01-23 13:24:32", + "author_account_age_days": 993 + }, + "https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools": { + "stars": 4, + "last_update": "2025-02-22 17:07:39", + "author_account_age_days": 715 + }, + "https://github.com/BoyuanJiang/FitDiT-ComfyUI": { + "stars": 90, + "last_update": "2025-01-21 12:09:05", + "author_account_age_days": 3351 }, "https://github.com/Bria-AI/ComfyUI-BRIA-API": { - "stars": 8, - "last_update": "2025-01-09 12:48:49", - "author_account_age_days": 1676 + "stars": 23, + "last_update": "2025-03-17 12:43:25", + "author_account_age_days": 1748 + }, + "https://github.com/BuffMcBigHuge/ComfyUI-Zonos": { + "stars": 54, + "last_update": "2025-03-07 05:34:07", + "author_account_age_days": 3183 + }, + "https://github.com/Burgstall-labs/ComfyUI-BS_Kokoro-onnx": { + "stars": 33, + "last_update": "2025-01-19 19:05:24", + "author_account_age_days": 61 }, "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": { - "stars": 15, + "stars": 21, "last_update": "2024-06-14 07:13:34", - "author_account_age_days": 684 + "author_account_age_days": 755 + }, + "https://github.com/CC-SUN6/ccsun_node": { + "stars": 0, + "last_update": "2025-02-12 07:58:41", + "author_account_age_days": 639 + }, + "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste": { + "stars": 6, + "last_update": "2025-03-21 06:51:30", + "author_account_age_days": 236 + }, + "https://github.com/CY-CHENYUE/ComfyUI-Free-GPU": { + "stars": 5, + "last_update": "2025-02-16 16:30:36", + "author_account_age_days": 468 + }, + "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API": { + "stars": 102, + "last_update": "2025-03-21 07:29:50", + "author_account_age_days": 468 }, "https://github.com/CY-CHENYUE/ComfyUI-InpaintEasy": { - "stars": 47, - "last_update": "2024-12-07 17:30:21", - "author_account_age_days": 397 + "stars": 59, + "last_update": "2025-01-24 16:09:46", + "author_account_age_days": 468 + }, + "https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro": { + "stars": 549, + "last_update": "2025-01-30 08:08:20", + "author_account_age_days": 468 }, "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-Plus": { "stars": 20, "last_update": "2024-10-09 06:56:04", - "author_account_age_days": 397 + "author_account_age_days": 468 + }, + "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-o": { + "stars": 27, + "last_update": "2025-02-16 18:52:28", + "author_account_age_days": 468 }, "https://github.com/CY-CHENYUE/ComfyUI-Molmo": { - "stars": 105, + "stars": 120, "last_update": "2024-10-14 15:06:36", - "author_account_age_days": 397 + "author_account_age_days": 468 }, "https://github.com/CY-CHENYUE/ComfyUI-OmniGenX": { "stars": 6, - "last_update": "2024-11-06 20:54:39", - "author_account_age_days": 397 + "last_update": "2025-01-24 16:13:13", + "author_account_age_days": 468 }, "https://github.com/CY-CHENYUE/ComfyUI-Redux-Prompt": { - "stars": 44, - "last_update": "2024-12-22 17:12:15", - "author_account_age_days": 397 + "stars": 70, + "last_update": "2025-01-24 15:43:29", + "author_account_age_days": 468 }, "https://github.com/CYBERLOOM-INC/ComfyUI-nodes-hnmr": { - "stars": 7, + "stars": 8, "last_update": "2024-05-22 17:55:41", - "author_account_age_days": 448 + "author_account_age_days": 520 }, "https://github.com/CavinHuang/comfyui-nodes-docs": { - "stars": 176, - "last_update": "2024-07-04 11:29:55", - "author_account_age_days": 2925 + "stars": 201, + "last_update": "2025-03-13 06:46:19", + "author_account_age_days": 2996 }, "https://github.com/Chan-0312/ComfyUI-EasyDeforum": { "stars": 10, "last_update": "2024-05-22 23:22:14", - "author_account_age_days": 2065 + "author_account_age_days": 2136 }, "https://github.com/Chan-0312/ComfyUI-IPAnimate": { - "stars": 72, + "stars": 73, "last_update": "2024-05-22 23:22:03", - "author_account_age_days": 2065 + "author_account_age_days": 2136 }, "https://github.com/Chan-0312/ComfyUI-Prompt-Preview": { "stars": 31, "last_update": "2024-06-14 09:01:37", - "author_account_age_days": 2065 + "author_account_age_days": 2136 }, "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": { - "stars": 27, - "last_update": "2024-12-22 12:10:13", - "author_account_age_days": 2077 + "stars": 33, + "last_update": "2025-02-08 13:11:30", + "author_account_age_days": 2149 }, "https://github.com/Charlweed/image_transceiver": { "stars": 2, "last_update": "2025-01-06 19:22:50", - "author_account_age_days": 5296 + "author_account_age_days": 5367 }, "https://github.com/ChenDarYen/ComfyUI-TimestepShiftModel": { - "stars": 1, + "stars": 8, "last_update": "2025-01-07 18:22:10", - "author_account_age_days": 2100 + "author_account_age_days": 2172 + }, + "https://github.com/Chengym2023/ComfyUI-DeepSeek_Online": { + "stars": 0, + "last_update": "2025-02-22 06:59:04", + "author_account_age_days": 670 }, "https://github.com/ChrisColeTech/ComfyUI-Elegant-Resource-Monitor": { - "stars": 12, + "stars": 11, "last_update": "2024-09-23 21:48:27", - "author_account_age_days": 2611 + "author_account_age_days": 2683 }, "https://github.com/ChrisColeTech/ComfyUI-Line-counter": { - "stars": 3, - "last_update": "2024-09-02 02:30:14", - "author_account_age_days": 2611 + "stars": 2, + "last_update": "2025-03-12 00:07:25", + "author_account_age_days": 2683 }, "https://github.com/ClownsharkBatwing/RES4LYF": { - "stars": 66, - "last_update": "2025-01-09 00:19:02", - "author_account_age_days": 228 + "stars": 94, + "last_update": "2025-03-21 18:26:40", + "author_account_age_days": 300 }, "https://github.com/Clybius/ComfyUI-Extra-Samplers": { - "stars": 74, + "stars": 81, "last_update": "2024-11-15 17:21:45", - "author_account_age_days": 1932 + "author_account_age_days": 2004 }, "https://github.com/Clybius/ComfyUI-Latent-Modifiers": { - "stars": 79, + "stars": 80, "last_update": "2024-06-14 09:02:44", - "author_account_age_days": 1932 + "author_account_age_days": 2004 }, "https://github.com/ComfyUI-JH/ComfyUI-JH-Misc-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-12-28 19:44:14", - "author_account_age_days": 21 + "author_account_age_days": 93 }, "https://github.com/ComfyUI-JH/ComfyUI-JH-XMP-Metadata-Nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-12-31 21:44:05", - "author_account_age_days": 21 + "author_account_age_days": 93 + }, + "https://github.com/ComplexRobot/ComfyUI-Simple-VFI": { + "stars": 0, + "last_update": "2025-03-17 05:10:25", + "author_account_age_days": 4694 + }, + "https://github.com/Conor-Collins/coco_tools": { + "stars": 29, + "last_update": "2025-03-05 17:47:00", + "author_account_age_days": 444 }, "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": { - "stars": 111, - "last_update": "2025-01-07 15:03:52", - "author_account_age_days": 3854 + "stars": 119, + "last_update": "2025-02-25 07:21:18", + "author_account_age_days": 3925 }, "https://github.com/CpreForEver/CFE_comfyui": { - "stars": 1, + "stars": 0, "last_update": "2024-12-09 01:38:42", - "author_account_age_days": 151 + "author_account_age_days": 223 }, "https://github.com/Creeper-MZ/comfyui_nai_api": { - "stars": 1, + "stars": 0, "last_update": "2024-10-02 21:30:26", - "author_account_age_days": 1202 + "author_account_age_days": 1273 + }, + "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python": { + "stars": 1, + "last_update": "2025-03-18 00:51:34", + "author_account_age_days": 3456 }, "https://github.com/CyanAutumn/ComfyUi_Random_Manage_Cyan": { - "stars": 4, + "stars": 3, "last_update": "2024-12-19 10:54:08", - "author_account_age_days": 1301 + "author_account_age_days": 1372 }, "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption": { - "stars": 10, - "last_update": "2024-12-30 07:38:13", - "author_account_age_days": 614 + "stars": 11, + "last_update": "2025-03-14 14:08:12", + "author_account_age_days": 685 }, "https://github.com/Cyber-Blacat/ComfyUI-Yuan": { - "stars": 6, - "last_update": "2025-01-03 06:20:11", - "author_account_age_days": 614 + "stars": 8, + "last_update": "2025-03-14 14:06:41", + "author_account_age_days": 685 }, "https://github.com/Cyberschorsch/ComfyUI-checkpoint-config-loader": { "stars": 1, "last_update": "2024-07-31 13:54:16", - "author_account_age_days": 5357 + "author_account_age_days": 5428 + }, + "https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes": { + "stars": 3, + "last_update": "2025-02-02 00:46:30", + "author_account_age_days": 59 }, "https://github.com/Danand/ComfyUI-ComfyCouple": { - "stars": 32, + "stars": 53, "last_update": "2024-08-10 22:24:01", - "author_account_age_days": 4487 + "author_account_age_days": 4559 }, "https://github.com/DanielHabib/ComfyUI-Voxels": { - "stars": 4, + "stars": 3, "last_update": "2024-09-16 15:41:02", - "author_account_age_days": 3782 + "author_account_age_days": 3854 }, "https://github.com/DareFail/ComfyUI-Roboflow": { "stars": 32, "last_update": "2024-09-25 18:30:43", - "author_account_age_days": 4786 + "author_account_age_days": 4857 }, "https://github.com/DarioFT/ComfyUI-VideoDirCombiner": { - "stars": 3, - "last_update": "2024-12-22 14:37:21", - "author_account_age_days": 3676 + "stars": 5, + "last_update": "2025-03-08 13:58:12", + "author_account_age_days": 3747 }, "https://github.com/DataCTE/prompt_injection": { - "stars": 87, + "stars": 88, "last_update": "2024-06-21 12:56:43", - "author_account_age_days": 976 + "author_account_age_days": 1048 }, "https://github.com/Dayuppy/ComfyUI-DiscordWebhook": { - "stars": 4, + "stars": 3, "last_update": "2024-10-12 05:12:07", - "author_account_age_days": 4414 + "author_account_age_days": 4486 }, "https://github.com/DeJoker/pipeline-parallel-comfy": { "stars": 3, "last_update": "2024-07-29 06:59:37", - "author_account_age_days": 3189 + "author_account_age_days": 3261 + }, + "https://github.com/Deep-Neko/ComfyUI_ascii_art": { + "stars": 1, + "last_update": "2025-02-24 13:07:36", + "author_account_age_days": 25 }, "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": { - "stars": 378, + "stars": 397, "last_update": "2024-06-22 02:12:19", - "author_account_age_days": 1973 + "author_account_age_days": 2045 }, "https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes": { - "stars": 11, - "last_update": "2025-01-05 19:51:56", - "author_account_age_days": 345 + "stars": 14, + "last_update": "2025-02-19 13:31:18", + "author_account_age_days": 416 + }, + "https://github.com/DiaoDaiaChan/ComfyUI_API_Request": { + "stars": 2, + "last_update": "2025-03-08 07:15:44", + "author_account_age_days": 755 }, "https://github.com/DigitalIO/ComfyUI-stable-wildcards": { - "stars": 25, - "last_update": "2024-08-12 19:00:17", - "author_account_age_days": 4237 + "stars": 24, + "last_update": "2025-03-17 17:53:33", + "author_account_age_days": 4309 }, "https://github.com/DimaChaichan/LAizypainter-Exporter-ComfyUI": { "stars": 6, "last_update": "2024-05-22 23:14:06", - "author_account_age_days": 3272 + "author_account_age_days": 3343 + }, + "https://github.com/Diohim/ComfyUI-Unusual-Tools": { + "stars": 0, + "last_update": "2025-03-17 12:47:19", + "author_account_age_days": 50 }, "https://github.com/Dobidop/ComfyStereo": { - "stars": 12, - "last_update": "2024-08-06 19:59:34", - "author_account_age_days": 1659 + "stars": 17, + "last_update": "2025-03-09 13:08:15", + "author_account_age_days": 1730 }, "https://github.com/DoctorDiffusion/ComfyUI-BEN": { - "stars": 19, + "stars": 39, "last_update": "2024-12-15 18:19:01", - "author_account_age_days": 540 + "author_account_age_days": 612 }, "https://github.com/DoctorDiffusion/ComfyUI-MediaMixer": { - "stars": 8, + "stars": 12, "last_update": "2024-12-05 03:05:44", - "author_account_age_days": 540 + "author_account_age_days": 612 }, "https://github.com/DoctorDiffusion/ComfyUI-Schedulizer": { "stars": 6, "last_update": "2024-11-30 03:13:29", - "author_account_age_days": 540 + "author_account_age_days": 612 }, "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil": { - "stars": 3, + "stars": 4, "last_update": "2024-12-31 00:59:19", - "author_account_age_days": 540 + "author_account_age_days": 612 }, "https://github.com/DoctorDiffusion/ComfyUI-basic-pitch": { - "stars": 2, + "stars": 1, "last_update": "2024-12-25 19:07:11", - "author_account_age_days": 540 + "author_account_age_days": 612 }, "https://github.com/DrJKL/ComfyUI-Anchors": { "stars": 6, "last_update": "2024-06-20 18:23:00", - "author_account_age_days": 5193 + "author_account_age_days": 5265 }, "https://github.com/DrMWeigand/ComfyUI-StereoVision": { - "stars": 3, - "last_update": "2024-10-26 06:50:01", - "author_account_age_days": 1231 + "stars": 6, + "last_update": "2025-02-04 14:24:46", + "author_account_age_days": 1302 }, "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": { "stars": 3, "last_update": "2024-07-15 13:21:10", - "author_account_age_days": 1231 + "author_account_age_days": 1302 + }, + "https://github.com/DraconicDragon/ComfyUI-Venice-API": { + "stars": 5, + "last_update": "2025-03-16 17:50:45", + "author_account_age_days": 1644 + }, + "https://github.com/DragonDiffusionbyBoyo/Boyonodes": { + "stars": 1, + "last_update": "2025-02-08 03:31:10", + "author_account_age_days": 82 + }, + "https://github.com/Duanyll/duanyll_nodepack": { + "stars": 0, + "last_update": "2025-03-12 08:41:14", + "author_account_age_days": 3003 }, "https://github.com/Eagle-CN/ComfyUI-Addoor": { - "stars": 21, - "last_update": "2025-01-07 01:35:48", - "author_account_age_days": 2826 + "stars": 39, + "last_update": "2025-01-24 07:50:20", + "author_account_age_days": 2897 + }, + "https://github.com/Easymode-ai/ComfyUI-BPT": { + "stars": 5, + "last_update": "2025-02-28 00:32:37", + "author_account_age_days": 1543 + }, + "https://github.com/Easymode-ai/ComfyUI-ShadowR": { + "stars": 6, + "last_update": "2025-02-21 20:53:27", + "author_account_age_days": 1543 }, "https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes": { - "stars": 66, + "stars": 68, "last_update": "2024-09-01 11:43:02", - "author_account_age_days": 4916 + "author_account_age_days": 4987 }, "https://github.com/Elaine-chennn/comfyui-overlay-media": { - "stars": 1, + "stars": 0, "last_update": "2024-10-09 11:07:46", - "author_account_age_days": 1342 + "author_account_age_days": 1413 }, "https://github.com/Electrofried/ComfyUI-OpenAINode": { - "stars": 23, + "stars": 25, "last_update": "2024-06-14 09:01:22", - "author_account_age_days": 2819 + "author_account_age_days": 2890 }, "https://github.com/EllangoK/ComfyUI-post-processing-nodes": { - "stars": 192, - "last_update": "2024-08-09 17:20:17", - "author_account_age_days": 2977 + "stars": 211, + "last_update": "2025-01-20 07:16:46", + "author_account_age_days": 3048 + }, + "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution": { + "stars": 5, + "last_update": "2025-01-28 16:30:52", + "author_account_age_days": 239 }, "https://github.com/EnragedAntelope/ComfyUI-Doubutsu-Describer": { "stars": 10, "last_update": "2024-07-29 01:21:20", - "author_account_age_days": 168 + "author_account_age_days": 239 + }, + "https://github.com/EnragedAntelope/ComfyUI-EACloudNodes": { + "stars": 4, + "last_update": "2025-02-28 19:49:38", + "author_account_age_days": 239 }, "https://github.com/EvilBT/ComfyUI_SLK_joy_caption_two": { - "stars": 273, + "stars": 437, "last_update": "2024-10-22 09:13:15", - "author_account_age_days": 3798 + "author_account_age_days": 3869 }, "https://github.com/Excidos/ComfyUI-Documents": { - "stars": 41, + "stars": 51, "last_update": "2024-07-11 20:15:21", - "author_account_age_days": 206 + "author_account_age_days": 277 }, "https://github.com/Excidos/ComfyUI-Lumina-Next-SFT-DiffusersWrapper": { "stars": 15, "last_update": "2024-07-30 10:27:07", - "author_account_age_days": 206 + "author_account_age_days": 277 }, "https://github.com/ExponentialML/ComfyUI_ModelScopeT2V": { - "stars": 27, + "stars": 26, "last_update": "2024-05-23 00:12:17", - "author_account_age_days": 1822 + "author_account_age_days": 1894 }, "https://github.com/ExponentialML/ComfyUI_Native_DynamiCrafter": { - "stars": 112, + "stars": 111, "last_update": "2024-06-08 02:33:02", - "author_account_age_days": 1822 + "author_account_age_days": 1894 }, "https://github.com/ExponentialML/ComfyUI_VisualStylePrompting": { - "stars": 284, + "stars": 293, "last_update": "2024-05-23 00:12:41", - "author_account_age_days": 1822 + "author_account_age_days": 1894 }, "https://github.com/ExterminanzHS/Gecco-Discord-Autosend": { - "stars": 2, + "stars": 1, "last_update": "2024-09-05 12:33:30", - "author_account_age_days": 3407 + "author_account_age_days": 3478 }, "https://github.com/Extraltodeus/ComfyUI-AutomaticCFG": { - "stars": 377, + "stars": 396, "last_update": "2024-09-10 17:44:50", - "author_account_age_days": 3348 + "author_account_age_days": 3420 + }, + "https://github.com/Extraltodeus/DistanceSampler": { + "stars": 7, + "last_update": "2025-02-15 00:22:11", + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/LoadLoraWithTags": { - "stars": 63, - "last_update": "2024-11-23 12:05:02", - "author_account_age_days": 3348 + "stars": 66, + "last_update": "2025-02-25 18:12:40", + "author_account_age_days": 3420 + }, + "https://github.com/Extraltodeus/Negative-attention-for-ComfyUI-": { + "stars": 8, + "last_update": "2025-03-20 15:10:24", + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/Skimmed_CFG": { - "stars": 160, + "stars": 172, "last_update": "2024-10-25 20:59:10", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": { - "stars": 41, + "stars": 43, "last_update": "2024-07-10 00:27:51", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/Uncond-Zero-for-ComfyUI": { "stars": 44, "last_update": "2024-07-10 00:27:36", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/Vector_Sculptor_ComfyUI": { - "stars": 112, + "stars": 118, "last_update": "2024-08-28 05:29:07", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/noise_latent_perlinpinpin": { "stars": 33, "last_update": "2024-08-13 14:19:11", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/pre_cfg_comfy_nodes_for_ComfyUI": { - "stars": 39, + "stars": 40, "last_update": "2024-09-23 02:53:31", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Extraltodeus/sigmas_tools_and_the_golden_scheduler": { - "stars": 71, + "stars": 78, "last_update": "2024-12-13 00:18:40", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": { - "stars": 549, - "last_update": "2024-10-11 04:50:47", - "author_account_age_days": 3331 - }, - "https://github.com/Fannovel16/ComfyUI-Loopchain": { - "stars": 31, - "last_update": "2023-12-15 14:25:35", - "author_account_age_days": 3331 + "stars": 628, + "last_update": "2025-03-14 00:08:06", + "author_account_age_days": 3402 }, "https://github.com/Fannovel16/ComfyUI-MagickWand": { - "stars": 97, + "stars": 108, "last_update": "2024-08-01 01:00:58", - "author_account_age_days": 3331 + "author_account_age_days": 3402 }, "https://github.com/Fannovel16/ComfyUI-MotionDiff": { - "stars": 182, + "stars": 191, "last_update": "2024-08-01 01:01:53", - "author_account_age_days": 3331 + "author_account_age_days": 3402 }, "https://github.com/Fannovel16/ComfyUI-Video-Matting": { - "stars": 195, + "stars": 200, "last_update": "2024-08-14 01:28:50", - "author_account_age_days": 3331 + "author_account_age_days": 3402 }, "https://github.com/Fannovel16/comfyui_controlnet_aux": { - "stars": 2483, - "last_update": "2024-10-28 22:08:11", - "author_account_age_days": 3331 + "stars": 2781, + "last_update": "2025-03-11 20:05:02", + "author_account_age_days": 3402 }, "https://github.com/Fantaxico/ComfyUI-GCP-Storage": { "stars": 2, "last_update": "2024-06-14 09:05:52", - "author_account_age_days": 735 + "author_account_age_days": 806 }, "https://github.com/Feidorian/feidorian-ComfyNodes": { "stars": 5, "last_update": "2024-06-20 11:31:37", - "author_account_age_days": 2954 + "author_account_age_days": 3025 }, "https://github.com/Fictiverse/ComfyUI_Fictiverse": { - "stars": 14, + "stars": 13, "last_update": "2024-12-02 16:48:03", - "author_account_age_days": 870 + "author_account_age_days": 942 }, "https://github.com/Fihade/IC-Light-ComfyUI-Node": { - "stars": 6, + "stars": 7, "last_update": "2024-07-02 03:47:17", - "author_account_age_days": 2946 + "author_account_age_days": 3017 }, "https://github.com/FinetunersAI/ComfyUI_Finetuners_Suite": { "stars": 3, - "last_update": "2025-01-07 13:51:47", - "author_account_age_days": 220 + "last_update": "2025-01-30 08:30:13", + "author_account_age_days": 291 }, "https://github.com/FizzleDorf/ComfyUI-AIT": { "stars": 51, "last_update": "2024-06-22 03:13:05", - "author_account_age_days": 2178 + "author_account_age_days": 2250 }, "https://github.com/FizzleDorf/ComfyUI_FizzNodes": { - "stars": 411, + "stars": 418, "last_update": "2024-10-29 01:51:46", - "author_account_age_days": 2178 + "author_account_age_days": 2250 }, "https://github.com/FlyingFireCo/tiled_ksampler": { - "stars": 70, + "stars": 77, "last_update": "2024-05-22 23:15:17", - "author_account_age_days": 831 + "author_account_age_days": 903 }, "https://github.com/ForeignGods/ComfyUI-Mana-Nodes": { - "stars": 219, + "stars": 229, "last_update": "2024-05-29 18:29:05", - "author_account_age_days": 1443 + "author_account_age_days": 1514 }, "https://github.com/Franck-Demongin/NX_HuggingFace_Flux": { - "stars": 2, + "stars": 3, "last_update": "2024-08-14 02:17:21", - "author_account_age_days": 1970 + "author_account_age_days": 2041 }, "https://github.com/Franck-Demongin/NX_PromptStyler": { "stars": 8, "last_update": "2024-05-22 23:25:21", - "author_account_age_days": 1970 + "author_account_age_days": 2041 }, "https://github.com/Franck-Demongin/NX_Translator": { - "stars": 1, + "stars": 0, "last_update": "2024-08-14 02:17:01", - "author_account_age_days": 1970 + "author_account_age_days": 2041 }, "https://github.com/FredBill1/comfyui-fb-utils": { "stars": 1, - "last_update": "2024-05-23 01:41:02", - "author_account_age_days": 2516 + "last_update": "2025-03-14 08:09:14", + "author_account_age_days": 2587 }, "https://github.com/FuouM/ComfyUI-EbSynth": { - "stars": 84, + "stars": 88, "last_update": "2024-08-17 15:44:49", - "author_account_age_days": 1880 + "author_account_age_days": 1951 }, "https://github.com/FuouM/ComfyUI-FirstOrderMM": { "stars": 5, "last_update": "2024-08-17 15:26:38", - "author_account_age_days": 1880 + "author_account_age_days": 1951 }, "https://github.com/FuouM/ComfyUI-StyleTransferPlus": { - "stars": 8, + "stars": 9, "last_update": "2024-08-14 15:42:37", - "author_account_age_days": 1880 + "author_account_age_days": 1951 }, "https://github.com/FuouM/FM_nodes": { "stars": 4, "last_update": "2024-08-12 04:49:06", - "author_account_age_days": 1880 + "author_account_age_days": 1951 }, "https://github.com/Fuwuffyi/ComfyUI-VisualArea-Nodes": { - "stars": 58, + "stars": 66, "last_update": "2024-11-05 17:00:49", - "author_account_age_days": 1361 + "author_account_age_days": 1433 }, "https://github.com/G-370/ComfyUI-SD3-Powerlab": { "stars": 20, "last_update": "2024-06-22 19:17:18", - "author_account_age_days": 1718 + "author_account_age_days": 1789 }, - "https://github.com/GMapeSplat/ComfyUI_ezXY": { - "stars": 26, - "last_update": "2024-09-04 03:00:13", - "author_account_age_days": 1496 + "https://github.com/GHOSTLXH/ComfyUI-Counternodes": { + "stars": 10, + "last_update": "2025-02-20 12:58:43", + "author_account_age_days": 2439 }, "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": { - "stars": 8, + "stars": 11, "last_update": "2024-05-22 21:31:52", - "author_account_age_days": 2755 + "author_account_age_days": 2827 }, "https://github.com/GadzoinksOfficial/gadzoinks_ComfyUI": { - "stars": 1, - "last_update": "2024-11-11 14:46:34", - "author_account_age_days": 355 + "stars": 0, + "last_update": "2025-03-12 17:17:50", + "author_account_age_days": 426 + }, + "https://github.com/GamingDaveUk/daves_nodes": { + "stars": 0, + "last_update": "2025-02-22 06:22:19", + "author_account_age_days": 702 }, "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": { - "stars": 12, - "last_update": "2024-10-10 20:39:32", - "author_account_age_days": 4767 + "stars": 11, + "last_update": "2025-03-07 14:22:14", + "author_account_age_days": 4838 + }, + "https://github.com/GeekyGhost/ComfyUI-Geeky-Kokoro-TTS": { + "stars": 13, + "last_update": "2025-03-21 11:44:13", + "author_account_age_days": 940 }, "https://github.com/GeekyGhost/ComfyUI-GeekyRemB": { - "stars": 40, - "last_update": "2024-12-06 15:42:18", - "author_account_age_days": 869 + "stars": 44, + "last_update": "2025-03-17 14:32:20", + "author_account_age_days": 940 }, "https://github.com/GentlemanHu/ComfyUI-SunoAI": { "stars": 18, "last_update": "2024-12-17 11:46:33", - "author_account_age_days": 2582 + "author_account_age_days": 2653 }, "https://github.com/GiusTex/ComfyUI-DiffusersImageOutpaint": { - "stars": 66, + "stars": 74, "last_update": "2024-12-01 00:43:54", - "author_account_age_days": 864 + "author_account_age_days": 936 }, "https://github.com/Goktug/comfyui-saveimage-plus": { - "stars": 9, + "stars": 11, "last_update": "2024-11-13 06:03:10", - "author_account_age_days": 5131 + "author_account_age_days": 5202 }, - "https://github.com/Gourieff/comfyui-reactor-node": { - "stars": 1763, - "last_update": "2025-01-06 11:39:00", - "author_account_age_days": 1318 + "https://github.com/Gourieff/ComfyUI-ReActor": { + "stars": 375, + "last_update": "2025-03-09 17:04:21", + "author_account_age_days": 1390 + }, + "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR": { + "stars": 50, + "last_update": "2025-02-24 07:15:35", + "author_account_age_days": 433 }, "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": { - "stars": 55, - "last_update": "2024-12-16 10:18:14", - "author_account_age_days": 362 + "stars": 58, + "last_update": "2025-03-17 18:03:07", + "author_account_age_days": 433 }, "https://github.com/GraftingRayman/ComfyUI_QueueTube": { "stars": 0, "last_update": "2025-01-08 20:59:13", - "author_account_age_days": 362 + "author_account_age_days": 433 }, "https://github.com/GreenLandisaLie/AuraSR-ComfyUI": { - "stars": 163, + "stars": 181, "last_update": "2024-09-04 10:58:03", - "author_account_age_days": 1396 + "author_account_age_days": 1468 }, "https://github.com/GrenKain/PixelArt-Processing-Nodes-for-ComfyUI": { - "stars": 5, + "stars": 6, "last_update": "2024-09-06 11:37:05", - "author_account_age_days": 2609 + "author_account_age_days": 2680 }, "https://github.com/GrvBdgr/comfyui-negativewildcardsprocessor": { - "stars": 2, + "stars": 1, "last_update": "2024-11-15 19:46:39", - "author_account_age_days": 71 + "author_account_age_days": 143 }, "https://github.com/Guillaume-Fgt/ComfyUI_StableCascadeLatentRatio": { "stars": 3, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1679 + "author_account_age_days": 1750 }, "https://github.com/HAL41/ComfyUI-aichemy-nodes": { "stars": 4, "last_update": "2024-05-22 23:10:19", - "author_account_age_days": 3045 + "author_account_age_days": 3116 }, "https://github.com/HECer/ComfyUI-FilePathCreator": { "stars": 7, "last_update": "2024-10-20 14:41:48", - "author_account_age_days": 3179 + "author_account_age_days": 3250 + }, + "https://github.com/HJH-AILab/ComfyUI_StableAnimator": { + "stars": 9, + "last_update": "2025-02-26 07:22:46", + "author_account_age_days": 39 }, "https://github.com/HM-RunningHub/ComfyUI_RH_APICall": { - "stars": 12, - "last_update": "2025-01-05 16:34:15", - "author_account_age_days": 28 + "stars": 32, + "last_update": "2025-03-21 08:43:16", + "author_account_age_days": 99 }, "https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl": { - "stars": 109, + "stars": 118, "last_update": "2024-12-20 08:41:09", - "author_account_age_days": 28 + "author_account_age_days": 99 }, "https://github.com/Haiper-ai/ComfyUI-HaiperAI-API": { - "stars": 9, + "stars": 10, "last_update": "2024-12-06 18:08:50", - "author_account_age_days": 1199 + "author_account_age_days": 1270 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream": { - "stars": 45, - "last_update": "2025-01-04 20:41:38", - "author_account_age_days": 809 + "stars": 47, + "last_update": "2025-01-23 16:54:55", + "author_account_age_days": 880 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes": { "stars": 40, "last_update": "2024-06-14 08:08:28", - "author_account_age_days": 809 + "author_account_age_days": 880 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything": { - "stars": 20, + "stars": 21, "last_update": "2024-06-14 08:10:52", - "author_account_age_days": 809 + "author_account_age_days": 880 + }, + "https://github.com/HannibalP/comfyui-HannibalPack": { + "stars": 0, + "last_update": "2025-03-11 23:36:33", + "author_account_age_days": 2875 }, "https://github.com/Haoming02/comfyui-clear-screen": { - "stars": 2, - "last_update": "2024-09-09 09:14:41", - "author_account_age_days": 1530 + "stars": 1, + "last_update": "2025-03-14 06:47:03", + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-diffusion-cg": { - "stars": 90, + "stars": 93, "last_update": "2024-10-12 13:39:00", - "author_account_age_days": 1530 + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-floodgate": { "stars": 30, - "last_update": "2024-08-02 06:21:25", - "author_account_age_days": 1530 + "last_update": "2025-03-14 06:46:50", + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-menu-anchor": { - "stars": 4, + "stars": 3, "last_update": "2024-10-19 11:42:51", - "author_account_age_days": 1530 + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-node-beautify": { "stars": 8, - "last_update": "2024-09-09 09:04:35", - "author_account_age_days": 1530 + "last_update": "2025-03-14 06:46:56", + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-old-photo-restoration": { - "stars": 27, + "stars": 37, "last_update": "2024-11-05 02:18:05", - "author_account_age_days": 1530 + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-prompt-format": { - "stars": 33, + "stars": 32, "last_update": "2024-09-20 04:29:03", - "author_account_age_days": 1530 + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-resharpen": { - "stars": 44, + "stars": 46, "last_update": "2024-08-20 05:21:20", - "author_account_age_days": 1530 + "author_account_age_days": 1601 }, "https://github.com/Haoming02/comfyui-tab-handler": { - "stars": 5, + "stars": 4, "last_update": "2024-09-09 09:20:58", - "author_account_age_days": 1530 + "author_account_age_days": 1601 }, "https://github.com/HaydenReeve/ComfyUI-Better-Strings": { - "stars": 3, + "stars": 2, "last_update": "2024-11-18 11:08:29", - "author_account_age_days": 2441 + "author_account_age_days": 2512 }, "https://github.com/HeadshotPro/ComfyUI-HeadshotPro": { - "stars": 2, + "stars": 1, "last_update": "2024-08-14 04:00:34", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/HebelHuber/comfyui-enhanced-save-node": { "stars": 2, "last_update": "2024-06-14 08:59:28", - "author_account_age_days": 2523 + "author_account_age_days": 2594 + }, + "https://github.com/HellerCommaA/ComfyUI-VideoResolutions": { + "stars": 1, + "last_update": "2025-01-19 14:06:16", + "author_account_age_days": 4598 + }, + "https://github.com/Hellfiredragon/comfyui-image-manipulation": { + "stars": 0, + "last_update": "2025-02-17 23:25:53", + "author_account_age_days": 2005 }, "https://github.com/HelloVision/ComfyUI_HelloMeme": { - "stars": 328, - "last_update": "2024-12-23 03:22:54", - "author_account_age_days": 112 + "stars": 340, + "last_update": "2025-02-24 11:19:21", + "author_account_age_days": 183 }, "https://github.com/Hellrunner2k/ComfyUI-HellrunnersMagicalNodes": { - "stars": 2, + "stars": 1, "last_update": "2024-09-05 17:29:43", - "author_account_age_days": 3283 + "author_account_age_days": 3355 }, "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": { "stars": 6, "last_update": "2024-08-14 01:25:26", - "author_account_age_days": 1897 + "author_account_age_days": 1969 + }, + "https://github.com/Holasyb918/Ghost2_Comfyui": { + "stars": 1, + "last_update": "2025-03-14 02:41:21", + "author_account_age_days": 906 }, "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": { "stars": 4, - "last_update": "2025-01-07 06:23:17", - "author_account_age_days": 387 + "last_update": "2025-03-02 19:52:05", + "author_account_age_days": 459 + }, + "https://github.com/HowToSD/ComfyUI-Data-Analysis": { + "stars": 11, + "last_update": "2025-03-19 03:31:43", + "author_account_age_days": 445 + }, + "https://github.com/HowToSD/ComfyUI-Pt-Wrapper": { + "stars": 4, + "last_update": "2025-03-21 23:50:11", + "author_account_age_days": 445 }, "https://github.com/Hullabalo/ComfyUI-Loop": { - "stars": 3, + "stars": 4, "last_update": "2025-01-08 01:15:33", - "author_account_age_days": 809 + "author_account_age_days": 881 }, "https://github.com/IDGallagher/ComfyUI-IG-Motion-I2V": { - "stars": 33, + "stars": 35, "last_update": "2024-09-30 10:38:22", - "author_account_age_days": 5680 + "author_account_age_days": 5751 }, "https://github.com/IDGallagher/ComfyUI-IG-Nodes": { - "stars": 3, + "stars": 2, "last_update": "2024-10-10 10:23:48", - "author_account_age_days": 5680 + "author_account_age_days": 5751 + }, + "https://github.com/IDGallagher/MotionVideoSearch": { + "stars": 10, + "last_update": "2025-01-13 09:37:08", + "author_account_age_days": 5751 }, "https://github.com/ITurchenko/ComfyUI-SizeFromArray": { - "stars": 1, + "stars": 0, "last_update": "2024-08-01 08:45:43", - "author_account_age_days": 3908 + "author_account_age_days": 3979 }, "https://github.com/IamCreateAI/Ruyi-Models": { - "stars": 421, - "last_update": "2025-01-06 05:58:25", - "author_account_age_days": 31 + "stars": 511, + "last_update": "2025-01-20 12:21:40", + "author_account_age_days": 102 }, "https://github.com/Iemand005/ComfyUI-Touch-Gestures": { "stars": 3, - "last_update": "2024-11-13 12:30:01", - "author_account_age_days": 1696 + "last_update": "2025-02-03 00:25:14", + "author_account_age_days": 1768 }, "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures": { - "stars": 1, - "last_update": "2024-12-08 23:56:49", - "author_account_age_days": 1696 + "stars": 2, + "last_update": "2025-02-03 00:21:47", + "author_account_age_days": 1768 }, "https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository": { "stars": 3, "last_update": "2024-12-28 20:21:22", - "author_account_age_days": 2429 + "author_account_age_days": 2500 + }, + "https://github.com/Immac/ComfyUI-CoreVideoMocks": { + "stars": 1, + "last_update": "2025-03-17 20:21:25", + "author_account_age_days": 4449 }, "https://github.com/ImmortalPie/ComfyUI-PonySwitch": { "stars": 10, "last_update": "2024-08-18 14:05:08", - "author_account_age_days": 4021 + "author_account_age_days": 4093 + }, + "https://github.com/InceptionsAI/ComfyUI-RunComfy-Helper": { + "stars": 2, + "last_update": "2025-03-06 05:20:20", + "author_account_age_days": 800 }, "https://github.com/InstantStudioAI/ComfyUI-InstantStudio": { - "stars": 5, - "last_update": "2025-01-07 08:01:08", - "author_account_age_days": 29 + "stars": 4, + "last_update": "2025-03-10 11:45:49", + "author_account_age_days": 100 }, "https://github.com/Intersection98/ComfyUI_MX_post_processing-nodes": { - "stars": 9, + "stars": 12, "last_update": "2024-05-23 01:12:46", - "author_account_age_days": 2829 + "author_account_age_days": 2900 }, "https://github.com/Inzaniak/comfyui-ranbooru": { - "stars": 12, + "stars": 15, "last_update": "2024-05-22 23:12:23", - "author_account_age_days": 4108 + "author_account_age_days": 4180 }, "https://github.com/IsItDanOrAi/ComfyUI-Stereopsis": { - "stars": 10, + "stars": 9, "last_update": "2024-09-21 21:39:11", - "author_account_age_days": 310 + "author_account_age_days": 382 }, "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows": { - "stars": 21, + "stars": 24, "last_update": "2024-12-21 19:28:35", - "author_account_age_days": 1291 + "author_account_age_days": 1362 }, "https://github.com/Isi-dev/ComfyUI-Img2DrawingAssistants": { - "stars": 16, + "stars": 17, "last_update": "2024-12-15 10:03:55", - "author_account_age_days": 1291 + "author_account_age_days": 1362 }, "https://github.com/Isi-dev/ComfyUI-Img2PaintingAssistant": { "stars": 8, "last_update": "2024-12-15 11:00:51", - "author_account_age_days": 1291 + "author_account_age_days": 1362 }, "https://github.com/Isi-dev/ComfyUI-UniAnimate-W": { - "stars": 79, - "last_update": "2024-12-30 22:35:00", - "author_account_age_days": 1291 + "stars": 158, + "last_update": "2025-03-11 10:32:39", + "author_account_age_days": 1362 }, "https://github.com/Isulion/ComfyUI_Isulion": { - "stars": 27, - "last_update": "2025-01-05 23:34:37", - "author_account_age_days": 556 + "stars": 32, + "last_update": "2025-03-13 14:07:51", + "author_account_age_days": 628 }, "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4": { - "stars": 155, + "stars": 171, "last_update": "2024-09-03 02:02:45", - "author_account_age_days": 610 + "author_account_age_days": 681 }, "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-Audio-7B-Instruct-Int4": { "stars": 9, "last_update": "2024-09-26 08:29:21", - "author_account_age_days": 610 + "author_account_age_days": 681 }, "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-VL-Instruct": { - "stars": 74, + "stars": 85, "last_update": "2024-09-26 08:31:38", - "author_account_age_days": 610 + "author_account_age_days": 681 }, "https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes": { - "stars": 3, - "last_update": "2024-12-21 11:56:14", - "author_account_age_days": 2766 + "stars": 2, + "last_update": "2025-01-27 19:09:46", + "author_account_age_days": 2837 }, "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": { - "stars": 56, + "stars": 67, "last_update": "2024-05-22 20:39:14", - "author_account_age_days": 515 + "author_account_age_days": 586 }, "https://github.com/JPrevots/ComfyUI-PhyCV": { - "stars": 2, - "last_update": "2024-08-19 22:00:21", - "author_account_age_days": 758 + "stars": 1, + "last_update": "2025-02-21 11:36:11", + "author_account_age_days": 829 + }, + "https://github.com/JTriggerFish/ComfyLatentTools": { + "stars": 1, + "last_update": "2025-02-25 23:59:27", + "author_account_age_days": 4269 }, "https://github.com/JackEllie/ComfyUI_AI_Assistant": { - "stars": 25, + "stars": 24, "last_update": "2024-09-05 03:42:14", - "author_account_age_days": 770 + "author_account_age_days": 841 }, "https://github.com/Jaminanim/ComfyUI-Random-Int-Divisor-Node": { - "stars": 1, + "stars": 0, "last_update": "2025-01-07 06:50:58", - "author_account_age_days": 1761 + "author_account_age_days": 1832 }, "https://github.com/Jannchie/ComfyUI-J": { - "stars": 84, + "stars": 89, "last_update": "2024-09-14 15:22:29", - "author_account_age_days": 2752 + "author_account_age_days": 2823 }, "https://github.com/JaredTherriault/ComfyUI-JNodes": { - "stars": 50, - "last_update": "2025-01-06 00:41:21", - "author_account_age_days": 3771 + "stars": 57, + "last_update": "2025-03-08 00:20:05", + "author_account_age_days": 3842 }, "https://github.com/Jash-Vora/ComfyUI-GarmentDiT": { - "stars": 2, + "stars": 3, "last_update": "2025-01-04 08:22:14", - "author_account_age_days": 609 + "author_account_age_days": 681 }, "https://github.com/JcandZero/ComfyUI_GLM4Node": { "stars": 26, "last_update": "2024-05-22 23:12:46", - "author_account_age_days": 889 + "author_account_age_days": 960 }, "https://github.com/Jcd1230/rembg-comfyui-node": { - "stars": 156, + "stars": 157, "last_update": "2024-05-22 17:58:34", - "author_account_age_days": 5085 + "author_account_age_days": 5156 }, "https://github.com/JerryOrbachJr/ComfyUI-RandomSize": { "stars": 4, "last_update": "2024-08-25 18:35:55", - "author_account_age_days": 354 + "author_account_age_days": 426 }, "https://github.com/JettHu/ComfyUI-TCD": { - "stars": 119, + "stars": 123, "last_update": "2024-07-31 13:50:21", - "author_account_age_days": 2557 + "author_account_age_days": 2628 }, "https://github.com/JettHu/ComfyUI_TGate": { - "stars": 89, + "stars": 94, "last_update": "2024-09-24 02:15:59", - "author_account_age_days": 2557 + "author_account_age_days": 2628 }, - "https://github.com/JichaoLiang/Immortal_comfyUI": { - "stars": 3, - "last_update": "2024-12-11 07:46:34", - "author_account_age_days": 1222 + "https://github.com/JiSenHua/ComfyUI-TD": { + "stars": 24, + "last_update": "2025-03-13 08:14:19", + "author_account_age_days": 1014 + }, + "https://github.com/JohanK66/ComfyUI-WebhookImage": { + "stars": 0, + "last_update": "2025-03-10 19:38:53", + "author_account_age_days": 21 + }, + "https://github.com/JohnDoeSmithee/ComfyUI-SoX-Mixdown": { + "stars": 1, + "last_update": "2025-01-26 22:42:52", + "author_account_age_days": 54 }, "https://github.com/Jonseed/ComfyUI-Detail-Daemon": { - "stars": 490, - "last_update": "2024-11-04 17:57:27", - "author_account_age_days": 2378 + "stars": 619, + "last_update": "2025-03-14 16:47:41", + "author_account_age_days": 2450 }, "https://github.com/Jordach/comfy-plasma": { - "stars": 71, + "stars": 72, "last_update": "2024-05-22 18:08:28", - "author_account_age_days": 4712 + "author_account_age_days": 4783 }, "https://github.com/JosefKuchar/ComfyUI-AdvancedTiling": { "stars": 12, "last_update": "2024-08-02 15:16:12", - "author_account_age_days": 3553 + "author_account_age_days": 3625 }, "https://github.com/JosephThomasParker/ComfyUI-DrawThingsWrapper": { - "stars": 7, - "last_update": "2024-10-21 21:03:30", - "author_account_age_days": 3369 + "stars": 17, + "last_update": "2025-02-04 21:14:38", + "author_account_age_days": 3440 }, "https://github.com/Julian-adv/WildDivide": { "stars": 16, - "last_update": "2024-12-22 02:05:36", - "author_account_age_days": 537 + "last_update": "2025-02-15 04:01:14", + "author_account_age_days": 608 }, "https://github.com/JustinMatters/comfyUI-JMNodes": { - "stars": 1, + "stars": 0, "last_update": "2025-01-04 14:57:58", - "author_account_age_days": 2970 + "author_account_age_days": 3041 + }, + "https://github.com/KAVVATARE/ComfyUI-Light-N-Color": { + "stars": 1, + "last_update": "2025-03-02 16:56:41", + "author_account_age_days": 4401 + }, + "https://github.com/KLL535/ComfyUI_PNGInfo_Sidebar": { + "stars": 8, + "last_update": "2025-02-16 13:11:48", + "author_account_age_days": 120 + }, + "https://github.com/KLL535/ComfyUI_SimpleButcher": { + "stars": 3, + "last_update": "2025-03-09 21:53:41", + "author_account_age_days": 120 }, "https://github.com/Kangkang625/ComfyUI-paint-by-example": { "stars": 16, "last_update": "2024-05-22 22:20:27", - "author_account_age_days": 1113 + "author_account_age_days": 1184 + }, + "https://github.com/Kayarte/AudioDriven-Latent-Space-Tools-for-ComfyUI": { + "stars": 1, + "last_update": "2025-01-26 06:06:55", + "author_account_age_days": 324 }, "https://github.com/Kesin11/ComfyUI-list-filter": { - "stars": 1, + "stars": 0, "last_update": "2024-10-19 06:44:17", - "author_account_age_days": 4746 + "author_account_age_days": 4817 }, "https://github.com/KewkLW/ComfyUI-kewky_tools": { "stars": 8, "last_update": "2024-07-10 05:45:11", - "author_account_age_days": 1886 + "author_account_age_days": 1957 + }, + "https://github.com/Kidev/ComfyUI-Fisheye-effects": { + "stars": 9, + "last_update": "2025-01-27 17:05:42", + "author_account_age_days": 4872 }, "https://github.com/Kinglord/ComfyUI_LoRA_Sidebar": { - "stars": 52, + "stars": 62, "last_update": "2024-11-23 15:44:26", - "author_account_age_days": 5089 + "author_account_age_days": 5161 }, "https://github.com/Kinglord/ComfyUI_Prompt_Gallery": { - "stars": 40, + "stars": 45, "last_update": "2024-09-24 21:58:55", - "author_account_age_days": 5089 + "author_account_age_days": 5161 }, "https://github.com/Kinglord/ComfyUI_Slider_Sidebar": { - "stars": 36, + "stars": 40, "last_update": "2024-09-26 02:40:30", - "author_account_age_days": 5089 + "author_account_age_days": 5161 }, "https://github.com/KohakuBlueleaf/z-tipo-extension": { - "stars": 295, - "last_update": "2025-01-09 09:31:28", - "author_account_age_days": 1827 + "stars": 433, + "last_update": "2025-03-05 13:18:23", + "author_account_age_days": 1898 }, "https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler": { - "stars": 182, + "stars": 187, "last_update": "2024-09-01 03:57:22", - "author_account_age_days": 1684 + "author_account_age_days": 1756 }, "https://github.com/Koishi-Star/Pyramid_Noise_For_Inference": { - "stars": 5, + "stars": 6, "last_update": "2024-09-27 17:58:43", - "author_account_age_days": 1684 + "author_account_age_days": 1756 }, "https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack": { - "stars": 3, + "stars": 9, "last_update": "2024-11-24 15:55:30", - "author_account_age_days": 3389 + "author_account_age_days": 3460 }, "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": { - "stars": 52, - "last_update": "2024-10-19 19:19:25", - "author_account_age_days": 3389 + "stars": 59, + "last_update": "2025-03-01 05:37:40", + "author_account_age_days": 3460 }, "https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet": { - "stars": 667, - "last_update": "2025-01-06 03:23:56", - "author_account_age_days": 3915 + "stars": 734, + "last_update": "2025-03-05 03:01:28", + "author_account_age_days": 3987 }, "https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved": { - "stars": 2887, - "last_update": "2025-01-06 03:24:30", - "author_account_age_days": 3915 + "stars": 3051, + "last_update": "2025-03-13 23:49:37", + "author_account_age_days": 3987 }, "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite": { - "stars": 714, - "last_update": "2025-01-06 23:44:25", - "author_account_age_days": 3915 + "stars": 875, + "last_update": "2025-03-19 21:16:33", + "author_account_age_days": 3987 }, "https://github.com/Koushakur/ComfyUI-DenoiseChooser": { - "stars": 5, - "last_update": "2024-07-31 14:05:13", - "author_account_age_days": 1319 + "stars": 4, + "last_update": "2025-03-14 09:52:02", + "author_account_age_days": 1391 }, "https://github.com/KunmyonChoi/ComfyUI_S3_direct": { - "stars": 1, + "stars": 0, "last_update": "2025-01-07 01:22:23", - "author_account_age_days": 5767 + "author_account_age_days": 5838 + }, + "https://github.com/Kurdknight/Kurdknight_comfycheck": { + "stars": 3, + "last_update": "2025-01-15 16:47:23", + "author_account_age_days": 781 }, "https://github.com/KwaiVGI/ComfyUI-KLingAI-API": { - "stars": 71, - "last_update": "2025-01-08 03:22:50", - "author_account_age_days": 257 + "stars": 97, + "last_update": "2025-01-21 03:23:00", + "author_account_age_days": 329 }, "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": { "stars": 5, "last_update": "2024-05-23 00:21:43", - "author_account_age_days": 1978 + "author_account_age_days": 2050 + }, + "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra": { + "stars": 78, + "last_update": "2025-03-16 18:58:58", + "author_account_age_days": 2050 + }, + "https://github.com/LAOGOU-666/ComfyUI-LG_HotReload": { + "stars": 143, + "last_update": "2025-03-15 22:46:42", + "author_account_age_days": 365 }, "https://github.com/LAOGOU-666/ComfyUI_LG_FFT": { - "stars": 7, + "stars": 6, "last_update": "2024-10-10 04:45:57", - "author_account_age_days": 294 + "author_account_age_days": 365 }, "https://github.com/LAOGOU-666/Comfyui-LG_Relight": { - "stars": 47, - "last_update": "2025-01-09 09:07:22", - "author_account_age_days": 294 + "stars": 100, + "last_update": "2025-02-17 06:41:16", + "author_account_age_days": 365 }, "https://github.com/LEv145/images-grid-comfy-plugin": { - "stars": 167, + "stars": 173, "last_update": "2024-05-30 17:54:32", - "author_account_age_days": 2406 + "author_account_age_days": 2478 }, "https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": { - "stars": 52, + "stars": 56, "last_update": "2024-06-06 20:45:43", - "author_account_age_days": 363 + "author_account_age_days": 434 }, "https://github.com/LarryJane491/Lora-Training-in-Comfy": { - "stars": 406, + "stars": 448, "last_update": "2024-08-05 11:32:30", - "author_account_age_days": 363 + "author_account_age_days": 434 }, "https://github.com/LatentRat/comfy_remote_run": { "stars": 4, "last_update": "2024-09-08 04:06:09", - "author_account_age_days": 943 + "author_account_age_days": 1014 }, "https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer": { "stars": 11, - "last_update": "2024-12-20 19:38:19", - "author_account_age_days": 58 + "last_update": "2025-01-19 14:21:04", + "author_account_age_days": 129 + }, + "https://github.com/Laurent2916/comfyui-piq": { + "stars": 0, + "last_update": "2025-03-17 13:50:16", + "author_account_age_days": 3138 }, "https://github.com/Layer-norm/comfyui-lama-remover": { - "stars": 107, + "stars": 118, "last_update": "2024-08-03 04:18:39", - "author_account_age_days": 531 + "author_account_age_days": 602 + }, + "https://github.com/Legorobotdude/ComfyUI-VariationLab": { + "stars": 1, + "last_update": "2025-03-02 04:59:28", + "author_account_age_days": 3640 }, "https://github.com/Lerc/canvas_tab": { - "stars": 168, + "stars": 178, "last_update": "2024-05-22 20:48:45", - "author_account_age_days": 5566 + "author_account_age_days": 5638 }, "https://github.com/LevelPixel/ComfyUI-LevelPixel": { - "stars": 3, - "last_update": "2024-12-08 23:10:10", - "author_account_age_days": 181 + "stars": 4, + "last_update": "2025-03-20 21:28:22", + "author_account_age_days": 253 }, "https://github.com/Lhyejin/ComfyUI-Fill-Image-for-Outpainting": { "stars": 9, "last_update": "2024-08-26 00:40:09", - "author_account_age_days": 2801 + "author_account_age_days": 2873 }, "https://github.com/LiJT/ComfyUI-Gemini-Prompt-Generator-JT": { - "stars": 2, + "stars": 3, "last_update": "2024-12-22 15:06:38", - "author_account_age_days": 3601 + "author_account_age_days": 3672 }, "https://github.com/Light-x02/ComfyUI-FluxSettingsNode": { - "stars": 3, + "stars": 6, "last_update": "2024-12-25 07:08:32", - "author_account_age_days": 976 + "author_account_age_days": 1048 }, "https://github.com/Light-x02/ComfyUI-Image-Metadata-Nodes": { "stars": 2, "last_update": "2024-12-23 01:54:11", - "author_account_age_days": 976 + "author_account_age_days": 1048 }, "https://github.com/LightSketch-ai/ComfyUI-LivePortraitNode": { "stars": 2, "last_update": "2024-07-17 01:24:53", - "author_account_age_days": 183 + "author_account_age_days": 254 }, "https://github.com/Lightricks/ComfyUI-LTXVideo": { - "stars": 594, - "last_update": "2024-12-22 14:57:35", - "author_account_age_days": 4389 + "stars": 918, + "last_update": "2025-03-10 13:26:10", + "author_account_age_days": 4461 }, "https://github.com/Limitex/ComfyUI-Calculation": { "stars": 0, "last_update": "2024-05-22 22:18:40", - "author_account_age_days": 1474 + "author_account_age_days": 1545 }, "https://github.com/Limitex/ComfyUI-Diffusers": { - "stars": 149, - "last_update": "2025-01-09 05:30:43", - "author_account_age_days": 1474 + "stars": 157, + "last_update": "2025-03-10 19:04:32", + "author_account_age_days": 1545 }, "https://github.com/Ling-APE/ComfyUI-PixelResolutionCalculator": { "stars": 8, "last_update": "2024-09-23 06:31:38", - "author_account_age_days": 586 + "author_account_age_days": 657 }, "https://github.com/Loewen-Hob/rembg-comfyui-node-better": { "stars": 60, "last_update": "2024-09-12 14:16:23", - "author_account_age_days": 669 + "author_account_age_days": 741 }, "https://github.com/LonicaMewinsky/ComfyUI-MakeFrame": { - "stars": 28, + "stars": 29, "last_update": "2024-05-22 21:29:02", - "author_account_age_days": 1174 + "author_account_age_days": 1246 }, "https://github.com/LonicaMewinsky/ComfyUI-RawSaver": { - "stars": 2, + "stars": 3, "last_update": "2024-05-22 21:31:28", - "author_account_age_days": 1174 + "author_account_age_days": 1246 }, "https://github.com/LucipherDev/ComfyUI-AniDoc": { - "stars": 43, - "last_update": "2025-01-08 18:28:56", - "author_account_age_days": 1696 + "stars": 48, + "last_update": "2025-01-25 13:15:11", + "author_account_age_days": 1767 }, "https://github.com/LucipherDev/ComfyUI-Golden-Noise": { - "stars": 19, + "stars": 23, "last_update": "2024-12-26 17:25:45", - "author_account_age_days": 1696 + "author_account_age_days": 1767 }, "https://github.com/LucipherDev/ComfyUI-TangoFlux": { - "stars": 2, - "last_update": "2025-01-09 09:57:06", - "author_account_age_days": 1696 + "stars": 86, + "last_update": "2025-02-27 03:18:08", + "author_account_age_days": 1767 }, "https://github.com/Ludobico/ComfyUI-ScenarioPrompt": { "stars": 15, - "last_update": "2024-08-01 00:52:11", - "author_account_age_days": 1231 + "last_update": "2025-03-12 09:07:07", + "author_account_age_days": 1303 }, "https://github.com/LyazS/comfyui-anime-seg": { - "stars": 8, + "stars": 9, "last_update": "2024-05-22 23:21:49", - "author_account_age_days": 3056 + "author_account_age_days": 3127 }, "https://github.com/LyazS/comfyui-nettools": { - "stars": 5, + "stars": 4, "last_update": "2024-09-23 12:52:44", - "author_account_age_days": 3056 + "author_account_age_days": 3127 }, "https://github.com/M1kep/ComfyLiterals": { - "stars": 30, + "stars": 40, "last_update": "2024-05-22 20:31:38", - "author_account_age_days": 4457 + "author_account_age_days": 4528 }, "https://github.com/M1kep/ComfyUI-KepOpenAI": { - "stars": 29, + "stars": 30, "last_update": "2024-08-20 16:33:57", - "author_account_age_days": 4457 + "author_account_age_days": 4528 }, "https://github.com/M1kep/ComfyUI-OtherVAEs": { "stars": 2, "last_update": "2024-05-22 20:33:41", - "author_account_age_days": 4457 + "author_account_age_days": 4528 }, "https://github.com/M1kep/Comfy_KepKitchenSink": { "stars": 0, "last_update": "2024-05-22 20:33:29", - "author_account_age_days": 4457 + "author_account_age_days": 4528 }, "https://github.com/M1kep/Comfy_KepListStuff": { - "stars": 38, + "stars": 43, "last_update": "2024-06-22 00:51:28", - "author_account_age_days": 4457 + "author_account_age_days": 4528 }, "https://github.com/M1kep/Comfy_KepMatteAnything": { "stars": 11, "last_update": "2024-05-22 20:33:16", - "author_account_age_days": 4457 + "author_account_age_days": 4528 }, "https://github.com/M1kep/KepPromptLang": { "stars": 6, "last_update": "2024-05-22 20:32:56", - "author_account_age_days": 4457 + "author_account_age_days": 4528 }, "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": { - "stars": 54, - "last_update": "2024-12-27 11:09:43", - "author_account_age_days": 1804 + "stars": 53, + "last_update": "2025-03-15 22:26:46", + "author_account_age_days": 1875 }, "https://github.com/Makeezi/ComfyUI-promptLAB": { "stars": 0, "last_update": "2024-05-23 01:24:51", - "author_account_age_days": 1981 + "author_account_age_days": 2052 }, "https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards": { - "stars": 3, - "last_update": "2025-01-08 12:25:10", - "author_account_age_days": 511 + "stars": 2, + "last_update": "2025-03-19 18:09:28", + "author_account_age_days": 583 }, "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF": { - "stars": 3, - "last_update": "2024-11-20 13:18:23", - "author_account_age_days": 511 + "stars": 1, + "last_update": "2025-03-14 07:54:33", + "author_account_age_days": 583 }, "https://github.com/MakkiShizu/comfyui_reimgsize": { - "stars": 6, - "last_update": "2024-12-11 05:56:23", - "author_account_age_days": 511 + "stars": 5, + "last_update": "2025-03-15 07:53:04", + "author_account_age_days": 583 }, "https://github.com/Mamaaaamooooo/batchImg-rembg-ComfyUI-nodes": { - "stars": 23, + "stars": 27, "last_update": "2024-06-14 10:24:17", - "author_account_age_days": 581 + "author_account_age_days": 652 }, "https://github.com/ManglerFTW/ComfyI2I": { - "stars": 165, + "stars": 168, "last_update": "2024-06-14 11:01:01", - "author_account_age_days": 854 + "author_account_age_days": 926 }, "https://github.com/MaraScott/ComfyUI_MaraScott_Nodes": { - "stars": 128, - "last_update": "2024-12-21 14:07:13", - "author_account_age_days": 5169 + "stars": 141, + "last_update": "2025-02-12 21:49:08", + "author_account_age_days": 5240 }, "https://github.com/MarcusNyne/m9-prompts-comfyui": { - "stars": 2, + "stars": 1, "last_update": "2024-08-24 16:56:53", - "author_account_age_days": 1621 + "author_account_age_days": 1693 }, "https://github.com/MariusKM/ComfyUI-BadmanNodes": { "stars": 2, "last_update": "2024-12-30 15:36:09", - "author_account_age_days": 2430 + "author_account_age_days": 2501 }, "https://github.com/MarkoCa1/ComfyUI-Text": { "stars": 7, "last_update": "2024-12-16 09:48:49", - "author_account_age_days": 1832 + "author_account_age_days": 1903 }, "https://github.com/MarkoCa1/ComfyUI_Segment_Mask": { "stars": 21, "last_update": "2024-05-23 00:15:51", - "author_account_age_days": 1832 + "author_account_age_days": 1903 }, "https://github.com/Marksusu/ComfyUI_MTCLIPEncode": { - "stars": 6, + "stars": 7, "last_update": "2024-11-01 07:41:03", - "author_account_age_days": 907 + "author_account_age_days": 978 }, "https://github.com/Mason-McGough/ComfyUI-Mosaica": { - "stars": 7, + "stars": 6, "last_update": "2024-08-26 20:42:35", - "author_account_age_days": 3404 + "author_account_age_days": 3476 + }, + "https://github.com/Mattabyte/ComfyUI-SecureApiCall": { + "stars": 0, + "last_update": "2025-03-07 23:55:55", + "author_account_age_days": 1878 }, "https://github.com/Mcmillian/ComfyUI-SimpleToolsNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-29 14:18:23", - "author_account_age_days": 3095 + "author_account_age_days": 3166 + }, + "https://github.com/MeeeyoAI/ComfyUI_StringOps": { + "stars": 31, + "last_update": "2025-03-07 09:08:15", + "author_account_age_days": 27 }, "https://github.com/Meettya/ComfyUI-OneForOne": { - "stars": 1, + "stars": 2, "last_update": "2025-01-07 22:49:30", - "author_account_age_days": 5531 + "author_account_age_days": 5602 }, "https://github.com/MetaGLM/ComfyUI-ZhipuAI-Platform": { - "stars": 6, + "stars": 5, "last_update": "2024-09-16 16:11:59", - "author_account_age_days": 478 + "author_account_age_days": 549 }, "https://github.com/MiddleKD/ComfyUI-denoise-mask-scheduler": { "stars": 5, "last_update": "2024-11-07 12:35:00", - "author_account_age_days": 729 + "author_account_age_days": 801 }, "https://github.com/MiddleKD/ComfyUI-mem-safe-wrapper": { "stars": 3, "last_update": "2024-08-01 06:47:24", - "author_account_age_days": 729 + "author_account_age_days": 801 }, "https://github.com/MiddleKD/ComfyUI-productfix": { - "stars": 8, + "stars": 9, "last_update": "2024-08-13 01:11:21", - "author_account_age_days": 729 + "author_account_age_days": 801 + }, + "https://github.com/MieMieeeee/ComfyUI-CaptionThis": { + "stars": 26, + "last_update": "2025-03-15 08:07:13", + "author_account_age_days": 1827 + }, + "https://github.com/MieMieeeee/ComfyUI-MieNodes": { + "stars": 23, + "last_update": "2025-03-20 09:55:00", + "author_account_age_days": 1827 + }, + "https://github.com/MieMieeeee/ComfyUI-MinioConnector": { + "stars": 1, + "last_update": "2025-03-21 09:09:09", + "author_account_age_days": 1827 }, "https://github.com/MilitantHitchhiker/MilitantHitchhiker-SwitchbladePack": { - "stars": 5, + "stars": 3, "last_update": "2024-10-06 07:46:05", - "author_account_age_days": 259 + "author_account_age_days": 330 }, "https://github.com/Mintbeer96/ComfyUI-KerasOCR": { - "stars": 3, + "stars": 2, "last_update": "2024-07-24 16:39:41", - "author_account_age_days": 3376 + "author_account_age_days": 3447 }, "https://github.com/MinusZoneAI/ComfyUI-CogVideoX-MZ": { - "stars": 100, + "stars": 105, "last_update": "2024-10-30 10:52:42", - "author_account_age_days": 264 + "author_account_age_days": 336 }, "https://github.com/MinusZoneAI/ComfyUI-Flux1Quantize-MZ": { - "stars": 12, + "stars": 11, "last_update": "2024-08-14 04:01:10", - "author_account_age_days": 264 + "author_account_age_days": 336 }, "https://github.com/MinusZoneAI/ComfyUI-FluxExt-MZ": { - "stars": 218, + "stars": 256, "last_update": "2024-08-16 18:57:07", - "author_account_age_days": 264 + "author_account_age_days": 336 }, "https://github.com/MinusZoneAI/ComfyUI-Kolors-MZ": { - "stars": 523, - "last_update": "2024-12-20 01:10:37", - "author_account_age_days": 264 + "stars": 562, + "last_update": "2025-01-27 13:41:40", + "author_account_age_days": 336 }, "https://github.com/MinusZoneAI/ComfyUI-Prompt-MZ": { - "stars": 112, - "last_update": "2024-08-24 06:18:57", - "author_account_age_days": 264 + "stars": 114, + "last_update": "2025-03-14 06:36:29", + "author_account_age_days": 336 }, "https://github.com/MinusZoneAI/ComfyUI-StylizePhoto-MZ": { "stars": 18, "last_update": "2024-05-23 01:13:32", - "author_account_age_days": 264 + "author_account_age_days": 336 }, "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ": { - "stars": 47, - "last_update": "2024-08-15 19:21:36", - "author_account_age_days": 264 + "stars": 52, + "last_update": "2025-02-24 06:08:49", + "author_account_age_days": 336 }, "https://github.com/Miosp/ComfyUI-FBCNN": { - "stars": 17, - "last_update": "2024-08-02 19:54:17", - "author_account_age_days": 2715 + "stars": 19, + "last_update": "2025-02-24 20:53:32", + "author_account_age_days": 2786 }, "https://github.com/MitoshiroPJ/comfyui_slothful_attention": { "stars": 7, "last_update": "2024-05-22 22:09:15", - "author_account_age_days": 4167 + "author_account_age_days": 4238 }, "https://github.com/Miyuutsu/comfyui-save-vpred": { - "stars": 4, + "stars": 3, "last_update": "2024-12-15 22:29:47", - "author_account_age_days": 3123 + "author_account_age_days": 3195 }, "https://github.com/MohammadAboulEla/ComfyUI-iTools": { - "stars": 32, - "last_update": "2024-11-17 22:32:37", - "author_account_age_days": 1225 + "stars": 52, + "last_update": "2025-03-21 04:32:22", + "author_account_age_days": 1297 }, "https://github.com/MokkaBoss1/ComfyUI_Mokkaboss1": { - "stars": 17, + "stars": 16, "last_update": "2025-01-07 19:10:27", - "author_account_age_days": 578 + "author_account_age_days": 650 + }, + "https://github.com/MontagenAI/ComfyUI-Montagen": { + "stars": 12, + "last_update": "2025-03-10 06:35:04", + "author_account_age_days": 100 }, "https://github.com/MoonHugo/ComfyUI-BiRefNet-Hugo": { - "stars": 193, - "last_update": "2024-10-18 04:02:27", - "author_account_age_days": 128 + "stars": 246, + "last_update": "2025-03-05 05:16:20", + "author_account_age_days": 199 }, "https://github.com/MoonHugo/ComfyUI-FFmpeg": { - "stars": 35, + "stars": 54, "last_update": "2024-11-13 03:38:07", - "author_account_age_days": 128 + "author_account_age_days": 199 }, "https://github.com/MoonHugo/ComfyUI-StableAudioOpen": { - "stars": 18, + "stars": 24, "last_update": "2024-10-18 04:12:04", - "author_account_age_days": 128 + "author_account_age_days": 199 }, "https://github.com/Moooonet/ComfyUI-ArteMoon": { - "stars": 2, + "stars": 1, "last_update": "2024-09-29 15:04:10", - "author_account_age_days": 186 + "author_account_age_days": 257 }, "https://github.com/MrForExample/ComfyUI-3D-Pack": { - "stars": 2565, - "last_update": "2024-12-18 00:24:04", - "author_account_age_days": 1760 + "stars": 2919, + "last_update": "2025-01-24 18:41:37", + "author_account_age_days": 1831 }, "https://github.com/MrForExample/ComfyUI-AnimateAnyone-Evolved": { - "stars": 518, + "stars": 535, "last_update": "2024-06-14 12:02:47", - "author_account_age_days": 1760 + "author_account_age_days": 1831 }, "https://github.com/MrSamSeen/ComfyUI_SSStereoscope": { - "stars": 15, + "stars": 20, "last_update": "2024-07-08 20:40:49", - "author_account_age_days": 3790 + "author_account_age_days": 3861 }, "https://github.com/Munkyfoot/ComfyUI-TextOverlay": { - "stars": 25, + "stars": 30, "last_update": "2024-06-28 05:57:03", - "author_account_age_days": 3244 + "author_account_age_days": 3315 + }, + "https://github.com/MushroomFleet/DJZ-KokoroTTS": { + "stars": 3, + "last_update": "2025-03-18 21:01:40", + "author_account_age_days": 3992 }, "https://github.com/MushroomFleet/DJZ-Nodes": { - "stars": 25, - "last_update": "2025-01-08 23:32:18", - "author_account_age_days": 3920 + "stars": 34, + "last_update": "2025-03-16 19:38:29", + "author_account_age_days": 3992 + }, + "https://github.com/MushroomFleet/DJZ-Pedalboard": { + "stars": 1, + "last_update": "2025-02-15 12:48:45", + "author_account_age_days": 3992 }, "https://github.com/MuziekMagie/ComfyUI-Matchering": { - "stars": 43, + "stars": 46, "last_update": "2024-07-23 14:39:52", - "author_account_age_days": 171 + "author_account_age_days": 242 }, "https://github.com/MzMaXaM/ComfyUi-MzMaXaM": { "stars": 2, - "last_update": "2024-10-21 22:42:15", - "author_account_age_days": 1937 + "last_update": "2025-03-07 14:24:20", + "author_account_age_days": 2009 }, "https://github.com/N3rd00d/ComfyUI-Paint3D-Nodes": { - "stars": 57, + "stars": 64, "last_update": "2024-08-19 12:52:20", - "author_account_age_days": 276 + "author_account_age_days": 347 }, "https://github.com/NMWave/ComfyUI-Nader-Tagging": { - "stars": 2, + "stars": 1, "last_update": "2024-08-06 11:13:51", - "author_account_age_days": 777 + "author_account_age_days": 849 }, "https://github.com/NVIDIAGameWorks/ComfyUI-RTX-Remix": { - "stars": 28, + "stars": 30, "last_update": "2024-09-25 01:40:47", - "author_account_age_days": 3879 + "author_account_age_days": 3951 }, "https://github.com/NakamuraShippo/ComfyUI-NS-ManySliders": { "stars": 2, "last_update": "2024-11-03 02:48:52", - "author_account_age_days": 561 + "author_account_age_days": 633 }, "https://github.com/NakamuraShippo/ComfyUI-PromptList": { - "stars": 8, + "stars": 7, "last_update": "2024-11-03 02:25:08", - "author_account_age_days": 561 + "author_account_age_days": 633 }, "https://github.com/NeoGriever/ComfyUI-NeoGriever": { "stars": 2, "last_update": "2024-12-12 02:55:40", - "author_account_age_days": 4488 + "author_account_age_days": 4559 }, "https://github.com/Nestorchik/NStor-ComfyUI-Translation": { "stars": 2, "last_update": "2024-06-14 10:25:32", - "author_account_age_days": 1523 + "author_account_age_days": 1595 }, "https://github.com/NeuralSamurAI/ComfyUI-Dimensional-Latent-Perlin": { - "stars": 35, + "stars": 34, "last_update": "2024-08-06 19:59:25", - "author_account_age_days": 292 + "author_account_age_days": 364 }, "https://github.com/NeuralSamurAI/ComfyUI-FluxPseudoNegativePrompt": { "stars": 6, "last_update": "2024-08-14 02:16:43", - "author_account_age_days": 292 + "author_account_age_days": 364 }, "https://github.com/NeuralSamurAI/ComfyUI-PromptJSON": { - "stars": 3, + "stars": 2, "last_update": "2024-08-11 18:10:36", - "author_account_age_days": 292 + "author_account_age_days": 364 }, "https://github.com/NeuralSamurAI/Comfyui-Superprompt-Unofficial": { "stars": 68, "last_update": "2024-05-23 00:22:08", - "author_account_age_days": 292 + "author_account_age_days": 364 }, "https://github.com/Nevysha/ComfyUI-nevysha-top-menu": { "stars": 5, "last_update": "2024-05-23 00:17:31", - "author_account_age_days": 725 + "author_account_age_days": 797 }, "https://github.com/NguynHungNguyen/Segment-Bedroom-Interior": { "stars": 5, "last_update": "2024-10-17 13:22:19", - "author_account_age_days": 857 + "author_account_age_days": 928 }, "https://github.com/NicholasMcCarthy/ComfyUI_TravelSuite": { "stars": 14, "last_update": "2024-05-22 20:34:46", - "author_account_age_days": 5348 + "author_account_age_days": 5420 + }, + "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes": { + "stars": 1, + "last_update": "2025-03-20 14:54:57", + "author_account_age_days": 2547 }, "https://github.com/NimaNzrii/comfyui-photoshop": { - "stars": 771, - "last_update": "2024-09-12 17:24:44", - "author_account_age_days": 443 + "stars": 933, + "last_update": "2025-02-25 13:50:12", + "author_account_age_days": 515 }, "https://github.com/NimaNzrii/comfyui-popup_preview": { "stars": 35, "last_update": "2024-05-22 22:12:04", - "author_account_age_days": 443 + "author_account_age_days": 515 }, "https://github.com/Niutonian/ComfyUi-NoodleWebcam": { "stars": 32, "last_update": "2024-05-22 21:30:40", - "author_account_age_days": 1241 + "author_account_age_days": 1312 }, "https://github.com/Nlar/ComfyUI_CartoonSegmentation": { - "stars": 13, + "stars": 16, "last_update": "2024-05-22 23:15:37", - "author_account_age_days": 4030 + "author_account_age_days": 4101 }, "https://github.com/Nojahhh/ComfyUI_GLM4_Wrapper": { "stars": 18, - "last_update": "2024-12-17 20:52:30", - "author_account_age_days": 3019 + "last_update": "2025-03-06 21:11:32", + "author_account_age_days": 3090 }, "https://github.com/NotHarroweD/Harronode": { "stars": 5, "last_update": "2024-05-22 22:18:29", - "author_account_age_days": 2182 + "author_account_age_days": 2254 }, "https://github.com/Nourepide/ComfyUI-Allor": { - "stars": 237, + "stars": 252, "last_update": "2024-05-22 18:11:17", - "author_account_age_days": 3045 + "author_account_age_days": 3116 }, "https://github.com/Nuked88/ComfyUI-N-Nodes": { - "stars": 211, + "stars": 214, "last_update": "2024-08-15 21:07:32", - "author_account_age_days": 4678 + "author_account_age_days": 4750 }, "https://github.com/Nuked88/ComfyUI-N-Sidebar": { - "stars": 525, + "stars": 536, "last_update": "2024-09-12 20:12:08", - "author_account_age_days": 4678 - }, - "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED": { - "stars": 1, - "last_update": "2024-12-05 15:09:08", - "author_account_age_days": 2316 + "author_account_age_days": 4750 }, "https://github.com/NyaamZ/ComfyUI-ImageGallery-ED": { "stars": 3, - "last_update": "2024-12-06 19:47:27", - "author_account_age_days": 2316 + "last_update": "2025-03-12 03:18:55", + "author_account_age_days": 2387 }, "https://github.com/NyaamZ/efficiency-nodes-ED": { - "stars": 14, - "last_update": "2024-12-14 05:50:28", - "author_account_age_days": 2316 + "stars": 16, + "last_update": "2025-03-17 03:52:08", + "author_account_age_days": 2387 }, "https://github.com/Off-Live/ComfyUI-off-suite": { "stars": 0, "last_update": "2024-06-14 12:02:25", - "author_account_age_days": 1371 + "author_account_age_days": 1442 }, "https://github.com/OgreLemonSoup/ComfyUI-Load-Image-Gallery": { "stars": 30, "last_update": "2024-09-17 11:48:44", - "author_account_age_days": 152 + "author_account_age_days": 223 }, "https://github.com/OliverCrosby/Comfyui-Minimap": { - "stars": 83, + "stars": 91, "last_update": "2024-08-24 14:10:43", - "author_account_age_days": 2324 + "author_account_age_days": 2396 }, "https://github.com/OpalSky-AI/OpalSky_Nodes": { - "stars": 3, + "stars": 2, "last_update": "2024-10-27 20:13:40", - "author_account_age_days": 1934 + "author_account_age_days": 2006 }, "https://github.com/OpenArt-AI/ComfyUI-Assistant": { - "stars": 17, + "stars": 19, "last_update": "2024-05-22 22:16:57", - "author_account_age_days": 974 + "author_account_age_days": 1045 }, "https://github.com/OuticNZ/ComfyUI-Simple-Of-Complex": { - "stars": 1, + "stars": 0, "last_update": "2024-08-14 04:00:49", - "author_account_age_days": 2732 + "author_account_age_days": 2803 }, "https://github.com/PCMonsterx/ComfyUI-CSV-Loader": { "stars": 15, - "last_update": "2024-05-22 21:27:10", - "author_account_age_days": 1864 + "last_update": "2025-03-14 12:21:40", + "author_account_age_days": 1935 + }, + "https://github.com/Pablerdo/ComfyUI-MultiCutAndDrag": { + "stars": 1, + "last_update": "2025-03-10 19:19:43", + "author_account_age_days": 3071 + }, + "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger": { + "stars": 1, + "last_update": "2025-03-21 17:42:55", + "author_account_age_days": 3071 + }, + "https://github.com/PanicTitan/ComfyUI-Fooocus-V2-Expansion": { + "stars": 3, + "last_update": "2025-03-02 21:03:27", + "author_account_age_days": 1756 + }, + "https://github.com/PanicTitan/ComfyUI-Gallery": { + "stars": 13, + "last_update": "2025-03-19 06:29:23", + "author_account_age_days": 1756 }, "https://github.com/Parameshvadivel/ComfyUI-SVGview": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 13:40:33", - "author_account_age_days": 3027 + "author_account_age_days": 3098 }, "https://github.com/ParisNeo/lollms_nodes_suite": { "stars": 11, - "last_update": "2024-06-23 21:04:43", - "author_account_age_days": 4968 + "last_update": "2025-03-12 07:36:41", + "author_account_age_days": 5040 }, "https://github.com/ParmanBabra/ComfyUI-Malefish-Custom-Scripts": { "stars": 0, "last_update": "2024-05-22 21:26:35", - "author_account_age_days": 3842 + "author_account_age_days": 3913 }, "https://github.com/PauldeLavallaz/comfyui_claude_prompt_generator": { - "stars": 1, - "last_update": "2024-12-11 17:41:42", - "author_account_age_days": 2042 + "stars": 0, + "last_update": "2025-03-18 17:38:28", + "author_account_age_days": 2114 }, "https://github.com/Pfaeff/pfaeff-comfyui": { "stars": 20, "last_update": "2024-05-22 18:21:10", - "author_account_age_days": 3406 + "author_account_age_days": 3478 }, "https://github.com/Phando/ComfyUI-PhandoNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-05 16:12:24", - "author_account_age_days": 5424 + "author_account_age_days": 5496 }, "https://github.com/Pheat-AI/Remade_nodes": { - "stars": 4, + "stars": 3, "last_update": "2024-10-18 00:04:58", - "author_account_age_days": 232 + "author_account_age_days": 304 + }, + "https://github.com/PixelFunAI/ComfyUI_PixelFun": { + "stars": 3, + "last_update": "2025-01-20 05:44:54", + "author_account_age_days": 60 + }, + "https://github.com/PixelML/ComfyUI-PixelML-CustomNodes": { + "stars": 0, + "last_update": "2025-01-20 06:40:21", + "author_account_age_days": 381 }, "https://github.com/PnthrLeo/comfyUI-PL-data-tools": { - "stars": 2, + "stars": 1, "last_update": "2024-12-03 13:39:28", - "author_account_age_days": 2750 - }, - "https://github.com/Pos13/comfyui-cyclist": { - "stars": 34, - "last_update": "2024-08-04 02:58:33", - "author_account_age_days": 1717 + "author_account_age_days": 2822 }, "https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": { "stars": 2, "last_update": "2024-11-07 08:59:23", - "author_account_age_days": 781 + "author_account_age_days": 852 + }, + "https://github.com/Positliver/comfyui-zegr": { + "stars": 1, + "last_update": "2025-01-26 11:51:59", + "author_account_age_days": 3662 }, "https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait": { - "stars": 2087, + "stars": 2244, "last_update": "2024-08-21 06:14:24", - "author_account_age_days": 162 + "author_account_age_days": 233 }, "https://github.com/PressWagon/ComfyUI-StringsAndThings": { "stars": 2, "last_update": "2024-12-21 12:05:13", - "author_account_age_days": 24 + "author_account_age_days": 95 + }, + "https://github.com/ProGamerGov/ComfyUI_preview360panorama": { + "stars": 42, + "last_update": "2025-02-22 21:26:40", + "author_account_age_days": 3712 + }, + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert": { + "stars": 8, + "last_update": "2025-02-27 20:23:27", + "author_account_age_days": 3712 + }, + "https://github.com/PrunaAI/ComfyUI_pruna": { + "stars": 50, + "last_update": "2025-03-19 04:34:03", + "author_account_age_days": 919 }, "https://github.com/Pseudotools/Pseudocomfy": { "stars": 0, "last_update": "2024-09-17 20:46:33", - "author_account_age_days": 469 + "author_account_age_days": 540 }, "https://github.com/Q-Bug4/Comfyui-Qb-DateNodes": { - "stars": 2, + "stars": 1, "last_update": "2024-11-03 01:52:39", - "author_account_age_days": 2133 + "author_account_age_days": 2204 }, "https://github.com/Q-Bug4/Comfyui-Simple-Json-Node": { - "stars": 3, - "last_update": "2024-12-25 16:01:52", - "author_account_age_days": 2133 + "stars": 4, + "last_update": "2025-02-21 16:00:39", + "author_account_age_days": 2204 }, "https://github.com/QaisMalkawi/ComfyUI-QaisHelper": { "stars": 2, "last_update": "2024-05-23 20:29:30", - "author_account_age_days": 1449 + "author_account_age_days": 1521 }, "https://github.com/Raapys/ComfyUI-LatentGC_Aggressive": { "stars": 4, "last_update": "2024-08-12 15:55:42", - "author_account_age_days": 4131 + "author_account_age_days": 4202 }, "https://github.com/Ravenmelt/ComfyUI-Rodin": { - "stars": 5, + "stars": 12, "last_update": "2024-10-25 03:30:05", - "author_account_age_days": 2274 + "author_account_age_days": 2345 }, - "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD": { - "stars": 6, - "last_update": "2024-07-28 12:45:36", - "author_account_age_days": 1564 + "https://github.com/ReBeating/ComfyUI-Artist-Selector": { + "stars": 1, + "last_update": "2025-02-10 15:39:41", + "author_account_age_days": 1648 }, "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": { - "stars": 6, + "stars": 7, "last_update": "2024-05-22 22:16:41", - "author_account_age_days": 385 + "author_account_age_days": 457 }, "https://github.com/RhizoNymph/ComfyUI-CLIPSlider": { "stars": 8, "last_update": "2024-09-07 19:47:02", - "author_account_age_days": 1366 + "author_account_age_days": 1437 }, "https://github.com/RhizoNymph/ComfyUI-ColorWheel": { "stars": 1, "last_update": "2024-10-13 06:26:51", - "author_account_age_days": 1366 + "author_account_age_days": 1437 }, "https://github.com/RhizoNymph/ComfyUI-Latte": { - "stars": 4, + "stars": 3, "last_update": "2024-08-11 07:25:04", - "author_account_age_days": 1366 + "author_account_age_days": 1437 }, "https://github.com/RiceRound/ComfyUI_CryptoCat": { - "stars": 47, - "last_update": "2024-12-27 14:52:44", - "author_account_age_days": 103 + "stars": 69, + "last_update": "2025-03-15 22:27:28", + "author_account_age_days": 174 }, "https://github.com/RiceRound/ComfyUI_RiceRound": { - "stars": 7, - "last_update": "2025-01-02 07:23:10", - "author_account_age_days": 103 + "stars": 10, + "last_update": "2025-03-18 07:31:16", + "author_account_age_days": 174 }, "https://github.com/Rinsanga1/comfyui-florence2xy": { - "stars": 1, + "stars": 0, "last_update": "2024-11-25 09:51:35", - "author_account_age_days": 350 + "author_account_age_days": 421 }, "https://github.com/RodrigoSKohl/ComfyUI-Panoramic-ImgStitcher": { - "stars": 5, + "stars": 4, "last_update": "2024-08-27 15:45:35", - "author_account_age_days": 947 + "author_account_age_days": 1018 + }, + "https://github.com/RodrigoSKohl/InteriorDesign-for-ComfyUI": { + "stars": 3, + "last_update": "2025-02-24 05:33:29", + "author_account_age_days": 1018 + }, + "https://github.com/RodrigoSKohl/StableDesign-for-ComfyUI": { + "stars": 3, + "last_update": "2025-02-24 05:33:29", + "author_account_age_days": 1018 + }, + "https://github.com/RodrigoSKohl/comfyui-tryoff-anyone": { + "stars": 20, + "last_update": "2025-02-16 23:19:45", + "author_account_age_days": 1018 }, "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": { - "stars": 20, + "stars": 21, "last_update": "2024-06-21 07:29:14", - "author_account_age_days": 1580 + "author_account_age_days": 1652 }, "https://github.com/Ron-Digital/ComfyUI-SceneGenerator": { "stars": 2, "last_update": "2024-06-28 19:36:30", - "author_account_age_days": 1128 + "author_account_age_days": 1199 }, "https://github.com/Runware/ComfyUI-Runware": { - "stars": 5, - "last_update": "2025-01-09 12:18:48", - "author_account_age_days": 399 - }, - "https://github.com/Rvage0815/ComfyUI-RvTools": { - "stars": 14, - "last_update": "2024-11-28 15:10:43", - "author_account_age_days": 372 - }, - "https://github.com/Rvage0815/ComfyUI-RvTools_v2": { - "stars": 4, - "last_update": "2024-12-27 09:42:55", - "author_account_age_days": 372 + "stars": 59, + "last_update": "2025-03-04 19:08:21", + "author_account_age_days": 470 }, "https://github.com/Ryuukeisyou/ComfyUI-SyncTalk": { - "stars": 37, + "stars": 36, "last_update": "2024-09-12 11:54:59", - "author_account_age_days": 2612 + "author_account_age_days": 2683 }, "https://github.com/Ryuukeisyou/comfyui_face_parsing": { - "stars": 124, - "last_update": "2024-10-26 06:14:27", - "author_account_age_days": 2612 + "stars": 136, + "last_update": "2025-02-18 09:22:52", + "author_account_age_days": 2683 }, "https://github.com/Ryuukeisyou/comfyui_io_helpers": { "stars": 1, "last_update": "2024-07-13 13:10:10", - "author_account_age_days": 2612 + "author_account_age_days": 2683 + }, + "https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend": { + "stars": 0, + "last_update": "2025-03-06 14:05:23", + "author_account_age_days": 3357 + }, + "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector": { + "stars": 0, + "last_update": "2025-03-07 03:24:19", + "author_account_age_days": 3357 + }, + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay": { + "stars": 0, + "last_update": "2025-03-10 14:16:35", + "author_account_age_days": 3357 + }, + "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image": { + "stars": 0, + "last_update": "2025-03-10 11:48:19", + "author_account_age_days": 3357 }, "https://github.com/SEkINVR/ComfyUI-SaveAs": { - "stars": 4, + "stars": 5, "last_update": "2024-08-19 01:06:16", - "author_account_age_days": 856 + "author_account_age_days": 927 }, "https://github.com/SKBv0/ComfyUI_SKBundle": { - "stars": 16, - "last_update": "2025-01-02 14:51:01", - "author_account_age_days": 1754 + "stars": 30, + "last_update": "2025-02-09 12:51:43", + "author_account_age_days": 1826 }, "https://github.com/SLAPaper/ComfyUI-Image-Selector": { - "stars": 75, - "last_update": "2024-08-03 18:32:58", - "author_account_age_days": 3896 + "stars": 83, + "last_update": "2025-03-16 12:13:46", + "author_account_age_days": 3968 }, "https://github.com/SLAPaper/StableDiffusion-dpmpp_2m_alt-Sampler": { - "stars": 12, - "last_update": "2024-11-09 13:59:35", - "author_account_age_days": 3896 + "stars": 11, + "last_update": "2025-03-16 12:13:59", + "author_account_age_days": 3968 }, "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": { "stars": 4, - "last_update": "2024-07-31 15:02:32", - "author_account_age_days": 4282 + "last_update": "2025-03-12 00:17:50", + "author_account_age_days": 4354 }, "https://github.com/SOELexicon/ComfyUI-LexTools": { "stars": 28, "last_update": "2024-06-28 19:25:13", - "author_account_age_days": 4282 + "author_account_age_days": 4354 + }, + "https://github.com/SS-snap/ComfyUI-Ad_scheduler": { + "stars": 3, + "last_update": "2025-03-11 13:46:41", + "author_account_age_days": 570 + }, + "https://github.com/SS-snap/ComfyUI-LBW_flux": { + "stars": 3, + "last_update": "2025-02-15 15:41:45", + "author_account_age_days": 570 }, "https://github.com/SS-snap/ComfyUI-Snap_Processing": { "stars": 60, "last_update": "2024-10-22 07:38:50", - "author_account_age_days": 499 + "author_account_age_days": 570 }, "https://github.com/SamKhoze/ComfyUI-DeepFuze": { - "stars": 342, + "stars": 377, "last_update": "2024-11-22 19:28:20", - "author_account_age_days": 1642 + "author_account_age_days": 1714 }, "https://github.com/SayanoAI/Comfy-RVC": { "stars": 18, "last_update": "2024-10-09 04:08:31", - "author_account_age_days": 2802 + "author_account_age_days": 2874 }, "https://github.com/Scholar01/ComfyUI-Keyframe": { - "stars": 13, - "last_update": "2024-06-14 09:01:30", - "author_account_age_days": 3395 + "stars": 14, + "last_update": "2025-01-22 04:09:29", + "author_account_age_days": 3466 }, "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": { - "stars": 14, + "stars": 16, "last_update": "2024-08-26 14:51:47", - "author_account_age_days": 1309 + "author_account_age_days": 1380 }, "https://github.com/ScreamingHawk/comfyui-ollama-prompt-encode": { - "stars": 9, + "stars": 10, "last_update": "2024-11-29 21:51:05", - "author_account_age_days": 4705 + "author_account_age_days": 4776 }, "https://github.com/SeaArtLab/ComfyUI-Long-CLIP": { - "stars": 125, - "last_update": "2024-09-04 09:23:38", - "author_account_age_days": 276 + "stars": 133, + "last_update": "2025-03-08 04:16:32", + "author_account_age_days": 347 }, "https://github.com/SeanScripts/ComfyUI-PixtralLlamaMolmoVision": { - "stars": 69, - "last_update": "2024-10-05 04:21:36", - "author_account_age_days": 1719 + "stars": 73, + "last_update": "2025-01-31 09:01:23", + "author_account_age_days": 1791 }, "https://github.com/SeanScripts/ComfyUI-Unload-Model": { - "stars": 18, + "stars": 28, "last_update": "2024-10-05 04:43:42", - "author_account_age_days": 1719 + "author_account_age_days": 1791 }, "https://github.com/SeargeDP/ComfyUI_Searge_LLM": { - "stars": 61, + "stars": 79, "last_update": "2024-09-04 09:04:18", - "author_account_age_days": 4370 + "author_account_age_days": 4442 }, "https://github.com/SeargeDP/SeargeSDXL": { - "stars": 813, + "stars": 833, "last_update": "2024-05-22 00:28:26", - "author_account_age_days": 4370 + "author_account_age_days": 4442 }, "https://github.com/Seedsa/Fooocus_Nodes": { - "stars": 80, + "stars": 87, "last_update": "2025-01-08 07:57:28", - "author_account_age_days": 2807 + "author_account_age_days": 2878 }, "https://github.com/Shadetail/ComfyUI_Eagleshadow": { - "stars": 3, - "last_update": "2024-06-15 13:04:49", - "author_account_age_days": 3596 + "stars": 4, + "last_update": "2025-03-08 20:09:28", + "author_account_age_days": 3668 }, "https://github.com/Shakker-Labs/ComfyUI-IPAdapter-Flux": { - "stars": 237, - "last_update": "2024-12-31 06:28:12", - "author_account_age_days": 48 + "stars": 305, + "last_update": "2025-02-17 07:17:50", + "author_account_age_days": 119 }, "https://github.com/Shannooty/ComfyUI-Timer-Nodes": { - "stars": 4, + "stars": 3, "last_update": "2024-12-17 09:20:49", - "author_account_age_days": 1496 + "author_account_age_days": 1567 }, "https://github.com/SherryXieYuchen/ComfyUI-Image-Inpainting": { "stars": 4, "last_update": "2024-07-03 03:39:49", - "author_account_age_days": 314 + "author_account_age_days": 385 }, "https://github.com/Shiba-2-shiba/ComfyUI_DiffusionModel_fp8_converter": { - "stars": 13, - "last_update": "2024-09-05 00:09:26", - "author_account_age_days": 585 + "stars": 17, + "last_update": "2025-02-18 07:36:09", + "author_account_age_days": 657 + }, + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd": { + "stars": 0, + "last_update": "2025-03-02 00:15:45", + "author_account_age_days": 657 }, "https://github.com/Shiba-2-shiba/comfyui-color-ascii-art-node": { - "stars": 1, + "stars": 0, "last_update": "2024-09-26 04:40:37", - "author_account_age_days": 585 + "author_account_age_days": 657 }, "https://github.com/Shibiko-AI/ShibikoAI-ComfyUI-Tools": { "stars": 10, "last_update": "2024-07-04 02:22:10", - "author_account_age_days": 601 + "author_account_age_days": 672 + }, + "https://github.com/ShinChven/sc-comfy-nodes": { + "stars": 1, + "last_update": "2025-03-17 23:53:37", + "author_account_age_days": 4440 }, "https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust": { - "stars": 6, + "stars": 8, "last_update": "2024-11-23 03:57:20", - "author_account_age_days": 1404 + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-AstralAnimator": { "stars": 18, "last_update": "2024-07-18 12:41:22", - "author_account_age_days": 1404 + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-CohernetVideoSampler": { "stars": 17, "last_update": "2024-12-23 10:54:08", - "author_account_age_days": 1404 + "author_account_age_days": 1475 + }, + "https://github.com/ShmuelRonen/ComfyUI-DeepSeek_R1-Chat": { + "stars": 15, + "last_update": "2025-01-27 17:14:24", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-EmptyHunyuanLatent": { "stars": 6, "last_update": "2024-12-29 05:30:57", - "author_account_age_days": 1404 + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-FreeMemory": { - "stars": 56, - "last_update": "2024-10-19 17:01:30", - "author_account_age_days": 1404 + "stars": 72, + "last_update": "2025-03-20 11:25:12", + "author_account_age_days": 1475 + }, + "https://github.com/ShmuelRonen/ComfyUI-FreeVC_wrapper": { + "stars": 55, + "last_update": "2025-03-20 11:22:02", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-Gemini_Flash_2.0_Exp": { - "stars": 30, - "last_update": "2024-12-23 10:41:30", - "author_account_age_days": 1404 + "stars": 161, + "last_update": "2025-03-20 11:20:24", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoSamplerSave": { - "stars": 3, - "last_update": "2025-01-09 09:54:44", - "author_account_age_days": 1404 + "stars": 16, + "last_update": "2025-02-05 19:26:18", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoStyler": { - "stars": 36, + "stars": 40, "last_update": "2024-12-31 19:19:42", - "author_account_age_days": 1404 + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-ImageMotionGuider": { - "stars": 32, + "stars": 40, "last_update": "2024-12-27 11:19:59", - "author_account_age_days": 1404 + "author_account_age_days": 1475 + }, + "https://github.com/ShmuelRonen/ComfyUI-Janus_pro_vision": { + "stars": 22, + "last_update": "2025-03-20 11:20:56", + "author_account_age_days": 1475 + }, + "https://github.com/ShmuelRonen/ComfyUI-JoyHallo_wrapper": { + "stars": 4, + "last_update": "2025-03-20 11:24:21", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-LatentSyncWrapper": { - "stars": 268, - "last_update": "2025-01-07 03:36:47", - "author_account_age_days": 1404 + "stars": 589, + "last_update": "2025-03-20 20:37:11", + "author_account_age_days": 1475 + }, + "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image": { + "stars": 5, + "last_update": "2025-03-20 18:51:16", + "author_account_age_days": 1475 + }, + "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL": { + "stars": 2, + "last_update": "2025-03-20 11:23:20", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": { "stars": 3, - "last_update": "2024-06-14 11:50:52", - "author_account_age_days": 1404 + "last_update": "2025-03-09 04:33:26", + "author_account_age_days": 1475 + }, + "https://github.com/ShmuelRonen/ComfyUI-WanVideoKsampler": { + "stars": 17, + "last_update": "2025-02-27 13:48:05", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API": { - "stars": 14, - "last_update": "2024-11-13 11:27:12", - "author_account_age_days": 1404 + "stars": 46, + "last_update": "2025-03-20 11:21:27", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI_Gemini_Flash": { "stars": 27, - "last_update": "2024-10-12 02:07:36", - "author_account_age_days": 1404 + "last_update": "2025-03-20 04:42:59", + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI_pixtral_large": { - "stars": 4, + "stars": 9, "last_update": "2025-01-08 10:59:35", - "author_account_age_days": 1404 + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI_pixtral_vision": { "stars": 14, "last_update": "2024-11-20 12:58:30", - "author_account_age_days": 1404 + "author_account_age_days": 1475 }, "https://github.com/ShmuelRonen/ComfyUI_wav2lip": { - "stars": 114, + "stars": 129, "last_update": "2024-09-18 13:17:42", - "author_account_age_days": 1404 + "author_account_age_days": 1475 }, "https://github.com/Shraknard/ComfyUI-Remover": { - "stars": 6, + "stars": 5, "last_update": "2024-07-24 08:42:48", - "author_account_age_days": 2515 + "author_account_age_days": 2587 + }, + "https://github.com/ShunL12324/comfy-portal-endpoint": { + "stars": 0, + "last_update": "2025-03-07 05:36:39", + "author_account_age_days": 2808 }, "https://github.com/Siberpone/lazy-pony-prompter": { - "stars": 35, + "stars": 37, "last_update": "2024-11-15 10:53:43", - "author_account_age_days": 651 + "author_account_age_days": 723 }, "https://github.com/Sieyalixnet/ComfyUI_Textarea_Loaders": { - "stars": 4, + "stars": 3, "last_update": "2024-08-30 01:19:54", - "author_account_age_days": 1882 + "author_account_age_days": 1953 + }, + "https://github.com/SijieMei/ComfyUI-promptHistory": { + "stars": 0, + "last_update": "2025-03-22 01:19:07", + "author_account_age_days": 2182 + }, + "https://github.com/SirWillance/FoW_Suite_LIGHT": { + "stars": 2, + "last_update": "2025-03-17 22:24:26", + "author_account_age_days": 48 }, "https://github.com/SlackinJack/asyncdiff_comfyui": { - "stars": 1, - "last_update": "2024-12-24 03:03:05", - "author_account_age_days": 2374 + "stars": 0, + "last_update": "2025-02-10 08:23:54", + "author_account_age_days": 2446 }, "https://github.com/SlackinJack/distrifuser_comfyui": { - "stars": 1, - "last_update": "2025-01-09 08:55:51", - "author_account_age_days": 2374 + "stars": 0, + "last_update": "2025-01-12 12:44:34", + "author_account_age_days": 2446 }, "https://github.com/SleeeepyZhou/ComfyUI-CNtranslator": { - "stars": 4, + "stars": 3, "last_update": "2024-12-21 02:21:41", - "author_account_age_days": 1396 + "author_account_age_days": 1468 }, "https://github.com/Slickytail/ComfyUI-InstantX-IPAdapter-SD3": { - "stars": 46, + "stars": 54, "last_update": "2024-12-21 22:36:22", - "author_account_age_days": 3761 + "author_account_age_days": 3832 + }, + "https://github.com/Slickytail/ComfyUI-RegionalAdaptiveSampling": { + "stars": 16, + "last_update": "2025-02-28 11:50:38", + "author_account_age_days": 3832 }, "https://github.com/Smirnov75/ComfyUI-mxToolkit": { - "stars": 141, - "last_update": "2024-12-08 10:35:19", - "author_account_age_days": 1711 + "stars": 178, + "last_update": "2025-03-09 11:01:53", + "author_account_age_days": 1782 }, "https://github.com/Smuzzies/comfyui_meme_maker": { "stars": 1, "last_update": "2024-07-05 22:01:41", - "author_account_age_days": 890 + "author_account_age_days": 962 }, "https://github.com/SoftMeng/ComfyUI-DeepCache-Fix": { - "stars": 9, + "stars": 12, "last_update": "2024-07-25 13:09:00", - "author_account_age_days": 3722 + "author_account_age_days": 3794 }, "https://github.com/SoftMeng/ComfyUI-PIL": { - "stars": 6, + "stars": 5, "last_update": "2024-10-13 10:02:17", - "author_account_age_days": 3722 + "author_account_age_days": 3794 }, "https://github.com/SoftMeng/ComfyUI_ImageToText": { - "stars": 10, + "stars": 13, "last_update": "2024-06-14 08:08:36", - "author_account_age_days": 3722 + "author_account_age_days": 3794 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Poster": { - "stars": 22, + "stars": 25, "last_update": "2024-06-14 07:06:27", - "author_account_age_days": 3722 + "author_account_age_days": 3794 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Styler": { - "stars": 22, + "stars": 23, "last_update": "2024-06-14 07:09:03", - "author_account_age_days": 3722 + "author_account_age_days": 3794 }, "https://github.com/SongGuo11/ComfyUI-SaveAnything-SG11": { - "stars": 1, - "last_update": "2024-12-26 11:12:14", - "author_account_age_days": 36 + "stars": 0, + "last_update": "2025-03-18 08:59:39", + "author_account_age_days": 107 }, "https://github.com/Sorcerio/MBM-Music-Visualizer": { - "stars": 21, + "stars": 22, "last_update": "2024-05-23 01:09:18", - "author_account_age_days": 4446 + "author_account_age_days": 4518 }, "https://github.com/SozeInc/ComfyUI-Mobile": { "stars": 0, "last_update": "2024-08-22 03:12:11", - "author_account_age_days": 278 + "author_account_age_days": 350 }, "https://github.com/SozeInc/ComfyUI_Soze": { - "stars": 4, - "last_update": "2024-11-23 22:56:20", - "author_account_age_days": 278 + "stars": 3, + "last_update": "2025-03-05 04:08:41", + "author_account_age_days": 350 }, "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid": { - "stars": 6, + "stars": 7, "last_update": "2024-05-22 22:11:52", - "author_account_age_days": 407 + "author_account_age_days": 478 }, "https://github.com/SparknightLLC/ComfyUI-ConditionalInterrupt": { - "stars": 3, + "stars": 2, "last_update": "2024-12-30 01:26:43", - "author_account_age_days": 151 + "author_account_age_days": 223 }, "https://github.com/SparknightLLC/ComfyUI-LatentClamp": { - "stars": 3, + "stars": 2, "last_update": "2024-11-22 01:45:46", - "author_account_age_days": 151 + "author_account_age_days": 223 }, "https://github.com/SparknightLLC/ComfyUI-MaskArbiter": { - "stars": 4, + "stars": 3, "last_update": "2025-01-01 01:36:41", - "author_account_age_days": 151 + "author_account_age_days": 223 }, "https://github.com/SpenserCai/ComfyUI-FunAudioLLM": { - "stars": 64, + "stars": 75, "last_update": "2024-11-27 09:22:05", - "author_account_age_days": 2914 + "author_account_age_days": 2985 + }, + "https://github.com/SshunWang/ComfyUI_CosyVoice": { + "stars": 5, + "last_update": "2025-02-05 23:48:10", + "author_account_age_days": 2212 }, "https://github.com/Stability-AI/ComfyUI-SAI_API": { - "stars": 51, - "last_update": "2024-06-06 14:18:15", - "author_account_age_days": 1041 + "stars": 57, + "last_update": "2025-03-04 12:11:12", + "author_account_age_days": 1113 }, "https://github.com/Stability-AI/stability-ComfyUI-nodes": { - "stars": 205, + "stars": 216, "last_update": "2024-05-22 15:30:47", - "author_account_age_days": 1041 + "author_account_age_days": 1113 }, "https://github.com/StableDiffusionVN/SDVN_Comfy_node": { - "stars": 16, - "last_update": "2025-01-05 12:11:14", - "author_account_age_days": 157 + "stars": 33, + "last_update": "2025-03-21 06:37:30", + "author_account_age_days": 228 + }, + "https://github.com/StarAsh042/ComfyUI_RollingArtist": { + "stars": 0, + "last_update": "2025-02-09 11:17:04", + "author_account_age_days": 3279 }, "https://github.com/StarMagicAI/comfyui_tagger": { "stars": 3, "last_update": "2024-09-03 02:01:59", - "author_account_age_days": 3745 + "author_account_age_days": 3816 }, "https://github.com/Starnodes2024/ComfyUI_StarNodes": { - "stars": 11, - "last_update": "2024-12-21 11:01:36", - "author_account_age_days": 201 + "stars": 35, + "last_update": "2025-03-21 18:22:07", + "author_account_age_days": 273 }, "https://github.com/StartHua/ComfyUI_OOTDiffusion_CXH": { - "stars": 116, + "stars": 120, "last_update": "2024-06-14 08:12:12", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/ComfyUI_PCDMs": { - "stars": 6, + "stars": 7, "last_update": "2024-05-22 23:21:14", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/ComfyUI_Seg_VITON": { - "stars": 202, + "stars": 208, "last_update": "2024-05-22 23:20:17", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/Comfyui_CXH_DeepLX": { "stars": 8, "last_update": "2024-09-21 02:38:08", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/Comfyui_CXH_FluxLoraMerge": { - "stars": 18, + "stars": 22, "last_update": "2024-12-26 06:56:07", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/Comfyui_CXH_Phi_3.5": { - "stars": 17, + "stars": 16, "last_update": "2024-08-22 04:45:39", - "author_account_age_days": 3034 - }, - "https://github.com/StartHua/Comfyui_CXH_joy_caption": { - "stars": 482, - "last_update": "2024-10-31 02:07:35", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/Comfyui_Gemini2": { "stars": 14, "last_update": "2024-12-12 09:42:42", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/Comfyui_joytag": { - "stars": 46, + "stars": 50, "last_update": "2024-05-22 23:20:28", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/StartHua/Comfyui_segformer_b2_clothes": { - "stars": 67, + "stars": 78, "last_update": "2024-07-24 14:45:58", - "author_account_age_days": 3034 + "author_account_age_days": 3105 }, "https://github.com/Steudio/ComfyUI_Steudio": { - "stars": 18, - "last_update": "2025-01-04 15:36:44", - "author_account_age_days": 335 + "stars": 20, + "last_update": "2025-02-10 22:20:40", + "author_account_age_days": 407 + }, + "https://github.com/Style-Mosaic/dino-x-comfyui-node": { + "stars": 0, + "last_update": "2025-01-28 21:40:18", + "author_account_age_days": 138 }, "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": { - "stars": 146, + "stars": 151, "last_update": "2024-07-31 02:48:34", - "author_account_age_days": 288 + "author_account_age_days": 359 }, "https://github.com/SuperMasterBlasterLaser/ComfyUI_YOLO_Classifiers": { "stars": 1, "last_update": "2024-06-20 15:06:51", - "author_account_age_days": 3777 + "author_account_age_days": 3848 }, "https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes": { - "stars": 742, + "stars": 814, "last_update": "2024-07-24 11:16:13", - "author_account_age_days": 2348 + "author_account_age_days": 2420 }, "https://github.com/Sxela/ComfyWarp": { - "stars": 34, - "last_update": "2024-11-16 07:17:05", - "author_account_age_days": 3571 + "stars": 39, + "last_update": "2025-02-09 10:01:14", + "author_account_age_days": 3642 + }, + "https://github.com/SykkoAtHome/ComfyUI_FaceProcessor": { + "stars": 4, + "last_update": "2025-02-27 15:31:36", + "author_account_age_days": 666 }, "https://github.com/TGu-97/ComfyUI-TGu-utils": { "stars": 1, "last_update": "2024-05-22 21:07:45", - "author_account_age_days": 728 + "author_account_age_days": 800 }, "https://github.com/THtianhao/ComfyUI-FaceChain": { - "stars": 125, + "stars": 130, "last_update": "2024-06-25 02:59:28", - "author_account_age_days": 3890 + "author_account_age_days": 3961 }, "https://github.com/THtianhao/ComfyUI-Portrait-Maker": { - "stars": 181, + "stars": 185, "last_update": "2024-05-22 21:18:05", - "author_account_age_days": 3890 + "author_account_age_days": 3961 }, "https://github.com/TJ16th/comfyUI_TJ_NormalLighting": { - "stars": 145, + "stars": 147, "last_update": "2024-05-23 00:25:37", - "author_account_age_days": 2734 + "author_account_age_days": 2805 }, "https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON": { - "stars": 1, + "stars": 0, "last_update": "2024-12-23 05:26:14", - "author_account_age_days": 319 + "author_account_age_days": 390 }, "https://github.com/TMElyralab/Comfyui-MusePose": { - "stars": 382, + "stars": 398, "last_update": "2024-07-31 06:21:52", - "author_account_age_days": 296 + "author_account_age_days": 367 }, "https://github.com/TRI3D-LC/ComfyUI-MiroBoard": { - "stars": 5, + "stars": 4, "last_update": "2024-11-21 07:15:20", - "author_account_age_days": 638 + "author_account_age_days": 709 }, "https://github.com/TRI3D-LC/tri3d-comfyui-nodes": { - "stars": 25, - "last_update": "2025-01-08 13:31:56", - "author_account_age_days": 638 + "stars": 26, + "last_update": "2025-03-10 05:58:11", + "author_account_age_days": 709 }, "https://github.com/TTPlanetPig/Comfyui_Hunyuan3D": { - "stars": 22, + "stars": 26, "last_update": "2024-11-10 16:59:42", - "author_account_age_days": 402 + "author_account_age_days": 473 }, "https://github.com/TTPlanetPig/Comfyui_JC2": { - "stars": 156, + "stars": 174, "last_update": "2024-10-19 17:25:50", - "author_account_age_days": 402 + "author_account_age_days": 473 }, "https://github.com/TTPlanetPig/Comfyui_Object_Migration": { - "stars": 610, + "stars": 685, "last_update": "2024-11-20 16:51:57", - "author_account_age_days": 402 + "author_account_age_days": 473 }, "https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor": { - "stars": 28, + "stars": 27, "last_update": "2024-08-21 17:52:56", - "author_account_age_days": 402 + "author_account_age_days": 473 }, "https://github.com/TTPlanetPig/Comfyui_TTP_Toolset": { - "stars": 432, - "last_update": "2025-01-08 13:35:14", - "author_account_age_days": 402 + "stars": 568, + "last_update": "2025-03-15 09:42:00", + "author_account_age_days": 473 }, "https://github.com/TW-CUI/TW-CUI-Util": { - "stars": 2, + "stars": 1, "last_update": "2024-08-14 01:49:13", - "author_account_age_days": 230 + "author_account_age_days": 301 }, "https://github.com/TZOOTZ/ComfyUI-TZOOTZ_VHS": { - "stars": 1, - "last_update": "2024-10-27 10:20:38", - "author_account_age_days": 3248 + "stars": 2, + "last_update": "2025-01-17 13:52:42", + "author_account_age_days": 3320 }, "https://github.com/TaiTair/comfyui-simswap": { - "stars": 15, + "stars": 14, "last_update": "2024-07-31 18:28:38", - "author_account_age_days": 3765 + "author_account_age_days": 3837 + }, + "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes": { + "stars": 0, + "last_update": "2025-03-18 22:24:36", + "author_account_age_days": 4777 + }, + "https://github.com/Taremin/comfyui-keep-multiple-tabs": { + "stars": 2, + "last_update": "2025-02-25 15:53:35", + "author_account_age_days": 2486 + }, + "https://github.com/Taremin/comfyui-prompt-config": { + "stars": 0, + "last_update": "2025-02-28 03:53:16", + "author_account_age_days": 2486 }, "https://github.com/Taremin/comfyui-prompt-extranetworks": { - "stars": 3, - "last_update": "2024-05-22 23:08:34", - "author_account_age_days": 2414 + "stars": 5, + "last_update": "2025-03-04 07:49:21", + "author_account_age_days": 2486 }, "https://github.com/Taremin/comfyui-string-tools": { "stars": 1, - "last_update": "2024-05-22 23:08:45", - "author_account_age_days": 2414 + "last_update": "2025-02-26 13:22:39", + "author_account_age_days": 2486 }, "https://github.com/Taremin/webui-monaco-prompt": { - "stars": 25, - "last_update": "2025-01-08 02:14:35", - "author_account_age_days": 2414 + "stars": 27, + "last_update": "2025-03-06 08:57:58", + "author_account_age_days": 2486 }, "https://github.com/TeaCrab/ComfyUI-TeaNodes": { "stars": 5, "last_update": "2024-05-22 20:44:05", - "author_account_age_days": 3416 + "author_account_age_days": 3488 }, "https://github.com/TechnoByteJS/ComfyUI-TechNodes": { - "stars": 15, + "stars": 14, "last_update": "2024-09-20 23:26:02", - "author_account_age_days": 1875 + "author_account_age_days": 1946 }, "https://github.com/TemryL/ComfyS3": { - "stars": 39, + "stars": 44, "last_update": "2024-11-05 14:56:04", - "author_account_age_days": 1067 + "author_account_age_days": 1139 }, "https://github.com/TemryL/ComfyUI-IDM-VTON": { - "stars": 446, + "stars": 480, "last_update": "2024-08-20 02:44:02", - "author_account_age_days": 1067 + "author_account_age_days": 1139 }, "https://github.com/TencentQQGYLab/ComfyUI-ELLA": { - "stars": 355, + "stars": 372, "last_update": "2024-08-16 11:21:10", - "author_account_age_days": 297 + "author_account_age_days": 368 }, "https://github.com/Tenney95/ComfyUI-NodeAligner": { - "stars": 95, + "stars": 108, "last_update": "2024-12-28 10:58:56", - "author_account_age_days": 125 + "author_account_age_days": 196 + }, + "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART": { + "stars": 3, + "last_update": "2025-03-21 10:25:33", + "author_account_age_days": 670 }, "https://github.com/TheBarret/ZSuite": { - "stars": 8, + "stars": 9, "last_update": "2024-08-10 13:31:03", - "author_account_age_days": 2911 + "author_account_age_days": 2983 }, "https://github.com/TheBill2001/ComfyUI-Save-Image-Caption": { - "stars": 5, + "stars": 6, "last_update": "2024-08-28 07:45:11", - "author_account_age_days": 1641 + "author_account_age_days": 1712 }, "https://github.com/TheBill2001/comfyui-upscale-by-model": { - "stars": 3, + "stars": 5, "last_update": "2024-06-18 17:57:06", - "author_account_age_days": 1641 + "author_account_age_days": 1712 }, "https://github.com/TheMistoAI/ComfyUI-Anyline": { - "stars": 417, + "stars": 442, "last_update": "2024-08-30 09:50:34", - "author_account_age_days": 364 + "author_account_age_days": 435 + }, + "https://github.com/TheWhykiki/Whykiki-ComfyUIToolset": { + "stars": 0, + "last_update": "2025-03-02 22:17:54", + "author_account_age_days": 3588 + }, + "https://github.com/ThepExcel/aiangelgallery-comfyui": { + "stars": 1, + "last_update": "2025-01-15 07:53:09", + "author_account_age_days": 1831 }, "https://github.com/ThereforeGames/ComfyUI-Unprompted": { - "stars": 10, + "stars": 9, "last_update": "2024-11-13 20:46:08", - "author_account_age_days": 1134 + "author_account_age_days": 1205 }, "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": { - "stars": 448, - "last_update": "2024-12-18 17:23:08", - "author_account_age_days": 820 + "stars": 485, + "last_update": "2025-03-14 08:21:19", + "author_account_age_days": 891 }, "https://github.com/Tlant/ComfyUI-OllamaPromptsGeneratorTlant": { "stars": 2, - "last_update": "2024-12-14 12:33:13", - "author_account_age_days": 2868 + "last_update": "2025-03-08 13:44:20", + "author_account_age_days": 2940 + }, + "https://github.com/Tr1dae/ComfyUI-Dequality": { + "stars": 0, + "last_update": "2025-02-13 16:41:59", + "author_account_age_days": 809 }, "https://github.com/Trgtuan10/ComfyUI_YoloSegment_Mask": { - "stars": 2, + "stars": 1, "last_update": "2024-09-26 01:46:02", - "author_account_age_days": 771 + "author_account_age_days": 842 }, "https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler": { - "stars": 43, + "stars": 48, "last_update": "2024-05-22 22:13:06", - "author_account_age_days": 1059 + "author_account_age_days": 1131 }, "https://github.com/Tropfchen/ComfyUI-Embedding_Picker": { - "stars": 38, + "stars": 41, "last_update": "2024-08-26 16:33:49", - "author_account_age_days": 4052 + "author_account_age_days": 4124 }, "https://github.com/Tropfchen/ComfyUI-yaResolutionSelector": { "stars": 13, "last_update": "2024-11-10 20:44:23", - "author_account_age_days": 4052 + "author_account_age_days": 4124 }, "https://github.com/Trung0246/ComfyUI-0246": { - "stars": 117, - "last_update": "2024-11-29 19:06:05", - "author_account_age_days": 3579 + "stars": 121, + "last_update": "2025-03-15 03:39:33", + "author_account_age_days": 3650 }, "https://github.com/Ttl/ComfyUi_NNLatentUpscale": { - "stars": 225, + "stars": 233, "last_update": "2024-12-01 16:34:24", - "author_account_age_days": 5120 + "author_account_age_days": 5192 }, "https://github.com/TylerZoro/SD3-Scaling": { "stars": 1, "last_update": "2024-06-15 16:59:22", - "author_account_age_days": 1484 + "author_account_age_days": 1556 }, "https://github.com/Umikaze-job/select_folder_path_easy": { "stars": 6, "last_update": "2024-05-22 21:30:13", - "author_account_age_days": 418 + "author_account_age_days": 489 }, "https://github.com/VAST-AI-Research/ComfyUI-Tripo": { - "stars": 206, - "last_update": "2024-12-05 10:54:41", - "author_account_age_days": 441 + "stars": 243, + "last_update": "2025-02-24 10:22:56", + "author_account_age_days": 512 }, "https://github.com/Vaibhavs10/ComfyUI-DDUF": { - "stars": 3, + "stars": 4, "last_update": "2025-01-03 15:10:44", - "author_account_age_days": 3179 + "author_account_age_days": 3251 }, "https://github.com/VangengLab/ComfyUI-LivePortrait_v2": { - "stars": 5, + "stars": 6, "last_update": "2024-11-09 08:00:22", - "author_account_age_days": 478 + "author_account_age_days": 549 }, "https://github.com/VangengLab/ComfyUI-LivePortrait_v3": { - "stars": 18, + "stars": 20, "last_update": "2024-11-09 07:59:42", - "author_account_age_days": 478 + "author_account_age_days": 549 }, "https://github.com/VertexStudio/roblox-comfyui-nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-08 16:35:54", - "author_account_age_days": 3177 + "author_account_age_days": 3249 }, "https://github.com/VikramxD/VEnhancer-ComfyUI-Wrapper": { - "stars": 9, - "last_update": "2024-11-18 19:38:19", - "author_account_age_days": 1555 + "stars": 10, + "last_update": "2025-01-14 07:35:00", + "author_account_age_days": 1626 + }, + "https://github.com/Visionatrix/ComfyUI-RemoteVAE": { + "stars": 1, + "last_update": "2025-03-12 05:57:35", + "author_account_age_days": 387 }, "https://github.com/Visionatrix/ComfyUI-Visionatrix": { - "stars": 2, - "last_update": "2024-12-17 14:37:04", - "author_account_age_days": 315 + "stars": 1, + "last_update": "2025-03-11 12:57:20", + "author_account_age_days": 387 }, "https://github.com/VrchStudio/comfyui-web-viewer": { - "stars": 86, - "last_update": "2024-12-27 18:12:27", - "author_account_age_days": 1119 + "stars": 169, + "last_update": "2025-03-21 14:19:57", + "author_account_age_days": 1190 }, "https://github.com/VykosX/ControlFlowUtils": { - "stars": 94, + "stars": 103, "last_update": "2024-12-09 17:24:48", - "author_account_age_days": 2109 - }, - "https://github.com/WASasquatch/ASTERR": { - "stars": 26, - "last_update": "2024-10-27 01:48:56", - "author_account_age_days": 4824 + "author_account_age_days": 2181 }, "https://github.com/WASasquatch/ComfyUI_Preset_Merger": { "stars": 29, "last_update": "2024-10-27 01:50:32", - "author_account_age_days": 4824 + "author_account_age_days": 4896 }, "https://github.com/WASasquatch/FreeU_Advanced": { - "stars": 115, + "stars": 118, "last_update": "2024-10-27 01:49:14", - "author_account_age_days": 4824 + "author_account_age_days": 4896 }, "https://github.com/WASasquatch/PPF_Noise_ComfyUI": { - "stars": 23, + "stars": 24, "last_update": "2024-06-14 10:27:23", - "author_account_age_days": 4824 + "author_account_age_days": 4896 }, "https://github.com/WASasquatch/PowerNoiseSuite": { - "stars": 71, + "stars": 72, "last_update": "2024-07-31 13:48:33", - "author_account_age_days": 4824 + "author_account_age_days": 4896 }, "https://github.com/WASasquatch/WAS_Extras": { - "stars": 32, + "stars": 33, "last_update": "2024-06-17 04:08:37", - "author_account_age_days": 4824 + "author_account_age_days": 4896 }, "https://github.com/WASasquatch/was-node-suite-comfyui": { - "stars": 1300, - "last_update": "2024-12-20 16:46:02", - "author_account_age_days": 4824 + "stars": 1417, + "last_update": "2025-03-07 19:22:03", + "author_account_age_days": 4896 + }, + "https://github.com/WUYUDING2583/ComfyUI-Save-Image-Callback": { + "stars": 1, + "last_update": "2025-01-21 08:19:52", + "author_account_age_days": 2482 }, "https://github.com/WX-NPS1598/ComfyUI-Auto_Crop_By_NPS": { - "stars": 6, + "stars": 5, "last_update": "2024-07-30 04:43:14", - "author_account_age_days": 175 + "author_account_age_days": 246 }, "https://github.com/WaddingtonHoldings/ComfyUI-InstaSD": { "stars": 2, - "last_update": "2025-01-03 20:26:02", - "author_account_age_days": 821 + "last_update": "2025-01-14 02:01:05", + "author_account_age_days": 893 }, "https://github.com/WainWong/ComfyUI-Loop-image": { - "stars": 24, - "last_update": "2025-01-01 04:32:57", - "author_account_age_days": 2822 + "stars": 31, + "last_update": "2025-01-25 08:36:38", + "author_account_age_days": 2893 }, "https://github.com/Wakfull33/ComfyUI-SaveImageCivitAI": { - "stars": 2, + "stars": 1, "last_update": "2024-10-29 11:03:23", - "author_account_age_days": 3159 + "author_account_age_days": 3230 + }, + "https://github.com/WangPengxing/ComfyUI_WPX_Node": { + "stars": 0, + "last_update": "2025-01-20 08:31:55", + "author_account_age_days": 597 }, "https://github.com/WebDev9000/WebDev9000-Nodes": { "stars": 1, "last_update": "2024-06-14 10:28:22", - "author_account_age_days": 3951 + "author_account_age_days": 4023 + }, + "https://github.com/Wenaka2004/ComfyUI-TagClassifier": { + "stars": 22, + "last_update": "2025-01-31 04:28:34", + "author_account_age_days": 808 }, "https://github.com/Wicloz/ComfyUI-Simply-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2025-01-05 01:44:38", - "author_account_age_days": 3843 + "author_account_age_days": 3914 }, "https://github.com/X-T-E-R/ComfyUI-EasyCivitai-XTNodes": { - "stars": 32, + "stars": 38, "last_update": "2024-09-04 11:37:04", - "author_account_age_days": 1362 + "author_account_age_days": 1433 }, "https://github.com/XLabs-AI/x-flux-comfyui": { - "stars": 1256, + "stars": 1431, "last_update": "2024-10-30 12:51:21", - "author_account_age_days": 156 + "author_account_age_days": 228 }, "https://github.com/Xclbr7/ComfyUI-Merlin": { - "stars": 26, + "stars": 29, "last_update": "2024-09-02 19:36:05", - "author_account_age_days": 136 + "author_account_age_days": 207 + }, + "https://github.com/Xiangyu-CAS/HandFixer": { + "stars": 148, + "last_update": "2025-02-10 02:02:01", + "author_account_age_days": 3658 }, "https://github.com/XmYx/deforum-comfy-nodes": { - "stars": 167, - "last_update": "2024-12-05 21:10:04", - "author_account_age_days": 2805 + "stars": 185, + "last_update": "2025-02-11 19:15:18", + "author_account_age_days": 2876 }, "https://github.com/Xyem/Xycuno-Oobabooga": { "stars": 4, "last_update": "2024-05-23 00:14:14", - "author_account_age_days": 4523 + "author_account_age_days": 4595 }, "https://github.com/YMC-GitHub/ymc-node-as-x-type": { - "stars": 1, + "stars": 0, "last_update": "2024-08-03 06:01:00", - "author_account_age_days": 2894 + "author_account_age_days": 2965 }, "https://github.com/YMC-GitHub/ymc-node-suite-comfyui": { - "stars": 17, + "stars": 18, "last_update": "2024-05-22 21:15:51", - "author_account_age_days": 2894 + "author_account_age_days": 2965 }, "https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes": { "stars": 14, "last_update": "2024-05-22 20:48:23", - "author_account_age_days": 3954 + "author_account_age_days": 4026 + }, + "https://github.com/YRIKKA/ComfyUI-InferenceTimeScaling": { + "stars": 12, + "last_update": "2025-02-27 21:13:18", + "author_account_age_days": 269 }, "https://github.com/Yanick112/ComfyUI-ToSVG": { - "stars": 117, - "last_update": "2024-10-12 15:56:48", - "author_account_age_days": 1013 + "stars": 163, + "last_update": "2025-03-08 19:43:15", + "author_account_age_days": 1084 }, "https://github.com/YarvixPA/ComfyUI-NeuralMedia": { "stars": 2, - "last_update": "2024-12-03 23:05:03", - "author_account_age_days": 405 + "last_update": "2025-01-21 21:31:26", + "author_account_age_days": 477 }, "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": { - "stars": 16, + "stars": 15, "last_update": "2025-01-03 03:58:20", - "author_account_age_days": 985 + "author_account_age_days": 1056 }, "https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh": { "stars": 4, "last_update": "2024-11-29 09:52:04", - "author_account_age_days": 1639 + "author_account_age_days": 1710 + }, + "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS": { + "stars": 2, + "last_update": "2025-03-21 03:53:34", + "author_account_age_days": 1710 + }, + "https://github.com/Yuan-ManX/ComfyUI-PhotoDoodle": { + "stars": 2, + "last_update": "2025-02-28 03:47:54", + "author_account_age_days": 1710 }, "https://github.com/Yuan-ManX/ComfyUI-SoundHub": { - "stars": 2, + "stars": 1, "last_update": "2024-11-27 08:00:48", - "author_account_age_days": 1639 + "author_account_age_days": 1710 + }, + "https://github.com/Yuan-ManX/ComfyUI-StyleStudio": { + "stars": 4, + "last_update": "2025-03-10 09:38:08", + "author_account_age_days": 1710 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": { - "stars": 354, + "stars": 366, "last_update": "2024-05-22 14:14:46", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Animated-optical-illusions": { "stars": 20, "last_update": "2024-06-14 07:06:15", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": { - "stars": 462, + "stars": 481, "last_update": "2024-06-12 04:40:50", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BRIA_AI-RMBG": { - "stars": 738, + "stars": 772, "last_update": "2024-05-22 14:14:18", - "author_account_age_days": 539 + "author_account_age_days": 610 + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DeepSeek-JanusPro": { + "stars": 97, + "last_update": "2025-02-21 09:45:54", + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": { "stars": 73, "last_update": "2024-05-22 14:14:03", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini": { - "stars": 691, + "stars": 729, "last_update": "2024-05-22 14:15:11", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID": { - "stars": 1368, + "stars": 1395, "last_update": "2024-05-22 13:57:55", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Phi-3-mini": { - "stars": 198, + "stars": 202, "last_update": "2024-06-30 08:41:40", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PhotoMaker-ZHO": { - "stars": 794, + "stars": 808, "last_update": "2024-05-22 14:13:49", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PixArt-alpha-Diffusers": { "stars": 49, "last_update": "2024-05-22 13:40:58", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Q-Align": { "stars": 4, "last_update": "2024-05-22 14:15:52", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen": { - "stars": 95, + "stars": 103, "last_update": "2024-09-20 21:27:47", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-VL-API": { - "stars": 200, + "stars": 201, "last_update": "2024-05-22 14:14:57", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SVD-ZHO": { "stars": 107, "last_update": "2024-05-22 13:40:44", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SegMoE": { - "stars": 80, + "stars": 79, "last_update": "2024-05-22 13:41:14", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Text_Image-Composite": { - "stars": 102, + "stars": 106, "last_update": "2024-05-31 12:03:55", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-UltraEdit-ZHO": { "stars": 145, "last_update": "2024-07-11 14:59:07", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-YoloWorld-EfficientSAM": { - "stars": 648, + "stars": 702, "last_update": "2024-05-22 13:01:07", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/comfyui-portrait-master-zh-cn": { - "stars": 1651, + "stars": 1695, "last_update": "2024-06-14 09:00:04", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZZXYWQ/ComfyUI-ZZXYWQ": { - "stars": 21, + "stars": 22, "last_update": "2024-07-19 06:38:39", - "author_account_age_days": 1472 + "author_account_age_days": 1543 }, "https://github.com/ZaneA/ComfyUI-ImageReward": { - "stars": 28, - "last_update": "2024-08-19 06:43:55", - "author_account_age_days": 5739 + "stars": 27, + "last_update": "2025-02-24 19:55:45", + "author_account_age_days": 5810 }, "https://github.com/ZeDarkAdam/ComfyUI-Embeddings-Tools": { "stars": 2, "last_update": "2024-06-23 19:19:40", - "author_account_age_days": 1393 + "author_account_age_days": 1464 + }, + "https://github.com/Zeks/comfyui-rapidfire": { + "stars": 0, + "last_update": "2025-01-14 18:28:43", + "author_account_age_days": 4891 }, "https://github.com/Zuellni/ComfyUI-Custom-Nodes": { "stars": 44, "last_update": "2023-09-19 12:11:26", - "author_account_age_days": 721 + "author_account_age_days": 793 }, "https://github.com/Zuellni/ComfyUI-ExLlama-Nodes": { "stars": 116, "last_update": "2024-12-06 14:22:11", - "author_account_age_days": 721 + "author_account_age_days": 793 }, "https://github.com/Zuellni/ComfyUI-PickScore-Nodes": { - "stars": 35, + "stars": 34, "last_update": "2024-09-08 09:17:04", - "author_account_age_days": 721 + "author_account_age_days": 793 + }, + "https://github.com/a-und-b/ComfyUI_Delay": { + "stars": 3, + "last_update": "2025-01-10 11:20:35", + "author_account_age_days": 710 + }, + "https://github.com/a-und-b/ComfyUI_JSON_Helper": { + "stars": 2, + "last_update": "2025-01-09 15:54:55", + "author_account_age_days": 710 + }, + "https://github.com/a-und-b/ComfyUI_LoRA_from_URL": { + "stars": 1, + "last_update": "2025-01-16 13:40:26", + "author_account_age_days": 710 }, "https://github.com/a1lazydog/ComfyUI-AudioScheduler": { - "stars": 102, + "stars": 99, "last_update": "2024-08-08 03:04:19", - "author_account_age_days": 5001 + "author_account_age_days": 5072 }, "https://github.com/abdozmantar/ComfyUI-DeepExtract": { - "stars": 7, - "last_update": "2024-12-07 11:44:06", - "author_account_age_days": 351 + "stars": 13, + "last_update": "2025-02-04 18:48:31", + "author_account_age_days": 423 }, "https://github.com/aburahamu/ComfyUI-IsNiceParts": { "stars": 3, "last_update": "2024-06-14 12:01:40", - "author_account_age_days": 272 + "author_account_age_days": 343 }, "https://github.com/aburahamu/ComfyUI-RequestsPoster": { "stars": 2, "last_update": "2024-06-14 13:59:24", - "author_account_age_days": 272 + "author_account_age_days": 343 + }, + "https://github.com/abuzreq/ComfyUI-Model-Bending": { + "stars": 0, + "last_update": "2025-03-19 22:57:21", + "author_account_age_days": 4126 }, "https://github.com/abyz22/image_control": { - "stars": 15, + "stars": 16, "last_update": "2024-08-31 08:39:44", - "author_account_age_days": 361 + "author_account_age_days": 433 }, "https://github.com/acorderob/sd-webui-prompt-postprocessor": { - "stars": 28, - "last_update": "2024-11-23 13:08:46", - "author_account_age_days": 4026 + "stars": 30, + "last_update": "2025-02-09 20:30:04", + "author_account_age_days": 4098 }, "https://github.com/adbrasi/ComfyUI-TrashNodes-DownloadHuggingface": { "stars": 4, "last_update": "2024-05-22 23:24:45", - "author_account_age_days": 902 + "author_account_age_days": 974 }, "https://github.com/adieyal/comfyui-dynamicprompts": { - "stars": 263, + "stars": 288, "last_update": "2024-07-09 14:21:09", - "author_account_age_days": 5216 + "author_account_age_days": 5287 }, "https://github.com/adigayung/ComfyUI-Translator": { - "stars": 4, + "stars": 7, "last_update": "2024-09-09 03:36:52", - "author_account_age_days": 412 + "author_account_age_days": 483 }, "https://github.com/adriflex/ComfyUI_Blender_Texdiff": { "stars": 2, "last_update": "2024-05-22 23:14:18", - "author_account_age_days": 2421 + "author_account_age_days": 2492 }, "https://github.com/aegis72/aegisflow_utility_nodes": { - "stars": 31, + "stars": 30, "last_update": "2024-10-03 11:11:39", - "author_account_age_days": 782 + "author_account_age_days": 854 }, "https://github.com/aegis72/comfyui-styles-all": { - "stars": 48, + "stars": 50, "last_update": "2024-05-22 22:10:41", - "author_account_age_days": 782 + "author_account_age_days": 854 + }, + "https://github.com/agilly1989/ComfyUI_agilly1989_motorway": { + "stars": 3, + "last_update": "2025-02-09 06:39:18", + "author_account_age_days": 2155 }, "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools": { - "stars": 1, + "stars": 2, "last_update": "2025-01-03 18:48:03", - "author_account_age_days": 4195 + "author_account_age_days": 4266 }, "https://github.com/ai-liam/comfyui-liam": { "stars": 2, "last_update": "2024-06-22 03:27:52", - "author_account_age_days": 1720 + "author_account_age_days": 1791 }, "https://github.com/ai-liam/comfyui_liam_util": { "stars": 1, "last_update": "2024-05-22 22:21:23", - "author_account_age_days": 1720 + "author_account_age_days": 1791 }, "https://github.com/ai-shizuka/ComfyUI-tbox": { - "stars": 4, - "last_update": "2024-12-19 08:13:44", - "author_account_age_days": 211 + "stars": 11, + "last_update": "2025-03-13 03:38:00", + "author_account_age_days": 282 }, "https://github.com/aianimation55/ComfyUI-FatLabels": { "stars": 5, "last_update": "2024-05-22 21:26:01", - "author_account_age_days": 473 + "author_account_age_days": 544 + }, + "https://github.com/aiartvn/A2V_Multi_Image_Composite": { + "stars": 0, + "last_update": "2025-02-02 04:14:06", + "author_account_age_days": 55 + }, + "https://github.com/aicuai/aicu-comfyui-stability-ai-api": { + "stars": 1, + "last_update": "2025-02-21 13:31:14", + "author_account_age_days": 613 + }, + "https://github.com/aidec/Comfyui_TextBatch_aidec": { + "stars": 3, + "last_update": "2025-02-05 00:33:24", + "author_account_age_days": 4173 }, "https://github.com/aidenli/ComfyUI_NYJY": { - "stars": 92, - "last_update": "2024-12-31 10:12:40", - "author_account_age_days": 4747 + "stars": 109, + "last_update": "2025-03-19 09:01:54", + "author_account_age_days": 4818 + }, + "https://github.com/aigc-apps/EasyAnimate": { + "stars": 2081, + "last_update": "2025-03-06 11:41:28", + "author_account_age_days": 588 }, "https://github.com/aimerib/ComfyUI_HigherBitDepthSaveImage": { - "stars": 3, + "stars": 2, "last_update": "2024-09-14 03:03:01", - "author_account_age_days": 2870 + "author_account_age_days": 2941 + }, + "https://github.com/ainewsto/Comfyui_Comfly": { + "stars": 212, + "last_update": "2025-03-21 14:56:21", + "author_account_age_days": 924 }, "https://github.com/ainewsto/comfyui-labs-google": { - "stars": 8, - "last_update": "2025-01-09 08:33:51", - "author_account_age_days": 853 + "stars": 64, + "last_update": "2025-01-10 09:53:04", + "author_account_age_days": 924 }, "https://github.com/aisabervisionlab/ComfyUI_merge_ASVL": { - "stars": 3, + "stars": 2, "last_update": "2024-07-31 13:39:36", - "author_account_age_days": 188 + "author_account_age_days": 259 + }, + "https://github.com/ajbergh/comfyui-ethnicity_hairstyle_clip_encoder": { + "stars": 2, + "last_update": "2025-02-28 22:07:11", + "author_account_age_days": 2053 }, "https://github.com/akatz-ai/ComfyUI-AKatz-Nodes": { - "stars": 23, - "last_update": "2024-11-20 23:13:59", - "author_account_age_days": 234 + "stars": 25, + "last_update": "2025-01-19 07:40:04", + "author_account_age_days": 306 }, "https://github.com/akatz-ai/ComfyUI-DepthCrafter-Nodes": { - "stars": 194, + "stars": 203, "last_update": "2024-12-13 01:44:03", - "author_account_age_days": 234 + "author_account_age_days": 306 }, "https://github.com/akatz-ai/ComfyUI-Depthflow-Nodes": { - "stars": 210, + "stars": 264, "last_update": "2024-12-26 22:37:39", - "author_account_age_days": 234 + "author_account_age_days": 306 }, "https://github.com/akatz-ai/ComfyUI-X-Portrait-Nodes": { - "stars": 78, + "stars": 81, "last_update": "2024-12-13 01:44:29", - "author_account_age_days": 234 + "author_account_age_days": 306 }, "https://github.com/akierson/ComfyUI-textnodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-20 20:12:15", - "author_account_age_days": 2533 + "author_account_age_days": 2605 }, "https://github.com/akierson/comfyui-colornodes": { - "stars": 2, + "stars": 1, "last_update": "2024-10-20 20:14:09", - "author_account_age_days": 2533 + "author_account_age_days": 2605 }, "https://github.com/akspa0/ComfyUI-FapMixPlus": { "stars": 1, "last_update": "2024-11-11 02:59:10", - "author_account_age_days": 329 + "author_account_age_days": 401 }, "https://github.com/al-swaiti/All-IN-ONE-style": { - "stars": 6, + "stars": 5, "last_update": "2024-07-30 05:59:49", - "author_account_age_days": 1128 + "author_account_age_days": 1200 }, "https://github.com/al-swaiti/ComfyUI-CascadeResolutions": { - "stars": 4, + "stars": 5, "last_update": "2024-07-31 13:48:47", - "author_account_age_days": 1128 + "author_account_age_days": 1200 }, "https://github.com/al-swaiti/ComfyUI-OllamaGemini": { - "stars": 28, - "last_update": "2024-11-28 12:32:25", - "author_account_age_days": 1128 + "stars": 40, + "last_update": "2025-03-06 04:22:03", + "author_account_age_days": 1200 }, "https://github.com/alanhuang67/ComfyUI-FAI-Node": { - "stars": 11, + "stars": 12, "last_update": "2024-08-02 03:35:41", - "author_account_age_days": 3689 + "author_account_age_days": 3760 }, "https://github.com/alessandrozonta/ComfyUI-CenterNode": { "stars": 7, "last_update": "2024-11-14 12:20:40", - "author_account_age_days": 1396 + "author_account_age_days": 1467 }, "https://github.com/alessandrozonta/ComfyUI-Layers": { - "stars": 41, + "stars": 46, "last_update": "2024-07-31 13:46:32", - "author_account_age_days": 1396 + "author_account_age_days": 1467 }, "https://github.com/alessandrozonta/ComfyUI-OpenPose": { - "stars": 17, + "stars": 20, "last_update": "2024-07-31 13:51:14", - "author_account_age_days": 1396 + "author_account_age_days": 1467 + }, + "https://github.com/alessandrozonta/Comfyui-LoopLoader": { + "stars": 0, + "last_update": "2025-02-21 13:28:39", + "author_account_age_days": 1467 }, "https://github.com/alexcong/ComfyUI_QwenVL": { - "stars": 32, - "last_update": "2024-12-28 23:17:34", - "author_account_age_days": 3785 + "stars": 56, + "last_update": "2025-03-15 01:11:06", + "author_account_age_days": 3857 }, "https://github.com/alexgenovese/ComfyUI_HF_Servelress_Inference": { - "stars": 6, + "stars": 9, "last_update": "2024-09-01 13:04:48", - "author_account_age_days": 5213 + "author_account_age_days": 5285 }, "https://github.com/alexisrolland/ComfyUI-Phi": { - "stars": 9, + "stars": 8, "last_update": "2025-01-04 10:38:45", - "author_account_age_days": 3485 + "author_account_age_days": 3556 }, "https://github.com/alexopus/ComfyUI-Image-Saver": { - "stars": 57, - "last_update": "2024-12-08 20:23:34", - "author_account_age_days": 2878 + "stars": 71, + "last_update": "2025-03-21 10:31:33", + "author_account_age_days": 2950 + }, + "https://github.com/ali-vilab/ACE_plus": { + "stars": 758, + "last_update": "2025-03-14 23:23:50", + "author_account_age_days": 759 }, "https://github.com/ali1234/comfyui-job-iterator": { - "stars": 101, + "stars": 110, "last_update": "2024-11-16 07:51:07", - "author_account_age_days": 5059 + "author_account_age_days": 5130 }, "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": { - "stars": 58, - "last_update": "2024-12-23 16:35:42", - "author_account_age_days": 799 + "stars": 69, + "last_update": "2025-03-02 09:42:33", + "author_account_age_days": 871 }, "https://github.com/alpertunga-bile/image-caption-comfyui": { - "stars": 10, + "stars": 9, "last_update": "2024-09-07 13:32:12", - "author_account_age_days": 1472 + "author_account_age_days": 1543 }, "https://github.com/alpertunga-bile/prompt-generator-comfyui": { - "stars": 87, - "last_update": "2024-11-17 20:28:12", - "author_account_age_days": 1472 + "stars": 94, + "last_update": "2025-02-24 18:32:46", + "author_account_age_days": 1543 }, "https://github.com/alsritter/asymmetric-tiling-comfyui": { - "stars": 16, + "stars": 18, "last_update": "2024-05-22 20:43:07", - "author_account_age_days": 2193 + "author_account_age_days": 2264 }, "https://github.com/alt-key-project/comfyui-dream-project": { - "stars": 92, - "last_update": "2024-12-07 20:07:31", - "author_account_age_days": 859 + "stars": 98, + "last_update": "2025-02-16 14:45:43", + "author_account_age_days": 930 }, "https://github.com/alt-key-project/comfyui-dream-video-batches": { - "stars": 66, - "last_update": "2024-12-07 20:06:38", - "author_account_age_days": 859 - }, - "https://github.com/amaozhao/ComfyUI_DeployCash": { - "stars": 2, - "last_update": "2024-12-16 12:40:50", - "author_account_age_days": 5231 + "stars": 68, + "last_update": "2025-02-23 10:28:40", + "author_account_age_days": 930 }, "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes": { "stars": 0, "last_update": "2024-05-22 22:21:00", - "author_account_age_days": 387 + "author_account_age_days": 459 }, "https://github.com/andersxa/comfyui-PromptAttention": { - "stars": 23, + "stars": 22, "last_update": "2024-06-20 11:09:25", - "author_account_age_days": 3152 + "author_account_age_days": 3223 }, "https://github.com/andygill/comfyui-sunflower-nodes": { - "stars": 2, + "stars": 1, "last_update": "2025-01-02 04:23:22", - "author_account_age_days": 5991 + "author_account_age_days": 6063 }, "https://github.com/angeloshredder/StableCascadeResizer": { "stars": 2, "last_update": "2024-05-23 00:12:55", - "author_account_age_days": 2027 + "author_account_age_days": 2099 }, "https://github.com/anhkhoatranle30/Handy-Nodes-ComfyUI": { - "stars": 2, + "stars": 1, "last_update": "2024-09-14 14:08:22", - "author_account_age_days": 1949 + "author_account_age_days": 2020 }, "https://github.com/antrobot1234/antrobots-comfyUI-nodepack": { - "stars": 16, - "last_update": "2025-01-04 05:56:24", - "author_account_age_days": 3061 + "stars": 19, + "last_update": "2025-02-12 11:42:48", + "author_account_age_days": 3133 }, "https://github.com/arcum42/ComfyUI_SageUtils": { - "stars": 4, - "last_update": "2025-01-05 04:51:48", - "author_account_age_days": 5947 + "stars": 2, + "last_update": "2025-03-21 06:59:34", + "author_account_age_days": 6018 }, "https://github.com/aria1th/ComfyUI-LogicUtils": { - "stars": 29, - "last_update": "2025-01-08 17:48:53", - "author_account_age_days": 2544 + "stars": 37, + "last_update": "2025-03-19 06:11:57", + "author_account_age_days": 2615 }, "https://github.com/asaddi/ComfyUI-YALLM-node": { - "stars": 3, + "stars": 4, "last_update": "2024-12-29 01:08:36", - "author_account_age_days": 3733 + "author_account_age_days": 3804 }, "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": { - "stars": 45, - "last_update": "2024-11-23 17:37:39", - "author_account_age_days": 640 + "stars": 53, + "last_update": "2025-02-24 07:21:40", + "author_account_age_days": 711 }, "https://github.com/asagi4/ComfyUI-CADS": { - "stars": 40, - "last_update": "2024-07-31 16:02:55", - "author_account_age_days": 640 + "stars": 41, + "last_update": "2025-02-23 14:58:32", + "author_account_age_days": 711 }, "https://github.com/asagi4/ComfyUI-NPNet": { "stars": 17, "last_update": "2024-12-10 17:20:10", - "author_account_age_days": 640 + "author_account_age_days": 711 }, "https://github.com/asagi4/comfyui-prompt-control": { - "stars": 238, - "last_update": "2025-01-07 16:15:31", - "author_account_age_days": 640 + "stars": 250, + "last_update": "2025-03-10 19:40:59", + "author_account_age_days": 711 }, "https://github.com/asagi4/comfyui-utility-nodes": { - "stars": 7, - "last_update": "2024-05-25 11:40:49", - "author_account_age_days": 640 + "stars": 8, + "last_update": "2025-01-30 23:01:52", + "author_account_age_days": 711 + }, + "https://github.com/asdrabael/Hunyuan-Multi-Lora-Loader": { + "stars": 3, + "last_update": "2025-02-09 02:50:51", + "author_account_age_days": 284 + }, + "https://github.com/asutermo/ComfyUI-Flux-TryOff": { + "stars": 33, + "last_update": "2025-03-10 21:05:14", + "author_account_age_days": 5182 }, "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": { - "stars": 140, + "stars": 156, "last_update": "2024-08-15 18:37:19", - "author_account_age_days": 2926 + "author_account_age_days": 2997 + }, + "https://github.com/atluslin/comfyui_arcane_style_trans": { + "stars": 0, + "last_update": "2025-03-14 01:25:41", + "author_account_age_days": 3297 }, "https://github.com/atmaranto/ComfyUI-SaveAsScript": { - "stars": 117, + "stars": 133, "last_update": "2024-10-09 08:44:54", - "author_account_age_days": 2547 + "author_account_age_days": 2619 + }, + "https://github.com/attashe/ComfyUI-FluxRegionAttention": { + "stars": 117, + "last_update": "2025-03-02 16:37:39", + "author_account_age_days": 3894 }, "https://github.com/audioscavenger/ComfyUI-Thumbnails": { - "stars": 20, + "stars": 25, "last_update": "2025-01-06 23:41:08", - "author_account_age_days": 4320 + "author_account_age_days": 4391 }, "https://github.com/audioscavenger/save-image-extended-comfyui": { - "stars": 67, + "stars": 78, "last_update": "2025-01-05 19:27:21", - "author_account_age_days": 4320 + "author_account_age_days": 4391 + }, + "https://github.com/austinbrown34/ComfyUI-IO-Helpers": { + "stars": 0, + "last_update": "2025-02-13 14:29:22", + "author_account_age_days": 4368 }, "https://github.com/avatechai/avatar-graph-comfyui": { - "stars": 254, + "stars": 259, "last_update": "2024-05-22 21:14:14", - "author_account_age_days": 1053 + "author_account_age_days": 1124 }, "https://github.com/aws-samples/comfyui-llm-node-for-amazon-bedrock": { - "stars": 10, - "last_update": "2024-08-20 10:23:09", - "author_account_age_days": 3757 + "stars": 19, + "last_update": "2025-03-07 08:09:46", + "author_account_age_days": 3829 }, "https://github.com/azure-dragon-ai/ComfyUI-ClipScore-Nodes": { "stars": 3, "last_update": "2024-05-22 23:16:28", - "author_account_age_days": 500 + "author_account_age_days": 571 }, "https://github.com/badayvedat/ComfyUI-fal-Connector": { - "stars": 35, - "last_update": "2024-12-09 10:33:40", - "author_account_age_days": 1969 + "stars": 37, + "last_update": "2025-02-27 16:37:17", + "author_account_age_days": 2041 }, "https://github.com/badjeff/comfyui_lora_tag_loader": { - "stars": 64, + "stars": 74, "last_update": "2024-05-22 20:40:03", - "author_account_age_days": 5561 + "author_account_age_days": 5633 }, "https://github.com/baicai99/ComfyUI-FrameSkipping": { - "stars": 9, + "stars": 8, "last_update": "2024-12-03 09:26:50", - "author_account_age_days": 1030 + "author_account_age_days": 1101 }, "https://github.com/bananasss00/ComfyUI-SP-Nodes": { - "stars": 13, - "last_update": "2024-12-23 14:15:20", - "author_account_age_days": 2733 + "stars": 14, + "last_update": "2025-02-22 18:17:31", + "author_account_age_days": 2804 }, "https://github.com/bananasss00/ComfyUI-flux_fill_patcher": { - "stars": 5, + "stars": 6, "last_update": "2024-11-25 20:04:20", - "author_account_age_days": 2733 + "author_account_age_days": 2804 }, "https://github.com/banodoco/steerable-motion": { - "stars": 858, + "stars": 875, "last_update": "2024-06-15 23:01:54", - "author_account_age_days": 601 + "author_account_age_days": 672 }, "https://github.com/banqingyuan/ComfyUI-text-replace": { - "stars": 1, + "stars": 0, "last_update": "2024-09-22 16:14:22", - "author_account_age_days": 2498 + "author_account_age_days": 2569 }, "https://github.com/bartly/Comfyui_babel_removebg_api": { - "stars": 7, + "stars": 6, "last_update": "2024-10-14 00:48:34", - "author_account_age_days": 4326 + "author_account_age_days": 4397 }, "https://github.com/bash-j/mikey_nodes": { - "stars": 123, - "last_update": "2024-11-02 07:57:28", - "author_account_age_days": 4386 + "stars": 134, + "last_update": "2025-02-22 01:53:08", + "author_account_age_days": 4458 + }, + "https://github.com/bbtaivi/ComfyUI-Aiv-Param": { + "stars": 1, + "last_update": "2025-02-16 03:01:20", + "author_account_age_days": 724 }, "https://github.com/bear2b/comfyui-argo-nodes": { - "stars": 1, - "last_update": "2025-01-03 20:24:49", - "author_account_age_days": 3164 + "stars": 0, + "last_update": "2025-01-16 11:11:38", + "author_account_age_days": 3235 }, "https://github.com/bedovyy/ComfyUI_NAIDGenerator": { - "stars": 49, - "last_update": "2024-12-23 19:50:16", - "author_account_age_days": 561 + "stars": 61, + "last_update": "2025-03-04 15:48:48", + "author_account_age_days": 633 + }, + "https://github.com/benda1989/CosyVoice2_ComfyUI": { + "stars": 9, + "last_update": "2025-03-04 07:03:13", + "author_account_age_days": 2383 + }, + "https://github.com/benda1989/Sonic_ComfyUI": { + "stars": 1, + "last_update": "2025-02-24 10:04:56", + "author_account_age_days": 2383 + }, + "https://github.com/benjiyaya/ComfyUI-HunyuanVideoImagesGuider": { + "stars": 28, + "last_update": "2025-01-14 10:42:44", + "author_account_age_days": 383 + }, + "https://github.com/benjiyaya/ComfyUI-KokoroTTS": { + "stars": 41, + "last_update": "2025-03-18 20:13:52", + "author_account_age_days": 383 }, "https://github.com/bentoml/comfy-pack": { - "stars": 83, - "last_update": "2025-01-04 05:00:52", - "author_account_age_days": 2109 + "stars": 126, + "last_update": "2025-03-10 07:09:46", + "author_account_age_days": 2180 }, "https://github.com/bilal-arikan/ComfyUI_TextAssets": { "stars": 2, "last_update": "2024-05-22 23:23:50", - "author_account_age_days": 3706 + "author_account_age_days": 3778 + }, + "https://github.com/billwuhao/ComfyUI_DiffRhythm": { + "stars": 30, + "last_update": "2025-03-21 01:21:11", + "author_account_age_days": 2206 + }, + "https://github.com/billwuhao/ComfyUI_KokoroTTS_MW": { + "stars": 14, + "last_update": "2025-03-21 16:18:09", + "author_account_age_days": 2206 + }, + "https://github.com/billwuhao/ComfyUI_NotaGen": { + "stars": 22, + "last_update": "2025-03-21 02:58:36", + "author_account_age_days": 2206 }, "https://github.com/billwuhao/ComfyUI_OneButtonPrompt_Flux": { - "stars": 2, - "last_update": "2025-01-07 14:35:59", - "author_account_age_days": 2135 + "stars": 15, + "last_update": "2025-03-16 06:15:57", + "author_account_age_days": 2206 + }, + "https://github.com/billwuhao/ComfyUI_StepAudioTTS": { + "stars": 77, + "last_update": "2025-03-20 19:43:41", + "author_account_age_days": 2206 }, "https://github.com/bitaffinity/ComfyUI_HF_Inference": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 10:23:29", - "author_account_age_days": 256 + "author_account_age_days": 327 }, "https://github.com/black-forest-labs/bfl-comfy-nodes": { - "stars": 47, - "last_update": "2024-12-19 20:31:48", - "author_account_age_days": 295 + "stars": 63, + "last_update": "2025-02-07 22:13:26", + "author_account_age_days": 367 }, "https://github.com/blackcodetavern/ComfyUI-Benripack": { "stars": 1, "last_update": "2024-09-07 09:06:00", - "author_account_age_days": 3072 + "author_account_age_days": 3144 + }, + "https://github.com/blepping/ComfyUI-ApplyResAdapterUnet": { + "stars": 31, + "last_update": "2025-02-27 16:14:46", + "author_account_age_days": 424 }, "https://github.com/blepping/ComfyUI-bleh": { - "stars": 64, - "last_update": "2024-12-28 09:27:09", - "author_account_age_days": 353 + "stars": 85, + "last_update": "2025-03-20 15:15:11", + "author_account_age_days": 424 }, "https://github.com/blepping/ComfyUI-sonar": { "stars": 40, - "last_update": "2024-12-12 22:16:46", - "author_account_age_days": 353 + "last_update": "2025-03-06 14:46:35", + "author_account_age_days": 424 }, "https://github.com/blepping/comfyui_jankdiffusehigh": { - "stars": 20, - "last_update": "2025-01-09 10:08:42", - "author_account_age_days": 353 + "stars": 23, + "last_update": "2025-01-13 09:38:01", + "author_account_age_days": 424 }, "https://github.com/blepping/comfyui_jankhidiffusion": { - "stars": 118, + "stars": 119, "last_update": "2024-12-25 04:47:01", - "author_account_age_days": 353 + "author_account_age_days": 424 }, "https://github.com/blepping/comfyui_overly_complicated_sampling": { - "stars": 25, - "last_update": "2024-12-07 21:16:44", - "author_account_age_days": 353 + "stars": 26, + "last_update": "2025-02-07 19:21:00", + "author_account_age_days": 424 }, "https://github.com/blib-la/blibla-comfyui-extensions": { - "stars": 164, + "stars": 167, "last_update": "2024-08-20 14:47:54", - "author_account_age_days": 472 + "author_account_age_days": 544 }, "https://github.com/blob8/ComfyUI_sloppy-comic": { "stars": 5, "last_update": "2024-09-20 18:53:34", - "author_account_age_days": 267 + "author_account_age_days": 338 + }, + "https://github.com/blovett80/ComfyUI-PixelDojo": { + "stars": 0, + "last_update": "2025-03-20 14:40:57", + "author_account_age_days": 473 }, "https://github.com/blueraincoatli/comfyUI_SillyNodes": { "stars": 3, - "last_update": "2024-06-09 13:30:57", - "author_account_age_days": 511 + "last_update": "2025-01-17 09:17:48", + "author_account_age_days": 583 }, "https://github.com/bluevisor/ComfyUI_PS_Blend_Node": { "stars": 2, "last_update": "2024-07-08 12:38:26", - "author_account_age_days": 4766 + "author_account_age_days": 4837 }, "https://github.com/bmad4ever/ComfyUI-Bmad-DirtyUndoRedo": { "stars": 49, "last_update": "2024-05-22 18:11:51", - "author_account_age_days": 3735 + "author_account_age_days": 3807 }, "https://github.com/bmad4ever/comfyui_ab_samplercustom": { "stars": 9, "last_update": "2024-09-17 20:18:46", - "author_account_age_days": 3735 + "author_account_age_days": 3807 }, "https://github.com/bmad4ever/comfyui_lists_cartesian_product": { "stars": 3, - "last_update": "2024-05-22 20:18:07", - "author_account_age_days": 3735 + "last_update": "2025-03-17 14:49:40", + "author_account_age_days": 3807 }, "https://github.com/bmad4ever/comfyui_quilting": { - "stars": 10, - "last_update": "2024-10-18 19:41:01", - "author_account_age_days": 3735 + "stars": 9, + "last_update": "2025-03-17 14:50:15", + "author_account_age_days": 3807 }, "https://github.com/bmad4ever/comfyui_wfc_like": { - "stars": 6, - "last_update": "2024-08-02 22:01:12", - "author_account_age_days": 3735 + "stars": 5, + "last_update": "2025-03-17 14:51:47", + "author_account_age_days": 3807 }, "https://github.com/bobmagicii/comfykit-custom-nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-22 22:28:30", - "author_account_age_days": 4943 + "author_account_age_days": 5015 }, "https://github.com/bombax-xiaoice/ComfyUI-Allegro": { - "stars": 5, - "last_update": "2024-12-26 04:45:26", - "author_account_age_days": 107 + "stars": 4, + "last_update": "2025-01-22 09:09:14", + "author_account_age_days": 178 + }, + "https://github.com/bombax-xiaoice/ComfyUI-DisPose": { + "stars": 0, + "last_update": "2025-03-03 06:49:40", + "author_account_age_days": 178 }, "https://github.com/bombax-xiaoice/ComfyUI-MagicDance": { - "stars": 4, + "stars": 3, "last_update": "2024-12-26 04:43:40", - "author_account_age_days": 107 + "author_account_age_days": 178 }, "https://github.com/bombax-xiaoice/ComfyUI-Open-Sora-I2V": { - "stars": 2, - "last_update": "2024-12-30 03:17:45", - "author_account_age_days": 107 + "stars": 1, + "last_update": "2025-01-21 07:58:50", + "author_account_age_days": 178 }, "https://github.com/bombax-xiaoice/ComfyUI-OpenSoraPlan": { "stars": 1, - "last_update": "2025-01-09 09:36:18", - "author_account_age_days": 107 + "last_update": "2025-01-22 05:38:11", + "author_account_age_days": 178 }, "https://github.com/bombless/comfyUI-RememberingUtils": { - "stars": 1, + "stars": 0, "last_update": "2024-12-25 01:31:05", - "author_account_age_days": 4758 + "author_account_age_days": 4829 }, "https://github.com/bongsang/ComfyUI-Bongsang": { - "stars": 1, + "stars": 0, "last_update": "2025-01-05 05:42:30", - "author_account_age_days": 3802 + "author_account_age_days": 3873 }, "https://github.com/boredofnames/ComfyUI-ntfy": { - "stars": 1, + "stars": 0, "last_update": "2024-08-27 03:47:58", - "author_account_age_days": 4297 + "author_account_age_days": 4368 }, "https://github.com/bradsec/ComfyUI_ResolutionSelector": { "stars": 11, "last_update": "2024-07-07 12:15:49", - "author_account_age_days": 3855 + "author_account_age_days": 3926 + }, + "https://github.com/bradsec/ComfyUI_StringEssentials": { + "stars": 1, + "last_update": "2025-01-27 06:13:10", + "author_account_age_days": 3926 }, "https://github.com/braintacles/braintacles-comfyui-nodes": { "stars": 1, "last_update": "2024-07-31 15:01:52", - "author_account_age_days": 630 + "author_account_age_days": 701 }, "https://github.com/brayevalerien/ComfyUI-resynthesizer": { - "stars": 18, - "last_update": "2025-01-04 00:25:23", - "author_account_age_days": 1793 + "stars": 19, + "last_update": "2025-02-19 10:33:17", + "author_account_age_days": 1864 }, "https://github.com/brianfitzgerald/style_aligned_comfy": { - "stars": 287, + "stars": 293, "last_update": "2024-05-30 14:23:40", - "author_account_age_days": 4438 + "author_account_age_days": 4510 }, "https://github.com/bronkula/comfyui-fitsize": { - "stars": 47, + "stars": 48, "last_update": "2024-05-22 21:32:34", - "author_account_age_days": 5354 + "author_account_age_days": 5425 }, "https://github.com/bruefire/ComfyUI-SeqImageLoader": { - "stars": 32, - "last_update": "2024-11-10 19:10:50", - "author_account_age_days": 2565 + "stars": 37, + "last_update": "2025-03-12 19:37:56", + "author_account_age_days": 2636 }, "https://github.com/budihartono/comfyui_otonx_nodes": { "stars": 1, "last_update": "2024-07-31 16:01:47", - "author_account_age_days": 4885 + "author_account_age_days": 4956 + }, + "https://github.com/bugltd/ComfyLab-Pack": { + "stars": 3, + "last_update": "2025-02-10 13:20:44", + "author_account_age_days": 70 + }, + "https://github.com/burnsbert/ComfyUI-EBU-LMStudio": { + "stars": 8, + "last_update": "2025-03-07 02:08:45", + "author_account_age_days": 4915 + }, + "https://github.com/burnsbert/ComfyUI-EBU-PromptHelper": { + "stars": 0, + "last_update": "2025-03-21 02:54:32", + "author_account_age_days": 4915 }, "https://github.com/bvhari/ComfyUI_ImageProcessing": { - "stars": 21, + "stars": 20, "last_update": "2024-08-03 03:58:44", - "author_account_age_days": 1374 + "author_account_age_days": 1445 }, "https://github.com/bvhari/ComfyUI_PerpCFG": { - "stars": 2, + "stars": 1, "last_update": "2024-10-07 20:34:34", - "author_account_age_days": 1374 + "author_account_age_days": 1445 }, "https://github.com/bvhari/ComfyUI_PerpWeight": { - "stars": 13, + "stars": 12, "last_update": "2024-08-03 03:58:28", - "author_account_age_days": 1374 + "author_account_age_days": 1445 }, "https://github.com/bvhari/ComfyUI_SUNoise": { "stars": 11, "last_update": "2024-09-24 15:27:30", - "author_account_age_days": 1374 + "author_account_age_days": 1445 }, "https://github.com/c0ffymachyne/ComfyUI_BeatByte": { "stars": 4, "last_update": "2024-12-28 21:19:19", - "author_account_age_days": 4714 + "author_account_age_days": 4785 }, "https://github.com/c0ffymachyne/ComfyUI_SignalProcessing": { - "stars": 3, + "stars": 4, "last_update": "2024-12-28 19:14:00", - "author_account_age_days": 4714 + "author_account_age_days": 4785 + }, + "https://github.com/cake-ml/tiny-sana-preview": { + "stars": 2, + "last_update": "2025-02-08 00:36:49", + "author_account_age_days": 152 }, "https://github.com/calcuis/gguf": { - "stars": 1, - "last_update": "2025-01-08 23:40:45", - "author_account_age_days": 846 + "stars": 32, + "last_update": "2025-03-20 20:52:02", + "author_account_age_days": 918 }, "https://github.com/caleboleary/ComfyUI-Arc2Face": { - "stars": 41, + "stars": 43, "last_update": "2024-09-02 23:00:00", - "author_account_age_days": 3501 + "author_account_age_days": 3573 }, "https://github.com/caleboleary/Comfyui-calbenodes": { - "stars": 2, + "stars": 1, "last_update": "2024-09-16 19:27:58", - "author_account_age_days": 3501 + "author_account_age_days": 3573 }, "https://github.com/camenduru/ComfyUI-TostAI": { "stars": 1, "last_update": "2024-08-22 04:04:06", - "author_account_age_days": 1967 + "author_account_age_days": 2039 + }, + "https://github.com/camiilevitoriia/ComfyUI-WanVideoStartEndFrames": { + "stars": 0, + "last_update": "2025-03-22 03:16:44", + "author_account_age_days": 510 + }, + "https://github.com/cardenluo/ComfyUI-Apt_Preset": { + "stars": 3, + "last_update": "2025-03-19 11:51:42", + "author_account_age_days": 674 }, "https://github.com/catboxanon/comfyui_stealth_pnginfo": { - "stars": 0, - "last_update": "2024-12-06 04:47:31", - "author_account_age_days": 730 + "stars": 1, + "last_update": "2025-02-09 12:12:33", + "author_account_age_days": 802 }, "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life": { - "stars": 391, + "stars": 426, "last_update": "2024-09-12 06:55:50", - "author_account_age_days": 1403 + "author_account_age_days": 1475 }, "https://github.com/cdb-boop/comfyui-image-round": { - "stars": 5, + "stars": 8, "last_update": "2024-05-23 00:09:02", - "author_account_age_days": 1403 + "author_account_age_days": 1475 }, "https://github.com/cdxOo/comfyui-text-node-with-comments": { - "stars": 2, + "stars": 1, "last_update": "2024-08-03 00:54:38", - "author_account_age_days": 3495 + "author_account_age_days": 3566 }, "https://github.com/celoron/ComfyUI-VisualQueryTemplate": { "stars": 12, "last_update": "2024-08-28 20:13:26", - "author_account_age_days": 5211 + "author_account_age_days": 5282 }, "https://github.com/celsojr2013/comfyui_jamworks_client": { "stars": 0, "last_update": "2024-06-23 12:35:44", - "author_account_age_days": 3598 + "author_account_age_days": 3669 }, "https://github.com/celsojr2013/comfyui_simpletools": { "stars": 2, "last_update": "2024-06-22 11:35:40", - "author_account_age_days": 3598 + "author_account_age_days": 3669 }, "https://github.com/cenzijing/ComfyUI-Markmap": { - "stars": 2, + "stars": 1, "last_update": "2025-01-04 21:00:08", - "author_account_age_days": 1664 + "author_account_age_days": 1735 }, "https://github.com/cerspense/ComfyUI_cspnodes": { - "stars": 32, + "stars": 33, "last_update": "2024-12-17 04:07:09", - "author_account_age_days": 2881 + "author_account_age_days": 2952 }, "https://github.com/ceruleandeep/ComfyUI-LLaVA-Captioner": { - "stars": 117, + "stars": 126, "last_update": "2024-08-03 16:22:31", - "author_account_age_days": 1352 + "author_account_age_days": 1424 }, "https://github.com/chakib-belgaid/ComfyUI-autosize": { "stars": 0, "last_update": "2024-06-14 07:13:20", - "author_account_age_days": 4035 + "author_account_age_days": 4106 }, "https://github.com/chakib-belgaid/Comfyui_Prompt_styler": { "stars": 0, "last_update": "2024-07-01 12:40:52", - "author_account_age_days": 4035 + "author_account_age_days": 4106 }, "https://github.com/chandlergis/ComfyUI-IMG_Query": { "stars": 1, "last_update": "2024-05-23 01:25:57", - "author_account_age_days": 555 + "author_account_age_days": 626 }, "https://github.com/chandlergis/ComfyUI_EmojiOverlay": { "stars": 0, "last_update": "2024-06-14 09:05:03", - "author_account_age_days": 555 + "author_account_age_days": 626 }, "https://github.com/changwook987/ComfyUI-Small-Utility": { - "stars": 1, - "last_update": "2024-12-30 00:39:14", - "author_account_age_days": 1392 + "stars": 0, + "last_update": "2025-01-25 17:18:32", + "author_account_age_days": 1463 }, "https://github.com/chaojie/ComfyUI-AniPortrait": { - "stars": 250, + "stars": 251, "last_update": "2024-05-22 22:26:03", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-CameraCtrl-Wrapper": { - "stars": 19, + "stars": 20, "last_update": "2024-06-14 09:07:23", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Champ": { "stars": 24, "last_update": "2024-05-22 22:26:47", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-DragAnything": { - "stars": 68, + "stars": 70, "last_update": "2024-06-14 10:23:53", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-DragNUWA": { - "stars": 397, + "stars": 401, "last_update": "2024-06-14 10:25:01", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-DynamiCrafter": { - "stars": 128, + "stars": 129, "last_update": "2024-06-14 10:23:59", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-EasyAnimate": { - "stars": 51, + "stars": 53, "last_update": "2024-05-22 22:24:00", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Gemma": { "stars": 6, "last_update": "2024-05-22 22:27:47", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-I2VGEN-XL": { - "stars": 29, + "stars": 28, "last_update": "2024-06-14 09:06:10", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Img2Img-Turbo": { "stars": 35, "last_update": "2024-05-22 22:26:30", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-LaVIT": { "stars": 12, "last_update": "2024-06-14 10:27:44", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-LightGlue": { - "stars": 50, + "stars": 48, "last_update": "2024-01-20 16:53:51", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Moore-AnimateAnyone": { - "stars": 211, + "stars": 212, "last_update": "2024-06-10 20:16:06", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Motion-Vector-Extractor": { "stars": 1, "last_update": "2024-06-14 10:26:15", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-MotionCtrl": { - "stars": 136, + "stars": 135, "last_update": "2024-06-14 10:26:02", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-MotionCtrl-SVD": { - "stars": 83, + "stars": 86, "last_update": "2024-06-14 10:26:30", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-MuseTalk": { - "stars": 223, + "stars": 246, "last_update": "2024-05-22 22:25:07", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-MuseV": { - "stars": 152, + "stars": 156, "last_update": "2024-05-22 22:25:31", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Open-Sora": { - "stars": 99, + "stars": 103, "last_update": "2024-07-19 05:13:25", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Open-Sora-Plan": { - "stars": 51, + "stars": 50, "last_update": "2024-05-29 16:15:10", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Panda3d": { - "stars": 14, + "stars": 15, "last_update": "2024-06-14 10:28:47", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Pymunk": { "stars": 16, "last_update": "2024-06-14 12:02:32", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-RAFT": { "stars": 26, "last_update": "2024-06-14 11:02:00", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-SimDA": { "stars": 13, "last_update": "2024-06-14 12:02:39", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Trajectory": { "stars": 6, "last_update": "2024-05-22 22:27:12", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-Video-Editing-X-Attention": { - "stars": 17, + "stars": 16, "last_update": "2024-06-14 10:28:16", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-dust3r": { "stars": 19, "last_update": "2024-05-22 22:27:33", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI_StreamingT2V": { - "stars": 37, + "stars": 36, "last_update": "2024-06-14 10:26:21", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaosaiart/Chaosaiart-Nodes": { - "stars": 78, - "last_update": "2024-10-03 16:28:57", - "author_account_age_days": 533 + "stars": 91, + "last_update": "2025-01-31 12:25:13", + "author_account_age_days": 604 + }, + "https://github.com/checkbins/checkbin-comfy": { + "stars": 0, + "last_update": "2025-01-31 18:05:33", + "author_account_age_days": 154 }, "https://github.com/chenbaiyujason/ComfyUI_StepFun": { - "stars": 5, + "stars": 6, "last_update": "2024-12-05 14:45:27", - "author_account_age_days": 1933 + "author_account_age_days": 2005 + }, + "https://github.com/chenlongming/ComfyUI_Spectral": { + "stars": 1, + "last_update": "2025-02-22 17:20:35", + "author_account_age_days": 3448 + }, + "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie": { + "stars": 0, + "last_update": "2025-03-20 11:48:28", + "author_account_age_days": 557 + }, + "https://github.com/chenpipi0807/PIP_ArtisticWords": { + "stars": 20, + "last_update": "2025-03-21 07:29:20", + "author_account_age_days": 557 }, "https://github.com/chenpx976/ComfyUI-RunRunRun": { "stars": 0, "last_update": "2024-05-23 01:19:37", - "author_account_age_days": 3614 + "author_account_age_days": 3685 }, "https://github.com/cherninlab/logo-generator-comfyui": { - "stars": 2, + "stars": 1, "last_update": "2024-12-22 15:45:31", - "author_account_age_days": 296 + "author_account_age_days": 367 }, "https://github.com/chesnokovivan/ComfyUI-Novakid": { "stars": 0, "last_update": "2024-06-10 20:15:56", - "author_account_age_days": 1729 + "author_account_age_days": 1800 }, "https://github.com/chflame163/ComfyUI_CatVTON_Wrapper": { - "stars": 276, + "stars": 311, "last_update": "2025-01-01 12:55:16", - "author_account_age_days": 643 + "author_account_age_days": 714 + }, + "https://github.com/chflame163/ComfyUI_CogView4_Wrapper": { + "stars": 44, + "last_update": "2025-03-06 09:27:25", + "author_account_age_days": 714 }, "https://github.com/chflame163/ComfyUI_FaceSimilarity": { - "stars": 25, + "stars": 30, "last_update": "2024-05-23 12:48:18", - "author_account_age_days": 643 + "author_account_age_days": 714 + }, + "https://github.com/chflame163/ComfyUI_Janus_Wrapper": { + "stars": 16, + "last_update": "2025-03-12 02:00:43", + "author_account_age_days": 714 }, "https://github.com/chflame163/ComfyUI_LayerStyle": { - "stars": 1754, - "last_update": "2024-12-29 12:31:22", - "author_account_age_days": 643 + "stars": 2054, + "last_update": "2025-03-12 06:43:30", + "author_account_age_days": 714 }, "https://github.com/chflame163/ComfyUI_LayerStyle_Advance": { - "stars": 109, - "last_update": "2025-01-05 06:56:21", - "author_account_age_days": 643 + "stars": 204, + "last_update": "2025-03-12 06:44:09", + "author_account_age_days": 714 }, "https://github.com/chflame163/ComfyUI_MSSpeech_TTS": { - "stars": 25, + "stars": 28, "last_update": "2024-05-25 02:39:56", - "author_account_age_days": 643 + "author_account_age_days": 714 }, "https://github.com/chflame163/ComfyUI_OmniGen_Wrapper": { - "stars": 128, - "last_update": "2024-11-06 09:00:01", - "author_account_age_days": 643 + "stars": 138, + "last_update": "2025-03-12 01:58:47", + "author_account_age_days": 714 }, "https://github.com/chflame163/ComfyUI_WordCloud": { - "stars": 99, + "stars": 103, "last_update": "2024-05-25 02:41:06", - "author_account_age_days": 643 + "author_account_age_days": 714 }, "https://github.com/chibiace/ComfyUI-Chibi-Nodes": { - "stars": 53, - "last_update": "2024-08-27 06:39:31", - "author_account_age_days": 3048 + "stars": 68, + "last_update": "2025-03-18 11:13:16", + "author_account_age_days": 3119 }, "https://github.com/choey/Comfy-Topaz": { - "stars": 140, + "stars": 169, "last_update": "2024-09-28 08:02:47", - "author_account_age_days": 5722 + "author_account_age_days": 5793 + }, + "https://github.com/chri002/ComfyUI_depthMapOperation": { + "stars": 7, + "last_update": "2025-03-20 15:46:33", + "author_account_age_days": 1990 }, "https://github.com/chris-arsenault/ComfyUI-AharaNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-12-25 16:45:58", - "author_account_age_days": 4171 + "author_account_age_days": 4243 }, "https://github.com/chris-the-wiz/EmbeddingsCurveEditor_ComfyUI": { - "stars": 8, + "stars": 7, "last_update": "2024-07-31 13:51:59", - "author_account_age_days": 1995 + "author_account_age_days": 2067 }, "https://github.com/chrisfreilich/virtuoso-nodes": { - "stars": 71, + "stars": 78, "last_update": "2024-08-26 00:06:51", - "author_account_age_days": 931 + "author_account_age_days": 1003 }, "https://github.com/chrisgoringe/cg-controller": { - "stars": 54, - "last_update": "2025-01-09 06:23:28", - "author_account_age_days": 4264 + "stars": 61, + "last_update": "2025-02-27 23:28:45", + "author_account_age_days": 4335 }, "https://github.com/chrisgoringe/cg-image-picker": { - "stars": 292, - "last_update": "2024-11-29 02:05:30", - "author_account_age_days": 4264 + "stars": 315, + "last_update": "2025-02-01 01:02:12", + "author_account_age_days": 4335 }, "https://github.com/chrisgoringe/cg-noisetools": { - "stars": 9, + "stars": 16, "last_update": "2024-12-17 04:09:18", - "author_account_age_days": 4264 + "author_account_age_days": 4335 }, "https://github.com/chrisgoringe/cg-prompt-info": { "stars": 29, "last_update": "2024-05-22 21:07:33", - "author_account_age_days": 4264 + "author_account_age_days": 4335 }, "https://github.com/chrisgoringe/cg-use-everywhere": { - "stars": 560, - "last_update": "2024-12-30 03:55:54", - "author_account_age_days": 4264 + "stars": 626, + "last_update": "2025-02-19 11:03:05", + "author_account_age_days": 4335 }, "https://github.com/chrish-slingshot/CrasHUtils": { - "stars": 12, + "stars": 13, "last_update": "2024-10-29 22:55:39", - "author_account_age_days": 799 + "author_account_age_days": 871 }, "https://github.com/chrissy0/chris-comfyui-nodes": { "stars": 1, "last_update": "2024-09-17 16:09:35", - "author_account_age_days": 2254 + "author_account_age_days": 2325 }, "https://github.com/christian-byrne/audio-separation-nodes-comfyui": { - "stars": 175, + "stars": 195, "last_update": "2025-01-05 19:12:48", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/christian-byrne/comfyui-default-values-manager": { - "stars": 10, + "stars": 11, "last_update": "2024-07-28 20:52:51", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/christian-byrne/comfyui-search-navigation": { - "stars": 8, + "stars": 7, "last_update": "2024-06-26 04:41:12", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/christian-byrne/img2colors-comfyui-node": { "stars": 9, "last_update": "2025-01-05 18:48:59", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/christian-byrne/img2txt-comfyui-nodes": { - "stars": 79, - "last_update": "2024-08-09 11:19:02", - "author_account_age_days": 1547 + "stars": 83, + "last_update": "2025-03-14 10:38:33", + "author_account_age_days": 1619 }, "https://github.com/christian-byrne/size-match-compositing-nodes": { - "stars": 5, + "stars": 4, "last_update": "2025-01-05 17:45:02", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/christian-byrne/youtube-dl-comfyui": { - "stars": 4, + "stars": 3, "last_update": "2024-10-01 16:32:14", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/ciga2011/ComfyUI-MarkItDown": { + "stars": 5, + "last_update": "2025-02-27 20:16:01", + "author_account_age_days": 4469 + }, + "https://github.com/ciga2011/ComfyUI-Pollinations": { + "stars": 1, + "last_update": "2025-01-14 15:23:14", + "author_account_age_days": 4469 + }, + "https://github.com/ciga2011/ComfyUI-PromptOptimizer": { "stars": 2, - "last_update": "2024-12-28 15:32:34", - "author_account_age_days": 4398 + "last_update": "2025-01-16 02:24:50", + "author_account_age_days": 4469 }, "https://github.com/ciri/comfyui-model-downloader": { - "stars": 34, - "last_update": "2025-01-04 08:32:06", - "author_account_age_days": 5569 + "stars": 49, + "last_update": "2025-03-09 20:58:29", + "author_account_age_days": 5641 }, "https://github.com/city96/ComfyUI-GGUF": { - "stars": 1294, - "last_update": "2025-01-08 15:35:24", - "author_account_age_days": 696 + "stars": 1699, + "last_update": "2025-03-16 19:53:34", + "author_account_age_days": 768 }, "https://github.com/city96/ComfyUI_ColorMod": { - "stars": 86, + "stars": 88, "last_update": "2024-08-06 22:38:54", - "author_account_age_days": 696 + "author_account_age_days": 768 }, "https://github.com/city96/ComfyUI_DiT": { "stars": 5, "last_update": "2024-08-06 22:44:33", - "author_account_age_days": 696 + "author_account_age_days": 768 }, "https://github.com/city96/ComfyUI_ExtraModels": { - "stars": 448, + "stars": 487, "last_update": "2024-12-17 06:44:05", - "author_account_age_days": 696 + "author_account_age_days": 768 }, "https://github.com/city96/ComfyUI_NetDist": { - "stars": 375, + "stars": 423, "last_update": "2024-05-22 18:05:10", - "author_account_age_days": 696 + "author_account_age_days": 768 }, "https://github.com/city96/SD-Latent-Interposer": { - "stars": 263, + "stars": 281, "last_update": "2024-08-06 22:01:47", - "author_account_age_days": 696 + "author_account_age_days": 768 }, "https://github.com/city96/SD-Latent-Upscaler": { - "stars": 140, + "stars": 151, "last_update": "2024-05-22 18:05:50", - "author_account_age_days": 696 + "author_account_age_days": 768 }, "https://github.com/civen-cn/ComfyUI-PaddleOcr": { - "stars": 4, + "stars": 5, "last_update": "2024-12-31 19:11:04", - "author_account_age_days": 2704 + "author_account_age_days": 2775 }, "https://github.com/civen-cn/ComfyUI-Whisper-Translator": { - "stars": 4, + "stars": 5, "last_update": "2025-01-04 03:37:06", - "author_account_age_days": 2704 + "author_account_age_days": 2775 }, "https://github.com/civitai/civitai_comfy_nodes": { - "stars": 112, + "stars": 130, "last_update": "2024-08-25 03:32:49", - "author_account_age_days": 797 + "author_account_age_days": 869 }, "https://github.com/claussteinmassl/ComfyUI-CS-CustomNodes": { "stars": 1, "last_update": "2024-06-14 09:03:10", - "author_account_age_days": 2899 + "author_account_age_days": 2971 }, "https://github.com/clhui/ComfyUi-clh-Tool": { - "stars": 3, + "stars": 5, "last_update": "2024-12-28 10:22:00", - "author_account_age_days": 3028 + "author_account_age_days": 3099 }, "https://github.com/cnbjjj/ComfyUI-Jtils": { "stars": 3, "last_update": "2024-12-17 04:00:58", - "author_account_age_days": 373 + "author_account_age_days": 445 }, "https://github.com/codecringebinge/ComfyUI-Arrow-Key-Canvas-Navigation": { - "stars": 3, + "stars": 2, "last_update": "2024-09-29 22:35:01", - "author_account_age_days": 2997 + "author_account_age_days": 3069 }, "https://github.com/codeprimate/ComfyUI-MaskContourProcessor": { - "stars": 3, + "stars": 2, "last_update": "2024-12-16 06:53:08", - "author_account_age_days": 6048 + "author_account_age_days": 6119 }, "https://github.com/comfyanonymous/ComfyUI": { - "stars": 62915, - "last_update": "2025-01-09 12:12:32", - "author_account_age_days": 748 + "stars": 71820, + "last_update": "2025-03-22 00:10:31", + "author_account_age_days": 819 }, "https://github.com/comfyanonymous/ComfyUI_TensorRT": { - "stars": 537, + "stars": 588, "last_update": "2024-10-10 00:23:55", - "author_account_age_days": 748 + "author_account_age_days": 819 }, "https://github.com/comfyanonymous/ComfyUI_experiments": { - "stars": 169, + "stars": 174, "last_update": "2024-05-22 15:29:49", - "author_account_age_days": 748 + "author_account_age_days": 819 }, "https://github.com/concarne000/ConCarneNode": { "stars": 4, "last_update": "2024-05-22 22:10:18", - "author_account_age_days": 2100 + "author_account_age_days": 2171 }, "https://github.com/conquestace/ComfyUI-ImageUploader": { "stars": 2, "last_update": "2024-05-23 01:25:49", - "author_account_age_days": 4808 + "author_account_age_days": 4879 }, "https://github.com/coolzilj/ComfyUI-LJNodes": { - "stars": 83, + "stars": 85, "last_update": "2024-06-15 01:57:32", - "author_account_age_days": 4862 + "author_account_age_days": 4933 }, "https://github.com/coolzilj/ComfyUI-Photopea": { - "stars": 124, + "stars": 137, "last_update": "2024-06-14 08:10:57", - "author_account_age_days": 4862 + "author_account_age_days": 4933 }, "https://github.com/coreyryanhanson/ComfyQR": { - "stars": 68, - "last_update": "2024-08-09 16:58:16", - "author_account_age_days": 3255 + "stars": 73, + "last_update": "2025-01-26 16:25:19", + "author_account_age_days": 3326 }, "https://github.com/coreyryanhanson/ComfyQR-scanning-nodes": { "stars": 11, - "last_update": "2024-08-09 16:59:00", - "author_account_age_days": 3255 + "last_update": "2025-01-26 16:26:36", + "author_account_age_days": 3326 }, "https://github.com/cozy-comfyui/cozy_comm": { "stars": 1, "last_update": "2024-12-28 00:30:43", - "author_account_age_days": 265 - }, - "https://github.com/cozy-comfyui/cozy_link_toggle": { - "stars": 5, - "last_update": "2025-01-09 05:07:57", - "author_account_age_days": 265 + "author_account_age_days": 336 }, "https://github.com/cozymantis/cozy-utils-comfyui-nodes": { - "stars": 3, - "last_update": "2024-07-07 15:38:05", - "author_account_age_days": 307 + "stars": 4, + "last_update": "2025-03-08 21:43:02", + "author_account_age_days": 379 }, "https://github.com/cozymantis/human-parser-comfyui-node": { - "stars": 81, - "last_update": "2024-07-07 15:31:17", - "author_account_age_days": 307 + "stars": 93, + "last_update": "2025-03-12 20:33:47", + "author_account_age_days": 379 }, "https://github.com/cozymantis/pose-generator-comfyui-node": { - "stars": 66, - "last_update": "2024-07-07 15:22:45", - "author_account_age_days": 307 + "stars": 73, + "last_update": "2025-03-08 21:43:56", + "author_account_age_days": 379 }, "https://github.com/cr7Por/ComfyUI_DepthFlow": { - "stars": 6, + "stars": 5, "last_update": "2024-09-16 09:10:08", - "author_account_age_days": 1324 + "author_account_age_days": 1395 + }, + "https://github.com/crave33/RenesStuffDanboruTagGet": { + "stars": 0, + "last_update": "2025-02-23 15:48:48", + "author_account_age_days": 37 }, "https://github.com/crystian/ComfyUI-Crystools": { - "stars": 909, - "last_update": "2024-11-09 16:30:13", - "author_account_age_days": 4316 + "stars": 1071, + "last_update": "2025-03-07 21:21:57", + "author_account_age_days": 4388 }, "https://github.com/crystian/ComfyUI-Crystools-save": { - "stars": 40, + "stars": 41, "last_update": "2024-09-24 23:39:03", - "author_account_age_days": 4316 + "author_account_age_days": 4388 }, "https://github.com/cubiq/Block_Patcher_ComfyUI": { - "stars": 75, + "stars": 78, "last_update": "2024-09-22 09:49:06", - "author_account_age_days": 5210 + "author_account_age_days": 5281 }, "https://github.com/cubiq/ComfyUI_FaceAnalysis": { - "stars": 370, + "stars": 403, "last_update": "2024-10-08 12:32:29", - "author_account_age_days": 5210 + "author_account_age_days": 5281 }, "https://github.com/cubiq/ComfyUI_IPAdapter_plus": { - "stars": 4437, - "last_update": "2024-09-13 13:04:50", - "author_account_age_days": 5210 + "stars": 4841, + "last_update": "2025-02-26 06:31:16", + "author_account_age_days": 5281 }, "https://github.com/cubiq/ComfyUI_InstantID": { - "stars": 1401, + "stars": 1520, "last_update": "2024-09-30 08:54:05", - "author_account_age_days": 5210 + "author_account_age_days": 5281 }, "https://github.com/cubiq/ComfyUI_SimpleMath": { - "stars": 20, + "stars": 21, "last_update": "2024-06-14 09:02:50", - "author_account_age_days": 5210 + "author_account_age_days": 5281 }, "https://github.com/cubiq/ComfyUI_essentials": { - "stars": 667, + "stars": 753, "last_update": "2024-12-07 09:40:28", - "author_account_age_days": 5210 + "author_account_age_days": 5281 }, "https://github.com/cubiq/PuLID_ComfyUI": { - "stars": 761, + "stars": 811, "last_update": "2024-10-05 16:21:01", - "author_account_age_days": 5210 + "author_account_age_days": 5281 }, "https://github.com/cuongloveit/comfy_http_request": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 11:00:11", - "author_account_age_days": 3451 + "author_account_age_days": 3522 }, "https://github.com/curiousjp/ComfyUI-MaskBatchPermutations": { "stars": 5, "last_update": "2024-05-28 13:09:32", - "author_account_age_days": 2129 + "author_account_age_days": 2200 }, "https://github.com/czcz1024/Comfyui-FaceCompare": { "stars": 0, "last_update": "2024-06-14 07:13:32", - "author_account_age_days": 4433 + "author_account_age_days": 4504 }, "https://github.com/da2el-ai/ComfyUI-d2-send-eagle": { - "stars": 12, - "last_update": "2024-12-31 12:13:46", - "author_account_age_days": 588 + "stars": 13, + "last_update": "2025-03-10 14:31:22", + "author_account_age_days": 660 }, "https://github.com/da2el-ai/ComfyUI-d2-size-selector": { - "stars": 5, + "stars": 4, "last_update": "2024-10-02 14:04:20", - "author_account_age_days": 588 + "author_account_age_days": 660 }, "https://github.com/da2el-ai/ComfyUI-d2-steps": { - "stars": 6, + "stars": 5, "last_update": "2024-10-02 14:03:14", - "author_account_age_days": 588 + "author_account_age_days": 660 }, "https://github.com/da2el-ai/ComfyUI-d2-xyplot-utils": { - "stars": 6, + "stars": 5, "last_update": "2024-10-02 14:00:58", - "author_account_age_days": 588 + "author_account_age_days": 660 + }, + "https://github.com/da2el-ai/D2-PromptSelector-comfyUI": { + "stars": 1, + "last_update": "2025-02-01 20:35:44", + "author_account_age_days": 660 }, "https://github.com/da2el-ai/D2-nodes-ComfyUI": { - "stars": 20, - "last_update": "2025-01-06 11:00:20", - "author_account_age_days": 588 + "stars": 25, + "last_update": "2025-02-26 17:12:33", + "author_account_age_days": 660 }, "https://github.com/dadoirie/ComfyUI_Dados_Nodes": { - "stars": 1, - "last_update": "2024-08-23 20:46:12", - "author_account_age_days": 1789 + "stars": 0, + "last_update": "2025-03-21 02:30:07", + "author_account_age_days": 1860 }, "https://github.com/dafeng012/comfyui-imgmake": { - "stars": 10, + "stars": 13, "last_update": "2024-11-03 17:38:47", - "author_account_age_days": 875 + "author_account_age_days": 946 }, "https://github.com/dagthomas/comfyui_dagthomas": { - "stars": 223, - "last_update": "2024-12-20 22:53:53", - "author_account_age_days": 4271 + "stars": 233, + "last_update": "2025-02-23 18:50:52", + "author_account_age_days": 4342 }, "https://github.com/daniabib/ComfyUI_ProPainter_Nodes": { - "stars": 264, + "stars": 291, "last_update": "2024-12-22 13:50:25", - "author_account_age_days": 2603 + "author_account_age_days": 2675 }, "https://github.com/daniel-lewis-ab/ComfyUI-Llama": { - "stars": 44, + "stars": 54, "last_update": "2024-06-29 19:55:42", - "author_account_age_days": 3551 + "author_account_age_days": 3622 }, "https://github.com/daniel-lewis-ab/ComfyUI-TTS": { - "stars": 22, + "stars": 26, "last_update": "2024-06-14 08:09:49", - "author_account_age_days": 3551 + "author_account_age_days": 3622 }, "https://github.com/darkpixel/darkprompts": { "stars": 8, - "last_update": "2024-12-14 15:01:39", - "author_account_age_days": 5523 + "last_update": "2025-02-17 14:19:12", + "author_account_age_days": 5594 }, "https://github.com/darth-veitcher/comfydv": { - "stars": 2, + "stars": 1, "last_update": "2024-10-20 12:43:46", - "author_account_age_days": 4627 + "author_account_age_days": 4699 }, "https://github.com/daryltucker/ComfyUI-LoadFiles": { "stars": 1, "last_update": "2024-08-31 23:59:44", - "author_account_age_days": 4663 + "author_account_age_days": 4735 + }, + "https://github.com/dasilva333/ComfyUI_ContrastingColor": { + "stars": 0, + "last_update": "2025-02-22 04:49:59", + "author_account_age_days": 4984 + }, + "https://github.com/dasilva333/ComfyUI_MarkdownImage": { + "stars": 0, + "last_update": "2025-02-22 04:42:28", + "author_account_age_days": 4984 }, "https://github.com/dave-palt/comfyui_DSP_imagehelpers": { "stars": 0, "last_update": "2024-05-22 23:12:11", - "author_account_age_days": 357 + "author_account_age_days": 428 + }, + "https://github.com/davidgressett/comfyui-systemlevel": { + "stars": 0, + "last_update": "2025-01-22 23:51:40", + "author_account_age_days": 2901 }, "https://github.com/daxcay/ComfyUI-DataSet": { - "stars": 42, - "last_update": "2024-12-06 16:03:18", - "author_account_age_days": 294 + "stars": 48, + "last_update": "2025-03-01 05:24:50", + "author_account_age_days": 365 }, "https://github.com/daxcay/ComfyUI-JDCN": { - "stars": 100, + "stars": 112, "last_update": "2024-10-30 18:01:05", - "author_account_age_days": 294 + "author_account_age_days": 365 }, "https://github.com/daxcay/ComfyUI-NODEJS": { - "stars": 10, + "stars": 12, "last_update": "2024-11-28 09:46:29", - "author_account_age_days": 294 + "author_account_age_days": 365 }, "https://github.com/daxcay/ComfyUI-Nexus": { - "stars": 78, - "last_update": "2024-11-28 20:28:24", - "author_account_age_days": 294 + "stars": 83, + "last_update": "2025-03-01 15:40:05", + "author_account_age_days": 365 }, "https://github.com/daxcay/ComfyUI-TG": { - "stars": 14, + "stars": 16, "last_update": "2024-11-28 09:45:12", - "author_account_age_days": 294 + "author_account_age_days": 365 }, "https://github.com/daxcay/ComfyUI-WA": { - "stars": 49, + "stars": 48, "last_update": "2024-11-28 09:44:50", - "author_account_age_days": 294 + "author_account_age_days": 365 }, "https://github.com/daxcay/ComfyUI-YouTubeVideoPlayer": { - "stars": 6, + "stars": 5, "last_update": "2024-11-28 09:45:30", - "author_account_age_days": 294 + "author_account_age_days": 365 }, "https://github.com/dchatel/comfyui_davcha": { - "stars": 2, - "last_update": "2024-12-13 15:07:29", - "author_account_age_days": 4734 + "stars": 1, + "last_update": "2025-03-05 20:16:17", + "author_account_age_days": 4806 }, "https://github.com/dchatel/comfyui_facetools": { - "stars": 87, - "last_update": "2025-01-06 11:51:33", - "author_account_age_days": 4734 + "stars": 109, + "last_update": "2025-03-09 00:59:06", + "author_account_age_days": 4806 }, "https://github.com/denfrost/Den_ComfyUI_Workflow": { "stars": 4, "last_update": "2024-06-20 14:57:57", - "author_account_age_days": 3696 + "author_account_age_days": 3767 }, "https://github.com/deroberon/StableZero123-comfyui": { - "stars": 157, + "stars": 167, "last_update": "2024-05-22 22:09:53", - "author_account_age_days": 5495 + "author_account_age_days": 5566 }, "https://github.com/deroberon/demofusion-comfyui": { "stars": 87, "last_update": "2024-05-22 22:09:42", - "author_account_age_days": 5495 + "author_account_age_days": 5566 }, "https://github.com/dfghsdh/ComfyUI_FluxPromptGen": { "stars": 13, "last_update": "2024-09-23 07:51:56", - "author_account_age_days": 108 + "author_account_age_days": 180 }, "https://github.com/dfl/comfyui-clip-with-break": { - "stars": 10, - "last_update": "2024-05-22 23:23:15", - "author_account_age_days": 6173 + "stars": 11, + "last_update": "2025-03-04 20:16:06", + "author_account_age_days": 6245 }, "https://github.com/dfl/comfyui-tcd-scheduler": { "stars": 83, "last_update": "2024-05-22 23:23:28", - "author_account_age_days": 6173 + "author_account_age_days": 6245 }, "https://github.com/diStyApps/ComfyUI-disty-Flow": { - "stars": 443, + "stars": 530, "last_update": "2025-01-04 18:03:37", - "author_account_age_days": 4403 + "author_account_age_days": 4475 }, "https://github.com/diStyApps/ComfyUI_FrameMaker": { - "stars": 15, + "stars": 21, "last_update": "2024-05-23 00:11:33", - "author_account_age_days": 4403 + "author_account_age_days": 4475 }, "https://github.com/dicksondickson/ComfyUI-Dickson-Nodes": { "stars": 10, "last_update": "2024-09-18 04:30:33", - "author_account_age_days": 4190 + "author_account_age_days": 4261 }, "https://github.com/digitaljohn/comfyui-propost": { - "stars": 159, - "last_update": "2024-12-25 00:41:33", - "author_account_age_days": 4717 + "stars": 168, + "last_update": "2025-02-10 23:25:24", + "author_account_age_days": 4788 }, "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": { - "stars": 234, - "last_update": "2024-07-31 13:44:39", - "author_account_age_days": 3613 + "stars": 272, + "last_update": "2025-02-01 03:08:45", + "author_account_age_days": 3685 }, "https://github.com/dionren/ComfyUI-Pro-Export-Tool": { - "stars": 3, + "stars": 2, "last_update": "2024-10-11 08:26:18", - "author_account_age_days": 4085 + "author_account_age_days": 4156 }, "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": { - "stars": 71, + "stars": 74, "last_update": "2024-06-20 16:48:44", - "author_account_age_days": 4970 + "author_account_age_days": 5041 }, "https://github.com/discopixel-studio/comfyui-discopixel": { - "stars": 12, + "stars": 11, "last_update": "2024-09-30 00:46:13", - "author_account_age_days": 544 + "author_account_age_days": 616 }, "https://github.com/discus0434/comfyui-aesthetic-predictor-v2-5": { - "stars": 7, + "stars": 10, "last_update": "2024-06-14 08:12:05", - "author_account_age_days": 1669 + "author_account_age_days": 1740 }, "https://github.com/discus0434/comfyui-caching-embeddings": { "stars": 1, "last_update": "2024-06-14 08:59:36", - "author_account_age_days": 1669 + "author_account_age_days": 1740 }, "https://github.com/discus0434/comfyui-flux-accelerator": { - "stars": 118, + "stars": 126, "last_update": "2024-12-19 14:39:39", - "author_account_age_days": 1669 + "author_account_age_days": 1740 }, "https://github.com/djbielejeski/a-person-mask-generator": { - "stars": 297, - "last_update": "2025-01-05 19:29:53", - "author_account_age_days": 4483 + "stars": 334, + "last_update": "2025-03-14 11:19:45", + "author_account_age_days": 4554 }, "https://github.com/dmMaze/sketch2manga": { - "stars": 39, + "stars": 40, "last_update": "2024-06-30 03:27:55", - "author_account_age_days": 2048 + "author_account_age_days": 2120 }, "https://github.com/dmarx/ComfyUI-AudioReactive": { "stars": 10, "last_update": "2024-05-22 22:12:53", - "author_account_age_days": 4703 + "author_account_age_days": 4775 }, "https://github.com/dmarx/ComfyUI-Keyframed": { "stars": 88, "last_update": "2024-07-01 01:41:23", - "author_account_age_days": 4703 + "author_account_age_days": 4775 + }, + "https://github.com/dorpxam/ComfyUI-LTXVideoLoRA": { + "stars": 10, + "last_update": "2025-02-25 14:22:34", + "author_account_age_days": 530 }, "https://github.com/drago87/ComfyUI_Dragos_Nodes": { "stars": 3, "last_update": "2024-05-22 21:32:15", - "author_account_age_days": 3969 + "author_account_age_days": 4040 + }, + "https://github.com/dreamhartley/ComfyUI_show_seed": { + "stars": 1, + "last_update": "2025-01-14 16:15:12", + "author_account_age_days": 754 }, "https://github.com/drmbt/comfyui-dreambait-nodes": { "stars": 3, - "last_update": "2025-01-07 16:45:44", - "author_account_age_days": 3976 + "last_update": "2025-03-18 10:50:34", + "author_account_age_days": 4048 }, "https://github.com/drustan-hawk/primitive-types": { - "stars": 7, + "stars": 6, "last_update": "2024-08-01 17:44:51", - "author_account_age_days": 488 + "author_account_age_days": 559 + }, + "https://github.com/duchamps0305/comfyui-white-extractor": { + "stars": 0, + "last_update": "2025-01-23 08:09:12", + "author_account_age_days": 892 }, "https://github.com/ducido/ObjectFusion_ComfyUI_nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-27 01:08:12", - "author_account_age_days": 728 + "author_account_age_days": 800 }, "https://github.com/dymokomi/comfyui_dygen": { "stars": 1, "last_update": "2024-11-28 20:08:13", - "author_account_age_days": 771 + "author_account_age_days": 842 + }, + "https://github.com/dzqdzq/ComfyUI-crop-alpha": { + "stars": 1, + "last_update": "2025-02-17 14:46:11", + "author_account_age_days": 3285 }, "https://github.com/e7mac/ComfyUI-ShadertoyGL": { "stars": 2, "last_update": "2024-06-20 14:52:42", - "author_account_age_days": 5002 + "author_account_age_days": 5074 }, "https://github.com/ealkanat/comfyui-easy-padding": { - "stars": 16, + "stars": 17, "last_update": "2024-12-31 02:38:22", - "author_account_age_days": 2662 + "author_account_age_days": 2733 }, "https://github.com/eastoc/ComfyUI_SemanticSAM": { - "stars": 5, + "stars": 4, "last_update": "2024-08-13 19:24:33", - "author_account_age_days": 2917 + "author_account_age_days": 2988 }, "https://github.com/edelvarden/ComfyUI-ImageMetadataExtension": { - "stars": 12, - "last_update": "2025-01-05 02:37:30", - "author_account_age_days": 2332 + "stars": 20, + "last_update": "2025-03-16 20:24:35", + "author_account_age_days": 2403 }, "https://github.com/edenartlab/eden_comfy_pipelines": { - "stars": 73, - "last_update": "2024-12-20 10:50:09", - "author_account_age_days": 471 + "stars": 78, + "last_update": "2025-03-22 00:31:48", + "author_account_age_days": 543 }, "https://github.com/edenartlab/sd-lora-trainer": { - "stars": 31, - "last_update": "2024-12-20 10:46:20", - "author_account_age_days": 471 + "stars": 45, + "last_update": "2025-02-24 16:18:16", + "author_account_age_days": 543 }, "https://github.com/educator-art/ComfyUI-Load-DirectoryFiles": { - "stars": 4, + "stars": 3, "last_update": "2024-10-11 17:31:45", - "author_account_age_days": 400 + "author_account_age_days": 472 }, "https://github.com/emojiiii/ComfyUI_Emojiiii_Custom_Nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-03 06:55:04", - "author_account_age_days": 2722 + "author_account_age_days": 2793 }, "https://github.com/envy-ai/ComfyUI-ConDelta": { - "stars": 167, + "stars": 184, "last_update": "2024-12-10 19:10:11", - "author_account_age_days": 154 + "author_account_age_days": 226 }, "https://github.com/erosDiffusion/ComfyUI-enricos-nodes": { - "stars": 349, - "last_update": "2024-12-19 09:17:18", - "author_account_age_days": 196 + "stars": 393, + "last_update": "2025-02-17 18:38:10", + "author_account_age_days": 267 }, "https://github.com/evanspearman/ComfyMath": { - "stars": 99, - "last_update": "2024-09-02 17:24:27", - "author_account_age_days": 4437 - }, - "https://github.com/evolox/ComfyUI-GeneraNodes": { - "stars": 2, - "last_update": "2025-01-08 16:09:12", - "author_account_age_days": 482 + "stars": 109, + "last_update": "2025-03-08 18:14:34", + "author_account_age_days": 4509 }, "https://github.com/exdysa/comfyui-selector": { - "stars": 5, - "last_update": "2024-12-07 21:07:28", - "author_account_age_days": 1194 + "stars": 4, + "last_update": "2025-03-14 12:21:29", + "author_account_age_days": 1266 }, "https://github.com/exectails/comfyui-et_dynamicprompts": { "stars": 3, "last_update": "2024-11-29 22:37:19", - "author_account_age_days": 4117 + "author_account_age_days": 4188 }, "https://github.com/exectails/comfyui-et_infoutils": { - "stars": 3, + "stars": 2, "last_update": "2024-11-29 17:27:49", - "author_account_age_days": 4117 + "author_account_age_days": 4188 }, "https://github.com/exectails/comfyui-et_stringutils": { "stars": 1, "last_update": "2024-11-26 20:26:14", - "author_account_age_days": 4117 + "author_account_age_days": 4188 }, "https://github.com/ez-af/ComfyUI-EZ-AF-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-10-02 07:38:18", - "author_account_age_days": 133 + "author_account_age_days": 204 }, "https://github.com/fablestudio/ComfyUI-Showrunner-Utils": { - "stars": 1, - "last_update": "2024-11-16 21:13:22", - "author_account_age_days": 2247 + "stars": 0, + "last_update": "2025-03-07 01:17:32", + "author_account_age_days": 2319 }, "https://github.com/facok/ComfyUI-HunyuanVideoMultiLora": { - "stars": 45, - "last_update": "2025-01-08 11:57:35", - "author_account_age_days": 657 + "stars": 106, + "last_update": "2025-03-05 20:13:34", + "author_account_age_days": 728 }, "https://github.com/facok/ComfyUI-TeaCacheHunyuanVideo": { - "stars": 36, - "last_update": "2025-01-08 10:34:12", - "author_account_age_days": 657 + "stars": 83, + "last_update": "2025-01-09 18:14:29", + "author_account_age_days": 728 }, "https://github.com/fairy-root/ComfyUI-GLHF": { - "stars": 3, + "stars": 4, "last_update": "2024-12-27 14:24:36", - "author_account_age_days": 2133 + "author_account_age_days": 2204 + }, + "https://github.com/fairy-root/ComfyUI-Show-Text": { + "stars": 0, + "last_update": "2025-02-28 02:14:49", + "author_account_age_days": 2204 }, "https://github.com/fairy-root/Flux-Prompt-Generator": { - "stars": 150, - "last_update": "2024-08-25 23:16:12", - "author_account_age_days": 2133 + "stars": 180, + "last_update": "2025-02-28 00:39:49", + "author_account_age_days": 2204 }, "https://github.com/fairy-root/comfyui-ollama-llms": { - "stars": 12, - "last_update": "2024-12-29 12:20:04", - "author_account_age_days": 2133 + "stars": 16, + "last_update": "2025-03-02 00:19:01", + "author_account_age_days": 2204 }, "https://github.com/fallingmeteorite/nsfw-image-check-comfyui": { - "stars": 3, - "last_update": "2024-12-23 23:47:08", - "author_account_age_days": 1287 + "stars": 4, + "last_update": "2025-03-04 04:52:07", + "author_account_age_days": 1359 }, "https://github.com/fashn-AI/ComfyUI-FASHN": { - "stars": 17, - "last_update": "2024-12-23 14:07:26", - "author_account_age_days": 554 + "stars": 19, + "last_update": "2025-03-18 21:20:16", + "author_account_age_days": 626 + }, + "https://github.com/fat-tire/comfyui-unified-media-suite": { + "stars": 2, + "last_update": "2025-02-25 04:41:02", + "author_account_age_days": 5207 + }, + "https://github.com/fblissjr/ComfyUI-DatasetHelper": { + "stars": 3, + "last_update": "2025-01-27 18:58:33", + "author_account_age_days": 3635 + }, + "https://github.com/fblissjr/ComfyUI-EmbeddingPipelineAnalytics": { + "stars": 2, + "last_update": "2025-01-24 18:51:53", + "author_account_age_days": 3635 + }, + "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow": { + "stars": 1, + "last_update": "2025-03-17 22:36:22", + "author_account_age_days": 3635 }, "https://github.com/fearnworks/ComfyUI_FearnworksNodes": { - "stars": 20, + "stars": 19, "last_update": "2024-08-05 01:50:04", - "author_account_age_days": 761 + "author_account_age_days": 832 + }, + "https://github.com/feixuetuba/Spleeter": { + "stars": 0, + "last_update": "2025-01-19 10:39:17", + "author_account_age_days": 4233 }, "https://github.com/fexli/fexli-util-node-comfyui": { "stars": 3, "last_update": "2024-05-22 21:27:36", - "author_account_age_days": 1758 + "author_account_age_days": 1829 }, "https://github.com/fexploit/ComfyUI-AutoLabel": { - "stars": 6, - "last_update": "2024-06-14 08:09:41", - "author_account_age_days": 5243 + "stars": 7, + "last_update": "2025-03-18 13:07:46", + "author_account_age_days": 5314 }, "https://github.com/fexploit/ComfyUI-AutoTrimBG": { "stars": 3, - "last_update": "2024-05-24 20:38:15", - "author_account_age_days": 5243 + "last_update": "2025-03-10 12:59:42", + "author_account_age_days": 5314 }, "https://github.com/fexploit/ComfyUI-Classifier": { "stars": 1, - "last_update": "2024-06-14 16:58:31", - "author_account_age_days": 5243 + "last_update": "2025-03-10 20:33:42", + "author_account_age_days": 5314 }, "https://github.com/filipemeneses/comfy_pixelization": { - "stars": 42, - "last_update": "2024-12-31 13:07:59", - "author_account_age_days": 3675 + "stars": 50, + "last_update": "2025-03-14 21:04:18", + "author_account_age_days": 3747 }, "https://github.com/filliptm/ComfyUI_FL-Trainer": { - "stars": 148, + "stars": 157, "last_update": "2024-10-18 00:20:18", - "author_account_age_days": 1935 + "author_account_age_days": 2007 }, "https://github.com/filliptm/ComfyUI_Fill-Nodes": { - "stars": 330, - "last_update": "2025-01-03 07:17:23", - "author_account_age_days": 1935 + "stars": 359, + "last_update": "2025-03-21 09:39:33", + "author_account_age_days": 2007 + }, + "https://github.com/finegrain-ai/comfyui-finegrain": { + "stars": 7, + "last_update": "2025-03-19 09:22:21", + "author_account_age_days": 773 }, "https://github.com/florestefano1975/ComfyUI-Advanced-Sequence-Seed": { - "stars": 2, + "stars": 1, "last_update": "2024-09-23 06:07:49", - "author_account_age_days": 392 + "author_account_age_days": 464 }, "https://github.com/florestefano1975/ComfyUI-CogVideoX": { - "stars": 12, + "stars": 14, "last_update": "2024-10-23 09:10:03", - "author_account_age_days": 392 + "author_account_age_days": 464 }, "https://github.com/florestefano1975/ComfyUI-HiDiffusion": { - "stars": 143, + "stars": 144, "last_update": "2024-05-22 00:33:06", - "author_account_age_days": 392 + "author_account_age_days": 464 }, "https://github.com/florestefano1975/ComfyUI-StabilityAI-Suite": { "stars": 4, "last_update": "2024-07-10 18:03:39", - "author_account_age_days": 392 + "author_account_age_days": 464 }, "https://github.com/florestefano1975/comfyui-portrait-master": { - "stars": 959, - "last_update": "2024-11-19 12:32:15", - "author_account_age_days": 392 + "stars": 1009, + "last_update": "2025-03-12 06:23:02", + "author_account_age_days": 464 }, "https://github.com/florestefano1975/comfyui-prompt-composer": { - "stars": 248, - "last_update": "2024-10-03 14:30:34", - "author_account_age_days": 392 + "stars": 260, + "last_update": "2025-03-12 06:24:22", + "author_account_age_days": 464 }, "https://github.com/flowtyone/ComfyUI-Flowty-CRM": { - "stars": 147, + "stars": 151, "last_update": "2024-06-14 10:23:09", - "author_account_age_days": 472 + "author_account_age_days": 544 }, "https://github.com/flowtyone/ComfyUI-Flowty-LDSR": { - "stars": 215, + "stars": 228, "last_update": "2024-06-14 09:04:51", - "author_account_age_days": 472 + "author_account_age_days": 544 }, "https://github.com/flowtyone/ComfyUI-Flowty-TripoSR": { - "stars": 462, + "stars": 486, "last_update": "2024-06-16 00:53:22", - "author_account_age_days": 472 + "author_account_age_days": 544 + }, + "https://github.com/fluffydiveX/ComfyUI-hvBlockswap": { + "stars": 3, + "last_update": "2025-02-27 04:43:06", + "author_account_age_days": 103 }, "https://github.com/flycarl/ComfyUI-Pixelate": { - "stars": 1, + "stars": 0, "last_update": "2024-11-26 13:31:56", - "author_account_age_days": 5059 + "author_account_age_days": 5130 }, "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": { - "stars": 8, + "stars": 7, "last_update": "2024-05-22 18:07:19", - "author_account_age_days": 3694 + "author_account_age_days": 3765 }, "https://github.com/fmatray/ComfyUI_BattlemapGrid": { "stars": 0, "last_update": "2024-06-05 22:35:06", - "author_account_age_days": 3821 + "author_account_age_days": 3892 }, "https://github.com/fofr/ComfyUI-HyperSDXL1StepUnetScheduler": { "stars": 12, "last_update": "2024-06-20 11:51:50", - "author_account_age_days": 5306 + "author_account_age_days": 5378 }, "https://github.com/fofr/ComfyUI-Prompter-fofrAI": { - "stars": 63, - "last_update": "2024-08-09 11:37:00", - "author_account_age_days": 5306 + "stars": 69, + "last_update": "2025-02-10 16:39:49", + "author_account_age_days": 5378 + }, + "https://github.com/fofr/comfyui-basic-auth": { + "stars": 1, + "last_update": "2025-03-17 09:38:05", + "author_account_age_days": 5378 }, "https://github.com/fofr/comfyui-fofr-toolkit": { - "stars": 5, + "stars": 4, "last_update": "2024-08-09 11:36:38", - "author_account_age_days": 5306 + "author_account_age_days": 5378 }, "https://github.com/forever22777/comfyui-self-guidance": { "stars": 8, - "last_update": "2024-08-15 10:49:29", - "author_account_age_days": 524 + "last_update": "2025-03-19 11:05:28", + "author_account_age_days": 595 }, "https://github.com/foxtrot-roger/comfyui-rf-nodes": { "stars": 2, "last_update": "2024-08-13 22:01:40", - "author_account_age_days": 2520 + "author_account_age_days": 2591 }, "https://github.com/frankchieng/ComfyUI_Aniportrait": { - "stars": 55, + "stars": 54, "last_update": "2024-09-13 10:41:16", - "author_account_age_days": 640 + "author_account_age_days": 711 }, "https://github.com/frankchieng/ComfyUI_MagicClothing": { - "stars": 536, + "stars": 556, "last_update": "2024-09-04 04:57:15", - "author_account_age_days": 640 + "author_account_age_days": 711 }, "https://github.com/frankchieng/ComfyUI_llm_easyanimiate": { "stars": 12, "last_update": "2024-06-26 03:13:32", - "author_account_age_days": 640 + "author_account_age_days": 711 }, "https://github.com/freelifehacker/ComfyUI-ImgMask2PNG": { - "stars": 1, + "stars": 0, "last_update": "2024-08-28 08:32:23", - "author_account_age_days": 2357 + "author_account_age_days": 2428 }, "https://github.com/fsdymy1024/ComfyUI_fsdymy": { - "stars": 10, + "stars": 9, "last_update": "2024-07-01 17:58:52", - "author_account_age_days": 2405 + "author_account_age_days": 2476 }, "https://github.com/fssorc/ComfyUI_FFT": { - "stars": 10, + "stars": 11, "last_update": "2024-09-30 01:27:21", - "author_account_age_days": 4786 + "author_account_age_days": 4857 }, "https://github.com/fssorc/ComfyUI_FaceShaper": { - "stars": 118, + "stars": 146, "last_update": "2024-09-20 06:15:46", - "author_account_age_days": 4786 + "author_account_age_days": 4857 }, "https://github.com/fssorc/ComfyUI_RopeWrapper": { - "stars": 4, + "stars": 6, "last_update": "2025-01-07 04:55:59", - "author_account_age_days": 4786 + "author_account_age_days": 4857 }, "https://github.com/fssorc/ComfyUI_pose_inter": { - "stars": 60, + "stars": 64, "last_update": "2024-08-28 07:25:07", - "author_account_age_days": 4786 + "author_account_age_days": 4857 + }, + "https://github.com/fuselayer/comfyui-mosaic-blur": { + "stars": 0, + "last_update": "2025-01-17 23:46:42", + "author_account_age_days": 548 }, "https://github.com/gelasdev/ComfyUI-FLUX-BFL-API": { - "stars": 26, + "stars": 27, "last_update": "2024-11-27 16:23:47", - "author_account_age_days": 2180 + "author_account_age_days": 2251 }, "https://github.com/gemell1/ComfyUI_GMIC": { "stars": 8, "last_update": "2024-05-22 21:28:51", - "author_account_age_days": 2156 + "author_account_age_days": 2227 }, "https://github.com/geocine/geocine-comfyui": { - "stars": 1, - "last_update": "2024-10-02 18:12:09", - "author_account_age_days": 5151 + "stars": 0, + "last_update": "2025-03-08 15:46:56", + "author_account_age_days": 5222 }, "https://github.com/ggarra13/ComfyUI-mrv2": { "stars": 3, "last_update": "2024-12-29 09:24:04", - "author_account_age_days": 4058 + "author_account_age_days": 4129 }, "https://github.com/ginlov/segment_to_mask_comfyui": { "stars": 2, "last_update": "2024-06-14 10:23:23", - "author_account_age_days": 2210 + "author_account_age_days": 2282 }, "https://github.com/giriss/comfy-image-saver": { - "stars": 214, + "stars": 244, "last_update": "2024-05-22 20:40:55", - "author_account_age_days": 4437 + "author_account_age_days": 4508 }, "https://github.com/gisu/comfyui-foxpack": { - "stars": 3, + "stars": 2, "last_update": "2024-08-20 06:43:22", - "author_account_age_days": 5198 + "author_account_age_days": 5269 }, "https://github.com/githubYiheng/ComfyUI_Change_IMAGE_BOREDER": { "stars": 0, "last_update": "2024-05-23 01:20:09", - "author_account_age_days": 4102 + "author_account_age_days": 4173 }, "https://github.com/githubYiheng/ComfyUI_GetFileNameFromURL": { - "stars": 0, + "stars": 1, "last_update": "2024-05-23 01:19:47", - "author_account_age_days": 4102 + "author_account_age_days": 4173 }, "https://github.com/githubYiheng/comfyui_kmeans_filter": { "stars": 0, "last_update": "2024-06-14 09:01:24", - "author_account_age_days": 4102 + "author_account_age_days": 4173 }, "https://github.com/githubYiheng/comfyui_meanshift_filter": { "stars": 0, "last_update": "2024-06-14 10:59:43", - "author_account_age_days": 4102 + "author_account_age_days": 4173 }, "https://github.com/githubYiheng/comfyui_private_postprocessor": { "stars": 1, "last_update": "2024-06-14 08:09:39", - "author_account_age_days": 4102 + "author_account_age_days": 4173 + }, + "https://github.com/gitmylo/ComfyUI-audio-nodes": { + "stars": 2, + "last_update": "2025-02-22 13:49:51", + "author_account_age_days": 2578 }, "https://github.com/glibsonoran/Plush-for-ComfyUI": { - "stars": 156, - "last_update": "2025-01-09 00:49:41", - "author_account_age_days": 2696 + "stars": 166, + "last_update": "2025-03-21 17:21:55", + "author_account_age_days": 2768 }, "https://github.com/glifxyz/ComfyUI-GlifNodes": { - "stars": 50, + "stars": 52, "last_update": "2024-11-25 12:37:14", - "author_account_age_days": 772 + "author_account_age_days": 844 }, "https://github.com/glowcone/comfyui-base64-to-image": { "stars": 13, "last_update": "2024-07-08 22:53:25", - "author_account_age_days": 3944 + "author_account_age_days": 4016 }, "https://github.com/glowcone/comfyui-string-converter": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 13:40:48", - "author_account_age_days": 3944 + "author_account_age_days": 4016 + }, + "https://github.com/gmorks/ComfyUI-SendToDiscord": { + "stars": 0, + "last_update": "2025-01-29 08:10:54", + "author_account_age_days": 2565 }, "https://github.com/goburiin/nsfwrecog-comfyui": { - "stars": 1, + "stars": 0, "last_update": "2024-08-14 02:17:15", - "author_account_age_days": 153 + "author_account_age_days": 224 }, "https://github.com/godmt/ComfyUI-List-Utils": { - "stars": 7, - "last_update": "2024-11-13 14:48:56", - "author_account_age_days": 1928 + "stars": 6, + "last_update": "2025-01-30 09:21:09", + "author_account_age_days": 2000 }, "https://github.com/godspede/ComfyUI_Substring": { - "stars": 1, + "stars": 0, "last_update": "2024-09-24 17:18:16", - "author_account_age_days": 3312 + "author_account_age_days": 3383 }, "https://github.com/gokayfem/ComfyUI-Depth-Visualization": { - "stars": 59, + "stars": 62, "last_update": "2024-10-31 23:50:57", - "author_account_age_days": 1257 + "author_account_age_days": 1328 }, "https://github.com/gokayfem/ComfyUI-Dream-Interpreter": { "stars": 78, "last_update": "2024-07-31 16:11:04", - "author_account_age_days": 1257 + "author_account_age_days": 1328 }, "https://github.com/gokayfem/ComfyUI-Texture-Simple": { - "stars": 43, + "stars": 47, "last_update": "2024-07-31 16:14:23", - "author_account_age_days": 1257 + "author_account_age_days": 1328 }, "https://github.com/gokayfem/ComfyUI_VLM_nodes": { - "stars": 447, - "last_update": "2024-11-06 15:53:28", - "author_account_age_days": 1257 + "stars": 480, + "last_update": "2025-02-13 10:37:34", + "author_account_age_days": 1328 }, "https://github.com/gonzalu/ComfyUI_YFG_Comical": { - "stars": 24, - "last_update": "2024-07-31 15:02:48", - "author_account_age_days": 2660 + "stars": 25, + "last_update": "2025-03-17 02:37:14", + "author_account_age_days": 2731 }, "https://github.com/googincheng/ComfyUX": { - "stars": 149, + "stars": 148, "last_update": "2024-08-22 09:47:17", - "author_account_age_days": 2988 + "author_account_age_days": 3059 }, "https://github.com/gorillaframeai/GF_nodes": { - "stars": 19, - "last_update": "2024-11-21 17:50:46", - "author_account_age_days": 432 + "stars": 23, + "last_update": "2025-03-14 02:13:11", + "author_account_age_days": 504 + }, + "https://github.com/gorillaframeai/GF_translate": { + "stars": 2, + "last_update": "2025-02-04 19:26:53", + "author_account_age_days": 504 + }, + "https://github.com/greengerong/ComfyUI-JanusPro-PL": { + "stars": 10, + "last_update": "2025-02-08 03:32:59", + "author_account_age_days": 4539 + }, + "https://github.com/greengerong/ComfyUI-Lumina-Video": { + "stars": 6, + "last_update": "2025-02-23 03:01:18", + "author_account_age_days": 4539 }, "https://github.com/gremlation/ComfyUI-ImageLabel": { - "stars": 2, - "last_update": "2025-01-08 09:01:37", - "author_account_age_days": 22 + "stars": 4, + "last_update": "2025-01-10 11:12:14", + "author_account_age_days": 93 }, "https://github.com/gremlation/ComfyUI-JMESPath": { - "stars": 0, - "last_update": "2025-01-07 17:35:48", - "author_account_age_days": 22 + "stars": 1, + "last_update": "2025-01-10 11:08:58", + "author_account_age_days": 93 }, "https://github.com/gremlation/ComfyUI-TrackAndWheel": { - "stars": 0, - "last_update": "2025-01-08 10:48:07", - "author_account_age_days": 22 + "stars": 1, + "last_update": "2025-01-10 11:13:34", + "author_account_age_days": 93 }, "https://github.com/gremlation/ComfyUI-ViewData": { - "stars": 2, - "last_update": "2025-01-07 16:43:52", - "author_account_age_days": 22 + "stars": 1, + "last_update": "2025-01-10 11:04:48", + "author_account_age_days": 93 }, "https://github.com/gremlation/ComfyUI-jq": { - "stars": 0, - "last_update": "2025-01-07 17:53:29", - "author_account_age_days": 22 + "stars": 1, + "last_update": "2025-01-10 11:10:59", + "author_account_age_days": 93 }, "https://github.com/griptape-ai/ComfyUI-Griptape": { - "stars": 144, - "last_update": "2025-01-08 20:08:16", - "author_account_age_days": 719 + "stars": 169, + "last_update": "2025-03-04 16:56:04", + "author_account_age_days": 791 }, "https://github.com/gseth/ControlAltAI-Nodes": { - "stars": 73, - "last_update": "2024-12-20 21:17:15", - "author_account_age_days": 4045 + "stars": 99, + "last_update": "2025-01-17 02:23:50", + "author_account_age_days": 4117 }, "https://github.com/gt732/ComfyUI-DreamWaltz-G": { - "stars": 3, + "stars": 2, "last_update": "2024-10-27 03:15:13", - "author_account_age_days": 1354 + "author_account_age_days": 1426 + }, + "https://github.com/guerreiro/comfyg-switch": { + "stars": 2, + "last_update": "2025-03-08 15:27:25", + "author_account_age_days": 5311 }, "https://github.com/guill/abracadabra-comfyui": { - "stars": 2, + "stars": 1, "last_update": "2024-12-23 09:46:10", - "author_account_age_days": 4392 + "author_account_age_days": 4463 }, "https://github.com/guyaton/guy-nodes-comfyui": { - "stars": 1, + "stars": 0, "last_update": "2024-10-02 13:15:26", - "author_account_age_days": 101 + "author_account_age_days": 172 }, "https://github.com/hackkhai/ComfyUI-Image-Matting": { - "stars": 15, + "stars": 17, "last_update": "2024-07-31 15:02:56", - "author_account_age_days": 2050 + "author_account_age_days": 2121 }, "https://github.com/hanoixan/ComfyUI-DataBeast": { - "stars": 2, + "stars": 1, "last_update": "2024-11-05 17:47:30", - "author_account_age_days": 5036 + "author_account_age_days": 5107 }, "https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": { "stars": 0, "last_update": "2024-07-28 21:08:27", - "author_account_age_days": 304 - }, - "https://github.com/hay86/ComfyUI_AceNodes": { - "stars": 44, - "last_update": "2024-12-31 08:39:13", - "author_account_age_days": 4866 + "author_account_age_days": 376 }, "https://github.com/hay86/ComfyUI_DDColor": { "stars": 7, "last_update": "2024-06-14 08:12:13", - "author_account_age_days": 4866 + "author_account_age_days": 4937 }, "https://github.com/hay86/ComfyUI_Dreamtalk": { "stars": 11, "last_update": "2024-08-15 03:37:37", - "author_account_age_days": 4866 + "author_account_age_days": 4937 }, "https://github.com/hay86/ComfyUI_Hallo": { "stars": 21, "last_update": "2024-07-30 09:55:03", - "author_account_age_days": 4866 + "author_account_age_days": 4937 }, "https://github.com/hay86/ComfyUI_LatentSync": { - "stars": 7, + "stars": 12, "last_update": "2025-01-06 07:47:40", - "author_account_age_days": 4866 + "author_account_age_days": 4937 }, "https://github.com/hay86/ComfyUI_MiniCPM-V": { - "stars": 37, + "stars": 39, "last_update": "2024-08-09 07:52:59", - "author_account_age_days": 4866 + "author_account_age_days": 4937 }, "https://github.com/hay86/ComfyUI_OpenVoice": { - "stars": 14, + "stars": 15, "last_update": "2024-07-02 08:16:20", - "author_account_age_days": 4866 - }, - "https://github.com/hayden-fr/ComfyUI-Image-Browsing": { - "stars": 11, - "last_update": "2025-01-09 02:43:56", - "author_account_age_days": 2136 + "author_account_age_days": 4937 }, "https://github.com/hayden-fr/ComfyUI-Model-Manager": { - "stars": 81, - "last_update": "2025-01-09 02:16:53", - "author_account_age_days": 2136 + "stars": 111, + "last_update": "2025-03-15 23:54:03", + "author_account_age_days": 2207 }, "https://github.com/hben35096/ComfyUI-ReplenishNodes": { - "stars": 3, + "stars": 2, "last_update": "2024-11-03 20:04:38", - "author_account_age_days": 546 + "author_account_age_days": 618 }, "https://github.com/hben35096/ComfyUI-ToolBox": { - "stars": 7, + "stars": 6, "last_update": "2024-09-02 14:49:43", - "author_account_age_days": 546 + "author_account_age_days": 618 }, "https://github.com/heshengtao/comfyui_LLM_party": { - "stars": 1204, - "last_update": "2025-01-09 10:59:55", - "author_account_age_days": 3094 + "stars": 1514, + "last_update": "2025-03-14 08:17:33", + "author_account_age_days": 3165 }, "https://github.com/heshengtao/comfyui_LLM_schools": { - "stars": 9, + "stars": 8, "last_update": "2024-08-24 15:08:14", - "author_account_age_days": 3094 + "author_account_age_days": 3165 + }, + "https://github.com/hgabha/WWAA-CustomNodes": { + "stars": 17, + "last_update": "2025-02-22 02:13:48", + "author_account_age_days": 426 }, "https://github.com/hhhzzyang/Comfyui_Lama": { - "stars": 48, + "stars": 52, "last_update": "2024-05-22 21:13:19", - "author_account_age_days": 706 + "author_account_age_days": 777 }, "https://github.com/hieuck/ComfyUI-BiRefNet": { "stars": 0, "last_update": "2024-12-04 16:20:00", - "author_account_age_days": 2724 + "author_account_age_days": 2795 }, "https://github.com/hiforce/comfyui-hiforce-plugin": { - "stars": 5, + "stars": 8, "last_update": "2024-06-14 08:13:24", - "author_account_age_days": 2001 + "author_account_age_days": 2073 }, "https://github.com/hinablue/ComfyUI_3dPoseEditor": { - "stars": 172, + "stars": 182, "last_update": "2024-06-21 17:38:40", - "author_account_age_days": 5311 + "author_account_age_days": 5382 + }, + "https://github.com/hmwl/ComfyUI_zip": { + "stars": 1, + "last_update": "2025-01-19 15:39:11", + "author_account_age_days": 2884 }, "https://github.com/hodanajan/optimal-crop-resolution": { "stars": 1, - "last_update": "2025-01-06 20:41:35", - "author_account_age_days": 2528 + "last_update": "2025-01-21 10:46:26", + "author_account_age_days": 2599 }, "https://github.com/holchan/ComfyUI-ModelDownloader": { "stars": 4, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1790 + "author_account_age_days": 1862 }, "https://github.com/hoveychen/ComfyUI-MusePose-Remaster": { - "stars": 3, + "stars": 6, "last_update": "2024-10-22 09:40:04", - "author_account_age_days": 4842 + "author_account_age_days": 4913 }, "https://github.com/huagetai/ComfyUI-Gaffer": { - "stars": 47, + "stars": 48, "last_update": "2024-06-19 00:58:38", - "author_account_age_days": 4831 + "author_account_age_days": 4902 }, "https://github.com/huagetai/ComfyUI_LightGradient": { "stars": 9, "last_update": "2024-05-23 01:21:27", - "author_account_age_days": 4831 + "author_account_age_days": 4902 }, "https://github.com/huanngzh/ComfyUI-MVAdapter": { - "stars": 214, - "last_update": "2024-12-25 15:24:55", - "author_account_age_days": 1437 + "stars": 318, + "last_update": "2025-02-13 14:06:35", + "author_account_age_days": 1508 }, "https://github.com/huchenlei/ComfyUI-IC-Light-Native": { - "stars": 565, - "last_update": "2024-12-31 17:59:41", - "author_account_age_days": 3075 + "stars": 595, + "last_update": "2025-02-25 16:35:36", + "author_account_age_days": 3146 }, "https://github.com/huchenlei/ComfyUI-layerdiffuse": { - "stars": 1540, - "last_update": "2025-01-05 19:53:01", - "author_account_age_days": 3075 + "stars": 1614, + "last_update": "2025-02-25 16:35:50", + "author_account_age_days": 3146 }, "https://github.com/huchenlei/ComfyUI-openpose-editor": { - "stars": 65, + "stars": 76, "last_update": "2024-07-31 13:44:16", - "author_account_age_days": 3075 + "author_account_age_days": 3146 }, "https://github.com/huchenlei/ComfyUI_DanTagGen": { "stars": 61, "last_update": "2024-08-01 01:42:14", - "author_account_age_days": 3075 + "author_account_age_days": 3146 }, "https://github.com/huchenlei/ComfyUI_densediffusion": { - "stars": 123, - "last_update": "2024-12-26 17:46:42", - "author_account_age_days": 3075 + "stars": 127, + "last_update": "2025-02-25 16:34:32", + "author_account_age_days": 3146 }, "https://github.com/huchenlei/ComfyUI_omost": { - "stars": 427, - "last_update": "2024-08-04 18:51:27", - "author_account_age_days": 3075 + "stars": 433, + "last_update": "2025-02-25 16:35:18", + "author_account_age_days": 3146 }, "https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": { - "stars": 26, + "stars": 27, "last_update": "2024-09-26 21:14:35", - "author_account_age_days": 5839 + "author_account_age_days": 5911 + }, + "https://github.com/huixingyun/ComfyUI-HX-Captioner": { + "stars": 0, + "last_update": "2025-01-25 06:48:18", + "author_account_age_days": 105 + }, + "https://github.com/huixingyun/ComfyUI-HX-Pimg": { + "stars": 0, + "last_update": "2025-03-04 09:30:50", + "author_account_age_days": 105 }, "https://github.com/humgate/simplecomfy": { "stars": 0, "last_update": "2024-06-14 08:58:21", - "author_account_age_days": 1565 + "author_account_age_days": 1637 }, "https://github.com/hustille/ComfyUI_Fooocus_KSampler": { - "stars": 60, + "stars": 61, "last_update": "2024-05-22 20:39:48", - "author_account_age_days": 639 + "author_account_age_days": 710 }, "https://github.com/hustille/ComfyUI_hus_utils": { "stars": 5, "last_update": "2024-05-22 20:39:34", - "author_account_age_days": 639 + "author_account_age_days": 710 }, "https://github.com/hwhaocool/ComfyUI-Select-Any": { - "stars": 3, + "stars": 2, "last_update": "2024-07-31 13:52:47", - "author_account_age_days": 3087 + "author_account_age_days": 3158 }, "https://github.com/hylarucoder/comfyui-copilot": { - "stars": 16, + "stars": 21, "last_update": "2024-06-28 04:43:18", - "author_account_age_days": 4112 + "author_account_age_days": 4183 }, "https://github.com/hyunamy/comfy-ui-on-complete-email-me": { "stars": 2, - "last_update": "2024-07-01 18:44:18", - "author_account_age_days": 3309 + "last_update": "2025-03-10 18:13:48", + "author_account_age_days": 3381 }, - "https://github.com/hzane/OmniGen-ComfyUI": { - "stars": 1, - "last_update": "2024-12-26 04:51:32", - "author_account_age_days": 4668 + "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor": { + "stars": 0, + "last_update": "2025-03-13 18:16:21", + "author_account_age_days": 10 }, "https://github.com/iFREEGROUP/comfyui-undistort": { "stars": 2, "last_update": "2024-06-14 08:59:52", - "author_account_age_days": 1756 + "author_account_age_days": 1827 }, "https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check": { "stars": 10, "last_update": "2024-11-26 07:32:18", - "author_account_age_days": 2405 + "author_account_age_days": 2476 }, "https://github.com/icesun963/ComfyUI_HFDownLoad": { "stars": 0, "last_update": "2024-07-18 12:13:23", - "author_account_age_days": 4305 + "author_account_age_days": 4376 }, "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words": { - "stars": 157, - "last_update": "2024-10-31 18:53:15", - "author_account_age_days": 3248 + "stars": 175, + "last_update": "2025-01-16 08:38:21", + "author_account_age_days": 3320 }, "https://github.com/iemesowum/ComfyUI_IsaacNodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-22 17:23:13", - "author_account_age_days": 5490 + "author_account_age_days": 5562 + }, + "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk": { + "stars": 24, + "last_update": "2025-03-14 13:19:03", + "author_account_age_days": 3133 }, "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode": { + "stars": 16, + "last_update": "2025-03-09 09:21:13", + "author_account_age_days": 3133 + }, + "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode": { "stars": 17, - "last_update": "2024-12-29 11:09:57", - "author_account_age_days": 3061 + "last_update": "2025-03-14 13:27:47", + "author_account_age_days": 3133 }, "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode": { - "stars": 41, - "last_update": "2024-10-01 08:47:47", - "author_account_age_days": 3061 + "stars": 42, + "last_update": "2025-03-09 09:17:01", + "author_account_age_days": 3133 }, "https://github.com/if-ai/ComfyUI-IF_AI_tools": { - "stars": 577, - "last_update": "2025-01-03 10:36:18", - "author_account_age_days": 3061 + "stars": 615, + "last_update": "2025-03-09 09:11:32", + "author_account_age_days": 3133 + }, + "https://github.com/if-ai/ComfyUI-IF_DatasetMkr": { + "stars": 15, + "last_update": "2025-03-17 08:14:01", + "author_account_age_days": 3133 + }, + "https://github.com/if-ai/ComfyUI-IF_Gemini": { + "stars": 0, + "last_update": "2025-03-21 14:36:57", + "author_account_age_days": 3133 + }, + "https://github.com/if-ai/ComfyUI-IF_LLM": { + "stars": 99, + "last_update": "2025-03-21 14:36:18", + "author_account_age_days": 3133 }, "https://github.com/if-ai/ComfyUI-IF_MemoAvatar": { - "stars": 132, - "last_update": "2024-12-18 22:34:21", - "author_account_age_days": 3061 + "stars": 155, + "last_update": "2025-03-09 09:28:07", + "author_account_age_days": 3133 }, "https://github.com/if-ai/ComfyUI-IF_Trellis": { - "stars": 302, - "last_update": "2025-01-06 14:11:10", - "author_account_age_days": 3061 + "stars": 401, + "last_update": "2025-03-09 09:31:12", + "author_account_age_days": 3133 + }, + "https://github.com/if-ai/ComfyUI-IF_VideoPrompts": { + "stars": 14, + "last_update": "2025-03-18 09:58:43", + "author_account_age_days": 3133 + }, + "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages": { + "stars": 8, + "last_update": "2025-03-14 13:24:31", + "author_account_age_days": 3133 + }, + "https://github.com/ifmylove2011/comfyui-missing-tool": { + "stars": 0, + "last_update": "2025-03-15 08:07:16", + "author_account_age_days": 3441 }, "https://github.com/ihmily/ComfyUI-Light-Tool": { "stars": 9, - "last_update": "2024-12-13 10:17:53", - "author_account_age_days": 828 + "last_update": "2025-03-21 04:02:03", + "author_account_age_days": 899 + }, + "https://github.com/illuminatianon/comfyui-csvwildcards": { + "stars": 0, + "last_update": "2025-03-08 07:03:11", + "author_account_age_days": 14 }, "https://github.com/imb101/ComfyUI-FaceSwap": { - "stars": 30, + "stars": 32, "last_update": "2024-05-22 18:22:29", - "author_account_age_days": 1087 + "author_account_age_days": 1159 + }, + "https://github.com/infinigence/ComfyUI_Model_Cache": { + "stars": 0, + "last_update": "2025-03-21 10:19:23", + "author_account_age_days": 414 }, "https://github.com/inflamously/comfyui-prompt-enhancer": { - "stars": 1, - "last_update": "2025-01-06 23:39:15", - "author_account_age_days": 3979 + "stars": 0, + "last_update": "2025-02-25 00:01:57", + "author_account_age_days": 4051 }, "https://github.com/injet-zhou/comfyui_extra_api": { "stars": 6, "last_update": "2024-12-31 01:53:17", - "author_account_age_days": 2426 + "author_account_age_days": 2497 }, "https://github.com/inventorado/ComfyUI_NNT": { - "stars": 47, + "stars": 61, "last_update": "2025-01-08 17:22:46", - "author_account_age_days": 3085 + "author_account_age_days": 3156 + }, + "https://github.com/irreveloper/ComfyUI-DSD": { + "stars": 34, + "last_update": "2025-03-15 16:55:07", + "author_account_age_days": 3988 }, "https://github.com/iwanders/ComfyUI_nodes": { "stars": 1, "last_update": "2024-07-11 01:06:26", - "author_account_age_days": 4625 + "author_account_age_days": 4696 }, "https://github.com/jacklukai/ComfyUI_DeployCash": { - "stars": 1, - "last_update": "2024-12-02 03:49:49", - "author_account_age_days": 182 + "stars": 0, + "last_update": "2025-02-20 12:15:49", + "author_account_age_days": 253 }, "https://github.com/jags111/ComfyUI_Jags_Audiotools": { - "stars": 62, - "last_update": "2024-08-01 05:37:19", - "author_account_age_days": 4070 + "stars": 68, + "last_update": "2025-03-20 16:23:33", + "author_account_age_days": 4141 }, "https://github.com/jags111/ComfyUI_Jags_VectorMagic": { - "stars": 73, - "last_update": "2024-10-16 07:22:46", - "author_account_age_days": 4070 + "stars": 76, + "last_update": "2025-03-20 16:24:39", + "author_account_age_days": 4141 }, "https://github.com/jags111/efficiency-nodes-comfyui": { - "stars": 1066, - "last_update": "2024-08-26 04:49:54", - "author_account_age_days": 4070 + "stars": 1187, + "last_update": "2025-03-20 16:21:48", + "author_account_age_days": 4141 }, "https://github.com/jakechai/ComfyUI-JakeUpgrade": { - "stars": 47, - "last_update": "2025-01-04 02:02:59", - "author_account_age_days": 1771 + "stars": 63, + "last_update": "2025-03-15 00:17:48", + "author_account_age_days": 1842 }, "https://github.com/jamal-alkharrat/ComfyUI_rotate_image": { "stars": 0, "last_update": "2024-05-22 23:19:02", - "author_account_age_days": 1176 + "author_account_age_days": 1247 }, "https://github.com/jamesWalker55/comfyui-p2ldgan": { "stars": 17, "last_update": "2024-05-22 18:19:04", - "author_account_age_days": 2726 + "author_account_age_days": 2797 }, "https://github.com/jamesWalker55/comfyui-various": { - "stars": 70, - "last_update": "2024-09-19 04:58:35", - "author_account_age_days": 2726 + "stars": 87, + "last_update": "2025-02-27 11:01:51", + "author_account_age_days": 2797 }, "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": { - "stars": 8, - "last_update": "2025-01-09 13:24:22", - "author_account_age_days": 4677 + "stars": 12, + "last_update": "2025-02-26 05:03:05", + "author_account_age_days": 4748 }, "https://github.com/jax-explorer/comfyui-model-dynamic-loader": { - "stars": 2, - "last_update": "2025-01-06 12:57:36", - "author_account_age_days": 776 + "stars": 1, + "last_update": "2025-03-21 15:20:42", + "author_account_age_days": 847 }, "https://github.com/jax-explorer/fast_video_comfyui": { "stars": 0, "last_update": "2024-05-23 01:17:35", - "author_account_age_days": 776 + "author_account_age_days": 847 }, "https://github.com/jeffrey2212/ComfyUI-PonyCharacterPrompt": { "stars": 2, "last_update": "2024-10-26 05:38:07", - "author_account_age_days": 4670 + "author_account_age_days": 4741 }, "https://github.com/jeffy5/comfyui-faceless-node": { - "stars": 39, - "last_update": "2024-07-29 08:00:20", - "author_account_age_days": 3130 + "stars": 43, + "last_update": "2025-02-12 03:31:40", + "author_account_age_days": 3201 + }, + "https://github.com/jerome7562/ComfyUI-XenoFlow": { + "stars": 4, + "last_update": "2025-03-10 16:33:16", + "author_account_age_days": 37 }, "https://github.com/jerrylongyan/ComfyUI-My-Mask": { - "stars": 1, + "stars": 2, "last_update": "2025-01-08 08:39:19", - "author_account_age_days": 4131 + "author_account_age_days": 4202 }, "https://github.com/jesenzhang/ComfyUI_StreamDiffusion": { - "stars": 134, - "last_update": "2024-11-19 01:16:54", - "author_account_age_days": 3851 + "stars": 139, + "last_update": "2025-03-18 04:47:24", + "author_account_age_days": 3922 + }, + "https://github.com/jhj0517/ComfyUI-Moondream-Gaze-Detection": { + "stars": 51, + "last_update": "2025-02-03 04:53:25", + "author_account_age_days": 1169 + }, + "https://github.com/jhj0517/ComfyUI-jhj-Kokoro-Onnx": { + "stars": 3, + "last_update": "2025-02-04 14:15:08", + "author_account_age_days": 1169 }, "https://github.com/jianzhichun/ComfyUI-Easyai": { - "stars": 7, + "stars": 15, "last_update": "2024-10-27 03:29:53", - "author_account_age_days": 3236 + "author_account_age_days": 3307 }, "https://github.com/jiaqianjing/ComfyUI-MidjourneyHub": { - "stars": 6, + "stars": 7, "last_update": "2024-12-13 03:03:41", - "author_account_age_days": 3328 + "author_account_age_days": 3400 }, "https://github.com/jiaxiangc/ComfyUI-ResAdapter": { - "stars": 292, + "stars": 288, "last_update": "2024-05-23 00:22:23", - "author_account_age_days": 1485 + "author_account_age_days": 1556 + }, + "https://github.com/jinanlongen/ComfyUI-Prompt-Expander": { + "stars": 0, + "last_update": "2025-01-28 08:04:24", + "author_account_age_days": 3027 }, "https://github.com/jitcoder/lora-info": { - "stars": 72, + "stars": 85, "last_update": "2024-09-08 19:14:17", - "author_account_age_days": 4239 + "author_account_age_days": 4311 }, "https://github.com/jjkramhoeft/ComfyUI-Jjk-Nodes": { - "stars": 11, + "stars": 15, "last_update": "2024-05-22 20:44:56", - "author_account_age_days": 3848 + "author_account_age_days": 3919 }, "https://github.com/jkrauss82/ultools-comfyui": { - "stars": 6, - "last_update": "2024-09-15 07:35:53", - "author_account_age_days": 4410 + "stars": 5, + "last_update": "2025-01-20 20:47:49", + "author_account_age_days": 4482 }, "https://github.com/jmkl/ComfyUI-ricing": { - "stars": 11, + "stars": 10, "last_update": "2024-10-16 15:38:08", - "author_account_age_days": 4796 + "author_account_age_days": 4867 }, "https://github.com/jn-jairo/jn_comfyui": { - "stars": 5, + "stars": 4, "last_update": "2024-08-16 18:09:12", - "author_account_age_days": 4183 + "author_account_age_days": 4255 + }, + "https://github.com/jnxmx/ComfyUI_HuggingFace_Downloader": { + "stars": 2, + "last_update": "2025-03-21 22:36:58", + "author_account_age_days": 609 }, "https://github.com/john-mnz/ComfyUI-Inspyrenet-Rembg": { - "stars": 419, + "stars": 495, "last_update": "2024-07-31 13:54:32", - "author_account_age_days": 407 + "author_account_age_days": 478 }, "https://github.com/jojkaart/ComfyUI-sampler-lcm-alternative": { - "stars": 130, + "stars": 129, "last_update": "2024-08-02 08:23:26", - "author_account_age_days": 4997 + "author_account_age_days": 5068 }, "https://github.com/jordoh/ComfyUI-Deepface": { - "stars": 21, + "stars": 23, "last_update": "2024-08-04 18:18:05", - "author_account_age_days": 5192 + "author_account_age_days": 5264 + }, + "https://github.com/joreyaesh/comfyui_scroll_over_textarea": { + "stars": 0, + "last_update": "2025-03-09 18:58:09", + "author_account_age_days": 4384 + }, + "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll": { + "stars": 0, + "last_update": "2025-03-18 03:15:42", + "author_account_age_days": 4384 }, "https://github.com/jroc22/ComfyUI-CSV-prompt-builder": { - "stars": 7, + "stars": 8, "last_update": "2024-08-01 19:39:30", - "author_account_age_days": 888 + "author_account_age_days": 960 }, "https://github.com/jstit/comfyui_custom_node_image": { - "stars": 1, + "stars": 0, "last_update": "2024-08-27 05:10:12", - "author_account_age_days": 2063 + "author_account_age_days": 2134 }, "https://github.com/jtrue/ComfyUI-JaRue": { "stars": 7, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 4129 + "author_account_age_days": 4200 }, "https://github.com/jtydhr88/ComfyUI-Hunyuan3D-1-wrapper": { - "stars": 19, + "stars": 27, "last_update": "2024-11-13 11:50:46", - "author_account_age_days": 4952 + "author_account_age_days": 5023 }, "https://github.com/jtydhr88/ComfyUI-LayerDivider": { - "stars": 67, + "stars": 87, "last_update": "2024-07-06 01:43:45", - "author_account_age_days": 4952 + "author_account_age_days": 5023 }, "https://github.com/jtydhr88/ComfyUI-Workflow-Encrypt": { - "stars": 29, + "stars": 31, "last_update": "2024-07-31 13:45:53", - "author_account_age_days": 4952 + "author_account_age_days": 5023 }, "https://github.com/juehackr/comfyui_fk_server": { - "stars": 194, - "last_update": "2025-01-09 09:23:46", - "author_account_age_days": 1311 + "stars": 291, + "last_update": "2025-03-20 02:41:11", + "author_account_age_days": 1382 }, "https://github.com/jurdnisglobby/ComfyUI-Jurdns-Groq-Node": { "stars": 2, - "last_update": "2024-12-29 00:21:53", - "author_account_age_days": 110 + "last_update": "2025-01-18 06:20:23", + "author_account_age_days": 182 }, "https://github.com/justUmen/Bjornulf_custom_nodes": { - "stars": 79, - "last_update": "2024-12-24 07:02:51", - "author_account_age_days": 2988 + "stars": 222, + "last_update": "2025-03-19 20:19:45", + "author_account_age_days": 3059 + }, + "https://github.com/justin-vt/ComfyUI-brushstrokes": { + "stars": 1, + "last_update": "2025-03-05 18:27:37", + "author_account_age_days": 2977 }, "https://github.com/k-komarov/comfyui-bunny-cdn-storage": { - "stars": 1, + "stars": 0, "last_update": "2024-08-31 20:59:08", - "author_account_age_days": 3674 + "author_account_age_days": 3745 }, "https://github.com/ka-puna/comfyui-yanc": { - "stars": 7, - "last_update": "2024-07-18 04:28:44", - "author_account_age_days": 2406 + "stars": 8, + "last_update": "2025-03-09 19:34:14", + "author_account_age_days": 2477 }, "https://github.com/kaanyalova/ComfyUI_ExtendedImageFormats": { - "stars": 6, - "last_update": "2024-10-30 14:53:11", - "author_account_age_days": 1466 + "stars": 5, + "last_update": "2025-01-25 10:57:38", + "author_account_age_days": 1537 }, "https://github.com/kadirnar/ComfyUI-Transformers": { - "stars": 22, + "stars": 21, "last_update": "2024-06-22 22:44:39", - "author_account_age_days": 2528 + "author_account_age_days": 2600 }, "https://github.com/kadirnar/ComfyUI-YOLO": { - "stars": 53, - "last_update": "2024-11-29 15:22:15", - "author_account_age_days": 2528 + "stars": 70, + "last_update": "2025-03-15 11:00:21", + "author_account_age_days": 2600 }, "https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl": { - "stars": 373, + "stars": 496, "last_update": "2024-11-24 20:25:04", - "author_account_age_days": 4880 + "author_account_age_days": 4952 }, "https://github.com/kale4eat/ComfyUI-path-util": { "stars": 0, "last_update": "2024-05-25 05:44:11", - "author_account_age_days": 1811 + "author_account_age_days": 1882 }, "https://github.com/kale4eat/ComfyUI-speech-dataset-toolkit": { "stars": 15, - "last_update": "2024-09-27 12:39:38", - "author_account_age_days": 1811 + "last_update": "2025-02-07 08:10:10", + "author_account_age_days": 1882 }, "https://github.com/kale4eat/ComfyUI-string-util": { "stars": 2, "last_update": "2024-05-23 00:24:40", - "author_account_age_days": 1811 + "author_account_age_days": 1882 }, "https://github.com/kale4eat/ComfyUI-text-file-util": { "stars": 0, "last_update": "2024-05-23 00:24:51", - "author_account_age_days": 1811 + "author_account_age_days": 1882 }, "https://github.com/kappa54m/ComfyUI_Usability": { - "stars": 1, + "stars": 0, "last_update": "2024-08-08 15:31:47", - "author_account_age_days": 1710 + "author_account_age_days": 1781 }, "https://github.com/kasukanra/ComfyUI_StringToHex": { - "stars": 2, + "stars": 1, "last_update": "2024-08-20 04:52:06", - "author_account_age_days": 2860 + "author_account_age_days": 2932 }, "https://github.com/katalist-ai/comfyUI-nsfw-detection": { "stars": 1, "last_update": "2024-05-23 01:23:32", - "author_account_age_days": 952 + "author_account_age_days": 1024 }, "https://github.com/kazeyori/ComfyUI-QuickImageSequenceProcess": { - "stars": 1, - "last_update": "2024-12-24 16:48:11", - "author_account_age_days": 927 + "stars": 0, + "last_update": "2025-03-05 09:50:12", + "author_account_age_days": 998 }, "https://github.com/kealiu/ComfyUI-S3-Tools": { "stars": 7, "last_update": "2024-07-04 10:13:07", - "author_account_age_days": 4327 + "author_account_age_days": 4398 }, "https://github.com/kealiu/ComfyUI-Zero123-Porting": { "stars": 21, "last_update": "2024-08-22 07:07:57", - "author_account_age_days": 4327 + "author_account_age_days": 4398 }, "https://github.com/kealiu/ComfyUI-ZeroShot-MTrans": { - "stars": 164, + "stars": 167, "last_update": "2024-07-04 10:12:32", - "author_account_age_days": 4327 + "author_account_age_days": 4398 + }, + "https://github.com/keit0728/ComfyUI-Image-Toolkit": { + "stars": 1, + "last_update": "2025-03-06 11:17:11", + "author_account_age_days": 3259 }, "https://github.com/kenjiqq/qq-nodes-comfyui": { - "stars": 41, - "last_update": "2024-10-01 19:14:55", - "author_account_age_days": 5088 + "stars": 42, + "last_update": "2025-03-03 18:13:41", + "author_account_age_days": 5160 + }, + "https://github.com/kevinmcmahondev/comfyui-kmcdev-image-filter-adjustments": { + "stars": 0, + "last_update": "2025-02-19 06:55:25", + "author_account_age_days": 1024 }, "https://github.com/kevinmcmahondev/comfyui-skin-tone-detector": { "stars": 2, "last_update": "2024-12-22 06:44:20", - "author_account_age_days": 952 + "author_account_age_days": 1024 }, "https://github.com/kft334/Knodes": { "stars": 3, "last_update": "2024-06-14 08:12:06", - "author_account_age_days": 1158 + "author_account_age_days": 1229 }, "https://github.com/kijai/ComfyUI-ADMotionDirector": { - "stars": 171, + "stars": 174, "last_update": "2024-11-07 07:20:23", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-APISR-KJ": { - "stars": 62, + "stars": 64, "last_update": "2024-05-21 16:30:21", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-BrushNet-Wrapper": { - "stars": 136, + "stars": 138, "last_update": "2024-06-20 12:15:16", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-CCSR": { - "stars": 199, + "stars": 212, "last_update": "2024-06-28 11:13:33", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-CogVideoXWrapper": { - "stars": 1249, - "last_update": "2024-12-24 00:09:15", - "author_account_age_days": 2382 + "stars": 1444, + "last_update": "2025-02-17 00:48:16", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-ControlNeXt-SVD": { - "stars": 168, + "stars": 180, "last_update": "2024-08-15 08:26:15", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-DDColor": { - "stars": 127, + "stars": 139, "last_update": "2024-05-21 16:04:26", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-DepthAnythingV2": { - "stars": 227, - "last_update": "2024-10-21 11:43:57", - "author_account_age_days": 2382 + "stars": 274, + "last_update": "2025-03-06 12:01:52", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-DiffusionLight": { - "stars": 61, + "stars": 68, "last_update": "2024-05-21 16:16:52", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-DynamiCrafterWrapper": { - "stars": 646, + "stars": 657, "last_update": "2024-08-15 21:17:07", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-ELLA-wrapper": { - "stars": 111, + "stars": 112, "last_update": "2024-05-21 16:47:28", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-Florence2": { - "stars": 868, - "last_update": "2024-11-27 14:05:12", - "author_account_age_days": 2382 + "stars": 1058, + "last_update": "2025-03-15 08:57:03", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-FluxTrainer": { - "stars": 609, - "last_update": "2024-12-04 10:24:34", - "author_account_age_days": 2382 + "stars": 759, + "last_update": "2025-02-03 21:27:29", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-GIMM-VFI": { - "stars": 190, - "last_update": "2024-11-19 14:31:22", - "author_account_age_days": 2382 + "stars": 253, + "last_update": "2025-03-17 15:26:06", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-Geowizard": { - "stars": 103, + "stars": 112, "last_update": "2024-12-16 19:33:54", - "author_account_age_days": 2382 + "author_account_age_days": 2453 + }, + "https://github.com/kijai/ComfyUI-HFRemoteVae": { + "stars": 42, + "last_update": "2025-03-01 18:22:59", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": { - "stars": 1483, - "last_update": "2025-01-06 22:39:12", - "author_account_age_days": 2382 + "stars": 2267, + "last_update": "2025-03-11 16:31:59", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-IC-Light": { - "stars": 860, - "last_update": "2024-10-31 11:40:56", - "author_account_age_days": 2382 + "stars": 948, + "last_update": "2025-01-23 16:59:43", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-KJNodes": { - "stars": 773, - "last_update": "2025-01-08 20:48:57", - "author_account_age_days": 2382 + "stars": 1054, + "last_update": "2025-03-19 08:13:15", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-KwaiKolorsWrapper": { - "stars": 572, + "stars": 590, "last_update": "2024-10-18 08:47:45", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-LLaVA-OneVision": { - "stars": 81, + "stars": 83, "last_update": "2024-08-25 14:04:22", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-LVCDWrapper": { - "stars": 56, + "stars": 58, "last_update": "2024-09-30 11:49:12", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-LaVi-Bridge-Wrapper": { "stars": 21, "last_update": "2024-05-21 16:41:18", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-LivePortraitKJ": { - "stars": 1761, + "stars": 1890, "last_update": "2024-08-05 21:39:49", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-Lotus": { - "stars": 100, + "stars": 110, "last_update": "2024-10-13 12:33:24", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-LuminaWrapper": { - "stars": 186, + "stars": 190, "last_update": "2024-07-31 13:52:06", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-Marigold": { - "stars": 487, + "stars": 510, "last_update": "2024-11-02 17:51:42", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-MimicMotionWrapper": { - "stars": 377, - "last_update": "2024-08-07 06:48:40", - "author_account_age_days": 2382 + "stars": 443, + "last_update": "2025-01-12 17:34:34", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-MoGe": { - "stars": 33, - "last_update": "2024-11-03 21:28:03", - "author_account_age_days": 2382 + "stars": 43, + "last_update": "2025-02-07 18:42:39", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-OpenDiTWrapper": { - "stars": 42, + "stars": 43, "last_update": "2024-07-03 14:59:13", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-PyramidFlowWrapper": { - "stars": 343, + "stars": 360, "last_update": "2024-11-15 13:28:18", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-SUPIR": { - "stars": 1691, + "stars": 1816, "last_update": "2024-08-01 23:03:53", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-SVD": { "stars": 161, "last_update": "2024-05-22 21:09:54", - "author_account_age_days": 2382 + "author_account_age_days": 2453 + }, + "https://github.com/kijai/ComfyUI-StableXWrapper": { + "stars": 36, + "last_update": "2025-01-31 11:59:01", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-depth-fm": { - "stars": 68, + "stars": 72, "last_update": "2024-05-22 21:10:15", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-moondream": { - "stars": 98, + "stars": 103, "last_update": "2024-08-12 16:30:11", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-segment-anything-2": { - "stars": 719, - "last_update": "2024-10-03 18:41:02", - "author_account_age_days": 2382 + "stars": 819, + "last_update": "2025-03-19 09:40:37", + "author_account_age_days": 2453 }, "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Advanced-Watermarks": { - "stars": 10, + "stars": 15, "last_update": "2025-01-08 12:50:40", - "author_account_age_days": 55 + "author_account_age_days": 127 }, "https://github.com/kinfolk0117/ComfyUI_GradientDeepShrink": { "stars": 25, "last_update": "2024-05-22 21:25:13", - "author_account_age_days": 667 + "author_account_age_days": 739 }, "https://github.com/kinfolk0117/ComfyUI_GridSwapper": { "stars": 28, "last_update": "2024-10-27 09:04:20", - "author_account_age_days": 667 + "author_account_age_days": 739 }, "https://github.com/kinfolk0117/ComfyUI_Pilgram": { "stars": 7, "last_update": "2024-05-22 21:25:24", - "author_account_age_days": 667 + "author_account_age_days": 739 }, "https://github.com/kinfolk0117/ComfyUI_SimpleTiles": { - "stars": 48, + "stars": 51, "last_update": "2024-05-22 21:25:01", - "author_account_age_days": 667 + "author_account_age_days": 739 }, "https://github.com/kk8bit/KayTool": { - "stars": 8, - "last_update": "2024-11-08 12:51:52", - "author_account_age_days": 556 + "stars": 23, + "last_update": "2025-03-21 16:59:59", + "author_account_age_days": 627 }, "https://github.com/klinter007/klinter_nodes": { "stars": 18, - "last_update": "2024-12-27 20:03:35", - "author_account_age_days": 624 + "last_update": "2025-03-02 17:24:09", + "author_account_age_days": 696 }, "https://github.com/knuknX/ComfyUI-Image-Tools": { "stars": 3, "last_update": "2024-06-14 09:05:58", - "author_account_age_days": 399 + "author_account_age_days": 470 }, "https://github.com/kohya-ss/ControlNet-LLLite-ComfyUI": { - "stars": 177, + "stars": 184, "last_update": "2024-05-22 20:44:44", - "author_account_age_days": 2008 + "author_account_age_days": 2079 }, "https://github.com/komojini/ComfyUI_SDXL_DreamBooth_LoRA_CustomNodes": { "stars": 3, "last_update": "2024-05-22 21:34:27", - "author_account_age_days": 782 + "author_account_age_days": 853 }, "https://github.com/komojini/komojini-comfyui-nodes": { - "stars": 71, + "stars": 72, "last_update": "2024-05-22 21:34:39", - "author_account_age_days": 782 + "author_account_age_days": 853 }, "https://github.com/kostenickj/jk-comfyui-helpers": { - "stars": 4, + "stars": 3, "last_update": "2024-12-19 10:22:42", - "author_account_age_days": 3248 + "author_account_age_days": 3320 }, "https://github.com/kraglik/prompt_collapse": { - "stars": 6, + "stars": 5, "last_update": "2024-12-15 08:39:51", - "author_account_age_days": 2656 + "author_account_age_days": 2728 }, - "https://github.com/krich-cto/ComfyUI-Flow-Control": { - "stars": 2, - "last_update": "2024-12-19 04:44:00", - "author_account_age_days": 1464 + "https://github.com/kukuo6666/ComfyUI-Equirect": { + "stars": 1, + "last_update": "2025-03-19 02:51:28", + "author_account_age_days": 1837 }, "https://github.com/kunieone/ComfyUI_alkaid": { "stars": 0, "last_update": "2024-05-23 01:10:21", - "author_account_age_days": 2719 + "author_account_age_days": 2790 }, "https://github.com/kwaroran/abg-comfyui": { - "stars": 22, + "stars": 25, "last_update": "2024-05-22 18:19:51", - "author_account_age_days": 806 + "author_account_age_days": 878 }, "https://github.com/kycg/comfyui-Lora-auto-downloader": { - "stars": 1, + "stars": 0, "last_update": "2024-11-08 19:57:23", - "author_account_age_days": 1139 + "author_account_age_days": 1211 }, - "https://github.com/l1yongch1/ComfyUI_PhiCaption": { - "stars": 1, - "last_update": "2024-10-10 07:28:29", - "author_account_age_days": 975 + "https://github.com/l-comm/WatermarkRemoval": { + "stars": 4, + "last_update": "2025-01-13 05:33:32", + "author_account_age_days": 81 }, "https://github.com/l20richo/ComfyUI-Azure-Blob-Storage": { "stars": 2, "last_update": "2024-06-22 16:53:47", - "author_account_age_days": 1366 + "author_account_age_days": 1437 }, "https://github.com/laksjdjf/Batch-Condition-ComfyUI": { "stars": 6, "last_update": "2024-05-22 20:42:42", - "author_account_age_days": 3030 + "author_account_age_days": 3101 }, "https://github.com/laksjdjf/LCMSampler-ComfyUI": { "stars": 15, "last_update": "2024-05-22 20:42:17", - "author_account_age_days": 3030 + "author_account_age_days": 3101 }, "https://github.com/laksjdjf/LoRTnoC-ComfyUI": { "stars": 13, "last_update": "2024-05-22 20:42:29", - "author_account_age_days": 3030 + "author_account_age_days": 3101 }, "https://github.com/laksjdjf/cd-tuner_negpip-ComfyUI": { "stars": 22, "last_update": "2024-05-22 20:42:04", - "author_account_age_days": 3030 + "author_account_age_days": 3101 }, "https://github.com/laksjdjf/cgem156-ComfyUI": { - "stars": 52, + "stars": 59, "last_update": "2024-09-12 12:07:30", - "author_account_age_days": 3030 + "author_account_age_days": 3101 }, "https://github.com/laksjdjf/pfg-ComfyUI": { "stars": 12, "last_update": "2024-05-22 20:41:41", - "author_account_age_days": 3030 + "author_account_age_days": 3101 }, "https://github.com/larsupb/LoRA-Merger-ComfyUI": { - "stars": 30, + "stars": 39, "last_update": "2024-10-24 11:28:08", - "author_account_age_days": 3275 + "author_account_age_days": 3346 }, "https://github.com/latenightlabs/ComfyUI-LNL": { "stars": 23, "last_update": "2024-10-07 20:09:43", - "author_account_age_days": 349 + "author_account_age_days": 421 }, "https://github.com/lazniak/Head-Orientation-Node-for-ComfyUI---by-PabloGFX": { - "stars": 9, + "stars": 10, "last_update": "2024-09-25 15:02:14", - "author_account_age_days": 2480 + "author_account_age_days": 2552 }, "https://github.com/lazniak/LiquidTime-Interpolation": { - "stars": 7, + "stars": 11, "last_update": "2024-11-14 18:11:23", - "author_account_age_days": 2480 + "author_account_age_days": 2552 }, "https://github.com/lazniak/comfyui-google-photos-loader": { - "stars": 4, + "stars": 3, "last_update": "2024-09-26 16:32:32", - "author_account_age_days": 2480 + "author_account_age_days": 2552 + }, + "https://github.com/leeguandong/ComfyUI_1Prompt1Story": { + "stars": 3, + "last_update": "2025-03-13 16:11:50", + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_ChatGen": { + "stars": 2, + "last_update": "2025-03-13 16:24:46", + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_Cogview4": { + "stars": 1, + "last_update": "2025-03-13 15:58:44", + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_CompareModelWeights": { "stars": 3, "last_update": "2025-01-09 02:43:41", - "author_account_age_days": 2993 + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_CrossImageAttention": { - "stars": 4, + "stars": 3, "last_update": "2024-08-16 11:59:42", - "author_account_age_days": 2993 + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_DeepSeekVL2": { + "stars": 0, + "last_update": "2025-03-13 16:32:16", + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_FluxAttentionMask": { + "stars": 3, + "last_update": "2025-03-15 07:37:50", + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_FluxClipWeight": { + "stars": 2, + "last_update": "2025-03-02 07:32:55", + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_FluxCustomId": { - "stars": 6, + "stars": 7, "last_update": "2025-01-06 01:12:44", - "author_account_age_days": 2993 + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse": { + "stars": 9, + "last_update": "2025-03-17 01:07:01", + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_Gemma3": { + "stars": 2, + "last_update": "2025-03-16 05:19:06", + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_InternVL2": { - "stars": 14, + "stars": 13, "last_update": "2024-08-10 11:00:11", - "author_account_age_days": 2993 + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_LLaSM": { "stars": 4, "last_update": "2024-08-10 10:58:17", - "author_account_age_days": 2993 + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_M3Net": { - "stars": 10, + "stars": 9, "last_update": "2024-08-16 00:03:21", - "author_account_age_days": 2993 + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_MasaCtrl": { - "stars": 4, + "stars": 3, "last_update": "2024-09-01 03:47:35", - "author_account_age_days": 2993 + "author_account_age_days": 3064 + }, + "https://github.com/leeguandong/ComfyUI_QWQ32B": { + "stars": 2, + "last_update": "2025-03-15 17:19:23", + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_Style_Aligned": { - "stars": 4, + "stars": 3, "last_update": "2024-08-16 11:59:33", - "author_account_age_days": 2993 + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_VideoEditing": { - "stars": 3, + "stars": 2, "last_update": "2024-08-14 16:59:49", - "author_account_age_days": 2993 + "author_account_age_days": 3064 }, "https://github.com/leeguandong/ComfyUI_VisualAttentionMap": { - "stars": 8, + "stars": 7, "last_update": "2024-08-26 05:15:14", - "author_account_age_days": 2993 + "author_account_age_days": 3064 }, "https://github.com/leestuartx/ComfyUI-GG": { - "stars": 3, - "last_update": "2024-07-23 04:13:09", - "author_account_age_days": 3978 + "stars": 2, + "last_update": "2025-03-10 16:26:37", + "author_account_age_days": 4049 }, "https://github.com/lenskikh/ComfyUI-Prompt-Worker": { - "stars": 9, + "stars": 10, "last_update": "2025-01-08 04:10:35", - "author_account_age_days": 3695 + "author_account_age_days": 3767 }, "https://github.com/leoleelxh/ComfyUI-LLMs": { - "stars": 32, + "stars": 41, "last_update": "2024-12-11 05:09:29", - "author_account_age_days": 4274 + "author_account_age_days": 4345 }, "https://github.com/lgldlk/ComfyUI-PC-ding-dong": { - "stars": 45, + "stars": 65, "last_update": "2024-12-27 03:25:38", - "author_account_age_days": 1889 + "author_account_age_days": 1960 + }, + "https://github.com/lgldlk/ComfyUI-PSD-Replace": { + "stars": 1, + "last_update": "2025-03-15 07:03:24", + "author_account_age_days": 1960 }, "https://github.com/liangt/comfyui-loadimagewithsubfolder": { - "stars": 3, + "stars": 2, "last_update": "2024-07-28 08:23:11", - "author_account_age_days": 4257 + "author_account_age_days": 4329 }, "https://github.com/licyk/ComfyUI-HakuImg": { - "stars": 6, - "last_update": "2024-12-31 14:25:36", - "author_account_age_days": 1467 + "stars": 7, + "last_update": "2025-03-17 10:55:54", + "author_account_age_days": 1538 }, "https://github.com/licyk/ComfyUI-Restart-Sampler": { "stars": 9, - "last_update": "2024-10-23 10:13:08", - "author_account_age_days": 1467 + "last_update": "2025-02-24 04:53:52", + "author_account_age_days": 1538 }, "https://github.com/licyk/ComfyUI-TCD-Sampler": { "stars": 3, "last_update": "2024-12-24 05:33:45", - "author_account_age_days": 1467 + "author_account_age_days": 1538 }, "https://github.com/lilly1987/ComfyUI_node_Lilly": { "stars": 54, "last_update": "2024-12-21 01:50:03", - "author_account_age_days": 3109 + "author_account_age_days": 3180 + }, + "https://github.com/lingha0h/comfyui_kj": { + "stars": 4, + "last_update": "2025-03-20 13:24:29", + "author_account_age_days": 44 }, "https://github.com/linshier/comfyui-remote-tools": { - "stars": 2, + "stars": 4, "last_update": "2024-05-28 07:44:23", - "author_account_age_days": 3991 + "author_account_age_days": 4062 }, "https://github.com/liuqianhonga/ComfyUI-Html2Image": { - "stars": 9, - "last_update": "2025-01-06 01:47:59", - "author_account_age_days": 386 + "stars": 8, + "last_update": "2025-02-04 06:31:40", + "author_account_age_days": 457 }, "https://github.com/liuqianhonga/ComfyUI-Image-Compressor": { - "stars": 9, - "last_update": "2024-12-21 11:56:05", - "author_account_age_days": 386 + "stars": 14, + "last_update": "2025-01-23 15:56:23", + "author_account_age_days": 457 + }, + "https://github.com/liuqianhonga/ComfyUI-QHNodes": { + "stars": 2, + "last_update": "2025-03-15 09:48:37", + "author_account_age_days": 457 }, "https://github.com/liuqianhonga/ComfyUI-String-Helper": { - "stars": 2, - "last_update": "2025-01-02 07:23:01", - "author_account_age_days": 386 + "stars": 4, + "last_update": "2025-02-05 14:56:11", + "author_account_age_days": 457 }, "https://github.com/liushuchun/ComfyUI_Lora_List_With_Url_Loader": { "stars": 2, "last_update": "2024-09-26 12:38:32", - "author_account_age_days": 4246 + "author_account_age_days": 4317 }, "https://github.com/liusida/ComfyUI-AutoCropFaces": { - "stars": 66, + "stars": 75, "last_update": "2024-08-12 17:38:17", - "author_account_age_days": 3407 + "author_account_age_days": 3478 }, "https://github.com/liusida/ComfyUI-B-LoRA": { - "stars": 69, + "stars": 73, "last_update": "2024-06-18 03:17:46", - "author_account_age_days": 3407 + "author_account_age_days": 3478 }, "https://github.com/liusida/ComfyUI-Debug": { - "stars": 9, + "stars": 11, "last_update": "2024-06-14 10:25:26", - "author_account_age_days": 3407 + "author_account_age_days": 3478 }, "https://github.com/liusida/ComfyUI-Login": { - "stars": 108, + "stars": 142, "last_update": "2024-11-15 01:35:25", - "author_account_age_days": 3407 + "author_account_age_days": 3478 }, "https://github.com/liusida/ComfyUI-SD3-nodes": { "stars": 5, "last_update": "2024-06-14 13:01:41", - "author_account_age_days": 3407 + "author_account_age_days": 3478 }, "https://github.com/ljleb/comfy-mecha": { - "stars": 58, - "last_update": "2025-01-07 15:41:48", - "author_account_age_days": 2662 + "stars": 68, + "last_update": "2025-03-01 22:31:24", + "author_account_age_days": 2734 }, "https://github.com/lks-ai/ComfyUI-StableAudioSampler": { - "stars": 230, + "stars": 246, "last_update": "2025-01-07 08:33:57", - "author_account_age_days": 298 + "author_account_age_days": 370 }, "https://github.com/lks-ai/anynode": { - "stars": 514, + "stars": 519, "last_update": "2024-07-07 03:45:48", - "author_account_age_days": 298 + "author_account_age_days": 370 + }, + "https://github.com/lldacing/ComfyUI_BEN_ll": { + "stars": 4, + "last_update": "2025-02-05 09:20:08", + "author_account_age_days": 2363 }, "https://github.com/lldacing/ComfyUI_BiRefNet_ll": { - "stars": 112, - "last_update": "2025-01-07 02:36:44", - "author_account_age_days": 2292 + "stars": 178, + "last_update": "2025-02-09 14:12:58", + "author_account_age_days": 2363 + }, + "https://github.com/lldacing/ComfyUI_Patches_ll": { + "stars": 79, + "last_update": "2025-03-10 06:32:02", + "author_account_age_days": 2363 + }, + "https://github.com/lldacing/ComfyUI_PuLID_Flux_ll": { + "stars": 253, + "last_update": "2025-02-19 08:38:19", + "author_account_age_days": 2363 }, "https://github.com/lldacing/ComfyUI_StableDelight_ll": { - "stars": 8, + "stars": 7, "last_update": "2024-11-29 11:37:27", - "author_account_age_days": 2292 + "author_account_age_days": 2363 }, "https://github.com/lldacing/ComfyUI_StableHair_ll": { - "stars": 44, + "stars": 55, "last_update": "2024-12-01 11:57:50", - "author_account_age_days": 2292 + "author_account_age_days": 2363 }, "https://github.com/lldacing/comfyui-easyapi-nodes": { - "stars": 56, - "last_update": "2024-12-21 02:44:42", - "author_account_age_days": 2292 + "stars": 66, + "last_update": "2025-03-05 09:08:41", + "author_account_age_days": 2363 }, "https://github.com/lo-th/Comfyui_three_js": { - "stars": 12, + "stars": 19, "last_update": "2024-12-09 22:37:22", - "author_account_age_days": 4678 + "author_account_age_days": 4750 }, "https://github.com/lodestone-rock/ComfyUI_FluxMod": { - "stars": 28, - "last_update": "2025-01-06 02:33:33", - "author_account_age_days": 782 + "stars": 57, + "last_update": "2025-03-20 00:54:46", + "author_account_age_days": 854 }, "https://github.com/logtd/ComfyUI-4DHumans": { "stars": 5, "last_update": "2024-08-30 21:12:55", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-APGScaling": { - "stars": 30, + "stars": 29, "last_update": "2024-10-06 20:51:27", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-DiLightNet": { - "stars": 10, + "stars": 9, "last_update": "2024-10-06 03:48:15", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-FLATTEN": { "stars": 107, "last_update": "2024-08-30 21:18:55", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-Fluxtapoz": { - "stars": 984, + "stars": 1183, "last_update": "2025-01-09 02:38:40", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-InstanceDiffusion": { - "stars": 173, + "stars": 176, "last_update": "2024-08-30 21:17:51", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-InversedNoise": { - "stars": 11, + "stars": 14, "last_update": "2024-05-22 00:10:18", - "author_account_age_days": 321 - }, - "https://github.com/logtd/ComfyUI-LTXTricks": { - "stars": 399, - "last_update": "2024-12-21 06:04:48", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-MochiEdit": { - "stars": 273, + "stars": 288, "last_update": "2024-11-03 18:38:16", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-MotionThiefExperiment": { - "stars": 40, + "stars": 39, "last_update": "2024-08-30 21:19:48", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-RAVE_ATTN": { - "stars": 14, + "stars": 13, "last_update": "2024-05-22 00:20:03", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-ReNoise": { "stars": 6, "last_update": "2024-09-01 22:17:49", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-RefSampling": { - "stars": 6, + "stars": 5, "last_update": "2024-09-11 20:56:01", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-RefUNet": { - "stars": 42, + "stars": 43, "last_update": "2024-08-30 21:20:20", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-SEGAttention": { - "stars": 34, + "stars": 33, "last_update": "2024-09-11 20:55:00", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-SSREncoder": { - "stars": 2, + "stars": 1, "last_update": "2024-08-24 23:33:09", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-SeeCoder": { - "stars": 1, + "stars": 0, "last_update": "2024-08-24 23:31:10", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-TrackingNodes": { "stars": 18, "last_update": "2024-05-22 00:03:27", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/logtd/ComfyUI-ViewCrafter": { - "stars": 10, + "stars": 12, "last_update": "2024-09-30 19:32:41", - "author_account_age_days": 321 + "author_account_age_days": 392 }, "https://github.com/longgui0318/comfyui-common-util": { - "stars": 2, - "last_update": "2024-11-28 20:55:56", - "author_account_age_days": 4364 + "stars": 1, + "last_update": "2025-02-02 05:42:25", + "author_account_age_days": 4435 }, "https://github.com/longgui0318/comfyui-llm-assistant": { - "stars": 8, + "stars": 7, "last_update": "2024-09-17 13:12:43", - "author_account_age_days": 4364 + "author_account_age_days": 4435 }, "https://github.com/longgui0318/comfyui-magic-clothing": { - "stars": 75, + "stars": 74, "last_update": "2024-08-08 14:42:04", - "author_account_age_days": 4364 + "author_account_age_days": 4435 }, "https://github.com/longgui0318/comfyui-mask-util": { "stars": 7, "last_update": "2024-06-30 03:43:58", - "author_account_age_days": 4364 + "author_account_age_days": 4435 }, "https://github.com/lordgasmic/comfyui_save_image_with_options": { "stars": 0, "last_update": "2024-06-20 16:39:23", - "author_account_age_days": 4966 + "author_account_age_days": 5037 }, "https://github.com/lordgasmic/comfyui_wildcards": { - "stars": 6, + "stars": 8, "last_update": "2024-06-20 16:52:14", - "author_account_age_days": 4966 + "author_account_age_days": 5037 }, "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": { - "stars": 455, - "last_update": "2024-11-30 07:01:55", - "author_account_age_days": 4250 + "stars": 561, + "last_update": "2025-03-15 08:49:39", + "author_account_age_days": 4321 }, "https://github.com/lquesada/ComfyUI-Interactive": { - "stars": 31, + "stars": 34, "last_update": "2024-11-23 07:25:20", - "author_account_age_days": 4250 + "author_account_age_days": 4321 }, "https://github.com/lquesada/ComfyUI-Prompt-Combinator": { "stars": 32, "last_update": "2024-08-14 20:12:51", - "author_account_age_days": 4250 + "author_account_age_days": 4321 }, "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": { - "stars": 143, + "stars": 195, "last_update": "2024-12-25 07:12:24", - "author_account_age_days": 3862 + "author_account_age_days": 3933 }, "https://github.com/lrzjason/Comfyui-Kolors-Utils": { - "stars": 17, - "last_update": "2024-07-26 11:12:25", - "author_account_age_days": 3862 + "stars": 16, + "last_update": "2025-03-12 08:23:47", + "author_account_age_days": 3933 + }, + "https://github.com/lrzjason/Comfyui-ThinkRemover": { + "stars": 4, + "last_update": "2025-02-07 10:57:50", + "author_account_age_days": 3933 }, "https://github.com/ltdrdata/ComfyUI-Impact-Pack": { - "stars": 2045, - "last_update": "2025-01-06 13:59:38", - "author_account_age_days": 661 + "stars": 2240, + "last_update": "2025-03-21 10:06:25", + "author_account_age_days": 733 }, "https://github.com/ltdrdata/ComfyUI-Impact-Subpack": { - "stars": 94, - "last_update": "2025-01-03 18:27:59", - "author_account_age_days": 661 + "stars": 147, + "last_update": "2025-01-26 09:54:24", + "author_account_age_days": 733 }, "https://github.com/ltdrdata/ComfyUI-Inspire-Pack": { - "stars": 474, - "last_update": "2025-01-04 01:09:37", - "author_account_age_days": 661 + "stars": 533, + "last_update": "2025-03-02 15:48:57", + "author_account_age_days": 733 }, "https://github.com/ltdrdata/ComfyUI-Manager": { - "stars": 7822, - "last_update": "2025-01-09 13:47:27", - "author_account_age_days": 661 + "stars": 9352, + "last_update": "2025-03-19 13:19:13", + "author_account_age_days": 733 + }, + "https://github.com/ltdrdata/comfyui-connection-helper": { + "stars": 15, + "last_update": "2025-01-28 17:20:47", + "author_account_age_days": 733 + }, + "https://github.com/lthero-big/ComfyUI-GaussianShadingWatermark": { + "stars": 4, + "last_update": "2025-03-02 02:29:09", + "author_account_age_days": 1664 }, "https://github.com/luandev/ComfyUI-CrewAI": { - "stars": 34, - "last_update": "2024-08-01 18:44:41", - "author_account_age_days": 4006 + "stars": 46, + "last_update": "2025-01-17 18:06:27", + "author_account_age_days": 4078 }, "https://github.com/lucafoscili/comfyui-lf": { - "stars": 45, - "last_update": "2024-12-10 18:46:04", - "author_account_age_days": 2233 + "stars": 50, + "last_update": "2025-02-21 20:46:05", + "author_account_age_days": 2305 }, "https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper": { - "stars": 48, + "stars": 81, "last_update": "2024-12-02 22:10:41", - "author_account_age_days": 1636 + "author_account_age_days": 1707 + }, + "https://github.com/lum3on/comfyui_LLM_Polymath": { + "stars": 50, + "last_update": "2025-03-19 14:10:19", + "author_account_age_days": 45 }, "https://github.com/lumalabs/ComfyUI-LumaAI-API": { "stars": 192, - "last_update": "2024-12-10 02:29:05", - "author_account_age_days": 1310 + "last_update": "2025-02-14 18:50:19", + "author_account_age_days": 1381 + }, + "https://github.com/lunarring/bitalino_comfy": { + "stars": 0, + "last_update": "2025-02-21 09:03:54", + "author_account_age_days": 1513 }, "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": { - "stars": 1, - "last_update": "2024-05-22 20:36:07", - "author_account_age_days": 514 + "stars": 2, + "last_update": "2025-01-26 18:02:13", + "author_account_age_days": 586 }, "https://github.com/madtunebk/ComfyUI-ControlnetAux": { - "stars": 13, + "stars": 14, "last_update": "2024-06-28 16:16:51", - "author_account_age_days": 660 + "author_account_age_days": 731 }, "https://github.com/maepopi/Diffusers-in-ComfyUI": { "stars": 6, "last_update": "2024-12-07 17:27:17", - "author_account_age_days": 2557 + "author_account_age_days": 2628 + }, + "https://github.com/magekinnarus/ComfyUI-V-Prediction-Node": { + "stars": 1, + "last_update": "2025-02-04 08:29:24", + "author_account_age_days": 903 }, "https://github.com/magic-quill/ComfyUI_MagicQuill": { - "stars": 82, + "stars": 105, "last_update": "2024-12-16 04:15:45", - "author_account_age_days": 119 + "author_account_age_days": 190 }, "https://github.com/maludwig/basix_image_filters": { - "stars": 2, + "stars": 1, "last_update": "2024-11-06 20:38:07", - "author_account_age_days": 3705 + "author_account_age_days": 3777 + }, + "https://github.com/mang01010/MangoNodePack": { + "stars": 2, + "last_update": "2025-03-10 22:20:32", + "author_account_age_days": 21 + }, + "https://github.com/mango-rgb/ComfyUI-Mango-Random-node": { + "stars": 1, + "last_update": "2025-01-21 11:31:10", + "author_account_age_days": 674 }, "https://github.com/mape/ComfyUI-mape-Helpers": { - "stars": 172, + "stars": 175, "last_update": "2024-06-27 16:30:32", - "author_account_age_days": 5953 + "author_account_age_days": 6025 }, "https://github.com/maracman/ComfyUI-SubjectStyle-CSV": { "stars": 4, "last_update": "2024-06-24 13:53:39", - "author_account_age_days": 1366 + "author_account_age_days": 1437 + }, + "https://github.com/marawan206/ComfyUI-FaceCropper": { + "stars": 10, + "last_update": "2025-03-07 01:44:44", + "author_account_age_days": 440 }, "https://github.com/marcoc2/ComfyUI-AnotherUtils": { - "stars": 1, + "stars": 0, "last_update": "2024-12-20 04:34:13", - "author_account_age_days": 5383 + "author_account_age_days": 5454 + }, + "https://github.com/marcoc2/ComfyUI_CogView4-6B_diffusers": { + "stars": 2, + "last_update": "2025-03-04 17:43:50", + "author_account_age_days": 5454 }, "https://github.com/marduk191/ComfyUI-Fluxpromptenhancer": { - "stars": 68, + "stars": 84, "last_update": "2024-11-01 22:09:01", - "author_account_age_days": 4614 + "author_account_age_days": 4685 }, "https://github.com/marduk191/comfyui-marnodes": { - "stars": 4, + "stars": 3, "last_update": "2024-09-11 06:05:49", - "author_account_age_days": 4614 + "author_account_age_days": 4685 }, "https://github.com/marhensa/sdxl-recommended-res-calc": { - "stars": 79, - "last_update": "2024-07-07 09:20:15", - "author_account_age_days": 4974 + "stars": 81, + "last_update": "2025-02-01 08:41:01", + "author_account_age_days": 5045 }, "https://github.com/markuryy/ComfyUI-Flux-Prompt-Saver": { - "stars": 10, + "stars": 11, "last_update": "2024-10-30 10:25:15", - "author_account_age_days": 3077 + "author_account_age_days": 3148 + }, + "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot": { + "stars": 2, + "last_update": "2025-03-12 18:18:54", + "author_account_age_days": 3148 + }, + "https://github.com/markuryy/ComfyUI-SuperLoader": { + "stars": 0, + "last_update": "2025-03-12 18:23:22", + "author_account_age_days": 3148 }, "https://github.com/martijnat/comfyui-previewlatent": { - "stars": 32, + "stars": 35, "last_update": "2024-05-22 21:28:39", - "author_account_age_days": 3030 + "author_account_age_days": 3102 + }, + "https://github.com/martin-rizzo/ComfyUI-TinyBreaker": { + "stars": 28, + "last_update": "2025-03-22 00:57:20", + "author_account_age_days": 1868 }, "https://github.com/massao000/ComfyUI_aspect_ratios": { "stars": 10, "last_update": "2024-05-22 22:23:10", - "author_account_age_days": 1606 + "author_account_age_days": 1677 }, "https://github.com/matan1905/ComfyUI-Serving-Toolkit": { - "stars": 61, + "stars": 62, "last_update": "2024-10-17 18:59:44", - "author_account_age_days": 2939 + "author_account_age_days": 3010 }, "https://github.com/mattjohnpowell/comfyui-lmstudio-image-to-text-node": { - "stars": 6, + "stars": 11, "last_update": "2024-08-28 09:50:09", - "author_account_age_days": 4749 + "author_account_age_days": 4820 }, "https://github.com/mav-rik/facerestore_cf": { - "stars": 234, + "stars": 261, "last_update": "2024-05-22 20:53:23", - "author_account_age_days": 3119 + "author_account_age_days": 3191 }, "https://github.com/mbrostami/ComfyUI-HF": { - "stars": 18, + "stars": 19, "last_update": "2024-05-27 21:45:33", - "author_account_age_days": 4521 + "author_account_age_days": 4592 }, "https://github.com/mbrostami/ComfyUI-TITrain": { "stars": 8, - "last_update": "2024-08-14 02:19:27", - "author_account_age_days": 4521 + "last_update": "2025-03-14 17:39:11", + "author_account_age_days": 4592 }, "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding": { - "stars": 1160, - "last_update": "2024-08-10 12:59:59", - "author_account_age_days": 2301 + "stars": 1186, + "last_update": "2025-03-14 09:33:32", + "author_account_age_days": 2372 + }, + "https://github.com/meanin2/comfyui-MGnodes": { + "stars": 2, + "last_update": "2025-01-24 07:32:08", + "author_account_age_days": 925 + }, + "https://github.com/meanin2/comfyui-watermarking": { + "stars": 2, + "last_update": "2025-01-24 07:32:08", + "author_account_age_days": 925 }, "https://github.com/meap158/ComfyUI-Background-Replacement": { - "stars": 56, + "stars": 59, "last_update": "2025-01-06 23:45:28", - "author_account_age_days": 3402 + "author_account_age_days": 3473 }, "https://github.com/meap158/ComfyUI-GPU-temperature-protection": { "stars": 3, "last_update": "2024-05-22 20:43:21", - "author_account_age_days": 3402 + "author_account_age_days": 3473 }, "https://github.com/meap158/ComfyUI-Prompt-Expansion": { "stars": 73, "last_update": "2024-05-22 20:43:37", - "author_account_age_days": 3402 + "author_account_age_days": 3473 }, "https://github.com/mech-tools/comfyui-checkpoint-automatic-config": { - "stars": 4, + "stars": 3, "last_update": "2024-09-05 14:23:29", - "author_account_age_days": 4639 + "author_account_age_days": 4710 + }, + "https://github.com/mediocreatmybest/ComfyUI-Transformers-Pipeline": { + "stars": 4, + "last_update": "2025-02-24 15:11:36", + "author_account_age_days": 1472 }, "https://github.com/melMass/comfy_mtb": { - "stars": 490, - "last_update": "2025-01-09 14:04:19", - "author_account_age_days": 3944 + "stars": 529, + "last_update": "2025-03-10 11:15:24", + "author_account_age_days": 4016 + }, + "https://github.com/melMass/comfy_oiio": { + "stars": 3, + "last_update": "2025-02-08 13:17:22", + "author_account_age_days": 4016 }, "https://github.com/mephisto83/petty-paint-comfyui-node": { "stars": 3, "last_update": "2024-10-23 22:23:03", - "author_account_age_days": 3871 + "author_account_age_days": 3943 }, "https://github.com/meshmesh-io/ComfyUI-MeshMesh": { "stars": 0, "last_update": "2024-05-23 00:10:09", - "author_account_age_days": 427 + "author_account_age_days": 499 }, "https://github.com/meshmesh-io/mm-comfyui-loopback": { "stars": 1, "last_update": "2024-05-23 00:09:57", - "author_account_age_days": 427 + "author_account_age_days": 499 }, "https://github.com/meshmesh-io/mm-comfyui-megamask": { "stars": 0, "last_update": "2024-05-23 00:09:47", - "author_account_age_days": 427 + "author_account_age_days": 499 }, "https://github.com/metal3d/ComfyUI_Human_Parts": { - "stars": 22, - "last_update": "2024-09-13 05:15:40", - "author_account_age_days": 5672 + "stars": 26, + "last_update": "2025-03-07 08:14:46", + "author_account_age_days": 5744 + }, + "https://github.com/metal3d/ComfyUI_M3D_photo_effects": { + "stars": 3, + "last_update": "2025-03-11 12:09:55", + "author_account_age_days": 5744 }, "https://github.com/metncelik/comfyui_met_suite": { - "stars": 1, + "stars": 2, "last_update": "2024-07-07 13:40:26", - "author_account_age_days": 822 + "author_account_age_days": 893 }, "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext": { "stars": 2, - "last_update": "2024-11-29 13:12:52", - "author_account_age_days": 2516 + "last_update": "2025-02-23 20:16:11", + "author_account_age_days": 2588 }, "https://github.com/mgfxer/ComfyUI-FrameFX": { "stars": 23, "last_update": "2024-07-20 13:58:46", - "author_account_age_days": 201 + "author_account_age_days": 272 }, "https://github.com/miaoshouai/ComfyUI-Miaoshouai-Tagger": { - "stars": 318, - "last_update": "2024-11-05 00:07:48", - "author_account_age_days": 667 + "stars": 363, + "last_update": "2025-02-14 01:54:10", + "author_account_age_days": 738 }, "https://github.com/microbote/ComfyUI-StyledCLIPTextEncode": { "stars": 2, "last_update": "2024-08-27 03:37:29", - "author_account_age_days": 2207 + "author_account_age_days": 2278 }, "https://github.com/mihaiiancu/ComfyUI_Inpaint": { "stars": 9, "last_update": "2024-05-22 18:19:38", - "author_account_age_days": 2860 + "author_account_age_days": 2932 }, "https://github.com/mikebilly/Transparent-background-comfyUI": { - "stars": 1, - "last_update": "2024-07-17 15:59:31", - "author_account_age_days": 2763 + "stars": 2, + "last_update": "2025-01-29 16:29:23", + "author_account_age_days": 2834 }, "https://github.com/mikkel/ComfyUI-text-overlay": { - "stars": 53, + "stars": 55, "last_update": "2024-08-17 16:09:41", - "author_account_age_days": 6115 + "author_account_age_days": 6187 }, "https://github.com/mikkel/comfyui-mask-boundingbox": { "stars": 28, "last_update": "2024-05-22 21:26:23", - "author_account_age_days": 6115 + "author_account_age_days": 6187 }, "https://github.com/mingsky-ai/ComfyUI-MingNodes": { - "stars": 232, + "stars": 315, "last_update": "2024-10-18 16:51:14", - "author_account_age_days": 120 + "author_account_age_days": 191 }, "https://github.com/mira-6/comfyui-sasolver": { - "stars": 2, - "last_update": "2025-01-09 04:21:01", - "author_account_age_days": 591 + "stars": 3, + "last_update": "2025-02-23 21:44:23", + "author_account_age_days": 663 }, "https://github.com/mirabarukaso/ComfyUI_Mira": { - "stars": 62, - "last_update": "2024-12-28 09:33:14", - "author_account_age_days": 1419 + "stars": 91, + "last_update": "2025-03-17 06:23:24", + "author_account_age_days": 1491 }, "https://github.com/misterjoessef/MLTask_ComfyUI": { - "stars": 1, + "stars": 0, "last_update": "2024-08-17 16:45:24", - "author_account_age_days": 937 + "author_account_age_days": 1008 }, - "https://github.com/mithamunda/ComfyUI-SD3.5-Latent-Size-Picker": { - "stars": 1, - "last_update": "2024-12-25 14:09:38", - "author_account_age_days": 170 - }, - "https://github.com/mithamunda/ComfyUI-TogetherVision": { - "stars": 1, - "last_update": "2025-01-02 09:11:02", - "author_account_age_days": 170 - }, - "https://github.com/mithamunda/ComfyUI-ollama_killer": { - "stars": 2, - "last_update": "2024-12-25 13:10:30", - "author_account_age_days": 170 + "https://github.com/mit-han-lab/ComfyUI-nunchaku": { + "stars": 58, + "last_update": "2025-03-20 14:46:34", + "author_account_age_days": 2494 }, "https://github.com/mittimi/ComfyUI_mittimiLoadPreset2": { "stars": 3, "last_update": "2024-11-02 15:01:29", - "author_account_age_days": 4209 + "author_account_age_days": 4280 }, "https://github.com/mittimi/ComfyUI_mittimiRecalculateSize": { - "stars": 1, + "stars": 0, "last_update": "2024-09-07 07:43:41", - "author_account_age_days": 4209 + "author_account_age_days": 4280 }, "https://github.com/mittimi/ComfyUI_mittimiWidthHeight": { - "stars": 2, + "stars": 1, "last_update": "2024-09-07 07:48:03", - "author_account_age_days": 4209 + "author_account_age_days": 4280 }, "https://github.com/modelscope/comfyscope": { - "stars": 4, + "stars": 3, "last_update": "2024-11-20 08:48:36", - "author_account_age_days": 899 + "author_account_age_days": 970 }, "https://github.com/modelscope/scepter": { - "stars": 448, - "last_update": "2024-12-07 16:31:54", - "author_account_age_days": 899 + "stars": 491, + "last_update": "2025-02-17 03:27:48", + "author_account_age_days": 970 }, "https://github.com/modusCell/ComfyUI-dimension-node-modusCell": { "stars": 1, "last_update": "2024-05-22 22:08:50", - "author_account_age_days": 4803 + "author_account_age_days": 4874 + }, + "https://github.com/mohseni-mr/ComfyUI-Mohseni-Kit": { + "stars": 0, + "last_update": "2025-02-17 07:14:46", + "author_account_age_days": 985 + }, + "https://github.com/moon7star9/ComfyUI_BiRefNet_Universal": { + "stars": 16, + "last_update": "2025-02-26 03:01:29", + "author_account_age_days": 678 + }, + "https://github.com/moose-lab/ComfyUI-GPT": { + "stars": 0, + "last_update": "2025-03-07 09:05:17", + "author_account_age_days": 56 + }, + "https://github.com/morgan55555/comfyui-lock-mode": { + "stars": 0, + "last_update": "2025-03-20 10:43:40", + "author_account_age_days": 3455 }, "https://github.com/morino-kumasan/comfyui-toml-prompt": { - "stars": 1, + "stars": 0, "last_update": "2024-12-07 11:19:40", - "author_account_age_days": 1522 + "author_account_age_days": 1594 }, "https://github.com/motivated3/comfyui-shua-creator": { - "stars": 7, + "stars": 6, "last_update": "2024-12-05 10:39:52", - "author_account_age_days": 3005 + "author_account_age_days": 3076 }, "https://github.com/moustafa-nasr/ComfyUI-SimpleLogger": { - "stars": 2, + "stars": 1, "last_update": "2024-10-24 13:44:41", - "author_account_age_days": 3670 + "author_account_age_days": 3741 }, "https://github.com/moyi7712/ComfyUI_Seamless_Patten": { "stars": 16, - "last_update": "2024-08-06 15:37:47", - "author_account_age_days": 2500 + "last_update": "2025-03-19 10:35:44", + "author_account_age_days": 2571 }, "https://github.com/mozman/ComfyUI_mozman_nodes": { "stars": 0, "last_update": "2024-05-22 22:13:32", - "author_account_age_days": 4279 + "author_account_age_days": 4350 + }, + "https://github.com/mr7thing/circle_pattern_processor": { + "stars": 0, + "last_update": "2025-03-02 19:24:26", + "author_account_age_days": 407 }, "https://github.com/mrchipset/ComfyUI-SaveImageS3": { - "stars": 1, + "stars": 0, "last_update": "2024-12-28 05:34:06", - "author_account_age_days": 2510 + "author_account_age_days": 2581 }, "https://github.com/mrhan1993/ComfyUI-Fooocus": { - "stars": 5, - "last_update": "2025-01-05 09:19:59", - "author_account_age_days": 2066 + "stars": 4, + "last_update": "2025-01-15 15:18:07", + "author_account_age_days": 2137 }, "https://github.com/muhammederem/blip-comfyui": { "stars": 1, - "last_update": "2024-12-10 15:55:58", - "author_account_age_days": 2294 + "last_update": "2025-01-13 21:11:12", + "author_account_age_days": 2365 }, "https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": { "stars": 0, "last_update": "2024-07-15 14:13:58", - "author_account_age_days": 4137 + "author_account_age_days": 4208 }, "https://github.com/muxueChen/ComfyUI_NTCosyVoice": { - "stars": 20, - "last_update": "2025-01-04 02:48:08", - "author_account_age_days": 3160 + "stars": 116, + "last_update": "2025-02-11 06:04:07", + "author_account_age_days": 3231 }, "https://github.com/muzi12888/ComfyUI-PoseKeypoint-Mask": { - "stars": 7, - "last_update": "2024-07-31 13:49:27", - "author_account_age_days": 3145 + "stars": 9, + "last_update": "2025-03-15 00:23:20", + "author_account_age_days": 3216 }, "https://github.com/my-opencode/ComfyUI_IndustrialMagick": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 14:04:26", - "author_account_age_days": 1579 + "author_account_age_days": 1650 }, "https://github.com/my-opencode/ComfyUI_KSamplerTimer": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 14:13:17", - "author_account_age_days": 1579 + "author_account_age_days": 1650 }, "https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin": { - "stars": 7, - "last_update": "2024-12-30 06:55:30", - "author_account_age_days": 668 + "stars": 16, + "last_update": "2025-03-12 12:35:24", + "author_account_age_days": 739 }, "https://github.com/nagolinc/ComfyUI_FastVAEDecorder_SDXL": { "stars": 3, "last_update": "2024-07-19 14:46:14", - "author_account_age_days": 3873 + "author_account_age_days": 3944 }, "https://github.com/nagolinc/comfyui_openai_node": { "stars": 1, "last_update": "2024-06-15 15:59:07", - "author_account_age_days": 3873 + "author_account_age_days": 3944 }, "https://github.com/nat-chan/ComfyUI-graphToPrompt": { "stars": 2, "last_update": "2024-05-23 01:16:40", - "author_account_age_days": 3192 + "author_account_age_days": 3263 }, "https://github.com/nat-chan/comfyui-transceiver": { "stars": 5, "last_update": "2024-05-23 01:16:28", - "author_account_age_days": 3192 + "author_account_age_days": 3263 }, "https://github.com/nathannlu/ComfyUI-Cloud": { - "stars": 190, + "stars": 197, "last_update": "2024-07-31 18:05:55", - "author_account_age_days": 2924 + "author_account_age_days": 2996 }, "https://github.com/nathannlu/ComfyUI-Pets": { - "stars": 45, + "stars": 48, "last_update": "2024-06-14 11:00:42", - "author_account_age_days": 2924 + "author_account_age_days": 2996 }, "https://github.com/natto-maki/ComfyUI-NegiTools": { - "stars": 30, + "stars": 29, "last_update": "2024-09-15 05:11:18", - "author_account_age_days": 477 + "author_account_age_days": 548 }, "https://github.com/nchenevey1/comfyui-gimp-nodes": { - "stars": 8, + "stars": 9, "last_update": "2024-10-26 09:11:34", - "author_account_age_days": 848 + "author_account_age_days": 920 }, "https://github.com/neph1/comfyui-smooth-step-lora-loader": { - "stars": 7, + "stars": 6, "last_update": "2024-12-25 18:40:01", - "author_account_age_days": 3850 + "author_account_age_days": 3922 }, "https://github.com/neverbiasu/ComfyUI-Dashscope": { "stars": 1, - "last_update": "2024-12-28 10:11:48", - "author_account_age_days": 1218 + "last_update": "2025-02-23 08:53:55", + "author_account_age_days": 1289 }, "https://github.com/neverbiasu/ComfyUI-Image-Captioner": { - "stars": 6, + "stars": 9, "last_update": "2024-12-12 06:33:15", - "author_account_age_days": 1218 + "author_account_age_days": 1289 }, "https://github.com/neverbiasu/ComfyUI-SAM2": { - "stars": 104, - "last_update": "2025-01-02 04:13:53", - "author_account_age_days": 1218 + "stars": 139, + "last_update": "2025-03-20 13:33:30", + "author_account_age_days": 1289 }, "https://github.com/neverbiasu/ComfyUI-StyleShot": { "stars": 9, "last_update": "2024-11-24 09:40:44", - "author_account_age_days": 1218 + "author_account_age_days": 1289 + }, + "https://github.com/ngosset/ComfyUI-ImageSimilarity": { + "stars": 5, + "last_update": "2025-01-18 18:17:50", + "author_account_age_days": 4592 }, "https://github.com/nicehero/comfyui-SegGPT": { - "stars": 5, + "stars": 4, "last_update": "2024-08-26 06:05:35", - "author_account_age_days": 4208 + "author_account_age_days": 4280 }, "https://github.com/nickve28/ComfyUI-Nich-Utils": { - "stars": 9, + "stars": 8, "last_update": "2024-09-05 03:39:09", - "author_account_age_days": 4228 + "author_account_age_days": 4299 }, "https://github.com/nicofdga/DZ-FaceDetailer": { - "stars": 168, + "stars": 184, "last_update": "2024-06-17 10:00:30", - "author_account_age_days": 1430 + "author_account_age_days": 1502 }, "https://github.com/niknah/ComfyUI-F5-TTS": { - "stars": 73, - "last_update": "2024-12-09 03:31:43", - "author_account_age_days": 4919 + "stars": 146, + "last_update": "2025-03-18 10:42:01", + "author_account_age_days": 4990 + }, + "https://github.com/niknah/ComfyUI-Hunyuan-3D-2": { + "stars": 26, + "last_update": "2025-02-04 04:41:20", + "author_account_age_days": 4990 }, "https://github.com/niknah/quick-connections": { - "stars": 159, + "stars": 230, "last_update": "2024-12-15 03:01:31", - "author_account_age_days": 4919 + "author_account_age_days": 4990 }, "https://github.com/nilor-corp/nilor-nodes": { - "stars": 3, - "last_update": "2024-11-15 03:30:08", - "author_account_age_days": 414 + "stars": 2, + "last_update": "2025-02-10 04:18:43", + "author_account_age_days": 485 }, "https://github.com/ningxiaoxiao/comfyui-NDI": { - "stars": 54, + "stars": 58, "last_update": "2024-07-02 09:03:11", - "author_account_age_days": 3187 + "author_account_age_days": 3258 }, "https://github.com/nirbhay-faaya/ImgProcessing_ComfyUI": { - "stars": 1, + "stars": 0, "last_update": "2024-07-31 08:34:48", - "author_account_age_days": 534 + "author_account_age_days": 606 }, "https://github.com/nirex0/ComfyUI_pytorch_openpose": { "stars": 2, "last_update": "2024-06-14 12:01:07", - "author_account_age_days": 3702 + "author_account_age_days": 3773 + }, + "https://github.com/nisimjoseph/ComfyUI_OpenAI-Prompter": { + "stars": 4, + "last_update": "2025-01-18 19:57:31", + "author_account_age_days": 4577 + }, + "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz": { + "stars": 0, + "last_update": "2025-02-01 14:14:43", + "author_account_age_days": 430 }, "https://github.com/nkchocoai/ComfyUI-Dart": { - "stars": 24, + "stars": 25, "last_update": "2024-08-17 03:08:51", - "author_account_age_days": 359 + "author_account_age_days": 430 }, "https://github.com/nkchocoai/ComfyUI-PromptUtilities": { - "stars": 10, + "stars": 12, "last_update": "2024-10-19 14:44:42", - "author_account_age_days": 359 + "author_account_age_days": 430 }, "https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData": { - "stars": 46, + "stars": 62, "last_update": "2024-12-30 12:15:57", - "author_account_age_days": 359 + "author_account_age_days": 430 }, "https://github.com/nkchocoai/ComfyUI-SizeFromPresets": { "stars": 7, "last_update": "2024-08-17 03:08:42", - "author_account_age_days": 359 + "author_account_age_days": 430 }, "https://github.com/nkchocoai/ComfyUI-TextOnSegs": { - "stars": 11, + "stars": 10, "last_update": "2024-06-23 04:52:29", - "author_account_age_days": 359 - }, - "https://github.com/nmlen/comfyui-mosaic-blur": { - "stars": 1, - "last_update": "2025-01-07 23:16:26", - "author_account_age_days": 476 - }, - "https://github.com/noarche/sd-webui-color-enhance": { - "stars": 4, - "last_update": "2024-08-04 08:11:53", - "author_account_age_days": 1861 + "author_account_age_days": 430 }, "https://github.com/noembryo/ComfyUI-noEmbryo": { "stars": 24, - "last_update": "2024-10-24 20:22:13", - "author_account_age_days": 2942 + "last_update": "2025-02-07 10:11:32", + "author_account_age_days": 3013 + }, + "https://github.com/nofunstudio/Node_Fun_ComfyUI": { + "stars": 2, + "last_update": "2025-02-06 05:51:59", + "author_account_age_days": 1483 }, "https://github.com/nonnonstop/comfyui-faster-loading": { - "stars": 8, + "stars": 9, "last_update": "2024-06-13 15:37:45", - "author_account_age_days": 2321 + "author_account_age_days": 2392 }, "https://github.com/nosiu/comfyui-instantId-faceswap": { - "stars": 208, - "last_update": "2024-10-20 21:07:49", - "author_account_age_days": 4104 + "stars": 212, + "last_update": "2025-03-03 19:02:51", + "author_account_age_days": 4175 + }, + "https://github.com/nosiu/comfyui-text-randomizer": { + "stars": 0, + "last_update": "2025-03-03 01:40:12", + "author_account_age_days": 4175 }, "https://github.com/noxinias/ComfyUI_NoxinNodes": { "stars": 10, "last_update": "2024-05-22 21:24:24", - "author_account_age_days": 2759 + "author_account_age_days": 2831 }, "https://github.com/nsdtcloud3d/ComfyUI-3D-Convert": { - "stars": 10, + "stars": 11, "last_update": "2024-12-23 07:46:17", - "author_account_age_days": 274 + "author_account_age_days": 345 }, "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": { - "stars": 29, + "stars": 30, "last_update": "2024-05-22 22:22:14", - "author_account_age_days": 1916 + "author_account_age_days": 1988 }, "https://github.com/nuanarchy/ComfyUI-NuA-BIRD": { - "stars": 9, + "stars": 8, "last_update": "2024-06-18 05:35:49", - "author_account_age_days": 1291 + "author_account_age_days": 1362 }, "https://github.com/nuanarchy/ComfyUI-NuA-FlashFace": { - "stars": 22, + "stars": 24, "last_update": "2024-07-31 13:54:00", - "author_account_age_days": 1291 + "author_account_age_days": 1362 }, "https://github.com/nullquant/ComfyUI-BrushNet": { - "stars": 707, + "stars": 797, "last_update": "2024-11-11 16:15:51", - "author_account_age_days": 1375 + "author_account_age_days": 1447 }, "https://github.com/numz/ComfyUI-FlowChain": { - "stars": 101, - "last_update": "2024-10-19 21:20:45", - "author_account_age_days": 4982 + "stars": 114, + "last_update": "2025-03-18 18:25:56", + "author_account_age_days": 5054 }, "https://github.com/nux1111/ComfyUI_NetDist_Plus": { - "stars": 21, + "stars": 26, "last_update": "2024-08-27 23:15:18", - "author_account_age_days": 751 + "author_account_age_days": 823 }, "https://github.com/okgo4/ComfyUI-Mosaic-Mask": { "stars": 3, "last_update": "2024-08-15 01:51:13", - "author_account_age_days": 2886 + "author_account_age_days": 2957 }, "https://github.com/olduvai-jp/ComfyUI-HfLoader": { "stars": 4, - "last_update": "2024-05-23 00:14:52", - "author_account_age_days": 1075 + "last_update": "2025-02-13 17:05:40", + "author_account_age_days": 1146 }, "https://github.com/oleksandr612/ComfyUI-Counter": { - "stars": 1, + "stars": 0, "last_update": "2024-08-05 16:18:48", - "author_account_age_days": 161 + "author_account_age_days": 232 }, "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": { - "stars": 140, + "stars": 146, "last_update": "2024-09-10 14:16:30", - "author_account_age_days": 4705 + "author_account_age_days": 4777 }, "https://github.com/opvelll/ComfyUI_TextListProduct": { - "stars": 2, + "stars": 1, "last_update": "2024-10-30 16:00:09", - "author_account_age_days": 1753 + "author_account_age_days": 1825 + }, + "https://github.com/orange90/ComfyUI-Regex-Runner": { + "stars": 1, + "last_update": "2025-02-26 03:48:27", + "author_account_age_days": 4366 + }, + "https://github.com/orssorbit/ComfyUI-wanBlockswap": { + "stars": 4, + "last_update": "2025-03-19 12:56:23", + "author_account_age_days": 3299 }, "https://github.com/osi1880vr/prompt_quill_comfyui": { - "stars": 15, - "last_update": "2024-06-13 17:24:12", - "author_account_age_days": 1275 + "stars": 18, + "last_update": "2025-01-27 10:43:16", + "author_account_age_days": 1347 + }, + "https://github.com/ostris/ComfyUI-FlexTools": { + "stars": 12, + "last_update": "2025-03-14 18:14:40", + "author_account_age_days": 2673 }, "https://github.com/ostris/ostris_nodes_comfyui": { - "stars": 28, + "stars": 27, "last_update": "2024-08-20 10:40:03", - "author_account_age_days": 2601 + "author_account_age_days": 2673 }, "https://github.com/ownimage/ComfyUI-ownimage": { "stars": 0, "last_update": "2024-05-22 22:22:37", - "author_account_age_days": 2982 + "author_account_age_days": 3053 + }, + "https://github.com/oxysoft/ComfyUI-gowiththeflow": { + "stars": 3, + "last_update": "2025-01-27 18:25:22", + "author_account_age_days": 4382 }, "https://github.com/oyvindg/ComfyUI-TrollSuite": { - "stars": 2, + "stars": 3, "last_update": "2024-08-15 10:37:43", - "author_account_age_days": 2529 + "author_account_age_days": 2600 }, "https://github.com/oztrkoguz/ComfyUI_StoryCreator": { - "stars": 25, - "last_update": "2024-05-23 12:18:45", - "author_account_age_days": 1040 + "stars": 27, + "last_update": "2025-03-08 19:36:48", + "author_account_age_days": 1112 }, "https://github.com/palant/image-resize-comfyui": { - "stars": 77, + "stars": 85, "last_update": "2024-01-18 20:59:55", - "author_account_age_days": 5252 + "author_account_age_days": 5323 }, "https://github.com/palant/integrated-nodes-comfyui": { - "stars": 36, + "stars": 38, "last_update": "2023-12-27 22:52:00", - "author_account_age_days": 5252 + "author_account_age_days": 5323 }, "https://github.com/pamparamm/ComfyUI-ppm": { - "stars": 143, - "last_update": "2025-01-03 07:53:12", - "author_account_age_days": 2330 + "stars": 158, + "last_update": "2025-03-19 14:13:35", + "author_account_age_days": 2401 }, "https://github.com/pamparamm/ComfyUI-vectorscope-cc": { - "stars": 14, - "last_update": "2024-09-01 05:22:43", - "author_account_age_days": 2330 + "stars": 17, + "last_update": "2025-02-24 21:59:04", + "author_account_age_days": 2401 }, "https://github.com/pamparamm/sd-perturbed-attention": { - "stars": 230, - "last_update": "2024-11-30 06:34:59", - "author_account_age_days": 2330 + "stars": 239, + "last_update": "2025-02-23 15:39:10", + "author_account_age_days": 2401 }, "https://github.com/pandaer119/ComfyUI_pandai": { - "stars": 4, - "last_update": "2025-01-07 13:01:42", - "author_account_age_days": 205 + "stars": 12, + "last_update": "2025-02-23 08:05:11", + "author_account_age_days": 276 }, "https://github.com/pants007/comfy-pants": { "stars": 2, "last_update": "2024-05-22 18:16:04", - "author_account_age_days": 2516 + "author_account_age_days": 2587 + }, + "https://github.com/pathway8-sudo/ComfyUI-Pathway-CutPNG-Node": { + "stars": 0, + "last_update": "2025-03-03 07:47:31", + "author_account_age_days": 108 }, "https://github.com/patriciogonzalezvivo/comfyui_glslnodes": { - "stars": 188, - "last_update": "2024-08-28 08:07:53", - "author_account_age_days": 5279 + "stars": 202, + "last_update": "2025-03-17 18:30:07", + "author_account_age_days": 5350 }, "https://github.com/paulo-coronado/comfy_clip_blip_node": { "stars": 29, "last_update": "2024-05-22 17:39:09", - "author_account_age_days": 2886 + "author_account_age_days": 2957 }, "https://github.com/pbpbpb2705/ComfyUI-LyraVSIH": { - "stars": 1, + "stars": 0, "last_update": "2024-08-30 07:52:11", - "author_account_age_days": 1429 + "author_account_age_days": 1500 + }, + "https://github.com/penposs/ComfyUI_Gemini_Pro": { + "stars": 4, + "last_update": "2025-03-16 09:40:39", + "author_account_age_days": 2028 }, "https://github.com/pharmapsychotic/comfy-cliption": { - "stars": 37, + "stars": 45, "last_update": "2025-01-04 05:06:11", - "author_account_age_days": 1113 + "author_account_age_days": 1185 }, "https://github.com/phazei/ConfyUI-node-prompt-stash-saver": { - "stars": 2, - "last_update": "2024-12-28 07:07:26", - "author_account_age_days": 5207 + "stars": 3, + "last_update": "2025-02-18 02:25:44", + "author_account_age_days": 5279 + }, + "https://github.com/philiprodriguez/ComfyUI-HunyuanImageLatentToVideoLatent": { + "stars": 1, + "last_update": "2025-01-12 16:43:09", + "author_account_age_days": 3269 }, "https://github.com/philz1337x/ComfyUI-ClarityAI": { - "stars": 157, + "stars": 170, "last_update": "2024-09-25 08:48:51", - "author_account_age_days": 862 + "author_account_age_days": 934 }, "https://github.com/phineas-pta/comfyui-auto-nodes-layout": { - "stars": 41, + "stars": 42, "last_update": "2024-08-02 17:31:24", - "author_account_age_days": 2487 + "author_account_age_days": 2559 }, "https://github.com/phuvinh010701/ComfyUI-Nudenet": { - "stars": 8, - "last_update": "2025-01-06 11:49:33", - "author_account_age_days": 1873 + "stars": 10, + "last_update": "2025-02-25 03:38:35", + "author_account_age_days": 1944 }, "https://github.com/phyblas/paint-by-example_comfyui": { "stars": 7, - "last_update": "2024-08-24 23:46:13", - "author_account_age_days": 3252 + "last_update": "2025-01-12 02:31:01", + "author_account_age_days": 3323 }, "https://github.com/picturesonpictures/comfy_PoP": { - "stars": 17, + "stars": 19, "last_update": "2024-07-05 07:32:50", - "author_account_age_days": 786 + "author_account_age_days": 857 }, "https://github.com/pikenrover/ComfyUI_PRNodes": { - "stars": 3, + "stars": 2, "last_update": "2024-10-08 17:29:07", - "author_account_age_days": 169 + "author_account_age_days": 240 + }, + "https://github.com/pixelworldai/ComfyUI-AlphaFlatten": { + "stars": 0, + "last_update": "2025-03-13 23:07:04", + "author_account_age_days": 242 }, "https://github.com/pkpkTech/ComfyUI-SaveAVIF": { "stars": 2, - "last_update": "2024-05-22 22:19:21", - "author_account_age_days": 1702 + "last_update": "2025-02-01 16:29:22", + "author_account_age_days": 1773 }, "https://github.com/pkpkTech/ComfyUI-SaveQueues": { "stars": 3, "last_update": "2024-05-22 22:19:54", - "author_account_age_days": 1702 + "author_account_age_days": 1773 }, "https://github.com/pkpkTech/ComfyUI-TemporaryLoader": { "stars": 1, "last_update": "2024-05-22 22:19:44", - "author_account_age_days": 1702 + "author_account_age_days": 1773 }, "https://github.com/pkpkTech/ComfyUI-ngrok": { "stars": 4, "last_update": "2024-05-22 22:19:32", - "author_account_age_days": 1702 + "author_account_age_days": 1773 }, "https://github.com/playbook3d/playbook3d-comfyui-nodes": { - "stars": 20, - "last_update": "2025-01-09 09:58:00", - "author_account_age_days": 1699 + "stars": 21, + "last_update": "2025-02-23 01:18:47", + "author_account_age_days": 1771 }, "https://github.com/plugcrypt/CRT-Nodes": { "stars": 2, "last_update": "2024-10-01 07:58:40", - "author_account_age_days": 1261 + "author_account_age_days": 1333 }, "https://github.com/pollockjj/ComfyUI-MultiGPU": { - "stars": 21, - "last_update": "2025-01-07 18:18:12", - "author_account_age_days": 3705 + "stars": 180, + "last_update": "2025-03-14 15:59:07", + "author_account_age_days": 3777 }, "https://github.com/portu-sim/comfyui_bmab": { - "stars": 99, - "last_update": "2024-10-07 16:39:03", - "author_account_age_days": 521 + "stars": 101, + "last_update": "2025-02-23 12:32:27", + "author_account_age_days": 592 }, "https://github.com/prodogape/ComfyUI-EasyOCR": { - "stars": 27, + "stars": 30, "last_update": "2024-08-05 07:03:20", - "author_account_age_days": 1229 + "author_account_age_days": 1300 }, "https://github.com/prodogape/ComfyUI-Minio": { "stars": 2, "last_update": "2024-05-23 00:13:38", - "author_account_age_days": 1229 + "author_account_age_days": 1300 }, "https://github.com/prodogape/ComfyUI-OmDet": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 13:01:34", - "author_account_age_days": 1229 + "author_account_age_days": 1300 }, "https://github.com/prodogape/Comfyui-Yolov8-JSON": { "stars": 21, "last_update": "2024-08-28 02:10:39", - "author_account_age_days": 1229 + "author_account_age_days": 1300 }, "https://github.com/prozacgod/comfyui-pzc-multiworkspace": { "stars": 7, "last_update": "2024-05-22 23:11:46", - "author_account_age_days": 5767 + "author_account_age_days": 5838 }, "https://github.com/pschroedl/ComfyUI-SAM2-Realtime": { - "stars": 8, - "last_update": "2024-12-10 07:58:22", - "author_account_age_days": 4186 + "stars": 12, + "last_update": "2025-01-21 05:29:03", + "author_account_age_days": 4258 }, "https://github.com/purpen/ComfyUI-AIRedoon": { - "stars": 3, + "stars": 2, "last_update": "2024-12-11 09:38:42", - "author_account_age_days": 5137 + "author_account_age_days": 5208 }, "https://github.com/purpen/ComfyUI-ImageTagger": { - "stars": 3, + "stars": 2, "last_update": "2024-11-27 17:20:49", - "author_account_age_days": 5137 + "author_account_age_days": 5208 + }, + "https://github.com/pxl-pshr/GlitchNodes": { + "stars": 13, + "last_update": "2025-03-05 10:01:08", + "author_account_age_days": 156 }, "https://github.com/pydn/ComfyUI-to-Python-Extension": { - "stars": 1385, - "last_update": "2024-09-16 04:37:55", - "author_account_age_days": 2895 + "stars": 1639, + "last_update": "2025-01-14 17:03:18", + "author_account_age_days": 2967 }, "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": { - "stars": 1991, - "last_update": "2025-01-02 20:10:04", - "author_account_age_days": 696 + "stars": 2253, + "last_update": "2025-03-16 13:01:51", + "author_account_age_days": 768 }, "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": { - "stars": 723, + "stars": 807, "last_update": "2024-10-23 19:52:57", - "author_account_age_days": 696 + "author_account_age_days": 768 }, "https://github.com/pzc163/Comfyui-CatVTON": { - "stars": 144, + "stars": 153, "last_update": "2024-10-03 12:50:42", - "author_account_age_days": 976 + "author_account_age_days": 1047 }, "https://github.com/pzc163/Comfyui_MiniCPMv2_6-prompt-generator": { - "stars": 71, + "stars": 76, "last_update": "2024-08-30 08:37:48", - "author_account_age_days": 976 + "author_account_age_days": 1047 }, "https://github.com/qwixiwp/queuetools": { "stars": 0, "last_update": "2024-06-14 10:27:57", - "author_account_age_days": 810 + "author_account_age_days": 881 + }, + "https://github.com/r3dial/redial-discomphy": { + "stars": 1, + "last_update": "2025-01-09 19:59:31", + "author_account_age_days": 702 + }, + "https://github.com/r3dsd/comfyui-template-loader": { + "stars": 0, + "last_update": "2025-01-12 08:55:49", + "author_account_age_days": 411 + }, + "https://github.com/raindrop313/ComfyUI-WanVideoStartEndFrames": { + "stars": 197, + "last_update": "2025-03-20 02:32:34", + "author_account_age_days": 1336 + }, + "https://github.com/raindrop313/ComfyUI_SD3_Flowedit": { + "stars": 5, + "last_update": "2025-02-06 19:02:52", + "author_account_age_days": 1336 }, "https://github.com/ramesh-x90/ComfyUI_pyannote": { - "stars": 2, + "stars": 1, "last_update": "2024-11-23 09:42:16", - "author_account_age_days": 1521 + "author_account_age_days": 1592 }, "https://github.com/ramyma/A8R8_ComfyUI_nodes": { - "stars": 51, + "stars": 56, "last_update": "2024-12-09 16:06:25", - "author_account_age_days": 3416 + "author_account_age_days": 3487 }, "https://github.com/randjtw/advance-aesthetic-score": { "stars": 0, "last_update": "2024-05-23 01:14:47", - "author_account_age_days": 960 + "author_account_age_days": 1031 }, "https://github.com/randomnoner11/ComfyUI-MistralAI-API": { - "stars": 2, + "stars": 1, "last_update": "2024-12-28 19:31:31", - "author_account_age_days": 18 + "author_account_age_days": 89 }, "https://github.com/raspie10032/ComfyUI_RS_NAI_Local_Prompt_converter": { - "stars": 1, + "stars": 2, "last_update": "2024-12-26 10:23:16", - "author_account_age_days": 235 + "author_account_age_days": 306 }, "https://github.com/ratulrafsan/Comfyui-SAL-VTON": { - "stars": 81, + "stars": 82, "last_update": "2024-08-26 09:52:06", - "author_account_age_days": 4693 + "author_account_age_days": 4764 }, "https://github.com/raysers/Mflux-ComfyUI": { - "stars": 47, - "last_update": "2024-12-05 08:42:13", - "author_account_age_days": 2203 + "stars": 70, + "last_update": "2025-03-09 21:14:27", + "author_account_age_days": 2275 }, "https://github.com/rcfcu2000/zhihuige-nodes-comfyui": { "stars": 1, "last_update": "2024-05-22 22:13:55", - "author_account_age_days": 3623 + "author_account_age_days": 3695 }, "https://github.com/rcsaquino/comfyui-custom-nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-26 10:08:29", - "author_account_age_days": 1710 + "author_account_age_days": 1781 }, "https://github.com/rdancer/ComfyUI_Florence2SAM2": { - "stars": 26, - "last_update": "2024-10-25 09:09:43", - "author_account_age_days": 5820 + "stars": 33, + "last_update": "2025-03-14 10:49:55", + "author_account_age_days": 5891 }, "https://github.com/receyuki/comfyui-prompt-reader-node": { - "stars": 312, - "last_update": "2024-09-06 11:40:48", - "author_account_age_days": 2792 + "stars": 333, + "last_update": "2025-02-01 15:56:44", + "author_account_age_days": 2863 }, "https://github.com/recraft-ai/ComfyUI-RecraftAI": { - "stars": 41, - "last_update": "2024-11-06 13:54:26", - "author_account_age_days": 921 + "stars": 52, + "last_update": "2025-02-06 15:44:28", + "author_account_age_days": 993 }, "https://github.com/redhottensors/ComfyUI-Prediction": { "stars": 14, "last_update": "2024-07-14 21:19:01", - "author_account_age_days": 338 + "author_account_age_days": 410 }, "https://github.com/regiellis/ComfyUI-EasyNoobai": { - "stars": 7, + "stars": 13, "last_update": "2025-01-06 18:38:11", - "author_account_age_days": 4826 + "author_account_age_days": 4897 }, "https://github.com/regiellis/ComfyUI-EasyPony": { "stars": 7, "last_update": "2024-12-01 20:36:54", - "author_account_age_days": 4826 + "author_account_age_days": 4897 }, "https://github.com/replicate/comfyui-replicate": { - "stars": 168, + "stars": 176, "last_update": "2024-11-05 15:26:20", - "author_account_age_days": 1807 + "author_account_age_days": 1879 }, "https://github.com/revirevy/Comfyui_saveimage_imgbb": { "stars": 1, - "last_update": "2024-11-30 15:31:52", - "author_account_age_days": 4684 + "last_update": "2025-01-24 19:21:57", + "author_account_age_days": 4755 }, "https://github.com/rgthree/rgthree-comfy": { - "stars": 1387, - "last_update": "2024-12-31 04:01:59", - "author_account_age_days": 5173 + "stars": 1647, + "last_update": "2025-03-18 01:11:21", + "author_account_age_days": 5245 }, "https://github.com/rhdunn/comfyui-audio-processing": { - "stars": 6, + "stars": 5, "last_update": "2024-08-22 19:11:01", - "author_account_age_days": 5836 + "author_account_age_days": 5907 }, "https://github.com/rhdunn/comfyui-bus-plugin": { - "stars": 3, + "stars": 2, "last_update": "2024-08-22 19:00:56", - "author_account_age_days": 5836 + "author_account_age_days": 5907 }, "https://github.com/rhplus0831/ComfyMepi": { - "stars": 1, + "stars": 0, "last_update": "2025-01-01 15:58:13", - "author_account_age_days": 352 + "author_account_age_days": 423 }, "https://github.com/richinsley/Comfy-LFO": { "stars": 5, "last_update": "2024-05-22 20:46:30", - "author_account_age_days": 2879 + "author_account_age_days": 2951 }, "https://github.com/ricklove/comfyui-ricklove": { - "stars": 2, + "stars": 1, "last_update": "2024-10-05 03:12:28", - "author_account_age_days": 5031 + "author_account_age_days": 5103 }, "https://github.com/risunobushi/ComfyUI-Similarity-Score": { "stars": 2, "last_update": "2025-01-03 15:27:06", - "author_account_age_days": 846 + "author_account_age_days": 917 + }, + "https://github.com/risunobushi/ComfyUI_DisplacementMapTools": { + "stars": 1, + "last_update": "2025-01-29 18:06:41", + "author_account_age_days": 917 }, "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": { - "stars": 28, + "stars": 33, "last_update": "2024-06-14 10:28:04", - "author_account_age_days": 846 + "author_account_age_days": 917 }, "https://github.com/rnbwdsh/ComfyUI-LatentWalk": { "stars": 7, "last_update": "2024-08-20 22:39:19", - "author_account_age_days": 3745 + "author_account_age_days": 3817 }, "https://github.com/robertvoy/ComfyUI-Flux-Continuum": { - "stars": 123, - "last_update": "2024-12-03 19:25:59", - "author_account_age_days": 4304 + "stars": 131, + "last_update": "2025-03-14 23:37:55", + "author_account_age_days": 4375 }, "https://github.com/robtl2/ComfyUI-ComfyBridge": { - "stars": 1, + "stars": 0, "last_update": "2024-11-18 23:28:13", - "author_account_age_days": 651 + "author_account_age_days": 722 }, "https://github.com/rohitsainier/ComfyUI-InstagramDownloader": { - "stars": 12, + "stars": 16, "last_update": "2025-01-02 08:47:22", - "author_account_age_days": 3352 + "author_account_age_days": 3424 }, "https://github.com/romeobuilderotti/ComfyUI-PNG-Metadata": { "stars": 7, "last_update": "2024-05-22 21:29:25", - "author_account_age_days": 489 + "author_account_age_days": 561 }, "https://github.com/ronaldzgithub/ComfyUI_Appstore": { - "stars": 4, + "stars": 3, "last_update": "2024-12-04 15:02:42", - "author_account_age_days": 2509 + "author_account_age_days": 2580 }, "https://github.com/ronniebasak/ComfyUI-Tara-LLM-Integration": { - "stars": 100, + "stars": 105, "last_update": "2024-11-18 05:08:11", - "author_account_age_days": 4354 + "author_account_age_days": 4425 }, "https://github.com/ronsantash/Comfyui-flexi-lora-loader": { - "stars": 2, - "last_update": "2024-12-24 00:16:52", - "author_account_age_days": 1216 + "stars": 7, + "last_update": "2025-01-12 11:57:27", + "author_account_age_days": 1288 + }, + "https://github.com/roundyyy/ComfyUI-mesh-simplifier": { + "stars": 1, + "last_update": "2025-03-09 23:39:24", + "author_account_age_days": 1198 }, "https://github.com/royceschultz/ComfyUI-Notifications": { - "stars": 10, + "stars": 11, "last_update": "2024-12-31 16:13:21", - "author_account_age_days": 2728 + "author_account_age_days": 2800 }, "https://github.com/royceschultz/ComfyUI-TranscriptionTools": { "stars": 18, "last_update": "2024-05-23 01:10:10", - "author_account_age_days": 2728 + "author_account_age_days": 2800 }, "https://github.com/rubi-du/ComfyUI-BiRefNet-Super": { - "stars": 7, + "stars": 8, "last_update": "2025-01-02 02:39:10", - "author_account_age_days": 381 + "author_account_age_days": 452 }, "https://github.com/rubi-du/ComfyUI-Flux-Inpainting": { - "stars": 15, - "last_update": "2024-12-27 05:08:40", - "author_account_age_days": 381 + "stars": 24, + "last_update": "2025-02-06 01:51:44", + "author_account_age_days": 452 }, "https://github.com/rubi-du/ComfyUI-ICC-nodes": { "stars": 2, "last_update": "2024-12-05 08:27:40", - "author_account_age_days": 381 + "author_account_age_days": 452 + }, + "https://github.com/rubi-du/ComfyUI-MaskEditor-Extension": { + "stars": 6, + "last_update": "2025-02-27 13:34:43", + "author_account_age_days": 452 }, "https://github.com/rui40000/RUI-Nodes": { "stars": 15, "last_update": "2024-05-22 22:12:26", - "author_account_age_days": 673 + "author_account_age_days": 744 }, "https://github.com/ruiqutech/ComfyUI-RuiquNodes": { "stars": 0, "last_update": "2024-05-23 01:21:50", - "author_account_age_days": 269 + "author_account_age_days": 340 }, "https://github.com/runtime44/comfyui_r44_nodes": { - "stars": 40, + "stars": 41, "last_update": "2024-07-01 08:02:04", - "author_account_age_days": 367 + "author_account_age_days": 438 }, "https://github.com/ruucm/ruucm-comfy": { "stars": 2, "last_update": "2024-10-12 10:31:49", - "author_account_age_days": 2619 + "author_account_age_days": 2691 }, "https://github.com/ryanontheinside/ComfyUI_Doom": { "stars": 5, "last_update": "2024-11-08 17:58:21", - "author_account_age_days": 3888 + "author_account_age_days": 3960 }, "https://github.com/ryanontheinside/ComfyUI_EfficientTAM": { "stars": 3, "last_update": "2024-12-21 20:25:05", - "author_account_age_days": 3888 + "author_account_age_days": 3960 }, - "https://github.com/ryanontheinside/ComfyUI_RealTimeNodes": { - "stars": 12, - "last_update": "2025-01-09 00:34:28", - "author_account_age_days": 3888 + "https://github.com/ryanontheinside/ComfyUI_ProfilerX": { + "stars": 41, + "last_update": "2025-02-03 22:37:58", + "author_account_age_days": 3960 + }, + "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes": { + "stars": 24, + "last_update": "2025-03-21 19:59:49", + "author_account_age_days": 3960 }, "https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside": { - "stars": 359, - "last_update": "2025-01-09 01:17:04", - "author_account_age_days": 3888 + "stars": 442, + "last_update": "2025-01-28 19:21:48", + "author_account_age_days": 3960 + }, + "https://github.com/ryanontheinside/ComfyUI_SuperResolution": { + "stars": 7, + "last_update": "2025-03-16 22:57:36", + "author_account_age_days": 3960 }, "https://github.com/saftle/uber_comfy_nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-24 02:42:40", - "author_account_age_days": 4956 + "author_account_age_days": 5028 }, "https://github.com/sakura1bgx/ComfyUI_FlipStreamViewer": { - "stars": 3, - "last_update": "2024-11-04 04:39:41", - "author_account_age_days": 137 + "stars": 4, + "last_update": "2025-03-09 19:34:43", + "author_account_age_days": 209 }, "https://github.com/sanbuphy/ComfyUI-AudioLDM": { - "stars": 1, + "stars": 0, "last_update": "2025-01-02 02:01:12", - "author_account_age_days": 1121 + "author_account_age_days": 1192 + }, + "https://github.com/satche/comfyui-prompt-factory": { + "stars": 4, + "last_update": "2025-03-21 08:22:47", + "author_account_age_days": 2362 }, "https://github.com/sdfxai/SDFXBridgeForComfyUI": { "stars": 11, "last_update": "2024-06-14 10:26:56", - "author_account_age_days": 434 + "author_account_age_days": 505 }, "https://github.com/seanlynch/comfyui-optical-flow": { "stars": 32, "last_update": "2024-05-22 20:52:17", - "author_account_age_days": 5504 + "author_account_age_days": 5576 }, "https://github.com/seanlynch/srl-nodes": { - "stars": 7, + "stars": 8, "last_update": "2024-06-30 13:47:38", - "author_account_age_days": 5504 + "author_account_age_days": 5576 }, "https://github.com/sebord/ComfyUI-LMCQ": { - "stars": 30, - "last_update": "2025-01-08 12:10:06", - "author_account_age_days": 986 + "stars": 52, + "last_update": "2025-03-09 01:28:27", + "author_account_age_days": 1057 }, "https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": { - "stars": 3, + "stars": 4, "last_update": "2024-05-22 21:34:15", - "author_account_age_days": 3531 + "author_account_age_days": 3603 }, "https://github.com/sh570655308/ComfyUI-GigapixelAI": { - "stars": 105, - "last_update": "2025-01-07 14:16:36", - "author_account_age_days": 2701 + "stars": 136, + "last_update": "2025-01-15 05:16:31", + "author_account_age_days": 2772 }, "https://github.com/sh570655308/ComfyUI-TopazVideoAI": { - "stars": 80, - "last_update": "2025-01-08 05:49:33", - "author_account_age_days": 2701 + "stars": 181, + "last_update": "2025-01-18 09:49:32", + "author_account_age_days": 2772 + }, + "https://github.com/shabri-arrahim/ComfyUI-Safety-Checker": { + "stars": 1, + "last_update": "2025-01-23 05:46:33", + "author_account_age_days": 2040 }, "https://github.com/shadowcz007/comfyui-Image-reward": { - "stars": 29, + "stars": 30, "last_update": "2024-06-14 10:24:49", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-consistency-decoder": { "stars": 2, "last_update": "2024-06-14 10:23:35", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-edit-mask": { "stars": 6, "last_update": "2024-06-20 01:42:48", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-liveportrait": { - "stars": 435, + "stars": 447, "last_update": "2024-09-01 10:34:41", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-mixlab-nodes": { - "stars": 1391, - "last_update": "2024-11-26 11:59:58", - "author_account_age_days": 3514 + "stars": 1527, + "last_update": "2025-02-05 10:24:45", + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-sound-lab": { - "stars": 105, + "stars": 112, "last_update": "2024-07-04 12:53:38", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-try-on": { - "stars": 13, + "stars": 12, "last_update": "2024-08-15 10:50:22", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-ultralytics-yolo": { - "stars": 27, + "stars": 32, "last_update": "2024-06-22 09:06:04", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shahkoorosh/ComfyUI-KGnodes": { "stars": 1, - "last_update": "2024-12-27 17:55:11", - "author_account_age_days": 392 + "last_update": "2025-03-03 23:43:28", + "author_account_age_days": 463 + }, + "https://github.com/shahkoorosh/ComfyUI-PersianText": { + "stars": 14, + "last_update": "2025-02-06 06:21:11", + "author_account_age_days": 463 + }, + "https://github.com/shenduldh/ComfyUI-Lightning": { + "stars": 181, + "last_update": "2025-03-13 05:58:04", + "author_account_age_days": 2388 }, "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": { "stars": 2, "last_update": "2024-05-23 00:14:25", - "author_account_age_days": 5292 + "author_account_age_days": 5363 }, "https://github.com/shiimizu/ComfyUI-PhotoMaker-Plus": { - "stars": 253, + "stars": 271, "last_update": "2024-12-01 18:40:16", - "author_account_age_days": 1964 + "author_account_age_days": 2035 }, "https://github.com/shiimizu/ComfyUI-TiledDiffusion": { - "stars": 355, - "last_update": "2024-12-02 22:41:52", - "author_account_age_days": 1964 + "stars": 392, + "last_update": "2025-03-18 19:50:35", + "author_account_age_days": 2035 }, "https://github.com/shiimizu/ComfyUI-semantic-aware-guidance": { "stars": 9, "last_update": "2024-08-08 19:59:57", - "author_account_age_days": 1964 + "author_account_age_days": 2035 }, "https://github.com/shiimizu/ComfyUI_smZNodes": { - "stars": 233, - "last_update": "2024-12-29 10:24:12", - "author_account_age_days": 1964 + "stars": 252, + "last_update": "2025-03-16 00:11:35", + "author_account_age_days": 2035 }, "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage": { - "stars": 34, + "stars": 36, "last_update": "2024-05-22 20:41:29", - "author_account_age_days": 2422 + "author_account_age_days": 2493 }, "https://github.com/shingo1228/ComfyUI-send-eagle-slim": { - "stars": 30, + "stars": 34, "last_update": "2024-07-30 22:28:41", - "author_account_age_days": 2422 + "author_account_age_days": 2493 }, "https://github.com/shinich39/comfyui-connect-from-afar": { - "stars": 1, + "stars": 0, "last_update": "2024-08-15 21:10:31", - "author_account_age_days": 511 + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-group-selection": { - "stars": 2, + "stars": 1, "last_update": "2024-08-16 06:01:35", - "author_account_age_days": 511 - }, - "https://github.com/shinich39/comfyui-load-image-in-seq": { - "stars": 6, - "last_update": "2024-08-23 11:51:31", - "author_account_age_days": 511 + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-local-db": { "stars": 3, "last_update": "2024-08-03 15:45:29", - "author_account_age_days": 511 + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-model-db": { - "stars": 1, - "last_update": "2024-07-27 18:32:45", - "author_account_age_days": 511 + "stars": 0, + "last_update": "2025-01-25 10:07:03", + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-parse-image": { - "stars": 3, - "last_update": "2024-12-19 18:25:27", - "author_account_age_days": 511 + "stars": 2, + "last_update": "2025-03-18 05:30:20", + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-put-image": { - "stars": 3, - "last_update": "2024-12-12 13:06:43", - "author_account_age_days": 511 + "stars": 2, + "last_update": "2025-03-15 05:23:20", + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-ramdom-node": { - "stars": 3, - "last_update": "2024-07-31 13:47:50", - "author_account_age_days": 511 + "stars": 5, + "last_update": "2025-01-25 10:05:38", + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-target-search": { - "stars": 2, + "stars": 1, "last_update": "2024-08-15 23:12:25", - "author_account_age_days": 511 + "author_account_age_days": 583 }, "https://github.com/shinich39/comfyui-textarea-command": { - "stars": 2, - "last_update": "2024-12-25 05:36:46", - "author_account_age_days": 511 - }, - "https://github.com/shinich39/comfyui-view-recommendations": { - "stars": 3, - "last_update": "2024-12-28 08:28:51", - "author_account_age_days": 511 + "stars": 1, + "last_update": "2025-02-26 15:09:18", + "author_account_age_days": 583 }, "https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": { "stars": 3, "last_update": "2024-06-20 13:57:29", - "author_account_age_days": 4506 + "author_account_age_days": 4578 }, "https://github.com/shockz0rz/comfy-easy-grids": { - "stars": 21, + "stars": 22, "last_update": "2024-05-22 18:14:05", - "author_account_age_days": 1825 + "author_account_age_days": 1897 }, "https://github.com/siliconflow/BizyAir": { - "stars": 471, - "last_update": "2025-01-09 10:38:43", - "author_account_age_days": 505 + "stars": 611, + "last_update": "2025-03-21 10:39:48", + "author_account_age_days": 576 }, "https://github.com/siliconflow/onediff_comfy_nodes": { - "stars": 19, + "stars": 21, "last_update": "2024-06-24 10:08:11", - "author_account_age_days": 505 + "author_account_age_days": 576 }, - "https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders": { - "stars": 10, - "last_update": "2024-09-17 18:44:57", - "author_account_age_days": 1700 + "https://github.com/silveroxides/ComfyUI_bitsandbytes_NF4": { + "stars": 30, + "last_update": "2025-03-19 11:25:07", + "author_account_age_days": 1772 }, "https://github.com/sipherxyz/comfyui-art-venture": { - "stars": 188, + "stars": 227, "last_update": "2024-11-04 14:05:29", - "author_account_age_days": 1306 + "author_account_age_days": 1377 }, "https://github.com/sipie800/ComfyUI-PuLID-Flux-Enhanced": { - "stars": 134, - "last_update": "2025-01-04 12:41:20", - "author_account_age_days": 2326 + "stars": 179, + "last_update": "2025-02-07 15:04:47", + "author_account_age_days": 2397 + }, + "https://github.com/sittere/ComfyUI-YK_Line-loading": { + "stars": 2, + "last_update": "2025-03-02 09:10:54", + "author_account_age_days": 1148 }, "https://github.com/skfoo/ComfyUI-Coziness": { - "stars": 28, + "stars": 27, "last_update": "2024-08-16 03:10:43", - "author_account_age_days": 2281 + "author_account_age_days": 2353 + }, + "https://github.com/slvslvslv/ComfyUI-SmartHelperNodes": { + "stars": 0, + "last_update": "2025-02-13 18:10:06", + "author_account_age_days": 248 }, "https://github.com/slyt/comfyui-ollama-nodes": { "stars": 0, "last_update": "2024-07-31 13:52:27", - "author_account_age_days": 4138 + "author_account_age_days": 4210 }, "https://github.com/smagnetize/kb-comfyui-nodes": { "stars": 0, "last_update": "2024-06-14 12:00:45", - "author_account_age_days": 2913 + "author_account_age_days": 2985 }, "https://github.com/smlbiobot/ComfyUI-Flux-Replicate-API": { - "stars": 19, + "stars": 22, "last_update": "2024-12-26 16:21:00", - "author_account_age_days": 2920 + "author_account_age_days": 2992 + }, + "https://github.com/smlbiobot/sml-comfyui-prompt-expansion": { + "stars": 12, + "last_update": "2025-01-27 13:33:49", + "author_account_age_days": 2992 }, "https://github.com/smthemex/ComfyUI_AnyDoor": { - "stars": 53, - "last_update": "2024-10-05 00:22:07", - "author_account_age_days": 553 + "stars": 60, + "last_update": "2025-02-05 04:01:50", + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_CSD_MT": { + "stars": 16, + "last_update": "2025-02-06 04:30:50", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_CSGO_Wrapper": { "stars": 15, "last_update": "2024-09-07 06:13:48", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_ChatGLM_API": { "stars": 24, "last_update": "2024-07-31 13:53:41", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_CustomNet": { - "stars": 10, + "stars": 9, "last_update": "2024-08-11 08:58:37", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_DeepFakeDefenders": { - "stars": 36, + "stars": 40, "last_update": "2024-09-14 00:17:59", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Demucs": { - "stars": 7, - "last_update": "2024-11-06 10:06:01", - "author_account_age_days": 553 + "stars": 8, + "last_update": "2025-03-12 05:22:24", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Diffree": { - "stars": 29, - "last_update": "2024-12-17 00:47:19", - "author_account_age_days": 553 + "stars": 31, + "last_update": "2025-03-09 01:16:33", + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_DiffuEraser": { + "stars": 101, + "last_update": "2025-02-14 12:09:00", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_EchoMimic": { - "stars": 488, - "last_update": "2025-01-05 05:40:26", - "author_account_age_days": 553 + "stars": 587, + "last_update": "2025-03-09 01:15:58", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Face_Anon_Simple": { - "stars": 11, - "last_update": "2024-11-20 01:14:37", - "author_account_age_days": 553 + "stars": 15, + "last_update": "2025-03-12 05:22:03", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_FoleyCrafter": { - "stars": 53, - "last_update": "2024-09-06 02:36:44", - "author_account_age_days": 553 + "stars": 57, + "last_update": "2025-03-09 01:16:17", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_FollowYourEmoji": { - "stars": 16, + "stars": 15, "last_update": "2024-07-21 06:01:11", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Hallo2": { - "stars": 65, - "last_update": "2024-11-19 01:00:07", - "author_account_age_days": 553 + "stars": 72, + "last_update": "2025-03-12 05:22:46", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_HiDiffusion_Pro": { - "stars": 53, - "last_update": "2024-09-09 14:06:25", - "author_account_age_days": 553 + "stars": 52, + "last_update": "2025-01-13 03:29:50", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_ID_Animator": { - "stars": 25, + "stars": 24, "last_update": "2024-07-31 13:53:27", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_InstantIR_Wrapper": { - "stars": 206, - "last_update": "2024-11-15 12:16:19", - "author_account_age_days": 553 + "stars": 226, + "last_update": "2025-03-12 05:22:14", + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_KV_Edit": { + "stars": 44, + "last_update": "2025-03-17 13:33:39", + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_Light_A_Video": { + "stars": 76, + "last_update": "2025-03-18 07:09:45", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Llama3_8B": { "stars": 26, "last_update": "2024-06-25 00:49:01", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_MS_Diffusion": { - "stars": 52, + "stars": 55, "last_update": "2024-09-10 09:50:19", - "author_account_age_days": 553 + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_MangaNinjia": { + "stars": 41, + "last_update": "2025-03-17 08:14:08", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_MooER": { - "stars": 6, - "last_update": "2024-09-03 13:41:15", - "author_account_age_days": 553 + "stars": 5, + "last_update": "2025-03-09 01:15:38", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_OmniParser": { - "stars": 30, - "last_update": "2024-12-06 01:07:38", - "author_account_age_days": 553 + "stars": 38, + "last_update": "2025-03-12 05:22:34", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_PBR_Maker": { - "stars": 13, - "last_update": "2024-12-09 05:34:53", - "author_account_age_days": 553 + "stars": 12, + "last_update": "2025-03-12 05:21:53", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_ParlerTTS": { - "stars": 34, + "stars": 40, "last_update": "2024-12-25 06:26:03", - "author_account_age_days": 553 + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_PhotoDoodle": { + "stars": 84, + "last_update": "2025-03-20 08:19:21", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Pic2Story": { "stars": 9, "last_update": "2024-12-06 12:12:19", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Pipeline_Tool": { - "stars": 11, + "stars": 10, "last_update": "2024-08-05 06:14:57", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Pops": { - "stars": 22, + "stars": 21, "last_update": "2024-08-12 09:11:49", - "author_account_age_days": 553 + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_SVFR": { + "stars": 83, + "last_update": "2025-03-12 05:21:23", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Sapiens": { - "stars": 132, - "last_update": "2024-12-05 12:00:37", - "author_account_age_days": 553 + "stars": 153, + "last_update": "2025-03-12 05:22:59", + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_Sonic": { + "stars": 754, + "last_update": "2025-02-25 03:17:58", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_StableAudio_Open": { - "stars": 19, + "stars": 22, "last_update": "2024-08-10 03:45:47", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Stable_Makeup": { - "stars": 76, - "last_update": "2024-09-07 00:55:07", - "author_account_age_days": 553 + "stars": 86, + "last_update": "2025-01-10 05:26:59", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_StoryDiffusion": { - "stars": 263, - "last_update": "2025-01-02 12:37:24", - "author_account_age_days": 553 + "stars": 318, + "last_update": "2025-01-19 04:15:14", + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_Streamv2v_Plus": { - "stars": 11, + "stars": 10, "last_update": "2024-09-06 08:20:59", - "author_account_age_days": 553 + "author_account_age_days": 624 }, "https://github.com/smthemex/ComfyUI_TRELLIS": { - "stars": 97, - "last_update": "2024-12-27 03:35:57", - "author_account_age_days": 553 + "stars": 152, + "last_update": "2025-03-12 05:21:36", + "author_account_age_days": 624 + }, + "https://github.com/smthemex/ComfyUI_YuE": { + "stars": 99, + "last_update": "2025-02-24 12:02:41", + "author_account_age_days": 624 }, "https://github.com/sn0w12/ComfyUI-Sn0w-Scripts": { - "stars": 9, - "last_update": "2025-01-08 15:53:43", - "author_account_age_days": 972 + "stars": 10, + "last_update": "2025-03-18 16:56:07", + "author_account_age_days": 1044 + }, + "https://github.com/sn0w12/ComfyUI-Syntax-Highlighting": { + "stars": 0, + "last_update": "2025-03-18 19:12:10", + "author_account_age_days": 1044 }, "https://github.com/sneccc/comfyui-snek-nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-11-09 19:28:50", - "author_account_age_days": 1766 + "author_account_age_days": 1838 }, "https://github.com/solution9th/Comfyui_mobilesam": { - "stars": 1, + "stars": 0, "last_update": "2024-12-24 09:27:31", - "author_account_age_days": 2271 + "author_account_age_days": 2342 }, "https://github.com/souki202/ComfyUI-LoadImage-Advanced": { - "stars": 2, - "last_update": "2024-08-29 14:03:52", - "author_account_age_days": 3459 + "stars": 1, + "last_update": "2025-03-03 03:53:26", + "author_account_age_days": 3530 }, "https://github.com/sourceful-official/LoadLoraModelOnlyWithUrl": { - "stars": 2, + "stars": 1, "last_update": "2024-12-04 12:14:51", - "author_account_age_days": 1682 + "author_account_age_days": 1753 }, "https://github.com/sousakujikken/ComfyUI-PixydustQuantizer": { - "stars": 26, + "stars": 28, "last_update": "2024-12-01 15:14:40", - "author_account_age_days": 607 + "author_account_age_days": 678 }, "https://github.com/space-nuko/ComfyUI-Disco-Diffusion": { - "stars": 49, + "stars": 52, "last_update": "2024-08-07 11:51:17", - "author_account_age_days": 2923 + "author_account_age_days": 2995 }, "https://github.com/space-nuko/ComfyUI-OpenPose-Editor": { - "stars": 189, + "stars": 202, "last_update": "2024-05-22 18:10:49", - "author_account_age_days": 2923 + "author_account_age_days": 2995 }, "https://github.com/space-nuko/nui-suite": { "stars": 11, "last_update": "2024-05-22 18:11:04", - "author_account_age_days": 2923 + "author_account_age_days": 2995 }, "https://github.com/spacepxl/ComfyUI-Depth-Pro": { - "stars": 157, + "stars": 171, "last_update": "2024-10-23 20:05:56", - "author_account_age_days": 493 + "author_account_age_days": 565 }, "https://github.com/spacepxl/ComfyUI-Florence-2": { - "stars": 73, + "stars": 79, "last_update": "2024-07-20 19:44:33", - "author_account_age_days": 493 + "author_account_age_days": 565 }, "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": { - "stars": 46, - "last_update": "2024-10-28 17:18:44", - "author_account_age_days": 493 + "stars": 51, + "last_update": "2025-01-30 00:12:58", + "author_account_age_days": 565 }, "https://github.com/spacepxl/ComfyUI-Image-Filters": { - "stars": 178, - "last_update": "2024-12-16 22:42:50", - "author_account_age_days": 493 + "stars": 197, + "last_update": "2025-02-22 07:38:40", + "author_account_age_days": 565 + }, + "https://github.com/spacepxl/ComfyUI-LossTesting": { + "stars": 1, + "last_update": "2025-01-26 05:09:57", + "author_account_age_days": 565 }, "https://github.com/spacepxl/ComfyUI-RAVE": { "stars": 86, "last_update": "2024-05-22 20:56:19", - "author_account_age_days": 493 + "author_account_age_days": 565 }, "https://github.com/spacepxl/ComfyUI-StyleGan": { - "stars": 11, + "stars": 15, "last_update": "2024-06-10 20:16:34", - "author_account_age_days": 493 + "author_account_age_days": 565 }, "https://github.com/spinagon/ComfyUI-seam-carving": { - "stars": 19, - "last_update": "2024-08-04 19:13:25", - "author_account_age_days": 4939 + "stars": 21, + "last_update": "2025-03-14 08:47:57", + "author_account_age_days": 5011 }, "https://github.com/spinagon/ComfyUI-seamless-tiling": { - "stars": 171, - "last_update": "2024-09-25 05:22:05", - "author_account_age_days": 4939 + "stars": 187, + "last_update": "2025-03-14 08:48:11", + "author_account_age_days": 5011 }, "https://github.com/spro/comfyui-mirror": { "stars": 5, "last_update": "2024-05-22 20:50:25", - "author_account_age_days": 5430 + "author_account_age_days": 5502 }, "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": { - "stars": 931, - "last_update": "2025-01-06 19:06:53", - "author_account_age_days": 1888 + "stars": 1061, + "last_update": "2025-03-06 14:58:45", + "author_account_age_days": 1960 }, "https://github.com/ssitu/ComfyUI_fabric": { - "stars": 88, + "stars": 91, "last_update": "2024-05-22 18:10:19", - "author_account_age_days": 1888 + "author_account_age_days": 1960 }, "https://github.com/ssitu/ComfyUI_restart_sampling": { - "stars": 85, + "stars": 87, "last_update": "2024-05-22 18:09:49", - "author_account_age_days": 1888 + "author_account_age_days": 1960 }, "https://github.com/ssitu/ComfyUI_roop": { - "stars": 70, + "stars": 74, "last_update": "2024-05-22 18:10:03", - "author_account_age_days": 1888 + "author_account_age_days": 1960 + }, + "https://github.com/stavsap/comfyui-kokoro": { + "stars": 36, + "last_update": "2025-02-14 08:09:34", + "author_account_age_days": 4354 }, "https://github.com/stavsap/comfyui-ollama": { - "stars": 420, - "last_update": "2024-12-05 13:43:22", - "author_account_age_days": 4283 - }, - "https://github.com/steelan9199/ComfyUI-Teeth": { - "stars": 6, - "last_update": "2025-01-01 07:02:30", - "author_account_age_days": 1053 + "stars": 514, + "last_update": "2025-02-25 18:51:25", + "author_account_age_days": 4354 }, "https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": { - "stars": 25, + "stars": 29, "last_update": "2025-01-06 12:02:58", - "author_account_age_days": 4327 + "author_account_age_days": 4398 }, "https://github.com/stormcenter/ComfyUI-LivePhotoCreator": { "stars": 21, "last_update": "2025-01-06 12:03:42", - "author_account_age_days": 4327 + "author_account_age_days": 4398 }, "https://github.com/stormcenter/ComfyUI-SVGFullfill": { - "stars": 6, + "stars": 9, "last_update": "2025-01-06 12:04:18", - "author_account_age_days": 4327 + "author_account_age_days": 4398 }, "https://github.com/storyicon/comfyui_musev_evolved": { - "stars": 23, + "stars": 25, "last_update": "2024-06-14 11:02:40", - "author_account_age_days": 2751 + "author_account_age_days": 2822 }, "https://github.com/storyicon/comfyui_segment_anything": { - "stars": 802, + "stars": 885, "last_update": "2024-07-12 10:17:33", - "author_account_age_days": 2751 + "author_account_age_days": 2822 + }, + "https://github.com/strand1/ComfyUI-Autogen": { + "stars": 2, + "last_update": "2025-01-21 05:10:43", + "author_account_age_days": 4742 }, "https://github.com/strimmlarn/ComfyUI-Strimmlarns-Aesthetic-Score": { - "stars": 29, + "stars": 32, "last_update": "2024-06-17 10:01:44", - "author_account_age_days": 2826 + "author_account_age_days": 2897 }, "https://github.com/styler00dollar/ComfyUI-deepcache": { "stars": 8, "last_update": "2024-05-22 22:18:18", - "author_account_age_days": 2045 + "author_account_age_days": 2116 }, "https://github.com/styler00dollar/ComfyUI-sudo-latent-upscale": { "stars": 39, "last_update": "2024-05-22 22:18:07", - "author_account_age_days": 2045 + "author_account_age_days": 2116 }, "https://github.com/subtleGradient/TinkerBot-tech-for-ComfyUI-Touchpad": { - "stars": 30, + "stars": 34, "last_update": "2024-08-16 01:18:03", - "author_account_age_days": 6129 + "author_account_age_days": 6201 }, "https://github.com/sugarkwork/comfyui_cohere": { - "stars": 2, + "stars": 1, "last_update": "2024-07-22 08:42:31", - "author_account_age_days": 1074 + "author_account_age_days": 1146 }, "https://github.com/sugarkwork/comfyui_tag_fillter": { - "stars": 33, - "last_update": "2025-01-09 02:36:09", - "author_account_age_days": 1074 + "stars": 37, + "last_update": "2025-03-17 05:23:29", + "author_account_age_days": 1146 }, "https://github.com/superyoman/comfyui_lumaAPI": { "stars": 21, "last_update": "2024-06-17 21:00:05", - "author_account_age_days": 648 + "author_account_age_days": 719 + }, + "https://github.com/svetozarov/AS_GeminiCaptioning": { + "stars": 1, + "last_update": "2025-03-18 20:28:54", + "author_account_age_days": 756 }, "https://github.com/sweetndata/ComfyUI-Image-Harmonizer": { - "stars": 2, + "stars": 1, "last_update": "2024-11-20 06:10:34", - "author_account_age_days": 931 + "author_account_age_days": 1002 }, "https://github.com/sweetndata/ComfyUI-googletrans": { - "stars": 2, + "stars": 1, "last_update": "2024-11-20 04:53:19", - "author_account_age_days": 931 + "author_account_age_days": 1002 }, "https://github.com/sweetndata/ComfyUI_Sticker_Compositer": { - "stars": 2, + "stars": 1, "last_update": "2025-01-02 06:54:51", - "author_account_age_days": 931 + "author_account_age_days": 1002 }, "https://github.com/syaofox/ComfyUI_fnodes": { - "stars": 8, + "stars": 9, "last_update": "2024-10-15 09:38:25", - "author_account_age_days": 3355 + "author_account_age_days": 3426 }, "https://github.com/syllebra/bilbox-comfyui": { - "stars": 119, + "stars": 123, "last_update": "2024-12-06 23:51:55", - "author_account_age_days": 3335 + "author_account_age_days": 3406 }, "https://github.com/sylym/comfy_vid2vid": { - "stars": 69, + "stars": 70, "last_update": "2024-05-22 17:53:40", - "author_account_age_days": 2097 + "author_account_age_days": 2168 }, "https://github.com/szhublox/ambw_comfyui": { "stars": 16, "last_update": "2024-05-22 18:04:57", - "author_account_age_days": 1206 + "author_account_age_days": 1277 }, "https://github.com/taabata/ComfyCanvas": { - "stars": 78, + "stars": 82, "last_update": "2024-12-15 00:59:25", - "author_account_age_days": 1882 + "author_account_age_days": 1953 }, "https://github.com/taabata/LCM_Inpaint_Outpaint_Comfy": { - "stars": 257, + "stars": 258, "last_update": "2024-11-18 00:45:28", - "author_account_age_days": 1882 + "author_account_age_days": 1953 }, "https://github.com/taabata/SANA_LOWVRAM": { - "stars": 6, + "stars": 5, "last_update": "2024-12-28 01:16:29", - "author_account_age_days": 1882 + "author_account_age_days": 1953 }, "https://github.com/taches-ai/comfyui-scene-composer": { - "stars": 44, + "stars": 49, "last_update": "2024-11-17 20:49:23", - "author_account_age_days": 106 + "author_account_age_days": 177 }, "https://github.com/tachyon-beep/comfyui-simplefeed": { - "stars": 8, + "stars": 9, "last_update": "2024-10-16 09:19:29", - "author_account_age_days": 5120 + "author_account_age_days": 5191 }, "https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-": { - "stars": 22, + "stars": 27, "last_update": "2024-12-01 13:06:02", - "author_account_age_days": 584 + "author_account_age_days": 655 }, "https://github.com/talesofai/comfyui-browser": { - "stars": 525, + "stars": 557, "last_update": "2024-11-11 01:42:30", - "author_account_age_days": 755 + "author_account_age_days": 826 }, "https://github.com/tanglaoya321/ComfyUI-StoryMaker": { - "stars": 16, + "stars": 17, "last_update": "2024-10-01 01:20:00", - "author_account_age_days": 4170 + "author_account_age_days": 4242 + }, + "https://github.com/tatookan/comfyui_ssl_gemini_EXP": { + "stars": 46, + "last_update": "2025-03-19 15:54:44", + "author_account_age_days": 2001 }, "https://github.com/teward/Comfy-Sentry": { - "stars": 1, + "stars": 0, "last_update": "2024-07-31 21:37:42", - "author_account_age_days": 5297 + "author_account_age_days": 5369 }, "https://github.com/teward/ComfyUI-Helper-Nodes": { - "stars": 4, + "stars": 5, "last_update": "2024-05-23 01:22:01", - "author_account_age_days": 5297 + "author_account_age_days": 5369 + }, + "https://github.com/theAdamColton/ComfyUI-texflow-extension": { + "stars": 1, + "last_update": "2025-01-16 19:58:24", + "author_account_age_days": 1626 }, "https://github.com/theUpsider/ComfyUI-Logic": { - "stars": 157, + "stars": 178, "last_update": "2024-08-16 12:20:56", - "author_account_age_days": 2921 + "author_account_age_days": 2993 }, "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": { - "stars": 44, - "last_update": "2024-08-02 14:06:54", - "author_account_age_days": 2921 + "stars": 52, + "last_update": "2025-03-03 19:59:26", + "author_account_age_days": 2993 }, "https://github.com/thecooltechguy/ComfyUI-ComfyWorkflows": { - "stars": 53, + "stars": 61, "last_update": "2024-05-22 21:33:47", - "author_account_age_days": 2621 + "author_account_age_days": 2693 }, "https://github.com/thecooltechguy/ComfyUI-MagicAnimate": { - "stars": 220, + "stars": 222, "last_update": "2024-05-22 21:33:35", - "author_account_age_days": 2621 + "author_account_age_days": 2693 }, "https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion": { - "stars": 342, + "stars": 353, "last_update": "2024-05-24 22:14:42", - "author_account_age_days": 2621 + "author_account_age_days": 2693 + }, + "https://github.com/theshubzworld/ComfyUI-SD3.5-Latent-Size-Picker": { + "stars": 0, + "last_update": "2024-12-25 14:09:38", + "author_account_age_days": 241 + }, + "https://github.com/theshubzworld/ComfyUI-TogetherVision": { + "stars": 2, + "last_update": "2025-01-24 18:07:15", + "author_account_age_days": 241 + }, + "https://github.com/theshubzworld/ComfyUI-ollama_killer": { + "stars": 2, + "last_update": "2024-12-25 13:10:30", + "author_account_age_days": 241 + }, + "https://github.com/thezveroboy/ComfyUI-CSM-Nodes": { + "stars": 29, + "last_update": "2025-03-17 10:08:12", + "author_account_age_days": 3484 + }, + "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip": { + "stars": 0, + "last_update": "2025-03-16 21:12:54", + "author_account_age_days": 3484 }, "https://github.com/thoddnn/ComfyUI-MLX": { - "stars": 96, + "stars": 114, "last_update": "2024-10-22 06:41:22", - "author_account_age_days": 462 + "author_account_age_days": 534 }, "https://github.com/tianguanggliu/Utools": { - "stars": 1, + "stars": 0, "last_update": "2024-08-29 09:45:03", - "author_account_age_days": 2539 + "author_account_age_days": 2610 }, "https://github.com/tiankuan93/ComfyUI-V-Express": { - "stars": 111, + "stars": 112, "last_update": "2024-06-26 02:41:00", - "author_account_age_days": 3149 + "author_account_age_days": 3220 }, "https://github.com/tianlang0704/ComfyUI-StableProjectorzBridge": { - "stars": 21, + "stars": 29, "last_update": "2024-12-01 11:46:58", - "author_account_age_days": 3524 + "author_account_age_days": 3595 + }, + "https://github.com/tianyuw/ComfyUI-LLM-API": { + "stars": 0, + "last_update": "2025-01-25 19:31:47", + "author_account_age_days": 3463 + }, + "https://github.com/tigeryy2/comfyui-structured-outputs": { + "stars": 1, + "last_update": "2025-03-06 04:57:31", + "author_account_age_days": 2242 }, "https://github.com/tkreuziger/comfyui-claude": { "stars": 3, - "last_update": "2024-12-03 13:37:24", - "author_account_age_days": 735 + "last_update": "2025-02-28 08:07:44", + "author_account_age_days": 806 }, "https://github.com/tmagara/ComfyUI-Prediction-Boost": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 13:51:19", - "author_account_age_days": 4574 + "author_account_age_days": 4645 }, "https://github.com/tocubed/ComfyUI-AudioReactor": { "stars": 8, "last_update": "2024-05-22 22:21:57", - "author_account_age_days": 4058 + "author_account_age_days": 4130 }, "https://github.com/tocubed/ComfyUI-EvTexture": { - "stars": 5, + "stars": 10, "last_update": "2025-01-05 23:21:23", - "author_account_age_days": 4058 + "author_account_age_days": 4130 }, "https://github.com/tomudo/ComfyUI-ascii-art": { - "stars": 4, + "stars": 3, "last_update": "2024-11-21 05:24:12", - "author_account_age_days": 3102 + "author_account_age_days": 3173 }, "https://github.com/tooldigital/ComfyUI-Yolo-Cropper": { "stars": 6, "last_update": "2024-06-14 13:59:48", - "author_account_age_days": 4516 + "author_account_age_days": 4588 }, "https://github.com/toxicwind/ComfyUI-TTools": { "stars": 1, "last_update": "2024-07-04 20:07:35", - "author_account_age_days": 4569 + "author_account_age_days": 4640 }, "https://github.com/toyxyz/ComfyUI_rgbx_Wrapper": { - "stars": 64, + "stars": 76, "last_update": "2024-12-25 02:02:16", - "author_account_age_days": 3849 + "author_account_age_days": 3920 }, "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": { - "stars": 535, - "last_update": "2024-11-15 19:13:08", - "author_account_age_days": 3849 + "stars": 564, + "last_update": "2025-03-14 10:45:21", + "author_account_age_days": 3920 + }, + "https://github.com/traugdor/ComfyUI-Riffusion": { + "stars": 3, + "last_update": "2025-03-08 06:05:38", + "author_account_age_days": 4091 + }, + "https://github.com/traugdor/ComfyUI-UltimateSDUpscale-GGUF": { + "stars": 3, + "last_update": "2025-02-25 01:17:06", + "author_account_age_days": 4091 }, "https://github.com/traugdor/ComfyUI-quadMoons-nodes": { - "stars": 13, - "last_update": "2024-11-03 00:10:00", - "author_account_age_days": 4019 + "stars": 14, + "last_update": "2025-02-26 02:01:36", + "author_account_age_days": 4091 }, "https://github.com/tritant/ComfyUI_CreaPrompt": { - "stars": 42, + "stars": 48, "last_update": "2024-12-11 09:08:22", - "author_account_age_days": 3340 + "author_account_age_days": 3411 }, "https://github.com/trojblue/trNodes": { "stars": 8, "last_update": "2024-05-22 18:04:36", - "author_account_age_days": 2457 + "author_account_age_days": 2528 }, "https://github.com/troyxmccall/ComfyUI-ScaleToTargetMegapixels": { - "stars": 2, + "stars": 1, "last_update": "2024-11-11 00:07:25", - "author_account_age_days": 5588 + "author_account_age_days": 5659 }, "https://github.com/trumanwong/ComfyUI-NSFW-Detection": { - "stars": 26, - "last_update": "2024-08-03 05:16:33", - "author_account_age_days": 3159 + "stars": 29, + "last_update": "2025-03-17 03:54:13", + "author_account_age_days": 3230 }, "https://github.com/tsogzark/ComfyUI-load-image-from-url": { - "stars": 16, + "stars": 18, "last_update": "2024-06-14 13:59:05", - "author_account_age_days": 1728 + "author_account_age_days": 1799 }, "https://github.com/ttulttul/ComfyUI-Iterative-Mixer": { "stars": 118, - "last_update": "2024-07-09 14:56:02", - "author_account_age_days": 4956 + "last_update": "2025-03-10 03:33:02", + "author_account_age_days": 5028 }, "https://github.com/ttulttul/ComfyUI-Tensor-Operations": { "stars": 5, - "last_update": "2024-06-12 21:55:39", - "author_account_age_days": 4956 + "last_update": "2025-02-03 16:57:00", + "author_account_age_days": 5028 }, "https://github.com/tungdop2/Comfyui_face_restorer": { "stars": 2, "last_update": "2024-11-21 15:53:59", - "author_account_age_days": 1623 + "author_account_age_days": 1694 }, "https://github.com/tungdop2/Comfyui_joy-caption-alpha-two": { "stars": 3, "last_update": "2024-11-26 07:47:26", - "author_account_age_days": 1623 + "author_account_age_days": 1694 }, "https://github.com/turkyden/ComfyUI-SmartCrop": { - "stars": 4, + "stars": 3, "last_update": "2024-10-08 09:36:34", - "author_account_age_days": 2948 + "author_account_age_days": 3019 }, "https://github.com/tusharbhutt/Endless-Nodes": { - "stars": 26, + "stars": 25, "last_update": "2024-08-20 02:23:16", - "author_account_age_days": 2864 + "author_account_age_days": 2935 }, "https://github.com/twri/sdxl_prompt_styler": { - "stars": 789, + "stars": 826, "last_update": "2024-05-22 18:16:58", - "author_account_age_days": 4267 + "author_account_age_days": 4338 }, "https://github.com/txt2any/ComfyUI-PromptOrganizer": { "stars": 0, "last_update": "2024-05-23 01:10:33", - "author_account_age_days": 283 + "author_account_age_days": 355 }, "https://github.com/ty0x2333/ComfyUI-Dev-Utils": { - "stars": 106, + "stars": 127, "last_update": "2024-10-03 23:26:45", - "author_account_age_days": 3902 + "author_account_age_days": 3973 }, "https://github.com/tzwm/comfyui-profiler": { - "stars": 145, + "stars": 149, "last_update": "2024-08-28 14:27:12", - "author_account_age_days": 4968 + "author_account_age_days": 5039 }, "https://github.com/uarefans/ComfyUI-Fans": { "stars": 16, "last_update": "2024-07-14 15:00:38", - "author_account_age_days": 1471 + "author_account_age_days": 1542 }, "https://github.com/uetuluk/comfyui-webcam-node": { - "stars": 3, + "stars": 4, "last_update": "2024-06-14 08:25:13", - "author_account_age_days": 2513 + "author_account_age_days": 2584 }, "https://github.com/umiyuki/comfyui-pad-to-eight": { - "stars": 1, + "stars": 0, "last_update": "2025-01-07 09:58:36", - "author_account_age_days": 3953 + "author_account_age_days": 4024 }, "https://github.com/un-seen/comfyui-tensorops": { - "stars": 14, + "stars": 20, "last_update": "2024-10-26 00:04:07", - "author_account_age_days": 1515 + "author_account_age_days": 1586 }, "https://github.com/un-seen/comfyui_segment_anything_plus": { - "stars": 5, + "stars": 4, "last_update": "2024-07-29 06:21:54", - "author_account_age_days": 1515 + "author_account_age_days": 1586 }, "https://github.com/unwdef/unwdef-nodes-comfyui": { - "stars": 2, + "stars": 3, "last_update": "2024-07-31 13:39:39", - "author_account_age_days": 272 + "author_account_age_days": 344 + }, + "https://github.com/vadimcro/VKRiez-Edge": { + "stars": 5, + "last_update": "2025-03-18 11:18:27", + "author_account_age_days": 2906 + }, + "https://github.com/vahidzxc/va-nodes": { + "stars": 2, + "last_update": "2025-03-22 01:50:08", + "author_account_age_days": 262 + }, + "https://github.com/vahlok-alunmid/ComfyUI-ExtendIPAdapterClipVision": { + "stars": 11, + "last_update": "2025-02-09 04:06:34", + "author_account_age_days": 2657 }, "https://github.com/valofey/Openrouter-Node": { - "stars": 2, - "last_update": "2024-09-26 14:38:37", - "author_account_age_days": 1582 + "stars": 3, + "last_update": "2025-02-13 21:26:22", + "author_account_age_days": 1654 }, "https://github.com/vanche1212/ComfyUI-ZMG-Nodes": { "stars": 3, "last_update": "2024-06-25 04:48:19", - "author_account_age_days": 3157 + "author_account_age_days": 3228 }, "https://github.com/vanillacode314/SimpleWildcardsComfyUI": { - "stars": 4, - "last_update": "2024-07-31 13:39:43", - "author_account_age_days": 1056 + "stars": 5, + "last_update": "2025-01-28 09:58:56", + "author_account_age_days": 1127 }, "https://github.com/var1ableX/ComfyUI_Accessories": { - "stars": 1, - "last_update": "2024-09-14 01:23:16", - "author_account_age_days": 4963 + "stars": 0, + "last_update": "2025-02-09 14:31:19", + "author_account_age_days": 5034 }, "https://github.com/vault-developer/comfyui-image-blender": { "stars": 20, "last_update": "2024-08-03 19:30:31", - "author_account_age_days": 2812 + "author_account_age_days": 2884 }, "https://github.com/veighnsche/comfyui_gr85": { - "stars": 2, + "stars": 1, "last_update": "2024-11-26 17:26:48", - "author_account_age_days": 3299 + "author_account_age_days": 3371 }, "https://github.com/victorchall/comfyui_webcamcapture": { - "stars": 12, + "stars": 13, "last_update": "2024-06-22 18:59:10", - "author_account_age_days": 3344 + "author_account_age_days": 3416 }, "https://github.com/vienteck/ComfyUI-Chat-GPT-Integration": { "stars": 31, "last_update": "2024-05-22 22:11:14", - "author_account_age_days": 3626 + "author_account_age_days": 3697 + }, + "https://github.com/vincentfs/ComfyUI-ArchiGraph": { + "stars": 2, + "last_update": "2025-01-23 17:29:09", + "author_account_age_days": 3936 }, "https://github.com/violet-chen/comfyui-psd2png": { - "stars": 15, - "last_update": "2024-06-12 15:30:14", - "author_account_age_days": 1597 - }, - "https://github.com/viperyl/ComfyUI-BiRefNet": { - "stars": 245, - "last_update": "2024-08-17 16:38:15", - "author_account_age_days": 2232 + "stars": 18, + "last_update": "2025-01-21 05:16:52", + "author_account_age_days": 1668 }, "https://github.com/viperyl/ComfyUI-RGT": { - "stars": 6, + "stars": 7, "last_update": "2024-06-20 15:33:50", - "author_account_age_days": 2232 + "author_account_age_days": 2303 }, "https://github.com/vivax3794/ComfyUI-Sub-Nodes": { - "stars": 156, - "last_update": "2024-11-03 04:06:08", - "author_account_age_days": 2037 + "stars": 162, + "last_update": "2025-02-21 07:03:30", + "author_account_age_days": 2109 }, "https://github.com/vivax3794/ComfyUI-Vivax-Nodes": { - "stars": 4, + "stars": 3, "last_update": "2024-09-07 18:42:27", - "author_account_age_days": 2037 + "author_account_age_days": 2109 + }, + "https://github.com/vkff5833/ComfyUI-MobileClient": { + "stars": 1, + "last_update": "2025-02-11 00:34:36", + "author_account_age_days": 565 }, "https://github.com/vkff5833/ComfyUI-PromptConverter": { "stars": 1, - "last_update": "2024-12-05 07:51:51", - "author_account_age_days": 494 + "last_update": "2025-01-27 18:35:41", + "author_account_age_days": 565 }, "https://github.com/vsevolod-oparin/comfyui-kandinsky22": { "stars": 10, "last_update": "2024-07-31 16:03:48", - "author_account_age_days": 5183 + "author_account_age_days": 5255 }, "https://github.com/vuongminh1907/ComfyUI_ZenID": { - "stars": 104, - "last_update": "2024-12-22 06:45:45", - "author_account_age_days": 771 + "stars": 146, + "last_update": "2025-02-20 03:35:57", + "author_account_age_days": 842 }, "https://github.com/wTechArtist/ComfyUI-CustomNodes": { - "stars": 3, + "stars": 2, "last_update": "2024-08-21 03:03:16", - "author_account_age_days": 1560 + "author_account_age_days": 1631 }, "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang": { - "stars": 2, + "stars": 1, "last_update": "2024-11-08 15:37:40", - "author_account_age_days": 1560 + "author_account_age_days": 1631 }, "https://github.com/wallish77/wlsh_nodes": { - "stars": 104, + "stars": 112, "last_update": "2024-06-19 12:01:29", - "author_account_age_days": 2419 + "author_account_age_days": 2490 }, "https://github.com/wandbrandon/comfyui-pixel": { "stars": 4, "last_update": "2024-06-14 07:07:09", - "author_account_age_days": 3582 + "author_account_age_days": 3654 }, "https://github.com/waterminer/ComfyUI-tagcomplete": { - "stars": 5, + "stars": 11, "last_update": "2025-01-06 00:13:57", - "author_account_age_days": 2311 + "author_account_age_days": 2382 }, "https://github.com/web3nomad/ComfyUI_Invisible_Watermark": { "stars": 1, "last_update": "2024-05-23 01:16:54", - "author_account_age_days": 1166 + "author_account_age_days": 1238 }, "https://github.com/webfiltered/DebugNode-ComfyUI": { - "stars": 5, + "stars": 7, "last_update": "2024-09-10 13:08:51", - "author_account_age_days": 173 + "author_account_age_days": 244 }, "https://github.com/wei30172/comfygen": { - "stars": 8, + "stars": 7, "last_update": "2024-11-07 22:10:50", - "author_account_age_days": 1812 + "author_account_age_days": 1883 }, "https://github.com/weilin9999/WeiLin-ComfyUI-prompt-all-in-one": { - "stars": 141, - "last_update": "2024-12-23 13:50:29", - "author_account_age_days": 2107 + "stars": 190, + "last_update": "2025-03-07 07:55:23", + "author_account_age_days": 2178 + }, + "https://github.com/weilin9999/WeiLin-Comfyui-Tools": { + "stars": 59, + "last_update": "2025-03-18 05:02:20", + "author_account_age_days": 2178 }, "https://github.com/welltop-cn/ComfyUI-TeaCache": { - "stars": 166, - "last_update": "2025-01-09 11:40:26", - "author_account_age_days": 1771 + "stars": 575, + "last_update": "2025-03-21 11:13:45", + "author_account_age_days": 1842 }, "https://github.com/wentao-uw/ComfyUI-template-matching": { - "stars": 1, + "stars": 0, "last_update": "2024-11-06 06:52:30", - "author_account_age_days": 1978 + "author_account_age_days": 2050 + }, + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor": { + "stars": 21, + "last_update": "2025-02-20 23:34:39", + "author_account_age_days": 565 + }, + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator": { + "stars": 10, + "last_update": "2025-01-25 05:53:53", + "author_account_age_days": 565 + }, + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": { + "stars": 6, + "last_update": "2025-01-25 05:54:27", + "author_account_age_days": 565 }, "https://github.com/whatbirdisthat/cyberdolphin": { "stars": 14, "last_update": "2024-07-31 13:40:12", - "author_account_age_days": 5686 + "author_account_age_days": 5757 }, "https://github.com/whmc76/ComfyUI-Openpose-Editor-Plus": { - "stars": 37, + "stars": 38, "last_update": "2024-06-20 13:52:34", - "author_account_age_days": 651 + "author_account_age_days": 722 }, "https://github.com/willchil/ComfyUI-Environment-Visualizer": { - "stars": 9, + "stars": 11, "last_update": "2024-10-09 02:48:18", - "author_account_age_days": 2837 + "author_account_age_days": 2908 + }, + "https://github.com/willmiao/ComfyUI-Lora-Manager": { + "stars": 79, + "last_update": "2025-03-22 01:01:19", + "author_account_age_days": 3628 }, "https://github.com/windfancy/zsq_prompt": { - "stars": 1, + "stars": 0, "last_update": "2024-12-15 14:58:52", - "author_account_age_days": 1736 + "author_account_age_days": 1807 + }, + "https://github.com/wirytiox/ComfyUI-SelectStringFromListWithIndex": { + "stars": 0, + "last_update": "2025-02-16 09:09:34", + "author_account_age_days": 1494 }, "https://github.com/wjl0313/ComfyUI_KimNodes": { - "stars": 13, - "last_update": "2025-01-09 05:00:12", - "author_account_age_days": 2070 + "stars": 27, + "last_update": "2025-01-20 03:19:15", + "author_account_age_days": 2142 }, "https://github.com/wmatson/easy-comfy-nodes": { "stars": 16, "last_update": "2024-10-08 01:54:33", - "author_account_age_days": 4316 + "author_account_age_days": 4388 }, "https://github.com/wmpmiles/comfyui-some-image-processing-stuff": { "stars": 3, "last_update": "2024-12-23 02:43:14", - "author_account_age_days": 3229 + "author_account_age_days": 3300 }, "https://github.com/wolfden/ComfyUi_PromptStylers": { - "stars": 84, - "last_update": "2024-09-03 18:33:52", - "author_account_age_days": 5920 + "stars": 89, + "last_update": "2025-02-15 18:38:12", + "author_account_age_days": 5991 }, "https://github.com/wolfden/ComfyUi_String_Function_Tree": { "stars": 9, "last_update": "2024-05-22 18:29:16", - "author_account_age_days": 5920 + "author_account_age_days": 5991 }, "https://github.com/wootwootwootwoot/ComfyUI-RK-Sampler": { "stars": 53, "last_update": "2024-08-17 21:12:43", - "author_account_age_days": 1767 + "author_account_age_days": 1838 }, "https://github.com/wqjuser/ComfyUI-Chat-Image": { - "stars": 1, + "stars": 0, "last_update": "2024-12-26 07:00:30", - "author_account_age_days": 3133 + "author_account_age_days": 3204 }, "https://github.com/wu12023/ComfyUI-Image-Evaluation": { - "stars": 3, + "stars": 5, "last_update": "2024-12-06 06:51:15", - "author_account_age_days": 516 + "author_account_age_days": 587 }, "https://github.com/wujm424606/ComfyUi-Ollama-YN": { - "stars": 74, + "stars": 75, "last_update": "2024-09-17 13:20:02", - "author_account_age_days": 2462 + "author_account_age_days": 2533 }, "https://github.com/wutipong/ComfyUI-TextUtils": { "stars": 1, "last_update": "2024-06-14 09:34:31", - "author_account_age_days": 4384 + "author_account_age_days": 4455 }, "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio": { "stars": 1, "last_update": "2024-05-22 22:22:25", - "author_account_age_days": 5249 + "author_account_age_days": 5320 }, "https://github.com/xXAdonesXx/NodeGPT": { - "stars": 341, + "stars": 346, "last_update": "2024-06-20 11:41:30", - "author_account_age_days": 1678 + "author_account_age_days": 1749 }, "https://github.com/xfgexo/EXO-Custom-ComfyUI-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-12-24 14:07:18", - "author_account_age_days": 628 + "author_account_age_days": 699 }, "https://github.com/xiaoxiaodesha/hd_node": { "stars": 14, "last_update": "2024-06-11 02:36:48", - "author_account_age_days": 3073 + "author_account_age_days": 3145 + }, + "https://github.com/xingBaGan/ComfyUI-connect-ui": { + "stars": 0, + "last_update": "2025-03-11 13:24:25", + "author_account_age_days": 2065 }, "https://github.com/xlinx/ComfyUI-decadetw-auto-messaging-realtime": { - "stars": 6, + "stars": 7, "last_update": "2024-08-30 17:38:52", - "author_account_age_days": 4698 + "author_account_age_days": 4769 }, "https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm": { - "stars": 19, - "last_update": "2024-08-30 17:39:03", - "author_account_age_days": 4698 + "stars": 21, + "last_update": "2025-02-01 18:36:52", + "author_account_age_days": 4769 }, "https://github.com/xlinx/ComfyUI-decadetw-spout-syphon-im-vj": { - "stars": 10, + "stars": 11, "last_update": "2024-09-03 08:55:08", - "author_account_age_days": 4698 + "author_account_age_days": 4769 }, "https://github.com/xliry/ComfyUI_SendDiscord": { "stars": 0, "last_update": "2024-05-23 02:21:38", - "author_account_age_days": 1472 + "author_account_age_days": 1544 }, "https://github.com/xobiomesh/ComfyUI_xObiomesh": { - "stars": 3, + "stars": 2, "last_update": "2024-11-08 17:10:40", - "author_account_age_days": 1888 + "author_account_age_days": 1960 }, "https://github.com/xs315431/Comfyui_Get_promptId": { "stars": 1, "last_update": "2024-12-02 09:30:53", - "author_account_age_days": 1474 + "author_account_age_days": 1545 }, "https://github.com/xuhongming251/ComfyUI-GPEN": { "stars": 4, "last_update": "2024-06-15 14:33:37", - "author_account_age_days": 4305 + "author_account_age_days": 4376 }, "https://github.com/xuhongming251/ComfyUI-MuseTalkUtils": { - "stars": 19, + "stars": 20, "last_update": "2024-06-15 14:32:32", - "author_account_age_days": 4305 + "author_account_age_days": 4376 }, "https://github.com/xuhongming251/ComfyUI_Camera": { "stars": 2, "last_update": "2024-12-25 07:31:32", - "author_account_age_days": 4305 + "author_account_age_days": 4376 + }, + "https://github.com/yanhuifair/comfyui-janus": { + "stars": 4, + "last_update": "2025-02-09 18:52:37", + "author_account_age_days": 3832 }, "https://github.com/yanlang0123/ComfyUI_Lam": { - "stars": 14, - "last_update": "2024-11-30 08:19:45", - "author_account_age_days": 3007 + "stars": 23, + "last_update": "2025-03-06 14:52:23", + "author_account_age_days": 3078 + }, + "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch": { + "stars": 0, + "last_update": "2025-03-20 14:14:00", + "author_account_age_days": 1667 }, "https://github.com/ycchanau/ComfyUI_Preview_Magnifier": { - "stars": 3, + "stars": 2, "last_update": "2024-07-31 13:59:12", - "author_account_age_days": 2316 + "author_account_age_days": 2387 }, "https://github.com/ycyy/ComfyUI-YCYY-LoraInfo": { "stars": 6, "last_update": "2024-09-30 02:33:25", - "author_account_age_days": 3623 + "author_account_age_days": 3695 }, "https://github.com/yffyhk/comfyui_auto_danbooru": { "stars": 1, "last_update": "2024-05-22 23:23:03", - "author_account_age_days": 3921 + "author_account_age_days": 3992 }, "https://github.com/yhayano-ponotech/ComfyUI-Fal-API-Flux": { - "stars": 34, - "last_update": "2024-12-29 04:32:45", - "author_account_age_days": 769 + "stars": 44, + "last_update": "2025-01-16 08:47:22", + "author_account_age_days": 841 + }, + "https://github.com/yhayano-ponotech/comfyui-save-image-local": { + "stars": 2, + "last_update": "2025-01-15 12:30:50", + "author_account_age_days": 841 + }, + "https://github.com/yhayano-ponotech/comfyui-stability-ai-api": { + "stars": 0, + "last_update": "2025-02-19 00:38:33", + "author_account_age_days": 841 + }, + "https://github.com/yichengup/ComfyUI-VideoBlender": { + "stars": 33, + "last_update": "2025-02-18 14:31:51", + "author_account_age_days": 395 + }, + "https://github.com/yichengup/ComfyUI-YCNodes": { + "stars": 17, + "last_update": "2025-03-03 14:15:36", + "author_account_age_days": 395 + }, + "https://github.com/yichengup/ComfyUI_Yc_JanusPro": { + "stars": 7, + "last_update": "2025-01-29 22:26:38", + "author_account_age_days": 395 + }, + "https://github.com/yichengup/Comfyui-Deepseek": { + "stars": 26, + "last_update": "2025-02-23 19:36:53", + "author_account_age_days": 395 }, "https://github.com/yichengup/Comfyui-Ycanvas": { - "stars": 58, + "stars": 65, "last_update": "2024-12-22 01:26:50", - "author_account_age_days": 323 + "author_account_age_days": 395 }, "https://github.com/yichengup/Comfyui_Flux_Style_Adjust": { - "stars": 226, - "last_update": "2024-12-12 08:22:38", - "author_account_age_days": 323 + "stars": 249, + "last_update": "2025-02-19 05:08:27", + "author_account_age_days": 395 }, "https://github.com/yichengup/Comfyui_Redux_Advanced": { - "stars": 33, - "last_update": "2025-01-08 20:53:45", - "author_account_age_days": 323 + "stars": 75, + "last_update": "2025-02-13 16:31:59", + "author_account_age_days": 395 }, "https://github.com/yiwangsimple/ComfyUI_DW_Chat": { - "stars": 86, - "last_update": "2024-11-08 08:42:14", - "author_account_age_days": 751 + "stars": 87, + "last_update": "2025-02-06 03:34:59", + "author_account_age_days": 822 }, "https://github.com/yiwangsimple/florence_dw": { - "stars": 34, - "last_update": "2024-10-21 06:40:25", - "author_account_age_days": 751 + "stars": 41, + "last_update": "2025-02-13 01:52:15", + "author_account_age_days": 822 }, "https://github.com/yolain/ComfyUI-Easy-Use": { - "stars": 1202, - "last_update": "2025-01-08 04:22:33", - "author_account_age_days": 1539 + "stars": 1406, + "last_update": "2025-03-17 01:39:30", + "author_account_age_days": 1611 }, "https://github.com/yolanother/ComfyUI-Save16bitPng": { - "stars": 4, + "stars": 3, "last_update": "2024-12-23 01:50:04", - "author_account_age_days": 5062 + "author_account_age_days": 5134 }, "https://github.com/yolanother/DTAIComfyImageSubmit": { "stars": 1, "last_update": "2024-09-25 04:40:23", - "author_account_age_days": 5062 + "author_account_age_days": 5134 }, "https://github.com/yolanother/DTAIComfyLoaders": { "stars": 1, "last_update": "2024-11-18 09:35:46", - "author_account_age_days": 5062 + "author_account_age_days": 5134 }, "https://github.com/yolanother/DTAIComfyPromptAgent": { "stars": 5, "last_update": "2024-05-22 18:14:18", - "author_account_age_days": 5062 + "author_account_age_days": 5134 }, "https://github.com/yolanother/DTAIComfyQRCodes": { "stars": 3, "last_update": "2024-05-22 18:15:09", - "author_account_age_days": 5062 + "author_account_age_days": 5134 }, "https://github.com/yolanother/DTAIComfyVariables": { - "stars": 10, + "stars": 11, "last_update": "2024-05-22 18:15:21", - "author_account_age_days": 5062 + "author_account_age_days": 5134 }, "https://github.com/yolanother/DTAIImageToTextNode": { "stars": 19, "last_update": "2024-05-22 18:14:31", - "author_account_age_days": 5062 + "author_account_age_days": 5134 }, "https://github.com/yondonfu/ComfyUI-Background-Edit": { "stars": 19, "last_update": "2024-12-31 23:15:33", - "author_account_age_days": 4074 + "author_account_age_days": 4146 }, "https://github.com/yondonfu/ComfyUI-Torch-Compile": { - "stars": 3, + "stars": 2, "last_update": "2024-12-25 18:42:17", - "author_account_age_days": 4074 + "author_account_age_days": 4146 }, "https://github.com/yorkane/ComfyUI-KYNode": { - "stars": 4, - "last_update": "2024-12-26 14:25:21", - "author_account_age_days": 3588 + "stars": 5, + "last_update": "2025-02-20 13:51:59", + "author_account_age_days": 3660 }, "https://github.com/youyegit/tdxh_node_comfyui": { - "stars": 3, - "last_update": "2024-10-23 01:56:00", - "author_account_age_days": 627 + "stars": 2, + "last_update": "2025-03-17 08:22:16", + "author_account_age_days": 699 }, "https://github.com/yuan199696/add_text_2_img": { - "stars": 7, + "stars": 6, "last_update": "2024-08-15 02:51:45", - "author_account_age_days": 2642 + "author_account_age_days": 2713 }, "https://github.com/yuan199696/chinese_clip_encode": { - "stars": 6, + "stars": 7, "last_update": "2024-08-15 02:47:23", - "author_account_age_days": 2642 + "author_account_age_days": 2713 }, "https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt": { - "stars": 90, - "last_update": "2024-12-02 18:15:56", - "author_account_age_days": 2351 + "stars": 95, + "last_update": "2025-03-11 16:09:50", + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-Dwpose-Tensorrt": { - "stars": 21, + "stars": 20, "last_update": "2024-10-01 11:19:11", - "author_account_age_days": 2351 + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-Facerestore-Tensorrt": { - "stars": 15, + "stars": 16, "last_update": "2024-09-22 13:07:19", - "author_account_age_days": 2351 + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-PiperTTS": { - "stars": 29, + "stars": 27, "last_update": "2024-05-22 23:17:27", - "author_account_age_days": 2351 + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-Pronodes": { - "stars": 2, + "stars": 3, "last_update": "2025-01-05 10:06:31", - "author_account_age_days": 2351 + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-Rife-Tensorrt": { - "stars": 9, + "stars": 14, "last_update": "2024-10-04 10:23:26", - "author_account_age_days": 2351 + "author_account_age_days": 2423 + }, + "https://github.com/yuvraj108c/ComfyUI-Thera": { + "stars": 26, + "last_update": "2025-03-18 14:15:29", + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt": { - "stars": 75, - "last_update": "2024-09-24 17:35:22", - "author_account_age_days": 2351 + "stars": 82, + "last_update": "2025-03-07 12:13:49", + "author_account_age_days": 2423 + }, + "https://github.com/yuvraj108c/ComfyUI-Video-Depth-Anything": { + "stars": 16, + "last_update": "2025-02-09 09:22:17", + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-Vsgan": { "stars": 3, "last_update": "2024-05-22 23:17:02", - "author_account_age_days": 2351 + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-Whisper": { - "stars": 79, + "stars": 95, "last_update": "2024-08-06 05:31:10", - "author_account_age_days": 2351 + "author_account_age_days": 2423 }, "https://github.com/yuvraj108c/ComfyUI-YoloNasPose-Tensorrt": { - "stars": 11, + "stars": 12, "last_update": "2024-06-28 15:59:14", - "author_account_age_days": 2351 + "author_account_age_days": 2423 + }, + "https://github.com/yuvraj108c/ComfyUI_InvSR": { + "stars": 173, + "last_update": "2025-02-03 18:13:41", + "author_account_age_days": 2423 }, "https://github.com/yvann-ba/ComfyUI_Yvann-Nodes": { - "stars": 324, - "last_update": "2024-11-19 21:42:23", - "author_account_age_days": 1099 + "stars": 387, + "last_update": "2025-03-20 13:07:31", + "author_account_age_days": 1170 }, "https://github.com/za-wa-n-go/ComfyUI_Zwng_Nodes": { "stars": 7, "last_update": "2024-10-19 12:15:24", - "author_account_age_days": 787 + "author_account_age_days": 858 + }, + "https://github.com/zaheenrahman/ComfyUI-ColorCorrection": { + "stars": 0, + "last_update": "2025-03-21 09:52:29", + "author_account_age_days": 2631 }, "https://github.com/zcfrank1st/Comfyui-Toolbox": { "stars": 6, "last_update": "2024-05-22 22:08:07", - "author_account_age_days": 4614 + "author_account_age_days": 4685 }, "https://github.com/zcfrank1st/Comfyui-Yolov8": { "stars": 23, "last_update": "2024-06-14 07:08:40", - "author_account_age_days": 4614 + "author_account_age_days": 4685 }, "https://github.com/zcfrank1st/comfyui_visual_anagrams": { "stars": 8, "last_update": "2024-06-14 07:07:27", - "author_account_age_days": 4614 + "author_account_age_days": 4685 + }, + "https://github.com/zentrocdot/ComfyUI-RealESRGAN_Upscaler": { + "stars": 4, + "last_update": "2025-02-09 18:27:16", + "author_account_age_days": 481 + }, + "https://github.com/zentrocdot/ComfyUI-Simple_Image_To_Prompt": { + "stars": 0, + "last_update": "2025-02-20 06:30:19", + "author_account_age_days": 481 + }, + "https://github.com/zentrocdot/ComfyUI_Circle_Detection": { + "stars": 1, + "last_update": "2025-02-07 17:32:46", + "author_account_age_days": 481 }, "https://github.com/zer0TF/cute-comfy": { "stars": 35, "last_update": "2024-05-22 21:18:53", - "author_account_age_days": 2869 + "author_account_age_days": 2940 }, "https://github.com/zer0thgear/zer0-comfy-utils": { "stars": 0, - "last_update": "2024-11-16 23:48:18", - "author_account_age_days": 315 + "last_update": "2025-01-26 19:33:59", + "author_account_age_days": 387 }, "https://github.com/zeroxoxo/ComfyUI-Fast-Style-Transfer": { - "stars": 70, + "stars": 71, "last_update": "2024-08-15 03:56:51", - "author_account_age_days": 2642 + "author_account_age_days": 2713 }, "https://github.com/zfkun/ComfyUI_zfkun": { - "stars": 22, - "last_update": "2025-01-01 13:48:04", - "author_account_age_days": 5062 + "stars": 21, + "last_update": "2025-03-10 07:09:38", + "author_account_age_days": 5133 }, "https://github.com/zhangp365/ComfyUI-utils-nodes": { - "stars": 44, - "last_update": "2024-12-26 02:46:11", - "author_account_age_days": 490 + "stars": 58, + "last_update": "2025-03-19 07:13:12", + "author_account_age_days": 561 }, "https://github.com/zhangp365/ComfyUI_photomakerV2_native": { - "stars": 6, + "stars": 8, "last_update": "2024-11-09 03:17:11", - "author_account_age_days": 490 + "author_account_age_days": 561 }, "https://github.com/zhilemann/ComfyUI-moondream2": { "stars": 1, "last_update": "2024-12-29 13:17:31", - "author_account_age_days": 492 + "author_account_age_days": 564 }, "https://github.com/zhiselfly/ComfyUI-Alimama-ControlNet-compatible": { - "stars": 18, + "stars": 17, "last_update": "2024-09-14 13:46:05", - "author_account_age_days": 3548 + "author_account_age_days": 3620 }, "https://github.com/zhongpei/ComfyUI-InstructIR": { - "stars": 69, + "stars": 71, "last_update": "2024-05-22 23:19:43", - "author_account_age_days": 3658 + "author_account_age_days": 3729 }, "https://github.com/zhuanqianfish/ComfyUI-EasyNode": { "stars": 65, "last_update": "2024-06-14 07:10:18", - "author_account_age_days": 4434 + "author_account_age_days": 4505 }, "https://github.com/zhulu111/ComfyUI_Bxb": { - "stars": 1244, - "last_update": "2024-12-13 08:42:11", - "author_account_age_days": 238 + "stars": 1337, + "last_update": "2025-02-05 10:33:45", + "author_account_age_days": 309 + }, + "https://github.com/zichongc/ComfyUI-Attention-Distillation": { + "stars": 94, + "last_update": "2025-03-18 02:48:42", + "author_account_age_days": 767 + }, + "https://github.com/ziwang-com/comfyui-deepseek-r1": { + "stars": 57, + "last_update": "2025-02-02 14:24:35", + "author_account_age_days": 3646 }, "https://github.com/zmwv823/ComfyUI_Anytext": { - "stars": 33, - "last_update": "2025-01-01 01:41:26", - "author_account_age_days": 3468 - }, - "https://github.com/zmwv823/ComfyUI_Ctrlora": { - "stars": 16, - "last_update": "2024-12-03 06:48:08", - "author_account_age_days": 3468 + "stars": 60, + "last_update": "2025-03-18 03:48:03", + "author_account_age_days": 3539 }, "https://github.com/zohac/ComfyUI_ZC_DrawShape": { "stars": 3, "last_update": "2024-06-25 15:05:28", - "author_account_age_days": 2860 + "author_account_age_days": 2932 }, "https://github.com/zombieyang/sd-ppp": { - "stars": 559, - "last_update": "2024-12-31 12:27:33", - "author_account_age_days": 4116 + "stars": 1117, + "last_update": "2025-03-21 00:37:32", + "author_account_age_days": 4188 }, "https://github.com/zubenelakrab/ComfyUI-ASV-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-11-04 00:51:29", - "author_account_age_days": 5160 + "author_account_age_days": 5232 } } \ No newline at end of file diff --git a/glob/cm_global.py b/glob/cm_global.py index 4041bcb6..e5d2237c 100644 --- a/glob/cm_global.py +++ b/glob/cm_global.py @@ -110,3 +110,8 @@ def add_on_revision_detected(k, f): traceback.print_exc() else: variables['cm.on_revision_detected_handler'].append((k, f)) + + +error_dict = {} + +disable_front = False \ No newline at end of file diff --git a/glob/cnr_utils.py b/glob/cnr_utils.py index 3c6431e8..6a61aaa3 100644 --- a/glob/cnr_utils.py +++ b/glob/cnr_utils.py @@ -1,26 +1,122 @@ -import requests +import asyncio +import json +import os +import platform +import time from dataclasses import dataclass from typing import List + +import manager_core import manager_util +import requests import toml -import os base_url = "https://api.comfy.org" -async def get_cnr_data(page=1, limit=1000, cache_mode=True): - try: - uri = f'{base_url}/nodes?page={page}&limit={limit}' - json_obj = await manager_util.get_data_with_cache(uri, cache_mode=cache_mode) +lock = asyncio.Lock() - for v in json_obj['nodes']: +is_cache_loading = False + +async def get_cnr_data(cache_mode=True, dont_wait=True): + try: + return await _get_cnr_data(cache_mode, dont_wait) + except asyncio.TimeoutError: + print("A timeout occurred during the fetch process from ComfyRegistry.") + return await _get_cnr_data(cache_mode=True, dont_wait=True) # timeout fallback + +async def _get_cnr_data(cache_mode=True, dont_wait=True): + global is_cache_loading + + uri = f'{base_url}/nodes' + + async def fetch_all(): + remained = True + page = 1 + + full_nodes = {} + + + # Determine form factor based on environment and platform + is_desktop = bool(os.environ.get('__COMFYUI_DESKTOP_VERSION__')) + system = platform.system().lower() + is_windows = system == 'windows' + is_mac = system == 'darwin' + is_linux = system == 'linux' + + # Get ComfyUI version tag + if is_desktop: + # extract version from pyproject.toml instead of git tag + comfyui_ver = manager_core.get_current_comfyui_ver() or 'unknown' + else: + comfyui_ver = manager_core.get_comfyui_tag() or 'unknown' + + if is_desktop: + if is_windows: + form_factor = 'desktop-win' + elif is_mac: + form_factor = 'desktop-mac' + else: + form_factor = 'other' + else: + if is_windows: + form_factor = 'git-windows' + elif is_mac: + form_factor = 'git-mac' + elif is_linux: + form_factor = 'git-linux' + else: + form_factor = 'other' + + while remained: + # Add comfyui_version and form_factor to the API request + sub_uri = f'{base_url}/nodes?page={page}&limit=30&comfyui_version={comfyui_ver}&form_factor={form_factor}' + sub_json_obj = await asyncio.wait_for(manager_util.get_data_with_cache(sub_uri, cache_mode=False, silent=True, dont_cache=True), timeout=30) + remained = page < sub_json_obj['totalPages'] + + for x in sub_json_obj['nodes']: + full_nodes[x['id']] = x + + if page % 5 == 0: + print(f"FETCH ComfyRegistry Data: {page}/{sub_json_obj['totalPages']}") + + page += 1 + time.sleep(0.5) + + print("FETCH ComfyRegistry Data [DONE]") + + for v in full_nodes.values(): if 'latest_version' not in v: v['latest_version'] = dict(version='nightly') + return {'nodes': list(full_nodes.values())} + + if cache_mode: + is_cache_loading = True + cache_state = manager_util.get_cache_state(uri) + + if dont_wait: + if cache_state == 'not-cached': + return {} + else: + print("[ComfyUI-Manager] The ComfyRegistry cache update is still in progress, so an outdated cache is being used.") + with open(manager_util.get_cache_path(uri), 'r', encoding="UTF-8", errors="ignore") as json_file: + return json.load(json_file)['nodes'] + + if cache_state == 'cached': + with open(manager_util.get_cache_path(uri), 'r', encoding="UTF-8", errors="ignore") as json_file: + return json.load(json_file)['nodes'] + + try: + json_obj = await fetch_all() + manager_util.save_to_cache(uri, json_obj) return json_obj['nodes'] except: res = {} print("Cannot connect to comfyregistry.") + finally: + if cache_mode: + is_cache_loading = False return res @@ -92,7 +188,7 @@ def install_node(node_id, version=None): def all_versions_of_node(node_id): - url = f"https://api.comfy.org/nodes/{node_id}/versions?statuses=NodeVersionStatusActive&statuses=NodeVersionStatusPending" + url = f"{base_url}/nodes/{node_id}/versions?statuses=NodeVersionStatusActive&statuses=NodeVersionStatusPending" response = requests.get(url) if response.status_code == 200: @@ -113,8 +209,11 @@ def read_cnr_info(fullpath): data = toml.load(f) project = data.get('project', {}) - name = project.get('name') - version = project.get('version') + name = project.get('name').strip().lower() + + # normalize version + # for example: 2.5 -> 2.5.0 + version = str(manager_util.StrictVersion(project.get('version'))) urls = project.get('urls', {}) repository = urls.get('Repository') diff --git a/glob/git_utils.py b/glob/git_utils.py index 720edd4b..5228198e 100644 --- a/glob/git_utils.py +++ b/glob/git_utils.py @@ -2,6 +2,9 @@ import os import configparser +GITHUB_ENDPOINT = os.getenv('GITHUB_ENDPOINT') + + def is_git_repo(path: str) -> bool: """ Check if the path is a git repository. """ # NOTE: Checking it through `git.Repo` must be avoided. @@ -37,7 +40,8 @@ def git_url(fullpath): if not os.path.exists(git_config_path): return None - config = configparser.ConfigParser() + # Set `strict=False` to allow duplicate `vscode-merge-base` sections, addressing + config = configparser.ConfigParser(strict=False) config.read(git_config_path) for k, v in config.items(): @@ -46,16 +50,36 @@ def git_url(fullpath): return None + def normalize_url(url) -> str: - url = url.replace("git@github.com:", "https://github.com/") - if url.endswith('.git'): - url = url[:-4] + github_id = normalize_to_github_id(url) + if github_id is not None: + url = f"https://github.com/{github_id}" return url -def normalize_url_http(url) -> str: - url = url.replace("https://github.com/", "git@github.com:") - if url.endswith('.git'): - url = url[:-4] - return url \ No newline at end of file +def normalize_to_github_id(url) -> str: + if 'github' in url or (GITHUB_ENDPOINT is not None and GITHUB_ENDPOINT in url): + author = os.path.basename(os.path.dirname(url)) + + if author.startswith('git@github.com:'): + author = author.split(':')[1] + + repo_name = os.path.basename(url) + if repo_name.endswith('.git'): + repo_name = repo_name[:-4] + + return f"{author}/{repo_name}" + + return None + + +def get_url_for_clone(url): + url = normalize_url(url) + + if GITHUB_ENDPOINT is not None and url.startswith('https://github.com/'): + url = GITHUB_ENDPOINT + url[18:] # url[18:] -> remove `https://github.com` + + return url + \ No newline at end of file diff --git a/glob/manager_core.py b/glob/manager_core.py index 1ff608e9..04dd5e98 100644 --- a/glob/manager_core.py +++ b/glob/manager_core.py @@ -4,6 +4,7 @@ description: """ import json +import logging import os import sys import subprocess @@ -22,6 +23,7 @@ import yaml import zipfile import traceback from concurrent.futures import ThreadPoolExecutor, as_completed +import toml orig_print = print @@ -41,7 +43,7 @@ import manager_downloader from node_package import InstalledNodePackage -version_code = [3, 5, 1] +version_code = [3, 31, 7] version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '') @@ -51,6 +53,11 @@ DEFAULT_CHANNEL = "https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/ma default_custom_nodes_path = None +class InvalidChannel(Exception): + def __init__(self, channel): + self.channel = channel + super().__init__(channel) + def get_default_custom_nodes_path(): global default_custom_nodes_path if default_custom_nodes_path is None: @@ -73,21 +80,44 @@ def get_custom_nodes_paths(): def get_comfyui_tag(): - repo = git.Repo(comfy_path) try: + repo = git.Repo(comfy_path) return repo.git.describe('--tags') except: return None +def get_current_comfyui_ver(): + """ + Extract version from pyproject.toml + """ + toml_path = os.path.join(comfy_path, 'pyproject.toml') + if not os.path.exists(toml_path): + return None + else: + try: + with open(toml_path, "r", encoding="utf-8") as f: + data = toml.load(f) + + project = data.get('project', {}) + return project.get('version') + except: + return None + + def get_script_env(): - copied = os.environ.copy() + new_env = os.environ.copy() git_exe = get_config().get('git_exe') if git_exe is not None: - copied['GIT_EXE_PATH'] = git_exe - copied['COMFYUI_PATH'] = comfy_path + new_env['GIT_EXE_PATH'] = git_exe - return copied + if 'COMFYUI_PATH' not in new_env: + new_env['COMFYUI_PATH'] = comfy_path + + if 'COMFYUI_FOLDERS_BASE_PATH' not in new_env: + new_env['COMFYUI_FOLDERS_BASE_PATH'] = comfy_path + + return new_env invalid_nodes = {} @@ -112,7 +142,7 @@ def check_invalid_nodes(): sys.path.append(comfy_path) import folder_paths except: - raise Exception(f"Invalid COMFYUI_PATH: {comfy_path}") + raise Exception(f"Invalid COMFYUI_FOLDERS_BASE_PATH: {comfy_path}") def check(root): global invalid_nodes @@ -122,7 +152,6 @@ def check_invalid_nodes(): if subdir in ['.disabled', '__pycache__']: continue - package = unified_manager.installed_node_packages.get(subdir) if not package: continue @@ -148,7 +177,10 @@ def check_invalid_nodes(): print("\n---------------------------------------------------------------------------\n") -comfy_path = os.environ.get('COMFYUI_PATH') +# read env vars +comfy_path: str = os.environ.get('COMFYUI_PATH') +comfy_base_path = os.environ.get('COMFYUI_FOLDERS_BASE_PATH') + if comfy_path is None: try: import folder_paths @@ -156,6 +188,9 @@ if comfy_path is None: except: comfy_path = os.path.abspath(os.path.join(manager_util.comfyui_manager_path, '..', '..')) +if comfy_base_path is None: + comfy_base_path = comfy_path + channel_list_template_path = os.path.join(manager_util.comfyui_manager_path, 'channels.list.template') git_script_path = os.path.join(manager_util.comfyui_manager_path, "git_helper.py") @@ -163,9 +198,10 @@ git_script_path = os.path.join(manager_util.comfyui_manager_path, "git_helper.py manager_files_path = None manager_config_path = None manager_channel_list_path = None -manager_startup_script_path = None +manager_startup_script_path:str = None manager_snapshot_path = None manager_pip_overrides_path = None +manager_pip_blacklist_path = None manager_components_path = None def update_user_directory(user_dir): @@ -175,6 +211,7 @@ def update_user_directory(user_dir): global manager_startup_script_path global manager_snapshot_path global manager_pip_overrides_path + global manager_pip_blacklist_path global manager_components_path manager_files_path = os.path.abspath(os.path.join(user_dir, 'default', 'ComfyUI-Manager')) @@ -192,6 +229,7 @@ def update_user_directory(user_dir): manager_config_path = os.path.join(manager_files_path, 'config.ini') manager_channel_list_path = os.path.join(manager_files_path, 'channels.list') manager_pip_overrides_path = os.path.join(manager_files_path, "pip_overrides.json") + manager_pip_blacklist_path = os.path.join(manager_files_path, "pip_blacklist.list") manager_components_path = os.path.join(manager_files_path, "components") manager_util.cache_dir = os.path.join(manager_files_path, "cache") @@ -218,6 +256,7 @@ comfy_ui_revision = "Unknown" comfy_ui_commit_datetime = datetime(1900, 1, 1, 0, 0, 0) channel_dict = None +valid_channels = set() channel_list = None @@ -233,7 +272,7 @@ def remap_pip_package(pkg): def is_blacklisted(name): name = name.strip() - pattern = r'([^<>!=]+)([<>!=]=?)([^ ]*)' + pattern = r'([^<>!~=]+)([<>!~=]=?)([^ ]*)' match = re.search(pattern, name) if match: @@ -248,7 +287,7 @@ def is_blacklisted(name): if match is None: if name in pips: return True - elif match.group(2) in ['<=', '==', '<']: + elif match.group(2) in ['<=', '==', '<', '~=']: if name in pips: if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)): return True @@ -262,7 +301,7 @@ def is_installed(name): if name.startswith('#'): return True - pattern = r'([^<>!=]+)([<>!=]=?)([0-9.a-zA-Z]*)' + pattern = r'([^<>!~=]+)([<>!~=]=?)([0-9.a-zA-Z]*)' match = re.search(pattern, name) if match: @@ -277,7 +316,7 @@ def is_installed(name): if match is None: if name in pips: return True - elif match.group(2) in ['<=', '==', '<']: + elif match.group(2) in ['<=', '==', '<', '~=']: if name in pips: if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)): print(f"[ComfyUI-Manager] skip black listed pip installation: '{name}'") @@ -314,13 +353,15 @@ def normalize_channel(channel): return None elif channel.startswith('https://'): return channel + elif channel.startswith('http://') and get_config()['http_channel_enabled'] == True: + return channel tmp_dict = get_channel_dict() channel_url = tmp_dict.get(channel) if channel_url: return channel_url - raise Exception(f"Invalid channel name '{channel}'") + raise InvalidChannel(channel) class ManagedResult: @@ -332,6 +373,7 @@ class ManagedResult: self.msg = None self.target = None self.postinstall = lambda: True + self.ver = None def append(self, item): self.items.append(item) @@ -353,6 +395,10 @@ class ManagedResult: self.postinstall = postinstall return self + def with_ver(self, ver): + self.ver = ver + return self + class UnifiedManager: def __init__(self): @@ -368,6 +414,16 @@ class UnifiedManager: self.custom_node_map_cache = {} # (channel, mode) -> augmented custom node list json self.processed_install = set() + def get_module_name(self, x): + info = self.active_nodes.get(x) + if info is None: + for url, fullpath in self.unknown_active_nodes.values(): + if url == x: + return os.path.basename(fullpath) + else: + return os.path.basename(info[1]) + + return None def get_cnr_by_repo(self, url): return self.repo_cnr_map.get(git_utils.normalize_url(url)) @@ -474,6 +530,8 @@ class UnifiedManager: def resolve_from_path(self, fullpath): url = git_utils.git_url(fullpath) if url: + url = git_utils.normalize_url(url) + cnr = self.get_cnr_by_repo(url) commit_hash = git_utils.get_commit_hash(fullpath) if cnr: @@ -490,7 +548,10 @@ class UnifiedManager: if info: cnr = self.cnr_map.get(info['id']) if cnr: - return {'id': cnr['id'], 'cnr': cnr, 'ver': info['version']} + # normalize version + # for example: 2.5 -> 2.5.0 + ver = str(manager_util.StrictVersion(info['version'])) + return {'id': cnr['id'], 'cnr': cnr, 'ver': ver} else: return None else: @@ -501,18 +562,22 @@ class UnifiedManager: self.installed_node_packages[node_package.id] = node_package if node_package.is_disabled and node_package.is_unknown: - # NOTE: unknown package does not have an url. - self.unknown_inactive_nodes[node_package.id] = ('', node_package.fullpath) + url = git_utils.git_url(node_package.fullpath) + if url is not None: + url = git_utils.normalize_url(url) + self.unknown_inactive_nodes[node_package.id] = (url, node_package.fullpath) if node_package.is_disabled and node_package.is_nightly: self.nightly_inactive_nodes[node_package.id] = node_package.fullpath - if node_package.is_enabled: + if node_package.is_enabled and not node_package.is_unknown: self.active_nodes[node_package.id] = node_package.version, node_package.fullpath if node_package.is_enabled and node_package.is_unknown: - # NOTE: unknown package does not have an url. - self.unknown_active_nodes[node_package.id] = ('', node_package.fullpath) + url = git_utils.git_url(node_package.fullpath) + if url is not None: + url = git_utils.normalize_url(url) + self.unknown_active_nodes[node_package.id] = (url, node_package.fullpath) if node_package.is_from_cnr and node_package.is_disabled: self.add_to_cnr_inactive_nodes(node_package.id, node_package.version, node_package.fullpath) @@ -664,7 +729,7 @@ class UnifiedManager: return latest - async def reload(self, cache_mode): + async def reload(self, cache_mode, dont_wait=True): self.custom_node_map_cache = {} self.cnr_inactive_nodes = {} # node_id -> node_version -> fullpath self.nightly_inactive_nodes = {} # node_id -> fullpath @@ -672,12 +737,14 @@ class UnifiedManager: self.unknown_active_nodes = {} # node_id -> repo url * fullpath self.active_nodes = {} # node_id -> node_version * fullpath + if get_config()['network_mode'] != 'public': + dont_wait = True + # reload 'cnr_map' and 'repo_cnr_map' - cnrs = await cnr_utils.get_cnr_data(cache_mode=cache_mode) + cnrs = await cnr_utils.get_cnr_data(cache_mode=cache_mode=='cache', dont_wait=dont_wait) for x in cnrs: self.cnr_map[x['id']] = x - if 'repository' in x: normalized_url = git_utils.normalize_url(x['repository']) self.repo_cnr_map[normalized_url] = x @@ -701,6 +768,9 @@ class UnifiedManager: @staticmethod async def load_nightly(channel, mode): + if channel is None: + return {} + res = {} channel_url = normalize_channel(channel) @@ -709,28 +779,39 @@ class UnifiedManager: print(f"[bold red]ERROR: Invalid mode is specified `--mode {mode}`[/bold red]", file=sys.stderr) return {} + # validate channel - only the channel set by the user is allowed. + if channel_url not in valid_channels: + logging.error(f'[ComfyUI-Manager] An invalid channel was used: {channel_url}') + raise InvalidChannel(channel_url) + json_obj = await get_data_by_mode(mode, 'custom-node-list.json', channel_url=channel_url) for x in json_obj['custom_nodes']: - for y in x['files']: - if 'github.com' in y and not (y.endswith('.py') or y.endswith('.js')): - repo_name = y.split('/')[-1] - res[repo_name] = (x, False) + try: + for y in x['files']: + if 'github.com' in y and not (y.endswith('.py') or y.endswith('.js')): + repo_name = y.split('/')[-1] + res[repo_name] = (x, False) - if 'id' in x: - if x['id'] not in res: - res[x['id']] = (x, True) + if 'id' in x: + if x['id'] not in res: + res[x['id']] = (x, True) + except: + logging.error(f"[ComfyUI-Manager] broken item:{x}") return res async def get_custom_nodes(self, channel, mode): - default_channel = normalize_channel('default') - cache = self.custom_node_map_cache.get((default_channel, mode)) # CNR/nightly should always be based on the default channel. + if channel is None and mode is None: + channel = 'default' + mode = 'cache' + + channel = normalize_channel(channel) + cache = self.custom_node_map_cache.get((channel, mode)) # CNR/nightly should always be based on the default channel. if cache is not None: return cache channel = normalize_channel(channel) - print(f"nightly_channel: {channel}/{mode}") nodes = await self.load_nightly(channel, mode) res = {} @@ -749,10 +830,13 @@ class UnifiedManager: v['title'] = cnr['name'] v['description'] = cnr['description'] v['health'] = '-' + if 'repository' in cnr: + v['repository'] = cnr['repository'] added_cnr.add(cnr['id']) node_id = v['id'] else: node_id = v['files'][0].split('/')[-1] + v['repository'] = v['files'][0] res[node_id] = v elif len(v['files']) > 1: res[v['files'][0]] = v # A custom node composed of multiple url is treated as a single repository with one representative path @@ -771,33 +855,32 @@ class UnifiedManager: install_script_path = os.path.join(repo_path, "install.py") requirements_path = os.path.join(repo_path, "requirements.txt") + res = True if lazy_mode: install_cmd = ["#LAZY-INSTALL-SCRIPT", sys.executable] return try_install_script(url, repo_path, install_cmd) else: if os.path.exists(requirements_path) and not no_deps: print("Install: pip packages") - pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages()) - res = True - with open(requirements_path, "r") as requirements_file: - for line in requirements_file: - package_name = remap_pip_package(line.strip()) - if package_name and not package_name.startswith('#') and package_name not in self.processed_install: - self.processed_install.add(package_name) - install_cmd = [sys.executable, "-m", "pip", "install", package_name] - if package_name.strip() != "" and not package_name.startswith('#'): - res = res and try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, manager_files_path) + lines = manager_util.robust_readlines(requirements_path) + for line in lines: + package_name = remap_pip_package(line.strip()) + if package_name and not package_name.startswith('#') and package_name not in self.processed_install: + self.processed_install.add(package_name) + install_cmd = manager_util.make_pip_cmd(["install", package_name]) + if package_name.strip() != "" and not package_name.startswith('#'): + res = res and try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) pip_fixer.fix_broken() - return res if os.path.exists(install_script_path) and install_script_path not in self.processed_install: self.processed_install.add(install_script_path) print("Install: install script") install_cmd = [sys.executable, "install.py"] - return try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) + return res and try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) - return True + return res def reserve_cnr_switch(self, target, zip_url, from_path, to_path, no_deps): script_path = os.path.join(manager_startup_script_path, "install-scripts.txt") @@ -809,14 +892,6 @@ class UnifiedManager: return True - def reserve_migration(self, moves): - script_path = os.path.join(manager_startup_script_path, "install-scripts.txt") - with open(script_path, "a") as file: - obj = ["", "#LAZY-MIGRATION", moves] - file.write(f"{obj}\n") - - return True - def unified_fix(self, node_id, version_spec, instant_execution=False, no_deps=False): """ fix dependencies @@ -824,7 +899,11 @@ class UnifiedManager: result = ManagedResult('fix') - info = self.active_nodes.get(node_id) + if version_spec == 'unknown': + info = self.unknown_active_nodes.get(node_id) + else: + info = self.active_nodes.get(node_id) + if info is None or not os.path.exists(info[1]): return result.fail(f'not found: {node_id}@{version_spec}') @@ -889,7 +968,7 @@ class UnifiedManager: archive_name = f"CNR_temp_{str(uuid.uuid4())}.zip" # should be unpredictable name - security precaution download_path = os.path.join(get_default_custom_nodes_path(), archive_name) - manager_downloader.download_url(node_info.download_url, get_default_custom_nodes_path(), archive_name) + manager_downloader.basic_download_url(node_info.download_url, get_default_custom_nodes_path(), archive_name) # 2. extract files into install_path = self.active_nodes[node_id][1] @@ -942,7 +1021,7 @@ class UnifiedManager: return result - def unified_enable(self, node_id, version_spec=None): + def unified_enable(self, node_id: str, version_spec=None): """ priority if version_spec == None 1. CNR latest in disk @@ -954,6 +1033,9 @@ class UnifiedManager: result = ManagedResult('enable') + if 'comfyui-manager' in node_id.lower(): + return result.fail(f"ignored: enabling '{node_id}'") + if version_spec is None: version_spec = self.resolve_unspecified_version(node_id, guess_mode='inactive') if version is None: @@ -1008,8 +1090,8 @@ class UnifiedManager: # update cache if version_spec == 'unknown': + self.unknown_active_nodes[node_id] = self.unknown_inactive_nodes[node_id][0], to_path del self.unknown_inactive_nodes[node_id] - self.unknown_active_nodes[node_id] = to_path return result.with_target(to_path) elif version_spec == 'nightly': del self.nightly_inactive_nodes[node_id] @@ -1019,9 +1101,12 @@ class UnifiedManager: self.active_nodes[node_id] = version_spec, to_path return result.with_target(to_path) - def unified_disable(self, node_id, is_unknown): + def unified_disable(self, node_id: str, is_unknown): result = ManagedResult('disable') + if 'comfyui-manager' in node_id.lower(): + return result.fail(f"ignored: disabling '{node_id}'") + if is_unknown: version_spec = 'unknown' else: @@ -1077,6 +1162,9 @@ class UnifiedManager: """ result = ManagedResult('uninstall') + if 'comfyui-manager' in node_id.lower(): + return result.fail(f"ignored: uninstalling '{node_id}'") + if is_unknown: # remove from actives repo_and_path = self.unknown_active_nodes.get(node_id) @@ -1109,14 +1197,14 @@ class UnifiedManager: ver_and_path = self.active_nodes.get(node_id) if ver_and_path is not None and os.path.exists(ver_and_path[1]): - shutil.rmtree(ver_and_path[1]) + try_rmtree(node_id, ver_and_path[1]) result.items.append(ver_and_path) del self.active_nodes[node_id] # remove from nightly inactives fullpath = self.nightly_inactive_nodes.get(node_id) if fullpath is not None and os.path.exists(fullpath): - shutil.rmtree(fullpath) + try_rmtree(node_id, fullpath) result.items.append(('nightly', fullpath)) del self.nightly_inactive_nodes[node_id] @@ -1124,7 +1212,7 @@ class UnifiedManager: ver_map = self.cnr_inactive_nodes.get(node_id) if ver_map is not None: for key, fullpath in ver_map.items(): - shutil.rmtree(fullpath) + try_rmtree(node_id, fullpath) result.items.append((key, fullpath)) del self.cnr_inactive_nodes[node_id] @@ -1133,9 +1221,12 @@ class UnifiedManager: return result - def cnr_install(self, node_id, version_spec=None, instant_execution=False, no_deps=False, return_postinstall=False): + def cnr_install(self, node_id: str, version_spec=None, instant_execution=False, no_deps=False, return_postinstall=False): result = ManagedResult('install-cnr') + if 'comfyui-manager' in node_id.lower(): + return result.fail(f"ignored: installing '{node_id}'") + node_info = cnr_utils.install_node(node_id, version_spec) if node_info is None or not node_info.download_url: return result.fail(f'not available node: {node_id}@{version_spec}') @@ -1180,25 +1271,29 @@ class UnifiedManager: return result - def repo_install(self, url, repo_path, instant_execution=False, no_deps=False, return_postinstall=False): + def repo_install(self, url: str, repo_path: str, instant_execution=False, no_deps=False, return_postinstall=False): result = ManagedResult('install-git') result.append(url) + if 'comfyui-manager' in url.lower(): + return result.fail(f"ignored: installing '{url}'") + if not is_valid_url(url): return result.fail(f"Invalid git url: {url}") if url.endswith("/"): url = url[:-1] try: - print(f"Download: git clone '{url}'") - # Clone the repository from the remote URL + clone_url = git_utils.get_url_for_clone(url) + print(f"Download: git clone '{clone_url}'") + if not instant_execution and platform.system() == 'Windows': - res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", get_default_custom_nodes_path(), url, repo_path], cwd=get_default_custom_nodes_path()) + res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", get_default_custom_nodes_path(), clone_url, repo_path], cwd=get_default_custom_nodes_path()) if res != 0: - return result.fail(f"Failed to clone repo: {url}") + return result.fail(f"Failed to clone repo: {clone_url}") else: - repo = git.Repo.clone_from(url, repo_path, recursive=True, progress=GitProgress()) + repo = git.Repo.clone_from(clone_url, repo_path, recursive=True, progress=GitProgress()) repo.git.clear_cache() repo.close() @@ -1212,7 +1307,8 @@ class UnifiedManager: return result.fail(f"Failed to execute install script: {url}") except Exception as e: - return result.fail(f"Install(git-clone) error: {url} / {e}") + traceback.print_exc() + return result.fail(f"Install(git-clone) error[2]: {url} / {e}") print("Installation was successful.") return result @@ -1227,24 +1323,29 @@ class UnifiedManager: repo = git.Repo(repo_path) if repo.head.is_detached: - switch_to_default_branch(repo) + if not switch_to_default_branch(repo): + return result.fail(f"Failed to switch to default branch: {repo_path}") current_branch = repo.active_branch branch_name = current_branch.name if current_branch.tracking_branch() is None: print(f"[ComfyUI-Manager] There is no tracking branch ({current_branch})") - remote_name = 'origin' + remote_name = get_remote_name(repo) else: remote_name = current_branch.tracking_branch().remote_name + + if remote_name is None: + return result.fail(f"Failed to get remote when installing: {repo_path}") + remote = repo.remote(name=remote_name) try: remote.fetch() except Exception as e: if 'detected dubious' in str(e): - print("[ComfyUI-Manager] Try fixing 'dubious repository' error on 'ComfyUI' repository") - safedir_path = comfy_path.replace('\\', '/') + print(f"[ComfyUI-Manager] Try fixing 'dubious repository' error on '{repo_path}' repository") + safedir_path = repo_path.replace('\\', '/') subprocess.run(['git', 'config', '--global', '--add', 'safe.directory', safedir_path]) try: remote.fetch() @@ -1255,7 +1356,10 @@ class UnifiedManager: "-----------------------------------------------------------------------------------------\n") commit_hash = repo.head.commit.hexsha - remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + if f'{remote_name}/{branch_name}' in repo.refs: + remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + else: + return result.fail(f"Not updatable branch: {branch_name}") if commit_hash != remote_commit_hash: git_pull(repo_path) @@ -1285,16 +1389,16 @@ class UnifiedManager: version_spec = self.resolve_unspecified_version(node_id, guess_mode='active') if version_spec is None: - return ManagedResult('update').fail(f'Update not available: {node_id}@{version_spec}') + return ManagedResult('update').fail(f'Update not available: {node_id}@{version_spec}').with_ver(version_spec) if version_spec == 'nightly': - return self.repo_update(self.active_nodes[node_id][1], instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall).with_target('nightly') + return self.repo_update(self.active_nodes[node_id][1], instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall).with_target('nightly').with_ver('nightly') elif version_spec == 'unknown': - return self.repo_update(self.unknown_active_nodes[node_id][1], instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall).with_target('unknown') + return self.repo_update(self.unknown_active_nodes[node_id][1], instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall).with_target('unknown').with_ver('unknown') else: - return self.cnr_switch_version(node_id, instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall) + return self.cnr_switch_version(node_id, instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall).with_ver('cnr') - async def install_by_id(self, node_id, version_spec=None, channel=None, mode=None, instant_execution=False, no_deps=False, return_postinstall=False): + async def install_by_id(self, node_id: str, version_spec=None, channel=None, mode=None, instant_execution=False, no_deps=False, return_postinstall=False): """ priority if version_spec == None 1. CNR latest @@ -1303,6 +1407,9 @@ class UnifiedManager: remark: latest version_spec is not allowed. Must be resolved before call. """ + if 'comfyui-manager' in node_id.lower(): + return ManagedResult('skip').fail(f"ignored: installing '{node_id}'") + repo_url = None if version_spec is None: if self.is_enabled(node_id): @@ -1313,10 +1420,17 @@ class UnifiedManager: version_spec = self.resolve_unspecified_version(node_id) if version_spec == 'unknown' or version_spec == 'nightly': - custom_nodes = await self.get_custom_nodes(channel, mode) + try: + custom_nodes = await self.get_custom_nodes(channel, mode) + except InvalidChannel as e: + return ManagedResult('fail').fail(f'Invalid channel is used: {e.channel}') + the_node = custom_nodes.get(node_id) if the_node is not None: - repo_url = the_node['files'][0] + if version_spec == 'unknown': + repo_url = the_node['files'][0] + else: # nightly + repo_url = the_node['repository'] else: result = ManagedResult('install') return result.fail(f"Node '{node_id}@{version_spec}' not found in [{channel}, {mode}]") @@ -1337,10 +1451,12 @@ class UnifiedManager: res = self.repo_install(repo_url, to_path, instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall) if res.result: if version_spec == 'unknown': - self.unknown_active_nodes[node_id] = to_path + self.unknown_active_nodes[node_id] = repo_url, to_path elif version_spec == 'nightly': cnr_utils.generate_cnr_id(to_path, node_id) self.active_nodes[node_id] = 'nightly', to_path + else: + return res return res.with_target(version_spec) @@ -1366,28 +1482,6 @@ class UnifiedManager: return res - async def migrate_unmanaged_nodes(self): - """ - fix path for nightly and unknown nodes of unmanaged nodes - """ - await self.reload('cache') - await self.get_custom_nodes('default', 'cache') - - print("Migration: STAGE 1") - moves = [] - - # migrate nightly inactive - for x, v in self.nightly_inactive_nodes.items(): - if v.endswith('@nightly'): - continue - - new_path = os.path.join(get_default_custom_nodes_path(), '.disabled', f"{x}@nightly") - moves.append((v, new_path)) - - self.reserve_migration(moves) - - print("DONE (Migration reserved)") - unified_manager = UnifiedManager() @@ -1402,7 +1496,7 @@ def identify_node_pack_from_path(fullpath): # cnr cnr = cnr_utils.read_cnr_info(fullpath) if cnr is not None: - return module_name, cnr['version'], cnr['id'] + return module_name, cnr['version'], cnr['id'], None return None else: @@ -1410,10 +1504,18 @@ def identify_node_pack_from_path(fullpath): cnr_id = cnr_utils.read_cnr_id(fullpath) commit_hash = git_utils.get_commit_hash(fullpath) + github_id = git_utils.normalize_to_github_id(repo_url) + if github_id is None: + try: + github_id = os.path.basename(repo_url) + except: + logging.warning(f"[ComfyUI-Manager] unexpected repo url: {repo_url}") + github_id = module_name + if cnr_id is not None: - return module_name, commit_hash, cnr_id + return module_name, commit_hash, cnr_id, github_id else: - return module_name, commit_hash, '' + return module_name, commit_hash, '', github_id def get_installed_node_packs(): @@ -1431,7 +1533,7 @@ def get_installed_node_packs(): is_disabled = not y.endswith('.disabled') - res[info[0]] = { 'ver': info[1], 'cnr_id': info[2], 'enabled': is_disabled } + res[info[0]] = { 'ver': info[1], 'cnr_id': info[2], 'aux_id': info[3], 'enabled': is_disabled } disabled_dirs = os.path.join(x, '.disabled') if os.path.exists(disabled_dirs): @@ -1444,13 +1546,19 @@ def get_installed_node_packs(): if info is None: continue - res[info[0]] = { 'ver': info[1], 'cnr_id': info[2], 'enabled': False } + res[info[0]] = { 'ver': info[1], 'cnr_id': info[2], 'aux_id': info[3], 'enabled': False } return res +def refresh_channel_dict(): + if channel_dict is None: + get_channel_dict() + + def get_channel_dict(): global channel_dict + global valid_channels if channel_dict is None: channel_dict = {} @@ -1464,6 +1572,7 @@ def get_channel_dict(): channel_info = x.split("::") if len(channel_info) == 2: channel_dict[channel_info[0]] = channel_info[1] + valid_channels.add(channel_info[1]) return channel_dict @@ -1500,22 +1609,25 @@ manager_funcs = ManagerFuncs() def write_config(): - config = configparser.ConfigParser() + config = configparser.ConfigParser(strict=False) + config['default'] = { 'preview_method': manager_funcs.get_current_preview_method(), - 'git_exe': get_config()['git_exe'], + 'git_exe': get_config()['git_exe'], + 'use_uv': get_config()['use_uv'], 'channel_url': get_config()['channel_url'], 'share_option': get_config()['share_option'], 'bypass_ssl': get_config()['bypass_ssl'], "file_logging": get_config()['file_logging'], - 'default_ui': get_config()['default_ui'], 'component_policy': get_config()['component_policy'], - 'double_click_policy': get_config()['double_click_policy'], + 'update_policy': get_config()['update_policy'], 'windows_selector_event_loop_policy': get_config()['windows_selector_event_loop_policy'], 'model_download_by_agent': get_config()['model_download_by_agent'], 'downgrade_blacklist': get_config()['downgrade_blacklist'], 'security_level': get_config()['security_level'], - 'skip_migration_check': get_config()['skip_migration_check'], + 'always_lazy_install': get_config()['always_lazy_install'], + 'network_mode': get_config()['network_mode'], + 'db_mode': get_config()['db_mode'], } directory = os.path.dirname(manager_config_path) @@ -1528,52 +1640,56 @@ def write_config(): def read_config(): try: - config = configparser.ConfigParser() + config = configparser.ConfigParser(strict=False) config.read(manager_config_path) default_conf = config['default'] + manager_util.use_uv = default_conf['use_uv'].lower() == 'true' if 'use_uv' in default_conf else False - # policy migration: disable_unsecure_features -> security_level - if 'disable_unsecure_features' in default_conf: - if default_conf['disable_unsecure_features'].lower() == 'true': - security_level = 'strong' - else: - security_level = 'normal' - else: - security_level = default_conf['security_level'] if 'security_level' in default_conf else 'normal' + def get_bool(key, default_value): + return default_conf[key].lower() == 'true' if key in default_conf else False return { - 'preview_method': default_conf['preview_method'] if 'preview_method' in default_conf else manager_funcs.get_current_preview_method(), - 'git_exe': default_conf['git_exe'] if 'git_exe' in default_conf else '', - 'channel_url': default_conf['channel_url'] if 'channel_url' in default_conf else DEFAULT_CHANNEL, - 'share_option': default_conf['share_option'] if 'share_option' in default_conf else 'all', - 'bypass_ssl': default_conf['bypass_ssl'].lower() == 'true' if 'bypass_ssl' in default_conf else False, - 'file_logging': default_conf['file_logging'].lower() == 'true' if 'file_logging' in default_conf else True, - 'default_ui': default_conf['default_ui'] if 'default_ui' in default_conf else 'none', - 'component_policy': default_conf['component_policy'] if 'component_policy' in default_conf else 'workflow', - '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'].lower() == 'true' if 'windows_selector_event_loop_policy' in default_conf else False, - 'model_download_by_agent': default_conf['model_download_by_agent'].lower() == 'true' if 'model_download_by_agent' in default_conf else False, - 'downgrade_blacklist': default_conf['downgrade_blacklist'] if 'downgrade_blacklist' in default_conf else '', - 'skip_migration_check': default_conf['skip_migration_check'].lower() == 'true' if 'skip_migration_check' in default_conf else False, - 'security_level': security_level + 'http_channel_enabled': get_bool('http_channel_enabled', False), + 'preview_method': default_conf.get('preview_method', manager_funcs.get_current_preview_method()).lower(), + 'git_exe': default_conf.get('git_exe', ''), + 'use_uv': get_bool('use_uv', False), + 'channel_url': default_conf.get('channel_url', DEFAULT_CHANNEL), + 'default_cache_as_channel_url': get_bool('default_cache_as_channel_url', False), + 'share_option': default_conf.get('share_option', 'all').lower(), + 'bypass_ssl': get_bool('bypass_ssl', False), + 'file_logging': get_bool('file_logging', True), + 'component_policy': default_conf.get('component_policy', 'workflow').lower(), + 'update_policy': default_conf.get('update_policy', 'stable-comfyui').lower(), + 'windows_selector_event_loop_policy': get_bool('windows_selector_event_loop_policy', False), + 'model_download_by_agent': get_bool('model_download_by_agent', False), + 'downgrade_blacklist': default_conf.get('downgrade_blacklist', '').lower(), + 'always_lazy_install': get_bool('always_lazy_install', False), + 'network_mode': default_conf.get('network_mode', 'public').lower(), + 'security_level': default_conf.get('security_level', 'normal').lower(), + 'db_mode': default_conf.get('db_mode', 'cache').lower(), } except Exception: + manager_util.use_uv = False return { + 'http_channel_enabled': False, 'preview_method': manager_funcs.get_current_preview_method(), 'git_exe': '', + 'use_uv': False, 'channel_url': DEFAULT_CHANNEL, + 'default_cache_as_channel_url': False, 'share_option': 'all', 'bypass_ssl': False, 'file_logging': True, - 'default_ui': 'none', 'component_policy': 'workflow', - 'double_click_policy': 'copy-all', + 'update_policy': 'stable-comfyui', 'windows_selector_event_loop_policy': False, 'model_download_by_agent': False, 'downgrade_blacklist': '', - 'skip_migration_check': False, - 'security_level': 'normal', + 'always_lazy_install': False, + 'network_mode': 'public', # public | private | offline + 'security_level': 'normal', # strong | normal | normal- | weak + 'db_mode': 'cache', # local | cache | remote } @@ -1582,47 +1698,108 @@ def get_config(): if cached_config is None: cached_config = read_config() + if cached_config['http_channel_enabled']: + print("[ComfyUI-Manager] Warning: http channel enabled, make sure server in secure env") return cached_config +def get_remote_name(repo): + available_remotes = [remote.name for remote in repo.remotes] + if 'origin' in available_remotes: + return 'origin' + elif 'upstream' in available_remotes: + return 'upstream' + elif len(available_remotes) > 0: + return available_remotes[0] + + if not available_remotes: + print(f"[ComfyUI-Manager] No remotes are configured for this repository: {repo.working_dir}") + else: + print(f"[ComfyUI-Manager] Available remotes in '{repo.working_dir}': ") + for remote in available_remotes: + print(f"- {remote}") + + return None + + def switch_to_default_branch(repo): + remote_name = get_remote_name(repo) + try: - default_branch = repo.git.symbolic_ref('refs/remotes/origin/HEAD').replace('refs/remotes/origin/', '') + if remote_name is None: + return False + + default_branch = repo.git.symbolic_ref(f'refs/remotes/{remote_name}/HEAD').replace(f'refs/remotes/{remote_name}/', '') repo.git.checkout(default_branch) + return True except: + # try checkout master + # try checkout main if failed try: repo.git.checkout(repo.heads.master) + return True except: try: - repo.git.checkout('-b', 'master', 'origin/master') + if remote_name is not None: + repo.git.checkout('-b', 'master', f'{remote_name}/master') + return True except: - print("[ComfyUI Manager] Failed to switch to the default branch") + try: + repo.git.checkout(repo.heads.main) + return True + except: + try: + if remote_name is not None: + repo.git.checkout('-b', 'main', f'{remote_name}/main') + return True + except: + pass + + print("[ComfyUI Manager] Failed to switch to the default branch") + return False + + +def reserve_script(repo_path, install_cmds): + if not os.path.exists(manager_startup_script_path): + os.makedirs(manager_startup_script_path) + + script_path = os.path.join(manager_startup_script_path, "install-scripts.txt") + with open(script_path, "a") as file: + obj = [repo_path] + install_cmds + file.write(f"{obj}\n") + + +def try_rmtree(title, fullpath): + try: + shutil.rmtree(fullpath) + except Exception as e: + logging.warning(f"[ComfyUI-Manager] An error occurred while deleting '{fullpath}', so it has been scheduled for deletion upon restart.\nEXCEPTION: {e}") + reserve_script(title, ["#LAZY-DELETE-NODEPACK", fullpath]) def try_install_script(url, repo_path, install_cmd, instant_execution=False): - if not instant_execution and ((len(install_cmd) > 0 and install_cmd[0].startswith('#')) or (platform.system() == "Windows" and comfy_ui_commit_datetime.date() >= comfy_ui_required_commit_datetime.date())): - if not os.path.exists(manager_startup_script_path): - os.makedirs(manager_startup_script_path) - - script_path = os.path.join(manager_startup_script_path, "install-scripts.txt") - with open(script_path, "a") as file: - obj = [repo_path] + install_cmd - file.write(f"{obj}\n") - + if not instant_execution and ( + (len(install_cmd) > 0 and install_cmd[0].startswith('#')) or platform.system() == "Windows" or get_config()['always_lazy_install'] + ): + reserve_script(repo_path, install_cmd) return True else: if len(install_cmd) == 5 and install_cmd[2:4] == ['pip', 'install']: if is_blacklisted(install_cmd[4]): print(f"[ComfyUI-Manager] skip black listed pip installation: '{install_cmd[4]}'") return True + elif len(install_cmd) == 6 and install_cmd[3:5] == ['pip', 'install']: # uv mode + if is_blacklisted(install_cmd[5]): + print(f"[ComfyUI-Manager] skip black listed pip installation: '{install_cmd[5]}'") + return True print(f"\n## ComfyUI-Manager: EXECUTE => {install_cmd}") code = manager_funcs.run_script(install_cmd, cwd=repo_path) if platform.system() != "Windows": try: - if comfy_ui_commit_datetime.date() < comfy_ui_required_commit_datetime.date(): + if not os.environ.get('__COMFYUI_DESKTOP_VERSION__') and comfy_ui_commit_datetime.date() < comfy_ui_required_commit_datetime.date(): print("\n\n###################################################################") print(f"[WARN] ComfyUI-Manager: Your ComfyUI version ({comfy_ui_revision})[{comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version.") print("[WARN] The extension installation feature may not work properly in the current installed ComfyUI version on Windows environment.") @@ -1716,7 +1893,7 @@ def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=Fa else: if os.path.exists(requirements_path) and not no_deps: print("Install: pip packages") - pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages()) + pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, manager_files_path) with open(requirements_path, "r") as requirements_file: for line in requirements_file: #handle comments @@ -1732,9 +1909,9 @@ def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=Fa if package_name and not package_name.startswith('#'): if '--index-url' in package_name: s = package_name.split('--index-url') - install_cmd = [sys.executable, "-m", "pip", "install", s[0].strip(), '--index-url', s[1].strip()] + install_cmd = manager_util.make_pip_cmd(["install", s[0].strip(), '--index-url', s[1].strip()]) else: - install_cmd = [sys.executable, "-m", "pip", "install", package_name] + install_cmd = manager_util.make_pip_cmd(["install", package_name]) if package_name.strip() != "" and not package_name.startswith('#'): try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) @@ -1778,7 +1955,11 @@ def git_repo_update_check_with(path, do_fetch=False, do_update=False, no_deps=Fa # Fetch the latest commits from the remote repository repo = git.Repo(path) - remote_name = 'origin' + remote_name = get_remote_name(repo) + + if remote_name is None: + raise ValueError(f"No remotes are configured for this repository: {path}") + remote = repo.remote(name=remote_name) if not do_update and repo.head.is_detached: @@ -1788,7 +1969,8 @@ def git_repo_update_check_with(path, do_fetch=False, do_update=False, no_deps=Fa return True, True # detached branch is treated as updatable if repo.head.is_detached: - switch_to_default_branch(repo) + if not switch_to_default_branch(repo): + raise ValueError(f"Failed to switch detached branch to default branch: {path}") current_branch = repo.active_branch branch_name = current_branch.name @@ -1805,11 +1987,16 @@ def git_repo_update_check_with(path, do_fetch=False, do_update=False, no_deps=Fa repo.git.stash() if f'{remote_name}/{branch_name}' not in repo.refs: - switch_to_default_branch(repo) + if not switch_to_default_branch(repo): + raise ValueError(f"Failed to switch to default branch while updating: {path}") + current_branch = repo.active_branch branch_name = current_branch.name - remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + if f'{remote_name}/{branch_name}' in repo.refs: + remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + else: + return False, False if commit_hash == remote_commit_hash: repo.close() @@ -1903,7 +2090,7 @@ async def gitclone_install(url, instant_execution=False, msg_prefix='', no_deps= cnr = unified_manager.get_cnr_by_repo(url) if cnr: cnr_id = cnr['id'] - return await unified_manager.install_by_id(cnr_id, version_spec='nightly') + return await unified_manager.install_by_id(cnr_id, version_spec='nightly', channel='default', mode='cache') else: repo_name = os.path.splitext(os.path.basename(url))[0] @@ -1929,12 +2116,14 @@ async def gitclone_install(url, instant_execution=False, msg_prefix='', no_deps= print(f"CLONE into '{repo_path}'") # Clone the repository from the remote URL + clone_url = git_utils.get_url_for_clone(url) + if not instant_execution and platform.system() == 'Windows': - res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", get_default_custom_nodes_path(), url, repo_path], cwd=get_default_custom_nodes_path()) + res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", get_default_custom_nodes_path(), clone_url, repo_path], cwd=get_default_custom_nodes_path()) if res != 0: - return result.fail(f"Failed to clone '{url}' into '{repo_path}'") + return result.fail(f"Failed to clone '{clone_url}' into '{repo_path}'") else: - repo = git.Repo.clone_from(url, repo_path, recursive=True, progress=GitProgress()) + repo = git.Repo.clone_from(clone_url, repo_path, recursive=True, progress=GitProgress()) repo.git.clear_cache() repo.close() @@ -1944,8 +2133,8 @@ async def gitclone_install(url, instant_execution=False, msg_prefix='', no_deps= except Exception as e: traceback.print_exc() - print(f"Install(git-clone) error: {url} / {e}", file=sys.stderr) - return result.fail(f"Install(git-clone) error: {url} / {e}") + print(f"Install(git-clone) error[1]: {url} / {e}", file=sys.stderr) + return result.fail(f"Install(git-clone)[1] error: {url} / {e}") def git_pull(path): @@ -1964,7 +2153,8 @@ def git_pull(path): repo.git.stash() if repo.head.is_detached: - switch_to_default_branch(repo) + if not switch_to_default_branch(repo): + raise ValueError(f"Failed to switch to default branch while pulling: {path}") current_branch = repo.active_branch remote_name = current_branch.tracking_branch().remote_name @@ -1983,9 +2173,10 @@ async def get_data_by_mode(mode, filename, channel_url=None): channel_url = get_channel_dict()[channel_url] try: + local_uri = os.path.join(manager_util.comfyui_manager_path, filename) + if mode == "local": - uri = os.path.join(manager_util.comfyui_manager_path, filename) - json_obj = await manager_util.get_data(uri) + json_obj = await manager_util.get_data(local_uri) else: if channel_url is None: uri = get_config()['channel_url'] + '/' + filename @@ -1995,19 +2186,25 @@ async def get_data_by_mode(mode, filename, channel_url=None): cache_uri = str(manager_util.simple_hash(uri))+'_'+filename cache_uri = os.path.join(manager_util.cache_dir, cache_uri) - if mode == "cache": - if manager_util.is_file_created_within_one_day(cache_uri): + if get_config()['network_mode'] == 'offline': + # offline network mode + if os.path.exists(cache_uri): + json_obj = await manager_util.get_data(cache_uri) + else: + local_uri = os.path.join(manager_util.comfyui_manager_path, filename) + if os.path.exists(local_uri): + json_obj = await manager_util.get_data(local_uri) + else: + json_obj = {} # fallback + else: + # public network mode + if mode == "cache" and manager_util.is_file_created_within_one_day(cache_uri): json_obj = await manager_util.get_data(cache_uri) else: json_obj = await manager_util.get_data(uri) with manager_util.cache_lock: with open(cache_uri, "w", encoding='utf-8') as file: json.dump(json_obj, file, indent=4, sort_keys=True) - else: - json_obj = await manager_util.get_data(uri) - with manager_util.cache_lock: - with open(cache_uri, "w", encoding='utf-8') as file: - json.dump(json_obj, file, indent=4, sort_keys=True) except Exception as e: print(f"[ComfyUI-Manager] Due to a network error, switching to local mode.\n=> {filename}\n=> {e}") uri = os.path.join(manager_util.comfyui_manager_path, filename) @@ -2036,7 +2233,7 @@ def gitclone_fix(files, instant_execution=False, no_deps=False): return False except Exception as e: - print(f"Install(git-clone) error: {url} / {e}", file=sys.stderr) + print(f"Fix(git-clone) error: {url} / {e}", file=sys.stderr) return False print(f"Attempt to fixing '{files}' is done.") @@ -2044,7 +2241,7 @@ def gitclone_fix(files, instant_execution=False, no_deps=False): def pip_install(packages): - install_cmd = ['#FORCE', sys.executable, "-m", "pip", "install", '-U'] + packages + install_cmd = ['#FORCE'] + manager_util.make_pip_cmd(["install", '-U']) + packages try_install_script('pip install via manager', '..', install_cmd) @@ -2220,6 +2417,39 @@ def gitclone_update(files, instant_execution=False, skip_script=False, msg_prefi return True +def update_to_stable_comfyui(repo_path): + try: + repo = git.Repo(repo_path) + try: + repo.git.checkout(repo.heads.master) + except: + logging.error(f"[ComfyUI-Manager] Failed to checkout 'master' branch.\nrepo_path={repo_path}\nAvailable branches:") + for branch in repo.branches: + logging.error('\t'+branch.name) + return "fail", None + + versions, current_tag, _ = get_comfyui_versions(repo) + + if len(versions) == 0 or (len(versions) == 1 and versions[0] == 'nightly'): + logging.info("[ComfyUI-Manager] Unable to update to the stable ComfyUI version.") + return "fail", None + + if versions[0] == 'nightly': + latest_tag = versions[1] + else: + latest_tag = versions[0] + + if current_tag == latest_tag: + return "skip", None + else: + logging.info(f"[ComfyUI-Manager] Updating ComfyUI: {current_tag} -> {latest_tag}") + repo.git.checkout(latest_tag) + return 'updated', latest_tag + except: + traceback.print_exc() + return "fail", None + + def update_path(repo_path, instant_execution=False, no_deps=False): if not os.path.exists(os.path.join(repo_path, '.git')): return "fail" @@ -2227,15 +2457,19 @@ def update_path(repo_path, instant_execution=False, no_deps=False): # version check repo = git.Repo(repo_path) + is_switched = False if repo.head.is_detached: - switch_to_default_branch(repo) + if not switch_to_default_branch(repo): + return "fail" + else: + is_switched = True current_branch = repo.active_branch branch_name = current_branch.name if current_branch.tracking_branch() is None: print(f"[ComfyUI-Manager] There is no tracking branch ({current_branch})") - remote_name = 'origin' + remote_name = get_remote_name(repo) else: remote_name = current_branch.tracking_branch().remote_name remote = repo.remote(name=remote_name) @@ -2244,8 +2478,8 @@ def update_path(repo_path, instant_execution=False, no_deps=False): remote.fetch() except Exception as e: if 'detected dubious' in str(e): - print("[ComfyUI-Manager] Try fixing 'dubious repository' error on 'ComfyUI' repository") - safedir_path = comfy_path.replace('\\', '/') + print(f"[ComfyUI-Manager] Try fixing 'dubious repository' error on '{repo_path}' repository") + safedir_path = repo_path.replace('\\', '/') subprocess.run(['git', 'config', '--global', '--add', 'safe.directory', safedir_path]) try: remote.fetch() @@ -2254,14 +2488,21 @@ def update_path(repo_path, instant_execution=False, no_deps=False): f"-----------------------------------------------------------------------------------------\n" f'git config --global --add safe.directory "{safedir_path}"\n' f"-----------------------------------------------------------------------------------------\n") + return "fail" commit_hash = repo.head.commit.hexsha - remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + + if f'{remote_name}/{branch_name}' in repo.refs: + remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + else: + return "fail" if commit_hash != remote_commit_hash: git_pull(repo_path) execute_install_script("ComfyUI", repo_path, instant_execution=instant_execution, no_deps=no_deps) return "updated" + elif is_switched: + return "updated" else: return "skipped" @@ -2323,16 +2564,20 @@ def check_state_of_git_node_pack_single(item, do_fetch=False, do_update_check=Tr if dir_path and os.path.exists(dir_path): if do_update_check: - update_state, success = git_repo_update_check_with(dir_path, do_fetch, do_update) - if (do_update_check or do_update) and update_state: - item['update-state'] = 'true' - elif do_update and not success: - item['update-state'] = 'fail' + try: + update_state, success = git_repo_update_check_with(dir_path, do_fetch, do_update) + if (do_update_check or do_update) and update_state: + item['update-state'] = 'true' + elif do_update and not success: + item['update-state'] = 'fail' + except Exception: + print(f"[ComfyUI-Manager] Failed to check state of the git node pack: {dir_path}") def get_installed_pip_packages(): # extract pip package infos - pips = subprocess.check_output([sys.executable, '-m', 'pip', 'freeze'], text=True).split('\n') + cmd = manager_util.make_pip_cmd(['freeze']) + pips = subprocess.check_output(cmd, text=True).split('\n') res = {} for x in pips: @@ -2348,20 +2593,19 @@ def get_installed_pip_packages(): return res -async def get_current_snapshot(): +async def get_current_snapshot(custom_nodes_only = False): await unified_manager.reload('cache') await unified_manager.get_custom_nodes('default', 'cache') # Get ComfyUI hash repo_path = comfy_path - if not os.path.exists(os.path.join(repo_path, '.git')): - print("ComfyUI update fail: The installed ComfyUI does not have a Git repository.") - return {} - - repo = git.Repo(repo_path) - comfyui_commit_hash = repo.head.commit.hexsha - + comfyui_commit_hash = None + if not custom_nodes_only: + if os.path.exists(os.path.join(repo_path, '.git')): + repo = git.Repo(repo_path) + comfyui_commit_hash = repo.head.commit.hexsha + git_custom_nodes = {} cnr_custom_nodes = {} file_custom_nodes = [] @@ -2397,8 +2641,21 @@ async def get_current_snapshot(): cnr_custom_nodes[info['id']] = info['ver'] else: repo = git.Repo(fullpath) + + if repo.head.is_detached: + remote_name = get_remote_name(repo) + else: + current_branch = repo.active_branch + + if current_branch.tracking_branch() is None: + remote_name = get_remote_name(repo) + else: + remote_name = current_branch.tracking_branch().remote_name + commit_hash = repo.head.commit.hexsha - url = repo.remotes.origin.url + + url = repo.remotes[remote_name].url + git_custom_nodes[url] = dict(hash=commit_hash, disabled=is_disabled) except: print(f"Failed to extract snapshots for the custom node '{path}'.") @@ -2413,7 +2670,7 @@ async def get_current_snapshot(): file_custom_nodes.append(item) - pip_packages = get_installed_pip_packages() + pip_packages = None if custom_nodes_only else get_installed_pip_packages() return { 'comfyui': comfyui_commit_hash, @@ -2424,7 +2681,7 @@ async def get_current_snapshot(): } -async def save_snapshot_with_postfix(postfix, path=None): +async def save_snapshot_with_postfix(postfix, path=None, custom_nodes_only = False): if path is None: now = datetime.now() @@ -2436,7 +2693,7 @@ async def save_snapshot_with_postfix(postfix, path=None): file_name = path.replace('\\', '/').split('/')[-1] file_name = file_name.split('.')[-2] - snapshot = await get_current_snapshot() + snapshot = await get_current_snapshot(custom_nodes_only) if path.endswith('.json'): with open(path, "w") as json_file: json.dump(snapshot, json_file, indent=4) @@ -2553,9 +2810,6 @@ async def extract_nodes_from_workflow(filepath, mode='local', channel_url='defau if ext == 'https://github.com/comfyanonymous/ComfyUI': pass elif ext is not None: - if 'Fooocus' in ext: - print(f">> {node_name}") - used_exts.add(ext) else: unknown_nodes.add(node_name) @@ -2603,8 +2857,8 @@ def map_to_unified_keys(json_obj): return res -async def get_unified_total_nodes(channel, mode): - await unified_manager.reload(mode) +async def get_unified_total_nodes(channel, mode, regsitry_cache_mode='cache'): + await unified_manager.reload(regsitry_cache_mode) res = await unified_manager.get_custom_nodes(channel, mode) @@ -2687,6 +2941,7 @@ async def get_unified_total_nodes(channel, mode): author = cnr['publisher']['name'] title = cnr['name'] reference = f"https://registry.comfy.org/nodes/{cnr['id']}" + repository = cnr.get('repository', '') install_type = "cnr" description = cnr.get('description', '') @@ -2718,7 +2973,7 @@ async def get_unified_total_nodes(channel, mode): if ver is None: ver = cnr['latest_version']['version'] - item = dict(author=author, title=title, reference=reference, install_type=install_type, + item = dict(author=author, title=title, reference=reference, repository=repository, install_type=install_type, description=description, state=state, updatable=updatable, version=ver) if active_version: @@ -2734,15 +2989,18 @@ async def get_unified_total_nodes(channel, mode): def populate_github_stats(node_packs, json_obj_github): for k, v in node_packs.items(): - url = v['reference'] - if url in json_obj_github: - v['stars'] = json_obj_github[url]['stars'] - v['last_update'] = json_obj_github[url]['last_update'] - v['trust'] = json_obj_github[url]['author_account_age_days'] > 600 - else: - v['stars'] = -1 - v['last_update'] = -1 - v['trust'] = False + try: + url = v['reference'] + if url in json_obj_github: + v['stars'] = json_obj_github[url]['stars'] + v['last_update'] = json_obj_github[url]['last_update'] + v['trust'] = json_obj_github[url]['author_account_age_days'] > 600 + else: + v['stars'] = -1 + v['last_update'] = -1 + v['trust'] = False + except: + logging.error(f"[ComfyUI-Manager] DB item is broken:\n{v}") def populate_favorites(node_packs, json_obj_extras): @@ -2760,6 +3018,9 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): enabled_repos = [] disabled_repos = [] skip_node_packs = [] + switched_node_packs = [] + installed_node_packs = [] + failed = [] await unified_manager.reload('cache') await unified_manager.get_custom_nodes('default', 'cache') @@ -2805,8 +3066,13 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): disabled_repos.append(x) for x in todo_checkout: - unified_manager.cnr_switch_version(x[0], x[1], instant_execution=True, no_deps=True, return_postinstall=False) - checkout_repos.append(x[1]) + ps = unified_manager.cnr_switch_version(x[0], x[1], instant_execution=True, no_deps=True, return_postinstall=False) + if ps.action == 'switch-cnr' and ps.result: + switched_node_packs.append(f"{x[0]}@{x[1]}") + elif ps.action == 'skip': + skip_node_packs.append(f"{x[0]}@{x[1]}") + elif not ps.result: + failed.append(f"{x[0]}@{x[1]}") # install listed cnr nodes for k, v in cnr_info.items(): @@ -2814,7 +3080,9 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): continue ps = await unified_manager.install_by_id(k, version_spec=v, instant_execution=True, return_postinstall=True) - cloned_repos.append(k) + if ps.action == 'install-cnr' and ps.result: + installed_node_packs.append(f"{k}@{v}") + if ps is not None and ps.result: if hasattr(ps, 'postinstall'): postinstalls.append(ps.postinstall) @@ -2822,7 +3090,18 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): print("cm-cli: unexpected [0001]") # for nightly restore - git_info = info.get('git_custom_nodes') + _git_info = info.get('git_custom_nodes') + git_info = {} + + # normalize github repo + for k, v in _git_info.items(): + # robust filter out comfyui-manager while restoring snapshot + if 'comfyui-manager' in k.lower(): + continue + + norm_k = git_utils.normalize_url(k) + git_info[norm_k] = v + if git_info is not None: todo_disable = [] todo_enable = [] @@ -2835,20 +3114,13 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): if v[0] == 'nightly' and cnr_repo_map.get(k): repo_url = cnr_repo_map.get(k) + normalized_url = git_utils.normalize_url(repo_url) - normalized_url1 = git_utils.normalize_url(repo_url) - normalized_url2 = git_utils.normalize_url_http(repo_url) - - if normalized_url1 not in git_info and normalized_url2 not in git_info: + if normalized_url not in git_info: todo_disable.append(k) else: - if normalized_url1 in git_info: - commit_hash = git_info[normalized_url1]['hash'] - todo_checkout.append((v[1], commit_hash)) - - if normalized_url2 in git_info: - commit_hash = git_info[normalized_url2]['hash'] - todo_checkout.append((v[1], commit_hash)) + commit_hash = git_info[normalized_url]['hash'] + todo_checkout.append((v[1], commit_hash)) for k, v in unified_manager.nightly_inactive_nodes.items(): if 'comfyui-manager' in k: @@ -2856,58 +3128,53 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): if cnr_repo_map.get(k): repo_url = cnr_repo_map.get(k) - normalized_url1 = git_utils.normalize_url(repo_url) - normalized_url2 = git_utils.normalize_url_http(repo_url) + normalized_url = git_utils.normalize_url(repo_url) - if normalized_url1 in git_info: - commit_hash = git_info[normalized_url1]['hash'] + if normalized_url in git_info: + commit_hash = git_info[normalized_url]['hash'] todo_enable.append((k, commit_hash)) - processed_urls.append(normalized_url1) - - if normalized_url2 in git_info: - commit_hash = git_info[normalized_url2]['hash'] - todo_enable.append((k, commit_hash)) - processed_urls.append(normalized_url2) + processed_urls.append(normalized_url) for x in todo_disable: unified_manager.unified_disable(x, False) disabled_repos.append(x) for x in todo_enable: - res = unified_manager.unified_enable(x, 'nightly') + res = unified_manager.unified_enable(x[0], 'nightly') is_switched = False if res and res.target: is_switched = repo_switch_commit(res.target, x[1]) if is_switched: - checkout_repos.append(x) + checkout_repos.append(f"{x[0]}@{x[1]}") else: - enabled_repos.append(x) + enabled_repos.append(x[0]) for x in todo_checkout: is_switched = repo_switch_commit(x[0], x[1]) if is_switched: - checkout_repos.append(x) - else: - skip_node_packs.append(x[0]) + checkout_repos.append(f"{x[0]}@{x[1]}") for x in git_info.keys(): normalized_url = git_utils.normalize_url(x) cnr = unified_manager.repo_cnr_map.get(normalized_url) if cnr is not None: pack_id = cnr['id'] - await unified_manager.install_by_id(pack_id, 'nightly', instant_execution=True, no_deps=False, return_postinstall=False) - cloned_repos.append(pack_id) + res = await unified_manager.install_by_id(pack_id, 'nightly', instant_execution=True, no_deps=False, return_postinstall=False) + if res.action == 'install-git' and res.result: + cloned_repos.append(pack_id) + elif res.action == 'skip': + skip_node_packs.append(pack_id) + elif not res.result: + failed.append(pack_id) processed_urls.append(x) for x in processed_urls: if x in git_info: del git_info[x] - # remained nightly will be installed and migrated - # for unknown restore todo_disable = [] todo_enable = [] @@ -2920,21 +3187,14 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): if repo_url is None: continue - normalized_url1 = git_utils.normalize_url(repo_url) - normalized_url2 = git_utils.normalize_url_http(repo_url) + normalized_url = git_utils.normalize_url(repo_url) - if normalized_url1 not in git_info and normalized_url2 not in git_info: + if normalized_url not in git_info: todo_disable.append(k2) else: - if normalized_url1 in git_info: - commit_hash = git_info[normalized_url1]['hash'] - todo_checkout.append((k2, commit_hash)) - processed_urls.append(normalized_url1) - - if normalized_url2 in git_info: - commit_hash = git_info[normalized_url2]['hash'] - todo_checkout.append((k2, commit_hash)) - processed_urls.append(normalized_url2) + commit_hash = git_info[normalized_url]['hash'] + todo_checkout.append((k2, commit_hash)) + processed_urls.append(normalized_url) for k2, v2 in unified_manager.unknown_inactive_nodes.items(): repo_url = resolve_giturl_from_path(v2[1]) @@ -2942,18 +3202,12 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): if repo_url is None: continue - normalized_url1 = git_utils.normalize_url(repo_url) - normalized_url2 = git_utils.normalize_url_http(repo_url) + normalized_url = git_utils.normalize_url(repo_url) - if normalized_url1 in git_info: - commit_hash = git_info[normalized_url1]['hash'] + if normalized_url in git_info: + commit_hash = git_info[normalized_url]['hash'] todo_enable.append((k2, commit_hash)) - processed_urls.append(normalized_url1) - - if normalized_url2 in git_info: - commit_hash = git_info[normalized_url2]['hash'] - todo_enable.append((k2, commit_hash)) - processed_urls.append(normalized_url2) + processed_urls.append(normalized_url) for x in todo_disable: unified_manager.unified_disable(x, True) @@ -2967,15 +3221,15 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): is_switched = repo_switch_commit(res.target, x[1]) if is_switched: - checkout_repos.append(x) + checkout_repos.append(f"{x[0]}@{x[1]}") else: - enabled_repos.append(x) + enabled_repos.append(x[0]) for x in todo_checkout: is_switched = repo_switch_commit(x[0], x[1]) if is_switched: - checkout_repos.append(x) + checkout_repos.append(f"{x[0]}@{x[1]}") else: skip_node_packs.append(x[0]) @@ -2992,64 +3246,48 @@ async def restore_snapshot(snapshot_path, git_helper_extras=None): unified_manager.repo_install(repo_url, to_path, instant_execution=True, no_deps=False, return_postinstall=False) cloned_repos.append(repo_name) - # reload - await unified_manager.migrate_unmanaged_nodes() - # print summary for x in cloned_repos: print(f"[ INSTALLED ] {x}") + for x in installed_node_packs: + print(f"[ INSTALLED ] {x}") for x in checkout_repos: print(f"[ CHECKOUT ] {x}") + for x in switched_node_packs: + print(f"[ SWITCHED ] {x}") for x in enabled_repos: print(f"[ ENABLED ] {x}") for x in disabled_repos: print(f"[ DISABLED ] {x}") for x in skip_node_packs: - print(f"[ SKIPPED ] {x}") + print(f"[ SKIPPED ] {x}") + for x in failed: + print(f"[ FAILED ] {x}") # if is_failed: # print("[bold red]ERROR: Failed to restore snapshot.[/bold red]") -# check need to migrate -need_to_migrate = False +def get_comfyui_versions(repo=None): + if repo is None: + repo = git.Repo(comfy_path) + try: + remote = get_remote_name(repo) + repo.remotes[remote].fetch() + except: + logging.error("[ComfyUI-Manager] Failed to fetch ComfyUI") -async def check_need_to_migrate(): - global need_to_migrate - - await unified_manager.reload('cache') - await unified_manager.load_nightly(channel='default', mode='cache') - - legacy_custom_nodes = [] - - for x in unified_manager.active_nodes.values(): - if x[0] == 'nightly' and not x[1].endswith('@nightly'): - legacy_custom_nodes.append(x[1]) - - for x in unified_manager.nightly_inactive_nodes.values(): - if not x.endswith('@nightly'): - legacy_custom_nodes.append(x) - - if len(legacy_custom_nodes) > 0: - print("\n--------------------- ComfyUI-Manager migration notice --------------------") - print("The following custom nodes were installed using the old management method and require migration:\n") - print("\n".join(legacy_custom_nodes)) - print("---------------------------------------------------------------------------\n") - need_to_migrate = True - - -def get_comfyui_versions(): - repo = git.Repo(comfy_path) versions = [x.name for x in repo.tags if x.name.startswith('v')] - versions.reverse() # nearest tag + # nearest tag + versions = sorted(versions, key=lambda v: repo.git.log('-1', '--format=%ct', v), reverse=True) versions = versions[:4] current_tag = repo.git.describe('--tags') if current_tag not in versions: - versions = sorted(versions + [current_tag], reverse=True) + versions = sorted(versions + [current_tag], key=lambda v: repo.git.log('-1', '--format=%ct', v), reverse=True) versions = versions[:4] main_branch = repo.heads.master @@ -3062,16 +3300,18 @@ def get_comfyui_versions(): versions[0] = 'nightly' current_tag = 'nightly' - return versions, current_tag + return versions, current_tag, latest_tag def switch_comfyui(tag): repo = git.Repo(comfy_path) if tag == 'nightly': - repo.git.checkout('main') - repo.remotes.origin.pull() - print("[ComfyUI-Manager] ComfyUI version is switched to the latest 'main' version") + repo.git.checkout('master') + tracking_branch = repo.active_branch.tracking_branch() + remote_name = tracking_branch.remote_name + repo.remotes[remote_name].pull() + print("[ComfyUI-Manager] ComfyUI version is switched to the latest 'master' version") else: repo.git.checkout(tag) print(f"[ComfyUI-Manager] ComfyUI version is switched to '{tag}'") @@ -3086,7 +3326,7 @@ def resolve_giturl_from_path(fullpath): if not os.path.exists(git_config_path): return "unknown" - config = configparser.ConfigParser() + config = configparser.ConfigParser(strict=False) config.read(git_config_path) for k, v in config.items(): diff --git a/glob/manager_downloader.py b/glob/manager_downloader.py index 715bf65f..2d76b913 100644 --- a/glob/manager_downloader.py +++ b/glob/manager_downloader.py @@ -2,10 +2,16 @@ import os from urllib.parse import urlparse import urllib import sys +import logging +import requests +from huggingface_hub import HfApi +from tqdm.auto import tqdm + aria2 = os.getenv('COMFYUI_MANAGER_ARIA2_SERVER') HF_ENDPOINT = os.getenv('HF_ENDPOINT') + if aria2 is not None: secret = os.getenv('COMFYUI_MANAGER_ARIA2_SECRET') url = urlparse(aria2) @@ -16,7 +22,11 @@ if aria2 is not None: aria2 = aria2p.API(aria2p.Client(host=host, port=port, secret=secret)) -def basic_download_url(url, dest_folder, filename): +def basic_download_url(url, dest_folder: str, filename: str): + ''' + Download file from url to dest_folder with filename + using requests library. + ''' import requests # Ensure the destination folder exists @@ -40,6 +50,7 @@ def basic_download_url(url, dest_folder, filename): def download_url(model_url: str, model_dir: str, filename: str): if HF_ENDPOINT: model_url = model_url.replace('https://huggingface.co', HF_ENDPOINT) + logging.info(f"model_url replaced by HF_ENDPOINT, new = {model_url}") if aria2: return aria2_download_url(model_url, model_dir, filename) else: @@ -111,4 +122,38 @@ def download_url_with_agent(url, save_path): return False print("Installation was successful.") - return True \ No newline at end of file + return True + +# NOTE: snapshot_download doesn't provide file size tqdm. +def download_repo_in_bytes(repo_id, local_dir): + api = HfApi() + repo_info = api.repo_info(repo_id=repo_id, files_metadata=True) + + os.makedirs(local_dir, exist_ok=True) + + total_size = 0 + for file_info in repo_info.siblings: + if file_info.size is not None: + total_size += file_info.size + + pbar = tqdm(total=total_size, unit="B", unit_scale=True, desc="Downloading") + + for file_info in repo_info.siblings: + out_path = os.path.join(local_dir, file_info.rfilename) + os.makedirs(os.path.dirname(out_path), exist_ok=True) + + if file_info.size is None: + continue + + download_url = f"https://huggingface.co/{repo_id}/resolve/main/{file_info.rfilename}" + + with requests.get(download_url, stream=True) as r, open(out_path, "wb") as f: + r.raise_for_status() + for chunk in r.iter_content(chunk_size=65536): + if chunk: + f.write(chunk) + pbar.update(len(chunk)) + + pbar.close() + + diff --git a/glob/manager_server.py b/glob/manager_server.py index 94ec3dab..5054a098 100644 --- a/glob/manager_server.py +++ b/glob/manager_server.py @@ -18,9 +18,14 @@ import manager_core as core import manager_util import cm_global import logging +import asyncio +import queue + +import manager_downloader logging.info(f"### Loading: ComfyUI-Manager ({core.version_str})") +logging.info("[ComfyUI-Manager] network_mode: " + core.get_config()['network_mode']) comfy_ui_hash = "-" comfyui_tag = None @@ -28,10 +33,10 @@ comfyui_tag = None SECURITY_MESSAGE_MIDDLE_OR_BELOW = "ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.\nReference: https://github.com/ltdrdata/ComfyUI-Manager#security-policy" SECURITY_MESSAGE_NORMAL_MINUS = "ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.\nReference: https://github.com/ltdrdata/ComfyUI-Manager#security-policy" SECURITY_MESSAGE_GENERAL = "ERROR: This installation is not allowed in this security_level. Please contact the administrator.\nReference: https://github.com/ltdrdata/ComfyUI-Manager#security-policy" +SECURITY_MESSAGE_NORMAL_MINUS_MODEL = "ERROR: Downloading models that are not in '.safetensors' format is only allowed for models registered in the 'default' channel at this security level. If you want to download this model, set the security level to 'normal-' or lower." routes = PromptServer.instance.routes - def handle_stream(stream, prefix): stream.reconfigure(encoding=locale.getpreferredencoding(), errors='replace') for msg in stream: @@ -50,8 +55,35 @@ def handle_stream(stream, prefix): from comfy.cli_args import args import latent_preview +def is_loopback(address): + import ipaddress + try: + return ipaddress.ip_address(address).is_loopback + except ValueError: + return False -is_local_mode = args.listen.startswith('127.') or args.listen.startswith('local.') +is_local_mode = is_loopback(args.listen) + + +model_dir_name_map = { + "checkpoints": "checkpoints", + "checkpoint": "checkpoints", + "unclip": "checkpoints", + "text_encoders": "text_encoders", + "clip": "text_encoders", + "vae": "vae", + "lora": "loras", + "t2i-adapter": "controlnet", + "t2i-style": "controlnet", + "controlnet": "controlnet", + "clip_vision": "clip_vision", + "gligen": "gligen", + "upscale": "upscale_models", + "embedding": "embeddings", + "embeddings": "embeddings", + "unet": "diffusion_models", + "diffusion_model": "diffusion_models", +} def is_allowed_security_level(level): @@ -59,11 +91,11 @@ def is_allowed_security_level(level): return False elif level == 'high': if is_local_mode: - return core.get_config()['security_level'].lower() in ['weak', 'normal-'] + return core.get_config()['security_level'] in ['weak', 'normal-'] else: - return core.get_config()['security_level'].lower() == 'weak' + return core.get_config()['security_level'] == 'weak' elif level == 'middle': - return core.get_config()['security_level'].lower() in ['weak', 'normal', 'normal-'] + return core.get_config()['security_level'] in ['weak', 'normal', 'normal-'] else: return True @@ -74,7 +106,7 @@ async def get_risky_level(files, pip_packages): all_urls = set() for x in json_data1['custom_nodes'] + json_data2['custom_nodes']: - all_urls.update(x['files']) + all_urls.update(x.get('files', [])) for x in files: if x not in all_urls: @@ -82,8 +114,7 @@ async def get_risky_level(files, pip_packages): all_pip_packages = set() for x in json_data1['custom_nodes'] + json_data2['custom_nodes']: - if "pip" in x: - all_pip_packages.update(x['pip']) + all_pip_packages.update(x.get('pip', [])) for p in pip_packages: if p not in all_pip_packages: @@ -147,23 +178,20 @@ def set_preview_method(method): else: args.preview_method = latent_preview.LatentPreviewMethod.NoPreviews - core.get_config()['preview_method'] = args.preview_method + core.get_config()['preview_method'] = method set_preview_method(core.get_config()['preview_method']) -def set_default_ui_mode(mode): - core.get_config()['default_ui'] = mode - - def set_component_policy(mode): core.get_config()['component_policy'] = mode +def set_update_policy(mode): + core.get_config()['update_policy'] = mode -def set_double_click_policy(mode): - core.get_config()['double_click_policy'] = mode - +def set_db_mode(mode): + core.get_config()['db_mode'] = mode def print_comfyui_version(): global comfy_ui_hash @@ -186,7 +214,7 @@ def print_comfyui_version(): comfyui_tag = core.get_comfyui_tag() try: - if core.comfy_ui_commit_datetime.date() < core.comfy_ui_required_commit_datetime.date(): + if not os.environ.get('__COMFYUI_DESKTOP_VERSION__') and core.comfy_ui_commit_datetime.date() < core.comfy_ui_required_commit_datetime.date(): logging.warning(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({core.comfy_ui_revision})[{core.comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n") except: pass @@ -251,8 +279,17 @@ def get_model_dir(data, show_log=False): else: models_base = folder_paths.models_dir + # NOTE: Validate to prevent path traversal. + if any(char in data['filename'] for char in {'/', '\\', ':'}): + return None + def resolve_custom_node(save_path): save_path = save_path[13:] # remove 'custom_nodes/' + + # NOTE: Validate to prevent path traversal. + if save_path.startswith(os.path.sep) or ':' in save_path: + return None + repo_name = save_path.replace('\\','/').split('/')[0] # get custom node repo name # NOTE: The creation of files within the custom node path should be removed in the future. @@ -278,43 +315,9 @@ def get_model_dir(data, show_log=False): else: base_model = os.path.join(models_base, data['save_path']) else: - model_type = data['type'] - if model_type == "checkpoints" or model_type == "checkpoint": - base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0] - elif model_type == "unclip": - base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0] - elif model_type == "clip" or model_type == "text_encoders": - if folder_paths.folder_names_and_paths.get("text_encoders"): - base_model = folder_paths.folder_names_and_paths["text_encoders"][0][0] - else: - if show_log: - logging.info("[ComfyUI-Manager] Your ComfyUI is outdated version.") - base_model = folder_paths.folder_names_and_paths["clip"][0][0] # outdated version - elif model_type == "VAE": - base_model = folder_paths.folder_names_and_paths["vae"][0][0] - elif model_type == "lora": - base_model = folder_paths.folder_names_and_paths["loras"][0][0] - elif model_type == "T2I-Adapter": - base_model = folder_paths.folder_names_and_paths["controlnet"][0][0] - elif model_type == "T2I-Style": - base_model = folder_paths.folder_names_and_paths["controlnet"][0][0] - elif model_type == "controlnet": - base_model = folder_paths.folder_names_and_paths["controlnet"][0][0] - elif model_type == "clip_vision": - base_model = folder_paths.folder_names_and_paths["clip_vision"][0][0] - elif model_type == "gligen": - base_model = folder_paths.folder_names_and_paths["gligen"][0][0] - elif model_type == "upscale": - base_model = folder_paths.folder_names_and_paths["upscale_models"][0][0] - elif model_type == "embeddings": - base_model = folder_paths.folder_names_and_paths["embeddings"][0][0] - elif model_type == "unet" or model_type == "diffusion_model": - if folder_paths.folder_names_and_paths.get("diffusion_models"): - base_model = folder_paths.folder_names_and_paths["diffusion_models"][0][1] - else: - if show_log: - logging.info("[ComfyUI-Manager] Your ComfyUI is outdated version.") - base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version + model_dir_name = model_dir_name_map.get(data['type'].lower()) + if model_dir_name is not None: + base_model = folder_paths.folder_names_and_paths[model_dir_name][0][0] else: base_model = os.path.join(models_base, "etc") @@ -326,7 +329,10 @@ def get_model_path(data, show_log=False): if base_model is None: return None else: - return os.path.join(base_model, data['filename']) + if data['filename'] == '': + return os.path.join(base_model, os.path.basename(data['url'])) + else: + return os.path.join(base_model, data['filename']) def check_state_of_git_node_pack(node_packs, do_fetch=False, do_update_check=True, do_update=False): @@ -385,6 +391,274 @@ def nickname_filter(json_obj): return json_obj +task_queue = queue.Queue() +nodepack_result = {} +model_result = {} +tasks_in_progress = set() +task_worker_lock = threading.Lock() + +async def task_worker(): + global task_queue + global nodepack_result + global model_result + global tasks_in_progress + + async def do_install(item) -> str: + ui_id, node_spec_str, channel, mode, skip_post_install = item + + try: + node_spec = core.unified_manager.resolve_node_spec(node_spec_str) + if node_spec is None: + logging.error(f"Cannot resolve install target: '{node_spec_str}'") + return f"Cannot resolve install target: '{node_spec_str}'" + + node_name, version_spec, is_specified = node_spec + res = await core.unified_manager.install_by_id(node_name, version_spec, channel, mode, return_postinstall=skip_post_install) + # discard post install if skip_post_install mode + + if res.action not in ['skip', 'enable', 'install-git', 'install-cnr', 'switch-cnr']: + logging.error(f"[ComfyUI-Manager] Installation failed:\n{res.msg}") + return res.msg + + elif not res.result: + logging.error(f"[ComfyUI-Manager] Installation failed:\n{res.msg}") + return res.msg + + return 'success' + except Exception: + traceback.print_exc() + return f"Installation failed:\n{node_spec_str}" + + async def do_update(item): + ui_id, node_name, node_ver = item + + try: + res = core.unified_manager.unified_update(node_name, node_ver) + + if res.ver == 'unknown': + url = core.unified_manager.unknown_active_nodes[node_name][0] + title = os.path.basename(url) + else: + url = core.unified_manager.cnr_map[node_name].get('repository') + title = core.unified_manager.cnr_map[node_name]['name'] + + manager_util.clear_pip_cache() + + if url is not None: + base_res = {'url': url, 'title': title} + else: + base_res = {'title': title} + + if res.result: + if res.action == 'skip': + base_res['msg'] = 'skip' + return base_res + else: + base_res['msg'] = 'success' + return base_res + + base_res['msg'] = f"An error occurred while updating '{node_name}'." + logging.error(f"\nERROR: An error occurred while updating '{node_name}'. (res.result={res.result}, res.action={res.action})") + return base_res + except Exception: + traceback.print_exc() + + return {'msg':f"An error occurred while updating '{node_name}'."} + + async def do_update_comfyui(is_stable) -> str: + try: + repo_path = os.path.dirname(folder_paths.__file__) + latest_tag = None + if is_stable: + res, latest_tag = core.update_to_stable_comfyui(repo_path) + else: + res = core.update_path(repo_path) + + if res == "fail": + logging.error("ComfyUI update failed") + return "fail" + elif res == "updated": + if is_stable: + logging.info("ComfyUI is updated to latest stable version.") + return "success-stable-"+latest_tag + else: + logging.info("ComfyUI is updated to latest nightly version.") + return "success-nightly" + else: # skipped + logging.info("ComfyUI is up-to-date.") + return "skip" + + except Exception: + traceback.print_exc() + + return "An error occurred while updating 'comfyui'." + + async def do_fix(item) -> str: + ui_id, node_name, node_ver = item + + try: + res = core.unified_manager.unified_fix(node_name, node_ver) + + if res.result: + return 'success' + else: + logging.error(res.msg) + + logging.error(f"\nERROR: An error occurred while fixing '{node_name}@{node_ver}'.") + except Exception: + traceback.print_exc() + + return f"An error occurred while fixing '{node_name}@{node_ver}'." + + async def do_uninstall(item) -> str: + ui_id, node_name, is_unknown = item + + try: + res = core.unified_manager.unified_uninstall(node_name, is_unknown) + + if res.result: + return 'success' + + logging.error(f"\nERROR: An error occurred while uninstalling '{node_name}'.") + except Exception: + traceback.print_exc() + + return f"An error occurred while uninstalling '{node_name}'." + + async def do_disable(item) -> str: + ui_id, node_name, is_unknown = item + + try: + res = core.unified_manager.unified_disable(node_name, is_unknown) + + if res: + return 'success' + + except Exception: + traceback.print_exc() + + return f"Failed to disable: '{node_name}'" + + async def do_install_model(item) -> str: + ui_id, json_data = item + + model_path = get_model_path(json_data) + model_url = json_data['url'] + + res = False + + try: + if model_path is not None: + logging.info(f"Install model '{json_data['name']}' from '{model_url}' into '{model_path}'") + + if json_data['filename'] == '': + if os.path.exists(os.path.join(model_path, os.path.dirname(json_data['url']))): + logging.error(f"[ComfyUI-Manager] the model path already exists: {model_path}") + return f"The model path already exists: {model_path}" + + logging.info(f"[ComfyUI-Manager] Downloading '{model_url}' into '{model_path}'") + manager_downloader.download_repo_in_bytes(repo_id=model_url, local_dir=model_path) + + return 'success' + + elif not core.get_config()['model_download_by_agent'] and ( + model_url.startswith('https://github.com') or model_url.startswith('https://huggingface.co') or model_url.startswith('https://heibox.uni-heidelberg.de')): + model_dir = get_model_dir(json_data, True) + download_url(model_url, model_dir, filename=json_data['filename']) + if model_path.endswith('.zip'): + res = core.unzip(model_path) + else: + res = True + + if res: + return 'success' + else: + res = download_url_with_agent(model_url, model_path) + if res and model_path.endswith('.zip'): + res = core.unzip(model_path) + else: + logging.error(f"[ComfyUI-Manager] Model installation error: invalid model type - {json_data['type']}") + + if res: + return 'success' + + except Exception as e: + logging.error(f"[ComfyUI-Manager] ERROR: {e}", file=sys.stderr) + + return f"Model installation error: {model_url}" + + stats = {} + + while True: + done_count = len(nodepack_result) + len(model_result) + total_count = done_count + task_queue.qsize() + + if task_queue.empty(): + logging.info(f"\n[ComfyUI-Manager] Queued works are completed.\n{stats}") + + logging.info("\nAfter restarting ComfyUI, please refresh the browser.") + PromptServer.instance.send_sync("cm-queue-status", + {'status': 'done', + 'nodepack_result': nodepack_result, 'model_result': model_result, + 'total_count': total_count, 'done_count': done_count}) + nodepack_result = {} + task_queue = queue.Queue() + return # terminate worker thread + + with task_worker_lock: + kind, item = task_queue.get() + tasks_in_progress.add((kind, item[0])) + + try: + if kind == 'install': + msg = await do_install(item) + elif kind == 'install-model': + msg = await do_install_model(item) + elif kind == 'update': + msg = await do_update(item) + elif kind == 'update-main': + msg = await do_update(item) + elif kind == 'update-comfyui': + msg = await do_update_comfyui(item[1]) + elif kind == 'fix': + msg = await do_fix(item) + elif kind == 'uninstall': + msg = await do_uninstall(item) + elif kind == 'disable': + msg = await do_disable(item) + else: + msg = "Unexpected kind: " + kind + except Exception: + traceback.print_exc() + msg = f"Exception: {(kind, item)}" + + with task_worker_lock: + tasks_in_progress.remove((kind, item[0])) + + ui_id = item[0] + if kind == 'install-model': + model_result[ui_id] = msg + ui_target = "model_manager" + elif kind == 'update-main': + nodepack_result[ui_id] = msg + ui_target = "main" + elif kind == 'update-comfyui': + nodepack_result['comfyui'] = msg + ui_target = "main" + elif kind == 'update': + nodepack_result[ui_id] = msg['msg'] + ui_target = "nodepack_manager" + else: + nodepack_result[ui_id] = msg + ui_target = "nodepack_manager" + + stats[kind] = stats.get(kind, 0) + 1 + + PromptServer.instance.send_sync("cm-queue-status", + {'status': 'in_progress', 'target': item[0], 'ui_target': ui_target, + 'total_count': total_count, 'done_count': done_count}) + + @routes.get("/customnode/getmappings") async def fetch_customnode_mappings(request): """ @@ -448,49 +722,46 @@ async def fetch_updates(request): return web.Response(status=400) -@routes.get("/customnode/update_all") +@routes.get("/manager/queue/update_all") async def update_all(request): if not is_allowed_security_level('middle'): logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) return web.Response(status=403) - try: - await core.save_snapshot_with_postfix('autosave') + with task_worker_lock: + is_processing = task_worker_thread is not None and task_worker_thread.is_alive() + if is_processing: + return web.Response(status=401) + + await core.save_snapshot_with_postfix('autosave') - if request.rel_url.query["mode"] == "local": - channel = 'local' - else: - channel = core.get_config()['channel_url'] + if request.rel_url.query["mode"] == "local": + channel = 'local' + else: + channel = core.get_config()['channel_url'] - await core.unified_manager.reload(request.rel_url.query["mode"]) - await core.unified_manager.get_custom_nodes(channel, request.rel_url.query["mode"]) + await core.unified_manager.reload(request.rel_url.query["mode"]) + await core.unified_manager.get_custom_nodes(channel, request.rel_url.query["mode"]) - updated_cnr = [] - for k, v in core.unified_manager.active_nodes.items(): - if v[0] != 'nightly': - res = core.unified_manager.unified_update(k, v[0]) - if res.action == 'switch-cnr' and res: - updated_cnr.append(k) + for k, v in core.unified_manager.active_nodes.items(): + if k == 'comfyui-manager': + # skip updating comfyui-manager if desktop version + if os.environ.get('__COMFYUI_DESKTOP_VERSION__'): + continue - res = core.unified_manager.fetch_or_pull_git_repo(is_pull=True) + update_item = k, k, v[0] + task_queue.put(("update-main", update_item)) - res['updated'] += updated_cnr + for k, v in core.unified_manager.unknown_active_nodes.items(): + if k == 'comfyui-manager': + # skip updating comfyui-manager if desktop version + if os.environ.get('__COMFYUI_DESKTOP_VERSION__'): + continue - for x in res['failed']: - logging.error(f"PULL FAILED: {x}") + update_item = k, k, 'unknown' + task_queue.put(("update-main", update_item)) - if len(res['updated']) == 0 and len(res['failed']) == 0: - status = 200 - else: - status = 201 - - logging.info("\nDone.") - return web.json_response(res, status=status, content_type='application/json') - except: - traceback.print_exc() - return web.Response(status=400) - finally: - manager_util.clear_pip_cache() + return web.Response(status=200) def convert_markdown_to_html(input_text): @@ -556,7 +827,7 @@ async def fetch_customnode_list(request): """ provide unified custom node list """ - if "skip_update" in request.rel_url.query and request.rel_url.query["skip_update"] == "true": + if request.rel_url.query.get("skip_update", '').lower() == "true": skip_update = True else: skip_update = False @@ -566,14 +837,14 @@ async def fetch_customnode_list(request): else: channel = core.get_config()['channel_url'] - node_packs = await core.get_unified_total_nodes(channel, request.rel_url.query["mode"]) + node_packs = await core.get_unified_total_nodes(channel, request.rel_url.query["mode"], 'cache') json_obj_github = core.get_data_by_mode(request.rel_url.query["mode"], 'github-stats.json', 'default') json_obj_extras = core.get_data_by_mode(request.rel_url.query["mode"], 'extras.json', 'default') core.populate_github_stats(node_packs, await json_obj_github) core.populate_favorites(node_packs, await json_obj_extras) - check_state_of_git_node_pack(node_packs, False, do_update_check=not skip_update) + check_state_of_git_node_pack(node_packs, not skip_update, do_update_check=not skip_update) for v in node_packs.values(): populate_markdown(v) @@ -609,28 +880,64 @@ async def fetch_customnode_alternatives(request): def check_model_installed(json_obj): - def process_model(item): - model_path = get_model_path(item, False) - item['installed'] = 'None' + def is_exists(model_dir_name, filename, url): + if filename == '': + filename = os.path.basename(url) - if model_path is not None: - if model_path.endswith('.zip'): - if os.path.exists(model_path[:-4]): - item['installed'] = 'True' - else: - item['installed'] = 'False' - elif os.path.exists(model_path): + dirs = folder_paths.get_folder_paths(model_dir_name) + + for x in dirs: + if os.path.exists(os.path.join(x, filename)): + return True + + return False + + model_dir_names = ['checkpoints', 'loras', 'vae', 'text_encoders', 'diffusion_models', 'clip_vision', 'embeddings', + 'diffusers', 'vae_approx', 'controlnet', 'gligen', 'upscale_models', 'hypernetworks', + 'photomaker', 'classifiers'] + + total_models_files = set() + for x in model_dir_names: + for y in folder_paths.get_filename_list(x): + total_models_files.add(y) + + def process_model_phase(item): + if 'diffusion' not in item['filename'] and 'pytorch' not in item['filename'] and 'model' not in item['filename']: + # non-general name case + if item['filename'] in total_models_files: item['installed'] = 'True' + return + + if item['save_path'] == 'default': + model_dir_name = model_dir_name_map.get(item['type'].lower()) + if model_dir_name is not None: + item['installed'] = str(is_exists(model_dir_name, item['filename'], item['url'])) else: item['installed'] = 'False' + else: + model_dir_name = item['save_path'].split('/')[0] + if model_dir_name in folder_paths.folder_names_and_paths: + if is_exists(model_dir_name, item['filename'], item['url']): + item['installed'] = 'True' + + if 'installed' not in item: + if item['filename'] == '': + filename = os.path.basename(item['url']) + else: + filename = item['filename'] + + fullpath = os.path.join(folder_paths.models_dir, item['save_path'], filename) + + item['installed'] = 'True' if os.path.exists(fullpath) else 'False' with concurrent.futures.ThreadPoolExecutor(8) as executor: for item in json_obj['models']: - executor.submit(process_model, item) + executor.submit(process_model_phase, item) @routes.get("/externalmodel/getlist") async def fetch_externalmodel_list(request): + # The model list is only allowed in the default channel, yet. json_obj = await core.get_data_by_mode(request.rel_url.query["mode"], 'model-list.json') check_model_installed(json_obj) @@ -839,13 +1146,52 @@ async def get_disabled_versions(request): return web.Response(status=400) -@routes.post("/customnode/reinstall") +@routes.post("/customnode/import_fail_info") +async def import_fail_info(request): + json_data = await request.json() + + if 'cnr_id' in json_data: + module_name = core.unified_manager.get_module_name(json_data['cnr_id']) + else: + module_name = core.unified_manager.get_module_name(json_data['url']) + + if module_name is not None: + info = cm_global.error_dict.get(module_name) + if info is not None: + return web.json_response(info) + + return web.Response(status=400) + + +@routes.post("/manager/queue/reinstall") async def reinstall_custom_node(request): await uninstall_custom_node(request) await install_custom_node(request) -@routes.post("/customnode/install") +@routes.get("/manager/queue/reset") +async def reset_queue(request): + global task_queue + task_queue = queue.Queue() + return web.Response(status=200) + + +@routes.get("/manager/queue/status") +async def queue_count(request): + global task_queue + + with task_worker_lock: + done_count = len(nodepack_result) + len(model_result) + in_progress_count = len(tasks_in_progress) + total_count = done_count + in_progress_count + task_queue.qsize() + is_processing = task_worker_thread is not None and task_worker_thread.is_alive() + + return web.json_response({ + 'total_count': total_count, 'done_count': done_count, 'in_progress_count': in_progress_count, + 'is_processing': is_processing}) + + +@routes.post("/manager/queue/install") async def install_custom_node(request): if not is_allowed_security_level('middle'): logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) @@ -858,42 +1204,73 @@ async def install_custom_node(request): cnr_id = json_data.get('id') skip_post_install = json_data.get('skip_post_install') - if json_data['version'] != 'unknown': - selected_version = json_data.get('selected_version', 'latest') + git_url = None + + selected_version = json_data.get('selected_version') + if json_data['version'] != 'unknown' and selected_version != 'unknown': + if skip_post_install: + if cnr_id in core.unified_manager.nightly_inactive_nodes or cnr_id in core.unified_manager.cnr_inactive_nodes: + core.unified_manager.unified_enable(cnr_id) + return web.Response(status=200) + elif selected_version is None: + selected_version = 'latest' + if selected_version != 'nightly': risky_level = 'low' node_spec_str = f"{cnr_id}@{selected_version}" else: node_spec_str = f"{cnr_id}@nightly" + git_url = [json_data.get('repository')] + if git_url is None: + logging.error(f"[ComfyUI-Manager] Following node pack doesn't provide `nightly` version: ${git_url}") + return web.Response(status=404, text=f"Following node pack doesn't provide `nightly` version: ${git_url}") + elif json_data['version'] != 'unknown' and selected_version == 'unknown': + logging.error(f"[ComfyUI-Manager] Invalid installation request: {json_data}") + return web.Response(status=400, text="Invalid installation request") else: # unknown unknown_name = os.path.basename(json_data['files'][0]) node_spec_str = f"{unknown_name}@unknown" + git_url = json_data.get('files') # apply security policy if not cnr node (nightly isn't regarded as cnr node) if risky_level is None: - risky_level = await get_risky_level(json_data['files'], json_data.get('pip', [])) + if git_url is not None: + risky_level = await get_risky_level(git_url, json_data.get('pip', [])) + else: + return web.Response(status=404, text=f"Following node pack doesn't provide `nightly` version: ${git_url}") if not is_allowed_security_level(risky_level): logging.error(SECURITY_MESSAGE_GENERAL) return web.Response(status=404, text="A security error has occurred. Please check the terminal logs") - node_spec = core.unified_manager.resolve_node_spec(node_spec_str) + install_item = json_data.get('ui_id'), node_spec_str, json_data['channel'], json_data['mode'], skip_post_install + task_queue.put(("install", install_item)) - if node_spec is None: - return web.Response(status=400, text=f"Cannot resolve install target: '{node_spec_str}'") - - node_name, version_spec, is_specified = node_spec - res = await core.unified_manager.install_by_id(node_name, version_spec, json_data['channel'], json_data['mode'], return_postinstall=skip_post_install) - # discard post install if skip_post_install mode - - if res.action not in ['skip', 'enable', 'install-git', 'install-cnr', 'switch-cnr']: - return web.Response(status=400, text=f"Installation failed: {res}") - - return web.Response(status=200, text="Installation success.") + return web.Response(status=200) -@routes.post("/customnode/fix") +task_worker_thread:threading.Thread = None + +@routes.get("/manager/queue/start") +async def queue_start(request): + global nodepack_result + global model_result + global task_worker_thread + + if task_worker_thread is not None and task_worker_thread.is_alive(): + return web.Response(status=201) # already in-progress + + nodepack_result = {} + model_result = {} + + task_worker_thread = threading.Thread(target=lambda: asyncio.run(task_worker())) + task_worker_thread.start() + + return web.Response(status=200) + + +@routes.post("/manager/queue/fix") async def fix_custom_node(request): if not is_allowed_security_level('middle'): logging.error(SECURITY_MESSAGE_GENERAL) @@ -909,14 +1286,10 @@ async def fix_custom_node(request): # unknown node_name = os.path.basename(json_data['files'][0]) - res = core.unified_manager.unified_fix(node_name, node_ver) + update_item = json_data.get('ui_id'), node_name, json_data['version'] + task_queue.put(("fix", update_item)) - if res.result: - logging.info("After restarting ComfyUI, please refresh the browser.") - return web.json_response({}, content_type='application/json') - - logging.error(f"ERROR: An error occurred while fixing '{node_name}@{node_ver}'.") - return web.Response(status=400, text=f"An error occurred while fixing '{node_name}@{node_ver}'.") + return web.Response(status=200) @routes.post("/customnode/install/git_url") @@ -929,10 +1302,10 @@ async def install_custom_node_git_url(request): res = await core.gitclone_install(url) if res.action == 'skip': - logging.info(f"Already installed: '{res.target}'") + logging.info(f"\nAlready installed: '{res.target}'") return web.Response(status=200) elif res.result: - logging.info("After restarting ComfyUI, please refresh the browser.") + logging.info("\nAfter restarting ComfyUI, please refresh the browser.") return web.Response(status=200) logging.error(res.msg) @@ -951,7 +1324,7 @@ async def install_custom_node_pip(request): return web.Response(status=200) -@routes.post("/customnode/uninstall") +@routes.post("/manager/queue/uninstall") async def uninstall_custom_node(request): if not is_allowed_security_level('middle'): logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) @@ -968,17 +1341,13 @@ async def uninstall_custom_node(request): is_unknown = True node_name = os.path.basename(json_data['files'][0]) - res = core.unified_manager.unified_uninstall(node_name, is_unknown) + uninstall_item = json_data.get('ui_id'), node_name, is_unknown + task_queue.put(("uninstall", uninstall_item)) - if res.result: - logging.info("After restarting ComfyUI, please refresh the browser.") - return web.json_response({}, content_type='application/json') - - logging.error(f"ERROR: An error occurred while uninstalling '{node_name}'.") - return web.Response(status=400, text=f"An error occurred while uninstalling '{node_name}'.") + return web.Response(status=200) -@routes.post("/customnode/update") +@routes.post("/manager/queue/update") async def update_custom_node(request): if not is_allowed_security_level('middle'): logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) @@ -993,42 +1362,23 @@ async def update_custom_node(request): # unknown node_name = os.path.basename(json_data['files'][0]) - res = core.unified_manager.unified_update(node_name, json_data['version']) + update_item = json_data.get('ui_id'), node_name, json_data['version'] + task_queue.put(("update", update_item)) - manager_util.clear_pip_cache() - - if res.result: - logging.info("After restarting ComfyUI, please refresh the browser.") - return web.json_response({}, content_type='application/json') - - logging.error(f"ERROR: An error occurred while updating '{node_name}'.") - return web.Response(status=400, text=f"An error occurred while updating '{node_name}'.") + return web.Response(status=200) -@routes.get("/comfyui_manager/update_comfyui") +@routes.get("/manager/queue/update_comfyui") async def update_comfyui(request): - logging.info("Update ComfyUI") - - try: - repo_path = os.path.dirname(folder_paths.__file__) - res = core.update_path(repo_path) - if res == "fail": - logging.error("ComfyUI update fail: The installed ComfyUI does not have a Git repository.") - return web.Response(status=400) - elif res == "updated": - return web.Response(status=201) - else: # skipped - return web.Response(status=200) - except Exception as e: - logging.error(f"ComfyUI update fail: {e}", file=sys.stderr) - - return web.Response(status=400) + is_stable = core.get_config()['update_policy'] != 'nightly-comfyui' + task_queue.put(("update-comfyui", ('comfyui', is_stable))) + return web.Response(status=200) @routes.get("/comfyui_manager/comfyui_versions") async def comfyui_versions(request): try: - res, current = core.get_comfyui_versions() + res, current, latest = core.get_comfyui_versions() return web.json_response({'versions': res, 'current': current}, status=200, content_type='application/json') except Exception as e: logging.error(f"ComfyUI update fail: {e}", file=sys.stderr) @@ -1049,7 +1399,7 @@ async def comfyui_switch_version(request): return web.Response(status=400) -@routes.post("/customnode/disable") +@routes.post("/manager/queue/disable") async def disable_node(request): json_data = await request.json() @@ -1062,39 +1412,37 @@ async def disable_node(request): is_unknown = True node_name = os.path.basename(json_data['files'][0]) - res = core.unified_manager.unified_disable(node_name, is_unknown) + update_item = json_data.get('ui_id'), node_name, is_unknown + task_queue.put(("disable", update_item)) - if res: - return web.json_response({}, content_type='application/json') - - return web.Response(status=400, text="Failed to disable") - - -@routes.get("/manager/migrate_unmanaged_nodes") -async def migrate_unmanaged_nodes(request): - logging.info("[ComfyUI-Manager] Migrating unmanaged nodes...") - await core.unified_manager.migrate_unmanaged_nodes() - logging.info("Done.") return web.Response(status=200) -@routes.get("/manager/need_to_migrate") -async def need_to_migrate(request): - return web.Response(text=str(core.need_to_migrate), status=200) +async def check_whitelist_for_model(item): + json_obj = await core.get_data_by_mode('cache', 'model-list.json') + + for x in json_obj.get('models', []): + if x['save_path'] == item['save_path'] and x['base'] == item['base'] and x['filename'] == item['filename']: + return True + + return False -@routes.post("/model/install") +@routes.post("/manager/queue/install_model") async def install_model(request): json_data = await request.json() - model_path = get_model_path(json_data) - if not is_allowed_security_level('middle'): logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) + return web.Response(status=403, text="A security error has occurred. Please check the terminal logs") + + # validate request + if not await check_whitelist_for_model(json_data): + logging.error(f"[ComfyUI-Manager] Invalid model install request is detected: {json_data}") + return web.Response(status=400, text="Invalid model install request is detected") if not json_data['filename'].endswith('.safetensors') and not is_allowed_security_level('high'): - models_json = await core.get_data_by_mode('cache', 'model-list.json') + models_json = await core.get_data_by_mode('cache', 'model-list.json', 'default') is_belongs_to_whitelist = False for x in models_json['models']: @@ -1103,40 +1451,13 @@ async def install_model(request): break if not is_belongs_to_whitelist: - logging.error(SECURITY_MESSAGE_NORMAL_MINUS) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_NORMAL_MINUS_MODEL) + return web.Response(status=403, text="A security error has occurred. Please check the terminal logs") - res = False + install_item = json_data.get('ui_id'), json_data + task_queue.put(("install-model", install_item)) - try: - if model_path is not None: - logging.info(f"Install model '{json_data['name']}' into '{model_path}'") - - model_url = json_data['url'] - if not core.get_config()['model_download_by_agent'] and ( - model_url.startswith('https://github.com') or model_url.startswith('https://huggingface.co') or model_url.startswith('https://heibox.uni-heidelberg.de')): - model_dir = get_model_dir(json_data, True) - download_url(model_url, model_dir, filename=json_data['filename']) - if model_path.endswith('.zip'): - res = core.unzip(model_path) - else: - res = True - - if res: - return web.json_response({}, content_type='application/json') - else: - res = download_url_with_agent(model_url, model_path) - if res and model_path.endswith('.zip'): - res = core.unzip(model_path) - else: - logging.error(f"Model installation error: invalid model type - {json_data['type']}") - - if res: - return web.json_response({}, content_type='application/json') - except Exception as e: - logging.error(f"[ERROR] {e}", file=sys.stderr) - - return web.Response(status=400) + return web.Response(status=200) @routes.get("/manager/preview_method") @@ -1150,18 +1471,19 @@ async def preview_method(request): return web.Response(status=200) -@routes.get("/manager/default_ui") -async def default_ui_mode(request): +@routes.get("/manager/db_mode") +async def db_mode(request): if "value" in request.rel_url.query: - set_default_ui_mode(request.rel_url.query['value']) + set_db_mode(request.rel_url.query['value']) core.write_config() else: - return web.Response(text=core.get_config()['default_ui'], status=200) + return web.Response(text=core.get_config()['db_mode'], status=200) return web.Response(status=200) -@routes.get("/manager/component/policy") + +@routes.get("/manager/policy/component") async def component_policy(request): if "value" in request.rel_url.query: set_component_policy(request.rel_url.query['value']) @@ -1172,13 +1494,13 @@ async def component_policy(request): return web.Response(status=200) -@routes.get("/manager/dbl_click/policy") -async def dbl_click_policy(request): +@routes.get("/manager/policy/update") +async def update_policy(request): if "value" in request.rel_url.query: - set_double_click_policy(request.rel_url.query['value']) + set_update_policy(request.rel_url.query['value']) core.write_config() else: - return web.Response(text=core.get_config()['double_click_policy'], status=200) + return web.Response(text=core.get_config()['update_policy'], status=200) return web.Response(status=200) @@ -1236,22 +1558,27 @@ async def get_notice(request): if match: markdown_content = match.group(1) - version_tag = core.get_comfyui_tag() - if version_tag is None: - markdown_content += f"
ComfyUI: {core.comfy_ui_revision}[{comfy_ui_hash[:6]}]({core.comfy_ui_commit_datetime.date()})" + version_tag = os.environ.get('__COMFYUI_DESKTOP_VERSION__') + if version_tag is not None: + markdown_content += f"
ComfyUI: {version_tag} [Desktop]" else: - markdown_content += (f"
ComfyUI: {version_tag}
" - f"         ({core.comfy_ui_commit_datetime.date()})") + version_tag = core.get_comfyui_tag() + if version_tag is None: + markdown_content += f"
ComfyUI: {core.comfy_ui_revision}[{comfy_ui_hash[:6]}]({core.comfy_ui_commit_datetime.date()})" + else: + markdown_content += (f"
ComfyUI: {version_tag}
" + f"         ({core.comfy_ui_commit_datetime.date()})") # markdown_content += f"
         ()" markdown_content += f"
Manager: {core.version_str}" markdown_content = add_target_blank(markdown_content) try: - if core.comfy_ui_commit_datetime == datetime(1900, 1, 1, 0, 0, 0): - markdown_content = '

Your ComfyUI isn\'t git repo.

' + markdown_content - elif core.comfy_ui_required_commit_datetime.date() > core.comfy_ui_commit_datetime.date(): - markdown_content = '

Your ComfyUI is too OUTDATED!!!

' + markdown_content + if '__COMFYUI_DESKTOP_VERSION__' not in os.environ: + if core.comfy_ui_commit_datetime == datetime(1900, 1, 1, 0, 0, 0): + markdown_content = '

Your ComfyUI isn\'t git repo.

' + markdown_content + elif core.comfy_ui_required_commit_datetime.date() > core.comfy_ui_commit_datetime.date(): + markdown_content = '

Your ComfyUI is too OUTDATED!!!

' + markdown_content except: pass @@ -1286,7 +1613,10 @@ def restart(self): if '--windows-standalone-build' in sys_argv: sys_argv.remove('--windows-standalone-build') - if sys.platform.startswith('win32'): + if sys_argv[0].endswith("__main__.py"): # this is a python module + module_name = os.path.basename(os.path.dirname(sys_argv[0])) + cmds = [sys.executable, '-m', module_name] + sys_argv[1:] + elif sys.platform.startswith('win32'): cmds = ['"' + sys.executable + '"', '"' + sys_argv[0] + '"'] + sys_argv[1:] else: cmds = [sys.executable] + sys_argv @@ -1376,35 +1706,48 @@ def confirm_try_install(sender, custom_node_url, msg): cm_global.register_api('cm.try-install-custom-node', confirm_try_install) -import asyncio - async def default_cache_update(): + core.refresh_channel_dict() + channel_url = core.get_config()['channel_url'] async def get_cache(filename): - uri = f"{core.DEFAULT_CHANNEL}/{filename}" - cache_uri = str(manager_util.simple_hash(uri)) + '_' + filename - cache_uri = os.path.join(manager_util.cache_dir, cache_uri) + try: + if core.get_config()['default_cache_as_channel_url']: + uri = f"{channel_url}/{filename}" + else: + uri = f"{core.DEFAULT_CHANNEL}/{filename}" - json_obj = await manager_util.get_data(uri, True) + cache_uri = str(manager_util.simple_hash(uri)) + '_' + filename + cache_uri = os.path.join(manager_util.cache_dir, cache_uri) - with manager_util.cache_lock: - with open(cache_uri, "w", encoding='utf-8') as file: - json.dump(json_obj, file, indent=4, sort_keys=True) - logging.info(f"[ComfyUI-Manager] default cache updated: {uri}") + json_obj = await manager_util.get_data(uri, True) - a = get_cache("custom-node-list.json") - b = get_cache("extension-node-map.json") - c = get_cache("model-list.json") - d = get_cache("alter-list.json") - e = get_cache("github-stats.json") + with manager_util.cache_lock: + with open(cache_uri, "w", encoding='utf-8') as file: + json.dump(json_obj, file, indent=4, sort_keys=True) + logging.info(f"[ComfyUI-Manager] default cache updated: {uri}") + except Exception as e: + logging.error(f"[ComfyUI-Manager] Failed to perform initial fetching '{filename}': {e}") + traceback.print_exc() - await asyncio.gather(a, b, c, d, e) + if core.get_config()['network_mode'] != 'offline': + a = get_cache("custom-node-list.json") + b = get_cache("extension-node-map.json") + c = get_cache("model-list.json") + d = get_cache("alter-list.json") + e = get_cache("github-stats.json") + + await asyncio.gather(a, b, c, d, e) + + if core.get_config()['network_mode'] == 'private': + logging.info("[ComfyUI-Manager] The private comfyregistry is not yet supported in `network_mode=private`.") + else: + # load at least once + await core.unified_manager.reload('remote', dont_wait=False) + await core.unified_manager.get_custom_nodes(channel_url, 'remote') + + logging.info("[ComfyUI-Manager] All startup tasks have been completed.") - # NOTE: hide migration button temporarily. - # if not core.get_config()['skip_migration_check']: - # await core.check_need_to_migrate() - # else: - # logging.info("[ComfyUI-Manager] Migration check is skipped...") threading.Thread(target=lambda: asyncio.run(default_cache_update())).start() @@ -1419,3 +1762,4 @@ cm_global.register_extension('ComfyUI-Manager', 'nodes': {}, 'description': 'This extension provides the ability to manage custom nodes in ComfyUI.', }) + diff --git a/glob/manager_util.py b/glob/manager_util.py index e9369ef5..cb65cc5b 100644 --- a/glob/manager_util.py +++ b/glob/manager_util.py @@ -2,6 +2,7 @@ description: `manager_util` is the lightest module shared across the prestartup_script, main code, and cm-cli of ComfyUI-Manager. """ +import traceback import aiohttp import json @@ -11,12 +12,40 @@ from datetime import datetime import subprocess import sys import re +import logging +import platform +import shlex + cache_lock = threading.Lock() comfyui_manager_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) cache_dir = os.path.join(comfyui_manager_path, '.cache') # This path is also updated together in **manager_core.update_user_directory**. +use_uv = False + + +def add_python_path_to_env(): + if platform.system() != "Windows": + sep = ':' + else: + sep = ';' + + os.environ['PATH'] = os.path.dirname(sys.executable)+sep+os.environ['PATH'] + + +def make_pip_cmd(cmd): + if 'python_embeded' in sys.executable: + if use_uv: + return [sys.executable, '-s', '-m', 'uv', 'pip'] + cmd + else: + return [sys.executable, '-s', '-m', 'pip'] + cmd + else: + # FIXED: https://github.com/ltdrdata/ComfyUI-Manager/issues/1667 + if use_uv: + return [sys.executable, '-m', 'uv', 'pip'] + cmd + else: + return [sys.executable, '-m', 'pip'] + cmd # DON'T USE StrictVersion - cannot handle pre_release version # try: @@ -120,7 +149,12 @@ async def get_data(uri, silent=False): with open(uri, "r", encoding="utf-8") as f: json_text = f.read() - json_obj = json.loads(json_text) + try: + json_obj = json.loads(json_text) + except Exception as e: + logging.error(f"[ComfyUI-Manager] An error occurred while fetching '{uri}': {e}") + + return {} if not silent: print(" [DONE]") @@ -128,20 +162,57 @@ async def get_data(uri, silent=False): return json_obj -async def get_data_with_cache(uri, silent=False, cache_mode=True): +def get_cache_path(uri): cache_uri = str(simple_hash(uri)) + '_' + os.path.basename(uri).replace('&', "_").replace('?', "_").replace('=', "_") - cache_uri = os.path.join(cache_dir, cache_uri+'.json') + return os.path.join(cache_dir, cache_uri+'.json') + + +def get_cache_state(uri): + cache_uri = get_cache_path(uri) + + if not os.path.exists(cache_uri): + return "not-cached" + elif is_file_created_within_one_day(cache_uri): + return "cached" + + return "expired" + + +def save_to_cache(uri, json_obj, silent=False): + cache_uri = get_cache_path(uri) + + with cache_lock: + with open(cache_uri, "w", encoding='utf-8') as file: + json.dump(json_obj, file, indent=4, sort_keys=True) + if not silent: + logging.info(f"[ComfyUI-Manager] default cache updated: {uri}") + + +async def get_data_with_cache(uri, silent=False, cache_mode=True, dont_wait=False, dont_cache=False): + cache_uri = get_cache_path(uri) + + if cache_mode and dont_wait: + # NOTE: return the cache if possible, even if it is expired, so do not cache + if not os.path.exists(cache_uri): + logging.error(f"[ComfyUI-Manager] The network connection is unstable, so it is operating in fallback mode: {uri}") + + return {} + else: + if not is_file_created_within_one_day(cache_uri): + logging.error(f"[ComfyUI-Manager] The network connection is unstable, so it is operating in outdated cache mode: {uri}") + + return await get_data(cache_uri, silent=silent) if cache_mode and is_file_created_within_one_day(cache_uri): json_obj = await get_data(cache_uri, silent=silent) else: json_obj = await get_data(uri, silent=silent) - - with cache_lock: - with open(cache_uri, "w", encoding='utf-8') as file: - json.dump(json_obj, file, indent=4, sort_keys=True) - if not silent: - print(f"[ComfyUI-Manager] default cache updated: {uri}") + if not dont_cache: + with cache_lock: + with open(cache_uri, "w", encoding='utf-8') as file: + json.dump(json_obj, file, indent=4, sort_keys=True) + if not silent: + logging.info(f"[ComfyUI-Manager] default cache updated: {uri}") return json_obj @@ -156,10 +227,10 @@ def extract_package_as_zip(file_path, extract_path): with zipfile.ZipFile(file_path, "r") as zip_ref: zip_ref.extractall(extract_path) extracted_files = zip_ref.namelist() - print(f"Extracted zip file to {extract_path}") + logging.info(f"Extracted zip file to {extract_path}") return extracted_files except zipfile.BadZipFile: - print(f"File '{file_path}' is not a zip or is corrupted.") + logging.error(f"File '{file_path}' is not a zip or is corrupted.") return None @@ -171,7 +242,7 @@ def get_installed_packages(renew=False): if renew or pip_map is None: try: - result = subprocess.check_output([sys.executable, '-m', 'pip', 'list'], universal_newlines=True) + result = subprocess.check_output(make_pip_cmd(['list']), universal_newlines=True) pip_map = {} for line in result.split('\n'): @@ -181,9 +252,10 @@ def get_installed_packages(renew=False): if y[0] == 'Package' or y[0].startswith('-'): continue - pip_map[y[0]] = y[1] + normalized_name = y[0].lower().replace('-', '_') + pip_map[normalized_name] = y[1] except subprocess.CalledProcessError: - print("[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.") + logging.error("[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.") return set() return pip_map @@ -194,52 +266,95 @@ def clear_pip_cache(): pip_map = None -torch_torchvision_version_map = { - '2.5.1': '0.20.1', - '2.5.0': '0.20.0', - '2.4.1': '0.19.1', - '2.4.0': '0.19.0', - '2.3.1': '0.18.1', - '2.3.0': '0.18.0', - '2.2.2': '0.17.2', - '2.2.1': '0.17.1', - '2.2.0': '0.17.0', - '2.1.2': '0.16.2', - '2.1.1': '0.16.1', - '2.1.0': '0.16.0', - '2.0.1': '0.15.2', - '2.0.0': '0.15.1', +def parse_requirement_line(line): + tokens = shlex.split(line) + if not tokens: + return None + + package_spec = tokens[0] + + pattern = re.compile( + r'^(?P[A-Za-z0-9_.+-]+)' + r'(?P==|>=|<=|!=|~=|>|<)?' + r'(?P[A-Za-z0-9_.+-]*)$' + ) + m = pattern.match(package_spec) + if not m: + return None + + package = m.group('package') + operator = m.group('operator') or None + version = m.group('version') or None + + index_url = None + if '--index-url' in tokens: + idx = tokens.index('--index-url') + if idx + 1 < len(tokens): + index_url = tokens[idx + 1] + + res = {'package': package} + + if operator is not None: + res['operator'] = operator + + if version is not None: + res['version'] = StrictVersion(version) + + if index_url is not None: + res['index_url'] = index_url + + return res + + +torch_torchvision_torchaudio_version_map = { + '2.6.0': ('0.21.0', '2.6.0'), + '2.5.1': ('0.20.0', '2.5.0'), + '2.5.0': ('0.20.0', '2.5.0'), + '2.4.1': ('0.19.1', '2.4.1'), + '2.4.0': ('0.19.0', '2.4.0'), + '2.3.1': ('0.18.1', '2.3.1'), + '2.3.0': ('0.18.0', '2.3.0'), + '2.2.2': ('0.17.2', '2.2.2'), + '2.2.1': ('0.17.1', '2.2.1'), + '2.2.0': ('0.17.0', '2.2.0'), + '2.1.2': ('0.16.2', '2.1.2'), + '2.1.1': ('0.16.1', '2.1.1'), + '2.1.0': ('0.16.0', '2.1.0'), + '2.0.1': ('0.15.2', '2.0.1'), + '2.0.0': ('0.15.1', '2.0.0'), } + class PIPFixer: - def __init__(self, prev_pip_versions): + def __init__(self, prev_pip_versions, comfyui_path, manager_files_path): self.prev_pip_versions = { **prev_pip_versions } + self.comfyui_path = comfyui_path + self.manager_files_path = manager_files_path def torch_rollback(self): spec = self.prev_pip_versions['torch'].split('+') if len(spec) > 0: platform = spec[1] else: - cmd = [sys.executable, '-m', 'pip', 'install', '--force', 'torch', 'torchvision', 'torchaudio'] + cmd = make_pip_cmd(['install', '--force', 'torch', 'torchvision', 'torchaudio']) subprocess.check_output(cmd, universal_newlines=True) - print(cmd) + logging.error(cmd) return torch_ver = StrictVersion(spec[0]) torch_ver = f"{torch_ver.major}.{torch_ver.minor}.{torch_ver.patch}" - torchvision_ver = torch_torchvision_version_map.get(torch_ver) + torch_torchvision_torchaudio_ver = torch_torchvision_torchaudio_version_map.get(torch_ver) - if torchvision_ver is None: - cmd = [sys.executable, '-m', 'pip', 'install', '--pre', - 'torch', 'torchvision', 'torchaudio', - '--index-url', f"https://download.pytorch.org/whl/nightly/{platform}"] - print("[manager-core] restore PyTorch to nightly version") + if torch_torchvision_torchaudio_ver is None: + cmd = make_pip_cmd(['install', '--pre', 'torch', 'torchvision', 'torchaudio', + '--index-url', f"https://download.pytorch.org/whl/nightly/{platform}"]) + logging.info("[ComfyUI-Manager] restore PyTorch to nightly version") else: - cmd = [sys.executable, '-m', 'pip', 'install', - f'torch=={torch_ver}', f'torchvision=={torchvision_ver}', f"torchaudio=={torch_ver}", - '--index-url', f"https://download.pytorch.org/whl/{platform}"] - print(f"[manager-core] restore PyTorch to {torch_ver}+{platform}") + torchvision_ver, torchaudio_ver = torch_torchvision_torchaudio_ver + cmd = make_pip_cmd(['install', f'torch=={torch_ver}', f'torchvision=={torchvision_ver}', f"torchaudio=={torchaudio_ver}", + '--index-url', f"https://download.pytorch.org/whl/{platform}"]) + logging.info(f"[ComfyUI-Manager] restore PyTorch to {torch_ver}+{platform}") subprocess.check_output(cmd, universal_newlines=True) @@ -249,23 +364,25 @@ class PIPFixer: # remove `comfy` python package try: if 'comfy' in new_pip_versions: - cmd = [sys.executable, '-m', 'pip', 'uninstall', 'comfy'] + cmd = make_pip_cmd(['uninstall', 'comfy']) subprocess.check_output(cmd, universal_newlines=True) - print("[manager-core] 'comfy' python package is uninstalled.\nWARN: The 'comfy' package is completely unrelated to ComfyUI and should never be installed as it causes conflicts with ComfyUI.") + logging.warning("[ComfyUI-Manager] 'comfy' python package is uninstalled.\nWARN: The 'comfy' package is completely unrelated to ComfyUI and should never be installed as it causes conflicts with ComfyUI.") except Exception as e: - print("[manager-core] Failed to uninstall `comfy` python package") - print(e) + logging.error("[ComfyUI-Manager] Failed to uninstall `comfy` python package") + logging.error(e) # fix torch - reinstall torch packages if version is changed try: - if self.prev_pip_versions['torch'] != new_pip_versions['torch'] \ + if 'torch' not in self.prev_pip_versions or 'torchvision' not in self.prev_pip_versions or 'torchaudio' not in self.prev_pip_versions: + logging.error("[ComfyUI-Manager] PyTorch is not installed") + elif self.prev_pip_versions['torch'] != new_pip_versions['torch'] \ or self.prev_pip_versions['torchvision'] != new_pip_versions['torchvision'] \ or self.prev_pip_versions['torchaudio'] != new_pip_versions['torchaudio']: self.torch_rollback() except Exception as e: - print("[manager-core] Failed to restore PyTorch") - print(e) + logging.error("[ComfyUI-Manager] Failed to restore PyTorch") + logging.error(e) # fix opencv try: @@ -293,24 +410,98 @@ class PIPFixer: if len(targets) > 0: for x in targets: - cmd = [sys.executable, '-m', 'pip', 'install', f"{x}=={versions[0].version_string}"] + cmd = make_pip_cmd(['install', f"{x}=={versions[0].version_string}", "numpy<2"]) subprocess.check_output(cmd, universal_newlines=True) - print(f"[manager-core] 'opencv' dependencies were fixed: {targets}") + logging.info(f"[ComfyUI-Manager] 'opencv' dependencies were fixed: {targets}") except Exception as e: - print("[manager-core] Failed to restore opencv") - print(e) + logging.error("[ComfyUI-Manager] Failed to restore opencv") + logging.error(e) # fix numpy try: np = new_pip_versions.get('numpy') if np is not None: if StrictVersion(np) >= StrictVersion('2'): - subprocess.check_output([sys.executable, '-m', 'pip', 'install', "numpy<2"], universal_newlines=True) - except Exception as e: - print("[manager-core] Failed to restore numpy") - print(e) + cmd = make_pip_cmd(['install', "numpy<2"]) + subprocess.check_output(cmd , universal_newlines=True) + logging.info("[ComfyUI-Manager] 'numpy' dependency were fixed") + except Exception as e: + logging.error("[ComfyUI-Manager] Failed to restore numpy") + logging.error(e) + + # fix missing frontend + try: + # NOTE: package name in requirements is 'comfyui-frontend-package' + # but, package name from `pip freeze` is 'comfyui_frontend_package' + # but, package name from `uv pip freeze` is 'comfyui-frontend-package' + # + # get_installed_packages returns normalized name (i.e. comfyui_frontend_package) + if 'comfyui_frontend_package' not in new_pip_versions: + requirements_path = os.path.join(self.comfyui_path, 'requirements.txt') + + with open(requirements_path, 'r') as file: + lines = file.readlines() + + front_line = next((line.strip() for line in lines if line.startswith('comfyui-frontend-package')), None) + if front_line is None: + logging.info("[ComfyUI-Manager] Skipped fixing the 'comfyui-frontend-package' dependency because the ComfyUI is outdated.") + else: + cmd = make_pip_cmd(['install', front_line]) + subprocess.check_output(cmd , universal_newlines=True) + logging.info("[ComfyUI-Manager] 'comfyui-frontend-package' dependency were fixed") + except Exception as e: + logging.error("[ComfyUI-Manager] Failed to restore comfyui-frontend-package") + logging.error(e) + + # restore based on custom list + pip_auto_fix_path = os.path.join(self.manager_files_path, "pip_auto_fix.list") + if os.path.exists(pip_auto_fix_path): + with open(pip_auto_fix_path, 'r', encoding="UTF-8", errors="ignore") as f: + fixed_list = [] + + for x in f.readlines(): + try: + parsed = parse_requirement_line(x) + need_to_reinstall = True + + normalized_name = parsed['package'].lower().replace('-', '_') + if normalized_name in new_pip_versions: + if 'version' in parsed and 'operator' in parsed: + cur = StrictVersion(new_pip_versions[parsed['package']]) + dest = parsed['version'] + op = parsed['operator'] + if cur == dest: + if op in ['==', '>=', '<=']: + need_to_reinstall = False + elif cur < dest: + if op in ['<=', '<', '~=', '!=']: + need_to_reinstall = False + elif cur > dest: + if op in ['>=', '>', '~=', '!=']: + need_to_reinstall = False + + if need_to_reinstall: + cmd_args = ['install'] + if 'version' in parsed and 'operator' in parsed: + cmd_args.append(parsed['package']+parsed['operator']+parsed['version'].version_string) + + if 'index_url' in parsed: + cmd_args.append('--index-url') + cmd_args.append(parsed['index_url']) + + cmd = make_pip_cmd(cmd_args) + subprocess.check_output(cmd, universal_newlines=True) + + fixed_list.append(parsed['package']) + except Exception as e: + traceback.print_exc() + logging.error(f"[ComfyUI-Manager] Failed to restore '{x}'") + logging.error(e) + + if len(fixed_list) > 0: + logging.info(f"[ComfyUI-Manager] dependencies in pip_auto_fix.json were fixed: {fixed_list}") def sanitize(data): return data.replace("<", "<").replace(">", ">") @@ -319,3 +510,23 @@ def sanitize(data): def sanitize_filename(input_string): result_string = re.sub(r'[^a-zA-Z0-9_]', '_', input_string) return result_string + + +def robust_readlines(fullpath): + import chardet + try: + with open(fullpath, "r") as f: + return f.readlines() + except: + encoding = None + with open(fullpath, "rb") as f: + raw_data = f.read() + result = chardet.detect(raw_data) + encoding = result['encoding'] + + if encoding is not None: + with open(fullpath, "r", encoding=encoding) as f: + return f.readlines() + + print(f"[ComfyUI-Manager] Failed to recognize encoding for: {fullpath}") + return [] diff --git a/js/cm-api.js b/js/cm-api.js index 58df1169..dabc6f1d 100644 --- a/js/cm-api.js +++ b/js/cm-api.js @@ -45,6 +45,11 @@ async function tryInstallCustomNode(event) { show_message('This action is not allowed with this security level configuration.'); return false; } + else if(response.status == 400) { + let msg = await res.text(); + show_message(msg); + return false; + } } let response = await api.fetchApi("/manager/reboot"); diff --git a/js/comfyui-manager.js b/js/comfyui-manager.js index a574a4f1..6fc504b1 100644 --- a/js/comfyui-manager.js +++ b/js/comfyui-manager.js @@ -13,13 +13,16 @@ import { import { OpenArtShareDialog } from "./comfyui-share-openart.js"; import { free_models, install_pip, install_via_git_url, manager_instance, - rebootAPI, migrateAPI, setManagerInstance, show_message, customAlert, customPrompt } from "./common.js"; + rebootAPI, setManagerInstance, show_message, customAlert, customPrompt, + infoToast, showTerminal, setNeedRestart +} from "./common.js"; import { ComponentBuilderDialog, getPureName, load_components, set_component_policy } from "./components-manager.js"; import { CustomNodesManager } from "./custom-nodes-manager.js"; import { ModelManager } from "./model-manager.js"; -import { set_double_click_policy } from "./node_fixer.js"; import { SnapshotManager } from "./snapshot.js"; +let manager_version = await getVersion(); + var docStyle = document.createElement('style'); docStyle.innerHTML = ` .comfy-toast { @@ -41,7 +44,7 @@ docStyle.innerHTML = ` #cm-manager-dialog { width: 1000px; - height: 520px; + height: 455px; box-sizing: content-box; z-index: 1000; overflow-y: auto; @@ -138,7 +141,7 @@ docStyle.innerHTML = ` .cm-notice-board { width: 290px; - height: 270px; + height: 230px; overflow: auto; color: var(--input-text); border: 1px solid var(--descrip-text); @@ -224,9 +227,13 @@ document.head.appendChild(docStyle); var update_comfyui_button = null; var switch_comfyui_button = null; -var fetch_updates_button = null; var update_all_button = null; +var restart_stop_button = null; +var update_policy_combo = null; + let share_option = 'all'; +var is_updating = false; + // copied style from https://github.com/pythongosssss/ComfyUI-Custom-Scripts const style = ` @@ -425,102 +432,56 @@ async function init_notice(notice) { await init_share_option(); -async function fetchNicknames() { - const response1 = await api.fetchApi(`/customnode/getmappings?mode=nickname`); - const mappings = await response1.json(); - let result = {}; - let nickname_patterns = []; +async function set_inprogress_mode() { + update_comfyui_button.disabled = true; + update_comfyui_button.style.backgroundColor = "gray"; - for (let i in mappings) { - let item = mappings[i]; - var nickname; - if (item[1].nickname) { - nickname = item[1].nickname; - } - else if (item[1].title) { - nickname = item[1].title; - } - else { - nickname = item[1].title_aux; - } + update_all_button.disabled = true; + update_all_button.style.backgroundColor = "gray"; - for (let j in item[0]) { - result[item[0][j]] = nickname; - } + switch_comfyui_button.disabled = true; + switch_comfyui_button.style.backgroundColor = "gray"; - if(item[1].nodename_pattern) { - nickname_patterns.push([item[1].nodename_pattern, nickname]); - } - } - - return [result, nickname_patterns]; + restart_stop_button.innerText = 'Stop'; } -const [nicknames, nickname_patterns] = await fetchNicknames(); -function getNickname(node, nodename) { - if(node.nickname) { - return node.nickname; +async function reset_action_buttons() { + const isElectron = 'electronAPI' in window; + + if(isElectron) { + update_all_button.innerText = "Update All Custom Nodes"; } else { - if (nicknames[nodename]) { - node.nickname = nicknames[nodename]; - } - else if(node.getInnerNodes) { - let pure_name = getPureName(node); - let groupNode = app.graph.extra?.groupNodes?.[pure_name]; - if(groupNode) { - let packname = groupNode.packname; - node.nickname = packname; - } - return node.nickname; - } - else { - for(let i in nickname_patterns) { - let item = nickname_patterns[i]; - if(nodename.match(item[0])) { - node.nickname = item[1]; - } - } - } - - return node.nickname; + update_all_button.innerText = "Update All"; } + + update_comfyui_button.innerText = "Update ComfyUI"; + switch_comfyui_button.innerText = "Switch ComfyUI"; + restart_stop_button.innerText = 'Restart'; + + update_comfyui_button.disabled = false; + update_all_button.disabled = false; + switch_comfyui_button.disabled = false; + + update_comfyui_button.style.backgroundColor = ""; + update_all_button.style.backgroundColor = ""; + switch_comfyui_button.style.backgroundColor = ""; } async function updateComfyUI() { let prev_text = update_comfyui_button.innerText; update_comfyui_button.innerText = "Updating ComfyUI..."; - update_comfyui_button.disabled = true; - update_comfyui_button.style.backgroundColor = "gray"; - try { - const response = await api.fetchApi('/comfyui_manager/update_comfyui'); + set_inprogress_mode(); - if (response.status == 400) { - show_message('Failed to update ComfyUI.'); - return false; - } + const response = await api.fetchApi('/manager/queue/update_comfyui'); - if (response.status == 201) { - show_message('ComfyUI has been successfully updated.'); - } - else { - show_message('ComfyUI is already up to date with the latest version.'); - } + showTerminal(); - return true; - } - catch (exception) { - show_message(`Failed to update ComfyUI / ${exception}`); - return false; - } - finally { - update_comfyui_button.disabled = false; - update_comfyui_button.innerText = prev_text; - update_comfyui_button.style.backgroundColor = ""; - } + is_updating = true; + await api.fetchApi('/manager/queue/start'); } function showVersionSelectorDialog(versions, current, onSelect) { @@ -648,143 +609,183 @@ function showVersionSelectorDialog(versions, current, onSelect) { } async function switchComfyUI() { - let res = await api.fetchApi(`/comfyui_manager/comfyui_versions`, { cache: "no-store" }); + switch_comfyui_button.disabled = true; + switch_comfyui_button.style.backgroundColor = "gray"; + + let res = await api.fetchApi(`/comfyui_manager/comfyui_versions`, { cache: "no-store" }); - if(res.status == 200) { - let obj = await res.json(); + switch_comfyui_button.disabled = false; + switch_comfyui_button.style.backgroundColor = ""; - let versions = []; - let default_version; + if(res.status == 200) { + let obj = await res.json(); - for(let v of obj.versions) { - default_version = v; - versions.push(v); - } + let versions = []; + let default_version; - showVersionSelectorDialog(versions, obj.current, (selected_version) => { - api.fetchApi(`/comfyui_manager/comfyui_switch_version?ver=${selected_version}`, { cache: "no-store" }); - }); - } - else { - show_message('Failed to fetch ComfyUI versions.'); - } -} - - -async function fetchUpdates(update_check_checkbox) { - let prev_text = fetch_updates_button.innerText; - fetch_updates_button.innerText = "Fetching updates..."; - fetch_updates_button.disabled = true; - fetch_updates_button.style.backgroundColor = "gray"; - - try { - var mode = manager_instance.datasrc_combo.value; - - const response = await api.fetchApi(`/customnode/fetch_updates?mode=${mode}`); - - if (response.status != 200 && response.status != 201) { - show_message('Failed to fetch updates.'); - return false; + for(let v of obj.versions) { + default_version = v; + versions.push(v); } - if (response.status == 201) { - show_message("There is an updated extension available.

NOTE:
Fetch Updates is not an update.
Please update from

"); + showVersionSelectorDialog(versions, obj.current, async (selected_version) => { + if(selected_version == 'nightly') { + update_policy_combo.value = 'nightly-comfyui'; + api.fetchApi('/manager/policy/update?value=nightly-comfyui'); + } + else { + update_policy_combo.value = 'stable-comfyui'; + api.fetchApi('/manager/policy/update?value=stable-comfyui'); + } - const button = document.getElementById('cm-install-customnodes-button'); - button.addEventListener("click", - async function() { - app.ui.dialog.close(); + let response = await api.fetchApi(`/comfyui_manager/comfyui_switch_version?ver=${selected_version}`, { cache: "no-store" }); + if (response.status == 200) { + infoToast(`ComfyUI version is switched to ${selected_version}`); + } + else { + customAlert('Failed to switch ComfyUI version.'); + } + }); + } + else { + customAlert('Failed to fetch ComfyUI versions.'); + } +} - if(!CustomNodesManager.instance) { - CustomNodesManager.instance = new CustomNodesManager(app, self); +async function onQueueStatus(event) { + const isElectron = 'electronAPI' in window; + + if(event.detail.status == 'in_progress') { + set_inprogress_mode(); + update_all_button.innerText = `in progress.. (${event.detail.done_count}/${event.detail.total_count})`; + } + else if(event.detail.status == 'done') { + reset_action_buttons(); + + if(!is_updating) { + return; + } + + is_updating = false; + + let success_list = []; + let failed_list = []; + let comfyui_state = null; + + for(let k in event.detail.nodepack_result){ + let v = event.detail.nodepack_result[k]; + + if(k == 'comfyui') { + comfyui_state = v; + continue; + } + + if(v.msg == 'success') { + success_list.push(k); + } + else if(v.msg != 'skip') + failed_list.push(k); + } + + let msg = ""; + + if(success_list.length == 0 && comfyui_state.startsWith('skip')) { + if(failed_list.length == 0) { + msg += "You are already up to date."; + } + } + else { + msg = "To apply the updates, you need to ComfyUI.
"; + + if(comfyui_state == 'success-nightly') { + msg += "ComfyUI has been updated to latest nightly version.

"; + infoToast("ComfyUI has been updated to the latest nightly version."); + } + else if(comfyui_state.startsWith('success-stable')) { + const ver = comfyui_state.split("-").pop(); + msg += `ComfyUI has been updated to ${ver}.

`; + infoToast(`ComfyUI has been updated to ${ver}`); + } + else if(comfyui_state == 'skip') { + msg += "ComfyUI is already up to date.

" + } + else if(comfyui_state != null) { + msg += "Failed to update ComfyUI.

" + } + + if(success_list.length > 0) { + msg += "The following custom nodes have been updated:
    "; + for(let x in success_list) { + let k = success_list[x]; + let url = event.detail.nodepack_result[k].url; + let title = event.detail.nodepack_result[k].title; + if(url) { + msg += `
  • ${title}
  • `; + } + else { + msg += `
  • ${k}
  • `; } - await CustomNodesManager.instance.show(CustomNodesManager.ShowMode.UPDATE); } - ); + msg += "
"; + } - update_check_checkbox.checked = false; + setNeedRestart(true); } - else { - show_message('All extensions are already up-to-date with the latest versions.'); + + if(failed_list.length > 0) { + msg += '
The update for the following custom nodes has failed:
    '; + for(let x in failed_list) { + let k = failed_list[x]; + let url = event.detail.nodepack_result[k].url; + let title = event.detail.nodepack_result[k].title; + if(url) { + msg += `
  • ${title}
  • `; + } + else { + msg += `
  • ${k}
  • `; + } + } + + msg += '
' } - return true; - } - catch (exception) { - show_message(`Failed to update custom nodes / ${exception}`); - return false; - } - finally { - fetch_updates_button.disabled = false; - fetch_updates_button.innerText = prev_text; - fetch_updates_button.style.backgroundColor = ""; + show_message(msg); + + const rebootButton = document.getElementById('cm-reboot-button5'); + rebootButton?.addEventListener("click", + function() { + if(rebootAPI()) { + manager_dialog.close(); + } + }); } } -async function updateAll(update_check_checkbox, manager_dialog) { - let prev_text = update_all_button.innerText; - update_all_button.innerText = "Updating all...(ComfyUI)"; - update_all_button.disabled = true; - update_all_button.style.backgroundColor = "gray"; +api.addEventListener("cm-queue-status", onQueueStatus); - try { - var mode = manager_instance.datasrc_combo.value; - update_all_button.innerText = "Updating all..."; - const response1 = await api.fetchApi('/comfyui_manager/update_comfyui'); - const response2 = await api.fetchApi(`/customnode/update_all?mode=${mode}`); +async function updateAll(update_comfyui) { + update_all_button.innerText = "Updating..."; - if (response2.status == 403) { - show_message('This action is not allowed with this security level configuration.'); - return false; - } + set_inprogress_mode(); - if (response1.status == 400 || response2.status == 400) { - show_message('Failed to update ComfyUI or several extensions.

See terminal log.
'); - return false; - } + var mode = manager_instance.datasrc_combo.value; - if(response1.status == 201 || response2.status == 201) { - const update_info = await response2.json(); + showTerminal(); - let failed_list = ""; - if(update_info.failed.length > 0) { - failed_list = "
FAILED: "+update_info.failed.join(", "); - } - - let updated_list = ""; - if(update_info.updated.length > 0) { - updated_list = "
UPDATED: "+update_info.updated.join(", "); - } - - show_message( - "ComfyUI and all extensions have been updated to the latest version.
To apply the updated custom node, please ComfyUI. And refresh browser.
" - +failed_list - +updated_list - ); - - const rebootButton = document.getElementById('cm-reboot-button5'); - rebootButton.addEventListener("click", - function() { - if(rebootAPI()) { - manager_dialog.close(); - } - }); - } - else { - show_message('ComfyUI and all extensions are already up-to-date with the latest versions.'); - } - - return true; + if(update_comfyui) { + update_all_button.innerText = "Updating ComfyUI..."; + await api.fetchApi('/manager/queue/update_comfyui'); } - catch (exception) { - show_message(`Failed to update ComfyUI or several extensions / ${exception}`); - return false; + + const response = await api.fetchApi(`/manager/queue/update_all?mode=${mode}`); + + if (response.status == 401) { + customAlert('Another task is already in progress. Please stop the ongoing task first.'); } - finally { - update_all_button.disabled = false; - update_all_button.innerText = prev_text; - update_all_button.style.backgroundColor = ""; + else if(response.status == 200) { + is_updating = true; + await api.fetchApi('/manager/queue/start'); } } @@ -808,15 +809,29 @@ const isOutputNode = (node) => { return SUPPORTED_OUTPUT_NODE_TYPES.includes(node.type); } +function restartOrStop() { + if(restart_stop_button.innerText == 'Restart'){ + rebootAPI(); + } + else { + api.fetchApi('/manager/queue/reset'); + infoToast('Cancel', 'Remaining tasks will stop after completing the current task.'); + } +} + // ----------- class ManagerMenuDialog extends ComfyDialog { createControlsMid() { let self = this; - + const isElectron = 'electronAPI' in window; + update_comfyui_button = $el("button.cm-button", { type: "button", textContent: "Update ComfyUI", + style: { + display: isElectron ? 'none' : 'block' + }, onclick: () => updateComfyUI() }); @@ -825,25 +840,38 @@ class ManagerMenuDialog extends ComfyDialog { $el("button.cm-button", { type: "button", textContent: "Switch ComfyUI", + style: { + display: isElectron ? 'none' : 'block' + }, onclick: () => switchComfyUI() }); - fetch_updates_button = - $el("button.cm-button", { + restart_stop_button = + $el("button.cm-button-red", { type: "button", - textContent: "Fetch Updates", - onclick: - () => fetchUpdates(this.update_check_checkbox) + textContent: "Restart", + onclick: () => restartOrStop() }); - update_all_button = - $el("button.cm-button", { - type: "button", - textContent: "Update All", - onclick: - () => updateAll(this.update_check_checkbox, self) - }); + if(isElectron) { + update_all_button = + $el("button.cm-button", { + type: "button", + textContent: "Update All Custom Nodes", + onclick: + () => updateAll(false) + }); + } + else { + update_all_button = + $el("button.cm-button", { + type: "button", + textContent: "Update All", + onclick: + () => updateAll(true) + }); + } const res = [ @@ -871,7 +899,19 @@ class ManagerMenuDialog extends ComfyDialog { } }), + $el("button.cm-button", { + type: "button", + textContent: "Custom Nodes In Workflow", + onclick: + () => { + if(!CustomNodesManager.instance) { + CustomNodesManager.instance = new CustomNodesManager(app, self); + } + CustomNodesManager.instance.show(CustomNodesManager.ShowMode.IN_WORKFLOW); + } + }), + $el("br", {}, []), $el("button.cm-button", { type: "button", textContent: "Model Manager", @@ -900,62 +940,19 @@ class ManagerMenuDialog extends ComfyDialog { update_all_button, update_comfyui_button, switch_comfyui_button, - fetch_updates_button, + // fetch_updates_button, $el("br", {}, []), - $el("button.cm-button", { - type: "button", - textContent: "Alternatives of A1111", - onclick: - () => { - if(!CustomNodesManager.instance) { - CustomNodesManager.instance = new CustomNodesManager(app, self); - } - CustomNodesManager.instance.show(CustomNodesManager.ShowMode.ALTERNATIVES); - } - }), - - $el("br", {}, []), - $el("button.cm-button-red", { - type: "button", - textContent: "Restart", - onclick: () => rebootAPI() - }), + restart_stop_button, ]; - let migration_btn = - $el("button.cm-button-orange", { - type: "button", - textContent: "Migrate to New Node System", - onclick: () => migrateAPI() - }); - - migration_btn.style.display = 'none'; - - res.push(migration_btn); - - api.fetchApi('/manager/need_to_migrate') - .then(response => response.text()) - .then(text => { - if (text === 'True') { - migration_btn.style.display = 'block'; - } - }) - .catch(error => { - console.error('Error checking migration status:', error); - }); - return res; } createControlsLeft() { - let self = this; + const isElectron = 'electronAPI' in window; - this.update_check_checkbox = $el("input",{type:'checkbox', id:"skip_update_check"},[]) - const uc_checkbox_text = $el("label",{for:"skip_update_check"},[" Skip update check"]) - uc_checkbox_text.style.color = "var(--fg-color)"; - uc_checkbox_text.style.cursor = "pointer"; - this.update_check_checkbox.checked = true; + let self = this; // db mode this.datasrc_combo = document.createElement("select"); @@ -965,6 +962,14 @@ class ManagerMenuDialog extends ComfyDialog { this.datasrc_combo.appendChild($el('option', { value: 'local', text: 'DB: Local' }, [])); this.datasrc_combo.appendChild($el('option', { value: 'remote', text: 'DB: Channel (remote)' }, [])); + api.fetchApi('/manager/db_mode') + .then(response => response.text()) + .then(data => { this.datasrc_combo.value = data; }); + + this.datasrc_combo.addEventListener('change', function (event) { + api.fetchApi(`/manager/db_mode?value=${event.target.value}`); + }); + // preview method let preview_combo = document.createElement("select"); preview_combo.setAttribute("title", "Configure how latent variables will be decoded during preview in the sampling process."); @@ -1009,21 +1014,6 @@ class ManagerMenuDialog extends ComfyDialog { } }); - // default ui state - let default_ui_combo = document.createElement("select"); - default_ui_combo.setAttribute("title", "Set the default state to be displayed in the main menu when the browser starts."); - default_ui_combo.className = "cm-menu-combo"; - default_ui_combo.appendChild($el('option', { value: 'none', text: 'Default UI: None' }, [])); - default_ui_combo.appendChild($el('option', { value: 'history', text: 'Default UI: History' }, [])); - default_ui_combo.appendChild($el('option', { value: 'queue', text: 'Default UI: Queue' }, [])); - api.fetchApi('/manager/default_ui') - .then(response => response.text()) - .then(data => { default_ui_combo.value = data; }); - - default_ui_combo.addEventListener('change', function (event) { - api.fetchApi(`/manager/default_ui?value=${event.target.value}`); - }); - // share let share_combo = document.createElement("select"); @@ -1042,47 +1032,6 @@ class ManagerMenuDialog extends ComfyDialog { share_combo.appendChild($el('option', { value: option[0], text: `Share: ${option[1]}` }, [])); } - // default ui state - let component_policy_combo = document.createElement("select"); - component_policy_combo.setAttribute("title", "When loading the workflow, configure which version of the component to use."); - component_policy_combo.className = "cm-menu-combo"; - component_policy_combo.appendChild($el('option', { value: 'workflow', text: 'Component: Use workflow version' }, [])); - component_policy_combo.appendChild($el('option', { value: 'higher', text: 'Component: Use higher version' }, [])); - component_policy_combo.appendChild($el('option', { value: 'mine', text: 'Component: Use my version' }, [])); - api.fetchApi('/manager/component/policy') - .then(response => response.text()) - .then(data => { - component_policy_combo.value = data; - set_component_policy(data); - }); - - component_policy_combo.addEventListener('change', function (event) { - api.fetchApi(`/manager/component/policy?value=${event.target.value}`); - set_component_policy(event.target.value); - }); - - let dbl_click_policy_combo = document.createElement("select"); - dbl_click_policy_combo.setAttribute("title", "Sets the behavior when you double-click the title area of a node."); - dbl_click_policy_combo.className = "cm-menu-combo"; - dbl_click_policy_combo.appendChild($el('option', { value: 'none', text: 'Double-Click: None' }, [])); - dbl_click_policy_combo.appendChild($el('option', { value: 'copy-all', text: 'Double-Click: Copy All Connections' }, [])); - dbl_click_policy_combo.appendChild($el('option', { value: 'copy-full', text: 'Double-Click: Copy All Connections and shape' }, [])); - dbl_click_policy_combo.appendChild($el('option', { value: 'copy-input', text: 'Double-Click: Copy Input Connections' }, [])); - dbl_click_policy_combo.appendChild($el('option', { value: 'possible-input', text: 'Double-Click: Possible Input Connections' }, [])); - dbl_click_policy_combo.appendChild($el('option', { value: 'dual', text: 'Double-Click: Possible(left) + Copy(right)' }, [])); - - api.fetchApi('/manager/dbl_click/policy') - .then(response => response.text()) - .then(data => { - dbl_click_policy_combo.value = data; - set_double_click_policy(data); - }); - - dbl_click_policy_combo.addEventListener('change', function (event) { - api.fetchApi(`/manager/dbl_click/policy?value=${event.target.value}`); - set_double_click_policy(event.target.value); - }); - api.fetchApi('/manager/share_option') .then(response => response.text()) .then(data => { @@ -1102,16 +1051,51 @@ class ManagerMenuDialog extends ComfyDialog { } }); + let component_policy_combo = document.createElement("select"); + component_policy_combo.setAttribute("title", "When loading the workflow, configure which version of the component to use."); + component_policy_combo.className = "cm-menu-combo"; + component_policy_combo.appendChild($el('option', { value: 'workflow', text: 'Component: Use workflow version' }, [])); + component_policy_combo.appendChild($el('option', { value: 'higher', text: 'Component: Use higher version' }, [])); + component_policy_combo.appendChild($el('option', { value: 'mine', text: 'Component: Use my version' }, [])); + api.fetchApi('/manager/policy/component') + .then(response => response.text()) + .then(data => { + component_policy_combo.value = data; + set_component_policy(data); + }); + + component_policy_combo.addEventListener('change', function (event) { + api.fetchApi(`/manager/policy/component?value=${event.target.value}`); + set_component_policy(event.target.value); + }); + + update_policy_combo = document.createElement("select"); + + if(isElectron) + update_policy_combo.style.display = 'none'; + + update_policy_combo.setAttribute("title", "Sets the policy to be applied when performing an update."); + update_policy_combo.className = "cm-menu-combo"; + update_policy_combo.appendChild($el('option', { value: 'stable-comfyui', text: 'Update: ComfyUI Stable Version' }, [])); + update_policy_combo.appendChild($el('option', { value: 'nightly-comfyui', text: 'Update: ComfyUI Nightly Version' }, [])); + api.fetchApi('/manager/policy/update') + .then(response => response.text()) + .then(data => { + update_policy_combo.value = data; + }); + + update_policy_combo.addEventListener('change', function (event) { + api.fetchApi(`/manager/policy/update?value=${event.target.value}`); + }); + return [ - $el("div", {}, [this.update_check_checkbox, uc_checkbox_text]), $el("br", {}, []), this.datasrc_combo, channel_combo, preview_combo, - default_ui_combo, share_combo, component_policy_combo, - dbl_click_policy_combo, + update_policy_combo, $el("br", {}, []), $el("br", {}, []), @@ -1138,11 +1122,6 @@ class ManagerMenuDialog extends ComfyDialog { install_pip(url, self); } } - }), - $el("button.cm-experimental-button", { - type: "button", - textContent: "Unload models", - onclick: () => { free_models(); } }) ]), ]; @@ -1271,7 +1250,7 @@ class ManagerMenuDialog extends ComfyDialog { $el("div.comfy-modal-content", [ $el("tr.cm-title", {}, [ - $el("font", {size:6, color:"white"}, [`ComfyUI Manager Menu`])] + $el("font", {size:6, color:"white"}, [`ComfyUI Manager ${manager_version}`])] ), $el("br", {}, []), $el("div.cm-menu-container", @@ -1292,10 +1271,22 @@ class ManagerMenuDialog extends ComfyDialog { this.element = $el("div.comfy-modal", { id:'cm-manager-dialog', parent: document.body }, [ content ]); } + get isVisible() { + return this.element?.style?.display !== "none"; + } + show() { this.element.style.display = "block"; } + toggleVisibility() { + if (this.isVisible) { + this.close(); + } else { + this.show(); + } + } + handleWorkflowGalleryButtonClick(e) { e.preventDefault(); e.stopPropagation(); @@ -1401,18 +1392,52 @@ async function getVersion() { return await version.text(); } - app.registerExtension({ name: "Comfy.ManagerMenu", aboutPageBadges: [ { - label: `ComfyUI-Manager ${await getVersion()}`, + label: `ComfyUI-Manager ${manager_version}`, url: 'https://github.com/ltdrdata/ComfyUI-Manager', icon: 'pi pi-th-large' } ], + commands: [ + { + id: "Comfy.Manager.Menu.ToggleVisibility", + label: "Toggle Manager Menu Visibility", + icon: "mdi mdi-puzzle", + function: () => { + if (!manager_instance) { + setManagerInstance(new ManagerMenuDialog()); + manager_instance.show(); + } else { + manager_instance.toggleVisibility(); + } + }, + }, + { + id: "Comfy.Manager.CustomNodesManager.ToggleVisibility", + label: "Toggle Custom Nodes Manager Visibility", + icon: "pi pi-server", + function: () => { + if (CustomNodesManager.instance?.isVisible) { + CustomNodesManager.instance.close(); + return; + } + + if (!manager_instance) { + setManagerInstance(new ManagerMenuDialog()); + } + if (!CustomNodesManager.instance) { + CustomNodesManager.instance = new CustomNodesManager(app, self); + } + CustomNodesManager.instance.show(CustomNodesManager.ShowMode.NORMAL); + }, + } + ], + init() { $el("style", { textContent: style, @@ -1607,27 +1632,3 @@ app.registerExtension({ } }, }); - - -async function set_default_ui() -{ - let res = await api.fetchApi('/manager/default_ui'); - if(res.status == 200) { - let mode = await res.text(); - switch(mode) { - case 'history': - app.ui.queue.hide(); - app.ui.history.show(); - break; - case 'queue': - app.ui.queue.show(); - app.ui.history.hide(); - break; - default: - // do nothing - break; - } - } -} - -set_default_ui(); \ No newline at end of file diff --git a/js/common.js b/js/common.js index 51a67e03..71cf58ea 100644 --- a/js/common.js +++ b/js/common.js @@ -1,6 +1,7 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js"; import { $el, ComfyDialog } from "../../scripts/ui.js"; +import { getBestPosition, getPositionStyle, getRect } from './popover-helper.js'; function internalCustomConfirm(message, confirmMessage, cancelMessage) { @@ -96,7 +97,7 @@ function internalCustomConfirm(message, confirmMessage, cancelMessage) { export function show_message(msg) { app.ui.dialog.show(msg); - app.ui.dialog.element.style.zIndex = 1099; + app.ui.dialog.element.style.zIndex = 1100; } export async function sleep(ms) { @@ -130,6 +131,20 @@ export function customAlert(message) { } } +export function infoToast(summary, message) { + try { + app.extensionManager.toast.add({ + severity: 'info', + summary: summary, + detail: message, + life: 3000 + }) + } + catch { + // do nothing + } +} + export async function customPrompt(title, message) { try { @@ -167,23 +182,6 @@ export function rebootAPI() { } -export async function migrateAPI() { - let confirmed = await customConfirm("When performing a migration, existing installed custom nodes will be renamed and the server will be restarted. Are you sure you want to apply this?\n\n(If you don't perform the migration, ComfyUI-Manager's start-up time will be longer each time due to re-checking during startup.)") - if (confirmed) { - try { - await api.fetchApi("/manager/migrate_unmanaged_nodes"); - api.fetchApi("/manager/reboot"); - } - catch(exception) { - - } - return true; - } - - return false; -} - - export var manager_instance = null; export function setManagerInstance(obj) { @@ -390,10 +388,267 @@ export async function fetchData(route, options) { } } +// https://cenfun.github.io/open-icons/ export const icons = { search: '', - extensions: '', conflicts: '', passed: '', - download: '' + download: '', + close: '', + arrowRight: '' } + +export function sanitizeHTML(str) { + return str + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); +} + +export function showTerminal() { + try { + const panel = app.extensionManager.bottomPanel; + const isTerminalVisible = panel.bottomPanelVisible && panel.activeBottomPanelTab.id === 'logs-terminal'; + if (!isTerminalVisible) + panel.toggleBottomPanelTab('logs-terminal'); + } + catch(exception) { + // do nothing + } +} + +let need_restart = false; + +export function setNeedRestart(value) { + need_restart = value; +} + +async function onReconnected(event) { + if(need_restart) { + setNeedRestart(false); + + const confirmed = await customConfirm("To apply the changes to the node pack's installation status, you need to refresh the browser. Would you like to refresh?"); + if (!confirmed) { + return; + } + + window.location.reload(true); + } +} + +api.addEventListener('reconnected', onReconnected); + +const storeId = "comfyui-manager-grid"; +let timeId; +export function storeColumnWidth(gridId, columnItem) { + clearTimeout(timeId); + timeId = setTimeout(() => { + let data = {}; + const dataStr = localStorage.getItem(storeId); + if (dataStr) { + try { + data = JSON.parse(dataStr); + } catch (e) {} + } + + if (!data[gridId]) { + data[gridId] = {}; + } + + data[gridId][columnItem.id] = columnItem.width; + + localStorage.setItem(storeId, JSON.stringify(data)); + + }, 200) +} + +export function restoreColumnWidth(gridId, columns) { + const dataStr = localStorage.getItem(storeId); + if (!dataStr) { + return; + } + let data; + try { + data = JSON.parse(dataStr); + } catch (e) {} + if(!data) { + return; + } + const widthMap = data[gridId]; + if (!widthMap) { + return; + } + + columns.forEach(columnItem => { + const w = widthMap[columnItem.id]; + if (w) { + columnItem.width = w; + } + }); + +} + +export function getTimeAgo(dateStr) { + const date = new Date(dateStr); + + if (!date || !(date instanceof Date) || isNaN(date.getTime())) { + return ""; + } + + const units = [ + { max: 2760000, value: 60000, name: 'minute', past: 'a minute ago', future: 'in a minute' }, + { max: 72000000, value: 3600000, name: 'hour', past: 'an hour ago', future: 'in an hour' }, + { max: 518400000, value: 86400000, name: 'day', past: 'yesterday', future: 'tomorrow' }, + { max: 2419200000, value: 604800000, name: 'week', past: 'last week', future: 'in a week' }, + { max: 28512000000, value: 2592000000, name: 'month', past: 'last month', future: 'in a month' } + ]; + const diff = Date.now() - date.getTime(); + // less than a minute + if (Math.abs(diff) < 60000) + return 'just now'; + for (let i = 0; i < units.length; i++) { + if (Math.abs(diff) < units[i].max) { + return format(diff, units[i].value, units[i].name, units[i].past, units[i].future, diff < 0); + } + } + function format(diff, divisor, unit, past, future, isInTheFuture) { + const val = Math.round(Math.abs(diff) / divisor); + if (isInTheFuture) + return val <= 1 ? future : 'in ' + val + ' ' + unit + 's'; + return val <= 1 ? past : val + ' ' + unit + 's ago'; + } + return format(diff, 31536000000, 'year', 'last year', 'in a year', diff < 0); +}; + +export const loadCss = (cssFile) => { + const cssPath = import.meta.resolve(cssFile); + //console.log(cssPath); + const $link = document.createElement("link"); + $link.setAttribute("rel", 'stylesheet'); + $link.setAttribute("href", cssPath); + document.head.appendChild($link); +}; + +export const copyText = (text) => { + return new Promise((resolve) => { + let err; + try { + navigator.clipboard.writeText(text); + } catch (e) { + err = e; + } + if (err) { + resolve(false); + } else { + resolve(true); + } + }); +}; + +function renderPopover($elem, target, options = {}) { + // async microtask + queueMicrotask(() => { + + const containerRect = getRect(window); + const targetRect = getRect(target); + const elemRect = getRect($elem); + + const positionInfo = getBestPosition( + containerRect, + targetRect, + elemRect, + options.positions + ); + const style = getPositionStyle(positionInfo, { + bgColor: options.bgColor, + borderColor: options.borderColor, + borderRadius: options.borderRadius + }); + + $elem.style.top = positionInfo.top + "px"; + $elem.style.left = positionInfo.left + "px"; + $elem.style.background = style.background; + + }); +} + +let $popover; +export function hidePopover() { + if ($popover) { + $popover.remove(); + $popover = null; + } +} +export function showPopover(target, text, className, options) { + hidePopover(); + $popover = document.createElement("div"); + $popover.className = ['cn-popover', className].filter(it => it).join(" "); + document.body.appendChild($popover); + $popover.innerHTML = text; + $popover.style.display = "block"; + renderPopover($popover, target, { + borderRadius: 10, + ... options + }); +} + +let $tooltip; +export function hideTooltip(target) { + if ($tooltip) { + $tooltip.style.display = "none"; + $tooltip.innerHTML = ""; + $tooltip.style.top = "0px"; + $tooltip.style.left = "0px"; + } +} +export function showTooltip(target, text, className = 'cn-tooltip', styleMap = {}) { + if (!$tooltip) { + $tooltip = document.createElement("div"); + $tooltip.className = className; + $tooltip.style.cssText = ` + pointer-events: none; + position: fixed; + z-index: 10001; + padding: 20px; + color: #1e1e1e; + max-width: 350px; + filter: drop-shadow(1px 5px 5px rgb(0 0 0 / 30%)); + ${Object.keys(styleMap).map(k=>k+":"+styleMap[k]+";").join("")} + `; + document.body.appendChild($tooltip); + } + + $tooltip.innerHTML = text; + $tooltip.style.display = "block"; + renderPopover($tooltip, target, { + positions: ['top', 'bottom', 'right', 'center'], + bgColor: "#ffffff", + borderColor: "#cccccc", + borderRadius: 5 + }); +} + +function initTooltip () { + const mouseenterHandler = (e) => { + const target = e.target; + const text = target.getAttribute('tooltip'); + if (text) { + showTooltip(target, text); + } + }; + const mouseleaveHandler = (e) => { + const target = e.target; + const text = target.getAttribute('tooltip'); + if (text) { + hideTooltip(target); + } + }; + document.body.removeEventListener('mouseenter', mouseenterHandler, true); + document.body.removeEventListener('mouseleave', mouseleaveHandler, true); + document.body.addEventListener('mouseenter', mouseenterHandler, true); + document.body.addEventListener('mouseleave', mouseleaveHandler, true); +} + +initTooltip(); \ No newline at end of file diff --git a/js/components-manager.js b/js/components-manager.js index e2403d78..9244d2a4 100644 --- a/js/components-manager.js +++ b/js/components-manager.js @@ -709,7 +709,7 @@ app.handleFile = handleFile; let current_component_policy = 'workflow'; try { - api.fetchApi('/manager/component/policy') + api.fetchApi('/manager/policy/component') .then(response => response.text()) .then(data => { current_component_policy = data; }); } diff --git a/js/custom-nodes-manager.css b/js/custom-nodes-manager.css new file mode 100644 index 00000000..00e1e4c1 --- /dev/null +++ b/js/custom-nodes-manager.css @@ -0,0 +1,699 @@ +.cn-manager { + --grid-font: -apple-system, BlinkMacSystemFont, "Segue UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + z-index: 1099; + width: 80%; + height: 80%; + display: flex; + flex-direction: column; + gap: 10px; + color: var(--fg-color); + font-family: arial, sans-serif; + text-underline-offset: 3px; + outline: none; +} + +.cn-manager .cn-flex-auto { + flex: auto; +} + +.cn-manager button { + font-size: 16px; + color: var(--input-text); + background-color: var(--comfy-input-bg); + border-radius: 8px; + border-color: var(--border-color); + border-style: solid; + margin: 0; + padding: 4px 8px; + min-width: 100px; +} + +.cn-manager button:disabled, +.cn-manager input:disabled, +.cn-manager select:disabled { + color: gray; +} + +.cn-manager button:disabled { + background-color: var(--comfy-input-bg); +} + +.cn-manager .cn-manager-restart { + display: none; + background-color: #500000; + color: white; +} + +.cn-manager .cn-manager-stop { + display: none; + background-color: #500000; + color: white; +} + +.cn-manager .cn-manager-back { + align-items: center; + justify-content: center; +} + +.arrow-icon { + height: 1em; + width: 1em; + margin-right: 5px; + transform: translateY(2px); +} + +.cn-icon { + display: block; + width: 16px; + height: 16px; +} + +.cn-icon svg { + display: block; + margin: 0; + pointer-events: none; +} + +.cn-manager-header { + display: flex; + flex-wrap: wrap; + gap: 5px; + align-items: center; + padding: 0 5px; +} + +.cn-manager-header label { + display: flex; + gap: 5px; + align-items: center; +} + +.cn-manager-filter { + height: 28px; + line-height: 28px; +} + +.cn-manager-keywords { + height: 28px; + line-height: 28px; + padding: 0 5px 0 26px; + background-size: 16px; + background-position: 5px center; + background-repeat: no-repeat; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20pointer-events%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23888%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m21%2021-4.486-4.494M19%2010.5a8.5%208.5%200%201%201-17%200%208.5%208.5%200%200%201%2017%200%22%2F%3E%3C%2Fsvg%3E"); +} + +.cn-manager-status { + padding-left: 10px; +} + +.cn-manager-grid { + flex: auto; + border: 1px solid var(--border-color); + overflow: hidden; + position: relative; +} + +.cn-manager-selection { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; +} + +.cn-manager-message { + position: relative; +} + +.cn-manager-footer { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; +} + +.cn-manager-grid .tg-turbogrid { + font-family: var(--grid-font); + font-size: 15px; + background: var(--bg-color); +} + +.cn-manager-grid .tg-turbogrid .tg-highlight::after { + position: absolute; + top: 0; + left: 0; + content: ""; + display: block; + width: 100%; + height: 100%; + box-sizing: border-box; + background-color: #80bdff11; + pointer-events: none; +} + +.cn-manager-grid .cn-pack-name a { + color: skyblue; + text-decoration: none; + word-break: break-word; +} + +.cn-manager-grid .cn-pack-desc a { + color: #5555FF; + font-weight: bold; + text-decoration: none; +} + +.cn-manager-grid .tg-cell a:hover { + text-decoration: underline; +} + +.cn-manager-grid .cn-pack-version { + line-height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + height: 100%; + gap: 5px; +} + +.cn-manager-grid .cn-pack-nodes { + line-height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + gap: 5px; + cursor: pointer; + height: 100%; +} + +.cn-manager-grid .cn-pack-nodes:hover { + text-decoration: underline; +} + +.cn-manager-grid .cn-pack-conflicts { + color: orange; +} + +.cn-popover { + position: fixed; + z-index: 10000; + padding: 20px; + color: #1e1e1e; + filter: drop-shadow(1px 5px 5px rgb(0 0 0 / 30%)); + overflow: hidden; +} + +.cn-flyover { + position: absolute; + top: 0; + right: 0; + z-index: 1000; + display: none; + width: 50%; + height: 100%; + background-color: var(--comfy-menu-bg); + animation-duration: 0.2s; + animation-fill-mode: both; + flex-direction: column; +} + +.cn-flyover::before { + position: absolute; + top: 0; + content: ""; + z-index: 10; + display: block; + width: 10px; + height: 100%; + pointer-events: none; + left: -10px; + background-image: linear-gradient(to left, rgb(0 0 0 / 20%), rgb(0 0 0 / 0%)); +} + +.cn-flyover-header { + height: 45px; + display: flex; + align-items: center; + gap: 5px; + border-bottom: 1px solid var(--border-color); +} + +.cn-flyover-close { + display: flex; + align-items: center; + padding: 0 10px; + justify-content: center; + cursor: pointer; + opacity: 0.8; + height: 100%; +} + +.cn-flyover-close:hover { + opacity: 1; +} + +.cn-flyover-close svg { + display: block; + margin: 0; + pointer-events: none; + width: 20px; + height: 20px; +} + +.cn-flyover-title { + display: flex; + align-items: center; + font-weight: bold; + gap: 10px; + flex: auto; +} + +.cn-flyover-body { + height: calc(100% - 45px); + overflow-y: auto; + position: relative; + background-color: var(--comfy-menu-secondary-bg); +} + +@keyframes cn-slide-in-right { + from { + visibility: visible; + transform: translate3d(100%, 0, 0); + } + + to { + transform: translate3d(0, 0, 0); + } +} + +.cn-slide-in-right { + animation-name: cn-slide-in-right; +} + +@keyframes cn-slide-out-right { + from { + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + transform: translate3d(100%, 0, 0); + } +} + +.cn-slide-out-right { + animation-name: cn-slide-out-right; +} + +.cn-nodes-list { + width: 100%; +} + +.cn-nodes-row { + display: flex; + align-items: center; + gap: 10px; +} + +.cn-nodes-row:nth-child(odd) { + background-color: rgb(0 0 0 / 5%); +} + +.cn-nodes-row:hover { + background-color: rgb(0 0 0 / 10%); +} + +.cn-nodes-sn { + text-align: right; + min-width: 35px; + color: var(--drag-text); + flex-shrink: 0; + font-size: 12px; + padding: 8px 5px; +} + +.cn-nodes-name { + cursor: pointer; + white-space: nowrap; + flex-shrink: 0; + position: relative; + padding: 8px 5px; +} + +.cn-nodes-name::after { + content: attr(action); + position: absolute; + pointer-events: none; + top: 50%; + left: 100%; + transform: translate(5px, -50%); + font-size: 12px; + color: var(--drag-text); + background-color: var(--comfy-input-bg); + border-radius: 10px; + border: 1px solid var(--border-color); + padding: 3px 8px; + display: none; +} + +.cn-nodes-name.action::after { + display: block; +} + +.cn-nodes-name:hover { + text-decoration: underline; +} + +.cn-nodes-conflict .cn-nodes-name, +.cn-nodes-conflict .cn-icon { + color: orange; +} + +.cn-conflicts-list { + display: flex; + flex-wrap: wrap; + gap: 5px; + align-items: center; + padding: 5px 0; +} + +.cn-conflicts-list b { + font-weight: normal; + color: var(--descrip-text); +} + +.cn-nodes-pack { + cursor: pointer; + color: skyblue; +} + +.cn-nodes-pack:hover { + text-decoration: underline; +} + +.cn-pack-badge { + font-size: 12px; + font-weight: normal; + background-color: var(--comfy-input-bg); + border-radius: 10px; + border: 1px solid var(--border-color); + padding: 3px 8px; + color: var(--error-text); +} + +.cn-preview { + min-width: 300px; + max-width: 500px; + min-height: 120px; + overflow: hidden; + font-size: 12px; + pointer-events: none; + padding: 12px; + color: var(--fg-color); +} + +.cn-preview-header { + display: flex; + gap: 8px; + align-items: center; + border-bottom: 1px solid var(--comfy-input-bg); + padding: 5px 10px; +} + +.cn-preview-dot { + width: 8px; + height: 8px; + border-radius: 50%; + background-color: grey; + position: relative; + filter: drop-shadow(1px 2px 3px rgb(0 0 0 / 30%)); +} + +.cn-preview-dot.cn-preview-optional::after { + content: ""; + position: absolute; + pointer-events: none; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: var(--comfy-input-bg); + border-radius: 50%; + width: 3px; + height: 3px; +} + +.cn-preview-dot.cn-preview-grid { + border-radius: 0; +} + +.cn-preview-dot.cn-preview-grid::before { + content: ''; + position: absolute; + border-left: 1px solid var(--comfy-input-bg); + border-right: 1px solid var(--comfy-input-bg); + width: 4px; + height: 100%; + left: 2px; + top: 0; + z-index: 1; +} + +.cn-preview-dot.cn-preview-grid::after { + content: ''; + position: absolute; + border-top: 1px solid var(--comfy-input-bg); + border-bottom: 1px solid var(--comfy-input-bg); + width: 100%; + height: 4px; + left: 0; + top: 2px; + z-index: 1; +} + +.cn-preview-name { + flex: auto; + font-size: 14px; +} + +.cn-preview-io { + display: flex; + justify-content: space-between; + padding: 10px 10px; +} + +.cn-preview-column > div { + display: flex; + gap: 10px; + align-items: center; + height: 18px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.cn-preview-input { + justify-content: flex-start; +} + +.cn-preview-output { + justify-content: flex-end; +} + +.cn-preview-list { + display: flex; + flex-direction: column; + gap: 3px; + padding: 0 10px 10px 10px; +} + +.cn-preview-switch { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + background: var(--bg-color); + border: 2px solid var(--border-color); + border-radius: 10px; + text-wrap: nowrap; + padding: 2px 20px; + gap: 10px; +} + +.cn-preview-switch::before, +.cn-preview-switch::after { + position: absolute; + pointer-events: none; + top: 50%; + transform: translate(0, -50%); + color: var(--fg-color); + opacity: 0.8; +} + +.cn-preview-switch::before { + content: "◀"; + left: 5px; +} + +.cn-preview-switch::after { + content: "▶"; + right: 5px; +} + +.cn-preview-value { + color: var(--descrip-text); +} + +.cn-preview-string { + min-height: 30px; + max-height: 300px; + background: var(--bg-color); + color: var(--descrip-text); + border-radius: 3px; + padding: 3px 5px; + overflow-y: auto; + overflow-x: hidden; +} + +.cn-preview-description { + margin: 0px 10px 10px 10px; + padding: 6px; + background: var(--border-color); + color: var(--descrip-text); + border-radius: 5px; + font-style: italic; + word-break: break-word; +} + +.cn-tag-list { + display: flex; + flex-wrap: wrap; + gap: 5px; + align-items: center; + margin-bottom: 5px; +} + +.cn-tag-list > div { + background-color: var(--border-color); + border-radius: 5px; + padding: 0 5px; +} + +.cn-install-buttons { + display: flex; + flex-direction: column; + gap: 3px; + padding: 3px; + align-items: center; + justify-content: center; + height: 100%; +} + +.cn-selected-buttons { + display: flex; + gap: 5px; + align-items: center; + padding-right: 20px; +} + +.cn-manager .cn-btn-enable { + background-color: #333399; + color: white; +} + +.cn-manager .cn-btn-disable { + background-color: #442277; + color: white; +} + +.cn-manager .cn-btn-update { + background-color: #1155AA; + color: white; +} + +.cn-manager .cn-btn-try-update { + background-color: Gray; + color: white; +} + +.cn-manager .cn-btn-try-fix { + background-color: #6495ED; + color: white; +} + +.cn-manager .cn-btn-import-failed { + background-color: #AA1111; + font-size: 10px; + font-weight: bold; + color: white; +} + +.cn-manager .cn-btn-install { + background-color: black; + color: white; +} + +.cn-manager .cn-btn-try-install { + background-color: Gray; + color: white; +} + +.cn-manager .cn-btn-uninstall { + background-color: #993333; + color: white; +} + +.cn-manager .cn-btn-reinstall { + background-color: #993333; + color: white; +} + +.cn-manager .cn-btn-switch { + background-color: #448833; + color: white; + +} + +@keyframes cn-btn-loading-bg { + 0% { + left: 0; + } + 100% { + left: -105px; + } +} + +.cn-manager button.cn-btn-loading { + position: relative; + overflow: hidden; + border-color: rgb(0 119 207 / 80%); + background-color: var(--comfy-input-bg); +} + +.cn-manager button.cn-btn-loading::after { + position: absolute; + top: 0; + left: 0; + content: ""; + width: 500px; + height: 100%; + background-image: repeating-linear-gradient( + -45deg, + rgb(0 119 207 / 30%), + rgb(0 119 207 / 30%) 10px, + transparent 10px, + transparent 15px + ); + animation: cn-btn-loading-bg 2s linear infinite; +} + +.cn-manager-light .cn-pack-name a { + color: blue; +} + +.cn-manager-light .cm-warn-note { + background-color: #ccc !important; +} + +.cn-manager-light .cn-btn-install { + background-color: #333; +} \ No newline at end of file diff --git a/js/custom-nodes-manager.js b/js/custom-nodes-manager.js index b4b4352a..a42e018e 100644 --- a/js/custom-nodes-manager.js +++ b/js/custom-nodes-manager.js @@ -4,324 +4,18 @@ import { api } from "../../scripts/api.js"; import { manager_instance, rebootAPI, install_via_git_url, - fetchData, md5, icons, show_message, customConfirm, customAlert, customPrompt + fetchData, md5, icons, show_message, customConfirm, customAlert, customPrompt, + sanitizeHTML, infoToast, showTerminal, setNeedRestart, + storeColumnWidth, restoreColumnWidth, getTimeAgo, copyText, loadCss, + showPopover, hidePopover } from "./common.js"; // https://cenfun.github.io/turbogrid/api.html import TG from "./turbogrid.esm.js"; -const pageCss = ` -.cn-manager { - --grid-font: -apple-system, BlinkMacSystemFont, "Segue UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - z-index: 1099; - width: 80%; - height: 80%; - display: flex; - flex-direction: column; - gap: 10px; - color: var(--fg-color); - font-family: arial, sans-serif; -} +loadCss("./custom-nodes-manager.css"); -.cn-manager .cn-flex-auto { - flex: auto; -} - -.cn-manager button { - font-size: 16px; - color: var(--input-text); - background-color: var(--comfy-input-bg); - border-radius: 8px; - border-color: var(--border-color); - border-style: solid; - margin: 0; - padding: 4px 8px; - min-width: 100px; -} - -.cn-manager button:disabled, -.cn-manager input:disabled, -.cn-manager select:disabled { - color: gray; -} - -.cn-manager button:disabled { - background-color: var(--comfy-input-bg); -} - -.cn-manager .cn-manager-restart { - display: none; - background-color: #500000; - color: white; -} - -.cn-manager .cn-manager-back { - align-items: center; - justify-content: center; -} - -.arrow-icon { - height: 1em; - width: 1em; - margin-right: 5px; - transform: translateY(2px); -} - -.cn-manager-header { - display: flex; - flex-wrap: wrap; - gap: 5px; - align-items: center; - padding: 0 5px; -} - -.cn-manager-header label { - display: flex; - gap: 5px; - align-items: center; -} - -.cn-manager-filter { - height: 28px; - line-height: 28px; -} - -.cn-manager-keywords { - height: 28px; - line-height: 28px; - padding: 0 5px 0 26px; - background-size: 16px; - background-position: 5px center; - background-repeat: no-repeat; - background-image: url("data:image/svg+xml;charset=utf8,${encodeURIComponent(icons.search.replace("currentColor", "#888"))}"); -} - -.cn-manager-status { - padding-left: 10px; -} - -.cn-manager-grid { - flex: auto; - border: 1px solid var(--border-color); - overflow: hidden; -} - -.cn-manager-selection { - display: flex; - flex-wrap: wrap; - gap: 10px; - align-items: center; -} - -.cn-manager-message { - -} - -.cn-manager-footer { - display: flex; - flex-wrap: wrap; - gap: 10px; - align-items: center; -} - -.cn-manager-grid .tg-turbogrid { - font-family: var(--grid-font); - font-size: 15px; - background: var(--bg-color); -} - -.cn-manager-grid .cn-node-name a { - color: skyblue; - text-decoration: none; - word-break: break-word; -} - -.cn-manager-grid .cn-node-desc a { - color: #5555FF; - font-weight: bold; - text-decoration: none; -} - -.cn-manager-grid .tg-cell a:hover { - text-decoration: underline; -} - -.cn-manager-grid .cn-extensions-button, -.cn-manager-grid .cn-conflicts-button { - display: inline-block; - width: 20px; - height: 20px; - color: green; - border: none; - padding: 0; - margin: 0; - background: none; - min-width: 20px; -} - -.cn-manager-grid .cn-conflicts-button { - color: orange; -} - -.cn-manager-grid .cn-extensions-list, -.cn-manager-grid .cn-conflicts-list { - line-height: normal; - text-align: left; - max-height: 80%; - min-height: 200px; - min-width: 300px; - overflow-y: auto; - font-size: 12px; - border-radius: 5px; - padding: 10px; - filter: drop-shadow(2px 5px 5px rgb(0 0 0 / 30%)); - white-space: normal; -} - -.cn-manager-grid .cn-extensions-list { - border-color: var(--bg-color); -} - -.cn-manager-grid .cn-conflicts-list { - background-color: #CCCC55; - color: #AA3333; -} - -.cn-manager-grid .cn-extensions-list h3, -.cn-manager-grid .cn-conflicts-list h3 { - margin: 0; - padding: 5px 0; - color: #000; -} - -.cn-tag-list { - display: flex; - flex-wrap: wrap; - gap: 5px; - align-items: center; - margin-bottom: 5px; -} - -.cn-tag-list > div { - background-color: var(--border-color); - border-radius: 5px; - padding: 0 5px; -} - -.cn-install-buttons { - display: flex; - flex-direction: column; - gap: 3px; - padding: 3px; - align-items: center; - justify-content: center; - height: 100%; -} - -.cn-selected-buttons { - display: flex; - gap: 5px; - align-items: center; - padding-right: 20px; -} - -.cn-manager .cn-btn-enable { - background-color: #333399; - color: white; -} - -.cn-manager .cn-btn-disable { - background-color: #442277; - color: white; -} - -.cn-manager .cn-btn-update { - background-color: #1155AA; - color: white; -} - -.cn-manager .cn-btn-try-update { - background-color: Gray; - color: white; -} - -.cn-manager .cn-btn-try-fix { - background-color: #6495ED; - color: white; -} - -.cn-manager .cn-btn-install { - background-color: black; - color: white; -} - -.cn-manager .cn-btn-try-install { - background-color: Gray; - color: white; -} - -.cn-manager .cn-btn-uninstall { - background-color: #993333; - color: white; -} - -.cn-manager .cn-btn-reinstall { - background-color: #993333; - color: white; -} - -.cn-manager .cn-btn-switch { - background-color: #448833; - color: white; - -} - -@keyframes cn-btn-loading-bg { - 0% { - left: 0; - } - 100% { - left: -105px; - } -} - -.cn-manager button.cn-btn-loading { - position: relative; - overflow: hidden; - border-color: rgb(0 119 207 / 80%); - background-color: var(--comfy-input-bg); -} - -.cn-manager button.cn-btn-loading::after { - position: absolute; - top: 0; - left: 0; - content: ""; - width: 500px; - height: 100%; - background-image: repeating-linear-gradient( - -45deg, - rgb(0 119 207 / 30%), - rgb(0 119 207 / 30%) 10px, - transparent 10px, - transparent 15px - ); - animation: cn-btn-loading-bg 2s linear infinite; -} - -.cn-manager-light .cn-node-name a { - color: blue; -} - -.cn-manager-light .cm-warn-note { - background-color: #ccc !important; -} - -.cn-manager-light .cn-btn-install { - background-color: #333; -} - -`; +const gridId = "node"; const pageHtml = `
@@ -337,14 +31,16 @@ const pageHtml = `
`]; + + // Node slot I/O + const inputList = []; + nodeItem.input_order.required?.map(name => { + inputList.push({ + name + }); + }) + nodeItem.input_order.optional?.map(name => { + inputList.push({ + name, + optional: true + }); + }); + + const slotInputList = []; + const widgetInputList = []; + const inputMap = Object.assign({}, nodeItem.input.optional, nodeItem.input.required); + inputList.forEach(it => { + const inputName = it.name; + const _inputData = inputMap[inputName]; + let type = _inputData[0]; + let options = _inputData[1] || {}; + if (Array.isArray(type)) { + options.default = type[0]; + type = 'COMBO'; + } + it.type = type; + it.options = options; + + // convert force/default inputs + if (options.forceInput || options.defaultInput) { + slotInputList.push(it); + return; + } + + const widgetType = this.getWidgetType(type, inputName); + if (widgetType) { + it.default = options.default; + widgetInputList.push(it); + } else { + slotInputList.push(it); + } + }); + + const outputList = nodeItem.output.map((type, i) => { + return { + type, + name: nodeItem.output_name[i], + list: nodeItem.output_is_list[i] + } + }); + + // dark + const colorMap = { + "CLIP": "#FFD500", + "CLIP_VISION": "#A8DADC", + "CLIP_VISION_OUTPUT": "#ad7452", + "CONDITIONING": "#FFA931", + "CONTROL_NET": "#6EE7B7", + "IMAGE": "#64B5F6", + "LATENT": "#FF9CF9", + "MASK": "#81C784", + "MODEL": "#B39DDB", + "STYLE_MODEL": "#C2FFAE", + "VAE": "#FF6E6E", + "NOISE": "#B0B0B0", + "GUIDER": "#66FFFF", + "SAMPLER": "#ECB4B4", + "SIGMAS": "#CDFFCD", + "TAESD": "#DCC274" + } + + const inputHtml = slotInputList.map(it => { + const color = colorMap[it.type] || "gray"; + const optional = it.optional ? " cn-preview-optional" : "" + return `
+
+ ${it.name} +
`; + }).join(""); + + const outputHtml = outputList.map(it => { + const color = colorMap[it.type] || "gray"; + const grid = it.list ? " cn-preview-grid" : ""; + return `
+ ${it.name} +
+
`; + }).join(""); + + list.push(`
+
${inputHtml}
+
${outputHtml}
+
`); + + // Node widget inputs + if (widgetInputList.length) { + list.push(`
`); + + // console.log(widgetInputList); + widgetInputList.forEach(it => { + + let value = it.default; + if (typeof value === "object" && value && Object.prototype.hasOwnProperty.call(value, "content")) { + value = value.content; + } + if (typeof value === "undefined" || value === null) { + value = ""; + } else { + value = `${value}`; + } + + if ( + (it.type === "STRING" && (value || it.options.multiline)) + || it.type === "MARKDOWN" + ) { + if (value) { + value = value.replace(/\r?\n/g, "
") + } + list.push(`
${value || it.name}
`); + return; + } + + list.push(`
+
${it.name}
+
${value}
+
`); + }); + list.push(`
`); + } + + if (nodeItem.description) { + list.push(`
${nodeItem.description}
`) + } + + return list.join(""); + } + + showNodePreview(target) { + const nodeName = target.innerText; + const nodeItem = this.nodeMap[nodeName]; + if (!nodeItem) { + this.hideNodePreview(); + return; + } + const html = this.createNodePreview(nodeItem); + showPopover(target, html, "cn-preview cn-preview-"+this.colorPalette, { + positions: ['left'], + bgColor: this.colorVars.bgColor, + borderColor: this.colorVars.borderColor + }) + } + + hideNodePreview() { + hidePopover(); + } + + createFlyover(container) { + const $flyover = document.createElement("div"); + $flyover.className = "cn-flyover"; + $flyover.innerHTML = `
+
${icons.arrowRight}
+
+
${icons.close}
+
+
` + container.appendChild($flyover); + + const $flyoverTitle = $flyover.querySelector(".cn-flyover-title"); + const $flyoverBody = $flyover.querySelector(".cn-flyover-body"); + + let width = '50%'; + let visible = false; + + let timeHide; + const closeHandler = (e) => { + if ($flyover === e.target || $flyover.contains(e.target)) { + return; + } + clearTimeout(timeHide); + timeHide = setTimeout(() => { + flyover.hide(); + }, 100); + } + + const hoverHandler = (e) => { + if(e.type === "mouseenter") { + if(e.target.classList.contains("cn-nodes-name")) { + this.showNodePreview(e.target); + } + return; + } + this.hideNodePreview(); + } + + const displayHandler = () => { + if (visible) { + $flyover.classList.remove("cn-slide-in-right"); + } else { + $flyover.classList.remove("cn-slide-out-right"); + $flyover.style.width = '0px'; + $flyover.style.display = "none"; + } + } + + const flyover = { + show: (titleHtml, bodyHtml) => { + clearTimeout(timeHide); + this.element.removeEventListener("click", closeHandler); + $flyoverTitle.innerHTML = titleHtml; + $flyoverBody.innerHTML = bodyHtml; + $flyover.style.display = "block"; + $flyover.style.width = width; + if(!visible) { + $flyover.classList.add("cn-slide-in-right"); + } + visible = true; + setTimeout(() => { + this.element.addEventListener("click", closeHandler); + }, 100); + }, + hide: (now) => { + visible = false; + this.element.removeEventListener("click", closeHandler); + if(now) { + displayHandler(); + return; + } + $flyover.classList.add("cn-slide-out-right"); + } + } + + $flyover.addEventListener("animationend", (e) => { + displayHandler(); + }); + + $flyover.addEventListener("mouseenter", hoverHandler, true); + $flyover.addEventListener("mouseleave", hoverHandler, true); + + $flyover.addEventListener("click", (e) => { + + if(e.target.classList.contains("cn-nodes-name")) { + const nodeName = e.target.innerText; + const nodeItem = this.nodeMap[nodeName]; + if (!nodeItem) { + copyText(nodeName).then((res) => { + if (res) { + e.target.setAttribute("action", "Copied"); + e.target.classList.add("action"); + setTimeout(() => { + e.target.classList.remove("action"); + e.target.removeAttribute("action"); + }, 1000); + } + }); + return; + } + + const [x, y, w, h] = app.canvas.ds.visible_area; + const dpi = Math.max(window.devicePixelRatio ?? 1, 1); + const node = window.LiteGraph?.createNode( + nodeItem.name, + nodeItem.display_name, + { + pos: [x + (w-300) / dpi / 2, y] + } + ); + if (node) { + app.graph.add(node); + e.target.setAttribute("action", "Added to Workflow"); + e.target.classList.add("action"); + setTimeout(() => { + e.target.classList.remove("action"); + e.target.removeAttribute("action"); + }, 1000); + } + + return; + } + if(e.target.classList.contains("cn-nodes-pack")) { + const hash = e.target.getAttribute("hash"); + const rowItem = this.grid.getRowItemBy("hash", hash); + //console.log(rowItem); + this.grid.scrollToRow(rowItem); + this.addHighlight(rowItem); + return; + } + if(e.target.classList.contains("cn-flyover-close")) { + flyover.hide(); + return; + } + }); + + return flyover; + } + + showNodes(d) { + const nodesList = d.rowItem.nodesList; + if (!nodesList) { + return; + } + + const rowItem = d.rowItem; + const isNotInstalled = rowItem.action == "not-installed"; + + let titleHtml = `
${rowItem.title}
`; + if (isNotInstalled) { + titleHtml += '
Not Installed
' + } + + const list = []; + list.push(`
`); + + nodesList.forEach((it, i) => { + let rowClass = 'cn-nodes-row' + if (it.conflicts) { + rowClass += ' cn-nodes-conflict'; + } + + list.push(`
`); + list.push(`
${i+1}
`); + list.push(`
${it.name}
`); + + if (it.conflicts) { + list.push(`
${icons.conflicts}
Conflict with${it.conflicts.map(c => { + return `
${c.title}
`; + }).join(",")}
`); + } + list.push(`
`); + }); + + list.push("
"); + const bodyHtml = list.join(""); + + this.flyover.show(titleHtml, bodyHtml); + } + + async loadNodes(node_packs) { + const mode = manager_instance.datasrc_combo.value; + this.showStatus(`Loading node mappings (${mode}) ...`); + const res = await fetchData(`/customnode/getmappings?mode=${mode}`); + if (res.error) { + console.log(res.error); + return; + } + + const data = res.data; + + const findNode = (k, title) => { + let item = node_packs[k]; + if (item) { + return item; + } + + // git url + if (k.includes("/")) { + const gitName = k.split("/").pop(); + item = node_packs[gitName]; + if (item) { + return item; + } + } + + return node_packs[title]; + } + + const conflictsMap = {}; + + // add nodes data + Object.keys(data).forEach(k => { + const [nodes, metadata] = data[k]; + if (nodes?.length) { + const title = metadata?.title_aux; + const nodeItem = findNode(k, title); + if (nodeItem) { + + // deduped + const eList = Array.from(new Set(nodes)); + + nodeItem.nodes = eList.length; + const nodesMap = {}; + eList.forEach(extName => { + nodesMap[extName] = { + name: extName + }; + let cList = conflictsMap[extName]; + if(!cList) { + cList = []; + conflictsMap[extName] = cList; + } + cList.push(nodeItem.key); + }); + nodeItem.nodesMap = nodesMap; + } else { + // should be removed + // console.log("not found", k, title, nodes) + } + } + }); + + // calculate conflicts data + Object.keys(conflictsMap).forEach(extName => { + const cList = conflictsMap[extName]; + if(cList.length <= 1) { + return; + } + cList.forEach(key => { + const nodeItem = node_packs[key]; + const extItem = nodeItem.nodesMap[extName]; + if(!extItem.conflicts) { + extItem.conflicts = [] + } + const conflictsList = cList.filter(k => k !== key); + conflictsList.forEach(k => { + const nItem = node_packs[k]; + extItem.conflicts.push({ + key: k, + title: nItem.title, + hash: nItem.hash + }) + + }) + }) + }) + + Object.values(node_packs).forEach(nodeItem => { + if (nodeItem.nodesMap) { + nodeItem.nodesList = Object.values(nodeItem.nodesMap); + nodeItem.conflicts = nodeItem.nodesList.filter(it => it.conflicts).length; + } + }) + + } + // =========================================================================================== renderSelected() { @@ -1148,7 +1374,7 @@ export class CustomNodesManager { } focusInstall(item, mode) { - const cellNode = this.grid.getCellNode(item, "installed"); + const cellNode = this.grid.getCellNode(item, "action"); if (cellNode) { const cellBtn = cellNode.querySelector(`button[mode="${mode}"]`); if (cellBtn) { @@ -1213,6 +1439,13 @@ export class CustomNodesManager { } async installNodes(list, btn, title, selected_version) { + let stats = await api.fetchApi('/manager/queue/status'); + stats = await stats.json(); + if(stats.is_processing) { + customAlert(`[ComfyUI-Manager] There are already tasks in progress. Please try again after it is completed. (${stats.done_count}/${stats.total_count})`); + return; + } + const { target, label, mode} = btn; if(mode === "uninstall") { @@ -1238,8 +1471,15 @@ export class CustomNodesManager { let needRestart = false; let errorMsg = ""; + + await api.fetchApi('/manager/queue/reset'); + + let target_items = []; + for (const hash of list) { const item = this.grid.getRowItemBy("hash", hash); + target_items.push(item); + if (!item) { errorMsg = `Not found custom node: ${hash}`; break; @@ -1259,6 +1499,7 @@ export class CustomNodesManager { data.selected_version = selected_version; data.channel = this.channel; data.mode = this.mode; + data.ui_id = hash; let install_mode = mode; if(mode == 'switch') { @@ -1276,108 +1517,231 @@ export class CustomNodesManager { api_mode = 'reinstall'; } - const res = await api.fetchApi(`/customnode/${api_mode}`, { + const res = await api.fetchApi(`/manager/queue/${api_mode}`, { method: 'POST', body: JSON.stringify(data) }); - if (res.error) { + if (res.status != 200) { + errorMsg = `'${item.title}': `; - errorMsg = `${item.title} ${mode} failed: `; if(res.status == 403) { - errorMsg += `This action is not allowed with this security level configuration.`; + errorMsg += `This action is not allowed with this security level configuration.\n`; } else if(res.status == 404) { - errorMsg += `With the current security level configuration, only custom nodes from the "default channel" can be installed.`; + errorMsg += `With the current security level configuration, only custom nodes from the "default channel" can be installed.\n`; } else { - errorMsg += res.error.message; + errorMsg += await res.text() + '\n'; } break; } - - needRestart = true; - - this.grid.setRowSelected(item, false); - item.restart = true; - this.restartMap[item.hash] = true; - this.grid.updateCell(item, "action"); - - //console.log(res.data); - } + this.install_context = {btn: btn, targets: target_items}; + + if(errorMsg) { + this.showError(errorMsg); + show_message("[Installation Errors]\n"+errorMsg); + + // reset + for(let k in target_items) { + const item = target_items[k]; + this.grid.updateCell(item, "action"); + } + } + else { + await api.fetchApi('/manager/queue/start'); + this.showStop(); + showTerminal(); + } + } + + async onQueueStatus(event) { + let self = CustomNodesManager.instance; + if(event.detail.status == 'in_progress' && event.detail.ui_target == 'nodepack_manager') { + const hash = event.detail.target; + + const item = self.grid.getRowItemBy("hash", hash); + + item.restart = true; + self.restartMap[item.hash] = true; + self.grid.updateCell(item, "action"); + self.grid.setRowSelected(item, false); + } + else if(event.detail.status == 'done') { + self.hideStop(); + self.onQueueCompleted(event.detail); + } + } + + async onQueueCompleted(info) { + let result = info.nodepack_result; + + if(result.length == 0) { + return; + } + + let self = CustomNodesManager.instance; + + if(!self.install_context) { + return; + } + + const { target, label, mode } = self.install_context.btn; target.classList.remove("cn-btn-loading"); + let errorMsg = ""; + + for(let hash in result){ + let v = result[hash]; + + if(v != 'success' && v != 'skip') + errorMsg += v+'\n'; + } + + for(let k in self.install_context.targets) { + let item = self.install_context.targets[k]; + self.grid.updateCell(item, "action"); + } + if (errorMsg) { - this.showError(errorMsg); + self.showError(errorMsg); + show_message("Installation Error:\n"+errorMsg); } else { - this.showStatus(`${label} ${list.length} custom node(s) successfully`); + self.showStatus(`${label} ${result.length} custom node(s) successfully`); } - if (needRestart) { - this.showRestart(); - this.showMessage(`To apply the installed/updated/disabled/enabled custom node, please restart ComfyUI. And refresh browser.`, "red") - } + self.showRestart(); + self.showMessage(`To apply the installed/updated/disabled/enabled custom node, please restart ComfyUI. And refresh browser.`, "red"); + infoToast(`[ComfyUI-Manager] All node pack tasks in the queue have been completed.\n${info.done_count}/${info.total_count}`); + self.install_context = undefined; } // =========================================================================================== - async getExtensionMappings() { - const mode = manager_instance.datasrc_combo.value; - this.showStatus(`Loading extension mappings (${mode}) ...`); - const res = await fetchData(`/customnode/getmappings?mode=${mode}`); - if (res.error) { - console.log(res.error); - return {} + getNodesInWorkflow() { + let usedGroupNodes = new Set(); + let allUsedNodes = {}; + + for(let k in app.graph._nodes) { + let node = app.graph._nodes[k]; + + if(node.type.startsWith('workflow>')) { + usedGroupNodes.add(node.type.slice(9)); + continue; + } + + allUsedNodes[node.type] = node; } - - const data = res.data; - const extension_mappings = {}; - const conflicts_map = {}; - Object.keys(data).forEach(k => { - const [extensions, metadata] = data[k]; - extension_mappings[k] = { - extensions, - metadata - } - extensions.forEach(node => { - let l = conflicts_map[node]; - if(!l) { - l = []; - conflicts_map[node] = l; + for(let k of usedGroupNodes) { + let subnodes = app.graph.extra.groupNodes[k]?.nodes; + + if(subnodes) { + for(let k2 in subnodes) { + let node = subnodes[k2]; + allUsedNodes[node.type] = node; } - l.push(k); - }) - }) - - Object.keys(conflicts_map).forEach(node => { - const list = conflicts_map[node]; - if(list.length > 1) { - list.forEach(k => { - const item = extension_mappings[k]; - if(!item) { - console.log(`not found ${k}`) - return; - } - - if (!item.conflicts) { - item.conflicts = []; - } - list.forEach(key => { - if(k !== key) { - item.conflicts.push([node, key]) - } - }) - }) } - }) - - return extension_mappings; + } + + return allUsedNodes; } async getMissingNodes() { + let unresolved_missing_nodes = new Set(); + let hashMap = {}; + let allUsedNodes = this.getNodesInWorkflow(); + + const registered_nodes = new Set(); + for (let i in LiteGraph.registered_node_types) { + registered_nodes.add(LiteGraph.registered_node_types[i].type); + } + + let unresolved_aux_ids = {}; + let outdated_comfyui = false; + let unresolved_cnr_list = []; + + for(let k in allUsedNodes) { + let node = allUsedNodes[k]; + + if(!registered_nodes.has(node.type)) { + // missing node + if(node.properties.cnr_id) { + if(node.properties.cnr_id == 'comfy-core') { + outdated_comfyui = true; + } + + let item = this.custom_nodes[node.properties.cnr_id]; + if(item) { + hashMap[item.hash] = true; + } + else { + console.log(`CM: cannot find '${node.properties.cnr_id}' from cnr list.`); + unresolved_aux_ids[node.properties.cnr_id] = node.type; + unresolved_cnr_list.push(node.properties.cnr_id); + } + } + else if(node.properties.aux_id) { + unresolved_aux_ids[node.properties.aux_id] = node.type; + } + else { + unresolved_missing_nodes.add(node.type); + } + } + } + + + if(unresolved_cnr_list.length > 0) { + let error_msg = "Failed to find the following ComfyRegistry list.\nThe cache may be outdated, or the nodes may have been removed from ComfyRegistry.
"; + for(let i in unresolved_cnr_list) { + error_msg += '
  • '+unresolved_cnr_list[i]+'
  • '; + } + + show_message(error_msg); + } + + if(outdated_comfyui) { + customAlert('ComfyUI is outdated, so some built-in nodes cannot be used.'); + } + + if(Object.keys(unresolved_aux_ids).length > 0) { + // building aux_id to nodepack map + let aux_id_to_pack = {}; + for(let k in this.custom_nodes) { + let nodepack = this.custom_nodes[k]; + let aux_id; + if(nodepack.repository?.startsWith('https://github.com')) { + aux_id = nodepack.repository.split('/').slice(-2).join('/'); + aux_id_to_pack[aux_id] = nodepack; + } + else if(nodepack.repository) { + aux_id = nodepack.repository.split('/').slice(-1); + aux_id_to_pack[aux_id] = nodepack; + } + } + + // resolving aux_id + for(let k in unresolved_aux_ids) { + let nodepack = aux_id_to_pack[k]; + if(nodepack) { + hashMap[nodepack.hash] = true; + } + else { + unresolved_missing_nodes.add(unresolved_aux_ids[k]); + } + } + } + + if(unresolved_missing_nodes.size > 0) { + await this.getMissingNodesLegacy(hashMap, unresolved_missing_nodes); + } + + return hashMap; + } + + async getMissingNodesLegacy(hashMap, missing_nodes) { const mode = manager_instance.datasrc_combo.value; this.showStatus(`Loading missing nodes (${mode}) ...`); const res = await fetchData(`/customnode/getmappings?mode=${mode}`); @@ -1416,50 +1780,29 @@ export class CustomNodesManager { } } - const registered_nodes = new Set(); - for (let i in LiteGraph.registered_node_types) { - registered_nodes.add(LiteGraph.registered_node_types[i].type); - } - - const missing_nodes = new Set(); - const workflow = app.graph.serialize(); - const group_nodes = workflow.extra && workflow.extra.groupNodes ? workflow.extra.groupNodes : []; - let nodes = workflow.nodes; - - for (let i in group_nodes) { - let group_node = group_nodes[i]; - nodes = nodes.concat(group_node.nodes); - } - - for (let i in nodes) { - const node_type = nodes[i].type; - if(node_type.startsWith('workflow/') || node_type.startsWith('workflow>')) - continue; - - if (!registered_nodes.has(node_type)) { - const packs = name_to_packs[node_type.trim()]; - if(packs) - packs.forEach(url => { - missing_nodes.add(url); - }); - else { - for(let j in regex_to_pack) { - if(regex_to_pack[j].regex.test(node_type)) { - missing_nodes.add(regex_to_pack[j].url); - } + let unresolved_missing_nodes = new Set(); + for (let node_type of missing_nodes) { + const packs = name_to_packs[node_type.trim()]; + if(packs) + packs.forEach(url => { + unresolved_missing_nodes.add(url); + }); + else { + for(let j in regex_to_pack) { + if(regex_to_pack[j].regex.test(node_type)) { + unresolved_missing_nodes.add(regex_to_pack[j].url); } } } } - const hashMap = {}; for(let k in this.custom_nodes) { let item = this.custom_nodes[k]; - if(missing_nodes.has(item.id)) { + if(unresolved_missing_nodes.has(item.id)) { hashMap[item.hash] = true; } - else if (item.files?.some(file => missing_nodes.has(file))) { + else if (item.files?.some(file => unresolved_missing_nodes.has(file))) { hashMap[item.hash] = true; } } @@ -1478,6 +1821,41 @@ export class CustomNodesManager { return hashMap; } + async getNodepackInWorkflow() { + let allUsedNodes = this.getNodesInWorkflow(); + + // building aux_id to nodepack map + let aux_id_to_pack = {}; + for(let k in this.custom_nodes) { + let nodepack = this.custom_nodes[k]; + let aux_id; + if(nodepack.repository?.startsWith('https://github.com')) { + aux_id = nodepack.repository.split('/').slice(-2).join('/'); + aux_id_to_pack[aux_id] = nodepack; + } + else if(nodepack.repository) { + aux_id = nodepack.repository.split('/').slice(-1); + aux_id_to_pack[aux_id] = nodepack; + } + } + + const hashMap = {}; + for(let k in allUsedNodes) { + var item; + if(allUsedNodes[k].properties.cnr_id) { + item = this.custom_nodes[allUsedNodes[k].properties.cnr_id]; + } + else if(allUsedNodes[k].properties.aux_id) { + item = aux_id_to_pack[allUsedNodes[k].properties.aux_id]; + } + + if(item) + hashMap[item.hash] = true; + } + + return hashMap; + } + async getAlternatives() { const mode = manager_instance.datasrc_combo.value; this.showStatus(`Loading alternatives (${mode}) ...`); @@ -1513,25 +1891,35 @@ export class CustomNodesManager { } async loadData(show_mode = ShowMode.NORMAL) { + const isElectron = 'electronAPI' in window; + this.show_mode = show_mode; console.log("Show mode:", show_mode); this.showLoading(); - this.extension_mappings = await this.getExtensionMappings(); - const mode = manager_instance.datasrc_combo.value; this.showStatus(`Loading custom nodes (${mode}) ...`); const skip_update = this.show_mode === ShowMode.UPDATE ? "" : "&skip_update=true"; + + if(this.show_mode === ShowMode.UPDATE) { + infoToast('Fetching updated information. This may take some time if many custom nodes are installed.'); + } + const res = await fetchData(`/customnode/getlist?mode=${mode}${skip_update}`); if (res.error) { this.showError("Failed to get custom node list."); this.hideLoading(); - return + return; } const { channel, node_packs } = res.data; + + if(isElectron) { + delete node_packs['comfyui-manager']; + } + this.channel = channel; this.mode = mode; this.custom_nodes = node_packs; @@ -1546,9 +1934,12 @@ export class CustomNodesManager { if(item.originalData.id == undefined) { item.originalData.id = k; } + item.key = k; item.hash = md5(k); } + await this.loadNodes(node_packs); + const filterItem = this.getFilterItem(this.show_mode); if(filterItem) { let hashMap; @@ -1566,9 +1957,14 @@ export class CustomNodesManager { hashMap = await this.getAlternatives(); } else if(this.show_mode == ShowMode.FAVORITES) { hashMap = await this.getFavorites(); + } else if(this.show_mode == ShowMode.IN_WORKFLOW) { + hashMap = await this.getNodepackInWorkflow(); } filterItem.hashMap = hashMap; - filterItem.hasData = true; + + if(this.show_mode != ShowMode.IN_WORKFLOW) { + filterItem.hasData = true; + } } for(let k in node_packs) { @@ -1620,7 +2016,6 @@ export class CustomNodesManager { case "disabled": filterTypes.add("installed"); break; - case "not-installed": filterTypes.add("not-installed"); break; @@ -1699,9 +2094,9 @@ export class CustomNodesManager { } setDisabled(disabled) { - const $close = this.element.querySelector(".cn-manager-close"); const $restart = this.element.querySelector(".cn-manager-restart"); + const $stop = this.element.querySelector(".cn-manager-stop"); const list = [ ".cn-manager-header input", @@ -1713,7 +2108,7 @@ export class CustomNodesManager { }) .flat() .filter(it => { - return it !== $close && it !== $restart; + return it !== $close && it !== $restart && it !== $stop; }); list.forEach($elem => { @@ -1732,6 +2127,15 @@ export class CustomNodesManager { showRestart() { this.element.querySelector(".cn-manager-restart").style.display = "block"; + setNeedRestart(true); + } + + showStop() { + this.element.querySelector(".cn-manager-stop").style.display = "block"; + } + + hideStop() { + this.element.querySelector(".cn-manager-stop").style.display = "none"; } setFilter(filterValue) { @@ -1751,6 +2155,7 @@ export class CustomNodesManager { show(show_mode) { this.element.style.display = "flex"; + this.element.focus(); this.setFilter(show_mode); this.setKeywords(""); this.showSelection(""); @@ -1761,4 +2166,8 @@ export class CustomNodesManager { close() { this.element.style.display = "none"; } + + get isVisible() { + return this.element?.style?.display !== "none"; + } } \ No newline at end of file diff --git a/js/model-manager.css b/js/model-manager.css new file mode 100644 index 00000000..3a34cb2d --- /dev/null +++ b/js/model-manager.css @@ -0,0 +1,213 @@ +.cmm-manager { + --grid-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + z-index: 1099; + width: 80%; + height: 80%; + display: flex; + flex-direction: column; + gap: 10px; + color: var(--fg-color); + font-family: arial, sans-serif; +} + +.cmm-manager .cmm-flex-auto { + flex: auto; +} + +.cmm-manager button { + font-size: 16px; + color: var(--input-text); + background-color: var(--comfy-input-bg); + border-radius: 8px; + border-color: var(--border-color); + border-style: solid; + margin: 0; + padding: 4px 8px; + min-width: 100px; +} + +.cmm-manager button:disabled, +.cmm-manager input:disabled, +.cmm-manager select:disabled { + color: gray; +} + +.cmm-manager button:disabled { + background-color: var(--comfy-input-bg); +} + +.cmm-manager .cmm-manager-refresh { + display: none; + background-color: #000080; + color: white; +} + +.cmm-manager .cmm-manager-stop { + display: none; + background-color: #500000; + color: white; +} + +.cmm-manager-header { + display: flex; + flex-wrap: wrap; + gap: 5px; + align-items: center; + padding: 0 5px; +} + +.cmm-manager-header label { + display: flex; + gap: 5px; + align-items: center; +} + +.cmm-manager-type, +.cmm-manager-base, +.cmm-manager-filter { + height: 28px; + line-height: 28px; +} + +.cmm-manager-keywords { + height: 28px; + line-height: 28px; + padding: 0 5px 0 26px; + background-size: 16px; + background-position: 5px center; + background-repeat: no-repeat; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20pointer-events%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23888%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m21%2021-4.486-4.494M19%2010.5a8.5%208.5%200%201%201-17%200%208.5%208.5%200%200%201%2017%200%22%2F%3E%3C%2Fsvg%3E"); +} + +.cmm-manager-status { + padding-left: 10px; +} + +.cmm-manager-grid { + flex: auto; + border: 1px solid var(--border-color); + overflow: hidden; +} + +.cmm-manager-selection { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; +} + +.cmm-manager-footer { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; +} + +.cmm-manager-grid .tg-turbogrid { + font-family: var(--grid-font); + font-size: 15px; + background: var(--bg-color); +} + +.cmm-manager-grid .cmm-node-name a { + color: skyblue; + text-decoration: none; + word-break: break-word; +} + +.cmm-manager-grid .cmm-node-desc a { + color: #5555FF; + font-weight: bold; + text-decoration: none; +} + +.cmm-manager-grid .tg-cell a:hover { + text-decoration: underline; +} + +.cmm-icon-passed { + width: 20px; + height: 20px; + position: absolute; + left: calc(50% - 10px); + top: calc(50% - 10px); +} + +.cmm-manager .cmm-btn-enable { + background-color: blue; + color: white; +} + +.cmm-manager .cmm-btn-disable { + background-color: MediumSlateBlue; + color: white; +} + +.cmm-manager .cmm-btn-install { + background-color: black; + color: white; +} + +.cmm-btn-download { + width: 18px; + height: 18px; + position: absolute; + left: calc(50% - 10px); + top: calc(50% - 10px); + cursor: pointer; + opacity: 0.8; + color: #fff; +} + +.cmm-btn-download:hover { + opacity: 1; +} + +.cmm-manager-light .cmm-btn-download { + color: #000; +} + +@keyframes cmm-btn-loading-bg { + 0% { + left: 0; + } + 100% { + left: -105px; + } +} + +.cmm-manager button.cmm-btn-loading { + position: relative; + overflow: hidden; + border-color: rgb(0 119 207 / 80%); + background-color: var(--comfy-input-bg); +} + +.cmm-manager button.cmm-btn-loading::after { + position: absolute; + top: 0; + left: 0; + content: ""; + width: 500px; + height: 100%; + background-image: repeating-linear-gradient( + -45deg, + rgb(0 119 207 / 30%), + rgb(0 119 207 / 30%) 10px, + transparent 10px, + transparent 15px + ); + animation: cmm-btn-loading-bg 2s linear infinite; +} + +.cmm-manager-light .cmm-node-name a { + color: blue; +} + +.cmm-manager-light .cm-warn-note { + background-color: #ccc !important; +} + +.cmm-manager-light .cmm-btn-install { + background-color: #333; +} \ No newline at end of file diff --git a/js/model-manager.js b/js/model-manager.js index ee5594cc..d744a34d 100644 --- a/js/model-manager.js +++ b/js/model-manager.js @@ -1,220 +1,18 @@ +import { app } from "../../scripts/app.js"; import { $el } from "../../scripts/ui.js"; import { manager_instance, rebootAPI, - fetchData, md5, icons + fetchData, md5, icons, show_message, customAlert, infoToast, showTerminal, + storeColumnWidth, restoreColumnWidth, loadCss } from "./common.js"; +import { api } from "../../scripts/api.js"; // https://cenfun.github.io/turbogrid/api.html import TG from "./turbogrid.esm.js"; -const pageCss = ` -.cmm-manager { - --grid-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - z-index: 1099; - width: 80%; - height: 80%; - display: flex; - flex-direction: column; - gap: 10px; - color: var(--fg-color); - font-family: arial, sans-serif; -} +loadCss("./model-manager.css"); -.cmm-manager .cmm-flex-auto { - flex: auto; -} - -.cmm-manager button { - font-size: 16px; - color: var(--input-text); - background-color: var(--comfy-input-bg); - border-radius: 8px; - border-color: var(--border-color); - border-style: solid; - margin: 0; - padding: 4px 8px; - min-width: 100px; -} - -.cmm-manager button:disabled, -.cmm-manager input:disabled, -.cmm-manager select:disabled { - color: gray; -} - -.cmm-manager button:disabled { - background-color: var(--comfy-input-bg); -} - -.cmm-manager-header { - display: flex; - flex-wrap: wrap; - gap: 5px; - align-items: center; - padding: 0 5px; -} - -.cmm-manager-header label { - display: flex; - gap: 5px; - align-items: center; -} - -.cmm-manager-type, -.cmm-manager-base, -.cmm-manager-filter { - height: 28px; - line-height: 28px; -} - -.cmm-manager-keywords { - height: 28px; - line-height: 28px; - padding: 0 5px 0 26px; - background-size: 16px; - background-position: 5px center; - background-repeat: no-repeat; - background-image: url("data:image/svg+xml;charset=utf8,${encodeURIComponent(icons.search.replace("currentColor", "#888"))}"); -} - -.cmm-manager-status { - padding-left: 10px; -} - -.cmm-manager-grid { - flex: auto; - border: 1px solid var(--border-color); - overflow: hidden; -} - -.cmm-manager-selection { - display: flex; - flex-wrap: wrap; - gap: 10px; - align-items: center; -} - -.cmm-manager-message { - -} - -.cmm-manager-footer { - display: flex; - flex-wrap: wrap; - gap: 10px; - align-items: center; -} - -.cmm-manager-grid .tg-turbogrid { - font-family: var(--grid-font); - font-size: 15px; - background: var(--bg-color); -} - -.cmm-manager-grid .cmm-node-name a { - color: skyblue; - text-decoration: none; - word-break: break-word; -} - -.cmm-manager-grid .cmm-node-desc a { - color: #5555FF; - font-weight: bold; - text-decoration: none; -} - -.cmm-manager-grid .tg-cell a:hover { - text-decoration: underline; -} - -.cmm-icon-passed { - width: 20px; - height: 20px; - position: absolute; - left: calc(50% - 10px); - top: calc(50% - 10px); -} - -.cmm-manager .cmm-btn-enable { - background-color: blue; - color: white; -} - -.cmm-manager .cmm-btn-disable { - background-color: MediumSlateBlue; - color: white; -} - -.cmm-manager .cmm-btn-install { - background-color: black; - color: white; -} - -.cmm-btn-download { - width: 18px; - height: 18px; - position: absolute; - left: calc(50% - 10px); - top: calc(50% - 10px); - cursor: pointer; - opacity: 0.8; - color: #fff; -} - -.cmm-btn-download:hover { - opacity: 1; -} - -.cmm-manager-light .cmm-btn-download { - color: #000; -} - -@keyframes cmm-btn-loading-bg { - 0% { - left: 0; - } - 100% { - left: -105px; - } -} - -.cmm-manager button.cmm-btn-loading { - position: relative; - overflow: hidden; - border-color: rgb(0 119 207 / 80%); - background-color: var(--comfy-input-bg); -} - -.cmm-manager button.cmm-btn-loading::after { - position: absolute; - top: 0; - left: 0; - content: ""; - width: 500px; - height: 100%; - background-image: repeating-linear-gradient( - -45deg, - rgb(0 119 207 / 30%), - rgb(0 119 207 / 30%) 10px, - transparent 10px, - transparent 15px - ); - animation: cmm-btn-loading-bg 2s linear infinite; -} - -.cmm-manager-light .cmm-node-name a { - color: blue; -} - -.cmm-manager-light .cm-warn-note { - background-color: #ccc !important; -} - -.cmm-manager-light .cmm-btn-install { - background-color: #333; -} - -`; +const gridId = "model"; const pageHtml = `
    @@ -235,7 +33,14 @@ const pageHtml = `
    `; @@ -254,17 +59,11 @@ export class ModelManager { this.keywords = ''; this.init(); + + api.addEventListener("cm-queue-status", this.onQueueStatus); } init() { - - if (!document.querySelector(`style[context="${this.id}"]`)) { - const $style = document.createElement("style"); - $style.setAttribute("context", this.id); - $style.innerHTML = pageCss; - document.head.appendChild($style); - } - this.element = $el("div", { parent: document.body, className: "comfy-modal cmm-manager" @@ -365,12 +164,25 @@ export class ModelManager { } }, + ".cmm-manager-refresh": { + click: () => { + app.refreshComboInNodes(); + } + }, + + ".cmm-manager-stop": { + click: () => { + api.fetchApi('/manager/queue/reset'); + infoToast('Cancel', 'Remaining tasks will stop after completing the current task.'); + } + }, + ".cmm-manager-back": { click: (e) => { this.close() manager_instance.show(); } - }, + } }; Object.keys(eventsMap).forEach(selector => { const target = this.element.querySelector(selector); @@ -402,6 +214,10 @@ export class ModelManager { this.renderSelected(); }); + grid.bind("onColumnWidthChanged", (e, columnItem) => { + storeColumnWidth(gridId, columnItem) + }); + grid.bind('onClick', (e, d) => { const { rowItem } = d; const target = d.e.target; @@ -518,7 +334,7 @@ export class ModelManager { sortable: false, align: 'center', formatter: (url, rowItem, columnItem) => { - return `${icons.download}`; + return `${icons.download}`; } }, { id: 'size', @@ -553,6 +369,8 @@ export class ModelManager { width: 200 }]; + restoreColumnWidth(gridId, columns); + this.grid.setData({ options, rows, @@ -595,17 +413,27 @@ export class ModelManager { } async installModels(list, btn) { - + let stats = await api.fetchApi('/manager/queue/status'); + + stats = await stats.json(); + if(stats.is_processing) { + customAlert(`[ComfyUI-Manager] There are already tasks in progress. Please try again after it is completed. (${stats.done_count}/${stats.total_count})`); + return; + } + btn.classList.add("cmm-btn-loading"); - this.showLoading(); this.showError(""); - let needRestart = false; + let needRefresh = false; let errorMsg = ""; + await api.fetchApi('/manager/queue/reset'); + + let target_items = []; + for (const item of list) { - this.grid.scrollRowIntoView(item); + target_items.push(item); if (!this.focusInstall(item)) { this.grid.onNextUpdated(() => { @@ -616,48 +444,112 @@ export class ModelManager { this.showStatus(`Install ${item.name} ...`); const data = item.originalData; - const res = await fetchData('/model/install', { + data.ui_id = item.hash; + + const res = await api.fetchApi(`/manager/queue/install_model`, { method: 'POST', - headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); + if (res.status != 200) { + errorMsg = `'${item.name}': `; - if (res.error) { - errorMsg = `Install failed: ${item.name} ${res.error.message}`; - break;; + if(res.status == 403) { + errorMsg += `This action is not allowed with this security level configuration.\n`; + } else { + errorMsg += await res.text() + '\n'; + } + + break; } + } - needRestart = true; + this.install_context = {btn: btn, targets: target_items}; - this.grid.setRowSelected(item, false); + if(errorMsg) { + this.showError(errorMsg); + show_message("[Installation Errors]\n"+errorMsg); + + // reset + for(let k in target_items) { + const item = target_items[k]; + this.grid.updateCell(item, "installed"); + } + } + else { + await api.fetchApi('/manager/queue/start'); + this.showStop(); + showTerminal(); + } + } + + async onQueueStatus(event) { + let self = ModelManager.instance; + + if(event.detail.status == 'in_progress' && event.detail.ui_target == 'model_manager') { + const hash = event.detail.target; + + const item = self.grid.getRowItemBy("hash", hash); item.refresh = true; + self.grid.setRowSelected(item, false); item.selectable = false; - this.grid.updateCell(item, "installed"); - this.grid.updateCell(item, "tg-column-select"); +// self.grid.updateCell(item, "tg-column-select"); + self.grid.updateRow(item); + } + else if(event.detail.status == 'done') { + self.hideStop(); + self.onQueueCompleted(event.detail); + } + } - this.showStatus(`Install ${item.name} successfully`); + async onQueueCompleted(info) { + let result = info.model_result; + if(result.length == 0) { + return; } - this.hideLoading(); + let self = ModelManager.instance; + + if(!self.install_context) { + return; + } + + let btn = self.install_context.btn; + + self.hideLoading(); btn.classList.remove("cmm-btn-loading"); + let errorMsg = ""; + + for(let hash in result){ + let v = result[hash]; + + if(v != 'success') + errorMsg += v + '\n'; + } + + for(let k in self.install_context.targets) { + let item = self.install_context.targets[k]; + self.grid.updateCell(item, "installed"); + } + if (errorMsg) { - this.showError(errorMsg); + self.showError(errorMsg); + show_message("Installation Error:\n"+errorMsg); } else { - this.showStatus(`Install ${list.length} models successfully`); + self.showStatus(`Install ${result.length} models successfully`); } - if (needRestart) { - this.showMessage(`To apply the installed model, please click the 'Refresh' button on the main menu.`, "red") - } + self.showRefresh(); + self.showMessage(`To apply the installed model, please click the 'Refresh' button.`, "red") + infoToast('Tasks done', `[ComfyUI-Manager] All model downloading tasks in the queue have been completed.\n${info.done_count}/${info.total_count}`); + self.install_context = undefined; } getModelList(models) { - const typeMap = new Map(); const baseMap = new Map(); @@ -826,7 +718,7 @@ export class ModelManager { } showLoading() { - this.setDisabled(true); +// this.setDisabled(true); if (this.grid) { this.grid.showLoading(); this.grid.showMask({ @@ -836,7 +728,7 @@ export class ModelManager { } hideLoading() { - this.setDisabled(false); +// this.setDisabled(false); if (this.grid) { this.grid.hideLoading(); this.grid.hideMask(); @@ -844,8 +736,9 @@ export class ModelManager { } setDisabled(disabled) { - const $close = this.element.querySelector(".cmm-manager-close"); + const $refresh = this.element.querySelector(".cmm-manager-refresh"); + const $stop = this.element.querySelector(".cmm-manager-stop"); const list = [ ".cmm-manager-header input", @@ -857,7 +750,7 @@ export class ModelManager { }) .flat() .filter(it => { - return it !== $close; + return it !== $close && it !== $refresh && it !== $stop; }); list.forEach($elem => { @@ -874,6 +767,18 @@ export class ModelManager { } + showRefresh() { + this.element.querySelector(".cmm-manager-refresh").style.display = "block"; + } + + showStop() { + this.element.querySelector(".cmm-manager-stop").style.display = "block"; + } + + hideStop() { + this.element.querySelector(".cmm-manager-stop").style.display = "none"; + } + setKeywords(keywords = "") { this.keywords = keywords; this.element.querySelector(".cmm-manager-keywords").value = keywords; diff --git a/js/node_fixer.js b/js/node_fixer.js index 9cb0dac6..feec1cad 100644 --- a/js/node_fixer.js +++ b/js/node_fixer.js @@ -1,16 +1,6 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js"; -let double_click_policy = "copy-all"; - -api.fetchApi('/manager/dbl_click/policy') - .then(response => response.text()) - .then(data => set_double_click_policy(data)); - -export function set_double_click_policy(mode) { - double_click_policy = mode; -} - function addMenuHandler(nodeType, cb) { const getOpts = nodeType.prototype.getExtraMenuOptions; nodeType.prototype.getExtraMenuOptions = function () { @@ -153,62 +143,6 @@ function node_info_copy(src, dest, connect_both, copy_shape) { app.registerExtension({ name: "Comfy.Manager.NodeFixer", - - async nodeCreated(node, app) { - let orig_dblClick = node.onDblClick; - node.onDblClick = function (e, pos, self) { - orig_dblClick?.apply?.(this, arguments); - - if((!node.inputs && !node.outputs) || pos[1] > 0) - return; - - switch(double_click_policy) { - case "copy-all": - case "copy-full": - case "copy-input": - { - if(node.inputs?.some(x => x.link != null) || node.outputs?.some(x => x.links != null && x.links.length > 0) ) - return; - - let src_node = lookup_nearest_nodes(node); - if(src_node) - { - let both_connection = double_click_policy != "copy-input"; - let copy_shape = double_click_policy == "copy-full"; - node_info_copy(src_node, node, both_connection, copy_shape); - } - } - break; - case "possible-input": - { - let nearest_inputs = lookup_nearest_inputs(node); - if(nearest_inputs) - connect_inputs(nearest_inputs, node); - } - break; - case "dual": - { - if(pos[0] < node.size[0]/2) { - // left: possible-input - let nearest_inputs = lookup_nearest_inputs(node); - if(nearest_inputs) - connect_inputs(nearest_inputs, node); - } - else { - // right: copy-all - if(node.inputs?.some(x => x.link != null) || node.outputs?.some(x => x.links != null && x.links.length > 0) ) - return; - - let src_node = lookup_nearest_nodes(node); - if(src_node) - node_info_copy(src_node, node, true); - } - } - break; - } - } - }, - beforeRegisterNodeDef(nodeType, nodeData, app) { addMenuHandler(nodeType, function (_, options) { options.push({ diff --git a/js/popover-helper.js b/js/popover-helper.js new file mode 100644 index 00000000..8c214b8c --- /dev/null +++ b/js/popover-helper.js @@ -0,0 +1,619 @@ +const hasOwn = function(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +}; + +const isNum = function(num) { + if (typeof num !== 'number' || isNaN(num)) { + return false; + } + const isInvalid = function(n) { + if (n === Number.MAX_VALUE || n === Number.MIN_VALUE || n === Number.NEGATIVE_INFINITY || n === Number.POSITIVE_INFINITY) { + return true; + } + return false; + }; + if (isInvalid(num)) { + return false; + } + return true; +}; + +const toNum = (num) => { + if (typeof (num) !== 'number') { + num = parseFloat(num); + } + if (isNaN(num)) { + num = 0; + } + num = Math.round(num); + return num; +}; + +const clamp = function(value, min, max) { + return Math.max(min, Math.min(max, value)); +}; + +const isWindow = (obj) => { + return Boolean(obj && obj === obj.window); +}; + +const isDocument = (obj) => { + return Boolean(obj && obj.nodeType === 9); +}; + +const isElement = (obj) => { + return Boolean(obj && obj.nodeType === 1); +}; + +// =========================================================================================== + +export const toRect = (obj) => { + if (obj) { + return { + left: toNum(obj.left || obj.x), + top: toNum(obj.top || obj.y), + width: toNum(obj.width), + height: toNum(obj.height) + }; + } + return { + left: 0, + top: 0, + width: 0, + height: 0 + }; +}; + +export const getElement = (selector) => { + if (typeof selector === 'string' && selector) { + if (selector.startsWith('#')) { + return document.getElementById(selector.slice(1)); + } + return document.querySelector(selector); + } + + if (isDocument(selector)) { + return selector.body; + } + if (isElement(selector)) { + return selector; + } +}; + +export const getRect = (target, fixed) => { + if (!target) { + return toRect(); + } + + if (isWindow(target)) { + return { + left: 0, + top: 0, + width: window.innerWidth, + height: window.innerHeight + }; + } + + const elem = getElement(target); + if (!elem) { + return toRect(target); + } + + const br = elem.getBoundingClientRect(); + const rect = toRect(br); + + // fix offset + if (!fixed) { + rect.left += window.scrollX; + rect.top += window.scrollY; + } + + rect.width = elem.offsetWidth; + rect.height = elem.offsetHeight; + + return rect; +}; + +// =========================================================================================== + +const calculators = { + + bottom: (info, containerRect, targetRect) => { + info.space = containerRect.top + containerRect.height - targetRect.top - targetRect.height - info.height; + info.top = targetRect.top + targetRect.height; + info.left = Math.round(targetRect.left + targetRect.width * 0.5 - info.width * 0.5); + }, + + top: (info, containerRect, targetRect) => { + info.space = targetRect.top - info.height - containerRect.top; + info.top = targetRect.top - info.height; + info.left = Math.round(targetRect.left + targetRect.width * 0.5 - info.width * 0.5); + }, + + right: (info, containerRect, targetRect) => { + info.space = containerRect.left + containerRect.width - targetRect.left - targetRect.width - info.width; + info.top = Math.round(targetRect.top + targetRect.height * 0.5 - info.height * 0.5); + info.left = targetRect.left + targetRect.width; + }, + + left: (info, containerRect, targetRect) => { + info.space = targetRect.left - info.width - containerRect.left; + info.top = Math.round(targetRect.top + targetRect.height * 0.5 - info.height * 0.5); + info.left = targetRect.left - info.width; + } +}; + +// with order +export const getDefaultPositions = () => { + return Object.keys(calculators); +}; + +const calculateSpace = (info, containerRect, targetRect) => { + const calculator = calculators[info.position]; + calculator(info, containerRect, targetRect); + if (info.space >= 0) { + info.passed += 1; + } +}; + +// =========================================================================================== + +const calculateAlignOffset = (info, containerRect, targetRect, alignType, sizeType) => { + + const popoverStart = info[alignType]; + const popoverSize = info[sizeType]; + + const containerStart = containerRect[alignType]; + const containerSize = containerRect[sizeType]; + + const targetStart = targetRect[alignType]; + const targetSize = targetRect[sizeType]; + + const targetCenter = targetStart + targetSize * 0.5; + + // size overflow + if (popoverSize > containerSize) { + const overflow = (popoverSize - containerSize) * 0.5; + info[alignType] = containerStart - overflow; + info.offset = targetCenter - containerStart + overflow; + return; + } + + const space1 = popoverStart - containerStart; + const space2 = (containerStart + containerSize) - (popoverStart + popoverSize); + + // both side passed, default to center + if (space1 >= 0 && space2 >= 0) { + if (info.passed) { + info.passed += 2; + } + info.offset = popoverSize * 0.5; + return; + } + + // one side passed + if (info.passed) { + info.passed += 1; + } + + if (space1 < 0) { + const min = containerStart; + info[alignType] = min; + info.offset = targetCenter - min; + return; + } + + // space2 < 0 + const max = containerStart + containerSize - popoverSize; + info[alignType] = max; + info.offset = targetCenter - max; + +}; + +const calculateHV = (info, containerRect) => { + if (['top', 'bottom'].includes(info.position)) { + info.top = clamp(info.top, containerRect.top, containerRect.top + containerRect.height - info.height); + return ['left', 'width']; + } + info.left = clamp(info.left, containerRect.left, containerRect.left + containerRect.width - info.width); + return ['top', 'height']; +}; + +const calculateOffset = (info, containerRect, targetRect) => { + + const [alignType, sizeType] = calculateHV(info, containerRect); + + calculateAlignOffset(info, containerRect, targetRect, alignType, sizeType); + + info.offset = clamp(info.offset, 0, info[sizeType]); + +}; + +// =========================================================================================== + +const calculateDistance = (info, previousPositionInfo) => { + if (!previousPositionInfo) { + return; + } + // no change if position no change with previous + if (info.position === previousPositionInfo.position) { + return; + } + const ax = info.left + info.width * 0.5; + const ay = info.top + info.height * 0.5; + const bx = previousPositionInfo.left + previousPositionInfo.width * 0.5; + const by = previousPositionInfo.top + previousPositionInfo.height * 0.5; + const dx = Math.abs(ax - bx); + const dy = Math.abs(ay - by); + info.distance = Math.round(Math.sqrt(dx * dx + dy * dy)); +}; + +// =========================================================================================== + +const calculatePositionInfo = (info, containerRect, targetRect, previousPositionInfo) => { + calculateSpace(info, containerRect, targetRect); + calculateOffset(info, containerRect, targetRect); + calculateDistance(info, previousPositionInfo); +}; + +// =========================================================================================== + +const calculateBestPosition = (containerRect, targetRect, infoMap, withOrder, previousPositionInfo) => { + + // position space: +1 + // align space: + // two side passed: +2 + // one side passed: +1 + + const safePassed = 3; + + if (previousPositionInfo) { + const prevInfo = infoMap[previousPositionInfo.position]; + if (prevInfo) { + calculatePositionInfo(prevInfo, containerRect, targetRect); + if (prevInfo.passed >= safePassed) { + return prevInfo; + } + prevInfo.calculated = true; + } + } + + const positionList = []; + Object.values(infoMap).forEach((info) => { + if (!info.calculated) { + calculatePositionInfo(info, containerRect, targetRect, previousPositionInfo); + } + positionList.push(info); + }); + + positionList.sort((a, b) => { + if (a.passed !== b.passed) { + return b.passed - a.passed; + } + + if (withOrder && a.passed >= safePassed && b.passed >= safePassed) { + return a.index - b.index; + } + + if (a.space !== b.space) { + return b.space - a.space; + } + + return a.index - b.index; + }); + + // logTable(positionList); + + return positionList[0]; +}; + +// const logTable = (() => { +// let time_id; +// return (info) => { +// clearTimeout(time_id); +// time_id = setTimeout(() => { +// console.table(info); +// }, 10); +// }; +// })(); + +// =========================================================================================== + +const getAllowPositions = (positions, defaultAllowPositions) => { + if (!positions) { + return; + } + if (Array.isArray(positions)) { + positions = positions.join(','); + } + positions = String(positions).split(',').map((it) => it.trim().toLowerCase()).filter((it) => it); + positions = positions.filter((it) => defaultAllowPositions.includes(it)); + if (!positions.length) { + return; + } + return positions; +}; + +const isPositionChanged = (info, previousPositionInfo) => { + if (!previousPositionInfo) { + return true; + } + + if (info.left !== previousPositionInfo.left) { + return true; + } + + if (info.top !== previousPositionInfo.top) { + return true; + } + + return false; +}; + +// =========================================================================================== + +// const log = (name, time) => { +// if (time > 0.1) { +// console.log(name, time); +// } +// }; + +export const getBestPosition = (containerRect, targetRect, popoverRect, positions, previousPositionInfo) => { + + const defaultAllowPositions = getDefaultPositions(); + let withOrder = true; + let allowPositions = getAllowPositions(positions, defaultAllowPositions); + if (!allowPositions) { + allowPositions = defaultAllowPositions; + withOrder = false; + } + + // console.log('withOrder', withOrder); + + // const start_time = performance.now(); + + const infoMap = {}; + allowPositions.forEach((k, i) => { + infoMap[k] = { + position: k, + index: i, + + top: 0, + left: 0, + width: popoverRect.width, + height: popoverRect.height, + + space: 0, + + offset: 0, + passed: 0, + + distance: 0 + }; + }); + + // log('infoMap', performance.now() - start_time); + + + const bestPosition = calculateBestPosition(containerRect, targetRect, infoMap, withOrder, previousPositionInfo); + + // check left/top + bestPosition.changed = isPositionChanged(bestPosition, previousPositionInfo); + + return bestPosition; +}; + +// =========================================================================================== + +const getTemplatePath = (width, height, arrowOffset, arrowSize, borderRadius) => { + const p = (px, py) => { + return [px, py].join(','); + }; + + const px = function(num, alignEnd) { + const floor = Math.floor(num); + let n = num < floor + 0.5 ? floor + 0.5 : floor + 1.5; + if (alignEnd) { + n -= 1; + } + return n; + }; + + const pxe = function(num) { + return px(num, true); + }; + + const ls = []; + + const innerLeft = px(arrowSize); + const innerRight = pxe(width - arrowSize); + arrowOffset = clamp(arrowOffset, innerLeft, innerRight); + + const innerTop = px(arrowSize); + const innerBottom = pxe(height - arrowSize); + + const startPoint = p(innerLeft, innerTop + borderRadius); + const arrowPoint = p(arrowOffset, 1); + + const LT = p(innerLeft, innerTop); + const RT = p(innerRight, innerTop); + + const AOT = p(arrowOffset - arrowSize, innerTop); + const RRT = p(innerRight - borderRadius, innerTop); + + ls.push(`M${startPoint}`); + ls.push(`V${innerBottom - borderRadius}`); + ls.push(`Q${p(innerLeft, innerBottom)} ${p(innerLeft + borderRadius, innerBottom)}`); + ls.push(`H${innerRight - borderRadius}`); + ls.push(`Q${p(innerRight, innerBottom)} ${p(innerRight, innerBottom - borderRadius)}`); + ls.push(`V${innerTop + borderRadius}`); + + if (arrowOffset < innerLeft + arrowSize + borderRadius) { + ls.push(`Q${RT} ${RRT}`); + ls.push(`H${arrowOffset + arrowSize}`); + ls.push(`L${arrowPoint}`); + if (arrowOffset < innerLeft + arrowSize) { + ls.push(`L${LT}`); + ls.push(`L${startPoint}`); + } else { + ls.push(`L${AOT}`); + ls.push(`Q${LT} ${startPoint}`); + } + } else if (arrowOffset > innerRight - arrowSize - borderRadius) { + if (arrowOffset > innerRight - arrowSize) { + ls.push(`L${RT}`); + } else { + ls.push(`Q${RT} ${p(arrowOffset + arrowSize, innerTop)}`); + } + ls.push(`L${arrowPoint}`); + ls.push(`L${AOT}`); + ls.push(`H${innerLeft + borderRadius}`); + ls.push(`Q${LT} ${startPoint}`); + } else { + ls.push(`Q${RT} ${RRT}`); + ls.push(`H${arrowOffset + arrowSize}`); + ls.push(`L${arrowPoint}`); + ls.push(`L${AOT}`); + ls.push(`H${innerLeft + borderRadius}`); + ls.push(`Q${LT} ${startPoint}`); + } + return ls.join(''); +}; + +const getPathData = function(position, width, height, arrowOffset, arrowSize, borderRadius) { + + const handlers = { + + bottom: () => { + const d = getTemplatePath(width, height, arrowOffset, arrowSize, borderRadius); + return { + d, + transform: '' + }; + }, + + top: () => { + const d = getTemplatePath(width, height, width - arrowOffset, arrowSize, borderRadius); + return { + d, + transform: `rotate(180,${width * 0.5},${height * 0.5})` + }; + }, + + left: () => { + const d = getTemplatePath(height, width, arrowOffset, arrowSize, borderRadius); + const x = (width - height) * 0.5; + const y = (height - width) * 0.5; + return { + d, + transform: `translate(${x} ${y}) rotate(90,${height * 0.5},${width * 0.5})` + }; + }, + + right: () => { + const d = getTemplatePath(height, width, height - arrowOffset, arrowSize, borderRadius); + const x = (width - height) * 0.5; + const y = (height - width) * 0.5; + return { + d, + transform: `translate(${x} ${y}) rotate(-90,${height * 0.5},${width * 0.5})` + }; + } + }; + + return handlers[position](); +}; + +// =========================================================================================== + +// position style cache +const styleCache = { + // position: '', + // top: {}, + // bottom: {}, + // left: {}, + // right: {} +}; + +export const getPositionStyle = (info, options = {}) => { + + const o = { + bgColor: '#fff', + borderColor: '#ccc', + borderRadius: 5, + arrowSize: 10 + }; + Object.keys(o).forEach((k) => { + + if (hasOwn(options, k)) { + const d = o[k]; + const v = options[k]; + + if (typeof d === 'string') { + // string + if (typeof v === 'string' && v) { + o[k] = v; + } + } else { + // number + if (isNum(v) && v >= 0) { + o[k] = v; + } + + } + + } + }); + + const key = [ + info.width, + info.height, + info.offset, + o.arrowSize, + o.borderRadius, + o.bgColor, + o.borderColor + ].join('-'); + + const positionCache = styleCache[info.position]; + if (positionCache && key === positionCache.key) { + const st = positionCache.style; + st.changed = styleCache.position !== info.position; + styleCache.position = info.position; + return st; + } + + // console.log(options); + + const data = getPathData(info.position, info.width, info.height, info.offset, o.arrowSize, o.borderRadius); + // console.log(data); + + const viewBox = [0, 0, info.width, info.height].join(' '); + const svg = [ + ``, + ``, + '' + ].join(''); + + // console.log(svg); + const backgroundImage = `url("data:image/svg+xml;charset=utf8,${encodeURIComponent(svg)}")`; + + const background = `${backgroundImage} center no-repeat`; + + const padding = `${o.arrowSize + o.borderRadius}px`; + + const style = { + background, + backgroundImage, + padding, + changed: true + }; + + styleCache.position = info.position; + styleCache[info.position] = { + key, + style + }; + + return style; +}; diff --git a/js/workflow-metadata.js b/js/workflow-metadata.js index 906abb78..9bbf690b 100644 --- a/js/workflow-metadata.js +++ b/js/workflow-metadata.js @@ -3,12 +3,21 @@ * - custom node pack version to all custom nodes used in the workflow * * Example metadata: - "extra": { - "node_versions": { - "comfy-core": "v0.3.8-4-g0b2eb7f", - "comfyui-easy-use": "1.2.5" - } - }, + * "nodes": { + * "1": { + * type: "CheckpointLoaderSimple", + * ... + * properties: { + * cnr_id: "comfy-core", + * version: "0.3.8", + * }, + * }, + * } + * + * @typedef {Object} NodeInfo + * @property {string} ver - Version (git hash or semantic version) + * @property {string} cnr_id - ComfyRegistry node ID + * @property {boolean} enabled - Whether the node is enabled */ import { app } from "../../scripts/app.js"; @@ -23,7 +32,7 @@ class WorkflowMetadataExtension { /** * Get the installed nodes info - * @returns {Promise>} The mapping from node name to its info. + * @returns {Promise>} The mapping from node name to its info. * ver can either be a git commit hash or a semantic version such as "1.0.0" * cnr_id is the id of the node in the ComfyRegistry * enabled is true if the node is enabled, false if it is disabled @@ -33,61 +42,42 @@ class WorkflowMetadataExtension { return await res.json(); } - /** - * Get the node versions for the given graph - * @param {LGraph} graph The graph to get the node versions for - * @returns {Promise>} The mapping from node name to version - */ - getGraphNodeVersions(graph) { - const nodeVersions = {}; - for (const node of graph.nodes) { - const nodeData = node.constructor.nodeData; - // Frontend only nodes don't have nodeData - if (!nodeData) { - continue; - } - const modules = nodeData.python_module.split("."); - - if (modules[0] === "custom_nodes") { - const nodePackageName = modules[1]; - const nodeInfo = - this.installedNodes[nodePackageName] ?? - this.installedNodes[nodePackageName.toLowerCase()]; - if (nodeInfo) { - nodeVersions[nodePackageName] = nodeInfo.ver; - } - } else if (["nodes", "comfy_extras"].includes(modules[0])) { - nodeVersions["comfy-core"] = this.comfyCoreVersion; - } else { - console.warn(`Unknown node source: ${nodeData.python_module}`); - } - } - return nodeVersions; - } - async init() { - const extension = this; this.installedNodes = await this.getInstalledNodes(); this.comfyCoreVersion = (await api.getSystemStats()).system.comfyui_version; + } - // Attach metadata when app.graphToPrompt is called. - const originalSerialize = LGraph.prototype.serialize; - LGraph.prototype.serialize = function () { - const workflow = originalSerialize.apply(this, arguments); + /** + * Called when any node is created + * @param {LGraphNode} node The newly created node + */ + nodeCreated(node) { + try { + // nodeData doesn't exist if node is missing or node is frontend only node + if (!node?.constructor?.nodeData?.python_module) return; - // Add metadata to the workflow - if (!workflow.extra) { - workflow.extra = {}; + const nodeProperties = (node.properties ??= {}); + const modules = node.constructor.nodeData.python_module.split("."); + const moduleType = modules[0]; + + if (moduleType === "custom_nodes") { + const nodePackageName = modules[1]; + const { cnr_id, aux_id, ver } = + this.installedNodes[nodePackageName] ?? + this.installedNodes[nodePackageName.toLowerCase()] ?? + {}; + + if (cnr_id === "comfy-core") return; // don't allow hijacking comfy-core name + if (cnr_id) nodeProperties.cnr_id = cnr_id; + else nodeProperties.aux_id = aux_id; + if (ver) nodeProperties.ver = ver; + } else if (["nodes", "comfy_extras"].includes(moduleType)) { + nodeProperties.cnr_id = "comfy-core"; + nodeProperties.ver = this.comfyCoreVersion; } - const graph = this; - try { - workflow.extra["node_versions"] = extension.getGraphNodeVersions(graph); - } catch (e) { - console.error(e); - } - - return workflow; - }; + } catch (e) { + console.error(e); + } } } diff --git a/model-list.json b/model-list.json index 25cca294..03c02855 100644 --- a/model-list.json +++ b/model-list.json @@ -209,28 +209,6 @@ "url": "https://huggingface.co/stabilityai/stable-diffusion-x4-upscaler/resolve/main/x4-upscaler-ema.safetensors", "size": "3.53GB" }, - { - "name": "Inswapper-fp16 (face swap)", - "type": "insightface", - "base": "inswapper", - "save_path": "insightface", - "description": "Checkpoint of the insightface swapper model\n(used by ComfyUI-FaceSwap, comfyui-reactor-node, CharacterFaceSwap,\nComfyUI roop and comfy_mtb)", - "reference": "https://github.com/facefusion/facefusion-assets", - "filename": "inswapper_128_fp16.onnx", - "url": "https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128_fp16.onnx", - "size": "277.7MB" - }, - { - "name": "Inswapper (face swap)", - "type": "insightface", - "base": "inswapper", - "save_path": "insightface", - "description": "Checkpoint of the insightface swapper model\n(used by ComfyUI-FaceSwap, comfyui-reactor-node, CharacterFaceSwap,\nComfyUI roop and comfy_mtb)", - "reference": "https://github.com/facefusion/facefusion-assets", - "filename": "inswapper_128.onnx", - "url": "https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx", - "size": "555.3MB" - }, { "name": "Deepbump", "type": "deepbump", @@ -310,7 +288,7 @@ }, { "name": "negative_hand Negative Embedding", - "type": "embeddings", + "type": "embedding", "base": "SD1.5", "save_path": "embeddings/SD1.5", "description": "If you use this embedding with negatives, you can solve the issue of damaging your hands.", @@ -321,7 +299,7 @@ }, { "name": "bad_prompt Negative Embedding", - "type": "embeddings", + "type": "embedding", "base": "SD1.5", "save_path": "embeddings/SD1.5", "description": "The idea behind this embedding was to somehow train the negative prompt as an embedding, thus unifying the basis of the negative prompt into one word or embedding.", @@ -332,7 +310,7 @@ }, { "name": "Deep Negative V1.75", - "type": "embeddings", + "type": "embedding", "base": "SD1.5", "save_path": "embeddings/SD1.5", "description": "These embedding learn what disgusting compositions and color patterns are, including faulty human anatomy, offensive color schemes, upside-down spatial structures, and more. Placing it in the negative can go a long way to avoiding these things.", @@ -343,7 +321,7 @@ }, { "name": "EasyNegative", - "type": "embeddings", + "type": "embedding", "base": "SD1.5", "save_path": "embeddings/SD1.5", "description": "This embedding should be used in your NEGATIVE prompt. Adjust the strength as desired (seems to scale well without any distortions), the strength required may vary based on positive and negative prompts.", @@ -488,7 +466,7 @@ "name": "stabilityai/Stable Cascade: text_encoder (CLIP)", "type": "clip", "base": "Stable Cascade", - "save_path": "clip/Stable-Cascade", + "save_path": "text_encoders/Stable-Cascade", "description": "Stable Cascade: text_encoder", "reference": "https://huggingface.co/stabilityai/stable-cascade", "filename": "model.safetensors", @@ -877,11 +855,67 @@ "size": "5.16GB" }, + { + "name": "comfyanonymous/cosmos_cv8x8x8_1.0.safetensors", + "type": "VAE", + "base": "Cosmos-1.0", + "save_path": "default", + "description": "VAE model for Cosmos 1.0", + "reference": "https://huggingface.co/comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI/tree/main", + "filename": "cosmos_cv8x8x8_1.0.safetensors", + "url": "https://huggingface.co/comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI/resolve/main/vae/cosmos_cv8x8x8_1.0.safetensors", + "size": "211MB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-7B-Text2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Text2World Diffusion Model (7B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-7B-Text2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-7B-Text2World.safetensors", + "size": "14.5GB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-7B-Video2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Video2World Diffusion Model (7B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-7B-Video2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-7B-Video2World.safetensors", + "size": "14.5GB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-14B-Text2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Text2World Diffusion Model (14B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-14B-Text2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-14B-Text2World.safetensors", + "size": "28.5GB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-14B-Video2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Video2World Diffusion Model (14B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-14B-Video2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-14B-Video2World.safetensors", + "size": "28.5GB" + }, + { "name": "google-t5/t5-base", "type": "clip", "base": "t5-base", - "save_path": "clip/t5-base", + "save_path": "text_encoders/t5-base", "description": "T5 Base: Text-To-Text Transfer Transformer. This model can be loaded via CLIPLoader for Stable Audio workflow.", "reference": "https://huggingface.co/google-t5/t5-base", "filename": "model.safetensors", @@ -892,7 +926,7 @@ "name": "google-t5/t5-v1_1-xxl_encoderonly-fp16", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "The encoder part of https://huggingface.co/google/t5-v1_1-xxl, used with SD3 and Flux1", "reference": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly", "filename": "google_t5-v1_1-xxl_encoderonly-fp16.safetensors", @@ -903,7 +937,7 @@ "name": "google-t5/t5-v1_1-xxl_encoderonly-fp8_e4m3fn", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "The encoder part of https://huggingface.co/google/t5-v1_1-xxl, used with SD3 and Flux1", "reference": "https://huggingface.co/mcmonkey/google_t5-v1_1-xxl_encoderonly", "filename": "google_t5-v1_1-xxl_encoderonly-fp8_e4m3fn.safetensors", @@ -916,7 +950,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q3_K_L.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q3_K_L quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q3_K_L.gguf", @@ -927,7 +961,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q3_K_M.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q3_K_M quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q3_K_M.gguf", @@ -938,7 +972,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q3_K_S.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q3_K_S quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q3_K_S.gguf", @@ -949,7 +983,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q4_K_M.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q4_K_M quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q4_K_M.gguf", @@ -960,7 +994,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q4_K_S.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q4_K_S quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q4_K_S.gguf", @@ -971,7 +1005,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q5_K_M.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q5_K_M quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q5_K_M.gguf", @@ -982,7 +1016,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q5_K_S.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q5_K_S quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q5_K_S.gguf", @@ -993,7 +1027,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q6_K.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q6_K quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q6_K.gguf", @@ -1004,7 +1038,7 @@ "name": "city96/t5-v1_1-xxl-encoder-Q8_0.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (Q8_0 quantized)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-Q8_0.gguf", @@ -1015,7 +1049,7 @@ "name": "city96/t5-v1_1-xxl-encoder-f16.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (float 16)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-f16.gguf", @@ -1026,7 +1060,7 @@ "name": "city96/t5-v1_1-xxl-encoder-f32.gguf", "type": "clip", "base": "t5", - "save_path": "clip/t5", + "save_path": "text_encoders/t5", "description": "t5xxl Text Encoder GGUF model. (float 32)", "reference": "https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf", "filename": "t5-v1_1-xxl-encoder-f32.gguf", @@ -1034,18 +1068,28 @@ "size": "19.1GB" }, - { - "name": "comfyanonymous/clip_l", + "name": "Comfy-Org/clip_l", "type": "clip", "base": "clip", "save_path": "default", - "description": "clip_l model", - "reference": "https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main", + "description": "clip_l model (for SD1.x, SD2.x, SDXL, SD3.5, FLUX.1, HunyuanVideo, ...) ", + "reference": "https://huggingface.co/Comfy-Org/stable-diffusion-3.5-fp8", "filename": "clip_l.safetensors", - "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors", + "url": "https://huggingface.co/Comfy-Org/stable-diffusion-3.5-fp8/resolve/main/text_encoders/clip_l.safetensors", "size": "246MB" }, + { + "name": "Comfy-Org/clip_g", + "type": "clip", + "base": "clip", + "save_path": "default", + "description": "clip_g model (for SDXL, SD3.5)", + "reference": "https://huggingface.co/Comfy-Org/stable-diffusion-3.5-fp8", + "filename": "clip_g.safetensors", + "url": "https://huggingface.co/Comfy-Org/stable-diffusion-3.5-fp8/resolve/main/text_encoders/clip_g.safetensors", + "size": "1.39GB" + }, { "name": "v1-5-pruned-emaonly.ckpt", @@ -1665,17 +1709,6 @@ "url": "https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-sketch-rank256.safetensors", "size": "774.5MB" }, - { - "name": "kohya-ss/ControlNet-LLLite: SDXL Canny Anime", - "type": "controlnet", - "base": "SDXL", - "save_path": "custom_nodes/ControlNet-LLLite-ComfyUI/models", - "description": "An extremely compactly designed controlnet model (a.k.a. ControlNet-LLLite). Note: The model structure is highly experimental and may be subject to change in the future.", - "reference": "https://huggingface.co/kohya-ss/controlnet-lllite", - "filename": "controllllite_v01032064e_sdxl_canny_anime.safetensors", - "url": "https://huggingface.co/kohya-ss/controlnet-lllite/resolve/main/controllllite_v01032064e_sdxl_canny_anime.safetensors", - "size": "46.2MB" - }, { "name": "SDXL-controlnet: OpenPose (v2)", "type": "controlnet", @@ -2259,6 +2292,18 @@ "url": "https://huggingface.co/CiaraRowles/TemporalDiff/resolve/main/temporaldiff-v1-animatediff.ckpt", "size": "1.67GB" }, + { + "name": "Leoxing/pia.ckpt", + "type": "animatediff-pia", + "base": "SD1.x", + "save_path": "animatediff_models", + "description": "AnimateDiff-PIA Model", + "reference": "https://huggingface.co/Leoxing/PIA/tree/main", + "filename": "pia.ckpt", + "url": "https://huggingface.co/Leoxing/PIA/resolve/main/pia.ckpt", + "size": "1.67GB" + }, + { "name": "animatediff/v2_lora_PanLeft.ckpt (ComfyUI-AnimateDiff-Evolved) (Updated path)", "type": "motion lora", @@ -2746,39 +2791,6 @@ - { - "name": "pfg-novel-n10.pt", - "type": "PFG", - "base": "SD1.5", - "save_path": "custom_nodes/pfg-ComfyUI/models", - "description": "Pressing 'install' directly downloads the model from the pfg-ComfyUI/models extension node. (Note: Requires ComfyUI-Manager V0.24 or above)", - "reference": "https://huggingface.co/furusu/PFG", - "filename": "pfg-novel-n10.pt", - "url": "https://huggingface.co/furusu/PFG/resolve/main/pfg-novel-n10.pt", - "size": "23.6MB" - }, - { - "name": "pfg-wd14-n10.pt", - "type": "PFG", - "base": "SD1.5", - "save_path": "custom_nodes/pfg-ComfyUI/models", - "description": "Pressing 'install' directly downloads the model from the pfg-ComfyUI/models extension node. (Note: Requires ComfyUI-Manager V0.24 or above)", - "reference": "https://huggingface.co/furusu/PFG", - "filename": "pfg-wd14-n10.pt", - "url": "https://huggingface.co/furusu/PFG/resolve/main/pfg-wd14-n10.pt", - "size": "31.5MB" - }, - { - "name": "pfg-wd15beta2-n10.pt", - "type": "PFG", - "base": "SD1.5", - "save_path": "custom_nodes/pfg-ComfyUI/models", - "description": "Pressing 'install' directly downloads the model from the pfg-ComfyUI/models extension node. (Note: Requires ComfyUI-Manager V0.24 or above)", - "reference": "https://huggingface.co/furusu/PFG", - "filename": "pfg-wd15beta2-n10.pt", - "url": "https://huggingface.co/furusu/PFG/resolve/main/pfg-wd15beta2-n10.pt", - "size": "31.5MB" - }, { "name": "GFPGANv1.4.pth", "type": "GFPGAN", @@ -2944,50 +2956,6 @@ "url": "https://huggingface.co/InstantX/InstantID/resolve/main/ControlNetModel/diffusion_pytorch_model.safetensors", "size": "2.50GB" }, - { - "name": "efficient_sam_s_cpu.jit [ComfyUI-YoloWorld-EfficientSAM]", - "type": "efficient_sam", - "base": "efficient_sam", - "save_path": "custom_nodes/ComfyUI-YoloWorld-EfficientSAM", - "description": "Install efficient_sam_s_cpu.jit into ComfyUI-YoloWorld-EfficientSAM", - "reference": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/tree/main", - "filename": "efficient_sam_s_cpu.jit", - "url": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/resolve/main/efficient_sam_s_cpu.jit", - "size": "106.0MB" - }, - { - "name": "efficient_sam_s_gpu.jit [ComfyUI-YoloWorld-EfficientSAM]", - "type": "efficient_sam", - "base": "efficient_sam", - "save_path": "custom_nodes/ComfyUI-YoloWorld-EfficientSAM", - "description": "Install efficient_sam_s_gpu.jit into ComfyUI-YoloWorld-EfficientSAM", - "reference": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/tree/main", - "filename": "efficient_sam_s_gpu.jit", - "url": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/resolve/main/efficient_sam_s_gpu.jit", - "size": "106.0MB" - }, - { - "name": "shape_predictor_68_face_landmarks.dat [Face Analysis]", - "type": "Shape Predictor", - "base": "DLIB", - "save_path": "custom_nodes/ComfyUI_FaceAnalysis/dlib", - "description": "To use the Face Analysis for ComfyUI custom node, installation of this model is needed.", - "reference": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/tree/main", - "filename": "shape_predictor_68_face_landmarks.dat", - "url": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/resolve/main/shape_predictor_68_face_landmarks.dat", - "size": "99.7MB" - }, - { - "name": "dlib_face_recognition_resnet_model_v1.dat [Face Analysis]", - "type": "Face Recognition", - "base": "DLIB", - "save_path": "custom_nodes/ComfyUI_FaceAnalysis/dlib", - "description": "To use the Face Analysis for ComfyUI custom node, installation of this model is needed.", - "reference": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/tree/main", - "filename": "dlib_face_recognition_resnet_model_v1.dat", - "url": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/resolve/main/dlib_face_recognition_resnet_model_v1.dat", - "size": "22.5MB" - }, { "name": "InstanceDiffusion/fusers", "type": "InstanceDiffusion", @@ -3362,50 +3330,6 @@ "url": "https://huggingface.co/lllyasviel/ic-light/resolve/main/iclight_sd15_fcon.safetensors", "size": "1.72GB" }, - { - "name": "ID-Animator/animator.ckpt", - "type": "ID-Animator", - "base": "SD1.5", - "save_path": "custom_nodes/ComfyUI_ID_Animator/models", - "description": "ID-Animator checkpoint", - "reference": "https://huggingface.co/spaces/ID-Animator/ID-Animator", - "filename": "animator.ckpt", - "url": "https://huggingface.co/spaces/ID-Animator/ID-Animator/resolve/main/animator.ckpt", - "size": "247.3MB" - }, - { - "name": "ID-Animator/mm_sd_v15_v2.ckpt", - "type": "ID-Animator", - "base": "SD1.5", - "save_path": "custom_nodes/ComfyUI_ID_Animator/models/animatediff_models", - "description": "AnimateDiff checkpoint for ID-Animator", - "reference": "https://huggingface.co/spaces/ID-Animator/ID-Animator", - "filename": "mm_sd_v15_v2.ckpt", - "url": "https://huggingface.co/spaces/ID-Animator/ID-Animator/resolve/main/mm_sd_v15_v2.ckpt", - "size": "1.82GB" - }, - { - "name": "ID-Animator/image_encoder", - "type": "ID-Animator", - "base": "SD1.5", - "save_path": "custom_nodes/ComfyUI_ID_Animator/models/image_encoder", - "description": "CLIP Image encoder for ID-Animator", - "reference": "https://huggingface.co/spaces/ID-Animator/ID-Animator", - "filename": "model.safetensors", - "url": "https://huggingface.co/spaces/ID-Animator/ID-Animator/resolve/main/image_encoder/model.safetensors", - "size": "2.53GB" - }, - { - "name": "TencentARC/CustomNet", - "type": "CustomNet", - "base": "CustomNet", - "save_path": "custom_nodes/ComfyUI_CustomNet/pretrain", - "description": "CustomNet pretrained model for ComfyUI_CustomNet", - "reference": "https://huggingface.co/TencentARC/CustomNet/tree/main", - "filename": "customnet_v1.pt", - "url": "https://huggingface.co/TencentARC/CustomNet/resolve/main/customnet_v1.pt", - "size": "5.71GB" - }, { "name": "TTPlanet/TTPLanet_SDXL_Controlnet_Tile_Realistic v2 (fp16)", "type": "controlnet", @@ -3494,17 +3418,6 @@ "url": "https://huggingface.co/ViperYX/RGT/resolve/main/RGT_S/RGT_S_x4.pth", "size": "136.0MB" }, - { - "name": "Doubiiu/ToonCrafter model checkpoint", - "type": "checkpoint", - "base": "ToonCrafter", - "save_path": "custom_nodes/ComfyUI-ToonCrafter/ToonCrafter/checkpoints/tooncrafter_512_interp_v1", - "description": "ToonCrafter checkpoint model for ComfyUI-ToonCrafter", - "reference": "https://huggingface.co/Doubiiu/ToonCrafter/tree/main", - "filename": "model.ckpt", - "url": "https://huggingface.co/Doubiiu/ToonCrafter/resolve/main/model.ckpt", - "size": "10.5GB" - }, { "name": "InstantX/FLUX.1-dev Controlnet (Union)", @@ -4040,13 +3953,24 @@ "name": "Comfy-Org/hunyuan_video_vae_bf16.safetensors", "type": "VAE", "base": "Hunyuan Video", - "save_path": "VAE", + "save_path": "default", "description": "Huyuan Video VAE model. repackaged version.", "reference": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged", "filename": "hunyuan_video_vae_bf16.safetensors", "url": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/resolve/main/split_files/vae/hunyuan_video_vae_bf16.safetensors", "size": "493MB" }, + { + "name": "Comfy-Org/hunyuan_video_image_to_video_720p_bf16.safetensors", + "type": "diffusion_model", + "base": "Hunyuan Video", + "save_path": "diffusion_models/hunyuan_video", + "description": "Huyuan Video Image2Video diffusion model. repackaged version.", + "reference": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged", + "filename": "hunyuan_video_image_to_video_720p_bf16.safetensors", + "url": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/resolve/main/split_files/diffusion_models/hunyuan_video_image_to_video_720p_bf16.safetensors", + "size": "25.6GB" + }, { "name": "Comfy-Org/llava_llama3_fp8_scaled.safetensors", @@ -4070,6 +3994,17 @@ "url": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/resolve/main/split_files/text_encoders/llava_llama3_fp16.safetensors", "size": "16.1GB" }, + { + "name": "Comfy-Org/llava_llama3_vision.safetensors", + "type": "clip_vision", + "base": "LLaVA-Llama-3", + "save_path": "text_encoders", + "description": "llava_llama3_vision clip vison model. This is required for using Hunyuan Video Image2Video.", + "reference": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged", + "filename": "llava_llama3_vision.safetensors", + "url": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/resolve/main/split_files/clip_vision/llava_llama3_vision.safetensors", + "size": "649MB" + }, { "name": "FLUX.1 [Schnell] Diffusion model", @@ -4397,23 +4332,11 @@ "size": "12.7GB" }, - { - "name": "BAAI/SegGPT", - "type": "SegGPT", - "base": "SegGPT", - "save_path": "custom_nodes/comfyui-SegGPT", - "description": "SegGPT", - "reference": "https://huggingface.co/BAAI/SegGPT", - "filename": "seggpt_vit_large.pth", - "url": "https://huggingface.co/BAAI/SegGPT/resolve/main/seggpt_vit_large.pth", - "size": "1.48GB" - }, - { "name": "ViT-L-14-TEXT-detail-improved-hiT-GmP-HF.safetensors [Long CLIP L]", "type": "clip", "base": "clip", - "save_path": "clip/long_clip", + "save_path": "text_encoders/long_clip", "description": "Greatly improved TEXT + Detail (as CLIP-L for Flux.1)", "reference": "https://huggingface.co/zer0int", "filename": "ViT-L-14-TEXT-detail-improved-hiT-GmP-HF.safetensors", @@ -4424,7 +4347,7 @@ "name": "ViT-L-14-TEXT-detail-improved-hiT-GmP-HF.safetensors [Long CLIP L]", "type": "clip", "base": "clip", - "save_path": "clip/long_clip", + "save_path": "text_encoders/long_clip", "description": "Greatly improved TEXT + Detail (as CLIP-L for Flux.1)", "reference": "https://huggingface.co/zer0int", "filename": "ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors", @@ -4646,6 +4569,17 @@ "url": "https://huggingface.co/Lightricks/LTX-Video/resolve/main/ltx-video-2b-v0.9.1.safetensors", "size": "5.72GB" }, + { + "name": "LTX-Video 2B v0.9.5 Checkpoint", + "type": "checkpoint", + "base": "LTX-Video", + "save_path": "checkpoints/LTXV", + "description": "LTX-Video is the first DiT-based video generation model capable of generating high-quality videos in real-time. It produces 24 FPS videos at a 768x512 resolution faster than they can be watched. Trained on a large-scale dataset of diverse videos, the model generates high-resolution videos with realistic and varied content.", + "reference": "https://huggingface.co/Lightricks/LTX-Video", + "filename": "ltx-video-2b-v0.9.5.safetensors", + "url": "https://huggingface.co/Lightricks/LTX-Video/resolve/main/ltx-video-2b-v0.9.5.safetensors", + "size": "6.34GB" + }, { "name": "XLabs-AI/flux-canny-controlnet-v3.safetensors", @@ -4725,6 +4659,97 @@ "filename": "ip_adapter.safetensors", "url": "https://huggingface.co/XLabs-AI/flux-ip-adapter/resolve/main/ip_adapter.safetensors", "size": "982MB" + }, + + { + "name": "efficient_sam_s_cpu.jit [ComfyUI-YoloWorld-EfficientSAM]", + "type": "efficient_sam", + "base": "efficient_sam", + "save_path": "yolo_world", + "description": "Install efficient_sam_s_cpu.jit into ComfyUI-YoloWorld-EfficientSAM", + "reference": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/tree/main", + "filename": "efficient_sam_s_cpu.jit", + "url": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/resolve/main/efficient_sam_s_cpu.jit", + "size": "106.0MB" + }, + { + "name": "efficient_sam_s_gpu.jit [ComfyUI-YoloWorld-EfficientSAM]", + "type": "efficient_sam", + "base": "efficient_sam", + "save_path": "yolo_world", + "description": "Install efficient_sam_s_gpu.jit into ComfyUI-YoloWorld-EfficientSAM", + "reference": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/tree/main", + "filename": "efficient_sam_s_gpu.jit", + "url": "https://huggingface.co/camenduru/YoloWorld-EfficientSAM/resolve/main/efficient_sam_s_gpu.jit", + "size": "106.0MB" + }, + + { + "name": "TencentARC/CustomNet V1", + "type": "CustomNet", + "base": "CustomNet", + "save_path": "checkpoints/customnet", + "description": "CustomNet pretrained model for ComfyUI_CustomNet", + "reference": "https://huggingface.co/TencentARC/CustomNet/tree/main", + "filename": "customnet_v1.pt", + "url": "https://huggingface.co/TencentARC/CustomNet/resolve/main/customnet_v1.pt", + "size": "5.71GB" + }, + { + "name": "TencentARC/CustomNet Inpaint V1", + "type": "CustomNet", + "base": "CustomNet", + "save_path": "checkpoints/customnet", + "description": "CustomNet Inpaint pretrained model for ComfyUI_CustomNet", + "reference": "https://huggingface.co/TencentARC/CustomNet/tree/main", + "filename": "customnet_inpaint_v1.pt", + "url": "https://huggingface.co/TencentARC/CustomNet/resolve/main/customnet_inpaint_v1.pt", + "size": "5.71GB" + }, + + { + "name": "deepseek-ai/Janus-Pro-1B", + "type": "Janus-Pro", + "base": "Janus-Pro", + "save_path": "Janus-Pro", + "description": "[SNAPSHOT] Janus-Pro-1B model.[w/You cannot download this item on ComfyUI-Manager versions below V3.18]", + "reference": "https://huggingface.co/deepseek-ai/Janus-Pro-1B", + "filename": "", + "url": "deepseek-ai/Janus-Pro-1B", + "size": "7.8GB" + }, + { + "name": "deepseek-ai/Janus-Pro-7B", + "type": "Janus-Pro", + "base": "Janus-Pro", + "save_path": "Janus-Pro", + "description": "[SNAPSHOT] Janus-Pro-7B model.[w/You cannot download this item on ComfyUI-Manager versions below V3.18]", + "reference": "https://huggingface.co/deepseek-ai/Janus-Pro-7B", + "filename": "", + "url": "deepseek-ai/Janus-Pro-7B", + "size": "14.85GB" + }, + { + "name": "kolors/vae/diffusion_pytorch_model.fp16.safetensors", + "type": "VAE", + "base": "Kolors", + "save_path": "vae/kolors", + "description": "Kolors VAE", + "reference": "https://huggingface.co/Kwai-Kolors/Kolors", + "filename": "diffusion_pytorch_model.fp16.safetensors", + "url": "https://huggingface.co/Kwai-Kolors/Kolors/resolve/main/vae/diffusion_pytorch_model.fp16.safetensors", + "size": "167MB" + }, + { + "name": "kolors/vae/diffusion_pytorch_model.safetensors", + "type": "VAE", + "base": "Kolors", + "save_path": "vae/kolors", + "description": "Kolors VAE", + "reference": "https://huggingface.co/Kwai-Kolors/Kolors", + "filename": "diffusion_pytorch_model.safetensors", + "url": "https://huggingface.co/Kwai-Kolors/Kolors/resolve/main/vae/diffusion_pytorch_model.safetensors", + "size": "335MB" } ] } diff --git a/node_db/dev/custom-node-list.json b/node_db/dev/custom-node-list.json index 727c39e6..29e44938 100644 --- a/node_db/dev/custom-node-list.json +++ b/node_db/dev/custom-node-list.json @@ -10,6 +10,1220 @@ }, + + + { + "author": "Dreamshot-io", + "title": "ComfyUI-Extend-Resolution", + "reference": "https://github.com/Dreamshot-io/ComfyUI-Extend-Resolution", + "files": [ + "https://github.com/Dreamshot-io/ComfyUI-Extend-Resolution" + ], + "install_type": "git-clone", + "description": "NODES: Resolution Padding" + }, + { + "author": "l1yongch1", + "title": "ComfyUI-YcNodes", + "reference": "https://github.com/l1yongch1/ComfyUI-YcNodes", + "files": [ + "https://github.com/l1yongch1/ComfyUI-YcNodes" + ], + "install_type": "git-clone", + "description": "NODES: RemoveHighlightAndBlur, RoundedCorners, PaddingAccordingToBackground\npersonal custom nodes for learning" + }, + { + "author": "vchopine", + "title": "ComfyUI_Toolbox", + "reference": "https://github.com/vchopine/ComfyUI_Toolbox", + "files": [ + "https://github.com/vchopine/ComfyUI_Toolbox" + ], + "install_type": "git-clone", + "description": "Model & Aspect Ratio Selector Node for ComfyUI\nNOTE: The files in the repo are not organized." + }, + { + "author": "Solankimayursinh", + "title": "PMSnodes", + "reference": "https://github.com/Solankimayursinh/PMSnodes", + "files": [ + "https://github.com/Solankimayursinh/PMSnodes" + ], + "install_type": "git-clone", + "description": "A custom nodes for ComfyUI to Load audio in Base64 format and Send Audio to Websocket in Base64 Format for creating API of Audio related AI\nNOTE: The files in the repo are not organized." + }, + { + "author": "rhinoflavored", + "title": "comfyui_QT", + "reference": "https://github.com/rhinoflavored/comfyui_QT", + "files": [ + "https://github.com/rhinoflavored/comfyui_QT" + ], + "install_type": "git-clone", + "description": "bunch of image manipulation nodes....\nNOTE: The files in the repo are not organized." + }, + { + "author": "ricklove", + "title": "ComfyUI-AutoSeg-SAM2", + "reference": "https://github.com/ricklove/ComfyUI-AutoSeg-SAM2", + "files": [ + "https://github.com/ricklove/ComfyUI-AutoSeg-SAM2" + ], + "install_type": "git-clone", + "description": "NODES: AutoSeg-SAM2 Batch Segmentation" + }, + { + "author": "JoeAu", + "title": "ComfyUI-PythonNode [UNSAFE]", + "reference": "https://github.com/JoeAu/ComfyUI-PythonNode", + "files": [ + "https://github.com/JoeAu/ComfyUI-PythonNode" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that allows users to execute arbitrary Python code with a single input (value) and output (result), enabling flexible processing of the input value using any Python code before assigning the final result to result. It also captures print() output and exceptions for debugging.[w/This node is an unsafe node that includes the capability to execute arbitrary python script.]" + }, + { + "author": "smthemex", + "title": "ComfyUI_GPT_SoVITS_Lite", + "reference": "https://github.com/smthemex/ComfyUI_GPT_SoVITS_Lite", + "files": [ + "https://github.com/smthemex/ComfyUI_GPT_SoVITS_Lite" + ], + "install_type": "git-clone", + "description": "[a/GPT_SoVITS](https://github.com/RVC-Boss/GPT-SoVITS) infer only for ComfyUI users\nNOTE: The files in the repo are not organized." + }, + { + "author": "Nambi24", + "title": "ComfyUI-Save_Image", + "reference": "https://github.com/Nambi24/ComfyUI-Save_Image", + "files": [ + "https://github.com/Nambi24/ComfyUI-Save_Image" + ], + "description": "NODES: Save Image With Subfolder, Extract Last Path Component\nNOTE: The files in the repo are not organized.", + "install_type": "git-clone" + }, + { + "author": "sugarkwork", + "title": "comfyui_image_crop", + "reference": "https://github.com/sugarkwork/comfyui_image_crop", + "files": [ + "https://github.com/sugarkwork/comfyui_image_crop" + ], + "description": "NODES: CropTransparent, RestoreCrop, ExpandMultiple, CropReapply", + "install_type": "git-clone" + }, + { + "author": "AkiEvansDev", + "title": "ComfyUI-Tools", + "reference": "https://github.com/AkiEvansDev/ComfyUI-Tools", + "files": [ + "https://github.com/AkiEvansDev/ComfyUI-Tools" + ], + "install_type": "git-clone", + "description": "Custom nodes for basic actions." + }, + { + "author": "silveroxides", + "title": "ComfyUI-ModelUtils [WIP]", + "reference": "https://github.com/silveroxides/ComfyUI-ModelUtils", + "files": [ + "https://github.com/silveroxides/ComfyUI-ModelUtils" + ], + "install_type": "git-clone", + "description": "[WIP]Custom nodes for handling, inspecting, modifying and creating various model files." + }, + { + "author": "thisiseddy-ab", + "title": "ComfyUI-Edins-Ultimate-Pack", + "reference": "https://github.com/thisiseddy-ab/ComfyUI-Edins-Ultimate-Pack", + "files": [ + "https://github.com/thisiseddy-ab/ComfyUI-Edins-Ultimate-Pack" + ], + "install_type": "git-clone", + "description": "Well i needet a Tiled Ksampler that still works for Comfy UI there were none so i made one, in this Package i will put all Nodes i will develop for Comfy Ui still in beta alot will change.." + }, + { + "author": "longzoho", + "title": "ComfyUI-Qdrant-Saver", + "reference": "https://github.com/longzoho/ComfyUI-Qdrant-Saver", + "files": [ + "https://github.com/longzoho/ComfyUI-Qdrant-Saver" + ], + "install_type": "git-clone", + "description": "NODES: QDrant Saver Node" + }, + { + "author": "RUFFY-369", + "title": "ComfyUI-FeatureBank", + "reference": "https://github.com/RUFFY-369/ComfyUI-FeatureBank", + "files": [ + "https://github.com/RUFFY-369/ComfyUI-FeatureBank" + ], + "install_type": "git-clone", + "description": "NODES: FeatureBankAttentionProcessor" + }, + { + "author": "Pablerdo", + "title": "ComfyUI-Sa2VAWrapper [WIP]", + "reference": "https://github.com/Pablerdo/ComfyUI-Sa2VAWrapper", + "files": [ + "https://github.com/Pablerdo/ComfyUI-Sa2VAWrapper" + ], + "install_type": "git-clone", + "description": "Wrapper for the Sa2VA model" + }, + { + "author": "S4MUEL-404", + "title": "ComfyUI-Folder-Images-Preview [UNSAFE]", + "reference": "https://github.com/S4MUEL-404/ComfyUI-Folder-Images-Preview", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-Folder-Images-Preview" + ], + "install_type": "git-clone", + "description": "A ComfyUI nodes , Generate a picture and quickly preview the pictures in the folder and the picture file name\n[w/This custom node has a path traversal vulnerability.]" + }, + { + "author": "aria1th", + "title": "ComfyUI-camietagger-onnx", + "reference": "https://github.com/aria1th/ComfyUI-camietagger-onnx", + "files": [ + "https://github.com/aria1th/ComfyUI-camietagger-onnx" + ], + "install_type": "git-clone", + "description": "NODES: Camie Tagger" + }, + { + "author": "zjkhurry", + "title": "comfyui_MetalFX [WIP]", + "reference": "https://github.com/zjkhurry/comfyui_MetalFX", + "files": [ + "https://github.com/zjkhurry/comfyui_MetalFX" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that enables high-quality image and video upscaling using Apple MetalFX technology.\nNOTE: The files in the repo are not organized." + }, + { + "author": "IfnotFr", + "title": "ComfyUI-Connect [WIP]", + "reference": "https://github.com/IfnotFr/ComfyUI-Connect", + "files": [ + "https://github.com/IfnotFr/ComfyUI-Connect" + ], + "install_type": "git-clone", + "description": "Transform your ComfyUI into a powerful API, exposing all your saved workflows as ready-to-use HTTP endpoints." + }, + { + "author": "RoyKillington", + "title": "Miscomfy Nodes [WIP]", + "reference": "https://github.com/RoyKillington/miscomfy-nodes", + "files": [ + "https://github.com/RoyKillington/miscomfy-nodes" + ], + "install_type": "git-clone", + "description": "A repo of custom nodes for ComfyUI, from interacting with certain APIs to whatever other miscellanea I end up making" + }, + { + "author": "xmarked-ai", + "title": "ComfyUI_misc", + "reference": "https://github.com/xmarked-ai/ComfyUI_misc", + "files": [ + "https://github.com/xmarked-ai/ComfyUI_misc" + ], + "install_type": "git-clone", + "description": "NODES: Ace IntegerX, Ace FloatX, Ace Color FixX, White Balance X, Depth Displace X, Empty Latent X, KSampler Combo X, ..." + }, + { + "author": "Elypha", + "title": "ComfyUI-Prompt-Helper [WIP]", + "reference": "https://github.com/Elypha/ComfyUI-Prompt-Helper", + "files": [ + "https://github.com/Elypha/ComfyUI-Prompt-Helper" + ], + "install_type": "git-clone", + "description": "Concat conditions and prompts for ComfyUI" + }, + { + "author": "StoryWalker", + "title": "comfyui_flux_collection_advanced [WIP]", + "reference": "https://github.com/StoryWalker/comfyui_flux_collection_advanced", + "files": [ + "https://github.com/StoryWalker/comfyui_flux_collection_advanced" + ], + "install_type": "git-clone", + "description": "This is a collection focused in give a little more flexibility in the use of Flux models." + }, + { + "author": "KurtHokke", + "title": "ComfyUI_KurtHokke-Nodes", + "reference": "https://github.com/KurtHokke/ComfyUI_KurtHokke-Nodes", + "files": [ + "https://github.com/KurtHokke/ComfyUI_KurtHokke-Nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI_KurtHokke-Nodes" + }, + { + "author": "OSAnimate", + "title": "ComfyUI-SpriteSheetMaker [WIP]", + "reference": "https://github.com/OSAnimate/ComfyUI-SpriteSheetMaker", + "files": [ + "https://github.com/OSAnimate/ComfyUI-SpriteSheetMaker" + ], + "install_type": "git-clone", + "description": "The sprite sheet maker node is a simple way to create sprite sheets and image grids.\nNOTE: The files in the repo are not organized." + }, + { + "author": "BuffMcBigHuge", + "title": "ComfyUI-Buff-Nodes [WIP]", + "reference": "https://github.com/BuffMcBigHuge/ComfyUI-Buff-Nodes", + "files": [ + "https://github.com/BuffMcBigHuge/ComfyUI-Buff-Nodes" + ], + "install_type": "git-clone", + "description": "Assorted Nodes by BuffMcBigHuge" + }, + { + "author": "ritikvirus", + "title": "ComfyUI Terminal Command Node [UNSAFE]", + "reference": "https://github.com/ritikvirus/comfyui-terminal-modal-node", + "files": [ + "https://github.com/ritikvirus/comfyui-terminal-modal-node" + ], + "install_type": "git-clone", + "description": "This repository provides a custom ComfyUI node that lets you execute arbitrary terminal commands directly from the ComfyUI interface. [w/This extension allows remote command execution.]" + }, + { + "author": "pixuai", + "title": "ComfyUI-PixuAI", + "reference": "https://github.com/pixuai/ComfyUI-PixuAI", + "files": [ + "https://github.com/pixuai/ComfyUI-PixuAI" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI nodes designed to streamline prompt creation, organization, and discovery - making your workflows faster and more intuitive." + }, + { + "author": "techidsk", + "title": "comfyui_molook_nodes [WIP]", + "reference": "https://github.com/techidsk/comfyui_molook_nodes", + "files": [ + "https://github.com/techidsk/comfyui_molook_nodes" + ], + "install_type": "git-clone", + "description": "Some extra nodes" + }, + { + "author": "Northerner1", + "title": "ComfyUI_North_Noise [WIP]", + "reference": "https://github.com/Northerner1/ComfyUI_North_Noise", + "files": [ + "https://github.com/Northerner1/ComfyUI_North_Noise" + ], + "install_type": "git-clone", + "description": "NODES: North Noise" + }, + { + "author": "ManuShamil", + "title": "ComfyUI_BodyEstimation_Nodes", + "reference": "https://github.com/ManuShamil/ComfyUI_BodyEstimation_Nodes", + "files": [ + "https://github.com/ManuShamil/ComfyUI_BodyEstimation_Nodes" + ], + "install_type": "git-clone", + "description": "NODES: CogitareLabsPoseIDExtractor" + }, + { + "author": "MockbaTheBorg", + "title": "ComfyUI-Mockba", + "reference": "https://github.com/MockbaTheBorg/ComfyUI-Mockba", + "files": [ + "https://github.com/MockbaTheBorg/ComfyUI-Mockba" + ], + "install_type": "git-clone", + "description": "NODES: Image Batch/Flip/Rotate/Subtract/Dither, Barcode, Select, ..." + }, + { + "author": "jcomeme", + "title": "AsunaroTools", + "reference": "https://github.com/jcomeme/ComfyUI-AsunaroTools", + "files": [ + "https://github.com/jcomeme/ComfyUI-AsunaroTools" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "ZHO-ZHO-ZHO", + "title": "ComfyUI Wan2.1 [WIP]", + "reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Wan-ZHO", + "files": [ + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Wan-ZHO" + ], + "install_type": "git-clone", + "description": "It’s estimated that ComfyUI itself will support it soon, so go ahead and give it a try!" + }, + { + "author": "kijai", + "title": "ComfyUI-WanVideoWrapper [WIP]", + "reference": "https://github.com/kijai/ComfyUI-WanVideoWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-WanVideoWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI diffusers wrapper nodes for WanVideo" + }, + { + "author": "ltdrdata", + "title": "comfyui-unsafe-torch [UNSAFE]", + "reference": "https://github.com/ltdrdata/comfyui-unsafe-torch", + "files": [ + "https://github.com/ltdrdata/comfyui-unsafe-torch" + ], + "install_type": "git-clone", + "description": "disable torch.load's `weigths_only`" + }, + { + "author": "IfnotFr", + "title": "⚡ ComfyUI Connect [WIP]", + "reference": "https://github.com/IfnotFr/ComfyUI-Connect", + "files": [ + "https://github.com/IfnotFr/ComfyUI-Connect" + ], + "install_type": "git-clone", + "description": "Transform your ComfyUI into a powerful API, exposing all your saved workflows as ready-to-use HTTP endpoints." + }, + { + "author": "muvich3n", + "title": "ComfyUI-Crop-Border", + "reference": "https://github.com/muvich3n/ComfyUI-Crop-Border", + "files": [ + "https://github.com/muvich3n/ComfyUI-Crop-Border" + ], + "install_type": "git-clone", + "description": "NODES: Crop Image Borders" + }, + { + "author": "masmullin2000", + "title": "ComfyUI-MMYolo", + "reference": "https://github.com/masmullin2000/ComfyUI-MMYolo", + "files": [ + "https://github.com/masmullin2000/ComfyUI-MMYolo" + ], + "install_type": "git-clone", + "description": "A comfy node to find faces and output a mask" + }, + { + "author": "Yeonri", + "title": "ComfyUI_LLM_Are_You_Listening [WIP]", + "reference": "https://github.com/Yeonri/ComfyUI_LLM_Are_You_Listening", + "files": [ + "https://github.com/Yeonri/ComfyUI_LLM_Are_You_Listening" + ], + "install_type": "git-clone", + "description": "NODES: AYL_Node, AYL_GGUF_Node, AYL_API_Node\nNOTE: The files in the repo are not organized." + }, + { + "author": "altkeyproject", + "title": "Dream Painter [WIP]", + "reference": "https://github.com/alt-key-project/comfyui-dream-painter", + "files": [ + "https://github.com/alt-key-project/comfyui-dream-painter" + ], + "install_type": "git-clone", + "description": "Provide utilities for 2D image generation and processing." + }, + { + "author": "kimara-ai", + "title": "ComfyUI-Kimara-AI-Image-From-URL [WIP]", + "reference": "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL", + "files": [ + "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL" + ], + "install_type": "git-clone", + "description": "Load image from URL and downscale to desired megapixels. Set megapixels to 0 for no downscaling." + }, + { + "author": "krisshen2021", + "title": "comfyui_OpenRouterNodes [WIP]", + "reference": "https://github.com/krisshen2021/comfyui_OpenRouterNodes", + "files": [ + "https://github.com/krisshen2021/comfyui_OpenRouterNodes" + ], + "install_type": "git-clone", + "description": "LLM custom nodes for comfyui\nNOTE: The files in the repo are not organized." + }, + { + "author": "Velour-Fog", + "title": "comfy-latent-nodes [UNSAFE]", + "reference": "https://github.com/Velour-Fog/comfy-latent-nodes", + "files": [ + "https://github.com/Velour-Fog/comfy-latent-nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to save and load a latent to a specified directory. Saves time for doing operations on a latent such as upscaling without having to re-trigger the creation of the original latent.[w/This node can write files to an arbitrary path.]" + }, + { + "author": "jgbyte", + "title": "ComfyUI-RandomCube [WIP]", + "reference": "https://github.com/jgbyte/ComfyUI-RandomCube", + "files": [ + "https://github.com/jgbyte/ComfyUI-RandomCube" + ], + "install_type": "git-clone", + "description": "NODES: RandomCubeGrid" + }, + { + "author": "thot-experiment", + "title": "comfy-live-preview [WIP]", + "reference": "https://github.com/thot-experiment/comfy-live-preview", + "files": [ + "https://github.com/thot-experiment/comfy-live-preview" + ], + "install_type": "git-clone", + "description": "external live preview plugin for ComfyUI" + }, + { + "author": "AhBumm", + "title": "ComfyUI-Upscayl", + "reference": "https://github.com/AhBumm/ComfyUI-Upscayl", + "files": [ + "https://github.com/AhBumm/ComfyUI-Upscayl" + ], + "nodename_pattern": "\\(BillBum\\)$", + "install_type": "git-clone", + "description": "NODES: Upscayl Upscaler" + }, + { + "author": "NEZHA625", + "title": "ComfyUI-tools-by-dong [UNSAFE]", + "reference": "https://github.com/NEZHA625/ComfyUI-tools-by-dong", + "files": [ + "https://github.com/NEZHA625/ComfyUI-tools-by-dong" + ], + "install_type": "git-clone", + "description": "NODES: HuggingFaceUploadNode, ImageDownloader, LoraIterator, FileMoveNode, InputDetectionNode, ...\nNOTE: The files in the repo are not organized.[w/This node pack includes nodes that can modify arbitrary files.]" + }, + { + "author": "if-ai", + "title": "ComfyUI-IF_Zonos [WIP]", + "reference": "https://github.com/if-ai/ComfyUI-IF_Zonos", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_Zonos" + ], + "install_type": "git-clone", + "description": "Zonos for ComfyUI" + }, + { + "author": "grinlau18", + "title": "Xiser_Nodes [WIP]", + "reference": "https://github.com/grinlau18/ComfyUI_XISER_Nodes", + "files": [ + "https://github.com/grinlau18/ComfyUI_XISER_Nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI\nNOTE: The files in the repo are not organized." + }, + { + "author": "LAOGOU-666", + "title": "Comfyui_StartPatch [UNSAFE]", + "reference": "https://github.com/LAOGOU-666/Comfyui_StartPatch", + "files": [ + "https://github.com/LAOGOU-666/Comfyui_StartPatch" + ], + "install_type": "git-clone", + "description": "This patch plugin optimizes the node information processing mechanism of the ComfyUI server, significantly improving server performance and response speed. It greatly reduces the browser page initialization waiting time. [w/Since this patch modifies key functions of ComfyUI, it is highly likely to cause compatibility issues.]" + }, + { + "author": "badmike", + "title": "Prompt Factory [CONFLICT]", + "reference": "https://github.com/badmike/comfyui-prompt-factory", + "files": [ + "https://github.com/badmike/comfyui-prompt-factory" + ], + "install_type": "git-clone", + "description": "A modular system that adds randomness to prompt generation [w/This node pack is causing a name conflict with https://github.com/satche/comfyui-prompt-factory]" + }, + { + "author": "owengillett", + "title": "ComfyUI-tilefusion", + "reference": "https://github.com/owengillett/ComfyUI-tilefusion", + "files": [ + "https://github.com/owengillett/ComfyUI-tilefusion" + ], + "install_type": "git-clone", + "description": "Helper nodes for generating seamless tiles." + }, + { + "author": "Scaryplasmon", + "title": "ComfTrellis [WIP]", + "reference": "https://github.com/Scaryplasmon/ComfTrellis", + "files": [ + "https://github.com/Scaryplasmon/ComfTrellis" + ], + "install_type": "git-clone", + "description": "1 click install to run Trellis in ComfyUI\nNOTE: The files in the repo are not organized." + }, + { + "author": "fangziheng2321", + "title": "comfyuinode_chopmask [WIP]", + "reference": "https://github.com/fangziheng2321/comfyuinode_chopmask", + "files": [ + "https://github.com/fangziheng2321/comfyuinode_chopmask" + ], + "install_type": "git-clone", + "description": "a custom comfyui node for '/fooocusinpaint_upload'\nNOTE: The files in the repo are not organized." + }, + { + "author": "D1-3105", + "title": "ComfyUI-VideoStream", + "reference": "https://github.com/D1-3105/ComfyUI-VideoStream", + "files": [ + "https://github.com/D1-3105/ComfyUI-VideoStream" + ], + "install_type": "git-clone", + "description": "NODES: FloWWeaverExportSingleFrameGRPC" + }, + { + "author": "gmorks", + "title": "ComfyUI Animagine prompt [WIP]", + "reference": "https://github.com/gmorks/ComfyUI-Animagine-Prompt", + "files": [ + "https://github.com/gmorks/ComfyUI-Animagine-Prompt" + ], + "install_type": "git-clone", + "description": "Comfy UI node to prompt build for [a/https://huggingface.co/cagliostrolab/animagine-xl-4.0](https://huggingface.co/cagliostrolab/animagine-xl-4.0) model\nNOTE: The files in the repo are not organized." + }, + { + "author": "wirytiox", + "title": "ComfyUI-Qwen [CONFLICT]", + "reference": "https://github.com/mr-krak3n/ComfyUI-Qwen", + "files": [ + "https://github.com/mr-krak3n/ComfyUI-Qwen" + ], + "install_type": "git-clone", + "description": "This repository contains custom nodes for ComfyUI, designed to facilitate working with language models such as Qwen2.5 and DeepSeek. [w/This node pack is causing a name conflict with https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen]" + }, + { + "author": "hiusdev", + "title": "ComfyUI_Lah_Toffee", + "reference": "https://github.com/hiusdev/ComfyUI_Lah_Toffee", + "files": [ + "https://github.com/hiusdev/ComfyUI_Lah_Toffee" + ], + "install_type": "git-clone", + "description": "NODES: Lah LoadVideoRandom" + }, + { + "author": "hdfhssg", + "title": "ComfyUI_pxtool [WIP]", + "reference": "https://github.com/hdfhssg/ComfyUI_pxtool", + "files": [ + "https://github.com/hdfhssg/ComfyUI_pxtool" + ], + "install_type": "git-clone", + "description": "This is a custom plugin node for ComfyUI that modifies and extends some features from existing projects. The main implementations include:\n* Reproducing some features of the [a/Stable-Diffusion-Webui-Civitai-Helper](https://github.com/zixaphir/Stable-Diffusion-Webui-Civitai-Helper) project within ComfyUI\n* Implementing a feature to randomly generate related prompt words by referencing the [a/noob-wiki dataset](https://huggingface.co/datasets/Laxhar/noob-wiki/tree/main)\nNOTE: The files in the repo are not organized." + }, + { + "author": "franky519", + "title": "comfyui-redux-style", + "reference": "https://github.com/franky519/comfyui-redux-style", + "files": [ + "https://github.com/franky519/comfyui-redux-style" + ], + "install_type": "git-clone", + "description": "NODES: Style Model Grid, Style Model Apply, Style Model Advanced" + }, + { + "author": "rishipandey125", + "title": "ComfyUI-FramePacking [WIP]", + "reference": "https://github.com/rishipandey125/ComfyUI-FramePacking", + "files": [ + "https://github.com/rishipandey125/ComfyUI-FramePacking" + ], + "install_type": "git-clone", + "description": "NODES: Add Grid Boundaries, Pack Frames, Unpack Frames, Resize Frame" + }, + { + "author": "Northerner1", + "title": "ComfyUI_North_Noise [WIP]", + "reference": "https://github.com/Northerner1/ComfyUI_North_Noise", + "files": [ + "https://github.com/Northerner1/ComfyUI_North_Noise" + ], + "install_type": "git-clone", + "description": "NODES: Unsampler" + }, + { + "author": "kimara-ai", + "title": "ComfyUI-Kimara-AI-Image-From-URL [WIP]", + "reference": "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL", + "files": [ + "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL" + ], + "install_type": "git-clone", + "description": "Load image from URL and downscale to desired megapixels. Set megapixels to 0 for no downscaling." + }, + { + "author": "tc8M4lF3s88", + "title": "comfy-tif-support", + "reference": "https://github.com/M4lF3s/comfy-tif-support", + "files": [ + "https://github.com/M4lF3s/comfy-tif-support" + ], + "install_type": "git-clone", + "description": "NODES: Load TIFF" + }, + { + "author": "tc888", + "title": "ComfyUI_Save_Flux_Image", + "reference": "https://github.com/tc888/ComfyUI_Save_Flux_Image", + "files": [ + "https://github.com/tc888/ComfyUI_Save_Flux_Image" + ], + "install_type": "git-clone", + "description": "Customized version of comfyui-image-save tailored for saving Flux images" + }, + { + "author": "var1ableX", + "title": "ComfyUI_Accessories", + "reference": "https://github.com/var1ableX/ComfyUI_Accessories", + "files": [ + "https://github.com/var1ableX/ComfyUI_Accessories" + ], + "install_type": "git-clone", + "description": "NODES: Get Mask Dimensions, Get Random Dimensions, Is Mask Empty/Image, Any Cast, Make List From Text" + }, + { + "author": "xinyiSS", + "title": "CombineMasksNode", + "reference": "https://github.com/xinyiSS/CombineMasksNode", + "files": [ + "https://github.com/xinyiSS/CombineMasksNode" + ], + "install_type": "git-clone", + "description": "NODES: Combine Masks Node" + }, + { + "author": "osuiso-depot", + "title": "comfyui-keshigom_custom", + "reference": "https://github.com/osuiso-depot/comfyui-keshigom_custom", + "files": [ + "https://github.com/osuiso-depot/comfyui-keshigom_custom" + ], + "install_type": "git-clone", + "description": "NODES: RegexpChopper, FLIP-W/H Selector, FLIP-W/H SelectorConst, TextFind, ckpt_Loader_Simple, True-or-False, myStringNode" + }, + { + "author": "LucipherDev", + "title": "ComfyUI-Sentinel [WIP]", + "reference": "https://github.com/LucipherDev/ComfyUI-Sentinel", + "files": [ + "https://github.com/LucipherDev/ComfyUI-Sentinel" + ], + "install_type": "git-clone", + "description": "ComfyUI Extension for Advanced Security. Implements login, multi-user registration, IP filtering, and user-specific input/output directories.[w/WARN:While ComfyUI Sentinel enhances security for ComfyUI, it does not guarantee absolute protection. Security is about risk mitigation, not elimination. Users are responsible for implementing their own security measures.]" + }, + { + "author": "threadedblue", + "title": "MLXnodes [WIP]", + "reference": "https://github.com/threadedblue/MLXnodes", + "files": [ + "https://github.com/threadedblue/MLXnodes" + ], + "install_type": "git-clone", + "description": "A port of MLX Examples to ComfyUI custom_nodes. These are intended to run on a macOS M1.\nNOTE: The files in the repo are not organized." + }, + { + "author": "jschoormans", + "title": "Comfy-InterestingPixels [WIP]", + "reference": "https://github.com/jschoormans/Comfy-InterestingPixels", + "files": [ + "https://github.com/jschoormans/Comfy-InterestingPixels" + ], + "install_type": "git-clone", + "description": "NODES: Shareable Image Slider, Random Palette\nNOTE: The files in the repo are not organized." + }, + { + "author": "jschoormans", + "title": "ComfyUI-TexturePacker [WIP]", + "reference": "https://github.com/kijai/ComfyUI-TexturePacker", + "files": [ + "https://github.com/jschoormans/Comfy-InterestingPixels" + ], + "install_type": "git-clone", + "description": "ComfyUI node to use PyTexturePacker\nNOTE: The files in the repo are not organized." + }, + { + "author": "lum3on", + "title": "comfyui_LLM_Polymath [WIP]", + "reference": "https://github.com/lum3on/comfyui_LLM_Polymath", + "files": [ + "https://github.com/lum3on/comfyui_LLM_Polymath" + ], + "install_type": "git-clone", + "description": "An advanced chat node, that integrates large language models to automate data processes and enhance prompt responses through real-time web search and image handling. It supports both OpenAI's GPT-like models and a local Ollama API. Custom node finder and smart assistant tools provide tailored workflow recommendations for efficient integration. Additionally, the node dynamically augments prompts and offers flexible output compression options.\nNOTE: The files in the repo are not organized." + }, + { + "author": "MickeyJ", + "title": "ComfyUI_mickster_nodes [WIP]", + "reference": "https://github.com/MickeyJ/ComfyUI_mickster_nodes", + "files": [ + "https://github.com/MickeyJ/ComfyUI_mickster_nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI, focusing on image handling and LoRA training." + }, + { + "author": "thedivergentai", + "title": "Divergent Nodes [WIP]", + "reference": "https://github.com/thedivergentai/divergent_nodes", + "files": [ + "https://github.com/thedivergentai/divergent_nodes" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for counting CLIP tokens in text input." + }, + { + "author": "gold24park", + "title": "loki-comfyui-node", + "reference": "https://github.com/gold24park/loki-comfyui-node", + "files": [ + "https://github.com/gold24park/loki-comfyui-node" + ], + "install_type": "git-clone", + "description": "NODES: Get Image Luminance, Get Dominant Color, Overlay Text" + }, + { + "author": "hayden-fr", + "title": "ComfyUI-Image-Browsing [USAFE]", + "id": "image-browsing", + "reference": "https://github.com/hayden-fr/ComfyUI-Image-Browsing", + "files": [ + "https://github.com/hayden-fr/ComfyUI-Image-Browsing" + ], + "install_type": "git-clone", + "description": "Image Browsing: browsing, download and delete." + }, + { + "author": "molbal", + "title": "comfy-url-fetcher [WIP]", + "reference": "https://github.com/molbal/comfy-url-fetcher", + "files": [ + "https://github.com/molbal/comfy-url-fetcher" + ], + "install_type": "git-clone", + "description": "Fetches URLs" + }, + { + "author": "myAiLemon", + "title": "MagicAutomaticPicture [WIP]", + "reference": "https://github.com/myAiLemon/MagicAutomaticPicture", + "files": [ + "https://github.com/myAiLemon/MagicAutomaticPicture" + ], + "install_type": "git-clone", + "description": "A comfyui node package that can generate pictures and automatically save positive prompts and eliminate unwanted prompts" + }, + { + "author": "neverbiasu", + "title": "ComfyUI_Output_as_Input", + "reference": "https://github.com/a-und-b/ComfyUI_Output_as_Input", + "files": [ + "https://github.com/a-und-b/ComfyUI_Output_as_Input" + ], + "install_type": "git-clone", + "description": "This is a simple custom ComfyUI node that allows you to easily use recent output images as input in your workflows. It does not allow image uploads on purpose and does not require any additional dependencies.\nNOTE: The files in the repo are not organized." + }, + { + "author": "neverbiasu", + "title": "ComfyUI-DeepSeek", + "reference": "https://github.com/neverbiasu/ComfyUI-DeepSeek", + "files": [ + "https://github.com/neverbiasu/ComfyUI-DeepSeek" + ], + "install_type": "git-clone", + "description": "NODES: DeepSeek Caller" + }, + { + "author": "Krish-701", + "title": "RK_Comfyui", + "reference": "https://github.com/Krish-701/RK_Comfyui", + "files": [ + "https://github.com/Krish-701/RK_Comfyui" + ], + "install_type": "git-clone", + "description": "NODES: RK Excel File State Looper, RK Accumulate Text, RK Advanced Script Finder, RK CSV File State Looper, RK Read Excel Row, RK Sequential Image Viewer, RK Concatenate Text, RK Write Text, RK Save Image, RK Seed Loop" + }, + { + "author": "mikebilly", + "title": "transparent-background-comfyui", + "reference": "https://github.com/mikebilly/Transparent-background-comfyUI", + "files": [ + "https://github.com/mikebilly/Transparent-background-comfyUI" + ], + "install_type": "git-clone", + "description": "NODES: Transparentbackground RemBg" + }, + { + "author": "UD1sto", + "title": "plugin-utils-nodes", + "reference": "https://github.com/UD1sto/plugin-utils-nodes", + "files": [ + "https://github.com/UD1sto/plugin-utils-nodes" + ], + "install_type": "git-clone", + "description": "NODES: Compare Images (SimHash), Image Selector, Temporal Consistency, Update Image Reference, Frame Blend." + }, + { + "author": "Kayarte", + "title": "Time Series Nodes for ComfyUI [Experimental]", + "reference": "https://github.com/Kayarte/Time-Series-Nodes-for-ComfyUI", + "files": [ + "https://github.com/Kayarte/Time-Series-Nodes-for-ComfyUI" + ], + "install_type": "git-clone", + "description": "Basic nodes for time series analysis in ComfyUI. Currently in early development." + }, + { + "author": "HuangYuChuh", + "title": "ComfyUI-DeepSeek-Toolkit [WIP]", + "reference": "https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit", + "files": [ + "https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit" + ], + "install_type": "git-clone", + "description": "ComfyUI-DeepSeek-Toolkit is a deep learning toolkit for ComfyUI that integrates the DeepSeek Janus model, offering functionalities for image generation and image understanding.\nNOTE: The files in the repo are not organized." + }, + { + "author": "comfyuiblog", + "title": "deepseek_prompt_generator_comfyui [WIP]", + "reference": "https://github.com/comfyuiblog/deepseek_prompt_generator_comfyui", + "files": [ + "https://github.com/comfyuiblog/deepseek_prompt_generator_comfyui" + ], + "install_type": "git-clone", + "description": "Prompt Expansion for Stable Diffusion, using Deepseek API.\nNOTE: The files in the repo are not organized." + }, + { + "author": "risunobushi", + "title": "ComfyUI_HEXtoRGB", + "reference": "https://github.com/risunobushi/ComfyUI_HEXtoRGB", + "files": [ + "https://github.com/risunobushi/ComfyUI_HEXtoRGB" + ], + "install_type": "git-clone", + "description": "NODES: Hex to RGB Converter" + }, + { + "author": "EmanueleUniroma2", + "title": "ComfyUI-FLAC-to-WAV [WIP]", + "reference": "https://github.com/EmanueleUniroma2/ComfyUI-FLAC-to-WAV", + "files": [ + "https://github.com/EmanueleUniroma2/ComfyUI-FLAC-to-WAV" + ], + "install_type": "git-clone", + "description": "A custom node to convert flac files to wav inside comfy UI\nComfyUI Custom Node: FLAC to WAV Converter Welcome to the ComfyUI Custom Node: FLAC to WAV Converter repository! This project provides a custom node for ComfyUI that allows you to easily convert .flac audio files to .wav format, making it simpler to work with a variety of audio tools and applications.\nNOTE: The files in the repo are not organized." + }, + { + "author": "eyekayem", + "title": "comfyui_runway_gen3", + "reference": "https://github.com/eyekayem/comfyui_runway_gen3", + "files": [ + "https://github.com/eyekayem/comfyui_runway_gen3" + ], + "install_type": "git-clone", + "description": "NODES: Runway Video Gen, Runway Video Preview" + }, + { + "author": "StartHua", + "title": "Comfyui_CXH_joy_caption [SECURITY SCREENING]", + "reference": "https://github.com/StartHua/Comfyui_CXH_joy_caption", + "files": [ + "https://github.com/StartHua/Comfyui_CXH_joy_caption" + ], + "install_type": "git-clone", + "description": "Nodes:Joy_caption_load, Joy_caption\nNOTE:This node pack has been transitioned to a security screening status due to policy." + }, + { + "author": "kijai", + "title": "ComfyUI-ComfyUI-Hunyuan3DWrapper [WIP]", + "reference": "https://github.com/kijai/ComfyUI-Hunyuan3DWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-Hunyuan3DWrapper" + ], + "install_type": "git-clone", + "description": "Wrapper nodes for https://github.com/Tencent/Hunyuan3D-2, additional installation steps needed, please check the github repository" + }, + { + "author": "7BEII", + "title": "comfyui-promptbymood [WIP]", + "reference": "https://github.com/7BEII/Comfyui_PDuse", + "files": [ + "https://github.com/7BEII/Comfyui_PDuse" + ], + "install_type": "git-clone", + "description": "NODES: PD_json_group_fontsize, PD_Incremental_JSON, PD_removeword, PD_Image Crop Location, PD_ImageConcanate, PD_FileName_refixer\nNOTE: The files in the repo are not organized." + }, + { + "author": "RLW-Chars", + "title": "comfyui-promptbymood [WIP]", + "reference": "https://github.com/RLW-Chars/comfyui-promptbymood", + "files": [ + "https://github.com/RLW-Chars/comfyui-promptbymood" + ], + "install_type": "git-clone", + "description": "A plugin for ComfyUI to create random prompts.\nNOTE: The files in the repo are not organized." + }, + { + "author": "mohamedsobhi777", + "title": "ComfyUI-FramerComfy [WIP]", + "reference": "https://github.com/mohamedsobhi777/ComfyUI-FramerComfy", + "files": [ + "https://github.com/mohamedsobhi777/ComfyUI-FramerComfy" + ], + "install_type": "git-clone", + "description": "NODES: FramerComfy Input String/Number/Image/Float/Boolean/Image, ...\nNOTE: The files in the repo are not organized." + }, + { + "author": "naderzare", + "title": "comfyui-inodes", + "reference": "https://github.com/naderzare/comfyui-inodes", + "files": [ + "https://github.com/naderzare/comfyui-inodes" + ], + "install_type": "git-clone", + "description": "NODES: If-Else, Multiline Split, Azure AI API" + }, + { + "author": "sizzlebop", + "title": "ComfyUI LLM Prompt Enhancer [WIP]", + "reference": "https://github.com/sizzlebop/comfyui-llm-prompt-enhancer", + "files": [ + "https://github.com/sizzlebop/comfyui-llm-prompt-enhancer" + ], + "install_type": "git-clone", + "description": "A powerful custom node for ComfyUI that enhances your prompts using various Language Learning Models (LLMs). This node supports multiple LLM providers and offers various enhancement styles to help you create better, more detailed prompts for image generation.\nNOTE: The files in the repo are not organized." + }, + { + "author": "a-One-Fan", + "title": "ComfyUI-Blenderesque-Nodes [WIP]", + "reference": "https://github.com/a-One-Fan/ComfyUI-Blenderesque-Nodes", + "files": [ + "https://github.com/a-One-Fan/ComfyUI-Blenderesque-Nodes" + ], + "install_type": "git-clone", + "description": "Blender-like nodes for ComfyUI." + }, + { + "author": "yanhuifair", + "title": "comfyui-deepseek [WIP]", + "reference": "https://github.com/yanhuifair/comfyui-deepseek", + "files": [ + "https://github.com/yanhuifair/comfyui-deepseek" + ], + "install_type": "git-clone", + "description": "nodes for deepseek api\nNOTE: The files in the repo are not organized." + }, + { + "author": "IfnotFr", + "title": "ComfyUI-Ifnot-Pack", + "reference": "https://github.com/IfnotFr/ComfyUI-Ifnot-Pack", + "files": [ + "https://github.com/IfnotFr/ComfyUI-Ifnot-Pack" + ], + "install_type": "git-clone", + "description": "NODES: Face Crop, [w/A pack of custom nodes used in my projects. Not intended to be used by other persons as the usage is not documented. But if something interests you in this repository, go for it !]" + }, + { + "author": "KihongK", + "title": "ComfyUI-RoysNodes [WIP]", + "reference": "https://github.com/KihongK/comfyui-roysnodes", + "files": [ + "https://github.com/KihongK/comfyui-roysnodes" + ], + "install_type": "git-clone", + "description": "WIP custom nodes for Creation of AI images & videos" + }, + { + "author": "catboxanon", + "title": "ComfyUI-Pixelsmith [WIP]", + "reference": "https://github.com/catboxanon/ComfyUI-Pixelsmith", + "files": [ + "https://github.com/catboxanon/ComfyUI-Pixelsmith" + ], + "install_type": "git-clone", + "description": "NODES: Pixelsmith" + }, + { + "author": "smthemex", + "title": "ComfyUI_MangaNinjia [WIP]", + "reference": "https://github.com/smthemex/ComfyUI_MangaNinjia", + "files": [ + "https://github.com/smthemex/ComfyUI_MangaNinjia" + ], + "install_type": "git-clone", + "description": "ComfyUI_MangaNinjia is a ComfyUI node of MangaNinja which is a Line Art Colorization with Precise Reference Following method.\nNOTE: invalid pyproject.toml file." + }, + { + "author": "hunterssl", + "title": "ComfyUI_SSLNodes", + "reference": "https://github.com/hunterssl/ComfyUI_SSLNodes", + "files": [ + "https://github.com/hunterssl/ComfyUI_SSLNodes" + ], + "install_type": "git-clone", + "description": "NODES: SSL Load Json, SSL Get Json Keys Count, SSL Load Checkpoint By Name, SSL Random Num In Loop, SSL Save Image Outside" + }, + { + "author": "ammahmoudi", + "title": "ComfyUI-Legendary-Nodes", + "reference": "https://github.com/ammahmoudi/ComfyUI-Legendary-Nodes", + "files": [ + "https://github.com/ammahmoudi/ComfyUI-Legendary-Nodes" + ], + "install_type": "git-clone", + "description": "NODES: Legendary Lora URL Loader, Legendary Lora URL Loader" + }, + { + "author": "yichengup", + "title": "Comfyui-NodeSpark", + "reference": "https://github.com/yichengup/Comfyui-NodeSpark", + "files": [ + "https://github.com/yichengup/Comfyui-NodeSpark" + ], + "install_type": "git-clone", + "description": "NODES: Image Circle Warp, Image Stretch, Image Wave Warp, Liquify Effect" + }, + { + "author": "kijai", + "title": "ComfyUI-VideoNoiseWarp [WIP]", + "reference": "https://github.com/kijai/ComfyUI-VideoNoiseWarp", + "files": [ + "https://github.com/kijai/ComfyUI-VideoNoiseWarp" + ], + "install_type": "git-clone", + "description": "Nodes to generate noise from video for [a/https://github.com/Eyeline-Research/Go-with-the-Flow](https://github.com/Eyeline-Research/Go-with-the-Flow)" + }, + { + "author": "muvich3n", + "title": "ComfyUI-Claude-I2T", + "reference": "https://github.com/muvich3n/ComfyUI-Claude-I2T", + "files": [ + "https://github.com/muvich3n/ComfyUI-Claude-I2T" + ], + "install_type": "git-clone", + "description": "NODES: Claude Image to Prompt Generator" + }, + { + "author": "maekawataiki", + "title": "ComfyUI-ALB-Login", + "reference": "https://github.com/maekawataiki/ComfyUI-ALB-Login", + "files": [ + "https://github.com/maekawataiki/ComfyUI-ALB-Login" + ], + "install_type": "git-clone", + "description": "Auth library to inspect token provided by ALB to protect ComfyUI." + }, + { + "author": "ArmandAlbert", + "title": "Kwai_font_comfyui", + "reference": "https://github.com/ArmandAlbert/Kwai_font_comfyui", + "files": [ + "https://github.com/ArmandAlbert/Kwai_font_comfyui" + ], + "install_type": "git-clone", + "description": "NODES: Kwaifont_Resnet50_Runner, Kwaifont_Resnet50_Loader, Kwaifont_Resnet101_Runner, Kwaifont_Resnet101_Loader, Kwaifont_Image_Cropper" + }, + { + "author": "SpatialDeploy", + "title": "ComfyUI-Voxels [WIP]", + "reference": "https://github.com/SpatialDeploy/ComfyUI-Voxels", + "files": [ + "https://github.com/SpatialDeploy/ComfyUI-Voxels" + ], + "install_type": "git-clone", + "description": "Tools for creating voxel based videos" + }, + { + "author": "PATATAJEC", + "title": "Patatajec-Nodes [WIP]", + "reference": "https://github.com/PATATAJEC/Patatajec-Nodes", + "files": [ + "https://github.com/PATATAJEC/Patatajec-Nodes" + ], + "install_type": "git-clone", + "description": "NODES: HyVid Switcher\nNOTE: The files in the repo are not organized." + }, + { + "author": "sourceful-official", + "title": "comfyui-sourceful-official", + "reference": "https://github.com/sourceful-official/comfyui-sourceful-official", + "files": [ + "https://github.com/sourceful-official/comfyui-sourceful-official" + ], + "description": "NODES: SourcefulOfficialComfyuiIncontextThreePanels, FalFluxLoraSourcefulOfficial, FalIcLightV2SourcefulOfficial", + "install_type": "git-clone" + }, + { + "author": "Alvaroeai", + "title": "ComfyUI-SunoAI-Mds", + "reference": "https://github.com/Alvaroeai/ComfyUI-SunoAI-Mds", + "files": [ + "https://github.com/Alvaroeai/ComfyUI-SunoAI-Mds" + ], + "install_type": "git-clone", + "description": "NODES: Suno Generate, Suno Download, Suno Proxy Generate, Suno Proxy Download" + }, + { + "author": "parmarjh", + "title": "ComfyUI-MochiWrapper-I2V [WIP]", + "reference": "https://github.com/parmarjh/ComfyUI-MochiWrapper-I2V", + "files": [ + "https://github.com/parmarjh/ComfyUI-MochiWrapper-I2V" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for [a/Mochi](https://github.com/genmoai/models) video generator" + }, + { + "author": "Symbiomatrix", + "title": "Comfyui-Sort-Files", + "reference": "https://github.com/Symbiomatrix/Comfyui-Sort-Files", + "files": [ + "https://github.com/Symbiomatrix/Comfyui-Sort-Files" + ], + "install_type": "git-clone", + "description": "Monkeypatch file sort to date modified or custom instead of lexicographic." + }, + { + "author": "x3bits", + "title": "ComfyUI-Power-Flow [UNSAFE]", + "reference": "https://github.com/x3bits/ComfyUI-Power-Flow", + "files": [ + "https://github.com/x3bits/ComfyUI-Power-Flow" + ], + "install_type": "git-clone", + "description": "A ComfyUI node package that introduces common programming logic to enhance the flexibility of ComfyUI workflows. It supports features such as function definition and execution, 'for' loops, 'while' loops, and Python code execution.\n[w/This extension allows the execution of arbitrary Python code from a workflow.]" + }, + { + "author": "EmilioPlumed", + "title": "ComfyUI-Math [WIP]", + "reference": "https://github.com/EmilioPlumed/ComfyUI-Math", + "files": [ + "https://github.com/EmilioPlumed/ComfyUI-Math" + ], + "install_type": "git-clone", + "description": "Custom nodes that take 2 float inputs and calculates greatest common denominator and least common multiple, returning them as ints.\nNOTE: The files in the repo are not organized." + }, + { + "author": "mliand", + "title": "ComfyUI-Calendar-Node [WIP]", + "reference": "https://github.com/mliand/ComfyUI-Calendar-Node", + "files": [ + "https://github.com/mliand/ComfyUI-Calendar-Node" + ], + "install_type": "git-clone", + "description": "A custom node for Comfyui to create a Calendar like grid\nNOTE: The files in the repo are not organized." + }, { "author": "phamngoctukts", "title": "ComyUI-Tupham", @@ -78,7 +1292,7 @@ "https://github.com/yanhuifair/ComfyUI-FairLab" ], "install_type": "git-clone", - "description": "NODES: CLIP Text Encode Translated, Translate String, Load Image From Folder, Save String To Folder, Fix UTF-8 String, String Combine, String Field, Download Image, Save Images To Folder, Save Image To Folder, Image Resize" + "description": "NODES: CLIP Text Encode Translated, Translate String, Load Image From Folder, Save String To Folder, Fix UTF-8 String, String Combine, String Field, Download Image, Save Images To Folder, Save Image To Folder, Image Resize, ..." }, { "author": "nomcycle", @@ -90,16 +1304,6 @@ "install_type": "git-clone", "description": "Very early W.I.P of clustered ComfyUI inference." }, - { - "author": "5x00", - "title": "ComfyUI-LLM-Concat [WIP]", - "reference": "https://github.com/5x00/ComfyUI-LLM-Concat", - "files": [ - "https://github.com/5x00/ComfyUI-LLM-Concat" - ], - "install_type": "git-clone", - "description": "Simple ComfyUI node to combine strings using ChatGPT / Claude. Can be helpful to combine multiple keywords into a single prompt.\nNOTE: The files in the repo are not organized." - }, { "author": "waynepimpzhang", "title": "FindBrightestSpot [WIP]", @@ -168,7 +1372,7 @@ "https://github.com/DraconicDragon/ComfyUI_e621_booru_toolkit" ], "install_type": "git-clone", - "description": "for now: just custom node(s) to fetch tags from a given danbooru (soon e621 too) post link\ncurrently only supports danbooru-style urls + api response formats\nthis repo is a rewrite of: [a/https://github.com/yffyhk/comfyui_auto_danbooru](https://github.com/yffyhk/comfyui_auto_danbooru)" + "description": "WIP. Nodes: Fetch e621/danbooru image and/or tags etc from a given URL; Get the Wiki entry for a tag through a button press." }, { "author": "Grey3016", @@ -309,7 +1513,7 @@ "https://github.com/warshanks/Shank-Tools" ], "install_type": "git-clone", - "description": "NODES: Tile Calculator" + "description": "NODES: Tile Calculator, Resolution Divider, Height & Width" }, { "author": "BaronVonBoolean", @@ -321,16 +1525,6 @@ "install_type": "git-clone", "description": "NODES: File Mv, File Path, File Dir.\n[w/This is dangerous as it provides the ability to manipulate arbitrary user files.]" }, - { - "author": "scottmudge", - "title": "ComfyUI_BiscuitNodes", - "reference": "https://github.com/scottmudge/ComfyUI_BiscuitNodes", - "files": [ - "https://github.com/scottmudge/ComfyUI_BiscuitNodes" - ], - "install_type": "git-clone", - "description": "Load Image From Path Using File Selector" - }, { "author": "JissiChoi", "title": "ComfyUI-Jissi-List [WIP]", @@ -430,7 +1624,7 @@ "https://github.com/jonnydolake/ComfyUI-AIR-Nodes" ], "install_type": "git-clone", - "description": "NODES: String List To Prompt Schedule, Force Minimum Batch Size, Target Location (Crop), Target Location (Paste)" + "description": "NODES: String List To Prompt Schedule, Force Minimum Batch Size, Target Location (Crop), Target Location (Paste), Image Composite Chained, Match Image Count To Mask Count, Random Character Prompts, Parallax Test, Easy Parallax, Parallax GPU Test" }, { "author": "watarika", @@ -734,16 +1928,6 @@ "install_type": "git-clone", "description": "a custom node for [a/Ultralight-Digital-Human](https://github.com/anliyuan/Ultralight-Digital-Human)\nNOTE: The files in the repo are not organized." }, - { - "author": "vahidzxc", - "title": "ComfyUI-My-Handy-Nodes", - "reference": "https://github.com/vahidzxc/ComfyUI-My-Handy-Nodes", - "files": [ - "https://github.com/vahidzxc/ComfyUI-My-Handy-Nodes" - ], - "install_type": "git-clone", - "description": "NODES:VahCropImage" - }, { "author": "StartHua", "title": "Comfyui_Flux_Style_Ctr [WIP]", @@ -967,16 +2151,6 @@ "install_type": "git-clone", "description": "NODES:Mask Size Calculator (MagicAI), Universal Mask Converter (MagicAI), Python Execution (MagicAI), Extract JSON From Text Node(MagicAI)\n[w/This extension allows the execution of arbitrary Python code from a workflow.]" }, - { - "author": "T8star1984", - "title": "comfyui-purgevram", - "reference": "https://github.com/T8star1984/comfyui-purgevram", - "files": [ - "https://github.com/T8star1984/comfyui-purgevram" - ], - "install_type": "git-clone", - "description": "NODES:PurgeVRAM.\nCan be added after any node to clean up vram and memory" - }, { "author": "Laser-one", "title": "ComfyUI-align-pose", @@ -997,16 +2171,6 @@ "install_type": "git-clone", "description": "To use stepfun's library, you need an official api that supports multimodal inputs such as video and pictures [a/https://platform.stepfun.com/request-restriction](https://platform.stepfun.com/request-restriction)" }, - { - "author": "attashe", - "title": "ComfyUI-FluxRegionAttention [WIP]", - "reference": "https://github.com/attashe/ComfyUI-FluxRegionAttention", - "files": [ - "https://github.com/attashe/ComfyUI-FluxRegionAttention" - ], - "install_type": "git-clone", - "description": "Implement Region Attention for Flux model" - }, { "author": "aria1th", "title": "ComfyUI-SkipCFGSigmas", @@ -1015,7 +2179,7 @@ "https://github.com/aria1th/ComfyUI-SkipCFGSigmas" ], "install_type": "git-clone", - "description": "NODES:CFGControl_SKIPCFG" + "description": "NODES: CFGControl_SKIPCFG" }, { "author": "Clelstyn", @@ -1065,7 +2229,7 @@ "https://github.com/oshtz/ComfyUI-oshtz-nodes" ], "install_type": "git-clone", - "description": "Custom nodes for ComfyUI created for some of my workflows.\nLLM All-in-One Node, String Splitter Node, LoRA Switcher Node, Image Overlay Node" + "description": "Custom nodes for ComfyUI created for some of my workflows.\nLLM All-in-One Node, String Splitter Node, LoRA Switcher Node, Image Overlay Node\nNOTE: The files in the repo are not organized." }, { "author": "m-ai-studio", @@ -1145,7 +2309,7 @@ "https://github.com/Poukpalaova/ComfyUI-FRED-Nodes" ], "install_type": "git-clone", - "description": "This repository contains custom nodes for ComfyUI. This is a work in progress (WIP).\nNOTE: The files in the repo are not organized." + "description": "Multiple nodes that ease the process.\nNOTE: The files in the repo are not organized." }, { "author": "blurymind", @@ -1185,7 +2349,7 @@ "https://github.com/rouxianmantou/comfyui-rxmt-nodes" ], "install_type": "git-clone", - "description": "NODES:Check Value Type" + "description": "NODES:Check Value Type, Why Prompt Text" }, { "author": "SirVeggie", @@ -1235,7 +2399,7 @@ "https://github.com/fablestudio/ComfyUI-Showrunner-Utils" ], "install_type": "git-clone", - "description": "NODES:Align Face, Generate Timestamp" + "description": "NODES: Align Face, Generate Timestamp, GetMostCommonColors, Alpha Crop and Position Image, Shrink Image" }, { "author": "monate0615", @@ -1278,11 +2442,11 @@ "description": "for preprocessing images, presented in a visual way. It also calculates the corresponding image area." }, { - "author": "void15700", + "author": "cwebbi1", "title": "VoidCustomNodes", - "reference": "https://github.com/void15700/VoidCustomNodes", + "reference": "https://github.com/cwebbi1/VoidCustomNodes", "files": [ - "https://github.com/void15700/VoidCustomNodes" + "https://github.com/cwebbi1/VoidCustomNodes" ], "install_type": "git-clone", "description": "NODES:Prompt Parser, String Combiner" @@ -1348,17 +2512,6 @@ "install_type": "copy", "description": "This platform extension provides ZhipuAI nodes, enabling you to configure a workflow for online video generation." }, - { - "author": "jetchopper", - "title": "ComfyUI-GeneraNodes", - "id": "genera", - "reference": "https://github.com/evolox/ComfyUI-GeneraNodes", - "files": [ - "https://github.com/evolox/ComfyUI-GeneraNodes" - ], - "install_type": "git-clone", - "description": "Genera custom nodes and extensions" - }, { "author": "HavocsCall", "title": "comfyui_HavocsCall_Custom_Nodes", @@ -1580,16 +2733,6 @@ "install_type": "git-clone", "description": "ComfyUI-OpenAINode is a user-friendly node that serves as an interface to the OpenAI Models.[w/Repo name conflict with Electrofried/ComfyUI-OpenAINode]" }, - { - "author": "hgabha", - "title": "WWAA-CustomNodes", - "reference": "https://github.com/hgabha/WWAA-CustomNodes", - "files": [ - "https://github.com/hgabha/WWAA-CustomNodes" - ], - "install_type": "git-clone", - "description": "Custom Nodes for ComfyUI made by the team at [a/WeirdWonderfulAI.Art](https://weirdwonderfulai.art/) These are developed based on the needs where there was a gap to make our workflows better. You are welcome to use it as you see fit." - }, { "author": "IgPoly", "title": "ComfyUI-igTools", @@ -1829,7 +2972,7 @@ "https://github.com/jimstudt/ComfyUI-Jims-Nodes" ], "install_type": "git-clone", - "description": "Zoom and Enhance Nodes, Text Dictionary Nodes" + "description": "NODES: Zoom and Enhance Nodes, Text To String List, Choose String, Define Word, Lookup Word, Substitute Words, Dictionary to JSON, JSON file to Dictionary, JSON to Dictionary, Load Image And Info From Path, CubbyHack, Image to Solid Background" }, { "author": "hananbeer", @@ -1924,13 +3067,14 @@ }, { "author": "chrisdreid", - "title": "ComfyUI_EnvAutopsyAPI [UNSAFE]", + "title": "ComfyUI_EnvAutopsyAPI Debugger [UNSAFE]", + "id": "chrisdreid", "reference": "https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI", "files": [ "https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI" ], "install_type": "git-clone", - "description": "ComfyUI_EnvAutopsyAPI is a powerful debugging tool designed for ComfyUI that provides in-depth analysis of your environment and dependencies through an API interface. This tool allows you to inspect environment variables, pip packages, and dependency trees, making it easier to diagnose and resolve issues in your ComfyUI setup.[w/This tool may expose sensitive system information if used on a public server. MUST READ [a/THIS](https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI#%EF%B8%8F-warning-security-risk-%EF%B8%8F) before install.]" + "description": "A powerful debugging tool designed to provide in-depth analysis of your environment and dependencies by exposing API endpoints. This tool allows you to inspect environment variables, pip packages, python info and dependency trees, making it easier to diagnose and resolve issues in your ComfyUI setup.[w/This tool may expose sensitive system information if used on a public server]" }, { "author": "Futureversecom", @@ -2045,16 +3189,6 @@ "install_type":"git-clone", "description":"The ComfyUI code is under review in the official repository. Meanwhile, a temporary version is available below for immediate community use. We welcome users to try our workflow and appreciate any inquiries or suggestions." }, - { - "author": "JichaoLiang", - "title": "Immortal_comfyUI", - "reference": "https://github.com/JichaoLiang/Immortal_comfyUI", - "files":[ - "https://github.com/JichaoLiang/Immortal_comfyUI" - ], - "install_type":"git-clone", - "description":"Nodes: NewNode, AppendNode, MergeNode, SetProperties, SaveToDirectory, ..." - }, { "author": "melMass", "title": "ComfyUI-Lygia", @@ -2180,17 +3314,6 @@ "install_type": "git-clone", "description": "Stable Diffusion is an image generation technique based on diffusion models. Its core idea involves simulating diffusion processes by iteratively adding noise and using neural networks to predict and remove the noise, thereby generating high-quality images. This approach is not limited to image generation; with appropriate network architecture and training data, it can be adapted for various other tasks. The application of neural networks extends beyond image generation. By adjusting network structures and loss functions, neural networks can also perform tasks such as classification and regression. This flexibility makes neural networks a powerful tool for handling a wide range of machine learning tasks. This project aims to expand custom neural network layers (such as linear layers, convolutional layers, etc.) within ComfyUI and provide simplified task training functionalities. Through this project, users can easily construct custom neural network layers and perform training in ComfyUI using a graphical interface." }, - { - "author": "alexgenovese", - "title": "comfyui_CfgPlusPlus [WIP]", - "id": "cfgpp", - "reference": "https://gitea.com/NotEvilGirl/cfgpp", - "files": [ - "https://gitea.com/NotEvilGirl/cfgpp" - ], - "install_type": "git-clone", - "description": "CFG++ implemented according to [a/https://cfgpp-diffusion.github.io](https://cfgpp-diffusion.github.io). Basically modified DDIM sampler that makes sampling work at low CFG values (0 ~ 2). Read the CFG++ paper for more details" - }, { "author": "Fucci-Mateo", "title": "ComfyUI-Airtable [WIP]", @@ -3337,16 +4460,6 @@ "install_type": "git-clone", "description": "Unofficial ComfyUI extension of clip-interrogator" }, - { - "author": "prismwastaken", - "title": "prism-tools", - "reference": "https://github.com/prismwastaken/prism-comfyui-tools", - "files": [ - "https://github.com/prismwastaken/prism-comfyui-tools" - ], - "install_type": "git-clone", - "description": "prism-tools" - }, { "author": "poisenbery", "title": "NudeNet-Detector-Provider [WIP]", @@ -3557,16 +4670,6 @@ "install_type": "git-clone", "description": "Image manipulation nodes, Temperature control nodes, Tiling nodes, Primitive and operation nodes, ..." }, - { - "author": "PluMaZero", - "title": "ComfyUI-SpaceFlower", - "reference": "https://github.com/PluMaZero/ComfyUI-SpaceFlower", - "files": [ - "https://github.com/PluMaZero/ComfyUI-SpaceFlower" - ], - "install_type": "git-clone", - "description": "Nodes: SpaceFlower_Prompt, SpaceFlower_HangulPrompt, ..." - }, { "author": "laksjdjf", "title": "ssd-1b-comfyui", diff --git a/node_db/dev/extension-node-map.json b/node_db/dev/extension-node-map.json index 662ed3b7..5de763ee 100644 --- a/node_db/dev/extension-node-map.json +++ b/node_db/dev/extension-node-map.json @@ -1,12 +1,4 @@ { - "https://gitea.com/NotEvilGirl/cfgpp": [ - [ - "CFG++" - ], - { - "title_aux": "comfyui_CfgPlusPlus [WIP]" - } - ], "https://github.com/17Retoucher/ComfyUI_Fooocus": [ [ "BasicScheduler", @@ -154,22 +146,6 @@ "title_aux": "ComfyUI_Fooocus" } ], - "https://github.com/5x00/ComfyUI-LLM-Concat": [ - [ - "LoadAPI", - "LoadCustomModel", - "LoadFlorenceModel", - "Prompt", - "RunAPIVLM", - "RunCustomVLM", - "TriggerToPromptAPI", - "TriggerToPromptCustom", - "TriggerToPromptSimple" - ], - { - "title_aux": "ComfyUI-LLM-Concat [WIP]" - } - ], "https://github.com/5x00/ComfyUI-Prompt-Plus": [ [ "LoadAPI", @@ -186,6 +162,20 @@ "title_aux": "ComfyUI-Prompt-Plus [WIP]" } ], + "https://github.com/7BEII/Comfyui_PDuse": [ + [ + "BatchJsonIncremental", + "FileName_refixer", + "PD_ImageConcanate", + "PD_Image_Crop_Location", + "PD_RemoveColorWords", + "ReadTxtFiles", + "json_group_fontsize" + ], + { + "title_aux": "comfyui-promptbymood [WIP]" + } + ], "https://github.com/A4P7J1N7M05OT/ComfyUI-ManualSigma": [ [ "ManualSigma" @@ -331,6 +321,7 @@ "> Rotate Image", "> Saturation", "> Save Image", + "> Save Text", "> Scale Image to Side", "> Scanlines", "> Sharpen", @@ -359,6 +350,107 @@ "title_aux": "comfyui-textools [WIP]" } ], + "https://github.com/AhBumm/ComfyUI-Upscayl": [ + [ + "Upscayl Upscaler" + ], + { + "nodename_pattern": "\\(BillBum\\)$", + "title_aux": "ComfyUI-Upscayl" + } + ], + "https://github.com/AkiEvansDev/ComfyUI-Tools": [ + [ + "AE.AnySwitch", + "AE.AnyTypeSwitch", + "AE.BRIARemBG", + "AE.BRIARemBGAdvanced", + "AE.ChangeSamplerConfig", + "AE.CheckpointList", + "AE.CheckpointLoader", + "AE.CompareFloat", + "AE.CompareInt", + "AE.ControlNetApplyWithConfig", + "AE.ControlNetConfig", + "AE.DisplayAny", + "AE.ExtractControlNetConfig", + "AE.ExtractHiresFixConfig", + "AE.ExtractImg2ImgConfig", + "AE.ExtractOutpaintConfig", + "AE.ExtractSamplerConfig", + "AE.Float", + "AE.FloatList", + "AE.FloatSwitch", + "AE.FloatToInt", + "AE.GaussianBlurMask", + "AE.GetImageSize", + "AE.GetLatentSize", + "AE.GroupsMuter", + "AE.HiresFixConfig", + "AE.ImageAdjustment", + "AE.ImageBlank", + "AE.ImageBlendMask", + "AE.ImageBlendMode", + "AE.ImageCannyFilter", + "AE.ImageDragonFilter", + "AE.ImageHighPassFilter", + "AE.ImageLevels", + "AE.ImageLucySharpen", + "AE.ImagePixelate", + "AE.ImagePowerNoise", + "AE.ImageStyleFilter", + "AE.Img2ImgConfig", + "AE.InpaintWithModel", + "AE.Int", + "AE.IntList", + "AE.IntSwitch", + "AE.IntToFloat", + "AE.KSamplerHiresFixWithConfig", + "AE.KSamplerImg2ImgWithConfig", + "AE.KSamplerInpaintWithConfig", + "AE.KSamplerOutpaintWithConfig", + "AE.KSamplerOutpaintWithConfigAndImage", + "AE.KSamplerWithConfig", + "AE.LoadImageFromPath", + "AE.LoadInpaintModel", + "AE.LoraLoader", + "AE.LorasList", + "AE.LorasLoader", + "AE.MathFloat", + "AE.MathInt", + "AE.OutpaintConfig", + "AE.OutpaintWithModel", + "AE.OutpaintWithModelAndConfig", + "AE.Range", + "AE.RangeList", + "AE.SDXLConfig", + "AE.SDXLPrompt", + "AE.SDXLPromptWithHires", + "AE.SDXLRegionalPrompt", + "AE.SDXLRegionalPromptWithHires", + "AE.SamplerConfig", + "AE.SamplerList", + "AE.SaveImage", + "AE.SchedulerList", + "AE.Seed", + "AE.String", + "AE.StringConcat", + "AE.StringEquals", + "AE.StringLength", + "AE.StringList", + "AE.StringReplace", + "AE.StringSwitch", + "AE.Text", + "AE.ToString", + "AE.ToStringConcat", + "AE.UpscaleLatentBy", + "AE.VAEEncodeInpaintConditioning", + "AE.XYRange" + ], + { + "title_aux": "ComfyUI-Tools" + } + ], "https://github.com/AlexXi19/ComfyUI-OpenAINode": [ [ "ImageWithPrompt", @@ -390,6 +482,17 @@ "title_aux": "ComfyUI-Xorbis-nodes [WIP]" } ], + "https://github.com/Alvaroeai/ComfyUI-SunoAI-Mds": [ + [ + "Mideas_SunoAI_AudioManager", + "Mideas_SunoAI_Generator", + "Mideas_SunoAI_ProxyDownloadNode", + "Mideas_SunoAI_ProxyNode" + ], + { + "title_aux": "ComfyUI-SunoAI-Mds" + } + ], "https://github.com/Anze-/ComfyUI-OIDN": [ [ "OIDN Denoise" @@ -406,6 +509,18 @@ "title_aux": "ComfyUI_deepDeband [WIP]" } ], + "https://github.com/ArmandAlbert/Kwai_font_comfyui": [ + [ + "Kwaifont_Image_Cropper", + "Kwaifont_Resnet101_Loader", + "Kwaifont_Resnet101_Runner", + "Kwaifont_Resnet50_Loader", + "Kwaifont_Resnet50_Runner" + ], + { + "title_aux": "Kwai_font_comfyui" + } + ], "https://github.com/ArthusLiang/comfyui-face-remap": [ [ "FaceRemap" @@ -539,16 +654,31 @@ "title_aux": "ComfyUI_bd_customNodes" } ], + "https://github.com/BuffMcBigHuge/ComfyUI-Buff-Nodes": [ + [ + "ConsoleOutput", + "FilePathSelectorFromDirectory", + "StringProcessor" + ], + { + "title_aux": "ComfyUI-Buff-Nodes [WIP]" + } + ], "https://github.com/Chargeuk/ComfyUI-vts-nodes": [ [ "VTS Clean Text", "VTS Clip Text Encode", "VTS Color Mask To Mask", "VTS Conditioning Set Batch Mask", + "VTS Create Character Mask", "VTS Images Crop From Masks", + "VTS Images Scale", + "VTS Images Scale To Min", "VTS Merge Delimited Text", "VTS Reduce Batch Size", + "VTS Render People Kps", "VTS To Text", + "VTS_Load_Pose_Keypoints", "Vts Text To Batch Prompt" ], { @@ -592,14 +722,23 @@ "DevToolsErrorRaiseNodeWithMessage", "DevToolsExperimentalNode", "DevToolsLongComboDropdown", + "DevToolsMultiSelectNode", + "DevToolsNodeWithBooleanInput", "DevToolsNodeWithForceInput", "DevToolsNodeWithOnlyOptionalInput", + "DevToolsNodeWithOptionalComboInput", "DevToolsNodeWithOptionalInput", + "DevToolsNodeWithOutputCombo", "DevToolsNodeWithOutputList", "DevToolsNodeWithSeedInput", "DevToolsNodeWithStringInput", "DevToolsNodeWithUnionInput", "DevToolsObjectPatchNode", + "DevToolsRemoteWidgetNode", + "DevToolsRemoteWidgetNodeWithControlAfterRefresh", + "DevToolsRemoteWidgetNodeWithParams", + "DevToolsRemoteWidgetNodeWithRefresh", + "DevToolsRemoteWidgetNodeWithRefreshButton", "DevToolsSimpleSlider" ], { @@ -614,6 +753,14 @@ "title_aux": "ComfyUI OpenAI Nodes" } ], + "https://github.com/D1-3105/ComfyUI-VideoStream": [ + [ + "FloWWeaverExportSingleFrameGRPC" + ], + { + "title_aux": "ComfyUI-VideoStream" + } + ], "https://github.com/DataCTE/ComfyUI-DataVoid-nodes": [ [ "IPAAdapterFaceIDBatch", @@ -689,12 +836,20 @@ "https://github.com/DraconicDragon/ComfyUI_e621_booru_toolkit": [ [ "GetBooruPost", - "TagEncode" + "TagWikiFetch" ], { "title_aux": "ComfyUI e621 booru Toolkit" } ], + "https://github.com/Dreamshot-io/ComfyUI-Extend-Resolution": [ + [ + "ResolutionPadding" + ], + { + "title_aux": "ComfyUI-Extend-Resolution" + } + ], "https://github.com/Eagle-CN/ComfyUI-Addoor": [ [ "AD_AnyFileList", @@ -722,6 +877,7 @@ "AD_mockup-maker", "AD_poster-maker", "AD_prompt-saver", + "ImageCaptioner", "ImageResize", "Incrementer \ud83e\udeb4", "TextAppendNode", @@ -747,6 +903,40 @@ "title_aux": "ComfyUI-MusicGen [WIP]" } ], + "https://github.com/Elypha/ComfyUI-Prompt-Helper": [ + [ + "PromptHelper_CombineConditioning", + "PromptHelper_ConcatConditioning", + "PromptHelper_ConcatString", + "PromptHelper_EncodeMultiStringCombine", + "PromptHelper_FormatString", + "PromptHelper_LoadPreset", + "PromptHelper_LoadPresetAdvanced", + "PromptHelper_String", + "PromptHelper_StringMultiLine", + "PromptHelper_WeightedPrompt" + ], + { + "title_aux": "ComfyUI-Prompt-Helper [WIP]" + } + ], + "https://github.com/EmanueleUniroma2/ComfyUI-FLAC-to-WAV": [ + [ + "AudioToWavConverter" + ], + { + "title_aux": "ComfyUI-FLAC-to-WAV [WIP]" + } + ], + "https://github.com/EmilioPlumed/ComfyUI-Math": [ + [ + "GreatestCommonDenominator", + "LowestCommonMultiple" + ], + { + "title_aux": "ComfyUI-Math [WIP]" + } + ], "https://github.com/ExponentialML/ComfyUI_LiveDirector": [ [ "LiveDirector" @@ -872,6 +1062,30 @@ "title_aux": "comfyui_HavocsCall_Custom_Nodes" } ], + "https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit": [ + [ + "DeepSeekImageAnalyst", + "DeepSeekImageGeneration", + "DeepSeekModelLoader", + "ImagePreprocessor", + "LLM_Loader", + "OpenAICompatibleLoader", + "VideoFileUploader" + ], + { + "title_aux": "ComfyUI-DeepSeek-Toolkit [WIP]" + } + ], + "https://github.com/IfnotFr/ComfyUI-Ifnot-Pack": [ + [ + "Face Crop", + "Face Crop Mouth", + "Get Beard Mask" + ], + { + "title_aux": "ComfyUI-Ifnot-Pack" + } + ], "https://github.com/IgPoly/ComfyUI-igTools": [ [ "IGT_SimpleTilesCalc" @@ -909,40 +1123,6 @@ "title_aux": "comfyui-terminal-command [UNSAFE]" } ], - "https://github.com/JichaoLiang/Immortal_comfyUI": [ - [ - "AppendNode", - "CombineVideos", - "ImAppendFreeChatAction", - "ImAppendImageActionNode", - "ImAppendQuickbackNode", - "ImAppendQuickbackVideoNode", - "ImAppendVideoNode", - "ImDumpEntity", - "ImDumpNode", - "ImLoadPackage", - "ImNodeTitleOverride", - "ImSetActionKeywordMapping", - "MergeNode", - "NewNode", - "Node2String", - "OllamaChat", - "SaveImagePath", - "SaveToDirectory", - "SetEvent", - "SetNodeMapping", - "SetProperties", - "String2Node", - "TurnOnOffNodeOnEnter", - "batchNodes", - "grepNodeByText", - "mergeEntityAndPointer", - "redirectToNode" - ], - { - "title_aux": "Immortal_comfyUI" - } - ], "https://github.com/Jiffies-64/ComfyUI-SaveImagePlus": [ [ "SaveImagePlus" @@ -982,6 +1162,29 @@ "title_aux": "ComfyUI-PNG2SVG2PNG" } ], + "https://github.com/Kayarte/Time-Series-Nodes-for-ComfyUI": [ + [ + "DomainTimeSeriesPrep", + "TimeSeriesLoader", + "TimeSeriesPredictor" + ], + { + "title_aux": "Time Series Nodes for ComfyUI [Experimental]" + } + ], + "https://github.com/KihongK/comfyui-roysnodes": [ + [ + "CLIPMultiTextEncode", + "Create_ConditionLoRA", + "Create_ConditionLoRA_MainPrompt", + "Load_ConditionLoRA", + "OpenAI_Summarize", + "Unzip_ConditionLoRA" + ], + { + "title_aux": "ComfyUI-RoysNodes [WIP]" + } + ], "https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack": [ [ "Brightness Image", @@ -1003,6 +1206,83 @@ "title_aux": "ComfyUI Production Nodes Pack [WIP]" } ], + "https://github.com/Krish-701/RK_Comfyui": [ + [ + "RK_Accumulate_Text_Multiline", + "RK_Accumulate_Text_Multiline_Numbered", + "RK_Advanced_Script_Finder", + "RK_CSV_File_State_Looper_v01", + "RK_CSV_File_State_Looper_v02", + "RK_Calc", + "RK_Concatenate_Text", + "RK_Excel_File_State_Looper", + "RK_ImageViewer", + "RK_Read_Excel_Row", + "RK_Write_Text", + "RK_seed", + "rk_save_image", + "rk_save_image_v01" + ], + { + "title_aux": "RK_Comfyui" + } + ], + "https://github.com/KurtHokke/ComfyUI_KurtHokke-Nodes": [ + [ + "AIO_Tuner_Pipe", + "ApplyCondsExtraOpts", + "BashScriptNode", + "BooleanFromPipe", + "BooleanToPipe", + "COND_ExtraOpts", + "COND_ExtraOpts_2", + "COND_SET_STRENGTH_ExtraOpts", + "ChainTextEncode", + "CkptPipe", + "CompareTorch", + "DynamicThresholding", + "DynamicThresholdingBasic", + "EmptyLatentSize", + "EmptyLatentSize64", + "ExecutePythonNode", + "ExpMath", + "ExpMathDual", + "ExpMathQuad", + "InspectNode", + "LoadUnetAndClip", + "LoraFluxParams", + "MergeExtraOpts", + "ModelPipe1", + "ModelPipe2", + "NoModel_CkptLoader", + "NoNegExtraOpts", + "Node_BOOL", + "Node_Float", + "Node_INT", + "Node_RandomRange", + "Node_String", + "Node_StringMultiline", + "SEED_ExtraOpts", + "SamplerCustomAdvanced_Pipe", + "SamplerSel", + "SchedulerSel", + "SedOnString", + "UnetClipLoraLoader", + "UnetClipLoraLoaderBasic", + "VAE_ExtraOpts", + "ViewExtraOpts", + "batchsize_ExtraOpts", + "get_lora_metadata", + "mycombine", + "re_sub_str", + "splitcond", + "str_str", + "str_str_str_str" + ], + { + "title_aux": "ComfyUI_KurtHokke-Nodes" + } + ], "https://github.com/LZpenguin/ComfyUI-Text": [ [ "Add_text_by_mask" @@ -1048,6 +1328,7 @@ ], "https://github.com/LotzF/ComfyUI-Simple-Chat-GPT-completion": [ [ + "AzureChatGptCompletion", "ChatGPTCompletion" ], { @@ -1127,6 +1408,23 @@ "title_aux": "ComfyUI Nodes for Inference.Core" } ], + "https://github.com/M4lF3s/comfy-tif-support": [ + [ + "Load TIFF", + "Save TIFF" + ], + { + "title_aux": "comfy-tif-support" + } + ], + "https://github.com/ManuShamil/ComfyUI_BodyEstimation_Nodes": [ + [ + "CogitareLabsPoseIDExtractor" + ], + { + "title_aux": "ComfyUI_BodyEstimation_Nodes" + } + ], "https://github.com/Matrix-King-Studio/ComfyUI-MoviePy": [ [ "AudioDurationNode", @@ -1149,6 +1447,50 @@ "title_aux": "ComfyUI-MS_Tools [WIP]" } ], + "https://github.com/MickeyJ/ComfyUI_mickster_nodes": [ + [ + "Image Size Scaled", + "ImageSwitchSelect" + ], + { + "title_aux": "ComfyUI_mickster_nodes [WIP]" + } + ], + "https://github.com/MockbaTheBorg/ComfyUI-Mockba": [ + [ + "mb Barcode", + "mb CLIP Text Encoder", + "mb Debug", + "mb Demux", + "mb Empty Latent Image", + "mb Eval", + "mb Exec", + "mb File to Image", + "mb File to Text", + "mb Hash Generator", + "mb Image Batch", + "mb Image Dimensions", + "mb Image Dither", + "mb Image Flip", + "mb Image Load", + "mb Image Load from URL", + "mb Image Preview", + "mb Image Rotate", + "mb Image Size", + "mb Image Subtract", + "mb Image to File", + "mb KSampler", + "mb Select", + "mb String", + "mb Text", + "mb Text or File", + "mb Text to File", + "mb Textbox" + ], + { + "title_aux": "ComfyUI-Mockba" + } + ], "https://github.com/MrAdamBlack/CheckProgress": [ [ "CHECK_PROGRESS" @@ -1165,13 +1507,105 @@ "title_aux": "ComfyUI-APG_ImYourCFGNow" } ], - "https://github.com/PluMaZero/ComfyUI-SpaceFlower": [ + "https://github.com/NEZHA625/ComfyUI-tools-by-dong": [ [ - "SpaceFlower_HangulPrompt", - "SpaceFlower_Prompt" + "A1111_FLUX_DATA_NODE", + "CategorizeNode", + "Data_handle_Node", + "DeepSeek_Node", + "Delay_node", + "Delete_folder_Node", + "DongShowTextNode", + "Dong_Pixelate_Node", + "Dong_Text_Node", + "Downloader", + "FileMoveNode", + "FolderIteratorNODE", + "Get_cookies_Node", + "Get_json_value_Node", + "Get_video_Node", + "HashCalculationsNode", + "HuggingFaceUploadNode", + "IMG2URLNode", + "Image2GIFNode", + "ImageDownloader", + "ImageResizeNode", + "LibLib_upload_Node", + "LogicToolsNode", + "LoraIterator", + "Notice_Node", + "PromptConcatNode", + "RandomNumbersNode", + "RenameNode", + "ResolutionNode", + "SaveTXTNode", + "SetAppidNode", + "TextToJsonNode", + "TranslateAPINode", + "Wan21_get_Node", + "Wan21_post_Node", + "ZIPwith7zNode", + "cogvideox_flash_get_Node", + "cogvideox_flash_post_Node", + "cogview_3_flash_Node", + "file_analysis_Node", + "find_files_by_extension_Node", + "img_understanding_Node", + "klingai_video_Node", + "path_join_Node", + "save_img_NODE", + "set_api_Node", + "text_replace_node" ], { - "title_aux": "ComfyUI-SpaceFlower" + "title_aux": "ComfyUI-tools-by-dong [UNSAFE]" + } + ], + "https://github.com/Nambi24/ComfyUI-Save_Image": [ + [ + "ExtractLastPathComponent", + "SaveImageNode" + ], + { + "title_aux": "ComfyUI-Save_Image" + } + ], + "https://github.com/Northerner1/ComfyUI_North_Noise": [ + [ + "North_Noise" + ], + { + "title_aux": "ComfyUI_North_Noise [WIP]" + } + ], + "https://github.com/OSAnimate/ComfyUI-SpriteSheetMaker": [ + [ + "SpriteSheetMaker" + ], + { + "title_aux": "ComfyUI-SpriteSheetMaker [WIP]" + } + ], + "https://github.com/PATATAJEC/Patatajec-Nodes": [ + [ + "FilePrefixSwitcher", + "HyvidSwitcher", + "ImageSequenceFromBatch", + "MidiReader", + "MidiToFrameSequences", + "VideoCounter", + "VideoSequencer" + ], + { + "title_aux": "Patatajec-Nodes [WIP]" + } + ], + "https://github.com/Pablerdo/ComfyUI-Sa2VAWrapper": [ + [ + "GetCaptionFromImages" + ], + { + "title_aux": "ComfyUI-Sa2VAWrapper [WIP]" } ], "https://github.com/Poseidon-fan/ComfyUI-fileCleaner": [ @@ -1235,6 +1669,22 @@ "title_aux": "ComfyUI-QuasimondoNodes [WIP]" } ], + "https://github.com/RLW-Chars/comfyui-promptbymood": [ + [ + "Prompt By Mood" + ], + { + "title_aux": "comfyui-promptbymood [WIP]" + } + ], + "https://github.com/RUFFY-369/ComfyUI-FeatureBank": [ + [ + "FeatureBankAttentionProcessor" + ], + { + "title_aux": "ComfyUI-FeatureBank" + } + ], "https://github.com/RicherdLee/comfyui-oss-image-save": [ [ "SaveImageOSS" @@ -1245,13 +1695,33 @@ ], "https://github.com/RobeSantoro/ComfyUI-RobeNodes": [ [ + "Boolean Primitive \ud83d\udc24", + "Image Input Switch \ud83d\udc24", "List Image Path \ud83d\udc24", - "List Video Path \ud83d\udc24" + "List Model Path \ud83d\udc24", + "List Video Path \ud83d\udc24", + "Peaks Weights Generator \ud83d\udc24" ], { "title_aux": "Comfy UI Robe Nodes [UNSAFE]" } ], + "https://github.com/RoyKillington/miscomfy-nodes": [ + [ + "VeniceUpscale" + ], + { + "title_aux": "Miscomfy Nodes [WIP]" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-Folder-Images-Preview": [ + [ + "FolderImagesPreview" + ], + { + "title_aux": "ComfyUI-Folder-Images-Preview [UNSAFE]" + } + ], "https://github.com/SS-snap/ComfyUI-Snap_Processing": [ [ "AreaCalculator", @@ -1296,13 +1766,28 @@ "title_aux": "ComfyUI_Save2Discord" } ], + "https://github.com/Scaryplasmon/ComfTrellis": [ + [ + "LoadTrellisModel", + "RembgSquare", + "SaveGLBFile", + "TrellisGrid", + "TrellisInference" + ], + { + "title_aux": "ComfTrellis [WIP]" + } + ], "https://github.com/SeedV/ComfyUI-SeedV-Nodes": [ [ + "ALL_Model_UnLoader(SEEDV)", "AdvancedScript", "CheckpointLoaderSimpleShared //SeedV", "ControlNetLoaderAdvancedShared", "LoraLoader //SeedV", - "Script" + "Script", + "Switch_Any(SEEDV)", + "TCD_Sampler(SEEDV)" ], { "title_aux": "ComfyUI-SeedV-Nodes [UNSAFE]" @@ -1327,6 +1812,7 @@ "https://github.com/Shinsplat/ComfyUI-Shinsplat": [ [ "Clip Text Encode (Shinsplat)", + "Clip Text Encode ALT (Shinsplat)", "Clip Text Encode SD3 (Shinsplat)", "Clip Text Encode SDXL (Shinsplat)", "Clip Text Encode T5 (Shinsplat)", @@ -1359,7 +1845,8 @@ "FreeMemoryCLIP", "FreeMemoryImage", "FreeMemoryLatent", - "FreeMemoryModel" + "FreeMemoryModel", + "FreeMemoryString" ], { "title_aux": "ComfyUI-FreeMemory" @@ -1376,6 +1863,16 @@ "title_aux": "ComfyUI-PIL" } ], + "https://github.com/Solankimayursinh/PMSnodes": [ + [ + "InputAnalyzer", + "LoadBase64Audio", + "PMSSendAudio" + ], + { + "title_aux": "PMSnodes" + } + ], "https://github.com/Soppatorsk/comfyui_img_to_ascii": [ [ "Img_to_ASCII" @@ -1392,6 +1889,15 @@ "title_aux": "ComfyUI_Remaker_FaceSwap" } ], + "https://github.com/SpatialDeploy/ComfyUI-Voxels": [ + [ + "MeshToVoxelGrid", + "VoxelGridsToVoxelVideo" + ], + { + "title_aux": "ComfyUI-Voxels [WIP]" + } + ], "https://github.com/StartHua/Comfyui_CSDMT_CXH": [ [ "CSD" @@ -1408,6 +1914,32 @@ "title_aux": "Comfyui_CXH_CRM" } ], + "https://github.com/StartHua/Comfyui_CXH_joy_caption": [ + [ + "CXH_DownloadAndLoadFlorence2Model", + "CXH_Florence2Run", + "CXH_HG_Model_Load", + "CXH_IC_Lora_Florence2Run", + "CXH_IC_lora_reversal", + "CXH_Ic_lora_Joy_batch", + "CXH_Min2_6_classifiy", + "CXH_Min2_6_prompt_Run", + "CXH_MinCP3_4B_Chat", + "CXH_MinCP3_4B_Load", + "CXH_SmolVlm_Load", + "CXH_SmolVlm_Run", + "Joy_caption", + "Joy_caption_alpha_batch", + "Joy_caption_alpha_batch_Dirs", + "Joy_caption_alpha_load", + "Joy_caption_alpha_prompt", + "Joy_caption_alpha_run", + "Joy_caption_load" + ], + { + "title_aux": "Comfyui_CXH_joy_caption [SECURITY SCREENING]" + } + ], "https://github.com/StartHua/Comfyui_Flux_Style_Ctr": [ [ "CXH_StyleModelApply" @@ -1425,12 +1957,15 @@ "title_aux": "Comfyui_leffa" } ], - "https://github.com/T8star1984/comfyui-purgevram": [ + "https://github.com/StoryWalker/comfyui_flux_collection_advanced": [ [ - "PurgeVRAM" + "Example", + "FluxImageUpscaler", + "FluxLoader", + "FluxTextPrompt" ], { - "title_aux": "comfyui-purgevram" + "title_aux": "comfyui_flux_collection_advanced [WIP]" } ], "https://github.com/TSFSean/ComfyUI-TSFNodes": [ @@ -1449,6 +1984,38 @@ "title_aux": "ComfyUI Instructor Ollama" } ], + "https://github.com/UD1sto/plugin-utils-nodes": [ + [ + "FrameBlend", + "ImageReferenceUpdate", + "ImageSelector", + "KeypointComparator", + "KeypointComparatorNode", + "KeypointsInput", + "KeypointsInputNode", + "KeypointsToPose", + "KeypointsToPoseNode", + "PoseDatabase", + "PoseDatabaseVisualizer", + "PoseDifference", + "PoseEstimator", + "PoseEstimatorNode", + "SimHashCompare", + "TemporalConsistency" + ], + { + "title_aux": "plugin-utils-nodes" + } + ], + "https://github.com/Velour-Fog/comfy-latent-nodes": [ + [ + "CustomLoadLatent", + "CustomSaveLatent" + ], + { + "title_aux": "comfy-latent-nodes [UNSAFE]" + } + ], "https://github.com/Video3DGenResearch/comfyui-batch-input-node": [ [ "BatchImageAndPrompt", @@ -1502,6 +2069,16 @@ "title_aux": "visuallabs_comfyui_nodes" } ], + "https://github.com/Yeonri/ComfyUI_LLM_Are_You_Listening": [ + [ + "AYL_API_Node", + "AYL_GGUF_Node", + "AYL_Node" + ], + { + "title_aux": "ComfyUI_LLM_Are_You_Listening [WIP]" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-AuraSR-ZHO": [ [ "AuraSR_Lterative_Zho", @@ -1529,6 +2106,67 @@ "title_aux": "ComfyUI-PuLID-ZHO [WIP]" } ], + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Wan-ZHO": [ + [ + "WanT2V_Generation_Zho", + "WanT2V_ModelLoader_Zho" + ], + { + "title_aux": "ComfyUI Wan2.1 [WIP]" + } + ], + "https://github.com/a-One-Fan/ComfyUI-Blenderesque-Nodes": [ + [ + "BlenderAlphaConvert", + "BlenderAlphaOver", + "BlenderBlackbody", + "BlenderBokehImage", + "BlenderBrightnessContrast", + "BlenderClamp", + "BlenderCombineColor", + "BlenderCombineXYZ", + "BlenderConvertColorspace", + "BlenderCornerPin", + "BlenderCrop", + "BlenderDisplace", + "BlenderExposure", + "BlenderFlip", + "BlenderGamma", + "BlenderHueSaturationValue", + "BlenderInvertColor", + "BlenderLensDistortion", + "BlenderMapRange", + "BlenderMapUV", + "BlenderMath", + "BlenderMix", + "BlenderMovieDistortion", + "BlenderRGB", + "BlenderRGBtoBW", + "BlenderRotate", + "BlenderScale", + "BlenderSeparateColor", + "BlenderSeparateXYZ", + "BlenderSetAlpha", + "BlenderTonemap", + "BlenderTransform", + "BlenderTranslate", + "BlenderValue", + "BlenderVectorMath", + "BlenderWavelength", + "BlenderZCombine" + ], + { + "title_aux": "ComfyUI-Blenderesque-Nodes [WIP]" + } + ], + "https://github.com/a-und-b/ComfyUI_Output_as_Input": [ + [ + "OutputAsInput" + ], + { + "title_aux": "ComfyUI_Output_as_Input" + } + ], "https://github.com/aiden1020/ComfyUI_Artcoder": [ [ "ArtCoder" @@ -1555,6 +2193,39 @@ "title_aux": "alexisrolland/ComfyUI-AuraSR" } ], + "https://github.com/alt-key-project/comfyui-dream-painter": [ + [ + "Bitmap AND [DPaint]", + "Bitmap Crop Center [DPaint]", + "Bitmap Dimensions [DPaint]", + "Bitmap Edge Detect [DPaint]", + "Bitmap Expand Canvas [DPaint]", + "Bitmap Invert [DPaint]", + "Bitmap OR [DPaint]", + "Bitmap Resize [DPaint]", + "Bitmap Rotate [DPaint]", + "Bitmap To Image & Mask [DPaint]", + "Bitmap XOR [DPaint]", + "Draw Shape As Bitmap [DPaint]", + "Image To Bitmap [DPaint]", + "Random Number Generator [DPaint]", + "Shape Center & Fit [DPaint]", + "Shape Combiner [DPaint]", + "Shape Copycat Tool [DPaint]", + "Shape Find Bounds [DPaint]", + "Shape Flip [DPaint]", + "Shape Grid [DPaint]", + "Shape Resize [DPaint]", + "Shape Rotate [DPaint]", + "Shape of Circular Rays [DPaint]", + "Shape of N-Polygon [DPaint]", + "Shape of Rectangle [DPaint]", + "Shape of Star [DPaint]" + ], + { + "title_aux": "Dream Painter [WIP]" + } + ], "https://github.com/alt-key-project/comfyui-dream-video-batches": [ [ "Blended Transition [DVB]", @@ -1595,6 +2266,16 @@ "title_aux": "Dream Project Video Batches [WIP]" } ], + "https://github.com/ammahmoudi/ComfyUI-Legendary-Nodes": [ + [ + "Legendary Dataset Saver", + "Legendary Image URL Loader", + "Legendary Lora URL Loader" + ], + { + "title_aux": "ComfyUI-Legendary-Nodes" + } + ], "https://github.com/animEEEmpire/ComfyUI-Animemory-Loader": [ [ "AnimemoryNode" @@ -1611,6 +2292,14 @@ "title_aux": "ComfyUI-SkipCFGSigmas" } ], + "https://github.com/aria1th/ComfyUI-camietagger-onnx": [ + [ + "CamieTagger" + ], + { + "title_aux": "ComfyUI-camietagger-onnx" + } + ], "https://github.com/artem-konevskikh/comfyui-split-merge-video": [ [ "VideoMerger", @@ -1638,24 +2327,12 @@ "title_aux": "comfyui_segformer_b2_sleeves" } ], - "https://github.com/attashe/ComfyUI-FluxRegionAttention": [ - [ - "BBoxToMaskNode", - "BoundingBoxNode", - "CLIPDebug", - "FluxRegionBBOX", - "FluxRegionMask", - "RegionAttention", - "VisualizeBBoxesNode" - ], - { - "title_aux": "ComfyUI-FluxRegionAttention [WIP]" - } - ], "https://github.com/backearth1/Comfyui-MiniMax-Video": [ [ + "ImageToPrompt", "MiniMaxAIAPIClient", "MiniMaxImage2Video", + "MiniMaxImageGenerator", "MiniMaxPreviewVideo" ], { @@ -1933,6 +2610,14 @@ "title_aux": "ComfyUI Signal Processing [WIP]" } ], + "https://github.com/catboxanon/ComfyUI-Pixelsmith": [ + [ + "Pixelsmith" + ], + { + "title_aux": "ComfyUI-Pixelsmith [WIP]" + } + ], "https://github.com/celll1/cel_sampler": [ [ "latent_tracker" @@ -2043,6 +2728,7 @@ "CLIPTextEncodeControlnet", "CLIPTextEncodeFlux", "CLIPTextEncodeHunyuanDiT", + "CLIPTextEncodeLumina2", "CLIPTextEncodePixArtAlpha", "CLIPTextEncodeSD3", "CLIPTextEncodeSDXL", @@ -2058,6 +2744,7 @@ "ConditioningConcat", "ConditioningSetArea", "ConditioningSetAreaPercentage", + "ConditioningSetAreaPercentageVideo", "ConditioningSetAreaStrength", "ConditioningSetMask", "ConditioningSetTimestepRange", @@ -2068,6 +2755,7 @@ "ControlNetApplySD3", "ControlNetInpaintingAliMamaApply", "ControlNetLoader", + "CosmosImageToVideoLatent", "CropMask", "DiffControlNetLoader", "DifferentialDiffusion", @@ -2075,16 +2763,19 @@ "DisableNoise", "DualCFGGuider", "DualCLIPLoader", + "EmptyCosmosLatentVideo", "EmptyHunyuanLatentVideo", "EmptyImage", "EmptyLTXVLatentVideo", "EmptyLatentAudio", + "EmptyLatentHunyuan3Dv2", "EmptyLatentImage", "EmptyMochiLatentVideo", "EmptySD3LatentImage", "ExponentialScheduler", "FeatherMask", "FlipSigmas", + "FluxDisableGuidance", "FluxGuidance", "FreeU", "FreeU_V2", @@ -2092,6 +2783,9 @@ "GLIGENLoader", "GLIGENTextBoxApply", "GrowMask", + "Hunyuan3Dv2Conditioning", + "Hunyuan3Dv2ConditioningMultiView", + "HunyuanImageToVideo", "HyperTile", "HypernetworkLoader", "ImageBatch", @@ -2106,12 +2800,14 @@ "ImageOnlyCheckpointSave", "ImagePadForOutpaint", "ImageQuantize", + "ImageRGBToYUV", "ImageScale", "ImageScaleBy", "ImageScaleToTotalPixels", "ImageSharpen", "ImageToMask", "ImageUpscaleWithModel", + "ImageYUVToRGB", "InpaintModelConditioning", "InstructPixToPixConditioning", "InvertMask", @@ -2120,8 +2816,11 @@ "KSamplerAdvanced", "KSamplerSelect", "KarrasScheduler", + "LTXVAddGuide", "LTXVConditioning", + "LTXVCropGuides", "LTXVImgToVideo", + "LTXVPreprocess", "LTXVScheduler", "LaplaceScheduler", "LatentAdd", @@ -2148,16 +2847,21 @@ "LoadAudio", "LoadImage", "LoadImageMask", + "LoadImageOutput", "LoadLatent", "LoraLoader", "LoraLoaderModelOnly", "LoraSave", + "LotusConditioning", "Mahiro", "MaskComposite", "MaskToImage", + "ModelComputeDtype", "ModelMergeAdd", "ModelMergeAuraflow", "ModelMergeBlocks", + "ModelMergeCosmos14B", + "ModelMergeCosmos7B", "ModelMergeFlux1", "ModelMergeLTXV", "ModelMergeMochiPreview", @@ -2187,11 +2891,17 @@ "PolyexponentialScheduler", "PorterDuffImageComposite", "Preview3D", + "Preview3DAnimation", "PreviewAudio", "PreviewImage", + "PrimitiveBoolean", + "PrimitiveFloat", + "PrimitiveInt", + "PrimitiveString", "RandomNoise", "RebatchImages", "RebatchLatents", + "RenormCFG", "RepeatImageBatch", "RepeatLatentBatch", "RescaleCFG", @@ -2214,10 +2924,13 @@ "SaveAnimatedPNG", "SaveAnimatedWEBP", "SaveAudio", + "SaveGLB", "SaveImage", "SaveImageWebsocket", "SaveLatent", + "SaveWEBM", "SelfAttentionGuidance", + "SetFirstSigma", "SetLatentNoiseMask", "SetUnionControlNetType", "SkipLayerGuidanceDiT", @@ -2270,6 +2983,7 @@ "TestVariadicAverage", "TestWhileLoopClose", "TestWhileLoopOpen", + "TextEncodeHunyuanVideo_ImageToVideo", "ThresholdMask", "TomePatchModel", "TorchCompileModel", @@ -2281,6 +2995,7 @@ "UpscaleModelLoader", "VAEDecode", "VAEDecodeAudio", + "VAEDecodeHunyuan3D", "VAEDecodeTiled", "VAEEncode", "VAEEncodeAudio", @@ -2291,6 +3006,8 @@ "VPScheduler", "VideoLinearCFGGuidance", "VideoTriangleCFGGuidance", + "VoxelToMeshBasic", + "WanImageToVideo", "WebcamCapture", "unCLIPCheckpointLoader", "unCLIPConditioning" @@ -2331,6 +3048,14 @@ "title_aux": "ComfyUI-Comflow" } ], + "https://github.com/comfyuiblog/deepseek_prompt_generator_comfyui": [ + [ + "DeepSeek_Prompt_Generator" + ], + { + "title_aux": "deepseek_prompt_generator_comfyui [WIP]" + } + ], "https://github.com/corbin-hayden13/ComfyUI-Better-Dimensions": [ [ "BetterImageDimensions", @@ -2341,6 +3066,15 @@ "title_aux": "ComfyUI-Better-Dimensions" } ], + "https://github.com/cwebbi1/VoidCustomNodes": [ + [ + "Prompt Parser", + "String Combiner" + ], + { + "title_aux": "VoidCustomNodes" + } + ], "https://github.com/denislov/Comfyui_AutoSurvey": [ [ "AddDoc2Knowledge", @@ -2509,7 +3243,6 @@ [ "DownloadAndLoadHyVideoTextEncoder", "HyVideoBlockSwap", - "HyVideoCustomPromptTemplate", "HyVideoDecode", "HyVideoEncode", "HyVideoModelLoader", @@ -2523,19 +3256,6 @@ "title_aux": "ComfyUI-HunyuanVideoWrapper-Extended [WIP]" } ], - "https://github.com/evolox/ComfyUI-GeneraNodes": [ - [ - "Genera.BatchPreviewer", - "Genera.BatchTester", - "Genera.GCPStorageNode", - "Genera.MaskDrawer", - "Genera.Utils", - "PainterNode" - ], - { - "title_aux": "ComfyUI-GeneraNodes" - } - ], "https://github.com/exectails/comfyui-et_scripting": [ [ "ETPythonTextScript3Node" @@ -2544,18 +3264,37 @@ "title_aux": "Scripting" } ], + "https://github.com/eyekayem/comfyui_runway_gen3": [ + [ + "RunwayVideoGenerator", + "RunwayVideoPreview" + ], + { + "title_aux": "comfyui_runway_gen3" + } + ], "https://github.com/fablestudio/ComfyUI-Showrunner-Utils": [ [ "AlignFace", + "Alpha Crop and Position Image", "GenerateTimestamp", "GetMostCommonColors", "ReadImage", - "RenderOpenStreetMapTile" + "RenderOpenStreetMapTile", + "Shrink Image" ], { "title_aux": "ComfyUI-Showrunner-Utils" } ], + "https://github.com/fangziheng2321/comfyuinode_chopmask": [ + [ + "cus_chopmask" + ], + { + "title_aux": "comfyuinode_chopmask [WIP]" + } + ], "https://github.com/flowtyone/comfyui-flowty-lcm": [ [ "LCMSampler" @@ -2583,6 +3322,17 @@ "title_aux": "comfyui-cem-tools" } ], + "https://github.com/franky519/comfyui-redux-style": [ + [ + "StyleModelAdvanced", + "StyleModelApplySimple", + "StyleModelConditioner", + "StyleModelGridVisualizer" + ], + { + "title_aux": "comfyui-redux-style" + } + ], "https://github.com/fritzprix/ComfyUI-LLM-Utils": [ [ "WeightedDict", @@ -2628,6 +3378,16 @@ "title_aux": "comfyui_median_filter" } ], + "https://github.com/gmorks/ComfyUI-Animagine-Prompt": [ + [ + "AnimaginePrompt", + "MultilineTextInput", + "TextFileLoader" + ], + { + "title_aux": "ComfyUI Animagine prompt [WIP]" + } + ], "https://github.com/go-package-lab/ComfyUI-Tools-Video-Combine": [ [ "Tools:CopyFile", @@ -2642,6 +3402,18 @@ "title_aux": "ComfyUI-Tools-Video-Combine [WIP]" } ], + "https://github.com/gold24park/loki-comfyui-node": [ + [ + "Base64ToImage", + "DominantColor", + "ImageLuminance", + "ImageToBase64", + "OverlayText" + ], + { + "title_aux": "loki-comfyui-node" + } + ], "https://github.com/grimli333/ComfyUI_Grim": [ [ "GenerateFileName", @@ -2651,6 +3423,36 @@ "title_aux": "ComfyUI_Grim" } ], + "https://github.com/grinlau18/ComfyUI_XISER_Nodes": [ + [ + "XIS_CompositorProcessor", + "XIS_CropImage", + "XIS_Float_Slider", + "XIS_FromListGet1Color", + "XIS_FromListGet1Cond", + "XIS_FromListGet1Float", + "XIS_FromListGet1Image", + "XIS_FromListGet1Int", + "XIS_FromListGet1Latent", + "XIS_FromListGet1Mask", + "XIS_FromListGet1Model", + "XIS_FromListGet1String", + "XIS_INT_Slider", + "XIS_IfDataIsNone", + "XIS_ImageMaskMirror", + "XIS_InvertMask", + "XIS_IsThereAnyData", + "XIS_KSamplerSettingsNode", + "XIS_KSamplerSettingsUnpackNode", + "XIS_PromptsWithSwitches", + "XIS_ReorderImageMaskGroups", + "XIS_ResizeImageOrMask", + "XIS_ResizeToDivisible" + ], + { + "title_aux": "Xiser_Nodes [WIP]" + } + ], "https://github.com/haodman/ComfyUI_Rain": [ [ "Rain_ImageSize", @@ -2689,6 +3491,7 @@ [ "ACE_AnyInputSwitchBool", "ACE_AnyInputToAny", + "ACE_AudioCrop", "ACE_AudioLoad", "ACE_AudioPlay", "ACE_AudioSave", @@ -2699,12 +3502,14 @@ "ACE_ImageFaceCrop", "ACE_ImageGetSize", "ACE_ImageLoadFromCloud", + "ACE_ImageMakeSlideshow", "ACE_ImagePixelate", "ACE_ImageQA", "ACE_ImageRemoveBackground", "ACE_ImageSaveToCloud", "ACE_Integer", "ACE_MaskBlur", + "ACE_OpenAI_GPT_Chat", "ACE_Seed", "ACE_Text", "ACE_TextConcatenate", @@ -2713,10 +3518,13 @@ "ACE_TextInputSwitch4Way", "ACE_TextInputSwitch8Way", "ACE_TextList", + "ACE_TextLoad", "ACE_TextPreview", + "ACE_TextSave", "ACE_TextSelector", "ACE_TextToResolution", "ACE_TextTranslate", + "ACE_VideoConcat", "ACE_VideoLoad", "ACE_VideoPreview" ], @@ -2724,15 +3532,29 @@ "title_aux": "ComfyUI AceNodes [UNSAFE]" } ], - "https://github.com/hgabha/WWAA-CustomNodes": [ + "https://github.com/hdfhssg/ComfyUI_pxtool": [ [ - "WWAA-BuildString", - "WWAA-LineCount", - "WWAA_DitherNode", - "WWAA_ImageLoader" + "ArtistLoader", + "CivitaiHelper", + "DanbooruCharacterTag", + "E621CharacterTag", + "NegativeTag", + "PX_Seed", + "QualityTag", + "RandomArtists", + "RandomArtistsAdvanced", + "RandomTag" ], { - "title_aux": "WWAA-CustomNodes" + "title_aux": "ComfyUI_pxtool [WIP]" + } + ], + "https://github.com/hiusdev/ComfyUI_Lah_Toffee": [ + [ + "LoadVideoRandom" + ], + { + "title_aux": "ComfyUI_Lah_Toffee" } ], "https://github.com/horidream/ComfyUI-Horidream": [ @@ -2823,6 +3645,19 @@ "title_aux": "ComfyUI_Easy_Nodes_hui" } ], + "https://github.com/hunterssl/ComfyUI_SSLNodes": [ + [ + "SSLGetJsonKeysCount", + "SSLLoadCheckpointByName", + "SSLLoadJson", + "SSLRandomNumInLoop", + "SSLRandomSeedInLoop", + "SSLSaveImageOutside" + ], + { + "title_aux": "ComfyUI_SSLNodes" + } + ], "https://github.com/hy134300/comfyui-hb-node": [ [ "generate story", @@ -2839,16 +3674,29 @@ ], "https://github.com/hy134300/comfyui-hydit": [ [ + "DiffusersCLIPLoader", + "DiffusersCheckpointLoader", "DiffusersClipTextEncode", + "DiffusersControlNetLoader", + "DiffusersLoraLoader", "DiffusersModelMakeup", "DiffusersPipelineLoader", "DiffusersSampler", - "DiffusersSchedulerLoader" + "DiffusersSchedulerLoader", + "DiffusersVAELoader" ], { "title_aux": "comfyui-hydit" } ], + "https://github.com/if-ai/ComfyUI-IF_Zonos": [ + [ + "IF_ZonosTTS" + ], + { + "title_aux": "ComfyUI-IF_Zonos [WIP]" + } + ], "https://github.com/ilovejohnwhite/Tracer": [ [ "BillyGoatNode", @@ -2893,31 +3741,53 @@ ], "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": [ [ - "ClickPopup", - "ColorPicker", - "DynamicImageCombiner", - "DynamicMaskCombiner", - "ImageLatentCreator", - "ImageResolutionAdjuster", - "ImageSizeCreator", - "ImageSwitch", - "ImageToBase64", - "LatentSwitch", - "MaskPreview", - "MaskSwitch", - "MultilineTextInput", - "RemoveEmptyLinesAndLeadingSpaces", - "RemoveEmptyLinesAndLeadingSpacesAdvance", - "ShowTextPlus", - "SimpleTextInput", - "TextCombiner", - "TextSwitch", - "WebImageLoader" + "PaintingCoder::DynamicImageCombiner", + "PaintingCoder::DynamicMaskCombiner", + "PaintingCoder::ImageLatentCreator", + "PaintingCoder::ImageLatentCreatorPlus", + "PaintingCoder::ImageResolutionAdjuster", + "PaintingCoder::ImageSizeCreator", + "PaintingCoder::ImageSizeCreatorPlus", + "PaintingCoder::ImageSwitch", + "PaintingCoder::ImageToBase64", + "PaintingCoder::LatentSwitch", + "PaintingCoder::MaskPreview", + "PaintingCoder::MaskSwitch", + "PaintingCoder::MultilineTextInput", + "PaintingCoder::OutputToTextConverter", + "PaintingCoder::RemoveEmptyLinesAndLeadingSpaces", + "PaintingCoder::ShowTextPlus", + "PaintingCoder::SimpleTextInput", + "PaintingCoder::TextCombiner", + "PaintingCoder::TextSwitch", + "PaintingCoder::WebImageLoader" ], { "title_aux": "ComfyUI PaintingCoderUtils Nodes [WIP]" } ], + "https://github.com/jcomeme/ComfyUI-AsunaroTools": [ + [ + "AsunaroAnd", + "AsunaroAutomaticSexPrompter", + "AsunaroBatchImageLoader", + "AsunaroIfBiggerThanZero", + "AsunaroIfContain", + "AsunaroIfSame", + "AsunaroImageLoader", + "AsunaroIntToStr", + "AsunaroOr", + "AsunaroPromptStripper", + "AsunaroRandomDice", + "AsunaroResolutions", + "AsunaroSave", + "AsunaroTextConcatenator", + "AsunaroWildCard" + ], + { + "title_aux": "AsunaroTools" + } + ], "https://github.com/jgbrblmd/ComfyUI-ComfyFluxSize": [ [ "ComfyFluxSize" @@ -2926,6 +3796,14 @@ "title_aux": "ComfyUI-ComfyFluxSize [WIP]" } ], + "https://github.com/jgbyte/ComfyUI-RandomCube": [ + [ + "RandomCubeGrid" + ], + { + "title_aux": "ComfyUI-RandomCube [WIP]" + } + ], "https://github.com/jimmm-ai/TimeUi-a-ComfyUi-Timeline-Node": [ [ "jimmm.ai.TimelineUI" @@ -2941,7 +3819,9 @@ "DefineWord", "DictFromJSON", "DictionaryToJSON", + "ImageToSolidBackground", "JSONToDictionary", + "LiftFromBackground", "LoadImageAndInfoFromPath", "LookupWord", "ReplaceWords", @@ -3031,12 +3911,20 @@ ], "https://github.com/jonnydolake/ComfyUI-AIR-Nodes": [ [ + "DisplaceImage", + "ExtractBlackLines", "ForceMinimumBatchSize", "ImageCompositeChained", + "LineDetection", + "MangaPanelSegmentationNode", + "Mask_Fill_Region", "MatchImageCountToMaskCount", + "ParallaxTest", "RandomCharacterPrompts", "TargetLocationCrop", "TargetLocationPaste", + "Yolov8Detection", + "easy_parallax", "string_list_to_prompt_schedule" ], { @@ -3051,6 +3939,15 @@ "title_aux": "ComfyUI_HelpfulNodes" } ], + "https://github.com/jschoormans/Comfy-InterestingPixels": [ + [ + "Random Palette", + "Shareable Image Slider" + ], + { + "title_aux": "ComfyUI-TexturePacker [WIP]" + } + ], "https://github.com/jtscmw01/ComfyUI-DiffBIR": [ [ "DiffBIR_sample", @@ -3087,7 +3984,10 @@ "KAndyCivitPromptAPI", "KAndyImagesByCss", "KAndyLoadImageFromUrl", - "KAndyNoiseCondition" + "KAndyNoiseCondition", + "KPornImageAPI", + "KPromtGen", + "KandySimplePrompt" ], { "title_aux": "ComfyUI-KAndy" @@ -3177,6 +4077,45 @@ "title_aux": "ComfyUI-FollowYourEmojiWrapper [WIP]" } ], + "https://github.com/kijai/ComfyUI-Hunyuan3DWrapper": [ + [ + "CV2InpaintTexture", + "DownloadAndLoadHy3DDelightModel", + "DownloadAndLoadHy3DPaintModel", + "Hy3DApplyTexture", + "Hy3DBPT", + "Hy3DBakeFromMultiview", + "Hy3DCameraConfig", + "Hy3DDelightImage", + "Hy3DDiffusersSchedulerConfig", + "Hy3DExportMesh", + "Hy3DFastSimplifyMesh", + "Hy3DGenerateMesh", + "Hy3DGenerateMeshMultiView", + "Hy3DGetMeshPBRTextures", + "Hy3DIMRemesh", + "Hy3DLoadMesh", + "Hy3DMeshInfo", + "Hy3DMeshUVWrap", + "Hy3DMeshVerticeInpaintTexture", + "Hy3DModelLoader", + "Hy3DNvdiffrastRenderer", + "Hy3DPostprocessMesh", + "Hy3DRenderMultiView", + "Hy3DRenderMultiViewDepth", + "Hy3DRenderSingleView", + "Hy3DSampleMultiView", + "Hy3DSetMeshPBRAttributes", + "Hy3DSetMeshPBRTextures", + "Hy3DTorchCompileSettings", + "Hy3DUploadMesh", + "Hy3DVAEDecode", + "Hy3DVAELoader" + ], + { + "title_aux": "ComfyUI-ComfyUI-Hunyuan3DWrapper [WIP]" + } + ], "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": [ [ "DownloadAndLoadHyVideoTextEncoder", @@ -3187,7 +4126,10 @@ "HyVideoDecode", "HyVideoEmptyTextEmbeds", "HyVideoEncode", + "HyVideoEncodeKeyframes", "HyVideoEnhanceAVideo", + "HyVideoGetClosestBucketSize", + "HyVideoI2VEncode", "HyVideoInverseSampler", "HyVideoLatentPreview", "HyVideoLoraBlockEdit", @@ -3198,6 +4140,7 @@ "HyVideoSTG", "HyVideoSampler", "HyVideoTeaCache", + "HyVideoTextEmbedBridge", "HyVideoTextEmbedsLoad", "HyVideoTextEmbedsSave", "HyVideoTextEncode", @@ -3250,6 +4193,51 @@ "title_aux": "ComfyUI nodes for VEnhancer [WIP]" } ], + "https://github.com/kijai/ComfyUI-VideoNoiseWarp": [ + [ + "GetWarpedNoiseFromVideo", + "GetWarpedNoiseFromVideoAnimateDiff", + "GetWarpedNoiseFromVideoCogVideoX", + "GetWarpedNoiseFromVideoHunyuan" + ], + { + "title_aux": "ComfyUI-VideoNoiseWarp [WIP]" + } + ], + "https://github.com/kijai/ComfyUI-WanVideoWrapper": [ + [ + "LoadWanVideoClipTextEncoder", + "LoadWanVideoT5TextEncoder", + "WanVideoBlockSwap", + "WanVideoClipVisionEncode", + "WanVideoContextOptions", + "WanVideoControlEmbeds", + "WanVideoDecode", + "WanVideoEmptyEmbeds", + "WanVideoEncode", + "WanVideoEnhanceAVideo", + "WanVideoFlowEdit", + "WanVideoImageClipEncode", + "WanVideoImageToVideoEncode", + "WanVideoLatentPreview", + "WanVideoLoopArgs", + "WanVideoLoraBlockEdit", + "WanVideoLoraSelect", + "WanVideoModelLoader", + "WanVideoSLG", + "WanVideoSampler", + "WanVideoTeaCache", + "WanVideoTextEmbedBridge", + "WanVideoTextEncode", + "WanVideoTinyVAELoader", + "WanVideoTorchCompileSettings", + "WanVideoVAELoader", + "WanVideoVRAMManagement" + ], + { + "title_aux": "ComfyUI-WanVideoWrapper [WIP]" + } + ], "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Advanced-Watermarks": [ [ "KimaraAIBatchImages", @@ -3259,10 +4247,42 @@ "title_aux": "Advanced Watermarking Tools [WIP]" } ], + "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL": [ + [ + "KimaraAIImageFromURL" + ], + { + "title_aux": "ComfyUI-Kimara-AI-Image-From-URL [WIP]" + } + ], "https://github.com/kk8bit/KayTool": [ [ + "AB_Images", + "AIO_Translater", + "Abc_Math", + "Baidu_Translater", "Color_Adjustment", - "Custom_Save_Image" + "Custom_Save_Image", + "Display_Any", + "Image_Composer", + "Image_Cropper", + "Image_Resizer", + "Image_Size_Extractor", + "Kay_BiRefNet_Loader", + "Load_Image_Folder", + "Mask_Blur_Plus", + "Mask_Filler", + "Preview_Mask", + "Preview_Mask_Plus", + "RemBG_Loader", + "Remove_BG", + "Slider_10", + "Slider_100", + "Slider_1000", + "Strong_Prompt", + "Tencent_Translater", + "Text", + "To_Int" ], { "title_aux": "KayTool" @@ -3295,6 +4315,17 @@ "title_aux": "ComfyUI Flow Control [UNSTABLE]" } ], + "https://github.com/krisshen2021/comfyui_OpenRouterNodes": [ + [ + "OpenRouterOAINode_Infer", + "OpenRouterOAINode_Models", + "OpenRouterOAINode_hunyuanPrompt", + "OpenRouterOAINode_txt2imgPrompt" + ], + { + "title_aux": "comfyui_OpenRouterNodes [WIP]" + } + ], "https://github.com/kuschanow/ComfyUI-SD-Slicer": [ [ "SdSlicer" @@ -3352,6 +4383,16 @@ "title_aux": "comfyui-python-cowboy [UNSAFE]" } ], + "https://github.com/l1yongch1/ComfyUI-YcNodes": [ + [ + "PaddingAccordingToBackground", + "RemoveHighlightAndBlur", + "RoundedCorners" + ], + { + "title_aux": "ComfyUI-YcNodes" + } + ], "https://github.com/laksjdjf/ssd-1b-comfyui": [ [ "SSD-1B-Loader" @@ -3466,6 +4507,9 @@ "HYCreateRegionalCond", "HYFetaEnhance", "HYFlowEditGuider", + "HYFlowEditGuiderAdv", + "HYFlowEditGuiderCFG", + "HYFlowEditGuiderCFGAdv", "HYFlowEditSampler", "HYForwardODESampler", "HYInverseModelSamplingPred", @@ -3504,6 +4548,14 @@ "title_aux": "comfyui-one-more-step [WIP]" } ], + "https://github.com/longzoho/ComfyUI-Qdrant-Saver": [ + [ + "QDrantSaver" + ], + { + "title_aux": "ComfyUI-Qdrant-Saver" + } + ], "https://github.com/lordwedggie/xcpNodes": [ [ "derpBaseAlpha", @@ -3556,6 +4608,19 @@ "title_aux": "SK-Nodes" } ], + "https://github.com/lum3on/comfyui_LLM_Polymath": [ + [ + "ConceptEraserNode", + "polymath_SaveAbsolute", + "polymath_chat", + "polymath_concept_eraser", + "polymath_helper", + "polymath_scraper" + ], + { + "title_aux": "comfyui_LLM_Polymath [WIP]" + } + ], "https://github.com/majorsauce/comfyui_indieTools": [ [ "IndCutByMask", @@ -3620,6 +4685,14 @@ "title_aux": "ComfyUI mashb1t nodes" } ], + "https://github.com/masmullin2000/ComfyUI-MMYolo": [ + [ + "MMFace_Finder" + ], + { + "title_aux": "ComfyUI-MMYolo" + } + ], "https://github.com/mehbebe/ComfyLoraGallery": [ [ "LoraGallery" @@ -3639,7 +4712,6 @@ ], "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext": [ [ - "Add zSNR Sigma max", "ConcatSigmas", "CosineScheduler", "GaussianScheduler", @@ -3647,12 +4719,21 @@ "LogNormal Scheduler", "OffsetSigmas", "PerpNegScheduledCFGGuider", - "ScheduledCFGGuider" + "ScheduledCFGGuider", + "SplitSigmasByValue" ], { "title_aux": "ComfyUI-ScheduledGuider-Ext" } ], + "https://github.com/mikebilly/Transparent-background-comfyUI": [ + [ + "Transparentbackground RemBg" + ], + { + "title_aux": "transparent-background-comfyui" + } + ], "https://github.com/mikeymcfish/FishTools": [ [ "AnaglyphCreator", @@ -3703,6 +4784,35 @@ "title_aux": "ComfyUI-LLM-Evaluation [WIP]" } ], + "https://github.com/mliand/ComfyUI-Calendar-Node": [ + [ + "Comfy Calendar Node" + ], + { + "title_aux": "ComfyUI-Calendar-Node [WIP]" + } + ], + "https://github.com/mohamedsobhi777/ComfyUI-FramerComfy": [ + [ + "FramerComfyBooleanInputNode", + "FramerComfyFloatInputNode", + "FramerComfyInputImageNode", + "FramerComfyInputNumberNode", + "FramerComfyInputStringNode", + "FramerComfySaveImageNode" + ], + { + "title_aux": "ComfyUI-FramerComfy [WIP]" + } + ], + "https://github.com/molbal/comfy-url-fetcher": [ + [ + "URL Fetcher" + ], + { + "title_aux": "comfy-url-fetcher [WIP]" + } + ], "https://github.com/monate0615/ComfyUI-Affine-Transform": [ [ "AffineTransform" @@ -3720,6 +4830,16 @@ "title_aux": "ComfyUI-Simple-Image-Tools [WIP]" } ], + "https://github.com/mr-krak3n/ComfyUI-Qwen": [ + [ + "DeepSeekResponseParser", + "QwenLoader", + "QwenSampler" + ], + { + "title_aux": "ComfyUI-Qwen [CONFLICT]" + } + ], "https://github.com/mut-ex/comfyui-gligengui-node": [ [ "GLIGEN_GUI" @@ -3728,6 +4848,63 @@ "title_aux": "ComfyUI GLIGEN GUI Node" } ], + "https://github.com/muvich3n/ComfyUI-Claude-I2T": [ + [ + "ClaudeImageToPrompt" + ], + { + "title_aux": "ComfyUI-Claude-I2T" + } + ], + "https://github.com/muvich3n/ComfyUI-Crop-Border": [ + [ + "CropImageBorder" + ], + { + "title_aux": "ComfyUI-Crop-Border" + } + ], + "https://github.com/myAiLemon/MagicAutomaticPicture": [ + [ + "EditableStringNode", + "IntegratedCLIPTextEncodeWithExtract", + "MagicLatent", + "ProcessAndSave", + "StringConcat" + ], + { + "title_aux": "MagicAutomaticPicture [WIP]" + } + ], + "https://github.com/naderzare/comfyui-inodes": [ + [ + "IAzureAiApi", + "ICutStrings", + "IFinalizeProject", + "IIfElse", + "ILLMExecute", + "ILLMExecute2", + "ILoadAzureAiApi", + "ILoadOllamaApi", + "IMergeImages", + "IMultilineSplitToStrings", + "IPassImage", + "IPostProcessLLMResponse", + "IPromptGenerator", + "IRandomChoiceToStrings", + "ISaveImage", + "ISaveText", + "IStringsCounter", + "IStringsToFile", + "IStringsToString", + "ITimesToStrings", + "IUploadToGoogleDrive", + "IZipImages" + ], + { + "title_aux": "comfyui-inodes" + } + ], "https://github.com/neeltheninja/ComfyUI-TempFileDeleter": [ [ "TempCleaner" @@ -3764,6 +4941,14 @@ "title_aux": "ComfyUI-ControlNeXt [WIP]" } ], + "https://github.com/neverbiasu/ComfyUI-DeepSeek": [ + [ + "DeepSeekCaller" + ], + { + "title_aux": "ComfyUI-DeepSeek" + } + ], "https://github.com/neverbiasu/ComfyUI-StereoCrafter": [ [ "DepthSplattingModelLoader", @@ -3832,7 +5017,25 @@ ], "https://github.com/nomcycle/ComfyUI_Cluster": [ [ - "FenceClusteredWorkflow" + "ClusterBroadcastLoadedImage", + "ClusterBroadcastTensor", + "ClusterExecuteCurrentWorkflow", + "ClusterExecuteWorkflow", + "ClusterFanInImages", + "ClusterFanOutImage", + "ClusterFanOutLatent", + "ClusterFanOutMask", + "ClusterFinallyFree", + "ClusterFlattenBatchedImageList", + "ClusterFreeNow", + "ClusterGatherImages", + "ClusterGatherLatents", + "ClusterGatherMasks", + "ClusterGetInstanceWorkItemFromBatch", + "ClusterInfo", + "ClusterListenTensorBroadcast", + "ClusterSplitBatchToList", + "ClusterStridedReorder" ], { "title_aux": "ComfyUI_Cluster [WIP]" @@ -3840,6 +5043,7 @@ ], "https://github.com/oshtz/ComfyUI-oshtz-nodes": [ [ + "EasyAspectRatioNode", "ImageOverlayNode", "LLMAIONode", "LoRASwitcherNode", @@ -3851,6 +5055,31 @@ "title_aux": "ComfyUI-oshtz-nodes [WIP]" } ], + "https://github.com/osuiso-depot/comfyui-keshigom_custom": [ + [ + "KANI_Checkpoint_Loader_From_String", + "KANI_MathExpression", + "KANI_Multiplexer", + "KANI_ShowAnything", + "KANI_TextFind", + "KANI_TrueorFalse", + "RegExTextChopper", + "ResolutionSelector", + "ResolutionSelectorConst", + "StringNodeClass" + ], + { + "title_aux": "comfyui-keshigom_custom" + } + ], + "https://github.com/owengillett/ComfyUI-tilefusion": [ + [ + "VideoGridCombine" + ], + { + "title_aux": "ComfyUI-tilefusion" + } + ], "https://github.com/oyvindg/ComfyUI-TrollSuite": [ [ "BinaryImageMask", @@ -3885,6 +5114,7 @@ "ConditioningZeroOutCombine", "ConvertTimestepToSigma", "DynSamplerSelect", + "DynamicThresholdingPost", "DynamicThresholdingSimplePost", "EmptyLatentImageAR", "FreeU2PPM", @@ -3892,13 +5122,35 @@ "LatentOperationTonemapLuminance", "LatentToMaskBB", "LatentToWidthHeight", + "MaskCompositePPM", "PPMSamplerSelect", + "RenormCFGPost", "RescaleCFGPost" ], { "title_aux": "ComfyUI-ppm" } ], + "https://github.com/parmarjh/ComfyUI-MochiWrapper-I2V": [ + [ + "DownloadAndLoadMochiModel", + "MochiDecode", + "MochiDecodeSpatialTiling", + "MochiFasterCache", + "MochiImageEncode", + "MochiLatentPreview", + "MochiModelLoader", + "MochiSampler", + "MochiSigmaSchedule", + "MochiTextEncode", + "MochiTorchCompileSettings", + "MochiVAEEncoderLoader", + "MochiVAELoader" + ], + { + "title_aux": "ComfyUI-MochiWrapper-I2V [WIP]" + } + ], "https://github.com/paulhoux/Smart-Prompting": [ [ "SaveImageWithPrefix", @@ -3927,6 +5179,14 @@ "title_aux": "ComyUI-Tupham" } ], + "https://github.com/pixuai/ComfyUI-PixuAI": [ + [ + "PromptSearch" + ], + { + "title_aux": "ComfyUI-PixuAI" + } + ], "https://github.com/poisenbery/NudeNet-Detector-Provider": [ [ "NudeNetDetectorProvider" @@ -3961,14 +5221,6 @@ "title_aux": "anyPython [UNSAFE]" } ], - "https://github.com/prismwastaken/prism-comfyui-tools": [ - [ - "Prism-RandomNormal" - ], - { - "title_aux": "prism-tools" - } - ], "https://github.com/prodogape/ComfyUI-clip-interrogator": [ [ "ComfyUIClipInterrogator", @@ -4021,6 +5273,95 @@ "title_aux": "ComfyUI-ODE" } ], + "https://github.com/rhinoflavored/comfyui_QT": [ + [ + "CSVDataMatcher", + "QTAutoCropByNPS", + "QTExcelImageReader", + "QTExcelReader", + "QTRandomSelectString", + "QTStringWrappingByNumber", + "QT_Alpha_Yaxis_Node", + "QT_AntiAliasing_Node", + "QT_Batch_Anything_Node", + "QT_Center_Rotation", + "QT_Character_Height_Difference", + "QT_Character_Size_Node", + "QT_Color_Image_Loop", + "QT_Content_Location_Node", + "QT_Crop_Alpha", + "QT_Crop_Alpha_V2", + "QT_Curves_Node", + "QT_Dictionary_Node", + "QT_Elements_Into_List_Node", + "QT_Float_To_Int", + "QT_Image_Array", + "QT_Image_Array_Circle", + "QT_Image_Array_Rectangle", + "QT_Image_Overlay", + "QT_Image_Overlay_BOOLEAN", + "QT_Image_Overlay_Rotation", + "QT_Image_Overlay_V2", + "QT_Image_Overlay_V3", + "QT_Image_Sorting_Node", + "QT_Image_Upscale_And_Crop_Node", + "QT_Image_Upscale_And_Crop_Node_V2", + "QT_Image_Upscale_And_Crop_Node_V3", + "QT_Image_Upscale_Node", + "QT_Image_Vision_Center_Node", + "QT_Join_Image_List_Node", + "QT_Line_Break", + "QT_Line_Break_V2", + "QT_List_Length", + "QT_List_Picker", + "QT_List_To_String", + "QT_Mask_Mix_Node", + "QT_Merge_Into_List_Node", + "QT_Pageturn_Node", + "QT_Pattern_Fill", + "QT_Piecewise_Function_Node", + "QT_Polar_Coordinate_Conversion_Node", + "QT_Rounded_Corner", + "QT_SUPIR_Upscale", + "QT_Simple_Text_Image_V2", + "QT_Sorting_Node", + "QT_Split_List_Node", + "QT_Split_List_Node_V2", + "QT_Split_Mask_Node", + "QT_Split_String", + "QT_String_Horizontal_To_Vertical", + "QT_String_To_List", + "QT_Text_Input_Switch_Node", + "QT_Text_Overlay_V2", + "QT_Text_To_Bool_Node", + "QT_Tilt_Transform", + "QT_Translucent_Node", + "QT_Vertical_Text_Overlay", + "QT_Video_Combine_Node" + ], + { + "title_aux": "comfyui_QT" + } + ], + "https://github.com/ricklove/ComfyUI-AutoSeg-SAM2": [ + [ + "AutoSegSAM2Node" + ], + { + "title_aux": "ComfyUI-AutoSeg-SAM2" + } + ], + "https://github.com/rishipandey125/ComfyUI-FramePacking": [ + [ + "Add Grid Boundaries", + "Pack Frames", + "Resize Frame", + "Unpack Frames" + ], + { + "title_aux": "ComfyUI-FramePacking [WIP]" + } + ], "https://github.com/risunobushi/ComfyUI_FocusMask": [ [ "FocusMaskExtractor", @@ -4030,9 +5371,26 @@ "title_aux": "ComfyUI_FocusMask" } ], + "https://github.com/risunobushi/ComfyUI_HEXtoRGB": [ + [ + "HexToRGB" + ], + { + "title_aux": "ComfyUI_HEXtoRGB" + } + ], + "https://github.com/ritikvirus/comfyui-terminal-modal-node": [ + [ + "terminal_node" + ], + { + "title_aux": "ComfyUI Terminal Command Node [UNSAFE]" + } + ], "https://github.com/rouxianmantou/comfyui-rxmt-nodes": [ [ - "CheckValueTypeNode" + "CheckValueTypeNode", + "WhyPromptTextNode" ], { "title_aux": "comfyui-rxmt-nodes" @@ -4055,14 +5413,6 @@ "title_aux": "ComfyUI_YoloNasObjectDetection_Tensorrt [WIP]" } ], - "https://github.com/scottmudge/ComfyUI_BiscuitNodes": [ - [ - "LoadImagePrompted" - ], - { - "title_aux": "ComfyUI_BiscuitNodes" - } - ], "https://github.com/sdfxai/SDFXBridgeForComfyUI": [ [ "SDFXClipTextEncode" @@ -4136,8 +5486,8 @@ { "author": "shinich39", "description": "Javascript code will run when an event fires.", - "nickname": "event-handler", - "title": "event-handler", + "nickname": "comfyui-event-handler", + "title": "comfyui-event-handler", "title_aux": "comfyui-event-handler [USAFE]" } ], @@ -4157,6 +5507,43 @@ "title_aux": "ComfyUI_CheckPointLoader_Ext [WIP]" } ], + "https://github.com/silveroxides/ComfyUI-ModelUtils": [ + [ + "CLIPMetaKeys", + "CheckpointMetaKeys", + "LoRAMetaKeys", + "UNetMetaKeys" + ], + { + "title_aux": "ComfyUI-ModelUtils [WIP]" + } + ], + "https://github.com/sizzlebop/comfyui-llm-prompt-enhancer": [ + [ + "PromptEnhancer" + ], + { + "title_aux": "ComfyUI LLM Prompt Enhancer [WIP]" + } + ], + "https://github.com/smthemex/ComfyUI_GPT_SoVITS_Lite": [ + [ + "GPT_SoVITS_LoadModel", + "GPT_SoVITS_Sampler" + ], + { + "title_aux": "ComfyUI_GPT_SoVITS_Lite" + } + ], + "https://github.com/smthemex/ComfyUI_MangaNinjia": [ + [ + "MangaNinjiaLoader", + "MangaNinjiaSampler" + ], + { + "title_aux": "ComfyUI_MangaNinjia [WIP]" + } + ], "https://github.com/sofakid/dandy": [ [ "DandyBooleanCollector", @@ -4209,6 +5596,16 @@ "title_aux": "ComfyUI_InstructPixToPixConditioningLatent [WIP]" } ], + "https://github.com/sourceful-official/comfyui-sourceful-official": [ + [ + "FalFluxLoraSourcefulOfficial", + "FalIcLightV2SourcefulOfficial", + "SourcefulOfficialComfyuiIncontextThreePanels" + ], + { + "title_aux": "comfyui-sourceful-official" + } + ], "https://github.com/sswink/comfyui-lingshang": [ [ "LS_ALY_Seg_Body_Utils", @@ -4251,9 +5648,22 @@ "title_aux": "ComfyUI-Terminal [UNSAFE]" } ], + "https://github.com/sugarkwork/comfyui_image_crop": [ + [ + "CropReapply", + "CropTransparent", + "ExpandMultiple", + "RestoreCrop" + ], + { + "title_aux": "comfyui_image_crop" + } + ], "https://github.com/sugarkwork/comfyui_psd": [ [ - "SavePSD" + "Convert PSD to Image", + "PSDLayer", + "Save PSD" ], { "title_aux": "comfyui_psd [WIP]" @@ -4275,6 +5685,31 @@ "title_aux": "ComfyUI-Rpg-Architect [WIP]" } ], + "https://github.com/tc888/ComfyUI_Save_Flux_Image": [ + [ + "Cfg Literal", + "Int Literal", + "Sampler Select", + "Save Flux Image with Metadata", + "Scheduler Select", + "Seed Gen", + "String Literal", + "Unet Select", + "Width/Height Literal" + ], + { + "title_aux": "ComfyUI_Save_Flux_Image" + } + ], + "https://github.com/techidsk/comfyui_molook_nodes": [ + [ + "MaskExpand(Molook)", + "OpenAIProvider(Molook)" + ], + { + "title_aux": "comfyui_molook_nodes [WIP]" + } + ], "https://github.com/techzuhaib/ComfyUI-CacheImageNode": [ [ "CacheImageNode" @@ -4292,6 +5727,41 @@ "title_aux": "_topfun_s_nodes" } ], + "https://github.com/thedivergentai/divergent_nodes": [ + [ + "CLIPTokenCounter", + "DataStoreNode", + "Text Line Reader", + "UTF8EncoderNode" + ], + { + "title_aux": "Divergent Nodes [WIP]" + } + ], + "https://github.com/thisiseddy-ab/ComfyUI-Edins-Ultimate-Pack": [ + [ + "EUP - Custom Aspect Ratio", + "EUP - Iterative Latent Upscaler", + "EUP - Latent Merger", + "EUP - Latent Tiler", + "EUP - Pixel TiledKSample Upscaler Provider", + "EUP - Pixel TiledKSample Upscaler Provider Pipe", + "EUP - Tiled KSampler", + "EUP - Tiled KSampler Advanced" + ], + { + "title_aux": "ComfyUI-Edins-Ultimate-Pack" + } + ], + "https://github.com/threadedblue/MLXnodes": [ + [ + "MLXImg2Img", + "MLXText2Image" + ], + { + "title_aux": "MLXnodes [WIP]" + } + ], "https://github.com/tjorbogarden/my-useful-comfyui-custom-nodes": [ [ "ImageSizer", @@ -4388,21 +5858,25 @@ "title_aux": "ComfyUI-Dist [WIP]" } ], - "https://github.com/vahidzxc/ComfyUI-My-Handy-Nodes": [ + "https://github.com/var1ableX/ComfyUI_Accessories": [ [ - "VahCropImage" + "ACC_AnyCast", + "AccMakeListNode", + "GetMaskDimensions", + "GetRandomDimensions", + "isImageEmpty", + "isMaskEmpty" ], { - "title_aux": "ComfyUI-My-Handy-Nodes" + "title_aux": "ComfyUI_Accessories" } ], - "https://github.com/void15700/VoidCustomNodes": [ + "https://github.com/vchopine/ComfyUI_Toolbox": [ [ - "Prompt Parser", - "String Combiner" + "ModelAspectRatioSelector" ], { - "title_aux": "VoidCustomNodes" + "title_aux": "ComfyUI_Toolbox" } ], "https://github.com/walterFeng/ComfyUI-Image-Utils": [ @@ -4413,6 +5887,7 @@ "Color Similarity Checker", "Crop Mask Util", "Displace Filter", + "Image Fix (tensor shape convert)", "Load Image (By Url)", "Mask Refine (Aliyun)" ], @@ -4422,6 +5897,8 @@ ], "https://github.com/warshanks/Shank-Tools": [ [ + "HeightWidth", + "ResolutionDivider", "TileCalculator" ], { @@ -4503,25 +5980,96 @@ "title_aux": "ComfyUI-XYNodes" } ], + "https://github.com/xinyiSS/CombineMasksNode": [ + [ + "CombineMasksNode" + ], + { + "title_aux": "CombineMasksNode" + } + ], + "https://github.com/xmarked-ai/ComfyUI_misc": [ + [ + "AceColorFixX", + "AceFloatX", + "AceIntegerX", + "CheckpointLoaderBNB_X", + "CheckpointLoaderNF4_X", + "ColorTransferNodeX", + "DeepSeekX", + "DepthDisplaceX", + "EmptyLatentX", + "IfConditionX", + "ImageTileSquare", + "ImageUntileSquare", + "KSamplerComboX", + "LoopCloseX", + "LoopOpenX", + "LoraBatchSamplerX", + "PixtralVisionX", + "PixtralX", + "RegionTesterNodeX", + "RelightX", + "RemoveBackgroundX", + "SaveImageX", + "SelectiveDepthLoraBlocksX", + "UnetLoaderBNB_X", + "WhiteBalanceX" + ], + { + "title_aux": "ComfyUI_misc" + } + ], "https://github.com/yanhuifair/ComfyUI-FairLab": [ [ + "AppendTagsNode", + "BlacklistTagsNode", "CLIPTranslatedNode", "DownloadImageNode", + "FillAlphaNode", "FixUTF8StringNode", + "FloatNode", "ImageResizeNode", - "LoadImageFromFolderNode", - "SaveImageToFolderNode", - "SaveImagesToFolderNode", - "SaveStringToFolderNode", + "ImageToVideoNode", + "IntNode", + "LoadImageFromDirectoryNode", + "LoadImageFromURLNode", + "PrependTagsNode", + "PrintAnyNode", + "PrintImageNode", + "SaveImageToDirectoryNode", + "SaveStringToDirectoryNode", "SequenceStringListNode", "StringCombineNode", - "StringFieldNode", - "TranslateStringNode" + "StringNode", + "TranslateStringNode", + "VideoToImageNode" ], { "title_aux": "ComfyUI-FairLab" } ], + "https://github.com/yanhuifair/comfyui-deepseek": [ + [ + "DeepSeekChatNode", + "DeepSeekChatProNode", + "DeepSeekReasonerNode" + ], + { + "title_aux": "comfyui-deepseek [WIP]" + } + ], + "https://github.com/yichengup/Comfyui-NodeSpark": [ + [ + "ImageCircleWarp", + "ImageStretch", + "ImageWaveWarp", + "LiquifyNode" + ], + { + "title_aux": "Comfyui-NodeSpark" + } + ], "https://github.com/yojimbodayne/ComfyUI-Dropbox-API": [ [ "FetchTokenFromDropbox", @@ -4560,9 +6108,18 @@ "title_aux": "Comfyui_image2prompt" } ], + "https://github.com/zjkhurry/comfyui_MetalFX": [ + [ + "metalFXImg" + ], + { + "title_aux": "comfyui_MetalFX [WIP]" + } + ], "https://github.com/zyd232/ComfyUI-zyd232-Nodes": [ [ - "zyd232 ImagesPixelsCompare" + "zyd232 ImagesPixelsCompare", + "zyd232_SavePreviewImages" ], { "title_aux": "ComfyUI-zyd232-Nodes" diff --git a/node_db/dev/github-stats.json b/node_db/dev/github-stats.json index 7ec45b03..b03bdfd4 100644 --- a/node_db/dev/github-stats.json +++ b/node_db/dev/github-stats.json @@ -1,1772 +1,2252 @@ { "https://github.com/123jimin/ComfyUI-MobileForm": { - "stars": 9, + "stars": 8, "last_update": "2024-08-27 11:02:59", - "author_account_age_days": 4964 + "author_account_age_days": 5036 }, "https://github.com/17Retoucher/ComfyUI_Fooocus": { "stars": 57, "last_update": "2024-02-24 07:33:29", - "author_account_age_days": 370 - }, - "https://github.com/5x00/ComfyUI-LLM-Concat": { - "stars": 1, - "last_update": "2025-01-08 15:54:08", - "author_account_age_days": 1170 + "author_account_age_days": 442 }, "https://github.com/5x00/ComfyUI-Prompt-Plus": { "stars": 1, "last_update": "2025-01-08 15:54:08", - "author_account_age_days": 1170 + "author_account_age_days": 1242 + }, + "https://github.com/7BEII/Comfyui_PDuse": { + "stars": 2, + "last_update": "2025-03-13 13:25:30", + "author_account_age_days": 83 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-ManualSigma": { - "stars": 2, + "stars": 1, "last_update": "2024-12-30 10:45:23", - "author_account_age_days": 671 + "author_account_age_days": 743 }, "https://github.com/A719689614/ComfyUI_AC_FUNV8Beta1": { - "stars": 14, + "stars": 13, "last_update": "2024-03-08 10:11:44", - "author_account_age_days": 513 + "author_account_age_days": 585 }, "https://github.com/AICodeFactory/ComfyUI-Viva": { - "stars": 2, + "stars": 1, "last_update": "2024-12-05 09:17:54", - "author_account_age_days": 267 + "author_account_age_days": 338 }, "https://github.com/AIFSH/ComfyUI-OpenDIT": { "stars": 0, "last_update": "2024-06-30 09:33:55", - "author_account_age_days": 430 + "author_account_age_days": 502 }, "https://github.com/AIFSH/ComfyUI-ViViD": { "stars": 5, "last_update": "2024-06-25 08:16:53", - "author_account_age_days": 430 + "author_account_age_days": 502 }, "https://github.com/AIFSH/HivisionIDPhotos-ComfyUI": { - "stars": 104, + "stars": 119, "last_update": "2024-09-16 14:16:06", - "author_account_age_days": 430 + "author_account_age_days": 502 }, "https://github.com/AIFSH/IMAGDressing-ComfyUI": { - "stars": 59, + "stars": 61, "last_update": "2024-11-14 01:44:02", - "author_account_age_days": 430 + "author_account_age_days": 502 }, "https://github.com/AIFSH/UltralightDigitalHuman-ComfyUI": { - "stars": 113, + "stars": 126, "last_update": "2024-11-25 11:39:23", - "author_account_age_days": 430 + "author_account_age_days": 502 }, "https://github.com/AIFSH/UtilNodes-ComfyUI": { - "stars": 12, + "stars": 13, "last_update": "2024-12-19 06:44:25", - "author_account_age_days": 430 + "author_account_age_days": 502 }, "https://github.com/ALatentPlace/ComfyUI_yanc": { - "stars": 53, - "last_update": "2024-09-19 05:24:38", - "author_account_age_days": 1659 + "stars": 55, + "last_update": "2025-01-22 14:44:17", + "author_account_age_days": 1730 }, "https://github.com/APZmedia/comfyui-textools": { "stars": 4, "last_update": "2024-09-02 09:17:36", - "author_account_age_days": 2676 + "author_account_age_days": 2747 + }, + "https://github.com/AhBumm/ComfyUI-Upscayl": { + "stars": 0, + "last_update": "2025-02-19 09:41:02", + "author_account_age_days": 1079 + }, + "https://github.com/AkiEvansDev/ComfyUI-Tools": { + "stars": 0, + "last_update": "2025-03-17 14:23:20", + "author_account_age_days": 2588 }, "https://github.com/AlexXi19/ComfyUI-OpenAINode": { - "stars": 2, - "last_update": "2024-09-20 06:41:59", - "author_account_age_days": 1629 + "stars": 1, + "last_update": "2025-01-13 18:43:22", + "author_account_age_days": 1701 }, "https://github.com/AllenEdgarPoe/ComfyUI-Xorbis-nodes": { - "stars": 4, + "stars": 3, "last_update": "2024-11-27 01:27:49", - "author_account_age_days": 2304 + "author_account_age_days": 2375 + }, + "https://github.com/Alvaroeai/ComfyUI-SunoAI-Mds": { + "stars": 0, + "last_update": "2025-01-11 21:13:41", + "author_account_age_days": 3972 }, "https://github.com/Anze-/ComfyUI-OIDN": { "stars": 6, "last_update": "2024-11-27 18:05:41", - "author_account_age_days": 4153 + "author_account_age_days": 4225 }, "https://github.com/Anze-/ComfyUI_deepDeband": { - "stars": 4, + "stars": 3, "last_update": "2024-11-12 19:13:59", - "author_account_age_days": 4153 + "author_account_age_days": 4225 + }, + "https://github.com/ArmandAlbert/Kwai_font_comfyui": { + "stars": 1, + "last_update": "2025-01-14 04:02:21", + "author_account_age_days": 2262 }, "https://github.com/ArthusLiang/comfyui-face-remap": { "stars": 4, "last_update": "2024-11-30 12:34:28", - "author_account_age_days": 4215 + "author_account_age_days": 4286 }, "https://github.com/AustinMroz/ComfyUI-MinCache": { "stars": 2, "last_update": "2024-12-25 18:52:07", - "author_account_age_days": 4273 + "author_account_age_days": 4345 }, "https://github.com/AustinMroz/ComfyUI-WorkflowCheckpointing": { "stars": 10, "last_update": "2024-10-17 19:59:40", - "author_account_age_days": 4273 + "author_account_age_days": 4345 }, "https://github.com/BadCafeCode/execution-inversion-demo-comfyui": { - "stars": 54, - "last_update": "2024-10-20 05:32:01", - "author_account_age_days": 629 + "stars": 59, + "last_update": "2025-03-09 00:44:37", + "author_account_age_days": 701 }, "https://github.com/BaronVonBoolean/ComfyUI-FileOps": { - "stars": 1, + "stars": 0, "last_update": "2024-12-22 18:04:20", - "author_account_age_days": 37 + "author_account_age_days": 109 }, "https://github.com/Beinsezii/comfyui-amd-go-fast": { - "stars": 29, + "stars": 35, "last_update": "2024-05-10 00:48:37", - "author_account_age_days": 2425 + "author_account_age_days": 2496 }, "https://github.com/BenjaMITM/ComfyUI_On_The_Fly_Wildcards": { - "stars": 1, + "stars": 0, "last_update": "2024-11-20 06:17:53", - "author_account_age_days": 146 + "author_account_age_days": 218 }, "https://github.com/BetaDoggo/ComfyUI-LogicGates": { - "stars": 3, + "stars": 2, "last_update": "2024-07-21 06:31:25", - "author_account_age_days": 996 + "author_account_age_days": 1068 }, "https://github.com/Big-Idea-Technology/ComfyUI-Movie-Tools": { - "stars": 3, + "stars": 2, "last_update": "2024-11-29 11:13:57", - "author_account_age_days": 1070 + "author_account_age_days": 1142 }, "https://github.com/BlueDangerX/ComfyUI-BDXNodes": { "stars": 1, "last_update": "2023-12-10 04:01:19", - "author_account_age_days": 445 + "author_account_age_days": 517 }, "https://github.com/Brandelan/ComfyUI_bd_customNodes": { "stars": 2, "last_update": "2024-09-08 01:04:38", - "author_account_age_days": 4350 + "author_account_age_days": 4422 + }, + "https://github.com/BuffMcBigHuge/ComfyUI-Buff-Nodes": { + "stars": 1, + "last_update": "2025-03-02 23:59:03", + "author_account_age_days": 3183 }, "https://github.com/Chargeuk/ComfyUI-vts-nodes": { - "stars": 1, - "last_update": "2025-01-06 10:35:52", - "author_account_age_days": 4306 + "stars": 0, + "last_update": "2025-03-21 21:30:35", + "author_account_age_days": 4378 }, "https://github.com/ChrisColeTech/ComfyUI-Get-Random-File": { - "stars": 3, + "stars": 2, "last_update": "2024-09-02 02:30:05", - "author_account_age_days": 2611 + "author_account_age_days": 2683 }, "https://github.com/Clelstyn/ComfyUI-Inpaint_with_Detailer": { - "stars": 2, + "stars": 1, "last_update": "2024-11-02 12:04:53", - "author_account_age_days": 517 + "author_account_age_days": 588 }, "https://github.com/Clybius/ComfyUI-FluxDeCLIP": { - "stars": 2, + "stars": 1, "last_update": "2024-11-17 20:06:29", - "author_account_age_days": 1932 + "author_account_age_days": 2004 }, "https://github.com/Comfy-Org/ComfyUI_devtools": { - "stars": 15, - "last_update": "2025-01-03 22:33:34", - "author_account_age_days": 274 + "stars": 14, + "last_update": "2025-03-12 15:13:34", + "author_account_age_days": 345 }, "https://github.com/ComfyUI-Workflow/ComfyUI-OpenAI": { - "stars": 19, + "stars": 24, "last_update": "2024-10-07 08:25:18", - "author_account_age_days": 96 + "author_account_age_days": 168 + }, + "https://github.com/D1-3105/ComfyUI-VideoStream": { + "stars": 0, + "last_update": "2025-02-17 04:02:01", + "author_account_age_days": 1773 }, "https://github.com/DataCTE/ComfyUI-DataVoid-nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-11-20 14:20:31", - "author_account_age_days": 976 + "author_account_age_days": 1048 }, "https://github.com/DeTK/ComfyUI-Switch": { "stars": 0, "last_update": "2024-03-04 11:52:04", - "author_account_age_days": 2230 + "author_account_age_days": 2301 }, "https://github.com/DoctorDiffusion/ComfyUI-Flashback": { - "stars": 1, + "stars": 0, "last_update": "2024-11-11 01:37:43", - "author_account_age_days": 540 + "author_account_age_days": 612 }, "https://github.com/DrMWeigand/ComfyUI_LineBreakInserter": { "stars": 0, "last_update": "2024-04-19 11:37:19", - "author_account_age_days": 1231 + "author_account_age_days": 1302 }, "https://github.com/DraconicDragon/ComfyUI_e621_booru_toolkit": { - "stars": 1, - "last_update": "2025-01-09 09:31:09", - "author_account_age_days": 1572 + "stars": 3, + "last_update": "2025-03-11 12:04:24", + "author_account_age_days": 1644 + }, + "https://github.com/Dreamshot-io/ComfyUI-Extend-Resolution": { + "stars": 0, + "last_update": "2025-03-20 14:18:54", + "author_account_age_days": 123 }, "https://github.com/Eagle-CN/ComfyUI-Addoor": { - "stars": 21, - "last_update": "2025-01-07 01:35:48", - "author_account_age_days": 2826 + "stars": 39, + "last_update": "2025-01-24 07:50:20", + "author_account_age_days": 2897 }, "https://github.com/Elawphant/ComfyUI-MusicGen": { "stars": 6, "last_update": "2024-05-11 13:33:24", - "author_account_age_days": 2787 + "author_account_age_days": 2858 + }, + "https://github.com/Elypha/ComfyUI-Prompt-Helper": { + "stars": 0, + "last_update": "2025-03-03 21:42:14", + "author_account_age_days": 2802 + }, + "https://github.com/EmanueleUniroma2/ComfyUI-FLAC-to-WAV": { + "stars": 0, + "last_update": "2025-01-26 11:25:43", + "author_account_age_days": 2916 + }, + "https://github.com/EmilioPlumed/ComfyUI-Math": { + "stars": 1, + "last_update": "2025-01-11 14:28:42", + "author_account_age_days": 2248 }, "https://github.com/ExponentialML/ComfyUI_LiveDirector": { "stars": 37, "last_update": "2024-04-09 19:01:49", - "author_account_age_days": 1822 + "author_account_age_days": 1894 }, "https://github.com/Extraltodeus/Conditioning-token-experiments-for-ComfyUI": { "stars": 18, "last_update": "2024-03-10 01:04:02", - "author_account_age_days": 3348 + "author_account_age_days": 3420 }, "https://github.com/Fannovel16/ComfyUI-AppIO": { - "stars": 1, + "stars": 0, "last_update": "2024-12-01 16:37:19", - "author_account_age_days": 3331 + "author_account_age_days": 3402 }, "https://github.com/FinetunersAI/comfyui-fast-group-link": { - "stars": 1, + "stars": 0, "last_update": "2024-12-09 17:35:50", - "author_account_age_days": 220 + "author_account_age_days": 291 }, "https://github.com/FinetunersAI/finetuners": { - "stars": 2, + "stars": 1, "last_update": "2025-01-06 16:29:33", - "author_account_age_days": 220 + "author_account_age_days": 291 }, "https://github.com/FoundD-oka/ComfyUI-kisekae-OOTD": { "stars": 0, "last_update": "2024-06-02 06:13:42", - "author_account_age_days": 636 + "author_account_age_days": 708 }, "https://github.com/Fucci-Mateo/ComfyUI-Airtable": { - "stars": 0, + "stars": 1, "last_update": "2024-06-25 13:35:18", - "author_account_age_days": 1077 + "author_account_age_days": 1149 }, "https://github.com/GentlemanHu/ComfyUI-Notifier": { "stars": 3, "last_update": "2024-07-14 15:38:44", - "author_account_age_days": 2582 + "author_account_age_days": 2654 }, "https://github.com/Grant-CP/ComfyUI-LivePortraitKJ-MPS": { "stars": 12, "last_update": "2024-07-11 22:04:16", - "author_account_age_days": 1372 + "author_account_age_days": 1444 }, "https://github.com/Grey3016/Save2Icon": { - "stars": 1, + "stars": 3, "last_update": "2025-01-06 15:18:57", - "author_account_age_days": 527 + "author_account_age_days": 599 }, "https://github.com/GrindHouse66/ComfyUI-GH_Tools": { "stars": 0, "last_update": "2024-03-10 13:27:14", - "author_account_age_days": 823 + "author_account_age_days": 894 }, "https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-09 21:45:33", - "author_account_age_days": 2113 + "author_account_age_days": 2185 + }, + "https://github.com/HuangYuChuh/ComfyUI-DeepSeek-Toolkit": { + "stars": 12, + "last_update": "2025-03-06 08:27:47", + "author_account_age_days": 335 + }, + "https://github.com/IfnotFr/ComfyUI-Connect": { + "stars": 1, + "last_update": "2025-03-15 08:26:46", + "author_account_age_days": 4855 + }, + "https://github.com/IfnotFr/ComfyUI-Ifnot-Pack": { + "stars": 1, + "last_update": "2025-02-05 08:51:23", + "author_account_age_days": 4855 }, "https://github.com/IgPoly/ComfyUI-igTools": { - "stars": 1, + "stars": 0, "last_update": "2024-09-11 08:48:57", - "author_account_age_days": 126 + "author_account_age_days": 198 }, "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4": { - "stars": 155, + "stars": 171, "last_update": "2024-09-03 02:02:45", - "author_account_age_days": 610 + "author_account_age_days": 681 }, "https://github.com/IvanZhd/comfyui-codeformer": { "stars": 0, "last_update": "2023-12-02 20:51:52", - "author_account_age_days": 2777 + "author_account_age_days": 2849 }, "https://github.com/Jaxkr/comfyui-terminal-command": { "stars": 1, "last_update": "2023-12-03 10:31:40", - "author_account_age_days": 4826 + "author_account_age_days": 4898 }, "https://github.com/JayLyu/ComfyUI_BaiKong_Node": { - "stars": 9, + "stars": 8, "last_update": "2024-10-19 04:52:23", - "author_account_age_days": 3467 - }, - "https://github.com/JichaoLiang/Immortal_comfyUI": { - "stars": 3, - "last_update": "2024-12-11 07:46:34", - "author_account_age_days": 1222 + "author_account_age_days": 3539 }, "https://github.com/Jiffies-64/ComfyUI-SaveImagePlus": { "stars": 0, "last_update": "2024-04-01 10:52:59", - "author_account_age_days": 1090 + "author_account_age_days": 1162 }, "https://github.com/JissiChoi/ComfyUI-Jissi-List": { - "stars": 1, + "stars": 0, "last_update": "2024-12-24 08:24:27", - "author_account_age_days": 2417 + "author_account_age_days": 2489 + }, + "https://github.com/JoeAu/ComfyUI-PythonNode": { + "stars": 0, + "last_update": "2025-03-16 13:05:38", + "author_account_age_days": 4456 }, "https://github.com/Jordach/comfy-consistency-vae": { "stars": 69, "last_update": "2023-11-06 20:50:40", - "author_account_age_days": 4712 + "author_account_age_days": 4783 }, "https://github.com/Junst/ComfyUI-PNG2SVG2PNG": { - "stars": 1, + "stars": 0, "last_update": "2024-12-04 02:25:04", - "author_account_age_days": 2737 + "author_account_age_days": 2809 + }, + "https://github.com/Kayarte/Time-Series-Nodes-for-ComfyUI": { + "stars": 1, + "last_update": "2025-01-29 02:33:25", + "author_account_age_days": 324 + }, + "https://github.com/KihongK/comfyui-roysnodes": { + "stars": 0, + "last_update": "2025-01-23 09:11:02", + "author_account_age_days": 1832 }, "https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack": { - "stars": 3, + "stars": 9, "last_update": "2024-11-24 15:55:30", - "author_account_age_days": 3389 + "author_account_age_days": 3460 + }, + "https://github.com/Krish-701/RK_Comfyui": { + "stars": 0, + "last_update": "2025-02-04 10:15:15", + "author_account_age_days": 126 + }, + "https://github.com/KurtHokke/ComfyUI_KurtHokke-Nodes": { + "stars": 0, + "last_update": "2025-03-18 15:25:21", + "author_account_age_days": 95 + }, + "https://github.com/LAOGOU-666/Comfyui_StartPatch": { + "stars": 41, + "last_update": "2025-02-24 17:22:34", + "author_account_age_days": 365 }, "https://github.com/LZpenguin/ComfyUI-Text": { - "stars": 23, + "stars": 22, "last_update": "2024-06-20 13:38:16", - "author_account_age_days": 2178 + "author_account_age_days": 2249 }, "https://github.com/LarryJane491/ComfyUI-ModelUnloader": { "stars": 3, "last_update": "2024-01-14 08:22:39", - "author_account_age_days": 363 + "author_account_age_days": 434 }, "https://github.com/Laser-one/ComfyUI-align-pose": { "stars": 0, "last_update": "2024-11-01 09:34:31", - "author_account_age_days": 1031 + "author_account_age_days": 1103 }, "https://github.com/Lilien86/Comfyui_Lilien": { - "stars": 2, + "stars": 1, "last_update": "2024-09-03 21:00:49", - "author_account_age_days": 693 + "author_account_age_days": 764 }, "https://github.com/Looking-Glass/LKG-ComfyUI": { "stars": 4, "last_update": "2024-10-30 17:02:54", - "author_account_age_days": 3184 + "author_account_age_days": 3255 }, "https://github.com/LotzF/ComfyUI-Simple-Chat-GPT-completion": { - "stars": 1, - "last_update": "2024-12-13 11:18:22", - "author_account_age_days": 1128 + "stars": 0, + "last_update": "2025-02-27 15:07:36", + "author_account_age_days": 1200 + }, + "https://github.com/LucipherDev/ComfyUI-Sentinel": { + "stars": 22, + "last_update": "2025-02-22 15:17:01", + "author_account_age_days": 1767 }, "https://github.com/LykosAI/ComfyUI-Inference-Core-Nodes": { - "stars": 32, - "last_update": "2024-08-10 16:50:33", - "author_account_age_days": 577 + "stars": 33, + "last_update": "2025-02-23 06:25:12", + "author_account_age_days": 649 + }, + "https://github.com/M4lF3s/comfy-tif-support": { + "stars": 0, + "last_update": "2025-02-12 09:29:11", + "author_account_age_days": 3494 + }, + "https://github.com/ManuShamil/ComfyUI_BodyEstimation_Nodes": { + "stars": 0, + "last_update": "2025-02-28 19:23:24", + "author_account_age_days": 2423 }, "https://github.com/Matrix-King-Studio/ComfyUI-MoviePy": { - "stars": 1, + "stars": 0, "last_update": "2024-12-10 01:50:42", - "author_account_age_days": 1662 + "author_account_age_days": 1734 }, "https://github.com/Maxim-Dey/ComfyUI-MaksiTools": { - "stars": 4, - "last_update": "2025-01-05 19:26:43", - "author_account_age_days": 611 + "stars": 3, + "last_update": "2025-02-08 08:04:03", + "author_account_age_days": 683 + }, + "https://github.com/MickeyJ/ComfyUI_mickster_nodes": { + "stars": 0, + "last_update": "2025-02-07 02:29:12", + "author_account_age_days": 3484 + }, + "https://github.com/MockbaTheBorg/ComfyUI-Mockba": { + "stars": 0, + "last_update": "2025-02-28 05:20:27", + "author_account_age_days": 3350 }, "https://github.com/MrAdamBlack/CheckProgress": { "stars": 1, "last_update": "2024-01-10 08:02:18", - "author_account_age_days": 2919 + "author_account_age_days": 2990 }, "https://github.com/MythicalChu/ComfyUI-APG_ImYourCFGNow": { "stars": 30, "last_update": "2024-11-29 17:45:03", - "author_account_age_days": 1693 + "author_account_age_days": 1765 + }, + "https://github.com/NEZHA625/ComfyUI-tools-by-dong": { + "stars": 1, + "last_update": "2025-03-19 14:03:49", + "author_account_age_days": 728 + }, + "https://github.com/Nambi24/ComfyUI-Save_Image": { + "stars": 0, + "last_update": "2025-03-17 14:58:17", + "author_account_age_days": 1155 }, "https://github.com/NicholasKao1029/comfyui-hook": { "stars": 0, "last_update": "2024-03-07 05:50:56", - "author_account_age_days": 2229 + "author_account_age_days": 2301 }, - "https://github.com/PluMaZero/ComfyUI-SpaceFlower": { - "stars": 4, - "last_update": "2023-12-09 05:55:15", - "author_account_age_days": 1257 + "https://github.com/Northerner1/ComfyUI_North_Noise": { + "stars": 1, + "last_update": "2025-03-01 12:32:29", + "author_account_age_days": 712 + }, + "https://github.com/OSAnimate/ComfyUI-SpriteSheetMaker": { + "stars": 0, + "last_update": "2025-03-12 04:22:34", + "author_account_age_days": 717 + }, + "https://github.com/PATATAJEC/Patatajec-Nodes": { + "stars": 2, + "last_update": "2025-02-26 16:26:39", + "author_account_age_days": 2205 + }, + "https://github.com/Pablerdo/ComfyUI-Sa2VAWrapper": { + "stars": 1, + "last_update": "2025-03-22 01:26:16", + "author_account_age_days": 3071 }, "https://github.com/Poseidon-fan/ComfyUI-fileCleaner": { "stars": 1, "last_update": "2024-11-19 02:42:29", - "author_account_age_days": 781 + "author_account_age_days": 852 }, "https://github.com/Poukpalaova/ComfyUI-FRED-Nodes": { - "stars": 4, - "last_update": "2024-11-26 20:49:18", - "author_account_age_days": 521 + "stars": 3, + "last_update": "2025-03-20 02:10:59", + "author_account_age_days": 592 }, "https://github.com/Quasimondo/ComfyUI-QuasimondoNodes": { - "stars": 13, + "stars": 12, "last_update": "2024-07-31 13:01:18", - "author_account_age_days": 5474 + "author_account_age_days": 5545 + }, + "https://github.com/RLW-Chars/comfyui-promptbymood": { + "stars": 1, + "last_update": "2025-01-25 11:21:59", + "author_account_age_days": 55 + }, + "https://github.com/RUFFY-369/ComfyUI-FeatureBank": { + "stars": 0, + "last_update": "2025-03-07 19:30:55", + "author_account_age_days": 1747 }, "https://github.com/RicherdLee/comfyui-oss-image-save": { - "stars": 1, + "stars": 0, "last_update": "2024-12-10 09:08:39", - "author_account_age_days": 3842 + "author_account_age_days": 3914 }, "https://github.com/RobeSantoro/ComfyUI-RobeNodes": { - "stars": 1, - "last_update": "2024-11-19 07:44:26", - "author_account_age_days": 4815 + "stars": 0, + "last_update": "2025-03-10 11:40:35", + "author_account_age_days": 4887 + }, + "https://github.com/RoyKillington/miscomfy-nodes": { + "stars": 0, + "last_update": "2025-03-06 19:36:33", + "author_account_age_days": 2676 + }, + "https://github.com/S4MUEL-404/ComfyUI-Folder-Images-Preview": { + "stars": 2, + "last_update": "2025-03-09 11:29:04", + "author_account_age_days": 3357 }, "https://github.com/SS-snap/ComfyUI-Snap_Processing": { "stars": 60, "last_update": "2024-10-22 07:38:50", - "author_account_age_days": 499 + "author_account_age_days": 570 }, "https://github.com/SadaleNet/ComfyUI-Prompt-To-Prompt": { - "stars": 22, + "stars": 23, "last_update": "2024-03-17 04:30:01", - "author_account_age_days": 4239 + "author_account_age_days": 4310 }, "https://github.com/Sai-ComfyUI/ComfyUI-MS-Nodes": { "stars": 2, "last_update": "2024-02-22 08:34:44", - "author_account_age_days": 408 + "author_account_age_days": 479 }, "https://github.com/Sakura-nee/ComfyUI_Save2Discord": { - "stars": 1, + "stars": 0, "last_update": "2024-08-27 19:01:46", - "author_account_age_days": 1510 + "author_account_age_days": 1582 + }, + "https://github.com/Scaryplasmon/ComfTrellis": { + "stars": 7, + "last_update": "2025-02-18 11:34:33", + "author_account_age_days": 1296 }, "https://github.com/SeedV/ComfyUI-SeedV-Nodes": { - "stars": 2, - "last_update": "2025-01-06 08:42:32", - "author_account_age_days": 1325 + "stars": 1, + "last_update": "2025-03-05 06:21:18", + "author_account_age_days": 1396 }, "https://github.com/ShahFaisalWani/ComfyUI-Mojen-Nodeset": { - "stars": 1, - "last_update": "2025-01-04 11:07:41", - "author_account_age_days": 609 + "stars": 0, + "last_update": "2025-01-17 08:27:28", + "author_account_age_days": 681 }, "https://github.com/Shinsplat/ComfyUI-Shinsplat": { - "stars": 36, - "last_update": "2024-12-26 15:28:54", - "author_account_age_days": 1223 + "stars": 40, + "last_update": "2025-03-15 00:02:11", + "author_account_age_days": 1295 }, "https://github.com/ShmuelRonen/ComfyUI-FreeMemory": { - "stars": 56, - "last_update": "2024-10-19 17:01:30", - "author_account_age_days": 1404 + "stars": 72, + "last_update": "2025-03-20 11:25:12", + "author_account_age_days": 1475 }, "https://github.com/SirVeggie/comfyui-sv-nodes": { - "stars": 6, - "last_update": "2024-12-10 01:28:56", - "author_account_age_days": 2659 + "stars": 5, + "last_update": "2025-02-28 01:31:14", + "author_account_age_days": 2731 }, "https://github.com/SoftMeng/ComfyUI-PIL": { - "stars": 6, + "stars": 5, "last_update": "2024-10-13 10:02:17", - "author_account_age_days": 3722 + "author_account_age_days": 3794 + }, + "https://github.com/Solankimayursinh/PMSnodes": { + "stars": 0, + "last_update": "2025-03-18 08:16:46", + "author_account_age_days": 135 }, "https://github.com/Soppatorsk/comfyui_img_to_ascii": { - "stars": 1, + "stars": 0, "last_update": "2024-09-07 15:39:28", - "author_account_age_days": 1339 + "author_account_age_days": 1410 }, "https://github.com/SpaceWarpStudio/ComfyUI_Remaker_FaceSwap": { "stars": 0, "last_update": "2024-07-15 11:57:20", - "author_account_age_days": 3155 + "author_account_age_days": 3226 }, - "https://github.com/StableDiffusionVN/SDVN_Comfy_node": { - "stars": 16, - "last_update": "2025-01-05 12:11:14", - "author_account_age_days": 157 + "https://github.com/SpatialDeploy/ComfyUI-Voxels": { + "stars": 3, + "last_update": "2025-01-15 15:16:48", + "author_account_age_days": 107 }, "https://github.com/StartHua/Comfyui_CSDMT_CXH": { - "stars": 18, + "stars": 19, "last_update": "2024-07-11 15:36:03", - "author_account_age_days": 3034 + "author_account_age_days": 3106 }, "https://github.com/StartHua/Comfyui_CXH_CRM": { - "stars": 41, + "stars": 44, "last_update": "2024-06-06 14:15:14", - "author_account_age_days": 3034 + "author_account_age_days": 3106 + }, + "https://github.com/StartHua/Comfyui_CXH_joy_caption": { + "stars": 532, + "last_update": "2025-02-06 02:35:10", + "author_account_age_days": 3106 }, "https://github.com/StartHua/Comfyui_Flux_Style_Ctr": { - "stars": 90, + "stars": 94, "last_update": "2024-11-22 09:25:11", - "author_account_age_days": 3034 + "author_account_age_days": 3106 }, "https://github.com/StartHua/Comfyui_leffa": { - "stars": 161, + "stars": 214, "last_update": "2024-12-18 03:04:54", - "author_account_age_days": 3034 + "author_account_age_days": 3106 }, - "https://github.com/T8star1984/comfyui-purgevram": { - "stars": 71, - "last_update": "2024-11-01 06:31:44", - "author_account_age_days": 313 + "https://github.com/StoryWalker/comfyui_flux_collection_advanced": { + "stars": 0, + "last_update": "2025-03-09 19:41:30", + "author_account_age_days": 81 + }, + "https://github.com/Symbiomatrix/Comfyui-Sort-Files": { + "stars": 0, + "last_update": "2025-01-11 00:44:21", + "author_account_age_days": 2445 }, "https://github.com/TSFSean/ComfyUI-TSFNodes": { "stars": 6, "last_update": "2024-05-18 00:59:06", - "author_account_age_days": 3671 + "author_account_age_days": 3743 }, "https://github.com/ThisModernDay/ComfyUI-InstructorOllama": { "stars": 7, "last_update": "2024-08-20 00:30:24", - "author_account_age_days": 3928 + "author_account_age_days": 4000 + }, + "https://github.com/UD1sto/plugin-utils-nodes": { + "stars": 0, + "last_update": "2025-02-02 22:23:18", + "author_account_age_days": 1555 + }, + "https://github.com/Velour-Fog/comfy-latent-nodes": { + "stars": 2, + "last_update": "2025-02-24 00:34:41", + "author_account_age_days": 1231 }, "https://github.com/Video3DGenResearch/comfyui-batch-input-node": { "stars": 1, "last_update": "2024-04-28 15:21:17", - "author_account_age_days": 305 + "author_account_age_days": 377 }, "https://github.com/VisionExp/ve_custom_comfyui_nodes": { "stars": 0, "last_update": "2024-07-17 11:51:54", - "author_account_age_days": 204 + "author_account_age_days": 275 }, "https://github.com/WASasquatch/ASTERR": { - "stars": 26, + "stars": 29, "last_update": "2024-10-27 01:48:56", - "author_account_age_days": 4824 + "author_account_age_days": 4896 }, "https://github.com/WSJUSA/Comfyui-StableSR": { - "stars": 45, + "stars": 47, "last_update": "2023-10-18 12:40:30", - "author_account_age_days": 1623 + "author_account_age_days": 1695 }, "https://github.com/WilliamStanford/ComfyUI-VisualLabs": { "stars": 1, "last_update": "2024-04-16 21:53:02", - "author_account_age_days": 1969 + "author_account_age_days": 2040 + }, + "https://github.com/Yeonri/ComfyUI_LLM_Are_You_Listening": { + "stars": 0, + "last_update": "2025-02-21 00:35:03", + "author_account_age_days": 807 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-AuraSR-ZHO": { - "stars": 89, + "stars": 92, "last_update": "2024-07-11 07:33:30", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO": { - "stars": 303, + "stars": 332, "last_update": "2024-07-30 23:24:24", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Llama-3-2": { - "stars": 19, + "stars": 17, "last_update": "2024-09-26 18:08:01", - "author_account_age_days": 539 + "author_account_age_days": 610 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PuLID-ZHO": { - "stars": 227, + "stars": 232, "last_update": "2024-05-22 13:38:23", - "author_account_age_days": 539 + "author_account_age_days": 610 + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Wan-ZHO": { + "stars": 7, + "last_update": "2025-02-26 05:46:42", + "author_account_age_days": 610 + }, + "https://github.com/a-One-Fan/ComfyUI-Blenderesque-Nodes": { + "stars": 2, + "last_update": "2025-02-08 12:36:23", + "author_account_age_days": 1125 + }, + "https://github.com/a-und-b/ComfyUI_Output_as_Input": { + "stars": 0, + "last_update": "2025-02-01 13:45:08", + "author_account_age_days": 710 }, "https://github.com/aiden1020/ComfyUI_Artcoder": { "stars": 2, - "last_update": "2024-12-31 10:19:53", - "author_account_age_days": 668 + "last_update": "2025-01-11 08:31:32", + "author_account_age_days": 740 }, "https://github.com/ainanoha/etm_comfyui_nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-31 05:45:59", - "author_account_age_days": 4453 + "author_account_age_days": 4524 }, "https://github.com/alexisrolland/ComfyUI-AuraSR": { - "stars": 26, + "stars": 28, "last_update": "2024-10-12 14:14:59", - "author_account_age_days": 3485 + "author_account_age_days": 3556 + }, + "https://github.com/alt-key-project/comfyui-dream-painter": { + "stars": 2, + "last_update": "2025-02-23 10:19:26", + "author_account_age_days": 931 }, "https://github.com/alt-key-project/comfyui-dream-video-batches": { - "stars": 66, - "last_update": "2024-12-07 20:06:38", - "author_account_age_days": 859 + "stars": 68, + "last_update": "2025-02-23 10:28:40", + "author_account_age_days": 931 + }, + "https://github.com/ammahmoudi/ComfyUI-Legendary-Nodes": { + "stars": 0, + "last_update": "2025-03-15 07:26:17", + "author_account_age_days": 1212 }, "https://github.com/animEEEmpire/ComfyUI-Animemory-Loader": { - "stars": 3, - "last_update": "2024-12-05 07:09:11", - "author_account_age_days": 44 + "stars": 2, + "last_update": "2025-01-20 08:02:58", + "author_account_age_days": 116 }, "https://github.com/aria1th/ComfyUI-CairoSVG": { "stars": 0, "last_update": "2025-01-07 19:40:19", - "author_account_age_days": 2544 + "author_account_age_days": 2615 }, "https://github.com/aria1th/ComfyUI-SkipCFGSigmas": { - "stars": 3, - "last_update": "2024-11-02 07:27:30", - "author_account_age_days": 2544 + "stars": 2, + "last_update": "2025-03-05 07:50:45", + "author_account_age_days": 2615 + }, + "https://github.com/aria1th/ComfyUI-camietagger-onnx": { + "stars": 0, + "last_update": "2025-03-06 01:55:51", + "author_account_age_days": 2615 }, "https://github.com/artem-konevskikh/comfyui-split-merge-video": { - "stars": 1, + "stars": 3, "last_update": "2024-11-19 00:11:17", - "author_account_age_days": 4570 + "author_account_age_days": 4642 }, "https://github.com/artisanalcomputing/ComfyUI-Custom-Nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-13 05:55:33", - "author_account_age_days": 2474 + "author_account_age_days": 2546 }, "https://github.com/ashishsaini/comfyui-segment-clothing-sleeves": { "stars": 2, "last_update": "2024-09-23 19:09:15", - "author_account_age_days": 4147 - }, - "https://github.com/attashe/ComfyUI-FluxRegionAttention": { - "stars": 97, - "last_update": "2024-11-02 22:17:36", - "author_account_age_days": 3823 + "author_account_age_days": 4219 }, "https://github.com/backearth1/Comfyui-MiniMax-Video": { - "stars": 17, - "last_update": "2024-12-19 04:41:17", - "author_account_age_days": 451 + "stars": 19, + "last_update": "2025-03-12 15:26:35", + "author_account_age_days": 522 + }, + "https://github.com/badmike/comfyui-prompt-factory": { + "stars": 0, + "last_update": "2025-02-18 09:28:53", + "author_account_age_days": 4950 }, "https://github.com/baicai99/ComfyUI-FrameSkipping": { - "stars": 9, + "stars": 8, "last_update": "2024-12-03 09:26:50", - "author_account_age_days": 1030 + "author_account_age_days": 1101 }, "https://github.com/bananasss00/Comfyui-PyExec": { - "stars": 2, - "last_update": "2024-12-22 18:06:46", - "author_account_age_days": 2733 + "stars": 1, + "last_update": "2025-02-26 12:01:18", + "author_account_age_days": 2804 }, "https://github.com/beyastard/ComfyUI_BeySoft": { "stars": 0, "last_update": "2024-05-26 22:44:55", - "author_account_age_days": 4485 + "author_account_age_days": 4557 }, "https://github.com/birnam/ComfyUI-GenData-Pack": { "stars": 0, "last_update": "2024-03-25 01:25:23", - "author_account_age_days": 5208 + "author_account_age_days": 5280 }, "https://github.com/blib-la/ComfyUI-Captain-Extensions": { "stars": 0, "last_update": "2024-05-17 23:27:25", - "author_account_age_days": 472 + "author_account_age_days": 544 }, "https://github.com/blurymind/cozy-fireplace": { "stars": 4, "last_update": "2024-11-08 19:42:20", - "author_account_age_days": 4002 + "author_account_age_days": 4074 }, "https://github.com/bmad4ever/comfyui_bmad_nodes": { - "stars": 61, - "last_update": "2024-09-02 19:42:07", - "author_account_age_days": 3735 + "stars": 63, + "last_update": "2025-03-17 14:50:46", + "author_account_age_days": 3807 }, "https://github.com/bruce007lee/comfyui-cleaner": { "stars": 3, "last_update": "2024-04-20 15:36:03", - "author_account_age_days": 4711 + "author_account_age_days": 4783 }, "https://github.com/bruce007lee/comfyui-tiny-utils": { - "stars": 2, + "stars": 1, "last_update": "2024-08-31 13:34:57", - "author_account_age_days": 4711 + "author_account_age_days": 4783 }, "https://github.com/brycegoh/comfyui-custom-nodes": { "stars": 0, "last_update": "2024-06-05 09:30:06", - "author_account_age_days": 3307 + "author_account_age_days": 3379 }, "https://github.com/c0ffymachyne/ComfyUI_SignalProcessing": { - "stars": 3, + "stars": 4, "last_update": "2024-12-28 19:14:00", - "author_account_age_days": 4714 + "author_account_age_days": 4785 + }, + "https://github.com/catboxanon/ComfyUI-Pixelsmith": { + "stars": 3, + "last_update": "2025-01-22 03:02:05", + "author_account_age_days": 802 }, "https://github.com/celll1/cel_sampler": { - "stars": 2, + "stars": 1, "last_update": "2024-11-20 13:04:54", - "author_account_age_days": 429 + "author_account_age_days": 500 }, "https://github.com/chaojie/ComfyUI-DynamiCrafter": { - "stars": 128, + "stars": 129, "last_update": "2024-06-14 10:23:59", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chaojie/ComfyUI-mobvoi-openapi": { "stars": 2, "last_update": "2024-05-29 09:02:52", - "author_account_age_days": 5032 + "author_account_age_days": 5104 }, "https://github.com/chenbaiyujason/ComfyUI_StepFun": { - "stars": 5, + "stars": 6, "last_update": "2024-12-05 14:45:27", - "author_account_age_days": 1933 + "author_account_age_days": 2005 }, "https://github.com/chengzeyi/Comfy-WaveSpeed": { - "stars": 217, - "last_update": "2025-01-09 08:21:34", - "author_account_age_days": 2976 + "stars": 896, + "last_update": "2025-02-07 17:12:50", + "author_account_age_days": 3047 }, "https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI": { "stars": 4, "last_update": "2024-08-29 03:54:28", - "author_account_age_days": 3317 + "author_account_age_days": 3389 }, "https://github.com/christian-byrne/infinite-zoom-parallax-nodes": { "stars": 5, "last_update": "2024-07-08 15:07:05", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/christian-byrne/python-interpreter-node": { - "stars": 45, + "stars": 49, "last_update": "2025-01-05 19:54:48", - "author_account_age_days": 1547 + "author_account_age_days": 1619 }, "https://github.com/ciga2011/ComfyUI-AppGen": { - "stars": 1, + "stars": 0, "last_update": "2025-01-02 17:00:32", - "author_account_age_days": 4398 + "author_account_age_days": 4469 }, "https://github.com/comfyanonymous/ComfyUI": { - "stars": 62914, - "last_update": "2025-01-09 12:12:32", - "author_account_age_days": 748 + "stars": 71827, + "last_update": "2025-03-22 00:10:31", + "author_account_age_days": 819 }, "https://github.com/comfyanonymous/ComfyUI_bitsandbytes_NF4": { - "stars": 357, + "stars": 388, "last_update": "2024-08-16 18:06:10", - "author_account_age_days": 748 + "author_account_age_days": 819 }, "https://github.com/comfypod/ComfyUI-Comflow": { "stars": 0, "last_update": "2024-06-17 08:44:08", - "author_account_age_days": 222 + "author_account_age_days": 293 + }, + "https://github.com/comfyuiblog/deepseek_prompt_generator_comfyui": { + "stars": 1, + "last_update": "2025-01-28 21:28:11", + "author_account_age_days": 161 }, "https://github.com/corbin-hayden13/ComfyUI-Better-Dimensions": { "stars": 7, "last_update": "2024-06-12 17:45:21", - "author_account_age_days": 2014 + "author_account_age_days": 2086 }, "https://github.com/cubiq/Comfy_Dungeon": { - "stars": 239, + "stars": 251, "last_update": "2024-04-26 11:00:58", - "author_account_age_days": 5210 + "author_account_age_days": 5281 + }, + "https://github.com/cwebbi1/VoidCustomNodes": { + "stars": 0, + "last_update": "2024-10-07 02:23:02", + "author_account_age_days": 276 }, "https://github.com/denislov/Comfyui_AutoSurvey": { - "stars": 2, + "stars": 1, "last_update": "2024-08-03 06:50:57", - "author_account_age_days": 2186 + "author_account_age_days": 2258 }, "https://github.com/dfl/comfyui-stylegan": { "stars": 0, "last_update": "2024-12-29 18:35:27", - "author_account_age_days": 6173 + "author_account_age_days": 6245 }, "https://github.com/dihan/comfyui-random-kps": { - "stars": 2, + "stars": 1, "last_update": "2025-01-01 22:48:11", - "author_account_age_days": 4495 + "author_account_age_days": 4567 }, "https://github.com/doucx/ComfyUI_WcpD_Utility_Kit": { "stars": 1, "last_update": "2024-01-06 19:07:45", - "author_account_age_days": 2522 + "author_account_age_days": 2593 }, "https://github.com/dowands/ComfyUI-AddMaskForICLora": { - "stars": 2, + "stars": 1, "last_update": "2024-11-26 09:40:06", - "author_account_age_days": 2738 + "author_account_age_days": 2809 }, "https://github.com/downlifted/ComfyUI_BWiZ_Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-12-27 17:03:52", - "author_account_age_days": 2446 + "author_account_age_days": 2517 }, "https://github.com/eigenpunk/ComfyUI-audio": { - "stars": 79, + "stars": 85, "last_update": "2024-03-03 21:14:14", - "author_account_age_days": 1124 + "author_account_age_days": 1196 }, "https://github.com/ejektaflex/ComfyUI-Ty": { "stars": 0, "last_update": "2024-06-12 16:08:16", - "author_account_age_days": 2971 + "author_account_age_days": 3042 }, "https://github.com/emranemran/ComfyUI-FasterLivePortrait": { - "stars": 1, + "stars": 0, "last_update": "2024-12-18 20:03:19", - "author_account_age_days": 4384 + "author_account_age_days": 4455 }, "https://github.com/endman100/ComfyUI-SaveAndLoadPromptCondition": { "stars": 0, "last_update": "2024-07-03 09:35:02", - "author_account_age_days": 2672 + "author_account_age_days": 2744 }, "https://github.com/endman100/ComfyUI-augmentation": { - "stars": 1, + "stars": 0, "last_update": "2024-07-23 09:06:24", - "author_account_age_days": 2672 + "author_account_age_days": 2744 }, "https://github.com/ericbeyer/guidance_interval": { "stars": 2, "last_update": "2024-04-16 03:24:01", - "author_account_age_days": 2793 + "author_account_age_days": 2865 }, "https://github.com/esciron/ComfyUI-HunyuanVideoWrapper-Extended": { - "stars": 6, + "stars": 4, "last_update": "2025-01-04 22:27:09", - "author_account_age_days": 3193 - }, - "https://github.com/evolox/ComfyUI-GeneraNodes": { - "stars": 2, - "last_update": "2025-01-08 16:09:12", - "author_account_age_days": 482 + "author_account_age_days": 3264 }, "https://github.com/exectails/comfyui-et_scripting": { - "stars": 2, + "stars": 1, "last_update": "2024-11-29 17:23:07", - "author_account_age_days": 4117 + "author_account_age_days": 4188 + }, + "https://github.com/eyekayem/comfyui_runway_gen3": { + "stars": 0, + "last_update": "2025-01-27 06:59:45", + "author_account_age_days": 883 }, "https://github.com/fablestudio/ComfyUI-Showrunner-Utils": { - "stars": 1, - "last_update": "2024-11-16 21:13:22", - "author_account_age_days": 2247 + "stars": 0, + "last_update": "2025-03-07 01:17:32", + "author_account_age_days": 2319 + }, + "https://github.com/fangziheng2321/comfyuinode_chopmask": { + "stars": 0, + "last_update": "2025-02-17 03:16:50", + "author_account_age_days": 1442 }, "https://github.com/flowtyone/comfyui-flowty-lcm": { "stars": 62, "last_update": "2023-10-23 12:08:55", - "author_account_age_days": 472 + "author_account_age_days": 544 }, "https://github.com/flyingdogsoftware/gyre_for_comfyui": { - "stars": 2, + "stars": 1, "last_update": "2024-11-18 22:35:37", - "author_account_age_days": 2212 + "author_account_age_days": 2283 }, "https://github.com/foglerek/comfyui-cem-tools": { "stars": 1, "last_update": "2024-01-13 23:22:07", - "author_account_age_days": 4237 + "author_account_age_days": 4309 + }, + "https://github.com/franky519/comfyui-redux-style": { + "stars": 0, + "last_update": "2025-02-13 10:04:45", + "author_account_age_days": 547 }, "https://github.com/fritzprix/ComfyUI-LLM-Utils": { - "stars": 2, + "stars": 1, "last_update": "2025-01-04 23:25:38", - "author_account_age_days": 4926 + "author_account_age_days": 4998 }, "https://github.com/futureversecom/ComfyUI-JEN": { - "stars": 2, + "stars": 1, "last_update": "2024-08-06 00:24:56", - "author_account_age_days": 918 + "author_account_age_days": 990 }, "https://github.com/galoreware/ComfyUI-GaloreNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-24 05:47:23", - "author_account_age_days": 1624 + "author_account_age_days": 1695 }, "https://github.com/gameltb/ComfyUI_paper_playground": { - "stars": 11, + "stars": 10, "last_update": "2025-01-08 22:48:06", - "author_account_age_days": 4254 + "author_account_age_days": 4325 }, "https://github.com/gameltb/ComfyUI_stable_fast": { - "stars": 207, + "stars": 205, "last_update": "2024-08-04 09:25:33", - "author_account_age_days": 4254 + "author_account_age_days": 4325 }, "https://github.com/gameltb/io_comfyui": { - "stars": 5, - "last_update": "2024-04-06 04:40:05", - "author_account_age_days": 4254 + "stars": 6, + "last_update": "2025-02-04 15:14:01", + "author_account_age_days": 4325 }, "https://github.com/gioferreira/ComfyUI-Molde-Utils": { - "stars": 1, - "last_update": "2024-12-11 20:10:04", - "author_account_age_days": 3159 + "stars": 0, + "last_update": "2025-02-27 20:53:33", + "author_account_age_days": 3231 }, "https://github.com/githubYiheng/comfyui_median_filter": { "stars": 0, "last_update": "2024-07-03 11:38:39", - "author_account_age_days": 4102 + "author_account_age_days": 4173 }, "https://github.com/gitmylo/FlowNodes": { - "stars": 8, + "stars": 9, "last_update": "2025-01-07 15:59:52", - "author_account_age_days": 2506 + "author_account_age_days": 2578 }, "https://github.com/glamorfleet0i/ComfyUI-Firewall": { - "stars": 1, + "stars": 0, "last_update": "2024-12-30 02:14:57", - "author_account_age_days": 17 + "author_account_age_days": 88 + }, + "https://github.com/gmorks/ComfyUI-Animagine-Prompt": { + "stars": 8, + "last_update": "2025-02-21 08:34:05", + "author_account_age_days": 2565 }, "https://github.com/go-package-lab/ComfyUI-Tools-Video-Combine": { - "stars": 2, + "stars": 1, "last_update": "2024-09-24 03:54:00", - "author_account_age_days": 1583 + "author_account_age_days": 1654 + }, + "https://github.com/gold24park/loki-comfyui-node": { + "stars": 0, + "last_update": "2025-02-07 01:55:07", + "author_account_age_days": 3561 }, "https://github.com/grimli333/ComfyUI_Grim": { - "stars": 1, + "stars": 0, "last_update": "2024-12-01 18:10:07", - "author_account_age_days": 4963 + "author_account_age_days": 5035 + }, + "https://github.com/grinlau18/ComfyUI_XISER_Nodes": { + "stars": 0, + "last_update": "2025-03-21 06:53:35", + "author_account_age_days": 574 }, "https://github.com/hananbeer/node_dev": { - "stars": 7, + "stars": 6, "last_update": "2024-08-19 08:08:39", - "author_account_age_days": 1743 + "author_account_age_days": 1814 }, "https://github.com/haodman/ComfyUI_Rain": { - "stars": 2, + "stars": 1, "last_update": "2024-09-01 10:41:20", - "author_account_age_days": 2339 + "author_account_age_days": 2410 }, "https://github.com/haofanwang/ComfyUI-InstantStyle": { "stars": 7, "last_update": "2024-05-23 16:11:13", - "author_account_age_days": 3176 + "author_account_age_days": 3248 }, "https://github.com/haomole/Comfyui-SadTalker": { "stars": 15, "last_update": "2024-08-05 02:44:26", - "author_account_age_days": 500 + "author_account_age_days": 571 }, "https://github.com/hay86/ComfyUI_AceNodes": { - "stars": 44, - "last_update": "2024-12-31 08:39:13", - "author_account_age_days": 4866 + "stars": 62, + "last_update": "2025-03-06 22:19:11", + "author_account_age_days": 4937 }, - "https://github.com/hgabha/WWAA-CustomNodes": { - "stars": 6, - "last_update": "2025-01-04 23:43:25", - "author_account_age_days": 354 + "https://github.com/hayden-fr/ComfyUI-Image-Browsing": { + "stars": 16, + "last_update": "2025-02-03 03:08:36", + "author_account_age_days": 2208 + }, + "https://github.com/hdfhssg/ComfyUI_pxtool": { + "stars": 4, + "last_update": "2025-03-02 06:23:44", + "author_account_age_days": 1514 + }, + "https://github.com/hiusdev/ComfyUI_Lah_Toffee": { + "stars": 0, + "last_update": "2025-02-14 12:40:14", + "author_account_age_days": 1614 }, "https://github.com/horidream/ComfyUI-Horidream": { - "stars": 1, + "stars": 0, "last_update": "2024-09-08 08:57:57", - "author_account_age_days": 5242 + "author_account_age_days": 5314 }, "https://github.com/hotpizzatactics/ComfyUI-WaterMark-Detector": { - "stars": 1, + "stars": 0, "last_update": "2024-07-23 14:36:35", - "author_account_age_days": 176 + "author_account_age_days": 247 }, "https://github.com/hotpot-killer/ComfyUI_AlexNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-12-06 09:09:03", - "author_account_age_days": 2425 + "author_account_age_days": 2496 }, "https://github.com/houdinii/comfy-magick": { "stars": 4, "last_update": "2024-03-11 06:40:54", - "author_account_age_days": 3719 + "author_account_age_days": 3790 }, "https://github.com/huizhang0110/ComfyUI_Easy_Nodes_hui": { "stars": 2, "last_update": "2024-02-27 08:22:49", - "author_account_age_days": 2654 + "author_account_age_days": 2725 + }, + "https://github.com/hunterssl/ComfyUI_SSLNodes": { + "stars": 0, + "last_update": "2025-01-20 07:23:52", + "author_account_age_days": 3106 }, "https://github.com/hy134300/comfyui-hb-node": { "stars": 0, "last_update": "2024-04-09 09:56:22", - "author_account_age_days": 1960 + "author_account_age_days": 2031 }, "https://github.com/hy134300/comfyui-hydit": { - "stars": 8, + "stars": 9, "last_update": "2024-06-07 09:52:15", - "author_account_age_days": 1960 + "author_account_age_days": 2031 + }, + "https://github.com/if-ai/ComfyUI-IF_Zonos": { + "stars": 1, + "last_update": "2025-02-18 01:28:04", + "author_account_age_days": 3133 }, "https://github.com/ilovejohnwhite/Tracer": { - "stars": 1, + "stars": 0, "last_update": "2024-11-26 03:39:33", - "author_account_age_days": 1072 + "author_account_age_days": 1144 }, "https://github.com/immersiveexperience/ie-comfyui-color-nodes": { "stars": 2, "last_update": "2024-06-18 10:54:55", - "author_account_age_days": 468 + "author_account_age_days": 539 }, "https://github.com/io-club/ComfyUI-LuminaNext": { "stars": 0, "last_update": "2024-09-23 12:02:22", - "author_account_age_days": 838 + "author_account_age_days": 909 }, "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": { - "stars": 8, - "last_update": "2025-01-09 13:24:22", - "author_account_age_days": 4677 + "stars": 12, + "last_update": "2025-02-26 05:03:05", + "author_account_age_days": 4748 + }, + "https://github.com/jcomeme/ComfyUI-AsunaroTools": { + "stars": 1, + "last_update": "2025-03-21 03:57:39", + "author_account_age_days": 5120 }, "https://github.com/jgbrblmd/ComfyUI-ComfyFluxSize": { - "stars": 1, + "stars": 0, "last_update": "2024-08-30 06:42:39", - "author_account_age_days": 655 + "author_account_age_days": 726 + }, + "https://github.com/jgbyte/ComfyUI-RandomCube": { + "stars": 0, + "last_update": "2025-02-19 23:13:05", + "author_account_age_days": 226 }, "https://github.com/jimmm-ai/TimeUi-a-ComfyUi-Timeline-Node": { - "stars": 224, + "stars": 223, "last_update": "2024-07-04 11:44:03", - "author_account_age_days": 219 + "author_account_age_days": 291 }, "https://github.com/jimstudt/ComfyUI-Jims-Nodes": { - "stars": 1, - "last_update": "2024-10-15 16:56:45", - "author_account_age_days": 5146 + "stars": 0, + "last_update": "2025-01-21 17:36:29", + "author_account_age_days": 5218 }, "https://github.com/jn-jairo/jn_node_suite_comfyui": { "stars": 6, "last_update": "2024-06-08 05:15:33", - "author_account_age_days": 4183 + "author_account_age_days": 4255 }, "https://github.com/jonnydolake/ComfyUI-AIR-Nodes": { - "stars": 1, - "last_update": "2024-12-23 21:10:00", - "author_account_age_days": 748 + "stars": 2, + "last_update": "2025-03-18 18:22:10", + "author_account_age_days": 819 }, "https://github.com/jordancoult/ComfyUI_HelpfulNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-29 00:53:48", - "author_account_age_days": 2624 + "author_account_age_days": 2696 + }, + "https://github.com/jschoormans/Comfy-InterestingPixels": { + "stars": 1, + "last_update": "2025-02-05 08:34:17", + "author_account_age_days": 3810 }, "https://github.com/jtscmw01/ComfyUI-DiffBIR": { - "stars": 181, + "stars": 238, "last_update": "2024-05-21 05:28:34", - "author_account_age_days": 701 + "author_account_age_days": 772 }, "https://github.com/jtydhr88/ComfyUI-Unique3D": { - "stars": 198, + "stars": 205, "last_update": "2024-10-18 10:37:10", - "author_account_age_days": 4952 + "author_account_age_days": 5023 }, "https://github.com/kadirnar/ComfyUI-Adapter": { "stars": 3, "last_update": "2024-04-03 12:05:39", - "author_account_age_days": 2528 + "author_account_age_days": 2600 }, "https://github.com/kandy/ComfyUI-KAndy": { - "stars": 1, - "last_update": "2024-12-18 01:38:39", - "author_account_age_days": 5672 + "stars": 0, + "last_update": "2025-03-07 00:26:21", + "author_account_age_days": 5743 }, "https://github.com/kappa54m/ComfyUI_Usability": { - "stars": 1, + "stars": 0, "last_update": "2024-08-08 15:31:47", - "author_account_age_days": 1710 + "author_account_age_days": 1781 }, "https://github.com/karthikg-09/ComfyUI-3ncrypt": { - "stars": 1, + "stars": 0, "last_update": "2024-12-27 09:09:07", - "author_account_age_days": 395 + "author_account_age_days": 466 }, "https://github.com/kijai/ComfyUI-CV-VAE": { "stars": 10, "last_update": "2024-06-03 21:46:49", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-DeepSeek-VL": { - "stars": 32, + "stars": 45, "last_update": "2024-05-21 16:43:40", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-DiffSynthWrapper": { "stars": 59, "last_update": "2024-06-22 00:16:46", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-DiffusersSD3Wrapper": { "stars": 9, "last_update": "2024-06-17 13:03:43", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-EasyAnimateWrapper": { - "stars": 81, + "stars": 83, "last_update": "2024-08-14 02:20:18", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-FollowYourEmojiWrapper": { "stars": 47, "last_update": "2024-07-27 12:50:25", - "author_account_age_days": 2382 + "author_account_age_days": 2453 + }, + "https://github.com/kijai/ComfyUI-Hunyuan3DWrapper": { + "stars": 465, + "last_update": "2025-03-21 18:52:58", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": { - "stars": 1483, - "last_update": "2025-01-06 22:39:12", - "author_account_age_days": 2382 + "stars": 2269, + "last_update": "2025-03-11 16:31:59", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-MMAudio": { - "stars": 201, - "last_update": "2024-12-11 22:09:55", - "author_account_age_days": 2382 + "stars": 284, + "last_update": "2025-01-23 17:06:52", + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-MochiWrapper": { - "stars": 732, + "stars": 771, "last_update": "2024-11-11 13:54:57", - "author_account_age_days": 2382 + "author_account_age_days": 2453 }, "https://github.com/kijai/ComfyUI-VEnhancer": { - "stars": 67, + "stars": 72, "last_update": "2024-11-02 00:24:36", - "author_account_age_days": 2382 + "author_account_age_days": 2453 + }, + "https://github.com/kijai/ComfyUI-VideoNoiseWarp": { + "stars": 139, + "last_update": "2025-02-08 16:13:22", + "author_account_age_days": 2453 + }, + "https://github.com/kijai/ComfyUI-WanVideoWrapper": { + "stars": 1534, + "last_update": "2025-03-22 00:45:13", + "author_account_age_days": 2453 }, "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Advanced-Watermarks": { - "stars": 10, + "stars": 15, "last_update": "2025-01-08 12:50:40", - "author_account_age_days": 55 + "author_account_age_days": 127 + }, + "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL": { + "stars": 0, + "last_update": "2025-03-21 07:16:56", + "author_account_age_days": 127 }, "https://github.com/kk8bit/KayTool": { - "stars": 8, - "last_update": "2024-11-08 12:51:52", - "author_account_age_days": 556 - }, - "https://github.com/kostenickj/jk-comfyui-helpers": { - "stars": 4, - "last_update": "2024-12-19 10:22:42", - "author_account_age_days": 3248 + "stars": 23, + "last_update": "2025-03-21 16:59:59", + "author_account_age_days": 627 }, "https://github.com/krich-cto/ComfyUI-Flow-Control": { - "stars": 2, - "last_update": "2024-12-19 04:44:00", - "author_account_age_days": 1464 + "stars": 1, + "last_update": "2025-03-17 02:47:26", + "author_account_age_days": 1535 + }, + "https://github.com/krisshen2021/comfyui_OpenRouterNodes": { + "stars": 0, + "last_update": "2025-02-22 02:29:36", + "author_account_age_days": 1458 }, "https://github.com/kuschanow/ComfyUI-SD-Slicer": { - "stars": 1, + "stars": 0, "last_update": "2024-12-08 16:59:31", - "author_account_age_days": 1580 + "author_account_age_days": 1652 }, "https://github.com/kxh/ComfyUI-ImageUpscaleWithModelMultipleTimes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-16 13:53:50", - "author_account_age_days": 4746 + "author_account_age_days": 4817 }, "https://github.com/kxh/ComfyUI-sam2": { - "stars": 2, + "stars": 1, "last_update": "2024-10-10 18:06:11", - "author_account_age_days": 4746 + "author_account_age_days": 4817 }, "https://github.com/kycg/comfyui-Kwtoolset": { - "stars": 1, + "stars": 0, "last_update": "2024-11-04 21:14:07", - "author_account_age_days": 1139 + "author_account_age_days": 1211 }, "https://github.com/kylegrover/comfyui-python-cowboy": { - "stars": 2, + "stars": 1, "last_update": "2024-11-04 18:37:04", - "author_account_age_days": 2851 + "author_account_age_days": 2923 + }, + "https://github.com/l1yongch1/ComfyUI-YcNodes": { + "stars": 0, + "last_update": "2025-03-20 06:28:36", + "author_account_age_days": 1046 }, "https://github.com/laksjdjf/ssd-1b-comfyui": { "stars": 1, "last_update": "2023-10-27 20:05:06", - "author_account_age_days": 3030 + "author_account_age_days": 3101 }, "https://github.com/lcolok/ComfyUI-MagicAI": { "stars": 7, "last_update": "2024-11-14 08:21:40", - "author_account_age_days": 2612 + "author_account_age_days": 2684 }, "https://github.com/leadbreak/comfyui-faceaging": { - "stars": 72, + "stars": 81, "last_update": "2024-10-31 08:25:21", - "author_account_age_days": 1572 + "author_account_age_days": 1643 }, "https://github.com/leeguandong/ComfyUI_AliControlnetInpainting": { - "stars": 4, + "stars": 3, "last_update": "2024-09-25 10:44:58", - "author_account_age_days": 2993 + "author_account_age_days": 3065 }, "https://github.com/leoleelxh/ComfyUI-MidjourneyNode-leoleexh": { - "stars": 11, + "stars": 16, "last_update": "2024-08-01 03:37:17", - "author_account_age_days": 4274 + "author_account_age_days": 4346 }, "https://github.com/lgldlk/ComfyUI-img-tiler": { - "stars": 2, + "stars": 1, "last_update": "2024-10-17 07:56:42", - "author_account_age_days": 1889 + "author_account_age_days": 1960 }, "https://github.com/lichenhao/Comfyui_Ryota": { - "stars": 1, + "stars": 0, "last_update": "2024-09-07 08:25:54", - "author_account_age_days": 4566 + "author_account_age_days": 4637 }, "https://github.com/linhusyung/comfyui-Build-and-train-your-network": { "stars": 105, "last_update": "2024-06-26 05:44:43", - "author_account_age_days": 877 + "author_account_age_days": 948 }, "https://github.com/logtd/ComfyUI-Fluxtapoz": { - "stars": 984, + "stars": 1183, "last_update": "2025-01-09 02:38:40", - "author_account_age_days": 321 + "author_account_age_days": 393 }, "https://github.com/logtd/ComfyUI-HunyuanLoom": { - "stars": 141, - "last_update": "2025-01-06 22:04:15", - "author_account_age_days": 321 + "stars": 413, + "last_update": "2025-02-21 21:01:57", + "author_account_age_days": 393 }, "https://github.com/logtd/ComfyUI-Veevee": { - "stars": 62, + "stars": 61, "last_update": "2024-08-12 03:04:12", - "author_account_age_days": 321 + "author_account_age_days": 393 }, "https://github.com/longgui0318/comfyui-one-more-step": { "stars": 1, "last_update": "2024-05-07 08:40:56", - "author_account_age_days": 4364 + "author_account_age_days": 4435 + }, + "https://github.com/longzoho/ComfyUI-Qdrant-Saver": { + "stars": 0, + "last_update": "2025-03-07 13:44:52", + "author_account_age_days": 1789 }, "https://github.com/lordwedggie/xcpNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-11-15 06:24:48", - "author_account_age_days": 752 + "author_account_age_days": 823 }, "https://github.com/ltdrdata/ComfyUI-Workflow-Component": { - "stars": 226, + "stars": 232, "last_update": "2024-07-30 08:08:28", - "author_account_age_days": 661 + "author_account_age_days": 733 + }, + "https://github.com/ltdrdata/comfyui-unsafe-torch": { + "stars": 3, + "last_update": "2025-03-17 15:32:28", + "author_account_age_days": 733 }, "https://github.com/lu64k/SK-Nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-11-18 03:47:34", - "author_account_age_days": 590 + "author_account_age_days": 662 + }, + "https://github.com/lum3on/comfyui_LLM_Polymath": { + "stars": 50, + "last_update": "2025-03-19 14:10:19", + "author_account_age_days": 45 }, "https://github.com/m-ai-studio/mai-prompt-progress": { - "stars": 1, + "stars": 0, "last_update": "2025-01-08 13:42:28", - "author_account_age_days": 248 + "author_account_age_days": 319 + }, + "https://github.com/maekawataiki/ComfyUI-ALB-Login": { + "stars": 3, + "last_update": "2025-01-17 02:10:49", + "author_account_age_days": 2934 }, "https://github.com/majorsauce/comfyui_indieTools": { "stars": 0, "last_update": "2024-06-25 08:59:57", - "author_account_age_days": 2004 + "author_account_age_days": 2076 }, "https://github.com/mamorett/ComfyUI-SmolVLM": { "stars": 3, "last_update": "2024-11-30 14:31:14", - "author_account_age_days": 950 + "author_account_age_days": 1022 }, "https://github.com/marcueberall/ComfyUI-BuildPath": { "stars": 0, "last_update": "2024-02-06 07:57:33", - "author_account_age_days": 1981 + "author_account_age_days": 2053 }, "https://github.com/marduk191/comfyui-marnodes": { - "stars": 4, + "stars": 3, "last_update": "2024-09-11 06:05:49", - "author_account_age_days": 4614 + "author_account_age_days": 4685 }, "https://github.com/maruhidd/ComfyUI_Transparent-Background": { - "stars": 5, + "stars": 4, "last_update": "2024-06-14 07:02:56", - "author_account_age_days": 2454 + "author_account_age_days": 2526 }, "https://github.com/mashb1t/comfyui-nodes-mashb1t": { "stars": 0, "last_update": "2024-06-11 15:55:53", - "author_account_age_days": 3734 + "author_account_age_days": 3806 + }, + "https://github.com/masmullin2000/ComfyUI-MMYolo": { + "stars": 0, + "last_update": "2025-02-22 22:23:02", + "author_account_age_days": 4349 }, "https://github.com/mehbebe/ComfyLoraGallery": { "stars": 1, "last_update": "2024-12-29 12:44:29", - "author_account_age_days": 557 + "author_account_age_days": 629 }, "https://github.com/melMass/ComfyUI-Lygia": { "stars": 0, "last_update": "2024-07-14 09:59:10", - "author_account_age_days": 3944 + "author_account_age_days": 4016 }, "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext": { "stars": 2, - "last_update": "2024-11-29 13:12:52", - "author_account_age_days": 2516 + "last_update": "2025-02-23 20:16:11", + "author_account_age_days": 2588 + }, + "https://github.com/mikebilly/Transparent-background-comfyUI": { + "stars": 2, + "last_update": "2025-01-29 16:29:23", + "author_account_age_days": 2834 }, "https://github.com/mikeymcfish/FishTools": { - "stars": 21, + "stars": 23, "last_update": "2024-07-13 20:51:17", - "author_account_age_days": 3602 + "author_account_age_days": 3674 }, "https://github.com/minhtuannhn/comfyui-gemini-studio": { - "stars": 1, + "stars": 0, "last_update": "2024-11-19 16:05:05", - "author_account_age_days": 1380 + "author_account_age_days": 1451 }, "https://github.com/miragecoa/ComfyUI-LLM-Evaluation": { - "stars": 2, + "stars": 1, "last_update": "2024-11-21 01:29:48", - "author_account_age_days": 765 + "author_account_age_days": 836 + }, + "https://github.com/mliand/ComfyUI-Calendar-Node": { + "stars": 0, + "last_update": "2025-01-10 07:33:40", + "author_account_age_days": 656 + }, + "https://github.com/mohamedsobhi777/ComfyUI-FramerComfy": { + "stars": 0, + "last_update": "2025-01-25 14:39:17", + "author_account_age_days": 2690 + }, + "https://github.com/molbal/comfy-url-fetcher": { + "stars": 0, + "last_update": "2025-02-02 13:37:48", + "author_account_age_days": 4167 }, "https://github.com/monate0615/ComfyUI-Affine-Transform": { "stars": 2, "last_update": "2024-10-05 17:42:40", - "author_account_age_days": 158 + "author_account_age_days": 230 }, "https://github.com/monate0615/ComfyUI-Simple-Image-Tools": { - "stars": 1, + "stars": 0, "last_update": "2024-10-12 18:29:58", - "author_account_age_days": 158 + "author_account_age_days": 230 }, - "https://github.com/motivated3/comfyui-shua-creator": { - "stars": 7, - "last_update": "2024-12-05 10:39:52", - "author_account_age_days": 3005 + "https://github.com/mr-krak3n/ComfyUI-Qwen": { + "stars": 18, + "last_update": "2025-03-08 12:12:29", + "author_account_age_days": 2312 }, "https://github.com/mut-ex/comfyui-gligengui-node": { - "stars": 47, + "stars": 49, "last_update": "2024-02-28 02:46:05", - "author_account_age_days": 3057 + "author_account_age_days": 3129 + }, + "https://github.com/muvich3n/ComfyUI-Claude-I2T": { + "stars": 0, + "last_update": "2025-01-15 07:50:46", + "author_account_age_days": 1569 + }, + "https://github.com/muvich3n/ComfyUI-Crop-Border": { + "stars": 0, + "last_update": "2025-02-24 10:01:53", + "author_account_age_days": 1569 + }, + "https://github.com/myAiLemon/MagicAutomaticPicture": { + "stars": 0, + "last_update": "2025-02-02 15:27:32", + "author_account_age_days": 394 + }, + "https://github.com/naderzare/comfyui-inodes": { + "stars": 0, + "last_update": "2025-02-05 04:32:29", + "author_account_age_days": 2961 }, "https://github.com/nat-chan/comfyui-exec": { "stars": 3, "last_update": "2024-05-28 11:56:37", - "author_account_age_days": 3192 + "author_account_age_days": 3264 }, "https://github.com/nat-chan/comfyui-paint": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 11:01:38", - "author_account_age_days": 3192 + "author_account_age_days": 3264 }, "https://github.com/nat-chan/transceiver": { "stars": 1, "last_update": "2024-05-01 10:03:01", - "author_account_age_days": 3192 + "author_account_age_days": 3264 }, "https://github.com/neeltheninja/ComfyUI-TempFileDeleter": { - "stars": 1, + "stars": 0, "last_update": "2024-10-26 19:25:43", - "author_account_age_days": 2077 + "author_account_age_days": 2149 }, "https://github.com/neeltheninja/ComfyUI-TextOverlay": { - "stars": 1, + "stars": 0, "last_update": "2024-07-31 18:40:19", - "author_account_age_days": 2077 + "author_account_age_days": 2149 }, "https://github.com/neo0801/my-comfy-node": { - "stars": 1, + "stars": 0, "last_update": "2024-09-20 07:49:04", - "author_account_age_days": 3979 + "author_account_age_days": 4050 }, "https://github.com/netanelben/comfyui-camera2image-customnode": { - "stars": 2, + "stars": 1, "last_update": "2024-09-29 15:14:57", - "author_account_age_days": 4081 + "author_account_age_days": 4152 }, "https://github.com/netanelben/comfyui-image2image-customnode": { - "stars": 2, + "stars": 1, "last_update": "2024-09-29 12:50:53", - "author_account_age_days": 4081 + "author_account_age_days": 4152 }, "https://github.com/netanelben/comfyui-photobooth-customnode": { - "stars": 1, + "stars": 0, "last_update": "2024-10-02 08:00:05", - "author_account_age_days": 4081 + "author_account_age_days": 4152 }, "https://github.com/netanelben/comfyui-text2image-customnode": { - "stars": 4, + "stars": 3, "last_update": "2024-09-29 15:19:37", - "author_account_age_days": 4081 - }, - "https://github.com/neuratech-ai/ComfyUI-MultiGPU": { - "stars": 165, - "last_update": "2024-08-04 16:37:11", - "author_account_age_days": 272 + "author_account_age_days": 4152 }, "https://github.com/neverbiasu/ComfyUI-ControlNeXt": { - "stars": 4, + "stars": 3, "last_update": "2024-08-15 08:15:43", - "author_account_age_days": 1218 + "author_account_age_days": 1289 + }, + "https://github.com/neverbiasu/ComfyUI-DeepSeek": { + "stars": 0, + "last_update": "2025-02-01 04:17:59", + "author_account_age_days": 1289 }, "https://github.com/neverbiasu/ComfyUI-StereoCrafter": { - "stars": 2, + "stars": 3, "last_update": "2024-12-30 13:32:43", - "author_account_age_days": 1218 + "author_account_age_days": 1289 }, "https://github.com/nidefawl/ComfyUI-nidefawl": { "stars": 0, "last_update": "2024-01-16 18:16:41", - "author_account_age_days": 5067 + "author_account_age_days": 5138 }, "https://github.com/nikkuexe/ComfyUI-ListDataHelpers": { - "stars": 1, + "stars": 0, "last_update": "2024-09-21 16:15:57", - "author_account_age_days": 4748 + "author_account_age_days": 4819 }, "https://github.com/nkchocoai/ComfyUI-PromptUtilities": { - "stars": 10, + "stars": 12, "last_update": "2024-10-19 14:44:42", - "author_account_age_days": 359 - }, - "https://github.com/nmlen/comfyui-mosaic-blur": { - "stars": 1, - "last_update": "2025-01-07 23:16:26", - "author_account_age_days": 476 + "author_account_age_days": 430 }, "https://github.com/nomcycle/ComfyUI_Cluster": { - "stars": 1, - "last_update": "2025-01-09 00:25:16", - "author_account_age_days": 4537 + "stars": 3, + "last_update": "2025-03-14 05:19:03", + "author_account_age_days": 4609 }, "https://github.com/norgeous/ComfyUI-UI-Builder": { - "stars": 10, + "stars": 9, "last_update": "2024-08-11 22:22:04", - "author_account_age_days": 4228 + "author_account_age_days": 4300 }, "https://github.com/oshtz/ComfyUI-oshtz-nodes": { "stars": 5, - "last_update": "2024-11-16 20:04:56", - "author_account_age_days": 624 + "last_update": "2025-03-03 14:44:49", + "author_account_age_days": 696 + }, + "https://github.com/osuiso-depot/comfyui-keshigom_custom": { + "stars": 0, + "last_update": "2025-02-27 10:01:17", + "author_account_age_days": 1380 + }, + "https://github.com/owengillett/ComfyUI-tilefusion": { + "stars": 0, + "last_update": "2025-02-19 11:05:53", + "author_account_age_days": 2003 }, "https://github.com/oxysoft/ComfyUI-uiapi": { - "stars": 1, - "last_update": "2024-12-10 06:01:44", - "author_account_age_days": 4310 + "stars": 0, + "last_update": "2025-01-27 18:29:08", + "author_account_age_days": 4382 }, "https://github.com/oyvindg/ComfyUI-TrollSuite": { - "stars": 2, + "stars": 3, "last_update": "2024-08-15 10:37:43", - "author_account_age_days": 2529 + "author_account_age_days": 2600 }, "https://github.com/oztrkoguz/ComfyUI_Kosmos2_BBox_Cutter": { - "stars": 18, + "stars": 17, "last_update": "2024-07-25 05:50:01", - "author_account_age_days": 1040 + "author_account_age_days": 1112 }, "https://github.com/pamparamm/ComfyUI-ppm": { - "stars": 143, - "last_update": "2025-01-03 07:53:12", - "author_account_age_days": 2330 + "stars": 158, + "last_update": "2025-03-19 14:13:35", + "author_account_age_days": 2401 + }, + "https://github.com/parmarjh/ComfyUI-MochiWrapper-I2V": { + "stars": 0, + "last_update": "2025-01-10 14:28:51", + "author_account_age_days": 1831 }, "https://github.com/paulhoux/Smart-Prompting": { - "stars": 1, - "last_update": "2024-09-20 08:43:53", - "author_account_age_days": 5322 + "stars": 0, + "last_update": "2025-03-10 09:16:44", + "author_account_age_days": 5394 }, "https://github.com/phamngoctukts/ComyUI-Tupham": { "stars": 1, "last_update": "2025-01-09 04:02:54", - "author_account_age_days": 4086 + "author_account_age_days": 4158 + }, + "https://github.com/pixuai/ComfyUI-PixuAI": { + "stars": 0, + "last_update": "2025-03-01 13:56:56", + "author_account_age_days": 20 }, "https://github.com/poisenbery/NudeNet-Detector-Provider": { "stars": 1, "last_update": "2024-02-26 02:11:27", - "author_account_age_days": 1436 + "author_account_age_days": 1507 }, "https://github.com/power88/ComfyUI-PDiD-Nodes": { "stars": 0, "last_update": "2025-01-04 11:21:29", - "author_account_age_days": 2930 + "author_account_age_days": 3001 }, "https://github.com/prabinpebam/anyPython": { - "stars": 12, - "last_update": "2024-07-01 04:07:16", - "author_account_age_days": 4441 - }, - "https://github.com/prismwastaken/prism-comfyui-tools": { - "stars": 0, - "last_update": "2024-03-05 14:34:56", - "author_account_age_days": 356 + "stars": 11, + "last_update": "2025-02-15 06:56:01", + "author_account_age_days": 4513 }, "https://github.com/prodogape/ComfyUI-clip-interrogator": { - "stars": 52, + "stars": 54, "last_update": "2024-07-27 18:33:22", - "author_account_age_days": 1229 + "author_account_age_days": 1300 }, "https://github.com/pschroedl/ComfyUI-StreamDiffusion": { "stars": 3, - "last_update": "2025-01-04 04:27:00", - "author_account_age_days": 4186 + "last_update": "2025-01-20 23:55:46", + "author_account_age_days": 4258 }, "https://github.com/pzzmyc/comfyui-sd3-simple-simpletuner": { "stars": 1, "last_update": "2024-06-19 12:48:18", - "author_account_age_days": 2298 + "author_account_age_days": 2369 }, "https://github.com/ralonsobeas/ComfyUI-HDRConversion": { - "stars": 6, + "stars": 4, "last_update": "2024-12-12 20:21:26", - "author_account_age_days": 2257 + "author_account_age_days": 2329 }, "https://github.com/redhottensors/ComfyUI-ODE": { - "stars": 49, + "stars": 48, "last_update": "2024-08-01 06:57:05", - "author_account_age_days": 338 + "author_account_age_days": 410 + }, + "https://github.com/rhinoflavored/comfyui_QT": { + "stars": 0, + "last_update": "2025-03-18 08:35:59", + "author_account_age_days": 267 + }, + "https://github.com/ricklove/ComfyUI-AutoSeg-SAM2": { + "stars": 0, + "last_update": "2025-03-15 20:46:14", + "author_account_age_days": 5103 + }, + "https://github.com/rishipandey125/ComfyUI-FramePacking": { + "stars": 0, + "last_update": "2025-02-21 01:11:45", + "author_account_age_days": 2621 }, "https://github.com/risunobushi/ComfyUI_FocusMask": { - "stars": 6, + "stars": 4, "last_update": "2024-12-09 11:52:53", - "author_account_age_days": 846 + "author_account_age_days": 917 }, - "https://github.com/rohitsainier/ComfyUI-InstagramDownloader": { - "stars": 12, - "last_update": "2025-01-02 08:47:22", - "author_account_age_days": 3352 + "https://github.com/risunobushi/ComfyUI_HEXtoRGB": { + "stars": 1, + "last_update": "2025-01-28 14:37:42", + "author_account_age_days": 917 + }, + "https://github.com/ritikvirus/comfyui-terminal-modal-node": { + "stars": 0, + "last_update": "2025-03-01 20:03:57", + "author_account_age_days": 2450 }, "https://github.com/romeobuilderotti/ComfyUI-EZ-Pipes": { "stars": 3, "last_update": "2023-11-15 22:00:49", - "author_account_age_days": 489 + "author_account_age_days": 561 }, "https://github.com/rouxianmantou/comfyui-rxmt-nodes": { - "stars": 1, - "last_update": "2024-10-12 08:04:58", - "author_account_age_days": 3375 + "stars": 0, + "last_update": "2025-02-10 07:40:44", + "author_account_age_days": 3447 }, "https://github.com/ruka-game/rukalib_comfyui": { - "stars": 1, + "stars": 0, "last_update": "2024-10-03 23:59:55", - "author_account_age_days": 104 + "author_account_age_days": 175 }, "https://github.com/ryanontheinside/ComfyUI_YoloNasObjectDetection_Tensorrt": { - "stars": 1, + "stars": 0, "last_update": "2024-12-31 17:43:33", - "author_account_age_days": 3888 + "author_account_age_days": 3960 }, "https://github.com/sangeet/testui": { "stars": 2, "last_update": "2024-05-15 00:55:17", - "author_account_age_days": 5279 - }, - "https://github.com/scottmudge/ComfyUI_BiscuitNodes": { - "stars": 1, - "last_update": "2024-12-23 05:18:17", - "author_account_age_days": 3148 + "author_account_age_days": 5350 }, "https://github.com/sdfxai/SDFXBridgeForComfyUI": { "stars": 11, "last_update": "2024-06-14 10:26:56", - "author_account_age_days": 434 + "author_account_age_days": 505 }, "https://github.com/seancheung/comfyui-creative-nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-13 06:22:45", - "author_account_age_days": 4137 - }, - "https://github.com/sebord/ComfyUI-LMCQ": { - "stars": 30, - "last_update": "2025-01-08 12:10:06", - "author_account_age_days": 986 - }, - "https://github.com/sh570655308/ComfyUI-GigapixelAI": { - "stars": 105, - "last_update": "2025-01-07 14:16:36", - "author_account_age_days": 2701 - }, - "https://github.com/sh570655308/ComfyUI-TopazVideoAI": { - "stars": 80, - "last_update": "2025-01-08 05:49:33", - "author_account_age_days": 2701 + "author_account_age_days": 4208 }, "https://github.com/shadowcz007/ComfyUI-PuLID-Test": { "stars": 9, "last_update": "2024-05-12 14:37:28", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/Comfyui-EzAudio": { "stars": 1, "last_update": "2024-09-22 03:17:40", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-CLIPSeg": { "stars": 2, "last_update": "2024-02-08 02:16:24", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-hydit-lowvram": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 10:04:09", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shadowcz007/comfyui-sd-prompt-mixlab": { "stars": 15, "last_update": "2024-05-21 19:47:56", - "author_account_age_days": 3514 + "author_account_age_days": 3585 }, "https://github.com/shinich39/comfyui-event-handler": { "stars": 1, - "last_update": "2024-12-18 14:20:31", - "author_account_age_days": 511 + "last_update": "2025-03-19 17:15:13", + "author_account_age_days": 583 }, "https://github.com/shirazdesigner/CLIPTextEncodeAndEnhancev4": { - "stars": 0, + "stars": 1, "last_update": "2024-04-27 13:25:08", - "author_account_age_days": 4161 + "author_account_age_days": 4232 }, "https://github.com/shuanshuan/ComfyUI_CheckPointLoader_Ext": { - "stars": 1, + "stars": 0, "last_update": "2024-08-27 02:24:05", - "author_account_age_days": 4317 + "author_account_age_days": 4388 + }, + "https://github.com/silveroxides/ComfyUI-ModelUtils": { + "stars": 0, + "last_update": "2025-03-14 22:56:21", + "author_account_age_days": 1772 + }, + "https://github.com/sizzlebop/comfyui-llm-prompt-enhancer": { + "stars": 5, + "last_update": "2025-01-28 12:43:25", + "author_account_age_days": 59 + }, + "https://github.com/smthemex/ComfyUI_GPT_SoVITS_Lite": { + "stars": 5, + "last_update": "2025-03-17 06:45:58", + "author_account_age_days": 625 + }, + "https://github.com/smthemex/ComfyUI_MangaNinjia": { + "stars": 41, + "last_update": "2025-03-17 08:14:08", + "author_account_age_days": 625 }, "https://github.com/sofakid/dandy": { - "stars": 46, + "stars": 49, "last_update": "2024-05-27 21:46:18", - "author_account_age_days": 4252 + "author_account_age_days": 4324 }, "https://github.com/sourceful-official/ComfyUI_InstructPixToPixConditioningLatent": { - "stars": 1, + "stars": 3, "last_update": "2025-01-03 13:20:33", - "author_account_age_days": 1682 + "author_account_age_days": 1753 + }, + "https://github.com/sourceful-official/comfyui-sourceful-official": { + "stars": 0, + "last_update": "2025-01-27 14:58:03", + "author_account_age_days": 1753 }, "https://github.com/sswink/comfyui-lingshang": { "stars": 0, "last_update": "2024-11-06 15:04:22", - "author_account_age_days": 2735 + "author_account_age_days": 2806 }, "https://github.com/stavsap/ComfyUI-React-SDK": { "stars": 10, "last_update": "2024-03-17 21:54:21", - "author_account_age_days": 4283 + "author_account_age_days": 4354 }, "https://github.com/steelan9199/ComfyUI-Teeth": { - "stars": 6, - "last_update": "2025-01-01 07:02:30", - "author_account_age_days": 1053 + "stars": 7, + "last_update": "2025-03-03 01:44:23", + "author_account_age_days": 1124 }, "https://github.com/stutya/ComfyUI-Terminal": { "stars": 0, "last_update": "2024-02-05 16:47:28", - "author_account_age_days": 4037 + "author_account_age_days": 4108 + }, + "https://github.com/sugarkwork/comfyui_image_crop": { + "stars": 0, + "last_update": "2025-03-14 01:43:03", + "author_account_age_days": 1146 }, "https://github.com/sugarkwork/comfyui_psd": { - "stars": 1, - "last_update": "2024-03-26 08:24:56", - "author_account_age_days": 1074 + "stars": 4, + "last_update": "2025-01-14 04:33:37", + "author_account_age_days": 1146 }, "https://github.com/suncat2ps/ComfyUI-SaveImgNextcloud": { - "stars": 1, + "stars": 0, "last_update": "2024-11-12 03:30:38", - "author_account_age_days": 4324 + "author_account_age_days": 4395 }, "https://github.com/talesofai/comfyui-supersave": { "stars": 1, "last_update": "2023-12-27 02:05:53", - "author_account_age_days": 755 + "author_account_age_days": 826 }, "https://github.com/talon468/ComfyUI-Rpg-Architect": { "stars": 4, "last_update": "2024-08-31 14:47:47", - "author_account_age_days": 617 + "author_account_age_days": 688 + }, + "https://github.com/tc888/ComfyUI_Save_Flux_Image": { + "stars": 0, + "last_update": "2025-02-09 17:21:22", + "author_account_age_days": 2530 + }, + "https://github.com/techidsk/comfyui_molook_nodes": { + "stars": 0, + "last_update": "2025-03-01 13:05:02", + "author_account_age_days": 2459 }, "https://github.com/techzuhaib/ComfyUI-CacheImageNode": { - "stars": 1, + "stars": 0, "last_update": "2024-11-29 07:31:49", - "author_account_age_days": 368 + "author_account_age_days": 440 }, "https://github.com/thderoo/ComfyUI-_topfun_s_nodes": { "stars": 6, "last_update": "2024-07-03 14:39:28", - "author_account_age_days": 3065 + "author_account_age_days": 3137 + }, + "https://github.com/thedivergentai/divergent_nodes": { + "stars": 0, + "last_update": "2025-03-19 12:30:42", + "author_account_age_days": 730 + }, + "https://github.com/thisiseddy-ab/ComfyUI-Edins-Ultimate-Pack": { + "stars": 0, + "last_update": "2025-03-16 00:19:32", + "author_account_age_days": 1749 + }, + "https://github.com/thot-experiment/comfy-live-preview": { + "stars": 2, + "last_update": "2025-02-19 20:30:13", + "author_account_age_days": 1222 + }, + "https://github.com/threadedblue/MLXnodes": { + "stars": 2, + "last_update": "2025-02-15 13:41:14", + "author_account_age_days": 4235 }, "https://github.com/tjorbogarden/my-useful-comfyui-custom-nodes": { "stars": 0, "last_update": "2024-03-05 13:31:31", - "author_account_age_days": 312 + "author_account_age_days": 383 }, "https://github.com/tom-doerr/dspy_nodes": { - "stars": 183, + "stars": 188, "last_update": "2024-12-01 20:14:37", - "author_account_age_days": 2979 + "author_account_age_days": 3050 }, "https://github.com/tracerstar/comfyui-p5js-node": { - "stars": 33, + "stars": 37, "last_update": "2024-07-05 23:47:57", - "author_account_age_days": 5397 + "author_account_age_days": 5469 }, "https://github.com/trashgraphicard/Albedo-Sampler-for-ComfyUI": { "stars": 3, "last_update": "2024-12-04 23:50:38", - "author_account_age_days": 874 + "author_account_age_days": 946 }, "https://github.com/tuckerdarby/ComfyUI-TDNodes": { "stars": 3, "last_update": "2024-02-19 17:00:55", - "author_account_age_days": 3137 + "author_account_age_days": 3209 }, "https://github.com/umisetokikaze/comfyui_mergekit": { "stars": 0, "last_update": "2024-04-28 07:21:00", - "author_account_age_days": 2022 + "author_account_age_days": 2093 }, "https://github.com/unanan/ComfyUI-Dist": { "stars": 5, "last_update": "2024-02-28 10:03:50", - "author_account_age_days": 3097 + "author_account_age_days": 3168 }, - "https://github.com/vahidzxc/ComfyUI-My-Handy-Nodes": { - "stars": 1, - "last_update": "2024-11-22 06:44:57", - "author_account_age_days": 191 + "https://github.com/var1ableX/ComfyUI_Accessories": { + "stars": 0, + "last_update": "2025-02-09 14:31:19", + "author_account_age_days": 5035 }, - "https://github.com/void15700/VoidCustomNodes": { + "https://github.com/vchopine/ComfyUI_Toolbox": { "stars": 1, - "last_update": "2024-10-07 02:23:02", - "author_account_age_days": 204 + "last_update": "2025-03-18 16:12:09", + "author_account_age_days": 3861 }, "https://github.com/walterFeng/ComfyUI-Image-Utils": { - "stars": 1, - "last_update": "2025-01-02 11:59:55", - "author_account_age_days": 2975 + "stars": 3, + "last_update": "2025-01-20 14:58:59", + "author_account_age_days": 3046 }, "https://github.com/warshanks/Shank-Tools": { - "stars": 1, - "last_update": "2024-12-22 15:20:47", - "author_account_age_days": 3682 + "stars": 0, + "last_update": "2025-01-26 03:39:09", + "author_account_age_days": 3754 }, "https://github.com/watarika/ComfyUI-Text-Utility": { - "stars": 2, + "stars": 1, "last_update": "2025-01-05 03:22:22", - "author_account_age_days": 1932 + "author_account_age_days": 2003 }, "https://github.com/watarika/ComfyUI-exit": { - "stars": 1, + "stars": 0, "last_update": "2025-01-05 03:24:05", - "author_account_age_days": 1932 + "author_account_age_days": 2003 }, "https://github.com/waynepimpzhang/comfyui-opencv-brightestspot": { - "stars": 1, + "stars": 0, "last_update": "2025-01-05 06:04:53", - "author_account_age_days": 3990 + "author_account_age_days": 4061 }, "https://github.com/willblaschko/ComfyUI-Unload-Models": { - "stars": 13, + "stars": 16, "last_update": "2024-06-30 10:07:40", - "author_account_age_days": 4790 + "author_account_age_days": 4862 }, "https://github.com/wilzamguerrero/Comfyui-zZzZz": { - "stars": 3, + "stars": 2, "last_update": "2025-01-02 00:35:50", - "author_account_age_days": 887 - }, - "https://github.com/wjl0313/ComfyUI_KimNodes": { - "stars": 13, - "last_update": "2025-01-09 05:00:12", - "author_account_age_days": 2070 + "author_account_age_days": 958 }, "https://github.com/wormley/comfyui-wormley-nodes": { "stars": 0, "last_update": "2023-11-12 19:05:11", - "author_account_age_days": 2672 + "author_account_age_days": 2744 + }, + "https://github.com/x3bits/ComfyUI-Power-Flow": { + "stars": 2, + "last_update": "2025-01-14 14:20:35", + "author_account_age_days": 3653 }, "https://github.com/xiaoyumu/ComfyUI-XYNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-12-05 07:07:30", - "author_account_age_days": 4216 + "author_account_age_days": 4287 + }, + "https://github.com/xinyiSS/CombineMasksNode": { + "stars": 0, + "last_update": "2025-02-08 04:35:18", + "author_account_age_days": 722 + }, + "https://github.com/xmarked-ai/ComfyUI_misc": { + "stars": 1, + "last_update": "2025-03-11 21:00:05", + "author_account_age_days": 144 }, "https://github.com/yanhuifair/ComfyUI-FairLab": { "stars": 1, - "last_update": "2025-01-09 10:28:45", - "author_account_age_days": 3761 + "last_update": "2025-03-19 08:07:44", + "author_account_age_days": 3832 + }, + "https://github.com/yanhuifair/comfyui-deepseek": { + "stars": 4, + "last_update": "2025-02-09 14:30:27", + "author_account_age_days": 3832 + }, + "https://github.com/yichengup/Comfyui-NodeSpark": { + "stars": 5, + "last_update": "2025-01-20 14:20:36", + "author_account_age_days": 395 }, "https://github.com/yojimbodayne/ComfyUI-Dropbox-API": { - "stars": 1, + "stars": 0, "last_update": "2024-08-30 05:29:07", - "author_account_age_days": 149 + "author_account_age_days": 221 }, "https://github.com/zhongpei/Comfyui_image2prompt": { - "stars": 310, - "last_update": "2024-05-22 23:19:30", - "author_account_age_days": 3658 + "stars": 335, + "last_update": "2025-03-11 02:53:01", + "author_account_age_days": 3729 + }, + "https://github.com/zjkhurry/comfyui_MetalFX": { + "stars": 1, + "last_update": "2025-03-05 07:07:17", + "author_account_age_days": 3251 }, "https://github.com/zml-ai/comfyui-hydit": { - "stars": 2, + "stars": 3, "last_update": "2024-08-07 09:37:09", - "author_account_age_days": 2182 - }, - "https://github.com/zmwv823/ComfyUI-Sana": { - "stars": 41, - "last_update": "2024-12-21 08:28:42", - "author_account_age_days": 3468 + "author_account_age_days": 2253 }, "https://github.com/zyd232/ComfyUI-zyd232-Nodes": { - "stars": 1, - "last_update": "2025-01-08 13:44:25", - "author_account_age_days": 3823 + "stars": 0, + "last_update": "2025-02-06 14:49:35", + "author_account_age_days": 3894 } } \ No newline at end of file diff --git a/node_db/forked/custom-node-list.json b/node_db/forked/custom-node-list.json index a932dc2f..e15d80f1 100644 --- a/node_db/forked/custom-node-list.json +++ b/node_db/forked/custom-node-list.json @@ -1,5 +1,15 @@ { "custom_nodes": [ + { + "author": "PramaLLC", + "title": "ComfyUI BEN - Background Erase Network", + "reference": "https://github.com/PramaLLC/BEN2_ComfyUI", + "files": [ + "https://github.com/PramaLLC/BEN2_ComfyUI" + ], + "install_type": "git-clone", + "description": "Remove backgrounds from images with [a/BEN2](https://huggingface.co/PramaLLC/BEN2) in ComfyUI\nOriginal repo: [a/https://github.com/DoctorDiffusion/ComfyUI-BEN](https://github.com/DoctorDiffusion/ComfyUI-BEN)" + }, { "author": "BlenderNeko", "title": "ltdrdata/ComfyUI_TiledKSampler", @@ -119,6 +129,16 @@ ], "install_type": "git-clone", "description": "A forked version of ComfyUI_ExtraModels. (modified by Efficient-Large-Model)" + }, + { + "author": "Pablerdo", + "title": "ComfyUI-PSNodes", + "reference": "https://github.com/Pablerdo/ComfyUI-PSNodes", + "files": [ + "https://github.com/Pablerdo/ComfyUI-PSNodes" + ], + "install_type": "git-clone", + "description": "A fork of KJNodes for ComfyUI.\nVarious quality of life -nodes for ComfyUI, mostly just visual stuff to improve usability" } ] } \ No newline at end of file diff --git a/node_db/legacy/custom-node-list.json b/node_db/legacy/custom-node-list.json index ae5c1a42..49a20e8e 100644 --- a/node_db/legacy/custom-node-list.json +++ b/node_db/legacy/custom-node-list.json @@ -10,7 +10,415 @@ }, - + + { + "author": "shinich39", + "title": "comfyui-load-image-in-seq [REMOVED]", + "reference": "https://github.com/shinich39/comfyui-load-image-in-seq", + "files": [ + "https://github.com/shinich39/comfyui-load-image-in-seq" + ], + "install_type": "git-clone", + "description": "This node is load png image sequentially with metadata. Only supported for PNG format that has been created by ComfyUI.[w/renamed from comfyui-load-image-39. You need to remove previous one and reinstall to this.]" + }, + { + "author": "shinich39", + "title": "comfyui-model-metadata [REMOVED]", + "reference": "https://github.com/shinich39/comfyui-model-metadata", + "files": [ + "https://github.com/shinich39/comfyui-model-metadata" + ], + "install_type": "git-clone", + "description": "Print model metadata on note node" + }, + { + "author": "shinich39", + "title": "comfyui-view-recommendations [REMOVED]", + "reference": "https://github.com/shinich39/comfyui-view-recommendations", + "files": [ + "https://github.com/shinich39/comfyui-view-recommendations" + ], + "install_type": "git-clone", + "description": "Load model generation data from civitai." + }, + { + "author": "jonstreeter", + "title": "Comfyui-PySceneDetect [REMOVED]", + "reference": "https://github.com/jonstreeter/Comfyui-PySceneDetect", + "files": [ + "https://github.com/jonstreeter/Comfyui-PySceneDetect" + ], + "install_type": "git-clone", + "description": "NODES: PySceneDetect Video Processor" + }, + { + "author": "muxueChen", + "title": "ComfyUI-NTQwen25-VL [REMOVED]", + "reference": "https://github.com/muxueChen/ComfyUI-NTQwen25-VL", + "files": [ + "https://github.com/muxueChen/ComfyUI-NTQwen25-VL" + ], + "install_type": "git-clone", + "description": "Qwen25-VL is a plugin for ComfyU" + }, + { + "author": "Makki_Shizu", + "title": "ComfyUI-SaveAnimatedGIF [DEPRECATED]", + "id": "SaveAnimatedGIF", + "reference": "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF", + "files": [ + "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF" + ], + "install_type": "git-clone", + "description": "Save animated GIF format nodes in ComfyUI" + }, + { + "author": "l1yongch1", + "title": "ComfyUI_PhiCaption [REMOVED]", + "reference": "https://github.com/l1yongch1/ComfyUI_PhiCaption", + "files": [ + "https://github.com/l1yongch1/ComfyUI_PhiCaption" + ], + "install_type": "git-clone", + "description": "In addition to achieving conventional single-image, single-round reverse engineering, it can also achieve single-image multi-round and multi-image single-round reverse engineering. Moreover, the Phi model has a better understanding of prompts." + }, + { + "author": "nova-florealis", + "title": "comfyui-alien [REMOVED]", + "reference": "https://github.com/nova-florealis/comfyui-alien", + "files": [ + "https://github.com/nova-florealis/comfyui-alien" + ], + "install_type": "git-clone", + "description": "NODES: Text to Text (LLM), Text Output, Convert to Markdown, List Display (Debug)" + }, + { + "author": "PluMaZero", + "title": "ComfyUI-SpaceFlower [REMOVED]", + "reference": "https://github.com/PluMaZero/ComfyUI-SpaceFlower", + "files": [ + "https://github.com/PluMaZero/ComfyUI-SpaceFlower" + ], + "install_type": "git-clone", + "description": "Nodes: SpaceFlower_Prompt, SpaceFlower_HangulPrompt, ..." + }, + { + "author": "vahidzxc", + "title": "ComfyUI-My-Handy-Nodes [REMOVED]", + "reference": "https://github.com/vahidzxc/ComfyUI-My-Handy-Nodes", + "files": [ + "https://github.com/vahidzxc/ComfyUI-My-Handy-Nodes" + ], + "install_type": "git-clone", + "description": "NODES:VahCropImage" + }, + { + "author": "Samulebotin", + "title": "ComfyUI-FreeVC_wrapper [REMOVED]", + "reference": "https://github.com/Samulebotin/ComfyUI-FreeVC_wrapper", + "files": [ + "https://github.com/Samulebotin/ComfyUI-FreeVC_wrapper" + ], + "install_type": "git-clone", + "description": "A voice conversion extension node for ComfyUI based on FreeVC, enabling high-quality voice conversion capabilities within the ComfyUI framework." + }, + { + "author": "GoingAI1998", + "title": "ComfyUI Web Canvas Node [REMOVED]", + "reference": "https://github.com/GoingAI1998/Comfyui_imgcanvas", + "files": [ + "https://github.com/GoingAI1998/Comfyui_imgcanvas" + ], + "install_type": "git-clone", + "description": "ComfyUI_imgcanvas At present, I have not used the useful comfyui custom node about layer mixing, and I have written a comfyui runtime automatic pop-up window for layer editing node" + }, + { + "author": "807502278", + "title": "ComfyUI_TensorRT_Merge [REMOVED]", + "reference": "https://github.com/807502278/ComfyUI_TensorRT_Merge", + "files": [ + "https://github.com/807502278/ComfyUI_TensorRT_Merge" + ], + "install_type": "git-clone", + "description": "Non diffusion models supported by TensorRT, merged Comfyui plugin, added onnx automatic download and trt model conversion nodes." + }, + { + "author": "logtd", + "title": "ComfyUI-LTXTricks [DEPRECATED]", + "reference": "https://github.com/logtd/ComfyUI-LTXTricks", + "files": [ + "https://github.com/logtd/ComfyUI-LTXTricks" + ], + "install_type": "git-clone", + "description": "A set of nodes that provide additional controls for the LTX Video model" + }, + { + "author": "JichaoLiang", + "title": "Immortal_comfyUI [REMOVED]", + "reference": "https://github.com/JichaoLiang/Immortal_comfyUI", + "files": [ + "https://github.com/JichaoLiang/Immortal_comfyUI" + ], + "install_type": "git-clone", + "description": "NODES:ImNewNode, ImAppendNode, MergeNode, SetProperties, SaveToDirectory, batchNodes, redirectToNode, SetEvent, ..." + }, + { + "author": "Rvage0815", + "title": "ComfyUI-RvTools [REMOVED]", + "reference": "https://github.com/Rvage0815/ComfyUI-RvTools", + "files": [ + "https://github.com/Rvage0815/ComfyUI-RvTools" + ], + "install_type": "git-clone", + "description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows." + }, + { + "author": "Rvage0815", + "title": "RvTComfyUI-RvTools_v2 [REMOVED]", + "reference": "https://github.com/Rvage0815/ComfyUI-RvTools_v2", + "files": [ + "https://github.com/Rvage0815/ComfyUI-RvTools_v2" + ], + "install_type": "git-clone", + "description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows." + }, + { + "author": "scottmudge", + "title": "ComfyUI_BiscuitNodes [REMOVED]", + "reference": "https://github.com/scottmudge/ComfyUI_BiscuitNodes", + "files": [ + "https://github.com/scottmudge/ComfyUI_BiscuitNodes" + ], + "install_type": "git-clone", + "description": "Load Image From Path Using File Selector" + }, + { + "author": "thanhduong0213929", + "title": "ComfyUI-DeepUnlock [REMOVED]", + "reference": "https://github.com/thanhduong0213929/ComfyUI-DeepUnlock", + "files": [ + "https://github.com/thanhduong0213929/ComfyUI-DeepUnlock" + ], + "install_type": "git-clone", + "description": "DeepFuze is a state-of-the-art deep learning tool that seamlessly integrates with ComfyUI to revolutionize facial transformations, lipsyncing, video generation, voice cloning, face swapping, and lipsync translation. Leveraging advanced algorithms, DeepFuze enables users to combine audio and video with unparalleled realism, ensuring perfectly synchronized facial movements. This innovative solution is ideal for content creators, animators, developers, and anyone seeking to elevate their video editing projects with sophisticated AI-driven features." + }, + { + "author": "pathway8-sudo", + "title": "RMBG [REMOVED]", + "reference": "https://github.com/pathway8-sudo/RMBG", + "files": [ + "https://github.com/pathway8-sudo/RMBG" + ], + "install_type": "git-clone", + "description": "This repository provides a custom node for ComfyUI, leveraging the BriaRMBG model to remove backgrounds from images and output a transparent PNG." + }, + { + "author": "iris-Neko", + "title": "ComfyUI_ascii_art [REMOVED]", + "reference": "https://github.com/iris-Neko/ComfyUI_ascii_art", + "files": [ + "https://github.com/iris-Neko/ComfyUI_ascii_art" + ], + "install_type": "git-clone", + "description": "ComfyUI node for [a/ASCII art controlnet](https://civitai.com/models/986392)" + }, + { + "author": "apesplat", + "title": "ezXY scripts and nodes [NOT MAINTAINED]", + "id": "ezxy", + "reference": "https://github.com/GMapeSplat/ComfyUI_ezXY", + "files": [ + "https://github.com/GMapeSplat/ComfyUI_ezXY" + ], + "install_type": "git-clone", + "description": "Extensions/Patches: Enables linking float and integer inputs and ouputs. Values are automatically cast to the correct type and clamped to the correct range. Works with both builtin and custom nodes.[w/NOTE: This repo patches ComfyUI's validate_inputs and map_node_over_list functions while running. May break depending on your version of ComfyUI. Can be deactivated in config.yaml.]Nodes: A collection of nodes for facilitating the generation of XY plots. Capable of plotting changes over most primitive values.[w/Does not work with current version of Comfyui]" + }, + { + "author": "mie", + "title": "ComfyUI_JanusProCaption [REMOVED]", + "reference": "https://github.com/MieMieeeee/ComfyUI-JanusProCaption", + "files": [ + "https://github.com/MieMieeeee/ComfyUI-JanusProCaption" + ], + "install_type": "git-clone", + "description": "Describe image or create caption files using Janus Pro Model" + }, + { + "author": "Njbx", + "title": "ComfyUI-blockswap [REMOVED]", + "reference": "https://github.com/Njbx/ComfyUI-blockswap", + "files": [ + "https://github.com/Njbx/ComfyUI-blockswap" + ], + "install_type": "git-clone", + "description": "NODES: Block Swap" + }, + { + "author": "T8star1984", + "title": "comfyui-purgevram [REMOVED]", + "reference": "https://github.com/T8star1984/comfyui-purgevram", + "files": [ + "https://github.com/T8star1984/comfyui-purgevram" + ], + "install_type": "git-clone", + "description": "NODES:PurgeVRAM.\nCan be added after any node to clean up vram and memory" + }, + { + "author": "zmwv823", + "title": "ComfyUI-VideoDiffusion [REMOVED]", + "reference": "https://github.com/zmwv823/ComfyUI-VideoDiffusion", + "files": [ + "https://github.com/zmwv823/ComfyUI-VideoDiffusion" + ], + "install_type": "git-clone", + "description": "[a/LatentSync](https://github.com/bytedance/LatentSync) and [a/Sonic](https://github.com/jixiaozhong/Sonic). [w/Just for study purpose. It's not for directly use, u should know how to fix issues.]" + }, + { + "author": "NyaamZ", + "title": "Get Booru Tag ExtendeD [REMOVED]", + "reference": "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED", + "files": [ + "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED" + ], + "description": "Get tag from Booru site.", + "install_type": "git-clone" + }, + { + "author": "lingha", + "title": "comfyui_kj [REMOVED]", + "id": "comfyui_kj", + "reference": "https://github.com/XieChengYuan/comfyui_kj", + "files": [ + "https://github.com/XieChengYuan/comfyui_kj" + ], + "install_type": "git-clone", + "description": "comfyui_kj, A tool that can package workflows into projects and publish them to a WeChat Mini Program named Kaji, allowing charges to be collected from users." + }, + { + "author": "myAiLemon", + "title": "MagicGetPromptAutomatically [REMOVED]", + "reference": "https://github.com/myAiLemon/MagicGetPromptAutomatically", + "files": [ + "https://github.com/myAiLemon/MagicGetPromptAutomatically" + ], + "install_type": "git-clone", + "description": "A plug-in that can automatically generate pictures and save txt files in comfyui" + }, + { + "author": "ryanontheinside", + "title": "ComfyUI_ScavengerHunt [REMOVED]", + "reference": "https://github.com/ryanontheinside/ComfyUI_ScavengerHunt", + "files": [ + "https://github.com/ryanontheinside/ComfyUI_ScavengerHunt" + ], + "install_type": "git-clone", + "description": "NODES: Compare Image Similarity (ResNet), Compare Image Similarity (CLIP), Compare Image Types\nNOTE: The files in the repo are not organized." + }, + { + "author": "vpakarinen", + "title": "ComfyUI-GenerationTimer [REMOVED]", + "reference": "https://github.com/vpakarinen/ComfyUI-GenerationTimer", + "files": [ + "https://github.com/vpakarinen/ComfyUI-GenerationTimer" + ], + "install_type": "git-clone", + "description": "NODES: Generation Timer, Image Timer, Timer Display" + }, + { + "author": "RedRayz", + "title": "ComfyUI-Danbooru-To-WD [REMOVED]", + "id": "danbooru2wd", + "reference": "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD", + "files": [ + "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD" + ], + "install_type": "git-clone", + "description": "Converts booru tags to a format suitable for Waifu Diffusion(or Danbooru based models)." + }, + { + "author": "alexgenovese", + "title": "comfyui_CfgPlusPlus [REMOVED]", + "id": "cfgpp", + "reference": "https://gitea.com/NotEvilGirl/cfgpp", + "files": [ + "https://gitea.com/NotEvilGirl/cfgpp" + ], + "install_type": "git-clone", + "description": "CFG++ implemented according to [a/https://cfgpp-diffusion.github.io](https://cfgpp-diffusion.github.io). Basically modified DDIM sampler that makes sampling work at low CFG values (0 ~ 2). Read the CFG++ paper for more details" + }, + { + "author": "hosterosi", + "title": "ComfyUI OpenAI Node", + "reference": "https://github.com/hosterosi/ComfyUI_OpenAI [REMOVED]", + "files": [ + "https://github.com/hosterosi/ComfyUI_OpenAI" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI allows users to input multiline text and select a specific line by its number. The node processes the input and returns the selected line along with its index." + }, + { + "author": "Gourieff", + "title": "ReActor Node for ComfyUI [DISABLED]", + "id": "reactor", + "reference": "https://github.com/Gourieff/comfyui-reactor-node", + "files": [ + "https://github.com/Gourieff/comfyui-reactor-node" + ], + "install_type": "git-clone", + "description": "The Fast and Simple 'roop-like' Face Swap Extension Node for ComfyUI, based on ReActor (ex Roop-GE) SD-WebUI Face Swap Extension" + }, + { + "author": "prismwastaken", + "title": "prism-tools [REMOVED]", + "reference": "https://github.com/prismwastaken/prism-comfyui-tools", + "files": [ + "https://github.com/prismwastaken/prism-comfyui-tools" + ], + "install_type": "git-clone", + "description": "prism-tools" + }, + { + "author": "42lux", + "title": "ComfyUI-safety-checker [DEPRECATED]", + "reference": "https://github.com/42lux/ComfyUI-safety-checker", + "files": [ + "https://github.com/42lux/ComfyUI-safety-checker" + ], + "install_type": "git-clone", + "description": "A NSFW/Safety Checker Node for ComfyUI." + }, + { + "author": "riverolls", + "title": "ComfyUI-FJDH", + "reference": "https://github.com/riverolls/ComfyUI-FJDH [REMOVED]", + "files": [ + "https://github.com/riverolls/ComfyUI-FJDH" + ], + "install_type": "git-clone", + "description": "bbox tools, image tools, mask generators, point tools" + }, + { + "author": "jetchopper", + "title": "ComfyUI-GeneraNodes", + "id": "genera", + "reference": "https://github.com/evolox/ComfyUI-GeneraNodes [REMOVED]", + "files": [ + "https://github.com/evolox/ComfyUI-GeneraNodes" + ], + "install_type": "git-clone", + "description": "Genera custom nodes and extensions" + }, + { + "author": "Pos13", + "title": "Cyclist [DEPRECATED]", + "id": "cyclist", + "reference": "https://github.com/Pos13/comfyui-cyclist", + "files": [ + "https://github.com/Pos13/comfyui-cyclist" + ], + "install_type": "git-clone", + "description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles." + }, { "author": "leiweiqiang", "title": "ComfyUI-TRA", diff --git a/node_db/legacy/model-list.json b/node_db/legacy/model-list.json index 8e3e1dc4..1f870f11 100644 --- a/node_db/legacy/model-list.json +++ b/node_db/legacy/model-list.json @@ -1,3 +1,148 @@ { - "models": [] + "models": [ + { + "name": "Inswapper-fp16 (face swap) [REMOVED]", + "type": "insightface", + "base": "inswapper", + "save_path": "insightface", + "description": "Checkpoint of the insightface swapper model\n(used by ComfyUI-FaceSwap, comfyui-reactor-node, CharacterFaceSwap,\nComfyUI roop and comfy_mtb)", + "reference": "https://github.com/facefusion/facefusion-assets", + "filename": "inswapper_128_fp16.onnx", + "url": "https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128_fp16.onnx", + "size": "277.7MB" + }, + { + "name": "Inswapper (face swap) [REMOVED]", + "type": "insightface", + "base": "inswapper", + "save_path": "insightface", + "description": "Checkpoint of the insightface swapper model\n(used by ComfyUI-FaceSwap, comfyui-reactor-node, CharacterFaceSwap,\nComfyUI roop and comfy_mtb)", + "reference": "https://github.com/facefusion/facefusion-assets", + "filename": "inswapper_128.onnx", + "url": "https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx", + "size": "555.3MB" + }, + { + "name": "pfg-novel-n10.pt", + "type": "PFG", + "base": "SD1.5", + "save_path": "custom_nodes/pfg-ComfyUI/models", + "description": "Pressing 'install' directly downloads the model from the pfg-ComfyUI/models extension node. (Note: Requires ComfyUI-Manager V0.24 or above)", + "reference": "https://huggingface.co/furusu/PFG", + "filename": "pfg-novel-n10.pt", + "url": "https://huggingface.co/furusu/PFG/resolve/main/pfg-novel-n10.pt", + "size": "23.6MB" + }, + { + "name": "pfg-wd14-n10.pt", + "type": "PFG", + "base": "SD1.5", + "save_path": "custom_nodes/pfg-ComfyUI/models", + "description": "Pressing 'install' directly downloads the model from the pfg-ComfyUI/models extension node. (Note: Requires ComfyUI-Manager V0.24 or above)", + "reference": "https://huggingface.co/furusu/PFG", + "filename": "pfg-wd14-n10.pt", + "url": "https://huggingface.co/furusu/PFG/resolve/main/pfg-wd14-n10.pt", + "size": "31.5MB" + }, + { + "name": "pfg-wd15beta2-n10.pt", + "type": "PFG", + "base": "SD1.5", + "save_path": "custom_nodes/pfg-ComfyUI/models", + "description": "Pressing 'install' directly downloads the model from the pfg-ComfyUI/models extension node. (Note: Requires ComfyUI-Manager V0.24 or above)", + "reference": "https://huggingface.co/furusu/PFG", + "filename": "pfg-wd15beta2-n10.pt", + "url": "https://huggingface.co/furusu/PFG/resolve/main/pfg-wd15beta2-n10.pt", + "size": "31.5MB" + }, + { + "name": "shape_predictor_68_face_landmarks.dat [Face Analysis]", + "type": "Shape Predictor", + "base": "DLIB", + "save_path": "custom_nodes/comfyui_faceanalysis/dlib", + "description": "To use the Face Analysis for ComfyUI custom node, installation of this model is needed.", + "reference": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/tree/main", + "filename": "shape_predictor_68_face_landmarks.dat", + "url": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/resolve/main/shape_predictor_68_face_landmarks.dat", + "size": "99.7MB" + }, + { + "name": "dlib_face_recognition_resnet_model_v1.dat [Face Analysis]", + "type": "Face Recognition", + "base": "DLIB", + "save_path": "custom_nodes/comfyui_faceanalysis/dlib", + "description": "To use the Face Analysis for ComfyUI custom node, installation of this model is needed.", + "reference": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/tree/main", + "filename": "dlib_face_recognition_resnet_model_v1.dat", + "url": "https://huggingface.co/matt3ounstable/dlib_predictor_recognition/resolve/main/dlib_face_recognition_resnet_model_v1.dat", + "size": "22.5MB" + }, + { + "name": "ID-Animator/animator.ckpt", + "type": "ID-Animator", + "base": "SD1.5", + "save_path": "custom_nodes/comfyui_id_animator/models", + "description": "ID-Animator checkpoint", + "reference": "https://huggingface.co/spaces/ID-Animator/ID-Animator", + "filename": "animator.ckpt", + "url": "https://huggingface.co/spaces/ID-Animator/ID-Animator/resolve/main/animator.ckpt", + "size": "247.3MB" + }, + { + "name": "ID-Animator/mm_sd_v15_v2.ckpt", + "type": "ID-Animator", + "base": "SD1.5", + "save_path": "custom_nodes/comfyui_id_animator/models/animatediff_models", + "description": "AnimateDiff checkpoint for ID-Animator", + "reference": "https://huggingface.co/spaces/ID-Animator/ID-Animator", + "filename": "mm_sd_v15_v2.ckpt", + "url": "https://huggingface.co/spaces/ID-Animator/ID-Animator/resolve/main/mm_sd_v15_v2.ckpt", + "size": "1.82GB" + }, + { + "name": "ID-Animator/image_encoder", + "type": "ID-Animator", + "base": "SD1.5", + "save_path": "custom_nodes/comfyui_id_animator/models/image_encoder", + "description": "CLIP Image encoder for ID-Animator", + "reference": "https://huggingface.co/spaces/ID-Animator/ID-Animator", + "filename": "model.safetensors", + "url": "https://huggingface.co/spaces/ID-Animator/ID-Animator/resolve/main/image_encoder/model.safetensors", + "size": "2.53GB" + }, + { + "name": "Doubiiu/ToonCrafter model checkpoint", + "type": "checkpoint", + "base": "ToonCrafter", + "save_path": "custom_nodes/comfyui-tooncrafter/ToonCrafter/checkpoints/tooncrafter_512_interp_v1", + "description": "ToonCrafter checkpoint model for ComfyUI-ToonCrafter", + "reference": "https://huggingface.co/Doubiiu/ToonCrafter/tree/main", + "filename": "model.ckpt", + "url": "https://huggingface.co/Doubiiu/ToonCrafter/resolve/main/model.ckpt", + "size": "10.5GB" + }, + + { + "name": "BAAI/SegGPT", + "type": "SegGPT", + "base": "SegGPT", + "save_path": "custom_nodes/comfyui-seggpt", + "description": "SegGPT", + "reference": "https://huggingface.co/BAAI/SegGPT", + "filename": "seggpt_vit_large.pth", + "url": "https://huggingface.co/BAAI/SegGPT/resolve/main/seggpt_vit_large.pth", + "size": "1.48GB" + }, + { + "name": "kohya-ss/ControlNet-LLLite: SDXL Canny Anime", + "type": "controlnet", + "base": "SDXL", + "save_path": "custom_nodes/ControlNet-LLLite-ComfyUI/models", + "description": "An extremely compactly designed controlnet model (a.k.a. ControlNet-LLLite). Note: The model structure is highly experimental and may be subject to change in the future.", + "reference": "https://huggingface.co/kohya-ss/controlnet-lllite", + "filename": "controllllite_v01032064e_sdxl_canny_anime.safetensors", + "url": "https://huggingface.co/kohya-ss/controlnet-lllite/resolve/main/controllllite_v01032064e_sdxl_canny_anime.safetensors", + "size": "46.2MB" + } + ] } diff --git a/node_db/new/custom-node-list.json b/node_db/new/custom-node-list.json index 3b9f1e09..dc95f59a 100644 --- a/node_db/new/custom-node-list.json +++ b/node_db/new/custom-node-list.json @@ -9,685 +9,886 @@ }, + { - "author": "LucipherDev", - "title": "ComfyUI-TangoFlux", - "reference": "https://github.com/LucipherDev/ComfyUI-TangoFlux", + "author": "impactframes", + "title": "IF_Gemini", + "id": "impactframes-gemini", + "reference": "https://github.com/if-ai/ComfyUI-IF_Gemini", "files": [ - "https://github.com/LucipherDev/ComfyUI-TangoFlux" + "https://github.com/if-ai/ComfyUI-IF_Gemini" ], "install_type": "git-clone", - "description": "ComfyUI Custom Nodes for 'TangoFlux: Super Fast and Faithful Text to Audio Generation with Flow Matching'. This generates high-quality 44.1kHz audio up to 30 seconds using just a text prompt." + "description": "Enjoy the latest GEMINI V2 API for ComfyUI - generate images, analyze content, and use multimodal capabilities with Google's Gemini models" }, { - "author": "welltop-cn", - "title": "ComfyUI-TeaCache", - "id": "teacache", - "reference": "https://github.com/welltop-cn/ComfyUI-TeaCache", + "author": "Yuan-ManX", + "title": "ComfyUI-OrpheusTTS", + "reference": "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS", "files": [ - "https://github.com/welltop-cn/ComfyUI-TeaCache" + "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS" ], "install_type": "git-clone", - "description": "Unofficial implementation of [ali-vilab/TeaCache](https://github.com/ali-vilab/TeaCache) for ComfyUI" + "description": "ComfyUI nodes for OrpheusTTS model." }, { - "author": "jammyfu", - "title": "Painting Coder Utils", - "id": "painting-coder-utils", - "reference": "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils", + "author": "vahidzxc", + "title": "va-nodes", + "reference": "https://github.com/vahidzxc/va-nodes", "files": [ - "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils" + "https://github.com/vahidzxc/va-nodes" ], "install_type": "git-clone", - "description": "A practical collection of nodes for ComfyUI that streamlines image and text processing workflows. Features include image optimized resolution adjustment, text cleaning tools, dynamic image/text combination, and mask preview utilities. Perfect for artists and developers looking to enhance their AI art creation pipeline." + "description": "A collection of custom nodes for ComfyUI, focusing on improving workflow efficiency and adding new functionality.(work in progress!!!)" }, { - "author": "calcuis", - "title": "gguf", - "id": "gguf", - "reference": "https://github.com/calcuis/gguf", + "author": "raindrop313", + "title": "ComfyUI-WanVideoStartEndFrames", + "reference": "https://github.com/raindrop313/ComfyUI-WanVideoStartEndFrames", "files": [ - "https://github.com/calcuis/gguf" - ], - "preemptions":[ - "LoaderGGUF", - "ClipLoaderGGUF", - "DualClipLoaderGGUF", - "TripleClipLoaderGGUF", - "LoaderGGUFAdvanced", - "GGUFSave" + "https://github.com/raindrop313/ComfyUI-WanVideoStartEndFrames" ], "install_type": "git-clone", - "description": "gguf node for comfyui" + "description": "ComfyUI nodes that support video generation by start and end frames" }, { - "author": "bombax-xiaoice", - "title": "ComfyUI-OpenSoraPlan", - "reference": "https://github.com/bombax-xiaoice/ComfyUI-OpenSoraPlan", + "author": "abuzreq", + "title": "ComfyUI Model Bending", + "reference": "https://github.com/abuzreq/ComfyUI-Model-Bending", "files": [ - "https://github.com/bombax-xiaoice/ComfyUI-OpenSoraPlan" + "https://github.com/abuzreq/ComfyUI-Model-Bending" ], "install_type": "git-clone", - "description": "Another comfy implementation for the short video generation project PKU-YuanGroup/Open-Sora-Plan, supporting latest 1.3.0 and 1.2.0 and image to video feature, etc." + "description": "Use model bending to push your model beyond its visuals' limits. These nodes allow you to apply transformations to the intemediate densoising steps during sampling, e.g. add, multiplty, scale, rotate, dilate, erode ..etc." + }, + { + "author": "blovett80", + "title": "ComfyUI-PixelDojo", + "reference": "https://github.com/blovett80/ComfyUI-PixelDojo", + "files": [ + "https://github.com/blovett80/ComfyUI-PixelDojo" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension for using PixelDojo's Flux API to generate high-quality images directly within ComfyUI workflows." }, { "author": "ShmuelRonen", - "title": "ComfyUI-HunyuanVideoSamplerSave", - "reference": "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoSamplerSave", + "title": "ComfyUI-PS_Flatten_Image", + "reference": "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image", "files": [ - "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoSamplerSave" + "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image" ], "install_type": "git-clone", - "description": "A ComfyUI custom node implementation for optimized video generation and motion effects, designed to work with Hunyuan text-to-video models." + "description": "A ComfyUI custom node that simulates Photoshop's 'Flatten Image' functionality." }, { - "author": "GraftingRayman", - "title": "ComfyUI-PuLID-Flux-GR", - "reference": "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR", + "author": "zaheenrahman", + "title": "ComfyUI-ColorCorrection", + "reference": "https://github.com/zaheenrahman/ComfyUI-ColorCorrection", "files": [ - "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR" + "https://github.com/zaheenrahman/ComfyUI-ColorCorrection" ], "install_type": "git-clone", - "description": "This is a PuLID node that has been extended with new features." + "description": "A custom node for ComfyUI that performs color correction on clothing in face-swapped images. This node helps maintain the original clothing color when using face swap tools, addressing common color shifts that occur during the face swap process." }, { - "author": "ainewsto", - "title": "comfyui-labs-google", - "reference": "https://github.com/ainewsto/comfyui-labs-google", + "author": "CHAOSEA", + "title": "ComfyUI_FaceAlignPaste", + "reference": "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste", "files": [ - "https://github.com/ainewsto/comfyui-labs-google" + "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste" ], "install_type": "git-clone", - "description": "NODES: ComfyUI-ImageFx, ComfyUI-Whisk" + "description": "Smart Face Alignment and Pasting Node" }, { - "author": "facok", - "title": "ComfyUI-TeaCacheHunyuanVideo", - "reference": "https://github.com/facok/ComfyUI-TeaCacheHunyuanVideo", + "author": "Pablerdo", + "title": "ComfyUI-ZeptaframePromptMerger", + "reference": "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger", "files": [ - "https://github.com/facok/ComfyUI-TeaCacheHunyuanVideo" + "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger" ], "install_type": "git-clone", - "description": "This is a TeaCache acceleration node for HunYuan Video, supporting the native node workflow for seamless upgrades. Simply choose the acceleration multiplier you want—currently, three levels are available." + "description": "Custom node that merges general and subject-specific prompts" }, { - "author": "gremlation", - "title": "ComfyUI-ViewData", - "reference": "https://github.com/gremlation/ComfyUI-ViewData", + "author": "yasser-baalla", + "title": "comfyUI-SemanticImageFetch", + "reference": "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch", "files": [ - "https://github.com/gremlation/ComfyUI-ViewData" + "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch" ], "install_type": "git-clone", - "description": "A ComfyUI node that displays the type and contents of whatever is connected to the input. In the case of a Tensor object, it shows the shape instead of its value." + "description": "Create a custom node to select the closest images semantically to an input prompt" }, { - "author": "yichengup", - "title": "Comfyui_Redux_Advanced", - "reference": "https://github.com/yichengup/Comfyui_Redux_Advanced", + "author": "infinigence", + "title": "ComfyUI_Model_Cache", + "reference": "https://github.com/infinigence/ComfyUI_Model_Cache", "files": [ - "https://github.com/yichengup/Comfyui_Redux_Advanced" + "https://github.com/infinigence/ComfyUI_Model_Cache" ], "install_type": "git-clone", - "description": "Redux style adds more controls" + "description": "A model cached-loader custom node for ComfyUI." }, { - "author": "GraftingRayman", - "title": "ComfyUI QueueTube", - "reference": "https://github.com/GraftingRayman/ComfyUI_QueueTube", + "author": "SijieMei", + "title": "ComfyUI-Prompt-History", + "reference": "https://github.com/SijieMei/ComfyUI-promptHistory", "files": [ - "https://github.com/GraftingRayman/ComfyUI_QueueTube" + "https://github.com/SijieMei/ComfyUI-promptHistory" ], "install_type": "git-clone", - "description": "These nodes allow your YouTube LiveStream viewers to create on your local ComfyUI, you can make this a members only feature with a screen behind you displaying your members creations" + "description": "Save prompt history and reselect" }, { - "author": "mira-6", - "title": "comfyui-sasolver", - "reference": "https://github.com/mira-6/comfyui-sasolver", + "author": "Tensor-Art", + "title": "ComfyUI_TENSOR_ART", + "reference": "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART", "files": [ - "https://github.com/mira-6/comfyui-sasolver" + "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART" ], "install_type": "git-clone", - "description": "SASolver for Comfyui. Adapted from [a/comfyanonymous/ComfyUI#4454](https://github.com/comfyanonymous/ComfyUI/pull/4454) and [a/https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler](https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler)" + "description": "This project implements a set of custom nodes for ComfyUI, integrating some of the API interfaces provided by [a/TAMS](https://tams.tensor.art/)." }, { - "author": "gremlation", - "title": "ComfyUI-JMESPath", - "reference": "https://github.com/gremlation/ComfyUI-JMESPath", + "author": "camiilevitoriia", + "title": "ComfyUI-WanVideoStartEndFrames", + "reference": "https://github.com/camiilevitoriia/ComfyUI-WanVideoStartEndFrames", "files": [ - "https://github.com/gremlation/ComfyUI-JMESPath" + "https://github.com/camiilevitoriia/ComfyUI-WanVideoStartEndFrames" ], "install_type": "git-clone", - "description": "A ComfyUI node that runs a [a/JMESPath](https://jmespath.org/) query against input JSON and outputs the result." + "description": "ComfyUI nodes that support video generation by start and end frames" }, { - "author": "gremlation", - "title": "ComfyUI-jq", - "reference": "https://github.com/gremlation/ComfyUI-jq", + "author": "yuvraj108c", + "title": "ComfyUI Thera", + "reference": "https://github.com/yuvraj108c/ComfyUI-Thera", "files": [ - "https://github.com/gremlation/ComfyUI-jq" + "https://github.com/yuvraj108c/ComfyUI-Thera" ], "install_type": "git-clone", - "description": "A ComfyUI node that runs a [a/jq](https://jqlang.github.io/jq/) query against input JSON and outputs the result." + "description": "This project is an unofficial ComfyUI implementation of [a/Thera](https://github.com/prs-eth/thera) (Aliasing-Free Arbitrary-Scale Super-Resolution with Neural Heat Fields)" }, { - "author": "gremlation", - "title": "ComfyUI-ImageLabel", - "reference": "https://github.com/gremlation/ComfyUI-ImageLabel", + "author": "kuo6", + "title": "ComfyUI Equirectangular Tools", + "reference": "https://github.com/kukuo6666/ComfyUI-Equirect", "files": [ - "https://github.com/gremlation/ComfyUI-ImageLabel" + "https://github.com/kukuo6666/ComfyUI-Equirect" ], "install_type": "git-clone", - "description": "A ComfyUI node that extends an image vertically to add a label either above or below it." + "description": "Tools for processing equirectangular images, supporting conversion from equirectangular format to cubemap." }, { - "author": "gremlation", - "title": "ComfyUI-TrackAndWheel", - "reference": "https://github.com/gremlation/ComfyUI-TrackAndWheel", + "author": "jonstreeter", + "title": "Comfyui-PySceneDetect", + "reference": "https://github.com/jonstreeter/Comfyui-PySceneDetect", "files": [ - "https://github.com/gremlation/ComfyUI-TrackAndWheel" + "https://github.com/jonstreeter/Comfyui-PySceneDetect" ], "install_type": "git-clone", - "description": "A ComfyUI extension that improves panning and zooming on trackpads and with the mouse wheel." + "description": "NODES: PySceneDetect Video Processor" }, { - "author": "nmlen", - "title": "comfyui-mosaic-blur", - "reference": "https://github.com/nmlen/comfyui-mosaic-blur", + "author": "sn0w12", + "title": "ComfyUI-Syntax-Highlighting", + "reference": "https://github.com/sn0w12/ComfyUI-Syntax-Highlighting", "files": [ - "https://github.com/nmlen/comfyui-mosaic-blur" + "https://github.com/sn0w12/ComfyUI-Syntax-Highlighting" ], "install_type": "git-clone", - "description": "A simple mosaic blur node for ComfyUI that uses CV2 or Pillow" + "description": "Syntax highlighting and other quality of life improvements for ComfyUI." }, + { - "author": "jerrylongyan", - "title": "ComfyUI-My-Mask", - "reference": "https://github.com/jerrylongyan/ComfyUI-My-Mask", + "author": "CozyMantis (+ Curt-Park)", + "title": "Cozy Human Parser in pure Python", + "id": "humanparser-pure-python", + "reference": "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python", "files": [ - "https://github.com/jerrylongyan/ComfyUI-My-Mask" + "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python" ], "install_type": "git-clone", - "description": "Some nodes for processing masks, currently including nodes that fill in the concave parts of existing masks with convex hulls." - }, - { - "author": "sh570655308", - "title": "ComfyUI-GigapixelAI", - "id": "gigapixel", - "reference": "https://github.com/sh570655308/ComfyUI-GigapixelAI", - "files": [ - "https://github.com/sh570655308/ComfyUI-GigapixelAI" - ], - "install_type": "git-clone", - "description": "Custom nodes use gigapixelai in comfyui." - }, - { - "author": "sh570655308", - "title": "ComfyUI-TopazVideoAI", - "id": "tvai", - "reference": "https://github.com/sh570655308/ComfyUI-TopazVideoAI", - "files": [ - "https://github.com/sh570655308/ComfyUI-TopazVideoAI" - ], - "install_type": "git-clone", - "description": "Custom nodes use topazvideoai in comfyui." - }, - { - "author": "FinetunersAI", - "title": "ComfyUI_Finetuners_Suite", - "reference": "https://github.com/FinetunersAI/ComfyUI_Finetuners_Suite", - "files": [ - "https://github.com/FinetunersAI/ComfyUI_Finetuners_Suite" - ], - "install_type": "git-clone", - "description": "A suite of nodes for ComfyUI that helps making ComfyUI more accesible for artists" - }, - { - "author": "ChenDarYen", - "title": "ComfyUI-TimestepShiftModel", - "reference": "https://github.com/ChenDarYen/ComfyUI-TimestepShiftModel", - "files": [ - "https://github.com/ChenDarYen/ComfyUI-TimestepShiftModel" - ], - "install_type": "git-clone", - "description": "This is a ComfyUI implementation of the timestep shift technique used in [a/NitroFusion: High-Fidelity Single-Step Diffusion through Dynamic Adversarial Training.](https://arxiv.org/abs/2412.02030)\nFor more details, visit the official [a/NitroFusion GitHub repository](https://github.com/ChenDarYen/NitroFusion)." - }, - { - "author": "facok", - "title": "ComfyUI-HunyuanVideoMultiLora", - "reference": "https://github.com/facok/ComfyUI-HunyuanVideoMultiLora", - "files": [ - "https://github.com/facok/ComfyUI-HunyuanVideoMultiLora" - ], - "install_type": "git-clone", - "description": "A custom LoRA-loading node designed to prevent issues such as blurriness and other artifacts when loading multiple LoRAs in HunYuan Video.\nUsage Instructions: The connection method remains unchanged from the original. The only difference is the additional blocks_type option. Please select double_blocks." - }, - { - "author": "JJ", - "title": "ComfyUI-Jtils", - "reference": "https://github.com/cnbjjj/ComfyUI-Jtils", - "files": [ - "https://github.com/cnbjjj/ComfyUI-Jtils" - ], - "install_type": "git-clone", - "description": "An extension for ComfyUI that adds utility functions and nodes not available in the default setup." - }, - { - "author": "billwuhao", - "title": "ComfyUI_OneButtonPrompt_Flux", - "reference": "https://github.com/billwuhao/ComfyUI_OneButtonPrompt_Flux", - "files": [ - "https://github.com/billwuhao/ComfyUI_OneButtonPrompt_Flux" - ], - "install_type": "git-clone", - "description": "ComfyUI_OneButtonPrompt_Flux is a Flux prompt generation node. The subject can be 'human,' 'other' or a combination of both. For human, pose settings can be enabled. Additionally, various styles can be applied. Finally, combine it with 'Prompt Enhancement' to seamlessly automate image generation, eliminating the hassle of designing prompts." - }, - { - "author": "pandaer119", - "title": "ComfyUI_pandai", - "reference": "https://github.com/pandaer119/ComfyUI_pandai", - "files": [ - "https://github.com/pandaer119/ComfyUI_pandai" - ], - "install_type": "git-clone", - "description": "Introduction The ComfyUI_pandai node is a custom ComfyUI node designed to interact with the DeepSeek API. It supports text generation, translation, and text polishing. With this node, users can easily generate text, translate content, and refine the generated text for better quality." - }, - { - "author": "umiyuki", - "title": "ComfyUI Pad To Eight", - "reference": "https://github.com/umiyuki/comfyui-pad-to-eight", - "files": [ - "https://github.com/umiyuki/comfyui-pad-to-eight" - ], - "install_type": "git-clone", - "description": "A custom ComfyUI node that pads an image to a multiple of 8 width." - }, - { - "author": "Meettya", - "title": "ComfyUI-OneForOne", - "reference": "https://github.com/Meettya/ComfyUI-OneForOne", - "files": [ - "https://github.com/Meettya/ComfyUI-OneForOne" - ], - "install_type": "git-clone", - "description": "Node:Image Fit Calculator" - }, - { - "author": "KunmyonChoi", - "title": "ComfyUI_S3_direct", - "reference": "https://github.com/KunmyonChoi/ComfyUI_S3_direct", - "files": [ - "https://github.com/KunmyonChoi/ComfyUI_S3_direct" - ], - "install_type": "git-clone", - "description": "ComfyUI custom_node that load and save file directly from S3\nSimplified version of [a/https://github.com/kealiu/ComfyUI-S3-Tools](https://github.com/kealiu/ComfyUI-S3-Tools)" - }, - { - "author": "laogou666", - "title": "Comfyui-LG_Relight", - "reference": "https://github.com/LAOGOU-666/Comfyui-LG_Relight", - "files": [ - "https://github.com/LAOGOU-666/Comfyui-LG_Relight" - ], - "install_type": "git-clone", - "description": "A simple implementation of real-time 3D lighting in ComfyUI. It's an open-source node, have fun playing around!" - }, - { - "author": "fssorc", - "title": "ComfyUI_RopeWrapper", - "reference": "https://github.com/fssorc/ComfyUI_RopeWrapper", - "files": [ - "https://github.com/fssorc/ComfyUI_RopeWrapper" - ], - "install_type": "git-clone", - "description": "Wrap Rope into ComfyUI, do a little change to use in ComfyUI. All credit goes to Hillobar and his ROPE [ㅁ/https://github.com/Hillobar/Rope](https://github.com/Hillobar/Rope)" - }, - { - "author": "hodanajan", - "title": "optimal-crop-resolution", - "reference": "https://github.com/hodanajan/optimal-crop-resolution", - "files": [ - "https://github.com/hodanajan/optimal-crop-resolution" - ], - "install_type": "git-clone", - "description": "ComfyUI node to calculate optimal resolution to crop the image to (from a list of aspect ratios)" - }, - { - "author": "inventorado", - "title": "ComfyUI Neural Network Toolkit NNT ", - "id": "nnt", - "reference": "https://github.com/inventorado/ComfyUI_NNT", - "files": [ - "https://github.com/inventorado/ComfyUI_NNT" - ], - "install_type": "git-clone", - "description": "Neural Network Toolkit (NNT) for ComfyUI is an extensive set of custom ComfyUI nodes for designing, training, and fine-tuning neural networks. This toolkit allows defining models, layers, training workflows, transformers, and tensor operations in a visual manner using nodes." - }, - { - "author": "Hullabalo", - "title": "ComfyUI-Loop", - "reference": "https://github.com/Hullabalo/ComfyUI-Loop", - "files": [ - "https://github.com/Hullabalo/ComfyUI-Loop" - ], - "install_type": "git-clone", - "description": "A pair of nodes (Load Image and Save Image) to create a simple loop in your ComfyUI inpainting workflow, without the need of loading your last saved image" - }, - { - "author": "leeguandong", - "title": "ComfyUI_FluxCustomId", - "reference": "https://github.com/leeguandong/ComfyUI_FluxCustomId", - "files": [ - "https://github.com/leeguandong/ComfyUI_FluxCustomId" - ], - "install_type": "git-clone", - "description": "ComfyUI nodes to use FluxCustomId\nOriginal repo: [a/https://github.com/damo-cv/FLUX-customID](https://github.com/damo-cv/FLUX-customID)" - }, - { - "author": "bongsang", - "title": "ComfyUI-Bongsang", - "reference": "https://github.com/bongsang/ComfyUI-Bongsang", - "files": [ - "https://github.com/bongsang/ComfyUI-Bongsang" - ], - "install_type": "git-clone", - "description": "The 'ComfyUI-Bongsang' is very useful tools for a diffusion model developer." - }, - { - "author": "5x00", - "title": "ComfyUI-PiAPI-Faceswap", - "reference": "https://github.com/5x00/ComfyUI-PiAPI-Faceswap", - "files": [ - "https://github.com/5x00/ComfyUI-PiAPI-Faceswap" - ], - "install_type": "git-clone", - "description": "A simple ComfyUI nodes that integrates [a/PiAPI faceswap](https://piapi.ai/faceswap-api) service into ComfyUI. This can be helpful if you're trying to create a workflow that includes faceswap for commercial usage." - }, - { - "author": "muxueChen", - "title": "CosyVoice2 for ComfyUI", - "reference": "https://github.com/muxueChen/ComfyUI_NTCosyVoice", - "files": [ - "https://github.com/muxueChen/ComfyUI_NTCosyVoice" - ], - "install_type": "git-clone", - "description": "ComfyUI_NTCosyVoice is a plugin of ComfyUI for Cosysvoice2" - }, - { - "author": "cenzijing", - "title": "ComfyUI-Markmap", - "reference": "https://github.com/cenzijing/ComfyUI-Markmap", - "files": [ - "https://github.com/cenzijing/ComfyUI-Markmap" - ], - "install_type": "git-clone", - "description": "A ComfyUI custom node for creating mindmaps from markdown" - }, - { - "author": "amorano", - "title": "Jovi_Spout", - "id": "jovi_spout", - "reference": "https://github.com/Amorano/Jovi_Spout", - "files": [ - "https://github.com/Amorano/Jovi_Spout" - ], - "install_type": "git-clone", - "description": "ComfyUI Nodes for using Spout streams." - }, - { - "author": "AconexOfficial", - "title": "ComfyUI GOAT Nodes", - "reference": "https://github.com/AconexOfficial/ComfyUI_GOAT_Nodes", - "files": [ - "https://github.com/AconexOfficial/ComfyUI_GOAT_Nodes" - ], - "install_type": "git-clone", - "description": "Nodes to level up your workflows performance and streamline specific functions." - }, - { - "author": "Jaminanim", - "title": "ComfyUI-Random-Int-Divisor-Node", - "reference": "https://github.com/Jaminanim/ComfyUI-Random-Int-Divisor-Node", - "files": [ - "https://github.com/Jaminanim/ComfyUI-Random-Int-Divisor-Node" - ], - "install_type": "git-clone", - "description": "A set of custom ComfyUI nodes for generating random integers within a range, adjusted to the nearest multiple of a user-defined divisor. Needlessly includes both an efficient and simple list implementation. Updates with each generation." - }, - { - "author": "LucipherDev", - "title": "ComfyUI-AniDoc", - "reference": "https://github.com/LucipherDev/ComfyUI-AniDoc", - "files": [ - "https://github.com/LucipherDev/ComfyUI-AniDoc" - ], - "install_type": "git-clone", - "description": "ComfyUI Custom Nodes for 'AniDoc: Animation Creation Made Easier'. This approach automates line art video colorization using a novel model that aligns color information from references, ensures temporal consistency, and reduces manual effort in animation production." - }, - { - "author": "bear2b", - "title": "ColorMatrixGPU Node for ComfyUI", - "reference": "https://github.com/bear2b/comfyui-argo-nodes", - "files": [ - "https://github.com/bear2b/comfyui-argo-nodes" - ], - "install_type": "git-clone", - "description": "This node applies a custom 4x4 color matrix to an image using GPU acceleration via PyTorch." - }, - { - "author": "Vaibhavs10", - "title": "ComfyUI-DDUF", - "reference": "https://github.com/Vaibhavs10/ComfyUI-DDUF", - "files": [ - "https://github.com/Vaibhavs10/ComfyUI-DDUF" - ], - "install_type": "git-clone", - "description": "Run DDUF in ComfyUI - powered by Diffusers." - }, - { - "author": "tocubed", - "title": "ComfyUI-EvTexture", - "reference": "https://github.com/tocubed/ComfyUI-EvTexture", - "files": [ - "https://github.com/tocubed/ComfyUI-EvTexture" - ], - "install_type": "git-clone", - "description": "Wrapper for EvTexture Video Upscaler: [a/https://github.com/DachunKai/EvTexture](https://github.com/DachunKai/EvTexture)" - }, - { - "author": "ShmuelRonen", - "title": "ComfyUI-LatentSyncWrapper", - "reference": "https://github.com/ShmuelRonen/ComfyUI-LatentSyncWrapper", - "files": [ - "https://github.com/ShmuelRonen/ComfyUI-LatentSyncWrapper" - ], - "install_type": "git-clone", - "description": "This node provides lip-sync capabilities in ComfyUI using ByteDance's LatentSync model. It allows you to synchronize video lips with audio input." - }, - { - "author": "sanbuphy", - "title": "ComfyUI-AudioLDM", - "reference": "https://github.com/sanbuphy/ComfyUI-AudioLDM", - "files": [ - "https://github.com/sanbuphy/ComfyUI-AudioLDM" - ], - "install_type": "git-clone", - "description": "ComfyUI Workflow to run audioldm-l-full pipeline\n[a/https://huggingface.co/cvssp/audioldm-l-full](https://huggingface.co/cvssp/audioldm-l-full)" + "description": "It works the same as human-parser-comfyui-node but is implemented in pure Python so that it doesn't require a runtime build for InPlaceABNSync." }, { "author": "1038lab", - "title": "ComfyUI-WildPromptor", - "reference": "https://github.com/1038lab/ComfyUI-WildPromptor", + "title": "Comfyui-Spark-TTS", + "reference": "https://github.com/1038lab/ComfyUI-SparkTTS", "files": [ - "https://github.com/1038lab/ComfyUI-WildPromptor" + "https://github.com/1038lab/ComfyUI-SparkTTS" ], "install_type": "git-clone", - "description": "Create dynamic prompts with wildcard list." + "description": "ComfyUI-SparkTTS is a custom ComfyUI node implementation of SparkTTS, an advanced text-to-speech system that harnesses the power of large language models (LLMs) to generate highly accurate and natural-sounding speech." }, { - "author": "sweetndata", - "title": "ComfyUI_Sticker_Compositer", - "reference": "https://github.com/sweetndata/ComfyUI_Sticker_Compositer", + "author": "fblissjr", + "title": "wanvideo - seamless flow", + "reference": "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow", "files": [ - "https://github.com/sweetndata/ComfyUI_Sticker_Compositer" - ], - "install_type": "git-clone", - "description": "NODES:Sticker Compositer.\nbackground frame + sticker" + "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow" + ], + "install_type": "git-clone", + "description": "experimental wanvideo comfyui node with a singular goal - visually seamless transitions between context windows" }, { - "author": "Jash-Vora", - "title": "FitDiT", - "reference": "https://github.com/Jash-Vora/ComfyUI-GarmentDiT", + "author": "fofr", + "title": "ComfyUI-Basic-Auth", + "reference": "https://github.com/fofr/comfyui-basic-auth", "files": [ - "https://github.com/Jash-Vora/ComfyUI-GarmentDiT" + "https://github.com/fofr/comfyui-basic-auth" ], "install_type": "git-clone", - "description": "[a/FitDiT](https://arxiv.org/abs/2411.10499): Advancing the Authentic Garment Details for High-fidelity Virtual Try-onon" + "description": "A basic auth middleware for ComfyUI" }, { - "author": "rohitsainier", - "title": "ComfyUI-InstagramDownloader", - "id": "comfyui-instagram-downloader", - "reference": "https://github.com/rohitsainier/ComfyUI-InstagramDownloader", + "author": "ryanontheinside", + "title": "ComfyUI_SuperResolution", + "reference": "https://github.com/ryanontheinside/ComfyUI_SuperResolution", "files": [ - "https://github.com/rohitsainier/ComfyUI-InstagramDownloader" + "https://github.com/ryanontheinside/ComfyUI_SuperResolution" ], "install_type": "git-clone", - "description": "A ComfyUI custom node package that allows downloading and organizing Instagram content directly in your ComfyUI Output folder" + "description": "A collection of high-performance neural network-based Super Resolution models for ComfyUI." }, { - "author": "zmwv823", - "title": "ComfyUI_Anytext", - "reference": "https://github.com/zmwv823/ComfyUI_Anytext", + "author": "thezveroboy", + "title": "ComfyUI-WAN-ClipSkip", + "reference": "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip", "files": [ - "https://github.com/zmwv823/ComfyUI_Anytext" + "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip" ], - "install_type": "git-clone", - "description": "Unofficial Simple And Rough Implementation Of [a/AnyText](https://github.com/tyxsspa/AnyText) and [a/Glyph-ByT5] (https://github.com/AIGText/Glyph-ByT5) and [a/JoyType](https://github.com/jdh-algo/JoyType)" - }, - { - "author": "SKBv0", - "title": "ComfyUI SKBundle", - "reference": "https://github.com/SKBv0/ComfyUI_SKBundle", - "files": [ - "https://github.com/SKBv0/ComfyUI_SKBundle" - ], - "install_type": "git-clone", - "description": "A collection of custom nodes designed to enhance your workflow in ComfyUI. These nodes were developed to meet my own needs while working with ComfyUI. Although I'm not a programmer, I created these nodes with the help of Cursor AI and will continue to develop them over time." - }, - { - "author": "civen-cn", - "title": "ComfyUI Whisper Translator", - "reference": "https://github.com/civen-cn/ComfyUI-Whisper-Translator", - "files": [ - "https://github.com/civen-cn/ComfyUI-Whisper-Translator" - ], - "install_type": "git-clone", - "description": "This is a ComfyUI node that allows you to translate subtitles using the Whisper. Now support for multiple languages: ['zh', 'en', 'ja', 'ko', 'ru', 'fr', 'de', 'es', 'pt', 'it', 'ar'] You may need to put fonts in the 'fonts' folder to support different languages." - }, - { - "author": "WainWong", - "title": "ComfyUI-Loop-image", - "reference": "https://github.com/WainWong/ComfyUI-Loop-image", - "files": [ - "https://github.com/WainWong/ComfyUI-Loop-image" - ], - "install_type": "git-clone", - "description": "ComfyUI Loop Image is a node package specifically designed for image loop processing. It provides two main processing modes: Batch Image Processing and Single Image Processing, along with supporting image segmentation and merging functions." - }, - { - "author": "rhplus0831", - "title": "ComfyMepi", - "reference": "https://github.com/rhplus0831/ComfyMepi", - "files": [ - "https://github.com/rhplus0831/ComfyMepi" - ], - "install_type": "git-clone", - "description": "Another mobile frontend for ComfyUI" - }, - { - "author": "0x-jerry", - "title": "Rembg Background Removal Node for ComfyUI", - "reference": "https://github.com/0x-jerry/comfyui-rembg", - "files": [ - "https://github.com/0x-jerry/comfyui-rembg" - ], - "install_type": "git-clone", - "description": "Rembg Background Removal Node for ComfyUI" - }, - { - "author": "hay86", - "title": "ComfyUI LatentSync", - "id": "latentsync", - "reference": "https://github.com/hay86/ComfyUI_LatentSync", - "files": [ - "https://github.com/hay86/ComfyUI_LatentSync" - ], - "install_type": "git-clone", - "description": "Unofficial implementation of [a/LatentSync](https://github.com/bytedance/LatentSync) for ComfyUI" - }, - { - "author": "risunobushi", - "title": "ComfyUI-Similarity-Score", - "reference": "https://github.com/risunobushi/ComfyUI-Similarity-Score", - "files": [ - "https://github.com/risunobushi/ComfyUI-Similarity-Score" - ], - "install_type": "git-clone", - "description": "A custom node for ComfyUI that calculates CLIP and LPIPS similarity scores between two images." + "description": "Custom nodes for ComfyUI implementing the csm model for text-to-speech generation.", + "install_type": "git-clone" }, { "author": "ShmuelRonen", - "title": "ComfyUI-HunyuanVideoStyler", - "reference": "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoStyler", + "title": "ComfyUI-PixArt_XL", + "reference": "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL", "files": [ - "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoStyler" + "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL" ], "install_type": "git-clone", - "description": "A custom node for ComfyUI that adds cinematic and movie scene styles to video generation prompts. This node helps create more dynamic and professional-looking video outputs by incorporating iconic movie scene aesthetics." + "description": "A ComfyUI extension that integrates PixArt-Alpha models directly into ComfyUI with advanced memory management." }, { - "author": "ahernandezmiro", - "title": "ComfyUI-GCP_Storage_tools", - "reference": "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools", + "author": "leeguandong", + "title": "ComfyUI_QWQ32B", + "reference": "https://github.com/leeguandong/ComfyUI_QWQ32B", "files": [ - "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools" + "https://github.com/leeguandong/ComfyUI_QWQ32B" ], "install_type": "git-clone", - "description": "A set of ComfyUI nodes for GPC Storage access" + "description": "ComfyUI nodes to use [a/QwQ-32B](https://huggingface.co/Qwen/QwQ-32B)" }, { - "author": "ciga2011", - "title": "ComfyUI MarkItDown", - "id": "markitdown", - "reference": "https://github.com/ciga2011/ComfyUI-MarkItDown", + "author": "ComplexRobot", + "title": "ComfyUI-Simple-VFI", + "reference": "https://github.com/ComplexRobot/ComfyUI-Simple-VFI", "files": [ - "https://github.com/ciga2011/ComfyUI-MarkItDown" + "https://github.com/ComplexRobot/ComfyUI-Simple-VFI" ], - "pip": ["markitdown", "openai"], "install_type": "git-clone", - "description": "This node pack helps to convert various files to Markdown. It supports pdf, pptx, xlsx, docx, html and image files." + "description": "Nodes for simple frame interpolation without the use of AI. Uses standard image operations to blend frames together." + }, + { + "author": "Taithrah", + "title": "Fens-Simple-Nodes", + "reference": "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes", + "files": [ + "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes" + ], + "install_type": "git-clone", + "description": "Simple nodes for ComfyUI" + }, + { + "author": "Immac", + "title": "ComfyUI Core Video Nodes", + "reference": "https://github.com/Immac/ComfyUI-CoreVideoMocks", + "files": [ + "https://github.com/Immac/ComfyUI-CoreVideoMocks" + ], + "install_type": "git-clone", + "description": "A mock of a possible implementation of for ComfyUI Core Video Nodes." + }, + { + "author": "joreyaesh", + "title": "ComfyUI Touchpad Scroll Controller", + "reference": "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll", + "files": [ + "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that enhances touchpad navigation by redirecting two-finger scrolling over to the canvas, including over textareas. This can prevent accidental back/forward browser navigation when using horizontal touchpad gestures and provides smooth zooming and panning for Mac and other touchpad users." + }, + + + + { + "author": "impactframes", + "title": "IF_VideoPrompts", + "id": "impactframes-videoprompts", + "reference": "https://github.com/if-ai/ComfyUI-IF_VideoPrompts", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_VideoPrompts" + ], + "install_type": "git-clone", + "description": "ComfyUI extension for video-based prompting and processing with support for various models and video processing capabilities" + }, + { + "author": "impactframes", + "title": "IF_LLM", + "id": "impactframes-llm", + "reference": "https://github.com/if-ai/ComfyUI-IF_LLM", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_LLM" + ], + "install_type": "git-clone", + "description": "Run Local and API LLMs, Features Conditioning manipulation via Omost, supports Ollama, LlamaCPP LMstudio, Koboldcpp, TextGen, Transformers or via APIs Anthropic, Groq, OpenAI, Google Gemini, Mistral, xAI and create your own charcters assistants (SystemPrompts) with custom presets and muchmore" + }, + { + "author": "impactframes", + "title": "IF_AI_LoadImages", + "id": "impactframes-loadimages", + "reference": "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages", + "files": [ + "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages" + ], + "install_type": "git-clone", + "description": "It Load Images with subfolders form arbitrary folders previous on node outputs lists- convinient selection via file browser" + }, + { + "author": "ostris", + "title": "Flex.1 tools", + "id": "ostris", + "reference": "https://github.com/ostris/ComfyUI-FlexTools", + "files": [ + "https://github.com/ostris/ComfyUI-FlexTools" + ], + "install_type": "git-clone", + "nodename_pattern": "- Ostris$", + "description": "Some tools to help with [a/Flex.1-alpha](https://huggingface.co/ostris/Flex.1-alpha) inference on Comfy UI." + }, + { + "author": "CY-CHENYUE", + "title": "ComfyUI-Gemini-API", + "id": "ComfyUI-Gemini-API", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API" + ], + "description": "A custom node for ComfyUI to integrate Google Gemini API.", + "install_type": "git-clone" + }, + { + "author": "impactframes", + "title": "IF_ParlerTTSNode", + "reference": "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode" + ], + "install_type": "git-clone", + "description": "Parler TTS is a zeroshot voice synthesis with emotion and entonations, you can control the voice style via text prompt" + }, + { + "author": "impactframes", + "title": "IF_Dreamtalk", + "reference": "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk" + ], + "install_type": "git-clone", + "description": "Talking avatars Heads for the IF_AI tools integrates dreamtalk in ComfyUI" + }, + { + "author": "thezveroboy", + "title": "ComfyUI-CSM-Nodes", + "reference": "https://github.com/thezveroboy/ComfyUI-CSM-Nodes", + "files": [ + "https://github.com/thezveroboy/ComfyUI-CSM-Nodes" + ], + "description": "Custom nodes for ComfyUI implementing the csm model for text-to-speech generation.", + "install_type": "git-clone" + }, + { + "author": "leeguandong", + "title": "ComfyUI_DeepSeekVL2", + "reference": "https://github.com/leeguandong/ComfyUI_DeepSeekVL2", + "files": [ + "https://github.com/leeguandong/ComfyUI_DeepSeekVL2" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/DeepSeek-VL2](https://github.com/deepseek-ai/DeepSeek-VL2)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_FluxLayerDiffuse", + "reference": "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse", + "files": [ + "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/Flux-version-LayerDiffuse](https://github.com/RedAIGC/Flux-version-LayerDiffuse)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_Gemma3", + "reference": "https://github.com/leeguandong/ComfyUI_Gemma3", + "files": [ + "https://github.com/leeguandong/ComfyUI_Gemma3" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/gemma-3-27b-it](https://huggingface.co/google/gemma-3-27b-it)" + }, + { + "author": "chri002", + "title": "ComfyUI_depthMapOperation", + "reference": "https://github.com/chri002/ComfyUI_depthMapOperation", + "files": [ + "https://github.com/chri002/ComfyUI_depthMapOperation" + ], + "description": "A simple set of nodes to generate a point cloud from an image and its depth map, perform transformations and some basic operations.", + "install_type": "git-clone" + }, + { + "author": "pixelworldai", + "title": "ComfyUI-AlphaFlatten", + "reference": "https://github.com/pixelworldai/ComfyUI-AlphaFlatten", + "files": [ + "https://github.com/pixelworldai/ComfyUI-AlphaFlatten" + ], + "description": "This node takes a batch of images with alpha channels (RGBA format) and combines them into a single image, respecting the transparency of each layer. It's particularly useful for compositing multiple masked elements (like faces) into a single image.", + "install_type": "git-clone" + }, + { + "author": "chenpipi0807", + "title": "ComfyUI NSFW Filter", + "reference": "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie", + "files": [ + "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie" + ], + "install_type": "git-clone", + "description": "A simple and effective ComfyUI custom node for filtering inappropriate text content, automatically detecting and replacing prohibited words while preserving the original format." + }, + { + "author": "atluslin", + "title": "comfyui_arcane_style_trans", + "reference": "https://github.com/atluslin/comfyui_arcane_style_trans", + "files": [ + "https://github.com/atluslin/comfyui_arcane_style_trans" + ], + "description": "ComfyUI's Arcane stylization plugin", + "install_type": "git-clone" + }, + { + "author": "Laurent2916", + "title": "comfyui-piq", + "reference": "https://github.com/Laurent2916/comfyui-piq", + "files": [ + "https://github.com/Laurent2916/comfyui-piq" + ], + "description": "PIQ ComfyUI custom nodes", + "install_type": "git-clone" + }, + { + "author": "tatookan", + "title": "comfyui_ssl_gemini_EXP", + "reference": "https://github.com/tatookan/comfyui_ssl_gemini_EXP", + "files": [ + "https://github.com/tatookan/comfyui_ssl_gemini_EXP" + ], + "description": "Calling gemini2.0 at comfyui . The project will continue to organize good APIs!", + "install_type": "git-clone" + }, + + { + "author": "ali-vilab", + "title": "ComfyUI-ACE_Plus", + "id": "ace_plus", + "reference": "https://github.com/ali-vilab/ACE_plus", + "files": [ + "https://github.com/ali-vilab/ACE_plus" + ], + "install_type": "git-clone", + "description": "Custom nodes for various visual generation and editing tasks using ACE_Plus FFT Model." + }, + { + "author": "notagen-mw", + "title": "ComfyUI_NotaGen", + "reference": "https://github.com/billwuhao/ComfyUI_NotaGen", + "files": [ + "https://github.com/billwuhao/ComfyUI_NotaGen" + ], + "install_type": "git-clone", + "description": "Symbolic Music Generation, NotaGen node for ComfyUI." + }, + { + "author": "smthemex", + "title": "ComfyUI_KV_Edit", + "reference": "https://github.com/smthemex/ComfyUI_KV_Edit", + "files": [ + "https://github.com/smthemex/ComfyUI_KV_Edit" + ], + "install_type": "git-clone", + "description": "KV-Edit: Training-Free Image Editing for Precise Background Preservation,you can use it in comfyUI" + }, + { + "author": "mit-han-lab", + "title": "ComfyUI-nunchaku", + "reference": "https://github.com/mit-han-lab/ComfyUI-nunchaku", + "files": [ + "https://github.com/mit-han-lab/ComfyUI-nunchaku" + ], + "install_type": "git-clone", + "description": "Nunchaku ComfyUI Node. Nunchaku is the inference that supports SVDQuant. SVDQuant is a new post-training training quantization paradigm for diffusion models, which quantize both the weights and activations of FLUX.1 to 4 bits, achieving 3.5× memory and 8.7× latency reduction on a 16GB laptop 4090 GPU. See more details: https://github.com/mit-han-lab/nunchaku" + }, + { + "author": "billwuhao", + "title": "ComfyUI_DiffRhythm", + "reference": "https://github.com/billwuhao/ComfyUI_DiffRhythm", + "files": [ + "https://github.com/billwuhao/ComfyUI_DiffRhythm" + ], + "install_type": "git-clone", + "description": "Blazingly Fast and Embarrassingly Simple End-to-End Full-Length Song Generation. A node for ComfyUI." + }, + { + "author": "Visionatrix", + "title": "ComfyUI-RemoteVAE", + "reference": "https://github.com/Visionatrix/ComfyUI-RemoteVAE", + "files": [ + "https://github.com/Visionatrix/ComfyUI-RemoteVAE" + ], + "install_type": "git-clone", + "description": "ComfyUI Nodes for Remote VAE Decoding." + }, + { + "author": "markuryy", + "title": "Video XY Plot", + "reference": "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot", + "files": [ + "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "joreyaesh", + "title": "ComfyUI Scroll Over Textarea", + "reference": "https://github.com/joreyaesh/comfyui_scroll_over_textarea", + "files": [ + "https://github.com/joreyaesh/comfyui_scroll_over_textarea" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension to allow textarea elements to be scrolled over. Useful when using a trackpad in order to prevent accidental forward/back navigation (two fingers horizontally on a Mac) when scrolling around the UI." + }, + { + "author": "SSsnap", + "title": "ComfyUI-Ad-scheduler", + "reference": "https://github.com/SS-snap/ComfyUI-Ad_scheduler", + "files": [ + "https://github.com/SS-snap/ComfyUI-Ad_scheduler" + ], + "install_type": "git-clone", + "description": "For denoising tasks that handle noise at any time period, with the ability to add noise in post-processing to enhance details or correct structural accuracy while maintaining the original similarity. Allocating more steps allows the image to regress to an earlier stage.." + }, + { + "author": "iDAPPA", + "title": "AMD GPU Monitor for ComfyUI", + "reference": "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor", + "files": [ + "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor" + ], + "install_type": "git-clone", + "description": "A simple, lightweight AMD GPU monitoring tool for ComfyUI that displays real-time information about your AMD GPU directly in the UI." + }, + { + "author": "orssorbit", + "title": "ComfyUI-wanBlockswap", + "reference": "https://github.com/orssorbit/ComfyUI-wanBlockswap", + "files": [ + "https://github.com/orssorbit/ComfyUI-wanBlockswap" + ], + "install_type": "git-clone", + "description": "This is a simple Wan block swap node for ComfyUI native nodes, works by swapping upto 40 blocks to the CPU to reduce VRAM." + }, + { + "author": "KytraScript", + "title": "ComfyUI_MatAnyone_Kytra", + "reference": "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra", + "files": [ + "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra" + ], + "install_type": "git-clone", + "description": "Kytra's MatAnyone (Video Matting) implementation for ComfyUI - Based on pq-yang/MatAnyone" + }, + { + "author": "irreveloper", + "title": "ComfyUI-DSD", + "reference": "https://github.com/irreveloper/ComfyUI-DSD", + "files": [ + "https://github.com/irreveloper/ComfyUI-DSD" + ], + "install_type": "git-clone", + "description": "An Unofficial ComfyUI custom node package that integrates [a/Diffusion Self-Distillation (DSD)](https://github.com/primecai/diffusion-self-distillation) for zero-shot customized image generation.\nDSD is a model for subject-preserving image generation that allows you to create images of a specific subject in novel contexts without per-instance tuning." + }, + { + "author": "Nikosis", + "title": "ComfyUI-Nikosis-Nodes", + "reference": "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes", + "files": [ + "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes" + ], + "install_type": "git-clone", + "description": "Nodes: Aspect Ratio, Prompt Multiple Styles Selector, Text Concatenate" + }, + { + "author": "roundyyy", + "title": "Mesh Simplifier for ComfyUI", + "reference": "https://github.com/roundyyy/ComfyUI-mesh-simplifier", + "files": [ + "https://github.com/roundyyy/ComfyUI-mesh-simplifier" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that implements mesh simplification with texture preservation using PyMeshLab. This node allows you to reduce the complexity of 3D meshes while preserving visual quality, and is compatible with ComfyUI-3D-Pack's mesh format." + }, + { + "author": "leeguandong", + "title": "ComfyUI_1Prompt1Story", + "reference": "https://github.com/leeguandong/ComfyUI_1Prompt1Story", + "files": [ + "https://github.com/leeguandong/ComfyUI_1Prompt1Story" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/1Prompt1Story](https://github.com/byliutao/1Prompt1Story)" + }, + { + "author": "leeguandong", + "title": "ComfyUI_ChatGen", + "reference": "https://github.com/leeguandong/ComfyUI_ChatGen", + "files": [ + "https://github.com/leeguandong/ComfyUI_ChatGen" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use [a/ChatGen](https://github.com/chengyou-jia/ChatGen)" + }, + { + "author": "S4MUEL-404", + "title": "ComfyUI-S4Tool-Image-Overlay", + "reference": "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay" + ], + "install_type": "git-clone", + "description": "Quickly set up image overlay effects" + }, + { + "author": "xingBaGan", + "title": "ComfyUI-connect-ui", + "reference": "https://github.com/xingBaGan/ComfyUI-connect-ui", + "files": [ + "https://github.com/xingBaGan/ComfyUI-connect-ui" + ], + "install_type": "git-clone", + "description": "Real-time image transfer between client and server Base64 image encoding/decoding support Supports PNG image format Includes a floating preview window for received images Preview window has minimize/maximize functionality" + }, + { + "author": "Duanyll", + "title": "Duanyll Nodepack", + "reference": "https://github.com/Duanyll/duanyll_nodepack", + "files": [ + "https://github.com/Duanyll/duanyll_nodepack" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "HannibalP", + "title": "comfyui-HannibalPack", + "reference": "https://github.com/HannibalP/comfyui-HannibalPack", + "files": [ + "https://github.com/HannibalP/comfyui-HannibalPack" + ], + "install_type": "git-clone", + "description": "This node improves the merging of LoRA for movements and physical resemblance when adding multiple LoRA to a model." + }, + { + "author": "HowToSD", + "title": "ComfyUI-Pt-Wrapper", + "reference": "https://github.com/HowToSD/ComfyUI-Pt-Wrapper", + "files": [ + "https://github.com/HowToSD/ComfyUI-Pt-Wrapper" + ], + "install_type": "git-clone", + "description": "PyTorch extension for ComfyUI featuring extensive PyTorch wrapper nodes for seamless tensor operations and PyTorch model training." + }, + { + "author": "vadimcro", + "title": "VKRiez-Edge", + "reference": "https://github.com/vadimcro/VKRiez-Edge", + "files": [ + "https://github.com/vadimcro/VKRiez-Edge" + ], + "install_type": "git-clone", + "description": "A collection of advanced edge detection nodes for ComfyUI that generate high-quality edge maps / contours for usage with ControlNet Canny / Anyline guidance." + }, + { + "author": "muxueChen", + "title": "ComfyUI-NTQwen25-VL", + "reference": "https://github.com/muxueChen/ComfyUI-NTQwen25-VL", + "files": [ + "https://github.com/muxueChen/ComfyUI-NTQwen25-VL" + ], + "install_type": "git-clone", + "description": "Qwen25-VL is a plugin for ComfyU" + }, + { + "author": "Holasyb918", + "title": "Ghost2_Comfyui", + "reference": "https://github.com/Holasyb918/Ghost2_Comfyui", + "files": [ + "https://github.com/Holasyb918/Ghost2_Comfyui" + ], + "install_type": "git-clone", + "description": "ComfyUI adaptation of [a/GHOST 2.0](https://github.com/ai-forever/ghost-2.0)." + }, + { + "author": "Diohim", + "title": "ComfyUI Unusual Tools", + "reference": "https://github.com/Diohim/ComfyUI-Unusual-Tools", + "files": [ + "https://github.com/Diohim/ComfyUI-Unusual-Tools" + ], + "install_type": "git-clone", + "description": "A collection of unusual but useful image processing nodes for ComfyUI." + }, + { + "author": "penposs", + "title": "ComfyUI Gemini Pro Node", + "reference": "https://github.com/penposs/ComfyUI_Gemini_Pro", + "files": [ + "https://github.com/penposs/ComfyUI_Gemini_Pro" + ], + "install_type": "git-clone", + "description": "This is a Google Gemini Pro API integration node for ComfyUI, supporting text, image, video, and audio inputs." + }, + { + "author": "cardenluo", + "title": "ComfyUI-Apt_Preset", + "reference": "https://github.com/cardenluo/ComfyUI-Apt_Preset", + "files": [ + "https://github.com/cardenluo/ComfyUI-Apt_Preset" + ], + "install_type": "git-clone", + "description": "ComfyUI-Apt_Preset is a node package designed to simplify workflows" + }, + + + { + "author": "finegrain", + "title": "comfyui-finegrain", + "reference": "https://github.com/finegrain-ai/comfyui-finegrain", + "files": [ + "https://github.com/finegrain-ai/comfyui-finegrain" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes to interact with the Finegrain API." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-StyleStudio", + "reference": "https://github.com/Yuan-ManX/ComfyUI-StyleStudio", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-StyleStudio" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for StyleStudio model." + }, + { + "author": "Jerome Bacquet", + "title": "ComfyUI XenoFlow", + "id": "XenoFlow", + "reference": "https://github.com/jerome7562/ComfyUI-XenoFlow", + "files": [ + "https://github.com/jerome7562/ComfyUI-XenoFlow" + ], + "install_type": "git-clone", + "description": "Implementation of Instance nodes, Replicate nodes, and standard Save UI to improve the workflow into ComfyUI." }, { "author": "amorano", - "title": "Jovi_GLSL", - "id": "jovi_glsl", - "reference": "https://github.com/Amorano/Jovi_GLSL", + "title": "Jovi_Colorizer", + "id": "jovijovi_colorizer_capture", + "reference": "https://github.com/Amorano/Jovi_Colorizer", "files": [ - "https://github.com/Amorano/Jovi_GLSL" + "https://github.com/Amorano/Jovi_Colorizer" ], "install_type": "git-clone", - "description": "Integrates GLSL shader support." + "description": "Colorize ComfyUI nodes with defaults per node, node category or via regex filtering." }, { - "author": "IgalOgonov", - "title": "Simple String Repository", - "reference": "https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository", + "author": "Metal3d", + "title": "M3D photo effects", + "id": "ComfyUI_M3D_photo_effects", + "reference": "https://github.com/metal3d/ComfyUI_M3D_photo_effects", "files": [ - "https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository" + "https://github.com/metal3d/ComfyUI_M3D_photo_effects" ], "install_type": "git-clone", - "description": "Custom node that allows storing and accessing strings, meant to be parts of a prompt, in a simplified manner. Partially supports dynamic prompt syntax." + "description": "A set of photo effects for ComfyUI, for the moment, only Bleach Bypass effect is provided, but more to come!" + }, + { + "author": "impactframes", + "title": "IF_DatasetMkr", + "reference": "https://github.com/if-ai/ComfyUI-IF_DatasetMkr", + "files": [ + "https://github.com/if-ai/ComfyUI-IF_DatasetMkr" + ], + "install_type": "git-clone", + "description": "Create Video datasets staright from YT or a video file path" + }, + { + "author": "markuryy", + "title": "Super Loader", + "reference": "https://github.com/markuryy/ComfyUI-SuperLoader", + "files": [ + "https://github.com/markuryy/ComfyUI-SuperLoader" + ], + "install_type": "git-clone", + "description": "Metadata for loaded models" + }, + { + "author": "lgldlk", + "title": "ComfyUI-PSD-Replace", + "reference": "https://github.com/lgldlk/ComfyUI-PSD-Replace", + "files": [ + "https://github.com/lgldlk/ComfyUI-PSD-Replace" + ], + "install_type": "git-clone", + "description": "One click replacement of smart objects or layers in PSD" + }, + { + "author": "S4MUEL-404", + "title": "ComfyUI-Text-On-Image", + "id": "ComfyUI-Text-On-Image", + "reference": "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows users to add text overlays to images with customizable size, font, position, and shadow." + }, + { + "author": "S4MUEL-404", + "title": "ComfyUI-Prompts-Selector", + "reference": "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector" + ], + "install_type": "git-clone", + "description": "Quickly select preset prompts and merge them" } ] } diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index b183944d..41155c0f 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -9,6 +9,15 @@ "title_aux": "alkemann nodes" } ], + "https://git.mmaker.moe/mmaker/sd-webui-color-enhance": [ + [ + "MMakerColorBlend", + "MMakerColorEnhance" + ], + { + "title_aux": "mmaker/Color Enhance" + } + ], "https://github.com/0x-jerry/comfyui-rembg": [ [ "Load Rembg Model", @@ -18,6 +27,25 @@ "title_aux": "Rembg Background Removal Node for ComfyUI" } ], + "https://github.com/0xRavenBlack/ComfyUI-OOP": [ + [ + "OOPAnimalNode", + "OOPClothingNode", + "OOPEnvironmentNode", + "OOPEyesNode", + "OOPHairNode", + "OOPLocationNode", + "OOPMouthNode", + "OOPNode", + "OOPPersonNode", + "OOPPoseNode", + "OOPStyleNode", + "OOPViewNode" + ], + { + "title_aux": "ComfyUI-OOP" + } + ], "https://github.com/0xbitches/ComfyUI-LCM": [ [ "LCM_Sampler", @@ -29,6 +57,16 @@ "title_aux": "Latent Consistency Model for ComfyUI" } ], + "https://github.com/1038lab/ComfyUI-EdgeTTS": [ + [ + "EdgeTTS", + "Save_Audio", + "WhisperSTT" + ], + { + "title_aux": "ComfyUI-EdgeTTS" + } + ], "https://github.com/1038lab/ComfyUI-OmniGen": [ [ "ailab_OmniGen" @@ -39,7 +77,14 @@ ], "https://github.com/1038lab/ComfyUI-RMBG": [ [ + "AiLab_ImagePreview", + "AiLab_LoadImage", + "AiLab_MaskPreview", + "AiLab_Preview", + "BiRefNetRMBG", + "BodySegment", "ClothesSegment", + "FaceSegment", "FashionSegmentAccessories", "FashionSegmentClothing", "RMBG", @@ -49,6 +94,17 @@ "title_aux": "ComfyUI-RMBG" } ], + "https://github.com/1038lab/ComfyUI-SparkTTS": [ + [ + "SparkTTS_AdvVoiceClone", + "SparkTTS_AudioRecorder", + "SparkTTS_VoiceClone", + "SparkTTS_VoiceCreator" + ], + { + "title_aux": "Comfyui-Spark-TTS" + } + ], "https://github.com/1038lab/ComfyUI-WildPromptor": [ [ "AllInOneList", @@ -182,6 +238,7 @@ [ "Character2Video", "Image2Video", + "StartEnd2Video", "Text2Video", "UpscaleVideo", "VideoDownloader" @@ -227,14 +284,6 @@ "title_aux": "Just a bunch of QOL nodes by 42lux" } ], - "https://github.com/42lux/ComfyUI-safety-checker": [ - [ - "Safety Checker" - ], - { - "title_aux": "ComfyUI-safety-checker" - } - ], "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": [ [ "GPT4VCaptioner", @@ -401,42 +450,58 @@ ], "https://github.com/807502278/ComfyUI-WJNodes": [ [ - "AdvCrop", + "Accurate_mask_clipping", + "Any_Pipe", "ApplyEasyOCR_batch", - "BilateralFilter", - "ColorSegmentation", - "ColorSegmentation_v2", - "ComfyUIPath", - "CoordsSelectMask", + "Bilateral_Filter", + "ColorData_HSV_Capture", + "Color_Data_Break", + "Color_check_Name", + "ComfyUI_Path_Out", + "Determine_Type", + "Graphics_Detection_Reference", "ImageChannelBus", - "InvertChannelAdv", - "LoadColorConfig", - "LoadImageAdv", - "LoadImageFromPath", - "MaskAndMaskMath", - "MaskDetection", - "MaskLineMapping", - "MaskSelectMask", - "MergeImageList", - "PathAppend", + "ListMerger", + "Load_Image_Adv", + "Load_Image_From_Path", + "Mask_Detection", "PrimitiveNode", - "RGBABatchToImage", + "Random_Select_Prompt", + "Run_BEN_v2", + "Run_torchvision_model", "Sam2AutoSegmentation_data", - "SaveImageOut", - "SaveImageToPath", + "Save_Image_Out", + "Save_Image_To_Path", "SegmDetectorCombined_batch", - "SelectImagesBatch", - "SplitPath", + "Select_Batch_v2", + "Select_Images_Batch", + "Split_Path", + "Str_Append", "ToImageListData", - "VideoFade", + "Video_Fade", + "Video_OverlappingSeparation_test", "WAS_Mask_Fill_Region_batch", - "any_data", - "array_count", + "adv_crop", + "any_math", + "any_math_v2", "bbox_restore_mask", + "color_segmentation", + "color_segmentation_v2", + "coords_select_mask", + "filter_DensePose_color", "get_image_data", + "image_ValueMath", + "image_math", + "invert_channel_adv", + "load_BEN_model", + "load_ColorName_config", "load_EasyOCR_model", + "load_color_config", "load_model_value", - "show_type", + "load_torchvision_model", + "mask_and_mask_math", + "mask_line_mapping", + "mask_select_mask", "sort_images_batch" ], { @@ -475,6 +540,24 @@ "title_aux": "ComfyUI-Static-Primitives" } ], + "https://github.com/852wa/ComfyUI-AAP": [ + [ + "AdvancedAlphaProcessor" + ], + { + "title_aux": "ComfyUI-AdvancedAlphaProcessor" + } + ], + "https://github.com/852wa/ComfyUI-ColorshiftColor": [ + [ + "ColorshiftColor", + "CsCFill", + "CsCPaletteEditor" + ], + { + "title_aux": "ComfyUI-ColorshiftColor" + } + ], "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": [ [ "AutoColorGimp" @@ -485,7 +568,8 @@ ], "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE-Wrapper": [ [ - "PixelOE" + "PixelOE", + "PixelOETorch" ], { "title_aux": "ComfyUI-PixelOE-Wrapper" @@ -876,6 +960,15 @@ "title_aux": "MiniMates-ComfyUI" } ], + "https://github.com/AIFSH/OmniGen-ComfyUI": [ + [ + "OmniGenLoader", + "OmniGenNode" + ], + { + "title_aux": "OmniGen-ComfyUI" + } + ], "https://github.com/AIFSH/PyramidFlow-ComfyUI": [ [ "PyramidFlowNode" @@ -1057,6 +1150,7 @@ "> Rotate Image", "> Saturation", "> Save Image", + "> Save Text", "> Scale Image to Side", "> Scanlines", "> Sharpen", @@ -1073,6 +1167,15 @@ "title_aux": "ComfyUI_yanc" } ], + "https://github.com/APZmedia/APZmedia-comfy-together-lora": [ + [ + "TogetherImageGenerator", + "TogetherImageGeneratorLoRA" + ], + { + "title_aux": "APZmedia Together Image Generator for ComfyUI" + } + ], "https://github.com/APZmedia/APZmedia-comfyui-fast-image-save": [ [ "APZmedia Fast image save" @@ -1249,7 +1352,9 @@ "Fast_Color_Match", "Fast_Film_Grain", "Get_Side_Length_Of_Image", + "Image_Crop", "Image_Dimensions", + "Image_Stitch", "Image_Tiler", "Image_Untiler", "Int_Divide_Rounded", @@ -1267,7 +1372,8 @@ "Seed-Nodes: ImageTo3D", "Seed-Nodes: LoadImage", "Seed-Nodes: LoadMultipleImages", - "Seed-Nodes: SLICPixelator" + "Seed-Nodes: SLICPixelator", + "Seed-Nodes: SeedSaveAudio" ], { "title_aux": "ComfyUI-Seed-Nodes" @@ -1288,9 +1394,9 @@ "BillBum_Modified_RegText_Node", "BillBum_Modified_SD3_API_Node", "BillBum_Modified_Structured_LLM_Node(Imperfect)", - "BillBum_Modified_Together_API_Node", "BillBum_Modified_VisionLM_API_Node", "BillBum_Modified_img2b64_url_Node", + "BillBum_NonSysPrompt_VLM_API_Node", "Input_Text", "Text_Concat" ], @@ -1316,8 +1422,19 @@ "https://github.com/AkashKarnatak/ComfyUI_faishme": [ [ "Faishme Debug", + "Faishme Load Image from Glob", "Faishme Mannequin to Model Loader", + "Faishme Memory Debug", "Faishme Moondream", + "Faishme Repeat BBOX", + "Faishme Repeat Image Batch", + "Faishme Repeat Latent Batch", + "Faishme Repeat Tensor Batch", + "Faishme Save Image", + "Faishme Stack Images", + "Faishme Stack Latents", + "Faishme Unstack Images", + "Faishme Unstack Latents", "Load Fashion Model" ], { @@ -1332,29 +1449,6 @@ "title_aux": "seamless-clone-comfyui" } ], - "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": [ - [ - "ArgosTranslateCLIPTextEncodeNode", - "ArgosTranslateTextNode", - "ChatGLM4InstructMediaNode", - "ChatGLM4InstructNode", - "ChatGLM4TranslateCLIPTextEncodeNode", - "ChatGLM4TranslateTextNode", - "ColorsCorrectNode", - "DeepTranslatorCLIPTextEncodeNode", - "DeepTranslatorTextNode", - "GoogleTranslateCLIPTextEncodeNode", - "GoogleTranslateTextNode", - "HexToHueNode", - "IDENode", - "PainterNode", - "PoseNode", - "PreviewTextNode" - ], - { - "title_aux": "AlekPet/ComfyUI_Custom_Nodes_AlekPet" - } - ], "https://github.com/Alvaroeai/ComfyUI-Text2Json": [ [ "TextToJson" @@ -1363,31 +1457,68 @@ "title_aux": "ComfyUI-Text2Json" } ], + "https://github.com/Amorano/Jovi_Capture": [ + [ + "CAMERA (JOV_CAPTURE)", + "MONITOR (JOV_CAPTURE)", + "REMOTE (JOV_CAPTURE)", + "WINDOW (JOV_CAPTURE)" + ], + { + "title_aux": "Jovi_Capture" + } + ], "https://github.com/Amorano/Jovi_GLSL": [ [ - "GLSL (JOV_GL) \ud83c\udf69", - "GLSL BLEND LINEAR (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL COLOR CONVERSION (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL COLOR PALETTE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL CONICAL GRADIENT (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL DIRECTIONAL WARP (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL FILTER RANGE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL GRAYSCALE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL HSV ADJUST (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL INVERT (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL NORMAL (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL NORMAL BLEND (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL POSTERIZE (JOV_GL) \ud83e\uddd9\ud83c\udffd", - "GLSL TRANSFORM (JOV_GL) \ud83e\uddd9\ud83c\udffd" + "BLEND LINEAR (JOV_GL)", + "COLOR CONVERSION (JOV_GL)", + "COLOR PALETTE (JOV_GL)", + "CONICAL GRADIENT (JOV_GL)", + "DIRECTIONAL WARP (JOV_GL)", + "FILTER RANGE (JOV_GL)", + "GRAYSCALE (JOV_GL)", + "HSV ADJUST (JOV_GL)", + "INVERT (JOV_GL)", + "MIN MAX (JOV_GL)", + "NOISE PERLIN (JOV_GL)", + "NOISE SIMPLEX (JOV_GL)", + "NOISE WORLEY (JOV_GL)", + "NORMAL (JOV_GL)", + "NORMAL BLEND (JOV_GL)", + "PIXELATE (JOV_GL)", + "POSTERIZE (JOV_GL)", + "SOBEL (JOV_GL)", + "TRANSFORM (JOV_GL)" ], { "title_aux": "Jovi_GLSL" } ], + "https://github.com/Amorano/Jovi_MIDI": [ + [ + "MIDI FILTER (JOV_MIDI)", + "MIDI FILTER EZ (JOV_MIDI)", + "MIDI LOADER (JOV_MIDI)", + "MIDI MESSAGE (JOV_MIDI)", + "MIDI READER (JOV_MIDI)" + ], + { + "title_aux": "Jovi_MIDI" + } + ], + "https://github.com/Amorano/Jovi_Measure": [ + [ + "BLUR EFFECT (JOV_MEASURE)", + "SHANNON ENTROPY (JOV_MEASURE)" + ], + { + "title_aux": "Jovi_Measure" + } + ], "https://github.com/Amorano/Jovi_Spout": [ [ - "SPOUT READER (JOV_SP) \ud83d\udcfa", - "SPOUT WRITER (JOV_SP) \ud83c\udfa5" + "SPOUT READER (JOV_SPOUT)", + "SPOUT WRITER (JOV_SPOUT)" ], { "title_aux": "Jovi_Spout" @@ -1456,14 +1587,13 @@ "TICK (JOV) \u23f1", "TRANSFORM (JOV) \ud83c\udfdd\ufe0f", "VALUE (JOV) \ud83e\uddec", + "VECTOR2 (JOV)", + "VECTOR3 (JOV)", + "VECTOR4 (JOV)", "WAVE GEN (JOV) \ud83c\udf0a" ], { - "author": "Alexander G. Morano", - "description": "Integrates Webcam, MIDI, Spout and GLSL shader support. Animation", - "nodename_pattern": " \\(JOV\\)$", - "title": "Jovimetrix", - "title_aux": "Jovimetrix Composition Nodes" + "title_aux": "Jovimetrix" } ], "https://github.com/Anibaaal/ComfyUI-UX-Nodes": [ @@ -1474,7 +1604,8 @@ "ColorGeneratorNode", "DropShadowNode", "EasyResolutionPicker", - "LerpNode" + "LerpNode", + "RemoveJSONMarkdownFormatting" ], { "title_aux": "ComfyUI UX Nodes" @@ -1558,6 +1689,14 @@ "title_aux": "ComfyUI-Ardenius" } ], + "https://github.com/Arkanun/ReadCSV_ComfyUI": [ + [ + "ReadCSVRowNode" + ], + { + "title_aux": "ReadCSV_ComfyUI" + } + ], "https://github.com/ArtBot2023/CharacterFaceSwap": [ [ "Color Blend", @@ -1576,6 +1715,51 @@ "title_aux": "Character Face Swap" } ], + "https://github.com/ArtHommage/HommageTools": [ + [ + "HTBaseShiftNode", + "HTConsoleLoggerNode", + "HTConversionNode", + "HTDetectionBatchProcessor", + "HTDiffusionLoaderMulti", + "HTDimensionAnalyzerNode", + "HTDimensionFormatterNode", + "HTDownsampleNode", + "HTFlexibleNode", + "HTInspectorNode", + "HTLayerCollectorNode", + "HTLayerExportNode", + "HTLevelsNode", + "HTMaskDilationNode", + "HTMaskValidatorNode", + "HTNodeStateController", + "HTNodeUnmuteAll", + "HTNullNode", + "HTParameterExtractorNode", + "HTPhotoshopBlurNode", + "HTRegexNode", + "HTResizeNode", + "HTResolutionDownsampleNode", + "HTResolutionNode", + "HTSamplerBridgeNode", + "HTSaveImagePlus", + "HTSchedulerBridgeNode", + "HTSplitterNode", + "HTStatusIndicatorNode", + "HTSurfaceBlurNode", + "HTSwitchNode", + "HTTensorInfoNode", + "HTTextCleanupNode", + "HTTrainingSizeNode", + "HTValueMapperNode", + "HTWidgetControlNode", + "UltimateSDUpscaleStandalone", + "ht_detection_batch_processor_v2" + ], + { + "title_aux": "HommageTools for ComfyUI" + } + ], "https://github.com/ArtVentureX/comfyui-animatediff": [ [ "AnimateDiffCombine", @@ -1721,6 +1905,14 @@ "title_aux": "Masquerade Nodes" } ], + "https://github.com/BahaC/ComfyUI-ZonosTTS": [ + [ + "ZonosTextToSpeech" + ], + { + "title_aux": "ComfyUI Zonos TTS Node" + } + ], "https://github.com/Beinsezii/bsz-cui-extras": [ [ "BSZAbsoluteHires", @@ -1747,6 +1939,14 @@ "title_aux": "bsz-cui-extras" } ], + "https://github.com/Bellzs/ComfyUI-LoRA-Assistant": [ + [ + "LoRATriggerLocal" + ], + { + "title_aux": "ComfyUI-LoRA-Assistant" + } + ], "https://github.com/BenNarum/ComfyUI_CAS": [ [ "AttentionToSigmas", @@ -1840,10 +2040,13 @@ ], "https://github.com/BennyKok/comfyui-deploy": [ [ + "ComfyDeployOutputImage", "ComfyDeployWebscoketImageInput", "ComfyDeployWebscoketImageOutput", + "ComfyUIDeployExternalAudio", "ComfyUIDeployExternalBoolean", "ComfyUIDeployExternalCheckpoint", + "ComfyUIDeployExternalEXR", "ComfyUIDeployExternalFaceModel", "ComfyUIDeployExternalImage", "ComfyUIDeployExternalImageAlpha", @@ -1918,11 +2121,14 @@ [ "BTPromptSchedule", "BTPromptSelector", + "DownloadFont", "EndQueue", "ImageTextOverlay", "Loop", "LoopEnd", - "LoopStart" + "LoopStart", + "RandomTextOverlay", + "TextGrowth" ], { "title_aux": "ComfyUI-Book-Tools Nodes for ComfyUI" @@ -2078,6 +2284,7 @@ [ "ClearNode", "LoadImageURL", + "StopNode", "UploadImage", "XSampler", "XSave" @@ -2086,20 +2293,68 @@ "title_aux": "ComfyUI-Rework-X" } ], + "https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools": [ + [ + "Multi Float", + "Multi Int", + "Multi Text", + "MultiFloatNodeAID", + "MultiInt", + "MultiText" + ], + { + "title_aux": "The AI Doctors Clinical Tools" + } + ], + "https://github.com/BoyuanJiang/FitDiT-ComfyUI": [ + [ + "FitDiTLoader", + "FitDiTMaskGenerator", + "FitDiTTryOn" + ], + { + "title_aux": "FitDiT[official] - High-fidelity Virtual Try-on" + } + ], "https://github.com/Bria-AI/ComfyUI-BRIA-API": [ [ "BriaEraser", "BriaGenFill", "BriaTailoredGen", + "ImageExpansionNode", + "ReimagineNode", + "RemoveForegroundNode", + "ReplaceBgNode", + "RmbgNode", "ShotByImageNode", "ShotByTextNode", "TailoredModelInfoNode", - "Text2ImageBaseNode" + "TailoredPortraitNode", + "Text2ImageBaseNode", + "Text2ImageFastNode", + "Text2ImageHDNode" ], { "title_aux": "BRIA AI API nodes" } ], + "https://github.com/BuffMcBigHuge/ComfyUI-Zonos": [ + [ + "ZonosEmotion", + "ZonosGenerate" + ], + { + "title_aux": "ComfyUI-Zonos" + } + ], + "https://github.com/Burgstall-labs/ComfyUI-BS_Kokoro-onnx": [ + [ + "Kokoro TTS" + ], + { + "title_aux": "ComfyUI-BS_Kokoro-onnx" + } + ], "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": [ [ "APIRequestNode", @@ -2110,6 +2365,44 @@ "title_aux": "ComfyUI_API_Manager" } ], + "https://github.com/CC-SUN6/ccsun_node": [ + [ + "Image Editing", + "Single Image", + "resize to 8", + "several images" + ], + { + "title_aux": "ccsun_node" + } + ], + "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste": [ + [ + "FaceAlignDouble", + "FaceAlignSingle", + "FaceAutoFitDouble", + "FaceAutoFitSingle" + ], + { + "title_aux": "ComfyUI_FaceAlignPaste" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-Free-GPU": [ + [ + "FreeGPUMemory" + ], + { + "title_aux": "ComfyUI-Free-GPU" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API": [ + [ + "Google-Gemini" + ], + { + "title_aux": "ComfyUI-Gemini-API" + } + ], "https://github.com/CY-CHENYUE/ComfyUI-InpaintEasy": [ [ "CropByMask", @@ -2121,6 +2414,16 @@ "title_aux": "ComfyUI-InpaintEasy" } ], + "https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro": [ + [ + "JanusImageGeneration", + "JanusImageUnderstanding", + "JanusModelLoader" + ], + { + "title_aux": "ComfyUI-Janus-Pro" + } + ], "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-Plus": [ [ "MiniCPM3_4B", @@ -2137,6 +2440,16 @@ "title_aux": "ComfyUI-MiniCPM-Plus" } ], + "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-o": [ + [ + "Load MiniCPM Model", + "MiniCPM Image Chat", + "MiniCPMImageAnalyzer" + ], + { + "title_aux": "ComfyUI-MiniCPM-o" + } + ], "https://github.com/CY-CHENYUE/ComfyUI-Molmo": [ [ "Molmo7BDbnb" @@ -2240,6 +2553,15 @@ "title_aux": "ComfyUI-TimestepShiftModel" } ], + "https://github.com/Chengym2023/ComfyUI-DeepSeek_Online": [ + [ + "DeepSeekOnline", + "SiliconCloud" + ], + { + "title_aux": "ComfyUI-DeepSeek_Online" + } + ], "https://github.com/ChrisColeTech/ComfyUI-Elegant-Resource-Monitor": [ [ "Resource Monitor" @@ -2252,7 +2574,8 @@ [ "Directory File Counter", "Simple Number Counter", - "Text File Line Counter" + "Text File Line Counter", + "Text File Line Reader" ], { "title_aux": "ComfyUI-Line-counter" @@ -2263,41 +2586,56 @@ "AdvancedNoise", "Base64ToConditioning", "CLIPTextEncodeFluxUnguided", - "ClownInpaint", - "ClownInpaintSimple", - "ClownSampler", - "ClownSamplerAdvanced", - "ClownsharKSampler", - "ClownsharKSamplerAutomation", - "ClownsharKSamplerGuide", - "ClownsharKSamplerGuides", - "ClownsharKSamplerOptions", - "ClownsharKSamplerOptions_SDE_Noise", - "ClownsharkSamplerOptions_FrameWeights", + "ClownRegionalConditioning", + "ClownRegionalConditioning3", + "ClownRegionalConditioningAdvanced", + "ClownScheduler", "Conditioning Recast FP64", "ConditioningAdd", "ConditioningAverageScheduler", + "ConditioningBatch4", + "ConditioningBatch8", "ConditioningMultiply", + "ConditioningOrthoCollin", "ConditioningToBase64", "ConditioningTruncate", "ConditioningZeroAndTruncate", + "Constant Scheduler", "EmptyLatentImage64", "EmptyLatentImageCustom", "Film Grain", "FluxGuidanceDisable", "FluxLoader", - "FluxRegionalConditioning", - "FluxRegionalPrompt", + "FluxOrthoCFGPatcher", + "Frame Select", + "Frame Select Latent", + "Frame Select Latent Raw", + "Frames Concat", + "Frames Concat Latent", + "Frames Concat Latent Raw", + "Frames Slice", + "Frames Slice Latent", + "Frames Slice Latent Raw", "Frequency Separation Hard Light", "Frequency Separation Hard Light LAB", + "Frequency Separation Linear Light", "Image Channels LAB", "Image Crop Location Exact", + "Image Gaussian Blur", "Image Median Blur", "Image Pair Split", + "Image Sharpen FS", "Latent Batcher", + "Latent Channels From To", + "Latent Clear State Info", + "Latent Display State Info", + "Latent Get Channel Means", "Latent Match Channelwise", "Latent Normalize Channels", + "Latent Replace State Info", + "Latent Transfer State Info", "Latent to Cuda", + "Latent to RawX", "LatentBatch_channels", "LatentBatch_channels_16", "LatentNoiseBatch_fractal", @@ -2310,23 +2648,22 @@ "LatentPhaseMagnitudeMultiply", "LatentPhaseMagnitudeOffset", "LatentPhaseMagnitudePower", - "Legacy_ClownSampler", - "Legacy_ClownsharKSampler", - "Legacy_ClownsharKSamplerGuides", - "Legacy_SharkSampler", + "Linear Quadratic Advanced", + "MaskToggle", "ModelSamplingAdvanced", "ModelSamplingAdvancedResolution", "ModelTimestepPatcher", "PrepForUnsampling", + "ReAuraPatcher", "ReFluxPatcher", + "ReSD35Patcher", + "RectifiedFlow_RegionalConditioning", + "RectifiedFlow_RegionalPrompt", "SD35Loader", - "SamplerOptions_GarbageCollection", - "SamplerOptions_TimestepScaling", - "SamplerRK_Test", + "SeedGenerator", "Set Precision", "Set Precision Advanced", "Set Precision Universal", - "SharkSampler", "Sigmas Abs", "Sigmas Add", "Sigmas Cleanup", @@ -2363,15 +2700,17 @@ "Tan Scheduler 2", "Tan Scheduler 2 Simple", "TextBox1", + "TextBox2", "TextBox3", + "TextBoxConcatenate", + "TextConcatenate", + "TextLoadFile", + "TextShuffle", + "TextShuffleAndTruncate", + "TextTruncateTokens", "TorchCompileModelFluxAdv", "UNetSave", - "UltraSharkSampler", - "UltraSharkSampler Tiled", - "UltraSharkSamplerRBTest", - "VAEEncodeAdvanced", - "VGG19StyleTransfer", - "Zampler_Test" + "VAEEncodeAdvanced" ], { "title_aux": "RES4LYF" @@ -2420,6 +2759,45 @@ "title_aux": "JH Misc. Nodes" } ], + "https://github.com/ComplexRobot/ComfyUI-Simple-VFI": [ + [ + "Simple_Frame_Interpolation" + ], + { + "title_aux": "ComfyUI-Simple-VFI" + } + ], + "https://github.com/Conor-Collins/coco_tools": [ + [ + "ColorspaceNode", + "CryptomatteLayer", + "FrequencyCombine", + "FrequencySeparation", + "ImageLoader", + "JSONNode", + "JSONReaderNode", + "JSONValueFinderNode", + "LoadExr", + "LoadExrLayerByName", + "NoiseNode", + "RandomIntNode", + "RegexFindNode", + "SaverNode", + "SplitThreeBandsNode", + "WalkFolderNode", + "ZDepthNode", + "ZNormalizeNode", + "coco_loader", + "colorspace", + "load_exr", + "load_exr_layer_by_name", + "saver", + "shamble_cryptomatte" + ], + { + "title_aux": "ComfyUI-CoCoTools" + } + ], "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": [ [ "DebugToFile", @@ -2441,6 +2819,7 @@ "PrimereFastSeed", "PrimereHypernetwork", "PrimereImageSegments", + "PrimereImgToPrompt", "PrimereKSampler", "PrimereLLMEnhancer", "PrimereLORA", @@ -2521,6 +2900,16 @@ "title_aux": "comfyui_nai_api" } ], + "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python": [ + [ + "Cozy Human Parser ATR", + "Cozy Human Parser LIP", + "Cozy Human Parser Pascal" + ], + { + "title_aux": "Cozy Human Parser in pure Python" + } + ], "https://github.com/CyanAutumn/ComfyUi_Random_Manage_Cyan": [ [ "Random Prompt Cyan", @@ -2533,23 +2922,30 @@ "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption": [ [ "Auto Caption", + "Auto_Caption2", + "ExtraOptionsSet", "Joy Model load", + "Joy_Model2_load", "LoadManyImages" ], { - "title_aux": "ComfyUI_Auto_Caption" + "title_aux": "Cyber-BlackCat" } ], "https://github.com/Cyber-Blacat/ComfyUI-Yuan": [ [ + ", and the value is the function name in the right of the", "Black and white", "Image Judgment", "ImageMinusMask", "Light or Dark", "Load Random Images", "Mask Preprocess Morphology", + "Number", "PhotoShop Transfer", - "Yuan" + "SomethingShow", + "TensorShow", + "a fake Nod" ], { "title_aux": "ComfyUI-Yuan" @@ -2563,6 +2959,26 @@ "title_aux": "ComfyUI Checkpoint Loader Config" } ], + "https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes": [ + [ + "Control Pipe (Focus Nodes)", + "FOCUS Upscale (Focus Nodes)", + "Global Seed Controller (Focus Nodes)", + "KSampler Settings (Focus Nodes)", + "Model Unloader (Focus Nodes)", + "Prompt Box (Focus Nodes)", + "SDXL All-In-One (Focus Nodes)", + "SDXL Control Module (Focus Nodes)", + "SDXL Preprocess (Focus Nodes)", + "Style Injector (Focus Nodes)", + "Style Selector (Focus Nodes)", + "Text Display (Focus Nodes)", + "Wildcard Processor (Focus Nodes)" + ], + { + "title_aux": "Comfyui FOCUS nodes" + } + ], "https://github.com/Danand/ComfyUI-ComfyCouple": [ [ "Attention couple", @@ -2647,6 +3063,15 @@ "title_aux": "Pipeline Parallel ComfyUI" } ], + "https://github.com/Deep-Neko/ComfyUI_ascii_art": [ + [ + "AsciiGenerator" + ], + { + "author": "DeepNeko ", + "title_aux": "ascii-art-comfyui" + } + ], "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ [], { @@ -2660,10 +3085,17 @@ ], "https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes": [ [ - "DP 10 String Switch", + "DP 10 Images Switch Or Batch", + "DP 10 String Switch Or Connect", "DP 2 String Switch", - "DP 5 String Switch", + "DP 3 Images Switch Or Batch", + "DP 3 String Switch Or Connect", + "DP 5 Find And Replace", + "DP 5 Images Switch Or Batch", + "DP 5 String Switch Or Connect", + "DP Add Background To Png", "DP Add Weight To String Sdxl", + "DP Advanced Sampler", "DP Advanced Weight String Sdxl", "DP Animation Calculator 10 Inputs", "DP Animation Calculator 5 Inputs", @@ -2672,8 +3104,9 @@ "DP Big Letters", "DP Broken Token", "DP Clean Prompt", - "DP Combo Controller", - "DP Condition Mixer", + "DP Clean Prompt Travel", + "DP Condition Switch", + "DP ControlNet Apply Advanced", "DP Crazy Prompt Mixer", "DP Create Json File", "DP Custom Aspect Ratio", @@ -2681,36 +3114,43 @@ "DP Draggable Floats 1", "DP Draggable Floats 2", "DP Draggable Floats 3", + "DP Draggable Int 1step", + "DP Draggable Int 4step", + "DP Draggable Int 8step", "DP Fast Slow Motion", "DP Five Lora", "DP Five Lora Random", + "DP Float Stepper", + "DP Image And String Pairs Switch", "DP Image Color Analyzer", "DP Image Color Analyzer Small", "DP Image Color Effect", "DP Image Effect Processor", + "DP Image Effect Processor Small", "DP Image Empty Latent Switch Flux", "DP Image Empty Latent Switch SDXL", "DP Image Slide Show", "DP Image Strip", - "DP Image Switch 10", - "DP Image Switch 3", - "DP Image Switch 5", - "DP Int 0-1000", - "DP Int 0-1000 4 Step", - "DP Int 0-1000 8 Step", + "DP Latent Split", + "DP Line Cycler", + "DP Load Checkpoint With Info", + "DP Load Controlnet Model With Name", + "DP Load Dual CLIP With Info", "DP Load Image Effects", "DP Load Image Effects Small", + "DP Load Image Minimal", + "DP Load Image With Seed", + "DP Load UNET With Info", "DP Logo Animator", - "DP Logo Animator Advanced", "DP Lora Random Strength Controller", "DP Lora Strength Controller", - "DP Lora Strength Stepper", + "DP Mask Settings", "DP Prompt Inverter", - "DP Prompt Manager", "DP Prompt Manager Small", "DP Prompt Mode Controller", "DP Prompt Styler", "DP Prompt Token Compressor", + "DP Prompt Travel Prompt", "DP Random Character", "DP Random Crazy Prompt Generator", "DP Random Logo Style Generator", @@ -2720,11 +3160,11 @@ "DP Random Psychedelic Punk Generator", "DP Random Superhero Prompt Generator", "DP Random Vehicle Generator", + "DP Sampler With Info", "DP Save Preview Image", "DP Set New Model Folder Link", "DP String Text", - "DP String With Switch", - "DP Strings Connector", + "DP String Text With Sdxl Weight", "DP Strip Edge Masks", "DP Switch Controller", "DP Text Preview", @@ -2735,18 +3175,40 @@ "DP Video Looper", "DP Video Transition", "DP_Crazy_Prompt_Mixer", - "DP_Logo_Animator_Advanced", - "DP_Lora_Strength_Stepper", - "DP_Prompt_Inverter", - "DP_Strings_Connector" + "DP_Float_Stepper", + "DP_Prompt_Inverter" ], { "title_aux": "ComfyUI-Desert-Pixel-Nodes" } ], + "https://github.com/DiaoDaiaChan/ComfyUI_API_Request": [ + [ + "Character_Prompt_Select", + "NovelAI_Request", + "NovelAI_Request_Payload", + "SDWebUI_Request", + "SDWebUI_Request_Payload", + "SDWebUI_Request_PayloadExtend" + ], + { + "title_aux": "Comfyui SDAPI Request / NovelAI" + } + ], + "https://github.com/Diohim/ComfyUI-Unusual-Tools": [ + [ + "AdjustCrop", + "AutoImageResize", + "BatchLoadLatentImage", + "BatchSaveLatentImage" + ], + { + "title_aux": "ComfyUI Unusual Tools" + } + ], "https://github.com/Dobidop/ComfyStereo": [ [ - "LazyStereo", + "DeoVRViewNode", "StereoImageNode" ], { @@ -2818,6 +3280,38 @@ "title_aux": "ComfyUI Color Detection Nodes" } ], + "https://github.com/DraconicDragon/ComfyUI-Venice-API": [ + [ + "CharCountTextBox", + "GenerateImage_VENICE", + "GenerateTextAdvanced_VENICE", + "GenerateText_VENICE", + "InpaintImage_VENICE", + "UpscaleImage_VENICE" + ], + { + "title_aux": "ComfyUI-Venice-API" + } + ], + "https://github.com/DragonDiffusionbyBoyo/Boyonodes": [ + [ + "BoyoLoadImageList", + "BoyoSaver", + "BoyoVAEDecode", + "Boyolatent" + ], + { + "title_aux": "Boyonodes" + } + ], + "https://github.com/Duanyll/duanyll_nodepack": [ + [ + "PhotoDoddleConditioning" + ], + { + "title_aux": "Duanyll Nodepack" + } + ], "https://github.com/Eagle-CN/ComfyUI-Addoor": [ [ "AD_AnyFileList", @@ -2845,6 +3339,7 @@ "AD_mockup-maker", "AD_poster-maker", "AD_prompt-saver", + "ImageCaptioner", "ImageResize", "Incrementer \ud83e\udeb4", "TextAppendNode", @@ -2861,6 +3356,26 @@ "title_aux": "ComfyUI-Addoor" } ], + "https://github.com/Easymode-ai/ComfyUI-BPT": [ + [ + "TrimeshBPT", + "TrimeshLoad", + "TrimeshPreview", + "TrimeshSave" + ], + { + "title_aux": "ComfyUI-BPT" + } + ], + "https://github.com/Easymode-ai/ComfyUI-ShadowR": [ + [ + "ShadowRModelLoader", + "ShadowRShadowRemover" + ], + { + "title_aux": "ComfyUI-ShadowR" + } + ], "https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes": [ [ "InstantX Flux Union ControlNet Loader" @@ -2922,6 +3437,14 @@ "title_aux": "ComfyUI-post-processing-nodes" } ], + "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution": [ + [ + "ConstrainResolution" + ], + { + "title_aux": "ComfyUI-ConstrainResolution" + } + ], "https://github.com/EnragedAntelope/ComfyUI-Doubutsu-Describer": [ [ "DoubutsuDescriber" @@ -2930,6 +3453,16 @@ "title_aux": "ComfyUI-Doubutsu-Describer" } ], + "https://github.com/EnragedAntelope/ComfyUI-EACloudNodes": [ + [ + "GroqNode", + "OpenRouterModels", + "OpenrouterNode" + ], + { + "title_aux": "ComfyUI-EACloudNodes" + } + ], "https://github.com/EvilBT/ComfyUI_SLK_joy_caption_two": [ [ "Batch_joy_caption_two", @@ -3023,6 +3556,14 @@ "title_aux": "ComfyUI-AutomaticCFG" } ], + "https://github.com/Extraltodeus/DistanceSampler": [ + [ + "SamplerDistance" + ], + { + "title_aux": "DistanceSampler" + } + ], "https://github.com/Extraltodeus/LoadLoraWithTags": [ [ "LoraLoaderTagsQuery" @@ -3031,6 +3572,15 @@ "title_aux": "LoadLoraWithTags" } ], + "https://github.com/Extraltodeus/Negative-attention-for-ComfyUI-": [ + [ + "Negative cross attention", + "Negative cross attention concatenate" + ], + { + "title_aux": "Negative-attention-for-ComfyUI-" + } + ], "https://github.com/Extraltodeus/Skimmed_CFG": [ [ "Skimmed CFG", @@ -3042,7 +3592,7 @@ "Skimmed CFG - replace" ], { - "title_aux": "DistanceSampler" + "title_aux": "Skimmed_CFG" } ], "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": [ @@ -3435,7 +3985,9 @@ [ "AutoImageResize", "GroupLink", - "VariablesInjector" + "ModelListNode", + "VariablesInjector", + "VariablesLogicNode" ], { "title_aux": "ComfyUI_Finetuners_Suite" @@ -3646,25 +4198,17 @@ "title_aux": "ComfyUI-SD3-Powerlab" } ], - "https://github.com/GMapeSplat/ComfyUI_ezXY": [ + "https://github.com/GHOSTLXH/ComfyUI-Counternodes": [ [ - "ConcatenateString", - "ItemFromDropdown", - "IterationDriver", - "JoinImages", - "LineToConsole", - "NumberFromList", - "NumbersToList", - "PlotImages", - "StringFromList", - "StringToLabel", - "StringsToList", - "ezMath", - "ezXY_AssemblePlot", - "ezXY_Driver" + "AlternatingOutput", + "AlternatingOutputB", + "ImageCounter", + "IntervalCounter", + "IntervalCounterB", + "LoadPromptFromTXT" ], { - "title_aux": "ezXY scripts and nodes" + "title_aux": "ComfyUI-Counternodes" } ], "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": [ @@ -3693,6 +4237,14 @@ "title_aux": "Gadzoinks" } ], + "https://github.com/GamingDaveUk/daves_nodes": [ + [ + "davesTextToList" + ], + { + "title_aux": "Daves Nodes" + } + ], "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": [ [ "SD3LatentSelectRes" @@ -3701,6 +4253,15 @@ "title_aux": "ComfyUI-SD3LatentSelectRes" } ], + "https://github.com/GeekyGhost/ComfyUI-Geeky-Kokoro-TTS": [ + [ + "GeekyKokoroAdvancedVoice", + "GeekyKokoroTTS" + ], + { + "title_aux": "ComfyUI-Geeky-Kokoro-TTS" + } + ], "https://github.com/GeekyGhost/ComfyUI-GeekyRemB": [ [ "GeekyRemB" @@ -3737,7 +4298,7 @@ "title_aux": "Save Image Plus for ComfyUI" } ], - "https://github.com/Gourieff/comfyui-reactor-node": [ + "https://github.com/Gourieff/ComfyUI-ReActor": [ [ "ImageRGBA2RGB", "ReActorBuildFaceModel", @@ -3751,27 +4312,45 @@ "ReActorOptions", "ReActorRestoreFace", "ReActorSaveFaceModel", + "ReActorSetWeight", "ReActorUnload" ], { - "title_aux": "ReActor Node for ComfyUI" + "title_aux": "comfyui-reactor-node" + } + ], + "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR": [ + [ + "GRApplyPulidFlux", + "GRPulidFluxEvaClipLoader", + "GRPulidFluxInsightFaceLoader", + "GRPulidFluxModelLoader" + ], + { + "title_aux": "ComfyUI-PuLID-Flux-GR" } ], "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": [ [ + "GR BLIP 2 Caption Generator", + "GR BLIP 2 Text Expander", "GR Background Remover REMBG", "GR Checkered Board", "GR Counter", "GR Flip Tile Random Inverted", "GR Flip Tile Random Red Ring", + "GR Florence 2 Caption Generator", + "GR INT Incremetor", "GR Image Details Displayer", "GR Image Details Saver", + "GR Image Multiplier", "GR Image Paste", "GR Image Paste With Mask", "GR Image Resize", "GR Image Resize Methods", "GR Image Size", "GR Image/Depth Mask", + "GR Lora Randomizer", "GR Mask", "GR Mask Create", "GR Mask Create Random", @@ -3855,9 +4434,23 @@ "title_aux": "ComfyUI-FilePathCreator" } ], + "https://github.com/HJH-AILab/ComfyUI_StableAnimator": [ + [ + "StableAnimatorDWPoseDetectorAlignedModels", + "StableAnimatorLoadFramesFromFolderNode", + "StableAnimatorModels", + "StableAnimatorNode", + "StableAnimatorSkeletonNode" + ], + { + "title_aux": "ComfyUI_StableAnimator" + } + ], "https://github.com/HM-RunningHub/ComfyUI_RH_APICall": [ [ + "RH_BatchImages", "RH_ExecuteNode", + "RH_ExtractImage", "RH_ImageUploaderNode", "RH_NodeInfoListNode", "RH_SettingsNode", @@ -3909,9 +4502,9 @@ ], { "author": "AlexL", - "description": "Display, save or not save image, with or without extra metadata.", - "nickname": "Hangover-Save_Image_Extra_Metadata", - "title": "ComfyUI-Hangover-Save_Image", + "description": "An implementation of Microsoft kosmos-2 image to text transformer.", + "nickname": "Hangover-ms_kosmos2", + "title": "ComfyUI-Hangover-Kosmos2", "title_aux": "ComfyUI-Hangover-Nodes" } ], @@ -3927,6 +4520,14 @@ "title_aux": "Recognize Anything Model (RAM) for ComfyUI" } ], + "https://github.com/HannibalP/comfyui-HannibalPack": [ + [ + "HannibalLoraLoader" + ], + { + "title_aux": "comfyui-HannibalPack" + } + ], "https://github.com/Haoming02/comfyui-diffusion-cg": [ [ "Normalization", @@ -3981,6 +4582,23 @@ "title_aux": "comfyui-enhanced-save-node" } ], + "https://github.com/HellerCommaA/ComfyUI-VideoResolutions": [ + [ + "HunyuanResolutions" + ], + { + "title_aux": "Hunyuan Video Resolutions" + } + ], + "https://github.com/Hellfiredragon/comfyui-image-manipulation": [ + [ + "AlphaApplyMaskToImage", + "CreateMaskFromColorsNode" + ], + { + "title_aux": "comfyui-image-manipulation" + } + ], "https://github.com/HelloVision/ComfyUI_HelloMeme": [ [ "CropPortrait", @@ -4026,6 +4644,23 @@ "title_aux": "Hiero-Nodes" } ], + "https://github.com/Holasyb918/Ghost2_Comfyui": [ + [ + "AlignPipeline", + "BlenderPipeline", + "FaceAnalysisePipeline", + "FaceParsingPipeline", + "LoadAlignerModel", + "LoadBlenderModel", + "LoadFaceAnalysisModel", + "LoadFaceParsingModel", + "LoadInpainterModel", + "LoadStyleMatteModel" + ], + { + "title_aux": "Ghost2_Comfyui" + } + ], "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [ [ "AgentMemoryProvider", @@ -4098,6 +4733,19 @@ "title_aux": "IG Interpolation Nodes" } ], + "https://github.com/IDGallagher/MotionVideoSearch": [ + [ + "IG Motion Video Frame", + "IG Motion Video Search" + ], + { + "author": "IDGallagher", + "description": "Search an index of videos by motion image", + "nickname": "IG Motion Video Search", + "title": "IG Motion Video Search", + "title_aux": "IG-Motion-Search" + } + ], "https://github.com/ITurchenko/ComfyUI-SizeFromArray": [ [ "SizeFromArray" @@ -4108,9 +4756,11 @@ ], "https://github.com/IamCreateAI/Ruyi-Models": [ [ + "Ruyi_EnhanceAVideo", "Ruyi_I2VSampler", "Ruyi_LoadLora", - "Ruyi_LoadModel" + "Ruyi_LoadModel", + "Ruyi_TeaCache" ], { "title_aux": "ComfyUI-Ruyi" @@ -4129,6 +4779,30 @@ "title_aux": "Simple String Repository" } ], + "https://github.com/Immac/ComfyUI-CoreVideoMocks": [ + [ + "CoreVideoMocks:AV1Codec", + "CoreVideoMocks:BatchAudioStreams", + "CoreVideoMocks:BatchSubtitlesStreams", + "CoreVideoMocks:BatchVideoStreams", + "CoreVideoMocks:CodecFromVideoStream", + "CoreVideoMocks:CombineVideo", + "CoreVideoMocks:DecodeVideoStream", + "CoreVideoMocks:EncodeVideoStream", + "CoreVideoMocks:GetAudioStream", + "CoreVideoMocks:GetSubtitleStream", + "CoreVideoMocks:GetVideoStream", + "CoreVideoMocks:LoadVideo", + "CoreVideoMocks:PreviewVideo", + "CoreVideoMocks:SaveVideo", + "CoreVideoMocks:SplitVideo", + "CoreVideoMocks:VP9Codec", + "CoreVideoMocks:VideoStreamData" + ], + { + "title_aux": "ComfyUI Core Video Nodes" + } + ], "https://github.com/ImmortalPie/ComfyUI-PonySwitch": [ [ "PonySwitch" @@ -4442,6 +5116,17 @@ "title_aux": "ComfyUI-PhyCV" } ], + "https://github.com/JTriggerFish/ComfyLatentTools": [ + [ + "DownsampledAttentionGuidance", + "DownsampledLatentGuidance", + "GenericAttentionGuidance", + "LatentNormalizedLanczosResize" + ], + { + "title_aux": "Comfy Latent Tools" + } + ], "https://github.com/JackEllie/ComfyUI_AI_Assistant": [ [ "apply_lighting_effects", @@ -4606,38 +5291,34 @@ "title_aux": "ComfyUI_TGate" } ], - "https://github.com/JichaoLiang/Immortal_comfyUI": [ + "https://github.com/JiSenHua/ComfyUI-TD": [ [ - "AppendNode", - "CombineVideos", - "ImAppendFreeChatAction", - "ImAppendImageActionNode", - "ImAppendQuickbackNode", - "ImAppendQuickbackVideoNode", - "ImAppendVideoNode", - "ImDumpEntity", - "ImDumpNode", - "ImLoadPackage", - "ImNodeTitleOverride", - "ImSetActionKeywordMapping", - "MergeNode", - "NewNode", - "Node2String", - "OllamaChat", - "SaveImagePath", - "SaveToDirectory", - "SetEvent", - "SetNodeMapping", - "SetProperties", - "String2Node", - "TurnOnOffNodeOnEnter", - "batchNodes", - "grepNodeByText", - "mergeEntityAndPointer", - "redirectToNode" + "Comfy3DPacktoTD", + "Hy3DtoTD", + "ImagetoTD", + "LoadTDImage", + "Tripo3DtoTD", + "TripoSRtoTD", + "VideotoTD" ], { - "title_aux": "Immortal_comfyUI" + "title_aux": "ComfyUI-TD" + } + ], + "https://github.com/JohanK66/ComfyUI-WebhookImage": [ + [ + "Notif-Webhook" + ], + { + "title_aux": "ComfyUI WebhookImage" + } + ], + "https://github.com/JohnDoeSmithee/ComfyUI-SoX-Mixdown": [ + [ + "SoxMixNode" + ], + { + "title_aux": "ComfyUI-SoX-Mixdown" } ], "https://github.com/Jonseed/ComfyUI-Detail-Daemon": [ @@ -4726,6 +5407,34 @@ "title_aux": "ComfyUI JMNodes" } ], + "https://github.com/KAVVATARE/ComfyUI-Light-N-Color": [ + [ + "ControlNetSwitch", + "FluxLightingAndColor", + "FluxSamplerPuLID", + "ImageSwitch", + "LatentSwitch", + "LoadInputOutputImage" + ], + { + "title_aux": " ComfyUI-Light-N-Color" + } + ], + "https://github.com/KLL535/ComfyUI_SimpleButcher": [ + [ + "Simple Auto Bypass", + "Simple Extract Lora From Text", + "Simple Image Saver (as Forge)", + "Simple Load Image With Metadata", + "Simple Load Images from Dir", + "Simple Load Line From Text File", + "Simple Lora Loader", + "Simple Remove Think" + ], + { + "title_aux": "ComfyUI_SimpleButcher" + } + ], "https://github.com/Kangkang625/ComfyUI-paint-by-example": [ [ "PaintbyExamplePipeLoader", @@ -4735,6 +5444,25 @@ "title_aux": "ComfyUI-Paint-by-Example" } ], + "https://github.com/Kayarte/AudioDriven-Latent-Space-Tools-for-ComfyUI": [ + [ + "AdvancedNoisePatterns", + "AudioNoiseMapper", + "LibrosaAnalysisNode", + "NoiseToLatentConverter" + ], + { + "title_aux": "AudioDriven-Latent-Space-Tools-for-ComfyUI" + } + ], + "https://github.com/Kayarte/GeoNodes/raw/refs/heads/main/GISDetectionNode.py": [ + [ + "GISDetectionNode" + ], + { + "title_aux": "GeoNodes" + } + ], "https://github.com/Kesin11/ComfyUI-list-filter": [ [ "list_filter_FilterImageListByIndexList", @@ -4764,6 +5492,15 @@ "title_aux": "ComfyUI-kewky_tools" } ], + "https://github.com/Kidev/ComfyUI-Fisheye-effects": [ + [ + "Defisheye", + "Fisheye" + ], + { + "title_aux": "ComfyUI Fisheye Effects Nodes" + } + ], "https://github.com/KohakuBlueleaf/z-tipo-extension": [ [ "TIPO", @@ -4797,10 +5534,9 @@ ], "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": [ [ - "Load Nai Styles Complex CSV", - "ShowText|pysssss", - "Universal_Styler_Node", - "concat" + "\ud83d\udee1\ufe0f Load Scripts from Database", + "\ud83d\udee1\ufe0f Save Script to Database (In progress)", + "\ud83d\udee1\ufe0f Set Main Channel" ], { "title_aux": "ComfyUI Universal Styler" @@ -4868,6 +5604,7 @@ "ADE_AdjustWeightIndivAttnAdd", "ADE_AdjustWeightIndivAttnMult", "ADE_AdjustWeightIndivMult", + "ADE_AncestralOptions", "ADE_AnimateDiffCombine", "ADE_AnimateDiffKeyframe", "ADE_AnimateDiffLoRALoader", @@ -4951,6 +5688,7 @@ "ADE_NoiseCalibration", "ADE_NoiseLayerAdd", "ADE_NoiseLayerAddWeighted", + "ADE_NoiseLayerNormalizedSum", "ADE_NoiseLayerReplace", "ADE_NoisedImageInjectOptions", "ADE_NoisedImageInjection", @@ -5021,6 +5759,7 @@ "VHS_SelectFilename", "VHS_SelectImages", "VHS_SelectLatents", + "VHS_SelectLatest", "VHS_SelectMasks", "VHS_SplitImages", "VHS_SplitLatents", @@ -5056,6 +5795,15 @@ "title_aux": "ComfyUI_S3_direct" } ], + "https://github.com/Kurdknight/Kurdknight_comfycheck": [ + [ + "SystemCheck", + "SystemViz" + ], + { + "title_aux": "KurdKnight ComfyUI System Check Node" + } + ], "https://github.com/KwaiVGI/ComfyUI-KLingAI-API": [ [ "Client", @@ -5081,6 +5829,15 @@ "title_aux": "ComfyUI_KytraWebhookHTTP" } ], + "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra": [ + [ + "Kytra_Images_To_RGB", + "MatAnyoneVideoMatting" + ], + { + "title_aux": "ComfyUI_MatAnyone_Kytra" + } + ], "https://github.com/LAOGOU-666/ComfyUI_LG_FFT": [ [ "LG_FFTNode", @@ -5148,6 +5905,7 @@ "Texturaizer_GetImageData", "Texturaizer_GetJsonData", "Texturaizer_GetLoraData", + "Texturaizer_GetMaterialTileData", "Texturaizer_GetModelName", "Texturaizer_GetPromptData", "Texturaizer_GetRenderData", @@ -5159,6 +5917,7 @@ "Texturaizer_KSamplerAdvanced", "Texturaizer_Placeholder", "Texturaizer_PowerLoraLoader", + "Texturaizer_SendImage", "Texturaizer_SetGlobalDir", "Texturaizer_SigmasSelector", "Texturaizer_SwitchAny", @@ -5178,6 +5937,16 @@ "title_aux": "Comfyui lama remover" } ], + "https://github.com/Legorobotdude/ComfyUI-VariationLab": [ + [ + "CFGExplorer", + "CheckpointExplorer", + "StepExplorer" + ], + { + "title_aux": "ComfyUI-VariationLab" + } + ], "https://github.com/Lerc/canvas_tab": [ [ "Canvas_Tab", @@ -5193,45 +5962,116 @@ ], "https://github.com/LevelPixel/ComfyUI-LevelPixel": [ [ + "Autotagger [LP]", "Autotagger|LP", "BoolToInt|LP", "BoolToString|LP", + "CLIP Text Encode Translate [LP]", "CLIPTextEncodeTranslate|LP", + "Convert Bool To Int [LP]", + "Convert Bool To String [LP]", + "Convert Float To Int [LP]", + "Convert Float To String [LP]", + "Convert Int To Bool [LP]", + "Convert Int To Float [LP]", + "Convert Int To String [LP]", + "Convert String To Bool [LP]", + "Convert String To Combo [LP]", + "Convert String To Float [LP]", + "Convert String To Int [LP]", + "Convert String To Number [LP]", + "Delay [LP]", + "Delay|LP", + "Fast Checker Pattern [LP]", "FastCheckerPattern|LP", + "File Counter [LP]", "FileCounter|LP", + "Find Value From File [LP]", + "FindValueFromFile|LP", "FloatToInt|LP", "FloatToString|LP", + "Hard Model Unloader [LP]", "HardModelUnloader|LP", "HundredthsSimpleFloatSlider|LP", + "Image Loader From Path [LP]", + "Image Overlay [LP]", + "Image Remove Background [LP]", "ImageLoaderFromPath|LP", "ImageOverlay|LP", "ImageRemoveBackground|LP", "IntToBool|LP", "IntToFloat|LP", "IntToString|LP", + "Keep Only English Tags [LP]", + "Keep Only English Words [LP]", + "KeepOnlyEnglishTags|LP", + "KeepOnlyEnglishWords|LP", + "LLM Advanced [LP]", + "LLM Loader [LP]", + "LLM Sampler [LP]", "LLMAdvanced|LP", "LLMLoader|LP", "LLMSampler|LP", + "LLava Advanced [LP]", + "LLava Clip Loader [LP]", + "LLava Loader [LP]", + "LLava Sampler Advanced [LP]", + "LLava Sampler Simple [LP]", + "LLava Simple [LP]", "LLavaAdvanced|LP", "LLavaClipLoader|LP", "LLavaLoader|LP", "LLavaSamplerAdvanced|LP", "LLavaSamplerSimple|LP", "LLavaSimple|LP", + "Load Image [LP]", + "Load LoRA Tag [LP]", "LoadImage|LP", "LoraTagLoader|LP", + "Model Unloader [LP]", "ModelUnloader|LP", + "Override CLIP Device [LP]", + "Override VAE Device [LP]", + "OverrideCLIPDevice|LP", + "OverrideVAEDevice|LP", + "Preview Image Bridge [LP]", "PreviewImageForConditions|LP", + "Remove Banned Tags From Tags [LP]", + "Remove Banned Tags From Text [LP]", + "Remove Duplicate Tags [LP]", + "RemoveBannedTagsFromTags|LP", + "RemoveBannedTagsFromText|LP", + "RemoveDuplicateTags|LP", + "ResizeImageToTargetSize|LP", + "Resorting Tags [LP]", + "ResortingTags|LP", + "Show Text Bridge [LP]", + "Show Text [LP]", "ShowTextBridge|LP", "ShowText|LP", + "Simple Float Slider - Hundredths Step [LP]", + "Simple Float Slider - Tenths Step [LP]", + "Simple Float Slider [LP]", "SimpleFloatSlider|LP", + "Soft Model Unloader [LP]", "SoftModelUnloader|LP", + "Split Compound Text [LP]", + "SplitCompoundText|LP", + "String [LP]", "StringToBool|LP", "StringToCombo|LP", "StringToFloat|LP", "StringToInt|LP", "StringToNumber|LP", "String|LP", + "Tag Category Filter [LP]", + "Tag Category Keeper [LP]", + "Tag Category Remover [LP]", + "Tag Category [LP]", + "Tag Merger [LP]", + "Tag Remover [LP]", + "Tag Replace [LP]", + "Tag Switcher [LP]", "TagCategoryFilter|LP", "TagCategoryKeeper|LP", "TagCategoryRemover|LP", @@ -5241,7 +6081,12 @@ "TagReplace|LP", "TagSwitcher|LP", "TenthsSimpleFloatSlider|LP", + "Text Choice Parser [LP]", + "Text To List [LP]", + "Text Translate [LP]", + "Text [LP]", "TextChoiceParser|LP", + "TextToList|LP", "TextTranslate|LP", "Text|LP" ], @@ -5292,6 +6137,27 @@ "title_aux": "ComfyUI-LivePortraitNode (Replicate API)" } ], + "https://github.com/Lightricks/ComfyUI-LTXVideo": [ + [ + "AddLatentGuide", + "LTXAttentioOverride", + "LTXAttentionBank", + "LTXAttnOverride", + "LTXFetaEnhance", + "LTXFlowEditCFGGuider", + "LTXFlowEditSampler", + "LTXForwardModelSamplingPred", + "LTXPerturbedAttention", + "LTXPrepareAttnInjections", + "LTXRFForwardODESampler", + "LTXRFReverseODESampler", + "LTXReverseModelSamplingPred", + "ModifyLTXModel" + ], + { + "title_aux": "ComfyUI-LTXVideo" + } + ], "https://github.com/Limitex/ComfyUI-Calculation": [ [ "CenterCalculation", @@ -5501,6 +6367,7 @@ ], "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": [ [ + "LoraTagLoader", "StringCleaning", "TiktokenTokenizer", "\u26d4 Generate Negative Prompt", @@ -5508,6 +6375,7 @@ "\u2728\ud83d\udcac Groq LLM API", "\u2728\ud83d\udcdd Groq ALM API - Transcribe", "\u2728\ud83d\udcf7 Groq VLM API", + "\ud83c\udff7\ufe0f LoRA Loader Prompt Tags", "\ud83d\udcbe Save Text File With Path", "\ud83d\udcc1 Get File Path", "\ud83d\udd20 Tiktoken Tokenizer Info", @@ -5528,6 +6396,7 @@ ], "https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards": [ [ + "makitextwildcards", "makiwildcards", "textconcatenate" ], @@ -5535,15 +6404,6 @@ "title_aux": "ComfyUI-Prompt-Wildcards" } ], - "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF": [ - [ - "SaveAnimatedGIF", - "SaveAnimatedWEBPRevise" - ], - { - "title_aux": "ComfyUI-SaveAnimatedGIF" - } - ], "https://github.com/MakkiShizu/comfyui_reimgsize": [ [ "Cropimg", @@ -5648,6 +6508,17 @@ "title_aux": "Mosaica" } ], + "https://github.com/Mattabyte/ComfyUI-SecureApiCall": [ + [ + "SaveLatentToS3", + "SaveVideoFilesS3", + "SecureAPI-SecureAPI", + "SecureAPI-SecureAPI-AWS" + ], + { + "title_aux": "ComfyUI Secure API Call" + } + ], "https://github.com/Mcmillian/ComfyUI-SimpleToolsNodes": [ [ "GetModelStep", @@ -5657,6 +6528,51 @@ "title_aux": "SimpleToolsNodes" } ], + "https://github.com/MeeeyoAI/ComfyUI_StringOps": [ + [ + "AddPrefixSuffix", + "AddPrefixSuffixToLines", + "BatchReplaceStrings", + "CheckSubstringPresence", + "CompareInt", + "ConditionalTextOutput", + "CountOccurrences", + "ExtractAndCombineLines", + "ExtractBeforeAfter", + "ExtractLinesByIndex", + "ExtractSpecificData", + "ExtractSpecificLines", + "ExtractSubstring", + "ExtractSubstringByIndices", + "FileListAndSuffix", + "FilterLinesBySubstrings", + "FilterLinesByWordCount", + "FindExcelData", + "FindFirstLineContent", + "FloatToInteger", + "GenerateNumbers", + "GetCurrentTime", + "GetRandomIntegerInRange", + "ProcessString", + "RandomLineFromText", + "ReadExcelData", + "ReadExcelRowOrColumnDiff", + "RemoveContentBetweenChars", + "ReplaceMultiple", + "ReplaceNthOccurrence", + "SelectionParameter", + "ShuffleTextLines", + "SplitAndExtractText", + "SplitStringByDelimiter", + "StandardSize", + "TextConcatenation", + "TextConditionCheck", + "WriteExcelData" + ], + { + "title_aux": "ComfyUI_StringOps" + } + ], "https://github.com/Meettya/ComfyUI-OneForOne": [ [ "OFO Image Fit" @@ -5775,6 +6691,8 @@ "iToolsLineLoader", "iToolsLoadImagePlus", "iToolsLoadImages", + "iToolsLoadRandomImage", + "iToolsPreviewText", "iToolsPromptLoader", "iToolsPromptSaver", "iToolsPromptStyler", @@ -5865,6 +6783,16 @@ "title_aux": "Node Pack mostly for manipulating strings and integers" } ], + "https://github.com/MontagenAI/ComfyUI-Montagen": [ + [ + "MontagenAudioClipAdapter", + "MontagenImageClipAdapter", + "MontagenVideoClipAdapter" + ], + { + "title_aux": "ComfyUI-Montagen" + } + ], "https://github.com/MoonHugo/ComfyUI-BiRefNet-Hugo": [ [ "BiRefNet_Hugo" @@ -5942,46 +6870,143 @@ "title_aux": "ComfyUI-TextOverlay" } ], + "https://github.com/MushroomFleet/DJZ-KokoroTTS": [ + [ + "KokoroTTS_LoadVoice_v1", + "KokoroTTS_SaveVoice_v1", + "KokoroTTS_v1", + "KokoroTTS_v2", + "KokoroTTS_v3", + "KokoroTTS_v4", + "KokoroTTS_v5" + ], + { + "title_aux": "KokoroTTS Node" + } + ], "https://github.com/MushroomFleet/DJZ-Nodes": [ [ + "AnamorphicEffect", "AspectSize", "AspectSizeV2", + "BatchAlphaComposite", "BatchOffset", "BatchRangeInsert", "BatchRangeSwap", "BatchThief", + "BlackBarsV1", + "BlackBarsV2", + "BlackBarsV3", + "BracketCleaner", + "CRT_Effect_v1", + "CathodeRayEffect", + "ClassicFilmEffect", + "CombineAudio", "DJZ-LoadLatent", "DJZ-LoadLatentV2", "DJZDatamosh", "DJZDatamoshV2", "DatasetWordcloud", + "DeadPixelEffect", + "DepthBasedPixelization", "DinskyPlus", "DinskyPlusV2", + "DjzDatabendingV1", "DjzDatamoshV3", "DjzDatamoshV4", "DjzDatamoshV5", "DjzDatamoshV6", "DjzDatamoshV7", + "DjzDatamoshV8", + "FilmGateWeave", + "FilmGrainEffect", + "FilmGrainEffect_v2", + "FishEyeEffect", + "FishEyeV2", "FractalGenerator", "FractalGeneratorV2", "FractalGeneratorV3", + "GSL_Filter_V1", + "HalationBloom", + "ImageInterleavedUpscaler", + "ImageInterleavedUpscalerV2", "ImageSizeAdjuster", "ImageSizeAdjusterV2", "ImageSizeAdjusterV3", + "JitterEffect", + "KeyframeBasedUpscalerV1", + "KinescopeEffectV1", + "LensLeaks", "LoadTextDirectory", "LoadVideoDirectory", + "LoadVideoDirectoryV2", + "MotionBlending", + "NoiseFactory", + "NoiseFactoryV2", + "NoiseFactoryV3", + "NonSquarePixelsV1", + "PanavisionLensV2", "ParametricMeshGen", "ParametricMeshGenV2", "ProjectFilePathNode", "PromptCleaner", + "PromptCleanerV2", + "PromptDupeRemover", + "PromptDupeRemoverV2", "PromptInject", + "PromptInjectV2", "PromptSwap", + "RetroVideoText", + "ScreensaverGenerator", + "ScreensaverGeneratorV2", + "ScreensaverGeneratorV3", "SequentialNumberGenerator", + "StringChaos", "StringWeights", + "Technicolor3Strip_v1", + "Technicolor3Strip_v2", + "ThinkSeeker", + "ThreeToneStyler", "TrianglesPlus", "TrianglesPlusV2", + "UncleanSpeech", + "VGA_Effect_v1", + "VHS_Effect_V3", + "VHS_Effect_v1", + "VHS_Effect_v2", + "VideoBitClamp", + "VideoChromaticAberration", + "VideoCorridorV1", + "VideoCubeV1", + "VideoFilmDamage", + "VideoInterlaceFastV4", + "VideoInterlaceGANV3", + "VideoInterlaced", + "VideoInterlacedV2", + "VideoMazeV1", + "VideoMazeV2", + "VideoNoiseFactory", + "VideoPyramidV1", + "VideoRingPainter", + "VideoTemperatureV1", + "VideoTimecode", + "VideoTrails", + "VideoTrailsV2", + "VideoVignettingV1", + "VoiceEffects", + "VoiceEffects2", + "WaveletCompose", + "WaveletDecompose", + "WinampViz", + "WinampVizV2", + "ZenkaiImagePromptV1", + "ZenkaiImagePromptV2", + "ZenkaiPoseMap", "ZenkaiPrompt", "ZenkaiPromptV2", + "ZenkaiPromptV3", + "ZenkaiPromptV4", + "ZenkaiPromptV5", "ZenkaiWildcard", "ZenkaiWildcardV2" ], @@ -5990,6 +7015,14 @@ "title_aux": "DJZ-Nodes" } ], + "https://github.com/MushroomFleet/DJZ-Pedalboard": [ + [ + "DJZ_Pedalboard" + ], + { + "title_aux": "DJZ-Pedalboard" + } + ], "https://github.com/MuziekMagie/ComfyUI-Matchering": [ [ "Matchering", @@ -6002,8 +7035,17 @@ ], "https://github.com/MzMaXaM/ComfyUi-MzMaXaM": [ [ - "SelectLatentSize", - "TextEncode3in1" + "ImageChooser", + "KSamplerWithVAE", + "LmsImageToText", + "LmsTextToText", + "OllamaImageToText", + "OllamaTextToText", + "SelectLatentSize1MP", + "SelectLatentSize2MP", + "TextEncode3in1", + "UpscaleImageBy1_5x", + "UpscaleLatentBy1_5x" ], { "title_aux": "ComfyUi-MzMaXaM" @@ -6164,6 +7206,16 @@ "title_aux": "ComfyUI_TravelSuite" } ], + "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes": [ + [ + "AspectRatioNikosis", + "PromptMultipleStylesSelectorNikosis", + "TextConcatenateNikosis" + ], + { + "title_aux": "ComfyUI-Nikosis-Nodes" + } + ], "https://github.com/NimaNzrii/comfyui-photoshop": [ [ "\ud83d\udd39 Photoshop RemoteConnection", @@ -6357,31 +7409,33 @@ "title_aux": "ComfyUI-N-Nodes" } ], - "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED": [ - [ - "Get Booru Tag \ud83d\udcacED" - ], - { - "author": "NyaamZ", - "description": "Get tag from Booru site.", - "nickname": "Get Booru Tag ED", - "title": "Get Booru Tag ExtendeD", - "title_aux": "Get Booru Tag ExtendeD" - } - ], "https://github.com/NyaamZ/efficiency-nodes-ED": [ [ - "Apply LoRA Stack \ud83d\udcacED", + "Context To BasicPipe", + "Context To DetailerPipe", "Control Net Script \ud83d\udcacED", + "Detailer (SEGS) \ud83d\udcacED", "Efficient Loader \ud83d\udcacED", "Embedding Stacker \ud83d\udcacED", + "FaceDetailer \ud83d\udcacED", + "Get Booru Tag \ud83d\udcacED", "Int Holder \ud83d\udcacED", "KSampler (Efficient) \ud83d\udcacED", - "KSampler TEXT (Eff.) \ud83d\udcacED", + "KSampler Text \ud83d\udcacED", "LoRA Stacker \ud83d\udcacED", "Load Image \ud83d\udcacED", + "MaskDetailer \ud83d\udcacED", "Refiner Script \ud83d\udcacED", - "Save Image \ud83d\udd14ED" + "Regional Processor \ud83d\udcacED", + "Regional Script \ud83d\udcacED", + "Regional Stacker \ud83d\udcacED", + "SUPIR Model Loader \ud83d\udcacED", + "SUPIR Sampler \ud83d\udcacED", + "Save Image \ud83d\udd14ED", + "Simple Text \ud83d\udcacED", + "TIPO Script \ud83d\udcacED", + "Ultimate SD Upscale \ud83d\udcacED", + "Wildcard Encode \ud83d\udcacED" ], { "author": "NyaamZ", @@ -6455,6 +7509,42 @@ "title_aux": "ComfyUI-CSV-Loader" } ], + "https://github.com/Pablerdo/ComfyUI-MultiCutAndDrag": [ + [ + "BatchImageToMask", + "LoadImageFromBase64", + "LoadImagesFromBase64Array", + "MapTrajectoriesToSegmentedMasks", + "MultiCutAndDragOnPath" + ], + { + "title_aux": "ComfyUI-MultiCutAndDrag" + } + ], + "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger": [ + [ + "MergePrompts" + ], + { + "title_aux": "ComfyUI-ZeptaframePromptMerger" + } + ], + "https://github.com/PanicTitan/ComfyUI-Fooocus-V2-Expansion": [ + [ + "FooocusV2Expansion" + ], + { + "title_aux": "ComfyUI-Fooocus-V2-Expansion" + } + ], + "https://github.com/PanicTitan/ComfyUI-Gallery": [ + [ + "GalleryNode" + ], + { + "title_aux": "ComfyUI-Gallery" + } + ], "https://github.com/Parameshvadivel/ComfyUI-SVGview": [ [ "SVGPreview" @@ -6533,6 +7623,31 @@ "title_aux": "Remade_nodes" } ], + "https://github.com/PixelFunAI/ComfyUI_PixelFun": [ + [ + "HunyuanLoadAndEditLoraBlocks", + "HunyuanLoadFromBlockCache", + "HunyuanLoraFromJson", + "HunyuanLoraFromPrompt" + ], + { + "title_aux": "Hunyuan LoRA Loader Nodes" + } + ], + "https://github.com/PixelML/ComfyUI-PixelML-CustomNodes": [ + [ + "AgenticflowAIVariable", + "BooleanInput_PixelML", + "FloatInput_PixelML", + "IntegerInput_PixelML", + "LoadImageFromURL_PixelML", + "SaveImage_PixelML", + "StringInput_PixelML" + ], + { + "title_aux": "PixelML ComfyUI Nodes" + } + ], "https://github.com/PnthrLeo/comfyUI-PL-data-tools": [ [ "AreasGenerator", @@ -6543,39 +7658,6 @@ "title_aux": "comfyUI-PL-data-tools" } ], - "https://github.com/Pos13/comfyui-cyclist": [ - [ - "CyclistCompare", - "CyclistMathFloat", - "CyclistMathInt", - "CyclistTimer", - "CyclistTimerStop", - "CyclistTypeCast", - "Interrupt", - "LoopManager", - "MemorizeConditioning", - "MemorizeFloat", - "MemorizeInt", - "MemorizeString", - "OverrideImage", - "OverrideLatent", - "OverrideModel", - "RecallConditioning", - "RecallFloat", - "RecallInt", - "RecallString", - "ReloadImage", - "ReloadLatent", - "ReloadModel" - ], - { - "author": "Pos13", - "description": "This extension provides tools to iterate generation results between runs. In general, it's for cycles.", - "nickname": "comfyui-cyclist", - "title": "Cyclist", - "title_aux": "Cyclist" - } - ], "https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": [ [ "Publish Image To RabbitMQ" @@ -6584,6 +7666,16 @@ "title_aux": "ComfyUI-RabbitMQ-Publisher" } ], + "https://github.com/Positliver/comfyui-zegr": [ + [ + "ZEGR_ALI_UF", + "ZEGR_LF", + "ZEGR_WD" + ], + { + "title_aux": "comfyui-zegr" + } + ], "https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait": [ [ "AdvancedLivePortrait", @@ -6612,6 +7704,44 @@ "title_aux": "ComfyUI-StringsAndThings" } ], + "https://github.com/ProGamerGov/ComfyUI_preview360panorama": [ + [ + "PanoramaViewerNode" + ], + { + "title_aux": "Preview 360 Panorama for ComfyUI" + } + ], + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert": [ + [ + "Crop 360 to 180 Equirectangular", + "Crop Image with Coords", + "Crop Stereo to Monoscopic", + "Cubemap to Equirectangular", + "Equirectangular Rotation", + "Equirectangular to Cubemap", + "Equirectangular to Perspective", + "Masked Diff C2E", + "Merge Monoscopic into Stereo", + "Pad 180 to 360 Equirectangular", + "Paste Image with Coords", + "Roll Image Axes", + "Split Cubemap Faces", + "Stack Cubemap Faces" + ], + { + "title_aux": "PyTorch 360\u00b0 Image Conversion Toolkit for ComfyUI" + } + ], + "https://github.com/PrunaAI/ComfyUI_pruna": [ + [ + "CacheModel", + "CompileModel" + ], + { + "title_aux": "Pruna nodes for ComfyUI" + } + ], "https://github.com/Pseudotools/Pseudocomfy": [ [ "Combiner", @@ -6685,12 +7815,12 @@ "title_aux": "ComfyUI-Rodin" } ], - "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD": [ + "https://github.com/ReBeating/ComfyUI-Artist-Selector": [ [ - "DanbooruToWD" + "LoadArtistTag" ], { - "title_aux": "ComfyUI-Danbooru-To-WD" + "title_aux": "ComfyUI-Artist-Selector" } ], "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": [ @@ -6733,14 +7863,51 @@ "https://github.com/RiceRound/ComfyUI_CryptoCat": [ [ "CryptoCatImage", + "DecodeCryptoNode", "ExcuteCryptoNode", "RandomSeedNode", + "SaveCryptoBridgeNode", "SaveCryptoNode" ], { "title_aux": "ComfyUI Compression and Encryption Node" } ], + "https://github.com/RiceRound/ComfyUI_RiceRound": [ + [ + "RiceRoundAdvancedChoiceNode", + "RiceRoundBooleanNode", + "RiceRoundDecryptNode", + "RiceRoundDownloadImageAndMaskNode", + "RiceRoundDownloadImageNode", + "RiceRoundDownloadMaskNode", + "RiceRoundEncryptNode", + "RiceRoundFloatNode", + "RiceRoundImageBridgeNode", + "RiceRoundImageNode", + "RiceRoundImageUrlNode", + "RiceRoundInputTextNode", + "RiceRoundIntNode", + "RiceRoundMaskBridgeNode", + "RiceRoundOutputBooleanNode", + "RiceRoundOutputFloatNode", + "RiceRoundOutputImageBridgeNode", + "RiceRoundOutputImageNode", + "RiceRoundOutputIntNode", + "RiceRoundOutputMaskBridgeNode", + "RiceRoundOutputTextNode", + "RiceRoundRandomSeedNode", + "RiceRoundSimpleChoiceNode", + "RiceRoundSimpleImageNode", + "RiceRoundStrToBooleanNode", + "RiceRoundStrToFloatNode", + "RiceRoundStrToIntNode", + "RiceRoundUploadImageNode" + ], + { + "title_aux": "RiceRound Cloud Node" + } + ], "https://github.com/Rinsanga1/comfyui-florence2xy": [ [ "Florence2toCoordinatesButxy", @@ -6760,6 +7927,30 @@ "title_aux": "Panoramic Image Stitcher" } ], + "https://github.com/RodrigoSKohl/InteriorDesign-for-ComfyUI": [ + [ + "interior-design-for-comfyui" + ], + { + "title_aux": "Interior Design for Comfyui" + } + ], + "https://github.com/RodrigoSKohl/StableDesign-for-ComfyUI": [ + [ + "interior-design-for-comfyui" + ], + { + "title_aux": "Interior Design for Comfyui" + } + ], + "https://github.com/RodrigoSKohl/comfyui-tryoff-anyone": [ + [ + "TryOffAnyoneNode" + ], + { + "title_aux": "TryOff Anyone" + } + ], "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": [ [ "LatentAddTransform", @@ -6803,6 +7994,8 @@ "Runware ControlNet PreProcessor", "Runware Embedding Search", "Runware Embeddings Combine", + "Runware IPAdapter", + "Runware IPAdapters Combine", "Runware Image Caption", "Runware Image Inference", "Runware Image Masking", @@ -6845,6 +8038,7 @@ "MaskBatchComposite(FaceParsing)", "MaskBlackOut(FaceParsing)", "MaskBorderDissolve(FaceParsing)", + "MaskBorderDissolveAdvanced(FaceParsing)", "MaskComposite(FaceParsing)", "MaskCropWithBBox(FaceParsing)", "MaskInsertWithBBox(FaceParsing)", @@ -6870,6 +8064,41 @@ "title_aux": "comfyui_io_helpers" } ], + "https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend": [ + [ + "ImagePositionBlend" + ], + { + "title_aux": "Image Position Blend" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-Prompts-Selector": [ + [ + "PromptSelector" + ], + { + "title_aux": "ComfyUI-Prompts-Selector" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image-Overlay": [ + [ + "ImageBlendWithAlpha", + "ImageColor", + "ImageOverlay", + "ImageSelector" + ], + { + "title_aux": "ComfyUI-S4Tool-Image-Overlay" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-Text-On-Image": [ + [ + "TextOnImage" + ], + { + "title_aux": "ComfyUI-Text-On-Image" + } + ], "https://github.com/SEkINVR/ComfyUI-SaveAs": [ [ "ComfyUISaveAs" @@ -6883,6 +8112,7 @@ "AspectRatioAdvanced", "DisplayEverything", "ImageComparer", + "LensFlare", "MultiFloat", "MultiTextNode", "SKB_AnySwitch", @@ -6943,6 +8173,22 @@ "title_aux": "ComfyUI-LexTools" } ], + "https://github.com/SS-snap/ComfyUI-Ad_scheduler": [ + [ + "AD_Scheduler" + ], + { + "title_aux": "ComfyUI-Ad-scheduler" + } + ], + "https://github.com/SS-snap/ComfyUI-LBW_flux": [ + [ + "LoraBlockWeight_Flux" + ], + { + "title_aux": "ComfyUI-LBW_flux" + } + ], "https://github.com/SS-snap/ComfyUI-Snap_Processing": [ [ "AreaCalculator", @@ -7403,6 +8649,14 @@ "title_aux": "ComfyUI_DiffusionModel_fp8_converter" } ], + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd": [ + [ + "FreeU_V2_timestepadd" + ], + { + "title_aux": "ComfyUI_FreeU_V2_timestepadd" + } + ], "https://github.com/Shiba-2-shiba/comfyui-color-ascii-art-node": [ [ "ASCIIArtNode", @@ -7427,6 +8681,15 @@ "title_aux": "Shibiko AI ComfyUI Tools" } ], + "https://github.com/ShinChven/sc-comfy-nodes": [ + [ + "Rescale Node", + "Width & Height" + ], + { + "title_aux": "ShinChven's Custom Nodes Package" + } + ], "https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust": [ [ "ApplyStyleModelAdjust" @@ -7451,6 +8714,14 @@ "title_aux": "ComfyUI Coherent Video Sampler Node" } ], + "https://github.com/ShmuelRonen/ComfyUI-DeepSeek_R1-Chat": [ + [ + "ComfyUIDeepSeekChat" + ], + { + "title_aux": "ComfyUI DeepSeek_R1 Chat Node" + } + ], "https://github.com/ShmuelRonen/ComfyUI-EmptyHunyuanLatent": [ [ "EmptyHunyuanLatentForImage", @@ -7465,12 +8736,21 @@ "FreeMemoryCLIP", "FreeMemoryImage", "FreeMemoryLatent", - "FreeMemoryModel" + "FreeMemoryModel", + "FreeMemoryString" ], { "title_aux": "ComfyUI-FreeMemory" } ], + "https://github.com/ShmuelRonen/ComfyUI-FreeVC_wrapper": [ + [ + "FreeVC Voice Conversion" + ], + { + "title_aux": "ComfyUI-FreeVC_wrapper" + } + ], "https://github.com/ShmuelRonen/ComfyUI-Gemini_Flash_2.0_Exp": [ [ "AudioRecorder", @@ -7507,15 +8787,49 @@ "title_aux": "ComfyUI-ImageMotionGuider" } ], + "https://github.com/ShmuelRonen/ComfyUI-Janus_pro_vision": [ + [ + "UnifiedVisionAnalyzer", + "VisionModelLoader" + ], + { + "title_aux": "ComfyUI Janus Pro Vision" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-JoyHallo_wrapper": [ + [ + "JoyHallo_wrapper" + ], + { + "title_aux": "ComfyUI-JoyHallo_wrapper" + } + ], "https://github.com/ShmuelRonen/ComfyUI-LatentSyncWrapper": [ [ - "D_LatentSyncNode", - "D_VideoLengthAdjuster" + "LatentSyncNode", + "VideoLengthAdjuster" ], { "title_aux": "ComfyUI-LatentSyncWrapper" } ], + "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image": [ + [ + "FlattenImage" + ], + { + "title_aux": "ComfyUI-PS_Flatten_Image" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL": [ + [ + "PA_BaseModelLoader_fromhub", + "PA_Generation" + ], + { + "title_aux": "ComfyUI-PixArt_XL" + } + ], "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": [ [ "SVDRsizer" @@ -7524,9 +8838,17 @@ "title_aux": "ComfyUI-SVDResizer" } ], + "https://github.com/ShmuelRonen/ComfyUI-WanVideoKsampler": [ + [ + "WanVideoKsampler" + ], + { + "title_aux": "ComfyUI-WanVideoKsampler" + } + ], "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API": [ [ - "FluxPro11" + "FluxPro11WithFinetune" ], { "title_aux": "ComfyUI Flux 1.1 Ultra & Raw Node" @@ -7603,6 +8925,14 @@ "title_aux": "ComfyUI_Textarea_Loaders" } ], + "https://github.com/SijieMei/ComfyUI-promptHistory": [ + [ + "PromptHistory" + ], + { + "title_aux": "ComfyUI-Prompt-History" + } + ], "https://github.com/SimonHeese/ComfyUI_AnimationNodes/raw/refs/heads/main/animated_offset_pad.py": [ [ "AnimatedOffsetPadding" @@ -7613,8 +8943,17 @@ ], "https://github.com/SlackinJack/asyncdiff_comfyui": [ [ - "AsyncDiffImg2VidSampler", - "AsyncDiffSVDPipelineLoader" + "ADADSampler", + "ADControlNetLoader", + "ADIPAdapterLoader", + "ADLoraLoader", + "ADModelLoader", + "ADMultiLoraCombiner", + "ADPipelineConfig", + "ADSDSampler", + "ADSDUpscaleSampler", + "ADSVDSampler", + "ADSchedulerSelector" ], { "title_aux": "asyncdiff_comfyui" @@ -7622,8 +8961,8 @@ ], "https://github.com/SlackinJack/distrifuser_comfyui": [ [ - "DistrifuserPipelineLoader", - "DistrifuserSampler" + "DFPipelineConfig", + "DFSampler" ], { "title_aux": "distrifuser_comfyui" @@ -7647,6 +8986,14 @@ "title_aux": "ComfyUI-InstantX-IPAdapter-SD3" } ], + "https://github.com/Slickytail/ComfyUI-RegionalAdaptiveSampling": [ + [ + "RegionalAdaptiveSampling" + ], + { + "title_aux": "ComfyUI-RegionalAdaptiveSampling" + } + ], "https://github.com/Smirnov75/ComfyUI-mxToolkit": [ [ "mxSeed", @@ -7747,6 +9094,7 @@ ], "https://github.com/SozeInc/ComfyUI_Soze": [ [ + "Alpha Crop and Position Image", "CSV Reader", "CSV Writer", "Empty Images", @@ -7758,6 +9106,7 @@ "Load Image", "Load Image From URL", "Load Images From Folder", + "Lora File Loader", "Multiline Concatenate Strings", "Output Filename", "Prompt Cache", @@ -7766,6 +9115,7 @@ "Range(Num Steps) - Int", "Range(Step) - Float", "Range(Step) - Int", + "Shrink Image", "String Replacer", "Text Contains (Return Bool)", "Text Contains (Return String)", @@ -7828,16 +9178,20 @@ "https://github.com/Stability-AI/ComfyUI-SAI_API": [ [ "Stability Conservative Upscale", - "Stability Control Skech", + "Stability Control Sketch", "Stability Control Structure", + "Stability Control Style", "Stability Creative Upscale", "Stability Erase", + "Stability Fast Upscale", "Stability Image Core", "Stability Image Ultra", "Stability Inpainting", "Stability Outpainting", "Stability Remove Background", + "Stability Replace Background and Relight", "Stability SD3", + "Stability Search And Recolor", "Stability Search and Replace" ], { @@ -7870,20 +9224,33 @@ "SDVN CLIP Text Encode", "SDVN CLIPVision Download", "SDVN Checkpoint Download", + "SDVN Checkpoint Download List", "SDVN ControlNet Download", "SDVN Controlnet Apply", "SDVN DALL-E Generate Image", "SDVN Dic Convert", "SDVN Easy IPAdapter weight", "SDVN Exif check", + "SDVN Fill Background", "SDVN Filter List", + "SDVN Flip Image", + "SDVN Gemini Flash 2 Image", + "SDVN Google Imagen", + "SDVN IC Lora Layout", + "SDVN IC Lora Layout Crop", + "SDVN IC-Light v2", + "SDVN Image Adjust", + "SDVN Image Film Grain", + "SDVN Image HSL", "SDVN Image Info", "SDVN Image Layout", "SDVN Image Repeat", "SDVN Image Scraper", "SDVN Image Size", + "SDVN Image White Balance", "SDVN Inpaint", "SDVN Join Parameter", + "SDVN Joy Caption", "SDVN KSampler", "SDVN Load Checkpoint", "SDVN Load Image", @@ -7926,6 +9293,14 @@ "title_aux": "SDVN Comfy node" } ], + "https://github.com/StarAsh042/ComfyUI_RollingArtist": [ + [ + "RollingArtist" + ], + { + "title_aux": "ComfyUI_RollingArtist" + } + ], "https://github.com/StarMagicAI/comfyui_tagger": [ [ "DownloadAndLoadFlorence2Lora_jsonL", @@ -7941,14 +9316,29 @@ "https://github.com/Starnodes2024/ComfyUI_StarNodes": [ [ "DetailStarDaemon", + "FluxFillSampler", "FluxStartSettings", "Fluxstarsampler", "OllamaModelChooser", "SD35StartSettings", "SDXLStartSettings", "SDstarsampler", + "Star Face Loader", + "Star3LoRAs", + "StarDeleteSamplerSettings", + "StarDenoiseSlider", + "StarDivisibleDimension", + "StarEasyTextStorage", "StarFiveWildcards", "StarImageSwitch", + "StarLatentSwitch", + "StarLoadSamplerSettings", + "StarNewsScraper", + "StarPSDSaver", + "StarSaveSamplerSettings", + "StarTextFilter", + "StarTextInput", + "StarWildcardsAdvanced", "Starupscale" ], { @@ -8010,26 +9400,6 @@ "title_aux": "Comfyui_CXH_Phi_3.5" } ], - "https://github.com/StartHua/Comfyui_CXH_joy_caption": [ - [ - "CXH_DownloadAndLoadFlorence2Model", - "CXH_Florence2Run", - "CXH_HG_Model_Load", - "CXH_Min2_6_classifiy", - "CXH_Min2_6_prompt_Run", - "CXH_MinCP3_4B_Chat", - "CXH_MinCP3_4B_Load", - "Joy_caption", - "Joy_caption_alpha_batch", - "Joy_caption_alpha_load", - "Joy_caption_alpha_prompt", - "Joy_caption_alpha_run", - "Joy_caption_load" - ], - { - "title_aux": "Comfyui_CXH_joy_caption" - } - ], "https://github.com/StartHua/Comfyui_Gemini2": [ [ "CXH_Gemini2_TX", @@ -8065,12 +9435,22 @@ "Divide and Conquer Algorithm", "Divide and Conquer Algorithm (No Upscale)", "Load Images into List", - "Make Size" + "Make Size", + "Seed Shifter", + "Sequence Generator" ], { "title_aux": "ComfyUI Steudio" } ], + "https://github.com/Style-Mosaic/dino-x-comfyui-node": [ + [ + "DinoxDetector" + ], + { + "title_aux": "ComfyUI DINO-X Detector Node" + } + ], "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": [ [ "Deflicker - Experimental (SuperBeasts.AI)", @@ -8315,6 +9695,11 @@ ], "https://github.com/Sxela/ComfyWarp": [ [ + "ApplyMask", + "ApplyMaskConditional", + "ApplyMaskLatent", + "ApplyMaskLatentConditional", + "ExtractFlowAndMixConsistencyMaps", "ExtractOpticalFlow", "FixedQueue", "LoadFrame", @@ -8323,6 +9708,7 @@ "LoadFramePairFromDataset", "LoadFrameSequence", "MakeFrameDataset", + "MakePaths", "MixConsistencyMaps", "OffsetNumber", "RenderVideo", @@ -8337,6 +9723,18 @@ "title_aux": "ComfyWarp" } ], + "https://github.com/SykkoAtHome/ComfyUI_FaceProcessor": [ + [ + "FaceFitAndRestore", + "FaceTracker", + "FaceWrapper", + "HighPassFilter", + "ImageFeeder" + ], + { + "title_aux": "Face Processor for ComfyUI" + } + ], "https://github.com/TGu-97/ComfyUI-TGu-utils": [ [ "MPNReroute", @@ -8489,9 +9887,15 @@ "tri3d-skin-feathered-padded-mask", "tri3d-swap-pixels", "tri3d_H_Stack_Images", + "tri3d_Image_extend", + "tri3d_NSFWFilter", + "tri3d_NarrowfyImage", "tri3d_SaveImage_absolute", "tri3d_SaveText_absolute", + "tri3d_Skip_HeadMask", + "tri3d_Skip_HeadMask_AddNeck", "tri3d_SmartBox", + "tri3d_Smart_Depth", "tri3d_Wait_And_Read_File", "tri3d_extract_facer_mask", "tri3d_fill_mask", @@ -8602,8 +10006,27 @@ "title_aux": "Simswap Node for ComfyUI" } ], + "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes": [ + [ + "FensTokenCounter" + ], + { + "title_aux": "Fens-Simple-Nodes" + } + ], + "https://github.com/Taremin/comfyui-prompt-config": [ + [ + "PromptEdit", + "PromptGenerationConfig" + ], + { + "title_aux": "comfyui-prompt-config" + } + ], "https://github.com/Taremin/comfyui-prompt-extranetworks": [ [ + "PromptControlNetApply", + "PromptControlNetPrepare", "PromptExtraNetworks" ], { @@ -8703,6 +10126,16 @@ "title_aux": "ComfyUI-ELLA" } ], + "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART": [ + [ + "TA_AIToolsNode", + "TA_ExecuteNode", + "TA_SettingsNode" + ], + { + "title_aux": "ComfyUI_TENSOR_ART" + } + ], "https://github.com/TheBarret/ZSuite": [ [ "ZSuite: Prompter", @@ -8733,6 +10166,22 @@ "title_aux": "Anyline" } ], + "https://github.com/TheWhykiki/Whykiki-ComfyUIToolset": [ + [ + "SequentialImageLoaderV8" + ], + { + "title_aux": "Whykiki ComfyUI Toolset" + } + ], + "https://github.com/ThepExcel/aiangelgallery-comfyui": [ + [ + "ThepExcel_AiAngel_MultilineTextChoiceNode" + ], + { + "title_aux": "Multiline Text Choice Node for ComfyUI" + } + ], "https://github.com/ThereforeGames/ComfyUI-Unprompted": [ [ "Unprompted", @@ -8747,6 +10196,7 @@ "ttN KSampler_v2", "ttN advPlot combo", "ttN advPlot images", + "ttN advPlot merge", "ttN advPlot range", "ttN advPlot string", "ttN advanced xyPlot", @@ -8799,12 +10249,23 @@ "https://github.com/Tlant/ComfyUI-OllamaPromptsGeneratorTlant": [ [ "LoadRandomTxtFileTlant", - "OllamaPromptsGeneratorTlant" + "LoadRandomTxtFileTlantV2", + "LoadRandomTxtFileTlantV3", + "OllamaPromptsGeneratorTlant", + "OllamaSimpleTextGeneratorTlant" ], { "title_aux": "ComfyUI-OllamaPromptsGeneratorTlant" } ], + "https://github.com/Tr1dae/ComfyUI-Dequality": [ + [ + "Dequality" + ], + { + "title_aux": "ComfyUI-Dequality" + } + ], "https://github.com/Trgtuan10/ComfyUI_YoloSegment_Mask": [ [ "Object Mask" @@ -8904,7 +10365,6 @@ "TripoAnimateRetargetNode", "TripoAnimateRigNode", "TripoConvertNode", - "TripoGLBViewer", "TripoRefineModel", "TripoTextureModel" ], @@ -8968,8 +10428,20 @@ "title_aux": "VEnhancer ComfyUI Extension" } ], + "https://github.com/Visionatrix/ComfyUI-RemoteVAE": [ + [ + "RemoteVAEDecode" + ], + { + "title_aux": "ComfyUI-RemoteVAE" + } + ], "https://github.com/Visionatrix/ComfyUI-Visionatrix": [ [ + "StyleAlignedBatchAlign", + "VixCheckboxLogic", + "VixDynamicLoraDefinition", + "VixUiAspectRatioSelector", "VixUiCheckbox", "VixUiCheckboxLogic", "VixUiList", @@ -8990,24 +10462,30 @@ "VrchAudioGenresNode", "VrchAudioRecorderNode", "VrchAudioSaverNode", + "VrchAudioWebViewerNode", "VrchBooleanKeyControlNode", "VrchChannelOSCControlNode", "VrchChannelX4OSCControlNode", "VrchDelayOSCControlNode", "VrchFloatKeyControlNode", "VrchFloatOSCControlNode", + "VrchImageChannelLoaderNode", "VrchImageFlipBookWebViewerNode", + "VrchImagePreviewBackgroundNode", "VrchImageSaverNode", "VrchImageSwitchOSCControlNode", + "VrchImageWebSocketWebViewerNode", "VrchImageWebViewerNode", "VrchInstantQueueKeyControlNode", "VrchIntKeyControlNode", "VrchIntOSCControlNode", "VrchJsonUrlLoaderNode", + "VrchModelWebViewerNode", "VrchOSCControlSettingsNode", "VrchSwitchOSCControlNode", "VrchTextConcatOSCControlNode", "VrchTextKeyControlNode", + "VrchTextSrtPlayerNode", "VrchTextSwitchOSCControlNode", "VrchVideoWebViewerNode", "VrchWebViewerNode", @@ -9342,6 +10820,14 @@ "title_aux": "WAS Node Suite" } ], + "https://github.com/WUYUDING2583/ComfyUI-Save-Image-Callback": [ + [ + "Save Image With Callback" + ], + { + "title_aux": "Save Image With Callback" + } + ], "https://github.com/WX-NPS1598/ComfyUI-Auto_Crop_By_NPS": [ [ "AutoCropByNPS" @@ -9361,6 +10847,7 @@ "InstaCSeed", "InstaCText", "InstaCTextML", + "InstaLoadImageLocal", "InstaPromptMultipleStyleSelector", "InstaPromptStyleSelector", "LoadVideo", @@ -9392,6 +10879,21 @@ "title_aux": "ComfyUI-SaveImageCivitAI" } ], + "https://github.com/WangPengxing/ComfyUI_WPX_Node": [ + [ + "AnimalContour", + "AnimalContourSilhouette", + "CircleContour", + "DetermineRowsAndCols", + "PenetrateStyle", + "RectangleContour", + "SplitMaskElements", + "SplitStickers" + ], + { + "title_aux": "ComfyUI WPX Nodes" + } + ], "https://github.com/WebDev9000/WebDev9000-Nodes": [ [ "IgnoreBraces", @@ -9401,6 +10903,14 @@ "title_aux": "WebDev9000-Nodes" } ], + "https://github.com/Wenaka2004/ComfyUI-TagClassifier": [ + [ + "LLMProcessingNode" + ], + { + "title_aux": "ComfyUI-TagClassifier" + } + ], "https://github.com/Wicloz/ComfyUI-Simply-Nodes": [ [ "WF_ConditionalLoraLoader", @@ -9455,6 +10965,14 @@ "title_aux": "ComfyUI-Merlin: Magic Photo Prompter" } ], + "https://github.com/Xiangyu-CAS/HandFixer": [ + [ + "MediapipeHandNode" + ], + { + "title_aux": "HandFixer" + } + ], "https://github.com/XmYx/deforum-comfy-nodes": [ [ "DeforumAddNoiseNode", @@ -9554,11 +11072,23 @@ "title_aux": "ComfyUI-TacoNodes" } ], + "https://github.com/YRIKKA/ComfyUI-InferenceTimeScaling": [ + [ + "InferenceTimeScaler", + "LoadCLIPScoreVerifier", + "LoadImageRewardVerifier", + "LoadQwenVLMVerifier" + ], + { + "title_aux": "ComfyUI-InferenceTimeScaling" + } + ], "https://github.com/Yanick112/ComfyUI-ToSVG": [ [ "ConvertRasterToVectorBW", "ConvertRasterToVectorColor", "ConvertVectorToRaster", + "SVGPreview", "SaveSVG" ], { @@ -9568,16 +11098,17 @@ "https://github.com/YarvixPA/ComfyUI-NeuralMedia": [ [ "ApplyControlNet", - "CLIPVisionAndStyleApply", "InpaintConditioningNode", "LoadImagesFromFolderNode", - "MultiClipVisionAndStyleApply", "MultiControlnet", "MultiControlnetApply", "MultiControlnetUnion", "RemoveBackgroundNode", "SDXLTextEncoderSimpleNode", "SaveCaptionsImages", + "SaveImageNode", + "StyleModelApplyAdvanced", + "StyleModelApplySimple", "TextFieldNode", "TileCheckpointPatchNode", "UpscaleImageWithModel", @@ -9605,6 +11136,23 @@ "title_aux": "ComfyUI-LLaMA-Mesh" } ], + "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS": [ + [ + "Long Text Generation", + "Single Text Generation" + ], + { + "title_aux": "ComfyUI-OrpheusTTS" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-PhotoDoodle": [ + [ + "PhotoDoodle Gen" + ], + { + "title_aux": "ComfyUI-PhotoDoodle" + } + ], "https://github.com/Yuan-ManX/ComfyUI-SoundHub": [ [ "Load Audio", @@ -9615,6 +11163,14 @@ "title_aux": "ComfyUI-SoundHub" } ], + "https://github.com/Yuan-ManX/ComfyUI-StyleStudio": [ + [ + "StyleStudio Image Stylization" + ], + { + "title_aux": "ComfyUI-StyleStudio" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": [ [ "APISR_Lterative_Zho", @@ -9655,6 +11211,16 @@ "title_aux": "ComfyUI-BRIA_AI-RMBG" } ], + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DeepSeek-JanusPro": [ + [ + "Janus_ImageGeneration", + "Janus_ModelLoader", + "Janus_MultimodalUnderstanding" + ], + { + "title_aux": "ComfyUI-DeepSeek-JanusPro" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": [ [ "DepthFM_Literative_Zho", @@ -9853,6 +11419,41 @@ "title_aux": "ComfyUI-Embeddings-Tools" } ], + "https://github.com/Zeks/comfyui-rapidfire": [ + [ + "CachedCheckpoint", + "CsvWriterNode", + "ImmatureImageCounter", + "ImmatureImageDataLoader" + ], + { + "title_aux": "comfyui-rapidfire" + } + ], + "https://github.com/a-und-b/ComfyUI_Delay": [ + [ + "Add Delay" + ], + { + "title_aux": "ComfyUI_Delay" + } + ], + "https://github.com/a-und-b/ComfyUI_JSON_Helper": [ + [ + "JSONStringToObjectNode" + ], + { + "title_aux": "ComfyUI_JSON_Helper" + } + ], + "https://github.com/a-und-b/ComfyUI_LoRA_from_URL": [ + [ + "Load LoRA From URL" + ], + { + "title_aux": "ComfyUI_LoRA_from_URL" + } + ], "https://github.com/a1lazydog/ComfyUI-AudioScheduler": [ [ "AmplitudeToGraph", @@ -9902,6 +11503,19 @@ "title_aux": "ComfyUI-RequestPoster" } ], + "https://github.com/abuzreq/ComfyUI-Model-Bending": [ + [ + "LatentApplyBendingOperationCFG", + "LatentOperation", + "LatentOperationAddScalar", + "LatentOperationMultiplyScalar", + "LatentOperationRotate", + "LatentOperationThreshold" + ], + { + "title_aux": "ComfyUI Model Bending" + } + ], "https://github.com/abyz22/image_control": [ [ "abyz22_AddPrompt", @@ -9939,6 +11553,7 @@ ], "https://github.com/acorderob/sd-webui-prompt-postprocessor": [ [ + "ACBPPPSelectVariable", "ACBPromptPostProcessor" ], { @@ -10031,6 +11646,18 @@ "title_aux": "ComfyUI-styles-all" } ], + "https://github.com/agilly1989/ComfyUI_agilly1989_motorway": [ + [ + "MotorwayFloat", + "MotorwayInt", + "MotorwaySeed", + "MotorwayStr", + "MotorwayStrMulti" + ], + { + "title_aux": "ComfyUI_agilly1989_motorway" + } + ], "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools": [ [ "GCPReadImageNode", @@ -10106,10 +11733,61 @@ "title_aux": "Comfy UI FatLabels" } ], + "https://github.com/aiartvn/A2V_Multi_Image_Composite": [ + [ + "A2V_Multi_Image_Composite" + ], + { + "title_aux": "A2V Multi Image Composite" + } + ], + "https://github.com/aicuai/aicu-comfyui-stability-ai-api": [ + [ + "Preview3DModel", + "Save3DModel", + "StabilityControlSketch", + "StabilityControlStructure", + "StabilityControlStyle", + "StabilityEdit", + "StabilityImageCore", + "StabilityImageSD3", + "StabilityImageToVideo", + "StabilityImageUltra", + "StabilityUpscaleConservative", + "StabilityUpscaleCreative", + "StabilityUpscaleFast", + "StableFast3D", + "StablePointAware3D" + ], + { + "title_aux": "aicu-comfyui-stability-ai-api" + } + ], + "https://github.com/aidec/Comfyui_TextBatch_aidec": [ + [ + "ImageFilenameProcessor", + "ImageInfoExtractor", + "ImageQueueProcessor", + "LoadImagesFromDirBatch", + "PathParser", + "TextBatch", + "TextQueueProcessor", + "TextSplitCounter" + ], + { + "title_aux": "Comfyui_TextBatch_aidec" + } + ], "https://github.com/aidenli/ComfyUI_NYJY": [ [ + "BailianChat", + "BailianChatOption", + "BailianVL", + "BailianVLOption", "CivitaiPrompt", - "ConverAnyToString", + "CommonLLMChat", + "ConvertAnyToString", + "ConvertStringToNumber", "CustomLatentImage-NYJY", "CustomLatentImageSimple", "FloatSlider-NYJY", @@ -10119,6 +11797,7 @@ "JoyCaptionAlpha2Online", "JoyTag", "JsonDumps", + "JsonGetValueByKeys", "JsonLoads", "SplitString", "Translate" @@ -10127,6 +11806,29 @@ "title_aux": "ComfyUI_NYJY" } ], + "https://github.com/aigc-apps/EasyAnimate": [ + [ + "CameraBasicFromChaoJie", + "CameraCombineFromChaoJie", + "CameraJoinFromChaoJie", + "CameraTrajectoryFromChaoJie", + "CreateTrajectoryBasedOnKJNodes", + "EasyAnimateI2VSampler", + "EasyAnimateT2VSampler", + "EasyAnimateV2VSampler", + "EasyAnimateV5_I2VSampler", + "EasyAnimateV5_T2VSampler", + "EasyAnimateV5_V2VSampler", + "EasyAnimate_TextBox", + "ImageMaximumNode", + "LoadEasyAnimateLora", + "LoadEasyAnimateModel", + "TextBox" + ], + { + "title_aux": "Video Generation Nodes for EasyAnimate" + } + ], "https://github.com/aimerib/ComfyUI_HigherBitDepthSaveImage": [ [ "SaveImageHigherBitDepth" @@ -10135,10 +11837,28 @@ "title_aux": "ComfyUI-HigherBitDepthSaveImage" } ], + "https://github.com/ainewsto/Comfyui_Comfly": [ + [ + "ComflyGeminiAPI", + "Comfly_Mj", + "Comfly_Mju", + "Comfly_Mjv", + "Comfly_kling_image2video", + "Comfly_kling_text2video", + "Comfly_kling_videoPreview", + "Comfly_mjstyle", + "Comfly_upload", + "Comfly_video_extend" + ], + { + "title_aux": "Comfyui_Comfly" + } + ], "https://github.com/ainewsto/comfyui-labs-google": [ [ "ComfyUI-ImageFx", - "ComfyUI-Whisk" + "ComfyUI-Whisk", + "ComfyUI-Whisk-Prompts" ], { "title_aux": "comfyui-labs-google" @@ -10152,6 +11872,14 @@ "title_aux": "ComfyUI_merge_ASVL" } ], + "https://github.com/ajbergh/comfyui-ethnicity_hairstyle_clip_encoder": [ + [ + "CLIPTextEncodeWithExtras" + ], + { + "title_aux": "comfyui-ethnicity_hairstyle_clip_encoder" + } + ], "https://github.com/akatz-ai/ComfyUI-AKatz-Nodes": [ [ "AK_AdjustDepthmapBrightness", @@ -10162,6 +11890,7 @@ "AK_AudioreactiveDilationMask", "AK_AudioreactiveDynamicDilationMask", "AK_BinaryAmplitudeGate", + "AK_BlobTrack", "AK_BrightnessToFloatList", "AK_ConvertAudioToSaltAudio", "AK_ConvertListToFloatList", @@ -10178,10 +11907,12 @@ "AK_MakeDepthmapSeamless", "AK_NormalizeMaskImage", "AK_RescaleFloatList", + "AK_ScaleMask", "AK_ScheduledBinaryComparison", "AK_ShrinkNumSequence", "AK_SplitImageBatch", - "AK_VideoSpeedAdjust" + "AK_VideoSpeedAdjust", + "Scale Mask Node" ], { "author": "akatz", @@ -10293,12 +12024,16 @@ "https://github.com/al-swaiti/ComfyUI-OllamaGemini": [ [ "BRIA_RMBG", - "BRIA_RMBG_ModelLoader", + "CLIPSeg", + "ClaudeAPI", + "CombineSegMasks", "ComfyUIStyler", "ConvertRasterToVector", "FLUXResolutions", "GeminiAPI", "OllamaAPI", + "OpenAIAPI", + "QwenAPI", "Save text", "SaveSVG", "TextSplitByDelimiter", @@ -10344,10 +12079,18 @@ "title_aux": "OpenPose Node" } ], + "https://github.com/alessandrozonta/Comfyui-LoopLoader": [ + [ + "LoadLoopImagesFromDir" + ], + { + "title_aux": "Comfyui-LoopLoader" + } + ], "https://github.com/alexcong/ComfyUI_QwenVL": [ [ "Qwen2.5", - "Qwen2VL" + "Qwen2.5VL" ], { "title_aux": "Qwen2-VL wrapper for ComfyUI" @@ -10383,6 +12126,7 @@ [ "Cfg Literal (Image Saver)", "Checkpoint Loader with Name (Image Saver)", + "Civitai Hash Fetcher (Image Saver)", "Float Literal (Image Saver)", "Image Saver", "Int Literal (Image Saver)", @@ -10404,6 +12148,7 @@ "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": [ [ "InputText", + "JsonPropertyExtractorNode", "OllamaCaptionerExtraOptions", "OllamaImageCaptioner", "OllamaImageDescriber", @@ -10487,6 +12232,7 @@ "Noise from Palette [Dream]", "Palette Color Align [Dream]", "Palette Color Shift [Dream]", + "Random Prompt Words [Dream]", "Sample Image Area as Palette [Dream]", "Sample Image as Palette [Dream]", "Saw Curve [Dream]", @@ -10603,8 +12349,10 @@ [ "Sage_AdvSamplerInfo", "Sage_CacheMaintenance", + "Sage_CheckpointInfoOnly", "Sage_CheckpointLoaderRecent", "Sage_CheckpointLoaderSimple", + "Sage_CleanText", "Sage_CollectKeywordsFromLoraStack", "Sage_ConditioningOneOut", "Sage_ConditioningRngOut", @@ -10612,10 +12360,14 @@ "Sage_ConstructMetadata", "Sage_ConstructMetadataLite", "Sage_DualCLIPTextEncode", + "Sage_DualCLIPTextEncodeLumina2", "Sage_EmptyLatentImagePassthrough", + "Sage_Foobar", "Sage_GetFileHash", "Sage_JoinText", "Sage_KSampler", + "Sage_KSamplerDecoder", + "Sage_KSamplerTiledDecoder", "Sage_LastLoraInfo", "Sage_LoadImage", "Sage_LogicalSwitch", @@ -10623,6 +12375,7 @@ "Sage_LoraStackLoader", "Sage_LoraStackRecent", "Sage_ModelInfo", + "Sage_ModelLoraStackLoader", "Sage_ModelReport", "Sage_PonyPrefix", "Sage_SamplerInfo", @@ -10631,8 +12384,13 @@ "Sage_SetFloat", "Sage_SetInteger", "Sage_SetText", + "Sage_StringListTest", + "Sage_TextCompare", + "Sage_TilingInfo", "Sage_TripleJoinText", + "Sage_TripleLoraStack", "Sage_UNETLoader", + "Sage_ViewAnything", "Sage_ViewText" ], { @@ -10683,13 +12441,16 @@ ], "https://github.com/asagi4/comfyui-prompt-control": [ [ + "AttentionMaskHookExperimental", "PCAddMaskToCLIP", "PCAddMaskToCLIPMany", + "PCExtractScheduledPrompt", "PCLazyLoraLoader", "PCLazyLoraLoaderAdvanced", "PCLazyTextEncode", "PCLazyTextEncodeAdvanced", "PCLoraHooksFromText", + "PCSaveExpandedWorkflow", "PCSetLogLevel", "PCSetPCTextEncodeSettings", "PCTextEncode", @@ -10705,8 +12466,10 @@ ], "https://github.com/asagi4/comfyui-utility-nodes": [ [ + "MUConditioningCutoff", "MUForceCacheClear", "MUJinjaRender", + "MURemoveControlNet", "MUReplaceModelWeights", "MUSimpleWildcard" ], @@ -10714,6 +12477,30 @@ "title_aux": "asagi4/comfyui-utility-nodes" } ], + "https://github.com/asdrabael/Hunyuan-Multi-Lora-Loader": [ + [ + "HunyuanMultiLoraLoader", + "HunyuanMultiLoraLoaderWrapper" + ], + { + "title_aux": "Hunyuan-Multi-Lora-Loader" + } + ], + "https://github.com/asutermo/ComfyUI-Flux-TryOff": [ + [ + "TryOffFluxFillModelNode", + "TryOffFluxFillPipelineNode", + "TryOffModelNode", + "TryOffQuantizerNode", + "TryOffRunNode", + "TryOnOffModelNode", + "TryOnOffRunNode", + "TryOnRunNode" + ], + { + "title_aux": "ComfyUI-Flux-TryOff" + } + ], "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": [ [ "Core ML Converter", @@ -10728,6 +12515,28 @@ "title_aux": "Core ML Suite for ComfyUI" } ], + "https://github.com/atluslin/comfyui_arcane_style_trans": [ + [ + "Arcane_style_trans" + ], + { + "title_aux": "comfyui_arcane_style_trans" + } + ], + "https://github.com/attashe/ComfyUI-FluxRegionAttention": [ + [ + "BBoxToMaskNode", + "BoundingBoxNode", + "CLIPDebug", + "FluxRegionBBOX", + "FluxRegionMask", + "RegionAttention", + "VisualizeBBoxesNode" + ], + { + "title_aux": "ComfyUI-FluxRegionAttention" + } + ], "https://github.com/audioscavenger/ComfyUI-Thumbnails": [ [ "LoadImage" @@ -10752,6 +12561,18 @@ "title_aux": "Save Image Extended for ComfyUI" } ], + "https://github.com/austinbrown34/ComfyUI-IO-Helpers": [ + [ + "EncodedPromptFromFile", + "EncodedPromptToFile", + "IO_LoadImage", + "SampledLatentsFromFile", + "SampledLatentsToFile" + ], + { + "title_aux": "ComfyUI-IO-Helpers" + } + ], "https://github.com/avatechai/avatar-graph-comfyui": [ [ "ApplyMeshTransformAsShapeKey", @@ -10781,8 +12602,16 @@ ], "https://github.com/aws-samples/comfyui-llm-node-for-amazon-bedrock": [ [ + "Amazon Bedrock - Luma AI Ray Video", + "Amazon Bedrock - Nova Canvas Background Prompt Replace", + "Amazon Bedrock - Nova Canvas Generate Image", + "Amazon Bedrock - Nova Canvas Generate Variations", + "Amazon Bedrock - Nova Reel Video", + "Amazon Bedrock - SD3 & SD3.5 Large | Image to Image", + "Amazon Bedrock - Stability AI Models | Text to Image", "Bedrock - Claude", "Bedrock - Claude Multimodal", + "Bedrock - Nova", "Bedrock - SDXL", "Bedrock - Titan Inpainting", "Bedrock - Titan Outpainting", @@ -10790,6 +12619,10 @@ "Bedrock - Titan Variation", "Image From S3", "Image From URL", + "Image OCR By Textract", + "Image OCR By Textract V2", + "Image OCR By Textract V3", + "Image OCR by PaddleOCR", "Image To S3", "JSON Text Extraction", "Prompt Regex Remove", @@ -10893,6 +12726,7 @@ "SP_HiresGen_HiresCfg", "SP_HiresGen_Sharpen", "SP_HunyuanLoader", + "SP_ImpactSwitchCombo", "SP_KSampler", "SP_KSamplerSelect", "SP_KoboldCpp", @@ -10900,14 +12734,19 @@ "SP_KoboldCpp_BannedTokens", "SP_KoboldCpp_OverrideCfg", "SP_ListAny", + "SP_ModelLoader", + "SP_Pass", "SP_Pipe", "SP_Pipe_ToBasicPipe", "SP_SD3Loader", "SP_SDLoader", + "SP_SetPipeModelType", "SP_Supir", "SP_SupirSampler", "SP_SupirSampler_DPMPP2M", "SP_SupirSampler_EDM", + "SP_SwitchBooleanAny", + "SP_UnlistValues", "SP_WebsocketSendImage", "SP_XYGrid", "SP_XYValues", @@ -11012,6 +12851,7 @@ "Range Float", "Range Integer", "Ratio Advanced", + "RemoveTextBetween", "Resize Image for SDXL", "SD3TextConditioningWithOptionsOnePrompt", "SRFloatPromptInput", @@ -11041,9 +12881,19 @@ "title_aux": "Mikey Nodes" } ], + "https://github.com/bbtaivi/ComfyUI-Aiv-Param": [ + [ + "AivParam" + ], + { + "title_aux": "AIV ComfyUI Node" + } + ], "https://github.com/bear2b/comfyui-argo-nodes": [ [ - "ColorMatrixGPU" + "ColorMatrixGPU", + "LoadGridFromURL", + "SaveGridToS3" ], { "title_aux": "ColorMatrixGPU Node for ComfyUI" @@ -11072,6 +12922,45 @@ "title_aux": "ComfyUI_NAIDGenerator" } ], + "https://github.com/benda1989/CosyVoice2_ComfyUI": [ + [ + "CosyVoice3s", + "CosyVoiceCrossLingual", + "CosyVoiceLoader", + "CosyVoiceNLControl", + "CosyVoiceSonic", + "Text2" + ], + { + "title_aux": "CosyVoice2 for ComfyUI" + } + ], + "https://github.com/benda1989/Sonic_ComfyUI": [ + [ + "SonicLoader", + "SonicSimper", + "SonicSpeechs" + ], + { + "title_aux": "GKK\u00b7Sonic" + } + ], + "https://github.com/benjiyaya/ComfyUI-HunyuanVideoImagesGuider": [ + [ + "Hunyuan Video Image To Guider" + ], + { + "title_aux": "ComfyUI-HunyuanVideoImagesGuider" + } + ], + "https://github.com/benjiyaya/ComfyUI-KokoroTTS": [ + [ + "Kokoro TextToSpeech" + ], + { + "title_aux": "ComfyUI-KokoroTTS" + } + ], "https://github.com/bentoml/comfy-pack": [ [ "CPackInputAny", @@ -11094,14 +12983,55 @@ "title_aux": "ComfyUI_TextAssets" } ], + "https://github.com/billwuhao/ComfyUI_DiffRhythm": [ + [ + "AudioRecorderDR", + "DiffRhythmRun", + "MultiLinePrompt" + ], + { + "title_aux": "ComfyUI_DiffRhythm" + } + ], + "https://github.com/billwuhao/ComfyUI_KokoroTTS_MW": [ + [ + "Kokoro Run", + "Kokoro ZH Run" + ], + { + "title_aux": "ComfyUI_KokoroTTS_MW" + } + ], + "https://github.com/billwuhao/ComfyUI_NotaGen": [ + [ + "NotaGenRun" + ], + { + "title_aux": "ComfyUI_NotaGen" + } + ], "https://github.com/billwuhao/ComfyUI_OneButtonPrompt_Flux": [ [ - "OneButtonPromptFlux" + "DeepseekRun", + "LoadImageInfoFromCivitai", + "OneButtonPromptFlux", + "QwenLLMRun", + "QwenVLRun" ], { "title_aux": "ComfyUI_OneButtonPrompt_Flux" } ], + "https://github.com/billwuhao/ComfyUI_StepAudioTTS": [ + [ + "AudioRecorder", + "StepAudioClone", + "StepAudioRun" + ], + { + "title_aux": "ComfyUI_StepAudioTTS" + } + ], "https://github.com/bitaffinity/ComfyUI_HF_Inference": [ [ "Classification", @@ -11120,12 +13050,17 @@ "https://github.com/black-forest-labs/bfl-comfy-nodes": [ [ "FLUX 1.0 [canny]", + "FLUX 1.0 [canny] Finetuned", "FLUX 1.0 [depth]", + "FLUX 1.0 [depth] Finetuned", "FLUX 1.0 [dev]", "FLUX 1.0 [fill]", + "FLUX 1.0 [fill] Finetuned", "FLUX 1.0 [pro]", + "FLUX 1.0 [pro] Finetuned", "FLUX 1.1 [pro]", - "FLUX 1.1 [ultra]" + "FLUX 1.1 [ultra]", + "FLUX 1.1 [ultra] Finetuned" ], { "title_aux": "Black Forest Labs API Nodes" @@ -11141,10 +13076,19 @@ "title_aux": "ComfyUI-Benripack" } ], + "https://github.com/blepping/ComfyUI-ApplyResAdapterUnet": [ + [ + "ApplyResAdapterUnet" + ], + { + "title_aux": "ComfyUI-ApplyResAdapterUnet" + } + ], "https://github.com/blepping/ComfyUI-bleh": [ [ "BlehBlockCFG", "BlehBlockOps", + "BlehCast", "BlehDeepShrink", "BlehDisableNoise", "BlehDiscardPenultimateSigma", @@ -11152,13 +13096,15 @@ "BlehGlobalSageAttention", "BlehHyperTile", "BlehInsaneChainSampler", + "BlehLatentBlend", "BlehLatentOps", "BlehLatentScaleBy", "BlehModelPatchConditional", "BlehPlug", "BlehRefinerAfter", "BlehSageAttentionSampler", - "BlehSetSamplerPreset" + "BlehSetSamplerPreset", + "BlehSetSigmas" ], { "title_aux": "ComfyUI-bleh" @@ -11173,18 +13119,22 @@ "SamplerSonarEuler", "SamplerSonarEulerA", "SonarAdvanced1fNoise", + "SonarAdvancedDistroNoise", "SonarAdvancedPowerLawNoise", "SonarAdvancedPyramidNoise", "SonarBlendedNoise", "SonarChannelNoise", "SonarCompositeNoise", "SonarCustomNoise", + "SonarCustomNoiseAdv", "SonarGuidanceConfig", "SonarGuidedNoise", "SonarModulatedNoise", "SonarRandomNoise", "SonarRepeatedNoise", - "SonarScheduledNoise" + "SonarResizedNoise", + "SonarScheduledNoise", + "SonarWaveletFilteredNoise" ], { "title_aux": "ComfyUI-sonar" @@ -11236,9 +13186,18 @@ "title_aux": "ComfyUI_sloppy-comic" } ], + "https://github.com/blovett80/ComfyUI-PixelDojo": [ + [ + "PixelDojoAPI" + ], + { + "title_aux": "ComfyUI-PixelDojo" + } + ], "https://github.com/blueraincoatli/comfyUI_SillyNodes": [ [ "BooleanJumper|SillyNode", + "CloseErrorWindowNode|SillyNode", "QueueSequence|SillyNode", "Screenshots|SillyNode", "dummyInput|SillyNode", @@ -11323,13 +13282,26 @@ "AllegroDecoder", "AllegroEncoder", "AllegroSampler", + "AllegroTI2VEncoder", + "AllegroTI2VSampler", "AllegroTextEncoder", - "LoadAllegroModel" + "LoadAllegroModel", + "LoadAllegroTI2VModel" ], { "title_aux": "ComfyUI-Allegro" } ], + "https://github.com/bombax-xiaoice/ComfyUI-DisPose": [ + [ + "DisPoseDecoder", + "DisPoseLoader", + "DisPoseSampler" + ], + { + "title_aux": "ComfyUI-DisPose" + } + ], "https://github.com/bombax-xiaoice/ComfyUI-MagicDance": [ [ "LoadMagicDanceModel", @@ -11407,6 +13379,17 @@ "title_aux": "ResolutionSelector for ComfyUI" } ], + "https://github.com/bradsec/ComfyUI_StringEssentials": [ + [ + "StringPreview", + "StringReplace", + "StringStrip", + "StringTextbox" + ], + { + "title_aux": "ComfyUI_StringEssentials" + } + ], "https://github.com/braintacles/braintacles-comfyui-nodes": [ [ "CLIPTextEncodeSDXL-Multi-IO", @@ -11476,6 +13459,75 @@ "title_aux": "Otonx's Custom Nodes" } ], + "https://github.com/bugltd/ComfyLab-Pack": [ + [ + "Convert to Any (lab)", + "File Queue (lab)", + "Format: Multiline (lab)", + "Format: String (lab)", + "Generic Queue (lab)", + "Image Queue (lab)", + "Input: Boolean (lab)", + "Input: Float (lab)", + "Input: Folder (lab)", + "Input: Integer (lab)", + "Input: Multiline (lab)", + "Input: String (lab)", + "List: Checkpoints (lab)", + "List: Limit (lab)", + "List: LoRAs (lab)", + "List: Merge (lab)", + "List: Random Seeds (lab)", + "List: Samplers (lab)", + "List: Schedulers (lab)", + "List: from Elements (lab)", + "List: from File (backend) (lab)", + "List: from Multiline (lab)", + "List: from String (lab)", + "Load Image (RGBA) (lab)", + "Output Config: Load (lab)", + "Output Config: Retrieve (backend) (lab)", + "Plot Config: Grid (lab)", + "Plot Config: Header/Footer (lab)", + "Resolution to Dimensions (lab)", + "Save Text File (lab)", + "Sleep (lab)", + "XY Plot: Queue (lab)", + "XY Plot: Render (lab)", + "XY Plot: Split Data (lab)" + ], + { + "nodename_pattern": " \\(lab\\)$", + "title_aux": "ComfyLab Pack" + } + ], + "https://github.com/burnsbert/ComfyUI-EBU-LMStudio": [ + [ + "EbuLMStudioLoadModel", + "EbuLMStudioMakeRequest", + "EbuLMStudioUnload" + ], + { + "title_aux": "EBU LMStudio LLM Integration" + } + ], + "https://github.com/burnsbert/ComfyUI-EBU-PromptHelper": [ + [ + "EbuPromptHelperCombineTwoStrings", + "EbuPromptHelperConsumeListItem", + "EbuPromptHelperCurrentDateTime", + "EbuPromptHelperListSampler", + "EbuPromptHelperLoadFileAsString", + "EbuPromptHelperRandomColorPalette", + "EbuPromptHelperRandomize", + "EbuPromptHelperReplace", + "EbuPromptHelperSeasonWeatherTimeOfDay", + "EbuPromptHelperTruncate" + ], + { + "title_aux": "EBU PromptHelper" + } + ], "https://github.com/bvhari/ComfyUI_ImageProcessing": [ [ "BilateralFilter", @@ -11550,14 +13602,27 @@ "title_aux": "ComfyUI Signal Processing" } ], + "https://github.com/cake-ml/tiny-sana-preview": [ + [ + "TinySanaPreview" + ], + { + "title_aux": "TinySanaPreview" + } + ], "https://github.com/calcuis/gguf": [ [ "ClipLoaderGGUF", "DualClipLoaderGGUF", + "GGUFRun", "GGUFSave", + "GGUFUndo", "LoaderGGUF", "LoaderGGUFAdvanced", - "TripleClipLoaderGGUF" + "TENSORBoost", + "TENSORCut", + "TripleClipLoaderGGUF", + "VaeGGUF" ], { "preemptions": [ @@ -11592,9 +13657,312 @@ "title_aux": "ComfyUI-TostAI" } ], + "https://github.com/camiilevitoriia/ComfyUI-WanVideoStartEndFrames": [ + [ + "LoadWanVideoClipTextEncoder_2frames", + "LoadWanVideoT5TextEncoder_2frames", + "WanVideoBlockSwap_2frames", + "WanVideoContextOptions_2frames", + "WanVideoEmptyEmbeds_2frames", + "WanVideoEncode_2frames", + "WanVideoEnhanceAVideo_2frames", + "WanVideoFlowEdit_2frames", + "WanVideoImageClipEncode_2frames", + "WanVideoLatentPreview_2frames", + "WanVideoLoraBlockEdit_2frames", + "WanVideoLoraSelect_2frames", + "WanVideoModelLoader_2frames", + "WanVideoStartEndDecode_2frames", + "WanVideoStartEndImageClipEncode_2frames", + "WanVideoStartEndSampler_2frames", + "WanVideoTeaCache_2frames", + "WanVideoTextEmbedBridge_2frames", + "WanVideoTextEncode_2frames", + "WanVideoTorchCompileSettings_2frames", + "WanVideoVAELoader_2frames", + "WanVideoVRAMManagement_2frames" + ], + { + "title_aux": "ComfyUI-WanVideoStartEndFrames" + } + ], + "https://github.com/cardenluo/ComfyUI-Apt_Preset": [ + [ + "ACN_AdvancedControlNetApply", + "ACN_AdvancedControlNetApplySingle", + "ACN_AdvancedControlNetApplySingle_v2", + "ACN_AdvancedControlNetApply_v2", + "ACN_ControlNet++InputNode", + "ACN_ControlNet++LoaderAdvanced", + "ACN_ControlNet++LoaderSingle", + "ACN_ControlNetLoaderAdvanced", + "ACN_ControlNetLoaderWithLoraAdvanced", + "ACN_CtrLoRALoader", + "ACN_CustomControlNetWeightsFlux", + "ACN_CustomControlNetWeightsSD15", + "ACN_CustomT2IAdapterWeights", + "ACN_DefaultUniversalWeights", + "ACN_DiffControlNetLoaderAdvanced", + "ACN_ExtrasMiddleMult", + "ACN_ReferenceControlNet", + "ACN_ReferenceControlNetFinetune", + "ACN_ReferencePreprocessor", + "ACN_ScaledSoftControlNetWeights", + "ACN_SoftControlNetWeightsSD15", + "ACN_SoftT2IAdapterWeights", + "ACN_SparseCtrlIndexMethodNode", + "ACN_SparseCtrlLoaderAdvanced", + "ACN_SparseCtrlMergedLoaderAdvanced", + "ACN_SparseCtrlRGBPreprocessor", + "ACN_SparseCtrlSpreadMethodNode", + "ACN_SparseCtrlWeightExtras", + "ACN_TimestepKeyframeFromStrengthList", + "ACN_TimestepKeyframeInterpolation", + "ADE_AdjustPEFullStretch", + "ADE_AdjustPEManual", + "ADE_AdjustPESweetspotStretch", + "ADE_AdjustWeightAllAdd", + "ADE_AdjustWeightAllMult", + "ADE_AdjustWeightIndivAdd", + "ADE_AdjustWeightIndivAttnAdd", + "ADE_AdjustWeightIndivAttnMult", + "ADE_AdjustWeightIndivMult", + "ADE_AnimateDiffCombine", + "ADE_AnimateDiffKeyframe", + "ADE_AnimateDiffLoRALoader", + "ADE_AnimateDiffLoaderGen1", + "ADE_AnimateDiffLoaderV1Advanced", + "ADE_AnimateDiffLoaderWithContext", + "ADE_AnimateDiffModelSettings", + "ADE_AnimateDiffModelSettingsAdvancedAttnStrengths", + "ADE_AnimateDiffModelSettingsSimple", + "ADE_AnimateDiffModelSettings_Release", + "ADE_AnimateDiffSamplingSettings", + "ADE_AnimateDiffSettings", + "ADE_AnimateDiffUniformContextOptions", + "ADE_AnimateDiffUnload", + "ADE_ApplyAnimateDiffModel", + "ADE_ApplyAnimateDiffModelSimple", + "ADE_ApplyAnimateDiffModelWithCameraCtrl", + "ADE_ApplyAnimateDiffModelWithPIA", + "ADE_ApplyAnimateLCMI2VModel", + "ADE_AttachLoraHookToCLIP", + "ADE_AttachLoraHookToConditioning", + "ADE_BatchedContextOptions", + "ADE_CFGExtrasPAG", + "ADE_CFGExtrasPAGSimple", + "ADE_CFGExtrasRescaleCFG", + "ADE_CFGExtrasRescaleCFGSimple", + "ADE_CameraCtrlAnimateDiffKeyframe", + "ADE_CameraManualPoseAppend", + "ADE_CameraPoseAdvanced", + "ADE_CameraPoseBasic", + "ADE_CameraPoseCombo", + "ADE_CombineLoraHooks", + "ADE_CombineLoraHooksEight", + "ADE_CombineLoraHooksFour", + "ADE_ConditioningCombine", + "ADE_ConditioningSetMask", + "ADE_ConditioningSetMaskAndCombine", + "ADE_ConditioningSetUnmaskedAndCombine", + "ADE_ContextExtras_ContextRef", + "ADE_ContextExtras_ContextRef_Keyframe", + "ADE_ContextExtras_ContextRef_KeyframeFromList", + "ADE_ContextExtras_ContextRef_KeyframeInterpolation", + "ADE_ContextExtras_ContextRef_ModeFirst", + "ADE_ContextExtras_ContextRef_ModeIndexes", + "ADE_ContextExtras_ContextRef_ModeSliding", + "ADE_ContextExtras_ContextRef_TuneAttn", + "ADE_ContextExtras_ContextRef_TuneAttnAdain", + "ADE_ContextExtras_NaiveReuse", + "ADE_ContextExtras_NaiveReuse_Keyframe", + "ADE_ContextExtras_NaiveReuse_KeyframeFromList", + "ADE_ContextExtras_NaiveReuse_KeyframeInterpolation", + "ADE_ContextExtras_Set", + "ADE_CustomCFG", + "ADE_CustomCFGKeyframe", + "ADE_CustomCFGKeyframeFromList", + "ADE_CustomCFGKeyframeInterpolation", + "ADE_CustomCFGKeyframeSimple", + "ADE_CustomCFGSimple", + "ADE_EmptyLatentImageLarge", + "ADE_InjectI2VIntoAnimateDiffModel", + "ADE_InjectPIAIntoAnimateDiffModel", + "ADE_InputPIA_Multival", + "ADE_InputPIA_PaperPresets", + "ADE_IterationOptsDefault", + "ADE_IterationOptsFreeInit", + "ADE_LoadAnimateDiffModel", + "ADE_LoadAnimateDiffModelWithCameraCtrl", + "ADE_LoadAnimateLCMI2VModel", + "ADE_LoadCameraPoses", + "ADE_LoadCameraPosesFromPath", + "ADE_LoopedUniformContextOptions", + "ADE_LoopedUniformViewOptions", + "ADE_LoraHookKeyframe", + "ADE_LoraHookKeyframeFromStrengthList", + "ADE_LoraHookKeyframeInterpolation", + "ADE_MultivalConvertToMask", + "ADE_MultivalDynamic", + "ADE_MultivalDynamicFloatInput", + "ADE_MultivalDynamicFloats", + "ADE_MultivalScaledMask", + "ADE_NoiseCalibration", + "ADE_NoiseLayerAdd", + "ADE_NoiseLayerAddWeighted", + "ADE_NoiseLayerNormalizedSum", + "ADE_NoiseLayerReplace", + "ADE_NoisedImageInjectOptions", + "ADE_NoisedImageInjection", + "ADE_PIA_AnimateDiffKeyframe", + "ADE_PairedConditioningCombine", + "ADE_PairedConditioningSetMask", + "ADE_PairedConditioningSetMaskAndCombine", + "ADE_PairedConditioningSetUnmaskedAndCombine", + "ADE_PerturbedAttentionGuidanceMultival", + "ADE_RawSigmaSchedule", + "ADE_RegisterLoraHook", + "ADE_RegisterLoraHookModelOnly", + "ADE_RegisterModelAsLoraHook", + "ADE_RegisterModelAsLoraHookModelOnly", + "ADE_ReplaceCameraParameters", + "ADE_ReplaceOriginalPoseAspectRatio", + "ADE_RescaleCFGMultival", + "ADE_SetLoraHookKeyframe", + "ADE_SigmaSchedule", + "ADE_SigmaScheduleSplitAndCombine", + "ADE_SigmaScheduleToSigmas", + "ADE_SigmaScheduleWeightedAverage", + "ADE_SigmaScheduleWeightedAverageInterp", + "ADE_StandardStaticContextOptions", + "ADE_StandardStaticViewOptions", + "ADE_StandardUniformContextOptions", + "ADE_StandardUniformViewOptions", + "ADE_TimestepsConditioning", + "ADE_UpscaleAndVAEEncode", + "ADE_UseEvolvedSampling", + "ADE_ViewsOnlyContextOptions", + "ADE_VisualizeContextOptionsK", + "ADE_VisualizeContextOptionsKAdv", + "ADE_VisualizeContextOptionsSCustom", + "AD_DrawSchedule", + "AD_latent_keyframe", + "AD_latent_kfGroup", + "AD_sch_IPA", + "AD_sch_Value", + "AD_sch_adv_CN", + "AD_sch_latent", + "AD_sch_mask", + "AD_sch_prompt", + "AD_sch_prompt_adv", + "AD_slice_Condi", + "AnimateDiffLoaderV1", + "Apply_AD_diff", + "Apply_ControlNetStack", + "Apply_IPA", + "Apply_IPA_SD3", + "Apply_LoRAStack", + "Apply_Redux", + "Apply_adv_CN", + "Apply_condiStack", + "Apply_latent", + "Apply_prompt_Schedule", + "Apply_textStack", + "CN_preset1", + "CheckpointLoaderSimpleWithNoiseSelect", + "ControlNetLoaderAdvanced", + "CustomControlNetWeights", + "CustomT2IAdapterWeights", + "Data_chx_Merge", + "Data_chx_MergeBig", + "Data_fullData", + "Data_presetData", + "Data_preset_save", + "Data_sample", + "Data_select", + "Date_basic", + "Date_basic_easy", + "DiffControlNetLoaderAdvanced", + "LatentKeyframe", + "LatentKeyframeBatchedGroup", + "LatentKeyframeGroup", + "LatentKeyframeTiming", + "LoadImagesFromDirectory", + "Model_Preset", + "SD3IPAdapter", + "ScaledSoftControlNetWeights", + "ScaledSoftMaskedUniversalWeights", + "SoftControlNetWeights", + "SoftT2IAdapterWeights", + "Stack_ControlNet", + "Stack_ControlNet1", + "Stack_IPA", + "Stack_IPA_SD3", + "Stack_LoRA", + "Stack_Redux", + "Stack_adv_CN", + "Stack_adv_CN_easy", + "Stack_condi", + "Stack_latent", + "Stack_text", + "TimestepKeyframe", + "Unpack_CN", + "Unpack_Model", + "Unpack_param", + "Unpack_photoshop", + "basic_Ksampler_custom", + "basic_Ksampler_full", + "basic_Ksampler_mid", + "basic_Ksampler_simple", + "chx_IPA_XL_adv", + "chx_IPA_apply_combine", + "chx_IPA_basic", + "chx_IPA_faceID", + "chx_IPA_region_combine", + "chx_Ksampler_VisualStyle", + "chx_Ksampler_adv", + "chx_Ksampler_dual_area", + "chx_Ksampler_inpaint", + "chx_Ksampler_mix", + "chx_Ksampler_refine", + "chx_Ksampler_texture", + "chx_StyleModelApply", + "chx_Style_Redux", + "chx_Upscale_simple", + "chx_YC_LG_Redux", + "chx_controlnet", + "chx_controlnet_union", + "chx_easy_text", + "chx_ksampler_Deforum", + "chx_ksampler_tile", + "chx_mask_Mulcondi", + "chx_prompt_Schedule", + "chx_re_fluxguide", + "load_FLUX", + "load_SD35", + "load_basic", + "param_preset", + "photoshop_preset", + "pre_inpaint", + "pre_make_context", + "pre_sample_data", + "stack_AD_diff", + "sum_controlnet", + "sum_editor", + "sum_latent", + "sum_load", + "sum_lora", + "sum_stack_AD", + "sum_stack_SD3", + "sum_stack_flux", + "sum_stack_image" + ], + { + "title_aux": "ComfyUI-Apt_Preset" + } + ], "https://github.com/catboxanon/comfyui_stealth_pnginfo": [ [ - "AddA1111LikeMetadata", "CatboxAnonSaveImageStealth" ], { @@ -12159,6 +14527,7 @@ "chaosaiart_controlnet_weidgth", "chaosaiart_convert", "chaosaiart_convert_Prompt", + "chaosaiart_deepseek_fix", "chaosaiart_forPreview", "chaosaiart_image_loop", "chaosaiart_img2gif", @@ -12182,6 +14551,19 @@ "title_aux": "Chaosaiart-Nodes" } ], + "https://github.com/checkbins/checkbin-comfy": [ + [ + "Checkbin Get Image Bin", + "Checkbin Get String Bin", + "Checkbin Save Image Bin", + "Checkbin Save String Bin", + "Checkbin Start Run", + "Checkbin Submit Bin" + ], + { + "title_aux": "checkbin-comfy" + } + ], "https://github.com/chenbaiyujason/ComfyUI_StepFun": [ [ "CombineStrings", @@ -12195,6 +14577,41 @@ "title_aux": "ComfyUI-SCStepFun" } ], + "https://github.com/chenlongming/ComfyUI_Spectral": [ + [ + "Calculate", + "KMeans", + "LoadEnvi", + "LoadSpectral", + "Plot" + ], + { + "title_aux": "ComfyUI_Spectral" + } + ], + "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie": [ + [ + "NSFWFilterNode" + ], + { + "title_aux": "ComfyUI NSFW Filter" + } + ], + "https://github.com/chenpipi0807/PIP_ArtisticWords": [ + [ + "PIP Artistic Text Generator", + "PIP ArtisticWords Fusion", + "PIP ColorPicker", + "PIP SVG Recorder", + "PIP Text Preview", + "PIPAdvancedColorAnalyzer", + "PIPColorPicker", + "PIPColorWheel" + ], + { + "title_aux": "PIP Artistic Words for ComfyUI" + } + ], "https://github.com/cherninlab/logo-generator-comfyui": [ [ "GoogleFontsLogo" @@ -12223,6 +14640,14 @@ "title_aux": "ComfyUI_CatVTON_Wrapper" } ], + "https://github.com/chflame163/ComfyUI_CogView4_Wrapper": [ + [ + "CogView4" + ], + { + "title_aux": "ComfyUI_CogView4_Wrapper" + } + ], "https://github.com/chflame163/ComfyUI_FaceSimilarity": [ [ "Face Similarity" @@ -12231,6 +14656,16 @@ "title_aux": "ComfyUI Face Similarity" } ], + "https://github.com/chflame163/ComfyUI_Janus_Wrapper": [ + [ + "JanusImage2Text", + "JanusTextToImage", + "LoadJanusModel" + ], + { + "title_aux": "ComfyUI_Janus_Wrapper" + } + ], "https://github.com/chflame163/ComfyUI_LayerStyle": [ [ "LayerColor: AutoAdjust", @@ -12365,6 +14800,7 @@ "LayerUtility: NumberCalculatorV2", "LayerUtility: PrintInfo", "LayerUtility: PurgeVRAM", + "LayerUtility: PurgeVRAM V2", "LayerUtility: QueueStop", "LayerUtility: RGB Value", "LayerUtility: RandomGenerator", @@ -12426,9 +14862,11 @@ "LayerMask: TransparentBackgroundUltra", "LayerMask: YoloV8Detect", "LayerUtility: AddBlindWaterMark", + "LayerUtility: Collage", "LayerUtility: CreateQRCode", "LayerUtility: DecodeQRCode", "LayerUtility: DeepSeekAPI", + "LayerUtility: DeepSeekAPIV2", "LayerUtility: Florence2Image2Prompt", "LayerUtility: Gemini", "LayerUtility: GetColorTone", @@ -12534,6 +14972,27 @@ "title_aux": "Comfy-Topaz" } ], + "https://github.com/chri002/ComfyUI_depthMapOperation": [ + [ + "CleanPoints (KDTree)", + "CloudPointsInfo", + "CubeLimit", + "Export to PLY", + "ImageToPoints", + "ImageToPoints (Legacy)", + "ImageToPoints (Torch)", + "Import PLY", + "InterpolatePoints (KDTree)", + "PointsToImage (Orthographic)", + "PointsToImage (Projection)", + "PointsToImage advance (Orthographic)", + "PointsToImage advance (Projection)", + "TransformPoints" + ], + { + "title_aux": "ComfyUI_depthMapOperation" + } + ], "https://github.com/chris-arsenault/ComfyUI-AharaNodes": [ [ "FrameSegmenter", @@ -12580,9 +15039,9 @@ ], { "author": "Chris Freilich", - "description": "This extension provides blur nodes.", - "nickname": "Virtuoso Pack - Blur", - "title": "Virtuoso Pack - Blur", + "description": "This extension provides a \"Levels\" node.", + "nickname": "Virtuoso Pack - Contrast", + "title": "Virtuoso Pack - Contrast", "title_aux": "Virtuoso Nodes for ComfyUI" } ], @@ -12699,6 +15158,22 @@ "title_aux": "ComfyUI MarkItDown" } ], + "https://github.com/ciga2011/ComfyUI-Pollinations": [ + [ + "PollinationsNode" + ], + { + "title_aux": "ComfyUI Pollinations" + } + ], + "https://github.com/ciga2011/ComfyUI-PromptOptimizer": [ + [ + "PromptOptimizer" + ], + { + "title_aux": "ComfyUI Prompt Optimizer" + } + ], "https://github.com/ciri/comfyui-model-downloader": [ [ "Auto Model Downloader", @@ -12926,6 +15401,7 @@ "CLIPTextEncodeControlnet", "CLIPTextEncodeFlux", "CLIPTextEncodeHunyuanDiT", + "CLIPTextEncodeLumina2", "CLIPTextEncodePixArtAlpha", "CLIPTextEncodeSD3", "CLIPTextEncodeSDXL", @@ -12941,6 +15417,7 @@ "ConditioningConcat", "ConditioningSetArea", "ConditioningSetAreaPercentage", + "ConditioningSetAreaPercentageVideo", "ConditioningSetAreaStrength", "ConditioningSetMask", "ConditioningSetTimestepRange", @@ -12951,6 +15428,7 @@ "ControlNetApplySD3", "ControlNetInpaintingAliMamaApply", "ControlNetLoader", + "CosmosImageToVideoLatent", "CropMask", "DiffControlNetLoader", "DifferentialDiffusion", @@ -12958,16 +15436,19 @@ "DisableNoise", "DualCFGGuider", "DualCLIPLoader", + "EmptyCosmosLatentVideo", "EmptyHunyuanLatentVideo", "EmptyImage", "EmptyLTXVLatentVideo", "EmptyLatentAudio", + "EmptyLatentHunyuan3Dv2", "EmptyLatentImage", "EmptyMochiLatentVideo", "EmptySD3LatentImage", "ExponentialScheduler", "FeatherMask", "FlipSigmas", + "FluxDisableGuidance", "FluxGuidance", "FreeU", "FreeU_V2", @@ -12975,6 +15456,9 @@ "GLIGENLoader", "GLIGENTextBoxApply", "GrowMask", + "Hunyuan3Dv2Conditioning", + "Hunyuan3Dv2ConditioningMultiView", + "HunyuanImageToVideo", "HyperTile", "HypernetworkLoader", "ImageBatch", @@ -12989,12 +15473,14 @@ "ImageOnlyCheckpointSave", "ImagePadForOutpaint", "ImageQuantize", + "ImageRGBToYUV", "ImageScale", "ImageScaleBy", "ImageScaleToTotalPixels", "ImageSharpen", "ImageToMask", "ImageUpscaleWithModel", + "ImageYUVToRGB", "InpaintModelConditioning", "InstructPixToPixConditioning", "InvertMask", @@ -13003,8 +15489,11 @@ "KSamplerAdvanced", "KSamplerSelect", "KarrasScheduler", + "LTXVAddGuide", "LTXVConditioning", + "LTXVCropGuides", "LTXVImgToVideo", + "LTXVPreprocess", "LTXVScheduler", "LaplaceScheduler", "LatentAdd", @@ -13031,16 +15520,21 @@ "LoadAudio", "LoadImage", "LoadImageMask", + "LoadImageOutput", "LoadLatent", "LoraLoader", "LoraLoaderModelOnly", "LoraSave", + "LotusConditioning", "Mahiro", "MaskComposite", "MaskToImage", + "ModelComputeDtype", "ModelMergeAdd", "ModelMergeAuraflow", "ModelMergeBlocks", + "ModelMergeCosmos14B", + "ModelMergeCosmos7B", "ModelMergeFlux1", "ModelMergeLTXV", "ModelMergeMochiPreview", @@ -13070,11 +15564,17 @@ "PolyexponentialScheduler", "PorterDuffImageComposite", "Preview3D", + "Preview3DAnimation", "PreviewAudio", "PreviewImage", + "PrimitiveBoolean", + "PrimitiveFloat", + "PrimitiveInt", + "PrimitiveString", "RandomNoise", "RebatchImages", "RebatchLatents", + "RenormCFG", "RepeatImageBatch", "RepeatLatentBatch", "RescaleCFG", @@ -13097,10 +15597,13 @@ "SaveAnimatedPNG", "SaveAnimatedWEBP", "SaveAudio", + "SaveGLB", "SaveImage", "SaveImageWebsocket", "SaveLatent", + "SaveWEBM", "SelfAttentionGuidance", + "SetFirstSigma", "SetLatentNoiseMask", "SetUnionControlNetType", "SkipLayerGuidanceDiT", @@ -13153,6 +15656,7 @@ "TestVariadicAverage", "TestWhileLoopClose", "TestWhileLoopOpen", + "TextEncodeHunyuanVideo_ImageToVideo", "ThresholdMask", "TomePatchModel", "TorchCompileModel", @@ -13164,6 +15668,7 @@ "UpscaleModelLoader", "VAEDecode", "VAEDecodeAudio", + "VAEDecodeHunyuan3D", "VAEDecodeTiled", "VAEEncode", "VAEEncodeAudio", @@ -13174,6 +15679,8 @@ "VPScheduler", "VideoLinearCFGGuidance", "VideoTriangleCFGGuidance", + "VoxelToMeshBasic", + "WanImageToVideo", "WebcamCapture", "unCLIPCheckpointLoader", "unCLIPConditioning" @@ -13293,6 +15800,14 @@ "title_aux": "ComfyUI_DepthFlow" } ], + "https://github.com/crave33/RenesStuffDanboruTagGet": [ + [ + "DanbooruTagFetcher" + ], + { + "title_aux": "RenesStuffDanboruTagGet" + } + ], "https://github.com/crystian/ComfyUI-Crystools": [ [], { @@ -13634,6 +16149,8 @@ "D2 List To String", "D2 Load Folder Images", "D2 Load Image", + "D2 Load Lora", + "D2 Model and CLIP Merge SDXL", "D2 Multi Output", "D2 Pipe", "D2 Preview Image", @@ -13656,6 +16173,7 @@ "D2 XY Prompt SR", "D2 XY Prompt SR2", "D2 XY Seed", + "D2 XY Seed2", "D2 XY String To Plot" ], { @@ -13667,9 +16185,17 @@ ], "https://github.com/dadoirie/ComfyUI_Dados_Nodes": [ [ - "PinterestImageNode" + "DynamicTextLoaderNode", + "PinterestFetch", + "SmolVLMNode", + "TextConcatenatorNode", + "TextDropDownNode", + "inactivePinterestImageNode" ], { + "author": "Dado", + "description": "A node with dynamic text inputs for concatenation", + "title": "Text Concatenator", "title_aux": "ComfyUI_Dados_Nodes" } ], @@ -13801,6 +16327,25 @@ "title_aux": "ComfyUI-LoadFiles" } ], + "https://github.com/dasilva333/ComfyUI_ContrastingColor": [ + [ + "ContrastingComplementaryColor|pysssss" + ], + { + "title_aux": "ComfyUI_ContrastingColor" + } + ], + "https://github.com/dasilva333/ComfyUI_MarkdownImage": [ + [ + "CreateDialogImage", + "CreateDialogImageV2", + "CreateMarkdownImage", + "CreateMarkdownImageV2" + ], + { + "title_aux": "ComfyUI_MarkdownImage" + } + ], "https://github.com/dave-palt/comfyui_DSP_imagehelpers": [ [ "dsp-imagehelpers-concat" @@ -13809,6 +16354,14 @@ "title_aux": "comfyui_DSP_imagehelpers" } ], + "https://github.com/davidgressett/comfyui-systemlevel": [ + [ + "CartesianCSVNode" + ], + { + "title_aux": "CartesianCSVNode for ComfyUI" + } + ], "https://github.com/daxcay/ComfyUI-DataSet": [ [ "DataSet_ClaudeAIChat", @@ -13922,12 +16475,16 @@ "DavchaCLIPTextEncode", "DavchaConditioningConcat", "DavchaEmptyLatentImage", + "DavchaLLM", + "DavchaLLMAdvanced", + "DavchaLoadLLM", "DavchaLoadVideo", "DavchaMaskImage", "DavchaModelMergeSD1", "DavchaModelMergeSDXL", "DavchaModelMergeSimple", "DavchaPop", + "PadAndResize", "PercentPadding", "ResizeCropFit", "SmartMask", @@ -14027,7 +16584,7 @@ "description": "CLIP text encoder that does BREAK prompting like A1111", "nickname": "CLIP with BREAK", "title": "CLIP with BREAK syntax", - "title_aux": "CLIP with BREAK syntax" + "title_aux": "comfyui-clip-with-break" } ], "https://github.com/dfl/comfyui-tcd-scheduler": [ @@ -14264,6 +16821,16 @@ "title_aux": "ComfyUI-Keyframed" } ], + "https://github.com/dorpxam/ComfyUI-LTXVideoLoRA": [ + [ + "LTXVLoRABlockEdit", + "LTXVLoRALoader", + "LTXVLoRASelector" + ], + { + "title_aux": "ComfyUI-LTXVideoLoRA" + } + ], "https://github.com/drago87/ComfyUI_Dragos_Nodes": [ [ "file_padding", @@ -14275,6 +16842,14 @@ "title_aux": "ComfyUI_Dragos_Nodes" } ], + "https://github.com/dreamhartley/ComfyUI_show_seed": [ + [ + "Show Seed" + ], + { + "title_aux": "ComfyUI_show_seed" + } + ], "https://github.com/drmbt/comfyui-dreambait-nodes": [ [ "AudioInfoPlus", @@ -14285,6 +16860,7 @@ "DRMBT_String_Item_Menu", "DictToOutputs", "DownloadAndLoadMiniCPMV", + "DrawText", "DreambaitFolderOpener", "DynamicDictionary", "ImageFrameBlend", @@ -14300,9 +16876,12 @@ "Qwen2AudioInstruct", "StringToDict", "SwitchDuo", + "TextBoxStyle", "TextLineSelect", "TextLinesToList", - "TextPlusPlus" + "TextMargins", + "TextPlusPlus", + "TextShadow" ], { "title_aux": "comfyui-dreambait-nodes" @@ -14319,6 +16898,14 @@ "title_aux": "primitive-types" } ], + "https://github.com/duchamps0305/comfyui-white-extractor": [ + [ + "WhitePercentage" + ], + { + "title_aux": "comfyui-white-extractor" + } + ], "https://github.com/ducido/ObjectFusion_ComfyUI_nodes": [ [ "Custom ESAM_ModelLoader_Zho", @@ -14357,6 +16944,15 @@ "title_aux": "comfyui_dygen" } ], + "https://github.com/dzqdzq/ComfyUI-crop-alpha": [ + [ + "FastAlphaCropper", + "ShrinkImage" + ], + { + "title_aux": "ComfyUI-crop-alpha" + } + ], "https://github.com/e7mac/ComfyUI-ShadertoyGL": [ [ "ColorChannelOffset", @@ -14401,30 +16997,38 @@ "CLIP_Interrogator", "ConvertToGrayscale", "DepthSlicer", + "Eden_AllMediaLoader", "Eden_Bool", "Eden_BoolBinaryOperation", "Eden_Compare", - "Eden_DebugPrint", + "Eden_Debug_Anything", "Eden_DepthSlice_MaskVideo", "Eden_DetermineFrameCount", + "Eden_FaceToMask", + "Eden_Face_Crop", "Eden_Float", "Eden_FloatToInt", "Eden_GPTPromptEnhancer", "Eden_IMG_padder", "Eden_IMG_unpadder", + "Eden_ImageMaskComposite", "Eden_Image_Math", "Eden_Int", "Eden_IntToFloat", "Eden_MaskBoundingBox", "Eden_MaskCombiner", "Eden_Math", + "Eden_RandomFilepathSampler", + "Eden_RandomNumberSampler", "Eden_RandomPromptFromFile", + "Eden_Regex_Replace", "Eden_RepeatLatentBatch", "Eden_Seed", "Eden_String", "Eden_StringHash", "Eden_StringReplace", "Eden_gpt4_node", + "Eden_randbool", "Extend_Sequence", "FolderScanner", "GetRandomFile", @@ -14446,6 +17050,8 @@ "MaskFromRGB_KMeans", "ParallaxZoom", "Random_Style_Mixture", + "SDAnyConverter", + "SDTypeConverter", "SaveImageAdvanced", "SavePosEmbeds", "VAEDecode_to_folder", @@ -14578,29 +17184,29 @@ "title_aux": "ComfyMath" } ], - "https://github.com/evolox/ComfyUI-GeneraNodes": [ - [ - "Genera.BatchPreviewer", - "Genera.BatchTester", - "Genera.GCPStorageNode", - "Genera.MaskDrawer", - "Genera.Utils", - "PainterNode" - ], - { - "title_aux": "ComfyUI-GeneraNodes" - } - ], "https://github.com/exdysa/comfyui-selector": [ [ - "Fork", - "ForkClip", - "Recourse", - "Recourse+/-", + "RecourseAny", "RecourseCkpt", "RecourseImage", + "RecoursePolar", + "RecourseStrings", + "SelInClip", + "SelInFloat", + "SelInGuider", + "SelInInt", + "SelInLatent", + "SelInModel", + "SelInPolar", + "SelInSampler", + "SelInSigmas", + "SelInVae", + "SelOutCLIP", + "SelOutModel", + "SelOutPolar", "Selector", - "Unite" + "Selector Advanced", + "Selector Hub" ], { "author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"", @@ -14661,10 +17267,12 @@ "https://github.com/fablestudio/ComfyUI-Showrunner-Utils": [ [ "AlignFace", + "Alpha Crop and Position Image", "GenerateTimestamp", "GetMostCommonColors", "ReadImage", - "RenderOpenStreetMapTile" + "RenderOpenStreetMapTile", + "Shrink Image" ], { "title_aux": "ComfyUI-Showrunner-Utils" @@ -14694,6 +17302,14 @@ "title_aux": "ComfyUI-GLHF" } ], + "https://github.com/fairy-root/ComfyUI-Show-Text": [ + [ + "ComfyUIShowText" + ], + { + "title_aux": "ComfyUI-Show-Text" + } + ], "https://github.com/fairy-root/Flux-Prompt-Generator": [ [ "FluxPromptGenerator" @@ -14728,6 +17344,45 @@ "title_aux": "FASHN Virtual Try-On" } ], + "https://github.com/fat-tire/comfyui-unified-media-suite": [ + [ + "MediaLoad", + "MediaMerge", + "MediaSave" + ], + { + "title_aux": "ComfyUI Unified Media Suite" + } + ], + "https://github.com/fblissjr/ComfyUI-DatasetHelper": [ + [ + "DatasetBatchNode" + ], + { + "title_aux": "ComfyUI Dataset Helper & Batch Node" + } + ], + "https://github.com/fblissjr/ComfyUI-EmbeddingPipelineAnalytics": [ + [ + "EmbeddingAnalyzer", + "EmbeddingPipelineCapture" + ], + { + "title_aux": "ComfyUI-EmbeddingPipelineAnalytics" + } + ], + "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow": [ + [ + "WanAdaptiveFlow", + "WanBlendVisualize", + "WanEmbeddingPrevizCanvas", + "WanMinimalCanvasTest", + "WanSmartBlend" + ], + { + "title_aux": "wanvideo - seamless flow" + } + ], "https://github.com/fearnworks/ComfyUI_FearnworksNodes": [ [ "Count Files in Directory (FW)", @@ -14743,6 +17398,14 @@ "title_aux": "Fearnworks Nodes" } ], + "https://github.com/feixuetuba/Spleeter": [ + [ + "Spleeter" + ], + { + "title_aux": "Spleeter" + } + ], "https://github.com/fexli/fexli-util-node-comfyui": [ [ "FEBCPrompt", @@ -14831,6 +17494,9 @@ ], "https://github.com/filliptm/ComfyUI_Fill-Nodes": [ [ + "FL_API_Base64_ImageLoader", + "FL_API_ImageSaver", + "FL_AnimeLineExtractor", "FL_ApplyMask", "FL_Ascii", "FL_BatchAlign", @@ -14838,6 +17504,7 @@ "FL_BulletHellGame", "FL_CaptionSaver_V2", "FL_CaptionToCSV", + "FL_ClipScanner", "FL_CodeNode", "FL_ColorPicker", "FL_Dalle3", @@ -14845,14 +17512,19 @@ "FL_Dither", "FL_FractalKSampler", "FL_GPT_Vision", + "FL_GeminiImageEditor", + "FL_GeminiTextAPI", + "FL_GeminiVideoCaptioner", "FL_Glitch", "FL_GoogleDriveDownloader", + "FL_GoogleDriveImageDownloader", "FL_GradGenerator", "FL_HFHubModelUploader", "FL_HF_Character", "FL_HF_UploaderAbsolute", "FL_HalftonePattern", "FL_HexagonalPattern", + "FL_HunyuanDelight", "FL_ImageAdjuster", "FL_ImageBatchToGrid", "FL_ImageBatchToImageList", @@ -14870,6 +17542,7 @@ "FL_InfiniteZoom", "FL_InpaintCrop", "FL_Inpaint_Stitch", + "FL_JS", "FL_KSamplerXYZPlot", "FL_KsamplerBasic", "FL_KsamplerPlus", @@ -14905,6 +17578,7 @@ "FL_SaveCSV", "FL_SaveImages", "FL_SaveWebPImage(SaveImage)", + "FL_SceneCut", "FL_SchedulerStrings", "FL_SendToDiscordWebhook", "FL_SeparateMaskComponents", @@ -14914,6 +17588,7 @@ "FL_TetrisGame", "FL_TimeLine", "FL_UpscaleModel", + "FL_VideoCaptionSaver", "FL_VideoCropMask", "FL_VideoRecompose", "FL_ZipDirectory", @@ -15029,6 +17704,14 @@ "title_aux": "ComfyUI-Flowty-TripoSR" } ], + "https://github.com/fluffydiveX/ComfyUI-hvBlockswap": [ + [ + "hvBlockSwap" + ], + { + "title_aux": "ComfyUI-hvBlockswap" + } + ], "https://github.com/flycarl/ComfyUI-Pixelate": [ [ "ComfyUIPixelate" @@ -15094,6 +17777,14 @@ "title_aux": "ComfyUI-Prompter-fofrAI" } ], + "https://github.com/fofr/comfyui-basic-auth": [ + [ + "BasicAuthSetup" + ], + { + "title_aux": "ComfyUI-Basic-Auth" + } + ], "https://github.com/fofr/comfyui-fofr-toolkit": [ [ "Incrementer \ud83e\udeb4", @@ -15253,6 +17944,14 @@ "title_aux": "ComfyUI_pose_inter" } ], + "https://github.com/fuselayer/comfyui-mosaic-blur": [ + [ + "ImageMosaic" + ], + { + "title_aux": "comfyui-mosaic-blur" + } + ], "https://github.com/gelasdev/ComfyUI-FLUX-BFL-API": [ [ "FluxDevRedux_BFL", @@ -15284,7 +17983,10 @@ "Image Scale", "Image Selector", "LoRA Name List", - "Seed to Noise" + "Prompt Text", + "Seed to Noise", + "ShowTextNode", + "Text Replace" ], { "title_aux": "geocine-comfyui" @@ -15402,14 +18104,19 @@ "Custom API Key", "DalleImage", "Enhancer", + "Gemini Image", "Image Mixer", + "Imagen Image", "ImgTextSwitch", "Load Remote Models", + "LoadText|plush", "ParseJSON", "Plush-Exif Wrangler", "Random Image Output", "Random Mixer", "Random Output", + "Remove Text", + "SaveText|plush", "Tagger", "Text (Any)", "Type Converter", @@ -15454,6 +18161,14 @@ "title_aux": "String Converter" } ], + "https://github.com/gmorks/ComfyUI-SendToDiscord": [ + [ + "PreviewImageWithDiscord" + ], + { + "title_aux": "ComfyUI-SendToDiscord" + } + ], "https://github.com/goburiin/nsfwrecog-comfyui": [ [ "NSFWDetectorNode" @@ -15603,6 +18318,35 @@ "title_aux": "GFrbmg2" } ], + "https://github.com/gorillaframeai/GF_translate": [ + [ + "GFDeepTranslate", + "GFJsonTranslate" + ], + { + "title_aux": "GF_translate" + } + ], + "https://github.com/greengerong/ComfyUI-JanusPro-PL": [ + [ + "JanusProImageGenerator", + "JanusProImageUnderstanding", + "JanusProModelLoader" + ], + { + "title_aux": "Janus-Pro ComfyUI Plugin" + } + ], + "https://github.com/greengerong/ComfyUI-Lumina-Video": [ + [ + "LuminaVideoModelLoader", + "LuminaVideoSampler", + "LuminaVideoVAEDecode" + ], + { + "title_aux": "ComfyUI-Lumina-Video" + } + ], "https://github.com/gremlation/ComfyUI-ImageLabel": [ [ "gremlation:ComfyUI-ImageLabel:ImageLabel" @@ -15649,6 +18393,9 @@ "Griptape Agent Config: Expand", "Griptape Agent Config: Google Drivers", "Griptape Agent Config: Google [DEPRECATED]", + "Griptape Agent Config: Griptape Cloud", + "Griptape Agent Config: Grok Drivers", + "Griptape Agent Config: Groq Drivers", "Griptape Agent Config: HuggingFace Drivers", "Griptape Agent Config: HuggingFace [DEPRECATED]", "Griptape Agent Config: LM Studio Drivers", @@ -15659,13 +18406,16 @@ "Griptape Agent Config: OpenAI Compatible [DEPRECATED]", "Griptape Agent Config: OpenAI Drivers", "Griptape Agent Config: OpenAI [DEPRECATED]", + "Griptape Audio Transcription Driver: Groq", "Griptape Audio Transcription Driver: OpenAI", "Griptape Code: Run Griptape Cloud Structure", - "Griptape Code: Run Python", + "Griptape Code: Run Python [DEPRECATED]", + "Griptape Combine: Merge Dictionary", "Griptape Combine: Merge Inputs", "Griptape Combine: Merge Texts", "Griptape Combine: RAG Module List", "Griptape Combine: Rules List", + "Griptape Combine: String List", "Griptape Combine: Tool List", "Griptape Config: Environment Variables", "Griptape Convert: Agent to Tool", @@ -15677,12 +18427,15 @@ "Griptape Create: Image Inpainting Variation", "Griptape Create: Image Variation", "Griptape Create: Image from Text", + "Griptape Create: Key Value Pair", "Griptape Create: Rules", "Griptape Create: Text", "Griptape Display: Artifact", "Griptape Display: Data as Text", + "Griptape Display: Dictionary", "Griptape Display: Image", "Griptape Display: Text", + "Griptape Display: Text as Markdown", "Griptape Driver: Amazon Bedrock Stable Diffusion", "Griptape Driver: Amazon Bedrock Titan", "Griptape Driver: Azure OpenAI Image Generation", @@ -15701,6 +18454,7 @@ "Griptape Embedding Driver: OpenAI", "Griptape Embedding Driver: OpenAI Compatible", "Griptape Embedding Driver: Voyage AI", + "Griptape End Workflow", "Griptape Expand: Agent Nodes", "Griptape Load: Audio", "Griptape Load: Image From URL", @@ -15711,6 +18465,9 @@ "Griptape Prompt Driver: Azure OpenAI", "Griptape Prompt Driver: Cohere", "Griptape Prompt Driver: Google", + "Griptape Prompt Driver: Griptape Cloud", + "Griptape Prompt Driver: Grok", + "Griptape Prompt Driver: Groq", "Griptape Prompt Driver: HuggingFace", "Griptape Prompt Driver: LM Studio", "Griptape Prompt Driver: Ollama", @@ -15727,10 +18484,14 @@ "Griptape Replace: Rulesets on Agent", "Griptape Replace: Tools on Agent", "Griptape Rerank Driver: Cohere", + "Griptape Rerank Driver: Local", + "Griptape Retrieve: Cloud Ruleset", "Griptape Run: Agent", "Griptape Run: Audio Transcription", + "Griptape Run: Cloud Assistant", "Griptape Run: Image Description", "Griptape Run: Parallel Image Description", + "Griptape Run: Parallel Prompt Task", "Griptape Run: Prompt Task", "Griptape Run: Task", "Griptape Run: Text Extraction", @@ -15740,6 +18501,7 @@ "Griptape Run: Toolkit Task", "Griptape Save: Text", "Griptape Set: Default Agent", + "Griptape Start Workflow", "Griptape Text To Speech Driver: ElevenLabs", "Griptape Text To Speech Driver: OpenAI", "Griptape Tool: Audio Transcription", @@ -15774,6 +18536,7 @@ "Griptape WebSearch Driver: DuckDuckGo", "Griptape WebSearch Driver: Exa", "Griptape WebSearch Driver: Google", + "Griptape WebSearch Driver: Serper", "Griptape WebSearch Driver: Tavily" ], { @@ -15817,6 +18580,14 @@ "title_aux": "ComfyUI-DreamWaltz-G" } ], + "https://github.com/guerreiro/comfyg-switch": [ + [ + "ComfygSwitch" + ], + { + "title_aux": "Comfyg Switch" + } + ], "https://github.com/guill/abracadabra-comfyui": [ [ "AbracadabraNode", @@ -16063,6 +18834,7 @@ "ic_lora_persona", "image_iterator", "img2path", + "img_hosting", "interpreter_function", "interpreter_tool", "interrupt_loop", @@ -16189,6 +18961,22 @@ "title_aux": "comfyui_LLM_schools" } ], + "https://github.com/hgabha/WWAA-CustomNodes": [ + [ + "WWAA-BuildString", + "WWAA-LineCount", + "WWAA_AdvancedTextFileReader", + "WWAA_DitherNode", + "WWAA_GBCamera", + "WWAA_ImageLoader", + "WWAA_ImageToTextFile", + "WWAA_NestedLoopCounter", + "WWAA_PromptWriter" + ], + { + "title_aux": "WWAA-CustomNodes" + } + ], "https://github.com/hhhzzyang/Comfyui_Lama": [ [ "LamaApply", @@ -16240,9 +19028,20 @@ "title_aux": "ComfyUI 3D Pose Editor" } ], + "https://github.com/hmwl/ComfyUI_zip": [ + [ + "CleanFolders", + "CompressImages", + "UnzipToInput" + ], + { + "title_aux": "ComfyUI_zip" + } + ], "https://github.com/hodanajan/optimal-crop-resolution": [ [ - "AspectRatioCalculator" + "AspectRatioCalculator", + "ResolutionMatcher" ], { "title_aux": "optimal-crop-resolution" @@ -16292,16 +19091,16 @@ "BiRefNet", "ControlImagePreprocessor", "ControlNetModelLoader", + "DiffusersMVModelMakeup", + "DiffusersMVPipelineLoader", "DiffusersMVSampler", - "DiffusersModelMakeup", - "DiffusersPipelineLoader", - "DiffusersSampler", - "DiffusersSchedulerLoader", - "DiffusersVaeLoader", + "DiffusersMVSchedulerLoader", + "DiffusersMVVaeLoader", "ImagePreprocessor", "LdmPipelineLoader", "LdmVaeLoader", - "LoraModelLoader" + "LoraModelLoader", + "ViewSelector" ], { "title_aux": "ComfyUI-MVAdapter" @@ -16381,6 +19180,22 @@ "title_aux": "OpenPose Keypoint Extractor" } ], + "https://github.com/huixingyun/ComfyUI-HX-Captioner": [ + [ + "HXOllamaCaptioner" + ], + { + "title_aux": "ComfyUI-HX-Captioner" + } + ], + "https://github.com/huixingyun/ComfyUI-HX-Pimg": [ + [ + "SaveImageWithPromptsWebsocket" + ], + { + "title_aux": "ComfyUI-HX-Pimg" + } + ], "https://github.com/hustille/ComfyUI_Fooocus_KSampler": [ [ "KSampler With Refiner (Fooocus)" @@ -16424,19 +19239,19 @@ "https://github.com/hyunamy/comfy-ui-on-complete-email-me": [ [ "OnCompleteEmailMe", + "OnCompletePlaySound", "OnCompleteWebhook" ], { "title_aux": "Comfy-UI on-complete-email-me" } ], - "https://github.com/hzane/OmniGen-ComfyUI": [ + "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor": [ [ - "OmniGenLoader", - "OmniGenNode" + "AMDGPUMonitor" ], { - "title_aux": "OmniGen-ComfyUI" + "title_aux": "AMD GPU Monitor for ComfyUI" } ], "https://github.com/iFREEGROUP/comfyui-undistort": [ @@ -16505,13 +19320,29 @@ "title_aux": "Isaac's Nodes" } ], + "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk": [ + [ + "IF_DreamTalk" + ], + { + "title_aux": "IF_Dreamtalk" + } + ], "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode": [ [ "IF_HFDownload", "IF_HFDownloadNode" ], { - "title_aux": "ComfyUI-IF_AI_HFDownloaderNode" + "title_aux": "IF_AI_HFDownloaderNode" + } + ], + "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode": [ + [ + "IF_ParlerTTS" + ], + { + "title_aux": "IF_ParlerTTSNode" } ], "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode": [ @@ -16519,7 +19350,7 @@ "IF_WhisperSpeech" ], { - "title_aux": "ComfyUI-IF_AI_WishperSpeechNode" + "title_aux": "IF_AI_WishperSpeechNode" } ], "https://github.com/if-ai/ComfyUI-IF_AI_tools": [ @@ -16539,7 +19370,46 @@ "IF_tools_LoadImagesS" ], { - "title_aux": "ComfyUI-IF_AI_tools" + "title_aux": "IF_AI_tools" + } + ], + "https://github.com/if-ai/ComfyUI-IF_DatasetMkr": [ + [ + "IF_DatasetMkr", + "IF_HyDatasetMkr" + ], + { + "title_aux": "IF_DatasetMkr" + } + ], + "https://github.com/if-ai/ComfyUI-IF_Gemini": [ + [ + "GeminiNode" + ], + { + "title_aux": "IF_Gemini" + } + ], + "https://github.com/if-ai/ComfyUI-IF_LLM": [ + [ + "IF_DisplayText", + "IF_JoinText", + "IF_LLM", + "IF_LLM_DisplayOmni", + "IF_LLM_DisplayText", + "IF_LLM_DisplayTextWildcard", + "IF_LLM_JoinText", + "IF_LLM_ListModels", + "IF_LLM_LoadImagesS", + "IF_LLM_SaveText", + "IF_LLM_TextTyper", + "IF_LoadImagesS", + "IF_TextTyper", + "IF_saveText", + "ListModelsNode" + ], + { + "title_aux": "IF_LLM" } ], "https://github.com/if-ai/ComfyUI-IF_MemoAvatar": [ @@ -16548,7 +19418,7 @@ "IF_MemoCheckpointLoader" ], { - "title_aux": "ComfyUI-IF_MemoAvatar" + "title_aux": "IF_MemoAvatar" } ], "https://github.com/if-ai/ComfyUI-IF_Trellis": [ @@ -16557,7 +19427,34 @@ "IF_TrellisImageTo3D" ], { - "title_aux": "ComfyUI-IF_Trellis" + "title_aux": "IF_Trellis" + } + ], + "https://github.com/if-ai/ComfyUI-IF_VideoPrompts": [ + [ + "VideoPromptNode" + ], + { + "title_aux": "IF_VideoPrompts" + } + ], + "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages": [ + [ + "IF_LoadImagesS" + ], + { + "title_aux": "IF_AI_LoadImages" + } + ], + "https://github.com/ifmylove2011/comfyui-missing-tool": [ + [ + "ImageQueueLoader", + "LoadImageA", + "TrimBG", + "TrimBGAdvanced" + ], + { + "title_aux": "comfyui-missing-tool" } ], "https://github.com/ihmily/ComfyUI-Light-Tool": [ @@ -16566,6 +19463,7 @@ "Light-Tool: AddBackgroundV2", "Light-Tool: BoundingBoxCropping", "Light-Tool: GetImageSize", + "Light-Tool: Hex2Rgb", "Light-Tool: ImageConcat", "Light-Tool: ImageMaskApply", "Light-Tool: ImageOverlay", @@ -16574,6 +19472,7 @@ "Light-Tool: InputTextList", "Light-Tool: InvertMask", "Light-Tool: IsTransparent", + "Light-Tool: KeyValue", "Light-Tool: LoadImage", "Light-Tool: LoadImageFromURL", "Light-Tool: LoadImagesFromDir", @@ -16581,6 +19480,7 @@ "Light-Tool: MaskContourExtractor", "Light-Tool: MaskImageToTransparent", "Light-Tool: MaskToImage", + "Light-Tool: MorphologicalTF", "Light-Tool: PhantomTankEffect", "Light-Tool: PreviewVideo", "Light-Tool: RGB2RGBA", @@ -16588,9 +19488,13 @@ "Light-Tool: ResizeImage", "Light-Tool: SaveToAliyunOSS", "Light-Tool: SaveVideo", + "Light-Tool: ScaleImage", "Light-Tool: ShowText", + "Light-Tool: SimpleImageOverlay", + "Light-Tool: SimpleTextConnect", "Light-Tool: SolidColorBackground", - "Light-Tool: TextConnect" + "Light-Tool: TextConnect", + "Light-Tool: UpscaleImage" ], { "author": "Hmily", @@ -16600,6 +19504,15 @@ "title_aux": "ComfyUI-Light-Tool" } ], + "https://github.com/illuminatianon/comfyui-csvwildcards": [ + [ + "CSVWildcardNode", + "DisplayTextNode" + ], + { + "title_aux": "CSV Wildcard Node for ComfyUI" + } + ], "https://github.com/imb101/ComfyUI-FaceSwap": [ [ "FaceSwapNode" @@ -16610,7 +19523,10 @@ ], "https://github.com/inflamously/comfyui-prompt-enhancer": [ [ - "PROMPT_ENHANCE_Simple" + "PROMPT_ENHANCER", + "PROMPT_ENHANCER_CHAIN_CONTROL", + "PROMPT_ENHANCER_CHAIN_RANDOM", + "PROMPT_ENHANCER_REPROMPT" ], { "title_aux": "comfyui-prompt-enhancer" @@ -16690,6 +19606,19 @@ "title_aux": "ComfyUI Neural Network Toolkit NNT " } ], + "https://github.com/irreveloper/ComfyUI-DSD": [ + [ + "DSDGeminiPromptEnhancer", + "DSDImageGenerator", + "DSDModelDownloader", + "DSDModelLoader", + "DSDModelSelector", + "DSDResizeSelector" + ], + { + "title_aux": "ComfyUI-DSD" + } + ], "https://github.com/iwanders/ComfyUI_nodes": [ [ "IW_JsonPickItem", @@ -16954,6 +19883,7 @@ "Evaluate Floats JK", "Evaluate Ints JK", "Evaluate Strings JK", + "Get OrbitPoses From List JK", "Get Size JK", "Guidance Default JK", "HintImageEnchance JK", @@ -16998,6 +19928,7 @@ "Image Remove Alpha JK", "Image Resize Mode JK", "Image Upscale Parameters Extract JK", + "Inject Noise Params JK", "Is Mask Empty JK", "Ksampler Parameters Default JK", "Ksampler Parameters JK", @@ -17030,6 +19961,7 @@ "Reroute String JK", "Reroute Upscale JK", "Reroute Vae JK", + "SD3 Prompts Switch JK", "SDXL Target Res JK", "SDXLPromptStylerAll", "SDXLPromptStylerHorror", @@ -17077,22 +20009,6 @@ "Save Image with Metadata JK", "Scale To Resolution JK", "Split Image Grid JK", - "Stability Conservative Upscale", - "Stability Control Sketch", - "Stability Control Structure", - "Stability Control Style", - "Stability Creative Upscale", - "Stability Erase", - "Stability Fast Upscale", - "Stability Image Core", - "Stability Image Ultra", - "Stability Inpainting", - "Stability Outpainting", - "Stability Remove Background", - "Stability Replace Background and Relight", - "Stability SD3", - "Stability Search And Recolor", - "Stability Search and Replace", "String To Combo JK", "Tiling Mode JK", "Upscale Method JK", @@ -17129,6 +20045,8 @@ "GroupInfoExtractInt", "GroupLoadBatchImages", "GroupLoadImage", + "JWAudioBlend", + "JWAudioSaveToPath", "JWDatetimeString", "JWImageBatchCount", "JWImageContrast", @@ -17158,6 +20076,7 @@ "JWInfoHashListExtractStringList", "JWInfoHashListFromRangedInfo", "JWInfoHashPrint", + "JWLoadAudio", "JWLoadImageSequence", "JWLoadImagesFromString", "JWLoopImageSequence", @@ -17203,26 +20122,26 @@ ], "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": [ [ - "ClickPopup", - "ColorPicker", - "DynamicImageCombiner", - "DynamicMaskCombiner", - "ImageLatentCreator", - "ImageResolutionAdjuster", - "ImageSizeCreator", - "ImageSwitch", - "ImageToBase64", - "LatentSwitch", - "MaskPreview", - "MaskSwitch", - "MultilineTextInput", - "RemoveEmptyLinesAndLeadingSpaces", - "RemoveEmptyLinesAndLeadingSpacesAdvance", - "ShowTextPlus", - "SimpleTextInput", - "TextCombiner", - "TextSwitch", - "WebImageLoader" + "PaintingCoder::DynamicImageCombiner", + "PaintingCoder::DynamicMaskCombiner", + "PaintingCoder::ImageLatentCreator", + "PaintingCoder::ImageLatentCreatorPlus", + "PaintingCoder::ImageResolutionAdjuster", + "PaintingCoder::ImageSizeCreator", + "PaintingCoder::ImageSizeCreatorPlus", + "PaintingCoder::ImageSwitch", + "PaintingCoder::ImageToBase64", + "PaintingCoder::LatentSwitch", + "PaintingCoder::MaskPreview", + "PaintingCoder::MaskSwitch", + "PaintingCoder::MultilineTextInput", + "PaintingCoder::OutputToTextConverter", + "PaintingCoder::RemoveEmptyLinesAndLeadingSpaces", + "PaintingCoder::ShowTextPlus", + "PaintingCoder::SimpleTextInput", + "PaintingCoder::TextCombiner", + "PaintingCoder::TextSwitch", + "PaintingCoder::WebImageLoader" ], { "title_aux": "Painting Coder Utils" @@ -17233,13 +20152,18 @@ "ComfyOnlineSaveFile", "ComfyOnlineUploadAnything", "EmbeddingLoader", + "LoadCheckpointFromCivitAI", "LoadHunyuanLoraFromCivitAI", "LoadHunyuanLoraFromComfyOnline", "LoadHunyuanLoraFromHF", "LoadLoraFromCivitAI", "LoadLoraFromComfyOnline", "LoadLoraFromHF", - "SaveAudioAsWav" + "LoadLoraFromHFWithToken", + "LoadWanVideoLoraFromCivitAI", + "LoadWanVideoLoraFromComfyOnline", + "SaveAudioAsWav", + "SaveText" ], { "title_aux": "comfyui-model-dynamic-loader" @@ -17299,6 +20223,25 @@ "title_aux": "ComfyUI_StreamDiffusion" } ], + "https://github.com/jhj0517/ComfyUI-Moondream-Gaze-Detection": [ + [ + "(Down)Load Moondream Model", + "Gaze Detection", + "Gaze Detection Video" + ], + { + "title_aux": "ComfyUI-Moondream-Gaze-Detection" + } + ], + "https://github.com/jhj0517/ComfyUI-jhj-Kokoro-Onnx": [ + [ + "(Down)Load Kokoro Model", + "Kokoro Audio Generator" + ], + { + "title_aux": "ComfyUI jhj Kokoro Onnx" + } + ], "https://github.com/jiaqianjing/ComfyUI-MidjourneyHub": [ [ "MidjourneyActionNode", @@ -17317,6 +20260,14 @@ "title_aux": "ResAdapter for ComfyUI" } ], + "https://github.com/jinanlongen/ComfyUI-Prompt-Expander": [ + [ + "PromptExpanderNode" + ], + { + "title_aux": "ComfyUI Prompt Expander Node" + } + ], "https://github.com/jitcoder/lora-info": [ [ "ImageFromURL", @@ -17494,6 +20445,15 @@ "title_aux": "JNComfy" } ], + "https://github.com/jnxmx/ComfyUI_HuggingFace_Downloader": [ + [ + "Hugging Face Download Folder", + "Hugging Face Download Model" + ], + { + "title_aux": "ComfyUI_HuggingFace_Downloader" + } + ], "https://github.com/john-mnz/ComfyUI-Inspyrenet-Rembg": [ [ "InspyrenetRembg", @@ -17525,6 +20485,22 @@ "title_aux": "ComfyUI Deepface" } ], + "https://github.com/joreyaesh/comfyui_scroll_over_textarea": [ + [ + "ScrollOverTextareaDummyNode" + ], + { + "title_aux": "ComfyUI Scroll Over Textarea" + } + ], + "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll": [ + [ + "TouchpadScrollControllerDummyNode" + ], + { + "title_aux": "ComfyUI Touchpad Scroll Controller" + } + ], "https://github.com/jroc22/ComfyUI-CSV-prompt-builder": [ [ "BuildPromptFromCSV" @@ -17576,6 +20552,15 @@ "title_aux": "ComfyUI LayerDivider" } ], + "https://github.com/juehackr/comfyui_fk_server": [ + [ + "FK_Node", + "FK_ShowBaseNode" + ], + { + "title_aux": "comfyui_fk_server" + } + ], "https://github.com/jurdnisglobby/ComfyUI-Jurdns-Groq-Node": [ [ "JurdnsGroqAPIPromptEnhancer" @@ -17592,10 +20577,16 @@ "Bjornulf_APIGenerateFlux", "Bjornulf_APIGenerateStability", "Bjornulf_AddLineNumbers", + "Bjornulf_AllLoraSelector", + "Bjornulf_AnythingToFloat", + "Bjornulf_AnythingToInt", "Bjornulf_AnythingToText", + "Bjornulf_ApiDynamicTextInputs", + "Bjornulf_AudioPreview", "Bjornulf_AudioVideoSync", "Bjornulf_CharacterDescriptionGenerator", "Bjornulf_CivitAILoraSelector", + "Bjornulf_CivitAILoraSelectorHunyuan", "Bjornulf_CivitAILoraSelectorPONY", "Bjornulf_CivitAILoraSelectorSD15", "Bjornulf_CivitAILoraSelectorSDXL", @@ -17611,26 +20602,48 @@ "Bjornulf_CombineVideoAudio", "Bjornulf_ConcatVideos", "Bjornulf_ConcatVideosFromList", + "Bjornulf_ConditionalSwitch", "Bjornulf_ConvertVideo", + "Bjornulf_DisplayNote", + "Bjornulf_EmptyVideoLatentWithSingle", + "Bjornulf_ExecuteWorkflowNode", "Bjornulf_FFmpegConfig", + "Bjornulf_FaceSettings", + "Bjornulf_FixFace", + "Bjornulf_FourImageViewer", "Bjornulf_FreeVRAM", + "Bjornulf_GlobalSeedManager", "Bjornulf_GrayscaleTransform", "Bjornulf_GreenScreenToTransparency", "Bjornulf_HiResFix", + "Bjornulf_HuggingFaceDownloader", "Bjornulf_IfElse", "Bjornulf_ImageBlend", "Bjornulf_ImageDetails", "Bjornulf_ImageMaskCutter", + "Bjornulf_ImageNote", + "Bjornulf_ImageNoteLoadImage", "Bjornulf_ImagesListToVideo", + "Bjornulf_KokoroTTS", "Bjornulf_LatentResolutionSelector", + "Bjornulf_LineSelector", "Bjornulf_ListLooper", "Bjornulf_ListLooperCharacter", "Bjornulf_ListLooperOutfitFemale", "Bjornulf_ListLooperOutfitMale", "Bjornulf_ListLooperScene", "Bjornulf_ListLooperStyle", + "Bjornulf_ListSelector", + "Bjornulf_LoadCivitAILinks", + "Bjornulf_LoadFromBase64", + "Bjornulf_LoadGlobalVariables", "Bjornulf_LoadImageWithTransparency", "Bjornulf_LoadImagesFromSelectedFolder", + "Bjornulf_LoadTensor", + "Bjornulf_LoadTextFromFolder", + "Bjornulf_LoadTextFromPath", + "Bjornulf_LoadTextPickMeGlobal", + "Bjornulf_LoaderLoraWithPath", "Bjornulf_LoopAllLines", "Bjornulf_LoopBasicBatch", "Bjornulf_LoopCombosSamplersSchedulers", @@ -17646,30 +20659,47 @@ "Bjornulf_LoopSchedulers", "Bjornulf_LoopTexts", "Bjornulf_LoopWriteText", + "Bjornulf_MathNode", "Bjornulf_MergeImagesHorizontally", "Bjornulf_MergeImagesVertically", + "Bjornulf_ModelClipVaeSelector", "Bjornulf_OllamaConfig", "Bjornulf_OllamaImageVision", "Bjornulf_OllamaSystemJobSelector", "Bjornulf_OllamaSystemPersonaSelector", "Bjornulf_OllamaTalk", + "Bjornulf_OllamaVisionPromptSelector", "Bjornulf_PassPreviewImage", "Bjornulf_PauseResume", "Bjornulf_PickInput", + "Bjornulf_PickMe", + "Bjornulf_PlayAudio", + "Bjornulf_PreviewFirstImage", + "Bjornulf_PurgeCLIPNode", + "Bjornulf_RandomFloatNode", "Bjornulf_RandomImage", + "Bjornulf_RandomIntNode", "Bjornulf_RandomLineFromInput", "Bjornulf_RandomLoraSelector", "Bjornulf_RandomModelClipVae", "Bjornulf_RandomModelSelector", "Bjornulf_RandomTexts", + "Bjornulf_ReassembleImageGrid", + "Bjornulf_RemoteTextEncodingWithCLIPs", + "Bjornulf_RemoteVAEDecoderNode", + "Bjornulf_RemoteVAEDecoderNodeTiled", "Bjornulf_RemoveTransparency", "Bjornulf_ResizeImage", "Bjornulf_ResizeImagePercentage", "Bjornulf_SaveBjornulfLobeChat", + "Bjornulf_SaveGlobalVariables", "Bjornulf_SaveImagePath", "Bjornulf_SaveImageToFolder", + "Bjornulf_SaveTensors", "Bjornulf_SaveText", + "Bjornulf_SaveTmpAudio", "Bjornulf_SaveTmpImage", + "Bjornulf_SaveTmpVideo", "Bjornulf_ScramblerCharacter", "Bjornulf_SelectImageFromList", "Bjornulf_ShowFloat", @@ -17678,6 +20708,11 @@ "Bjornulf_ShowStringText", "Bjornulf_ShowText", "Bjornulf_SpeechToText", + "Bjornulf_SplitImageGrid", + "Bjornulf_StyleSelector", + "Bjornulf_SwitchAnything", + "Bjornulf_SwitchText", + "Bjornulf_TextAnalyzer", "Bjornulf_TextGenerator", "Bjornulf_TextGeneratorCharacterCreature", "Bjornulf_TextGeneratorCharacterFemale", @@ -17688,16 +20723,27 @@ "Bjornulf_TextGeneratorOutfitMale", "Bjornulf_TextGeneratorScene", "Bjornulf_TextGeneratorStyle", + "Bjornulf_TextGeneratorText2Video", "Bjornulf_TextReplace", + "Bjornulf_TextSplitin10", + "Bjornulf_TextSplitin5", "Bjornulf_TextToAnything", "Bjornulf_TextToSpeech", "Bjornulf_TextToStringAndSeed", + "Bjornulf_TextToVariable", + "Bjornulf_ToDoList", "Bjornulf_VideoDetails", + "Bjornulf_VideoLatentResolutionSelector", "Bjornulf_VideoPingPong", "Bjornulf_VideoPreview", + "Bjornulf_VideoTextGenerator", "Bjornulf_VideoToImagesList", "Bjornulf_WriteText", "Bjornulf_WriteTextAdvanced", + "Bjornulf_WriteTextPickMe", + "Bjornulf_WriteTextPickMeChain", + "Bjornulf_WriteTextPickMeGlobal", + "Bjornulf_XTTSConfig", "Bjornulf_imagesToVideo", "Bjornulf_ollamaLoader" ], @@ -17705,6 +20751,16 @@ "title_aux": "Bjornulf_custom_nodes" } ], + "https://github.com/justin-vt/ComfyUI-brushstrokes": [ + [ + "OpenCVBrushStrokesNode", + "PILBrushStrokesNode", + "WandBrushStrokesNode" + ], + { + "title_aux": "ComfyUI-brushstrokes" + } + ], "https://github.com/k-komarov/comfyui-bunny-cdn-storage": [ [ "Save Image to BunnyStorage" @@ -17807,6 +20863,7 @@ "SDT_FasterWhisperTextFromSegments", "SDT_FasterWhisperTranscribe", "SDT_GriffinLim", + "SDT_HighpassBiquad", "SDT_JoinAudio", "SDT_KotobaWhisperListSegments", "SDT_KotobaWhisperLoaderLong", @@ -17817,19 +20874,15 @@ "SDT_LFCC", "SDT_LoadAudio", "SDT_LoadAudios", + "SDT_LowpassBiquad", "SDT_MFCC", "SDT_MakeSilenceAudio", "SDT_MelBandRoformerLoader", "SDT_MelSpectrogram", - "SDT_NemoAsrListSegments", - "SDT_NemoAsrListSubwords", "SDT_NemoAsrLoader", - "SDT_NemoAsrSegmentProperty", - "SDT_NemoAsrSubwordProperty", "SDT_NemoAsrTranscribe", "SDT_NueAsrLoader", "SDT_NueAsrTranscribe", - "SDT_PlayAudio", "SDT_PlotMelFilterBank", "SDT_PlotPitch", "SDT_PlotSpecgram", @@ -17837,7 +20890,6 @@ "SDT_PlotWaveForm", "SDT_ResampleAudio", "SDT_SaveAudio", - "SDT_SaveAudioWithSequentialNumbering", "SDT_SilenceAudio", "SDT_SileroVADApply", "SDT_SileroVADCollectChunks", @@ -17928,7 +20980,7 @@ "description": "A ComfyUI plugin for efficient image sequence processing. Features frame insertion, duplication, and removal with intuitive controls.", "nickname": "QuickSeq", "title": "Quick Image Sequence Process", - "title_aux": "Quick Image Sequence Process" + "title_aux": "ComfyUI-QuickImageSequenceProcess" } ], "https://github.com/kealiu/ComfyUI-S3-Tools": [ @@ -17957,6 +21009,19 @@ "title_aux": "ComfyUI-ZeroShot-MTrans" } ], + "https://github.com/keit0728/ComfyUI-Image-Toolkit": [ + [ + "AntialiasingImage", + "BinarizeImage", + "BinarizeImageUsingOtsu", + "BrightnessTransparency", + "GrayscaleImage", + "RemoveWhiteBackgroundNoise" + ], + { + "title_aux": "ComfyUI-Image-Toolkit" + } + ], "https://github.com/kenjiqq/qq-nodes-comfyui": [ [ "Any List", @@ -17975,6 +21040,17 @@ "title_aux": "qq-nodes-comfyui" } ], + "https://github.com/kevinmcmahondev/comfyui-kmcdev-image-filter-adjustments": [ + [ + "ImageBlankAlpha", + "ImageBlendMask", + "ImageFilterAdjustments", + "ImageMixColorByMask" + ], + { + "title_aux": "KMCDev Nodes" + } + ], "https://github.com/kevinmcmahondev/comfyui-skin-tone-detector": [ [ "SkinToneDetector" @@ -18061,6 +21137,7 @@ "CogVideoXFasterCache", "CogVideoXFunResizeToClosestBucket", "CogVideoXModelLoader", + "CogVideoXTeaCache", "CogVideoXTorchCompileSettings", "CogVideoXVAELoader", "DownloadAndLoadCogVideoControlNet", @@ -18175,15 +21252,24 @@ "FluxTrainSaveModel", "FluxTrainValidate", "FluxTrainValidationSettings", + "FluxTrainerLossConfig", "InitFluxLoRATraining", "InitFluxTraining", + "InitSD3LoRATraining", + "InitSDXLLoRATraining", "OptimizerConfig", "OptimizerConfigAdafactor", "OptimizerConfigProdigy", "OptimizerConfigProdigyPlusScheduleFree", + "SD3ModelSelect", + "SD3TrainValidationSettings", + "SDXLModelSelect", + "SDXLTrainValidate", + "SDXLTrainValidationSettings", "TrainDatasetAdd", "TrainDatasetGeneralConfig", "TrainDatasetRegularization", + "TrainNetworkConfig", "UploadToHuggingFace", "VisualizeLoss" ], @@ -18209,6 +21295,15 @@ "title_aux": "Geowizard depth and normal estimation in ComfyUI" } ], + "https://github.com/kijai/ComfyUI-HFRemoteVae": [ + [ + "HFRemoteVAE", + "HFRemoteVAEDecode" + ], + { + "title_aux": "ComfyUI-HFRemoteVae" + } + ], "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": [ [ "DownloadAndLoadHyVideoTextEncoder", @@ -18219,7 +21314,10 @@ "HyVideoDecode", "HyVideoEmptyTextEmbeds", "HyVideoEncode", + "HyVideoEncodeKeyframes", "HyVideoEnhanceAVideo", + "HyVideoGetClosestBucketSize", + "HyVideoI2VEncode", "HyVideoInverseSampler", "HyVideoLatentPreview", "HyVideoLoraBlockEdit", @@ -18230,6 +21328,7 @@ "HyVideoSTG", "HyVideoSampler", "HyVideoTeaCache", + "HyVideoTextEmbedBridge", "HyVideoTextEmbedsLoad", "HyVideoTextEmbedsSave", "HyVideoTextEncode", @@ -18260,6 +21359,8 @@ "AddLabel", "AppendInstanceDiffusionTracking", "AppendStringsToList", + "ApplyRifleXRoPE_HunuyanVideo", + "ApplyRifleXRoPE_WanVideo", "AudioConcatenate", "BOOLConstant", "BatchCLIPSeg", @@ -18298,6 +21399,7 @@ "CrossFadeImagesMulti", "CustomControlNetWeightsFluxFromList", "CustomSigmas", + "CutAndDragOnPath", "DifferentialDiffusionAdvanced", "DiffusionModelLoaderKJ", "DownloadAndLoadCLIPSeg", @@ -18318,10 +21420,13 @@ "GetImageRangeFromBatch", "GetImageSizeAndCount", "GetImagesFromBatchIndexed", + "GetLatentRangeFromBatch", "GetLatentsFromBatchIndexed", "GetMaskSizeAndCount", "GradientToFloat", "GrowMaskWithBlur", + "HunyuanVideoBlockLoraSelect", + "HunyuanVideoEncodeKeyframesToCond", "INTConstant", "ImageAddMulti", "ImageAndMaskPreview", @@ -18331,26 +21436,34 @@ "ImageConcanate", "ImageConcatFromBatch", "ImageConcatMulti", + "ImageCropByMask", "ImageCropByMaskAndResize", + "ImageCropByMaskBatch", "ImageGrabPIL", "ImageGridComposite2x2", "ImageGridComposite3x3", "ImageGridtoBatch", + "ImageNoiseAugmentation", "ImageNormalize_Neg1_To_1", "ImagePadForOutpaintMasked", "ImagePadForOutpaintTargetSize", + "ImagePadKJ", "ImagePass", + "ImagePrepForICLora", "ImageResizeKJ", + "ImageTensorList", "ImageTransformByNormalizedAmplitude", "ImageUncropByMask", "ImageUpscaleWithModelBatched", "InjectNoiseToLatent", "InsertImageBatchByIndexes", "InsertImagesToBatchIndexed", + "InsertLatentToIndexed", "InterpolateCoords", "Intrinsic_lora_sampling", "JoinStringMulti", "JoinStrings", + "LeapfusionHunyuanI2VPatcher", "LoadAndResizeImage", "LoadImagesFromFolderKJ", "LoadResAdapterNormalization", @@ -18377,11 +21490,15 @@ "SV3D_BatchSchedule", "SaveImageKJ", "SaveImageWithAlpha", + "SaveStringKJ", "ScaleBatchPromptSchedule", + "ScheduledCFGGuidance", "Screencap_mss", + "SeparateMasks", "SetShakkerLabsUnionControlNetType", "ShuffleImageBatch", "SigmasToFloat", + "SkipLayerGuidanceWanVideo", "Sleep", "SomethingToString", "SoundReactive", @@ -18392,15 +21509,23 @@ "StableZero123_BatchSchedule", "StringConstant", "StringConstantMultiline", + "StringToFloatList", "StyleModelApplyAdvanced", "Superprompt", + "TimerNodeKJ", "TorchCompileControlNet", + "TorchCompileCosmosModel", "TorchCompileLTXModel", "TorchCompileModelFluxAdvanced", + "TorchCompileModelHyVideo", + "TorchCompileModelWanVideo", "TorchCompileVAE", "TransitionImagesInBatch", "TransitionImagesMulti", + "VAELoaderKJ", "VRAM_Debug", + "WanVideoEnhanceAVideoKJ", + "WanVideoTeaCacheKJ", "WebcamCaptureCV2", "WeightScheduleConvert", "WeightScheduleExtend", @@ -18576,6 +21701,16 @@ "title_aux": "ComfyUI-SUPIR" } ], + "https://github.com/kijai/ComfyUI-StableXWrapper": [ + [ + "DifferenceExtractorNode", + "DownloadAndLoadStableXModel", + "StableXProcessImage" + ], + { + "title_aux": "ComfyUI-StableXWrapper" + } + ], "https://github.com/kijai/ComfyUI-depth-fm": [ [ "Depth_fm" @@ -18662,8 +21797,32 @@ ], "https://github.com/kk8bit/KayTool": [ [ + "AB_Images", + "AIO_Translater", + "Abc_Math", + "Baidu_Translater", "Color_Adjustment", - "Custom_Save_Image" + "Custom_Save_Image", + "Display_Any", + "Image_Composer", + "Image_Cropper", + "Image_Resizer", + "Image_Size_Extractor", + "Kay_BiRefNet_Loader", + "Load_Image_Folder", + "Mask_Blur_Plus", + "Mask_Filler", + "Preview_Mask", + "Preview_Mask_Plus", + "RemBG_Loader", + "Remove_BG", + "Slider_10", + "Slider_100", + "Slider_1000", + "Strong_Prompt", + "Tencent_Translater", + "Text", + "To_Int" ], { "title_aux": "KayTool" @@ -18673,8 +21832,12 @@ [ "AspectSelector", "FolderLoader", + "Json Extractor - klinter", "LoadImagePlus", + "LoadVideoForExtendingKlinter", "OutpaintPadding", + "PrepVideoForExtendKlinter", + "SaveAudioPlus", "SizeSelector", "SpeedRamp", "YellowBus", @@ -18776,6 +21939,15 @@ "title_aux": "comfyui-jk-easy-nodes" } ], + "https://github.com/kukuo6666/ComfyUI-Equirect": [ + [ + "CubemapToEquirect", + "EquirectToCubemap" + ], + { + "title_aux": "ComfyUI Equirectangular Tools" + } + ], "https://github.com/kunieone/ComfyUI_alkaid": [ [ "A_EmptyLatentImageLongside", @@ -18815,13 +21987,17 @@ "title_aux": "Kw_Json_Lora_CivitAIDownloader" } ], - "https://github.com/l1yongch1/ComfyUI_PhiCaption": [ + "https://github.com/l-comm/WatermarkRemoval": [ [ - "PhiInfer", - "PhiModelLoder" + "FindWatermarkNode", + "RemoveWatermarkNode" ], { - "title_aux": "ComfyUI_PhiCaption" + "author": "l-comm", + "description": "Remove watermark", + "nickname": "Watermark Removal", + "title": "Watermark Removal", + "title_aux": "WatermarkRemoval" } ], "https://github.com/l20richo/ComfyUI-Azure-Blob-Storage": [ @@ -18951,6 +22127,34 @@ "title_aux": "Google Photos Loader - by PabloGFX" } ], + "https://github.com/leeguandong/ComfyUI_1Prompt1Story": [ + [ + "GenerateStoryImage", + "PromptStoryModelLoader" + ], + { + "title_aux": "ComfyUI_1Prompt1Story" + } + ], + "https://github.com/leeguandong/ComfyUI_ChatGen": [ + [ + "ChatGenGenerate", + "ChatGenImageProcessor", + "ChatGenModelLoader" + ], + { + "title_aux": "ComfyUI_ChatGen" + } + ], + "https://github.com/leeguandong/ComfyUI_Cogview4": [ + [ + "CogView4ImageGenerator", + "CogView4ModelLoader" + ], + { + "title_aux": "ComfyUI_Cogview4" + } + ], "https://github.com/leeguandong/ComfyUI_CompareModelWeights": [ [ "CheckPointLoader_Compare", @@ -18974,6 +22178,33 @@ "title_aux": "ComfyUI nodes to use CrossImageAttention" } ], + "https://github.com/leeguandong/ComfyUI_DeepSeekVL2": [ + [ + "deepseek_vl2_inference", + "deepseek_vl2_model_loader" + ], + { + "title_aux": "ComfyUI_DeepSeekVL2" + } + ], + "https://github.com/leeguandong/ComfyUI_FluxAttentionMask": [ + [ + "AMModelLoader", + "AMSample", + "AttentionMask" + ], + { + "title_aux": "ComfyUI nodes to use AttentionMask" + } + ], + "https://github.com/leeguandong/ComfyUI_FluxClipWeight": [ + [ + "CLIPTextEncodeFluxWeight" + ], + { + "title_aux": "ComfyUI nodes to use FluxClipWeight" + } + ], "https://github.com/leeguandong/ComfyUI_FluxCustomId": [ [ "ApplyCustomIDFlux", @@ -18983,6 +22214,25 @@ "title_aux": "ComfyUI_FluxCustomId" } ], + "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse": [ + [ + "FluxTransparentI2I", + "FluxTransparentModelLoader", + "FluxTransparentT2I" + ], + { + "title_aux": "ComfyUI_FluxLayerDiffuse" + } + ], + "https://github.com/leeguandong/ComfyUI_Gemma3": [ + [ + "ApplyGemma3", + "Gemma3ModelLoader" + ], + { + "title_aux": "ComfyUI_Gemma3" + } + ], "https://github.com/leeguandong/ComfyUI_InternVL2": [ [ "DynamicPreprocess", @@ -19027,6 +22277,15 @@ "title_aux": "ComfyUI nodes to use MasaCtrl" } ], + "https://github.com/leeguandong/ComfyUI_QWQ32B": [ + [ + "QwQModelLoader", + "QwQTextGenerator" + ], + { + "title_aux": "ComfyUI_QWQ32B" + } + ], "https://github.com/leeguandong/ComfyUI_Style_Aligned": [ [ "SAControlnet_ModelLoader", @@ -19072,6 +22331,7 @@ [ "AddPaddingToImage", "ForLoopNode", + "ImageAndTextDescriptionBySeed", "ImageMetadataExtractor", "InputNode", "MetadataExtractBySeed", @@ -19112,6 +22372,14 @@ "title_aux": "ComfyUI-PC-ding-dong" } ], + "https://github.com/lgldlk/ComfyUI-PSD-Replace": [ + [ + "psd replace" + ], + { + "title_aux": "ComfyUI-PSD-Replace" + } + ], "https://github.com/liangt/comfyui-loadimagewithsubfolder": [ [ "LoadImageWithSubfolder" @@ -19132,8 +22400,10 @@ "Glow", "InOutPaint", "LenDistortion", + "OutlineExpansion", "PixelOE", "Pixelize", + "PreResize", "SaveImageWithCustomExif", "Sketch", "TiltShift" @@ -19150,6 +22420,14 @@ "title_aux": "ComfyUI-TCD-Sampler" } ], + "https://github.com/lingha0h/comfyui_kj": [ + [ + "cpm_textInput" + ], + { + "title_aux": "comfyui_kj" + } + ], "https://github.com/linshier/comfyui-remote-tools": [ [ "LoadBase64(js)", @@ -19179,6 +22457,44 @@ "title_aux": "ComfyUI-Image-Compressor" } ], + "https://github.com/liuqianhonga/ComfyUI-QHNodes": [ + [ + "BatchImageCompressor", + "CameraWatermark", + "DownloadCheckpoint", + "DownloadControlNet", + "DownloadLora", + "DownloadUNET", + "DownloadVAE", + "DynamicExpression", + "FileSave", + "Gemini", + "ImageCompressor", + "ImageCountFromFolder", + "JsonToCSV", + "JsonUnpack", + "LoadImageFromFolder", + "LoadLoraFromFolder", + "LoadPromptsFromFolder", + "PresetSizeLatent", + "SamplerSettings", + "ShowTranslateString", + "StringConverter", + "StringFormatter", + "StringList", + "StringListFromCSV", + "StringListToCSV", + "StringMatcher", + "StringTranslate", + "TemplateToImage", + "TimeFormatter", + "UnifiedPromptGenerator", + "WebpageScreenshot" + ], + { + "title_aux": "ComfyUI-QHNodes" + } + ], "https://github.com/liuqianhonga/ComfyUI-String-Helper": [ [ "JsonToCSV", @@ -19295,6 +22611,18 @@ "title_aux": "ComfyUI AnyNode: Any Node you ask for" } ], + "https://github.com/lldacing/ComfyUI_BEN_ll": [ + [ + "BlurFusionForegroundEstimation", + "GetMaskByBen", + "LoadRembgByBenModel", + "RembgByBen", + "RembgByBenAdvanced" + ], + { + "title_aux": "ComfyUI_BEN_ll" + } + ], "https://github.com/lldacing/ComfyUI_BiRefNet_ll": [ [ "AutoDownloadBiRefNetModel", @@ -19308,6 +22636,34 @@ "title_aux": "ComfyUI_BiRefNet_ll" } ], + "https://github.com/lldacing/ComfyUI_Patches_ll": [ + [ + "ApplyFirstBlockCachePatch", + "ApplyFirstBlockCachePatchAdvanced", + "ApplyTeaCachePatch", + "ApplyTeaCachePatchAdvanced", + "DitForwardOverrider", + "FluxForwardOverrider", + "VideoForwardOverrider" + ], + { + "title_aux": "ComfyUI_Patches_ll" + } + ], + "https://github.com/lldacing/ComfyUI_PuLID_Flux_ll": [ + [ + "ApplyPulidFlux", + "FixPulidFluxPatch", + "PulidFluxEvaClipLoader", + "PulidFluxFaceDetector", + "PulidFluxInsightFaceLoader", + "PulidFluxModelLoader", + "PulidFluxOptions" + ], + { + "title_aux": "ComfyUI_PuLID_Flux_ll" + } + ], "https://github.com/lldacing/ComfyUI_StableDelight_ll": [ [ "ApplyStableDelight", @@ -19347,6 +22703,7 @@ "ForEachOpen", "GetImageBatchSize", "GetValueFromJsonObj", + "IfElseForEmptyObject", "ImageEqual", "ImageToBase64", "ImageToBase64Advanced", @@ -19410,18 +22767,6 @@ "title_aux": "Comfyui_three_js" } ], - "https://github.com/lodestone-rock/ComfyUI_FluxMod": [ - [ - "FluxModCheckpointLoader", - "FluxModCheckpointLoaderMini", - "FluxModSamplerWrapper", - "KSamplerMod", - "SkipLayerForward" - ], - { - "title_aux": "ComfyUI_FluxMod" - } - ], "https://github.com/logtd/ComfyUI-4DHumans": [ [ "LoadDetectron", @@ -19518,27 +22863,6 @@ "title_aux": "ComfyUI-InversedNoise" } ], - "https://github.com/logtd/ComfyUI-LTXTricks": [ - [ - "AddLatentGuide", - "LTXAttentioOverride", - "LTXAttentionBank", - "LTXAttnOverride", - "LTXFetaEnhance", - "LTXFlowEditCFGGuider", - "LTXFlowEditSampler", - "LTXForwardModelSamplingPred", - "LTXPerturbedAttention", - "LTXPrepareAttnInjections", - "LTXRFForwardODESampler", - "LTXRFReverseODESampler", - "LTXReverseModelSamplingPred", - "ModifyLTXModel" - ], - { - "title_aux": "ComfyUI-LTXTricks" - } - ], "https://github.com/logtd/ComfyUI-MochiEdit": [ [ "MochiPrepareSigmas", @@ -19661,6 +22985,7 @@ "Enhanced Random Light Source", "Float Relay", "HLFrequencyDetailRestore", + "Hex to Color", "Image Add Alpha", "Image Frequency Analyzer", "Image Relay", @@ -19803,6 +23128,14 @@ "title_aux": "Comfyui Kolors Utils" } ], + "https://github.com/lrzjason/Comfyui-ThinkRemover": [ + [ + "ThinkRemover" + ], + { + "title_aux": "Comfyui-ThinkRemover" + } + ], "https://github.com/ltdrdata/ComfyUI-Impact-Pack": [ [ "AddMask", @@ -19903,9 +23236,11 @@ "ImpactRemoteInt", "ImpactSEGSClassify", "ImpactSEGSConcat", + "ImpactSEGSIntersectionFilter", "ImpactSEGSLabelAssign", "ImpactSEGSLabelFilter", "ImpactSEGSMerge", + "ImpactSEGSNMSFilter", "ImpactSEGSOrderedFilter", "ImpactSEGSPicker", "ImpactSEGSRangeFilter", @@ -20076,6 +23411,7 @@ "LeRes_DepthMap_Preprocessor_Provider_for_SEGS //Inspire", "LineArt_Preprocessor_Provider_for_SEGS //Inspire", "ListCounter //Inspire", + "LoadDiffusionModelShared //Inspire", "LoadImage //Inspire", "LoadImageListFromDir //Inspire", "LoadImagesFromDir //Inspire", @@ -20083,6 +23419,7 @@ "LoadPromptsFromDir //Inspire", "LoadPromptsFromFile //Inspire", "LoadSinglePromptFromFile //Inspire", + "LoadTextEncoderShared //Inspire", "LoraBlockInfo //Inspire", "LoraLoaderBlockWeight //Inspire", "MakeBasicPipe //Inspire", @@ -20140,16 +23477,41 @@ "title_aux": "ComfyUI Inspire Pack" } ], + "https://github.com/ltdrdata/comfyui-connection-helper": [ + [], + { + "author": "Dr.Lt.Data", + "description": "Helper", + "nickname": "Connection Helper", + "nodename_pattern": "Inspire$", + "title": "ComfyUI Connection Helper", + "title_aux": "ComfyUI Connection Helper" + } + ], + "https://github.com/lthero-big/ComfyUI-GaussianShadingWatermark": [ + [ + "DPR_Extractor", + "DPR_GS_Latent", + "DPR_KSamplerAdvanced", + "DPR_Latent" + ], + { + "title_aux": "ComfyUI-GaussianShadingWatermark" + } + ], "https://github.com/luandev/ComfyUI-CrewAI": [ [ + "DisplayText", "\ud83d\udcceCrewAI Agent", "\ud83d\udcceCrewAI Agent List", "\ud83d\udcceCrewAI Crew", "\ud83d\udcceCrewAI LLM Chat GPT", "\ud83d\udcceCrewAI LLM Hugging Face", + "\ud83d\udcceCrewAI LLM Ollama", "\ud83d\udcceCrewAI LLM OpenAI", "\ud83d\udcceCrewAI Task", - "\ud83d\udcceCrewAI Task List" + "\ud83d\udcceCrewAI Task List", + "\ud83d\udcceCrewAI Text" ], { "title_aux": "ComfyUI CrewAI" @@ -20264,6 +23626,19 @@ "title_aux": "ComfyUI-CatvtonFluxWrapper" } ], + "https://github.com/lum3on/comfyui_LLM_Polymath": [ + [ + "ConceptEraserNode", + "polymath_SaveAbsolute", + "polymath_chat", + "polymath_concept_eraser", + "polymath_helper", + "polymath_scraper" + ], + { + "title_aux": "LLM Polymath Chat Node" + } + ], "https://github.com/lumalabs/ComfyUI-LumaAI-API": [ [ "CharacterReference", @@ -20277,6 +23652,7 @@ "LumaModifyImage", "LumaPreviewVideo", "LumaText2Video", + "Ray2Text2Video", "Reference" ], { @@ -20285,8 +23661,10 @@ ], "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": [ [ - "Custom Date Format | sokes \ud83e\uddac", - "Latent Switch x9 | sokes \ud83e\uddac" + "Current Date | sokes \ud83e\uddac", + "Latent Switch x9 | sokes \ud83e\uddac", + "Load Random Image | sokes \ud83e\uddac", + "Replace Text with RegEx | sokes \ud83e\uddac" ], { "title_aux": "ComfyUI Sokes Nodes" @@ -20308,6 +23686,14 @@ "title_aux": "Diffusers-in-ComfyUI" } ], + "https://github.com/magekinnarus/ComfyUI-V-Prediction-Node": [ + [ + "AddParam" + ], + { + "title_aux": "ComfyUI-V-Prediction-Node" + } + ], "https://github.com/magic-quill/ComfyUI_MagicQuill": [ [ "MagicQuill" @@ -20320,6 +23706,35 @@ "title_aux": "ComfyUI_MagicQuill" } ], + "https://github.com/mang01010/MangoNodePack": [ + [ + "CompositeMangoLoader", + "FluxGuidanceMango", + "FluxSamplerMango", + "ImageSaverMango", + "KSamplerMango", + "LatentImageMango", + "MangoLoader", + "MangoTriggerExporter", + "PromptEmbedMango", + "PromptMango" + ], + { + "title_aux": "Mango Node Pack" + } + ], + "https://github.com/mango-rgb/ComfyUI-Mango-Random-node": [ + [ + "RandomFilePathNode", + "RandomImageNode", + "RandomImagePathNode", + "RandomTextNode", + "RandomVideoPathNode" + ], + { + "title_aux": "ComfyUI-Mango-Random" + } + ], "https://github.com/mape/ComfyUI-mape-Helpers": [ [ "mape Variable" @@ -20340,6 +23755,14 @@ "title_aux": "ComfyUI-SubjectStyle-CSV" } ], + "https://github.com/marawan206/ComfyUI-FaceCropper": [ + [ + "NodoFaceCropping" + ], + { + "title_aux": "Face Cropper Node (2:3 Ratio)" + } + ], "https://github.com/marcoc2/ComfyUI-AnotherUtils": [ [ "CustomCrop", @@ -20352,6 +23775,14 @@ "title_aux": "Image Processing Suite for ComfyUI" } ], + "https://github.com/marcoc2/ComfyUI_CogView4-6B_diffusers": [ + [ + "CogView4Generator" + ], + { + "title_aux": "ComfyUI-Cog" + } + ], "https://github.com/marduk191/ComfyUI-Fluxpromptenhancer": [ [ "FluxPromptEnhance" @@ -20394,6 +23825,24 @@ "title_aux": "ComfyUI Flux Prompt Saver" } ], + "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot": [ + [ + "VideoXYPlotSampler" + ], + { + "title_aux": "Video XY Plot" + } + ], + "https://github.com/markuryy/ComfyUI-SuperLoader": [ + [ + "Display String", + "Display String Multiline", + "LoRA Metadata" + ], + { + "title_aux": "Super Loader" + } + ], "https://github.com/martijnat/comfyui-previewlatent": [ [ "PreviewLatent", @@ -20481,6 +23930,24 @@ "title_aux": "Dynamic Thresholding" } ], + "https://github.com/meanin2/comfyui-MGnodes": [ + [ + "ImageWatermarkNode", + "TextExtractorNode" + ], + { + "title_aux": "ComfyUI Image Watermarking Node" + } + ], + "https://github.com/meanin2/comfyui-watermarking": [ + [ + "ImageWatermarkNode", + "TextExtractorNode" + ], + { + "title_aux": "ComfyUI Watermark Image Node" + } + ], "https://github.com/meap158/ComfyUI-Background-Replacement": [ [ "BackgroundReplacement", @@ -20515,6 +23982,24 @@ "title_aux": "ComfyUI Checkpoint Automatic Config" } ], + "https://github.com/mediocreatmybest/ComfyUI-Transformers-Pipeline": [ + [ + "BatchProcessorTpl", + "CaptionExportTpl", + "CaptionGeneratorTpl", + "DebugModelNodeTpl", + "DebugNodeTpl", + "ExifMetadataExtractorTpl", + "Florence2NodeTpl", + "ImageLoaderTpl", + "ModelLoaderTpl", + "PresetModelListTpl", + "TaskListTpl" + ], + { + "title_aux": "ComfyUI-Transformers-Pipeline" + } + ], "https://github.com/melMass/comfy_mtb": [ [ "Animation Builder (mtb)", @@ -20583,6 +24068,16 @@ "title_aux": "MTB Nodes" } ], + "https://github.com/melMass/comfy_oiio": [ + [ + "OIIO_ColorspaceConvert", + "OIIO_LoadImage", + "OIIO_SaveImage" + ], + { + "title_aux": "comfy-oiio" + } + ], "https://github.com/mephisto83/petty-paint-comfyui-node": [ [ "ConvertWhiteToAlpha", @@ -20679,6 +24174,15 @@ "title_aux": "Human Parts Detector" } ], + "https://github.com/metal3d/ComfyUI_M3D_photo_effects": [ + [ + "Bleach Bypass", + "RGB Curve" + ], + { + "title_aux": "M3D photo effects" + } + ], "https://github.com/metncelik/comfyui_met_suite": [ [ "BBOXPadding", @@ -20693,7 +24197,6 @@ ], "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext": [ [ - "Add zSNR Sigma max", "ConcatSigmas", "CosineScheduler", "GaussianScheduler", @@ -20701,7 +24204,8 @@ "LogNormal Scheduler", "OffsetSigmas", "PerpNegScheduledCFGGuider", - "ScheduledCFGGuider" + "ScheduledCFGGuider", + "SplitSigmasByValue" ], { "title_aux": "ComfyUI-ScheduledGuider-Ext" @@ -20860,7 +24364,7 @@ "SingleBooleanTrigger", "SixBooleanTrigger", "StepsAndCfg", - "TextBox", + "TextBoxMira", "TextCombinerSix", "TextCombinerTwo", "TextLoopCombiner", @@ -20870,7 +24374,11 @@ "TextWithBooleanSwitchAndCommonTextInput", "TwoBooleanTrigger", "TwoFloats", - "UpscaleImageByModelThenResize" + "UpscaleImageByModelThenResize", + "illustrious_character_select", + "illustrious_character_select_en", + "llm_prompt_gen_node", + "local_llm_prompt_gen" ], { "title_aux": "ComfyUI_Mira" @@ -20894,30 +24402,15 @@ "title_aux": "MLTask_ComfyUI" } ], - "https://github.com/mithamunda/ComfyUI-SD3.5-Latent-Size-Picker": [ + "https://github.com/mit-han-lab/ComfyUI-nunchaku": [ [ - "SD3_5EmptyLatent" + "SVDQuantDepthPreprocessor", + "SVDQuantFluxDiTLoader", + "SVDQuantFluxLoraLoader", + "SVDQuantTextEncoderLoader" ], { - "title_aux": "SD3.5 Empty Latent Size Picker" - } - ], - "https://github.com/mithamunda/ComfyUI-TogetherVision": [ - [ - "Together Image \ud83c\udfa8", - "Together Vision \ud83d\udd0d", - "TogetherVisionNode" - ], - { - "title_aux": "Together Vision Node" - } - ], - "https://github.com/mithamunda/ComfyUI-ollama_killer": [ - [ - "OllamaKiller" - ], - { - "title_aux": "OllamaKiller Node for ComfyUI" + "title_aux": "ComfyUI-nunchaku" } ], "https://github.com/mittimi/ComfyUI_mittimiLoadPreset2": [ @@ -20977,6 +24470,23 @@ "title_aux": "Preset Dimensions" } ], + "https://github.com/mohseni-mr/ComfyUI-Mohseni-Kit": [ + [ + "FloatPreview" + ], + { + "title_aux": "ComfyUI Mohseni Kit" + } + ], + "https://github.com/moon7star9/ComfyUI_BiRefNet_Universal": [ + [ + "BiRefNet_Loader", + "BiRefNet_Remove_Background" + ], + { + "title_aux": "ComfyUI_BiRefNet_Universal" + } + ], "https://github.com/morino-kumasan/comfyui-toml-prompt": [ [ "IntSelector", @@ -21014,6 +24524,16 @@ "title_aux": "ComfyUI_Seamless_Patten" } ], + "https://github.com/mr7thing/circle_pattern_processor": [ + [ + "CirclePatternProcessor", + "CirclePatternSVGExporter", + "ImageBinarizer" + ], + { + "title_aux": "Circle Pattern Processor for ComfyUI" + } + ], "https://github.com/mrchipset/ComfyUI-SaveImageS3": [ [ "SaveImageS3" @@ -21331,8 +24851,10 @@ ], "https://github.com/neverbiasu/ComfyUI-Dashscope": [ [ + "DashscopeEmoCaller", "DashscopeLLMLoader", "DashscopeModelCaller", + "DashscopeOCRCaller", "DashscopeVLMLoader" ], { @@ -21367,6 +24889,14 @@ "title_aux": "ComfyUI-StyleShot" } ], + "https://github.com/ngosset/ComfyUI-ImageSimilarity": [ + [ + "Image Similarity" + ], + { + "title_aux": "ImageSimilarity" + } + ], "https://github.com/nicehero/comfyui-SegGPT": [ [ "SegGPT" @@ -21398,11 +24928,20 @@ "F5TTSAudioInputs" ], { - "title_aux": "ComfyUI-F5-TTS" + "title_aux": "ComfyUI F5-TTS" + } + ], + "https://github.com/niknah/ComfyUI-Hunyuan-3D-2": [ + [ + "Hunyuan3D2ImageTo3D" + ], + { + "title_aux": "ComfyUI Hunyuan-3D-2" } ], "https://github.com/nilor-corp/nilor-nodes": [ [ + "Nilor Categorize String", "Nilor Count Images In Directory", "Nilor Int To List Of Bools", "Nilor Interpolated Float List", @@ -21410,6 +24949,7 @@ "Nilor List of Ints", "Nilor One Minus Float List", "Nilor Output Filename String", + "Nilor Random String", "Nilor Remap Float List", "Nilor Repeat & Trim Image Batch", "Nilor Repeat, Shuffle, & Trim Image Batch", @@ -21452,6 +24992,23 @@ "title_aux": "ComfyUI_pytorch_openpose" } ], + "https://github.com/nisimjoseph/ComfyUI_OpenAI-Prompter": [ + [ + "OpenAI Prompt Generator" + ], + { + "title_aux": "ComfyUI OpenAI Prompter" + } + ], + "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz": [ + [ + "DanbooruPromptComparison", + "DanbooruPromptQuiz" + ], + { + "title_aux": "ComfyUI-DanbooruPromptQuiz" + } + ], "https://github.com/nkchocoai/ComfyUI-Dart": [ [ "DanbooruTagsTransformerBanTagsFromRegex", @@ -21529,23 +25086,6 @@ "title_aux": "ComfyUI-TextOnSegs" } ], - "https://github.com/nmlen/comfyui-mosaic-blur": [ - [ - "ImageMosaic" - ], - { - "title_aux": "comfyui-mosaic-blur" - } - ], - "https://github.com/noarche/sd-webui-color-enhance": [ - [ - "MMakerColorBlend", - "MMakerColorEnhance" - ], - { - "title_aux": "noarche/Color Enhance" - } - ], "https://github.com/noembryo/ComfyUI-noEmbryo": [ [ "PromptTermList1", @@ -21563,24 +25103,60 @@ "title_aux": "noEmbryo nodes" } ], + "https://github.com/nofunstudio/Node_Fun_ComfyUI": [ + [ + "DynamicQueueCounter", + "IframeView", + "IndexedStringSelector", + "LayeredInfiniteZoom", + "Replicate flux 1.1 pro ultra", + "ReplicateAPI_flux_1_1_pro_ultra", + "ReplicateAPI_flux_fill_pro" + ], + { + "title_aux": "Node_Fun_ComfyUI" + } + ], "https://github.com/nosiu/comfyui-instantId-faceswap": [ [ "AngleFromFace", + "AngleFromKps", "ComposeRotated", "ControlNetInstantIdApply", "FaceEmbed", "FaceEmbedCombine", "InstantIdAdapterApply", "InstantIdAndControlnetApply", + "Kps2dRandomizer", + "Kps3dFromImage", + "Kps3dRandomizer", + "KpsCrop", + "KpsDraw", "KpsMaker", + "KpsRotate", + "KpsScale", + "KpsScaleBy", "LoadInsightface", "LoadInstantIdAdapter", + "MaskFromKps", "PreprocessImage", "PreprocessImageAdvanced", "RotateImage" ], { - "title_aux": "ComfyUI InstantID Faceswapper" + "title_aux": "comfyui-instantId-faceswap" + } + ], + "https://github.com/nosiu/comfyui-text-randomizer": [ + [ + "ConcatText", + "RandomTextChoice", + "RandomizeText", + "RandomizeTextWithCheck", + "ShowText" + ], + { + "title_aux": "comfyui-text-randomizer" } ], "https://github.com/noxinias/ComfyUI_NoxinNodes": [ @@ -21709,6 +25285,7 @@ ], "https://github.com/olduvai-jp/ComfyUI-HfLoader": [ [ + "ControlNet Loader From HF", "Lora Loader From HF" ], { @@ -21796,6 +25373,22 @@ "title_aux": "Comfy UI Text List Product" } ], + "https://github.com/orange90/ComfyUI-Regex-Runner": [ + [ + "RegexNode" + ], + { + "title_aux": " ComfyUI-Regex-Runner" + } + ], + "https://github.com/orssorbit/ComfyUI-wanBlockswap": [ + [ + "wanBlockSwap" + ], + { + "title_aux": "ComfyUI-wanBlockswap" + } + ], "https://github.com/osi1880vr/prompt_quill_comfyui": [ [ "PromptQuillGenerate", @@ -21807,6 +25400,17 @@ "title_aux": "ComfyUI_Prompt-Quill" } ], + "https://github.com/ostris/ComfyUI-FlexTools": [ + [ + "FlexGuidance", + "FlexLoraLoader", + "FlexLoraLoaderModelOnly" + ], + { + "nodename_pattern": "- Ostris$", + "title_aux": "Flex.1 tools" + } + ], "https://github.com/ostris/ostris_nodes_comfyui": [ [ "LLM Pipe Loader - Ostris", @@ -21827,6 +25431,15 @@ "title_aux": "ComfyUI-ownimage" } ], + "https://github.com/oxysoft/ComfyUI-gowiththeflow": [ + [ + "KSamplerNoiseless", + "NoiseWarperNode" + ], + { + "title_aux": "ComfyUI-gowiththeflow" + } + ], "https://github.com/oyvindg/ComfyUI-TrollSuite": [ [ "BinaryImageMask", @@ -21871,6 +25484,7 @@ "ConditioningZeroOutCombine", "ConvertTimestepToSigma", "DynSamplerSelect", + "DynamicThresholdingPost", "DynamicThresholdingSimplePost", "EmptyLatentImageAR", "FreeU2PPM", @@ -21878,7 +25492,9 @@ "LatentOperationTonemapLuminance", "LatentToMaskBB", "LatentToWidthHeight", + "MaskCompositePPM", "PPMSamplerSelect", + "RenormCFGPost", "RescaleCFGPost" ], { @@ -21924,6 +25540,14 @@ "title_aux": "pants" } ], + "https://github.com/pathway8-sudo/ComfyUI-Pathway-CutPNG-Node": [ + [ + "CutPNGNode" + ], + { + "title_aux": "ComfyUI-Pathway-CutPNG-Node" + } + ], "https://github.com/patriciogonzalezvivo/comfyui_glslnodes": [ [ "float", @@ -21966,6 +25590,18 @@ "title_aux": "ComfyUI-LyraVSIH" } ], + "https://github.com/penposs/ComfyUI_Gemini_Pro": [ + [ + "Gemini File Processing", + "Gemini File Upload", + "Gemini Pro", + "Gemini-Pro-Chat", + "Gemini-Pro-Editimage" + ], + { + "title_aux": "ComfyUI Gemini Pro Node" + } + ], "https://github.com/pharmapsychotic/comfy-cliption": [ [ "CLIPtionBeamSearch", @@ -21985,6 +25621,14 @@ "title_aux": "Prompt Stash Saver Node for ComfyUI" } ], + "https://github.com/philiprodriguez/ComfyUI-HunyuanImageLatentToVideoLatent": [ + [ + "HunyuanImageLatentToVideoLatent" + ], + { + "title_aux": "ComfyUI-HunyuanImageLatentToVideoLatent" + } + ], "https://github.com/philz1337x/ComfyUI-ClarityAI": [ [ "Clarity AI Upscaler" @@ -22048,6 +25692,14 @@ "title_aux": "ComfyUI_PRNodes" } ], + "https://github.com/pixelworldai/ComfyUI-AlphaFlatten": [ + [ + "FlattenByAlpha" + ], + { + "title_aux": "ComfyUI-AlphaFlatten" + } + ], "https://github.com/pkpkTech/ComfyUI-SaveAVIF": [ [ "SaveAvif" @@ -22072,6 +25724,7 @@ "Depth Pass Sequence", "Mask Pass Sequence", "Outline Pass Sequence", + "Playbook Aspect Ratio Select", "Playbook Beauty", "Playbook Beauty Sequence", "Playbook Boolean", @@ -22079,12 +25732,15 @@ "Playbook Depth Sequence", "Playbook Float", "Playbook Image", + "Playbook LoRA Select", + "Playbook LoRA Selection", "Playbook Mask", "Playbook Mask Sequence", "Playbook Number", "Playbook Outline", "Playbook Outline Sequence", "Playbook Render Result", + "Playbook Seed", "Playbook Text", "Playbook Video" ], @@ -22107,9 +25763,19 @@ "title_aux": "CRT-Nodes" } ], + "https://github.com/pollockjj/ComfyUI-MultiGPU": [ + [ + "DeviceSelectorMultiGPU", + "HunyuanVideoEmbeddingsAdapter" + ], + { + "title_aux": "ComfyUI-MultiGPU" + } + ], "https://github.com/portu-sim/comfyui_bmab": [ [ "BMAB Alpha Composit", + "BMAB Base64 Image", "BMAB Basic", "BMAB Black And White", "BMAB Blend", @@ -22125,12 +25791,14 @@ "BMAB Detect And Paste", "BMAB Detection Crop", "BMAB Detector", + "BMAB Dummy", "BMAB Edge", "BMAB Extractor", "BMAB Face Detailer", "BMAB Flux ControlNet", "BMAB Flux Integrator", "BMAB Google Gemini Prompt", + "BMAB Image Storage", "BMAB Import Integrator", "BMAB Inpaint", "BMAB Integrator", @@ -22145,6 +25813,7 @@ "BMAB Masks To Images", "BMAB Model To Bind", "BMAB Noise Generator", + "BMAB Normalize Size", "BMAB Openpose Hand Detailer", "BMAB Outpaint By Ratio", "BMAB Person Detailer", @@ -22232,7 +25901,7 @@ "OverrideLoadedDiffusionDevice" ], { - "title_aux": "Embedding Merge for ComfyUI" + "title_aux": "ComfyUI-Load-Diffusion-Model-to-Muti-GPUs" } ], "https://github.com/purpen/ComfyUI-AIRedoon": [ @@ -22261,6 +25930,28 @@ "title_aux": "ComfyUI-ImageTagger" } ], + "https://github.com/pxl-pshr/GlitchNodes": [ + [ + "Corruptor", + "DataBend", + "FrequencyModulation", + "GlitchIT", + "LineScreen", + "LuminousFlow", + "PixelFloat", + "PixelRedistribution", + "Rekked", + "Scanz", + "TvGlitch", + "VHSonAcid", + "VaporWave", + "VideoModulation", + "interference" + ], + { + "title_aux": "GlitchNodes" + } + ], "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": [ [ "CheckpointLoader|pysssss", @@ -22307,6 +25998,32 @@ "title_aux": "queuetools" } ], + "https://github.com/r3dial/redial-discomphy": [ + [ + "DiscordMessage" + ], + { + "title_aux": "Redial Discomphy - Discord Integration for ComfyUI" + } + ], + "https://github.com/r3dsd/comfyui-template-loader": [ + [ + "TemplateLoader" + ], + { + "title_aux": "Comfyui-Template-Loader" + } + ], + "https://github.com/raindrop313/ComfyUI_SD3_Flowedit": [ + [ + "FlowEditCFGGuider", + "FlowEditSampler", + "OutSD3ModelSamplingPred" + ], + { + "title_aux": "ComfyUI_SD3_Flowedit" + } + ], "https://github.com/ramesh-x90/ComfyUI_pyannote": [ [ "Speaker Diarization", @@ -22442,10 +26159,13 @@ "https://github.com/recraft-ai/ComfyUI-RecraftAI": [ [ "RecraftBackgroundRemover", + "RecraftBackgroundReplacer", "RecraftClarityUpscaler", "RecraftClient", "RecraftGenerativeUpscaler", - "RecraftImageGenerator" + "RecraftImageGenerator", + "RecraftImageToImageTransformer", + "RecraftInpainter" ], { "title_aux": "ComfyUI-RecraftAI" @@ -22617,6 +26337,15 @@ "title_aux": "ComfyUI-Similarity-Score" } ], + "https://github.com/risunobushi/ComfyUI_DisplacementMapTools": [ + [ + "DisplaceLogo", + "ExtractDisplacementMap" + ], + { + "title_aux": "ComfyUI_DisplacementMapTools" + } + ], "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": [ [ "FrequencyCombination", @@ -22720,6 +26449,14 @@ "title_aux": "ComfyUIFlexiLoRALoader" } ], + "https://github.com/roundyyy/ComfyUI-mesh-simplifier": [ + [ + "MeshSimplifierNode" + ], + { + "title_aux": "Mesh Simplifier for ComfyUI" + } + ], "https://github.com/royceschultz/ComfyUI-Notifications": [ [ "Notif-PlaySound", @@ -22864,25 +26601,47 @@ "title_aux": "ComfyUI-EfficientTAM" } ], - "https://github.com/ryanontheinside/ComfyUI_RealTimeNodes": [ + "https://github.com/ryanontheinside/ComfyUI_ProfilerX": [ + [ + "CATEGORY", + "ExecutionTracker", + "FUNCTION", + "INPUT_TYPES", + "OUTPUT_NODE", + "ProfilerX", + "RETURN_TYPES" + ], + { + "title_aux": "ComfyUI_ProfilerX" + } + ], + "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes": [ [ "DTypeConverter", - "DeltaControl", "FPSMonitor", "FastWebcamCapture", "FloatControl", "FloatSequence", + "HandMaskNode", + "HandTrackingNode", "IntControl", "IntSequence", "IntegerMotionController", - "IntervalControl", + "LazyCondition", + "LoadImageFromPath_", "MotionController", + "MultilineText", "QuickShapeMask", "ROINode", + "RepulsiveMaskNode", + "ResizeMaskNode", + "SimilarityFilter", + "StateResetNode", + "StateTestNode", "StringControl", "StringSequence", - "TAESDVaeDecode", - "TAESDVaeEncode" + "TextRenderer", + "YOLOSimilarityCompare" ], { "title_aux": "Nodes for use with real-time applications of ComfyUI" @@ -22890,15 +26649,13 @@ ], "https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside": [ [ + "AdvancedLuminanceMask", "AreaFeatureNode", "AudioChannelMerge", "AudioChannelSplit", - "AudioCombine", - "AudioConcatenate", "AudioDither", "AudioFade", "AudioFeatureExtractor", - "AudioFeatureExtractorFirst", "AudioFeatureVisualizer", "AudioFilter", "AudioGain", @@ -22906,13 +26663,16 @@ "AudioPad", "AudioPitchShift", "AudioResample", - "AudioSeparator", "AudioSeparatorSimple", "AudioSubtract", "AudioTimeStretch", "AudioVolumeNormalization", + "Audio_Combine", + "Audio_Concatenate", "BrightnessFeatureNode", "ColorFeatureNode", + "Color_Picker", + "ContextModifier", "DepthBlender", "DepthFeatureNode", "DepthInjection", @@ -22920,9 +26680,10 @@ "DepthRippleEffect", "DepthShapeModifier", "DepthShapeModifierPrecise", - "Doom", + "Doom_", "DownloadCREPEModel", "DownloadOpenUnmixModel", + "DrawableFeatureNode", "DyeImage", "EffectVisualizer", "EmbeddingGuidedLatentInterpolate", @@ -22935,21 +26696,31 @@ "FeatureCombine", "FeatureContiguousInterpolate", "FeatureFade", + "FeatureInfoNode", + "FeatureInterpolator", "FeatureMath", "FeatureMixer", "FeatureOscillator", + "FeaturePeakDetector", "FeatureRebase", "FeatureRenormalize", "FeatureScaler", "FeatureSmoothing", + "FeatureToFlexFloatParam", + "FeatureToFlexIntParam", "FeatureToFloat", + "FeatureToLatentKeyframe", + "FeatureToMask", "FeatureToSplineData", + "FeatureToTimestepKeyframe", "FeatureToWeightsStrategy", "FeatureTruncateOrExtend", "FlexAudioPitchShift", "FlexAudioTimeStretch", "FlexAudioVisualizerCircular", + "FlexAudioVisualizerContour", "FlexAudioVisualizerLine", + "FlexFeatureAttentionControl", "FlexImageBloom", "FlexImageChromaticAberration", "FlexImageColorGrade", @@ -22986,6 +26757,7 @@ "FlexVideoFrameBlend", "FlexVideoSeek", "FlexVideoSpeed", + "FloatFeatureNode", "FrequencyFilterCustom", "FrequencyFilterPreset", "FrequencyRange", @@ -22996,7 +26768,7 @@ "ImageInterval", "ImageIntervalSelectPercentage", "ImageScaleToTarget", - "ImageShuffle", + "Image_Shuffle", "LatentFrequencyBlender", "LocationFromMask", "LocationFromPoint", @@ -23005,6 +26777,7 @@ "ManualFeatureFromPipe", "ManualFeatureNode", "ManualFeaturePipe", + "ManualWhisperAlignmentData", "MaskCompositePlus", "MaskMath", "MaskMorph", @@ -23038,8 +26811,14 @@ "SwapDevice", "TextMaskNode", "TimeFeatureNode", + "TranslucentComposite", + "TriggerBuilder", "VideoChunk", "Vortex", + "WhisperAutoAdjust", + "WhisperFeature", + "WhisperTextRenderer", + "WhisperTimeAdjuster", "WhisperToPromptTravel", "_mfc" ], @@ -23047,6 +26826,15 @@ "title_aux": "RyanOnTheInside" } ], + "https://github.com/ryanontheinside/ComfyUI_SuperResolution": [ + [ + "SuperResolutionModelLoader", + "SuperResolutionUpscale" + ], + { + "title_aux": "ComfyUI_SuperResolution" + } + ], "https://github.com/saftle/uber_comfy_nodes": [ [ "ControlNet Selector", @@ -23061,12 +26849,35 @@ ], "https://github.com/sakura1bgx/ComfyUI_FlipStreamViewer": [ [ - "FlipStreamLoader", - "FlipStreamOption", - "FlipStreamPrompt", + "FlipStreamBatchPrompt", + "FlipStreamFileSelect_AnimateDiffModel", + "FlipStreamFileSelect_Checkpoints", + "FlipStreamFileSelect_ControlNetModel", + "FlipStreamFileSelect_Input", + "FlipStreamFileSelect_Output", + "FlipStreamFileSelect_TensorRT", + "FlipStreamFileSelect_VAE", + "FlipStreamFilmVfi", + "FlipStreamGate", + "FlipStreamGetParam", + "FlipStreamGetPreviewRoi", + "FlipStreamImageSize", + "FlipStreamInputBox", + "FlipStreamPreviewBox", + "FlipStreamRembg", + "FlipStreamScreenGrabber", + "FlipStreamSection", + "FlipStreamSegMask", + "FlipStreamSelectBox_Samplers", + "FlipStreamSelectBox_Scheduler", + "FlipStreamSetParam", + "FlipStreamSlider", "FlipStreamSource", - "FlipStreamSwitchVFI", - "FlipStreamUpdate", + "FlipStreamSwitchImage", + "FlipStreamSwitchLatent", + "FlipStreamTextBox", + "FlipStreamTextReplace", + "FlipStreamVideoInput", "FlipStreamViewer" ], { @@ -23114,6 +26925,16 @@ ], "https://github.com/sebord/ComfyUI-LMCQ": [ [ + "LmcqAuthFluxDecryption", + "LmcqAuthFluxEncryption", + "LmcqAuthLoraDecryption", + "LmcqAuthLoraEncryption", + "LmcqAuthModelDecryption", + "LmcqAuthModelEncryption", + "LmcqAuthWorkflowDecryption", + "LmcqAuthWorkflowEncryption", + "LmcqDeepGen", + "LmcqDeepLoader", "LmcqGetMachineCode", "LmcqImageSaver", "LmcqImageSaverTransit", @@ -23155,12 +26976,23 @@ ], "https://github.com/sh570655308/ComfyUI-TopazVideoAI": [ [ + "TopazUpscaleParams", "TopazVideoAI" ], { "title_aux": "ComfyUI-TopazVideoAI" } ], + "https://github.com/shabri-arrahim/ComfyUI-Safety-Checker": [ + [ + "CompVisSafetyChecker", + "FalconsAISafetyChecker", + "loadImageBase64" + ], + { + "title_aux": "ComfyUI Safety Checker" + } + ], "https://github.com/shadowcz007/comfyui-Image-reward": [ [ "ImageBatchToList_", @@ -23325,16 +27157,52 @@ "https://github.com/shahkoorosh/ComfyUI-KGnodes": [ [ "CustomResolutionLatentNode", + "ImageScaleToSide", + "OverlayRGBAonRGB", "StyleSelector" ], { "author": "ShahKoorosh", - "description": "This Custom node offers various experimental nodes to make it easier to use ComfyUI.", + "description": "This Custom node pack offers various nodes to make it easier to use ComfyUI.", "nickname": "KGnodes", "title": "ComfyUI-KGnodes", "title_aux": "ComfyUI-KGnodes" } ], + "https://github.com/shahkoorosh/ComfyUI-PersianText": [ + [ + "PersianText" + ], + { + "author": "ShahKoorosh", + "description": "A powerful ComfyUI node for rendering text with advanced styling options, including full support for Persian/Farsi and Arabic scripts.", + "nickname": "PersianText", + "title": "ComfyUI-PersianText", + "title_aux": "ComfyUI-PersianText" + } + ], + "https://github.com/shenduldh/ComfyUI-Lightning": [ + [ + "ApplyFBCacheAndSkipBlocks", + "ApplyMBCacheAndSkipBlocks", + "ApplyMBCacheAndSkipBlocksForSana", + "ApplySageAttention", + "ApplySpargeAttn", + "ApplyTeaCacheAndSkipBlocks", + "ApplyToCa", + "ApplyTokenMerging", + "CompileAndQuantizeModel", + "SanaCLIPLoader", + "SanaDiffusionLoader", + "SanaEmptyLatentImage", + "SanaTextEncode", + "SanaVAELoader", + "SaveSpargeAttnHyperparams" + ], + { + "title_aux": "ComfyUI-Lightning" + } + ], "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": [ [ "DallERender", @@ -23418,8 +27286,8 @@ { "author": "shinich39", "description": "Extract metadata from image.", - "nickname": "parse-image", - "title": "parse-image", + "nickname": "comfyui-parse-image", + "title": "comfyui-parse-image", "title_aux": "comfyui-parse-image" } ], @@ -23430,8 +27298,8 @@ { "author": "shinich39", "description": "Load image from directory.", - "nickname": "put-image", - "title": "put-image", + "nickname": "comfyui-put-image", + "title": "comfyui-put-image", "title_aux": "comfyui-put-image" } ], @@ -23505,15 +27373,6 @@ "title_aux": "\u2601\ufe0fBizyAir Nodes" } ], - "https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders": [ - [ - "CheckpointLoaderNF4", - "UNETLoaderNF4" - ], - { - "title_aux": "Model and Checkpoint Loaders for NF4 and FP4" - } - ], "https://github.com/sipherxyz/comfyui-art-venture": [ [ "AV_AwsBedrockClaudeApi", @@ -23609,6 +27468,14 @@ "title_aux": "ComfyUI-PuLID-Flux-Enhanced" } ], + "https://github.com/sittere/ComfyUI-YK_Line-loading": [ + [ + "MultiTextLoader" + ], + { + "title_aux": "ComfyUI-YK Line loading" + } + ], "https://github.com/skfoo/ComfyUI-Coziness": [ [ "LoraTextExtractor-b1f83aa2", @@ -23618,6 +27485,19 @@ "title_aux": "ComfyUI-Coziness" } ], + "https://github.com/slvslvslv/ComfyUI-SmartHelperNodes": [ + [ + "SmartFormatString", + "SmartFormatString10", + "SmartHVLoraSelect", + "SmartHVLoraStack", + "SmartRemoveComments", + "SmartSaveText" + ], + { + "title_aux": "ComfyUI Smart Helper Nodes" + } + ], "https://github.com/slyt/comfyui-ollama-nodes": [ [ "BooleanToString", @@ -23650,6 +27530,14 @@ "title_aux": "ComfyUI-Flux-Replicate-API" } ], + "https://github.com/smlbiobot/sml-comfyui-prompt-expansion": [ + [ + "SML_Prompt_Generator" + ], + { + "title_aux": "sml-comfyui-prompt-expansion" + } + ], "https://github.com/smthemex/ComfyUI_AnyDoor": [ [ "AnyDoor_LoadModel", @@ -23659,6 +27547,15 @@ "title_aux": "ComfyUI_AnyDoor" } ], + "https://github.com/smthemex/ComfyUI_CSD_MT": [ + [ + "CSDMTLoader", + "CSDMTSampler" + ], + { + "title_aux": "ComfyUI_CSD_MT" + } + ], "https://github.com/smthemex/ComfyUI_CSGO_Wrapper": [ [ "Blip_Loader", @@ -23718,6 +27615,15 @@ "title_aux": "ComfyUI_Diffree" } ], + "https://github.com/smthemex/ComfyUI_DiffuEraser": [ + [ + "DiffuEraserLoader", + "DiffuEraserSampler" + ], + { + "title_aux": "ComfyUI_DiffuEraser" + } + ], "https://github.com/smthemex/ComfyUI_EchoMimic": [ [ "Echo_LoadModel", @@ -23796,6 +27702,25 @@ "title_aux": "ComfyUI_InstantIR_Wrapper" } ], + "https://github.com/smthemex/ComfyUI_KV_Edit": [ + [ + "KV_Edit_Load", + "KV_Edit_PreData", + "KV_Edit_Sampler" + ], + { + "title_aux": "ComfyUI_KV_Edit" + } + ], + "https://github.com/smthemex/ComfyUI_Light_A_Video": [ + [ + "Light_A_Video_Loader", + "Light_A_Video_Sampler" + ], + { + "title_aux": "ComfyUI_Light_A_Video" + } + ], "https://github.com/smthemex/ComfyUI_Llama3_8B": [ [ "ChatQA_1p5_8b", @@ -23817,6 +27742,15 @@ "title_aux": "ComfyUI_MS_Diffusion" } ], + "https://github.com/smthemex/ComfyUI_MangaNinjia": [ + [ + "MangaNinjiaLoader", + "MangaNinjiaSampler" + ], + { + "title_aux": "ComfyUI_MangaNinjia" + } + ], "https://github.com/smthemex/ComfyUI_MooER": [ [ "MooER_LoadModel", @@ -23853,6 +27787,15 @@ "title_aux": "ComfyUI_ParlerTTS" } ], + "https://github.com/smthemex/ComfyUI_PhotoDoodle": [ + [ + "PhotoDoodle_Loader", + "PhotoDoodle_Sampler" + ], + { + "title_aux": "ComfyUI_PhotoDoodle" + } + ], "https://github.com/smthemex/ComfyUI_Pic2Story": [ [ "Pic2Story_Loader", @@ -23880,6 +27823,16 @@ "title_aux": "ComfyUI_Pops" } ], + "https://github.com/smthemex/ComfyUI_SVFR": [ + [ + "SVFR_LoadModel", + "SVFR_Sampler", + "SVFR_img2mask" + ], + { + "title_aux": "ComfyUI_SVFR" + } + ], "https://github.com/smthemex/ComfyUI_Sapiens": [ [ "SapiensLoader", @@ -23889,6 +27842,16 @@ "title_aux": "ComfyUI_Sapiens" } ], + "https://github.com/smthemex/ComfyUI_Sonic": [ + [ + "SONICSampler", + "SONICTLoader", + "SONIC_PreData" + ], + { + "title_aux": "ComfyUI_Sonic" + } + ], "https://github.com/smthemex/ComfyUI_StableAudio_Open": [ [ "StableAudio_ModelLoader", @@ -23940,11 +27903,23 @@ "title_aux": "ComfyUI_TRELLIS" } ], + "https://github.com/smthemex/ComfyUI_YuE": [ + [ + "YUE_Stage_A_Loader", + "YUE_Stage_A_Sampler", + "YUE_Stage_B_Loader", + "YUE_Stage_B_Sampler" + ], + { + "title_aux": "ComfyUI_YuE" + } + ], "https://github.com/sn0w12/ComfyUI-Sn0w-Scripts": [ [ "Character Selector", "Copy/Paste Textbox", "Filter Tags", + "Generate All Characters", "Get Font Size", "Load Lora Folder", "Load Lora Sn0w", @@ -24067,9 +28042,12 @@ [ "LoadEXR", "LoadEXRFrames", + "LoadImageAndPrompt", "LoadLatentEXR", "SaveEXR", "SaveEXRFrames", + "SaveImageAndPromptExact", + "SaveImageAndPromptIncremental", "SaveLatentEXR", "SaveTiff" ], @@ -24139,6 +28117,14 @@ "title_aux": "ComfyUI-Image-Filters" } ], + "https://github.com/spacepxl/ComfyUI-LossTesting": [ + [ + "Measure Timestep Loss" + ], + { + "title_aux": "ComfyUI-LossTesting" + } + ], "https://github.com/spacepxl/ComfyUI-RAVE": [ [ "ConditioningDebug", @@ -24237,11 +28223,24 @@ "title_aux": "ComfyUI roop" } ], + "https://github.com/stavsap/comfyui-kokoro": [ + [ + "KokoroGenerator", + "KokoroSpeaker", + "KokoroSpeakerCombiner" + ], + { + "title_aux": "comfyui-kokoro" + } + ], "https://github.com/stavsap/comfyui-ollama": [ [ + "OllamaConnectivityV2", "OllamaGenerate", "OllamaGenerateAdvance", + "OllamaGenerateV2", "OllamaLoadContext", + "OllamaOptionsV2", "OllamaSaveContext", "OllamaVision" ], @@ -24301,6 +28300,17 @@ "title_aux": "segment anything" } ], + "https://github.com/strand1/ComfyUI-Autogen": [ + [ + "AutogenAssistantAgent", + "AutogenCodeExecutor", + "AutogenGroupChat", + "AutogenModel" + ], + { + "title_aux": "ComfyUI-Autogen" + } + ], "https://github.com/strimmlarn/ComfyUI-Strimmlarns-Aesthetic-Score": [ [ "AesthetlcScoreSorter", @@ -24338,14 +28348,18 @@ ], "https://github.com/sugarkwork/comfyui_tag_fillter": [ [ + "TagCategory", + "TagCategoryEnhance", "TagComparator", + "TagEnhance", "TagFilter", "TagIf", "TagMerger", "TagRemover", "TagReplace", "TagSelector", - "TagSwitcher" + "TagSwitcher", + "TagWildcardFilter" ], { "title_aux": "comfyui_tag_filter" @@ -24360,6 +28374,16 @@ "title_aux": "comfyui_lumaAPI" } ], + "https://github.com/svetozarov/AS_GeminiCaptioning": [ + [ + "AS_ComfyGPT", + "AS_GeminiCaptioning", + "AS_MultimodalGemini" + ], + { + "title_aux": "AS_GeminiCaptioning Node" + } + ], "https://github.com/sweetndata/ComfyUI-Image-Harmonizer": [ [ "harmonizer" @@ -24570,6 +28594,15 @@ "title_aux": "ComfyUI-StoryMaker" } ], + "https://github.com/tatookan/comfyui_ssl_gemini_EXP": [ + [ + "SSL_GeminiAPIKeyConfig", + "SSL_GeminiTextPrompt" + ], + { + "title_aux": "comfyui_ssl_gemini_EXP" + } + ], "https://github.com/teward/ComfyUI-Helper-Nodes": [ [ "HelperNodes_CfgScale", @@ -24590,6 +28623,15 @@ "title_aux": "ComfyUI-Helper-Nodes" } ], + "https://github.com/theAdamColton/ComfyUI-texflow-extension": [ + [ + "Load Texflow Depth Image", + "Save Texflow Image" + ], + { + "title_aux": "ComfyUI-texflow-extension" + } + ], "https://github.com/theUpsider/ComfyUI-Logic": [ [ "Bool-\ud83d\udd2c", @@ -24633,6 +28675,50 @@ "title_aux": "ComfyUI Stable Video Diffusion" } ], + "https://github.com/theshubzworld/ComfyUI-SD3.5-Latent-Size-Picker": [ + [ + "SD3_5EmptyLatent" + ], + { + "title_aux": "SD3.5 Empty Latent Size Picker" + } + ], + "https://github.com/theshubzworld/ComfyUI-TogetherVision": [ + [ + "Together Image \ud83c\udfa8", + "Together Vision \ud83d\udd0d", + "TogetherVisionNode" + ], + { + "title_aux": "Together Vision Node" + } + ], + "https://github.com/theshubzworld/ComfyUI-ollama_killer": [ + [ + "OllamaKiller" + ], + { + "title_aux": "OllamaKiller Node for ComfyUI" + } + ], + "https://github.com/thezveroboy/ComfyUI-CSM-Nodes": [ + [ + "CSMTextToSpeech", + "LoadCSMCheckpoint", + "LoadCSMTokenizer" + ], + { + "title_aux": "ComfyUI-CSM-Nodes" + } + ], + "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip": [ + [ + "CLIPSkip" + ], + { + "title_aux": "ComfyUI-WAN-ClipSkip" + } + ], "https://github.com/thoddnn/ComfyUI-MLX": [ [ "MLXClipTextEncoder", @@ -24684,6 +28770,14 @@ "title_aux": "Stable Projectorz Bridge" } ], + "https://github.com/tianyuw/ComfyUI-LLM-API": [ + [ + "PromptWithImage" + ], + { + "title_aux": "Custom nodes for llm chat with optional image input" + } + ], "https://github.com/tkreuziger/comfyui-claude": [ [ "Combine Texts", @@ -24729,10 +28823,10 @@ "ImageToAscii" ], { - "author": "Tomudo", - "description": "Convert Image to ascii art to use. May be use to decorate terminal apps like Neofetch", - "nickname": "Image To Ascii", - "title": "Image To Ascii", + "author": "dfl", + "description": "CLIP text encoder that does BREAK prompting like A1111", + "nickname": "CLIP with BREAK", + "title": "CLIP with BREAK syntax", "title_aux": "ComfyUI-ascii-art" } ], @@ -24772,12 +28866,29 @@ "Load Random Text From File", "LoadWebcamImage", "Remove noise", - "SaveImagetoPath" + "SaveImagetoPath", + "VisualAreaMask" ], { "title_aux": "ComfyUI_toyxyz_test_nodes" } ], + "https://github.com/traugdor/ComfyUI-Riffusion": [ + [ + "RiffusionNode" + ], + { + "title_aux": "ComfyUI-Riffusion" + } + ], + "https://github.com/traugdor/ComfyUI-UltimateSDUpscale-GGUF": [ + [ + "UltimateSDUpscaleGGUF" + ], + { + "title_aux": "ComfyUI-UltimateSDUpscale-GGUF" + } + ], "https://github.com/traugdor/ComfyUI-quadMoons-nodes": [ [ "quadmoonBatchFromLatent", @@ -24785,6 +28896,7 @@ "quadmoonChangeBackground", "quadmoonConvertBoolToString", "quadmoonConvertFloatToString", + "quadmoonConvertImageToPrompt", "quadmoonConvertIntToString", "quadmoonConvertNormalizeHW", "quadmoonConvertNumberToString", @@ -25050,6 +29162,32 @@ "title_aux": "unwdef-nodes" } ], + "https://github.com/vadimcro/VKRiez-Edge": [ + [ + "VKriezEnhancedEdgePreprocessor", + "VKriezHybridEdgePreprocessor" + ], + { + "title_aux": "VKRiez-Edge" + } + ], + "https://github.com/vahidzxc/va-nodes": [ + [ + "VA_Seed" + ], + { + "title_aux": "va-nodes" + } + ], + "https://github.com/vahlok-alunmid/ComfyUI-ExtendIPAdapterClipVision": [ + [ + "EXTEND_CLIP_VISION_INPUT_SIZE", + "IPAdapterAdvancedSizeAware" + ], + { + "title_aux": "ComfyUI-ExtendIPAdapterClipVision" + } + ], "https://github.com/valofey/Openrouter-Node": [ [ "OpenrouterNode" @@ -25089,8 +29227,11 @@ ], "https://github.com/var1ableX/ComfyUI_Accessories": [ [ + "ACC_AnyCast", + "AccMakeListNode", "GetMaskDimensions", "GetRandomDimensions", + "isImageEmpty", "isMaskEmpty" ], { @@ -25167,7 +29308,8 @@ ], "https://github.com/violet-chen/comfyui-psd2png": [ [ - "Psd2Png" + "Psd2Png", + "StringInsert" ], { "title_aux": "comfyui-psd2png" @@ -25205,9 +29347,18 @@ "title_aux": "ComfyUI-Vivax-Nodes" } ], + "https://github.com/vkff5833/ComfyUI-MobileClient": [ + [ + "MobileClient" + ], + { + "title_aux": "ComfyUI-MobileClient" + } + ], "https://github.com/vkff5833/ComfyUI-PromptConverter": [ [ - "PromptConverter" + "PromptConverter", + "PromptConverterWithFilter" ], { "title_aux": "ComfyUI-PromptConverter" @@ -25340,10 +29491,19 @@ "title_aux": "WeiLin-ComfyUI-prompt-all-in-one" } ], + "https://github.com/weilin9999/WeiLin-Comfyui-Tools": [ + [ + "WeiLinPromptUI" + ], + { + "title_aux": "WeiLin-Comfyui-Tools" + } + ], "https://github.com/welltop-cn/ComfyUI-TeaCache": [ [ - "TeaCacheForImgGen", - "TeaCacheForVidGen" + "CompileModel", + "TeaCache", + "TeaCacheForCogVideoX" ], { "title_aux": "ComfyUI-TeaCache" @@ -25358,6 +29518,30 @@ "title_aux": "ComfyUI template matching" } ], + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor": [ + [ + "OpenposeEditorNode" + ], + { + "title_aux": "ComfyUI-ultimate-openpose-editor" + } + ], + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator": [ + [ + "OpenposeEstimatorNode" + ], + { + "title_aux": "ComfyUI-ultimate-openpose-estimator" + } + ], + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": [ + [ + "OpenposeRenderNode" + ], + { + "title_aux": "ComfyUI-ultimate-openpose-render" + } + ], "https://github.com/whatbirdisthat/cyberdolphin": [ [ "\ud83d\udc2c Gradio ChatInterface", @@ -25443,12 +29627,23 @@ "title_aux": "zsq_prompt" } ], + "https://github.com/wirytiox/ComfyUI-SelectStringFromListWithIndex": [ + [ + "StringFromList" + ], + { + "title_aux": "ComfyUI-SelectStringFromListWithIndex" + } + ], "https://github.com/wjl0313/ComfyUI_KimNodes": [ [ "Add_ImageMetadata", "Crop_Paste", "Distribute_Icons", + "ExtractDifferenceLora", "IconDistributeByGrid", + "Icon_Position_Cropper", + "ImageResize", "Image_Classification", "KimFilter", "KimHDR", @@ -25456,6 +29651,7 @@ "Manual_MetadataInput", "Prompt_Text", "Save_Image", + "Seamless_Icon_Generator", "Text_Match", "Whitening_Node", "YOLOWorld_Match", @@ -25698,6 +29894,15 @@ "title_aux": "hd-nodes-comfyui" } ], + "https://github.com/xingBaGan/ComfyUI-connect-ui": [ + [ + "SaveImageByWebsocket", + "reciveImageByWebsocket" + ], + { + "title_aux": "ComfyUI-connect-ui" + } + ], "https://github.com/xlinx/ComfyUI-decadetw-auto-messaging-realtime": [ [ "Auto-MSG-ALL", @@ -25711,6 +29916,7 @@ ], "https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm": [ [ + "Auto-LLM-Chat", "Auto-LLM-Text", "Auto-LLM-Text-Vision", "Auto-LLM-Vision" @@ -25789,8 +29995,19 @@ "title_aux": "ComfyUI_Camera" } ], + "https://github.com/yanhuifair/comfyui-janus": [ + [ + "JanusProImageGenerationNode", + "JanusProModelLoaderNode", + "JanusProMultimodalUnderstandingNode" + ], + { + "title_aux": "comfyui-janus" + } + ], "https://github.com/yanlang0123/ComfyUI_Lam": [ [ + "AppParams", "AspectRatio", "AutioPath", "DoWhileEnd", @@ -25816,6 +30033,7 @@ "LamCommonPrint", "LamCommonPrintNoOutput", "LamGetPngInfo", + "LamLoadImageBase64", "LamLoadPathImage", "LamLoadVideo", "LamSaveOnly", @@ -25841,6 +30059,7 @@ "PromptTranslator", "QRCode", "SaveImageLam", + "SaveImgOutputLam", "SectionEnd", "SectionStart", "StyleSelecto", @@ -25856,6 +30075,16 @@ "title_aux": "ComfyUI_Lam" } ], + "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch": [ + [ + "ColorGradeSampler", + "ColorGrading", + "SemanticImageFetch" + ], + { + "title_aux": "comfyUI-SemanticImageFetch" + } + ], "https://github.com/ycchanau/ComfyUI_Preview_Magnifier": [ [ "YC.ImageComparerMagnifier", @@ -25902,12 +30131,105 @@ "FalAPIFluxProFillNode", "FalAPIFluxProNode", "FalAPIFluxProReduxNode", - "FalAPIFluxProV11Node" + "FalAPIFluxProV11Node", + "FalAPIFluxProV11UltraNode" ], { "title_aux": "ComfyUI-Fal-API-Flux" } ], + "https://github.com/yhayano-ponotech/comfyui-save-image-local": [ + [ + "Local Save" + ], + { + "title_aux": "ComfyUI Local Save Node" + } + ], + "https://github.com/yhayano-ponotech/comfyui-stability-ai-api": [ + [ + "Preview3DModel", + "Save3DModel", + "StabilityControlSketch", + "StabilityControlStructure", + "StabilityControlStyle", + "StabilityEdit", + "StabilityImageCore", + "StabilityImageSD3", + "StabilityImageToVideo", + "StabilityImageUltra", + "StabilityUpscaleConservative", + "StabilityUpscaleCreative", + "StabilityUpscaleFast", + "StableFast3D", + "StablePointAware3D" + ], + { + "title_aux": "ComfyUI-Stability-AI-API" + } + ], + "https://github.com/yichengup/ComfyUI-VideoBlender": [ + [ + "VideoBlendLayer", + "VideoBlendStack", + "VideoBlendStackAdvanced", + "VideoPreprocess" + ], + { + "title_aux": "ComfyUI-VideoBlender" + } + ], + "https://github.com/yichengup/ComfyUI-YCNodes": [ + [ + "DynamicThreshold", + "ImageBatchSelector", + "ImageBlendResize", + "ImageIC", + "ImageICAdvanced", + "ImageLoaderAdvanced", + "ImageMirror", + "ImageMosaic", + "ImageRotate", + "ImageSelector", + "ImageUpscaleTiled", + "MaskBatchComposite", + "MaskBatchCopy", + "MaskFromBatch", + "MaskRepeatBatch", + "MaskSmartValleySplit", + "MaskSplitFilter", + "MaskTopNFilter", + "TextBeforeKeyword", + "YC Extract Number", + "YC Text Index Switch" + ], + { + "title_aux": "ComfyUI-YCNodes" + } + ], + "https://github.com/yichengup/ComfyUI_Yc_JanusPro": [ + [ + "ImageAnalyzer", + "JanusChatAnalyzer", + "JanusImageGenerator", + "JanusProLoader" + ], + { + "title_aux": "ComfyUI_Yc_JanusPro" + } + ], + "https://github.com/yichengup/Comfyui-Deepseek": [ + [ + "DeepseekAdvancedNode", + "DeepseekNode", + "DeepseekReasonerNode", + "SiliconDeepseekChat", + "SiliconDeepseekReasoner" + ], + { + "title_aux": "Comfyui-Deepseek" + } + ], "https://github.com/yichengup/Comfyui-Ycanvas": [ [ "CanvasNode" @@ -25926,7 +30248,8 @@ ], "https://github.com/yichengup/Comfyui_Redux_Advanced": [ [ - "StyleAdvancedApply" + "StyleAdvancedApply", + "YC_LG_Redux" ], { "title_aux": "Comfyui_Redux_Advanced" @@ -26025,7 +30348,6 @@ "easy controlnetStackApply", "easy convertAnything", "easy detailerFix", - "easy dynamiCrafterLoader", "easy float", "easy fluxLoader", "easy fluxPromptGenAPI", @@ -26071,6 +30393,7 @@ "easy imageToBase64", "easy imageToMask", "easy imageUncropFromBBOX", + "easy imagesCountInDirectory", "easy imagesSplitImage", "easy indexAnything", "easy injectNoiseToLatent", @@ -26090,6 +30413,7 @@ "easy isNone", "easy isSDXL", "easy joinImageBatch", + "easy joyCaption2API", "easy kSampler", "easy kSamplerCustom", "easy kSamplerDownscaleUnet", @@ -26111,7 +30435,6 @@ "easy mathString", "easy mochiLoader", "easy negative", - "easy ominiControlApply", "easy outputToList", "easy pipeBatchIndex", "easy pipeEdit", @@ -26284,10 +30607,12 @@ "KY_AnyByIndex", "KY_AnyToList", "KY_FilePathAnalyzer-", + "KY_FileSequenceAnalyzer", "KY_JoinToString", "KY_LoadImagesFromFolder", "KY_MathExpression", "KY_OpenAICaptionImage", + "KY_OpenAICaptionImages", "KY_OpenAIChat", "KY_ReadImage", "KY_RegexExtractor", @@ -26391,14 +30716,33 @@ "title_aux": "ComfyUI Rife TensorRT" } ], + "https://github.com/yuvraj108c/ComfyUI-Thera": [ + [ + "LoadTheraModel", + "TheraProcess" + ], + { + "title_aux": "ComfyUI Thera" + } + ], "https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt": [ [ + "LoadUpscalerTensorrtModel", "UpscalerTensorrt" ], { "title_aux": "ComfyUI Upscaler TensorRT" } ], + "https://github.com/yuvraj108c/ComfyUI-Video-Depth-Anything": [ + [ + "LoadVideoDepthAnythingModel", + "VideoDepthAnythingProcess" + ], + { + "title_aux": "ComfyUI Video Depth Anything" + } + ], "https://github.com/yuvraj108c/ComfyUI-Vsgan": [ [ "DepthAnythingTrtNode", @@ -26428,6 +30772,15 @@ "title_aux": "ComfyUI YoloNasPose Tensorrt" } ], + "https://github.com/yuvraj108c/ComfyUI_InvSR": [ + [ + "InvSRSampler", + "LoadInvSRModels" + ], + { + "title_aux": "ComfyUI InvSR" + } + ], "https://github.com/yvann-ba/ComfyUI_Yvann-Nodes": [ [ "Audio Analysis", @@ -26459,6 +30812,14 @@ "title_aux": "ComfyUI_Zwng_Nodes" } ], + "https://github.com/zaheenrahman/ComfyUI-ColorCorrection": [ + [ + "ClothingColorCorrection" + ], + { + "title_aux": "ComfyUI-ColorCorrection" + } + ], "https://github.com/zcfrank1st/Comfyui-Toolbox": [ [ "PreviewJson", @@ -26488,6 +30849,36 @@ "title_aux": "comfyui_visual_anagram" } ], + "https://github.com/zentrocdot/ComfyUI-RealESRGAN_Upscaler": [ + [ + "\ud83d\ude80 Universal RealESRGAN Upscaler", + "\ud83e\uddf3 Show Data" + ], + { + "title_aux": "ComfyUI-RealESRGAN_Upscaler" + } + ], + "https://github.com/zentrocdot/ComfyUI-Simple_Image_To_Prompt": [ + [ + "\ud83d\udc41\ufe0f Image To Prompt", + "\ud83d\udc41\ufe0f Image To Prompt (NO UPDATE)", + "\ud83e\uddf3 Show Data" + ], + { + "title_aux": "ComfyUI-Simple_Image_To_Prompt" + } + ], + "https://github.com/zentrocdot/ComfyUI_Circle_Detection": [ + [ + "\u270f\ufe0f Input Data", + "\ud83d\udcc4 Show Data", + "\ud83d\udd2c Circle Detection (Hough)", + "\ud83d\udd2c Ellipse Detection (Simple)" + ], + { + "title_aux": "ComfyUI_Circle_Detection" + } + ], "https://github.com/zer0TF/cute-comfy": [ [ "Cute.Placeholder" @@ -26501,6 +30892,7 @@ "List Combine Node (zer0)", "Multiline String Node (zer0)", "Prompt Minimizer And Splitter Node (zer0)", + "Quality Tag Prepend Node (zer0)", "Tavern Card Creation Node (zer0)", "Tavern Card Info Node (zer0)" ], @@ -26540,8 +30932,12 @@ "CheckpointLoaderSimpleWithSwitch", "ColorCorrectOfUtils", "ConcatTextOfUtils", + "CropByMaskToSpecificSize", "DeepfaceAnalyzeFaceAttributes", "DetectorForNSFW", + "EmptyConditioning", + "FrameAdjuster", + "GeminiPromptEnhance", "GenderControlOutput", "ImageAutoSelector", "ImageBatchOneOrMore", @@ -26550,6 +30946,7 @@ "ImageCompositeWatermark", "ImageConcanateOfUtils", "ImageResizeTo8x", + "ImageTransition", "IntAndIntAddOffsetLiteral", "IntMultipleAddLiteral", "LoadImageMaskWithSwitch", @@ -26566,6 +30963,7 @@ "SplitMask", "TextInputAutoSelector", "TextPreview", + "TorchCompileModelAdvanced", "UpscaleImageWithModelIfNeed" ], { @@ -26631,16 +31029,37 @@ "title_aux": "ComfyUI_Bxb" } ], + "https://github.com/zichongc/ComfyUI-Attention-Distillation": [ + [ + "ADOptimizer", + "ADSampler", + "LoadDistiller", + "LoadPILImage", + "PureText", + "ResizeImage" + ], + { + "title_aux": "ComfyUI-Attention-Distillation" + } + ], + "https://github.com/ziwang-com/comfyui-deepseek-r1": [ + [ + "deep_gen", + "deep_load" + ], + { + "title_aux": "comfyui-deepseek-r1" + } + ], "https://github.com/zmwv823/ComfyUI_Anytext": [ [ + "UL_AnyText2Fonts", + "UL_AnyTextComposer", "UL_AnyTextEncoder", + "UL_AnyTextFontImg", "UL_AnyTextFormatter", - "UL_AnyTextLoaderTest", - "UL_AnyText_Composer", - "UL_AnyText_FontImg", - "UL_AnyText_Inputs", - "UL_AnyText_Loader", - "UL_AnyText_Sampler", + "UL_AnyTextLoader", + "UL_AnyTextSampler", "UL_DiffusersCheckpointLoader", "UL_DiffusersControlNetApplyAdvanced", "UL_DiffusersControlNetLoader", @@ -26650,7 +31069,10 @@ "UL_Image_Generation_Glyph_ByT5_Font", "UL_Image_Generation_JoyType_Font_Img", "UL_Image_Generation_JoyType_Render_List", - "UL_Image_Process_Common_Cv2_Canny" + "UL_Image_Process_Common_Cv2_Canny", + "UL_Translator", + "UL_TranslatorLoader", + "U_LoRAS" ], { "title_aux": "ComfyUI_Anytext" @@ -26734,9 +31156,6 @@ "QRNG_Node_CSV" ], { - "preemptions": [ - "SAMLoader" - ], "title_aux": "QRNG_Node_ComfyUI" } ], @@ -26761,14 +31180,6 @@ "title_aux": "SDXL_sizing" } ], - "https://raw.githubusercontent.com/Smuzzies/comfyui_chatbox_overlay/main/chatbox_overlay.py": [ - [ - "Chatbox Overlay" - ], - { - "title_aux": "Chatbox Overlay node for ComfyUI" - } - ], "https://raw.githubusercontent.com/barckley75/comfyUI_DaVinciResolve/main/custom_nodes/node_text_to_speech.py": [ [ "TextToSpeech" @@ -26821,6 +31232,14 @@ "title_aux": "CSV Search Node" } ], + "https://raw.githubusercontent.com/huimengshiguang/AspectAwareTiling/refs/heads/main/hmsg-quanjing.py": [ + [ + "AspectAwareTiling" + ], + { + "title_aux": "AspectAwareTiling" + } + ], "https://raw.githubusercontent.com/lordgasmic/comfyui_wildcards/master/wildcards.py": [ [ "CLIPTextEncodeWithWildcards" @@ -26900,6 +31319,9 @@ "SDXLAspectRatio" ], { + "preemptions": [ + "SAMLoader" + ], "title_aux": "SDXLCustomAspectRatio" } ], diff --git a/node_db/new/model-list.json b/node_db/new/model-list.json index e4e242ea..01731a81 100644 --- a/node_db/new/model-list.json +++ b/node_db/new/model-list.json @@ -1,5 +1,153 @@ { "models": [ + { + "name": "Comfy-Org/hunyuan_video_image_to_video_720p_bf16.safetensors", + "type": "diffusion_model", + "base": "Hunyuan Video", + "save_path": "diffusion_models/hunyuan_video", + "description": "Huyuan Video Image2Video diffusion model. repackaged version.", + "reference": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged", + "filename": "hunyuan_video_image_to_video_720p_bf16.safetensors", + "url": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/resolve/main/split_files/diffusion_models/hunyuan_video_image_to_video_720p_bf16.safetensors", + "size": "25.6GB" + }, + { + "name": "Comfy-Org/llava_llama3_vision.safetensors", + "type": "clip_vision", + "base": "LLaVA-Llama-3", + "save_path": "text_encoders", + "description": "llava_llama3_vision clip vison model. This is required for using Hunyuan Video Image2Video.", + "reference": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged", + "filename": "llava_llama3_vision.safetensors", + "url": "https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/resolve/main/split_files/clip_vision/llava_llama3_vision.safetensors", + "size": "649MB" + }, + + { + "name": "LTX-Video 2B v0.9.5 Checkpoint", + "type": "checkpoint", + "base": "LTX-Video", + "save_path": "checkpoints/LTXV", + "description": "LTX-Video is the first DiT-based video generation model capable of generating high-quality videos in real-time. It produces 24 FPS videos at a 768x512 resolution faster than they can be watched. Trained on a large-scale dataset of diverse videos, the model generates high-resolution videos with realistic and varied content.", + "reference": "https://huggingface.co/Lightricks/LTX-Video", + "filename": "ltx-video-2b-v0.9.5.safetensors", + "url": "https://huggingface.co/Lightricks/LTX-Video/resolve/main/ltx-video-2b-v0.9.5.safetensors", + "size": "6.34GB" + }, + { + "name": "kolors/vae/diffusion_pytorch_model.fp16.safetensors", + "type": "VAE", + "base": "Kolors", + "save_path": "vae/kolors", + "description": "Kolors VAE", + "reference": "https://huggingface.co/Kwai-Kolors/Kolors", + "filename": "diffusion_pytorch_model.fp16.safetensors", + "url": "https://huggingface.co/Kwai-Kolors/Kolors/resolve/main/vae/diffusion_pytorch_model.fp16.safetensors", + "size": "167MB" + }, + { + "name": "kolors/vae/diffusion_pytorch_model.safetensors", + "type": "VAE", + "base": "Kolors", + "save_path": "vae/kolors", + "description": "Kolors VAE", + "reference": "https://huggingface.co/Kwai-Kolors/Kolors", + "filename": "diffusion_pytorch_model.safetensors", + "url": "https://huggingface.co/Kwai-Kolors/Kolors/resolve/main/vae/diffusion_pytorch_model.safetensors", + "size": "335MB" + }, + + { + "name": "deepseek-ai/Janus-Pro-1B", + "type": "Janus-Pro", + "base": "Janus-Pro", + "save_path": "Janus-Pro", + "description": "[SNAPSHOT] Janus-Pro-1B model.[w/You cannot download this item on ComfyUI-Manager versions below V3.18]", + "reference": "https://huggingface.co/deepseek-ai/Janus-Pro-1B", + "filename": "", + "url": "deepseek-ai/Janus-Pro-1B", + "size": "7.8GB" + }, + { + "name": "deepseek-ai/Janus-Pro-7B", + "type": "Janus-Pro", + "base": "Janus-Pro", + "save_path": "Janus-Pro", + "description": "[SNAPSHOT] Janus-Pro-7B model.[w/You cannot download this item on ComfyUI-Manager versions below V3.18]", + "reference": "https://huggingface.co/deepseek-ai/Janus-Pro-7B", + "filename": "", + "url": "deepseek-ai/Janus-Pro-7B", + "size": "14.85GB" + }, + + { + "name": "Leoxing/pia.ckpt", + "type": "animatediff-pia", + "base": "SD1.x", + "save_path": "animatediff_models", + "description": "AnimateDiff-PIA Model", + "reference": "https://huggingface.co/Leoxing/PIA/tree/main", + "filename": "pia.ckpt", + "url": "https://huggingface.co/Leoxing/PIA/resolve/main/pia.ckpt", + "size": "1.67GB" + }, + + { + "name": "comfyanonymous/cosmos_cv8x8x8_1.0.safetensors", + "type": "VAE", + "base": "Cosmos-1.0", + "save_path": "default", + "description": "VAE model for Cosmos 1.0", + "reference": "https://huggingface.co/comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI/tree/main", + "filename": "cosmos_cv8x8x8_1.0.safetensors", + "url": "https://huggingface.co/comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI/resolve/main/vae/cosmos_cv8x8x8_1.0.safetensors", + "size": "211MB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-7B-Text2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Text2World Diffusion Model (7B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-7B-Text2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-7B-Text2World.safetensors", + "size": "14.5GB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-7B-Video2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Video2World Diffusion Model (7B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-7B-Video2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-7B-Video2World.safetensors", + "size": "14.5GB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-14B-Text2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Text2World Diffusion Model (14B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-14B-Text2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-14B-Text2World.safetensors", + "size": "28.5GB" + }, + { + "name": "mcmonkey/Cosmos-1_0-Diffusion-14B-Video2World.safetensors", + "type": "diffusion_model", + "base": "Cosmos-1.0", + "save_path": "diffusion_models/cosmos-1.0", + "description": "Cosmos 1.0 Video2World Diffusion Model (14B)", + "reference": "https://huggingface.co/mcmonkey/cosmos-1.0", + "filename": "Cosmos-1_0-Diffusion-14B-Video2World.safetensors", + "url": "https://huggingface.co/mcmonkey/cosmos-1.0/resolve/main/Cosmos-1_0-Diffusion-14B-Video2World.safetensors", + "size": "28.5GB" + }, + { "name": "Comfy-Org/llava_llama3_fp8_scaled.safetensors", "type": "clip", @@ -507,7 +655,7 @@ "name": "ViT-L-14-TEXT-detail-improved-hiT-GmP-HF.safetensors [Long CLIP L]", "type": "clip", "base": "clip", - "save_path": "clip/long_clip", + "save_path": "text_encoders/long_clip", "description": "Greatly improved TEXT + Detail (as CLIP-L for Flux.1)", "reference": "https://huggingface.co/zer0int", "filename": "ViT-L-14-TEXT-detail-improved-hiT-GmP-HF.safetensors", @@ -518,7 +666,7 @@ "name": "ViT-L-14-TEXT-detail-improved-hiT-GmP-HF.safetensors [Long CLIP L]", "type": "clip", "base": "clip", - "save_path": "clip/long_clip", + "save_path": "text_encoders/long_clip", "description": "Greatly improved TEXT + Detail (as CLIP-L for Flux.1)", "reference": "https://huggingface.co/zer0int", "filename": "ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors", @@ -561,18 +709,6 @@ "size": "1.39GB" }, - { - "name": "BAAI/SegGPT", - "type": "SegGPT", - "base": "SegGPT", - "save_path": "custom_nodes/comfyui-SegGPT", - "description": "SegGPT", - "reference": "https://huggingface.co/BAAI/SegGPT", - "filename": "seggpt_vit_large.pth", - "url": "https://huggingface.co/BAAI/SegGPT/resolve/main/seggpt_vit_large.pth", - "size": "1.48GB" - }, - { "name": "DMD2 LoRA (4steps)", "type": "lora", @@ -594,140 +730,6 @@ "filename": "dmd2_sdxl_4step_lora_fp16.safetensors", "url": "https://huggingface.co/tianweiy/DMD2/resolve/main/dmd2_sdxl_4step_lora_fp16.safetensors", "size": "394MB" - }, - - { - "name": "Hyper-SD LoRA (1step) - SD1.5", - "type": "lora", - "base": "SD1.5", - "save_path": "loras/HyperSD/SD15", - "description": "Hyper-SD LoRA (1step) - SD1.5", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SD15-1step-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SD15-1step-lora.safetensors", - "size": "269MB" - }, - { - "name": "Hyper-SD LoRA (2steps) - SD1.5", - "type": "lora", - "base": "SD1.5", - "save_path": "loras/HyperSD/SD15", - "description": "Hyper-SD LoRA (2steps) - SD1.5", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SD15-2steps-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SD15-2steps-lora.safetensors", - "size": "269MB" - }, - { - "name": "Hyper-SD LoRA (4steps) - SD1.5", - "type": "lora", - "base": "SD1.5", - "save_path": "loras/HyperSD/SD15", - "description": "Hyper-SD LoRA (4steps)", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SD15-4steps-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SD15-4steps-lora.safetensors", - "size": "269MB" - }, - { - "name": "Hyper-SD LoRA (8steps) - SD1.5", - "type": "lora", - "base": "SD1.5", - "save_path": "loras/HyperSD/SD15", - "description": "Hyper-SD LoRA (8steps)", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SD15-8steps-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SD15-8steps-lora.safetensors", - "size": "269MB" - }, - { - "name": "Hyper-SD CFG LoRA (8steps) - SD1.5", - "type": "lora", - "base": "SD1.5", - "save_path": "loras/HyperSD/SD15", - "description": "Hyper-SD CFG LoRA (8steps)", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SD15-8steps-CFG-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SD15-8steps-CFG-lora.safetensors", - "size": "269MB" - }, - { - "name": "Hyper-SD CFG LoRA (12steps) - SD1.5", - "type": "lora", - "base": "SD1.5", - "save_path": "loras/HyperSD/SD15", - "description": "Hyper-SD CFG LoRA (12steps)", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SD15-12steps-CFG-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SD15-12steps-CFG-lora.safetensors", - "size": "269MB" - }, - - { - "name": "Hyper-SD LoRA (1step) - SDXL", - "type": "lora", - "base": "SDXL", - "save_path": "loras/HyperSD/SDXL", - "description": "Hyper-SD LoRA (1step) - SDXL", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SDXL-1step-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SDXL-1step-lora.safetensors", - "size": "787MB" - }, - { - "name": "Hyper-SD LoRA (2steps) - SDXL", - "type": "lora", - "base": "SDXL", - "save_path": "loras/HyperSD/SDXL", - "description": "Hyper-SD LoRA (2steps) - SDXL", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SDXL-2steps-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SDXL-2steps-lora.safetensors", - "size": "787MB" - }, - { - "name": "Hyper-SD LoRA (4steps) - SDXL", - "type": "lora", - "base": "SDXL", - "save_path": "loras/HyperSD/SDXL", - "description": "Hyper-SD LoRA (4steps) - SDXL", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SD15-4steps-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SD15-4steps-lora.safetensors", - "size": "787MB" - }, - { - "name": "Hyper-SD LoRA (8steps) - SDXL", - "type": "lora", - "base": "SDXL", - "save_path": "loras/HyperSD/SDXL", - "description": "Hyper-SD LoRA (8steps) - SDXL", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SDXL-8steps-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SDXL-8steps-lora.safetensors", - "size": "787MB" - }, - { - "name": "Hyper-SD CFG LoRA (8steps) - SDXL", - "type": "lora", - "base": "SDXL", - "save_path": "loras/HyperSD/SDXL", - "description": "Hyper-SD CFG LoRA (8steps) - SDXL", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SDXL-8steps-CFG-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SDXL-8steps-CFG-lora.safetensors", - "size": "787MB" - }, - { - "name": "Hyper-SD CFG LoRA (12steps) - SDXL", - "type": "lora", - "base": "SDXL", - "save_path": "loras/HyperSD/SDXL", - "description": "Hyper-SD CFG LoRA (12steps) - SDXL", - "reference": "https://huggingface.co/ByteDance/Hyper-SD", - "filename": "Hyper-SDXL-12steps-CFG-lora.safetensors", - "url": "https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SDXL-12steps-CFG-lora.safetensors", - "size": "787MB" } ] } diff --git a/node_db/tutorial/custom-node-list.json b/node_db/tutorial/custom-node-list.json index 4d2a640b..ae74847e 100644 --- a/node_db/tutorial/custom-node-list.json +++ b/node_db/tutorial/custom-node-list.json @@ -291,6 +291,36 @@ ], "install_type": "git-clone", "description": "Example of using ComfyUI Toolbar to Toggle ComfyUI links on/off" + }, + { + "author": "xhiroga", + "title": "ComfyUI-TypeScript-CustomNode", + "reference": "https://github.com/xhiroga/ComfyUI-TypeScript-CustomNode", + "files": [ + "https://github.com/xhiroga/ComfyUI-TypeScript-CustomNode" + ], + "install_type": "git-clone", + "description": "This project is generated from xhiroga/ComfyUI-TypeScript-CustomNode" + }, + { + "author": "zentrocdot", + "title": "ComfyUI-Turtle_Graphics_Demos", + "reference": "https://github.com/zentrocdot/ComfyUI-Turtle_Graphics_Demo", + "files": [ + "https://github.com/zentrocdot/ComfyUI-Turtle_Graphics_Demo" + ], + "description": "ComfyUI node for creating some Turtle Graphic demos.", + "install_type": "git-clone" + }, + { + "author": "cozy-comfyui", + "title": "cozy_ex_dynamic", + "reference": "https://github.com/cozy-comfyui/cozy_ex_dynamic", + "files": [ + "https://github.com/cozy-comfyui/cozy_ex_dynamic" + ], + "description": "Dynamic Node examples for ComfyUI", + "install_type": "git-clone" } ] } \ No newline at end of file diff --git a/prestartup_script.py b/prestartup_script.py index 3a32b5d2..e90f5d9d 100644 --- a/prestartup_script.py +++ b/prestartup_script.py @@ -1,4 +1,5 @@ import os +import shutil import subprocess import sys import atexit @@ -9,6 +10,7 @@ import platform import json import ast import logging +import traceback glob_path = os.path.join(os.path.dirname(__file__), "glob") sys.path.append(glob_path) @@ -17,12 +19,28 @@ import security_check import manager_util import cm_global import manager_downloader -from datetime import datetime import folder_paths +manager_util.add_python_path_to_env() + +import datetime as dt + +if hasattr(dt, 'datetime'): + from datetime import datetime as dt_datetime + + def current_timestamp(): + return dt_datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +else: + # NOTE: Occurs in some Mac environments. + import time + logging.error(f"[ComfyUI-Manager] fallback timestamp mode\n datetime module is invalid: '{dt.__file__}'") + + def current_timestamp(): + return str(time.time()).split('.')[0] + security_check.security_check() -cm_global.pip_blacklist = ['torch', 'torchsde', 'torchvision'] +cm_global.pip_blacklist = {'torch', 'torchsde', 'torchvision'} cm_global.pip_downgrade_blacklist = ['torch', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia'] @@ -46,26 +64,19 @@ def is_import_failed_extension(name): return name in import_failed_extensions -def check_file_logging(): - global enable_file_logging - try: - import configparser - config = configparser.ConfigParser() - config.read(manager_config_path) - default_conf = config['default'] - - if 'file_logging' in default_conf and default_conf['file_logging'].lower() == 'false': - enable_file_logging = False - except Exception: - pass - - -check_file_logging() - comfy_path = os.environ.get('COMFYUI_PATH') +comfy_base_path = os.environ.get('COMFYUI_FOLDERS_BASE_PATH') + +if comfy_path is None: + # legacy env var + comfy_path = os.environ.get('COMFYUI_PATH') + if comfy_path is None: comfy_path = os.path.abspath(os.path.dirname(sys.modules['__main__'].__file__)) +if comfy_base_path is None: + comfy_base_path = comfy_path + sys.__comfyui_manager_register_message_collapse = register_message_collapse sys.__comfyui_manager_is_import_failed_extension = is_import_failed_extension cm_global.register_api('cm.register_message_collapse', register_message_collapse) @@ -77,12 +88,39 @@ comfyui_manager_path = os.path.abspath(os.path.dirname(__file__)) custom_nodes_base_path = folder_paths.get_folder_paths('custom_nodes')[0] manager_files_path = os.path.abspath(os.path.join(folder_paths.get_user_directory(), 'default', 'ComfyUI-Manager')) manager_pip_overrides_path = os.path.join(manager_files_path, "pip_overrides.json") +manager_pip_blacklist_path = os.path.join(manager_files_path, "pip_blacklist.list") restore_snapshot_path = os.path.join(manager_files_path, "startup-scripts", "restore-snapshot.json") manager_config_path = os.path.join(manager_files_path, 'config.ini') cm_cli_path = os.path.join(comfyui_manager_path, "cm-cli.py") +default_conf = {} + +def read_config(): + global default_conf + try: + import configparser + config = configparser.ConfigParser(strict=False) + config.read(manager_config_path) + default_conf = config['default'] + except Exception: + pass + +def read_uv_mode(): + if 'use_uv' in default_conf: + manager_util.use_uv = default_conf['use_uv'].lower() == 'true' + +def check_file_logging(): + global enable_file_logging + if 'file_logging' in default_conf and default_conf['file_logging'].lower() == 'false': + enable_file_logging = False + + +read_config() +read_uv_mode() +check_file_logging() + cm_global.pip_overrides = {'numpy': 'numpy<2', 'ultralytics': 'ultralytics==8.3.40'} if os.path.exists(manager_pip_overrides_path): with open(manager_pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file: @@ -91,6 +129,14 @@ if os.path.exists(manager_pip_overrides_path): cm_global.pip_overrides['ultralytics'] = 'ultralytics==8.3.40' # for security +if os.path.exists(manager_pip_blacklist_path): + with open(manager_pip_blacklist_path, 'r', encoding="UTF-8", errors="ignore") as f: + for x in f.readlines(): + y = x.strip() + if y != '': + cm_global.pip_blacklist.add(y) + + def remap_pip_package(pkg): if pkg in cm_global.pip_overrides: res = cm_global.pip_overrides[pkg] @@ -136,6 +182,48 @@ def process_wrap(cmd_str, cwd_path, handler=None, env=None): return process.wait() +original_stdout = sys.stdout + + +def try_get_custom_nodes(x): + for custom_nodes_dir in folder_paths.get_folder_paths('custom_nodes'): + if x.startswith(custom_nodes_dir): + relative_path = os.path.relpath(x, custom_nodes_dir) + next_segment = relative_path.split(os.sep)[0] + if next_segment.lower() != 'comfyui-manager': + return next_segment, os.path.join(custom_nodes_dir, next_segment) + return None + + +def extract_origin_module(): + stack = traceback.extract_stack()[:-2] + for frame in reversed(stack): + info = try_get_custom_nodes(frame.filename) + if info is None: + continue + else: + return info + return None + +def extract_origin_module_from_strings(file_paths): + for filepath in file_paths: + info = try_get_custom_nodes(filepath) + if info is None: + continue + else: + return info + return None + + +def finalize_startup(): + res = {} + for k, v in cm_global.error_dict.items(): + if v['path'] in import_failed_extensions: + res[k] = v + + cm_global.error_dict = res + + try: if '--port' in sys.argv: port_index = sys.argv.index('--port') @@ -152,6 +240,9 @@ try: if enable_file_logging: log_path_base = os.path.join(folder_paths.user_directory, 'comfyui') + if not os.path.exists(folder_paths.user_directory): + os.makedirs(folder_paths.user_directory) + if os.path.exists(f"{log_path_base}{postfix}.log"): if os.path.exists(f"{log_path_base}{postfix}.prev.log"): if os.path.exists(f"{log_path_base}{postfix}.prev2.log"): @@ -215,8 +306,16 @@ try: if match: import_failed_extensions.add(match.group(1).strip()) - if 'Starting server' in message: - is_start_mode = False + if not self.is_stdout: + origin_info = extract_origin_module() + if origin_info is not None: + name, origin_path = origin_info + + if name != 'comfyui-manager': + if name not in cm_global.error_dict: + cm_global.error_dict[name] = {'name': name, 'path': origin_path, 'msg': ''} + + cm_global.error_dict[name]['msg'] += message if not self.is_stdout: match = re.search(pat_tqdm, message) @@ -235,7 +334,7 @@ try: def sync_write(self, message, file_only=False): with log_lock: - timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] + timestamp = current_timestamp() if self.last_char != '\n': log_file.write(message) else: @@ -301,12 +400,34 @@ try: if match: import_failed_extensions.add(match.group(1).strip()) + if 'Traceback' in message: + file_lists = self._extract_file_paths(message) + origin_info = extract_origin_module_from_strings(file_lists) + if origin_info is not None: + name, origin_path = origin_info + + if name != 'comfyui-manager': + if name not in cm_global.error_dict: + cm_global.error_dict[name] = {'name': name, 'path': origin_path, 'msg': ''} + + cm_global.error_dict[name]['msg'] += message + if 'Starting server' in message: is_start_mode = False + finalize_startup() if stderr_wrapper: stderr_wrapper.sync_write(message+'\n', file_only=True) + def _extract_file_paths(self, msg): + file_paths = [] + for line in msg.split('\n'): + match = re.findall(r'File \"(.*?)\", line \d+', line) + for x in match: + if not x.startswith('<'): + file_paths.extend(match) + return file_paths + logging.getLogger().addHandler(LoggingHandler()) @@ -315,35 +436,41 @@ except Exception as e: print(f"[ComfyUI-Manager] Logging failed: {e}") -try: - import git # noqa: F401 - import toml # noqa: F401 -except ModuleNotFoundError: - my_path = os.path.dirname(__file__) - requirements_path = os.path.join(my_path, "requirements.txt") - - print("## ComfyUI-Manager: installing dependencies. (GitPython)") +def ensure_dependencies(): try: - result = subprocess.check_output([sys.executable, '-s', '-m', 'pip', 'install', '-r', requirements_path]) - except subprocess.CalledProcessError: - print("## [ERROR] ComfyUI-Manager: Attempting to reinstall dependencies using an alternative method.") + import git # noqa: F401 + import toml # noqa: F401 + import rich # noqa: F401 + import chardet # noqa: F401 + except ModuleNotFoundError: + my_path = os.path.dirname(__file__) + requirements_path = os.path.join(my_path, "requirements.txt") + + print("## ComfyUI-Manager: installing dependencies. (GitPython)") try: - result = subprocess.check_output([sys.executable, '-s', '-m', 'pip', 'install', '--user', '-r', requirements_path]) + subprocess.check_output(manager_util.make_pip_cmd(['install', '-r', requirements_path])) except subprocess.CalledProcessError: - print("## [ERROR] ComfyUI-Manager: Failed to install the GitPython package in the correct Python environment. Please install it manually in the appropriate environment. (You can seek help at https://app.element.io/#/room/%23comfyui_space%3Amatrix.org)") + print("## [ERROR] ComfyUI-Manager: Attempting to reinstall dependencies using an alternative method.") + try: + subprocess.check_output(manager_util.make_pip_cmd(['install', '--user', '-r', requirements_path])) + except subprocess.CalledProcessError: + print("## [ERROR] ComfyUI-Manager: Failed to install the GitPython package in the correct Python environment. Please install it manually in the appropriate environment. (You can seek help at https://app.element.io/#/room/%23comfyui_space%3Amatrix.org)") -try: - print("## ComfyUI-Manager: installing dependencies done.") -except: - # maybe we should sys.exit() here? there is at least two screens worth of error messages still being pumped after our error messages - print("## [ERROR] ComfyUI-Manager: GitPython package seems to be installed, but failed to load somehow. Make sure you have a working git client installed") + try: + print("## ComfyUI-Manager: installing dependencies done.") + except: + # maybe we should sys.exit() here? there is at least two screens worth of error messages still being pumped after our error messages + print("## [ERROR] ComfyUI-Manager: GitPython package seems to be installed, but failed to load somehow. Make sure you have a working git client installed") + +ensure_dependencies() -print("** ComfyUI startup time:", datetime.now()) +print("** ComfyUI startup time:", current_timestamp()) print("** Platform:", platform.system()) print("** Python version:", sys.version) print("** Python executable:", sys.executable) print("** ComfyUI Path:", comfy_path) +print("** ComfyUI Base Folder Path:", comfy_base_path) print("** User directory:", folder_paths.user_directory) print("** ComfyUI-Manager config path:", manager_config_path) @@ -356,11 +483,6 @@ else: def read_downgrade_blacklist(): try: - import configparser - config = configparser.ConfigParser() - config.read(manager_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 != ''] @@ -375,26 +497,20 @@ read_downgrade_blacklist() def check_bypass_ssl(): try: - import configparser import ssl - config = configparser.ConfigParser() - config.read(manager_config_path) - default_conf = config['default'] - if 'bypass_ssl' in default_conf and default_conf['bypass_ssl'].lower() == 'true': print(f"[ComfyUI-Manager] WARN: Unsafe - SSL verification bypass option is Enabled. (see {manager_config_path})") ssl._create_default_https_context = ssl._create_unverified_context # SSL certificate error fix. except Exception: pass - check_bypass_ssl() # Perform install processed_install = set() script_list_path = os.path.join(folder_paths.user_directory, "default", "ComfyUI-Manager", "startup-scripts", "install-scripts.txt") -pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages()) +pip_fixer = manager_util.PIPFixer(manager_util.get_installed_packages(), comfy_path, manager_files_path) def is_installed(name): @@ -403,7 +519,7 @@ def is_installed(name): if name.startswith('#'): return True - pattern = r'([^<>!=]+)([<>!=]=?)([0-9.a-zA-Z]*)' + pattern = r'([^<>!~=]+)([<>!~=]=?)([0-9.a-zA-Z]*)' match = re.search(pattern, name) if match: @@ -418,7 +534,7 @@ def is_installed(name): if match is None: if name in pips: return True - elif match.group(2) in ['<=', '==', '<']: + elif match.group(2) in ['<=', '==', '<', '~=']: if name in pips: if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)): print(f"[ComfyUI-Manager] skip black listed pip installation: '{name}'") @@ -475,7 +591,8 @@ if os.path.exists(restore_snapshot_path): print("[ComfyUI-Manager] Restore snapshot.") new_env = os.environ.copy() - new_env["COMFYUI_PATH"] = comfy_path + if 'COMFYUI_FOLDERS_BASE_PATH' not in new_env: + new_env["COMFYUI_FOLDERS_BASE_PATH"] = comfy_path cmd_str = [sys.executable, cm_cli_path, 'restore-snapshot', restore_snapshot_path] exit_code = process_wrap(cmd_str, custom_nodes_base_path, handler=msg_capture, env=new_env) @@ -500,17 +617,18 @@ def execute_lazy_install_script(repo_path, executable): if os.path.exists(requirements_path): print(f"Install: pip packages for '{repo_path}'") - with open(requirements_path, "r") as requirements_file: - for line in requirements_file: - package_name = remap_pip_package(line.strip()) - if package_name and not is_installed(package_name): - if '--index-url' in package_name: - s = package_name.split('--index-url') - install_cmd = [sys.executable, "-m", "pip", "install", s[0].strip(), '--index-url', s[1].strip()] - else: - install_cmd = [sys.executable, "-m", "pip", "install", package_name] - process_wrap(install_cmd, repo_path) + lines = manager_util.robust_readlines(requirements_path) + for line in lines: + package_name = remap_pip_package(line.strip()) + if package_name and not is_installed(package_name): + if '--index-url' in package_name: + s = package_name.split('--index-url') + install_cmd = manager_util.make_pip_cmd(["install", s[0].strip(), '--index-url', s[1].strip()]) + else: + install_cmd = manager_util.make_pip_cmd(["install", package_name]) + + process_wrap(install_cmd, repo_path) if os.path.exists(install_script_path) and f'{repo_path}/install.py' not in processed_install: processed_install.add(f'{repo_path}/install.py') @@ -518,7 +636,8 @@ def execute_lazy_install_script(repo_path, executable): install_cmd = [executable, "install.py"] new_env = os.environ.copy() - new_env["COMFYUI_PATH"] = comfy_path + if 'COMFYUI_FOLDERS_BASE_PATH' not in new_env: + new_env["COMFYUI_FOLDERS_BASE_PATH"] = comfy_path process_wrap(install_cmd, repo_path, env=new_env) @@ -573,19 +692,43 @@ def execute_lazy_cnr_switch(target, zip_url, from_path, to_path, no_deps, custom file.write('\n'.join(list(extracted))) -def execute_migration(moves): - import shutil - for x in moves: - if os.path.exists(x[0]) and not os.path.exists(x[1]): - shutil.move(x[0], x[1]) - print(f"[ComfyUI-Manager] MIGRATION: '{x[0]}' -> '{x[1]}'") +script_executed = False - -# Check if script_list_path exists -if os.path.exists(script_list_path): +def execute_startup_script(): + global script_executed print("\n#######################################################################") print("[ComfyUI-Manager] Starting dependency installation/(de)activation for the extension\n") + custom_nodelist_cache = None + + def get_custom_node_paths(): + nonlocal custom_nodelist_cache + if custom_nodelist_cache is None: + custom_nodelist_cache = set() + for base in folder_paths.get_folder_paths('custom_nodes'): + for x in os.listdir(base): + fullpath = os.path.join(base, x) + if os.path.isdir(fullpath): + custom_nodelist_cache.add(fullpath) + + return custom_nodelist_cache + + def execute_lazy_delete(path): + # Validate to prevent arbitrary paths from being deleted + if path not in get_custom_node_paths(): + logging.error(f"## ComfyUI-Manager: The scheduled '{path}' is not a custom node path, so the deletion has been canceled.") + return + + if not os.path.exists(path): + logging.info(f"## ComfyUI-Manager: SKIP-DELETE => '{path}' (already deleted)") + return + + try: + shutil.rmtree(path) + logging.info(f"## ComfyUI-Manager: DELETE => '{path}'") + except Exception as e: + logging.error(f"## ComfyUI-Manager: Failed to delete '{path}' ({e})") + executed = set() # Read each line from the file and convert it to a list using eval with open(script_list_path, 'r', encoding="UTF-8", errors="ignore") as file: @@ -606,8 +749,8 @@ if os.path.exists(script_list_path): execute_lazy_cnr_switch(script[0], script[2], script[3], script[4], script[5], script[6]) execute_lazy_install_script(script[3], script[7]) - elif script[1] == "#LAZY-MIGRATION": - execute_migration(script[2]) + elif script[1] == "#LAZY-DELETE-NODEPACK": + execute_lazy_delete(script[2]) elif os.path.exists(script[0]): if script[1] == "#FORCE": @@ -617,38 +760,72 @@ if os.path.exists(script_list_path): continue print(f"\n## ComfyUI-Manager: EXECUTE => {script[1:]}") - print(f"\n## Execute install/(de)activation script for '{script[0]}'") + print(f"\n## Execute management script for '{script[0]}'") new_env = os.environ.copy() - new_env["COMFYUI_PATH"] = comfy_path + if 'COMFYUI_FOLDERS_BASE_PATH' not in new_env: + new_env["COMFYUI_FOLDERS_BASE_PATH"] = comfy_path exit_code = process_wrap(script[1:], script[0], env=new_env) if exit_code != 0: - print(f"install/(de)activation script failed: {script[0]}") + print(f"management script failed: {script[0]}") else: print(f"\n## ComfyUI-Manager: CANCELED => {script[1:]}") except Exception as e: - print(f"[ERROR] Failed to execute install/(de)activation script: {line} / {e}") + print(f"[ERROR] Failed to execute management script: {line} / {e}") # Remove the script_list_path file if os.path.exists(script_list_path): + script_executed = True os.remove(script_list_path) print("\n[ComfyUI-Manager] Startup script completed.") print("#######################################################################\n") + +# Check if script_list_path exists +if os.path.exists(script_list_path): + execute_startup_script() + + pip_fixer.fix_broken() del processed_install del pip_fixer manager_util.clear_pip_cache() +if script_executed: + # Restart + print("[ComfyUI-Manager] Restarting to reapply dependency installation.") + + if '__COMFY_CLI_SESSION__' in os.environ: + with open(os.path.join(os.environ['__COMFY_CLI_SESSION__'] + '.reboot'), 'w'): + pass + + print("--------------------------------------------------------------------------\n") + exit(0) + else: + sys_argv = sys.argv.copy() + + if sys_argv[0].endswith("__main__.py"): # this is a python module + module_name = os.path.basename(os.path.dirname(sys_argv[0])) + cmds = [sys.executable, '-m', module_name] + sys_argv[1:] + elif sys.platform.startswith('win32'): + cmds = ['"' + sys.executable + '"', '"' + sys_argv[0] + '"'] + sys_argv[1:] + else: + cmds = [sys.executable] + sys_argv + + print(f"Command: {cmds}", flush=True) + print("--------------------------------------------------------------------------\n") + + os.execv(sys.executable, cmds) + def check_windows_event_loop_policy(): try: import configparser - config = configparser.ConfigParser() + config = configparser.ConfigParser(strict=False) config.read(manager_config_path) default_conf = config['default'] diff --git a/pyproject.toml b/pyproject.toml index 4c8fefe3..310265d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,9 @@ [project] name = "comfyui-manager" description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI." -version = "3.5.1" +version = "3.31.7" license = { file = "LICENSE.txt" } -dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"] +dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions", "toml", "uv", "chardet"] [project.urls] Repository = "https://github.com/ltdrdata/ComfyUI-Manager" diff --git a/requirements.txt b/requirements.txt index ee4b90e4..38724e16 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,4 +6,6 @@ huggingface-hub>0.20 typer rich typing-extensions -toml \ No newline at end of file +toml +uv +chardet diff --git a/scripts/install-comfyui-venv-linux.sh b/scripts/install-comfyui-venv-linux.sh index 016f35f3..5a736ef1 100755 --- a/scripts/install-comfyui-venv-linux.sh +++ b/scripts/install-comfyui-venv-linux.sh @@ -6,7 +6,7 @@ python -m venv venv source venv/bin/activate python -m pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121 python -m pip install -r requirements.txt -python -m pip install -r custom_nodes/ComfyUI-Manager/requirements.txt +python -m pip install -r custom_nodes/comfyui-manager/requirements.txt cd .. echo "#!/bin/bash" > run_gpu.sh echo "cd ComfyUI" >> run_gpu.sh diff --git a/scripts/install-comfyui-venv-win.bat b/scripts/install-comfyui-venv-win.bat index 46c7ee14..47470098 100755 --- a/scripts/install-comfyui-venv-win.bat +++ b/scripts/install-comfyui-venv-win.bat @@ -6,7 +6,7 @@ python -m venv venv call venv/Scripts/activate python -m pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121 python -m pip install -r requirements.txt -python -m pip install -r custom_nodes/ComfyUI-Manager/requirements.txt +python -m pip install -r custom_nodes/comfyui-manager/requirements.txt cd .. echo "cd ComfyUI" >> run_gpu.bat echo "call venv/Scripts/activate" >> run_gpu.bat diff --git a/scripts/install-manager-for-portable-version.bat b/scripts/install-manager-for-portable-version.bat index ad4e97b5..6eb58b74 100644 --- a/scripts/install-manager-for-portable-version.bat +++ b/scripts/install-manager-for-portable-version.bat @@ -1,2 +1,3 @@ .\python_embeded\python.exe -s -m pip install gitpython .\python_embeded\python.exe -c "import git; git.Repo.clone_from('https://github.com/ltdrdata/ComfyUI-Manager', './ComfyUI/custom_nodes/comfyui-manager')" +.\python_embeded\python.exe -m pip install -r ./ComfyUI/custom_nodes/comfyui-manager/requirements.txt