diff --git a/.cache/.cache_directory b/.cache/.cache_directory deleted file mode 100644 index e69de29b..00000000 diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml new file mode 100644 index 00000000..f96c027a --- /dev/null +++ b/.github/workflows/publish-to-pypi.yml @@ -0,0 +1,58 @@ +name: Publish to PyPI + +on: + workflow_dispatch: + push: + branches: + - draft-v4 + paths: + - "pyproject.toml" + +jobs: + build-and-publish: + runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'ltdrdata' || github.repository_owner == 'Comfy-Org' }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.9' + + - name: Install build dependencies + run: | + python -m pip install --upgrade pip + python -m pip install build twine + + - name: Get current version + id: current_version + run: | + CURRENT_VERSION=$(grep -oP 'version = "\K[^"]+' pyproject.toml) + echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT + echo "Current version: $CURRENT_VERSION" + + - name: Build package + run: python -m build + + - name: Create GitHub Release + id: create_release + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + files: dist/* + tag_name: v${{ steps.current_version.outputs.version }} + draft: false + prerelease: false + generate_release_notes: true + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYPI_TOKEN }} + skip-existing: true + verbose: true \ No newline at end of file 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/.github/workflows/ruff.yml b/.github/workflows/ruff.yml new file mode 100644 index 00000000..4c1a0259 --- /dev/null +++ b/.github/workflows/ruff.yml @@ -0,0 +1,23 @@ +name: Python Linting + +on: [push, pull_request] + +jobs: + ruff: + name: Run Ruff + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.x + + - name: Install Ruff + run: pip install ruff + + - name: Run Ruff + run: ruff check . diff --git a/.gitignore b/.gitignore index fb07dcff..33ee743b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ __pycache__/ .idea/ .vscode/ +.history/ +*.code-workspace .tmp .cache config.ini @@ -15,3 +17,4 @@ github-stats-cache.json pip_overrides.json *.json check2.sh +/venv/ \ No newline at end of file diff --git a/README.md b/README.md index 03b63335..ea4919a7 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,14 @@ **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](misc/menu.jpg) +![menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/refs/heads/Main/ComfyUI-Manager/images/dialog.jpg) ## NOTICE -* V2.48.1: Security policy has been changed. Downloads of models in the list are allowed under the 'normal' security level. -* V2.47: Security policy has been changed. The former 'normal' is now 'normal-', and 'normal' no longer allows high-risk features, even if your ComfyUI is local. -* V2.37 Show a āœ… mark to accounts that have been active on GitHub for more than six months. -* V2.33 Security policy is applied. -* V2.21 [cm-cli](docs/en/cm-cli.md) tool is added. -* V2.18 to V2.18.3 is not functioning due to a severe bug. Users on these versions are advised to promptly update to V2.18.4. Please navigate to the `ComfyUI/custom_nodes/ComfyUI-Manager` directory and execute `git pull` to update. +* V3.38: **Security patch** - Manager data migrated to protected path. See [Migration Guide](docs/en/v3.38-userdata-security-migration.md). +* 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://registry.comfy.org/](https://registry.comfy.org/). * You can see whole nodes info on [ComfyUI Nodes Info](https://ltdrdata.github.io/) page. ## Installation @@ -19,8 +18,8 @@ To install ComfyUI-Manager in addition to an existing installation of ComfyUI, you can follow the following steps: -1. goto `ComfyUI/custom_nodes` dir in terminal(cmd) -2. `git clone https://github.com/ltdrdata/ComfyUI-Manager.git` +1. Go to `ComfyUI/custom_nodes` dir in terminal (cmd) +2. `git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager` 3. Restart ComfyUI @@ -30,9 +29,10 @@ 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 -3. double click `install-manager-for-portable-version.bat` batch file +- Don't click. Right-click the link and choose 'Save As...' +3. Double-click `install-manager-for-portable-version.bat` batch file -![portable-install](misc/portable-install.png) +![portable-install](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/portable-install.jpg) ### Installation[method3] (Installation through comfy-cli: install ComfyUI and ComfyUI-Manager at once.) @@ -48,35 +48,35 @@ pip install comfy-cli comfy install ``` -Linux/OSX: +Linux/macOS: ```commandline python -m venv venv . venv/bin/activate pip install comfy-cli comfy install ``` +* See also: https://github.com/Comfy-Org/comfy-cli -### Installation[method4] (Installation for linux+venv: ComfyUI + ComfyUI-Manager) +### Installation[method4] (Installation for Linux+venv: ComfyUI + ComfyUI-Manager) To install ComfyUI with ComfyUI-Manager on Linux using a venv environment, you can follow these steps: * **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 choose '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` ### Installation Precautions -* **DO**: `ComfyUI-Manager` files must be accurately located in the path `ComfyUI/custom_nodes/ComfyUI-Manager` +* **DO**: `ComfyUI-Manager` files must be accurately located in the path `ComfyUI/custom_nodes/comfyui-manager` * Installing in a compressed file format is not recommended. * **DON'T**: Decompress directly into the `ComfyUI/custom_nodes` location, resulting in the Manager contents like `__init__.py` being placed directly in that directory. * You have to remove all ComfyUI-Manager files from `ComfyUI/custom_nodes` * **DON'T**: In a form where decompression occurs in a path such as `ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager`. - * You have to move `ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager` to `ComfyUI/custom_nodes/ComfyUI-Manager` * **DON'T**: In a form where decompression occurs in a path such as `ComfyUI/custom_nodes/ComfyUI-Manager-main`. - * In such cases, `ComfyUI-Manager` may operate, but it won't be recognized within `ComfyUI-Manager`, and updates cannot be performed. It also poses the risk of duplicate installations. - * You have to rename `ComfyUI/custom_nodes/ComfyUI-Manager-main` to `ComfyUI/custom_nodes/ComfyUI-Manager` + * In such cases, `ComfyUI-Manager` may operate, but it won't be recognized within `ComfyUI-Manager`, and updates cannot be performed. It also poses the risk of duplicate installations. Remove it and install properly via `git clone` method. You can execute ComfyUI by running either `./run_gpu.sh` or `./run_cpu.sh` depending on your system configuration. @@ -87,42 +87,17 @@ This repository provides Colab notebooks that allow you to install and use Comfy * Support for basic installation of ComfyUI-Manager * Support for automatically installing dependencies of custom nodes upon restarting Colab notebooks. -## Changes -* **2.38** `Install Custom Nodes` menu is changed to `Custom Nodes Manager`. -* **2.21** [cm-cli](docs/en/cm-cli.md) tool is added. -* **2.4** Copy the connections of the nearest node by double-clicking. -* **2.2.3** Support Components System -* **0.29** Add `Update all` feature -* **0.25** support db channel - * You can directly modify the db channel settings in the `config.ini` file. - * If you want to maintain a new DB channel, please modify the `channels.list` and submit a PR. -* **0.23** support multiple selection -* **0.18.1** `skip update check` feature added. - * A feature that allows quickly opening windows in environments where update checks take a long time. -* **0.17.1** Bug fix for the issue where enable/disable of the web extension was not working. Compatibility patch for StableSwarmUI. - * Requires latest version of ComfyUI (Revision: 1240) -* **0.17** Support preview method setting feature. -* **0.14** Support robust update. -* **0.13** Support additional 'pip' section for install spec. -* **0.12** Better installation support for Windows. -* **0.9** Support keyword search in installer menu. -* **V0.7.1** Bug fix for the issue where updates were not being applied on Windows. - * **For those who have been using versions 0.6, please perform a manual git pull in the custom_nodes/ComfyUI-Manager directory.** -* **V0.7** To address the issue of a slow list refresh, separate the fetch update and update check processes. -* **V0.6** Support extension installation for missing nodes. -* **V0.5** Removed external git program dependencies. - ## How To Use 1. Click "Manager" button on main menu - ![mainmenu](misc/main.jpg) + ![mainmenu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/topbar.jpg) 2. If you click on 'Install Custom Nodes' or 'Install Models', an installer dialog will open. - ![menu](misc/menu.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. @@ -138,9 +113,9 @@ This repository provides Colab notebooks that allow you to install and use Comfy 3. Click 'Install' or 'Try Install' button. - ![node-install-dialog](misc/custom-nodes.jpg) + ![node-install-dialog](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/custom-nodes.jpg) - ![model-install-dialog](misc/models.png) + ![model-install-dialog](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/models.jpg) * Installed: This item is already installed. * Install: Clicking this button will install the item. @@ -150,42 +125,66 @@ This repository provides Colab notebooks that allow you to install and use Comfy * Channel settings have a broad impact, affecting not only the node list but also all functions like "Update all." * Conflicted Nodes with a yellow background show a list of nodes conflicting with other extensions in the respective extension. This issue needs to be addressed by the developer, and users should be aware that due to these conflicts, some nodes may not function correctly and may need to be installed accordingly. -4. If you set the `Badge:` item in the menu as `Badge: Nickname`, `Badge: Nickname (hide built-in)`, `Badge: #ID Nickname`, `Badge: #ID Nickname (hide built-in)` the information badge will be displayed on the node. - * When selecting (hide built-in), it hides the 🦊 icon, which signifies built-in nodes. - * Nodes without any indication on the badge are custom nodes that Manager cannot recognize. - * `Badge: Nickname` displays the nickname of custom nodes, while `Badge: #ID Nickname` also includes the internal ID of the node. - - ![model-install-dialog](misc/nickname.jpg) - - -5. Share - ![menu](misc/main.jpg) ![share](misc/share.jpg) +4. Share + ![menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/topbar.jpg) ![share](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/share.jpg) * You can share the workflow by clicking the Share button at the bottom of the main menu or selecting Share Output from the Context Menu of the Image node. * Currently, it supports sharing via [https://comfyworkflows.com/](https://comfyworkflows.com/), [https://openart.ai](https://openart.ai/workflows/dev), [https://youml.com](https://youml.com) as well as through the Matrix channel. - ![menu](misc/share-setting.jpg) + ![menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/share-setting.jpg) - * Through the Share settings in the Manager menu, you can configure the behavior of the Share button in the Main menu or Share Ouput button on Context Menu. + * Through the Share settings in the Manager menu, you can configure the behavior of the Share button in the Main menu or Share Output button on Context Menu. * `None`: hide from Main menu * `All`: Show a dialog where the user can select a title for sharing. +## Paths +Starting from V3.38, Manager uses a protected system path for enhanced security. + +* + * If executed without any options, the path defaults to ComfyUI/user. + * It can be set using --user-directory . + +| ComfyUI Version | Manager Path | +|-----------------|--------------| +| v0.3.76+ (with System User API) | `/__manager/` | +| Older versions | `/default/ComfyUI-Manager/` | + +* Basic config files: `config.ini` +* Configurable channel lists: `channels.list` +* Configurable pip overrides: `pip_overrides.json` +* Configurable pip blacklist: `pip_blacklist.list` +* Configurable pip auto fix: `pip_auto_fix.list` +* Saved snapshot files: `snapshots/` +* Startup script files: `startup-scripts/` +* Component files: `components/` + +> **Note**: See [Migration Guide](docs/en/v3.38-userdata-security-migration.md) for upgrade details. + + +## `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. - * Snapshot file dir: `ComfyUI-Manager/snapshots` + * Snapshot file dir: `/default/ComfyUI-Manager/snapshots` * You can rename snapshot file. * Press the "Restore" button to revert to the installation status of the respective snapshot. * However, for custom nodes not managed by Git, snapshot support is incomplete. * When you press `Restore`, it will take effect on the next ComfyUI startup. - * The selected snapshot file is saved in `ComfyUI-Manager/startup-scripts/restore-snapshot.json`, and upon restarting ComfyUI, the snapshot is applied and then deleted. + * The selected snapshot file is saved in `/default/ComfyUI-Manager/startup-scripts/restore-snapshot.json`, and upon restarting ComfyUI, the snapshot is applied and then deleted. -![model-install-dialog](misc/snapshot.jpg) +![model-install-dialog](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/snapshot.jpg) -## cm-cli: command line tools for power user +## cm-cli: command line tools for power users * A tool is provided that allows you to use the features of ComfyUI-Manager without running ComfyUI. * For more details, please refer to the [cm-cli documentation](docs/en/cm-cli.md). @@ -199,48 +198,18 @@ This repository provides Colab notebooks that allow you to install and use Comfy ## Custom node support guide -* Currently, the system operates by cloning the git repository and sequentially installing the dependencies listed in requirements.txt using pip, followed by invoking the install.py script. In the future, we plan to discuss and determine the specifications for supporting custom nodes. +* **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. -* Please submit a pull request to update either the custom-node-list.json or model-list.json file. +* https://docs.comfy.org/registry/overview +* https://github.com/Comfy-Org/rfcs -* The scanner currently provides a detection function for missing nodes, which is capable of detecting nodes described by the following two patterns. - -``` -NODE_CLASS_MAPPINGS = { - "ExecutionSwitch": ExecutionSwitch, - "ExecutionBlocker": ExecutionBlocker, - ... -} - -NODE_CLASS_MAPPINGS.update({ - "UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor, - "SemSegPreprocessor": Uniformer_SemSegPreprocessor, -}) -``` - * Or you can provide manually `node_list.json` file. - -* When you write a docstring in the header of the .py file for the Node as follows, it will be used for managing the database in the Manager. - * Currently, only the `nickname` is being used, but other parts will also be utilized in the future. - * The `nickname` will be the name displayed on the badge of the node. - * If there is no `nickname`, it will be truncated to 20 characters from the arbitrarily written title and used. -``` -""" -@author: Dr.Lt.Data -@title: Impact Pack -@nickname: Impact Pack -@description: This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler. -""" -``` - - -* **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.** @@ -259,12 +228,12 @@ NODE_CLASS_MAPPINGS.update({ } ``` * `` Ensure that the timestamp is always unique. - * "components" should have the same structure as the content of the file stored in ComfyUI-Manager/components. + * "components" should have the same structure as the content of the file stored in `/default/ComfyUI-Manager/components`. * ``: The name should be in the format `::`. - * ``: In the nodedata of the group node. + * ``: In the node data of the group node. * ``: Only two formats are allowed: `major.minor.patch` or `major.minor`. (e.g. `1.0`, `2.2.1`) * ``: Saved time - * ``: If the packname is not empty, the category becomes packname/workflow, and it is saved in the .pack file in ComfyUI-Manager/components. + * ``: If the packname is not empty, the category becomes packname/workflow, and it is saved in the .pack file in `/default/ComfyUI-Manager/components`. * ``: If there is neither a category nor a packname, it is saved in the components category. ``` "version":"1.0", @@ -279,23 +248,49 @@ NODE_CLASS_MAPPINGS.update({ * Dragging and dropping or pasting a single component will add a node. However, when adding multiple components, nodes will not be added. -## Support of missing nodes installation +## Support for installing missing nodes -![missing-menu](misc/missing-menu.jpg) +![missing-menu](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/missing-menu.jpg) * When you click on the ```Install Missing Custom Nodes``` button in the menu, it displays a list of extension nodes that contain nodes not currently present in the workflow. -![missing-list](misc/missing-list.jpg) +![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`. -* Fix node(recreate): When right-clicking on a node and selecting `Fix node (recreate)`, you can recreate the node. The widget's values are reset, while the connections maintain those with the same names. +* Fix node (recreate): When right-clicking on a node and selecting `Fix node (recreate)`, you can recreate the node. The widget's values are reset, while the connections maintain those with the same names. * It is used to correct errors in nodes of old workflows created before, which are incompatible with the version changes of custom nodes. -* Double-Click Node Title: You can set the double click behavior of nodes in the ComfyUI-Manager menu. +* Double-Click Node Title: You can set the double-click behavior of nodes in the ComfyUI-Manager menu. * `Copy All Connections`, `Copy Input Connections`: Double-clicking a node copies the connections of the nearest node. * This action targets the nearest node within a straight-line distance of 1000 pixels from the center of the node. * In the case of `Copy All Connections`, it duplicates existing outputs, but since it does not allow duplicate connections, the existing output connections of the original node are disconnected. @@ -316,10 +311,41 @@ NODE_CLASS_MAPPINGS.update({ * 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) + +## 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: @@ -330,23 +356,20 @@ When you run the `scan.sh` script: * It updates the `github-stats.json`. * This uses the GitHub API, so set your token with `export GITHUB_TOKEN=your_token_here` to avoid quickly reaching the rate limit and malfunctioning. - * To skip this step, add the `--skip-update-stat` option. + * To skip this step, add the `--skip-stat-update` option. * The `--skip-all` option applies both `--skip-update` and `--skip-stat-update`. ## Troubleshooting -* If your `git.exe` is installed in a specific location other than system git, please install ComfyUI-Manager and run ComfyUI. Then, specify the path including the file name in `git_exe = ` in the ComfyUI-Manager/config.ini file that is generated. +* If your `git.exe` is installed in a specific location other than system git, please install ComfyUI-Manager and run ComfyUI. Then, specify the path including the file name in `git_exe = ` in the `/default/ComfyUI-Manager/config.ini` file that is generated. * If updating ComfyUI-Manager itself fails, please go to the **ComfyUI-Manager** directory and execute the command `git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull`. - * Alternatively, download the update-fix.py script from [update-fix.py](https://github.com/ltdrdata/ComfyUI-Manager/raw/main/scripts/update-fix.py) and place it in the ComfyUI-Manager directory. Then, run it using your Python command. - For the portable version, use `..\..\..\python_embeded\python.exe update-fix.py`. -* For cases where nodes like `PreviewTextNode` from `ComfyUI_Custom_Nodes_AlekPet` are only supported as front-end nodes, we currently do not provide missing nodes for them. -* Currently, `vid2vid` is not being updated, causing compatibility issues. -* If you encounter the error message `Overlapped Object has pending operation at deallocation on Comfyui Manager load` under Windows +* If you encounter the error message `Overlapped Object has pending operation at deallocation on ComfyUI Manager load` under Windows * Edit `config.ini` file: add `windows_selector_event_loop_policy = True` -* if `SSL: CERTIFICATE_VERIFY_FAILED` error is occured. +* If the `SSL: CERTIFICATE_VERIFY_FAILED` error occurs. * Edit `config.ini` file: add `bypass_ssl = True` + ## Security policy * Edit `config.ini` file: add `security_level = ` * `strong` @@ -375,41 +398,6 @@ When you run the `scan.sh` script: * Update ComfyUI -## TODO: Unconventional form of custom node list - -* https://github.com/diontimmer/Sample-Diffusion-ComfyUI-Extension -* https://github.com/senshilabs/NINJA-plugin -* https://github.com/MockbaTheBorg/Nodes -* https://github.com/StartHua/Comfyui_GPT_Story -* https://github.com/NielsGercama/comfyui_customsampling -* https://github.com/wrightdaniel2017/ComfyUI-VideoLipSync -* https://github.com/bxdsjs/ComfyUI-Image-preprocessing -* https://github.com/SMUELDigital/ComfyUI-ONSET -* https://github.com/SimithWang/comfyui-renameImages -* https://github.com/icefairy64/comfyui-model-tilt -* https://github.com/andrewharp/ComfyUI-EasyNodes -* https://github.com/SimithWang/comfyui-renameImages -* https://github.com/Tcheko243/ComfyUI-Photographer-Alpha7-Nodes -* https://github.com/Limbicnation/ComfyUINodeToolbox -* https://github.com/APZmedia/ComfyUI-APZmedia-srtTools - -## Roadmap - -- [x] System displaying information about failed custom nodes import. -- [x] Guide for missing nodes in ComfyUI vanilla nodes. -- [x] Collision checking system for nodes with the same ID across extensions. -- [x] Template sharing system. (-> Component system based on Group Nodes) -- [x] 3rd party API system. -- [ ] Auto migration for custom nodes with changed structures. -- [ ] Version control feature for nodes. -- [ ] List of currently used custom nodes. -- [x] Download support multiple model download. -- [x] Model download via url. -- [x] List sorting (custom nodes). -- [x] List sorting (model). -- [ ] Provides description of node. - - # Disclaimer * This extension simply provides the convenience of installing custom nodes and does not guarantee their proper functioning. diff --git a/__init__.py b/__init__.py index a3b2e649..65aae69c 100644 --- a/__init__.py +++ b/__init__.py @@ -1,3 +1,7 @@ +""" +This file is the entry point for the ComfyUI-Manager package, handling CLI-only mode and initial setup. +""" + import os import sys @@ -5,11 +9,14 @@ cli_mode_flag = os.path.join(os.path.dirname(__file__), '.enable-cli-only-mode') if not os.path.exists(cli_mode_flag): sys.path.append(os.path.join(os.path.dirname(__file__), "glob")) - import manager_server - import share_3rdparty - WEB_DIRECTORY = "js" + import manager_server # noqa: F401 + import share_3rdparty # noqa: F401 + import cm_global + + if not cm_global.disable_front and not 'DISABLE_COMFYUI_MANAGER_FRONT' in os.environ: + WEB_DIRECTORY = "js" else: - print(f"\n[ComfyUI-Manager] !! cli-only-mode is enabled !!\n") + print("\n[ComfyUI-Manager] !! cli-only-mode is enabled !!\n") NODE_CLASS_MAPPINGS = {} __all__ = ['NODE_CLASS_MAPPINGS'] diff --git a/check.sh b/check.sh index d0df44b8..c3ef41c2 100755 --- a/check.sh +++ b/check.sh @@ -9,6 +9,7 @@ files=( "alter-list.json" "extension-node-map.json" "github-stats.json" + "extras.json" "node_db/new/custom-node-list.json" "node_db/new/model-list.json" "node_db/new/extension-node-map.json" @@ -36,7 +37,7 @@ find ~/.tmp/default -name "*.py" -print0 | xargs -0 grep -E "crypto|^_A=" echo echo CHECK3 -find ~/.tmp/default -name "requirements.txt" | xargs grep "^\s*https\\?:" -find ~/.tmp/default -name "requirements.txt" | xargs grep "\.whl" +find ~/.tmp/default -name "requirements.txt" | xargs grep "^\s*[^#]*https\?:" +find ~/.tmp/default -name "requirements.txt" | xargs grep "^\s*[^#].*\.whl" echo diff --git a/cm-cli.py b/cm-cli.py index cb0e7c98..04043423 100644 --- a/cm-cli.py +++ b/cm-cli.py @@ -3,8 +3,6 @@ import sys import traceback import json import asyncio -import subprocess -import shutil import concurrent import threading from typing import Optional @@ -14,55 +12,77 @@ from rich import print from typing_extensions import List, Annotated import re import git +import importlib + sys.path.append(os.path.dirname(__file__)) sys.path.append(os.path.join(os.path.dirname(__file__), "glob")) -import manager_core as core -import cm_global -comfyui_manager_path = os.path.dirname(__file__) +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: - print(f"\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, '..', '..')) + 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, '..', '..')) -startup_script_path = os.path.join(comfyui_manager_path, "startup-scripts") -custom_nodes_path = os.path.join(comfy_path, 'custom_nodes') +# This should be placed here +sys.path.append(comfy_path) -script_path = os.path.join(startup_script_path, "install-scripts.txt") -restore_snapshot_path = os.path.join(startup_script_path, "restore-snapshot.json") -pip_overrides_path = os.path.join(comfyui_manager_path, "pip_overrides.json") -git_script_path = os.path.join(comfyui_manager_path, "git_helper.py") +import utils.extra_config +import cm_global +import manager_core as core +from manager_core import unified_manager +import cnr_utils + +comfyui_manager_path = os.path.abspath(os.path.dirname(__file__)) + +cm_global.pip_blacklist = {'torch', 'torchaudio', 'torchsde', 'torchvision'} +cm_global.pip_downgrade_blacklist = ['torch', 'torchaudio', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia'] -cm_global.pip_blacklist = ['torch', 'torchsde', 'torchvision'] -cm_global.pip_downgrade_blacklist = ['torch', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia'] cm_global.pip_overrides = {} -if os.path.exists(pip_overrides_path): - with open(pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file: + +if os.path.exists(os.path.join(manager_util.comfyui_manager_path, "pip_overrides.json")): + with open(os.path.join(manager_util.comfyui_manager_path, "pip_overrides.json"), 'r', encoding="UTF-8", errors="ignore") as json_file: cm_global.pip_overrides = json.load(json_file) - cm_global.pip_overrides['numpy'] = 'numpy<2' + + +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 - comfy_ui_hash = repo.head.commit.hexsha 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() def read_downgrade_blacklist(): try: import configparser - config_path = os.path.join(os.path.dirname(__file__), "config.ini") - config = configparser.ConfigParser() - config.read(config_path) + config = configparser.ConfigParser(strict=False) + config.read(core.manager_config.path) default_conf = config['default'] if 'downgrade_blacklist' in default_conf: @@ -78,11 +98,21 @@ read_downgrade_blacklist() # This is a preparation step for manager_core class Ctx: + folder_paths = None + def __init__(self): self.channel = 'default' - self.mode = 'remote' - self.processed_install = set() - self.custom_node_map_cache = None + self.no_deps = False + self.mode = 'cache' + self.user_directory = None + 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: + Ctx.folder_paths = importlib.import_module('folder_paths') + except ImportError: + print("Warning: Unable to import folder_paths module") def set_channel_mode(self, channel, mode): if mode is not None: @@ -99,196 +129,198 @@ class Ctx: if channel is not None: self.channel = channel - def post_install(self, url): - try: - repository_name = url.split("/")[-1].strip() - repo_path = os.path.join(custom_nodes_path, repository_name) - repo_path = os.path.abspath(repo_path) + asyncio.run(unified_manager.reload(cache_mode=self.mode, dont_wait=False)) + asyncio.run(unified_manager.load_nightly(self.channel, self.mode)) - requirements_path = os.path.join(repo_path, 'requirements.txt') - install_script_path = os.path.join(repo_path, 'install.py') + def set_no_deps(self, no_deps): + self.no_deps = no_deps - if os.path.exists(requirements_path): - with open(requirements_path, 'r', encoding="UTF-8", errors="ignore") as file: - for line in file: - package_name = core.remap_pip_package(line.strip()) - if package_name and not core.is_installed(package_name): - install_cmd = [sys.executable, "-m", "pip", "install", package_name] - output = subprocess.check_output(install_cmd, cwd=repo_path, text=True) - for msg_line in output.split('\n'): - if 'Requirement already satisfied:' in msg_line: - print('.', end='') - else: - print(msg_line) + def set_user_directory(self, user_directory): + if user_directory is None: + return - if os.path.exists(install_script_path) and f'{repo_path}/install.py' not in self.processed_install: - self.processed_install.add(f'{repo_path}/install.py') - install_cmd = [sys.executable, install_script_path] - output = subprocess.check_output(install_cmd, cwd=repo_path, text=True) - for msg_line in output.split('\n'): - if 'Requirement already satisfied:' in msg_line: - print('.', end='') - else: - print(msg_line) + extra_model_paths_yaml = os.path.join(user_directory, 'extra_model_paths.yaml') + if os.path.exists(extra_model_paths_yaml): + utils.extra_config.load_extra_path_config(extra_model_paths_yaml) - except Exception: - print(f"ERROR: Restoring '{url}' is failed.") + core.update_user_directory(user_directory) - def restore_dependencies(self): - node_paths = [os.path.join(custom_nodes_path, name) for name in os.listdir(custom_nodes_path) - if os.path.isdir(os.path.join(custom_nodes_path, name)) and not name.endswith('.disabled')] + if os.path.exists(core.manager_pip_overrides_path): + with open(core.manager_pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file: + cm_global.pip_overrides = json.load(json_file) - total = len(node_paths) - i = 1 - for x in node_paths: - print(f"----------------------------------------------------------------------------------------------------") - print(f"Restoring [{i}/{total}]: {x}") - self.post_install(x) - i += 1 + 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 load_custom_nodes(self): - channel_dict = core.get_channel_dict() - if self.channel not in channel_dict: - print(f"[bold red]ERROR: Invalid channel is specified `--channel {self.channel}`[/bold red]", file=sys.stderr) - exit(1) + 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() - if self.mode not in ['remote', 'local', 'cache']: - print(f"[bold red]ERROR: Invalid mode is specified `--mode {self.mode}`[/bold red]", file=sys.stderr) - exit(1) + @staticmethod + def get_startup_scripts_path(): + return os.path.join(core.manager_startup_script_path, "install-scripts.txt") - channel_url = channel_dict[self.channel] + @staticmethod + def get_restore_snapshot_path(): + return os.path.join(core.manager_startup_script_path, "restore-snapshot.json") - res = {} - json_obj = asyncio.run(core.get_data_by_mode(self.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) + @staticmethod + def get_snapshot_path(): + return core.manager_snapshot_path - if 'id' in x: - if x['id'] not in res: - res[x['id']] = (x, True) - - return res - - def get_custom_node_map(self): - if self.custom_node_map_cache is not None: - return self.custom_node_map_cache - - self.custom_node_map_cache = self.load_custom_nodes() - - return self.custom_node_map_cache - - def lookup_node_path(self, node_name, robust=False): - if '..' in node_name: - print(f"\n[bold red]ERROR: Invalid node name '{node_name}'[/bold red]\n") - exit(2) - - custom_node_map = self.get_custom_node_map() - if node_name in custom_node_map: - node_url = custom_node_map[node_name][0]['files'][0] - repo_name = node_url.split('/')[-1] - node_path = os.path.join(custom_nodes_path, repo_name) - return node_path, custom_node_map[node_name][0] - elif robust: - node_path = os.path.join(custom_nodes_path, node_name) - return node_path, None - - print(f"\n[bold red]ERROR: Invalid node name '{node_name}'[/bold red]\n") - exit(2) + @staticmethod + def get_custom_nodes_paths(): + if Ctx.folder_paths is None: + print("Error: folder_paths module is not available") + return [] + return Ctx.folder_paths.get_folder_paths('custom_nodes') -cm_ctx = Ctx() +cmd_ctx = Ctx() -def install_node(node_name, is_all=False, cnt_msg=''): - if core.is_valid_url(node_name): +def install_node(node_spec_str, is_all=False, cnt_msg='', **kwargs): + exit_on_fail = kwargs.get('exit_on_fail', False) + print(f"install_node exit on fail:{exit_on_fail}...") + + if core.is_valid_url(node_spec_str): # install via urls - res = core.gitclone_install([node_name]) - if not res: - print(f"[bold red]ERROR: An error occurred while installing '{node_name}'.[/bold red]") + res = asyncio.run(core.gitclone_install(node_spec_str, no_deps=cmd_ctx.no_deps)) + if not res.result: + print(res.msg) + print(f"[bold red]ERROR: An error occurred while installing '{node_spec_str}'.[/bold red]") + if exit_on_fail: + sys.exit(1) else: - print(f"{cnt_msg} [INSTALLED] {node_name:50}") + print(f"{cnt_msg} [INSTALLED] {node_spec_str:50}") else: - node_path, node_item = cm_ctx.lookup_node_path(node_name) + node_spec = unified_manager.resolve_node_spec(node_spec_str) - if os.path.exists(node_path): - if not is_all: - print(f"{cnt_msg} [ SKIPPED ] {node_name:50} => Already installed") - elif os.path.exists(node_path + '.disabled'): - enable_node(node_name) + if node_spec is None: + return + + node_name, version_spec, is_specified = node_spec + + # NOTE: install node doesn't allow update if version is not specified + if not is_specified: + version_spec = None + + res = asyncio.run(unified_manager.install_by_id(node_name, version_spec, cmd_ctx.channel, cmd_ctx.mode, instant_execution=True, no_deps=cmd_ctx.no_deps)) + + if res.action == 'skip': + print(f"{cnt_msg} [ SKIP ] {node_name:50} => Already installed") + elif res.action == 'enable': + print(f"{cnt_msg} [ ENABLED ] {node_name:50}") + elif res.action == 'install-git' and res.target == 'nightly': + print(f"{cnt_msg} [INSTALLED] {node_name:50}[NIGHTLY]") + elif res.action == 'install-git' and res.target == 'unknown': + print(f"{cnt_msg} [INSTALLED] {node_name:50}[UNKNOWN]") + elif res.action == 'install-cnr' and res.result: + print(f"{cnt_msg} [INSTALLED] {node_name:50}[{res.target}]") + elif res.action == 'switch-cnr' and res.result: + print(f"{cnt_msg} [INSTALLED] {node_name:50}[{res.target}]") + elif (res.action == 'switch-cnr' or res.action == 'install-cnr') and not res.result and node_name in unified_manager.cnr_map: + print(f"\nAvailable version of '{node_name}'") + show_versions(node_name) + print("") else: - res = core.gitclone_install(node_item['files'], instant_execution=True, msg_prefix=f"[{cnt_msg}] ") - if not res: - print(f"[bold red]ERROR: An error occurred while installing '{node_name}'.[/bold red]") - else: - print(f"{cnt_msg} [INSTALLED] {node_name:50}") + print(f"[bold red]ERROR: An error occurred while installing '{node_name}'.\n{res.msg}[/bold red]") + if exit_on_fail: + sys.exit(1) -def reinstall_node(node_name, is_all=False, cnt_msg=''): - node_path, node_item = cm_ctx.lookup_node_path(node_name) +def reinstall_node(node_spec_str, is_all=False, cnt_msg=''): + node_spec = unified_manager.resolve_node_spec(node_spec_str) - if os.path.exists(node_path): - shutil.rmtree(node_path) - if os.path.exists(node_path + '.disabled'): - shutil.rmtree(node_path + '.disabled') + node_name, version_spec, _ = node_spec + unified_manager.unified_uninstall(node_name, version_spec == 'unknown') install_node(node_name, is_all=is_all, cnt_msg=cnt_msg) -def fix_node(node_name, is_all=False, cnt_msg=''): - node_path, node_item = cm_ctx.lookup_node_path(node_name, robust=True) +def fix_node(node_spec_str, is_all=False, cnt_msg=''): + node_spec = unified_manager.resolve_node_spec(node_spec_str, guess_mode='active') - files = node_item['files'] if node_item is not None else [node_path] + if node_spec is None: + if not is_all: + if unified_manager.resolve_node_spec(node_spec_str, guess_mode='inactive') is not None: + print(f"{cnt_msg} [ SKIPPED ]: {node_spec_str:50} => Disabled") + else: + print(f"{cnt_msg} [ SKIPPED ]: {node_spec_str:50} => Not installed") - if os.path.exists(node_path): - print(f"{cnt_msg} [ FIXING ]: {node_name:50} => Disabled") - res = core.gitclone_fix(files, instant_execution=True) - if not res: - print(f"ERROR: An error occurred while fixing '{node_name}'.") - elif not is_all and os.path.exists(node_path + '.disabled'): - print(f"{cnt_msg} [ SKIPPED ]: {node_name:50} => Disabled") - elif not is_all: - print(f"{cnt_msg} [ SKIPPED ]: {node_name:50} => Not installed") + return + + node_name, version_spec, _ = node_spec + + print(f"{cnt_msg} [ FIXING ]: {node_name:50}[{version_spec}]") + res = unified_manager.unified_fix(node_name, version_spec, no_deps=cmd_ctx.no_deps) + + if not res.result: + print(f"[bold red]ERROR: f{res.msg}[/bold red]") -def uninstall_node(node_name, is_all=False, cnt_msg=''): - node_path, node_item = cm_ctx.lookup_node_path(node_name, robust=True) - - files = node_item['files'] if node_item is not None else [node_path] - - if os.path.exists(node_path) or os.path.exists(node_path + '.disabled'): - res = core.gitclone_uninstall(files) - if not res: - print(f"ERROR: An error occurred while uninstalling '{node_name}'.") - else: - print(f"{cnt_msg} [UNINSTALLED] {node_name:50}") +def uninstall_node(node_spec_str: str, is_all: bool = False, cnt_msg: str = ''): + spec = node_spec_str.split('@') + if len(spec) == 2 and spec[1] == 'unknown': + node_name = spec[0] + is_unknown = True else: + node_name = spec[0] + is_unknown = False + + res = unified_manager.unified_uninstall(node_name, is_unknown) + if len(spec) == 1 and res.action == 'skip' and not is_unknown: + res = unified_manager.unified_uninstall(node_name, True) + + if res.action == 'skip': print(f"{cnt_msg} [ SKIPPED ]: {node_name:50} => Not installed") + elif res.result: + print(f"{cnt_msg} [UNINSTALLED] {node_name:50}") + else: + print(f"ERROR: An error occurred while uninstalling '{node_name}'.") -def update_node(node_name, is_all=False, cnt_msg=''): - node_path, node_item = cm_ctx.lookup_node_path(node_name, robust=True) - files = node_item['files'] if node_item is not None else [node_path] +def update_node(node_spec_str, is_all=False, cnt_msg=''): + node_spec = unified_manager.resolve_node_spec(node_spec_str, 'active') - res = core.gitclone_update(files, skip_script=True, msg_prefix=f"[{cnt_msg}] ") - - if not res: - print(f"ERROR: An error occurred while updating '{node_name}'.") + if node_spec is None: + if unified_manager.resolve_node_spec(node_spec_str, 'inactive'): + print(f"{cnt_msg} [ SKIPPED ]: {node_spec_str:50} => Disabled") + else: + print(f"{cnt_msg} [ SKIPPED ]: {node_spec_str:50} => Not installed") return None - return node_path + node_name, version_spec, _ = node_spec + + res = unified_manager.unified_update(node_name, version_spec, no_deps=cmd_ctx.no_deps, return_postinstall=True) + + if not res.result: + print(f"ERROR: An error occurred while updating '{node_name}'.") + elif res.action == 'skip': + print(f"{cnt_msg} [ SKIPPED ]: {node_name:50} => {res.msg}") + else: + print(f"{cnt_msg} [ UPDATED ]: {node_name:50} => ({version_spec} -> {res.target})") + + return res.with_target(f'{node_name}@{res.target}') def update_parallel(nodes): is_all = False if 'all' in nodes: is_all = True - nodes = [x for x in cm_ctx.get_custom_node_map().keys() if os.path.exists(os.path.join(custom_nodes_path, x)) or os.path.exists(os.path.join(custom_nodes_path, x) + '.disabled')] - - nodes = [x for x in nodes if x.lower() not in ['comfy', 'comfyui', 'all']] + nodes = [] + for x in unified_manager.active_nodes.keys(): + nodes.append(x) + for x in unified_manager.unknown_active_nodes.keys(): + nodes.append(x+"@unknown") + else: + nodes = [x for x in nodes if x.lower() not in ['comfy', 'comfyui']] total = len(nodes) @@ -305,9 +337,9 @@ def update_parallel(nodes): i += 1 try: - node_path = update_node(x, is_all=is_all, cnt_msg=f'{i}/{total}') + res = update_node(x, is_all=is_all, cnt_msg=f'{i}/{total}') with lock: - processed.append(node_path) + processed.append(res) except Exception as e: print(f"ERROR: {e}") traceback.print_exc() @@ -317,12 +349,11 @@ def update_parallel(nodes): executor.submit(process_custom_node, item) i = 1 - for node_path in processed: - if node_path is None: - print(f"[{i}/{total}] Post update: ERROR") - else: - print(f"[{i}/{total}] Post update: {node_path}") - cm_ctx.post_install(node_path) + for res in processed: + if res is not None: + print(f"[{i}/{total}] Post update: {res.target}") + if res.postinstall is not None: + res.postinstall() i += 1 @@ -336,104 +367,162 @@ def update_comfyui(): print("ComfyUI is already up to date.") -def enable_node(node_name, is_all=False, cnt_msg=''): - if node_name == 'ComfyUI-Manager': +def enable_node(node_spec_str, is_all=False, cnt_msg=''): + if unified_manager.resolve_node_spec(node_spec_str, guess_mode='active') is not None: + print(f"{cnt_msg} [ SKIP ] {node_spec_str:50} => Already enabled") return - node_path, node_item = cm_ctx.lookup_node_path(node_name, robust=True) + node_spec = unified_manager.resolve_node_spec(node_spec_str, guess_mode='inactive') - if os.path.exists(node_path + '.disabled'): - current_name = node_path + '.disabled' - os.rename(current_name, node_path) + if node_spec is None: + print(f"{cnt_msg} [ SKIP ] {node_spec_str:50} => Not found") + return + + node_name, version_spec, _ = node_spec + + res = unified_manager.unified_enable(node_name, version_spec) + + if res.action == 'skip': + print(f"{cnt_msg} [ SKIP ] {node_name:50} => {res.msg}") + elif res.result: print(f"{cnt_msg} [ENABLED] {node_name:50}") - elif os.path.exists(node_path): - print(f"{cnt_msg} [SKIPPED] {node_name:50} => Already enabled") - elif not is_all: - print(f"{cnt_msg} [SKIPPED] {node_name:50} => Not installed") + else: + print(f"{cnt_msg} [ FAIL ] {node_name:50} => {res.msg}") -def disable_node(node_name, is_all=False, cnt_msg=''): - if node_name == 'ComfyUI-Manager': +def disable_node(node_spec_str: str, is_all=False, cnt_msg=''): + if 'comfyui-manager' in node_spec_str.lower(): return - node_path, node_item = cm_ctx.lookup_node_path(node_name, robust=True) + node_spec = unified_manager.resolve_node_spec(node_spec_str, guess_mode='active') - if os.path.exists(node_path): - current_name = node_path - new_name = node_path + '.disabled' - os.rename(current_name, new_name) + if node_spec is None: + if unified_manager.resolve_node_spec(node_spec_str, guess_mode='inactive') is not None: + print(f"{cnt_msg} [ SKIP ] {node_spec_str:50} => Already disabled") + else: + print(f"{cnt_msg} [ SKIP ] {node_spec_str:50} => Not found") + return + + node_name, version_spec, _ = node_spec + + res = unified_manager.unified_disable(node_name, version_spec == 'unknown') + + if res.action == 'skip': + print(f"{cnt_msg} [ SKIP ] {node_name:50} => {res.msg}") + elif res.result: print(f"{cnt_msg} [DISABLED] {node_name:50}") - elif os.path.exists(node_path + '.disabled'): - print(f"{cnt_msg} [ SKIPPED] {node_name:50} => Already disabled") - elif not is_all: - print(f"{cnt_msg} [ SKIPPED] {node_name:50} => Not installed") + else: + print(f"{cnt_msg} [ FAIL ] {node_name:50} => {res.msg}") def show_list(kind, simple=False): - for k, v in cm_ctx.get_custom_node_map().items(): - if v[1]: - continue + custom_nodes = asyncio.run(unified_manager.get_custom_nodes(channel=cmd_ctx.channel, mode=cmd_ctx.mode)) - node_path = os.path.join(custom_nodes_path, k) + # collect not-installed unknown nodes + not_installed_unknown_nodes = [] + repo_unknown = {} - states = set() - if os.path.exists(node_path): - prefix = '[ ENABLED ] ' - states.add('installed') - states.add('enabled') - states.add('all') - elif os.path.exists(node_path + '.disabled'): - prefix = '[ DISABLED ] ' - states.add('installed') - states.add('disabled') - states.add('all') - else: - prefix = '[ NOT INSTALLED ] ' - states.add('not-installed') - states.add('all') - - if kind in states: - if simple: - print(f"{k:50}") - else: - short_id = v[0].get('id', "") - print(f"{prefix} {k:50} {short_id:20} (author: {v[0]['author']})") - - # unregistered nodes - candidates = os.listdir(os.path.realpath(custom_nodes_path)) - - for k in candidates: - fullpath = os.path.join(custom_nodes_path, k) - - if os.path.isfile(fullpath): - continue - - if k in ['__pycache__']: - continue - - states = set() - if k.endswith('.disabled'): - prefix = '[ DISABLED ] ' - states.add('installed') - states.add('disabled') - states.add('all') - k = k[:-9] - else: - prefix = '[ ENABLED ] ' - states.add('installed') - states.add('enabled') - states.add('all') - - if k not in cm_ctx.get_custom_node_map(): - if kind in states: - if simple: - print(f"{k:50}") + for k, v in custom_nodes.items(): + if 'cnr_latest' not in v: + if len(v['files']) == 1: + repo_url = v['files'][0] + node_name = repo_url.split('/')[-1] + if node_name not in unified_manager.unknown_inactive_nodes and node_name not in unified_manager.unknown_active_nodes: + not_installed_unknown_nodes.append(v) else: - print(f"{prefix} {k:50} {'':20} (author: N/A)") + repo_unknown[node_name] = v + + processed = {} + unknown_processed = [] + + flag = kind in ['all', 'cnr', 'installed', 'enabled'] + for k, v in unified_manager.active_nodes.items(): + if flag: + cnr = unified_manager.cnr_map[k] + processed[k] = "[ ENABLED ] ", cnr['name'], k, cnr['publisher']['name'], v[0] + else: + processed[k] = None + + if flag and kind != 'cnr': + for k, v in unified_manager.unknown_active_nodes.items(): + item = repo_unknown.get(k) + + if item is None: + continue + + log_item = "[ ENABLED ] ", item['title'], k, item['author'] + unknown_processed.append(log_item) + + flag = kind in ['all', 'cnr', 'installed', 'disabled'] + for k, v in unified_manager.cnr_inactive_nodes.items(): + if k in processed: + continue + + if flag: + cnr = unified_manager.cnr_map[k] + processed[k] = "[ DISABLED ] ", cnr['name'], k, cnr['publisher']['name'], ", ".join(list(v.keys())) + else: + processed[k] = None + + for k, v in unified_manager.nightly_inactive_nodes.items(): + if k in processed: + continue + + if flag: + cnr = unified_manager.cnr_map[k] + processed[k] = "[ DISABLED ] ", cnr['name'], k, cnr['publisher']['name'], 'nightly' + else: + processed[k] = None + + if flag and kind != 'cnr': + for k, v in unified_manager.unknown_inactive_nodes.items(): + item = repo_unknown.get(k) + + if item is None: + continue + + log_item = "[ DISABLED ] ", item['title'], k, item['author'] + unknown_processed.append(log_item) + + flag = kind in ['all', 'cnr', 'not-installed'] + for k, v in unified_manager.cnr_map.items(): + if k in processed: + continue + + if flag: + cnr = unified_manager.cnr_map[k] + ver_spec = v['latest_version']['version'] if 'latest_version' in v else '0.0.0' + processed[k] = "[ NOT INSTALLED ] ", cnr['name'], k, cnr['publisher']['name'], ver_spec + else: + processed[k] = None + + if flag and kind != 'cnr': + for x in not_installed_unknown_nodes: + if len(x['files']) == 1: + node_id = os.path.basename(x['files'][0]) + log_item = "[ NOT INSTALLED ] ", x['title'], node_id, x['author'] + unknown_processed.append(log_item) + + for x in processed.values(): + if x is None: + continue + + prefix, title, short_id, author, ver_spec = x + if simple: + print(title+'@'+ver_spec) + else: + print(f"{prefix} {title:50} {short_id:30} (author: {author:20}) \\[{ver_spec}]") + + for x in unknown_processed: + prefix, title, short_id, author = x + if simple: + print(title+'@unknown') + else: + print(f"{prefix} {title:50} {short_id:30} (author: {author:20}) [UNKNOWN]") -def show_snapshot(simple_mode=False): - json_obj = core.get_current_snapshot() +async def show_snapshot(simple_mode=False): + json_obj = await core.get_current_snapshot() if simple_mode: print(f"[{json_obj['comfyui']}] comfyui") @@ -448,7 +537,7 @@ def show_snapshot(simple_mode=False): def show_snapshot_list(simple_mode=False): - snapshot_path = os.path.join(comfyui_manager_path, 'snapshots') + snapshot_path = cmd_ctx.get_snapshot_path() files = os.listdir(snapshot_path) json_files = [x for x in files if x.endswith('.json')] @@ -457,31 +546,66 @@ def show_snapshot_list(simple_mode=False): def cancel(): - if os.path.exists(script_path): - os.remove(script_path) + if os.path.exists(cmd_ctx.get_startup_scripts_path()): + os.remove(cmd_ctx.get_startup_scripts_path()) - if os.path.exists(restore_snapshot_path): - os.remove(restore_snapshot_path) + if os.path.exists(cmd_ctx.get_restore_snapshot_path()): + os.remove(cmd_ctx.get_restore_snapshot_path()) -def auto_save_snapshot(): - path = core.save_snapshot_with_postfix('cli-autosave') +async def auto_save_snapshot(): + path = await core.save_snapshot_with_postfix('cli-autosave') print(f"Current snapshot is saved as `{path}`") -def for_each_nodes(nodes, act, allow_all=True): +def get_all_installed_node_specs(): + res = [] + processed = set() + for k, v in unified_manager.active_nodes.items(): + node_spec_str = f"{k}@{v[0]}" + res.append(node_spec_str) + processed.add(k) + + for k in unified_manager.cnr_inactive_nodes.keys(): + if k in processed: + continue + + latest = unified_manager.get_from_cnr_inactive_nodes(k) + if latest is not None: + node_spec_str = f"{k}@{str(latest[0])}" + res.append(node_spec_str) + + for k in unified_manager.nightly_inactive_nodes.keys(): + if k in processed: + continue + + node_spec_str = f"{k}@nightly" + res.append(node_spec_str) + + for k in unified_manager.unknown_active_nodes.keys(): + node_spec_str = f"{k}@unknown" + res.append(node_spec_str) + + for k in unified_manager.unknown_inactive_nodes.keys(): + node_spec_str = f"{k}@unknown" + res.append(node_spec_str) + + return res + + +def for_each_nodes(nodes, act, allow_all=True, **kwargs): is_all = False if allow_all and 'all' in nodes: is_all = True - nodes = [x for x in cm_ctx.get_custom_node_map().keys() if os.path.exists(os.path.join(custom_nodes_path, x)) or os.path.exists(os.path.join(custom_nodes_path, x) + '.disabled')] - - nodes = [x for x in nodes if x.lower() not in ['comfy', 'comfyui', 'all']] + nodes = get_all_installed_node_specs() + else: + nodes = [x for x in nodes if x.lower() not in ['comfy', 'comfyui', 'all']] total = len(nodes) i = 1 for x in nodes: try: - act(x, is_all=is_all, cnt_msg=f'{i}/{total}') + act(x, is_all=is_all, cnt_msg=f'{i}/{total}', **kwargs) except Exception as e: print(f"ERROR: {e}") traceback.print_exc() @@ -513,9 +637,30 @@ def install( None, help="[remote|local|cache]" ), + no_deps: Annotated[ + Optional[bool], + typer.Option( + "--no-deps", + show_default=False, + help="Skip installing any Python dependencies", + ), + ] = False, + user_directory: str = typer.Option( + None, + help="user directory" + ), + exit_on_fail: bool = typer.Option( + False, + help="Exit on failure" + ) ): - cm_ctx.set_channel_mode(channel, mode) - for_each_nodes(nodes, act=install_node) + 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, exit_on_fail=exit_on_fail) + pip_fixer.fix_broken() @app.command(help="Reinstall custom nodes") @@ -534,9 +679,26 @@ def reinstall( None, help="[remote|local|cache]" ), + no_deps: Annotated[ + Optional[bool], + typer.Option( + "--no-deps", + show_default=False, + help="Skip installing any Python dependencies", + ), + ] = False, + user_directory: str = typer.Option( + None, + help="user directory" + ), ): - cm_ctx.set_channel_mode(channel, mode) + 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") @@ -556,11 +718,11 @@ def uninstall( help="[remote|local|cache]" ), ): - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_channel_mode(channel, mode) 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( ..., @@ -577,11 +739,18 @@ def update( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ), ): - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) if 'all' in nodes: - auto_save_snapshot() + 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']: @@ -589,6 +758,7 @@ def update( break update_parallel(nodes) + pip_fixer.fix_broken() @app.command(help="Disable custom nodes") @@ -608,11 +778,16 @@ def disable( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ), ): - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) if 'all' in nodes: - auto_save_snapshot() + asyncio.run(auto_save_snapshot()) for_each_nodes(nodes, disable_node, allow_all=True) @@ -634,11 +809,16 @@ def enable( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ), ): - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) if 'all' in nodes: - auto_save_snapshot() + asyncio.run(auto_save_snapshot()) for_each_nodes(nodes, enable_node, allow_all=True) @@ -660,19 +840,36 @@ def fix( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ), ): - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) if 'all' in nodes: - auto_save_snapshot() + 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", help="Show node list (simple mode)") +@app.command("show-versions", help="Show all available versions of the node") +def show_versions(node_name: str): + versions = cnr_utils.all_versions_of_node(node_name) + if versions is None: + print(f"Node not found in Comfy Registry: {node_name}") + + for x in versions: + print(f"[{x['createdAt'][:10]}] {x['version']} -- {x['changelog']}") + + +@app.command("show", help="Show node list") def show( arg: str = typer.Argument( - help="[installed|enabled|not-installed|disabled|all|snapshot|snapshot-list]" + help="[installed|enabled|not-installed|disabled|all|cnr|snapshot|snapshot-list]" ), channel: Annotated[ str, @@ -685,6 +882,10 @@ def show( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ), ): valid_commands = [ "installed", @@ -692,6 +893,7 @@ def show( "not-installed", "disabled", "all", + "cnr", "snapshot", "snapshot-list", ] @@ -699,7 +901,8 @@ def show( typer.echo(f"Invalid command: `show {arg}`", err=True) exit(1) - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) if arg == 'snapshot': show_snapshot() elif arg == 'snapshot-list': @@ -724,6 +927,10 @@ def simple_show( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ), ): valid_commands = [ "installed", @@ -738,7 +945,9 @@ def simple_show( typer.echo(f"[bold red]Invalid command: `show {arg}`[/bold red]", err=True) exit(1) - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) + if arg == 'snapshot': show_snapshot(True) elif arg == 'snapshot-list': @@ -751,16 +960,23 @@ def simple_show( def cli_only_mode( mode: str = typer.Argument( ..., help="[enable|disable]" - )): - cli_mode_flag = os.path.join(os.path.dirname(__file__), '.enable-cli-only-mode') + ), + user_directory: str = typer.Option( + None, + help="user directory" + ) +): + cmd_ctx.set_user_directory(user_directory) + cli_mode_flag = os.path.join(cmd_ctx.manager_files_directory, '.enable-cli-only-mode') + if mode.lower() == 'enable': - with open(cli_mode_flag, 'w') as file: + with open(cli_mode_flag, 'w'): pass - print(f"\nINFO: `cli-only-mode` is enabled\n") + print("\nINFO: `cli-only-mode` is enabled\n") elif mode.lower() == 'disable': if os.path.exists(cli_mode_flag): os.remove(cli_mode_flag) - print(f"\nINFO: `cli-only-mode` is disabled\n") + print("\nINFO: `cli-only-mode` is disabled\n") else: print(f"\n[bold red]Invalid value for cli-only-mode: {mode}[/bold red]\n") exit(1) @@ -787,8 +1003,13 @@ def deps_in_workflow( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ) ): - cm_ctx.set_channel_mode(channel, mode) + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) input_path = workflow output_path = output @@ -797,7 +1018,7 @@ def deps_in_workflow( print(f"[bold red]File not found: {input_path}[/bold red]") exit(1) - used_exts, unknown_nodes = asyncio.run(core.extract_nodes_from_workflow(input_path, mode=cm_ctx.mode, channel_url=cm_ctx.channel)) + used_exts, unknown_nodes = asyncio.run(core.extract_nodes_from_workflow(input_path, mode=cmd_ctx.mode, channel_url=cmd_ctx.channel)) custom_nodes = {} for x in used_exts: @@ -824,14 +1045,37 @@ def save_snapshot( show_default=False, help="Specify the output file path. (.json/.yaml)" ), ] = None, + 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, ): - path = core.save_snapshot_with_postfix('snapshot', output) + cmd_ctx.set_user_directory(user_directory) + + if output is not None: + 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, @@ -850,7 +1094,20 @@ def restore_snapshot( is_flag=True, help="Restore for pip packages specified by local paths.", ), + 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') @@ -866,79 +1123,50 @@ def restore_snapshot( if os.path.exists(snapshot_name): snapshot_path = os.path.abspath(snapshot_name) else: - snapshot_path = os.path.join(core.comfyui_manager_path, 'snapshots', snapshot_name) + snapshot_path = os.path.join(cmd_ctx.get_snapshot_path(), snapshot_name) if not os.path.exists(snapshot_path): 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: - cloned_repos = [] - checkout_repos = [] - skipped_repos = [] - enabled_repos = [] - disabled_repos = [] - is_failed = False - - def extract_infos(msg): - nonlocal is_failed - - for x in msg: - if x.startswith("CLONE: "): - cloned_repos.append(x[7:]) - elif x.startswith("CHECKOUT: "): - checkout_repos.append(x[10:]) - elif x.startswith("SKIPPED: "): - skipped_repos.append(x[9:]) - elif x.startswith("ENABLE: "): - enabled_repos.append(x[8:]) - elif x.startswith("DISABLE: "): - disabled_repos.append(x[9:]) - elif 'APPLY SNAPSHOT: False' in x: - is_failed = True - - print(f"Restore snapshot.") - cmd_str = [sys.executable, git_script_path, '--apply-snapshot', snapshot_path] + extras - output = subprocess.check_output(cmd_str, cwd=custom_nodes_path, text=True) - msg_lines = output.split('\n') - extract_infos(msg_lines) - - for url in cloned_repos: - cm_ctx.post_install(url) - - # print summary - for x in cloned_repos: - print(f"[ INSTALLED ] {x}") - for x in checkout_repos: - print(f"[ CHECKOUT ] {x}") - for x in enabled_repos: - print(f"[ ENABLED ] {x}") - for x in disabled_repos: - print(f"[ DISABLED ] {x}") - - if is_failed: - print(output) - print("[bold red]ERROR: Failed to restore snapshot.[/bold red]") - + 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( "restore-dependencies", help="Restore dependencies from whole installed custom nodes." ) -def restore_dependencies(): - node_paths = [os.path.join(custom_nodes_path, name) for name in os.listdir(custom_nodes_path) - if os.path.isdir(os.path.join(custom_nodes_path, name)) and not name.endswith('.disabled')] +def restore_dependencies( + user_directory: str = typer.Option( + None, + help="user directory" + ) +): + cmd_ctx.set_user_directory(user_directory) + + node_paths = [] + + for base_path in cmd_ctx.get_custom_nodes_paths(): + for name in os.listdir(base_path): + target = os.path.join(base_path, name) + if os.path.isdir(target) and not name.endswith('.disabled'): + node_paths.append(target) 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(f"----------------------------------------------------------------------------------------------------") + print("----------------------------------------------------------------------------------------------------") print(f"Restoring [{i}/{total}]: {x}") - cm_ctx.post_install(x) + unified_manager.execute_install_script('', x, instant_execution=True) i += 1 + pip_fixer.fix_broken() @app.command( @@ -947,9 +1175,13 @@ def restore_dependencies(): def post_install( path: str = typer.Argument( help="path to custom node", - )): + ) +): path = os.path.expanduser(path) - cm_ctx.post_install(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( @@ -971,9 +1203,14 @@ def install_deps( None, help="[remote|local|cache]" ), + user_directory: str = typer.Option( + None, + help="user directory" + ), ): - cm_ctx.set_channel_mode(channel, mode) - auto_save_snapshot() + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) + asyncio.run(auto_save_snapshot()) if not os.path.exists(deps): print(f"[bold red]File not found: {deps}[/bold red]") @@ -986,14 +1223,16 @@ 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': continue elif state == 'not-installed': - core.gitclone_install([k], instant_execution=True) + 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.") @@ -1016,16 +1255,34 @@ def export_custom_node_ids( mode: str = typer.Option( None, help="[remote|local|cache]" - )): - cm_ctx.set_channel_mode(channel, mode) + ), + user_directory: str = typer.Option( + None, + help="user directory" + ), +): + cmd_ctx.set_user_directory(user_directory) + cmd_ctx.set_channel_mode(channel, mode) with open(path, "w", encoding='utf-8') as output_file: - for x in cm_ctx.get_custom_node_map().keys(): + for x in unified_manager.cnr_map.keys(): print(x, file=output_file) + custom_nodes = asyncio.run(unified_manager.get_custom_nodes(channel=cmd_ctx.channel, mode=cmd_ctx.mode)) + for x in custom_nodes.values(): + if 'cnr_latest' not in x: + if len(x['files']) == 1: + repo_url = x['files'][0] + node_id = repo_url.split('/')[-1] + print(f"{node_id}@unknown", file=output_file) + + if 'id' in x: + print(f"{x['id']}@unknown", file=output_file) + if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(app()) -print(f"") + +print("") diff --git a/cm-cli.sh b/cm-cli.sh new file mode 100755 index 00000000..b1a21ca5 --- /dev/null +++ b/cm-cli.sh @@ -0,0 +1,2 @@ +#!/bin/bash +python cm-cli.py $* diff --git a/custom-node-list.json b/custom-node-list.json index 1ab398ba..fc7abf0f 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -20,7 +20,7 @@ "https://github.com/ltdrdata/ComfyUI-Impact-Pack" ], "install_type": "git-clone", - "description": "This node pack offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.\nNOTE: To use the UltralyticsDetectorProvider, you must install the ComfyUI Impact Subpack separately.", + "description": "This node pack offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.\nNOTE: To use the UltralyticsDetectorProvider, you must install the 'ComfyUI Impact Subpack' separately.", "preemptions":["SAMLoader"] }, { @@ -46,6 +46,29 @@ "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": "Dr.Lt.Data", + "title": "WAS Node Suite (Revised)", + "id": "was-ns", + "reference": "https://github.com/ltdrdata/was-node-suite-comfyui", + "files": [ + "https://github.com/ltdrdata/was-node-suite-comfyui" + ], + "install_type": "git-clone", + "description": "A massive node pack consisting of over 200 nodes, including image processing, masking, text handling, and arithmetic operations.\nNOTE: A replacement node pack provided for existing users following the retirement of the original author of the widely used WAS Node Suite." + }, { "author": "comfyanonymous", "title": "ComfyUI_experiments", @@ -68,6 +91,17 @@ "install_type": "git-clone", "description": "This node enables the best performance on NVIDIA RTXā„¢ Graphics Cards (GPUs) for Stable Diffusion by leveraging NVIDIA TensorRT." }, + { + "author": "Comfy-Org", + "title": "NVIDIA FLUX NIM", + "id": "nimnodes", + "reference": "https://github.com/Comfy-Org/NIMnodes", + "files": [ + "https://github.com/Comfy-Org/NIMnodes" + ], + "install_type": "git-clone", + "description": "Provides nodes to utilise NVIDIA NIM, a set of accelerated inference microservices that allow you to run AI models on NVIDIA GPUs anywhere." + }, { "author": "Stability-AI", "title": "Stability API nodes for ComfyUI", @@ -321,18 +355,6 @@ ], "description": "CLIPTextEncodeBLIP: This custom node provides a CLIP Encoder that is capable of receiving images as input." }, - { - "author": "WASasquatch", - "title": "WAS Node Suite", - "id": "was", - "reference": "https://github.com/WASasquatch/was-node-suite-comfyui", - "pip": ["numba"], - "files": [ - "https://github.com/WASasquatch/was-node-suite-comfyui" - ], - "install_type": "git-clone", - "description": "A node suite for ComfyUI with many new nodes, such as image processing, text processing, and more." - }, { "author": "WASasquatch", "title": "ComfyUI Preset Merger", @@ -388,6 +410,56 @@ "install_type": "git-clone", "description": "Nodes:Conditioning (Blend), Inpainting VAE Encode (WAS), VividSharpen. Experimental nodes, or other random extra helper nodes." }, + { + "author": "WASasquatch", + "title": "FUSE Face Enhancer", + "reference": "https://github.com/WASasquatch/face-upscaling-and-seamless-embedding", + "files": [ + "https://github.com/WASasquatch/face-upscaling-and-seamless-embedding" + ], + "install_type": "git-clone", + "description": "All-in-One Face Fix KSampler for ComfyUI with YOLO detection and SAM segmentation" + }, + { + "author": "WASasquatch", + "title": "WAS Affine", + "reference": "https://github.com/WASasquatch/was_affine", + "files": [ + "https://github.com/WASasquatch/was_affine" + ], + "install_type": "git-clone", + "description": "Apply AFFINE noise transforms to latent space to improve image quality, especially with light loras." + }, + { + "author": "was", + "title": "WAS LMStudio Easy-Query", + "reference": "https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery", + "files": [ + "https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery" + ], + "install_type": "git-clone", + "description": "LM Studio calls with image support and easy task directions." + }, + { + "author": "WASasquatch", + "title": "ComfyUI_RetroArch_Player", + "reference": "https://github.com/WASasquatch/ComfyUI_RetroArch_Player", + "files": [ + "https://github.com/WASasquatch/ComfyUI_RetroArch_Player" + ], + "install_type": "git-clone", + "description": "Simple ComfyUI RetroArch Web Player embed" + }, + { + "author": "WASasquatch", + "title": "ComfyUI_Viewer", + "reference": "https://github.com/WASasquatch/ComfyUI_Viewer", + "files": [ + "https://github.com/WASasquatch/ComfyUI_Viewer" + ], + "install_type": "git-clone", + "description": "Extensible content viewer for ComfyUI: HTML, Markdown (LaTeX, Mermaid, etc), Code, Images, and more" + }, { "author": "omar92", "title": "Quality of life Suit:V2", @@ -430,7 +502,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", @@ -487,17 +559,6 @@ "install_type": "git-clone", "description": "Nodes: Image Remove Background (rembg)" }, - { - "author": "YinBailiang", - "title": "MergeBlockWeighted_fo_ComfyUI", - "id": "mbw", - "reference": "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI", - "files": [ - "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI" - ], - "install_type": "git-clone", - "description": "Nodes: MergeBlockWeighted" - }, { "author": "trojblue", "title": "trNodes", @@ -591,11 +652,18 @@ { "author": "city96", "title": "ComfyUI-GGUF", - "id": "gguf", + "id": "comfyui-gguf", "reference": "https://github.com/city96/ComfyUI-GGUF", "files": [ "https://github.com/city96/ComfyUI-GGUF" ], + "preemptions":[ + "CLIPLoaderGGUF", + "DualCLIPLoaderGGUF", + "TripleCLIPLoaderGGUF", + "UnetLoaderGGUF", + "UnetLoaderGGUFAdvanced" + ], "install_type": "git-clone", "description": "GGUF Quantization support for native ComfyUI models\nThis is currently very much WIP. These custom nodes provide support for model files stored in the GGUF format popularized by llama.cpp.\nWhile quantization wasn't feasible for regular UNET models (conv2d), transformer/DiT models such as flux seem less affected by quantization. This allows running it in much lower bits per weight variable bitrate quants on low-end GPUs." }, @@ -687,14 +755,14 @@ }, { "author": "pythongosssss", - "title": "pythongosssss/ComfyUI-Custom-Scripts", - "id": "pygos-script", + "title": "ComfyUI-Custom-Scripts", + "id": "comfyui-custom-scripts", "reference": "https://github.com/pythongosssss/ComfyUI-Custom-Scripts", "files": [ "https://github.com/pythongosssss/ComfyUI-Custom-Scripts" ], "install_type": "git-clone", - "description": "This extension provides: Auto Arrange Graph, Workflow SVG, Favicon Status, Image Feed, Latent Upscale By, Lock Nodes & Groups, Lora Subfolders, Preset Text, Show Text, Touch Support, Link Render Mode, Locking, Node Finder, Quick Nodes, Show Image On Menu, Show Text, Workflow Managements, Custom Widget Default Values" + "description": "Enhancements & experiments for ComfyUI, mostly focusing on UI features" }, { "author": "strimmlarn", @@ -774,6 +842,16 @@ "install_type": "git-clone", "description": "Perpendicular CFG for reducing oversaturation issues with high guidance scale values." }, + { + "author": "bvhari", + "title": "ComfyUI_CFGStar", + "reference": "https://github.com/bvhari/ComfyUI_CFGStar", + "files": [ + "https://github.com/bvhari/ComfyUI_CFGStar" + ], + "install_type": "git-clone", + "description": "A per channel implementation of the scaled CFG from this paper: [a/https://arxiv.org/abs/2503.18886](https://arxiv.org/abs/2503.18886)" + }, { "author": "ssitu", "title": "UltimateSDUpscale", @@ -874,11 +952,22 @@ "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", "id": "nodegpt", "reference": "https://github.com/xXAdonesXx/NodeGPT", + "reference2": "https://github.com/antonym-git/NodeGPT", "files": [ "https://github.com/xXAdonesXx/NodeGPT" ], @@ -960,6 +1049,16 @@ "install_type": "git-clone", "description": "image and latent quilting nodes for comfyui" }, + { + "author": "bmad4ever", + "title": "comfyui-panels", + "reference": "https://github.com/bmad4ever/comfyui_panels", + "files": [ + "https://github.com/bmad4ever/comfyui_panels" + ], + "install_type": "git-clone", + "description": "Comics/Manga like panel layouts." + }, { "author": "FizzleDorf", "title": "FizzNodes", @@ -1068,17 +1167,6 @@ "install_type": "git-clone", "description": "A prompt-generator or prompt-improvement node for ComfyUI, utilizing the power of a language model to turn a provided text-to-image prompt into a more detailed and improved prompt." }, - { - "author": "cubiq", - "title": "Simple Math", - "id": "simplemath", - "reference": "https://github.com/cubiq/ComfyUI_SimpleMath", - "files": [ - "https://github.com/cubiq/ComfyUI_SimpleMath" - ], - "install_type": "git-clone", - "description": "custom node for ComfyUI to perform simple math operations" - }, { "author": "cubiq", "title": "ComfyUI_IPAdapter_plus", @@ -1249,6 +1337,16 @@ "install_type": "git-clone", "description": "Nodes: String, Int, Float, Short String, CLIP Text Encode (With Variables), String Format, Short String Format. This extension introduces quality of life improvements by providing variable nodes and shared global variables." }, + { + "author": "yolanother", + "title": "Save Uncompressed 16 Bit PNG", + "reference": "https://github.com/yolanother/ComfyUI-Save16bitPng", + "files": [ + "https://github.com/yolanother/ComfyUI-Save16bitPng" + ], + "install_type": "git-clone", + "description": "The SaveImageARGB16PNG node provides functionality for saving images as uncompressed PNG files with ARGB16 precision. This node is particularly useful for workflows that require high-quality image saving with metadata such as prompts and additional PNG info." + }, { "author": "sipherxyz", "title": "comfyui-art-venture", @@ -1318,10 +1416,10 @@ { "author": "ArtVentureX", "title": "AnimateDiff", - "reference": "https://github.com/ArtVentureX/comfyui-animatediff", + "reference": "https://github.com/SipherAGI/comfyui-animatediff", "pip": ["flash_attn"], "files": [ - "https://github.com/ArtVentureX/comfyui-animatediff" + "https://github.com/SipherAGI/comfyui-animatediff" ], "install_type": "git-clone", "description": "AnimateDiff integration for ComfyUI, adapts from sd-webui-animatediff.\n[w/You only need to download one of [a/mm_sd_v14.ckpt](https://huggingface.co/guoyww/animatediff/resolve/main/mm_sd_v14.ckpt) | [a/mm_sd_v15.ckpt](https://huggingface.co/guoyww/animatediff/resolve/main/mm_sd_v15.ckpt). Put the model weights under %%ComfyUI/custom_nodes/comfyui-animatediff/models%%. DO NOT change model filename.]" @@ -1417,7 +1515,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" @@ -1425,6 +1523,16 @@ "install_type": "git-clone", "description": "A very barebones mostly-copypaste implementation of [a/https://github.com/xie-lab-ml/Golden-Noise-for-Diffusion-Models](https://github.com/xie-lab-ml/Golden-Noise-for-Diffusion-Models)" }, + { + "author": "asagi4", + "title": "comfyui-dynamic-anynode", + "reference": "https://github.com/asagi4/comfyui-dynamic-anynode", + "files": [ + "https://github.com/asagi4/comfyui-dynamic-anynode" + ], + "install_type": "git-clone", + "description": "Dynamic All-In-One Guider/Scheduler/Sampler nodes for custom sampling" + }, { "author": "jamesWalker55", "title": "ComfyUI - P2LDGAN Node", @@ -1559,15 +1667,15 @@ "description": "Nodes related to video workflows" }, { - "author": "Gourieff", - "title": "ReActor Node for ComfyUI", - "id": "reactor", - "reference": "https://github.com/Gourieff/comfyui-reactor-node", + "author": "KrakenUnbound", + "title": "Kraken Tools", + "id": "kraken-tools", + "reference": "https://github.com/krakenunbound/comfyui-kraken-tools", "files": [ - "https://github.com/Gourieff/comfyui-reactor-node" + "https://github.com/krakenunbound/comfyui-kraken-tools" ], "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" + "description": "15 productivity nodes: Kraken Unbound Prompt (vision-enabled prompt builder with Qwen2-VL), WAN Prompt Splitter (cinematic styling), Ollama Prompt Chat (LLM enhancement), LoRA Loader with CivitAI trigger fetching, Dual CLIP Loader (Flux/SD3/SDXL), smart KSampler (AMP handling for WAN/Flow/FP8), Empty Latent with aspect presets, Upscale & Tile Calculator for Ultimate SD Upscale, Resolution Helper, Image Processor, WAN Helper, and more." }, { "author": "Gourieff", @@ -1580,6 +1688,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", @@ -1646,16 +1764,6 @@ "install_type": "git-clone", "description": "This node manipulates the pixel art image in ways that it should look pixel perfect (downscales, changes palette, upscales etc.)." }, - { - "author": "hylarucoder", - "title": "comfyui-copilot", - "reference": "https://github.com/hylarucoder/comfyui-copilot", - "files": [ - "https://github.com/hylarucoder/comfyui-copilot" - ], - "install_type": "git-clone", - "description": "NODES:Eagle Image Node for PNGInfo, SDXL Resolution Presets (ws), SDXL Prompt Styler, SDXL Prompt Styler Advanced" - }, { "author": "theUpsider", "title": "Styles CSV Loader Extension for ComfyUI", @@ -1667,17 +1775,6 @@ "install_type": "git-clone", "description": "This extension allows users to load styles from a CSV file, primarily for migration purposes from the automatic1111 Stable Diffusion web UI." }, - { - "author": "theUpsider", - "title": "ComfyUI-Logic", - "id": "comfy-logic", - "reference": "https://github.com/theUpsider/ComfyUI-Logic", - "files": [ - "https://github.com/theUpsider/ComfyUI-Logic" - ], - "install_type": "git-clone", - "description": "An extension to ComfyUI that introduces logic nodes and conditional rendering capabilities." - }, { "author": "M1kep", "title": "Comfy_KepListStuff", @@ -1789,15 +1886,14 @@ "description": "A set of custom nodes to perform image 2 image functions in ComfyUI." }, { - "author": "m-sokes", - "title": "ComfyUI Sokes Nodes", - "id": "sokes", + "author": "Mike Sokol", + "title": "ComfyUI Sokes Nodes 🦬", "reference": "https://github.com/m-sokes/ComfyUI-Sokes-Nodes", "files": [ "https://github.com/m-sokes/ComfyUI-Sokes-Nodes" ], "install_type": "git-clone", - "description": "Nodes: Empty Latent Randomizer (9 Inputs)" + "description": "A small node suite for ComfyUI" }, { "author": "Extraltodeus", @@ -1878,7 +1974,7 @@ { "author": "Extraltodeus", "title": "pre_cfg_comfy_nodes_for_ComfyUI", - "id": "precfg", + "id": "pre_cfg_comfy_nodes_for_comfyui", "reference": "https://github.com/Extraltodeus/pre_cfg_comfy_nodes_for_ComfyUI", "files": [ "https://github.com/Extraltodeus/pre_cfg_comfy_nodes_for_ComfyUI" @@ -1903,11 +1999,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", @@ -1943,7 +2049,7 @@ }, { "author": "badjeff", - "title": "LoRA Tag Loader for ComfyUI", + "title": "badjeff/LoRA Tag Loader for ComfyUI", "id": "lora-tag-loader", "reference": "https://github.com/badjeff/comfyui_lora_tag_loader", "files": [ @@ -2008,6 +2114,17 @@ "install_type": "git-clone", "description": "This project is used to enable [a/ToonCrafter](https://github.com/ToonCrafter/ToonCrafter) to be used in ComfyUI.\nYou can use it to achieve generative keyframe animation\nAnd use it in Blender for animation rendering and prediction" }, + { + "author": "AIGODLIKE", + "title": "Blender-IO", + "id": "blender-io", + "reference": "https://github.com/AIGODLIKE/Blender-IO", + "files": [ + "https://github.com/AIGODLIKE/Blender-IO" + ], + "install_type": "git-clone", + "description": "Add data chain operation between blender and comfyui. Provides ComfyUIInputs node for blender to fetching data from ComfyUI, and Blender Inputs/Outputs node for ComfyUI to fetching/sending data with blender." + }, { "author": "syllebra", "title": "BilboX's ComfyUI Custom Nodes", @@ -2030,28 +2147,6 @@ "install_type": "git-clone", "description": "All the tools you need to save images with their generation metadata on ComfyUI. Compatible with Civitai & Prompthero geninfo auto-detection. Works with png, jpeg and webp." }, - { - "author": "shingo1228", - "title": "ComfyUI-send-Eagle(slim)", - "id": "send-eagle", - "reference": "https://github.com/shingo1228/ComfyUI-send-eagle-slim", - "files": [ - "https://github.com/shingo1228/ComfyUI-send-eagle-slim" - ], - "install_type": "git-clone", - "description": "Nodes:Send Webp Image to Eagle. This is an extension node for ComfyUI that allows you to send generated images in webp format to Eagle. This extension node is a re-implementation of the Eagle linkage functions of the previous ComfyUI-send-Eagle node, focusing on the functions required for this node." - }, - { - "author": "shingo1228", - "title": "ComfyUI-SDXL-EmptyLatentImage", - "id": "sdxl-emptylatent", - "reference": "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage", - "files": [ - "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage" - ], - "install_type": "git-clone", - "description": "Nodes:SDXL Empty Latent Image. An extension node for ComfyUI that allows you to select a resolution from the pre-defined json files and output a Latent Image." - }, { "author": "laksjdjf", "title": "pfg-ComfyUI", @@ -2118,6 +2213,16 @@ "install_type": "git-clone", "description": "Nodes:CLIP Text Encode (Batch), String Input, Batch String" }, + { + "author": "laksjdjf", + "title": "ComfyUI-Imatrix", + "reference": "https://github.com/laksjdjf/ComfyUI-Imatrix", + "files": [ + "https://github.com/laksjdjf/ComfyUI-Imatrix" + ], + "install_type": "git-clone", + "description": "This is an experimental node for generating an *imatrix* file to reduce quantization errors in GGUF files used with ComfyUI-GGUF." + }, { "author": "alsritter", "title": "asymmetric-tiling-comfyui", @@ -2196,10 +2301,10 @@ { "author": "bradsec", "title": "ResolutionSelector for ComfyUI", - "id": "resolution-selector", - "reference": "https://github.com/bradsec/ComfyUI_ResolutionSelector", + "id": "comfyui_resolutionselectorplus", + "reference": "https://github.com/bradsec/ComfyUI_ResolutionSelectorPlus", "files": [ - "https://github.com/bradsec/ComfyUI_ResolutionSelector" + "https://github.com/bradsec/ComfyUI_ResolutionSelectorPlus" ], "install_type": "git-clone", "description": "A custom node for Stable Diffusion ComfyUI to enable easy selection of image resolutions for SDXL SD15 SD21" @@ -2500,17 +2605,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", @@ -2544,6 +2638,17 @@ "install_type": "git-clone", "description": "Nodes: OTX Multiple Values, OTX KSampler Feeder. This extension provides custom nodes for ComfyUI created for personal projects. Made available for reference. Nodes may be updated or changed intermittently or not at all. Review & test before use." }, + { + "author": "budihartono", + "title": "CAS Aspect Ratio Presets Node for ComfyUI", + "id": "comfyui-aspect-ratio-presets", + "reference": "https://github.com/budihartono/comfyui-aspect-ratio-presets", + "files": [ + "https://github.com/budihartono/comfyui-aspect-ratio-presets" + ], + "install_type": "git-clone", + "description": "Quickly create empty latents in common resolutions and aspect ratios for SD 1.5, SDXL, Flux, Chroma, and HiDream. Choose from curated presets or generate by axis and aspect ratio. Appears in the 'latent' node group." + }, { "author": "ramyma", "title": "A8R8 ComfyUI Nodes", @@ -2575,7 +2680,17 @@ "https://github.com/tusharbhutt/Endless-Nodes" ], "install_type": "git-clone", - "description": "A small set of nodes I created for various numerical and text inputs. Features image saver with ability to have JSON saved to separate folder, parameter collection nodes, two aesthetic scoring models, switches for text and numbers, and conversion of string to numeric and vice versa." + "description": "A small set of nodes I created for myself. Features multiple simultaneous prompts in batches, an image saver with ability to have JSON saved to separate folder, image analysis nodes, switches for text and numbers, and more." + }, + { + "author": "BiffMunky", + "title": "Endless 🌊✨ Buttons", + "reference": "https://github.com/tusharbhutt/Endless-Buttons", + "files": [ + "https://github.com/tusharbhutt/Endless-Buttons" + ], + "install_type": "git-clone", + "description": "A small set of JavaScript files I created for myself. The scripts provide Quality of Life enhancements to the ComfyUI interface, such as changing fonts and font sizes." }, { "author": "spacepxl", @@ -2621,17 +2736,6 @@ "install_type": "git-clone", "description": "Basic support for StyleGAN2 and StyleGAN3 models." }, - { - "author": "spacepxl", - "title": "ComfyUI-Florence-2", - "id": "florence2-spacepxl", - "reference": "https://github.com/spacepxl/ComfyUI-Florence-2", - "files": [ - "https://github.com/spacepxl/ComfyUI-Florence-2" - ], - "install_type": "git-clone", - "description": "[a/https://huggingface.co/microsoft/Florence-2-large-ft](https://huggingface.co/microsoft/Florence-2-large-ft)\nLarge or base model, support for captioning and bbox task modes, more coming soon." - }, { "author": "spacepxl", "title": "ComfyUI-Depth-Pro", @@ -2642,6 +2746,26 @@ "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": "spacepxl", + "title": "ComfyUI-VAE-Utils", + "reference": "https://github.com/spacepxl/ComfyUI-VAE-Utils", + "files": [ + "https://github.com/spacepxl/ComfyUI-VAE-Utils" + ], + "install_type": "git-clone", + "description": "Nodes for loading and using VAEs in ways not supported by base ComfyUI. Currently supports Wan upscale VAE, more may be added later as needed." + }, { "author": "PTA", "title": "auto nodes layout", @@ -2697,6 +2821,16 @@ "install_type": "git-clone", "description": "Nodes: SamplerCustomNoise, SamplerCustomNoiseDuo, SamplerCustomModelMixtureDuo, SamplerRES_Momentumized, SamplerDPMPP_DualSDE_Momentumized, SamplerCLYB_4M_SDE_Momentumized, SamplerTTM, SamplerLCMCustom\nThis extension provides various custom samplers not offered by the default nodes in ComfyUI." }, + { + "author": "Clybius", + "title": "ComfyUI-ClybsChromaNodes", + "reference": "https://github.com/Clybius/ComfyUI-ClybsChromaNodes", + "files": [ + "https://github.com/Clybius/ComfyUI-ClybsChromaNodes" + ], + "install_type": "git-clone", + "description": "A small collection of nodes intended for use with Lodestone Rock's Chroma model, for ComfyUI." + }, { "author": "mcmonkeyprojects", "title": "Dynamic Thresholding", @@ -2732,14 +2866,14 @@ }, { "author": "chrisgoringe", - "title": "Image chooser", - "id": "image-chooser", - "reference": "https://github.com/chrisgoringe/cg-image-picker", + "title": "Image Filter", + "id": "image-filter", + "reference": "https://github.com/chrisgoringe/cg-image-filter", "files": [ - "https://github.com/chrisgoringe/cg-image-picker" + "https://github.com/chrisgoringe/cg-image-filter" ], "install_type": "git-clone", - "description": "A custom node that pauses the flow while you choose which image (or latent) to pass on to the rest of the workflow." + "description": "A set of custom nodes that pause the flow to allow you to pick images, edit parameters, set masks etc.." }, { "author": "chrisgoringe", @@ -2775,17 +2909,6 @@ "install_type": "git-clone", "description": "Quickly and easily build a GUI on top of your workflow. Gather just the nodes that you want to see, with no spaghetti, onto controller panels, leaving your workflow untouched in the background." }, - { - "author": "TGu-97", - "title": "TGu Utilities", - "id": "tgu", - "reference": "https://github.com/TGu-97/ComfyUI-TGu-utils", - "files": [ - "https://github.com/TGu-97/ComfyUI-TGu-utils" - ], - "install_type": "git-clone", - "description": "Nodes: MPN Switch, MPN Reroute, PN Switch. This is a set of custom nodes for ComfyUI. Mainly focus on control switches." - }, { "author": "seanlynch", "title": "SRL's nodes", @@ -3193,6 +3316,66 @@ "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": "kijai", + "title": "ComfyUI-LBMWrapper", + "reference": "https://github.com/kijai/ComfyUI-LBMWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-LBMWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for [a/Latent Bridge Matching (LBM)](https://github.com/gojasper/LBM)" + }, + { + "author": "kijai", + "title": "ComfyUI-WanVideoWrapper", + "reference": "https://github.com/kijai/ComfyUI-WanVideoWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-WanVideoWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for [a/WanVideo](https://github.com/Wan-Video/Wan2.1) and related models." + }, + { + "author": "kijai", + "title": "ComfyUI-MelBandRoFormer", + "reference": "https://github.com/kijai/ComfyUI-MelBandRoFormer", + "files": [ + "https://github.com/kijai/ComfyUI-MelBandRoFormer" + ], + "install_type": "git-clone", + "description": "Mel-Band RoFormer for Music Source Separation" + }, + { + "author": "kijai", + "title": "ComfyUI-SCAIL-Pose", + "reference": "https://github.com/kijai/ComfyUI-SCAIL-Pose", + "files": [ + "https://github.com/kijai/ComfyUI-SCAIL-Pose" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for SCAIL input processing" + }, { "author": "hhhzzyang", "title": "Comfyui-Lama", @@ -3213,7 +3396,18 @@ "https://github.com/audioscavenger/save-image-extended-comfyui" ], "install_type": "git-clone", - "description": "Upgrade the Save File node: customize subfolders, file names with checkpoint names, or any sampler attribute your want! [w/NOTE: This node is a fork from @thedyze, since the [a/original repository](https://github.com/thedyze/save-image-extended-comfyui) is no longer maintained. Simply *uninstall* the original version and **REINSTALL** this one.]" + "description": "Save as AVIF, WebP, JPEG, customize the folder, sub-folders, and filenames of your images!" + }, + { + "author": "audioscavenger", + "title": "ComfyUI-Thumbnails", + "id": "thumbnails", + "reference": "https://github.com/audioscavenger/ComfyUI-Thumbnails", + "files": [ + "https://github.com/audioscavenger/ComfyUI-Thumbnails" + ], + "install_type": "git-clone", + "description": "Load Image thumbnails, delete images, browse input subfolders." }, { "author": "SOELexicon", @@ -3346,6 +3540,16 @@ "install_type": "git-clone", "description": "ymc 's nodes for comfyui. This extension is composed of nodes that provide various utility features such as text, region, and I/O." }, + { + "author": "YMC", + "title": "ymc_node_joy", + "reference": "https://github.com/YMC-GitHub/ymc_node_joy", + "files": [ + "https://github.com/YMC-GitHub/ymc_node_joy" + ], + "install_type": "git-clone", + "description": "comfyui custom nodes to caption image with joy" + }, { "author": "YMC", "title": "ymc-node-as-x-type", @@ -3356,6 +3560,16 @@ "install_type": "git-clone", "description": "some comfyui custom nodes to set it as known type" }, + { + "author": "YMC", + "title": "comfyui_node_ymc_effect_shatter", + "reference": "https://github.com/YMC-GitHub/comfyui_node_ymc_effect_shatter", + "files": [ + "https://github.com/YMC-GitHub/comfyui_node_ymc_effect_shatter" + ], + "install_type": "git-clone", + "description": "some comfyui custom nodes to make effect shatter" + }, { "author": "chibiace", "title": "ComfyUI-Chibi-Nodes", @@ -3487,6 +3701,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", @@ -3502,6 +3736,7 @@ "title": "comfyui-mixlab-nodes", "id": "mixlab", "reference": "https://github.com/shadowcz007/comfyui-mixlab-nodes", + "reference2": "https://github.com/MixLabPro/comfyui-mixlab-nodes", "files": [ "https://github.com/shadowcz007/comfyui-mixlab-nodes" ], @@ -3545,6 +3780,7 @@ "title": "comfyui-sound-lab", "id": "soundlab", "reference": "https://github.com/shadowcz007/comfyui-sound-lab", + "reference2": "https://github.com/MixLabPro/comfyui-sound-lab", "files": [ "https://github.com/shadowcz007/comfyui-sound-lab" ], @@ -3567,6 +3803,7 @@ "title": "comfyui-liveportrait", "id": "liveportrait", "reference": "https://github.com/shadowcz007/comfyui-liveportrait", + "reference2": "https://github.com/MixLabPro/comfyui-liveportrait", "files": [ "https://github.com/shadowcz007/comfyui-liveportrait" ], @@ -3577,6 +3814,7 @@ "author": "shadowcz007", "title": "comfyui-try-on", "reference": "https://github.com/shadowcz007/comfyui-try-on", + "reference2": "https://github.com/MixLabPro/comfyui-try-on", "files": [ "https://github.com/shadowcz007/comfyui-try-on" ], @@ -3595,6 +3833,17 @@ "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", + "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", @@ -3649,6 +3898,16 @@ "install_type": "git-clone", "description": "Canvas to use with ComfyUI" }, + { + "author": "taabata", + "title": "SANA_LOWVRAM", + "reference": "https://github.com/taabata/SANA_LOWVRAM", + "files": [ + "https://github.com/taabata/SANA_LOWVRAM" + ], + "install_type": "git-clone", + "description": "ComfyUI Diffusers wrapper nodes to run SANA models on low vram devices. Works on 2GB VRAM 12GB RAM laptop." + }, { "author": "noxinias", "title": "ComfyUI_NoxinNodes", @@ -3660,17 +3919,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", @@ -3723,7 +3971,7 @@ "https://github.com/Fictiverse/ComfyUI_Fictiverse" ], "install_type": "git-clone", - "description": "Nodes:Color correction." + "description": "Nodes:Essential Params, Image Params, Video Params, Add Margin With Color, Resize to megapixels" }, { "author": "idrirap", @@ -3734,7 +3982,7 @@ "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words" ], "install_type": "git-clone", - "description": "This project is a fork of [a/https://github.com/Extraltodeus/LoadLoraWithTags](https://github.com/Extraltodeus/LoadLoraWithTags) The aim of these custom nodes is to get an easy access to the tags used to trigger a lora." + "description": "The aim of these custom nodes is to get an easy access to the tags used to trigger a lora / lycoris. Extract the tags from civitai or from the safetensors metadatas when available." }, { "author": "aianimation55", @@ -3816,13 +4064,13 @@ { "author": "fexli", "title": "fexli-util-node-comfyui", - "id": "fexli", + "id": "fexli-util-node-comfyui", "reference": "https://github.com/fexli/fexli-util-node-comfyui", "files": [ "https://github.com/fexli/fexli-util-node-comfyui" ], "install_type": "git-clone", - "description": "Nodes:FEImagePadForOutpaint, FEColorOut, FEColor2Image, FERandomizedColor2Image" + "description": "A set of Fe's Util nodes for ComfyUI" }, { "author": "AbyssBadger0", @@ -3867,6 +4115,26 @@ "install_type": "git-clone", "description": "Nodes:Openpose Editor Plus" }, + { + "author": "whmc76", + "title": "ComfyUI-RemoveBackgroundSuite", + "reference": "https://github.com/whmc76/ComfyUI-RemoveBackgroundSuite", + "files": [ + "https://github.com/whmc76/ComfyUI-RemoveBackgroundSuite" + ], + "install_type": "git-clone", + "description": "A matting toolkit based on ComfyUI, supporting multiple matting models and detail processing methods." + }, + { + "author": "whmc76", + "title": "ComfyUI-UniversalToolkit", + "reference": "https://github.com/whmc76/ComfyUI-UniversalToolkit", + "files": [ + "https://github.com/whmc76/ComfyUI-UniversalToolkit" + ], + "install_type": "git-clone", + "description": "A comprehensive toolkit based on ComfyUI, providing image, mask, audio, and tools nodes, fully modular and v3 compatible." + }, { "author": "martijnat", "title": "comfyui-previewlatent", @@ -3945,15 +4213,80 @@ }, { "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", + "title": "Jovi_GLSL", + "id": "jovi_glsl", + "reference": "https://github.com/Amorano/Jovi_GLSL", + "files": [ + "https://github.com/Amorano/Jovi_GLSL" + ], + "install_type": "git-clone", + "description": "Integrates GLSL shader support." + }, + { + "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": "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", @@ -3976,6 +4309,36 @@ "install_type": "git-clone", "description": "Nodes:Noodle webcam is a node that records frames and send them to your favourite node." }, + { + "author": "Niutonian", + "title": "ComfyUI-Niutonian-Themes", + "reference": "https://github.com/Niutonian/ComfyUI-Niutonian-Themes", + "files": [ + "https://github.com/Niutonian/ComfyUI-Niutonian-Themes" + ], + "install_type": "git-clone", + "description": "A theme pack for ComfyUI that transforms the nodes into the best 2000's aesthetics styles while preserving full functionality." + }, + { + "author": "Niutonian", + "title": "comfyui_Niutonian_GLM_4_6V", + "reference": "https://github.com/Niutonian/comfyui_Niutonian_GLM_4_6V", + "files": [ + "https://github.com/Niutonian/comfyui_Niutonian_GLM_4_6V" + ], + "install_type": "git-clone", + "description": "This is the transformer-based implementation of Niutonian GLM-4.6V nodes for ComfyUI with memory optimizations." + }, + { + "author": "Niutonian", + "title": "comfyui-niutonian-smart-image", + "reference": "https://github.com/Niutonian/comfyui-niutonian-smart-image", + "files": [ + "https://github.com/Niutonian/comfyui-niutonian-smart-image" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI custom node suite for intelligent image stitching, processing, and manipulation with automatic handling of empty/bypassed inputs." + }, { "author": "Feidorian", "title": "feidorian-ComfyNodes", @@ -4136,16 +4499,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": "sergekatzmann", "title": "ComfyUI_Nimbus-Pack", @@ -4199,17 +4552,6 @@ "install_type": "git-clone", "description": "Nodes:Text_Image_Zho, Text_Image_Multiline_Zho, RGB_Image_Zho, AlphaChanelAddByMask, ImageComposite_Zho, ..." }, - { - "author": "ZHO-ZHO-ZHO", - "title": "ComfyUI-Gemini", - "id": "gemini", - "reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini", - "files": [ - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini" - ], - "install_type": "git-clone", - "description": "Using Gemini-pro & Gemini-pro-vision in ComfyUI." - }, { "author": "ZHO-ZHO-ZHO", "title": "comfyui-portrait-master-zh-cn", @@ -4364,17 +4706,6 @@ "install_type": "git-clone", "description": "Animated optical illusions in ComfyUI" }, - { - "author": "ZHO-ZHO-ZHO", - "title": "Qwen-2.5 in ComfyUI", - "id": "qwen", - "reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen", - "files": [ - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen" - ], - "install_type": "git-clone", - "description": "Using Qwen-2.5 in ComfyUI" - }, { "author": "ZHO-ZHO-ZHO", "title": "ComfyUI-UltraEdit-ZHO", @@ -4385,6 +4716,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", @@ -4542,7 +4883,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", @@ -4644,6 +4985,16 @@ "install_type": "git-clone", "description": "This extension helps generate images through NAI." }, + { + "author": "bedovyy", + "title": "ComfyUI-LLM-Helper", + "reference": "https://github.com/bedovyy/ComfyUI-LLM-Helper", + "files": [ + "https://github.com/bedovyy/ComfyUI-LLM-Helper" + ], + "install_type": "git-clone", + "description": "A collection of helper nodes for working with LLM APIs in ComfyUI, intended to complement other LLM custom nodes." + }, { "author": "Off-Live", "title": "ComfyUI-off-suite", @@ -4728,6 +5079,17 @@ "install_type": "git-clone", "description": "Automatically creates checkpoints during workflow execution. If If an workflow is canceled or ComfyUI crashes mid-execution, then these checkpoints are used when the workflow is re-queued to resume execution with minimal progress loss." }, + { + "author": "AustinMroz", + "title": "ComfyUI-MinCache", + "id": "comfyui-mincache", + "reference": "https://github.com/AustinMroz/ComfyUI-MinCache", + "files": [ + "https://github.com/AustinMroz/ComfyUI-MinCache" + ], + "install_type": "git-clone", + "description": "Modifies execution to minimize RAM at the cost of performance" + }, { "author": "11cafe", "title": "ComfyUI Workspace Manager - Comfyspace", @@ -4759,6 +5121,27 @@ "install_type": "git-clone", "description": "A collection of nodes powering a tensor oracle on a home network with automation" }, + { + "author": "jtrue", + "title": "ComfyUI-WordEmbeddings", + "reference": "https://github.com/jtrue/ComfyUI-WordEmbeddings", + "files": [ + "https://github.com/jtrue/ComfyUI-WordEmbeddings" + ], + "nodename_pattern": "_jru$", + "install_type": "git-clone", + "description": "Word embedding utility nodes for ComfyUI. Load a pre-trained embedding model, explore neighbors, do analogies, and project any token/phrase onto 1D/2D/3D semantic axes with human‑readable summaries." + }, + { + "author": "jtrue", + "title": "ComfyUI-Rect", + "reference": "https://github.com/jtrue/ComfyUI-Rect", + "files": [ + "https://github.com/jtrue/ComfyUI-Rect" + ], + "install_type": "git-clone", + "description": "Interactive rectangle tools for ComfyUI: Select, Crop, Mask, Fill." + }, { "author": "filliptm", "title": "ComfyUI_Fill-Nodes", @@ -4767,7 +5150,77 @@ "https://github.com/filliptm/ComfyUI_Fill-Nodes" ], "install_type": "git-clone", - "description": "VFX nodes, Shaders, Utilities, Mask tools, Prompting Tools, and much more!" + "description": "Fill-Nodes is a versatile collection of custom nodes for ComfyUI that extends functionality across multiple domains. Features include advanced image processing (pixelation, slicing, masking), visual effects generation (glitch, halftone, pixel art), comprehensive file handling (PDF creation/extraction, Google Drive integration), AI model interfaces (GPT, DALL-E, Hugging Face), utility nodes for workflow enhancement, and specialized tools for video processing, captioning, and batch operations. The pack provides both practical workflow solutions and creative tools within a unified node collection." + }, + { + "author": "filliptm", + "title": "ComfyUI_FL-Trainer", + "reference": "https://github.com/filliptm/ComfyUI_FL-Trainer", + "files": [ + "https://github.com/filliptm/ComfyUI_FL-Trainer" + ], + "install_type": "git-clone", + "description": "Train Image Loras on both sd1.5 and SDXL. This repo git clones the pieces needed to train. It pops open a second terminal window do do the training. It will also display the inference samples in the node itself so you can track the results." + }, + { + "author": "filliptm", + "title": "ComfyUI_Fill-ChatterBox", + "reference": "https://github.com/filliptm/ComfyUI_Fill-ChatterBox", + "files": [ + "https://github.com/filliptm/ComfyUI_Fill-ChatterBox" + ], + "install_type": "git-clone", + "description": "Voice Clone and TTS model." + }, + { + "author": "filliptm", + "title": "ComfyUI_FL-Path-Animator", + "reference": "https://github.com/filliptm/ComfyUI_FL-Path-Animator", + "files": [ + "https://github.com/filliptm/ComfyUI_FL-Path-Animator" + ], + "install_type": "git-clone", + "description": "A standalone ComfyUI custom node for creating animated shapes that follow user-drawn paths." + }, + { + "author": "filliptm", + "title": "ComfyUI_FL-CosyVoice3", + "reference": "https://github.com/filliptm/ComfyUI_FL-CosyVoice3", + "files": [ + "https://github.com/filliptm/ComfyUI_FL-CosyVoice3" + ], + "install_type": "git-clone", + "description": "FL CosyVoice3 - Advanced Text-to-Speech nodes for ComfyUI. Features zero-shot voice cloning, cross-lingual synthesis, instruction-based control, and voice conversion using the CosyVoice3 model family. Supports 9 languages and 18+ Chinese dialects with automatic model downloading and caching." + }, + { + "author": "filliptm", + "title": "ComfyUI_FL-ClearVoice", + "reference": "https://github.com/filliptm/ComfyUI_FL-ClearVoice", + "files": [ + "https://github.com/filliptm/ComfyUI_FL-ClearVoice" + ], + "install_type": "git-clone", + "description": "FL ClearVoice - Audio enhancement nodes for ComfyUI. Features speech enhancement, super-resolution, denoising, and audio restoration using ClearVoice, Resemble-Enhance, and VoiceFixer models. Supports multiple backends with automatic model downloading." + }, + { + "author": "filliptm", + "title": "ComfyUI_FL-SongGen", + "reference": "https://github.com/filliptm/ComfyUI_FL-SongGen", + "files": [ + "https://github.com/filliptm/ComfyUI_FL-SongGen" + ], + "install_type": "git-clone", + "description": "FL Song Gen - AI-powered song generation nodes for ComfyUI. Generate complete songs with vocals and instrumentals from lyrics using Tencent's SongGeneration (LeVo) model. Features style transfer, auto style presets, dual-track output, and up to 4m30s song generation." + }, + { + "author": "filliptm", + "title": "ComfyUI-FL-DiffVSR", + "reference": "https://github.com/filliptm/ComfyUI-FL-DiffVSR", + "files": [ + "https://github.com/filliptm/ComfyUI-FL-DiffVSR" + ], + "install_type": "git-clone", + "description": "FL DiffVSR - Diffusion-based video super-resolution nodes for ComfyUI. Features 4x upscaling with temporal coherence using Stream-DiffVSR for smooth, artifact-free video enhancement. Supports text-guided upscaling, chunked processing for memory efficiency, and automatic model downloading from HuggingFace." }, { "author": "zfkun", @@ -4787,7 +5240,7 @@ "https://github.com/zcfrank1st/Comfyui-Toolbox" ], "install_type": "git-clone", - "description": "Nodes:Preview Json, Save Json, Test Json Preview, ... preview and save nodes" + "description": "A collection of utility nodes for ComfyUI, including audio/video processing, file uploads, and AI image generation." }, { "author": "talesofai", @@ -4809,9 +5262,30 @@ "install_type": "git-clone", "description": "To enhance the usability of ComfyUI, optimizations and integrations have been implemented for several commonly used nodes." }, + { + "author": "yolain", + "title": "ComfyUI-Easy-DotsOCR", + "reference": "https://github.com/yolain/ComfyUI-Easy-DotsOCR", + "files": [ + "https://github.com/yolain/ComfyUI-Easy-DotsOCR" + ], + "install_type": "git-clone", + "description": "ComfyUI-Easy-DotsOCR is a custom node for ComfyUI that provides text extraction via the DotsOCR engine." + }, + { + "author": "yolain", + "title": "SaveVideoRGBA", + "reference": "https://github.com/yolain/SaveVideoRGBA", + "files": [ + "https://github.com/yolain/SaveVideoRGBA" + ], + "install_type": "git-clone", + "description": "Enhanced the comfyui savevideo node to support previewing and saving videos containing alpha channels." + }, { "author": "bruefire", "title": "ComfyUI Sequential Image Loader", + "id": "comfyui-sq-imageloader", "reference": "https://github.com/bruefire/ComfyUI-SeqImageLoader", "files": [ "https://github.com/bruefire/ComfyUI-SeqImageLoader" @@ -4850,14 +5324,34 @@ "description": "Logical Utils (compare, string, boolean operations) for ComfyUI" }, { - "author": "MitoshiroPJ", - "title": "ComfyUI Slothful Attention", - "reference": "https://github.com/MitoshiroPJ/comfyui_slothful_attention", + "author": "aria1th", + "title": "ComfyUI-Wildcards-rework", + "reference": "https://github.com/aria1th/ComfyUI-Wildcards-rework", "files": [ - "https://github.com/MitoshiroPJ/comfyui_slothful_attention" + "https://github.com/aria1th/ComfyUI-Wildcards-rework" ], "install_type": "git-clone", - "description": "This custom node allow controlling output without training. The reducing method is similar to [a/Spatial-Reduction Attention](https://paperswithcode.com/method/spatial-reduction-attention), but generating speed may not be increased on typical image sizes due to overheads. (In some cases, slightly slower)" + "description": "Powerful ComfyUI custom node for dynamic prompt generation using wildcards and bracket expressions, enabling infinite variations with weighted selection, multi-picks, and nested expansion support." + }, + { + "author": "MitoshiroPJ", + "title": "ComfyUI Nearsighted Attention", + "reference": "https://github.com/MitoshiroPJ/comfyui_nearsighted_attention", + "files": [ + "https://github.com/MitoshiroPJ/comfyui_nearsighted_attention" + ], + "install_type": "git-clone", + "description": "This node splits its self-attention Q to focus on nearby samples." + }, + { + "author": "MitoshiroPJ", + "title": "ComfyUI SaveImage SDLI", + "reference": "https://github.com/MitoshiroPJ/ComfyUI_save_image_sdli", + "files": [ + "https://github.com/MitoshiroPJ/ComfyUI_save_image_sdli" + ], + "install_type": "git-clone", + "description": "SDLI (Stable Diffusion Latents in Imagefile) is file format, that contains latents and lossy (decoded) image. Detailed format is written at [a/SDLI Tools](https://github.com/MitoshiroPJ/sdli_tools)." }, { "author": "brianfitzgerald", @@ -4911,6 +5405,16 @@ "install_type": "git-clone", "description": "Nodes:Bing Image Grabber, Zephyr chat, Hermes Chat" }, + { + "author": "concarne000", + "title": "ComfyUI-Stacker", + "reference": "https://github.com/concarne000/ComfyUI-Stacker", + "files": [ + "https://github.com/concarne000/ComfyUI-Stacker" + ], + "install_type": "git-clone", + "description": "Simple stack push/pop style nodes for images, strings, integers and generic objects (image batches, latents, face models etc)" + }, { "author": "Aegis72", "title": "AegisFlow Utility Nodes", @@ -4942,7 +5446,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", @@ -4963,29 +5467,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." - }, - { - "author": "AI2lab", - "title": "comfyUI-tool-2lab", - "id": "tool-2lab", - "reference": "https://github.com/AI2lab/comfyUI-tool-2lab", - "files": [ - "https://github.com/AI2lab/comfyUI-tool-2lab" - ], - "install_type": "git-clone", - "description": "tool set for developing workflow and publish to web api server" - }, - { - "author": "AI2lab", - "title": "comfyUI-DeepSeek-2lab", - "id": "deepseek", - "reference": "https://github.com/AI2lab/comfyUI-DeepSeek-2lab", - "files": [ - "https://github.com/AI2lab/comfyUI-DeepSeek-2lab" - ], - "install_type": "git-clone", - "description": "Unofficial implementation of DeepSeek for ComfyUI" + "description": "Added Lora Loader - Tag node, originally by badjeff" }, { "author": "AI2lab", @@ -4998,27 +5480,6 @@ "install_type": "git-clone", "description": "Unofficial implementation of siliconflow API for ComfyUI\nHow to use:apply api key in :https://cloud.siliconflow.cn/\nadd api key in config.json" }, - { - "author": "AI2lab", - "title": "comfyUI-kling-api-2lab", - "reference": "https://github.com/AI2lab/comfyUI-kling-api-2lab", - "files": [ - "https://github.com/AI2lab/comfyUI-kling-api-2lab" - ], - "install_type": "git-clone", - "description": "Unofficial implementation of KLing for ComfyUI" - }, - { - "author": "SpaceKendo", - "title": "Text to video for Stable Video Diffusion in ComfyUI", - "id": "svd-txt2vid", - "reference": "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid", - "files": [ - "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid" - ], - "install_type": "git-clone", - "description": "This is node replaces the init_image conditioning for the [a/Stable Video Diffusion](https://github.com/Stability-AI/generative-models) image to video model with text embeds, together with a conditioning frame. The conditioning frame is a set of latents." - }, { "author": "NimaNzrii", "title": "comfyui-popup_preview", @@ -5088,7 +5549,7 @@ { "author": "BennyKok", "title": "ComfyUI Deploy", - "id": "comfy-deploy", + "id": "comfyui-deploy", "reference": "https://github.com/BennyKok/comfyui-deploy", "files": [ "https://github.com/BennyKok/comfyui-deploy" @@ -5217,6 +5678,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", @@ -5261,6 +5733,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", @@ -5316,6 +5829,56 @@ "install_type": "git-clone", "description": "This repo contains nodes for ComfyUI that implement some helpful operations on tensors, such as normalization." }, + { + "author": "ttulttul", + "title": "ComfyUI Qwen Rectified Flow Tools", + "reference": "https://github.com/ttulttul/ComfyUI-FlowMatching-Inverter", + "files": [ + "https://github.com/ttulttul/ComfyUI-FlowMatching-Inverter" + ], + "install_type": "git-clone", + "description": "This custom node pack for ComfyUI provides a suite of advanced tools for performing 'invert-and-resample' workflows with Rectified Flow models like Qwen-VL. It allows you to take an existing image, convert it to a noisy latent using a guided inversion process, and then use that latent as a starting point to generate creative, high-quality variations." + }, + { + "author": "ttulttul", + "title": "ComfyUI-FlowMatching-Upscaler", + "reference": "https://github.com/ttulttul/ComfyUI-FlowMatching-Upscaler", + "files": [ + "https://github.com/ttulttul/ComfyUI-FlowMatching-Upscaler" + ], + "install_type": "git-clone", + "description": "Progressive upscaling node for flow-matching models that incrementally doubles resolution with flow-consistent re-noising, denoising, and skip residual blending to preserve composition." + }, + { + "author": "ttulttul", + "title": "Skoogeer-Noise", + "reference": "https://github.com/ttulttul/Skoogeer-Noise", + "files": [ + "https://github.com/ttulttul/Skoogeer-Noise" + ], + "install_type": "git-clone", + "description": "Noise, conditioning, and perturbation utility nodes for ComfyUI (procedural noise, mesh drag, latent channel stats preview)." + }, + { + "author": "ttulttul", + "title": "Better-Gemini", + "reference": "https://github.com/ttulttul/Better-Gemini", + "files": [ + "https://github.com/ttulttul/Better-Gemini" + ], + "install_type": "git-clone", + "description": "A better node for using Google Gemini models, supporting the latest API endpoints with a v3 ComfyUI node interface." + }, + { + "author": "ttulttul", + "title": "ComfyUI-Taylor-Attention", + "reference": "https://github.com/ttulttul/ComfyUI-Taylor-Attention", + "files": [ + "https://github.com/ttulttul/ComfyUI-Taylor-Attention" + ], + "install_type": "git-clone", + "description": "ComfyUI Taylor attention custom node" + }, { "author": "jitcoder", "title": "LoraInfo", @@ -5392,7 +5955,7 @@ "https://github.com/Limitex/ComfyUI-Diffusers" ], "install_type": "git-clone", - "description": "This extension enables the use of the diffuser pipeline in ComfyUI." + "description": "This extension enables the use of the diffuser pipeline in ComfyUI. It also includes nodes related to Stream Diffusion." }, { "author": "aiXander", @@ -5583,6 +6146,16 @@ "install_type": "git-clone", "description": "Nodes: Shadertoy, Load Audio (from Path), Audio Frame Transform (Shadertoy), Audio Frame Transform (Beats)" }, + { + "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": "ntc-ai", "title": "ComfyUI - Apply LoRA Stacker with DARE", @@ -6004,6 +6577,16 @@ "install_type": "git-clone", "description": "Allows you to save images with their generation metadata compatible with Civitai. Works with png, jpeg and webp. Stores LoRAs, models and embeddings hashes for resource recognition." }, + { + "author": "alexopus", + "title": "ComfyUI Notes Sidebar", + "reference": "https://github.com/alexopus/ComfyUI-Notes-Sidebar", + "files": [ + "https://github.com/alexopus/ComfyUI-Notes-Sidebar" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that adds a notes sidebar for managing notes" + }, { "author": "kft334", "title": "Knodes", @@ -6039,36 +6622,6 @@ "install_type": "git-clone", "description": "Improved AnimateAnyone implementation that allows you to use the opse image sequence and reference image to generate stylized video.\nThe current goal of this project is to achieve desired pose2video result with 1+FPS on GPUs that are equal to or better than RTX 3080!šŸš€\n[w/The torch environment may be compromised due to version issues as some torch-related packages are being reinstalled.]" }, - { - "author": "Hangover3832", - "title": "ComfyUI-Hangover-Nodes", - "reference": "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes", - "files": [ - "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes" - ], - "install_type": "git-clone", - "description": "Nodes: MS kosmos-2 Interrogator, Save Image w/o Metadata, Image Scale Bounding Box. An implementation of Microsoft [a/kosmos-2](https://huggingface.co/microsoft/kosmos-2-patch14-224) image to text transformer." - }, - { - "author": "Hangover3832", - "title": "ComfyUI-Hangover-Moondream", - "reference": "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream", - "files": [ - "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream" - ], - "install_type": "git-clone", - "description": "Moondream is a lightweight multimodal large language model.\n[w/WARN:Additional python code will be downloaded from huggingface and executed. You have to trust this creator if you want to use this node!]" - }, - { - "author": "Hangover3832", - "title": "Recognize Anything Model (RAM) for ComfyUI", - "reference": "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything", - "files": [ - "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything" - ], - "install_type": "git-clone", - "description": "This is an image recognition node for ComfyUI based on the RAM++ model from [a/xinyu1205](https://huggingface.co/xinyu1205).\nThis node outputs a string of tags with all the recognized objects and elements in the image in English or Chinese language.\nFor image tagging and captioning." - }, { "author": "tzwm", "title": "ComfyUI Profiler", @@ -6119,16 +6672,6 @@ "install_type": "git-clone", "description": "Nodes:SingleImageDataUrlLoader" }, - { - "author": "ginlov", - "title": "segment_to_mask_comfyui", - "reference": "https://github.com/ginlov/segment_to_mask_comfyui", - "files": [ - "https://github.com/ginlov/segment_to_mask_comfyui" - ], - "install_type": "git-clone", - "description": "Nodes:SegToMask" - }, { "author": "glowcone", "title": "Load Image From Base64 URI", @@ -6229,6 +6772,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", @@ -6310,6 +6873,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", @@ -6574,15 +7147,14 @@ "description": "Visualize your textures inside ComfyUI" }, { - "author": "Hiero207", - "title": "Hiero-Nodes", - "id": "hiero", - "reference": "https://github.com/Hiero207/ComfyUI-Hiero-Nodes", + "author": "gokayfem", + "title": "ComfyUI-fal-API", + "reference": "https://github.com/gokayfem/ComfyUI-fal-API", "files": [ - "https://github.com/Hiero207/ComfyUI-Hiero-Nodes" + "https://github.com/gokayfem/ComfyUI-fal-API" ], "install_type": "git-clone", - "description": "Nodes:Post to Discord w/ Webhook" + "description": "Custom nodes for using fal API. Video generation with Kling, Runway, Luma. Image generation with Flux. LLMs and VLMs OpenAI, Claude, Llama and Gemini." }, { "author": "azure-dragon-ai", @@ -6595,6 +7167,16 @@ "install_type": "git-clone", "description": "Nodes:ImageScore, Loader, Image Processor, Real Image Processor, Fake Image Processor, Text Processor. ComfyUI Nodes for ClipScore" }, + { + "author": "azure-dragon-ai", + "title": "ComfyUI-HPSv2-Nodes", + "reference": "https://github.com/azure-dragon-ai/ComfyUI-HPSv2-Nodes", + "files": [ + "https://github.com/azure-dragon-ai/ComfyUI-HPSv2-Nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI Nodes for HPSv2, Human Preference Score v2: A Solid Benchmark for Evaluating Human Preferences of Text-to-Image Synthesis" + }, { "author": "yuvraj108c", "title": "ComfyUI Whisper", @@ -6703,6 +7285,46 @@ "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": "yuvraj108c", + "title": "ComfyUI FLOAT", + "reference": "https://github.com/yuvraj108c/ComfyUI-FLOAT", + "files": [ + "https://github.com/yuvraj108c/ComfyUI-FLOAT" + ], + "install_type": "git-clone", + "description": "This project provides an unofficial ComfyUI implementation of [a/FLOAT](https://github.com/deepbrainai-research/float) for Generative Motion Latent Flow Matching for Audio-driven Talking Portrait" + }, { "author": "blepping", "title": "ComfyUI-bleh", @@ -6757,6 +7379,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", @@ -6876,16 +7508,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", @@ -6916,6 +7538,16 @@ "install_type": "git-clone", "description": "flux lora merge.\nadaptive Merge (uses tensor norms and weight), manual Merge (uses fixed weights you specify), additive Merge (uses 100% of the first and adds a percentage of the second)" }, + { + "author": "StartHua", + "title": "Comfyui_Gemini2", + "reference": "https://github.com/StartHua/Comfyui_Gemini2", + "files": [ + "https://github.com/StartHua/Comfyui_Gemini2" + ], + "install_type": "git-clone", + "description": "NODES:CXH_Gemini2_TX, CXH_Gemini2_Vision, CXH_Local_Prompt" + }, { "author": "ricklove", "title": "comfyui-ricklove", @@ -6929,14 +7561,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", @@ -7021,13 +7664,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", @@ -7080,7 +7723,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", @@ -7102,6 +7745,16 @@ "install_type": "git-clone", "description": "Official Deforum animation pipeline tools that provide a unique way to create frame-by-frame generative motion art." }, + { + "author": "XmYx", + "title": "ComfyUI-SmolLM3", + "reference": "https://github.com/XmYx/ComfyUI-SmolLM3", + "files": [ + "https://github.com/XmYx/ComfyUI-SmolLM3" + ], + "install_type": "git-clone", + "description": "Welcome to ComfyUI-SmolLM3, where we bring the magic of Hugging Face's SmolLM3 language models into your ComfyUI workflow! Whether you're crafting stories, generating ideas, or building AI-powered creativity tools, this node pack makes it delightfully simple." + }, { "author": "adbrasi", "title": "ComfyUI-TrashNodes-DownloadHuggingface", @@ -7225,16 +7878,6 @@ "install_type": "git-clone", "description": "ComfyUI-FreeMemory is a custom node extension for ComfyUI that provides advanced memory management capabilities within your image generation workflows. It aims to help prevent out-of-memory errors and optimize resource usage during complex operations." }, - { - "author": "ShmuelRonen", - "title": "ComfyUI Flux 1.1 Ultra & Raw Node", - "reference": "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API", - "files": [ - "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API" - ], - "install_type": "git-clone", - "description": "A ComfyUI custom node for Black Forest Labs' FLUX 1.1 [pro] API, supporting both regular and Ultra modes with optional Raw mode." - }, { "author": "ShmuelRonen", "title": "ComfyUI-AstralAnimator", @@ -7246,6 +7889,17 @@ "install_type": "git-clone", "description": "A custom node for ComfyUI that enables smooth, keyframe-based animations for image generation. Create dynamic sequences with control over motion, zoom, rotation, and easing effects. Ideal for AI-assisted animation and video content creation." }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-HiggsAudio_Wrapper", + "id": "higgs-audio-wrapper", + "reference": "https://github.com/ShmuelRonen/ComfyUI-HiggsAudio_Wrapper", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-HiggsAudio_Wrapper" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI wrapper for HiggsAudio v2, enabling high-quality text-to-speech generation with advanced voice cloning capabilities. Supports multiple voice presets and custom reference audio for voice cloning. Requires transformers==4.45.2 for compatibility." + }, { "author": "ShmuelRonen", "title": "Apply Style Model Adjust for ComfyUI", @@ -7264,7 +7918,7 @@ "https://github.com/ShmuelRonen/ComfyUI_pixtral_large" ], "install_type": "git-clone", - "description": "A ComfyUI custom node that integrates Mistral AI's Pixtral Large vision model, enabling powerful multimodal AI capabilities within ComfyUI. Pixtral Large is a 124B parameter model (123B decoder + 1B vision encoder) that can analyze up to 30 high-resolution images simultaneously." + "description": "A ComfyUI custom node that integrates Mistral AI's Pixtral Large vision model, enabling powerful multimodal AI capabilities within ComfyUI. Pixtral Large is a 124B parameter model (123B decoder + 1B visual encoder)" }, { "author": "ShmuelRonen", @@ -7276,6 +7930,296 @@ "install_type": "git-clone", "description": "A custom node for ComfyUI that enables coherent video generation while maintaining efficient memory usage, specifically optimized for heavy models like Flux." }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-Gemini_Flash_2.0_Exp", + "reference": "https://github.com/ShmuelRonen/ComfyUI-Gemini_Flash_2.0_Exp", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-Gemini_Flash_2.0_Exp" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that integrates Google's Gemini Flash 2.0 Experimental model, enabling multimodal analysis of text, images, video frames, and audio directly within ComfyUI workflows." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-ImageMotionGuider", + "reference": "https://github.com/ShmuelRonen/ComfyUI-ImageMotionGuider", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-ImageMotionGuider" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node designed to create seamless motion effects from single images by integrating with Hunyuan Video through latent space manipulation." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-EmptyHunyuanLatent", + "reference": "https://github.com/ShmuelRonen/ComfyUI-EmptyHunyuanLatent", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-EmptyHunyuanLatent" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI to generate empty latent space compatible with Hunyuan models for both image and video generation." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-HunyuanVideoStyler", + "reference": "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoStyler", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoStyler" + ], + "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." + }, + { + "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": "ShmuelRonen", + "title": "ComfyUI-HunyuanVideoSamplerSave", + "reference": "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoSamplerSave", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoSamplerSave" + ], + "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": "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." + }, + { + "author": "ShmuelRonen", + "title": "Google Moogle", + "reference": "https://github.com/ShmuelRonen/google_moogle", + "files": [ + "https://github.com/ShmuelRonen/google_moogle" + ], + "install_type": "git-clone", + "description": "A Google Moogle is a Google Translator node for ComfyUI that provides easy-to-use text translation capabilities directly within your ComfyUI workflows." + }, + { + "author": "ShmuelRonen", + "title": "comfyui-openai_fm", + "reference": "https://github.com/ShmuelRonen/comfyui-openai_fm", + "files": [ + "https://github.com/ShmuelRonen/comfyui-openai_fm" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates OpenAI last T2S capabilities for free" + }, + { + "author": "ShmuelRonen", + "title": "DJ_VideoAudioMixer", + "reference": "https://github.com/ShmuelRonen/DJ_VideoAudioMixer", + "files": [ + "https://github.com/ShmuelRonen/DJ_VideoAudioMixer" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for combining video clips with synchronized audio, background music, and advanced audio controls." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-Veo2-Experimental", + "reference": "https://github.com/ShmuelRonen/ComfyUI-Veo2-Experimental", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-Veo2-Experimental" + ], + "install_type": "git-clone", + "description": "A custom node extension for ComfyUI that integrates Google's Veo 2 text-to-video generation capabilities." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-VideoUpscale_WithModel", + "reference": "https://github.com/ShmuelRonen/ComfyUI-VideoUpscale_WithModel", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-VideoUpscale_WithModel" + ], + "install_type": "git-clone", + "description": "A memory-efficient implementation for upscaling videos in ComfyUI using non-diffusion upscaling models. This custom node is designed to handle large video frame sequences without memory bottlenecks." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-Orpheus-TTS", + "reference": "https://github.com/ShmuelRonen/ComfyUI-Orpheus-TTS", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-Orpheus-TTS" + ], + "install_type": "git-clone", + "description": "This project adds high-quality Text-to-Speech capabilities to ComfyUI using the Orpheus TTS model. Create natural-sounding voices with emotional expressions, multilingual support, and audio effects." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI Hedra Node", + "reference": "https://github.com/ShmuelRonen/ComfyUI_Hedra", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI_Hedra" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates with [a/Hedra](https://www.hedra.com/)'s Character-3 API to generate talking avatar videos from images and audio." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-Audio_Quality_Enhancer", + "reference": "https://github.com/ShmuelRonen/ComfyUI-Audio_Quality_Enhancer", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-Audio_Quality_Enhancer" + ], + "install_type": "git-clone", + "description": "An extension that's adds advanced audio processing capabilities to ComfyUI with professional-grade audio effects and AI-powered audio enhancement." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-FramePackWrapper_Plus", + "reference": "https://github.com/ShmuelRonen/ComfyUI-FramePackWrapper_Plus", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-FramePackWrapper_Plus" + ], + "install_type": "git-clone", + "description": "An extension that's adds advanced audio processing capabilities to ComfyUI with professional-grade audio effects and AI-powered audio enhancement." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-Gemini_TTS", + "reference": "https://github.com/ShmuelRonen/ComfyUI-Gemini_TTS", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-Gemini_TTS" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node that brings Google's Gemini TTS capabilities directly to your workflow. Generate high-quality speech with 30+ voices supporting both free and paid tiers." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI_ChatterBox_Voice", + "reference": "https://github.com/ShmuelRonen/ComfyUI_ChatterBox_Voice", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI_ChatterBox_Voice" + ], + "install_type": "git-clone", + "description": "An unofficial ComfyUI custom node integration for High-quality Text-to-Speech and Voice Conversion nodes for ComfyUI using ResembleAI's ChatterboxTTS with unlimited text length!!!." + }, + { + "author": "ShmuelRonen", + "title": "Flux Kontext Creator for ComfyUI", + "reference": "https://github.com/ShmuelRonen/FluxKontextCreator", + "files": [ + "https://github.com/ShmuelRonen/FluxKontextCreator" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for text-based image editing using Black Forest Labs' Flux Kontext API. Transform your images with simple text instructions while maintaining character consistency and quality." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-ThinkSound_Wrapper", + "reference": "https://github.com/ShmuelRonen/ComfyUI-ThinkSound_Wrapper", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-ThinkSound_Wrapper" + ], + "install_type": "git-clone", + "description": "A ComfyUI wrapper implementation of ThinkSound - an advanced AI model for generating high-quality audio from text descriptions and video content using Chain-of-Thought (CoT) reasoning." + }, + { + "author": "ShmuelRonen", + "title": "multi-lora-stack", + "reference": "https://github.com/ShmuelRonen/multi-lora-stack", + "files": [ + "https://github.com/ShmuelRonen/multi-lora-stack" + ], + "install_type": "git-clone", + "description": "A complete replacement for rgthree's Power Lora Loader with zero dependencies and two specialized versions to fit any workflow." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI-NanoBanano", + "reference": "https://github.com/ShmuelRonen/ComfyUI-NanoBanano", + "files": [ + "https://github.com/ShmuelRonen/ComfyUI-NanoBanano" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for Google's Gemini 2.5 Flash Image (aka 'Nano Banana') model - the state-of-the-art image generation and editing AI." + }, + { + "author": "ShmuelRonen", + "title": "ComfyUI Flux Pro Integrative - Enhanced Flux API Node", + "reference": "https://github.com/ShmuelRonen/flux_pro_integrative", + "files": [ + "https://github.com/ShmuelRonen/flux_pro_integrative" + ], + "install_type": "git-clone", + "description": "A completely rewritten and enhanced custom node for ComfyUI that integrates with Black Forest Labs FLUX API, providing seamless access to FLUX's image generation and finetuning capabilities with improved reliability and user experience." + }, { "author": "redhottensors", "title": "ComfyUI-Prediction", @@ -7333,13 +8277,13 @@ }, { "author": "al-swaiti", - "title": "GeminiOllama ComfyUI Extension", + "title": "ComfyUI-OllamaGemini", "reference": "https://github.com/al-swaiti/ComfyUI-OllamaGemini", "files": [ "https://github.com/al-swaiti/ComfyUI-OllamaGemini" ], "install_type": "git-clone", - "description": "This extension integrates Google's Gemini API and Ollama into ComfyUI, allowing users to leverage these powerful language models directly within their ComfyUI workflows." + "description": "ComfyUI extension for Ollama, Gemini, OpenAI, Claude, and Qwen with video and audio support" }, { "author": "mirabarukaso", @@ -7350,7 +8294,7 @@ "https://github.com/mirabarukaso/ComfyUI_Mira" ], "install_type": "git-clone", - "description": "Nodes:Integer Multiplier, Float Multiplier, Convert Numeral to String, Create Canvas Advanced, Create Canvas, Create PNG Mask, Color Mask to HEX String, Color Mask to INT RGB, Color Masks to List" + "description": "Slice regions of the canvas and convert them to masks for regional conditions widh PNG preview output. And a few support nodes." }, { "author": "1038lab", @@ -7370,7 +8314,187 @@ "https://github.com/1038lab/ComfyUI-RMBG" ], "install_type": "git-clone", - "description": "A ComfyUI node for removing image backgrounds using RMBG-2.0" + "description": "A sophisticated ComfyUI custom node engineered for advanced image background removal and precise segmentation of objects, faces, clothing, and fashion elements. This tool leverages a diverse array of models, including RMBG-2.0, INSPYRENET, BEN, BEN2, BiRefNet models, SAM, and GroundingDINO, while also incorporating a new feature for real-time background replacement and enhanced edge detection for improved accuracy." + }, + { + "author": "1038lab", + "title": "ComfyUI-WildPromptor", + "reference": "https://github.com/1038lab/ComfyUI-WildPromptor", + "files": [ + "https://github.com/1038lab/ComfyUI-WildPromptor" + ], + "install_type": "git-clone", + "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": "1038lab", + "title": "ComfyUI-MegaTTS", + "reference": "https://github.com/1038lab/ComfyUI-MegaTTS", + "files": [ + "https://github.com/1038lab/ComfyUI-MegaTTS" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node based on ByteDance MegaTTS3 MegaTTS3, enabling high-quality text-to-speech synthesis with voice cloning capabilities for both Chinese and English." + }, + { + "author": "1038lab", + "title": "ComfyUI-ReduxFineTune", + "reference": "https://github.com/1038lab/ComfyUI-ReduxFineTune", + "files": [ + "https://github.com/1038lab/ComfyUI-ReduxFineTune" + ], + "install_type": "git-clone", + "description": "ComfyUI-ReduxFineTune is a custom node for ComfyUI that enables advanced style fine-tuning using the Flux Redux approach. It offers multiple unified fusion modes for precise and consistent control over style transfer, allowing users to fine-tune image styles with high flexibility and detail." + }, + { + "author": "1038lab", + "title": "ComfyUI-LBM", + "reference": "https://github.com/1038lab/ComfyUI-LBM", + "files": [ + "https://github.com/1038lab/ComfyUI-LBM" + ], + "install_type": "git-clone", + "description": "A ComfyUI implementation of Latent Bridge Matching (LBM) for efficient image relighting. This node utilizes the LBM algorithm to perform single-step image-to-image translation specifically for relighting tasks." + }, + { + "author": "1038lab", + "title": "ComfyUI-JoyCaption", + "reference": "https://github.com/1038lab/ComfyUI-JoyCaption", + "files": [ + "https://github.com/1038lab/ComfyUI-JoyCaption" + ], + "install_type": "git-clone", + "description": "Joy Caption is a ComfyUI custom node powered by the LLaVA model for efficient, stylized image captioning. Caption Tools nodes handle batch image processing and automatic separation of caption text." + }, + { + "author": "1038lab", + "title": "ComfyUI-MiniMax-Remover", + "reference": "https://github.com/1038lab/ComfyUI-MiniMax-Remover", + "files": [ + "https://github.com/1038lab/ComfyUI-MiniMax-Remover" + ], + "install_type": "git-clone", + "description": "ComfyUI-MiniMax-Remover is a custom node for ComfyUI that enables fast and efficient object removal using minimax optimization. It works in two stages: first, it trains a remover with a simplified DiT model; then it distills a robust version using CFG guidance and fewer inference steps." + }, + { + "author": "1038lab", + "title": "ComfyUI-Mosaic", + "reference": "https://github.com/1038lab/ComfyUI-Mosaic", + "files": [ + "https://github.com/1038lab/ComfyUI-Mosaic" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for mosaic detection and creation." + }, + { + "author": "1038lab", + "title": "ComfyUI-MiniCPM", + "reference": "https://github.com/1038lab/ComfyUI-MiniCPM", + "files": [ + "https://github.com/1038lab/ComfyUI-MiniCPM" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for MiniCPM vision-language models, enabling high-quality image captioning and analysis." + }, + { + "author": "1038lab", + "title": "ComfyUI-FireRedTTS", + "reference": "https://github.com/1038lab/ComfyUI-FireRedTTS", + "files": [ + "https://github.com/1038lab/ComfyUI-FireRedTTS" + ], + "install_type": "git-clone", + "description": "A ComfyUI integration for FireRedTTS‑2, a real-time multi-speaker TTS system enabling high-quality, emotionally expressive dialogue and monologue synthesis. Leveraging a streaming architecture and context-aware prosody modeling, it supports natural speaker turns and stable long-form generation, ideal for interactive chat and podcast applications." + }, + { + "author": "1038lab", + "title": "ComfyUI-VoxCPMTTS", + "reference": "https://github.com/1038lab/ComfyUI-VoxCPMTTS", + "files": [ + "https://github.com/1038lab/ComfyUI-VoxCPMTTS" + ], + "install_type": "git-clone", + "description": "A clean, efficient ComfyUI custom node for VoxCPMTTS (Text-to-Speech) functionality. This implementation provides high-quality speech generation and voice cloning capabilities using the VoxCPM model." + }, + { + "author": "ailab", + "title": "ComfyUI-FlashVSR", + "reference": "https://github.com/1038lab/ComfyUI-FlashVSR", + "files": [ + "https://github.com/1038lab/ComfyUI-FlashVSR" + ], + "install_type": "git-clone", + "description": "Powerful ComfyUI custom node built on the FlashVSR model, facilitating real-time diffusion-based video super-resolution for streaming applications." + }, + { + "author": "1038lab", + "title": "ComfyUI-QwenVL", + "reference": "https://github.com/1038lab/ComfyUI-QwenVL", + "files": [ + "https://github.com/1038lab/ComfyUI-QwenVL" + ], + "install_type": "git-clone", + "description": "ComfyUI-QwenVL custom node: Integrates the Qwen-VL series, including Qwen2.5-VL and the latest Qwen3-VL, to enable advanced multimodal AI for text generation, image understanding, and video analysis." + }, + { + "author": "1038lab", + "title": "ComfyUI-NodeAlign", + "reference": "https://github.com/1038lab/ComfyUI-NodeAlign", + "files": [ + "https://github.com/1038lab/ComfyUI-NodeAlign" + ], + "install_type": "git-clone", + "description": "Lightweight alignment toolbar for ComfyUI graphs. Provides quick align, equal size, and distribution actions with optional keyboard shortcuts." + }, + { + "author": "1038lab", + "title": "ComfyUI-QwenASR", + "reference": "https://github.com/1038lab/ComfyUI-QwenASR", + "files": [ + "https://github.com/1038lab/ComfyUI-QwenASR" + ], + "install_type": "git-clone", + "description": "A lightweight ComfyUI custom node pack for Qwen3-ASR, providing simple speech‑to‑text workflows with local model caching and optional timestamp output. Supports Qwen/Qwen3‑ASR‑1.7B and 0.6B, with HuggingFace/ModelScope download options and clean integration for ComfyUI pipelines." + }, + { + "author": "1038lab", + "title": "ComfyUI-Youtu-VL", + "reference": "https://github.com/1038lab/ComfyUI-Youtu-VL", + "files": [ + "https://github.com/1038lab/ComfyUI-Youtu-VL" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Tencent Youtu-VL vision-language model" }, { "author": "Klinter", @@ -7585,16 +8709,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", @@ -7660,26 +8774,6 @@ "install_type": "git-clone", "description": "Nodes:FaceCompare" }, - { - "author": "TheBill2001", - "title": "comfyui-upscale-by-model", - "reference": "https://github.com/TheBill2001/comfyui-upscale-by-model", - "files": [ - "https://github.com/TheBill2001/comfyui-upscale-by-model" - ], - "install_type": "git-clone", - "description": "This custom node allow upscaling an image by a factor using a model." - }, - { - "author": "TheBill2001", - "title": "Save Images with Captions", - "reference": "https://github.com/TheBill2001/ComfyUI-Save-Image-Caption", - "files": [ - "https://github.com/TheBill2001/ComfyUI-Save-Image-Caption" - ], - "install_type": "git-clone", - "description": "Provide two custom nodes to load and save images with captions as separate files." - }, { "author": "leoleelxh", "title": "ComfyUI-LLMs", @@ -7724,6 +8818,7 @@ "author": "kuschanow", "title": "Advanced Latent Control", "reference": "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control", + "reference2": "https://github.com/kuschanow/ComfyUI-Advanced-Latent-Control", "files": [ "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control" ], @@ -7740,6 +8835,26 @@ "install_type": "git-clone", "description": "Nodes:Abracadabra Summary, Abracadabra" }, + { + "author": "guill", + "title": "ComfyUI Droopy Noodles", + "reference": "https://github.com/guill/comfyui-droopy-noodles", + "files": [ + "https://github.com/guill/comfyui-droopy-noodles" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that makes your node connections delightfully droopy. (Disclaimer: despite what it may look like, this extension will not make your monitor taste like spaghetti.)" + }, + { + "author": "guill", + "title": "Stegaflow", + "reference": "https://github.com/guill/comfyui-stegaflow", + "files": [ + "https://github.com/guill/comfyui-stegaflow" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node pack for embedding workflow data in image pixels using steganography" + }, { "author": "cerspense", "title": "cspnodes", @@ -7781,16 +8896,6 @@ "install_type": "git-clone", "description": "This extension provides a node that allows you to overlay text on an image or a batch of images with support for custom fonts and styles." }, - { - "author": "holchan", - "title": "ComfyUI-ModelDownloader", - "reference": "https://github.com/holchan/ComfyUI-ModelDownloader", - "files": [ - "https://github.com/holchan/ComfyUI-ModelDownloader" - ], - "install_type": "git-clone", - "description": "A ComfyUI node to download models(Checkpoints and LoRA) from external links and act as an output standalone node." - }, { "author": "CC-BryanOttho", "title": "ComfyUI_API_Manager", @@ -7841,7 +8946,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", @@ -7897,6 +9002,16 @@ "install_type": "git-clone", "description": "ComfyUI implementation of [a/Omost](https://github.com/lllyasviel/Omost), and everything about regional prompt.\nNOTE: You need to install ComfyUI_densediffusion to use this node." }, + { + "author": "huchenlei", + "title": "ComfyUI-execution-glow", + "reference": "https://github.com/huchenlei/ComfyUI-execution-glow", + "files": [ + "https://github.com/huchenlei/ComfyUI-execution-glow" + ], + "install_type": "git-clone", + "description": "ComfyUI extension that adds a glowing visual effect to nodes during execution for enhanced visual feedback." + }, { "author": "nathannlu", "title": "ComfyUI Pets", @@ -7952,6 +9067,17 @@ "install_type": "git-clone", "description": "Group switching control, one click control to ignore and disable multiple groups, as well as wired switch combination nodes, allowing for arbitrary switching of annotation names" }, + { + "author": "11dogzi", + "title": "CYBERPUNK-STYLE-DIY", + "id": "CYBERPUNK-STYLE-DIY", + "reference": "https://github.com/11dogzi/CYBERPUNK-STYLE-DIY", + "files": [ + "https://github.com/11dogzi/CYBERPUNK-STYLE-DIY" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI theme plugin with stunning cyberpunk aesthetics and powerful customization features" + }, { "author": "11dogzi", "title": "ComfUI-EGAdapterMadAssistant", @@ -7963,6 +9089,16 @@ "install_type": "git-clone", "description": "This is a hierarchical auxiliary project of the IPAdapter project, which uses a slider to quickly control the hierarchical weights and add fully random and semi random modes" }, + { + "author": "11dogzi", + "title": "HYPIR ComfyUI Plugin", + "reference": "https://github.com/11dogzi/Comfyui-HYPIR", + "files": [ + "https://github.com/11dogzi/Comfyui-HYPIR" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI plugin for [a/HYPIR (Harnessing Diffusion-Yielded Score Priors for Image Restoration)](https://github.com/XPixelGroup/HYPIR), a state-of-the-art image restoration model based on Stable Diffusion 2.1." + }, { "author": "BXYMartin", "title": "ComfyUI-InstantIDUtils", @@ -8145,17 +9281,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", @@ -8210,6 +9335,26 @@ "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": "cluny85", + "title": "comfyui-downloader", + "reference": "https://github.com/stavsap/comfyui-downloader", + "files": [ + "https://github.com/stavsap/comfyui-downloader" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI Nodes for verifing needed files/models are present per workflow, can download if missing." + }, { "author": "dchatel", "title": "comfyui_davcha", @@ -8319,20 +9464,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", - "reference": "https://github.com/if-ai/ComfyUI-IF_AI_tools", - "files": [ - "https://github.com/if-ai/ComfyUI-IF_AI_tools" - ], - "install_type": "git-clone", - "description": "Various AI tools to use in Comfy UI. Starting with VL and prompt making tools using Ollma as backend will evolve as I find time." - }, - { - "author": "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" @@ -8341,9 +9475,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" @@ -8352,14 +9486,133 @@ "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": "This is a ComfyUI implementation of MEMO (Memory-Guided Diffusion for Expressive Talking Video Generation), which enables the creation of expressive talking avatar videos from a single image and audio input." + "description": "Talking avatars MemoAvatar Memory-Guided Diffusion for Expressive Talking Video Generation" + }, + { + "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 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": "impactframes", + "title": "ComfyUI-WanResolutionSelector", + "reference": "https://github.com/if-ai/ComfyUI-WanResolutionSelector", + "files": [ + "https://github.com/if-ai/ComfyUI-WanResolutionSelector" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that automatically selects appropriate video resolution dimensions based on generation mode, aspect ratio, and quality settings. Designed to work seamlessly with video generation models and KJNodes image resize nodes." + }, + { + "author": "impactframes", + "title": "ComfyUI HunyuanVideo-Foley", + "reference": "https://github.com/if-ai/ComfyUI_HunyuanVideoFoley", + "files": [ + "https://github.com/if-ai/ComfyUI_HunyuanVideoFoley" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI custom node wrapper for the HunyuanVideo-Foley model, which generates realistic audio from video and text descriptions." + }, + { + "author": "impactframes", + "title": "ComfyUI-yt_dl", + "reference": "https://github.com/if-ai/ComfyUI-yt_dl", + "files": [ + "https://github.com/if-ai/ComfyUI-yt_dl" + ], + "install_type": "git-clone", + "description": "Download Youtube videos using ComfyUI" }, { "author": "dmMaze", @@ -8381,7 +9634,28 @@ "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": "olduvai-jp", + "title": "ComfyUI-CloudArchive", + "id": "comfyui-cloudarchive", + "reference": "https://github.com/olduvai-jp/ComfyUI-CloudArchive", + "files": [ + "https://github.com/olduvai-jp/ComfyUI-CloudArchive" + ], + "install_type": "git-clone", + "description": "Automatically archives generated files to Amazon S3 or S3-compatible storage services" + }, + { + "author": "olduvai-jp", + "title": "ComfyUI-S3-IO", + "reference": "https://github.com/olduvai-jp/ComfyUI-S3-IO", + "files": [ + "https://github.com/olduvai-jp/ComfyUI-S3-IO" + ], + "install_type": "git-clone", + "description": "S3-backed input/output nodes for ComfyUI to browse, load images/videos from S3 buckets and push outputs back to S3 automatically." }, { "author": "AiMiDi", @@ -8424,7 +9698,7 @@ "https://github.com/MarkoCa1/ComfyUI-Text" ], "install_type": "git-clone", - "description": "Text." + "description": "Why make this node? Because I only need simple text related operations and don't want to install anything extra." }, { "author": "MarkoCa1", @@ -8437,17 +9711,6 @@ "install_type": "git-clone", "description": "Mask cutout based on Segment Anything." }, - { - "author": "Shadetail", - "title": "Eagleshadow Custom Nodes", - "id": "eagleshadow", - "reference": "https://github.com/Shadetail/ComfyUI_Eagleshadow", - "files": [ - "https://github.com/Shadetail/ComfyUI_Eagleshadow" - ], - "install_type": "git-clone", - "description": "Custom nodes for ComfyUI by Eagleshadow." - }, { "author": "Jannchie", "title": "ComfyUI-J", @@ -8529,17 +9792,6 @@ "install_type": "git-clone", "description": "Plays youtube videos in comfy. Use this node to share tutorials or renders. Youtube Playlists mode is also in Future Development in which you can add multiple youtube links and form a playlist which would be ideal for chained tutorials or lisitening and sharing songs playlists with others." }, - { - "author": "Seedsa", - "title": "ComfyUI Fooocus Nodes", - "id": "fooocus-nodes", - "reference": "https://github.com/Seedsa/Fooocus_Nodes", - "files": [ - "https://github.com/Seedsa/Fooocus_Nodes" - ], - "install_type": "git-clone", - "description": "This extension provides image generation features based on Fooocus." - }, { "author": "zhangp365", "title": "zhangp365/ComfyUI-utils-nodes", @@ -8548,7 +9800,7 @@ "https://github.com/zhangp365/ComfyUI-utils-nodes" ], "install_type": "git-clone", - "description": "Nodes:LoadImageWithSwitch, ImageBatchOneOrMore, ModifyTextGender, ImageCompositeMaskedWithSwitch, ColorCorrectOfUtils, SplitMask, MaskFastGrow, CheckpointLoaderSimpleWithSwitch, ImageResizeTo8x, MatchImageRatioToPreset etc." + "description": "Nodes:LoadImageWithSwitch, ImageBatchOneOrMore, GenderControlOutput, ImageCompositeMaskedWithSwitch, ImageCompositeMaskedOneByOne, ColorCorrectOfUtils, SplitMask, MaskFastGrow, CheckpointLoaderSimpleWithSwitch, ImageResizeTo8x, MatchImageRatioToPreset, MaskFromFaceModel, MaskCoverFourCorners, DetectorForNSFW, DeepfaceAnalyzeFaceAttributes, VolcanoOutpainting, VolcanoImageEdit, ReplicateRequstNode etc." }, { "author": "zhangp365", @@ -8607,14 +9859,14 @@ }, { "author": "viperyl", - "title": "ComfyUI-BiRefNet", + "title": "ComfyUI-BiRefNet-Fix utils", "id": "comfyui-birefnet", - "reference": "https://github.com/viperyl/ComfyUI-BiRefNet", + "reference": "https://github.com/hieuck/ComfyUI-BiRefNet", "files": [ - "https://github.com/viperyl/ComfyUI-BiRefNet" + "https://github.com/hieuck/ComfyUI-BiRefNet" ], "install_type": "git-clone", - "description": "Bilateral Reference Network achieves SOTA result in multi Salient Object Segmentation dataset, this repo pack BiRefNet as ComfyUI nodes, and make this SOTA model easier use for everyone." + "description": "Bilateral Reference Network achieves SOTA result in multi Salient Object Segmentation dataset, this repo pack BiRefNet as ComfyUI nodes, and make this SOTA model easier use for everyone.\nNOTE: The original node was replaced with a version maintained by hieuck because it is no longer maintained." }, { "author": "viperyl", @@ -8695,115 +9947,85 @@ "description": "Unofficial implementation of [a/MiniCPM-V](https://github.com/OpenBMB/MiniCPM-V) for ComfyUI" }, { - "author": "shinich39", - "title": "comfyui-load-image-in-seq", - "reference": "https://github.com/shinich39/comfyui-load-image-in-seq", + "author": "hay86", + "title": "ComfyUI LatentSync", + "id": "latentsync", + "reference": "https://github.com/hay86/ComfyUI_LatentSync", "files": [ - "https://github.com/shinich39/comfyui-load-image-in-seq" + "https://github.com/hay86/ComfyUI_LatentSync" ], "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.]" + "description": "Unofficial implementation of [a/LatentSync](https://github.com/bytedance/LatentSync) for ComfyUI" }, { "author": "shinich39", - "title": "comfyui-random-node", - "id": "random-node", - "reference": "https://github.com/shinich39/comfyui-ramdom-node", + "title": "comfyui-get-meta", + "reference": "https://github.com/shinich39/comfyui-get-meta", "files": [ - "https://github.com/shinich39/comfyui-ramdom-node" + "https://github.com/shinich39/comfyui-get-meta" ], "install_type": "git-clone", - "description": "Shuffle nodes after queue added. [w/Repository name has been changed from comfyui-random-node-39 to comfyui-random-node. Please remove and reinstall it.]" + "description": "Get metadata from image." }, { "author": "shinich39", - "title": "comfyui-local-db", - "reference": "https://github.com/shinich39/comfyui-local-db", + "title": "comfyui-civitai-workflow", + "reference": "https://github.com/shinich39/comfyui-civitai-workflow", "files": [ - "https://github.com/shinich39/comfyui-local-db" + "https://github.com/shinich39/comfyui-civitai-workflow" ], "install_type": "git-clone", - "description": "Store text to Key-Values pair json." + "description": "Load workflow from civitai image." }, { "author": "shinich39", - "title": "comfyui-model-db", - "reference": "https://github.com/shinich39/comfyui-model-db", + "title": "comfyui-prevent-sleep", + "reference": "https://github.com/shinich39/comfyui-prevent-sleep", "files": [ - "https://github.com/shinich39/comfyui-model-db" + "https://github.com/shinich39/comfyui-prevent-sleep" ], "install_type": "git-clone", - "description": "Store settings by model." + "description": "Prevent sleep while running ComfyUI." }, { "author": "shinich39", - "title": "comfyui-load-image-with-cmd", - "reference": "https://github.com/shinich39/comfyui-load-image-with-cmd", + "title": "comfyui-dynamic-routes", + "reference": "https://github.com/shinich39/comfyui-dynamic-routes", "files": [ - "https://github.com/shinich39/comfyui-load-image-with-cmd" + "https://github.com/shinich39/comfyui-dynamic-routes" ], "install_type": "git-clone", - "description": "Load image and partially workflow with javascript." + "description": "Shuffle nodes after queue execution." }, { "author": "shinich39", - "title": "connect-from-afar", - "reference": "https://github.com/shinich39/comfyui-connect-from-afar", + "title": "comfyui-break-workflow", + "reference": "https://github.com/shinich39/comfyui-break-workflow", "files": [ - "https://github.com/shinich39/comfyui-connect-from-afar" + "https://github.com/shinich39/comfyui-break-workflow" ], "install_type": "git-clone", - "description": "Connect a new link from out of screen." + "description": "Break the execution, save the incompleted image then continue later." }, { "author": "shinich39", - "title": "comfyui-target-search", - "reference": "https://github.com/shinich39/comfyui-target-search", + "title": "comfyui-global-prompts", + "reference": "https://github.com/shinich39/comfyui-global-prompts", "files": [ - "https://github.com/shinich39/comfyui-target-search" + "https://github.com/shinich39/comfyui-global-prompts" ], "install_type": "git-clone", - "description": "Move canvas to target on dragging connection." + "description": "Set global prompts using note node." }, { "author": "shinich39", - "title": "comfyui-group-selection", - "reference": "https://github.com/shinich39/comfyui-group-selection", + "title": "comfyui-mtga", + "reference": "https://github.com/shinich39/comfyui-mtga", "files": [ - "https://github.com/shinich39/comfyui-group-selection" + "https://github.com/shinich39/comfyui-mtga" ], "install_type": "git-clone", - "description": "Create a new group of nodes." - }, - { - "author": "shinich39", - "title": "comfyui-textarea-keybindings", - "reference": "https://github.com/shinich39/comfyui-textarea-keybindings", - "files": [ - "https://github.com/shinich39/comfyui-textarea-keybindings" - ], - "install_type": "git-clone", - "description": "Add keybindings to textarea." - }, - { - "author": "shinich39", - "title": "comfyui-put-image", - "reference": "https://github.com/shinich39/comfyui-put-image", - "files": [ - "https://github.com/shinich39/comfyui-put-image" - ], - "install_type": "git-clone", - "description": "Load image from directory." - }, - { - "author": "shinich39", - "title": "comfyui-parse-image", - "reference": "https://github.com/shinich39/comfyui-parse-image", - "files": [ - "https://github.com/shinich39/comfyui-parse-image" - ], - "install_type": "git-clone", - "description": "Extract metadata from image." + "description": "Make Textarea Great Again" }, { "author": "wei30172", @@ -8823,7 +10045,7 @@ "https://github.com/zombieyang/sd-ppp" ], "install_type": "git-clone", - "description": "getting/sending picture from/to Photoshop with a simple connection. Make Photoshop become the workspace of your ComfyUI" + "description": "Simplify ComfyUI to WebUI-liked interface and Connect with Photoshop." }, { "author": "KytraScript", @@ -8835,6 +10057,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", @@ -8843,7 +10075,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", @@ -9056,7 +10288,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", @@ -9078,6 +10310,16 @@ "install_type": "git-clone", "description": "Custom Node for comfyUI for virtual lighting based on normal map.\nYou can use normal maps to add virtual lighting effects to your images." }, + { + "author": "TJ16th", + "title": "TJ_PolkaDot", + "reference": "https://github.com/TJ16th/ComfyUI-TJ-PolkaDot", + "files": [ + "https://github.com/TJ16th/ComfyUI-TJ-PolkaDot" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for creating polka dot collages" + }, { "author": "A4P7J1N7M05OT", "title": "ComfyUI-PixelOE-Wrapper", @@ -9178,7 +10420,7 @@ { "author": "jtydhr88", "title": "ComfyUI LayerDivider", - "id": "layer-divider", + "id": "comfyui-layerdivider", "reference": "https://github.com/jtydhr88/ComfyUI-LayerDivider", "files": [ "https://github.com/jtydhr88/ComfyUI-LayerDivider" @@ -9196,6 +10438,36 @@ "install_type": "git-clone", "description": "ComfyUI Hunyuan3D-1-wrapper is a custom node that allows you to run [a/Tencent/Hunyuan3D-1](https://github.com/Tencent/Hunyuan3D-1) in ComfyUI as a wrapper." }, + { + "author": "jtydhr88", + "title": "ComfyUI-OpenCut", + "reference": "https://github.com/jtydhr88/ComfyUI-OpenCut", + "files": [ + "https://github.com/jtydhr88/ComfyUI-OpenCut" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI plugin that integrated OpenCut into ComfyUI, originally developed by [a/OpenCut](https://github.com/OpenCut-app/OpenCut)" + }, + { + "author": "jtydhr88", + "title": "ComfyUI-AudioMass", + "reference": "https://github.com/jtydhr88/ComfyUI-AudioMass", + "files": [ + "https://github.com/jtydhr88/ComfyUI-AudioMass" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI plugin that provides a user interface of AudioMass, originally developed by [a/AudioMass](https://github.com/pkalogiros/audiomass)" + }, + { + "author": "jtydhr88", + "title": "ComfyUI-StableStudio", + "reference": "https://github.com/jtydhr88/ComfyUI-StableStudio", + "files": [ + "https://github.com/jtydhr88/ComfyUI-StableStudio" + ], + "install_type": "git-clone", + "description": "A practical plug‑in that adds a StableStudio style user interface to ComfyUI. This project aims to give you a clean, responsive UI for managing StableStudio features inside ComfyUI, without complicating your workflow. It focuses on reliability, speed, and a calm, uncluttered design that helps you work faster." + }, { "author": "SeaArtLab", "title": "ComfyUI-Long-CLIP", @@ -9704,6 +10976,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", @@ -9715,6 +10997,17 @@ "install_type": "git-clone", "description": "Š”omfyUI version of [a/Euler Smea Dyn Sampler](https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler). It adds samplers directly to KSampler nodes." }, + { + "author": "Koishi-Star", + "title": "Pyramid_Noise_For_Inference", + "id": "Pyramid_Noise_For_Inference", + "reference": "https://github.com/Koishi-Star/Pyramid_Noise_For_Inference", + "files": [ + "https://github.com/Koishi-Star/Pyramid_Noise_For_Inference" + ], + "install_type": "git-clone", + "description": "Using pyramid_noise instead of original noise in inference" + }, { "author": "sdfxai", "title": "SDFXBridgeForComfyUI - ComfyUI Custom Node for SDFX Integration", @@ -9757,7 +11050,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", @@ -9779,7 +11072,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", @@ -9976,7 +11269,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", @@ -10038,6 +11331,296 @@ "install_type": "git-clone", "description": "you can make PBR in comfyUI" }, + { + "author": "smthemex", + "title": "ComfyUI_TRELLIS", + "reference": "https://github.com/smthemex/ComfyUI_TRELLIS", + "files": [ + "https://github.com/smthemex/ComfyUI_TRELLIS" + ], + "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": "smthemex", + "title": "ComfyUI_Personalize_Anything", + "reference": "https://github.com/smthemex/ComfyUI_Personalize_Anything", + "files": [ + "https://github.com/smthemex/ComfyUI_Personalize_Anything" + ], + "install_type": "git-clone", + "description": "Personalize Anything for Free with Diffusion Transformer,use it in comfyUI with wrapper mode" + }, + { + "author": "smthemex", + "title": "ComfyUI_DICE_Talk", + "reference": "https://github.com/smthemex/ComfyUI_DICE_Talk", + "files": [ + "https://github.com/smthemex/ComfyUI_DICE_Talk" + ], + "install_type": "git-clone", + "description": "Use DICE-Talk in ComfyUI,which is a method about Correlation-Aware Emotional Talking Portrait Generation." + }, + { + "author": "smthemex", + "title": "ComfyUI_VisualCloze", + "reference": "https://github.com/smthemex/ComfyUI_VisualCloze", + "files": [ + "https://github.com/smthemex/ComfyUI_VisualCloze" + ], + "install_type": "git-clone", + "description": "VisualCloze: A Universal Image Generation Framework via Visual In-Context Learning,you can use it in ComfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_HunyuanAvatar_Sm", + "reference": "https://github.com/smthemex/ComfyUI_HunyuanAvatar_Sm", + "files": [ + "https://github.com/smthemex/ComfyUI_HunyuanAvatar_Sm" + ], + "install_type": "git-clone", + "description": "HunyuanVideo-Avatar: High-Fidelity Audio-Driven Human Animation for Multiple Characters,try it in comfyUI ,if your VRAM >24G." + }, + { + "author": "smthemex", + "title": "ComfyUI_PartPacker", + "reference": "https://github.com/smthemex/ComfyUI_PartPacker", + "files": [ + "https://github.com/smthemex/ComfyUI_PartPacker" + ], + "install_type": "git-clone", + "description": "This is the comfyui implementation of [a/PartPacker](https://github.com/NVlabs/PartPacker): Efficient Part-level 3D Object Generation via Dual Volume Packing.Max varm12G" + }, + { + "author": "smthemex", + "title": "ComfyUI_SongGeneration", + "reference": "https://github.com/smthemex/ComfyUI_SongGeneration", + "files": [ + "https://github.com/smthemex/ComfyUI_SongGeneration" + ], + "install_type": "git-clone", + "description": "[a/SongGeneration](https://github.com/tencent-ailab/SongGeneration):High-Quality Song Generation with Multi-Preference Alignment (SOTA),you can try VRAM>12G" + }, + { + "author": "smthemex", + "title": "ComfyUI_AniCrafter", + "reference": "https://github.com/smthemex/ComfyUI_AniCrafter", + "files": [ + "https://github.com/smthemex/ComfyUI_AniCrafter" + ], + "install_type": "git-clone", + "description": "[a/AniCrafter](https://github.com/MyNiuuu/AniCrafter): Customizing Realistic Human-Centric Animation via Avatar-Background Conditioning in Video Diffusion Models, you can try this methods when use ComfyUI." + }, + { + "author": "smthemex", + "title": "ComfyUI_ObjectClear", + "reference": "https://github.com/smthemex/ComfyUI_ObjectClear", + "files": [ + "https://github.com/smthemex/ComfyUI_ObjectClear" + ], + "install_type": "git-clone", + "description": "ObjectClear:Complete Object Removal via Object-Effect Attention,you can try it in ComfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_OmniSVG", + "reference": "https://github.com/smthemex/ComfyUI_OmniSVG", + "files": [ + "https://github.com/smthemex/ComfyUI_OmniSVG" + ], + "install_type": "git-clone", + "description": "OmniSVG: A Unified Scalable Vector Graphics Generation Model,you can try it in ComfyUI." + }, + { + "author": "smthemex", + "title": "ComfyUI_StableAvatar", + "reference": "https://github.com/smthemex/ComfyUI_StableAvatar", + "files": [ + "https://github.com/smthemex/ComfyUI_StableAvatar" + ], + "install_type": "git-clone", + "description": "StableAvatar: Infinite-Length Audio-Driven Avatar Video Generation,you can try it in ComfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_LucidFlux", + "reference": "https://github.com/smthemex/ComfyUI_LucidFlux", + "files": [ + "https://github.com/smthemex/ComfyUI_LucidFlux" + ], + "install_type": "git-clone", + "description": "ComfyUI_LucidFlux:Caption-Free Universal Image Restoration with a Large-Scale Diffusion Transformer,you can use it in ComfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_OmniPart", + "reference": "https://github.com/smthemex/ComfyUI_OmniPart", + "files": [ + "https://github.com/smthemex/ComfyUI_OmniPart" + ], + "install_type": "git-clone", + "description": "OmniPart: Part-Aware 3D Generation with Semantic Decoupling and Structural Cohesion,this node ,you can use it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_FlashVSR", + "reference": "https://github.com/smthemex/ComfyUI_FlashVSR", + "files": [ + "https://github.com/smthemex/ComfyUI_FlashVSR" + ], + "install_type": "git-clone", + "description": "FlashVSR: Towards Real-Time Diffusion-Based Streaming Video Super-Resolution,this node ,you can use it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_ChronoEdit_SM", + "reference": "https://github.com/smthemex/ComfyUI_ChronoEdit_SM", + "files": [ + "https://github.com/smthemex/ComfyUI_ChronoEdit_SM" + ], + "install_type": "git-clone", + "description": "Towards Temporal Reasoning for Image Editing and World Simulation,you can use this node in comfyUI,and Vram >12G" + }, + { + "author": "smthemex", + "title": "ComfyUI_Step_Audio_EditX_SM", + "reference": "https://github.com/smthemex/ComfyUI_Step_Audio_EditX_SM", + "files": [ + "https://github.com/smthemex/ComfyUI_Step_Audio_EditX_SM" + ], + "install_type": "git-clone", + "description": "Step_Audio_EditX:the first open-source LLM-based audio model excelling at expressive and iterative audio editing—encompassing emotion, speaking style, and paralinguistics—alongside robust zero-shot text-to-speech (TTS) capabilities,try it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_DyPE", + "reference": "https://github.com/smthemex/ComfyUI_DyPE", + "files": [ + "https://github.com/smthemex/ComfyUI_DyPE" + ], + "install_type": "git-clone", + "description": "DyPE: Dynamic Position Extrapolation for Ultra High Resolution Diffusion ,you can use a wrapper node it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_GRAG_Image_Editing", + "reference": "https://github.com/smthemex/ComfyUI_GRAG_Image_Editing", + "files": [ + "https://github.com/smthemex/ComfyUI_GRAG_Image_Editing" + ], + "install_type": "git-clone", + "description": "GRAG-Image-Editing : Group-Relative Attention Guidance for Image Editing,you can try it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_UltraFlux", + "reference": "https://github.com/smthemex/ComfyUI_UltraFlux", + "files": [ + "https://github.com/smthemex/ComfyUI_UltraFlux" + ], + "install_type": "git-clone", + "description": "UltraFlux:Data-Model Co-Design for High-quality Native 4K Text-to-Image Generation across Diverse Aspect Ratios,try it in comfyUI" + }, + { + "author": "smthemex", + "title": "ComfyUI_InteractAvatar", + "reference": "https://github.com/smthemex/ComfyUI_InteractAvatar", + "files": [ + "https://github.com/smthemex/ComfyUI_InteractAvatar" + ], + "install_type": "git-clone", + "description": "Making Avatars InteractTowards Text-Driven Human-Object Interaction for Controllable Talking Avatars" + }, { "author": "choey", "title": "Comfy-Topaz", @@ -10060,6 +11643,16 @@ "install_type": "git-clone", "description": "Yet Another Node Collection. Adds some useful nodes, check out the GitHub page for more details." }, + { + "author": "ALatentPlace", + "title": "YANC_LMStudio", + "reference": "https://github.com/ALatentPlace/YANC_LMStudio", + "files": [ + "https://github.com/ALatentPlace/YANC_LMStudio" + ], + "install_type": "git-clone", + "description": "A custom node for a LMStudio integration into ComfyUI." + }, { "author": "Wicloz", "title": "ComfyUI Simply Nodes", @@ -10101,7 +11694,7 @@ "https://github.com/pamparamm/sd-perturbed-attention" ], "install_type": "git-clone", - "description": "Perturbed-Attention Guidance, Smoothed Energy Guidance and Sliding Window Guidance for ComfyUI and SD Forge/reForge. (PAG)" + "description": "Perturbed-Attention Guidance (PAG), Smoothed Energy Guidance (SEG), Sliding Window Guidance (SWG), PLADIS, Normalized Attention Guidance (NAG), Token Perturbation Guidance (TPG) for ComfyUI and SD reForge." }, { "author": "pamparamm", @@ -10188,6 +11781,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", @@ -10265,7 +11878,7 @@ "description": "Zero-1-to-3: Zero-shot One Image to 3D Object, unofficial porting of original [Zero123](https://github.com/cvlab-columbia/zero123)" }, { - "author": "TashaSkyUp", + "author": "Hopping-Mad-Games", "title": "ComfyUI_LiteLLM", "id": "litellm", "reference": "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM", @@ -10275,6 +11888,16 @@ "install_type": "git-clone", "description": "Nodes for calling LLMs, enabled by LiteLLM" }, + { + "author": "TashaSkyUp", + "title": "EternalKernel PyTorch Nodes", + "reference": "https://github.com/TashaSkyUp/EternalKernelPytorchNodes", + "files": [ + "https://github.com/TashaSkyUp/EternalKernelPytorchNodes" + ], + "install_type": "git-clone", + "description": "Comprehensive PyTorch nodes for ComfyUI - Neural network training, inference, and ML workflows" + }, { "author": "AonekoSS", "title": "ComfyUI-SimpleCounter", @@ -10356,12 +11979,33 @@ "title": "comfyui_tag_filter", "id": "tag-filter", "reference": "https://github.com/sugarkwork/comfyui_tag_fillter", + "reference2": "https://github.com/sugarkwork/comfyui_tag_filter", "files": [ "https://github.com/sugarkwork/comfyui_tag_fillter" ], "install_type": "git-clone", "description": "This is a custom node of ComfyUI that categorizes tags outputted by tools like WD14Tagger, filters them by each category, and returns the filtered results." }, + { + "author": "sugarkwork", + "title": "ComfyUI_AspectRatioToSize", + "reference": "https://github.com/sugarkwork/ComfyUI_AspectRatioToSize", + "files": [ + "https://github.com/sugarkwork/ComfyUI_AspectRatioToSize" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that calculates width and height while maintaining aspect ratio, making it easier to determine image resolutions with specified aspect ratios and longer side values." + }, + { + "author": "sugarkwork", + "title": "comfyui-trtupscaler", + "reference": "https://github.com/sugarkwork/comfyui-trtupscaler", + "files": [ + "https://github.com/sugarkwork/comfyui-trtupscaler" + ], + "install_type": "git-clone", + "description": "TensorRT Upscaler for ComfyUI" + }, { "author": "Intersection98", "title": "ComfyUI-MX-post-processing-nodes", @@ -10516,13 +12160,13 @@ { "author": "lquesada", "title": "ComfyUI-Interactive", - "id": "interactive", + "id": "comfyui-interactive", "reference": "https://github.com/lquesada/ComfyUI-Interactive", "files": [ "https://github.com/lquesada/ComfyUI-Interactive" ], "install_type": "git-clone", - "description": "Nodes that allow making the UI interactive, with selectors and switches. Enables selecting across multiple options with the click of a button to move a workflow forward." + "description": "Nodes that allow making the UI interactive, with selectors and switches, etc.. Enables selecting across multiple options with the click of a button to move a workflow forward." }, { "author": "randjtw", @@ -10610,6 +12254,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", @@ -10630,7 +12284,7 @@ "https://github.com/da2el-ai/D2-nodes-ComfyUI" ], "install_type": "git-clone", - "description": "This is a collection of custom nodes that make ComfyUI slightly more convenient.[w/This node pack integrates ComfyUI-d2-size-selector, ComfyUI-d2-steps, and ComfyUI-d2-xyplot-utils. To avoid conflicts, please delete the existing node packs if you install this one.]" + "description": "This is a collection of custom nodes that make ComfyUI slightly more convenient." }, { "author": "da2el-ai", @@ -10675,6 +12329,26 @@ "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": "da2el-ai", + "title": "D2-SavePSD-ComfyUI", + "reference": "https://github.com/da2el-ai/D2-SavePSD-ComfyUI", + "files": [ + "https://github.com/da2el-ai/D2-SavePSD-ComfyUI" + ], + "install_type": "git-clone", + "description": "Saves the image in Photoshop format (PSD)" + }, { "author": "nat-chan", "title": "ComfyUI-TransceiveršŸ“”", @@ -10750,6 +12424,56 @@ "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": "jax-explorer", + "title": "ComfyUI-easycontrol", + "reference": "https://github.com/jax-explorer/ComfyUI-easycontrol", + "files": [ + "https://github.com/jax-explorer/ComfyUI-easycontrol" + ], + "install_type": "git-clone", + "description": "ComfyUI EasyControl Nodes is a collection of nodes for ComfyUI that allows you to load and use EasyControl models." + }, + { + "author": "jax-explorer", + "title": "ComfyUI-VideoBasicLatentSync", + "reference": "https://github.com/jax-explorer/ComfyUI-VideoBasicLatentSync", + "files": [ + "https://github.com/jax-explorer/ComfyUI-VideoBasicLatentSync" + ], + "install_type": "git-clone", + "description": "Optimize OOM issues based on ComfyUI-LatentSyncWrapper. [a/ShmuelRonen/ComfyUI-LatentSyncWrapper](https://github.com/ShmuelRonen/ComfyUI-LatentSyncWrapper)\nVideBasic Optimize OOM Plan: [a/jax-explorer/ComfyUI-VideoBasic](https://github.com/jax-explorer/ComfyUI-VideoBasic)" + }, + { + "author": "jax-explorer", + "title": "ComfyUI-VideoBasic", + "reference": "https://github.com/jax-explorer/ComfyUI-VideoBasic", + "files": [ + "https://github.com/jax-explorer/ComfyUI-VideoBasic" + ], + "install_type": "git-clone", + "description": "Used to solve the OOM (Out Of Memory) issue caused by loading all frames of a video at once in ComfyUI. All nodes use streamingly, and no longer load all frames of the video into memory at once." + }, + { + "author": "jax-explorer", + "title": "ComfyUI-InstantCharacter", + "reference": "https://github.com/jax-explorer/ComfyUI-InstantCharacter", + "files": [ + "https://github.com/jax-explorer/ComfyUI-InstantCharacter" + ], + "install_type": "git-clone", + "description": "[a/InstantCharacter](https://github.com/Tencent/InstantCharacter) ComfyUI Warpper" + }, { "author": "sugarkwork", "title": "comfyui_cohere", @@ -10761,6 +12485,16 @@ "install_type": "git-clone", "description": "This is a node for using cohere (Command R+) from ComfyUI. You need to edit the startup .bat file of ComfyUI and describe the API key obtained from Cohere as follows." }, + { + "author": "sugarkwork", + "title": "comfyui_smart_character_detailer", + "reference": "https://github.com/sugarkwork/comfyui_smart_character_detailer", + "files": [ + "https://github.com/sugarkwork/comfyui_smart_character_detailer" + ], + "install_type": "git-clone", + "description": "Extended ComfyUI node with WD14 Tagger-based image analysis and automatic character identification to apply optimized prompts dynamically. (Description by CC)" + }, { "author": "alessandrozonta", "title": "ComfyUI-CenterNode", @@ -10794,6 +12528,27 @@ "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": "alessandrozonta", + "title": "ComfyUI-PoseDirection", + "reference": "https://github.com/alessandrozonta/ComfyUI-PoseDirection", + "files": [ + "https://github.com/alessandrozonta/ComfyUI-PoseDirection" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI analyzes OpenPose keypoints to determine if a person in an image is facing forward, showing their left side, or their right side." + }, { "author": "curiousjp", "title": "ComfyUI-MaskBatchPermutations", @@ -10834,7 +12589,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", @@ -10859,19 +12614,20 @@ }, { "author": "KoreTeknology", - "title": "ComfyUI Compositing Nodes Pack", - "reference": "https://github.com/KoreTeknology/ComfyUI-Compositing-Nodes-Pack", + "title": "ComfyUI Production Nodes Pack", + "reference": "https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack", "files": [ - "https://github.com/KoreTeknology/ComfyUI-Compositing-Nodes-Pack" + "https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack" ], "install_type": "git-clone", - "description": "This is set of custom nodes for your ComfyUI1 local installation. It offers the very basic nodes that are missing in the official 'Vanilla' package. It is a research Node based project on Artificial Intelligence using ComfyUI visual editor. This repository also includes a set of workflows to test the nodes." + "description": "This is set of custom nodes for your ComfyUI local installation. It offers the very basic nodes that are missing in the official 'Vanilla' package. It is a research Node based project on Artificial Intelligence using ComfyUI visual editor. This repository also includes a set of workflows to test the nodes.\nNOTE:Renamed from 'ComfyUI-Compositing-Nodes-Pack'" }, { "author": "ZeDarkAdam", "title": "ComfyUI-Embeddings-Tools", "id": "embeddings-tools", "reference": "https://github.com/ZeDarkAdam/ComfyUI-Embeddings-Tools", + "reference2": "https://github.com/ZDAVanO/ComfyUI-Embeddings-Tools", "files": [ "https://github.com/ZeDarkAdam/ComfyUI-Embeddings-Tools" ], @@ -11040,7 +12796,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", @@ -11148,6 +12904,16 @@ "install_type": "git-clone", "description": "Download youtube videos/playlists" }, + { + "author": "christian-byrne", + "title": "Claude Code ComfyUI Nodes", + "reference": "https://github.com/christian-byrne/claude-code-comfyui-nodes", + "files": [ + "https://github.com/christian-byrne/claude-code-comfyui-nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for integrating Claude Code SDK - enables AI-powered code generation, analysis, and assistance within ComfyUI workflows" + }, { "author": "oztrkoguz", "title": "ComfyUI StoryCreater", @@ -11168,7 +12934,78 @@ "https://github.com/GraftingRayman/ComfyUI_GraftingRayman" ], "install_type": "git-clone", - "description": "Image Manipulation Nodes" + "description": "Image Manipulation and Prompt Generation Nodes" + }, + { + "author": "GraftingRayman", + "title": "ComfyUI QueueTube", + "reference": "https://github.com/GraftingRayman/ComfyUI_QueueTube", + "files": [ + "https://github.com/GraftingRayman/ComfyUI_QueueTube" + ], + "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" + }, + { + "author": "GraftingRayman", + "title": "ComfyUI-PuLID-Flux-GR", + "reference": "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR", + "files": [ + "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR" + ], + "install_type": "git-clone", + "description": "This is a PuLID node that has been extended with new features." + }, + { + "author": "GraftingRayman", + "title": "Unfied Vision Prompt Generator", + "reference": "https://github.com/GraftingRayman/Unified-Vision-Prompt-Generator", + "files": [ + "https://github.com/GraftingRayman/Unified-Vision-Prompt-Generator" + ], + "install_type": "git-clone", + "description": "A Qwen 2/2.5, Moondream and SmolVLM LLM caption/prompt genrator" + }, + { + "author": "GraftingRayman", + "title": "Border Distance Mapper", + "reference": "https://github.com/GraftingRayman/Border-Distance-Mapper", + "files": [ + "https://github.com/GraftingRayman/Border-Distance-Mapper" + ], + "install_type": "git-clone", + "description": "A Countries Border distance mapper" + }, + { + "author": "GraftingRayman", + "title": "ComfyUI Visual Dimension Selector", + "reference": "https://github.com/GraftingRayman/ComfyUI-Dimension-Selector", + "files": [ + "https://github.com/GraftingRayman/ComfyUI-Dimension-Selector" + ], + "install_type": "git-clone", + "description": "A visual ComfyUI latent canvas dimensions selector" + }, + { + "author": "GraftingRayman", + "title": "ComfyUI-Games", + "reference": "https://github.com/GraftingRayman/ComfyUI-Games", + "files": [ + "https://github.com/GraftingRayman/ComfyUI-Games" + ], + "install_type": "git-clone", + "description": "ComfyUI node providing Tetris game functionality. (Description by CC)" + }, + { + "author": "GraftingRayman", + "title": "ComfyUI-ZImage-Bake-Extract", + "id": "ComfyUI-ZImage-Bake-Extract", + "reference": "https://github.com/GraftingRayman/ComfyUI-ZImage-Bake-Extract", + "files": [ + "https://github.com/GraftingRayman/ComfyUI-ZImage-Bake-Extract" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for baking LoRAs into base models and extracting LoRAs from merged/finetuned models. This node provides advanced functionality for managing LoRA weights with support for format conversion between sd-scripts and ComfyUI formats." }, { "author": "royceschultz", @@ -11244,7 +13081,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", @@ -11354,7 +13191,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", @@ -11626,7 +13463,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", @@ -11639,17 +13476,6 @@ "install_type": "git-clone", "description": "Nodes: Ultimate Concat (Mobile), Send Notification (Mobile), Settings Launcher (Mobile), Settings Launcher Outputs (Mobile)" }, - { - "author": "audioscavenger", - "title": "ComfyUI-Thumbnails", - "id": "thumbnails", - "reference": "https://github.com/audioscavenger/ComfyUI-Thumbnails", - "files": [ - "https://github.com/audioscavenger/ComfyUI-Thumbnails" - ], - "install_type": "git-clone", - "description": "Load Image thumbnails, delete images, browse input subfolders." - }, { "author": "goktug", "title": "Save Image Plus for ComfyUI", @@ -11736,7 +13562,7 @@ "https://github.com/MariusKM/ComfyUI-BadmanNodes" ], "install_type": "git-clone", - "description": "Nodes:Badman_Blend, Badman_HexGenerator, Badman_String, Badman_Concat_String, Badman_Print, BadmanIO, BadmanIntUtil" + "description": "Utility nodes including ImageBlend, Math, Strings, Color tools, Wildcard Processor, Latent Noise Mask, and WAN Three Frame To Video for keyframe-based video generation" }, { "author": "TMElyralab", @@ -11752,12 +13578,12 @@ { "author": "PnthrLeo", "title": "comfyUI-PL-data-tools", - "reference": "https://github.com/PnthrLeo/comfyUI-image-search", + "reference": "https://github.com/PnthrLeo/comfyUI-PL-data-tools", "files": [ - "https://github.com/PnthrLeo/comfyUI-image-search" + "https://github.com/PnthrLeo/comfyUI-PL-data-tools" ], "install_type": "git-clone", - "description": "Nodes:Close Images Searcher, Areas Generator,Batch Image Getter" + "description": "Image data check, filtering and augmentation tools for ComfyUI šŸ”¬\nNOTE: Renamed from 'comfyUI-image-search'" }, { "author": "l20richo", @@ -11811,18 +13637,17 @@ "https://github.com/vanche1212/ComfyUI-ZMG-Nodes" ], "install_type": "git-clone", - "description": "Nodes:ApiRequestNode, LoadVideoNode, JsonParserNode, OllamaRequestNode, OldPhotoColorizationNode." + "description": "Nodes:ApiRequestNode, LoadVideoNode, JsonParserNode, OllamaRequestNode, OldPhotoColorizationNode, waveform_2_audio, SaveImageUnifiedOutput, VideoHelperUnifiedOutput, ..." }, { - "author": "hben35096", - "title": "ComfyUI-ToolBox", - "id": "hben-toolbox", - "reference": "https://github.com/hben35096/ComfyUI-ToolBox", + "author": "vanche1212", + "title": "ComfyUI InspireMusic Plugin", + "reference": "https://github.com/vanche1212/ComfyUI-InspireMusic", "files": [ - "https://github.com/hben35096/ComfyUI-ToolBox" + "https://github.com/vanche1212/ComfyUI-InspireMusic" ], "install_type": "git-clone", - "description": "Nodes:commonly_node." + "description": "InspireMusic ComfyUI Plugin – ComfyUI Integration Plugin for AI Music Generation\nA ComfyUI node plugin based on Alibaba’s InspireMusic model, supporting text-to-music generation and music continuation features." }, { "author": "hben35096", @@ -11944,6 +13769,36 @@ "install_type": "git-clone", "description": "A collection of simple nodes for Frequency Separation / Frequency Recombine with RGB and HSV methods" }, + { + "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." + }, + { + "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": "risunobushi", + "title": "ComfyUI_sm4ll-Wrapper", + "reference": "https://github.com/risunobushi/ComfyUI_sm4ll-Wrapper", + "files": [ + "https://github.com/risunobushi/ComfyUI_sm4ll-Wrapper" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that integrates with the sm4ll-VTON API for virtual try-on functionality." + }, { "author": "zohac", "title": "ComfyUI_ZC_DrawShape", @@ -12033,6 +13888,46 @@ "install_type": "git-clone", "description": "This custom node for ComfyUI integrates the Flux-Prompt-Enhance model, allowing you to enhance your prompts directly within your ComfyUI workflows." }, + { + "author": "marduk191", + "title": "comfyui_qwen_runninghub", + "reference": "https://github.com/marduk191/comfyui_qwen_runninghub", + "files": [ + "https://github.com/marduk191/comfyui_qwen_runninghub" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for integrating RunningHub's AI image and video generation services into workflows. (Description by CC)" + }, + { + "author": "marduk191", + "title": "ComfyUI_LFM2-350M", + "reference": "https://github.com/marduk191/ComfyUI_LFM2-350M", + "files": [ + "https://github.com/marduk191/ComfyUI_LFM2-350M" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI to load and use the LFM2-350M model trained to work as a prompt enhancer for z-image turbo or any other long token model." + }, + { + "author": "marduk191", + "title": "ComfyUI-TF32-Enabler", + "reference": "https://github.com/marduk191/ComfyUI-TF32-Enabler", + "files": [ + "https://github.com/marduk191/ComfyUI-TF32-Enabler" + ], + "install_type": "git-clone", + "description": "Automatically enables TensorFloat-32 (TF32) acceleration for NVIDIA RTX 30/40/50 series GPUs in ComfyUI." + }, + { + "author": "marduk191", + "title": "ComfyUI-ZImageTurboHQNodes", + "reference": "https://github.com/marduk191/ComfyUI-ZImageTurboHQNodes", + "files": [ + "https://github.com/marduk191/ComfyUI-ZImageTurboHQNodes" + ], + "install_type": "git-clone", + "description": "Self-contained ComfyUI nodes for Tongyi Z-Image-Turbo high-quality workflows" + }, { "author": "haohaocreates", "title": "ComfyUI-HH-Image-Selector", @@ -12052,7 +13947,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", @@ -12076,6 +13971,16 @@ "install_type": "git-clone", "description": "You'll get a new node called SD3 Latent Select Resolution, you can pick the x and y sizes from a list." }, + { + "author": "GavChap", + "title": "ComfyUI_ExtractLora", + "reference": "https://github.com/GavChap/ComfyUI_ExtractLora", + "files": [ + "https://github.com/GavChap/ComfyUI_ExtractLora" + ], + "install_type": "git-clone", + "description": "Creates lora from two checkpoints by extracting the difference." + }, { "author": "BenNarum", "title": "SigmaWaveFormNodes", @@ -12103,6 +14008,7 @@ "title": "LNL Frame Selector", "id": "lnlframeselector", "reference": "https://github.com/latenightlabs/ComfyUI-LNL", + "reference2": "https://github.com/asteriafilmco/ComfyUI-LNL", "files": [ "https://github.com/latenightlabs/ComfyUI-LNL" ], @@ -12325,16 +14231,6 @@ "install_type": "git-clone", "description": "Nodes:Jamworks_Login, Jamworks_Download, Shell_Command.\nA Simple Client for Jamworks Platform DAM Integration" }, - { - "author": "fablestudio", - "title": "ComfyUI-Showrunner-Utils", - "reference": "https://github.com/fablestudio/ComfyUI-Showrunner-Utils", - "files": [ - "https://github.com/fablestudio/ComfyUI-Showrunner-Utils" - ], - "install_type": "git-clone", - "description": "Comfyui Custom Nodes for Showrunner" - }, { "author": "MilitantHitchhiker", "title": "MilitantHitchhiker-SwitchbladePack", @@ -12367,17 +14263,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", @@ -12465,17 +14350,6 @@ "install_type": "git-clone", "description": "Nodes:Image Dimension Resizer, Image Sizer, Random Ratio, Show Text, Random Title Character, Random Wildcard Tag Picker, Random Show Atm Loc Outfit, Contains Word, Elements Concatenator, ..." }, - { - "author": "leiweiqiang", - "title": "ComfyUI-TRA", - "id": "tra", - "reference": "https://github.com/leiweiqiang/ComfyUI-TRA", - "files": [ - "https://github.com/leiweiqiang/ComfyUI-TRA" - ], - "install_type": "git-clone", - "description": "Nodes:TCL EbSynth, TCL Extract Frames (From File), TCL Extract Frames (From Video), TCL Combine Frames, TCL Save Video (From Frames)" - }, { "author": "hwhaocool", "title": "ComfyUI-Select-Any", @@ -12498,6 +14372,26 @@ "install_type": "git-clone", "description": "ComfyUI implementation of [a/Aura-SR](https://github.com/fal-ai/aura-sr)" }, + { + "author": "GreenLandisaLie", + "title": "ComfyUI-BooruBrowser", + "reference": "https://github.com/GreenLandisaLie/ComfyUI-BooruBrowser", + "files": [ + "https://github.com/GreenLandisaLie/ComfyUI-BooruBrowser" + ], + "install_type": "git-clone", + "description": "Quickly search and get images from Gelbooru/Danbooru/E621 without leaving ComfyUI" + }, + { + "author": "GreenLandisaLie", + "title": "ComfyUI-RichText_BasicDynamicPrompts", + "reference": "https://github.com/GreenLandisaLie/ComfyUI-RichText_BasicDynamicPrompts", + "files": [ + "https://github.com/GreenLandisaLie/ComfyUI-RichText_BasicDynamicPrompts" + ], + "install_type": "git-clone", + "description": "Basic Dynamic Prompts functionality with a Rich Text texbox for coloring." + }, { "author": "licyk", "title": "ComfyUI-Restart-Sampler", @@ -12520,6 +14414,17 @@ "install_type": "git-clone", "description": "Image processing tool for ComfyUI" }, + { + "author": "licyk", + "title": "ComfyUI-TCD-Sampler", + "id": "TCD-Sampler", + "reference": "https://github.com/licyk/ComfyUI-TCD-Sampler", + "files": [ + "https://github.com/licyk/ComfyUI-TCD-Sampler" + ], + "install_type": "git-clone", + "description": "Adding TCD sampling" + }, { "author": "my-opencode", "title": "ComfyUI_IndustrialMagick", @@ -12547,6 +14452,7 @@ "title": "ComfyUI SaveAS", "id": "saveas", "reference": "https://github.com/SEkINVR/ComfyUI-SaveAs", + "reference2": "https://github.com/AnimationOverhual/ComfyUI-SaveAs", "files": [ "https://github.com/SEkINVR/ComfyUI-SaveAs" ], @@ -12555,14 +14461,25 @@ }, { "author": "MrSamSeen", - "title": "ComfyUI_SSStereoscope", - "id": "ssstereoscope", + "title": "SideBySide_Stereoscope", + "id": "comfyui_ssstereoscope_bysamseen", "reference": "https://github.com/MrSamSeen/ComfyUI_SSStereoscope", "files": [ "https://github.com/MrSamSeen/ComfyUI_SSStereoscope" ], "install_type": "git-clone", - "description": "Side by Side 3D Stereoscope generation node for ComfyUI by SamSeen." + "description": "Create immersive 3D stereoscopic images and videos! Transform your ComfyUI generations into stunning side-by-side 3D visuals for videos and image sequences. Powered by Depth-Anything-V2, no external depth maps needed. Perfect for VR, 3D displays, and cross-eyed viewing - no special glasses required!" + }, + { + "author": "MrSamSeen", + "title": "ComfyUI_SSBeforeAfterNode", + "id": "ComfyUI_SSBeforeAfterNode", + "reference": "https://github.com/MrSamSeen/ComfyUI_SSBeforeAfterNode", + "files": [ + "https://github.com/MrSamSeen/ComfyUI_SSBeforeAfterNode" + ], + "install_type": "git-clone", + "description": "Two powerful custom nodes for ComfyUI to create stunning before-and-after transition videos. These nodes are designed for visual comparisons, transformations, and creative effects, supporting both standard and depth map-based transitions." }, { "author": "jroc22", @@ -12616,6 +14533,96 @@ "install_type": "git-clone", "description": "Generate random prompts easily." }, + { + "author": "tritant", + "title": "Flux LoRA Merger", + "reference": "https://github.com/tritant/ComfyUI_Flux_Lora_Merger", + "files": [ + "https://github.com/tritant/ComfyUI_Flux_Lora_Merger" + ], + "install_type": "git-clone", + "description": "Advanced LoRA merging node for ComfyUI (additive, average, sequential)" + }, + { + "author": "tritant", + "title": "Flux Block LoRA Merger", + "reference": "https://github.com/tritant/ComfyUI_Flux_Block_Lora_Merger", + "files": [ + "https://github.com/tritant/ComfyUI_Flux_Block_Lora_Merger" + ], + "install_type": "git-clone", + "description": "Advanced Block LoRA merging node for ComfyUI (allows selective LoRA block merging)" + }, + { + "author": "tritant", + "title": "Advanced Photo Grain", + "reference": "https://github.com/tritant/ComfyUI-Advanced-Photo-Grain", + "files": [ + "https://github.com/tritant/ComfyUI-Advanced-Photo-Grain" + ], + "install_type": "git-clone", + "description": "Adds realistic film grain, vignette and RGB aberration to photos" + }, + { + "author": "tritant", + "title": "Remove Banding Artifacts", + "reference": "https://github.com/tritant/ComfyUI_Remove_Banding_Artifacts", + "files": [ + "https://github.com/tritant/ComfyUI_Remove_Banding_Artifacts" + ], + "install_type": "git-clone", + "description": "Fix banding artifacts by re-sampling the latent with a low denoise strength." + }, + { + "author": "tritant", + "title": "Layers System", + "reference": "https://github.com/tritant/ComfyUI_Layers_Utility", + "files": [ + "https://github.com/tritant/ComfyUI_Layers_Utility" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI provides a powerful and flexible dynamic layering system, similar to what you would find in image editing software like Photoshop." + }, + { + "author": "tritant", + "title": "Advanced_Relight_Img", + "reference": "https://github.com/tritant/ComfyUI_Relight_Img", + "files": [ + "https://github.com/tritant/ComfyUI_Relight_Img" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that provides advanced 2D relighting capabilities." + }, + { + "author": "tritant", + "title": "ComfyUI_Custom_Switch", + "reference": "https://github.com/tritant/ComfyUI_Custom_Switch", + "files": [ + "https://github.com/tritant/ComfyUI_Custom_Switch" + ], + "install_type": "git-clone", + "description": "It allows you to control complex graphs by unbypass/unmute and bypass/mute entire groups of nodes, just by adding tags in the title of your nodes, no connection required." + }, + { + "author": "tritant", + "title": "SuperScaler", + "reference": "https://github.com/tritant/ComfyUI_SuperScaler", + "files": [ + "https://github.com/tritant/ComfyUI_SuperScaler" + ], + "install_type": "git-clone", + "description": "An all-in-one, multi-pass generative upscaling and post-processing node designed to simplify complex workflows and add a professional finish to your images." + }, + { + "author": "tritant", + "title": "ComfyUI_Kitchen_nvfp4_Converter", + "reference": "https://github.com/tritant/ComfyUI_Kitchen_nvfp4_Converter", + "files": [ + "https://github.com/tritant/ComfyUI_Kitchen_nvfp4_Converter" + ], + "install_type": "git-clone", + "description": "Convert to nvfp4, support Z-image-turbo, flux.1 and more" + }, { "author": "metncelik", "title": "comfyui_met_suite", @@ -12656,6 +14663,27 @@ "install_type": "git-clone", "description": "Nodes:Image Blending Mode Mask, Load Image With Bool, IPAdapter Mad Scientist Weight_Type, IPAdapter FaceID With Bool" }, + { + "author": "wTechArtist", + "title": "ComfyUI-StableDelight-weiweiliang", + "reference": "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang", + "reference2": "https://github.com/wTechArtist/ComfyUI-WWL-StableDelight", + "files": [ + "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang" + ], + "install_type": "git-clone", + "description": "NODES: WWL_StableDelight" + }, + { + "author": "wTechArtist", + "title": "ComfyUI VVL Video Camera Advanced", + "reference": "https://github.com/wTechArtist/ComfyUI_VVL_VideoCamera_Advanced", + "files": [ + "https://github.com/wTechArtist/ComfyUI_VVL_VideoCamera_Advanced" + ], + "install_type": "git-clone", + "description": "A professional video camera parameter estimation toolkit based on the VGGT model." + }, { "author": "mullakhmetov", "title": "comfyui_dynamic_util_nodes", @@ -12844,14 +14872,13 @@ }, { "author": "APZmedia", - "title": "APZmedia Clean Name", - "id": "clean-filename", + "title": "APZmedia Naming Tools", "reference": "https://github.com/APZmedia/ComfyUI-APZmedia-cleanName-from-string", "files": [ "https://github.com/APZmedia/ComfyUI-APZmedia-cleanName-from-string" ], "install_type": "git-clone", - "description": "A custom node to sanitize text to make clean file names from strings." + "description": "A comprehensive set of naming tools for ComfyUI to build, sanitize, and manage file names and paths." }, { "author": "APZmedia", @@ -12863,6 +14890,46 @@ "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": "APZmedia", + "title": "ComfyUI Color Profile Reader", + "reference": "https://github.com/APZmedia/ComfyUI-color-tools", + "files": [ + "https://github.com/APZmedia/ComfyUI-color-tools" + ], + "install_type": "git-clone", + "description": "A comprehensive collection of color manipulation and analysis nodes for ComfyUI" + }, + { + "author": "APZmedia", + "title": "NormalMapLightEstimator", + "reference": "https://github.com/APZmedia/Comfyui-LightDirection-estimation", + "files": [ + "https://github.com/APZmedia/Comfyui-LightDirection-estimation" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for estimating light direction and quality from normal maps using luma masking. The system analyzes surface normals to infer lighting information for downstream tasks like adaptive relighting, directional masking, or stylized effects." + }, + { + "author": "APZmedia", + "title": "ComfyUI DreamLight Node", + "reference": "https://github.com/APZmedia/ComfyUI-Dreamlight", + "files": [ + "https://github.com/APZmedia/ComfyUI-Dreamlight" + ], + "install_type": "git-clone", + "description": "Comfyui wrapper of Dreamlight by yongliu20" + }, { "author": "N3rd00d", "title": "ComfyUI-Paint3D-Nodes", @@ -12884,6 +14951,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", @@ -12895,6 +14972,16 @@ "install_type": "git-clone", "description": "Nodes to use Florence2 VLM for image tagging and captioning" }, + { + "author": "MiaoshouAI", + "title": "ComfyUI Video Segmentation Node", + "reference": "https://github.com/miaoshouai/ComfyUI-Video-Segmentation", + "files": [ + "https://github.com/miaoshouai/ComfyUI-Video-Segmentation" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for automatic video scene segmentation using TransNetV2." + }, { "author": "Patricio Gonzalez Vivo", "title": "GLSL Nodes", @@ -12903,7 +14990,7 @@ "https://github.com/patriciogonzalezvivo/comfyui_glslnodes" ], "install_type": "git-clone", - "description": "A collections of nodes to support GLSL shaders inside a workflow." + "description": "A collections of nodes to support GLSL shaders inside a workflow. Provides nodes: glslViewer, glslEditor, glslEditorPro, int, float, vec2, vec3 and vec4." }, { "author": "2kpr", @@ -13035,7 +15122,57 @@ "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": "lrzjason", + "title": "ComfyUI Watermark Detection Node", + "reference": "https://github.com/lrzjason/ComfyUI-Watermark-Detection", + "files": [ + "https://github.com/lrzjason/ComfyUI-Watermark-Detection" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI provides watermark detection capabilities using a YOLO model trained by [a/fancyfeast](https://huggingface.co/fancyfeast), the creator of JoyCaption. The model is originally hosted at [a/Hugging Face Space](https://huggingface.co/spaces/fancyfeast/joycaption-watermark-detection)." + }, + { + "author": "lrzjason", + "title": "Comfyui-QwenEditUtils", + "reference": "https://github.com/lrzjason/Comfyui-QwenEditUtils", + "files": [ + "https://github.com/lrzjason/Comfyui-QwenEditUtils" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for Qwen-based image editing in ComfyUI." + }, + { + "author": "lrzjason", + "title": "Comfyui-LoraUtils", + "reference": "https://github.com/lrzjason/Comfyui-LoraUtils", + "files": [ + "https://github.com/lrzjason/Comfyui-LoraUtils" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for lora operations in ComfyUI." + }, + { + "author": "lrzjason", + "title": "Comfyui-LatentUtils", + "reference": "https://github.com/lrzjason/Comfyui-LatentUtils", + "files": [ + "https://github.com/lrzjason/Comfyui-LatentUtils" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node performing selective latent denoising and detail enhancement using Fourier Transform (FFT) to separate and enhance image frequencies while suppressing noise. (Description by CC)" + }, + { + "author": "cozy_comm", "title": "Cozy Communication", "id": "cozy_comm", "reference": "https://github.com/cozy-comfyui/cozy_comm", @@ -13120,6 +15257,16 @@ "install_type": "git-clone", "description": "Perform a Fast Fourier Transform on the image, and then users can freely select the filtering range to filter the image. The main function is to remove the grid patterns on the image, and it can also perform high-pass filtering and low-pass filtering. The detailed workflow is shown in the figure below. The PNG file contains the ComfyUI workflow.The working principle is similar to the FFT filter in Photoshop." }, + { + "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": "BetaDoggo", "title": "ComfyUI YetAnotherSafetyChecker", @@ -13172,6 +15319,16 @@ "install_type": "git-clone", "description": "A set of nodes for interfacing with the FastSDCPU webserver." }, + { + "author": "BetaDoggo", + "title": "ComfyUI-Cloud-APIs", + "reference": "https://github.com/BetaDoggo/ComfyUI-Cloud-APIs", + "files": [ + "https://github.com/BetaDoggo/ComfyUI-Cloud-APIs" + ], + "install_type": "git-clone", + "description": "Nodes for using models from online providers. Flux, Auraflow, SoteDiffusion, etc." + }, { "author": "WX-NPS1598", "title": "Auto Crop By NPS", @@ -13199,23 +15356,13 @@ "title": "ComfyUI-RK-Sampler", "id": "rk_sampler", "reference": "https://github.com/wootwootwootwoot/ComfyUI-RK-Sampler", + "reference2": "https://github.com/memmaptensor/ComfyUI-RK-Sampler", "files": [ "https://github.com/wootwootwootwoot/ComfyUI-RK-Sampler" ], "install_type": "git-clone", "description": "Batched Runge-Kutta Samplers for ComfyUI" }, - { - "author": "TechnoByteJS", - "title": "TechNodes", - "id": "technodes", - "reference": "https://github.com/TechnoByteJS/ComfyUI-TechNodes", - "files": [ - "https://github.com/TechnoByteJS/ComfyUI-TechNodes" - ], - "install_type": "git-clone", - "description": "ComfyUI nodes for merging, testing and more.\nNOTE: SDNext Merge, VAE Merge, MBW Layers, Repeat VAE, Quantization." - }, { "author": "Fantasy AI Studio", "title": "FAI-Node", @@ -13238,16 +15385,6 @@ "install_type": "git-clone", "description": "A [a/Matchering](https://github.com/sergree/matchering)-node for ComfyUI.\nNOTE: You take TWO audio files and feed them into Matchering" }, - { - "author": "filliptm", - "title": "ComfyUI_FL-Trainer", - "reference": "https://github.com/filliptm/ComfyUI_FL-Trainer", - "files": [ - "https://github.com/filliptm/ComfyUI_FL-Trainer" - ], - "install_type": "git-clone", - "description": "Train Image Loras on both sd1.5 and SDXL. This repo git clones the pieces needed to train. It pops open a second terminal window do do the training. It will also display the inference samples in the node itself so you can track the results." - }, { "author": "Mintbeer96", "title": "ComfyUI-KerasOCR", @@ -13270,13 +15407,33 @@ }, { "author": "EnragedAntelope", - "title": "ComfyUI-Doubutsu-Describer", - "reference": "https://github.com/EnragedAntelope/ComfyUI-Doubutsu-Describer", + "title": "ComfyUI-ConstrainResolution", + "reference": "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution", "files": [ - "https://github.com/EnragedAntelope/ComfyUI-Doubutsu-Describer" + "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution" ], "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)" + "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": "EnragedAntelope", + "title": "ComfyUI-ReLight", + "reference": "https://github.com/EnragedAntelope/comfyui-relight", + "files": [ + "https://github.com/EnragedAntelope/comfyui-relight" + ], + "install_type": "git-clone", + "description": "Transform your images with cinematic lighting effects in a single click! ReLight is a powerful ComfyUI node that adds professional-grade lighting capabilities including multiple light sources, rim lighting, and 3D lighting simulation." }, { "author": "jn-jairo", @@ -13316,7 +15473,7 @@ "https://github.com/ai-shizuka/ComfyUI-tbox" ], "install_type": "git-clone", - "description": "Nodes:ImageLoader, ImageSaver, ImagesSaver, ImageResize, ImageSize." + "description": "Nodes:ImageLoader, ImageSaver, ImagesSaver, ImageResize, ImageSize, GFPGANNode, MaskAddNode, Video Load, ..." }, { "author": "neverbiasu", @@ -13348,18 +15505,57 @@ "https://github.com/neverbiasu/ComfyUI-StyleShot" ], "install_type": "git-clone", - "description": "NODES:StyleShotApply" + "description": "This project integrates [a/StyleShot](https://github.com/open-mmlab/StyleShot) functionality into ComfyUI, thanks to the foundational work by continue-revolution." }, { - "author": "DriftJohnson", - "title": "DJZ-Nodes", - "id": "DJZ-Nodes", - "reference": "https://github.com/MushroomFleet/DJZ-Nodes", + "author": "neverbiasu", + "title": "ComfyUI-Dashscope", + "reference": "https://github.com/neverbiasu/ComfyUI-Dashscope", "files": [ - "https://github.com/MushroomFleet/DJZ-Nodes" + "https://github.com/neverbiasu/ComfyUI-Dashscope" ], "install_type": "git-clone", - "description": "AspectSize and other nodes" + "description": "This project adapts the dashscope([a/aliyun-bailian](https://bailian.console.aliyun.com)) api into ComfyUI." + }, + { + "author": "neverbiasu", + "title": "ComfyUI-ChatTTS", + "reference": "https://github.com/neverbiasu/ComfyUI-ChatTTS", + "files": [ + "https://github.com/neverbiasu/ComfyUI-ChatTTS" + ], + "install_type": "git-clone", + "description": "A ComfyUI integration for [a/ChatTTS](https://github.com/2noise/ChatTTS), enabling high-quality, controllable text-to-speech generation directly in your ComfyUI workflows." + }, + { + "author": "neverbiasu", + "title": "ComfyUI-BAGEL", + "reference": "https://github.com/neverbiasu/ComfyUI-BAGEL", + "files": [ + "https://github.com/neverbiasu/ComfyUI-BAGEL" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package based on the BAGEL-7B-MoT multimodal model." + }, + { + "author": "neverbiasu", + "title": "ComfyUI-Ovis-U1", + "reference": "https://github.com/neverbiasu/ComfyUI-Ovis-U1", + "files": [ + "https://github.com/neverbiasu/ComfyUI-Ovis-U1" + ], + "install_type": "git-clone", + "description": "This repository adds ComfyUI custom nodes that wrap the Ovis-U1 multimodal model, exposing three primary workflows inside the ComfyUI editor." + }, + { + "author": "neverbiasu", + "title": "ComfyUI-ModelScope", + "reference": "https://github.com/neverbiasu/ComfyUI-ModelScope", + "files": [ + "https://github.com/neverbiasu/ComfyUI-ModelScope" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package for ModelScope API integration, providing seamless access to ModelScope's powerful AI models including Large Language Models (LLM), Vision-Language Models (VLM), and Image Generation capabilities." }, { "author": "var1ableX", @@ -13380,7 +15576,7 @@ "https://github.com/MakkiShizu/comfyui_reimgsize" ], "install_type": "git-clone", - "description": "a simple reimgsize node(s) in comfyui." + "description": "a simple resize image node(s) in comfyui. This repository is not specific to the length and width values of an image, but focuses more on adjusting the total pixel count, side length specifications, and size ratios of the image." }, { "author": "Makki_Shizu", @@ -13395,14 +15591,35 @@ }, { "author": "Makki_Shizu", - "title": "ComfyUI-SaveAnimatedGIF", - "id": "SaveAnimatedGIF", - "reference": "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF", + "title": "ComfyUI-Qwen2_5-VL", + "id": "Qwen2_5-VL", + "reference": "https://github.com/MakkiShizu/ComfyUI-Qwen2_5-VL", "files": [ - "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF" + "https://github.com/MakkiShizu/ComfyUI-Qwen2_5-VL" ], "install_type": "git-clone", - "description": "Save animated GIF format nodes in ComfyUI" + "description": "Qwen2.5-VL in ComfyUI" + }, + { + "author": "Makki_Shizu", + "title": "ComfyUI-MakkiTools", + "id": "MakkiTools", + "reference": "https://github.com/MakkiShizu/ComfyUI-MakkiTools", + "files": [ + "https://github.com/MakkiShizu/ComfyUI-MakkiTools" + ], + "install_type": "git-clone", + "description": "Makki's self custom nodes for ComfyUI." + }, + { + "author": "MakkiShizu", + "title": "ComfyUI-animetimm", + "reference": "https://github.com/MakkiShizu/ComfyUI-animetimm", + "files": [ + "https://github.com/MakkiShizu/ComfyUI-animetimm" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for tagging anime images using TIMM models from animetimm, supporting general tags, character tags, artist tags, and rating tags with batch image processing." }, { "author": "JosefKuchar", @@ -13414,17 +15631,6 @@ "install_type": "git-clone", "description": "Advanced tiling of various shapes for ComfyUI" }, - { - "author": "Fuou Marinas", - "title": "ComfyUI-EbSynth", - "id": "comfyEbsynth", - "reference": "https://github.com/FuouM/ComfyUI-EbSynth", - "files": [ - "https://github.com/FuouM/ComfyUI-EbSynth" - ], - "install_type": "git-clone", - "description": "Run EbSynth, Fast Example-based Image Synthesis and Style Transfer, in ComfyUI." - }, { "author": "Parameshvadivel", "title": "ComfyUI-SVGview", @@ -13447,6 +15653,26 @@ "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": "Visionatrix", + "title": "ComfyUI-Gemini", + "reference": "https://github.com/Visionatrix/ComfyUI-Gemini", + "files": [ + "https://github.com/Visionatrix/ComfyUI-Gemini" + ], + "install_type": "git-clone", + "description": "Nodes for Google Gemini API, focusing on backward compatibility and stability within ComfyUI." + }, { "author": "liangt", "title": "comfyui-loadimagewithsubfolder", @@ -13566,6 +15792,16 @@ "install_type": "git-clone", "description": "Implementation of X-Portrait nodes for ComfyUI, animate portraits with an input video and a reference image." }, + { + "author": "akatz-ai", + "title": "ComfyUI-Basic-Math", + "reference": "https://github.com/akatz-ai/ComfyUI-Basic-Math", + "files": [ + "https://github.com/akatz-ai/ComfyUI-Basic-Math" + ], + "install_type": "git-clone", + "description": "Custom nodes for performing basic math operations" + }, { "author": "teward", "title": "Comfy-Sentry", @@ -13608,6 +15844,28 @@ "install_type": "git-clone", "description": "Nodes:Neural Neighbor, CAST, EFDM, MicroAST, Coral Color Transfer." }, + { + "author": "Fuou Marinas", + "title": "ComfyUI-EbSynth", + "id": "comfyEbsynth", + "reference": "https://github.com/FuouM/ComfyUI-EbSynth", + "files": [ + "https://github.com/FuouM/ComfyUI-EbSynth" + ], + "install_type": "git-clone", + "description": "Run EbSynth, Fast Example-based Image Synthesis and Style Transfer, in ComfyUI." + }, + { + "author": "Fuou Marinas", + "title": "ComfyUI-MatAnyone", + "id": "ComfyUI-MatAnyone", + "reference": "https://github.com/FuouM/ComfyUI-MatAnyone", + "files": [ + "https://github.com/FuouM/ComfyUI-MatAnyone" + ], + "install_type": "git-clone", + "description": "MatAnyone in ComfyUI (Remove background)" + }, { "author": "MiddleKD", "title": "ComfyUI-mem-safe-wrapper", @@ -13659,17 +15917,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", @@ -13739,7 +15986,47 @@ "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": "GeekyGhost", + "title": "ComfyUI Geeky AudioMixer", + "reference": "https://github.com/GeekyGhost/ComfyUI_Geeky_AudioMixer", + "files": [ + "https://github.com/GeekyGhost/ComfyUI_Geeky_AudioMixer" + ], + "install_type": "git-clone", + "description": "Audio Mixing node for ComfyUI" + }, + { + "author": "GeekyGhost", + "title": "ComfyUI-Geeky-LatentSyncWrapper 1.5", + "reference": "https://github.com/GeekyGhost/ComfyUI-Geeky-LatentSyncWrapper", + "files": [ + "https://github.com/GeekyGhost/ComfyUI-Geeky-LatentSyncWrapper" + ], + "install_type": "git-clone", + "description": "Unofficial optimized and enhanced fork of [a/LatentSync 1.5](https://github.com/bytedance/LatentSync) implementation for ComfyUI on Windows and WSL 2.0." + }, + { + "author": "GeekyGhost", + "title": "ComfyUI-Image-Segmenting-Loader", + "reference": "https://github.com/GeekyGhost/ComfyUI-Image-Segmenting-Loader", + "files": [ + "https://github.com/GeekyGhost/ComfyUI-Image-Segmenting-Loader" + ], + "install_type": "git-clone", + "description": "Lets you send a section of an image to qwen edit or kontext to help isolate areas in need of change" }, { "author": "Dobidop", @@ -13853,6 +16140,116 @@ "install_type": "git-clone", "description": "ComfyUI nodes to use CompareModelWeights" }, + { + "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": "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": "leeguandong", + "title": "ComfyUI_Qwen3Omni", + "reference": "https://github.com/leeguandong/ComfyUI_Qwen3Omni", + "files": [ + "https://github.com/leeguandong/ComfyUI_Qwen3Omni" + ], + "install_type": "git-clone", + "description": "The ComfyUI version of [a/Qwen3-Omini](https://github.com/QwenLM/Qwen3-Omni)" + }, { "author": "lenskikh", "title": "Propmt Worker", @@ -13876,14 +16273,13 @@ }, { "author": "IuvenisSapiens", - "title": "ComfyUI_MiniCPM-V-2_6-int4", - "id": "minicpm-v-2_6-int4", - "reference": "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4", + "title": "ComfyUI_MiniCPM-V-4_5", + "reference": "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-4_5", "files": [ - "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4" + "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-4_5" ], "install_type": "git-clone", - "description": "This is an implementation of [a/MiniCPM-V-2_6-int4](https://github.com/OpenBMB/MiniCPM-V) by [a/ComfyUI](https://github.com/comfyanonymous/ComfyUI), including support for text-based queries, video queries, single-image queries, and multi-image queries to generate captions or responses." + "description": "This is an implementation of [MiniCPM-V-4_5](https://github.com/OpenBMB/MiniCPM-V) by [ComfyUI](https://github.com/comfyanonymous/ComfyUI), including support for text-based queries, video queries, single-image queries, and multi-image queries to generate captions or responses." }, { "author": "IuvenisSapiens", @@ -13896,6 +16292,16 @@ "install_type": "git-clone", "description": "This is an implementation of [a/Qwen2-Audio-7B-Instruct-Int4](https://github.com/QwenLM/Qwen2-Audio) by [a/ComfyUI](https://github.com/comfyanonymous/ComfyUI), including support for text-based queries and audio queries to generate captions or responses." }, + { + "author": "IuvenisSapiens", + "title": "Comfyui_Qwen3-VL-Instruct", + "reference": "https://github.com/IuvenisSapiens/ComfyUI_Qwen3-VL-Instruct", + "files": [ + "https://github.com/IuvenisSapiens/ComfyUI_Qwen3-VL-Instruct" + ], + "install_type": "git-clone", + "description": "This is an implementation of [Qwen3-VL-Instruct](https://github.com/QwenLM/Qwen3-VL) by [ComfyUI](https://github.com/comfyanonymous/ComfyUI), which includes, but is not limited to, support for text-based queries, video queries, single-image queries, and multi-image queries to generate captions or responses." + }, { "author": "mltask", "title": "MLTask_ComfyUI", @@ -13918,6 +16324,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", @@ -13962,9 +16379,9 @@ { "author": "Cyber-Blacat", "title": "ComfyUI-Yuan", - "reference": "https://github.com/Cyber-Blacat/ComfyUI-Yuan", + "reference": "https://github.com/Cyber-BlackCat/ComfyUI-MoneyMaker", "files": [ - "https://github.com/Cyber-Blacat/ComfyUI-Yuan" + "https://github.com/Cyber-BlackCat/ComfyUI-MoneyMaker" ], "install_type": "git-clone", "description": "Some simple&practical ComfyUI image processing nodes." @@ -13997,7 +16414,7 @@ "https://github.com/Hellrunner2k/ComfyUI-HellrunnersMagicalNodes" ], "install_type": "git-clone", - "description": "Nodes:Magical Save Node, Thermal Latenator. This package contains a collection of neat nodes that are supposed to ease your comfy-flow." + "description": "Magical nodes that are meant for integration and science of course. ^^ Foundational Helpers and smart Containers that use automated functionalities to make room for creative use. A magical pack-synergy is at hand that does not require much extra clutter to make advanced techniques pop beautifully. The idea was to create universal artist's precision tools that do not care what you throw at them." }, { "author": "caleboleary", @@ -14014,6 +16431,7 @@ "title": "LatentGC Aggressive", "id": "latentgcaggressive", "reference": "https://github.com/Raapys/ComfyUI-LatentGC_Aggressive", + "reference2": "https://github.com/0000111100001111/ComfyUI-LatentGC_Aggressive", "files": [ "https://github.com/Raapys/ComfyUI-LatentGC_Aggressive" ], @@ -14030,17 +16448,6 @@ "install_type": "git-clone", "description": "Nodes:Batch Image Blend by Mask, Batch Enlarged Overlay, Batch Image Overlay, Remove Black Pixels to Transparent, Canny Shrink and Recenter, ..." }, - { - "author": "OgreLemonSoup", - "title": "Gallery&Tabs", - "id": "LoadImageGallery", - "reference": "https://github.com/OgreLemonSoup/ComfyUI-Load-Image-Gallery", - "files": [ - "https://github.com/OgreLemonSoup/ComfyUI-Load-Image-Gallery" - ], - "install_type": "git-clone", - "description": "Adds a gallery to the Load Image node and tabs for Load Checkpoint/Lora/etc nodes" - }, { "author": "OuticNZ", "title": "ComfyUI-Simple-Of-Complex", @@ -14083,14 +16490,47 @@ }, { "author": "Isi-dev", - "title": "UniAnimate Nodes for ComfyUI", + "title": "ComfyUI-UniAnimate-W", "id": "comfyuiunianimatenodes", "reference": "https://github.com/Isi-dev/ComfyUI-UniAnimate-W", "files": [ "https://github.com/Isi-dev/ComfyUI-UniAnimate-W" ], "install_type": "git-clone", - "description": "These are nodes to animate an image with a reference video using UniAnimate. [w/Name conflict with AIFSH/ComfyUI-UniAnimate. Cannot install simulatenously.]" + "description": "These are nodes to animate an image with a reference video using UniAnimate." + }, + { + "author": "Isi-dev", + "title": "ComfyUI-Animation_Nodes_and_Workflows", + "id": "ComfyUI-Animation_Nodes_and_Workflows", + "reference": "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows", + "reference2": "https://github.com/Isi-dev/ComfyUI_Animation_Nodes_and_Workflows", + "files": [ + "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows" + ], + "install_type": "git-clone", + "description": "These are nodes and workflows that can facilitate the creation of animations and video compilations." + }, + { + "author": "Isi-dev", + "title": "ComfyUI-Img2DrawingAssistants", + "id": "Img2DrawingAssistants", + "reference": "https://github.com/Isi-dev/ComfyUI-Img2DrawingAssistants", + "files": [ + "https://github.com/Isi-dev/ComfyUI-Img2DrawingAssistants" + ], + "install_type": "git-clone", + "description": "These are ComfyUI nodes to assist in converting an image to sketches or lineArts." + }, + { + "author": "Isi-dev", + "title": "ComfyUI_DeleteModelPassthrough", + "reference": "https://github.com/Isi-dev/ComfyUI_DeleteModelPassthrough", + "files": [ + "https://github.com/Isi-dev/ComfyUI_DeleteModelPassthrough" + ], + "install_type": "git-clone", + "description": "This custom node provides a memory management utility for ComfyUI.\nIt allows you to delete a specific model (checkpoint, etc.) completely from VRAM and system RAM after use, while passing through any other input type unchanged (IMAGE, LATENT, CLIP, STRING, INT, CONDITIONING, VAE, etc.).\nThis is especially useful for low VRAM & low RAM environments, helping to reduce out-of-memory (OOM) errors in long workflows." }, { "author": "XLabs-AI", @@ -14172,7 +16612,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", @@ -14184,6 +16624,26 @@ "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": "fairy-root", + "title": "ComfyUI-OpenAI-FM", + "reference": "https://github.com/fairy-root/ComfyUI-OpenAI-FM", + "files": [ + "https://github.com/fairy-root/ComfyUI-OpenAI-FM" + ], + "install_type": "git-clone", + "description": "The OpenAI FM TTS node is a custom node for ComfyUI that seamlessly integrates the OpenAI FM Text-to-Speech service into your audio workflows. This node allows you to easily convert text to speech with a variety of voices and emotional styles directly within ComfyUI." + }, { "author": "ryanontheinside", "title": "RyanOnTheInside", @@ -14194,6 +16654,87 @@ "install_type": "git-clone", "description": "Custom nodes introducing particle simulations, optical flow, audio manipulation & reactivity, and temporal masks" }, + { + "author": "RyanOnTheInside", + "title": "Nodes for use with real-time applications of ComfyUI", + "id": "comfyui_realtimenodes", + "reference": "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes", + "files": [ + "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes" + ], + "install_type": "git-clone", + "description": "These nodes are for real-time applications of ComfyUI." + }, + { + "author": "RyanOnTheInside", + "title": "ComfyUI-EfficientTAM", + "reference": "https://github.com/ryanontheinside/ComfyUI_EfficientTAM", + "files": [ + "https://github.com/ryanontheinside/ComfyUI_EfficientTAM" + ], + "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": "ryanontheinside", + "title": "Control Freak for ComfyUI", + "reference": "https://github.com/ryanontheinside/ComfyUI_ControlFreak", + "files": [ + "https://github.com/ryanontheinside/ComfyUI_ControlFreak" + ], + "install_type": "git-clone", + "description": "Control Freak gives you physical control over your ComfyUI workflows by mapping MIDI controllers, gamepads, and other input devices to any node parameter or UI element. Transform your image generation experience with tactile, responsive control. Ever heard of 'flow state'?" + }, + { + "author": "ryanontheinside", + "title": "Deep Live Cam for ComfyUI", + "reference": "https://github.com/ryanontheinside/ComfyUI-DeepLiveCam", + "files": [ + "https://github.com/ryanontheinside/ComfyUI-DeepLiveCam" + ], + "install_type": "git-clone", + "description": "This node integrates the face-swapping capabilities from Deep Live Cam into ComfyUI, allowing you to perform real-time face swapping on images and video streams." + }, + { + "author": "ryanontheinside", + "title": "ComfyUI-CalculatorX", + "reference": "https://github.com/ryanontheinside/ComfyUI-CalculatorX", + "files": [ + "https://github.com/ryanontheinside/ComfyUI-CalculatorX" + ], + "install_type": "git-clone", + "description": "A fully interactive calculator node for ComfyUI with variable inputs and scientific functions" + }, { "author": "ControlAltAI", "title": "ControlAltAI Nodes", @@ -14204,7 +16745,7 @@ "https://github.com/gseth/ControlAltAI-Nodes" ], "install_type": "git-clone", - "description": "Quality of Life ComfyUI nodes starting with Flux Resolution Calculator and Flux Sampler." + "description": "Quality of Life Nodes from ControlAltAI. Flux Resolution Calculator, Flux Sampler, Flux Union ControlNet Apply, Noise Plus Blend, Boolean Logic, and Flux Region Nodes." }, { "author": "OliverCrosby", @@ -14237,6 +16778,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", @@ -14269,16 +16830,6 @@ "install_type": "git-clone", "description": "The FLUX model API from DashScope, developed by Black Forest Labs, offers superior image generation capabilities with optimized support for Chinese prompts, achieving a commendable tradeoff between performance and the quality of generated images compared to other open-source models." }, - { - "author": "lucafoscili", - "title": "LF Nodes", - "reference": "https://github.com/lucafoscili/comfyui-lf", - "files": [ - "https://github.com/lucafoscili/comfyui-lf" - ], - "install_type": "git-clone", - "description": "Custom nodes with a touch of extra UX, including: history for primitives, JSON manipulation, logic switches with visual feedback, LLM chat... and more!" - }, { "author": "JPrevots", "title": "ComfyUI-PhyCV", @@ -14320,6 +16871,16 @@ "install_type": "git-clone", "description": "Implementation of paint-by-example on ComfyUI" }, + { + "author": "phyblas", + "title": "nsfw-shorier_comfyui", + "reference": "https://github.com/phyblas/nsfw-shorier_comfyui", + "files": [ + "https://github.com/phyblas/nsfw-shorier_comfyui" + ], + "install_type": "git-clone", + "description": "Performs various processing on images containing NSFW content within ComfyUI. The model used for detecting NSFW content can be selected." + }, { "author": "aidenli", "title": "ComfyUI_NYJY", @@ -14329,7 +16890,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", @@ -14392,6 +16953,36 @@ "install_type": "git-clone", "description": "This is an experimental project focused on Stable Diffusion (SD) models. In a single generated image, the same object or character consistently maintains a very high level of consistency. I had already attempted to address this issue in the SDXL model." }, + { + "author": "TTPlanetPig", + "title": "TTP_Comfyui_FramePack_SE", + "reference": "https://github.com/TTPlanetPig/TTP_Comfyui_FramePack_SE", + "files": [ + "https://github.com/TTPlanetPig/TTP_Comfyui_FramePack_SE" + ], + "install_type": "git-clone", + "description": "Provide ComfyUI support for FramePack start-and-end image reference" + }, + { + "author": "TTPlanetPig", + "title": "ComfyUI Qwen2.5-VL Object Detection Node", + "reference": "https://github.com/TTPlanetPig/Comfyui_Object_Detect_QWen_VL", + "files": [ + "https://github.com/TTPlanetPig/Comfyui_Object_Detect_QWen_VL" + ], + "install_type": "git-clone", + "description": "This repository provides a custom ComfyUI node for running object detection with the [a/Qwen 2.5 VL](https://github.com/QwenLM/Qwen2.5-VL) model. The node downloads the selected model on demand, runs a detection prompt and outputs bounding boxes that can be used with segmentation nodes such as [a/SAM2](https://github.com/kijai/ComfyUI-segment-anything-2)." + }, + { + "author": "TTPlanetPig", + "title": "Comfyui_DreamID-V_wrapper", + "reference": "https://github.com/TTPlanetPig/Comfyui_DreamID-V_wrapper", + "files": [ + "https://github.com/TTPlanetPig/Comfyui_DreamID-V_wrapper" + ], + "install_type": "git-clone", + "description": "A simple and efficient ComfyUI integration for DreamID-V, a model for identity-preserving video generation that animates reference images using motion from pose videos." + }, { "author": "camenduru", "title": "ComfyUI-TostAI", @@ -14410,7 +17001,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", @@ -14434,13 +17025,13 @@ }, { "author": "wmpmiles", - "title": "ComfyUI-GTF-Utilities", - "reference": "https://github.com/wmpmiles/ComfyUI-GTF-Utilities", + "title": "comfyui-some-image-processing-stuff", + "reference": "https://github.com/wmpmiles/comfyui-some-image-processing-stuff", "files": [ - "https://github.com/wmpmiles/ComfyUI-GTF-Utilities" + "https://github.com/wmpmiles/comfyui-some-image-processing-stuff" ], "install_type": "git-clone", - "description": "Generalised 'image' processing nodes for images, masks, latents, and combinations thereof." + "description": "Some ComfyUI nodes that provide some image-processing functionality. Resampling, Color Grading, Inpainting, ..." }, { "author": "nonnonstop", @@ -14475,13 +17066,54 @@ }, { "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": "niknah", + "title": "ComfyUI-InfiniteYou", + "reference": "https://github.com/niknah/ComfyUI-InfiniteYou", + "files": [ + "https://github.com/niknah/ComfyUI-InfiniteYou" + ], + "install_type": "git-clone", + "description": "ComfyUI custom_node for ByteDance's InfiniteYou" + }, + { + "author": "niknah", + "title": "Audio General", + "reference": "https://github.com/niknah/audio-general-ComfyUI", + "files": [ + "https://github.com/niknah/audio-general-ComfyUI" + ], + "install_type": "git-clone", + "description": "General audio nodes. Mix, Bass/Treble, Concatenate, Pitch, Add/remove silence, Speed" + }, + { + "author": "niknah", + "title": "Presentation ComfyUI", + "reference": "https://github.com/niknah/presentation-ComfyUI", + "files": [ + "https://github.com/niknah/presentation-ComfyUI" + ], + "install_type": "git-clone", + "description": "Turn ComfyUI workflow to a website UI" }, { "author": "daryltucker", @@ -14526,28 +17158,18 @@ "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", - "title": "Compositor Node", + "title": "ComfyUI-enricos-nodes", "reference": "https://github.com/erosDiffusion/ComfyUI-enricos-nodes", "files": [ "https://github.com/erosDiffusion/ComfyUI-enricos-nodes" @@ -14555,6 +17177,26 @@ "install_type": "git-clone", "description": "pass up to 8 images and visually place, rotate and scale them to build the perfect composition. group move and group rescale. remember their position and scaling value across generations to easy swap images. use the buffer zone to to park an asset you don't want to use or easily reach transformations controls" }, + { + "author": "erosDiffusion", + "title": "ComfyUI-ZImageDit", + "reference": "https://github.com/erosDiffusion/ComfyUI-ZImageDit", + "files": [ + "https://github.com/erosDiffusion/ComfyUI-ZImageDit" + ], + "install_type": "git-clone", + "description": "Unofficial diffusers integration of the official SDNQ pipeline to run in ComfyUI. (Description by CC)" + }, + { + "author": "erosDiffusion", + "title": "ComfyUI-EulerDiscreteScheduler", + "reference": "https://github.com/erosDiffusion/ComfyUI-EulerDiscreteScheduler", + "files": [ + "https://github.com/erosDiffusion/ComfyUI-EulerDiscreteScheduler" + ], + "install_type": "git-clone", + "description": "Noise Free images with Euler Discrete Scheduler in ComfyUI with Z-Image or other models" + }, { "author": "Steudio", "title": "ComfyUI Steudio", @@ -14569,9 +17211,9 @@ { "author": "Assistant", "title": "ComfyUI-PromptList", - "reference": "https://github.com/NakamuraShippo/ComfyUI-PromptList", + "reference": "https://github.com/NakamuraShippo/ComfyUI-NS-PromptList", "files": [ - "https://github.com/NakamuraShippo/ComfyUI-PromptList" + "https://github.com/NakamuraShippo/ComfyUI-NS-PromptList" ], "install_type": "git-clone", "description": "Custom node to manage prompts in YAML format." @@ -14586,6 +17228,16 @@ "install_type": "git-clone", "description": "ComfyUI-NS-ManySliders is a custom node developed for ComfyUI that allows you to manipulate values using multiple sliders. With this node, you can easily adjust numerous numerical parameters intuitively, making it useful for various purposes." }, + { + "author": "Assistant", + "title": "ComfyUI-NS-Util", + "reference": "https://github.com/NakamuraShippo/ComfyUI-NS-Util", + "files": [ + "https://github.com/NakamuraShippo/ComfyUI-NS-Util" + ], + "install_type": "git-clone", + "description": "A collection of nodes for ComfyUI. ex:A node for batch managing int, float, and string parameters with presets" + }, { "author": "nux1111", "title": "ComfyUI_NetDist_Plus", @@ -14629,6 +17281,16 @@ "install_type": "git-clone", "description": "This node can easily switch between vertical and horizontal values with a single button." }, + { + "author": "mittimi", + "title": "ComfyUI_mittimiDaisyChainText", + "reference": "https://github.com/mittimi/ComfyUI_mittimiDaisyChainText", + "files": [ + "https://github.com/mittimi/ComfyUI_mittimiDaisyChainText" + ], + "install_type": "git-clone", + "description": "It has the ability to concatenate text." + }, { "author": "RodrigoSKohl", "title": "Panoramic Image Stitcher", @@ -14639,6 +17301,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", @@ -14657,7 +17339,7 @@ "https://github.com/sakura1bgx/ComfyUI_FlipStreamViewer" ], "install_type": "git-clone", - "description": "ComfyUI_FlipStreamViewer is a tool that provides a viewer interface for flipping images with frame interpolation, allowing you to watch high-fidelity pseudo-videos without needing AnimateDiff." + "description": "ComfyUI_FlipStreamViewer is a tool that provides a customizable viewer interface for flipping images with frame interpolation." }, { "author": "ducido", @@ -14721,17 +17403,6 @@ "install_type": "git-clone", "description": "StyledCLIPTextEncode is a node that enables you to build your prompts(both postive and negative) based on the selected style. It provides up-to 77 styles currently and has been tested on SDXL and SD1.5 checkpoints. It's ported from project [a/Style Selector for SDXL 1.0](https://github.com/ahgsql/StyleSelectorXL), which is only availabe on WebUI." }, - { - "author": "Isi-dev", - "title": "ComfyUI-Img2DrawingAssistants", - "id": "Img2DrawingAssistants", - "reference": "https://github.com/Isi-dev/ComfyUI-Img2DrawingAssistants", - "files": [ - "https://github.com/Isi-dev/ComfyUI-Img2DrawingAssistants" - ], - "install_type": "git-clone", - "description": "These are ComfyUI nodes to assist in converting an image to sketches or lineArts." - }, { "author": "tianguangliu", "title": "comfyui-utools", @@ -14763,6 +17434,16 @@ "install_type": "git-clone", "description": "Huggingface Api Serverless request" }, + { + "author": "Alex Genovese", + "title": "ComfyUI UNO Nodes", + "reference": "https://github.com/alexgenovese/ComfyUI-UNO-Flux", + "files": [ + "https://github.com/alexgenovese/ComfyUI-UNO-Flux" + ], + "install_type": "git-clone", + "description": "ComfyUI UNO Nodes is a collection of nodes for ComfyUI that allows you to load and use UNO models." + }, { "author": "freelifehacker", "title": "ComfyUI-ImgMask2PNG", @@ -14826,6 +17507,37 @@ "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": "Shiba-2-shiba", + "title": "ComfyUI-Magcache-for-SDXL", + "reference": "https://github.com/Shiba-2-shiba/ComfyUI-Magcache-for-SDXL", + "files": [ + "https://github.com/Shiba-2-shiba/ComfyUI-Magcache-for-SDXL" + ], + "install_type": "git-clone", + "description": "An experimental implementation of MagCache for SDXL" + }, + { + "author": "Shiba-2-shiba", + "title": "ComfyUI-Unofficial-HSWQ-QuantizerHSWQ-Quantizer", + "reference": "https://github.com/Shiba-2-shiba/ComfyUI-Unofficial-HSWQ-QuantizerHSWQ-Quantizer", + "files": [ + "https://github.com/Shiba-2-shiba/ComfyUI-Unofficial-HSWQ-QuantizerHSWQ-Quantizer" + ], + "install_type": "git-clone", + "description": "Unofficial reference implementation of Hybrid Sensitivity Weighted Quantization (HSWQ) for ComfyUI, providing calibration and FP8 conversion nodes for model optimization." + }, { "author": "Bao Pham", "title": "ComfyUI-LyraVSIH", @@ -14847,17 +17559,6 @@ "install_type": "git-clone", "description": "Nodes:KolorsAwesomePrompts" }, - { - "author": "IuvenisSapiens", - "title": "ComfyUI_Qwen2-VL-Instruct", - "id": "qwen2-vl-instruct", - "reference": "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-VL-Instruct", - "files": [ - "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-VL-Instruct" - ], - "install_type": "git-clone", - "description": "This is an implementation of [a/Qwen2-VL-Instruct](https://github.com/QwenLM/Qwen2-VL) by [a/ComfyUI](https://github.com/comfyanonymous/ComfyUI), which includes, but is not limited to, support for text-based queries, video queries, single-image queries, and multi-image queries to generate captions or responses." - }, { "author": "Hmily", "title": "ComfyUI-Light-Tool", @@ -14869,6 +17570,28 @@ "install_type": "git-clone", "description": "An awesome light image processing tool nodes for ComfyUI." }, + { + "author": "Hmily", + "title": "comfy-deploy", + "id": "comfy-deploy", + "reference": "https://github.com/ihmily/comfy-deploy", + "files": [ + "https://github.com/ihmily/comfy-deploy" + ], + "install_type": "git-clone", + "description": "Easy deploy API for ComfyUI." + }, + { + "author": "Hmily", + "title": "ComfyUI-FitDiTx", + "id": "ComfyUI-FitDiTx", + "reference": "https://github.com/ihmily/ComfyUI-FitDiTx", + "files": [ + "https://github.com/ihmily/ComfyUI-FitDiTx" + ], + "install_type": "git-clone", + "description": "ComfyUI implementation of 'FitDiTx: Advancing the Authentic Garment Details for High-fidelity Virtual Try-on'" + }, { "author": "k-komarov", "title": "comfyui-bunny-cdn-storage", @@ -14920,7 +17643,7 @@ "https://github.com/45uee/ComfyUI-Color_Transfer" ], "install_type": "git-clone", - "description": "Postprocessing nodes that implement color palette transfer for images." + "description": "Implementation of color transfer using KMeans algorithm" }, { "author": "Phando", @@ -14960,7 +17683,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", @@ -15005,13 +17728,23 @@ "install_type": "git-clone", "description": "The implementation of the audio generation model stable-audio-open in ComfyUI enables ComfyUI to achieve text-to-audio functionality." }, + { + "author": "MoonHugo", + "title": "ComfyUI-BAGEL-Hugo", + "reference": "https://github.com/MoonHugo/ComfyUI-BAGEL-Hugo", + "files": [ + "https://github.com/MoonHugo/ComfyUI-BAGEL-Hugo" + ], + "install_type": "git-clone", + "description": "This repository encapsulates the BAGEL model as ComfyUI nodes for use, including image editing and image inversion features, but it does not include text-to-image functionality." + }, { "author": "GrenKain", "title": "PixelArt Processing Nodes", "id": "gk_pixelart", - "reference": "https://github.com/GrenKain/PixelArt-Processing-Nodes-for-ComfyUI", + "reference": "https://github.com/GENKAIx/PixelArt-Processing-Nodes-for-ComfyUI", "files": [ - "https://github.com/GrenKain/PixelArt-Processing-Nodes-for-ComfyUI" + "https://github.com/GENKAIx/PixelArt-Processing-Nodes-for-ComfyUI" ], "install_type": "git-clone", "description": "This repository provides custom nodes for ComfyUI that enable pixel art style image processing, including downscaling, upscaling, color quantization, and resolution adjustments." @@ -15026,16 +17759,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", @@ -15077,6 +17800,16 @@ "install_type": "git-clone", "description": "Custom nodes to run microsoft/Phi models." }, + { + "author": "alexisrolland", + "title": "ComfyUI-Blender", + "reference": "https://github.com/alexisrolland/ComfyUI-Blender", + "files": [ + "https://github.com/alexisrolland/ComfyUI-Blender" + ], + "install_type": "git-clone", + "description": "Blender plugin to send requests to a ComfyUI server." + }, { "author": "LatentRat", "title": "comfy_remote_run", @@ -15119,6 +17852,16 @@ "install_type": "git-clone", "description": "ComfyUI Qwen2-VL wrapper that supports text-based and single-image queries." }, + { + "author": "alexcong", + "title": "ComfyUI-SwinIR", + "reference": "https://github.com/alexcong/ComfyUI-SwinIR", + "files": [ + "https://github.com/alexcong/ComfyUI-SwinIR" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for SwinIR (Swin Transformer for Image Restoration) supporting image super-resolution and denoising." + }, { "author": "Bin-sam", "title": "DynamicPose-ComfyUI", @@ -15140,6 +17883,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", @@ -15152,14 +17906,24 @@ "description": "This is a collection of nodes created to aid when managing area conditionings." }, { - "author": "Cyber-BCat", + "author": "Cyber-BlackCat", "title": "ComfyUI_Auto_Caption", - "reference": "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption", + "reference": "https://github.com/Cyber-BlackCat/ComfyUI_Auto_Caption", "files": [ - "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption" + "https://github.com/Cyber-BlackCat/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": "Using LLM and Joy tag pipeline to tag your image(s folder), it's suitable for train FLUX LoRA and also sdxl. Load images in order!" + }, + { + "author": "Cyber-BlackCat", + "title": "ComfyUI-Image-Vector", + "reference": "https://github.com/Cyber-BlackCat/ComfyUI-Image-Vector", + "files": [ + "https://github.com/Cyber-BlackCat/ComfyUI-Image-Vector" + ], + "install_type": "git-clone", + "description": "modify the original node instruction of image vector, add ā€˜imagemagick’ which is the key base Python library of ā€˜wand’ library." }, { "author": "cr7Por", @@ -15244,7 +18008,7 @@ "https://github.com/NyaamZ/efficiency-nodes-ED" ], "install_type": "git-clone", - "description": "Expansion of Efficiency Nodes for ComfyUI. Significant UX improvements.[w/NOTE: This node requires [a/Efficiency Nodes for ComfyUI Version 2.0+](https://github.com/jags111/efficiency-nodes-comfyui) and [a/ComfyUI-Custom-Scripts](https://github.com/pythongosssss/ComfyUI-Custom-Scripts). Also, this node makes changes to user.css.]" + "description": "Expansion of Efficiency Nodes for ComfyUI. Significant UX improvements.[w/NOTE: This node requires [a/efficiency-nodes-comfyui](https://github.com/jags111/efficiency-nodes-comfyui) and [a/ComfyUI-Custom-Scripts](https://github.com/pythongosssss/ComfyUI-Custom-Scripts); it also requires start.bat to run.]" }, { "author": "NyaamZ", @@ -15257,16 +18021,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", @@ -15277,17 +18031,6 @@ "install_type": "git-clone", "description": "This repository contains a custom node for ComfyUI that pads an image to be square, filling the new pixels black." }, - { - "author": "amorano", - "title": "Cozy Link Toggle", - "id": "cozyLinkToggle", - "reference": "https://github.com/cozy-comfyui/cozy_link_toggle", - "files": [ - "https://github.com/cozy-comfyui/cozy_link_toggle" - ], - "install_type": "git-clone", - "description": "Toggle ComfyUI Graph Links On/Off from the Menu Bar. Provides an easy example on how to register and use the ComfyUI menubar extensions." - }, { "author": "revirevy", "title": "Comfyui_saveimage_imgbb", @@ -15314,6 +18057,7 @@ "title": "Image to Painting and Inspyrenet Assistant Nodes", "id": "ComfyUI-Img2PaintingAssistant", "reference": "https://github.com/Isi-dev/ComfyUI-Img2PaintingAssistant", + "reference2": "https://github.com/Isi-dev/ComfyUI_Img2PaintingAssistant", "files": [ "https://github.com/Isi-dev/ComfyUI-Img2PaintingAssistant" ], @@ -15340,6 +18084,16 @@ "install_type": "git-clone", "description": "LIST and BATCH utilities which support: create, convert, get or slice items" }, + { + "author": "godmt", + "title": "ComfyUI-IP-Composer", + "reference": "https://github.com/godmt/ComfyUI-IP-Composer", + "files": [ + "https://github.com/godmt/ComfyUI-IP-Composer" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper of IP-Composer" + }, { "author": "pedrogengo", "title": "ComfyUI-LumaAI-API", @@ -15372,6 +18126,16 @@ "install_type": "git-clone", "description": "Using IPAdapter for style consistency, the node accepts a story structured as text {prompt} text {prompt} etc. and generates a comic, saving it to /output. It also adds LLM API Request node, providing an openai compatible LLM API for generating the stories." }, + { + "author": "blob8", + "title": "ComfyUI_video-image-motion-transfer", + "reference": "https://github.com/blob8/ComfyUI_video-image-motion-transfer", + "files": [ + "https://github.com/blob8/ComfyUI_video-image-motion-transfer" + ], + "install_type": "git-clone", + "description": "Introduces a node that tries to approximate the entire video using it's first frame (that we stylize) by warping it using optical flow extracted from the video. First we do image-to-image using the reference video's first frame and a depth controlnet. The generated object doesn't have to closely resemble the reference like on the demo. Then the generated image and the video frames are fed into the node and it returns a warped video. No ai models are used by the node. The example workflow uses SDXL but you can get it to work with any arch if you manage i2i." + }, { "author": "banqingyuan", "title": "ComfyUI-text-replace", @@ -15384,14 +18148,24 @@ }, { "author": "edelvarden", - "title": "ComfyUI-ImageMetadataExtension", - "reference": "https://github.com/edelvarden/ComfyUI-ImageMetadataExtension", + "title": "comfyui_image_metadata_extension", + "reference": "https://github.com/edelvarden/comfyui_image_metadata_extension", "files": [ - "https://github.com/edelvarden/ComfyUI-ImageMetadataExtension" + "https://github.com/edelvarden/comfyui_image_metadata_extension" ], "install_type": "git-clone", "description": "Custom node for ComfyUI. It adds additional metadata for saved images, ensuring compatibility with the Civitai website." }, + { + "author": "edelvarden", + "title": "ComfyUI-Display-Value", + "reference": "https://github.com/edelvarden/ComfyUI-Display-Value", + "files": [ + "https://github.com/edelvarden/ComfyUI-Display-Value" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI to show values of primitives (str, float, int, or bool)." + }, { "author": "dfghsdh", "title": "ComfyUI_FluxPromptGen", @@ -15422,6 +18196,107 @@ "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." }, + { + "author": "silveroxides", + "title": "ComfyUI-RR-JointTagger", + "reference": "https://github.com/silveroxides/ComfyUI-RR-JointTagger", + "files": [ + "https://github.com/silveroxides/ComfyUI-RR-JointTagger" + ], + "install_type": "git-clone", + "description": "Tagger used to tag image of but not limited to furry art." + }, + { + "author": "silveroxides", + "title": "Model Utility Toolkit", + "id": "comfyui_modelutils", + "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": "silveroxides", + "title": "ComfyUI Sigmoid Offset Scheduler", + "reference": "https://github.com/silveroxides/ComfyUI_SigmoidOffsetScheduler", + "files": [ + "https://github.com/silveroxides/ComfyUI_SigmoidOffsetScheduler" + ], + "install_type": "git-clone", + "description": "Scheduler for ComfyUI and an attempt at optimized scheduler for the Chroma architecture." + }, + { + "author": "silveroxides", + "title": "ComfyUI_EmbeddingToolkit", + "reference": "https://github.com/silveroxides/ComfyUI_EmbeddingToolkit", + "files": [ + "https://github.com/silveroxides/ComfyUI_EmbeddingToolkit" + ], + "install_type": "git-clone", + "description": "Toolkit for creating embeddings for various models in ComfyUI." + }, + { + "author": "silveroxides", + "title": "ComfyUI_FDGuidance", + "reference": "https://github.com/silveroxides/ComfyUI_FDGuidance", + "files": [ + "https://github.com/silveroxides/ComfyUI_FDGuidance" + ], + "install_type": "git-clone", + "description": "An implementation of Frequency-Decoupled Guidance (FDG) in pure Pytorch." + }, + { + "author": "silveroxides", + "title": "ComfyUI Power Shift Scheduler", + "reference": "https://github.com/silveroxides/ComfyUI_PowerShiftScheduler", + "files": [ + "https://github.com/silveroxides/ComfyUI_PowerShiftScheduler" + ], + "install_type": "git-clone", + "description": "Highly customizable Scheduler for ComfyUI." + }, + { + "author": "silveroxides", + "title": "ComfyUI Gemini Expanded API", + "reference": "https://github.com/silveroxides/ComfyUI_Gemini_Expanded_API", + "files": [ + "https://github.com/silveroxides/ComfyUI_Gemini_Expanded_API" + ], + "install_type": "git-clone", + "description": "Node for usage of Gemini API" + }, + { + "author": "silveroxides", + "title": "ComfyUI_Hybrid-Scaled_fp8-Loader", + "reference": "https://github.com/silveroxides/ComfyUI_Hybrid-Scaled_fp8-Loader", + "files": [ + "https://github.com/silveroxides/ComfyUI_Hybrid-Scaled_fp8-Loader" + ], + "install_type": "git-clone", + "description": "Custom Loader for scaled_fp8 models with hybrid precision layers." + }, + { + "author": "silveroxides", + "title": "ComfyUI-PokeIndex", + "reference": "https://github.com/silveroxides/ComfyUI-PokeIndex", + "files": [ + "https://github.com/silveroxides/ComfyUI-PokeIndex" + ], + "install_type": "git-clone", + "description": "A node for randomly fetching Pokemon Infinite Fusion sprite and prompt snippet and add to your workflow." + }, + { + "author": "silveroxides", + "title": "ComfyUI-LogicMath", + "reference": "https://github.com/silveroxides/ComfyUI-LogicMath", + "files": [ + "https://github.com/silveroxides/ComfyUI-LogicMath" + ], + "install_type": "git-clone", + "description": "Utilities for Math and Logic operations." + }, { "author": "turkyden", "title": "ComfyUI-SmartCrop", @@ -15475,13 +18350,14 @@ { "author": "CRT", "title": "CRT-Nodes", - "id": "CRT-Nodes", + "id": "crt-nodes", "reference": "https://github.com/plugcrypt/CRT-Nodes", + "reference2": "https://github.com/PGCRT/CRT-Nodes", "files": [ "https://github.com/plugcrypt/CRT-Nodes" ], "install_type": "git-clone", - "description": "This set includes toggle nodes for Lora Unet blocks L1/L2 and a node to remove trailing comma from string end." + "description": "CRT-Nodes is a collection of custom nodes for ComfyUI" }, { "author": "GiusTex", @@ -15493,6 +18369,26 @@ "install_type": "git-clone", "description": "ComfyUI nodes for outpainting images with diffusers, based on [a/diffusers-image-outpaint](https://huggingface.co/spaces/fffiloni/diffusers-image-outpaint/tree/main) by fffiloni." }, + { + "author": "GiusTex", + "title": "ComfyUI-Wan-TimeToMove", + "reference": "https://github.com/GiusTex/ComfyUI-Wan-TimeToMove", + "files": [ + "https://github.com/GiusTex/ComfyUI-Wan-TimeToMove" + ], + "install_type": "git-clone", + "description": "Native ComfyUI port of kijai's WanVideo-Wrapper TimeToMove for video generation, currently supporting LCM sampler with frame generation capabilities. (Description by CC)" + }, + { + "author": "GiusTex", + "title": "ComfyUI-MoreEfficientSamplers", + "reference": "https://github.com/GiusTex/ComfyUI-MoreEfficientSamplers", + "files": [ + "https://github.com/GiusTex/ComfyUI-MoreEfficientSamplers" + ], + "install_type": "git-clone", + "description": "Advanced sampler nodes for ComfyUI based on efficiency-nodes, including live preview rendering and support for custom samplers with schedulers like flowmatch scheduler." + }, { "author": "CY-CHENYUE", "title": "ComfyUI-MiniCPM-Plus", @@ -15523,9 +18419,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", @@ -15535,8 +18431,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", @@ -15546,8 +18442,85 @@ "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" + }, + { + "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": "CY-CHENYUE", + "title": "ComfyUI-GPT-API", + "id": "ComfyUI-GPT-API", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-GPT-API", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-GPT-API" + ], + "description": "A custom node for ComfyUI to integrate GPT API.", + "install_type": "git-clone" + }, + { + "author": "CY-CHENYUE", + "title": "ComfyUI-FramePack-HY", + "id": "ComfyUI-FramePack-HY", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-FramePack-HY", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-FramePack-HY" + ], + "description": "A custom node for ComfyUI to FramePack.", + "install_type": "git-clone" + }, + { + "author": "CY-CHENYUE", + "title": "ComfyUI-ImageCompositionCy", + "id": "ComfyUI-ImageCompositionCy", + "reference": "https://github.com/CY-CHENYUE/ComfyUI-ImageCompositionCy", + "files": [ + "https://github.com/CY-CHENYUE/ComfyUI-ImageCompositionCy" + ], + "description": "A powerful ComfyUI multi-image composition node that supports real-time adjustment of image position, size, and rotation angle on an interactive Canvas, with freehand drawing capabilities and real-time preview of composition effects.", "install_type": "git-clone" }, { @@ -15571,6 +18544,16 @@ "install_type": "git-clone", "description": "Yet another set of LLM nodes for ComfyUI (for local/remote OpenAI-like APIs, multi-modal models supported)" }, + { + "author": "asaddi", + "title": "YALLM-LlamaVision", + "reference": "https://github.com/asaddi/YALLM-LlamaVision", + "files": [ + "https://github.com/asaddi/YALLM-LlamaVision" + ], + "install_type": "git-clone", + "description": "A set of nodes for basic Llama 3.2 Vision support in ComfyUI. Give it an image and query and it will output a text response." + }, { "author": "ycyy", "title": "ComfyUI-YCYY-LoraInfo", @@ -15581,6 +18564,16 @@ "install_type": "git-clone", "description": "You can use this node to get information about lora. For example trigger words, description and example images." }, + { + "author": "ycyy", + "title": "ComfyUI-YCYY-API", + "reference": "https://github.com/ycyy/ComfyUI-YCYY-API", + "files": [ + "https://github.com/ycyy/ComfyUI-YCYY-API" + ], + "install_type": "git-clone", + "description": "Freely call APIs in ComfyUI" + }, { "author": "Darth-Veitcher", "title": "Comfy DV", @@ -15592,16 +18585,26 @@ "install_type": "git-clone", "description": "Nodes: String Formatting (f-string and jinja2), Random Choice, Model Memory management, and other quality of life improvements." }, + { + "author": "Darth-Veitcher", + "title": "ComfyUI Ollama Model Manager", + "id": "comfyui-ollama-model-manager", + "reference": "https://github.com/darth-veitcher/comfyui-ollama-model-manager", + "files": [ + "https://github.com/darth-veitcher/comfyui-ollama-model-manager" + ], + "install_type": "git-clone", + "description": "Custom nodes for managing [a/Ollama](https://ollama.com/) models in ComfyUI workflows. Load and unload models on-demand to optimize memory usage in constrained environments." + }, { "author": "ez-af", "title": "ComfyUI-EZ-AF-Nodes", - "id": "ez-af", "reference": "https://github.com/ez-af/ComfyUI-EZ-AF-Nodes", "files": [ "https://github.com/ez-af/ComfyUI-EZ-AF-Nodes" ], "install_type": "git-clone", - "description": "This pack helps to conveniently control text in complex prompt-builder type workflows. Load/Read Prompts from .CSV; Concatenate large amounts of text; Use string input as ANY type. Requires pythongosssss custom scripts" + "description": "Conveniently control parts of text prompts with custom UI. Pack includes loaders from txt and csv files, dynamic text concatenation tool and easy-to-use input node" }, { "author": "danbochman", @@ -15644,16 +18647,6 @@ "install_type": "git-clone", "description": "A node that can use Nai in Comfyui" }, - { - "author": "syaofox", - "title": "ComfyUI_fnodes", - "reference": "https://github.com/syaofox/ComfyUI_fnodes", - "files": [ - "https://github.com/syaofox/ComfyUI_fnodes" - ], - "install_type": "git-clone", - "description": "ComfyUI_fnodes is a collection of custom nodes designed for ComfyUI. These nodes provide additional functionality that can enhance your ComfyUI workflows.\nFile manipulation tools, Image resizing tools, IPAdapter tools, Image processing tools, Mask tools, Face analysis tools, Sampler tools, Miscellaneous tools" - }, { "author": "guyaton", "title": "guy-nodes-comfyui", @@ -15664,16 +18657,6 @@ "install_type": "git-clone", "description": "These are designed to be custom nodes i found usefulness to that hopefully others can share." }, - { - "author": "thoddnn", - "title": "ComfyUI MLX Nodes", - "reference": "https://github.com/thoddnn/ComfyUI-MLX", - "files": [ - "https://github.com/thoddnn/ComfyUI-MLX" - ], - "install_type": "git-clone", - "description": "Faster workflows for ComfyUI users on Mac with Apple silicon" - }, { "author": "acorderob", "title": "Prompt PostProcessor", @@ -15686,24 +18669,13 @@ }, { "author": "Moooonet", - "title": "ComfyUI-ArteMoon", - "reference": "https://github.com/Moooonet/ComfyUI-ArteMoon", + "title": "ComfyUI-Align", + "reference": "https://github.com/Moooonet/ComfyUI-Align", "files": [ - "https://github.com/Moooonet/ComfyUI-ArteMoon" + "https://github.com/Moooonet/ComfyUI-Align" ], "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" + "description": "A powerful node alignment and color management plugin for ComfyUI, designed to enhance your workflow efficiency" }, { "author": "Nojahhh", @@ -15738,13 +18710,23 @@ }, { "author": "YarvixPA", - "title": "ComfyUI-NeuralMedia", - "reference": "https://github.com/YarvixPA/ComfyUI-NeuralMedia", + "title": "ComfyUI-YarvixPA", + "reference": "https://github.com/YarvixPA/ComfyUI-YarvixPA", "files": [ - "https://github.com/YarvixPA/ComfyUI-NeuralMedia" + "https://github.com/YarvixPA/ComfyUI-YarvixPA" ], "install_type": "git-clone", - "description": "A set of custom nodes modified to achieve things I felt were missing." + "description": "A set of custom nodes that simplify things." + }, + { + "author": "AcademiaSD", + "title": "comfyui_AcademiaSD", + "reference": "https://github.com/AcademiaSD/comfyui_AcademiaSD", + "files": [ + "https://github.com/AcademiaSD/comfyui_AcademiaSD" + ], + "install_type": "git-clone", + "description": "Official set of custom nodes of AcademiaSD." }, { "author": "SpenserCai", @@ -15767,6 +18749,16 @@ "install_type": "git-clone", "description": "Custom node for integrating with gadzoinks iPhone app" }, + { + "author": "GadzoinksOfficial", + "title": "Gprompts", + "reference": "https://github.com/GadzoinksOfficial/comfyui_gprompts", + "files": [ + "https://github.com/GadzoinksOfficial/comfyui_gprompts" + ], + "install_type": "git-clone", + "description": "Another dynamic prompt node, designed to be easy to use and support wildcards" + }, { "author": "educator-art", "title": "ComfyUI-Load-DirectoryFiles", @@ -15777,6 +18769,16 @@ "install_type": "git-clone", "description": "This node loads prompts (txt) and images (png) from a specified directory. By specifying an index, it outputs the selected file." }, + { + "author": "educator-art", + "title": "ComfyUI-gpt-oss-PromptDesigner", + "reference": "https://github.com/educator-art/ComfyUI-gpt-oss-PromptDesigner", + "files": [ + "https://github.com/educator-art/ComfyUI-gpt-oss-PromptDesigner" + ], + "install_type": "git-clone", + "description": "Using the ollama gpt-oss:20b model, a prompt is generated. The user enters the desired theme into a custom node and runs it, and the model outputs a Stable Diffusion prompt. This is useful when you want the model to handle prompt creation for you." + }, { "author": "raysers", "title": "Mflux-ComfyUI", @@ -15827,16 +18829,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", @@ -15845,7 +18837,37 @@ "https://github.com/SS-snap/ComfyUI-Snap_Processing" ], "install_type": "git-clone", - "description": "preprocessing images, presented in a visual way. It also calculates the corresponding image area." + "description": "The custom Snap processing node has been converted for ComfyUI production. It currently includes a simple PyQt5 interactive interface as well as practical nodes for basic operations like area calculation.." + }, + { + "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": "This node is used to enhance image details. We can add a latent space image and introduce any amount of noise. Then, we can start denoising at any timestep. This allows us to add more details to the image while maintaining overall consistency as much as possible." + }, + { + "author": "SSsnap", + "title": "Comfyui_SSsnap_pose-Remapping", + "reference": "https://github.com/SS-snap/Comfyui_SSsnap_pose-Remapping", + "files": [ + "https://github.com/SS-snap/Comfyui_SSsnap_pose-Remapping" + ], + "install_type": "git-clone", + "description": "A pose remapping node with support for joint locking, motion-aware scaling, and optional easing - perfect for animation refinement and mech rig control." }, { "author": "RiceRound", @@ -15858,6 +18880,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", @@ -15866,7 +18899,7 @@ "https://github.com/yvann-ba/ComfyUI_Yvann-Nodes" ], "install_type": "git-clone", - "description": "Audio reactivity nodes for AI animations šŸ”Š Analyze audio, extract drums and vocals. Generate reactive masks and weights. Create audio-driven visuals. Produce weight graphs and audio masks. Compatible with IPAdapter, ControlNets and more. Features audio scheduling and waveform analysis. Tutorials to use this pack: [a/Yvann Youtube](https://www.youtube.com/@yvann.mp4)" + "description": "Audio Reactive nodes for AI animations šŸ”Š Analyze audio, extract drums, bass, vocals. Compatible with IPAdapter, ControlNets, AnimateDiff... Generate reactive masks and weights. Create audio-driven visuals. Produce weight graphs and audio masks. Ideal for music videos and reactive animations. Features audio scheduling and waveform analysis" }, { "author": "Playbook", @@ -15890,7 +18923,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": [ @@ -15899,6 +18932,69 @@ "install_type": "git-clone", "description": "Implementation of Fast Fourier Transform in COMFYUI" }, + { + "author": "LAOGOU-666", + "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": "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": "LAOGOU-666", + "title": "Comfyui-Memory_Cleanup", + "id": "comfyui_memory_cleanup", + "reference": "https://github.com/LAOGOU-666/Comfyui-Memory_Cleanup", + "files": [ + "https://github.com/LAOGOU-666/Comfyui-Memory_Cleanup" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that provides nodes for memory cleanup, including VRAM and RAM cleanup functions to optimize ComfyUI performance during long running workflows." + }, + { + "author": "LAOGOU-666", + "title": "Comfyui-LG_GroupExecutor", + "id": "comfyui_lg_groupexecutor", + "reference": "https://github.com/LAOGOU-666/Comfyui-LG_GroupExecutor", + "files": [ + "https://github.com/LAOGOU-666/Comfyui-LG_GroupExecutor" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension for controlling and managing node group execution flow. Features include single/multiple group execution, delay control, signal chaining, and execution list repetition processing." + }, + { + "author": "LAOGOU-666", + "title": "Comfyui_LG_Tools", + "reference": "https://github.com/LAOGOU-666/Comfyui_LG_Tools", + "files": [ + "https://github.com/LAOGOU-666/Comfyui_LG_Tools" + ], + "install_type": "git-clone", + "description": "This is a toolset designed for ComfyUI by LAOGOU-666, providing a series of practical image processing and operation nodes, making our operation more intuitive and convenient" + }, + { + "author": "LAOGOU-666", + "title": "ComfyUI-LG_SamplingUtils", + "reference": "https://github.com/LAOGOU-666/ComfyUI-LG_SamplingUtils", + "files": [ + "https://github.com/LAOGOU-666/ComfyUI-LG_SamplingUtils" + ], + "install_type": "git-clone", + "description": "This is a toolset designed for ComfyUI by LAOGOU-666, providing a series of practical sampling nodes, making our operation more intuitive and convenient" + }, { "author": "VertexStudio", "title": "roblox-comfyui-nodes", @@ -15920,27 +19016,6 @@ "install_type": "git-clone", "description": "Implementation of PMRF on ComfyUI" }, - { - "author": "dionren", - "title": "Export Workflow With Cyuai Api Available Nodes", - "id": "comfyUI-Pro-Export-Tool", - "reference": "https://github.com/dionren/ComfyUI-Pro-Export-Tool", - "files": [ - "https://github.com/dionren/ComfyUI-Pro-Export-Tool" - ], - "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", @@ -15991,6 +19066,16 @@ "install_type": "git-clone", "description": "A custom node designed for ComfyUI, allowing users to format the current date and time based on a specified format." }, + { + "author": "Q-Bug4", + "title": "comfyui-qbug-batch", + "reference": "https://github.com/Q-Bug4/comfyui-qbug-batch", + "files": [ + "https://github.com/Q-Bug4/comfyui-qbug-batch" + ], + "install_type": "git-clone", + "description": "ComfyUI Batch Toolkit: Custom nodes that simplify batch operations and improve efficiency." + }, { "author": "bartly", "title": "Babel Removebg Api Node for ComfyUI", @@ -16013,6 +19098,28 @@ "install_type": "git-clone", "description": "Convert your workflows into node and chain them." }, + { + "author": "NumZ", + "title": "ComfyUI-Orpheus", + "id": "OrpheusNode", + "reference": "https://github.com/numz/Comfyui-Orpheus", + "files": [ + "https://github.com/numz/Comfyui-Orpheus" + ], + "install_type": "git-clone", + "description": "TTS with emotional speech capabilities in 8 Languages 24 speakers." + }, + { + "author": "NumZ", + "title": "ComfyUI-SeedVR2_VideoUpscaler", + "id": "SeedVR2_VideoUpscaler", + "reference": "https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler", + "files": [ + "https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler" + ], + "install_type": "git-clone", + "description": "Welcome to the ComfyUI-SeedVR2 Video Upscaler repository! This project offers a non-official video upscaling tool designed specifically for ComfyUI. With this tool, you can enhance your video quality, making your visual content more engaging and clearer." + }, { "author": "SozeInc", "title": "Quality of Life Nodes for ComfyUI", @@ -16042,7 +19149,7 @@ "https://github.com/robertvoy/ComfyUI-Flux-Continuum" ], "install_type": "git-clone", - "description": "Set of custom nodes to use with the ComfyUI Flux Continuum: Modular Interface. NODES: Text Versions, Image64 Display, Tabs, Step Slider, Denoise Slider, Guidance Slider, Batch Slider, Max Shift Slider, ControlNet Slider" + "description": "Set of custom nodes to use with the ComfyUI Flux Continuum: Modular Interface. NODES: Text Versions, Image64 Display, Tabs, Step Slider, Denoise Slider, Guidance Slider, Batch Slider, Max Shift Slider, ControlNet Slider and more" }, { "author": "Lam Yan", @@ -16076,14 +19183,34 @@ "description": "NODES:Google Translate" }, { - "author": "BlackVortexAI", - "title": "BV Nodes", - "reference": "https://github.com/BlackVortexAI/ComfyUI-BVortexNodes", + "author": "sweetndata", + "title": "ComfyUI-Image-Harmonizer", + "reference": "https://github.com/sweetndata/ComfyUI-Image-Harmonizer", "files": [ - "https://github.com/BlackVortexAI/ComfyUI-BVortexNodes" + "https://github.com/sweetndata/ComfyUI-Image-Harmonizer" ], "install_type": "git-clone", - "description": "This repository contains a user-defined node for ComfyUI, currently there are nodes for capturing captions. But will be expanded in the future." + "description": "NODES:Image-Harmonizer" + }, + { + "author": "sweetndata", + "title": "ComfyUI_Sticker_Compositer", + "reference": "https://github.com/sweetndata/ComfyUI_Sticker_Compositer", + "files": [ + "https://github.com/sweetndata/ComfyUI_Sticker_Compositer" + ], + "install_type": "git-clone", + "description": "NODES:Sticker Compositer.\nbackground frame + sticker" + }, + { + "author": "BlackVortexAI", + "title": "BV Node Pack", + "reference": "https://github.com/BlackVortexAI/bv_nodepack", + "files": [ + "https://github.com/BlackVortexAI/bv_nodepack" + ], + "install_type": "git-clone", + "description": "A ComfyUI node pack with utility and workflow nodes: a flexible config-driven Pipe system plus Subgraph-friendly UI nodes (Heading, Spacer, Divider) with dynamic JavaScript rendering." }, { "author": "JosephThomasParker", @@ -16109,11 +19236,12 @@ "author": "taches-ai", "title": "ComfyUI Scene Composer", "reference": "https://github.com/taches-ai/comfyui-scene-composer", + "reference2": "https://github.com/mus-taches/comfyui-scene-composer", "files": [ "https://github.com/taches-ai/comfyui-scene-composer" ], "install_type": "git-clone", - "description": "A collection of nodes to facilitate the creation of scenes in ComfyUI." + "description": "A collection of nodes to facilitate the creation of explicit NSFW scenes in ComfyUI." }, { "author": "NguynHungNguyen", @@ -16135,7 +19263,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", @@ -16154,7 +19282,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", @@ -16181,14 +19309,24 @@ "author": "AhBumm", "title": "Customizable API Call Nodes by BillBum", "id": "billbum", - "reference": "https://github.com/AhBumm/ComfyUI_BillBum_Nodes", + "reference": "https://github.com/AhBumm/ComfyUI_BillBum_APIset_Nodes", "files": [ - "https://github.com/AhBumm/ComfyUI_BillBum_Nodes" + "https://github.com/AhBumm/ComfyUI_BillBum_APIset_Nodes" ], "nodename_pattern": "\\(BillBum\\)$", "install_type": "git-clone", "description": "API call node for Third-party platforms both official and local. Support VLMs LLMs Dalle3 Flux-Pro SD3 etc. And some little tools: img to b64 url, b64 url to img, b64 url to b64 data, reg text to word and ',' only, etc." }, + { + "author": "AhBumm", + "title": "ComfyUI_UnfakePy_Warpper", + "reference": "https://github.com/AhBumm/ComfyUI_UnfakePy_Warpper", + "files": [ + "https://github.com/AhBumm/ComfyUI_UnfakePy_Warpper" + ], + "install_type": "git-clone", + "description": "Warp Unfake.py for ComfyUI" + }, { "author": "Scepter", "title": "ComfyUI-Scepter", @@ -16204,9 +19342,9 @@ "author": "DeemosTech", "title": "ComfyUI-Rodin", "id": "rodinHyperhuamn", - "reference": "https://github.com/Ravenmelt/ComfyUI-Rodin", + "reference": "https://github.com/DeemosTech/ComfyUI-Rodin", "files": [ - "https://github.com/Ravenmelt/ComfyUI-Rodin" + "https://github.com/DeemosTech/ComfyUI-Rodin" ], "install_type": "git-clone", "description": "Comfyui-rodin is a 3D generation extension based on Rodin-API. It provides many of the functionality nodes currently available in RodinAPI and It provides a 3D preview node for ComfyUI." @@ -16232,6 +19370,16 @@ "install_type": "git-clone", "description": "This repository is a quick port of [a/Resynthesizer](https://github.com/bootchk/resynthesizer) to ComfyUI.\nResynthesizer is the open-source implementation of a texture generation technique proposed by Paul Harrison in 2005, especially useful for removing an object from an image (inpainting), which is most likely close to what Photoshop uses to for the content aware fill feature. Note that this is not using a diffusion model to inpaint, as opposed to many techniques of today, which makes it very fast and predictable, but sometimes yields worse results." }, + { + "author": "brayevalerien", + "title": "ComfyUI-splitstring", + "reference": "https://github.com/brayevalerien/ComfyUI-SplitString", + "files": [ + "https://github.com/brayevalerien/ComfyUI-SplitString" + ], + "install_type": "git-clone", + "description": "Very specific node for spliting a string with 12 lines into 12 individual strings.k" + }, { "author": "BZcreativ", "title": "ComfyUI-FLUX-TOGETHER-API", @@ -16302,6 +19450,16 @@ "install_type": "git-clone", "description": "Qwen2 Nodes for ComfyUI.\nI needed to run Qwen2 on ComfyUI to use it in my workflow for batching images and captioning and none of the implementations I found on the web worked the way I wanted.[w/May contain bugs.]" }, + { + "author": "ARZUMATA", + "title": "ComfyUI-ARZUMATA-PixelIt", + "reference": "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-PixelIt", + "files": [ + "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-PixelIt" + ], + "install_type": "git-clone", + "description": "A python port of pixelit by giventofly." + }, { "author": "Rinsanga1", "title": "comfyui-florence2xy", @@ -16345,17 +19503,6 @@ "install_type": "git-clone", "description": "Nodes: Load External LoRA Model Only" }, - { - "author": "Apache0ne", - "title": "ComfyUI-EasyUrlLoader", - "id": "easy-url-loader", - "reference": "https://github.com/Apache0ne/ComfyUI-EasyUrlLoader", - "files": [ - "https://github.com/Apache0ne/ComfyUI-EasyUrlLoader" - ], - "install_type": "git-clone", - "description": "Simple 4k YT Downloader Through URL" - }, { "author": "TZOOTZ", "title": "TZOOTZ VHS Effect Node", @@ -16386,7 +19533,7 @@ "https://github.com/Isulion/ComfyUI_Isulion" ], "install_type": "git-clone", - "description": "ComfyUI Nodes that generate prompts with the help of LLM from local or remote Ollama." + "description": "ComfyUI Nodes that generate prompts and many more." }, { "author": "sneccc", @@ -16396,27 +19543,68 @@ "https://github.com/sneccc/comfyui-snek-nodes" ], "install_type": "git-clone", - "description": "NODES:Aesthetics, Aesthetics V2, Load AI Toolkit Latent Flux, Send_to_Eagle" + "description": "NODES:Aesthetics, Aesthetics V2, Load AI Toolkit Latent Flux, Send_to_Eagle, Snek SQLite Prompt Logger" }, { - "author": "mithamunda", - "title": "OllamaKiller Node for ComfyUI", - "reference": "https://github.com/mithamunda/ComfyUI-ollama_killer", + "author": "theshubzworld", + "title": "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." + "description": "OllamaKiller is a cross-platform utility node for ComfyUI that automatically manages Ollama processes (`ollama.exe` on Windows, `ollama` on macOS/Linux). It helps free up VRAM by terminating Ollama processes after model execution, improving workflow performance and memory management. Features include graceful process termination, detailed status reporting, and seamless text passthrough." }, { - "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." + "description": "A universal node for generating empty latent tensors with support for SD3.5, SDXL, and Flux models. Features extended aspect ratio support, batch processing, and flexible dimension overrides." + }, + { + "author": "theshubzworld", + "title": "Together Vision Node", + "id": "comfyui_together_vision", + "reference": "https://github.com/theshubzworld/ComfyUI-TogetherVision", + "files": [ + "https://github.com/theshubzworld/ComfyUI-TogetherVision" + ], + "install_type": "git-clone", + "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": "theshubzworld", + "title": "ComfyUI-FaceCalloutNode", + "reference": "https://github.com/theshubzworld/ComfyUI-FaceCalloutNode", + "files": [ + "https://github.com/theshubzworld/ComfyUI-FaceCalloutNode" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that provide advanced face callout, annotation, and compositing effects using OpenCV and PIL. These nodes are designed for image processing workflows that require face detection, annotation, and creative compositing." + }, + { + "author": "theshubzworld", + "title": "ComfyUI-NvidiaCaptioner", + "reference": "https://github.com/theshubzworld/ComfyUI-NvidiaCaptioner", + "files": [ + "https://github.com/theshubzworld/ComfyUI-NvidiaCaptioner" + ], + "install_type": "git-clone", + "description": "A ComfyUI node for generating rich, detailed captions for images using NVIDIA's vision models. Supports batch processing, multiple captioning styles, and includes built-in caching for efficient workflows." + }, + { + "author": "theshubzworld", + "title": "ComfyUI-Universal-Latent", + "reference": "https://github.com/theshubzworld/ComfyUI-Universal-Latent", + "files": [ + "https://github.com/theshubzworld/ComfyUI-Universal-Latent" + ], + "install_type": "git-clone", + "description": "Enhanced empty latent node with extended aspect ratio support for ComfyUI" }, { "author": "jeffrey2212", @@ -16456,7 +19644,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", @@ -16500,14 +19688,14 @@ "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": "raspie10032", - "title": "ComfyUI NAI Prompt Converter", - "reference": "https://github.com/raspie10032/ComfyUI_RS_NAI_Local_Prompt_converter", + "author": "lgldlk", + "title": "ComfyUI-PSD-Replace", + "reference": "https://github.com/lgldlk/ComfyUI-PSD-Replace", "files": [ - "https://github.com/raspie10032/ComfyUI_RS_NAI_Local_Prompt_converter" + "https://github.com/lgldlk/ComfyUI-PSD-Replace" ], "install_type": "git-clone", - "description": "A custom node extension for ComfyUI that enables conversion between NovelAI and ComfyUI prompt formats, along with extraction of NovelAI metadata from PNG images." + "description": "One click replacement of smart objects or layers in PSD" }, { "author": "Wakfull33", @@ -16540,17 +19728,6 @@ "install_type": "git-clone", "description": "Node to process negative wildcard tokens () and move them from the positive prompt to the negative." }, - { - "author": "Apache0ne", - "title": "SambaNova", - "id": "SambaNovaAPI", - "reference": "https://github.com/Apache0ne/SambaNova", - "files": [ - "https://github.com/Apache0ne/SambaNova" - ], - "install_type": "git-clone", - "description": "Super Fast LLM's llama3.1-405B,70B,8B and more" - }, { "author": "catboxanon", "title": "comfyui_stealth_pnginfo", @@ -16602,6 +19779,17 @@ "install_type": "git-clone", "description": "A general extension to utilize TIPO or DanTagGen to do 'text-presampling' based on KGen library: [a/https://github.com/KohakuBlueleaf/KGen](https://github.com/KohakuBlueleaf/KGen)" }, + { + "author": "KohakuBlueleaf", + "title": "HDM-ext", + "id": "HDM", + "reference": "https://github.com/KohakuBlueleaf/HDM-ext", + "files": [ + "https://github.com/KohakuBlueleaf/HDM-ext" + ], + "install_type": "git-clone", + "description": "HDM model loader for ComfyUI" + }, { "author": "hanoixan", "title": "ComfyUI DataBeast", @@ -16623,15 +19811,15 @@ "description": "This repository is the official implementation of the [a/HelloMeme](https://arxiv.org/pdf/2410.22901) ComfyUI interface, featuring both image and video generation functionalities. Example workflow files can be found in the ComfyUI_HelloMeme/workflows directory. Test images and videos are saved in the ComfyUI_HelloMeme/examples directory. Below are screenshots of the interfaces for image and video generation.\nNOTE: 'HelloMeme: Integrating Spatial Knitting Attentions to Embed High-Level and Fidelity-Rich Conditions in Diffusion Models'" }, { - "author": "nkrcrft", + "author": "recraftai", "title": "ComfyUI-RecraftAI", - "id": "recraftai", + "id": "comfyui-recraftai", "reference": "https://github.com/recraft-ai/ComfyUI-RecraftAI", "files": [ "https://github.com/recraft-ai/ComfyUI-RecraftAI" ], "install_type": "git-clone", - "description": "Recraft AI official ComfyUI custom nodes. Recraft V3 (code-named red_panda) is a text-to-image model with the ability to generate long texts, images in a wide list of styles, including custom brand styles." + "description": "Recraft AI API Custom Nodes" }, { "author": "basix", @@ -16646,7 +19834,7 @@ }, { "author": "Frost Ming", - "title": "Comfy Pack", + "title": "Comfy-Pack", "reference": "https://github.com/bentoml/comfy-pack", "files": [ "https://github.com/bentoml/comfy-pack" @@ -16664,17 +19852,6 @@ "description": "ComfyUI custom_node that publish output image to rabbit_mq", "install_type": "git-clone" }, - { - "author": "Blonicx", - "title": "ComfyUI-Rework-X", - "id": "rework-x", - "reference": "https://github.com/Blonicx/ComfyUI-X-Rework", - "files": [ - "https://github.com/Blonicx/ComfyUI-X-Rework" - ], - "install_type": "git-clone", - "description": "This is a plugin for ComfyUI that adds new Util Nodes and makes Lora training in ComfyUI abel. Except that it adds a new Features for Images." - }, { "author": "1zhangyy1", "title": "ComfyUI VIDU", @@ -16687,14 +19864,24 @@ }, { "author": "LevelPixel", - "title": "ComfyUI_LevelPixel", - "id": "levelpixel", + "title": "ComfyUI Level Pixel", "reference": "https://github.com/LevelPixel/ComfyUI-LevelPixel", "files": [ "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": "Main nodes of the Level Pixel company (aka levelpixel, LP). Includes convenient nodes for working with images from folders; counting files in a folder; cleaning memory; tag filters. Model Unloader, LLM Unloader, 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": "LevelPixel", + "title": "ComfyUI Level Pixel Advanced", + "id": "comfyui-levelpixel-advanced", + "reference": "https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced", + "files": [ + "https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced" + ], + "install_type": "git-clone", + "description": "Advanced nodes of the Level Pixel company (levelpixel, LP). Includes convenient advanced nodes for working with LLM Šø VLM models (LLaVa) with GGUF format. Qwen2.5-VL and Qwen2.5 supported. Also included is a node for the RAM model. Nodes have the ability to automatically unload models from VRAM." }, { "author": "morino-kumasan", @@ -16703,8 +19890,8 @@ "files": [ "https://github.com/morino-kumasan/comfyui-toml-prompt" ], - "description": "Encode Prompt in TOML for ComfyUI.", - "install_type": "git-clone" + "install_type": "git-clone", + "description": "Encode Prompt in TOML for ComfyUI." }, { "author": "wentao-uw", @@ -16757,26 +19944,6 @@ "install_type": "git-clone", "description": "We developed a custom_node for Liveportrait_v3 that enables flexible use on Comfyui to drive image-based emoji generation from photos." }, - { - "author": "wTechArtist", - "title": "ComfyUI-StableDelight-weiweiliang", - "reference": "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang", - "files": [ - "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang" - ], - "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", @@ -16788,16 +19955,6 @@ "install_type": "git-clone", "description": "Custom nodes for ComfyUI by Comflowy." }, - { - "author": "akspa0", - "title": "ComfyUI-FapMixPlus", - "reference": "https://github.com/akspa0/ComfyUI-FapMixPlus", - "files": [ - "https://github.com/akspa0/ComfyUI-FapMixPlus" - ], - "install_type": "git-clone", - "description": "This is an audio processing script that applies soft limiting, optional loudness normalization, and optional slicing for transcription. It can also produce stereo-mixed outputs with optional audio appended to the end. The script organizes processed files into structured folders with sanitized filenames and retains original timestamps for continuity." - }, { "author": "troyxmccall", "title": "ComfyUI-ScaleToTargetMegapixels", @@ -16828,17 +19985,6 @@ "install_type": "git-clone", "description": "The PonySwitch node is a custom node for ComfyUI that modifies prompts based on a toggle switch and adds configurable pony tags." }, - { - "author": "Isi-dev", - "title": "ComfyUI-Animation_Nodes_and_Workflows", - "id": "ComfyUI-Animation_Nodes_and_Workflows", - "reference": "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows", - "files": [ - "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows" - ], - "install_type": "git-clone", - "description": "These are nodes and workflows that can facilitate the creation of animations and video compilations." - }, { "author": "LatentSpaceDirective", "title": "ComfyUI-Texturaizer", @@ -16861,16 +20007,36 @@ "description": "Implements proper multitouch zooming and panning into ComfyUI to make it more usable on mobile devices." }, { - "author": "phazei", - "title": "Prompt Stash Saver Node for ComfyUI", - "id": "stash-saver", - "reference": "https://github.com/phazei/ConfyUI-node-prompt-stash-saver", + "author": "Lasse Lauwerys", + "title": "Touchpad and trackpad gesture support", + "reference": "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures", "files": [ - "https://github.com/phazei/ConfyUI-node-prompt-stash-saver" + "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", + "id": "ComfyUI-Prompt-Stash", + "reference": "https://github.com/phazei/ComfyUI-Prompt-Stash", + "files": [ + "https://github.com/phazei/ComfyUI-Prompt-Stash" ], "install_type": "git-clone", "description": "Prompt Stash is a simple plugin for ComfyUI that lets you save your prompts and organize them into multiple lists. It also features a pass-through functionality, so you can hook it up to an LLM node (or any text outputting node) and capture its outputs directly." }, + { + "author": "phazei", + "title": "ComfyUI-OrpheusTTS-LMStudio", + "reference": "https://github.com/phazei/ComfyUI-OrpheusTTS-LMStudio", + "files": [ + "https://github.com/phazei/ComfyUI-OrpheusTTS-LMStudio" + ], + "install_type": "git-clone", + "description": "Generate Orpheus TTS audio via LM Studio" + }, { "author": "Doctor Diffusion", "title": "Schedulizer", @@ -16894,7 +20060,7 @@ "description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one." }, { - "author": "DoctorDiffusion", + "author": "Doctor Diffusion", "title": "ComfyUI-SnakeOil", "reference": "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil", "files": [ @@ -16903,6 +20069,26 @@ "install_type": "git-clone", "description": "Use [a/Doctor Diffusion's snake oil nLoRAs](https://civitai.com/models/987843) as well as [a/other negative LoRAs](https://civitai.com/models/186617/doctor-diffusions-negative-xl-lora) easily within ComfyUI." }, + { + "author": "Doctor Diffusion", + "title": "ComfyUI BEN - Background Erase Network", + "reference": "https://github.com/DoctorDiffusion/ComfyUI-BEN", + "files": [ + "https://github.com/DoctorDiffusion/ComfyUI-BEN" + ], + "install_type": "git-clone", + "description": "Remove backgrounds from images with [a/BEN](https://huggingface.co/PramaLLC/BEN) in ComfyUI" + }, + { + "author": "Doctor Diffusion", + "title": "ComfyUI-basic-pitch", + "reference": "https://github.com/DoctorDiffusion/ComfyUI-basic-pitch", + "files": [ + "https://github.com/DoctorDiffusion/ComfyUI-basic-pitch" + ], + "install_type": "git-clone", + "description": "Audio to midi functionality within ComfyUI" + }, { "author": "robtl2", "title": "ComfyUI-ComfyBridge", @@ -16933,6 +20119,36 @@ "install_type": "git-clone", "description": "ComfyUI supports over [a/rhymes-ai/Allegro](https://huggingface.co/rhymes-ai/Allegro), which uses text prompt to generate short video in relatively high quality, especially comparing to other open source solutions available for now." }, + { + "author": "bombax-xiaoice", + "title": "ComfyUI-Open-Sora-I2V", + "reference": "https://github.com/bombax-xiaoice/ComfyUI-Open-Sora-I2V", + "files": [ + "https://github.com/bombax-xiaoice/ComfyUI-Open-Sora-I2V" + ], + "install_type": "git-clone", + "description": "Another comfy implementation for the short video generation project hpcaitech/Open-Sora, supporting latest V2 and V3 models as well as image to video functions, etc." + }, + { + "author": "bombax-xiaoice", + "title": "ComfyUI-OpenSoraPlan", + "reference": "https://github.com/bombax-xiaoice/ComfyUI-OpenSoraPlan", + "files": [ + "https://github.com/bombax-xiaoice/ComfyUI-OpenSoraPlan" + ], + "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", @@ -16954,6 +20170,17 @@ "install_type": "git-clone", "description": "ComfyUI nodes for editing background of images/videos with CUDA acceleration support." }, + { + "author": "yondonfu", + "title": "ComfyUI-Torch-Compile", + "id": "comfyui-torch-compile", + "reference": "https://github.com/yondonfu/ComfyUI-Torch-Compile", + "files": [ + "https://github.com/yondonfu/ComfyUI-Torch-Compile" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for torch.compile." + }, { "author": "GorillaFrame", "title": "GFrbmg2", @@ -16962,13 +20189,14 @@ "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", "title": "ComfyUI_DeployCash", "id": "ComfyUI_DeployCash", "reference": "https://github.com/jacklukai/ComfyUI_DeployCash", + "reference2": "https://github.com/DeployAI365/ComfyUI_DeployCash", "files": [ "https://github.com/jacklukai/ComfyUI_DeployCash" ], @@ -17039,12 +20267,22 @@ { "author": "c0ffymachyne", "title": "ComfyUI Signal Processing", - "reference": "https://github.com/c0ffymachyne/ComfyUI_SingalProcessing", + "reference": "https://github.com/c0ffymachyne/ComfyUI_SignalProcessing", "files": [ - "https://github.com/c0ffymachyne/ComfyUI_SingalProcessing" + "https://github.com/c0ffymachyne/ComfyUI_SignalProcessing" ], "install_type": "git-clone", - "description": "NODES:SignalProcessingPaulStretch, SignalProcessingPadSynth, SignalProcessingFilter, SignalProcessingLoadAudio.\nThis repo contains 4 nodes for ComfyUI that allows for audio filtering" + "description": "Audio processing nodes for comfyui." + }, + { + "author": "c0ffymachyne", + "title": "Bytebeat Synthesizer: Composing with Operators", + "reference": "https://github.com/c0ffymachyne/ComfyUI_BeatByte", + "files": [ + "https://github.com/c0ffymachyne/ComfyUI_BeatByte" + ], + "install_type": "git-clone", + "description": "Bytebeat is like composing music with the tools of a programmer’s toolkit. Instead of piano keys, you have operators like >>, |, and &. It’s like giving your CPU a guitar and letting it shred! 🤘" }, { "author": "liuqianhonga", @@ -17076,12 +20314,22 @@ "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", - "reference": "https://github.com/rubi-du/ComfyUI-BiRefNet-lite", + "reference": "https://github.com/rubi-du/ComfyUI-BiRefNet-Super", "files": [ - "https://github.com/rubi-du/ComfyUI-BiRefNet-lite" + "https://github.com/rubi-du/ComfyUI-BiRefNet-Super" ], "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." @@ -17106,6 +20354,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", @@ -17117,25 +20375,125 @@ "description": "A ComfyUI custom node that converts prompts between different AI image generation models." }, { - "author": "tanglup", + "author": "yichengup", "title": "Comfyui-Ycanvas", - "reference": "https://github.com/tanglup/Comfyui-Ycnode", + "reference": "https://github.com/yichengup/Comfyui-Ycanvas", "files": [ - "https://github.com/tanglup/Comfyui-Ycnode" + "https://github.com/yichengup/Comfyui-Ycanvas" ], "install_type": "git-clone", "description": "NODES:Canvas View" }, { - "author": "tanglup", - "title": "Comfyui_Flux_Style_Adjust", - "reference": "https://github.com/tanglup/Comfyui_Flux_Style_Adjust", + "author": "yichengup", + "title": "Comfyui_Flux_Style_Adjust (Redux)", + "reference": "https://github.com/yichengup/Comfyui_Flux_Style_Adjust", "files": [ - "https://github.com/tanglup/Comfyui_Flux_Style_Adjust" + "https://github.com/yichengup/Comfyui_Flux_Style_Adjust" ], "install_type": "git-clone", "description": "StyleModelApply adds more controls" }, + { + "author": "yichengup", + "title": "Comfyui_Redux_Advanced", + "reference": "https://github.com/yichengup/Comfyui_Redux_Advanced", + "files": [ + "https://github.com/yichengup/Comfyui_Redux_Advanced" + ], + "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-face-liquify", + "reference": "https://github.com/yichengup/comfyui-face-liquify", + "files": [ + "https://github.com/yichengup/comfyui-face-liquify" + ], + "install_type": "git-clone", + "description": "video face liquefaction" + }, + { + "author": "yichengup", + "title": "ComfyUI-LinearTransition", + "reference": "https://github.com/yichengup/ComfyUI-LinearTransition", + "files": [ + "https://github.com/yichengup/ComfyUI-LinearTransition" + ], + "install_type": "git-clone", + "description": "This is a custom node designed for ComfyUI to create transition effects between two images and generate a sequence of video frames." + }, + { + "author": "yichengup", + "title": "ComfyUI_SwiftCut", + "reference": "https://github.com/yichengup/ComfyUI_SwiftCut", + "files": [ + "https://github.com/yichengup/ComfyUI_SwiftCut" + ], + "install_type": "git-clone", + "description": "A simple ComfyUI plugin that Its purpose and function is to replicate some of the editing effects of capcut,jianying and pr." + }, + { + "author": "yichengup", + "title": "ComfyUI-VideoTransition", + "reference": "https://github.com/yichengup/ComfyUI-VideoTransition", + "files": [ + "https://github.com/yichengup/ComfyUI-VideoTransition" + ], + "install_type": "git-clone", + "description": "A video transition effects plugin implemented using a Chromium headless browser and Python." + }, + { + "author": "yichengup", + "title": "ComfyUI-YCNodes_Toolkit", + "reference": "https://github.com/yichengup/ComfyUI-YCNodes_Toolkit", + "files": [ + "https://github.com/yichengup/ComfyUI-YCNodes_Toolkit" + ], + "install_type": "git-clone", + "description": "ComfyUI toolkit with custom nodes for BBox canvas visualization, image brush mask drawing, and coordinate annotation for debugging and external data bridging. (Description by CC)" + }, + { + "author": "yichengup", + "title": "ComfyUI-gaussian_preview", + "reference": "https://github.com/yichengup/ComfyUI-gaussian_preview", + "files": [ + "https://github.com/yichengup/ComfyUI-gaussian_preview" + ], + "install_type": "git-clone", + "description": "Preview and record 3D Gaussian splatting models with interactive 3D rendering and video export. (Description by CC)" + }, { "author": "Horizon Team", "title": "ComfyUI_FluxMod", @@ -17145,12 +20503,12 @@ "https://github.com/lodestone-rock/ComfyUI_FluxMod" ], "install_type": "git-clone", - "description": "A modulation layer addon for Flux that reduces model size to 8.8B parameters without significant quality loss." + "description": "Nodes for use of Chroma model and other prototype models" }, { "author": "lth", "title": "Comfyui_three_js", - "id": "lth", + "id": "comfyui_three_js", "reference": "https://github.com/lo-th/Comfyui_three_js", "files": [ "https://github.com/lo-th/Comfyui_three_js" @@ -17178,16 +20536,6 @@ "install_type": "git-clone", "description": "A collection of custom nodes by arcum42. Currently focused on saving metadata in images so that Civitai picks it up, pulling Civitai information, and misc helper nodes." }, - { - "author": "sweetndata", - "title": "ComfyUI-Image-Harmonizer", - "reference": "https://github.com/sweetndata/ComfyUI-Image-Harmonizer", - "files": [ - "https://github.com/sweetndata/ComfyUI-Image-Harmonizer" - ], - "install_type": "git-clone", - "description": "NODES:Image-Harmonizer" - }, { "author": "Tomudo", "title": "ComfyUI-ascii-art", @@ -17250,7 +20598,7 @@ "https://github.com/Shakker-Labs/ComfyUI-IPAdapter-Flux" ], "install_type": "git-clone", - "description": "NODES:Load IPAdapter Flux Model, Apply IPAdapter Flux Model" + "description": "nodes for flux ipadapter released by shakker-labs" }, { "author": "iamandeepsandhu", @@ -17265,9 +20613,9 @@ { "author": "Black-Lioness", "title": "ComfyUI-PromptUtils", - "reference": "https://github.com/Black-Lioness/ComfyUI-PromptUtils", + "reference": "https://github.com/RunningOverGlowies/ComfyUI-PromptUtils", "files": [ - "https://github.com/Black-Lioness/ComfyUI-PromptUtils" + "https://github.com/RunningOverGlowies/ComfyUI-PromptUtils" ], "install_type": "git-clone", "description": "A set of ComfyUI nodes designed to enhance your workflow with realistic filename generation and keyword generation." @@ -17290,18 +20638,118 @@ "https://github.com/SparknightLLC/ComfyUI-MaskArbiter" ], "install_type": "git-clone", - "description": "A node for ComfyUI that takes a list of masks and returns a single mask based on your criteria. For example, it can be used to mask the leftmost subject in an image containing more than one subject of the same class. The workflow below demonstrates the difference between Mask Arbiter (top) and traditional Grounding DINO masking (bottom.)" + "description": "A node for ComfyUI that takes a list of masks and returns a single mask based on your criteria." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-ConditionalInterrupt", + "reference": "https://github.com/SparknightLLC/ComfyUI-ConditionalInterrupt", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-ConditionalInterrupt" + ], + "install_type": "git-clone", + "description": "A node for ComfyUI that terminates the workflow processing if 'proceed' is set to False. More convenient than manually bypassing a bunch of nodes.\nThis is a restructured version of the 'SRL Conditional Interrupt' node from the [a/srl-nodes](https://github.com/seanlynch/srl-nodes) pack." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-GPENO", + "reference": "https://github.com/SparknightLLC/ComfyUI-GPENO", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-GPENO" + ], + "install_type": "git-clone", + "description": "A node for ComfyUI that performs GPEN face restoration on the input image(s). Significantly faster than other implementations of GPEN." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-ImageAutotone", + "reference": "https://github.com/SparknightLLC/ComfyUI-ImageAutotone", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-ImageAutotone" + ], + "install_type": "git-clone", + "description": "A node for ComfyUI that takes an input image and clips the color channels independently to increase contrast and alter color cast. This is a reinterpretation of PhotoShop's 'Auto Tone' algorithm." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-WeightedRandomChoice", + "reference": "https://github.com/SparknightLLC/ComfyUI-WeightedRandomChoice", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-WeightedRandomChoice" + ], + "install_type": "git-clone", + "description": "A node for ComfyUI that picks from `input_a` and `input_b` based on the given `chance`." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-ImageAutosize", + "reference": "https://github.com/SparknightLLC/ComfyUI-ImageAutosize", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-ImageAutosize" + ], + "install_type": "git-clone", + "description": "A node for ComfyUI that provides a convenient way of resizing or cropping an image for diffusion tasks." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-LatentOrientation", + "reference": "https://github.com/SparknightLLC/ComfyUI-LatentOrientation", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-LatentOrientation" + ], + "install_type": "git-clone", + "description": "A simple node for ComfyUI that rotates or resizes the input latent to common orientations." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-ModelSamplingSD3Advanced", + "reference": "https://github.com/SparknightLLC/ComfyUI-ModelSamplingSD3Advanced", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-ModelSamplingSD3Advanced" + ], + "install_type": "git-clone", + "description": "Adds windowed, curved shift control for Flow Matching samplers (SD3-style / flow schedules). It is a drop-in replacement for Comfy's included ModelSamplingSD3 node." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-SpectralVAEDetailer", + "reference": "https://github.com/SparknightLLC/ComfyUI-SpectralVAEDetailer", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-SpectralVAEDetailer" + ], + "install_type": "git-clone", + "description": "Adjusts a latent image before the VAE decoding step in order to improve your image quality." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-MakeSeamlessTexture", + "reference": "https://github.com/SparknightLLC/ComfyUI-MakeSeamlessTexture", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-MakeSeamlessTexture" + ], + "install_type": "git-clone", + "description": "Turn images into seamless textures and build tiled previews. Unique radial mask method available." + }, + { + "author": "SparknightLLC", + "title": "ComfyUI-CrosshairGuidelines", + "reference": "https://github.com/SparknightLLC/ComfyUI-CrosshairGuidelines", + "files": [ + "https://github.com/SparknightLLC/ComfyUI-CrosshairGuidelines" + ], + "install_type": "git-clone", + "description": "Crosshair guidelines to help align nodes and groups while moving or resizing." }, { "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", @@ -17344,16 +20792,6 @@ "install_type": "git-clone", "description": "NODES: PromptStyler, PromptLatent, PromptCLIPEncode, PromptSelector" }, - { - "author": "c0ffymachyne", - "title": "Bytebeat Synthesizer: Composing with Operators", - "reference": "https://github.com/c0ffymachyne/ComfyUI_BeatByte", - "files": [ - "https://github.com/c0ffymachyne/ComfyUI_BeatByte" - ], - "install_type": "git-clone", - "description": "Bytebeat is like composing music with the tools of a programmer’s toolkit. Instead of piano keys, you have operators like >>, |, and &. It’s like giving your CPU a guitar and letting it shred! 🤘" - }, { "author": "exectails", "title": "Info Utils", @@ -17387,16 +20825,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", @@ -17468,6 +20896,306 @@ "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": "Yuan-ManX", + "title": "ComfyUI-LayerAnimate", + "reference": "https://github.com/Yuan-ManX/ComfyUI-LayerAnimate", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-LayerAnimate" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for LayerAnimate model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-SkyReels-A2", + "reference": "https://github.com/Yuan-ManX/ComfyUI-SkyReels-A2", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-SkyReels-A2" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for SkyReels-A2 model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-UNO", + "reference": "https://github.com/Yuan-ManX/ComfyUI-UNO", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-UNO" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for UNO model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-HiDream-I1", + "reference": "https://github.com/Yuan-ManX/ComfyUI-HiDream-I1", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-HiDream-I1" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for HiDream-I1 model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Kimi-VL", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Kimi-VL", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Kimi-VL" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Kimi-VL model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Cobra", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Cobra", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Cobra" + ], + "install_type": "git-clone", + "description": "Make Cobra avialbe in ComfyUI.\nCobra: Efficient Line Art COlorization with BRoAder References" + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-LiveCC", + "reference": "https://github.com/Yuan-ManX/ComfyUI-LiveCC", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-LiveCC" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for LiveCC model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Dia", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Dia", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Dia" + ], + "install_type": "git-clone", + "description": "Make Dia avialbe in ComfyUI." + }, + { + "author": "Yuan-ManX", + "title": "Yuan-ManX/ComfyUI-AudioX", + "reference": "https://github.com/Yuan-ManX/ComfyUI-AudioX", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-AudioX" + ], + "install_type": "git-clone", + "description": "Make AudioX avialbe in ComfyUI." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Muyan-TTS", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Muyan-TTS", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Muyan-TTS" + ], + "install_type": "git-clone", + "description": "Make Muyan-TTS avialbe in ComfyUI." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Multiverse", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Multiverse", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Multiverse" + ], + "install_type": "git-clone", + "description": "Make Multiverse avialbe in ComfyUI.\nMultiverse: The First AI Multiplayer World Model. Two human players driving cars in Multiverse." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Matrix-Game", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Matrix-Game", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Matrix-Game" + ], + "install_type": "git-clone", + "description": "Make Matrix-Game avialbe in ComfyUI." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Step1X-3D", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Step1X-3D", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Step1X-3D" + ], + "install_type": "git-clone", + "description": "ComfyUI-Step1X-3D is now available in ComfyUI, delivering high-fidelity 3D asset generation with consistent geometry-texture alignment. It supports multi-style outputs: cartoon, sketch, and photorealistic." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-MoviiGen", + "reference": "https://github.com/Yuan-ManX/ComfyUI-MoviiGen", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-MoviiGen" + ], + "install_type": "git-clone", + "description": "ComfyUI-MoviiGen is now available in ComfyUI, MoviiGen 1.1 is a cutting-edge video generation model that excels in cinematic aesthetics and visual quality." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-AniSora", + "reference": "https://github.com/Yuan-ManX/ComfyUI-AniSora", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-AniSora" + ], + "install_type": "git-clone", + "description": "ComfyUI-AniSora is now available in ComfyUI, Index-AniSora is the most powerful open-source animated video generation model. It enables one-click creation of video shots across diverse anime styles including series episodes, Chinese original animations, manga adaptations, VTuber content, anime PVs, mad-style parodies, and more!" + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Bagel", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Bagel", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Bagel" + ], + "install_type": "git-clone", + "description": "ComfyUI-Bagel is now available in ComfyUI, BAGEL is an open‑source multimodal foundation model with 7B active parameters (14B total) trained on large‑scale interleaved multimodal data. [w/Don't install together with neverbiasu/ComfyUI-BAGEL simultaneously.]" + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-HunyuanPortrait", + "reference": "https://github.com/Yuan-ManX/ComfyUI-HunyuanPortrait", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-HunyuanPortrait" + ], + "install_type": "git-clone", + "description": "ComfyUI-HunyuanPortrait is now available in ComfyUI, HunyuanPortrait is a diffusion-based condition control method that employs implicit representations for highly controllable and lifelike portrait animation." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-HunyuanVideo-Avatar", + "reference": "https://github.com/Yuan-ManX/ComfyUI-HunyuanVideo-Avatar", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-HunyuanVideo-Avatar" + ], + "install_type": "git-clone", + "description": "ComfyUI-HunyuanVideo-Avatar is now available in ComfyUI, HunyuanVideo-Avatar is a multimodal diffusion transformer (MM-DiT)-based model capable of simultaneously generating dynamic, emotion-controllable, and multi-character dialogue videos." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-ChatterboxTTS", + "reference": "https://github.com/Yuan-ManX/ComfyUI-ChatterboxTTS", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-ChatterboxTTS" + ], + "install_type": "git-clone", + "description": "ComfyUI-ChatterboxTTS is now available in ComfyUI, Chatterbox TTS is the first production-grade open-source TTS model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Direct3D-S2", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Direct3D-S2", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Direct3D-S2" + ], + "install_type": "git-clone", + "description": "ComfyUI-Direct3D‑S2 is now available in ComfyUI, Direct3D‑S2 - Gigascale 3D Generation Made Easy with Spatial Sparse Attention. Direct3D‑S2 is a scalable 3D generation framework based on sparse volumes that achieves superior output quality with dramatically reduced training costs." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Vui", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Vui", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Vui" + ], + "install_type": "git-clone", + "description": "ComfyUI-Vui is now available in ComfyUI, Vui is a llama based transformer that predicts audio tokens." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-Hunyuan3D-2.1", + "reference": "https://github.com/Yuan-ManX/ComfyUI-Hunyuan3D-2.1", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-Hunyuan3D-2.1" + ], + "install_type": "git-clone", + "description": "ComfyUI-Hunyuan3D-2.1 is now available in ComfyUI, Hunyuan3D-2.1 is a scalable 3D asset creation system that advances state-of-the-art 3D generation through two pivotal innovations: Fully Open-Source Framework and Physically-Based Rendering (PBR) Texture Synthesis." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-OmniGen2", + "reference": "https://github.com/Yuan-ManX/ComfyUI-OmniGen2", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-OmniGen2" + ], + "install_type": "git-clone", + "description": "ComfyUI-OmniGen2 is now available in ComfyUI, OmniGen2 is a powerful and efficient unified multimodal model. Its architecture is composed of two key components: a 3B Vision-Language Model (VLM) and a 4B diffusion model." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-PosterCraft", + "reference": "https://github.com/Yuan-ManX/ComfyUI-PosterCraft", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-PosterCraft" + ], + "install_type": "git-clone", + "description": "ComfyUI-PosterCraft is now available in ComfyUI, PosterCraft is a unified framework for high-quality aesthetic poster generation that excels in precise text rendering, seamless integration of abstract art, striking layouts, and stylistic harmony." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-ThinkSound", + "reference": "https://github.com/Yuan-ManX/ComfyUI-ThinkSound", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-ThinkSound" + ], + "install_type": "git-clone", + "description": "ComfyUI-ThinkSound is now available in ComfyUI, ThinkSound is a unified Any2Audio generation framework with flow matching guided by Chain-of-Thought (CoT) reasoning." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-HiggsAudio", + "reference": "https://github.com/Yuan-ManX/ComfyUI-HiggsAudio", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-HiggsAudio" + ], + "install_type": "git-clone", + "description": "ComfyUI-HiggsAudio is now available in ComfyUI, Higgs Audio v2 is a text-audio foundation model from Boson AI." + }, + { + "author": "Yuan-ManX", + "title": "ComfyUI-SkyworkUniPic", + "reference": "https://github.com/Yuan-ManX/ComfyUI-SkyworkUniPic", + "files": [ + "https://github.com/Yuan-ManX/ComfyUI-SkyworkUniPic" + ], + "install_type": "git-clone", + "description": "ComfyUI-SkyworkUniPic is now available in ComfyUI, Skywork-UniPic is a unified autoregressive multimodal model with 1.5 billion parameters that natively integrates image understanding, text-to-image generation, and image editing capabilities within a single architecture." + }, { "author": "Starnodes2024", "title": "ComfyUI_StarNodes", @@ -17476,7 +21204,27 @@ "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": "Starnodes2024", + "title": "ComfyUI_StarBetaNodes", + "reference": "https://github.com/Starnodes2024/ComfyUI_StarBetaNodes", + "files": [ + "https://github.com/Starnodes2024/ComfyUI_StarBetaNodes" + ], + "install_type": "git-clone", + "description": "Welcome to Star Beta Nodes - a collection of experimental custom nodes for ComfyUI designed for beta testing and feedback. These nodes provide enhanced functionality for image processing, video handling, and workflow automation." + }, + { + "author": "Starnodes2024", + "title": "ComfyUI Star DyPE", + "reference": "https://github.com/Starnodes2024/comfyui_Starnodes_DyPE", + "files": [ + "https://github.com/Starnodes2024/comfyui_Starnodes_DyPE" + ], + "install_type": "git-clone", + "description": "Dynamic Position Extrapolation for Ultra High Resolution FLUX Image Generation\nThis custom node enables FLUX models in ComfyUI to generate ultra-high resolution images (4K and beyond) using DyPE (Dynamic Position Extrapolation) technology." }, { "author": "motivated3", @@ -17520,7 +21268,7 @@ "description": "NODES:AIRedoon Image Caption.\nAnalyze image tagger" }, { - "author": "itsjustregi", + "author": "Regi E", "title": "ComfyUI-EasyPony", "reference": "https://github.com/regiellis/ComfyUI-EasyPony", "files": [ @@ -17530,14 +21278,44 @@ "description": "Easy Pony is a helper node that simplifies the process of adding scoring and other attributes to prompts when using Pony models." }, { - "author": "steelan9199", - "title": "ComfyUI-Teeth", - "reference": "https://github.com/steelan9199/ComfyUI-Teeth", + "author": "Regi E", + "title": "ComfyUI-EasyNoobai", + "reference": "https://github.com/regiellis/ComfyUI-EasyNoobai", "files": [ - "https://github.com/steelan9199/ComfyUI-Teeth" + "https://github.com/regiellis/ComfyUI-EasyNoobai" ], "install_type": "git-clone", - "description": "NODES: Index List, TextSplitByDelimiter" + "description": "Simple set of nodes to assist with prompt generation for NOOBAI XL / Illustrious models" + }, + { + "author": "Regi E", + "title": "Easy Color Correction", + "reference": "https://github.com/regiellis/ComfyUI-EasyColorCorrector", + "files": [ + "https://github.com/regiellis/ComfyUI-EasyColorCorrector" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for flexible and efficient image color correction and post-processing." + }, + { + "author": "Regi E", + "title": "SDXL Adherence", + "reference": "https://github.com/regiellis/ComfyUI-SDXL-Adherence", + "files": [ + "https://github.com/regiellis/ComfyUI-SDXL-Adherence" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes that improve SDXL prompt adherence and any-size/tiled VAE workflows." + }, + { + "author": "Regi E", + "title": "Comfyui-EasyIllustrious", + "reference": "https://github.com/regiellis/ComfyUI-EasyIllustrious", + "files": [ + "https://github.com/regiellis/ComfyUI-EasyIllustrious" + ], + "install_type": "git-clone", + "description": "ComfyUI-EasyIllustrious is a custom node suite to make working with Illustrious models easier and more intuitive" }, { "author": "mrhan1993", @@ -17570,17 +21348,6 @@ "install_type": "git-clone", "description": "ComfyUI-CatvtonFluxWrapper provides ComfyUI nodes for diffusers implementation of Catvton-Flux." }, - { - "author": "Stable Diffusion VN", - "title": "SDVN Comfy node", - "id": "SDVN", - "reference": "https://github.com/StableDiffusionVN/SDVN_Comfy_node", - "files": [ - "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 ..." - }, { "author": "Eugene (JEONG-JIWOO)", "title": "ComfyUI_Eugene_Nodes", @@ -17604,13 +21371,23 @@ { "author": "5x00", "title": "ComfyUI-VLM_Captions", - "reference": "https://github.com/5x00/ComfyUI-VLM_Captions", + "reference": "https://github.com/5x00/ComfyUI-VLM-Captions", "files": [ - "https://github.com/5x00/ComfyUI-VLM_Captions" + "https://github.com/5x00/ComfyUI-VLM-Captions" ], "install_type": "git-clone", "description": "A simple ComfyUI node that let's you use Claude or ChatGPT 4o's VLM capabilities to generate captions/tags for images." }, + { + "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": "ClownsharkBatwing", "title": "RES4LYF", @@ -17620,18 +21397,7 @@ "https://github.com/ClownsharkBatwing/RES4LYF" ], "install_type": "git-clone", - "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", - "title": "Together Vision Node", - "id": "comfyui_together_vision", - "reference": "https://github.com/mithamunda/ComfyUI-TogetherVision", - "files": [ - "https://github.com/mithamunda/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": "Advanced samplers with new noise scaling math to enable SDE sampling with all publicly available native models; new unsampling/noise inversion methods and other advanced img2img techniques for inpainting and/or guiding the sampling process with guide images, with results superior to FlowEdit, RF Inversion, and other SOTA implementations. Also new style transfer methods unique to this node pack; regional conditioning for HiDream, Flux, AuraFlow, and WAN; methods for eliminating Flux blur; and temporal conditioning (shift gradually from one prompt to the next with video). 115 sampler types, 24 noise types, 11 noise scaling modes, in a single node. Also includes a wide variety of QoF and other utility nodes for boosting detail, manipulating sigmas, latents, images, and more." }, { "author": "NeoGriever", @@ -17655,6 +21421,16 @@ "install_type": "git-clone", "description": "Node that generates prompts using Anthropic Claude API." }, + { + "author": "PauldeLavallaz", + "title": "ComfyUI-CartesiaTTS", + "reference": "https://github.com/PauldeLavallaz/ComfyUI-CartesiaTTS", + "files": [ + "https://github.com/PauldeLavallaz/ComfyUI-CartesiaTTS" + ], + "install_type": "git-clone", + "description": "Node for Cartesia Sonic-3 that calls the `/tts/bytes` endpoint and returns: file_path, bytes, url" + }, { "author": "huanngzh", "title": "ComfyUI-MVAdapter", @@ -17685,10 +21461,21 @@ "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", "reference": "https://github.com/sourceful-official/LoadLoraModelOnlyWithUrl", + "reference2": "https://github.com/sourceful-official/ComfyUI_LoadLoraModelOnlyWithUrl", "files": [ "https://github.com/sourceful-official/LoadLoraModelOnlyWithUrl" ], @@ -17705,37 +21492,16 @@ "description": "The KimaraAIWatermarker custom node allows you to apply watermark text and logo overlays to images. Optionally, the watermark can be moved by the move_watermark_step amount of pixels after each generated image. To apply a moving watermark to a list of images, use the KimaraAIBatchImages node to concatenate the list into a single tensor, then use that as an input for the watermark node, as shown in the example image below.", "install_type": "git-clone" }, - { - "author": "magic-quill", - "title": "ComfyUI_MagicQuill", - "id": "MagicQuill", - "reference": "https://github.com/magic-quill/ComfyUI_MagicQuill", - "files": [ - "https://github.com/magic-quill/ComfyUI_MagicQuill" - ], - "install_type": "git-clone", - "description": "Official ComfyUI Node for Paper - MagicQuill: An Intelligent Interactive Image Editing System" - }, { "author": "weilin9999", - "title": "WeiLin-ComfyUI-prompt-all-in-one", - "id": "prompt-all-in-one", - "reference": "https://github.com/weilin9999/WeiLin-ComfyUI-prompt-all-in-one", + "title": "WeiLin-Comfyui-Tools", + "id": "Comfyui-Tools", + "reference": "https://github.com/weilin9999/WeiLin-Comfyui-Tools", "files": [ - "https://github.com/weilin9999/WeiLin-ComfyUI-prompt-all-in-one" + "https://github.com/weilin9999/WeiLin-Comfyui-Tools" ], "install_type": "git-clone", - "description": "Write prompt words like WebUI" - }, - { - "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" + "description": "quickly use the prompt word tool in ComfyUI" }, { "author": "LucipherDev", @@ -17745,7 +21511,27 @@ "https://github.com/LucipherDev/ComfyUI-Golden-Noise" ], "install_type": "git-clone", - "description": "ComfyUI Custom Node for [a/'Golden Noise for Diffusion Models: A Learning Framework'](https://arxiv.org/abs/2411.09502) and most of the code is adapted from [a/here](https://github.com/xie-lab-ml/Golden-Noise-for-Diffusion-Models). This node refines the initial latent noise in the diffusion process, enhancing both image quality and semantic coherence." + "description": "ComfyUI Custom Node for 'Golden Noise for Diffusion Models: A Learning Framework'. This node refines the initial latent noise in the diffusion process, enhancing both image quality and semantic coherence." + }, + { + "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": "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", @@ -17777,26 +21563,26 @@ "install_type": "git-clone", "description": "DeepExtract is a powerful and efficient tool designed to separate vocals and sounds from audio files, providing an enhanced experience for musicians, producers, and audio engineers. With DeepExtract, you can quickly and effectively isolate vocals or instruments from mixed audio tracks, facilitating tasks like remixing, karaoke preparation, or audio analysis." }, + { + "author": "abdozmantar", + "title": "DeepExtract2", + "reference": "https://github.com/abdozmantar/ComfyUI-DeepExtractV2", + "files": [ + "https://github.com/abdozmantar/ComfyUI-DeepExtractV2" + ], + "install_type": "git-clone", + "description": "DeepExtractV2 – lightning-fast, high-quality audio separator. Instantly isolate vocals, drums, bass, and more from any track. Ideal for creators, DJs, and audio pros." + }, { "author": "ctefer", "title": "CFE_comfyui", - "reference": "https://github.com/ctefer/CFE_comfyui", + "reference": "https://github.com/CpreForEver/CFE_comfyui", "files": [ - "https://github.com/ctefer/CFE_comfyui" + "https://github.com/CpreForEver/CFE_comfyui" ], "install_type": "git-clone", "description": "This is a subset of nodes for ComfyUI that I made just for my own workflow. The nodes support Flux (single conditioning, no negatives) and are just a way of minimizing the noodles. There's no real journey to be made here, just anything that helps me get through the day." }, - { - "author": "inflamously", - "title": "comfyui-prompt-enhancer", - "reference": "https://github.com/inflamously/comfyui-prompt-enhancer", - "files": [ - "https://github.com/inflamously/comfyui-prompt-enhancer" - ], - "install_type": "git-clone", - "description": "A crazy node that pragmatically just enhances a given prompt with various descriptions in the hope that the image quality just increase and prompting just gets easier." - }, { "author": "111496583yzy", "title": "Jigsaw Puzzle Effect Plugin", @@ -17817,16 +21603,6 @@ "install_type": "git-clone", "description": "ComfyUI-3D-Covert is a 3D File Format Conversion Extension based on 3dconvert.nsdt.cloud-API. It provides a node ConvertTo3DFormat currently available, is a powerful tool designed to streamline the conversion of 3D models between a wide array of file formats." }, - { - "author": "daqingliu", - "title": "ComfyUI-SaveImageOSS", - "reference": "https://github.com/daqingliu/ComfyUI-SaveImageOSS", - "files": [ - "https://github.com/daqingliu/ComfyUI-SaveImageOSS" - ], - "install_type": "git-clone", - "description": "Save images directly to URL, e.g., OSS. Just input the url in the text box!" - }, { "author": "Mr.Chip", "title": "ComfyUI-SaveImageS3", @@ -17848,6 +21624,26 @@ "install_type": "git-clone", "description": "A collection of custom nodes for ComfyUI focused on animation, image processing, and workflow optimization." }, + { + "author": "DesertPixelAi", + "title": "ComfyUI DP Dynamic Random Styler", + "reference": "https://github.com/DesertPixelAi/comfyui-dp-them-styler", + "files": [ + "https://github.com/DesertPixelAi/comfyui-dp-them-styler" + ], + "install_type": "git-clone", + "description": "A dynamic theme-based prompt generator for ComfyUI that creates versatile, random prompts optimized for face swap workflows." + }, + { + "author": "DesertPixelAi", + "title": "ComfyUI DP Ideogram Character Node", + "reference": "https://github.com/DesertPixelAi/ComfyUI-DP-Ideogram-Character", + "files": [ + "https://github.com/DesertPixelAi/ComfyUI-DP-Ideogram-Character" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for generating consistent character images using Ideogram API v3's character reference feature. Part of the Desert Pixel (DP) node collection." + }, { "author": "muhammederem", "title": "BLIP Vision-Language Model Integration", @@ -17869,14 +21665,21751 @@ "description": "A ComfyUI custom node for integrating with Midjourney API." }, { - "author": "SlackinJack", - "title": "distrifuser_comfyui", - "reference": "https://github.com/SlackinJack/distrifuser_comfyui", + "author": "Runware Inc.", + "title": "Runware.ai ComfyUI Inference API Integration", + "id": "runware", + "reference": "https://github.com/Runware/ComfyUI-Runware", "files": [ - "https://github.com/SlackinJack/distrifuser_comfyui" + "https://github.com/Runware/ComfyUI-Runware" ], "install_type": "git-clone", - "description": "[a/Distrifuser](https://github.com/mit-han-lab/distrifuser) sampler node for ComfyUI\n" + "description": "Runware Inference API Integration for ComfyUI (No GPU Required)." + }, + { + "author": "shannooty", + "title": "ComfyUI Timer Nodes", + "id": "comfyui-timer-nodes", + "reference": "https://github.com/Shannooty/ComfyUI-Timer-Nodes", + "files": [ + "https://github.com/Shannooty/ComfyUI-Timer-Nodes" + ], + "install_type": "git-clone", + "description": "This project provides a set of custom timer nodes for ComfyUI. These nodes allow you to measure and append runtime information to strings or other data during your workflow." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_OminiControl", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl" + ], + "install_type": "git-clone", + "description": "ComfyUI_RH_OminiControl is a ComfyUI plugin based on OminiControl By splitting the pipeline load, the plugin efficiently runs on NVIDIA RTX 4090 GPUs. Additionally, the spatial and fill functionalities are generated using the schnell model, reducing the number of sampling steps and improving overall efficiency." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_UNO", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_UNO", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_UNO" + ], + "install_type": "git-clone", + "description": "This is a UNO ComfyUI plugin implementation that can run the full version with 24GB VRAM, as well as quickly run the FP8 version." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_FramePack", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_FramePack", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_FramePack" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI plug-in for lllyasviel/FramePack, easy to use" + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_Step1XEdit", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_Step1XEdit", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_Step1XEdit" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI custom node implementation for image editing using the Step-1 model architecture, specifically adapted for reference-based image editing guided by text prompts." + }, + { + "author": "sebord", + "title": "ComfyUI-LMCQ", + "reference": "https://github.com/sebord/ComfyUI-LMCQ", + "files": [ + "https://github.com/sebord/ComfyUI-LMCQ" + ], + "install_type": "git-clone", + "description": "ComfyUI small node toolkit, this toolkit is mainly to update some practical small nodes, to make a contribution to the comfyui ecosystem, PS: 'LMCQ' is the abbreviation of the team name\nNOTE: The files in the repo are not organized, which may lead to update issues." + }, + { + "author": "InstantStudioAI", + "title": "ComfyUI-InstantStudio", + "reference": "https://github.com/InstantStudioAI/ComfyUI-InstantStudio", + "files": [ + "https://github.com/InstantStudioAI/ComfyUI-InstantStudio" + ], + "install_type": "git-clone", + "description": "A collection of nodes to enhance your experience with ComfyUI." + }, + { + "author": "Tlant", + "title": "ComfyUI-OllamaPromptsGeneratorTlant", + "reference": "https://github.com/Tlant/ComfyUI-OllamaPromptsGeneratorTlant", + "files": [ + "https://github.com/Tlant/ComfyUI-OllamaPromptsGeneratorTlant" + ], + "install_type": "git-clone", + "description": "Use ollama to generate prompts based on reference text in comfyui." + }, + { + "author": "DarioFT", + "title": "ComfyUI-VideoDirCombiner", + "reference": "https://github.com/DarioFT/ComfyUI-VideoDirCombiner", + "files": [ + "https://github.com/DarioFT/ComfyUI-VideoDirCombiner" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that combines multiple videos from a directory with optional transitions and background music. Perfect for batch processing and creating seamless video compilations." + }, + { + "author": "Kim", + "title": "ComfyUI_KimNodes", + "reference": "https://github.com/wjl0313/ComfyUI_KimNodes", + "files": [ + "https://github.com/wjl0313/ComfyUI_KimNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI node collection: icon layout & processing, YOLO intelligent cropping, image filters & enhancement, text processing tools, metadata management, mask handling and image classification in one comprehensive toolbox." + }, + { + "author": "LiJT", + "title": "Gemini prompt generator JT version", + "reference": "https://github.com/LiJT/ComfyUI-Gemini-Prompt-Generator-JT", + "files": [ + "https://github.com/LiJT/ComfyUI-Gemini-Prompt-Generator-JT" + ], + "install_type": "git-clone", + "description": "Custom node to use Gemini 1.5 and above for Comfyui to generates theme related prompts for image generators" + }, + { + "author": "codeprimate", + "title": "ComfyUI Mask Contour Processor", + "reference": "https://github.com/codeprimate/ComfyUI-MaskContourProcessor", + "files": [ + "https://github.com/codeprimate/ComfyUI-MaskContourProcessor" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that improves inpainting results by extending mask boundaries with geometric patterns, helping create smoother transitions and better context for AI-driven image completion." + }, + { + "author": "Miyuutsu", + "title": "comfyui-save-vpred", + "reference": "https://github.com/Miyuutsu/comfyui-save-vpred", + "files": [ + "https://github.com/Miyuutsu/comfyui-save-vpred" + ], + "install_type": "git-clone", + "description": "Simple ComfyUI Custom Node to enable saving checkpoints with V-Pred ZTSNR tensors and metadata." + }, + { + "author": "kostenickj", + "title": "comfyui-jk-easy-nodes", + "reference": "https://github.com/kostenickj/jk-comfyui-helpers", + "files": [ + "https://github.com/kostenickj/jk-comfyui-helpers" + ], + "install_type": "git-clone", + "description": "NODES: EasyHRFix, EasyHRFix_Context, JKAnythingToString, JKBigContext, JKDynamicThresholdingMultiModel, JKEasyCheckpointLoader, JKEasyDetailer, JKEasyDetailer_Context, JKEasyKSampler_Context, JKEasyWatermark, JKInspireSchedulerAdapter, JKLilContext, JKMultiModelSamplerUnpatch, JKStringEmpty, JKStringEquals, JKStringNotEmpty, JKStringNotEquals, JKStringToSamplerAdapter" + }, + { + "author": "IamCreateAI", + "title": "ComfyUI-Ruyi", + "reference": "https://github.com/IamCreateAI/Ruyi-Models", + "files": [ + "https://github.com/IamCreateAI/Ruyi-Models" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for Ruyi, an image-to-video model by CreateAI." + }, + { + "author": "IamCreateAI", + "title": "ComfyUI-Animon", + "reference": "https://github.com/IamCreateAI/ComfyUI-Animon", + "files": [ + "https://github.com/IamCreateAI/ComfyUI-Animon" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for [Animon Platform](https://platform.animon.ai/), a comprehensive API service offering a variety of image and video generation models." + }, + { + "author": "pollockjj", + "title": "ComfyUI-MultiGPU", + "reference": "https://github.com/pollockjj/ComfyUI-MultiGPU", + "files": [ + "https://github.com/pollockjj/ComfyUI-MultiGPU" + ], + "install_type": "git-clone", + "description": "This extension adds CUDA device selection to supported loader nodes in ComfyUI. By monkey-patching ComfyUI’s memory management, each model component (like UNet, Clip, or VAE) can be loaded on a specific GPU. Examples included are multi-GPU workflows for SDXL, FLUX, LTXVideo, and Hunyuan Video for both standard and GGUF loader nodes." + }, + { + "author": "PressWagon", + "title": "ComfyUI-StringsAndThings", + "reference": "https://github.com/PressWagon/ComfyUI-StringsAndThings", + "files": [ + "https://github.com/PressWagon/ComfyUI-StringsAndThings" + ], + "install_type": "git-clone", + "description": "EA collection of ComfyUI custom nodes for formatting and debugging string data with the intention of collecting generation data to be processed by a custom node pack like comfy-image-saver, as well as miscellaneous extra nodes to experiment with." + }, + { + "author": "ADDOOR", + "title": "ComfyUI-Addoor", + "reference": "https://github.com/Eagle-CN/ComfyUI-Addoor", + "files": [ + "https://github.com/Eagle-CN/ComfyUI-Addoor" + ], + "install_type": "git-clone", + "description": "A collection of batch operation toolkits suitable for ComfyUI" + }, + { + "author": "CyanAutumn", + "title": "ComfyUi Random Manage Cyan", + "id": "CyanAutumn", + "reference": "https://github.com/CyanAutumn/ComfyUi_Random_Manage_Cyan", + "files": [ + "https://github.com/CyanAutumn/ComfyUi_Random_Manage_Cyan" + ], + "install_type": "git-clone", + "description": "A random prompt node" + }, + { + "author": "Black Forest Labs", + "title": "Black Forest Labs API Nodes", + "reference": "https://github.com/black-forest-labs/bfl-comfy-nodes", + "files": [ + "https://github.com/black-forest-labs/bfl-comfy-nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Black Forest Labs API Services" + }, + { + "author": "kazeyori", + "title": "ComfyUI-QuickImageSequenceProcess", + "reference": "https://github.com/kazeyori/ComfyUI-QuickImageSequenceProcess", + "files": [ + "https://github.com/kazeyori/ComfyUI-QuickImageSequenceProcess" + ], + "install_type": "git-clone", + "description": "A ComfyUI plugin for quick image sequence processing. This plugin allows users to manipulate frame sequences with various operations including frame insertion, deletion, and duplication." + }, + { + "author": "Light-x02", + "title": "Light-x02 Nodes", + "id": "Light-x02_Nodes", + "reference": "https://github.com/Light-x02/ComfyUI-Lightx02-Nodes", + "files": [ + "https://github.com/Light-x02/ComfyUI-Lightx02-Nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI by Light-x02. Optimize and simplify workflows, adding utilities, samplers, schedulers and various tools (Flux, images, etc.) to enrich and extend ComfyUI’s capabilities." + }, + { + "author": "Light-x02", + "title": "Flux Settings Node", + "id": "flux_settings_node", + "reference": "https://github.com/Light-x02/ComfyUI-FluxSettingsNode", + "files": [ + "https://github.com/Light-x02/ComfyUI-FluxSettingsNode" + ], + "install_type": "git-clone", + "description": "A combined node for ComfyUI with six configurable tabs for managing multiple parameter configurations, including guidance, sampler, scheduler, steps, and denoise." + }, + { + "author": "Light-x02", + "title": "ComfyUI-Civitai-Discovery-Hub", + "reference": "https://github.com/Light-x02/ComfyUI-Civitai-Discovery-Hub", + "files": [ + "https://github.com/Light-x02/ComfyUI-Civitai-Discovery-Hub" + ], + "install_type": "git-clone", + "description": "This ComfyUI node lets you browse the Civitai gallery directly within the interface, featuring infinite scroll, advanced filters (including NSFW), and favorites management. It also allows you to retrieve prompts, metadata, and images/videos to seamlessly reuse them in your workflows." + }, + { + "author": "Light-x02", + "title": "ComfyUI-checkpoint-Discovery-Hub", + "reference": "https://github.com/Light-x02/ComfyUI-checkpoint-Discovery-Hub", + "files": [ + "https://github.com/Light-x02/ComfyUI-checkpoint-Discovery-Hub" + ], + "install_type": "git-clone", + "description": "Checkpoint Discovery Hub — An advanced browser for your ComfyUI models. Easily explore, filter, and load your checkpoints, manage presets, favorites, and Civitai metadata — all from a sleek and intuitive interface." + }, + { + "author": "marcoc2", + "title": "Image Processing Suite for ComfyUI", + "reference": "https://github.com/marcoc2/ComfyUI-AnotherUtils", + "files": [ + "https://github.com/marcoc2/ComfyUI-AnotherUtils" + ], + "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", + "reference": "https://github.com/BIMer-99/ComfyUI_FishSpeech_EX", + "files": [ + "https://github.com/BIMer-99/ComfyUI_FishSpeech_EX" + ], + "install_type": "git-clone", + "description": "This plugin is optimized for Fish-Speech-1.5 version and is only applicable to version 1.5" + }, + { + "author": "AEmotionStudio", + "title": "ComfyUI Christmas Theme šŸŽ„āœØ", + "reference": "https://github.com/AEmotionStudio/ComfyUI-ChristmasTheme", + "files": [ + "https://github.com/AEmotionStudio/ComfyUI-ChristmasTheme" + ], + "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", + "reference2": "https://github.com/AEmotionStudio/ComfyUI-Enhanced", + "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": "AEmotionStudio", + "title": "ComfyUI-MagnifyGlass", + "reference": "https://github.com/AEmotionStudio/ComfyUI-MagnifyGlass", + "files": [ + "https://github.com/AEmotionStudio/ComfyUI-MagnifyGlass" + ], + "install_type": "git-clone", + "description": "ComfyUI-MagnifyGlass: A powerful & customizable magnifying glass for ComfyUI. Zoom into canvas details with smooth controls, configurable activation, custom styles (shape, size, border) & WebGL performance." + }, + { + "author": "AEmotionStudio", + "title": "ComfyUI-ShaderNoiseKSampler", + "reference": "https://github.com/AEmotionStudio/ComfyUI-ShaderNoiseKSampler", + "files": [ + "https://github.com/AEmotionStudio/ComfyUI-ShaderNoiseKSampler" + ], + "install_type": "git-clone", + "description": "Transform AI image generation from random exploration into deliberate artistic navigation. This advanced KSampler replacement blends traditional noise with shader noise. Navigate latent space with intention using adjustable noise parameters, shape masks, and colors transformations." + }, + { + "author": "AEmotionStudio", + "title": "ComfyUI-DiscordSend", + "reference": "https://github.com/AEmotionStudio/ComfyUI-DiscordSend", + "files": [ + "https://github.com/AEmotionStudio/ComfyUI-DiscordSend" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that enables seamless sharing of AI-generated images and videos directly to Discord." + }, + { + "author": "xfgexo", + "title": "EXO Custom ComfyUI Nodes", + "id": "exo-custom-nodes", + "reference": "https://github.com/xfgexo/EXO-Custom-ComfyUI-Nodes", + "files": [ + "https://github.com/xfgexo/EXO-Custom-ComfyUI-Nodes" + ], + "install_type": "git-clone", + "description": "A custom node pack made with efficiency and quality of life features in mind. Most notably is my Prompt Builder Deluxe Node. Unlike any other run-of-the-mill prompt builder or styler node out there. Mine allows you to create and design in a way no other node does." + }, + { + "author": "jefferyharrell", + "title": "JH XMP Metadata Nodes", + "reference": "https://github.com/ComfyUI-JH/ComfyUI-JH-XMP-Metadata-Nodes", + "files": [ + "https://github.com/ComfyUI-JH/ComfyUI-JH-XMP-Metadata-Nodes" + ], + "install_type": "git-clone", + "description": "These are custom nodes for ComfyUI for the loading and saving of metadata in XMP format. XMP metadata is embedded in the images created by these nodes; it travels along wherever the image does. Both macOS and Windows index XMP metadata automatically, making it searchable from the Finder on the Mac or the File Explorer in Windows. Apps like Photoshop or Lightroom (and presumably many others) expose XMP metadata and allow it to be edited." + }, + { + "author": "jefferyharrell", + "title": "JH Misc. Nodes", + "reference": "https://github.com/ComfyUI-JH/ComfyUI-JH-Misc-Nodes", + "files": [ + "https://github.com/ComfyUI-JH/ComfyUI-JH-Misc-Nodes" + ], + "install_type": "git-clone", + "description": "NODES: Daisy-Chainable String Constant, Two-Way Switch, Three-Way Switch, Preview Imag\nMiscellaneous custom nodes for ComfyUI" + }, + { + "author": "TKRLAB", + "title": "Prompt List JSON", + "reference": "https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON", + "files": [ + "https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON" + ], + "install_type": "git-clone", + "description": "This repository provides a custom node for ComfyUI that allows managing positive and negative prompts in a structured JSON format. The node supports adding, updating, and logging prompts, ensuring seamless integration into your workflow." + }, + { + "author": "kevinmcmahondev", + "title": "Skin Tone Detector for ComfyUI", + "reference": "https://github.com/kevinmcmahondev/comfyui-skin-tone-detector", + "files": [ + "https://github.com/kevinmcmahondev/comfyui-skin-tone-detector" + ], + "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", + "reference": "https://github.com/Aksaz/comfyui-seamless-clone", + "files": [ + "https://github.com/Aksaz/comfyui-seamless-clone" + ], + "install_type": "git-clone", + "description": "Seamless Clone for ComfyUI" + }, + { + "author": "pharmapsychotic", + "title": "comfy-cliption", + "id": "comfy-cliption", + "reference": "https://github.com/pharmapsychotic/comfy-cliption", + "files": [ + "https://github.com/pharmapsychotic/comfy-cliption" + ], + "install_type": "git-clone", + "description": "Image to caption with CLIP ViT-L/14. Small and fast addition to the CLIP-L model you already have loaded to generate captions for images within your workflow." + }, + { + "author": "York Xiang", + "title": "Remembering utils", + "id": "comfyui-rememberingutils", + "reference": "https://github.com/bombless/comfyUI-RememberingUtils", + "files": [ + "https://github.com/bombless/comfyUI-RememberingUtils" + ], + "install_type": "git-clone", + "description": "Helper nodes to display last seed and prompt." + }, + { + "author": "shahkoorosh", + "title": "ComfyUI-KGnodes", + "reference": "https://github.com/shahkoorosh/ComfyUI-KGnodes", + "files": [ + "https://github.com/shahkoorosh/ComfyUI-KGnodes" + ], + "install_type": "git-clone", + "description": "NODES:Custom Resolution Latent Node, Style Selector\nThis Custom node offers various experimental nodes to make it easier to use ComfyUI." + }, + { + "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": "andygill", + "title": "comfyui-sunflower-nodes", + "reference": "https://github.com/andygill/comfyui-sunflower-nodes", + "files": [ + "https://github.com/andygill/comfyui-sunflower-nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for 3D visualization." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_APICall", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_APICall", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_APICall" + ], + "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": "HM-RunningHub", + "title": "ComfyUI SeedXPro Translation Node", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_SeedXPro", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_SeedXPro" + ], + "install_type": "git-clone", + "description": "This is a Seed-X-PPO-7B ComfyUI plugin. Easy to use" + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI DMOSpeech2 Node", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_DMOSpeech2", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_DMOSpeech2" + ], + "install_type": "git-clone", + "description": "This is a Seed-X-PPO-7B ComfyUI plugin. Easy to use" + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI USO Node", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_USO", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_USO" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates USO (Unified Style and Subject-Driven Generation) for high-quality image generation with style and subject control." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI IC-Custom Node", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_ICCustom", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_ICCustom" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates IC-Custom model for high-quality image customization and generation." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI OneReward Node", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_OneReward", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_OneReward" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates OneReward model for high-quality image inpainting, outpainting, and object removal." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI Ovi Node", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_Ovi", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_Ovi" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates Ovi for synchronized video+audio generation from text or image inputs." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI DreamOmni2 Node", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_DreamOmni2", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_DreamOmni2" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates DreamOmni2 for image generation and editing with multi-modal understanding." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_mammothmoda", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_mammothmoda", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_mammothmoda" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for MammothModa2 text-to-image generation." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_VideoAsPrompt", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_VideoAsPrompt", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_VideoAsPrompt" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates Video-As-Prompt for motion-guided video generation from image inputs." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_QwenImageI2L", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_QwenImageI2L", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_QwenImageI2L" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that generates Image-to-LoRA (I2L) LoRA from training images using DiffSynth-Studio Qwen-Image i2L pipelines." + }, + { + "author": "HM-RunningHub", + "title": "ComfyUI_RH_LLM_API", + "reference": "https://github.com/HM-RunningHub/ComfyUI_RH_LLM_API", + "files": [ + "https://github.com/HM-RunningHub/ComfyUI_RH_LLM_API" + ], + "install_type": "git-clone", + "description": "An easy-to-use ComfyUI plugin for LLM integration supporting DeepSeek, OpenAI API-compatible models, with video reverse-prompt (captioning) capabilities. (Description by CC)" + }, + { + "author": "wqjuser", + "title": "ComfyUI-Chat-Image", + "reference": "https://github.com/wqjuser/ComfyUI-Chat-Image", + "files": [ + "https://github.com/wqjuser/ComfyUI-Chat-Image" + ], + "install_type": "git-clone", + "description": "Use an online large language model to describe images." + }, + { + "author": "ronsantash", + "title": "ComfyUIFlexiLoRALoader", + "reference": "https://github.com/ronsantash/Comfyui-flexi-lora-loader", + "files": [ + "https://github.com/ronsantash/Comfyui-flexi-lora-loader" + ], + "install_type": "git-clone", + "description": "FlexiLoRALoader - A ComfyUI custom node for dynamic LoRA weight management. Apply multiple LoRAs with flexible weight patterns and randomization features for creative AI image generation.\nFeatures: • Multiple LoRA handling (up to 3) • Weight pattern presets • Random/Sequential mode • Debug logging support" + }, + { + "author": "cherninlab", + "title": "Logo Generator Node for ComfyUI", + "reference": "https://github.com/cherninlab/logo-generator-comfyui", + "files": [ + "https://github.com/cherninlab/logo-generator-comfyui" + ], + "install_type": "git-clone", + "description": "This custom node allows you to generate logo images using Google Fonts." + }, + { + "author": "SongGuo11", + "title": "ComfyUI SaveAnything Node (SG11)", + "reference": "https://github.com/SongGuo11/ComfyUI-SaveAnything-SG11", + "files": [ + "https://github.com/SongGuo11/ComfyUI-SaveAnything-SG11" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for saving images in various formats" + }, + { + "author": "ciga2011", + "title": "ComfyUI MarkItDown", + "id": "markitdown", + "reference": "https://github.com/ciga2011/ComfyUI-MarkItDown", + "files": [ + "https://github.com/ciga2011/ComfyUI-MarkItDown" + ], + "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." + }, + { + "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", + "reference": "https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository", + "files": [ + "https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository" + ], + "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." + }, + { + "author": "fairy-root", + "title": "ComfyUI-GLHF", + "id": "comfyui-glhf", + "reference": "https://github.com/fairy-root/ComfyUI-GLHF", + "files": [ + "https://github.com/fairy-root/ComfyUI-GLHF" + ], + "install_type": "git-clone", + "description": "GLHF is a ComfyUI node that facilitates seamless interaction with the GLHF chat API. Designed to enhance user experience, it supports multiple language models, web search integration, and customizable instructions, making it a powerful extension for AI-driven workflows." + }, + { + "author": "Jurdn", + "title": "Jurdns Groq API Node", + "id": "jurdnsgroqapinode", + "reference": "https://github.com/jurdnisglobby/ComfyUI-Jurdns-Groq-Node", + "files": [ + "https://github.com/jurdnisglobby/ComfyUI-Jurdns-Groq-Node" + ], + "pip": ["groq"], + "install_type": "git-clone", + "description": "This node utilizes the Groq.com API to enhance prompts. (Place API key and main system prompt in the groq_config.json)" + }, + { + "author": "randomnoner11", + "title": "ComfyUI-MistralAI-API", + "reference": "https://github.com/randomnoner11/ComfyUI-MistralAI-API", + "files": [ + "https://github.com/randomnoner11/ComfyUI-MistralAI-API" + ], + "install_type": "git-clone", + "description": "Mistral AI API's chat completion endpoint in ComfyUI" + }, + { + "author": "ahernandezmiro", + "title": "ComfyUI-GCP_Storage_tools", + "reference": "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools", + "files": [ + "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools" + ], + "install_type": "git-clone", + "description": "A set of ComfyUI nodes for GPC Storage access" + }, + { + "author": "rohitsainier", + "title": "ComfyUI-InstagramDownloader", + "id": "comfyui-instagram-downloader", + "reference": "https://github.com/rohitsainier/ComfyUI-InstagramDownloader", + "files": [ + "https://github.com/rohitsainier/ComfyUI-InstagramDownloader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package that allows downloading and organizing Instagram content directly in your ComfyUI Output folder" + }, + { + "author": "zmwv823", + "title": "ComfyUI_Anytext", + "reference": "https://github.com/zmwv823/ComfyUI_Anytext", + "files": [ + "https://github.com/zmwv823/ComfyUI_Anytext" + ], + "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": "Nodes: MultiText, TextBox, TitlePlus, SeamlessTexture, AspectRatioPlus, DisplayEverything, ComparerPlus, AnySwitch, Node Design Tools..." + }, + { + "author": "SKBv0", + "title": "ComfyUI_SpideyReroute", + "reference": "https://github.com/SKBv0/ComfyUI_SpideyReroute", + "files": [ + "https://github.com/SKBv0/ComfyUI_SpideyReroute" + ], + "install_type": "git-clone", + "description": "Just a reroute node with a tiny twist." + }, + { + "author": "SKBv0", + "title": "ComfyUI_LinkFX", + "reference": "https://github.com/SKBv0/ComfyUI_LinkFX", + "files": [ + "https://github.com/SKBv0/ComfyUI_LinkFX" + ], + "install_type": "git-clone", + "description": "Visual effects for ComfyUI links (wires) with various animation styles (Neon, Matrix, Fire) and gravity physics rope simulation. (Description by CC)" + }, + { + "author": "SKBv0", + "title": "ComfyUI_BlendPack", + "reference": "https://github.com/SKBv0/ComfyUI_BlendPack", + "files": [ + "https://github.com/SKBv0/ComfyUI_BlendPack" + ], + "install_type": "git-clone", + "description": "Video transition effects for ComfyUI using WebGL rendering with 100+ transition variants across categories like dissolve, wipe, zoom, blur, glitch, and more." + }, + { + "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": "Jash-Vora", + "title": "FitDiT", + "reference": "https://github.com/Jash-Vora/ComfyUI-GarmentDiT", + "files": [ + "https://github.com/Jash-Vora/ComfyUI-GarmentDiT" + ], + "install_type": "git-clone", + "description": "[a/FitDiT](https://arxiv.org/abs/2411.10499): Advancing the Authentic Garment Details for High-fidelity Virtual Try-onon" + }, + { + "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": "0x-jerry/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": "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)" + }, + { + "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": "phuvinh010701", + "title": "ComfyUI-Nudenet", + "reference": "https://github.com/phuvinh010701/ComfyUI-Nudenet", + "files": [ + "https://github.com/phuvinh010701/ComfyUI-Nudenet" + ], + "install_type": "git-clone", + "description": "Nodes for NSFW content filtering" + }, + { + "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": "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": "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": "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": "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": "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, and a few others to cut and paste back the cutting into the source." + }, + { + "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": "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": "mw", + "title": "MW-ComfyUI_OneButtonPrompt", + "reference": "https://github.com/billwuhao/ComfyUI_OneButtonPrompt", + "files": [ + "https://github.com/billwuhao/ComfyUI_OneButtonPrompt" + ], + "install_type": "git-clone", + "description": "A node that assists in one click generation of prompts (for image and video generation, etc.) in Comfyui." + }, + { + "author": "mw", + "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": "mw", + "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": "mw", + "title": "ComfyUI_DiffRhythm_MW", + "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": "mw", + "title": "MW-ComfyUI_PortraitTools", + "reference": "https://github.com/billwuhao/ComfyUI_PortraitTools", + "files": [ + "https://github.com/billwuhao/ComfyUI_PortraitTools" + ], + "install_type": "git-clone", + "description": "Portrait Tools: Facial detection cropping, alignment, ID photo, etc." + }, + { + "author": "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": "mw", + "title": "MW-ComfyUI_EraX-WoW-Turbo", + "reference": "https://github.com/billwuhao/ComfyUI_EraX-WoW-Turbo", + "files": [ + "https://github.com/billwuhao/ComfyUI_EraX-WoW-Turbo" + ], + "install_type": "git-clone", + "description": "Super fast multilingual speech recognition model based on Whisper Large-v3 Turbo. A node for ComfyUI." + }, + { + "author": "mw", + "title": "MW-ComfyUI_gemmax", + "reference": "https://github.com/billwuhao/ComfyUI_gemmax", + "files": [ + "https://github.com/billwuhao/ComfyUI_gemmax" + ], + "install_type": "git-clone", + "description": "XiaoMi GemmaX: Support 28 languages, Multilingual Translator based on Gemma. A node for ComfyUI." + }, + { + "author": "mw", + "title": "ComfyUI_CSM", + "reference": "https://github.com/billwuhao/ComfyUI_CSM", + "files": [ + "https://github.com/billwuhao/ComfyUI_CSM" + ], + "install_type": "git-clone", + "description": "ComfyUI node of Conversational Speech Model (CSM)." + }, + { + "author": "mw", + "title": "ComfyUI_SparkTTS", + "reference": "https://github.com/billwuhao/ComfyUI_SparkTTS", + "files": [ + "https://github.com/billwuhao/ComfyUI_SparkTTS" + ], + "install_type": "git-clone", + "description": "Using Spark-TTS in Comfyui. Spark-TTS: An Efficient LLM-Based Text-to-Speech Model with Single-Stream Decoupled Speech Tokenss" + }, + { + "author": "mw", + "title": "ComfyUI_AudioTools", + "reference": "https://github.com/billwuhao/ComfyUI_AudioTools", + "files": [ + "https://github.com/billwuhao/ComfyUI_AudioTools" + ], + "install_type": "git-clone", + "description": "This toolkit is designed for a wide range of audio tasks, from podcast enhancement and text-to-speech to creative music manipulation and fully automated, batch-processed audio-reactive visual generation." + }, + { + "author": "mw", + "title": "MW-ComfyUI_MegaTTS3", + "reference": "https://github.com/billwuhao/ComfyUI_MegaTTS3", + "files": [ + "https://github.com/billwuhao/ComfyUI_MegaTTS3" + ], + "install_type": "git-clone", + "description": "Lightweight and Efficient, šŸŽ§Ultra High-Quality Voice Cloning, Chinese and English." + }, + { + "author": "mw", + "title": "MW-ComfyUI_OuteTTS", + "reference": "https://github.com/billwuhao/ComfyUI_OuteTTS", + "files": [ + "https://github.com/billwuhao/ComfyUI_OuteTTS" + ], + "install_type": "git-clone", + "description": "OuteTTS - Unified Text-To-Speech. A node for ComfyUI" + }, + { + "author": "mw", + "title": "ComfyUI_IndexTTS", + "reference": "https://github.com/billwuhao/ComfyUI_IndexTTS", + "files": [ + "https://github.com/billwuhao/ComfyUI_IndexTTS" + ], + "install_type": "git-clone", + "description": "IndexTTS Voice Cloning Nodes for ComfyUI. High-quality voice cloning, very fast, supports Chinese and English, and allows custom voice styles." + }, + { + "author": "mw", + "title": "ComfyUI_ACE-Step", + "reference": "https://github.com/billwuhao/ComfyUI_ACE-Step", + "files": [ + "https://github.com/billwuhao/ComfyUI_ACE-Step" + ], + "install_type": "git-clone", + "description": "ACE-Step: A Step Towards Music Generation Foundation Model" + }, + { + "author": "mw", + "title": "ComfyUI_parakeet-tdt", + "reference": "https://github.com/billwuhao/ComfyUI_parakeet-tdt", + "files": [ + "https://github.com/billwuhao/ComfyUI_parakeet-tdt" + ], + "install_type": "git-clone", + "description": "parakeet-tdt-0.6b-v2: Automatic speech recognition (ASR) model designed for high-quality English transcription, featuring support for punctuation, capitalization, and accurate timestamp prediction." + }, + { + "author": "mw", + "title": "Comfyui_HeyGem", + "reference": "https://github.com/billwuhao/Comfyui_HeyGem", + "files": [ + "https://github.com/billwuhao/Comfyui_HeyGem" + ], + "install_type": "git-clone", + "description": "HeyGem AI avatar." + }, + { + "author": "mw", + "title": "ComfyUI_SOME", + "reference": "https://github.com/billwuhao/ComfyUI_SOME", + "files": [ + "https://github.com/billwuhao/ComfyUI_SOME" + ], + "install_type": "git-clone", + "description": "Sing to Midi šŸŽ¶" + }, + { + "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": "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": "ChenDarYen", + "title": "ComfyUI-NAG", + "reference": "https://github.com/ChenDarYen/ComfyUI-NAG", + "files": [ + "https://github.com/ChenDarYen/ComfyUI-NAG" + ], + "install_type": "git-clone", + "description": "ComfyUI implemtation for NAG" + }, + { + "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": "facok", + "title": "ComfyUI-TeaCacheHunyuanVideo", + "reference": "https://github.com/facok/ComfyUI-TeaCacheHunyuanVideo", + "files": [ + "https://github.com/facok/ComfyUI-TeaCacheHunyuanVideo" + ], + "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." + }, + { + "author": "facok", + "title": "comfyui-meancache-z", + "reference": "https://github.com/facok/comfyui-meancache-z", + "files": [ + "https://github.com/facok/comfyui-meancache-z" + ], + "install_type": "git-clone", + "description": "MeanCache: Training-free inference acceleration for Z-Image Flow Matching models" + }, + { + "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": "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": "jammyfu", + "title": "Painting Coder Utils", + "id": "painting-coder-utils", + "reference": "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils", + "files": [ + "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils" + ], + "install_type": "git-clone", + "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", + "title": "ComfyUI-TeaCache", + "id": "teacache", + "reference": "https://github.com/welltop-cn/ComfyUI-TeaCache", + "files": [ + "https://github.com/welltop-cn/ComfyUI-TeaCache" + ], + "install_type": "git-clone", + "description": "Unofficial implementation of [ali-vilab/TeaCache](https://github.com/ali-vilab/TeaCache) for ComfyUI" + }, + { + "author": "calcuis", + "title": "gguf", + "id": "gguf", + "reference": "https://github.com/calcuis/gguf", + "files": [ + "https://github.com/calcuis/gguf" + ], + "preemptions":[ + "LoaderGGUF", + "ClipLoaderGGUF", + "DualClipLoaderGGUF", + "TripleClipLoaderGGUF", + "LoaderGGUFAdvanced", + "GGUFSave" + ], + "install_type": "git-clone", + "description": "gguf node for comfyui" + }, + { + "author": "ainewsto", + "title": "comfyui-labs-google", + "reference": "https://github.com/ainewsto/comfyui-labs-google", + "files": [ + "https://github.com/ainewsto/comfyui-labs-google" + ], + "install_type": "git-clone", + "description": "NODES: ComfyUI-ImageFx, ComfyUI-Whisk, ComfyUI-Whisk-Prompts" + }, + { + "author": "ainewsto", + "title": "Comfyui-chatgpt-api", + "reference": "https://github.com/ainewsto/Comfyui-chatgpt-api", + "files": [ + "https://github.com/ainewsto/Comfyui-chatgpt-api" + ], + "install_type": "git-clone", + "description": "A new ComfyUI node for OpenAI's ChatGPT API has been added. It currently supports single and multiple image inputs, text input, image generation, and image editing." + }, + { + "author": "ainewsto", + "title": "Comfyui-google-veo2-api", + "reference": "https://github.com/ainewsto/Comfyui-google-veo2-api", + "files": [ + "https://github.com/ainewsto/Comfyui-google-veo2-api" + ], + "install_type": "git-clone", + "description": "NODES: Google Veo2 Video Generation" + }, + { + "author": "gremlation", + "title": "ComfyUI-ViewData", + "reference": "https://github.com/gremlation/ComfyUI-ViewData", + "files": [ + "https://github.com/gremlation/ComfyUI-ViewData" + ], + "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." + }, + { + "author": "gremlation", + "title": "ComfyUI-JMESPath", + "reference": "https://github.com/gremlation/ComfyUI-JMESPath", + "files": [ + "https://github.com/gremlation/ComfyUI-JMESPath" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that runs a [a/JMESPath](https://jmespath.org/) query against input JSON and outputs the result." + }, + { + "author": "gremlation", + "title": "ComfyUI-jq", + "reference": "https://github.com/gremlation/ComfyUI-jq", + "files": [ + "https://github.com/gremlation/ComfyUI-jq" + ], + "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." + }, + { + "author": "gremlation", + "title": "ComfyUI-ImageLabel", + "reference": "https://github.com/gremlation/ComfyUI-ImageLabel", + "files": [ + "https://github.com/gremlation/ComfyUI-ImageLabel" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that extends an image vertically to add a label either above or below it." + }, + { + "author": "gremlation", + "title": "ComfyUI-TrackAndWheel", + "reference": "https://github.com/gremlation/ComfyUI-TrackAndWheel", + "files": [ + "https://github.com/gremlation/ComfyUI-TrackAndWheel" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that improves panning and zooming on trackpads and with the mouse wheel." + }, + { + "author": "fuselayer", + "title": "comfyui-mosaic-blur", + "reference": "https://github.com/fuselayer/comfyui-mosaic-blur", + "files": [ + "https://github.com/fuselayer/comfyui-mosaic-blur" + ], + "install_type": "git-clone", + "description": "A simple mosaic blur node for ComfyUI that uses CV2 or Pillow" + }, + { + "author": "fuselayer", + "title": "comfyui-minimal-workflow-image", + "reference": "https://github.com/fuselayer/comfyui-minimal-workflow-image", + "files": [ + "https://github.com/fuselayer/comfyui-minimal-workflow-image" + ], + "install_type": "git-clone", + "description": "Fixed implementation of the export workflow image utility from [a/pythongosssss/ComfyUI-Custom-Scripts](https://github.com/pythongosssss/ComfyUI-Custom-Scripts). All nodes should display and all node links should be visible and render 1:1 to their actual states in ComfyUI." + }, + { + "author": "fuselayer", + "title": "comfyui-lite-tracker", + "reference": "https://github.com/fuselayer/comfyui-lite-tracker", + "files": [ + "https://github.com/fuselayer/comfyui-lite-tracker" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for LiteTracker, a fast and efficient point tracking model for videos with load model, track, and grid editor nodes." + }, + { + "author": "jerrylongyan", + "title": "ComfyUI-My-Mask", + "reference": "https://github.com/jerrylongyan/ComfyUI-My-Mask", + "files": [ + "https://github.com/jerrylongyan/ComfyUI-My-Mask" + ], + "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": "mira-6", + "title": "comfyui-sasolver", + "reference": "https://github.com/mira-6/comfyui-sasolver", + "files": [ + "https://github.com/mira-6/comfyui-sasolver" + ], + "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": "bubbliiiing", + "title": "VideoX-Fun", + "reference": "https://github.com/aigc-apps/VideoX-Fun", + "files": [ + "https://github.com/aigc-apps/VideoX-Fun" + ], + "install_type": "git-clone", + "description": "VideoX-Fun is a video generation pipeline that can be used to generate AI images and videos, as well as to train baseline and Lora models for Diffusion Transformer. We support direct prediction from pre-trained baseline models to generate videos with different resolutions, durations, and FPS. Additionally, we also support users in training their own baseline and Lora models to perform specific style transformations." + }, + { + "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": "DraconicDragon", + "title": "ComfyUI-RyuuNoodles", + "reference": "https://github.com/DraconicDragon/ComfyUI-RyuuNoodles", + "files": [ + "https://github.com/DraconicDragon/ComfyUI-RyuuNoodles" + ], + "install_type": "git-clone", + "description": "Collection of one or more custom nodes for ComfyUI made mainly for personal use (GitHub README for more info). \nNodes: live Token Counter on any node, switch nodes with fallback functionality and FLOAT/INT nodes (and maybe more)." + }, + { + "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": "a-und-b", + "title": "IC-Light V2 (fal.ai)", + "reference": "https://github.com/a-und-b/ComfyUI_IC-Light-v2_fal", + "files": [ + "https://github.com/a-und-b/ComfyUI_IC-Light-v2_fal" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node using the fal.ai API for the IC-Light V2 model" + }, + { + "author": "a-und-b", + "title": "ComfyUI Mask Area Condition", + "reference": "https://github.com/a-und-b/ComfyUI_MaskAreaCondition", + "files": [ + "https://github.com/a-und-b/ComfyUI_MaskAreaCondition" + ], + "install_type": "git-clone", + "description": "Calculates the percentage of a mask area compared to the total image size and outputs a boolean based on a defined threshold." + }, + { + "author": "a-und-b", + "title": "ComfyUI_AB_Wildcard", + "reference": "https://github.com/a-und-b/ComfyUI_AB_Wildcard", + "files": [ + "https://github.com/a-und-b/ComfyUI_AB_Wildcard" + ], + "install_type": "git-clone", + "description": "Simple node for advanced wildcard text processing. Supports variables, conditionals, tag aggregation, weighted selection, and deep nesting. Lightweight, fast, zero external dependencies." + }, + { + "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": "benjiyaya", + "title": "ComfyUI-QwenImageLayeredToLength", + "reference": "https://github.com/benjiyaya/ComfyUI-QwenImageLayeredToLength", + "files": [ + "https://github.com/benjiyaya/ComfyUI-QwenImageLayeredToLength" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for using Qwen-Image-Layered as a conversion tool to transform layer numbers into latent space length parameters. (Description by CC)" + }, + { + "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-MGnodes", + "reference": "https://github.com/meanin2/comfyui-MGnodes", + "files": [ + "https://github.com/meanin2/comfyui-MGnodes" + ], + "install_type": "git-clone", + "description": "Assorted custom nodes with a focus on simplicity and usability including watermark node and others focused on customizing my comfy experience." + }, + { + "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": "hmwl", + "title": "ComfyUI-TaskMonitor", + "reference": "https://github.com/hmwl/ComfyUI-TaskMonitor", + "files": [ + "https://github.com/hmwl/ComfyUI-TaskMonitor" + ], + "install_type": "git-clone", + "description": "A powerful task monitoring extension for ComfyUI that provides real-time progress tracking, workflow statistics, and execution monitoring." + }, + { + "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": "HellerCommaA", + "title": "ComfyUI-ZImageLatent", + "reference": "https://github.com/HellerCommaA/ComfyUI-ZImageLatent", + "files": [ + "https://github.com/HellerCommaA/ComfyUI-ZImageLatent" + ], + "install_type": "git-clone", + "description": "A super simple node that outputs official zimage resolutions as a latent" + }, + { + "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": "Burgstall-labs", + "title": "ComfyUI-BS-Textchop", + "reference": "https://github.com/Burgstall-labs/ComfyUI-BS-Textchop", + "files": [ + "https://github.com/Burgstall-labs/ComfyUI-BS-Textchop" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that extracts text segments based on specified start and/or end marker strings. You can define multiple marker pairs to extract different segments from the same input text.\nThe node intelligently adapts its extraction based on whether you provide a start marker, an end marker, or both for each pair." + }, + { + "author": "Burgstall-labs", + "title": "ComfyUI-BETA-Cropnodes", + "reference": "https://github.com/Burgstall-labs/ComfyUI-BETA-Cropnodes", + "reference2": "https://github.com/Burgstall-labs/ComfyUI-BETA-Helpernodes", + "files": [ + "https://github.com/Burgstall-labs/ComfyUI-BETA-Cropnodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI designed for cropping and stitching video frames (image batches). Part of the 'Burgstall Enabling The Awesomeness' suite." + }, + { + "author": "Burgstall-labs", + "title": "ComfyUI-BETA-Helpernodes", + "reference": "https://github.com/Burgstall-labs/ComfyUI-BETA-Helpernodes", + "files": [ + "https://github.com/Burgstall-labs/ComfyUI-BETA-Helpernodes" + ], + "install_type": "git-clone", + "description": "Custom utility nodes for ComfyUI, providing helpers for tasks like video frame manipulation and advanced audio saving. Part of the 'Burgstall Enabling The Awesomeness' suite." + }, + { + "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": "Kidev", + "title": "ComfyUI-FaceFilter", + "reference": "https://github.com/Kidev/ComfyUI-FaceFilter", + "files": [ + "https://github.com/Kidev/ComfyUI-FaceFilter" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for face based filtering plus image batch merging." + }, + { + "author": "Dehypnotic", + "title": "Dehypnotic Save nodes", + "reference": "https://github.com/Dehypnotic/comfyui-dehypnotic-save-nodes", + "files": [ + "https://github.com/Dehypnotic/comfyui-dehypnotic-save-nodes" + ], + "install_type": "git-clone", + "description": "Save toolkit for audio, image, and video: MP3 audio export with VBR/CBR options, multi-format image saving with workflow/thumbnail metadata, and video + frame encoding (MP4/MKV/WEBM/MOV) — all sharing whitelist-safe paths and rich placeholder templating." + }, + { + "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", + "reference2": "https://github.com/alexpuliatti/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": "KLL535", + "title": "ComfyUI_Simple_Qwen3-VL-gguf", + "reference": "https://github.com/KLL535/ComfyUI_Simple_Qwen3-VL-gguf", + "files": [ + "https://github.com/KLL535/ComfyUI_Simple_Qwen3-VL-gguf" + ], + "install_type": "git-clone", + "description": "Simple Qwen3-VL gguf LLM model loader" + }, + { + "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": "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": "fblissjr", + "title": "ComfyUI-WanActivationEditor", + "reference": "https://github.com/fblissjr/ComfyUI-WanActivationEditor", + "files": [ + "https://github.com/fblissjr/ComfyUI-WanActivationEditor" + ], + "install_type": "git-clone", + "description": "editing activations in wanvideo" + }, + { + "author": "fblissjr", + "title": "Shrug-Prompter: Unified VLM Integration for ComfyUI", + "reference": "https://github.com/fblissjr/shrug-prompter", + "files": [ + "https://github.com/fblissjr/shrug-prompter" + ], + "install_type": "git-clone", + "description": "A comprehensive Vision-Language Model (VLM) integration system for ComfyUI with more intelligent prompt optimization, object detection, template support, and performance optimizations. Optimized for Wan2.1, Flux Kontext, and general purpose. Goes well with my other project, an MLX/llama.cpp server with hot swappable models and ollama api compatibility, (heylookitsanllm)[a/https://github.com/fblissjr/heylookitsanllm](https://github.com/fblissjr/heylookitsanllm)" + }, + { + "author": "fblissjr", + "title": "ComfyUI-QwenImageWanBridge", + "reference": "https://github.com/fblissjr/ComfyUI-QwenImageWanBridge", + "files": [ + "https://github.com/fblissjr/ComfyUI-QwenImageWanBridge" + ], + "install_type": "git-clone", + "description": "Custom nodes for bridging Qwen-Image and WAN video models in ComfyUI." + }, + { + "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": "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": "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": "ComfyUI_pytorch360convert", + "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 and working with 360 degree equirectangular images, cubemap, and perspective images. Also includes Circular padding Conv2d options for models and VAEs, along with nodes to fix seams and polar artifacts. Panoramic 360 images are also sometimes known as VR photography (virtual reality), HDRI environments (ex: skyboxes), image spheres, spherical images, 360 pano." + }, + { + "author": "ProGamerGov", + "title": "ComfyUI_pytorch360convert_video", + "reference": "https://github.com/ProGamerGov/ComfyUI_pytorch360convert_video", + "files": [ + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert_video" + ], + "install_type": "git-clone", + "description": "Video nodes for comfyui-pytorch360convert" + }, + { + "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": "This ComfyUI extension provides custom nodes for integrating with LM Studio, allowing for loading, managing, and making requests of LLM models through the LMStudio local server and command-line interface." + }, + { + "author": "burnsbert", + "title": "EBU Workflow", + "id": "ebu-workflow", + "reference": "https://github.com/burnsbert/ComfyUI-EBU-Workflow", + "files": [ + "https://github.com/burnsbert/ComfyUI-EBU-Workflow" + ], + "install_type": "git-clone", + "description": "Custom nodes for general workflow quality of life including resolutions sorted by aspect ratio, upscaling helps, and unique file names" + }, + { + "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": "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-loopback", + "reference2": "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": "Revolutionize your workflow with the ultimate LoRA companion for ComfyUI!" + }, + { + "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_IO", + "reference": "https://github.com/Conor-Collins/ComfyUI-CoCoTools_IO", + "files": [ + "https://github.com/Conor-Collins/ComfyUI-CoCoTools_IO" + ], + "install_type": "git-clone", + "description": "Advanced image input and output: EXR, 32 bit support and more" + }, + { + "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": "gmorks", + "title": "ComfyUI-Animagine-Prompt", + "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 https://huggingface.co/cagliostrolab/animagine-xl-4.0 model" + }, + { + "author": "gmorks", + "title": "ComfyUI-WatchPoint", + "reference": "https://github.com/gmorks/ComfyUI-WatchPoint", + "files": [ + "https://github.com/gmorks/ComfyUI-WatchPoint" + ], + "install_type": "git-clone", + "description": "Multi-monitor preview with external window (zoom, pan, save), floating in-browser preview, and prompt monitoring. Features stable threading, customizable positioning, and Signal Scout for real-time prompt tracking." + }, + { + "author": "jinanlongen", + "title": "ComfyUI Prompt Expander Node", + "reference": "https://github.com/jinanlongen/ComfyUI-Prompt-Expander", + "reference2": "https://github.com/derekluo/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": "CURRENTLY IN ACTIVE DEVELOPMENT (BETA)! IF THINGS BREAK ITS BECAUSE I BROKE IT.... This my implemenation of a `pipe` in ComfyUI. Is it better or worse than others? No idea. (also has some utility nodes)" + }, + { + "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": "slvslvslv", + "title": "ComfyUI-SmartImageTools", + "reference": "https://github.com/slvslvslv/ComfyUI-SmartImageTools", + "files": [ + "https://github.com/slvslvslv/ComfyUI-SmartImageTools" + ], + "install_type": "git-clone", + "description": "NODES: Various nodes for image manipulation" + }, + { + "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": "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": "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": "martin-rizzo", + "title": "ComfyUI-ZImagePowerNodes", + "reference": "https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes", + "files": [ + "https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes" + ], + "install_type": "git-clone", + "description": "A set of ComfyUI nodes designed and fine-tuned specifically for the Z-Image model. Pushing the best image generation model to its limits!" + }, + { + "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": "Essential nodes for semantic image editing workflows with Kontext, Qwen Image Edit, and HiDream E1.1 models. Features automated iterative editing with Boyo Image Grab, organised dataset creation with paired image/prompt savers, and comprehensive file management tools. Perfect for batch processing, training data preparation, and streamlined semantic editing pipelines. Added Uncensored Qwen VL abliterated model node and downloader!" + }, + { + "author": "DragonDiffusionbyBoyo", + "title": "BoyoSupercoolWrapper", + "reference": "https://github.com/DragonDiffusionbyBoyo/BoyoSupercoolWrapper", + "files": [ + "https://github.com/DragonDiffusionbyBoyo/BoyoSupercoolWrapper" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI wrapper for Andrew DalPino's SuperCool upscaler, enabling its use directly within ComfyUI's node workflow. No extra dependencies required—just drop in the models and go." + }, + { + "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": "dorpxam", + "title": "ComfyUI-FramePack-F1-T2V", + "reference": "https://github.com/dorpxam/ComfyUI-FramePack-F1-T2V", + "files": [ + "https://github.com/dorpxam/ComfyUI-FramePack-F1-T2V" + ], + "install_type": "git-clone", + "description": "A set of custom nodes enabling Text-to-Video support for FramePack-F1" + }, + { + "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": "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": "comfyui_LLM_Polymath", + "id": "llm_polymath", + "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 integrating LLMs, real-time web search, image handling, and image scraping. Supports APIs from OpenAI, Google, Anthropic, Grok, DeepSeek, and local Ollama. Includes custom node finder, smart assistant tools, and growing subnodes like text masking and concept eraser." + }, + { + "author": "lum3on", + "title": "HiDream Sampler", + "id": "hidream-sampler", + "reference": "https://github.com/lum3on/comfyui_HiDream-Sampler", + "files": [ + "https://github.com/lum3on/comfyui_HiDream-Sampler" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for generating images using the HiDream AI model. Uses quantization for lower memory usage." + }, + { + "author": "lum3on", + "title": "ComfyUI-ModelQuantizer", + "id": "ModelQuantizer", + "reference": "https://github.com/lum3on/ComfyUI-ModelQuantizer", + "files": [ + "https://github.com/lum3on/ComfyUI-ModelQuantizer" + ], + "install_type": "git-clone", + "description": "This is a node to converts models into Fp8, bf16, fp16." + }, + { + "author": "lum3on", + "title": "ComfyUI-FrameUtilitys", + "reference": "https://github.com/lum3on/ComfyUI-FrameUtilitys", + "files": [ + "https://github.com/lum3on/ComfyUI-FrameUtilitys" + ], + "install_type": "git-clone", + "description": "Professional-grade frame manipulation tools for ComfyUI, providing advanced video editing capabilities with native IMAGE tensor support." + }, + { + "author": "lum3on", + "title": "comfyui_EdgeTAM", + "reference": "https://github.com/lum3on/comfyui_EdgeTAM", + "files": [ + "https://github.com/lum3on/comfyui_EdgeTAM" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node implementation of EdgeTAM (On-Device Track Anything Model) for efficient, interactive video object tracking." + }, + { + "author": "lum3on", + "title": "ComfyUI-AudioX", + "reference": "https://github.com/lum3on/ComfyUI-StableAudioX", + "files": [ + "https://github.com/lum3on/ComfyUI-StableAudioX" + ], + "install_type": "git-clone", + "description": "A powerful audio generation extension for ComfyUI that integrates AudioX models for high-quality audio synthesis from text and video inputs." + }, + { + "author": "lum3on", + "title": "ComfyUI Midjourney Scraper Node", + "reference": "https://github.com/lum3on/ComfyUI_MJ-Scraper", + "files": [ + "https://github.com/lum3on/ComfyUI_MJ-Scraper" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI allows you to scrape and download images and videos from the Midjourney showcase pages. It uses undetected_chromedriver to bypass anti-scraping measures, but requires session cookies from a logged-in browser session to function correctly." + }, + { + "author": "lum3on", + "title": "ComfyUI Reve API Integration Node", + "reference": "https://github.com/lum3on/ComfyUI_Reve-API", + "files": [ + "https://github.com/lum3on/ComfyUI_Reve-API" + ], + "install_type": "git-clone", + "description": "A unified ComfyUI custom node that integrates all Reve API endpoints (Create, Edit, Remix) into a single, dynamic node with operation-specific inputs and seamless operation switching." + }, + { + "author": "lum3on", + "title": "ComfyUI_NativeBlockSwap", + "reference": "https://github.com/lum3on/ComfyUI_NativeBlockSwap", + "files": [ + "https://github.com/lum3on/ComfyUI_NativeBlockSwap" + ], + "install_type": "git-clone", + "description": "Native block swap node for ComfyUI WAN models (2.1 & 2.2), reduces VRAM by swapping up to 40 transformer blocks to CPU." + }, + { + "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": "dasilva333", + "title": "ComfyUI HunyuanVideo-Foley Custom Node", + "reference": "https://github.com/dasilva333/ComfyUI_HunyuanVideo-Foley", + "files": [ + "https://github.com/dasilva333/ComfyUI_HunyuanVideo-Foley" + ], + "install_type": "git-clone", + "description": "This custom node integrates the HunyuanVideo-Foley model for generating audio from video frames and text prompts in ComfyUI. It's built for use in generating Foley sounds from video and text inputs." + }, + { + "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", + "reference2": "https://github.com/mr-pepe69/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, floats and string storage and output from a single node." + }, + { + "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": "BuffMcBigHuge", + "title": "ComfyUI-Google-AI-Studio", + "reference": "https://github.com/BuffMcBigHuge/ComfyUI-Google-AI-Studio", + "files": [ + "https://github.com/BuffMcBigHuge/ComfyUI-Google-AI-Studio" + ], + "install_type": "git-clone", + "description": "Google AI Studio by BuffMcBigHuge" + }, + { + "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": "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": "HJH-AILab", + "title": "ComfyUI_CosyVoice2", + "reference": "https://github.com/HJH-AILab/ComfyUI_CosyVoice2", + "files": [ + "https://github.com/HJH-AILab/ComfyUI_CosyVoice2" + ], + "install_type": "git-clone", + "description": "A wrapper of [a/CosyVoice2](https://github.com/FunAudioLLM/CosyVoice/)'s ComfyUI custom_nodes" + }, + { + "author": "HJH-AILab", + "title": "ComfyUI_Facefusion", + "reference": "https://github.com/HJH-AILab/ComfyUI_Facefusion", + "files": [ + "https://github.com/HJH-AILab/ComfyUI_Facefusion" + ], + "install_type": "git-clone", + "description": "a [a/Facefusion](https://github.com/facefusion/facefusion)'s wrapper for ComfyUI custom node." + }, + { + "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": "Easymode-ai", + "title": "FlexPainter ComfyUI Wrapper", + "reference": "https://github.com/Easymode-ai/ComfyUI-FlexPainter", + "files": [ + "https://github.com/Easymode-ai/ComfyUI-FlexPainter" + ], + "install_type": "git-clone", + "description": "ComfyUI FlexPainter Wrapper" + }, + { + "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": "aicuai", + "title": "comfyui-save-image-watermark", + "reference": "https://github.com/aicuai/comfyui-save-image-watermark", + "files": [ + "https://github.com/aicuai/comfyui-save-image-watermark" + ], + "install_type": "git-clone", + "description": "Save images with visible watermarks (logo/text), invisible watermarks (LSB steganography), and metadata embedding. Supports PNG/JPEG/WebP with browser download." + }, + { + "author": "benda1989", + "title": "GKKĀ·CosyVoice", + "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" + }, + { + "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/RenesStuffDanbooruTagGet", + "files": [ + "https://github.com/crave33/RenesStuffDanbooruTagGet" + ], + "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": "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": "Pablerdo", + "title": "ComfyUI-ResizeZeptaPayload", + "reference": "https://github.com/Pablerdo/ComfyUI-ResizeZeptaPayload", + "files": [ + "https://github.com/Pablerdo/ComfyUI-ResizeZeptaPayload" + ], + "install_type": "git-clone", + "description": "Resize a batch of trajectories or images" + }, + { + "author": "Pablerdo", + "title": "Stable Virtual Camera", + "reference": "https://github.com/Pablerdo/ComfyUI-StableVirtualCameraWrapper", + "files": [ + "https://github.com/Pablerdo/ComfyUI-StableVirtualCameraWrapper" + ], + "install_type": "git-clone", + "description": "Generative View Synthesis with Diffusion Models" + }, + { + "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": "KAVVATARE", + "title": "RightEyeDisparity", + "reference": "https://github.com/KAVVATARE/ComfyUI_RightEyeDisparity", + "files": [ + "https://github.com/KAVVATARE/ComfyUI_RightEyeDisparity" + ], + "install_type": "git-clone", + "description": "A simple ComfyUI node for generating right eye disparity for VR videos" + }, + { + "author": "KAVVATARE", + "title": "ComfyUI_SimpleGoogleTranslate", + "reference": "https://github.com/KAVVATARE/ComfyUI_SimpleGoogleTranslate", + "files": [ + "https://github.com/KAVVATARE/ComfyUI_SimpleGoogleTranslate" + ], + "install_type": "git-clone", + "description": "Minimal and easy-to-use Google Translate text node for ComfyUI using the googletrans library with automatic language detection and full language support. (Description by CC)" + }, + { + "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 Gallery for ComfyUI with image metadata inspection. Support for images and video." + }, + { + "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": "keit", + "title": "ComfyUI-musubi-tuner", + "reference": "https://github.com/keit0728/ComfyUI-musubi-tuner", + "files": [ + "https://github.com/keit0728/ComfyUI-musubi-tuner" + ], + "install_type": "git-clone", + "description": "This is a custom node that allows you to run musubi-tuner from ComfyUI." + }, + { + "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": "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": "chenpipi0807", + "title": "ComfyUI-Index-TTS", + "reference": "https://github.com/chenpipi0807/ComfyUI-Index-TTS", + "files": [ + "https://github.com/chenpipi0807/ComfyUI-Index-TTS" + ], + "install_type": "git-clone", + "description": "NODES: An industrial-grade zero-shot text-to-speech synthesis system with a ComfyUI interface." + }, + { + "author": "chenpipi0807", + "title": "Comfyui-CustomizeTextEncoder-Qwen-image", + "reference": "https://github.com/chenpipi0807/Comfyui-CustomizeTextEncoder-Qwen-image", + "files": [ + "https://github.com/chenpipi0807/Comfyui-CustomizeTextEncoder-Qwen-image" + ], + "install_type": "git-clone", + "description": "The official ComfyUI TextEncodeQwenImageEdit node simplifies prompt engineering. This node supports custom system prompts to enhance flexibility." + }, + { + "author": "ifmylove2011", + "title": "comfyui-missed-tool", + "reference": "https://github.com/ifmylove2011/comfyui-missed-tool", + "files": [ + "https://github.com/ifmylove2011/comfyui-missed-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": "illuminatianon", + "title": "comfyui-lumi-tools", + "reference": "https://github.com/illuminatianon/comfyui-lumi-tools", + "files": [ + "https://github.com/illuminatianon/comfyui-lumi-tools" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node pack by Lumi." + }, + { + "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": "penposs", + "title": "Comfyui_wan_api", + "reference": "https://github.com/penposs/Comfyui_wan_api", + "files": [ + "https://github.com/penposs/Comfyui_wan_api" + ], + "install_type": "git-clone", + "description": "Free trial of Tongyi Wanxiang wan2.1 model, this is a batch implementation of wan2.1 API, providing batch processing for your short video production." + }, + { + "author": "penposs", + "title": "Comfyui-banana2", + "reference": "https://github.com/penposs/Comfyui-banana2", + "files": [ + "https://github.com/penposs/Comfyui-banana2" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI using Google's Gemini 2.5 Flash Image and Gemini 3 Pro Image Preview APIs to generate images with resolution scaling for 1K, 2K, 4K, 8K. (Description by CC)" + }, + { + "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": "cardenluo", + "title": "ComfyUI-Apt_UnitPromptWeight", + "reference": "https://github.com/cardenluo/ComfyUI-Apt_UnitPromptWeight", + "files": [ + "https://github.com/cardenluo/ComfyUI-Apt_UnitPromptWeight" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI node for precise control of prompt weights, supporting multiple processing modes and visual weight allocation. (Description by CC)" + }, + { + "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/nunchaku-tech/ComfyUI-nunchaku", + "files": [ + "https://github.com/nunchaku-tech/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": "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": "Nikosis", + "title": "ComfyUI-Nikosis-Preprocessors", + "reference": "https://github.com/Nikosis/ComfyUI-Nikosis-Preprocessors", + "files": [ + "https://github.com/Nikosis/ComfyUI-Nikosis-Preprocessors" + ], + "install_type": "git-clone", + "description": "Nodes: DepthAnything v2, LineArt, PyraCanny, Sketch" + }, + { + "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": "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": "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": "thezveroboy", + "title": "ComfyUI_ACE-Step-zveroboy", + "reference": "https://github.com/thezveroboy/ComfyUI_ACE-Step-zveroboy", + "files": [ + "https://github.com/thezveroboy/ComfyUI_ACE-Step-zveroboy" + ], + "description": "I took the original source code from the repository [a/ComfyUI_ACE-Step](https://github.com/billwuhao/ComfyUI_ACE-Step) and modified it to make the model loading explicit instead of hidden.", + "install_type": "git-clone" + }, + { + "author": "thezveroboy", + "title": "ComfyUI Random Image Loader", + "reference": "https://github.com/thezveroboy/comfyui-random-image-loader", + "files": [ + "https://github.com/thezveroboy/comfyui-random-image-loader" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that loads a random image from a specified folder and outputs it in the standard ComfyUI IMAGE format, along with a MASK and the image path as STRING. Images are loaded in their original dimensions." + }, + { + "author": "thezveroboy", + "title": "ComfyUI-LUT", + "reference": "https://github.com/thezveroboy/ComfyUI-lut", + "files": [ + "https://github.com/thezveroboy/ComfyUI-lut" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI for simple LUT file extraction from any image." + }, + { + "author": "thezveroboy", + "title": "comfyui-RandomPromptsZveroboy", + "reference": "https://github.com/thezveroboy/comfyui-RandomPromptsZveroboy", + "files": [ + "https://github.com/thezveroboy/comfyui-RandomPromptsZveroboy" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI that fixes an existing node [a/comfyui-dynamicprompts](https://github.com/adieyal/comfyui-dynamicprompts)." + }, + { + "author": "thezveroboy", + "title": "ComfyUI-ClipReshaper", + "reference": "https://github.com/thezveroboy/ComfyUI-ClipReshaper", + "files": [ + "https://github.com/thezveroboy/ComfyUI-ClipReshaper" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes to reshape/project Conditioning tensors and ensure SDXL conditioning metadata." + }, + { + "author": "thezveroboy", + "title": "ComfyUI-LoadRandomText", + "reference": "https://github.com/thezveroboy/ComfyUI-LoadRandomText", + "files": [ + "https://github.com/thezveroboy/ComfyUI-LoadRandomText" + ], + "install_type": "git-clone", + "description": "Load Random Text is a ComfyUI node pack that instantly picks a text file from a folder and outputs its contents straight into your workflow." + }, + { + "author": "thezveroboy", + "title": "ComfyUI-klein4-9multiangle", + "reference": "https://github.com/thezveroboy/ComfyUI-klein4-9multiangle", + "files": [ + "https://github.com/thezveroboy/ComfyUI-klein4-9multiangle" + ], + "install_type": "git-clone", + "description": "Klein4&9 MultiAngle Prompt is a ComfyUI node that lets you quickly set the camera angle and distance to the subject in your prompt without typing long descriptions manually." + }, + { + "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" + ], + "install_type": "git-clone", + "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." + }, + { + "author": "pixelworldai", + "title": "ComfyUI-WorkflowGraphics", + "reference": "https://github.com/pixelworldai/ComfyUI-WorkflowGraphics", + "files": [ + "https://github.com/pixelworldai/ComfyUI-WorkflowGraphics" + ], + "install_type": "git-clone", + "description": "Embed images directly in your workflow JSONs" + }, + { + "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 - Token Counter - Optimal Empty Latent" + }, + { + "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": "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": "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": "infinigence", + "title": "ComfyUI-Infinigence-Nodes", + "reference": "https://github.com/infinigence/ComfyUI-Infinigence-Nodes", + "files": [ + "https://github.com/infinigence/ComfyUI-Infinigence-Nodes" + ], + "install_type": "git-clone", + "description": "NODES: DrawTextNode, Qwen2.5VL_api, ..." + }, + { + "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": "RaymondProduction", + "title": "Zerna Pack", + "reference": "https://github.com/RaymondProduction/comfyui-zerna-pack", + "files": [ + "https://github.com/RaymondProduction/comfyui-zerna-pack" + ], + "install_type": "git-clone", + "description": "A set of nodes for batch processing of text and images." + }, + { + "author": "svetozarov", + "title": "AS_LLM_nodes", + "reference": "https://github.com/svetozarov/AS_LLM_nodes", + "files": [ + "https://github.com/svetozarov/AS_LLM_nodes" + ], + "install_type": "git-clone", + "description": "This ComfyUI extension provides custom nodes for working with Google Gemini and OpenAI ChatGPT." + }, + { + "author": "Andro-Meta", + "title": "ComfyUI-Ovis2", + "reference": "https://github.com/Andro-Meta/ComfyUI-Ovis2", + "files": [ + "https://github.com/Andro-Meta/ComfyUI-Ovis2" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node set for integrating [a/Ovis2](https://huggingface.co/AIDC-AI/Ovis2-34B), a powerful multimodal large language model designed to analyze images and videos." + }, + { + "author": "rainlizard", + "title": "Raffle", + "reference": "https://github.com/rainlizard/ComfyUI-Raffle", + "files": [ + "https://github.com/rainlizard/ComfyUI-Raffle" + ], + "install_type": "git-clone", + "description": "A semi-random prompt generator for danbooru tags that works alongside your character prompt, allowing you to put your waifu in many scenarios. (for Illustrious/NoobAI/Pony)" + }, + { + "author": "jupo-ai", + "title": "comfy-ex-tagcomplete", + "id": "comfy-ex-tagcomplete", + "reference": "https://github.com/jupo-ai/comfy-ex-tagcomplete", + "files": [ + "https://github.com/jupo-ai/comfy-ex-tagcomplete" + ], + "install_type": "git-clone", + "description": "tag completer with csv file" + }, + { + "author": "felixszeto", + "title": "ComfyUI-RequestNodes", + "reference": "https://github.com/felixszeto/ComfyUI-RequestNodes", + "files": [ + "https://github.com/felixszeto/ComfyUI-RequestNodes" + ], + "install_type": "git-clone", + "description": "This is a request node tool designed for making HTTP requests (GET/POST) to APIs and viewing the responses. It is useful for API testing and development." + }, + { + "author": "AIExplorer25", + "title": "ComfyUI_AutoDownloadModels", + "reference": "https://github.com/AIExplorer25/ComfyUI_AutoDownloadModels", + "files": [ + "https://github.com/AIExplorer25/ComfyUI_AutoDownloadModels" + ], + "install_type": "git-clone", + "description": "This custom node helps to auto download models from huggingface" + }, + { + "author": "AIExplorer25", + "title": "ComfyUI_ChatGptHelper", + "reference": "https://github.com/AIExplorer25/ComfyUI_ChatGptHelper", + "files": [ + "https://github.com/AIExplorer25/ComfyUI_ChatGptHelper" + ], + "install_type": "git-clone", + "description": "ComfyUI ChatGPT Helper ComfyUI ChatGPT Helper is a custom node extension for ComfyUI that integrates OpenAI's ChatGPT capabilities directly into your ComfyUI workflows. This tool allows for dynamic prompt generation, automated text manipulation, and enhanced interactivity within your AI image generation processes." + }, + { + "author": "AIExplorer25", + "title": "ComfyUI_ImageCaptioner", + "reference": "https://github.com/AIExplorer25/ComfyUI_ImageCaptioner", + "files": [ + "https://github.com/AIExplorer25/ComfyUI_ImageCaptioner" + ], + "install_type": "git-clone", + "description": "This custom node helps to generate cation for images for lora training." + }, + { + "author": "Altair200333", + "title": "Flux Pro Nodes for ComfyUI", + "reference": "https://github.com/Altair200333/ComfyUI_Flux_1.1_PRO", + "files": [ + "https://github.com/Altair200333/ComfyUI_Flux_1.1_PRO" + ], + "install_type": "git-clone", + "description": "This plugin adds a new node to ComfyUI. The node uses the FLUX.1 Fill API to fill in parts of an image." + }, + { + "author": "PiggyDance", + "title": "ComfyUI_OpenCV", + "reference": "https://github.com/PiggyDance/ComfyUI_OpenCV", + "files": [ + "https://github.com/PiggyDance/ComfyUI_OpenCV" + ], + "install_type": "git-clone", + "description": "OpenCV nodes for ComfyUI" + }, + { + "author": "wywywywy", + "title": "ComfyUI Pause Workflow Node", + "reference": "https://github.com/wywywywy/ComfyUI-pause", + "files": [ + "https://github.com/wywywywy/ComfyUI-pause" + ], + "install_type": "git-clone", + "description": "Node to pause a workflow with a continue button" + }, + { + "author": "Semper-Sursum", + "title": "HF-Flux-ComfyUI", + "reference": "https://github.com/Semper-Sursum/HF-Flux-ComfyUI", + "files": [ + "https://github.com/Semper-Sursum/HF-Flux-ComfyUI" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI enables direct integration with Hugging Face Flux models for image generation via API. Users can leverage the power of Flux models like FLUX.1 [schnell] and FLUX.1 [dev] without leaving the ComfyUI environment" + }, + { + "author": "Semper-Sursum", + "title": "ComfyUI-PromptWrapper", + "reference": "https://github.com/clouddreamfly/ComfyUI-PromptWrapper", + "files": [ + "https://github.com/clouddreamfly/ComfyUI-PromptWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for PromptWrapper, Mainly for prompt word translation, Chinese translation into English or English translation into Chinese." + }, + { + "author": "SYaroslavIv", + "title": "SwD Preset Selector for ComfyUI", + "reference": "https://github.com/YaroslavIv/comfyui_swd", + "files": [ + "https://github.com/YaroslavIv/comfyui_swd" + ], + "install_type": "git-clone", + "description": "The SwD Preset Selector is a custom node for ComfyUI that provides a simple way to select predefined SwD configurations." + }, + { + "author": "game4d", + "title": "ComfyUI-BDsInfiniteYou", + "reference": "https://github.com/game4d/ComfyUI-BDsInfiniteYou", + "files": [ + "https://github.com/game4d/ComfyUI-BDsInfiniteYou" + ], + "install_type": "git-clone", + "description": "ComfyUI custom_node for [a/ByteDance's InfiniteYou](https://github.com/bytedance/InfiniteYou)." + }, + { + "author": "hayde0096", + "title": "EasySettingpipes", + "reference": "https://github.com/hayde0096/Comfyui-EasySettingpipes", + "files": [ + "https://github.com/hayde0096/Comfyui-EasySettingpipes" + ], + "install_type": "git-clone", + "description": "Just a Sampler and another settings pipe for comfyui" + }, + { + "author": "orex2121", + "title": "comfyui-OreX", + "reference": "https://github.com/orex2121/comfyui-OreX", + "files": [ + "https://github.com/orex2121/comfyui-OreX" + ], + "install_type": "git-clone", + "description": "comfyui-OreX is a set of nodes for using LLM models via a free API." + }, + { + "author": "zakantonio", + "title": "Avatar Generation Experience", + "reference": "https://github.com/zakantonio/AvatarGen-experience", + "files": [ + "https://github.com/zakantonio/AvatarGen-experience" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that transforms user photos into stylized character avatars." + }, + { + "author": "Gue-e", + "title": "ComfyUI-PanoCard", + "reference": "https://github.com/Gue-e/ComfyUI-PanoCard", + "files": [ + "https://github.com/Gue-e/ComfyUI-PanoCard" + ], + "install_type": "git-clone", + "description": "A plugin application that utilizes ComfyUI to generate 360-degree panoramic images. It primarily works by converting between flat images and equidistant cylindrical projections, stretching flat images into a curved format, and setting regional conditions, while harnessing the power of large models to produce 360-degree panoramic views." + }, + { + "author": "stepfun-ai", + "title": "ComfyUI-StepVideo", + "reference": "https://github.com/stepfun-ai/ComfyUI-StepVideo", + "files": [ + "https://github.com/stepfun-ai/ComfyUI-StepVideo" + ], + "install_type": "git-clone", + "description": "This repository contains ComfyUI custom nodes for StepVideo." + }, + { + "author": "LoveEatCandy", + "title": "COMFYUI-ReplacePartOfImage", + "reference": "https://github.com/LoveEatCandy/COMFYUI-ReplacePartOfImage", + "files": [ + "https://github.com/LoveEatCandy/COMFYUI-ReplacePartOfImage" + ], + "install_type": "git-clone", + "description": "Replace part of an image with another image" + }, + { + "author": "Flow-two", + "title": "ComfyUI-WanStartEndFramesNative", + "reference": "https://github.com/Flow-two/ComfyUI-WanStartEndFramesNative", + "files": [ + "https://github.com/Flow-two/ComfyUI-WanStartEndFramesNative" + ], + "install_type": "git-clone", + "description": "Start and end frames video generation node that supports native ComfyUI." + }, + { + "author": "Creepybits", + "title": "ComfyUI-Creepy_nodes", + "id": "Creepy_nodes", + "reference": "https://github.com/Creepybits/ComfyUI-Creepy_nodes", + "files": [ + "https://github.com/Creepybits/ComfyUI-Creepy_nodes" + ], + "install_type": "git-clone", + "description": "A collection of switch nodes for ComfyUI" + }, + { + "author": "Creepybits", + "title": "Comfyui-Save_To_OneDrive", + "reference": "https://github.com/Creepybits/ComfyUI-Save_To_OneDrive", + "files": [ + "https://github.com/Creepybits/ComfyUI-Save_To_OneDrive" + ], + "install_type": "git-clone", + "description": "Saves images directly to OneDrive using Microsoft's free API service." + }, + { + "author": "ImagineerNL", + "title": "ComfyUI-ToSVG-Potracer", + "reference": "https://github.com/ImagineerNL/ComfyUI-ToSVG-Potracer", + "files": [ + "https://github.com/ImagineerNL/ComfyUI-ToSVG-Potracer" + ], + "install_type": "git-clone", + "description": "ComfyUI node to vectorize 2 color images like logo or text calling the pure Python 'potracer' library for potrace. Requires LATEST VERSION of https://registry.comfy.org/nodes/ComfyUI-ToSVG to_SVG node to save as SVG." + }, + { + "author": "ImagineerNL", + "title": "ComfyUI-IMGNR-Utils", + "reference": "https://github.com/ImagineerNL/ComfyUI-IMGNR-Utils", + "files": [ + "https://github.com/ImagineerNL/ComfyUI-IMGNR-Utils" + ], + "install_type": "git-clone", + "description": "ComfyUI Utility Nodes by Imagineer. 1: Catch and Edit Text; useful for grabbing AI generated prompts which you edit by hand. Doing so mutes the upstream node, improving speed and saving external calls and budget.
2. Preview Image - No Save: Previews as they should be" + }, + { + "author": "Yushan777", + "title": "ComfyUI-Y7-SBS-2Dto3D", + "reference": "https://github.com/yushan777/ComfyUI-Y7-SBS-2Dto3D", + "files": [ + "https://github.com/yushan777/ComfyUI-Y7-SBS-2Dto3D" + ], + "install_type": "git-clone", + "description": "Convert 2D images and videos to 3D SBS (side-by-side) format" + }, + { + "author": "Yushan777", + "title": "Y7Nodes for ComfyUI", + "id": "y7nodes", + "reference": "https://github.com/yushan777/ComfyUI-Y7Nodes", + "files": [ + "https://github.com/yushan777/ComfyUI-Y7Nodes" + ], + "install_type": "git-clone", + "description": "A collection of utility / quality-of-life nodes for ComfyUI. Probably only useful to me." + }, + { + "author": "bemoregt", + "title": "ComfyUI_CustomNode_Image2Spectrum", + "reference": "https://github.com/bemoregt/ComfyUI_CustomNode_Image2Spectrum", + "files": [ + "https://github.com/bemoregt/ComfyUI_CustomNode_Image2Spectrum" + ], + "install_type": "git-clone", + "description": "ComfyUI Custom Node for converting images to frequency spectrum visualizations using FFT" + }, + { + "author": "pnikolic-amd", + "title": "MIGraphX Node for ComfyUI", + "reference": "https://github.com/pnikolic-amd/ComfyUI_MIGraphX", + "files": [ + "https://github.com/pnikolic-amd/ComfyUI_MIGraphX" + ], + "install_type": "git-clone", + "description": "This node enables better performance for Stable Diffusion models, by leveraging AMD MIGraphX, on Navi3 and Navi4 GPUs." + }, + { + "author": "zzubnik", + "title": "TT_TextTools", + "id": "TT_TextTools", + "reference": "https://github.com/zzubnik/TT_TextTools", + "files": [ + "https://github.com/zzubnik/TT_TextTools" + ], + "install_type": "git-clone", + "description": "Custom text tools for helping with multiple prompt generation in ComfyUI. These tools allow more variety than just relying on the randomness of the image generator. You can create related, themed prompts, random each time." + }, + { + "author": "dimtion", + "title": "ComfyUI-Raw-Image", + "reference": "https://github.com/dimtion/comfyui-raw-image", + "files": [ + "https://github.com/dimtion/comfyui-raw-image" + ], + "install_type": "git-clone", + "description": "Comfyui-raw-image provides the ability to load raw image files for ComfyUI" + }, + { + "author": "Zar4X", + "title": "ComfyUI-Batch-Process", + "reference": "https://github.com/Zar4X/ComfyUI-Batch-Process", + "files": [ + "https://github.com/Zar4X/ComfyUI-Batch-Process" + ], + "install_type": "git-clone", + "description": "A collection of nodes for batch processing texts and images in ComfyUI" + }, + { + "author": "Zar4X", + "title": "ComfyUI-Image-Resizing", + "reference": "https://github.com/Zar4X/ComfyUI-Image-Resizing", + "files": [ + "https://github.com/Zar4X/ComfyUI-Image-Resizing" + ], + "install_type": "git-clone", + "description": "Precision dimension control nodes for aspect ratio adjustments and resizing workflows" + }, + { + "author": "WaveSpeedAI", + "title": "wavespeed-comfyui", + "reference": "https://github.com/WaveSpeedAI/wavespeed-comfyui", + "files": [ + "https://github.com/WaveSpeedAI/wavespeed-comfyui" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that allows you to use the WaveSpeed AI API directly in ComfyUI. WaveSpeed AI is a high-performance AI image and video generation service platform offering industry-leading generation speeds. For more information, see [a/WaveSpeed AI Documentation](https://wavespeed.ai/docs)." + }, + { + "author": "hekmon", + "title": "comfyui-checkpoint-extract", + "reference": "https://github.com/hekmon/comfyui-checkpoint-extract", + "files": [ + "https://github.com/hekmon/comfyui-checkpoint-extract" + ], + "install_type": "git-clone", + "description": "Extract CLIP and VAE models from a loaded checkpoint in ComfyUI." + }, + { + "author": "hekmon", + "title": "ComfyUI OpenAI API", + "reference": "https://github.com/hekmon/comfyui-openai-api", + "files": [ + "https://github.com/hekmon/comfyui-openai-api" + ], + "install_type": "git-clone", + "description": "Call LLM and VLM in a simple way using the OpenAI API standard from ComfyUI" + }, + { + "author": "rookiepsi", + "title": "ComfyUI Extended", + "reference": "https://github.com/rookiepsi/comfyui-extended", + "files": [ + "https://github.com/rookiepsi/comfyui-extended" + ], + "install_type": "git-clone", + "description": "Nodes for ComfyUI that extend the core functionality without adding extra dependencies." + }, + { + "author": "rookiepsi", + "title": "Blur Mask", + "reference": "https://github.com/rookiepsi/comfypsi_blur_mask", + "files": [ + "https://github.com/rookiepsi/comfypsi_blur_mask" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that applies a Gaussian blur to a mask." + }, + { + "author": "younyokel", + "title": "ComfyUI Prompt Formatter", + "reference": "https://github.com/younyokel/comfyui_prompt_formatter", + "files": [ + "https://github.com/younyokel/comfyui_prompt_formatter" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that provides tools to clean, optimize, and format text prompts. It includes features like converting tags, aligning brackets, and applying weights to prompts." + }, + { + "author": "MoonGoblinDev", + "title": "Civicomfy - Civitai Model Downloader for ComfyUI", + "reference": "https://github.com/MoonGoblinDev/Civicomfy", + "files": [ + "https://github.com/MoonGoblinDev/Civicomfy" + ], + "install_type": "git-clone", + "description": "Civicomfy seamlessly integrates Civitai's vast model repository directly into ComfyUI, allowing you to search, download, and organize AI models without leaving your workflow." + }, + { + "author": "hunzmusic", + "title": "ComfyUI-IG2MV", + "reference": "https://github.com/hunzmusic/ComfyUI-IG2MV", + "files": [ + "https://github.com/hunzmusic/ComfyUI-IG2MV" + ], + "install_type": "git-clone", + "description": "This custom node package provides nodes specifically for using the mvadapter_ig2mv_sdxl.safetensors adapter within ComfyUI. This adapter is designed for image-guided multi-view generation, typically used for creating textures from 3D mesh renders (position and normal maps)." + }, + { + "author": "LaVie024", + "title": "comfyui-lopi999-nodes", + "reference": "https://github.com/LaVie024/comfyui-lopi999-nodes", + "files": [ + "https://github.com/LaVie024/comfyui-lopi999-nodes" + ], + "install_type": "git-clone", + "description": "Utility nodes for some randomness in your workflows, like random latent sizes. A few modifications to a few existing nodes, includes nodes for sampler and model parameters. Also includes two schedulers and four samplers that can be used with any KSampler node." + }, + { + "author": "Ky11le", + "title": "draw_tools", + "reference": "https://github.com/Ky11le/draw_tools", + "files": [ + "https://github.com/Ky11le/draw_tools" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for tiling images horizontally with configurable spacing" + }, + { + "author": "cleanlii", + "title": "DalleImageNodes - OpenAI DALLĀ·E Nodes for ComfyUI", + "reference": "https://github.com/cleanlii/comfyui-dalle-integration", + "files": [ + "https://github.com/cleanlii/comfyui-dalle-integration" + ], + "install_type": "git-clone", + "description": "DalleImageNodes is a custom extension for ComfyUI that integrates OpenAI's DALLĀ·E 3 API for: Image generation, Inpainting (image editing), Image variation.\nThis project supports the latest OpenAI Python SDK (v1.x) and automatically handles image resizing and format requirements (RGBA, fixed sizes) based on the examples from the offical Dall-E website." + }, + { + "author": "Sekiun", + "title": "ComfyUI-WebpToPNGSequence", + "reference": "https://github.com/Sekiun/ComfyUI-WebpToPNGSequence", + "files": [ + "https://github.com/Sekiun/ComfyUI-WebpToPNGSequence" + ], + "install_type": "git-clone", + "description": "Utility node for converting a .webp format image into sequential png images in ComfyUI" + }, + { + "author": "Michael Gold", + "title": "ComfyUI-HF-Model-Downloader", + "reference": "https://github.com/michaelgold/ComfyUI-HF-Model-Downloader", + "files": [ + "https://github.com/michaelgold/ComfyUI-HF-Model-Downloader" + ], + "install_type": "git-clone", + "description": "Easily download and install 2D to 3D and Flux models from Hugging Face." + }, + { + "author": "Siempreflaco", + "title": "ComfyUI-NCNodes", + "reference": "https://github.com/Siempreflaco/ComfyUI-NCNodes", + "files": [ + "https://github.com/Siempreflaco/ComfyUI-NCNodes" + ], + "install_type": "git-clone", + "description": "NODES: Audio Recorder, Line Counter, Increment INT, Image Processor, Load 3D Mesh From Outputs" + }, + { + "author": "livepeer", + "title": "ComfyUI-Stream-Pack", + "reference": "https://github.com/livepeer/ComfyUI-Stream-Pack", + "files": [ + "https://github.com/livepeer/ComfyUI-Stream-Pack" + ], + "install_type": "git-clone", + "description": "A suite of custom ComfyUI nodes for building real-time video and audio workflows using ComfyStream." + }, + { + "author": "VertexAnomaly", + "title": "ComfyUI_ImageSentinel", + "reference": "https://github.com/VertexAnomaly/ComfyUI_ImageSentinel", + "files": [ + "https://github.com/VertexAnomaly/ComfyUI_ImageSentinel" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that provides an Image Loader that updates inside the workflow when the Image file is changed. This allows for a easy bridge between 3D software, and 2D art applications while retaining use of a full workflow rather than being restricted to a plugin." + }, + { + "author": "iSuneast", + "title": "ComfyUI-WebhookNotifier", + "reference": "https://github.com/iSuneast/ComfyUI-WebhookNotifier", + "files": [ + "https://github.com/iSuneast/ComfyUI-WebhookNotifier" + ], + "install_type": "git-clone", + "description": "The Webhook Notification plugin for ComfyUI, used to send webhook notifications when image generation is complete." + }, + { + "author": "mobilehacker", + "title": "ComfyUI_format-lora-stack", + "reference": "https://github.com/mobilehacker/ComfyUI_format-lora-stack", + "files": [ + "https://github.com/mobilehacker/ComfyUI_format-lora-stack" + ], + "install_type": "git-clone", + "description": "Simple node to convert lora_stack output into string to generate a1111-style lora strength output text, like . Used to include your Lora names from Lora Stack in text input-output nodes and so on." + }, + { + "author": "Jokimbe", + "title": "ComfyUI-DrawThings-gRPC", + "reference": "https://github.com/Jokimbe/ComfyUI-DrawThings-gRPC", + "files": [ + "https://github.com/Jokimbe/ComfyUI-DrawThings-gRPC" + ], + "install_type": "git-clone", + "description": "Connect to any Draw Things gRPC server" + }, + { + "author": "Temult", + "title": "TWanSigmaGraph", + "reference": "https://github.com/Temult/TWanSigmaGraph", + "files": [ + "https://github.com/Temult/TWanSigmaGraph" + ], + "install_type": "git-clone", + "description": "Interactive sigma schedule editor with graph and text input." + }, + { + "author": "Raykosan", + "title": "ComfyUI_RS-SaturationNode", + "reference": "https://github.com/Raykosan/ComfyUI_RS-SaturationNode", + "files": [ + "https://github.com/Raykosan/ComfyUI_RS-SaturationNode" + ], + "install_type": "git-clone", + "description": "Professional image saturation control with artifact and highlight protection." + }, + { + "author": "Raykosan", + "title": "ComfyUI_RaykoStudio", + "reference": "https://github.com/Raykosan/ComfyUI_RaykoStudio", + "files": [ + "https://github.com/Raykosan/ComfyUI_RaykoStudio" + ], + "install_type": "git-clone", + "description": "A node for ComfyUI that allows you to overlay text on an image in an area defined by a mask, with support for text rotation, custom fonts, line breaks and transparency." + }, + { + "author": "MasterpieceX", + "title": "mpx-comfyui-nodes", + "reference": "https://github.com/withmpx/mpx-comfyui-nodes", + "files": [ + "https://github.com/withmpx/mpx-comfyui-nodes" + ], + "install_type": "git-clone", + "description": "This Module provides nodes to allow the development of 3D Generative AI workflows that use the MasterpieceX Python SDK." + }, + { + "author": "jerrywap", + "title": "ComfyUI_LoadImageFromHttpURL", + "id": "load-image-from-http-url", + "reference": "https://github.com/jerrywap/ComfyUI_LoadImageFromHttpURL", + "files": [ + "https://github.com/jerrywap/ComfyUI_LoadImageFromHttpURL" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that fetches an image from an HTTP URL and returns it as an image tensor. Useful for API-based workflows." + }, + { + "author": "jerrywap", + "title": "ComfyUI_UploadToWebhookHTTP", + "id": "upload-to-webhook-http", + "reference": "https://github.com/jerrywap/ComfyUI_UploadToWebhookHTTP", + "files": [ + "https://github.com/jerrywap/ComfyUI_UploadToWebhookHTTP" + ], + "install_type": "git-clone", + "description": "Send generated images or videos to any HTTP webhook with optional parameters such as prompt-id and metadata payload." + }, + { + "author": "CGAnimitta", + "title": "ComfyUI_CGAnimittaTools", + "reference": "https://github.com/cganimitta/ComfyUI_CGAnimittaTools", + "files": [ + "https://github.com/cganimitta/ComfyUI_CGAnimittaTools" + ], + "install_type": "git-clone", + "description": "A series of functional custom plugins, including Blender Bridge, Extract the value of any list type data, read text files, etc." + }, + { + "author": "rickyars", + "title": "Tiled Image Generator for ComfyUI", + "reference": "https://github.com/rickyars/comfyui-llm-tile", + "files": [ + "https://github.com/rickyars/comfyui-llm-tile" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that generates tiled image compositions with overlapping regions. This approach creates coherent compositions by using the edges of each tile as seeds for neighboring tiles, resulting in seamless transitions." + }, + { + "author": "nako-nakoko", + "title": "ComfyUI_Mel_Nodes", + "reference": "https://github.com/nako-nakoko/ComfyUI_Mel_Nodes", + "files": [ + "https://github.com/nako-nakoko/ComfyUI_Mel_Nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes with split, random, and select functions for easy visual and management of multiple cumbersome prompts" + }, + { + "author": "synthetai", + "title": "ComfyUI_FaceEnhancer", + "reference": "https://github.com/synthetai/ComfyUI_FaceEnhancer", + "files": [ + "https://github.com/synthetai/ComfyUI_FaceEnhancer" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node based on GFPGAN for face enhancement, capable of restoring and enhancing faces in images and videos" + }, + { + "author": "synthetai", + "title": "ComfyUI-JM-KLing-API", + "reference": "https://github.com/synthetai/ComfyUI-JM-KLing-API", + "files": [ + "https://github.com/synthetai/ComfyUI-JM-KLing-API" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that allows you to use the KLingAI API directly within the ComfyUI environment. It is developed based on the KLingAI API documentation. For more details, please refer to the official documentation. [a/KLingAI API Documentation](https://app.klingai.com/global/dev/document-api/quickStart/productIntroduction/overview)." + }, + { + "author": "synthetai", + "title": "ComfyUI_PromptBatcher", + "reference": "https://github.com/synthetai/ComfyUI_PromptBatcher", + "files": [ + "https://github.com/synthetai/ComfyUI_PromptBatcher" + ], + "install_type": "git-clone", + "description": "A custom node extension for ComfyUI that enables batch processing of prompts from text files to generate multiple images." + }, + { + "author": "synthetai", + "title": "ComfyUI-ToolBox", + "reference": "https://github.com/synthetai/ComfyUI-ToolBox", + "files": [ + "https://github.com/synthetai/ComfyUI-ToolBox" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI, including audio/video processing, file uploads, and AI image generation." + }, + { + "author": "synthetai", + "title": "ComfyUI-JM-MiniMax-API", + "reference": "https://github.com/synthetai/ComfyUI-JM-MiniMax-API", + "files": [ + "https://github.com/synthetai/ComfyUI-JM-MiniMax-API" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI custom nodes that integrate with MiniMax API services." + }, + { + "author": "synthetai", + "title": "ComfyUI-JM-Volcengine-API", + "reference": "https://github.com/synthetai/ComfyUI-JM-Volcengine-API", + "files": [ + "https://github.com/synthetai/ComfyUI-JM-Volcengine-API" + ], + "install_type": "git-clone", + "description": "volcengine comfyui api" + }, + { + "author": "synthetai", + "title": "ComfyUI-JM-Gemini-API", + "reference": "https://github.com/synthetai/ComfyUI-JM-Gemini-API", + "files": [ + "https://github.com/synthetai/ComfyUI-JM-Gemini-API" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that generates images using Google's Gemini API, supporting both text-to-image and image-to-image generation." + }, + { + "author": "chou18194766xx", + "title": "comfyui-EncryptSave", + "reference": "https://github.com/chou18194766xx/comfyui-EncryptSave", + "files": [ + "https://github.com/chou18194766xx/comfyui-EncryptSave" + ], + "install_type": "git-clone", + "description": "comfyui image encrypt and save." + }, + { + "author": "chou18194766xx", + "title": "comfyui_EncryptPreview", + "reference": "https://github.com/chou18194766xx/comfyui_EncryptPreview", + "files": [ + "https://github.com/chou18194766xx/comfyui_EncryptPreview" + ], + "install_type": "git-clone", + "description": "ComfyUI's non-persistent (in-memory) image preview feature" + }, + { + "author": "KERRY-YUAN", + "title": "NodeSimpleExecutor", + "id": "NodeSimpleExecutor", + "reference": "https://github.com/KERRY-YUAN/ComfyUI_Simple_Executor", + "files": [ + "https://github.com/KERRY-YUAN/ComfyUI_Simple_Executor" + ], + "install_type": "git-clone", + "description": "This node package contains automatic sampler setting according to model name in ComfyUI, adjusting image size according to specific constraints and some other nodes." + }, + { + "author": "KERRY-YUAN", + "title": "ComfyUI_Spark_TTS", + "id": "ComfyUI_Spark_TTS", + "reference": "https://github.com/KERRY-YUAN/ComfyUI_Spark_TTS", + "files": [ + "https://github.com/KERRY-YUAN/ComfyUI_Spark_TTS" + ], + "install_type": "git-clone", + "description": "Spark-TTS controllable synthesis and voice cloning." + }, + { + "author": "KERRY-YUAN", + "title": "ComfyUI_Float_Animator", + "id": "ComfyUI_Float_Animator", + "reference": "https://github.com/KERRY-YUAN/ComfyUI_Float_Animator", + "files": [ + "https://github.com/KERRY-YUAN/ComfyUI_Float_Animator" + ], + "install_type": "git-clone", + "description": "Float project applicable to ComfyUI.Generates speaking portrait video frames from an image and audio." + }, + { + "author": "brantje", + "title": "ComfyUI-api-tools", + "id": "comfyui_api_tools", + "reference": "https://github.com/brantje/ComfyUI-api-tools", + "files": [ + "https://github.com/brantje/ComfyUI-api-tools" + ], + "install_type": "git-clone", + "description": "Adds extra API functionallity and prometheus endpoint" + }, + { + "author": "brantje", + "title": "ComfyUI-MagicQuill", + "id": "comfyui_magicquill_fixed", + "reference": "https://github.com/brantje/ComfyUI_MagicQuill", + "files": [ + "https://github.com/brantje/ComfyUI_MagicQuill" + ], + "install_type": "git-clone", + "description": "Fixed version of the original [a/MagicQuill](https://github.com/magic-quill/ComfyUI_MagicQuill) node. Required nodes: ComfyUI-Brushnet and ComfyUI Controlnet AUX" + }, + { + "author": "oshtz", + "title": "oshtz Nodes", + "reference": "https://github.com/oshtz/ComfyUI-oshtz-nodes", + "files": [ + "https://github.com/oshtz/ComfyUI-oshtz-nodes" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes including LLM integration, LoRA switchers, image tools, and more" + }, + { + "author": "HavocsCall", + "title": "HavocsCall's Custom ComfyUI Nodes", + "reference": "https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes", + "files": [ + "https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes" + ], + "install_type": "git-clone", + "description": "NODES: Prompt Combiner, Float/Int Selector, Sampler Config, Text Box, Int to Float/String, Int to Float/String, Clip/Conditioning/Image/Latent/Model/String/VAE Switch" + }, + { + "author": "danger-electrodes", + "title": "ComfyUI_Fawfluencer_Nodes", + "reference": "https://github.com/danger-electrodes/ComfyUI_Fawfluencer_Nodes", + "files": [ + "https://github.com/danger-electrodes/ComfyUI_Fawfluencer_Nodes" + ], + "install_type": "git-clone", + "description": "A set of node for ComfyUI to create an influencer" + }, + { + "author": "badxprogramm", + "title": "GradientBlurNode for ComfyUI", + "reference": "https://github.com/badxprogramm/ComfyUI-GradientBlur", + "files": [ + "https://github.com/badxprogramm/ComfyUI-GradientBlur" + ], + "install_type": "git-clone", + "description": "GradientBlurNode is a custom node for ComfyUI that allows for gradient-based image blurring. This tool provides precise control over the direction, intensity, and distribution of the blur, making it ideal for creating smooth transitions, focusing attention on specific parts of an image, or adding artistic effects." + }, + { + "author": "uihp", + "title": "ComfyUI-String-Chain", + "reference": "https://github.com/uihp/ComfyUI-String-Chain", + "files": [ + "https://github.com/uihp/ComfyUI-String-Chain" + ], + "install_type": "git-clone", + "description": "String Chain: Reconnect your prompts" + }, + { + "author": "leoleexh", + "title": "Comfy-Topaz-Photo", + "id": "leoleexh's Custom-Nodes", + "reference": "https://github.com/leoleelxh/Comfy-Topaz-Photo", + "files": [ + "https://github.com/leoleelxh/Comfy-Topaz-Photo" + ], + "install_type": "git-clone", + "description": "A new ComfyUI node for integrating Topaz Photo AI's powerful image enhancement capabilities." + }, + { + "author": "big-mon", + "title": "ComfyUI-ResolutionPresets", + "id": "bigmonComfyuiResolutionPresets", + "reference": "https://github.com/big-mon/ComfyUI-ResolutionPresets", + "files": [ + "https://github.com/big-mon/ComfyUI-ResolutionPresets" + ], + "install_type": "git-clone", + "description": "Provides recommended resolution presets specifically. Select a preset from the dropdown to easily output the corresponding width and height values for use with nodes like Empty Latent Image." + }, + { + "author": "hnmr293", + "title": "ComfyUI-SaveMem", + "reference": "https://github.com/hnmr293/comfyui-savemem", + "files": [ + "https://github.com/hnmr293/comfyui-savemem" + ], + "install_type": "git-clone", + "description": "Save Image/Latent to Shared Memory" + }, + { + "author": "hnmr293", + "title": "ComfyUI-latent-ops", + "reference": "https://github.com/hnmr293/ComfyUI-latent-ops", + "files": [ + "https://github.com/hnmr293/ComfyUI-latent-ops" + ], + "install_type": "git-clone", + "description": "A collection of nodes for manipulating LATENT in ComfyUI." + }, + { + "author": "Reithan", + "title": "Negative Rejection Steering", + "reference": "https://github.com/Reithan/negative_rejection_steering", + "files": [ + "https://github.com/Reithan/negative_rejection_steering" + ], + "install_type": "git-clone", + "description": "NRS seeks to replace the 'naive' linear interpolation of Classifier Free Guidance with a more nuanced and composable steering of the generation process with better mathematical basis." + }, + { + "author": "FunnyFinger", + "title": "Dynamic Sliders Stack", + "reference": "https://github.com/FunnyFinger/Dynamic_Sliders_stack", + "files": [ + "https://github.com/FunnyFinger/Dynamic_Sliders_stack" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI to have many sliders with interactive dynamic behavior. This repository includes all necessary code and assets for seamless integration." + }, + { + "author": "FunnyFinger", + "title": "Radar Weights Node", + "reference": "https://github.com/FunnyFinger/ComfyUi-RadarWeightNode", + "files": [ + "https://github.com/FunnyFinger/ComfyUi-RadarWeightNode" + ], + "install_type": "git-clone", + "description": "A Custom Node for ComfyUi to add an interactive Radar graph to visually control weights." + }, + { + "author": "xLegende", + "title": "ComfyUI-Prompt-Formatter", + "id": "comfyui-prompt-formatter", + "reference": "https://github.com/xLegende/ComfyUI-Prompt-Formatter", + "files": [ + "https://github.com/xLegende/ComfyUI-Prompt-Formatter" + ], + "install_type": "git-clone", + "description": "This repository contains custom nodes for ComfyUI designed to help structure, filter, and generate text prompts using categorized tag definitions stored in a YAML file." + }, + { + "author": "QijiTec", + "title": "ComfyUI-RED-UNO", + "reference": "https://github.com/QijiTec/ComfyUI-RED-UNO", + "files": [ + "https://github.com/QijiTec/ComfyUI-RED-UNO" + ], + "install_type": "git-clone", + "description": "Default 16GB VRAM UNO in context generation ComfyUI-node, using RED-UNO FT model" + }, + { + "author": "Danteday", + "title": "NoteManager", + "reference": "https://github.com/Danteday/ComfyUI-NoteManager", + "files": [ + "https://github.com/Danteday/ComfyUI-NoteManager" + ], + "install_type": "git-clone", + "description": "A powerful extension for ComfyUI that enables adding notes to many node in your workflow. Keep track of important settings, reminders, and workflow documentation directly within your ComfyUI canvas." + }, + { + "author": "zzw5516", + "title": "ComfyUI-zw-tools", + "id": "zzw5516", + "reference": "https://github.com/zzw5516/ComfyUI-zw-tools", + "files": [ + "https://github.com/zzw5516/ComfyUI-zw-tools" + ], + "install_type": "git-clone", + "description": "Automatic prompt translation to Chinese, custom prompt management, AI-based prompt expansion and translation, AI-generated image/video record management (file browser), and cloud storage upload management." + }, + { + "author": "nisaruj", + "title": "ComfyUI-DAAM", + "id": "comfyui-daam", + "reference": "https://github.com/nisaruj/comfyui-daam", + "files": [ + "https://github.com/nisaruj/comfyui-daam" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Diffusion Attentive Attribution Maps (DAAM)" + }, + { + "author": "bytedance", + "title": "ComfyUI_InfiniteYou", + "reference": "https://github.com/bytedance/ComfyUI_InfiniteYou", + "files": [ + "https://github.com/bytedance/ComfyUI_InfiniteYou" + ], + "install_type": "git-clone", + "description": "Official ComfyUI Support - InfiniteYou: Flexible Photo Recrafting While Preserving Your Identity" + }, + { + "author": "bytedance", + "title": "ComfyUI-HyperLoRA", + "reference": "https://github.com/bytedance/ComfyUI-HyperLoRA", + "files": [ + "https://github.com/bytedance/ComfyUI-HyperLoRA" + ], + "install_type": "git-clone", + "description": "Official implementation in ComfyUI of CVPR 2025 paper 'HyperLoRA: Parameter-Efficient Adaptive Generation for Portrait Synthesis'" + }, + { + "author": "bytedance", + "title": "comfyui-lumi-batcher", + "reference": "https://github.com/bytedance/comfyui-lumi-batcher", + "files": [ + "https://github.com/bytedance/comfyui-lumi-batcher" + ], + "install_type": "git-clone", + "description": "ComfyUI Lumi Batcher is a batch processing extension plugin designed for ComfyUI, aiming to improve workflow debugging efficiency. Traditional debugging methods require adjusting parameters one by one, while this tool significantly enhances work efficiency through batch processing capabilities." + }, + { + "author": "AstroCorp", + "title": "ComfyUI AstroCorp Nodes", + "reference": "https://github.com/AstroCorp/ComfyUI-AstroCorp-Nodes", + "files": [ + "https://github.com/AstroCorp/ComfyUI-AstroCorp-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of personal ComfyUI nodes designed to enhance and automate workflows." + }, + { + "author": "stevenwg", + "title": "ComfyUI-VideoGrid", + "reference": "https://github.com/stevenwg/ComfyUI-VideoGrid", + "files": [ + "https://github.com/stevenwg/ComfyUI-VideoGrid" + ], + "install_type": "git-clone", + "description": "Add vertical and horizontal video grid support" + }, + { + "author": "avenstack", + "title": "ComfyUI-AV-MegaTTS3", + "reference": "https://github.com/avenstack/ComfyUI-AV-MegaTTS3", + "files": [ + "https://github.com/avenstack/ComfyUI-AV-MegaTTS3" + ], + "install_type": "git-clone", + "description": "šŸŽ§Ultra High-Quality Voice Cloning, Chinese and English." + }, + { + "author": "avenstack", + "title": "ComfyUI-AV-LatentSync", + "reference": "https://github.com/avenstack/ComfyUI-AV-LatentSync", + "files": [ + "https://github.com/avenstack/ComfyUI-AV-LatentSync" + ], + "install_type": "git-clone", + "description": "LatentSync 1.5 wrapper for ComfyUI" + }, + { + "author": "avenstack", + "title": "ComfyUI-AV-FunASR", + "reference": "https://github.com/avenstack/ComfyUI-AV-FunASR", + "files": [ + "https://github.com/avenstack/ComfyUI-AV-FunASR" + ], + "install_type": "git-clone", + "description": "FunASR wrapper for ComfyUI" + }, + { + "author": "WarpedAnimation", + "title": "ComfyUI-WarpedToolset", + "reference": "https://github.com/WarpedAnimation/ComfyUI-WarpedToolset", + "files": [ + "https://github.com/WarpedAnimation/ComfyUI-WarpedToolset" + ], + "install_type": "git-clone", + "description": "A toolset for Hunyuan Video (mainly), with some additional nodes applicable to Framepack Video and WAN Video" + }, + { + "author": "Jint8888", + "title": "Comfyui_JTnodes", + "reference": "https://github.com/Jint8888/Comfyui_JTnodes", + "files": [ + "https://github.com/Jint8888/Comfyui_JTnodes" + ], + "install_type": "git-clone", + "description": "This project contains some custom ComfyUI nodes for image processing, AI conversation, and utility tasks." + }, + { + "author": "ichabodcole", + "title": "ComfyUI-Ichis-Pack", + "reference": "https://github.com/ichabodcole/ComfyUI-Ichis-Pack", + "files": [ + "https://github.com/ichabodcole/ComfyUI-Ichis-Pack" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI Nodes, most to make dynamic prompting a bit easier." + }, + { + "author": "SignalCha1n", + "title": "Snap Style Nodes for ComfyUI", + "reference": "https://github.com/SignalCha1n/comfyui-ComfySnap", + "files": [ + "https://github.com/SignalCha1n/comfyui-ComfySnap" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI designed to replicate certain visual elements and effects reminiscent of Snap and early digital aesthetics. These nodes are ideal for image processing tasks and are fully compatible with ComfyUI." + }, + { + "author": "judian17", + "title": "ComfyUI_ZIM", + "reference": "https://github.com/judian17/ComfyUI_ZIM", + "files": [ + "https://github.com/judian17/ComfyUI_ZIM" + ], + "install_type": "git-clone", + "description": "The unofficial implementation of ZIM in ComfyUI" + }, + { + "author": "judian17", + "title": "ComfyUI-Extract_Flux_Lora", + "reference": "https://github.com/judian17/ComfyUI-Extract_Flux_Lora", + "files": [ + "https://github.com/judian17/ComfyUI-Extract_Flux_Lora" + ], + "install_type": "git-clone", + "description": "Extract LoRA from the original Fine-Tuned model." + }, + { + "author": "judian17", + "title": "ComfyUI JoyCaption-Beta-GGUF Node", + "reference": "https://github.com/judian17/ComfyUI-joycaption-beta-one-GGUF", + "files": [ + "https://github.com/judian17/ComfyUI-joycaption-beta-one-GGUF" + ], + "install_type": "git-clone", + "description": "This project provides a node for ComfyUI to use the JoyCaption-Beta model in GGUF format for image captioning." + }, + { + "author": "judian17", + "title": "ComfyUI-UniWorld-jd17", + "reference": "https://github.com/judian17/ComfyUI-UniWorld-jd17", + "files": [ + "https://github.com/judian17/ComfyUI-UniWorld-jd17" + ], + "install_type": "git-clone", + "description": "Unofficial ComfyUI implementation of [a/UniWorld-V1](https://github.com/PKU-YuanGroup/UniWorld-V1)." + }, + { + "author": "judian17", + "title": "ComfyUI-JoyCaption-beta-one-hf-llava-Prompt_node", + "reference": "https://github.com/judian17/ComfyUI-JoyCaption-beta-one-hf-llava-Prompt_node", + "files": [ + "https://github.com/judian17/ComfyUI-JoyCaption-beta-one-hf-llava-Prompt_node" + ], + "install_type": "git-clone", + "description": "Prompt node for the [a/JoyCaption-beta-one-hf-llava](https://huggingface.co/mradermacher/llama-joycaption-beta-one-hf-llava-GGUF) model, to use JoyCaption-beta-one-hf-llava with Ollama" + }, + { + "author": "judian17", + "title": "ComfyUI-SRT-subtitles-VoxCPM", + "reference": "https://github.com/judian17/ComfyUI-SRT-subtitles-VoxCPM", + "files": [ + "https://github.com/judian17/ComfyUI-SRT-subtitles-VoxCPM" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for generating and editing speech from SRT subtitle files using VoxCPM text-to-speech model, supporting multi-speaker dialogue and audio replacement workflows." + }, + { + "author": "judian17", + "title": "ComfyUI-multiple-inputs", + "reference": "https://github.com/judian17/ComfyUI-multiple-inputs", + "files": [ + "https://github.com/judian17/ComfyUI-multiple-inputs" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI, focusing on batch processing, stitching, and visualization." + }, + { + "author": "TiamaTiramisu", + "title": "RisuTools", + "reference": "https://github.com/TiamaTiramisu/risutools", + "files": [ + "https://github.com/TiamaTiramisu/risutools" + ], + "install_type": "git-clone", + "description": "Nodes for integration with RisuAI" + }, + { + "author": "excelwong", + "title": "ComfyUI Prompt Composer", + "reference": "https://github.com/excelwong/ComfyUI-PromptComposer", + "files": [ + "https://github.com/excelwong/ComfyUI-PromptComposer" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node plugin for assembling prompts. It allows you to generate positive and negative prompts by selecting different options." + }, + { + "author": "jida-ai", + "title": "ComfyUI-VideoChatWrapper", + "reference": "https://github.com/lebrosoft/ComfyUI-VideoChatWrapper", + "files": [ + "https://github.com/lebrosoft/ComfyUI-VideoChatWrapper" + ], + "install_type": "git-clone", + "description": "Nodes related to video chat workflows" + }, + { + "author": "VK", + "title": "VK Nodes", + "reference": "https://github.com/VK/vk-nodes", + "files": [ + "https://github.com/VK/vk-nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to simplify my tiled render" + }, + { + "author": "MaruPelkar", + "title": "ComfyUI Conditioning Resizer", + "reference": "https://github.com/MaruPelkar/comfyui-conditioning-resizer", + "files": [ + "https://github.com/MaruPelkar/comfyui-conditioning-resizer" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows resizing of conditioning tensors, particularly useful for fixing size mismatches between CLIP Text Encode and CLIP Vision Encode outputs in SD3 workflows." + }, + { + "author": "bablueza", + "title": "Vaja TextToSpeech Node for ComfyUI", + "reference": "https://github.com/bablueza/ComfyUI-Vaja-Ai4thai", + "files": [ + "https://github.com/bablueza/ComfyUI-Vaja-Ai4thai" + ], + "install_type": "git-clone", + "description": "NODES: Vaja Synthesis Api, ShowText" + }, + { + "author": "GrailGreg", + "title": "Image Saving and Base64 Encoding Script", + "reference": "https://github.com/GrailGreg/images_base64", + "files": [ + "https://github.com/GrailGreg/images_base64" + ], + "install_type": "git-clone", + "description": "Based on the original SaveImage node from ComfyUI This ComfyUI node provides functionality to save images in PNG format while simultaneously generating and returning their Base64 encoded strings. This is particularly useful for applications that require image data to be transmitted as strings, such as web applications." + }, + { + "author": "vekitan55", + "title": "Simple Flux.1 Merger for ComfyUI", + "reference": "https://github.com/vekitan55/SimpleFlux1Merger", + "files": [ + "https://github.com/vekitan55/SimpleFlux1Merger" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node set for merging Flux.1-based models with intuitive control. This extension provides both simplified group merging and expert per-layer control, including support for advanced difference-based merge modes. Basically the code was generated by ChatGPT." + }, + { + "author": "kantsche", + "title": "ComfyUI-MixMod", + "reference": "https://github.com/kantsche/ComfyUI-MixMod", + "files": [ + "https://github.com/kantsche/ComfyUI-MixMod" + ], + "install_type": "git-clone", + "description": "A custom node extension for ComfyUI that allows mixing multiple models during the sampling process for enhanced image generation." + }, + { + "author": "goldwins520", + "title": "Save Image To Webdav", + "reference": "https://github.com/goldwins520/Comfyui_saveimg2webdav", + "files": [ + "https://github.com/goldwins520/Comfyui_saveimg2webdav" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "yogurt7771", + "title": "ComfyUI-YogurtNodes", + "reference": "https://github.com/yogurt7771/ComfyUI-YogurtNodes", + "files": [ + "https://github.com/yogurt7771/ComfyUI-YogurtNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI-YogurtNodes is a collection of custom nodes for ComfyUI, providing a series of practical image processing and workflow enhancement functionalities." + }, + { + "author": "comfy-deploy", + "title": "ComfyUI LLM Toolkit", + "reference": "https://github.com/comfy-deploy/comfyui-llm-toolkit", + "files": [ + "https://github.com/comfy-deploy/comfyui-llm-toolkit" + ], + "install_type": "git-clone", + "description": "A custom node collection for integrating various LLM (Large Language Model) providers with ComfyUI." + }, + { + "author": "JustLateNightAI", + "title": "KeywordImageBlocker", + "reference": "https://github.com/JustLateNightAI/KeywordImageBlocker", + "files": [ + "https://github.com/JustLateNightAI/KeywordImageBlocker" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that will block images that flag custom set key words" + }, + { + "author": "EmAySee", + "title": "ComfyUI_EmAySee_CustomNodes", + "reference": "https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes", + "files": [ + "https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes" + ], + "install_type": "git-clone", + "description": "Lots of randomizers, a simple oobabooga adapter with json options to pass, and other useful nodes." + }, + { + "author": "pupba", + "title": "ComfyForEach", + "reference": "https://github.com/pupba/Comfy_ForEach", + "files": [ + "https://github.com/pupba/Comfy_ForEach" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI custom nodes designed for image batch processing, per-index image operations, and AWS integration using EventBridge." + }, + { + "author": "n0neye", + "title": "A3D ComfyUI Integration", + "reference": "https://github.com/n0neye/A3D-comfyui-integration", + "files": [ + "https://github.com/n0neye/A3D-comfyui-integration" + ], + "install_type": "git-clone", + "description": "[a/A3D](https://github.com/n0neye/A3D) is an AI x 3D hybrid tool that allows you to compose 3D scenes and render them with AI. This integration allows you to send the color & depth images to ComfyUI. You can use it as a pose controller, or scene composer for your ComfyUI workflows." + }, + { + "author": "alessandroperilli", + "title": "Open Creative Studio Nodes", + "reference": "https://github.com/alessandroperilli/OCS_Nodes", + "files": [ + "https://github.com/alessandroperilli/OCS_Nodes" + ], + "install_type": "git-clone", + "description": "A custom node suite to augment the capabilities of the [a/Open Creative Studio for ComfyUI](https://oc.studio/)." + }, + { + "author": "rkfg", + "title": "Dia realistic TTS", + "reference": "https://github.com/rkfg/ComfyUI-Dia_tts", + "files": [ + "https://github.com/rkfg/ComfyUI-Dia_tts" + ], + "install_type": "git-clone", + "description": "It's a ComfyUI wrapper for [a/Dia TTS](https://github.com/nari-labs/dia) by Nari labs, includes a portion of their code used for inference." + }, + { + "author": "hubentu", + "title": "Multiple LoRA Loader for ComfyUI", + "reference": "https://github.com/hubentu/ComfyUI-loras-loader", + "files": [ + "https://github.com/hubentu/ComfyUI-loras-loader" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that allow working with LoRAs and trigger words by index selection." + }, + { + "author": "BNP1111", + "title": "comfyui_flux_corrector", + "reference": "https://github.com/BNP1111/comfyui_flux_corrector", + "files": [ + "https://github.com/BNP1111/comfyui_flux_corrector" + ], + "install_type": "git-clone", + "description": "This model was fine-tuned on Flux.1-Dev to with reflection tuning to serve as a corrector for self-refinement framework introduced in From Reflection to Perfection: Scaling Inference-Time Optimization for Text-to-Image Diffusion Models via Reflection Tuning. " + }, + { + "author": "Cryptyox", + "title": "anaglyphTool-Comfyui", + "reference": "https://github.com/Cryptyox/anaglyphTool-Comfyui", + "files": [ + "https://github.com/Cryptyox/anaglyphTool-Comfyui" + ], + "install_type": "git-clone", + "description": "This Comfyui node creates an anaglyph image from a color and depth map input. It achieves high speeds suitable for video to anaglyph conversion by using CUDA GPU acceleration." + }, + { + "author": "hugo", + "title": "fastgan-comfyui", + "reference": "https://github.com/hugobb/FastGAN-ComfyUI-Node", + "files": [ + "https://github.com/hugobb/FastGAN-ComfyUI-Node" + ], + "install_type": "git-clone", + "description": "A FastGAN Node for ComfyUI" + }, + { + "author": "marklieberman", + "title": "ComfyUI-Liebs-Picker", + "reference": "https://github.com/marklieberman/ComfyUI-Liebs-Picker", + "files": [ + "https://github.com/marklieberman/ComfyUI-Liebs-Picker" + ], + "install_type": "git-clone", + "description": "A node to pause execution of the workflow and select which input images should proceed to the output." + }, + { + "author": "marklieberman", + "title": "ComfyUI-Liebs-Toast", + "reference": "https://github.com/marklieberman/ComfyUI-Liebs-Toast", + "files": [ + "https://github.com/marklieberman/ComfyUI-Liebs-Toast" + ], + "install_type": "git-clone", + "description": "A node to display a toast notification. Use it to send a toast when your prompt is complete. Also pairs well with [a/ComfyUI-Liebs_Picker](https://github.com/marklieberman/ComfyUI-Liebs-Picker) and [a/cg-image-filter](https://github.com/chrisgoringe/cg-image-filter) to be notified when the picker is waiting." + }, + { + "author": "marklieberman", + "title": "ComfyUI-Liebs-Title", + "reference": "https://github.com/marklieberman/ComfyUI-Liebs-Title", + "files": [ + "https://github.com/marklieberman/ComfyUI-Liebs-Title" + ], + "install_type": "git-clone", + "description": "An extension to modify the browser tab title when running ComfyUI workflows." + }, + { + "author": "SXQBW", + "title": "ComfyUI-Qwen-Omni", + "reference": "https://github.com/SXQBW/ComfyUI-Qwen-Omni", + "files": [ + "https://github.com/SXQBW/ComfyUI-Qwen-Omni" + ], + "install_type": "git-clone", + "description": "ComfyUI-Qwen-Omni is the first ComfyUI plugin that supports end-to-end multimodal interaction, enabling seamless joint generation and editing of text, images, and audio. Without intermediate steps, with just one operation, the model can simultaneously understand and process multiple input modalities, generating coherent text descriptions and voice outputs, providing an unprecedentedly smooth experience for AI creation." + }, + { + "author": "SXQBW", + "title": "ComfyUI-Qwen", + "reference": "https://github.com/SXQBW/ComfyUI-Qwen", + "files": [ + "https://github.com/SXQBW/ComfyUI-Qwen" + ], + "install_type": "git-clone", + "description": "The Qwen3 ComfyUI Integration is a powerful tool designed specifically for ComfyUI workflows, aiming to seamlessly integrate Qwen series large language models (LLMs)." + }, + { + "author": "SXQBW", + "title": "ComfyUI-Qwen-VL", + "reference": "https://github.com/SXQBW/ComfyUI-Qwen-VL", + "files": [ + "https://github.com/SXQBW/ComfyUI-Qwen-VL" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension for Qwen-VL series large language models, supporting multi-modal functions such as text generation, image understanding, and video analysis.Support for Qwen2-VL, Qwen2.5-VL." + }, + { + "author": "nobrainX2", + "title": "ComfyUI Custom Dia", + "reference": "https://github.com/nobrainX2/comfyUI-customDia", + "files": [ + "https://github.com/nobrainX2/comfyUI-customDia" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI integration of the [a/Dia TTS model](https://github.com/nari-labs/dia/). Many thanks to nari-labs for their fantastic work." + }, + { + "author": "zygion", + "title": "i-zygion-util-nodes", + "reference": "https://github.com/zygion/comfyui-zygion-util-nodes", + "files": [ + "https://github.com/zygion/comfyui-zygion-util-nodes" + ], + "install_type": "git-clone", + "description": "NODES: Item List, Template Input, Template Processor, Scene Queue Node, Trigger Passthrough Node" + }, + { + "author": "quank123wip", + "title": "ComfyUI-Step1X-Edit", + "reference": "https://github.com/quank123wip/ComfyUI-Step1X-Edit", + "files": [ + "https://github.com/quank123wip/ComfyUI-Step1X-Edit" + ], + "install_type": "git-clone", + "description": "ComfyUI Custom Node for [a/Step1X-Edit](https://github.com/stepfun-ai/Step1X-Edit/). Noted this node may consume large VRAMs!" + }, + { + "author": "Xkipper", + "title": "ComfyUI_SkipperNodes", + "reference": "https://github.com/Xkipper/ComfyUI_SkipperNodes", + "files": [ + "https://github.com/Xkipper/ComfyUI_SkipperNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI Skipper Custom Nodes" + }, + { + "author": "FewBox", + "title": "fewbox-outfit-comfyui", + "reference": "https://github.com/FewBox/fewbox-outfit-comfyui", + "files": [ + "https://github.com/FewBox/fewbox-outfit-comfyui" + ], + "install_type": "git-clone", + "description": "Comfy Custom Node for Try-on." + }, + { + "author": "hua(Kungfu)", + "title": "ComfyUI_to_webui", + "reference": "https://github.com/kungful/ComfyUI_to_webui", + "files": [ + "https://github.com/kungful/ComfyUI_to_webui" + ], + "install_type": "git-clone", + "description": "Encapsulate the comfyui workflow as a gradio webui" + }, + { + "author": "Jacky-MYQ", + "title": "RGB to CMYK for ComfyUI (Save as tif)", + "reference": "https://github.com/Jacky-MYQ/comfyui-rgb2cmyk", + "files": [ + "https://github.com/Jacky-MYQ/comfyui-rgb2cmyk" + ], + "install_type": "git-clone", + "description": "RGB to CMYK (save as tif)" + }, + { + "author": "Jacky-MYQ", + "title": "comfyui-DataCleaning", + "reference": "https://github.com/Jacky-MYQ/comfyui-DataCleaning", + "files": [ + "https://github.com/Jacky-MYQ/comfyui-DataCleaning" + ], + "install_type": "git-clone", + "description": "Image cropping and Image resizing" + }, + { + "author": "lceric", + "title": "comfyui-gpt-image", + "reference": "https://github.com/lceric/comfyui-gpt-image", + "files": [ + "https://github.com/lceric/comfyui-gpt-image" + ], + "install_type": "git-clone", + "description": "Ports the official ComfyUI GPT-API node, adding support for customizable api_base, auth_token, and model settings." + }, + { + "author": "Alexankharin", + "title": "camera-comfyUI", + "reference": "https://github.com/Alexankharin/camera-comfyUI", + "files": [ + "https://github.com/Alexankharin/camera-comfyUI" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for the different projection models and camera movements" + }, + { + "author": "somesomebody", + "title": "lorainfo-sidebar", + "reference": "https://github.com/somesomebody/lorainfo-sidebar", + "files": [ + "https://github.com/somesomebody/lorainfo-sidebar" + ], + "install_type": "git-clone", + "description": "Preview images of LoRA files and edit their associated JSON files." + }, + { + "author": "dezoomer", + "title": "ComfyUI-DeZoomer-Nodes", + "reference": "https://github.com/De-Zoomer/ComfyUI-DeZoomer-Nodes", + "files": [ + "https://github.com/De-Zoomer/ComfyUI-DeZoomer-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI." + }, + { + "author": "lisaks", + "title": "Pixstri ComfyUI Comics", + "reference": "https://github.com/lisaks/comfyui-panelforge", + "files": [ + "https://github.com/lisaks/comfyui-panelforge" + ], + "install_type": "git-clone", + "description": "Pixstri is a custom plugin for ComfyUI designed to generate comic pages. It provides a hierarchical node system that allows you to create comic layouts with rows and frames, making it easy to design and preview comic pages within your ComfyUI workflows." + }, + { + "author": "BobRandomNumber", + "title": "ComfyUI-DiaTTS", + "reference": "https://github.com/BobRandomNumber/ComfyUI-DiaTTS", + "files": [ + "https://github.com/BobRandomNumber/ComfyUI-DiaTTS" + ], + "install_type": "git-clone", + "description": "An implementation of Nari-Labs Dia TTS" + }, + { + "author": "BobRandomNumber", + "title": "ComfyUI-KyutaiTTS", + "reference": "https://github.com/BobRandomNumber/ComfyUI-KyutaiTTS", + "files": [ + "https://github.com/BobRandomNumber/ComfyUI-KyutaiTTS" + ], + "install_type": "git-clone", + "description": "A non real-time ComfyUI implementation of Kyutai TTS" + }, + { + "author": "BobRandomNumber", + "title": "ComfyUI-TLBVFI", + "reference": "https://github.com/BobRandomNumber/ComfyUI-TLBVFI", + "files": [ + "https://github.com/BobRandomNumber/ComfyUI-TLBVFI" + ], + "install_type": "git-clone", + "description": "wrapper for the TLB-VFI: Temporal-Aware Latent Brownian Bridge Diffusion for Video Frame Interpolation project" + }, + { + "author": "BobRandomNumber", + "title": "ComfyUI-BasicOllama", + "reference": "https://github.com/BobRandomNumber/ComfyUI-BasicOllama", + "files": [ + "https://github.com/BobRandomNumber/ComfyUI-BasicOllama" + ], + "install_type": "git-clone", + "description": "A simplified node that provides access to Ollama. It allows you to send prompts, system prompts, and images to your Ollama instance and receive text-based responses." + }, + { + "author": "BobRandomNumber", + "title": "ComfyUI-Calculator", + "reference": "https://github.com/BobRandomNumber/ComfyUI-Calculator", + "files": [ + "https://github.com/BobRandomNumber/ComfyUI-Calculator" + ], + "install_type": "git-clone", + "description": "Calculator" + }, + { + "author": "santiagosamuel3455", + "title": "ComfyUI-GeminiImageToPrompt", + "reference": "https://github.com/santiagosamuel3455/ComfyUI-GeminiImageToPrompt", + "files": [ + "https://github.com/santiagosamuel3455/ComfyUI-GeminiImageToPrompt" + ], + "install_type": "git-clone", + "description": "Imagen descripcion prompt system" + }, + { + "author": "philipy1219", + "title": "ComfyUI-TaylorSeer", + "reference": "https://github.com/philipy1219/ComfyUI-TaylorSeer", + "files": [ + "https://github.com/philipy1219/ComfyUI-TaylorSeer" + ], + "install_type": "git-clone", + "description": "This project is the ComfyUI implementation of the TaylorSeer project [a/https://github.com/Shenyi-Z/TaylorSeer](https://github.com/Shenyi-Z/TaylorSeer)." + }, + { + "author": "philipy1219", + "title": "ComfyUI-CloudStorage", + "reference": "https://github.com/philipy1219/ComfyUI-CloudStorage", + "files": [ + "https://github.com/philipy1219/ComfyUI-CloudStorage" + ], + "install_type": "git-clone", + "description": "This extension adds cloud storage support to ComfyUI, allowing you to save and load images, masks, and videos directly from cloud storage services. Currently supports Aliyun OSS and AWS S3." + }, + { + "author": "FaberVS", + "title": "MultiModel", + "reference": "https://github.com/FaberVS/MultiModel", + "files": [ + "https://github.com/FaberVS/MultiModel" + ], + "install_type": "git-clone", + "description": "A collection of nodes and utilities to make working with multiple models, custom parameters, and prompt styles in ComfyUI easier, faster, and more flexible. You are welcome to use and adapt them for your own workflows!" + }, + { + "author": "ArtsticH", + "title": "EasyKit-NodeAlign-Pro", + "id": "easykit-node-align", + "reference": "https://github.com/ArtsticH/ComfyUI_EasyKitHT_NodeAlignPro", + "files": [ + "https://github.com/ArtsticH/ComfyUI_EasyKitHT_NodeAlignPro" + ], + "install_type": "git-clone", + "description": "Node2.0-based professional alignment & real-time node color picker - innovative first support: A must-have plugin for managing node layout and color schemes in ComfyUI. Features a real-time color picker, alignment, 7 preset colors, grayscale/custom modes, and one-click reverse alignment.", + "tags": ["node2.0", "alignment", "color-picker", "node-utility", "ui", "organizer", "frontend"] + }, + { + "author": "matorzhin", + "title": "milan-nodes-comfyui", + "reference": "https://github.com/matorzhin/milan-nodes-comfyui", + "files": [ + "https://github.com/matorzhin/milan-nodes-comfyui" + ], + "install_type": "git-clone", + "description": "NODES: 'Load One Image with Name, Title, Description', 'Load Multiple Images with Name, Directory, Title, Description'" + }, + { + "author": "cathodeDreams", + "title": "comfyui-azul-scripts", + "reference": "https://github.com/cathodeDreams/comfyui-azul-scripts", + "files": [ + "https://github.com/cathodeDreams/comfyui-azul-scripts" + ], + "install_type": "git-clone", + "description": "NODES: Save Image (JPG), Combine Conditionings (Weighted)" + }, + { + "author": "unicough", + "title": "OpenAI Image API with gpt-image-1", + "id": "comfy_openai_image_api", + "reference": "https://github.com/unicough/comfy_openai_image_api", + "files": [ + "https://github.com/unicough/comfy_openai_image_api" + ], + "install_type": "git-clone", + "description": "This custom node uses OpenAI Image API to generate image (if no input image is provided) or edit image (if input image is provided) with the latest gpt-image-1 model. To use it, you will need to provide your OpenAI API key. This makes the node to be friendly for situations where ComfyUi serves as API server, because you don't have to login like the official OpenAI GPT Image 1 node does." + }, + { + "author": "XieJunchen", + "title": "comfyUI_LLM", + "reference": "https://github.com/XieJunchen/comfyUI_LLM", + "files": [ + "https://github.com/XieJunchen/comfyUI_LLM" + ], + "install_type": "git-clone", + "description": "comfyUI_LLM is the integration of a large language model into ComfyUI" + }, + { + "author": "raykindle", + "title": "ComfyUI_Step1X-Edit", + "reference": "https://github.com/raykindle/ComfyUI_Step1X-Edit", + "files": [ + "https://github.com/raykindle/ComfyUI_Step1X-Edit" + ], + "install_type": "git-clone", + "description": "This custom node integrates the [a/Step1X-Edit](https://github.com/stepfun-ai/Step1X-Edit) image editing model into ComfyUI. Step1X-Edit is a state-of-the-art image editing model that processes a reference image and user's editing instruction to generate a new image." + }, + { + "author": "Vaporbook", + "title": "ComfyUI-SaveImage-PP", + "reference": "https://github.com/Vaporbook/ComfyUI-SaveImage-PP", + "files": [ + "https://github.com/Vaporbook/ComfyUI-SaveImage-PP" + ], + "install_type": "git-clone", + "description": "A better SaveImage than SaveImage-Plus." + }, + { + "author": "McKlinton2", + "title": "ComfyUI McKlinton Pack — Mask Node", + "reference": "https://github.com/McKlinton2/comfyui-mcklinton-pack", + "files": [ + "https://github.com/McKlinton2/comfyui-mcklinton-pack" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI enables detailed segmentation of colored mask images into specific anatomical regions for male and female bodies." + }, + { + "author": "kambara", + "title": "ComfyUI-PromptPalette", + "reference": "https://github.com/kambara/ComfyUI-PromptPalette", + "files": [ + "https://github.com/kambara/ComfyUI-PromptPalette" + ], + "install_type": "git-clone", + "description": "A custom node that makes prompt editing easier by allowing phrase switching with just mouse operations." + }, + { + "author": "MijnSpam", + "title": "Upload to PushOver", + "reference": "https://github.com/MijnSpam/UploadToPushOver", + "files": [ + "https://github.com/MijnSpam/UploadToPushOver" + ], + "install_type": "git-clone", + "description": "Send generated image to PushOver API webhook with optional parameters such as prompt-id and metadata payload." + }, + { + "author": "MijnSpam", + "title": "Comfy swap and scale", + "reference": "https://github.com/MijnSpam/ComfyUI_SwapAndScale", + "files": [ + "https://github.com/MijnSpam/ComfyUI_SwapAndScale" + ], + "install_type": "git-clone", + "description": "Do you want to easily swap width and heigth? Than this is for you. From portrait to Landscape. Is you images model trained on 1MP pictures, then you can easily scale those down. For best pictures width and heigth should be a factor of 32, say no more..." + }, + { + "author": "wakattac", + "title": "ComfyUI-AbstractImaGen", + "id": "abstract-imagen", + "reference": "https://github.com/wakattac/ComfyUI-AbstractImaGen", + "files": [ + "https://github.com/wakattac/ComfyUI-AbstractImaGen" + ], + "install_type": "git-clone", + "description": "ComfyUI node for [a/Abstract Image Generation](https://github.com/wakattac/ComfyUI-AbstractImaGen/). This node is designed to create unique abstract base images on the fly within your ComfyUI workflows, which can then be used as input for VAE encoding, image-to-image generation, or other creative processes." + }, + { + "author": "Irsalistic", + "title": "ComfyUI DAM Object Extractor", + "reference": "https://github.com/Irsalistic/comfyui-dam-object-extractor", + "files": [ + "https://github.com/Irsalistic/comfyui-dam-object-extractor" + ], + "description": "A ComfyUI node that uses NVIDIA's DAM model to identify objects in masked regions", + "tags": ["object recognition", "vision", "image analysis"], + "install_type": "git-clone" + }, + { + "author": "dicksensei69", + "title": "ComfyUI Loops", + "reference": "https://github.com/dicksensei69/comfyui_loops", + "files": [ + "https://github.com/dicksensei69/comfyui_loops" + ], + "description": "A custom node for ComfyUI that creates looping animations from image sequences.", + "install_type": "git-clone" + }, + { + "author": "tighug", + "title": "ComfyUI Rating Checker", + "reference": "https://github.com/tighug/comfyui-rating-checker", + "files": [ + "https://github.com/tighug/comfyui-rating-checker" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that classifies images into NSFW (Not Safe For Work) categories." + }, + { + "author": "tighug", + "title": "ComfyUI Eagle Feeder", + "reference": "https://github.com/tighug/comfyui-eagle-feeder", + "files": [ + "https://github.com/tighug/comfyui-eagle-feeder" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to send images directly to [a/Eagle](https://jp.eagle.cool/)." + }, + { + "author": "BigStationW", + "title": "ComfyUi-RescaleCFGAdvanced", + "reference": "https://github.com/BigStationW/ComfyUi-RescaleCFGAdvanced", + "files": [ + "https://github.com/BigStationW/ComfyUi-RescaleCFGAdvanced" + ], + "install_type": "git-clone", + "description": "ReforgeCFG is a ComfyUI node designed to add details to your image. [a/While it already exists in Comfy Core](https://github.com/comfyanonymous/ComfyUI/blob/80a44b97f5cbcb890896e2b9e65d177f1ac6a588/comfy_extras/nodes_model_advanced.py#L258), it lacks timesteps for adjustment." + }, + { + "author": "BigStationW", + "title": "ComfyUi-Load-Image-And-Display-Prompt-Metadata", + "reference": "https://github.com/BigStationW/ComfyUi-Load-Image-And-Display-Prompt-Metadata", + "files": [ + "https://github.com/BigStationW/ComfyUi-Load-Image-And-Display-Prompt-Metadata" + ], + "install_type": "git-clone", + "description": "This node displays the positive and negative prompts of a loaded ComfyUi image." + }, + { + "author": "BigStationW", + "title": "ComfyUi-Scale-Image-to-Total-Pixels-Advanced", + "reference": "https://github.com/BigStationW/ComfyUi-Scale-Image-to-Total-Pixels-Advanced", + "files": [ + "https://github.com/BigStationW/ComfyUi-Scale-Image-to-Total-Pixels-Advanced" + ], + "install_type": "git-clone", + "description": "A more advanced version of the original ImageScaleToTotalPixels node" + }, + { + "author": "BigStationW", + "title": "ComfyUi-ConditioningNoiseInjection", + "reference": "https://github.com/BigStationW/ComfyUi-ConditioningNoiseInjection", + "files": [ + "https://github.com/BigStationW/ComfyUi-ConditioningNoiseInjection" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that injects controlled noise into conditioning embeddings (like prompts) for a portion of the diffusion process." + }, + { + "author": "BigStationW", + "title": "ComfyUi-ConditioningTimestepSwitch", + "reference": "https://github.com/BigStationW/ComfyUi-ConditioningTimestepSwitch", + "files": [ + "https://github.com/BigStationW/ComfyUi-ConditioningTimestepSwitch" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows temporal switching between prompts." + }, + { + "author": "BigStationW", + "title": "ComfyUi-TextEncodeQwenImageEditAdvanced", + "reference": "https://github.com/BigStationW/ComfyUi-TextEncodeQwenImageEditAdvanced", + "files": [ + "https://github.com/BigStationW/ComfyUi-TextEncodeQwenImageEditAdvanced" + ], + "install_type": "git-clone", + "description": "Qwen Image Edit uses a Vision Language Model to analyze input images and automatically enhance prompts with detailed descriptions." + }, + { + "author": "BigStationW", + "title": "ComfyUi-DisplayAllSteps", + "reference": "https://github.com/BigStationW/ComfyUi-DisplayAllSteps", + "files": [ + "https://github.com/BigStationW/ComfyUi-DisplayAllSteps" + ], + "install_type": "git-clone", + "description": "Custom node that displays the intermediate images generated at each denoising step during sampling. (Description by CC)" + }, + { + "author": "BigStationW", + "title": "Comfyui-AD-Image-Concatenation-Advanced", + "reference": "https://github.com/BigStationW/Comfyui-AD-Image-Concatenation-Advanced", + "files": [ + "https://github.com/BigStationW/Comfyui-AD-Image-Concatenation-Advanced" + ], + "install_type": "git-clone", + "description": "Advanced image concatenation node for ComfyUI with flexible grid layouts, padding, and styling options." + }, + { + "author": "matoo", + "title": "Compare Videos", + "reference": "https://github.com/surinder83singh/ComfyUI-compare-videos", + "files": [ + "https://github.com/surinder83singh/ComfyUI-compare-videos" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI extension to compare two video/image sequences via wipe preview." + }, + { + "author": "JoeNavark", + "title": "Custom Graph Sigma for ComfyUI", + "reference": "https://github.com/JoeNavark/comfyui_custom_sigma_editor", + "files": [ + "https://github.com/JoeNavark/comfyui_custom_sigma_editor" + ], + "install_type": "git-clone", + "description": "Custom Graph Sigma is a ComfyUI custom node that provides an interactive spline-based curve editor for visually creating and exporting custom sigma schedules. This is especially useful for controlling the noise schedule or custom step values in diffusion models and other workflows that use a sequence of values over time or steps." + }, + { + "author": "hybskgks28275", + "title": "ComfyUI-hybs-nodes", + "reference": "https://github.com/hybskgks28275/ComfyUI-hybs-nodes", + "files": [ + "https://github.com/hybskgks28275/ComfyUI-hybs-nodes" + ], + "install_type": "git-clone", + "description": "Various custom nodes will be added." + }, + { + "author": "mohsensd1373", + "title": "comfyui_wordpress", + "reference": "https://github.com/mohsensd1373/comfyui_wordpress", + "files": [ + "https://github.com/mohsensd1373/comfyui_wordpress" + ], + "install_type": "git-clone", + "description": "Upload image from comfyui to WordPress add your site setting in file wordpress_config.json" + }, + { + "author": "StableLlama", + "title": "Basic data handling", + "reference": "https://github.com/StableLlama/ComfyUI-basic_data_handling", + "files": [ + "https://github.com/StableLlama/ComfyUI-basic_data_handling" + ], + "install_type": "git-clone", + "description": "Basic Python functions for manipulating data that every programmer is used to. Currently supported: BOOLEAN, FLOAT, INT, STRING and data lists." + }, + { + "author": "charlyad142", + "title": "ComfyUI BFL API Pro Nodes", + "reference": "https://github.com/charlyad142/ComfyUI_bfl_api_pro_nodes", + "files": [ + "https://github.com/charlyad142/ComfyUI_bfl_api_pro_nodes" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI provides integration with the BFL (Black Forest Labs) API to enhance and optimize image processing. It allows the use of Flux Pro directly within ComfyUI, offering advanced image processing capabilities." + }, + { + "author": "ServiceStack", + "title": "ComfyUI Asset Downloader", + "id": "asset-downloader", + "reference": "https://github.com/ServiceStack/comfy-asset-downloader", + "files": [ + "https://github.com/ServiceStack/comfy-asset-downloader" + ], + "install_type": "git-clone", + "description": "This node allows downloading models and other resources used within a ComfyUI workflow making it easier to resolve referenced assets and share workflows" + }, + { + "author": "Njbx", + "title": "ComfyUI-LTX13B-Blockswap", + "reference": "https://github.com/Njbx/ComfyUI-LTX13B-Blockswap", + "files": [ + "https://github.com/Njbx/ComfyUI-LTX13B-Blockswap" + ], + "install_type": "git-clone", + "description": "ComfyUI-LTX13B-Blockswap This is a simple LTX block swap node for ComfyUI native nodes for 13B model, works by swapping upto 47 blocks to the CPU to reduce VRAM." + }, + { + "author": "IIs-fanta", + "title": "ComfyUI-FANTA-GameBox", + "reference": "https://github.com/IIs-fanta/ComfyUI-FANTA-GameBox", + "files": [ + "https://github.com/IIs-fanta/ComfyUI-FANTA-GameBox" + ], + "install_type": "git-clone", + "description": "Nodes for playing mini-games with ComfyUI." + }, + { + "author": "pixible", + "title": "comfyui-customselector", + "reference": "https://github.com/gasparuff/CustomSelector", + "files": [ + "https://github.com/gasparuff/CustomSelector" + ], + "install_type": "git-clone", + "description": "Helps deciding different settings depending on the input string" + }, + { + "author": "AIWarper", + "title": "NormalCrafterWrapper", + "id": "normal-crafter-wrapper", + "reference": "https://github.com/AIWarper/ComfyUI-NormalCrafterWrapper", + "files": [ + "https://github.com/AIWarper/ComfyUI-NormalCrafterWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI diffusers wrapper nodes for [a/NormalCrafter](https://github.com/Binyr/NormalCrafter)" + }, + { + "author": "AIWarper", + "title": "ComfyUI Warper Nodes", + "reference": "https://github.com/AIWarper/ComfyUI-WarperNodes", + "files": [ + "https://github.com/AIWarper/ComfyUI-WarperNodes" + ], + "install_type": "git-clone", + "description": "NODES: DWPose Scaler (Warper), Mouth Mask from Pose (Warper), Facial Part Mask from Pose (Warper), Smart Video Batcher (Warper), Get Batch By Index (Warper), Smart Overlapping Batcher (Warper), Flow Visualizer (Warper), Preprocess for Target (Warper), Crop and Restore (Warper), Aspect Ratio Resolution (Warper)" + }, + { + "author": "Goshe-nite", + "title": "GPS' Supplements for ComfyUI", + "id": "GPSupps", + "reference": "https://github.com/Goshe-nite/comfyui-gps-supplements", + "files": [ + "https://github.com/Goshe-nite/comfyui-gps-supplements" + ], + "install_type": "git-clone", + "description": "Nodes to make ComfyUI-Image-Saver and rgthree-comfy more compatible. Allowing Power Lora Loader node to be used with Image Saver node. Also adding nodes to extract Image Saver compatible strings to simplify workflows." + }, + { + "author": "fpgaminer", + "title": "JoyCaption Nodes", + "id": "comfyui-joycaption", + "reference": "https://github.com/fpgaminer/joycaption_comfyui", + "files": [ + "https://github.com/fpgaminer/joycaption_comfyui" + ], + "install_type": "git-clone", + "description": "Nodes for running the JoyCaption image captioner VLM." + }, + { + "author": "1hew", + "title": "ComfyUI 1hewNodes", + "id": "ComfyUI-1hewNodes", + "reference": "https://github.com/1hew/ComfyUI-1hewNodes", + "files": [ + "https://github.com/1hew/ComfyUI-1hewNodes" + ], + "install_type": "git-clone", + "description": "This is a custom node collection for ComfyUI that provides some utility nodes." + }, + { + "author": "cyberhirsch", + "title": "Seb Nodes", + "id": "seb_nodes", + "reference": "https://github.com/cyberhirsch/seb_nodes", + "files": [ + "https://github.com/cyberhirsch/seb_nodes" + ], + "install_type": "git-clone", + "description": "Save image node with dynamic paths and an 'Open Folder' button." + }, + { + "author": "Alastor 666 1933", + "title": "Caching to not Waste", + "id": "caching_to_not_waste", + "reference": "https://github.com/alastor-666-1933/caching_to_not_waste", + "files": [ + "https://github.com/alastor-666-1933/caching_to_not_waste" + ], + "install_type": "git-clone", + "description": "This node allows you to cache/caching/store and reuse resized images, ControlNet images, masks, and texts. It avoids repeating heavy operations by loading previously saved files — saving time, memory, and processing power in future executions." + }, + { + "author": "hayd-zju", + "title": "ICEdit-ComfyUI-official", + "reference": "https://github.com/hayd-zju/ICEdit-ComfyUI-official", + "files": [ + "https://github.com/hayd-zju/ICEdit-ComfyUI-official" + ], + "install_type": "git-clone", + "description": "This node pack provides the official ComfyUI workflow for ICEdit." + }, + { + "author": "SanDiegoDude", + "title": "ComfyUI-SaveAudioMP3", + "reference": "https://github.com/SanDiegoDude/ComfyUI-SaveAudioMP3", + "files": [ + "https://github.com/SanDiegoDude/ComfyUI-SaveAudioMP3" + ], + "install_type": "git-clone", + "description": "quick Comfy Node to convert input waveform audio to MP3" + }, + { + "author": "SanDiegoDude", + "title": "ComfyUI-DeepStereo", + "reference": "https://github.com/SanDiegoDude/ComfyUI-DeepStereo", + "files": [ + "https://github.com/SanDiegoDude/ComfyUI-DeepStereo" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for DeepStereo, an auto-autostereogram generator" + }, + { + "author": "SanDiegoDude", + "title": "ComfyUI-Kontext-API", + "reference": "https://github.com/SanDiegoDude/ComfyUI-Kontext-API", + "files": [ + "https://github.com/SanDiegoDude/ComfyUI-Kontext-API" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for integrating with the Fal Kontext API for advanced image editing and generation." + }, + { + "author": "SanDiegoDude", + "title": "SCG_LocalVLM", + "reference": "https://github.com/SanDiegoDude/SCG_LocalVLM", + "files": [ + "https://github.com/SanDiegoDude/SCG_LocalVLM" + ], + "install_type": "git-clone", + "description": "This is an implementation of [Qwen3-VL](https://github.com/QwenLM/Qwen3-VL) for [ComfyUI](https://github.com/comfyanonymous/ComfyUI), which supports for text-based and single-image queries." + }, + { + "author": "SanDiegoDude", + "title": "ComfyUI-Soprano-TTS", + "reference": "https://github.com/SanDiegoDude/ComfyUI-Soprano-TTS", + "files": [ + "https://github.com/SanDiegoDude/ComfyUI-Soprano-TTS" + ], + "install_type": "git-clone", + "description": "Ultra-lightweight, high-fidelity text-to-speech for ComfyUI using Soprano TTS." + }, + { + "author": "tavyra", + "title": "ComfyUI_Curves", + "reference": "https://github.com/tavyra/ComfyUI_Curves", + "files": [ + "https://github.com/tavyra/ComfyUI_Curves" + ], + "install_type": "git-clone", + "description": "Generate or draw FLOAT arrays within ComfyUI" + }, + { + "author": "krmahil", + "title": "Hollow Preserve", + "reference": "https://github.com/krmahil/comfyui-hollow-preserve", + "files": [ + "https://github.com/krmahil/comfyui-hollow-preserve" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that breaks closed loops in masks to prevent inpainting models from modifying enclosed regions" + }, + { + "author": "lihaoyun6", + "title": "ComfyUI-BlindWatermark", + "reference": "https://github.com/lihaoyun6/ComfyUI-BlindWatermark", + "files": [ + "https://github.com/lihaoyun6/ComfyUI-BlindWatermark" + ], + "install_type": "git-clone", + "description": "Embeds an invisible watermark in the input image" + }, + { + "author": "lihaoyun6", + "title": "Comfyui-QwenPromptRewriter", + "reference": "https://github.com/lihaoyun6/ComfyUI-QwenPromptRewriter", + "files": [ + "https://github.com/lihaoyun6/ComfyUI-QwenPromptRewriter" + ], + "install_type": "git-clone", + "description": "Enhance your prompts using the Qwen LLM to align the behavior and capabilities of the Qwen-Image/Edit online version." + }, + { + "author": "lihaoyun6", + "title": "ComfyUI-Segformer_Ultra_Fast", + "reference": "https://github.com/lihaoyun6/ComfyUI-Segformer_Ultra_Fast", + "files": [ + "https://github.com/lihaoyun6/ComfyUI-Segformer_Ultra_Fast" + ], + "install_type": "git-clone", + "description": "Run Segformer at lightning speed for image/video segmentation." + }, + { + "author": "lihaoyun6", + "title": "ComfyUI-FlashVSR_Ultra_Fast", + "reference": "https://github.com/lihaoyun6/ComfyUI-FlashVSR_Ultra_Fast", + "files": [ + "https://github.com/lihaoyun6/ComfyUI-FlashVSR_Ultra_Fast" + ], + "install_type": "git-clone", + "description": "Running FlashVSR on lower VRAM without any artifacts." + }, + { + "author": "lihaoyun6", + "title": "ComfyUI-NoCache", + "reference": "https://github.com/lihaoyun6/ComfyUI-NoCache", + "files": [ + "https://github.com/lihaoyun6/ComfyUI-NoCache" + ], + "install_type": "git-clone", + "description": "Ignore the output cache of specific nodes to save RAM." + }, + { + "author": "northumber", + "title": "ComfyUI-northTools", + "reference": "https://github.com/northumber/ComfyUI-northTools", + "files": [ + "https://github.com/northumber/ComfyUI-northTools" + ], + "install_type": "git-clone", + "description": "Collection of nodes for ComfyUI for automation" + }, + { + "author": "neggo", + "title": "comfyui-sambanova", + "reference": "https://github.com/neggo/comfyui-sambanova", + "files": [ + "https://github.com/neggo/comfyui-sambanova" + ], + "install_type": "git-clone", + "description": "This node pack provides a Python node that uses the SambaNova API to send prompts to a chat AI model (e.g., DeepSeek-V3-0324) and retrieve responses, intended for integration into node-based workflows like ComfyUI." + }, + { + "author": "Sinphaltimus", + "title": "comfyui_fedcoms_node_pack", + "reference": "https://github.com/Sinphaltimus/comfyui_fedcoms_node_pack", + "files": [ + "https://github.com/Sinphaltimus/comfyui_fedcoms_node_pack" + ], + "install_type": "git-clone", + "description": "Several nodes that attempt to extract metadata and raw text information from Gen AI models." + }, + { + "author": "XchanBik", + "title": "ComfyUI_SimpleBridgeNode", + "reference": "https://github.com/XchanBik/ComfyUI_SimpleBridgeNode", + "files": [ + "https://github.com/XchanBik/ComfyUI_SimpleBridgeNode" + ], + "install_type": "git-clone", + "description": "This node can store a route with a chosen ID then load it anywhere in the workflow. Goal it to make linking less messy in my taste." + }, + { + "author": "wings6407", + "title": "ComfyUI_HBH-image_overlay", + "reference": "https://github.com/wings6407/ComfyUI_HBH-image_overlay", + "files": [ + "https://github.com/wings6407/ComfyUI_HBH-image_overlay" + ], + "install_type": "git-clone", + "description": "Use the point editor to perform image composition editing." + }, + { + "author": "monkeyWie", + "title": "ComfyUI-FormInput", + "reference": "https://github.com/monkeyWie/ComfyUI-FormInput", + "files": [ + "https://github.com/monkeyWie/ComfyUI-FormInput" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI provides a set of input elements to create forms or interact with your workflows." + }, + { + "author": "bollerdominik", + "title": "ComfyUI-load-lora-from-url", + "reference": "https://github.com/bollerdominik/ComfyUI-load-lora-from-url", + "files": [ + "https://github.com/bollerdominik/ComfyUI-load-lora-from-url" + ], + "install_type": "git-clone", + "description": "A simple node to load image from local path or http url." + }, + { + "author": "newtextdoc1111", + "title": "ComfyUI-Autocomplete-Plus", + "reference": "https://github.com/newtextdoc1111/ComfyUI-Autocomplete-Plus", + "files": [ + "https://github.com/newtextdoc1111/ComfyUI-Autocomplete-Plus" + ], + "install_type": "git-clone", + "description": "Autocomplete and Related Tag display for ComfyUI" + }, + { + "author": "otacoo", + "title": "Metadata-Extractor", + "reference": "https://github.com/otacoo/comfyui_otacoo", + "files": [ + "https://github.com/otacoo/comfyui_otacoo" + ], + "install_type": "git-clone", + "description": "Extract generation info from PNG and JPEG images, supports both A1111 and (some) ComfyUI metadata" + }, + { + "author": "vladpro3", + "title": "ComfyUI_BishaNodes", + "reference": "https://github.com/vladpro3/ComfyUI_BishaNodes", + "files": [ + "https://github.com/vladpro3/ComfyUI_BishaNodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI to improve promts and image settings" + }, + { + "author": "otacoo", + "title": "comfyui-holdup", + "reference": "https://github.com/usrname0/comfyui-holdup", + "files": [ + "https://github.com/usrname0/comfyui-holdup" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that waits for a GPU temp and/or a number of seconds." + }, + { + "author": "lerignoux", + "title": "ComfyUI-PechaKucha", + "reference": "https://github.com/lerignoux/ComfyUI-PechaKucha", + "files": [ + "https://github.com/lerignoux/ComfyUI-PechaKucha" + ], + "install_type": "git-clone", + "description": "Nodes to generate a pecha-kucha presentation in ComfyUI" + }, + { + "author": "lerignoux", + "title": "ComfyUI Stable3DGen", + "reference": "https://github.com/lerignoux/ComfyUI-Stable3DGen", + "files": [ + "https://github.com/lerignoux/ComfyUI-Stable3DGen" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node to generate 3D assets using [a/Stable3D](https://github.com/Stable-X/Stable3DGen)" + }, + { + "author": "GroxicTinch", + "title": "EasyUI", + "reference": "https://github.com/GroxicTinch/EasyUI-ComfyUI", + "files": [ + "https://github.com/GroxicTinch/EasyUI-ComfyUI" + ], + "install_type": "git-clone", + "description": "Allows making a mirror of options that are on a node, for use creating your own UI" + }, + { + "author": "Dontdrunk", + "title": "ComfyUI-DD-Nodes", + "id": "comfyui-dd-nodes", + "reference": "https://github.com/Dontdrunk/ComfyUI-DD-Nodes", + "files": [ + "https://github.com/Dontdrunk/ComfyUI-DD-Nodes" + ], + "install_type": "git-clone", + "description": "Provide powerful frontend and backend integration node packages for ComfyUI - this is an exceptionally robust integration extension." + }, + { + "author": "Dontdrunk", + "title": "ComfyUI-DD-Translation", + "id": "comfyui-dd-translation", + "reference": "https://github.com/Dontdrunk/ComfyUI-DD-Translation", + "files": [ + "https://github.com/Dontdrunk/ComfyUI-DD-Translation" + ], + "install_type": "git-clone", + "description": "A plugin offering supplementary Chinese translations for ComfyUI custom nodes." + }, + { + "author": "TrophiHunter", + "title": "Photography Nodes", + "id": "comfyui-photography-nodes", + "reference": "https://github.com/TrophiHunter/ComfyUI_Photography_Nodes", + "files": [ + "https://github.com/TrophiHunter/ComfyUI_Photography_Nodes" + ], + "install_type": "git-clone", + "description": "I wanted a way to batch add effects to images inside Comfyui so I made these nodes. Some of the effects should be ordered specifically so they stack and are effecting the image emulating camera effectsI made some workflows to show you the correct order." + }, + { + "author": "magic-eraser-org", + "title": "ComfyUI-Unwatermark", + "reference": "https://github.com/magic-eraser-org/ComfyUI-Unwatermark", + "files": [ + "https://github.com/magic-eraser-org/ComfyUI-Unwatermark" + ], + "install_type": "git-clone", + "description": "ComfyUI-Unwatermark: A ComfyUI custom node to intelligently remove watermarks from images using the unwatermark.ai API.\nThis custom node for ComfyUI allows you to easily remove watermarks from your images by leveraging the power of the unwatermark.ai API." + }, + { + "author": "Sayene", + "title": "comfyui-base64-to-image-size", + "reference": "https://github.com/Sayene/comfyui-base64-to-image-size", + "files": [ + "https://github.com/Sayene/comfyui-base64-to-image-size" + ], + "install_type": "git-clone", + "description": "Loads an image and its transparency mask from a base64-encoded data URI. This is useful for API connections as you can transfer data directly rather than specify a file location." + }, + { + "author": "xuhongming251", + "title": "ComfyUI-Jimeng", + "reference": "https://github.com/xuhongming251/ComfyUI-Jimeng", + "files": [ + "https://github.com/xuhongming251/ComfyUI-Jimeng" + ], + "install_type": "git-clone", + "description": "for use jimeng ai in comfyui" + }, + { + "author": "xuhongming251", + "title": "ComfyUI-InfiniteTalk-MultiImage", + "reference": "https://github.com/xuhongming251/ComfyUI-InfiniteTalk-MultiImage", + "files": [ + "https://github.com/xuhongming251/ComfyUI-InfiniteTalk-MultiImage" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for multi-image processing and data manipulation in InfiniteTalk workflows. (Description by CC)" + }, + { + "author": "Kyron Mahan", + "title": "ComfyUI Smart Scaler", + "id": "smart-scaler", + "reference": "https://github.com/babydjac/comfyui-smart-scaler", + "files": [ + "https://github.com/babydjac/comfyui-smart-scaler" + ], + "install_type": "git-clone", + "description": "A package for intelligent image scaling, aspect ratio adjustments, metadata extraction, and video frame processing for Wan 2.1 vid2vid/img2vid workflows with Pony/SDXL models." + }, + { + "author": "purewater2011", + "title": "comfyui_color_detection", + "reference": "https://github.com/purewater2011/comfyui_color_detection", + "files": [ + "https://github.com/purewater2011/comfyui_color_detection" + ], + "install_type": "git-clone", + "description": "This plugin adds functionality to ComfyUI for detecting yellow tones in images, making it particularly useful for skin tone analysis and image color evaluation." + }, + { + "author": "San4itos", + "title": "Save Images to Video (FFmpeg) for ComfyUI", + "reference": "https://github.com/San4itos/ComfyUI-Save-Images-as-Video", + "files": [ + "https://github.com/San4itos/ComfyUI-Save-Images-as-Video" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI to save image sequences as video files using FFmpeg. Supports various codecs, audio muxing, and in-node previews." + }, + { + "author": "X-School-Academy", + "title": "X-FluxAgent", + "reference": "https://github.com/X-School-Academy/X-FluxAgent", + "files": [ + "https://github.com/X-School-Academy/X-FluxAgent" + ], + "install_type": "git-clone", + "description": "X-FluxAgent turns ComfyUI into a smart, AI-powered agent capable of building software, automating tasks, and even managing your daily workflows — all with natural language prompts, no coding experience needed." + }, + { + "author": "cluny85", + "title": "ComfyUI-Scripting-Tools", + "reference": "https://github.com/cluny85/ComfyUI-Scripting-Tools", + "files": [ + "https://github.com/cluny85/ComfyUI-Scripting-Tools" + ], + "install_type": "git-clone", + "description": "A set of utility nodes for ComfyUI focused on scripting. Includes an enhanced UUID generator node." + }, + { + "author": "LamEmil", + "title": "ComfyUI ASCII Art Nodes", + "reference": "https://github.com/LamEmil/ComfyUI_ASCIIArtNode", + "files": [ + "https://github.com/LamEmil/ComfyUI_ASCIIArtNode" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that enable the creation of various ASCII art effects, from static images to complex, colorized typing animations and video conversions." + }, + { + "author": "jqy-yo", + "title": "BBoxLowerMask2", + "reference": "https://github.com/jqy-yo/Comfyui-BBoxLowerMask2", + "files": [ + "https://github.com/jqy-yo/Comfyui-BBoxLowerMask2" + ], + "install_type": "git-clone", + "description": "Create a mask to slice the image at specific coordinates" + }, + { + "author": "ICAI Icelandic Center for Artificial Intelligence", + "title": "Sampler Scheduler Metrics Tester for ComfyUI", + "id": "SamplerSchedulerMetricsTester", + "reference": "https://github.com/IcelandicCenterArtificialIntelligence/ComfyUI-SamplerSchedulerMetricsTester", + "files": [ + "https://github.com/IcelandicCenterArtificialIntelligence/ComfyUI-SamplerSchedulerMetricsTester" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI allows you to test combinations of samplers and schedulers. It generates a batch of generated images(latents), as well as RGB images, each one annotated with the specific combination used, performance timing, and several image quality metrics (Laplacian Variance, Gradient Mean, FFT-based sharpness) for our internal usage, but kept as they could may be useful for others to." + }, + { + "author": "2frames.app", + "title": "AQnodes for ComfyUI", + "id": "AQnodes", + "reference": "https://github.com/2frames/ComfyUI-AQnodes", + "files": [ + "https://github.com/2frames/ComfyUI-AQnodes" + ], + "install_type": "git-clone", + "description": "Nodes for ComfyUI, mostly for llm calling and automatizing pulid multiface." + }, + { + "author": "BigWhiteFly", + "title": "ComfyUI-ImageConcat", + "reference": "https://github.com/BigWhiteFly/ComfyUI-ImageConcat", + "files": [ + "https://github.com/BigWhiteFly/ComfyUI-ImageConcat" + ], + "install_type": "git-clone", + "description": "concatenate all images in floders, concatenate caption txt files for trainning loras." + }, + { + "author": "Jannled", + "title": "OWL-ViT ComfyUI", + "reference": "https://github.com/Jannled/owl-vit-comfyui", + "files": [ + "https://github.com/Jannled/owl-vit-comfyui" + ], + "install_type": "git-clone", + "description": "ComfyUI Nodes for OWL-ViT / OWLv2 using the HuggingFace Transformers implementation" + }, + { + "author": "thedivergentai", + "title": "Divergent Nodes", + "reference": "https://github.com/thedivergentai/divergent_nodes", + "files": [ + "https://github.com/thedivergentai/divergent_nodes" + ], + "install_type": "git-clone", + "description": "This repository contains a collection of custom nodes for ComfyUI designed to integrate external AI models, provide utilities, and enable advanced workflows." + }, + { + "author": "skycoder", + "title": "Filename Tools", + "reference": "https://github.com/skycoder182/comfyui-filename-tools", + "files": [ + "https://github.com/skycoder182/comfyui-filename-tools" + ], + "install_type": "git-clone", + "description": "A utility node for extracting and trimming filenames from file paths" + }, + { + "author": "skycoder", + "title": "Skycoder Tools", + "reference": "https://github.com/skycoder182/comfyui-skycoder-tools", + "files": [ + "https://github.com/skycoder182/comfyui-skycoder-tools" + ], + "install_type": "git-clone", + "description": "A collection of useful custom nodes for ComfyUI workflows" + }, + { + "author": "craig-tanaka", + "title": "ComfyUI Anime Segmentation Nodes v1.1.0", + "reference": "https://github.com/craig-tanaka/comfyui_animeseg", + "files": [ + "https://github.com/craig-tanaka/comfyui_animeseg" + ], + "install_type": "git-clone", + "description": "This is a set of custom nodes for ComfyUI that provide anime-style image segmentation using efficient pre-trained models." + }, + { + "author": "lepiai", + "title": "ComfyUI-Minitools", + "reference": "https://github.com/lepiai/ComfyUI-Minitools", + "files": [ + "https://github.com/lepiai/ComfyUI-Minitools" + ], + "install_type": "git-clone", + "description": "ComfyUI Mini Toolkit – Helps reduce node redundancy. Let’s see if there’s time to keep it updated regularly." + }, + { + "author": "wildminder", + "title": "ComfyUI-KEEP", + "reference": "https://github.com/wildminder/ComfyUI-KEEP", + "files": [ + "https://github.com/wildminder/ComfyUI-KEEP" + ], + "install_type": "git-clone", + "description": "Kalman-Inspired Feature Propagation for Video Face Super-Resolution" + }, + { + "author": "wildminder", + "title": "ComfyUI-Chatterbox", + "reference": "https://github.com/wildminder/ComfyUI-Chatterbox", + "files": [ + "https://github.com/wildminder/ComfyUI-Chatterbox" + ], + "install_type": "git-clone", + "description": "ComfyUI Chatterbox TTS & Voice Conversion Node" + }, + { + "author": "wildminder", + "title": "ComfyUI-Optim", + "reference": "https://github.com/wildminder/000_ComfyUI-Optim", + "files": [ + "https://github.com/wildminder/000_ComfyUI-Optim" + ], + "install_type": "git-clone", + "description": "ComfyUI startup optimizer and patcher" + }, + { + "author": "wildminder", + "title": "ComfyUI-VibeVoice", + "reference": "https://github.com/wildminder/ComfyUI-VibeVoice", + "files": [ + "https://github.com/wildminder/ComfyUI-VibeVoice" + ], + "install_type": "git-clone", + "description": "VibeVoice TTS. Expressive, long-form, multi-speaker conversational audio" + }, + { + "author": "wildminder", + "title": "ComfyUI-VoxCPM", + "reference": "https://github.com/wildminder/ComfyUI-VoxCPM", + "files": [ + "https://github.com/wildminder/ComfyUI-VoxCPM" + ], + "install_type": "git-clone", + "description": "VoxCPM TTS. Context-aware, expressive speech generation and true-to-life voice cloning" + }, + { + "author": "wildminder", + "title": "ComfyUI-KaniTTS", + "reference": "https://github.com/wildminder/ComfyUI-KaniTTS", + "files": [ + "https://github.com/wildminder/ComfyUI-KaniTTS" + ], + "install_type": "git-clone", + "description": "Kani TTS. Generate natural, high‑quality speech from text" + }, + { + "author": "wildminder", + "title": "ComfyUI-DyPE", + "reference": "https://github.com/wildminder/ComfyUI-DyPE", + "files": [ + "https://github.com/wildminder/ComfyUI-DyPE" + ], + "install_type": "git-clone", + "description": "DyPE for FLUX. Artifact-free 4K+ image generation." + }, + { + "author": "cloudkoala", + "title": "comfyui-koala", + "reference": "https://github.com/cloudkoala/comfyui-koala", + "files": [ + "https://github.com/cloudkoala/comfyui-koala" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI focused on aspect ratio management and other utilities." + }, + { + "author": "Limbicnation", + "title": "Depth Estimation Node", + "reference": "https://github.com/Limbicnation/ComfyUIDepthEstimation", + "files": [ + "https://github.com/Limbicnation/ComfyUIDepthEstimation" + ], + "install_type": "git-clone", + "description": "A robust custom depth estimation node for ComfyUI using Depth-Anything models. It integrates depth estimation with configurable post-processing options including blur, median filtering, contrast enhancement, and gamma correction." + }, + { + "author": "Limbicnation", + "title": "ComfyUI Face Detection Node", + "id": "comfyui-face-detection-node", + "reference": "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode", + "files": [ + "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for face detection and cropping using OpenCV Haar cascades, with full ComfyUI v3 schema support and backward compatibility.", + "nodename_pattern": "FaceDetectionNode" + }, + { + "author": "Limbicnation", + "title": "Transparency Background Remover", + "reference": "https://github.com/Limbicnation/ComfyUI-TransparencyBackgroundRemover", + "files": [ + "https://github.com/Limbicnation/ComfyUI-TransparencyBackgroundRemover" + ], + "install_type": "git-clone", + "description": "Automatic background removal and transparency generation for ComfyUI" + }, + { + "author": "Limbicnation", + "title": "ComfyUI-RandomSeedGenerator", + "reference": "https://github.com/Limbicnation/ComfyUI-RandomSeedGenerator", + "files": [ + "https://github.com/Limbicnation/ComfyUI-RandomSeedGenerator" + ], + "install_type": "git-clone", + "description": "Advanced seed generator for ComfyUI with multiple modes, state persistence, and cross-library synchronization" + }, + { + "author": "Limbicnation", + "title": "ComfyUI-PromptGenerator", + "id": "comfyui-prompt-generator", + "reference": "https://github.com/Limbicnation/ComfyUI-PromptGenerator", + "files": [ + "https://github.com/Limbicnation/ComfyUI-PromptGenerator" + ], + "install_type": "git-clone", + "description": "Generate Stable Diffusion prompts using Qwen3-8B via Ollama with 7 style presets (cinematic, anime, photorealistic, fantasy, abstract, cyberpunk, sci-fi)" + }, + { + "author": "hao-ai-lab", + "title": "FastVideo", + "reference": "https://github.com/hao-ai-lab/FastVideo", + "files": [ + "https://github.com/hao-ai-lab/FastVideo" + ], + "install_type": "git-clone", + "description": "A custom node suite for ComfyUI that provides accelerated multi-GPU video generation using [a/FastVideo](https://github.com/hao-ai-lab/FastVideo)." + }, + { + "author": "TensorKaze", + "title": "ComfyUI-TkNodes", + "id": "ComfyUI-TkNodes", + "reference": "https://github.com/TensorKaze/ComfyUI-TkNodes", + "files": [ + "https://github.com/TensorKaze/ComfyUI-TkNodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI with advanced image scaling, latent manipulation, and Flux sampling" + }, + { + "author": "angree", + "title": "Q GLB Material Modifier", + "reference": "https://github.com/angree/ComfyUI-Q_GLB_Material_Modifier", + "files": [ + "https://github.com/angree/ComfyUI-Q_GLB_Material_Modifier" + ], + "install_type": "git-clone", + "description": "Enhance GLB 3D models with realistic materials, smart emissive elements, and procedural normal maps" + }, + { + "author": "angree", + "title": "Q Find Mask Size", + "reference": "https://github.com/angree/ComfyUI-Q_find-mask-size", + "files": [ + "https://github.com/angree/ComfyUI-Q_find-mask-size" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for finding and analyzing mask sizes in images" + }, + { + "author": "babe-and-spencer-enterprises", + "title": "ComfyUI Upload to BASE Node", + "reference": "https://github.com/babe-and-spencer-enterprises/base-comfyui-node", + "files": [ + "https://github.com/babe-and-spencer-enterprises/base-comfyui-node" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that lets you upload generated images directly to your [a/BASE](https://getbase.app/) account — no manual downloads or re-uploads needed." + }, + { + "author": "R5-Revo", + "title": "Universal LLM Node for ComfyUI", + "reference": "https://github.com/R5-Revo/llm-node-comfyui", + "files": [ + "https://github.com/R5-Revo/llm-node-comfyui" + ], + "install_type": "git-clone", + "description": "UniversalLLMNode is a custom node for ComfyUI that provides a unified interface to use multiple major LLM APIs, including OpenAI, Anthropic (Claude), Google Gemini, Groq, and Mistral. It is ideal for tasks such as automatically generating high-quality SDXL prompts for image generation." + }, + { + "author": "jaimitoes", + "title": "ComfyUI_Wan2_1_lora_trainer", + "reference": "https://github.com/jaimitoes/ComfyUI_Wan2_1_lora_trainer", + "files": [ + "https://github.com/jaimitoes/ComfyUI_Wan2_1_lora_trainer" + ], + "install_type": "git-clone", + "description": "Musubi Tuner by kohya_ss" + }, + { + "author": "karthikg-09", + "title": "ComfyUI-Vton-Mask", + "reference": "https://github.com/karthikg-09/ComfyUI-Vton-Mask", + "files": [ + "https://github.com/karthikg-09/ComfyUI-Vton-Mask" + ], + "install_type": "git-clone", + "description": "A lightweight ComfyUI custom node for generating high-quality masks and pose detection for virtual try-on applications. This node extracts only the essential masking functionality from FitDiT without requiring heavy diffusion models." + }, + { + "author": "karthikg-09", + "title": "ComfyUI WanVideo Auto Resize", + "reference": "https://github.com/karthikg-09/ComfyUI-WanVideoAutoResize", + "files": [ + "https://github.com/karthikg-09/ComfyUI-WanVideoAutoResize" + ], + "install_type": "git-clone", + "description": "A high-performance ComfyUI custom node for intelligent image resizing with industry-standard presets and smart orientation detection. Optimized for video workflows and batch processing." + }, + { + "author": "kiko9", + "title": "ComfyUI_PromptManager", + "reference": "https://github.com/ComfyAssets/ComfyUI_PromptManager", + "files": [ + "https://github.com/ComfyAssets/ComfyUI_PromptManager" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node that extends the standard text encoder with persistent prompt storage, advanced search capabilities, and an automatic image gallery system using SQLite." + }, + { + "author": "kiko9", + "title": "ComfyUI_Selectors", + "reference": "https://github.com/ComfyAssets/ComfyUI_Selectors", + "files": [ + "https://github.com/ComfyAssets/ComfyUI_Selectors" + ], + "install_type": "git-clone", + "description": "A modern ComfyUI custom node package that provides essential UI controls for image generation workflows. These nodes allow you to centralize commonly shared parameters (scheduler, sampler, dimensions, seeds) and link them to multiple nodes in your workflow, eliminating redundancy while maintaining JSON metadata compatibility." + }, + { + "author": "kiko9", + "title": "ComfyUI-KikoTools", + "reference": "https://github.com/ComfyAssets/ComfyUI-KikoTools", + "files": [ + "https://github.com/ComfyAssets/ComfyUI-KikoTools" + ], + "install_type": "git-clone", + "description": "ComfyUI-KikoTools provides carefully crafted, production-ready nodes grouped under the 'ComfyAssets' category. Each tool is designed with clean interfaces, comprehensive testing, and optimized performance for SDXL and FLUX workflows." + }, + { + "author": "kiko9", + "title": "ComfyUI-KikoStats", + "reference": "https://github.com/ComfyAssets/ComfyUI-KikoStats", + "files": [ + "https://github.com/ComfyAssets/ComfyUI-KikoStats" + ], + "install_type": "git-clone", + "description": "Real-time monitoring and statistics for ComfyUI" + }, + { + "author": "TFL-TFL", + "title": "ComfyUI_Text_Translation", + "reference": "https://github.com/TFL-TFL/ComfyUI_Text_Translation", + "files": [ + "https://github.com/TFL-TFL/ComfyUI_Text_Translation" + ], + "install_type": "git-clone", + "description": "Text translation node for ComfyUI: No need to apply for a translation API key, just use it. Currently supports more than thirty translation platforms." + }, + { + "author": "Charonartist", + "title": "ComfyUI Auto LoRA", + "reference": "https://github.com/Charonartist/comfyui-auto-lora-v2", + "files": [ + "https://github.com/Charonartist/comfyui-auto-lora-v2" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI custom node that automatically detects trigger words from text prompts and applies the corresponding LoRA models." + }, + { + "author": "Charonartist", + "title": "ComfyUI Smart Resize Node", + "reference": "https://github.com/Charonartist/comfyui-smart-resize-node", + "files": [ + "https://github.com/Charonartist/comfyui-smart-resize-node" + ], + "install_type": "git-clone", + "description": "Smart resize node for ComfyUI that handles portrait/landscape images with short/long side specification" + }, + { + "author": "Charonartist", + "title": "ComfyUI Tag Remover", + "reference": "https://github.com/Charonartist/comfyui-tag-remover", + "files": [ + "https://github.com/Charonartist/comfyui-tag-remover" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for removing specified tags and their content from text" + }, + { + "author": "Charonartist", + "title": "comfyui-last-frame-extractor", + "reference": "https://github.com/Charonartist/comfyui-last-frame-extractor", + "files": [ + "https://github.com/Charonartist/comfyui-last-frame-extractor" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI custom node that extracts the last frame (image) from an input image batch. It is particularly useful when you want to obtain the final scene or frame in a video generation workflow." + }, + { + "author": "Charonartist", + "title": "comfyui-lmstudio-conversation", + "reference": "https://github.com/Charonartist/comfyui-lmstudio-conversation", + "files": [ + "https://github.com/Charonartist/comfyui-lmstudio-conversation" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for LM Studio integration with conversation history support " + }, + { + "author": "ptmaster", + "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" + ], + "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": "ptmaster", + "title": "ComfyUI-audio-speed", + "reference": "https://github.com/ptmaster/comfyui-audio-speed", + "files": [ + "https://github.com/ptmaster/comfyui-audio-speed" + ], + "install_type": "git-clone", + "description": "This node pack is designed to adjust audio playback speed within ComfyUI, particularly to sync audio with models like FantasyTalking (WAN) that require specific frame rates. It can also be used for general-purpose audio speed control." + }, + { + "author": "ptmaster", + "title": "Comfyui-PT-Keyframe-Camera", + "reference": "https://github.com/ptmaster/Comfyui-PT-Keyframe-Camera", + "files": [ + "https://github.com/ptmaster/Comfyui-PT-Keyframe-Camera" + ], + "install_type": "git-clone", + "description": "The Comfyui-PT-Keyframe-Camera is a powerful tool designed to streamline the process of creating animations with keyframe cameras. It integrates seamlessly with existing workflows, allowing you to focus on your creativity without getting bogged down by technical details. This tool is perfect for animators, filmmakers, and anyone looking to add depth to their projects." + }, + { + "author": "doubletwisted", + "title": "ComfyUI Deadline Submission", + "reference": "https://github.com/doubletwisted/ComfyUI-Deadline-Plugin", + "files": [ + "https://github.com/doubletwisted/ComfyUI-Deadline-Plugin" + ], + "install_type": "git-clone", + "description": "ComfyUI plugin for submitting workflows to Thinkbox Deadline for distributed rendering. Enables render farm distribution with configurable job settings, batch processing, and automatic seed variation.", + "nodename_pattern": "DeadlineSubmitNode" + }, + { + "author": "openvino-dev-samples", + "title": "ComfyUI-OpenVINO", + "id": "comfyui-openvino", + "reference": "https://github.com/openvino-dev-samples/comfyui_openvino", + "files": [ + "https://github.com/openvino-dev-samples/comfyui_openvino" + ], + "install_type": "git-clone", + "description": "OpenVINO node is designed for optimizing the performance of model inference in ComfyUI by leveraging Intel OpenVINO toolkits. It can support running model on Intel CPU, GPU and NPU device." + }, + { + "author": "coiichan", + "title": "ComfyUI-Depth-Visualization-advanced", + "reference": "https://github.com/CoiiChan/ComfyUI-Depth-Visualization-Advanced", + "files": [ + "https://github.com/CoiiChan/ComfyUI-Depth-Visualization-Advanced" + ], + "install_type": "git-clone", + "description": "Works with any Depth Map and visualizes the applied version it inside ComfyUI." + }, + { + "author": "coiichan", + "title": "comfyui-every-person-seg-coii", + "reference": "https://github.com/CoiiChan/comfyui-every-person-seg-coii", + "reference2": "https://github.com/CoiiChan/ComfyUI-Every-Person-Seg-CoiiNode", + "files": [ + "https://github.com/CoiiChan/comfyui-every-person-seg-coii" + ], + "install_type": "git-clone", + "description": "A masking tool that provides the ability to break down the detailed contours of characters one by one for multi person use scenarios" + }, + { + "author": "coiichan", + "title": "ComfyUI-FuncAsTexture-CoiiNode", + "reference": "https://github.com/CoiiChan/ComfyUI-FuncAsTexture-CoiiNode", + "files": [ + "https://github.com/CoiiChan/ComfyUI-FuncAsTexture-CoiiNode" + ], + "install_type": "git-clone", + "description": "This allows for mathematical operations on input images and precise manipulation of channels through NumPy formulas, making it suitable for ComfyUI users with programming experience." + }, + { + "author": "coulterj", + "title": "ComfyUI SVG Visual Normalize & Margin Node", + "reference": "https://github.com/coulterj/comfyui-svg-visual-normalize", + "files": [ + "https://github.com/coulterj/comfyui-svg-visual-normalize" + ], + "install_type": "git-clone", + "description": "This ComfyUI custom node processes SVG (Scalable Vector Graphics) images to ensure the artwork consistently fills its canvas, is visually centered, and optionally has a margin applied. It's designed to provide more accurate results for complex vector graphics, such as those generated by vector tracing tools, where simple geometric bounding boxes may not align with perceived visual extents." + }, + { + "author": "papcorns", + "title": "ComfyUI Load Image From URL", + "reference": "https://github.com/papcorns/ComfyUI-Papcorns-Node-LoadImageFromUrl", + "files": [ + "https://github.com/papcorns/ComfyUI-Papcorns-Node-LoadImageFromUrl" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that allows you to load images directly from URLs or local file paths. This node provides a convenient way to import images into your ComfyUI workflows without manually downloading them first." + }, + { + "author": "papcorns", + "title": "Papcorns ComfyUI Custom Nodes", + "reference": "https://github.com/papcorns/Papcorns-Comfyui-Custom-Nodes", + "files": [ + "https://github.com/papcorns/Papcorns-Comfyui-Custom-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that enhances image processing and cloud storage capabilities." + }, + { + "author": "gabe-init", + "title": "ComfyUI OpenRouter Node", + "reference": "https://github.com/gabe-init/ComfyUI-Openrouter_node", + "files": [ + "https://github.com/gabe-init/ComfyUI-Openrouter_node" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to interact with OpenRouter's chat/completion API, providing access to a wide range of models." + }, + { + "author": "gabe-init", + "title": "ComfyUI-11labs", + "reference": "https://github.com/gabe-init/ComfyUI-11labs", + "files": [ + "https://github.com/gabe-init/ComfyUI-11labs" + ], + "install_type": "git-clone", + "description": "ComfyUI ElevenLabs TTS Node - Text-to-speech integration with advanced voice controls" + }, + { + "author": "gabe-init", + "title": "ComfyUI-Google-Image-Search", + "reference": "https://github.com/gabe-init/ComfyUI-Google-Image-Search", + "files": [ + "https://github.com/gabe-init/ComfyUI-Google-Image-Search" + ], + "install_type": "git-clone", + "description": "ComfyUI Google Image Search Node - Search and retrieve images from Google" + }, + { + "author": "gabe-init", + "title": "ComfyUI-String-Similarity", + "reference": "https://github.com/gabe-init/ComfyUI-String-Similarity", + "files": [ + "https://github.com/gabe-init/ComfyUI-String-Similarity" + ], + "install_type": "git-clone", + "description": "ComfyUI String Similarity Node - Advanced text comparison with multiple algorithms" + }, + { + "author": "GACLove", + "title": "ComfyUI-Lightx2vWrapper", + "reference": "https://github.com/ModelTC/ComfyUI-Lightx2vWrapper", + "files": [ + "https://github.com/ModelTC/ComfyUI-Lightx2vWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI-Lightx2vWrapper is an inference wrapper for Lightx2v designed for use with ComfyUI." + }, + { + "author": "GACLove", + "title": "ComfyUI-VFI", + "reference": "https://github.com/GACLove/ComfyUI-VFI", + "files": [ + "https://github.com/GACLove/ComfyUI-VFI" + ], + "install_type": "git-clone", + "description": "ComfyUI-RIFE is an inference wrapper for RIFE designed for use with ComfyUI." + }, + { + "author": "Yahweasel", + "title": "ComfyUI-MinDalle", + "reference": "https://github.com/Yahweasel/ComfyUI-MinDalle", + "files": [ + "https://github.com/Yahweasel/ComfyUI-MinDalle" + ], + "install_type": "git-clone", + "description": "This is a quick-and-filthy wrapper of [a/min-dalle](https://github.com/kuprel/min-dalle) for ComfyUI. min-dalle downloads and loads the actual model itself, making for a very simple, but very non-idiomatic, ComfyUI node." + }, + { + "author": "Yahweasel", + "title": "ComfyUI-HF-Diffusers", + "reference": "https://github.com/Yahweasel/ComfyUI-HF-Diffusers", + "files": [ + "https://github.com/Yahweasel/ComfyUI-HF-Diffusers" + ], + "install_type": "git-clone", + "description": "A lot of custom nodes for ComfyUI are really just bindings to HuggingFace Diffusers and/or Transformers, but overly constrained to use them in very particular ways." + }, + { + "author": "AIToldMeTo", + "title": "ComfyUI Cache Cleaner Node", + "reference": "https://github.com/AIToldMeTo/comfyui-cache-cleaner", + "files": [ + "https://github.com/AIToldMeTo/comfyui-cache-cleaner" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that provides the ability to clear the cache directly from your workflow." + }, + { + "author": "SamTyurenkov", + "title": "comfyui_chatgpt", + "reference": "https://github.com/SamTyurenkov/comfyui_chatgpt", + "files": [ + "https://github.com/SamTyurenkov/comfyui_chatgpt" + ], + "install_type": "git-clone", + "description": "Chat GPT Image Generation Chat Node for Comfy UI" + }, + { + "author": "SamTyurenkov", + "title": "comfyui_vace_preprocessors", + "reference": "https://github.com/SamTyurenkov/comfyui-vace-preprocessors", + "files": [ + "https://github.com/SamTyurenkov/comfyui-vace-preprocessors" + ], + "install_type": "git-clone", + "description": "Some nodes to create a preprocessed videos" + }, + { + "author": "orion4d", + "title": "ComfyUI-Image-Effects", + "reference": "https://github.com/orion4d/ComfyUI-Image-Effects", + "files": [ + "https://github.com/orion4d/ComfyUI-Image-Effects" + ], + "install_type": "git-clone", + "description": "Complete collection of image effects for ComfyUI - 32 nodes across 6 categories" + }, + { + "author": "orion4d", + "title": "ComfyUI PDF Nodes", + "reference": "https://github.com/orion4d/ComfyUI_pdf_nodes", + "files": [ + "https://github.com/orion4d/ComfyUI_pdf_nodes" + ], + "install_type": "git-clone", + "description": "This repository contains a set of custom nodes for ComfyUI that allow you to load, manipulate, extract information from, and preview PDF files directly within your workflows." + }, + { + "author": "orion4d", + "title": "ComfyUI Illusion & Pattern Nodes", + "reference": "https://github.com/orion4d/illusion_node", + "files": [ + "https://github.com/orion4d/illusion_node" + ], + "install_type": "git-clone", + "description": "This repository contains a collection of custom nodes for ComfyUI, designed for generating various patterns, optical illusions, and performing related image manipulations. All nodes are categorized under 'illusion' in the ComfyUI menu." + }, + { + "author": "orion4d", + "title": "ComfyUI_extract_imag", + "reference": "https://github.com/orion4d/ComfyUI_extract_imag", + "files": [ + "https://github.com/orion4d/ComfyUI_extract_imag" + ], + "install_type": "git-clone", + "description": "This ComfyUI node allows you to extract all images found in various types of documents and save them to disk. It also provides a preview of the first extracted image." + }, + { + "author": "orion4d", + "title": "CalculatorPro - Node Suite for ComfyUI", + "reference": "https://github.com/orion4d/Calculator_Pro", + "files": [ + "https://github.com/orion4d/Calculator_Pro" + ], + "install_type": "git-clone", + "description": "utilitaires pour ComfyUI, conƧue pour effectuer des calculs et des conversions" + }, + { + "author": "orion4d", + "title": "ComfyUI Colormaster Nodes", + "reference": "https://github.com/orion4d/ComfyUI_colormaster", + "files": [ + "https://github.com/orion4d/ComfyUI_colormaster" + ], + "install_type": "git-clone", + "description": "This project offers a collection of custom nodes for ComfyUI, dedicated to creating hexadecimal color palettes" + }, + { + "author": "orion4d", + "title": "Display Image with Mask for ComfyUI", + "reference": "https://github.com/orion4d/ComfyUI_image-display", + "files": [ + "https://github.com/orion4d/ComfyUI_image-display" + ], + "install_type": "git-clone", + "description": "This repository contains a versatile custom node for ComfyUI, Display Image with Mask, designed to offer advanced image viewing, masking, and saving capabilities directly within your workflow." + }, + { + "author": "orion4d", + "title": "ComfyUI_DAO_master", + "reference": "https://github.com/orion4d/ComfyUI_DAO_master", + "files": [ + "https://github.com/orion4d/ComfyUI_DAO_master" + ], + "install_type": "git-clone", + "description": "ComfyUI_DAO_master is a collection of custom nodes for ComfyUI. These nodes provide additional tools for image creation, manipulation, and visual experimentation, with a focus on vector workflows (DXF & SVG) and production utilities." + }, + { + "author": "orion4d", + "title": "Orion4D Pixel-Shift Nodes for ComfyUI", + "reference": "https://github.com/orion4d/Orion4D_pixelshift", + "files": [ + "https://github.com/orion4d/Orion4D_pixelshift" + ], + "install_type": "git-clone", + "description": "This custom node pack for ComfyUI provides an advanced image processing workflow to achieve high-quality upscales with an extended dynamic range (HDR), mimicking the flexibility of a camera's RAW file. Note: this node will not correct AI image hallucinations, ideally it is used in the last pass from a good quality image (2000/3000px with an X2 or X4 model)." + }, + { + "author": "aiaiaikkk", + "title": "ComfyUI-Curve", + "reference": "https://github.com/aiaiaikkk/ComfyUI-Curve", + "files": [ + "https://github.com/aiaiaikkk/ComfyUI-Curve" + ], + "install_type": "git-clone", + "description": "Professional image adjustment tools for ComfyUI - Curves, Levels, HSL, and Camera Raw adjustments with real-time preview" + }, + { + "author": "aiaiaikkk", + "title": "super-prompt-canvas", + "reference": "https://github.com/aiaiaikkk/super-prompt-canvas", + "files": [ + "https://github.com/aiaiaikkk/super-prompt-canvas" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for image editing prompt generation with visual canvas annotation and multi-model AI assistance" + }, + { + "author": "aiaiaikkk", + "title": "ComfyUI API Image Edit", + "reference": "https://github.com/aiaiaikkk/comfyui-api-image-edit", + "files": [ + "https://github.com/aiaiaikkk/comfyui-api-image-edit" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for API-based image editing with multiple provider support" + }, + { + "author": "lxe", + "title": "ComfyUI OpenAI Compatible LLM Node", + "reference": "https://github.com/lxe/ComfyUI-OpenAI-Compat-LLM-Node", + "files": [ + "https://github.com/lxe/ComfyUI-OpenAI-Compat-LLM-Node" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that provides integration with OpenAI-compatible Large Language Model APIs, including OpenAI, local models, and other compatible endpoints. Supports both text-only and multimodal (text + image) interactions." + }, + { + "author": "narusas", + "title": "ComfyUI Logic Support", + "reference": "https://github.com/narusas/Comfyui-Logic-Support", + "files": [ + "https://github.com/narusas/Comfyui-Logic-Support" + ], + "install_type": "git-clone", + "description": "A collection of logic and utility nodes for ComfyUI to enhance workflow capabilities." + }, + { + "author": "xhiroga", + "title": "ComfyUI-FramePackWrapper_PlusOne", + "id": "comfyui-framepackwrapper-plusone", + "reference": "https://github.com/xhiroga/ComfyUI-FramePackWrapper_PlusOne", + "files": [ + "https://github.com/xhiroga/ComfyUI-FramePackWrapper_PlusOne" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for FramePack, supporting 1-frame inferences." + }, + { + "author": "babydjac", + "title": "ComfyUI Grok Prompts", + "id": "comfyui-grok-prompts", + "reference": "https://github.com/babydjac/comfyui-grok-prompts", + "files": [ + "https://github.com/babydjac/comfyui-grok-prompts" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for generating prompts using Grok AI, enhancing prompt creation for text-to-image workflows." + }, + { + "author": "LingSss9", + "title": "comfyui-merge", + "id": "comfyui-merge", + "reference": "https://github.com/LingSss9/comfyui-merge", + "files": [ + "https://github.com/LingSss9/comfyui-merge" + ], + "install_type": "git-clone", + "description": "Merge up to 4 LoRA models with balanced, order-independent logic. Inspired by WebUI SuperMerger." + }, + { + "author": "p1atdev", + "title": "comfyui-timm-backbone", + "reference": "https://github.com/p1atdev/comfyui-timm-backbone", + "files": [ + "https://github.com/p1atdev/comfyui-timm-backbone" + ], + "install_type": "git-clone", + "description": "ComfyUI Timm Backbone Nodes is a custom node set that enables you to load and use pre-trained models from the [a/timm](https://github.com/huggingface/pytorch-image-models) library within ComfyUI workflows." + }, + { + "author": "p1atdev", + "title": "TKG-DM (Training-free Chroma Key Content Generation Diffusion Model) for ComfyUI", + "reference": "https://github.com/p1atdev/comfyui-tkg-chroma-key", + "files": [ + "https://github.com/p1atdev/comfyui-tkg-chroma-key" + ], + "install_type": "git-clone", + "description": "This repository provides an unofficial ComfyUI custom node implementation of the paper TKG-DM: Training-free Chroma Key Content Generation Diffusion Model." + }, + { + "author": "Zch6111", + "title": "AI_Text_Comfyui", + "reference": "https://github.com/Zch6111/AI_Text_Comfyui", + "files": [ + "https://github.com/Zch6111/AI_Text_Comfyui" + ], + "install_type": "git-clone", + "description": "AI_Text_Comfyui is a custom node for ComfyUI that connects to the OpenAI Chat API and automatically generates creative text prompts for AI workflows. This simplified version removes external dependencies like dotenv, requiring the OpenAI key to be set using a system environment variable." + }, + { + "author": "mrcuddle", + "title": "Underage Filter", + "reference": "https://github.com/T-Ph525/ComfyUI-Underage-Filter", + "files": [ + "https://github.com/T-Ph525/ComfyUI-Underage-Filter" + ], + "install_type": "git-clone", + "description": "An implementation to detect underage subjects in images for ComfyUI." + }, + { + "author": "ToTheBeginning", + "title": "DreamO Comfyui", + "reference": "https://github.com/ToTheBeginning/ComfyUI-DreamO", + "files": [ + "https://github.com/ToTheBeginning/ComfyUI-DreamO" + ], + "install_type": "git-clone", + "description": "[a/DreamO](https://github.com/bytedance/DreamO) ComfyUI native implementation." + }, + { + "author": "XWAVEart", + "title": "ComfyUI XWAVE Nodes", + "reference": "https://github.com/XWAVEart/comfyui-xwave-xlitch-nodes", + "files": [ + "https://github.com/XWAVEart/comfyui-xwave-xlitch-nodes" + ], + "install_type": "git-clone", + "description": "A collection of artistic glitch and image manipulation nodes for ComfyUI, featuring advanced noise effects, color manipulations, distortions, and more." + }, + { + "author": "vivi-gomez", + "title": "ComfyUI Fix Node Translate", + "reference": "https://github.com/vivi-gomez/ComfyUI-fixnodetranslate", + "files": [ + "https://github.com/vivi-gomez/ComfyUI-fixnodetranslate" + ], + "install_type": "git-clone", + "description": "Addon for ComfyUI that adds 'Fix node (recreate + keep inputs)' context menu option" + }, + { + "author": "Pigidiy", + "title": "ComfyUI-LikeSpiderAI-SaveMP3", + "id": "likeSpiderMP3", + "reference": "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-SaveMP3", + "files": [ + "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-SaveMP3" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that saves input AUDIO as .mp3 using ffmpeg." + }, + { + "author": "violet0927", + "title": "Hugging Face LoRA Uploader", + "reference": "https://github.com/violet0927/ComfyUI-HuggingFaceLoraUploader", + "id": "comfyui_huggingfacelorauploader", + "files": [ + "https://github.com/violet0927/ComfyUI-HuggingFaceLoraUploader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node to upload LoRA models to Hugging Face Hub." + }, + { + "author": "violet0927", + "title": "ComfyUI OmniConsistency Nodes", + "reference": "https://github.com/lc03lc/Comfyui_OmniConsistency", + "files": [ + "https://github.com/lc03lc/Comfyui_OmniConsistency" + ], + "install_type": "git-clone", + "description": "ComfyUI OmniConsistency Nodes is a collection of nodes for ComfyUI that allows you to load and use OmniConsistency models." + }, + { + "author": "bikiam", + "title": "ComfyUI_WhisperSRT", + "reference": "https://github.com/bikiam/ComfyUI_WhisperSRT", + "files": [ + "https://github.com/bikiam/ComfyUI_WhisperSRT" + ], + "install_type": "git-clone", + "description": "This is custom node for audio transcribe with SRT." + }, + { + "author": "thalismind", + "title": "ComfyUI Blend Image Nodes", + "reference": "https://github.com/thalismind/ComfyUI-Blend-Nodes", + "files": [ + "https://github.com/thalismind/ComfyUI-Blend-Nodes" + ], + "install_type": "git-clone", + "description": "This repository contains a ComfyUI node for blending images using various blending modes. Can be used to watermark images, create overlays, or apply effects to images in a ComfyUI workflow." + }, + { + "author": "thalismind", + "title": "ComfyUI LoadImageWithFilename", + "reference": "https://github.com/thalismind/ComfyUI-LoadImageWithFilename", + "files": [ + "https://github.com/thalismind/ComfyUI-LoadImageWithFilename" + ], + "install_type": "git-clone", + "description": "This custom node extends ComfyUI's image loading functionality with filename output and folder loading capabilities." + }, + { + "author": "boricuapab", + "title": "ComfyUI-Bori-JsonSetGetConverter", + "reference": "https://github.com/boricuapab/ComfyUI-Bori-JsonSetGetConverter", + "files": [ + "https://github.com/boricuapab/ComfyUI-Bori-JsonSetGetConverter" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that takes in a file path full of json's and finds the mape variable nodes in them and converts them to the kjnode set and get nodes." + }, + { + "author": "boricuapab", + "title": "ComfyUI-Bori-QwenImageResolutions", + "reference": "https://github.com/boricuapab/ComfyUI-Bori-QwenImageResolutions", + "files": [ + "https://github.com/boricuapab/ComfyUI-Bori-QwenImageResolutions" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that provides the user with a dropdown which contains the recommended resolutions for the Qwen Image Model." + }, + { + "author": "avocadori", + "title": "ComfyUI-load-image-prompt-lora", + "reference": "https://github.com/avocadori/ComfyUI-load-image-prompt-lora", + "files": [ + "https://github.com/avocadori/ComfyUI-load-image-prompt-lora" + ], + "install_type": "git-clone", + "description": "NODES: YAML Image Cycler (Full), YAML Image Cycler (Simple), YAML LoRA Extractor, YAML LoRA Loader, YAML LoRA Selector" + }, + { + "author": "Chrisvenator", + "title": "painting-by-colors-generator", + "reference": "https://github.com/Chrisvenator/ComfyUI-Painting-by-colors-generator", + "files": [ + "https://github.com/Chrisvenator/ComfyUI-Painting-by-colors-generator" + ], + "install_type": "git-clone", + "description": "Create a painting by colors image from an image" + }, + { + "author": "tetsuoo-online", + "title": "comfyui-too-xmp-metadata", + "reference": "https://github.com/tetsuoo-online/comfyui-too-xmp-metadata", + "files": [ + "https://github.com/tetsuoo-online/comfyui-too-xmp-metadata" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI that allow you to read and write XMP metadata to images" + }, + { + "author": "e-tier-newbie", + "title": "ComfyUI-E-Tier-TextSaver", + "id": "e-tier-text-saver", + "reference": "https://github.com/e-tier-newbie/ComfyUI-E-Tier-TextSaver", + "files": [ + "https://github.com/e-tier-newbie/ComfyUI-E-Tier-TextSaver" + ], + "install_type": "git-clone", + "description": "A node for saving cleaned text outputs, useful for LoRA training. Removes unwanted tokens like and saves to .txt." + }, + { + "author": "MDMAchine", + "title": "MD Nodes", + "id": "comfyuimdnodes", + "reference": "https://github.com/MDMAchine/ComfyUI_MD_Nodes", + "files": [ + "https://github.com/MDMAchine/ComfyUI_MD_Nodes" + ], + "install_type": "git-clone", + "description": "A wild collection of custom nodes for ComfyUI including noise schedulers, samplers, audio preview, latent visualizers, and more — built for maximal creative chaos." + }, + { + "author": "shiertier", + "title": "ComfyUI-TeaCache-Lumina", + "reference": "https://github.com/shiertier/ComfyUI-TeaCache-lumina2", + "files": [ + "https://github.com/shiertier/ComfyUI-TeaCache-lumina2" + ], + "install_type": "git-clone", + "description": "ComfyUI Node Implementation: TeaCache Acceleration Specifically Designed for the Lumina Model" + }, + { + "author": "sjh00", + "title": "ComfyUI LoadImageWithInfo", + "reference": "https://github.com/sjh00/ComfyUI-LoadImageWithInfo", + "files": [ + "https://github.com/sjh00/ComfyUI-LoadImageWithInfo" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that retrieves detailed information about an image, including its name, format (extension), DPI, dimensions, long side, short side, file size, and EXIF data. It also supports image saving " + }, + { + "author": "Aljnk", + "title": "ComfyUI-JNK-Tiny-Nodes", + "reference": "https://github.com/Aljnk/ComfyUI-JNK-Tiny-Nodes", + "files": [ + "https://github.com/Aljnk/ComfyUI-JNK-Tiny-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of useful custom nodes for ComfyUI - image processing, text manipulation, and workflow automation." + }, + { + "author": "Santodan", + "title": "Santodan Random LoRA Node", + "reference": "https://github.com/Santodan/santodan-custom-nodes-comfyui", + "files": [ + "https://github.com/Santodan/santodan-custom-nodes-comfyui" + ], + "install_type": "git-clone", + "description": "Randomizes selected LoRAs and strengths. Includes trigger word output and support for exclusive/random selection." + }, + { + "author": "zccrs", + "title": "ComfyUI DCI", + "reference": "https://github.com/zccrs/comfyui-dci", + "files": [ + "https://github.com/zccrs/comfyui-dci" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI extension for creating, previewing, and analyzing DCI (DSG Combined Icons) format files. This extension fully implements the DCI specification, supporting multi-state icons, multiple color tones, scaling factors, and advanced metadata analysis." + }, + { + "author": "s9roll7", + "title": "Comfyui CoTracker Node", + "reference": "https://github.com/s9roll7/comfyui_cotracker_node", + "files": [ + "https://github.com/s9roll7/comfyui_cotracker_node" + ], + "install_type": "git-clone", + "description": "This is a node that outputs tracking results of a grid or specified points using CoTracker. It can be directly connected to the WanVideo ATI Tracks Node." + }, + { + "author": "set-soft", + "title": "Audio Batch", + "reference": "https://github.com/set-soft/ComfyUI-AudioBatch", + "files": [ + "https://github.com/set-soft/ComfyUI-AudioBatch" + ], + "install_type": "git-clone", + "description": "Audio batch creation, extraction, information, resample, mono and stereo conversion.\nAlso cut, concatenate, blend (mix) and de/normalize. Join/split channels (stereo).\nSignal generator (`sine`, `square`, `sawtooth`, `triangle`, `sweep`, `noise`).\nMusical note to frequency.\nAudio downloader for quick workflows which downloads its example data." + }, + { + "author": "set-soft", + "title": "Image Misc", + "reference": "https://github.com/set-soft/ComfyUI-ImageMisc", + "files": [ + "https://github.com/set-soft/ComfyUI-ImageMisc" + ], + "install_type": "git-clone", + "description": "Miscellaneous nodes for image manipulation.\nCurrently just download image with bypass, so you can create workflows including image examples.\nNo extra dependencies, just an internal module." + }, + { + "author": "pictorialink", + "title": "ComfyUI-Text-Translation", + "reference": "https://github.com/pictorialink/ComfyUI-Text-Translation", + "files": [ + "https://github.com/pictorialink/ComfyUI-Text-Translation" + ], + "install_type": "git-clone", + "description": "This node uses the Translators library for translation." + }, + { + "author": "pictorialink", + "title": "ComfyUI-Custom-Node-Config", + "reference": "https://github.com/pictorialink/ComfyUI-Custom-Node-Config", + "files": [ + "https://github.com/pictorialink/ComfyUI-Custom-Node-Config" + ], + "install_type": "git-clone", + "description": "This project is a custom node plugin for ComfyUI that provides a form node for configuring and saving parameters related to LLMs (such as OpenAI, Kimi, DeepSeek). Users can input information such as API Key, Base, Version, and Model through the node. The node will automatically save the configuration to a local file and set it as environment variables, making it convenient for subsequent use." + }, + { + "author": "pictorialink", + "title": "ComfyUI-Qwen3-llama.cpp", + "reference": "https://github.com/pictorialink/ComfyUI-Qwen3-llama.cpp", + "files": [ + "https://github.com/pictorialink/ComfyUI-Qwen3-llama.cpp" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI QWen3 8b running based on llama.cpp, which only support the CUDA framework and do not support MPS." + }, + { + "author": "mo230761", + "title": "InsertAnything-ComfyUI-official", + "reference": "https://github.com/mo230761/InsertAnything-ComfyUI-official", + "files": [ + "https://github.com/mo230761/InsertAnything-ComfyUI-official" + ], + "install_type": "git-clone", + "description": "This repository provides the official ComfyUI workflow for [a/Insert Anything](https://github.com/song-wensong/insert-anything)." + }, + { + "author": "spawner", + "title": "CUI-Lumina2-TeaCache", + "reference": "https://github.com/spawner1145/CUI-Lumina2-TeaCache", + "files": [ + "https://github.com/spawner1145/CUI-Lumina2-TeaCache" + ], + "install_type": "git-clone", + "description": "comfy extension for lumina2 TeaCache" + }, + { + "author": "spawner", + "title": "comfyui-aichat", + "reference": "https://github.com/spawner1145/comfyui-aichat", + "files": [ + "https://github.com/spawner1145/comfyui-aichat" + ], + "install_type": "git-clone", + "description": "gemini and openai in comfyui" + }, + { + "author": "spawner", + "title": "comfyui-lsnet", + "reference": "https://github.com/spawner1145/comfyui-lsnet", + "files": [ + "https://github.com/spawner1145/comfyui-lsnet" + ], + "install_type": "git-clone", + "description": "A nodepack powered by LSNet that classifies and clusters artworks by style for fast and efficient style analysis." + }, + { + "author": "PenguinTeo", + "title": "Comfyui-TextEditor-Penguin", + "reference": "https://github.com/PenguinTeo/Comfyui-TextEditor-Penguin", + "files": [ + "https://github.com/PenguinTeo/Comfyui-TextEditor-Penguin" + ], + "install_type": "git-clone", + "description": "A text overlay node for ComfyUI that supports rich effects such as gradients, outlines, and shadows. It is suitable for adding highly customizable text content to images." + }, + { + "author": "PenguinTeo", + "title": "GeminiBanana for ComfyUI", + "reference": "https://github.com/PenguinTeo/Comfyui-GeminiBanana", + "files": [ + "https://github.com/PenguinTeo/Comfyui-GeminiBanana" + ], + "install_type": "git-clone", + "description": "GeminiBanana is a custom node for ComfyUI based on the Gemini API. It allows you to call Gemini inside ComfyUI workflows to generate text, parse images, or perform multimodal interactions, greatly enhancing workflow automation and creative capabilities." + }, + { + "author": "jack-liu", + "title": "Pillar_For_ComfyUI", + "reference": "https://github.com/aicoder-max/Pillar_For_ComfyUI", + "files": [ + "https://github.com/aicoder-max/Pillar_For_ComfyUI" + ], + "install_type": "git-clone", + "description": "Pillar is an extension plugin for ComfyUI, providing the ability to call local distributed services for ComfyUI. Currently, it integrates the llama-joycaption-beta-one-hf-llava model and offers a distributed deployment solution to solve the problem that the model occupies too many resources and affects the image generation efficiency." + }, + { + "author": "scraed", + "title": "LanPaint", + "reference": "https://github.com/scraed/LanPaint", + "files": [ + "https://github.com/scraed/LanPaint" + ], + "install_type": "git-clone", + "description": "Achieve seamless inpainting results without needing a specialized inpainting model." + }, + { + "author": "hvppycoding", + "title": "RandomSamplerSchedulerSteps for ComfyUI", + "reference": "https://github.com/hvppycoding/comfyui-random-sampler-scheduler-steps", + "files": [ + "https://github.com/hvppycoding/comfyui-random-sampler-scheduler-steps" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that randomly selects a (Sampler, Scheduler, Steps) combination from user-defined presets." + }, + { + "author": "hvppycoding", + "title": "json prompt renderer", + "reference": "https://github.com/hvppycoding/comfyui-json-prompt-renderer", + "files": [ + "https://github.com/hvppycoding/comfyui-json-prompt-renderer" + ], + "install_type": "git-clone", + "description": "NODES: Extract JSON, 'Prompt: Render Template from JSON'" + }, + { + "author": "o-l-l-i", + "title": "Olm Resolution Picker for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-Resolution-Picker", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-Resolution-Picker" + ], + "install_type": "git-clone", + "description": "A smart, customizable resolution selector node with live aspect ratio preview, image overlays, and checkerboard support — cleanly parsed from a human-readable text file." + }, + { + "author": "o-l-l-i", + "title": "Olm LUT Node for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-OlmLUT", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-OlmLUT" + ], + "install_type": "git-clone", + "description": "The Olm LUT is a custom node for ComfyUI that allows you to apply .cube LUT (Look-Up Table) files to images within your generative workflows. It supports creative workflows including film emulation, color grading, and aesthetic stylization using LUTs." + }, + { + "author": "o-l-l-i", + "title": "Olm Curve Editor for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-CurveEditor", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-CurveEditor" + ], + "install_type": "git-clone", + "description": "A single-purpose, multi-channel curve editor for ComfyUI, providing precise color control over R, G, B, and Luma channels directly within the node graph. It’s a focused, lightweight, and standalone solution built specifically for one task: applying color curves cleanly and efficiently." + }, + { + "author": "o-l-l-i", + "title": "Olm Sketch for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-Sketch", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-Sketch" + ], + "install_type": "git-clone", + "description": "An interactive sketching and drawing node for ComfyUI with stylus/pen support – built for fast, intuitive scribbling directly inside your workflows, geared towards ControlNet-style workflows which utilize scribbles and line art." + }, + { + "author": "o-l-l-i", + "title": "Olm DragCrop for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-DragCrop", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-DragCrop" + ], + "install_type": "git-clone", + "description": "An interactive image cropping node for ComfyUI, allowing precise visual selection of crop areas directly within your workflow. This node is designed to streamline the process of preparing images for various tasks, ensuring immediate visual feedback and control over your image dimensions." + }, + { + "author": "o-l-l-i", + "title": "Olm Image Adjust for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-ImageAdjust", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-ImageAdjust" + ], + "install_type": "git-clone", + "description": "An interactive image adjustment node for ComfyUI, with an easy-to-use graphical interface and realtime preview." + }, + { + "author": "o-l-l-i", + "title": "Olm Channel Mixer for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-ChannelMixer", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-ChannelMixer" + ], + "install_type": "git-clone", + "description": "An interactive, classic channel mixer color adjustment node for ComfyUI, with realtime preview and a responsive editing interface." + }, + { + "author": "o-l-l-i", + "title": "Olm Color Balance for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-ColorBalance", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-ColorBalance" + ], + "install_type": "git-clone", + "description": "An interactive color balance adjustment node for ComfyUI, featuring a clean interface and realtime preview." + }, + { + "author": "o-l-l-i", + "title": "Olm Histogram for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-Histogram", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-Histogram" + ], + "install_type": "git-clone", + "description": "A compact, real-time histogram analysis node for ComfyUI — with easy-to-use interactive UI, smooth rendering, and accurate pixel sampling. Built for compositing-style workflows and color diagnostics." + }, + { + "author": "o-l-l-i", + "title": "Olm LGG (Lift, Gamma, Gain) for ComfyUI", + "reference": "https://github.com/o-l-l-i/ComfyUI-Olm-LGG", + "files": [ + "https://github.com/o-l-l-i/ComfyUI-Olm-LGG" + ], + "install_type": "git-clone", + "description": "A visual, interactive Lift, Gamma, Gain color correction node for ComfyUI, tailored for precise color grading workflows." + }, + { + "author": "xiaogui8dangjia", + "title": "Comfyui-imagetoSTL", + "reference": "https://github.com/xiaogui8dangjia/Comfyui-imagetoSTL", + "files": [ + "https://github.com/xiaogui8dangjia/Comfyui-imagetoSTL" + ], + "install_type": "git-clone", + "description": "comfyui_imagetostl is a simple node for ComfyUI that converts grayscale images to STL." + }, + { + "author": "NeonLightning", + "title": "neonllama", + "reference": "https://github.com/NeonLightning/neonllama", + "files": [ + "https://github.com/NeonLightning/neonllama" + ], + "install_type": "git-clone", + "description": "This custom ComfyUI node transforms a core idea into a richly detailed positive prompt using a local [a/Ollama](https://ollama.com) LLM." + }, + { + "author": "xmarre", + "title": "LoRA-Safe TorchCompile", + "reference": "https://github.com/xmarre/TorchCompileModel_LoRASafe", + "files": [ + "https://github.com/xmarre/TorchCompileModel_LoRASafe" + ], + "install_type": "git-clone", + "description": "Drop-in TorchCompile node that preserves LoRA patches." + }, + { + "author": "Pigidiy", + "title": "ComfyUI-LikeSpiderAI-UI", + "id": "like_spider_ui", + "reference": "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-UI", + "files": [ + "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-UI" + ], + "install_type": "git-clone", + "description": "Declarative UI Framework for ComfyUI Nodes. Minimalistic base class for creating UI-based audio/text/image nodes." + }, + { + "author": "hexxacubic", + "title": "ComfyUI-Prompt_Library", + "reference": "https://github.com/hexxacubic/ComfyUI-Prompt_Library", + "files": [ + "https://github.com/hexxacubic/ComfyUI-Prompt_Library" + ], + "install_type": "git-clone", + "description": "A ComfyUI node pack for management of larger prompt amounts and prompt variations." + }, + { + "author": "MicheleGuidi", + "title": "ComfyUI-Computer-Vision", + "reference": "https://github.com/MicheleGuidi/ComfyUI-Contextual-SAM2", + "files": [ + "https://github.com/MicheleGuidi/ComfyUI-Contextual-SAM2" + ], + "install_type": "git-clone", + "description": "Extension nodes for ComfyUI that improves automatic segmentation using bounding boxes generated by Florence 2 and segmentation from Segment Anything 2 (SAM2). Currently just an enhancement of nodes from [a/Kijai](https://github.com/kijai/ComfyUI-segment-anything-2)." + }, + { + "author": "swhsiang", + "title": "comfyui-3d-gs-renderer", + "reference": "https://github.com/swhsiang/comfyui-3d-gs-renderer", + "files": [ + "https://github.com/swhsiang/comfyui-3d-gs-renderer" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node to support 3D GS rendering" + }, + { + "author": "jasonjgardner", + "title": "ComfyUI Substance Designer Integration Plugin", + "reference": "https://github.com/jasonjgardner/comfui-substance-designer-integration", + "files": [ + "https://github.com/jasonjgardner/comfui-substance-designer-integration" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI plugin that enables seamless integration with Substance 3D Designer workflows through command line automation. This plugin provides custom nodes for cooking .sbs files, rendering .sbsar archives, controlling material parameters, and batch processing Substance materials within ComfyUI workflows." + }, + { + "author": "jasonjgardner", + "title": "comfyui-pixel-art-scalers", + "reference": "https://github.com/jasonjgardner/comfyui-pixel-art-scalers", + "files": [ + "https://github.com/jasonjgardner/comfyui-pixel-art-scalers" + ], + "install_type": "git-clone", + "description": "A ComfyUI node for scaling pixel art using various algorithms" + }, + { + "author": "sLKbabawhsiang", + "title": "ComfyUI-TuZi-Flux-Kontext", + "reference": "https://github.com/LKbaba/ComfyUI-TuZi-Flux-Kontext", + "files": [ + "https://github.com/LKbaba/ComfyUI-TuZi-Flux-Kontext" + ], + "install_type": "git-clone", + "description": " Powerful Flux-Kontext image generation custom node for ComfyUI, using the official RabbitAI API. Supports text-to-image, image-to-image, and multi-image-to-image generation. Supports concurrent generation." + }, + { + "author": "INuBq8", + "title": "Notification Bridge", + "reference": "https://github.com/INuBq8/ComfyUI-NotificationBridge", + "files": [ + "https://github.com/INuBq8/ComfyUI-NotificationBridge" + ], + "install_type": "git-clone", + "description": "Bridge nodes for ComfyUI that send messages through WhatsApp (Twilio) and Discord when a workflow completes." + }, + { + "author": "Erehr", + "title": "ComfyUI-EreNodes", + "reference": "https://github.com/Erehr/ComfyUI-EreNodes", + "files": [ + "https://github.com/Erehr/ComfyUI-EreNodes" + ], + "install_type": "git-clone", + "description": "A collection of prompt managent nodes with advanced tag parsing. Prompt tag cloud, mutiselect, toggle list, randomizer, filter, autocompete." + }, + { + "author": "Erehr", + "title": "ComfyUI-Eagle-Autosend", + "reference": "https://github.com/Erehr/ComfyUI-Eagle-Autosend", + "files": [ + "https://github.com/Erehr/ComfyUI-Eagle-Autosend" + ], + "install_type": "git-clone", + "description": "A seamless, node-independent way to automatically send your ComfyUI generations to Eagle, complete with full metadata annotation and tags." + }, + { + "author": "xiaowc", + "title": "Comfyui-Dynamic-Params", + "reference": "https://github.com/xiaowc-lib/comfyui-dynamic-params", + "files": [ + "https://github.com/xiaowc-lib/comfyui-dynamic-params" + ], + "install_type": "git-clone", + "description": "Comfyui custom nodes that support dynamic parameter addition and deletion." + }, + { + "author": "keit", + "title": "ComfyUI-keitNodes", + "reference": "https://github.com/keit0728/ComfyUI-keitNodes", + "files": [ + "https://github.com/keit0728/ComfyUI-keitNodes" + ], + "install_type": "git-clone", + "description": "This is keit's utility nodes." + }, + { + "author": "A043-studios", + "title": "Pixel3DMM ComfyUI Nodes", + "reference": "https://github.com/A043-studios/comfyui-pixel3dmm", + "files": [ + "https://github.com/A043-studios/comfyui-pixel3dmm" + ], + "install_type": "git-clone", + "description": "Professional 3D face reconstruction for ComfyUI using the Pixel3DMM method" + }, + { + "author": "A043-studios", + "title": "ComfyUI ASDF Pixel Sort Nodes", + "reference": "https://github.com/A043-studios/ComfyUI-ASDF-Pixel-Sort-Nodes", + "files": [ + "https://github.com/A043-studios/ComfyUI-ASDF-Pixel-Sort-Nodes" + ], + "install_type": "git-clone", + "description": "A ComfyUI integration of Kim Asendorf's iconic ASDFPixelSort algorithm, bringing classic pixel sorting effects directly into your ComfyUI workflows" + }, + { + "author": "A043-studios", + "title": "ComfyUI ASCII Generator Node", + "reference": "https://github.com/A043-studios/Comfyui-ascii-generator", + "files": [ + "https://github.com/A043-studios/Comfyui-ascii-generator" + ], + "install_type": "git-clone", + "description": "ASCII art generator for ComfyUI with multi-language character set support" + }, + { + "author": "A043-studios", + "title": "ComfyUI OmniSVG Nodes", + "reference": "https://github.com/A043-studios/ComfyUI-OmniSVG", + "files": [ + "https://github.com/A043-studios/ComfyUI-OmniSVG" + ], + "install_type": "git-clone", + "description": "Generate high-quality SVG graphics from text descriptions and images using OmniSVG in ComfyUI." + }, + { + "author": "Zachary116699", + "title": "ComfyUI_LoadImageWithMetaDataEx", + "reference": "https://github.com/Zachary116699/ComfyUI-LoadImageWithMetaDataEx", + "files": [ + "https://github.com/Zachary116699/ComfyUI-LoadImageWithMetaDataEx" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI. It can read metadata from the image filepath, and filepath can be provided as a connected input, which allows it to batch read image metadata in a loop." + }, + { + "author": "AgencyMind", + "title": "ComfyUI-GPU-Preprocessor-Wrapper", + "reference": "https://github.com/AgencyMind/ComfyUI-GPU-Preprocessor-Wrapper", + "files": [ + "https://github.com/AgencyMind/ComfyUI-GPU-Preprocessor-Wrapper" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node extension that solves multi-GPU device conflicts for ControlNet preprocessors." + }, + { + "author": "AgencyMind", + "title": "ComfyUI-Satori", + "reference": "https://github.com/AgencyMind/ComfyUI-Satori", + "files": [ + "https://github.com/AgencyMind/ComfyUI-Satori" + ], + "install_type": "git-clone", + "description": "When your workflow starts acting weird and you need to know what's actually happening to your data - not just guess from looking at the output." + }, + { + "author": "olivv-cs", + "title": "ComfyUI-FunPack", + "reference": "https://github.com/olivv-cs/ComfyUI-FunPack", + "files": [ + "https://github.com/olivv-cs/ComfyUI-FunPack" + ], + "install_type": "git-clone", + "description": "A set of custom nodes designed for experiments with video diffusion models." + }, + { + "author": "xuhuan2048", + "title": "ExtractStoryboards", + "id": "comfyui_extractstoryboards", + "reference": "https://github.com/gitadmini/comfyui_extractstoryboards", + "files": [ + "https://github.com/gitadmini/comfyui_extractstoryboards" + ], + "install_type": "git-clone", + "description": "A tool for decomposing video storyboards, which can obtain storyboards and keyframes" + }, + { + "author": "pawelmal0101", + "title": "ComfyUI Webhook Notifier", + "reference": "https://github.com/pawelmal0101/ComfyUI-Webhook", + "files": [ + "https://github.com/pawelmal0101/ComfyUI-Webhook" + ], + "install_type": "git-clone", + "description": "A simple ComfyUI custom node that sends webhook notifications when images are generated. Perfect for integrating your image generation workflow with external services or your own backend." + }, + { + "author": "hassan-sd", + "title": "ComfyUI Image & Prompt Loader", + "id": "hassanprompt", + "reference": "https://github.com/hassan-sd/comfyui-image-prompt-loader", + "files": [ + "https://github.com/hassan-sd/comfyui-image-prompt-loader" + ], + "install_type": "git-clone", + "description": "Load images with automatic prompt extraction from Civitai URLs, caption files, or EXIF metadata. Features smart dataset detection and dynamic preview updates." + }, + { + "author": "benjamin-bertram", + "title": "ComfyUI OIDN Denoiser", + "reference": "https://github.com/benjamin-bertram/Comfyui_OIDN_Denoiser", + "files": [ + "https://github.com/benjamin-bertram/Comfyui_OIDN_Denoiser" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI provides a wrapper for Intel's Open Image Denoise (OIDN) library, allowing you to denoise images directly within your ComfyUI workflow." + }, + { + "author": "Zehong-Ma", + "title": "ComfyUI-MagCache", + "reference": "https://github.com/Zehong-Ma/ComfyUI-MagCache", + "files": [ + "https://github.com/Zehong-Ma/ComfyUI-MagCache" + ], + "install_type": "git-clone", + "description": "official implementation of [zehong-ma/MagCache](https://github.com/zehong-ma/MagCache) for ComfyUI" + }, + { + "author": "without-ordinary", + "title": "OpenOutpaint ComfyUI Interface", + "reference": "https://github.com/without-ordinary/openoutpaint_comfyui_interface", + "reference2": "https://github.com/without-ordinary/wo_openoutpaint_comfyui_interface", + "files": [ + "https://github.com/without-ordinary/openoutpaint_comfyui_interface" + ], + "install_type": "git-clone", + "description": "An API interface for OpenOutpaint to work with ComfyUI workflow" + }, + { + "author": "adamreading", + "title": "ComfyUI-AjoNodes", + "reference": "https://github.com/AJO-reading/ComfyUI-AjoNodes", + "files": [ + "https://github.com/AJO-reading/ComfyUI-AjoNodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes designed for ComfyUI from the AJO-reading organization. This repository currently includes the Audio Collect & Concat node, which collects multiple audio segments and concatenates them into a single audio stream." + }, + { + "author": "neocrz", + "title": "comfyui-usetaesd", + "reference": "https://github.com/neocrz/comfyui-usetaesd", + "files": [ + "https://github.com/neocrz/comfyui-usetaesd" + ], + "install_type": "git-clone", + "description": "A custom node set for ComfyUI that provides nodes for encoding and decoding images using Tiny AutoEncoders for Stable Diffusion (TAESD) models." + }, + { + "author": "havvk", + "title": "ComfyUI_AIIA", + "reference": "https://github.com/havvk/ComfyUI_AIIA", + "files": [ + "https://github.com/havvk/ComfyUI_AIIA" + ], + "install_type": "git-clone", + "description": "Tired of OOM errors and tedious file management? The AIIA Node Suite delivers the ultimate workflow overhaul, headlined by the AIIA Media Browser: a high-performance file hub fully integrated into ComfyUI. Instantly preview images, videos, and audio, and experience ultimate smoothness thanks to smart caching and virtual scrolling, even with tens of thousands of files. It also features a powerful fullscreen viewer, rich tooltip previews, and flexible sorting. Alongside the browser, our Video Combine node fundamentally solves memory bottlenecks in long video generation. By streaming frames from disk, you can create videos of virtually unlimited length, making OOM errors a thing of the past. The suite also includes OOM-safe FLOAT video generation, advanced audio processing, and other utilities, providing a complete end-to-end solution from content creation to asset management." + }, + { + "author": "dseditor", + "title": "ComfyUI-Thread", + "reference": "https://github.com/dseditor/ComfyUI-Thread", + "files": [ + "https://github.com/dseditor/ComfyUI-Thread" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package for seamless integration with Threads (Meta's social platform). This package allows you to publish posts, manage images, and retrieve post history directly from your ComfyUI workflows." + }, + { + "author": "dseditor", + "title": "ComfyUI-ScheduledTask", + "reference": "https://github.com/dseditor/ComfyUI-ScheduledTask", + "files": [ + "https://github.com/dseditor/ComfyUI-ScheduledTask" + ], + "install_type": "git-clone", + "description": "A powerful workflow scheduling extension for ComfyUI that enables automated daily execution of workflows with an intuitive web interface ,Adding shutdown computer after workflow node" + }, + { + "author": "dseditor", + "title": "ComfyUI-ListHelper", + "reference": "https://github.com/dseditor/ComfyUI-ListHelper", + "files": [ + "https://github.com/dseditor/ComfyUI-ListHelper" + ], + "install_type": "git-clone", + "description": "The ListHelper collection is a comprehensive set of custom nodes for ComfyUI that provides powerful list manipulation capabilities. This collection includes audio processing, text splitting, and number generation tools for enhanced workflow automation." + }, + { + "author": "dseditor", + "title": "Comfy-MCP", + "reference": "https://github.com/dseditor/Comfy-MCP", + "files": [ + "https://github.com/dseditor/Comfy-MCP" + ], + "install_type": "git-clone", + "description": "Simple MCP Server for ComfyUI text to image Workflow - ComfyUI Node Integration , Based on lalanikarim/comfy-mcp-server work" + }, + { + "author": "Leon", + "title": "Leon's Utility and API Integration Nodes", + "id": "leon", + "reference": "https://github.com/l3ony2k/comfyui-leon-nodes", + "files": [ + "https://github.com/l3ony2k/comfyui-leon-nodes" + ], + "nodename_pattern": "^šŸ¤– Leon", + "install_type": "git-clone", + "description": "A comprehensive collection of utility and API integration nodes for ComfyUI. Includes image manipulation (4-grid split), string utilities, and multiple API integrations: ImgBB upload, HyprLab upload, Google Image API, Luma AI, FLUX Image API, FLUX Kontext API, and Midjourney proxy integration. Features include image/video hosting, AI image generation, and image description capabilities.", + "pip": [ + "Pillow", + "torch", + "numpy", + "requests", + "tenacity" + ], + "tags": [ + "image", + "utility", + "api", + "upload", + "generation", + "split", + "string", + "imgbb", + "hypr", + "google", + "luma", + "flux", + "midjourney" + ] + }, + { + "author": "jurdnf", + "title": "ComfyUI-JurdnsModelSculptor", + "reference": "https://github.com/jurdnf/ComfyUI-JurdnsModelSculptor", + "files": [ + "https://github.com/jurdnf/ComfyUI-JurdnsModelSculptor" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI nodes that sculpt diffusion models by applying gradient-based modifications to different layers and blocks." + }, + { + "author": "jurdnf", + "title": "ComfyUI-JurdnsIterativeNoiseKsampler", + "reference": "https://github.com/jurdnf/ComfyUI-JurdnsIterativeNoiseKSampler", + "files": [ + "https://github.com/jurdnf/ComfyUI-JurdnsIterativeNoiseKSampler" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that adds controlled noise injection during the sampling process for enhanced image generation quality and detail." + }, + { + "author": "DrStone71", + "title": "ComfyUI-Prompt-Translator", + "reference": "https://github.com/DrStone71/ComfyUI-Prompt-Translator", + "files": [ + "https://github.com/DrStone71/ComfyUI-Prompt-Translator" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI allows you to translate your prompt directly into the language used by your LLM" + }, + { + "author": "Phospholipids", + "title": "PPWildCard", + "reference": "https://github.com/kohs100/comfyui-ppwc", + "files": [ + "https://github.com/kohs100/comfyui-ppwc" + ], + "install_type": "git-clone", + "description": "This extension offers wildcard prompting works solely in workflow." + }, + { + "author": "linjian-ufo", + "title": "DeepSeek Chat Node for ComfyUI", + "reference": "https://github.com/linjian-ufo/comfyui_deepseek_lj257_update", + "files": [ + "https://github.com/linjian-ufo/comfyui_deepseek_lj257_update" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that calls the DeepSeek Chat API to process text input and return text output." + }, + { + "author": "linjian-ufo", + "title": "GLM-4V Image Descriptor", + "reference": "https://github.com/linjian-ufo/ComfyUI_GLM4V_voltspark", + "files": [ + "https://github.com/linjian-ufo/ComfyUI_GLM4V_voltspark" + ], + "install_type": "git-clone", + "description": "Professional AI Image Description Generator\nBased on Zhipu AI GLM-4V multimodal model, batch generate accurate and detailed descriptions for images in Chinese and English" + }, + { + "author": "jinchanz", + "title": "ComfyUI-ADIC", + "reference": "https://github.com/jinchanz/ComfyUI-ADIC", + "files": [ + "https://github.com/jinchanz/ComfyUI-ADIC" + ], + "install_type": "git-clone", + "description": "This is a set of custom nodes for calling an image translation API within ComfyUI." + }, + { + "author": "Lord Lethris", + "title": "ComfyUI-RPG-Characters", + "id": "rpg-characters", + "reference": "https://github.com/lord-lethris/ComfyUI-RPG-Characters", + "files": [ + "https://github.com/lord-lethris/ComfyUI-RPG-Characters" + ], + "install_type": "git-clone", + "description": "Stylized RPG character prompt generator for ComfyUI. Supports standard and Ollama-based prompts, works with SD, SDXL, Flux, and more." + }, + { + "author": "Lord Lethris", + "title": "Dia2 TTS & Captions Generators for ComfyUI", + "id": "dia2_tts_captions", + "reference": "https://github.com/lord-lethris/ComfyUI-lethris-dia2", + "files": [ + "https://github.com/lord-lethris/ComfyUI-lethris-dia2" + ], + "install_type": "Git-Clone", + "description": "This package provides two ComfyUI nodes: šŸ—£ļø Dia2 TTS Generator for text-to-speech using Dia2-2B, and šŸ’¬ Dia2 Captions Generator to convert TTS timestamps into SRT/SSA/VTT subtitles. Includes example workflow and voice samples. GPU users require CUDA 12.8+." + }, + { + "author": "ialhabbal", + "title": "OcclusionMask", + "reference": "https://github.com/ialhabbal/OcclusionMask", + "files": [ + "https://github.com/ialhabbal/OcclusionMask" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for advanced face occlusion, segmentation, and masking, leveraging state-of-the-art face detection (insightface buffalo models) for robust and accurate results." + }, + { + "author": "kael558", + "title": "ComfyUI-GGUF-FantasyTalking", + "reference": "https://github.com/kael558/ComfyUI-GGUF-FantasyTalking", + "files": [ + "https://github.com/kael558/ComfyUI-GGUF-FantasyTalking" + ], + "install_type": "git-clone", + "description": "GGUF Quantization support for native ComfyUI models with FantasyTalking." + }, + { + "author": "😈 CasterPollux", + "title": "MiniMax Video Object Remover Suite", + "reference": "https://github.com/casterpollux/MiniMax-bmo", + "files": [ + "https://github.com/casterpollux/MiniMax-bmo" + ], + "nodename_pattern": "MiniMax.*BMO|BMO.*MiniMax", + "pip": ["segment-anything"], + "tags": ["video", "inpainting", "object-removal", "suite", "professional", "BMO"], + "install_type": "git-clone", + "description": "Professional video object removal suite using MiniMax optimization. Includes BMO-enhanced nodes with VAE normalization, temporal preservation, and 6-step inference. Complete video inpainting solution for ComfyUI." + }, + { + "author": "drphero", + "title": "ComfyUI-PromptTester", + "reference": "https://github.com/drphero/comfyui_prompttester", + "files": [ + "https://github.com/drphero/comfyui_prompttester" + ], + "install_type": "git-clone", + "description": "Automatically tests the impact of each phrase in a prompt by generating images with one phrase omitted at a time." + }, + { + "author": "azazeal04", + "title": "anime_character_selector", + "reference": "https://github.com/azazeal04/Azazeal_Anime_Characters_ComfyUI", + "files": [ + "https://github.com/azazeal04/Azazeal_Anime_Characters_ComfyUI" + ], + "install_type": "git-clone", + "description": "character nodes for characters from various anime shows and comics" + }, + { + "author": "azazeal04", + "title": "HybridSamplers for ComfyUI", + "reference": "https://github.com/azazeal04/ComfyUI-HybridSamplers", + "files": [ + "https://github.com/azazeal04/ComfyUI-HybridSamplers" + ], + "install_type": "git-clone", + "description": "Custom samplers and schedulers for ComfyUI" + }, + { + "author": "azazeal04", + "title": "comfy-switch-samplers", + "reference": "https://github.com/azazeal04/comfyui-switch-samplers", + "files": [ + "https://github.com/azazeal04/comfyui-switch-samplers" + ], + "install_type": "git-clone", + "description": "Switch sampler nodes for ComfyUI" + }, + { + "author": "flamacore", + "title": "ComfyUI YouTube Uploader", + "id": "comfyui-youtubeuploader", + "reference": "https://github.com/flamacore/ComfyUI-YouTubeUploader", + "files": [ + "https://github.com/flamacore/ComfyUI-YouTubeUploader" + ], + "install_type": "git-clone", + "description": "A ComfyUI node for uploading generated content to YouTube. [a/Buy me a coffee](https://buymeacoffee.com/chao.k)" + }, + { + "author": "robin-collins", + "title": "ComfyUI-TechsToolz", + "reference": "https://github.com/robin-collins/ComfyUI-TechsToolz", + "files": [ + "https://github.com/robin-collins/ComfyUI-TechsToolz" + ], + "install_type": "git-clone", + "description": "A modular collection of ComfyUI custom nodes with advanced dependency management and ComfyUI Manager integration." + }, + { + "author": "highdoping", + "title": "ComfyUI-ASSSSA", + "reference": "https://github.com/HighDoping/ComfyUI_ASSSSA", + "files": [ + "https://github.com/HighDoping/ComfyUI_ASSSSA" + ], + "install_type": "git-clone", + "description": "Add ASS/SSA subtitle to video using ffmpeg." + }, + { + "author": "highdoping", + "title": "lama_with_refiner", + "reference": "https://github.com/fplu/comfyui_lama_with_refiner", + "files": [ + "https://github.com/fplu/comfyui_lama_with_refiner" + ], + "install_type": "git-clone", + "description": "Nodes for lama+refiner inpainting with ComfyUI." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageAdjustments", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageAdjustments", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageAdjustments" + ], + "install_type": "git-clone", + "description": "Image Adjustments node for ComfyUI with minimal requirements, uses PyTorch for image manipulation operations." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesCompositionGuides", + "reference": "https://github.com/quasiblob/ComfyUI-EsesCompositionGuides", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesCompositionGuides" + ], + "install_type": "git-clone", + "description": "Non-destructive visual image composition helper tool node for ComfyUI with minimal requirements, works with larger images too." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageOffset", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageOffset", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageOffset" + ], + "install_type": "git-clone", + "description": "The 'Eses Image Offset' node offers basic image offsetting capabilities within ComfyUI. It allows shifting image and mask content horizontally and/or vertically, with an option to wrap content around the canvas edges for a tiling effect." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageLensEffects", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageLensEffects", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageLensEffects" + ], + "install_type": "git-clone", + "description": "The 'Eses Image Lens Effects' node is a multipurpose node for ComfyUI designed to simulate a variety of lens characteristics. It combines several typical effects into a single, convenient node, allowing to add realistic or stylistic lens distortion, chromatic aberration, post-process scaling, and a highly configurable vignette." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageEffectBloom", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageEffectBloom", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageEffectBloom" + ], + "install_type": "git-clone", + "description": "'Eses Image Effect Bloom' image post processing effect for ComfyUI, it uses GPU and has optimized blur effect calculations. Minimal dependencies, simple and easy to use UI." + }, + { + "author": "quasiblob", + "title": "EsesCompositionGoldenRatio", + "reference": "https://github.com/quasiblob/EsesCompositionGoldenRatio", + "files": [ + "https://github.com/quasiblob/EsesCompositionGoldenRatio" + ], + "install_type": "git-clone", + "description": "'Real-time golden ratio pattern composition evaluation tool node for ComfyUI. This does nothing else - but you can move, rotate and scale then pattern to find new things and structures in your images." + }, + { + "author": "quasiblob", + "title": "EsesImageResize", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageResize", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageResize" + ], + "install_type": "git-clone", + "description": "The 'Eses Image Resize' node offers comprehensive image resizing capabilities within ComfyUI. It supports various scaling modes including scaling by a specific ratio, target megapixels, or directly to fixed dimensions. The node provides framing options to handle aspect ratio changes, allowing users to 'Crop to Fit' (fill) the target frame or 'Fit to Frame' (letterbox) the image with a customizable fill color. It also generates and outputs a corresponding mask, with control over the letterbox area's color (black or white) within the mask." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageEffectCurves", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageEffectCurves", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageEffectCurves" + ], + "install_type": "git-clone", + "description": "Channel curves custom node for ComfyUI. RGB, R, G and B, luma and saturation curves adjustments. Save and load presets. Real-time curves adjustment tool directly within the user interface. Precise, interactive control over the tonal range of both image channels and masks, using a GPU-accelerated PyTorch backend for instant feedback." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageEffectLevels", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageEffectLevels", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageEffectLevels" + ], + "install_type": "git-clone", + "description": "The 'Eses Image Effect Levels' is a ComfyUI custom node that provides a real-time levels adjustment tool directly within the user interface. It allows for interactive control over the tonal range of both images and masks, using a GPU-accelerated PyTorch backend for near instant feedback." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageTransform", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageTransform", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageTransform" + ], + "install_type": "git-clone", + "description": "Apply 2D transformations to images and masks within ComfyUI. Zoom, position, scale, flip, rotate, squash and stretch the input content. Tile images to create patterns (supports alpha channels). Fill options for managing canvas areas exposed by transformations. Apply masks to RGB images and invert mask inputs or outputs. No extra dependencies." + }, + { + "author": "quasiblob", + "title": "ComfyUI-EsesImageCompare", + "reference": "https://github.com/quasiblob/ComfyUI-EsesImageCompare", + "files": [ + "https://github.com/quasiblob/ComfyUI-EsesImageCompare" + ], + "install_type": "git-clone", + "description": "Interactive A/B image comparison node with a draggable slider to reveal one image over another. Includes difference and other blend modes for more detailed analysis, allowing one to spot changes in similar images. Node also outputs a passthrough image of input A, and a grayscale difference mask." + }, + { + "author": "TheLustriVA", + "title": "ComfyUI Image Size Tool", + "reference": "https://github.com/TheLustriVA/ComfyUI-Image-Size-Tools", + "files": [ + "https://github.com/TheLustriVA/ComfyUI-Image-Size-Tools" + ], + "install_type": "git-clone", + "description": "Resolution calculator nodes for ComfyUI with model-specific constraints and optimal bucket resolutions" + }, + { + "author": "834t", + "title": "Scene Composer for ComfyUI", + "reference": "https://github.com/834t/ComfyUI_834t_scene_composer", + "files": [ + "https://github.com/834t/ComfyUI_834t_scene_composer" + ], + "install_type": "git-clone", + "description": "An intuitive, all-in-one node for ComfyUI that brings a powerful, layer-based regional prompting workflow directly into your graph. Say goodbye to managing countless Conditioning (Set Area) nodes and hello to drawing your creative vision." + }, + { + "author": "Maxed-Out-99", + "title": "ComfyUI-MaxedOut", + "reference": "https://github.com/Maxed-Out-99/ComfyUI-MaxedOut", + "files": [ + "https://github.com/Maxed-Out-99/ComfyUI-MaxedOut" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes used in Maxed Out workflows (SDXL, Flux, etc.)" + }, + { + "author": "Maxed-Out-99", + "title": "ComfyUI-SmartModelLoaders-MXD", + "reference": "https://github.com/Maxed-Out-99/ComfyUI-SmartModelLoaders-MXD", + "files": [ + "https://github.com/Maxed-Out-99/ComfyUI-SmartModelLoaders-MXD" + ], + "install_type": "git-clone", + "description": "Smart, unified model loaders for ComfyUI that support both standard .safetensors and quantized .gguf formats — no switching nodes required. Includes flexible UNET and CLIP loaders that work across models like SDXL, SD3, Flux, and more." + }, + { + "author": "joeriben", + "title": "AI4ArtsEd Nodes", + "reference": "https://github.com/joeriben/ai4artsed_comfyui_nodes", + "files": [ + "https://github.com/joeriben/ai4artsed_comfyui_nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for the project AI for Arts Education" + }, + { + "author": "DebugPadawan", + "title": "DebugPadawan's ComfyUI Essentials", + "reference": "https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials", + "files": [ + "https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials" + ], + "install_type": "git-clone", + "description": "Essential custom nodes for ComfyUI workflows" + }, + { + "author": "aleolidev", + "title": "Kaizen Package", + "id": "kaizen_package", + "reference": "https://github.com/aleolidev/comfy_kaizen_package", + "files": [ + "https://github.com/aleolidev/comfy_kaizen_package" + ], + "install_type": "git-clone", + "description": "A collection of custom image processing nodes for ComfyUI" + }, + { + "author": "cmdicely", + "title": "Simple Image To Palette", + "reference": "https://github.com/cmdicely/simple_image_to_palette", + "files": [ + "https://github.com/cmdicely/simple_image_to_palette" + ], + "install_type": "git-clone", + "description": "Custom node to extract the colors in an image as a palette for use with ComfyUI-PixelArt-Detector" + }, + { + "author": "cmdicely", + "title": "GrsAI api in ComfyUI", + "reference": "https://github.com/31702160136/ComfyUI-GrsAI", + "files": [ + "https://github.com/31702160136/ComfyUI-GrsAI" + ], + "install_type": "git-clone", + "description": "GrsAI API node supports models: Flux-Pro-1.1 (Ā„ 0.03), Flux-Ultra-1.1 (Ā„ 0.04), Flux Kontext Pro (Ā„ 0.035), Flux Kontext Max (Ā„ 0.07), GPT Image (Ā„ 0.02). Support text generated images, image generated images, and multi image fusion." + }, + { + "author": "AKharytonchyk", + "title": "ComfyUI-telegram-bot-node", + "reference": "https://github.com/AKharytonchyk/ComfyUI-telegram-bot-node", + "files": [ + "https://github.com/AKharytonchyk/ComfyUI-telegram-bot-node" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Telegram bot integration" + }, + { + "author": "leonardomiramondi", + "title": "Flux Context ComfyUI Node", + "reference": "https://github.com/leonardomiramondi/flux-context-comfyui", + "files": [ + "https://github.com/leonardomiramondi/flux-context-comfyui" + ], + "install_type": "git-clone", + "description": "ComfyUI node for Flux Context (Kontext) image editing" + }, + { + "author": "kpsss34", + "title": "ComfyUI kpsss34 Custom Node", + "reference": "https://github.com/kpsss34/ComfyUI-kpsss34", + "files": [ + "https://github.com/kpsss34/ComfyUI-kpsss34" + ], + "install_type": "git-clone", + "description": "Diffusers custom_node" + }, + { + "author": "Gary-yeh", + "title": "comfyui-super-captioner", + "reference": "https://github.com/Gary-yeh/comfyui-super-captioner", + "files": [ + "https://github.com/Gary-yeh/comfyui-super-captioner" + ], + "install_type": "git-clone", + "description": "A powerful multi-model image captioning node that supports both local BLIP models and the cloud-based Google Gemini API, specifically designed for ComfyUI." + }, + { + "author": "Gary-yeh", + "title": "ComfyUI-WebPrompter", + "reference": "https://github.com/Gary-yeh/ComfyUI-WebPrompter", + "files": [ + "https://github.com/Gary-yeh/ComfyUI-WebPrompter" + ], + "install_type": "git-clone", + "description": "This is a custom node suite for ComfyUI that automates the conversion of web content into an AI-refined news script. This simplified version focuses on the core 'fetch-and-process' workflow for a fast and direct automation experience." + }, + { + "author": "fotobudka-team", + "title": "ComfyUI AI Faces - Photo Verification Node", + "reference": "https://github.com/fotobudka-team/comfyui-ai-faces", + "files": [ + "https://github.com/fotobudka-team/comfyui-ai-faces" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for automated face verification, designed to check if a person is clearly visible and suitable for passport-style photos. This node performs comprehensive facial analysis to ensure photo quality meets identification document standards." + }, + { + "author": "Ambrosinus", + "title": "ComfyUI-ATk-Nodes", + "reference": "https://github.com/lucianoambrosini/ComfyUI-ATk-Nodes", + "files": [ + "https://github.com/lucianoambrosini/ComfyUI-ATk-Nodes" + ], + "install_type": "git-clone", + "description": "Ambrosinus ToolKit - Streamlined workflow export with transparent backgrounds, professional themes, and smart scaling. Perfect for creating clean, high-resolution workflow documentation and sharing.", + "category": "Utils" + }, + { + "author": "wasilone11", + "title": "ComfyUI Sync Lipsync Node", + "reference": "https://github.com/wasilone11/comfyui-sync-lipsync-node", + "files": [ + "https://github.com/wasilone11/comfyui-sync-lipsync-node" + ], + "install_type": "git-clone", + "description": "This custom node allows you to perform audio-video lip synchronization inside ComfyUI using a simple interface." + }, + { + "author": "wasilone11", + "title": "ComfyUI Sync PVM Node", + "reference": "https://github.com/wasilone11/comfyui-pvm-node", + "files": [ + "https://github.com/wasilone11/comfyui-pvm-node" + ], + "install_type": "git-clone", + "description": "This custom node allows you to generate personalized video messages (PVM) using audio, video, and multilingual text prompts inside ComfyUI." + }, + { + "author": "uinodes", + "title": "ComfyUI-uinodesDOC", + "reference": "https://github.com/uinodes/ComfyUI-uinodesDOC", + "files": [ + "https://github.com/uinodes/ComfyUI-uinodesDOC" + ], + "install_type": "git-clone", + "description": "This custom node is designed to provide graphical documentation for ComfyUI custom nodes." + }, + { + "author": "puke3615", + "title": "ComfyUI-OneAPI", + "reference": "https://github.com/puke3615/ComfyUI-OneAPI", + "files": [ + "https://github.com/puke3615/ComfyUI-OneAPI" + ], + "install_type": "git-clone", + "description": "Simple REST API interfaces for ComfyUI with dynamic parameter replacement and output management" + }, + { + "author": "bobsblazed", + "title": "Bobs_Latent_Optimizer", + "reference": "https://github.com/BobsBlazed/Bobs_Latent_Optimizer", + "files": [ + "https://github.com/BobsBlazed/Bobs_Latent_Optimizer" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI is designed to optimize latent generation for use with FLUX, SDXL and SD3. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs." + }, + { + "author": "bobsblazed", + "title": "Bobs_LoRA_Loader", + "reference": "https://github.com/BobsBlazed/Bobs-Lora-Loader", + "files": [ + "https://github.com/BobsBlazed/Bobs-Lora-Loader" + ], + "install_type": "git-clone", + "description": "A custom LoRA loader node for ComfyUI with advanced block-weighting controls for both SDXL and FLUX models. Features presets for common use-cases like 'Character' and 'Style', and a 'Custom' mode for fine-grained control over individual model blocks." + }, + { + "author": "sdtana", + "title": "ComfyUI-FDG", + "reference": "https://github.com/sdtana/ComfyUI-FDG", + "files": [ + "https://github.com/sdtana/ComfyUI-FDG" + ], + "install_type": "git-clone", + "description": "Implementation of [a/Guidance in the Frequency Domain Enables High-Fidelity Sampling at Low CFG Scales](https://arxiv.org/abs/2506.19713) for ComfyUI." + }, + { + "author": "AbstractEyes", + "title": "comfyui-lycoris", + "reference": "https://github.com/AbstractEyes/comfyui-lycoris", + "files": [ + "https://github.com/AbstractEyes/comfyui-lycoris" + ], + "install_type": "git-clone", + "description": "A properly implemented lycoris loader for comfyui." + }, + { + "author": "alchemine", + "title": "ComfyUI-Alchemine-Pack", + "reference": "https://github.com/alchemine/comfyui-alchemine-pack", + "files": [ + "https://github.com/alchemine/comfyui-alchemine-pack" + ], + "install_type": "git-clone", + "description": "Custom nodes pack for ComfyUI" + }, + { + "author": "HMG-Fiverr", + "title": "Random Number Button", + "reference": "https://github.com/HMG-Fiverr/ComfyUI-RandomNumberButton", + "files": [ + "https://github.com/HMG-Fiverr/ComfyUI-RandomNumberButton" + ], + "install_type": "git-clone", + "description": "This node provides a button that, when clicked, triggers the execution of the node and generates a new random integer between 0 and 1000. The generated number is available as an output." + }, + { + "author": "Good-Dream-Studio", + "title": "ComfyUI-Connect", + "reference": "https://github.com/Good-Dream-Studio/ComfyUI-Connect", + "files": [ + "https://github.com/Good-Dream-Studio/ComfyUI-Connect" + ], + "install_type": "git-clone", + "description": "Expose your workflows into HTTP endpoints directly from ComfyUI itself." + }, + { + "author": "eg0pr0xy", + "title": "ComfyUI-NoiseGen", + "reference": "https://github.com/eg0pr0xy/comfyui_noisegen", + "files": [ + "https://github.com/eg0pr0xy/comfyui_noisegen" + ], + "install_type": "git-clone", + "description": "Professional noise generation nodes for ComfyUI" + }, + { + "author": "aoliao", + "title": "ComfyUI ElevenLabs API integration", + "reference": "https://github.com/sysL-padawan/comfyui-elevenlabs-integration", + "files": [ + "https://github.com/sysL-padawan/comfyui-elevenlabs-integration" + ], + "install_type": "git-clone", + "description": "This project integrates the ElevenLabs Text-to-Speech API as a custom node for ComfyUI. It enables seamless text-to-speech conversion directly within ComfyUI, providing the generated audio as a PyTorch tensor for immediate playback or further processing. Ideal for workflows requiring high-quality speech synthesis" + }, + { + "author": "Windecay", + "title": "ComfyUI-ReservedVRAM", + "reference": "https://github.com/Windecay/ComfyUI-ReservedVRAM", + "files": [ + "https://github.com/Windecay/ComfyUI-ReservedVRAM" + ], + "install_type": "git-clone", + "description": "A simple node that can dynamically adjust the reserved memory of a workflow in real-time, used to avoid the utilization of shared memory." + }, + { + "author": "Windecay", + "title": "ComfyUI-SDupcaleTiledSize", + "reference": "https://github.com/Windecay/ComfyUI-SDupcaleTiledSize", + "files": [ + "https://github.com/Windecay/ComfyUI-SDupcaleTiledSize" + ], + "install_type": "git-clone", + "description": "Assist in determining reasonable input values for tiled_width/tiled_height in the UltimateSDUpscale node to improve efficiency." + }, + { + "author": "Windecay", + "title": "ComfyUI_CheckVprediction", + "reference": "https://github.com/Windecay/ComfyUI_CheckVprediction", + "files": [ + "https://github.com/Windecay/ComfyUI_CheckVprediction" + ], + "install_type": "git-clone", + "description": "A simple node for detecting vrediction, outputs a boolean value, used for logical switching (for example, automatically adding rescalecfg when vrediction model is detected), recommended to be used with if else and other nodes." + }, + { + "author": "Windecay", + "title": "ComfyUI_Dynamic-RAMCache", + "reference": "https://github.com/Windecay/ComfyUI_Dynamic-RAMCache", + "files": [ + "https://github.com/Windecay/ComfyUI_Dynamic-RAMCache" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that dynamically manages RAM usage by intelligently controlling cache purging based on available system memory." + }, + { + "author": "kaaskoek232", + "title": "ComfyUI-MemoryManagement", + "reference": "https://github.com/kaaskoek232/ComfyUI-MemoryManagement", + "files": [ + "https://github.com/kaaskoek232/ComfyUI-MemoryManagement" + ], + "install_type": "git-clone", + "description": "Advanced memory management custom nodes for ComfyUI" + }, + { + "author": "LK-168", + "title": "comfyui_imgutils", + "reference": "https://github.com/LK-168/comfyui_imgutils", + "files": [ + "https://github.com/LK-168/comfyui_imgutils" + ], + "install_type": "git-clone", + "description": "Image tool kit for comfyui with dghs-imgutils" + }, + { + "author": "Icyman86", + "title": "ComfyUI_AnimeCharacterSelect", + "reference": "https://github.com/Icyman86/ComfyUI_AnimeCharacterSelect", + "files": [ + "https://github.com/Icyman86/ComfyUI_AnimeCharacterSelect" + ], + "install_type": "git-clone", + "description": "WAI's Character select ported to ComfyUI with a few tweaks" + }, + { + "author": "Cyrus-Hei", + "title": "comfyui-prompt-bank", + "reference": "https://github.com/Cyrus-Hei/comfyui-prompt-bank", + "files": [ + "https://github.com/Cyrus-Hei/comfyui-prompt-bank" + ], + "install_type": "git-clone", + "description": "A prompt manager on the sidebar for ComfyUI, allowing easy saving and copying of prompts. " + }, + { + "author": "KarmaSwint", + "title": "KarmaNodes", + "reference": "https://github.com/KarmaSwint/ComfyUI-KarmaNodes", + "files": [ + "https://github.com/KarmaSwint/ComfyUI-KarmaNodes" + ], + "install_type": "git-clone", + "description": "Custom cycling KSampler with progressive upscale and more. Professional post-processing nodes." + }, + { + "author": "S4MUEL404", + "title": "ComfyUI S4Motion", + "id": "comfyui-s4motion", + "reference": "https://github.com/S4MUEL-404/ComfyUI-S4Motion", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-S4Motion" + ], + "install_type": "git-clone", + "description": "A set of ComfyUI nodes for animating a foreground layer over a background, with unified timing and high-quality composition. It includes effectors for rotation, position, path-following position, scale, opacity, distortion, and masking, plus a core node that composes frames and exports APNG/WEBP and a frame sequence." + }, + { + "author": "S4MUEL404", + "title": "ComfyUI S4Tool Image", + "id": "comfyui-s4tool-image", + "reference": "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image" + ], + "install_type": "git-clone", + "description": "A custom node package for image processing in ComfyUI, for automating image processing within the ComfyUI workflow." + }, + { + "author": "S4MUEL404", + "title": "ComfyUI S4Tool Text", + "id": "comfyui-s4tool-text", + "reference": "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Text", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Text" + ], + "install_type": "git-clone", + "description": "Text rendering and styling nodes for ComfyUI. This extension provides a basic text renderer, multiple font loaders, and a style node that adds stroke, shadow, gradient fill, and opacity control." + }, + { + "author": "S4MUEL404", + "title": "ComfyUI Prepack", + "id": "comfyui-prepack", + "reference": "https://github.com/S4MUEL-404/ComfyUI-Prepack", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-Prepack" + ], + "install_type": "git-clone", + "description": "A small, practical bundle of ComfyUI nodes that streamlines common workflows." + }, + { + "author": "S4MUEL404", + "title": "ComfyUI-PromptsO", + "id": "comfyui-promptso", + "reference": "https://github.com/S4MUEL-404/ComfyUI-PromptsO", + "files": [ + "https://github.com/S4MUEL-404/ComfyUI-PromptsO" + ], + "install_type": "git-clone", + "description": "A comprehensive AI API integration and prompt processing toolkit for ComfyUI, providing powerful text and image generation capabilities with advanced prompt manipulation tools." + }, + { + "author": "fchangjun", + "title": "MultiSaveImage Node", + "reference": "https://github.com/fchangjun/Comfyui_MultiSaveImage", + "files": [ + "https://github.com/fchangjun/Comfyui_MultiSaveImage" + ], + "install_type": "git-clone", + "description": "A custom node for saving multiple images simultaneously with batch processing and resizing capabilities." + }, + { + "author": "fchangjun", + "title": "BaiduMeux_Comfy Tools", + "reference": "https://github.com/fchangjun/Baidu_Meux_ComfyTools", + "files": [ + "https://github.com/fchangjun/Baidu_Meux_ComfyTools" + ], + "install_type": "git-clone", + "description": "Meux ComfyTools is a collection of custom nodes that streamline common workflow chores in ComfyUI for the Meux asset platform." + }, + { + "author": "Yo1up", + "title": "Diffusion-Model-Detailer", + "reference": "https://github.com/Yo1up/Diffusion-Model-Detailer", + "files": [ + "https://github.com/Yo1up/Diffusion-Model-Detailer" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes that allow the user to control the generation of diffusion models to increase and decrease level of detail. The model patch has no trainable parameters and can be applied to theoretically any diffusion model in existence. whether or not the implementation currently works for every diffusion model in existence is unknown." + }, + { + "author": "facefusion", + "title": "FaceFusion ComfyUI", + "reference": "https://github.com/facefusion/facefusion-comfyui", + "files": [ + "https://github.com/facefusion/facefusion-comfyui" + ], + "install_type": "git-clone", + "description": "Industry leading face manipulation platform" + }, + { + "author": "pmarmotte2", + "title": "ComfyUI-Speaker-Isolation", + "reference": "https://github.com/pmarmotte2/ComfyUI-Speaker-Isolation", + "files": [ + "https://github.com/pmarmotte2/ComfyUI-Speaker-Isolation" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that performs speaker diarization to isolate individual speaker audio tracks from a single audio source." + }, + { + "author": "IIEleven11", + "title": "ComfyUI-FairyTaler", + "reference": "https://github.com/IIEleven11/ComfyUI-FairyTaler", + "files": [ + "https://github.com/IIEleven11/ComfyUI-FairyTaler" + ], + "install_type": "git-clone", + "description": "This package provides ComfyUI nodes for creating 3-scene storyboards from Ollama text output." + }, + { + "author": "heheok", + "title": "comfyui_wan2.1_vace_infinite_helpers", + "reference": "https://github.com/heheok/comfyui_wan2.1_vace_infinite_helpers", + "files": [ + "https://github.com/heheok/comfyui_wan2.1_vace_infinite_helpers" + ], + "install_type": "git-clone", + "description": "This collection of custom nodes for ComfyUI is specifically designed to automate and streamline the process of creating infinite videos with WAN2.1 VACE." + }, + { + "author": "Ltamann", + "title": "TBG_Enhanced Tiled Upscaler & Refiner FLUX PRO", + "reference": "https://github.com/Ltamann/ComfyUI-TBG-ETUR", + "files": [ + "https://github.com/Ltamann/ComfyUI-TBG-ETUR" + ], + "install_type": "git-clone", + "description": "About TBG Enhanced Tiled Upscaler and Refiner Pro! We at TBG Think. Build. Generate. Pro AI upscaling & image enrichment are excited to make our TBG Enhanced Tiled Upscaler and Refiner Pro available to you for free non-commercial use. We believe in empowering creators and innovators, which is why anything you create or generate using our software" + }, + { + "author": "Ltamann", + "title": "TBG’s ComfyUI Development Takeaways", + "reference": "https://github.com/Ltamann/ComfyUI-TBG-Takeaways", + "files": [ + "https://github.com/Ltamann/ComfyUI-TBG-Takeaways" + ], + "install_type": "git-clone", + "description": "A curated collection of reusable ComfyUI nodes developed by TGB. These sidecodes encapsulate key breakthroughs in model sampling, noise scheduling, and image refinement for enhanced stable diffusion workflows." + }, + { + "author": "Ltamann", + "title": "FastVLM-7B ComfyUI Node", + "reference": "https://github.com/Ltamann/ComfyUI-FastVLM-7B", + "files": [ + "https://github.com/Ltamann/ComfyUI-FastVLM-7B" + ], + "install_type": "git-clone", + "description": "ComfyUI-FastVLM-7B Apple A custom node for Apple’s FastVLM-7B vision-language model. This node lets you pass an image + instruction and returns a generated text response." + }, + { + "author": "Ltamann", + "title": "ComfyUI-TBG-SAM3", + "reference": "https://github.com/Ltamann/ComfyUI-TBG-SAM3", + "files": [ + "https://github.com/Ltamann/ComfyUI-TBG-SAM3" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node extension integrating Meta's Segment Anything Model 3 (SAM 3) for advanced image and video segmentation with text-prompt, point-based, and mask-driven capabilities. Provides production-ready nodes compatible with ComfyUI's Impact Pack SEGS format, depth map generation, and support for Python 3.13+ with CUDA and CPU support." + }, + { + "author": "DavidPiazza", + "title": "Network Bending for ComfyUI", + "reference": "https://github.com/DavidPiazza/network_bending", + "files": [ + "https://github.com/DavidPiazza/network_bending" + ], + "install_type": "git-clone", + "description": "A custom node pack for ComfyUI that enables creative manipulation and 'bending' of neural network models. Perform various operations on loaded model checkpoints to create unique and experimental effects." + }, + { + "author": "DiffusionLight", + "title": "DiffusionLight-ComfyUI", + "reference": "https://github.com/DiffusionLight/DiffusionLight-ComfyUI", + "files": [ + "https://github.com/DiffusionLight/DiffusionLight-ComfyUI" + ], + "install_type": "git-clone", + "description": "DiffusionLight (Turbo) implemented in ComfyUI" + }, + { + "author": "sunx.ai", + "title": "SunxAI Custom Nodes for ComfyUI", + "id": "comfyui_sun_nodes", + "reference": "https://github.com/upseem/comfyui_sun_nodes", + "files": [ + "https://github.com/upseem/comfyui_sun_nodes" + ], + "install_type": "git-clone", + "description": "A set of custom nodes developed by SunxAI for ComfyUI, including image loop processing and more. " + }, + { + "author": "sunx.ai", + "title": "comfyui_sunxAI_facetools", + "reference": "https://github.com/upseem/comfyui_sunxAI_facetools", + "files": [ + "https://github.com/upseem/comfyui_sunxAI_facetools" + ], + "install_type": "git-clone", + "description": "Face detection & restoration tools for ComfyUI by Sunx.ai" + }, + { + "author": "set-soft", + "title": "Audio Separation (Demix)", + "reference": "https://github.com/set-soft/AudioSeparation", + "files": [ + "https://github.com/set-soft/AudioSeparation" + ], + "install_type": "git-clone", + "description": "Audio separation (aka demixing) nodes, for Vocals, Instruments, Bass, Drums and Others (experimental Piano and Guitar).\nUsing MDX-Net and Demucs, no extra dependencies, support for batch and resample.\nChoose between High Quality and Speed. All safetensor models (No ONNX, No PyTorch)" + }, + { + "author": "creepybits", + "title": "Save Image To Google Drive", + "id": "creepybits", + "reference": "https://github.com/Creepybits/ComfyUI-Save_To_GDrive", + "files": [ + "https://github.com/Creepybits/ComfyUI-Save_To_GDrive" + ], + "install_type": "git-clone", + "description": "This ComfyUI node will save images directly to Google Drive by using Google's free API service." + }, + { + "author": "creepybits", + "title": "world weaver", + "id": "ComfyUI-World_weaver", + "reference": "https://github.com/Creepybits/World_weaver", + "files": [ + "https://github.com/Creepybits/World_weaver" + ], + "install_type": "git-clone", + "description": "The World Weaver System: True AI character consistency using Textual Inheritance. Maintain unshakeable character identity (face, body, essence) across radical changes in pose, clothing, and scene without LoRAs, IP-Adapters, or ControlNet. This repo contains the Character Vault and Prompt Helper components." + }, + { + "author": "Hazukiaoi", + "title": "LM Studio Tools for ComfyUI", + "reference": "https://github.com/Hazukiaoi/ComfyUI-LM_Studio_Tools", + "files": [ + "https://github.com/Hazukiaoi/ComfyUI-LM_Studio_Tools" + ], + "install_type": "git-clone", + "description": "This is a custom node pack designed for ComfyUI that seamlessly integrates the powerful LM Studio into your workflow, enabling you to perform a variety of tasks such as text generation and image understanding (Vision) using locally run LLMs." + }, + { + "author": "georgitsenov", + "title": "ComfyUI S3 Save Node", + "reference": "https://github.com/georgitsenov/ComfyUI-R2", + "files": [ + "https://github.com/georgitsenov/ComfyUI-R2" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for saving generated images directly to Cloudflare R2 (or S3-compatible) buckets using boto3, with secure random filename generation and public URL return." + }, + { + "author": "HappyXY", + "title": "ComfyUI-AmazonBedrock", + "reference": "https://github.com/HappyXY/ComfyUI-AmazonBedrock", + "files": [ + "https://github.com/HappyXY/ComfyUI-AmazonBedrock" + ], + "install_type": "git-clone", + "description": "use case of llm, image, video models on amazon bedrock" + }, + { + "author": "manifestations", + "title": "ComfyUI Globetrotter Nodes", + "reference": "https://github.com/manifestations/comfyui-globetrotter", + "files": [ + "https://github.com/manifestations/comfyui-globetrotter" + ], + "install_type": "git-clone", + "description": "A collection of custom ComfyUI nodes and utilities for generating AI image prompts representing the diverse attire, cultures, regions, and appearances of the world. This project is designed for easy extension to new countries, cultures, and body parts, using a modular JSON-based data structure and dynamic node generation." + }, + { + "author": "kaipard", + "title": "Auto Aspect Latent Generator", + "reference": "https://github.com/kaipard/comfyui-auto-latent-size", + "files": [ + "https://github.com/kaipard/comfyui-auto-latent-size" + ], + "install_type": "git-clone", + "description": "Add presets for latent and adjust the image size." + }, + { + "author": "pvlprk", + "title": "ComfyUI Assistant Node", + "reference": "https://github.com/pvlprk/comfyui-pvl-api-nodes", + "files": [ + "https://github.com/pvlprk/comfyui-pvl-api-nodes" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that integrates with the OpenAI Assistants API." + }, + { + "author": "danTheMonk", + "title": "ComfyUI Int and Float Conversion Nodes", + "reference": "https://github.com/danTheMonk/comfyui-int-and-float", + "files": [ + "https://github.com/danTheMonk/comfyui-int-and-float" + ], + "install_type": "git-clone", + "description": "A simple ComfyUI custom node extension that provides utility nodes for converting between integer and float values." + }, + { + "author": "RamonGuthrie", + "title": "ComfyUI-RBG-ImageStitchPlus", + "reference": "https://github.com/RamonGuthrie/ComfyUI-RBG-ImageStitchPlus", + "files": [ + "https://github.com/RamonGuthrie/ComfyUI-RBG-ImageStitchPlus" + ], + "install_type": "git-clone", + "description": "An advanced image stitching node for ComfyUI." + }, + { + "author": "RamonGuthrie", + "title": "ComfyUI-RBG-SmartSeedVariance", + "reference": "https://github.com/RamonGuthrie/ComfyUI-RBG-SmartSeedVariance", + "files": [ + "https://github.com/RamonGuthrie/ComfyUI-RBG-SmartSeedVariance" + ], + "install_type": "git-clone", + "description": "Advanced seed diversity enhancement for ComfyUI with intelligent noise injection and directional biasing." + }, + { + "author": "vrgamegirl19", + "title": "VRGameDevGirl Video Enhancement Nodes", + "id": "vrgamedev_video_nodes", + "reference": "https://github.com/vrgamegirl19/comfyui-vrgamedevgirl", + "files": [ + "https://github.com/vrgamegirl19/comfyui-vrgamedevgirl" + ], + "install_type": "git-clone", + "description": "Film grain and color match nodes designed for high-quality frame-by-frame video enhancement in ComfyUI." + }, + { + "author": "namtb96", + "title": "OmniGen2 Simple Node", + "reference": "https://github.com/namtb96/OmniGen2-Simple-Node", + "files": [ + "https://github.com/namtb96/OmniGen2-Simple-Node" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package for the OmniGen2 multimodal generation model." + }, + { + "author": "lonelyowl13", + "title": "Artist tag randomizer for comfyui", + "reference": "https://github.com/lonelyowl13/artist_randomizer", + "files": [ + "https://github.com/lonelyowl13/artist_randomizer" + ], + "install_type": "git-clone", + "description": "A node for including random artists usernames to a prompt." + }, + { + "author": "Aryan185", + "title": "ComfyUI-ExternalAPI-Helpers", + "reference": "https://github.com/Aryan185/ComfyUI-ExternalAPI-Helpers", + "files": [ + "https://github.com/Aryan185/ComfyUI-ExternalAPI-Helpers" + ], + "install_type": "git-clone", + "description": "ComfyUI node for Flux Kontext Pro and Max models from Replicate" + }, + { + "author": "Aryan185", + "title": "ComfyUI-VertexAPI", + "reference": "https://github.com/Aryan185/ComfyUI-VertexAPI", + "files": [ + "https://github.com/Aryan185/ComfyUI-VertexAPI" + ], + "install_type": "git-clone", + "description": "A collection of powerful custom nodes for ComfyUI that connect your local workflows to closed-source AI models via their APIs, supporting Google Gemini, Imagen, Veo, OpenAI's GPT-Image-1, and FLUX models." + }, + { + "author": "iacoposk8", + "title": "ComfyUI Fooocus Inpaint Wrapper", + "reference": "https://github.com/iacoposk8/ComfyUI-Fooocus-Inpaint-Wrapper", + "files": [ + "https://github.com/iacoposk8/ComfyUI-Fooocus-Inpaint-Wrapper" + ], + "install_type": "git-clone", + "description": "A simple wrapper for Fooocus's inpainting code, designed to replicate its outstanding results. Future improvements for a more refined and lightweight version are planned." + }, + { + "author": "iacoposk8", + "title": "ComfyUI XOR Text & Pickle Nodes", + "reference": "https://github.com/iacoposk8/xor_pickle_nodes", + "files": [ + "https://github.com/iacoposk8/xor_pickle_nodes" + ], + "install_type": "git-clone", + "description": "Three custom nodes for ComfyUI that allow you to encrypt and decrypt Python objects or text using simple XOR encryption." + }, + { + "author": "FaraamFide", + "title": "ComfyUI-ParamNodes", + "reference": "https://github.com/FaraamFide/ComfyUI-ParamNodes", + "files": [ + "https://github.com/FaraamFide/ComfyUI-ParamNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI-ParamNodes is a lightweight, dependency-free collection of custom nodes for ComfyUI, designed to parameterize your workflows for API-driven generation. It provides a clean set of input nodes to control strings, numbers, booleans, and model/LoRA selections, along with a simple logic switch for conditional execution." + }, + { + "author": "yamanacn", + "title": "ComfyUI Kontext Duo Image Analyzer", + "reference": "https://github.com/yamanacn/comfyui_kontext_Analyze", + "files": [ + "https://github.com/yamanacn/comfyui_kontext_Analyze" + ], + "install_type": "git-clone", + "description": "This is a custom node designed for ComfyUI that leverages the multimodal large model Doubao from Volcengine Ark to intelligently compare two input images. You can provide two images and a custom text prompt. The node will send this information to the large model and return a detailed textual description of the similarities and differences between the two images." + }, + { + "author": "weekii", + "title": "comfyui-save-image-pro", + "reference": "https://github.com/weekii/comfyui-save-image-pro", + "files": [ + "https://github.com/weekii/comfyui-save-image-pro" + ], + "install_type": "git-clone", + "description": "Professional-grade ComfyUI image saving plugin with support for multiple formats, custom naming, and advanced features." + }, + { + "author": "weekii", + "title": "ComfyUI-GGUF-FX", + "reference": "https://github.com/weekii/ComfyUI-GGUF-FX", + "files": [ + "https://github.com/weekii/ComfyUI-GGUF-FX" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for running GGUF quantized Qwen2.5-VL models using llama.cpp" + }, + { + "author": "bbaudio", + "title": "ComfyUI-SuperUltimateVaceTools", + "reference": "https://github.com/bbaudio-2025/ComfyUI-SuperUltimateVaceTools", + "files": [ + "https://github.com/bbaudio-2025/ComfyUI-SuperUltimateVaceTools" + ], + "install_type": "git-clone", + "description": "powerful nodes for wan2.1 vace" + }, + { + "author": "robertvoy", + "title": "ComfyUI-Distributed", + "reference": "https://github.com/robertvoy/ComfyUI-Distributed", + "files": [ + "https://github.com/robertvoy/ComfyUI-Distributed" + ], + "install_type": "git-clone", + "description": "A custom node extension for ComfyUI that enables distributed image generation across multiple GPUs through a master-worker architecture." + }, + { + "author": "FortunaCournot", + "title": "Stereoscopic", + "id": "stereoscopic", + "reference": "https://github.com/FortunaCournot/comfyui_stereoscopic", + "files": [ + "https://github.com/FortunaCournot/comfyui_stereoscopic" + ], + "install_type": "git-clone", + "description": "Contains ImageSBSConverter node to convert an image into a side-by-side image." + }, + { + "author": "negaga53", + "title": "ComfyUI Universal Image Loader", + "reference": "https://github.com/negaga53/comfyui-imgloader", + "files": [ + "https://github.com/negaga53/comfyui-imgloader" + ], + "install_type": "git-clone", + "description": "A powerful and versatile custom node for ComfyUI that provides multiple ways to load images into your workflows." + }, + { + "author": "sunra-ai", + "title": "ComfyUI Sunra.ai Plugin", + "reference": "https://github.com/sunra-ai/comfyui-sunra", + "files": [ + "https://github.com/sunra-ai/comfyui-sunra" + ], + "install_type": "git-clone", + "description": "Professional ComfyUI plugin for Sunra.ai's FLUX.1 Kontext and Seedance models with enhanced UI" + }, + { + "author": "Ben Staniford", + "title": "ComfyUI Load Most Recent Image Node", + "reference": "https://github.com/benstaniford/comfy-load-last-image", + "files": [ + "https://github.com/benstaniford/comfy-load-last-image" + ], + "install_type": "git-clone", + "description": "A ComfyUI node designed to load the most recent image in a folder" + }, + { + "author": "Ben Staniford", + "title": "Comfy Contact Sheet Image Loader", + "reference": "https://github.com/benstaniford/comfy-contact-sheet-image-loader", + "files": [ + "https://github.com/benstaniford/comfy-contact-sheet-image-loader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for loading images from a contact sheet of recent files" + }, + { + "author": "Ben Staniford", + "title": "LoRa Loader with Trigger Database", + "reference": "https://github.com/benstaniford/comfy-lora-loader-with-triggerdb", + "files": [ + "https://github.com/benstaniford/comfy-lora-loader-with-triggerdb" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that provides a LoRa loader with persistent trigger word storage. Automatically saves and loads trigger words for each LoRa model, making your workflow more efficient." + }, + { + "author": "Ben Staniford", + "title": "Prompt Database for ComfyUI", + "reference": "https://github.com/benstaniford/comfy-prompt-db", + "files": [ + "https://github.com/benstaniford/comfy-prompt-db" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that provides a database-driven prompt management system. Store, organize, and edit prompts in categories with persistent JSON storage." + }, + { + "author": "Ben Staniford", + "title": "ComfyUI Image Switch Node", + "reference": "https://github.com/benstaniford/comfy-image-switch", + "files": [ + "https://github.com/benstaniford/comfy-image-switch" + ], + "install_type": "git-clone", + "description": "An image source switch node for ComfyUI" + }, + { + "author": "OneThingAI", + "title": "ComfyUI OneThing AI Node", + "reference": "https://github.com/OneThingAI/ComfyUI_Onething_Image", + "files": [ + "https://github.com/OneThingAI/ComfyUI_Onething_Image" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates with OneThing AI's image generation API." + }, + { + "author": "OneThingAI", + "title": "ComfyUI OneThing CV Node", + "reference": "https://github.com/OneThingAI/ComfyUI_Onething_CV", + "files": [ + "https://github.com/OneThingAI/ComfyUI_Onething_CV" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI allows you to get detailed text descriptions of images using the OneThing AI Vision API. The node integrates with OneThing AI's powerful vision models to provide detailed descriptions of image content." + }, + { + "author": "NeuroSenko", + "title": "ComfyUI LLM SDXL Adapter", + "reference": "https://github.com/NeuroSenko/ComfyUI_LLM_SDXL_Adapter", + "files": [ + "https://github.com/NeuroSenko/ComfyUI_LLM_SDXL_Adapter" + ], + "install_type": "git-clone", + "description": "A comprehensive set of ComfyUI nodes for using Large Language Models (LLM) as text encoders for SDXL image generation through a trained adapter." + }, + { + "author": "MovieLabs", + "title": "MovieLabs ComfyUI Nodes for Publishing Workflow", + "reference": "https://github.com/MovieLabs/comfyui-movielabs-util", + "files": [ + "https://github.com/MovieLabs/comfyui-movielabs-util" + ], + "install_type": "git-clone", + "description": "An extension set of validation checks, automatic versioning numbering, automatic directory creation, and naming conventions are implemented to ensure that the file system is kept in sync with ShotGrid." + }, + { + "author": "reallusion", + "title": "Reallusion ComfyUI Custom Nodes", + "reference": "https://github.com/reallusion/ComfyUI-Reallusion", + "files": [ + "https://github.com/reallusion/ComfyUI-Reallusion" + ], + "install_type": "git-clone", + "description": "This nodepack contains custom nodes for ComfyUI designed specifically for handling Reallusion-related assets such as Character Creator and iClone image and video files. These nodes are intended to be used as backend components that communicate and operate through the AI Render Plugin interface of iClone or Character Creator, enabling a seamless integration between ComfyUI's powerful image/video generation capabilities and Reallusion’s animation tools. By bridging ComfyUI with iClone/Character Creator’s AI Render Plugin, these nodes facilitate workflows where AI-assisted content generation can be controlled, customized, and rendered directly from within Reallusion software environments." + }, + { + "author": "glitchinthemetrix16", + "title": "ComfyUI Roop Custom Nodes", + "reference": "https://github.com/glitchinthemetrix16/ComfyUI-Roop", + "files": [ + "https://github.com/glitchinthemetrix16/ComfyUI-Roop" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI to enable face swapping using the Roop library." + }, + { + "author": "IsItDanOrAi", + "title": "exLoadout: Excel-Based Model & Settings Loader", + "id": "comfyui-exloadout", + "reference": "https://github.com/IsItDanOrAi/ComfyUI-exLoadout", + "files": [ + "https://github.com/IsItDanOrAi/ComfyUI-exLoadout" + ], + "install_type": "git-clone", + "description": "Excel spreadsheet-driven ComfyUI nodes that let you load models, values, and workflows based on saved rows in Excel. Great for organizing and switching between CLIPs, VAEs, LoRAs, and more." + }, + { + "author": "claptrap0", + "title": "ComfyUI_LLM_Hub", + "reference": "https://github.com/claptrap0/ComfyUI_LLM_Hub", + "files": [ + "https://github.com/claptrap0/ComfyUI_LLM_Hub" + ], + "install_type": "git-clone", + "description": "Utilize the power of an LLM into ComfyUI to transform your text-to-image and text-to-video ideas into highly detailed prompts for generation while giving you full control." + }, + { + "author": "xChenNing", + "title": "ComfyUI_Image_Pin", + "id": "comfyui-image-pin", + "reference": "https://github.com/CheNing233/ComfyUI_Image_Pin", + "files": [ + "https://github.com/CheNing233/ComfyUI_Image_Pin" + ], + "install_type": "git-clone", + "description": "Allows you to pin images to the JSON of your workflow, migrate with JSON, or embed in image's metadata. supports image compression." + }, + { + "author": "LaoMaoBoss", + "title": "ComfyUI-WBLESS", + "id": "LaoMaoBoss", + "reference": "https://github.com/LaoMaoBoss/ComfyUI-WBLESS", + "files": [ + "https://github.com/LaoMaoBoss/ComfyUI-WBLESS" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node package. This custom node features multiple practical functions, including global variables, flow control, obtaining image or mask dimensions, and Dominant Axis Scale." + }, + { + "author": "zeeoale", + "title": "PromptCreatorNodetraumakom Prompt Generator", + "reference": "https://github.com/zeeoale/PromptCreatorNode", + "files": [ + "https://github.com/zeeoale/PromptCreatorNode" + ], + "install_type": "git-clone", + "description": "A powerful custom node for ComfyUI that generates rich, dynamic prompts based on modular JSON worlds — with color realm control (RGB / CMYK), LoRA triggers, and optional AI-based prompt enhancement." + }, + { + "author": "Android zhang", + "title": "Comfyui-Distill-Any-Depth", + "reference": "https://github.com/zade23/Comfyui-Distill-Any-Depth", + "files": [ + "https://github.com/zade23/Comfyui-Distill-Any-Depth" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use Distill-Any-Depth prediction." + }, + { + "author": "Android zhang", + "title": "ComfyUI-MoGe2", + "reference": "https://github.com/zade23/Comfyui-MoGe2", + "files": [ + "https://github.com/zade23/Comfyui-MoGe2" + ], + "install_type": "git-clone", + "description": "Runs the MoGe2 model on the input image. \n v1: Ruicheng/moge-vitl \n v2: Ruicheng/moge-2-vitl-normal" + }, + { + "author": "swisscore-py", + "title": "ComfyUI Telegram Suite", + "reference": "https://github.com/SwissCore92/comfyui-telegram-suite", + "files": [ + "https://github.com/SwissCore92/comfyui-telegram-suite" + ], + "install_type": "git-clone", + "description": "Implement Telegram into your ComfyUI workflows." + }, + { + "author": "ZXL-Xinram", + "title": "ComfyUI-AutoFlow", + "reference": "https://github.com/ZXL-Xinram/ComfyUI-AutoFlow", + "files": [ + "https://github.com/ZXL-Xinram/ComfyUI-AutoFlow" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI focused on path processing and string operations." + }, + { + "author": "lex-drl", + "title": "Best Resolution", + "reference": "https://github.com/Lex-DRL/ComfyUI-BestResolution", + "files": [ + "https://github.com/Lex-DRL/ComfyUI-BestResolution" + ], + "install_type": "git-clone", + "description": "QoL nodes for semi-automatic calculation of the best (most optimal) sampling resolution \n• compatible with ANY model (from now or the future), \n• accounting for upscale... \n• ...and pixel-step." + }, + { + "author": "lex-drl", + "title": "String Constructor (Text-Formatting)", + "reference": "https://github.com/Lex-DRL/ComfyUI-StringConstructor", + "files": [ + "https://github.com/Lex-DRL/ComfyUI-StringConstructor" + ], + "install_type": "git-clone", + "description": "Composing prompt variants from the same text pieces with ease:\n• Build your \"library\" (dictionary) of named text chunks (sub-strings) to use it across the entire workflow.\n• Compile these snippets into different prompts in-place - with just one string formatting node.\n• Freely update the dictionary down the line - get different prompts.\n• Reference text chunks within each other to build dependent hierarchies of less/more detailed descriptions.\n• A real life-saver for regional prompting (aka area composition)." + }, + { + "author": "baikong", + "title": "blender-in-comfyui", + "reference": "https://github.com/JayLyu/blender-in-comfyui", + "files": [ + "https://github.com/JayLyu/blender-in-comfyui" + ], + "install_type": "git-clone", + "description": "Combine multiple 3D models into a single Blender file and render in ComfyUI." + }, + { + "author": "MithrilMan", + "title": "Mithril-Nodes for ComfyUI", + "reference": "https://github.com/MithrilMan/ComfyUI-MithrilNodes", + "files": [ + "https://github.com/MithrilMan/ComfyUI-MithrilNodes" + ], + "install_type": "git-clone", + "description": "Mithril-Nodes is a collection of custom nodes for ComfyUI that enhance workflow modularity, data routing, and configuration management. These nodes help you build more dynamic, organized, and reusable pipelines for generative AI workflows." + }, + { + "author": "Yukinoshita-Yukinoe", + "title": "ComfyUI-Qwen-Node", + "reference": "https://github.com/Yukinoshita-Yukinoe/ComfyUI-Qwen-Node", + "files": [ + "https://github.com/Yukinoshita-Yukinoe/ComfyUI-Qwen-Node" + ], + "install_type": "git-clone", + "description": "Qwen3 api node" + }, + { + "author": "seanjang990", + "title": "ComfyUI Document Auto Crop Node", + "reference": "https://github.com/seanjang990/comfyui-document-auto-crop", + "files": [ + "https://github.com/seanjang990/comfyui-document-auto-crop" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI automatically crops a document by detecting edges, rotates it based on face orientation using MediaPipe, and adjusts it to a target aspect ratio (default 11:14)." + }, + { + "author": "cjj198909", + "title": "OpenAI/Azure OpenAI Image API", + "reference": "https://github.com/cjj198909/comfy_openai_image_api_azure", + "files": [ + "https://github.com/cjj198909/comfy_openai_image_api_azure" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that provides access to OpenAI's image generation and editing capabilities, including support for gpt-image-1 model with both OpenAI and Azure OpenAI providers." + }, + { + "author": "paulh4x", + "title": "ComfyUI_PHRenderFormerWrapper", + "reference": "https://github.com/paulh4x/ComfyUI_PHRenderFormerWrapper", + "files": [ + "https://github.com/paulh4x/ComfyUI_PHRenderFormerWrapper" + ], + "install_type": "git-clone", + "description": "A Wrapper and a set of Custom Nodes for using RenderFormer as a 3d Environment in ComfyUI." + }, + { + "author": "Aero-Ex", + "title": "ComfyUI Vision LLM Analyzer Node", + "reference": "https://github.com/Aero-Ex/ComfyUI-Vision-LLM-Analyzer", + "files": [ + "https://github.com/Aero-Ex/ComfyUI-Vision-LLM-Analyzer" + ], + "install_type": "git-clone", + "description": "This repository contains a powerful and versatile custom node for ComfyUI that seamlessly integrates with OpenAI-compatible Large Language Models (LLMs), including multimodal (vision-enabled) models like GPT-4o.\nThis single node allows you to perform both text generation and image analysis, making it an essential tool for advanced prompt engineering and creative automation." + }, + { + "author": "StrawberryFist", + "title": "StrawberryFist VRAM Optimizer", + "reference": "https://github.com/strawberryPunch/vram_optimizer", + "files": [ + "https://github.com/strawberryPunch/vram_optimizer" + ], + "install_type": "git-clone", + "description": "A comprehensive VRAM management tool for ComfyUI. Includes automatic cleanup and GPU monitoring.", + "nodename_pattern": "StFist", + "pip": ["GPUtil>=1.4.0"], + "tags": ["vram", "gpu", "optimizer", "monitoring"] + }, + { + "author": "blird", + "title": "ComfyUI-Wanify: Adaptive Image Resize Node", + "reference": "https://github.com/blird/ComfyUI-Wanify", + "files": [ + "https://github.com/blird/ComfyUI-Wanify" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI provides adaptive image resizing based on target pixel counts, maintaining aspect ratio and supporting different quality levels. It is useful for workflows that require images to fit within specific pixel budgets (e.g., for video, AI models, or memory constraints)." + }, + { + "author": "hiderminer", + "title": "ComfyUI-HM-Tools", + "reference": "https://github.com/hiderminer/ComfyUI-HM-Utilities", + "files": [ + "https://github.com/hiderminer/ComfyUI-HM-Utilities" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that provides useful image processing tools." + }, + { + "author": "Dimona Patrick", + "title": "ComfyUI Mzikart Mixer", + "reference": "https://github.com/Dream-Pixels-Forge/ComfyUI-Mzikart-Mixer", + "files": [ + "https://github.com/Dream-Pixels-Forge/ComfyUI-Mzikart-Mixer" + ], + "install_type": "git-clone", + "description": "Professional audio processing nodes for ComfyUI" + }, + { + "author": "Edoardo Carmignani", + "title": "ComfyUI-ExtraLinks", + "id": "extralinks", + "reference": "https://github.com/edoardocarmignani/extralinks", + "files": [ + "https://github.com/edoardocarmignani/extralinks" + ], + "install_type": "git-clone", + "description": "A one-click collection of alternate connection styles for ComfyUI." + }, + { + "author": "Edoardo Carmignani", + "title": "VAE Decode Switch for ComfyUI", + "reference": "https://github.com/MasterDenis/VAE-Decode-Switch", + "files": [ + "https://github.com/MasterDenis/VAE-Decode-Switch" + ], + "install_type": "git-clone", + "description": "Node for ComfyUI designed for more neatly switching between tiled and default VAE Decode Nodes." + }, + { + "author": "webuilder", + "title": "ComfyUI WB Utils", + "reference": "https://github.com/webuilder/WB-ComfyUI-Utils", + "files": [ + "https://github.com/webuilder/WB-ComfyUI-Utils" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI, including useful functions such as audio processing and text manipulation." + }, + { + "author": "MartinDeanMoriarty", + "title": "ComfyUI-DeanLogic", + "reference": "https://github.com/MartinDeanMoriarty/ComfyUI-DeanLogic", + "files": [ + "https://github.com/MartinDeanMoriarty/ComfyUI-DeanLogic" + ], + "install_type": "git-clone", + "description": "Nodes to switch image input or output path with boolean conditions" + }, + { + "author": "MartinDeanMoriarty", + "title": "ComfyUI-NumberToText", + "reference": "https://github.com/MartinDeanMoriarty/ComfyUI-NumberToText", + "files": [ + "https://github.com/MartinDeanMoriarty/ComfyUI-NumberToText" + ], + "install_type": "git-clone", + "description": "Converts a number (e.g., 2 or 15) into written text (e.g., two or fifteen). Works for english and german up to numbers as high as 9999 without problems." + }, + { + "author": "rdomunky", + "title": "comfyui-subfolderimageloader", + "reference": "https://github.com/rdomunky/comfyui-subfolderimageloader", + "files": [ + "https://github.com/rdomunky/comfyui-subfolderimageloader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that enhances image loading with subfolder organization and dynamic filtering" + }, + { + "author": "NyaFuP", + "title": "NF Preview Selector", + "reference": "https://github.com/NyaFuP/ComfyUI_Preview_Selector", + "files": [ + "https://github.com/NyaFuP/ComfyUI_Preview_Selector" + ], + "install_type": "git-clone", + "description": "A floating dialog-based image preview and selection system for ComfyUI." + }, + { + "author": "brucew4yn3rp", + "title": "Save Image with Selective Metadata", + "id": "SaveImageSelectiveMetadata", + "reference": "https://github.com/brucew4yn3rp/ComfyUI_SelectiveMetadata", + "files": [ + "https://github.com/brucew4yn3rp/ComfyUI_SelectiveMetadata" + ], + "install_type": "git-clone", + "description": "This custom node allows users to selectively choose what to add to the generated image's metadata." + }, + { + "author": "brucew4yn3rp", + "title": "Vintage Effect", + "id": "VintageEffect", + "reference": "https://github.com/brucew4yn3rp/ComfyUI_VintageEffect", + "files": [ + "https://github.com/brucew4yn3rp/ComfyUI_VintageEffect" + ], + "install_type": "git-clone", + "description": "ComfyUI node that applies vintage/retro effects through JPG compression, color grading, film grain, vignette, and more to emulate more realistic photo aesthetics." + }, + { + "author": "brucew4yn3rp", + "title": "Frontend Cleanup Node", + "id": "ComfyUI_FrontEndCleanup", + "reference": "https://github.com/brucew4yn3rp/ComfyUI_FrontEndCleanup", + "files": [ + "https://github.com/brucew4yn3rp/ComfyUI_FrontEndCleanup" + ], + "install_type": "git-clone", + "description": "This node customizes the ComfyUI frontend by relocating the action bar into the top bar and hiding selected UI elements to reduce visual clutter." + }, + { + "author": "cedarconnor", + "title": "ComfyUI LatLong - Equirectangular Image Processing Nodes", + "reference": "https://github.com/cedarconnor/comfyui-LatLong", + "files": [ + "https://github.com/cedarconnor/comfyui-LatLong" + ], + "install_type": "git-clone", + "description": "Advanced equirectangular (360°) image processing nodes for ComfyUI, enabling precise rotation, horizon adjustment, and specialized cropping operations for panoramic images." + }, + { + "author": "cedarconnor", + "title": "ComfyUI Upsampler Nodes", + "reference": "https://github.com/cedarconnor/upsampler", + "files": [ + "https://github.com/cedarconnor/upsampler" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for integrating with the Upsampler API to enhance and upscale images using AI." + }, + { + "author": "cedarconnor", + "title": "ComfyUI Batch Name Loop", + "reference": "https://github.com/cedarconnor/comfyui-BatchNameLoop", + "files": [ + "https://github.com/cedarconnor/comfyui-BatchNameLoop" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package for batch image processing with filename preservation." + }, + { + "author": "cedarconnor", + "title": "ComfyUI-DreamCube", + "reference": "https://github.com/cedarconnor/ComfyUI-DreamCube", + "files": [ + "https://github.com/cedarconnor/ComfyUI-DreamCube" + ], + "install_type": "git-clone", + "description": "360° panoramic depth estimation with multi-plane synchronization for ComfyUI, featuring equirectangular-cubemap transformations, cross-face consistency, and boundary blending for seamless depth maps." + }, + { + "author": "cedarconnor", + "title": "ComfyUI-Skeletonretarget", + "reference": "https://github.com/cedarconnor/ComfyUI-Skeletonretarget", + "files": [ + "https://github.com/cedarconnor/ComfyUI-Skeletonretarget" + ], + "install_type": "git-clone", + "description": "A custom node pack for ComfyUI that aligns and retargets skeletal pose data from driving videos to match reference images, enabling consistent motion transfer. (Description by CC)" + }, + { + "author": "vaishnav-vn", + "title": "va1", + "name": "va1", + "reference": "https://github.com/vaishnav-vn/va1", + "files": [ + "https://github.com/vaishnav-vn/va1" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes: (1) Pad Image by Aspect for Outpaint — expand, pad, and mask images to fixed or randomized aspect ratios with precise spatial and scale control for outpainting and canvas expansion. (2) Image Mask Comparer — compare masked regions of two images with similarity scoring and automatic retry/re-queue on mismatch." + }, + { + "author": "wawahuy", + "title": "ComfyUI HTTP - REST API Nodes", + "reference": "https://github.com/wawahuy/ComfyUI-HTTP", + "files": [ + "https://github.com/wawahuy/ComfyUI-HTTP" + ], + "install_type": "git-clone", + "description": "Powerful REST API nodes for ComfyUI that enable seamless HTTP/REST integration into your workflows." + }, + { + "author": "watarika", + "title": "ComfyUI-SendToEagle-w-Metadata", + "reference": "https://github.com/watarika/ComfyUI-SendToEagle-w-Metadata", + "files": [ + "https://github.com/watarika/ComfyUI-SendToEagle-w-Metadata" + ], + "install_type": "git-clone", + "description": "Sends images with metadata (PNGInfo) obtained from the input values of each node to Eagle. You can customize the tags to be registered in Eagle." + }, + { + "author": "Azornes", + "title": "Comfyui-LayerForge", + "id": "layerforge", + "reference": "https://github.com/Azornes/Comfyui-LayerForge", + "files": [ + "https://github.com/Azornes/Comfyui-LayerForge" + ], + "install_type": "git-clone", + "description": "Photoshop-like layered canvas editor to your ComfyUI workflow. This node is perfect for complex compositing, inpainting, and outpainting, featuring multi-layer support, masking, blend modes, and precise transformations. Includes optional AI-powered background removal for streamlined image editing." + }, + { + "author": "Azornes", + "title": "Comfyui-Resolution-Master", + "reference": "https://github.com/Azornes/Comfyui-Resolution-Master", + "files": [ + "https://github.com/Azornes/Comfyui-Resolution-Master" + ], + "install_type": "git-clone", + "description": " Precise resolution and aspect ratio control for ComfyUI" + }, + { + "author": "einhorn13", + "title": "ComfyUI-ImageProcessUtilities", + "reference": "https://github.com/einhorn13/ComfyUI-ImageProcessUtilities", + "files": [ + "https://github.com/einhorn13/ComfyUI-ImageProcessUtilities" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI designed to enhance image processing workflows. Especially useful for high-resolution rendering, complex inpainting, tiling, and batch manipulation. This allows you to perform processing that would otherwise exceed your VRAM limits." + }, + { + "author": "khanhlvg", + "title": "[Unofficial] Vertex AI Custom Nodes for ComfyUI", + "reference": "https://github.com/khanhlvg/vertex-ai-comfyui-nodes", + "files": [ + "https://github.com/khanhlvg/vertex-ai-comfyui-nodes" + ], + "install_type": "git-clone", + "description": "Vertex AI Custom Nodes for ComfyUI" + }, + { + "author": "cuban044", + "title": "[Unofficial] ComfyUI-Veo3-Experimental", + "reference": "https://github.com/cuban044/ComfyUI-Veo3-Experimental", + "files": [ + "https://github.com/cuban044/ComfyUI-Veo3-Experimental" + ], + "install_type": "git-clone", + "description": "A custom node extension for ComfyUI that integrates Google's Veo 3 text-to-video generation capabilities." + }, + { + "author": "builmenlabo", + "title": "ComfyUI builmenlabo - Unified Package", + "id": "builmenlabo", + "reference": "https://github.com/comnote-max/builmenlabo", + "files": [ + "https://github.com/comnote-max/builmenlabo" + ], + "install_type": "git-clone", + "description": "Comprehensive collection of ComfyUI custom nodes: šŸ¦™ Advanced LLM text generation with Llama-CPP (CPU/GPU acceleration), 🌐 Smart multi-language prompt translation (Google/DeepL/Yandex/Baidu), šŸŒ 20-language interface toggle, šŸ“ø AI-powered Gemini pose analysis, šŸŽ›ļø Smart ControlNet management. Perfect unified package for AI artists and creators. Blog: https://note.com/hirodream44", + "nodename_pattern": "builmenlabo", + "tags": [ + "LLM", + "translation", + "multilingual", + "pose-analysis", + "controlnet", + "text-generation", + "gemini", + "llama-cpp", + "AI" + ] + }, + { + "author": "Cyrostar", + "title": "Artha-Gemini", + "id": "Artha-Gemini", + "reference": "https://github.com/Cyrostar/Artha-Gemini", + "reference2": "https://github.com/Cyrostar/ComfyUI-Artha-Gemini", + "files": [ + "https://github.com/Cyrostar/Artha-Gemini" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for interacting with the Gemini api for image and video generation prompting." + }, + { + "author": "Cyrostar", + "title": "Artha-Projekt", + "id": "artha-projekt", + "reference": "https://github.com/Cyrostar/Artha-Projekt", + "files": [ + "https://github.com/Cyrostar/Artha-Projekt" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for project management." + }, + { + "author": "GeraldWie", + "title": "ComfyUI-I2I-slim", + "reference": "https://github.com/GeraldWie/ComfyUI-I2I-slim", + "files": [ + "https://github.com/GeraldWie/ComfyUI-I2I-slim" + ], + "install_type": "git-clone", + "description": "A lightweight version of the custom nodes originally developed by [a/ManglerFTW](https://github.com/ManglerFTW/ComfyI2I) for performing image-to-image tasks in ComfyUI." + }, + { + "author": "tauraloke", + "title": "ComfyUI-Unfake-Pixels", + "reference": "https://github.com/tauraloke/ComfyUI-Unfake-Pixels", + "files": [ + "https://github.com/tauraloke/ComfyUI-Unfake-Pixels" + ], + "install_type": "git-clone", + "description": "A ComfyUI node for pixel art scaling. Automatically detects the pixel scale using an edge-aware method (Sobel filter + voting on tiles) and downscales the image to that pixel size, reducing color palette." + }, + { + "author": "adrianschubek", + "title": "comfyui-zeug", + "reference": "https://github.com/adrianschubek/comfyui-zeug", + "files": [ + "https://github.com/adrianschubek/comfyui-zeug" + ], + "install_type": "git-clone", + "description": "comfyui-zeug (German for 'gear' or 'stuff') is a collection of custom nodes for ComfyUI, designed to enhance functionality and provide additional features." + }, + { + "author": "g0kuvonlange", + "title": "ComfyUI Load From URL", + "reference": "https://github.com/g0kuvonlange/ComfyUI-Load-From-URL", + "files": [ + "https://github.com/g0kuvonlange/ComfyUI-Load-From-URL" + ], + "install_type": "git-clone", + "description": "A simple custom node for ComfyUI to load LoRAs and videos directly from a URL. Ideal for users hosting files on a server with publicly accessible URLs." + }, + { + "author": "visualbruno", + "title": "ComfyUI-Hunyuan3d-2-1", + "reference": "https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1", + "files": [ + "https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1" + ], + "install_type": "git-clone", + "description": "ComfyUI Wrapper for [a/Hunyuan3D v2.1](https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1) - From Images to High-Fidelity 3D Assets with Production-Ready PBR Material" + }, + { + "author": "visualbruno", + "title": "ComfyUI-Trellis2", + "reference": "https://github.com/visualbruno/ComfyUI-Trellis2", + "files": [ + "https://github.com/visualbruno/ComfyUI-Trellis2" + ], + "install_type": "git-clone", + "description": "ComfyUI Wrapper for TRELLIS.2 - Microsoft's image-to-3D generation model. (Description by CC)" + }, + { + "author": "AIWarper", + "title": "ComfyUI-DAViD", + "reference": "https://github.com/AIWarper/ComfyUI-DAViD", + "files": [ + "https://github.com/AIWarper/ComfyUI-DAViD" + ], + "install_type": "git-clone", + "description": "An implementation of the DAViD tooling, a method for extracting depth, normals, and masks from an input image." + }, + { + "author": "ComfyUI Studio", + "title": "ComfyUI-Studio-nodes", + "reference": "https://github.com/comfyuistudio/ComfyUI-Studio-nodes", + "files": [ + "https://github.com/comfyuistudio/ComfyUI-Studio-nodes" + ], + "install_type": "git-clone", + "description": "🧩 Aspect Ratio Image Size Calculator, šŸ–¼ļø Aspect Ratio Resizer, and šŸ“„ Markdown Link Generator for ComfyUI.", + "tags": ["image", "resize", "aspect-ratio", "markdown", "utils"] + }, + { + "author": "jenn", + "title": "BookCoverFinder", + "reference": "https://github.com/weberjc/book-cover-finder-comfy", + "files": [ + "https://github.com/weberjc/book-cover-finder-comfy" + ], + "install_type": "git-clone", + "description": "Book Cover Finder tool that wraps openlibrary.org" + }, + { + "author": "RndNanthu", + "title": "ComfyUI-RndNanthu", + "id": "ComfyUI-RndNanthu", + "reference": "https://github.com/rndnanthu/ComfyUI-RndNanthu", + "files": [ + "https://github.com/rndnanthu/ComfyUI-RndNanthu" + ], + "install_type": "git-clone", + "description": "Film Grain simulation, Log Color Conversions, Color Scopes (RGB Parade, Vectorscope, Gamut Warnings), False Color, and more." + }, + { + "author": "Pun0110", + "title": "CSV Styler", + "reference": "https://github.com/Pun0110/ComfyUI-CSV-Styler", + "files": [ + "https://github.com/Pun0110/ComfyUI-CSV-Styler" + ], + "install_type": "git-clone", + "description": "Repository contains CSV Styler - custom node for ComfyUI. It loads styles from styles.csv file (Automatic1111 Web-Ui styles.csv format) and combine them with provided positive and negative prompt.\nNOTE: 'styles.csv' should be placed in ComfyUI root directory (near main.py)." + }, + { + "author": "cnnmmd", + "title": "cnnmmd: comfyui_xoxxox_cnnmmd", + "reference": "https://github.com/cnnmmd/comfyui_xoxxox_cnnmmd", + "files": [ + "https://github.com/cnnmmd/comfyui_xoxxox_cnnmmd" + ], + "install_type": "git-clone", + "description": "This is a set of custom nodes for ComfyUI, designed for the following application: [a/https://github.com/cnnmmd/cnnmmd](https://github.com/cnnmmd/cnnmmd)" + }, + { + "author": "CallMe1101", + "title": "ComfyUI_OmniAvatar", + "reference": "https://github.com/CallMe1101/ComfyUI_OmniAvatar", + "files": [ + "https://github.com/CallMe1101/ComfyUI_OmniAvatar" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node developed based on OmniAvatar, capable of generating video sequences with synchronized lip movements and facial expressions by inputting a portrait image, audio, and text prompt. The node parameters and invocation method are fully consistent with the official OmniAvatar inference." + }, + { + "author": "ebrinz", + "title": "ComfyUI-MusicGen-HF", + "reference": "https://github.com/ebrinz/ComfyUI-MusicGen-HF", + "files": [ + "https://github.com/ebrinz/ComfyUI-MusicGen-HF" + ], + "install_type": "git-clone", + "description": "A standalone ComfyUI custom node package for Facebook's MusicGen using Hugging Face Transformers. Generate high-quality music from text prompts with full support for CUDA, MPS (Apple Silicon), and CPU." + }, + { + "author": "mcDandy", + "title": "More Math", + "reference": "https://github.com/mcDandy/more_math", + "files": [ + "https://github.com/mcDandy/more_math" + ], + "install_type": "git-clone", + "description": "Adds math nodes for FLOAT, CONDITIONING, LATENT, IMAGE, NOISE and AUDIO.\nAllows usage of math expressions with variety of functions and variables, not limited to inputs. List of those is on github of this extension." + }, + { + "author": "kmlbdh", + "title": "ComfyUI_LocalLLMNodes", + "reference": "https://github.com/kmlbdh/ComfyUI_LocalLLMNodes", + "files": [ + "https://github.com/kmlbdh/ComfyUI_LocalLLMNodes" + ], + "install_type": "git-clone", + "description": "A custom node pack for ComfyUI that allows you to run Large Language Models (LLMs) locally and use them for prompt generation and other text tasks directly within your ComfyUI workflows." + }, + { + "author": "kmlbdh", + "title": "kmlbdh Video Combine (Smart + Tiled)", + "reference": "https://github.com/kmlbdh/ComfyUI-kmlbdh-VideoCombine", + "files": [ + "https://github.com/kmlbdh/ComfyUI-kmlbdh-VideoCombine" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node designed for stable, high-resolution video export — even on limited hardware." + }, + { + "author": "joosthel", + "title": "ComfyUI-CVOverlay", + "reference": "https://github.com/joosthel/ComfyUI-CVOverlay", + "files": [ + "https://github.com/joosthel/ComfyUI-CVOverlay" + ], + "install_type": "git-clone", + "description": "TouchDesigner-style blob tracking and computer vision effects for ComfyUI. Simple nodes for bright spot detection, plexus connections, and technical aesthetics in video workflows." + }, + { + "author": "lokinou", + "title": "ComfyUI-Offload-Models", + "reference": "https://github.com/lokinou/comfyui-offload-models", + "files": [ + "https://github.com/lokinou/comfyui-offload-models" + ], + "install_type": "git-clone", + "description": "Custom nodes to offload and rapatriate models from cpu." + }, + { + "author": "lokinou", + "title": "ComfyUI-Better-Flow", + "reference": "https://github.com/lokinou/comfyui-better-flow", + "files": [ + "https://github.com/lokinou/comfyui-better-flow" + ], + "install_type": "git-clone", + "description": "Nodes for controlling workflow and reducing VRAM fingerprint." + }, + { + "author": "rainlizard", + "title": "Whirlpool Upscaler", + "reference": "https://github.com/rainlizard/ComfyUI-WhirlpoolUpscaler", + "files": [ + "https://github.com/rainlizard/ComfyUI-WhirlpoolUpscaler" + ], + "install_type": "git-clone", + "description": "This is a modified implementation of impact-pack's iterative upscaler. It leans in on the idea that giving too much attention to computation at high resolutions isn't a good idea." + }, + { + "author": "zl9739379", + "title": "ComfyUI-ArkVideoGenerate", + "reference": "https://github.com/zl9739379/ComfyUI-ArkVideoGenerate", + "files": [ + "https://github.com/zl9739379/ComfyUI-ArkVideoGenerate" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates ByteDance Volcano Engine's video generation AI model, supporting both text-to-video and image-to-video generation." + }, + { + "author": "YaserJaradeh", + "title": "Yaser-nodes for ComfyUI", + "reference": "https://github.com/YaserJaradeh/comfyui-yaser-nodes", + "files": [ + "https://github.com/YaserJaradeh/comfyui-yaser-nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that provide dynamic input selection and intelligent upscaling functionality." + }, + { + "author": "gvfarns", + "title": "comfyui_gvf", + "reference": "https://github.com/gvfarns/comfyui_gvf", + "files": [ + "https://github.com/gvfarns/comfyui_gvf" + ], + "install_type": "git-clone", + "description": "ComfyUI custom convenience nodes: Cropping images to a given aspect ratio, Cropping images to a max/min aspect ratio, If/else logic with provided float (rather than using a float node)" + }, + { + "author": "mikeshuangyan", + "title": "ComfyUI_MqUtils", + "reference": "https://github.com/mikeshuangyan/ComfyUI_MqUtils", + "files": [ + "https://github.com/mikeshuangyan/ComfyUI_MqUtils" + ], + "install_type": "git-clone", + "description": "MQ util nodes for ComfyUI" + }, + { + "author": "Franklyc", + "title": "ComfyUI LoRA adaLN Patcher Node", + "reference": "https://github.com/Franklyc/comfyui-lora-adain-patcher-node", + "files": [ + "https://github.com/Franklyc/comfyui-lora-adain-patcher-node" + ], + "install_type": "git-clone", + "description": "A simple but powerful custom node for ComfyUI that patches LoRA models by adding dummy adaLN_modulation_1 weights. This solves compatibility errors when using LoRAs with newer model architectures that expect these keys to be present in the final_layer." + }, + { + "author": "Simlym", + "title": "ComfyUI Prompt Helper", + "id": "prompt-helper", + "reference": "https://github.com/Simlym/comfyui-prompt-helper", + "files": [ + "https://github.com/Simlym/comfyui-prompt-helper" + ], + "install_type": "git-clone", + "description": "A simple and intuitive prompt management tool for ComfyUI." + }, + { + "author": "woct0rdho", + "title": "ComfyUI-RadialAttn", + "reference": "https://github.com/woct0rdho/ComfyUI-RadialAttn", + "files": [ + "https://github.com/woct0rdho/ComfyUI-RadialAttn" + ], + "install_type": "git-clone", + "description": "RadialAttention in ComfyUI native workflow" + }, + { + "author": "jiafuzeng", + "title": "LatentSync", + "reference": "https://github.com/jiafuzeng/comfyui-LatentSync", + "files": [ + "https://github.com/jiafuzeng/comfyui-LatentSync" + ], + "install_type": "git-clone", + "description": "We present LatentSync, an end-to-end lip-sync method based on audio-conditioned latent diffusion models without any intermediate motion representation, diverging from previous diffusion-based lip-sync methods based on pixel-space diffusion or two-stage generation. Our framework can leverage the powerful capabilities of Stable Diffusion to directly model complex audio-visual correlations." + }, + { + "author": "What-a-stupid-username", + "title": "comfyui_InversedSampler", + "reference": "https://github.com/What-a-stupid-username/comfyui-InversedSampler", + "files": [ + "https://github.com/What-a-stupid-username/comfyui-InversedSampler" + ], + "install_type": "git-clone", + "description": "A inversed euler sampler to revert image to noisy latent. Can be used to improve content consistency when perform I2I." + }, + { + "author": "rubenvillarreal", + "title": "ComfyUI_PoseAlign", + "reference": "https://github.com/rubenvillarreal/ComfyUI_PoseAlign", + "files": [ + "https://github.com/rubenvillarreal/ComfyUI_PoseAlign" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that provides pose alignment functionality." + }, + { + "author": "charlyad142", + "title": "ComfyUI Charly FitToAspectNode", + "reference": "https://github.com/charlyad142/ComfyUI_Charly_FitToAspectNode", + "files": [ + "https://github.com/charlyad142/ComfyUI_Charly_FitToAspectNode" + ], + "install_type": "git-clone", + "description": "Un nodo personalizado para ComfyUI que ajusta imĆ”genes a diferentes relaciones de aspecto manteniendo las proporciones originales." + }, + { + "author": "Rizzlord", + "title": "ComfyUI-RizzNodes", + "reference": "https://github.com/Rizzlord/ComfyUI-RizzNodes", + "files": [ + "https://github.com/Rizzlord/ComfyUI-RizzNodes" + ], + "install_type": "git-clone", + "description": "RizzNodes for ComfyUI Welcome to RizzNodes, a collection of custom nodes for ComfyUI designed to streamline various workflows, from loading images and models in batches to dynamic prompt generation and memory management." + }, + { + "author": "jupo-ai", + "title": "comfy-aspect-ratios", + "id": "comfy-aspect-ratios", + "reference": "https://github.com/jupo-ai/comfy-aspect-ratios", + "files": [ + "https://github.com/jupo-ai/comfy-aspect-ratios" + ], + "install_type": "git-clone", + "description": "generate empty latent with aspect ratios" + }, + { + "author": "Brekel", + "title": "ComfyUI-Brekel", + "id": "brekel", + "reference": "https://github.com/Brekel/ComfyUI-Brekel", + "files": [ + "https://github.com/Brekel/ComfyUI-Brekel" + ], + "install_type": "git-clone", + "description": "Nodes to enhance & streamline prompts. Enhance using local LLM within ComfyUI, generate using random lines from text files, or randomly select text file prompts" + }, + { + "author": "juddisjudd", + "title": "Bawk Nodes Collection", + "reference": "https://github.com/juddisjudd/ComfyUI-BawkNodes", + "files": [ + "https://github.com/juddisjudd/ComfyUI-BawkNodes" + ], + "install_type": "git-clone", + "description": "A complete collection of FLUX-optimized ComfyUI nodes for enhanced AI image generation workflows." + }, + { + "author": "comfyui-wiki", + "title": "ComfyUI Wiki Workflows", + "reference": "https://github.com/comfyui-wiki/ComfyUI-Wiki-Workflows", + "files": [ + "https://github.com/comfyui-wiki/ComfyUI-Wiki-Workflows" + ], + "install_type": "git-clone", + "description": "Workflow templates from ComfyUI Wiki - No custom nodes or dependencies included" + }, + { + "author": "tercumantanumut", + "title": "ComfyUI-Omini-Kontext", + "reference": "https://github.com/tercumantanumut/ComfyUI-Omini-Kontext", + "files": [ + "https://github.com/tercumantanumut/ComfyUI-Omini-Kontext" + ], + "install_type": "git-clone", + "description": "Wrapper ComfyUI integration for the [a/Flux Omini Kontext](https://github.com/Saquib764/omini-kontext) pipeline, enabling seamless character/object insertion into scenes using FLUX.1-Kontext-dev with LoRA adaptation." + }, + { + "author": "stduhpf", + "title": "WanImageToVideoTiledVAE for ComfyUI", + "reference": "https://github.com/stduhpf/ComfyUI--WanImageToVideoTiled", + "files": [ + "https://github.com/stduhpf/ComfyUI--WanImageToVideoTiled" + ], + "install_type": "git-clone", + "description": "This is a set of custom nodes for ComfyUI that replaces nodes like WanImageToVideo but using a Tiled VAE approach to reduce VRAM requirements." + }, + { + "author": "stduhpf", + "title": "Wan22FirstLastFrameToVideoLatent for ComfyUI", + "reference": "https://github.com/stduhpf/ComfyUI--Wan22FirstLastFrameToVideoLatent", + "files": [ + "https://github.com/stduhpf/ComfyUI--Wan22FirstLastFrameToVideoLatent" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that can be used to generate videos from either a starting frame, an end frame or both; with the Wan2.2 5B model (which uses the new Wan2.2 VAE, unlike Wan 2.2 A14B model wich uses the old Wan2.1 VAE)." + }, + { + "author": "stduhpf", + "title": "KSampler for Wan 2.2 MoE for ComfyUI", + "reference": "https://github.com/stduhpf/ComfyUI-WanMoeKSampler", + "files": [ + "https://github.com/stduhpf/ComfyUI-WanMoeKSampler" + ], + "install_type": "git-clone", + "description": "These nodes are made to support 'Mixture of Expert' Flow models with the architecture of Wan2.2 A14B (With a high noise expert and low noise expert). Instead of guessing the denoising step at which to swap from tyhe high noise model to the low noise model, this node automatically chanage to the low noise model when we reach the diffusion timestep at which the signal to noise ratio is supposed to be 1:1." + }, + { + "author": "kanibus", + "title": "KANIBUS - Advanced Eye Tracking ControlNet System", + "reference": "https://github.com/kanibus/kanibus", + "files": [ + "https://github.com/kanibus/kanibus" + ], + "install_type": "git-clone", + "description": "Advanced Eye Tracking ControlNet System for ComfyUI - Professional eye-tracking with MediaPipe, 6-DOF Kalman filtering, and WAN 2.1/2.2 compatibility" + }, + { + "author": "Novice_Chen", + "title": "ComfyUI-XingLiu", + "reference": "https://github.com/NewNoviceChen/ComfyUI-XingLiu", + "files": [ + "https://github.com/NewNoviceChen/ComfyUI-XingLiu" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that integrates LibLib's text-to-image and image-to-image generation capabilities, with customizable ControlNet and Lora support." + }, + { + "author": "ranska", + "title": "Pixel Palette Art", + "reference": "https://github.com/ranska/pixel_palette_art", + "files": [ + "https://github.com/ranska/pixel_palette_art" + ], + "install_type": "git-clone", + "description": "Comfyui custom node: Set of tools for pixel art palette." + }, + { + "author": "SaturMars", + "title": "ComfyUI-NVVFR", + "reference": "https://github.com/SaturMars/ComfyUI-NVVFR", + "files": [ + "https://github.com/SaturMars/ComfyUI-NVVFR" + ], + "install_type": "git-clone", + "description": "ComfyUI node for video super-resolution and frame interpolation using [a/NVEncC](https://github.com/rigaya/NVEnc)." + }, + { + "author": "SaturMars", + "title": "ComfyUI Qwen LoRA Converter Node", + "reference": "https://github.com/SaturMars/ComfyUI-QwenImageLoraConverter", + "files": [ + "https://github.com/SaturMars/ComfyUI-QwenImageLoraConverter" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI custom node used to convert Qwen-Image LoRA files trained on the ModelScope platform to a format that ComfyUI can recognize." + }, + { + "author": "jqy-yo", + "title": "ComfyUI Gemini Nodes", + "id": "gemini-nodes-jqy", + "reference": "https://github.com/jqy-yo/comfyui-gemini-nodes", + "files": [ + "https://github.com/jqy-yo/comfyui-gemini-nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for integrating Google Gemini API with ComfyUI, providing powerful AI capabilities for text generation, image generation, and video analysis. Nodes: Gemini Text API, Gemini Image Editor, Gemini Image Gen Advanced, Gemini Video Captioner." + }, + { + "author": "fidecastro", + "title": "comfyui-llamacpp-client", + "reference": "https://github.com/fidecastro/comfyui-llamacpp-client", + "files": [ + "https://github.com/fidecastro/comfyui-llamacpp-client" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI custom node that provides complete client functionality for llama-server from [a/llama.cpp](https://github.com/ggml-org/llama.cpp). This node acts as a bridge between ComfyUI workflows and llama-server instances, supporting every single parameter and endpoint that llama-server offers." + }, + { + "author": "PICOPON", + "title": "ComfyUI OpenAI Node", + "reference": "https://github.com/PICOPON/ComfyUI-API-OpenAI-Node", + "files": [ + "https://github.com/PICOPON/ComfyUI-API-OpenAI-Node" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that integrates OpenAI-compatible APIs for prompt generation and enhancement, specifically designed for Stable Diffusion workflows." + }, + { + "author": "verIdyia", + "title": "ComfyUI Qwen-Image DFloat11 Nodes", + "reference": "https://github.com/verIdyia/ComfyUI-Qwen-Image-DF11", + "files": [ + "https://github.com/verIdyia/ComfyUI-Qwen-Image-DF11" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for the DFloat11 compressed Qwen-Image model. This package provides efficient image generation with reduced memory usage through DFloat11 compression technology." + }, + { + "author": "snomiao", + "title": "ComfyUI Video Crop", + "reference": "https://github.com/snomiao/ComfyUI-Video-Crop", + "files": [ + "https://github.com/snomiao/ComfyUI-Video-Crop" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for cropping videos using FFmpeg with pixel-precise control." + }, + { + "author": "max-dingsda", + "title": "OllamaTools for ComfyUI", + "reference": "https://github.com/max-dingsda/OllamaTools", + "files": [ + "https://github.com/max-dingsda/OllamaTools" + ], + "install_type": "git-clone", + "description": "This project makes local LLMs easy to use for prompt enhancement and image captioning –No API keys. No external tools. No headache." + }, + { + "author": "HWDigi", + "title": "Factory Prompt Generator", + "reference": "https://github.com/HWDigi/Factory-Prompts_comfyui", + "files": [ + "https://github.com/HWDigi/Factory-Prompts_comfyui" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI custom node suite for advanced Safe for Work prompt generation across all checkpoint types (Pony, SDXL, SD1.5, and more). This SFW edition is specifically designed for professional workflows, educational environments, and GitHub hosting compliance." + }, + { + "author": "BitWalker", + "title": "FlowCV", + "reference": "https://github.com/Koren-cy/FlowCV", + "files": [ + "https://github.com/Koren-cy/FlowCV" + ], + "install_type": "git-clone", + "description": "Visual opencv node package based on comfy ui" + }, + { + "author": "switzerswish", + "title": "LoRA Visualizer", + "reference": "https://github.com/oliverswitzer/ComfyUI-Lora-Visualizer", + "files": [ + "https://github.com/oliverswitzer/ComfyUI-Lora-Visualizer" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that parses prompt text for LoRA tags and visualizes their metadata, including trigger words, strength values, thumbnail previews, and example images." + }, + { + "author": "diogod", + "title": "TTS Audio Suite", + "reference": "https://github.com/diodiogod/TTS-Audio-Suite", + "files": [ + "https://github.com/diodiogod/TTS-Audio-Suite" + ], + "install_type": "git-clone", + "description": "TTS Audio Suite - Universal multi-engine TTS extension for ComfyUI with unified architecture supporting ChatterBox, F5-TTS, and future engines like RVC. Features modular engine adapters, character voice management, comprehensive SRT subtitle support, and advanced audio processing capabilities." + }, + { + "author": "Ferocit", + "title": "comfyui-feroccustomnodes", + "reference": "https://github.com/Ferocit/comfyui-feroccustomnodes", + "files": [ + "https://github.com/Ferocit/comfyui-feroccustomnodes" + ], + "install_type": "git-clone", + "description": "This repository contains custom nodes for ComfyUI, designed to enhance your workflow with text-based operations, particularly for managing and utilizing descriptive texts." + }, + { + "author": "drozbay", + "title": "ComfyUI-WanVaceAdvanced", + "reference": "https://github.com/drozbay/ComfyUI-WanVaceAdvanced", + "files": [ + "https://github.com/drozbay/ComfyUI-WanVaceAdvanced" + ], + "install_type": "git-clone", + "description": "Advanced/Experimental VACE nodes for WAN video models in ComfyUI." + }, + { + "author": "Lovzu", + "title": "KittenTTS Node for Voice Generation", + "reference": "https://github.com/Lovzu/ComfyUI-KittenTTS", + "files": [ + "https://github.com/Lovzu/ComfyUI-KittenTTS" + ], + "install_type": "git-clone", + "description": "Ultra-lightweight text-to-speech model with just 15 million parameters" + }, + { + "author": "Pirog17000", + "title": "Pirog's Nodes for ComfyUI", + "reference": "https://github.com/Pirog17000/Pirogs-Nodes", + "files": [ + "https://github.com/Pirog17000/Pirogs-Nodes" + ], + "install_type": "git-clone", + "description": "Pirog's Nodes - ComfyUI custom node pack providing enhanced sampling functionality" + }, + { + "author": "vsaan212", + "title": "Vsaan212-workflow-utilities", + "reference": "https://github.com/vsaan212/Vsaan212-workflow-utilities", + "files": [ + "https://github.com/vsaan212/Vsaan212-workflow-utilities" + ], + "install_type": "git-clone", + "description": "Subject & Scenario Selectors (with subfolders), Text Split, and Optional Switch LoRA utilities for ComfyUI." + }, + { + "author": "eric183", + "title": "ComfyUI-Only", + "id": "comfyui-only", + "reference": "https://github.com/eric183/ComfyUI-Only", + "files": [ + "https://github.com/eric183/ComfyUI-Only" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI, originally focused on workflow parsing, now expanded to provide advanced file loading features like 'Load Latent (Advanced)' for drag-and-drop latent file uploads and 'WorkflowImageFileLoader' for parsing prompts from image metadata. It also adds a js extension for a better UI experience." + }, + { + "author": "squirrel765", + "title": "ComfyUI-LLM-VLM-Node", + "reference": "https://github.com/squirrel765/ComfyUI-LLM-VLM-Node", + "files": [ + "https://github.com/squirrel765/ComfyUI-LLM-VLM-Node" + ], + "install_type": "git-clone", + "description": "A unified ComfyUI node for both LLM (text-only) and VLM (image-to-text) generation using GGUF models.." + }, + { + "author": "squirrel765", + "title": "comfyui-ea-nodes", + "reference": "https://github.com/ExoticArts/comfyui-ea-nodes", + "files": [ + "https://github.com/ExoticArts/comfyui-ea-nodes" + ], + "install_type": "git-clone", + "description": "ExoticArts custom nodes for ComfyUI (EA Power LoRA, etc.)" + }, + { + "author": "HSDHCdev", + "title": "AI Pixel Art Enhancer for ComfyUI", + "reference": "https://github.com/HSDHCdev/ComfyUI-AI-Pixel-Art-Enhancer", + "files": [ + "https://github.com/HSDHCdev/ComfyUI-AI-Pixel-Art-Enhancer" + ], + "install_type": "git-clone", + "description": "Pixel art Enhancement Node for ComfyUI" + }, + { + "author": "Rzgar Espo", + "title": "ComfyUI Qwen Image Size Picker", + "id": "QwenImg-latent", + "reference": "https://github.com/rzgarespo/ComfyUI-qwen-image-size-picker", + "files": [ + "https://github.com/rzgarespo/ComfyUI-qwen-image-size-picker" + ], + "install_type": "git-clone", + "description": "An empty latent size picker with support for Qwen Image, SDXL, and Flux models." + }, + { + "author": "rzgarespo", + "title": "ComfyUI-diffusiondb", + "reference": "https://github.com/rzgarespo/ComfyUI-diffusiondb", + "files": [ + "https://github.com/rzgarespo/ComfyUI-diffusiondb" + ], + "install_type": "git-clone", + "description": "This code gives you the quick access to 14 million text-to-image prompts from the DiffusionDB dataset." + }, + { + "author": "luke-mino-altherr", + "title": "ComfyUI-Latent-Reverb", + "reference": "https://github.com/luke-mino-altherr/ComfyUI-LatentReverb", + "files": [ + "https://github.com/luke-mino-altherr/ComfyUI-LatentReverb" + ], + "install_type": "git-clone", + "description": "Creates spatial echo and ambient effects by applying reverb-like processing directly in latent space" + }, + { + "author": "Baverne", + "title": "comfyUI-TiledWan", + "reference": "https://github.com/Baverne/comfyUI-TiledWan", + "files": [ + "https://github.com/Baverne/comfyUI-TiledWan" + ], + "install_type": "git-clone", + "description": "Node set and workflow to run wan2.1 vace with tiled while keeping temporal and spatial consistency" + }, + { + "author": "teamalpha-ai", + "title": "ComfyUI-ImageTransformer", + "reference": "https://github.com/teamalpha-ai/comfyui-image-transformer", + "files": [ + "https://github.com/teamalpha-ai/comfyui-image-transformer" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for Image Transformer" + }, + { + "author": "karas17", + "title": "ComfyUI Camera Watermark", + "reference": "https://github.com/karas17/ComfyUI-Camera-Watermark", + "files": [ + "https://github.com/karas17/ComfyUI-Camera-Watermark" + ], + "install_type": "git-clone", + "description": "A versatile and highly customizable node for ComfyUI to add camera-style watermarks and frames to your images. Whether you want to emulate the classic Leica look, add EXIF data, or create professional-looking framed images, this plugin has you covered." + }, + { + "author": "karas17", + "title": "comfyui_GLM_TTS", + "reference": "https://github.com/karas17/comfyui_GLM_TTS", + "files": [ + "https://github.com/karas17/comfyui_GLM_TTS" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for GLM-TTS, a high-quality text-to-speech system supporting zero-shot voice cloning." + }, + { + "author": "shinyakidoguchi301", + "title": "shinyakidoguchi301/LoRA Tag Loader for ComfyUI", + "reference": "https://github.com/shinyakidoguchi301/comfyui-lora-tag-loader", + "files": [ + "https://github.com/shinyakidoguchi301/comfyui-lora-tag-loader" + ], + "install_type": "git-clone", + "description": "This custom node allows you to select a LoRA file from the models/loras directory (including subfolders), automatically load training tags from metadata or Eagle MEMO, set strength, and optionally display a preview image." + }, + { + "author": "njlent", + "title": "ComfyUI Wavelet Color Fix", + "reference": "https://github.com/njlent/ComfyUI_wavelet-colorfix", + "files": [ + "https://github.com/njlent/ComfyUI_wavelet-colorfix" + ], + "install_type": "git-clone", + "description": "This is a standalone node pack that provides powerful color correction methods for ComfyUI, extracted from the ComfyUI-DLoRAL project. It allows you to transfer the color profile from a source image or video to a target image or video.\nThis is ideal for restoring the original color to AI-processed videos (like upscaling or frame interpolation) or for creative color grading." + }, + { + "author": "njlent", + "title": "ComfyUI Execution Time Reporter", + "reference": "https://github.com/njlent/ComfyUI_performance-report", + "files": [ + "https://github.com/njlent/ComfyUI_performance-report" + ], + "install_type": "git-clone", + "description": "A comprehensive performance monitoring and analysis tool for ComfyUI workflows that tracks execution time, memory usage, and system resource utilization." + }, + { + "author": "flybirdxx", + "title": "ComfyUI-SDMatte", + "reference": "https://github.com/flybirdxx/ComfyUI-SDMatte", + "files": [ + "https://github.com/flybirdxx/ComfyUI-SDMatte" + ], + "install_type": "git-clone", + "description": "SDMatte is an interactive image matting method based on stable diffusion, which supports three types of visual prompts (points, boxes, and masks) for accurately extracting target objects from natural images." + }, + { + "author": "flybirdxx", + "title": "ComfyUI-Rex-Omni", + "reference": "https://github.com/flybirdxx/ComfyUI-RexOmni", + "files": [ + "https://github.com/flybirdxx/ComfyUI-RexOmni" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for integrating Rex-Omni multimodal AI models. This node provides seamless integration of Rex-Omni's advanced computer vision and natural language processing capabilities into your ComfyUI workflows." + }, + { + "author": "flybirdxx", + "title": "ComfyUI-SoulX-Podcast", + "reference": "https://github.com/flybirdxx/ComfyUI-SoulX-Podcast", + "files": [ + "https://github.com/flybirdxx/ComfyUI-SoulX-Podcast" + ], + "install_type": "git-clone", + "description": "ComfyUI-SoulX-Podcast is a custom node plugin for ComfyUI that packages the core functionality of SoulX-Podcast (long-form, multi-speaker, multi-dialect podcast voice generation) into a visual node workflow." + }, + { + "author": "DenRakEiw", + "title": "ComfyUI Latent Color Tools", + "reference": "https://github.com/DenRakEiw/Latent_Nodes", + "files": [ + "https://github.com/DenRakEiw/Latent_Nodes" + ], + "install_type": "git-clone", + "description": "Advanced color manipulation and image adjustments directly in ComfyUI's latent space" + }, + { + "author": "DenRakEiw", + "title": "Universal NN Latent Upscaler for ComfyUI", + "reference": "https://github.com/DenRakEiw/WAN_NN_Latent_Upscale", + "files": [ + "https://github.com/DenRakEiw/WAN_NN_Latent_Upscale" + ], + "install_type": "git-clone", + "description": "A universal neural network latent upscaler that supports SD1.5, SDXL, Flux, and Wan2.2 models. Uses trained neural networks instead of simple interpolation for higher quality latent upscaling.\nBuilt upon the excellent foundation of [a/Ttl's ComfyUi_NNLatentUpscale](https://github.com/Ttl/ComfyUi_NNLatentUpscale) - this project extends the original work with universal model support and improved architectures." + }, + { + "author": "DenRakEiw", + "title": "ComfyUI-nearest-qwen-resolution", + "reference": "https://github.com/DenRakEiw/ComfyUI-nearest-qwen-resolution", + "files": [ + "https://github.com/DenRakEiw/ComfyUI-nearest-qwen-resolution" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that converts input image dimensions to the nearest recommended Qwen-Image resolution preset, matching orientation and aspect ratio while optimizing for the target model." + }, + { + "author": "RainyN0077", + "title": "ComfyUI-PromptSE", + "id": "comfyui-promptse", + "reference": "https://github.com/RainyN0077/ComfyUI-PromptSE", + "files": [ + "https://github.com/RainyN0077/ComfyUI-PromptSE" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for managing and combining multiple prompt entries. Supports weight adjustment, lexicon assistance, drag-and-drop sorting, and global settings to greatly enhance prompt engineering efficiency and flexibility." + }, + { + "author": "kusurin", + "title": "ComfyUI-chronophotography", + "reference": "https://github.com/kusurin/ComfyUI-chronophotography", + "files": [ + "https://github.com/kusurin/ComfyUI-chronophotography" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for creating chronophotography effects from video frames" + }, + { + "author": "feffy380", + "title": "Chroma Cache", + "reference": "https://github.com/feffy380/comfyui-chroma-cache", + "files": [ + "https://github.com/feffy380/comfyui-chroma-cache" + ], + "install_type": "git-clone", + "description": "Caching optimization for Chroma" + }, + { + "author": "FearL0rd", + "title": "ComfyUI MaskAIFingerprint", + "reference": "https://github.com/FearL0rd/ComfyUI-MaskAIFingerprint", + "files": [ + "https://github.com/FearL0rd/ComfyUI-MaskAIFingerprint" + ], + "install_type": "git-clone", + "description": "Attempt to create a ComfyUI node for masking AI-generated fingerprints." + }, + { + "author": "FearL0rd", + "title": "ComfyUI Any-Device Offload", + "id": "ComfyUI-AnyDeviceOffload", + "reference": "https://github.com/FearL0rd/ComfyUI-AnyDeviceOffload", + "files": [ + "https://github.com/FearL0rd/ComfyUI-AnyDeviceOffload" + ], + "install_type": "git-clone", + "description": "This custom node gives you total control over where your models run and where they live in memory. It solves common Out of Memory (OOM) errors, enables multi-GPU workflows, and fixes persistent crashes when trying to run modern workflows (like Flux/SD3) on CPUs or secondary GPUs." + }, + { + "author": "FearL0rd", + "title": "ComfyUI-ParallelAnything", + "reference": "https://github.com/FearL0rd/ComfyUI-ParallelAnything", + "files": [ + "https://github.com/FearL0rd/ComfyUI-ParallelAnything" + ], + "install_type": "git-clone", + "description": "This suite of nodes unlocks high-performance parallel processing in ComfyUI by utilizing **Model Replication**. Unlike standard offloading which moves a single model instance between devices, these nodes create independent replicas of the model on each selected GPU/CPU, allowing for true simultaneous batch processing." + }, + { + "author": "FearL0rd", + "title": "ComfyUI-ComfyUI-Flash-Attention_v100", + "reference": "https://github.com/FearL0rd/ComfyUI-ComfyUI-Flash-Attention_v100", + "files": [ + "https://github.com/FearL0rd/ComfyUI-ComfyUI-Flash-Attention_v100" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node enabling **Flash Attention 1** on legacy NVIDIA GPUs (Tesla V100, T4) that lack Compute Capability 8.0+ required by FlashAttention-2." + }, + { + "author": "Alectriciti", + "title": "comfyui-adaptiveprompts", + "reference": "https://github.com/Alectriciti/comfyui-adaptiveprompts", + "files": [ + "https://github.com/Alectriciti/comfyui-adaptiveprompts" + ], + "install_type": "git-clone", + "description": "Adaptive Prompts is a modern reimagining of dynamic prompts for ComfyUI. It lets you randomize, restructure, and clean up prompts with powerful wildcard and string tools. For the sake of consistency, I will still refer to them as Dynamic Prompts." + }, + { + "author": "VraethrDalkr", + "title": "ComfyUI-TripleKSampler", + "reference": "https://github.com/VraethrDalkr/ComfyUI-TripleKSampler", + "files": [ + "https://github.com/VraethrDalkr/ComfyUI-TripleKSampler" + ], + "install_type": "git-clone", + "description": "Triple-stage KSampler for Wan2.2 split models with Lightning LoRA" + }, + { + "author": "NHLStenden", + "title": "ComfyUI-ImageBag", + "reference": "https://github.com/NHLStenden/ComfyUI-ImageBag", + "files": [ + "https://github.com/NHLStenden/ComfyUI-ImageBag" + ], + "install_type": "git-clone", + "description": "A custom node package for ComfyUI featuring advanced image processing tools." + }, + { + "author": "jupo-ai", + "title": "comfy-preview-model", + "id": "comfy-preview-model", + "reference": "https://github.com/jupo-ai/comfy-preview-model", + "files": [ + "https://github.com/jupo-ai/comfy-preview-model" + ], + "install_type": "git-clone", + "description": "Preview media file in model's dir." + }, + { + "author": "jupo-ai", + "title": "comfy-join-prompt", + "id": "comfy-join-prompt", + "reference": "https://github.com/jupo-ai/comfy-join-prompt", + "files": [ + "https://github.com/jupo-ai/comfy-join-prompt" + ], + "install_type": "git-clone", + "description": "Join Multiline text." + }, + { + "author": "apeirography", + "title": "DaimalyadNodes", + "reference": "https://github.com/apeirography/DaimalyadNodes", + "files": [ + "https://github.com/apeirography/DaimalyadNodes" + ], + "install_type": "git-clone", + "description": "Model Downloader + API-Friendly Wildcard Processor for ComfyUI" + }, + { + "author": "mamorett", + "title": "MiniCPM‑V‑4 (GGUF) for ComfyUI", + "reference": "https://github.com/mamorett/ComfyUI_minicpmv4", + "files": [ + "https://github.com/mamorett/ComfyUI_minicpmv4" + ], + "install_type": "git-clone", + "description": "Modular ComfyUI nodes to run the vision-language model MiniCPM‑V‑4 in GGUF format, powered by llama‑cpp‑python." + }, + { + "author": "mamorett", + "title": "ComfyUI-Flux2proReplicate", + "reference": "https://github.com/mamorett/ComfyUI-Flux2proReplicate", + "files": [ + "https://github.com/mamorett/ComfyUI-Flux2proReplicate" + ], + "install_type": "git-clone", + "description": "Set of custom nodes for ComfyUI that generates images using the Flux 2 Pro model via Replicate API with flexible aspect ratios and secure API key management. (Description by CC)" + }, + { + "author": "Verolelb", + "title": "ComfyUI-Qwen-Aspect-Ratio", + "reference": "https://github.com/Verolelb/ComfyUI-Qwen-Aspect-Ratio", + "files": [ + "https://github.com/Verolelb/ComfyUI-Qwen-Aspect-Ratio" + ], + "install_type": "git-clone", + "description": "A node to provide recommended aspect ratios for the Qwen model series." + }, + { + "author": "Verolelb", + "title": "ComfyUI-Video-Workbench", + "reference": "https://github.com/Verolelb/ComfyUI-Video-Workbench", + "files": [ + "https://github.com/Verolelb/ComfyUI-Video-Workbench" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that acts as a mini video editing studio, automatically assembling multiple video clips from a folder with intelligent resolution resizing, aspect ratio handling, and frame rate management." + }, + { + "author": "jupo-ai", + "title": "comfy-linear-move", + "id": "comfy-linear-move", + "reference": "https://github.com/jupo-ai/comfy-linear-move", + "files": [ + "https://github.com/jupo-ai/comfy-linear-move" + ], + "install_type": "git-clone", + "description": "Move nodes linearly." + }, + { + "author": "Marco Zanella", + "title": "ComfyUI-BooleanExpression", + "id": "ComfyUI-BooleanExpression", + "reference": "https://github.com/marco-zanella/ComfyUI-BooleanExpression", + "files": [ + "https://github.com/marco-zanella/ComfyUI-BooleanExpression" + ], + "install_type": "git-clone", + "tags": ["boolean", "logic", "comparison"], + "description": "A collection of logic and comparison nodes for ComfyUI. This package adds building blocks for boolean logic, arithmetic comparisons, and string comparisons, making it easier to design conditional workflows directly in ComfyUI." + }, + { + "author": "WeChatCV", + "title": "Stand-In Official Preprocessor ComfyUI Nodes", + "reference": "https://github.com/WeChatCV/Stand-In_Preprocessor_ComfyUI", + "files": [ + "https://github.com/WeChatCV/Stand-In_Preprocessor_ComfyUI" + ], + "install_type": "git-clone", + "description": "This repository provides a temporary ComfyUI node implementation of the Stand-In preprocessor, aiming to correct the misunderstanding of Stand-In’s preprocessing logic in [a/ComfyUI-WanVideoWrapper](https://github.com/kijai/ComfyUI-WanVideoWrapper).\n[w/We strongly recommend using the workflows provided in this repo to ensure proper compatibility and the best identity-preserving performance.]" + }, + { + "author": "SilverAndJade", + "title": "ComfyUI Silver Nodes", + "reference": "https://github.com/SilverAndJade/comfyui-silver-nodes", + "files": [ + "https://github.com/SilverAndJade/comfyui-silver-nodes" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI that enhance workflow capabilities with advanced loaders and processing tools." + }, + { + "author": "vsLinx", + "title": "ComfyUI vsLinx Nodes", + "id": "comfyui-vslinx-nodes", + "reference": "https://github.com/vslinx/ComfyUI-vslinx-nodes", + "files": [ + "https://github.com/vslinx/ComfyUI-vslinx-nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes that let you quickly load multiple images via a multi-select dialog with preview. The images are instantly uploaded to the input folder and can be output either as a list or a batch. " + }, + { + "author": "HoangYell", + "title": "comfyui-hoangyell-video-edit", + "reference": "https://github.com/HoangYell/comfyui-hoangyell-video", + "files": [ + "https://github.com/HoangYell/comfyui-hoangyell-video" + ], + "install_type": "git-clone", + "description": "A collection of custom ComfyUI nodes for advanced video processing and editing workflows." + }, + { + "author": "krigeta", + "title": "qwen-image-controlnets-comfyui", + "reference": "https://github.com/krigeta/qwen-image-controlnets-comfyui", + "files": [ + "https://github.com/krigeta/qwen-image-controlnets-comfyui" + ], + "install_type": "git-clone", + "description": "creating a custom node to test how to use Blocknet controlnets in comfyUI using logic from Diffsynth Studio." + }, + { + "author": "L33chKing", + "title": "Tag Frequency Weighter for ComfyUI", + "reference": "https://github.com/L33chKing/comfyui-tag-frequency-weighter", + "files": [ + "https://github.com/L33chKing/comfyui-tag-frequency-weighter" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that weights tags based on their frequency/rarity in danbooru" + }, + { + "author": "routhakash", + "title": "AkkiNodes LLM Suite: Your Personal AI Film Studio", + "reference": "https://github.com/routhakash/AkkiNodes-LLM-Suite-for-ComfyUI", + "files": [ + "https://github.com/routhakash/AkkiNodes-LLM-Suite-for-ComfyUI" + ], + "install_type": "git-clone", + "description": "A suite of advanced ComfyUI custom nodes for a complete 'Script-to-Screen' workflow, powered by local LLMs." + }, + { + "author": "moonwhaler", + "title": "SeedVR2 Tiling Upscaler", + "id": "seedvr2-tiling-upscaler", + "reference": "https://github.com/moonwhaler/comfyui-seedvr2-tilingupscaler", + "files": [ + "https://github.com/moonwhaler/comfyui-seedvr2-tilingupscaler" + ], + "install_type": "git-clone", + "description": "Memory-efficient image upscaling using SeedVR2 models with advanced tiling and detail-preserving stitching. Supports both stable and nightly SeedVR2 builds (3B/7B, FP16/FP8, GGUF models). Requires ComfyUI-SeedVR2_VideoUpscaler to be installed." + }, + { + "author": "moonwhaler", + "title": "comfyui-moonpack", + "reference": "https://github.com/moonwhaler/comfyui-moonpack", + "files": [ + "https://github.com/moonwhaler/comfyui-moonpack" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI that enhance workflow efficiency and flexibility." + }, + { + "author": "saquib764", + "title": "Omini Kontext", + "id": "omini_kontext_editor", + "reference": "https://github.com/Saquib764/omini-kontext", + "files": [ + "https://github.com/Saquib764/omini-kontext" + ], + "install_type": "git-clone", + "description": "Nodes to use Omini Kontext framework for multi-image reference using Flux Kontext model. It has node to for Nunchaku compatibility. The is an editor node to place the character/product on the image for spatial control." + }, + { + "author": "obisin", + "title": "ComfyUI - DGLS (Dynamic GPU Layer Swapping)", + "reference": "https://github.com/obisin/ComfyUI-DGLS", + "files": [ + "https://github.com/obisin/ComfyUI-DGLS" + ], + "install_type": "git-clone", + "description": "Smart dynamic layer swapping between GPU and CPU for optimal inference performance with comprehensive mixed precision handling and copy-compute overlap optimization. Enables running much larger models on limited VRAM setups." + }, + { + "author": "Dehypnotic", + "title": "NumberedText", + "reference": "https://github.com/Dehypnotic/comfyui-numbered-text", + "files": [ + "https://github.com/Dehypnotic/comfyui-numbered-text" + ], + "install_type": "git-clone", + "description": "Lightweight node to number text divisions (one per newline) and select single/multiple divisions by index with an optional separator" + }, + { + "author": "rickrender", + "title": "Vectorizer API", + "reference": "https://github.com/rickrender/ComfyUI-Vectorizer-API", + "files": [ + "https://github.com/rickrender/ComfyUI-Vectorizer-API" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI nodes for interfacing with the Vectorizer.ai API. Manipulate the results with options for scaling the SVG result back to raster image with increased resolution. Includes a background remover node to remove a prevalent background color from raster images. Enter credentials in config.json or directly within the node." + }, + { + "author": "TinyBeeman", + "title": "ComfyUI-TinyBee", + "reference": "https://github.com/TinyBeeman/ComfyUI-TinyBee", + "files": [ + "https://github.com/TinyBeeman/ComfyUI-TinyBee" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI, designed to provide utility functions for list processing, file management, and more." + }, + { + "author": "Hangover3832", + "title": "ComfyUI_Hangover-Utils", + "reference": "https://github.com/Hangover3832/ComfyUI_Hangover-Utils", + "files": [ + "https://github.com/Hangover3832/ComfyUI_Hangover-Utils" + ], + "install_type": "git-clone", + "description": "This repository fully replaces and extends the previous Hangover Nodes" + }, + { + "author": "Onionman61", + "title": "ComfyUI ModelScope Kontext API Node", + "reference": "https://github.com/Onionman61/ComfyUI-ModelScope-Kontext", + "files": [ + "https://github.com/Onionman61/ComfyUI-ModelScope-Kontext" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that allows users to perform Image-to-Image generation by calling the FLUX.1-Kontext-Dev model via the official ModelScope API." + }, + { + "author": "svntax", + "title": "ComfyUI-RetroDiffusion-API-Node", + "reference": "https://github.com/svntax/ComfyUI-RetroDiffusion-API-Node", + "files": [ + "https://github.com/svntax/ComfyUI-RetroDiffusion-API-Node" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for the [a/Retro Diffusion API](https://retrodiffusion.ai/)" + }, + { + "author": "chyer", + "title": "Chye ComfyUI Toolset", + "reference": "https://github.com/chyer/Chye-ComfyUI-Toolset", + "files": [ + "https://github.com/chyer/Chye-ComfyUI-Toolset" + ], + "install_type": "git-clone", + "description": "A comprehensive toolset of ComfyUI custom nodes for latent generation, image processing, and workflow utilities" + }, + { + "author": "bhvbhushan", + "title": "ComfyUI LoRA Block Weight Loader", + "reference": "https://github.com/bhvbhushan/ComfyUI-LoRABlockWeight", + "files": [ + "https://github.com/bhvbhushan/ComfyUI-LoRABlockWeight" + ], + "install_type": "git-clone", + "description": "Advanced LoRA loader with per-block weight control for fine-grained influence over different model layers in ComfyUI" + }, + { + "author": "BEIBEI-star661", + "title": "SJ_sweepEffect_Comfyui", + "reference": "https://github.com/BEIBEI-star661/SJ_sweepEffect_Comfyui", + "files": [ + "https://github.com/BEIBEI-star661/SJ_sweepEffect_Comfyui" + ], + "install_type": "git-clone", + "description": "A high-quality sweep light effect node designed specifically for ComfyUI, supporting multiple parameter adjustments and anti-aliasing." + }, + { + "author": "ReinerBforartists", + "title": "Auto Prompt Schedule", + "reference": "https://github.com/ReinerBforartists/comfyui_auto_prompt_schedule", + "files": [ + "https://github.com/ReinerBforartists/comfyui_auto_prompt_schedule" + ], + "install_type": "git-clone", + "description": "Auto Prompt Schedule is a ComfyUI helper node for the Prompt Schedule Node or the Batch Prompt Schedule node from Fizzledorf. You need this Prompt Schedule nodes to make use of the Auto Prompt Schedule Node." + }, + { + "author": "ReinerBforartists", + "title": "ComfyUI_Text_Line_Combine", + "reference": "https://github.com/ReinerBforartists/comfyui_text_line_combine", + "files": [ + "https://github.com/ReinerBforartists/comfyui_text_line_combine" + ], + "install_type": "git-clone", + "description": "Combines texts line by line to a single text" + }, + { + "author": "dimtoneff", + "title": "ComfyUI-VL-Nodes", + "reference": "https://github.com/dimtoneff/ComfyUI-VL-Nodes", + "files": [ + "https://github.com/dimtoneff/ComfyUI-VL-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that integrates various Vision-Language (VL) models, including Xiaomi MiMo-VL, LiquidAI LFM2-VL, Kwai Keye-VL, AIDC-AI Ovis2.5 and Ovis-U1. Tested with models: AIDC-AI/Ovis2.5-2B, AIDC-AI/Ovis2.5-9B, Kwai-Keye/Keye-VL-8B-Preview, MiMo-VL-7B-RL-GGUF, LiquidAI/LFM2-VL-450M, LiquidAI/LFM2-VL-1.6B, AIDC-AI/Ovis-U1-3B." + }, + { + "author": "mangobyed", + "title": "ComfyUI YOLOv8 Object Detection Node", + "reference": "https://github.com/mangobyed/ComfyUI_Detection_List", + "files": [ + "https://github.com/mangobyed/ComfyUI_Detection_List" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node that performs object detection using YOLOv8 and outputs individual images for each detected object. Perfect for automatic mask generation, object isolation, and batch processing workflows." + }, + { + "author": "Daxamur", + "title": "DaxNodes", + "reference": "https://civitai.com/user/Daxamur", + "files": [ + "https://github.com/Daxamur/DaxNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI video processing nodes with workflow metadata support", + "pip": ["mediapipe>=0.10.0", "opencv-python>=4.8.0", "scipy>=1.10.0", "color-matcher>=0.3.0"] + }, + { + "author": "Dehypnotic", + "title": "RangeToString", + "reference": "https://github.com/Dehypnotic/comfyui-range-to-string", + "files": [ + "https://github.com/Dehypnotic/comfyui-range-to-string" + ], + "install_type": "git-clone", + "description": "Lightweight node that generates a string of numbers between a start and end value. Supports positive and negative steps, configurable separators, and inclusive/exclusive end values." + }, + { + "author": "KY-2000", + "title": "comfyui-ksampler-tester-loop", + "reference": "https://github.com/KY-2000/comfyui-ksampler-tester-loop", + "files": [ + "https://github.com/KY-2000/comfyui-ksampler-tester-loop" + ], + "install_type": "git-clone", + "description": "Batch samplers, schedulers, cfg, shift and steps tester custom node, automatic looping functionality for Ksampler node" + }, + { + "author": "KY-2000", + "title": "RES4LYF-tester-loop", + "reference": "https://github.com/KY-2000/RES4LYF-tester-loop", + "files": [ + "https://github.com/KY-2000/RES4LYF-tester-loop" + ], + "install_type": "git-clone", + "description": "Batch samplers, schedulers, cfg, shift and steps tester custom node, automatic looping functionality for RES4LYF custom nodes" + }, + { + "author": "KY-2000", + "title": "ComfyUI_PuLID_Flux_ll_FaceNet", + "reference": "https://github.com/KY-2000/ComfyUI_PuLID_Flux_ll_FaceNet", + "files": [ + "https://github.com/KY-2000/ComfyUI_PuLID_Flux_ll_FaceNet" + ], + "install_type": "git-clone", + "description": "Same Function as original ComfyUI_PuLID_Flux_ll repository, with FaceNet Implementation that is safe for commercial usage." + }, + { + "author": "KY-2000", + "title": "comfyui-save-image-enhanced", + "reference": "https://github.com/KY-2000/comfyui-save-image-enhanced", + "files": [ + "https://github.com/KY-2000/comfyui-save-image-enhanced" + ], + "install_type": "git-clone", + "description": "enable to save the image without the default filename suffix, with the feature of saving caption txt file to save prompts or descriptions of the image." + }, + { + "author": "Firetheft", + "title": "ComfyUI Civitai Gallery", + "reference": "https://github.com/Firetheft/ComfyUI_Civitai_Gallery", + "files": [ + "https://github.com/Firetheft/ComfyUI_Civitai_Gallery" + ], + "install_type": "git-clone", + "description": "ComfyUI Civitai Gallery is a powerful custom node for ComfyUI that integrates a seamless image browser for the Civitai website directly into your workflow. This node allows you to browse, search, and select images from Civitai and instantly import their prompts, negative prompts, and full-resolution images into your workflow. It is designed to significantly speed up your creative process by eliminating the need to switch between your browser and ComfyUI." + }, + { + "author": "Firetheft", + "title": "ComfyUI_Pixabay_Gallery", + "reference": "https://github.com/Firetheft/ComfyUI_Pixabay_Gallery", + "files": [ + "https://github.com/Firetheft/ComfyUI_Pixabay_Gallery" + ], + "install_type": "git-clone", + "description": "A powerful node for browsing and importing media from Pixabay directly within ComfyUI." + }, + { + "author": "Firetheft", + "title": "ComfyUI_Simple_Web_Browser", + "reference": "https://github.com/Firetheft/ComfyUI_Simple_Web_Browser", + "files": [ + "https://github.com/Firetheft/ComfyUI_Simple_Web_Browser" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that embeds a simple web browser directly into the interface. It allows you to browse websites, find inspiration, and load images directly, which can help streamline your workflow." + }, + { + "author": "RegulusAlpha", + "title": "ComfyUI Dynamic Prompting Simplified", + "reference": "https://github.com/RegulusAlpha/ComfyUI-DynPromptSimplified", + "files": [ + "https://github.com/RegulusAlpha/ComfyUI-DynPromptSimplified" + ], + "install_type": "git-clone", + "description": "A minimal dynamic prompting + mirrored wildcards node for ComfyUI." + }, + { + "author": "Jelosus2", + "title": "ComfyUI VAE Reflection", + "reference": "https://github.com/Jelosus2/comfyui-vae-reflection", + "files": [ + "https://github.com/Jelosus2/comfyui-vae-reflection" + ], + "install_type": "git-clone", + "description": "A simple custom node to use reflect padding mode in the conv layers of VAEs." + }, + { + "author": "alexds9", + "title": "Save Checkpoint with Metadata", + "reference": "https://github.com/a-l-e-x-d-s-9/ComfyUI-SaveCheckpointWithMetadata", + "files": [ + "https://github.com/a-l-e-x-d-s-9/ComfyUI-SaveCheckpointWithMetadata" + ], + "install_type": "git-clone", + "description": "Save checkpoint .safetensors with custom header JSON, optional prompt override, merge of EXTRA_PNGINFO, and smart/no-counter filename modes. Includes text outputs for path and final metadata." + }, + { + "author": "jialuw0830", + "title": "Eigen AI FLUX API Plugin", + "id": "eigen-ai-flux-api-plugin", + "reference": "https://github.com/jialuw0830/flux_api_comfyui_plugin", + "files": [ + "https://github.com/jialuw0830/flux_api_comfyui_plugin" + ], + "install_type": "git-clone", + "description": "Eigen AI FLUX API integration for ComfyUI with LoRA support and large font prompt inputs. Features high-quality image generation using FLUX.1-schnell model with multi-LoRA support, content upscaling, and optimized prompt input interface." + }, + { + "author": "LeanModels", + "title": "ComfyUI-DFloat11", + "reference": "https://github.com/LeanModels/ComfyUI-DFloat11", + "files": [ + "https://github.com/LeanModels/ComfyUI-DFloat11" + ], + "install_type": "git-clone", + "description": "This repository provides the ComfyUI plugin for DFloat11 models. DFloat11 reduces model size by more than 30% while producing bit-for-bit identical outputs to the original. Unlike quantization techniques which trade quality for size, DFloat11 is a lossless compression method, preserving model output quality fully while supporting efficient inference." + }, + { + "author": "birdneststream", + "title": "ComfyUI-Mircify", + "reference": "https://github.com/birdneststream/ComfyUI-Mircify", + "files": [ + "https://github.com/birdneststream/ComfyUI-Mircify" + ], + "install_type": "git-clone", + "description": "ComfyUI node for converting images to IRC art blocks" + }, + { + "author": "RUiNtheExtinct", + "title": "comfyui-save-file-extended", + "reference": "https://github.com/RUiNtheExtinct/comfyui-save-file-extended", + "reference2": "https://github.com/bytes2pro/comfyui-save-file-extended", + "files": [ + "https://github.com/RUiNtheExtinct/comfyui-save-file-extended" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that offers an extension to the existing Save and Preview Image/Video nodes allowing directly adding and previewing the files from your preferred cloud storage providers (S3/DropBox/Google Drive/...)" + }, + { + "author": "citronlegacy", + "title": "ComfyUI-CitronNodes", + "reference": "https://github.com/citronlegacy/ComfyUI-CitronNodes", + "files": [ + "https://github.com/citronlegacy/ComfyUI-CitronNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI node: Get DateTime (outputs date, time, datetime as strings" + }, + { + "author": "ZeroSpaceStudios", + "title": "ComfyUI-ZSNodes", + "reference": "https://github.com/ZeroSpaceStudios/ComfyUI-ZSNodes", + "files": [ + "https://github.com/ZeroSpaceStudios/ComfyUI-ZSNodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI with specialized image processing and saving functionality." + }, + { + "author": "thimpat", + "title": "ComfyUI Multimedia Utilities", + "reference": "https://github.com/thimpat/ThimPatUtils", + "files": [ + "https://github.com/thimpat/ThimPatUtils" + ], + "install_type": "git-clone", + "description": "A collection of essential utility nodes for handling image sequences, video, audio, and synchronized data within ComfyUI workflows." + }, + { + "author": "KrakenUnbound", + "title": "ComfyUI-KrakenTools", + "reference": "https://github.com/krakenunbound/ComfyUI-KrakenTools", + "files": [ + "https://github.com/krakenunbound/ComfyUI-KrakenTools" + ], + "install_type": "git-clone", + "description": "High-utility nodes for ComfyUI with a focus on Flux 1 Dev workflows and Ultimate SD Upscale enhancement loops." + }, + { + "author": "krakenunbound", + "title": "Kraken Discord Bot", + "id": "kraken-discord-bot", + "reference": "https://github.com/krakenunbound/kraken-discord-bot", + "files": [ + "https://github.com/krakenunbound/kraken-discord-bot" + ], + "install_type": "git-clone", + "description": "All-in-one Discord bot node for AI image generation. Simple setup - just add token, select model, and queue. Includes style presets, rate limiting, and queue management." + }, + { + "author": "joanna910225", + "title": "HouseKeeper", + "reference": "https://github.com/joanna910225/comfyui-housekeeper", + "files": [ + "https://github.com/joanna910225/comfyui-housekeeper" + ], + "install_type": "git-clone", + "description": "A tool that organizes workflow nodes into clean, user-friendly layouts" + }, + { + "author": "rslosch", + "title": "ComfyUI Batch BBox Detector", + "reference": "https://github.com/rslosch/comfyui-nodesweet", + "files": [ + "https://github.com/rslosch/comfyui-nodesweet" + ], + "install_type": "git-clone", + "description": "Process batches of images (e.g., video frames) with ultralytics bbox detection in ComfyUI. This custom node package extends the standard BboxDetectorCombined to handle batches efficiently, making it ideal for processing 300+ video frames." + }, + { + "author": "isaac-mcfadyen", + "title": "ComfyUI Popo Utility", + "reference": "https://github.com/popoimm/comfyui-popo-utility", + "files": [ + "https://github.com/popoimm/comfyui-popo-utility" + ], + "install_type": "git-clone", + "description": "High-Performance ComfyUI Custom Node Toolkit - Modular and Extensible Architecture\nA utility toolkit designed specifically for ComfyUI image processing, built with a modular architecture that supports fast extension and the addition of new nodes." + }, + { + "author": "orion4d", + "title": "SharpnessPro pour ComfyUI", + "reference": "https://github.com/orion4d/ComfyUI_SharpnessPro", + "files": [ + "https://github.com/orion4d/ComfyUI_SharpnessPro" + ], + "install_type": "git-clone", + "description": "A collection of high-quality nodes for ComfyUI, dedicated to improving the sharpness, clarity, and texture of your images" + }, + { + "author": "orion4d", + "title": "ComfyUI EncryptMaster", + "reference": "https://github.com/orion4d/Comfyui_EncryptMaster", + "files": [ + "https://github.com/orion4d/Comfyui_EncryptMaster" + ], + "install_type": "git-clone", + "description": "ComfyUI node pack for encrypting and hiding text or images.\nSecurity: AES-256-GCM (authenticated) with scrypt key derivation.\nSteganography: LSB (PNG/TIFF) and DCT/JPEG (more robust to recompression)." + }, + { + "author": "orion4d", + "title": "Gemini Nano Banana for ComfyUI", + "reference": "https://github.com/orion4d/Gemini_Banana_by_orion4d", + "files": [ + "https://github.com/orion4d/Gemini_Banana_by_orion4d" + ], + "install_type": "git-clone", + "description": "This project is a custom node for ComfyUI that integrates the power of the Google Gemini 2.5 Flash Image (ā€œNano Bananaā€) API. It provides a single versatile node, the Gemini Nano Banana, which allows you to perform image generation and editing operations directly within your workflows." + }, + { + "author": "Fabio Sarracino", + "title": "VibeVoice ComfyUI", + "id": "vibevoice-comfyui", + "reference": "https://github.com/Enemyx-net/VibeVoice-ComfyUI", + "files": [ + "https://github.com/Enemyx-net/VibeVoice-ComfyUI" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper for Microsoft VibeVoice TTS model. Supports single speaker, multi-speaker, and text file loading", + "pip": ["torch>=2.0.0", "torchaudio>=2.0.0", "numpy>=1.20.0", "transformers>=4.44.0", "librosa>=0.9.0", "soundfile>=0.12.0"] + }, + { + "author": "mikheys", + "title": "ComfyUI Nano Banana Node", + "reference": "https://github.com/mikheys/comfyui-gemini-mikheys", + "files": [ + "https://github.com/mikheys/comfyui-gemini-mikheys" + ], + "install_type": "git-clone", + "description": "This repository contains a custom node for ComfyUI, 'Nano banana', designed for advanced image editing using the Google Gemini API. " + }, + { + "author": "Gipphe", + "title": "ComfyUI Metadata Statistics", + "reference": "https://github.com/Gipphe/comfyui-metadata-statistics", + "files": [ + "https://github.com/Gipphe/comfyui-metadata-statistics" + ], + "install_type": "git-clone", + "description": "Gather statistics and information about your workflow." + }, + { + "author": "Saganaki22", + "title": "dotWaveform", + "reference": "https://github.com/Saganaki22/ComfyUI-dotWaveform", + "files": [ + "https://github.com/Saganaki22/ComfyUI-dotWaveform" + ], + "install_type": "git-clone", + "description": "ComfyUI node for generating animated dotted waveform visualizations with multiple animation styles including teardrop bars" + }, + { + "author": "Saganaki22", + "title": "Seedream4 Replicate", + "reference": "https://github.com/Saganaki22/ComfyUI-Seedream4_Replicate", + "files": [ + "https://github.com/Saganaki22/ComfyUI-Seedream4_Replicate" + ], + "install_type": "git-clone", + "description": "ComfyUI node for Seedream 4 image generation via Replicate API with support for text-to-image and image-to-image generation" + }, + { + "author": "Saganaki22", + "title": "Maya1 TTS", + "reference": "https://github.com/Saganaki22/ComfyUI-Maya1_TTS", + "files": [ + "https://github.com/Saganaki22/ComfyUI-Maya1_TTS" + ], + "install_type": "git-clone", + "description": "ComfyUI node for Maya1 TTS - Expressive voice generation with 20+ emotions, voice design, and SNAC neural codec" + }, + { + "author": "saganaki22", + "title": "Step Audio EditX TTS", + "reference": "https://github.com/Saganaki22/ComfyUI-Step_Audio_EditX_TTS", + "files": [ + "https://github.com/Saganaki22/ComfyUI-Step_Audio_EditX_TTS" + ], + "install_type": "git-clone", + "description": "Professional voice cloning and audio editing node for ComfyUI using Step Audio EditX" + }, + { + "author": "sfinktah", + "title": "comfy-ovum", + "reference": "https://github.com/sfinktah/comfy-ovum", + "files": [ + "https://github.com/sfinktah/comfy-ovum" + ], + "install_type": "git-clone", + "description": "An assorted reliquary of nodes: mismatched, stubborn, and deliberately indistinct; they do what is required; do not ask for particulars." + }, + { + "author": "sfinktah", + "title": "ovum-spotlight", + "reference": "https://github.com/sfinktah/ovum-spotlight", + "files": [ + "https://github.com/sfinktah/ovum-spotlight" + ], + "install_type": "git-clone", + "description": "Spotlight: An extensible, magical, and essential search bar for ComfyUI" + }, + { + "author": "fredhopp", + "title": "comfyui-flipflopnodes", + "reference": "https://github.com/fredhopp/comfyui-flipflopnodes", + "files": [ + "https://github.com/fredhopp/comfyui-flipflopnodes" + ], + "install_type": "git-clone", + "description": "This project contains custom Flip-Flop nodes for ComfyUI." + }, + { + "author": "lucasgattas", + "title": "ComfyUI Ā· Egregora: Divide & Enhance", + "reference": "https://github.com/lucasgattas/comfyui-egregora-divide-and-enhance", + "files": [ + "https://github.com/lucasgattas/comfyui-egregora-divide-and-enhance" + ], + "install_type": "git-clone", + "description": "Egregora: Divide & Enhance is a small suite of custom nodes that help you split, enhance, and recombine images, plus a clean SDXL prompt mixer that keeps things simple while staying robust with lotĀ“s of customization." + }, + { + "author": "lucasgattas", + "title": "ComfyUI Ā· Egregora Audio Super‑Resolution", + "reference": "https://github.com/lucasgattas/ComfyUI-Egregora-Audio-Super-Resolution", + "files": [ + "https://github.com/lucasgattas/ComfyUI-Egregora-Audio-Super-Resolution" + ], + "install_type": "git-clone", + "description": "High‑quality music audio enhancement for ComfyUI: FlashSR super‑resolution + Fat Llama spectral enhancement (GPU & CPU)." + }, + { + "author": "lucasgattas", + "title": "Egregora Frames Animation Nodes for ComfyUI", + "reference": "https://github.com/lucasgattas/ComfyUI-Egregora-Frames-Animation-Nodes", + "files": [ + "https://github.com/lucasgattas/ComfyUI-Egregora-Frames-Animation-Nodes" + ], + "install_type": "git-clone", + "description": "Advanced image list animation toolkit for ComfyUI with batch processing, AI-powered frame interpolation, and multi-format video encoding." + }, + { + "author": "sweetndata", + "title": "ComfyUI-Reflatent", + "reference": "https://github.com/sweetndata/ComfyUI-Reflatent", + "files": [ + "https://github.com/sweetndata/ComfyUI-Reflatent" + ], + "install_type": "git-clone", + "description": "NODES:Reflatent" + }, + { + "author": "aesethtics", + "title": "ComfyUI Utilitools Nodes", + "reference": "https://github.com/aesethtics/ComfyUI-Utilitools", + "files": [ + "https://github.com/aesethtics/ComfyUI-Utilitools" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI to improve workflow efficiency." + }, + { + "author": "aesethtics", + "title": "ComfyUI 3D Model Viewer", + "id": "comfyui-3d-model-viewer", + "reference": "https://github.com/aesethtics/comfyui-3d-model-viewer", + "files": [ + "https://github.com/aesethtics/comfyui-3d-model-viewer" + ], + "install_type": "git-clone", + "description": "A 3D model viewer node for ComfyUI that allows viewing and interacting with 3D models directly in the interface" + }, + { + "author": "gearmachine", + "title": "ComfyUI-ProportionChanger", + "reference": "https://github.com/grmchn/ComfyUI-ProportionChanger", + "files": [ + "https://github.com/grmchn/ComfyUI-ProportionChanger" + ], + "install_type": "git-clone", + "description": "Advanced DWPose-based body proportion changer for ComfyUI" + }, + { + "author": "huwenkai26", + "title": "ComfyUI Text Remove Node", + "reference": "https://github.com/huwenkai26/comfyui-remove-text", + "files": [ + "https://github.com/huwenkai26/comfyui-remove-text" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI custom node designed to automatically detect and remove text from images." + }, + { + "author": "BAIKEMARK", + "title": "Civitai Prompt Stats Node", + "reference": "https://github.com/BAIKEMARK/ComfyUI_Civitai_Prompt_Stats", + "files": [ + "https://github.com/BAIKEMARK/ComfyUI_Civitai_Prompt_Stats" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that quickly fetches the most commonly used positive and negative prompts for Civitai models (Checkpoint / Lora) from the community, helping you effortlessly enhance your own creations!" + }, + { + "author": "BAIKEMARK", + "title": "Civitai Recipe Finder", + "reference": "https://github.com/BAIKEMARK/ComfyUI-Civitai-Recipe", + "files": [ + "https://github.com/BAIKEMARK/ComfyUI-Civitai-Recipe" + ], + "install_type": "git-clone", + "description": "Instantly explore Civitai community hits for your local AI models and apply full recipes with one click — or dive deep to uncover the best prompts, parameters, and LoRA combos." + }, + { + "author": "Jarcis-cy", + "title": "HunyuanVideo-Foley Audio Generator", + "reference": "https://github.com/Jarcis-cy/ComfyUI-HunyuanVideoFoley", + "files": [ + "https://github.com/Jarcis-cy/ComfyUI-HunyuanVideoFoley" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for HunyuanVideo-Foley: Generate audio from video + text prompts" + }, + { + "author": "railep", + "title": "ComfyUI-HunyuanVideo-Foley", + "reference": "https://github.com/railep/ComfyUI-HunyuanVideo-Foley", + "files": [ + "https://github.com/railep/ComfyUI-HunyuanVideo-Foley" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for generating synchronized audio for videos using the HunyuanVideo-Foley model." + }, + { + "author": "Dehypnotic", + "title": "AspectRatioAdvanced", + "reference": "https://github.com/Dehypnotic/comfyui-aspect-ratio-advanced", + "files": [ + "https://github.com/Dehypnotic/comfyui-aspect-ratio-advanced" + ], + "install_type": "git-clone", + "description": "An advanced aspect ratio calculator and image scaler with flexible scaling modes and intelligent image handling." + }, + { + "author": "GsusGG", + "title": "ComfyUI-CozyGen", + "reference": "https://github.com/gsusgg/ComfyUI_CozyGen", + "files": [ + "https://github.com/gsusgg/ComfyUI_CozyGen" + ], + "install_type": "git-clone", + "description": "A set of custom nodes and aiohttp server for a simple ComfyUI browser and mobile device experience for any t2i image workflow." + }, + { + "author": "daehwa", + "title": "ComfyUI-NanoBananaAPI", + "reference": "https://github.com/daehwa00/ComfyUI-NanoBananaAPI", + "files": [ + "https://github.com/daehwa00/ComfyUI-NanoBananaAPI" + ], + "install_type": "git-clone", + "description": "Creates images using the NanoBanana API. To use it, you must enter your issued API key." + }, + { + "author": "annewj023", + "title": "Google Nano", + "reference": "https://github.com/annewj023/Comfyui_google_nano", + "files": [ + "https://github.com/annewj023/Comfyui_google_nano" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node based on OpenRouter that supports calling the Google Gemini model via the OpenAI API to generate new images from reference images and prompts." + }, + { + "author": "MushroomFleet", + "title": "Zenkai-POML for ComfyUI", + "reference": "https://github.com/MushroomFleet/ComfyUI-DJZ-POML", + "files": [ + "https://github.com/MushroomFleet/ComfyUI-DJZ-POML" + ], + "install_type": "git-clone", + "description": "Bring Microsoft's POML (Prompt Orchestration Markup Language) to your ComfyUI workflows! Create structured, reusable, and powerful prompts with visual node-based editing." + }, + { + "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": "MushroomFleet", + "title": "ComfyUI-FLUX2-JSON", + "reference": "https://github.com/MushroomFleet/ComfyUI-FLUX2-JSON", + "files": [ + "https://github.com/MushroomFleet/ComfyUI-FLUX2-JSON" + ], + "install_type": "git-clone", + "description": "A comprehensive suite of custom nodes for building structured JSON prompts for FLUX.2 image generation with precision and control." + }, + { + "author": "MushroomFleet", + "title": "ComfyUI-Variationator", + "reference": "https://github.com/MushroomFleet/ComfyUI-Variationator", + "files": [ + "https://github.com/MushroomFleet/ComfyUI-Variationator" + ], + "install_type": "git-clone", + "description": "Advanced multi-dimensional prompt variation system for ComfyUI with 240 pre-defined modifiers and 19 custom nodes. (Description by CC)" + }, + { + "author": "MushroomFleet", + "title": "ComfyUI-Zero2JSON", + "reference": "https://github.com/MushroomFleet/ComfyUI-Zero2JSON", + "files": [ + "https://github.com/MushroomFleet/ComfyUI-Zero2JSON" + ], + "install_type": "git-clone", + "description": "ZeroPrompt integration for FLUX2-JSON providing deterministic, profile-based procedural text generation for structured prompt building." + }, + { + "author": "MushroomFleet", + "title": "ComfyUI_PromptExtractor_nodes", + "reference": "https://github.com/MushroomFleet/ComfyUI_PromptExtractor_nodes", + "files": [ + "https://github.com/MushroomFleet/ComfyUI_PromptExtractor_nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI that extract text prompts from PNG image metadata" + }, + { + "author": "MushroomFleet", + "title": "ComfyUI-DJZ-Offsquare", + "reference": "https://github.com/MushroomFleet/ComfyUI-DJZ-Offsquare", + "files": [ + "https://github.com/MushroomFleet/ComfyUI-DJZ-Offsquare" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that creates optimized image collages from batches of 2-6 images" + }, + { + "author": "Urabewe", + "title": "ComfyUI Video Extend Counter", + "reference": "https://github.com/Urabewe/ComfyUI-CountS2VExtend", + "files": [ + "https://github.com/Urabewe/ComfyUI-CountS2VExtend" + ], + "install_type": "git-clone", + "description": "A simple utility node that counts active Video S2V Extend nodes in your workflow and returns that number plus one. Now you don't have to remember to update the batch number. Just set your extend nodes and go. It was easy to forget so I made this quick and dirty." + }, + { + "author": "Urabewe", + "title": "ComfyUI-AudioTools", + "reference": "https://github.com/Urabewe/ComfyUI-AudioTools", + "files": [ + "https://github.com/Urabewe/ComfyUI-AudioTools" + ], + "install_type": "git-clone", + "description": "Audio normalization and enhancement nodes for ComfyUI (LUFS normalization, audio processing utilities)." + }, + { + "author": "Juste-Leo2", + "title": "USO Nodes for ComfyUI", + "reference": "https://github.com/Juste-Leo2/USO_ComfyUI", + "files": [ + "https://github.com/Juste-Leo2/USO_ComfyUI" + ], + "install_type": "git-clone", + "description": "Custom nodes to integrate the USO image generation model (based on FLUX.1 by ByteDance) into ComfyUI.\nThis project is an implementation based on the official source code from the [a/ByteDance/USO](https://github.com/bytedance/USO) repository." + }, + { + "author": "mengqin", + "title": "Unet Bnb Model Loader", + "reference": "https://github.com/mengqin/ComfyUI-UnetBnbModelLoader", + "files": [ + "https://github.com/mengqin/ComfyUI-UnetBnbModelLoader" + ], + "install_type": "git-clone", + "description": "A general comfyui model loading plugin that supports loading unet models quantized in bnb-4bit (nf4 and fp4) format" + }, + { + "author": "mengqin", + "title": "Twinflow Node for ComfyUI", + "reference": "https://github.com/mengqin/ComfyUI-TwinFlow", + "files": [ + "https://github.com/mengqin/ComfyUI-TwinFlow" + ], + "install_type": "git-clone", + "description": "This is a set of sampling nodes specifically designed for fine-tuning Twinflow models." + }, + { + "author": "Artificial-Sweetener", + "title": "WhiteRabbit", + "reference": "https://github.com/Artificial-Sweetener/comfyui-WhiteRabbit", + "files": [ + "https://github.com/Artificial-Sweetener/comfyui-WhiteRabbit" + ], + "install_type": "git-clone", + "description": "A nodepack designed to help you work with video from within ComfyUI that specializes in handling image batches efficiency and creating video loops." + }, + { + "author": "hujuying", + "title": "ComfyUI ModelScope API Node", + "reference": "https://github.com/hujuying/ComfyUI-ModelScope-API", + "files": [ + "https://github.com/hujuying/ComfyUI-ModelScope-API" + ], + "install_type": "git-clone", + "description": "This is a universal custom node for ComfyUI that supports both Text-to-Image and Image-to-Image generation by calling various models via the official ModelScope API." + }, + { + "author": "chaserhkj", + "title": "Chaser's Custom Nodes", + "reference": "https://github.com/chaserhkj/ComfyUI-Chaser-nodes", + "files": [ + "https://github.com/chaserhkj/ComfyUI-Chaser-nodes" + ], + "install_type": "git-clone", + "description": "NODES: Upload image(s) to WebDAV, Upload video as WebM to WebDAV, Load image from WebDAV, Evaluate S-Expr with integer output, Evaluate S-Expr with float output" + }, + { + "author": "otavanopisto", + "title": "ComfyUI-aihub-workflow-exposer", + "reference": "https://github.com/otavanopisto/ComfyUI-aihub-workflow-exposer", + "files": [ + "https://github.com/otavanopisto/ComfyUI-aihub-workflow-exposer" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI in order to expose AI workflows to external applications (particularly image, video and audio editors) so workflows can be integrated as plugins" + }, + { + "author": "aistudynow", + "title": "Comfyui-HunyuanFoley", + "reference": "https://github.com/aistudynow/Comfyui-HunyuanFoley", + "files": [ + "https://github.com/aistudynow/Comfyui-HunyuanFoley" + ], + "install_type": "git-clone", + "description": "Generate Audio from any video and or text" + }, + { + "author": "aistudynow", + "title": "Comfyui-tetestyle-image-video", + "reference": "https://github.com/aistudynow/Comfyui-tetestyle-image-video", + "files": [ + "https://github.com/aistudynow/Comfyui-tetestyle-image-video" + ], + "install_type": "git-clone", + "description": "TeleStyle custom nodes for ComfyUI video style transfer and official Qwen image style transfer." + }, + { + "author": "noelkim12", + "title": "ComfyUI-ComfyUI-NoelTextUtil", + "reference": "https://github.com/noelkim12/ComfyUI-NoelTextUtil", + "files": [ + "https://github.com/noelkim12/ComfyUI-NoelTextUtil" + ], + "install_type": "git-clone", + "description": "Text utility nodes for file path and LoRA auto triggering" + }, + { + "author": "Juste-Leo2", + "title": "Canary-ComfyUI", + "reference": "https://github.com/Juste-Leo2/Canary-ComfyUI", + "files": [ + "https://github.com/Juste-Leo2/Canary-ComfyUI" + ], + "install_type": "git-clone", + "description": "This node pack integrates the core capabilities of the Canary-1b-v2 model, providing three main features: it can transcribe audio in any of 25 supported languages into text in the same language, translate audio from 24 source languages directly into English, and translate English audio directly into one of the 24 other supported languages." + }, + { + "author": "Frief84", + "title": "ComfyUI-LoRAWeightAxisXY", + "reference": "https://github.com/Frief84/ComfyUI-LoRAWeightAxisXY", + "files": [ + "https://github.com/Frief84/ComfyUI-LoRAWeightAxisXY" + ], + "install_type": "git-clone", + "description": "Adds `XY Input: LoRA Weight (simple)` for Efficiency Nodes. Outputs XY subtype 'LoRA' (name, weight, weight) with a linear sweep; works with `XY Input: Checkpoint`.", + "tags": ["xy-plot", "lora", "efficiency-nodes", "utility"] + }, + { + "author": "Shellishack", + "title": "comfyui_remote_media_io", + "reference": "https://github.com/Shellishack/comfyui_remote_media_io", + "files": [ + "https://github.com/Shellishack/comfyui_remote_media_io" + ], + "install_type": "git-clone", + "description": "Load media (image/video/audio) from remote URL" + }, + { + "author": "grovergol", + "title": "ComfyUI Grover Nodes", + "reference": "https://github.com/grovergol/comfyui-grover-nodes", + "files": [ + "https://github.com/grovergol/comfyui-grover-nodes" + ], + "install_type": "git-clone", + "description": "A custom node that allows opening file paths in the default system file explorer." + }, + { + "author": "Yeq6X", + "title": "ComfyUI Image to Video Inserter", + "reference": "https://github.com/Yeq6X/ComfyUI-image-to-video-inserter", + "files": [ + "https://github.com/Yeq6X/ComfyUI-image-to-video-inserter" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that inserts images into videos." + }, + { + "author": "sumitchatterjee13", + "title": "Nuke Nodes for ComfyUI", + "reference": "https://github.com/sumitchatterjee13/nuke-nodes-comfyui", + "files": [ + "https://github.com/sumitchatterjee13/nuke-nodes-comfyui" + ], + "install_type": "git-clone", + "description": "A comprehensive collection of ComfyUI custom nodes that replicate the functionality of popular Nuke compositing nodes. Includes merge, grade, transform, blur nodes and more for professional compositing workflows." + }, + { + "author": "opparco", + "title": "Wan2.2 Lightx2v Scheduler for ComfyUI", + "reference": "https://github.com/opparco/ComfyUI-WanLightx2vScheduler", + "files": [ + "https://github.com/opparco/ComfyUI-WanLightx2vScheduler" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node package designed specifically for Wan2.2 Lightx2v models to fix the 'burnt-out' look, over-sharpening, and abrupt lighting shifts through proper denoising trajectory alignment." + }, + { + "author": "polygoningenieur", + "title": "ComfyUI-IC-Light-Video", + "reference": "https://github.com/Polygoningenieur/ComfyUI-IC-Light-Video", + "files": [ + "https://github.com/Polygoningenieur/ComfyUI-IC-Light-Video" + ], + "install_type": "git-clone", + "description": "ComfyUI native nodes for IC-Light with a Video node" + }, + { + "author": "5agado", + "title": "Sagado Nodes for ComfyUI", + "reference": "https://github.com/5agado/ComfyUI-Sagado-Nodes", + "files": [ + "https://github.com/5agado/ComfyUI-Sagado-Nodes" + ], + "install_type": "git-clone", + "description": "NODES: Image Loader, Get Num Frames, Get Resolution Node, Video Loader, Film Grain" + }, + { + "author": "FredBisAI", + "title": "ComfyUI FRED Nodes v2", + "reference": "https://github.com/Poukpalaova/ComfyUI-FRED-Nodes_v2", + "files": [ + "https://github.com/Poukpalaova/ComfyUI-FRED-Nodes_v2" + ], + "install_type": "git-clone", + "description": "FRED's enhanced custom nodes for ComfyUI" + }, + { + "author": "matthewfriedrichs", + "title": "Thought Bubble", + "id": "thoughtbubble_interactivecanvas", + "reference": "https://github.com/matthewfriedrichs/ComfyUI-ThoughtBubble", + "files": [ + "https://github.com/matthewfriedrichs/ComfyUI-ThoughtBubble" + ], + "install_type": "git-clone", + "description": "ThoughtBubble is a custom node for ComfyUI that provides an interactive canvas to build and manage your prompts in a more visual and organized way. Think of it as a whiteboard for your ideas, allowing you to link different concepts, create conditional logic, and dynamically generate prompts using a powerful set of commands." + }, + { + "author": "Justify87", + "title": "ComfyUI Multi-Analysis Heatmaps", + "reference": "https://github.com/Justify87/ComfyUI-Multi-Analysis-Heatmaps", + "files": [ + "https://github.com/Justify87/ComfyUI-Multi-Analysis-Heatmaps" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for visual comparison of two images using multiple perceptual and mathematical methods. The goal: make hidden differences visible as colorful heatmaps, so you can see where an upscaler, denoiser, or diffusion model changed your image — even when your eyes can’t tell at first glance." + }, + { + "author": "iguanesolutions", + "title": "Flux Resolution", + "reference": "https://github.com/iguanesolutions/comfyui-ig1-tools", + "files": [ + "https://github.com/iguanesolutions/comfyui-ig1-tools" + ], + "install_type": "git-clone", + "description": "Get the closest compatible flux resolution from a given resolution." + }, + { + "author": "Vantage with AI", + "title": "Vantage-HunyuanFoley", + "reference": "https://github.com/vantagewithai/Vantage-HunyuanFoley", + "files": [ + "https://github.com/vantagewithai/Vantage-HunyuanFoley" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for generating high-fidelity, synchronized foley audio for any video, powered by Tencent’s HunyuanVideo-Foley model." + }, + { + "author": "Vantage with AI", + "title": "Vantage Long Wan Video", + "reference": "https://github.com/vantagewithai/VantageLongWanVideo", + "files": [ + "https://github.com/vantagewithai/VantageLongWanVideo" + ], + "install_type": "git-clone", + "description": "VantageLongWanVideo is a lightweight project management system for ComfyUI, designed for long-running, prompt-driven video generation. It simplifies workflow management by saving prompts to disk, handling continuity across runs, and allowing resuming or regenerating from any point." + }, + { + "author": "vantagewithai", + "title": "Vantage-DyPE", + "reference": "https://github.com/vantagewithai/Vantage-DyPE", + "files": [ + "https://github.com/vantagewithai/Vantage-DyPE" + ], + "install_type": "git-clone", + "description": "Vantage DyPE integrates DyPE (Dynamic Position Extrapolation) into ComfyUI, enabling Flux-based transformer models to produce native ultra-high-resolution images (4K, 8K, and beyond) without retraining or external upscaling." + }, + { + "author": "vantagewithai", + "title": "Vantage-DreamOmni2", + "reference": "https://github.com/vantagewithai/Vantage-DreamOmni2", + "files": [ + "https://github.com/vantagewithai/Vantage-DreamOmni2" + ], + "install_type": "git-clone", + "description": "ntage-DreamOmni2 brings Qwen2.5-VL’s multimodal intelligence to ComfyUI, enabling unified text–image understanding for both generation and editing. Create context-aware prompts, perform reference-based visual edits, and build adaptive image grids — all with high consistency, abstraction, and creative control." + }, + { + "author": "vantagewithai", + "title": "Vantage-Nodes", + "reference": "https://github.com/vantagewithai/Vantage-Nodes", + "files": [ + "https://github.com/vantagewithai/Vantage-Nodes" + ], + "install_type": "git-clone", + "description": "This release introduces Vantage Nodes, a powerful utility and infrastructure node pack for ComfyUI, designed for advanced workflows, batch processing, and experimental pipelines." + }, + { + "author": "vantagewithai", + "title": "Vantage-Step-Audio-EditX", + "reference": "https://github.com/vantagewithai/Vantage-Step-Audio-EditX", + "files": [ + "https://github.com/vantagewithai/Vantage-Step-Audio-EditX" + ], + "install_type": "git-clone", + "description": "This project is a custom node implementation built on top of Step-Audio-EditX. It adapts and extends EditX capabilities to support multi‑speaker, long‑format, voice cloning, and emotion/style/speed editing, enabling you to feed in a script with multiple speakers, inline pauses, paralinguistic cues, and get a concatenated audio output in one pass." + }, + { + "author": "SatadalAI", + "title": "SATA UtilityNode Node for ComfyUI", + "id": "SATA UtilityNode", + "reference": "https://github.com/SatadalAI/SATA_UtilityNode", + "files": [ + "https://github.com/SatadalAI/SATA_UtilityNode" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes including image upscale,touchpad support and CSV-driven prompt machine for ComfyUI." + }, + { + "author": "CoreyCorza", + "title": "ComfyUI-CRZnodes", + "reference": "https://github.com/CoreyCorza/ComfyUI-CRZnodes", + "files": [ + "https://github.com/CoreyCorza/ComfyUI-CRZnodes" + ], + "install_type": "git-clone", + "description": "Dashboard Nodes for Comfy" + }, + { + "author": "wizdroid", + "title": "Wizdroid Character Nodes for ComfyUI", + "reference": "https://github.com/wizdroid/wizdroid-character", + "files": [ + "https://github.com/wizdroid/wizdroid-character" + ], + "install_type": "git-clone", + "description": "A comprehensive collection of custom nodes for ComfyUI that provide AI-powered prompt generation tools using Ollama. These nodes help create detailed, professional prompts for text-to-image generation across various domains including character creation, fashion, fantasy scenes, and image analysis." + }, + { + "author": "SnJake", + "title": "JPG & Noise Remover for ComfyUI", + "reference": "https://github.com/SnJake/SnJake_JPG_Artifacts_Noise_Cleaner", + "files": [ + "https://github.com/SnJake/SnJake_JPG_Artifacts_Noise_Cleaner" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI designed to remove JPEG compression artifacts and digital noise from images. It is powered by a lightweight UNetRestorer model that efficiently restores image quality." + }, + { + "author": "SnJake", + "title": "SnJake_Baikal_Swin_Anime", + "reference": "https://github.com/SnJake/SnJake_Baikal_Swin_Anime", + "files": [ + "https://github.com/SnJake/SnJake_Baikal_Swin_Anime" + ], + "install_type": "git-clone", + "description": "SnJake Baikal-Swin-Anime x2 is a custom ComfyUI node for upscaling anime/illustration images with a dedicated restoration model." + }, + { + "author": "SnJake", + "title": "SnJake_Sapsan-VFI", + "reference": "https://github.com/SnJake/SnJake_Sapsan-VFI", + "files": [ + "https://github.com/SnJake/SnJake_Sapsan-VFI" + ], + "install_type": "git-clone", + "description": "SnJake Sapsan-VFI is a custom ComfyUI node for x2 video frame interpolation. It inserts one in-between frame for every input pair, doubling the FPS." + }, + { + "author": "MilleN2ium", + "title": "ComfyUI-CutomizableSave", + "reference": "https://github.com/MilleN2ium/ComfyUI-CutomizableSave", + "files": [ + "https://github.com/MilleN2ium/ComfyUI-CutomizableSave" + ], + "install_type": "git-clone", + "description": "save your image with customized naming rule" + }, + { + "author": "leylahviolet", + "title": "iolet Tools šŸ’…", + "reference": "https://github.com/leylahviolet/ComfyUI-Violet-Tools", + "files": [ + "https://github.com/leylahviolet/ComfyUI-Violet-Tools" + ], + "install_type": "git-clone", + "description": "Aesthetic-focused custom nodes for ComfyUI with sophisticated style and prompt management" + }, + { + "author": "ApexArtist", + "title": "Apex Artist - Image Resize", + "reference": "https://github.com/ApexArtist/comfyui-apex-artist", + "files": [ + "https://github.com/ApexArtist/comfyui-apex-artist" + ], + "install_type": "git-clone", + "description": "Professional image resizing node with 6 advanced algorithms, intelligent aspect ratio handling, crop/pad options, and batch processing support. Perfect for AI workflows, photography, and digital art.", + "category": "Image Processing", + "tags": [ + "image", + "resize", + "scaling", + "aspect-ratio", + "lanczos", + "bicubic", + "batch-processing" + ], + "version": "1.0.0" + }, + { + "author": "Seth A. Robinson", + "title": "Workflow to API Converter Endpoint", + "reference": "https://github.com/SethRobinson/comfyui-workflow-to-api-converter-endpoint", + "files": [ + "https://github.com/SethRobinson/comfyui-workflow-to-api-converter-endpoint" + ], + "install_type": "git-clone", + "description": "Adds a global /workflow/convert API endpoint to convert non-API workflow formats to API format for ComfyUI execution" + }, + { + "author": "FloyoAI", + "title": "ComfyUI Seed API Integration", + "reference": "https://github.com/FloyoAI/ComfyUI-Seed-API", + "files": [ + "https://github.com/FloyoAI/ComfyUI-Seed-API" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Seed AI APIs including video generation, image generation, and chat models" + }, + { + "author": "Olaf Reitmaier Veracierta", + "title": "Olaf's Nodes", + "reference": "https://github.com/olafrv/comfyui_olafrv", + "files": [ + "https://github.com/olafrv/comfyui_olafrv" + ], + "install_type": "git-clone", + "description": "NODES: ORvTextEncoderGoogleEmbeddingGemma3, ORvEmbeddingsHeatmap, ORvEmbeddingsSpectrogram, ORvStringConsoleDebug" + }, + { + "author": "jfcantu", + "title": "ComfyUI Prompt Companion", + "reference": "https://github.com/jfcantu/ComfyUI-Prompt-Companion", + "files": [ + "https://github.com/jfcantu/ComfyUI-Prompt-Companion" + ], + "install_type": "git-clone", + "description": "A node that lets you save and reuse parts of prompts (embeddings, quality keywords, and so on.)" + }, + { + "author": "jfcantu", + "title": "ComfyUI AutoNotes", + "reference": "https://github.com/jfcantu/ComfyUI-AutoNotes", + "files": [ + "https://github.com/jfcantu/ComfyUI-AutoNotes" + ], + "install_type": "git-clone", + "description": "Automatically display context-aware notes based on workflow state, selected nodes, and node attributes in ComfyUI." + }, + { + "author": "duldduld", + "title": "ComfyUI_md5", + "reference": "https://github.com/duldduld/ComfyUI_md5", + "files": [ + "https://github.com/duldduld/ComfyUI_md5" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes to covert string/image/file to md5 hash" + }, + { + "author": "firetheft", + "title": "ComfyUI_Local_Lora_Gallery", + "reference": "https://github.com/Firetheft/ComfyUI_Local_Lora_Gallery", + "files": [ + "https://github.com/Firetheft/ComfyUI_Local_Lora_Gallery" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that provides a visual gallery for managing and applying multiple LoRA models." + }, + { + "author": "darkamenosa", + "title": "Comfy Nano Banana", + "id": "comfy-nanobanana", + "reference": "https://github.com/darkamenosa/comfy_nanobanana", + "files": [ + "https://github.com/darkamenosa/comfy_nanobanana" + ], + "install_type": "git-clone", + "description": "Google Gemini API integration for ComfyUI - Generate images and text using Google's latest AI models. Provides nodes for Gemini API interactions and batch image processing." + }, + { + "author": "Malte0621", + "title": "HordeAI", + "reference": "https://github.com/Malte0621/hordeai-comfy", + "files": [ + "https://github.com/Malte0621/hordeai-comfy" + ], + "install_type": "git-clone", + "description": "AI Horde integration as custom node(s) for ComfyUI" + }, + { + "author": "Draek2077", + "title": "comfyui-draekz-nodez", + "reference": "https://github.com/Draek2077/comfyui-draekz-nodez", + "files": [ + "https://github.com/Draek2077/comfyui-draekz-nodez" + ], + "install_type": "git-clone", + "description": "Making ComfyUI more comfortable." + }, + { + "author": "apacheone", + "title": "ComfyUI_efficient_sam_node", + "reference": "https://github.com/Apache0ne/ComfyUI_efficient_sam_node", + "files": [ + "https://github.com/Apache0ne/ComfyUI_efficient_sam_node" + ], + "install_type": "git-clone", + "description": "Unofficial EfficientViT_sam_nodes for the https://huggingface.co/mit-han-lab/efficientvit-sam models" + }, + { + "author": "easygoing0114", + "title": "ComfyUI-easygoing-nodes", + "reference": "https://github.com/easygoing0114/ComfyUI-easygoing-nodes", + "files": [ + "https://github.com/easygoing0114/ComfyUI-easygoing-nodes" + ], + "install_type": "git-clone", + "description": "Enhanced Text Encoder modules, acd Custom nodes for ComfyUI, device-select CLIP loaders, providing HDR effects, image saving with prompt metadata." + }, + { + "author": "writer-in-fancy-pants", + "title": "Octo Json Presets", + "reference": "https://github.com/writer-in-fancy-pants/octo_json_presets", + "files": [ + "https://github.com/writer-in-fancy-pants/octo_json_presets" + ], + "install_type": "git-clone", + "description": "Load presets from json file to run a set of experiments in a workflow with different models and settings" + }, + { + "author": "sputnik57", + "title": "comfyui-prompt-logger", + "reference": "https://github.com/sputnik57/comfyui-prompt-logger", + "files": [ + "https://github.com/sputnik57/comfyui-prompt-logger" + ], + "install_type": "git-clone", + "description": "This custom node saves metadata when I explore images. It creates a sidecare json file beside the image file." + }, + { + "author": "brenzel", + "title": "comfyui-prompt-beautify", + "reference": "https://github.com/brenzel/comfyui-prompt-beautify", + "files": [ + "https://github.com/brenzel/comfyui-prompt-beautify" + ], + "install_type": "git-clone", + "description": "ComfyUI node to beautify your image generation prompt" + }, + { + "author": "Firetheft", + "title": "ComfyUI-Animate-Progress", + "reference": "https://github.com/Firetheft/ComfyUI-Animate-Progress", + "files": [ + "https://github.com/Firetheft/ComfyUI-Animate-Progress" + ], + "install_type": "git-clone", + "description": "A progress bar beautification plugin designed for ComfyUI. It replaces the monotonous default progress bar with a vibrant and dynamic experience, complete with an animated character and rich visual effects." + }, + { + "author": "AstrionX", + "title": "ComfyUI-Tensor-Prism-Node-Pack", + "reference": "https://github.com/AstrionX/ComfyUI-Tensor-Prism-Node-Pack", + "files": [ + "https://github.com/AstrionX/ComfyUI-Tensor-Prism-Node-Pack" + ], + "install_type": "git-clone", + "description": "Advanced model merging and enhancement nodes for ComfyUI" + }, + { + "author": "ru4ls", + "title": "ComfyUI_Nano_Banana", + "reference": "https://github.com/ru4ls/ComfyUI_Nano_Banana", + "files": [ + "https://github.com/ru4ls/ComfyUI_Nano_Banana" + ], + "install_type": "git-clone", + "description": "A set of custom nodes for ComfyUI that leverage the Gemini 2.5 Flash Image Preview API to generate images from text prompts, single images, and multiple images." + }, + { + "author": "ru4ls", + "title": "ComfyUI_Wan", + "reference": "https://github.com/ru4ls/ComfyUI_Wan", + "files": [ + "https://github.com/ru4ls/ComfyUI_Wan" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that provides seamless integration with the Wan models from Alibaba Cloud Model Studio. This solution delivers cutting-edge image and video generation capabilities directly within ComfyUI, supporting both international and Mainland China regions." + }, + { + "author": "ru4ls", + "title": "ComfyUI_Imagen", + "reference": "https://github.com/ru4ls/ComfyUI_Imagen", + "files": [ + "https://github.com/ru4ls/ComfyUI_Imagen" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that leverages the Google Cloud Vertex AI Imagen API to generate and edit images." + }, + { + "author": "ru4ls", + "title": "Google Font Text Image Node for ComfyUI", + "reference": "https://github.com/ru4ls/ComfyUI_Google-Fonts", + "files": [ + "https://github.com/ru4ls/ComfyUI_Google-Fonts" + ], + "install_type": "git-clone", + "description": "This custom node provides a powerful and flexible way to create images from text with advanced typographic controls. It's an ideal tool for generating inputs for Typography, creating titles and watermarks, or producing font specimens for multimodal models to analyze and generate." + }, + { + "author": "ru4ls", + "title": "ComfyUI Street View Loader Node", + "reference": "https://github.com/ru4ls/ComfyUI_StreetView-Loader", + "files": [ + "https://github.com/ru4ls/ComfyUI_StreetView-Loader" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to load images directly from Google Street View to use as backgrounds, textures, or inputs in your workflows." + }, + { + "author": "garg-aayush", + "title": "ComfyUI-Svg2Raster", + "reference": "https://github.com/garg-aayush/ComfyUI-Svg2Raster", + "files": [ + "https://github.com/garg-aayush/ComfyUI-Svg2Raster" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node to load SVG files and convert them to raster images, with options for resizing, background color, and borders." + }, + { + "author": "razvanmatei-sf", + "title": "ComfyUI Razv LLM Node", + "reference": "https://github.com/razvanmatei-sf/razv-llm", + "files": [ + "https://github.com/razvanmatei-sf/razv-llm" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for integrating Claude API with image and text capabilities." + }, + { + "author": "razvanmatei-sf", + "title": "Dynamic Prompt List Node for ComfyUI", + "reference": "https://github.com/razvanmatei-sf/serhii-prompt-list", + "files": [ + "https://github.com/razvanmatei-sf/serhii-prompt-list" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to create lists of prompts with dynamic input count. Add or remove prompt inputs on the fly without creating multiple nodes." + }, + { + "author": "Enashka", + "title": "ComfyUI-nhknodes", + "reference": "https://github.com/Enashka/ComfyUI-nhknodes", + "files": [ + "https://github.com/Enashka/ComfyUI-nhknodes" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes collection with workflow utilities, image processing, and AI integration" + }, + { + "author": "teepunkt-esspunkt", + "title": "ComfyUI-SuiteTea", + "reference": "https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea", + "files": [ + "https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea" + ], + "install_type": "git-clone", + "description": "NODES: 'Tea: Save & Reload Image', 'Tea: Load Image Checkpoints from path', ..." + }, + { + "author": "razvanmatei-sf", + "title": "ComfyUI Razv WaveSpeed Nodes", + "reference": "https://github.com/razvanmatei-sf/razv-wavespeed", + "files": [ + "https://github.com/razvanmatei-sf/razv-wavespeed" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for integrating WaveSpeed AI API for image and video generation." + }, + { + "author": "razvanmatei-sf", + "title": "comfyui-stillfront", + "reference": "https://github.com/razvanmatei-sf/comfyui-stillfront", + "files": [ + "https://github.com/razvanmatei-sf/comfyui-stillfront" + ], + "install_type": "git-clone", + "description": "Consolidated collection of custom ComfyUI nodes with LLM integration (Claude, Gemini), WaveSpeed API support, and utility nodes for resolution presets and dynamic prompts. (Description by CC)" + }, + { + "author": "blurgyy", + "title": "CoMPaSS-ComfyUI", + "reference": "https://github.com/blurgyy/CoMPaSS-FLUX.1-dev-ComfyUI", + "files": [ + "https://github.com/blurgyy/CoMPaSS-FLUX.1-dev-ComfyUI" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that implements CoMPaSS for FLUX.1-dev models. CoMPaSS enhances the spatial understanding capabilities of text-to-image diffusion models." + }, + { + "author": "snicolast", + "title": "ComfyUI-IndexTTS2", + "reference": "https://github.com/snicolast/ComfyUI-IndexTTS2", + "files": [ + "https://github.com/snicolast/ComfyUI-IndexTTS2" + ], + "install_type": "git-clone", + "description": "Lightweight ComfyUI wrapper for IndexTTS 2 (voice cloning + emotion control)." + }, + { + "author": "snicolast", + "title": "ComfyUI-Ovi", + "reference": "https://github.com/snicolast/ComfyUI-Ovi", + "files": [ + "https://github.com/snicolast/ComfyUI-Ovi" + ], + "install_type": "git-clone", + "description": "Lightweight ComfyUI wrapper that bring Character.AI's Ovi video+audio generator to ComfyUI with streamlined setup, selectable precision, and attention-backend control." + }, + { + "author": "snicolast", + "title": "ComfyUI-Manufnode", + "reference": "https://github.com/efortin/ComfyUI-Ollama-Enhancer", + "files": [ + "https://github.com/efortin/ComfyUI-Ollama-Enhancer" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes integrating Ollama to generate and enhance positive/negative prompts for Stable Diffusion workflows." + }, + { + "author": "fr0nky0ng", + "title": "ComfyUI-Face-Comparator", + "reference": "https://github.com/fr0nky0ng/ComfyUI-Face-Comparator", + "files": [ + "https://github.com/fr0nky0ng/ComfyUI-Face-Comparator" + ], + "install_type": "git-clone", + "description": "This is a node to detect the similarity between two faces" + }, + { + "author": "fr0nky0ng", + "title": "ComfyUI-frankAI-banana", + "reference": "https://github.com/fr0nky0ng/ComfyUI-frankAI-banana", + "files": [ + "https://github.com/fr0nky0ng/ComfyUI-frankAI-banana" + ], + "install_type": "git-clone", + "description": "A set of ComfyUI nodes for calling the Nano-Banana API , while also supporting the Google API and frankAI API." + }, + { + "author": "fr0nky0ng", + "title": "ComfyUI-JSON-Prompt", + "reference": "https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt", + "files": [ + "https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI that generates JSON prompts from natural language descriptions to improve text-to-image generation quality. Supports local LLM integration via Ollama or Google Gemini API." + }, + { + "author": "nakagawadev", + "title": "comfyui_nakagawa", + "reference": "https://github.com/nakagawadev/comfyui_nakagawa", + "files": [ + "https://github.com/nakagawadev/comfyui_nakagawa" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that send video data through websockets instead of saving to disk." + }, + { + "author": "nakMe-guminagawadev", + "title": "MeComfyuiEncrypt", + "reference": "https://github.com/Me-gumin/MeComfyuiEncrypt", + "files": [ + "https://github.com/Me-gumin/MeComfyuiEncrypt" + ], + "install_type": "git-clone", + "description": "Image obfuscation in ComfyUI" + }, + { + "author": "dzy1128", + "title": "Seedream Image Generate ComfyUI Node", + "reference": "https://github.com/dzy1128/Seedream-Image-Generate-ComfyUI", + "files": [ + "https://github.com/dzy1128/Seedream-Image-Generate-ComfyUI" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node based on the Volcano Engine Doubao large model Seedream API, designed for high-quality image generation." + }, + { + "author": "dzy1128", + "title": "ComfyUI-VertexAI", + "reference": "https://github.com/dzy1128/ComfyUI-VertexAI", + "files": [ + "https://github.com/dzy1128/ComfyUI-VertexAI" + ], + "install_type": "git-clone", + "description": "Google Gemini image generation node for ComfyUI supporting up to 6 input images with customizable prompts and parameters. (Description by CC)" + }, + { + "author": "dzy1128", + "title": "ComfyUI-Vector-Engine", + "reference": "https://github.com/dzy1128/ComfyUI-Vector-Engine", + "files": [ + "https://github.com/dzy1128/ComfyUI-Vector-Engine" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for high-level image generation and editing with Vector Engine Gemini API integration. (Description by CC)" + }, + { + "author": "swfxliyiyu", + "title": "ComfyUI-FastVideo", + "reference": "https://github.com/swfxliyiyu/ComfyUI-FastVideo", + "files": [ + "https://github.com/swfxliyiyu/ComfyUI-FastVideo" + ], + "install_type": "git-clone", + "description": "A custom node suite for ComfyUI that provides accelerated video generation using [a/FastVideo](https://github.com/hao-ai-labs/FastVideo). See the blog post about FastVideo V1 to learn more." + }, + { + "author": "darkamenosa", + "title": "Enhanced Image Composite Masked", + "reference": "https://github.com/darkamenosa/comfy_inpaint_blend", + "files": [ + "https://github.com/darkamenosa/comfy_inpaint_blend" + ], + "install_type": "git-clone", + "description": "Seamless inpainting for image-space models like Google Nano Banana and ByteDance Seedream 4. Fixes color mismatches using Poisson blending." + }, + { + "author": "len-ml", + "title": "comfyui_qwen_image_edit_adv", + "reference": "https://github.com/lenML/comfyui_qwen_image_edit_adv", + "files": [ + "https://github.com/lenML/comfyui_qwen_image_edit_adv" + ], + "install_type": "git-clone", + "description": "Improved qwen image editing accuracy" + }, + { + "author": "Ian2073", + "title": "ComfyUI-MyLLMNode", + "reference": "https://github.com/Ian2073/ComfyUI-MyLLMnode", + "files": [ + "https://github.com/Ian2073/ComfyUI-MyLLMnode" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for running LLMs via HuggingFace pipeline. Supports both local paths and HuggingFace model names." + }, + { + "author": "semonxue", + "title": "ComfyUI FlexAI Nodes", + "reference": "https://github.com/Semonxue/Comfyui-flexai", + "files": [ + "https://github.com/Semonxue/Comfyui-flexai" + ], + "install_type": "git-clone", + "description": "Use the fewest nodes for the most flexible model calls. A versatile ComfyUI plugin for OpenAI-compatible APIs, featuring multi-purpose nodes for text and image, support for switching between multiple API providers, and auto-saving of custom models. Compatible with new models like nano-banana and seedream4." + }, + { + "author": "Aaalice233", + "title": "ComfyUI-Danbooru-Gallery", + "reference": "https://github.com/Aaalice233/ComfyUI-Danbooru-Gallery", + "files": [ + "https://github.com/Aaalice233/ComfyUI-Danbooru-Gallery" + ], + "install_type": "git-clone", + "description": "A danbooru gallery for ComfyUI" + }, + { + "author": "l33chking", + "title": "Danbooru FAISS Search Nodes", + "id": "danbooru-faiss-search", + "reference": "https://github.com/L33chKing/ComfyUI-danbooru-FAISS-search", + "files": [ + "https://github.com/L33chKing/ComfyUI-danbooru-FAISS-search" + ], + "install_type": "git-clone", + "description": "Use image to search similar images from danbooru using various methods. Notice: the optional API key will be saved to metadata if used" + }, + { + "author": "GegenDenTag", + "title": "Multi Area Conditioning", + "reference": "https://github.com/GegenDenTag/ComfyUI-multi-area-condition-node", + "files": [ + "https://github.com/GegenDenTag/ComfyUI-multi-area-condition-node" + ], + "install_type": "git-clone", + "description": "Fix Nov. 2024, Davemane42's Custom Node for ComfyUI" + }, + { + "author": "Kaleidia", + "title": "KaleidiaNodes", + "reference": "https://github.com/Kaleidia/KaleidiaNodes", + "files": [ + "https://github.com/Kaleidia/KaleidiaNodes" + ], + "install_type": "git-clone", + "description": "A simple set of nodes to make things easier. String Nodes and Files nodes." + }, + { + "author": "ialhabbal", + "title": "ComfyUI Prompt Verify", + "reference": "https://github.com/ialhabbal/ComfyUI-Prompt-Verify", + "files": [ + "https://github.com/ialhabbal/ComfyUI-Prompt-Verify" + ], + "install_type": "git-clone", + "description": "Custom node to pause a string flow/prompt and let you edit the text" + }, + { + "author": "xhh522", + "title": "ComfyUI Preview Monitor", + "reference": "https://github.com/xhh522/ComfyUI-preview-monitor", + "files": [ + "https://github.com/xhh522/ComfyUI-preview-monitor" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for image preview and monitoring" + }, + { + "author": "Junst", + "title": "ComfyUI-Concept-Diffusion", + "reference": "https://github.com/Junst/ComfyUI-Concept-Diffusion", + "files": [ + "https://github.com/Junst/ComfyUI-Concept-Diffusion" + ], + "install_type": "git-clone", + "description": "ConceptAttention: Diffusion Transformers Learn Highly Interpretable Features for ComfyUI" + }, + { + "author": "comrender", + "title": "ComfyUI-NanoSeed", + "reference": "https://github.com/comrender/ComfyUI-NanoSeed", + "files": [ + "https://github.com/comrender/ComfyUI-NanoSeed" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for seamless image editing using fal.ai's NanoBanana and Seedream (v4) models. Edit images with AI-powered prompts, supporting multi-image batches, custom resolutions, and easy fal.ai API key integration directly in the node interface. " + }, + { + "author": "comrender", + "title": "ComfyUI-Topaz-Upscaler", + "reference": "https://github.com/comrender/ComfyUI-Topaz-Upscaler", + "files": [ + "https://github.com/comrender/ComfyUI-Topaz-Upscaler" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that integrates the Topaz Labs API for AI-powered image upscaling and enhancement." + }, + { + "author": "comrender", + "title": "ComfyUI-NanoB-Edit-Gemini", + "reference": "https://github.com/comrender/ComfyUI-NanoB-Edit-Gemini", + "files": [ + "https://github.com/comrender/ComfyUI-NanoB-Edit-Gemini" + ], + "install_type": "git-clone", + "description": "This custom node facilitates direct interaction with the Google Gemini API for advanced image editing tasks within ComfyUI with parallel request handling." + }, + { + "author": "DecartAI", + "title": "Lucy-Edit-ComfyUI", + "reference": "https://github.com/DecartAI/Lucy-Edit-ComfyUI", + "files": [ + "https://github.com/DecartAI/Lucy-Edit-ComfyUI" + ], + "install_type": "git-clone", + "description": "Lucy Edit is a video editing model that performs instruction-guided edits on videos using free-text prompts — it supports a variety of edits, such as clothing & accessory changes, character changes, object insertions, and scene replacements while preserving the motion and composition perfectly." + }, + { + "author": "sbcode", + "title": "ComfyUI Virtual Webcam", + "reference": "https://github.com/Sean-Bradley/ComfyUI-Virtual-Webcam", + "files": [ + "https://github.com/Sean-Bradley/ComfyUI-Virtual-Webcam" + ], + "install_type": "git-clone", + "description": "A Virtual Camera Output For ComfyUI. On Windows, it will use the OBS Virtual Camera driver. So make sure you have OBS installed. Then in your other webcam capable applications, such as Google Meet, Teams, Zoom and even OBS itself, you can connect to the OBS Virtual Camera option and see what you are outputting from ComfyUI.", + "tags": ["virtual-camera", "obs", "webcam"] + }, + { + "author": "sbcode", + "title": "ComfyUI Image Compare", + "reference": "https://github.com/Sean-Bradley/ComfyUI-Image-Compare", + "files": [ + "https://github.com/Sean-Bradley/ComfyUI-Image-Compare" + ], + "install_type": "git-clone", + "description": "Compare two images using ComfyUI. Connect images to both image_a and image_b inputs. Press RUN. Then use the slider to compare. Best used when two images are very similar and you want to see the differences very closely. Search for the manager for image compare, or imagecompare.", + "tags": ["image-compare", "imagecompare"] + }, + { + "author": "sbcode", + "title": "ComfyUI Video Reverse", + "reference": "https://github.com/Sean-Bradley/ComfyUI-Video-Reverse", + "files": [ + "https://github.com/Sean-Bradley/ComfyUI-Video-Reverse" + ], + "install_type": "git-clone", + "description": "A tool to reverse the frames of video type files (MP4, WebM, WebP, Animated GIF) using ComfyUI. It gets the image batch tensor and returns the same tensor, but flipped.", + "tags": ["video-reverse", "image-batch-reverse"] + }, + { + "author": "sbcode", + "title": "ComfyUI Voice Clone", + "reference": "https://github.com/Sean-Bradley/ComfyUI-Voice-Clone", + "files": [ + "https://github.com/Sean-Bradley/ComfyUI-Voice-Clone" + ], + "install_type": "git-clone", + "description": "Custom TTS node that clones voice from a reference audio and speaks entered text." + }, + { + "author": "sbcode", + "title": "Remove Background", + "reference": "https://github.com/Sean-Bradley/ComfyUI-Remove-Background", + "files": [ + "https://github.com/Sean-Bradley/ComfyUI-Remove-Background" + ], + "install_type": "git-clone", + "description": "Remove background scenery from an image of a person. The output image is saved as an RGBA PNG. The alpha channel is included." + }, + { + "author": "sbcode", + "title": "ComfyUI-Get-Line", + "reference": "https://github.com/Sean-Bradley/ComfyUI-Get-Line", + "files": [ + "https://github.com/Sean-Bradley/ComfyUI-Get-Line" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node used to get one line of string from a multi line string. Search in the manager for `get line`, or `getline` or `get-line`." + }, + { + "author": "sbcode", + "title": "ComfyUI-Sonic", + "reference": "https://github.com/Sean-Bradley/ComfyUI-Sonic", + "files": [ + "https://github.com/Sean-Bradley/ComfyUI-Sonic" + ], + "install_type": "git-clone", + "description": "Custom node that takes an audio mp3 and an image, and creates a lip synced video from them." + }, + { + "author": "LukeCoulson1", + "title": "ComfyUI LoRA Combine Node", + "reference": "https://github.com/LukeCoulson1/Comfyui_LoraCombine", + "files": [ + "https://github.com/LukeCoulson1/Comfyui_LoraCombine" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that allows you to combine two LoRAs with adjustable strengths and multiple merging methods." + }, + { + "author": "ahkimkoo", + "title": "ComfyUI Audio Segment Plugin", + "reference": "https://github.com/ahkimkoo/Comfyui-AudioSegment", + "files": [ + "https://github.com/ahkimkoo/Comfyui-AudioSegment" + ], + "install_type": "git-clone", + "description": "Custom node suite for ComfyUI designed for advanced audio processing" + }, + { + "author": "ahkimkoo", + "title": "ComfyUI-GetKeyFrames", + "reference": "https://github.com/ahkimkoo/ComfyUI-GetKeyFrames", + "files": [ + "https://github.com/ahkimkoo/ComfyUI-GetKeyFrames" + ], + "install_type": "git-clone", + "description": "Extract keyframes from video" + }, + { + "author": "joyboy123456", + "title": "ComfyUI Google AI Studio Integration", + "reference": "https://github.com/joyboy123456/-ComfyUI-GoogleAIStudio", + "files": [ + "https://github.com/joyboy123456/-ComfyUI-GoogleAIStudio" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI plugin that integrates Google AI Studio's powerful AI models for content generation, image creation, video planning, and advanced prompt optimization." + }, + { + "author": "Noma-Machiko", + "title": "ComfyUI-ToDevice", + "reference": "https://github.com/Noma-Machiko/ComfyUI-ToDevice", + "files": [ + "https://github.com/Noma-Machiko/ComfyUI-ToDevice" + ], + "install_type": "git-clone", + "description": "A simple collection of device conversion nodes for ComfyUI. These nodes move an image node running on the GPU over to the CPU. They also support moving from CPU to GPU, but in that case, please remove the CPU option from the ComfyUI startup options." + }, + { + "author": "AdamShuo", + "title": "ComfyUI Switch Any Node", + "reference": "https://github.com/AdamShuo/ComfyUI_Switch", + "files": [ + "https://github.com/AdamShuo/ComfyUI_Switch" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that provides a dynamic 'Switch' for routing purposes. It allows you to define a list of named labels and select one, outputting the corresponding index and label name. This is useful for controlling the flow of your workflow based on a selection." + }, + { + "author": "3dgopnik", + "title": "ComfyUI Arena Suite", + "reference": "https://github.com/3dgopnik/comfyui-arena-suite", + "files": [ + "https://github.com/3dgopnik/comfyui-arena-suite" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes in a single package: Arena legacy + AutoCache + Updater" + }, + { + "author": "3dgopnik", + "title": "ComfyUI YOLO Mask Process", + "reference": "https://github.com/gasdyueer/comfyui-yolo-mask-process", + "files": [ + "https://github.com/gasdyueer/comfyui-yolo-mask-process" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for YOLO detection and mask processing" + }, + { + "author": "sammykumar", + "title": "ComfyUI-SwissArmyKnife", + "reference": "https://github.com/sammykumar/ComfyUI-SwissArmyKnife", + "files": [ + "https://github.com/sammykumar/ComfyUI-SwissArmyKnife" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI featuring Gemini AI integration for video and image analysis, with a complete development environment using GPU-accelerated containers." + }, + { + "author": "sumitchatterjee13", + "title": "Luminance Stack Processor", + "reference": "https://github.com/sumitchatterjee13/Luminance-Stack-Processor", + "files": [ + "https://github.com/sumitchatterjee13/Luminance-Stack-Processor" + ], + "install_type": "git-clone", + "description": "Custom nodes to process multi exposure images and stack them to produce 32bit exr file with dynamic range data" + }, + { + "author": "perckle", + "title": "ComfyUI-DPIR", + "reference": "https://github.com/perckle/comfyui_dpir", + "files": [ + "https://github.com/perckle/comfyui_dpir" + ], + "install_type": "git-clone", + "description": "A dpir/DRUnet inference node for ComfyUI" + }, + { + "author": "downlifted", + "title": "ComfyUI_ComfyGroq", + "reference": "https://github.com/downlifted/ComfyUI_GROQ-PromptWizard", + "files": [ + "https://github.com/downlifted/ComfyUI_GROQ-PromptWizard" + ], + "install_type": "git-clone", + "description": "A streamlined ComfyUI custom node package for interacting with GROQ's AI models, including both text and vision capabilities." + }, + { + "author": "red-polo", + "title": "ComfyUI-WanViTPoseRetargeter", + "reference": "https://github.com/red-polo/ComfyUI-WanViTPoseRetargeter", + "files": [ + "https://github.com/red-polo/ComfyUI-WanViTPoseRetargeter" + ], + "install_type": "git-clone", + "description": "This is a ComfyUI port of PoseRetarget, originally implemented in Wan2.2-Animation. Please use it together with WanVideoWrapper." + }, + { + "author": "ucloud", + "title": "ComfyUl-UCloud", + "reference": "https://github.com/ucloud/comfyui-plugin", + "files": [ + "https://github.com/ucloud/comfyui-plugin" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that allows you to use the UCloud API directly in ComfyUI. UCloud is a high-performance AI computing platform providing powerful image generation models and industry-leading inference speeds. It offers a wide range of AI model options, including popular text-to-image and image editing models, ready to use without local GPU setup." + }, + { + "author": "fkxianzhou", + "title": "ComfyUI-Jimeng-API", + "reference": "https://github.com/fkxianzhou/ComfyUI-Jimeng-API", + "files": [ + "https://github.com/fkxianzhou/ComfyUI-Jimeng-API" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Volcano Ark (Jimeng) API" + }, + { + "author": "wallen", + "title": "ComfyUI-QI-QwenEditSafe", + "id": "comfyui-qi-qweneditsafe", + "reference": "https://github.com/wallen0322/ComfyUI-QI-QwenEditSafe", + "files": [ + "https://github.com/wallen0322/ComfyUI-QI-QwenEditSafe" + ], + "install_type": "git-clone", + "description": "Safe & consistent QwenImage edit encoders and HQ VAE decode for ComfyUI." + }, + { + "author": "wallen", + "title": "ComfyUI-SageAttention3", + "reference": "https://github.com/wallen0322/ComfyUI-SageAttention3", + "files": [ + "https://github.com/wallen0322/ComfyUI-SageAttention3" + ], + "install_type": "git-clone", + "description": "Strict Sage 3 (Blackwell) attention for ComfyUI official flows." + }, + { + "author": "wallen0322", + "title": "ComfyUI-qwenmultianglelight", + "reference": "https://github.com/wallen0322/ComfyUI-qwenmultianglelight", + "files": [ + "https://github.com/wallen0322/ComfyUI-qwenmultianglelight" + ], + "install_type": "git-clone", + "description": "A ComfyUI node for 3D lighting angle control, outputs lighting prompts for relighting image generation" + }, + { + "author": "ChaosHL", + "title": "Marvelous-Box-Comfyui", + "reference": "https://github.com/ChaosHL/Marvelous-Box-Comfyui", + "files": [ + "https://github.com/ChaosHL/Marvelous-Box-Comfyui" + ], + "install_type": "git-clone", + "description": "a tool for prompt collect" + }, + { + "author": "suhee19", + "title": "comfyui-orpheus-loader", + "reference": "https://github.com/suhee19/comfyui-orpheus-loader", + "files": [ + "https://github.com/suhee19/comfyui-orpheus-loader" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI to load the Orpheus TTS base model and prepare it for LoRA injection + speech generation." + }, + { + "author": "Santat2023", + "title": "ComfyUiRagCustomNodes", + "reference": "https://github.com/Santat2023/ComfyUiRagNodes", + "files": [ + "https://github.com/Santat2023/ComfyUiRagNodes" + ], + "install_type": "git-clone", + "description": "This package contains custom nodes for ComfyUI: Image generation using Stable Diffusion and LLM, Uploading and searching images via ChromaDB and MinIO (S3), Integration with CLIP, Ollama, and other tools" + }, + { + "author": "GizmoR13", + "title": "PG Nodes", + "id": "PG", + "reference": "https://github.com/GizmoR13/PG-Nodes", + "files": [ + "https://github.com/GizmoR13/PG-Nodes" + ], + "install_type": "git-clone", + "description": "Pragmatic utilities for ComfyUI: Lazy Prompt (history + randomizer), Unified Loader (+ mini), Just Save Image (+ passthrough)." + }, + { + "author": "Dalongzhuazi", + "title": "ComfyUI-Gemini-Prompt-Studio", + "id": "comfyui-gemini-prompt-studio", + "reference": "https://github.com/DaLongZhuaZi/ComfyUI-Gemini-Prompt-Studio", + "files": [ + "https://github.com/DaLongZhuaZi/ComfyUI-Gemini-Prompt-Studio" + ], + "install_type": "git-clone", + "description": "One node generates both T2I & I2V positive/negative conditioning in a single click." + }, + { + "author": "Sampkao", + "title": "ComfyUI-Amage", + "reference": "https://github.com/Sampkao/ComfyUI-Amage", + "files": [ + "https://github.com/Sampkao/ComfyUI-Amage" + ], + "install_type": "git-clone", + "description": "This repository provides a set of custom nodes for ComfyUI, designed to improve workflow convenience when working with text, image, video, and audio data." + }, + { + "author": "maxmad62", + "title": "ComfyUI-DiscordWebhookWithInput", + "reference": "https://github.com/maxmad62/ComfyUI-DiscordWebhookWithInput", + "files": [ + "https://github.com/maxmad62/ComfyUI-DiscordWebhookWithInput" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to send an image + a message (e.g. your prompt) to a Discord channel via a webhook." + }, + { + "author": "BizaNator", + "title": "ComfyUI Prompt Iterator Extension", + "reference": "https://github.com/BizaNator/ComfyUI_PromptIterator", + "files": [ + "https://github.com/BizaNator/ComfyUI_PromptIterator" + ], + "install_type": "git-clone", + "description": "A powerful custom node extension for ComfyUI that enables automatic iteration through multiple prompts with corresponding filename generation. Perfect for batch processing different variations like character face angles, poses, or any sequential prompt workflow." + }, + { + "author": "Art-xmaster", + "title": "comfyui-AGSoft", + "reference": "https://github.com/Art-xmaster/comfyui-AGSoft", + "files": [ + "https://github.com/Art-xmaster/comfyui-AGSoft" + ], + "install_type": "git-clone", + "description": "NODES: AGSoft Empty Latent, AGSoft ImageRes, AGSoft ImageResMP, AGSoft ImagegPad for Outpainting, AGSoft ImagePad for OutpaintingAdv, AGSoft Image Crop, AGSoft Image Concatenate, AGSoft Image ConcatenateFromBatch, ..." + }, + { + "author": "No-22-Github", + "title": "ComfyUI_RWKV_Studio", + "reference": "https://github.com/No-22-Github/ComfyUI_RWKV_Studio", + "files": [ + "https://github.com/No-22-Github/ComfyUI_RWKV_Studio" + ], + "install_type": "git-clone", + "description": "A suite of ComfyUI custom nodes based on the RWKV series of models, offering various functions like translation and dialogue." + }, + { + "author": "cyan9977", + "title": "ComfyUI_PromptQueue", + "reference": "https://github.com/cyan9977/ComfyUI_PromptQueue", + "files": [ + "https://github.com/cyan9977/ComfyUI_PromptQueue" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node: batch prompt queue from multiline/text file with incremental per-run consumption and {p} templating." + }, + { + "title": "RC Image Compositor", + "author": "kj863257", + "description": "A comprehensive ComfyUI plugin suite that brings professional Photoshop-style layer effects and advanced compositing capabilities. Features modular architecture, 24 blend modes, and enhanced positioning system.", + "reference": "https://github.com/kj863257/ComfyUI_RC_Image_Compositor", + "files": [ + "https://github.com/kj863257/ComfyUI_RC_Image_Compositor" + ], + "install_type": "git-clone", + "tags": ["compositing", "layer", "blend modes", "photoshop-style"] + }, + { + "author": "Verolelb", + "title": "Video Compressor (Unified)", + "id": "Video compressor", + "reference": "https://github.com/Verolelb/ComfyUI-VideoCompressor", + "files": [ + "https://github.com/Verolelb/ComfyUI-VideoCompressor" + ], + "install_type": "git-clone", + "description": "Compress video in comfyui." + }, + { + "author": "Verolelb", + "title": "ComfyUI-Persistent-Queue", + "reference": "https://github.com/co5dt/ComfyUI-Persistent-Queue", + "files": [ + "https://github.com/co5dt/ComfyUI-Persistent-Queue" + ], + "install_type": "git-clone", + "description": "CoA simple, friendly way to make your ComfyUI job queue survive restarts and crashes." + }, + { + "author": "MIUProject", + "title": "VNCCS - Visual Novel Character Creation Suite", + "id": "VNCCS", + "reference": "https://github.com/AHEKOT/ComfyUI_VNCCS", + "files": [ + "https://github.com/AHEKOT/ComfyUI_VNCCS" + ], + "install_type": "git-clone", + "description": "VNCCS is a comprehensive tool for creating character sprites for visual novels." + }, + { + "author": "wzken", + "title": "Steganos Node for ComfyUI", + "reference": "https://github.com/wzken/ComfyUI-Steganos-Node", + "files": [ + "https://github.com/wzken/ComfyUI-Steganos-Node" + ], + "install_type": "git-clone", + "description": "This custom node for ComfyUI allows you to hide a video file within a PNG image using a file concatenation technique. The resulting image can be viewed as a normal picture, but a standard unzip tool can extract the hidden video from it." + }, + { + "author": "gregory-richard", + "title": "WarpPipe Nodes", + "reference": "https://github.com/gregory-richard/ComfyUI-WarpPipe", + "files": [ + "https://github.com/gregory-richard/ComfyUI-WarpPipe" + ], + "install_type": "git-clone", + "description": "WarpPipe - A data bundling and transfer system for ComfyUI workflows" + }, + { + "author": "abdullahceylan", + "title": "AC ComfyUI Queue Manager", + "reference": "https://github.com/abdullahceylan/ac-comfyui-queue-manager", + "files": [ + "https://github.com/abdullahceylan/ac-comfyui-queue-manager" + ], + "install_type": "git-clone", + "description": "A comprehensive queue management system for ComfyUI workflows" + }, + { + "author": "abdullahceylan", + "title": "AC Image Optimizer", + "reference": "https://github.com/abdullahceylan/ac-comfyui-image-optimizer", + "files": [ + "https://github.com/abdullahceylan/ac-comfyui-image-optimizer" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for optimizing and compressing images with support for multiple formats (JPEG, WebP, PNG) and configurable quality settings." + }, + { + "author": "J-ChenX", + "title": "NIX ComfyUI Plugin", + "reference": "https://github.com/J-ChenX/ComfyUI-NIX", + "files": [ + "https://github.com/J-ChenX/ComfyUI-NIX" + ], + "install_type": "git-clone", + "description": "A collection of plugins for ComfyUI that provides a variety of useful nodes (batch path loading, rotate & crop, mask crop & composition, proportional scaling, slicing, string utilities, arbitrary type switching, image inference, etc.)." + }, + { + "author": "hanL34", + "title": "ComfyUI-Power-Artist-Loader", + "reference": "https://github.com/hanL34/ComfyUI-Power-Artist-Loader", + "files": [ + "https://github.com/hanL34/ComfyUI-Power-Artist-Loader" + ], + "install_type": "git-clone", + "description": "A custom node designed for ComfyUI that can load multiple artist names simultaneously and intelligently combine them into the prompt, with support for independent weight control and real-time preview." + }, + { + "author": "gpdev-Pilcothink", + "title": "comfyui_pilcothink_VisionSLM", + "reference": "https://github.com/gpdev-Pilcothink/comfyui_pilcothink_VisionSLM", + "files": [ + "https://github.com/gpdev-Pilcothink/comfyui_pilcothink_VisionSLM" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes to run SLM Vision models (DeepSeek-vl 1.3b chat, Qwen2.5-vl 3b, Gemma-3-4b-it) with optional RAG support." + }, + { + "author": "Duanyll", + "title": "ComfyUI Functional", + "reference": "https://github.com/Duanyll/comfyui_functional", + "files": [ + "https://github.com/Duanyll/comfyui_functional" + ], + "install_type": "git-clone", + "description": "Easy functional programming and flow control within ComfyUI" + }, + { + "author": "OpenAssetIO", + "title": "OpenAssetIO", + "reference": "https://github.com/OpenAssetIO/OpenAssetIO-ComfyUI", + "files": [ + "https://github.com/OpenAssetIO/OpenAssetIO-ComfyUI" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes adding asset resolution and publishing via OpenAssetIO" + }, + { + "author": "jamesk9526", + "title": "ComfyUI Nox Prompter", + "reference": "https://github.com/jamesk9526/NoxPrompter-ComfyUI-CustomNode", + "files": [ + "https://github.com/jamesk9526/NoxPrompter-ComfyUI-CustomNode" + ], + "install_type": "git-clone", + "description": "A powerful collection of custom nodes for ComfyUI that enhance prompt handling, manipulation, and analysis for better AI image generation results." + }, + { + "author": "inoland", + "title": "ComfyUI Ino Nodes", + "id": "comfyui_ino_nodes", + "reference": "https://github.com/nobandegani/comfyui_ino_nodes", + "files": [ + "https://github.com/nobandegani/comfyui_ino_nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI." + }, + { + "author": "A043-studios", + "title": "ComfyUI HunyuanWorld - Complete 3D Generation Suite", + "reference": "https://github.com/A043-studios/ComfyUI_HunyuanWorldnode", + "files": [ + "https://github.com/A043-studios/ComfyUI_HunyuanWorldnode" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Hunyuan3D - Complete 3D generation suite" + }, + { + "author": "mochidroppot", + "title": "ComfyUI-ProxyFix", + "reference": "https://github.com/mochidroppot/ComfyUI-ProxyFix", + "files": [ + "https://github.com/mochidroppot/ComfyUI-ProxyFix" + ], + "install_type": "git-clone", + "description": "This extension fixes URL encoding issues when ComfyUI is accessed through reverse proxies like 'jupyter-server-proxy'." + }, + { + "author": "9nate-drake", + "title": "ComfyUI Mask to Center Point Nodes", + "reference": "https://github.com/9nate-drake/ComfyUI-MaskCenter", + "files": [ + "https://github.com/9nate-drake/ComfyUI-MaskCenter" + ], + "install_type": "git-clone", + "description": "This pack provides two custom nodes for ComfyUI designed to find the center coordinates of masks and segments. They are useful for workflows where you need to precisely identify the location of objects or regions of interest." + }, + { + "author": "9nate-drake", + "title": "Comfyui-SecNodes", + "reference": "https://github.com/9nate-drake/Comfyui-SecNodes", + "files": [ + "https://github.com/9nate-drake/Comfyui-SecNodes" + ], + "install_type": "git-clone", + "description": "Nodes for SeC (Segment Concept) - SOTA video object segmentation. Uses SeC-4B model by OpenIXCLab. Also includes coordinate plotter for visualization" + }, + { + "author": "9nate-drake", + "title": "ComfyUI-PanoTools", + "reference": "https://github.com/9nate-drake/ComfyUI-PanoTools", + "files": [ + "https://github.com/9nate-drake/ComfyUI-PanoTools" + ], + "install_type": "git-clone", + "description": "Professional panorama generation tools for ComfyUI converting perspective images/video to equirectangular 360° panoramas with automatic camera calibration via AI, horizon detection, or vertical line detection." + }, + { + "author": "Kishor900", + "title": "ComfyUI WANv2v Video Stitcher", + "reference": "https://github.com/Kishor900/comfyui-wanv2v-video-stitcher", + "files": [ + "https://github.com/Kishor900/comfyui-wanv2v-video-stitcher" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node pack for WAN v2v long video generation. Provides nodes for chunking, overlap stitching, control group orchestration, debug numbering, and de-overlap merging to create seamless long-form videos." + }, + { + "author": "u5dev", + "title": "u5 FreeVRAM - Memory Management", + "id": "u5_VramFREE", + "reference": "https://github.com/u5dev/comfyUI_u5_VramFREE", + "files": [ + "https://github.com/u5dev/comfyUI_u5_VramFREE" + ], + "install_type": "git-clone", + "description": "ComfyUI Memory Management and VRAM Optimization Custom Node - Free VRAM with sequential model loading support" + }, + { + "author": "WangDianhui", + "title": "ComfyUI-SA-ODE_Sampler", + "reference": "https://github.com/WangDianhui/ComfyUI-SA-ODE_Sampler", + "files": [ + "https://github.com/WangDianhui/ComfyUI-SA-ODE_Sampler" + ], + "install_type": "git-clone", + "description": "Ultra-Efficient Flow Matching sampler ported from [a/https://github.com/eddyhhlure1Eddy/ode-t1](https://github.com/eddyhhlure1Eddy/ode-t1), suitable for native ComfyUI workflows." + }, + { + "author": "dothings", + "title": "comfyui_placeholder_prompting", + "reference": "https://github.com/dothings/comfyui_placeholder_prompting", + "files": [ + "https://github.com/dothings/comfyui_placeholder_prompting" + ], + "install_type": "git-clone", + "description": "custom node which allows placing **some_tag** in your prompt and it will replace it with a preset prompt as you like." + }, + { + "author": "ThunderBolt4931", + "title": "ComfyUI-Pixel-Forge", + "reference": "https://github.com/ThunderBolt4931/comfyui_pixel_forge", + "files": [ + "https://github.com/ThunderBolt4931/comfyui_pixel_forge" + ], + "install_type": "git-clone", + "description": "Pixel-Forge is a powerful suite of custom nodes for ComfyUI designed for complex image processing, computer vision tasks, and advanced batch operations. This toolkit moves beyond simple image generation, providing the essential building blocks for creating sophisticated, logic-driven workflows." + }, + { + "author": "ThunderBolt4931", + "title": "ComfyUI-Koolook", + "reference": "https://github.com/malkuthro/ComfyUI-Koolook", + "files": [ + "https://github.com/malkuthro/ComfyUI-Koolook" + ], + "install_type": "git-clone", + "description": "This repository provides custom nodes for ComfyUI tailored for VFX and AI image/video generation workflows" + }, + { + "author": "AI-TEC", + "title": "ComfyUI_AITECCAFE_Toolkit", + "reference": "https://github.com/AI-TEC/ComfyUI-AITECCAFE-Toolkit", + "files": [ + "https://github.com/AI-TEC/ComfyUI-AITECCAFE-Toolkit" + ], + "install_type": "git-clone", + "description": "This custom node includes the following functions: Chat_GPT, image_moderation, media_loader, merge_strings, sequential_image_loader." + }, + { + "author": "Glidias", + "title": "mask2sam", + "reference": "https://github.com/Glidias/mask2sam", + "files": [ + "https://github.com/Glidias/mask2sam" + ], + "install_type": "git-clone", + "description": "Mask to SAM2 segmentation ComfyUI custom node" + }, + { + "author": "BAIKEMARK", + "title": "Civitai Toolkit", + "reference": "https://github.com/BAIKEMARK/ComfyUI-Civitai-Toolkit", + "files": [ + "https://github.com/BAIKEMARK/ComfyUI-Civitai-Toolkit" + ], + "install_type": "git-clone", + "description": "All-in-one Civitai integration center for ComfyUI — browse online models, manage local assets,analyze community trends, and instantly apply full recipes within your workflow." + }, + { + "author": "synystersocks", + "title": "ComfyUI-SocksLatentPatcher", + "reference": "https://github.com/synystersocks/ComfyUI-SocksLatentPatcher", + "files": [ + "https://github.com/synystersocks/ComfyUI-SocksLatentPatcher" + ], + "install_type": "git-clone", + "description": "This node circumnavigates the loss of detail, saturation/desaturation for infinite length video generation, the node bypasses the vae decode and directly patches the latent tensor. experimental covering i2v and vace extend." + }, + { + "author": "Hearmeman24", + "title": "ComfyUI Pinecone Prompt Upserter", + "reference": "https://github.com/Hearmeman24/ComfyUI-Pinecone", + "files": [ + "https://github.com/Hearmeman24/ComfyUI-Pinecone" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for managing image generation prompts using Pinecone vector database with OpenAI embeddings. Features interactive approval with image preview for quality control." + }, + { + "author": "Hearmeman24", + "title": "ComfyUI-LoRAPlotNode", + "reference": "https://github.com/Hearmeman24/ComfyUI-LoRAPlotNode", + "files": [ + "https://github.com/Hearmeman24/ComfyUI-LoRAPlotNode" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for testing multiple LoRA models across different strength values. Automatically generates model/clip pairs for each LoRA-strength combination and includes an image saver node with text overlay for easy identification." + }, + { + "author": "piscesbody", + "title": "ComfyUI-Upscale-CUDAspeed", + "reference": "https://github.com/piscesbody/ComfyUI-Upscale-CUDAspeed", + "files": [ + "https://github.com/piscesbody/ComfyUI-Upscale-CUDAspeed" + ], + "install_type": "git-clone", + "description": "A high-performance image upscaling plugin for ComfyUI with CUDA acceleration, multi-GPU support, mixed precision, and Tensor Core optimization" + }, + { + "author": "iGavroche", + "title": "Ninode Utils", + "reference": "https://github.com/iGavroche/ComfyUI-Ninode-Utils", + "files": [ + "https://github.com/iGavroche/ComfyUI-Ninode-Utils" + ], + "install_type": "git-clone", + "description": "Utility nodes for ComfyUI including OpenAI Compatible Chat - Works with any OpenAI-compatible API endpoint including Lemonade, Ollama, OpenAI API, and LM Studio" + }, + { + "author": "iGavroche", + "title": "RocM Ninodes", + "reference": "https://github.com/iGavroche/rocm-ninodes", + "files": [ + "https://github.com/iGavroche/rocm-ninodes" + ], + "install_type": "git-clone", + "description": "ROCM Optimized Nodes for ComfyUI - High-performance VAE decode and sampling nodes specifically tuned for AMD GPUs with ROCm support, particularly targeting gfx1151 architecture" + }, + { + "author": "mikecaronna", + "title": "C2PA Image Signer - ComfyUI Custom Node", + "reference": "https://github.com/mikecaronna/comfyui_c2pa_signer", + "files": [ + "https://github.com/mikecaronna/comfyui_c2pa_signer" + ], + "install_type": "git-clone", + "description": "This is a tool that lets you digitally sign your images to prove you created them. Think of it like putting an invisible, tamper-proof seal on your artwork that says 'I made this.'" + }, + { + "author": "wgedeon", + "title": "comfyui_play_traversal", + "reference": "https://github.com/wgedeon/comfyui_play_traversal", + "files": [ + "https://github.com/wgedeon/comfyui_play_traversal" + ], + "install_type": "git-clone", + "description": "Provides a structured model and helper nodes for producing long video sequences on ComfyUI using low vram machines." + }, + { + "author": "ShammiG", + "title": "ComfyUI VAE Timestamp Clock SG", + "reference": "https://github.com/ShammiG/ComfyUI-VAE-Timestamp-Clock-SG", + "files": [ + "https://github.com/ShammiG/ComfyUI-VAE-Timestamp-Clock-SG" + ], + "install_type": "git-clone", + "description": "Shows Total Time Taken Only for the VAE Decode. Also shows the Timestamps for VAE start/stop." + }, + { + "author": "ShammiG", + "title": "ComfyUI Show Clock in CMD Console SG", + "reference": "https://github.com/ShammiG/ComfyUI-Show-Clock-in-CMD-Console-SG", + "files": [ + "https://github.com/ShammiG/ComfyUI-Show-Clock-in-CMD-Console-SG" + ], + "install_type": "git-clone", + "description": "This comfyUI node intializes at startup automatically and displays the clock in CMD console when Process starts and ends." + }, + { + "author": "ShammiG", + "title": "ComfyUI Image Properties SG", + "reference": "https://github.com/ShammiG/ComfyUI-Image_Properties_SG", + "files": [ + "https://github.com/ShammiG/ComfyUI-Image_Properties_SG" + ], + "install_type": "git-clone", + "description": "View general image properties of image: Dimension, Resolution, Aspect Ratio, Tensor Size (including batch)" + }, + { + "author": "shammi-g", + "title": "ComfyUI-Simple_Readable_Metadata-SG", + "reference": "https://github.com/ShammiG/ComfyUI-Simple_Readable_Metadata-SG", + "files": [ + "https://github.com/ShammiG/ComfyUI-Simple_Readable_Metadata-SG" + ], + "install_type": "git-clone", + "description": "View Image Metadata of ComfyUI as well as of ForgeUI or Automatic 1111 generated images in Easily Readable Format" + }, + { + "author": "ShammiG", + "title": "ComfyUI-Show_Any_Text_in_CMD_Console-SG", + "reference": "https://github.com/ShammiG/ComfyUI-Show_Any_Text_in_CMD_Console-SG", + "files": [ + "https://github.com/ShammiG/ComfyUI-Show_Any_Text_in_CMD_Console-SG" + ], + "install_type": "git-clone", + "description": "Simple node to show ANY output text in the CMD console with color options" + }, + { + "author": "ShammiG", + "title": "ComfyUI_Text_Tools_SG", + "reference": "https://github.com/ShammiG/ComfyUI_Text_Tools_SG", + "files": [ + "https://github.com/ShammiG/ComfyUI_Text_Tools_SG" + ], + "install_type": "git-clone", + "description": "Text Editor node with Markdown editing plus quick shortcuts, Text Viewer node, with extra features plus Text Merge, Text Save and Load Text from anywhere nodes." + }, + { + "author": "bgreene2", + "title": "ComfyUI-Hunyuan-Image-3", + "reference": "https://github.com/bgreene2/ComfyUI-Hunyuan-Image-3", + "files": [ + "https://github.com/bgreene2/ComfyUI-Hunyuan-Image-3" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that provides a basic implementation of Hunyuan Image 3.0 using Transformers." + }, + { + "author": "Seungyong Lee", + "title": "ComfyUI-PromptEnhancer", + "id": "comfyui-promptenhancer", + "reference": "https://github.com/ryan-seungyong-lee/ComfyUI-PromptEnhancer", + "files": [ + "https://github.com/ryan-seungyong-lee/ComfyUI-PromptEnhancer" + ], + "install_type": "git-clone", + "description": "ComfyUI-PromptEnhancer is a custom node for Hunyuan PromptEnhancer" + }, + { + "author": "scofano", + "title": "Comfy Text Stats", + "id": "comfy-text-stats", + "reference": "https://github.com/scofano/comfy-text-stats", + "files": [ + "https://github.com/scofano/comfy-text-stats" + ], + "install_type": "git-clone", + "description": "Node: Text Stats (Char & Word Count). A lightweight ComfyUI custom node that takes a text string and outputs character and word counts (INT). Ideal for caption preprocessing, prompt analytics, and dataset workflows." + }, + { + "author": "scofano", + "title": "Audio Duration", + "id": "comfy-audio-duration", + "reference": "https://github.com/scofano/comfy-audio-duration", + "files": [ + "https://github.com/scofano/comfy-audio-duration" + ], + "install_type": "git-clone", + "description": "Returns the duration of an audio source, which can be provided either as a filesystem path or as raw audio data (samples and sample rate) from an upstream node. Duration calculation primarily uses ffprobe (from FFmpeg) for paths, or calculates the duration directly from samples/SR if no path is available." + }, + { + "author": "scofano", + "title": "Advanced Text Overlay", + "reference": "https://github.com/scofano/ComfyUI-Advanced-TextOverlay", + "files": [ + "https://github.com/scofano/ComfyUI-Advanced-TextOverlay" + ], + "install_type": "git-clone", + "description": "Advanced Text Overlay Node for ComfyUI featuring rebuilt rendering logic, precise alignment, custom fonts, and extended styling controls." + }, + { + "author": "scofano", + "title": "Simple Video Effects", + "reference": "https://github.com/scofano/ComfyUI-Simple-video-effects", + "files": [ + "https://github.com/scofano/ComfyUI-Simple-video-effects" + ], + "install_type": "git-clone", + "description": "Nodes for Video effects. Zoom In/Out - new features soon." + }, + { + "author": "voxta-ai", + "title": "Voxta ComfyUI Nodes", + "reference": "https://github.com/voxta-ai/ComfyUI-VoxtaNodes", + "files": [ + "https://github.com/voxta-ai/ComfyUI-VoxtaNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to create and integrate with Voxta" + }, + { + "author": "casc1701", + "title": "ComfyUI_OverlayFrameNumber", + "reference": "https://github.com/casc1701/ComfyUI_OverlayFrameNumber", + "files": [ + "https://github.com/casc1701/ComfyUI_OverlayFrameNumber" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node to overlay frame numbers on images (e.g., from VAE Decode) with customizable prefix, zero-padding, font, position, and text outline." + }, + { + "author": "bobosola", + "title": "ComfyUI-reboot", + "reference": "https://github.com/bobosola/ComfyUI-reboot", + "files": [ + "https://github.com/bobosola/ComfyUI-reboot" + ], + "install_type": "git-clone", + "description": "Custom node to reboot ComfyUI server" + }, + { + "author": "AzelusLightvale", + "title": "ComfyUI ARG Toolkit", + "reference": "https://github.com/AzelusLightvale/ComfyUI-ARG-Toolkit", + "files": [ + "https://github.com/AzelusLightvale/ComfyUI-ARG-Toolkit" + ], + "install_type": "git-clone", + "description": "A collection of ComfyUI nodes for cryptography, steganography, encryption, decryption, and tools needed to both make and solve ARGs (Alternative Reality Games) and secret messages." + }, + { + "author": "Kayarte", + "title": "GeoNodes", + "reference": "https://github.com/Kayarte/GeoNodes", + "files": [ + "https://github.com/Kayarte/GeoNodes" + ], + "install_type": "git-clone", + "description": "GIS Processing Nodes for ComfyUI" + }, + { + "author": "Jairodaniel-17", + "title": "ComfyUI-translate-offline", + "reference": "https://github.com/Jairodaniel-17/ComfyUI-translate-offline", + "files": [ + "https://github.com/Jairodaniel-17/ComfyUI-translate-offline" + ], + "install_type": "git-clone", + "description": "ComfyUI-translate-offline is a custom node for ComfyUI designed to perform offline text translations using ONNX–based translation models from Hugging Face. The project enables integrating multilingual translations into ComfyUI workflows, focusing on text prompts and conditioning for CLIP models. It supports direct translation between configured language pairs as well as pivot translation via English when no direct model exists. It uses lazy model loading to optimize performance and a SQLite-based caching system to avoid repeated translations." + }, + { + "author": "PiePieDesign", + "title": "PiePieTweaks", + "id": "piepie-tweaks", + "reference": "https://github.com/PiePieDesign/PiePieTweaks", + "files": [ + "https://github.com/PiePieDesign/PiePieTweaks" + ], + "install_type": "git-clone", + "description": "Tweaks and simple nodes for usability and common needs" + }, + { + "author": "turnbros", + "title": "ComfyBros - Custom ComfyUI Nodes", + "reference": "https://github.com/turnbros/ComfyBros", + "files": [ + "https://github.com/turnbros/ComfyBros" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for enhanced text and image processing" + }, + { + "author": "siraxe", + "title": "ComfyUI-WanVideoWrapper_QQ", + "reference": "https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ", + "files": [ + "https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI providing video manipulation, LoRA loading, path animation, and visual drawing tools for WanVideo workflows." + }, + { + "author": "sonnybox", + "title": "ComfyUI-SuperNodes", + "id": "supernodes", + "reference": "https://github.com/sonnybox/ComfyUI-SuperNodes", + "files": [ + "https://github.com/sonnybox/ComfyUI-SuperNodes" + ], + "install_type": "git-clone", + "description": "A miscellaneous node pack of custom implementations needed for workflows released by my SuperComfy YouTube channel." + }, + { + "author": "heyburns", + "title": "PortraitUtils", + "id": "portraitutils", + "reference": "https://github.com/heyburns/PortraitUtils", + "files": [ + "https://github.com/heyburns/PortraitUtils" + ], + "install_type": "git-clone", + "description": "A focused node collection designed for pipelines using real photographic images where resolutions are not standardized like they are in text-to-image generation." + }, + { + "author": "heyburns", + "title": "Image Chooser Classic", + "reference": "https://github.com/heyburns/image-chooser-classic", + "files": [ + "https://github.com/heyburns/image-chooser-classic" + ], + "install_type": "git-clone", + "description": "A modern re-implementation of the classic [a/cg-image-picker](https://github.com/chrisgoringe/cg-image-picker) ComfyUI nodes. Keep the workflow-pausing image selection experience while shedding the legacy compatibility shims." + }, + { + "author": "Amir Ferdos (ArchAi3d)", + "title": "ComfyUI-ArchAi3d-Qwen", + "id": "archai3d-qwen", + "reference": "https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen", + "files": [ + "https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen" + ], + "install_type": "git-clone", + "description": "Professional AI Interior Design Toolkit for ComfyUI. Custom Qwen-VL nodes with 4 design modes: Text-to-Design, Mood Board, Reference Control, and Room Cleaning. Includes 5 optimized nodes with advanced strength controls and 23 preferred aspect ratios.", + "nodename_pattern": "ArchAi3D" + }, + { + "author": "Amir Ferdos (ArchAi3d)", + "title": "ComfyUI-GRAG-ArchAi3D", + "id": "grag-archai3d", + "reference": "https://github.com/amir84ferdos/ComfyUI-GRAG-ArchAi3D", + "files": [ + "https://github.com/amir84ferdos/ComfyUI-GRAG-ArchAi3D" + ], + "install_type": "git-clone", + "description": "Advanced GRAG (Guided Region-Adaptive Guidance) implementation for ComfyUI. Features: Simple Controller (3 parameters) for beginners, Unified Controller (25+ parameters) for experts, Advanced Sampler with v2.2.1 contamination fix, Preset Manager with 54 curated presets, per-layer control, adaptive schedules, and multi-resolution support.", + "pip": ["PyYAML>=6.0"] + }, + { + "author": "pizurny", + "title": "ComfyUI Latent Transform Sampler", + "reference": "https://github.com/pizurny/Comfyui-Latent-Transform-Sampler", + "files": [ + "https://github.com/pizurny/Comfyui-Latent-Transform-Sampler" + ], + "install_type": "git-clone", + "description": "Advanced latent space transformations during diffusion sampling with precise control over timing and distribution." + }, + { + "author": "pizurny", + "title": "ComfyUI-AV-Handles", + "reference": "https://github.com/pizurny/ComfyUI-AV-Handles", + "files": [ + "https://github.com/pizurny/ComfyUI-AV-Handles" + ], + "install_type": "git-clone", + "description": "Audio/Video handle management for ComfyUI workflows\nAdd and remove stabilization frames with synchronized audio for video diffusion models." + }, + { + "author": "DaniilVdovin", + "title": "ComfyUI Prompt Template", + "reference": "https://github.com/DaniilVdovin/ComfyUI-prompt-templating", + "files": [ + "https://github.com/DaniilVdovin/ComfyUI-prompt-templating" + ], + "install_type": "git-clone", + "description": "Easily replace variables like *obj or *style in your prompts using templates." + }, + { + "author": "jonstreeter", + "title": "ComfyUI — Compressed Metadata", + "reference": "https://github.com/jonstreeter/comfyui-compressed-metadata", + "files": [ + "https://github.com/jonstreeter/comfyui-compressed-metadata" + ], + "install_type": "git-clone", + "description": "Load & save ComfyUI workflows embedded in image metadata — with optional zlib+base64 compression for JPEG/WEBP — and batch convert folders. PNG drops still work natively; JPEG/WEBP with compressed workflows are handled by this extension." + }, + { + "author": "jonstreeter", + "title": "comfyui-Lora-Tag-Power-Loader", + "reference": "https://github.com/jonstreeter/comfyui-Lora-Tag-Power-Loader", + "files": [ + "https://github.com/jonstreeter/comfyui-Lora-Tag-Power-Loader" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node that combines text-based LoRA tag detection with advanced dual noise weight support, perfect for WanVideo/Hunyuan Video workflows." + }, + { + "author": "PatrickBorkowicz", + "title": "ComfyUI-ImmichUploader", + "reference": "https://github.com/PatrickBorkowicz/ComfyUI-ImmichUploader", + "files": [ + "https://github.com/PatrickBorkowicz/ComfyUI-ImmichUploader" + ], + "install_type": "git-clone", + "description": "Upload images (directly from your graph) and files (e.g., videos written to disk) to Immich." + }, + { + "author": "GZK1108", + "title": "Comfyui-QwenLoraLoaderSelective", + "reference": "https://github.com/GZK1108/Comfyui-QwenLoraLoaderSelective", + "files": [ + "https://github.com/GZK1108/Comfyui-QwenLoraLoaderSelective" + ], + "install_type": "git-clone", + "description": "LordLoraQwenEdit is a ComfyUI custom node for Qwen Image Image Edit pipelines. It selectively applies Qwen Image edit LoRAs to specific UNet transformer layers based on keyword filters, keeping the rest of the network untouched for precise control." + }, + { + "author": "leeooo001", + "title": "comfyui-Hunyuan-PromptEnhancer", + "reference": "https://github.com/leeooo001/comfyui-Hunyuan-PromptEnhancer", + "files": [ + "https://github.com/leeooo001/comfyui-Hunyuan-PromptEnhancer" + ], + "install_type": "git-clone", + "description": "Unofficial wrapper for Hunyuan PromptEnhancer" + }, + { + "author": "eddyhhlure1Eddy", + "title": "ComfyUI-TorchCompileSpeed", + "reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-TorchCompileSpeed", + "files": [ + "https://github.com/eddyhhlure1Eddy/ComfyUI-TorchCompileSpeed" + ], + "install_type": "git-clone", + "description": "Standalone torch.compile optimization node for ComfyUI with speed-focused presets" + }, + { + "author": "eddyhhlure1Eddy", + "title": "I-Ching-Informed Adaptive ODE Scheduler", + "reference": "https://github.com/eddyhhlure1Eddy/ode-ComfyUI-WanVideoWrapper", + "files": [ + "https://github.com/eddyhhlure1Eddy/ode-ComfyUI-WanVideoWrapper" + ], + "install_type": "git-clone", + "description": "The ode v2 version is a creative sampler characterized by low contrast, near-realistic quality, and artistic creation. It can only be used with high noise for 6 steps, low noise for 2 steps, and a middle split step of 4 steps. It requires a unique LoRA, which is currently in training and undergoing refinement, and is only in the testing phase. This version offers multiple options for you to choose from, and my recommendation is to go with robust-smooth or even lower. Stay tuned for the official release." + }, + { + "author": "eddyhhlure1Eddy", + "title": "ComfyUI-EddySevenResonance", + "reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-EddySevenResonance", + "files": [ + "https://github.com/eddyhhlure1Eddy/ComfyUI-EddySevenResonance" + ], + "install_type": "git-clone", + "description": "lucky_seed" + }, + { + "author": "maikgreubel", + "title": "Load DDS File Node", + "reference": "https://github.com/maikgreubel/comfyui-loaddds", + "files": [ + "https://github.com/maikgreubel/comfyui-loaddds" + ], + "install_type": "git-clone", + "description": "A simple node for loading DDS (DirectDraw Surface) texture files into a PyTorch tensor.\nThe node is designed to be used in visual programming frameworks that support custom nodes (e.g., ComfyUI, AUTOMATIC1111)." + }, + { + "author": "IAMCCS", + "title": "IAMCCS-nodes", + "id": "iamccs-nodes", + "reference": "https://github.com/IAMCCS/IAMCCS-nodes", + "files": [ + "https://github.com/IAMCCS/IAMCCS-nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes by IAMCCS, including a critical fix for LoRA loading in native WANAnimate workflows, especially useful for advanced models like FLUX and WAN 2.1. This bypasses the need for the WanVideoWrapper for LoRA functionality." + }, + { + "author": "IAMCCS Annotate", + "title": "IAMCCS_annotate - Free-hand drawing tool for ComfyUI", + "id": "IAMCCS-Annotate", + "reference": "https://github.com/IAMCCS/IAMCCS_annotate", + "files": [ + "https://github.com/IAMCCS/IAMCCS_annotate" + ], + "install_type": "git-clone", + "description": "A powerful drawing and annotation tool for ComfyUI that lets you add notes, sketches, and annotations directly on your workflow canvas with full layer support." + }, + { + "author": "michael", + "title": "ComfyUI ML Nodes", + "reference": "https://github.com/MichaelMaxAgent/comfyui_ML_nodes", + "files": [ + "https://github.com/MichaelMaxAgent/comfyui_ML_nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for saving images/videos without metadata and GPU-accelerated frame rate processing (25fps→16fps). Includes 5 nodes: Save Image/Video (No Metadata), Frame Rate Resampler (CPU/GPU). Supports CUDA acceleration and multiple nterpolation methods. Requires ffmpeg." + }, + { + "author": "leewinder", + "title": "Crop To Center", + "reference": "https://github.com/leewinder/comfyui-crop-to-center", + "files": [ + "https://github.com/leewinder/comfyui-crop-to-center" + ], + "install_type": "git-clone", + "description": "A custom node that crops images to specified dimensions from a center point with optional offset" + }, + { + "author": "leewinder", + "title": "Mureka API", + "reference": "https://github.com/leewinder/comfyui-mureka-api", + "files": [ + "https://github.com/leewinder/comfyui-mureka-api" + ], + "install_type": "git-clone", + "description": "A set of ComfyUI custom nodes allowing the use of the Mureka API in your workflows" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-MeshCraft", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-MeshCraft", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-MeshCraft" + ], + "install_type": "git-clone", + "description": "A custom node that crops images to specified dimensions from a center point with optional offset" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-Grounding", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-Grounding", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-Grounding" + ], + "install_type": "git-clone", + "description": "Grounding for dummies, simplest workflow" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI libigl", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-GeometryPack", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-GeometryPack" + ], + "install_type": "git-clone", + "description": "libigl geometry processing wrapper for ComfyUI - mesh manipulation and analysis nodes" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-HunyuanX", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-HunyuanX", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-HunyuanX" + ], + "install_type": "git-clone", + "description": "Hunyuan 3D 2.1 image-to-3D generation nodes for ComfyUI with PBR texturing and model caching. Granular control for research." + }, + { + "author": "pznodes", + "title": "ComfyUI-DepthAnythingV3", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-DepthAnythingV3", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-DepthAnythingV3" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use Depth Anything V3 - the latest depth estimation model from ByteDance. For now monocular depth, camera pose estimation and 3D point clouds/gaussians are supported. Models autodownload from HuggingFace (depth-anything org). This is a first draft, let me know if you have any feedback! :)" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-SAM3", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-SAM3", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-SAM3" + ], + "install_type": "git-clone", + "description": "ComfyUI integration for Meta's SAM3 model enabling open-vocabulary image segmentation using natural language text prompts, with automatic model download, geometric refinement, and flexible confidence thresholds." + }, + { + "author": "pznodes", + "title": "ComfyUI-SAM3DBody", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-SAM3DBody", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-SAM3DBody" + ], + "install_type": "git-clone", + "description": "SAM 3D Body integration for ComfyUI - Robust full-body human mesh recovery from single images. Reconstruct 3D human meshes with pose, shape, and hand details. First draft, please open a github issue if you have any problems or feature requests :)" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-Sharp", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-Sharp", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-Sharp" + ], + "install_type": "git-clone", + "description": "SHARP integration for ComfyUI - Monocular 3D Gaussian Splatting in under 1 second. Generate 3D Gaussians from a single image using Apple's SHARP model." + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-BGPSeg", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-BGPSeg", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-BGPSeg" + ], + "install_type": "git-clone", + "description": "BGPSeg: Boundary-Guided Primitive Segmentation - Originally from ComfyUI-CADabra" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-SECADNET", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-SECADNET", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-SECADNET" + ], + "install_type": "git-clone", + "description": "SECAD-Net: Sketch-Extrude CAD Reconstruction - Originally from ComfyUI-CADabra" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-Cadrille", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-Cadrille", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-Cadrille" + ], + "install_type": "git-clone", + "description": "Cadrille: Multi-modal CAD Reconstruction - Originally from ComfyUI-CADabra" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-NeurCADRecon", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-NeurCADRecon", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-NeurCADRecon" + ], + "install_type": "git-clone", + "description": "NeurCADRecon: Neural Implicit CAD Reconstruction - Originally from ComfyUI-CADabra" + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-MIDI3D", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-MIDI3D", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-MIDI3D" + ], + "install_type": "git-clone", + "description": "THIS NODE IS WIP. ComfyUI wrapper for MIDI-3D: Multi-Instance Diffusion for single image to compositional 3D scene generation." + }, + { + "author": "PozzettiAndrea", + "title": "ComfyUI-CameraPack", + "reference": "https://github.com/PozzettiAndrea/ComfyUI-CameraPack", + "files": [ + "https://github.com/PozzettiAndrea/ComfyUI-CameraPack" + ], + "install_type": "git-clone", + "description": "Camera utilities for ComfyUI. Convert between camera formats (DA3 extrinsics/intrinsics to Load3DCamera for Preview3D)." + }, + { + "author": "rookiestar28", + "title": "Danbooru Tags Upsampler for ComfyUI", + "id": "danbooru-tags-upsampler", + "reference": "https://github.com/rookiestar28/ComfyUI-Danbooru-Tags-Upsampler", + "files": [ + "https://github.com/rookiestar28/ComfyUI-Danbooru-Tags-Upsampler" + ], + "install_type": "git-clone", + "description": "Makes the prompts for generating anime images more detailed by upsampling Danbooru tags." + }, + { + "author": "rookiestar28", + "title": "ComfyUI Text Processor", + "id": "ComfyUI_Text_Processor", + "reference": "https://github.com/rookiestar28/ComfyUI_Text_Processor", + "files": [ + "https://github.com/rookiestar28/ComfyUI_Text_Processor" + ], + "install_type": "git-clone", + "description": "The ultimate text processing suite for ComfyUI. Now features Batch Cleaning, LLM Parsing, Dynamic Wildcards, Image and Logic Tools for sophisticated automation." + }, + { + "author": "rookiestar28", + "title": "ComfyUI-Doctor", + "reference": "https://github.com/rookiestar28/ComfyUI-Doctor", + "files": [ + "https://github.com/rookiestar28/ComfyUI-Doctor" + ], + "install_type": "git-clone", + "description": "A continuous, real-time runtime diagnostics suite for ComfyUI. Automatic error interception, intelligent fix suggestions, and deep data flow inspection." + }, + { + "author": "rookiestar28", + "title": "ComfyUI-TranslateGemma", + "reference": "https://github.com/rookiestar28/ComfyUI-TranslateGemma", + "files": [ + "https://github.com/rookiestar28/ComfyUI-TranslateGemma" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that translates text (including prompts) using Google's open-weight TranslateGemma models." + }, + { + "author": "MoonMoon82", + "title": "ClipVision_Tools", + "reference": "https://github.com/MoonMoon82/ClipVision_Tools", + "files": [ + "https://github.com/MoonMoon82/ClipVision_Tools" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes using CLIP Vision models for image similarity analysis." + }, + { + "author": "pdale-boop", + "title": "Network Guardian", + "reference": "https://github.com/pdale-boop/Comfyui-Network-Guardian", + "files": [ + "https://github.com/pdale-boop/Comfyui-Network-Guardian" + ], + "install_type": "git-clone", + "description": "Protects ComfyUI workflows from network interruptions with automatic retry and fallback" + }, + { + "author": "pierreb-mf", + "title": "MF PipoNodes", + "reference": "https://github.com/pierreb-mf/ComfyUI-MF-PipoNodes", + "files": [ + "https://github.com/pierreb-mf/ComfyUI-MF-PipoNodes" + ], + "install_type": "git-clone", + "description": "Utility nodes for ComfyUI workflows: randomization, text processing, logging, and math operations." + }, + { + "author": "polym", + "title": "ComfyUI-musubi", + "reference": "https://github.com/polym/ComfyUI-musubi", + "files": [ + "https://github.com/polym/ComfyUI-musubi" + ], + "install_type": "git-clone", + "description": "This repository provides a custom node for ComfyUI to load diffusion models with musubi block-wise scaling." + }, + { + "author": "ChristopherLuciano", + "title": "LucianoTools ComfyUI Suite", + "reference": "https://github.com/ChristopherLuciano/ComfyUI-LucianoTools", + "files": [ + "https://github.com/ChristopherLuciano/ComfyUI-LucianoTools" + ], + "install_type": "git-clone", + "description": "A collection of useful user interface extensions for ComfyUI to improve workflow and provide helpful feedback." + }, + { + "author": "m3rr", + "title": "h4 ToolKit", + "reference": "https://github.com/m3rr/h4_ToolKit", + "files": [ + "https://github.com/m3rr/h4_ToolKit" + ], + "install_type": "git-clone", + "description": "A collection of useful user interface extensions for ComfyUI to improve workflow and provide helpful feedback." + }, + { + "author": "Pixelailabs", + "title": "Joy Caption Two - PixelaiLabs Edition", + "reference": "https://github.com/Pixelailabs/Joy_Caption_Two_PixelaiLabs", + "files": [ + "https://github.com/Pixelailabs/Joy_Caption_Two_PixelaiLabs" + ], + "install_type": "git-clone", + "description": "A fully automated ComfyUI custom node that uses Joy Caption Alpha Two to generate high-quality image captions. Perfect for: LoRA/model training dataset preparation, Image tagging and organization, NSFW content captioning, Batch processing large image collections" + }, + { + "author": "EricRollei", + "title": "Eric's Prompt Enhancers for ComfyUI", + "reference": "https://github.com/EricRollei/Local_LLM_Prompt_Enhancer", + "files": [ + "https://github.com/EricRollei/Local_LLM_Prompt_Enhancer" + ], + "install_type": "git-clone", + "description": "A comprehensive suite of AI-powered prompt enhancement nodes for ComfyUI using local LLMs (LM Studio or Ollama). Transform simple prompts into detailed, platform-optimized descriptions for video and image generation." + }, + { + "author": "EricRollei", + "title": "Comfy_HunyuanImage3", + "reference": "https://github.com/EricRollei/Comfy_HunyuanImage3", + "files": [ + "https://github.com/EricRollei/Comfy_HunyuanImage3" + ], + "install_type": "git-clone", + "description": "Professional ComfyUI custom nodes for Tencent's HunyuanImage-3.0 80B multimodal model, with multiple loading modes, smart memory management, large image generation with CPU offload, and optional prompt enhancement via LLM APIs." + }, + { + "author": "EricRollei", + "title": "Eric_Image_Processing_Nodes", + "reference": "https://github.com/EricRollei/Eric_Image_Processing_Nodes", + "files": [ + "https://github.com/EricRollei/Eric_Image_Processing_Nodes" + ], + "install_type": "git-clone", + "description": "A comprehensive collection of advanced image processing nodes for ComfyUI, featuring state-of-the-art denoising, enhancement, and restoration techniques with GPU acceleration and specialized film grain processing." + }, + { + "title": "Download Tools for ComfyUI", + "reference": "https://github.com/EricRollei/Download_Tools", + "files": [ + "https://github.com/EricRollei/Download_Tools" + ], + "install_type": "git-clone", + "description": "Comprehensive media downloading and web scraping nodes for ComfyUI. Download from 1000+ websites including Instagram, Reddit, Twitter, YouTube, TikTok using gallery-dl, yt-dlp, and advanced web scraping. Features: Gallery-dl downloader (100+ sites), Yt-dlp downloader (1000+ platforms), Web Image Scraper with 15+ site-specific handlers, browser cookie authentication, MCP integration for Claude Desktop.", + "author": "Eric Hiss (EricRollei)", + "nodename_pattern": "(Gallery-dl|Yt-dlp|Web.*Scraper)", + "tags": [ + "download", + "scraper", + "web", + "gallery-dl", + "yt-dlp", + "instagram", + "youtube", + "twitter", + "reddit", + "media", + "video", + "image", + "tiktok", + "deviantart", + "pixiv" + ] + }, + { + "author": "EricRollei", + "title": "PDF Tools - Advanced PDF Processing & OCR", + "id": "pdf-tools", + "reference": "https://github.com/EricRollei/PDF-Tools", + "files": [ + "https://github.com/EricRollei/PDF-Tools" + ], + "install_type": "git-clone", + "description": "Advanced PDF processing, OCR, Image and text parsing, smart image crop nodes for ComfyUI. Features include multi-language OCR (Surya, PaddleOCR VL), AI vision analysis (Florence-2, LayoutLMv3), advanced PDF extraction with quality assessment, spread detection for scanned books, and comprehensive layout analysis. Supports 90+ languages with multiple output formats.", + "tags": [ + "PDF", + "OCR", + "document", + "vision", + "Florence-2", + "Surya", + "PaddleOCR", + "LayoutLMv3", + "multilingual", + "layout-analysis" + ], + "category": "Document Processing" + }, + { + "author": "EricRollei", + "title": "AAA Metadata System", + "id": "aaa-metadata-system", + "reference": "https://github.com/EricRollei/AAA_Metadata_System", + "files": [ + "https://github.com/EricRollei/AAA_Metadata_System" + ], + "install_type": "git-clone", + "description": "Advanced metadata management and multi-format image save system for ComfyUI. Save/load with metadata for PNG, JPEG, TIFF, PSD (with layers), SVG, and WebP. Features XMP/TXT/JSON sidecar files, embedded EXIF/XMP, MWG-RS regions for face metadata, workflow tracking, LoRA/embedding detection, runtime execution hooks, and Automatic1111 compatibility. Preserve layers, alpha channels, and complete provenance across all formats.", + "nodename_pattern": "^(MetadataAwareSaveImage|Multi_LoRA_Loader|LoadImageLayers)" + }, + { + "author": "EricRollei", + "title": "HYPIR Image Restoration for ComfyUI", + "reference": "https://github.com/EricRollei/HYPIR-ComfyUI", + "files": [ + "https://github.com/EricRollei/HYPIR-ComfyUI" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for HYPIR image restoration using Stable Diffusion 2.1. Restores and upscales scanned or generated images with optional LM Studio prompt enhancement and tiled VAE processing for large resolutions.", + "nodename_pattern": "HYPIR" + }, + { + "author": "EricRollei", + "title": "Emu35-Comfyui-Nodes", + "reference": "https://github.com/EricRollei/Emu35-Comfyui-Nodes", + "files": [ + "https://github.com/EricRollei/Emu35-Comfyui-Nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI integration for BAAI's Emu3.5 multimodal models for text-to-image generation and multimodal understanding. (Description by CC)" + }, + { + "author": "EricRollei", + "title": "Qwen Layers Diffuser Pipeline", + "id": "qwen-layers-diffuser-pipeline", + "reference": "https://github.com/EricRollei/Qwen_Layers_Diffuser_Pipeline_Comfyui", + "files": [ + "https://github.com/EricRollei/Qwen_Layers_Diffuser_Pipeline_Comfyui" + ], + "install_type": "git-clone", + "description": "Decompose images into semantic RGBA layers using Qwen-Image-Layered model. Features AI-powered layer naming, PSD/TIFF export with proper layer structure, original resolution support, and VRAM management. Includes 18 nodes for layer decomposition, manipulation, and saving." + }, + { + "author": "EricRollei", + "title": "Refocus - Generative Refocusing", + "reference": "https://github.com/EricRollei/comfyui-refocus", + "files": [ + "https://github.com/EricRollei/comfyui-refocus" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Genfocus generative refocusing. Features DeblurNet (restore all-in-focus images), BokehNet (create realistic depth-of-field/bokeh effects), DepthPro depth estimation, and defocus map utilities. Uses FLUX.1-dev with specialized LoRA adapters." + }, + { + "author": "nomadoor", + "title": "ComfyUI Temporal Mask Tools", + "reference": "https://github.com/nomadoor/ComfyUI-Temporal-Mask-Tools", + "files": [ + "https://github.com/nomadoor/ComfyUI-Temporal-Mask-Tools" + ], + "install_type": "git-clone", + "description": "Utility collection of ComfyUI V3 nodes for stabilizing temporal segmentation masks while staying deterministic and torch-only." + }, + { + "author": "nomadoor", + "title": "ComfyUI Dual Panel Subgraph Viewer", + "reference": "https://github.com/nomadoor/ComfyUI-DualPanel-Subgraph-Viewer", + "files": [ + "https://github.com/nomadoor/ComfyUI-DualPanel-Subgraph-Viewer" + ], + "install_type": "git-clone", + "description": "A frontend extension for ComfyUI that allows you to open and edit subgraphs in a right-hand panel, instead of replacing the main canvas." + }, + { + "author": "neo-editer", + "title": "ComfyUI-Better-Dimensions-wan-v2", + "reference": "https://github.com/neo-editer/ComfyUI-Better-Dimensions-wan-v2", + "files": [ + "https://github.com/neo-editer/ComfyUI-Better-Dimensions-wan-v2" + ], + "install_type": "git-clone", + "description": "NODES: Better Image Dimensions, Standard SDXL Dimensions node, Dimensions by Ratio node, ..." + }, + { + "author": "Boba-svg", + "title": "ComfyUI-PromptSwitch", + "reference": "https://github.com/Boba-svg/ComfyUI-PromptSwitch", + "files": [ + "https://github.com/Boba-svg/ComfyUI-PromptSwitch" + ], + "install_type": "git-clone", + "description": "It’s a custom node that allows you to intuitively toggle prompts ON/OFF and adjust their weights — just like using a checklist." + }, + { + "author": "Boba-svg", + "title": "ComfyUI_AutoBatchRunner", + "reference": "https://github.com/Boba-svg/ComfyUI_AutoBatchRunner", + "files": [ + "https://github.com/Boba-svg/ComfyUI_AutoBatchRunner" + ], + "install_type": "git-clone", + "description": "ComfyUI UI extension that automates batch prompt execution with configurable run counts and intervals, featuring keyboard shortcuts and a fixed control panel for streamlined workflow automation." + }, + { + "author": "sysoutch", + "title": "ComfyUI Generator Add-on", + "reference": "https://github.com/sysoutch/blender-ComfyUIModelGenerator-addon", + "files": [ + "https://github.com/sysoutch/blender-ComfyUIModelGenerator-addon" + ], + "install_type": "git-clone", + "description": "A Blender add-on that integrates with ComfyUI for AI-powered model generation. Provides workflow management, image input handling, and real-time status tracking for seamless AI art creation within Blender's interface." + }, + { + "author": "NewLouwa", + "title": "ComfyUI Model Preset Pilot", + "reference": "https://github.com/NewLouwa/ComfyUI-Model_preset_Pilot", + "files": [ + "https://github.com/NewLouwa/ComfyUI-Model_preset_Pilot" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node module for managing model presets and configurations. This module automatically detects the model, loads/saves presets (sampler, scheduler, steps, CFG, clip-skip, seed, resolution), and generates/caches preview images per model." + }, + { + "author": "SquirrelRat", + "title": "MultiString Prompts", + "reference": "https://github.com/SquirrelRat/MultiString-Prompts", + "files": [ + "https://github.com/SquirrelRat/MultiString-Prompts" + ], + "install_type": "git-clone", + "description": "This is a simple but powerful custom node for ComfyUI, designed to help you manage and sequence multiple prompts from a single, clean interface.\nIt's ideal for workflows like sequential video generation where you need to feed a series of different prompts into your model." + }, + { + "author": "SquirrelRat", + "title": "WanVideoLooper", + "reference": "https://github.com/SquirrelRat/WanVideoLooper", + "files": [ + "https://github.com/SquirrelRat/WanVideoLooper" + ], + "install_type": "git-clone", + "description": "This is a set of custom nodes for ComfyUI designed for generating sequential long video clips based on the Wan 2.2 model architecture, handling continuity between segments and offering advanced control over the sampling process" + }, + { + "author": "OKIE5", + "title": "ComfyUI-CN-Pre", + "reference": "https://github.com/OKIE5/ComfyUI-CN-Pre", + "files": [ + "https://github.com/OKIE5/ComfyUI-CN-Pre" + ], + "install_type": "git-clone", + "description": "Ollama in ComfyUI" + }, + { + "author": "OmiX", + "title": "OmiXdev Custom Nodes", + "id": "omixdev-custom-nodes", + "reference": "https://github.com/omixmaxdimo/OmiXDev", + "files": [ + "https://github.com/omixmaxdimo/OmiXDev" + ], + "install_type": "git-clone", + "description": "A collection of custom node for online chat with APIKey to OpenAI ChatGpt4xx... Grok ...." + }, + { + "author": "AlcAI-AnimeHaven", + "title": "AlcAI Nodes for ComfyUI", + "reference": "https://github.com/AlcAI-AnimeHaven/AlcAI-nodes", + "files": [ + "https://github.com/AlcAI-AnimeHaven/AlcAI-nodes" + ], + "install_type": "git-clone", + "description": "AlcAI Nodes is a collection of custom nodes for ComfyUI, a modular interface for image generation with Stable Diffusion. This project focuses on tools optimized for creating anime-style images and stylized effects, inspired by the AnimeHaven universe. It aims to simplify workflows for artists and AI creativity enthusiasts." + }, + { + "author": "diffussy69", + "title": "ComfyUI-curved_weight_schedule", + "reference": "https://github.com/diffussy69/comfyui-curved_weight_schedule", + "files": [ + "https://github.com/diffussy69/comfyui-curved_weight_schedule" + ], + "install_type": "git-clone", + "description": "Custom Node for ComfyUI that allows you set a weighted curve to your ControlNet giving you more control over the weight of the model over the course of generation." + }, + { + "author": "smbdsbrain", + "title": "ComfyUI PK Load Image Paste", + "reference": "https://github.com/smbdsbrain/ComfyUI-PK_load_image_paste", + "files": [ + "https://github.com/smbdsbrain/ComfyUI-PK_load_image_paste" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that extends the standard Load Image functionality with a convenient 'Paste from clipboard' button. This allows you to directly paste images from your clipboard without workflow conflicts, ensuring only images are pasted." + }, + { + "author": "rdawgemfl", + "title": "RDAWG 3D Pack (CUDA 12.8 + PyTorch 2.9.0)", + "reference": "https://github.com/rdawgemfl/rdawg_3D_pack", + "files": [ + "https://github.com/rdawgemfl/rdawg_3D_pack" + ], + "install_type": "git-clone", + "description": "Modern 3D Processing Nodes for ComfyUI - Optimized for CUDA 12.8 + PyTorch 2.9.0" + }, + { + "author": "ashtar1984", + "title": "comfyui-find-perfect-resolution", + "reference": "https://github.com/ashtar1984/comfyui-find-perfect-resolution", + "files": [ + "https://github.com/ashtar1984/comfyui-find-perfect-resolution" + ], + "install_type": "git-clone", + "description": "This custom ComfyUI node, Find Perfect Resolution, calculates an optimal output resolution for an input image while preserving its aspect ratio and ensuring dimensions are divisible by a specified value. It is designed to work seamlessly in ComfyUI workflows, particularly for resizing images with nodes like 'Resize Image v2'." + }, + { + "author": "ashtar1984", + "title": "ComfyUI-SwitchPathLazy", + "reference": "https://github.com/ashtar1984/ComfyUI-SwitchPathLazy", + "files": [ + "https://github.com/ashtar1984/ComfyUI-SwitchPathLazy" + ], + "install_type": "git-clone", + "description": "Efficient lazy path switch for ComfyUI. Skips execution of the inactive branch entirely using native lazy evaluation. Includes live status display." + }, + { + "author": "cybernaut4", + "title": "Arkl1te's Toolkit", + "reference": "https://github.com/cybernaut4/comfyui_arkl1te_toolkit", + "files": [ + "https://github.com/cybernaut4/comfyui_arkl1te_toolkit" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI by Arkl1te" + }, + { + "author": "guyouyue", + "title": "ComfyUI_VideoAutoSplit", + "reference": "https://github.com/guyouyue/ComfyUI_VideoAutoSplit", + "files": [ + "https://github.com/guyouyue/ComfyUI_VideoAutoSplit" + ], + "install_type": "git-clone", + "description": "ComfyUI Video Auto-Cropping Tool — includes keyframe detection and automatic segmentation/saving based on keyframes." + }, + { + "author": "Analaser", + "title": "ComfyUI-RandomTagWeights", + "reference": "https://github.com/Analaser/ComfyUI-RandomTagWeights", + "files": [ + "https://github.com/Analaser/ComfyUI-RandomTagWeights" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that randomizes tag weights for text prompts. Useful for dynamic prompt generation or creative experimentation in AI image workflows." + }, + { + "author": "walke2019", + "title": "Qwen2.5-VL GGUF Nodes", + "reference": "https://github.com/walke2019/ComfyUI-GGUF-VLM", + "files": [ + "https://github.com/walke2019/ComfyUI-GGUF-VLM" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for running GGUF quantized Qwen2.5-VL models using llama.cpp" + }, + { + "author": "ussoewwin", + "title": "ComfyUI-NunchakuFluxLoraStacker", + "reference": "https://github.com/ussoewwin/ComfyUI-NunchakuFluxLoraStacker", + "files": [ + "https://github.com/ussoewwin/ComfyUI-NunchakuFluxLoraStacker" + ], + "install_type": "git-clone", + "description": "An advanced LoRA stacker node specifically designed for Nunchaku FLUX models, featuring dynamic UI control for easy and efficient LoRA management." + }, + { + "author": "ussoewwin", + "title": "ComfyUI-DistorchMemoryManager", + "reference": "https://github.com/ussoewwin/ComfyUI-DistorchMemoryManager", + "files": [ + "https://github.com/ussoewwin/ComfyUI-DistorchMemoryManager" + ], + "install_type": "git-clone", + "description": "An independent memory management custom node for ComfyUI. Provides Distorch memory management functionality for efficient GPU/CPU memory handling." + }, + { + "author": "ussoewwin", + "title": "ComfyUI-QwenImageLoraLoader", + "reference": "https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader", + "files": [ + "https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader" + ], + "install_type": "git-clone", + "description": "Standalone ComfyUI custom node for Nunchaku QwenImage LoRA loading functionality." + }, + { + "author": "cmeka", + "title": "ComfyUI-WanMoEScheduler", + "reference": "https://github.com/cmeka/ComfyUI-WanMoEScheduler", + "files": [ + "https://github.com/cmeka/ComfyUI-WanMoEScheduler" + ], + "install_type": "git-clone", + "description": "A ComfyUI scheduler that finds the shift value required to align high/low sampling steps with a target sigma boundary." + }, + { + "author": "l33chking", + "title": "ComfyUI Channel Ops", + "id": "ComfyUI-Channel-Ops", + "reference": "https://github.com/L33chKing/ComfyUI_Channel_Ops", + "files": [ + "https://github.com/L33chKing/ComfyUI_Channel_Ops" + ], + "install_type": "git-clone", + "description": "Comfyui custom node that modifies image channels with various per-channel operations" + }, + { + "author": "wallen0322", + "title": "ComfyUI-WanAnimate-Enhancer", + "reference": "https://github.com/wallen0322/ComfyUI-WanAnimate-Enhancer", + "files": [ + "https://github.com/wallen0322/ComfyUI-WanAnimate-Enhancer" + ], + "install_type": "git-clone", + "description": "Enhanced WanAnimateToVideo with multi-dimensional control" + }, + { + "author": "alibof96", + "title": "ComfyUI-DownscaleIRN", + "reference": "https://github.com/alibof96/ComfyUI-DownscaleIRN", + "files": [ + "https://github.com/alibof96/ComfyUI-DownscaleIRN" + ], + "install_type": "git-clone", + "description": "A single-node ComfyUI module for Invertible Image Rescaling (IRN) that includes: automatic model download and discovery, BasicSR-based IRN_x2/x3/x4 loading, device/precision control, low-VRAM tiling, safe handling of non-divisible sizes, alpha channel preservation, and built-in bicubic/area fallback." + }, + { + "author": "L-Hugh", + "title": "ComfyUI-Lumina-DiMOO", + "reference": "https://github.com/L-Hugh/ComfyUI-Lumina-DiMOO", + "files": [ + "https://github.com/L-Hugh/ComfyUI-Lumina-DiMOO" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for Lumina-DiMOO. Please see the README for model weight download instructions." + }, + { + "author": "charlyad142", + "title": "ComfyUI Replicate Image Generation & Edit", + "reference": "https://github.com/charlyad142/comfyUI_charly_replicate_api", + "files": [ + "https://github.com/charlyad142/comfyUI_charly_replicate_api" + ], + "install_type": "git-clone", + "description": "This nodepack lets you use several Replicate models for image generation and editing: Qwen Image Edit Plus (Multi-Image) for editing multiple images using reference poses, Qwen Image Edit (Single Image) for single-image edits with text instructions, SeedEdit 3.0 (ByteDance) for advanced prompt-controlled editing, and Seedream 4.0 (ByteDance) for high-quality multi-resolution image generation." + }, + { + "author": "IXIWORKS-KIMJUNGHO", + "title": "ComfyUI-VideoDescription", + "id": "comfyui-videodescription", + "reference": "https://github.com/IXIWORKS-KIMJUNGHO/ComfyUI-VideoDescription", + "files": [ + "https://github.com/IXIWORKS-KIMJUNGHO/ComfyUI-VideoDescription" + ], + "install_type": "git-clone", + "description": "Video description nodes using Qwen3-VL and NVIDIA DAM models, plus StoryBoard JSON prompt generation nodes for structured scene and character prompts." + }, + { + "author": "pacchikAI", + "title": "ImagePromptBatch", + "reference": "https://github.com/pacchikAI/comfyui_pacchik_ImagePromptBatch", + "files": [ + "https://github.com/pacchikAI/comfyui_pacchik_ImagePromptBatch" + ], + "install_type": "git-clone", + "description": "A simple comfyui Node for Loading images and thier prompts" + }, + { + "author": "tenitsky", + "title": "ComfyUI Prompt Cycler Node", + "reference": "https://github.com/tenitsky/tenitsky-prompt-cycler-simple", + "files": [ + "https://github.com/tenitsky/tenitsky-prompt-cycler-simple" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that cycles through an infinite number of prompts" + }, + { + "author": "Antique3e", + "title": "ComfyUI Credit Tracker", + "reference": "https://github.com/Antique3e/ComfyUI-ModalCredits", + "files": [ + "https://github.com/Antique3e/ComfyUI-ModalCredits" + ], + "install_type": "git-clone", + "description": "Simple UI extension to track Modal GPU credits in real-time." + }, + { + "author": "apenguin24", + "title": "ComfyUI-WanKeyframing", + "reference": "https://github.com/apenguin24/ComfyUI-WanKeyframing", + "files": [ + "https://github.com/apenguin24/ComfyUI-WanKeyframing" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node collection for keyframe-based video generation and batch image processing. This extension provides advanced tools for creating smooth video sequences from keyframes with intelligent conditioning and latent space interpolation." + }, + { + "author": "QuietNoise", + "title": "ComfyUI Queue Manager", + "reference": "https://github.com/QuietNoise/comfyui_queue_manager", + "files": [ + "https://github.com/QuietNoise/comfyui_queue_manager" + ], + "install_type": "git-clone", + "description": "An extension supporting more streamlined prompt queue management." + }, + { + "author": "Spin256", + "title": "spin256-comfyui", + "reference": "https://github.com/Spin256/spin256-comfyui", + "files": [ + "https://github.com/Spin256/spin256-comfyui" + ], + "install_type": "git-clone", + "description": "Nodes to enable easy selection of image/video sizes (width/height) and int/string selectors" + }, + { + "author": "tmode-1960", + "title": "TA-ComfyUI-Nodes-Pack", + "reference": "https://github.com/tmode-1960/TA-ComfyUI-Nodes-Pack", + "files": [ + "https://github.com/tmode-1960/TA-ComfyUI-Nodes-Pack" + ], + "install_type": "git-clone", + "description": "Some useful nodes for ComfyUI (model loader & extensions for EBU-LMStudio)" + }, + { + "author": "lakkiy", + "title": "ComfyUI-RWImageS3", + "reference": "https://github.com/lakkiy/ComfyUI-RWImageS3", + "files": [ + "https://github.com/lakkiy/ComfyUI-RWImageS3" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI extension that enables seamless integration with AWS S3 storage for reading and saving images directly within your ComfyUI workflows. This extension eliminates the need for manual file transfers by providing direct S3 connectivity for your image processing pipelines." + }, + { + "author": "TianDongL", + "title": "Blind_watermark_Comfyui", + "reference": "https://github.com/TianDongL/Blind_watermark_Comfyui", + "files": [ + "https://github.com/TianDongL/Blind_watermark_Comfyui" + ], + "install_type": "git-clone", + "description": "A powerful blind watermark plugin for ComfyUI that allows you to embed and extract invisible watermarks in images using frequency domain techniques (DWT-DCT-SVD)." + }, + { + "author": "wallen0322", + "title": "ComfyUI-Wan22FMLF", + "reference": "https://github.com/wallen0322/ComfyUI-Wan22FMLF", + "files": [ + "https://github.com/wallen0322/ComfyUI-Wan22FMLF" + ], + "install_type": "git-clone", + "description": "Multi-frame reference conditioning nodes for Wan2.2 A14B I2V models." + }, + { + "author": "wallen0322", + "title": "ComfyUI-AE-Animation", + "reference": "https://github.com/wallen0322/ComfyUI-AE-Animation", + "files": [ + "https://github.com/wallen0322/ComfyUI-AE-Animation" + ], + "install_type": "git-clone", + "description": "After Effects-style animation nodes for ComfyUI with timeline-based keyframe control, layer management, and real-time preview rendering. (Description by CC)" + }, + { + "author": "KursatAs", + "title": "Comfyui Krs Nodes", + "reference": "https://github.com/KursatAs/KrsNodes", + "files": [ + "https://github.com/KursatAs/KrsNodes" + ], + "install_type": "git-clone", + "description": "NODES: TextEncodeQwenImageEditKrsSimple, TextEncodeQwenImageEditKrsAdvanced, QwenImageEditLatentKrs, ..." + }, + { + "author": "Blacksnowskill", + "title": "BSS WD14 Batch Tagger", + "reference": "https://github.com/BlackSnowSkill/wd14_batch_tagger", + "files": [ + "https://github.com/BlackSnowSkill/wd14_batch_tagger" + ], + "install_type": "git-clone", + "description": "Automatic image tagging using WD14 models with batch processing and GPU acceleration for ComfyUI", + "category": "Image Processing", + "tags": ["image", "tagging", "wd14", "batch", "gpu"], + "pip": [ + "onnxruntime>=1.16.0", + "numpy>=1.24.0", + "pillow>=9.0.0", + "huggingface-hub>=0.16.0" + ] + }, + { + "author": "Novice_Chen", + "title": "ComfyUI-Simple-IndexTTs", + "reference": "https://github.com/NewNoviceChen/ComfyUI-Simple-IndexTTs", + "files": [ + "https://github.com/NewNoviceChen/ComfyUI-Simple-IndexTTs" + ], + "install_type": "git-clone", + "description": "Bilibili IndexTTS2 ComfyUI Version - Auto-downloads models, simple to use." + }, + { + "author": "WWWEN8", + "title": "ComfyUI-CCXManager", + "reference": "https://github.com/WWWEN8/ComfyUI-CCXManager", + "files": [ + "https://github.com/WWWEN8/ComfyUI-CCXManager" + ], + "install_type": "git-clone", + "description": "Set to run once, and the SD-PPP Photoshop plugin will be automatically updated when there are updates later, completely eliminating the need for manual updates on the Photoshop side." + }, + { + "author": "Fossiel", + "title": "ComfyUI-Fossiel-QoL-Nodes", + "reference": "https://github.com/Fossiel/ComfyUI-Fossiel-QoL-Nodes", + "files": [ + "https://github.com/Fossiel/ComfyUI-Fossiel-QoL-Nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI-Fossiel-QoL-Nodes is (what will hopefully become) a suite of custom nodes for ComfyUI to improve quality of life. These nodes have been developed for personal use but maybe you’ll find them useful as well." + }, + { + "author": "Fossiel", + "title": "ComfyUI-Fossiel-WAN-Additional-Tilers", + "reference": "https://github.com/Fossiel/ComfyUI-Fossiel-WAN-Additional-Tilers", + "files": [ + "https://github.com/Fossiel/ComfyUI-Fossiel-WAN-Additional-Tilers" + ], + "install_type": "git-clone", + "description": "Suite of nodes providing VAE tiling functionality for WAN conditioners to reduce VRAM usage while maintaining generation quality. (Description by CC)" + }, + { + "author": "rsxdalv", + "title": "TTS WebUI API nodes for ComfyUI", + "id": "tts-webui", + "reference": "https://github.com/rsxdalv/ComfyUI-TTS-Webui", + "files": [ + "https://github.com/rsxdalv/ComfyUI-TTS-Webui" + ], + "install_type": "git-clone", + "description": "Nodes: TTS WebUI Kokoro, TTS WebUI Chatterbox, TTS WebUI StyleTTS2, TTS WebUI Kitten TTS, TTS WebUI F5-TTS, TTS WebUI Preset\nAdd API key to environment variable 'TTS_WEBUI_OPENAI_API_KEY'\nAlternatively you can write your API key to file 'tts_api_key.txt'\nYou can also use and/or override the above by entering your API key in the 'api_key' field of each node." + }, + { + "author": "djdarcy", + "title": "Smart Resolution Calculator", + "reference": "https://github.com/DazzleNodes/ComfyUI-Smart-Resolution-Calc", + "files": [ + "https://github.com/DazzleNodes/ComfyUI-Smart-Resolution-Calc" + ], + "install_type": "git-clone", + "description": "Flexible resolution and latent generation for ComfyUI with toggle-based dimension inputs and automatic calculation of missing values" + }, + { + "author": "DazzleNodes", + "title": "ComfyUI-DazzleSwitch", + "reference": "https://github.com/DazzleNodes/ComfyUI-DazzleSwitch", + "files": [ + "https://github.com/DazzleNodes/ComfyUI-DazzleSwitch" + ], + "install_type": "git-clone", + "description": "Smart switch node for ComfyUI with dropdown-based input selection and INT override for cascading workflows. Route any data type through a named dropdown instead of moving noodles." + }, + { + "author": "yannickcruz", + "title": "ComfyUI YSC HighRes-Fix", + "reference": "https://github.com/yannickcruz/ComfyUI_YSC_HighResFix", + "files": [ + "https://github.com/yannickcruz/ComfyUI_YSC_HighResFix" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI designed to simplify the 'High-Resolution Fix' process. This node takes an input image, performs a direct upscale, and then re-encodes it into a latent image, preparing it for a final sampling pass to add details." + }, + { + "author": "GeekatplayStudio", + "title": "ComfyUI HiTem3D Integration", + "reference": "https://github.com/GeekatplayStudio/comfyui-hitem3d", + "files": [ + "https://github.com/GeekatplayStudio/comfyui-hitem3d" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI node collection that integrates with the HiTem3D API to generate high-quality 3D models from images, featuring advanced HTML preview capabilities and dynamic content generation." + }, + { + "author": "GeekatplayStudio", + "title": "ComfyUI-Text2Speech", + "reference": "https://github.com/GeekatplayStudio/ComfyUI-Text2Speech", + "files": [ + "https://github.com/GeekatplayStudio/ComfyUI-Text2Speech" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for text-to-speech integration with a local TTS server." + }, + { + "author": "wouterverweirder", + "title": "ComfyUI PenPlotter", + "reference": "https://github.com/wouterverweirder/comfyui-penplotter", + "files": [ + "https://github.com/wouterverweirder/comfyui-penplotter" + ], + "install_type": "git-clone", + "description": "Custom nodes to convert images to pen plotter files" + }, + { + "author": "wouterverweirder", + "title": "ComfyUI SAM3", + "reference": "https://github.com/wouterverweirder/comfyui_sam3", + "files": [ + "https://github.com/wouterverweirder/comfyui_sam3" + ], + "install_type": "git-clone", + "description": "Custom Nodes to work with SAM3" + }, + { + "author": "wouterverweirder", + "title": "comfyui_live_input_stream", + "reference": "https://github.com/wouterverweirder/comfyui_live_input_stream", + "files": [ + "https://github.com/wouterverweirder/comfyui_live_input_stream" + ], + "install_type": "git-clone", + "description": "Webcam & Screen Share Input Nodes with Cropping and Live Preview of the Cropped Stream" + }, + { + "author": "Aishor", + "title": "Meta-Sampler Guiado (Seed-WAN)", + "reference": "https://github.com/Aishor/comfyui-meta-sampler-guiado", + "files": [ + "https://github.com/Aishor/comfyui-meta-sampler-guiado" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node that implements the Guided Meta-Sampler for video outpainting." + }, + { + "author": "ModelTC", + "title": "ComfyUI-LightVAE", + "reference": "https://github.com/ModelTC/ComfyUI-LightVAE", + "files": [ + "https://github.com/ModelTC/ComfyUI-LightVAE" + ], + "install_type": "git-clone", + "description": "ComfyUI-LightVAE is a collection of LightX2V VAE custom nodes designed for ComfyUI, supporting high-performance video VAE models including LightVAE and LightTAE." + }, + { + "author": "yeeyou", + "title": "ComfyUI OpenAI Compatible API Node", + "reference": "https://github.com/yeeyou/ComfyUI-OpenAI-Compatible-API", + "files": [ + "https://github.com/yeeyou/ComfyUI-OpenAI-Compatible-API" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that supports OpenAI-compatible APIs, allowing it to call any large-language-model service compatible with the OpenAI API format (such as vLLM, LM Studio, Ollama, LocalAI, etc.)." + }, + { + "author": "koirpraw", + "title": "ComfyUI GCP Cloud Storage Integration", + "reference": "https://github.com/koirpraw/ComfyUI-GCP-storage-decouple", + "files": [ + "https://github.com/koirpraw/ComfyUI-GCP-storage-decouple" + ], + "install_type": "git-clone", + "description": "This custom node package provides seamless integration between ComfyUI and Google Cloud Platform (GCP) Cloud Storage, enabling you to run ComfyUI without relying on instance disk storage. decouple your storage needs from local disks by leveraging GCP's scalable and reliable Cloud Storage service. Models can be saved and loaded directly from Cloud Storage, while outputs and temporary files are automatically synced." + }, + { + "author": "myonmu0", + "title": "ComfyUI-Jumper", + "reference": "https://github.com/myonmu0/ComfyUI-Jumper", + "files": [ + "https://github.com/myonmu0/ComfyUI-Jumper" + ], + "install_type": "git-clone", + "description": "Pass string and images between multiple ComfyUI via socket. Easy and intuitive nodes for remote connection." + }, + { + "author": "FranckyB", + "title": "ComfyUI-Prompt-Manager", + "reference": "https://github.com/FranckyB/ComfyUI-Prompt-Manager", + "files": [ + "https://github.com/FranckyB/ComfyUI-Prompt-Manager" + ], + "install_type": "git-clone", + "description": "A simple custom node for ComfyUI that allows you to save and reuse prompts, organized into different categories" + }, + { + "author": "petr-pr", + "title": "ComfyUI-TranslationNode", + "reference": "https://github.com/petr-pr/ComfyUI-TranslationNode", + "files": [ + "https://github.com/petr-pr/ComfyUI-TranslationNode" + ], + "install_type": "git-clone", + "description": "Offline translation node for ComfyUI, powered by Facebook's M2M-100 multilingual model. Translate text between 100+ languages — completely offline and private." + }, + { + "author": "eRepublik-Labs", + "title": "ERPK Collection", + "reference": "https://github.com/eRepublik-Labs/comfyui-nodes-erpk", + "files": [ + "https://github.com/eRepublik-Labs/comfyui-nodes-erpk" + ], + "install_type": "git-clone", + "description": "A monorepo for ERPK's custom ComfyUI nodes, extending ComfyUI's functionality through integrations with various AI services and APIs." + }, + { + "author": "alFrame", + "title": "ComfyUI AF - Find Nodes", + "reference": "https://github.com/alFrame/ComfyUI-AF-Find-Nodes", + "files": [ + "https://github.com/alFrame/ComfyUI-AF-Find-Nodes" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that allows you to find and locate nodes by their ID, title, pack, or type in complex workflows." + }, + { + "author": "alFrame", + "title": "ComfyUI AF - Pack-Prompt-Nodes", + "reference": "https://github.com/alFrame/ComfyUI-AF-Pack-Prompt-Nodes", + "files": [ + "https://github.com/alFrame/ComfyUI-AF-Pack-Prompt-Nodes" + ], + "install_type": "git-clone", + "description": "A lightweight suite of ComfyUI custom nodes for AI prompt management and history tracking." + }, + { + "author": "alFrame", + "title": "ComfyUI AF - Enhanced-HTML-Note", + "reference": "https://github.com/alFrame/ComfyUI-AF-Enhanced-HTML-Note", + "files": [ + "https://github.com/alFrame/ComfyUI-AF-Enhanced-HTML-Note" + ], + "install_type": "git-clone", + "description": "A ComfyUI Note node with HTML capabilities. Create notes, UI's and ReadMe's directly inside the workflow using rich HTML formatting." + }, + { + "author": "loockluo", + "title": "ComfyUI WhisperX Pro", + "reference": "https://github.com/loockluo/comfyui-whisperx-pro", + "files": [ + "https://github.com/loockluo/comfyui-whisperx-pro" + ], + "install_type": "git-clone", + "description": "A professional ComfyUI custom node for accurate text-audio alignment using [a/WhisperX](https://github.com/m-bain/whisperX)." + }, + { + "author": "Revmagi", + "title": "DDM Bundle - ComfyUI Custom Nodes", + "reference": "https://github.com/Revmagi/DDM_bundle", + "files": [ + "https://github.com/Revmagi/DDM_bundle" + ], + "install_type": "git-clone", + "description": "Clean workflow routing nodes for ComfyUI. Say goodbye to spaghetti connections!" + }, + { + "author": "hardik-uppal", + "title": "ComfyUI-QwenVL-MultiImage", + "reference": "https://github.com/hardik-uppal/ComfyUI-QwenVL-MultiImage", + "files": [ + "https://github.com/hardik-uppal/ComfyUI-QwenVL-MultiImage" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node that integrates Qwen2.5-VL and Qwen3-VL vision-language models with multi-image support. Process multiple images simultaneously with advanced AI capabilities for image understanding, comparison, and analysis." + }, + { + "author": "ardadmrknn", + "title": "ComfyUI Prompt History Node", + "reference": "https://github.com/ardadmrknn/comfyui-history-clip-text-encode-node", + "files": [ + "https://github.com/ardadmrknn/comfyui-history-clip-text-encode-node" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that automatically saves your prompts, generated images, and workflow metadata into a browsable history, accessible directly from the node." + }, + { + "author": "EuphoricPenguin", + "title": "ComfyUI Resemble Enhance", + "reference": "https://github.com/EuphoricPenguin/resemble-enhance-comfyui", + "files": [ + "https://github.com/EuphoricPenguin/resemble-enhance-comfyui" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node for audio enhancement using Resemble AI's Resemble Enhance model. Created using OpenHands, Cline, and DeepSeek." + }, + { + "author": "DazzleNodes", + "title": "ComfyUI Fit Mask to Image", + "reference": "https://github.com/DazzleNodes/fit-mask-to-image", + "files": [ + "https://github.com/DazzleNodes/fit-mask-to-image" + ], + "install_type": "git-clone", + "description": "Automatically resizes masks to match image dimensions for seamless inpainting workflows." + }, + { + "author": "DazzleNodes", + "title": "DazzleNodes Collection", + "reference": "https://github.com/DazzleNodes/DazzleNodes", + "files": [ + "https://github.com/DazzleNodes/DazzleNodes" + ], + "install_type": "git-clone", + "description": "A curated collection of image/latent creation and transformation custom nodes for ComfyUI. Each node is independently developed and maintained, but packaged together for convenient installation." + }, + { + "author": "okdalto", + "title": "ComfyUI-WithAnyone", + "reference": "https://github.com/okdalto/ComfyUI-WithAnyone", + "files": [ + "https://github.com/okdalto/ComfyUI-WithAnyone" + ], + "install_type": "git-clone", + "description": "This repository is a ComfyUI port of the WithAnyone model introduced in the paper.\n[a/WithAnyone: Towards Controllable and ID-Consistent Image Generation (2025)](https://arxiv.org/abs/2510.14975)\nOriginal implementation: [a/Doby-Xu/WithAnyone](https://github.com/Doby-Xu/WithAnyone)." + }, + { + "author": "okdalto", + "title": "ComfyUI-PersonaLive", + "reference": "https://github.com/okdalto/ComfyUI-PersonaLive", + "files": [ + "https://github.com/okdalto/ComfyUI-PersonaLive" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node implementation of PersonaLive: Expressive Portrait Image Animation for Live Streaming, enabling portrait animation driven by reference images. (Description by CC)" + }, + { + "author": "okdalto", + "title": "ComfyUI-FlashPortrait", + "reference": "https://github.com/okdalto/ComfyUI-FlashPortrait", + "files": [ + "https://github.com/okdalto/ComfyUI-FlashPortrait" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for FlashPortrait that enable infinite-length portrait animation generation driven by video with automatic model downloading and flexible input options." + }, + { + "author": "hw5511", + "title": "Woohee HF Upscaler Loader", + "reference": "https://github.com/hw5511/comfyui_hf_upscaler_loader", + "files": [ + "https://github.com/hw5511/comfyui_hf_upscaler_loader" + ], + "install_type": "git-clone", + "description": "Load upscale models directly from Hugging Face Hub in ComfyUI" + }, + { + "author": "edoardocompagnucci", + "title": "ComfyUI-HSyn9DHPE", + "reference": "https://github.com/edoardocompagnucci/ComfyUI-HSyn9DHPE", + "files": [ + "https://github.com/edoardocompagnucci/ComfyUI-HSyn9DHPE" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for 9D Human Pose Estimation, integrating the [a/HSyn9DHPE](https://github.com/edoardocompagnucci/HSyn9DHPE) project." + }, + { + "author": "dskjal", + "title": "comfyui-yolov8-simple", + "reference": "https://github.com/dskjal/comfyui-yolov8-simple", + "files": [ + "https://github.com/dskjal/comfyui-yolov8-simple" + ], + "install_type": "git-clone", + "description": "Simple yolov8 comfyui plugin. This plugin adds Yolov8DetectionSegmentation node and ImageCompositeBlurred node." + }, + { + "author": "dskjal", + "title": "comfyui-yolov8-dsuksampler", + "reference": "https://github.com/dskjal/comfyui-yolov8-dsuksampler", + "files": [ + "https://github.com/dskjal/comfyui-yolov8-dsuksampler" + ], + "install_type": "git-clone", + "description": "This node performs detection and segmentation, as well as upsampling, sampling, and blurring the composite." + }, + { + "author": "WingeD123", + "title": "ComfyUI_QwenVL_PromptCaption", + "reference": "https://github.com/WingeD123/ComfyUI_QwenVL_PromptCaption", + "files": [ + "https://github.com/WingeD123/ComfyUI_QwenVL_PromptCaption" + ], + "install_type": "git-clone", + "description": "Leverages Qwen 2.5/3 VL for prompt inversion & caption generation." + }, + { + "author": "kianxyzw", + "title": "ComfyUI Model Linker Extension", + "reference": "https://github.com/kianxyzw/comfyui-model-linker", + "files": [ + "https://github.com/kianxyzw/comfyui-model-linker" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that helps users relink missing models in workflows" + }, + { + "author": "Lavah000", + "title": "ComfyUI Advanced Generation Pack (AGP)", + "reference": "https://github.com/Lavah000/ComfyUI-AdvGenPack", + "files": [ + "https://github.com/Lavah000/ComfyUI-AdvGenPack" + ], + "install_type": "git-clone", + "description": "Production-ready custom nodes for advanced diffusion workflows. Modular implementation grounded in proven techniques from leading ComfyUI repositories." + }, + { + "author": "GuardSkill", + "title": "ComfyUI-VoiceSep", + "reference": "https://github.com/GuardSkill/ComfyUI-VoiceSep", + "files": [ + "https://github.com/GuardSkill/ComfyUI-VoiceSep" + ], + "install_type": "git-clone", + "description": "Seperation the voice to 2 track/person by voicesep, keep the office effect in Modelscope demo meanwhile accelerate the resample speed." + }, + { + "author": "trunksn1", + "title": "ComfyUI Checkpoint Rotation Node", + "reference": "https://github.com/trunksn1/comfyui-change-checkpoint-randomly", + "files": [ + "https://github.com/trunksn1/comfyui-change-checkpoint-randomly" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that enables automatic checkpoint rotation during batch image generation. This allows you to generate images using multiple different model checkpoints in a single workflow, automatically switching between them based on your specified interval." + }, + { + "author": "francarl", + "title": "ComfyUI-OnDemand-Lora-Loader", + "reference": "https://github.com/francarl/ComfyUI-OnDemand-Loaders", + "files": [ + "https://github.com/francarl/ComfyUI-OnDemand-Loaders" + ], + "install_type": "git-clone", + "description": "This is a custom node for ComfyUI that allows you to download and apply LoRA models directly from Civitai/HuggingFace. It simplifies your workflow by managing LoRA downloads automatically, so you don't have to manually download files and place them in the correct folder." + }, + { + "author": "nour", + "title": "nd-super-nodes", + "reference": "https://github.com/HenkDz/nd-super-nodes", + "files": [ + "https://github.com/HenkDz/nd-super-nodes" + ], + "install_type": "git-clone", + "description": "Super LoRA Loader and ND Super Selector overlays for ComfyUI." + }, + { + "author": "Seb-Lis", + "title": "comfyui-image-labeler", + "reference": "https://github.com/Seb-Lis/comfyui-image-labeler", + "files": [ + "https://github.com/Seb-Lis/comfyui-image-labeler" + ], + "install_type": "git-clone", + "description": "Image labeler for ComyUI" + }, + { + "author": "Seb-Lis", + "title": "ComfyUI_Node_Pack", + "reference": "https://github.com/Seb-Lis/ComfyUI_Node_Pack", + "files": [ + "https://github.com/Seb-Lis/ComfyUI_Node_Pack" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for image processing, workflow management, and generation metadata tracking." + }, + { + "author": "Seb-Lis", + "title": "ComfyUI_Gemini_3_Pro_API_node", + "reference": "https://github.com/Seb-Lis/ComfyUI_Gemini_3_Pro_API_node", + "files": [ + "https://github.com/Seb-Lis/ComfyUI_Gemini_3_Pro_API_node" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI that generates images using Google's Gemini API directly within ComfyUI, supporting resolutions up to 4K." + }, + { + "author": "gitcapoom", + "title": "ComfyUI FOV Estimator", + "reference": "https://github.com/gitcapoom/comfyui_fovestimator", + "files": [ + "https://github.com/gitcapoom/comfyui_fovestimator" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that estimates the Field of View (FOV) and tilt angle (horizon angle) of images using computer vision techniques." + }, + { + "author": "lakonik", + "title": "ComfyUI-piFlow", + "id": "piflow", + "reference": "https://github.com/Lakonik/ComfyUI-piFlow", + "files": [ + "https://github.com/Lakonik/ComfyUI-piFlow" + ], + "install_type": "git-clone", + "description": "ComfyUI pi-Flow nodes for fast few-step sampling." + }, + { + "author": "mikesimone", + "title": "Link Mode Toggle", + "reference": "https://github.com/mikesimone/ComfyUI-LinkModeToggle", + "files": [ + "https://github.com/mikesimone/ComfyUI-LinkModeToggle" + ], + "install_type": "git-clone", + "description": "Adds hotkeys (F8 / Ctrl+K) and a toolbar button to cycle node link styles (Spline / Linear / Straight).", + "tags": ["ui", "hotkey", "canvas"] + }, + { + "author": "adambarbato", + "title": "Sa2VA Segmentation", + "reference": "https://github.com/adambarbato/ComfyUI-Sa2VA", + "files": [ + "https://github.com/adambarbato/ComfyUI-Sa2VA" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Sa2VA (Segment Anything 2 Video Assistant) - Advanced multimodal image and video understanding with segmentation." + }, + { + "author": "Bio2hazard", + "title": "ComfyUI Prompt Snippets", + "reference": "https://github.com/Bio2hazard/ComfyUI-Prompt-Snippets", + "files": [ + "https://github.com/Bio2hazard/ComfyUI-Prompt-Snippets" + ], + "install_type": "git-clone", + "description": "This extension for ComfyUI adds a autocompletion feature that helps you write prompts faster and more efficiently. It provides suggestions from premade and custom data files as you type, allowing you to quickly insert and expand predefined keywords." + }, + { + "author": "colorAi", + "title": "ComfyUI-Image Selector by Prompt", + "reference": "https://github.com/colorAi/comfyui-ImageSelectorbyPrompt", + "files": [ + "https://github.com/colorAi/comfyui-ImageSelectorbyPrompt" + ], + "install_type": "git-clone", + "description": "Choose which image to use based on the keywords in the prompt." + }, + { + "author": "Lorenzo Mercugliano", + "title": "Multiple-Angle-Camera-Control", + "id": "multiple-angle-camera-control", + "reference": "https://github.com/mercu-lore/-Multiple-Angle-Camera-Control", + "files": [ + "https://github.com/mercu-lore/-Multiple-Angle-Camera-Control" + ], + "install_type": "git-clone", + "description": "Advanced camera control prompt generator for ComfyUI, optimized for dx8152's MultiAngle LoRA. Simplifies multi-directional movements, rotations, and special views with bilingual output." + }, + { + "author": "Lorenzo Mercugliano", + "title": "BoxBox", + "id": "ComfyUI-BoxBox", + "reference": "https://github.com/mercu-lore/BoxBox", + "description": "BoxBox is a lightweight ComfyUI extension for drawing, cropping, resizing, and reinserting specific regions of an image.", + "files": [ + "https://github.com/mercu-lore/BoxBox" + ], + "install_type": "git-clone" + }, + { + "author": "Owl-V", + "title": "ComfyUI-Owlv_Nodes", + "id": "comfyui-owlv_nodes", + "reference": "https://github.com/OwlvChirotha/ComfyUI-Owlv_Nodes", + "files": [ + "https://github.com/OwlvChirotha/ComfyUI-Owlv_Nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom utility nodes for ComfyUI, providing a variety of practical mini-tools with multiple functions.", + "tags": ["utility"] + }, + { + "author": "Owl-V", + "title": "ComfyUI-MultiTranslator", + "id": "comfyui-multitranslator-owlv", + "reference": "https://github.com/OwlvChirotha/ComfyUI-MultiTranslator", + "files":[ + "https://github.com/OwlvChirotha/ComfyUI-MultiTranslator" + ], + "install_type": "git-clone", + "description": "ComfyUI plug-in collection of basic translator, LLM translator and a series of LLM Service Connectors.", + "tags": ["translation", "llm", "ai", "connector", "utility"] + }, + { + "author": "Cyrostar", + "title": "ComfyUI-Artha-Nodes", + "id": "comfyui-artha-nodes", + "reference": "https://github.com/Cyrostar/ComfyUI-Artha-Nodes", + "files": [ + "https://github.com/Cyrostar/ComfyUI-Artha-Nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for general purpose." + }, + { + "author": "bulldog68", + "title": "FMJ-speed-Prompt", + "reference": "https://github.com/bulldog68/ComfyUI_FMJ_SP", + "files": [ + "https://github.com/bulldog68/ComfyUI_FMJ_SP" + ], + "install_type": "git-clone", + "description": "Prompt generator from CSV files with randomization and external text input.", + "tags": ["prompt", "csv", "text", "random"] + }, + { + "author": "bulldog68", + "title": "FMJ-LLM", + "reference": "https://github.com/bulldog68/ComfyUI_FMJ_LLM", + "files": [ + "https://github.com/bulldog68/ComfyUI_FMJ_LLM" + ], + "install_type": "git-clone", + "description": "Advanced nodes for interaction with Olama (text, vision, image editing), with dynamic management of prompts via CSV.", + "tags": ["prompt", "csv", "text", "random"] + }, + { + "author": "bulldog68", + "title": "ComfyUI_FMJ_SaveImageVersions", + "description": "Image saving with complete metadata (prompts, seed, software versions) + smart loading.", + "reference": "https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions", + "files": [ + "https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions" + ], + "install_type": "git-clone", + "tags": ["save image", "metadonne"], + "license": "GNU V3" + }, + { + "author": "Usonaki", + "title": "ComfyUI-DyPE-Nunchaku", + "reference": "https://github.com/Usonaki/ComfyUI-DyPE-Nunchaku", + "files": [ + "https://github.com/Usonaki/ComfyUI-DyPE-Nunchaku" + ], + "install_type": "git-clone", + "description": "DyPE for FLUX. Nunchaku compatible fork." + }, + { + "author": "arthur", + "title": "Video Output Bridge", + "reference": "https://github.com/arthurtravers/ComfyUI-VideoOutputBridge", + "files": [ + "https://github.com/arthurtravers/ComfyUI-VideoOutputBridge" + ], + "install_type": "git-clone", + "description": "Bridge VHS_VideoCombine video outputs to standard image payloads for serverless runners (RunPod, Modal). Enables automatic S3 uploads of MP4/WebP files in worker-comfyui deployments." + }, + { + "author": "val", + "title": "Groq Nodes", + "reference": "https://github.com/brayevalerien/ComfyUI-GroqNodes", + "files": [ + "https://github.com/brayevalerien/ComfyUI-GroqNodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Groq API - chat, vision, audio, tool use, and batch processing" + }, + { + "author": "x0x0b", + "title": "Prompt History Gallery", + "reference": "https://github.com/x0x0b/ComfyUI-PromptHistoryGallery", + "files": [ + "https://github.com/x0x0b/ComfyUI-PromptHistoryGallery" + ], + "install_type": "git-clone", + "description": "Prompt history input node and sidebar gallery for ComfyUI." + }, + { + "author": "x0x0b", + "title": "ComfyUI-spritefusion-pixel-snapper", + "reference": "https://github.com/x0x0b/ComfyUI-spritefusion-pixel-snapper", + "files": [ + "https://github.com/x0x0b/ComfyUI-spritefusion-pixel-snapper" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node port of Sprite Fusion Pixel Snapper that snaps pixel art to a clean grid and quantized palette." + }, + { + "author": "EnragedAntelope", + "title": "comfy-modelopt", + "reference": "https://github.com/EnragedAntelope/comfy-modelopt", + "files": [ + "https://github.com/EnragedAntelope/comfy-modelopt" + ], + "install_type": "git-clone", + "description": "NVIDIA ModelOpt integration for ComfyUI - Quantize and optimize diffusion models with INT8/FP8/INT4" + }, + { + "author": "EnragedAntelope", + "title": "ComfyUI_EasyRegion", + "reference": "https://github.com/EnragedAntelope/ComfyUI_EasyRegion", + "files": [ + "https://github.com/EnragedAntelope/ComfyUI_EasyRegion" + ], + "install_type": "git-clone", + "description": "Control different parts of your image with separate prompts using visual box drawing." + }, + { + "author": "EnragedAntelope", + "title": "comfyui-sdnq", + "reference": "https://github.com/EnragedAntelope/comfyui-sdnq", + "files": [ + "https://github.com/EnragedAntelope/comfyui-sdnq" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node pack for loading SDNQ quantized models" + }, + { + "author": "tester4488", + "title": "mc_qwen", + "reference": "https://github.com/tester4488/mc_qwen", + "files": [ + "https://github.com/tester4488/mc_qwen" + ], + "install_type": "git-clone", + "description": "comfyui node TextEconder for qwen image edit with internal lanczos rescale instead of area rescale." + }, + { + "author": "Creditas-labs", + "title": "ComfyUI_Adforge", + "reference": "https://github.com/Creditas-labs/ComfyUI_Adforge", + "files": [ + "https://github.com/Creditas-labs/ComfyUI_Adforge" + ], + "install_type": "git-clone", + "description": "Creditas' Ad Creation Toolkit for ComfyUI" + }, + { + "author": "shiba2shiba", + "title": "ComfyUI_FreeU_V2_advanced", + "reference": "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_advanced", + "files": [ + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_advanced" + ], + "install_type": "git-clone", + "description": "This is a custom node to add timestep for FreeU V2." + }, + { + "author": "Shiba-2-shiba", + "title": "ComfyUI-HSWQ-Quantizer", + "reference": "https://github.com/Shiba-2-shiba/ComfyUI-HSWQ-Quantizer", + "files": [ + "https://github.com/Shiba-2-shiba/ComfyUI-HSWQ-Quantizer" + ], + "install_type": "git-clone", + "description": "Unofficial ComfyUI reference implementation of Hybrid Sensitivity Weighted Quantization (HSWQ) for model optimization." + }, + { + "author": "Tr1dae", + "title": "ComfyUI-EasyFilePaths", + "reference": "https://github.com/Tr1dae/ComfyUI-EasyFilePaths", + "files": [ + "https://github.com/Tr1dae/ComfyUI-EasyFilePaths" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes that automatically populate dropdowns based on your folder structure and user configuration, making it easy to generate consistent file names." + }, + { + "author": "TJ16th", + "title": "TJ_ComfyUI_Lineart2Vector", + "reference": "https://github.com/TJ16th/TJ_ComfyUI_Lineart2Vector", + "files": [ + "https://github.com/TJ16th/TJ_ComfyUI_Lineart2Vector" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for line art centerline extraction and SVG manipulation with advanced editing and visualization capabilities." + }, + { + "author": "TJ16th", + "title": "TJ_ComfyUI_ColorUtility", + "reference": "https://github.com/TJ16th/TJ_ComfyUI_ColorUtility", + "files": [ + "https://github.com/TJ16th/TJ_ComfyUI_ColorUtility" + ], + "install_type": "git-clone", + "description": "Provides a high-precision RGB/HSV/Alpha color picker as a custom node for ComfyUI." + }, + { + "author": "fuselayer", + "title": "comfyui-noise-match", + "reference": "https://github.com/fuselayer/comfyui-noise-match", + "files": [ + "https://github.com/fuselayer/comfyui-noise-match" + ], + "install_type": "git-clone", + "description": "Extract authentic noise patterns from real photographs and apply them to AI-generated or composited elements for seamless photorealistic integration." + }, + { + "author": "alexjx", + "title": "ComfyUI-Sa2VA-XJ", + "reference": "https://github.com/alexjx/ComfyUI-Sa2VA-XJ", + "files": [ + "https://github.com/alexjx/ComfyUI-Sa2VA-XJ" + ], + "install_type": "git-clone", + "description": "Simple implementation of [a/ByteDance Sa2VA](https://github.com/bytedance/Sa2VA) nodes for ComfyUI." + }, + { + "author": "alexjx", + "title": "ComfyUI-XJNodes", + "reference": "https://github.com/alexjx/ComfyUI-XJNodes", + "files": [ + "https://github.com/alexjx/ComfyUI-XJNodes" + ], + "install_type": "git-clone", + "description": "A modular collection of custom nodes for ComfyUI, organized by data type for easy navigation and maintenance." + }, + { + "author": "bowtiedbluefin", + "title": "ComfyUI-AI-CustomURL", + "reference": "https://github.com/bowtiedbluefin/ComfyUI-AI-CustomURL", + "files": [ + "https://github.com/bowtiedbluefin/ComfyUI-AI-CustomURL" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI extension that enables text, image, video, and speech generation using any OpenAI-compatible API endpoint with custom URLs." + }, + { + "author": "HallettVisual", + "title": "ComfyUI-Qwen-Camera-Selector", + "reference": "https://github.com/HallettVisual/ComfyUI-Qwen-Camera-Selector", + "files": [ + "https://github.com/HallettVisual/ComfyUI-Qwen-Camera-Selector" + ], + "install_type": "git-clone", + "description": "Simple camera prompt builder node for Qwen-Edit-2509 Multiple-Angles in ComfyUI." + }, + { + "author": "Geo1230", + "title": "ComfyUI-DeepseekOCR", + "reference": "https://github.com/Geo1230/ComfyUI-DeepseekOCR", + "files": [ + "https://github.com/Geo1230/ComfyUI-DeepseekOCR" + ], + "install_type": "git-clone", + "description": "A custom node that wraps DeepSeek-OCR as a ComfyUI plugin, providing powerful OCR recognition and document parsing capabilities." + }, + { + "author": "eddyhhlure1Eddy", + "title": "ComfyUI-QwenVideo", + "reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenVideo", + "files": [ + "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenVideo" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for video analysis and prompt generation using Qwen3-VL-235B vision-language model via OpenRouter API." + }, + { + "author": "eddyhhlure1Eddy", + "title": "ComfyUI-MemoryCleaner", + "id": "memorycleaner", + "reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-MemoryCleaner", + "files": [ + "https://github.com/eddyhhlure1Eddy/ComfyUI-MemoryCleaner" + ], + "install_type": "git-clone", + "description": "NODES: Memory Cleaner (Force), Memory Status" + }, + { + "author": "eddyhhlure1Eddy", + "title": "ComfyUI-PreviewImageNode", + "reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-PreviewImageNode", + "files": [ + "https://github.com/eddyhhlure1Eddy/ComfyUI-PreviewImageNode" + ], + "install_type": "git-clone", + "description": "Standalone version of ComfyUI's PreviewImage and SaveImage nodes, extracted as an independent custom node for easy reuse and customization." + }, + { + "author": "eddyhhlure1Eddy", + "title": "ComfyUI-QwenFrameSelector", + "reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenFrameSelector", + "files": [ + "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenFrameSelector" + ], + "install_type": "git-clone", + "description": "Intelligent video frame selection node powered by Qwen3-VL-235B vision model. Automatically analyzes and selects the best quality frames from videos for further creative work." + }, + { + "author": "eddyhhlure1Eddy", + "title": "ComfyUI-LLM-GGUF", + "reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-LLM-GGUF", + "files": [ + "https://github.com/eddyhhlure1Eddy/ComfyUI-LLM-GGUF" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for GGUF LLM model inference with chat support, conversation history, session management, and GPU layer offloading." + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterI2V", + "reference": "https://github.com/princepainter/ComfyUI-PainterI2V", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterI2V" + ], + "install_type": "git-clone", + "description": "An enhanced Wan2.2 Image-to-Video node specifically designed to fix the slow-motion issue in 4-step LoRAs (like lightx2v).", + "tags": ["video", "image-to-video", "Wan2.2", "LoRA"] + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterLongVideo", + "reference": "https://github.com/princepainter/ComfyUI-PainterLongVideo", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterLongVideo" + ], + "install_type": "git-clone", + "description": "Powerful node for generating long-form videos with consistent motion, global scene coherence, and slow-motion correction in Wan 2.2-based workflows." + }, + { + "author": "princepainter", + "title": "Comfyui-PainterAudioCut", + "reference": "https://github.com/princepainter/Comfyui-PainterAudioCut", + "files": [ + "https://github.com/princepainter/Comfyui-PainterAudioCut" + ], + "install_type": "git-clone", + "description": "High-precision audio trimming custom node based on frame rates for ComfyUI - trim audio precisely by frame numbers instead of timestamps, perfectly matching video frame synchronization needs. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterI2VforKJ", + "reference": "https://github.com/princepainter/ComfyUI-PainterI2VforKJ", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterI2VforKJ" + ], + "install_type": "git-clone", + "description": "Enhanced image-to-video node for Wan2.2 optimized for 4-step LoRAs that fixes slow-motion issues by increasing motion amplitude by 15-50%, with camera movement enhancement. (Description by CC)" + }, + { + "author": "princepainter", + "title": "Comfyui-PainterSampler", + "reference": "https://github.com/princepainter/Comfyui-PainterSampler", + "files": [ + "https://github.com/princepainter/Comfyui-PainterSampler" + ], + "install_type": "git-clone", + "description": "A dual-model image-to-video sampler for ComfyUI that combines high-noise and low-noise models in a single node, replacing two KSamplerAdvanced nodes with zero overhead and bit-identical frame generation. (Description by CC)" + }, + { + "author": "princepainter", + "title": "Comfyui-PainterVRAM", + "reference": "https://github.com/princepainter/Comfyui-PainterVRAM", + "files": [ + "https://github.com/princepainter/Comfyui-PainterVRAM" + ], + "install_type": "git-clone", + "description": "ComfyUI node that reserves GPU VRAM before workflow execution to prevent OOM crashes with manual or auto mode options." + }, + { + "author": "princepainter", + "title": "PainterFLF2V - First/Last Frame Video Enhancer", + "id": "painterflf2v", + "reference": "https://github.com/princepainter/Comfyui-PainterFLF2V", + "files": [ + "https://github.com/princepainter/Comfyui-PainterFLF2V" + ], + "install_type": "git-clone", + "description": "Enhance first and last frames for smooth video loop generation in ComfyUI. Based on WAN Video workflow.", + "tags": ["video", "frame", "loop", "workflow"] + }, + { + "author": "princepainter", + "title": "Comfyui-PainterAudioLength", + "reference": "https://github.com/princepainter/Comfyui-PainterAudioLength", + "files": [ + "https://github.com/princepainter/Comfyui-PainterAudioLength" + ], + "install_type": "git-clone", + "description": "A tool for calculating audio duration that takes audio input and outputs the audio length as a floating-point number. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterVideoCombine", + "reference": "https://github.com/princepainter/ComfyUI-PainterVideoCombine", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterVideoCombine" + ], + "install_type": "git-clone", + "description": "ComfyUI node: extract fps/frames/duration/width/height from video" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterImageFromBatch", + "reference": "https://github.com/princepainter/ComfyUI-PainterImageFromBatch", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterImageFromBatch" + ], + "install_type": "git-clone", + "description": "PainterImageFromBatch is an enhanced ComfyUI custom node for extracting contiguous frames from image batches." + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterImageLoad", + "reference": "https://github.com/princepainter/ComfyUI-PainterImageLoad", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterImageLoad" + ], + "install_type": "git-clone", + "description": "ComfyUI node for saving, previewing, and passing images downstream while supporting mask editing and intermediate node execution. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterI2Vadvanced", + "reference": "https://github.com/princepainter/ComfyUI-PainterI2Vadvanced", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterI2Vadvanced" + ], + "install_type": "git-clone", + "description": "Enhanced Wan2.2 image-to-video node with dual sampler workflow, dynamic enhancement, and intelligent color drift correction for video generation. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterVideoInfo", + "reference": "https://github.com/princepainter/ComfyUI-PainterVideoInfo", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterVideoInfo" + ], + "install_type": "git-clone", + "description": "Lightweight video information extraction node for ComfyUI that extracts video metadata including frame rate, frame count, width, and height. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterQwenImageEdit", + "reference": "https://github.com/princepainter/ComfyUI-PainterQwenImageEdit", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterQwenImageEdit" + ], + "install_type": "git-clone", + "description": "Qwen multi-image editing enhancement node supporting 8-image input, dual conditional output, and background layer priority for coordinated image composition workflows. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterLTXV2", + "reference": "https://github.com/princepainter/ComfyUI-PainterLTXV2", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterLTXV2" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes providing LTXV audio-video separation sampling and latent preparation capabilities for professional video generation workflows." + }, + { + "author": "princepainter", + "title": "Comfyui-PainterFluxImageEdit", + "reference": "https://github.com/princepainter/Comfyui-PainterFluxImageEdit", + "files": [ + "https://github.com/princepainter/Comfyui-PainterFluxImageEdit" + ], + "install_type": "git-clone", + "description": "A Flux2 text-to-image and image-to-image editing node supporting dual modes, multi-image editing, intelligent masking, and flexible resolution settings. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterAI2V", + "reference": "https://github.com/princepainter/ComfyUI-PainterAI2V", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterAI2V" + ], + "install_type": "git-clone", + "description": "InfiniteTalk lip-sync node optimized for Wan2.2 dual-model workflow with first/last frame precision control and FPS synchronization. (Description by CC)" + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterFrameCount", + "reference": "https://github.com/princepainter/ComfyUI-PainterFrameCount", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterFrameCount" + ], + "install_type": "git-clone", + "description": "Aligns any input frame number to the nearest 4N+1 format, ensuring compatibility with video generation models that require specific frame count constraints." + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterVideoUpscale", + "reference": "https://github.com/princepainter/ComfyUI-PainterVideoUpscale", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterVideoUpscale" + ], + "install_type": "git-clone", + "description": "Automatically scales your input video to specified dimensions and encodes it into latent space for sampling." + }, + { + "author": "princepainter", + "title": "ComfyUI-PainterMultiF2V", + "reference": "https://github.com/princepainter/ComfyUI-PainterMultiF2V", + "files": [ + "https://github.com/princepainter/ComfyUI-PainterMultiF2V" + ], + "install_type": "git-clone", + "description": "A long-form video generation suite that chains keyframe images into coherent videos with automatic segment transitions and cross-dissolves. (Description by CC)" + }, + { + "author": "rafacost", + "title": "rafacostComfy", + "id": "rafacost-comfy", + "reference": "https://github.com/rafacost/rafacost-comfy", + "files": [ + "https://github.com/rafacost/rafacost-comfy" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for DreamOmni2 GGUF multimodal models — powered directly by llama-cpp-python." + }, + { + "author": "yano", + "title": "ComfyUI Fast Mosaic Detector", + "id": "comfyui-fast-mosaic-detector", + "reference": "https://github.com/yano/comfyui-fast-mosaic-detector", + "files": [ + "https://github.com/yano/comfyui-fast-mosaic-detector" + ], + "install_type": "git-clone", + "description": "High-speed and high-accuracy mosaic detection node for ComfyUI. Supports FAST, ACCURATE, and HYBRID modes with ROI refinement." + }, + { + "author": "subraoul", + "title": "Bit Depth Enhancer", + "reference": "https://github.com/subraoul/ComfyUI_Bit-Depth-Enhancer", + "files": [ + "https://github.com/subraoul/ComfyUI_Bit-Depth-Enhancer" + ], + "install_type": "git-clone", + "description": "Bit-depth enhancement and banding removal with classical and deep learning methods" + }, + { + "author": "Alun", + "title": "comfyui-maya1-tts", + "reference": "https://github.com/ruanjianlun/comfyui_maya1_tts_alun", + "files": [ + "https://github.com/ruanjianlun/comfyui_maya1_tts_alun" + ], + "install_type": "git-clone", + "description": "High-quality text-to-speech ComfyUI custom node powered by Maya1 model" + }, + { + "author": "terefang", + "title": "ComfyUI-Terefang-Nodes", + "reference": "https://github.com/terefang/ComfyUI-Terefang-Nodes", + "files": [ + "https://github.com/terefang/ComfyUI-Terefang-Nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI extension with several convenience nodes." + }, + + { + "author": "AlexXia007", + "title": "AIYang_TripleAPI", + "reference": "https://github.com/AlexXia007/AIYang_TripleAPI", + "files": [ + "https://github.com/AlexXia007/AIYang_TripleAPI" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes integrating three Chinese AI image generation platforms (Hi Dream, Douban, NanoBanana) supporting text-to-image and image-to-image generation with parallel processing and robust error handling. (Description by CC)" + }, + { + "author": "leafiy", + "title": "comfyui_psd_smart_object", + "reference": "https://github.com/leafiy/comfyui_psd_smart_object", + "files": [ + "https://github.com/leafiy/comfyui_psd_smart_object" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for working with Photoshop mockup files - automatically project images onto PSD smart objects while preserving perspective, rotation, and scale transforms for seamless mockup rendering." + }, + { + "author": "NudeJS-dev", + "title": "ComfyUI-NudeJS-Image2Prompt", + "reference": "https://github.com/NudeJS-dev/ComfyUI-NudeJS-Image2Prompt", + "files": [ + "https://github.com/NudeJS-dev/ComfyUI-NudeJS-Image2Prompt" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node converting images to text prompts via external API, with automatic image preprocessing, base64 encoding, intelligent retry logic, and dual output modes. (Description by CC)" + }, + { + "author": "psdwizzard", + "title": "Comfyui-XYZ-stitch", + "reference": "https://github.com/psdwizzard/Comfyui-XYZ-stitch", + "files": [ + "https://github.com/psdwizzard/Comfyui-XYZ-stitch" + ], + "install_type": "git-clone", + "description": "Create A1111-style XYZ plot grids in ComfyUI to test multiple parameters and compare results in organized, labeled comparison grids." + }, + { + "author": "anhrefnyoiyoi", + "title": "Placeholder-Replacer-By-ID", + "reference": "https://github.com/anhrefnyoiyoi/Placeholder-Replacer-By-ID", + "files": [ + "https://github.com/anhrefnyoiyoi/Placeholder-Replacer-By-ID" + ], + "install_type": "git-clone", + "description": "Utility node that automates prompt assembly by replacing placeholder tokens with mapped artist or style names based on ID sequences, supporting multiple prompts and flexible ID handling strategies." + }, + { + "author": "elyetis", + "title": "Comfyui-ColorMatchNodes", + "reference": "https://github.com/elyetis/Comfyui-ColorMatchNodes", + "files": [ + "https://github.com/elyetis/Comfyui-ColorMatchNodes" + ], + "install_type": "git-clone", + "description": "Color match nodes for ComfyUI that color-match target images against reference images with manual or auto-ramped blending, ideal for smooth color transitions between video clips." + }, + { + "author": "jianghong-zhu", + "title": "ComfyUI-AdvancedCameraPrompts", + "reference": "https://github.com/jandan520/ComfyUI-AdvancedCameraPrompts", + "files": [ + "https://github.com/jandan520/ComfyUI-AdvancedCameraPrompts" + ], + "install_type": "git-clone", + "description": "Advanced camera control prompt generator for ComfyUI that reads camera information from 3D nodes and generates precise, professional camera control prompts." + }, + { + "author": "fuyouawa", + "title": "comfyui-easytoolkit", + "reference": "https://github.com/fuyouawa/comfyui-easytoolkit", + "files": [ + "https://github.com/fuyouawa/comfyui-easytoolkit" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI extension toolkit providing nodes for algorithm calculations, Base64 encoding/decoding, image processing, and workflow utilities to streamline your ComfyUI workflows." + }, + { + "author": "power88", + "title": "ComfyUI-PDiD-LLM-Nodes", + "reference": "https://github.com/power88/ComfyUI-PDiD-LLM-Nodes", + "files": [ + "https://github.com/power88/ComfyUI-PDiD-LLM-Nodes" + ], + "install_type": "git-clone", + "description": "A LLM node with some models. (Description by CC)" + }, + { + "author": "tiheaven", + "title": "Ps-Comfy-TiHeaveN-CustomNodes", + "reference": "https://github.com/tiheaven/Ps-Comfy-TiHeaveN-CustomNodes", + "files": [ + "https://github.com/tiheaven/Ps-Comfy-TiHeaveN-CustomNodes" + ], + "install_type": "git-clone", + "description": "A communication bridge between Photoshop plugins and ComfyUI servers, enabling AI image generation by connecting PS plugins to Comfy servers for model inference and image rendering." + }, + { + "author": "perezjoan", + "title": "ComfyUI-QwenEdit-Urbanism-by-UGA", + "reference": "https://github.com/perezjoan/ComfyUI-QwenEdit-Urbanism-by-UGA", + "files": [ + "https://github.com/perezjoan/ComfyUI-QwenEdit-Urbanism-by-UGA" + ], + "install_type": "git-clone", + "description": "Offline text-driven image editing for urban and architectural workflows using open-source Qwen-Image-Edit model in GGUF format with custom ComfyUI nodes for batch and stochastic image processing." + }, + { + "author": "Koratahiu", + "title": "ComfyUI-Diff2Flow", + "reference": "https://github.com/Koratahiu/ComfyUI-Diff2Flow", + "files": [ + "https://github.com/Koratahiu/ComfyUI-Diff2Flow" + ], + "install_type": "git-clone", + "description": "Unofficial Implementation of Diff2Flow Method for ComfyUI." + }, + { + "author": "Koratahiu", + "title": "ComfyUI-OFTv2", + "reference": "https://github.com/Koratahiu/ComfyUI-OFTv2", + "files": [ + "https://github.com/Koratahiu/ComfyUI-OFTv2" + ], + "install_type": "git-clone", + "description": "A custom node to support and load OFTv2 adapters" + }, + { + "author": "orpheus-gaze", + "title": "comfyui-s2-guidance-test", + "reference": "https://github.com/orpheus-gaze/comfyui-s2-guidance-test", + "files": [ + "https://github.com/orpheus-gaze/comfyui-s2-guidance-test" + ], + "install_type": "git-clone", + "description": "An attempted implementation of S2 guidance for DIT diffusion models in ComfyUI, currently hardcoded for Flux model architecture to improve image sharpness and brightness." + }, + { + "author": "alludus", + "title": "multiGPU Upscaler", + "reference": "https://github.com/alludus/ComfyUI-multiGPU-upscaler", + "files": [ + "https://github.com/alludus/ComfyUI-multiGPU-upscaler" + ], + "install_type": "git-clone", + "description": "multiGPU batch-parallel upscaling nodes for ComfyUI." + }, + { + "author": "Markus-Pasanen", + "title": "batch_whisper_extension", + "reference": "https://github.com/Markus-Pasanen/batch_whisper_extension", + "files": [ + "https://github.com/Markus-Pasanen/batch_whisper_extension" + ], + "install_type": "git-clone", + "description": "A lightweight ComfyUI extension node that runs OpenAI Whisper to transcribe up to 3 audio inputs, merges and sorts timestamped segments, and outputs a single timestamped transcript string with speaker labels." + }, + { + "author": "deng-wei", + "title": "ComfyUI-MiVolo-V2", + "id": "ComfyUI-MiVolo-V2", + "reference": "https://github.com/deng-wei/ComfyUI-MiVolo-V2", + "files": [ + "https://github.com/deng-wei/ComfyUI-MiVolo-V2" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for [MiVolo V2 Age & Gender Prediction](https://huggingface.co/iitolstykh/mivolo_v2)" + }, + { + "author": "alankent", + "title": "OA 360 Clip", + "reference": "https://github.com/alankent/ComfyUI-OA-360-Clip", + "files": [ + "https://github.com/alankent/ComfyUI-OA-360-Clip" + ], + "install_type": "git-clone", + "description": "A ComfyUI node for extracting perspective views from 360 degree equirectangular images with an interactive drag-and-drop crop interface." + }, + { + "author": "mister_link", + "title": "Link Comfy Nodes", + "reference": "https://github.com/Mister-Link/link-comfy-nodes", + "files": [ + "https://github.com/Mister-Link/link-comfy-nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom ComfyUI nodes by Mister-Link, including color parsing, frame calculation, and utility nodes for enhanced workflow capabilities." + }, + { + "author": "jonstreeter", + "title": "Reference-Based Video Colorization", + "reference": "https://github.com/jonstreeter/ComfyUI-Reference-Based-Video-Colorization", + "files": [ + "https://github.com/jonstreeter/ComfyUI-Reference-Based-Video-Colorization" + ], + "install_type": "git-clone", + "description": "Dual implementation of reference-based video colorization featuring ColorMNet (2024) with DINOv2 and Deep Exemplar (2019). Includes 4 nodes (2 video, 2 image), multiple feature encoders (VGG19, DINOv2, CLIP), advanced post-processing (color-matcher, WLS, guided, bilateral), and auto-installer for dependencies." + }, + { + "author": "liming123332", + "title": "ComfyUI-Ranbooru", + "reference": "https://github.com/liming123332/ComfyUI-Ranbooru", + "files": [ + "https://github.com/liming123332/ComfyUI-Ranbooru" + ], + "install_type": "git-clone", + "description": "Custom node that migrates WebUI Forge's Ranbooru plugin to ComfyUI, enabling searches across Booru sites to generate positive/negative prompts with tag cleaning, rating sorting, and caching support. (Description by CC)" + }, + { + "author": "SilentZhang", + "title": "comfyui-encrypt", + "reference": "https://github.com/SilentZhang/comfyui-encrypt", + "files": [ + "https://github.com/SilentZhang/comfyui-encrypt" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for RSA image encryption using asymmetric cryptography with key generation, encryption, and decryption functions via the cryptography library. (Description by CC)" + }, + { + "author": "hum-ma", + "title": "ComfyUI-TiledVaeLite", + "reference": "https://github.com/hum-ma/ComfyUI-TiledVaeLite", + "files": [ + "https://github.com/hum-ma/ComfyUI-TiledVaeLite" + ], + "install_type": "git-clone", + "description": "A faster tiled VAE decode node for ComfyUI based on LTXV, optimized for low VRAM scenarios with configurable tiling, progress bars, and improved logging for decoding large images and videos." + }, + { + "author": "hum-ma", + "title": "ComfyUI-GPUCLIP", + "reference": "https://github.com/hum-ma/ComfyUI-GPUCLIP", + "files": [ + "https://github.com/hum-ma/ComfyUI-GPUCLIP" + ], + "install_type": "git-clone", + "description": "Make CLIPs / text encoders load on GPU device" + }, + { + "author": "Devin Garner", + "title": "ComfyUI_Make-It-Animatable", + "reference": "https://github.com/speige/ComfyUI_Make-It-Animatable", + "files": [ + "https://github.com/speige/ComfyUI_Make-It-Animatable" + ], + "install_type": "git-clone", + "description": "Auto-Rigging humanoid 3D meshes for Mixamo animations" + }, + { + "author": "hua1995116", + "title": "comfyui_goenhance_ffmpeg_wm", + "reference": "https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm", + "files": [ + "https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for adding watermarks to videos using FFmpeg, with configurable position, opacity, scale, and hardware acceleration support." + }, + { + "author": "wzyfromhust", + "title": "ComfyUI_SAM2UltraV2", + "reference": "https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2", + "files": [ + "https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2" + ], + "install_type": "git-clone", + "description": "A fully modular and high-performance implementation of SAM2 (Segment Anything Model 2) for ComfyUI with dual-prompt support, negative point sampling, and upper body segmentation." + }, + { + "author": "slahiri", + "title": "ComfyUI-AI-Photography-Toolkit", + "reference": "https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit", + "files": [ + "https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit" + ], + "install_type": "git-clone", + "description": "A collection of AI-powered photography and image generation tools for ComfyUI, featuring the SID_AIPromptGenerator node that uses Anthropic's Claude API to analyze images and generate optimized prompts for various image generation models." + }, + { + "author": "neonr0", + "title": "ComfyUI-PixelConstrainedScaler", + "reference": "https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler", + "files": [ + "https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler" + ], + "install_type": "git-clone", + "description": "Smart upscaling with pixel-budget awareness while preserving native aspect ratios. Ideal for Image to Image (I2I) and Image to Video (I2V) workflows!" + }, + { + "author": "swan7-py", + "title": "ComfyUI-ImageAlphaCrop", + "reference": "https://github.com/swan7-py/ComfyUI-ImageAlphaCrop", + "files": [ + "https://github.com/swan7-py/ComfyUI-ImageAlphaCrop" + ], + "install_type": "git-clone", + "description": "ComfyUI plugin for automatically cropping transparent alpha channel borders from images - ideal for processing logos and icons. Supports batch processing with adjustable padding and alpha threshold. (Description by CC)" + }, + { + "author": "huyl3-cpu", + "title": "comfyui-huyl2-nodes", + "reference": "https://github.com/huyl3-cpu/comfyui-sortlist", + "files": [ + "https://github.com/huyl3-cpu/comfyui-sortlist" + ], + "install_type": "git-clone", + "description": "Custom utility nodes for ComfyUI by huyl2 (sort list v2, etc.)" + }, + { + "author": "huyl3-cpu", + "title": "ComfyUI-PyTorch210Patcher", + "reference": "https://github.com/huyl3-cpu/ComfyUI-PyTorch210Patcher", + "files": [ + "https://github.com/huyl3-cpu/ComfyUI-PyTorch210Patcher" + ], + "install_type": "git-clone", + "description": "Auto-fixes WanVideoModel for PyTorch 2.10.0+ compatibility by automatically patching the model class to work with both PyTorch 2.9.0 and 2.10.0+." + }, + { + "author": "7BEII", + "title": "comfyui-PD_comfy-api-node", + "reference": "https://github.com/7BEII/comfyui-PD_comfy-api-node", + "files": [ + "https://github.com/7BEII/comfyui-PD_comfy-api-node" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node suite integrating multiple AI image generation APIs (Gemini, Flux.1 Kontext Pro) with unified authentication via ComfyUI API Key and real-time cost tracking. (Description by CC)" + }, + { + "author": "StarIICraft", + "title": "ComfyUI-Simple-Selector", + "reference": "https://github.com/StarIICraft/ComfyUI-Simple-Selector", + "files": [ + "https://github.com/StarIICraft/ComfyUI-Simple-Selector" + ], + "install_type": "git-clone", + "description": "Logic control node with 5 universal input ports that checks connections in reverse priority order and outputs the index of the first valid active input, with support for muted nodes and any data type." + }, + { + "author": "wwzhifeng", + "title": "comfyui-jsonprompt", + "reference": "https://github.com/wwzhifeng/comfyui-jsonprompt", + "files": [ + "https://github.com/wwzhifeng/comfyui-jsonprompt" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node that expands structured JSON text into standard prompts for use with models like Gemini, Flux, OpenAI, and Sora. (Description by CC)" + }, + { + "author": "hobinrude", + "title": "ComfyUI_DWposeDeluxe", + "reference": "https://github.com/hobinrude/ComfyUI_DWposeDeluxe", + "files": [ + "https://github.com/hobinrude/ComfyUI_DWposeDeluxe" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node integrating DW-Pose (Denoising Whole-Body Pose Estimation) for high-quality pose detection with CPU (ONNX) and GPU (TensorRT) support. Features 20x faster performance with TensorRT acceleration, automatic model downloading, customizable pose visualization, keypoint conversion, and video workflow integration." + }, + { + "author": "Writili", + "title": "WtlNodes", + "id": "wtlnodes", + "reference": "https://github.com/Scorpiosis0/ComfyUI-WtlNodes", + "files": [ + "https://github.com/Scorpiosis0/ComfyUI-WtlNodes" + ], + "install_type": "git-clone", + "description": "This node adds improvement over some already existing nodes as well as some custom nodes." + }, + { + "author": "yuanyuan-spec", + "title": "HunyuanVideo-1.5 nodes", + "reference": "https://github.com/yuanyuan-spec/comfyui_hunyuanvideo_1.5_plugin", + "files": [ + "https://github.com/yuanyuan-spec/comfyui_hunyuanvideo_1.5_plugin" + ], + "install_type": "git-clone", + "description": "A ComfyUI plugin based on HunyuanVideo-1.5, offering both simplified and complete node sets for quick usage or deep workflow customization." + }, + { + "author": "Madiator2011", + "title": "ComfyUI RunpodDirect", + "id": "runpoddirect", + "reference": "https://github.com/MadiatorLabs/ComfyUI-RunpodDirect", + "files": [ + "https://github.com/MadiatorLabs/ComfyUI-RunpodDirect" + ], + "install_type": "git-clone", + "description": "Direct model downloads to your Runod pod with blazing-fast multi-connection support. No more downloading models to your local machine and re-uploading!" + }, + { + "author": "kjqwer", + "title": "SmartSaveImage", + "reference": "https://github.com/kjqwer/SmartSaveImage", + "files": [ + "https://github.com/kjqwer/SmartSaveImage" + ], + "install_type": "git-clone", + "description": "Smart Image Saving Nodes - Offers intelligent folder management and image saving capabilities, supporting flexible folder hierarchy control, multiple metadata sources, various image formats, and metadata embedding. It includes two nodes: SmartFolderManager and SmartImageSaver.", + "pip": ["Pillow", "piexif"], + "nodename_pattern": "Smart" + }, + { + "author": "danielpflorian", + "title": "ComfyUI-WorkflowGenerator", + "reference": "https://github.com/DanielPFlorian/ComfyUI-WorkflowGenerator", + "files": [ + "https://github.com/DanielPFlorian/ComfyUI-WorkflowGenerator" + ], + "install_type": "git-clone", + "description": "ComfyUI-WorkflowGenerator custom nodes for generating ComfyUI workflows from natural language" + }, + { + "author": "Icekiub", + "title": "ComfyUI-IcyHider", + "id": "text_processor", + "reference": "https://github.com/icekiub-ai/ComfyUI-IcyHider", + "files": [ + "https://github.com/icekiub-ai/ComfyUI-IcyHider" + ], + "install_type": "git-clone", + "description": "A custom node extension that hides image previews until you hover over the node." + }, + { + "author": "turisc", + "title": "Text Line Selector", + "reference": "https://github.com/TuriSc/comfyui-text-line-selector", + "files": [ + "https://github.com/TuriSc/comfyui-text-line-selector" + ], + "install_type": "git-clone", + "description": "Extracts a single line from multiline string. Useful for batch processing" + }, + { + "author": "FuryNocturnTV", + "title": "ComfyUI-Studio-Fury", + "reference": "https://github.com/FuryNocturn/ComfyUI-Studio-Fury", + "files": [ + "https://github.com/FuryNocturn/ComfyUI-Studio-Fury" + ], + "install_type": "git-clone", + "description": "Nodos custom, al estilo fury, nodos que aƱaden versatilidad. con el tiempo ira creciendo los nodos." + }, + { + "author": "FuryNocturn", + "title": "ComfyUI-Dummy_Node_Pack", + "reference": "https://github.com/FuryNocturn/ComfyUI-Dummy_Node_Pack", + "files": [ + "https://github.com/FuryNocturn/ComfyUI-Dummy_Node_Pack" + ], + "install_type": "git-clone", + "description": "Custom node pack creating fake/dummy nodes to replace missing, obsolete, or cloud-specific nodes, allowing legacy workflows to load visually without errors while preserving connections. (Description by CC)" + }, + { + "author": "granddyser", + "title": "Wan-video-extender", + "reference": "https://github.com/Granddyser/wan-video-extender", + "files": [ + "https://github.com/Granddyser/wan-video-extender" + ], + "install_type": "git-clone", + "description": "Wan Video Extender extends a short video or a single image into a longer, temporally consistent clip using a VACE based control latent. It runs in multiple extension loops. Each loop can have its own prompt and optional LoRA, so you can evolve the scene step by step without rebuilding the graph." + }, + { + "author": "akawana", + "title": "AK XZ Axis (XY for any KSampler)", + "reference": "https://github.com/akawana/ComfyUI-AK-XZ-Axis", + "files": [ + "https://github.com/akawana/ComfyUI-AK-XZ-Axis" + ], + "install_type": "git-clone", + "description": "Nodes for XY-style testing of parameters such as seed, steps, cfg, denoise, prompts, and LoRAs. Does not require a custom KSampler and works with any KSampler, including the default ComfyUI one.", + "tags": ["xy_plot", "xy", "xz", "testing", "ksampler"] + }, + { + "author": "akawana", + "title": "Folded prompts", + "reference": "https://github.com/akawana/ComfyUI-Folded-Prompts", + "files": [ + "https://github.com/akawana/ComfyUI-Folded-Prompts" + ], + "install_type": "git-clone", + "description": "Builds a folder-based tree from prompt lines. Lets you organize prompts into folders. Also adds several configurable keybindings for text editing (line commenting, regional prompting areas). Splits the prompt into regions for Regional Prompting.", + "tags": ["frontend", "shortcut", "regional", "folders", "bookmarks"] + }, + { + "author": "akawana", + "title": "AK Pack", + "reference": "https://github.com/akawana/ComfyUI-AK-Pack", + "files": [ + "https://github.com/akawana/ComfyUI-AK-Pack" + ], + "install_type": "git-clone", + "description": "UI extensions: Control Multiple Samplers, Project Settings. Nodes: AK Base, AK Index Multiple, IsOneOfGroupsActive, RepeatGroupState group enable/disable like rg but without connection, Pipe, Getter, Setter.", + "tags": ["utility", "list", "batch", "get", "set", "pipe", "project", "sampler"] + }, + { + "author": "akawana", + "title": "RGBYP Mask Editor (RGB + YP)", + "reference": "https://github.com/akawana/ComfyUI-RGBYP-Mask-Editor", + "files": [ + "https://github.com/akawana/ComfyUI-RGBYP-Mask-Editor" + ], + "install_type": "git-clone", + "description": "A JS editor for five-color masks (RGB + Yellow + Pink) that works with any nodes, with three helper nodes — RGBYPLoadImage, RGBYPMaskBridge, and RGBYPMaskToRegularMasks—for convenient RGBYP mask handling.", + "tags": ["utility", "mask", "rgb", "bridge"] + }, + { + "author": "lovisdotio", + "title": "ComfyUI-Replace-First-Frame-Last-Frame", + "reference": "https://github.com/lovisdotio/ComfyUI-Replace-First-Frame-Last-Frame", + "files": [ + "https://github.com/lovisdotio/ComfyUI-Replace-First-Frame-Last-Frame" + ], + "install_type": "git-clone", + "description": "Replace the first and last frames of an image sequence in ComfyUI. Auto-resizes frames to match video dimensions, handles batches, and adjusts parameters if needed." + }, + { + "author": "yukascomfy", + "title": "ATI_AudioReactive", + "reference": "https://github.com/yukascomfy/ATI_AudioReactive", + "files": [ + "https://github.com/yukascomfy/ATI_AudioReactive" + ], + "install_type": "git-clone", + "description": "ComfyUI audio-reactive animation node combining RyanOnTheInside's reactive features with Fillip's path animation for creating audio-driven visual animations. (Description by CC)" + }, + { + "author": "tuki0918", + "title": "comfyui-image-expand-nodes", + "reference": "https://github.com/tuki0918/comfyui-image-expand-nodes", + "files": [ + "https://github.com/tuki0918/comfyui-image-expand-nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI to expand images with noise for outpainting or inpainting purposes. This allows for seamless image extension in any direction." + }, + { + "author": "tuki0918", + "title": "comfyui-image-tiled-nodes", + "reference": "https://github.com/tuki0918/comfyui-image-tiled-nodes", + "files": [ + "https://github.com/tuki0918/comfyui-image-tiled-nodes" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes that split large images into overlapping tiles for processing and merge them back seamlessly with feathering blending. (Description by CC)" + }, + { + "author": "tuki0918", + "title": "ComfyUI_Cooldown_Node", + "reference": "https://github.com/tuki0918/ComfyUI_Cooldown_Node", + "files": [ + "https://github.com/tuki0918/ComfyUI_Cooldown_Node" + ], + "install_type": "git-clone", + "description": "Provides custom nodes with a cooldown feature for ComfyUI. (Description by CC)" + }, + { + "author": "NeoDroleDeGueule", + "title": "NDDG_Great_Nodes", + "reference": "https://github.com/NeoDroleDeGueule/NDDG_Great_Nodes", + "files": [ + "https://github.com/NeoDroleDeGueule/NDDG_Great_Nodes" + ], + "install_type": "git-clone", + "description": "NDDG Great Nodes - ComfyUI custom nodes featuring Great Conditioning Modifier with advanced semantic drift, token dropout, gradient amplification and other conceptual manipulation tools. (Description by CC)" + }, + { + "author": "aining2022", + "title": "ComfyUI_Swwan", + "reference": "https://github.com/aining2022/ComfyUI_Swwan", + "files": [ + "https://github.com/aining2022/ComfyUI_Swwan" + ], + "install_type": "git-clone", + "description": "Collection of image processing utility nodes for ComfyUI including intelligent cropping, aspect ratio scaling, and crop box restoration capabilities. (Description by CC)" + }, + { + "author": "chchchadzilla", + "title": "ComfyUI-ChomfyNodes", + "reference": "https://github.com/chchchadzilla/ComfyUI-ChomfyNodes", + "files": [ + "https://github.com/chchchadzilla/ComfyUI-ChomfyNodes" + ], + "install_type": "git-clone", + "description": "A professional suite of utility nodes for ComfyUI, featuring forensic logging, massive wildcard control, universal noise injection, and persistent counters." + }, + { + "author": "nitingrg", + "title": "comfyui-ntools", + "reference": "https://github.com/nitingrg/comfyui-ntools", + "files": [ + "https://github.com/nitingrg/comfyui-ntools" + ], + "install_type": "git-clone", + "description": "Essential little utilities that should have been in ComfyUI from day one. (Description by CC)" + }, + { + "author": "jav12z", + "title": "ComfyUI-ToyShaders", + "reference": "https://github.com/jav12z/ComfyUI-ToyShaders", + "files": [ + "https://github.com/jav12z/ComfyUI-ToyShaders" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to render GLSL shaders (Shadertoy-style) directly inside your workflows. (Description by CC)" + }, + { + "author": "Nynxz", + "title": "ComfyUI-NynxzNodes", + "reference": "https://github.com/Nynxz/ComfyUI-NynxzNodes", + "files": [ + "https://github.com/Nynxz/ComfyUI-NynxzNodes" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes providing video comparison utilities, including wipe and fade compare video generation in multiple directions. (Description by CC)" + }, + { + "author": "huygiatrng", + "title": "Facefusion_comfyui", + "reference": "https://github.com/huygiatrng/Facefusion_comfyui", + "files": [ + "https://github.com/huygiatrng/Facefusion_comfyui" + ], + "install_type": "git-clone", + "description": "Advanced face swapping for ComfyUI with local ONNX inference - no API required!" + }, + { + "author": "Ada123-a", + "title": "ComfyUI-Kandinsky", + "reference": "https://github.com/Ada123-a/ComfyUI-Kandinsky", + "files": [ + "https://github.com/Ada123-a/ComfyUI-Kandinsky" + ], + "install_type": "git-clone", + "description": "Kandinsky 2/20B ComfyUI support with FP8/GGUF/blockswap support." + }, + { + "author": "obvirm", + "title": "ComfyUI-WhisperXX", + "reference": "https://github.com/obvirm/ComfyUI-WhisperXX", + "files": [ + "https://github.com/obvirm/ComfyUI-WhisperXX" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that provides advanced transcription, alignment, and diarization capabilities using the WhisperX library." + }, + { + "author": "geroldmeisinger", + "title": "ComfyUI-outputlists-combiner", + "reference": "https://github.com/geroldmeisinger/ComfyUI-outputlists-combiner", + "files": [ + "https://github.com/geroldmeisinger/ComfyUI-outputlists-combiner" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes to create output lists with strings and numbers, make combinations of them, and help with XYZ-Gridplots" + }, + { + "author": "agavesunset", + "title": "AgaveLogicCounter", + "reference": "https://github.com/agavesunset/AgaveLogicCounter", + "files": [ + "https://github.com/agavesunset/AgaveLogicCounter" + ], + "install_type": "git-clone", + "description": "Solves the complex 'For-Loop' logic in ComfyUI. Perfect for controlling multi-subject vs. multi-scene batch workflows." + }, + { + "author": "idvdii", + "title": "ComfyUI-DvD-LoraTriggerwordsManager", + "reference": "https://github.com/idvdii/ComfyUI-DvD-LoraTriggerwordsManager", + "files": [ + "https://github.com/idvdii/ComfyUI-DvD-LoraTriggerwordsManager" + ], + "install_type": "git-clone", + "description": "Professional ComfyUI custom nodes for managing LoRA trigger words, with auto-read, smart lookup via Civitai, editing, and WebUI-compatible JSON format support. (Description by CC)" + }, + { + "author": "zhanglongxiao111", + "title": "Comfyui-geminiapi", + "reference": "https://github.com/zhanglongxiao111/Comfyui-geminiapi", + "files": [ + "https://github.com/zhanglongxiao111/Comfyui-geminiapi" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for integrating multiple external APIs including Gemini, OpenAI, Replicate, and ElevenLabs directly into local workflows. (Description by CC)" + }, + + { + "author": "keghoang", + "title": "ComfyUI-Charon", + "reference": "https://github.com/keghoang/ComfyUI-Charon", + "files": [ + "https://github.com/keghoang/ComfyUI-Charon" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for CHARON auto-alignment and DA3 camera export." + }, + { + "author": "mobcat40", + "title": "ComfyUI-PromptChain", + "reference": "https://github.com/mobcat40/ComfyUI-PromptChain", + "files": [ + "https://github.com/mobcat40/ComfyUI-PromptChain" + ], + "install_type": "git-clone", + "description": "A visual tool for prompt randomization and advanced combinations inside of your ComfyUI workflows." + }, + { + "author": "tpc2233", + "title": "ComfyUI-Z-Image-Turbo", + "reference": "https://github.com/tpc2233/ComfyUI-Z-Image-Turbo", + "files": [ + "https://github.com/tpc2233/ComfyUI-Z-Image-Turbo" + ], + "install_type": "git-clone", + "description": "Comfy UI nodes for Z-Image-Turbo to run native weights with automatic model downloading and support for 2048x2048 resolution. (Description by CC)" + }, + { + "author": "Rathius-Saranoth", + "title": "Rathius_ComfyNodes", + "reference": "https://github.com/Rathius-Saranoth/Rathius_ComfyNodes", + "files": [ + "https://github.com/Rathius-Saranoth/Rathius_ComfyNodes" + ], + "install_type": "git-clone", + "description": "Collection of quality-of-life ComfyUI nodes including a text file loader for parsing descriptions and managing prompts without manual copy-paste. (Description by CC)" + }, + { + "author": "jrabek", + "title": "BokehDiffusionComfyUI", + "reference": "https://github.com/jrabek/BokehDiffusionComfyUI", + "files": [ + "https://github.com/jrabek/BokehDiffusionComfyUI" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Bokeh Diffusion - Defocus Blur Control in Text-to-Image Diffusion Models." + }, + { + "author": "HAL-XP", + "title": "HALXP-Comfy", + "reference": "https://github.com/HAL-XP/halxp-comfy", + "files": [ + "https://github.com/HAL-XP/halxp-comfy" + ], + "install_type": "git-clone", + "description": "A UI suite for ComfyUI including Focus mode and layout enhancements." + }, + { + "author": "BuddyBytes", + "title": "Smart Resolution Toolkit", + "reference": "https://github.com/buddy-bytes/ComfyUI-SmartResolutionToolkit", + "files": [ + "https://github.com/buddy-bytes/ComfyUI-SmartResolutionToolkit" + ], + "install_type": "git-clone", + "description": "Resolution picker and latent generator for ComfyUI. Select presets like HD, FullHD, 2K, 4K, 8K with aspect ratios (1:1, 9:16, 4:5, 21:9 etc.) via dropdowns. Automatically snaps width/height to latent-safe multiples of 64. Ideal for EmptyLatentImage, AnimateDiff, ControlNet, video formats, and KSampler workflows. Outputs clean INT values or ready-to-use LATENT tensor." + }, + { + "author": "Bharanidharan", + "title": "iSeeBetter Node for ComfyUI", + "reference": "https://github.com/llikethat/ComfyUI-iseebetter", + "files": [ + "https://github.com/llikethat/ComfyUI-iseebetter" + ], + "install_type": "git-clone", + "description": "Custom Node to implement iSeeBetter upscaling method." + }, + { + "author": "Bharanidharan", + "title": "faceExtractor for ComfyUI", + "reference": "https://github.com/llikethat/ComfyUI-faceExtractor", + "files": [ + "https://github.com/llikethat/ComfyUI-faceExtractor" + ], + "install_type": "git-clone", + "description": "Custom Node to detect face matching the input reference image." + }, + { + "author": "Pondowner857", + "title": "ComfyUI Remote Workflow Executor", + "id": "comfy_Pond_Nodes_V2", + "reference": "https://github.com/Pondowner857/comfy_Pond_Nodes_V2", + "files": [ + "https://github.com/Pondowner857/comfy_Pond_Nodes_V2" + ], + "install_type": "git-clone", + "description": "Remote workflow executor node - Execute workflows on remote ComfyUI servers. Supports image/text/audio/video input and output." + }, + { + "author": "luxdelux7", + "title": "Forbidden Vision", + "reference": "https://github.com/luxdelux7/ComfyUI-Forbidden-Vision", + "files": [ + "https://github.com/luxdelux7/ComfyUI-Forbidden-Vision" + ], + "install_type": "git-clone", + "description": "Custom face detection and segmentation for ComfyUI with automatic face fixing, intelligent color grading, and iterative refinement. Custom-trained models optimized for realistic, anime, and NSFW content.", + "nodename_pattern": "ForbiddenVision" + }, + { + "author": "ah-kun", + "title": "ComfyUI-FailSafe-Translate-Node", + "reference": "https://github.com/ah-kun/ComfyUI-FailSafe-Translate-Node", + "files": [ + "https://github.com/ah-kun/ComfyUI-FailSafe-Translate-Node" + ], + "install_type": "git-clone", + "description": "Fail-safe Google Translate prompt node for ComfyUI (retry + caching)." + }, + { + "author": "ah-kun", + "title": "ComfyUI-OTP-Auth", + "reference": "https://github.com/ah-kun/ComfyUI-OTP-Auth", + "files": [ + "https://github.com/ah-kun/ComfyUI-OTP-Auth" + ], + "install_type": "git-clone", + "description": "Adds simple One-Time Password (OTP) authentication using Google Authenticator to protect publicly accessible ComfyUI instances." + }, + { + "author": "Kazama-Suichiku", + "title": "ComfyUI-Meshy", + "id": "comfyui-meshy", + "reference": "https://github.com/Kazama-Suichiku/ComfyUI-Meshy", + "files": [ + "https://github.com/Kazama-Suichiku/ComfyUI-Meshy" + ], + "install_type": "git-clone", + "description": "ComfyUI-Meshy is a 3D generation extension based on Meshy AI API. It provides Text-to-3D and Image-to-3D capabilities within ComfyUI, allowing you to generate 3D models directly from text prompts or images. Supports multiple AI models (Meshy-4, Meshy-5, Meshy-6) with customizable topology, polygon count, and PBR settings." + }, + { + "author": "Carasibana", + "title": "ComfyUI-PolyMask", + "reference": "https://github.com/Carasibana/ComfyUI-PolyMask", + "files": [ + "https://github.com/Carasibana/ComfyUI-PolyMask" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for loading images and drawing polygon masks interactively on them" + }, + { + "author": "supElement", + "title": "ComfyUI_Element_easy", + "reference": "https://github.com/supElement/ComfyUI_Element_easy", + "files": [ + "https://github.com/supElement/ComfyUI_Element_easy" + ], + "install_type": "git-clone", + "description": "Three custom ComfyUI nodes: Empty Image RGB, Text Line Break, and Random Chars (Append) for convenient utilities. (Description by CC)" + }, + { + "author": "Zeknes", + "title": "Comfyui-Nanobanana-API", + "reference": "https://github.com/Zeknes/Comfyui-Nanobanana-API", + "files": [ + "https://github.com/Zeknes/Comfyui-Nanobanana-API" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for Gemini image generation via OpenRouter API, supporting text prompts and multiple image inputs (up to 4 images) with automatic saving to output directory. (Description by CC)" + }, + { + "author": "Zeknes", + "title": "Comfyui-LLM-Chat", + "reference": "https://github.com/Zeknes/Comfyui-LLM-Chat", + "files": [ + "https://github.com/Zeknes/Comfyui-LLM-Chat" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node providing unified access to multiple Large Language Models including OpenAI-compatible APIs and local Ollama instances with image support." + }, + { + "author": "xiaoshengyvlin", + "title": "ComfyUI-MetaData-ZaKo", + "reference": "https://github.com/xiaoshengyvlin/ComfyUI-MetaData-ZaKo", + "files": [ + "https://github.com/xiaoshengyvlin/ComfyUI-MetaData-ZaKo" + ], + "install_type": "git-clone", + "description": "ComfyUI extension for image metadata swapping and preservation in workflows. (Description by CC)" + }, + { + "author": "UndefinedUo", + "title": "DuoUmiWildcards", + "reference": "https://github.com/UndefinedUo/DuoUmiWildcards", + "files": [ + "https://github.com/UndefinedUo/DuoUmiWildcards" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node supporting wildcard text processing from files with YAML tags, randomization, latent ratio selection and preset aspect ratios." + }, + { + "author": "bpmpnaito", + "title": "comfyui-imageviewer", + "reference": "https://github.com/bpmpnaito/comfyui-imageviewer", + "files": [ + "https://github.com/bpmpnaito/comfyui-imageviewer" + ], + "install_type": "git-clone", + "description": "Image viewer node that displays preview of images directly in the node." + }, + { + "author": "ChangeTheConstants", + "title": "SeedVarianceEnhancer", + "reference": "https://github.com/ChangeTheConstants/SeedVarianceEnhancer", + "files": [ + "https://github.com/ChangeTheConstants/SeedVarianceEnhancer" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that adds diversity to Z-Image Turbo outputs by adding random noise to text prompt embeddings to compensate for low seed variance. (Description by CC)" + }, + { + "author": "SaTaNoob", + "title": "ComfyUI-Z-Image-Turbo-Resolutions", + "reference": "https://github.com/SaTaNoob/ComfyUI-Z-Image-Turbo-Resolutions", + "files": [ + "https://github.com/SaTaNoob/ComfyUI-Z-Image-Turbo-Resolutions" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that provides quick access to all image resolutions for the Z Image Turbo model, sourced from its official Hugging Face Space." + }, + { + "author": "CraftBlack", + "title": "ComfyUI-Resolution-Divider", + "reference": "https://github.com/CraftBlack/ComfyUI-Resolution-Divider", + "files": [ + "https://github.com/CraftBlack/ComfyUI-Resolution-Divider" + ], + "install_type": "git-clone", + "description": "Utility node for ComfyUI that calculates downscaled resolutions while maintaining original aspect ratio, ideal for image-to-video workflows to prevent OOM errors. (Description by CC)" + }, + { + "author": "Randy420Marsh", + "title": "Civitai URL Resolver for ComfyUI", + "reference": "https://github.com/Randy420Marsh/civitai-api-url-resolver", + "files": [ + "https://github.com/Randy420Marsh/civitai-api-url-resolver" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that converts Civitai share/model page URLs into direct download URLs, making it easier to integrate Civitai models into your workflows." + }, + { + "author": "zn123", + "title": "ComfyUI-image-processor-zn123", + "reference": "https://github.com/zn123/ComfyUI-image-processor-zn123", + "files": [ + "https://github.com/zn123/ComfyUI-image-processor-zn123" + ], + "install_type": "git-clone", + "description": "Comprehensive image processing plugin for ComfyUI" + }, + { + "author": "Koko-boya", + "title": "Comfyui-Z-Image-Utilities", + "reference": "https://github.com/Koko-boya/Comfyui-Z-Image-Utilities", + "files": [ + "https://github.com/Koko-boya/Comfyui-Z-Image-Utilities" + ], + "install_type": "git-clone", + "description": "Collection of utility nodes for ComfyUI designed specifically for the Z-Image model with vision model support and LLM-powered prompt enhancement." + }, + { + "author": "Koko-boya", + "title": "Comfyui-GeminiWeb", + "reference": "https://github.com/Koko-boya/Comfyui-GeminiWeb", + "files": [ + "https://github.com/Koko-boya/Comfyui-GeminiWeb" + ], + "install_type": "git-clone", + "description": "ComfyUI node for Gemini Web API - text-to-image, image-to-image, and chat with multi-image input support" + }, + { + "author": "fredlef", + "title": "ComfyUI FSL Nodes", + "reference": "https://github.com/fredlef/Comfyui_FSL_Nodes", + "files": [ + "https://github.com/fredlef/Comfyui_FSL_Nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes: FSLGeminiChat, FSLGeminiGenerateImage, Transparent Background helpers, and more." , + "tags": ["image", "chat", "gemini", "fsl"] + }, + { + "author": "exedesign", + "title": "ComfyUI-Hunyuan3D-v3", + "id": "hunyuan3d-v3", + "reference": "https://github.com/exedesign/Hunyuan-3D-v3", + "files": [ + "https://github.com/exedesign/Hunyuan-3D-v3" + ], + "install_type": "git-clone", + "description": "Text-to-3D and Image-to-3D generation using Tencent Cloud Hunyuan 3D Global API. Supports PBR materials, face count control (40K-1.5M faces), and multiple generation types (Normal/LowPoly/Geometry/Sketch). Outputs industry-standard GLB format. Requires Tencent Cloud account with API access.", + "nodename_pattern": "Hunyuan", + "tags": ["3D", "generation", "text-to-3d", "image-to-3d", "hunyuan", "tencent"] + }, + { + "author": "btitkin", + "title": "Random Prompt Builder", + "id": "random-prompt-builder", + "reference": "https://github.com/btitkin/ComfyUI-RandomPromptBuilder", + "files": [ + "https://github.com/btitkin/ComfyUI-RandomPromptBuilder" + ], + "install_type": "git-clone", + "description": "Advanced AI-powered prompt generation using local GGUF models. Generate detailed, structured prompts with character controls, style presets, and model-specific formatting for Pony, SDXL, Flux, and more. Supports GPU acceleration and runs completely offline." + }, + { + "author": "rjgoif", + "title": "Img Label Tools", + "id": "Img-Label-Tools", + "reference": "https://github.com/rjgoif/ComfyUI-Img-Label-Tools", + "files": [ + "https://github.com/rjgoif/ComfyUI-Img-Label-Tools" + ], + "install_type": "git-clone", + "description": "Tools to help annotate images for sharing on Reddit, Discord, etc." + }, + { + "author": "mrf", + "title": "ComfyPoe", + "reference": "https://github.com/mrf/ComfyPoe", + "files": [ + "https://github.com/mrf/ComfyPoe" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for image generation via Poe API" + }, + { + "author": "sirouk", + "title": "chutes-comfyui-node", + "reference": "https://github.com/sirouk/chutes-comfyui-node", + "files": [ + "https://github.com/sirouk/chutes-comfyui-node" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Chutes.ai video generation API" + }, + { + "author": "Tinuva88", + "title": "Comfy-UmiAI", + "reference": "https://github.com/Tinuva88/Comfy-UmiAI", + "files": [ + "https://github.com/Tinuva88/Comfy-UmiAI" + ], + "install_type": "git-clone", + "description": "A logic engine for ComfyUI prompts that transforms static prompts into dynamic, context-aware workflows with persistent variables, conditional logic, native LoRA loading, and external data fetching. (Description by CC)" + }, + { + "author": "Transhumai", + "title": "ComfyUI-LegionPower", + "reference": "https://github.com/Transhumai/ComfyUI-LegionPower", + "files": [ + "https://github.com/Transhumai/ComfyUI-LegionPower" + ], + "install_type": "git-clone", + "description": "Nodes to run ComfyUI workflows in isolated workers for optimal GPU and memory use." + }, + { + "author": "jeankassio", + "title": "ComfyUI_MusicTools", + "id": "ComfyUI_MusicTools", + "reference": "https://github.com/jeankassio/ComfyUI_MusicTools", + "files": [ + "https://github.com/jeankassio/ComfyUI_MusicTools" + ], + "install_type": "git-clone", + "description": "Professional audio processing and mastering suite for ComfyUI." + }, + { + "author": "jeankassio", + "title": "JK AceStep Nodes", + "id": "JK-AceStep-Nodes", + "reference": "https://github.com/jeankassio/JK-AceStep-Nodes", + "files": [ + "https://github.com/jeankassio/JK-AceStep-Nodes" + ], + "install_type": "git-clone", + "description": "Advanced nodes optimized for ACE-Step audio generation in ComfyUI." + }, + { + "author": "ameyukisora", + "title": "ComfyUI Empty Latent Advanced", + "reference": "https://github.com/ameyukisora/ComfyUI-Empty-Latent-Advanced", + "files": [ + "https://github.com/ameyukisora/ComfyUI-Empty-Latent-Advanced" + ], + "install_type": "git-clone", + "description": "An advanced Empty Latent selector with visual presets and foldable UI." + }, + { + "author": "Bomborant", + "title": "ShakaNodes", + "id": "shakanodes", + "reference": "https://github.com/bomborant/ComfyUI-ShakaNodes", + "files": [ + "https://github.com/bomborant/ComfyUI-ShakaNodes" + ], + "install_type": "git-clone", + "description": "ShakaNodes: Utility tools for ComfyUI" + }, + { + "author": "Matthew-X", + "title": "Workflow Importer", + "id": "comfyui-workflow_importer", + "reference": "https://github.com/Matthew-X/comfyui-workflow_importer", + "files": [ + "https://github.com/Matthew-X/comfyui-workflow_importer" + ], + "install_type": "git-clone", + "js_path": "workflow_importer", + "description": "Import ComfyUI workflows from images with embedded metadata. Adds a toolbar Import button, drag-and-drop dialog and Ctrl+Shift+I shortcut. Supports legacy and new UIs, common image formats, opens each image in a new workflow tab." + }, + { + "author": "Dashuai", + "title": "ComfyUI DashuaiTools", + "id": "comfyui-dashuai-tools", + "reference": "https://github.com/Hasasasa/ComfyUI_DashuaiTools", + "files": [ + "https://github.com/Hasasasa/ComfyUI_DashuaiTools" + ], + "install_type": "git-clone", + "description": "A practical and lightweight collection of custom nodes for ComfyUI, providing utility tools and convenient workflow functions." + }, + { + "author": "ShootTheSound", + "title": "Realtime LoRA Trainer", + "id": "comfyui-realtime-lora", + "reference": "https://github.com/ShootTheSound/comfyUI-Realtime-Lora", + "files": [ + "https://github.com/ShootTheSound/comfyUI-Realtime-Lora" + ], + "install_type": "git-clone", + "description": "Train and Block Edit and Save LoRAs directly inside ComfyUI. Supports SDXL (via sd-scripts), FLUX, Z-Image Turbo, and Wan 2.2 (via Musubi Tuner and AI-Toolkit)." + }, + { + "author": "shootthesound", + "title": "comfyUI-LongLook", + "reference": "https://github.com/shootthesound/comfyUI-LongLook", + "files": [ + "https://github.com/shootthesound/comfyUI-LongLook" + ], + "install_type": "git-clone", + "description": "FreeLong spectral blending for consistent motion and prompt adherence in Wan 2.2 video generation with chunked generation support." + }, + { + "author": "shootthesound", + "title": "comfyui-wan-i2v-control", + "reference": "https://github.com/shootthesound/comfyui-wan-i2v-control", + "files": [ + "https://github.com/shootthesound/comfyui-wan-i2v-control" + ], + "install_type": "git-clone", + "description": "A user-friendly way to selectively transform parts of your starting image in WAN Image-to-Video generation with advanced masking and person detection." + }, + { + "author": "HackAfterDark", + "title": "AfterDark Film AR Selector", + "id": "ComfyUI-HackAfterDark-Nodes", + "reference": "https://github.com/hackafterdark/ComfyUI-HackAfterDark-Nodes", + "files": [ + "https://github.com/hackafterdark/ComfyUI-HackAfterDark-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of utility nodes for ComfyUI, including resolution presets for film and photography aspect ratios.", + "tags": ["utility", "presets", "aspect ratio", "film"] + }, + { + "author": "jomakaze", + "title": "ComfyUI_JomaNodes", + "reference": "https://github.com/jomakaze/ComfyUI_JomaNodes", + "files": [ + "https://github.com/jomakaze/ComfyUI_JomaNodes" + ], + "install_type": "git-clone", + "description": "A collection of quality-of-life and convenience nodes." + }, + { + "author": "UmeAiRT", + "title": "ComfyUI-UmeAiRT-Sync", + "reference": "https://github.com/UmeAiRT/ComfyUI-UmeAiRT-Sync", + "files": [ + "https://github.com/UmeAiRT/ComfyUI-UmeAiRT-Sync" + ], + "install_type": "git-clone", + "description": "Automatic workflow synchronizer/loader for UmeAiRT Workflows (Flux, SDXL, WAN, etc.)." + }, + { + "author": "DayMan84", + "title": "ComfyUI-Ugromana", + "id": "comfyui-usgromana", + "reference": "https://github.com/DayMan84/ComfyUI-Usgromana", + "files": [ + "https://github.com/DayMan84/ComfyUI-Usgromana" + ], + "install_type": "git-clone", + "description": "The next-generation security, governance, permissions, and multi‑user control system for ComfyUI." + }, + { + "author": "DayMan84", + "title": "ComfyUI-Usgromana-Gallery", + "reference": "https://github.com/DayMan84/ComfyUI-Usgromana-Gallery", + "files": [ + "https://github.com/DayMan84/ComfyUI-Usgromana-Gallery" + ], + "install_type": "git-clone", + "description": "A comprehensive image gallery extension for ComfyUI that provides advanced image management, metadata editing, NSFW content filtering, real-time file monitoring, and a full-featured file explorer." + }, + { + "author": "DemonNCoding", + "title": "PromptGenerator 12-Columns", + "id": "promptgenerator12columns", + "reference": "https://github.com/DemonNCoding/PromptGenerator12Columns", + "files": [ + "https://github.com/DemonNCoding/PromptGenerator12Columns" + ], + "install_type": "git-clone", + "description": "A fast and flexible random prompt generator with 12 columns (Empty / Pre-filled SFW / Pre-filled NSFW). Pre filled with text so that you can get started right away. Supports comma or newline output and always adds quality tags." + }, + { + "author": "Kebolder", + "title": "ComfyUI-Jax-Nodes", + "reference": "https://github.com/Kebolder/ComfyUI-Jax-Nodes", + "files": [ + "https://github.com/Kebolder/ComfyUI-Jax-Nodes" + ], + "install_type": "git-clone", + "description": "Some custom nodes for weird niche needs when working with Krita" + }, + { + "author": "TuonoMindCode", + "title": "ComfyUI-MultiClip-Text-Script", + "reference": "https://github.com/TuonoMindCode/ComfyUI-MultiClip-Text-Script", + "files": [ + "https://github.com/TuonoMindCode/ComfyUI-MultiClip-Text-Script" + ], + "install_type": "git-clone", + "description": "Two simple nodes that help you author sequence-friendly prompts from a single script that contains multiple clips. (Description by CC)" + }, + { + "author": "TuonoMindCode", + "title": "ComfyUI-Resolution-Suggest-Downscale", + "reference": "https://github.com/TuonoMindCode/ComfyUI-Resolution-Suggest-Downscale", + "files": [ + "https://github.com/TuonoMindCode/ComfyUI-Resolution-Suggest-Downscale" + ], + "install_type": "git-clone", + "description": "Resolution suggestion and downscale helper node for ComfyUI." + }, + { + "author": "sooxt98", + "title": "comfyui_longcat_image", + "reference": "https://github.com/sooxt98/comfyui_longcat_image", + "files": [ + "https://github.com/sooxt98/comfyui_longcat_image" + ], + "install_type": "git-clone", + "description": "ComfyUI integration of the LongCat-Image pipeline for text-to-image generation and image editing with excellent Chinese text rendering capabilities. (Description by CC)" + }, + { + "author": "t22m003", + "title": "ComfyUI_LoopNode", + "reference": "https://github.com/t22m003/ComfyUI_LoopNode", + "files": [ + "https://github.com/t22m003/ComfyUI_LoopNode" + ], + "install_type": "git-clone", + "description": "Custom node that provides loop (for-loop) functionality in ComfyUI." + }, + { + "author": "thatname", + "title": "Comfyui_CharaConsist", + "reference": "https://github.com/thatname/Comfyui_CharaConsist", + "files": [ + "https://github.com/thatname/Comfyui_CharaConsist" + ], + "install_type": "git-clone", + "description": "Training-free CharaConsist algorithm implementation for ComfyUI - Generate consistent subjects across multiple generations with enhanced mask generation and multi-model support." + }, + { + "author": "thrakotool", + "title": "ComfyUI-KiraLoraEQ", + "reference": "https://github.com/thrakotool/ComfyUI-KiraLoraEQ", + "files": [ + "https://github.com/thrakotool/ComfyUI-KiraLoraEQ" + ], + "install_type": "git-clone", + "description": "20-band LoRA equalizer for ComfyUI that surgically adjusts LoRA influence across frequency-like bands, cross-attention, and MLP layers. (Description by CC)" + }, + { + "author": "ckinpdx", + "title": "ComfyUI-WanKeyframeBuilder", + "reference": "https://github.com/ckinpdx/ComfyUI-WanKeyframeBuilder", + "files": [ + "https://github.com/ckinpdx/ComfyUI-WanKeyframeBuilder" + ], + "install_type": "git-clone", + "description": "Custom node for building keyframe timelines in Wan video generation with adjustable influence strength, supporting 1-8 keyframes. (Description by CC)" + }, + { + "author": "ckinpdx", + "title": "comfyui-humo-audio-motion", + "reference": "https://github.com/ckinpdx/comfyui-humo-audio-motion", + "files": [ + "https://github.com/ckinpdx/comfyui-humo-audio-motion" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for granular Q/K/V/O attention boosting in HuMo models. Provides 12 independent controls for fine-tuning audio-driven motion response." + }, + { + "author": "ckinpdx", + "title": "ComfyUI-SCAIL-AudioReactive", + "reference": "https://github.com/ckinpdx/ComfyUI-SCAIL-AudioReactive", + "files": [ + "https://github.com/ckinpdx/ComfyUI-SCAIL-AudioReactive" + ], + "install_type": "git-clone", + "description": "Generate audio-reactive SCAIL pose sequences for character animation without requiring input video tracking. Now supports Multi-Character Choreography. (Description by CC)" + }, + { + "author": "ckinpdx", + "title": "ComfyUI-LoadAudioandSplit", + "reference": "https://github.com/ckinpdx/ComfyUI-LoadAudioandSplit", + "files": [ + "https://github.com/ckinpdx/ComfyUI-LoadAudioandSplit" + ], + "install_type": "git-clone", + "description": "Splits audio into frame-synced chunks for video generation workflows with support for overlapping segments for seamless transitions." + }, + { + "author": "jessesep", + "title": "SimpleVariables", + "reference": "https://github.com/jessesep/SimpleVariables", + "files": [ + "https://github.com/jessesep/SimpleVariables" + ], + "install_type": "git-clone", + "description": "Lightweight ComfyUI node pack for storing and retrieving any data by name across workflows. (Description by CC)" + }, + { + "author": "siray-ai", + "title": "siray-comfyui", + "reference": "https://github.com/siray-ai/siray-comfyui", + "files": [ + "https://github.com/siray-ai/siray-comfyui" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for Siray image/video models with dynamic schema-based inputs, authentication, and video streaming. (Description by CC)" + }, + { + "author": "mayunejie", + "title": "ComfyUI-Allen-Yinpin", + "reference": "https://github.com/mayunejie/ComfyUI-Allen-Yinpin", + "files": [ + "https://github.com/mayunejie/ComfyUI-Allen-Yinpin" + ], + "install_type": "git-clone", + "description": "Enhanced audio loading node for ComfyUI supporting .wav, .mp3, .flac, .ogg, .m4a formats with filename text output. (Description by CC)" + }, + { + "author": "reeoi", + "title": "ComfyUI-WebROI", + "reference": "https://github.com/reeoi/ComfyUI-WebROI", + "files": [ + "https://github.com/reeoi/ComfyUI-WebROI" + ], + "install_type": "git-clone", + "description": "Browser-based screen capture node enabling real-time region of interest selection and cropping for ComfyUI deployments. (Description by CC)" + }, + { + "author": "ritik-devsecops", + "title": "ComfyUI-Floyo-Flux2-API-node", + "reference": "https://github.com/ritik-devsecops/ComfyUI-Floyo-Flux2-API-node", + "files": [ + "https://github.com/ritik-devsecops/ComfyUI-Floyo-Flux2-API-node" + ], + "install_type": "git-clone", + "description": "ComfyUI node integrating Black Forest Labs FLUX.2 [pro] API via Floyo for text-to-image and image editing. (Description by CC)" + }, + { + "author": "purzbeats", + "title": "ComfyUI-Purz", + "reference": "https://github.com/purzbeats/ComfyUI-Purz", + "files": [ + "https://github.com/purzbeats/ComfyUI-Purz" + ], + "install_type": "git-clone", + "description": "A comprehensive node pack for ComfyUI that provides powerful image effects, pattern generation, and animated pattern creation capabilities." + }, + { + "author": "TheArtOfficial", + "title": "ComfyUI-MaskMorph", + "reference": "https://github.com/TheArtOfficial/ComfyUI-MaskMorph", + "files": [ + "https://github.com/TheArtOfficial/ComfyUI-MaskMorph" + ], + "install_type": "git-clone", + "description": "Directional mask expansion node that extends masks along specified directions with pixel-precise control, plus separate pinch/widen morphology operations." + }, + { + "author": "brahianrosswill", + "title": "ComfyUi-RandomNoiseCustom", + "reference": "https://github.com/brahianrosswill/ComfyUi-RandomNoiseCustom", + "files": [ + "https://github.com/brahianrosswill/ComfyUi-RandomNoiseCustom" + ], + "install_type": "git-clone", + "description": "Provides custom noise generation capabilities for ComfyUI workflows with configurable parameters. (Description by CC)" + }, + { + "author": "amtarr", + "title": "ComfyUI-TextureAlchemy", + "reference": "https://github.com/amtarr/ComfyUI-TextureAlchemy", + "files": [ + "https://github.com/amtarr/ComfyUI-TextureAlchemy" + ], + "install_type": "git-clone", + "description": "Complete workflow suite for ComfyUI that transforms images into PBR material sets ready for game engines and 3D software." + }, + { + "author": "beyondprompting", + "title": "ComfyUI-Beyond_nodes", + "reference": "https://github.com/beyondprompting/ComfyUI-Beyond_nodes", + "files": [ + "https://github.com/beyondprompting/ComfyUI-Beyond_nodes" + ], + "install_type": "git-clone", + "description": "Create complex compositions the FAST and EASY way." + }, + { + "author": "Zone-Roam", + "title": "ComfyUI-Live-Search", + "reference": "https://github.com/Zone-Roam/ComfyUI-Live-Search", + "files": [ + "https://github.com/Zone-Roam/ComfyUI-Live-Search" + ], + "install_type": "git-clone", + "description": "🌐 Live Search: Real-time web search and AI summarization. Internet search, web scraping, fact checking, weather, news, GPS coordinate conversion. DuckDuckGo search with GPT-5.1, DeepSeek-V3, Gemini 3 Pro, Claude 4.5, Qwen3, Doubao, SiliconFlow (69+ models), Llama 4, Ollama. Modular architecture with API loader. Toggle web search on/off for pure LLM mode." + }, + { + "author": "AJbeckliy", + "title": "SynVow-Comfyui-Nanoapi", + "reference": "https://github.com/AJbeckliy/SynVow-Comfyui-Nanoapi", + "files": [ + "https://github.com/AJbeckliy/SynVow-Comfyui-Nanoapi" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for AI image generation using SynVow API supporting T2I (Text-to-Image) and I2I (Image-to-Image) with multiple API sources and batch generation. (Description by CC)" + }, + { + "author": "Daohoi123", + "title": "ComfyUI-Gemini3", + "reference": "https://github.com/Daohoi123/ComfyUI-Gemini3", + "files": [ + "https://github.com/Daohoi123/ComfyUI-Gemini3" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node integrating Google's Gemini 3 Pro model for native image generation and processing, featuring multi-API key load balancing and auto-retry mechanisms. (Description by CC)" + }, + { + "author": "FeiMao-326", + "title": "Comfyui-General-API-Node", + "reference": "https://github.com/FeiMao-326/Comfyui-General-API-Node", + "files": [ + "https://github.com/FeiMao-326/Comfyui-General-API-Node" + ], + "install_type": "git-clone", + "description": "A suite of powerful and versatile utility nodes for ComfyUI, designed to streamline complex workflows involving Large Language Models and text manipulation." + }, + { + "author": "systemaiofinterest-wq", + "title": "ComfyUI-MetaAI", + "reference": "https://github.com/systemaiofinterest-wq/ComfyUI-MetaAI", + "files": [ + "https://github.com/systemaiofinterest-wq/ComfyUI-MetaAI" + ], + "install_type": "git-clone", + "description": "Unofficial ComfyUI environment using web scraping methods to enable Meta AI integration for text-to-image and image-to-video generation. (Description by CC)" + }, + { + "author": "phaserblast", + "title": "ComfyUI-DGXSparkSafetensorsLoader", + "reference": "https://github.com/phaserblast/ComfyUI-DGXSparkSafetensorsLoader", + "files": [ + "https://github.com/phaserblast/ComfyUI-DGXSparkSafetensorsLoader" + ], + "install_type": "git-clone", + "description": "A ComfyUI model loader that uses the fastsafetensors library to perform very fast, zero-copy loading from storage to VRAM." + }, + { + "author": "Merserk", + "title": "ComfyUI-Flow-Assistor", + "reference": "https://github.com/Merserk/ComfyUI-Flow-Assistor", + "files": [ + "https://github.com/Merserk/ComfyUI-Flow-Assistor" + ], + "install_type": "git-clone", + "description": "Essential utility nodes for ComfyUI including prompt queue, batch processing, camera angle control, and resolution selector. (Description by CC)" + }, + { + "author": "dandancow874", + "title": "ComfyUI-LMStudio-Controller", + "reference": "https://github.com/dandancow874/ComfyUI-LMStudio-Controller", + "files": [ + "https://github.com/dandancow874/ComfyUI-LMStudio-Controller" + ], + "install_type": "git-clone", + "description": "Integrates LM Studio's CLI to perform Vision Language Model inference locally in ComfyUI with advanced memory management and anti-OOM protection." + }, + { + "author": "xiangyuT", + "title": "ComfyUI-PromptEnhance", + "reference": "https://github.com/xiangyuT/ComfyUI-PromptEnhance", + "files": [ + "https://github.com/xiangyuT/ComfyUI-PromptEnhance" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for enhancing prompts using OpenAI-compatible APIs (like DeepSeek, OpenAI, etc.)." + }, + { + "author": "anilstream", + "title": "ComfyUI-Ideogram-Character", + "reference": "https://github.com/anilstream/ComfyUI-Ideogram-Character", + "files": [ + "https://github.com/anilstream/ComfyUI-Ideogram-Character" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for generating consistent character images using Ideogram API v3's character reference feature. (Description by CC)" + }, + { + "author": "Moeblack", + "title": "ComfyUI-SimpleChat", + "reference": "https://github.com/Moeblack/ComfyUI-SimpleChat", + "files": [ + "https://github.com/Moeblack/ComfyUI-SimpleChat" + ], + "install_type": "git-clone", + "description": "Simple, no-nonsense LLM chat nodes for ComfyUI. Support OpenAI, Claude, Gemini and NoASS Roleplay.", + "tags": [ + "LLM", + "chat", + "openai", + "claude", + "gemini", + "roleplay", + "noass" + ] + }, + { + "author": "Braeden90000", + "title": "ComfyUI Load Image URL", + "id": "load-image-url", + "reference": "https://github.com/Braeden90000/comfyui-load-image-url", + "files": [ + "https://github.com/Braeden90000/comfyui-load-image-url" + ], + "pip": ["requests"], + "install_type": "git-clone", + "description": "Load images from files or URLs with live preview and source switching." + }, + { + "author": "lovelybbq", + "title": "ComfyUI Custom Node Color", + "reference": "https://github.com/lovelybbq/comfyui-custom-node-color", + "files": [ + "https://github.com/lovelybbq/comfyui-custom-node-color" + ], + "install_type": "git-clone", + "description": "A modern GUI-based color picker for ComfyUI nodes. Features visual spectrum, HEX/RGB inputs, eyedropper tool, and favorite colors support." + }, + { + "author": "huihuihuiz", + "title": "LoRA Downloader for ComfyUI", + "id": "lora_downloader", + "reference": "https://github.com/huihuihuiz/lora_downloader", + "files": [ + "https://github.com/huihuihuiz/lora_downloader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for downloading and managing LoRA models directly within the UI." + }, + { + "author": "huihuihuiz", + "title": "UNet Downloader for ComfyUI", + "id": "unet_downloader", + "reference": "https://github.com/huihuihuiz/unet_downloader", + "files": [ + "https://github.com/huihuihuiz/unet_downloader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for downloading and managing UNet/Diffusion models (FLUX, SD3, etc.) directly within the UI." + }, + { + "author": "huihuihuiz", + "title": "Plugin Downloader for ComfyUI", + "id": "plugin_downloader", + "reference": "https://github.com/huihuihuiz/plugin_downloader", + "files": [ + "https://github.com/huihuihuiz/plugin_downloader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for downloading and backing up all custom nodes/plugins as ZIP files." + }, + { + "author": "huihuihuiz", + "title": "Upscaler Downloader for ComfyUI", + "id": "upscaler_downloader", + "reference": "https://github.com/huihuihuiz/upscaler_downloader", + "files": [ + "https://github.com/huihuihuiz/upscaler_downloader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for downloading and managing upscaler/super-resolution models directly within the UI." + }, + { + "author": "aTanguay", + "title": "ComfyUI_Detonate", + "reference": "https://github.com/aTanguay/ComfyUI_Detonate", + "files": [ + "https://github.com/aTanguay/ComfyUI_Detonate" + ], + "install_type": "git-clone", + "description": "Professional compositing nodes for ComfyUI - bringing Nuke and Fusion workflows to AI-powered image generation" + }, + { + "author": "akaugun", + "title": "comfyui-lora-hook-trigger", + "reference": "https://github.com/akaugun/comfyui-lora-hook-trigger", + "files": [ + "https://github.com/akaugun/comfyui-lora-hook-trigger" + ], + "install_type": "git-clone", + "description": "A clean and simple ComfyUI custom node that creates a LoRA Hook and automatically finds and loads trigger TXT files placed in a folder named after the LoRA file." + }, + { + "author": "tumbowungus", + "title": "MultiMaskCouple", + "reference": "https://github.com/tumbowungus/MultiMaskCouple", + "files": [ + "https://github.com/tumbowungus/MultiMaskCouple" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI which simplifies the process of masking multiple prompts, making it easier to manage scenes with multiple distinct characters." + }, + { + "author": "fudosanit", + "title": "ComfyUI-Random-Resolution", + "reference": "https://github.com/fudosanit/ComfyUI-Random-Resolution", + "files": [ + "https://github.com/fudosanit/ComfyUI-Random-Resolution" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI. Based on the specified resolution, it randomly selects and outputs one of three patterns: original orientation, swapped width/height, or a square format. (Description by CC)" + }, + { + "author": "SuLU-K", + "title": "comfyui-easy-sam3-tools", + "reference": "https://github.com/SuLU-K/comfyui-easy-sam3-tools", + "files": [ + "https://github.com/SuLU-K/comfyui-easy-sam3-tools" + ], + "install_type": "git-clone", + "description": "Custom nodes for building SAM3-centric editing pipelines inside ComfyUI, featuring mask merging, bounding box rendering, and DOM-based interactive editing. (Description by CC)" + }, + { + "author": "EMkrtchyan", + "title": "ComfyUI-NormalsToDepth", + "reference": "https://github.com/EMkrtchyan/ComfyUI-NormalsToDepth", + "files": [ + "https://github.com/EMkrtchyan/ComfyUI-NormalsToDepth" + ], + "install_type": "git-clone", + "description": "Converts normal maps to depth maps for use in ComfyUI. (Description by CC)" + }, + { + "author": "SKFRMSEHF", + "title": "SK-ComfyUI-FolderingLoader", + "id": "skloader", + "reference": "https://github.com/SKFRMSEHF/comfyui_SK_Loader", + "files": [ + "https://github.com/SKFRMSEHF/comfyui_SK_Loader" + ], + "install_type": "git-clone", + "description": "Unified loader nodes with folder organization support for checkpoints, LoRA, VAE, and diffusion models" + }, + { + "author": "dcyd-lun", + "title": "ComfyUI_text_diff", + "reference": "https://github.com/dcyd-lun/ComfyUI_text_diff", + "files": [ + "https://github.com/dcyd-lun/ComfyUI_text_diff" + ], + "install_type": "git-clone", + "description": "Compare two texts with GitHub/GitLab-style diff highlighting in ComfyUI" + }, + { + "author": "darrell-goh", + "title": "ComfyUI-NanoBanana_node", + "reference": "https://github.com/darrell-goh/ComfyUI-NanoBanana_node", + "files": [ + "https://github.com/darrell-goh/ComfyUI-NanoBanana_node" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to interact with Nano Banana's Vertex API proxy, providing access to Gemini models with dynamic image inputs." + }, + { + "author": "This-is-Uncut", + "title": "Custom-Node-ComfyUI-NBP-Uncut", + "reference": "https://github.com/This-is-Uncut/Custom-Node-ComfyUI-NBP-Uncut", + "files": [ + "https://github.com/This-is-Uncut/Custom-Node-ComfyUI-NBP-Uncut" + ], + "install_type": "git-clone", + "description": "Node to use NBP with custom API key to improve data privacy control." + }, + { + "author": "drawthingsai", + "title": "draw-things-comfyui", + "reference": "https://github.com/drawthingsai/draw-things-comfyui", + "files": [ + "https://github.com/drawthingsai/draw-things-comfyui" + ], + "install_type": "git-clone", + "description": "The official Draw Things extension for ComfyUI. Sends image-generation requests to Draw Things over gRPC. Supports Bridge Mode for DT+ cloud and local model execution." + }, + { + "author": "g7b2", + "title": "ComfyUI-Artist-Tester", + "reference": "https://github.com/g7b2/ComfyUI-Artist-Tester", + "files": [ + "https://github.com/g7b2/ComfyUI-Artist-Tester" + ], + "install_type": "git-clone", + "description": "A dedicated suite of custom nodes for batch testing artists, styles, and prompts in ComfyUI, solving the caching problem with anti-cache logic and dynamic filename generation." + }, + { + "author": "g7b2", + "title": "ComfyUI-MultiCheckpoint-Tester", + "reference": "https://github.com/g7b2/ComfyUI-MultiCheckpoint-Tester", + "files": [ + "https://github.com/g7b2/ComfyUI-MultiCheckpoint-Tester" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for model comparison testing supporting 1-5 checkpoint models with automatic VRAM management and comparison image generation. (Description by CC)" + }, + { + "author": "ubisoft", + "title": "ComfyUI-Chord", + "reference": "https://github.com/ubisoft/ComfyUI-Chord", + "files": [ + "https://github.com/ubisoft/ComfyUI-Chord" + ], + "install_type": "git-clone", + "description": "Custom nodes for the paper: Chord: Chain of Rendering Decomposition for PBR Material Estimation from Generated Texture Images" + }, + { + "author": "Deathspike", + "title": "ComfyUI-MyOriginalWaifu", + "reference": "https://github.com/Deathspike/ComfyUI-MyOriginalWaifu", + "files": [ + "https://github.com/Deathspike/ComfyUI-MyOriginalWaifu" + ], + "install_type": "git-clone", + "description": "My Original Waifu is a tag-based prompt-transformation engine for ComfyUI designed for creators who want their original characters to feel consistent, expressive, and faithfully rendered across every scene. Instead of manually adjusting tags each time you generate an image, you define the essence of your waifu, her look, her outfits, the way she appears in different contexts, and the engine transforms your prompt to match those intentions. It stays out of the way and simply follows your rules with clarity and consistency. Your Waifu. Your Rules. Your Perfect Prompt." + }, + { + "author": "LeonQ8", + "title": "ComfyUI-Dynamic-Lora-Scheduler", + "reference": "https://github.com/LeonQ8/ComfyUI-Dynamic-Lora-Scheduler", + "files": [ + "https://github.com/LeonQ8/ComfyUI-Dynamic-Lora-Scheduler" + ], + "install_type": "git-clone", + "description": "Dynamically balance weights of multiple LoRAs over generation steps for ComfyUI." + }, + { + "author": "sebagallo", + "title": "comfyui-sg-llama-cpp", + "reference": "https://github.com/sebagallo/comfyui-sg-llama-cpp", + "files": [ + "https://github.com/sebagallo/comfyui-sg-llama-cpp" + ], + "install_type": "git-clone", + "description": "llama-cpp-python wrapper, with support for vision models. It allows the user to generate text responses from prompts using llama.cpp." + }, + { + "author": "sebagallo", + "title": "comfyui-sg-openai-client", + "reference": "https://github.com/sebagallo/comfyui-sg-openai-client", + "files": [ + "https://github.com/sebagallo/comfyui-sg-openai-client" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for OpenAI API integration (local supported) with chat completion and image support." + }, + { + "author": "sebagallo", + "title": "comfyui-sg-text-encode-reference-images", + "reference": "https://github.com/sebagallo/comfyui-sg-text-encode-reference-images", + "files": [ + "https://github.com/sebagallo/comfyui-sg-text-encode-reference-images" + ], + "install_type": "git-clone", + "description": "Advanced Text Encode node for ComfyUI with dynamic multi-image reference support." + }, + { + "author": "hubo502", + "title": "ComfyUI-Env-Loader", + "reference": "https://github.com/hubo502/ComfyUI-Env-Loader", + "files": [ + "https://github.com/hubo502/ComfyUI-Env-Loader" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node set that reads .env files at startup and provides dropdown selection or dynamic multi-port output for environment variable access in workflows. (Description by CC)" + }, + { + "author": "fabbarix", + "title": "comfyui-promptstore", + "reference": "https://github.com/fabbarix/comfyui-promptstore", + "files": [ + "https://github.com/fabbarix/comfyui-promptstore" + ], + "install_type": "git-clone", + "description": "Custom node system for ComfyUI enabling efficient prompt management with YAML-based datastore, categories, selection interface, and dynamic text interpolation for creating complex prompts." + }, + { + "author": "ARM64-EC", + "title": "ComfyUI-LongCatPlugin", + "reference": "https://github.com/ARM64-EC/ComfyUI-LongCatPlugin", + "files": [ + "https://github.com/ARM64-EC/ComfyUI-LongCatPlugin" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes wrapping LongCat image generation and editing pipelines with text-to-image and multi-image edit flows using diffusers framework. (Description by CC)" + }, + { + "author": "NOLABEL-VFX", + "title": "ComfyUI-NL_Nodes", + "reference": "https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes", + "files": [ + "https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes by NOLABEL for studio workflows, featuring Shot Path Builder that generates standardized, sanitized file and folder names with versioning for renders." + }, + { + "author": "pantaleone-ai", + "title": "Comfy-Firefly", + "reference": "https://github.com/pantaleone-ai/Comfy-Firefly", + "files": [ + "https://github.com/pantaleone-ai/Comfy-Firefly" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for generating images using Adobe Firefly Services API v3 with automatic authentication and standard tensor output." + }, + { + "author": "febogallo", + "title": "ComfyUI-Freepik", + "reference": "https://github.com/febogallo/ComfyUI-Freepik", + "files": [ + "https://github.com/febogallo/ComfyUI-Freepik" + ], + "install_type": "git-clone", + "description": "Integrates Freepik's AI capabilities into ComfyUI workflows with features for photorealistic generation, upscaling, and background removal, plus smart caching and cost management. (Description by CC)" + }, + { + "author": "XYMikky12138", + "title": "ComfyUI-MIKKY-Mask-Editor", + "reference": "https://github.com/XYMikky12138/ComfyUI-MIKKY-Mask-Editor", + "files": [ + "https://github.com/XYMikky12138/ComfyUI-MIKKY-Mask-Editor" + ], + "install_type": "git-clone", + "description": "A powerful frame-by-frame video mask editor for ComfyUI with painting, auto BBox, hole filling, blur/feathering, and video slicing features." + }, + { + "author": "SiegeKeebsOffical", + "title": "comfyui-lmstudio", + "reference": "https://github.com/SiegeKeebsOffical/comfyui-lmstudio", + "files": [ + "https://github.com/SiegeKeebsOffical/comfyui-lmstudio" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes designed to interface with a separate LM Studio instance for language model operations." + }, + { + "author": "bombdefuser-124", + "title": "Newbie-Teacache-ComfyUI", + "reference": "https://github.com/bombdefuser-124/Newbie-Teacache-ComfyUI", + "files": [ + "https://github.com/bombdefuser-124/Newbie-Teacache-ComfyUI" + ], + "install_type": "git-clone", + "description": "TeaCache optimization nodes for ComfyUI's NewBie implementation, featuring patched loader and coefficient calculator for faster inference with configurable quality. (Description by CC)" + }, + { + "author": "maxczc", + "title": "comfyui-sora-node", + "reference": "https://github.com/maxczc/comfyui-sora-node", + "files": [ + "https://github.com/maxczc/comfyui-sora-node" + ], + "install_type": "git-clone", + "description": "Comprehensive set of ComfyUI custom nodes for interacting with a Sora-compatible REST API, supporting text-to-video, image-to-video, and video-to-video generation." + }, + { + "author": "logicalor", + "title": "comfyui_multi_replace", + "reference": "https://github.com/logicalor/comfyui_multi_replace", + "files": [ + "https://github.com/logicalor/comfyui_multi_replace" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for creating and applying multiple find/replace pairs to text" + }, + { + "author": "logicalor", + "title": "comfyui_text_to_pose", + "reference": "https://github.com/logicalor/comfyui_text_to_pose", + "files": [ + "https://github.com/logicalor/comfyui_text_to_pose" + ], + "install_type": "git-clone", + "description": "Generate human poses from text descriptions using T2P Transformer for ControlNet/T2I-Adapter workflows" + }, + { + "author": "logicalor", + "title": "comfyui_friendly_pipe", + "reference": "https://github.com/logicalor/comfyui_friendly_pipe", + "files": [ + "https://github.com/logicalor/comfyui_friendly_pipe" + ], + "install_type": "git-clone", + "description": "Flexible pipe nodes for bundling and unbundling multiple connections of any type in ComfyUI" + }, + { + "author": "logicalor", + "title": "comfyui_path_sanitizer", + "reference": "https://github.com/logicalor/comfyui_path_sanitizer", + "files": [ + "https://github.com/logicalor/comfyui_path_sanitizer" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that sanitizes strings for use as filesystem paths" + }, + { + "author": "ssspace1", + "title": "SSpack_ComfyUI", + "reference": "https://github.com/ssspace1/SSpack_ComfyUI", + "files": [ + "https://github.com/ssspace1/SSpack_ComfyUI" + ], + "install_type": "git-clone", + "description": "Compact, UI-friendly nodes for ComfyUI with LoRA/checkpoint selectors with thumbnails, text utilities, image helpers, and a lightweight cache cleaner script." + }, + { + "author": "SofianeAlla", + "title": "ComfyUI-BespokeAI-3D", + "reference": "https://github.com/SofianeAlla/ComfyUI-BespokeAI-3D", + "files": [ + "https://github.com/SofianeAlla/ComfyUI-BespokeAI-3D" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for BespokeAI image-to-3D generation\nNOTE: The files in the repo are not organized." + }, + { + "author": "tppp2806", + "title": "ComfyUI-YoloTrack", + "reference": "https://github.com/tppp2806/ComfyUI-YoloTrack", + "files": [ + "https://github.com/tppp2806/ComfyUI-YoloTrack" + ], + "install_type": "git-clone", + "description": "Based on a YOLO model, it performs object detection, capture, and smooth tracking-based cropping on images." + }, + { + "author": "revisiontony", + "title": "ComfyUI Lora Manager Web Frame", + "reference": "https://github.com/revisiontony/LoraMangerWebFrame", + "files": [ + "https://github.com/revisiontony/LoraMangerWebFrame" + ], + "install_type": "git-clone", + "description": "Embeds the ComfyUI-Lora-Manager web interface directly into your ComfyUI workflow graph, eliminating the need for a separate browser tab." + }, + { + "author": "Maenvaeru", + "title": "comfyui-vram-overlay", + "reference": "https://github.com/Maenvaeru/comfyui-vram-overlay", + "files": [ + "https://github.com/Maenvaeru/comfyui-vram-overlay" + ], + "install_type": "git-clone", + "description": "Professional VRAM monitoring overlay for ComfyUI that displays real-time GPU memory usage as an independent, non-intrusive window. (Description by CC)" + }, + { + "author": "PROJECTMAD", + "title": "PROJECT-MAD-NODES", + "reference": "https://github.com/PROJECTMAD/PROJECT-MAD-NODES", + "files": [ + "https://github.com/PROJECTMAD/PROJECT-MAD-NODES" + ], + "install_type": "git-clone", + "description": "Collection of custom ComfyUI nodes for LoRA scheduling and prompt management, featuring visual curve editor and visual prompt gallery with EXIF metadata extraction." + }, + { + "author": "flowers6421", + "title": "ComfyUI-SimpleTunerFlux2", + "reference": "https://github.com/flowers6421/ComfyUI-SimpleTunerFlux2", + "files": [ + "https://github.com/flowers6421/ComfyUI-SimpleTunerFlux2" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for using SimpleTuner-trained Flux 2 LoRA models. SimpleTuner's Flux 2 architecture uses fused layers, making its LoRAs incompatible with standard ComfyUI Flux nodes. (Description by CC)" + }, + { + "author": "revisionhiep-create", + "title": "comfyui-standard-trigger-words", + "reference": "https://github.com/revisionhiep-create/comfyui-standard-trigger-words", + "files": [ + "https://github.com/revisionhiep-create/comfyui-standard-trigger-words" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for managing trigger words with 50+ editable presets optimized for SDXL Illustrious" + }, + { + "author": "revisionhiep-create", + "title": "Comfyui-Prompt-Sorter", + "reference": "https://github.com/revisionhiep-create/Comfyui-Prompt-Sorter", + "files": [ + "https://github.com/revisionhiep-create/Comfyui-Prompt-Sorter" + ], + "install_type": "git-clone", + "description": "Interactive button-based trigger word manager with precision weighting and portable collections." + }, + { + "author": "revisionhiep-create", + "title": "comfyui-universal-trigger-toggle", + "reference": "https://github.com/revisionhiep-create/comfyui-universal-trigger-toggle", + "files": [ + "https://github.com/revisionhiep-create/comfyui-universal-trigger-toggle" + ], + "install_type": "git-clone", + "description": "A standalone custom node for ComfyUI that provides an interactive tag-based interface to enable/disable trigger words from any LoRA loader or gallery node." + }, + { + "author": "Faildes", + "title": "ComfyUI-NegativeFold", + "reference": "https://github.com/Faildes/ComfyUI-NegativeFold", + "files": [ + "https://github.com/Faildes/ComfyUI-NegativeFold" + ], + "install_type": "git-clone", + "description": "Fold negative prompts into positive prompts for use with Turbo models. (Description by CC)" + }, + { + "author": "Faildes", + "title": "ComfyUI-TC_ADV_ZPrompt", + "reference": "https://github.com/Faildes/ComfyUI-TC_ADV_ZPrompt", + "files": [ + "https://github.com/Faildes/ComfyUI-TC_ADV_ZPrompt" + ], + "install_type": "git-clone", + "description": "Extension that allows to use emphasize and AND on Z-Image." + }, + { + "author": "isekai-sh", + "title": "isekai-comfy-node", + "reference": "https://github.com/isekai-sh/isekai-comfy-node", + "files": [ + "https://github.com/isekai-sh/isekai-comfy-node" + ], + "install_type": "git-clone", + "description": "Upload and compress AI-generated images and enhance your ComfyUI workflows with powerful string utilities and AI integration." + }, + { + "author": "QL-boy", + "title": "ComfyUI-Advanced-Tile-Processing", + "reference": "https://github.com/QL-boy/ComfyUI-Advanced-Tile-Processing", + "files": [ + "https://github.com/QL-boy/ComfyUI-Advanced-Tile-Processing" + ], + "install_type": "git-clone", + "description": "Advanced tiling plugin for ComfyUI solving VRAM limitations in 4K/8K+ image generation using intelligent tiling and seamless weighted fusion with multiple blending modes." + }, + { + "author": "gateway", + "title": "ComfyUI-Kie-API", + "reference": "https://github.com/gateway/ComfyUI-Kie-API", + "files": [ + "https://github.com/gateway/ComfyUI-Kie-API" + ], + "install_type": "git-clone", + "description": "Integration framework for KIE Nano Banana Pro API into ComfyUI custom nodes with API key setup and placeholder for upcoming node implementations. (Description by CC)" + }, + { + "author": "lazyq666", + "title": "gemini-3-simply-comfyui", + "reference": "https://github.com/lazyq666/gemini-3-simply-comfyui", + "files": [ + "https://github.com/lazyq666/gemini-3-simply-comfyui" + ], + "install_type": "git-clone", + "description": "Two lightweight ComfyUI nodes for Gemini 3 preview models: Gemini 3 Pro (Text) and Gemini 3 Pro Image. (Description by CC)" + }, + { + "author": "aslanxie", + "title": "comfyui_qwen_image_edit", + "reference": "https://github.com/aslanxie/comfyui_qwen_image_edit", + "files": [ + "https://github.com/aslanxie/comfyui_qwen_image_edit" + ], + "install_type": "git-clone", + "description": "ComfyUI Qwen-Image-Edit-2509 node integration for image editing using OpenAI Image API. (Description by CC)" + }, + { + "author": "Arctenox", + "title": "Arctenoxs-Essentials_ComfyUI", + "reference": "https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI", + "files": [ + "https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI" + ], + "install_type": "git-clone", + "description": "A collection of efficient workflow nodes for ComfyUI with advanced sampling, seed management, temporal prompt processing, and workflow optimization tools" + }, + { + "author": "by-ae", + "title": "ae-in-workflow", + "reference": "https://github.com/by-ae/ae-in-workflow", + "files": [ + "https://github.com/by-ae/ae-in-workflow" + ], + "install_type": "git-clone", + "description": "In-workflow Nodes for ComfyUI - Heavy interaction and streaming capabilities" + }, + { + "author": "OhSeongHyeon", + "title": "comfyui-watdafox-nodes", + "reference": "https://github.com/OhSeongHyeon/comfyui-watdafox-nodes", + "files": [ + "https://github.com/OhSeongHyeon/comfyui-watdafox-nodes" + ], + "install_type": "git-clone", + "description": "A node pack for ComfyUI" + }, + { + "author": "pixelpainter", + "title": "mute-bypass by node ID", + "reference": "https://github.com/pixelpainter/comfyui-mute-bypass-by-ID", + "files": [ + "https://github.com/pixelpainter/comfyui-mute-bypass-by-ID" + ], + "install_type": "git-clone", + "description": "2 nodes for muting or bypassing a node by node ID. They are widget linkable and promotable to a Subgraph node as a switch to mute or bypass a node in it's own Subgraph, or any other Subgraph, or it can be used as a stand alone node anywhere" + }, + { + "author": "pixelpainter", + "title": "UI-Decorators [SubGraph]", + "reference": "https://github.com/pixelpainter/UI-Decorators", + "files": [ + "https://github.com/pixelpainter/UI-Decorators" + ], + "install_type": "git-clone", + "description": "UI Decorators is a set of 4 nodes to enhance frontside SubGraph usability and organization. A Note, a Divider, an editable Spacer, and a Title node. Includes color pickers for fonts, font sizing, bold/non-bold text, and background color picker for the note" + }, + { + "author": "Austat", + "title": "ComfyUI-RemacriScale", + "reference": "https://github.com/Austat/ComfyUI-RemacriScale", + "files": [ + "https://github.com/Austat/ComfyUI-RemacriScale" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for upscaling videos using the Remacri upscaler and then downscaling them. (Description by CC)" + }, + { + "author": "Austat", + "title": "ComfyUI-DownsampleFPS", + "reference": "https://github.com/Austat/ComfyUI-DownsampleFPS", + "files": [ + "https://github.com/Austat/ComfyUI-DownsampleFPS" + ], + "install_type": "git-clone", + "description": "A node for ComfyUI to downsample framerate ie. from 48 to 24." + }, + { + "author": "Lysthan", + "title": "ComfyUI-LYSTHAN-PPS", + "reference": "https://github.com/Lysthan/ComfyUI-LYSTHAN-PPS", + "files": [ + "https://github.com/Lysthan/ComfyUI-LYSTHAN-PPS" + ], + "install_type": "git-clone", + "description": "Privacy-Protected Saver node for ComfyUI that encrypts and archives output images into password-protected ZIP files or videos for secure storage and privacy protection." + }, + { + "author": "mirabarukaso", + "title": "ComfyUI_MiraSubPack", + "reference": "https://github.com/mirabarukaso/ComfyUI_MiraSubPack", + "files": [ + "https://github.com/mirabarukaso/ComfyUI_MiraSubPack" + ], + "install_type": "git-clone", + "description": "More test nodes for ComfyUI_Mira extension. (Description by CC)" + }, + { + "author": "BennyDaBall930", + "title": "ComfyUI-Z-Engineer", + "reference": "https://github.com/BennyDaBall930/ComfyUI-Z-Engineer", + "files": [ + "https://github.com/BennyDaBall930/ComfyUI-Z-Engineer" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI that integrates a local LLM via OpenAI-compatible API to engineer optimal prompts for Z-Image Turbo workflows. (Description by CC)" + }, + { + "author": "chameleon-ai", + "title": "comfyui_momo", + "reference": "https://github.com/chameleon-ai/comfyui_momo", + "files": [ + "https://github.com/chameleon-ai/comfyui_momo" + ], + "install_type": "git-clone", + "description": "Implementation of MoMo interpolation for ComfyUI" + }, + { + "author": "styletransfer", + "title": "ComfyUI-TRELLIS2_Motion", + "reference": "https://github.com/styletransfer/ComfyUI-TRELLIS2_Motion", + "files": [ + "https://github.com/styletransfer/ComfyUI-TRELLIS2_Motion" + ], + "install_type": "git-clone", + "description": "A comprehensive ComfyUI node package that uses Microsoft's TRELLIS2 to transform video footage into 3D mesh reconstructions with advanced rendering effects." + }, + { + "author": "SuzumiyaAkizuki", + "title": "ComfyUI-LLM_Prompt_XML_Formatter", + "reference": "https://github.com/SuzumiyaAkizuki/ComfyUI-LLM_Prompt_XML_Formatter", + "files": [ + "https://github.com/SuzumiyaAkizuki/ComfyUI-LLM_Prompt_XML_Formatter" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for automatically generating XML-style prompts compatible with NewBie models using LLM APIs, with style customization and preset management capabilities. (Description by CC)" + }, + { + "author": "AugustusLXIII", + "title": "Custom Resolution I2V", + "id": "custom-resolution-i2v-augustus", + "reference": "https://github.com/AugustusLXIII/ComfyUI_CustomResolution_I2V", + "files": [ + "https://github.com/AugustusLXIII/ComfyUI_CustomResolution_I2V" + ], + "install_type": "git-clone", + "description": "A resolution utility for WanVideo I2V with 20 presets, manual override and automatic rounding." + }, + { + "author": "RyukoMatoiFan", + "title": "ComfyUI-Switti", + "reference": "https://github.com/RyukoMatoiFan/ComfyUI-Switti", + "files": [ + "https://github.com/RyukoMatoiFan/ComfyUI-Switti" + ], + "install_type": "git-clone", + "description": "Custom nodes for running the Switti text-to-image model inside ComfyUI with support for checkpoint loading, VAE, CLIP encoders, and pipeline building." + }, + { + "author": "RyukoMatoiFan", + "title": "ComfyUI-STARFlow", + "reference": "https://github.com/RyukoMatoiFan/ComfyUI-STARFlow", + "files": [ + "https://github.com/RyukoMatoiFan/ComfyUI-STARFlow" + ], + "install_type": "git-clone", + "description": "Custom nodes for STARFlow text-to-image generation in ComfyUI, including checkpoint loader, text encoder, sampler, and VAE decoder." + }, + { + "author": "Bzbaozi", + "title": "ComfyUI-YK-Banana2-Batch", + "reference": "https://github.com/Bzbaozi/ComfyUI-YK-Banana2-Batch", + "files": [ + "https://github.com/Bzbaozi/ComfyUI-YK-Banana2-Batch" + ], + "install_type": "git-clone", + "description": "A powerful batch image generation node for ComfyUI using the YK-Banana2 Pro API to generate multiple images in parallel with reference image support. (Description by CC)" + }, + { + "author": "rethink-studios", + "title": "comfyui-model-linker-desktop", + "reference": "https://github.com/rethink-studios/comfyui-model-linker-desktop", + "files": [ + "https://github.com/rethink-studios/comfyui-model-linker-desktop" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension that helps users relink missing models in workflows" + }, + { + "author": "xuheyao", + "title": "comfyui-dinov3-point-prompt", + "reference": "https://github.com/xuheyao/comfyui-dinov3-point-prompt", + "files": [ + "https://github.com/xuheyao/comfyui-dinov3-point-prompt" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for DINOv3 point prompt functionality with integration of Facebook's DINOv3 research model. (Description by CC)" + }, + { + "author": "Asidert", + "title": "Base64 Images input and output nodes for ComfyUI", + "reference": "https://github.com/Asidert/ComfyUI_Base64Images", + "files": [ + "https://github.com/Asidert/ComfyUI_Base64Images" + ], + "install_type": "git-clone", + "description": "A set of base64 input and output nodes for a custom API using ComfyUI" + }, + { + "author": "ddontsov93", + "title": "ComfyUI-AudioSeparator", + "reference": "https://github.com/ddontsov93/ComfyUI-AudioSeparator", + "files": [ + "https://github.com/ddontsov93/ComfyUI-AudioSeparator" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI integrating audio-separator library that separates audio stems (vocals vs instrumental), removes noise, and fixes audio artifacts using GPU acceleration. (Description by CC)" + }, + { + "author": "TobiasGlaubach", + "title": "ComfyUI-TG_pydocmaker", + "reference": "https://github.com/TobiasGlaubach/ComfyUI-TG_pydocmaker", + "files": [ + "https://github.com/TobiasGlaubach/ComfyUI-TG_pydocmaker" + ], + "install_type": "git-clone", + "description": "A minimal node set in comfyui to render pydocmaker reports" + }, + { + "author": "cyberlightdev", + "title": "ComfyUI-CyberUtils", + "reference": "https://github.com/cyberlightdev/ComfyUI-CyberUtils", + "files": [ + "https://github.com/cyberlightdev/ComfyUI-CyberUtils" + ], + "install_type": "git-clone", + "description": "A minimal template for creating React/TypeScript frontend extensions for ComfyUI, with complete boilerplate setup including internationalization and unit testing." + }, + { + "author": "rakkarage", + "title": "ComfyRage", + "id": "comfyrage", + "reference": "https://github.com/rakkarage/ComfyRage", + "files": [ + "https://github.com/rakkarage/ComfyRage" + ], + "install_type": "git-clone", + "description": "ComfyUI text nodes. Pre (preprocess comments, random, and de-emphasis), Show (show and persist text), and Debug (show and persist weights)." + }, + { + "author": "naxci1", + "title": "ComfyUI-FlashVSR_Stable", + "reference": "https://github.com/naxci1/ComfyUI-FlashVSR_Stable", + "files": [ + "https://github.com/naxci1/ComfyUI-FlashVSR_Stable" + ], + "install_type": "git-clone", + "description": "High-performance Video Super Resolution for ComfyUI with VRAM optimization." + }, + { + "author": "Shadowwalker0P", + "title": "CryptoNoise-Ksampler", + "reference": "https://github.com/Shadowwalker0P/CryptoNoise-Ksampler", + "files": [ + "https://github.com/Shadowwalker0P/CryptoNoise-Ksampler" + ], + "install_type": "git-clone", + "description": "Drop-in replacement for ComfyUI's standard KSampler that embeds cryptographic proof of authorship directly into generated images through deterministic noise injection into the latent representation." + }, + { + "author": "vjumpkung", + "title": "ComfyUI-STARWrapper", + "reference": "https://github.com/vjumpkung/ComfyUI-STARWrapper", + "files": [ + "https://github.com/vjumpkung/ComfyUI-STARWrapper" + ], + "install_type": "git-clone", + "description": "An experimental STAR Video Upscale Wrapper." + }, + { + "author": "vjumpkung", + "title": "ComfyUI-Musubi-Tuner-LoRA-Loader", + "reference": "https://github.com/vjumpkung/ComfyUI-Musubi-Tuner-LoRA-Loader", + "files": [ + "https://github.com/vjumpkung/ComfyUI-Musubi-Tuner-LoRA-Loader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that enables direct loading of musubi-tuner based LoRAs (Z-Image Turbo, Hunyuan Video 1.5) with automatic in-memory conversion and caching." + }, + { + "author": "vjumpkung", + "title": "comfyui-infinitetalk-native-sampler", + "reference": "https://github.com/vjumpkung/comfyui-infinitetalk-native-sampler", + "files": [ + "https://github.com/vjumpkung/comfyui-infinitetalk-native-sampler" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package for generating lip-sync videos from audio using WAN 2.1 models with automatic frame extension for long audio." + }, + { + "author": "Paddel87", + "title": "ComfyUI_fal_image", + "reference": "https://github.com/Paddel87/ComfyUI_fal_image", + "files": [ + "https://github.com/Paddel87/ComfyUI_fal_image" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node pack for fal.ai image generation supporting FLUX models with queue polling, safety controls, and native image I/O conversion." + }, + { + "author": "ConstantlyGrowup", + "title": "ComfyUI_Qwen_chat_models", + "reference": "https://github.com/ConstantlyGrowup/ComfyUI_Qwen_chat_models", + "files": [ + "https://github.com/ConstantlyGrowup/ComfyUI_Qwen_chat_models" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Qwen text and vision-language models. Supports Qwen2.5/Qwen3, 4-/8-bit quantization, deterministic seeding, auto model download, and shared caching to improve workflow performance." + }, + { + "author": "Wakapedia", + "title": "WanVideo Wakawave - Advanced LoRA & Prompt Tools", + "reference": "https://github.com/Wakapedia/ComfyUI-WanVideoWakawave", + "files": [ + "https://github.com/Wakapedia/ComfyUI-WanVideoWakawave" + ], + "install_type": "git-clone", + "description": "Advanced LoRA management and prompt building tools for WanVideo. Features: Wakawave LoRA Loader (unlimited LoRAs, save/load presets, drag-to-reorder, per-LoRA strength control), Wakawave Prompt Builder (dual positive/negative prompts, weight control, segment mode, visual preset browser with import/export)." + }, + { + "author": "nawka12", + "title": "ComfyUI-Adept-Sampler", + "reference": "https://github.com/nawka12/ComfyUI-Adept-Sampler", + "files": [ + "https://github.com/nawka12/ComfyUI-Adept-Sampler" + ], + "install_type": "git-clone", + "description": "Advanced custom samplers and schedulers for ComfyUI, ported from the Stable Diffusion WebUI reForge extension." + }, + { + "author": "zhuyanan", + "title": "Comfy-FilmSimulator", + "reference": "https://github.com/zhuyanan/Comfy-FilmSimulator", + "files": [ + "https://github.com/zhuyanan/Comfy-FilmSimulator" + ], + "install_type": "git-clone", + "description": "ComfyUI node: realistic, adaptive film simulation for photographic and cinematic looks." + }, + { + "author": "id7238", + "title": "ComfyUI-PackedPipes", + "reference": "https://github.com/id7238/ComfyUI-PackedPipes", + "files": [ + "https://github.com/id7238/ComfyUI-PackedPipes" + ], + "install_type": "git-clone", + "description": "Custom nodes that organize ComfyUI workflow connections by combining multiple links into single pipeline links. (Description by CC)" + }, + { + "author": "CornmeisterNL", + "title": "CornmeisterNL PowerPack", + "id": "cornmeisternl-powerpack", + "reference": "https://github.com/Cornmeister/ComfyUI-CornmeisterNL-PowerPack", + "files": [ + "https://github.com/Cornmeister/ComfyUI-CornmeisterNL-PowerPack" + ], + "install_type": "git-clone", + "description": "A power-user focused collection of ComfyUI nodes: LoRA management, prompt building, resolution presets, metadata-safe image saving (CivitAI-ready), and UNet model loading." + }, + { + "author": "LuqP2", + "title": "Image MetaHub Save Node", + "reference": "https://github.com/LuqP2/ImageMetaHub-ComfyUI-Save", + "files": [ + "https://github.com/LuqP2/ImageMetaHub-ComfyUI-Save" + ], + "install_type": "git-clone", + "description": "Official companion node for Image MetaHub. Saves A1111/Civitai-compatible parameters plus extended Image MetaHub metadata (workflow JSON, SHA256 model hashes, VRAM peak/total, GPU device, generation time, and steps/sec) for reproducibility and benchmarking." + }, + { + "author": "room3dev", + "title": "ComfyUI-FrameIO", + "id": "comfyui-frameio", + "reference": "https://github.com/room3dev/ComfyUI-FrameIO", + "files": [ + "https://github.com/room3dev/ComfyUI-FrameIO" + ], + "install_type": "git-clone", + "description": "High-performance frame IO nodes (WEBP)" + }, + { + "author": "room3dev", + "title": "ComfyUI-PixelForge", + "id": "comfyui-pixelforge", + "reference": "https://github.com/room3dev/ComfyUI-PixelForge", + "files": [ + "https://github.com/room3dev/ComfyUI-PixelForge" + ], + "install_type": "git-clone", + "description": "Dynamic resolution selector and advanced resize nodes with real-time feedback." + }, + { + "author": "room3dev", + "title": "ComfyUI-I2VChainHelper", + "id": "comfyui-i2vchainhelper", + "reference": "https://github.com/room3dev/ComfyUI-I2VChainHelper", + "files": [ + "https://github.com/room3dev/ComfyUI-I2VChainHelper" + ], + "install_type": "git-clone", + "description": "Helps filter and trim image batches for I2V chaining by ensuring consistent face identity and eye openness." + }, + { + "author": "chrishill197724-gif", + "title": "ComfyUI-Wan22-GGUF-Storyboard", + "reference": "https://github.com/chrishill197724-gif/ComfyUI-Wan22-GGUF-Storyboard", + "files": [ + "https://github.com/chrishill197724-gif/ComfyUI-Wan22-GGUF-Storyboard" + ], + "install_type": "git-clone", + "description": "An optimized storyboard-based latent generator for Wan 2.2 with low VRAM optimization and storyboard logic for controlled video composition." + }, + { + "author": "mrm987", + "title": "ComfyUI-Multi-Prompt-Generator", + "reference": "https://github.com/mrm987/ComfyUI_Multi_Prompt_Generator", + "files": [ + "https://github.com/mrm987/ComfyUI_Multi_Prompt_Generator" + ], + "install_type": "git-clone", + "description": "Generate multiple images from prompt list with upscaling, LUT, and real-time preview" + }, + { + "author": "gushob21", + "title": "comfyui-google-genmedia-custom-nodes", + "id": "Google", + "reference": "https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes", + "files": [ + "https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes" + ], + "install_type": "git-clone", + "description": "A suite of experimental custom nodes that allows access to Google's 1P models like Veo, Imagen, Nano Banana, Gemini, Virtual-try-on, Lyria" + }, + { + "author": "tj5miniop", + "title": "VRAM_Fix_Comfy", + "reference": "https://github.com/tj5miniop/VRAM_Fix_Comfy", + "files": [ + "https://github.com/tj5miniop/VRAM_Fix_Comfy" + ], + "install_type": "git-clone", + "description": "Potential manual fix as a custom node for ComfyUI for users seeing memory bug issues" + }, + { + "author": "JuanBerta", + "title": "comfyui_ollama_vl_prompt", + "reference": "https://github.com/JuanBerta/comfyui_ollama_vl_prompt", + "files": [ + "https://github.com/JuanBerta/comfyui_ollama_vl_prompt" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that uses Ollama vision-language models to generate or refine prompts from multiple input images and text." + }, + { + "author": "pentarab", + "title": "ComfyUI-For-ChatterBox", + "reference": "https://github.com/pentarab/ComfyUI-For-ChatterBox", + "files": [ + "https://github.com/pentarab/ComfyUI-For-ChatterBox" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Chatterbox TTS with multilingual support (23 languages)" + }, + { + "author": "mikemojen", + "title": "ComfyUI-HappNodeSet", + "reference": "https://github.com/mikemojen/ComfyUI-HappNodeSet", + "files": [ + "https://github.com/mikemojen/ComfyUI-HappNodeSet" + ], + "install_type": "git-clone", + "description": "NODES: AutoCrop, ColorQuantizer, ExtractBlack, ExtractBlackAdvanced, RasterToUniformSVG, ... (10 total)" + }, + { + "author": "Akkisdiary", + "title": "ComfyUI-AnyLLM", + "reference": "https://github.com/Akkisdiary/ComfyUI-AnyLLM", + "files": [ + "https://github.com/Akkisdiary/ComfyUI-AnyLLM" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node pack for calling LLM providers." + }, + { + "author": "polymath-wtf", + "title": "ComfyUI-Polymath-Vibenodes", + "reference": "https://github.com/polymath-wtf/ComfyUI-Polymath-Vibenodes", + "files": [ + "https://github.com/polymath-wtf/ComfyUI-Polymath-Vibenodes" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for auto-generating JSON prompts with dynamic placeholder templating syntax." + }, + { + "author": "baijunty", + "title": "comfyui_image_embeddings", + "reference": "https://github.com/baijunty/comfyui_image_embeddings", + "files": [ + "https://github.com/baijunty/comfyui_image_embeddings" + ], + "install_type": "git-clone", + "description": "use comfyui to image embeddings" + }, + { + "author": "anveshane", + "title": "Comfyui_StoryMem", + "reference": "https://github.com/anveshane/Comfyui_StoryMem", + "files": [ + "https://github.com/anveshane/Comfyui_StoryMem" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for StoryMem - Multi-shot long video storytelling with memory-conditioned video diffusion models." + }, + { + "author": "K3NK3", + "title": "ComfyUI-K3NKImageGrab", + "reference": "https://github.com/K3NK3/ComfyUI-K3NKImageGrab", + "files": [ + "https://github.com/K3NK3/ComfyUI-K3NKImageGrab" + ], + "install_type": "git-clone", + "description": "Standalone ComfyUI node to grab the last N frames from a directory as a single batch with optional frame stride, designed for video continuation workflows and temporal consistency improvement." + }, + { + "author": "ytoaa", + "title": "ComfyUI-LLM-Client", + "reference": "https://github.com/ytoaa/ComfyUI-LLM-Client", + "files": [ + "https://github.com/ytoaa/ComfyUI-LLM-Client" + ], + "install_type": "git-clone", + "description": "ComfyUI node for LLM client integration. (Description by CC)" + }, + { + "author": "I-ShadowStar", + "title": "L2UC", + "reference": "https://github.com/I-ShadowStar/L2UC", + "files": [ + "https://github.com/I-ShadowStar/L2UC" + ], + "install_type": "git-clone", + "description": "A conditioning node for ablated versions of Lumina2" + }, + { + "author": "XuanYu-github", + "title": "ComfyUI PlyPreview", + "id": "comfyui-plypreview", + "reference": "https://github.com/XuanYu-github/comfyui-PlyPreview", + "files": [ + "https://github.com/XuanYu-github/comfyui-PlyPreview" + ], + "install_type": "git-clone", + "description": "Gaussian Splat PLY loader + preview nodes (Load/Path/Process/Preview) with bundled gsplat viewer" + }, + { + "author": "maxious", + "title": "comfyui-dap", + "reference": "https://github.com/maxious/comfyui-dap", + "files": [ + "https://github.com/maxious/comfyui-dap" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension for the Insta360 DAP (Depth Any Panorama) model providing high-quality depth estimation optimized for panoramic (equirectangular) images." + }, + { + "author": "LaVie024", + "title": "comfyui-lopi999-llm", + "reference": "https://github.com/LaVie024/comfyui-lopi999-llm", + "files": [ + "https://github.com/LaVie024/comfyui-lopi999-llm" + ], + "install_type": "git-clone", + "description": "LLM nodes for ComfyUI including a Canary-Qwen-2.5B audio transcription node. (Description by CC)" + }, + { + "author": "elgalardi", + "title": "comfyui-clip-prompt-splitter", + "reference": "https://github.com/elgalardi/comfyui-clip-prompt-splitter", + "files": [ + "https://github.com/elgalardi/comfyui-clip-prompt-splitter" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI that splits a multiline prompt into 5 independent CLIP conditionings." + }, + { + "author": "elgalardi", + "title": "comfyui-prompt-splitter", + "reference": "https://github.com/elgalardi/comfyui-prompt-splitter", + "files": [ + "https://github.com/elgalardi/comfyui-prompt-splitter" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI that split multiline text prompts into multiple independent STRING outputs, with each line becoming its own text output ready to connect to CLIP Text Encode." + }, + { + "author": "NexusEast", + "title": "ComfyUI_ContactSheet_Auto", + "reference": "https://github.com/NexusEast/ComfyUI_ContactSheet_Auto", + "files": [ + "https://github.com/NexusEast/ComfyUI_ContactSheet_Auto" + ], + "install_type": "git-clone", + "description": "A lightweight ComfyUI extension designed to automate the creation of video contact sheets (preview grids)." + }, + { + "author": "NewBieAI-Lab", + "title": "ComfyUI-MltoXml", + "reference": "https://github.com/NewBieAI-Lab/ComfyUI-MltoXml", + "files": [ + "https://github.com/NewBieAI-Lab/ComfyUI-MltoXml" + ], + "install_type": "git-clone", + "description": "Simple node to convert ML or XML format data. (Description by CC)" + }, + { + "author": "Hahihula", + "title": "ComfyUI-batching-nodes", + "reference": "https://github.com/Hahihula/ComfyUI-batching-nodes", + "files": [ + "https://github.com/Hahihula/ComfyUI-batching-nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI that enable powerful batch processing capabilities for both prompts and images." + }, + { + "author": "ZhiHui6", + "title": "zhihui_nodes_comfyui", + "reference": "https://github.com/ZhiHui6/zhihui_nodes_comfyui", + "files": [ + "https://github.com/ZhiHui6/zhihui_nodes_comfyui" + ], + "install_type": "git-clone", + "description": "ComfyUI node collection: text processing tools, image processing nodes, prompt generators and system prompt loaders, ect." + }, + { + "author": "tori29umai0123", + "title": "ComfyUI-Model_Downloader", + "reference": "https://github.com/tori29umai0123/ComfyUI-Model_Downloader", + "files": [ + "https://github.com/tori29umai0123/ComfyUI-Model_Downloader" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for downloading models directly from HuggingFace and CivitAI with support for individual files, directory downloads, and batch processing via INI files. (Description by CC)" + }, + { + "author": "attome-ai", + "title": "Comfyui_Attome_S3", + "reference": "https://github.com/attome-ai/Comfyui_Attome_S3", + "files": [ + "https://github.com/attome-ai/Comfyui_Attome_S3" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI enabling seamless loading and saving of media files (images, videos, audio, text) directly from/to AWS S3 or S3-compatible storage services." + }, + { + "author": "esp-dev", + "title": "comfyui-videoframenode", + "reference": "https://github.com/esp-dev/comfyui-videoframenode", + "files": [ + "https://github.com/esp-dev/comfyui-videoframenode" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node: load an MP4 and output first/last frame as IMAGE." + }, + { + "author": "esp-dev", + "title": "comfyui-loadheicimage", + "reference": "https://github.com/esp-dev/comfyui-loadheicimage", + "files": [ + "https://github.com/esp-dev/comfyui-loadheicimage" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that loads images (including HEIC/HEIF) and provides browser-friendly previews." + }, + { + "author": "mudknight", + "title": "comfyui-mudknight-utils", + "reference": "https://github.com/mudknight/comfyui-mudknight-utils", + "files": [ + "https://github.com/mudknight/comfyui-mudknight-utils" + ], + "install_type": "git-clone", + "description": "Nodes to clean up your workflow." + }, + { + "author": "Rhovanx", + "title": "Wan Vace Auto Joiner", + "reference": "https://github.com/Rhovanx/wan_vace_auto_joiner", + "files": [ + "https://github.com/Rhovanx/wan_vace_auto_joiner" + ], + "install_type": "git-clone", + "description": "Seamlessly join multiple video clips using WAN VACE with one click." + }, + { + "author": "ZUENS2020", + "title": "ComfyUI Gemini LiteLLM Nodes", + "id": "comfyui-gemini-litellm", + "reference": "https://github.com/ZUENS2020/ComfyUI-Gemini-LiteLLM", + "files": [ + "https://github.com/ZUENS2020/ComfyUI-Gemini-LiteLLM" + ], + "install_type": "git-clone", + "description": "Gemini chat and image generation via LiteLLM. Multimodal support with multiple reference images. Precise control over image resolution (1K/2K/4K) and aspect ratio (1:1, 16:9, 4:3, 9:16, 3:4). Temperature control (0-1). Zero external dependencies." + }, + { + "author": "stuttlepress", + "title": "ComfyUI Wan VACE Prep", + "reference": "https://github.com/stuttlepress/ComfyUI-Wan-VACE-Prep", + "files": [ + "https://github.com/stuttlepress/ComfyUI-Wan-VACE-Prep" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that generates a VACE control video and mask for a smooth transition between two videos" + }, + { + "author": "Xyc2016", + "title": "Comfyui_Fd_Nodes", + "reference": "https://github.com/Xyc2016/Comfyui_Fd_Nodes", + "files": [ + "https://github.com/Xyc2016/Comfyui_Fd_Nodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for fd project" + }, + { + "author": "clayton-grey", + "title": "ComfyUI-EditRouter", + "reference": "https://github.com/clayton-grey/ComfyUI-EditRouter", + "files": [ + "https://github.com/clayton-grey/ComfyUI-EditRouter" + ], + "install_type": "git-clone", + "description": "Custom node to detect an edit in a batch of images." + }, + { + "author": "SamLiu1000", + "title": "ComfyUI_Resolution-and-Ratio", + "reference": "https://github.com/SamLiu1000/ComfyUI_Resolution-and-Ratio", + "files": [ + "https://github.com/SamLiu1000/ComfyUI_Resolution-and-Ratio" + ], + "install_type": "git-clone", + "description": "This is a simple, lightweight ComfyUI resolution and aspect ratio control node that hardly requires any dependency fuss." + }, + { + "author": "SamLiu1000", + "title": "ComfyUI_Rabbit-Camera-Perspective", + "reference": "https://github.com/SamLiu1000/ComfyUI_Rabbit-Camera-Perspective", + "files": [ + "https://github.com/SamLiu1000/ComfyUI_Rabbit-Camera-Perspective" + ], + "install_type": "git-clone", + "description": "An intuitive prompt previewer ComfyUI node for use with Fal's Multi-View LoRA, optimized for portraits with real-time prompt previews." + }, + { + "author": "soulctcher", + "title": "TetriNode", + "reference": "https://github.com/soulctcher/TetriNode", + "files": [ + "https://github.com/soulctcher/TetriNode" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node pack that embeds a playable Tetris game inside a node UI, with image outputs for the live board and next-piece preview." + }, + { + "author": "latentastronaut", + "title": "comfyui-latent-astronaut-suite", + "reference": "https://github.com/latentastronaut/comfyui-latent-astronaut-suite", + "files": [ + "https://github.com/latentastronaut/comfyui-latent-astronaut-suite" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for batch processing, loops, and iteration workflows" + }, + { + "author": "d3cker", + "title": "comfyui_remove_background", + "reference": "https://github.com/d3cker/comfyui_remove_background", + "files": [ + "https://github.com/d3cker/comfyui_remove_background" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for background removal in images. Built with ONNX models and Pillow (PIL)." + }, + { + "author": "Baldwinzc", + "title": "ComfyUI-ProductPromptGenerator", + "reference": "https://github.com/Baldwinzc/ComfyUI-ProductPromptGenerator", + "files": [ + "https://github.com/Baldwinzc/ComfyUI-ProductPromptGenerator" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI designed to generate structured prompts for product display images based on analysis results from Vision Language Models." + }, + { + "author": "kplkasteel", + "title": "ComfyUI-SubstringExtractor", + "reference": "https://github.com/kplkasteel/ComfyUI-SubstringExtractor", + "files": [ + "https://github.com/kplkasteel/ComfyUI-SubstringExtractor" + ], + "install_type": "git-clone", + "description": "Custom node for extracting specific sections from LLM-generated complex prompts, designed for structured text extraction with clean output. (Description by CC)" + }, + { + "author": "cristian1980", + "title": "ComfyUI-Caption-Cleaner", + "reference": "https://github.com/cristian1980/ComfyUI-Caption-Cleaner", + "files": [ + "https://github.com/cristian1980/ComfyUI-Caption-Cleaner" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI designed to automatically clean and format natural language captions (generated by VLMs like Florence-2, CogVLM, or JoyTag) for LoRA training datasets." + }, + { + "author": "TdogCreations", + "title": "ComfyUI-NAID-Grid-Position", + "reference": "https://github.com/TdogCreations/ComfyUI-NAID-Grid-Position", + "files": [ + "https://github.com/TdogCreations/ComfyUI-NAID-Grid-Position" + ], + "install_type": "git-clone", + "description": "A ComfyUI node that outputs X/Y floats (0.1..0.9) using a clickable 5x5 grid UI, with an optional Random toggle that randomizes the grid selection each queue." + }, + { + "author": "tardigrade1001", + "title": "latent-rotate-90", + "reference": "https://github.com/tardigrade1001/latent-rotate-90", + "files": [ + "https://github.com/tardigrade1001/latent-rotate-90" + ], + "install_type": "git-clone", + "description": "A minimal, opinionated ComfyUI custom node that emits portrait (0°) and/or landscape (90°) latent variants in a single run." + }, + { + "author": "zisb", + "title": "comfyui-texture-packer", + "reference": "https://github.com/zisb/comfyui-texture-packer", + "files": [ + "https://github.com/zisb/comfyui-texture-packer" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that converts RGBA-style assets into fully solid RGB textures by bleeding edge colors outward from the alpha mask, designed for foliage, grass, decals, and cutout assets." + }, + { + "author": "a-ru2016", + "title": "ComfyUI_UniversalSubspace", + "reference": "https://github.com/a-ru2016/ComfyUI_UniversalSubspace", + "files": [ + "https://github.com/a-ru2016/ComfyUI_UniversalSubspace" + ], + "install_type": "git-clone", + "description": "Can load universal LoRA models. (Description by CC)" + }, + { + "author": "a-ru2016", + "title": "ComfyUI-Universal-ABM-LoRA", + "reference": "https://github.com/a-ru2016/ComfyUI-Universal-ABM-LoRA", + "files": [ + "https://github.com/a-ru2016/ComfyUI-Universal-ABM-LoRA" + ], + "install_type": "git-clone", + "description": "Loads universal null lalora plus effi abm models. (Description by CC)" + }, + { + "author": "xiujiang1987", + "title": "ComfyUI-SmartSize", + "reference": "https://github.com/xiujiang1987/ComfyUI-SmartSize", + "files": [ + "https://github.com/xiujiang1987/ComfyUI-SmartSize" + ], + "install_type": "git-clone", + "description": "A simple but essential custom node for ComfyUI that automatically detects image dimensions and snaps them to the nearest multiple of 16." + }, + { + "author": "rholdorf", + "title": "comfyui_imgtools", + "reference": "https://github.com/rholdorf/comfyui_imgtools", + "files": [ + "https://github.com/rholdorf/comfyui_imgtools" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for automatically fitting images to standard model dimensions using center cropping, supporting SD, Flux, and Z-Turbo models." + }, + { + "author": "552023587", + "title": "comfyui_character_selector", + "reference": "https://github.com/552023587/comfyui_character_selector", + "files": [ + "https://github.com/552023587/comfyui_character_selector" + ], + "install_type": "git-clone", + "description": "Supports 2D dropdown selector for characters and actions that automatically combines prompt descriptions. (Description by CC)" + }, + { + "author": "jo-nike", + "title": "ComfyUI-SopranoTTS", + "reference": "https://github.com/jo-nike/ComfyUI-SopranoTTS", + "files": [ + "https://github.com/jo-nike/ComfyUI-SopranoTTS" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for Soprano TTS, a fast, lightweight text-to-speech model." + }, + { + "author": "nyueki", + "title": "ComfyUI-RemoteCLIPLoader", + "reference": "https://github.com/nyueki/ComfyUI-RemoteCLIPLoader", + "files": [ + "https://github.com/nyueki/ComfyUI-RemoteCLIPLoader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node set to offload CLIP encoding to a remote machine." + }, + { + "author": "GeneralShan", + "title": "comfyui-zimage-sdnq", + "reference": "https://github.com/GeneralShan/comfyui-zimage-sdnq", + "files": [ + "https://github.com/GeneralShan/comfyui-zimage-sdnq" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for running Z-Image Turbo with SDNQ quantization (q8/q4). Supports text-to-image, image-to-image, inpaint, ControlNet, and LoRA." + }, + { + "author": "yohji-yohji", + "title": "comfyui-nanobanana-pro", + "reference": "https://github.com/yohji-yohji/comfyui-nanobanana-pro", + "files": [ + "https://github.com/yohji-yohji/comfyui-nanobanana-pro" + ], + "install_type": "git-clone", + "description": "A ComfyUI plugin supporting Google Gemini 3 Pro model for image generation and text analysis with customizable aspect ratio and image quality. (Description by CC)" + }, + { + "author": "ethanfel", + "title": "Comfyui-JSON-Manager", + "reference": "https://github.com/ethanfel/Comfyui-JSON-Manager", + "files": [ + "https://github.com/ethanfel/Comfyui-JSON-Manager" + ], + "install_type": "git-clone", + "description": "A visual dashboard for managing, versioning, and batch-processing JSON configuration files for AI video generation workflows with Streamlit web interface and ComfyUI custom nodes." + }, + { + "author": "ethanfel", + "title": "ComfyUI-Sharp-Selector", + "reference": "https://github.com/ethanfel/ComfyUI-Sharp-Selector", + "files": [ + "https://github.com/ethanfel/ComfyUI-Sharp-Selector" + ], + "install_type": "git-clone", + "description": "Custom nodes for sharp frame selection and analysis. (Description by CC)" + }, + { + "author": "shin131002", + "title": "RandomLoRALoader", + "reference": "https://github.com/shin131002/RandomLoRALoader", + "files": [ + "https://github.com/shin131002/RandomLoRALoader" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for randomly selecting and applying LoRAs from multiple folders with support for trigger words, sample prompts, and strength randomization." + }, + { + "author": "olafchou", + "title": "ComfyUI-ZH-EN-Switcher", + "reference": "https://github.com/olafchou/ComfyUI-ZH-EN-Switcher", + "files": [ + "https://github.com/olafchou/ComfyUI-ZH-EN-Switcher" + ], + "install_type": "git-clone", + "description": "A plugin that enables one-click language switching between Chinese and English in ComfyUI without page refresh. (Description by CC)" + }, + { + "author": "JVsup", + "title": "ComfyUI-SettingsToText", + "reference": "https://github.com/JVsup/ComfyUI-SettingsToText", + "files": [ + "https://github.com/JVsup/ComfyUI-SettingsToText" + ], + "install_type": "git-clone", + "description": "AI-written node to extract basic settings in workflow, with limitations on subgraphed nodes and math/logic node compatibility." + }, + { + "author": "GalactusX31", + "title": "ComfyUI-drag-ghost", + "reference": "https://github.com/GalactusX31/ComfyUI-drag-ghost", + "files": [ + "https://github.com/GalactusX31/ComfyUI-drag-ghost" + ], + "install_type": "git-clone", + "description": "A premium visual enhancement for ComfyUI that adds a smooth 'ghost' effect when dragging nodes and groups." + }, + { + "author": "CypherNaught-0x", + "title": "ComfyUI_resolution_presets", + "reference": "https://github.com/CypherNaught-0x/ComfyUI_resolution_presets", + "files": [ + "https://github.com/CypherNaught-0x/ComfyUI_resolution_presets" + ], + "install_type": "git-clone", + "description": "A ComfyUI extension providing optimized resolution presets for multiple AI image generation models with support for various aspect ratios and two node variants." + }, + { + "author": "kishida", + "title": "comfyui-text-renderer", + "reference": "https://github.com/kishida/comfyui-text-renderer", + "files": [ + "https://github.com/kishida/comfyui-text-renderer" + ], + "install_type": "git-clone", + "description": "Text render node for ComfyUI" + }, + { + "author": "bryanmcguire", + "title": "comfyui-flux2fun-controlnet", + "reference": "https://github.com/bryanmcguire/comfyui-flux2fun-controlnet", + "files": [ + "https://github.com/bryanmcguire/comfyui-flux2fun-controlnet" + ], + "install_type": "git-clone", + "description": "ComfyUI implementation of FLUX.2-dev-Fun-Controlnet-Union from Alibaba's VideoX-Fun" + }, + { + "author": "PixWizardry", + "title": "ComfyUI_PixQwenImageEditEnhanced", + "reference": "https://github.com/PixWizardry/ComfyUI_PixQwenImageEditEnhanced", + "files": [ + "https://github.com/PixWizardry/ComfyUI_PixQwenImageEditEnhanced" + ], + "install_type": "git-clone", + "description": "An enhanced Vision-Language Model (VLM) conditioning node for ComfyUI designed for the Qwen-Image series, supporting up to 5 reference images with customizable system prompts and token tracking." + }, + { + "author": "danielwolber-wood", + "title": "ComfyUI-FString", + "reference": "https://github.com/danielwolber-wood/ComfyUI-FString", + "files": [ + "https://github.com/danielwolber-wood/ComfyUI-FString" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to format strings using Python's string formatting syntax." + }, + { + "author": "danielwolber-wood", + "title": "ComfyUI-Inspector", + "reference": "https://github.com/danielwolber-wood/ComfyUI-Inspector", + "files": [ + "https://github.com/danielwolber-wood/ComfyUI-Inspector" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that allows you to inspect any input data with detailed metadata and visual preview." + }, + { + "author": "danielwolber-wood", + "title": "ComfyUI-QuickResolutionSelector", + "reference": "https://github.com/danielwolber-wood/ComfyUI-QuickResolutionSelector", + "files": [ + "https://github.com/danielwolber-wood/ComfyUI-QuickResolutionSelector" + ], + "install_type": "git-clone", + "description": "A simple custom node for ComfyUI that allows you to quickly select resolution presets from a dropdown menu." + }, + { + "author": "fmartinellidev", + "title": "ComfyUI-Prompt_util_pack", + "reference": "https://github.com/fmartinellidev/ComfyUI-Prompt_util_pack", + "files": [ + "https://github.com/fmartinellidev/ComfyUI-Prompt_util_pack" + ], + "install_type": "git-clone", + "description": "A modular toolkit for advanced prompt engineering in ComfyUI designed for dataset creation, LoRA training, and controlled variation." + }, + { + "author": "EricRorich", + "title": "ComfyUI-face-shaper", + "reference": "https://github.com/EricRorich/ComfyUI-face-shaper", + "files": [ + "https://github.com/EricRorich/ComfyUI-face-shaper" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that draws parametric facial masks with black lines on white or transparent backgrounds. (Description by CC)" + }, + { + "author": "daveand", + "title": "ComfyUI-daveand-nodes", + "reference": "https://github.com/daveand/ComfyUI-daveand-nodes", + "files": [ + "https://github.com/daveand/ComfyUI-daveand-nodes" + ], + "install_type": "git-clone", + "description": "ModelConfigSelector node for managing checkpoint configurations with manual override support and batch sampler parameters. (Description by CC)" + }, + { + "author": "bcasadei", + "title": "ComfyUI-Prompt-Camera-Assistant", + "reference": "https://github.com/bcasadei/ComfyUI-Prompt-Camera-Assistant", + "files": [ + "https://github.com/bcasadei/ComfyUI-Prompt-Camera-Assistant" + ], + "install_type": "git-clone", + "description": "Prompt camera assistant for adding camera details to prompts." + }, + { + "author": "PBandDev", + "title": "comfyui-node-organizer", + "reference": "https://github.com/PBandDev/comfyui-node-organizer", + "files": [ + "https://github.com/PBandDev/comfyui-node-organizer" + ], + "install_type": "git-clone", + "description": "ComfyUI extension to organize nodes" + }, + { + "author": "aliabougazia", + "title": "comfyui_pt_security_scanner", + "reference": "https://github.com/aliabougazia/comfyui_pt_security_scanner", + "files": [ + "https://github.com/aliabougazia/comfyui_pt_security_scanner" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that scans PyTorch model files for potential security vulnerabilities without executing them." + }, + { + "author": "DanrisiUA", + "title": "ComfyUI-ZImage-LoRA-Merger", + "reference": "https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger", + "files": [ + "https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger" + ], + "install_type": "git-clone", + "description": "Custom nodes for combining multiple LoRAs without overexposure on distilled models like Z-Image Turbo" + }, + { + "author": "yangrui511", + "title": "ComfyUI-Text-Preserve", + "reference": "https://github.com/yangrui511/ComfyUI-Text-Preserve", + "files": [ + "https://github.com/yangrui511/ComfyUI-Text-Preserve" + ], + "install_type": "git-clone", + "description": "Custom node providing text preservation preprocessing for ComfyUI using OCR to identify text regions and apply blur/noise fusion to non-text areas. (Description by CC)" + }, + { + "author": "Atsushi888", + "title": "easy_prompt_selector_for_comfyui", + "reference": "https://github.com/Atsushi888/easy_prompt_selector_for_comfyui", + "files": [ + "https://github.com/Atsushi888/easy_prompt_selector_for_comfyui" + ], + "install_type": "git-clone", + "description": "A simple custom node for ComfyUI that loads and provides an all-in-one dropdown selector to build a prompt string." + }, + { + "author": "pixixai", + "title": "ComfyUI-AlignLayout", + "reference": "https://github.com/pixixai/ComfyUI-AlignLayout", + "files": [ + "https://github.com/pixixai/ComfyUI-AlignLayout" + ], + "install_type": "git-clone", + "description": "Productivity enhancement extension for ComfyUI featuring radial menus and mouse flick gestures for efficient node alignment, distribution, and resizing. (Description by CC)" + }, + { + "author": "MechaBabyAi", + "title": "ComfyUI-MechaBabyNodeSearch", + "reference": "https://github.com/MechaBabyAi/ComfyUI-MechaBabyNodeSearch", + "files": [ + "https://github.com/MechaBabyAi/ComfyUI-MechaBabyNodeSearch" + ], + "install_type": "git-clone", + "description": "Enhance ComfyUI workflow by providing powerful node search, attribute search, and port navigation features with Ctrl+F shortcut support." + }, + { + "author": "MechaBabyAi", + "title": "ComfyUI-MechaBaby-WorkflowTracer", + "reference": "https://github.com/MechaBabyAi/ComfyUI-MechaBaby-WorkflowTracer", + "files": [ + "https://github.com/MechaBabyAi/ComfyUI-MechaBaby-WorkflowTracer" + ], + "install_type": "git-clone", + "description": "An enhanced extension for ComfyUI that records, visualizes, and extracts the actual execution path of a workflow." + }, + { + "author": "MechaBabyAi", + "title": "ComfyUI-MechaBaby-NodeLayout", + "reference": "https://github.com/MechaBabyAi/ComfyUI-MechaBaby-NodeLayout", + "files": [ + "https://github.com/MechaBabyAi/ComfyUI-MechaBaby-NodeLayout" + ], + "install_type": "git-clone", + "description": "A node layout helper extension for ComfyUI. Assists in arranging and aligning nodes on the canvas without modifying workflow files — all operations are frontend-only." + }, + { + "author": "shmbatom", + "title": "Comfyui-ImageAB-Compare", + "id": "Comfyui-ImageAB-Compare", + "reference": "https://github.com/shmbatom/Comfyui-ImageAB-Compare", + "files": [ + "https://github.com/shmbatom/Comfyui-ImageAB-Compare" + ], + "install_type": "git-clone", + "description": "image split comparison horizontally/vertically, real-time mouse interaction to adjust split ratios, bidirectional linkage between slider and mouse, and the ability to export comparison images with precise split lines." + }, + { + "author": "shmba05tom", + "title": "Comfyui-Image-Concat", + "id": "Comfyui-Image-Concat", + "reference": "https://github.com/shmbatom/Comfyui-Image-Concat", + "files": [ + "https://github.com/shmbatom/Comfyui-Image-Concat" + ], + "install_type": "git-clone", + "description": "a powerful image concatenation tool for ComfyUI, with True Alpha Channel Support and Multiple Image-block Fill Modes(V1.1 add 1 images input port and 2 draw modes)." + }, + { + "author": "solidlime", + "title": "Random Image Picker", + "reference": "https://github.com/solidlime/Comfyui-Random_Image_Picker", + "files": [ + "https://github.com/solidlime/Comfyui-Random_Image_Picker" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for flexible image loading with file picker and random folder selection. Features instant preview, auto mode switching, and browser-based file selection.", + "nodename_pattern": "RandomImagePicker" + }, + { + "author": "18yz153", + "title": "ComfyUI-Persona-Director", + "reference": "https://github.com/c/ComfyUI-Persona-Director", + "files": [ + "https://github.com/18yz153/ComfyUI-Persona-Director" + ], + "install_type": "git-clone", + "description": "A visual state machine for consistent character generation. It intelligently maintains character identity, outfits, and locations across multiple generations using LLM-driven state management." + }, + { + "author": "BWDrum", + "title": "ComfyUI Random Wildcard Loader", + "id": "random-wildcard-loader", + "reference": "https://github.com/BWDrum/ComfyUI-RandomWildcardLoader", + "files": [ + "https://github.com/BWDrum/ComfyUI-RandomWildcardLoader" + ], + "install_type": "git-clone", + "description": "A custom node for randomized prompt generation with __wildcard__ expansion, subfolder filtering, prefix/suffix support, and seed-based reproducibility." + }, + { + "author": "GonDesign", + "title": "ComfyUI-HaoranWanxImageEdit", + "reference": "https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit", + "files": [ + "https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit" + ], + "install_type": "git-clone", + "description": "API plugin for Alibaba Cloud Wanx 2.1 Image Editing model. Supports 10 functions including stylization, inpainting, and outpainting." + }, + { + "author": "jchiotaka", + "title": "comfyui-tile-calculator", + "reference": "https://github.com/jchiotaka/comfyui-tile-calculator", + "files": [ + "https://github.com/jchiotaka/comfyui-tile-calculator" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for calculating tile dimensions in upscaling workflows" + }, + + { + "author": "danielvw", + "title": "ComfyUI-WanMove-Adapter", + "reference": "https://github.com/danielvw/ComfyUI-WanMove-Adapter", + "files": [ + "https://github.com/danielvw/ComfyUI-WanMove-Adapter" + ], + "install_type": "git-clone", + "description": "This custom node allows you to convert trajectories from JSON files directly into WanMove TRACKS." + }, + { + "author": "Anzhc", + "title": "SDXL-Flux2VAE-ComfyUI-Node", + "reference": "https://github.com/Anzhc/SDXL-Flux2VAE-ComfyUI-Node", + "files": [ + "https://github.com/Anzhc/SDXL-Flux2VAE-ComfyUI-Node" + ], + "install_type": "git-clone", + "description": "Simple node to patch ComfyUI generation with the SDXL Flux2VAE arch support." + }, + { + "author": "vuhung3990", + "title": "NSFW Guard", + "id": "comfyui-nsfw-guard", + "reference": "https://github.com/vuhung3990/comfyui-nsfw-guard", + "files": [ + "https://github.com/vuhung3990/comfyui-nsfw-guard" + ], + "install_type": "git-clone", + "description": "NSFW content detection node for ComfyUI - blocks inappropriate images automatically using YOLOv9 model." + }, + { + "author": "TheMadDoctor007", + "title": "Qwen Camera Selector", + "id": "qwen-camera-selector", + "reference": "https://github.com/TheMadDoctor007/ComfyUI-QwenCameraSelector", + "files": [ + "https://github.com/TheMadDoctor007/ComfyUI-QwenCameraSelector" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node providing camera angle and cinematic shot selection presets designed for Qwen multi-angle workflows." + }, + { + "author": "zengxianyu", + "title": "Intensity Fake Depth Node for ComfyUI", + "reference": "https://github.com/zengxianyu/ComfyUIIntensityDepth", + "files": [ + "https://github.com/zengxianyu/ComfyUIIntensityDepth" + ], + "install_type": "git-clone", + "description": "Output Fake Depth Maps with Detailed Object Boundaries" + }, + { + "author": "zengxianyu", + "title": "Phase-Preserving Noise", + "id": "structured-noise", + "reference": "https://github.com/zengxianyu/structured-noise", + "files": [ + "https://github.com/zengxianyu/structured-noise" + ], + "install_type": "git-clone", + "description": "Generate phase-preserving structured noise for the input image." + }, + { + "author": "aimoviestudio", + "title": "ComfyUI Prompt Builder", + "reference": "https://github.com/aimoviestudio/comfyui-promptbuilder", + "files": [ + "https://github.com/aimoviestudio/comfyui-promptbuilder" + ], + "install_type": "git-clone", + "description": "Stop wasting hours tweaking prompt. This extension allows you to modularize your prompts into variables and assemble them using a powerful template-based approach." + }, + { + "author": "jianglinbin", + "title": "ComfyUI 3D Angles Selector", + "reference": "https://github.com/jianglinbin/ComfyUI-AnglesSelect", + "files": [ + "https://github.com/jianglinbin/ComfyUI-AnglesSelect" + ], + "install_type": "git-clone", + "description": "ComfyUI custom nodes for multi-angle LoRA prompt generation. Provides 3D visual angle selector and simple angle selector with support for 8 azimuths Ɨ 4 elevations Ɨ 3 distances = 96 view combinations." + }, + { + "author": "3R3BOS", + "title": "ComfyUI-3R3BOS-Pack", + "id": "ComfyUI-3R3BOS-Pack", + "reference": "https://github.com/3R3BOS/ComfyUI-3R3BOS-Pack", + "files": [ + "https://github.com/3R3BOS/ComfyUI-3R3BOS-Pack" + ], + "install_type": "git-clone", + "description": "Control and visualization toolkit (Gatekeeper, Slider) and more in the future." + }, + { + "author": "JasonHoku", + "title": "ComfyUI Ultimate Auto Sampler Config Grid Testing Suite", + "reference": "https://github.com/JasonHoku/ComfyUI-Ultimate-Auto-Sampler-Config-Grid-Testing-Suite", + "files": [ + "https://github.com/JasonHoku/ComfyUI-Ultimate-Auto-Sampler-Config-Grid-Testing-Suite" + ], + "install_type": "git-clone", + "description": "ComfyUI Sampler testing & benchmarking tool for testing Stable Diffusion samplers, schedulers, CFG scales, prompts, img2img denoise values, and LoRA combinations. Features infinite-canvas dashboard image grids with virtual scrolling that can handle thousands of images, multi-model comparison, automatic resume on interrupt, and real-time visualization. Test entire checkpoint folders, stack multiple LoRAs, generate random seed variations, and export optimized configs. Includes fullscreen mode, keyboard navigation, smart filtering by parameters, and one-click regeneration workflow. Perfect for sampler output optimization and hyperparameter tuning." + }, + { + "author": "zwaigani", + "title": "ComfyUI-VRAM-watcher", + "id": "comfyui-vram-watcher", + "reference": "https://github.com/zwaigani/ComfyUI-VRAM-watcher", + "files": [ + "https://github.com/zwaigani/ComfyUI-VRAM-watcher" + ], + "install_type": "git-clone", + "description": "Displays GPU VRAM usage and system RAM usage as bar widgets in a ComfyUI node.", + "tags": ["utils", "ui", "vram", "ram"] + }, + { + "author": "zwaigani", + "title": "ComfyUI-LoRA-stacker", + "reference": "https://github.com/zwaigani/ComfyUI-LoRA-stacker", + "files": [ + "https://github.com/zwaigani/ComfyUI-LoRA-stacker" + ], + "install_type": "git-clone", + "description": "A simple ComfyUI custom node that lets you apply multiple LoRAs (up to 10) to a model in one node." + }, + { + "author": "euan-gwd", + "title": "comfyui-character-prompt-builder", + "reference": "https://github.com/euan-gwd/comfyui-character-prompt-builder", + "files": [ + "https://github.com/euan-gwd/comfyui-character-prompt-builder" + ], + "install_type": "git-clone", + "description": "A modular character prompt generator for ComfyUI" + }, + { + "author": "FemReiyaDev", + "title": "ComfyUI-ReiyaNodes", + "reference": "https://github.com/FemReiyaDev/ComfyUI-ReiyaNodes", + "files": [ + "https://github.com/FemReiyaDev/ComfyUI-ReiyaNodes" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for image stitching" + }, + { + "author": "kantan-kanto", + "title": "ComfyUI-MultiModal-Prompt-Nodes", + "reference": "https://github.com/kantan-kanto/ComfyUI-MultiModal-Prompt-Nodes", + "files": [ + "https://github.com/kantan-kanto/ComfyUI-MultiModal-Prompt-Nodes" + ], + "install_type": "git-clone", + "description": "Advanced multimodal prompt generation nodes for ComfyUI with local GGUF models (Qwen-VL) and cloud API support for vision-based prompt enhancement." + }, + { + "author": "kantan-kanto", + "title": "ComfyUI-LLM-Session", + "reference": "https://github.com/kantan-kanto/ComfyUI-LLM-Session", + "files": [ + "https://github.com/kantan-kanto/ComfyUI-LLM-Session" + ], + "install_type": "git-clone", + "description": "Local LLM session nodes for ComfyUI using GGUF and llama.cpp, supporting Llama, Mistral, Qwen, DeepSeek, GLM, Gemma, Phi, LLaVA and gpt-oss, enabling both user–model chat and model-to-model dialogue without external runtimes like Ollama." + }, + { + "author": "mingchoi", + "title": "ComfyUI-Prompt-Iterator", + "reference": "https://github.com/mingchoi/ComfyUI-Prompt-Iterator", + "files": [ + "https://github.com/mingchoi/ComfyUI-Prompt-Iterator" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node package that provides two nodes for iterating through prompts and templates. Perfect for batch processing, testing multiple prompts, or creating variations." + }, + { + "author": "shumoLR", + "title": "Comfyui_SynVow_MultiangleCamera", + "reference": "https://github.com/shumoLR/Comfyui_SynVow_MultiangleCamera", + "files": [ + "https://github.com/shumoLR/Comfyui_SynVow_MultiangleCamera" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node for 3D camera angle control with interactive viewport to adjust camera angles and output formatted prompt strings and processed images for multi-angle image generation. (Description by CC)" + }, + { + "author": "shumoLR", + "title": "Comfyui_SynVow_TeleStyle", + "reference": "https://github.com/shumoLR/Comfyui_SynVow_TeleStyle", + "files": [ + "https://github.com/shumoLR/Comfyui_SynVow_TeleStyle" + ], + "install_type": "git-clone", + "description": "ComfyUI video style transfer plugin based on TeleStyle for applying reference image styles to source videos. (Description by CC)" + }, + { + "author": "smartvain", + "title": "ComfyUI-FaceKeypointsFilter", + "reference": "https://github.com/smartvain/ComfyUI-FaceKeypointsFilter", + "files": [ + "https://github.com/smartvain/ComfyUI-FaceKeypointsFilter" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that selectively filters facial keypoints from DWPose/OpenPose output, allowing selective disabling of face parts (chin, eyebrows, eyes, nose, mouth outer/inner contours) for ControlNet workflows. (Description by CC)" + }, + { + "author": "smartvain", + "title": "ComfyUI-PoseKeypointsToImage", + "reference": "https://github.com/smartvain/ComfyUI-PoseKeypointsToImage", + "files": [ + "https://github.com/smartvain/ComfyUI-PoseKeypointsToImage" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that generates pose images from DWPose/OpenPose keypoint data, allowing creation of pose visualizations with selectively filtered body parts. (Description by CC)" + }, + { + "author": "smartvain", + "title": "ComfyUI-PromptComment", + "reference": "https://github.com/smartvain/ComfyUI-PromptComment", + "files": [ + "https://github.com/smartvain/ComfyUI-PromptComment" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node providing comment stripping functionality for prompts with multiple marker styles. (Description by CC)" + }, + { + "author": "Enferlain", + "title": "ComfyUI-A1111-cond", + "reference": "https://github.com/Enferlain/ComfyUI-A1111-cond", + "files": [ + "https://github.com/Enferlain/ComfyUI-A1111-cond" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that implements A1111-style prompt handling with proper isolation and emphasis math." + }, + { + "author": "wanjin123111", + "title": "ComfyUI-3D-Human-Pose", + "reference": "https://github.com/wanjin123111/ComfyUI-3D-Human-Pose", + "files": [ + "https://github.com/wanjin123111/ComfyUI-3D-Human-Pose" + ], + "install_type": "git-clone", + "description": "Interactive 3D camera control node for ComfyUI that precisely controls horizontal, vertical angles and zoom, with output of professional cinematography prompts. (Description by CC)" + }, + { + "author": "capitan01R", + "title": "Capitan-ConditioningEnhancer", + "reference": "https://github.com/capitan01R/Capitan-ConditioningEnhancer", + "files": [ + "https://github.com/capitan01R/Capitan-ConditioningEnhancer" + ], + "install_type": "git-clone", + "description": "Lightweight post-processing node for Qwen3-4B conditioning in Z-Image Turbo workflows that refines conditioning with per-token normalization, optional self-attention, and MLP refinement. (Description by CC)" + }, + { + "author": "capitan01R", + "title": "ComfyUI-CapitanZiT-Scheduler", + "reference": "https://github.com/capitan01R/ComfyUI-CapitanZiT-Scheduler", + "files": [ + "https://github.com/capitan01R/ComfyUI-CapitanZiT-Scheduler" + ], + "install_type": "git-clone", + "description": "A lightweight ComfyUI custom scheduler & sigma generator for Z-Image-Turbo. Delivers a stable linear sigma schedule (1.0 → 0.0) for rectified-flow/flow-matching, boosting few-step generation (8-9 steps) with superior consistency, reduced noise, and full compatibility with the model's distilled pipeline." + }, + { + "author": "capitan01R", + "title": "ComfyUI-Flux2Klein-Enhancer", + "reference": "https://github.com/capitan01R/ComfyUI-Flux2Klein-Enhancer", + "files": [ + "https://github.com/capitan01R/ComfyUI-Flux2Klein-Enhancer" + ], + "install_type": "git-clone", + "description": "Conditioning enhancement node for FLUX.2 Klein 9B in ComfyUI. Controls prompt adherence and image edit behavior by modifying the active text embedding region." + }, + { + "author": "capitan01R", + "title": "ComfyUI-CapitanFlowMatch", + "reference": "https://github.com/capitan01R/ComfyUI-CapitanFlowMatch", + "files": [ + "https://github.com/capitan01R/ComfyUI-CapitanFlowMatch" + ], + "install_type": "git-clone", + "description": "Optimal samplers and schedulers for rectified flow models." + }, + { + "author": "capitan01R", + "title": "ComfyUI-ZImageTurbo-FlowSampler", + "reference": "https://github.com/capitan01R/ComfyUI-ZImageTurbo-FlowSampler", + "files": [ + "https://github.com/capitan01R/ComfyUI-ZImageTurbo-FlowSampler" + ], + "install_type": "git-clone", + "description": "Rectified-flow samplers for Z-Image-Turbo. Clean interpolation formula without sigma division, linear schedulers, higher-order variants. Fixes built-in euler/euler_ancestral instability issues" + }, + { + "author": "advancedtech-sk", + "title": "ComfyUI-GROUT", + "reference": "https://github.com/advancedtech-sk/ComfyUI-GROUT", + "files": [ + "https://github.com/advancedtech-sk/ComfyUI-GROUT" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for GROUT (Geometric Reasoning Over Unstructured Tessellations) - a deep learning model for detecting and segmenting grout lines in mosaic images." + }, + { + "author": "ato321", + "title": "ComfyUI-LTXVGuideRebase", + "reference": "https://github.com/ato321/ComfyUI-LTXVGuideRebase", + "files": [ + "https://github.com/ato321/ComfyUI-LTXVGuideRebase" + ], + "install_type": "git-clone", + "description": "Small ComfyUI addon that provides segment-safe utilities for Comfy-Org LTX video nodes." + }, + { + "author": "zhangle0013", + "title": "comfyui-EmptyImageYesON", + "reference": "https://github.com/zhangle0013/comfyui-EmptyImageYesON", + "files": [ + "https://github.com/zhangle0013/comfyui-EmptyImageYesON" + ], + "install_type": "git-clone", + "description": "Automatically disables Load Image nodes without images, useful for workflows with optional reference images. (Description by CC)" + }, + { + "author": "NickPittas", + "title": "ComfyUI_CameraAngleSelector", + "reference": "https://github.com/NickPittas/ComfyUI_CameraAngleSelector", + "files": [ + "https://github.com/NickPittas/ComfyUI_CameraAngleSelector" + ], + "install_type": "git-clone", + "description": "Interactive 3D interface for selecting camera angles for Qwen-Image-Edit-2511, supporting 96 unique camera angle combinations (8 directions Ɨ 4 heights Ɨ 3 shot sizes) with multi-selection and visual feedback." + }, + { + "author": "asirihewage", + "title": "remove_metadata_comfyui", + "reference": "https://github.com/asirihewage/remove_metadata_comfyui", + "files": [ + "https://github.com/asirihewage/remove_metadata_comfyui" + ], + "install_type": "git-clone", + "description": "Extra-stealth metadata removal node for ComfyUI" + }, + { + "author": "tackcrypto1031", + "title": "tk_comfyui_img2mask", + "reference": "https://github.com/tackcrypto1031/tk_comfyui_img2mask", + "files": [ + "https://github.com/tackcrypto1031/tk_comfyui_img2mask" + ], + "install_type": "git-clone", + "description": "A dedicated ComfyUI custom node designed to streamline the process of converting transparent images (RGBA) into masks and high-quality mask previews." + }, + { + "author": "tackcrypto1031", + "title": "tk_comfyui_view_and_light", + "reference": "https://github.com/tackcrypto1031/tk_comfyui_view_and_light", + "files": [ + "https://github.com/tackcrypto1031/tk_comfyui_view_and_light" + ], + "install_type": "git-clone", + "description": "TK View and Light: A ComfyUI node for 3D camera and lighting control" + }, + { + "author": "Lumiyumi", + "title": "LumyINTP", + "reference": "https://github.com/Lumiyumi/LumyINTP", + "files": [ + "https://github.com/Lumiyumi/LumyINTP" + ], + "install_type": "git-clone", + "description": "INT+ node for ComfyUI with control after generate style functionality for signal-controlled increment/decrement/randomize operations." + }, + { + "author": "MajoorWaldi", + "title": "ComfyUI-Majoor-ImageOps", + "reference": "https://github.com/MajoorWaldi/ComfyUI-Majoor-ImageOps", + "files": [ + "https://github.com/MajoorWaldi/ComfyUI-Majoor-ImageOps" + ], + "install_type": "git-clone", + "description": "Essential Nodes Pack for Images Processing for ComfyUI, with a live embedded preview inside the node (no queue) for supported chains." + }, + { + "author": "MajoorWaldi", + "title": "ComfyUI-Majoor-AssetsManager", + "id": "majoor-assetsmanager", + "reference": "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager", + "files": [ + "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager" + ], + "install_type": "git-clone", + "description": "Majoor Assets Manager is an advanced asset browser for ComfyUI with search, metadata extraction, rating/tags, workflow metadata parsing, and integrated image/video/audio asset management." + }, + { + "author": "sinanzoo2nd", + "title": "ComfyUI Seed Wildcard Pack", + "reference": "https://github.com/sinanzoo2nd/ComfyUI-Seed-Wildcard-Pack", + "files": [ + "https://github.com/sinanzoo2nd/ComfyUI-Seed-Wildcard-Pack" + ], + "install_type": "git-clone", + "description": "Advanced wildcard control with seed-based selection, LoRA stack support, and utilities.", + "nickname": "Seed Wildcard" + }, + { + "author": "senhaicc", + "title": "Comfyui-WL-MainImageDesign", + "reference": "https://github.com/senhaicc/Comfyui-WL-MainImageDesign", + "files": [ + "https://github.com/senhaicc/Comfyui-WL-MainImageDesign" + ], + "install_type": "git-clone", + "description": "Professional e-commerce main image prompt generator for motorcycle equipment (helmets, riding gear, protective gear) with 9 design styles and 2 canvas ratios. (Description by CC)" + }, + { + "author": "migero", + "title": "ComfyUI-Equirectangular-Strip", + "reference": "https://github.com/migero/ComfyUI-Equirectangular-Strip", + "files": [ + "https://github.com/migero/ComfyUI-Equirectangular-Strip" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI to convert between equirectangular (360°) images and a strip of 6 cube faces (90° FOV each)." + }, + { + "author": "0nikod", + "title": "ComfyUI-Simple-Prompt", + "reference": "https://github.com/0nikod/ComfyUI-Simple-Prompt", + "files": [ + "https://github.com/0nikod/ComfyUI-Simple-Prompt" + ], + "install_type": "git-clone", + "description": "Provide a simple interface to simplify prompt writing." + }, + { + "author": "0nikod", + "title": "ComfyUI-Metadata-Tools", + "reference": "https://github.com/0nikod/ComfyUI-Metadata-Tools", + "files": [ + "https://github.com/0nikod/ComfyUI-Metadata-Tools" + ], + "install_type": "git-clone", + "description": "Tools about metadata." + }, + { + "author": "Suzu008", + "title": "ComfyUI-CryptIO", + "reference": "https://github.com/Suzu008/ComfyUI-CryptIO", + "files": [ + "https://github.com/Suzu008/ComfyUI-CryptIO" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "IRCSS", + "title": "comfyUI-blender-wrapper", + "reference": "https://github.com/IRCSS/comfyUI-blender-wrapper", + "files": [ + "https://github.com/IRCSS/comfyUI-blender-wrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI Blender Wrapper lets you call Blender in headless mode from ComfyUI (or any Python environment), run reusable pipeline stages stored inside files, and pass configs in/out via JSON. It's meant for tech-art / asset-pipeline tasks like cleanup, decimation, unwrap, baking, rigging, etc." + }, + { + "author": "calibancode", + "title": "ComfyUI-bevvy", + "reference": "https://github.com/calibancode/ComfyUI-bevvy", + "files": [ + "https://github.com/calibancode/ComfyUI-bevvy" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that saves images as WebP." + }, + { + "author": "joe002", + "title": "comfyui-deterministic-nodes", + "reference": "https://github.com/joe002/comfyui-deterministic-nodes", + "files": [ + "https://github.com/joe002/comfyui-deterministic-nodes" + ], + "install_type": "git-clone", + "description": "Batch-invariant inference nodes for guaranteed reproducibility in ComfyUI" + }, + { + "author": "joe002", + "title": "comfyui-conduit-optimizer", + "reference": "https://github.com/joe002/comfyui-conduit-optimizer", + "files": [ + "https://github.com/joe002/comfyui-conduit-optimizer" + ], + "install_type": "git-clone", + "description": "Non-linear inference optimization for ComfyUI: 4-tier VRAM, speculative generation, precision routing" + }, + { + "author": "joe002", + "title": "comfyui-rtx4090-nodes", + "reference": "https://github.com/joe002/comfyui-rtx4090-nodes", + "files": [ + "https://github.com/joe002/comfyui-rtx4090-nodes" + ], + "install_type": "git-clone", + "description": "High-performance ComfyUI nodes optimized for RTX 4090: batch processing, memory management, GPU monitoring" + }, + { + "author": "Aditya Mundhalia", + "title": "ComfyUI Ollama by Aditya", + "id": "comfyui-ollama-aditya", + "reference": "https://github.com/aadityamundhalia/ComfyUI-ollama-aditya", + "files": [ + "https://github.com/aadityamundhalia/ComfyUI-ollama-aditya" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for integrating Ollama local LLM models with image or text generation workflows." + }, + { + "author": "maximilianwicen", + "title": "ComfyUI-MaxTools", + "reference": "https://github.com/maximilianwicen/ComfyUI-MaxTools", + "files": [ + "https://github.com/maximilianwicen/ComfyUI-MaxTools" + ], + "install_type": "git-clone", + "description": "A small collection of custom nodes for ComfyUI, featuring Max Quick Image Size node for image-to-image or image-to-video workflows. (Description by CC)" + }, + { + "author": "bhhtr12", + "title": "ComfyUI-ollama-stop", + "reference": "https://github.com/bhhtr12/ComfyUI-ollama-stop", + "files": [ + "https://github.com/bhhtr12/ComfyUI-ollama-stop" + ], + "install_type": "git-clone", + "description": "Passthrough node that instantly unloads any running ollama model mid workflow. No API calls, just accepts plain string as a model name and executes 'ollama stop ' command in your system." + }, + { + "author": "DemonAlone", + "title": "DemonAlone-nodes-ComfyUI", + "reference": "https://github.com/DemonAlone/DemonAlone-nodes-ComfyUI", + "files": [ + "https://github.com/DemonAlone/DemonAlone-nodes-ComfyUI" + ], + "install_type": "git-clone", + "description": "A collection of nodes that provide dynamic dropdown selectors for Samplers, Schedulers, Checkpoints, and Diffusion Models, outputting a comma-separated string for use in XY plots." + }, + { + "author": "tabisheva", + "title": "comfyui-segs-profile", + "reference": "https://github.com/tabisheva/comfyui-segs-profile", + "files": [ + "https://github.com/tabisheva/comfyui-segs-profile" + ], + "install_type": "git-clone", + "description": "A tiny ComfyUI custom node that detects whether a face is in profile using SEGS eye detections." + }, + { + "author": "QuackPhuc", + "title": "ComfyUI-FisheyeTransform", + "reference": "https://github.com/QuackPhuc/ComfyUI-FisheyeTransform", + "files": [ + "https://github.com/QuackPhuc/ComfyUI-FisheyeTransform" + ], + "install_type": "git-clone", + "description": "Custom nodes for handling fisheye camera distortion in ComfyUI inpainting workflows." + }, + { + "author": "1x1r", + "title": "comfyui-upscale-by-model", + "reference": "https://github.com/1x1r/comfyui-upscale-by-model", + "files": [ + "https://github.com/1x1r/comfyui-upscale-by-model" + ], + "install_type": "git-clone", + "description": "This custom node allow upscaling an image by a factor using a model." + }, + { + "author": "XelaNull", + "title": "ComfyUI-MobileFriendly", + "reference": "https://github.com/XelaNull/ComfyUI-MobileFriendly", + "files": [ + "https://github.com/XelaNull/ComfyUI-MobileFriendly" + ], + "install_type": "git-clone", + "description": "Comprehensive mobile UI enhancement for ComfyUI that transforms the desktop-focused interface into a touch-friendly experience optimized for iPhone, iPad, and Android devices." + }, + { + "author": "danieljanata", + "title": "ComfyUI-Prompting-System", + "reference": "https://github.com/danieljanata/ComfyUI-Prompting-System", + "files": [ + "https://github.com/danieljanata/ComfyUI-Prompting-System" + ], + "install_type": "git-clone", + "description": "Comprehensive prompt management system for ComfyUI with database storage, thumbnail management, advanced search, and cross-platform support." + }, + { + "author": "SorenWeile", + "title": "ComfyUI_MetaSaver", + "reference": "https://github.com/SorenWeile/ComfyUI_MetaSaver", + "files": [ + "https://github.com/SorenWeile/ComfyUI_MetaSaver" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node for saving images with flexible custom metadata fields embedded in PNG files." + }, + { + "author": "theluminhub", + "title": "ComfyUI-Lumin-Upload", + "reference": "https://github.com/theluminhub/ComfyUI-Lumin-Upload", + "files": [ + "https://github.com/theluminhub/ComfyUI-Lumin-Upload" + ], + "install_type": "git-clone", + "description": "Upload your ComfyUI generated images and workflow metadata to Lumin." + }, + { + "author": "RCAKangle", + "title": "ComfyUI_LLM_Embeder", + "reference": "https://github.com/RCAKangle/ComfyUI_LLM_Embeder", + "files": [ + "https://github.com/RCAKangle/ComfyUI_LLM_Embeder" + ], + "install_type": "git-clone", + "description": "Local LLM chat nodes for ComfyUI, with a clean handoff path to downstream prompt optimization." + }, + { + "author": "loz2754", + "title": "AUN ComfyUI Nodes", + "id": "aun-comfyui-nodes", + "reference": "https://github.com/loz2754/AUN-ComfyUI-Nodes", + "files": [ + "https://github.com/loz2754/AUN-ComfyUI-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of workflow helper nodes focused on organization + control (bypass/mute/collapse/group control), prompt/text utilities, file/path helpers, and image/video save helpers (optional VHS integration)." + }, + { + "author": "SergPoletaev", + "title": "ComfyUI-SPoletNodes", + "id": "ComfyUI-SPoletNodes", + "reference": "https://github.com/SergPoletaev/ComfyUI-SPoletNodes", + "files": [ + "https://github.com/SergPoletaev/ComfyUI-SPoletNodes" + ], + "install_type": "git-clone", + "description": "Custom nodes for image preview and saving" + }, + { + "author": "xela-io", + "title": "ComfyUI-RegionalPrompting", + "reference": "https://github.com/xela-io/ComfyUI-RegionalPrompting", + "files": [ + "https://github.com/xela-io/ComfyUI-RegionalPrompting" + ], + "install_type": "git-clone", + "description": "Regional Prompting for ComfyUI - assign different prompts to different image areas." + }, + { + "author": "xela-io", + "title": "ComfyUI-HairDetailer", + "reference": "https://github.com/xela-io/ComfyUI-HairDetailer", + "files": [ + "https://github.com/xela-io/ComfyUI-HairDetailer" + ], + "install_type": "git-clone", + "description": "Comprehensive custom node pack for detecting hair regions, creating precise masks, and enhancing hair details in images with 6 specialized nodes for various hair processing workflows. (Description by CC)" + }, + { + "author": "Nakamura2828", + "title": "ComfyUI-JK-TextTools", + "reference": "https://github.com/Nakamura2828/ComfyUI-JK-TextTools", + "files": [ + "https://github.com/Nakamura2828/ComfyUI-JK-TextTools" + ], + "install_type": "git-clone", + "description": "Text and data manipulation nodes for ComfyUI, with emphasis on JSON processing, detection workflows, and bbox visualization." + }, + { + "author": "Nakamura2828", + "title": "ComfyUI-JK-ToRetro", + "reference": "https://github.com/Nakamura2828/ComfyUI-JK-ToRetro", + "files": [ + "https://github.com/Nakamura2828/ComfyUI-JK-ToRetro" + ], + "install_type": "git-clone", + "description": "Retro graphics converter node for ComfyUI. Converts modern images to authentic retro computing styles (VGA, EGA, CGA, PC-98) with proper color palettes, dithering, and resolution constraints." + }, + { + "author": "sgyyao", + "title": "ComfyUI_LLM_Prompt_Optimizer", + "reference": "https://github.com/sgyyao/ComfyUI_LLM_Prompt_Optimizer", + "files": [ + "https://github.com/sgyyao/ComfyUI_LLM_Prompt_Optimizer" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI that uses various LLM APIs (OpenAI, Anthropic, Gemini, DeepSeek, Qwen/DashScope, xAI, etc.) to optimize and expand your image generation prompts." + }, + { + "author": "zhaocaiji", + "title": "ComfyUI-VideoFrameTools", + "reference": "https://github.com/zhaocaiji/ComfyUI-VideoFrameTools", + "files": [ + "https://github.com/zhaocaiji/ComfyUI-VideoFrameTools" + ], + "install_type": "git-clone", + "description": "A custom node for ComfyUI to handle video frame sequences." + }, + { + "author": "zhaocaiji", + "title": "ComfyUI-Mute-Switch", + "reference": "https://github.com/zhaocaiji/ComfyUI-Mute-Switch", + "files": [ + "https://github.com/zhaocaiji/ComfyUI-Mute-Switch" + ], + "install_type": "git-clone", + "description": "A smart logic switch for ComfyUI that physically mutes upstream nodes to save GPU/CPU resources, featuring dynamic inputs and auto-cleanup." + }, + { + "author": "naku-yh", + "title": "ComfyUI_Flux2ImageReference", + "reference": "https://github.com/naku-yh/ComfyUI_Flux2ImageReference", + "files": [ + "https://github.com/naku-yh/ComfyUI_Flux2ImageReference" + ], + "install_type": "git-clone", + "description": "A comprehensive node for ComfyUI that implements an image reference mechanism for Flux2-based image generation models." + }, + { + "author": "transcendedhacker", + "title": "Mode_personal_node", + "reference": "https://github.com/transcendedhacker/Mode_personal_node", + "files": [ + "https://github.com/transcendedhacker/Mode_personal_node" + ], + "install_type": "git-clone", + "description": "Massive scalable SDXL/Flux prompt system with 300+ atomic options." + }, + { + "author": "skatardude10", + "title": "ComfyUI-Optical-Realism", + "reference": "https://github.com/skatardude10/ComfyUI-Optical-Realism", + "files": [ + "https://github.com/skatardude10/ComfyUI-Optical-Realism" + ], + "install_type": "git-clone", + "description": "Physics-based post-processing using depth maps to simulate atmospheric perspective, light transport, and lens imperfections for photorealistic results." + }, + { + "author": "Aloukik21", + "title": "ComfyUI-NovaNoiser", + "reference": "https://github.com/Aloukik21/ComfyUI-NovaNoiser", + "files": [ + "https://github.com/Aloukik21/ComfyUI-NovaNoiser" + ], + "install_type": "git-clone", + "description": "Image Detection Bypass Utility for circumvention of AI Detection with comprehensive image processing and post-processing features." + }, + { + "author": "ai-joe-git", + "title": "ComfyUI-Metadata-Extractor", + "reference": "https://github.com/ai-joe-git/ComfyUI-Metadata-Extractor", + "files": [ + "https://github.com/ai-joe-git/ComfyUI-Metadata-Extractor" + ], + "install_type": "git-clone", + "description": "A powerful ComfyUI custom node that extracts workflow metadata from PNG images and video files generated by ComfyUI." + }, + { + "author": "ai-joe-git", + "title": "ComfyUI-Simple-Prompt-Batcher", + "reference": "https://github.com/ai-joe-git/ComfyUI-Simple-Prompt-Batcher", + "files": [ + "https://github.com/ai-joe-git/ComfyUI-Simple-Prompt-Batcher" + ], + "install_type": "git-clone", + "description": "A simple and efficient ComfyUI custom node that allows batch processing of multiple prompts in a single queue with automatic model loading optimization." + }, + { + "author": "aledelpho", + "title": "Arthemy Live Tuner - SDXL", + "reference": "https://github.com/aledelpho/Arthemy_Live-Tuner-SDXL-ComfyUI", + "files": [ + "https://github.com/aledelpho/Arthemy_Live-Tuner-SDXL-ComfyUI" + ], + "install_type": "git-clone", + "description": "Advanced live tuning nodes for SDXL, Illustrious, and NAI. Slice U-Net and CLIP into functional areas to adjust intensity of specific components like Layout, Style, or Syntax." + }, + { + "author": "aledelpho", + "title": "Arthemy Live Tuner - Z-image", + "reference": "https://github.com/aledelpho/Arthemy_Live-Tuner-ZIT-ComfyUI", + "files": [ + "https://github.com/aledelpho/Arthemy_Live-Tuner-ZIT-ComfyUI" + ], + "install_type": "git-clone", + "description": "Advanced real-time control for Z-Image models and Qwen3-4B Text Encoders. These nodes allow you to change your model's weights to boost or lower specific generative phases." + }, + { + "author": "bkpaine1", + "title": "Halo-Lipsy", + "id": "halo-lipsy", + "reference": "https://github.com/bkpaine1/Halo-Lipsy", + "files": [ + "https://github.com/bkpaine1/Halo-Lipsy" + ], + "install_type": "git-clone", + "description": "AMD unified memory lip sync for ComfyUI. Native Wav2Lip inference with no subprocesses - finally works on Strix Halo, ROCm, and all AMD APUs. Features sync tuning, edge blending, and safe tensor casting for unified memory systems." + }, + { + "author": "bkpaine1", + "title": "Halo-TeaCache", + "id": "halo-teacache", + "reference": "https://github.com/bkpaine1/Halo-TeaCache", + "files": [ + "https://github.com/bkpaine1/Halo-TeaCache" + ], + "install_type": "git-clone", + "description": "AMD Unified Memory TeaCache for LTX2 (LTXAV). Lean single-file caching for 48-layer dual-stream transformer. Caches both video and audio residuals. No CPU offload - designed for AMD APUs with unified memory. ~35% speedup on cached denoising steps." + }, + { + "author": "bkpaine1", + "title": "HALO Debug Pack", + "id": "halo-pack", + "reference": "https://github.com/bkpaine1/halo_pack", + "files": [ + "https://github.com/bkpaine1/halo_pack" + ], + "install_type": "git-clone", + "description": "AMD ROCm bf16 diagnostic tools for ComfyUI. Fixes black image issues caused by numpy's lack of bfloat16 support. Includes FP32 VAE decode/encode and debug nodes for latent, conditioning, and model inspection. Useful for AMD Strix Halo, older NVIDIA cards, Apple Silicon, and unified memory systems." + }, + { + "author": "kianthos", + "title": "Earthbound---All-in-one-ComfyUI-Node", + "reference": "https://github.com/kianthos/Earthbound---All-in-one-ComfyUI-Node", + "files": [ + "https://github.com/kianthos/Earthbound---All-in-one-ComfyUI-Node" + ], + "install_type": "git-clone", + "description": "Comprehensive single-node solution for ComfyUI integrating base generation, latent refinement, neural upscaling, and post-processing." + }, + { + "author": "ato-zen", + "title": "ComfyUI-VIBE", + "reference": "https://github.com/ato-zen/ComfyUI-VIBE", + "files": [ + "https://github.com/ato-zen/ComfyUI-VIBE" + ], + "install_type": "git-clone", + "description": "Implementation of VIBE (Visual Instruction Based Editor) as a custom node for ComfyUI that enables image editing using natural language instructions leveraging Sana1.5 and Qwen3-VL models." + }, + { + "author": "FallenIncursio", + "title": "arcenciel-link-comfyui", + "reference": "https://github.com/FallenIncursio/arcenciel-link-comfyui", + "files": [ + "https://github.com/FallenIncursio/arcenciel-link-comfyui" + ], + "install_type": "git-clone", + "description": "Bring your ArcEnCiel models straight into ComfyUI with one click. Includes Link Key support, remote worker control, inventory sync, and sidecar generation." + }, + { + "author": "0dot77", + "title": "comfyui-annotations", + "reference": "https://github.com/0dot77/comfyui-annotations", + "files": [ + "https://github.com/0dot77/comfyui-annotations" + ], + "install_type": "git-clone", + "description": "A lightweight annotation overlay for ComfyUI." + }, + { + "author": "isala404", + "title": "comfy-workflow-api", + "reference": "https://github.com/isala404/comfy-workflow-api", + "files": [ + "https://github.com/isala404/comfy-workflow-api" + ], + "install_type": "git-clone", + "description": "HTTP API for ComfyUI with webhook-based workflow execution." + }, + { + "author": "gen1nya", + "title": "ComfyUI Remote Upscale", + "id": "remote-upscale", + "reference": "https://github.com/gen1nya/ComfyUI-Remote-Upscale", + "files": [ + "https://github.com/gen1nya/ComfyUI-Remote-Upscale" + ], + "install_type": "git-clone", + "description": "Offload image upscaling to a remote server with a dedicated GPU. Real-time progress streaming via SSE." + }, + { + "author": "Setmaster", + "title": "ModelPulse", + "id": "modelpulse", + "reference": "https://github.com/Setmaster/ComfyUI-ModelPulse", + "files": [ + "https://github.com/Setmaster/ComfyUI-ModelPulse" + ], + "install_type": "git-clone", + "description": "Track model usage frequency to identify abandoned or underutilized models. Shows usage stats, file sizes, and highlights stale models in a sidebar panel." + }, + { + "author": "mickmumpitz", + "title": "Mickmumpitz-Nodes", + "id": "mickmumpitz-nodes", + "reference": "https://github.com/mickmumpitz/ComfyUI-Mickmumpitz-Nodes", + "files": [ + "https://github.com/mickmumpitz/ComfyUI-Mickmumpitz-Nodes" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI by Mickmumpitz." + }, + { + "author": "Xz3r0", + "title": "ComfyUI-Xz3r0-Nodes", + "reference": "https://github.com/Xz3r0-M/ComfyUI-Xz3r0-Nodes", + "files": [ + "https://github.com/Xz3r0-M/ComfyUI-Xz3r0-Nodes" + ], + "install_type": "git-clone", + "description": "Some custom nodes: XMath, XResolution, XImageSave, XVideoSave, XLatentLoad, XLatentSave ...and more" + }, + { + "author": "CrateTools", + "title": "Preview Video Monitor Pro", + "id": "preview-video-monitor-pro", + "reference": "https://github.com/CrateTools/comfyui-preview-video-monitor", + "files": [ + "https://github.com/CrateTools/comfyui-preview-video-monitor" + ], + "install_type": "git-clone", + "description": "Second monitor preview for video generations with interactive playback controls, color tools, generation tracking, and workflow-embedded snapshots." + }, + { + "author": "loficoding", + "title": "ComfyUI Node HUD", + "reference": "https://github.com/loficoding/ComfyUI-Node-HUD", + "files": [ + "https://github.com/loficoding/ComfyUI-Node-HUD" + ], + "install_type": "git-clone", + "description": "Adds a smart I/O status dock to stacked nodes for cleaner layouts.", + "tags": ["ui", "layout", "utils"] + }, + { + "author": "laowang", + "title": "ComfyUI PixelArt Converter", + "reference": "https://github.com/wangyff-code/ComfyUI-PixelArt-Converter", + "files": [ + "https://github.com/wangyff-code/ComfyUI-PixelArt-Converter" + ], + "install_type": "git-clone", + "description": "Convert images to pixel art using ONNX models." + }, + { + "author": "sjhddh", + "title": "ComfyUI-Cyber-Steganography", + "id": "cyber-steganography", + "reference": "https://github.com/sjhddh/ComfyUI-Cyber-Steganography", + "files": [ + "https://github.com/sjhddh/ComfyUI-Cyber-Steganography" + ], + "install_type": "git-clone", + "description": "Cyberpunk/Spy-craft steganography nodes for ComfyUI. Hide secret text messages inside AI-generated images using LSB (Least Significant Bit) steganography. Features encryption with optional password key. Nodes: StegoEncode (hide text), StegoDecode (reveal text)." + }, + { + "author": "FNGarvin", + "title": "ComfyUI Auto Model Downloader", + "id": "automodeldownloader", + "reference": "https://github.com/FNGarvin/ComfyUI-AutoModelDownloader", + "files": [ + "https://github.com/FNGarvin/ComfyUI-AutoModelDownloader" + ], + "install_type": "git-clone", + "description": "Convenient, high-speed model downloads directly to your Comfy install with blazing-fast, multi-connection support. No more downloading models to your downloads folder and having to manually move them to the proper folder!" + }, + { + "author": "c0dezer019", + "title": "FreezeFrame", + "id": "freezeframe", + "reference": "https://github.com/c0dezer019/FreezeFrame", + "files": [ + "https://github.com/c0dezer019/FreezeFrame" + ], + "install_type": "git-clone", + "description": "Modifed Sampler nodes that allow you to pause/resume generations. For those with older hardware running in CPU mode or old GPUs. Useful for managing thermals." + }, + { + "author": "mingyi456", + "title": "ComfyUI DFloat11 Extended", + "reference": "https://github.com/mingyi456/ComfyUI-DFloat11-Extended", + "files": [ + "https://github.com/mingyi456/ComfyUI-DFloat11-Extended" + ], + "install_type": "git-clone", + "description": "Fork of the official DF11 ComfyUI custom node that supports a wider variety of model architectures, and provides fixes for compatibility with recent ComfyUI versions. Also, LoRAs are supported for select model architectures." + }, + { + "author": "hetima", + "title": "ComfyUI-SingleLinePicker", + "id": "singlelinepicker", + "reference": "https://github.com/hetima/ComfyUI-SingleLinePicker", + "files": [ + "https://github.com/hetima/ComfyUI-SingleLinePicker" + ], + "install_type": "git-clone", + "description": "Select one line from the text list with a single click. It dramatically improves the process of switching LoRA or prompts." + }, + { + "author": "liewcc", + "title": "ComfyUI-Qwen-Canvas", + "reference": "https://github.com/liewcc/ComfyUI-Qwen-Canvas", + "files": [ + "https://github.com/liewcc/ComfyUI-Qwen-Canvas" + ], + "install_type": "git-clone", + "description": "Enforces Qwen's training resolution buckets for precise Latent space generation." + }, + { + "author": "frankluise5220", + "title": "ComfyUI-LoraHelper", + "reference": "https://github.com/frankluise5220/ComfyUI-Lorahelper", + "nodename_pattern": "UniversalGGUFLoader|UniversalOllamaLoader|UniversalAIChat|LH_LlamaInstruct|LH_History_Monitor|LH_MultiTextSelector|LoRA_AllInOne_Saver|LH_SimpleText", + "files": [ + "https://github.com/frankluise5220/ComfyUI-Lorahelper" + ], + "install_type": "git-clone", + "description": "A specialized toolkit for AI-based image captioning (reverse prompting), prompt enrichment, and automated batch generation. It streamlines LoRA dataset organization with native GGUF and Ollama support.", + "tags": ["llm", "vision", "prompt generation", "lora", "Qwen3", "reverse prompting"] + }, + { + "author": "DevDuckFace", + "title": "KsamplerDF", + "reference": "https://github.com/DevDuckFace/KsamplerDF", + "files": [ + "https://github.com/DevDuckFace/KsamplerDF" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that splits sampling steps between a main sampler and a refiner sampler, with independent denoise control for each phase, with upscalers now" + }, + { + "author": "rockerBOO", + "title": "pixel-sorting", + "reference": "https://github.com/rockerBOO/pixel-sorting", + "files": [ + "https://github.com/rockerBOO/pixel-sorting" + ], + "install_type": "git-clone", + "description": "ASDF-style pixel sorting implementation in Python with extended features" + }, + { + "author": "D-Ogi", + "title": "ComfyUI-Attention-Optimizer", + "reference": "https://github.com/D-Ogi/ComfyUI-Attention-Optimizer", + "files": [ + "https://github.com/D-Ogi/ComfyUI-Attention-Optimizer" + ], + "install_type": "git-clone", + "description": "Automatically benchmark and optimize attention in diffusion models. 1.5-2x speedup on RTX 4090, up to 4x on video models." + }, + { + "author": "molbal", + "title": "ComfyUI-LLM-CLIP", + "reference": "https://github.com/molbal/ComfyUI-LLM-CLIP", + "files": [ + "https://github.com/molbal/ComfyUI-LLM-CLIP" + ], + "install_type": "git-clone", + "description": "These nodes allow you to use a distilled Qwen3-4B model as your text encoder in Stable Diffusion XL." + }, + { + "author": "relhamdi", + "title": "ComfyUI-RE-CustomUtils", + "reference": "https://github.com/relhamdi/ComfyUI-RE-CustomUtils", + "files": [ + "https://github.com/relhamdi/ComfyUI-RE-CustomUtils" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI." + }, + { + "author": "kakachiex2", + "title": "comfyui-ltx2-efficient", + "reference": "https://github.com/kakachiex2/comfyui-ltx2-efficient", + "files": [ + "https://github.com/kakachiex2/comfyui-ltx2-efficient" + ], + "install_type": "git-clone", + "description": "High-performance custom node for LTX2 video generation designed to reduce GPU usage, VRAM requirements, and temperature on consumer GPUs." + }, + { + "author": "BobJohnson24", + "title": "ComfyUI-Flux2-INT8", + "reference": "https://github.com/BobJohnson24/ComfyUI-Flux2-INT8", + "files": [ + "https://github.com/BobJohnson24/ComfyUI-Flux2-INT8" + ], + "install_type": "git-clone", + "description": "This node speeds up Flux2, Chroma, Z-Image in ComfyUI by using INT8 quantization, delivering ~2x faster inference on my 3090, but it should work on any NVIDIA GPU with enough INT8 TOPS." + }, + { + "author": "kayorlian", + "title": "ComfyuiSmartColorMatch", + "reference": "https://github.com/kayorlian/ComfyuiSmartColorMatch", + "files": [ + "https://github.com/kayorlian/ComfyuiSmartColorMatch" + ], + "install_type": "git-clone", + "description": "Custom node for ComfyUI that performs color matching between reference and generated images with support for masking." + }, + { + "author": "uczensokratesa", + "title": "ComfyUI-Gemini-VAE-Fix", + "reference": "https://github.com/uczensokratesa/ComfyUI-Gemini-VAE-Fix", + "files": [ + "https://github.com/uczensokratesa/ComfyUI-Gemini-VAE-Fix" + ], + "install_type": "git-clone", + "description": "Advanced VAE decoder node with audio sync precision and crash-proof memory management for long videos. (Description by CC)" + }, + { + "author": "uczensokratesa", + "title": "ComfyUI-UniversalSmartVAE", + "reference": "https://github.com/uczensokratesa/ComfyUI-UniversalSmartVAE", + "files": [ + "https://github.com/uczensokratesa/ComfyUI-UniversalSmartVAE" + ], + "install_type": "git-clone", + "description": "VRAM-safe VAE decoder for video latents in ComfyUI. Decodes 5D video latents in temporal batches to prevent GPU memory explosions." + }, + { + "author": "uczensokratesa", + "title": "ComfyUI-Claude-VAE", + "reference": "https://github.com/uczensokratesa/ComfyUI-Claude-VAE", + "files": [ + "https://github.com/uczensokratesa/ComfyUI-Claude-VAE" + ], + "install_type": "git-clone", + "description": "VAE Decode node that solves VRAM problems with mathematically precise temporal stitching, maintaining perfect frame counts across batch sizes for video generation." + }, + { + "author": "uczensokratesa", + "title": "ComfyUI-Grok-SmartVAE", + "reference": "https://github.com/uczensokratesa/ComfyUI-Grok-SmartVAE", + "files": [ + "https://github.com/uczensokratesa/ComfyUI-Grok-SmartVAE" + ], + "install_type": "git-clone", + "description": "Most durable and flexible VAE decoder for ComfyUI designed for long video sequences with crash-proof dynamic batching, temporal scale detection, and aggressive out-of-memory recovery. (Description by CC)" + }, + { + "author": "rdanalex", + "title": "ComfyUI-ClownSampler", + "reference": "https://github.com/rdanalex/ComfyUI-ClownSampler", + "files": [ + "https://github.com/rdanalex/ComfyUI-ClownSampler" + ], + "install_type": "git-clone", + "description": "A standalone ComfyUI node for loading samplers and providing their names as string outputs." + }, + { + "author": "rgamevfx", + "title": "ComfyUI-RGnodes", + "reference": "https://github.com/rgamevfx/ComfyUI-RGnodes", + "files": [ + "https://github.com/rgamevfx/ComfyUI-RGnodes" + ], + "install_type": "git-clone", + "description": "VFX and video utility nodes. Avoiding opening other apps/clearing other caches." + }, + { + "author": "knishika62", + "title": "ComfyUI-LyricForge", + "reference": "https://github.com/knishika62/ComfyUI-LyricForge", + "files": [ + "https://github.com/knishika62/ComfyUI-LyricForge" + ], + "install_type": "git-clone", + "description": "AI music generation node (for HeartMuLa) that auto-generates style tags and lyrics from keywords, supporting OpenAI/Claude/local LLM APIs and multilingual lyrics (Japanese, English, Chinese, Korean, Spanish). (Description by CC)" + }, + { + "author": "knishika62", + "title": "ComfyUI-DualLoraStack", + "reference": "https://github.com/knishika62/ComfyUI-DualLoraStack", + "files": [ + "https://github.com/knishika62/ComfyUI-DualLoraStack" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node that applies the same Lora to two models while sharing a CLIP, supporting up to 6 Lora models with independent strength control. (Description by CC)" + }, + { + "author": "Pedreiro-Digital-Studio-Ltda", + "title": "ComfyUI-PromptPerfect", + "reference": "https://github.com/Pedreiro-Digital-Studio-Ltda/ComfyUI-PromptPerfect", + "files": [ + "https://github.com/Pedreiro-Digital-Studio-Ltda/ComfyUI-PromptPerfect" + ], + "install_type": "git-clone", + "description": "Custom nodes for ComfyUI with Prompt Perfect GPT functionality." + }, + { + "author": "laolaoruqin", + "title": "ComfyUI-free-drag-crop", + "reference": "https://github.com/laolaoruqin/ComfyUI-free-drag-crop", + "files": [ + "https://github.com/laolaoruqin/ComfyUI-free-drag-crop" + ], + "install_type": "git-clone", + "description": "An interactive, user-friendly cropping node that allows you to drag and resize the crop area directly in the ComfyUI interface." + }, + { + "author": "hyukudan", + "title": "comfyui-video-resolution", + "reference": "https://github.com/hyukudan/comfyui-video-resolution", + "files": [ + "https://github.com/hyukudan/comfyui-video-resolution" + ], + "install_type": "git-clone", + "description": "A ComfyUI node for selecting video resolutions with preset dimensions for video generation models like LTX, CogVideo, and Hunyuan. (Description by CC)" + }, + { + "author": "TechnicalTod", + "title": "ComfyUI-RotoMask", + "reference": "https://github.com/TechnicalTod/ComfyUI-RotoMask", + "files": [ + "https://github.com/TechnicalTod/ComfyUI-RotoMask" + ], + "install_type": "git-clone", + "description": "A rotoscoping tool for ComfyUI that allows you to create animated masks using polygon curves with keyframe interpolation." + }, + { + "author": "jajos12", + "title": "Comfyui-WanVideo-Context", + "reference": "https://github.com/jajos12/Comfyui-WanVideo-Context", + "files": [ + "https://github.com/jajos12/Comfyui-WanVideo-Context" + ], + "install_type": "git-clone", + "description": "Advanced context management node for WanVideo using Intent-Aware Mixture of Contexts (MoC) system with hybrid memory, multi-modal retrieval, and temporal diversity. (Description by CC)" + }, + { + "author": "Candlehead", + "title": "Candlehead-Comfy-Nodez", + "reference": "https://github.com/Candlehead/Candlehead-Comfy-Nodez", + "files": [ + "https://github.com/Candlehead/Candlehead-Comfy-Nodez" + ], + "install_type": "git-clone", + "description": "Comprehensive suite of utility nodes for ComfyUI including AspectToRes, ImageInfo, and TextProcessor for image processing workflows." + }, + { + "author": "Meisoftcoltd", + "title": "comfyui-sequential-batcher", + "reference": "https://github.com/Meisoftcoltd/comfyui-sequential-batcher", + "files": [ + "https://github.com/Meisoftcoltd/comfyui-sequential-batcher" + ], + "install_type": "git-clone", + "description": "The ultimate tool for creating complex iterative workflows and frame-by-frame video processing in ComfyUI, designed to handle huge tasks without GPU crashes using intelligent sequential looping." + }, + { + "author": "Meisoftcoltd", + "title": "ComfyUI-Demucs-AudioSeparator", + "reference": "https://github.com/Meisoftcoltd/ComfyUI-Demucs-AudioSeparator", + "files": [ + "https://github.com/Meisoftcoltd/ComfyUI-Demucs-AudioSeparator" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI node for audio source separation using Meta Demucs v4 technology to extract voices, drums, bass, and other instruments with high fidelity. (Description by CC)" + }, + { + "author": "licanhua", + "title": "ComfyUI-StrokeReveal", + "reference": "https://github.com/licanhua/ComfyUI-StrokeReveal", + "files": [ + "https://github.com/licanhua/ComfyUI-StrokeReveal" + ], + "install_type": "git-clone", + "description": "A ComfyUI custom node that creates an animated stroke reveal effect, where a brush/pen follows a mask edge to reveal an image with feathered blending and 8 direction support." + }, + { + "author": "K3nt3L", + "title": "ComfyUI-S1Z35", + "reference": "https://github.com/K3nt3L/ComfyUI-S1Z35", + "files": [ + "https://github.com/K3nt3L/ComfyUI-S1Z35" + ], + "install_type": "git-clone", + "description": "Basic nodes for image ratios and size presets (all models)" + }, + { + "author": "kaushiknishchay", + "title": "ComfyUI-Qwen3-ASR", + "reference": "https://github.com/kaushiknishchay/ComfyUI-Qwen3-ASR", + "files": [ + "https://github.com/kaushiknishchay/ComfyUI-Qwen3-ASR" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for Qwen3-ASR (0.6B/1.7B) and ForcedAligner. Supports high-accuracy ASR and language identification for 52 languages/dialects, including 22 Chinese dialects and various English accents. Features word-level timestamps, long audio transcription, and VRAM-optimized inference." + }, + { + "author": "Ugleh", + "title": "ComfyUI-ugleh-OpenAI", + "reference": "https://github.com/Ugleh/ComfyUI-ugleh-OpenAI", + "files": [ + "https://github.com/Ugleh/ComfyUI-ugleh-OpenAI" + ], + "install_type": "git-clone", + "description": "Minimal OpenAI API nodes for ComfyUI." + }, + { + "author": "remingtonspaz", + "title": "Reference Chain Conditioning", + "reference": "https://github.com/remingtonspaz/ComfyUI-ReferenceChain", + "files": [ + "https://github.com/remingtonspaz/ComfyUI-ReferenceChain" + ], + "install_type": "git-clone", + "description": "Chain multiple images as reference conditionings for Flux Klein, Kontext etc. with one node" + }, + { + "author": "SidDays", + "title": "ComfyUI-YuGiOh", + "reference": "https://github.com/SidDays/ComfyUI-YuGiOh", + "files": [ + "https://github.com/SidDays/ComfyUI-YuGiOh" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes to help with creating custom Yu-Gi-Oh! cards and modding the video games" + }, + { + "author": "NidAll", + "title": "ComfyUI_PromptStyler", + "reference": "https://github.com/NidAll/ComfyUI_PromptStyler", + "files": [ + "https://github.com/NidAll/ComfyUI_PromptStyler" + ], + "install_type": "git-clone", + "description": "PromptStyler is a custom ComfyUI node that helps you keep your prompts consistent by applying a selected style template to your positive prompt, then outputting CONDITIONING for KSampler." + }, + { + "author": "peter119lee", + "title": "ComfyUI-BananaForge", + "reference": "https://github.com/peter119lee/ComfyUI-BananaForge", + "files": [ + "https://github.com/peter119lee/ComfyUI-BananaForge" + ], + "install_type": "git-clone", + "description": "Gemini-powered image generation for ComfyUI supporting text-to-image, image-to-image, and batch processing with flexible API configuration. (Description by CC)" + }, + { + "author": "petmycat", + "title": "ComfyUI-gen2", + "reference": "https://github.com/petmycat/ComfyUI-gen2", + "files": [ + "https://github.com/petmycat/ComfyUI-gen2" + ], + "install_type": "git-clone", + "description": "Custom ComfyUI nodes for QwenImage ControlNet achieving 100% output compatibility with VideoX-Fun's diffusers pipeline while leveraging ComfyUI's efficient model loading system." + }, + { + "author": "aligjahed", + "title": "comfy-flow", + "reference": "https://github.com/aligjahed/comfy-flow", + "files": [ + "https://github.com/aligjahed/comfy-flow" + ], + "install_type": "git-clone", + "description": "Comfy Flow - A flow manager for ComfyUI. (Description by CC)" + }, + { + "author": "harishcmgit", + "title": "comfyui_ds", + "reference": "https://github.com/harishcmgit/comfyui_ds", + "files": [ + "https://github.com/harishcmgit/comfyui_ds" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that implements advanced document scanning with automatic perspective correction and multiple enhancement options." + }, + { + "author": "errew", + "title": "ComfyUI-Wireless", + "reference": "https://github.com/errew/ComfyUI-Wireless", + "files": [ + "https://github.com/errew/ComfyUI-Wireless" + ], + "install_type": "git-clone", + "description": "A clean, lightweight ComfyUI plugin to transmit data wirelessly between nodes using a global key-value store." + }, + { + "author": "domprosys", + "title": "ComfyUI-LTXVideo-Extra", + "reference": "https://github.com/domprosys/ComfyUI-LTXVideo-Extra", + "files": [ + "https://github.com/domprosys/ComfyUI-LTXVideo-Extra" + ], + "install_type": "git-clone", + "description": "Extra nodes for LTX-2 video generation in ComfyUI." + }, + { + "author": "engineer6980", + "title": "ComfyUI-Image-Cipher", + "reference": "https://github.com/engineer6980/ComfyUI-Image-Cipher", + "files": [ + "https://github.com/engineer6980/ComfyUI-Image-Cipher" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for image privacy protection using RGB channel independent differential bit-shifting encryption. (Description by CC)" + }, + { + "author": "DanPli", + "title": "ComfyUI-Flux2LatentPresets", + "reference": "https://github.com/DanPli/ComfyUI-Flux2LatentPresets", + "files": [ + "https://github.com/DanPli/ComfyUI-Flux2LatentPresets" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that provides Flux 2–recommended resolution presets for quickly creating empty latents, without manually entering width and height values." + }, + { + "author": "pytraveler", + "title": "comfyui-darkil-nodes", + "reference": "https://github.com/pytraveler/comfyui-darkil-nodes", + "files": [ + "https://github.com/pytraveler/comfyui-darkil-nodes" + ], + "install_type": "git-clone", + "description": "Various custom nodes for improved usability." + }, + { + "author": "kadevin", + "title": "ComfyUI-Active-Node-Highlighter", + "reference": "https://github.com/kadevin/ComfyUI-Active-Node-Highlighter", + "files": [ + "https://github.com/kadevin/ComfyUI-Active-Node-Highlighter" + ], + "install_type": "git-clone", + "description": "A lightweight ComfyUI extension that highlights the currently executing node by inverting its colors." + }, + { + "author": "JamesDanielDoss", + "title": "JamesDossAI-EnhancedLinks", + "reference": "https://github.com/JamesDanielDoss/JamesDossAI-EnhancedLinks", + "files": [ + "https://github.com/JamesDanielDoss/JamesDossAI-EnhancedLinks" + ], + "install_type": "git-clone", + "description": "Simple animated arrows traveling along workflow links (input → output)" + }, + { + "author": "kreonxv", + "title": "ComfyUI-Infinity-Canvas", + "reference": "https://github.com/kreonxv/ComfyUI-Infinity-Canvas", + "files": [ + "https://github.com/kreonxv/ComfyUI-Infinity-Canvas" + ], + "install_type": "git-clone", + "description": "A powerful infinite canvas inpainting extension for ComfyUI inspired by InvokeAI Canvas and Painthua.com, enabling boundless painting and seamless iterative workflows." + }, + { + "author": "kreonxv", + "title": "ComfyUI-T2I_StyleApply", + "reference": "https://github.com/kreonxv/ComfyUI-T2I_StyleApply", + "files": [ + "https://github.com/kreonxv/ComfyUI-T2I_StyleApply" + ], + "install_type": "git-clone", + "description": "Simple node for ComfyUI that applies a text-to-image (T2I) style to an image or embedding with support for start/end frame control and a weight parameter." + }, + { + "author": "kreonxv", + "title": "ComfyUI-ForgeAPI", + "reference": "https://github.com/kreonxv/ComfyUI-ForgeAPI", + "files": [ + "https://github.com/kreonxv/ComfyUI-ForgeAPI" + ], + "install_type": "git-clone", + "description": "Lightweight custom nodes that integrate ComfyUI with ForgeUI-style samplers and provide convenient ControlNet and LoRA stack helpers." + }, + { + "author": "kreonxv", + "title": "ComfyUI-LoraControls", + "reference": "https://github.com/kreonxv/ComfyUI-LoraControls", + "files": [ + "https://github.com/kreonxv/ComfyUI-LoraControls" + ], + "install_type": "git-clone", + "description": "A set of ComfyUI custom nodes to control LoRA (Low-Rank Adaptation) strength programmatically during the sampling process." + }, + { + "author": "kreonxv", + "title": "ComfyUI-Whiteboard", + "reference": "https://github.com/kreonxv/ComfyUI-Whiteboard", + "files": [ + "https://github.com/kreonxv/ComfyUI-Whiteboard" + ], + "install_type": "git-clone", + "description": "A simple ComfyUI node that creates a white canvas for freehand drawing and automatically runs inference for sketch-to-image workflows." + }, + { + "author": "kreonxv", + "title": "ComfyUI-GroupBypasser", + "reference": "https://github.com/kreonxv/ComfyUI-GroupBypasser", + "files": [ + "https://github.com/kreonxv/ComfyUI-GroupBypasser" + ], + "install_type": "git-clone", + "description": "A small ComfyUI custom node that provides a lightweight bypass for grouped nodes." + }, + { + "author": "Shan2L", + "title": "ComfyUI-Simple-Profiler", + "reference": "https://github.com/Shan2L/ComfyUI-Simple-Profiler", + "files": [ + "https://github.com/Shan2L/ComfyUI-Simple-Profiler" + ], + "install_type": "git-clone", + "description": "A pure backend custom node/plugin for ComfyUI that records execution time for each node in a workflow and maximum device usage statistics." + }, + { + "author": "Malkalypse", + "title": "ComfyUI-MouseCoords", + "id": "mousecoords", + "reference": "https://github.com/Malkalypse/ComfyUI-MouseCoords", + "files": [ + "https://github.com/Malkalypse/ComfyUI-MouseCoords" + ], + "install_type": "git-clone", + "description": "Display real-time mouse coordinates in graph space. Shows the current mouse position in the top-right corner of the canvas, useful for positioning nodes precisely, debugging layouts, and measuring distances." + }, + { + "author": "luoq24", + "title": "ydem_nodes", + "reference": "https://github.com/luoq24/ydem_nodes", + "files": [ + "https://github.com/luoq24/ydem_nodes" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node collection including face direction detection, image processing, and example nodes. (Description by CC)" + }, + { + "author": "xufengbo1993", + "title": "ComfyUI-ZFL-JSON-Extractor", + "reference": "https://github.com/xufengbo1993/ComfyUI-ZFL-JSON-Extractor", + "files": [ + "https://github.com/xufengbo1993/ComfyUI-ZFL-JSON-Extractor" + ], + "install_type": "git-clone", + "description": "A powerful tool for AI dynamic comic creators and scriptwriters extracting up to 4 specific keys from JSON scripts." + }, + { + "author": "ohmygoobness", + "title": "ComfyUI-ImageResolutionFixer", + "reference": "https://github.com/ohmygoobness/ComfyUI-ImageResolutionFixer", + "files": [ + "https://github.com/ohmygoobness/ComfyUI-ImageResolutionFixer" + ], + "install_type": "git-clone", + "description": "A lightweight ComfyUI node that intelligently rounds image dimensions to compatible resolutions using smart reflection mirroring." + }, + { + "author": "AnastasiyaW", + "title": "ComfyUI-SmartScreenshotCleaner", + "reference": "https://github.com/AnastasiyaW/ComfyUI-SmartScreenshotCleaner", + "files": [ + "https://github.com/AnastasiyaW/ComfyUI-SmartScreenshotCleaner" + ], + "install_type": "git-clone", + "description": "Nodes for removing UI elements from screenshots by detecting and masking icons, buttons, and text. (Description by CC)" + }, + { + "author": "neurodanzelus-cmd", + "title": "ComfyUI-TeleStyle", + "reference": "https://github.com/neurodanzelus-cmd/ComfyUI-TeleStyle", + "files": [ + "https://github.com/neurodanzelus-cmd/ComfyUI-TeleStyle" + ], + "install_type": "git-clone", + "description": "An unofficial, streamlined, and highly optimized ComfyUI implementation of TeleStyle for video style transfer. (Description by CC)" + }, + { + "author": "Mexes1978", + "title": "comfyui-comfysketch", + "reference": "https://github.com/Mexes1978/comfyui-comfysketch", + "files": [ + "https://github.com/Mexes1978/comfyui-comfysketch" + ], + "install_type": "git-clone", + "description": "A drawing and sketching node for ComfyUI with layers, multiple brush types, and a focused, professional interface." + }, + { + "author": "franciscotorrado", + "title": "ComfyUI-Automation", + "reference": "https://github.com/franciscotorrado/ComfyUI-Automation", + "files": [ + "https://github.com/franciscotorrado/ComfyUI-Automation" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI designed to facilitate complex looping and iteration workflows, specialized in media batch processing." + }, + { + "author": "kana112233", + "title": "ComfyUI-kaola-ace-step", + "reference": "https://github.com/kana112233/ComfyUI-kaola-ace-step", + "files": [ + "https://github.com/kana112233/ComfyUI-kaola-ace-step" + ], + "install_type": "git-clone", + "description": "ACE-Step 1.5 music generation nodes for ComfyUI - Generate high-quality music from text" + }, + { + "author": "Devourer56", + "title": "ComfyUI-Impact-BIGdetector-BBOX-SEGS", + "reference": "https://github.com/Devourer56/ComfyUI-Impact-BIGdetector-BBOX-SEGS", + "files": [ + "https://github.com/Devourer56/ComfyUI-Impact-BIGdetector-BBOX-SEGS" + ], + "install_type": "git-clone", + "description": "A ComfyUI node implementing cascade object detection system (bbox/segm) using YOLO models with multi-stage processing. (Description by CC)" + }, + { + "author": "LDNKS094", + "title": "ComfyUI-Painter-I2V-AIO", + "reference": "https://github.com/LDNKS094/ComfyUI-Painter-I2V-AIO", + "files": [ + "https://github.com/LDNKS094/ComfyUI-Painter-I2V-AIO" + ], + "install_type": "git-clone", + "description": "All-in-One collection of Painter's ComfyUI nodes for video generation" + }, + { + "author": "cosmicbuffalo", + "title": "ComfyUI Mobile Frontend", + "id": "comfyui-mobile-frontend", + "reference": "https://github.com/cosmicbuffalo/comfyui-mobile-frontend", + "files": [ + "https://github.com/cosmicbuffalo/comfyui-mobile-frontend" + ], + "install_type": "git-clone", + "description": "A mobile-friendly user interface for ComfyUI mounted in parallel with the main frontend at /mobile/." + }, + { + "author": "DN2048", + "title": "dn_little_helpers", + "reference": "https://github.com/DN2048/dn_little_helpers", + "files": [ + "https://github.com/DN2048/dn_little_helpers" + ], + "install_type": "git-clone", + "description": "A collection of little custom nodes for ComfyUI to help in simple/specific tasks" + }, + { + "author": "zavatmotion", + "title": "ComfyUI Workflow Backup", + "reference": "https://github.com/zavatmotion/ComfyUI-Workflow-Backup", + "files": [ + "https://github.com/zavatmotion/ComfyUI-Workflow-Backup" + ], + "install_type": "git-clone", + "description": "A ComfyUI Custom Node to backup workflows and their required models locally." + }, + { + "author": "DVA", + "title": "DVA_Qwen_TTS", + "reference": "https://github.com/SLVGITHUB/QWEN3_TTS_DVA", + "files": [ + "https://github.com/SLVGITHUB/QWEN3_TTS_DVA" + ], + "install_type": "git-clone", + "description": "High-quality multilingual TTS with voice cloning, emotion control, and support for Qwen3-TTS models (CustomVoice, VoiceDesign, Base)." + }, + { + "author": "boredcoderyt", + "title": "Fibo Edit Node for ComfyUI", + "id": "fiboedit", + "reference": "https://github.com/boredcoderyt/ComfyUI-Fibo-Edit", + "files": [ + "https://github.com/boredcoderyt/ComfyUI-Fibo-Edit" + ], + "install_type": "git-clone", + "description": "ComfyUI custom node for BriaAI Fibo Edit image model." + }, + { + "author": "robomello", + "title": "ComfyUI Prompt Saver", + "id": "prompt-saver", + "reference": "https://github.com/robomello/comfyui-prompt-saver", + "files": [ + "https://github.com/robomello/comfyui-prompt-saver" + ], + "install_type": "git-clone", + "description": "Saves images with prompt reference cards - thumbnail + formatted prompt side-by-side with JSON syntax highlighting for easy browsing and organization." + }, + { + "author": "HappyOnigiri", + "title": "ComfyUI-Meld", + "reference": "https://github.com/HappyOnigiri/ComfyUI-Meld", + "files": [ + "https://github.com/HappyOnigiri/ComfyUI-Meld" + ], + "install_type": "git-clone", + "description": "The ultimate Image Manager & Gallery for ComfyUI. Automatically catalog generations, track lineage, and restore workflows with a single click." + }, + { + "author": "maartenharms", + "title": "FlowPath", + "id": "flowpath", + "reference": "https://github.com/maartenharms/comfyui-flowpath", + "files": [ + "https://github.com/maartenharms/comfyui-flowpath" + ], + "install_type": "git-clone", + "description": "Intelligent path organization for ComfyUI. Drag-drop segments, auto-detection (Model, LoRA, Resolution, Seed), template variables, global presets, dual outputs for Image Saver, and 7 beautiful themes. Say goodbye to messy output folders!" + }, + { + "author": "maartenharms", + "title": "PromptFlow", + "id": "promptflow", + "reference": "https://github.com/maartenharms/comfyui-promptflow", + "files": [ + "https://github.com/maartenharms/comfyui-promptflow" + ], + "install_type": "git-clone", + "description": "Modular prompt engineering with wildcards, variations preview, auto-sort, and presets. Two modes (Simple/Extended), LoRA Manager integration, and 7 themes shared with FlowPath." + }, + { + "author": "Moser9815", + "title": "ComfyUI-RMAutomation", + "id": "rmautomation", + "reference": "https://github.com/Moser9815/ComfyUI-RMAutomation", + "files": [ + "https://github.com/Moser9815/ComfyUI-RMAutomation" + ], + "install_type": "git-clone", + "description": "Automation nodes for ComfyUI: RM Styles (load prompts from JSON with random/increment modes), Power LoRA Loader (advanced LoRA loading with random weights), image fallback, mask gate, latent operations, and video combine nodes." + }, + { + "author": "dennisvink", + "title": "Outline Alpha Snap Node for ComfyUI", + "id": "outlinealphasnap", + "reference": "https://github.com/dennisvink/comfyui-outline", + "files": [ + "https://github.com/dennisvink/comfyui-outline" + ], + "install_type": "git-clone", + "description": "This node adds an outside-only outline around the opaque region of an image while cleaning up semi‑transparent edge pixels and removing stray islands." + }, + { + "author": "NineKey1028", + "title": "ComfyUI_Dynamic_TagLoader", + "reference": "https://github.com/NineKey1028/ComfyUI_Dynamic_TagLoader", + "files": [ + "https://github.com/NineKey1028/ComfyUI_Dynamic_TagLoader" + ], + "install_type": "git-clone", + "description": "Automation toolkit for ComfyUI featuring dynamic tag combinations, LoRA parsing, and workflow metadata reading." + }, + { + "author": "SWORKS_TEAM", + "title": "SEngine", + "id": "sengine", + "reference": "https://github.com/sworksteam/SEngine", + "files": [ + "https://github.com/sworksteam/SEngine" + ], + "install_type": "git-clone", + "description": "Sidebar browser for SWORKS_TEAM LoRAs from Civitai. Browse, download, and apply LoRAs with image previews and tag filtering." + }, + { + "author": "huchukato", + "title": "QwenVL-Mod: Enhanced Vision-Language", + "id": "qwenvl-mod", + "reference": "https://github.com/huchukato/ComfyUI-QwenVL-Mod", + "files": [ + "https://github.com/huchukato/ComfyUI-QwenVL-Mod" + ], + "install_type": "git-clone", + "description": "Enhanced QwenVL node with Smart Prompt Caching, multilingual WAN 2.2 presets, comprehensive visual style detection, and NSFW support. Latest v2.0.8 with bug fixes and stability improvements for professional multimodal workflows.", + "category": "image", + "tags": ["vision", "language", "multimodal", "qwen", "smart_caching", "prompt_caching", "multilingual", "style_detection", "performance", "wan2.2", "video", "i2v", "t2v", "cinematography", "abliterated", "nsfw", "enhanced", "fork", "stable"], + "version": "2.0.8" + }, + { + "author": "huchukato", + "title": "ComfyUI-TagComplete", + "id": "comfy-tagcomplete", + "reference": "https://github.com/huchukato/comfy-tagcomplete", + "files": [ + "https://github.com/huchukato/comfy-tagcomplete" + ], + "install_type": "git-clone", + "description": "Tag completion with a1111-sd-webui-tagcomplete style wildcard sub-selection, supporting CSV files and multiple wildcard sources. Features smart parsing, text overflow handling, and full compatibility with existing wildcard files. v2.0.0 with major wildcard workflow improvements.", + "category": "utility", + "tags": ["tag", "completion", "autocomplete", "wildcard", "csv", "suggestion", "sub-selection", "a1111", "danbooru", "e621", "prompt", "utility", "enhanced", "stable"], + "version": "2.0.0" + }, + { + "author": "kadima-tech", + "title": "ComfyUI-Draggen", + "reference": "https://github.com/kadima-tech/comfyui-draggen", + "files": [ + "https://github.com/kadima-tech/comfyui-draggen" + ], + "install_type": "git-clone", + "description": "Load and use your Draggen.io moodboards directly in ComfyUI." + }, + { + "author": "Night1099", + "title": "ComfyUI-PBRFusion4", + "id": "comfyui-pbrfusion4", + "reference": "https://github.com/Night1099/COMFYUI-PBRFusion4", + "files": [ + "https://github.com/Night1099/COMFYUI-PBRFusion4" + ], + "install_type": "git-clone", + "description": "PBR texture generation diffusion model nodes. Generate depth maps and normal maps from baked textures using PBRFusion4." + }, + { + "author": "TK3R", + "title": "ComfyUI TK3R Extensions", + "id": "comfyui_tk3r_ext", + "reference": "https://github.com/TK3R/ComfyUI_TK3R_Ext", + "files": [ + "https://github.com/TK3R/ComfyUI_TK3R_Ext" + ], + "install_type": "git-clone", + "description": "A few enhanced versions of vanilla nodes, mainly Qwen/ZImage controlnet nodes & scheduled CFG guider, and some utility nodes." + }, + { + "author": "Praveen", + "title": "Praveen's ComfyUI Tools", + "id": "praveentools", + "reference": "https://github.com/Praveenhalder/praveen-tools", + "files": [ + "https://github.com/Praveenhalder/praveen-tools" + ], + "install_type": "git-clone", + "description": "A comprehensive collection of 18+ utility nodes for ComfyUI including image list operations (split/merge), advanced tiling with seamless blending, brightness/contrast/saturation/RGB adjustments, diagonal watermarking, overlapping image processing, image tile processing and various workflow optimization tools. Perfect for high-resolution image processing, batch workflows, and color grading." + }, + { + "author": "jluo-github", + "title": "comfyui-auto-size", + "reference": "https://github.com/jluo-github/comfyui-auto-size", + "files": [ + "https://github.com/jluo-github/comfyui-auto-size" + ], + "install_type": "git-clone", + "description": "ComfyUI plugin providing auto-sized image and latent nodes with model-aligned resolutions." + }, + { + "author": "efuentesamin", + "title": "mewins_node_pack", + "reference": "https://github.com/efuentesamin/mewins_node_pack", + "files": [ + "https://github.com/efuentesamin/mewins_node_pack" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "ArtifyGames", + "title": "comfyui-artify", + "reference": "https://github.com/ArtifyGames/comfyui-artify", + "files": [ + "https://github.com/ArtifyGames/comfyui-artify" + ], + "install_type": "git-clone", + "description": "ComfyUI Artify custom nodes. Includes a robust image resize node with single-pass scale_by behavior and configurable divisible rounding." + }, + { + "author": "ace-step", + "title": "ACE-Step-ComfyUI", + "reference": "https://github.com/ace-step/ACE-Step-ComfyUI", + "files": [ + "https://github.com/ace-step/ACE-Step-ComfyUI" + ], + "install_type": "git-clone", + "description": "Official ComfyUI node for ACE-Step AI music generation via ACE-Step API" + }, + { + "author": "Arroz-11", + "title": "ComfyUI-Just-Nodes", + "reference": "https://github.com/Arroz-11/ComfyUI-Just-Nodes", + "files": [ + "https://github.com/Arroz-11/ComfyUI-Just-Nodes" + ], + "install_type": "git-clone", + "description": "Utility nodes for ComfyUI: Prompt Stack, Picker, Search & Replace, and Labeled Index." + }, + { + "author": "Arroz-11", + "title": "ComfyUI-Linear-Theme", + "reference": "https://github.com/Arroz-11/ComfyUI-Linear-Theme", + "files": [ + "https://github.com/Arroz-11/ComfyUI-Linear-Theme" + ], + "install_type": "git-clone", + "description": "Dark minimal theme for ComfyUI inspired by Linear, Vercel, and Raycast. Pure black aesthetic, zinc scale, dot grid background, and ghost/outline buttons." + }, + { + "author": "artokun", + "title": "ComfyUI-Photoreal-Prompt-Builder", + "reference": "https://github.com/artokun/ComfyUI-Photoreal-Prompt-Builder", + "files": [ + "https://github.com/artokun/ComfyUI-Photoreal-Prompt-Builder" + ], + "install_type": "git-clone", + "description": "Structured photorealistic prompt builder for FLUX Klein 9B in ComfyUI" + }, + { + "author": "artokun", + "title": "ComfyUI-Photoreal-Prompt-Builder-NSFW", + "reference": "https://github.com/artokun/ComfyUI-Photoreal-Prompt-Builder-NSFW", + "files": [ + "https://github.com/artokun/ComfyUI-Photoreal-Prompt-Builder-NSFW" + ], + "install_type": "git-clone", + "description": "Optional NSFW content expansion for ComfyUI-Photoreal-Prompt-Builder with explicit pose, action, and group action expansions." + }, + { + "author": "digital-divas-admin", + "title": "ComfyUI_DD_Nodes", + "reference": "https://github.com/digital-divas-admin/ComfyUI_DD_Nodes", + "files": [ + "https://github.com/digital-divas-admin/ComfyUI_DD_Nodes" + ], + "install_type": "git-clone", + "description": "Custom utility nodes for ComfyUI by Digital Divas." + }, + { + "author": "pavelchezcin", + "title": "pcvideomask", + "reference": "https://github.com/pavelchezcin/pcvideomask", + "files": [ + "https://github.com/pavelchezcin/pcvideomask" + ], + "install_type": "git-clone", + "description": "A collection of custom nodes for ComfyUI" + }, + { + "author": "AlbertJBurton", + "title": "comfyui-jbnodes", + "reference": "https://github.com/AlbertJBurton/comfyui-jbnodes", + "files": [ + "https://github.com/AlbertJBurton/comfyui-jbnodes" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes for creating images with the look and feel of various film stocks." + }, + { + "author": "RyanHolanda", + "title": "ComfyUI-AudioBridge", + "reference": "https://github.com/RyanHolanda/ComfyUI-AudioBridge", + "files": [ + "https://github.com/RyanHolanda/ComfyUI-AudioBridge" + ], + "install_type": "git-clone", + "description": "Bridges ComfyUI's native AUDIO type to raw audio tensors (VCAUDIOTENSOR) for MuseTalk, VoiceCraft, and more." + }, + { + "author": "luckdvr", + "title": "comfyui-image-annotator", + "reference": "https://github.com/luckdvr/comfyui-image-annotator", + "files": [ + "https://github.com/luckdvr/comfyui-image-annotator" + ], + "install_type": "git-clone", + "description": "A professional image annotation node for ComfyUI, featuring Point, Rectangle, and Polygon annotations with real-time rendering and WYSIWYG editing." + }, + { + "author": "tekijiyuu", + "title": "TenguPad", + "reference": "https://github.com/tekijiyuu/TenguPad", + "files": [ + "https://github.com/tekijiyuu/TenguPad" + ], + "install_type": "git-clone", + "description": "Resize and pad with color selection for ComfyUI" + }, + { + "author": "pongjoo", + "title": "ComfyUI-PJLatent", + "reference": "https://github.com/pongjoo/ComfyUI-PJLatent", + "files": [ + "https://github.com/pongjoo/ComfyUI-PJLatent" + ], + "install_type": "git-clone", + "description": "A simple ComfyUI custom node that generates empty latents based on aspect ratio and a user-defined longest side." + }, + { + "author": "evandcoleman", + "title": "comfyui-comparison-grid", + "reference": "https://github.com/evandcoleman/comfyui-comparison-grid", + "files": [ + "https://github.com/evandcoleman/comfyui-comparison-grid" + ], + "install_type": "git-clone", + "description": "A custom ComfyUI node that generates comparison grids in a single node." + }, + { + "author": "eastmoe", + "title": "ComfyUI-CMP-Extention", + "reference": "https://github.com/eastmoe/ComfyUI-CMP-Extention", + "files": [ + "https://github.com/eastmoe/ComfyUI-CMP-Extention" + ], + "install_type": "git-clone", + "description": "ComfyUI acceleration extension designed specifically for the 170HX GPU that enhances inference performance by optimizing specific operators based on academic research." + }, + { + "author": "AnonBOTpl", + "title": "ComfyUI Qwen Prompt Expander", + "reference": "https://github.com/AnonBOTpl/ComfyUI-Qwen-Prompt-Expander", + "files": [ + "https://github.com/AnonBOTpl/ComfyUI-Qwen-Prompt-Expander" + ], + "install_type": "git-clone", + "description": "Local AI prompt generator using Qwen/SmolLM2 models. 100% offline and private. Supports 4-bit/8-bit quantization. Runs on 6GB VRAM GPUs alongside Stable Diffusion. Smart token management, Polish-English translation, embedding support, OOM protection.", + "tags": [ + "prompt", + "AI", + "LLM", + "offline", + "translation", + "privacy" + ], + "nodename_pattern": "QwenOfflinePrompt" + }, + { + "author": "Terpentinas", + "title": "EasyLoRAMerger", + "reference": "https://github.com/Terpentinas/EasyLoRAMerger", + "files": [ + "https://github.com/Terpentinas/EasyLoRAMerger" + ], + "install_type": "git-clone", + "description": "A versatile LoRA merger for Flux (4B/9B/Dev), Z-Image, and SDXL. Features cross-architecture scaling, weight normalization, and live model baking." }, @@ -17896,51 +43429,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { "author": "Ser-Hilary", "title": "SDXL_sizing", @@ -18058,16 +43546,6 @@ "install_type": "copy", "description": "Advanced merging methods." }, - { - "author": "tudal", - "title": "Hakkun-ComfyUI-nodes", - "reference": "https://github.com/tudal/Hakkun-ComfyUI-nodes", - "files": [ - "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." - }, { "author": "SadaleNet", "title": "ComfyUI A1111-like Prompt Custom Node Solution", @@ -18221,17 +43699,6 @@ "install_type": "copy", "description": "Nodes:TextToSpeech, phy_3_conditioning, SaveAudioToDaVinci, SaveImageToDaVinci.\nNOTE:In order to use DaVinci node you must have DaVinci Resolve Studio connected to the API. For more information check the help seciton in DaVinci Resolve Studio HELP>DOCUMENTATION>DEVELOPER. It will open a folder, search for scripting and the for README.txt file, the API documentation." }, - { - "author": "Limbicnation", - "title": "ComfyUIDepthEstimation", - "reference": "https://github.com/Limbicnation/ComfyUIDepthEstimation", - "files": [ - "https://raw.githubusercontent.com/Limbicnation/ComfyUIDepthEstimation/main/depth_estimation_node.py" - ], - "pip": ["transformers"], - "install_type": "copy", - "description": "A custom depth estimation node for ComfyUI using transformer models. It integrates depth estimation with automatic gamma correction, contrast adjustment, and edge detection, based on the [a/TransformDepth](https://github.com/Limbicnation/TransformDepth) repository." - }, { "author": "seghier", "title": "ComfyUI_LibreTranslate", @@ -18262,16 +43729,6 @@ "install_type": "copy", "description": "This repository contains a custom node for ComfyUI that allows searching for a keyword in the first column of a CSV file and returning a value from a specified column in that row. The node is designed to be modular and fit within the node-based workflow of ComfyUI." }, - { - "author": "bobsblazed", - "title": "Bobs_Latent_Optimizer", - "reference": "https://github.com/BobsBlazed/Bobs_Latent_Optimizer", - "files": [ - "https://github.com/BobsBlazed/Bobs_Latent_Optimizer/raw/refs/heads/main/Bobs_Latent_Optimizer.py" - ], - "install_type": "copy", - "description": "This custom node for ComfyUI is designed to optimize latent generation for use with FLUX, SDXL and SD3. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs." - }, { "author": "SimonHeese", "title": "ComfyUI_AnimationNodes", @@ -18293,10 +43750,16 @@ "install_type": "copy", "description": "Extremely inspired and forked from: [a/https://github.com/klimaleksus/stable-diffusion-webui-embedding-merge](https://github.com/klimaleksus/stable-diffusion-webui-embedding-merge)" }, - - - - + { + "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." + }, { "author": "theally", "title": "TheAlly's Custom Nodes", @@ -18345,5 +43808,4 @@ "description": "This is a node to convert an image into a CMYK Halftone dot image." } ] - } diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..a5972752 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,41 @@ +# ComfyUI-Manager: Documentation + +This directory contains documentation for the ComfyUI-Manager, providing guides and tutorials for users in multiple languages. + +## Directory Structure + +The documentation is organized into language-specific directories: + +- **en/**: English documentation +- **ko/**: Korean documentation + +## Core Documentation Files + +### Command-Line Interface + +- **cm-cli.md**: Documentation for the ComfyUI-Manager Command Line Interface (CLI), which allows using manager functionality without the UI. + +### Advanced Features + +- **use_aria2.md**: Guide for using the aria2 download accelerator with ComfyUI-Manager for faster model downloads. + +## Documentation Standards + +The documentation follows these standards: + +1. **Markdown Format**: All documentation is written in Markdown for easy rendering on GitHub and other platforms +2. **Language-specific Directories**: Content is separated by language to facilitate localization +3. **Feature-focused Documentation**: Each major feature has its own documentation file +4. **Updated with Releases**: Documentation is kept in sync with software releases + +## Contributing to Documentation + +When contributing new documentation: + +1. Place files in the appropriate language directory +2. Use clear, concise language appropriate for the target audience +3. Include examples where helpful +4. Consider adding screenshots or diagrams for complex features +5. Maintain consistent formatting with existing documentation + +This documentation directory will continue to grow to support the expanding feature set of ComfyUI-Manager. \ No newline at end of file diff --git a/docs/en/cm-cli.md b/docs/en/cm-cli.md index e5158be8..e4b77a15 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 @@ -138,9 +139,9 @@ You can set whether to use ComfyUI-Manager solely via CLI. `restore-dependencies` * This command can be used if custom nodes are installed under the `ComfyUI/custom_nodes` path but their dependencies are not installed. -* It is useful when starting a new cloud instance, like colab, where dependencies need to be reinstalled and installation scripts re-executed. +* It is useful when starting a new cloud instance, like Colab, where dependencies need to be reinstalled and installation scripts re-executed. * It can also be utilized if ComfyUI is reinstalled and only the custom_nodes path has been backed up and restored. ### 7. Clear -In the GUI, installations, updates, or snapshot restorations are scheduled to execute the next time ComfyUI is launched. The `clear` command clears this scheduled state, ensuring no pre-execution actions are applied. \ No newline at end of file +In the GUI, installations, updates, or snapshot restorations are scheduled to execute the next time ComfyUI is launched. The `clear` command clears this scheduled state, ensuring no pre-execution actions are applied. diff --git a/docs/en/v3.38-userdata-security-migration.md b/docs/en/v3.38-userdata-security-migration.md new file mode 100644 index 00000000..324321d7 --- /dev/null +++ b/docs/en/v3.38-userdata-security-migration.md @@ -0,0 +1,230 @@ +# ComfyUI-Manager V3.38: Userdata Security Migration Guide + +## Introduction + +ComfyUI-Manager V3.38 introduces a **security patch** that migrates Manager's configuration and data to a protected system path. This change leverages ComfyUI's new System User Protection API (PR #10966) to provide enhanced security isolation. + +This guide explains what happens during the migration and how to handle various situations. + +--- + +## What Changed + +### Finding Your Paths + +When ComfyUI starts, it displays the full paths in the terminal: + +``` +** User directory: /path/to/ComfyUI/user +** ComfyUI-Manager config path: /path/to/ComfyUI/user/__manager/config.ini +``` + +Look for these lines in your startup log to find the exact location on your system. In this guide, paths are shown relative to the `user` directory. + +### Path Migration + +| Data | Legacy Path | New Path | +|------|-------------|----------| +| Configuration | `user/default/ComfyUI-Manager/` | `user/__manager/` | +| Snapshots | `user/default/ComfyUI-Manager/snapshots/` | `user/__manager/snapshots/` | + +### Why This Change + +In older ComfyUI versions, the `default/` directory was **unprotected** and accessible via web APIs. If you ran ComfyUI with `--listen 0.0.0.0` or similar options to allow external connections, this data **may have been tampered with** by malicious actors. + +**Note:** If you only used ComfyUI locally (without `--listen` or with `--listen 127.0.0.1`), your data was not exposed to this vulnerability. + +The new `__manager` path uses ComfyUI's protected system directory, which: +- **Cannot be accessed** from outside (protected by ComfyUI) +- Isolates system settings from user data +- Enables stricter security for remote access + +**This is why only `config.ini` is automatically migrated** - other files (snapshots) may have been compromised and should be manually verified before copying. + +--- + +## Automatic Migration + +When you start ComfyUI with the new System User Protection API, Manager automatically handles the migration: + +### Step 1: Configuration Migration + +Only `config.ini` is migrated automatically. + +**Important**: Snapshots are **NOT** automatically migrated. You must copy them manually if needed. + +### Step 2: Security Level Check + +During migration, if your security level is below `normal` (i.e., `weak` or `normal-`), it will be automatically raised to `normal`. This is a safety measure because the security level setting itself may have been tampered with in the old version. + +``` +====================================================================== +[ComfyUI-Manager] WARNING: Security level adjusted + - Previous: 'weak' → New: 'normal' + - Raised to prevent unauthorized remote access. +====================================================================== +``` + +If you need a lower security level, you can manually edit the config after migration. + +### Step 3: Legacy Backup + +Your entire legacy directory is moved to a backup location: +``` +user/__manager/.legacy-manager-backup/ +``` + +This backup is preserved until you manually delete it. + +--- + +## Persistent Backup Notification + +As long as the backup exists, Manager will remind you on **every startup**: + +``` +---------------------------------------------------------------------- +[ComfyUI-Manager] NOTICE: Legacy backup exists + - Your old Manager data was backed up to: + /path/to/ComfyUI/user/__manager/.legacy-manager-backup + - Please verify and remove it when no longer needed. +---------------------------------------------------------------------- +``` + +**To stop this notification**: Delete the `.legacy-manager-backup` folder inside `user/__manager/` after confirming you don't need any data from it. + +--- + +## Recovering Old Data + +### Snapshots + +If you need your old snapshots, copy the contents of `.legacy-manager-backup/snapshots/` to `user/__manager/snapshots/`. + +--- + +## Outdated ComfyUI Warning + +If you're running an older version of ComfyUI without the System User Protection API, Manager will: + +1. **Force security level to `strong`** - All installations are blocked +2. **Display warning message**: + +``` +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +[ComfyUI-Manager] ERROR: ComfyUI version is outdated! + - Most operations are blocked for security. + - ComfyUI update is still allowed. + - Please update ComfyUI to use Manager normally. +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +``` + +**Solution**: Update ComfyUI to v0.3.76 or later. + +--- + +## Security Levels + +| Level | What's Allowed | +|-------|----------------| +| `strong` | ComfyUI update only. All other installations blocked. | +| `normal` | Install/update/remove registered custom nodes and models. | +| `normal-` | Above + Install via Git URL or pip (localhost only). | +| `weak` | All operations allowed, including from remote connections. | + +**Notes:** +- `strong` is forced on outdated ComfyUI versions. +- `normal` is the default and recommended for most users. +- `normal-` is for developers who need to install unregistered nodes locally. +- `weak` should only be used in isolated development environments. + +### Changing Security Level + +Edit `user/__manager/config.ini`: +```ini +[default] +security_level = normal +``` + +--- + +## Error Messages + +### "comfyui_outdated" (HTTP 403) + +This error appears when: +- Your ComfyUI doesn't have the System User Protection API +- All installations are blocked until you update ComfyUI + +**Solution**: Update ComfyUI to the latest version. + +### "security_level" (HTTP 403) + +This error appears when: +- Your security level blocks the requested operation +- For example, `strong` level blocks all installations + +**Solution**: Lower your security level in config.ini if appropriate for your use case. + +--- + +## Security Warning: Suspicious Path + +If you see this error on an **older** ComfyUI: + +``` +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +[ComfyUI-Manager] ERROR: Suspicious path detected! + - '__manager' exists with low security level: 'weak' + - Please verify manually: + /path/to/ComfyUI/user/__manager/config.ini +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +``` + +On older ComfyUI versions, the `__manager` directory is not normally created. If this directory exists, it may have been created externally. For safety, manually verify the contents of this directory before updating ComfyUI. + +--- + +## Troubleshooting + +### All my installations are blocked + +**Check 1**: Is your ComfyUI updated? +- Old ComfyUI forces `security_level = strong` +- Update ComfyUI to resolve + +**Check 2**: What's your security level? +- Check `user/__manager/config.ini` +- `security_level = strong` blocks all installations + +### My snapshots are missing + +Snapshots are not automatically migrated. You need to manually copy the `snapshots` folder from inside `.legacy-manager-backup` to the `user/__manager/` directory. + +### I keep seeing the backup notification + +Delete the `.legacy-manager-backup` folder inside `user/__manager/` after confirming you don't need any data from it. + +### Snapshot restore is blocked + +On old ComfyUI (without System User API), snapshot restore is blocked because security is forced to `strong`. Update ComfyUI to enable snapshot restore. + +--- + +## File Structure Reference + +``` +user/ +└── __manager/ + ā”œā”€ā”€ config.ini # Manager configuration + ā”œā”€ā”€ channels.list # Custom node channels + ā”œā”€ā”€ snapshots/ # Environment snapshots + └── .legacy-manager-backup/ # Backup of old Manager data (temporary) +``` + +--- + +## Requirements + +- **ComfyUI**: v0.3.76 or later (with System User Protection API) +- **ComfyUI-Manager**: V3.38 or later diff --git a/docs/ko/cm-cli.md b/docs/ko/cm-cli.md index 33860f6b..0be8e89d 100644 --- a/docs/ko/cm-cli.md +++ b/docs/ko/cm-cli.md @@ -23,13 +23,13 @@ OPTIONS: ## How To Use? * `python cm-cli.py` 넼 ķ†µķ•“ģ„œ 실행 ģ‹œķ‚¬ 수 ģžˆģŠµė‹ˆė‹¤. * 예넼 들얓 custom node넼 모두 ģ—…ė°ģ“ķŠø ķ•˜ź³  싶다멓 - * ComfyUI-Manager경딜 ģ—ģ„œ `python cm-cli.py update all` 넼 command넼 실행할 수 ģžˆģŠµė‹ˆė‹¤. + * ComfyUI-Manager ź²½ė”œģ—ģ„œ `python cm-cli.py update all` ėŖ…ė ¹ģ„ 실행할 수 ģžˆģŠµė‹ˆė‹¤. * ComfyUI ź²½ė”œģ—ģ„œ ģ‹¤ķ–‰ķ•œė‹¤ė©“, `python custom_nodes/ComfyUI-Manager/cm-cli.py update all` 와 ź°™ģ“ cm-cli.py ģ˜ 경딜넼 지정할 ģˆ˜ė„ ģžˆģŠµė‹ˆė‹¤. ## Prerequisite * ComfyUI 넼 ģ‹¤ķ–‰ķ•˜ėŠ” pythonź³¼ ė™ģ¼ķ•œ python ķ™˜ź²½ģ—ģ„œ 실행핓야 ķ•©ė‹ˆė‹¤. * venv넼 ģ‚¬ģš©ķ•  경우 핓당 venv넼 activate ķ•œ ģƒķƒœģ—ģ„œ 실행핓야 ķ•©ė‹ˆė‹¤. - * portable ė²„ģ „ģ„ ģ‚¬ģš©ķ•  경우 run_nvidia_gpu.bat ķŒŒģ¼ģ“ ģžˆėŠ” ź²½ė”œģø 경우, ė‹¤ģŒź³¼ ź°™ģ€ ė°©ģ‹ģœ¼ė”œ ģ½”ė§Øė“œė„¼ 실행핓야 ķ•©ė‹ˆė‹¤. +* portable ė²„ģ „ģ„ ģ‚¬ģš©ķ•  경우 run_nvidia_gpu.bat ķŒŒģ¼ģ“ ģžˆėŠ” ź²½ė”œģø 경우, ė‹¤ģŒź³¼ ź°™ģ€ ė°©ģ‹ģœ¼ė”œ ėŖ…ė ¹ģ„ 실행핓야 ķ•©ė‹ˆė‹¤. `.\python_embeded\python.exe ComfyUI\custom_nodes\ComfyUI-Manager\cm-cli.py update all` * ComfyUI ģ˜ ź²½ė”œėŠ” COMFYUI_PATH ķ™˜ź²½ ė³€ģˆ˜ė”œ 설정할 수 ģžˆģŠµė‹ˆė‹¤. ė§Œģ•½ ģƒėžµķ•  경우 ė‹¤ģŒź³¼ ź°™ģ€ 경고 ė©”ģ‹œģ§€ź°€ ė‚˜ķƒ€ė‚˜ė©°, ComfyUI-Managerź°€ ģ„¤ģ¹˜ėœ 경딜넼 źø°ģ¤€ģœ¼ė”œ ģƒėŒ€ 경딜딜 ģ„¤ģ •ė©ė‹ˆė‹¤. ``` @@ -40,8 +40,8 @@ OPTIONS: ### 1. --channel, --mode * 정볓 볓기 기늄과 ģ»¤ģŠ¤ķ…€ ė…øė“œ ꓀리 źø°ėŠ„ģ˜ ź²½ģš°ėŠ” --channelź³¼ --mode넼 통핓 정볓 DB넼 설정할 수 ģžˆģŠµė‹ˆė‹¤. -* ģ˜ˆė“¤ 들얓 `python cm-cli.py update all --channel recent --mode remote`와 ź°™ģ€ command넼 실행할 경우, ķ˜„ģž¬ ComfyUI-Manager repo에 ė‚“ģž„ėœ ė”œģ»¬ģ˜ 정볓가 ģ•„ė‹Œ remoteģ˜ ģµœģ‹  정볓넼 źø°ģ¤€ģœ¼ė”œ ė™ģž‘ķ•˜ė©°, recent channel에 ģžˆėŠ” ėŖ©ė”ģ„ ėŒ€ģƒģœ¼ė”œė§Œ ė™ģž‘ķ•©ė‹ˆė‹¤. -* --channel, --mode ėŠ” `simple-show, show, install, uninstall, update, disable, enable, fix` commandģ—ģ„œė§Œ ģ‚¬ģš© ź°€ėŠ„ķ•©ė‹ˆė‹¤. +* 예넼 들얓 `python cm-cli.py update all --channel recent --mode remote`와 ź°™ģ€ ėŖ…ė ¹ģ„ 실행할 경우, ķ˜„ģž¬ ComfyUI-Manager repo에 ė‚“ģž„ėœ ė”œģ»¬ģ˜ 정볓가 ģ•„ė‹Œ remoteģ˜ ģµœģ‹  정볓넼 źø°ģ¤€ģœ¼ė”œ ė™ģž‘ķ•˜ė©°, recent channel에 ģžˆėŠ” ėŖ©ė”ģ„ ėŒ€ģƒģœ¼ė”œė§Œ ė™ģž‘ķ•©ė‹ˆė‹¤. +* --channel, --mode ėŠ” `simple-show, show, install, uninstall, update, disable, enable, fix` ėŖ…ė ¹ģ—ģ„œė§Œ ģ‚¬ģš© ź°€ėŠ„ķ•©ė‹ˆė‹¤. ### 2. ꓀리 정볓 볓기 @@ -51,7 +51,7 @@ OPTIONS: * `[show|simple-show]` - `show`ėŠ” ģƒģ„øķ•˜ź²Œ 정볓넼 볓여주며, `simple-show`ėŠ” ź°„ė‹Øķ•˜ź²Œ 정볓넼 ė³“ģ—¬ģ¤ė‹ˆė‹¤. -`python cm-cli.py show installed` 와 ź°™ģ€ ģ½”ė§Øė“œė„¼ ģ‹¤ķ–‰ķ•˜ė©“ ģ„¤ģ¹˜ėœ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ 정볓넼 ģƒģ„øķ•˜ź²Œ ė³“ģ—¬ģ¤ė‹ˆė‹¤. +`python cm-cli.py show installed` 와 ź°™ģ€ ėŖ…ė ¹ģ„ ģ‹¤ķ–‰ķ•˜ė©“ ģ„¤ģ¹˜ėœ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ 정볓넼 ģƒģ„øķ•˜ź²Œ ė³“ģ—¬ģ¤ė‹ˆė‹¤. ``` -= ComfyUI-Manager CLI (V2.24) =- @@ -67,7 +67,7 @@ FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main [ DISABLED ] ComfyUI-Loopchain (author: Fannovel16) ``` -`python cm-cli.py simple-show installed` 와 ź°™ģ€ ģ½”ė§Øė“œė„¼ ģ“ģš©ķ•“ģ„œ ģ„¤ģ¹˜ėœ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ 정볓넼 ź°„ė‹Øķ•˜ź²Œ ė³“ģ—¬ģ¤ė‹ˆė‹¤. +`python cm-cli.py simple-show installed` 와 ź°™ģ€ ėŖ…ė ¹ģ„ ģ“ģš©ķ•“ģ„œ ģ„¤ģ¹˜ėœ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ 정볓넼 ź°„ė‹Øķ•˜ź²Œ ė³“ģ—¬ģ¤ė‹ˆė‹¤. ``` -= ComfyUI-Manager CLI (V2.24) =- @@ -89,7 +89,7 @@ ComfyUI-Loopchain * `installed`: enable, disable 여부와 ģƒź“€ģ—†ģ“ ģ„¤ģ¹˜ėœ ėŖØė“  ė…øė“œė„¼ ė³“ģ—¬ģ¤ė‹ˆė‹¤ * `not-installed`: ģ„¤ģ¹˜ė˜ģ§€ ģ•Šģ€ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ ėŖ©ė”ģ„ ė³“ģ—¬ģ¤ė‹ˆė‹¤. * `all`: ėŖØė“  ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ ėŖ©ė”ģ„ ė³“ģ—¬ģ¤ė‹ˆė‹¤. - * `snapshot`: ķ˜„ģž¬ ģ„¤ģ¹˜ėœ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ snapshot 정볓넼 ė³“ģ—¬ģ¤ė‹ˆė‹¤. `show`딤 ķ†µķ•“ģ„œ ė³¼ ź²½ģš°ėŠ” json 출렄 ķ˜•ķƒœė”œ 볓여주며, `simple-show`넼 ķ†µķ•“ģ„œ ė³¼ ź²½ģš°ėŠ” ź°„ė‹Øķ•˜ź²Œ, 커밋 ķ•“ģ‹œģ™€ ķ•Øź»˜ ė³“ģ—¬ģ¤ė‹ˆė‹¤. + * `snapshot`: ķ˜„ģž¬ ģ„¤ģ¹˜ėœ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ snapshot 정볓넼 ė³“ģ—¬ģ¤ė‹ˆė‹¤. `show`넼 ķ†µķ•“ģ„œ ė³¼ ź²½ģš°ėŠ” json 출렄 ķ˜•ķƒœė”œ 볓여주며, `simple-show`넼 ķ†µķ•“ģ„œ ė³¼ ź²½ģš°ėŠ” ź°„ė‹Øķ•˜ź²Œ, 커밋 ķ•“ģ‹œģ™€ ķ•Øź»˜ ė³“ģ—¬ģ¤ė‹ˆė‹¤. * `snapshot-list`: ComfyUI-Manager/snapshots 에 ģ €ģž„ėœ snapshot ķŒŒģ¼ģ˜ ėŖ©ė”ģ„ ė³“ģ—¬ģ¤ė‹ˆė‹¤. ### 3. ģ»¤ģŠ¤ķ…€ ė…øė“œ ꓀리 ķ•˜źø° @@ -98,7 +98,7 @@ ComfyUI-Loopchain * `python cm-cli.py install ComfyUI-Impact-Pack ComfyUI-Inspire-Pack ComfyUI_experiments` 와 ź°™ģ“ ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ ģ“ė¦„ģ„ ė‚˜ģ—“ķ•“ģ„œ ꓀리 źø°ėŠ„ģ„ ģ ģš©ķ•  수 ģžˆģŠµė‹ˆė‹¤. * ģ»¤ģŠ¤ķ…€ ė…øė“œģ˜ ģ“ė¦„ģ€ `show`넼 ķ–ˆģ„ ė•Œ ė³“ģ—¬ģ£¼ėŠ” ģ“ė¦„ģ“ė©°, git repositoryģ˜ ģ“ė¦„ģž…ė‹ˆė‹¤. -(추후 nickname ģ„ ģ‚¬ģš©ź°€ėŠ„ķ•˜ėŒź³  ģ—…ė°ģ“ķŠø ķ•  ģ˜ˆģ •ģž…ė‹ˆė‹¤.) +(추후 nicknameģ„ ģ‚¬ģš© ź°€ėŠ„ķ•˜ė„ė” ģ—…ė°ģ“ķŠøķ•  ģ˜ˆģ •ģž…ė‹ˆė‹¤.) `[update|disable|enable|fix] all ?[--channel ] ?[--mode [remote|local|cache]]` @@ -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 @@ -132,7 +133,7 @@ ComfyUI-Manager넼 CLI딜만 ģ‚¬ģš©ķ•  ź²ƒģøģ§€ė„¼ 설정할 수 ģžˆģŠµė‹ˆė‹¤. `cli-only-mode [enable|disable]` * security ķ˜¹ģ€ policy ģ˜ ģ“ģœ ė”œ GUI 넼 ķ†µķ•œ ComfyUI-Manager ģ‚¬ģš©ģ„ ģ œķ•œķ•˜ź³  ģ‹¶ģ€ 경우 ģ“ ėŖØė“œė„¼ ģ‚¬ģš©ķ•  수 ģžˆģŠµė‹ˆė‹¤. - * CLI only mode넼 ģ ģš©ķ•  경우 ComfyUI-Manager ź°€ 매우 ģ œķ•œėœ 상태딜 ė”œė“œė˜ģ–“, ė‚“ė¶€ģ ģœ¼ė”œ ģ œź³µķ•˜ėŠ” web APIź°€ ė¹„ķ™œģ„±ķ™” 되며, ė©”ģø ė©”ė‰“ģ—ģ„œė„ Manager ė²„ķŠ¼ģ“ ķ‘œģ‹œė˜ģ§€ ģ•ŠģŠµė‹ˆė‹¤. + * CLI only mode넼 ģ ģš©ķ•  경우 ComfyUI-Manager ź°€ 매우 ģ œķ•œėœ 상태딜 ė”œė“œė˜ģ–“, ė‚“ė¶€ģ ģœ¼ė”œ ģ œź³µķ•˜ėŠ” web APIź°€ ė¹„ķ™œģ„±ķ™”ė˜ė©°, ė©”ģø ė©”ė‰“ģ—ģ„œė„ Manager ė²„ķŠ¼ģ“ ķ‘œģ‹œė˜ģ§€ ģ•ŠģŠµė‹ˆė‹¤. ### 6. ģ˜ģ”“ģ„± ģ„¤ģ¹˜ @@ -140,10 +141,10 @@ ComfyUI-Manager넼 CLI딜만 ģ‚¬ģš©ķ•  ź²ƒģøģ§€ė„¼ 설정할 수 ģžˆģŠµė‹ˆė‹¤. `restore-dependencies` * `ComfyUI/custom_nodes` ķ•˜ģœ„ ź²½ė”œģ— ģ»¤ģŠ¤ķ…€ ė…øė“œė“¤ģ“ ģ„¤ģ¹˜ė˜ģ–“ ģžˆźø“ ķ•˜ģ§€ė§Œ, ģ˜ģ”“ģ„±ģ“ ģ„¤ģ¹˜ė˜ģ§€ ģ•Šģ€ 경우 ģ‚¬ģš©ķ•  수 ģžˆģŠµė‹ˆė‹¤. -* colab ź³¼ ź°™ģ“ cloud instance넼 새딜 ģ‹œģž‘ķ•˜ėŠ” 경우 ģ˜ģ”“ģ„± ģž¬ģ„¤ģ¹˜ ė° ģ„¤ģ¹˜ ģŠ¤ķ¬ė¦½ķŠøź°€ ģž¬ģ‹¤ķ–‰ ė˜ģ–“ģ•¼ ķ•˜ėŠ” 경우 ģ‚¬ģš©ķ•©ė‹ˆė‹¤. -* ComfyUIģ„ ģž¬ģ„¤ģ¹˜ķ•  경우, custom_nodes 경딜만 ė°±ģ—…ķ–ˆė‹¤ź°€ ģž¬ģ„¤ģ¹˜ ķ•  경우 ķ™œģš© ź°€ėŠ„ķ•©ė‹ˆė‹¤. +* Colabź³¼ ź°™ģ“ cloud instance넼 새딜 ģ‹œģž‘ķ•˜ėŠ” 경우 ģ˜ģ”“ģ„± ģž¬ģ„¤ģ¹˜ ė° ģ„¤ģ¹˜ ģŠ¤ķ¬ė¦½ķŠøź°€ ģž¬ģ‹¤ķ–‰ė˜ģ–“ģ•¼ ķ•˜ėŠ” 경우 ģ‚¬ģš©ķ•©ė‹ˆė‹¤. +* ComfyUI넼 ģž¬ģ„¤ģ¹˜ķ•  경우, custom_nodes 경딜만 ė°±ģ—…ķ–ˆė‹¤ź°€ ģž¬ģ„¤ģ¹˜ķ•  경우 ķ™œģš© ź°€ėŠ„ķ•©ė‹ˆė‹¤. ### 7. clear -GUIģ—ģ„œ install, update넼 ķ•˜ź±°ė‚˜ snapshot ģ„ restoreķ•˜ėŠ” 경우 ģ˜ˆģ•½ģ„ ķ†µķ•“ģ„œ ė‹¤ģŒė²ˆ ComfyUI넼 실행할 경우 ģ‹¤ķ–‰ė˜ėŠ” źµ¬ģ”°ģž…ė‹ˆė‹¤. `clear` ėŠ” ģ“ėŸ° ģ˜ˆģ•½ 상태넼 clearķ•“ģ„œ, ģ•„ė¬“ėŸ° 사전 ģ‹¤ķ–‰ģ“ ģ ģš©ė˜ģ§€ ģ•Šė„ė” ķ•©ė‹ˆė‹¤. \ No newline at end of file +GUIģ—ģ„œ install, update넼 ķ•˜ź±°ė‚˜ snapshotģ„ restoreķ•˜ėŠ” 경우 ģ˜ˆģ•½ģ„ ķ†µķ•“ģ„œ ė‹¤ģŒė²ˆ ComfyUI넼 실행할 경우 ģ‹¤ķ–‰ė˜ėŠ” źµ¬ģ”°ģž…ė‹ˆė‹¤. `clear` ėŠ” ģ“ėŸ° ģ˜ˆģ•½ 상태넼 clearķ•“ģ„œ, ģ•„ė¬“ėŸ° 사전 ģ‹¤ķ–‰ģ“ ģ ģš©ė˜ģ§€ ģ•Šė„ė” ķ•©ė‹ˆė‹¤. diff --git a/extension-node-map.json b/extension-node-map.json index 9269817b..c61e55bd 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -9,6 +9,62 @@ "title_aux": "alkemann nodes" } ], + "https://git.mmaker.moe/mmaker/sd-webui-color-enhance": [ + [ + "MMakerColorBlend", + "MMakerColorEnhance" + ], + { + "title_aux": "mmaker/Color Enhance" + } + ], + "https://github.com/0nikod/ComfyUI-Metadata-Tools": [ + [ + "ImageGetMetadata", + "ImageSetMetadata", + "LoadImageWithMetadata", + "SaveImageWithMetadata" + ], + { + "title_aux": "ComfyUI-Metadata-Tools" + } + ], + "https://github.com/0nikod/ComfyUI-Simple-Prompt": [ + [ + "SimplePrompt" + ], + { + "title_aux": "ComfyUI-Simple-Prompt" + } + ], + "https://github.com/0x-jerry/comfyui-rembg": [ + [ + "Load Rembg Model", + "Rembg Remove background" + ], + { + "title_aux": "0x-jerry/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", @@ -20,6 +76,99 @@ "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-FireRedTTS": [ + [ + "FireRedTTS2MonologueNode", + "FireRedTTS2_Dialogue" + ], + { + "title_aux": "ComfyUI-FireRedTTS" + } + ], + "https://github.com/1038lab/ComfyUI-FlashVSR": [ + [ + "AILab_FlashVSR", + "AILab_FlashVSR_Advanced" + ], + { + "title_aux": "ComfyUI-FlashVSR" + } + ], + "https://github.com/1038lab/ComfyUI-JoyCaption": [ + [ + "CaptionSaver", + "ImageBatchPath", + "JC", + "JC_ExtraOptions", + "JC_GGUF", + "JC_GGUF_adv", + "JC_adv" + ], + { + "title_aux": "ComfyUI-JoyCaption" + } + ], + "https://github.com/1038lab/ComfyUI-LBM": [ + [ + "LBM_DepthNormal", + "LBM_Relighting" + ], + { + "title_aux": "ComfyUI-LBM" + } + ], + "https://github.com/1038lab/ComfyUI-MegaTTS": [ + [ + "MegaTTS3", + "MegaTTS3S", + "MegaTTS_VoiceMaker" + ], + { + "title_aux": "ComfyUI-MegaTTS" + } + ], + "https://github.com/1038lab/ComfyUI-MiniCPM": [ + [ + "AILab_MiniCPM_V", + "AILab_MiniCPM_V_Advanced", + "AILab_MiniCPM_V_GGUF", + "AILab_MiniCPM_V_GGUF_Advanced" + ], + { + "title_aux": "ComfyUI-MiniCPM" + } + ], + "https://github.com/1038lab/ComfyUI-MiniMax-Remover": [ + [ + "ImageSizeAdjuster", + "MinimaxImageRemover", + "MinimaxModelLoader", + "MinimaxVideoLoader", + "MinimaxVideoRemover" + ], + { + "title_aux": "ComfyUI-MiniMax-Remover" + } + ], + "https://github.com/1038lab/ComfyUI-Mosaic": [ + [ + "MosaicCreator", + "MosaicDetector" + ], + { + "title_aux": "ComfyUI-Mosaic" + } + ], "https://github.com/1038lab/ComfyUI-OmniGen": [ [ "ailab_OmniGen" @@ -28,14 +177,138 @@ "title_aux": "ComfyUI-OmniGen" } ], + "https://github.com/1038lab/ComfyUI-QwenASR": [ + [ + "AILab_Qwen3ASR", + "AILab_Qwen3ASRSubtitle" + ], + { + "title_aux": "ComfyUI-QwenASR" + } + ], + "https://github.com/1038lab/ComfyUI-QwenVL": [ + [ + "AILab_QwenVL", + "AILab_QwenVL_Advanced", + "AILab_QwenVL_GGUF", + "AILab_QwenVL_GGUF_Advanced", + "AILab_QwenVL_GGUF_PromptEnhancer", + "AILab_QwenVL_PromptEnhancer" + ], + { + "title_aux": "ComfyUI-QwenVL" + } + ], "https://github.com/1038lab/ComfyUI-RMBG": [ [ - "RMBG" + "AILab_ColorInput", + "AILab_ColorToMask", + "AILab_CropObject", + "AILab_Florence2", + "AILab_Florence2ToCoordinates", + "AILab_ICLoRAConcat", + "AILab_ImageCombiner", + "AILab_ImageCompare", + "AILab_ImageCrop", + "AILab_ImageMaskConvert", + "AILab_ImageMaskToList", + "AILab_ImagePreview", + "AILab_ImageResize", + "AILab_ImageStitch", + "AILab_ImageToList", + "AILab_LamaRemover", + "AILab_LoadImage", + "AILab_LoadImageAdvanced", + "AILab_LoadImageBatch", + "AILab_LoadImageSimple", + "AILab_MaskCombiner", + "AILab_MaskEnhancer", + "AILab_MaskExtractor", + "AILab_MaskOverlay", + "AILab_MaskPreview", + "AILab_MaskToList", + "AILab_Preview", + "AILab_ReferenceLatentMask", + "AILab_SDMatte", + "AILab_UnbatchImages", + "AILab_YoloV8", + "AILab_YoloV8Adv", + "BiRefNetRMBG", + "BodySegment", + "ClothesSegment", + "FaceSegment", + "FashionSegmentAccessories", + "FashionSegmentClothing", + "RMBG", + "SAM2Segment", + "SAM3Segment", + "Segment", + "SegmentV2" ], { "title_aux": "ComfyUI-RMBG" } ], + "https://github.com/1038lab/ComfyUI-ReduxFineTune": [ + [ + "ClipVisionStyleLoader", + "ReduxFineTune", + "ReduxFineTuneAdvanced" + ], + { + "title_aux": "ComfyUI-ReduxFineTune" + } + ], + "https://github.com/1038lab/ComfyUI-SparkTTS": [ + [ + "SparkTTS_AdvVoiceClone", + "SparkTTS_AudioRecorder", + "SparkTTS_VoiceClone", + "SparkTTS_VoiceCreator" + ], + { + "title_aux": "Comfyui-Spark-TTS" + } + ], + "https://github.com/1038lab/ComfyUI-VoxCPMTTS": [ + [ + "AILab_VoxCPMTTS", + "AILab_VoxCPMTTS_Advanced" + ], + { + "title_aux": "ComfyUI-VoxCPMTTS" + } + ], + "https://github.com/1038lab/ComfyUI-WildPromptor": [ + [ + "CustomListManager", + "KeywordPicker", + "PromptBuilder", + "PromptConcat", + "WildPromptor_AllInOne", + "WildPromptor_AllInOneList", + "WildPromptor_DataToPromptList", + "WildPromptor_Enhancer", + "WildPromptor_Generator", + "WildPromptor_Minicpm", + "WildPromptor_ShowPrompt", + "WildPromptor_TextInput" + ], + { + "title_aux": "ComfyUI-WildPromptor" + } + ], + "https://github.com/1038lab/ComfyUI-Youtu-VL": [ + [ + "AILab_YoutuVL", + "AILab_YoutuVL_Advanced", + "AILab_YoutuVL_GGUF", + "AILab_YoutuVL_GGUF_Advanced" + ], + { + "title_aux": "ComfyUI-Youtu-VL" + } + ], "https://github.com/111496583yzy/comfyui-PuzzleCrack-Effect": [ [ "MyJigsawPuzzleEffect", @@ -45,6 +318,14 @@ "title_aux": "Jigsaw Puzzle Effect Plugin" } ], + "https://github.com/11dogzi/CYBERPUNK-STYLE-DIY": [ + [ + "CYBERPUNKHT" + ], + { + "title_aux": "CYBERPUNK-STYLE-DIY" + } + ], "https://github.com/11dogzi/ComfUI-EGAdapterMadAssistant": [ [ "EGIPAdapter_Mad_Assistant", @@ -59,6 +340,14 @@ "title_aux": "ComfUI-EGAdapterMadAssistant" } ], + "https://github.com/11dogzi/Comfyui-HYPIR": [ + [ + "HYPIRAdvancedRestoration" + ], + { + "title_aux": "HYPIR ComfyUI Plugin" + } + ], "https://github.com/11dogzi/Comfyui-ergouzi-Nodes": [ [ "EG-YSZT-ZT", @@ -119,10 +408,12 @@ "ALLty", "EGRWGL", "EGRYDZQHNode", + "EGSEED", "GroupSwitchNode", "GroupSwitchNodee", "GroupSwitchNodeee", "GroupSwitchNodeeee", + "GroupSwitchNodi", "hulue", "jinyong" ], @@ -140,20 +431,133 @@ "title_aux": "Comfyui-ergouzi-samplers" } ], + "https://github.com/18yz153/ComfyUI-Persona-Director": [ + [ + "PersonaDirector", + "PersonaDirectorNode" + ], + { + "title_aux": "ComfyUI-Persona-Director" + } + ], + "https://github.com/1hew/ComfyUI-1hewNodes": [ + [ + "1hew_AnyEmptyBool", + "1hew_AnyEmptyInt", + "1hew_AnySwitchBool", + "1hew_AnySwitchInt", + "1hew_AudioDuration", + "1hew_DetectGuideLine", + "1hew_DetectYolo", + "1hew_GetFileCount", + "1hew_ImageAddLabel", + "1hew_ImageBBoxOverlayByMask", + "1hew_ImageBatchExtract", + "1hew_ImageBatchGroup", + "1hew_ImageBatchRange", + "1hew_ImageBatchSplit", + "1hew_ImageBatchToList", + "1hew_ImageBlendModeByAlpha", + "1hew_ImageBlendModeByCSS", + "1hew_ImageCropSquare", + "1hew_ImageCropWithBBoxMask", + "1hew_ImageEdgeCropPad", + "1hew_ImageEditStitch", + "1hew_ImageGridSplit", + "1hew_ImageHLFreqCombine", + "1hew_ImageHLFreqSeparate", + "1hew_ImageHLFreqTransform", + "1hew_ImageListAppend", + "1hew_ImageListToBatch", + "1hew_ImageMainStitch", + "1hew_ImageMaskBlend", + "1hew_ImageMaskCrop", + "1hew_ImagePasteByBBoxMask", + "1hew_ImagePingPong", + "1hew_ImagePlot", + "1hew_ImageResizeFluxKontext", + "1hew_ImageResizeJimeng", + "1hew_ImageResizeQwenImage", + "1hew_ImageResizeUniversal", + "1hew_ImageRotateWithMask", + "1hew_ImageSolid", + "1hew_ImageStrokeByMask", + "1hew_ImageTileMerge", + "1hew_ImageTileSplit", + "1hew_IntImageSideLength", + "1hew_IntImageSize", + "1hew_IntMaskSideLength", + "1hew_IntSplit", + "1hew_IntWan", + "1hew_ListCustomFloat", + "1hew_ListCustomInt", + "1hew_ListCustomSeed", + "1hew_ListCustomString", + "1hew_LoadImage", + "1hew_LoadVideo", + "1hew_LoadVideoToImage", + "1hew_MaskBatchMathOps", + "1hew_MaskBatchRange", + "1hew_MaskBatchSplit", + "1hew_MaskBatchToList", + "1hew_MaskCropByBBoxMask", + "1hew_MaskFillHole", + "1hew_MaskListToBatch", + "1hew_MaskMathOps", + "1hew_MaskPasteByBBoxMask", + "1hew_MaskRepeat", + "1hew_MaskToSam3Box", + "1hew_MatchBrightnessContrast", + "1hew_MultiImageBatch", + "1hew_MultiImageStitch", + "1hew_MultiMaskBatch", + "1hew_MultiStringJoin", + "1hew_RangeMapping", + "1hew_SaveImage", + "1hew_SaveVideo", + "1hew_SaveVideoByImage", + "1hew_StringCoordinateToBBoxMask", + "1hew_StringCoordinateToBBoxes", + "1hew_StringFilter", + "1hew_StringJoinMulti", + "1hew_TextCustomExtract", + "1hew_TextEncodeQwenImageEdit", + "1hew_TextListToString", + "1hew_TextPrefixSuffix", + "1hew_TextToAny", + "1hew_URLToVideo", + "1hew_VideoCutGroup", + "1hew_WorkflowName" + ], + { + "title_aux": "ComfyUI 1hewNodes" + } + ], "https://github.com/1mckw/Comfyui-Gelbooru": [ [ "Gelbooru (ID)", "Gelbooru (Random)", + "GelbooruID", + "GelbooruRandom", "UrlsToImage" ], { "title_aux": "Comfyui-Gelbooru" } ], + "https://github.com/1x1r/comfyui-upscale-by-model": [ + [ + "UpscaleImageByUsingModel" + ], + { + "title_aux": "comfyui-upscale-by-model" + } + ], "https://github.com/1zhangyy1/comfyui-vidu-nodes": [ [ "Character2Video", "Image2Video", + "StartEnd2Video", "Text2Video", "UpscaleVideo", "VideoDownloader" @@ -162,6 +566,34 @@ "title_aux": "ComfyUI VIDU" } ], + "https://github.com/2frames/ComfyUI-AQnodes": [ + [ + "AQ_BatchAverageImage", + "AQ_BlendImages", + "AQ_CLIPSetLastLayer", + "AQ_ColorMatchImage", + "AQ_Gemini", + "AQ_Gemini_acstep15", + "AQ_ImageMaskSwitch", + "AQ_Image_DetailTransfer", + "AQ_Image_Pad", + "AQ_Increment", + "AQ_LoadImageBase64", + "AQ_MasksAndImagesAsList", + "AQ_OpenAI_acstep15", + "AQ_Qwen", + "AQ_QwenLoader", + "AQ_Random", + "AQ_SaveImageWebpReturnBase64", + "AQ_SendImageToAPI", + "AQ_TextEncodeQwenImageEdit", + "AQ_TextEncodeQwenImageEditPlus", + "AQ_multiface_ApplyPulidFlux" + ], + { + "title_aux": "AQnodes for ComfyUI" + } + ], "https://github.com/2kpr/ComfyUI-PMRF": [ [ "PMRF" @@ -188,34 +620,41 @@ "title_aux": "ComfyUI MagicClip_Strength for SDXL" } ], - "https://github.com/42lux/ComfyUI-safety-checker": [ + "https://github.com/31702160136/ComfyUI-GrsAI": [ [ - "Safety Checker" + "GPTImage_ImageToImage", + "GPTImage_TextToImage", + "GrsaiFluxKontext_ImageToImage", + "GrsaiFluxKontext_MultiImageToImage", + "GrsaiFluxKontext_TextToImage", + "Grsai_NanoBanana" ], { - "title_aux": "ComfyUI-safety-checker" + "title_aux": "GrsAI api in ComfyUI" + } + ], + "https://github.com/3R3BOS/ComfyUI-3R3BOS-Pack": [ + [ + "Aspect Ratio Master (3R3BOS)", + "Batch Selector (3R3BOS)", + "Image Comparer (3R3BOS)" + ], + { + "title_aux": "ComfyUI-3R3BOS-Pack" + } + ], + "https://github.com/3dgopnik/comfyui-arena-suite": [ + [ + "Arena_MakeTilesSegs", + "\ud83c\udd70\ufe0f Arena AutoCache v6.1.2" + ], + { + "title_aux": "ComfyUI Arena Suite" } ], "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": [ [ - "GPT4VCaptioner", - "Image Load with Metadata", - "SAMIN String Attribute Selector", - "SANMIN Adapt Coordinates", - "SANMIN AdjustTransparency", - "SANMIN BlurMaskArea", - "SANMIN ChineseToCharacter", - "SANMIN ClothingWildcards", - "SANMIN ConvertToEnglish", - "SANMIN EditWildcards", - "SANMIN Float", - "SANMIN LoadPathImagesPreview", - "SANMIN SCALE AND FILL BLACK", - "SANMIN SanmiSaveImageToLocal", - "SANMIN SimpleWildcards", - "SANMIN Upscale And Original Size", - "Samin Counter", - "Samin Load Image Batch" + "GPT4VCaptioner" ], { "title_aux": "ComfyUI-GPT4V-Image-Captioner" @@ -224,7 +663,14 @@ "https://github.com/45uee/ComfyUI-Color_Transfer": [ [ "ColorPalette", - "PaletteTransfer" + "ColorTransferReinhard", + "ExtractPalette", + "PaletteOptimalTransportTransfer", + "PaletteRbfTransfer", + "PaletteTransfer", + "PaletteTransferReinhard", + "PalleteTransferClustering", + "PalletteSoftTransfer" ], { "title_aux": "ComfyUI-Color_Transfer" @@ -262,7 +708,42 @@ "title_aux": "ComfyUI-DareMerge" } ], - "https://github.com/5x00/ComfyUI-VLM_Captions": [ + "https://github.com/552023587/comfyui_character_selector": [ + [ + "CharacterSelector" + ], + { + "title_aux": "comfyui_character_selector" + } + ], + "https://github.com/5agado/ComfyUI-Sagado-Nodes": [ + [ + "SGD_Any_List_Selector", + "SGD_Any_Type_Switch", + "SGD_Call_Ollama", + "SGD_Film_Grain", + "SGD_Get_Llama_Cpp_Model", + "SGD_Get_Llm_Response", + "SGD_Get_Num_Frames", + "SGD_Get_Resolution", + "SGD_Image_Loader", + "SGD_Step_Every_N", + "SGD_String_Splitter", + "SGD_Video_Loader" + ], + { + "title_aux": "Sagado Nodes for ComfyUI" + } + ], + "https://github.com/5x00/ComfyUI-PiAPI-Faceswap": [ + [ + "Face Swapper" + ], + { + "title_aux": "ComfyUI-PiAPI-Faceswap" + } + ], + "https://github.com/5x00/ComfyUI-VLM-Captions": [ [ "Image To Caption" ], @@ -298,6 +779,19 @@ "title_aux": "Comflowy's Custom Nodes" } ], + "https://github.com/7BEII/comfyui-PD_comfy-api-node": [ + [ + "PDGeminiImageGenAPIKey", + "PDGeminiImageGenAuthToken", + "PDGeminiProImageGenAPIKey", + "PDGeminiProImageGenAuthToken", + "PDOpenAIGPTImageAPIKey", + "PDOpenAIGPTImageAuthToken" + ], + { + "title_aux": "comfyui-PD_comfy-api-node" + } + ], "https://github.com/807502278/ComfyUI-3D-MeshTool": [ [ "Auto_Normal", @@ -313,7 +807,6 @@ "RT-to-camposes", "Tensor_to_List", "UV_options", - "UnwrapUV_Auto_xatlas", "UnwrapUV_xatlas", "array-append", "array-attribute", @@ -327,22 +820,17 @@ "array-step-increment", "array-t", "array-to-camposes", - "cam-pos-bus", "get-tensor-shape", "img-bath-rotationZ", "img-to-tensor", "json-to-campos", - "mesh_data_bus", - "mesh_remap_cubvh", "ply_load", "ply_normalize", "ply_save", - "show_any", "string-to-array", "tensor-new", "tensor-shape", - "tensor-to-img", - "vc_to_texture" + "tensor-to-img" ], { "author": "807502278", @@ -354,26 +842,92 @@ ], "https://github.com/807502278/ComfyUI-WJNodes": [ [ - "AdvCrop", - "ComfyUIPath", - "ImageChannelBus", - "InvertChannelAdv", - "LoadImageAdv", - "LoadImageFromPath", - "MaskDetection", - "MergeImageList", - "PathAppend", - "PrimitiveNode", - "RGBABatchToImage", - "SaveImageOut", - "SaveImageToPath", - "SelectImagesBatch", - "SplitPath", - "ToImageListData", - "any_data", - "load_model_value", - "show_type", - "sort_images_batch" + "Accurate_mask_clipping", + "Any_Pipe", + "ApplyEasyOCR_batch", + "AudioDuration_wan", + "Audio_Batch_Edit", + "Audio_Crop_Batch", + "Audio_MergeBatch_To_Channel", + "Batch_Average", + "Bilateral_Filter", + "Color_Data_Break", + "Color_check_Name", + "ComfyUI_Path_Out", + "Composite_Application_pro", + "Composite_Basic", + "Composite_Batch", + "Composite_Canvas_adv", + "Composite_Coordinate", + "Composite_Global_adv", + "Composite_Mask", + "Composite_Merge_pro", + "Composite_Other", + "Composite_Scale", + "Cutting_video", + "Detecting_videos_mask", + "Determine_Type", + "Folder_Operations_CH", + "Graphics_Detection_Reference", + "ImageCompositeMask_Adv", + "ListMerger", + "Load_Image_Adv", + "Load_Image_From_Path", + "Mask_Detection", + "QwenImage_ratio", + "Random_Select_Prompt", + "Robust_Imager_Merge", + "Run_torchvision_model", + "Sam2AutoSegmentation_data", + "SaveMP4", + "SaveMP4_batch", + "Save_Image_Out", + "Save_Image_To_Path", + "SegmDetectorCombined_batch", + "SelectBatch_paragraph", + "Select_Batch_v2", + "Select_Images_Batch", + "Split_Path", + "Str_Append", + "Video_Fade", + "Video_MaskBasedSplit", + "Video_OverlappingSeparation_test", + "WAS_Mask_Fill_Region_batch", + "adv_crop", + "any_math", + "any_math_v2", + "audio_resample", + "audio_scale", + "bbox_restore_mask", + "color_segmentation", + "color_segmentation_v2", + "crop_by_bboxs", + "crop_data_CoordinateSmooth", + "crop_data_edit", + "del_file", + "filter_DensePose_color", + "get_image_data", + "get_image_ratio", + "image_math", + "image_math_value", + "image_scale_pixel_option", + "image_scale_pixel_v2", + "image_url_download", + "invert_channel_adv", + "load_ColorName_config", + "load_EasyOCR_model", + "load_color_config", + "load_torchvision_model", + "maskCompositeMask_Adv", + "mask_and_mask_math", + "mask_crop_option_Basic", + "mask_crop_option_SmoothCrop", + "mask_crop_square", + "mask_line_mapping", + "mask_select_mask", + "ratio_selector", + "run_yolo_bboxs", + "run_yolo_bboxs_v2" ], { "title_aux": "ComfyUI-WJNodes" @@ -411,6 +965,113 @@ "title_aux": "ComfyUI-Static-Primitives" } ], + "https://github.com/834t/ComfyUI_834t_scene_composer": [ + [ + "B34tSceneComposerNode" + ], + { + "title_aux": "Scene Composer for ComfyUI" + } + ], + "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/9nate-drake/ComfyUI-MaskCenter": [ + [ + "MaskSubMassDetector", + "MaskToCenterPoint" + ], + { + "title_aux": "ComfyUI Mask to Center Point Nodes" + } + ], + "https://github.com/9nate-drake/ComfyUI-PanoTools": [ + [ + "CameraCalibration", + "Perspective2Panorama" + ], + { + "title_aux": "ComfyUI-PanoTools" + } + ], + "https://github.com/9nate-drake/Comfyui-SecNodes": [ + [ + "CoordinatePlotter", + "SeCModelLoader", + "SeCVideoSegmentation" + ], + { + "title_aux": "Comfyui-SecNodes" + } + ], + "https://github.com/A043-studios/ComfyUI-ASDF-Pixel-Sort-Nodes": [ + [ + "PixelSortAdvancedNode", + "PixelSortNode" + ], + { + "title_aux": "ComfyUI ASDF Pixel Sort Nodes" + } + ], + "https://github.com/A043-studios/ComfyUI-OmniSVG": [ + [ + "OmniSVG Image to SVG", + "OmniSVG Model Loader", + "OmniSVG Text to SVG", + "SVG Saver", + "SVG to Image" + ], + { + "title_aux": "ComfyUI OmniSVG Nodes" + } + ], + "https://github.com/A043-studios/ComfyUI_HunyuanWorldnode": [ + [ + "HunyuanWorldHybridNode", + "HunyuanWorldImageTo3D", + "HunyuanWorldModelLoader", + "HunyuanWorldSimplifiedWrapper" + ], + { + "title_aux": "ComfyUI HunyuanWorld - Complete 3D Generation Suite" + } + ], + "https://github.com/A043-studios/Comfyui-ascii-generator": [ + [ + "ASCIIGeneratorNode" + ], + { + "title_aux": "ComfyUI ASCII Generator Node" + } + ], + "https://github.com/A043-studios/comfyui-pixel3dmm": [ + [ + "FLAMEOptimizer", + "FaceReconstructor3D", + "MeshExporter", + "NormalPredictor", + "Pixel3DMMLoader", + "UVPredictor" + ], + { + "title_aux": "Pixel3DMM ComfyUI Nodes" + } + ], "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": [ [ "AutoColorGimp" @@ -421,7 +1082,8 @@ ], "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE-Wrapper": [ [ - "PixelOE" + "PixelOE", + "PixelOETorch" ], { "title_aux": "ComfyUI-PixelOE-Wrapper" @@ -435,6 +1097,119 @@ "title_aux": "Image-vector-for-ComfyUI" } ], + "https://github.com/AEmotionStudio/ComfyUI-DiscordSend": [ + [ + "DiscordSendSaveImage", + "DiscordSendSaveVideo" + ], + { + "title_aux": "ComfyUI-DiscordSend" + } + ], + "https://github.com/AEmotionStudio/ComfyUI-ShaderNoiseKSampler": [ + [ + "AdvancedImageComparer", + "ShaderNoiseKSampler", + "ShaderNoiseKSamplerDirect", + "Video Comparer", + "VideoComparer" + ], + { + "title_aux": "ComfyUI-ShaderNoiseKSampler" + } + ], + "https://github.com/AHEKOT/ComfyUI_VNCCS": [ + [ + "CharacterAssetSelector", + "CharacterAssetSelectorQWEN", + "CharacterCreator", + "CharacterPreview", + "CharacterSheetCropper", + "DatasetGenerator", + "EmotionGenerator", + "EmotionGeneratorV2", + "SpriteGenerator", + "VNCCSChromaKey", + "VNCCSSamplerSchedulerPicker", + "VNCCSSheetExtractor", + "VNCCSSheetManager", + "VNCCS_ColorFix", + "VNCCS_Float", + "VNCCS_Integer", + "VNCCS_MaskExtractor", + "VNCCS_MultilineText", + "VNCCS_Pipe", + "VNCCS_PoseGenerator", + "VNCCS_PromptConcat", + "VNCCS_QWEN_Encoder", + "VNCCS_QuadSplitter", + "VNCCS_RMBG2", + "VNCCS_Resize", + "VNCCS_String" + ], + { + "title_aux": "VNCCS - Visual Novel Character Creation Suite" + } + ], + "https://github.com/AI-TEC/ComfyUI-AITECCAFE-Toolkit": [ + [ + "ChatGPTNode", + "CustomStringMerge", + "NSFWChecker", + "OpenAIImageModeration", + "SequentialImageLoader", + "SequentialMediaLoader" + ], + { + "title_aux": "ComfyUI_AITECCAFE_Toolkit" + } + ], + "https://github.com/AI2lab/comfyUI-siliconflow-api-2lab": [ + [ + "FreeChat", + "PaidChat" + ], + { + "title_aux": "comfyUI-siliconflow-api-2lab" + } + ], + "https://github.com/AIExplorer25/ComfyUI_AutoDownloadModels": [ + [ + "ALIMAMAFUNCONTROLWANModelsAutoDownload", + "AutoDownloadALLModels", + "AutoDownloadModels", + "AutoInstallRequirements_txt", + "GetModelsFromWorkflow", + "SetModelPath", + "ShowModelsAndFolderMappings", + "WANALMAMAModelsAutoDownload", + "WANModelsAutoDownload" + ], + { + "title_aux": "ComfyUI_AutoDownloadModels" + } + ], + "https://github.com/AIExplorer25/ComfyUI_ChatGptHelper": [ + [ + "ChatGptHelper" + ], + { + "title_aux": "ComfyUI_ChatGptHelper" + } + ], + "https://github.com/AIExplorer25/ComfyUI_ImageCaptioner": [ + [ + "CheckImageCaptionsData", + "ImageCaptioner", + "ImageCaptionerPostProcessing", + "Quen3Helper", + "Quen3HelperGGUF", + "SingleImageCaptioner" + ], + { + "title_aux": "ComfyUI_ImageCaptioner" + } + ], "https://github.com/AIFSH/AniTalker-ComfyUI": [ [ "AniTalkerNode", @@ -504,6 +1279,7 @@ "https://github.com/AIFSH/ComfyUI-Hallo": [ [ "HalloNode", + "LoadAudio", "LoadAudioPath", "LoadImagePath", "PreViewVideo" @@ -621,7 +1397,7 @@ ], "https://github.com/AIFSH/ComfyUI-WhisperX": [ [ - "LoadAudioPath", + "LoadAudioVideoPath", "PreViewSRT", "SRTToString", "WhisperX" @@ -897,6 +1673,16 @@ "title_aux": "ComfyUI_kkTranslator_nodes" } ], + "https://github.com/AIGODLIKE/Blender-IO": [ + [ + "BlenderInputs", + "BlenderOutputs", + "ComfyUIInputs" + ], + { + "title_aux": "Blender-IO" + } + ], "https://github.com/AIGODLIKE/ComfyUI-CUP": [ [ "Mask", @@ -912,8 +1698,8 @@ "OpenPoseMediaPipeFace", "PreviewAudio", "SaveAudioBL", + "SaveModel", "\u5b58\u50a8", - "\u5bfc\u5165", "\u622a\u56fe", "\u6750\u8d28\u56fe", "\u8f93\u5165\u56fe\u50cf", @@ -940,6 +1726,57 @@ "title_aux": "ComfyUI-APQNodes" } ], + "https://github.com/AIToldMeTo/comfyui-cache-cleaner": [ + [ + "CacheCleaner" + ], + { + "title_aux": "ComfyUI Cache Cleaner Node" + } + ], + "https://github.com/AIWarper/ComfyUI-DAViD": [ + [ + "DAViDDepthVisualizer", + "DAViDMultiTask", + "DAViDNormalToLight" + ], + { + "title_aux": "ComfyUI-DAViD" + } + ], + "https://github.com/AIWarper/ComfyUI-NormalCrafterWrapper": [ + [ + "DetailTransfer", + "NormalCrafterNode" + ], + { + "title_aux": "NormalCrafterWrapper" + } + ], + "https://github.com/AIWarper/ComfyUI-WarperNodes": [ + [ + "AspectRatioMatchToBase_Warper", + "AspectRatioMatchToStandardResolution_Warper", + "AspectRatioResolution_Warper", + "CombinePrompts_Warper", + "CropAndRestore_Warper", + "DWPoseScalerNode_Warper", + "FacialPartMaskFromPose_Warper", + "FlowVisualizerNode_Warper", + "GetBatchByIndex_Warper", + "LoadPromptsFromDirectory_Warper", + "LoadSinglePromptByIndex_Warper", + "MouthMaskFromPose_Warper", + "PreprocessForTarget_Warper", + "SmartOverlappingBatcher_Warper", + "SmartVideoBatcher_Warper", + "TextFileIteratorWithInfo_Warper", + "TextFileIterator_Warper" + ], + { + "title_aux": "ComfyUI Warper Nodes" + } + ], "https://github.com/AInseven/ComfyUI-fastblend": [ [ "FillDarkMask", @@ -970,6 +1807,44 @@ "title_aux": "One Button Prompt" } ], + "https://github.com/AJO-reading/ComfyUI-AjoNodes": [ + [ + "AJO_AudioCollectAndConcat", + "AJO_VfiSkipListCalculator" + ], + { + "title_aux": "ComfyUI-AjoNodes" + } + ], + "https://github.com/AJbeckliy/SynVow-Comfyui-Nanoapi": [ + [ + "SynVowNano2_I2I", + "SynVowNano2_T2I" + ], + { + "title_aux": "SynVow-Comfyui-Nanoapi" + } + ], + "https://github.com/AKharytonchyk/ComfyUI-telegram-bot-node": [ + [ + "SaveToTelegram", + "TelegramListener", + "author", + "description", + "files", + "install_type", + "keywords", + "license", + "name", + "nodename_pattern", + "pip", + "reference", + "version" + ], + { + "title_aux": "ComfyUI-telegram-bot-node" + } + ], "https://github.com/ALatentPlace/ComfyUI_yanc": [ [ "> Bloom", @@ -1002,6 +1877,7 @@ "> Rotate Image", "> Saturation", "> Save Image", + "> Save Text", "> Scale Image to Side", "> Scanlines", "> Sharpen", @@ -1018,6 +1894,24 @@ "title_aux": "ComfyUI_yanc" } ], + "https://github.com/ALatentPlace/YANC_LMStudio": [ + [ + "> LMStudio", + "> Select LMS Model" + ], + { + "title_aux": "YANC_LMStudio" + } + ], + "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" @@ -1028,23 +1922,108 @@ ], "https://github.com/APZmedia/ComfyUI-APZmedia-cleanName-from-string": [ [ + "APZmediaGenerateFilePath", + "APZmediaImageFilename", + "APZmediaReadWidget", "APZmediaStandardFilenameBuilder", - "CleanFileNameNode", - "GenerateFilePathNode" + "CleanFileNameNode" ], { - "title_aux": "APZmedia Clean Name" + "title_aux": "APZmedia Naming Tools" + } + ], + "https://github.com/APZmedia/ComfyUI-Dreamlight": [ + [ + "DreamLightNode" + ], + { + "title_aux": "ComfyUI DreamLight Node" + } + ], + "https://github.com/APZmedia/ComfyUI-color-tools": [ + [ + "AdvancedOcioColorTransform", + "BrightnessContrast", + "ColorBalance", + "ColorConverterAdvanced", + "ColorHarmony", + "ColorHistogram", + "ColorPalette", + "ColorProfileConvert", + "ColorProfileReader", + "ColorSimilarity", + "ColorSpaceAnalyzer", + "ColorSpaceConverter", + "ColorTemperature", + "DominantColors", + "GammaCompare", + "GammaCorrection", + "HueShift", + "LittleCMSColorProfileConverter", + "OCIOColorSpaceConverter", + "OCIOConfigInfo", + "QuickColorSpaceFix", + "Saturation", + "TestPatternGenerator", + "VectorScope" + ], + { + "title_aux": "ComfyUI Color Profile Reader" + } + ], + "https://github.com/APZmedia/Comfyui-LightDirection-estimation": [ + [ + "EnhancedLightEstimator", + "IREShadowAnalyzer", + "IREShadowComparison", + "LightDistributionAnalyzer", + "LightImageProcessor", + "NormalMapLightEstimator" + ], + { + "title_aux": "NormalMapLightEstimator" + } + ], + "https://github.com/ARM64-EC/ComfyUI-LongCatPlugin": [ + [ + "LoadLongCatModel", + "LongCatCLIPLoader", + "LongCatImageResizer", + "LongCatSampler", + "LongCatSizePicker", + "LongCatVAELoader", + "TextEncodeLongCatImage", + "TextEncodeLongCatImageEdit" + ], + { + "title_aux": "ComfyUI-LongCatPlugin" } ], "https://github.com/ARZUMATA/ComfyUI-ARZUMATA": [ [ + "CachingCLIPTextEncode", + "CachingCLIPTextEncodeFlux", "CachingCLIPTextEncodeFlux|ARZUMATA", - "CachingCLIPTextEncode|ARZUMATA" + "CachingCLIPTextEncode|ARZUMATA", + "ImageCacher", + "ImageLoaderWithPath|ARZUMATA", + "JDC_ImageLoader", + "Sampler Selector|ARZUMATA", + "Scheduler Selector|ARZUMATA", + "UniversalDeviceOverride" ], { "title_aux": "ComfyUI-ARZUMATA" } ], + "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-PixelIt": [ + [ + "PixelIt" + ], + { + "title_aux": "ComfyUI-ARZUMATA-PixelIt" + } + ], "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-Qwen2": [ [ "Image2Base64", @@ -1055,6 +2034,25 @@ "title_aux": "ComfyUI-Qwen2" } ], + "https://github.com/Aaalice233/ComfyUI-Danbooru-Gallery": [ + [ + "CharacterFeatureSwapNode", + "GlobalTextCacheGet", + "GroupExecutorManager", + "GroupExecutorTrigger", + "GroupIsEnabled", + "GroupMuteManager", + "ImageCacheGet", + "MultiCharacterEditorNode", + "PromptCleaningMaid", + "PromptSelector", + "ResolutionMasterSimplify", + "SimpleImageCompare" + ], + { + "title_aux": "ComfyUI-Danbooru-Gallery" + } + ], "https://github.com/Aaron-CHM/ComfyUI-z-a1111-sd-webui-DanTagGen": [ [ "DanTagGen" @@ -1081,6 +2079,16 @@ "title_aux": "Comfy-Photoshop-SD" } ], + "https://github.com/AbstractEyes/comfyui-lycoris": [ + [ + "ABS_ConcatPrompts", + "ABS_PromptNode", + "LycorisLoaderNode" + ], + { + "title_aux": "comfyui-lycoris" + } + ], "https://github.com/AbyssBadger0/ComfyUI_BadgerTools": [ [ "ApplyMaskToImage-badger", @@ -1136,9 +2144,25 @@ "title_aux": "Kolors Awesome Prompts" } ], + "https://github.com/AcademiaSD/comfyui_AcademiaSD": [ + [ + "AcademiaSD_BatchLoader", + "AcademiaSD_Gemini_Node", + "AcademiaSD_SaveCaption", + "IntegerBypasser", + "LoopCounterToFile", + "PaddedFileName", + "PromptBatchSelector", + "ResetCounterFile" + ], + { + "title_aux": "comfyui_AcademiaSD" + } + ], "https://github.com/Acly/comfyui-inpaint-nodes": [ [ "INPAINT_ApplyFooocusInpaint", + "INPAINT_ColorMatch", "INPAINT_DenoiseToCompositingMask", "INPAINT_ExpandMask", "INPAINT_InpaintWithModel", @@ -1146,6 +2170,8 @@ "INPAINT_LoadInpaintModel", "INPAINT_MaskedBlur", "INPAINT_MaskedFill", + "INPAINT_ShrinkMask", + "INPAINT_StabilizeMask", "INPAINT_VAEEncodeInpaintConditioning" ], { @@ -1158,7 +2184,6 @@ "ETN_ApplyReferenceImages", "ETN_AttentionMask", "ETN_BackgroundRegion", - "ETN_CropImage", "ETN_DefineRegion", "ETN_ExtractImageTile", "ETN_ExtractMaskTile", @@ -1170,13 +2195,16 @@ "ETN_KritaSelection", "ETN_KritaSendText", "ETN_KritaStyle", + "ETN_KritaStyleAndPrompt", "ETN_ListRegionMasks", "ETN_LoadImageBase64", + "ETN_LoadImageCache", "ETN_LoadMaskBase64", "ETN_MergeImageTile", "ETN_NSFWFilter", "ETN_Parameter", "ETN_ReferenceImage", + "ETN_SaveImageCache", "ETN_SendImageWebSocket", "ETN_TileLayout", "ETN_Translate" @@ -1185,42 +2213,151 @@ "title_aux": "ComfyUI Nodes for External Tooling" } ], + "https://github.com/AconexOfficial/ComfyUI_GOAT_Nodes": [ + [ + "Advanced_Color_Correction", + "Advanced_Latent_Noise", + "Advanced_Sharpen", + "Advanced_Upscale_Image_Using_Model", + "Capped_Float_Positive", + "Capped_Int_Positive", + "Embedding_Selector", + "Fast_Color_Match", + "Fast_Film_Grain", + "Get_Side_Length_Of_Image", + "Image_Crop", + "Image_Dimensions", + "Image_Stitch", + "Image_Tiler", + "Image_Untiler", + "Int_Divide_Rounded", + "SamplerTiledContextAdvanced", + "Sampler_Settings", + "Smart_Seed", + "Triple_Prompt" + ], + { + "title_aux": "ComfyUI GOAT Nodes" + } + ], + "https://github.com/Ada123-a/ComfyUI-Kandinsky": [ + [ + "EmptyKandinskyV5_Latent", + "KandinskyV5_ImageToVideoLatent", + "KandinskyV5_Loader", + "KandinskyV5_PruneFrames", + "KandinskyV5_QwenLoader", + "KandinskyV5_Sampler", + "KandinskyV5_TextEncode", + "KandinskyV5_VAEDecode", + "KandinskyV5_VAELoader" + ], + { + "title_aux": "ComfyUI-Kandinsky" + } + ], + "https://github.com/AdamShuo/ComfyUI_Switch": [ + [ + "SwitchAny" + ], + { + "title_aux": "ComfyUI Switch Any Node" + } + ], + "https://github.com/Aero-Ex/ComfyUI-Vision-LLM-Analyzer": [ + [ + "VisionLLMNode" + ], + { + "title_aux": "ComfyUI Vision LLM Analyzer Node" + } + ], "https://github.com/Aerse/ComfyUI-Seed-Nodes": [ [ "Seed-Nodes: ImagePixelator", + "Seed-Nodes: ImageTo3D", + "Seed-Nodes: ImageTransparencyCrop", "Seed-Nodes: LoadImage", "Seed-Nodes: LoadMultipleImages", - "Seed-Nodes: SLICPixelator" + "Seed-Nodes: QwenVLAPI", + "Seed-Nodes: SLICPixelator", + "Seed-Nodes: ScreenModeRemoveBlack", + "Seed-Nodes: SeedSaveAudio", + "Seed-Nodes: SiliconFlowVLAPI" ], { "title_aux": "ComfyUI-Seed-Nodes" } ], - "https://github.com/AhBumm/ComfyUI_BillBum_Nodes": [ + "https://github.com/AgencyMind/ComfyUI-GPU-Preprocessor-Wrapper": [ + [ + "CannyEdgePreprocessorWrapper", + "DWPreprocessorWrapper", + "DepthAnythingV2Wrapper", + "MidasDepthMapWrapper", + "OpenposePreprocessorWrapper" + ], + { + "title_aux": "ComfyUI-GPU-Preprocessor-Wrapper" + } + ], + "https://github.com/AgencyMind/ComfyUI-Satori": [ + [ + "TemporalInvestigator", + "WhyDidItBreak" + ], + { + "title_aux": "ComfyUI-Satori" + } + ], + "https://github.com/AhBumm/ComfyUI_BillBum_APIset_Nodes": [ [ - "BillBum_Modified_Base64_Url2Data_Node", "BillBum_Modified_Base64_Url2Img_Node", "BillBum_Modified_Dalle_API_Node", "BillBum_Modified_DropoutToken_Node", - "BillBum_Modified_Flux_API_Node", - "BillBum_Modified_ImageSplit_Node", + "BillBum_Modified_Flux_API_with_imgInput", + "BillBum_Modified_GPTImage1_API_Node", + "BillBum_Modified_Ideogram_API_Node", "BillBum_Modified_Image_API_Call_Node", "BillBum_Modified_LLM_API_Node", + "BillBum_Modified_LLM_ForceStream_Mode", "BillBum_Modified_Recraft_API_Node", "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" + "Text_Concat", + "billbum_modified_stream_response_llm_api", + "doubao_seedance_api_node", + "doubao_seedream_api_node", + "hyprlab_image_api_node", + "load_video_from_url", + "load_video_from_url_comfy_core", + "reg_tuzi_chat_response", + "url2image" ], { "nodename_pattern": "\\(BillBum\\)$", "title_aux": "Customizable API Call Nodes by BillBum" } ], + "https://github.com/AhBumm/ComfyUI_UnfakePy_Warpper": [ + [ + "ForceDetectPixelateScale", + "ImageScaleDownByFactor", + "ImageUpscaleByInt", + "ImagesToRGB", + "NearestImageScaleDown", + "PixelUpscale2Target", + "RemoveBackgroundPixel", + "Unfake_PixelateTools" + ], + { + "title_aux": "ComfyUI_UnfakePy_Warpper" + } + ], "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes": [ [ "Add Tag", @@ -1235,38 +2372,238 @@ "title_aux": "ComfyUI-Aimidi-nodes" } ], + "https://github.com/Aishor/comfyui-meta-sampler-guiado": [ + [ + "MetaSamplerGuiado" + ], + { + "title_aux": "Meta-Sampler Guiado (Seed-WAN)" + } + ], "https://github.com/AkashKarnatak/ComfyUI_faishme": [ [ "Faishme Debug", + "Faishme Gemini", + "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 Split", + "Faishme Stack Images", + "Faishme Stack Latents", + "Faishme Unstack Images", + "Faishme Unstack Latents", "Load Fashion Model" ], { "title_aux": "ComfyUI_faishme" } ], - "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": [ + "https://github.com/Akkisdiary/ComfyUI-AnyLLM": [ [ - "ArgosTranslateCLIPTextEncodeNode", - "ArgosTranslateTextNode", - "ChatGLM4InstructMediaNode", - "ChatGLM4InstructNode", - "ChatGLM4TranslateCLIPTextEncodeNode", - "ChatGLM4TranslateTextNode", - "ColorsCorrectNode", - "DeepTranslatorCLIPTextEncodeNode", - "DeepTranslatorTextNode", - "GoogleTranslateCLIPTextEncodeNode", - "GoogleTranslateTextNode", - "HexToHueNode", - "IDENode", - "PainterNode", - "PoseNode", - "PreviewTextNode" + "AnyLLMVisionChat", + "GetEnvVar", + "GoogleGemini" ], { - "title_aux": "AlekPet/ComfyUI_Custom_Nodes_AlekPet" + "title_aux": "ComfyUI-AnyLLM" + } + ], + "https://github.com/Aksaz/comfyui-seamless-clone": [ + [ + "Seamless Clone" + ], + { + "title_aux": "seamless-clone-comfyui" + } + ], + "https://github.com/AlbertJBurton/comfyui-jbnodes": [ + [ + "SpectralLab", + "SpectralLabCustom" + ], + { + "title_aux": "comfyui-jbnodes" + } + ], + "https://github.com/AlcAI-AnimeHaven/AlcAI-nodes": [ + [ + "RandomResSDXL" + ], + { + "title_aux": "AlcAI Nodes for ComfyUI" + } + ], + "https://github.com/Alectriciti/comfyui-adaptiveprompts": [ + [ + "NormalizeLoraTags", + "PromptAliasSwap", + "PromptCleanup", + "PromptContextMerge", + "PromptGenerator", + "PromptGeneratorAdvanced", + "PromptMixer", + "PromptRepack", + "PromptReplace", + "PromptSequencer", + "PromptShuffle", + "PromptShuffleAdvanced", + "PromptSplitter", + "RandomFloats", + "RandomIntegers", + "SaveImageAndText", + "ScaledSeedGenerator", + "StringAppend3", + "StringAppend8", + "StringSplit", + "TagCounter", + "WeightLifter" + ], + { + "title_aux": "comfyui-adaptiveprompts" + } + ], + "https://github.com/AlexXia007/AIYang_TripleAPI": [ + [ + "NanoBananaGenerate", + "TripleAPIGenerate" + ], + { + "title_aux": "AIYang_TripleAPI" + } + ], + "https://github.com/Alexankharin/camera-comfyUI": [ + [ + "CameraInterpolationNode", + "CameraMotionNode", + "CameraTrajectoryNode", + "CombineDepthsNode", + "DepthEstimatorNode", + "DepthFramesToVideo", + "DepthRenormalizer", + "DepthToImageNode", + "DepthToPointCloud", + "FisheyeDepthEstimator", + "LoadPointCloud", + "LoadTrajectory", + "OutpaintAnyProjection", + "PointCloudCleaner", + "PointCloudUnion", + "PointcloudTrajectoryEnricher", + "ProjectAndClean", + "ProjectPointCloud", + "ReprojectDepth", + "ReprojectImage", + "SavePointCloud", + "SaveTrajectory", + "TransformPointCloud", + "TransformToMatrix", + "TransformToMatrixManual", + "VideoCameraMotionSequence", + "VideoMetricDepthEstimate", + "ZDepthToRayDepthNode" + ], + { + "title_aux": "camera-comfyUI" + } + ], + "https://github.com/Aljnk/ComfyUI-JNK-Tiny-Nodes": [ + [ + "Add Layer Overlay JNK", + "AddLayerOverlay_JNK", + "AlphaImageNode_JNK", + "Ask Google Gemini JNK", + "AskGoogleGemini_JNK", + "Bridge All JNK", + "BridgeAll_JNK", + "Create Folder JNK", + "Create RGBA Image JNK", + "CreateFolder_JNK", + "Get All Alpha Layers JNK", + "Get Gemini Keys JNK", + "Get Gemini Models JNK", + "Get Models JNK", + "Get One Alpha Layer JNK", + "Get Substring JNK", + "Get Text From List by Index JNK", + "Get Timestamp JNK", + "GetAllAlphaLayers_JNK", + "GetAlphaLayers_JNK", + "GetGeminiKeys_JNK", + "GetGeminiModels_JNK", + "GetModels_JNK", + "GetSubstring_JNK", + "GetTextFromList_JNK", + "GetTimestamp_JNK", + "Image Filter Loader JNK", + "ImageFilterLoader_JNK", + "Join Strings JNK", + "JoinStrings_JNK", + "Load Checkpoint Model with Name JNK", + "Load Image if Exist JNK", + "Load LoRA with Name JNK", + "Load UNet Model with Name JNK", + "LoadImageWithCheck_JNK", + "LoadLoRAName_JNK", + "LoadModelName_Chpt_JNK", + "LoadModelName_Diff_JNK", + "LoadModelName_Unet_JNK", + "Model2Key_JNK", + "Prepare Image for AI JNK", + "PrepareImageForAI_JNK", + "Queue Stop JNK", + "QueueStop_JNK", + "Save Frame JNK", + "Save Static Image JNK", + "Save Video Images JNK", + "SaveFrame_JNK", + "SaveStaticImage_JNK", + "SaveVideoImages_JNK", + "Split String JNK", + "SplitString_JNK", + "Stroke RGBA Image JNK", + "StrokeImage_JNK", + "Switch Index JNK", + "Switch Integer JNK", + "SwitchIdx_JNK", + "SwitchInt_JNK", + "Text Saver JNK", + "Text to Key JNK", + "Text to MD5 JNK", + "Text2MD5_JNK", + "TextSaver_JNK", + "ToonOut Remove BG JNK", + "ToonOutRemoveBG_JNK", + "Topaz Photo Upscaler (Autopilot) JNK", + "TopazPhotoAI_JNK" + ], + { + "title_aux": "ComfyUI-JNK-Tiny-Nodes" + } + ], + "https://github.com/Aloukik21/ComfyUI-NovaNoiser": [ + [ + "CameraOptionsNode", + "NSOptionsNode", + "NovaNodes" + ], + { + "title_aux": "ComfyUI-NovaNoiser" + } + ], + "https://github.com/Altair200333/ComfyUI_Flux_1.1_PRO": [ + [ + "FluxGenerate", + "FluxProInpaint", + "FluxProOutpaint" + ], + { + "title_aux": "Flux Pro Nodes for ComfyUI" } ], "https://github.com/Alvaroeai/ComfyUI-Text2Json": [ @@ -1277,11 +2614,93 @@ "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": [ + [ + "BLEND LINEAR (JOV_GL)", + "BLOOM (JOV_GL)", + "CIRCULAR GRADIENT (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)", + "LINEAR GRADIENT (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)", + "SHAPE: CAPSULE (JOV_GL)", + "SHAPE: ELLIPSE (JOV_GL)", + "SHAPE: POLYGON (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_SPOUT)", + "SPOUT WRITER (JOV_SPOUT)" + ], + { + "title_aux": "Jovi_Spout" + } + ], "https://github.com/Amorano/Jovimetrix": [ [ - "ADJUST (JOV) \ud83d\udd78\ufe0f", + "ADJUST: BLUR (JOV)", + "ADJUST: COLOR (JOV)", + "ADJUST: EDGE (JOV)", + "ADJUST: EMBOSS (JOV)", + "ADJUST: LEVELS (JOV)", + "ADJUST: LIGHT (JOV)", + "ADJUST: MORPHOLOGY (JOV)", + "ADJUST: PIXEL (JOV)", + "ADJUST: SHARPEN (JOV)", "AKASHIC (JOV) \ud83d\udcd3", "ARRAY (JOV) \ud83d\udcda", + "BATCH TO LIST (JOV)", "BIT SPLIT (JOV) \u2b44", "BLEND (JOV) \u2697\ufe0f", "COLOR BLIND (JOV) \ud83d\udc41\u200d\ud83d\udde8", @@ -1295,31 +2714,13 @@ "EXPORT (JOV) \ud83d\udcfd", "FILTER MASK (JOV) \ud83e\udd3f", "FLATTEN (JOV) \u2b07\ufe0f", - "GLSL (JOV) \ud83c\udf69", - "GLSL BLEND LINEAR (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL COLOR CONVERSION (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL COLOR PALETTE (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL CONICAL GRADIENT (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL DIRECTIONAL WARP (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL FILTER RANGE (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL GRAYSCALE (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL HSV ADJUST (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL INVERT (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL NORMAL (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL NORMAL BLEND (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL POSTERIZE (JOV) \ud83e\uddd9\ud83c\udffd", - "GLSL TRANSFORM (JOV) \ud83e\uddd9\ud83c\udffd", "GRADIENT MAP (JOV) \ud83c\uddf2\ud83c\uddfa", "GRAPH (JOV) \ud83d\udcc8", + "HISTOGRAM (JOV)", "IMAGE INFO (JOV) \ud83d\udcda", "LERP (JOV) \ud83d\udd30", - "MIDI FILTER (JOV) \u2733\ufe0f", - "MIDI FILTER EZ (JOV) \u2747\ufe0f", - "MIDI MESSAGE (JOV) \ud83c\udf9b\ufe0f", - "MIDI READER (JOV) \ud83c\udfb9", "OP BINARY (JOV) \ud83c\udf1f", "OP UNARY (JOV) \ud83c\udfb2", - "PASSTHRU (JOV) \ud83d\ude8c", "PIXEL MERGE (JOV) \ud83e\udec2", "PIXEL SPLIT (JOV) \ud83d\udc94", "PIXEL SWAP (JOV) \ud83d\udd03", @@ -1328,12 +2729,8 @@ "ROUTE (JOV) \ud83d\ude8c", "SAVE OUTPUT (JOV) \ud83d\udcbe", "SHAPE GEN (JOV) \u2728", - "SPOUT WRITER (JOV) \ud83c\udfa5", + "SPLIT (JOV) \ud83c\udfad", "STACK (JOV) \u2795", - "STEREOGRAM (JOV) \ud83d\udcfb", - "STEREOSCOPIC (JOV) \ud83d\udd76\ufe0f", - "STREAM READER (JOV) \ud83d\udcfa", - "STREAM WRITER (JOV) \ud83c\udf9e\ufe0f", "STRINGER (JOV) \ud83e\ude80", "SWIZZLE (JOV) \ud83d\ude35", "TEXT GEN (JOV) \ud83d\udcdd", @@ -1341,25 +2738,77 @@ "TICK (JOV) \u23f1", "TRANSFORM (JOV) \ud83c\udfdd\ufe0f", "VALUE (JOV) \ud83e\uddec", + "VECTOR2 (JOV)", + "VECTOR3 (JOV)", + "VECTOR4 (JOV)", "WAVE GEN (JOV) \ud83c\udf0a" ], { - "author": "amorano", - "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/Analaser/ComfyUI-RandomTagWeights": [ + [ + "RandomTagWeights" + ], + { + "title_aux": "ComfyUI-RandomTagWeights" + } + ], + "https://github.com/AnastasiyaW/ComfyUI-SmartScreenshotCleaner": [ + [ + "HappyIn_AutoBorderCrop", + "HappyIn_ImageSwitch", + "HappyIn_ScreenshotCleaner" + ], + { + "title_aux": "ComfyUI-SmartScreenshotCleaner" + } + ], + "https://github.com/Andro-Meta/ComfyUI-Ovis2": [ + [ + "Ovis2ImageCaption", + "Ovis2ModelLoader", + "Ovis2MultiImageInput", + "Ovis2VideoFramesDescription" + ], + { + "title_aux": "ComfyUI-Ovis2" } ], "https://github.com/Anibaaal/ComfyUI-UX-Nodes": [ [ + "AdvancedCompositeImageMasked", "BlockLayerStringGenerator", - "EasyResolutionPicker" + "BlurNode", + "ColorGeneratorNode", + "DropShadowNode", + "EasyResolutionPicker", + "LerpNode", + "RemoveJSONMarkdownFormatting" ], { "title_aux": "ComfyUI UX Nodes" } ], + "https://github.com/AnonBOTpl/ComfyUI-Qwen-Prompt-Expander": [ + [ + "QwenDiagnostics", + "QwenOfflinePrompt" + ], + { + "nodename_pattern": "QwenOfflinePrompt", + "title_aux": "ComfyUI Qwen Prompt Expander" + } + ], + "https://github.com/Anzhc/SDXL-Flux2VAE-ComfyUI-Node": [ + [ + "EmptySDXLFlux2LatentImage" + ], + { + "title_aux": "SDXL-Flux2VAE-ComfyUI-Node" + } + ], "https://github.com/AonekoSS/ComfyUI-LoRA-Tuner": [ [ "LoraTuner" @@ -1376,20 +2825,38 @@ "title_aux": "ComfyUI-SimpleCounter" } ], - "https://github.com/Apache0ne/ComfyUI-EasyUrlLoader": [ + "https://github.com/Apache0ne/ComfyUI_efficient_sam_node": [ [ - "EasyUrlLoader" + "EfficientViTSAMAutoMaskGeneratorNode", + "EfficientViTSAMLoader", + "EfficientViTSAMPointPredictorNode", + "EfficientViTSAMPredictorNode", + "EfficientViTSAMVideoAutoMaskGeneratorNode", + "EfficientViTSAMVideoPointPredictorNode", + "EfficientViTSAMVideoPredictorNode" ], { - "title_aux": "ComfyUI-EasyUrlLoader" + "title_aux": "ComfyUI_efficient_sam_node" } ], - "https://github.com/Apache0ne/SambaNova": [ + "https://github.com/ApexArtist/comfyui-apex-artist": [ [ - "SambaNovaLLMNode" + "ApexBatchInfo", + "ApexBlur", + "ApexDepthToNormal", + "ApexGetFrame", + "ApexLastFrame", + "ApexLatentNoise", + "ApexLayerBlend", + "ApexLoadImage", + "ApexPromptPreset", + "ApexRGBCurve", + "ApexSharpen", + "ApexSmartResize", + "ApexUpscaleBy" ], { - "title_aux": "SambaNova" + "title_aux": "Apex Artist - Image Resize" } ], "https://github.com/ArcherFMY/Diffusion360_ComfyUI": [ @@ -1407,6 +2874,27 @@ "title_aux": "Diffusion360_ComfyUI" } ], + "https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI": [ + [ + "ArctenoxBox", + "ArctenoxCheckpointPassthrough", + "ArctenoxLoadCheckpoint", + "ArtifactRiskPredictor", + "CLIPTextEncodeWithString", + "EfficientLatentImage", + "ExecutionCostEstimator", + "KSamplerWithLatent", + "LoadLoRAWithString", + "PromptPhaseSplitter", + "PromptStyler", + "PromptStylerAdvanced", + "SaveImageWithMetadata", + "SeedTopologyMapper" + ], + { + "title_aux": "Arctenoxs-Essentials_ComfyUI" + } + ], "https://github.com/ArdeniusAI/ComfyUI-Ardenius": [ [ "ARD 4crop Latent", @@ -1438,6 +2926,91 @@ "title_aux": "ComfyUI-Ardenius" } ], + "https://github.com/Arkanun/ReadCSV_ComfyUI": [ + [ + "ReadCSVRowNode" + ], + { + "title_aux": "ReadCSV_ComfyUI" + } + ], + "https://github.com/Arroz-11/ComfyUI-Just-Nodes": [ + [ + "ImageFromFolder_JN", + "LabeledIndex_JN", + "ModelChecker_JN", + "Picker_JN", + "Picker_x12_JN", + "Picker_x1_JN", + "Picker_x3_JN", + "Picker_x6_JN", + "Picker_x9_JN", + "PromptStack_JN", + "SearchReplace_x12_JN", + "SearchReplace_x1_JN", + "SearchReplace_x3_JN", + "SearchReplace_x6_JN", + "SearchReplace_x9_JN" + ], + { + "title_aux": "ComfyUI-Just-Nodes" + } + ], + "https://github.com/Art-xmaster/comfyui-AGSoft": [ + [ + "AGSoft Loop Lora Strengths", + "AGSoft Show Text", + "AGSoft Text Input Switch X2", + "AGSoft Text Input Switch X4", + "AGSoft Text Input Switch X8", + "AGSoft Text Multiline", + "AGSoft Text Operation", + "AGSoft Text Overlay", + "AGSoft Text Replace", + "AGSoftLoadVideo", + "AGSoftSaveImage", + "AGSoftTextConcatenateX2", + "AGSoftTextConcatenateX4", + "AGSoftTextConcatenateX8", + "AGSoftTextSplit", + "AGSoftVideoFrameExtractor", + "AGSoft_Draw_Mask_On_Image", + "AGSoft_Empty_Latent", + "AGSoft_Empty_Latent_Flux2", + "AGSoft_Empty_Latent_QwenImage", + "AGSoft_Image_Concatenate", + "AGSoft_Image_Concatenate_From_Batch", + "AGSoft_Image_Crop", + "AGSoft_Image_Mask_Resize", + "AGSoft_Image_Mask_Resize_Adv", + "AGSoft_Image_Resize_Base", + "AGSoft_Image_Resize_Plus", + "AGSoft_Image_Rotate", + "AGSoft_Image_Stitch", + "AGSoft_Img_Pad", + "AGSoft_Img_Pad_Adv", + "AGSoft_Img_Res", + "AGSoft_Img_Res_MP", + "AGSoft_Inpaint_Crop", + "AGSoft_Inpaint_Stitch", + "AGSoft_KSampler", + "AGSoft_Loop_Float", + "AGSoft_Loop_Images", + "AGSoft_Loop_Integer", + "AGSoft_Loop_Random_Seed", + "AGSoft_Loop_Samplers", + "AGSoft_Loop_Texts", + "AGSoft_Mask_Blur", + "AGSoft_Mask_Composite", + "AGSoft_Mask_Fix", + "AGSoft_Mask_From_Color", + "AGSoft_Styles_CSV_Loader", + "AgsoftTranslate" + ], + { + "title_aux": "comfyui-AGSoft" + } + ], "https://github.com/ArtBot2023/CharacterFaceSwap": [ [ "Color Blend", @@ -1456,18 +3029,131 @@ "title_aux": "Character Face Swap" } ], - "https://github.com/ArtVentureX/comfyui-animatediff": [ + "https://github.com/ArtHommage/HommageTools": [ [ - "AnimateDiffCombine", - "AnimateDiffLoraLoader", - "AnimateDiffModuleLoader", - "AnimateDiffSampler", - "AnimateDiffSlidingWindowOptions", - "ImageSizeAndBatchSize", - "LoadVideo" + "HTBaseShiftNode", + "HTConsoleLoggerNode", + "HTConversionNode", + "HTDWPoseConstraintNode", + "HTDetectionBatchProcessor", + "HTDiffusionLoaderMulti", + "HTDimensionAnalyzerNode", + "HTDimensionFormatterNode", + "HTDownsampleNode", + "HTDynamicPromptNode", + "HTDynamicSwitchNode", + "HTFlexibleNode", + "HTGeminiImageNode", + "HTGeminiNode", + "HTImageAdjusterNode", + "HTInspectorNode", + "HTLayerCollectorNode", + "HTLayerExportNode", + "HTLevelsNode", + "HTMaskDilationNode", + "HTMaskValidatorNode", + "HTMoireRemovalNode", + "HTMultiMaskDilationNode", + "HTNodeStateController", + "HTNodeUnmuteAll", + "HTNullNode", + "HTOIDNNode", + "HTParameterExtractorNode", + "HTPhotoshopBlurNode", + "HTRegexNode", + "HTResizeNode", + "HTResolutionDownsampleNode", + "HTResolutionNode", + "HTSamplerBridgeNode", + "HTSaveImagePlus", + "HTScaleByNode", + "HTSchedulerBridgeNode", + "HTSeedAdvancedNode", + "HTSeedNode", + "HTSplitterNode", + "HTStatusIndicatorNode", + "HTSurfaceBlurNode", + "HTSwitchNode", + "HTTensorInfoNode", + "HTTextCleanupNode", + "HTTrainingSizeNode", + "HTValueMapperNode", + "HTWidgetControlNode" ], { - "title_aux": "AnimateDiff" + "title_aux": "HommageTools for ComfyUI" + } + ], + "https://github.com/Artificial-Sweetener/comfyui-WhiteRabbit": [ + [ + "AssembleLoopFrames", + "AutocropToLoop", + "BatchResizeWithLanczos", + "BatchWatermarkSingle", + "PixelHold", + "PrepareLoopFrames", + "RIFE_FPS_Resample", + "RIFE_SeamTimingAnalyzer", + "RIFE_VFI_Advanced", + "RIFE_VFI_Opt", + "RollFrames", + "TrimBatchEnds", + "UnrollFrames", + "UpscaleWithModelAdvanced" + ], + { + "title_aux": "WhiteRabbit" + } + ], + "https://github.com/ArtifyGames/comfyui-artify": [ + [ + "ArtifyImageResize", + "ArtifyInpaintCrop", + "ArtifyInpaintStitch" + ], + { + "title_aux": "comfyui-artify" + } + ], + "https://github.com/Aryan185/ComfyUI-ExternalAPI-Helpers": [ + [ + "ClearDirectoryNode", + "ElevenLabsTTSNode", + "Flux2Replicate", + "FluxKontextReplicate", + "GPTImageEditNode", + "GeminiChatNode", + "GeminiDiarisationAPI", + "GeminiSegmentationNode", + "GeminiTTSNode", + "GoogleImagenEditNode", + "GoogleImagenNode", + "NanoBananaNode", + "OpenAILLMNode", + "OpenAITTSNode", + "SoraGen", + "TripoITM", + "TripoTTM", + "VeoGeminiVideoGenerator", + "VeoVertexVideoGenerator" + ], + { + "title_aux": "ComfyUI-ExternalAPI-Helpers" + } + ], + "https://github.com/Aryan185/ComfyUI-VertexAPI": [ + [ + "GeminiChatVertexNode", + "GeminiDiarisationNode", + "GeminiSegmentationVertexNode", + "GeminiTTSVertexNode", + "GoogleImagenEditVertex", + "GoogleImagenGenerateVertex", + "GoogleVeoVertexVideoGenerator", + "NanoBananaVertexNode" + ], + { + "title_aux": "ComfyUI-VertexAPI" } ], "https://github.com/AshMartian/ComfyUI-DirGir": [ @@ -1480,6 +3166,72 @@ "title_aux": "Dir Gir" } ], + "https://github.com/Asidert/ComfyUI_Base64Images": [ + [ + "ConvertImageToBase64", + "LoadImageFromBase64" + ], + { + "title_aux": "Base64 Images input and output nodes for ComfyUI" + } + ], + "https://github.com/AstrionX/ComfyUI-Tensor-Prism-Node-Pack": [ + [ + "AdvancedCLIPMerge", + "ModelEnhancerTensorPrism", + "SDXL Block Merge (Tensor Prism)", + "SDXLAdvancedBlockMergeTensorPrism", + "TensorPrismVAEMerge", + "TensorPrism_AdvancedFineTuner", + "TensorPrism_AnalyzeModelWeights", + "TensorPrism_ApplyMergeRecipe", + "TensorPrism_CompetitiveModelSelector", + "TensorPrism_DatasetPath", + "TensorPrism_EpsilonVPredConverter", + "TensorPrism_IntelligentTensorSelector", + "TensorPrism_LayeredBlend", + "TensorPrism_MainMerge", + "TensorPrism_ModelAnalyzer", + "TensorPrism_ModelComparator", + "TensorPrism_ModelKeyFilter", + "TensorPrism_ModelMaskBlender", + "TensorPrism_ModelMaskGenerator", + "TensorPrism_ModelWeightModifier", + "TensorPrism_Prism", + "TensorPrism_SimplifiedFineTuner", + "TensorPrism_WeightedMaskMerge", + "TensorPrism_WeightedTensorMerge" + ], + { + "title_aux": "ComfyUI-Tensor-Prism-Node-Pack" + } + ], + "https://github.com/AstroCorp/ComfyUI-AstroCorp-Nodes": [ + [ + "InstructNode", + "MergeTextsNode", + "TextareaNode" + ], + { + "title_aux": "ComfyUI AstroCorp Nodes" + } + ], + "https://github.com/Atsushi888/easy_prompt_selector_for_comfyui": [ + [ + "EasyHairPromptSelector" + ], + { + "title_aux": "easy_prompt_selector_for_comfyui" + } + ], + "https://github.com/AugustusLXIII/ComfyUI_CustomResolution_I2V": [ + [ + "CustomResolutionI2V" + ], + { + "title_aux": "Custom Resolution I2V" + } + ], "https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction": [ [ "AnimateAnyone" @@ -1488,6 +3240,32 @@ "title_aux": "ComfyUI-AnimateAnyone-reproduction" } ], + "https://github.com/AuroBit/ComfyUI-OOTDiffusion": [ + [ + "LoadOOTDPipeline", + "LoadOOTDPipelineHub", + "OOTDGenerate" + ], + { + "title_aux": "ComfyUI OOTDiffusion" + } + ], + "https://github.com/Austat/ComfyUI-DownsampleFPS": [ + [ + "DownsampleFPSNode" + ], + { + "title_aux": "ComfyUI-DownsampleFPS" + } + ], + "https://github.com/Austat/ComfyUI-RemacriScale": [ + [ + "RemacriOnnxUpscaleNode" + ], + { + "title_aux": "ComfyUI-RemacriScale" + } + ], "https://github.com/AustinMroz/ComfyUI-DynamicOversampling": [ [ "DynamicSampler", @@ -1518,6 +3296,163 @@ "title_aux": "ComfyUI-ImageCropper" } ], + "https://github.com/AzelusLightvale/ComfyUI-ARG-Toolkit": [ + [ + "ADFGVX", + "ADFGX", + "AESAuthenticated", + "AESAuthenticatedKeygen", + "AESKeyWrap", + "AESKeyWrapWithPadding", + "Affine", + "Argon2id_Derive", + "Argon2id_Verify", + "Atbash", + "Autokey", + "BLAKE2", + "Base642String", + "Bazeries", + "Beaufort", + "Bifid", + "Binary2String", + "BitwiseAND", + "BitwiseLS", + "BitwiseNOT", + "BitwiseOR", + "BitwiseRS", + "BitwiseXOR", + "BooleanOutputter", + "Caesar", + "CaesarProg", + "CaesarProgressive", + "ChaCha20Poly1305", + "ChaCha20Poly1305Keygen", + "Chaocipher", + "ColTrans", + "ConcatKDFHMAC_Derive", + "ConcatKDFHMAC_Verify", + "ConcatKDFHash_Derive", + "ConcatKDFHash_Verify", + "ConstantTimeCompare", + "EdDSAPrivateKeyFormat", + "EdDSAPublicKeyFormat", + "EdDSASignature", + "EdDSAVerify", + "FernetKeygenSimple", + "FernetSimple", + "Foursquare", + "Gronsfeld", + "HKDFExpand_Derive", + "HKDFExpand_Verify", + "HKDF_Derive", + "HKDF_Verify", + "Hex2String", + "IMWatermarkDecode", + "IMWatermarkEncode", + "KBKDF_Derive", + "KBKDF_Verify", + "Keyword", + "MD5", + "MorseCode", + "MyszkowskiTransposition", + "Nihilist", + "PBKDF2HMAC_Derive", + "PBKDF2HMAC_Verify", + "Padding", + "Playfair", + "Polybius", + "Porta", + "Rot13", + "Rot18", + "Rot47", + "Rot5", + "SHA1", + "SHA2", + "SHA3", + "SHAKE", + "SM3", + "Scrypt_Derive", + "Scrypt_Verify", + "Scytale", + "SimpleSubstitution", + "SteganoAnalysis", + "SteganoLSBDecode", + "SteganoLSBEncode", + "String2Base64", + "String2Binary", + "String2Hex", + "StringLooper", + "SymmetricEncryptDecrypt", + "SystemRandom", + "ThreeSquare", + "Trifid", + "TwoSquare", + "Vic", + "Vigenere", + "X963KDF_Derive", + "X963KDF_Verify", + "XExchange", + "XPrivateKeyFormat", + "XPublicKeyFormat", + "Zigzag" + ], + { + "title_aux": "ComfyUI ARG Toolkit" + } + ], + "https://github.com/Azornes/Comfyui-LayerForge": [ + [ + "LayerForgeNode" + ], + { + "title_aux": "Comfyui-LayerForge" + } + ], + "https://github.com/Azornes/Comfyui-Resolution-Master": [ + [ + "ResolutionMaster" + ], + { + "title_aux": "Comfyui-Resolution-Master" + } + ], + "https://github.com/BAIKEMARK/ComfyUI-Civitai-Recipe": [ + [ + "CivitaiModelAnalyzerCKPT", + "CivitaiModelAnalyzerLORA", + "CivitaiParameterUnpacker", + "CivitaiRecipeGallery", + "LoraTriggerWords", + "MarkdownPresenter", + "RecipeParamsParser" + ], + { + "title_aux": "Civitai Recipe Finder" + } + ], + "https://github.com/BAIKEMARK/ComfyUI-Civitai-Toolkit": [ + [ + "CivitaiModelAnalyzerCKPT", + "CivitaiModelAnalyzerLORA", + "CivitaiParameterUnpacker", + "CivitaiRecipeGallery", + "LoraTriggerWords", + "MarkdownPresenter", + "RecipeParamsParser" + ], + { + "title_aux": "Civitai Toolkit" + } + ], + "https://github.com/BAIKEMARK/ComfyUI_Civitai_Prompt_Stats": [ + [ + "CivitaiPromptStatsCKPT", + "CivitaiPromptStatsLORA" + ], + { + "title_aux": "Civitai Prompt Stats Node" + } + ], "https://github.com/BAIS1C/ComfyUI_RSS_Feed_Reader": [ [ "RSSFeedNode" @@ -1526,6 +3461,26 @@ "title_aux": "ComfyUI_RSS_Feed_Reader" } ], + "https://github.com/BEIBEI-star661/SJ_sweepEffect_Comfyui": [ + [ + "SJ_sweepEffect" + ], + { + "title_aux": "SJ_sweepEffect_Comfyui" + } + ], + "https://github.com/BIMer-99/ComfyUI_FishSpeech_EX": [ + [ + "AudioToPrompt", + "LoadVQGAN", + "Prompt2Semantic", + "SaveAudioToMp3", + "Semantic2Audio" + ], + { + "title_aux": "ComfyUI_FishSpeech_EX" + } + ], "https://github.com/BIMer-99/Comfyui_Hunyuan3D_EX": [ [ "GenerateSixViews", @@ -1538,6 +3493,23 @@ "title_aux": "Comfyui_Hunyuan3D_EX" } ], + "https://github.com/BNP1111/comfyui_flux_corrector": [ + [ + "FLUXCorrector" + ], + { + "title_aux": "comfyui_flux_corrector" + } + ], + "https://github.com/BWDrum/ComfyUI-RandomWildcardLoader": [ + [ + "RandomWildcardLoader", + "RandomWildcardLoaderAdvanced" + ], + { + "title_aux": "ComfyUI Random Wildcard Loader" + } + ], "https://github.com/BXYMartin/ComfyUI-InstantIDUtils": [ [ "ListOfImages", @@ -1589,6 +3561,35 @@ "title_aux": "Masquerade Nodes" } ], + "https://github.com/BahaC/ComfyUI-ZonosTTS": [ + [ + "ZonosTextToSpeech" + ], + { + "title_aux": "ComfyUI Zonos TTS Node" + } + ], + "https://github.com/Baldwinzc/ComfyUI-ProductPromptGenerator": [ + [ + "ProductPromptGeneratorSimple" + ], + { + "title_aux": "ComfyUI-ProductPromptGenerator" + } + ], + "https://github.com/Baverne/comfyUI-TiledWan": [ + [ + "TiledWanImageStatistics", + "TiledWanImageToMask", + "TiledWanInpaintCropImproved", + "TiledWanInpaintStitchImproved", + "TiledWanMaskStatistics", + "TiledWanVideoVACEpipe" + ], + { + "title_aux": "comfyUI-TiledWan" + } + ], "https://github.com/Beinsezii/bsz-cui-extras": [ [ "BSZAbsoluteHires", @@ -1615,6 +3616,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", @@ -1706,13 +3715,28 @@ "title_aux": "SigmaWaveFormNodes" } ], + "https://github.com/BennyDaBall930/ComfyUI-Z-Engineer": [ + [ + "ZEngineer" + ], + { + "title_aux": "ComfyUI-Z-Engineer" + } + ], "https://github.com/BennyKok/comfyui-deploy": [ [ + "ComfyDeployOutputEXR", + "ComfyDeployOutputFile", + "ComfyDeployOutputImage", + "ComfyDeployOutputText", "ComfyDeployWebscoketImageInput", "ComfyDeployWebscoketImageOutput", + "ComfyUIDeployExternalAudio", "ComfyUIDeployExternalBoolean", "ComfyUIDeployExternalCheckpoint", + "ComfyUIDeployExternalEXR", "ComfyUIDeployExternalFaceModel", + "ComfyUIDeployExternalFile", "ComfyUIDeployExternalImage", "ComfyUIDeployExternalImageAlpha", "ComfyUIDeployExternalImageBatch", @@ -1720,11 +3744,12 @@ "ComfyUIDeployExternalNumber", "ComfyUIDeployExternalNumberInt", "ComfyUIDeployExternalNumberSlider", + "ComfyUIDeployExternalNumberSliderInt", + "ComfyUIDeployExternalSeed", "ComfyUIDeployExternalText", "ComfyUIDeployExternalTextAny", "ComfyUIDeployExternalVid", "ComfyUIDeployExternalVideo", - "ComfyUIDeployModelList", "ComfyUIDeployStringCombine" ], { @@ -1735,6 +3760,28 @@ "title_aux": "ComfyUI Deploy" } ], + "https://github.com/BetaDoggo/ComfyUI-Cloud-APIs": [ + [ + "FalAddLora", + "FalAuraFlowAPI", + "FalFluxAPI", + "FalFluxI2IAPI", + "FalFluxLoraAPI", + "FalLLaVAAPI", + "FalSoteDiffusionAPI", + "FalStableCascadeAPI", + "FalVeo2ImagetoVideo", + "FluxResolutionPresets", + "LoadVideoFromURL", + "ReplicateFluxAPI", + "RunWareAPI", + "RunwareAddLora", + "SplitImages" + ], + { + "title_aux": "ComfyUI-Cloud-APIs" + } + ], "https://github.com/BetaDoggo/ComfyUI-FastSDCPU": [ [ "fastsdcpu", @@ -1784,13 +3831,17 @@ ], "https://github.com/Big-Idea-Technology/ComfyUI-Book-Tools": [ [ + "BTDownloadFont", + "BTEndQueue", + "BTImageTextOverlay", + "BTLoop", + "BTLoopEnd", + "BTLoopStart", "BTPromptSchedule", "BTPromptSelector", - "EndQueue", - "ImageTextOverlay", - "Loop", - "LoopEnd", - "LoopStart" + "BTRandomTextOverlay", + "BTTextGrowth", + "BTTextToImage" ], { "title_aux": "ComfyUI-Book-Tools Nodes for ComfyUI" @@ -1808,6 +3859,83 @@ "title_aux": "LLM Node for ComfyUI" } ], + "https://github.com/BigStationW/ComfyUi-ConditioningNoiseInjection": [ + [ + "ConditioningNoiseInjection" + ], + { + "title_aux": "ComfyUi-ConditioningNoiseInjection" + } + ], + "https://github.com/BigStationW/ComfyUi-ConditioningTimestepSwitch": [ + [ + "ConditioningTimestepSwitch" + ], + { + "title_aux": "ComfyUi-ConditioningTimestepSwitch" + } + ], + "https://github.com/BigStationW/ComfyUi-DisplayAllSteps": [ + [ + "SamplerCustomAdvancedAllSteps", + "VAEDecodeAllSteps" + ], + { + "title_aux": "ComfyUi-DisplayAllSteps" + } + ], + "https://github.com/BigStationW/ComfyUi-Load-Image-And-Display-Prompt-Metadata": [ + [ + "LoadImageX", + "OnlyLoadImagesWithMetadata" + ], + { + "title_aux": "ComfyUi-Load-Image-And-Display-Prompt-Metadata" + } + ], + "https://github.com/BigStationW/ComfyUi-RescaleCFGAdvanced": [ + [ + "RescaleCFGAdvanced" + ], + { + "title_aux": "ComfyUi-RescaleCFGAdvanced" + } + ], + "https://github.com/BigStationW/ComfyUi-Scale-Image-to-Total-Pixels-Advanced": [ + [ + "ImageScaleToTotalPixelsX" + ], + { + "title_aux": "ComfyUi-Scale-Image-to-Total-Pixels-Advanced" + } + ], + "https://github.com/BigStationW/ComfyUi-TextEncodeQwenImageEditAdvanced": [ + [ + "ConditioningAddImageReference", + "ConditioningAddImageReferenceDual", + "TextEncodeEditAdvanced", + "TextEncodeEditAdvancedDual" + ], + { + "title_aux": "ComfyUi-TextEncodeQwenImageEditAdvanced" + } + ], + "https://github.com/BigStationW/Comfyui-AD-Image-Concatenation-Advanced": [ + [ + "AD_image-concat-advanced" + ], + { + "title_aux": "Comfyui-AD-Image-Concatenation-Advanced" + } + ], + "https://github.com/BigWhiteFly/ComfyUI-ImageConcat": [ + [ + "ImageConcatenateBatchWithTxt" + ], + { + "title_aux": "ComfyUI-ImageConcat" + } + ], "https://github.com/Billius-AI/ComfyUI-Path-Helper": [ [ "Add File Name Prefix", @@ -1838,39 +3966,48 @@ "title_aux": "DynamicPose-ComfyUI" } ], - "https://github.com/Black-Lioness/ComfyUI-PromptUtils": [ + "https://github.com/BizaNator/ComfyUI_PromptIterator": [ [ - "FilenameGenerator", - "KeywordGenerator" + "PromptIterator", + "PromptIteratorAdvanced", + "PromptIteratorDynamic" ], { - "title_aux": "ComfyUI-PromptUtils" + "title_aux": "ComfyUI Prompt Iterator Extension" } ], - "https://github.com/BlackVortexAI/ComfyUI-BVortexNodes": [ + "https://github.com/BlackSnowSkill/wd14_batch_tagger": [ [ - "BV Conditional ImagePipe Splitter", - "BV Image Caption Saver", - "BV Image Difference Heatmap", - "BV Image Size with Math", - "BV ImagePipe Junction", - "BV ImagePipe Loader", - "BV ImagePipe Merger", - "BV Show LoRA Blocks", - "BV String to Combo", - "BV Upscale Config", - "BV Vector Edit", - "BV Vector Edit Dropdown FLUX", - "BV Vector Edit Range", - "BV Vector Edit Range Dropdown FLUX", - "BV Vector Edit Selector FLUX", - "BV Vector Permutation", - "BV Vector of Length-n", - "BV Vector to String", - "BV Vector to String List" + "BSS_LoadImagesFolder", + "BSS_SaveCaptions", + "BSS_TagAnalytics", + "BSS_TagsPostprocess", + "BSS_WD14BatchTagger", + "BSS_WD14TaggerBatch" ], { - "title_aux": "BV Nodes" + "title_aux": "BSS WD14 Batch Tagger" + } + ], + "https://github.com/BlackVortexAI/bv_nodepack": [ + [ + "BV Control Center", + "BV Dynamic Combo", + "BV Hex Color To Int", + "BV Latent Random Aspect Ratio", + "BV Latent Random Rotate 90", + "BV Pipe", + "BV Pipe Config", + "BV Prompt AST Debug", + "BV Prompt Category Switch", + "BV Prompt Decode", + "BV Prompt Encode", + "BV Subgraph Divider", + "BV Subgraph Heading", + "BV Subgraph Spacer" + ], + { + "title_aux": "BV Node Pack" } ], "https://github.com/BlakeOne/ComfyUI-CustomScheduler": [ @@ -1913,7 +4050,6 @@ ], "https://github.com/BlenderNeko/ComfyUI_Noise": [ [ - "BNK_DuplicateBatchIndex", "BNK_GetSigma", "BNK_InjectNoise", "BNK_NoisyLatentImage", @@ -1942,35 +4078,259 @@ "title_aux": "Tiled sampling for ComfyUI" } ], - "https://github.com/Blonicx/ComfyUI-X-Rework": [ + "https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools": [ [ - "ClearNode", - "LoadImageURL", - "UploadImage", - "XSampler", - "XSave" + "Multi Float", + "Multi Int", + "Multi Text", + "MultiFloatNodeAID", + "MultiInt", + "MultiText" ], { - "title_aux": "ComfyUI-Rework-X" + "title_aux": "The AI Doctors Clinical Tools" } ], - "https://github.com/BobsBlazed/Bobs_Latent_Optimizer/raw/refs/heads/main/Bobs_Latent_Optimizer.py": [ + "https://github.com/BobJohnson24/ComfyUI-Flux2-INT8": [ [ - "BobsFluxSDXLLatentNode" + "INT8DynamicLoraLoader", + "INT8DynamicLoraStack", + "INT8LoraLoader", + "INT8LoraLoaderStack", + "OTUNetLoaderW8A8" + ], + { + "title_aux": "ComfyUI-Flux2-INT8" + } + ], + "https://github.com/BobRandomNumber/ComfyUI-BasicOllama": [ + [ + "BasicOllama" + ], + { + "title_aux": "ComfyUI-BasicOllama" + } + ], + "https://github.com/BobRandomNumber/ComfyUI-Calculator": [ + [ + "Calculator" + ], + { + "title_aux": "ComfyUI-Calculator" + } + ], + "https://github.com/BobRandomNumber/ComfyUI-DiaTTS": [ + [ + "DiaGenerate", + "DiaLoader" + ], + { + "title_aux": "ComfyUI-DiaTTS" + } + ], + "https://github.com/BobRandomNumber/ComfyUI-KyutaiTTS": [ + [ + "KyutaiTTS" + ], + { + "title_aux": "ComfyUI-KyutaiTTS" + } + ], + "https://github.com/BobRandomNumber/ComfyUI-TLBVFI": [ + [ + "TLBVFI_VFI" + ], + { + "title_aux": "ComfyUI-TLBVFI" + } + ], + "https://github.com/Boba-svg/ComfyUI-PromptSwitch": [ + [ + "PromptSwitch" + ], + { + "title_aux": "ComfyUI-PromptSwitch" + } + ], + "https://github.com/BobsBlazed/Bobs-Lora-Loader": [ + [ + "BobsLoraLoaderFlux", + "BobsLoraLoaderSdxl" + ], + { + "title_aux": "Bobs_LoRA_Loader" + } + ], + "https://github.com/BobsBlazed/Bobs_Latent_Optimizer": [ + [ + "Bobs-Advanced-Latent-Optimizer", + "Bobs-Latent-Optimizer", + "BobsLatentNode", + "BobsLatentNodeAdvanced" ], { "title_aux": "Bobs_Latent_Optimizer" } ], + "https://github.com/BoyuanJiang/FitDiT-ComfyUI": [ + [ + "FitDiTLoader", + "FitDiTMaskGenerator", + "FitDiTTryOn" + ], + { + "title_aux": "FitDiT[official] - High-fidelity Virtual Try-on" + } + ], + "https://github.com/Braeden90000/comfyui-load-image-url": [ + [ + "LoadImageFileOrURL" + ], + { + "title_aux": "ComfyUI Load Image URL" + } + ], + "https://github.com/Brekel/ComfyUI-Brekel": [ + [ + "BrekelAutoPromptGenerator", + "BrekelEnhancePrompt", + "BrekelLoadImage", + "BrekelPromptChooser", + "BrekelResolutionSelector" + ], + { + "title_aux": "ComfyUI-Brekel" + } + ], "https://github.com/Bria-AI/ComfyUI-BRIA-API": [ [ + "AttributionByImageNode", "BriaEraser", - "BriaGenFill" + "BriaGenFill", + "BriaMultiImageSelect", + "BriaTailoredGen", + "FIBOEditNode", + "FIBOEditStructuredInstructionNode", + "GenerateImageLiteNodeV2", + "GenerateImageNodeV2", + "GenerateStructuredPromptLiteNodeV2", + "GenerateStructuredPromptNodeV2", + "ImageEnhanceNode", + "ImageExpansionNode", + "LoadVideoFramesNode", + "PreviewVideoURLNode", + "RefineImageLiteNodeV2", + "RefineImageNodeV2", + "ReimagineNode", + "RemoveForegroundNode", + "RemoveVideoBackgroundNode", + "ReplaceBgNode", + "RmbgNode", + "ShotByImageAutomatic", + "ShotByImageAutomaticAspectRatio", + "ShotByImageCustomCoordinates", + "ShotByImageManualPadding", + "ShotByImageManualPlacement", + "ShotByImageOriginal", + "ShotByTextAutomatic", + "ShotByTextAutomaticAspectRatio", + "ShotByTextCustomCoordinates", + "ShotByTextManualPadding", + "ShotByTextManualPlacement", + "ShotByTextOriginal", + "TailoredModelInfoNode", + "TailoredPortraitNode", + "Text2ImageBaseNode", + "Text2ImageFastNode", + "Text2ImageHDNode", + "VideoEraseElementsNode", + "VideoIncreaseResolutionNode", + "VideoMaskByKeyPointsNode", + "VideoMaskByPromptNode", + "VideoSolidColorBackgroundNode" ], { "title_aux": "BRIA AI API nodes" } ], + "https://github.com/BuffMcBigHuge/ComfyUI-Google-AI-Studio": [ + [ + "GoogleAIStudioImageGen", + "GoogleAIStudioMultiSpeakerTTS", + "GoogleAIStudioTTS", + "GoogleAIStudioTextGen" + ], + { + "title_aux": "ComfyUI-Google-AI-Studio" + } + ], + "https://github.com/BuffMcBigHuge/ComfyUI-Zonos": [ + [ + "ZonosEmotion", + "ZonosGenerate" + ], + { + "title_aux": "ComfyUI-Zonos" + } + ], + "https://github.com/Burgstall-labs/ComfyUI-BETA-Cropnodes": [ + [ + "BETACrop", + "BETASceneDetect", + "BETAStitch", + "IndexedLoRALoader_BETA", + "LoadTextFromIndex", + "SaveAudioAdvanced_BETA", + "SelectSharpestFrames", + "SharpestFrameClipper", + "TextLineCount", + "WANResolutionCalculator" + ], + { + "title_aux": "ComfyUI-BETA-Cropnodes" + } + ], + "https://github.com/Burgstall-labs/ComfyUI-BETA-Helpernodes": [ + [ + "BETACrop", + "BETASceneDetect", + "BETAStitch", + "IndexedLoRALoader_BETA", + "LoadTextFromIndex", + "SaveAudioAdvanced_BETA", + "SelectSharpestFrames", + "SharpestFrameClipper", + "TextLineCount", + "WANResolutionCalculator" + ], + { + "title_aux": "ComfyUI-BETA-Helpernodes" + } + ], + "https://github.com/Burgstall-labs/ComfyUI-BS-Textchop": [ + [ + "BSTextChop" + ], + { + "title_aux": "ComfyUI-BS-Textchop" + } + ], + "https://github.com/Burgstall-labs/ComfyUI-BS_Kokoro-onnx": [ + [ + "Kokoro TTS" + ], + { + "title_aux": "ComfyUI-BS_Kokoro-onnx" + } + ], + "https://github.com/Bzbaozi/ComfyUI-YK-Banana2-Batch": [ + [ + "YKNanoBananaProNode" + ], + { + "title_aux": "ComfyUI-YK-Banana2-Batch" + } + ], "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": [ [ "APIRequestNode", @@ -1981,6 +4341,77 @@ "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", + "GenderRecognitionNode", + "ImageRotateCHAOS", + "PromptSelectorDoubleCHAOS", + "PromptSelectorSingleCHAOS" + ], + { + "title_aux": "ComfyUI_FaceAlignPaste" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-FramePack-HY": [ + [ + "CreateKeyframes_HY", + "FramePackBucketResize_HY", + "FramePackDiffusersSampler_HY", + "LoadFramePackDiffusersPipeline_HY" + ], + { + "title_aux": "ComfyUI-FramePack-HY" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-Free-GPU": [ + [ + "FreeGPUMemory" + ], + { + "title_aux": "ComfyUI-Free-GPU" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-GPT-API": [ + [ + "GPT-ImageGenerator" + ], + { + "title_aux": "ComfyUI-GPT-API" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API": [ + [ + "Google-Gemini" + ], + { + "title_aux": "ComfyUI-Gemini-API" + } + ], + "https://github.com/CY-CHENYUE/ComfyUI-ImageCompositionCy": [ + [ + "CombineImageAlpha", + "ImageCompositor", + "LoadImageAlpha" + ], + { + "title_aux": "ComfyUI-ImageCompositionCy" + } + ], "https://github.com/CY-CHENYUE/ComfyUI-InpaintEasy": [ [ "CropByMask", @@ -1992,6 +4423,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", @@ -2008,6 +4449,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" @@ -2059,6 +4510,34 @@ "title_aux": "ComfyUI-nodes-hnmr" } ], + "https://github.com/CallMe1101/ComfyUI_OmniAvatar": [ + [ + "OmniAvatar All-in-One (14B)" + ], + { + "title_aux": "ComfyUI_OmniAvatar" + } + ], + "https://github.com/Candlehead/Candlehead-Comfy-Nodez": [ + [ + "AspectToRes", + "ImageInfo", + "StyleChooser", + "TextProcessor" + ], + { + "title_aux": "Candlehead-Comfy-Nodez" + } + ], + "https://github.com/Carasibana/ComfyUI-PolyMask": [ + [ + "PolyMaskNode", + "PolyMaskNodeMulti" + ], + { + "title_aux": "ComfyUI-PolyMask" + } + ], "https://github.com/Chan-0312/ComfyUI-EasyDeforum": [ [ "Easy2DDeforum" @@ -2084,10 +4563,29 @@ "title_aux": "ComfyUI-Prompt-Preview" } ], + "https://github.com/ChangeTheConstants/SeedVarianceEnhancer": [ + [ + "SeedVarianceEnhancer" + ], + { + "title_aux": "SeedVarianceEnhancer" + } + ], + "https://github.com/ChaosHL/Marvelous-Box-Comfyui": [ + [ + "MarvelousBox", + "MarvelousText", + "Multi Lora Loader" + ], + { + "title_aux": "Marvelous-Box-Comfyui" + } + ], "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": [ [ "ImageToPIL", "LoadImageFromPath", + "LoadImageFromPathEnhanced", "PILToImage", "PILToMask" ], @@ -2103,6 +4601,87 @@ "title_aux": "ImageTransceiver - ComfyUI" } ], + "https://github.com/Charonartist/comfyui-auto-lora-v2": [ + [ + "AutoLoRANode", + "LoRABrowserNode", + "LoRAManagerNode" + ], + { + "title_aux": "ComfyUI Auto LoRA" + } + ], + "https://github.com/Charonartist/comfyui-last-frame-extractor": [ + [ + "LastFrameExtractorNode" + ], + { + "title_aux": "comfyui-last-frame-extractor" + } + ], + "https://github.com/Charonartist/comfyui-lmstudio-conversation": [ + [ + "LMStudioConversation", + "LMStudioConversationClear", + "LMStudioTextGen" + ], + { + "title_aux": "comfyui-lmstudio-conversation" + } + ], + "https://github.com/Charonartist/comfyui-smart-resize-node": [ + [ + "SmartResizeNode" + ], + { + "title_aux": "ComfyUI Smart Resize Node" + } + ], + "https://github.com/Charonartist/comfyui-tag-remover": [ + [ + "TagRemoverNode" + ], + { + "title_aux": "ComfyUI Tag Remover" + } + ], + "https://github.com/CheNing233/ComfyUI_Image_Pin": [ + [ + "ImagePin" + ], + { + "title_aux": "ComfyUI_Image_Pin" + } + ], + "https://github.com/ChenDarYen/ComfyUI-NAG": [ + [ + "KSamplerWithNAG", + "KSamplerWithNAG (Advanced)", + "NAGCFGGuider", + "NAGGuider", + "SamplerCustomWithNAG" + ], + { + "title_aux": "ComfyUI-NAG" + } + ], + "https://github.com/ChenDarYen/ComfyUI-TimestepShiftModel": [ + [ + "Timestep Shift Model" + ], + { + "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" @@ -2115,43 +4694,154 @@ [ "Directory File Counter", "Simple Number Counter", - "Text File Line Counter" + "Text File Line Counter", + "Text File Line Reader" ], { "title_aux": "ComfyUI-Line-counter" } ], + "https://github.com/Chrisvenator/ComfyUI-Painting-by-colors-generator": [ + [ + "EnhancedPaintByNumbersNode", + "HexStackNode", + "NumbersOverlayAdvancedNode", + "NumbersOverlayNode", + "PaintByNumbersNode", + "PaintByNumbersPaletteNode", + "PaintByNumbersTemplateNode" + ], + { + "title_aux": "painting-by-colors-generator" + } + ], "https://github.com/ClownsharkBatwing/RES4LYF": [ [ "AdvancedNoise", "Base64ToConditioning", + "BongSampler", "CLIPTextEncodeFluxUnguided", + "ClownGuide_AdaIN_MMDiT_Beta", + "ClownGuide_AttnInj_MMDiT_Beta", + "ClownGuide_Beta", + "ClownGuide_FrequencySeparation", + "ClownGuide_Mean_Beta", + "ClownGuide_StyleNorm_Advanced_HiDream", + "ClownGuide_Style_Beta", + "ClownGuide_Style_EdgeWidth", + "ClownGuide_Style_TileSize", + "ClownGuidesAB_Beta", + "ClownGuides_Beta", + "ClownGuides_Sync", + "ClownGuides_Sync_Advanced", + "ClownInpaint", + "ClownInpaintSimple", + "ClownModelLoader", + "ClownOptions_Automation_Beta", + "ClownOptions_Combine", + "ClownOptions_Cycles_Beta", + "ClownOptions_DetailBoost_Beta", + "ClownOptions_ExtraOptions_Beta", + "ClownOptions_FlowGuide", + "ClownOptions_FrameWeights", + "ClownOptions_Frameweights", + "ClownOptions_ImplicitSteps_Beta", + "ClownOptions_Momentum_Beta", + "ClownOptions_SDE_Beta", + "ClownOptions_SDE_Mask_Beta", + "ClownOptions_SDE_Noise", + "ClownOptions_SigmaScaling_Beta", + "ClownOptions_StepSize_Beta", + "ClownOptions_SwapSampler_Beta", + "ClownOptions_Tile_Advanced_Beta", + "ClownOptions_Tile_Beta", + "ClownRegionalConditioning", + "ClownRegionalConditioning2", + "ClownRegionalConditioning3", + "ClownRegionalConditioning_AB", + "ClownRegionalConditioning_ABC", + "ClownRegionalConditionings", "ClownSampler", + "ClownSamplerAdvanced", + "ClownSamplerAdvanced_Beta", + "ClownSamplerSelector_Beta", + "ClownSampler_Beta", + "ClownScheduler", + "ClownStyle_Attn_MMDiT", + "ClownStyle_Attn_UNet", + "ClownStyle_Block_MMDiT", + "ClownStyle_Block_UNet", + "ClownStyle_Boost", + "ClownStyle_MMDiT", + "ClownStyle_ResBlock_UNet", + "ClownStyle_SpatialBlock_UNet", + "ClownStyle_TransformerBlock_UNet", + "ClownStyle_UNet", + "ClownpileModelWanVideo", "ClownsharKSampler", "ClownsharKSamplerAutomation", + "ClownsharKSamplerAutomation_Advanced", + "ClownsharKSamplerGuide", "ClownsharKSamplerGuides", "ClownsharKSamplerOptions", - "ClownsharKSamplerOptions_SDE_Noise", + "ClownsharKSampler_Beta", + "ClownsharkChainsampler_Beta", "Conditioning Recast FP64", + "ConditioningAdd", "ConditioningAverageScheduler", + "ConditioningBatch4", + "ConditioningBatch8", + "ConditioningDownsample (T5)", "ConditioningMultiply", + "ConditioningOrthoCollin", "ConditioningToBase64", "ConditioningTruncate", "ConditioningZeroAndTruncate", + "Constant Scheduler", + "CrossAttn_EraseReplace_HiDream", "EmptyLatentImage64", "EmptyLatentImageCustom", "Film Grain", + "FluxGuidanceDisable", "FluxLoader", + "FluxOrthoCFGPatcher", + "Frame Select", + "Frame Select Latent", + "Frame Select Latent Raw", + "Frames Concat", + "Frames Concat Latent", + "Frames Concat Latent Raw", + "Frames Concat Masks", + "Frames Latent ReverseOrder", + "Frames Masks Uninterpolate", + "Frames Masks ZeroOut", + "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 Get Color Swatches", + "Image Grain Add", "Image Median Blur", "Image Pair Split", + "Image Repeat Tile To Size", + "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 TrimVideo State Info", "Latent to Cuda", + "Latent to RawX", "LatentBatch_channels", "LatentBatch_channels_16", "LatentNoiseBatch_fractal", @@ -2164,68 +4854,181 @@ "LatentPhaseMagnitudeMultiply", "LatentPhaseMagnitudeOffset", "LatentPhaseMagnitudePower", + "LatentUpscaleWithVAE", + "LayerPatcher", "Legacy_ClownSampler", "Legacy_ClownsharKSampler", "Legacy_ClownsharKSamplerGuides", "Legacy_SharkSampler", + "Linear Quadratic Advanced", + "Mask Bounding Box Aspect Ratio", + "Mask Sketch", + "MaskEdge", + "MaskFloatToBoolean", + "MaskToggle", + "Masks From Color Swatches", + "Masks From Colors", + "Masks Unpack 16", + "Masks Unpack 4", + "Masks Unpack 8", "ModelSamplingAdvanced", "ModelSamplingAdvancedResolution", "ModelTimestepPatcher", "PrepForUnsampling", + "ReAuraPatcher", + "ReAuraPatcherAdvanced", + "ReChromaPatcher", + "ReChromaPatcherAdvanced", + "ReFluxPatcher", + "ReFluxPatcherAdvanced", + "ReHiDreamPatcher", + "ReHiDreamPatcherAdvanced", + "ReLTXVPatcher", + "ReLTXVPatcherAdvanced", + "ReReduxPatcher", + "ReSD35Patcher", + "ReSD35PatcherAdvanced", + "ReSDPatcher", + "ReWanPatcher", + "ReWanPatcherAdvanced", "SD35Loader", "SamplerOptions_GarbageCollection", "SamplerOptions_TimestepScaling", - "SamplerRK_Test", + "SeedGenerator", "Set Precision", "Set Precision Advanced", "Set Precision Universal", + "SetImageSize", + "SetImageSizeWithScale", + "SharkChainsampler_Beta", + "SharkOptions_Beta", + "SharkOptions_GuideCond_Beta", + "SharkOptions_GuideConds_Beta", + "SharkOptions_GuiderInput", + "SharkOptions_StartStep_Beta", + "SharkOptions_UltraCascade_Latent_Beta", "SharkSampler", + "SharkSamplerAdvanced_Beta", + "SharkSampler_Beta", "Sigmas Abs", + "Sigmas AdaptiveNoiseFloor", + "Sigmas AdaptiveStep", "Sigmas Add", + "Sigmas Append", + "Sigmas ArcCosine", + "Sigmas ArcSine", + "Sigmas ArcTangent", + "Sigmas Attractor", + "Sigmas CNFInverse", + "Sigmas CatmullRom", + "Sigmas Chaos", "Sigmas Cleanup", + "Sigmas CollatzIteration", "Sigmas Concat", + "Sigmas ConwaySequence", + "Sigmas Count", + "Sigmas CrossProduct", "Sigmas DeleteBelowFloor", "Sigmas DeleteDuplicates", + "Sigmas DotProduct", + "Sigmas Easing", + "Sigmas Fmod", + "Sigmas Frac", "Sigmas From Text", + "Sigmas GammaBeta", + "Sigmas Gaussian", + "Sigmas GaussianCDF", + "Sigmas GilbreathSequence", + "Sigmas HarmonicDecay", + "Sigmas Hyperbolic", + "Sigmas If", + "Sigmas InvLerp", "Sigmas Iteration Karras", "Sigmas Iteration Polyexp", + "Sigmas KernelSmooth", + "Sigmas LambertW", + "Sigmas LangevinDynamics", + "Sigmas Lerp", + "Sigmas LinearSine", + "Sigmas Logarithm2", "Sigmas Math1", "Sigmas Math3", "Sigmas Modulus", "Sigmas Mult", "Sigmas Noise Inversion", + "Sigmas NormalizingFlows", "Sigmas Pad", + "Sigmas Percentile", + "Sigmas PersistentHomology", "Sigmas Power", + "Sigmas QuantileNorm", "Sigmas Quotient", + "Sigmas ReactionDiffusion", "Sigmas Recast", + "Sigmas Resample", "Sigmas Rescale", + "Sigmas RiemannianFlow", "Sigmas SetFloor", + "Sigmas Sigmoid", + "Sigmas SmoothStep", "Sigmas Split", + "Sigmas Split Value", + "Sigmas SquareRoot", "Sigmas Start", + "Sigmas StepwiseMultirate", + "Sigmas TimeStep", "Sigmas Truncate", "Sigmas Unpad", "Sigmas Variance Floor", + "Sigmas ZetaEta", "Sigmas2 Add", "Sigmas2 Mult", "SigmasPreview", + "SigmasSchedulePreview", "StableCascade_StageB_Conditioning64", "StableCascade_StageC_VAEEncode_Exact", - "StyleModelApplyAdvanced", + "StyleModelApplyStyle", "Tan Scheduler", "Tan Scheduler 2", "Tan Scheduler 2 Simple", + "TemporalCrossAttnMask", + "TemporalMaskGenerator", + "TemporalSplitAttnMask", + "TemporalSplitAttnMask (Midframe)", "TextBox1", + "TextBox2", "TextBox3", + "TextBoxConcatenate", + "TextConcatenate", + "TextLoadFile", + "TextShuffle", + "TextShuffleAndTruncate", + "TextTruncateTokens", + "TorchCompileModelAura", "TorchCompileModelFluxAdv", + "TorchCompileModelSD35", + "TorchCompileModels", "UNetSave", "UltraSharkSampler", "UltraSharkSampler Tiled", - "VGG19StyleTransfer" + "VAEEncodeAdvanced", + "VAEStyleTransferLatent" ], { "title_aux": "RES4LYF" } ], + "https://github.com/Clybius/ComfyUI-ClybsChromaNodes": [ + [ + "ClybGuidance", + "InverseSquaredScheduler", + "PrintSigmas", + "SamplerClyb_BDF" + ], + { + "title_aux": "ComfyUI-ClybsChromaNodes" + } + ], "https://github.com/Clybius/ComfyUI-Extra-Samplers": [ [ "GeometricCFGGuider", @@ -2258,14 +5061,318 @@ "title_aux": "ComfyUI-Latent-Modifiers" } ], + "https://github.com/CoiiChan/ComfyUI-Depth-Visualization-Advanced": [ + [ + "DepthViewerAndQuilts" + ], + { + "title_aux": "ComfyUI-Depth-Visualization-advanced" + } + ], + "https://github.com/CoiiChan/ComfyUI-FuncAsTexture-CoiiNode": [ + [ + "Add", + "Ceil", + "Chroma_Key_Alpha", + "Clamp", + "Contant3Vector", + "CustomScriptNumpy", + "DDX", + "Desaturation", + "Distance", + "Divided", + "Dot", + "HueShift", + "InverseUVMapGenerator", + "Lerp", + "Max", + "Min", + "Multiply", + "Oneminus", + "Outline", + "Panner", + "Power", + "Rotator", + "Sine", + "Subtraction", + "TextureSampler", + "UVCoordinateGen", + "ifFunction" + ], + { + "title_aux": "ComfyUI-FuncAsTexture-CoiiNode" + } + ], + "https://github.com/CoiiChan/comfyui-every-person-seg-coii": [ + [ + "EveryPersonSegDetail", + "EveryPersonSegSimple" + ], + { + "title_aux": "comfyui-every-person-seg-coii" + } + ], + "https://github.com/Comfy-Org/NIMnodes": [ + [ + "Get_HFToken", + "InstallNIMNode", + "LoadNIMNode", + "NIMFLUXNode" + ], + { + "title_aux": "NVIDIA FLUX NIM" + } + ], + "https://github.com/ComfyAssets/ComfyUI-KikoStats": [ + [ + "ResourceMonitor" + ], + { + "title_aux": "ComfyUI-KikoStats" + } + ], + "https://github.com/ComfyAssets/ComfyUI-KikoTools": [ + [ + "BatchPrompts", + "DisplayAny", + "DisplayText", + "EmptyLatentBatch", + "FluxSamplerParams", + "GeminiPrompt", + "GlifConsistencyDecoder", + "GlifPatchConsistencyDecoderTiled", + "GlifVariable", + "HFHubEmbeddingLoader", + "HFHubLoraLoader", + "ImageBatchToImageList", + "ImageListToImageBatch", + "ImageScaleDownBy", + "ImageToMultipleOf", + "KikoFilmGrain", + "KikoLocalImageLoader", + "KikoModelDownloader", + "KikoPurgeVRAM", + "KikoSaveImage", + "KikoWorkflowTimer", + "LatentBatchToLatentList", + "LatentListToLatentBatch", + "LoRAFolderBatch", + "PlotParameters+", + "ResolutionCalculator", + "SDXLAspectRatio", + "SamplerCombo", + "SamplerComboCompact", + "SamplerSelectHelper", + "SchedulerSelectHelper", + "SeedHistory", + "TextEncodeSamplerParams", + "TextInput", + "WidthHeightSelector", + "WidthHeightToVec2" + ], + { + "title_aux": "ComfyUI-KikoTools" + } + ], + "https://github.com/ComfyAssets/ComfyUI_PromptManager": [ + [ + "PromptManager", + "PromptManagerText", + "PromptSearchList" + ], + { + "title_aux": "ComfyUI_PromptManager" + } + ], + "https://github.com/ComfyAssets/ComfyUI_Selectors": [ + [ + "HeightNode", + "SamplerSelector", + "SchedulerSelector", + "SeedHistory", + "WidthHeightNode", + "WidthNode" + ], + { + "title_aux": "ComfyUI_Selectors" + } + ], + "https://github.com/ComfyUI-JH/ComfyUI-JH-Misc-Nodes": [ + [ + "JHDaisyChainableStringConstantNode", + "JHPreviewImage", + "JHThreeWaySwitchNode", + "JHTwoWaySwitchNode" + ], + { + "title_aux": "JH Misc. Nodes" + } + ], + "https://github.com/ComfyUI-JH/ComfyUI-JH-XMP-Metadata-Nodes": [ + [ + "JHFormatMetadataNode", + "JHGetWidgetValueFloatNode", + "JHGetWidgetValueIntNode", + "JHGetWidgetValueStringNode", + "JHLoadImageWithXMPMetadataNode", + "JHPathToStemNode", + "JHSaveImageWithXMPMetadata" + ], + { + "title_aux": "JH XMP Metadata Nodes" + } + ], + "https://github.com/ComfyUI-WanVideoWrapper/QQ.copied": [ + [ + "ImageBlend_GPU", + "ImageRadialZoomBlur_GPU", + "LoraExtractKJv2", + "PowerLoraLoaderV2", + "VideoMergeABC", + "WanScaleAB", + "WanVideoCacheSamples", + "WanVideoCacheVideos", + "WanVideoEmptyEmbeds_v2", + "WanVideoFlowmapDistortion", + "WanVideoImageToVideoEncode_v2", + "WanVideoMotionToFlowmap", + "WanVideoPowerLoraLoader" + ], + {} + ], + "https://github.com/ComfyUI/Base64_IO": [ + [ + "AnyToBase64", + "Base64ToAny", + "Base64ToConditioning", + "Base64ToLatent" + ], + {} + ], + "https://github.com/ComfyUI/Eagleshadow": [ + [ + "Batch 12 Images", + "Batch12Images", + "Detect Transparency", + "DetectTransparency", + "Fix Checkpoint Name", + "FixCheckpointName", + "ImageLinearGammaCompositeMasked", + "KSampler Same Noise", + "MaskGlow", + "OffsetImage", + "Round Float to String", + "RoundFloat2String", + "SaveImageToFolder", + "Select ControlNet", + "Select Model 20", + "SelectControlNet", + "SelectModel20", + "Simple Load Image Batch", + "SimpleLoadImageBatch" + ], + {} + ], + "https://github.com/ComfyUI/RH_Qwen-Image": [ + [ + "QwenImageModelLoader", + "RH_QwenImageGenerator", + "RH_QwenImagePromptEnhancer" + ], + {} + ], + "https://github.com/ComfyUI/ResolutionSelector": [ + [ + "ResolutionSelector" + ], + {} + ], + "https://github.com/ComfyUI/SequentialGroupController": [ + [ + "SequentialGroupController", + "SequentialGroupControllerV2" + ], + {} + ], + "https://github.com/ComfyUI/subjectselector": [ + [ + "ComfyUI_subjectselector" + ], + {} + ], + "https://github.com/ComplexRobot/ComfyUI-Simple-VFI": [ + [ + "Simple_Frame_Interpolation" + ], + { + "title_aux": "ComfyUI-Simple-VFI" + } + ], + "https://github.com/Conor-Collins/ComfyUI-CoCoTools_IO": [ + [ + "ColorspaceNode", + "CryptomatteLayer", + "ImageLoader", + "LoadExr", + "LoadExrLayerByName", + "LoadExrSequence", + "SaverNode", + "ZNormalizeNode" + ], + { + "title_aux": "ComfyUI-CoCoTools_IO" + } + ], + "https://github.com/ConstantlyGrowup/ComfyUI_Qwen_chat_models": [ + [ + "qwen_VL_model", + "qwen_chat_model" + ], + { + "title_aux": "ComfyUI_Qwen_chat_models" + } + ], + "https://github.com/CoreyCorza/ComfyUI-CRZnodes": [ + [ + "CRZBooleanToggle", + "CRZCompare", + "CRZCustomDropdown", + "CRZDashboardNode", + "CRZDropdown", + "CRZExecuteBlock", + "CRZExecuteSwitch", + "CRZFloatSlider", + "CRZFloatToInt", + "CRZImageSelector", + "CRZIntToFloat", + "CRZIntegerSlider", + "CRZLabel", + "CRZMapDropdown", + "CRZPassthrough", + "CRZStringNode", + "CRZSwitch" + ], + { + "title_aux": "ComfyUI-CRZnodes" + } + ], + "https://github.com/Cornmeister/ComfyUI-CornmeisterNL-PowerPack": [ + [ + "CornmeisterNL_PowerDiffusionModelLoader", + "CornmeisterNL_PowerLoraConfigurator", + "CornmeisterNL_PowerLoraSelector", + "CornmeisterNL_PowerPromptBuilder", + "CornmeisterNL_PowerRes", + "CornmeisterNL_PowerSaveImage", + "CornmeisterNL_PowerTextConcat" + ], + { + "title_aux": "CornmeisterNL PowerPack" + } + ], "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": [ [ "DebugToFile", - "DiTCondLabelEmpty", - "DiTCondLabelSelect", - "DitCheckpointLoader", - "OverrideCLIPDevice", - "OverrideVAEDevice", "PrimereAestheticCKPTScorer", "PrimereAnyDetailer", "PrimereAnyOutput", @@ -2280,14 +5387,18 @@ "PrimereEmbeddingHandler", "PrimereEmbeddingKeywordMerger", "PrimereEmotionsStyles", + "PrimereFaceAnalyzer", "PrimereFastSeed", "PrimereHypernetwork", "PrimereImageSegments", + "PrimereImgToPrompt", "PrimereKSampler", "PrimereLLMEnhancer", + "PrimereLLMEnhancerOptions", "PrimereLORA", "PrimereLYCORIS", "PrimereLatentNoise", + "PrimereLensStyles", "PrimereLoraKeywordMerger", "PrimereLoraStackMerger", "PrimereLycorisKeywordMerger", @@ -2301,6 +5412,7 @@ "PrimereMidjourneyStyles", "PrimereModelConceptSelector", "PrimereModelKeyword", + "PrimereMultiImage", "PrimereNetworkDataCollector", "PrimereNetworkTagLoader", "PrimerePreviewImage", @@ -2332,6 +5444,65 @@ "title_aux": "Primere nodes for ComfyUI" } ], + "https://github.com/CpreForEver/CFE_comfyui": [ + [ + "CFE Aspect Ratio", + "CFE FLUX Guidance", + "CFE FLUX Sampler", + "CFE FLUX Sampler (Pipe)", + "CFE Flux In Pipe", + "CFE Flux Out Pipe", + "CFE Lora Params", + "CFE Scheduler", + "CFE Sigma Sampler", + "CFE Sigma Sampler Strings", + "CFE_Aspect_Ratio", + "CFE_FLUX_Pipe_Sampler", + "CFE_FLUX_Sampler", + "CFE_Flux_Guidance", + "CFE_Flux_In_Pipe", + "CFE_Flux_Out_Pipe", + "CFE_Lora_Params", + "CFE_Scheduler", + "CFE_Sigma_Sampler_Strings", + "CFE_Sigma_Scheduler" + ], + { + "title_aux": "CFE_comfyui" + } + ], + "https://github.com/CraftBlack/ComfyUI-Resolution-Divider": [ + [ + "ResolutionDividerNode" + ], + { + "title_aux": "ComfyUI-Resolution-Divider" + } + ], + "https://github.com/CrateTools/comfyui-preview-video-monitor": [ + [ + "PreviewVideoMonitorPro" + ], + { + "title_aux": "Preview Video Monitor Pro" + } + ], + "https://github.com/Creditas-labs/ComfyUI_Adforge": [ + [ + "LoadVideoGCS", + "VertexVeoExtendVideoNode", + "VertexVeoFirstLastFrameToVideoNode", + "VertexVeoImageToVideoNode", + "VertexVeoInsertContentNode", + "VertexVeoRemoveContentNode", + "VertexVeoTextToVideoNode", + "VertexVeoVideoToVideoNode", + "VertexVeoVideoWithReferenceNode" + ], + { + "title_aux": "ComfyUI_Adforge" + } + ], "https://github.com/Creeper-MZ/comfyui_nai_api": [ [ "NovelAI", @@ -2345,29 +5516,175 @@ "title_aux": "comfyui_nai_api" } ], - "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption": [ + "https://github.com/Creepybits/ComfyUI-Creepy_nodes": [ + [ + "ArtAnalyst", + "AudioKeywordExtractor", + "CLIPSwitch", + "Categorizer", + "CharacterSelect (Creepybits)", + "CharacterVault", + "CollectAndDistributeText", + "Coloring", + "ConditionalLoRAApplierCreepybits", + "CreepyDirector'sSlate", + "CustomNodeManager", + "DelayNode", + "DelayTextNode", + "DynamicClipswitch", + "DynamicConditioning", + "DynamicDelayText", + "DynamicImageSwitch", + "DynamicLatentSwitch", + "DynamicModelswitch", + "DynamicStartIndex (Creepybits)", + "DynamicVAESwitch", + "EmptyFolderCleaner", + "EvaluaterNode", + "FallbackTextSwitch", + "FileSorterNode", + "FilterImages", + "GeminiAPICreepybits", + "GeminiAudioAnalyzer", + "IMGToIMGConditioning", + "ImageFormatConverter", + "KeywordExtractor", + "LoadBatchFromDir", + "LoadBatchImagesDir", + "LoadLatentFromPath", + "LoadLatentFromPathCreepy", + "LoraDBBuilder", + "LoraTriggerLookup", + "MasterKey", + "MediaMigratorNode", + "Modelswitch", + "PeopleEvaluationNode", + "QWENPrompt", + "QwenAspectRatioCreepy", + "RandomAudioSegment", + "RandomGreekMyth", + "RandomScripture", + "SanitizeFilename", + "SaveRawLatent", + "SaveRawLatentCreepy", + "SceneDirector", + "SummaryWriter", + "SystemPromp", + "Textswitch", + "TriggerNextWorkflow", + "VAESwitch", + "WanPrompter", + "WorldWeaverPrompt" + ], + { + "title_aux": "ComfyUI-Creepy_nodes" + } + ], + "https://github.com/Creepybits/ComfyUI-Save_To_GDrive": [ + [ + "SaveImageToGoogleDrive" + ], + { + "title_aux": "Save Image To Google Drive" + } + ], + "https://github.com/Creepybits/ComfyUI-Save_To_OneDrive": [ + [ + "SaveImageToOneDrive_CreepyBits" + ], + { + "title_aux": "Comfyui-Save_To_OneDrive" + } + ], + "https://github.com/Creepybits/World_weaver": [ + [ + "WW_CharacterSelect", + "WW_CharacterVault", + "WW_ConditionalLoRAApplierCreepybits", + "WW_DelayTextNode", + "WW_GeminiAPI", + "WW_MasterKey", + "WW_QwenAspectRatioCreepy", + "WW_SceneDirector", + "WW_WorldWeaverPrompt" + ], + { + "title_aux": "world weaver" + } + ], + "https://github.com/Cryptyox/anaglyphTool-Comfyui": [ + [ + "AnaglyphTool", + "CrossEyeTool", + "StereogramTool" + ], + { + "author": "Timon", + "description": "Provides CUDA GPU accelerated nodes for creating 3D images (Anaglyph, Cross-Eye, Stereogram).", + "nickname": "StereoTools", + "title": "Stereo Tools (CUDA)", + "title_aux": "anaglyphTool-Comfyui" + } + ], + "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", + "Remove Prompt Cyan" + ], + { + "title_aux": "ComfyUi Random Manage Cyan" + } + ], + "https://github.com/Cyber-BlackCat/ComfyUI-Image-Vector": [ + [ + "Vector" + ], + { + "title_aux": "ComfyUI-Image-Vector" + } + ], + "https://github.com/Cyber-BlackCat/ComfyUI-MoneyMaker": [ + [ + "Black and white", + "Image Judgment", + "Image Resize MM", + "ImageMinusMask", + "Light or Dark", + "Load Random Images", + "Mask Preprocess Morphology", + "Mask To Gray", + "Number", + "PhotoShop Transfer", + "SomethingShow", + "TensorShow" + ], + { + "title_aux": "ComfyUI-Yuan" + } + ], + "https://github.com/Cyber-BlackCat/ComfyUI_Auto_Caption": [ [ "Auto Caption", + "Auto_Caption2", + "ExtraOptionsSet", "Joy Model load", + "Joy_Model2_load", "LoadManyImages" ], { "title_aux": "ComfyUI_Auto_Caption" } ], - "https://github.com/Cyber-Blacat/ComfyUI-Yuan": [ - [ - "Image Judgment", - "ImageMinusMask", - "Light or Dark", - "Yuan", - "Yuan Transfer", - "YuanBW" - ], - { - "title_aux": "ComfyUI-Yuan" - } - ], "https://github.com/Cyberschorsch/ComfyUI-checkpoint-config-loader": [ [ "Checkpoint Loader Config" @@ -2376,6 +5693,163 @@ "title_aux": "ComfyUI Checkpoint Loader Config" } ], + "https://github.com/CypherNaught-0x/ComfyUI_resolution_presets": [ + [ + "ResolutionPresets", + "ResolutionPresetsAdvanced" + ], + { + "title_aux": "ComfyUI_resolution_presets" + } + ], + "https://github.com/Cyrostar/Artha-Gemini": [ + [ + "Gemini Backdrop", + "Gemini Body", + "Gemini Camera", + "Gemini Cloth", + "Gemini Compose", + "Gemini Condense", + "Gemini Face", + "Gemini Form", + "Gemini Imagen", + "Gemini Instruct", + "Gemini Light", + "Gemini Makeup", + "Gemini Markdown", + "Gemini Motion", + "Gemini Operation", + "Gemini Portrait", + "Gemini Prompter", + "Gemini Question", + "Gemini Response", + "Gemini Scenery", + "Gemini Speech", + "Gemini Style", + "Gemini Subject", + "Gemini Translate", + "Gemini Vision" + ], + { + "title_aux": "Artha-Gemini" + } + ], + "https://github.com/Cyrostar/Artha-Projekt": [ + [ + "Project Pause", + "Project Prefix", + "Project Seed", + "Project Setup" + ], + { + "title_aux": "Artha-Projekt" + } + ], + "https://github.com/Cyrostar/ComfyUI-Artha-Nodes": [ + [ + "ArthaFlowPause", + "ArthaGeminiBody", + "ArthaGeminiCamera", + "ArthaGeminiCloth", + "ArthaGeminiCompose", + "ArthaGeminiCondense", + "ArthaGeminiFace", + "ArthaGeminiForm", + "ArthaGeminiImagen", + "ArthaGeminiInstruct", + "ArthaGeminiLight", + "ArthaGeminiMakeup", + "ArthaGeminiMarkdown", + "ArthaGeminiMotion", + "ArthaGeminiOperation", + "ArthaGeminiPortrait", + "ArthaGeminiPrompter", + "ArthaGeminiQuestion", + "ArthaGeminiResponse", + "ArthaGeminiScenery", + "ArthaGeminiSpeech", + "ArthaGeminiStyle", + "ArthaGeminiSubject", + "ArthaGeminiTranslate", + "ArthaGeminiVision", + "ArthaImageColorMatch", + "ArthaImagePreview", + "ArthaImageSave", + "ArthaImageTransform", + "ArthaInputSelector", + "ArthaLogicBasic", + "ArthaLogicCompare", + "ArthaLogicGate", + "ArthaLogicPassthru", + "ArthaLogicPrint", + "ArthaMathF2I", + "ArthaMathFloat", + "ArthaMathI2F", + "ArthaMathInteger", + "ArthaMathNumber", + "ArthaMathOperation", + "ArthaMathRandom", + "ArthaProjectPrefix", + "ArthaProjectSeed", + "ArthaProjectSetup" + ], + { + "title_aux": "ComfyUI-Artha-Nodes" + } + ], + "https://github.com/D-Ogi/ComfyUI-Attention-Optimizer": [ + [ + "AttentionOptimizer" + ], + { + "title_aux": "ComfyUI-Attention-Optimizer" + } + ], + "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/DN2048/dn_little_helpers": [ + [ + "DNLHBooleanToOther", + "DNLHIsGroupActive" + ], + { + "title_aux": "dn_little_helpers" + } + ], + "https://github.com/DaLongZhuaZi/ComfyUI-Gemini-Prompt-Studio": [ + [ + "GeminiPromptStudio_T2I_I2V" + ], + { + "title_aux": "ComfyUI-Gemini-Prompt-Studio" + } + ], + "https://github.com/DanPli/ComfyUI-Flux2LatentPresets": [ + [ + "Flux2EmptyLatentPresets" + ], + { + "title_aux": "ComfyUI-Flux2LatentPresets" + } + ], "https://github.com/Danand/ComfyUI-ComfyCouple": [ [ "Attention couple", @@ -2408,6 +5882,49 @@ "title_aux": "ComfyUI-Voxels" } ], + "https://github.com/DanielPFlorian/ComfyUI-WorkflowGenerator": [ + [ + "NodeValidator", + "WG_Pipeline", + "WG_UpdateNodeCatalog", + "WorkflowBuilder", + "WorkflowGenerator" + ], + { + "title_aux": "ComfyUI-WorkflowGenerator" + } + ], + "https://github.com/DaniilVdovin/ComfyUI-prompt-templating": [ + [ + "PromptTemplateGetManyRandomTemplates", + "PromptTemplateJson", + "PromptTemplateJsonConstructor", + "PromptTemplateKeyValue" + ], + { + "title_aux": "ComfyUI Prompt Template" + } + ], + "https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger": [ + [ + "ZImageLoRAMergeToSingle", + "ZImageLoRAMerger", + "ZImageLoRAStack", + "ZImageLoRAStackApply", + "ZImageLoRATrueMerge" + ], + { + "title_aux": "ComfyUI-ZImage-LoRA-Merger" + } + ], + "https://github.com/Daohoi123/ComfyUI-Gemini3": [ + [ + "Gemini3ProImageNode" + ], + { + "title_aux": "ComfyUI-Gemini3" + } + ], "https://github.com/DareFail/ComfyUI-Roboflow": [ [ "CustomWorkflow_1image", @@ -2418,17 +5935,67 @@ "title_aux": "ComfyUI-Roboflow" } ], + "https://github.com/DarioFT/ComfyUI-VideoDirCombiner": [ + [ + "VideoDirCombiner" + ], + { + "title_aux": "ComfyUI-VideoDirCombiner" + } + ], "https://github.com/DataCTE/prompt_injection": [ [ "AdvancedPromptInjection", + "AdvancedSD15PromptInjection", "PromptInjection", - "SVDPromptInjection", - "SimplePromptInjection" + "SD15PromptInjection", + "SimplePromptInjection", + "SimpleSD15PromptInjection" ], { "title_aux": "Prompt Injection Node for ComfyUI" } ], + "https://github.com/DavidPiazza/network_bending": [ + [ + "InvertedPruning", + "LatentFormatConverter", + "ModelMixer", + "NetworkBending", + "NetworkBendingAdvanced", + "VAEChannelManipulator", + "VAELatentBending", + "VAEMixer", + "VAENetworkBending" + ], + { + "title_aux": "Network Bending for ComfyUI" + } + ], + "https://github.com/Daxamur/DaxNodes": [ + [ + "DaxGetStringByIndex", + "DaxStringSplitter", + "FaceFrameDetector", + "ResolutionPickerFLF2V", + "ResolutionPickerI2V", + "ResolutionPickerT2V", + "RuntimeGenerationLengthSet", + "TrimBatch", + "VideoColorCorrectV3", + "VideoPreview", + "VideoSave", + "VideoSegmentCombinerV2", + "VideoSegmentSaverV2", + "VideoSegmentStateLoader", + "VideoStreamRIFEVFI", + "VideoStreamUpscaler", + "WANResolutionPicker" + ], + { + "title_aux": "DaxNodes" + } + ], "https://github.com/Dayuppy/ComfyUI-DiscordWebhook": [ [ "DiscordPostViaWebhook", @@ -2444,6 +6011,71 @@ "title_aux": "Discord Webhook" } ], + "https://github.com/DazzleNodes/ComfyUI-DazzleSwitch": [ + [ + "DazzleSwitch" + ], + { + "title_aux": "ComfyUI-DazzleSwitch" + } + ], + "https://github.com/DazzleNodes/ComfyUI-Smart-Resolution-Calc": [ + [ + "SmartResolutionCalc" + ], + { + "title_aux": "Smart Resolution Calculator" + } + ], + "https://github.com/DazzleNodes/DazzleNodes": [ + [ + "DazzleSwitch", + "FitMaskToImage", + "JDC_AutoContrast", + "JDC_BlendImages", + "JDC_BrownNoise", + "JDC_Contrast", + "JDC_EqualizeGrey", + "JDC_GaussianBlur", + "JDC_GreyNoise", + "JDC_Greyscale", + "JDC_ImageLoader", + "JDC_ImageLoaderMeta", + "JDC_OmniNoise", + "JDC_PinkNoise", + "JDC_Plasma", + "JDC_PlasmaSampler", + "JDC_PowerImage", + "JDC_RandNoise", + "JDC_ResizeFactor", + "PreviewBridgeExtended", + "SmartResolutionCalc" + ], + { + "author": "djdarcy", + "description": "Collection of productivity custom nodes for ComfyUI workflows", + "nickname": "DazzleNodes", + "title": "DazzleNodes", + "title_aux": "DazzleNodes Collection" + } + ], + "https://github.com/DazzleNodes/fit-mask-to-image": [ + [ + "FitMaskToImage" + ], + { + "title_aux": "ComfyUI Fit Mask to Image" + } + ], + "https://github.com/De-Zoomer/ComfyUI-DeZoomer-Nodes": [ + [ + "CaptionRefinement", + "VideoCaptioning" + ], + { + "title_aux": "ComfyUI-DeZoomer-Nodes" + } + ], "https://github.com/DeJoker/pipeline-parallel-comfy": [ [ "PipelineParallel" @@ -2452,6 +6084,175 @@ "title_aux": "Pipeline Parallel ComfyUI" } ], + "https://github.com/Deathspike/ComfyUI-MyOriginalWaifu": [ + [ + "MyOriginalWaifu", + "MyOriginalWaifuCLIP" + ], + { + "title_aux": "ComfyUI-MyOriginalWaifu" + } + ], + "https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials": [ + [ + "DebugPadawan_ConditionalString", + "DebugPadawan_DebugPrint", + "DebugPadawan_ListInfo", + "DebugPadawan_TextJoiner", + "DebugPadawan_TextSplitter", + "DebugPadawan_TextToJSON", + "DebugPadawan_WaitNode" + ], + { + "title_aux": "DebugPadawan's ComfyUI Essentials" + } + ], + "https://github.com/DecartAI/Lucy-Edit-ComfyUI": [ + [ + "LucyConditionConcatNode", + "LucyEditProAPINode" + ], + { + "title_aux": "Lucy-Edit-ComfyUI" + } + ], + "https://github.com/DeemosTech/ComfyUI-Rodin": [ + [ + "LoadRodinAPIKEY", + "Rodin3D_bbox_controlnet", + "mRodin3D_Detail", + "mRodin3D_Gen2", + "mRodin3D_Regular", + "mRodin3D_Sketch", + "mRodin3D_Smooth" + ], + { + "title_aux": "ComfyUI-Rodin" + } + ], + "https://github.com/Deep-Neko/ComfyUI_ascii_art": [ + [ + "AsciiGenerator" + ], + { + "author": "DeepNeko ", + "title_aux": "ascii-art-comfyui" + } + ], + "https://github.com/Dehypnotic/comfyui-aspect-ratio-advanced": [ + [ + "AspectRatioAdvanced" + ], + { + "title_aux": "AspectRatioAdvanced" + } + ], + "https://github.com/Dehypnotic/comfyui-dehypnotic-save-nodes": [ + [ + "SaveAudioMP3Dehypnotic", + "SaveImagesDehypnotic", + "SaveVideoDehypnotic" + ], + { + "title_aux": "Dehypnotic Save nodes" + } + ], + "https://github.com/Dehypnotic/comfyui-numbered-text": [ + [ + "NumberedText" + ], + { + "title_aux": "NumberedText" + } + ], + "https://github.com/Dehypnotic/comfyui-range-to-string": [ + [ + "RangeToString" + ], + { + "title_aux": "RangeToString" + } + ], + "https://github.com/DemonAlone/DemonAlone-nodes-ComfyUI": [ + [ + "AnyAdapterNode", + "AnyConcatNode", + "AnytoFloatAdapterNode", + "AnytoIntegerAdapterNode", + "CheckpointSelectorNode", + "ClipSkipSliderNode", + "CountListNode", + "DA_Base_KSampler", + "DA_Enhanced_KSampler", + "DiffusionModelGeneratorNode", + "DiffusionModelSelectorNode", + "ImageResizeNode", + "LORASelectorNode", + "ListCreaterNode", + "LoadImageWithMetadataNode", + "MaskDebugNode", + "ModelGeneratorNode", + "MyXYGridAccumulator", + "MyXYZHelper", + "MyXYZSuperStacker", + "OptionalCondMergeNode", + "PonyPrefixesNode", + "ResizeInterpolationControlNode", + "ResizeMethodControl", + "ResizeMethodControlNode", + "SamplerGeneratorNode", + "ScaleImageAspectNode", + "SchedulerGeneratorNode", + "ShiftSliderNode", + "StringToFloatNode", + "StringToIntNode", + "TextConcatNode", + "TextEncoderGeneratorNode", + "TextEncoderSelectorNode", + "VAEGeneratorNode", + "VAESelectorNode", + "\u0421heckpointSelectorNode" + ], + { + "title_aux": "DemonAlone-nodes-ComfyUI" + } + ], + "https://github.com/DemonNCoding/PromptGenerator12Columns": [ + [ + "PromptGenerator12Columns_Empty", + "PromptGenerator12Columns_Prefilled", + "PromptGenerator12Columns_PrefilledNSFW" + ], + { + "title_aux": "PromptGenerator 12-Columns" + } + ], + "https://github.com/DenRakEiw/ComfyUI-nearest-qwen-resolution": [ + [ + "NearestQwenResolution" + ], + { + "title_aux": "ComfyUI-nearest-qwen-resolution" + } + ], + "https://github.com/DenRakEiw/Latent_Nodes": [ + [ + "LatentColorMatch", + "LatentColorMatchSimple", + "LatentImageAdjust" + ], + { + "title_aux": "ComfyUI Latent Color Tools" + } + ], + "https://github.com/DenRakEiw/WAN_NN_Latent_Upscale": [ + [ + "UniversalNNLatentUpscale" + ], + { + "title_aux": "Universal NN Latent Upscaler for ComfyUI" + } + ], "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [ [], { @@ -2463,66 +6264,216 @@ "title_aux": "Derfuu_ComfyUI_ModdedNodes" } ], + "https://github.com/DesertPixelAi/ComfyUI-DP-Ideogram-Character": [ + [ + "DP_IdeogramCharacter" + ], + { + "title_aux": "ComfyUI DP Ideogram Character Node" + } + ], "https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes": [ [ - "DPAspectRatioPicker", - "DPBrokenToken", - "DPLogoAnimator", - "DPVideoEffectReceiver", - "DPVideoEffectSender", - "DPVideoFlicker", - "DP_2Floats_0_1", - "DP_2floats_0_1", - "DP_3Floats_0_1", - "DP_3floats_0_1", - "DP_Animation_Calculator_5Inputs", - "DP_Aspect_Ratio", - "DP_Big_Letters", - "DP_Broken_Token", - "DP_Clean_Prompt", - "DP_Crazy_Prompt", - "DP_Create_JSON", - "DP_FastSlowMotion", - "DP_Fast_Slow_Motion", - "DP_Five_Lora", - "DP_Five_Lora_Random", - "DP_Float_0_1", - "DP_Image_Color_Analyzer", - "DP_Image_Empty_Latent_Switch", - "DP_Image_Loader_Big", - "DP_Image_Loader_Medium", - "DP_Image_Loader_Small", - "DP_Image_Slide_Show", - "DP_Logo_Animator", - "DP_Prompt_Styler", - "DP_Quick_Link", - "DP_Random_Char", - "DP_Random_MinMax", - "DP_Smart_Saver", - "DP_Video_Effect_Receiver", - "DP_Video_Effect_Sender", - "DP_Video_Flicker", - "DP_Video_Transition", - "DP_clean_prompt", - "DP_create_json_file", - "DP_float_0_1", - "DP_smart_saver", - "DpPromptStyler", - "Dp_Random_Crazy_Prompt_Generator" + "DP 10 Images Switch Or Batch", + "DP 10 String Switch Or Connect", + "DP 2 String Switch", + "DP 3 Images Switch Or Batch", + "DP 3 String Switch Or Connect", + "DP 5 Find And Replace", + "DP 5 Image And Mask Switch", + "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", + "DP Art Style Generator", + "DP Aspect Ratio Picker", + "DP Big Letters", + "DP Broken Token", + "DP Clean Prompt", + "DP Clean Prompt Travel", + "DP Condition Switch", + "DP ControlNet Apply Advanced", + "DP Crazy Prompt Mixer", + "DP Create Json File", + "DP Custom Aspect Ratio", + "DP Diff Int 8step Selector", + "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 Extract Mask", + "DP Fast Slow Motion", + "DP Five Lora", + "DP Five Lora Random", + "DP Float Stepper", + "DP Get Seed From Image", + "DP IF Int Condition", + "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 Grid To Image", + "DP Image Slice To Grid", + "DP Image Slide Show", + "DP Image Strip", + "DP Image To Pixelgrid", + "DP Int 0 1000", + "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 Folder", + "DP Load Image Minimal", + "DP Load Image V2", + "DP Load Image With Seed", + "DP Load UNET With Info", + "DP Logo Animator", + "DP Lora Random Strength Controller", + "DP Lora Strength Controller", + "DP Mask Settings", + "DP Place Image", + "DP Prompt Inverter", + "DP Prompt Manager Small", + "DP Prompt Mode Controller", + "DP Prompt Styler", + "DP Prompt Token Compressor", + "DP Prompt Travel Prompt", + "DP Quick Model Link", + "DP Random Character", + "DP Random Crazy Prompt Generator", + "DP Random Logo Style Generator", + "DP Random Min Max", + "DP Random Mode Controller", + "DP Random Mode Switch", + "DP Random Psychedelic Punk Generator", + "DP Random Superhero Prompt Generator", + "DP Random Vehicle Generator", + "DP Resize Image And Mask", + "DP Sampler With Info", + "DP Save Image V2", + "DP Save Preview Image", + "DP Stitch 2 Images", + "DP String Text", + "DP String Text With Sdxl Weight", + "DP Strip Edge Masks", + "DP Switch Controller", + "DP Text Preview", + "DP Transition Frames Selector", + "DP Versatile Prompt Subjects Generator", + "DP Video Effect Receiver", + "DP Video Effect Sender", + "DP Video Flicker", + "DP Video Looper", + "DP Video Transition", + "DP Words", + "DP_Crazy_Prompt_Mixer", + "DP_Float_Stepper", + "DP_Image_To_Pixelgrid", + "DP_Prompt_Inverter" ], { "title_aux": "ComfyUI-Desert-Pixel-Nodes" } ], + "https://github.com/DesertPixelAi/comfyui-dp-them-styler": [ + [ + "DP_Add_Logo_Banner", + "DP_Advanced_Sampler_Modified", + "DP_Dynamic_Random_Styler", + "DP_Gender_Age_Detector" + ], + { + "title_aux": "ComfyUI DP Dynamic Random Styler" + } + ], + "https://github.com/DevDuckFace/KsamplerDF": [ + [ + "KsamplerDF" + ], + { + "title_aux": "KsamplerDF" + } + ], + "https://github.com/Devourer56/ComfyUI-Impact-BIGdetector-BBOX-SEGS": [ + [ + "CascadeDetectorAdvanced" + ], + { + "title_aux": "ComfyUI-Impact-BIGdetector-BBOX-SEGS" + } + ], + "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/DiffusionLight/DiffusionLight-ComfyUI": [ + [ + "DiffusionLightBall2Envmap", + "DiffusionLightChromeballMask", + "DiffusionLightExposure2HDR", + "DiffusionLightExposureBracket", + "DiffusionLightPadBlackBorder", + "DiffusionLightPercentileToPixelValueTonemap", + "DiffusionLightSaveHDR" + ], + { + "title_aux": "DiffusionLight-ComfyUI" + } + ], + "https://github.com/Diohim/ComfyUI-Unusual-Tools": [ + [ + "AdjustCrop", + "AutoImageResize", + "BatchLoadLatentImage", + "BatchSaveLatentImage", + "FillMaskWithColor" + ], + { + "title_aux": "ComfyUI Unusual Tools" + } + ], "https://github.com/Dobidop/ComfyStereo": [ [ - "LazyStereo", + "NativeStereoImageViewer", + "NativeStereoVideoViewer", + "NativeVRStatus", + "StereoDiffusion", "StereoImageNode" ], { "title_aux": "Dobidop ComfyStereo" } ], + "https://github.com/DoctorDiffusion/ComfyUI-BEN": [ + [ + "BackgroundEraseNetwork" + ], + { + "title_aux": "ComfyUI BEN - Background Erase Network" + } + ], "https://github.com/DoctorDiffusion/ComfyUI-MediaMixer": [ [ "FinalFrameSelector", @@ -2547,16 +6498,52 @@ ], "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil": [ [ - "SnakeOil" + "NegativeLoRALoader" ], { "title_aux": "ComfyUI-SnakeOil" } ], + "https://github.com/DoctorDiffusion/ComfyUI-basic-pitch": [ + [ + "AudioToMidi", + "SaveMidi" + ], + { + "title_aux": "ComfyUI-basic-pitch" + } + ], + "https://github.com/Dontdrunk/ComfyUI-DD-Nodes": [ + [ + "DD-AdvancedFusion", + "DD-AspectRatioSelector", + "DD-ConditionSwitcher", + "DD-DimensionCalculator", + "DD-ImageSizeLimiter", + "DD-ImageSplitter", + "DD-ImageStroke", + "DD-ImageToVideo", + "DD-ImageUniformSize", + "DD-LatentSwitcher", + "DD-MaskUniformSize", + "DD-ModelOptimizer", + "DD-ModelSwitcher", + "DD-QwenMTTranslator", + "DD-SimpleLatent", + "DD-TxtFileMerger", + "DD-VideoFrameExtractor" + ], + { + "title_aux": "ComfyUI-DD-Nodes" + } + ], "https://github.com/DrMWeigand/ComfyUI-StereoVision": [ [ "AutostereogramGenerator", - "StereoscopicGenerator" + "StereoCrafterInpainter", + "StereoscopicGenerator", + "StereoscopicGeneratorMax", + "StereoscopicGeneratorPro" ], { "title_aux": "StereoVision Plugin for ComfyUI" @@ -2564,6 +6551,7 @@ ], "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": [ [ + "ColorDetection", "LABColorDetection", "RGBColorDetection" ], @@ -2571,6 +6559,356 @@ "title_aux": "ComfyUI Color Detection Nodes" } ], + "https://github.com/DrStone71/ComfyUI-Prompt-Translator": [ + [ + "AT_CLIPTextTranslate", + "AT_CLIPTextTranslateAdvanced", + "AT_CombineConditioning", + "AT_ConditionalTranslate", + "AT_LanguagePackageManager", + "AT_PromptTextTranslate", + "AT_TextTranslate", + "AT_UniversalTextTranslate", + "CLIP Text Encode (Translate)", + "CLIP Text Translate Advanced", + "Combine Conditioning", + "Conditional Translate", + "Language Package Manager", + "Prompt Text (Translate)", + "Text Translate", + "Universal Text Translate" + ], + { + "title_aux": "ComfyUI-Prompt-Translator" + } + ], + "https://github.com/DraconicDragon/ComfyUI-RyuuNoodles": [ + [ + "Ryuu_CleanStringAdvanced", + "Ryuu_ColorMatch", + "Ryuu_ExtractAndSaveLora", + "Ryuu_FallbackPassthrough", + "Ryuu_FallbackSwitchAny", + "Ryuu_FallbackSwitchImage", + "Ryuu_FallbackSwitchLatent", + "Ryuu_FloatPlain", + "Ryuu_FloatPlainLarger", + "Ryuu_FloatSlider", + "Ryuu_IntSlider", + "Ryuu_IsMultipleOf", + "Ryuu_ScaleToMultiple", + "Ryuu_ScaleToMultipleAdvanced", + "Ryuu_ScaleToMultipleLatentSizePicker", + "Ryuu_TextEncoderDiffCheck", + "Ryuu_TokenCountTextBox", + "Ryuu_WaitNode" + ], + { + "title_aux": "ComfyUI-RyuuNoodles" + } + ], + "https://github.com/DraconicDragon/ComfyUI-Venice-API": [ + [ + "CharCountTextBox", + "GenerateImage_VENICE", + "GenerateSpeech_VENICE", + "GenerateTextAdvanced_VENICE", + "GenerateTextVeniceParameters_VENICE", + "GenerateText_VENICE", + "I2IEnhanceUpscale_VENICE" + ], + { + "title_aux": "ComfyUI-Venice-API" + } + ], + "https://github.com/Draek2077/comfyui-draekz-nodez": [ + [ + "Draekz Flux Resolutions", + "Draekz JoyCaption", + "Draekz Resolution Multiply", + "Draekz Resolutions By Ratio", + "DraekzJsonGetValue", + "DraekzLLMOptions", + "DraekzLLMPrompt", + "DraekzLoraLoader", + "DraekzResolutionMultiply", + "DraekzResolutions", + "DraekzResolutionsByRatio", + "DraekzSeed" + ], + { + "title_aux": "comfyui-draekz-nodez" + } + ], + "https://github.com/DragonDiffusionbyBoyo/BoyoSupercoolWrapper": [ + [ + "BoyoSuperCoolWrapper" + ], + { + "title_aux": "BoyoSupercoolWrapper" + } + ], + "https://github.com/DragonDiffusionbyBoyo/Boyonodes": [ + [ + "BoyoApplyIPAdapterZImage", + "BoyoAssetGrabberAdvanced", + "BoyoAssetGrabberSimple", + "BoyoAudioDurationAnalyzer", + "BoyoAudioEval", + "BoyoAudioPadder", + "BoyoChainBastardLoops", + "BoyoChatterboxTurboGenerate", + "BoyoChatterboxTurboLoader", + "BoyoCompare", + "BoyoExecutionBarrier", + "BoyoForLoopEnd", + "BoyoForLoopStart", + "BoyoFrameCounter", + "BoyoFramePackLoRA", + "BoyoIPAdapterZImageLoader", + "BoyoImageCrop", + "BoyoImageGrab", + "BoyoIncontextSaver", + "BoyoLatentCacheUpdater", + "BoyoLatentPassthrough", + "BoyoLatentSwitch", + "BoyoLoRAConfigInspector", + "BoyoLoRAConfigProcessor", + "BoyoLoRAJSONBuilder", + "BoyoLoRAPairedLoader", + "BoyoLoRAPathForwarder", + "BoyoLoadImageList", + "BoyoLoopCollector", + "BoyoLoopCounter", + "BoyoLoopImageSaver", + "BoyoLoopReset", + "BoyoLorainforsender", + "BoyoMathInt", + "BoyoOverlapSwitch", + "BoyoPainterSVI", + "BoyoPairedImageSaver", + "BoyoPairedSaver", + "BoyoPromptInjector", + "BoyoPromptLoop", + "BoyoQwenVLGrounding", + "BoyoResolutionCalc", + "BoyoSaver", + "BoyoStoryboardJsonParser", + "BoyoStoryboardOutput", + "BoyoStoryboardPrompt", + "BoyoTiledVAEDecode", + "BoyoVACEInjector", + "BoyoVACEViewer", + "BoyoVAEDecode", + "BoyoVideoClipper", + "BoyoVideoCutter", + "BoyoVideoLengthCalculator", + "BoyoVideoPairedSaver", + "BoyoVideoSaver", + "BoyoVision", + "BoyoVoiceEnhancer", + "BoyoWhileLoopEnd", + "BoyoWhileLoopStart", + "Boyolatent", + "MandelbrotVideo" + ], + { + "title_aux": "Boyonodes" + } + ], + "https://github.com/Dream-Pixels-Forge/ComfyUI-Mzikart-Mixer": [ + [ + "ArrangementEnforcer", + "AudioPostProcessor", + "CompressorNode", + "LimiterNode", + "MasteringEffects" + ], + { + "title_aux": "ComfyUI Mzikart Mixer" + } + ], + "https://github.com/Duanyll/comfyui_functional": [ + [ + "CallClosure", + "CallClosureRemote", + "HighLevelComap", + "HighLevelFold", + "HighLevelMap", + "HighLevelMapIndexed", + "HighLevelNest", + "HighLevelNestWhile", + "HighLevelSelect", + "HighLevelTakeWhile", + "IfCondition", + "Latch", + "LogicalAnd", + "LogicalOr", + "Sleep", + "__CreateClosure__", + "__Deserialize__", + "__FunctionEnd__", + "__FunctionParam__", + "__InspectImpl__", + "__InspectPassthru__", + "__Inspect__", + "__IntermidiateCoroutine__", + "__Reap__", + "__RecoverList__", + "__Serialize__", + "__Sow__" + ], + { + "title_aux": "ComfyUI Functional" + } + ], + "https://github.com/Duanyll/duanyll_nodepack": [ + [ + "AsAny", + "BBoxCrop", + "BBoxImageStitcher", + "BBoxesToImpactPackSegs", + "ChannelIncrementalConstrainedCFGGuiderNode", + "CoverWordsWithRectangles", + "CreateArkClient", + "CreateS3Client", + "DiffusersFluxScheduler", + "DiffusersRandomNoise", + "DownloadImageFromUrl", + "DrawBBox", + "DrawBBoxMask", + "DrawTextInBBox", + "DumpJson", + "ExpandBBoxByRatio", + "FillBBoxWithImage", + "FluxKontextTrue3DPE", + "FluxTextLoraLoader", + "GetTextBBoxWithAnchor", + "HfCheckpointLoader", + "HfClipLoader", + "HfDiffusionModelLoader", + "HfDualClipLoader", + "HfLoraLoader", + "HfLoraLoaderModelOnly", + "HfQuadrupleClipLoader", + "HfTripleClipLoader", + "HfVaeLoader", + "ImageCropFromPadded", + "ImageDifferenceCmap", + "ImageLinstretch", + "ImagePadToResolution", + "InsightFaceSimilarity", + "JsonPathQuery", + "JsonPathQuerySingle", + "JsonPathUpdate", + "LaplacianVariance", + "LlmChatAddMessage", + "LlmChatCompletion", + "LlmClientSetSeed", + "LlmCreateChat", + "LlmCreateClient", + "MaskLinstretch", + "MaskToBBox", + "MergeBBoxes", + "ParseBBoxQwenVL", + "ParseJson5", + "ParseLlmJsonOutput", + "PhotoDoddleConditioning", + "QwenImageClipEnforceBfloat16", + "ReadTextFile", + "SeedEditNode", + "StringFormat", + "TextContainsChinese", + "UploadImageToS3", + "VllmHunyuanImage3Node" + ], + { + "title_aux": "Duanyll Nodepack" + } + ], + "https://github.com/EMkrtchyan/ComfyUI-NormalsToDepth": [ + [ + "DepthMathCombiner", + "FrankotChellappa", + "PoissonReconstruction" + ], + { + "title_aux": "ComfyUI-NormalsToDepth" + } + ], + "https://github.com/Eagle-CN/ComfyUI-Addoor": [ + [ + "AD_AnyFileList", + "AD_BatchImageLoadFromDir", + "AD_CSVPromptStyler", + "AD_CSVReader", + "AD_CSVTranslator", + "AD_DeleteLocalAny", + "AD_FluxTrainStepMath", + "AD_HFDownload", + "AD_ImageDrawRectangleSimple", + "AD_ImageIndexer", + "AD_ImageSaver", + "AD_LoadImageAdvanced", + "AD_PromptReplace", + "AD_TextIndexer", + "AD_TextListToString", + "AD_TextSaver", + "AD_TxtToCSVCombiner", + "AD_ZipSave", + "AD_advanced-padding", + "AD_color-image", + "AD_image-concat", + "AD_image-resize", + "AD_mockup-maker", + "AD_poster-maker", + "AD_prompt-saver", + "ImageCaptioner", + "ImageResize", + "Incrementer \ud83e\udeb4", + "TextAppendNode", + "Width and height for scaling image to ideal resolution \ud83e\udeb4", + "Width and height from aspect ratio \ud83e\udeb4", + "YANC.MultilineString", + "comfyui-easy-padding", + "image concat mask" + ], + { + "author": "ComfyUI Addoor", + "description": "Save prompts to CSV file with customizable naming pattern", + "title": "ComfyUI-PromptSaver", + "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-FlexPainter": [ + [ + "ContinueFromRGBNode", + "FlexPainter" + ], + { + "title_aux": "FlexPainter ComfyUI Wrapper" + } + ], + "https://github.com/Easymode-ai/ComfyUI-ShadowR": [ + [ + "ShadowRModelLoader", + "ShadowRShadowRemover" + ], + { + "title_aux": "ComfyUI-ShadowR" + } + ], "https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes": [ [ "InstantX Flux Union ControlNet Loader" @@ -2632,12 +6970,543 @@ "title_aux": "ComfyUI-post-processing-nodes" } ], - "https://github.com/EnragedAntelope/ComfyUI-Doubutsu-Describer": [ + "https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes": [ [ - "DoubutsuDescriber" + "EmAySee_AnyPassthrough", + "EmAySee_CalculateAspectRatio", + "EmAySee_CheckboxFloatNode", + "EmAySee_ConditionalResize", + "EmAySee_DateTimeStringNode", + "EmAySee_DimensionSwapper", + "EmAySee_DynamicRangeSlider", + "EmAySee_DynamicStringSelectorNode", + "EmAySee_FloatToText", + "EmAySee_GeminiImageGen", + "EmAySee_GetModelPath", + "EmAySee_GreaterThanNode", + "EmAySee_HostPinger", + "EmAySee_ImageGetSize", + "EmAySee_ImagePassthrough", + "EmAySee_ImagePreviewPassthrough", + "EmAySee_IntegerStringSelectorNode", + "EmAySee_IntegerStringSelectorNodeDynamic", + "EmAySee_LLMOutputCleaner", + "EmAySee_LatentSwitch", + "EmAySee_LoRA Metadata Extractor TagDrop", + "EmAySee_LoRAMetadataExtractor", + "EmAySee_LoRAMetadataExtractorTagDrop", + "EmAySee_LoraApplier", + "EmAySee_LoraFilePicker", + "EmAySee_LoraLoaderFromInput", + "EmAySee_LoraNameSelector", + "EmAySee_LoraProcessor", + "EmAySee_LoraSelector", + "EmAySee_LoraStacker20", + "EmAySee_MathExpression", + "EmAySee_MetadataFormatter", + "EmAySee_MultiMaskToBBOX", + "EmAySee_MultiplierNode", + "EmAySee_NineChoiceSelector", + "EmAySee_PadImageForOutpainting", + "EmAySee_ProbabilityStringSelectorNode", + "EmAySee_QwenPixelAligner", + "EmAySee_RandomIntFromList", + "EmAySee_RandomIntegerFromListNode", + "EmAySee_RandomIntegerFromTogglesNode_PremadeLabels", + "EmAySee_RandomLoraLoader", + "EmAySee_RandomStringSelector", + "EmAySee_RandomStringSelectorNode", + "EmAySee_RandomStringSelectorNodeFourChoice", + "EmAySee_RandomStringSelectorNodeThreeChoice", + "EmAySee_RemoveDuplicateCSV", + "EmAySee_RemoveDuplicatesFromString", + "EmAySee_RemoveDuplicatesFromStringV2", + "EmAySee_RemoveWordsFromText", + "EmAySee_RepaintKSampler", + "EmAySee_SaveImage", + "EmAySee_SaveTextToFile", + "EmAySee_StringDetector", + "EmAySee_StringPoseSelectorNode", + "EmAySee_StringTupleInputNode", + "EmAySee_SubmitToOobaboogaAPI", + "EmAySee_SubmitToOobaboogaAPIWithKey", + "EmAySee_SubmitToOobaboogaAPIWithKeyThinker", + "EmAySee_SubmitToOobaboogaAPIWithKey_WithThinkParse", + "EmAySee_SubmitToOobaboogaAPIWithKey_test", + "EmAySee_TagPruner", + "EmAySee_TextCombiner", + "EmAySee_ToggleIntNode", + "EmAySee_VAECompatibleAspectRatioCalculator", + "EmAySee_VarTextReplacer", + "EmAySee_VeryUniqueStringSelectorNode", + "EmAySee_WD14TagFilter", + "f" ], { - "title_aux": "ComfyUI-Doubutsu-Describer" + "title_aux": "ComfyUI_EmAySee_CustomNodes" + } + ], + "https://github.com/Enashka/ComfyUI-nhknodes": [ + [ + "AddHeadroom", + "Bookmark", + "ConditionalRouter", + "ConditionalRouterDual", + "ConditionalSplitter", + "ConditionalStop", + "CyclingSwitch", + "DoubleSwitch", + "DoubleSwitchOut", + "EditWithKrita", + "ExecutionCounter", + "ExtractGridPanel", + "GeminiImageChat", + "ImageEvaluator", + "ImageGridBatch", + "ImageGridComposite", + "ImageLoaderWithPreviews", + "IntervalGate", + "LLMChat", + "ListSelector", + "Load2x2GridSeries", + "Load3x3GridSeries", + "LoadImageSeries", + "LoadImageSeriesWithPrompts", + "LoadTextFiles", + "OllamaChat", + "PlaySound", + "PreviewImagePassthrough", + "RGBAFlatten", + "SaveImagePassthrough", + "SimpleTextInput", + "SizePicker", + "TextCombiner", + "TextDisplay", + "TextEncodeFlux2ImageEdit", + "TextTemplate", + "TextTemplateExtended", + "VisualResizer" + ], + { + "title_aux": "ComfyUI-nhknodes" + } + ], + "https://github.com/Enemyx-net/VibeVoice-ComfyUI": [ + [ + "LoadTextFromFileNode", + "VibeVoice Free Memory", + "VibeVoice LoRA", + "VibeVoice Load Text From File", + "VibeVoice Multiple Speakers", + "VibeVoice Single Speaker", + "VibeVoiceFreeMemoryNode", + "VibeVoiceLoRANode", + "VibeVoiceMultipleSpeakersNode", + "VibeVoiceSingleSpeakerNode" + ], + { + "title_aux": "VibeVoice ComfyUI" + } + ], + "https://github.com/Enferlain/ComfyUI-A1111-cond": [ + [ + "A1111Prompt", + "A1111PromptNegative" + ], + { + "title_aux": "ComfyUI-A1111-cond" + } + ], + "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution": [ + [ + "ConstrainResolution" + ], + { + "title_aux": "ComfyUI-ConstrainResolution" + } + ], + "https://github.com/EnragedAntelope/ComfyUI-EACloudNodes": [ + [ + "GroqNode", + "OpenRouterModels", + "OpenrouterNode" + ], + { + "title_aux": "ComfyUI-EACloudNodes" + } + ], + "https://github.com/EnragedAntelope/ComfyUI_EasyRegion": [ + [ + "EasyRegionMask", + "EasyRegionSimple" + ], + { + "title_aux": "ComfyUI_EasyRegion" + } + ], + "https://github.com/EnragedAntelope/comfy-modelopt": [ + [ + "ModelOptCalibrationHelper", + "ModelOptQuantizeUNet", + "ModelOptSaveQuantized", + "ModelOptUNetLoader" + ], + { + "title_aux": "comfy-modelopt" + } + ], + "https://github.com/EnragedAntelope/comfyui-relight": [ + [ + "ReLight" + ], + { + "title_aux": "ComfyUI-ReLight" + } + ], + "https://github.com/EnragedAntelope/comfyui-sdnq": [ + [ + "SDNQModelQuantizer", + "SDNQSampler" + ], + { + "title_aux": "comfyui-sdnq" + } + ], + "https://github.com/Erehr/ComfyUI-EreNodes": [ + [ + "ErePromptCloud", + "ErePromptFilter", + "ErePromptGallery", + "ErePromptLoraStack", + "ErePromptMultiSelect", + "ErePromptMultiline", + "ErePromptRandomizer", + "ErePromptToggle" + ], + { + "title_aux": "ComfyUI-EreNodes" + } + ], + "https://github.com/EricRollei/AAA_Metadata_System": [ + [ + "AspectRatio2StepLatent", + "CheckpointBatchInfoSetter_v074", + "CheckpointInfoSetter_v074", + "CheckpointInfoViewer_v074", + "CheckpointParamsLoader_v074", + "CheckpointTester_v074", + "ColorNameToRGB_v01", + "ColorSelector", + "CulturalColorPaletteGenerator_v01", + "EnhancedMetadataFilterNode_V2", + "EricCivitaiPromptExtractor", + "EricCivitaiPromptExtractorAutoLoader", + "EricLoadImageExtended", + "EricLoadImageWithLayers", + "EricSaveTrueSVGImage", + "Eric_Color_Palette_Analyzer_v3", + "Eric_Duplicate_Image_Finder_v04", + "Eric_Metadata_Debugger_V2", + "Eric_Metadata_Entry_V2", + "Eric_Metadata_Filter_V2", + "Eric_Metadata_Query_V3", + "Eric_Workflow_Toolkit_v2", + "EricsWordCloudNode", + "FileOrganizer", + "FlattenNestedFiles_v2", + "LoRABatchInfoSetter_v03", + "LoRABulkOperations_v03", + "LoRADatabaseMaintenance_v03", + "LoRADatabaseStats_v03", + "LoRAGalleryDisplay_v03", + "LoRAGalleryWithEdit_v03", + "LoRAInfoSetter_v03", + "LoRAInfoViewer_v03", + "LoRAParamsLoader_v03", + "LoRAQuickFeedback_v03", + "LoRATester_v03", + "MetadataAwareSaveImage_Simple", + "MetadataAwareSaveImage_v099d", + "MetadataConsolidatorNode_V2", + "Multi-LoRA Loader Flux", + "Multi-LoRA Loader Model-Only", + "Multi-LoRA Loader Qwen", + "Multi-LoRA Loader Wan-i2v", + "Multi-LoRA Loader Wan-t2v", + "Multi-LoRA Loader Z-Image", + "Multi-LoRA Loader [PLATFORM_NAME]", + "Multi-LoRA Loader v02", + "MyCustomNode", + "PngInfoDiagnosticV3", + "PngMetadataExtractorV3", + "SmartImageCropper", + "SplitWorkflowExtractorNode_V2", + "TextOverlayNode_v04", + "TriggerWordManager_v03", + "Wan22AspectRatioHelper", + "Wan22_Size_Preset" + ], + { + "nodename_pattern": "^(MetadataAwareSaveImage|Multi_LoRA_Loader|LoadImageLayers)", + "title_aux": "AAA Metadata System" + } + ], + "https://github.com/EricRollei/Comfy_HunyuanImage3": [ + [ + "HunyuanCacheStatusV2", + "HunyuanEmergencyCleanup", + "HunyuanEmptyLatent", + "HunyuanGenerateWithLatent", + "HunyuanImage3ClearDownstream", + "HunyuanImage3ForceUnload", + "HunyuanImage3FullGPULoader", + "HunyuanImage3FullLoader", + "HunyuanImage3Generate", + "HunyuanImage3GenerateHighRes", + "HunyuanImage3GenerateLarge", + "HunyuanImage3GenerateLargeBudget", + "HunyuanImage3GenerateLowVRAM", + "HunyuanImage3GenerateLowVRAMBudget", + "HunyuanImage3GenerateTelemetry", + "HunyuanImage3Int8Loader", + "HunyuanImage3Int8LoaderBudget", + "HunyuanImage3MoETest", + "HunyuanImage3NF4LoaderLowVRAMBudget", + "HunyuanImage3QuantizedLoader", + "HunyuanImage3SoftUnload", + "HunyuanImage3Unload", + "HunyuanInstructGenerate", + "HunyuanInstructImageEdit", + "HunyuanInstructLoader", + "HunyuanInstructMultiFusion", + "HunyuanInstructUnload", + "HunyuanLatentNoise", + "HunyuanPromptRewriter", + "HunyuanRAMDiagnostic", + "HunyuanUnifiedV2", + "HunyuanUnloadV2", + "HunyuanVRAMCalculatorV2" + ], + { + "title_aux": "Comfy_HunyuanImage3" + } + ], + "https://github.com/EricRollei/Download_Tools": [ + [ + "EricWebFileScraper_v082", + "GalleryDLDownloader", + "YtDlpDownloader" + ], + { + "nodename_pattern": "(Gallery-dl|Yt-dlp|Web.*Scraper)", + "title_aux": "Download Tools for ComfyUI" + } + ], + "https://github.com/EricRollei/Emu35-Comfyui-Nodes": [ + [ + "Emu35ClearCache", + "Emu35EmergencyReset", + "Emu35InterleavedGenerator", + "Emu35Loader", + "Emu35LoaderV2", + "Emu35MemoryManager", + "Emu35OfficialT2I", + "Emu35Sampler", + "Emu35T2ISamplerV2", + "Emu35VQA", + "Emu35VRAMCleanup", + "Emu35X2ISampler" + ], + { + "title_aux": "Emu35-Comfyui-Nodes" + } + ], + "https://github.com/EricRollei/Eric_Image_Processing_Nodes": [ + [ + "AdaptiveFrequencyFilter", + "AdaptiveImageEnhancement", + "AdvancedFilmGrainNode", + "AutoDenoiseComparisonNode", + "AutoDenoiseNode", + "BM3D Film Grain Denoising", + "BM3DComparisonNode", + "BM3DDeblurNode", + "BM3DDenoiseNode", + "BatchImageProcessing", + "ComprehensiveComparison", + "DeepImagePriorNode", + "DiffBIRRestorationNode", + "DnCNNDenoiseNode", + "FGANNFilmGrainDenoiseNode", + "FilmGrainAnalysis", + "FilmGrainAnalysisNode", + "FilmGrainProcessing", + "FrequencyEnhancementPresets", + "GPUWaveletDenoiseNode", + "HomomorphicFilter", + "ImageQualityAssessment", + "LB-CLAHE", + "LightweightCNNDenoiseNode", + "MemoryOptimization", + "Multi-Scale Retinex", + "MultiscaleFFTEnhancement", + "NAFNetDenoiseNode", + "Noise2VoidNode", + "NoiseDABatchNode", + "NoiseDANode", + "NonLocalMeans", + "NonLocalMeansSimple", + "PhasePreservingEnhancement", + "ProfessionalRestorationPipeline", + "RealBM3DDeblurNode", + "RealBM3DNode", + "RestormerRestorationNode", + "RichardsonLucy", + "RichardsonLucyGPU", + "RichardsonLucySimple", + "SCUNetBatchRestoration", + "SCUNetRestoration", + "Smart Sharpening", + "SmartWorkflowNode", + "StationaryWaveletDenoise", + "SwinIRBatch", + "SwinIRRestoration", + "SwinIRSharpnessBoostNode", + "WaveletDenoise", + "WienerFilter", + "WienerFilterCompare", + "WienerFilterSNR" + ], + { + "title_aux": "Eric_Image_Processing_Nodes" + } + ], + "https://github.com/EricRollei/HYPIR-ComfyUI": [ + [ + "HyperComfyUIHYPIRRestore" + ], + { + "nodename_pattern": "HYPIR", + "title_aux": "HYPIR Image Restoration for ComfyUI" + } + ], + "https://github.com/EricRollei/Local_LLM_Prompt_Enhancer": [ + [ + "DeepSeekChat", + "DeepSeekPromptRewriter", + "EricImageToImagePromptExpander", + "EricImageToVideoPromptExpander", + "EricTextToImagePromptEnhancer", + "EricVideoPromptExpander", + "EricVideoPromptExpanderAdvanced" + ], + { + "title_aux": "Eric's Prompt Enhancers for ComfyUI" + } + ], + "https://github.com/EricRollei/PDF-Tools": [ + [ + "EnhancedLayoutParser", + "EnhancedLayoutParser_v02", + "EnhancedLayoutParser_v03", + "EnhancedLayoutParser_v04", + "EnhancedLayoutParser_v05", + "EnhancedLayoutParser_v06_Streamlined", + "EnhancedPDFExtractor_v08", + "EnhancedPDFExtractor_v09", + "Eric_PDF_Extractor_Enhanced_V04", + "Eric_PDF_Extractor_Enhanced_V06", + "Eric_PDF_Extractor_Enhanced_V07", + "Eric_PDF_Extractor_Enhanced_v05", + "Florence2ImageCropper", + "Florence2ModelInfo", + "Florence2RectangleDetector", + "Florence2RegionVisualizer", + "GalleryDLDownloader", + "LayoutLMv3DocumentAnalysisNode", + "LayoutLMv3QuestionAnsweringNode", + "PaddleOCRVLRemoteNode", + "SafeLayoutLMv3Node", + "SimplePDFImageExtractor", + "SuryaLayoutOCRHybrid", + "SuryaOCR", + "SuryaOCRLayout", + "SuryaOCR_v02" + ], + { + "title_aux": "PDF Tools - Advanced PDF Processing & OCR" + } + ], + "https://github.com/EricRollei/Qwen_Layers_Diffuser_Pipeline_Comfyui": [ + [ + "EricQwenAddAlpha", + "EricQwenBatchToVideo", + "EricQwenDecompose", + "EricQwenEncode", + "EricQwenLatentCutToBatch", + "EricQwenLayerComposite", + "EricQwenLayerDescribe", + "EricQwenLayerExtract", + "EricQwenLayerInfo", + "EricQwenLayerLoad", + "EricQwenLayerPrompts", + "EricQwenLayerReorder", + "EricQwenLayerSave", + "EricQwenLayerSelector", + "EricQwenMultiLatent", + "EricQwenRGBAVAELoader", + "EricQwenStringJoin", + "EricQwenUnloadModel" + ], + { + "title_aux": "Qwen Layers Diffuser Pipeline" + } + ], + "https://github.com/EricRollei/comfyui-refocus": [ + [ + "BokehNetApply", + "ComputeDefocusMap", + "DeblurNetApply", + "DepthMetricToInverse", + "DepthMetricToRelative", + "DepthProEstimate", + "DepthProModelLoader", + "FocalMMtoPX", + "FocalPXtoMM", + "FocusPointFromMask", + "GenfocusBokeh", + "GenfocusBokehNative", + "GenfocusCondition", + "GenfocusDeblur", + "GenfocusDeblurLoader", + "GenfocusDeblurNative", + "GenfocusDefocusMapCondition", + "GenfocusGenerate", + "GenfocusLoRALoader", + "GenfocusModelLoader", + "GenfocusSwitchAdapter", + "GenfocusUnloadModels", + "SelectFocusPoint" + ], + { + "title_aux": "Refocus - Generative Refocusing" + } + ], + "https://github.com/EricRorich/ComfyUI-face-shaper": [ + [ + "RORICH-AI.COM", + "Rorich" + ], + { + "title_aux": "ComfyUI-face-shaper" + } + ], + "https://github.com/EuphoricPenguin/resemble-enhance-comfyui": [ + [ + "ResembleEnhance" + ], + { + "title_aux": "ComfyUI Resemble Enhance" } ], "https://github.com/EvilBT/ComfyUI_SLK_joy_caption_two": [ @@ -2674,6 +7543,29 @@ "title_aux": "ComfyUI-Lumina-Next-SFT-DiffusersWrapper" } ], + "https://github.com/ExoticArts/comfyui-ea-nodes": [ + [ + "EAImageCompare", + "EAImageCompare3Way", + "EAImageCompare4Way", + "EA_AutoTrimPingPong", + "EA_FilenameCombine", + "EA_LightningMotionBias", + "EA_ListVideos", + "EA_ManifestIndex", + "EA_PingPong", + "EA_PowerLora", + "EA_PowerLora_CLIP", + "EA_PowerLora_WanVideo", + "EA_TrimFrames", + "EA_TrimWindow", + "EA_VideoLoad", + "EA_VideoSaveIdempotent" + ], + { + "title_aux": "comfyui-ea-nodes" + } + ], "https://github.com/ExponentialML/ComfyUI_ModelScopeT2V": [ [ "ModelScopeT2VLoader" @@ -2721,18 +7613,21 @@ "Automatic CFG - Post rescale only", "Automatic CFG - Preset Loader", "Automatic CFG - Unpatch function", - "Automatic CFG - Warp Drive", - "SAG delayed activation", - "Temperature separate settings CLIP SDXL", - "Temperature settings CLIP", - "Temperature settings SD 1.5", - "Temperature settings SDXL", - "Zero Uncond CFG - standalone patch (incompatible with the others)" + "Automatic CFG - Warp Drive" ], { "title_aux": "ComfyUI-AutomaticCFG" } ], + "https://github.com/Extraltodeus/DistanceSampler": [ + [ + "SamplerDistance", + "SamplerDistanceAdvanced" + ], + { + "title_aux": "DistanceSampler" + } + ], "https://github.com/Extraltodeus/LoadLoraWithTags": [ [ "LoraLoaderTagsQuery" @@ -2741,18 +7636,27 @@ "title_aux": "LoadLoraWithTags" } ], - "https://github.com/Extraltodeus/Skimmed_CFG": [ + "https://github.com/Extraltodeus/Negative-attention-for-ComfyUI-": [ [ - "Skimmed CFG", - "Skimmed CFG - Clean Skim", - "Skimmed CFG - Difference CFG", - "Skimmed CFG - Timed flip", - "Skimmed CFG - linear interpolation", - "Skimmed CFG - linear interpolation dual scales", - "Skimmed CFG - replace" + "Negative cross attention", + "Negative cross attention concatenate" ], { - "title_aux": "DistanceSampler" + "title_aux": "Negative-attention-for-ComfyUI-" + } + ], + "https://github.com/Extraltodeus/Skimmed_CFG": [ + [ + "CFG_Skimming_Single_Scale_Pre_CFG", + "ConstantSkimPreCFG", + "DifferenceCFG_PreCFG", + "SkimFlipPreCFG", + "SkimReplacePreCFG", + "SkimmedCFG_LinInterp_CFG_PreCFG", + "SkimmedCFG_LinInterp_DualScales_CFG_PreCFG" + ], + { + "title_aux": "Skimmed_CFG" } ], "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": [ @@ -2815,6 +7719,37 @@ "title_aux": "sigmas_tools_and_the_golden_scheduler" } ], + "https://github.com/FaberVS/MultiModel": [ + [ + "ActiveModel", + "DenoiseSelector", + "KSamplerPipe", + "ListSelector", + "ModelParamsPipe", + "MySwitchIndex", + "ParamsPipeUnpack", + "PromptBuilder" + ], + { + "title_aux": "MultiModel" + } + ], + "https://github.com/Faildes/ComfyUI-NegativeFold": [ + [ + "FoldNegativeIntoPositiveConditioning" + ], + { + "title_aux": "ComfyUI-NegativeFold" + } + ], + "https://github.com/Faildes/ComfyUI-TC_ADV_ZPrompt": [ + [ + "TC_ADV_ZPrompt" + ], + { + "title_aux": "ComfyUI-TC_ADV_ZPrompt" + } + ], "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": [ [ "AMT VFI", @@ -3018,7 +7953,6 @@ "MeshGraphormer-DepthMapPreprocessor", "Metric3D-DepthMapPreprocessor", "Metric3D-NormalMapPreprocessor", - "Metric_DepthAnythingV2Preprocessor", "MiDaS-DepthMapPreprocessor", "MiDaS-NormalMapPreprocessor", "OneFormer-ADE20K-SemSegPreprocessor", @@ -3037,6 +7971,7 @@ "SemSegPreprocessor", "ShufflePreprocessor", "TEEDPreprocessor", + "TEED_Preprocessor", "TTPlanet_TileGF_Preprocessor", "TTPlanet_TileSimple_Preprocessor", "TilePreprocessor", @@ -3047,7 +7982,6 @@ "Zoe_DepthAnythingPreprocessor" ], { - "author": "tstandley", "preemptions": [ "AIO_Preprocessor", "AnimalPosePreprocessor", @@ -3110,6 +8044,70 @@ "title_aux": "ComfyUI-GCP-Storage" } ], + "https://github.com/FaraamFide/ComfyUI-ParamNodes": [ + [ + "HelperModelSwitch", + "ParamBoolean", + "ParamFloat", + "ParamImage", + "ParamInt", + "ParamString", + "ParamUniversal" + ], + { + "title_aux": "ComfyUI-ParamNodes" + } + ], + "https://github.com/FearL0rd/ComfyUI-AnyDeviceOffload": [ + [ + "AnyDeviceOffload" + ], + { + "title_aux": "ComfyUI Any-Device Offload" + } + ], + "https://github.com/FearL0rd/ComfyUI-ComfyUI-Flash-Attention_v100": [ + [ + "FlashAttnV100Controller", + "FlashAttnV100Status" + ], + { + "title_aux": "ComfyUI-ComfyUI-Flash-Attention_v100" + } + ], + "https://github.com/FearL0rd/ComfyUI-MaskAIFingerprint": [ + [ + "MaskAIFingerprint" + ], + { + "title_aux": "ComfyUI MaskAIFingerprint" + } + ], + "https://github.com/FearL0rd/ComfyUI-ParallelAnything": [ + [ + "ParallelAnything", + "ParallelDevice", + "ParallelDeviceList" + ], + { + "title_aux": "ComfyUI-ParallelAnything" + } + ], + "https://github.com/FeiMao-326/Comfyui-General-API-Node": [ + [ + "FeiMao_326_GeneralAPINode", + "FeiMao_326_GetListElement", + "FeiMao_326_JsonParser", + "FeiMao_326_TextBatchReplace", + "FeiMao_326_TextIterator", + "FeiMao_326_TextSplitByDelimiter", + "ShowTextNode", + "SimpleTextNode" + ], + { + "title_aux": "Comfyui-General-API-Node" + } + ], "https://github.com/Feidorian/feidorian-ComfyNodes": [ [], { @@ -3117,15 +8115,65 @@ "title_aux": "feidorian-ComfyNodes" } ], + "https://github.com/FemReiyaDev/ComfyUI-ReiyaNodes": [ + [ + "ReiImageStitch" + ], + { + "title_aux": "ComfyUI-ReiyaNodes" + } + ], + "https://github.com/Ferocit/comfyui-feroccustomnodes": [ + [ + "LoadDescriptionNode", + "RandomLineFromText" + ], + { + "title_aux": "comfyui-feroccustomnodes" + } + ], + "https://github.com/FewBox/fewbox-outfit-comfyui": [ + [ + "FewBoxInContextLora", + "FewBoxLab", + "FewBoxSaveImage", + "FewBoxWatermark", + "FewBoxWebDAV" + ], + { + "title_aux": "fewbox-outfit-comfyui" + } + ], "https://github.com/Fictiverse/ComfyUI_Fictiverse": [ [ "Add Margin With Color", + "Any to Int/Float/String", + "Audio Duration", + "Camera Settings", + "Character Appearance", + "Character Clothing", + "Character Expressions", + "Character Makeup", + "Clamp Images To Megapixels", + "Clean Style From Caption", "Essential Params", + "Essential Params Expand", + "FV Get Image Half Size", + "Get Last Output Video Path", "If Image Valid", "Image Params", + "Image Params Expand", "Is Image Valid ?", + "LoRA Enable With Prefix", + "Math Operation", "None if same Image", - "Video Params" + "Prompt Assembler", + "Resize Images To Megapixels", + "Resize To Megapixels", + "Text Enable With Prefix", + "Video Params", + "Video Params Expand", + "WaveformDevice" ], { "title_aux": "ComfyUI Fictiverse Nodes" @@ -3141,10 +8189,58 @@ "title_aux": "IC-Light-ComfyUI-Node" } ], + "https://github.com/FinetunersAI/ComfyUI_Finetuners_Suite": [ + [ + "AutoImageResize", + "GroupLink", + "ModelListNode", + "VariablesInjector", + "VariablesLogicNode" + ], + { + "title_aux": "ComfyUI_Finetuners_Suite" + } + ], + "https://github.com/Firetheft/ComfyUI_Civitai_Gallery": [ + [ + "CivitaiGalleryNode", + "CivitaiModelsGalleryNode" + ], + { + "title_aux": "ComfyUI Civitai Gallery" + } + ], + "https://github.com/Firetheft/ComfyUI_Local_Lora_Gallery": [ + [ + "LocalLoraGallery", + "LocalLoraGalleryModelOnly", + "LocalLoraGalleryStackApply", + "LocalLoraGalleryStacker" + ], + { + "title_aux": "ComfyUI_Local_Lora_Gallery" + } + ], + "https://github.com/Firetheft/ComfyUI_Pixabay_Gallery": [ + [ + "PixabayImageNode", + "PixabayVideoNode" + ], + { + "title_aux": "ComfyUI_Pixabay_Gallery" + } + ], + "https://github.com/Firetheft/ComfyUI_Simple_Web_Browser": [ + [ + "WebViewerNode" + ], + { + "title_aux": "ComfyUI_Simple_Web_Browser" + } + ], "https://github.com/FizzleDorf/ComfyUI-AIT": [ [ - "AIT_Unet_Loader", - "AIT_VAE_Encode_Loader" + "AIT_Unet_Loader" ], { "title_aux": "ComfyUI-AIT" @@ -3154,11 +8250,9 @@ [ "AbsCosWave", "AbsSinWave", - "BatchGLIGENSchedule", "BatchPromptSchedule", "BatchPromptScheduleEncodeSDXL", "BatchPromptScheduleLatentInput", - "BatchPromptScheduleNodeFlowEnd", "BatchPromptScheduleSDXLLatentInput", "BatchStringSchedule", "BatchValueSchedule", @@ -3168,6 +8262,7 @@ "CosWave", "FizzFrame", "FizzFrameConcatenate", + "ImageBatchFromValueSchedule", "ImagesFromBatchSchedule", "Init FizzFrame", "InvCosWave", @@ -3178,6 +8273,7 @@ "PromptScheduleNodeFlow", "PromptScheduleNodeFlowEnd", "SawtoothWave", + "SelectFrameNumber", "SinWave", "SquareWave", "StringConcatenate", @@ -3190,6 +8286,39 @@ "title_aux": "FizzNodes" } ], + "https://github.com/Flow-two/ComfyUI-WanStartEndFramesNative": [ + [ + "GetImagesFromBatchRanged_F2", + "WanImageToVideo_F2", + "WanSkipEndFrameImages_F2" + ], + { + "title_aux": "ComfyUI-WanStartEndFramesNative" + } + ], + "https://github.com/FloyoAI/ComfyUI-Seed-API": [ + [ + "ResolutionHelper", + "SeedChat", + "SeedEditImageToImage", + "SeedanceLiteFirstLastFrame", + "SeedanceLiteImageToVideo", + "SeedanceLiteReferenceImages", + "SeedanceLiteTextToVideo", + "SeedancePro15Video", + "SeedanceProTextImageToVideo", + "Seedream4BatchGeneration", + "Seedream4ImageToImage", + "Seedream4MultiImageBlending", + "Seedream4TextToImage", + "Seedream4Unified", + "SeedreamTextToImage", + "VideoToFrames" + ], + { + "title_aux": "ComfyUI Seed API Integration" + } + ], "https://github.com/FlyingFireCo/tiled_ksampler": [ [ "Asymmetric Tiled KSampler", @@ -3217,6 +8346,73 @@ "title_aux": "ComfyUI-Mana-Nodes" } ], + "https://github.com/FortunaCournot/comfyui_stereoscopic": [ + [ + "CalculateDimensions", + "ColorCorrectBatch", + "DecryptWatermark", + "EncryptWatermark", + "GetResolutionForVR", + "GradeVariant", + "ImageVRConverter", + "JoinVariantProperties", + "LinearFade", + "LoadImageAdvanced", + "RegexSubstitute", + "SaveAudioSimple", + "SaveStrippedUTF8File", + "ScaleByFactor", + "ScaleToResolution", + "SpecVariants", + "StripXML", + "VRwearePause", + "VRwearePauseLatent", + "VRweareResume", + "VariantPromptBuilder", + "strftime" + ], + { + "title_aux": "Stereoscopic" + } + ], + "https://github.com/Fossiel/ComfyUI-Fossiel-QoL-Nodes": [ + [ + "FossielCentralControlLite", + "FossielCentralControl_v2", + "FossielDenoisePrecisionKSampler", + "FossielLevelMatcher", + "FossielResolutionWrangler", + "FossielSequenceWrangler", + "FossielVideoDeflicker", + "FossielWebPWrangler", + "Fossiel_Sensor_KSampler_Switch", + "Fossiel_Sensor_Switch_Clip", + "Fossiel_Sensor_Switch_Conditioning", + "Fossiel_Sensor_Switch_Image", + "Fossiel_Sensor_Switch_Latent", + "Fossiel_Sensor_Switch_Mask", + "Fossiel_Sensor_Switch_Model", + "Fossiel_Sensor_Switch_VAE" + ], + { + "title_aux": "ComfyUI-Fossiel-QoL-Nodes" + } + ], + "https://github.com/Fossiel/ComfyUI-Fossiel-WAN-Additional-Tilers": [ + [ + "Wan22AnimateToVideoTiled", + "Wan22FirstMiddleLastFrameToVideoTiled", + "Wan22FunControlToVideoTiled", + "Wan22PainterFLF2VTiled", + "Wan22PainterI2VTiled", + "Wan22PainterLongVideoTiled", + "Wan22SoundImageToVideoExtendTiled", + "Wan22SoundImageToVideoTiled" + ], + { + "title_aux": "ComfyUI-Fossiel-WAN-Additional-Tilers" + } + ], "https://github.com/Franck-Demongin/NX_HuggingFace_Flux": [ [ "HFFlux" @@ -3241,6 +8437,47 @@ "title_aux": "NX_Translator" } ], + "https://github.com/FranckyB/ComfyUI-Prompt-Manager": [ + [ + "AudioMonoToStereo", + "GetVideoComponentsPlus", + "LoadLatentFile", + "PromptApplyLora", + "PromptExtractor", + "PromptGenOptions", + "PromptGenerator", + "PromptManager", + "PromptManagerAdvanced", + "SaveVideoH26x" + ], + { + "title_aux": "ComfyUI-Prompt-Manager" + } + ], + "https://github.com/Franklyc/comfyui-lora-adain-patcher-node": [ + [ + "LoraAdaLNPatcher" + ], + { + "title_aux": "ComfyUI LoRA adaLN Patcher Node" + } + ], + "https://github.com/Frief84/ComfyUI-LoRAWeightAxisXY": [ + [ + "XY Input: LoRA Weight (simple)" + ], + { + "title_aux": "ComfyUI-LoRAWeightAxisXY" + } + ], + "https://github.com/FunnyFinger/ComfyUi-RadarWeightNode": [ + [ + "RadarWeightsNode" + ], + { + "title_aux": "Radar Weights Node" + } + ], "https://github.com/FuouM/ComfyUI-EbSynth": [ [ "ES_Guides7", @@ -3276,6 +8513,19 @@ "title_aux": "ComfyUI-FirstOrderMM" } ], + "https://github.com/FuouM/ComfyUI-MatAnyone": [ + [ + "MatAnyone", + "SolidColorBatched" + ], + { + "author": "Fuou Marinas", + "description": "A collection of nodes.", + "nickname": "FM_nodes", + "title": "FM Nodes", + "title_aux": "ComfyUI-MatAnyone" + } + ], "https://github.com/FuouM/ComfyUI-StyleTransferPlus": [ [ "AESFA", @@ -3311,6 +8561,7 @@ "StabStitch", "StabStitch_Crop_Resize", "StabStitch_Stabilize", + "VFI_MAMBA", "WFEN" ], { @@ -3321,6 +8572,34 @@ "title_aux": "FM_nodes" } ], + "https://github.com/FuryNocturn/ComfyUI-Dummy_Node_Pack": [ + [ + "ACN_AdvancedControlNetApply_v2", + "ACN_ControlNetLoaderAdvanced", + "ECHOCheckpointLoaderSimple", + "KSampler_A1111" + ], + { + "title_aux": "ComfyUI-Dummy_Node_Pack" + } + ], + "https://github.com/FuryNocturn/ComfyUI-Studio-Fury": [ + [ + "SF_ActionAnimator", + "SF_AddEntity", + "SF_AssetLoader", + "SF_DirectorEngine", + "SF_FurySampler", + "SF_ProjectManager", + "SF_SceneComposer", + "SF_SmartSaver", + "StudioFury_AdvancedPrompt", + "StudioFury_EmbeddingsSelector" + ], + { + "title_aux": "ComfyUI-Studio-Fury" + } + ], "https://github.com/Fuwuffyi/ComfyUI-VisualArea-Nodes": [ [ "VisualAreaPrompt", @@ -3346,41 +8625,80 @@ "title_aux": "ComfyUI-SD3-Powerlab" } ], - "https://github.com/GMapeSplat/ComfyUI_ezXY": [ + "https://github.com/GACLove/ComfyUI-VFI": [ [ - "ConcatenateString", - "ItemFromDropdown", - "IterationDriver", - "JoinImages", - "LineToConsole", - "NumberFromList", - "NumbersToList", - "PlotImages", - "StringFromList", - "StringToLabel", - "StringsToList", - "ezMath", - "ezXY_AssemblePlot", - "ezXY_Driver" + "CalculateLoadedFPS", + "RIFEInterpolation" ], { - "title_aux": "ezXY scripts and nodes" + "title_aux": "ComfyUI-VFI" + } + ], + "https://github.com/GENKAIx/PixelArt-Processing-Nodes-for-ComfyUI": [ + [ + "PixelArtDownscaleNode", + "PixelArtNode" + ], + { + "title_aux": "PixelArt Processing Nodes" + } + ], + "https://github.com/GHOSTLXH/ComfyUI-Counternodes": [ + [ + "AlternatingOutput", + "AlternatingOutputB", + "ImageCounter", + "IntervalCounter", + "IntervalCounterB", + "LoadPromptFromTXT" + ], + { + "title_aux": "ComfyUI-Counternodes" } ], "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": [ [ "Danbooru (ID)", "Danbooru (Random)", + "DanbooruID", + "DanbooruRandom", "Random File From Path", + "RandomFileFromPath", "Replace Strings", + "ReplaceStrings", "Simple Wildcards", "Simple Wildcards (Dir.)", - "Wildcards Nodes" + "SimpleWildcards", + "SimpleWildcardsDir", + "Wildcards Nodes", + "WildcardsNodes" ], { "title_aux": "ComfyUI-GTSuya-Nodes" } ], + "https://github.com/GZK1108/Comfyui-QwenLoraLoaderSelective": [ + [ + "LoadLoraQwenImage" + ], + { + "title_aux": "Comfyui-QwenLoraLoaderSelective" + } + ], + "https://github.com/GadzoinksOfficial/comfyui_gprompts": [ + [ + "GPrompts", + "Save Image With Notes", + "String Formatter" + ], + { + "author": "gadzoinksofficial", + "description": "Another dynamic prompt node, designed to be easy to use and support wildcards", + "nickname": "Gprompts", + "title": "Gprompts", + "title_aux": "Gprompts" + } + ], "https://github.com/GadzoinksOfficial/gadzoinks_ComfyUI": [ [ "Gadzoinks" @@ -3393,14 +8711,90 @@ "title_aux": "Gadzoinks" } ], + "https://github.com/GamingDaveUk/daves_nodes": [ + [ + "davesTextToList" + ], + { + "title_aux": "Daves Nodes" + } + ], + "https://github.com/Gary-yeh/ComfyUI-WebPrompter": [ + [ + "ContentFetcher (WebPrompter)", + "LLMNewsScriptGenerator (WebPrompter)" + ], + { + "title_aux": "ComfyUI-WebPrompter" + } + ], + "https://github.com/Gary-yeh/comfyui-super-captioner": [ + [ + "SuperCaptioner" + ], + { + "title_aux": "comfyui-super-captioner" + } + ], "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": [ [ - "SD3LatentSelectRes" + "SD3LatentSelectRes", + "SD3LatentSelectResV2" ], { "title_aux": "ComfyUI-SD3LatentSelectRes" } ], + "https://github.com/GavChap/ComfyUI_ExtractLora": [ + [ + "ExtractLoRA" + ], + { + "title_aux": "ComfyUI_ExtractLora" + } + ], + "https://github.com/GeekatplayStudio/ComfyUI-Text2Speech": [ + [ + "HttpTTSToAudio", + "TTSServerStatus" + ], + { + "title_aux": "ComfyUI-Text2Speech" + } + ], + "https://github.com/GeekatplayStudio/comfyui-hitem3d": [ + [ + "DynamicValueGenerator", + "HTMLPreviewer", + "HiTem3DConfigNode", + "HiTem3DDownloaderNode", + "HiTem3DHistoryNode", + "HiTem3DNode", + "HiTem3DPreviewNode", + "TextTemplate" + ], + { + "title_aux": "ComfyUI HiTem3D Integration" + } + ], + "https://github.com/GeekyGhost/ComfyUI-Geeky-Kokoro-TTS": [ + [ + "GeekyKokoroAdvancedVoice", + "GeekyKokoroTTS" + ], + { + "title_aux": "ComfyUI-Geeky-Kokoro-TTS" + } + ], + "https://github.com/GeekyGhost/ComfyUI-Geeky-LatentSyncWrapper": [ + [ + "GeekyLatentSyncNode", + "GeekyVideoLengthAdjuster" + ], + { + "title_aux": "ComfyUI-Geeky-LatentSyncWrapper 1.5" + } + ], "https://github.com/GeekyGhost/ComfyUI-GeekyRemB": [ [ "GeekyRemB" @@ -3409,6 +8803,50 @@ "title_aux": "ComfyUI-GeekyRemB" } ], + "https://github.com/GeekyGhost/ComfyUI-Image-Segmenting-Loader": [ + [ + "GeekyQwenCompositor", + "GeekyQwenEffects", + "GeekyQwenSegmentLoader" + ], + { + "title_aux": "ComfyUI-Image-Segmenting-Loader" + } + ], + "https://github.com/GeekyGhost/ComfyUI_Geeky_AudioMixer": [ + [ + "GeekyAudioMixer" + ], + { + "title_aux": "ComfyUI Geeky AudioMixer" + } + ], + "https://github.com/GegenDenTag/ComfyUI-multi-area-condition-node": [ + [ + "MultiAreaConditioning" + ], + { + "title_aux": "Multi Area Conditioning" + } + ], + "https://github.com/GeneralShan/comfyui-zimage-sdnq": [ + [ + "ZImageSDNQCannyPreprocess", + "ZImageSDNQClearCaches", + "ZImageSDNQControlLoRAApply", + "ZImageSDNQControlPipelineLoader", + "ZImageSDNQDepthPreprocess", + "ZImageSDNQLoRAApply", + "ZImageSDNQPipelineLoader", + "ZImageSDNQSamplerControl", + "ZImageSDNQSamplerI2I", + "ZImageSDNQSamplerInpaint", + "ZImageSDNQSamplerT2I" + ], + { + "title_aux": "comfyui-zimage-sdnq" + } + ], "https://github.com/GentlemanHu/ComfyUI-SunoAI": [ [ "GentlemanHu_SunoAI", @@ -3418,17 +8856,128 @@ "title_aux": "ComfyUI Suno API" } ], + "https://github.com/Geo1230/ComfyUI-DeepseekOCR": [ + [ + "DeepSeekOCR_Load", + "DeepSeekOCR_Run" + ], + { + "title_aux": "ComfyUI-DeepseekOCR" + } + ], + "https://github.com/GeraldWie/ComfyUI-I2I-slim": [ + [ + "Color Transfer Slim", + "Combine and Paste Slim", + "Inpaint Segments Slim", + "Mask Ops Slim" + ], + { + "author": "GeraldWie", + "title": "ComfyI2I-lite", + "title_aux": "ComfyUI-I2I-slim" + } + ], + "https://github.com/Gipphe/comfyui-metadata-statistics": [ + [ + "RecordModels" + ], + { + "title_aux": "ComfyUI Metadata Statistics" + } + ], "https://github.com/GiusTex/ComfyUI-DiffusersImageOutpaint": [ [ "DiffusersImageOutpaint", "EncodeDiffusersOutpaintPrompt", - "LoadDiffusersOutpaintModels", + "LoadDiffuserControlnet", + "LoadDiffuserModel", "PadImageForDiffusersOutpaint" ], { "title_aux": "ComfyUI-DiffusersImageOutpaint" } ], + "https://github.com/GiusTex/ComfyUI-MoreEfficientSamplers": [ + [ + "SamplerCustomAdvanced_Efficient", + "SamplerCustomUltraAdvancedEfficient", + "SamplerCustomUltraAdvancedPlusEfficient" + ], + { + "title_aux": "ComfyUI-MoreEfficientSamplers" + } + ], + "https://github.com/GiusTex/ComfyUI-Wan-TimeToMove": [ + [ + "CFGFloatListScheduler", + "EncodeWanVideo", + "TTMLatentAdd", + "TimeToMoveGuider" + ], + { + "title_aux": "ComfyUI-Wan-TimeToMove" + } + ], + "https://github.com/GizmoR13/PG-Nodes": [ + [ + "PgCheckpointSelect", + "PgClipSelect", + "PgClipVisionSelect", + "PgControlNetSelect", + "PgCpSwitch", + "PgCreateHookLoraBoth", + "PgCreateHookLoraClipOnly", + "PgCreateHookLoraModelOnly", + "PgDiffusionSelect", + "PgIPAdapterSelect", + "PgJustSaveImage", + "PgJustSaveImageOut", + "PgLORASelect", + "PgLazyPrompt", + "PgLazyPromptExt", + "PgLazyPromptMini", + "PgLoraBridgeLoader", + "PgMergeLoraBoth", + "PgMergeLoraClipOnly", + "PgMergeLoraModelOnly", + "PgPercentFloat", + "PgSamplerSelect", + "PgSamplerSelectCombo", + "PgSchedulerSelect", + "PgSchedulerSelectCombo", + "PgSetClipHooks", + "PgSetHookKeyframes", + "PgSetModelHooks", + "PgSwapCFGGuidance", + "PgUniCheckpointSelect", + "PgUniClipSelect", + "PgUniClipVisionSelect", + "PgUniControlNetSelect", + "PgUniDiffusionSelect", + "PgUniIPAdapterSelect", + "PgUniLORASelect", + "PgUniUpscaleSelect", + "PgUniVAESelect", + "PgUnifiedLoader", + "PgUnifiedLoaderMini", + "PgUpscaleSelect", + "PgVAESelect", + "PgXorDualToggle" + ], + { + "title_aux": "PG Nodes" + } + ], + "https://github.com/Glidias/mask2sam": [ + [ + "MaskToBBoxes", + "MaskToPoints" + ], + { + "title_aux": "mask2sam" + } + ], "https://github.com/Goktug/comfyui-saveimage-plus": [ [ "SaveImagePlus" @@ -3437,7 +8986,52 @@ "title_aux": "Save Image Plus for ComfyUI" } ], - "https://github.com/Gourieff/comfyui-reactor-node": [ + "https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit": [ + [ + "HaoranWanxAPILoader", + "HaoranWanxImageEdit", + "HaoranWanxPromptHelper" + ], + { + "title_aux": "ComfyUI-HaoranWanxImageEdit" + } + ], + "https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes": [ + [ + "Gemini25FlashImage", + "Gemini3ProImage", + "GeminiNode25", + "Imagen3TextToImageNode", + "Imagen4TextToImageNode", + "Lyria2TextToMusicNode", + "Veo2GcsUriImageToVideoNode", + "Veo2ImageToVideoNode", + "Veo2TextToVideoNode", + "Veo3GcsUriImageToVideoNode", + "Veo3ImageToVideoNode", + "Veo3ReferenceToVideo", + "Veo3TextToVideoNode", + "VeoVideoSaveAndPreview", + "VeoVideoToVHSNode", + "VirtualTryOn" + ], + { + "title_aux": "comfyui-google-genmedia-custom-nodes" + } + ], + "https://github.com/Goshe-nite/comfyui-gps-supplements": [ + [ + "KSampler to Image Saver", + "Lora Prompt Concatenation", + "Lora to String", + "Model to String", + "gpsdebugger" + ], + { + "title_aux": "GPS' Supplements for ComfyUI" + } + ], + "https://github.com/Gourieff/ComfyUI-ReActor": [ [ "ImageRGBA2RGB", "ReActorBuildFaceModel", @@ -3450,28 +9044,88 @@ "ReActorMaskHelper", "ReActorOptions", "ReActorRestoreFace", + "ReActorRestoreFaceAdvanced", "ReActorSaveFaceModel", + "ReActorSetWeight", "ReActorUnload" ], { - "title_aux": "ReActor Node for ComfyUI" + "title_aux": "comfyui-reactor-node" + } + ], + "https://github.com/GraftingRayman/Border-Distance-Mapper": [ + [ + "BorderDistanceMapper" + ], + { + "title_aux": "Border Distance Mapper" + } + ], + "https://github.com/GraftingRayman/ComfyUI-Dimension-Selector": [ + [ + "DimensionSelector" + ], + { + "title_aux": "ComfyUI Visual Dimension Selector" + } + ], + "https://github.com/GraftingRayman/ComfyUI-Games": [ + [ + "ArkanoidNode", + "CheckersNode", + "PacManNode", + "SnakeNode", + "TetrisNode", + "TicTacToeNode" + ], + { + "title_aux": "ComfyUI-Games" + } + ], + "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR": [ + [ + "GRApplyPulidFlux", + "GRPulidFluxEvaClipLoader", + "GRPulidFluxInsightFaceLoader", + "GRPulidFluxModelLoader" + ], + { + "title_aux": "ComfyUI-PuLID-Flux-GR" + } + ], + "https://github.com/GraftingRayman/ComfyUI-ZImage-Bake-Extract": [ + [ + "ZImageLoRA Manager Advanced", + "ZImageLoraManagerAdvanced", + "ZImageLoraMergerAdvanced" + ], + { + "title_aux": "ComfyUI-ZImage-Bake-Extract" } ], "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 Filename", "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 Multiplication", + "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", @@ -3482,20 +9136,65 @@ "GR Pan Or Zoom", "GR Prompt Generator", "GR Prompt Generator Extended", + "GR Prompt Generator1", "GR Prompt HUB", + "GR Prompt Replacer", "GR Prompt Selector", "GR Prompt Selector Multi", "GR Prompty", "GR Scroller", + "GR Sigma Presets", + "GR Sigmas", "GR Stack Image", "GR Text Overlay", "GR Tile and Border Image", - "GR Tile and Border Image Random Flip" + "GR Tile and Border Image Random Flip", + "GRAnySelector", + "GRAudioSelector", + "GRImageSelector", + "GRLoraLoader", + "GRMenuHook", + "GRPromptReplacer", + "GRPromptViewer" ], { "title_aux": "GraftingRayman" } ], + "https://github.com/GraftingRayman/ComfyUI_QueueTube": [ + [ + "GR QueueTube" + ], + { + "title_aux": "ComfyUI QueueTube" + } + ], + "https://github.com/GraftingRayman/Unified-Vision-Prompt-Generator": [ + [ + "UnifiedVisionPromptGenerator" + ], + { + "title_aux": "Unfied Vision Prompt Generator" + } + ], + "https://github.com/GrailGreg/images_base64": [ + [ + "SaveImage64", + "ShowText64" + ], + { + "title_aux": "Image Saving and Base64 Encoding Script" + } + ], + "https://github.com/Granddyser/wan-video-extender": [ + [ + "WanVideoExtenderLowHigh", + "WanVideoExtenderNative" + ], + { + "title_aux": "Wan-video-extender" + } + ], "https://github.com/GreenLandisaLie/AuraSR-ComfyUI": [ [ "AuraSR.AuraSRUpscaler" @@ -3504,13 +9203,29 @@ "title_aux": "AuraSR-ComfyUI" } ], - "https://github.com/GrenKain/PixelArt-Processing-Nodes-for-ComfyUI": [ + "https://github.com/GreenLandisaLie/ComfyUI-BooruBrowser": [ [ - "PixelArtDownscaleNode", - "PixelArtNode" + "SILVER_FL_BooruBrowser", + "SILVER_Online_Video_Frame_Extractor" ], { - "title_aux": "PixelArt Processing Nodes" + "title_aux": "ComfyUI-BooruBrowser" + } + ], + "https://github.com/GreenLandisaLie/ComfyUI-RichText_BasicDynamicPrompts": [ + [ + "SILVER_BasicDynamicPrompts" + ], + { + "title_aux": "ComfyUI-RichText_BasicDynamicPrompts" + } + ], + "https://github.com/GroxicTinch/EasyUI-ComfyUI": [ + [ + "UINode" + ], + { + "title_aux": "EasyUI" } ], "https://github.com/GrvBdgr/comfyui-negativewildcardsprocessor": [ @@ -3522,6 +9237,47 @@ "title_aux": "Negative Wildcard Processor Node for ComfyUI" } ], + "https://github.com/GuardSkill/ComfyUI-VoiceSep": [ + [ + "ClearVoiceModelLoader", + "ClearVoiceSpeechSeparation" + ], + { + "title_aux": "ComfyUI-VoiceSep" + } + ], + "https://github.com/Gue-e/ComfyUI-PanoCard": [ + [ + "PanoCardViewer", + "PanoCondAllBatch", + "PanoCondFaceBatch", + "PanoCondFaceClamp", + "PanoCondFaceDetailerHook", + "PanoCondFaceUnPack", + "PanoImage2FaceSplit", + "PanoImageAdjust", + "PanoImageEqu2Equ", + "PanoImageEqu2Face", + "PanoImageEqu2Pic", + "PanoImageFace2Equ", + "PanoImageFaceClamp", + "PanoImageFaceToLong", + "PanoImageHeightPad", + "PanoImagePad", + "PanoImagePic2Equ", + "PanoImageRoll", + "PanoImageUnPack", + "PanoImageWidthPad", + "PanoLongMaskSplit", + "PanoMaskUnPack", + "PanoPipe", + "PanoPromptSplit", + "PanoRegionalPrompt" + ], + { + "title_aux": "ComfyUI-PanoCard" + } + ], "https://github.com/Guillaume-Fgt/ComfyUI_StableCascadeLatentRatio": [ [ "StableCascadeLatentRatio" @@ -3547,6 +9303,233 @@ "title_aux": "ComfyUI-FilePathCreator" } ], + "https://github.com/HJH-AILab/ComfyUI_CosyVoice2": [ + [ + "CosyVoiceModel", + "CosyVoiceNode", + "HJHCosyVoiceSaveAudio" + ], + { + "title_aux": "ComfyUI_CosyVoice2" + } + ], + "https://github.com/HJH-AILab/ComfyUI_Facefusion": [ + [ + "FacefusionFaceEnhancerProcessor", + "FacefusionFaceSwapperProcessor", + "FacefusionFrameEnhancerProcessor", + "FacefusionLipSyncerProcessor", + "FacefusionOptionsNode", + "FacefusionProcesserOptionsNode", + "FacefusionProcessingNode" + ], + { + "title_aux": "ComfyUI_Facefusion" + } + ], + "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_AudioUploader", + "RH_BatchImages", + "RH_ExecuteNode", + "RH_ExtractImage", + "RH_ImageUploaderNode", + "RH_NodeInfoListNode", + "RH_SettingsNode", + "RH_Utils", + "RH_VideoUploader" + ], + { + "title_aux": "ComfyUI_RH_APICall" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_DMOSpeech2": [ + [ + "RunningHub DMOSpeech2" + ], + { + "title_aux": "ComfyUI DMOSpeech2 Node" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_DreamOmni2": [ + [ + "RunningHub DreamOmni2 Edit Pipeline", + "RunningHub DreamOmni2 Editor", + "RunningHub DreamOmni2 Gen Pipeline", + "RunningHub DreamOmni2 Generator" + ], + { + "title_aux": "ComfyUI DreamOmni2 Node" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_FramePack": [ + [ + "RunningHub_FramePack", + "RunningHub_FramePack_F1" + ], + { + "title_aux": "ComfyUI_RH_FramePack" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_ICCustom": [ + [ + "RunningHub ICCustom Loader", + "RunningHub ICCustom Sampler" + ], + { + "title_aux": "ComfyUI IC-Custom Node" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_LLM_API": [ + [ + "RH_LLMAPI_NODE" + ], + { + "title_aux": "ComfyUI_RH_LLM_API" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl": [ + [ + "RunningHub_Omini_Fill", + "RunningHub_Omini_Spatial", + "RunningHub_Omini_Subject" + ], + { + "title_aux": "ComfyUI_RH_OminiControl" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_OneReward": [ + [ + "RunningHub OneReward Eraser", + "RunningHub OneReward Loader", + "RunningHub OneReward Sampler" + ], + { + "title_aux": "ComfyUI OneReward Node" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_Ovi": [ + [ + "RunningHub Ovi Image to Video", + "RunningHub Ovi Model Loader", + "RunningHub Ovi Text to Video" + ], + { + "title_aux": "ComfyUI Ovi Node" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_QwenImageI2L": [ + [ + "RunningHub_ImageQwenI2L_Loader(CFB)", + "RunningHub_ImageQwenI2L_Loader(Style)", + "RunningHub_ImageQwenI2L_LoraGenerator" + ], + { + "title_aux": "ComfyUI_RH_QwenImageI2L" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_SeedXPro": [ + [ + "RunningHub SeedXPro Translator" + ], + { + "title_aux": "ComfyUI SeedXPro Translation Node" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_Step1XEdit": [ + [ + "RunningHub_Step1XEdit" + ], + { + "title_aux": "ComfyUI_RH_Step1XEdit" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_UNO": [ + [ + "RunningHub_UNO_Loadmodel", + "RunningHub_UNO_Sampler" + ], + { + "title_aux": "ComfyUI_RH_UNO" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_USO": [ + [ + "RunningHub USO Loader", + "RunningHub USO Sampler" + ], + { + "title_aux": "ComfyUI USO Node" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_VideoAsPrompt": [ + [ + "RunningHub VideoAsPrompt Loader", + "RunningHub VideoAsPrompt Sampler(CogVideoX)" + ], + { + "title_aux": "ComfyUI_RH_VideoAsPrompt" + } + ], + "https://github.com/HM-RunningHub/ComfyUI_RH_mammothmoda": [ + [ + "RunningHub Mammothmoda Loader", + "RunningHub Mammothmoda T2I Sampler" + ], + { + "title_aux": "ComfyUI_RH_mammothmoda" + } + ], + "https://github.com/HMG-Fiverr/ComfyUI-RandomNumberButton": [ + [ + "RandomNumberButton" + ], + { + "title_aux": "Random Number Button" + } + ], + "https://github.com/HSDHCdev/ComfyUI-AI-Pixel-Art-Enhancer": [ + [ + "AIPixelArtEnhancer" + ], + { + "title_aux": "AI Pixel Art Enhancer for ComfyUI" + } + ], + "https://github.com/HWDigi/Factory-Prompts_comfyui": [ + [ + "FactoryPromptsNegative", + "FactoryPromptsNegativeCategorized", + "FactoryPromptsNegativeToggle", + "FactoryPromptsPositive" + ], + { + "title_aux": "Factory Prompt Generator" + } + ], + "https://github.com/Hahihula/ComfyUI-batching-nodes": [ + [ + "BatchImageLoaderNode", + "ImageFromBatchNode", + "PromptFromListNode", + "PromptLoopNode" + ], + { + "title_aux": "ComfyUI-batching-nodes" + } + ], "https://github.com/Haiper-ai/ComfyUI-HaiperAI-API": [ [ "HaiperImage2Video", @@ -3558,50 +9541,45 @@ "title_aux": "ComfyUI-HaiperAI-API" } ], - "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream": [ + "https://github.com/HallettVisual/ComfyUI-Qwen-Camera-Selector": [ [ - "Moondream Interrogator" + "QwenCameraPromptBuilder" ], { - "author": "AlexL", - "description": "An implementation of the moondream visual LLM", - "nickname": "Hangover-Moondream", - "title": "ComfyUI-Hangover-Moondream", - "title_aux": "ComfyUI-Hangover-Moondream" + "title_aux": "ComfyUI-Qwen-Camera-Selector" } ], - "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes": [ + "https://github.com/Hangover3832/ComfyUI_Hangover-Utils": [ [ + "Get Workflow Data", + "Image Clipboard Copy", + "Image Clipboard Paster", "Image Scale Bounding Box", - "MS kosmos-2 Interrogator", "Make Inpaint Model", - "Save Image w/o Metadata" + "Save Image w/o Metadata", + "Sympy Math Interpreter", + "Text Encode Wildcards" ], { "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", - "title_aux": "ComfyUI-Hangover-Nodes" + "description": "Scales an input image into a given box size, whereby the aspect ratio keeps retained.", + "nickname": "Hangover-Image_Scale_Bouning_Box", + "title": "ComfyUI-Hangover-Image_Scale_Bouning_Box", + "title_aux": "ComfyUI_Hangover-Utils" } ], - "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything": [ + "https://github.com/HannibalP/comfyui-HannibalPack": [ [ - "Recognize Anything Model (RAM)" + "HannibalLoraLoader" ], { - "author": "AlexL", - "description": "An implementation of the Recognize Anything Model (RAM++) for ComfyUI. The counterpart of Segment Anything Model (SAM).", - "nickname": "Hangover-Recognize_Anything", - "title": "ComfyUI-Hangover-Recognize_Anything", - "title_aux": "Recognize Anything Model (RAM) for ComfyUI" + "title_aux": "comfyui-HannibalPack" } ], "https://github.com/Haoming02/comfyui-diffusion-cg": [ [ - "Normalization", - "Recenter", - "Recenter XL" + "Diffusion CG", + "Disable CG" ], { "title_aux": "Diffusion CG" @@ -3617,12 +9595,97 @@ ], "https://github.com/Haoming02/comfyui-resharpen": [ [ - "Resharpen" + "ReSharpen" ], { "title_aux": "ComfyUI ReSharpen" } ], + "https://github.com/HappyOnigiri/ComfyUI-Meld": [ + [ + "MeldAutoExposure", + "MeldImageLoader", + "MeldImageLoaderBatch", + "MeldPatternHeart", + "MeldPixelate", + "MeldPromptConstructor", + "MeldSaveImage", + "MeldSettingsUnpacker", + "MeldUnifiedFluxLoader", + "MeldUnifiedLoader" + ], + { + "title_aux": "ComfyUI-Meld" + } + ], + "https://github.com/HappyXY/ComfyUI-AmazonBedrock": [ + [ + "Amazon Bedrock - Nova Canvas Background Prompt Replace", + "Amazon Bedrock - Nova Canvas Generate Image", + "Amazon Bedrock - Nova Canvas Generate Variations", + "Amazon Bedrock - Nova Canvas Remove Object", + "Amazon Bedrock - Nova Reel Video", + "Bedrock - Claude", + "Bedrock - Claude Multimodal", + "Bedrock - Nova", + "Bedrock - SDXL" + ], + { + "title_aux": "ComfyUI-AmazonBedrock" + } + ], + "https://github.com/Hasasasa/ComfyUI_DashuaiTools": [ + [ + "API_PromptHelper", + "API_caption", + "Batch_API_caption", + "Gemini_API_Image", + "ImageComparisonGIF", + "Load64image", + "LoadImageList", + "LoadTextList", + "MinimumFilter", + "SaveImageWithName", + "XY_Image", + "ZImageLoraModelOnly", + "getImageRetio", + "qwenMultiAngles" + ], + { + "title_aux": "ComfyUI DashuaiTools" + } + ], + "https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes": [ + [ + "Clip Switch", + "Combine String", + "Conditioning Switch", + "Float Selector", + "Float to Integer", + "Float to String", + "Image Switch", + "Integer Selector", + "Integer to Float", + "Integer to String", + "Latent Switch", + "Load Image", + "Logic Compare", + "Math Operation", + "Model Switch", + "Prompt Combiner", + "Prompt Styler", + "Sampler Config", + "Save Image", + "String Switch", + "String to Float", + "String to Integer", + "Text Box", + "VAE Switch" + ], + { + "title_aux": "HavocsCall's Custom ComfyUI Nodes" + } + ], "https://github.com/HaydenReeve/ComfyUI-Better-Strings": [ [ "BetterString" @@ -3631,6 +9694,20 @@ "title_aux": "ComfyUI Better Strings" } ], + "https://github.com/Hazukiaoi/ComfyUI-LM_Studio_Tools": [ + [ + "LMS_APIConfig", + "LMS_GetAssistantMessage", + "LMS_Request", + "LMS_SelectModel", + "LMS_SystemPrompt", + "LMS_UnloadModel", + "LMS_UserPrompt" + ], + { + "title_aux": "LM Studio Tools for ComfyUI" + } + ], "https://github.com/HeadshotPro/ComfyUI-HeadshotPro": [ [ "[HSP] Download Dreambooth Checkpoint", @@ -3643,6 +9720,23 @@ "title_aux": "ComfyUI-HeadshotPro" } ], + "https://github.com/Hearmeman24/ComfyUI-LoRAPlotNode": [ + [ + "LoRAPlotImageSaver", + "LoRAPlotNode" + ], + { + "title_aux": "ComfyUI-LoRAPlotNode" + } + ], + "https://github.com/Hearmeman24/ComfyUI-Pinecone": [ + [ + "PineconePromptUpserter" + ], + { + "title_aux": "ComfyUI Pinecone Prompt Upserter" + } + ], "https://github.com/HebelHuber/comfyui-enhanced-save-node": [ [ "EnhancedSaveNode" @@ -3651,13 +9745,37 @@ "title_aux": "comfyui-enhanced-save-node" } ], + "https://github.com/HellerCommaA/ComfyUI-VideoResolutions": [ + [ + "HunyuanResolutions" + ], + { + "title_aux": "Hunyuan Video Resolutions" + } + ], + "https://github.com/HellerCommaA/ComfyUI-ZImageLatent": [ + [ + "ZImageLatent" + ], + { + "title_aux": "ComfyUI-ZImageLatent" + } + ], + "https://github.com/Hellfiredragon/comfyui-image-manipulation": [ + [ + "AlphaApplyMaskToImage", + "CreateMaskFromColorsNode" + ], + { + "title_aux": "comfyui-image-manipulation" + } + ], "https://github.com/HelloVision/ComfyUI_HelloMeme": [ [ - "CropPortrait", - "GetDriveExpression", - "GetDriveExpression2", - "GetDrivePose", + "GetExpression", + "GetExpression2", "GetFaceLandmarks", + "GetHeadPose", "HMFaceToolkitsLoader", "HMImagePipelineLoader", "HMPipelineImage", @@ -3671,29 +9789,67 @@ "https://github.com/Hellrunner2k/ComfyUI-HellrunnersMagicalNodes": [ [ "AdjustMojo", + "BufferedEncoder", + "LoRABox", "LoadMaskMap", "MagicalSaveNode", + "MaskMapPrompt", + "MaskMapPromptMix", "MojoLoader", "MojoMaker", "SaveMojo", + "TEAce", "ThermalLatenator" ], { "title_aux": "Hellrunner's Magical Nodes" } ], - "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [ + "https://github.com/HenkDz/nd-super-nodes": [ [ - "Load Prompt Travel file", - "Post to Discord w/ Webhook", - "Save Prompt Travel file" + "NdSuperLoraLoader" ], { - "author": "Hiero", - "description": "Just some nodes that I wanted/needed, so I made them.", - "nickname": "HNodes", - "title": "Hiero-Nodes", - "title_aux": "Hiero-Nodes" + "title_aux": "nd-super-nodes" + } + ], + "https://github.com/HighDoping/ComfyUI_ASSSSA": [ + [ + "ASSSubtitleReader", + "ASSSubtitleSave", + "FFMpegSettings", + "MultilineTextInput", + "SubtitleEmbedding", + "SubtitleExtraction", + "VideoTranscoding" + ], + { + "title_aux": "ComfyUI-ASSSSA" + } + ], + "https://github.com/HoangYell/comfyui-hoangyell-video": [ + [ + "AddIntroImage" + ], + { + "title_aux": "comfyui-hoangyell-video-edit" + } + ], + "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": [ @@ -3701,7 +9857,11 @@ "AgentMemoryProvider", "AgentNode", "BasicRecursionFilterNode", + "Completion Enhancement Filter", + "Document Chunk Processor", + "DocumentChunkRecursionFilterNode", "DocumentProcessor", + "Iterative Completion Agent", "LinuxMemoryDirectory", "QueryNode" ], @@ -3712,6 +9872,483 @@ "title_aux": "ComfyUI_LiteLLM" } ], + "https://github.com/HowToSD/ComfyUI-Data-Analysis": [ + [ + "CDAFloatCreate", + "CDAIntCreate", + "CDAJSONCreate", + "CDAShowFloat", + "CDAShowInt", + "CDAStringCreate", + "CDATextCreate", + "MPLBar", + "MPLLine", + "MPLPieChart", + "MPLScatter", + "NumpyFloatCreate", + "NumpyIntCreate", + "NumpyShow", + "NumpySqueeze", + "PandasAdd", + "PandasAddScalarFloat", + "PandasAddScalarInt", + "PandasAddSeries", + "PandasAsFloat", + "PandasAsInt", + "PandasAsString", + "PandasAtDatetime", + "PandasAtFloat", + "PandasAtInt", + "PandasAtSetDatetime", + "PandasAtSetFloat", + "PandasAtSetInt", + "PandasAtSetString", + "PandasAtString", + "PandasBooleanIndex", + "PandasColumns", + "PandasCorr", + "PandasCos", + "PandasCount", + "PandasCov", + "PandasCreate", + "PandasCreateFromDict", + "PandasCreateFromDictIndexList", + "PandasCreateFromMultipleDict", + "PandasCreateFromNumpy", + "PandasCreateFromTensor", + "PandasCreateSeriesFromDict", + "PandasCreateSeriesFromList", + "PandasCreateSeriesFromListIndexList", + "PandasCreateWithIndex", + "PandasCrosstab", + "PandasCummax", + "PandasCummin", + "PandasCumprod", + "PandasCumsum", + "PandasDiv", + "PandasDivScalarFloat", + "PandasDivScalarInt", + "PandasDivSeries", + "PandasDropDuplicates", + "PandasDropNA", + "PandasEq", + "PandasEqScalarFloat", + "PandasEqScalarInt", + "PandasExcelFileSheetNames", + "PandasExp", + "PandasFeatureSplitToNumpy", + "PandasFeatureSplitToPt", + "PandasFillNAScalarFloat", + "PandasFillNAScalarInt", + "PandasGe", + "PandasGeScalarFloat", + "PandasGeScalarInt", + "PandasGroupBy", + "PandasGt", + "PandasGtScalarFloat", + "PandasGtScalarInt", + "PandasHead", + "PandasHorizontalConcat", + "PandasHorizontalSplit", + "PandasIatDatetime", + "PandasIatFloat", + "PandasIatInt", + "PandasIatSetDatetime", + "PandasIatSetFloat", + "PandasIatSetInt", + "PandasIatSetString", + "PandasIatString", + "PandasIlocRowSeries", + "PandasIlocRowsDataFrame", + "PandasIlocRowsSliceDataFrame", + "PandasIndex", + "PandasIndexToString", + "PandasIsNA", + "PandasJoin", + "PandasKurtosis", + "PandasLe", + "PandasLeScalarFloat", + "PandasLeScalarInt", + "PandasLoadCSV", + "PandasLoadCSVWithEncoding", + "PandasLoadCSVWithIndex", + "PandasLoadExcel", + "PandasLoadHTML", + "PandasLoadJSON", + "PandasLocCellString", + "PandasLocRowMultiIndexDataFrame", + "PandasLocRowSeries", + "PandasLog", + "PandasLt", + "PandasLtScalarFloat", + "PandasLtScalarInt", + "PandasMax", + "PandasMean", + "PandasMedian", + "PandasMelt", + "PandasMin", + "PandasMode", + "PandasMul", + "PandasMulScalarFloat", + "PandasMulScalarInt", + "PandasMulSeries", + "PandasNe", + "PandasNeScalarFloat", + "PandasNeScalarInt", + "PandasPivot", + "PandasPow", + "PandasPowScalarFloat", + "PandasPowScalarInt", + "PandasPowSeries", + "PandasRename", + "PandasRenameAdvanced", + "PandasReplace", + "PandasReplaceAdvanced", + "PandasSaveCSV", + "PandasSaveJSON", + "PandasSelectColumnAsSeries", + "PandasSelectColumns", + "PandasSelectRows", + "PandasSeriesToDataFrame", + "PandasSeriesToString", + "PandasSetIndex", + "PandasShowDataFrame", + "PandasShowIndex", + "PandasShowSeries", + "PandasShowText", + "PandasSin", + "PandasSkew", + "PandasSort", + "PandasStd", + "PandasStrftime", + "PandasSub", + "PandasSubScalarFloat", + "PandasSubScalarInt", + "PandasSubSeries", + "PandasSum", + "PandasSummary", + "PandasTan", + "PandasToDatetime", + "PandasToNumpy", + "PandasToString", + "PandasTranspose", + "PandasValueCounts", + "PandasVar", + "PandasVerticalConcat", + "PandasVerticalSplit", + "PandasXs", + "PyDatetimeToString", + "PyFloatToString", + "PyIntToString", + "PyKvFloatCreate", + "PyKvIntCreate", + "PyKvStringCreate", + "PyListToString", + "PyStringToDatetime", + "PyStringToDict", + "PyStringToFloat", + "PyStringToInt", + "PyStringToList", + "SNSBar", + "SNSBarPt", + "SNSBoxplot", + "SNSHeatmap", + "SNSHistogram", + "SNSHistogramPt", + "SNSLine", + "SNSLinePt", + "SNSPairplot", + "SNSScatter", + "SNSScatterPt" + ], + { + "title_aux": "ComfyUI-Data-Analysis" + } + ], + "https://github.com/HowToSD/ComfyUI-Pt-Wrapper": [ + [ + "HfTokenizerEncode", + "PtAbs", + "PtAcos", + "PtAdd", + "PtApplyFunction", + "PtArange", + "PtArgmax", + "PtArgmin", + "PtAsin", + "PtAtan", + "PtBitwiseAnd", + "PtBitwiseLeftShift", + "PtBitwiseNot", + "PtBitwiseOr", + "PtBitwiseRightShift", + "PtBitwiseXor", + "PtBmm", + "PtBoolCreate", + "PtComputeLoss", + "PtConcat", + "PtCos", + "PtCosh", + "PtCrop", + "PtDataLoader", + "PtDataLoaderFromTensors", + "PtDiv", + "PtEinsum", + "PtEq", + "PtEvaluateClassificationModel", + "PtExp", + "PtFlatten", + "PtFloatCreate", + "PtFloorDiv", + "PtFromImage", + "PtFromImageTranspose", + "PtFromLatent", + "PtFromNumpy", + "PtFull", + "PtGather", + "PtGe", + "PtGt", + "PtIndexSelect", + "PtIntCreate", + "PtInterpolateByScaleFactor", + "PtInterpolateToSize", + "PtLe", + "PtLinspace", + "PtLoadModel", + "PtLog", + "PtLogicalAnd", + "PtLogicalNot", + "PtLogicalOr", + "PtLogicalXor", + "PtLt", + "PtMaskedSelect", + "PtMatMul", + "PtMax", + "PtMean", + "PtMedian", + "PtMin", + "PtMm", + "PtMul", + "PtNe", + "PtNeg", + "PtOnes", + "PtPad", + "PtPermute", + "PtPow", + "PtPredictClassificationModel", + "PtPredictRegressionModel", + "PtProd", + "PtRand", + "PtRandInt", + "PtRandn", + "PtRemainder", + "PtReshape", + "PtSaveModel", + "PtScatter", + "PtShowSize", + "PtShowText", + "PtSin", + "PtSinh", + "PtSize", + "PtSizeCreate", + "PtSizeToNumpy", + "PtSizeToString", + "PtSqrt", + "PtSqueeze", + "PtStack", + "PtStd", + "PtSub", + "PtSum", + "PtTan", + "PtTanh", + "PtToBfloat16", + "PtToFloat16", + "PtToFloat32", + "PtToFloat64", + "PtToImage", + "PtToImageTranspose", + "PtToInt16", + "PtToInt32", + "PtToInt64", + "PtToInt8", + "PtToLatent", + "PtToNumpy", + "PtToRgbTensors", + "PtToUint8", + "PtTokenizer", + "PtTrainClassificationModel", + "PtTrainClassificationModelLr", + "PtTrainClassificationTransformerModel", + "PtTrainFineTuneClassificationTransformerModel", + "PtTrainModel", + "PtTrainRNNModel", + "PtTrainRegressionModel", + "PtUnsqueeze", + "PtVar", + "PtView", + "PtWhere", + "PtZeros", + "PtdBernoulli", + "PtdBeta", + "PtdBinomial", + "PtdCategorical", + "PtdChi2", + "PtdExponential", + "PtdGamma", + "PtdNormal", + "PtdPoisson", + "PtdStudentT", + "PtdUniform", + "PtdmCdf", + "PtdmCdfTensor", + "PtdmIcdf", + "PtdmIcdfTensor", + "PtdmLogProb", + "PtdmLogProbTensor", + "PtdmPdf", + "PtdmPdfTensor", + "PtdmPmf", + "PtdmPmfTensor", + "PtdmSample", + "PtfGELU", + "PtfLeakyReLU", + "PtfLogSoftmax", + "PtfReLU", + "PtfSiLU", + "PtfSigmoid", + "PtfSoftmax", + "PtfSoftplus", + "PtfTanh", + "PtnAvgPool2d", + "PtnBCELoss", + "PtnBCEWithLogitsLoss", + "PtnBatchNorm2d", + "PtnChainedModel", + "PtnChainedModelWithAttentionMask", + "PtnConv2d", + "PtnConvModel", + "PtnCrossEntropyLoss", + "PtnEmbedding", + "PtnEmbeddingRNNLinear", + "PtnEmbeddingTransformerLinear", + "PtnGRU", + "PtnGRULinear", + "PtnHfFineTunedClassificationModel", + "PtnHfLoraClassificationModel", + "PtnHuberLoss", + "PtnInstanceNorm2d", + "PtnKLDivLoss", + "PtnL1Loss", + "PtnLSTM", + "PtnLSTMLinear", + "PtnLayerNorm", + "PtnLinear", + "PtnLinearModel", + "PtnMSELoss", + "PtnMaskedMeanPooling", + "PtnMaxPool2d", + "PtnModelWithClosure", + "PtnMultiheadAttention", + "PtnMultiheadAttentionCustom", + "PtnNLLLoss", + "PtnPreAddChannelAxis", + "PtnPreFlatten", + "PtnRNN", + "PtnRNNLinear", + "PtnResidualConnectionModel", + "PtnResidualConnectionModelWithAttentionMask", + "PtnResnetModel", + "PtnSmoothL1Loss", + "PtoAdam", + "PtoAdamW", + "PtoLrSchedulerCosineAnnealing", + "PtoLrSchedulerReduceOnPlateau", + "PtoLrSchedulerStep", + "PtoSGD", + "PtoSimple", + "PtvDataset", + "PtvDatasetLen", + "PtvDatasetLoader", + "PtvHfDatasetWithTokenEncode", + "PtvHfGloveDataset", + "PtvHfLocalDataset", + "PtvImageFolderDataset", + "PtvSequentialTensorDataset", + "PtvTransformsDataAugment", + "PtvTransformsResize", + "PtvTransformsToTensor", + "SpEncode", + "SpLoadModel" + ], + { + "title_aux": "ComfyUI-Pt-Wrapper" + } + ], + "https://github.com/Hullabalo/ComfyUI-Loop": [ + [ + "ImageCropLoop", + "ImagePasteLoop", + "LoopAny", + "SaveAny" + ], + { + "title_aux": "ComfyUI-Loop" + } + ], + "https://github.com/I-ShadowStar/L2UC": [ + [ + "CLIPTextEncodeLumina2Unchained" + ], + { + "title_aux": "L2UC" + } + ], + "https://github.com/IAMCCS/IAMCCS-nodes": [ + [ + "IAMCCS_AutoLinkArguments", + "IAMCCS_AutoLinkConverter", + "IAMCCS_GGUF_accelerator", + "IAMCCS_GetAutoLink", + "IAMCCS_HWProbeRecommendations", + "IAMCCS_HwSupporter", + "IAMCCS_HwSupporterAny", + "IAMCCS_LTX2_ControlPreprocess", + "IAMCCS_LTX2_EnsureFrames8nPlus1", + "IAMCCS_LTX2_ExtensionModule", + "IAMCCS_LTX2_ExtensionModule_simple", + "IAMCCS_LTX2_FrameCountValidator", + "IAMCCS_LTX2_FrameRateSync", + "IAMCCS_LTX2_GetImageFromBatch", + "IAMCCS_LTX2_ImageBatchCropByPad", + "IAMCCS_LTX2_ImageBatchPadReflect", + "IAMCCS_LTX2_LoRAStack", + "IAMCCS_LTX2_LoRAStackModelIO", + "IAMCCS_LTX2_LoRAStackSegmented6", + "IAMCCS_LTX2_LoRAStackStaged", + "IAMCCS_LTX2_ModelWithLoRA_Segmented6", + "IAMCCS_LTX2_ReferenceImageSwitch", + "IAMCCS_LTX2_ReferenceStartFramesInjector", + "IAMCCS_LTX2_TimeFrameCount", + "IAMCCS_LTX2_Validator", + "IAMCCS_ModelWithLoRA", + "IAMCCS_ModelWithLoRA_LTX2", + "IAMCCS_ModelWithLoRA_LTX2_Staged", + "IAMCCS_MultiSwitch", + "IAMCCS_SamplerAdvancedVersion1", + "IAMCCS_SetAutoLink", + "IAMCCS_VAEDecodeTiledSafe", + "IAMCCS_VAEDecodeToDisk", + "IAMCCS_VRAMCleanup", + "IAMCCS_WanImageMotion", + "IAMCCS_WanLoRAStack", + "IAMCCS_WanLoRAStackModelIO", + "IAMCCS_bus_group", + "iamccs_ltx2_lora_stack" + ], + { + "title_aux": "IAMCCS-nodes" + } + ], "https://github.com/IDGallagher/ComfyUI-IG-Motion-I2V": [ [ "MI2V Flow Animator", @@ -3735,6 +10372,7 @@ "IG Float", "IG Float List", "IG Folder", + "IG Image Crop", "IG Int", "IG Interpolate", "IG Load Image", @@ -3742,8 +10380,15 @@ "IG MotionPredictor", "IG Multiply", "IG Path Join", + "IG PointCloud From Cylindrical", + "IG PointCloud From Depth", + "IG Save PLY PointCloud", + "IG Simple Translate Stitcher", + "IG Stitch Depth Tiles", + "IG Stitch Images CV2", "IG String", "IG String List", + "IG Tile Image", "IG ZFill", "SM Video Base", "SM Video Base Control" @@ -3756,6 +10401,98 @@ "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/IIEleven11/ComfyUI-FairyTaler": [ + [ + "FairyTalerStoryboard", + "SceneParser", + "SceneToConditioning", + "StoryboardCompositor", + "ThreeSceneGenerator" + ], + { + "author": "Eleven", + "description": "Turn your AI roleplay into AI generated scenes from every response. Visualize what you read!", + "nickname": "ComfyUI FairyTaler", + "title": "ComfyUI FairyTaler Storyboard Nodes", + "title_aux": "ComfyUI-FairyTaler" + } + ], + "https://github.com/IIs-fanta/ComfyUI-FANTA-GameBox": [ + [ + "BilliardsGameNode", + "BrickBreakerNode", + "FlappyBirdNode", + "SnakeGameNode" + ], + { + "title_aux": "ComfyUI-FANTA-GameBox" + } + ], + "https://github.com/INuBq8/ComfyUI-NotificationBridge": [ + [ + "DiscordNotifyNode", + "WhatsAppNotifyNodeTwilio" + ], + { + "title_aux": "Notification Bridge" + } + ], + "https://github.com/IRCSS/comfyUI-blender-wrapper": [ + [ + "BlenderGenericNode", + "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", + "Hy3D_2_1SimpleMeshGen", + "MESHToTrimesh", + "TrimeshToMESH" + ], + { + "title_aux": "comfyUI-blender-wrapper" + } + ], "https://github.com/ITurchenko/ComfyUI-SizeFromArray": [ [ "SizeFromArray" @@ -3764,6 +10501,159 @@ "title_aux": "ComfyUI-SizeFromArray" } ], + "https://github.com/IXIWORKS-KIMJUNGHO/ComfyUI-VideoDescription": [ + [ + "AttentionToMask", + "BatchStartMarker", + "BuildCharacterPromptNode", + "BuildPromptNode", + "Bypass", + "ConcatStrings", + "ControlNetPreprocessor", + "CropAndResize", + "DiffSynthControlnetAdvanced", + "EmptyLatentRatio", + "ImageToList", + "JsonParserNode", + "KSamplerLayered", + "LayerExporter", + "LayerSeparator", + "LoadImageList", + "LoraLoaderAdvanced", + "MergeStringsNode", + "ModelProgressTracker", + "ModelStructureDebug", + "PromptPoseFilter", + "PromptStyleFilter", + "SaveText", + "SelectIndexNode", + "StringToList", + "SwitchBoolean", + "SwitchCase", + "VideoDescriptionQwen3VL" + ], + { + "title_aux": "ComfyUI-VideoDescription" + } + ], + "https://github.com/IamCreateAI/ComfyUI-Animon": [ + [ + "AnimonImageToVideoNode", + "AnimonKeyNode", + "AnimonStartEndToVideoNode", + "AnimonUploadImageFromFileNode", + "AnimonUploadImageFromTensorNode", + "AnimonUploadVideoFromBytesNode", + "AnimonUploadVideoFromFileNode", + "AnimonUploadVideoFromTensorNode", + "AnimonUpscaleVideoNode" + ], + { + "title_aux": "ComfyUI-Animon" + } + ], + "https://github.com/IamCreateAI/Ruyi-Models": [ + [ + "Ruyi_EnhanceAVideo", + "Ruyi_I2VSampler", + "Ruyi_LoadLora", + "Ruyi_LoadModel", + "Ruyi_TeaCache" + ], + { + "title_aux": "ComfyUI-Ruyi" + } + ], + "https://github.com/Ian2073/ComfyUI-MyLLMnode": [ + [ + "GemmaLLMNode", + "LlamaLLMNode", + "MistralLLMNode", + "PhiLLMNode", + "QwenLLMNode", + "YiLLMNode" + ], + { + "title_aux": "ComfyUI-MyLLMNode" + } + ], + "https://github.com/IcelandicCenterArtificialIntelligence/ComfyUI-SamplerSchedulerMetricsTester": [ + [ + "SamplerSchedulerMetricsTester" + ], + { + "title_aux": "Sampler Scheduler Metrics Tester for ComfyUI" + } + ], + "https://github.com/Icyman86/ComfyUI_AnimeCharacterSelect": [ + [ + "ActionPromptNode", + "CharacterPromptNode", + "CombinePromptStringsNode", + "EnhancedCharacterPromptNode", + "MinimalCharacterActionPrompt" + ], + { + "title_aux": "ComfyUI_AnimeCharacterSelect" + } + ], + "https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository": [ + [ + "SimpleStringRepository", + "SimpleStringRepositoryCompact", + "SimpleStringRepositoryLarge", + "SimpleStringRepositoryLargeCompact", + "SimpleStringRepositorySmall", + "SimpleStringRepositorySmallCompact" + ], + { + "title_aux": "Simple String Repository" + } + ], + "https://github.com/ImagineerNL/ComfyUI-IMGNR-Utils": [ + [ + "CatchEditTextNode", + "DIYNodeWriter", + "PreviewImageAdHocSaveNode", + "PreviewImageBase64Node" + ], + { + "title_aux": "ComfyUI-IMGNR-Utils" + } + ], + "https://github.com/ImagineerNL/ComfyUI-ToSVG-Potracer": [ + [ + "PotracerVectorize", + "SaveAsSVG Potracer (Temporary Fix)" + ], + { + "title_aux": "ComfyUI-ToSVG-Potracer" + } + ], + "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" @@ -3772,6 +10662,16 @@ "title_aux": "PonySwitch Node" } ], + "https://github.com/InstantStudioAI/ComfyUI-InstantStudio": [ + [ + "HuggingFace Classify", + "Moondream", + "UploadImagesToInstantStudio" + ], + { + "title_aux": "ComfyUI-InstantStudio" + } + ], "https://github.com/Intersection98/ComfyUI_MX_post_processing-nodes": [ [ "MX_AlphaBlend", @@ -3817,6 +10717,15 @@ "title_aux": "Ranbooru for ComfyUI" } ], + "https://github.com/Irsalistic/comfyui-dam-object-extractor": [ + [ + "DAMObjectNameNode", + "DAMVisualizeNode" + ], + { + "title_aux": "ComfyUI DAM Object Extractor" + } + ], "https://github.com/IsItDanOrAi/ComfyUI-Stereopsis": [ [ "Dan_FrameDelay", @@ -3826,9 +10735,27 @@ "title_aux": "ComfyUI-Stereopsis" } ], + "https://github.com/IsItDanOrAi/ComfyUI-exLoadout": [ + [ + "dropdowns", + "exCheckpointLoader", + "exLoadoutCheckpointLoader", + "exLoadoutEditCell", + "exLoadoutReadColumn", + "exLoadoutSeg", + "exLoadoutSeg2", + "exLoadoutSelector", + "exSeg", + "exSeg2" + ], + { + "title_aux": "exLoadout: Excel-Based Model & Settings Loader" + } + ], "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows": [ [ "CLIPTextEncodeStyles", + "ComputePadding", "JoinVideos", "MakeDrivingVideoForLivePortrait", "MakePortraitWalk", @@ -3863,25 +10790,56 @@ ], "https://github.com/Isi-dev/ComfyUI-UniAnimate-W": [ [ + "Animate_X_Image", + "Animate_X_Image_Long", + "Animate_X_Image_v2", + "Animate_X_ReposeImage", + "Animate_X_ReposeImage_v2", "Gen_align_pose", + "Gen_align_pose2", "ReposeImage", "UniAnimateImage", "UniAnimateImageLong" ], { - "title_aux": "UniAnimate Nodes for ComfyUI" + "title_aux": "ComfyUI-UniAnimate-W" + } + ], + "https://github.com/Isi-dev/ComfyUI_DeleteModelPassthrough": [ + [ + "ControlledCLIPTextEncode", + "ControlledControlNetLoader", + "ControlledModelPatchLoader", + "ControlledUNETLoader", + "ControlledUnetLoaderGGUF", + "ControlledVAELoader", + "DeleteModelPassthrough", + "DeleteModelPassthroughLight", + "SmartClipDeleter" + ], + { + "title_aux": "ComfyUI_DeleteModelPassthrough" } ], "https://github.com/Isulion/ComfyUI_Isulion": [ [ + "CustomTextNode", + "CustomTextNode \u2328\ufe0f", + "CustomTextNode.py", + "DisplayImageFromURL", "IsuCollage_Node", - "Isulion Video Prompt Generator \ud83c\udfa5", + "Isulion Civitai Image Display", + "Isulion Civitai Model Explorer", + "Isulion Civitai Trending", "IsulionActionGenerator", "IsulionAlienWorldGenerator", "IsulionAnimalBehaviorGenerator", "IsulionAnimalRandom", "IsulionArtStyleGenerator", "IsulionArtifactGenerator", + "IsulionCivitaiImageDisplay", + "IsulionCivitaiModelExplorer", + "IsulionCivitaiTrending", "IsulionClothingGenerator", "IsulionCuteAnimalRandom", "IsulionEmotionGenerator", @@ -3890,35 +10848,38 @@ "IsulionHabitatGenerator", "IsulionLoadImagesNode", "IsulionMagicalEffectGenerator", + "IsulionMegaPromptV3", "IsulionMultiplePromptGenerator", "IsulionMythicalLocationGenerator", "IsulionNegativePromptGenerator", "IsulionProfessionGenerator", "IsulionPromptEnhancer", + "IsulionPromptGenerator", "IsulionSceneComposition", "IsulionSpacecraftGenerator", "IsulionStyleMixer", "IsulionTechGenerator", "IsulionTimeOfDayGenerator", + "IsulionVideoPromptGenerator", "IsulionWeatherGenerator", "MegaPromptV3", - "\u23fb IsulionShutdown" + "\u29c9 IsulionOverlay", + "\ud83d\udca4 IsulionShutdown", + "\ud83e\udde9 IsulionQRCode" ], { "title_aux": "ComfyUI_Isulion Random Prompt Generator" } ], - "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4": [ + "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-4_5": [ [ "DisplayText", - "LoadVideo", "MiniCPM_VQA", "MiniCPM_VQA_Polished", - "MultipleImagesInput", - "PreviewVideo" + "MultipleImagesInput" ], { - "title_aux": "ComfyUI_MiniCPM-V-2_6-int4" + "title_aux": "ComfyUI_MiniCPM-V-4_5" } ], "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-Audio-7B-Instruct-Int4": [ @@ -3931,14 +10892,37 @@ "title_aux": "ComfyUI_Qwen2-Audio-7B-Instruct-Int4" } ], - "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-VL-Instruct": [ + "https://github.com/IuvenisSapiens/ComfyUI_Qwen3-VL-Instruct": [ [ "ImageLoader", "MultiplePathsInput", - "Qwen2_VQA" + "Qwen3_VQA", + "VideoLoader", + "VideoLoaderPath" ], { - "title_aux": "ComfyUI_Qwen2-VL-Instruct" + "title_aux": "Comfyui_Qwen3-VL-Instruct" + } + ], + "https://github.com/J-ChenX/ComfyUI-NIX": [ + [ + "NIX_ImageComposite", + "NIX_ImageInference", + "NIX_ImageTile", + "NIX_ImageUpscaleProportionally", + "NIX_MaskCrop", + "NIX_MaskNull", + "NIX_PathLoading", + "NIX_RotateCrop", + "NIX_RotateImage", + "NIX_SaveImage", + "NIX_StringMatch", + "NIX_StringMatcher", + "NIX_SwitchAnything", + "NIX_XYGridMapper" + ], + { + "title_aux": "NIX ComfyUI Plugin" } ], "https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes": [ @@ -4047,12 +11031,33 @@ [ "PAGE", "PST", + "PhyCV_PST", + "PhyCV_Page", + "PhyCV_Vevid", "VEVID" ], { "title_aux": "ComfyUI-PhyCV" } ], + "https://github.com/JTriggerFish/ComfyLatentTools": [ + [ + "DownsampledLatentGuidance", + "GenericAttentionGuidance", + "LatentNormalizedLanczosResize" + ], + { + "title_aux": "Comfy Latent Tools" + } + ], + "https://github.com/JVsup/ComfyUI-SettingsToText": [ + [ + "SettingsToText" + ], + { + "title_aux": "ComfyUI-SettingsToText" + } + ], "https://github.com/JackEllie/ComfyUI_AI_Assistant": [ [ "apply_lighting_effects", @@ -4066,6 +11071,41 @@ "title_aux": "ComfyUI-AI-Assistant" } ], + "https://github.com/Jacky-MYQ/comfyui-DataCleaning": [ + [ + "CleanData" + ], + { + "title_aux": "comfyui-DataCleaning" + } + ], + "https://github.com/Jacky-MYQ/comfyui-rgb2cmyk": [ + [ + "RGB2CMYK" + ], + { + "title_aux": "RGB to CMYK for ComfyUI (Save as tif)" + } + ], + "https://github.com/Jairodaniel-17/ComfyUI-translate-offline": [ + [ + "CLIPTextTranslateNode", + "PromptTextTranslateNode" + ], + { + "title_aux": "ComfyUI-translate-offline" + } + ], + "https://github.com/Jaminanim/ComfyUI-Random-Int-Divisor-Node": [ + [ + "RandomIntegerNodeEfficient", + "RandomIntegerNodeEfficientAdvanced", + "RandomIntegerNodeList" + ], + { + "title_aux": "ComfyUI-Random-Int-Divisor-Node" + } + ], "https://github.com/Jannchie/ComfyUI-J": [ [ "DiffusersCompelPromptEmbedding", @@ -4085,24 +11125,47 @@ "title_aux": "ComfyUI-J" } ], + "https://github.com/Jannled/owl-vit-comfyui": [ + [ + "OWL_BBox_Visualizer", + "OWL_Load_Model", + "OWL_Objectness_Inference" + ], + { + "title_aux": "OWL-ViT ComfyUI" + } + ], + "https://github.com/Jarcis-cy/ComfyUI-HunyuanVideoFoley": [ + [ + "HunyuanVideoFoleyGenerateAudio", + "VideoAudioMerger" + ], + { + "title_aux": "HunyuanVideo-Foley Audio Generator" + } + ], "https://github.com/JaredTherriault/ComfyUI-JNodes": [ [ "JNodes_AddOrSetMetaDataKey", + "JNodes_AddOrSetPngInfoKey", "JNodes_AnyToString", "JNodes_AppendReversedFrames", "JNodes_AudioInputOptions", "JNodes_BooleanSelectorWithString", "JNodes_BreakMediaInfo", + "JNodes_CacheGlobalParameters", "JNodes_CheckpointSelectorWithString", "JNodes_ConditioningInOut", "JNodes_CreateStereoscopicImageFromDepth", + "JNodes_DiffusionModelSelector", + "JNodes_EmptyCudaCache", "JNodes_FloatLiteral", "JNodes_GetCleanFilename", "JNodes_GetComfyDirectory", "JNodes_GetLeafDirectory", "JNodes_GetOutputDirectory", "JNodes_GetParameterFromList", - "JNodes_GetParameterGlobal", + "JNodes_GetParameterFromTable", "JNodes_GetTempDirectory", "JNodes_ImageFormatSelector", "JNodes_ImageSizeSelector", @@ -4113,11 +11176,11 @@ "JNodes_LoadVisualMediaFromPath_Batch", "JNodes_LoadVisualMediaFromPath_List", "JNodes_LoraExtractor", + "JNodes_MakeParameterTable", "JNodes_MediaInfoToString", "JNodes_ModelInOut", "JNodes_OutVideoInfo", "JNodes_ParseDynamicPrompts", - "JNodes_ParseParametersToGlobalList", "JNodes_ParseWildcards", "JNodes_PromptBuilderSingleSubject", "JNodes_RemoveCommentedText", @@ -4132,6 +11195,7 @@ "JNodes_SearchAndReplaceFromFile", "JNodes_SearchAndReplaceFromList", "JNodes_SelectRandomFileFromDirectory", + "JNodes_SeparateStringByDelimiters", "JNodes_SetMetadataA1111", "JNodes_SetNegativePromptInMetaData", "JNodes_SetPositivePromptInMetaData", @@ -4139,6 +11203,7 @@ "JNodes_StringLiteral", "JNodes_SubdirectorySelector", "JNodes_SyncedStringLiteral", + "JNodes_TextManager", "JNodes_TokenCounter", "JNodes_TrimAndStrip", "JNodes_UploadVideo", @@ -4149,6 +11214,40 @@ "title_aux": "ComfyUI-JNodes" } ], + "https://github.com/Jash-Vora/ComfyUI-GarmentDiT": [ + [ + "GarmentEnhancementNode" + ], + { + "title_aux": "FitDiT" + } + ], + "https://github.com/JasonHoku/ComfyUI-Ultimate-Auto-Sampler-Config-Grid-Testing-Suite": [ + [ + "SamplerGridTester", + "SmartJSONText", + "UltimateConfigBuilder", + "UltimateGridDashboard", + "UltimateSamplerGrid" + ], + { + "title_aux": "ComfyUI Ultimate Auto Sampler Config Grid Testing Suite" + } + ], + "https://github.com/JayLyu/blender-in-comfyui": [ + [ + "BL_Camera_Creator", + "BL_Export_Model", + "BL_Model_Merger", + "BL_Model_Param", + "BL_Render", + "BL_Save_Mesh", + "BL_Scene_Composer" + ], + { + "title_aux": "blender-in-comfyui" + } + ], "https://github.com/JcandZero/ComfyUI_GLM4Node": [ [ "GLM3_turbo_CHAT", @@ -4167,6 +11266,14 @@ "title_aux": "Rembg Background Removal Node for ComfyUI" } ], + "https://github.com/Jelosus2/comfyui-vae-reflection": [ + [ + "AddReflectionToVAE" + ], + { + "title_aux": "ComfyUI VAE Reflection" + } + ], "https://github.com/JerryOrbachJr/ComfyUI-RandomSize": [ [ "JOJR_RandomSize" @@ -4197,38 +11304,77 @@ "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" + "AudiotoTD", + "Comfy3DPacktoTD", + "GaussianSplattingtoTD", + "Hy3DtoTD", + "ImagetoTD", + "ImagetoTD(JPEG)", + "LoadTDImage", + "Tripo3DtoTD", + "TripoSRtoTD", + "VideotoTD" ], { - "title_aux": "Immortal_comfyUI" + "title_aux": "ComfyUI-TD" + } + ], + "https://github.com/Jint8888/Comfyui_JTnodes": [ + [ + "JT Find Text From Excel", + "JT Read From Excel", + "JTBrightness", + "JTImagesavetopath", + "JTSaveTextToExcel", + "JTSaveTextToFile", + "JTcounter", + "SiliconflowFree" + ], + { + "title_aux": "Comfyui_JTnodes" + } + ], + "https://github.com/JoeNavark/comfyui_custom_sigma_editor": [ + [ + "CustomSplineSigma", + "SigmaJoiner" + ], + { + "title_aux": "Custom Graph Sigma for ComfyUI" + } + ], + "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/Jokimbe/ComfyUI-DrawThings-gRPC": [ + [ + "DrawThingsControlNet", + "DrawThingsHints", + "DrawThingsLoRA", + "DrawThingsNegative", + "DrawThingsPositive", + "DrawThingsPrompt", + "DrawThingsRefiner", + "DrawThingsSampler", + "DrawThingsUpscaler" + ], + { + "title_aux": "ComfyUI-DrawThings-gRPC" } ], "https://github.com/Jonseed/ComfyUI-Detail-Daemon": [ @@ -4290,6 +11436,14 @@ "title_aux": "ComfyUI-DrawThingsWrapper" } ], + "https://github.com/JuanBerta/comfyui_ollama_vl_prompt": [ + [ + "Ollama VL Prompt" + ], + { + "title_aux": "comfyui_ollama_vl_prompt" + } + ], "https://github.com/Julian-adv/WildDivide": [ [ "Attention couple wild divide", @@ -4306,17 +11460,251 @@ "title_aux": "Wild Divide" } ], + "https://github.com/Junst/ComfyUI-Concept-Diffusion": [ + [ + "ConceptAttentionNode", + "ConceptAttentionVisualizerNode", + "ConceptSaliencyMapNode", + "ConceptSegmentationNode" + ], + { + "title_aux": "ComfyUI-Concept-Diffusion" + } + ], + "https://github.com/JustLateNightAI/KeywordImageBlocker": [ + [ + "TagKeywordBlocker" + ], + { + "title_aux": "KeywordImageBlocker" + } + ], + "https://github.com/Juste-Leo2/Canary-ComfyUI": [ + [ + "Canary180mFlashASRNode", + "Canary180mFlashTranslateFromENNode", + "Canary180mFlashTranslateToENNode", + "CanaryASRNode", + "CanaryFlashASRNode", + "CanaryFlashTranslateFromENNode", + "CanaryFlashTranslateToENNode", + "CanaryModelLoader", + "CanaryTranslateFromENNode", + "CanaryTranslateToENNode" + ], + { + "title_aux": "Canary-ComfyUI" + } + ], + "https://github.com/Juste-Leo2/USO_ComfyUI": [ + [ + "USOLoader", + "USOSampler" + ], + { + "title_aux": "USO Nodes for ComfyUI" + } + ], + "https://github.com/Justify87/ComfyUI-Multi-Analysis-Heatmaps": [ + [ + "MultiAnalysisNode" + ], + { + "title_aux": "ComfyUI Multi-Analysis Heatmaps" + } + ], "https://github.com/JustinMatters/comfyUI-JMNodes": [ [ "JMBinaryNot", "JMIntegerToBooleans", "JMNumberList", - "JMSWitchablePrompt" + "JMSWitchablePrompt", + "JMSwitchablePrompt" ], { "title_aux": "ComfyUI JMNodes" } ], + "https://github.com/K3NK3/ComfyUI-K3NKImageGrab": [ + [ + "K3NKFindNearestBucket", + "K3NKImageGrab", + "K3NKImageLoaderWithBlending", + "K3NKSaveLatentPassThrought" + ], + { + "title_aux": "ComfyUI-K3NKImageGrab" + } + ], + "https://github.com/K3nt3L/ComfyUI-S1Z35": [ + [ + "S1Z35_Custom1", + "S1Z35_Custom2", + "S1Z35_Flux1", + "S1Z35_Flux2", + "S1Z35_Hunyuan", + "S1Z35_Qwen", + "S1Z35_SDXL", + "S1Z35_ZIT" + ], + { + "title_aux": "ComfyUI-S1Z35" + } + ], + "https://github.com/KAVVATARE/ComfyUI-Light-N-Color": [ + [ + "ControlNetSwitch", + "FluxLightingAndColor", + "FluxSamplerPuLID", + "ImageSwitch", + "LatentSwitch", + "LoadInputOutputImage" + ], + { + "title_aux": " ComfyUI-Light-N-Color" + } + ], + "https://github.com/KAVVATARE/ComfyUI_RightEyeDisparity": [ + [ + "RightEyeImageNode", + "VideoRightEyeNode" + ], + { + "title_aux": "RightEyeDisparity" + } + ], + "https://github.com/KAVVATARE/ComfyUI_SimpleGoogleTranslate": [ + [ + "SimpleGoogleTranslateTextNode" + ], + { + "title_aux": "ComfyUI_SimpleGoogleTranslate" + } + ], + "https://github.com/KERRY-YUAN/ComfyUI_Float_Animator": [ + [ + "Float_Animator" + ], + { + "title_aux": "ComfyUI_Float_Animator" + } + ], + "https://github.com/KERRY-YUAN/ComfyUI_Simple_Executor": [ + [ + "NodeAutoSampler", + "NodeImagePre", + "NodeImageResize" + ], + { + "title_aux": "NodeSimpleExecutor" + } + ], + "https://github.com/KERRY-YUAN/ComfyUI_Spark_TTS": [ + [ + "Spark_TTS_Clone", + "Spark_TTS_Creation" + ], + { + "title_aux": "ComfyUI_Spark_TTS" + } + ], + "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 Images from Dir", + "Simple Load Line From Text File", + "Simple Lora Loader", + "Simple Remove Think" + ], + { + "title_aux": "ComfyUI_SimpleButcher" + } + ], + "https://github.com/KLL535/ComfyUI_Simple_Qwen3-VL-gguf": [ + [ + "SimpleCameraSelector", + "SimpleMasterPromptLoader", + "SimpleMasterPromptLoaderAdvanced", + "SimpleModelPresetLoaderAdvanced", + "SimpleQwenVLgguf", + "SimpleQwenVLggufV2", + "SimpleStyleSelector" + ], + { + "title_aux": "ComfyUI_Simple_Qwen3-VL-gguf" + } + ], + "https://github.com/KY-2000/ComfyUI_PuLID_Flux_ll_FaceNet": [ + [ + "ApplyPulidFlux", + "FixPulidFluxPatch", + "PulidFluxEvaClipLoader", + "PulidFluxFaceDetector", + "PulidFluxFaceNetLoader", + "PulidFluxInsightFaceLoader", + "PulidFluxModelLoader", + "PulidFluxOptions" + ], + { + "title_aux": "ComfyUI_PuLID_Flux_ll_FaceNet" + } + ], + "https://github.com/KY-2000/RES4LYF-tester-loop": [ + [ + "DoubleFloatRangeLoop", + "DoubleIntRangeLoop", + "RES4LYFComboLoop", + "RES4LYFSamplerLoop", + "RES4LYFSchedulerLoop", + "SingleFloatLoop", + "SingleIntLoop" + ], + { + "title_aux": "RES4LYF-tester-loop" + } + ], + "https://github.com/KY-2000/comfyui-ksampler-tester-loop": [ + [ + "AllParametersLoop", + "AllParametersLoopAdvanced", + "FloatRangeLoop", + "ParametersRangeLoop", + "SamplerLoop", + "SamplerLoopAdvanced", + "SamplerSchedulerLoop", + "SamplerSchedulerLoopAdvanced", + "SchedulerLoop" + ], + { + "title_aux": "comfyui-ksampler-tester-loop" + } + ], + "https://github.com/KY-2000/comfyui-save-image-enhanced": [ + [ + "SaveImageEnhancedNode" + ], + { + "title_aux": "comfyui-save-image-enhanced" + } + ], + "https://github.com/Kaleidia/KaleidiaNodes": [ + [ + "DynamicPromptNode", + "FormatIntToString", + "GetFileCountInOutputFolder", + "LoadCSV", + "RandomFloatToString", + "RandomIntToString", + "SequentialPromptNode" + ], + { + "title_aux": "KaleidiaNodes" + } + ], "https://github.com/Kangkang625/ComfyUI-paint-by-example": [ [ "PaintbyExamplePipeLoader", @@ -4326,6 +11714,64 @@ "title_aux": "ComfyUI-Paint-by-Example" } ], + "https://github.com/KarmaSwint/ComfyUI-KarmaNodes": [ + [ + "Karma-Film-Grain", + "Karma-KSampler-Cycle", + "Karma-Kolors", + "Karma_Film_Grain", + "Karma_Kolors" + ], + { + "title_aux": "KarmaNodes" + } + ], + "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": [ + [ + "GISDetectionNode", + "YOLOInferenceNode", + "YOLOTrainNode" + ], + { + "title_aux": "GeoNodes" + } + ], + "https://github.com/Kazama-Suichiku/ComfyUI-Meshy": [ + [ + "MeshyAPIKey", + "MeshyImageTo3D", + "MeshyTextTo3DPreview", + "MeshyTextTo3DRefine" + ], + { + "title_aux": "ComfyUI-Meshy" + } + ], + "https://github.com/Kebolder/ComfyUI-Jax-Nodes": [ + [ + "JAX_ConditionalSelect", + "JAX_EasyPrompt", + "JAX_EasyPromptSimple", + "JAX_ImageSizeMultiplier", + "JAX_KritaPipeIn", + "JAX_KritaStrength", + "JAX_SamplerPipeOut" + ], + { + "title_aux": "ComfyUI-Jax-Nodes" + } + ], "https://github.com/Kesin11/ComfyUI-list-filter": [ [ "list_filter_FilterImageListByIndexList", @@ -4355,6 +11801,47 @@ "title_aux": "ComfyUI-kewky_tools" } ], + "https://github.com/Kidev/ComfyUI-FaceFilter": [ + [ + "FaceFilterNode", + "MergeImageBatches" + ], + { + "title_aux": "ComfyUI-FaceFilter" + } + ], + "https://github.com/Kidev/ComfyUI-Fisheye-effects": [ + [ + "Defisheye", + "Fisheye" + ], + { + "title_aux": "ComfyUI Fisheye Effects Nodes" + } + ], + "https://github.com/Kishor900/comfyui-wanv2v-video-stitcher": [ + [ + "MixColorByMaskBatched", + "NumberedBatchDebugger", + "VideoToImages", + "WanV2VIterControlGroup", + "WanV2VMergeDeOverlap", + "WanV2VUpscaler" + ], + { + "title_aux": "ComfyUI WANv2v Video Stitcher" + } + ], + "https://github.com/KohakuBlueleaf/HDM-ext": [ + [ + "HDMCameraParam", + "HDMLoader", + "HDMTreadGamma" + ], + { + "title_aux": "HDM-ext" + } + ], "https://github.com/KohakuBlueleaf/z-tipo-extension": [ [ "TIPO", @@ -4365,7 +11852,40 @@ "title_aux": "TIPO-extension" } ], - "https://github.com/KoreTeknology/ComfyUI-Compositing-Nodes-Pack": [ + "https://github.com/Koko-boya/Comfyui-GeminiWeb": [ + [ + "GeminiWeb" + ], + { + "title_aux": "Comfyui-GeminiWeb" + } + ], + "https://github.com/Koko-boya/Comfyui-Z-Image-Utilities": [ + [ + "Z_ImageAPIConfig", + "Z_ImageClearSessions", + "Z_ImageIntegratedKSampler", + "Z_ImageOptions", + "Z_ImagePromptEnhancer", + "Z_ImageUnloadModels" + ], + { + "title_aux": "Comfyui-Z-Image-Utilities" + } + ], + "https://github.com/Koratahiu/ComfyUI-Diff2Flow": [ + [ + "Diff2FlowODESampler" + ], + { + "author": "Koratahiu", + "description": "Unofficial Implementation of Diff2Flow Method for ComfyUI.", + "nickname": "ComfyUI-Diff2Flow", + "title": "ComfyUI-Diff2Flow", + "title_aux": "ComfyUI-Diff2Flow" + } + ], + "https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack": [ [ "Brightness Image", "ColorMatch2", @@ -4383,15 +11903,17 @@ "Set Text" ], { - "title_aux": "ComfyUI Compositing Nodes Pack" + "title_aux": "ComfyUI Production Nodes Pack" } ], "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": [ [ - "Load Nai Styles Complex CSV", - "ShowText|pysssss", - "Universal_Styler_Node", - "concat" + "LoadScriptsFromDatabase", + "SaveScriptToDatabase", + "SetMainChannel", + "\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" @@ -4407,7 +11929,6 @@ "ACN_ControlNet++LoaderAdvanced", "ACN_ControlNet++LoaderSingle", "ACN_ControlNetLoaderAdvanced", - "ACN_ControlNetLoaderWithLoraAdvanced", "ACN_CtrLoRALoader", "ACN_CustomControlNetWeightsFlux", "ACN_CustomControlNetWeightsSD15", @@ -4450,6 +11971,8 @@ ], "https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved": [ [ + "ADBlockComboNode", + "ADBlockIndivNode", "ADE_AdjustPEFullStretch", "ADE_AdjustPEManual", "ADE_AdjustPESweetspotStretch", @@ -4459,6 +11982,7 @@ "ADE_AdjustWeightIndivAttnAdd", "ADE_AdjustWeightIndivAttnMult", "ADE_AdjustWeightIndivMult", + "ADE_AncestralOptions", "ADE_AnimateDiffCombine", "ADE_AnimateDiffKeyframe", "ADE_AnimateDiffLoRALoader", @@ -4542,6 +12066,7 @@ "ADE_NoiseCalibration", "ADE_NoiseLayerAdd", "ADE_NoiseLayerAddWeighted", + "ADE_NoiseLayerNormalizedSum", "ADE_NoiseLayerReplace", "ADE_NoisedImageInjectOptions", "ADE_NoisedImageInjection", @@ -4576,8 +12101,22 @@ "ADE_VisualizeContextOptionsK", "ADE_VisualizeContextOptionsKAdv", "ADE_VisualizeContextOptionsSCustom", + "AddValuesReplaceNode", "AnimateDiffLoaderV1", - "CheckpointLoaderSimpleWithNoiseSelect" + "CheckpointLoaderSimpleWithNoiseSelect", + "ConditionExtractionNode", + "FloatToFloatsNode", + "PerBlockHighLevelNode", + "PerBlock_SD15_FromFloatsNode", + "PerBlock_SD15_LowLevelNode", + "PerBlock_SD15_MidLevelNode", + "PerBlock_SDXL_FromFloatsNode", + "PerBlock_SDXL_LowLevelNode", + "PerBlock_SDXL_MidLevelNode", + "PromptSchedulingLatentsNode", + "PromptSchedulingNode", + "ValueSchedulingLatentsNode", + "ValueSchedulingNode" ], { "title_aux": "AnimateDiff Evolved" @@ -4612,6 +12151,7 @@ "VHS_SelectFilename", "VHS_SelectImages", "VHS_SelectLatents", + "VHS_SelectLatest", "VHS_SelectMasks", "VHS_SplitImages", "VHS_SplitLatents", @@ -4637,19 +12177,70 @@ "title_aux": "ComfyUI-DenoiseChooser" } ], + "https://github.com/KunmyonChoi/ComfyUI_S3_direct": [ + [ + "CKM Direct Load Image From S3", + "CKM Direct Save Image To S3", + "Direct Load Image From S3", + "Direct Save Image To S3", + "Save VHS Video to S3" + ], + { + "title_aux": "ComfyUI_S3_direct" + } + ], + "https://github.com/Kurdknight/Kurdknight_comfycheck": [ + [ + "SystemCheck", + "SystemViz" + ], + { + "title_aux": "KurdKnight ComfyUI System Check Node" + } + ], + "https://github.com/KursatAs/KrsNodes": [ + [ + "CropPadAdvancedKrs", + "QwenImageEditLatentKrs", + "TextEncodeQwenImageEditKrsAdvanced", + "TextEncodeQwenImageEditKrsSimple" + ], + { + "title_aux": "Comfyui Krs Nodes" + } + ], "https://github.com/KwaiVGI/ComfyUI-KLingAI-API": [ [ "Client", + "Effects", + "Image Expander", "Image Generator", "Image2Video", + "KLingAI Preview Audio", "KLingAI Preview Video", + "Lip Sync", + "Lip Sync Audio Input", + "Lip Sync Text Input", + "Text2Audio", "Text2Video", + "Video Extender", + "Video2Audio", "Virtual Try On" ], { "title_aux": "ComfyUI-KLingAI-API" } ], + "https://github.com/Ky11le/draw_tools": [ + [ + "DetectInnerBox", + "PasteIntoFrame", + "TextBoxAutoWrap" + ], + { + "title_aux": "draw_tools" + } + ], "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [ [ "SendToDiscordWebhook" @@ -4658,6 +12249,78 @@ "title_aux": "ComfyUI_KytraWebhookHTTP" } ], + "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra": [ + [ + "Kytra_Images_To_RGB", + "MatAnyoneVideoMatting" + ], + { + "title_aux": "ComfyUI_MatAnyone_Kytra" + } + ], + "https://github.com/L-Hugh/ComfyUI-Lumina-DiMOO": [ + [ + "Generator_I2I", + "Generator_T2I", + "ImageTokens_I2I", + "ImageTokens_Inpainting", + "ImageTokens_T2I", + "LoadModel", + "PromptBuilder", + "VQDecode" + ], + { + "title_aux": "ComfyUI-Lumina-DiMOO" + } + ], + "https://github.com/L33chKing/ComfyUI-danbooru-FAISS-search": [ + [ + "DanbooruLookupAndDownload", + "GetDanbooru", + "StyleSimilarity", + "TagPrompt" + ], + { + "title_aux": "Danbooru FAISS Search Nodes" + } + ], + "https://github.com/L33chKing/ComfyUI_Channel_Ops": [ + [ + "ChannelOpsNode", + "LayerBlendingNode" + ], + { + "title_aux": "ComfyUI Channel Ops" + } + ], + "https://github.com/L33chKing/comfyui-tag-frequency-weighter": [ + [ + "TagFrequencyWeighter" + ], + { + "title_aux": "Tag Frequency Weighter for ComfyUI" + } + ], + "https://github.com/LAOGOU-666/ComfyUI-LG_HotReload": [ + [ + "HotReload_Terminal" + ], + { + "title_aux": "ComfyUI-LG_HotReload" + } + ], + "https://github.com/LAOGOU-666/ComfyUI-LG_SamplingUtils": [ + [ + "LGNoiseInjection", + "LGNoiseInjectionLatent", + "ModelSamplingZImage", + "SigmasEditor", + "ZImageTimestepNoise" + ], + { + "title_aux": "ComfyUI-LG_SamplingUtils" + } + ], "https://github.com/LAOGOU-666/ComfyUI_LG_FFT": [ [ "LG_FFTNode", @@ -4667,6 +12330,100 @@ "title_aux": "ComfyUI_LG_FFT" } ], + "https://github.com/LAOGOU-666/Comfyui-LG_GroupExecutor": [ + [ + "GroupExecutorRepeater", + "GroupExecutorSender", + "GroupExecutorSingle", + "ImageListRepeater", + "ImageListSplitter", + "LG_AccumulatePreview", + "LG_ClearAccumulatedValues", + "LG_ConcatVideoFiles", + "LG_CreateAndSaveVideo", + "LG_FastPreview", + "LG_ImageReceiver", + "LG_ImageSender", + "LG_SaveAudioGetPath", + "LG_ValueReceiver", + "LG_ValueSender", + "MaskListRepeater", + "MaskListSplitter" + ], + { + "title_aux": "Comfyui-LG_GroupExecutor" + } + ], + "https://github.com/LAOGOU-666/Comfyui-LG_Relight": [ + [ + "LG_Relight", + "LG_Relight_Basic", + "LG_Relight_Ultra" + ], + { + "title_aux": "Comfyui-LG_Relight" + } + ], + "https://github.com/LAOGOU-666/Comfyui-Memory_Cleanup": [ + [ + "RAMCleanup", + "VRAMCleanup" + ], + { + "title_aux": "Comfyui-Memory_Cleanup" + } + ], + "https://github.com/LAOGOU-666/Comfyui_LG_Tools": [ + [ + "AFL2:ImageRestoreNodeV2", + "AFL2:MaskBoxCropNodeV2", + "AFL2_PSD_Layer", + "AFL2_Save_PSD", + "BridgePreviewNode", + "CachePreviewBridge", + "ColorAdjustment", + "ComboSetter", + "FastCanvas", + "FastCanvasComposite", + "FastCanvasTool", + "GroupSwitcher", + "ImageCropper", + "ImageSelector", + "ImageSizeAdjustment", + "InspyrenetRembgLoader", + "InspyrenetRembgProcess", + "LG_Counter", + "LG_FloatRange", + "LG_ImageLoaderWithCounter", + "LG_InstallDependencies", + "LG_LatentBatchToList", + "LG_LoadImage", + "LG_MaskBatchMerge", + "LG_MaskHoleFiller", + "LG_Noise", + "LG_PipManager", + "LG_SaveImage", + "LazySwitch1way", + "LazySwitch2way", + "MuterSwitcher", + "TransformDataFromString" + ], + { + "title_aux": "Comfyui_LG_Tools" + } + ], + "https://github.com/LDNKS094/ComfyUI-Painter-I2V-AIO": [ + [ + "PainterI2V", + "PainterI2VAdvanced", + "PainterI2VExtend", + "PainterSampler", + "PainterSamplerAdvanced" + ], + { + "title_aux": "ComfyUI-Painter-I2V-AIO" + } + ], "https://github.com/LEv145/images-grid-comfy-plugin": [ [ "GridAnnotation", @@ -4679,6 +12436,83 @@ "title_aux": "ImagesGrid" } ], + "https://github.com/LK-168/comfyui_imgutils": [ + [ + "BBoxFilter", + "BBoxToMaskNode", + "CensorWithMask", + "ImgutilsAutoSegmenter", + "ImgutilsBBoxSegmenter", + "ImgutilsGenericDetector", + "MaskAttributeNodeLK", + "MaskCombineNodeLK", + "MaskEdgeNodeLK", + "MaskHelperLK", + "MaskInfoNodeLK", + "MaskMorphologyNodeLK", + "MaskToBBoxNode", + "SAMLoaderLK", + "SAMPredictorNode" + ], + { + "title_aux": "comfyui_imgutils" + } + ], + "https://github.com/LKbaba/ComfyUI-TuZi-Flux-Kontext": [ + [ + "FluxKontext_ImageToImage", + "FluxKontext_MultiImageToImage", + "FluxKontext_TextToImage" + ], + { + "title_aux": "ComfyUI-TuZi-Flux-Kontext" + } + ], + "https://github.com/LaVie024/comfyui-lopi999-llm": [ + [ + "CanaryQwenASR", + "LLMNode(lopi999)" + ], + { + "title_aux": "comfyui-lopi999-llm" + } + ], + "https://github.com/Lakonik/ComfyUI-piFlow": [ + [ + "Load pi-Flow Model", + "Load pi-Flow Model (GGUF)", + "ModelSamplingPiFlow", + "pi-Flow Sampler" + ], + { + "title_aux": "ComfyUI-piFlow" + } + ], + "https://github.com/LamEmil/ComfyUI_ASCIIArtNode": [ + [ + "ASCIIAnimationGenerator", + "ASCIIArtGenerator", + "ColorASCIIAnimationGenerator", + "RealisticColorASCIIAnimationGenerator", + "SequentialTwoPassTypingColorASCIIAnimation", + "TwoPassTypingColorASCIIAnimation", + "VideoToColorStaticASCIIArt", + "VideoToDynamicColorASCIIArt" + ], + { + "title_aux": "ComfyUI ASCII Art Nodes" + } + ], + "https://github.com/LaoMaoBoss/ComfyUI-WBLESS": [ + [ + "Inversed Switch", + "RunningHUB API", + "Switch" + ], + { + "title_aux": "ComfyUI-WBLESS" + } + ], "https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": [ [ "LoRA Caption Load", @@ -4704,6 +12538,7 @@ "Texturaizer_ApplyStyleToPrompt", "Texturaizer_CachedCNLoader", "Texturaizer_CachedCheckpointLoader", + "Texturaizer_CircularVAEDecode", "Texturaizer_ClipEncodeSwitchVersion", "Texturaizer_CombinedConditioningFromColors", "Texturaizer_ExtractCNData", @@ -4714,7 +12549,9 @@ "Texturaizer_GetIPAdapterData", "Texturaizer_GetImageData", "Texturaizer_GetJsonData", + "Texturaizer_GetKontextData", "Texturaizer_GetLoraData", + "Texturaizer_GetMaterialTileData", "Texturaizer_GetModelName", "Texturaizer_GetPromptData", "Texturaizer_GetRenderData", @@ -4724,17 +12561,78 @@ "Texturaizer_GetVAEName", "Texturaizer_IPAdapterEmbeds", "Texturaizer_KSamplerAdvanced", + "Texturaizer_Placeholder", "Texturaizer_PowerLoraLoader", + "Texturaizer_SeamlessTilingPatch", + "Texturaizer_SendImage", "Texturaizer_SetGlobalDir", "Texturaizer_SigmasSelector", "Texturaizer_SwitchAny", "Texturaizer_SwitchLazy", + "Texturaizer_SwitchSmart", "Texturaizer_UseSDXL" ], { "title_aux": "ComfyUI-Texturaizer" } ], + "https://github.com/Laurent2916/comfyui-piq": [ + [ + "ContentScore", + "DISTS", + "DSS", + "FSIM", + "GMSD", + "HaarPSI", + "IW-SSIM", + "LPIPS", + "MDSI", + "MS-SSIM", + "MSGMSD", + "PSNR", + "PieAPP", + "SRSIM", + "SSIM", + "StyleScore", + "VIFp" + ], + { + "title_aux": "comfyui-piq" + } + ], + "https://github.com/Lavah000/ComfyUI-AdvGenPack": [ + [ + "AGP_Bloom_Glow_FX", + "AGP_Checkpoint_Mask_Generator", + "AGP_Checkpoint_Merger_Advanced", + "AGP_Checkpoint_Merger_Blockwise", + "AGP_Checkpoint_Merger_DARE", + "AGP_Chromatic_Aberration", + "AGP_Color_Grading_Preset", + "AGP_Curves_And_Levels", + "AGP_Denoise_Suite", + "AGP_Film_Grain_Noise", + "AGP_HSV_Shifter", + "AGP_Histogram_Equalizer", + "AGP_Keyframe_Extractor", + "AGP_LUT_3D_Loader", + "AGP_LoRA_DARE_Merger", + "AGP_LoRA_Multi_Merger", + "AGP_LoRA_Strength_Scheduler", + "AGP_Motion_Prediction_Sampler", + "AGP_Optical_Flow_Interpolator", + "AGP_Sharpening_Filter", + "AGP_Temporal_Consistency_Enforcer", + "AGP_WAN_Boundary_Optimizer", + "AGP_WAN_Lightning_Hybrid", + "AGP_WAN_Multi_Expert_Sampler", + "AGP_WAN_Noise_Mixer_Expert", + "AGP_White_Balance_Corrector" + ], + { + "title_aux": "ComfyUI Advanced Generation Pack (AGP)" + } + ], "https://github.com/Layer-norm/comfyui-lama-remover": [ [ "LamaRemover", @@ -4744,6 +12642,47 @@ "title_aux": "Comfyui lama remover" } ], + "https://github.com/LeanModels/ComfyUI-DFloat11": [ + [ + "DFloat11ModelLoader" + ], + { + "title_aux": "ComfyUI-DFloat11" + } + ], + "https://github.com/Legorobotdude/ComfyUI-VariationLab": [ + [ + "CFGExplorer", + "CheckpointExplorer", + "StepExplorer" + ], + { + "title_aux": "ComfyUI-VariationLab" + } + ], + "https://github.com/LeonQ8/ComfyUI-Dynamic-Lora-Scheduler": [ + [ + "AdaptiveLoraScheduler", + "LoadWanVideoClipTextEncoder", + "LoadWanVideoT5TextEncoder", + "WanVideoBlockSwap", + "WanVideoExtraModelSelect", + "WanVideoLoraBlockEdit", + "WanVideoLoraSelect", + "WanVideoLoraSelectByName", + "WanVideoLoraSelectMulti", + "WanVideoModelLoader", + "WanVideoSetLoRAs", + "WanVideoTinyVAELoader", + "WanVideoTorchCompileSettings", + "WanVideoVACEModelSelect", + "WanVideoVAELoader", + "WanVideoVRAMManagement" + ], + { + "title_aux": "ComfyUI-Dynamic-Lora-Scheduler" + } + ], "https://github.com/Lerc/canvas_tab": [ [ "Canvas_Tab", @@ -4759,45 +12698,146 @@ ], "https://github.com/LevelPixel/ComfyUI-LevelPixel": [ [ - "Autotagger|LP", + "AnyToText|LP", "BoolToInt|LP", "BoolToString|LP", + "CLIP Text Encode Translate [LP]", "CLIPTextEncodeTranslate|LP", + "Calculate Target Size By Mask [LP]", + "CalculateTargetSizeByMask|LP", + "ComboToText|LP", + "Convert Any To Text [LP]", + "Convert Bool To Int [LP]", + "Convert Bool To String [LP]", + "Convert Combo To Text [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]", + "Count Objects [LP]", + "CountObjects|LP", + "Cropped Aspect Size Parameters [LP]", + "Cropped Forsed Size Parameters [LP]", + "Cropped Free Size Parameters [LP]", + "Cropped Ranged Size Parameters [LP]", + "CroppedAspectSizeParameters|LP", + "CroppedForsedSizeParameters|LP", + "CroppedFreeSizeParameters|LP", + "CroppedRangedSizeParameters|LP", + "Delay [LP]", + "Delay|LP", + "Extend Factor Parameters [LP]", + "ExtendFactorParameters|LP", + "Fast Checker Pattern [LP]", "FastCheckerPattern|LP", + "File Counter [LP]", "FileCounter|LP", + "Find Value From File [LP]", + "FindValueFromFile|LP", "FloatToInt|LP", "FloatToString|LP", + "Get ComfyUI Folder Path [LP]", + "Get ComfyUI HTTP Folder Path [LP]", + "Get Filename By Index In Folder [LP]", + "Get Iterator Data From Image Folders [LP]", + "Get Iterator Data From Videos [LP]", + "GetComfyUIFolderPath|LP", + "GetComfyUIHttpFolderPath|LP", + "GetFilenameByIndexInFolder|LP", + "GetIteratorDataImageFolders|LP", + "GetIteratorDataVideos|LP", + "Hard Unload All Models [LP]", "HardModelUnloader|LP", "HundredthsSimpleFloatSlider|LP", + "Image Data Iterator [LP]", + "Image Loader From Path [LP]", + "Image Overlay [LP]", + "ImageDataIterator|LP", "ImageLoaderFromPath|LP", "ImageOverlay|LP", - "ImageRemoveBackground|LP", + "Inpaint Crop [LP]", + "Inpaint Stitch [LP]", + "InpaintCrop|LP", + "InpaintStitch|LP", "IntToBool|LP", "IntToFloat|LP", "IntToString|LP", - "LLMAdvanced|LP", - "LLMLoader|LP", - "LLMSampler|LP", - "LLavaAdvanced|LP", - "LLavaClipLoader|LP", - "LLavaLoader|LP", - "LLavaSamplerAdvanced|LP", - "LLavaSamplerSimple|LP", - "LLavaSimple|LP", + "Iterator [LP]", + "Iterator|LP", + "Keep Only English Tags [LP]", + "Keep Only English Words [LP]", + "KeepOnlyEnglishTags|LP", + "KeepOnlyEnglishWords|LP", + "Load Image [LP]", + "Load LoRA Tag [LP]", "LoadImage|LP", "LoraTagLoader|LP", "ModelUnloader|LP", + "Override CLIP Device [LP]", + "Override CLIP Vision Device [LP]", + "Override VAE Device [LP]", + "OverrideCLIPDevice|LP", + "OverrideCLIPVisionDevice|LP", + "OverrideVAEDevice|LP", + "Pipe In [LP]", + "Pipe Out [LP]", + "Pipe [LP]", + "PipeIn|LP", + "PipeOut|LP", + "Pipe|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", + "Resize Image To Target Size [LP]", + "Resize Image and Masks [LP]", + "ResizeImageAndMasks|LP", + "ResizeImageToTargetSize|LP", + "Resorting Tags [LP]", + "ResortingTags|LP", + "Seed [LP]", + "Seed|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 Full Clean RAM and VRAM [LP]", + "Soft Unload Models Data [LP]", + "SoftFullCleanRAMAndVRAM|LP", "SoftModelUnloader|LP", + "Split Compound Text [LP]", + "SplitCompoundText|LP", + "String Cycler [LP]", + "String [LP]", + "StringCycler|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", @@ -4807,12 +12847,91 @@ "TagReplace|LP", "TagSwitcher|LP", "TenthsSimpleFloatSlider|LP", + "Text Choice Parser [LP]", + "Text Replace [LP]", + "Text To List [LP]", + "Text Translate [LP]", + "Text [LP]", "TextChoiceParser|LP", + "TextReplace|LP", + "TextToList|LP", + "TextTranslateManualAll|LP", + "TextTranslateManual|LP", "TextTranslate|LP", - "Text|LP" + "Text|LP", + "Unload Model [LP]" ], { - "title_aux": "ComfyUI_LevelPixel" + "title_aux": "ComfyUI Level Pixel" + } + ], + "https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced": [ + [ + "Autotagger [LP]", + "Autotagger|LP", + "Color Input [LP]", + "ColorInput|LP", + "Image Remove Background (BiRefNet) [LP]", + "Image Remove Background (RMBG) [LP]", + "Image Remove Background (rembg) [LP]", + "ImageRemoveBackgroundBiRefNet|LP", + "ImageRemoveBackgroundRMBG|LP", + "ImageRemoveBackground|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", + "Multimodal Generator Advanced [LP]", + "MultimodalGeneratorAdvanced|LP", + "Recognize Anything (RAM) [LP]", + "RecognizeAnything(RAM)|LP" + ], + { + "title_aux": "ComfyUI Level Pixel Advanced" + } + ], + "https://github.com/Lex-DRL/ComfyUI-BestResolution": [ + [ + "BestResolutionFromArea", + "BestResolutionFromAreaUpscale", + "BestResolutionFromAspectRatio", + "BestResolutionPrimCropPadStrategy", + "BestResolutionPrimResPriority", + "BestResolutionScale", + "BestResolutionSimple", + "BestResolutionUpscaledCropPad", + "ImageUpscaleByWithModel" + ], + { + "title_aux": "Best Resolution" + } + ], + "https://github.com/Lex-DRL/ComfyUI-StringConstructor": [ + [ + "StringConstructorDictAddAny", + "StringConstructorDictAddString", + "StringConstructorDictExtractString", + "StringConstructorDictFromText", + "StringConstructorDictPreview", + "StringConstructorFormatter", + "StringConstructorValidateKeys" + ], + { + "title_aux": "String Constructor (Text-Formatting)" } ], "https://github.com/Lhyejin/ComfyUI-Fill-Image-for-Outpainting": [ @@ -4823,6 +12942,58 @@ "title_aux": "ComfyUI-Fill-Image-for-Outpainting" } ], + "https://github.com/LiJT/ComfyUI-Gemini-Prompt-Generator-JT": [ + [ + "GeminiPromptGeneratorJT" + ], + { + "title_aux": "Gemini prompt generator JT version" + } + ], + "https://github.com/Light-x02/ComfyUI-Civitai-Discovery-Hub": [ + [ + "CivitaiDiscoveryHubNode", + "ClearLoraName" + ], + { + "title_aux": "ComfyUI-Civitai-Discovery-Hub" + } + ], + "https://github.com/Light-x02/ComfyUI-FluxSettingsNode": [ + [ + "DisableNoise", + "FluxSettingsNode" + ], + { + "title_aux": "Flux Settings Node" + } + ], + "https://github.com/Light-x02/ComfyUI-Lightx02-Nodes": [ + [ + "FluxPipeUnpack", + "FluxSettingsPipe", + "ImageMetadataLoader", + "ImageMetadataSaver", + "LMMExtractPromptsNode", + "LatentSettings", + "Loraloadertotext", + "PipeHub", + "PreviewMask", + "UniversalLatentSettings", + "cropImage" + ], + { + "title_aux": "Light-x02 Nodes" + } + ], + "https://github.com/Light-x02/ComfyUI-checkpoint-Discovery-Hub": [ + [ + "CheckpointDiscoveryHub" + ], + { + "title_aux": "ComfyUI-checkpoint-Discovery-Hub" + } + ], "https://github.com/LightSketch-ai/ComfyUI-LivePortraitNode": [ [ "LightSketch Live Portrait", @@ -4832,6 +13003,117 @@ "title_aux": "ComfyUI-LivePortraitNode (Replicate API)" } ], + "https://github.com/Lightricks/ComfyUI-LTXVideo": [ + [ + "AddLatentGuide", + "DynamicConditioning", + "GemmaAPITextEncode", + "GuiderParameters", + "ImageToCPU", + "LTXAddImageGuide", + "LTXAddVideoICLoRAGuide", + "LTXAttentioOverride", + "LTXAttentionBank", + "LTXAttnOverride", + "LTXFetaEnhance", + "LTXFlowEditCFGGuider", + "LTXFlowEditSampler", + "LTXForwardModelSamplingPred", + "LTXICLoRALoaderModelOnly", + "LTXPerturbedAttention", + "LTXPrepareAttnInjections", + "LTXQ8Patch", + "LTXRFForwardODESampler", + "LTXRFReverseODESampler", + "LTXReverseModelSamplingPred", + "LTXVAdainLatent", + "LTXVAddGuideAdvanced", + "LTXVAddLatentGuide", + "LTXVApplySTG", + "LTXVBaseSampler", + "LTXVExtendSampler", + "LTXVGemmaCLIPModelLoader", + "LTXVGemmaEnhancePrompt", + "LTXVImgToVideoConditionOnly", + "LTXVInContextSampler", + "LTXVLinearOverlapLatentTransition", + "LTXVLoadConditioning", + "LTXVLoopingSampler", + "LTXVMultiPromptProvider", + "LTXVNormalizingSampler", + "LTXVPatcherVAE", + "LTXVPerStepAdainPatcher", + "LTXVPerStepStatNormPatcher", + "LTXVPreprocessMasks", + "LTXVPromptEnhancer", + "LTXVPromptEnhancerLoader", + "LTXVQ8LoraModelLoader", + "LTXVSaveConditioning", + "LTXVSelectLatents", + "LTXVSetVideoLatentNoiseMasks", + "LTXVStatNormLatent", + "LTXVTiledSampler", + "LTXVTiledVAEDecode", + "LowVRAMAudioVAELoader", + "LowVRAMCheckpointLoader", + "LowVRAMLatentUpscaleModelLoader", + "ModifyLTXModel", + "MultimodalGuider", + "STGAdvancedPresets", + "STGGuiderAdvanced", + "STGGuiderNode", + "Set VAE Decoder Noise" + ], + { + "title_aux": "ComfyUI-LTXVideo" + } + ], + "https://github.com/Limbicnation/ComfyUI-PromptGenerator": [ + [ + "PromptGenerator", + "StyleApplier" + ], + { + "title_aux": "ComfyUI-PromptGenerator" + } + ], + "https://github.com/Limbicnation/ComfyUI-RandomSeedGenerator": [ + [ + "AdvancedSeedGenerator" + ], + { + "title_aux": "ComfyUI-RandomSeedGenerator" + } + ], + "https://github.com/Limbicnation/ComfyUI-TransparencyBackgroundRemover": [ + [ + "AutoGrabCutRemover", + "GrabCutRefinement", + "TransparencyBackgroundRemover", + "TransparencyBackgroundRemoverBatch" + ], + { + "title_aux": "Transparency Background Remover" + } + ], + "https://github.com/Limbicnation/ComfyUIDepthEstimation": [ + [ + "DepthEstimationNode" + ], + { + "title_aux": "Depth Estimation Node" + } + ], + "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode": [ + [ + "FaceDetectionNode", + "custom_nodes" + ], + { + "nodename_pattern": "FaceDetectionNode", + "title_aux": "ComfyUI Face Detection Node" + } + ], "https://github.com/Limitex/ComfyUI-Calculation": [ [ "CenterCalculation", @@ -4869,6 +13151,21 @@ "title_aux": "ComfyUI-PixelResolutionCalculator" } ], + "https://github.com/LingSss9/comfyui-merge": [ + [ + "LoadLoRAMenu", + "MergeLoRAsKohyaSSLike", + "OnlyLoadLoRAsModel", + "SaveLoRAModels" + ], + { + "author": "cyberblackcat", + "description": "This extension provides some nodes to support merge lora, adjust Lora Block Weight.", + "nickname": "CBC", + "title": "merge", + "title_aux": "comfyui-merge" + } + ], "https://github.com/Loewen-Hob/rembg-comfyui-node-better": [ [ "Image Remove Background (rembg)" @@ -4897,6 +13194,116 @@ "title_aux": "ComfyUI-RawSaver" } ], + "https://github.com/LoveEatCandy/COMFYUI-ReplacePartOfImage": [ + [ + "ReplacePartOfImage" + ], + { + "title_aux": "COMFYUI-ReplacePartOfImage" + } + ], + "https://github.com/Lovzu/ComfyUI-KittenTTS": [ + [ + "KittenTTS" + ], + { + "title_aux": "KittenTTS Node for Voice Generation" + } + ], + "https://github.com/Ltamann/ComfyUI-FastVLM-7B": [ + [ + "FastVLM7BNode" + ], + { + "title_aux": "FastVLM-7B ComfyUI Node" + } + ], + "https://github.com/Ltamann/ComfyUI-TBG-ETUR": [ + [ + "ApplyRegionalConds", + "ConfigureModifiedFlux", + "CreateRegionalCond", + "EdgePadNode", + "FlowEditForwardSampler", + "FlowEditGuider", + "FlowEditReverseSampler", + "FlowEditSampler", + "FluxAttnOverride", + "FluxDeGuidance", + "FluxForwardODESampler", + "FluxInverseSampler", + "FluxKontextResolution", + "FluxNoiseMixer", + "FluxReverseODESampler", + "ImageComplexityMap", + "InFluxFlipSigmas", + "InFluxModelSamplingPred", + "IncrementBatch", + "MaskConditionalPaint", + "MaskGrayValueScaler", + "MaskMultiplyAdvanced", + "MaskMultiplyZeroWins", + "MaskToDenoiseInterpolator", + "MaskUpdateInpaintFromConditioning", + "OutFluxModelSamplingPred", + "PAGAttention", + "PrepareAttnBank", + "QwenEditResolution", + "RFDoubleBlocksOverride", + "RFSingleBlocksOverride", + "RegionalStyleModelApply", + "SEGAttention", + "TBG_masked_attention" + ], + { + "title_aux": "TBG_Enhanced Tiled Upscaler & Refiner FLUX PRO" + } + ], + "https://github.com/Ltamann/ComfyUI-TBG-SAM3": [ + [ + "TBGLoadSAM3Model", + "TBGSAM3DepthMap", + "TBGSAM3ModelLoaderAdvanced", + "TBGSAM3PromptCollector", + "TBGSam3Segmentation", + "TBGSam3SegmentationBatch" + ], + { + "title_aux": "ComfyUI-TBG-SAM3" + } + ], + "https://github.com/Ltamann/ComfyUI-TBG-Takeaways": [ + [ + "BasicSchedulerNormalized", + "FLUX2JSONPromptGenerator", + "HexConeDenoiseMask", + "LogSigmaSamplerNode", + "LogSigmaStepSamplerNode", + "ModelSamplingFluxGradual", + "PolyExponentialSigmaAdder", + "PromptBatchGenerator", + "TBGDifferenceMask", + "TBGDualModelSampler", + "TBGKSamplerAdvancedSplitAware", + "TBG_FluxKontextStabilizer", + "TBG_Preview_Sender_WebSocked", + "VAEDecodeColorFix" + ], + { + "title_aux": "TBG\u2019s ComfyUI Development Takeaways" + } + ], + "https://github.com/LucipherDev/ComfyUI-AniDoc": [ + [ + "AniDocLoader", + "AniDocSampler", + "GetAniDocControlnetImages", + "LoadCoTracker" + ], + { + "title_aux": "ComfyUI-AniDoc" + } + ], "https://github.com/LucipherDev/ComfyUI-Golden-Noise": [ [ "GoldenNoise" @@ -4905,6 +13312,16 @@ "title_aux": "ComfyUI-Golden-Noise" } ], + "https://github.com/LucipherDev/ComfyUI-TangoFlux": [ + [ + "TangoFluxLoader", + "TangoFluxSampler", + "TangoFluxVAEDecodeAndPlay" + ], + { + "title_aux": "ComfyUI-TangoFlux" + } + ], "https://github.com/Ludobico/ComfyUI-ScenarioPrompt": [ [ "ScenarioPrompt" @@ -4913,6 +13330,25 @@ "title_aux": "ComfyUI-ScenarioPrompt" } ], + "https://github.com/LukeCoulson1/Comfyui_LoraCombine": [ + [ + "CombineLoras", + "LoraInfo" + ], + { + "title_aux": "ComfyUI LoRA Combine Node" + } + ], + "https://github.com/LuqP2/ImageMetaHub-ComfyUI-Save": [ + [ + "MetaHubSaveNode", + "MetaHubSaveVideoNode", + "MetaHubTimerNode" + ], + { + "title_aux": "Image MetaHub Save Node" + } + ], "https://github.com/LyazS/comfyui-anime-seg": [ [ "Anime Character Seg" @@ -4930,6 +13366,14 @@ "title_aux": "net tool node for comfyui" } ], + "https://github.com/Lysthan/ComfyUI-LYSTHAN-PPS": [ + [ + "LYSTHAN_PPS" + ], + { + "title_aux": "ComfyUI-LYSTHAN-PPS" + } + ], "https://github.com/M1kep/ComfyLiterals": [ [ "Checkpoint", @@ -5018,25 +13462,153 @@ "title_aux": "KepPromptLang" } ], + "https://github.com/MDMAchine/ComfyUI_MD_Nodes": [ + [ + "ACE_LatentVisualizer", + "APGGuiderForked", + "AceT5ConditioningAnalyzer", + "AceT5ConditioningScheduled", + "AceT5ModelLoader", + "AdvancedAudioPreviewAndSave", + "AdvancedMediaSave", + "AdvancedTextNode", + "Aesthetic_Transformer_Node_MD", + "AutoLayoutOptimizer", + "EnhancedAnnotationNode", + "EnhancedSeedSaver", + "FilenameCounterNode", + "FilenameTokenReplacer", + "GPUTemperatureProtectionEnhanced", + "HybridAdaptiveSigmas", + "LLMVRAMManager", + "MD_ApplyTPG", + "MD_AudioAutoEQ", + "MD_AutoMasterNode", + "MD_CLIPTokenFinder", + "MD_CustomNoiseGenerator", + "MD_EmptyLatentRatioSelector", + "MD_GlobalUpdateManager", + "MD_InitNoiseOptimizer", + "MD_Mastering_Compressor", + "MD_Mastering_EQ", + "MD_Mastering_Gain", + "MD_Mastering_Limiter", + "MD_MultiNoiseBlender", + "MD_OptimizerSelector", + "MD_Qwen_Image_Edit_Object_Replacer_Node", + "MD_RepoMaintenance", + "MD_SamplerDebug", + "MD_SelfCrossGuider", + "MD_WorkflowContextBus", + "MasteringChainNode", + "NoiseDecayScheduler_Custom", + "PingPongSamplerNodeFBG", + "PingPongSampler_Custom_Lite", + "SceneGeniusAutocreator", + "SigmaConcatenate", + "SigmaSmooth", + "SmartColorPaletteManager", + "SmartFilenameBuilder", + "TextFileLoader", + "UniversalGuardian", + "UniversalRoutingHubAdvanced", + "VLM_Confirmation_Gate_Node_MD", + "WildcardPromptBuilder", + "WorkflowSectionOrganizer" + ], + { + "title_aux": "MD Nodes" + } + ], "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": [ [ + "AudioVisualizer", + "ColorfulStartingImage", + "LiteralBool", + "LiteralFloat", + "LiteralInt", + "LiteralString", + "LoadImageAdvanced", + "LoadImagesFromPath", + "LoadRandomCheckpoint", + "LoraTagLoader", + "PromptPropertyExtractor", + "RandomBool", + "RandomColor", + "RandomFloatInRange", + "RandomIntInRange", + "RandomSeed", + "RandomString", + "ResolutionSelector", "StringCleaning", + "StringConcat", + "StringTextExtractor", + "StringTextSplitter", "TiktokenTokenizer", + "WildcardProcessor", + "\u2699\ufe0f Prompt Property Extractor", "\u26d4 Generate Negative Prompt", - "\u2728\ud83c\udf10 Groq ALM API - Translate [EN only]", + "\u2702\ufe0f String Text Extractor", + "\u2702\ufe0f String Text Splitter", + "\u270f\ufe0f Literal Bool", + "\u270f\ufe0f Literal Float", + "\u270f\ufe0f Literal Int", + "\u270f\ufe0f Literal String", "\u2728\ud83d\udcac Groq LLM API", "\u2728\ud83d\udcdd Groq ALM API - Transcribe", "\u2728\ud83d\udcf7 Groq VLM API", + "\ud83c\udfa8 Colorful Starting Image", + "\ud83c\udfb2 Load Random Checkpoint", + "\ud83c\udfb2 Random Bool", + "\ud83c\udfb2 Random Color", + "\ud83c\udfb2 Random Float in Range", + "\ud83c\udfb2 Random Int in Range", + "\ud83c\udfb2 Random Seed", + "\ud83c\udfb2 Random String", + "\ud83c\udfb5\ud83d\udcca Audio Visualizer", + "\ud83c\udff7\ufe0f LoRA Loader Prompt Tags", "\ud83d\udcbe Save Text File With Path", "\ud83d\udcc1 Get File Path", + "\ud83d\udcc2 Load Images From Path", + "\ud83d\udcc5 Format Date Time", + "\ud83d\udcd0 Resolution Image Size Selector", + "\ud83d\udcdd Wildcard Processor", + "\ud83d\udd17 String Concat / Append", "\ud83d\udd20 Tiktoken Tokenizer Info", "\ud83d\uddbc\ufe0f Download Image from URL", + "\ud83d\uddbc\ufe0f Load Image Advanced", + "\ud83d\uddbc\ufe0f+\ud83d\udcdd Load Text-Image Pair (Single)", + "\ud83d\uddbc\ufe0f+\ud83d\udcdd Load Text-Image Pairs (List)", + "\ud83d\uddbc\ufe0f\ud83d\udcca Metadata Extractor (List)", + "\ud83d\uddbc\ufe0f\ud83d\udcca Metadata Extractor (Single)", "\ud83e\uddf9 String Cleaning" ], { "title_aux": "ComfyUI-mnemic-nodes" } ], + "https://github.com/Maenvaeru/comfyui-vram-overlay": [ + [ + "MVU_VramOverlay" + ], + { + "title_aux": "comfyui-vram-overlay" + } + ], + "https://github.com/MajoorWaldi/ComfyUI-Majoor-ImageOps": [ + [ + "ImageOpsBlur", + "ImageOpsClamp", + "ImageOpsColorAjust", + "ImageOpsInvert", + "ImageOpsMerge", + "ImageOpsPreview", + "ImageOpsTransform" + ], + { + "title_aux": "ComfyUI-Majoor-ImageOps" + } + ], "https://github.com/Makeezi/ComfyUI-promptLAB": [ [ "PromptLAB" @@ -5045,22 +13617,65 @@ "title_aux": "ComfyUI-promptLAB" } ], + "https://github.com/MakkiShizu/ComfyUI-MakkiTools": [ + [ + "AnyImageStitch_makki", + "AnyImagetoConditioning_flux_kontext_makki", + "AutoLoop_create_pseudo_loop_video_makki", + "BatchLoraLoader_makki", + "BooleanSplitter_makki", + "Environment_INFO_makki", + "GetImageNthCount_makki", + "ImageChannelSeparate_makki", + "ImageCountConcatenate_makki", + "ImageHeigthStitch_makki", + "ImageTPSWarp_makki", + "ImageWidthStitch_makki", + "Image_Resize_makki", + "MergeImageChannels_makki", + "Prism_Mirage_makki", + "UniversalInstaller_makki", + "get_folder_info_makki", + "int_calculate_statistics_makki", + "random_any_makki", + "show_type_makki", + "timer_makki", + "translator_m2m100_makki", + "translators_makki" + ], + { + "title_aux": "ComfyUI-MakkiTools" + } + ], "https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards": [ [ + "makitextwildcards", "makiwildcards", - "textconcatenate" + "makiwildcards_Advanced", + "textconcatenate", + "textconcatenate_v2" ], { "title_aux": "ComfyUI-Prompt-Wildcards" } ], - "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF": [ + "https://github.com/MakkiShizu/ComfyUI-Qwen2_5-VL": [ [ - "SaveAnimatedGIF", - "SaveAnimatedWEBPRevise" + "BatchImageLoaderToLocalFiles", + "DownloadAndLoadQwen2_5_VLModel", + "Qwen2_5_VL_Run", + "Qwen2_5_VL_Run_Advanced" ], { - "title_aux": "ComfyUI-SaveAnimatedGIF" + "title_aux": "ComfyUI-Qwen2_5-VL" + } + ], + "https://github.com/MakkiShizu/ComfyUI-animetimm": [ + [ + "AnimeTimmNode" + ], + { + "title_aux": "ComfyUI-animetimm" } ], "https://github.com/MakkiShizu/comfyui_reimgsize": [ @@ -5073,6 +13688,17 @@ "title_aux": "comfyui_reimgsize" } ], + "https://github.com/Malte0621/hordeai-comfy": [ + [ + "AIHordeImageGenerate", + "AIHordeLora", + "AIHordeModelList", + "AIHordeTextualInversion" + ], + { + "title_aux": "HordeAI" + } + ], "https://github.com/Mamaaaamooooo/batchImg-rembg-ComfyUI-nodes": [ [ "Image Remove Background (rembg)" @@ -5094,44 +13720,6 @@ "title_aux": "ComfyI2I" } ], - "https://github.com/MaraScott/ComfyUI_MaraScott_Nodes": [ - [ - "MaraScottAnyBus_v2", - "MaraScottDisplayInfo_v2", - "MaraScottForLoopClose_v1", - "MaraScottForLoopIntMathOperation_v1", - "MaraScottForLoopOpen_v1", - "MaraScottForLoopToBoolNode_v1", - "MaraScottForLoopWhileClose_v1", - "MaraScottForLoopWhileOpen_v1", - "MaraScottGetModelBlocks_v1", - "MaraScottImageToGradient_v1", - "MaraScottIsEmptyOrNone_v1", - "MaraScottIsEmpty_v1", - "MaraScottIsEqual_v1", - "MaraScottIsNone_v1", - "MaraScottLoadImage_v1", - "MaraScottMcBoatyRefiner_v4", - "MaraScottMcBoatyRefiner_v5", - "MaraScottMcBoatyTilePrompter_v4", - "MaraScottMcBoatyTilePrompter_v5", - "MaraScottMcBoatyUpscalerRefiner_v5", - "MaraScottMcBoatyUpscaler_v4", - "MaraScottMcBoatyUpscaler_v5", - "MaraScottPasteInpaintingByMask_v1", - "MaraScottPromptFromImage_v1", - "MaraScottSetInpaintingByMask_v1", - "MaraScottTextConcatenate_v1", - "MaraScottTextConversion_StringToList_v1", - "MaraScottUpscalerRefinerNode_v3", - "MaraScott_Kijai_TokenCounter_v1", - "MaraScott_YoloDetection_v1", - "MaraScott_laksjdjf_Hires_v1" - ], - { - "title_aux": "\ud83d\udc30 MaraScott Nodes" - } - ], "https://github.com/MarcusNyne/m9-prompts-comfyui": [ [ "ScramblePrompts_m9", @@ -5148,15 +13736,20 @@ "BadmanDesaturate", "BadmanDilateErodeMask", "BadmanIO", + "BadmanInjectLatentNoiseMasked", "BadmanIntUtil", "BadmanMaskBlur", + "BadmanSelectFromList", "BadmanStringSelect", "BadmanStringToInteger", + "BadmanWanOutpaintFrameCalculator", + "BadmanWanThreeFrameToVideo", "BadmanWildCardProcessor", "Badman_Blend", "Badman_ColorTransferLab", "Badman_Concat_String", "Badman_HexGenerator", + "Badman_IO", "Badman_PalletteGenerator", "Badman_Print", "Badman_String" @@ -5192,6 +13785,41 @@ "title_aux": "ComfyUI_MTCLIPEncode" } ], + "https://github.com/Markus-Pasanen/batch_whisper_extension": [ + [ + "BatchWhisperNode" + ], + { + "title_aux": "batch_whisper_extension" + } + ], + "https://github.com/MartinDeanMoriarty/ComfyUI-DeanLogic": [ + [ + "ImageCount", + "ImageInputSwitch", + "ImageOutputSwitch", + "Int Compare" + ], + { + "title_aux": "ComfyUI-DeanLogic" + } + ], + "https://github.com/MartinDeanMoriarty/ComfyUI-NumberToText": [ + [ + "NumberToTextNode" + ], + { + "title_aux": "ComfyUI-NumberToText" + } + ], + "https://github.com/MaruPelkar/comfyui-conditioning-resizer": [ + [ + "ConditioningResizer" + ], + { + "title_aux": "ComfyUI Conditioning Resizer" + } + ], "https://github.com/Mason-McGough/ComfyUI-Mosaica": [ [ "ApplyLUTToLabelImage", @@ -5205,6 +13833,99 @@ "title_aux": "Mosaica" } ], + "https://github.com/MasterDenis/VAE-Decode-Switch": [ + [ + "VAEDecodeSwitcher" + ], + { + "title_aux": "VAE Decode Switch for ComfyUI" + } + ], + "https://github.com/Mattabyte/ComfyUI-SecureApiCall": [ + [ + "SaveLatentToS3", + "SaveVideoFilesS3", + "SecureAPI-SecureAPI", + "SecureAPI-SecureAPI-AWS" + ], + { + "title_aux": "ComfyUI Secure API Call" + } + ], + "https://github.com/Maxed-Out-99/ComfyUI-MaxedOut": [ + [ + "CombineVideos_MXD", + "Crop Image By Mask", + "Flux 2 Empty Latent Image", + "Flux Empty Latent Image", + "Flux Image Scale To Total Pixels (Flux Safe)", + "Flux Resolution Selector", + "FluxResolutionMatcher", + "Frames_Remove_From_Start_MXD", + "Frames_Select_StartEnd_MXD", + "Get Latent Size", + "GroupVideoFramesMXD", + "Grow Blur Mask MXD", + "Image Scale To Total Pixels (SDXL Safe)", + "LatentHalfMasks", + "Load Image Batch MXD", + "LoadImageWithPromptsMXD", + "LoadLatent_I2V_MXD", + "LoadLatent_WithParams", + "LoadLatents_FromFolder_I2V_MXD", + "LoadLatents_FromFolder_WithParams", + "LoadVideoMXD", + "MxdImageComparerSave", + "MxdPowerLoraLoader", + "MxdVideoComparer", + "Place Image By Mask", + "PreviewVideoMXD", + "Prompt With Guidance (Flux)", + "QwenImageEditSingleMXD", + "QwenImageEditTripleMXD", + "SDXLResolutionMatcher", + "Save Image MXD", + "SaveLatentMXD", + "SaveLatent_I2V_MXD", + "SaveVideoMXD", + "Sdxl Empty Latent Image", + "WAN22_I2V_Image_Scaler_MXD", + "WAN22_I2V_Video_Prep_Advanced_MXD", + "WAN22_I2V_Video_Prep_MXD", + "Wan22FirstLastImageToVideoMXD", + "Wan22FirstLastImageToVideoSVIMXD", + "Wan22ImageToVideoMXD", + "Wan2_2EmptyLatentImageMXD", + "ZImageTurboEmptyLatentImage", + "wan22EmptyHunyuanLatentVideoMXD" + ], + { + "title_aux": "ComfyUI-MaxedOut" + } + ], + "https://github.com/Maxed-Out-99/ComfyUI-SmartModelLoaders-MXD": [ + [ + "CLIPLoaderUnified", + "DualCLIPLoaderUnified", + "QuadrupleCLIPLoaderUnified", + "TripleCLIPLoaderUnified", + "UNETLoaderUnified" + ], + { + "title_aux": "ComfyUI-SmartModelLoaders-MXD" + } + ], + "https://github.com/McKlinton2/comfyui-mcklinton-pack": [ + [ + "ColormaskNode", + "LoadFilteredImageBatch", + "MultiLayerComposeNode", + "SaveTextArrayToFiles" + ], + { + "title_aux": "ComfyUI McKlinton Pack \u2014 Mask Node" + } + ], "https://github.com/Mcmillian/ComfyUI-SimpleToolsNodes": [ [ "GetModelStep", @@ -5214,6 +13935,150 @@ "title_aux": "SimpleToolsNodes" } ], + "https://github.com/Me-gumin/MeComfyuiEncrypt": [ + [ + "ChaosDecrypt", + "ChaosEncrypt", + "PNGDecryptNode", + "PNGEncryptNode" + ], + { + "title_aux": "MeComfyuiEncrypt" + } + ], + "https://github.com/MeeeyoAI/ComfyUI_StringOps": [ + [ + "AddPrefixSuffix", + "AddPrefixSuffixToLines", + "BatchReplaceStrings", + "CheckSubstringPresence", + "CompareInt", + "ConditionalTextOutput", + "CountOccurrences", + "CustomCrop", + "DecodePreview", + "ExtractAndCombineLines", + "ExtractBeforeAfter", + "ExtractLinesByIndex", + "ExtractSpecificData", + "ExtractSpecificLines", + "ExtractSubstring", + "ExtractSubstringByIndices", + "FileCopyCutNode", + "FileDeleteNode", + "FileListAndSuffix", + "FileNameReplacer", + "FilterLinesBySubstrings", + "FilterLinesByWordCount", + "FindExcelData", + "FindFirstLineContent", + "FloatToInteger", + "GenerateNumbers", + "GenerateVideoPrompt", + "GenericImageLoader", + "GetCurrentTime", + "GetFloatParam", + "GetIntParam", + "GetRandomIntegerInRange", + "ImageAdjuster", + "ImageOverlayAlignment", + "LoadAndAdjustImage", + "MultiParamInputNode", + "NumberExtractor", + "ProcessString", + "RandomLineFromText", + "ReadExcelData", + "ReadExcelRowOrColumnDiff", + "ReadWebNode", + "RemoveContentBetweenChars", + "ReplaceMultiple", + "ReplaceNthOccurrence", + "SaveImagEX", + "SelectionParameter", + "ShuffleTextLines", + "SimpleRandomSeed", + "SimpleTextReplacer", + "SingleTextInput", + "SplitAndExtractText", + "SplitStringByDelimiter", + "TextConcatenation", + "TextConcatenator", + "TextConditionCheck", + "TextToImage", + "TextToList", + "WriteExcelData", + "WriteExcelImage", + "WriteToTxtFile" + ], + { + "title_aux": "ComfyUI_StringOps" + } + ], + "https://github.com/Meettya/ComfyUI-OneForOne": [ + [ + "OFO Image Fit" + ], + { + "title_aux": "ComfyUI-OneForOne" + } + ], + "https://github.com/Meisoftcoltd/ComfyUI-Demucs-AudioSeparator": [ + [ + "DemucsAudioSeparator" + ], + { + "title_aux": "ComfyUI-Demucs-AudioSeparator" + } + ], + "https://github.com/Meisoftcoltd/comfyui-sequential-batcher": [ + [ + "CombineJobs", + "EnumerateJob", + "GetJobStep", + "JobToList", + "MakeJob" + ], + { + "title_aux": "comfyui-sequential-batcher" + } + ], + "https://github.com/MergeBlockWeighted/fo_ComfyUI": [ + [ + "MergeBlockWeighted" + ], + {} + ], + "https://github.com/Merserk/ComfyUI-Flow-Assistor": [ + [ + "AddDelay", + "AnyPassthrough1to6", + "AnyPassthrough6to1", + "BypassControl", + "CLIPTextEncodePromptEnrichment", + "CameraAngleControl", + "DetailEnhanceSamplerNode", + "DetailEnhanceSigmasNode", + "DisplayText", + "ImageLatentResolutionExtractorNode", + "ImageResolutionExtractorNode", + "ImageResolutionFitNode", + "LoRAOnlineNode", + "MultiplicationNode", + "OutputAnyDebugDataNode", + "PromptQueue", + "PromptQueueFromFolder", + "ResolutionSelectNode", + "TileCompositor", + "TileManager", + "UltimateDetailSamplerNode", + "UltimateDetailSigmasNode", + "VRAMRAMCleanerNode", + "VisualMarqueeSelection" + ], + { + "title_aux": "ComfyUI-Flow-Assistor" + } + ], "https://github.com/MetaGLM/ComfyUI-ZhipuAI-Platform": [ [ "VideoReportData", @@ -5224,6 +14089,37 @@ "title_aux": "ComfyUI ZhipuAI Platform" } ], + "https://github.com/Mexes1978/comfyui-comfysketch": [ + [ + "ComfySketch" + ], + { + "title_aux": "comfyui-comfysketch" + } + ], + "https://github.com/MichaelMaxAgent/comfyui_ML_nodes": [ + [ + "MLFrameRateResampler", + "MLFrameRateResampler_GPU", + "MLVideoRateConverter", + "RemovePoseHead", + "SaveImageCleanMetadata", + "SaveImageNoMetadata", + "SaveVideoNoMetadata" + ], + { + "title_aux": "ComfyUI ML Nodes" + } + ], + "https://github.com/MicheleGuidi/ComfyUI-Contextual-SAM2": [ + [ + "Sam2ContextSegmentation", + "Sam2TiledSegmentation" + ], + { + "title_aux": "ComfyUI-Computer-Vision" + } + ], "https://github.com/MiddleKD/ComfyUI-denoise-mask-scheduler": [ [ "ApplyDenoiseMaskSchedulerWithSigma", @@ -5261,11 +14157,34 @@ "title_aux": "ComfyUI-productfix" } ], + "https://github.com/MijnSpam/ComfyUI_SwapAndScale": [ + [ + "SwapAndScale" + ], + { + "title_aux": "Comfy swap and scale" + } + ], + "https://github.com/MijnSpam/UploadToPushOver": [ + [ + "UploadToPushOver" + ], + { + "title_aux": "Upload to PushOver" + } + ], "https://github.com/MilitantHitchhiker/MilitantHitchhiker-SwitchbladePack": [ [ + "ARC Scheduler", "FluxModelSave_v2", + "FluxQuantNode", + "GOD Sampler (Advanced)", + "GOD Sampler (Advanced) Ext.", + "GOD Scheduler (Advanced)", + "GroqAPIPromptEnhancer", "IntegratedRandomPromptGenerator", "ModelAnalyserNode", + "ODE-EMA Sampler", "TextAppender_v2" ], { @@ -5276,6 +14195,14 @@ "title_aux": "MilitantHitchhiker-SwitchbladePack" } ], + "https://github.com/MilleN2ium/ComfyUI-CutomizableSave": [ + [ + "MyOtherNode" + ], + { + "title_aux": "ComfyUI-CutomizableSave" + } + ], "https://github.com/Mintbeer96/ComfyUI-KerasOCR": [ [ "KerasOCR" @@ -5284,6 +14211,119 @@ "title_aux": "ComfyUI-KerasOCR" } ], + "https://github.com/MinusZoneAI/ComfyUI-CogVideoX-MZ": [ + [ + "MZ_CogVideoXLoader" + ], + { + "title_aux": "ComfyUI-CogVideoX-MZ" + } + ], + "https://github.com/MinusZoneAI/ComfyUI-Flux1Quantize-MZ": [ + [ + "MZ_Flux1QuantizeUNETLoader" + ], + { + "title_aux": "ComfyUI-Flux1Quantize-MZ" + } + ], + "https://github.com/MinusZoneAI/ComfyUI-FluxExt-MZ": [ + [ + "MZ_Flux1CheckpointLoaderNF4_cpuDynOffload", + "MZ_Flux1CheckpointLoader_cpuDynOffload", + "MZ_Flux1PartialLoad_Patch", + "MZ_Flux1UnetLoader_cpuDynOffload" + ], + { + "title_aux": "ComfyUI-FluxExt-MZ" + } + ], + "https://github.com/MinusZoneAI/ComfyUI-Kolors-MZ": [ + [ + "MZ_ApplyCUDAGenerator", + "MZ_ApplySDXLSamplingSettings", + "MZ_ChatGLM3", + "MZ_ChatGLM3Embeds2Conditioning", + "MZ_ChatGLM3Loader", + "MZ_ChatGLM3_Advance_V2", + "MZ_ChatGLM3_V2", + "MZ_FakeCond", + "MZ_IPAdapterAdvancedKolors", + "MZ_IPAdapterFaceID", + "MZ_IPAdapterInsightFaceLoader", + "MZ_IPAdapterModelLoaderKolors", + "MZ_KolorsCLIPVisionLoader", + "MZ_KolorsCheckpointLoaderSimple", + "MZ_KolorsControlNetLoader", + "MZ_KolorsControlNetPatch", + "MZ_KolorsUNETLoader", + "MZ_KolorsUNETLoaderV2" + ], + { + "title_aux": "ComfyUI-Kolors-MZ" + } + ], + "https://github.com/MinusZoneAI/ComfyUI-Prompt-MZ": [ + [ + "MZ_BaseLLamaCPPCLIPTextEncode", + "MZ_BaseLLavaImageInterrogator", + "MZ_CustomizeInstruct", + "MZ_Florence2CLIPTextEncode", + "MZ_Florence2Captioner", + "MZ_ImageCaptionerConfig", + "MZ_ImageInterrogatorCLIPTextEncode", + "MZ_ImageInterrogatorModelConfig_DownloaderSelect", + "MZ_ImageInterrogatorModelConfig_ManualSelect", + "MZ_LLama3CLIPTextEncode", + "MZ_LLamaCPPCLIPTextEncode", + "MZ_LLamaCPPModelConfig_DownloaderSelect", + "MZ_LLamaCPPModelConfig_ManualSelect", + "MZ_LLamaCPPOptions", + "MZ_LLavaImageInterrogator", + "MZ_OllamaModelConfig_ManualSelect", + "MZ_OpenAIApiCLIPTextEncode", + "MZ_PaliGemmaCLIPTextEncode", + "MZ_PaliGemmaCaptioner", + "MZ_Phi3CLIPTextEncode" + ], + { + "title_aux": "ComfyUI-Prompt-MZ" + } + ], + "https://github.com/MinusZoneAI/ComfyUI-StylizePhoto-MZ": [ + [ + "MZ_StylizePhotoControlNetApply", + "MZ_StylizePhotoKSamplerNode" + ], + { + "title_aux": "ComfyUI-StylizePhoto-MZ" + } + ], + "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ": [ + [ + "MZ_HYDiTAdvConfig", + "MZ_HYDiTDatasetConfig", + "MZ_HYDiTInitWorkspace", + "MZ_HYDiTSimpleT2I", + "MZ_HYDiTTrain", + "MZ_ImagesCopyWorkspace", + "MZ_KohyaSSAdvConfig", + "MZ_KohyaSSControlnetTrain", + "MZ_KohyaSSDatasetConfig", + "MZ_KohyaSSInitWorkspace", + "MZ_KohyaSSLoraTrain", + "MZ_KohyaSSTrain", + "MZ_KohyaSSUseConfig", + "MZ_KohyaSS_KohakuBlueleaf_HYHiDInitWorkspace", + "MZ_KohyaSS_KohakuBlueleaf_HYHiDLoraTrain", + "MZ_KohyaSS_KohakuBlueleaf_HYHiDSimpleT2I", + "MZ_LoadImagesFromDirectoryPath", + "MZ_TrainToolsDebug" + ], + { + "title_aux": "ComfyUI-TrainTools-MZ" + } + ], "https://github.com/Miosp/ComfyUI-FBCNN": [ [ "JPEG artifacts removal FBCNN" @@ -5292,7 +14332,55 @@ "title_aux": "ComfyUI-FBCNN" } ], - "https://github.com/MitoshiroPJ/comfyui_slothful_attention": [ + "https://github.com/Mister-Link/link-comfy-nodes": [ + [ + "Add Image to Batch", + "AdvancedStringConcat", + "Auto Cropper", + "BatchImageSave", + "Concat", + "ConvertToPixelArt", + "Crop to Content", + "Farthest Color", + "Fast Image Preview", + "Hex or 24 Bit Color", + "Image Rotator", + "Match Color Palette", + "Native Wan Pose Strength", + "Pixelation Dimensions", + "Pose Image Setup", + "Preview (webm)", + "PreviewAsMarkdown", + "PreviewImageAlpha", + "Remove Background", + "ReplaceAlpha", + "Resize Image and Mask by Side", + "Save Folder as ZIP", + "Save To Zip", + "SaveFolderAsZip", + "Spritesheet Builder", + "Spritesheet Preview", + "Stabilizer Trim", + "Trim Conditioning", + "Video Detailer", + "VideoMaskEditor", + "WAN Frame Calculator", + "WAN Frames to Add & Cut" + ], + { + "title_aux": "Link Comfy Nodes" + } + ], + "https://github.com/MitoshiroPJ/ComfyUI_save_image_sdli": [ + [ + "PreviewSdlImage", + "SaveSdlImage" + ], + { + "title_aux": "ComfyUI SaveImage SDLI" + } + ], + "https://github.com/MitoshiroPJ/comfyui_nearsighted_attention": [ [ "NearSightedAttention", "NearSightedAttentionSimple", @@ -5300,22 +14388,103 @@ "SlothfulAttention" ], { - "title_aux": "ComfyUI Slothful Attention" + "title_aux": "ComfyUI Nearsighted Attention" + } + ], + "https://github.com/Miyuutsu/comfyui-save-vpred": [ + [ + "CheckpointSaveVpred" + ], + { + "author": "miyuu", + "description": "Used to save SDXL V-Prediction models directly with correct tensors.", + "nickname": "vpred-save", + "title": "vpred-save", + "title_aux": "comfyui-save-vpred" + } + ], + "https://github.com/ModelTC/ComfyUI-LightVAE": [ + [ + "Lightx2v-VAEDecode", + "Lightx2v-VAEDecoderLoader" + ], + { + "title_aux": "ComfyUI-LightVAE" + } + ], + "https://github.com/ModelTC/ComfyUI-Lightx2vWrapper": [ + [ + "LightX2VConfigCombiner", + "LightX2VConfigCombinerV2", + "LightX2VConfigCombinerV3", + "LightX2VInferenceConfig", + "LightX2VLoRALoader", + "LightX2VMemoryOptimization", + "LightX2VModularInference", + "LightX2VModularInferenceV2", + "LightX2VQuantization", + "LightX2VTalkObjectInput", + "LightX2VTalkObjectsCombiner", + "LightX2VTalkObjectsFromFiles", + "LightX2VTalkObjectsFromJSON", + "LightX2VTeaCache" + ], + { + "title_aux": "ComfyUI-Lightx2vWrapper" + } + ], + "https://github.com/Moeblack/ComfyUI-SimpleChat": [ + [ + "GeminiImageEdit", + "GeminiImageGen", + "SimpleChatAnimaPromptRouter", + "SimpleChatAnimaPromptXYMatrix", + "SimpleChatConfig", + "SimpleChatImage", + "SimpleChatImageGrid", + "SimpleChatJsonParse", + "SimpleChatJsonParse16", + "SimpleChatJsonToVars", + "SimpleChatMarkdownPreview", + "SimpleChatMustacheRender", + "SimpleChatMustacheVar", + "SimpleChatNoASS", + "SimpleChatPromptJsonUnpack", + "SimpleChatText", + "SimpleChatTextInput", + "SimpleChatTextList", + "SimpleChatXYCellPrefix", + "SimpleChatXYPlot" + ], + { + "title_aux": "ComfyUI-SimpleChat" } ], "https://github.com/MohammadAboulEla/ComfyUI-iTools": [ [ "iToolsAddOverlay", "iToolsCheckerBoard", + "iToolsCompareImage", + "iToolsCropImage", + "iToolsDomNode", + "iToolsFreeChat", + "iToolsFreeSchnell", "iToolsGridFiller", "iToolsKSampler", "iToolsLineLoader", "iToolsLoadImagePlus", "iToolsLoadImages", + "iToolsLoadRandomImage", + "iToolsPaintNode", + "iToolsPreviewImage", + "iToolsPreviewText", "iToolsPromptLoader", + "iToolsPromptRecord", "iToolsPromptSaver", "iToolsPromptStyler", "iToolsPromptStylerExtra", + "iToolsRegexNode", + "iToolsTestNode", "iToolsTextReplacer", "iToolsVaePreview" ], @@ -5336,10 +14505,14 @@ "ConnectInteger2", "ConnectLatent", "ConnectString", + "CycleInteger", "DirSelector", "DoubleClipTextEncode", + "DoubleConditioningMixer", "EmbeddingLoader", "FilmCharDir", + "FlexEmptyLatent", + "FloatEvaluate", "FuseImages", "FuseImages2", "HashText", @@ -5359,6 +14532,7 @@ "KillWorkflow", "LandscapeBackgrounds", "LandscapeDir", + "LinEqEval", "MakeupStylesDir", "Mbsampler", "OptimalCrop", @@ -5371,6 +14545,7 @@ "PresetRemove", "PresetSave", "PromptSwitcher", + "QuadClipTextEncode", "RandomString", "SDXLEmptyLatent", "SavePrompt", @@ -5396,6 +14571,39 @@ "title_aux": "Node Pack mostly for manipulating strings and integers" } ], + "https://github.com/MontagenAI/ComfyUI-Montagen": [ + [ + "MontagenAudioAdapter", + "MontagenAudioConvertResourceAdapter", + "MontagenAudioListAdapter", + "MontagenCreateTimeline", + "MontagenEdgeTTSNode", + "MontagenFishAudioCloneNode", + "MontagenFishAudioTTSNode", + "MontagenHumandigitalNode", + "MontagenImageAdapter", + "MontagenImageListAdapter", + "MontagenRenderTimeline", + "MontagenResourceConvertAudioAdapter", + "MontagenSRTListParser", + "MontagenStickerAdapter", + "MontagenTextAdapter", + "MontagenTextListAdapter", + "MontagenVideoAdapter", + "MontagenVideoListAdapter" + ], + { + "title_aux": "ComfyUI-Montagen" + } + ], + "https://github.com/MoonHugo/ComfyUI-BAGEL-Hugo": [ + [ + "BagelByHugo" + ], + { + "title_aux": "ComfyUI-BAGEL-Hugo" + } + ], "https://github.com/MoonHugo/ComfyUI-BiRefNet-Hugo": [ [ "BiRefNet_Hugo" @@ -5418,10 +14626,13 @@ "MergingVideoByPlenty", "MergingVideoByTwo", "MultiCuttingVideo", + "PipVideo", "SingleCuttingVideo", "StitchingVideo", "Video2Frames", - "VideoFlip" + "VideoFlip", + "VideoPlayback", + "VideoTransition" ], { "title_aux": "ComfyUI-FFmpeg" @@ -5435,12 +14646,59 @@ "title_aux": "ComfyUI-StableAudioOpen" } ], - "https://github.com/Moooonet/ComfyUI-ArteMoon": [ + "https://github.com/MoonMoon82/ClipVision_Tools": [ [ - "LoadPrompts" + "CalcEmbeds", + "CompareEmbeds", + "Cond2Embeds", + "DBLoader", + "EditDB", + "EditResults", + "EmbedsInfo", + "FolderScores", + "GenerateDB", + "ImageSearcher", + "LoadDB", + "ResultBrowser", + "ResultBrowserAdvanced", + "ResultCombiner", + "ResultSubtract", + "ScaleEmbeds" ], { - "title_aux": "ComfyUI-ArteMoon" + "title_aux": "ClipVision_Tools" + } + ], + "https://github.com/Moser9815/ComfyUI-RMAutomation": [ + [ + "RMImageFallback", + "RMLoraApply", + "RMLoraCollector", + "RMMaskGate", + "RMMaskGateGuide", + "RMNegativeTextEmbed", + "RMPositiveTextEmbed", + "RMPowerLoraLoader", + "RMPowerLoraLoaderPipe", + "RMSaveImageWithMetadata", + "RMSetLatentNoiseMask", + "RMStylesFull", + "RMStylesFullDisplay", + "RMStylesPipe", + "RMStylesPipeOut", + "RMVideoCombine" + ], + { + "title_aux": "ComfyUI-RMAutomation" + } + ], + "https://github.com/MovieLabs/comfyui-movielabs-util": [ + [ + "PublishAsset", + "PublishBlender" + ], + { + "title_aux": "MovieLabs ComfyUI Nodes for Publishing Workflow" } ], "https://github.com/MrForExample/ComfyUI-3D-Pack": [ @@ -5457,12 +14715,27 @@ "title_aux": "ComfyUI-AnimateAnyone-Evolved" } ], - "https://github.com/MrSamSeen/ComfyUI_SSStereoscope": [ + "https://github.com/MrSamSeen/ComfyUI_SSBeforeAfterNode": [ [ - "SBS_by_SamSeen" + "SSBeforeAndAfterVideo", + "SSBeforeAndAfterVideoWithDepthMap" ], { - "title_aux": "ComfyUI_SSStereoscope" + "title_aux": "ComfyUI_SSBeforeAfterNode" + } + ], + "https://github.com/MrSamSeen/ComfyUI_SSStereoscope": [ + [ + "SBS_External_Depthmap_by_SamSeen", + "SBS_Image_Uploader", + "SBS_V2_External_Depth_by_SamSeen", + "SBS_V2_by_SamSeen", + "SBS_VR_Panorama_by_SamSeen", + "SBS_Video_Combiner", + "SBS_Video_Uploader" + ], + { + "title_aux": "SideBySide_Stereoscope" } ], "https://github.com/Munkyfoot/ComfyUI-TextOverlay": [ @@ -5473,25 +14746,109 @@ "title_aux": "ComfyUI-TextOverlay" } ], - "https://github.com/MushroomFleet/DJZ-Nodes": [ + "https://github.com/MushroomFleet/ComfyUI-DJZ-Offsquare": [ [ - "AspectSize", - "AspectSizeV2", - "BatchOffset", - "DJZ-LoadLatent", - "DJZ-LoadLatentV2", - "ImageSizeAdjuster", - "ImageSizeAdjusterV2", - "ImageSizeAdjusterV3", - "ProjectFilePathNode", - "StringWeights", - "ZenkaiPrompt", - "ZenkaiPromptV2", - "ZenkaiWildcard", - "ZenkaiWildcardV2" + "DJZ_Offsquare", + "DJZ_Offsquare_V2" ], { - "title_aux": "DJZ-Nodes" + "title_aux": "ComfyUI-DJZ-Offsquare" + } + ], + "https://github.com/MushroomFleet/ComfyUI-DJZ-POML": [ + [ + "ZenkaiPOMLProcessor", + "ZenkaiPOMLTemplate" + ], + { + "title_aux": "Zenkai-POML for ComfyUI" + } + ], + "https://github.com/MushroomFleet/ComfyUI-FLUX2-JSON": [ + [ + "FLUX2_CameraRig", + "FLUX2_ColorPalette", + "FLUX2_ColorPalettePreset", + "FLUX2_PromptAssembler", + "FLUX2_SceneBuilder", + "FLUX2_StyleSelector", + "FLUX2_SubjectArray", + "FLUX2_SubjectCreator" + ], + { + "title_aux": "ComfyUI-FLUX2-JSON" + } + ], + "https://github.com/MushroomFleet/ComfyUI-Variationator": [ + [ + "PromptActionModifier", + "PromptBatchVariation", + "PromptCameraModifier", + "PromptColorGrading", + "PromptCombiner", + "PromptComposition", + "PromptDetailModifier", + "PromptDistanceModifier", + "PromptEraModifier", + "PromptLightingModifier", + "PromptLocationModifier", + "PromptModifierInfo", + "PromptMoodModifier", + "PromptMultiStyle", + "PromptPresetCollection", + "PromptRandomModifier", + "PromptSeasonalModifier", + "PromptSmartVariation", + "PromptStyleTransform", + "PromptWeatherModifier" + ], + { + "title_aux": "ComfyUI-Variationator" + } + ], + "https://github.com/MushroomFleet/ComfyUI-Zero2JSON": [ + [ + "Z2J_Background", + "Z2J_BatchGenerator", + "Z2J_CameraAngle", + "Z2J_CameraDistance", + "Z2J_CameraDoF", + "Z2J_CameraFocus", + "Z2J_Composition", + "Z2J_Lighting", + "Z2J_Mood", + "Z2J_ProfileInfo", + "Z2J_Scene", + "Z2J_SeedMixer", + "Z2J_Style", + "Z2J_SubjectAction", + "Z2J_SubjectDescription", + "Z2J_SubjectPose", + "Z2J_SubjectPosition" + ], + { + "title_aux": "ComfyUI-Zero2JSON" + } + ], + "https://github.com/MushroomFleet/ComfyUI_PromptExtractor_nodes": [ + [ + "DJZ_PromptExtractor", + "DJZ_PromptExtractorBatch", + "DJZ_PromptExtractorFromPath", + "DJZ_PromptExtractorV2", + "DJZ_PromptExtractorV2_Batch", + "DJZ_PromptExtractorV2_StringNavigator" + ], + { + "title_aux": "ComfyUI_PromptExtractor_nodes" + } + ], + "https://github.com/MushroomFleet/DJZ-Pedalboard": [ + [ + "DJZ_Pedalboard" + ], + { + "title_aux": "DJZ-Pedalboard" } ], "https://github.com/MuziekMagie/ComfyUI-Matchering": [ @@ -5506,8 +14863,13 @@ ], "https://github.com/MzMaXaM/ComfyUi-MzMaXaM": [ [ - "SelectLatentSize", - "TextEncode3in1" + "KSamplerWithVAE", + "SelectLatentSize1MP", + "SelectLatentSize2MP", + "TextEncode3in1", + "UpscaleImageBy1_5x", + "UpscaleLatentBy1_5x", + "selectLatentSizePlus" ], { "title_aux": "ComfyUi-MzMaXaM" @@ -5529,36 +14891,70 @@ "title_aux": "ComfyUI-Paint3D-Nodes" } ], + "https://github.com/NHLStenden/ComfyUI-ImageBag": [ + [ + "EnhancedImageColourTransferNode", + "FilmGrainNoiseNode" + ], + { + "title_aux": "ComfyUI-ImageBag" + } + ], "https://github.com/NMWave/ComfyUI-Nader-Tagging": [ [ + "LoRA Extract and Save", "Load Text List", + "LoraSave", "Split Sentences", "Split Tags", "Tag Alternating Combiner", "Tag Duplicate Remover", - "Token Counter" + "Token Counter", + "Wan22 Noise Scheduler" ], { "title_aux": "Image Captioning and Tagging Assistor Nodes" } ], + "https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes": [ + [ + "NLConstantColor", + "NLContextDebug", + "NLRead", + "NLWanVideoImageToVideoEncodeV2", + "NLWorkflowFPS", + "NLWorkflowFrameRange", + "NLWorkflowProjectPath", + "NLWorkflowResolution", + "NLWrite" + ], + { + "title_aux": "ComfyUI-NL_Nodes" + } + ], "https://github.com/NVIDIAGameWorks/ComfyUI-RTX-Remix": [ [ + "RTXRemixCloseProject", "RTXRemixCreateLayer", "RTXRemixDefineLayerId", "RTXRemixDeleteFile", + "RTXRemixDownloadModel", "RTXRemixEndContext", + "RTXRemixGetDefaultDirectory", "RTXRemixGetEditTarget", "RTXRemixGetLayers", + "RTXRemixGetLoadedProject", "RTXRemixGetTextures", "RTXRemixIngestTexture", "RTXRemixInvertBool", "RTXRemixLayerType", "RTXRemixLayerTypes", "RTXRemixMuteLayer", + "RTXRemixOpenProject", "RTXRemixRemoveLayer", "RTXRemixRestAPIDetails", "RTXRemixSaveLayer", + "RTXRemixSaveTexture", "RTXRemixSetEditTarget", "RTXRemixSetTexture", "RTXRemixStartContext", @@ -5574,6 +14970,35 @@ "title_aux": "ComfyUI-RTX-Remix" } ], + "https://github.com/Nakamura2828/ComfyUI-JK-TextTools": [ + [ + "JK_BBoxToMask", + "JK_BBoxToSAM3Query", + "JK_BBoxesToMask", + "JK_DetectionQuery", + "JK_DetectionToBBox", + "JK_JSONPrettyPrinter", + "JK_JSONToBBox", + "JK_ListIndexSelector", + "JK_MaskToBBox", + "JK_SEGsToMask", + "JK_SEGsToSAM3Query", + "JK_StringIndexSelector", + "JK_StringJoiner", + "JK_StringSplitter" + ], + { + "title_aux": "ComfyUI-JK-TextTools" + } + ], + "https://github.com/Nakamura2828/ComfyUI-JK-ToRetro": [ + [ + "JK_ImageToRetro" + ], + { + "title_aux": "ComfyUI-JK-ToRetro" + } + ], "https://github.com/NakamuraShippo/ComfyUI-NS-ManySliders": [ [ "NS_ManySliders" @@ -5582,17 +15007,58 @@ "title_aux": "ComfyUI-NS-ManySliders" } ], - "https://github.com/NakamuraShippo/ComfyUI-PromptList": [ + "https://github.com/NakamuraShippo/ComfyUI-NS-PromptList": [ [ - "ComfyUI-PromptList" + "NS-PromptList" ], { - "author": "NakamuraShippo", - "description": "Custom node to manage prompts in YAML format.", - "title": "ComfyUI-PromptList", "title_aux": "ComfyUI-PromptList" } ], + "https://github.com/NakamuraShippo/ComfyUI-NS-Util": [ + [ + "AlbedoMapGenerator", + "NS-FlexPreset", + "NS-ManySliders", + "NS-PromptList", + "NS-ToonFilter", + "SimpleLLMAddDocument", + "SimpleLLMAddMemory", + "SimpleLLMAgent", + "SimpleLLMAgentToTool", + "SimpleLLMAgentWithRules", + "SimpleLLMChainOfThought", + "SimpleLLMConfigClaude", + "SimpleLLMConfigGemini", + "SimpleLLMConfigOllama", + "SimpleLLMConfigOpenAI", + "SimpleLLMDisplayText", + "SimpleLLMLoadWorkflow", + "SimpleLLMMemoryBank", + "SimpleLLMMergeText", + "SimpleLLMRAGQuery", + "SimpleLLMRunPrompt", + "SimpleLLMStringViewer", + "SimpleLLMTextInput", + "SimpleLLMTextOutput", + "SimpleLLMVectorStore" + ], + { + "title_aux": "ComfyUI-NS-Util" + } + ], + "https://github.com/NeoDroleDeGueule/NDDG_Great_Nodes": [ + [ + "GreatConditioningModifier", + "GreatMultiplySigmas", + "GreatRandomOrganicGradientNode", + "ImageBlendNode", + "InteractiveOrganicGradientNode" + ], + { + "title_aux": "NDDG_Great_Nodes" + } + ], "https://github.com/NeoGriever/ComfyUI-NeoGriever": [ [ "NGs_BetterCLIPTextEncode", @@ -5620,6 +15086,14 @@ "title_aux": "ComfyUI - NeoGriever" } ], + "https://github.com/NeonLightning/neonllama": [ + [ + "OllamaPromptFromIdea" + ], + { + "title_aux": "neonllama" + } + ], "https://github.com/NeuralSamurAI/ComfyUI-Dimensional-Latent-Perlin": [ [ "NoisyLatentPerlinD" @@ -5652,6 +15126,90 @@ "title_aux": "SuperPrompter Node for ComfyUI" } ], + "https://github.com/NeuroSenko/ComfyUI_LLM_SDXL_Adapter": [ + [ + "ApplyLLMToSDXLAdapter", + "LLMAdapterLoader", + "LLMAdapterLoaderCustom", + "LLMGGUFModelLoader", + "LLMModelLoader", + "LLMTextEncoder", + "T5GEMMALoader", + "T5GEMMATextEncoder", + "t5gemmaApplyLLMToSDXLAdapter" + ], + { + "title_aux": "ComfyUI LLM SDXL Adapter" + } + ], + "https://github.com/NewBieAI-Lab/ComfyUI-MltoXml": [ + [ + "MltoXml" + ], + { + "title_aux": "ComfyUI-MltoXml" + } + ], + "https://github.com/NewLouwa/ComfyUI-Model_preset_Pilot": [ + [ + "KSamplerHelper", + "ModelPresetManager", + "PresetKSampler", + "PresetToKSampler", + "PreviewImage" + ], + { + "title_aux": "ComfyUI Model Preset Pilot" + } + ], + "https://github.com/NewNoviceChen/ComfyUI-Simple-IndexTTs": [ + [ + "AutoLoadModelNode", + "BatchTTsNode", + "EmotionFromAudioNode", + "EmotionFromTensorNode", + "EmotionFromTextNode", + "MergeEmotionNode", + "TTsNode" + ], + { + "title_aux": "ComfyUI-Simple-IndexTTs" + } + ], + "https://github.com/NewNoviceChen/ComfyUI-XingLiu": [ + [ + "Image2ImageByAlpha", + "Image2ImageCustom", + "Image2ImageCustomAlpha", + "Image2ImageF1ContentNode", + "Image2VideoKlingNode(can`t use)", + "MakeAuth", + "MakeControlNet", + "MakeHiResFix", + "MakeLora", + "MergeControlNet", + "MergeImageListNode", + "MergeLora", + "Text2ImageByAlpha", + "Text2ImageCustom", + "Text2ImageCustomAlpha", + "Text2ImageF1ContentNode", + "Text2VideoKlingNode", + "UploadLibLib" + ], + { + "title_aux": "ComfyUI-XingLiu" + } + ], + "https://github.com/NexusEast/ComfyUI_ContactSheet_Auto": [ + [ + "SimpleGridImage", + "VideoIntervalCalculator" + ], + { + "title_aux": "ComfyUI_ContactSheet_Auto" + } + ], "https://github.com/NguynHungNguyen/Segment-Bedroom-Interior": [ [ "BedroomFurnitureMask" @@ -5668,8 +15226,65 @@ "title_aux": "ComfyUI_TravelSuite" } ], + "https://github.com/NickPittas/ComfyUI_CameraAngleSelector": [ + [ + "CameraAngleSelector" + ], + { + "title_aux": "ComfyUI_CameraAngleSelector" + } + ], + "https://github.com/NidAll/ComfyUI_PromptStyler": [ + [ + "PromptStylerConditioning" + ], + { + "title_aux": "ComfyUI_PromptStyler" + } + ], + "https://github.com/Night1099/COMFYUI-PBRFusion4": [ + [ + "AIXPOLY_BlackThreshold", + "AIXPOLY_ClampResolution", + "AIXPOLY_ConditionalUpscale", + "AIXPOLY_NormalMapFlipY", + "AIXPOLY_PBRFusion4SimpleDepthAndNormalGenerator", + "AIXPOLY_SmartUpscaleCalculator" + ], + { + "title_aux": "ComfyUI-PBRFusion4" + } + ], + "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes": [ + [ + "AspectRatioNikosis", + "PromptCameraAngleSelectorNikosis", + "PromptMultipleStylesSelectorNikosis", + "TextConcatenateNikosis" + ], + { + "title_aux": "ComfyUI-Nikosis-Nodes" + } + ], + "https://github.com/Nikosis/ComfyUI-Nikosis-Preprocessors": [ + [ + "DepthAnythingV2Nikosis", + "EdgePreprocessorNikosis", + "LaplacianPreprocessorNikosis", + "LineArtPreprocessorNikosis", + "LineArtSketchPreprocessorNikosis" + ], + { + "title_aux": "ComfyUI-Nikosis-Preprocessors" + } + ], "https://github.com/NimaNzrii/comfyui-photoshop": [ [ + "ClipPass", + "PhotoshopConnection", + "PhotoshopToComfyUI", + "SendToPhotoshop", + "modelPass", "\ud83d\udd39 Photoshop RemoteConnection", "\ud83d\udd39ClipPass", "\ud83d\udd39Photoshop ComfyUI Plugin", @@ -5688,6 +15303,18 @@ "title_aux": "comfyui-popup_preview" } ], + "https://github.com/NineKey1028/ComfyUI_Dynamic_TagLoader": [ + [ + "DynamicTagIterator", + "DynamicTagLoaderJS", + "DynamicTagSaver", + "WaitForNode", + "WorkflowMetadataReader" + ], + { + "title_aux": "ComfyUI_Dynamic_TagLoader" + } + ], "https://github.com/Niutonian/ComfyUi-NoodleWebcam": [ [ "WebcamNode" @@ -5696,11 +15323,45 @@ "title_aux": "ComfyUi-NoodleWebcam" } ], + "https://github.com/Niutonian/comfyui-niutonian-smart-image": [ + [ + "SmartBatchProcessor", + "SmartBorderFrame", + "SmartCollageMaker", + "SmartGridStitch", + "SmartImageSplitter", + "SmartImageStitch", + "SmartPanoramaStitch" + ], + { + "title_aux": "comfyui-niutonian-smart-image" + } + ], + "https://github.com/Niutonian/comfyui_Niutonian_GLM_4_6V": [ + [ + "NiutonianGLM46VAgenticSampler", + "NiutonianGLM46VDescriber", + "NiutonianGLM46VLoader", + "NiutonianGLM46VPromptGenerator" + ], + { + "title_aux": "comfyui_Niutonian_GLM_4_6V" + } + ], + "https://github.com/Njbx/ComfyUI-LTX13B-Blockswap": [ + [ + "LTXBlockswap" + ], + { + "title_aux": "ComfyUI-LTX13B-Blockswap" + } + ], "https://github.com/Nlar/ComfyUI_CartoonSegmentation": [ [ "AnimeSegmentation", "KenBurnsConfigLoader", "KenBurns_Processor", + "LoadImageFileName", "LoadImageFilename" ], { @@ -5711,16 +15372,39 @@ "title_aux": "ComfyUI_CartoonSegmentation" } ], + "https://github.com/No-22-Github/ComfyUI_RWKV_Studio": [ + [ + "RWKV_ModelLoader_V7", + "RWKV_Translator_Node", + "RWKV_Translator_Node_DE_CPU", + "RWKV_Translator_Node_DE_CUDA" + ], + { + "title_aux": "ComfyUI_RWKV_Studio" + } + ], "https://github.com/Nojahhh/ComfyUI_GLM4_Wrapper": [ [ "GLM-4 Inferencing", "GLM-4 Model Loader", - "GLM-4 Prompt Enhancer" + "GLM-4 Prompt Enhancer", + "GLM-4Inference", + "GLM-4ModelLoader", + "GLM-4PromptEnhancer" ], { "title_aux": "ComfyUI GLM-4 Wrapper" } ], + "https://github.com/Noma-Machiko/ComfyUI-ToDevice": [ + [ + "ToCPU", + "ToGPU" + ], + { + "title_aux": "ComfyUI-ToDevice" + } + ], "https://github.com/NotHarroweD/Harronode": [ [ "Harronode" @@ -5839,6 +15523,15 @@ "title_aux": "Allor Plugin" } ], + "https://github.com/NudeJS-dev/ComfyUI-NudeJS-Image2Prompt": [ + [ + "Image2Prompt", + "Text2Prompt" + ], + { + "title_aux": "ComfyUI-NudeJS-Image2Prompt" + } + ], "https://github.com/Nuked88/ComfyUI-N-Nodes": [ [ "CLIPTextEncodeAdvancedNSuite [n-suite]", @@ -5861,31 +15554,41 @@ "title_aux": "ComfyUI-N-Nodes" } ], - "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED": [ + "https://github.com/NyaFuP/ComfyUI_Preview_Selector": [ [ - "Get Booru Tag \ud83d\udcacED" + "NFPreviewSelector" ], { - "author": "NyaamZ", - "description": "Get tag from Booru site.", - "nickname": "Get Booru Tag ED", - "title": "Get Booru Tag ExtendeD", - "title_aux": "Get Booru Tag ExtendeD" + "title_aux": "NF Preview Selector" } ], "https://github.com/NyaamZ/efficiency-nodes-ED": [ [ - "Apply LoRA Stack \ud83d\udcacED", - "Control Net Script \ud83d\udcacED", + "Context To BasicPipe", + "Context To DetailerPipe", + "Detailer (SEGS) \ud83d\udcacED", "Efficient Loader \ud83d\udcacED", "Embedding Stacker \ud83d\udcacED", + "Ext Model Input \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", @@ -5895,6 +15598,26 @@ "title_aux": "Efficiency Nodes ExtendeD" } ], + "https://github.com/Nynxz/ComfyUI-NynxzNodes": [ + [ + "nynxz.CompareVideo.Options", + "nynxz.Create.CompareVideo.Fade", + "nynxz.Create.CompareVideo.Wipe", + "nynxz.Parse.StringTemplate" + ], + { + "title_aux": "ComfyUI-NynxzNodes" + } + ], + "https://github.com/OKIE5/ComfyUI-CN-Pre": [ + [ + "CN Pre+Loaders: Segmentation", + "Image: Levels" + ], + { + "title_aux": "ComfyUI-CN-Pre" + } + ], "https://github.com/Off-Live/ComfyUI-off-suite": [ [ "Apply CLAHE", @@ -5920,6 +15643,59 @@ "title_aux": "ComfyUI-off-suite" } ], + "https://github.com/OhSeongHyeon/comfyui-watdafox-nodes": [ + [ + "BFParameters", + "BFParametersSimple", + "CheckpointComboParameter", + "CheckpointLoaderWithOuputDirByModelName", + "CyclicInteger", + "DetailerSchedulerComboParameter", + "KsamplerSamplersComboParameter", + "KsamplerSchedulersComboParameter", + "OuputDirByModelName", + "RandomImageSizeAdvanced", + "RandomImageSizeAdvancedYAML", + "RandomInteger", + "UnetComboParameter", + "UniqueStringList", + "UniqueStringListAdvanced", + "VAEComboParameter" + ], + { + "title_aux": "comfyui-watdafox-nodes" + } + ], + "https://github.com/OneThingAI/ComfyUI_Onething_CV": [ + [ + "OneThingAI ImageToText" + ], + { + "title_aux": "ComfyUI OneThing CV Node" + } + ], + "https://github.com/OneThingAI/ComfyUI_Onething_Image": [ + [ + "OneThingAILoader", + "OnethingAIFlux", + "OnethingAIImageGemini", + "OnethingAIImageHunyuan", + "OnethingAIImageOpenAI", + "OnethingAIImageSeedream", + "OnethingAIImageWanxiang" + ], + { + "title_aux": "ComfyUI OneThing AI Node" + } + ], + "https://github.com/Onionman61/ComfyUI-ModelScope-Kontext": [ + [ + "ModelScopeUniversalAPI" + ], + { + "title_aux": "ComfyUI ModelScope Kontext API Node" + } + ], "https://github.com/OpalSky-AI/OpalSky_Nodes": [ [ "PromptAssistantOpalSky", @@ -5930,10 +15706,17 @@ "title_aux": "OpalSky Nodes" } ], + "https://github.com/OpenAssetIO/OpenAssetIO-ComfyUI": [ + [ + "OpenAssetIOPublishImage", + "OpenAssetIOResolveImage" + ], + { + "title_aux": "OpenAssetIO" + } + ], "https://github.com/OuticNZ/ComfyUI-Simple-Of-Complex": [ [ - "Pipe From Parameters", - "Pipe To Parameters", "Prompt Tidy", "Text Switch 2 Way", "Text With Context" @@ -5942,8 +15725,43 @@ "title_aux": "ComfyUI-Simple-Of-Complex" } ], + "https://github.com/OwlvChirotha/ComfyUI-MultiTranslator": [ + [ + "ChatGPTServiceConnectorNode", + "DeepSeekServiceConnectorNode", + "GeminiServiceConnectorNode", + "GeneralLLMServiceConnectorNode", + "KimiServiceConnectorNode", + "LLMLocalModelLoaderNode", + "LLMTranslatorNode", + "OllamaLLMConnectorNode", + "SiliconFlowServiceConnectorNode", + "TranslatorNode", + "ZhiPuServiceConnectorNode" + ], + { + "title_aux": "ComfyUI-MultiTranslator" + } + ], + "https://github.com/OwlvChirotha/ComfyUI-Owlv_Nodes": [ + [ + "AddCustomKontextPreset", + "KontextTextEncode", + "RemoveCustomKontextPreset", + "SaveImageDir" + ], + { + "title_aux": "ComfyUI-Owlv_Nodes" + } + ], "https://github.com/PCMonsterx/ComfyUI-CSV-Loader": [ [ + "ArtistsCSVLoader", + "ArtmovementsCSVLoader", + "CharactersCSVLoader", + "ColorsCSVLoader", + "CompositionCSVLoader", + "LightingCSVLoader", "Load Artists CSV", "Load Artmovements CSV", "Load Characters CSV", @@ -5953,12 +15771,98 @@ "Load Negative CSV", "Load Positive CSV", "Load Settings CSV", - "Load Styles CSV" + "Load Styles CSV", + "NegativeCSVLoader", + "PositiveCSVLoader", + "SettingsCSVLoader", + "StylesCSVLoader" ], { "title_aux": "ComfyUI-CSV-Loader" } ], + "https://github.com/PICOPON/ComfyUI-API-OpenAI-Node": [ + [ + "OpenAINode" + ], + { + "title_aux": "ComfyUI OpenAI Node" + } + ], + "https://github.com/PROJECTMAD/PROJECT-MAD-NODES": [ + [ + "MultiScheduledLoraLoader", + "VisualPromptGallery" + ], + { + "title_aux": "PROJECT-MAD-NODES" + } + ], + "https://github.com/Pablerdo/ComfyUI-MultiCutAndDrag": [ + [ + "BatchImageToMask", + "LoadImageFromBase64", + "LoadImagesFromBase64Array", + "MapTrajectoriesToSegmentedMasks", + "MultiCutAndDragOnPath" + ], + { + "title_aux": "ComfyUI-MultiCutAndDrag" + } + ], + "https://github.com/Pablerdo/ComfyUI-ResizeZeptaPayload": [ + [ + "ResizeImageBatch", + "ResizeTrajectories" + ], + { + "title_aux": "ComfyUI-ResizeZeptaPayload" + } + ], + "https://github.com/Pablerdo/ComfyUI-StableVirtualCameraWrapper": [ + [ + "SVCFly", + "SVCFly_Bash" + ], + { + "title_aux": "Stable Virtual Camera" + } + ], + "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger": [ + [ + "MergePrompts" + ], + { + "title_aux": "ComfyUI-ZeptaframePromptMerger" + } + ], + "https://github.com/Paddel87/ComfyUI_fal_image": [ + [ + "FALContextStore", + "FALImage2Image", + "FALModelSelectImage", + "FALText2Image" + ], + { + "title_aux": "ComfyUI_fal_image" + } + ], + "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" @@ -5970,6 +15874,7 @@ "https://github.com/ParisNeo/lollms_nodes_suite": [ [ "Artbot", + "Lollms", "Lollms_Text_Gen", "Lollms_Text_Saver", "RandomizeVideo" @@ -5989,6 +15894,22 @@ "title_aux": "ComfyUI-Malefish-Custom-Scripts" } ], + "https://github.com/PatrickBorkowicz/ComfyUI-ImmichUploader": [ + [ + "ImmichUpload" + ], + { + "title_aux": "ComfyUI-ImmichUploader" + } + ], + "https://github.com/PauldeLavallaz/ComfyUI-CartesiaTTS": [ + [ + "CartesiaTTSNode" + ], + { + "title_aux": "ComfyUI-CartesiaTTS" + } + ], "https://github.com/PauldeLavallaz/comfyui_claude_prompt_generator": [ [ "ClaudeCustomPrompt" @@ -5997,6 +15918,30 @@ "title_aux": "Claude Prompt Generator" } ], + "https://github.com/Pedreiro-Digital-Studio-Ltda/ComfyUI-PromptPerfect": [ + [ + "PromptPerfectGPT" + ], + { + "title_aux": "ComfyUI-PromptPerfect" + } + ], + "https://github.com/PenguinTeo/Comfyui-GeminiBanana": [ + [ + "Gemini3ImageNode" + ], + { + "title_aux": "GeminiBanana for ComfyUI" + } + ], + "https://github.com/PenguinTeo/Comfyui-TextEditor-Penguin": [ + [ + "PenguinTextOnImage" + ], + { + "title_aux": "Comfyui-TextEditor-Penguin" + } + ], "https://github.com/Pfaeff/pfaeff-comfyui": [ [ "AstropulsePixelDetector", @@ -6037,7 +15982,121 @@ "title_aux": "Remade_nodes" } ], - "https://github.com/PnthrLeo/comfyUI-image-search": [ + "https://github.com/PiePieDesign/PiePieTweaks": [ + [ + "PiePiePreviewImage", + "PiePieResolutionFromMegapixels", + "PiePieResolutionPicker", + "PiePieTextConcatenate", + "PiePie_Lucidflux" + ], + { + "title_aux": "PiePieTweaks" + } + ], + "https://github.com/PiggyDance/ComfyUI_OpenCV": [ + [ + "OpenCV_CvtColor", + "OpenCV_GaussianBlur", + "OpenCV_MedianBlur" + ], + { + "title_aux": "ComfyUI_OpenCV" + } + ], + "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-SaveMP3": [ + [ + "SaveAudioAsMP3" + ], + { + "title_aux": "ComfyUI-LikeSpiderAI-SaveMP3" + } + ], + "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-UI": [ + [ + "AudioExport" + ], + { + "title_aux": "ComfyUI-LikeSpiderAI-UI" + } + ], + "https://github.com/Pirog17000/Pirogs-Nodes": [ + [ + "BatchCropFromMaskSimple", + "BatchUncropSimple", + "BlendImages", + "BlurByMask", + "BlurMask", + "CLIPTextEncodeFluxMultiple", + "CLIPTextEncodeMultiple", + "CropImage", + "CropMaskByBBox", + "DSLRNoise", + "GetImageSize", + "GradientMaskGenerator", + "ImageBlendByMask", + "ImageScalePro", + "InvertMask", + "KSamplerMultiSeed", + "KSamplerMultiSeedPlus", + "LMStudioQuery", + "LMStudioUnloadModel", + "LensSimulatedBloom", + "PreviewImageQueue", + "PromptRandomizer", + "StringCombine", + "TestResetButton", + "Watermark" + ], + { + "title_aux": "Pirog's Nodes for ComfyUI" + } + ], + "https://github.com/PixWizardry/ComfyUI_PixQwenImageEditEnhanced": [ + [ + "PixQwenImageEditEnhanced" + ], + { + "title_aux": "ComfyUI_PixQwenImageEditEnhanced" + } + ], + "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/Pixelailabs/Joy_Caption_Two_PixelaiLabs": [ + [ + "SimpleLLMCaption", + "SimpleLLMCaptionAdvanced", + "SimpleLLMCaptionBatch", + "SimpleLLMCaptionLoader" + ], + { + "title_aux": "Joy Caption Two - PixelaiLabs Edition" + } + ], + "https://github.com/PnthrLeo/comfyUI-PL-data-tools": [ [ "AreasGenerator", "BatchImageGetter", @@ -6047,37 +16106,27 @@ "title_aux": "comfyUI-PL-data-tools" } ], - "https://github.com/Pos13/comfyui-cyclist": [ + "https://github.com/Polygoningenieur/ComfyUI-IC-Light-Video": [ [ - "CyclistCompare", - "CyclistMathFloat", - "CyclistMathInt", - "CyclistTimer", - "CyclistTimerStop", - "CyclistTypeCast", - "Interrupt", - "LoopManager", - "MemorizeConditioning", - "MemorizeFloat", - "MemorizeInt", - "MemorizeString", - "OverrideImage", - "OverrideLatent", - "OverrideModel", - "RecallConditioning", - "RecallFloat", - "RecallInt", - "RecallString", - "ReloadImage", - "ReloadLatent", - "ReloadModel" + "BackgroundScaler", + "CalculateNormalsFromImages", + "DetailTransfer", + "ICLightConditioning", + "ICLightVideo", + "LightSource", + "LoadAndApplyICLightUnet", + "LoadHDRImage" ], { - "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" + "title_aux": "ComfyUI-IC-Light-Video" + } + ], + "https://github.com/Pondowner857/comfy_Pond_Nodes_V2": [ + [ + "RemoteWorkflowExecutor" + ], + { + "title_aux": "ComfyUI Remote Workflow Executor" } ], "https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": [ @@ -6088,6 +16137,46 @@ "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/Poukpalaova/ComfyUI-FRED-Nodes_v2": [ + [ + "FRED_AutoCropImage_Native_Ratio", + "FRED_AutoImageTile_from_Mask", + "FRED_AutoLoraLoader_5_stacks_simple", + "FRED_AutoLoraLoader_Dynamic", + "FRED_CheckpointLoaderWithName", + "FRED_CropFace", + "FRED_ExecutionTime", + "FRED_ExtractKSampler_parameter", + "FRED_ExtractLora_parameter", + "FRED_ImageLoad", + "FRED_ImageQualityInspector", + "FRED_ImageSaver", + "FRED_ImageSaver_v2", + "FRED_ImageUncropFromBBox", + "FRED_Image_Sharpening_Blur_Level", + "FRED_JpegArtifact_Simulator", + "FRED_Multi_Linear_Slider", + "FRED_RestoreFaceWithMask", + "FRED_Save_Text_File", + "FRED_Simplified_Parameters_Panel", + "FRED_Text_to_XMP", + "FRED_UNETLoaderWithName", + "FRED_WildcardConcat_Dynamic" + ], + { + "title_aux": "ComfyUI FRED Nodes v2" + } + ], "https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait": [ [ "AdvancedLivePortrait", @@ -6101,19 +16190,453 @@ "title_aux": "ComfyUI-AdvancedLivePortrait" } ], + "https://github.com/PozzettiAndrea/ComfyUI-BGPSeg": [ + [ + "BGPSegSegmentation", + "LoadBGPSegModels" + ], + { + "title_aux": "ComfyUI-BGPSeg" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-Cadrille": [ + [ + "CADRecodeInference", + "CadQueryExecute", + "CadrilleImageInference", + "CadrilleInference", + "CadrilleTextInference", + "LoadCADRecodeModel", + "LoadCadrilleModel" + ], + { + "title_aux": "ComfyUI-Cadrille" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-CameraPack": [ + [ + "CameraIntrinsics", + "CreateLoad3DCamera", + "DA3ToLoad3DCamera" + ], + { + "title_aux": "ComfyUI-CameraPack" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-DepthAnythingV3": [ + [ + "DA3_CreateCameraParams", + "DA3_DownloadModel", + "DA3_EnableTiledProcessing", + "DA3_FilterGaussians", + "DA3_MultiViewPointCloud", + "DA3_ParseCameraPose", + "DA3_PreviewPointCloud", + "DA3_SavePointCloud", + "DA3_ToMesh", + "DA3_ToPointCloud", + "DepthAnythingV3_MultiView", + "DepthAnythingV3_Streaming", + "DepthAnything_V3", + "DownloadAndLoadDepthAnythingV3Model", + "LoadSALADModel" + ], + { + "title_aux": "ComfyUI-DepthAnythingV3" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-GeometryPack": [ + [ + "GeomPackAddNormalsToPointCloud", + "GeomPackAlphaWrap", + "GeomPackBackdraftView", + "GeomPackBooleanBlender", + "GeomPackBooleanCGAL", + "GeomPackCheckNormals", + "GeomPackCombineMeshes", + "GeomPackCombineMeshesBatch", + "GeomPackComputeNormals", + "GeomPackConnectedComponents", + "GeomPackCreatePrimitive", + "GeomPackDegenerateFaces", + "GeomPackDepthNormalsToMesh", + "GeomPackDetectSelfIntersections", + "GeomPackExtractSkeleton", + "GeomPackFillHoles", + "GeomPackFixNormals", + "GeomPackFixSelfIntersectionsByPerturbation", + "GeomPackFixSelfIntersectionsByRemoval", + "GeomPackGetMeshFilename", + "GeomPackLoadMesh", + "GeomPackLoadMeshBatch", + "GeomPackLoadMeshBlend", + "GeomPackLoadMeshFBX", + "GeomPackLoadMeshGlob", + "GeomPackLoadMeshPath", + "GeomPackMergeVertices", + "GeomPackMeshFix", + "GeomPackMeshFromSkeleton", + "GeomPackMeshInfo", + "GeomPackMeshQuality", + "GeomPackMeshToMeshDistance", + "GeomPackMeshToPointCloud", + "GeomPackNormalizeMeshToBBox", + "GeomPackOpenEdges", + "GeomPackParaViewFilter", + "GeomPackPointToMeshDistance", + "GeomPackPreviewGaussian", + "GeomPackPreviewMesh", + "GeomPackPreviewMeshAnalysis", + "GeomPackPreviewMeshDual", + "GeomPackPreviewMeshMulti", + "GeomPackPreviewMeshUV", + "GeomPackPreviewMeshVTK", + "GeomPackPreviewMeshVTKBatch", + "GeomPackReconstructSurface", + "GeomPackRemesh", + "GeomPackRemeshBlender", + "GeomPackRemeshCGAL", + "GeomPackRemeshGPU", + "GeomPackRemeshSelfIntersections", + "GeomPackRemeshWithTexture", + "GeomPackRemoveDegenerateFaces", + "GeomPackSaveMesh", + "GeomPackSaveMeshBatch", + "GeomPackSplitByField", + "GeomPackSubsamplePointCloud", + "GeomPackTextureToGeometry", + "GeomPackTransformMesh", + "GeomPackUVUnwrap", + "GeomPackVisualizeNormalField", + "RefineMesh", + "ScrambleIntField" + ], + { + "title_aux": "ComfyUI libigl" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-Grounding": [ + [ + "BatchCropAndPadFromMask", + "BboxVisualizer", + "DownLoadSAM2Model", + "GroundingDetector", + "GroundingMaskDetector", + "GroundingMaskModelLoader", + "GroundingModelLoader", + "Sam2Segment" + ], + { + "title_aux": "ComfyUI-Grounding" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-HunyuanX": [ + [ + "HunyuanX_ApplyAndSaveTexturedMesh", + "HunyuanX_BakeMultiViews", + "HunyuanX_BakeMultiviewTextures", + "HunyuanX_CameraConfig", + "HunyuanX_DecodeLatents", + "HunyuanX_EncodeDINO", + "HunyuanX_ExportMesh", + "HunyuanX_GenerateLatents", + "HunyuanX_GenerateMultiviewPBR", + "HunyuanX_ImageToLatents", + "HunyuanX_ImageWithAlphaInput", + "HunyuanX_InPaint", + "HunyuanX_InpaintTextures", + "HunyuanX_LoadDiT", + "HunyuanX_LoadDinoModel", + "HunyuanX_LoadImageWithTransparency", + "HunyuanX_LoadMesh", + "HunyuanX_LoadMultiViewModel", + "HunyuanX_LoadVAE", + "HunyuanX_MeshGenerator", + "HunyuanX_MeshUVWrap", + "HunyuanX_MultiViewsGenerator", + "HunyuanX_PostprocessMesh", + "HunyuanX_PrepareImageForDINO", + "HunyuanX_PreviewTrimesh", + "HunyuanX_RenderConditioningMaps", + "HunyuanX_RenderRGBMultiview", + "HunyuanX_VAEDecode", + "HunyuanX_VAELoader" + ], + { + "title_aux": "ComfyUI-HunyuanX" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-MIDI3D": [ + [ + "CombineMasksToInstance", + "DownloadAndLoadMIDI3DModel", + "MIDI3DLoadTextureModels", + "MIDI3DPreprocess", + "MIDI3DPreprocessFromFiles", + "MIDI3DProcess", + "MIDI3DSceneToTrimesh", + "MIDI3DTexture", + "RGBToInstanceMask" + ], + { + "title_aux": "ComfyUI-MIDI3D" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-MeshCraft": [ + [ + "HunyuanX_ApplyAndSaveTexturedMesh", + "HunyuanX_BakeMultiViews", + "HunyuanX_BakeMultiviewTextures", + "HunyuanX_CameraConfig", + "HunyuanX_DecodeLatents", + "HunyuanX_EncodeDINO", + "HunyuanX_ExportMesh", + "HunyuanX_GenerateLatents", + "HunyuanX_GenerateMultiviewPBR", + "HunyuanX_ImageToLatents", + "HunyuanX_ImageWithAlphaInput", + "HunyuanX_InPaint", + "HunyuanX_InpaintTextures", + "HunyuanX_LoadDiT", + "HunyuanX_LoadDinoModel", + "HunyuanX_LoadImageWithTransparency", + "HunyuanX_LoadMesh", + "HunyuanX_LoadMultiViewModel", + "HunyuanX_LoadVAE", + "HunyuanX_MeshGenerator", + "HunyuanX_MeshUVWrap", + "HunyuanX_MultiViewsGenerator", + "HunyuanX_PostprocessMesh", + "HunyuanX_PrepareImageForDINO", + "HunyuanX_PreviewTrimesh", + "HunyuanX_RenderConditioningMaps", + "HunyuanX_RenderRGBMultiview", + "HunyuanX_VAEDecode", + "HunyuanX_VAELoader" + ], + { + "title_aux": "ComfyUI-MeshCraft" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-NeurCADRecon": [ + [ + "LoadNeurCADReconModel", + "NeurCADReconInference", + "NeurCADReconLoadCheckpoint", + "NeurCADReconTrain" + ], + { + "title_aux": "ComfyUI-NeurCADRecon" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-SAM3": [ + [ + "LoadSAM3Model", + "SAM3BBoxCollector", + "SAM3CombineBoxes", + "SAM3CombinePoints", + "SAM3CreateBox", + "SAM3CreatePoint", + "SAM3Grounding", + "SAM3InteractiveCollector", + "SAM3MultiRegionCollector", + "SAM3MultipromptSegmentation", + "SAM3PointCollector", + "SAM3Propagate", + "SAM3Segmentation", + "SAM3VideoOutput", + "SAM3VideoSegmentation" + ], + { + "title_aux": "ComfyUI-SAM3" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-SAM3DBody": [ + [ + "LoadSAM3DBodyModel", + "SAM3DBodyAddMeshToSkeleton", + "SAM3DBodyExportFBX", + "SAM3DBodyExportMesh", + "SAM3DBodyExportMultipleFBX", + "SAM3DBodyGetVertices", + "SAM3DBodyLoadMesh", + "SAM3DBodyLoadSkeleton", + "SAM3DBodyPreviewRiggedMesh", + "SAM3DBodyProcess", + "SAM3DBodyProcessAdvanced", + "SAM3DBodyProcessMultiple", + "SAM3DBodySaveSkeleton", + "SAM3DBodySelectMesh", + "SAM3DBodyVisualize" + ], + { + "title_aux": "ComfyUI-SAM3DBody" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-SECADNET": [ + [ + "LoadSECADNetModel", + "MeshToVoxel", + "SECADNetFinetune", + "SECADNetInference", + "SECADNetLatentToMesh" + ], + { + "title_aux": "ComfyUI-SECADNET" + } + ], + "https://github.com/PozzettiAndrea/ComfyUI-Sharp": [ + [ + "AlignDepthMaps", + "LoadImageWithExif", + "LoadSharpModel", + "MergeGaussians", + "ProjectDepthToPanorama", + "SamplePanorama", + "SharpPredict", + "SharpPredictDepth" + ], + { + "title_aux": "ComfyUI-Sharp" + } + ], + "https://github.com/Praveenhalder/praveen-tools": [ + [ + "AdjustBrightnessContrast", + "BlackImageGenerator", + "DiagonalTextWatermark", + "FilenameExtractor", + "ImageDimensions16", + "ImageTileMerge", + "ImageTileSplit", + "LoadImageWithFilename", + "MergeImageLists", + "OverlappingImageListMerger", + "OverlappingImageListSplitter", + "RGBChannelMerger", + "ResolutionNode", + "SelectLastImage", + "SkipFirstImage", + "SplitImageList", + "TileInfoDisplay" + ], + { + "title_aux": "Praveen's ComfyUI Tools" + } + ], + "https://github.com/PressWagon/ComfyUI-StringsAndThings": [ + [ + "DebugString", + "FormatConcatStrings", + "FormattingSingle", + "FourierAnalysisNode", + "ImageDifference", + "MosaicEffectNode", + "PWLoraNameCollector", + "PWLoraSelector", + "TextEmbeddingsInterrogator" + ], + { + "title_aux": "ComfyUI-StringsAndThings" + } + ], + "https://github.com/ProGamerGov/ComfyUI_preview360panorama": [ + [ + "PanoramaVideoViewerNode", + "PanoramaViewerNode" + ], + { + "title_aux": "Preview 360 Panorama for ComfyUI" + } + ], + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert": [ + [ + "Apply Circular Padding Model", + "Apply Circular Padding VAE", + "Create 180 To 360 Mask", + "Create Pole Mask", + "Create Seam Mask", + "Crop 360 to 180 Equirectangular", + "Crop Image with Coords", + "Crop Stereo to Monoscopic", + "Cubemap to Equirectangular", + "Equirectangular Mask to Face", + "Equirectangular Rotation", + "Equirectangular to Cubemap", + "Equirectangular to Face", + "Equirectangular to Perspective", + "Face Mask to Equirectangular", + "Face to Equirectangular", + "Mask Equirectangular Rotation", + "Masked Diff C2E", + "Merge Monoscopic into Stereo", + "Pad 180 to 360 Equirectangular", + "Paste Image with Coords", + "Roll Image Axes", + "Roll Mask Axes", + "Split Cubemap Faces", + "Stack Cubemap Faces" + ], + { + "title_aux": "ComfyUI_pytorch360convert" + } + ], + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert_video": [ + [ + "Create 360 Sweep Frames", + "Create 360 Sweep Frames Tensor", + "Create360SweepVideoFramesNode", + "Create360SweepVideoFramesTensorNode" + ], + { + "title_aux": "ComfyUI_pytorch360convert_video" + } + ], + "https://github.com/PrunaAI/ComfyUI_pruna": [ + [ + "CacheModelAdaptive", + "CacheModelAuto", + "CacheModelPeriodic", + "PrunaCompileModel" + ], + { + "title_aux": "Pruna nodes for ComfyUI" + } + ], "https://github.com/Pseudotools/Pseudocomfy": [ [ - "Combiner", - "LoadJSONAuto", - "LoadJSONFromFolder", - "MakeMaskBatch", - "MixedBuiltinCombinerIPAdaper", - "ProcessJSON" + "PseudoApplyDenseDiffusionSDXL", + "PseudoApplyIPAdaperSDXL", + "PseudoConcatStrings", + "PseudoFloatToInt", + "PseudoIPAdapterUnifiedLoaderClone", + "PseudoLoadModelSnapshot", + "PseudoMaskAggregate", + "PseudoMaskBlur", + "PseudoMaskClamp", + "PseudoMaskInvert", + "PseudoMaskRemap", + "PseudoMaskReshape", + "PseudoPreviewStrings", + "PseudoProcessEnvironmentalPrompts", + "PseudoProcessImagePrompt", + "PseudoProcessMaterialPrompts", + "PseudoRemapNormalizedFloat", + "PseudoSaveImageWithEmbeddedMasks", + "PseudoUnpackModelSnapshot" ], { "title_aux": "Pseudocomfy" } ], + "https://github.com/Pun0110/ComfyUI-CSV-Styler": [ + [ + "PT.CSV Styler" + ], + { + "title_aux": "CSV Styler" + } + ], "https://github.com/Q-Bug4/Comfyui-Qb-DateNodes": [ [ "DateTimeFormatterNode" @@ -6124,12 +16647,40 @@ ], "https://github.com/Q-Bug4/Comfyui-Simple-Json-Node": [ [ - "JSONParserNode" + "JSONArrayIteratorNode", + "JSONGeneratorNode", + "JSONKeyCheckerNode", + "JSONLengthNode", + "JSONMergeNode", + "JSONModifierNode", + "JSONObjectIteratorNode", + "JSONParserNode", + "JSONStringifierNode", + "RandomJSONValueNode" ], { "title_aux": "Simple JSON Parser Node for ComfyUI" } ], + "https://github.com/Q-Bug4/comfyui-qbug-batch": [ + [ + "CrossJoinSelector", + "ListFiles", + "NoPreviewSaveImage" + ], + { + "title_aux": "comfyui-qbug-batch" + } + ], + "https://github.com/QL-boy/ComfyUI-Advanced-Tile-Processing": [ + [ + "CustomTileMerger", + "CustomTileSplitter" + ], + { + "title_aux": "ComfyUI-Advanced-Tile-Processing" + } + ], "https://github.com/QaisMalkawi/ComfyUI-QaisHelper": [ [ "Bool Binary Operation", @@ -6144,6 +16695,68 @@ "title_aux": "ComfyUI-Qais-Helper" } ], + "https://github.com/QijiTec/ComfyUI-RED-UNO": [ + [ + "REDUNOGenerate", + "REDUNOModelLoader" + ], + { + "title_aux": "ComfyUI-RED-UNO" + } + ], + "https://github.com/QuackPhuc/ComfyUI-FisheyeTransform": [ + [ + "FisheyeRedistort", + "FisheyeStrengthEstimate", + "FisheyeUndistort" + ], + { + "title_aux": "ComfyUI-FisheyeTransform" + } + ], + "https://github.com/QuietNoise/comfyui_queue_manager": [ + [ + "Workflow Name" + ], + { + "title_aux": "ComfyUI Queue Manager" + } + ], + "https://github.com/R5-Revo/llm-node-comfyui": [ + [ + "UniversalLLMNode" + ], + { + "title_aux": "Universal LLM Node for ComfyUI" + } + ], + "https://github.com/RCAKangle/ComfyUI_LLM_Embeder": [ + [ + "ChatHistoryViewer", + "ChatNode", + "LLMConfigNode" + ], + { + "title_aux": "ComfyUI_LLM_Embeder" + } + ], + "https://github.com/RUiNtheExtinct/comfyui-save-file-extended": [ + [ + "LoadAudioExtended", + "LoadImageExtended", + "LoadVideoExtended", + "SaveAudioExtended", + "SaveAudioMP3Extended", + "SaveAudioOpusExtended", + "SaveImageExtended", + "SaveVideoExtended", + "SaveWEBMExtended", + "SaveWorkflowExtended" + ], + { + "title_aux": "comfyui-save-file-extended" + } + ], "https://github.com/Raapys/ComfyUI-LatentGC_Aggressive": [ [ "LatentGC" @@ -6152,25 +16765,118 @@ "title_aux": "LatentGC Aggressive" } ], - "https://github.com/Ravenmelt/ComfyUI-Rodin": [ + "https://github.com/RainyN0077/ComfyUI-PromptSE": [ [ - "LoadRodinAPIKEY", - "Preview_3DMesh", - "PromptForRodin", - "RodinImage3D", - "RodinMultipleImage3D", - "RodinText3D" + "PromptSE" ], { - "title_aux": "ComfyUI-Rodin" + "title_aux": "ComfyUI-PromptSE" } ], - "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD": [ + "https://github.com/RamonGuthrie/ComfyUI-RBG-ImageStitchPlus": [ [ - "DanbooruToWD" + "RBGImageStitchPlus", + "RBGPadPro" ], { - "title_aux": "ComfyUI-Danbooru-To-WD" + "title_aux": "ComfyUI-RBG-ImageStitchPlus" + } + ], + "https://github.com/RamonGuthrie/ComfyUI-RBG-SmartSeedVariance": [ + [ + "RBG_Smart_Seed_Variance" + ], + { + "title_aux": "ComfyUI-RBG-SmartSeedVariance" + } + ], + "https://github.com/Randy420Marsh/civitai-api-url-resolver": [ + [ + "CivitaiShareToDirectURL" + ], + { + "title_aux": "Civitai URL Resolver for ComfyUI" + } + ], + "https://github.com/Rathius-Saranoth/Rathius_ComfyNodes": [ + [ + "LoadTextFile_Rathius", + "SimpleTextMixer" + ], + { + "title_aux": "Rathius_ComfyNodes" + } + ], + "https://github.com/Raykosan/ComfyUI_RS-SaturationNode": [ + [ + "RS_SaturationSwitch" + ], + { + "title_aux": "ComfyUI_RS-SaturationNode" + } + ], + "https://github.com/Raykosan/ComfyUI_RaykoStudio": [ + [ + "RS_RusTextOverlay" + ], + { + "title_aux": "ComfyUI_RaykoStudio" + } + ], + "https://github.com/RaymondProduction/comfyui-zerna-pack": [ + [ + "CLIPDynamicPromptEncoder //Zerna Pack", + "DynamicPromptInjector //Zerna Pack", + "LastImage //Zerna Pack", + "UnzipPrompt //Zerna Pack" + ], + { + "author": "Raymond", + "description": "A set of nodes for batch processing of text and images.", + "nickname": "Zerna Pack", + "title": "Zerna Pack", + "title_aux": "Zerna Pack" + } + ], + "https://github.com/ReBeating/ComfyUI-Artist-Selector": [ + [ + "ArtistLoader", + "LoadArtistTag" + ], + { + "title_aux": "ComfyUI-Artist-Selector" + } + ], + "https://github.com/RegulusAlpha/ComfyUI-DynPromptSimplified": [ + [ + "DynPromptExpand" + ], + { + "title_aux": "ComfyUI Dynamic Prompting Simplified" + } + ], + "https://github.com/ReinerBforartists/comfyui_auto_prompt_schedule": [ + [ + "AutoPromptSchedule" + ], + { + "title_aux": "Auto Prompt Schedule" + } + ], + "https://github.com/ReinerBforartists/comfyui_text_line_combine": [ + [ + "CombineTextLines" + ], + { + "title_aux": "ComfyUI_Text_Line_Combine" + } + ], + "https://github.com/Reithan/negative_rejection_steering": [ + [ + "NRS" + ], + { + "title_aux": "Negative Rejection Steering" } ], "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": [ @@ -6186,6 +16892,15 @@ "title_aux": "ComfyUI-RenderRiftNodes" } ], + "https://github.com/Revmagi/DDM_bundle": [ + [ + "DDM_GetNode", + "DDM_SetNode" + ], + { + "title_aux": "DDM Bundle - ComfyUI Custom Nodes" + } + ], "https://github.com/RhizoNymph/ComfyUI-CLIPSlider": [ [ "CLIPSlider" @@ -6210,28 +16925,125 @@ "title_aux": "ComfyUI-Latte" } ], + "https://github.com/Rhovanx/wan_vace_auto_joiner": [ + [ + "WanVaceAutoJoiner", + "WanVaceAutoJoinerFinalize", + "WanVaceAutoJoinerSave" + ], + { + "title_aux": "Wan Vace Auto Joiner" + } + ], "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", - "LoadImageWithName", - "LoadPhi35VisionModel", - "Phi35VisionRun" + "LoadImageWithName" ], { "title_aux": "comfyui-florence2xy" } ], + "https://github.com/Rizzlord/ComfyUI-RizzNodes": [ + [ + "BatchImagesToGrid", + "CreateImage", + "LoadMultiviewImages", + "Quadremesh", + "RizzAlphaMargin", + "RizzAudioEditor", + "RizzAudioMixer", + "RizzBatchImageLoader", + "RizzBlur", + "RizzBlurSpot", + "RizzChannelPack", + "RizzChannelSplit", + "RizzClean", + "RizzCropAndScaleFromMask", + "RizzDynamicPromptGenerator", + "RizzEditClips", + "RizzEditImage", + "RizzExtractAllFrames", + "RizzExtractFrames", + "RizzFramesToVideoBatch", + "RizzGDSPatcher", + "RizzImageEffects", + "RizzLoadAudio", + "RizzLoadImage", + "RizzLoadLatestImage", + "RizzLoadLatestMesh", + "RizzLoadVideo", + "RizzMakeTileable", + "RizzModelBatchLoader", + "RizzPasteAndUnscale", + "RizzPreviewAudio", + "RizzPreviewImage", + "RizzPreviewTiling", + "RizzPreviewVideo", + "RizzSaveAudio", + "RizzSaveImage", + "RizzSaveVideo", + "RizzSeparateVideoAudio", + "RizzTextcombine", + "RizzUpscaleImageBatch", + "RizzVideoEffects", + "SaveMultiviewImages", + "SimplifyMesh", + "SplitImageBatch", + "VideoSecondsToLength" + ], + { + "title_aux": "ComfyUI-RizzNodes" + } + ], "https://github.com/RodrigoSKohl/ComfyUI-Panoramic-ImgStitcher": [ [ "Image Stitching Node" @@ -6240,6 +17052,24 @@ "title_aux": "Panoramic Image Stitcher" } ], + "https://github.com/RodrigoSKohl/InteriorDesign-for-ComfyUI": [ + [ + "Control Items", + "Image Normalize", + "Interior Design Segmentator" + ], + { + "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", @@ -6274,6 +17104,197 @@ "title_aux": "ComfyUI-SceneGenerator" } ], + "https://github.com/RunningOverGlowies/ComfyUI-PromptUtils": [ + [ + "FilenameGenerator", + "PromptWildcards" + ], + { + "title_aux": "ComfyUI-PromptUtils" + } + ], + "https://github.com/Runware/ComfyUI-Runware": [ + [ + "Runware 3D Inference", + "Runware 3D Inference Inputs", + "Runware 3D Inference Settings", + "Runware 3D Inference Settings Shape Slat", + "Runware 3D Inference Settings Sparse Structure", + "Runware 3D Inference Settings Tex Slat", + "Runware API Manager", + "Runware Accelerator Options", + "Runware Alibaba Provider Settings", + "Runware Audio Inference", + "Runware Audio Inference Inputs", + "Runware Audio Inputs Combine", + "Runware Audio Model Search", + "Runware Audio Sections", + "Runware Audio Settings", + "Runware Background Removal", + "Runware BlackForest Labs Provider Settings", + "Runware Bria Provider Mask", + "Runware Bria Provider Settings", + "Runware Bytedance Provider Settings", + "Runware ControlNet", + "Runware ControlNet Combine", + "Runware ControlNet PreProcessor", + "Runware ElevenLabs Provider Settings", + "Runware ElevenLabs Provider Settings Sections", + "Runware Embedding Search", + "Runware Embeddings Combine", + "Runware Frame Images", + "Runware Google Provider Settings", + "Runware IPAdapter", + "Runware IPAdapters Combine", + "Runware Image Caption", + "Runware Image Inference", + "Runware Image Inference Inputs", + "Runware Image Inference Ultralytics", + "Runware Image Masking", + "Runware Image Upscaler", + "Runware Imagen Inference", + "Runware Input Audios", + "Runware Kling MultiPrompt Segment", + "Runware Kling Provider Settings MultiPrompt", + "Runware KlingAI Provider Settings", + "Runware Kontext Inference", + "Runware Lightricks Provider Settings", + "Runware Load Mesh", + "Runware Lora Combine", + "Runware Lora Search", + "Runware Luma Provider Settings", + "Runware Media Upload", + "Runware Midjourney Provider Settings", + "Runware MiniMax Provider Settings", + "Runware Mirelo Provider Settings", + "Runware Model Search", + "Runware Multi Inference", + "Runware OpenAI Provider Settings", + "Runware Outpaint", + "Runware PhotoMaker V2", + "Runware Pixverse Provider Settings", + "Runware Provider Settings Recraft Color", + "Runware Recraft Provider Settings", + "Runware Reference Images", + "Runware Reference Videos", + "Runware Reference Voices", + "Runware Refiner", + "Runware Runway Provider Settings", + "Runware Safety Inputs", + "Runware Save 3D", + "Runware Save Image", + "Runware Settings", + "Runware Sourceful Provider Settings", + "Runware Sourceful Provider Settings Fonts", + "Runware Speech Inputs Combine", + "Runware Sync Provider Settings", + "Runware Sync Segment", + "Runware VAE Search", + "Runware Vectorize", + "Runware Video Advanced Feature Inputs", + "Runware Video Audio Input", + "Runware Video Background Removal", + "Runware Video Inference", + "Runware Video Inference Inputs", + "Runware Video Inference Outputs", + "Runware Video Inputs Frame Images", + "Runware Video Inputs References", + "Runware Video Model Search", + "Runware Video Speech Input", + "Runware Video Transcription", + "Runware Video Upscaler", + "Runware Vidu Provider Settings", + "Runware Wan Animate Advanced Feature Settings", + "Runware xAI Provider Settings", + "Runware3DInference", + "Runware3DInferenceInputs", + "Runware3DInferenceSettings", + "Runware3DInferenceSettingsShapeSlat", + "Runware3DInferenceSettingsSparseStructure", + "Runware3DInferenceSettingsTexSlat", + "RunwareAlibabaProviderSettings", + "RunwareAudioInferenceInputs", + "RunwareAudioInput", + "RunwareAudioInputCombine", + "RunwareAudioSettings", + "RunwareBlackForestProviderSettings", + "RunwareBriaProviderMask", + "RunwareBriaProviderSettings", + "RunwareBytedanceProviderSettings", + "RunwareFrameImages", + "RunwareGoogleProviderSettings", + "RunwareKlingMultiPromptSegment", + "RunwareKlingProviderSettings", + "RunwareKlingProviderSettingsMultiPrompt", + "RunwareLightricksProviderSettings", + "RunwareLoadMesh", + "RunwareLumaProviderSettings", + "RunwareMidjourneyProviderSettings", + "RunwareMiniMaxProviderSettings", + "RunwareMireloProviderSettings", + "RunwareOpenAIProviderSettings", + "RunwarePixverseProviderSettings", + "RunwareRecraftColor", + "RunwareRecraftProviderSettings", + "RunwareRunwayProviderSettings", + "RunwareSafetyInputs", + "RunwareSave3D", + "RunwareSettings", + "RunwareSourcefulProviderSettings", + "RunwareSourcefulProviderSettingsFonts", + "RunwareSpeechInput", + "RunwareSpeechInputCombine", + "RunwareSyncProviderSettings", + "RunwareSyncSegment", + "RunwareUltralyticsInputs", + "RunwareUltralyticsProviderSettings", + "RunwareVectorize", + "RunwareVideoAdvancedFeatureInputs", + "RunwareVideoBgRemoval", + "RunwareVideoInferenceOutputs", + "RunwareVideoInputsFrameImages", + "RunwareVideoInputsReferences", + "RunwareVideoUpscaler", + "RunwareWanAnimateAdvancedFeatureSettings", + "RunwareXAIProviderSettings", + "txt2vid" + ], + { + "title_aux": "Runware.ai ComfyUI Inference API Integration" + } + ], + "https://github.com/RyanHolanda/ComfyUI-AudioBridge": [ + [ + "AudioToTensor", + "TensorToAudio" + ], + { + "title_aux": "ComfyUI-AudioBridge" + } + ], + "https://github.com/RyukoMatoiFan/ComfyUI-STARFlow": [ + [ + "STARFlowCheckpointLoader", + "STARFlowSampler", + "STARFlowT5TextEncode", + "STARFlowVAEDecode" + ], + { + "title_aux": "ComfyUI-STARFlow" + } + ], + "https://github.com/RyukoMatoiFan/ComfyUI-Switti": [ + [ + "SwittiCheckpointLoader", + "SwittiDualCLIPLoader", + "SwittiPipelineBuilder", + "SwittiSampler", + "SwittiVAECheckpointLoader" + ], + { + "title_aux": "ComfyUI-Switti" + } + ], "https://github.com/Ryuukeisyou/comfyui_face_parsing": [ [ "BBoxDecompose(FaceParsing)", @@ -6295,18 +17316,15 @@ "ImageResizeCalculator(FaceParsing)", "ImageResizeWithBBox(FaceParsing)", "ImageSize(FaceParsing)", - "LatentCropWithBBox(FaceParsing)", - "LatentInsertWithBBox(FaceParsing)", - "LatentSize(FaceParsing)", "MaskBatchComposite(FaceParsing)", "MaskBlackOut(FaceParsing)", "MaskBorderDissolve(FaceParsing)", + "MaskBorderDissolveAdvanced(FaceParsing)", "MaskComposite(FaceParsing)", "MaskCropWithBBox(FaceParsing)", "MaskInsertWithBBox(FaceParsing)", "MaskListSelect(FaceParsing)", - "MaskToBBoxList(FaceParsing)", - "SkinDetectTraditional(FaceParsing)" + "MaskToBBoxList(FaceParsing)" ], { "title_aux": "comfyui_face_parsing" @@ -6326,6 +17344,118 @@ "title_aux": "comfyui_io_helpers" } ], + "https://github.com/S4MUEL-404/ComfyUI-Prepack": [ + [ + "PrepackCalculator", + "PrepackCondArea", + "PrepackGetPipe", + "PrepackKsampler", + "PrepackKsamplerAdvanced", + "PrepackLoras", + "PrepackLorasAndMSSD3", + "PrepackModelDualCLIP", + "PrepackModelSingleCLIP", + "PrepackNumberTypeConverter", + "PrepackSeed", + "PrepackSetPipe", + "\ud83d\udc80Prepack Calculator", + "\ud83d\udc80Prepack Int Combine", + "\ud83d\udc80Prepack Int Split", + "\ud83d\udc80Prepack Logic Int", + "\ud83d\udc80Prepack Logic String", + "\ud83d\udc80Prepack Merge Selector", + "\ud83d\udc80Prepack Number Type Converter", + "\ud83d\udc80Prepack Save By File Name" + ], + { + "title_aux": "ComfyUI Prepack" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-PromptsO": [ + [ + "\ud83d\udc80S4AnyToString", + "\ud83d\udc80S4ImageWithGemini", + "\ud83d\udc80S4ImageWithGrok", + "\ud83d\udc80S4PromptsCombine", + "\ud83d\udc80S4PromptsFromJanusPro", + "\ud83d\udc80S4PromptsInput", + "\ud83d\udc80S4PromptsReplace", + "\ud83d\udc80S4PromptsSplit", + "\ud83d\udc80S4TextWithDeepseek", + "\ud83d\udc80S4TextWithGemini", + "\ud83d\udc80S4TextWithGrok", + "\ud83d\udc80S4TextWithOpenAI" + ], + { + "title_aux": "ComfyUI-PromptsO" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-S4Motion": [ + [ + "\ud83d\udc80Motion Config", + "\ud83d\udc80Motion Distortion", + "\ud83d\udc80Motion Mask", + "\ud83d\udc80Motion Opacity", + "\ud83d\udc80Motion Position", + "\ud83d\udc80Motion Position On Path", + "\ud83d\udc80Motion Rotation", + "\ud83d\udc80Motion Scale", + "\ud83d\udc80Motion Shake", + "\ud83d\udc80Video Combine", + "\ud83d\udc80Video Crop", + "\ud83d\udc80Video Frames", + "\ud83d\udc80Video Info", + "\ud83d\udc80Video Resize" + ], + { + "title_aux": "ComfyUI S4Motion" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image": [ + [ + "ImageAdjustment", + "ImageAdjustmentColor", + "ImageBlendWithAlpha", + "ImageBoard", + "ImageColor", + "ImageColorPicker", + "ImageCombine", + "ImageCropToFit", + "ImageFromBase64", + "ImageFromFolder", + "ImageFromFolderByIndex", + "ImageFromURL", + "ImageGetColor", + "ImageMaskExpand", + "ImageOverlay", + "ImagePalette", + "ImagePalette631", + "ImagePaletteContrary", + "ImagePrimaryColor", + "ImageRMBG", + "ImageRemoveAlpha", + "ImageResize", + "ImageSAM", + "ImageSAM2", + "ImageTilingPattern", + "ImageToBase64" + ], + { + "title_aux": "ComfyUI S4Tool Image" + } + ], + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Text": [ + [ + "S4Tools Text Basic", + "S4Tools Text Font Base64", + "S4Tools Text Font URL", + "S4Tools Text Font file", + "S4Tools Text Style" + ], + { + "title_aux": "ComfyUI S4Tool Text" + } + ], "https://github.com/SEkINVR/ComfyUI-SaveAs": [ [ "ComfyUISaveAs" @@ -6334,6 +17464,55 @@ "title_aux": "ComfyUI SaveAS" } ], + "https://github.com/SKBv0/ComfyUI_BlendPack": [ + [ + "BlendJoiner", + "BlendVideoCombine" + ], + { + "title_aux": "ComfyUI_BlendPack" + } + ], + "https://github.com/SKBv0/ComfyUI_SKBundle": [ + [ + "AspectRatioAdvanced", + "DisplayEverything", + "ImageComparer", + "LensFlare", + "MultiFloat", + "MultiTextNode", + "PaintPro", + "SKB_AnySwitch", + "SeamlessTexture", + "TextBox", + "TitlePlus" + ], + { + "title_aux": "ComfyUI SKBundle" + } + ], + "https://github.com/SKBv0/ComfyUI_SpideyReroute": [ + [ + "SpideyReroute" + ], + { + "title_aux": "ComfyUI_SpideyReroute" + } + ], + "https://github.com/SKFRMSEHF/comfyui_SK_Loader": [ + [ + "SK_CheckpointLoader", + "SK_CheckpointLoaderSimple", + "SK_LoraLoader", + "SK_PowerLoraLoader", + "SK_UNETLoader", + "SK_VAELoader", + "SK_unCLIPCheckpointLoader" + ], + { + "title_aux": "SK-ComfyUI-FolderingLoader" + } + ], "https://github.com/SLAPaper/ComfyUI-Image-Selector": [ [ "ImageDuplicator", @@ -6345,6 +17524,19 @@ "title_aux": "ComfyUI-Image-Selector" } ], + "https://github.com/SLVGITHUB/QWEN3_TTS_DVA": [ + [ + "QwenTTSAudioSaver", + "QwenTTSBatchGenerate", + "QwenTTSEmotionMixer", + "QwenTTSGenerate", + "QwenTTSModelLoader", + "QwenTTSVoiceClone" + ], + { + "title_aux": "DVA_Qwen_TTS" + } + ], "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": [ [ "MSSqlSelectNode", @@ -6371,18 +17563,36 @@ "ImageScaleToMin", "LoadAesteticModel", "MD5ImageHashNode", + "NSFWClassifierNode", "SamplerPropertiesNode", "ScoreConverterNode", "SeedIncrementerNode", "SegformerNode", "SegformerNodeMasks", "SegformerNodeMergeSegments", - "StepCfgIncrementNode" + "StepCfgIncrementNode", + "WatermarkDetectionNode" ], { "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", @@ -6393,6 +17603,86 @@ "title_aux": "Snap Processing for Comfyui" } ], + "https://github.com/SS-snap/Comfyui_SSsnap_pose-Remapping": [ + [ + "ApplyPoseScalesToFrames", + "CalculatePoseScales", + "ConvertPoseToStandardFormat", + "RenderKps" + ], + { + "title_aux": "Comfyui_SSsnap_pose-Remapping" + } + ], + "https://github.com/SXQBW/ComfyUI-Qwen": [ + [ + "Qwen2_Chat_Zho", + "Qwen2_ModelLoader_Zho", + "Qwen2_Zho" + ], + { + "title_aux": "ComfyUI-Qwen" + } + ], + "https://github.com/SXQBW/ComfyUI-Qwen-Omni": [ + [ + "QwenOmniCombined", + "VideoUploader" + ], + { + "title_aux": "ComfyUI-Qwen-Omni" + } + ], + "https://github.com/SXQBW/ComfyUI-Qwen-VL": [ + [ + "QwenVisionParser" + ], + { + "title_aux": "ComfyUI-Qwen-VL" + } + ], + "https://github.com/SaTaNoob/ComfyUI-Z-Image-Turbo-Resolutions": [ + [ + "ZImageTurboResolutions" + ], + { + "title_aux": "ComfyUI-Z-Image-Turbo-Resolutions" + } + ], + "https://github.com/Saganaki22/ComfyUI-Maya1_TTS": [ + [ + "Maya1TTS_Barebones", + "Maya1TTS_Combined" + ], + { + "title_aux": "Maya1 TTS" + } + ], + "https://github.com/Saganaki22/ComfyUI-Seedream4_Replicate": [ + [ + "Seedream4_Replicate" + ], + { + "title_aux": "Seedream4 Replicate" + } + ], + "https://github.com/Saganaki22/ComfyUI-Step_Audio_EditX_TTS": [ + [ + "StepAudio_AudioEdit", + "StepAudio_VoiceClone" + ], + { + "title_aux": "Step Audio EditX TTS" + } + ], + "https://github.com/Saganaki22/ComfyUI-dotWaveform": [ + [ + "DottedWaveformVisualizer" + ], + { + "title_aux": "dotWaveform" + } + ], "https://github.com/SamKhoze/ComfyUI-DeepFuze": [ [ "DeepFuze Save", @@ -6407,6 +17697,198 @@ "title_aux": "DeepFuze" } ], + "https://github.com/SamLiu1000/ComfyUI_Rabbit-Camera-Perspective": [ + [ + "RabbitCameraSelector" + ], + { + "title_aux": "ComfyUI_Rabbit-Camera-Perspective" + } + ], + "https://github.com/SamLiu1000/ComfyUI_Resolution-and-Ratio": [ + [ + "ResolutionAndRatio" + ], + { + "title_aux": "ComfyUI_Resolution-and-Ratio" + } + ], + "https://github.com/SamTyurenkov/comfyui-vace-preprocessors": [ + [ + "CombineLayoutTracksNode", + "VideoLayoutTrackAnnotatorNode" + ], + { + "title_aux": "comfyui_vace_preprocessors" + } + ], + "https://github.com/SamTyurenkov/comfyui_chatgpt": [ + [ + "BananaImageEditNode", + "BananaImageGenerationNode", + "ChatGPTImageEditNode", + "ChatGPTImageGenerationNode", + "ImageToBase64" + ], + { + "title_aux": "comfyui_chatgpt" + } + ], + "https://github.com/Sampkao/ComfyUI-Amage": [ + [ + "Amage All in One", + "Amage FPS Converter", + "Amage STT", + "Amage Text" + ], + { + "title_aux": "ComfyUI-Amage" + } + ], + "https://github.com/San4itos/ComfyUI-Save-Images-as-Video": [ + [ + "ConvertVideoFFmpeg_san4itos", + "LoadVideoByPath_san4itos", + "SaveFramesToVideoFFmpeg_san4itos" + ], + { + "title_aux": "Save Images to Video (FFmpeg) for ComfyUI" + } + ], + "https://github.com/SanDiegoDude/ComfyUI-DeepStereo": [ + [ + "ColorPickerNode", + "DepthMapProcessor", + "ImageEffectsTransformer", + "ImageResizeAndTransform", + "MiDaSDepthEstimator", + "ProceduralTextureGenerator", + "RandomDotStereogramGenerator", + "RandomNoiseGenerator", + "StereogramGenerator", + "TextureTransformer" + ], + { + "title_aux": "ComfyUI-DeepStereo" + } + ], + "https://github.com/SanDiegoDude/ComfyUI-Kontext-API": [ + [ + "FalKontextMaxMultiImageNode", + "KontextAPINode" + ], + { + "title_aux": "ComfyUI-Kontext-API" + } + ], + "https://github.com/SanDiegoDude/ComfyUI-SaveAudioMP3": [ + [ + "SaveAudioMP3" + ], + { + "title_aux": "ComfyUI-SaveAudioMP3" + } + ], + "https://github.com/SanDiegoDude/ComfyUI-Soprano-TTS": [ + [ + "SopranoTTS" + ], + { + "title_aux": "ComfyUI-Soprano-TTS" + } + ], + "https://github.com/SanDiegoDude/SCG_LocalVLM": [ + [ + "Qwen", + "Qwen2.5", + "Qwen2.5VL", + "QwenVL" + ], + { + "title_aux": "SCG_LocalVLM" + } + ], + "https://github.com/Santat2023/ComfyUiRagNodes": [ + [ + "MyNodesForDB", + "MyNodesForLLM", + "MyNodesForRAG" + ], + { + "title_aux": "ComfyUiRagCustomNodes" + } + ], + "https://github.com/Santodan/santodan-custom-nodes-comfyui": [ + [ + "ExcludedLoras", + "ExtractAndApplyLoRAs", + "ListSelector", + "LoRACachePreloader", + "LoraMetadataHub", + "ModelAssembler", + "PromptListWithTemplates", + "RandomLoRACustom", + "RandomLoRACustomModel", + "RandomLoRAFolder", + "RandomLoRAFolderModel", + "Save Workflow & Shutdown", + "SaveWorkflowAndShutdown", + "SplitBatchWithPrefix", + "WildcardManager" + ], + { + "title_aux": "Santodan Random LoRA Node" + } + ], + "https://github.com/Saquib764/omini-kontext": [ + [ + "NunchakuOminiKontextPatch", + "OminiKontextConditioning", + "OminiKontextEditor", + "OminiKontextModelPatch", + "OminiQwenImageEditModelPatch" + ], + { + "title_aux": "Omini Kontext" + } + ], + "https://github.com/SatadalAI/SATA_UtilityNode": [ + [ + "Latent Machine", + "Latent_Machine", + "Preview Machine", + "Preview_Machine", + "Prompt Autocomplete", + "Prompt Machine", + "PromptAutocomplete", + "Prompt_Machine", + "Resolution Machine", + "Resolution_Machine", + "Save Machine", + "Save_Machine", + "Upscale Machine", + "Upscale_Machine" + ], + { + "title_aux": "SATA UtilityNode Node for ComfyUI" + } + ], + "https://github.com/SaturMars/ComfyUI-NVVFR": [ + [ + "NVVFR" + ], + { + "title_aux": "ComfyUI-NVVFR" + } + ], + "https://github.com/SaturMars/ComfyUI-QwenImageLoraConverter": [ + [ + "QwenLoraConverterNode" + ], + { + "title_aux": "ComfyUI Qwen LoRA Converter Node" + } + ], "https://github.com/SayanoAI/Comfy-RVC": [ [ "Any2ListNode", @@ -6445,6 +17927,14 @@ "title_aux": "Comfy-RVC" } ], + "https://github.com/Sayene/comfyui-base64-to-image-size": [ + [ + "LoadImageFromBase64Size" + ], + { + "title_aux": "comfyui-base64-to-image-size" + } + ], "https://github.com/Scholar01/ComfyUI-Keyframe": [ [ "KeyframeApply", @@ -6466,6 +17956,40 @@ "title_aux": "ComfyUI-DiffusersLoader" } ], + "https://github.com/Scorpiosis0/ComfyUI-WtlNodes": [ + [ + "Brightness", + "CameraDepthDOF", + "Contrast", + "DepthDOF", + "Dither", + "DualEaseCosineScheduler", + "EmptyLatent", + "Exposure", + "HighlightShadow", + "Hue", + "ImageResize", + "ImageRotate", + "ImageRotation", + "ImageTranslation", + "ImageZoom", + "LatentNoise", + "MaskFilter", + "MaskProcessor", + "MaskResize", + "MaskRotation", + "MaskTranslation", + "MaskZoom", + "RAMImageCompare", + "RAMPreviewImage", + "Saturation", + "SigmaVisualizer", + "Temperature" + ], + { + "title_aux": "WtlNodes" + } + ], "https://github.com/ScreamingHawk/comfyui-ollama-prompt-encode": [ [ "OllamaCLIPTextEncode", @@ -6489,6 +18013,66 @@ "title_aux": "ComfyUI-Long-CLIP" } ], + "https://github.com/Sean-Bradley/ComfyUI-Get-Line": [ + [ + "Get Line" + ], + { + "title_aux": "ComfyUI-Get-Line" + } + ], + "https://github.com/Sean-Bradley/ComfyUI-Image-Compare": [ + [ + "ImageCompareNode" + ], + { + "title_aux": "ComfyUI Image Compare" + } + ], + "https://github.com/Sean-Bradley/ComfyUI-Remove-Background": [ + [ + "SBCODERemoveBackground" + ], + { + "title_aux": "Remove Background" + } + ], + "https://github.com/Sean-Bradley/ComfyUI-Sonic": [ + [ + "SONICSampler", + "SONICTLoader", + "SONIC_PreData" + ], + { + "title_aux": "ComfyUI-Sonic" + } + ], + "https://github.com/Sean-Bradley/ComfyUI-Video-Reverse": [ + [ + "VideoReverseNode" + ], + { + "title_aux": "ComfyUI Video Reverse" + } + ], + "https://github.com/Sean-Bradley/ComfyUI-Virtual-Webcam": [ + [ + "VirtualCamNode" + ], + { + "title_aux": "ComfyUI Virtual Webcam" + } + ], + "https://github.com/Sean-Bradley/ComfyUI-Voice-Clone": [ + [ + "DetectWatermarkNode", + "VoiceCloneNode", + "VoiceReplaceNode" + ], + { + "title_aux": "ComfyUI Voice Clone" + } + ], "https://github.com/SeanScripts/ComfyUI-PixtralLlamaMolmoVision": [ [ "AutoVisionModelLoader", @@ -6500,9 +18084,7 @@ "ParseBoundingBoxes", "ParsePoints", "PixtralGenerateText", - "PixtralImageEncode", "PixtralModelLoader", - "PixtralTextEncode", "PlotPoints", "RegexFindAll", "RegexSearch", @@ -6600,7 +18182,6 @@ "SeargeSDXLSampler", "SeargeSDXLSampler2", "SeargeSDXLSamplerV3", - "SeargeSamplerAdvanced", "SeargeSamplerInputs", "SeargeSaveFolderInputs", "SeargeSeparator", @@ -6614,198 +18195,192 @@ "title_aux": "SeargeSDXL" } ], - "https://github.com/Seedsa/Fooocus_Nodes": [ + "https://github.com/Seb-Lis/ComfyUI_Gemini_3_Pro_API_node": [ [ - "BasicScheduler", - "CLIPLoader", - "CLIPMergeSimple", - "CLIPSave", - "CLIPSetLastLayer", - "CLIPTextEncode", - "CLIPTextEncodeSDXL", - "CLIPTextEncodeSDXLRefiner", - "CLIPVisionEncode", - "CLIPVisionLoader", - "Canny", - "CheckpointLoader", - "CheckpointLoaderSimple", - "CheckpointSave", - "ConditioningAverage", - "ConditioningCombine", - "ConditioningConcat", - "ConditioningSetArea", - "ConditioningSetAreaPercentage", - "ConditioningSetMask", - "ConditioningSetTimestepRange", - "ConditioningZeroOut", - "ControlNetApply", - "ControlNetApplyAdvanced", - "ControlNetLoader", - "CropMask", - "DiffControlNetLoader", - "DiffusersLoader", - "DualCLIPLoader", - "EmptyImage", - "EmptyLatentImage", - "ExponentialScheduler", - "FeatherMask", - "FlipSigmas", - "Fooocus ApplyImagePrompt", - "Fooocus Controlnet", - "Fooocus Describe", - "Fooocus Expansion", - "Fooocus ImagePrompt", - "Fooocus Inpaint", - "Fooocus KSampler", - "Fooocus Loader", - "Fooocus LoraStack", - "Fooocus PipeOut", - "Fooocus PreKSampler", - "Fooocus Styles", - "Fooocus Upscale", - "Fooocus detailerFix", - "Fooocus negative", - "Fooocus positive", - "Fooocus preDetailerFix", - "Fooocus samLoaderPipe", - "Fooocus ultralyticsDetectorPipe", - "FreeU", - "FreeU_V2", - "GLIGENLoader", - "GLIGENTextBoxApply", - "GrowMask", - "HyperTile", - "HypernetworkLoader", - "ImageBatch", - "ImageBlend", - "ImageBlur", - "ImageColorToMask", - "ImageCompositeMasked", - "ImageCrop", - "ImageInvert", - "ImageOnlyCheckpointLoader", - "ImageOnlyCheckpointSave", - "ImagePadForOutpaint", - "ImageQuantize", - "ImageScale", - "ImageScaleBy", - "ImageScaleToTotalPixels", - "ImageSharpen", - "ImageToMask", - "ImageUpscaleWithModel", - "InpaintModelConditioning", - "InvertMask", - "JoinImageWithAlpha", - "KSampler", - "KSamplerAdvanced", - "KSamplerSelect", - "KarrasScheduler", - "LatentAdd", - "LatentBatch", - "LatentBatchSeedBehavior", - "LatentBlend", - "LatentComposite", - "LatentCompositeMasked", - "LatentCrop", - "LatentFlip", - "LatentFromBatch", - "LatentInterpolate", - "LatentMultiply", - "LatentRotate", - "LatentSubtract", - "LatentUpscale", - "LatentUpscaleBy", - "LoadImage", - "LoadImageMask", - "LoadLatent", - "LoraLoader", - "LoraLoaderModelOnly", - "MaskComposite", - "MaskToImage", - "ModelMergeAdd", - "ModelMergeBlocks", - "ModelMergeSimple", - "ModelMergeSubtract", - "ModelSamplingContinuousEDM", - "ModelSamplingDiscrete", - "PatchModelAddDownscale", - "PerpNeg", - "PhotoMakerEncode", - "PhotoMakerLoader", - "PolyexponentialScheduler", - "PorterDuffImageComposite", - "PreviewImage", - "RebatchImages", - "RebatchLatents", - "RepeatImageBatch", - "RepeatLatentBatch", - "RescaleCFG", - "SDTurboScheduler", - "SD_4XUpscale_Conditioning", - "SVD_img2vid_Conditioning", - "SamplerCustom", - "SamplerDPMPP_2M_SDE", - "SamplerDPMPP_SDE", - "SaveAnimatedPNG", - "SaveAnimatedWEBP", - "SaveImage", - "SaveLatent", - "SelfAttentionGuidance", - "SetLatentNoiseMask", - "SolidMask", - "SplitImageWithAlpha", - "SplitSigmas", - "StableZero123_Conditioning", - "StableZero123_Conditioning_Batched", - "StyleModelApply", - "StyleModelLoader", - "TomePatchModel", - "UNETLoader", - "UpscaleModelLoader", - "VAEDecode", - "VAEDecodeTiled", - "VAEEncode", - "VAEEncodeForInpaint", - "VAEEncodeTiled", - "VAELoader", - "VAESave", - "VPScheduler", - "VideoLinearCFGGuidance", - "unCLIPCheckpointLoader", - "unCLIPConditioning" + "GeminiImageGen" ], { - "title_aux": "ComfyUI Fooocus Nodes" + "title_aux": "ComfyUI_Gemini_3_Pro_API_node" } ], - "https://github.com/Shadetail/ComfyUI_Eagleshadow": [ + "https://github.com/Seb-Lis/ComfyUI_Node_Pack": [ [ - "Batch 12 Images", - "Detect Transparency", - "Fix Checkpoint Name", - "ImageLinearGammaCompositeMasked", - "KSampler Same Noise", - "MaskGlow", - "OffsetImage", - "Round Float to String", - "SaveImageToFolder", - "Select ControlNet", - "Select Model 20", - "Simple Load Image Batch" + "GenerationTime", + "ImageGrid", + "KSamplerControl", + "TextLabel" ], { - "title_aux": "Eagleshadow Custom Nodes" + "title_aux": "ComfyUI_Node_Pack" + } + ], + "https://github.com/Seb-Lis/comfyui-image-labeler": [ + [ + "AddTextLabel" + ], + { + "title_aux": "comfyui-image-labeler" + } + ], + "https://github.com/Sekiun/ComfyUI-WebpToPNGSequence": [ + [ + "WebpToPngSequence" + ], + { + "title_aux": "ComfyUI-WebpToPNGSequence" + } + ], + "https://github.com/Semonxue/Comfyui-flexai": [ + [ + "flexai:openai_image", + "flexai:openai_text" + ], + { + "title_aux": "ComfyUI FlexAI Nodes" + } + ], + "https://github.com/Semper-Sursum/HF-Flux-ComfyUI": [ + [ + "HuggingFaceTextToImage" + ], + { + "title_aux": "HF-Flux-ComfyUI" + } + ], + "https://github.com/SergPoletaev/ComfyUI-SPoletNodes": [ + [ + "EnhancedVideoPreview", + "GetImageSizeWithPreview", + "Save Images & Preview", + "UltimateMemoryCleaner", + "Video Concat (FFmpeg)", + "VideoBatchCrossfade" + ], + { + "title_aux": "ComfyUI-SPoletNodes" + } + ], + "https://github.com/ServiceStack/comfy-asset-downloader": [ + [ + "AssetDownloader" + ], + { + "title_aux": "ComfyUI Asset Downloader" + } + ], + "https://github.com/SethRobinson/comfyui-workflow-to-api-converter-endpoint": [ + [ + "WorkflowToAPIConverter" + ], + { + "title_aux": "Workflow to API Converter Endpoint" + } + ], + "https://github.com/Shadowwalker0P/CryptoNoise-Ksampler": [ + [ + "CryptoNoise_KSampler" + ], + { + "title_aux": "CryptoNoise-Ksampler" } ], "https://github.com/Shakker-Labs/ComfyUI-IPAdapter-Flux": [ [ "ApplyIPAdapterFlux", - "IPAdapterFluxLoader" + "ApplyIPAdapterFluxAdvanced", + "IPAdapterFluxLoader", + "IPAdapterFluxLoaderAdvanced" ], { "title_aux": "ComfyUI-IPAdapter-Flux" } ], + "https://github.com/ShammiG/ComfyUI-Image_Properties_SG": [ + [ + "LoadImageandviewPropertiesSG", + "PreviewImageandviewPropertiesSG", + "SaveImageFormatQualityPropertiesSG", + "ViewImagePropertiesSG" + ], + { + "title_aux": "ComfyUI Image Properties SG" + } + ], + "https://github.com/ShammiG/ComfyUI-Show-Clock-in-CMD-Console-SG": [ + [ + "ShowClockinCMDconsoleSG" + ], + { + "title_aux": "ComfyUI Show Clock in CMD Console SG" + } + ], + "https://github.com/ShammiG/ComfyUI-Show_Any_Text_in_CMD_Console-SG": [ + [ + "ShowAnyTextInCMDconsoleSG" + ], + { + "title_aux": "ComfyUI-Show_Any_Text_in_CMD_Console-SG" + } + ], + "https://github.com/ShammiG/ComfyUI-Simple_Readable_Metadata-SG": [ + [ + "SaveNegativePromptSG", + "SavePositivePromptSG", + "Simple Readable Metadata Text Viewer-SG", + "SimpleReadableMetadataMAXSG", + "SimpleReadableMetadataSG", + "SimpleReadableMetadataSaveTextSG", + "SimpleReadableMetadataVideoSG" + ], + { + "title_aux": "ComfyUI-Simple_Readable_Metadata-SG" + } + ], + "https://github.com/ShammiG/ComfyUI-VAE-Timestamp-Clock-SG": [ + [ + "VAEClockStartSG", + "VAEClockStopSG" + ], + { + "title_aux": "ComfyUI VAE Timestamp Clock SG" + } + ], + "https://github.com/ShammiG/ComfyUI_Text_Tools_SG": [ + [ + "Text Tools Editor-SG", + "Text Tools Load Text FilePath-SG", + "Text Tools Load Text-SG", + "Text Tools Merge Text Multi-SG", + "Text Tools Merge Text-SG", + "Text Tools Save Text File-SG", + "Text Tools Viewer-SG" + ], + { + "title_aux": "ComfyUI_Text_Tools_SG" + } + ], + "https://github.com/Shannooty/ComfyUI-Timer-Nodes": [ + [ + "TimerStart", + "TimerStringConcat" + ], + { + "title_aux": "ComfyUI Timer Nodes" + } + ], + "https://github.com/Shellishack/comfyui_remote_media_io": [ + [ + "LoadRemoteAudio", + "LoadRemoteImage", + "LoadRemoteVideo", + "SaveAudioToRemote", + "SaveImageToRemote", + "SaveVideoToRemote" + ], + { + "title_aux": "comfyui_remote_media_io" + } + ], "https://github.com/SherryXieYuchen/ComfyUI-Image-Inpainting": [ [ "CropImageByRect", @@ -6823,6 +18398,41 @@ "title_aux": "ComfyUI-Image-Inpainting" } ], + "https://github.com/Shiba-2-shiba/ComfyUI-HSWQ-Quantizer": [ + [ + "HSWQAdvancedBenchmark", + "HSWQFP8ConverterNodeLegacy", + "SDXLHSWQCalibrationNode", + "SDXLHSWQFP8QuantizerNode", + "ZITHSWQCalibrationNode", + "ZITHSWQQuantizerNode" + ], + { + "title_aux": "ComfyUI-HSWQ-Quantizer" + } + ], + "https://github.com/Shiba-2-shiba/ComfyUI-Magcache-for-SDXL": [ + [ + "MagCacheSDXL", + "MagCacheSDXLCalibration" + ], + { + "title_aux": "ComfyUI-Magcache-for-SDXL" + } + ], + "https://github.com/Shiba-2-shiba/ComfyUI-Unofficial-HSWQ-QuantizerHSWQ-Quantizer": [ + [ + "HSWQAdvancedBenchmark", + "HSWQFP8ConverterNodeLegacy", + "SDXLHSWQCalibrationNode", + "SDXLHSWQFP8QuantizerNode", + "ZITHSWQCalibrationNode", + "ZITHSWQQuantizerNode" + ], + { + "title_aux": "ComfyUI-Unofficial-HSWQ-QuantizerHSWQ-Quantizer" + } + ], "https://github.com/Shiba-2-shiba/ComfyUI_DiffusionModel_fp8_converter": [ [ "ClipFP8ConverterNode", @@ -6832,30 +18442,64 @@ "title_aux": "ComfyUI_DiffusionModel_fp8_converter" } ], - "https://github.com/Shiba-2-shiba/comfyui-color-ascii-art-node": [ + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_advanced": [ [ - "ASCIIArtNode", - "ASCIIArtNodev2", - "ASCIIArtSinglefontNode" + "FreeU_B_Scaling", + "FreeU_S_Scaling_AdaptiveCap", + "FreeU_V2_timestepadd" + ], + { + "title_aux": "ComfyUI_FreeU_V2_advanced" + } + ], + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd": [ + [ + "FreeU_B_Scaling", + "FreeU_S_Scaling_AdaptiveCap", + "FreeU_V2_timestepadd" + ], + { + "title_aux": "ComfyUI_FreeU_V2_timestepadd" + } + ], + "https://github.com/Shiba-2-shiba/comfyui-color-ascii-art-node": [ + [ + "ASCIIArtCustomFont", + "ASCIIArtNodeV3" ], { - "author": "Shiba-2-shiba", - "description": "This node generates colorful ASCII art using custom character sets and fonts.", - "nickname": "ColorASCII", - "title": "Colorful ASCII Art Node", "title_aux": "ComfyUI-color-ascii-art-node" } ], "https://github.com/Shibiko-AI/ShibikoAI-ComfyUI-Tools": [ [ + "BboxInsertImage", + "BboxSplit", "Cascade", + "ImageFilters", + "LMS_VisionController", "Luts", + "LutsAdvanced", + "RemoveAreaByMask", + "RemoveBackground", + "RemoveNoise", + "SeedGenerator", "Waifu2x" ], { "title_aux": "Shibiko AI ComfyUI Tools" } ], + "https://github.com/ShinChven/sc-comfy-nodes": [ + [ + "Aspect Ratio", + "Rescale Node", + "Width & Height" + ], + { + "title_aux": "ShinChven's Custom Nodes Package" + } + ], "https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust": [ [ "ApplyStyleModelAdjust" @@ -6872,6 +18516,15 @@ "title_aux": "ComfyUI-AstralAnimator" } ], + "https://github.com/ShmuelRonen/ComfyUI-Audio_Quality_Enhancer": [ + [ + "AudioQualityEffects", + "AudioQualityEnhancer" + ], + { + "title_aux": "ComfyUI-Audio_Quality_Enhancer" + } + ], "https://github.com/ShmuelRonen/ComfyUI-CohernetVideoSampler": [ [ "CohernetVideoSampler" @@ -6880,31 +18533,229 @@ "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", + "EmptyHunyuanLatentForVideo" + ], + { + "title_aux": "ComfyUI-EmptyHunyuanLatent" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-FramePackWrapper_Plus": [ + [ + "DownloadAndLoadFramePackModel", + "FramePackFindNearestBucket", + "FramePackLoraSelect", + "FramePackSampler", + "FramePackSampler_F1", + "FramePackTimestampedTextEncode", + "FramePackTorchCompileSettings", + "LoadFramePackModel" + ], + { + "title_aux": "ComfyUI-FramePackWrapper_Plus" + } + ], "https://github.com/ShmuelRonen/ComfyUI-FreeMemory": [ [ "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", + "GeminiFlash" + ], + { + "title_aux": "ComfyUI-Gemini_Flash_2.0_Exp" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-Gemini_TTS": [ + [ + "GeminiTTS" + ], + { + "title_aux": "ComfyUI-Gemini_TTS" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-HiggsAudio_Wrapper": [ + [ + "HiggsAudio", + "LoadHiggsAudioModel", + "LoadHiggsAudioPrompt", + "LoadHiggsAudioSystemPrompt", + "LoadHiggsAudioTokenizer" + ], + { + "title_aux": "ComfyUI-HiggsAudio_Wrapper" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoSamplerSave": [ + [ + "EmptyVideoLatentForHunyuan", + "HunyuanVideoSamplerSave", + "ImageMotionInfluance", + "ResizeImageForHunyuan" + ], + { + "title_aux": "ComfyUI-HunyuanVideoSamplerSave" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoStyler": [ + [ + "HunyuanVideoStyler" + ], + { + "title_aux": "ComfyUI-HunyuanVideoStyler" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-ImageMotionGuider": [ + [ + "ImageMotionGuider" + ], + { + "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": [ + [ + "LatentSyncNode", + "VideoLengthAdjuster" + ], + { + "title_aux": "ComfyUI-LatentSyncWrapper" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-NanoBanano": [ + [ + "ComfyUI_NanoBanana" + ], + { + "title_aux": "ComfyUI-NanoBanano" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-Orpheus-TTS": [ + [ + "OrpheusAudioEffects", + "OrpheusGenerate", + "OrpheusModelLoader" + ], + { + "title_aux": "ComfyUI-Orpheus-TTS" + } + ], + "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": [ [ + "SVDResizer", "SVDRsizer" ], { "title_aux": "ComfyUI-SVDResizer" } ], - "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API": [ + "https://github.com/ShmuelRonen/ComfyUI-ThinkSound_Wrapper": [ [ - "FluxPro11" + "ThinkSoundFeatureUtilsLoader", + "ThinkSoundModelLoader", + "ThinkSoundSampler" ], { - "title_aux": "ComfyUI Flux 1.1 Ultra & Raw Node" + "title_aux": "ComfyUI-ThinkSound_Wrapper" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-Veo2-Experimental": [ + [ + "VeoTextToVideo", + "VeoToVHS", + "VeoVideoPreview" + ], + { + "title_aux": "ComfyUI-Veo2-Experimental" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-VideoUpscale_WithModel": [ + [ + "Free_Video_Memory", + "Video_Upscale_With_Model" + ], + { + "title_aux": "ComfyUI-VideoUpscale_WithModel" + } + ], + "https://github.com/ShmuelRonen/ComfyUI-WanVideoKsampler": [ + [ + "WanVideoKsampler" + ], + { + "title_aux": "ComfyUI-WanVideoKsampler" + } + ], + "https://github.com/ShmuelRonen/ComfyUI_ChatterBox_Voice": [ + [ + "ChatterBoxVoiceCapture", + "ChatterBoxVoiceTTS", + "ChatterBoxVoiceVC" + ], + { + "title_aux": "ComfyUI_ChatterBox_Voice" } ], "https://github.com/ShmuelRonen/ComfyUI_Gemini_Flash": [ @@ -6915,6 +18766,14 @@ "title_aux": "ComfyUI_Gemini_Flash" } ], + "https://github.com/ShmuelRonen/ComfyUI_Hedra": [ + [ + "HedraImageToVideo" + ], + { + "title_aux": "ComfyUI Hedra Node" + } + ], "https://github.com/ShmuelRonen/ComfyUI_pixtral_large": [ [ "ComfyUIPixtralLarge", @@ -6944,6 +18803,92 @@ "title_aux": "Wav2Lip Node for ComfyUI" } ], + "https://github.com/ShmuelRonen/DJ_VideoAudioMixer": [ + [ + "DJ_VideoAudioMixer" + ], + { + "title_aux": "DJ_VideoAudioMixer" + } + ], + "https://github.com/ShmuelRonen/FluxKontextCreator": [ + [ + "FluxKontextCreator", + "FluxKontextCreatorExperimental" + ], + { + "title_aux": "Flux Kontext Creator for ComfyUI" + } + ], + "https://github.com/ShmuelRonen/comfyui-openai_fm": [ + [ + "OpenAIFMNode" + ], + { + "title_aux": "comfyui-openai_fm" + } + ], + "https://github.com/ShmuelRonen/flux_pro_integrative": [ + [ + "FluxProIntegrative" + ], + { + "title_aux": "ComfyUI Flux Pro Integrative - Enhanced Flux API Node" + } + ], + "https://github.com/ShmuelRonen/google_moogle": [ + [ + "googletrans" + ], + { + "title_aux": "Google Moogle" + } + ], + "https://github.com/ShmuelRonen/multi-lora-stack": [ + [ + "MultiLoRAStack", + "MultiLoRAStackModelOnly" + ], + { + "title_aux": "multi-lora-stack" + } + ], + "https://github.com/ShootTheSound/comfyUI-Realtime-Lora": [ + [ + "ApplyTrainedLora", + "ClippyRebornImageLoader", + "FLUXSelectiveLoRALoader", + "FluxKleinDeepDebiaser", + "FluxVAEDebiaser", + "FluxVAEInspector", + "ImageOfDayLoader", + "LoRALoaderWithAnalysis", + "LoRALoaderWithAnalysisV2", + "ModelDiffToLoRA", + "MusubiFluxKleinLoraTrainer", + "MusubiQwenImageEditLoraTrainer", + "MusubiQwenImageLoraTrainer", + "MusubiWanLoraTrainer", + "MusubiZImageBaseLoraTrainer", + "MusubiZImageLoraTrainer", + "Qwen3_4BTextEncoderDebiaser", + "Qwen3_4BTextEncoderInspector", + "Qwen3_8BTextEncoderDebiaser", + "Qwen3_8BTextEncoderInspector", + "QwenSelectiveLoRALoader", + "RealtimeLoraTrainer", + "SD15LoraTrainer", + "SDXLLoraTrainer", + "SDXLSelectiveLoRALoader", + "ScheduledLoRALoader", + "WanSelectiveLoRALoader", + "ZImageDeepDebiaser", + "ZImageSelectiveLoRALoader" + ], + { + "title_aux": "Realtime LoRA Trainer" + } + ], "https://github.com/Shraknard/ComfyUI-Remover": [ [ "Remover" @@ -6967,6 +18912,41 @@ "title_aux": "Lazy Pony Prompter" } ], + "https://github.com/SidDays/ComfyUI-YuGiOh": [ + [ + "YuGiOhCardGenerator" + ], + { + "title_aux": "ComfyUI-YuGiOh" + } + ], + "https://github.com/SiegeKeebsOffical/comfyui-lmstudio": [ + [ + "LMStudioConnectivityV2", + "LMStudioGenerate", + "LMStudioGenerateAdvance", + "LMStudioGenerateV2", + "LMStudioOptionsV2", + "LMStudioSequentialPrompt", + "LMStudioSequentialPromptAdvanced", + "LMStudioVision" + ], + { + "title_aux": "comfyui-lmstudio" + } + ], + "https://github.com/Siempreflaco/ComfyUI-NCNodes": [ + [ + "Load3DMesh", + "NCAudioRecorderNode", + "NCImageProcessor", + "NCIncrementINT", + "NCLineCounter" + ], + { + "title_aux": "ComfyUI-NCNodes" + } + ], "https://github.com/Sieyalixnet/ComfyUI_Textarea_Loaders": [ [ "CheckPointLoader_Text", @@ -6978,6 +18958,60 @@ "title_aux": "ComfyUI_Textarea_Loaders" } ], + "https://github.com/SignalCha1n/comfyui-ComfySnap": [ + [ + "FaceAvoidRandomY", + "LowQualityDigitalLook", + "SnapBasicFilters", + "SnapTextOverlay" + ], + { + "title_aux": "Snap Style Nodes for ComfyUI" + } + ], + "https://github.com/SijieMei/ComfyUI-promptHistory": [ + [ + "PromptHistory" + ], + { + "title_aux": "ComfyUI-Prompt-History" + } + ], + "https://github.com/SilentZhang/comfyui-encrypt": [ + [ + "RSAEncryptNode", + "RSAKeyGeneratorNode" + ], + { + "title_aux": "comfyui-encrypt" + } + ], + "https://github.com/SilverAndJade/comfyui-silver-nodes": [ + [ + "SilverCivitAILoader", + "SilverFileTextLoader", + "SilverFlickrRandomImage", + "SilverFolderFilePathLoader", + "SilverFolderImageLoader", + "SilverFolderVideoLoader", + "SilverLoraModelLoader", + "SilverRandomFromList", + "SilverStringReplacer", + "SilverUrlImageLoader", + "SilverWebImageLoader" + ], + { + "title_aux": "ComfyUI Silver Nodes" + } + ], + "https://github.com/Simlym/comfyui-prompt-helper": [ + [ + "PromptProcessor" + ], + { + "title_aux": "ComfyUI Prompt Helper" + } + ], "https://github.com/SimonHeese/ComfyUI_AnimationNodes/raw/refs/heads/main/animated_offset_pad.py": [ [ "AnimatedOffsetPadding" @@ -6986,12 +19020,28 @@ "title_aux": "ComfyUI_AnimationNodes" } ], - "https://github.com/SlackinJack/distrifuser_comfyui": [ + "https://github.com/Sinphaltimus/comfyui_fedcoms_node_pack": [ [ - "DistrifuserSampler" + "EnhancedModelMetadataReader", + "ModelDataExtractor", + "ModelMetadataReader" ], { - "title_aux": "distrifuser_comfyui" + "title_aux": "comfyui_fedcoms_node_pack" + } + ], + "https://github.com/SipherAGI/comfyui-animatediff": [ + [ + "AnimateDiffCombine", + "AnimateDiffLoraLoader", + "AnimateDiffModuleLoader", + "AnimateDiffSampler", + "AnimateDiffSlidingWindowOptions", + "ImageSizeAndBatchSize", + "LoadVideo" + ], + { + "title_aux": "AnimateDiff" } ], "https://github.com/SleeeepyZhou/ComfyUI-CNtranslator": [ @@ -7012,6 +19062,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", @@ -7031,6 +19089,42 @@ "title_aux": "comfyui_meme_maker" } ], + "https://github.com/SnJake/SnJake_Baikal_Swin_Anime": [ + [ + "SnJakeAnimeUpscaleCheckpointLoader", + "SnJakeAnimeUpscaleInference" + ], + { + "title_aux": "SnJake_Baikal_Swin_Anime" + } + ], + "https://github.com/SnJake/SnJake_JPG_Artifacts_Noise_Cleaner": [ + [ + "SnJakeArtifactsRemover" + ], + { + "title_aux": "JPG & Noise Remover for ComfyUI" + } + ], + "https://github.com/SnJake/SnJake_Sapsan-VFI": [ + [ + "SnJakeSapsanVFICheckpointLoader", + "SnJakeSapsanVFIInterpolate" + ], + { + "title_aux": "SnJake_Sapsan-VFI" + } + ], + "https://github.com/SofianeAlla/ComfyUI-BespokeAI-3D": [ + [ + "BespokeAI3DGeneration", + "BespokeAI3DGenerationFromURL", + "BespokeAI3DPreview" + ], + { + "title_aux": "ComfyUI-BespokeAI-3D" + } + ], "https://github.com/SoftMeng/ComfyUI-DeepCache-Fix": [ [ "DeepCache_Fix" @@ -7044,7 +19138,11 @@ "PIL Effects (Mexx)", "PIL Merge Image (Mexx)", "PIL Remove Black Dots (Mexx)", - "PIL TITLE (Mexx)" + "PIL TITLE (Mexx)", + "PIL_Effects", + "PIL_MergeImage", + "PIL_RemoveBlackDots", + "PIL_TITLE" ], { "title_aux": "ComfyUI-PIL" @@ -7075,9 +19173,16 @@ "title_aux": "ComfyUI_Mexx_Styler" } ], + "https://github.com/SongGuo11/ComfyUI-SaveAnything-SG11": [ + [ + "SG11_SaveAnything" + ], + { + "title_aux": "ComfyUI SaveAnything Node (SG11)" + } + ], "https://github.com/Sorcerio/MBM-Music-Visualizer": [ [ - "id", "mbmAudioFeatureCalculator", "mbmAudioLoader", "mbmImageConcat", @@ -7091,12 +19196,23 @@ "title_aux": "MBM's Music Visualizer" } ], + "https://github.com/SorenWeile/ComfyUI_MetaSaver": [ + [ + "MetaSaver", + "MetaSaverDynamic" + ], + { + "title_aux": "ComfyUI_MetaSaver" + } + ], "https://github.com/SozeInc/ComfyUI-Mobile": [ [ - "Mobile_Settings_Launcher_Data", "Send Notification (Mobile)", + "Send_Notification", "Settings Launcher (Mobile)", - "Ultimate Concat (Mobile)" + "Settings_Launcher", + "Ultimate Concat (Mobile)", + "Ultimate_Concat" ], { "title_aux": "ComfyUI-Mobile" @@ -7104,29 +19220,87 @@ ], "https://github.com/SozeInc/ComfyUI_Soze": [ [ + "Append To Text File", + "Append To Video", + "Bool To String", + "Boolean Inverter", "CSV Reader", + "CSV Reader X Checkpoint", + "CSV Reader X Lora", "CSV Writer", + "Checkpoint File Loader", + "ComfyDeploy API Boolean Parameters", + "ComfyDeploy API Cache Run IDs", + "ComfyDeploy API Cached Run Info", + "ComfyDeploy API Clear Cached Run IDs", + "ComfyDeploy API Download Files", + "ComfyDeploy API Float Parameters", + "ComfyDeploy API Image Parameters", + "ComfyDeploy API Int Parameters", + "ComfyDeploy API Mixed Parameters", + "ComfyDeploy API Mixed Parameters V2", + "ComfyDeploy API Node", + "ComfyDeploy API Retrieve Cached Run IDs", + "ComfyDeploy API String Parameters", + "Create Image Batch From JSON Array", + "Does File Exist", + "ElevenLabs Voice Retriever", "Empty Images", + "Empty String Replacement", + "File Loader", + "Float To Int", + "Float To String", "Get Most Common Image Colors", "Image Batch Process Switch", "Image List Loader", "Image Overlay", - "Is Input In List", + "Int To Float", + "Int To String", + "Is String Empty", + "JSON Array Iterator", + "JSON File Loader", + "JSON Formatter", + "JSON Get Array Count", + "JSON Load File From Folder", + "JSON Path Extractor", + "JSON Value Parser", + "Load Files From Folder", + "Load Files With Pattern", "Load Image", + "Load Image From Filepath", "Load Image From URL", "Load Images From Folder", + "Load Images From Folder X Lora", + "Load Images From JSONArray", + "Load Random Line From Text File", + "Load Text From File", + "Load Videos From Folder", + "Lora File Loader", + "Multi Find And Replace", + "Multi Image Batch", "Multiline Concatenate Strings", "Output Filename", + "Pad Mask", "Prompt Cache", "Prompt X Lora", "Range(Num Steps) - Float", "Range(Num Steps) - Int", "Range(Step) - Float", "Range(Step) - Int", - "String Replacer", + "Save Image With Absolute Filename", + "Save Text File To Output", + "Shrink Image", + "Soze Image Size With Maximum", + "Special Character Replacer", + "String Functions", + "String Splitter", + "String To Bool", + "String To Float", + "String To Int", "Text Contains (Return Bool)", "Text Contains (Return String)", "Variable Image Builder", + "Veo31 RefImg Video Node", "XY Any", "XY Image" ], @@ -7134,12 +19308,38 @@ "title_aux": "Quality of Life Nodes for ComfyUI" } ], - "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid": [ + "https://github.com/SparknightLLC/ComfyUI-ConditionalInterrupt": [ [ - "SVD_txt2vid_ConditioningwithLatent" + "Conditional Interrupt", + "ConditionalInterrupt" ], { - "title_aux": "Text to video for Stable Video Diffusion in ComfyUI" + "title_aux": "ComfyUI-ConditionalInterrupt" + } + ], + "https://github.com/SparknightLLC/ComfyUI-GPENO": [ + [ + "GPENO Face Restoration" + ], + { + "author": "yangxy (yangtao9009@gmail.com)", + "title_aux": "ComfyUI-GPENO" + } + ], + "https://github.com/SparknightLLC/ComfyUI-ImageAutosize": [ + [ + "ImageAutosize" + ], + { + "title_aux": "ComfyUI-ImageAutosize" + } + ], + "https://github.com/SparknightLLC/ComfyUI-ImageAutotone": [ + [ + "ImageAutotone" + ], + { + "title_aux": "ComfyUI-ImageAutotone" } ], "https://github.com/SparknightLLC/ComfyUI-LatentClamp": [ @@ -7150,6 +19350,26 @@ "title_aux": "ComfyUI-LatentClamp" } ], + "https://github.com/SparknightLLC/ComfyUI-LatentOrientation": [ + [ + "LatentOrient" + ], + { + "title_aux": "ComfyUI-LatentOrientation" + } + ], + "https://github.com/SparknightLLC/ComfyUI-MakeSeamlessTexture": [ + [ + "SeamlessTextureHalfShift", + "SeamlessTextureMirroredCollage", + "SeamlessTexturePreProcessor", + "SeamlessTextureRadialMask", + "SeamlessTextureTiledPreview" + ], + { + "title_aux": "ComfyUI-MakeSeamlessTexture" + } + ], "https://github.com/SparknightLLC/ComfyUI-MaskArbiter": [ [ "GroundingDinoSAM2SegmentList", @@ -7159,6 +19379,31 @@ "title_aux": "ComfyUI-MaskArbiter" } ], + "https://github.com/SparknightLLC/ComfyUI-ModelSamplingSD3Advanced": [ + [ + "ModelSamplingSD3Advanced" + ], + { + "title_aux": "ComfyUI-ModelSamplingSD3Advanced" + } + ], + "https://github.com/SparknightLLC/ComfyUI-SpectralVAEDetailer": [ + [ + "LatentDetailer", + "SpectralVAEDetailer" + ], + { + "title_aux": "ComfyUI-SpectralVAEDetailer" + } + ], + "https://github.com/SparknightLLC/ComfyUI-WeightedRandomChoice": [ + [ + "WeightedRandomChoice" + ], + { + "title_aux": "ComfyUI-WeightedRandomChoice" + } + ], "https://github.com/SpenserCai/ComfyUI-FunAudioLLM": [ [ "CosyVoiceCrossLingualNode", @@ -7174,19 +19419,63 @@ "title_aux": "ComfyUI-FunAudioLLM" } ], + "https://github.com/Spin256/spin256-comfyui": [ + [ + "Spin256IntSelector", + "Spin256SizeSelector", + "Spin256StringSelector" + ], + { + "title_aux": "spin256-comfyui" + } + ], + "https://github.com/SquirrelRat/MultiString-Prompts": [ + [ + "MultiStringPrompts", + "MultiStringPromptsEncode" + ], + { + "title_aux": "MultiString Prompts" + } + ], + "https://github.com/SquirrelRat/WanVideoLooper": [ + [ + "WanVideoLooper", + "WanVideoLooperPrompts", + "WanVideoLoraSequencer" + ], + { + "title_aux": "WanVideoLooper" + } + ], + "https://github.com/SshunWang/ComfyUI_CosyVoice": [ + [ + "CosyVoice2Node", + "CosyVoiceDubbingNode", + "CosyVoiceNode", + "TextNode" + ], + { + "title_aux": "ComfyUI for CosyVoice" + } + ], "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" ], { @@ -7203,42 +19492,336 @@ "title_aux": "stability-ComfyUI-nodes" } ], - "https://github.com/StableDiffusionVN/SDVN_Comfy_node": [ + "https://github.com/StableLlama/ComfyUI-basic_data_handling": [ [ - "SDVN API chatbot", - "SDVN Any Input Type", - "SDVN CLIP Download", - "SDVN CLIP Text Encode", - "SDVN CLIPVision Download", - "SDVN Checkpoint Download", - "SDVN ControlNet Download", - "SDVN Controlnet Apply", - "SDVN DALL-E Generate Image", - "SDVN Easy IPAdapter weight", - "SDVN Image Size", - "SDVN Inpaint", - "SDVN KSampler", - "SDVN Load Checkpoint", - "SDVN Load Image", - "SDVN Load Image Url", - "SDVN Load Lora", - "SDVN Lora Download", - "SDVN Merge Flux", - "SDVN Merge SD1", - "SDVN Merge SDXL", - "SDVN Run Python Code", - "SDVN Seed", - "SDVN StyleModel Download", - "SDVN Switch", - "SDVN Translate", - "SDVN UNET Download", - "SDVN UPscale Latent", - "SDVN Upscale Image", - "SDVN UpscaleModel Download", - "SDVN VAE Download" + "Basic data handling: Boolean And", + "Basic data handling: Boolean Nand", + "Basic data handling: Boolean Nor", + "Basic data handling: Boolean Not", + "Basic data handling: Boolean Or", + "Basic data handling: Boolean Xor", + "Basic data handling: CastToBoolean", + "Basic data handling: CastToDict", + "Basic data handling: CastToFloat", + "Basic data handling: CastToInt", + "Basic data handling: CastToList", + "Basic data handling: CastToSet", + "Basic data handling: CastToString", + "Basic data handling: CompareLength", + "Basic data handling: ContinueFlow", + "Basic data handling: DataListAll", + "Basic data handling: DataListAny", + "Basic data handling: DataListAppend", + "Basic data handling: DataListContains", + "Basic data handling: DataListCount", + "Basic data handling: DataListCreate", + "Basic data handling: DataListCreateFromBoolean", + "Basic data handling: DataListCreateFromFloat", + "Basic data handling: DataListCreateFromInt", + "Basic data handling: DataListCreateFromString", + "Basic data handling: DataListEnumerate", + "Basic data handling: DataListExtend", + "Basic data handling: DataListFilter", + "Basic data handling: DataListFilterSelect", + "Basic data handling: DataListFirst", + "Basic data handling: DataListGetItem", + "Basic data handling: DataListIndex", + "Basic data handling: DataListInsert", + "Basic data handling: DataListLast", + "Basic data handling: DataListLength", + "Basic data handling: DataListListCreate", + "Basic data handling: DataListMax", + "Basic data handling: DataListMin", + "Basic data handling: DataListPop", + "Basic data handling: DataListPopRandom", + "Basic data handling: DataListRange", + "Basic data handling: DataListRemove", + "Basic data handling: DataListReverse", + "Basic data handling: DataListSetItem", + "Basic data handling: DataListShuffle", + "Basic data handling: DataListSlice", + "Basic data handling: DataListSort", + "Basic data handling: DataListSum", + "Basic data handling: DataListToList", + "Basic data handling: DataListToSet", + "Basic data handling: DataListZip", + "Basic data handling: DictCompare", + "Basic data handling: DictContainsKey", + "Basic data handling: DictCreate", + "Basic data handling: DictCreateFromBoolean", + "Basic data handling: DictCreateFromFloat", + "Basic data handling: DictCreateFromInt", + "Basic data handling: DictCreateFromItemsDataList", + "Basic data handling: DictCreateFromItemsList", + "Basic data handling: DictCreateFromLists", + "Basic data handling: DictCreateFromString", + "Basic data handling: DictExcludeKeys", + "Basic data handling: DictFilterByKeys", + "Basic data handling: DictFromKeys", + "Basic data handling: DictGet", + "Basic data handling: DictGetKeysValues", + "Basic data handling: DictGetMultiple", + "Basic data handling: DictInvert", + "Basic data handling: DictItems", + "Basic data handling: DictKeys", + "Basic data handling: DictLength", + "Basic data handling: DictMerge", + "Basic data handling: DictPop", + "Basic data handling: DictPopItem", + "Basic data handling: DictPopRandom", + "Basic data handling: DictRemove", + "Basic data handling: DictSet", + "Basic data handling: DictSetDefault", + "Basic data handling: DictUpdate", + "Basic data handling: DictValues", + "Basic data handling: Equal", + "Basic data handling: ExecutionOrder", + "Basic data handling: FloatAdd", + "Basic data handling: FloatAsIntegerRatio", + "Basic data handling: FloatCreate", + "Basic data handling: FloatDivide", + "Basic data handling: FloatDivideSafe", + "Basic data handling: FloatFromHex", + "Basic data handling: FloatHex", + "Basic data handling: FloatIsInteger", + "Basic data handling: FloatMultiply", + "Basic data handling: FloatPower", + "Basic data handling: FloatRound", + "Basic data handling: FloatSubtract", + "Basic data handling: FlowSelect", + "Basic data handling: ForceCalculation", + "Basic data handling: Generic And", + "Basic data handling: Generic Or", + "Basic data handling: GreaterThan", + "Basic data handling: GreaterThanOrEqual", + "Basic data handling: IfElifElse", + "Basic data handling: IfElse", + "Basic data handling: IntAdd", + "Basic data handling: IntBitCount", + "Basic data handling: IntBitLength", + "Basic data handling: IntCreate", + "Basic data handling: IntCreateWithBase", + "Basic data handling: IntDivide", + "Basic data handling: IntDivideSafe", + "Basic data handling: IntFromBytes", + "Basic data handling: IntModulus", + "Basic data handling: IntMultiply", + "Basic data handling: IntPower", + "Basic data handling: IntSubtract", + "Basic data handling: IntToBytes", + "Basic data handling: IsConnected", + "Basic data handling: IsNull", + "Basic data handling: LessThan", + "Basic data handling: LessThanOrEqual", + "Basic data handling: ListAll", + "Basic data handling: ListAny", + "Basic data handling: ListAppend", + "Basic data handling: ListContains", + "Basic data handling: ListCount", + "Basic data handling: ListCreate", + "Basic data handling: ListCreateFromBoolean", + "Basic data handling: ListCreateFromFloat", + "Basic data handling: ListCreateFromInt", + "Basic data handling: ListCreateFromString", + "Basic data handling: ListEnumerate", + "Basic data handling: ListExtend", + "Basic data handling: ListFirst", + "Basic data handling: ListGetItem", + "Basic data handling: ListIndex", + "Basic data handling: ListInsert", + "Basic data handling: ListLast", + "Basic data handling: ListLength", + "Basic data handling: ListMax", + "Basic data handling: ListMin", + "Basic data handling: ListPop", + "Basic data handling: ListPopRandom", + "Basic data handling: ListRange", + "Basic data handling: ListRemove", + "Basic data handling: ListReverse", + "Basic data handling: ListSetItem", + "Basic data handling: ListShuffle", + "Basic data handling: ListSlice", + "Basic data handling: ListSort", + "Basic data handling: ListSum", + "Basic data handling: ListToDataList", + "Basic data handling: ListToSet", + "Basic data handling: MathAbs", + "Basic data handling: MathAcos", + "Basic data handling: MathAsin", + "Basic data handling: MathAtan", + "Basic data handling: MathAtan2", + "Basic data handling: MathCeil", + "Basic data handling: MathCos", + "Basic data handling: MathDegrees", + "Basic data handling: MathE", + "Basic data handling: MathExp", + "Basic data handling: MathFloor", + "Basic data handling: MathFormula", + "Basic data handling: MathLog", + "Basic data handling: MathLog10", + "Basic data handling: MathMax", + "Basic data handling: MathMin", + "Basic data handling: MathPi", + "Basic data handling: MathRadians", + "Basic data handling: MathSin", + "Basic data handling: MathSqrt", + "Basic data handling: MathTan", + "Basic data handling: NotEqual", + "Basic data handling: NumberInRange", + "Basic data handling: PathAbspath", + "Basic data handling: PathBasename", + "Basic data handling: PathCommonPrefix", + "Basic data handling: PathDirname", + "Basic data handling: PathExists", + "Basic data handling: PathExpandVars", + "Basic data handling: PathGetCwd", + "Basic data handling: PathGetExtension", + "Basic data handling: PathGetSize", + "Basic data handling: PathGlob", + "Basic data handling: PathInputDir", + "Basic data handling: PathIsAbsolute", + "Basic data handling: PathIsDir", + "Basic data handling: PathIsFile", + "Basic data handling: PathJoin", + "Basic data handling: PathListDir", + "Basic data handling: PathLoadImageRGB", + "Basic data handling: PathLoadImageRGBA", + "Basic data handling: PathLoadMaskFromAlpha", + "Basic data handling: PathLoadMaskFromGreyscale", + "Basic data handling: PathLoadStringFile", + "Basic data handling: PathNormalize", + "Basic data handling: PathOutputDir", + "Basic data handling: PathRelative", + "Basic data handling: PathSaveImageRGB", + "Basic data handling: PathSaveImageRGBA", + "Basic data handling: PathSaveStringFile", + "Basic data handling: PathSetExtension", + "Basic data handling: PathSplit", + "Basic data handling: PathSplitExt", + "Basic data handling: RegexFindallDataList", + "Basic data handling: RegexFindallList", + "Basic data handling: RegexGroupDict", + "Basic data handling: RegexSearchGroupsDataList", + "Basic data handling: RegexSearchGroupsList", + "Basic data handling: RegexSplitDataList", + "Basic data handling: RegexSplitList", + "Basic data handling: RegexSub", + "Basic data handling: RegexTest", + "Basic data handling: SetAdd", + "Basic data handling: SetAll", + "Basic data handling: SetAny", + "Basic data handling: SetContains", + "Basic data handling: SetCreate", + "Basic data handling: SetCreateFromBoolean", + "Basic data handling: SetCreateFromFloat", + "Basic data handling: SetCreateFromInt", + "Basic data handling: SetCreateFromString", + "Basic data handling: SetDifference", + "Basic data handling: SetDiscard", + "Basic data handling: SetEnumerate", + "Basic data handling: SetIntersection", + "Basic data handling: SetIsDisjoint", + "Basic data handling: SetIsSubset", + "Basic data handling: SetIsSuperset", + "Basic data handling: SetLength", + "Basic data handling: SetPop", + "Basic data handling: SetPopRandom", + "Basic data handling: SetRemove", + "Basic data handling: SetSum", + "Basic data handling: SetSymmetricDifference", + "Basic data handling: SetToDataList", + "Basic data handling: SetToList", + "Basic data handling: SetUnion", + "Basic data handling: StringCapitalize", + "Basic data handling: StringCasefold", + "Basic data handling: StringCenter", + "Basic data handling: StringComparison", + "Basic data handling: StringConcat", + "Basic data handling: StringCount", + "Basic data handling: StringDataListJoin", + "Basic data handling: StringDecode", + "Basic data handling: StringEncode", + "Basic data handling: StringEndswith", + "Basic data handling: StringEscape", + "Basic data handling: StringExpandtabs", + "Basic data handling: StringFind", + "Basic data handling: StringFormatMap", + "Basic data handling: StringIn", + "Basic data handling: StringIsAlnum", + "Basic data handling: StringIsAlpha", + "Basic data handling: StringIsAscii", + "Basic data handling: StringIsDecimal", + "Basic data handling: StringIsDigit", + "Basic data handling: StringIsIdentifier", + "Basic data handling: StringIsLower", + "Basic data handling: StringIsNumeric", + "Basic data handling: StringIsPrintable", + "Basic data handling: StringIsSpace", + "Basic data handling: StringIsTitle", + "Basic data handling: StringIsUpper", + "Basic data handling: StringLength", + "Basic data handling: StringListJoin", + "Basic data handling: StringLjust", + "Basic data handling: StringLower", + "Basic data handling: StringLstrip", + "Basic data handling: StringRemoveprefix", + "Basic data handling: StringRemovesuffix", + "Basic data handling: StringReplace", + "Basic data handling: StringRfind", + "Basic data handling: StringRjust", + "Basic data handling: StringRsplitDataList", + "Basic data handling: StringRsplitList", + "Basic data handling: StringRstrip", + "Basic data handling: StringSplitDataList", + "Basic data handling: StringSplitList", + "Basic data handling: StringSplitlinesDataList", + "Basic data handling: StringSplitlinesList", + "Basic data handling: StringStartswith", + "Basic data handling: StringStrip", + "Basic data handling: StringSwapcase", + "Basic data handling: StringTitle", + "Basic data handling: StringUnescape", + "Basic data handling: StringUpper", + "Basic data handling: StringZfill", + "Basic data handling: SwitchCase", + "Basic data handling: TimeAddDelta", + "Basic data handling: TimeDelta", + "Basic data handling: TimeDifference", + "Basic data handling: TimeExtract", + "Basic data handling: TimeFormat", + "Basic data handling: TimeNow", + "Basic data handling: TimeNowUTC", + "Basic data handling: TimeParse", + "Basic data handling: TimeSubtractDelta", + "Basic data handling: TimeToUnix", + "Basic data handling: UnixToTime", + "TensorBinaryOp", + "TensorCreate", + "TensorInfo", + "TensorJoin", + "TensorPermute", + "TensorReshape", + "TensorSlice", + "TensorUnaryOp" ], { - "title_aux": "SDVN Comfy node" + "title_aux": "Basic data handling" + } + ], + "https://github.com/StarAsh042/ComfyUI_RollingArtist": [ + [ + "RollingArtist" + ], + { + "title_aux": "ComfyUI_RollingArtist" + } + ], + "https://github.com/StarIICraft/ComfyUI-Simple-Selector": [ + [ + "SimpleSelectorInt" + ], + { + "title_aux": "ComfyUI-Simple-Selector" } ], "https://github.com/StarMagicAI/comfyui_tagger": [ @@ -7247,6 +19830,7 @@ "DownloadAndLoadFlorence2Model_jsonL", "Florence2ModelLoader_jsonL", "Florence2Run_jsonL", + "batch_save_file_jsonL", "batch_text_save_jsonL" ], { @@ -7255,21 +19839,118 @@ ], "https://github.com/Starnodes2024/ComfyUI_StarNodes": [ [ + "AdaptiveDetailEnhancement", "DetailStarDaemon", + "FluxFillSampler", "FluxStartSettings", "Fluxstarsampler", "OllamaModelChooser", + "QwenImageStartSettings", "SD35StartSettings", "SDXLStartSettings", "SDstarsampler", + "Star Face Loader", + "Star3LoRAs", + "StarAdvanvesRatioLatent", + "StarApplyInfiniteYou", + "StarApplyOverlayDepth", + "StarBlackWhite", + "StarConditioningLoader", + "StarConditioningSaver", + "StarDeleteSamplerSettings", + "StarDenoiseSlider", + "StarDistilledOptimizerZIT", + "StarDivisibleDimension", + "StarDuplicateModelFinder", + "StarDynamicLora", + "StarDynamicLoraModelOnly", + "StarEasyTextStorage", + "StarFP8Converter", + "StarFP8ModelPatchLoader", "StarFiveWildcards", + "StarFlowMatchOption", + "StarFlux2Condition", + "StarFrameFromVideo", + "StarGeminiRefiner", + "StarGridCaptionsBatcher", + "StarGridComposer", + "StarGridImageBatcher", + "StarHDREffects", + "StarIconExporter", + "StarImageEditQwenKontext", + "StarImageLoader1by1", + "StarImageLoop", "StarImageSwitch", - "Starupscale" + "StarImageSwitch2", + "StarInfiniteYouAdvancedPatchMaker", + "StarInfiniteYouApply", + "StarInfiniteYouFaceCombine", + "StarInfiniteYouFaceSwap", + "StarInfiniteYouFaceSwapMod", + "StarInfiniteYouPatch", + "StarInfiniteYouPatchCombine", + "StarInfiniteYouSaver", + "StarLatentResize", + "StarLatentSwitch", + "StarLatentSwitch2", + "StarLoadImagePlus", + "StarLoadSamplerSettings", + "StarLoraWeightNormalizer", + "StarMetaInjector", + "StarModelPacker", + "StarNanoBanana", + "StarNewsScraper", + "StarOllamaSysprompterJC", + "StarPSDSaver", + "StarPSDSaver2", + "StarPSDSaverAdvLayers", + "StarPaletteExtractor", + "StarPromptPicker", + "StarQwenEditEncoder", + "StarQwenEditPlusConditioner", + "StarQwenImageEditInputs", + "StarQwenImageRatio", + "StarQwenRebalancePrompter", + "StarQwenRegionalPrompter", + "StarQwenWanRatio", + "StarRadialBlur", + "StarRandomImageLoader", + "StarSDUpscaleRefiner", + "StarSDUpscaleRefinerAdvanced", + "StarSampler", + "StarSaveFolderString", + "StarSavePanoramaJPEG", + "StarSaveSamplerSettings", + "StarSimpleFilters", + "StarSpecialFilters", + "StarStopAndGo", + "StarTextFilter", + "StarTextInput", + "StarTextStorage", + "StarVideoLoop", + "StarWatermark", + "StarWildcardsAdvanced", + "StarWildsAdv", + "Star_Image2Latent", + "Star_Show_Last_Frame", + "Starnodes_Aspect_Ratio", + "Starnodes_Aspect_Ratio_Advanced", + "Starnodes_Aspect_Video_Ratio", + "Starupscale", + "\u2b50 Star Save Image+" ], { "title_aux": "ComfyUI_StarNodes" } ], + "https://github.com/Starnodes2024/comfyui_Starnodes_DyPE": [ + [ + "StarDyPEModelPatcher" + ], + { + "title_aux": "ComfyUI Star DyPE" + } + ], "https://github.com/StartHua/ComfyUI_OOTDiffusion_CXH": [ [ "Ood_CXH" @@ -7325,24 +20006,14 @@ "title_aux": "Comfyui_CXH_Phi_3.5" } ], - "https://github.com/StartHua/Comfyui_CXH_joy_caption": [ + "https://github.com/StartHua/Comfyui_Gemini2": [ [ - "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" + "CXH_Gemini2_TX", + "CXH_Gemini2_Vision", + "CXH_Local_Prompt" ], { - "title_aux": "Comfyui_CXH_joy_caption" + "title_aux": "Comfyui_Gemini2" } ], "https://github.com/StartHua/Comfyui_joytag": [ @@ -7365,25 +20036,63 @@ "https://github.com/Steudio/ComfyUI_Steudio": [ [ "Combine Tiles", - "Divide Image", + "Display UI", "Divide Image and Select Tile", "Divide and Conquer Algorithm", - "Divide and Conquer Algorithm (No Upscale)", - "Make Size" + "Load Images into List", + "Ratio Calculator", + "Ratio to Size", + "Seed Shifter", + "Sequence Generator", + "Simple Config" ], { "title_aux": "ComfyUI Steudio" } ], + "https://github.com/Style-Mosaic/dino-x-comfyui-node": [ + [ + "DinoxDetector" + ], + { + "title_aux": "ComfyUI DINO-X Detector Node" + } + ], + "https://github.com/SuLU-K/comfyui-easy-sam3-tools": [ + [ + "ConvertPoseDataToPosePoint", + "PosePointSelector", + "Sam3DrawBBox", + "Sam3InteractiveBBoxEditor", + "Sam3MaskRangeSelector", + "SimpleMultiple" + ], + { + "title_aux": "comfyui-easy-sam3-tools" + } + ], "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": [ [ + "Deflicker", "Deflicker - Experimental (SuperBeasts.AI)", "HDR Effects (SuperBeasts.AI)", + "HDREffects", "Image Batch Manager (SuperBeasts.AI)", + "ImageBatchManagement", "Make Resized Mask Batch (SuperBeasts.AI)", + "MakeResizedMaskBatch", "Mask Batch Manager (SuperBeasts.AI)", + "MaskBatchManagement", "Pixel Deflicker - Experimental (SuperBeasts.AI)", - "String List Manager (SuperBeasts.AI)" + "PixelDeflicker", + "SB Load Model (SuperBeasts.AI)", + "SBLoadModel", + "String List Manager (SuperBeasts.AI)", + "StringListManager", + "Super Pop Color Adjustment (SuperBeasts.AI)", + "Super Pop Residual Blend (SuperBeasts.AI)", + "SuperPopColorAdjustment", + "SuperPopResidualBlend" ], { "title_aux": "ComfyUI-SuperBeasts" @@ -7502,6 +20211,7 @@ "CR Load Scheduled LoRAs", "CR Load Scheduled Models", "CR Load Text List", + "CR Load Value List", "CR Mask Text", "CR Math Operation", "CR Model Input Switch", @@ -7568,7 +20278,6 @@ "CR Simple Text Panel", "CR Simple Text Scheduler", "CR Simple Text Watermark", - "CR Simple Titles", "CR Simple Value Scheduler", "CR Split String", "CR Starburst Colors", @@ -7606,7 +20315,6 @@ "CR XY List", "CR XY Product", "CR XY Save Grid Image", - "CR XYZ Index", "CR_Aspect Ratio For Print" ], { @@ -7617,16 +20325,48 @@ "title_aux": "Comfyroll Studio" } ], + "https://github.com/Suzu008/ComfyUI-CryptIO": [ + [ + "PreviewImageCryptIO", + "PreviewVideoCryptIO", + "SaveImageCryptIO", + "SaveVideoCryptIO", + "TextDecrypt", + "TextEncrypt", + "UploadImageCryptIO", + "UploadVideoCryptIO" + ], + { + "title_aux": "ComfyUI-CryptIO" + } + ], + "https://github.com/SuzumiyaAkizuki/ComfyUI-LLM_Prompt_XML_Formatter": [ + [ + "LLM_Prompt_Formatter", + "LLM_Style_Saver", + "LLM_Xml_Style_Injector" + ], + { + "title_aux": "ComfyUI-LLM_Prompt_XML_Formatter" + } + ], "https://github.com/Sxela/ComfyWarp": [ [ + "ApplyMask", + "ApplyMaskConditional", + "ApplyMaskLatent", + "ApplyMaskLatentConditional", + "ExtractFlowAndMixConsistencyMaps", "ExtractOpticalFlow", "FixedQueue", + "KeyframedFlowApplication", "LoadFrame", "LoadFrameFromDataset", "LoadFrameFromFolder", "LoadFramePairFromDataset", "LoadFrameSequence", "MakeFrameDataset", + "MakePaths", "MixConsistencyMaps", "OffsetNumber", "RenderVideo", @@ -7641,14 +20381,39 @@ "title_aux": "ComfyWarp" } ], - "https://github.com/TGu-97/ComfyUI-TGu-utils": [ + "https://github.com/SykkoAtHome/ComfyUI_FaceProcessor": [ [ - "MPNReroute", - "MPNSwitch", - "PNSwitch" + "FaceFitAndRestore", + "FaceTracker", + "FaceWrapper", + "HighPassFilter", + "ImageFeeder" ], { - "title_aux": "TGu Utilities" + "title_aux": "Face Processor for ComfyUI" + } + ], + "https://github.com/T-Ph525/ComfyUI-Underage-Filter": [ + [ + "AgeCheckerNode", + "MultiTypeGateNode", + "UnderageFilterNode" + ], + { + "title_aux": "Underage Filter" + } + ], + "https://github.com/TFL-TFL/ComfyUI_Text_Translation": [ + [ + "Text", + "Text_Concatenate", + "Text_Switch", + "Text_Translation", + "Text_Translation_V2", + "Text_Translation_V2_Full" + ], + { + "title_aux": "ComfyUI_Text_Translation" } ], "https://github.com/THtianhao/ComfyUI-FaceChain": [ @@ -7696,6 +20461,48 @@ "title_aux": "ComfyUI-Portrait-Maker" } ], + "https://github.com/TJ16th/ComfyUI-TJ-PolkaDot": [ + [ + "PolkaDot_AdvancedShapePlacement", + "PolkaDot_ColoredMaskCompositor", + "PolkaDot_ShapeMaskGenerator" + ], + { + "title_aux": "TJ_PolkaDot" + } + ], + "https://github.com/TJ16th/TJ_ComfyUI_ColorUtility": [ + [ + "ColorPalette", + "ImagePaletteExtractor", + "RGBColorPicker" + ], + { + "title_aux": "TJ_ComfyUI_ColorUtility" + } + ], + "https://github.com/TJ16th/TJ_ComfyUI_Lineart2Vector": [ + [ + "CenterlineToSVG", + "LineRegionDetector", + "MaskLineCleanup", + "SVGAutoReorder", + "SVGBatchSaver", + "SVGColorPicker", + "SVGFileSaver", + "SVGGroupLayout", + "SVGPathCleanup", + "SVGReorder", + "SVGStyleEditor", + "SVGStyleEditorSimple", + "SVGToImage", + "SVGVisibility", + "VectorPythonInfo" + ], + { + "title_aux": "TJ_ComfyUI_Lineart2Vector" + } + ], "https://github.com/TJ16th/comfyUI_TJ_NormalLighting": [ [ "EulerLightingNode" @@ -7704,6 +20511,36 @@ "title_aux": "comfyUI_TJ_NormalLighting" } ], + "https://github.com/TK3R/ComfyUI_TK3R_Ext": [ + [ + "TK3R CFG Sigma Interpolate", + "TK3R CLIP Text Encode With Token Count", + "TK3R ControlNet Apply Advanced", + "TK3R Image Compare", + "TK3R Safetensors Precision Reader", + "TK3R Scheduled CFG Guider", + "TK3RLoRARankReader", + "TK3RQwenImageDiffsynthControlnetAdvanced", + "TK3RSafetensorsPrecisionReader", + "TK3RSigmasInterpolate", + "TK3RTextEncodeQwenImageEditPlusExt", + "TK3RZImageFunControlnet" + ], + { + "title_aux": "ComfyUI TK3R Extensions" + } + ], + "https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON": [ + [ + "ComfyUI_Prompt_JSON" + ], + { + "author": "TKRLAB", + "description": "ComfyUI JSON-based prompt management tool.", + "title": "ComfyUI_Prompt_List_JSON", + "title_aux": "Prompt List JSON" + } + ], "https://github.com/TMElyralab/Comfyui-MusePose": [ [ "filenamestring", @@ -7724,10 +20561,12 @@ ], "https://github.com/TRI3D-LC/tri3d-comfyui-nodes": [ [ + "TRI3D_CutByMaskAspectRatio", "get_histogram_limits", "main_light_layer", "main_scaled_paste", "simple_rescale_histogram", + "tri3d--image-mask-2-box", "tri3d-HistogramEqualization", "tri3d-LAB_2_RGB", "tri3d-RGB_2_LAB", @@ -7737,6 +20576,7 @@ "tri3d-bgremove-mega", "tri3d-clean_mask", "tri3d-clear-memory", + "tri3d-clear_memory", "tri3d-clipdrop-bgremove-api", "tri3d-clipdrop-bgreplace-api", "tri3d-composite-image-splitter", @@ -7781,9 +20621,22 @@ "tri3d-simple_rescale_histogram", "tri3d-skin-feathered-padded-mask", "tri3d-swap-pixels", + "tri3d_CutByMaskAspectRatio", "tri3d_H_Stack_Images", + "tri3d_Image_extend", + "tri3d_MaskAreaPercentage", + "tri3d_NSFWFilter", + "tri3d_NarrowfyImage", + "tri3d_Remove_Small_Mask_Islands", + "tri3d_SaveFlattenedPoseKpsAsJsonFile", "tri3d_SaveImage_absolute", "tri3d_SaveText_absolute", + "tri3d_Skip_HeadMask", + "tri3d_Skip_HeadMask_AddNeck", + "tri3d_Skip_LipMask", + "tri3d_SmartBox", + "tri3d_Smart_Depth", + "tri3d_StringContains", "tri3d_Wait_And_Read_File", "tri3d_extract_facer_mask", "tri3d_fill_mask", @@ -7794,6 +20647,17 @@ "title_aux": "tri3d-comfyui-nodes" } ], + "https://github.com/TTPlanetPig/Comfyui_DreamID-V_wrapper": [ + [ + "DreamIDV_ConditioningPrep_TTP", + "DreamIDV_ModelLoader_Wrapper_TTP", + "DreamIDV_PoseExtractor_TTP", + "DreamIDV_Sampler_Wrapper_TTP" + ], + { + "title_aux": "Comfyui_DreamID-V_wrapper" + } + ], "https://github.com/TTPlanetPig/Comfyui_Hunyuan3D": [ [ "GifImageViewerNode", @@ -7807,13 +20671,26 @@ "https://github.com/TTPlanetPig/Comfyui_JC2": [ [ "ExtraOptionsNode", + "ExtraOptionsNode_Beta", "JoyCaption2", - "JoyCaption2_simple" + "JoyCaption2_simple", + "JoyCaptionBetaOne_Full", + "JoyCaptionBetaOne_Simple" ], { "title_aux": "Comfyui_JC2" } ], + "https://github.com/TTPlanetPig/Comfyui_Object_Detect_QWen_VL": [ + [ + "BBoxesToSAM2", + "DownloadAndLoadQwenModel", + "QwenVLDetection" + ], + { + "title_aux": "ComfyUI Qwen2.5-VL Object Detection Node" + } + ], "https://github.com/TTPlanetPig/Comfyui_Object_Migration": [ [ "TTP_Expand_And_Mask", @@ -7836,6 +20713,9 @@ ], "https://github.com/TTPlanetPig/Comfyui_TTP_Toolset": [ [ + "LTXVContext_TTP", + "LTXVFirstLastFrameControl_TTP", + "LTXVMiddleFrame_TTP", "TTP_CoordinateSplitter", "TTP_Expand_And_Mask", "TTP_Image_Assy", @@ -7845,12 +20725,21 @@ "TTP_condsetarea_merge_test", "TTP_condtobatch", "TTP_text_mix", - "TTPlanet_Tile_Preprocessor_Simple" + "TTPlanet_Tile_Preprocessor_Simple", + "TeaCacheHunyuanVideoSampler" ], { "title_aux": "Comfyui_TTP_Toolset" } ], + "https://github.com/TTPlanetPig/TTP_Comfyui_FramePack_SE": [ + [ + "TTPlanet_FramePack" + ], + { + "title_aux": "TTP_Comfyui_FramePack_SE" + } + ], "https://github.com/TW-CUI/TW-CUI-Util": [ [ "TWCUI_Util_CommonSDXLResolutions", @@ -7893,8 +20782,30 @@ "title_aux": "Simswap Node for ComfyUI" } ], + "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes": [ + [ + "FensTokenCounter", + "OptiEmptyLatent", + "OptiEmptyLatentAdvanced" + ], + { + "title_aux": "Fens-Simple-Nodes" + } + ], + "https://github.com/Taremin/comfyui-prompt-config": [ + [ + "Prompt", + "PromptEdit", + "PromptGenerationConfig" + ], + { + "title_aux": "comfyui-prompt-config" + } + ], "https://github.com/Taremin/comfyui-prompt-extranetworks": [ [ + "PromptControlNetApply", + "PromptControlNetPrepare", "PromptExtraNetworks" ], { @@ -7906,6 +20817,7 @@ "StringToolsBalancedChoice", "StringToolsConcat", "StringToolsRandomChoice", + "StringToolsSeed", "StringToolsString", "StringToolsText" ], @@ -7922,6 +20834,14 @@ "title_aux": "WebUI Monaco Prompt" } ], + "https://github.com/TdogCreations/ComfyUI-NAID-Grid-Position": [ + [ + "NAID Grid Position" + ], + { + "title_aux": "ComfyUI-NAID-Grid-Position" + } + ], "https://github.com/TeaCrab/ComfyUI-TeaNodes": [ [ "TC_ColorFill", @@ -7937,22 +20857,12 @@ "title_aux": "ComfyUI-TeaNodes" } ], - "https://github.com/TechnoByteJS/ComfyUI-TechNodes": [ + "https://github.com/TechnicalTod/ComfyUI-RotoMask": [ [ - "ClipQuant", - "MBW Layers String", - "ModelQuant", - "SD1 MBW Layers", - "SD1 MBW Layers Binary", - "SDNext Merge", - "SDXL MBW Layers", - "SDXL MBW Layers Binary", - "VAE Merge", - "VAEQuant", - "VAERepeat" + "RotoMaskNode" ], { - "title_aux": "TechNodes" + "title_aux": "ComfyUI-RotoMask" } ], "https://github.com/TemryL/ComfyS3": [ @@ -7976,6 +20886,14 @@ "title_aux": "ComfyUI-IDM-VTON [WIP]" } ], + "https://github.com/Temult/TWanSigmaGraph": [ + [ + "TWanSigmaGraph" + ], + { + "title_aux": "TWanSigmaGraph" + } + ], "https://github.com/TencentQQGYLab/ComfyUI-ELLA": [ [ "CombineClipEllaEmbeds", @@ -7994,6 +20912,53 @@ "title_aux": "ComfyUI-ELLA" } ], + "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART": [ + [ + "TA_AIToolsNode", + "TA_ExecuteNode", + "TA_UploadImageNode" + ], + { + "title_aux": "ComfyUI_TENSOR_ART" + } + ], + "https://github.com/TensorKaze/ComfyUI-TkNodes": [ + [ + "FluxAdvancedSampler", + "FluxLatentSampler", + "LoadImageAndScaleToTotalPixels", + "LoadModelAndUpscaleImage", + "MultiLatentSelector", + "MultiModelLoader", + "RepeatLatentBatchOptional", + "VAEEncodeOptional" + ], + { + "title_aux": "ComfyUI-TkNodes" + } + ], + "https://github.com/Terpentinas/EasyLoRAMerger": [ + [ + "EasyLoRABaseMerger", + "EasyLoRATripleMerger", + "EasyLoRAmerger", + "EasyLoRAonlyMerger", + "MusubiLoraConverter", + "ZImageNormalizer" + ], + { + "title_aux": "EasyLoRAMerger" + } + ], + "https://github.com/TheArtOfficial/ComfyUI-MaskMorph": [ + [ + "DirectionalMaskExpand", + "MaskPinchWiden" + ], + { + "title_aux": "ComfyUI-MaskMorph" + } + ], "https://github.com/TheBarret/ZSuite": [ [ "ZSuite: Prompter", @@ -8004,16 +20969,25 @@ "title_aux": "ZSuite" } ], - "https://github.com/TheBill2001/comfyui-upscale-by-model": [ + "https://github.com/TheLustriVA/ComfyUI-Image-Size-Tools": [ [ - "UpscaleImageByUsingModel" + "FluxResolutionNode", + "ImageSizeDetectorNode", + "SD15ResolutionNode", + "SDXLResolutionNode", + "WAN21AdvancedResolutionNode", + "WAN21ResolutionNode" ], { - "author": "Tr\u1ea7n Nam Tu\u1ea5n", - "description": "This custom node allow upscaling an image by a factor using a model.", - "nickname": "Upscale Image By (Using Model)", - "title": "Upscale Image By (Using Model)", - "title_aux": "comfyui-upscale-by-model" + "title_aux": "ComfyUI Image Size Tool" + } + ], + "https://github.com/TheMadDoctor007/ComfyUI-QwenCameraSelector": [ + [ + "QwenCameraSelector" + ], + { + "title_aux": "Qwen Camera Selector" } ], "https://github.com/TheMistoAI/ComfyUI-Anyline": [ @@ -8024,6 +20998,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", @@ -8033,11 +21023,125 @@ "title_aux": "ComfyUI-Unprompted" } ], + "https://github.com/This-is-Uncut/Custom-Node-ComfyUI-NBP-Uncut": [ + [ + "NanoBananaProNode" + ], + { + "title_aux": "Custom-Node-ComfyUI-NBP-Uncut" + } + ], + "https://github.com/ThunderBolt4931/comfyui_pixel_forge": [ + [ + "ConcatenateBatchHorizontally", + "CropDisjointRegions", + "DeconcatenateBatchHorizontally", + "ImageSimilaritySequentialCLIP", + "ImageSimilaritySequentialMatch", + "LogoDetectorOWL", + "PasteByBoundingBoxBatch", + "RepeatConditioning", + "SelectImageFromBatch" + ], + { + "title_aux": "ComfyUI-Pixel-Forge" + } + ], + "https://github.com/TiamaTiramisu/risutools": [ + [ + "CheckFileNamePrefixExists", + "LoadImageFromText", + "LoadLastFileNamePrefix", + "UUIDGenerator" + ], + { + "title_aux": "RisuTools" + } + ], + "https://github.com/TianDongL/Blind_watermark_Comfyui": [ + [ + "WatermarkEmbedImage", + "WatermarkEmbedText", + "WatermarkExtractImage", + "WatermarkExtractText", + "WatermarkQRCodeDecoder", + "WatermarkQRCodeGenerator" + ], + { + "title_aux": "Blind_watermark_Comfyui" + } + ], + "https://github.com/Tinuva88/Comfy-UmiAI": [ + [ + "CameraAngleSelector", + "UmiAIWildcardNode", + "UmiAIWildcardNodeLite", + "UmiCharacterCreator", + "UmiDatasetGenerator", + "UmiEmotionGenerator", + "UmiEmotionStudio", + "UmiModelManager", + "UmiModelSelector", + "UmiPoseGenerator", + "UmiPositionControl", + "UmiSaveImage", + "UmiSpriteGenerator", + "UmiTextBypass", + "UmiVisualCameraControl" + ], + { + "title_aux": "Comfy-UmiAI" + } + ], + "https://github.com/TinyBeeman/ComfyUI-TinyBee": [ + [ + "Combine Lists", + "Combine Properties", + "Decorate List", + "Encode Any Property", + "Face Body Aspect Bounds", + "Filter Existing Files", + "Filter List", + "Filter Words", + "Force Aspect On Bounds", + "Get File List", + "Get List From File", + "Get Mask Bounding Box", + "Incrementer", + "Indexed Entry", + "Int to Boolean", + "Is String Empty", + "Json From Properties", + "List Count", + "Load Image Batch from Zip", + "Process Path Name", + "Prompt Splitter", + "Prop From Properties", + "Random Entry", + "Random File Entry", + "Randomize Image Batch", + "Randomize List", + "Replace List", + "Save Image Batch to Zip", + "Search To Boolean", + "Search and Replace", + "Select Bounding Box", + "Sort List", + "Split List", + "String To List", + "String to Int", + "Timestamp" + ], + { + "title_aux": "ComfyUI-TinyBee" + } + ], "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": [ [ "ttN KSampler_v2", "ttN advPlot combo", "ttN advPlot images", + "ttN advPlot merge", "ttN advPlot range", "ttN advPlot string", "ttN advanced xyPlot", @@ -8087,6 +21191,159 @@ "title_aux": "ComfyUI_tinyterraNodes" } ], + "https://github.com/Tlant/ComfyUI-OllamaPromptsGeneratorTlant": [ + [ + "LoadImageAndExtractMetadataTlant", + "LoadRandomTxtFileTlant", + "LoadRandomTxtFileTlantV2", + "LoadRandomTxtFileTlantV3", + "LoadSequencedTxtFileTlant", + "LoadSpecificTxtFileTlant", + "OllamaPromptsGeneratorTlant", + "OllamaSimpleTextGeneratorTlant", + "OpenRouterApiTlantV1", + "RandomImageLoaderTlant", + "ReasoningLLMOutputCleaner", + "SaveImagePairForKontext", + "StringFormatterTlant" + ], + { + "title_aux": "ComfyUI-OllamaPromptsGeneratorTlant" + } + ], + "https://github.com/ToTheBeginning/ComfyUI-DreamO": [ + [ + "ApplyDreamO", + "DreamOProcessorLoader", + "DreamORefEncode" + ], + { + "title_aux": "DreamO Comfyui" + } + ], + "https://github.com/TobiasGlaubach/ComfyUI-TG_pydocmaker": [ + [ + "TG_PydGetMetadata", + "TG_PydPreview" + ], + { + "title_aux": "ComfyUI-TG_pydocmaker" + } + ], + "https://github.com/Tr1dae/ComfyUI-Dequality": [ + [ + "Dequality" + ], + { + "title_aux": "ComfyUI-Dequality" + } + ], + "https://github.com/Tr1dae/ComfyUI-EasyFilePaths": [ + [ + "AltFallbackCLIPLoader", + "AltFallbackCheckpointLoader", + "AltFallbackUNETLoader", + "AltFallbackVAELoader", + "CharacterLoraSelect", + "ChromaActionSelect", + "ConvertHEXToRGB", + "DepthAnything_V2", + "DownloadAndLoadDepthAnythingV2Model", + "DynamicBypassController", + "DynamicBypassSelector", + "EasyArrayFilter", + "EasyBasicJsonExtractor", + "EasyBboxDetectorCombined", + "EasyBooleanConverter", + "EasyCLIPLoader", + "EasyCheckpointLoader", + "EasyCompare", + "EasyDecalComposition", + "EasyFileName", + "EasyFilmGrain", + "EasyFloatToInt", + "EasyForceClipDType", + "EasyForceModelDType", + "EasyGamma", + "EasyGetLine", + "EasyGrowMaskAndBlur", + "EasyImageBloomFilter", + "EasyImageCompare", + "EasyJSONJobImport", + "EasyJSONUpdate", + "EasyJsonExtractor", + "EasyJsonSaver", + "EasyLoraLoader", + "EasyMathAdd", + "EasyMathMultiply", + "EasyMathSubtract", + "EasyNull", + "EasyResize", + "EasySegmDetectorCombined", + "EasyTemplateAny", + "EasyUNETLoader", + "EasyUltralyticsDetectorProvider", + "EasyVAELoader", + "EasyWardrobeInit", + "EasyWardrobeWriter", + "EasyYolov8Detection", + "EasyYolov8Segmentation", + "FreshYoloSegmentationMask", + "GeneralSwitch", + "HexColorInput", + "ImageSaveToPath", + "ImageSaveToPathwithCaption", + "LatentSwitch", + "LineCounter", + "LoadImageFromMatch", + "LoadImageFromPath", + "LoadImagesFromFolder", + "LoadRandomImageFromFolderPath", + "QwenActionSelect", + "RemoveNoiseMask", + "TileAssembly", + "TileBreak", + "UserSelect", + "WanActionSelect", + "easy_apply_latent_mask_safe", + "easy_base64_loader", + "easy_batch_enforcer", + "easy_cuda_flush", + "easy_image_failsafe_loader", + "easy_image_sanitize", + "easy_image_stats", + "easy_image_url", + "easy_latent_NaN_catcher", + "easy_latent_clamp", + "easy_latent_cpu_hop", + "easy_latent_normalize", + "easy_latent_sanitize", + "easy_mask_sanitize", + "easy_smartbypass", + "easy_vae_hard_reset", + "save_image_with_latent_and_metadata_webp", + "webp_latent_loader" + ], + { + "title_aux": "ComfyUI-EasyFilePaths" + } + ], + "https://github.com/Transhumai/ComfyUI-LegionPower": [ + [ + "LegionConfig", + "LegionExporter", + "LegionImporter", + "LegionJoin", + "LegionJoinAll", + "LegionMaster", + "LegionMaster3", + "LegionMaster6", + "LegionWarmup" + ], + { + "title_aux": "ComfyUI-LegionPower" + } + ], "https://github.com/Trgtuan10/ComfyUI_YoloSegment_Mask": [ [ "Object Mask" @@ -8097,7 +21354,7 @@ ], "https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler": [ [ - "menus" + "PerfectionBetaStyler" ], { "title_aux": "ComfyUI_MileHighStyler" @@ -8120,6 +21377,41 @@ "title_aux": "YARS: Yet Another Resolution Selector" } ], + "https://github.com/TrophiHunter/ComfyUI_Photography_Nodes": [ + [ + "Bloom", + "Bloom Lens Flares", + "Chromatic Aberration", + "Contrast Adaptive Sharpening", + "Contrast Brightness", + "Depth of Field", + "Get Watermark", + "Halation", + "Lens Dirt", + "Lens Distortion", + "Levels Adjustment", + "Lut", + "Manga Toner", + "Monitor Filter", + "Multi Scale Contrast", + "NTSC Filter", + "Noise", + "Physically Accurate Lens Dirt", + "Pixel Art", + "Saturation Vibrance", + "Sensor Dust", + "Sharpen Simple", + "Sharpen Unsharp Mask", + "Tint", + "VHS Chroma Smear", + "VHS Degrade", + "Vignette Effect", + "Watermark" + ], + { + "title_aux": "Photography Nodes" + } + ], "https://github.com/Trung0246/ComfyUI-0246": [ [ "0246.Beautify", @@ -8155,7 +21447,8 @@ ], "https://github.com/Ttl/ComfyUi_NNLatentUpscale": [ [ - "NNLatentUpscale" + "NNLatentUpscale", + "NNlLatentUpscale" ], { "preemptions": [ @@ -8164,6 +21457,32 @@ "title_aux": "ComfyUI Neural Network Latent Upscale" } ], + "https://github.com/TuonoMindCode/ComfyUI-MultiClip-Text-Script": [ + [ + "MultiClipTextScriptClipSelector", + "MultiClipTextScriptMain", + "MultiClipTextScriptPositiveOnly" + ], + { + "title_aux": "ComfyUI-MultiClip-Text-Script" + } + ], + "https://github.com/TuonoMindCode/ComfyUI-Resolution-Suggest-Downscale": [ + [ + "TuonoResolutionSuggestDownscale" + ], + { + "title_aux": "ComfyUI-Resolution-Suggest-Downscale" + } + ], + "https://github.com/TuriSc/comfyui-text-line-selector": [ + [ + "TextLineSelectorNode" + ], + { + "title_aux": "Text Line Selector" + } + ], "https://github.com/TylerZoro/SD3-Scaling": [ [ "SD3ImageScaleToTotalPixels" @@ -8172,6 +21491,22 @@ "title_aux": "SD3-Scaling" } ], + "https://github.com/Ugleh/ComfyUI-ugleh-OpenAI": [ + [ + "Ugleh.OpenAI.ResponsesText" + ], + { + "title_aux": "ComfyUI-ugleh-OpenAI" + } + ], + "https://github.com/UmeAiRT/ComfyUI-UmeAiRT-Sync": [ + [ + "UmeAiRT_Sync_Node" + ], + { + "title_aux": "ComfyUI-UmeAiRT-Sync" + } + ], "https://github.com/Umikaze-job/select_folder_path_easy": [ [ "SelectFolderPathEasy" @@ -8180,20 +21515,84 @@ "title_aux": "select_folder_path_easy" } ], + "https://github.com/UndefinedUo/DuoUmiWildcards": [ + [ + "DuoUmiRatioSelector", + "DuoUmiWildcard" + ], + { + "title_aux": "DuoUmiWildcards" + } + ], + "https://github.com/Urabewe/ComfyUI-AudioTools": [ + [ + "AudioEnhancementNode", + "AudioNormalizeLUFS" + ], + { + "title_aux": "ComfyUI-AudioTools" + } + ], + "https://github.com/Urabewe/ComfyUI-CountS2VExtend": [ + [ + "CountVideoExtendS2VNode" + ], + { + "title_aux": "ComfyUI Video Extend Counter" + } + ], + "https://github.com/Usonaki/ComfyUI-DyPE-Nunchaku": [ + [ + "DyPE_Nunchaku" + ], + { + "title_aux": "ComfyUI-DyPE-Nunchaku" + } + ], "https://github.com/VAST-AI-Research/ComfyUI-Tripo": [ [ "TripoAPIDraft", "TripoAnimateRetargetNode", "TripoAnimateRigNode", "TripoConvertNode", - "TripoGLBViewer", + "TripoMeshCompletion", + "TripoMeshSegmentation", "TripoRefineModel", + "TripoSmartLowPoly", + "TripoStylizeModel", "TripoTextureModel" ], { "title_aux": "Tripo for ComfyUI" } ], + "https://github.com/VK/vk-nodes": [ + [ + "PrepareJobs", + "SketchyText", + "SketchyThumbnail", + "TiledConfigNode", + "TiledCropNode", + "TiledRenderNode", + "TiledSetupNode", + "VKLoadAudio" + ], + { + "title_aux": "VK Nodes" + } + ], + "https://github.com/Vaibhavs10/ComfyUI-DDUF": [ + [ + "DDUFLoader", + "DiffusersModelMakeup", + "DiffusersPipelineLoader", + "DiffusersSchedulerLoader", + "DiffusersSimpleSampler" + ], + { + "title_aux": "ComfyUI-DDUF" + } + ], "https://github.com/VangengLab/ComfyUI-LivePortrait_v2": [ [ "LivePortraitProcess_animal" @@ -8210,6 +21609,46 @@ "title_aux": "ComfyUI-LivePortrait_v3" } ], + "https://github.com/Vaporbook/ComfyUI-SaveImage-PP": [ + [ + "SaveImagePP" + ], + { + "title_aux": "ComfyUI-SaveImage-PP" + } + ], + "https://github.com/Verolelb/ComfyUI-Qwen-Aspect-Ratio": [ + [ + "QwenAspectRatioSelectorLatent" + ], + { + "title_aux": "ComfyUI-Qwen-Aspect-Ratio" + } + ], + "https://github.com/Verolelb/ComfyUI-Video-Workbench": [ + [ + "AutoEditWorkbench" + ], + { + "title_aux": "ComfyUI-Video-Workbench" + } + ], + "https://github.com/Verolelb/ComfyUI-VideoCompressor": [ + [ + "VideoCompressor" + ], + { + "title_aux": "Video Compressor (Unified)" + } + ], + "https://github.com/VertexAnomaly/ComfyUI_ImageSentinel": [ + [ + "ImageSentinel" + ], + { + "title_aux": "ComfyUI_ImageSentinel" + } + ], "https://github.com/VertexStudio/roblox-comfyui-nodes": [ [ "FirstLetterNode", @@ -8238,8 +21677,47 @@ "title_aux": "VEnhancer ComfyUI Extension" } ], + "https://github.com/Visionatrix/ComfyUI-Gemini": [ + [ + "ConcatText_Zho", + "DisplayText_Zho", + "Gemini_15P_API_S_Advance_Zho", + "Gemini_15P_API_S_Chat_Advance_Zho", + "Gemini_API_Chat_Zho", + "Gemini_API_S_Chat_Zho", + "Gemini_API_S_Vsion_ImgURL_Zho", + "Gemini_API_S_Zho", + "Gemini_API_Vsion_ImgURL_Zho", + "Gemini_API_Zho", + "Gemini_FileUpload_API_S_Zho", + "Gemini_File_API_S_Zho" + ], + { + "title_aux": "ComfyUI-Gemini" + } + ], + "https://github.com/Visionatrix/ComfyUI-RemoteVAE": [ + [ + "RemoteVAEDecode" + ], + { + "title_aux": "ComfyUI-RemoteVAE" + } + ], "https://github.com/Visionatrix/ComfyUI-Visionatrix": [ [ + "StyleAlignedBatchAlign", + "VixCheckboxLogic", + "VixDictionaryConvert", + "VixDictionaryGet", + "VixDictionaryNew", + "VixDictionaryUpdate", + "VixDynamicLoraDefinition", + "VixImageFilters", + "VixMultilineText", + "VixTextConcatenate", + "VixTextReplace", + "VixUiAspectRatioSelector", "VixUiCheckbox", "VixUiCheckboxLogic", "VixUiList", @@ -8254,34 +21732,86 @@ "title_aux": "ComfyUI-Visionatrix" } ], + "https://github.com/VraethrDalkr/ComfyUI-TripleKSampler": [ + [ + "SwitchStrategyAdvanced", + "SwitchStrategySimple", + "TripleKSamplerWan22Lightning", + "TripleKSamplerWan22LightningAdvanced", + "TripleKSamplerWan22LightningAdvancedAlt", + "TripleWVSampler", + "TripleWVSamplerAdvanced", + "TripleWVSamplerAdvancedAlt" + ], + { + "title_aux": "ComfyUI-TripleKSampler" + } + ], "https://github.com/VrchStudio/comfyui-web-viewer": [ [ "VrchAnyOSCControlNode", + "VrchAudioChannelLoaderNode", + "VrchAudioConcatNode", + "VrchAudioEmotionVisualizerNode", + "VrchAudioFrequencyBandAnalyzerNode", "VrchAudioGenresNode", + "VrchAudioMusic2EmotionNode", "VrchAudioRecorderNode", "VrchAudioSaverNode", + "VrchAudioVisualizerNode", + "VrchAudioWebSocketChannelLoaderNode", + "VrchAudioWebViewerNode", + "VrchBPMDetectorNode", "VrchBooleanKeyControlNode", "VrchChannelOSCControlNode", "VrchChannelX4OSCControlNode", + "VrchDelayNode", "VrchDelayOSCControlNode", "VrchFloatKeyControlNode", "VrchFloatOSCControlNode", + "VrchFloatRemapNode", + "VrchGamepadLoaderNode", + "VrchImageChannelLoaderNode", + "VrchImageFallbackNode", "VrchImageFlipBookWebViewerNode", + "VrchImagePreviewBackgroundNewNode", + "VrchImagePreviewBackgroundNode", "VrchImageSaverNode", "VrchImageSwitchOSCControlNode", + "VrchImageWebSocketChannelLoaderNode", + "VrchImageWebSocketFilterSettingsNode", + "VrchImageWebSocketSettingsNode", + "VrchImageWebSocketSimpleWebViewerNode", + "VrchImageWebSocketWebViewerNode", "VrchImageWebViewerNode", "VrchInstantQueueKeyControlNode", "VrchIntKeyControlNode", "VrchIntOSCControlNode", + "VrchIntRemapNode", "VrchJsonUrlLoaderNode", + "VrchJsonWebSocketChannelLoaderNode", + "VrchJsonWebSocketSenderNode", + "VrchLatentWebSocketChannelLoaderNode", + "VrchLatentWebSocketSenderNode", + "VrchMicLoaderNode", + "VrchMidiDeviceLoaderNode", + "VrchModelWebViewerNode", "VrchOSCControlSettingsNode", + "VrchQRCodeNode", "VrchSwitchOSCControlNode", "VrchTextConcatOSCControlNode", "VrchTextKeyControlNode", + "VrchTextSrtPlayerNode", "VrchTextSwitchOSCControlNode", + "VrchTriggerToggleNode", + "VrchTriggerToggleX4Node", + "VrchTriggerToggleX8Node", + "VrchVideoWebViewerNode", + "VrchWebSocketServerNode", "VrchWebViewerNode", "VrchXYOSCControlNode", - "VrchXYZOSCControlNode" + "VrchXYZOSCControlNode", + "VrchXboxControllerNode" ], { "title_aux": "ComfyUI Web Viewer" @@ -8321,6 +21851,21 @@ "title_aux": "ControlFlowUtils" } ], + "https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery": [ + [ + "WASLMStudioCaption", + "WASLMStudioCaptionDataset", + "WASLMStudioCaptionDatasetCustom", + "WASLMStudioChat", + "WASLMStudioModel", + "WASLMStudioOptions", + "WASLMStudioQuery", + "WASLoadImageDirectory" + ], + { + "title_aux": "WAS LMStudio Easy-Query" + } + ], "https://github.com/WASasquatch/ComfyUI_Preset_Merger": [ [ "Preset_Model_Merge" @@ -8329,10 +21874,28 @@ "title_aux": "ComfyUI Preset Merger" } ], + "https://github.com/WASasquatch/ComfyUI_RetroArch_Player": [ + [ + "ComfyRetroArchPlayer" + ], + { + "title_aux": "ComfyUI_RetroArch_Player" + } + ], + "https://github.com/WASasquatch/ComfyUI_Viewer": [ + [ + "WASCanvasComposeBatch", + "WASComfyViewer" + ], + { + "title_aux": "ComfyUI_Viewer" + } + ], "https://github.com/WASasquatch/FreeU_Advanced": [ [ - "FreeU (Advanced)", - "FreeU_V2 (Advanced)" + "WAS_FreeU", + "WAS_FreeU_V2", + "WAS_PostCFGShift" ], { "title_aux": "FreeU_Advanced" @@ -8377,236 +21940,98 @@ "KSamplerSeq", "KSamplerSeq2", "VAEEncodeForInpaint (WAS)", - "VividSharpen" + "VividSharpen", + "VividSharpenV2", + "WASApplyLUT", + "WASApplyReweightedLoRA", + "WASCameraMotionTrajectory", + "WASChannelWaveform", + "WASCombineLUT", + "WASLatentContrastLimitedDetailBoost", + "WASLatentUpscaleHybrid", + "WASLoadLUT", + "WASMoEConditioningListAppend", + "WASPowerLoraMerger", + "WASPowerLoraMergerOptions", + "WASSaveLUT", + "WASTiledImageUpscaleWithModel", + "WASWan22MoESamplerCtx", + "WASWanExposureStabilizer", + "WAS_AdaptiveDifferenceLatentUpscale" ], { "title_aux": "WAS_Extras" } ], - "https://github.com/WASasquatch/was-node-suite-comfyui": [ + "https://github.com/WASasquatch/face-upscaling-and-seamless-embedding": [ [ - "BLIP Analyze Image", - "BLIP Model Loader", - "Blend Latents", - "Boolean To Text", - "Bounded Image Blend", - "Bounded Image Blend with Mask", - "Bounded Image Crop", - "Bounded Image Crop with Mask", - "Bus Node", - "CLIP Input Switch", - "CLIP Vision Input Switch", - "CLIPSEG2", - "CLIPSeg Batch Masking", - "CLIPSeg Masking", - "CLIPSeg Model Loader", - "CLIPTextEncode (BlenderNeko Advanced + NSP)", - "CLIPTextEncode (NSP)", - "Cache Node", - "Checkpoint Loader", - "Checkpoint Loader (Simple)", - "Conditioning Input Switch", - "Constant Number", - "Control Net Model Input Switch", - "Convert Masks to Images", - "Create Grid Image", - "Create Grid Image from Batch", - "Create Morph Image", - "Create Morph Image from Path", - "Create Video from Path", - "Debug Number to Console", - "Dictionary to Console", - "Diffusers Hub Model Down-Loader", - "Diffusers Model Loader", - "Export API", - "HSL to Hex", - "Hex to HSL", - "Image Analyze", - "Image Aspect Ratio", - "Image Batch", - "Image Blank", - "Image Blend", - "Image Blend by Mask", - "Image Blending Mode", - "Image Bloom Filter", - "Image Bounds", - "Image Bounds to Console", - "Image Canny Filter", - "Image Chromatic Aberration", - "Image Color Palette", - "Image Crop Face", - "Image Crop Location", - "Image Crop Square Location", - "Image Displacement Warp", - "Image Dragan Photography Filter", - "Image Edge Detection Filter", - "Image Film Grain", - "Image Filter Adjustments", - "Image Flip", - "Image Generate Gradient", - "Image Gradient Map", - "Image High Pass Filter", - "Image History Loader", - "Image Input Switch", - "Image Levels Adjustment", - "Image Load", - "Image Lucy Sharpen", - "Image Median Filter", - "Image Mix RGB Channels", - "Image Monitor Effects Filter", - "Image Nova Filter", - "Image Padding", - "Image Paste Crop", - "Image Paste Crop by Location", - "Image Paste Face", - "Image Perlin Noise", - "Image Perlin Power Fractal", - "Image Pixelate", - "Image Power Noise", - "Image Rembg (Remove Background)", - "Image Remove Background (Alpha)", - "Image Remove Color", - "Image Resize", - "Image Rotate", - "Image Rotate Hue", - "Image SSAO (Ambient Occlusion)", - "Image SSDO (Direct Occlusion)", - "Image Save", - "Image Seamless Texture", - "Image Select Channel", - "Image Select Color", - "Image Send HTTP", - "Image Shadows and Highlights", - "Image Size to Number", - "Image Stitch", - "Image Style Filter", - "Image Threshold", - "Image Tiled", - "Image Transpose", - "Image Voronoi Noise Filter", - "Image fDOF Filter", - "Image to Latent Mask", - "Image to Noise", - "Image to Seed", - "Images to Linear", - "Images to RGB", - "Inset Image Bounds", - "Integer place counter", - "KSampler (WAS)", - "KSampler Cycle", - "Latent Batch", - "Latent Input Switch", - "Latent Noise Injection", - "Latent Size to Number", - "Latent Upscale by Factor (WAS)", - "Load Cache", - "Load Image Batch", - "Load Lora", - "Load Text File", - "Logic Boolean", - "Logic Boolean Primitive", - "Logic Comparison AND", - "Logic Comparison OR", - "Logic Comparison XOR", - "Logic NOT", - "Lora Input Switch", - "Lora Loader", - "Mask Arbitrary Region", - "Mask Batch", - "Mask Batch to Mask", - "Mask Ceiling Region", - "Mask Crop Dominant Region", - "Mask Crop Minority Region", - "Mask Crop Region", - "Mask Dilate Region", - "Mask Dominant Region", - "Mask Erode Region", - "Mask Fill Holes", - "Mask Floor Region", - "Mask Gaussian Region", - "Mask Invert", - "Mask Minority Region", - "Mask Paste Region", - "Mask Smooth Region", - "Mask Threshold Region", - "Masks Add", - "Masks Combine Batch", - "Masks Combine Regions", - "Masks Subtract", - "MiDaS Depth Approximation", - "MiDaS Mask Image", - "MiDaS Model Loader", - "Model Input Switch", - "Number Counter", - "Number Input Condition", - "Number Input Switch", - "Number Multiple Of", - "Number Operation", - "Number PI", - "Number to Float", - "Number to Int", - "Number to Seed", - "Number to String", - "Number to Text", - "Prompt Multiple Styles Selector", - "Prompt Styles Selector", - "Random Number", - "SAM Image Mask", - "SAM Model Loader", - "SAM Parameters", - "SAM Parameters Combine", - "Samples Passthrough (Stat System)", - "Save Text File", - "Seed", - "String to Text", - "Tensor Batch to Image", - "Text Add Token by Input", - "Text Add Tokens", - "Text Compare", - "Text Concatenate", - "Text Contains", - "Text Dictionary Convert", - "Text Dictionary Get", - "Text Dictionary Keys", - "Text Dictionary New", - "Text Dictionary To Text", - "Text Dictionary Update", - "Text File History Loader", - "Text Find", - "Text Find and Replace", - "Text Find and Replace Input", - "Text Find and Replace by Dictionary", - "Text Input Switch", - "Text List", - "Text List Concatenate", - "Text List to Text", - "Text Load Line From File", - "Text Multiline", - "Text Multiline (Code Compatible)", - "Text Parse A1111 Embeddings", - "Text Parse Noodle Soup Prompts", - "Text Parse Tokens", - "Text Random Line", - "Text Random Prompt", - "Text Shuffle", - "Text Sort", - "Text String", - "Text String Truncate", - "Text to Conditioning", - "Text to Console", - "Text to Number", - "Text to String", - "True Random.org Number Generator", - "Upscale Model Loader", - "Upscale Model Switch", - "VAE Input Switch", - "Video Dump Frames", - "Write to GIF", - "Write to Video", - "unCLIP Checkpoint Loader" + "FUSEGenericKSampler", + "FUSEKSampler", + "FUSESamplerMaskOptions", + "FUSEVideoKSampler", + "FUSEYOLOSettings" ], { - "title_aux": "WAS Node Suite" + "title_aux": "FUSE Face Enhancer" + } + ], + "https://github.com/WASasquatch/was_affine": [ + [ + "WASAffineCustomAdvanced", + "WASAffineKSampler", + "WASAffineKSamplerAdvanced", + "WASAffinePatternNoise", + "WASAffineScheduleOptions", + "WASBayerOptions", + "WASBlackNoiseOptions", + "WASCheckerOptions", + "WASCrossHatchOptions", + "WASDetailRegionOptions", + "WASDotScreenOptions", + "WASGreenNoiseOptions", + "WASHighpassWhiteOptions", + "WASLatentAffine", + "WASLatentAffineCommonOptions", + "WASLatentAffineOptions", + "WASLatentAffineSimple", + "WASLatentUpscale", + "WASMultiBandNoiseApply", + "WASPerlinOptions", + "WASPoissonBlueOptions", + "WASRingNoiseOptions", + "WASSmoothRegionOptions", + "WASTileLinesOptions", + "WASUltimateCustomAdvancedAffineNoUpscale", + "WASUltimateCustomAdvancedAffineNoUpscaleLatent", + "WASVelvetOptions", + "WASWANVAEDecode", + "WASWANVAEEncode", + "WASWorleyEdgesOptions" + ], + { + "title_aux": "WAS Affine" + } + ], + "https://github.com/WUYUDING2583/ComfyUI-Save-Image-Callback": [ + [ + "Save Image With Callback" + ], + { + "title_aux": "Save Image With Callback" + } + ], + "https://github.com/WWWEN8/ComfyUI-CCXManager": [ + [ + "CCXGroupExecutorSender", + "CCXGroupExecutorSingle", + "CCXManager", + "CCXManagerCopy", + "CCXRepoUpdaterNode", + "CreateSDPPPInstallationDirectory", + "NodeVersionManager" + ], + { + "title_aux": "ComfyUI-CCXManager" } ], "https://github.com/WX-NPS1598/ComfyUI-Auto_Crop_By_NPS": [ @@ -8619,6 +22044,7 @@ ], "https://github.com/WaddingtonHoldings/ComfyUI-InstaSD": [ [ + "GPTImage1Generate", "InstaCBoolean", "InstaCFloat", "InstaCInteger", @@ -8628,13 +22054,41 @@ "InstaCSeed", "InstaCText", "InstaCTextML", + "InstaFileExist", + "InstaLoadImageLocal", + "InstaLoadImageWithMask", "InstaPromptMultipleStyleSelector", - "InstaPromptStyleSelector" + "InstaPromptStyleSelector", + "LoadVideo", + "PreViewVideo" ], { "title_aux": "InstaSD nodes for ComfyUI" } ], + "https://github.com/WainWong/ComfyUI-Loop-image": [ + [ + "CyberEve_BatchImageLoopClose", + "CyberEve_BatchImageLoopOpen", + "CyberEve_LoopIndexSwitch", + "CyberEve_MaskMerge", + "CyberEve_MaskSegmentation", + "CyberEve_SingleImageLoopClose", + "CyberEve_SingleImageLoopOpen" + ], + { + "title_aux": "ComfyUI-Loop-image" + } + ], + "https://github.com/Wakapedia/ComfyUI-WanVideoWakawave": [ + [ + "WanVideoWakawaveLoraLoader", + "WanVideoWakawavePromptBuilder" + ], + { + "title_aux": "WanVideo Wakawave - Advanced LoRA & Prompt Tools" + } + ], "https://github.com/Wakfull33/ComfyUI-SaveImageCivitAI": [ [ "SaveCivitai" @@ -8643,6 +22097,151 @@ "title_aux": "ComfyUI-SaveImageCivitAI" } ], + "https://github.com/WangDianhui/ComfyUI-SA-ODE_Sampler": [ + [ + "LowStepSigmaScheduler", + "SAODELowStepSampler", + "SAODEStableSampler" + ], + { + "title_aux": "ComfyUI-SA-ODE_Sampler" + } + ], + "https://github.com/WangPengxing/ComfyUI_WPX_Node": [ + [ + "AnimalContour", + "AnimalContourSilhouette", + "CircleContour", + "DetermineRowsAndCols", + "PenetrateStyle", + "RectangleContour", + "SplitMaskElements", + "SplitStickers" + ], + { + "title_aux": "ComfyUI WPX Nodes" + } + ], + "https://github.com/WarpedAnimation/ComfyUI-WarpedToolset": [ + [ + "ClipLoaderGGUF", + "DualClipLoaderGGUF", + "GGUFRun", + "GGUFSave", + "GGUFUndo", + "LoaderGGUF", + "LoaderGGUFAdvanced", + "QuadrupleClipLoaderGGUF", + "TENSORBoost", + "TENSORCut", + "TripleClipLoaderGGUF", + "VaeGGUF", + "WarpedAddToCaption", + "WarpedBasicGuider", + "WarpedBundleAllVideoImages", + "WarpedBundleVideoImages", + "WarpedCLIPLoader", + "WarpedCLIPVisionLoader", + "WarpedCheckpointLoader", + "WarpedClipLoaderGGUF", + "WarpedContinueWorkflowAuto", + "WarpedContinueWorkflowManual", + "WarpedCreateEmptyImageBatch", + "WarpedCreateEmptyLatentBatch", + "WarpedCreateSpecialImageBatch", + "WarpedDualCLIPLoader", + "WarpedDualClipLoaderGGUF", + "WarpedDualEncoder", + "WarpedDualGuider", + "WarpedFramepackLoraSelectBatch", + "WarpedFramepackMultiLoraSelect", + "WarpedFramepackMultiLoraSelectExt", + "WarpedFramepackSampler", + "WarpedGetImageFromVideo", + "WarpedGetTwoImagesFromVideo", + "WarpedHunyuanImageToVideo", + "WarpedHunyuanLoraAvgMerge", + "WarpedHunyuanLoraBatchMerge", + "WarpedHunyuanLoraConvert", + "WarpedHunyuanLoraConvertKeys", + "WarpedHunyuanLoraConvertToMusubi", + "WarpedHunyuanLoraDoubleBlocksLayersBlend", + "WarpedHunyuanLoraDoubleBlocksModifyMultipleSegments", + "WarpedHunyuanLoraDoubleBlocksRemoveLinear", + "WarpedHunyuanLoraDoubleBlocksSwap", + "WarpedHunyuanLoraMerge", + "WarpedHunyuanMultiLoraAvgMerge", + "WarpedHunyuanMultiLoraLoader", + "WarpedHunyuanMultiLoraMerge", + "WarpedHunyuanMultiLoraMixer", + "WarpedHunyuanVideoLoraLoader", + "WarpedHunyuanVideoToVideo", + "WarpedImageLossCalc", + "WarpedImageNoiseAugmentation", + "WarpedImageScaleToSide", + "WarpedLeapfusionHunyuanI2V", + "WarpedLoadFramePackModel", + "WarpedLoadHunyuanLoraWeightsByPrefix", + "WarpedLoadImages", + "WarpedLoadLorasBatchByPrefix", + "WarpedLoadVideosBatch", + "WarpedLoaderGGUF", + "WarpedLoraKeysAndMetadataReader", + "WarpedLoraReSave", + "WarpedModifyCaptionFile", + "WarpedMultiLoraLoader", + "WarpedNumericalConversion", + "WarpedPromptConcat", + "WarpedPromptConcatExt", + "WarpedReverseImageBatch", + "WarpedSamplerCustomAdv", + "WarpedSamplerCustomAdvLatent", + "WarpedSamplerCustomScripted", + "WarpedSamplerScripts12", + "WarpedSamplerScripts16", + "WarpedSamplerScripts20", + "WarpedSamplerScripts30", + "WarpedSamplerScripts40", + "WarpedSamplerScripts5", + "WarpedSamplerScripts8", + "WarpedSaveAnimatedPng", + "WarpedSaveImageCaption", + "WarpedSingleEncoder", + "WarpedUNETConverter", + "WarpedUNETLoader", + "WarpedUpscaleWithModel", + "WarpedVAELoader", + "WarpedWan22MergeLoaderGGUF", + "WarpedWanImageToVideo", + "WarpedWanLoadAndEditLoraBlocks", + "WarpedWanLoraMerge" + ], + { + "title_aux": "ComfyUI-WarpedToolset" + } + ], + "https://github.com/WaveSpeedAI/wavespeed-comfyui": [ + [ + "WaveSpeedAI Preview", + "WaveSpeedAIPredictor" + ], + { + "title_aux": "wavespeed-comfyui" + } + ], + "https://github.com/WeChatCV/Stand-In_Preprocessor_ComfyUI": [ + [ + "ApplyFaceProcessor", + "FaceOnlyModeSwitch", + "FaceProcessorLoader", + "VideoBackgroundRestorer", + "VideoFramePreprocessor", + "VideoInputPreprocessor" + ], + { + "title_aux": "Stand-In Official Preprocessor ComfyUI Nodes" + } + ], "https://github.com/WebDev9000/WebDev9000-Nodes": [ [ "IgnoreBraces", @@ -8652,11 +22251,29 @@ "title_aux": "WebDev9000-Nodes" } ], + "https://github.com/Wenaka2004/ComfyUI-TagClassifier": [ + [ + "LLMProcessingNode" + ], + { + "title_aux": "ComfyUI-TagClassifier" + } + ], + "https://github.com/What-a-stupid-username/comfyui-InversedSampler": [ + [ + "SamplerInversedEulerNode" + ], + { + "title_aux": "comfyui_InversedSampler" + } + ], "https://github.com/Wicloz/ComfyUI-Simply-Nodes": [ [ "WF_ConditionalLoraLoader", + "WF_FixupPixelArt", "WF_MultilineText", "WF_RandomStyle", + "WF_RefineToggle", "WF_ResolutionSDXL", "WF_TextFlow" ], @@ -8664,6 +22281,64 @@ "title_aux": "ComfyUI Simply Nodes" } ], + "https://github.com/Windecay/ComfyUI-ReservedVRAM": [ + [ + "ReservedVRAMSetter" + ], + { + "title_aux": "ComfyUI-ReservedVRAM" + } + ], + "https://github.com/Windecay/ComfyUI-SDupcaleTiledSize": [ + [ + "SDupscaleTiledSize" + ], + { + "title_aux": "ComfyUI-SDupcaleTiledSize" + } + ], + "https://github.com/Windecay/ComfyUI_CheckVprediction": [ + [ + "CheckVpredictionNode" + ], + { + "title_aux": "ComfyUI_CheckVprediction" + } + ], + "https://github.com/Windecay/ComfyUI_Dynamic-RAMCache": [ + [ + "DynamicRAMCacheControl", + "RAMCacheExtremeCleanup" + ], + { + "title_aux": "ComfyUI_Dynamic-RAMCache" + } + ], + "https://github.com/WingeD123/ComfyUI_QwenVL_PromptCaption": [ + [ + "Ovis25Run", + "Qwen25Caption", + "Qwen25CaptionBatch", + "Qwen3Caption", + "Qwen3CaptionBatch", + "StringToBbox", + "StringToSam3Box" + ], + { + "title_aux": "ComfyUI_QwenVL_PromptCaption" + } + ], + "https://github.com/X-School-Academy/X-FluxAgent": [ + [ + "X-FluxAgent.AICodeGenNode", + "X-FluxAgent.OpenAIChatnNode", + "X-FluxAgent.RichTextNode", + "X-FluxAgent.SaveTextNode" + ], + { + "title_aux": "X-FluxAgent" + } + ], "https://github.com/X-T-E-R/ComfyUI-EasyCivitai-XTNodes": [ [ "CheckpointLoaderSimpleWithPreviews", @@ -8696,6 +22371,48 @@ "title_aux": "x-flux-comfyui" } ], + "https://github.com/XWAVEart/comfyui-xwave-xlitch-nodes": [ + [ + "XWAVECellularNoiseNode", + "XWAVEPixelate", + "XWaveChromaticAberration", + "XWaveColorChannelManipulation", + "XWaveColorFilter", + "XWaveColorShiftExpansion", + "XWaveCurvedHueShift", + "XWaveGaussianBlur", + "XWaveHistogramGlitch", + "XWaveJPEGArtifacts", + "XWaveNoiseEffect", + "XWavePosterize", + "XWaveRGBChannelShift", + "XWaveSharpen" + ], + { + "title_aux": "ComfyUI XWAVE Nodes" + } + ], + "https://github.com/XYMikky12138/ComfyUI-MIKKY-Mask-Editor": [ + [ + "MIKKYMaskEditorNode" + ], + { + "title_aux": "ComfyUI-MIKKY-Mask-Editor" + } + ], + "https://github.com/XchanBik/ComfyUI_SimpleBridgeNode": [ + [ + "LoraTextLoader", + "SimpleBridgeLoadNode", + "SimpleBridgeStoreNode" + ], + { + "description": "A custom node for ComfyUI to store and retrieve data dynamically.", + "nickname": "SimpleBridgeNode", + "title": "SimpleBridgeNode", + "title_aux": "ComfyUI_SimpleBridgeNode" + } + ], "https://github.com/Xclbr7/ComfyUI-Merlin": [ [ "GeminiPromptExpander", @@ -8705,6 +22422,55 @@ "title_aux": "ComfyUI-Merlin: Magic Photo Prompter" } ], + "https://github.com/Xiangyu-CAS/HandFixer": [ + [ + "MediapipeHandNode" + ], + { + "title_aux": "HandFixer" + } + ], + "https://github.com/XieJunchen/comfyUI_LLM": [ + [ + "AppendImagesToBatch", + "CloudImageUploadNode", + "CloudImagesToVideoAndUpload", + "CloudVideoUploadNode", + "ComfyUI_LLM_Ollama", + "CreateEmptyImageBatch", + "DeepSeek_Online", + "GetFirstImageFromBatch", + "GetVideoClipByIndex", + "LoadGifFromLocal", + "LoadImgFromUrl", + "RemoveFirstOrLastImageFromBatch", + "SplitVideoByFrames", + "StringArrayFormatter", + "StringArrayIndexer" + ], + { + "title_aux": "comfyUI_LLM" + } + ], + "https://github.com/Xkipper/ComfyUI_SkipperNodes": [ + [ + "Embedding Stack", + "Simple Box" + ], + { + "title_aux": "ComfyUI_SkipperNodes" + } + ], + "https://github.com/XmYx/ComfyUI-SmolLM3": [ + [ + "SmolLM3ModelLoader", + "SmolLM3Sampler", + "SmolLM3SimpleGenerate" + ], + { + "title_aux": "ComfyUI-SmolLM3" + } + ], "https://github.com/XmYx/deforum-comfy-nodes": [ [ "DeforumAddNoiseNode", @@ -8741,54 +22507,53 @@ "title_aux": "Deforum Nodes" } ], + "https://github.com/XuanYu-github/comfyui-PlyPreview": [ + [ + "PlyPreviewLoadGaussianPLYEnhance", + "PlyPreviewLoadGaussianPLYPathEnhance", + "PlyPreviewPreviewGaussianEnhance", + "PlyPreviewProcessGaussianPLYEnhance" + ], + { + "title_aux": "ComfyUI PlyPreview" + } + ], + "https://github.com/Xyc2016/Comfyui_Fd_Nodes": [ + [ + "FD_Flux2KleinGenImage", + "FD_GeminiImage", + "FD_RemoveWatermark", + "FD_Upload", + "FD_imgToText_Doubao" + ], + { + "title_aux": "Comfyui_Fd_Nodes" + } + ], "https://github.com/Xyem/Xycuno-Oobabooga": [ [ - "Oobabooga" + "Oobabooga", + "Xycuno Oobabooga" ], { "title_aux": "Xycuno Oobabooga" } ], - "https://github.com/YMC-GitHub/ymc-node-suite-comfyui": [ + "https://github.com/Xz3r0-M/ComfyUI-Xz3r0-Nodes": [ [ - "canvas-util-cal-size", - "conditioning-util-input-switch", - "cutoff-region-util", - "hks-util-cal-denoise-step", - "img-util-get-image-size", - "img-util-switch-input-image", - "io-image-save", - "io-text-save", - "io-util-file-list-get", - "io-util-file-list-get-text", - "number-util-random-num", - "pipe-util-to-basic-pipe", - "region-util-get-by-center-and-size", - "region-util-get-by-lt", - "region-util-get-crop-location-from-center-size-text", - "region-util-get-pad-out-location-by-size", - "text-preset-colors", - "text-util-join-text", - "text-util-loop-text", - "text-util-path-list", - "text-util-prompt-add-prompt", - "text-util-prompt-adv-dup", - "text-util-prompt-adv-search", - "text-util-prompt-del", - "text-util-prompt-dup", - "text-util-prompt-join", - "text-util-prompt-search", - "text-util-prompt-shuffle", - "text-util-prompt-std", - "text-util-prompt-unweight", - "text-util-random-text", - "text-util-search-text", - "text-util-show-text", - "text-util-switch-text", - "xyz-util-txt-to-int" + "XAudioSave", + "XDateTimeString", + "XImageSave", + "XLatentLoad", + "XLatentSave", + "XMath", + "XResolution", + "XStringGroup", + "XVideoSave", + "XWorkflowSave" ], { - "title_aux": "ymc-node-suite-comfyui" + "title_aux": "ComfyUI-Xz3r0-Nodes" } ], "https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes": [ @@ -8804,67 +22569,522 @@ "title_aux": "ComfyUI-TacoNodes" } ], + "https://github.com/YRIKKA/ComfyUI-InferenceTimeScaling": [ + [ + "InferenceTimeScaler", + "LoadCLIPScoreVerifier", + "LoadImageRewardVerifier", + "LoadQwenVLMVerifier" + ], + { + "title_aux": "ComfyUI-InferenceTimeScaling" + } + ], + "https://github.com/Yahweasel/ComfyUI-HF-Diffusers": [ + [ + "HFDAutoencoderKL", + "HFDEncodePrompt", + "HFDLoadLora", + "HFDLoadPipeline", + "HFDRunPipeline", + "HFDVAEDecode", + "HFDVAEEncode", + "HFTAutoModel", + "HFTCreateConversation", + "HFTLoadPipeline", + "HFTRunPipeline", + "HFTUnpackConversation" + ], + { + "title_aux": "ComfyUI-HF-Diffusers" + } + ], + "https://github.com/Yahweasel/ComfyUI-MinDalle": [ + [ + "MinDalleNode" + ], + { + "title_aux": "ComfyUI-MinDalle" + } + ], "https://github.com/Yanick112/ComfyUI-ToSVG": [ [ - "ConvertRasterToVectorBW", - "ConvertRasterToVectorColor", - "ConvertVectorToRaster", - "SaveSVG" + "TS_ImageQuantize", + "TS_ImageToSVGStringBW_Potracer", + "TS_ImageToSVGStringBW_Vtracer", + "TS_ImageToSVGStringColor_Vtracer", + "TS_SVGBytesIOToString", + "TS_SVGPathSimplify", + "TS_SVGStringPreview", + "TS_SVGStringToImage", + "TS_SVGStringToSVGBytesIO", + "TS_SaveSVGString" ], { "title_aux": "ComfyUI-ToSVG" } ], - "https://github.com/YarvixPA/ComfyUI-NeuralMedia": [ + "https://github.com/YaroslavIv/comfyui_swd": [ [ - "ApplyControlNet", - "CLIPVisionAndStyleApply", - "InpaintConditioningNode", - "LoadImagesFromFolderNode", - "MultiClipVisionAndStyleApply", - "MultiControlnet", - "MultiControlnetApply", - "MultiControlnetUnion", - "RemoveBackgroundNode", - "SDXLTextEncoderSimpleNode", - "SaveCaptionsImages", - "TextFieldNode", - "TileCheckpointPatchNode", - "UpscaleImageWithModel", - "VTracerImageVectorizerNode" + "SwDSelector" ], { - "title_aux": "ComfyUI-NeuralMedia" + "title_aux": "SwD Preset Selector for ComfyUI" } ], - "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": [ + "https://github.com/YarvixPA/ComfyUI-YarvixPA": [ [ - "MergeBlockWeighted" + "ApplyStyleModelEnhanced", + "ApplyStyleModelSimple", + "BatchImagesNode", + "FrameCalculatorAudio", + "FrameCalculatorVideo", + "GetResolutionImage", + "InpaintConditioningNode", + "InpaintFluxKontextConditioning", + "Prepimg2Vid", + "RemoveBackgroundNode", + "ShowAnyDataType", + "StitchImages", + "StitchImagesAndMask", + "TextFieldNode", + "UnstitchImages", + "UnstitchImagesAndMask", + "UpscaleImageWithModel" ], { - "title_aux": "MergeBlockWeighted_fo_ComfyUI" + "title_aux": "ComfyUI-YarvixPA" + } + ], + "https://github.com/YaserJaradeh/comfyui-yaser-nodes": [ + [ + "Float", + "GeneralSwitch", + "ImageColorMatch", + "ImageSizeBySide", + "IterativeUpscaleWithModelsNode", + "LoraLoaderStack", + "SpotDiffusionParams", + "TiledDiffusion", + "TiledVAEDecode", + "TiledVAEEncode", + "UtilRepeatImages", + "WanVideoControlnet", + "WanVideoControlnetLoader", + "WanVideoNAG" + ], + { + "title_aux": "Yaser-nodes for ComfyUI" + } + ], + "https://github.com/Yeq6X/ComfyUI-image-to-video-inserter": [ + [ + "Base64ListToImages", + "Base64VideoToImages", + "CreateBlankFrames", + "ImageBatchAssembler", + "ImageFrameSelector", + "ImagesToBase64List", + "ImagesToBase64Video", + "MultiImageInserter", + "WanVideoLatentInsertFrames", + "WanVideoLatentZeroFrames" + ], + { + "title_aux": "ComfyUI Image to Video Inserter" + } + ], + "https://github.com/Yo1up/Diffusion-Model-Detailer": [ + [ + "Detailer" + ], + { + "title_aux": "Diffusion-Model-Detailer" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-AniSora": [ + [ + "AniSora", + "AniSoraPrompt", + "LoadAniSoraModel", + "SaveAniSora" + ], + { + "title_aux": "ComfyUI-AniSora" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-AudioX": [ + [ + "AudioXPrompt", + "Condition", + "Generate", + "LoadAudioXAudio", + "LoadAudioXModel", + "LoadAudioXVideo", + "SaveAudioXAudio" + ], + { + "title_aux": "Yuan-ManX/ComfyUI-AudioX" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Bagel": [ + [ + "BagelPrompt", + "ImageEditing", + "ImageGeneration", + "ImageThinkEditing", + "ImageThinkGeneration", + "ImageUnderstanding", + "LoadBAGELModel", + "LoadEditImage" + ], + { + "title_aux": "ComfyUI-Bagel" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-ChatterboxTTS": [ + [ + "ChatterboxAudioPrompt", + "ChatterboxPrompt", + "ChatterboxTTS", + "ChatterboxVC", + "LoadChatterboxAudio", + "LoadChatterboxTTSModel", + "LoadChatterboxTargetAudio", + "LoadChatterboxVCModel", + "SaveChatterboxAudio" + ], + { + "title_aux": "ComfyUI-ChatterboxTTS" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Cobra": [ + [ + "ColorizeImage", + "DrawColorHint", + "ExtractLineArt", + "GetColorValue", + "LoadCobraModel" + ], + { + "title_aux": "ComfyUI-Cobra" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Dia": [ + [ + "DiaTTS", + "InputDiaText", + "LoadDiaAudio", + "LoadDiaModel", + "SaveDiaAudio" + ], + { + "title_aux": "ComfyUI-Dia" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Direct3D-S2": [ + [ + "Direct3DS2", + "LoadDirect3DS2Image", + "LoadDirect3DS2Model", + "SaveDirect3DS2Mesh" + ], + { + "title_aux": "ComfyUI-Direct3D-S2" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-HiDream-I1": [ + [ + "GenerateHiDreamImage", + "LoadHiDreamModel", + "SaveHiDreamImage" + ], + { + "title_aux": "ComfyUI-HiDream-I1" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-HiggsAudio": [ + [ + "HiggsAudio", + "LoadHiggsAudioModel", + "LoadHiggsAudioPrompt", + "LoadHiggsAudioSystemPrompt", + "LoadHiggsAudioTokenizer", + "SaveHiggsAudio" + ], + { + "title_aux": "ComfyUI-HiggsAudio" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Hunyuan3D-2.1": [ + [ + "Hunyuan3DShapeGeneration", + "Hunyuan3DTexureSynthsis", + "LoadHunyuan3DImage", + "LoadHunyuan3DModel" + ], + { + "title_aux": "ComfyUI-Hunyuan3D-2.1" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-HunyuanPortrait": [ + [ + "HunyuanPortrait", + "LoadHunyuanPortraitConfig", + "LoadHunyuanPortraitImage", + "LoadHunyuanPortraitVideo" + ], + { + "title_aux": "ComfyUI-HunyuanPortrait" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Kimi-VL": [ + [ + "KimiVL", + "LoadKimiVLImage", + "LoadKimiVLModel", + "SaveKimiVLText" + ], + { + "title_aux": "ComfyUI-Kimi-VL" } ], "https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh": [ [ "Apply Gradient Color", + "ApplyGradientColor", "Chat LLaMa Mesh", - "Visualize Mesh" + "ChatLLaMaMesh", + "Visualize Mesh", + "VisualizeMesh" ], { "title_aux": "ComfyUI-LLaMA-Mesh" } ], + "https://github.com/Yuan-ManX/ComfyUI-LayerAnimate": [ + [ + "LayerAnimateNode", + "LoadImages", + "LoadPretrainedModel" + ], + { + "title_aux": "ComfyUI-LayerAnimate" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-LiveCC": [ + [ + "LiveCC", + "LiveCCPrompt", + "LoadLiveCCModel", + "LoadLiveCCVideo", + "SaveLiveCCText" + ], + { + "title_aux": "ComfyUI-LiveCC" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Matrix-Game": [ + [ + "GameVideoGenerator", + "LoadDiTModel", + "LoadGameImage", + "LoadMouseIcon", + "LoadTextEncoderModel", + "LoadVAEModel", + "MatrixGameOutput" + ], + { + "title_aux": "ComfyUI-Matrix-Game" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-MoviiGen": [ + [ + "LoadMoviiGenModel", + "MoviiGen", + "MoviiGenPrompt", + "SaveMoviiGen" + ], + { + "title_aux": "ComfyUI-MoviiGen" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Multiverse": [ + [ + "PlayGame" + ], + { + "title_aux": "ComfyUI-Multiverse" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Muyan-TTS": [ + [ + "Generate", + "InputText", + "LoadMuyanTTSModel", + "LoadRefAudio", + "PromptText", + "SaveMuyanTTSAudio" + ], + { + "title_aux": "ComfyUI-Muyan-TTS" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-OmniGen2": [ + [ + "LoadOmniGen2Image", + "LoadOmniGen2Model", + "OmniGen2" + ], + { + "title_aux": "ComfyUI-OmniGen2" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS": [ + [ + "Long Text Generation", + "LongTextGeneration", + "Single Text Generation", + "SingleTextGeneration" + ], + { + "title_aux": "ComfyUI-OrpheusTTS" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-PhotoDoodle": [ + [ + "PhotoDoodle", + "PhotoDoodle Gen" + ], + { + "title_aux": "ComfyUI-PhotoDoodle" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-PosterCraft": [ + [ + "LoadCustomTransformer", + "LoadPipeline", + "LoadPosterCraftPrompt", + "LoadQwenModel", + "PosterCraft", + "SavePosterCraft" + ], + { + "title_aux": "ComfyUI-PosterCraft" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-SkyReels-A2": [ + [ + "A2Prompt", + "A2VideoGenerator", + "CombineImages", + "LoadA2Model", + "NegativePrompt", + "ReferenceImages", + "SaveVideo" + ], + { + "title_aux": "ComfyUI-SkyReels-A2" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-SkyworkUniPic": [ + [ + "Image2Text", + "ImageEditing", + "LoadSkyworkUniPicCheckpoint", + "LoadSkyworkUniPicConfig", + "LoadSkyworkUniPicImage", + "LoadSkyworkUniPicPrompt", + "SaveSkyworkUniPicEditImage", + "SaveSkyworkUniPicImage", + "Text2Image" + ], + { + "title_aux": "ComfyUI-SkyworkUniPic" + } + ], "https://github.com/Yuan-ManX/ComfyUI-SoundHub": [ [ "Load Audio", + "LoadAudio", "Preview Audio", - "Save Audio" + "PreviewAudio", + "Save Audio", + "SaveAudio" ], { "title_aux": "ComfyUI-SoundHub" } ], + "https://github.com/Yuan-ManX/ComfyUI-Step1X-3D": [ + [ + "GeometryGeneration", + "GeometryLabelGeneration", + "LoadInputImage", + "LoadStep1X3DGeometryLabelModel", + "LoadStep1X3DGeometryModel", + "LoadStep1X3DTextureModel", + "LoadUntexturedMesh", + "SaveTexturedMesh", + "SaveUntexturedMesh", + "TexureSynthsis" + ], + { + "title_aux": "ComfyUI-Step1X-3D" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-StyleStudio": [ + [ + "StyleStudio", + "StyleStudio Image Stylization" + ], + { + "title_aux": "ComfyUI-StyleStudio" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-ThinkSound": [ + [ + "LoadCaption", + "LoadCoTDescription", + "LoadOThinkSoundVideo", + "ThinkSound" + ], + { + "title_aux": "ComfyUI-ThinkSound" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-UNO": [ + [ + "ConfigSave", + "ImageConcat", + "ImagePathLoader", + "ImageSave", + "UNOGenerator", + "UNOParams" + ], + { + "title_aux": "ComfyUI-UNO" + } + ], + "https://github.com/Yuan-ManX/ComfyUI-Vui": [ + [ + "LoadVuiModel", + "LoadVuiPrompt", + "SaveVui", + "Vui" + ], + { + "title_aux": "ComfyUI-Vui" + } + ], + "https://github.com/Yukinoshita-Yukinoe/ComfyUI-Qwen-Node": [ + [ + "QwenAPILLMNode" + ], + { + "title_aux": "ComfyUI-Qwen-Node" + } + ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": [ [ "APISR_Lterative_Zho", @@ -8905,6 +23125,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", @@ -8915,25 +23145,6 @@ "title_aux": "DepthFM IN COMFYUI" } ], - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini": [ - [ - "ConcatText_Zho", - "DisplayText_Zho", - "Gemini_15P_API_S_Advance_Zho", - "Gemini_15P_API_S_Chat_Advance_Zho", - "Gemini_API_Chat_Zho", - "Gemini_API_S_Chat_Zho", - "Gemini_API_S_Vsion_ImgURL_Zho", - "Gemini_API_S_Zho", - "Gemini_API_Vsion_ImgURL_Zho", - "Gemini_API_Zho", - "Gemini_FileUpload_API_S_Zho", - "Gemini_File_API_S_Zho" - ], - { - "title_aux": "ComfyUI-Gemini" - } - ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID": [ [ "IDBaseModelLoader_fromhub", @@ -8966,7 +23177,6 @@ "NEW_PhotoMaker_Generation", "PhotoMakerAdapter_Loader_fromhub", "PhotoMakerAdapter_Loader_local", - "PhotoMaker_Generation", "Prompt_Styler", "Ref_Image_Preprocessing" ], @@ -8992,16 +23202,6 @@ "title_aux": "ComfyUI-Q-Align" } ], - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen": [ - [ - "Qwen2_Chat_Zho", - "Qwen2_ModelLoader_Zho", - "Qwen2_Zho" - ], - { - "title_aux": "Qwen-2.5 in ComfyUI" - } - ], "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-VL-API": [ [ "QWenVL_API_S_Multi_Zho", @@ -9075,6 +23275,54 @@ "title_aux": "comfyui-portrait-master-zh-cn" } ], + "https://github.com/ZUENS2020/ComfyUI-Gemini-LiteLLM": [ + [ + "ChatParams", + "GeminiImageParams", + "LLMBaseConfig", + "LLMChatGenerate", + "LLMImageGenerate", + "ORBaseConfig", + "ORChatGenerate", + "ORChatParams", + "ORImageGenerate", + "ORImageParams" + ], + { + "title_aux": "ComfyUI Gemini LiteLLM Nodes" + } + ], + "https://github.com/ZXL-Xinram/ComfyUI-AutoFlow": [ + [ + "AutoFlowAddAlphaChannel", + "AutoFlowCombineVideoAndMask", + "AutoFlowConditionAssignment", + "AutoFlowConditionChecker", + "AutoFlowExportTexturedMesh", + "AutoFlowImageResizeCalculator", + "AutoFlowIntToListConverter", + "AutoFlowListLength", + "AutoFlowListToIntExtractor", + "AutoFlowLoadImageWithBackground", + "AutoFlowLoadImagesForLoopWithBackground", + "AutoFlowPathJoiner", + "AutoFlowPathParser", + "AutoFlowPathValidator", + "AutoFlowSaveImagesWithAlpha", + "AutoFlowStringCase", + "AutoFlowStringConcat", + "AutoFlowStringFormat", + "AutoFlowStringMultiConcat", + "AutoFlowStringReplace", + "AutoFlowStringSplit", + "AutoFlowTimestampFormatter", + "AutoFlowTimestampGenerator", + "AutoFlowVideoToImages" + ], + { + "title_aux": "ComfyUI-AutoFlow" + } + ], "https://github.com/ZZXYWQ/ComfyUI-ZZXYWQ": [ [ "StreamRecorder", @@ -9085,6 +23333,14 @@ "title_aux": "ZZX Nodes" } ], + "https://github.com/Zachary116699/ComfyUI-LoadImageWithMetaDataEx": [ + [ + "ZLoadImageWithMetaDataFP" + ], + { + "title_aux": "ComfyUI_LoadImageWithMetaDataEx" + } + ], "https://github.com/ZaneA/ComfyUI-ImageReward": [ [ "ImageRewardLoader", @@ -9094,6 +23350,44 @@ "title_aux": "ImageReward" } ], + "https://github.com/Zar4X/ComfyUI-Batch-Process": [ + [ + "ImageBatchLoader", + "ImageBatchSaver", + "LoraBatchLoader", + "TXTBatchLoader", + "TextModifyTool", + "VideoBatchSaver" + ], + { + "title_aux": "ComfyUI-Batch-Process" + } + ], + "https://github.com/Zar4X/ComfyUI-Image-Resizing": [ + [ + "ExtendCanvasByPercentage", + "ExtendCanvasByPercentage (ZX)", + "ImageAspectRatioExtractor", + "ImageCropByPercentage", + "ImageResolutionExtractor", + "MaskCropByPercentage", + "ResizeToMultiple", + "SmartImageResize" + ], + { + "title_aux": "ComfyUI-Image-Resizing" + } + ], + "https://github.com/Zch6111/AI_Text_Comfyui": [ + [ + "AutoPromptGeneratorNode", + "GeminiImageToPrompt", + "SmartAutoPromptNode" + ], + { + "title_aux": "AI_Text_Comfyui" + } + ], "https://github.com/ZeDarkAdam/ComfyUI-Embeddings-Tools": [ [ "EmbeddingsNameLoader", @@ -9103,6 +23397,227 @@ "title_aux": "ComfyUI-Embeddings-Tools" } ], + "https://github.com/Zehong-Ma/ComfyUI-MagCache": [ + [ + "CompileModel", + "MagCache", + "MagCacheCalibration" + ], + { + "title_aux": "ComfyUI-MagCache" + } + ], + "https://github.com/Zeknes/Comfyui-LLM-Chat": [ + [ + "LLMChat" + ], + { + "title_aux": "Comfyui-LLM-Chat" + } + ], + "https://github.com/Zeknes/Comfyui-Nanobanana-API": [ + [ + "NanobananaImageGenerator" + ], + { + "title_aux": "Comfyui-Nanobanana-API" + } + ], + "https://github.com/Zeks/comfyui-rapidfire": [ + [ + "BracketEscaper", + "CachedCheckpoint", + "CsvWriterNode", + "HyperTile //Inspire", + "ImmatureImageCounter", + "ImmatureImageDataLoader", + "KSampler //Inspire", + "KSamplerAdvanced //Inspire", + "KSamplerAdvancedPipe //Inspire", + "KSamplerAdvancedProgress //Inspire", + "KSamplerPipe //Inspire", + "KSamplerProgress //Inspire", + "MultiModelAdvancedKsampler", + "MultiModelCheckpointIterator", + "MultiModelCheckpointIteratorFirst", + "MultiModelPromptSaver", + "Ranbooru", + "RandomCharacterSelector", + "RandomNoise //Inspire", + "RapidSchedulerCombo", + "RapidSchedulerSelector", + "RapidStringIterator", + "ScheduledCFGGuider //Inspire", + "ScheduledPerpNegCFGGuider //Inspire", + "StringHasher" + ], + { + "title_aux": "comfyui-rapidfire" + } + ], + "https://github.com/ZeroSpaceStudios/ComfyUI-ZSNodes": [ + [ + "ZS_BoundingBoxCrop", + "ZS_SaveImage" + ], + { + "title_aux": "ComfyUI-ZSNodes" + } + ], + "https://github.com/ZhiHui6/zhihui_nodes_comfyui": [ + [ + "AudioDuration", + "BatchLoadingOfImages", + "ColorMatchToReference", + "ColorRemoval", + "ExtraOptions", + "FilmGrain", + "Florence2Plus", + "GetImageSizes", + "ImageAspectRatio", + "ImageFormatConverter", + "ImageLoader", + "ImageRotateTool", + "ImageScaler", + "ImageSwitchDualMode", + "KontextPresetsPlus", + "LaplacianSharpen", + "LatentSwitchDualMode", + "LoadKontextPresetsBasic", + "MultiLineTextNode", + "MultiPlatformTranslate", + "MultiplePathsInput", + "PathSwitch", + "PauseWorkflow", + "PhotographPromptGenerator", + "PreviewOrCompareImages", + "PriorityImageSwitch", + "PriorityTextSwitch", + "PromptCardSelector", + "PromptDelete", + "PromptGallery", + "PromptPresetMultipleChoice", + "PromptPresetOneChoice", + "PromptReplace", + "Qwen3VLAPI", + "Qwen3VLAdvanced", + "Qwen3VLBasic", + "Qwen3VLExtraOptions", + "ReservedVRAMSetter", + "ResourceCleaner", + "Sa2VAAdvanced", + "Sa2VASegmentationPreset", + "ShowText", + "SobelSharpen", + "SunoLyricsGenerator", + "SunoSongStylePromptGenerator", + "SystemPromptLoader", + "TagSelector", + "TextCombinerNode", + "TextEditorWithContinue", + "TextExpander", + "TextExtractor", + "TextMergerNode", + "TextModifier", + "TextSwitchDualMode", + "TriggerWordMerger", + "TypeDesigner", + "USMSharpen", + "VideoLoader", + "WanPromptGenerator" + ], + { + "title_aux": "zhihui_nodes_comfyui" + } + ], + "https://github.com/Zone-Roam/ComfyUI-Live-Search": [ + [ + "LiveSearch_API_Loader", + "LiveSearch_Agent", + "LiveSearch_Settings" + ], + { + "title_aux": "ComfyUI-Live-Search" + } + ], + "https://github.com/a-l-e-x-d-s-9/ComfyUI-SaveCheckpointWithMetadata": [ + [ + "Save Checkpoint with Metadata", + "SaveCheckpointWithMetadata" + ], + { + "title_aux": "Save Checkpoint with Metadata" + } + ], + "https://github.com/a-ru2016/ComfyUI-Universal-ABM-LoRA": [ + [ + "NullUniversalLoRALoader" + ], + { + "title_aux": "ComfyUI-Universal-ABM-LoRA" + } + ], + "https://github.com/a-ru2016/ComfyUI_UniversalSubspace": [ + [ + "ApplyNullLaLoRA", + "ApplyUniversalLoRA", + "ApplyUniversalWeights", + "LoadUniversalWeights", + "UniversalLoRALoader" + ], + { + "title_aux": "ComfyUI_UniversalSubspace" + } + ], + "https://github.com/a-und-b/ComfyUI_AB_Wildcard": [ + [ + "ABWildcardNode" + ], + { + "title_aux": "ComfyUI_AB_Wildcard" + } + ], + "https://github.com/a-und-b/ComfyUI_Delay": [ + [ + "Add Delay" + ], + { + "title_aux": "ComfyUI_Delay" + } + ], + "https://github.com/a-und-b/ComfyUI_IC-Light-v2_fal": [ + [ + "ICLightV2" + ], + { + "title_aux": "IC-Light V2 (fal.ai)" + } + ], + "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/a-und-b/ComfyUI_MaskAreaCondition": [ + [ + "MaskAreaCondition", + "SelectData" + ], + { + "title_aux": "ComfyUI Mask Area Condition" + } + ], "https://github.com/a1lazydog/ComfyUI-AudioScheduler": [ [ "AmplitudeToGraph", @@ -9124,6 +23639,68 @@ "title_aux": "ComfyUI-AudioScheduler" } ], + "https://github.com/aTanguay/ComfyUI_Detonate": [ + [ + "DetonateBlur", + "DetonateChannelCopy", + "DetonateChromaKeyer", + "DetonateClamp", + "DetonateColorCorrect", + "DetonateColorCurves", + "DetonateConstant", + "DetonateCornerPin", + "DetonateCrop", + "DetonateCryptomatteExtract", + "DetonateDefocus", + "DetonateDenoise", + "DetonateDilate", + "DetonateDisplacementMap", + "DetonateEdgeDefringe", + "DetonateEdgeDetect", + "DetonateErode", + "DetonateExposure", + "DetonateGlow", + "DetonateGrade", + "DetonateGrain", + "DetonateGridWarp", + "DetonateHueSatVal", + "DetonateInvert", + "DetonateLUT", + "DetonateLoadEXR", + "DetonateLumaKeyer", + "DetonateLumaKeyerSimple", + "DetonateMaskFromColor", + "DetonateMaskSmoother", + "DetonateMatteControl", + "DetonateMerge", + "DetonateNoise", + "DetonatePremultiply", + "DetonateRamp", + "DetonateRotoBezier", + "DetonateRotoBezierFromImage", + "DetonateSaturation", + "DetonateSeamBlender", + "DetonateSharpen", + "DetonateShuffle", + "DetonateTransform", + "DetonateTriMapGenerator", + "DetonateUnpremultiply", + "DetonateVignette", + "DetonateZDefocus", + "DetonateZMerge" + ], + { + "title_aux": "ComfyUI_Detonate" + } + ], + "https://github.com/aadityamundhalia/ComfyUI-ollama-aditya": [ + [ + "OllamaPromptGenerator" + ], + { + "title_aux": "ComfyUI Ollama by Aditya" + } + ], "https://github.com/abdozmantar/ComfyUI-DeepExtract": [ [ "VocalAndSoundRemoverNode" @@ -9132,6 +23709,39 @@ "title_aux": "DeepExtract" } ], + "https://github.com/abdozmantar/ComfyUI-DeepExtractV2": [ + [ + "DeepExtractV2Node" + ], + { + "title_aux": "DeepExtract2" + } + ], + "https://github.com/abdullahceylan/ac-comfyui-image-optimizer": [ + [ + "ACImageBatchResizer", + "ACImageInfo", + "ACImageOptimizer", + "ACImageOptimizerAdvanced", + "ACImageOptimizerMultiInput", + "ACImageOptimizerPreview", + "ACImageOptimizerSave", + "ACImageOptimizerSaveMultiInput", + "ACImageSmartResizer" + ], + { + "author": "Abdullah Ceylan", + "title_aux": "AC Image Optimizer" + } + ], + "https://github.com/abdullahceylan/ac-comfyui-queue-manager": [ + [ + "QueueManagerNode" + ], + { + "title_aux": "AC ComfyUI Queue Manager" + } + ], "https://github.com/aburahamu/ComfyUI-IsNiceParts": [ [ "NiceHand" @@ -9158,18 +23768,15 @@ "abyz22_Convertpipe", "abyz22_Editpipe", "abyz22_FirstNonNull", - "abyz22_FromBasicPipe_v2", "abyz22_Frompipe", "abyz22_ImpactWildcardEncode", "abyz22_ImpactWildcardEncode_GetPrompt", - "abyz22_Ksampler", "abyz22_Padding Image", "abyz22_RandomMask", "abyz22_RemoveControlnet", "abyz22_ResizeOpenpose", "abyz22_SaveImage", "abyz22_SetQueue", - "abyz22_ToBasicPipe", "abyz22_Topipe", "abyz22_blend_onecolor", "abyz22_blendimages", @@ -9187,8 +23794,17 @@ "title_aux": "image_control" } ], + "https://github.com/ace-step/ACE-Step-ComfyUI": [ + [ + "AceStepMusicGen" + ], + { + "title_aux": "ACE-Step-ComfyUI" + } + ], "https://github.com/acorderob/sd-webui-prompt-postprocessor": [ [ + "ACBPPPSelectVariable", "ACBPromptPostProcessor" ], { @@ -9199,6 +23815,14 @@ "title_aux": "Prompt PostProcessor" } ], + "https://github.com/adambarbato/ComfyUI-Sa2VA": [ + [ + "Sa2VANodeTpl" + ], + { + "title_aux": "Sa2VA Segmentation" + } + ], "https://github.com/adbrasi/ComfyUI-TrashNodes-DownloadHuggingface": [ [ "DownloadLinkChecker", @@ -9223,6 +23847,8 @@ ], "https://github.com/adigayung/ComfyUI-Translator": [ [ + "AT_CLIPTextAutoTranslate", + "AT_PromptText", "CLIP Text Encode (Auto Translate)", "Prompt Text (Auto Translate)" ], @@ -9230,6 +23856,28 @@ "title_aux": "ComfyUI-Translator" } ], + "https://github.com/adrianschubek/comfyui-zeug": [ + [ + "ZeugBool", + "ZeugCleanGpuPass", + "ZeugFloat", + "ZeugFloatToStr", + "ZeugInt", + "ZeugIntToStr", + "ZeugIntToWxH", + "ZeugJoinStr", + "ZeugJoinStrList", + "ZeugPrintPass", + "ZeugSplitStrList", + "ZeugStr", + "ZeugStrToFloat", + "ZeugStrToInt", + "ZeugWxHToInt" + ], + { + "title_aux": "comfyui-zeug" + } + ], "https://github.com/adriflex/ComfyUI_Blender_Texdiff": [ [ "ViewportColor", @@ -9239,6 +23887,16 @@ "title_aux": "ComfyUI_Blender_Texdiff" } ], + "https://github.com/advancedtech-sk/ComfyUI-GROUT": [ + [ + "GROUTHeatmapColorize", + "GROUTSegmentation", + "GROUTThreshold" + ], + { + "title_aux": "ComfyUI-GROUT" + } + ], "https://github.com/aegis72/aegisflow_utility_nodes": [ [ "Add Text To Image", @@ -9281,6 +23939,124 @@ "title_aux": "ComfyUI-styles-all" } ], + "https://github.com/aesethtics/ComfyUI-Utilitools": [ + [ + "UtilAdd", + "UtilAspectRatio", + "UtilBatchController", + "UtilBooleanAND", + "UtilBooleanNOT", + "UtilBooleanOR", + "UtilCalculator", + "UtilConstantFloat", + "UtilConstantInt", + "UtilConstantString", + "UtilCounter", + "UtilDateTimestamp", + "UtilDivide", + "UtilFloatToInt", + "UtilIfThenElse", + "UtilImageDimensions", + "UtilIntToFloat", + "UtilListCreate", + "UtilListIndex", + "UtilMultiply", + "UtilPassthrough", + "UtilStringReplace", + "UtilSubtract", + "UtilSwitch", + "UtilTextConcat", + "UtilWhateverToString" + ], + { + "title_aux": "ComfyUI Utilitools Nodes" + } + ], + "https://github.com/aesethtics/comfyui-3d-model-viewer": [ + [ + "ThreeDModelViewer" + ], + { + "title_aux": "ComfyUI 3D Model Viewer" + } + ], + "https://github.com/agavesunset/AgaveLogicCounter": [ + [ + "CyclicIntController" + ], + { + "title_aux": "AgaveLogicCounter" + } + ], + "https://github.com/agilly1989/ComfyUI_agilly1989_motorway": [ + [ + "MotorwayFloat", + "MotorwayInt", + "MotorwaySeed", + "MotorwayStart", + "MotorwayStr", + "MotorwayStrMulti" + ], + { + "title_aux": "ComfyUI_agilly1989_motorway" + } + ], + "https://github.com/ah-kun/ComfyUI-FailSafe-Translate-Node": [ + [ + "FailSafeTranslateAdvanced", + "FailSafeTranslateSimple" + ], + { + "title_aux": "ComfyUI-FailSafe-Translate-Node" + } + ], + "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools": [ + [ + "GCPReadImageNode", + "GCPWriteImageNode" + ], + { + "title_aux": "ComfyUI-GCP_Storage_tools" + } + ], + "https://github.com/ahkimkoo/ComfyUI-GetKeyFrames": [ + [ + "BreakGrid", + "GetKeyFrames", + "MakeGrid" + ], + { + "title_aux": "ComfyUI-GetKeyFrames" + } + ], + "https://github.com/ahkimkoo/Comfyui-AudioSegment": [ + [ + "AudioListToBatch", + "AudioSegmentByParagraph", + "AudioSegmenter", + "SelectAudioClipFromList", + "SelectAudioFromList" + ], + { + "title_aux": "ComfyUI Audio Segment Plugin" + } + ], + "https://github.com/ai-joe-git/ComfyUI-Metadata-Extractor": [ + [ + "MetadataExtractorImproved" + ], + { + "title_aux": "ComfyUI-Metadata-Extractor" + } + ], + "https://github.com/ai-joe-git/ComfyUI-Simple-Prompt-Batcher": [ + [ + "SimplePromptBatcher" + ], + { + "title_aux": "ComfyUI-Simple-Prompt-Batcher" + } + ], "https://github.com/ai-liam/comfyui-liam": [ [ "AiStoreAzureGPTLiam", @@ -9313,17 +24089,22 @@ [ "AnimalPosePreprocessor", "BatchManager", + "CannyPreprocessor", "ConstrainImageNode", "DWPosePreprocessor", "DWPreprocessor", "DensePosePreprocessor", + "GFPGANNode", "ImageLoader", "ImageResize", "ImageSaver", "ImageSize", "ImagesSaver", + "LineArtPreprocessor", + "LineartStandardPreprocessor", "MaskAddNode", "MiDaSDepthPreprocessor", + "PurgeVRAMNode", "VideoInfo", "VideoLoader", "VideoSaver", @@ -9334,6 +24115,45 @@ "title_aux": "ComfyUI-tbox" } ], + "https://github.com/aiaiaikkk/ComfyUI-Curve": [ + [ + "CameraRawEnhanceNode", + "CameraRawToneCurveNode", + "ColorGradingNode", + "CurvePresetNode", + "GaussianBlurNode", + "HistogramAnalysisNode", + "PhotoshopCurveNode", + "PhotoshopHSLNode", + "PhotoshopLevelsNode" + ], + { + "title_aux": "ComfyUI-Curve" + } + ], + "https://github.com/aiaiaikkk/comfyui-api-image-edit": [ + [ + "APIImageEditNode" + ], + { + "title_aux": "ComfyUI API Image Edit" + } + ], + "https://github.com/aiaiaikkk/super-prompt-canvas": [ + [ + "AdvancedBackgroundRemoval", + "BackgroundRemovalSettings", + "CustomModelPromptGenerator", + "KontextSuperPrompt", + "LRPGCanvas", + "OllamaKontextPromptGenerator", + "OllamaServiceManager", + "TextGenWebUIFluxKontextEnhancer" + ], + { + "title_aux": "super-prompt-canvas" + } + ], "https://github.com/aianimation55/ComfyUI-FatLabels": [ [ "FatLabels" @@ -9342,22 +24162,228 @@ "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": [ + [ + "StabilityControlSketch", + "StabilityControlStructure", + "StabilityControlStyle", + "StabilityEdit", + "StabilityImageCore", + "StabilityImageSD3", + "StabilityImageToVideo", + "StabilityImageUltra", + "StabilityUpscaleConservative", + "StabilityUpscaleCreative", + "StabilityUpscaleFast" + ], + { + "title_aux": "aicu-comfyui-stability-ai-api" + } + ], + "https://github.com/aicuai/comfyui-save-image-watermark": [ + [ + "ExtractInvisibleWatermark", + "Local Save", + "LocalSaveImageWithWatermark" + ], + { + "title_aux": "comfyui-save-image-watermark" + } + ], + "https://github.com/aidec/Comfyui_TextBatch_aidec": [ + [ + "DataTempManager", + "DataTmpGet", + "DataTmpSet", + "GroupController", + "IFMatchCond", + "ImageFilenameProcessor", + "ImageInfoExtractor", + "ImageQueueProcessor", + "ImageQueueProcessorPlus", + "ImageQueueProcessorPro", + "JsonQuery", + "LoadImageByIndex", + "LoadImagesFromDirBatch", + "LoadImagesFromDirLazy", + "LoopResultExtractor", + "PathParser", + "TextArrayIndex", + "TextBatch", + "TextQueueProcessor", + "TextSplitCounter", + "TextSplitGet", + "UniversalLoopController" + ], + { + "title_aux": "Comfyui_TextBatch_aidec" + } + ], "https://github.com/aidenli/ComfyUI_NYJY": [ [ + "BailianChat", + "BailianChatOption", + "BailianVL", + "BailianVLOption", "CivitaiPrompt", + "CommonLLMChat", + "ConvertAnyToString", + "ConvertDenoseToStep", + "ConvertStringToNumber", + "CreateSeedanceVideo", "CustomLatentImage-NYJY", - "CustomLatentImageSimple", "FloatSlider-NYJY", + "FluxProOnline", + "GetItemFromList", "JoyCaption", "JoyCaptionAlpha1Online", "JoyCaptionAlpha2Online", "JoyTag", - "Translate" + "JsonDumps", + "JsonGetKeys", + "JsonGetValueByKeys", + "JsonLoads", + "LengthOfArray", + "QwenLatentImage", + "ReadFileToString", + "Seededit3", + "Seedream3Txt2Img", + "Seedream4Img2Img", + "Seedream4Txt2Img", + "SplitString", + "Translate", + "VolcengineChat", + "VolcengineChatOption", + "VolcengineImageOption", + "VolcengineImg2Img", + "VolcengineTxt2Img" ], { "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/aigc-apps/VideoX-Fun": [ + [ + "CameraBasicFromChaoJie", + "CameraCombineFromChaoJie", + "CameraJoinFromChaoJie", + "CameraTrajectoryFromChaoJie", + "CogVideoXFunInpaintSampler", + "CogVideoXFunT2VSampler", + "CogVideoXFunV2VSampler", + "CombineFlux2Pipeline", + "CombineQwenImagePipeline", + "CombineWan2_2Pipeline", + "CombineWan2_2VaceFunPipeline", + "CombineWanPipeline", + "CombineZImagePipeline", + "CreateTrajectoryBasedOnKJNodes", + "Flux2ControlSampler", + "Flux2T2ISampler", + "FunAttention", + "FunCompile", + "FunRiflex", + "FunTextBox", + "ImageCollectNode", + "ImageMaximumNode", + "ImageToCanny", + "ImageToDepth", + "ImageToPose", + "LoadCogVideoXFunLora", + "LoadCogVideoXFunModel", + "LoadFlux2ControlNetInModel", + "LoadFlux2ControlNetInPipeline", + "LoadFlux2Lora", + "LoadFlux2Model", + "LoadFlux2TextEncoderModel", + "LoadFlux2TransformerModel", + "LoadFlux2VAEModel", + "LoadQwenImageControlNetInModel", + "LoadQwenImageControlNetInPipeline", + "LoadQwenImageLora", + "LoadQwenImageModel", + "LoadQwenImageProcessor", + "LoadQwenImageTextEncoderModel", + "LoadQwenImageTransformerModel", + "LoadQwenImageVAEModel", + "LoadVaceWanTransformer3DModel", + "LoadWan2_2FunLora", + "LoadWan2_2FunModel", + "LoadWan2_2Lora", + "LoadWan2_2Model", + "LoadWan2_2TransformerModel", + "LoadWan2_2VaceFunModel", + "LoadWanClipEncoderModel", + "LoadWanFunLora", + "LoadWanFunModel", + "LoadWanLora", + "LoadWanModel", + "LoadWanTextEncoderModel", + "LoadWanTransformerModel", + "LoadWanVAEModel", + "LoadZImageControlNetInModel", + "LoadZImageControlNetInPipeline", + "LoadZImageLora", + "LoadZImageModel", + "LoadZImageTextEncoderModel", + "LoadZImageTransformerModel", + "LoadZImageVAEModel", + "QwenImageControlSampler", + "QwenImageEditPlusSampler", + "QwenImageEditSampler", + "QwenImageT2VSampler", + "VideoToCanny", + "VideoToDepth", + "VideoToOpenpose", + "Wan2_2FunInpaintSampler", + "Wan2_2FunT2VSampler", + "Wan2_2FunV2VSampler", + "Wan2_2I2VSampler", + "Wan2_2T2VSampler", + "Wan2_2VaceFunSampler", + "WanFunInpaintSampler", + "WanFunT2VSampler", + "WanFunV2VSampler", + "WanI2VSampler", + "WanT2VSampler", + "ZImageControlSampler", + "ZImageT2ISampler" + ], + { + "title_aux": "VideoX-Fun" + } + ], "https://github.com/aimerib/ComfyUI_HigherBitDepthSaveImage": [ [ "SaveImageHigherBitDepth" @@ -9366,6 +24392,151 @@ "title_aux": "ComfyUI-HigherBitDepthSaveImage" } ], + "https://github.com/aimoviestudio/comfyui-promptbuilder": [ + [ + "DynamicJsonPromptBuilder", + "DynamicTextPromptBuilder", + "JsonPromptBuilder", + "TextPromptBuilder", + "TextPromptNode" + ], + { + "title_aux": "ComfyUI Prompt Builder" + } + ], + "https://github.com/ainewsto/Comfyui-chatgpt-api": [ + [ + "ComfyuiChatGPTApi", + "Comfyui_gpt_image_1", + "Comfyui_gpt_image_1_edit" + ], + { + "title_aux": "Comfyui-chatgpt-api" + } + ], + "https://github.com/ainewsto/Comfyui-google-veo2-api": [ + [ + "ComfyuiGoogleVeo2" + ], + { + "title_aux": "Comfyui-google-veo2-api" + } + ], + "https://github.com/ainewsto/comfyui-labs-google": [ + [ + "ComfyUI-ImageFx", + "ComfyUI-Whisk", + "ComfyUI-Whisk-Prompts" + ], + { + "title_aux": "comfyui-labs-google" + } + ], + "https://github.com/aining2022/ComfyUI_Swwan": [ + [ + "AddLabel", + "AnyBooleanSwitch (Swwan)", + "AnySwitch (Swwan)", + "BatchSlice", + "ColorMatch", + "CrossFadeImages", + "CrossFadeImagesMulti", + "DrawMaskOnImage", + "FastPreview", + "GetImageRangeFromBatch", + "GetImageSizeAndCount", + "GetImagesFromBatchIndexed", + "GetLatentRangeFromBatch", + "GetLatentSizeAndCount", + "IO_save_image", + "ImageAddMulti", + "ImageAndMaskPreview", + "ImageBatchExtendWithOverlap", + "ImageBatchFilter", + "ImageBatchJoinWithTransition", + "ImageBatchMulti", + "ImageBatchRepeatInterleaving", + "ImageBatchTestPattern", + "ImageConcanate", + "ImageConcatFromBatch", + "ImageConcatMulti", + "ImageCropByMask", + "ImageCropByMaskAndResize", + "ImageCropByMaskBatch", + "ImageGrabPIL", + "ImageGridComposite2x2", + "ImageGridComposite3x3", + "ImageGridtoBatch", + "ImageNormalize_Neg1_To_1", + "ImagePadForOutpaintMasked", + "ImagePadForOutpaintTargetSize", + "ImagePadKJ", + "ImagePass", + "ImagePrepForICLora", + "ImageResizeByMegapixels", + "ImageResizeKJ", + "ImageResizeKJv2", + "ImageTensorList", + "ImageUncropByMask", + "ImageUpscaleWithModelBatched", + "Image_Resize_sum", + "Image_Resize_sum_data", + "Image_Resize_sum_restore", + "InsertImagesToBatchIndexed", + "InsertLatentToIndex", + "LayerUtility: CropByMask V2", + "LayerUtility: CropByMask V3", + "LayerUtility: CropByMask V4", + "LayerUtility: ImageScaleByAspectRatio V2", + "LayerUtility: RestoreCropBox", + "LayerUtility: RestoreCropBox V2", + "LoadAndResizeImage", + "LoadImagesFromFolderKJ", + "LoadVideosFromFolder", + "Mask_transform_sum", + "MathExpression_UTK", + "MergeBatch", + "MergeImageChannels", + "PadImageBatchInterleaved", + "PreviewAnimation", + "RemapImageRange", + "ReplaceImagesInBatch", + "ReverseImageBatch", + "SaveImageKJ", + "SaveImageWithAlpha", + "SaveStringKJ", + "Seed (rgthree)", + "ShuffleImageBatch", + "SplitImageChannels", + "SwwanCropByMaskV5", + "SwwanImageBatchToImageList", + "SwwanImageListToImageBatch", + "SwwanRestoreCropBoxV3", + "SwwanRestoreCropBoxV4", + "TransitionImagesInBatch", + "TransitionImagesMulti", + "WebcamCaptureCV2", + "list_Merge", + "list_Slice", + "list_Value", + "list_num_range", + "math_Remap_data", + "math_calculate", + "nsfwDetector", + "nsfwDetectorV2", + "raiseExceptionOnTrue", + "sch_Prompt", + "sch_Value", + "sch_image", + "sch_mask", + "sch_split_text", + "sch_text", + "type_AnyIndex" + ], + { + "title_aux": "ComfyUI_Swwan" + } + ], "https://github.com/aisabervisionlab/ComfyUI_merge_ASVL": [ [ "ASVL" @@ -9374,6 +24545,37 @@ "title_aux": "ComfyUI_merge_ASVL" } ], + "https://github.com/aistudynow/Comfyui-HunyuanFoley": [ + [ + "HunyuanDependenciesLoader", + "HunyuanFoleySampler", + "HunyuanFoleyTorchCompile", + "HunyuanModelLoader", + "SelectAudioFromBatch" + ], + { + "title_aux": "Comfyui-HunyuanFoley" + } + ], + "https://github.com/aistudynow/Comfyui-tetestyle-image-video": [ + [ + "TeleStyleImageModelLoader", + "TeleStyleLoader", + "TeleStyleOfficialImageInference", + "TeleStyleVideoInference" + ], + { + "title_aux": "Comfyui-tetestyle-image-video" + } + ], + "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", @@ -9384,10 +24586,9 @@ "AK_AudioreactiveDilationMask", "AK_AudioreactiveDynamicDilationMask", "AK_BinaryAmplitudeGate", + "AK_BlobTrack", "AK_BrightnessToFloatList", - "AK_ConvertAudioToSaltAudio", "AK_ConvertListToFloatList", - "AK_ConvertSaltAudioToAudio", "AK_DilateMaskLinearInfinite", "AK_FadeBetweenBatches", "AK_FlexFeatureToFloatList", @@ -9400,10 +24601,12 @@ "AK_MakeDepthmapSeamless", "AK_NormalizeMaskImage", "AK_RescaleFloatList", + "AK_ScaleMask", "AK_ScheduledBinaryComparison", "AK_ShrinkNumSequence", "AK_SplitImageBatch", - "AK_VideoSpeedAdjust" + "AK_VideoSpeedAdjust", + "Scale Mask Node" ], { "author": "akatz", @@ -9413,6 +24616,36 @@ "title_aux": "Akatz Custom Nodes" } ], + "https://github.com/akatz-ai/ComfyUI-Basic-Math": [ + [ + "BasicMath", + "BooleanInput", + "BooleanLogic", + "BooleanUnary", + "FloatComparison", + "FloatInput", + "IntMath", + "IntegerComparison", + "IntegerInput", + "MathConstants", + "NumberClamp", + "NumberComparison", + "NumberInRange", + "NumberLerp", + "NumberRound", + "PreciseFloatInput", + "StringComparison", + "StringInput", + "ToBool", + "ToFloat", + "ToInt", + "ToString", + "UnaryMath" + ], + { + "title_aux": "ComfyUI-Basic-Math" + } + ], "https://github.com/akatz-ai/ComfyUI-DepthCrafter-Nodes": [ [ "DepthCrafter", @@ -9429,11 +24662,12 @@ "https://github.com/akatz-ai/ComfyUI-Depthflow-Nodes": [ [ "Depthflow", + "DepthflowEffectColor", "DepthflowEffectDOF", + "DepthflowEffectInpaint", "DepthflowEffectVignette", "DepthflowMotionArc", "DepthflowMotionCosine", - "DepthflowMotionExponential", "DepthflowMotionLinear", "DepthflowMotionPresetCircle", "DepthflowMotionPresetDolly", @@ -9442,7 +24676,8 @@ "DepthflowMotionPresetVertical", "DepthflowMotionPresetZoom", "DepthflowMotionSetTarget", - "DepthflowMotionSine" + "DepthflowMotionSine", + "DepthflowMotionTriangle" ], { "author": "akatz", @@ -9465,6 +24700,81 @@ "title_aux": "ComfyUI-X-Portrait-Nodes" } ], + "https://github.com/akaugun/comfyui-lora-hook-trigger": [ + [ + "LoraTriggerWithExample" + ], + { + "title_aux": "comfyui-lora-hook-trigger" + } + ], + "https://github.com/akawana/ComfyUI-AK-Pack": [ + [ + "AK Base", + "AK Control Multiple KSamplers", + "AK Pipe", + "AK Pipe Loop", + "AK Replace Alpha with Color", + "AK Replace Color with Alpha", + "AKCLIPEncodeMultiple", + "AKContrastAndSaturateImage", + "AKIndexMultiple", + "AKKSamplerSettings", + "AKKSamplerSettingsOut", + "AKProjectSettingsOut", + "AKResizeOnBoolean", + "CLIPTextEncodeAndCombineCached", + "CLIPTextEncodeCached", + "Getter", + "IsMaskEmpty", + "IsOneOfGroupsActive", + "PreviewRawText", + "RepeatGroupState", + "Setter" + ], + { + "title_aux": "AK Pack" + } + ], + "https://github.com/akawana/ComfyUI-AK-XZ-Axis": [ + [ + "AK XZ Axis Plot", + "AK XZ Batch Lora", + "AK XZ Batch Prompts", + "AK XZ Range Float", + "AK XZ Range Int", + "AKXZPreviewPlot" + ], + { + "title_aux": "AK XZ Axis (XY for any KSampler)" + } + ], + "https://github.com/akawana/ComfyUI-Folded-Prompts": [ + [ + "FPFoldedPrompts", + "FPTextAreaPlus", + "FPTextCleanAndSplitt" + ], + { + "title_aux": "Folded prompts" + } + ], + "https://github.com/akawana/ComfyUI-RGBYP-Mask-Editor": [ + [ + "MaskGrowBlur", + "RGBYPLoadImage", + "RGBYPMaskBridge", + "RGBYPMaskCompositeWithStrength", + "RGBYPMaskStrength", + "RGBYPMaskStrengthOut", + "RGBYPMaskToList", + "RGBYPMaskToRegularMasks", + "RGBYPSaveMask" + ], + { + "title_aux": "RGBYP Mask Editor (RGB + YP)" + } + ], "https://github.com/akierson/ComfyUI-textnodes": [ [ "Prompt Truncate", @@ -9486,15 +24796,6 @@ "title_aux": "comfyui-colornodes" } ], - "https://github.com/akspa0/ComfyUI-FapMixPlus": [ - [ - "fapMix", - "preFapMix" - ], - { - "title_aux": "ComfyUI-FapMixPlus" - } - ], "https://github.com/al-swaiti/All-IN-ONE-style": [ [ "ComfyUIStyler", @@ -9514,20 +24815,68 @@ ], "https://github.com/al-swaiti/ComfyUI-OllamaGemini": [ [ - "BRIA_RMBG", - "BRIA_RMBG_ModelLoader", - "ComfyUIStyler", - "ConvertRasterToVector", + "ClaudeAPI", "FLUXResolutions", "GeminiAPI", + "GeminiBBoxJoin", + "GeminiBEN2_RMBG", + "GeminiBRIA_RMBG", + "GeminiBRIA_RMBG_Safe", + "GeminiCLIPSeg", + "GeminiCombineSegMasks", + "GeminiComfyUIStyler", + "GeminiConvertRasterToVector", + "GeminiDrawBBoxMask", + "GeminiFLUXResolutions", + "GeminiImageGenerator", + "GeminiLoadImagePath", + "GeminiLoadImagesFromDir", + "GeminiMathExpression", + "GeminiSVGPreview", + "GeminiSaveSVG", + "GeminiSaveText", + "GeminiSmartPromptGenerator", + "GeminiTextSplitter", + "GeminiUltraDetect", + "ListAvailableModels", "OllamaAPI", - "Save text", - "SaveSVG", - "TextSplitByDelimiter", - "menus" + "QwenAPI", + "VeoLoadVideo", + "VeoVideoExtend", + "VeoVideoGenerator", + "VeoVideoGeneratorAdvanced", + "style_menus" ], { - "title_aux": "GeminiOllama ComfyUI Extension" + "title_aux": "ComfyUI-OllamaGemini" + } + ], + "https://github.com/alFrame/ComfyUI-AF-Enhanced-HTML-Note": [ + [ + "AF_Enhanced_HTML_Note" + ], + { + "author": "Alex Furer", + "description": "A ComfyUI custom node that allows you to create a note node with HTML support.", + "nickname": "AF - Enhanced HTML Note", + "title": "AF - Enhanced HTML Note", + "title_aux": "ComfyUI AF - Enhanced-HTML-Note" + } + ], + "https://github.com/alFrame/ComfyUI-AF-Pack-Prompt-Nodes": [ + [ + "AF_Edit_Generated_Prompt", + "AF_Load_Prompt_History", + "AF_Model_Switch", + "AF_Save_Prompt_History", + "AF_Show_Text" + ], + { + "author": "Alex Furer", + "description": "A collection of prompt management nodes for ComfyUI including prompt editing, history saving, and loading functionality.", + "nickname": "AF Prompt Nodes Pack", + "title": "AF Prompt Nodes Pack", + "title_aux": "ComfyUI AF - Pack-Prompt-Nodes" } ], "https://github.com/alanhuang67/ComfyUI-FAI-Node": [ @@ -9540,6 +24889,104 @@ "title_aux": "FAI-Node" } ], + "https://github.com/alankent/ComfyUI-OA-360-Clip": [ + [ + "OA360Clip" + ], + { + "title_aux": "OA 360 Clip" + } + ], + "https://github.com/alastor-666-1933/caching_to_not_waste": [ + [ + "caching_condition", + "caching_controlnet", + "caching_from_combined_images", + "caching_image", + "caching_mask", + "caching_text", + "caching_wildcard_list" + ], + { + "title_aux": "Caching to not Waste" + } + ], + "https://github.com/alchemine/comfyui-alchemine-pack": [ + [ + "AsyncSaveImage", + "AutoBreak", + "DanbooruPopularPostsTagsRetriever", + "DanbooruPostTagsRetriever", + "DanbooruPostsDownloader", + "DanbooruRelatedTagsRetriever", + "DownloadImage", + "FilterSubtags", + "FilterTags", + "FixBreakAfterTIPO", + "GeminiInference", + "OllamaInference", + "PreviewLatestImage", + "ProcessTags", + "RemoveWeights", + "ReplaceUnderscores", + "SaveImageWithText", + "SignalSwitch", + "SubstituteTags", + "TextEditingInference", + "TokenAnalyzer", + "WidthHeight" + ], + { + "title_aux": "ComfyUI-Alchemine-Pack" + } + ], + "https://github.com/aledelpho/Arthemy_Live-Tuner-SDXL-ComfyUI": [ + [ + "ArthemyClipLiveTunerSDXL", + "ArthemyLiveModelTunerSDXL" + ], + { + "title_aux": "Arthemy Live Tuner - SDXL" + } + ], + "https://github.com/aledelpho/Arthemy_Live-Tuner-ZIT-ComfyUI": [ + [ + "ArthemyQwenSaver", + "ArthemyQwenTunerLab", + "ArthemyQwenTunerSimple", + "ArthemyTunerLoader", + "ArthemyZImage_Saver", + "ArthemyZImage_Tuner_Lab", + "ArthemyZImage_Tuner_Simple" + ], + { + "title_aux": "Arthemy Live Tuner - Z-image" + } + ], + "https://github.com/aleolidev/comfy_kaizen_package": [ + [ + "KaizenImageComposite" + ], + { + "title_aux": "Kaizen Package" + } + ], + "https://github.com/alessandroperilli/OCS_Nodes": [ + [ + "OCS_CloudImageSize", + "OCS_FirstNotEmpty", + "OCS_ImageGrid4x4", + "OCS_ImageListFilter", + "OCS_ImageSaver", + "OCS_LocalImageSize", + "OCS_LocalVideoSize", + "OCS_ModelDownloader", + "OCS_Watermarker" + ], + { + "title_aux": "Open Creative Studio Nodes" + } + ], "https://github.com/alessandrozonta/ComfyUI-CenterNode": [ [ "BBoxCrop" @@ -9550,8 +24997,10 @@ ], "https://github.com/alessandrozonta/ComfyUI-Layers": [ [ + "LayerDividerDivideLayer", "LayersSaver - Save Layer", - "LayersSaver - Save Layer From Images" + "LayersSaver - Save Layer From Images", + "PSDLayerCreatorFromImagesOnly" ], { "title_aux": "Save Layers Node for ComfyUI" @@ -9559,22 +25008,60 @@ ], "https://github.com/alessandrozonta/ComfyUI-OpenPose": [ [ - "OpenPose - Get poses" + "OpenPose - Get poses", + "OpenPoseNode" ], { "author": "joe", "title_aux": "OpenPose Node" } ], + "https://github.com/alessandrozonta/ComfyUI-PoseDirection": [ + [ + "DirectionNode", + "OpenPose - Get direction" + ], + { + "title_aux": "ComfyUI-PoseDirection" + } + ], + "https://github.com/alessandrozonta/Comfyui-LoopLoader": [ + [ + "LoadLoopImagesFromDir" + ], + { + "title_aux": "Comfyui-LoopLoader" + } + ], + "https://github.com/alexcong/ComfyUI-SwinIR": [ + [ + "SwinIRLoader", + "SwinIRRun" + ], + { + "title_aux": "ComfyUI-SwinIR" + } + ], "https://github.com/alexcong/ComfyUI_QwenVL": [ [ + "Qwen", "Qwen2.5", - "Qwen2VL" + "Qwen2.5VL", + "QwenVL" ], { "title_aux": "Qwen2-VL wrapper for ComfyUI" } ], + "https://github.com/alexgenovese/ComfyUI-UNO-Flux": [ + [ + "UNOGenerate", + "UNOModelLoader" + ], + { + "title_aux": "ComfyUI UNO Nodes" + } + ], "https://github.com/alexgenovese/ComfyUI_HF_Servelress_Inference": [ [ "HF_QuestionAnswer", @@ -9590,53 +25077,192 @@ "title_aux": "Huggingface Api Serverless" } ], + "https://github.com/alexisrolland/ComfyUI-Blender": [ + [ + "BlenderInputBoolean", + "BlenderInputCombo", + "BlenderInputFloat", + "BlenderInputGroup", + "BlenderInputInt", + "BlenderInputLoad3D", + "BlenderInputLoadCheckpoint", + "BlenderInputLoadDiffusionModel", + "BlenderInputLoadImage", + "BlenderInputLoadLora", + "BlenderInputLoadMask", + "BlenderInputSampler", + "BlenderInputSeed", + "BlenderInputString", + "BlenderInputStringMultiline", + "BlenderOutputDownload3D", + "BlenderOutputSaveGlb", + "BlenderOutputSaveImage", + "BlenderOutputString" + ], + { + "title_aux": "ComfyUI-Blender" + } + ], "https://github.com/alexisrolland/ComfyUI-Phi": [ [ "LoadPhi", + "LoadPhiMultimodal", "LoadPhiVision", "RunPhi", + "RunPhiMultimodal", "RunPhiVision" ], { "title_aux": "ComfyUI-Phi" } ], + "https://github.com/alexjx/ComfyUI-Sa2VA-XJ": [ + [ + "XJSa2VAImageSegmentation", + "XJSa2VAImageSegmentationV2", + "XJSa2VAVideoSegmentation" + ], + { + "title_aux": "ComfyUI-Sa2VA-XJ" + } + ], + "https://github.com/alexjx/ComfyUI-XJNodes": [ + [ + "XJAppendImageList", + "XJConditionalLoraLoader", + "XJContextEnter", + "XJContextExit", + "XJEmptyImageList", + "XJFloatRangeList", + "XJGetImageFromList", + "XJImageGrid", + "XJImageListFilter", + "XJImageListLength", + "XJImageListSlice", + "XJImagePairCompare", + "XJImagePreviewBridge", + "XJImageRandomTransform", + "XJImageScaleCalc", + "XJImageScaleMegapixel", + "XJImageTransform", + "XJIntOffset", + "XJIntegerDecrement", + "XJIntegerIncrement", + "XJJSONExtractor", + "XJLoadImageByPath", + "XJLoadImageWithMetadata", + "XJLoadImagesFromDirBatch", + "XJLoadImagesFromDirList", + "XJLoopEnd", + "XJLoopStart", + "XJOneImageFromBatch", + "XJRandomImagesFromBatch", + "XJRandomText", + "XJRandomTextFromFile", + "XJRandomTextFromList", + "XJSamplerAdapter", + "XJSaveImageWithMetadata", + "XJSchedulerAdapter", + "XJSegsAutoAdjustHookProvider", + "XJSegsColorCorrectHSVHookProvider", + "XJSegsColorCorrectRGBHookProvider", + "XJSegsColorMatchHookProvider", + "XJSegsCount", + "XJSegsExtractor", + "XJSegsFilter", + "XJSegsFilterByLabel", + "XJSegsMerge", + "XJSegsPick", + "XJSegsStitcher", + "XJSegsWildcardPrompt", + "XJStringPass", + "XJSupirParameters", + "XJTextFileInfo", + "XJTextListFromFile", + "XJUnwrapFromList", + "XJWrapAsList" + ], + { + "title_aux": "ComfyUI-XJNodes" + } + ], "https://github.com/alexopus/ComfyUI-Image-Saver": [ [ + "Any to String (Image Saver)", "Cfg Literal (Image Saver)", "Checkpoint Loader with Name (Image Saver)", + "Civitai Hash Fetcher (Image Saver)", + "Conditioning Concat Optional (Image Saver)", "Float Literal (Image Saver)", "Image Saver", + "Image Saver Metadata", + "Image Saver Simple", + "Input Parameters (Image Saver)", "Int Literal (Image Saver)", + "RandomShapeGenerator", "Sampler Selector (Image Saver)", - "SamplerToString (Image Saver)", - "Scheduler Selector (Comfy) (Image Saver)", + "Scheduler Selector (Eff.) (Image Saver)", "Scheduler Selector (Image Saver)", - "SchedulerComfyToString (Image Saver)", - "SchedulerToString (Image Saver)", + "Scheduler Selector (inspire) (Image Saver)", "Seed Generator (Image Saver)", "String Literal (Image Saver)", "UNet loader with Name (Image Saver)", - "Width/Height Literal (Image Saver)" + "Width/Height Literal (Image Saver)", + "Workflow Input Value (Image Saver)" ], { "title_aux": "ComfyUI Image Saver" } ], + "https://github.com/aliabougazia/comfyui_pt_security_scanner": [ + [ + "PTSecurityScanner" + ], + { + "title_aux": "comfyui_pt_security_scanner" + } + ], + "https://github.com/alibof96/ComfyUI-DownscaleIRN": [ + [ + "IRNDownscale" + ], + { + "title_aux": "ComfyUI-DownscaleIRN" + } + ], + "https://github.com/aligjahed/comfy-flow": [ + [ + "FlowManager", + "FlowStepPointer" + ], + { + "title_aux": "comfy-flow" + } + ], "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": [ [ "InputText", + "JsonPropertyExtractorNode", "OllamaCaptionerExtraOptions", "OllamaImageCaptioner", "OllamaImageDescriber", "OllamaTextDescriber", - "ShowText", "TextTransformer" ], { "title_aux": "ComfyUI-Ollama-Describer" } ], + "https://github.com/alludus/ComfyUI-multiGPU-upscaler": [ + [ + "multiGPU_ImageUpscaleWithModel", + "multiGPU_ImageUpscaleWithModelMultiGPU", + "multiGPU_UpscaleModelLoader" + ], + { + "title_aux": "multiGPU Upscaler" + } + ], "https://github.com/alpertunga-bile/image-caption-comfyui": [ [ "Image Caption Node", @@ -9709,6 +25335,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]", @@ -9766,6 +25393,291 @@ "title_aux": "Dream Video Batches" } ], + "https://github.com/ameyukisora/ComfyUI-Empty-Latent-Advanced": [ + [ + "EmptyLatentAdvancedSelector" + ], + { + "title_aux": "ComfyUI Empty Latent Advanced" + } + ], + "https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen": [ + [ + "ArchAi3D_Any_Index_Switch", + "ArchAi3D_Average_Color", + "ArchAi3D_Batch_Text_Encode", + "ArchAi3D_Batch_Text_Encode_SDXL", + "ArchAi3D_Boolean_Input", + "ArchAi3D_Cinematography_Prompt_Builder", + "ArchAi3D_CivitAI_Download", + "ArchAi3D_Clean_Room_Prompt", + "ArchAi3D_Color_Correction_Advanced", + "ArchAi3D_Color_Correction_BT709", + "ArchAi3D_Conditioning_Balance", + "ArchAi3D_Dependency_Installer", + "ArchAi3D_DiffSynth_ControlNet", + "ArchAi3D_Empty_Latent_Batch", + "ArchAi3D_Extract_Region_Text", + "ArchAi3D_Float_Input", + "ArchAi3D_GDrive_Download", + "ArchAi3D_Gemini", + "ArchAi3D_Gemini_Model", + "ArchAi3D_HF_Download", + "ArchAi3D_HighPass_Blend", + "ArchAi3D_Info", + "ArchAi3D_Int_Input", + "ArchAi3D_Load_CLIP", + "ArchAi3D_Load_Diffusion_Model", + "ArchAi3D_Load_Dual_CLIP", + "ArchAi3D_Load_Image_URL", + "ArchAi3D_Mask_Crop_Rotate", + "ArchAi3D_Mask_To_Position_Guide", + "ArchAi3D_Mask_Uncrop", + "ArchAi3D_Memory_Cleanup", + "ArchAi3D_Metric3D_Depth", + "ArchAi3D_Metric3D_Normal", + "ArchAi3D_Nunchaku_Installer", + "ArchAi3D_Object_Focus_Camera", + "ArchAi3D_Object_Focus_Camera_V2", + "ArchAi3D_Object_Focus_Camera_V3", + "ArchAi3D_Object_Focus_Camera_V4", + "ArchAi3D_Object_Focus_Camera_V5", + "ArchAi3D_Object_Focus_Camera_V6", + "ArchAi3D_Object_Focus_Camera_V7", + "ArchAi3D_Offload_CLIP", + "ArchAi3D_Offload_Model", + "ArchAi3D_Position_Guide_Prompt_Builder", + "ArchAi3D_Qwen_Camera_View_Selector", + "ArchAi3D_Qwen_Colorization", + "ArchAi3D_Qwen_DX8152_Camera_LoRA", + "ArchAi3D_Qwen_Encoder", + "ArchAi3D_Qwen_Encoder_Simple", + "ArchAi3D_Qwen_Encoder_V2", + "ArchAi3D_Qwen_Encoder_V3", + "ArchAi3D_Qwen_Environment_Navigator", + "ArchAi3D_Qwen_Exterior_Focus", + "ArchAi3D_Qwen_Exterior_Navigation", + "ArchAi3D_Qwen_Exterior_View_Control", + "ArchAi3D_Qwen_Image_Scale", + "ArchAi3D_Qwen_Image_Scale_V2", + "ArchAi3D_Qwen_Image_Stitch", + "ArchAi3D_Qwen_Interior_Focus", + "ArchAi3D_Qwen_Interior_Navigation", + "ArchAi3D_Qwen_Interior_View_Control", + "ArchAi3D_Qwen_Material_Changer", + "ArchAi3D_Qwen_Object_Position_Control", + "ArchAi3D_Qwen_Object_Rotation_Control", + "ArchAi3D_Qwen_Object_Rotation_V2", + "ArchAi3D_Qwen_Object_View_Control", + "ArchAi3D_Qwen_Person_Cinematographer", + "ArchAi3D_Qwen_Person_Perspective", + "ArchAi3D_Qwen_Person_Perspective_Control", + "ArchAi3D_Qwen_Person_Position_Control", + "ArchAi3D_Qwen_Person_Rotation_Control", + "ArchAi3D_Qwen_Person_View_Control", + "ArchAi3D_Qwen_Scene_Photographer", + "ArchAi3D_Qwen_Simple_Camera_Control", + "ArchAi3D_Qwen_Style_Transfer", + "ArchAi3D_Qwen_System_Prompt", + "ArchAi3D_Qwen_Watermark_Removal", + "ArchAi3D_SAM3_Segment", + "ArchAi3D_SEGS_Mask_Blur", + "ArchAi3D_SEGS_Mask_Irregularity", + "ArchAi3D_SEGS_To_Bundle", + "ArchAi3D_SaveSplatScene", + "ArchAi3D_Save_Image", + "ArchAi3D_Simple_Blend_Mask", + "ArchAi3D_Simple_Blend_Mask_Batch", + "ArchAi3D_Simple_Edge_Mask", + "ArchAi3D_Simple_Position_Prompt", + "ArchAi3D_Simple_Tile_Compositor", + "ArchAi3D_Simple_Tile_Compositor_Single", + "ArchAi3D_Simple_Tile_Cropper", + "ArchAi3D_Simple_Tile_Cropper_Batch", + "ArchAi3D_Simple_Tile_Sampler", + "ArchAi3D_Smart_Tile_Calculator", + "ArchAi3D_Smart_Tile_Calculator_V3", + "ArchAi3D_Smart_Tile_Calculator_V4", + "ArchAi3D_Smart_Tile_Calculator_V5", + "ArchAi3D_Smart_Tile_Conditioning", + "ArchAi3D_Smart_Tile_Detailer", + "ArchAi3D_Smart_Tile_Merger", + "ArchAi3D_Smart_Tile_Prompter", + "ArchAi3D_Smart_Tile_Prompter_Turbo", + "ArchAi3D_Smart_Tile_SEGS", + "ArchAi3D_Smart_Tile_SEGS_Blur", + "ArchAi3D_Smart_Tile_Sampler", + "ArchAi3D_Smart_Tile_Solver_V6", + "ArchAi3D_Smart_Tile_Solver_V6_2", + "ArchAi3D_Smart_USDU_DiffDiff_ControlNet", + "ArchAi3D_Smart_USDU_DiffDiff_ControlNet_CustomSample", + "ArchAi3D_Smart_USDU_DiffDiff_ControlNet_NoUpscale", + "ArchAi3D_Smart_USDU_DiffDiffusion", + "ArchAi3D_Smart_USDU_DiffDiffusion_CustomSample", + "ArchAi3D_Smart_USDU_DiffDiffusion_NoUpscale", + "ArchAi3D_Smart_USDU_Mask_Denoise", + "ArchAi3D_Smart_USDU_Split_Latent", + "ArchAi3D_Smart_USDU_Universal", + "ArchAi3D_Smart_USDU_Universal_CustomSample", + "ArchAi3D_Smart_USDU_Universal_NoUpscale", + "ArchAi3D_Smart_USDU_Universal_NoUpscale_V2", + "ArchAi3D_Smart_USDU_Universal_NoUpscale_V3", + "ArchAi3D_Smart_USDU_Universal_NoUpscale_V3_Standalone", + "ArchAi3D_Smart_USDU_V3_Standalone", + "ArchAi3D_Smart_Ultimate_SD_Upscale", + "ArchAi3D_Smart_Ultimate_SD_Upscale_CustomSample", + "ArchAi3D_Smart_Ultimate_SD_Upscale_NoUpscale", + "ArchAi3D_Solid_Color_Image", + "ArchAi3D_String_Input", + "ArchAi3D_USDU_EdgeRepair", + "ArchAi3dQwenEncoderSimpleV2" + ], + { + "nodename_pattern": "ArchAi3D", + "title_aux": "ComfyUI-ArchAi3d-Qwen" + } + ], + "https://github.com/amir84ferdos/ComfyUI-GRAG-ArchAi3D": [ + [ + "GRAG_Advanced_Sampler", + "GRAG_Preset_Manager", + "GRAG_Simple_Controller", + "GRAG_Unified_Controller" + ], + { + "title_aux": "ComfyUI-GRAG-ArchAi3D" + } + ], + "https://github.com/amtarr/ComfyUI-TextureAlchemy": [ + [ + "AOApproximator", + "AnisotropyMapGenerator", + "AppearanceExtractor", + "AutoContrastLevels", + "BBoxEditor", + "BBoxReposition", + "BasicLightingBuilder", + "BlendModeUtility", + "ChannelPacker", + "ChannelPackerORMA", + "ChannelPackerRMA", + "ChannelPackerRMAA", + "ChannelUnpacker", + "ChannelUnpackerRMA", + "ClarityEnhancer", + "ColorCode", + "ColorImage", + "ColorMatchTransfer", + "ColorRamp", + "ColorSelectionMask", + "ColorToGrayscale", + "CompositeMaskAdjuster", + "CompositeMaskExtractor", + "CropToMaskWithPadding", + "CurvatureGenerator", + "DenoiseFilter", + "DetailMapBlender", + "DirtGrimeMaskGenerator", + "DisplacementToVector", + "EdgeDetection", + "EdgeWearMaskGenerator", + "EmbedAlpha", + "EmissionMaskGenerator", + "EnvironmentMapToIrradiance", + "FrankenMapExtractor", + "FrequencyRecombine", + "FrequencySeparation", + "GammaAdjust", + "GetAverageColor", + "GradientMap", + "GradientMaskGenerator", + "GrayscaleToColor", + "HDRIToIrradianceFast", + "HSVAdjuster", + "HeightAmplifier", + "HeightCombiner", + "HeightToNormal", + "ImageBitDepthChecker", + "ImageEnhancement", + "ImageMaskCombiner", + "InpaintCropExtractor", + "InpaintStitcher", + "LevelsAdjustment", + "LightingExtractor", + "LightingPassMaskApplicator", + "LotusHeightProcessor", + "LotusNormalProcessor", + "Marigold_AOV_Extractor", + "MaskCompositor", + "MicroDetailOverlay", + "MultiTextureBlender", + "MultimattePassApplicator", + "NormalConverter", + "NormalFormatAuto", + "NormalFormatBruteForce", + "NormalFormatValidator", + "NormalIntensity", + "NormalMapCombiner", + "NormalMapRelighter", + "NormalMapRelighterAdvanced", + "NormalMapRelighterIBL", + "NormalMapRelighterIBL_PBR", + "NormalToDepth", + "PBRAdjuster", + "PBRBatchToPipe", + "PBRCombiner", + "PBRExtractor", + "PBRHeightProcessor", + "PBRMaterialMixer", + "PBRMaterialProcessor", + "PBRNormalProcessor", + "PBRPipePreview", + "PBRPipeToBatch", + "PBRPipelineAdjuster", + "PBRSaver", + "PBRSaverWithMetadata", + "PBRSplitter", + "PBR_AOV_Generator", + "PaddingCalculator", + "PassMaskApplicator", + "PatchFit", + "PatchUpscale", + "PatternGenerator", + "ProceduralNoiseGenerator", + "QwenImagePrep", + "SSSMapGenerator", + "ScratchesGenerator", + "SeamlessTiling", + "SharpenDepth", + "SharpenNormal", + "SimpleCropToMaskWithPadding", + "SimpleGammaAdjust", + "SimpleInpaintCrop", + "SimpleInpaintStitch", + "SimpleRecolor", + "SingleMultimattePassApplicator", + "SinglePassMaskApplicator", + "SmartBlur", + "SmartTextureResizer", + "SquareMaker", + "TemperatureTint", + "TextureAnalyzer", + "TextureAtlasBuilder", + "TextureEqualizer", + "TextureOffset", + "TextureScaler", + "TextureTiler", + "TranslucencyMapGenerator", + "TriplanarProjection", + "UVCheckerGenerator", + "UpscaleCalculator", + "UpscaleToResolution", + "WearGenerator" + ], + { + "title_aux": "ComfyUI-TextureAlchemy" + } + ], "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes": [ [ "CLIPTextEncode (RE)", @@ -9788,14 +25700,45 @@ "title_aux": "CLIP Directional Prompt Attention" } ], + "https://github.com/andygill/comfyui-sunflower-nodes": [ + [ + "DepthViewToIsometric", + "DisparityToDepthView", + "EquirectangularToRectilinear", + "ImageChannelSelect", + "MaskChannelSelect", + "ResizeDown" + ], + { + "title_aux": "comfyui-sunflower-nodes" + } + ], "https://github.com/angeloshredder/StableCascadeResizer": [ [ - "CascadeResize" + "CascadeResize", + "Cascade_Resizer" ], { "title_aux": "StableCascadeResizer" } ], + "https://github.com/angree/ComfyUI-Q_GLB_Material_Modifier": [ + [ + "QManualGLBMaterialModifier", + "QPresetGLBMaterialModifier" + ], + { + "title_aux": "Q GLB Material Modifier" + } + ], + "https://github.com/angree/ComfyUI-Q_find-mask-size": [ + [ + "QImageCropCalculator" + ], + { + "title_aux": "Q Find Mask Size" + } + ], "https://github.com/anhkhoatranle30/Handy-Nodes-ComfyUI": [ [ "Custom Save Image //Handy" @@ -9808,41 +25751,230 @@ "title_aux": "Handy Node ComfyUI" } ], + "https://github.com/anhrefnyoiyoi/Placeholder-Replacer-By-ID": [ + [ + "Placeholder Replacer By ID" + ], + { + "title_aux": "Placeholder-Replacer-By-ID" + } + ], + "https://github.com/anilstream/ComfyUI-Ideogram-Character": [ + [ + "SD_IdeogramCharacter" + ], + { + "title_aux": "ComfyUI-Ideogram-Character" + } + ], + "https://github.com/annewj023/Comfyui_google_nano": [ + [ + "GoogleNanoNode" + ], + { + "title_aux": "Google Nano" + } + ], + "https://github.com/antrobot1234/antrobots-comfyUI-nodepack": [ + [ + "MergeDicts" + ], + { + "title_aux": "antrobots ComfyUI Nodepack" + } + ], + "https://github.com/anveshane/Comfyui_StoryMem": [ + [ + "StoryMemContinuationShot", + "StoryMemFirstShot", + "StoryMemGetMotionFrames", + "StoryMemInfo", + "StoryMemMemoryBuffer", + "StoryMemMemoryVisualizer", + "StoryMemModelLoader", + "StoryMemUpdateMemory", + "StoryMemVideoCombine" + ], + { + "title_aux": "Comfyui_StoryMem" + } + ], + "https://github.com/apeirography/DaimalyadNodes": [ + [ + "DaimalyadModelDownloader", + "DaimalyadWildcardProcessor" + ], + { + "title_aux": "DaimalyadNodes" + } + ], + "https://github.com/apenguin24/ComfyUI-WanKeyframing": [ + [ + "LoadImagesFromDirectory", + "WanKeyframeToVideo" + ], + { + "title_aux": "ComfyUI-WanKeyframing" + } + ], "https://github.com/arcum42/ComfyUI_SageUtils": [ [ + "SageSetWildcardText", + "Sage_Ace15AudioEncode", + "Sage_AceAdvOptions", "Sage_AdvSamplerInfo", - "Sage_CheckpointLoaderSimple", + "Sage_CLIPLoaderFromInfo", + "Sage_CLIPSelector", + "Sage_CheckLorasForUpdates", + "Sage_CheckpointSelector", + "Sage_ChromaCLIPLoaderFromInfo", + "Sage_CleanText", "Sage_CollectKeywordsFromLoraStack", - "Sage_ConditioningZeroOut", - "Sage_ConstructMetadata", - "Sage_ConstructMetadataLite", + "Sage_ConstructLLMPrompt", + "Sage_ConstructLLMPromptExtra", + "Sage_ConstructMetadataFlexible", + "Sage_CropImage", + "Sage_CubiqImageResize", + "Sage_DualCLIPSelector", "Sage_DualCLIPTextEncode", + "Sage_DualCLIPTextEncodeLumina2", + "Sage_DualCLIPTextEncodeQwen", + "Sage_DynamicJoinText", + "Sage_EmptyAceStep15LatentAudio", "Sage_EmptyLatentImagePassthrough", - "Sage_GetFileHash", - "Sage_GetInfoFromHash", - "Sage_GetModelJSONFromHash", - "Sage_GetPicturesFromHash", - "Sage_IterOverFiles", + "Sage_FlexibleCLIPSelector", + "Sage_FreeMemory", + "Sage_FreeU2", + "Sage_GuessResolutionByRatio", + "Sage_HiDreamE1_Instruction", "Sage_JoinText", "Sage_KSampler", + "Sage_KSamplerAudioDecoder", + "Sage_KSamplerTiledDecoder", + "Sage_LMStudioLLMPromptText", + "Sage_LMStudioLLMPromptVision", + "Sage_LMStudioLLMPromptVisionRefine", "Sage_LoadImage", + "Sage_LoadModelFromInfo", + "Sage_Load_Dataset_From_Folder", + "Sage_LogicalSwitch", "Sage_LoraStack", + "Sage_LoraStackInfoDisplay", "Sage_LoraStackLoader", + "Sage_ModelInfo", + "Sage_ModelInfoDisplay", + "Sage_ModelLoraStackLoader", + "Sage_ModelShiftOnly", + "Sage_ModelShifts", + "Sage_MultiModelPicker", + "Sage_MultiSelectorDoubleClip", + "Sage_MultiSelectorFlexibleClip", + "Sage_MultiSelectorQuadClip", + "Sage_MultiSelectorSingleClip", + "Sage_MultiSelectorTripleClip", + "Sage_NumberToStr", + "Sage_OllamaAdvancedOptions", + "Sage_OllamaLLMPromptText", + "Sage_OllamaLLMPromptVision", + "Sage_OllamaLLMPromptVisionRefine", "Sage_PonyPrefix", + "Sage_PonyRatingv6", + "Sage_PonyRatingv7", + "Sage_PonyScore", + "Sage_PonySource", + "Sage_PonyStyle", + "Sage_PonyStyleCluster", + "Sage_PromptText", + "Sage_QuadCLIPSelector", + "Sage_QuickLoraStack", + "Sage_QuickResPicker", + "Sage_ReferenceImage", "Sage_SamplerInfo", + "Sage_SamplerInfoNoCFG", + "Sage_SamplerSelector", "Sage_SaveImageWithMetadata", - "Sage_SetBool", - "Sage_SetFloat", - "Sage_SetInteger", + "Sage_SaveText", + "Sage_SchedulerSelector", "Sage_SetText", + "Sage_SetTextWithNum", + "Sage_SetTextWithoutComments", + "Sage_SingleCLIPTextEncode", + "Sage_StackLoraStack", + "Sage_SystemPrompt", + "Sage_TextRandomLine", + "Sage_TextSelectLine", + "Sage_TextSubstitution", + "Sage_TextSwitch", + "Sage_TextWeight", + "Sage_TilingInfo", + "Sage_TrainingCaptionsToConditioning", + "Sage_TripleCLIPSelector", "Sage_TripleJoinText", - "Sage_UNETLoader", - "Sage_ViewText" + "Sage_TripleLoraStack", + "Sage_TripleQuickLoraStack", + "Sage_UNETLoRALoader", + "Sage_UNETLoaderFromInfo", + "Sage_UNETSelector", + "Sage_UnetClipVaeToModelInfo", + "Sage_VAELoaderFromInfo", + "Sage_VAESelector", + "Sage_ViewAnything", + "Sage_ViewNotes", + "Sage_ZeroConditioning" ], { "title_aux": "Sage Utils" } ], + "https://github.com/ardadmrknn/comfyui-history-clip-text-encode-node": [ + [ + "PromptHistoryClipTextEncode" + ], + { + "title_aux": "ComfyUI Prompt History Node" + } + ], + "https://github.com/aria1th/ComfyUI-Wildcards-rework": [ + [ + "TextWildcards" + ], + { + "title_aux": "ComfyUI-Wildcards-rework" + } + ], + "https://github.com/arthurtravers/ComfyUI-VideoOutputBridge": [ + [ + "VideoOutputBridge" + ], + { + "title_aux": "Video Output Bridge" + } + ], + "https://github.com/artokun/ComfyUI-Photoreal-Prompt-Builder": [ + [ + "KPPBActionList", + "KPPBCameraAngleList", + "KPPBGroupActionList", + "KPPBHairstyleList", + "KPPBIGEffectList", + "KPPBImageEditComposer", + "KPPBImageEditList", + "KPPBLightingList", + "KPPBNSFWActionList", + "KPPBNSFWGroupActionList", + "KPPBNSFWPoseList", + "KPPBOutfitComposer", + "KPPBOutfitList", + "KPPBPoseList", + "KPPBPromptBuilder", + "KPPBSceneList", + "KPPBShotTypeList", + "KPPBVLMRefiner" + ], + { + "title_aux": "ComfyUI-Photoreal-Prompt-Builder" + } + ], "https://github.com/asaddi/ComfyUI-YALLM-node": [ [ "LLMChat", @@ -9859,6 +25991,16 @@ "title_aux": "ComfyUI-YALLM-node" } ], + "https://github.com/asaddi/YALLM-LlamaVision": [ + [ + "LLMSamplerSettings", + "LlamaVisionChat", + "LlamaVisionModel" + ], + { + "title_aux": "YALLM-LlamaVision" + } + ], "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": [ [ "AdaptiveGuidance", @@ -9885,30 +26027,45 @@ "title_aux": "ComfyUI NPNet (Golden Noise)" } ], - "https://github.com/asagi4/comfyui-prompt-control": [ + "https://github.com/asagi4/comfyui-dynamic-anynode": [ [ - "EditableCLIPEncode", - "FilterSchedule", - "LoRAScheduler", - "PCApplySettings", - "PCPromptFromSchedule", - "PCScheduleAddMasks", - "PCScheduleSettings", - "PCSplitSampling", - "PCWrapGuider", - "PromptControlSimple", - "PromptToSchedule", - "ScheduleToCond", - "ScheduleToModel" + "AnyNode" ], { + "title_aux": "comfyui-dynamic-anynode" + } + ], + "https://github.com/asagi4/comfyui-prompt-control": [ + [ + "PCAddMaskToCLIP", + "PCAddMaskToCLIPMany", + "PCAttentionCoupleBatchNegative", + "PCExtractScheduledPrompt", + "PCLazyLoraLoader", + "PCLazyLoraLoaderAdvanced", + "PCLazyTextEncode", + "PCLazyTextEncodeAdvanced", + "PCLoraHooksFromText", + "PCMacroExpand", + "PCSetLogLevel", + "PCSetPCTextEncodeSettings", + "PCTextEncode", + "PCTextEncodeWithRange" + ], + { + "author": "asagi4", + "description": "Control LoRA and prompt scheduling, advanced text encoding, regional prompting, and much more, through your text prompt. Generates dynamic graphs that are literally identical to handcrafted noodle soup.", + "nickname": "ComfyUI Prompt Control", + "title": "ComfyUI Prompt Control", "title_aux": "ComfyUI Prompt Control" } ], "https://github.com/asagi4/comfyui-utility-nodes": [ [ + "MUConditioningCutoff", "MUForceCacheClear", "MUJinjaRender", + "MURemoveControlNet", "MUReplaceModelWeights", "MUSimpleWildcard" ], @@ -9916,6 +26073,64 @@ "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/ashtar1984/ComfyUI-SwitchPathLazy": [ + [ + "SwitchPathLazy", + "SwitchPathRev" + ], + { + "title_aux": "ComfyUI-SwitchPathLazy" + } + ], + "https://github.com/ashtar1984/comfyui-find-perfect-resolution": [ + [ + "FindPerfectResolution" + ], + { + "title_aux": "comfyui-find-perfect-resolution" + } + ], + "https://github.com/asirihewage/remove_metadata_comfyui": [ + [ + "RemoveMetadataStealth", + "VideoSanitizerStealth" + ], + { + "title_aux": "remove_metadata_comfyui" + } + ], + "https://github.com/aslanxie/comfyui_qwen_image_edit": [ + [ + "QWen Image Edit" + ], + { + "title_aux": "comfyui_qwen_image_edit" + } + ], + "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", @@ -9930,15 +26145,66 @@ "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/ato-zen/ComfyUI-VIBE": [ + [ + "VIBE_Editor" + ], + { + "title_aux": "ComfyUI-VIBE" + } + ], + "https://github.com/ato321/ComfyUI-LTXVGuideRebase": [ + [ + "LTXVRebaseGuides" + ], + { + "title_aux": "ComfyUI-LTXVGuideRebase" + } + ], + "https://github.com/attashe/ComfyUI-FluxRegionAttention": [ + [ + "CLIPDebug", + "FluxRegionBBOX", + "FluxRegionMask", + "RegionAttention" + ], + { + "title_aux": "ComfyUI-FluxRegionAttention" + } + ], + "https://github.com/attome-ai/Comfyui_Attome_S3": [ + [ + "AttomeS3Config", + "AttomeS3LoadAudio", + "AttomeS3LoadImage", + "AttomeS3LoadText", + "AttomeS3LoadVideo", + "AttomeS3SaveAudio", + "AttomeS3SaveImage", + "AttomeS3SaveText", + "AttomeS3SaveVideo" + ], + { + "title_aux": "Comfyui_Attome_S3" + } + ], "https://github.com/audioscavenger/ComfyUI-Thumbnails": [ [ - "LoadImageThumbnails" + "LoadImage" ], { "author": "AudioscavengeR", "description": "Load Image thumbnails and show input subfolders.", - "nickname": "ComfyUI Thumbnails", - "title": "ComfyUI Thumbnails", + "nickname": "LoadImageThumbnails", + "title": "LoadImageThumbnails", "title_aux": "ComfyUI-Thumbnails" } ], @@ -9954,6 +26220,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", @@ -9981,10 +26259,59 @@ "title_aux": "Avatar Graph" } ], + "https://github.com/avenstack/ComfyUI-AV-FunASR": [ + [ + "AVASRTimestamp", + "AVFormat2Subtitle", + "AVSaveSubtitles", + "AVSpeechTimestamp" + ], + { + "title_aux": "ComfyUI-AV-FunASR" + } + ], + "https://github.com/avenstack/ComfyUI-AV-LatentSync": [ + [ + "AVLatentSync", + "AVVideoLengthAdjuster" + ], + { + "title_aux": "ComfyUI-AV-LatentSync" + } + ], + "https://github.com/avenstack/ComfyUI-AV-MegaTTS3": [ + [ + "AVMegaTTS3", + "AVPromptInit" + ], + { + "title_aux": "ComfyUI-AV-MegaTTS3" + } + ], + "https://github.com/avocadori/ComfyUI-load-image-prompt-lora": [ + [ + "YAMLImageCycler", + "YAMLImageCyclerSimple", + "YAMLLoRAExtractor", + "YAMLLoRALoader", + "YAMLLoRASelector" + ], + { + "title_aux": "ComfyUI-load-image-prompt-lora" + } + ], "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", @@ -9992,6 +26319,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", @@ -10002,6 +26333,17 @@ "title_aux": "Amazon Bedrock nodes for ComfyUI" } ], + "https://github.com/azazeal04/comfyui-switch-samplers": [ + [ + "CrossMultiStepKSampler", + "CrossStepSwitchKSampler", + "MultiStepKSampler", + "StepSwitchKSampler" + ], + { + "title_aux": "comfy-switch-samplers" + } + ], "https://github.com/azure-dragon-ai/ComfyUI-ClipScore-Nodes": [ [ "HaojihuiClipScoreFakeImageProcessor", @@ -10015,10 +26357,75 @@ "title_aux": "ComfyUI-ClipScore-Nodes" } ], + "https://github.com/azure-dragon-ai/ComfyUI-HPSv2-Nodes": [ + [ + "GetImageSize", + "HaojihuiHPSv2ImageProcessor", + "HaojihuiHPSv2ImageScore", + "HaojihuiHPSv2ImageScores", + "HaojihuiHPSv2Loader", + "HaojihuiHPSv2SaveAnimatedWEBP", + "HaojihuiHPSv2SaveImage", + "HaojihuiHPSv2SaveWEBP", + "HaojihuiHPSv2SaveWebpImage", + "HaojihuiHPSv2TextProcessor", + "SaveImageWebp", + "ScaleShort" + ], + { + "title_aux": "ComfyUI-HPSv2-Nodes" + } + ], + "https://github.com/babe-and-spencer-enterprises/base-comfyui-node": [ + [ + "UploadToBaseNode" + ], + { + "title_aux": "ComfyUI Upload to BASE Node" + } + ], + "https://github.com/bablueza/ComfyUI-Vaja-Ai4thai": [ + [ + "ShowText", + "Vaja Synthesis Api" + ], + { + "title_aux": "Vaja TextToSpeech Node for ComfyUI" + } + ], + "https://github.com/babydjac/comfyui-grok-prompts": [ + [ + "Flux", + "PonyXL" + ], + { + "title_aux": "ComfyUI Grok Prompts" + } + ], + "https://github.com/babydjac/comfyui-smart-scaler": [ + [ + "AspectRatioAdjuster", + "BatchFrameProcessor", + "DynamicResolutionSelector", + "ImageMetadataExtractor", + "SizeParser", + "SmartAspectScaler", + "WanVideoFrameScaler" + ], + { + "title_aux": "ComfyUI Smart Scaler" + } + ], "https://github.com/badayvedat/ComfyUI-fal-Connector": [ [ + "BooleanInput_fal", + "FloatInput_fal", + "IntegerInput_fal", + "LoadImageFromURL_fal", "RemoteCheckpointLoader_fal", - "RemoteLoraLoader_fal" + "RemoteLoraLoader_fal", + "SaveImage_fal", + "StringInput_fal" ], { "title_aux": "ComfyUI-fal-Connector" @@ -10029,7 +26436,15 @@ "LoraTagLoader" ], { - "title_aux": "LoRA Tag Loader for ComfyUI" + "title_aux": "badjeff/LoRA Tag Loader for ComfyUI" + } + ], + "https://github.com/badxprogramm/ComfyUI-GradientBlur": [ + [ + "GradientBlur" + ], + { + "title_aux": "GradientBlurNode for ComfyUI" } ], "https://github.com/baicai99/ComfyUI-FrameSkipping": [ @@ -10046,6 +26461,20 @@ "title_aux": "ComfyUI-FrameSkipping" } ], + "https://github.com/baijunty/comfyui_image_embeddings": [ + [ + "Base64ImageLoader", + "CustomImageLoader", + "GLMOCRNode", + "Image2Base64", + "ImageHash", + "OutputEmbedding", + "Resize2DivisibleImage" + ], + { + "title_aux": "comfyui_image_embeddings" + } + ], "https://github.com/bananasss00/ComfyUI-SP-Nodes": [ [ "BoolSwitchOutStr", @@ -10081,8 +26510,25 @@ "SD3Multiply", "SP-CheckpointSave", "SP-UnetSave", + "SP_AnyPipe10", + "SP_AnyPipe15", + "SP_AnyPipe20", + "SP_AnyPipe30", + "SP_AnyPipe40", + "SP_AnyPipe5", + "SP_AnyPipe50", + "SP_CacheAutoLoader", + "SP_CacheCheck", + "SP_CacheGet", + "SP_CacheManager", + "SP_CachePersistence", + "SP_CacheStore", + "SP_CacheValue", + "SP_CompositeCacheKey", "SP_DDInpaint_Pipe", + "SP_DebugLogger", "SP_DictValue", + "SP_DynamicCombo", "SP_FlorenceCaption", "SP_FluxFastMergePatchFP8 [Experimental]", "SP_FluxLoader", @@ -10093,6 +26539,8 @@ "SP_HiresGen_Dynamic", "SP_HiresGen_HiresCfg", "SP_HiresGen_Sharpen", + "SP_HunyuanLoader", + "SP_ImpactSwitchCombo", "SP_KSampler", "SP_KSamplerSelect", "SP_KoboldCpp", @@ -10100,14 +26548,31 @@ "SP_KoboldCpp_BannedTokens", "SP_KoboldCpp_OverrideCfg", "SP_ListAny", + "SP_LoadLatent", + "SP_ModelLoader", + "SP_Name_Checkpoint", + "SP_Name_Clip", + "SP_Name_ClipVision", + "SP_Name_ControlNet", + "SP_Name_StyleModel", + "SP_Name_Unet", + "SP_Name_UpscaleModel", + "SP_Name_Vae", + "SP_Pass", "SP_Pipe", "SP_Pipe_ToBasicPipe", "SP_SD3Loader", "SP_SDLoader", + "SP_SaveLatent", + "SP_SelectItemFromAnyList", + "SP_SendStringWebsocket", + "SP_SetPipeModelType", "SP_Supir", "SP_SupirSampler", "SP_SupirSampler_DPMPP2M", "SP_SupirSampler_EDM", + "SP_SwitchBooleanAny", + "SP_UnlistValues", "SP_WebsocketSendImage", "SP_XYGrid", "SP_XYValues", @@ -10137,7 +26602,11 @@ [ "BatchCreativeInterpolation", "IpaConfiguration", - "RemoveAndInterpolateFrames" + "RemoveAndInterpolateFrames", + "VideoContinuationGenerator", + "VideoFrameExtractorAndMaskGenerator", + "WanInputFrameNumber", + "WanVideoBlender" ], { "title_aux": "Steerable Motion" @@ -10212,6 +26681,7 @@ "Range Float", "Range Integer", "Ratio Advanced", + "RemoveTextBetween", "Resize Image for SDXL", "SD3TextConditioningWithOptionsOnePrompt", "SRFloatPromptInput", @@ -10221,6 +26691,7 @@ "Save Image With Prompt Data", "Save Images Mikey", "Save Images No Display", + "Save Images With Prompt Data", "SaveMetaData", "SearchAndReplace", "Seed String", @@ -10241,8 +26712,63 @@ "title_aux": "Mikey Nodes" } ], + "https://github.com/bbaudio-2025/ComfyUI-SuperUltimateVaceTools": [ + [ + "CustomCropArea", + "CustomRefineOption", + "NAGParamtersSetting", + "RefineTest", + "RegionalBatchPrompt", + "SuperUltimateVACEUpscale", + "VACEControlImageCombine", + "VACEPromptCheckTotalFrame", + "VACEPromptCombine", + "VaceFunLongVideo", + "VaceLongVideo" + ], + { + "title_aux": "ComfyUI-SuperUltimateVaceTools" + } + ], + "https://github.com/bbtaivi/ComfyUI-Aiv-Param": [ + [ + "AivParam" + ], + { + "title_aux": "AIV ComfyUI Node" + } + ], + "https://github.com/bcasadei/ComfyUI-Prompt-Camera-Assistant": [ + [ + "PromptCameraAssistant" + ], + { + "title_aux": "ComfyUI-Prompt-Camera-Assistant" + } + ], + "https://github.com/bear2b/comfyui-argo-nodes": [ + [ + "ColorMatrixGPU", + "LoadGridFromURL", + "SaveGridToS3" + ], + { + "title_aux": "ColorMatrixGPU Node for ComfyUI" + } + ], + "https://github.com/bedovyy/ComfyUI-LLM-Helper": [ + [ + "LLMHelper_GetModels", + "LLMHelper_PostModelsUnload" + ], + { + "title_aux": "ComfyUI-LLM-Helper" + } + ], "https://github.com/bedovyy/ComfyUI_NAIDGenerator": [ [ + "AnlasTrackerNAID", + "CharacterReferenceOptionNAID", "ColorizeNAID", "DeclutterNAID", "EmotionNAID", @@ -10256,12 +26782,120 @@ "PromptToNAID", "RemoveBGNAID", "SketchNAID", + "V4BasePrompt", + "V4NegativePrompt", "VibeTransferOptionNAID" ], { "title_aux": "ComfyUI_NAIDGenerator" } ], + "https://github.com/bemoregt/ComfyUI_CustomNode_Image2Spectrum": [ + [ + "Image_Spectrum" + ], + { + "title_aux": "ComfyUI_CustomNode_Image2Spectrum" + } + ], + "https://github.com/benda1989/CosyVoice2_ComfyUI": [ + [ + "CosyVoice3s", + "CosyVoiceCrossLingual", + "CosyVoiceLoader", + "CosyVoiceNLControl", + "CosyVoiceSonic", + "Text2" + ], + { + "title_aux": "GKK\u00b7CosyVoice" + } + ], + "https://github.com/benda1989/Sonic_ComfyUI": [ + [ + "SonicLoader", + "SonicSimper", + "SonicSpeechs" + ], + { + "title_aux": "GKK\u00b7Sonic" + } + ], + "https://github.com/benjamin-bertram/Comfyui_OIDN_Denoiser": [ + [ + "OIDNDenoiser" + ], + { + "title_aux": "ComfyUI OIDN Denoiser" + } + ], + "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/benjiyaya/ComfyUI-QwenImageLayeredToLength": [ + [ + "QwenImageLayered - Layer to Length Mapper", + "QwenImageLayered_LengthMapper" + ], + { + "title_aux": "ComfyUI-QwenImageLayeredToLength" + } + ], + "https://github.com/benstaniford/comfy-contact-sheet-image-loader": [ + [ + "ContactSheetImageLoader" + ], + { + "title_aux": "Comfy Contact Sheet Image Loader" + } + ], + "https://github.com/benstaniford/comfy-image-switch": [ + [ + "ImageSwitchNode", + "SwitchAnyValid" + ], + { + "title_aux": "ComfyUI Image Switch Node" + } + ], + "https://github.com/benstaniford/comfy-load-last-image": [ + [ + "LoadMostRecentImage" + ], + { + "title_aux": "ComfyUI Load Most Recent Image Node" + } + ], + "https://github.com/benstaniford/comfy-lora-loader-with-triggerdb": [ + [ + "LoRaLoaderWithTriggerDB" + ], + { + "title_aux": "LoRa Loader with Trigger Database" + } + ], + "https://github.com/benstaniford/comfy-prompt-db": [ + [ + "PromptDB", + "PromptStack" + ], + { + "title_aux": "Prompt Database for ComfyUI" + } + ], "https://github.com/bentoml/comfy-pack": [ [ "CPackInputAny", @@ -10269,11 +26903,96 @@ "CPackInputImage", "CPackInputInt", "CPackInputString", + "CPackOutputAudio", "CPackOutputFile", - "CPackOutputImage" + "CPackOutputImage", + "CPackOutputTextFile", + "CPackOutputVideo", + "CPackOutputZip", + "CPackOutputZipSwitch" ], { - "title_aux": "Comfy Pack" + "title_aux": "Comfy-Pack" + } + ], + "https://github.com/beyondprompting/ComfyUI-Beyond_nodes": [ + [ + "Beyond_Public_LoRA_URL", + "Bool-beyond_nodes", + "BooleanControlOutput-beyond_nodes", + "BooleanSwitch-beyond_nodes", + "Compare-beyond_nodes", + "Compositor3-beyond_nodes", + "Compositor4-beyond_nodes", + "Compositor4MasksOutput-beyond_nodes", + "Compositor4TransformsOut-beyond_nodes", + "CompositorConfig4-beyond_nodes", + "DebugPrint-beyond_nodes", + "EditMask-beyond_nodes", + "Float-beyond_nodes", + "If ANY return A else B-beyond_nodes", + "ImageMaskScaleAs-beyond_nodes", + "ImageMaskSwitch-beyond_nodes", + "ImageScaleDownBy-beyond_nodes", + "Int-beyond_nodes", + "MaskBoundingBox", + "MaskBoundingBox-beyond_nodes", + "MaskRectArea-beyond_nodes", + "MaskToImage-beyond_nodes", + "Prompt-beyond_nodes", + "RoundMask-beyond_nodes", + "String-beyond_nodes", + "TwoWaySwitch-beyond_nodes", + "UUID", + "UUIDFilename" + ], + { + "author": "Beyond Prompting", + "description": "Beyond Node Packages", + "nickname": "Beyond Nodes", + "title": "Beyond Nodes", + "title_aux": "ComfyUI-Beyond_nodes" + } + ], + "https://github.com/bgreene2/ComfyUI-Hunyuan-Image-3": [ + [ + "HunyuanImage3" + ], + { + "title_aux": "ComfyUI-Hunyuan-Image-3" + } + ], + "https://github.com/bhhtr12/ComfyUI-ollama-stop": [ + [ + "OllamaStopNode" + ], + { + "title_aux": "ComfyUI-ollama-stop" + } + ], + "https://github.com/bhvbhushan/ComfyUI-LoRABlockWeight": [ + [ + "HierarchicalLoRAWeightEditor", + "NunchakuHierarchicalLoRALoader" + ], + { + "title_aux": "ComfyUI LoRA Block Weight Loader" + } + ], + "https://github.com/big-mon/ComfyUI-ResolutionPresets": [ + [ + "ResolutionPresetsSDXL" + ], + { + "title_aux": "ComfyUI-ResolutionPresets" + } + ], + "https://github.com/bikiam/ComfyUI_WhisperSRT": [ + [ + "WhisperAudioToSRTText" + ], + { + "title_aux": "ComfyUI_WhisperSRT" } ], "https://github.com/bilal-arikan/ComfyUI_TextAssets": [ @@ -10284,6 +27003,208 @@ "title_aux": "ComfyUI_TextAssets" } ], + "https://github.com/billwuhao/ComfyUI_ACE-Step": [ + [ + "ACELoRALoader", + "ACEModelLoader", + "ACEStepEdit", + "ACEStepExtend", + "ACEStepGen", + "ACEStepRepainting", + "GenerationParameters", + "LyricsLangSwitch", + "MultiLineLyrics", + "MultiLinePromptACES" + ], + { + "title_aux": "ComfyUI_ACE-Step" + } + ], + "https://github.com/billwuhao/ComfyUI_AudioTools": [ + [ + "AddSubtitlesToVideo", + "AdjustAudio", + "AudioAddWatermark", + "AudioConcatenate", + "AudioRecorderAT", + "ClearVoiceRun", + "LoadAudioMW", + "MergeAudioMW", + "MinimalPauseNode", + "MultiLinePromptAT", + "MusicSeparation", + "RemoveSilence", + "SpeechSeparation", + "StringEditNode", + "TrimAudio" + ], + { + "title_aux": "ComfyUI_AudioTools" + } + ], + "https://github.com/billwuhao/ComfyUI_CSM": [ + [ + "CSMDialogRun", + "CSMSpeakersPreview", + "MultiLineText" + ], + { + "title_aux": "ComfyUI_CSM" + } + ], + "https://github.com/billwuhao/ComfyUI_DiffRhythm": [ + [ + "DiffRhythmRun", + "MultiLineLyricsDR" + ], + { + "title_aux": "ComfyUI_DiffRhythm_MW" + } + ], + "https://github.com/billwuhao/ComfyUI_EraX-WoW-Turbo": [ + [ + "EraXWoWRUN", + "WhisperTurboRun" + ], + { + "title_aux": "MW-ComfyUI_EraX-WoW-Turbo" + } + ], + "https://github.com/billwuhao/ComfyUI_IndexTTS": [ + [ + "IndexSpeakersPreview", + "IndexTTS2Run", + "IndexTTSRun", + "MultiLinePromptIndex" + ], + { + "title_aux": "ComfyUI_IndexTTS" + } + ], + "https://github.com/billwuhao/ComfyUI_KokoroTTS_MW": [ + [ + "KokoroRun", + "KokoroZHRun", + "MultiLinePromptKK" + ], + { + "title_aux": "ComfyUI_KokoroTTS_MW" + } + ], + "https://github.com/billwuhao/ComfyUI_MegaTTS3": [ + [ + "MegaTTS3Run", + "MegaTTS3SpeakersPreview", + "MultiLinePromptMG" + ], + { + "title_aux": "MW-ComfyUI_MegaTTS3" + } + ], + "https://github.com/billwuhao/ComfyUI_NotaGen": [ + [ + "NotaGenRun" + ], + { + "title_aux": "ComfyUI_NotaGen" + } + ], + "https://github.com/billwuhao/ComfyUI_OneButtonPrompt": [ + [ + "LoadImageAndPromptFromURL", + "LoadImageFromURL", + "LoadPrompt", + "StringEditNodeOBP" + ], + { + "title_aux": "MW-ComfyUI_OneButtonPrompt" + } + ], + "https://github.com/billwuhao/ComfyUI_OuteTTS": [ + [ + "OuteTTSRun" + ], + { + "title_aux": "MW-ComfyUI_OuteTTS" + } + ], + "https://github.com/billwuhao/ComfyUI_PortraitTools": [ + [ + "AlignFace", + "BeautifyPhoto", + "DetectCropFace", + "DetectCropFaces", + "IDPhotos", + "ImageWatermark", + "LoadImageMW" + ], + { + "title_aux": "MW-ComfyUI_PortraitTools" + } + ], + "https://github.com/billwuhao/ComfyUI_SOME": [ + [ + "SomeSing2Midi" + ], + { + "title_aux": "ComfyUI_SOME" + } + ], + "https://github.com/billwuhao/ComfyUI_SparkTTS": [ + [ + "AudioRecorderSpark", + "SparkTTSClone", + "SparkTTSRun" + ], + { + "title_aux": "ComfyUI_SparkTTS" + } + ], + "https://github.com/billwuhao/ComfyUI_StepAudioTTS": [ + [ + "AudioRecorder", + "StepAudioClone", + "StepAudioRun" + ], + { + "title_aux": "ComfyUI_StepAudioTTS" + } + ], + "https://github.com/billwuhao/ComfyUI_gemmax": [ + [ + "GemmaxRun", + "QuickMTRun" + ], + { + "title_aux": "MW-ComfyUI_gemmax" + } + ], + "https://github.com/billwuhao/ComfyUI_parakeet-tdt": [ + [ + "ParakeetASRRun" + ], + { + "title_aux": "ComfyUI_parakeet-tdt" + } + ], + "https://github.com/billwuhao/Comfyui_HeyGem": [ + [ + "HeyGemRun" + ], + { + "title_aux": "Comfyui_HeyGem" + } + ], + "https://github.com/birdneststream/ComfyUI-Mircify": [ + [ + "IRC Art Converter", + "IRC PNG Exporter", + "IRC Text Saver" + ], + { + "title_aux": "ComfyUI-Mircify" + } + ], "https://github.com/bitaffinity/ComfyUI_HF_Inference": [ [ "Classification", @@ -10299,6 +27220,53 @@ "title_aux": "ComfyUI_HF_Inference" } ], + "https://github.com/bkpaine1/Halo-Lipsy": [ + [ + "HaloLipsy" + ], + { + "title_aux": "Halo-Lipsy" + } + ], + "https://github.com/bkpaine1/Halo-TeaCache": [ + [ + "HaloTeaCache" + ], + { + "title_aux": "Halo-TeaCache" + } + ], + "https://github.com/bkpaine1/halo_pack": [ + [ + "HALOConditioningDebug", + "HALOLatentDebug", + "HALOModelDebug", + "HALOVAEDecode", + "HALOVAEEncode" + ], + { + "title_aux": "HALO Debug Pack" + } + ], + "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] Finetuned" + ], + { + "title_aux": "Black Forest Labs API Nodes" + } + ], "https://github.com/blackcodetavern/ComfyUI-Benripack": [ [ "AnimationExtractor", @@ -10309,24 +27277,42 @@ "title_aux": "ComfyUI-Benripack" } ], + "https://github.com/blepping/ComfyUI-ApplyResAdapterUnet": [ + [ + "ApplyResAdapterUnet" + ], + { + "title_aux": "ComfyUI-ApplyResAdapterUnet" + } + ], "https://github.com/blepping/ComfyUI-bleh": [ [ "BlehBlockCFG", "BlehBlockOps", + "BlehCFGInitSampler", + "BlehCast", "BlehDeepShrink", "BlehDisableNoise", "BlehDiscardPenultimateSigma", + "BlehEnsurePreviewer", "BlehForceSeedSampler", "BlehGlobalSageAttention", "BlehHyperTile", + "BlehImageAsLatent", "BlehInsaneChainSampler", + "BlehLatentAsImage", + "BlehLatentBlend", "BlehLatentOps", "BlehLatentScaleBy", "BlehModelPatchConditional", + "BlehModelPatchFastTerminate", "BlehPlug", "BlehRefinerAfter", "BlehSageAttentionSampler", - "BlehSetSamplerPreset" + "BlehSetSamplerPreset", + "BlehSetSigmas", + "BlehTAEVideoDecode", + "BlehTAEVideoEncode" ], { "title_aux": "ComfyUI-bleh" @@ -10334,6 +27320,8 @@ ], "https://github.com/blepping/ComfyUI-sonar": [ [ + "FreeUExtreme", + "FreeUExtremeConfig", "NoisyLatentLike", "SONAR_CUSTOM_NOISE to NOISE", "SamplerConfigOverride", @@ -10341,18 +27329,47 @@ "SamplerSonarEuler", "SamplerSonarEulerA", "SonarAdvanced1fNoise", + "SonarAdvancedCollatzNoise", + "SonarAdvancedDistroNoise", "SonarAdvancedPowerLawNoise", "SonarAdvancedPyramidNoise", + "SonarAdvancedVoronoiNoise", + "SonarApplyLatentOperationCFG", "SonarBlendedNoise", "SonarChannelNoise", "SonarCompositeNoise", "SonarCustomNoise", + "SonarCustomNoiseAdv", + "SonarCustomNoiseParameters", "SonarGuidanceConfig", "SonarGuidedNoise", + "SonarLatentOperationAdvanced", + "SonarLatentOperationFilteredNoise", + "SonarLatentOperationNoise", + "SonarLatentOperationQuantileFilter", + "SonarLatentOperationSetSeed", "SonarModulatedNoise", + "SonarNoiseImage", + "SonarNormalizeNoiseToScale", + "SonarPatternBreakNoise", + "SonarPerDimNoise", + "SonarPowerFilter", + "SonarPowerFilterNoise", + "SonarPowerNoise", + "SonarPreviewFilter", + "SonarQuantileFilteredNoise", "SonarRandomNoise", "SonarRepeatedNoise", - "SonarScheduledNoise" + "SonarResizedNoise", + "SonarResizedNoiseAdv", + "SonarRippleFilteredNoise", + "SonarScatternetFilteredNoise", + "SonarScheduledNoise", + "SonarShuffledNoise", + "SonarSplitNoiseChain", + "SonarWaveletCFG", + "SonarWaveletFilteredNoise", + "SonarWaveletNoise" ], { "title_aux": "ComfyUI-sonar" @@ -10380,6 +27397,8 @@ ], "https://github.com/blepping/comfyui_overly_complicated_sampling": [ [ + "OCS ApplyFilterImage", + "OCS ApplyFilterLatent", "OCS Group", "OCS ModelSetMaxSigma", "OCS MultiParam", @@ -10387,6 +27406,10 @@ "OCS Sampler", "OCS SimpleRestartSchedule", "OCS Substeps", + "OCSNoise Conditioning", + "OCSNoise ExpressionFilteredNoise", + "OCSNoise ImmiscibleReference", + "OCSNoise OverrideSamplerNoise", "OCSNoise PerlinAdvanced", "OCSNoise PerlinSimple", "OCSNoise to SONAR_CUSTOM_NOISE" @@ -10395,6 +27418,14 @@ "title_aux": "comfyui_overly_complicated_sampling" } ], + "https://github.com/blird/ComfyUI-Wanify": [ + [ + "AdaptiveImageResize" + ], + { + "title_aux": "ComfyUI-Wanify: Adaptive Image Resize Node" + } + ], "https://github.com/blob8/ComfyUI_sloppy-comic": [ [ "Generate Comic", @@ -10404,9 +27435,26 @@ "title_aux": "ComfyUI_sloppy-comic" } ], + "https://github.com/blob8/ComfyUI_video-image-motion-transfer": [ + [ + "VideoImageWarp" + ], + { + "title_aux": "ComfyUI_video-image-motion-transfer" + } + ], + "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", @@ -10424,6 +27472,15 @@ "title_aux": "ComfyUI_PS_Blend_Node" } ], + "https://github.com/blurgyy/CoMPaSS-FLUX.1-dev-ComfyUI": [ + [ + "CoMPaSS for FLUX.1-dev", + "Example" + ], + { + "title_aux": "CoMPaSS-ComfyUI" + } + ], "https://github.com/bmad4ever/comfyui_ab_samplercustom": [ [ "AB SamplerCustom (experimental)" @@ -10440,6 +27497,58 @@ "title_aux": "Lists Cartesian Product" } ], + "https://github.com/bmad4ever/comfyui_panels": [ + [ + "bmad_BBoxFromInts", + "bmad_BBoxSnap", + "bmad_BevelPolygon", + "bmad_BuildLayoutPanels", + "bmad_CanvasPanel", + "bmad_ComplementaryCardinals", + "bmad_CropImageByBBox", + "bmad_CropMaskByBBox", + "bmad_CropMaskHolesQuantizedPadded", + "bmad_DetectPanelsInImage", + "bmad_DrawPanelsEdges", + "bmad_DrawPanelsEdgesDashed", + "bmad_DrawPanelsEdgesDotted", + "bmad_GridPanelLayoutGenerator", + "bmad_GrowPanel", + "bmad_InvertCardinals", + "bmad_ListAppendPanel", + "bmad_ListTransferPanel", + "bmad_LoadPanelLayout", + "bmad_MutatePanelLayout", + "bmad_OffsetPolygonBounds", + "bmad_Panel2Mask", + "bmad_PasteCrops", + "bmad_PolygonBounds", + "bmad_PolygonOriginCenter", + "bmad_PolygonOriginCentroid", + "bmad_PolygonOriginVector", + "bmad_PolygonOriginVertex", + "bmad_PolygonToMask", + "bmad_PolygonToResizedMask", + "bmad_PolygonUnwrappedBounds", + "bmad_PreviewPanelLayout", + "bmad_PreviewPanels", + "bmad_RandomPanelLayoutGenerator", + "bmad_RelativeCropImage", + "bmad_RotatePolygon", + "bmad_SavePanelLayout", + "bmad_ScalePolygon", + "bmad_SkewPolygon", + "bmad_SliceList_Panels", + "bmad_SortPanels", + "bmad_StringDecodePanelLayout", + "bmad_StringEncodePanelLayout", + "bmad_TranslatePolygon", + "bmad_UnpackBBox" + ], + { + "title_aux": "comfyui-panels" + } + ], "https://github.com/bmad4ever/comfyui_quilting": [ [ "GuessQuiltingBlockSize_Bmad", @@ -10486,18 +27595,59 @@ "title_aux": "ComfyKit Custom Nodes" } ], + "https://github.com/bobosola/ComfyUI-reboot": [ + [ + "reboot" + ], + { + "title_aux": "ComfyUI-reboot" + } + ], + "https://github.com/bollerdominik/ComfyUI-load-lora-from-url": [ + [ + "AssertNotBlack", + "CutImageByMask", + "GeminiImage2GenAI", + "ImageResize+", + "LoadLoraFromUrlOrPath", + "LoadNunchakuLoraFromUrlOrPath", + "LoadUpscaleModelFromUrlOrPath", + "LoadVideoFromUrlOrPath", + "LoadVideoLoraFromUrlOrPath", + "LoadVideoLoraFromUrlOrPathSelect", + "OpenRouterGeminiImage", + "PasteImageByMask", + "SimpleMath+" + ], + { + "title_aux": "ComfyUI-load-lora-from-url" + } + ], "https://github.com/bombax-xiaoice/ComfyUI-Allegro": [ [ "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", @@ -10509,6 +27659,82 @@ "title_aux": "ComfyUI-MagicDance" } ], + "https://github.com/bombax-xiaoice/ComfyUI-Open-Sora-I2V": [ + [ + "OpenSoraDecoder", + "OpenSoraEncoder", + "OpenSoraLoader", + "OpenSoraSampler", + "OpenSoraTextEncoder" + ], + { + "title_aux": "ComfyUI-Open-Sora-I2V" + } + ], + "https://github.com/bombax-xiaoice/ComfyUI-OpenSoraPlan": [ + [ + "OpenSoraPlan0LoaderT2V", + "OpenSoraPlan1LoaderT2V", + "OpenSoraPlan2LoaderI2V", + "OpenSoraPlan2LoaderT2V", + "OpenSoraPlan2SamplerI2V", + "OpenSoraPlan3LoaderI2V", + "OpenSoraPlan3LoaderT2V", + "OpenSoraPlan3SamplerI2V", + "OpenSoraPlanDecoder", + "OpenSoraPlanPromptRefiner", + "OpenSoraPlanSamplerT2V" + ], + { + "title_aux": "ComfyUI-OpenSoraPlan" + } + ], + "https://github.com/bombdefuser-124/Newbie-Teacache-ComfyUI": [ + [ + "TeaCacheCoefficientCalculator", + "TeaCache_Lumina2" + ], + { + "title_aux": "Newbie-Teacache-ComfyUI" + } + ], + "https://github.com/bombless/comfyUI-RememberingUtils": [ + [ + "RememberLastSeed", + "ShowLastSeed", + "ShowLastText" + ], + { + "title_aux": "Remembering utils" + } + ], + "https://github.com/bomborant/ComfyUI-ShakaNodes": [ + [ + "ShakaTensorDebug", + "ShakaWanKeyframes" + ], + { + "title_aux": "ShakaNodes" + } + ], + "https://github.com/bongsang/ComfyUI-Bongsang": [ + [ + "AnyInfo", + "RgbChannel" + ], + { + "title_aux": "ComfyUI-Bongsang" + } + ], + "https://github.com/boredcoderyt/ComfyUI-Fibo-Edit": [ + [ + "FiboEdit", + "FiboEdit_VLM" + ], + { + "title_aux": "Fibo Edit Node for ComfyUI" + } + ], "https://github.com/boredofnames/ComfyUI-ntfy": [ [ "Ntfy", @@ -10518,7 +27744,52 @@ "title_aux": "ComfyUI-ntfy" } ], - "https://github.com/bradsec/ComfyUI_ResolutionSelector": [ + "https://github.com/boricuapab/ComfyUI-Bori-JsonSetGetConverter": [ + [ + "Bori Json Get Set Convert" + ], + { + "title_aux": "ComfyUI-Bori-JsonSetGetConverter" + } + ], + "https://github.com/boricuapab/ComfyUI-Bori-QwenImageResolutions": [ + [ + "Bori Qwen Image Resolution", + "Bori Qwen Img Res" + ], + { + "title_aux": "ComfyUI-Bori-QwenImageResolutions" + } + ], + "https://github.com/bowtiedbluefin/ComfyUI-AI-CustomURL": [ + [ + "ImageAdvancedParams_AICustomURL", + "ImageGeneration_AICustomURL", + "ImageLoader_AICustomURL", + "SaveVideo_AICustomURL", + "SpeechAdvancedParams_AICustomURL", + "SpeechGeneration_AICustomURL", + "TextAdvancedParams_AICustomURL", + "TextGeneration_AICustomURL", + "VideoAdvancedParams_AICustomURL", + "VideoGeneration_AICustomURL", + "VideoLoader_AICustomURL", + "VideoPreview_AICustomURL", + "VideoRetrieve_AICustomURL" + ], + { + "title_aux": "ComfyUI-AI-CustomURL" + } + ], + "https://github.com/bpmpnaito/comfyui-imageviewer": [ + [ + "ImageViewer" + ], + { + "title_aux": "comfyui-imageviewer" + } + ], + "https://github.com/bradsec/ComfyUI_ResolutionSelectorPlus": [ [ "ResolutionSelector" ], @@ -10526,6 +27797,27 @@ "title_aux": "ResolutionSelector for ComfyUI" } ], + "https://github.com/bradsec/ComfyUI_StringEssentials": [ + [ + "StringConditionalAppend", + "StringContainsAny", + "StringMultiReplace", + "StringPreview", + "StringStrip", + "StringTextbox" + ], + { + "title_aux": "ComfyUI_StringEssentials" + } + ], + "https://github.com/brahianrosswill/ComfyUi-RandomNoiseCustom": [ + [ + "RandomNoiseCustom" + ], + { + "title_aux": "ComfyUi-RandomNoiseCustom" + } + ], "https://github.com/braintacles/braintacles-comfyui-nodes": [ [ "CLIPTextEncodeSDXL-Multi-IO", @@ -10538,6 +27830,46 @@ "title_aux": "braintacles-nodes" } ], + "https://github.com/brantje/ComfyUI-api-tools": [ + [ + "SimpleGenImageInterface" + ], + { + "title_aux": "ComfyUI-api-tools" + } + ], + "https://github.com/brantje/ComfyUI_MagicQuill": [ + [ + "MagicQuill" + ], + { + "author": "Zichen LIU (https://zliucz.github.io/) and Yue YU (https://bruceyyu.github.io/)", + "description": "Official ComfyUI Implementations for Paper - MagicQuill: An Intelligent Interactive Image Editing System", + "nickname": "MagicQuill nodes", + "title": "MagicQuill", + "title_aux": "ComfyUI-MagicQuill" + } + ], + "https://github.com/brayevalerien/ComfyUI-GroqNodes": [ + [ + "GroqAudio", + "GroqBatch", + "GroqChat", + "GroqToolUse", + "GroqVision" + ], + { + "title_aux": "Groq Nodes" + } + ], + "https://github.com/brayevalerien/ComfyUI-SplitString": [ + [ + "Split String" + ], + { + "title_aux": "ComfyUI-splitstring" + } + ], "https://github.com/brayevalerien/ComfyUI-resynthesizer": [ [ "Resynthesize" @@ -10546,6 +27878,15 @@ "title_aux": "ComfyUI Resynthesizer" } ], + "https://github.com/brenzel/comfyui-prompt-beautify": [ + [ + "PromptBeautify", + "PromptBeautifyAdvanced" + ], + { + "title_aux": "comfyui-prompt-beautify" + } + ], "https://github.com/brianfitzgerald/style_aligned_comfy": [ [ "StyleAlignedBatchAlign", @@ -10572,6 +27913,24 @@ "title_aux": "comfyui-fitsize" } ], + "https://github.com/brucew4yn3rp/ComfyUI_SelectiveMetadata": [ + [ + "Multiline String", + "Save Image (Selective Metadata)", + "SaveImage" + ], + { + "title_aux": "Save Image with Selective Metadata" + } + ], + "https://github.com/brucew4yn3rp/ComfyUI_VintageEffect": [ + [ + "Vintage Effect" + ], + { + "title_aux": "Vintage Effect" + } + ], "https://github.com/bruefire/ComfyUI-SeqImageLoader": [ [ "VFrame Loader With Mask Editor", @@ -10581,6 +27940,42 @@ "title_aux": "ComfyUI Sequential Image Loader" } ], + "https://github.com/bryanmcguire/comfyui-flux2fun-controlnet": [ + [ + "Flux2FunControlNetApply", + "Flux2FunControlNetLoader" + ], + { + "title_aux": "comfyui-flux2fun-controlnet" + } + ], + "https://github.com/btitkin/ComfyUI-RandomPromptBuilder": [ + [ + "PromptDisplayNode", + "RandomPromptBuilder" + ], + { + "title_aux": "Random Prompt Builder" + } + ], + "https://github.com/buddy-bytes/ComfyUI-SmartResolutionToolkit": [ + [ + "SmartLatentGenerator", + "SmartResolutionPicker" + ], + { + "title_aux": "Smart Resolution Toolkit" + } + ], + "https://github.com/budihartono/comfyui-aspect-ratio-presets": [ + [ + "CAS Empty Latent Aspect Ratio Axis", + "CAS Empty Latent Aspect Ratio Preset" + ], + { + "title_aux": "CAS Aspect Ratio Presets Node for ComfyUI" + } + ], "https://github.com/budihartono/comfyui_otonx_nodes": [ [ "OTX Integer Multiple Inputs 4", @@ -10595,6 +27990,137 @@ "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)", + "Image: Downscale to Total Pixels (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/bulldog68/ComfyUI_FMJ_LLM": [ + [ + "FMJLlmConfigNode", + "FMJLlmOllamaVision", + "FMJOllamaPromptGenerator", + "FMJUnloadAllLLM" + ], + { + "title_aux": "FMJ-LLM" + } + ], + "https://github.com/bulldog68/ComfyUI_FMJ_SP": [ + [ + "FMJSpeedPrompt" + ], + { + "title_aux": "FMJ-speed-Prompt" + } + ], + "https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions": [ + [ + "FMJ_LoadImageWithSnapshot", + "FMJ_SaveImageWithSnapshot" + ], + { + "title_aux": "ComfyUI_FMJ_SaveImageVersions" + } + ], + "https://github.com/burnsbert/ComfyUI-EBU-LMStudio": [ + [ + "EbuLMStudioBrainstormer", + "EbuLMStudioLoadModel", + "EbuLMStudioMakeRequest", + "EbuLMStudioUnload", + "EbuLMStudioUnloadGuider" + ], + { + "title_aux": "EBU LMStudio LLM Integration" + } + ], + "https://github.com/burnsbert/ComfyUI-EBU-PromptHelper": [ + [ + "EbuPromptHelperCharacterDescriberFemale", + "EbuPromptHelperCharacterDescriberMale", + "EbuPromptHelperCombineTwoStrings", + "EbuPromptHelperConsumeListItem", + "EbuPromptHelperCurrentDateTime", + "EbuPromptHelperListSampler", + "EbuPromptHelperLoadFileAsString", + "EbuPromptHelperRandomColorPalette", + "EbuPromptHelperRandomize", + "EbuPromptHelperReplace", + "EbuPromptHelperSeasonWeatherTimeOfDay", + "EbuPromptHelperTruncate" + ], + { + "title_aux": "EBU PromptHelper" + } + ], + "https://github.com/burnsbert/ComfyUI-EBU-Workflow": [ + [ + "EbuAppendToFile", + "EbuComputeImageUpscale", + "EbuDecodeNewLines", + "EbuEncodeNewLines", + "EbuFileListCache", + "EbuGetImageAspectRatio", + "EbuGetImageAspectRatioFromImage", + "EbuImageWaitForImage", + "EbuModelWaitForImage", + "EbuReadFromFile", + "EbuScalingResolution", + "EbuScalingTile", + "EbuStringWaitForImage", + "EbuUniqueFileName" + ], + { + "title_aux": "EBU Workflow" + } + ], + "https://github.com/bvhari/ComfyUI_CFGStar": [ + [ + "CFGStar" + ], + { + "title_aux": "ComfyUI_CFGStar" + } + ], "https://github.com/bvhari/ComfyUI_ImageProcessing": [ [ "BilateralFilter", @@ -10635,6 +28161,57 @@ "title_aux": "ComfyUI_SUNoise" } ], + "https://github.com/by-ae/ae-in-workflow": [ + [ + "CropImageBatchToMaskBoundsAE", + "ImageSelectorAE", + "InterpolateFloatListAE", + "PoseEditorAE", + "ZImageImagesToLoRAAE" + ], + { + "title_aux": "ae-in-workflow" + } + ], + "https://github.com/bytedance/ComfyUI-HyperLoRA": [ + [ + "HyperLoRAApplyLoRA", + "HyperLoRABaseCond", + "HyperLoRAConfig", + "HyperLoRAFaceAttr", + "HyperLoRAGenerateBaseLoRA", + "HyperLoRAGenerateIDLoRA", + "HyperLoRAIDCond", + "HyperLoRALoader", + "HyperLoRASaveLoRA", + "HyperLoRAUniGenerateIDLoRA", + "HyperLoRAUniLoader" + ], + { + "title_aux": "ComfyUI-HyperLoRA" + } + ], + "https://github.com/bytedance/ComfyUI_InfiniteYou": [ + [ + "FaceCombine", + "FaceSwap_InfiniteYou", + "InfiniteYouApply" + ], + { + "title_aux": "ComfyUI_InfiniteYou" + } + ], + "https://github.com/c0dezer019/FreezeFrame": [ + [ + "PSampler", + "PSamplerAdvanced", + "PSamplerCustom", + "PSamplerCustomAdvanced" + ], + { + "title_aux": "FreezeFrame" + } + ], "https://github.com/c0ffymachyne/ComfyUI_BeatByte": [ [ "BytebeatSynth" @@ -10643,13 +28220,14 @@ "title_aux": "Bytebeat Synthesizer: Composing with Operators" } ], - "https://github.com/c0ffymachyne/ComfyUI_SingalProcessing": [ + "https://github.com/c0ffymachyne/ComfyUI_SignalProcessing": [ [ "SignalProcessingBaxandall3BandEQ", "SignalProcessingBaxandallEQ", "SignalProcessingConvolutionReverb", "SignalProcessingFilter", "SignalProcessingHarmonicsEnhancer", + "SignalProcessingLimiter", "SignalProcessingLoadAudio", "SignalProcessingLoudness", "SignalProcessingMixdown", @@ -10658,6 +28236,7 @@ "SignalProcessingPadSynthChoir", "SignalProcessingPaulStretch", "SignalProcessingPitchShifter", + "SignalProcessingSaturation", "SignalProcessingSpectrogram", "SignalProcessingStereoWidening", "SignalProcessingWaveform" @@ -10666,6 +28245,42 @@ "title_aux": "ComfyUI Signal Processing" } ], + "https://github.com/cake-ml/tiny-sana-preview": [ + [ + "TinySanaPreview" + ], + { + "title_aux": "TinySanaPreview" + } + ], + "https://github.com/calcuis/gguf": [ + [ + "AudioEncoderLoaderGGUF", + "ClipLoaderGGUF", + "DualClipLoaderGGUF", + "GGUFRun", + "GGUFSave", + "GGUFUndo", + "LoaderGGUF", + "LoaderGGUFAdvanced", + "QuadrupleClipLoaderGGUF", + "TENSORBoost", + "TENSORCut", + "TripleClipLoaderGGUF", + "VaeGGUF" + ], + { + "preemptions": [ + "LoaderGGUF", + "ClipLoaderGGUF", + "DualClipLoaderGGUF", + "TripleClipLoaderGGUF", + "LoaderGGUFAdvanced", + "GGUFSave" + ], + "title_aux": "gguf" + } + ], "https://github.com/caleboleary/ComfyUI-Arc2Face": [ [ "Arc2FaceEncoderLoader", @@ -10679,6 +28294,14 @@ "title_aux": "Arc2Face ComfyUI Node Library" } ], + "https://github.com/calibancode/ComfyUI-bevvy": [ + [ + "SaveImageWebP" + ], + { + "title_aux": "ComfyUI-bevvy" + } + ], "https://github.com/camenduru/ComfyUI-TostAI": [ [ "SendToTostAI" @@ -10687,15 +28310,470 @@ "title_aux": "ComfyUI-TostAI" } ], + "https://github.com/capitan01R/Capitan-ConditioningEnhancer": [ + [ + "CapitanAdvancedEnhancer", + "ConditioningEnhancer" + ], + { + "title_aux": "Capitan-ConditioningEnhancer" + } + ], + "https://github.com/capitan01R/ComfyUI-CapitanFlowMatch": [ + [ + "CapitanLinear", + "CapitanShift", + "CapitanShiftPresets" + ], + { + "title_aux": "ComfyUI-CapitanFlowMatch" + } + ], + "https://github.com/capitan01R/ComfyUI-CapitanZiT-Scheduler": [ + [ + "CapitanZiTLinearSigma", + "FlowMatchSchedulerSmoothCosine", + "SamplerMinimalChangeFlow" + ], + { + "title_aux": "ComfyUI-CapitanZiT-Scheduler" + } + ], + "https://github.com/capitan01R/ComfyUI-Flux2Klein-Enhancer": [ + [ + "Flux2KleinDetailController", + "Flux2KleinEnhancer", + "Flux2KleinRefLatentController", + "Flux2KleinSectionedEncoder", + "Flux2KleinTextEnhancer", + "Flux2KleinTextRefBalance" + ], + { + "title_aux": "ComfyUI-Flux2Klein-Enhancer" + } + ], + "https://github.com/capitan01R/ComfyUI-ZImageTurbo-FlowSampler": [ + [ + "FlowMatchScheduler", + "FlowMatchSchedulerDynamic", + "SigmaViewer", + "ZImagePresets", + "ZImageSampler", + "ZImageTurboScheduler", + "ZImageTurboSchedulerAdvanced" + ], + { + "title_aux": "ComfyUI-ZImageTurbo-FlowSampler" + } + ], + "https://github.com/cardenluo/ComfyUI-Apt_Preset": [ + [ + "AD_DrawSchedule", + "AD_FILM_VFI", + "AD_ImageExpandBatch", + "AD_MaskExpandBatch", + "AD_frame_replace", + "AD_pingpong_vedio", + "AD_sch_IPA", + "AD_sch_adv_CN", + "AD_sch_image_merge", + "AD_sch_latent", + "AD_sch_mask_weigh", + "AD_sch_prompt_adv", + "AD_sch_prompt_basic", + "AD_sch_prompt_stack", + "AD_sch_value", + "AD_slice_Condi", + "AI_GLM4", + "AI_GLM_image", + "AI_GLM_text", + "AI_Ollama_image", + "AI_Ollama_text", + "AI_PresetSave", + "AI_Qwen", + "AI_Qwen_text", + "Ai_Ollama_RunModel", + "Ai_doubao_seedream", + "Amp_audio_Normalized", + "Amp_drive_String", + "Amp_drive_mask", + "Amp_drive_value", + "Apt_clear_cache", + "CN_preset1_Unpack", + "CN_preset1_pack", + "Coordinate_Generator", + "Coordinate_Index2Text", + "Coordinate_MarkRender", + "Coordinate_SplitIndex", + "Coordinate_fromImage", + "Coordinate_fromMask", + "Coordinate_loadImage", + "Coordinate_pointCombine", + "Data_Highway", + "Data_basic", + "Data_bus_chx", + "Data_chx_Merge", + "Data_presetData", + "Data_preset_save", + "Data_sampleData", + "Data_select", + "Easy_QwenEdit2509", + "IO_EasyMark", + "IO_LoadImgList", + "IO_PathProcessor", + "IO_RegexPreset", + "IO_image_select", + "IO_input_any", + "IO_load_anyimage", + "IO_node_Script", + "IO_save_image", + "IO_store_image", + "IO_video_encode", + "IPA_XL_PromptInjection", + "IPA_clip_vision", + "Image_Channel_Apply", + "Image_CnMapMix", + "Image_CnMap_Resize", + "Image_Detail_HL_frequencye", + "Image_Pair_Merge", + "Image_Pair_crop", + "Image_Resize2", + "Image_Resize_longsize", + "Image_Resize_sum", + "Image_Resize_sum_data", + "Image_Resize_sum_restore", + "Image_Solo_data", + "Image_UpscaleModel", + "Image_batch_composite", + "Image_batch_select", + "Image_effect_Load", + "Image_merge2image", + "Image_pad_adjust", + "Image_pad_adjust_restore", + "Image_pad_keep", + "Image_precision_Converter", + "Image_safe_size", + "Image_smooth_blur", + "Image_solo_crop", + "Image_solo_crop2", + "Image_solo_stitch", + "Image_target_adjust", + "Image_transform_layer", + "Image_transform_layer_adv", + "Mask_BodySegment", + "Mask_ClothesSegment", + "Mask_Detect_label", + "Mask_FaceSegment", + "Mask_Remove_bg", + "Mask_Remove_bg2", + "Mask_image2mask", + "Mask_math", + "Mask_simple_adjust", + "Mask_splitMask", + "Mask_splitMask_by_color", + "Mask_split_mulMask", + "Mask_transform_sum", + "Model_Preset_Unpack", + "Model_Preset_pack", + "Scheduler_CondNoise", + "Scheduler_MixScheduler", + "Stack_CN_union", + "Stack_CN_union3", + "Stack_ControlNet", + "Stack_EmbossAndFill", + "Stack_GradientAndStroke", + "Stack_IPA", + "Stack_Kontext_MulCondi", + "Stack_Kontext_MulImg", + "Stack_Ksampler_adv", + "Stack_Ksampler_basic", + "Stack_Ksampler_custom", + "Stack_Ksampler_dual_paint", + "Stack_Ksampler_highAndLow", + "Stack_Ksampler_refine", + "Stack_LoRA", + "Stack_Redux", + "Stack_ShadowAndGlow", + "Stack_VAEDecodeTiled", + "Stack_Wan22FunControlToVideo", + "Stack_WanAnimateToVideo", + "Stack_WanCameraImageToVideo", + "Stack_WanFirstLastFrameToVideo", + "Stack_WanFunControlToVideo", + "Stack_WanFunInpaintToVideo", + "Stack_WanHuMoImageToVideo", + "Stack_WanImageToVideo", + "Stack_WanPhantomSubjectToVideo", + "Stack_WanSoundImageToVideo", + "Stack_WanSoundImageToVideoExtend", + "Stack_WanTrackToVideo", + "Stack_WanVaceToVideo", + "Stack_adv_CN", + "Stack_condi", + "Stack_inpaint", + "Stack_ksampler_tile", + "Stack_latent", + "Stack_pre_Mark2", + "Stack_sample_data", + "Stack_text", + "basicIn_Boolean", + "basicIn_Remap_slide", + "basicIn_Sampler", + "basicIn_Scheduler", + "basicIn_Seed", + "basicIn_float", + "basicIn_input", + "basicIn_int", + "basicIn_string", + "basic_Ksampler_adv", + "basic_Ksampler_custom", + "basic_Ksampler_full", + "basic_Ksampler_low_gpu", + "basic_Ksampler_mid", + "basic_Ksampler_simple", + "batch_BatchSlice", + "batch_MergeBatch", + "chx_IPA_XL", + "chx_IPA_adv", + "chx_IPA_apply_combine", + "chx_IPA_basic", + "chx_IPA_faceID", + "chx_IPA_faceID_adv", + "chx_IPA_region_combine", + "chx_Ksampler_Kontext", + "chx_Ksampler_Kontext_adv", + "chx_Ksampler_Kontext_inpaint", + "chx_Ksampler_VisualStyle", + "chx_Ksampler_dual_area", + "chx_Ksampler_dual_paint", + "chx_Ksampler_highAndLow", + "chx_Ksampler_inpaint", + "chx_Ksampler_mix", + "chx_Ksampler_refine", + "chx_YC_LG_Redux", + "chx_input_data", + "chx_ksampler_Deforum_sch", + "chx_ksampler_tile", + "chx_latent_adjust", + "color_Fragment", + "color_OneColor_keep", + "color_OneColor_replace", + "color_RadiaBrightGradient", + "color_TransforTool", + "color_adjust_HDR", + "color_adjust_HSL", + "color_balance_adv", + "color_brightGradient", + "color_match_adv", + "color_select", + "create_AD_mask", + "create_Mask_match_shape", + "create_Mask_match_shape2", + "create_Mask_visual_tag", + "create_RadialGradient", + "create_any_List", + "create_any_batch", + "create_image_batch", + "create_lineGradient", + "create_mask_array", + "create_mask_batch", + "create_mask_solo", + "create_mulcolor_img", + "excel_Prompter", + "excel_Qwen_camera", + "excel_VedioPrompt", + "excel_column_diff", + "excel_insert_image", + "excel_insert_image_easy", + "excel_qwen_artistic", + "excel_qwen_font", + "excel_read", + "excel_read_easy", + "excel_roles", + "excel_row_diff", + "excel_search_data", + "excel_write_data", + "excel_write_data_easy", + "flow_BooleanSwitch", + "flow_QueueTrigger", + "flow_auto_pixel", + "flow_bridge_image", + "flow_case_tentor", + "flow_createbatch", + "flow_forEnd", + "flow_forStart", + "flow_judge_input", + "flow_judge_output", + "flow_low_gpu", + "flow_sch_control", + "flow_switch_input", + "flow_switch_output", + "flow_tensor_Unify", + "flow_whileEnd", + "flow_whileStart", + "img_effect_CircleWarp", + "img_effect_Liquify", + "img_effect_Stretch", + "img_effect_WaveWarp", + "latent_Image2Noise", + "latent_chx_noise", + "lay_ImageGrid", + "lay_MaskGrid", + "lay_edge_cut", + "lay_image_grid_note", + "lay_images_free_layout", + "lay_mul_image", + "lay_text_sum", + "lay_text_sum_mul", + "list_ListSlice", + "list_MergeList", + "list_Value", + "list_num_range", + "load_GGUF", + "load_Nanchaku", + "math_Remap_data", + "math_calculate", + "model_Style_Align", + "model_tool_assy", + "pack_Pack", + "pack_Unpack", + "param_preset_Unpack", + "param_preset_pack", + "photoshop_preset_Unpack", + "photoshop_preset_pack", + "pre_Kontext", + "pre_Kontext_mul_Image", + "pre_Kontext_mul_mask", + "pre_QwenEdit", + "pre_USO", + "pre_Unit_PromptWeight", + "pre_ZImageInpaint_patch", + "pre_advanced_condi_merge", + "pre_controlnet", + "pre_controlnet_union", + "pre_guide", + "pre_ic_light_sd15", + "pre_inpaint_sum", + "pre_latent_light", + "pre_mul_Mulcondi", + "pre_mul_ref_latent", + "pre_qwen_controlnet", + "pre_sample_data", + "sampler_DynamicTileMerge", + "sampler_DynamicTileSplit", + "sampler_enhance", + "sch_Prompt", + "sch_Value", + "sch_image", + "sch_mask", + "sch_split_text", + "sch_text", + "scheduler_ModelAligned", + "scheduler_interactive_sigmas", + "scheduler_manual_sigmas", + "scheduler_sigmas2Graph", + "stack_Mask2color", + "sum_Ksampler", + "sum_TextEncode", + "sum_create_chx", + "sum_editor", + "sum_latent", + "sum_load_adv", + "sum_load_simple", + "sum_lora", + "sum_stack_AD", + "sum_stack_Kontext", + "sum_stack_QwenEditPlus", + "sum_stack_Wan", + "sum_stack_flux2_Klein", + "sum_stack_image", + "text_Splitter", + "text_StrMatrix", + "text_converter", + "text_filter", + "text_list_combine", + "text_loadText", + "text_modifier", + "text_mul_Join", + "text_mul_Split", + "text_saveText", + "text_sum", + "text_wildcards", + "texture_Ksampler", + "texture_Offset", + "texture_apply", + "texture_create", + "texture_render", + "type_AnyCast", + "type_AnyIndex", + "type_BasiPIPE", + "type_BatchToList", + "type_ImageAlphaSplit", + "type_Image_Batch2List", + "type_Image_List2Batch", + "type_Image_List2Batch_adv", + "type_ListToBatch", + "type_Mask_Batch2List", + "type_Mask_List2Batch", + "unpack_box2", + "view_Data", + "view_GetLength", + "view_GetShape", + "view_GetWidgetsValues", + "view_Mask_And_Img", + "view_Primitive", + "view_bridge_Text", + "view_bridge_image", + "view_combo", + "view_mask", + "view_mulView" + ], + { + "title_aux": "ComfyUI-Apt_Preset" + } + ], + "https://github.com/cardenluo/ComfyUI-Apt_UnitPromptWeight": [ + [ + "Unit_PromptWeight" + ], + { + "title_aux": "ComfyUI-Apt_UnitPromptWeight" + } + ], + "https://github.com/casc1701/ComfyUI_OverlayFrameNumber": [ + [ + "OverlayFrameNumber" + ], + { + "title_aux": "ComfyUI_OverlayFrameNumber" + } + ], + "https://github.com/casterpollux/MiniMax-bmo": [ + [ + "MinimaxRemoverBMO" + ], + { + "nodename_pattern": "MiniMax.*BMO|BMO.*MiniMax", + "title_aux": "MiniMax Video Object Remover Suite" + } + ], "https://github.com/catboxanon/comfyui_stealth_pnginfo": [ [ - "AddA1111LikeMetadata", "CatboxAnonSaveImageStealth" ], { "title_aux": "comfyui_stealth_pnginfo" } ], + "https://github.com/cathodeDreams/comfyui-azul-scripts": [ + [ + "SaveImageAsJPG", + "WeightedConditioningAverage" + ], + { + "title_aux": "comfyui-azul-scripts" + } + ], "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life": [ [ "BOPBTL_BlendFaces", @@ -10716,6 +28794,7 @@ ], "https://github.com/cdb-boop/comfyui-image-round": [ [ + "ComfyUI_Image_Round__CircularCrop", "ComfyUI_Image_Round__ImageCropAdvanced", "ComfyUI_Image_Round__ImageRound", "ComfyUI_Image_Round__ImageRoundAdvanced" @@ -10732,6 +28811,93 @@ "title_aux": "Text Node With Comments (@cdxoo)" } ], + "https://github.com/cedarconnor/ComfyUI-DreamCube": [ + [ + "ApplyDepthToCubemapFace", + "BatchCubemapDepth", + "CreateEmptyCubemap", + "CubemapInfo", + "CubemapPreview", + "CubemapSeamValidator", + "CubemapToEquirect", + "EnforceDepthConsistency", + "EquirectToCubemap", + "ExtractCubemapFace", + "ExtractDepthChannel", + "InsertCubemapFace", + "MergeCubemapDepth", + "NormalizeCubemapDepth", + "SmoothCubemapDepth" + ], + { + "title_aux": "ComfyUI-DreamCube" + } + ], + "https://github.com/cedarconnor/ComfyUI-Skeletonretarget": [ + [ + "ApplyRetargetTransform", + "ComputeRetargetTransform", + "ExtractSkeletonFromPose", + "SkeletonToOpenPoseImage" + ], + { + "title_aux": "ComfyUI-Skeletonretarget" + } + ], + "https://github.com/cedarconnor/comfyui-BatchNameLoop": [ + [ + "Batch Image Iterator", + "Batch Image Loader", + "Batch Image Saver", + "Batch Image Single Saver" + ], + { + "title_aux": "ComfyUI Batch Name Loop" + } + ], + "https://github.com/cedarconnor/comfyui-LatLong": [ + [ + "Cubemap Faces Extract", + "Cubemap To Equirectangular", + "Cubemap To Equirectangular (Flexible)", + "Equirectangular Crop 180", + "Equirectangular Crop Square", + "Equirectangular Edge Blender", + "Equirectangular Mirror Flip", + "Equirectangular Perspective Extract", + "Equirectangular Processor", + "Equirectangular Resize", + "Equirectangular Rotate", + "Equirectangular Rotate Preset", + "Equirectangular To Cubemap", + "Equirectangular To Cubemap (Flexible)", + "LatLong Apply Circular Padding Model", + "LatLong Apply Circular Padding VAE", + "LatLong Create Pole Mask", + "LatLong Create Seam Mask", + "LatLong Outpaint Setup", + "LatLong Outpaint Stitch", + "LatLong Roll Image", + "LatLong Roll Mask", + "LatLong Split Cubemap Faces", + "LatLong Stack Cubemap Faces", + "PanoramaVideoViewerNode", + "PanoramaViewerNode" + ], + { + "title_aux": "ComfyUI LatLong - Equirectangular Image Processing Nodes" + } + ], + "https://github.com/cedarconnor/upsampler": [ + [ + "Upsampler Dynamic Upscale", + "Upsampler Precise Upscale", + "Upsampler Smart Upscale" + ], + { + "title_aux": "ComfyUI Upsampler Nodes" + } + ], "https://github.com/celoron/ComfyUI-VisualQueryTemplate": [ [ "VisualQueryTemplateNode" @@ -10742,8 +28908,11 @@ ], "https://github.com/celsojr2013/comfyui_jamworks_client": [ [ + "Jamworks Download", + "Jamworks Login", "Jamworks_Download", "Jamworks_Login", + "Shell Command", "Shell_Command" ], { @@ -10760,17 +28929,29 @@ "title_aux": "ComfyUI SimpleTools Suit" } ], + "https://github.com/cenzijing/ComfyUI-Markmap": [ + [ + "MarkmapNode", + "ReadHtmlNode" + ], + { + "title_aux": "ComfyUI-Markmap" + } + ], "https://github.com/cerspense/ComfyUI_cspnodes": [ [ + "CountTextLines", "DepthToNormalMap", + "GetLastFrameFromBatch", + "GetMP4Prompt", "ImageDirIterator", "IncrementEveryN", "Modelscopet2v", "Modelscopev2v", "RemapRange", + "RemoveBlankLines", "ResizeByImage", "SplitImageChannels", - "TextFileLineIterator", "VidDirIterator" ], { @@ -10785,6 +28966,21 @@ "title_aux": "ComfyUI LLaVA Captioner" } ], + "https://github.com/cganimitta/ComfyUI_CGAnimittaTools": [ + [ + "CGA_BlackBorderCrop", + "CGA_BlenderBridge", + "CGA_ColorToGrayscale", + "CGA_ExtractFromList", + "CGA_FrameExtraction\ud83c\udf9e\ufe0f", + "CGA_ListSubfolders", + "CGA_NegativeSelector", + "CGA_TxtReaderNode" + ], + { + "title_aux": "ComfyUI_CGAnimittaTools" + } + ], "https://github.com/chakib-belgaid/ComfyUI-autosize": [ [ "CustomAutoSize", @@ -10802,6 +28998,14 @@ "title_aux": "ComfyUI Style Plugin" } ], + "https://github.com/chameleon-ai/comfyui_momo": [ + [ + "MoMo" + ], + { + "title_aux": "comfyui_momo" + } + ], "https://github.com/chandlergis/ComfyUI-IMG_Query": [ [ "ImageRequestNode" @@ -10818,6 +29022,15 @@ "title_aux": "ComfyUI_EmojiOverlay" } ], + "https://github.com/changwook987/ComfyUI-Small-Utility": [ + [ + "Eval", + "RandomEmptyLatent" + ], + { + "title_aux": "ComfyUI-Small-Utility" + } + ], "https://github.com/chaojie/ComfyUI-AniPortrait": [ [ "AniPortraitLoader", @@ -11202,13 +29415,9 @@ "chaosaiart_KSampler1", "chaosaiart_KSampler2", "chaosaiart_KSampler3", - "chaosaiart_KSampler4", - "chaosaiart_KSampler5", - "chaosaiart_KSampler7", "chaosaiart_KSampler_a1", "chaosaiart_KSampler_a1a", "chaosaiart_KSampler_a2", - "chaosaiart_KSampler_expert_0", "chaosaiart_KSampler_expert_1", "chaosaiart_Ksampler_attribut", "chaosaiart_Load_Image_Batch", @@ -11224,7 +29433,6 @@ "chaosaiart_SaveImage", "chaosaiart_Show_Info", "chaosaiart_Simple_Prompt", - "chaosaiart_Style_Node", "chaosaiart_TextCLIPEncode", "chaosaiart_TextCLIPEncode_lora", "chaosaiart_adjust_color", @@ -11236,8 +29444,8 @@ "chaosaiart_controlnet_weidgth", "chaosaiart_convert", "chaosaiart_convert_Prompt", + "chaosaiart_deepseek_fix", "chaosaiart_forPreview", - "chaosaiart_image_loop", "chaosaiart_img2gif", "chaosaiart_img2video", "chaosaiart_lora", @@ -11259,6 +29467,84 @@ "title_aux": "Chaosaiart-Nodes" } ], + "https://github.com/charlyad142/ComfyUI_Charly_FitToAspectNode": [ + [ + "Charly FitToAspectNode" + ], + { + "title_aux": "ComfyUI Charly FitToAspectNode" + } + ], + "https://github.com/charlyad142/ComfyUI_bfl_api_pro_nodes": [ + [ + "BFL Flux 2 Flex", + "BFL Flux 2 Pro", + "BFL Flux Kontext", + "BFL Flux Ultra", + "BFL Image Expander", + "BFL Image Generator", + "BFL Inpainting" + ], + { + "title_aux": "ComfyUI BFL API Pro Nodes" + } + ], + "https://github.com/charlyad142/comfyUI_charly_replicate_api": [ + [ + "Replicate Qwen Image Edit", + "Replicate Qwen Image Edit Plus", + "Replicate SeedEdit", + "Replicate Seedream4" + ], + { + "title_aux": "ComfyUI Replicate Image Generation & Edit" + } + ], + "https://github.com/chaserhkj/ComfyUI-Chaser-nodes": [ + [ + "EvalFloatExpr", + "EvalIntExpr", + "LoadImageFromWebDAV", + "MergeData", + "PromptFormatter", + "PromptTemplate", + "RegisterTemplate", + "SetData", + "TemplateFileLoader", + "UploadImagesToWebDAV", + "UploadMP4ToWebDAV", + "UploadWebMToWebDAV", + "YAMLData", + "YAMLFileLoader" + ], + { + "title_aux": "Chaser's Custom Nodes" + } + ], + "https://github.com/chchchadzilla/ComfyUI-ChomfyNodes": [ + [ + "ChomfyDetailedLogger", + "ChomfyMegaPrompt", + "ChomfyUniversalCounter", + "ChomfyUniversalNoise" + ], + { + "title_aux": "ComfyUI-ChomfyNodes" + } + ], + "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", @@ -11272,6 +29558,79 @@ "title_aux": "ComfyUI-SCStepFun" } ], + "https://github.com/chenlongming/ComfyUI_Spectral": [ + [ + "Calculate", + "KMeans", + "LoadEnvi", + "LoadSpectral", + "Plot" + ], + { + "title_aux": "ComfyUI_Spectral" + } + ], + "https://github.com/chenpipi0807/ComfyUI-Index-TTS": [ + [ + "AudioCleanupNode", + "IndexTTS2BaseNode", + "IndexTTS2CacheControlNode", + "IndexTTS2EmotionAudioNode", + "IndexTTS2EmotionTextNode", + "IndexTTS2EmotionVectorNode", + "IndexTTS2ProNode", + "IndexTTSNode", + "IndexTTSProNode", + "NovelTextStructureNode", + "TimbreAudioLoader" + ], + { + "author": "ComfyUI-Index-TTS", + "description": "ComfyUI\u63a5\u53e3\u7684\u5de5\u4e1a\u7ea7\u96f6\u6837\u672c\u6587\u672c\u5230\u8bed\u97f3\u5408\u6210\u7cfb\u7edf", + "title": "IndexTTS for ComfyUI", + "title_aux": "ComfyUI-Index-TTS" + } + ], + "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie": [ + [ + "NSFWFilterNode" + ], + { + "title_aux": "ComfyUI NSFW Filter" + } + ], + "https://github.com/chenpipi0807/Comfyui-CustomizeTextEncoder-Qwen-image": [ + [ + "TextEncodeQwenImageEditEnhanced", + "TextEncodeQwenImageT2ICustom" + ], + { + "title_aux": "Comfyui-CustomizeTextEncoder-Qwen-image" + } + ], + "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" + ], + { + "title_aux": "Logo Generator Node for ComfyUI" + } + ], "https://github.com/chesnokovivan/ComfyUI-Novakid": [ [ "Novakid Styler" @@ -11292,6 +29651,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" @@ -11300,6 +29667,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", @@ -11318,16 +29695,19 @@ "LayerColor: LAB", "LayerColor: LUT Apply", "LayerColor: Levels", + "LayerColor: Negative", "LayerColor: RGB", "LayerColor: YUV", "LayerFilter: AddGrain", "LayerFilter: ChannelShake", "LayerFilter: ColorMap", + "LayerFilter: DistortDisplace", "LayerFilter: Film", "LayerFilter: FilmV2", "LayerFilter: GaussianBlur", "LayerFilter: GaussianBlurV2", "LayerFilter: HDREffects", + "LayerFilter: HalfTone", "LayerFilter: LightLeak", "LayerFilter: MotionBlur", "LayerFilter: Sharp & Soft", @@ -11336,12 +29716,16 @@ "LayerFilter: WaterColor", "LayerMask: BlendIf Mask", "LayerMask: CreateGradientMask", + "LayerMask: DrawRoundedRectangle", "LayerMask: ImageToMask", + "LayerMask: LoadSegformerModel", "LayerMask: MaskBoxDetect", + "LayerMask: MaskBoxExtend", "LayerMask: MaskByColor", "LayerMask: MaskEdgeShrink", "LayerMask: MaskEdgeUltraDetail", "LayerMask: MaskEdgeUltraDetail V2", + "LayerMask: MaskEdgeUltraDetail V3", "LayerMask: MaskGradient", "LayerMask: MaskGrain", "LayerMask: MaskGrow", @@ -11354,8 +29738,11 @@ "LayerMask: RmBgUltra V2", "LayerMask: SegformerB2ClothesUltra", "LayerMask: SegformerClothesPipelineLoader", + "LayerMask: SegformerClothesSetting", "LayerMask: SegformerFashionPipelineLoader", + "LayerMask: SegformerFashionSetting", "LayerMask: SegformerUltraV2", + "LayerMask: SegformerUltraV3", "LayerMask: Shadow & Highlight Mask", "LayerMask: ShadowHighlightMaskV2", "LayerStyle: ColorOverlay", @@ -11374,12 +29761,14 @@ "LayerStyle: OuterGlow V2", "LayerStyle: Stroke", "LayerStyle: Stroke V2", + "LayerUtility: AnyRerouter", "LayerUtility: BatchSelector", "LayerUtility: Boolean", "LayerUtility: BooleanOperator", "LayerUtility: BooleanOperatorV2", "LayerUtility: CheckMask", "LayerUtility: CheckMaskV2", + "LayerUtility: ChoiceTextPreset", "LayerUtility: ColorImage", "LayerUtility: ColorImage V2", "LayerUtility: ColorName", @@ -11391,14 +29780,19 @@ "LayerUtility: ExtendCanvas", "LayerUtility: ExtendCanvasV2", "LayerUtility: Float", + "LayerUtility: FluxKontextImageScale", "LayerUtility: GetImageSize", "LayerUtility: GetMainColors", + "LayerUtility: GetMainColorsV2", "LayerUtility: GradientImage", "LayerUtility: GradientImage V2", "LayerUtility: GrayValue", "LayerUtility: HLFrequencyDetailRestore", "LayerUtility: HSV Value", + "LayerUtility: ICMask", + "LayerUtility: ICMaskCropBack", "LayerUtility: If", + "LayerUtility: ImageBatchToList", "LayerUtility: ImageBlend", "LayerUtility: ImageBlend V2", "LayerUtility: ImageBlendAdvance", @@ -11407,8 +29801,11 @@ "LayerUtility: ImageChannelMerge", "LayerUtility: ImageChannelSplit", "LayerUtility: ImageCombineAlpha", + "LayerUtility: ImageCompositeHandleMask", "LayerUtility: ImageHub", + "LayerUtility: ImageListToBatch", "LayerUtility: ImageMaskScaleAs", + "LayerUtility: ImageMaskScaleAsV2", "LayerUtility: ImageOpacity", "LayerUtility: ImageReel", "LayerUtility: ImageReelComposit", @@ -11419,19 +29816,25 @@ "LayerUtility: ImageScaleRestore V2", "LayerUtility: ImageShift", "LayerUtility: ImageTaggerSave", + "LayerUtility: ImageTaggerSaveV2", "LayerUtility: Integer", "LayerUtility: LayerImageTransform", "LayerUtility: LayerMaskTransform", + "LayerUtility: LoadImagesFromPath", "LayerUtility: LoadVQAModel", + "LayerUtility: NameToColor", + "LayerUtility: NanoBananaImageScale", "LayerUtility: NumberCalculator", "LayerUtility: NumberCalculatorV2", "LayerUtility: PrintInfo", "LayerUtility: PurgeVRAM", + "LayerUtility: PurgeVRAM V2", "LayerUtility: QueueStop", "LayerUtility: RGB Value", "LayerUtility: RandomGenerator", "LayerUtility: RandomGeneratorV2", "LayerUtility: RestoreCropBox", + "LayerUtility: RoundedRectangle", "LayerUtility: Seed", "LayerUtility: SimpleTextImage", "LayerUtility: String", @@ -11442,6 +29845,7 @@ "LayerUtility: TextImage V2", "LayerUtility: TextJoin", "LayerUtility: TextJoinV2", + "LayerUtility: TextPreseter", "LayerUtility: VQAPrompt", "LayerUtility: XY to Percent" ], @@ -11460,6 +29864,7 @@ "LayerMask: BiRefNetUltra", "LayerMask: BiRefNetUltraV2", "LayerMask: DrawBBoxMask", + "LayerMask: DrawBBoxMaskV2", "LayerMask: EVFSAMUltra", "LayerMask: Florence2Ultra", "LayerMask: HumanPartsUltra", @@ -11467,36 +29872,52 @@ "LayerMask: LoadBiRefNetModel", "LayerMask: LoadBiRefNetModelV2", "LayerMask: LoadFlorence2Model", + "LayerMask: LoadSAM2Model", + "LayerMask: LoadSegmentAnythingModels", "LayerMask: MaskByDifferent", "LayerMask: MediapipeFacialSegment", "LayerMask: ObjectDetectorFL2", + "LayerMask: ObjectDetectorGemini", + "LayerMask: ObjectDetectorGeminiV2", "LayerMask: ObjectDetectorMask", "LayerMask: ObjectDetectorYOLO8", "LayerMask: ObjectDetectorYOLOWorld", "LayerMask: PersonMaskUltra", "LayerMask: PersonMaskUltra V2", "LayerMask: SAM2Ultra", + "LayerMask: SAM2UltraV2", "LayerMask: SAM2VideoUltra", "LayerMask: SegmentAnythingUltra", "LayerMask: SegmentAnythingUltra V2", + "LayerMask: SegmentAnythingUltra V3", "LayerMask: TransparentBackgroundUltra", "LayerMask: YoloV8Detect", "LayerUtility: AddBlindWaterMark", + "LayerUtility: Collage", "LayerUtility: CreateQRCode", "LayerUtility: DecodeQRCode", + "LayerUtility: DeepSeekAPI", + "LayerUtility: DeepSeekAPIV2", "LayerUtility: Florence2Image2Prompt", + "LayerUtility: Gemini", + "LayerUtility: GeminiImageEdit", + "LayerUtility: GeminiV2", "LayerUtility: GetColorTone", "LayerUtility: GetColorToneV2", "LayerUtility: ImageAutoCrop", "LayerUtility: ImageAutoCrop V2", "LayerUtility: ImageAutoCrop V3", "LayerUtility: ImageRewardFilter", + "LayerUtility: JimengI2IAPI", "LayerUtility: JoyCaption2", "LayerUtility: JoyCaption2ExtraOptions", "LayerUtility: JoyCaption2Split", + "LayerUtility: JoyCaptionBeta1", + "LayerUtility: JoyCaptionBeta1ExtraOptions", "LayerUtility: LaMa", "LayerUtility: LlamaVision", "LayerUtility: LoadJoyCaption2Model", + "LayerUtility: LoadJoyCaptionBeta1Model", "LayerUtility: LoadPSD", "LayerUtility: LoadSmolLM2Model", "LayerUtility: LoadSmolVLMModel", @@ -11506,12 +29927,15 @@ "LayerUtility: QWenImage2Prompt", "LayerUtility: SD3NegativeConditioning", "LayerUtility: SaveImagePlus", + "LayerUtility: SaveImagePlusV2", "LayerUtility: ShowBlindWaterMark", "LayerUtility: SmolLM2", "LayerUtility: SmolVLM", "LayerUtility: UserPromptGeneratorReplaceWord", "LayerUtility: UserPromptGeneratorTxt2ImgPrompt", - "LayerUtility: UserPromptGeneratorTxt2ImgPromptWithReference" + "LayerUtility: UserPromptGeneratorTxt2ImgPromptWithReference", + "LayerUtility: ZhipuGLM4", + "LayerUtility: ZhipuGLM4V" ], { "author": "chflame", @@ -11586,6 +30010,42 @@ "title_aux": "Comfy-Topaz" } ], + "https://github.com/chou18194766xx/comfyui-EncryptSave": [ + [ + "EncryptSaveAES" + ], + { + "title_aux": "comfyui-EncryptSave" + } + ], + "https://github.com/chou18194766xx/comfyui_EncryptPreview": [ + [ + "EncryptPreviewImage" + ], + { + "title_aux": "comfyui_EncryptPreview" + } + ], + "https://github.com/chri002/ComfyUI_depthMapOperation": [ + [ + "CleanPoints (KDTree)", + "CloudPointsInfo", + "CubeLimit", + "Export to PLY", + "ImageToPoints (Torch)", + "Import PLY", + "InterpolatePoints (KDTree)", + "PointsToImage (Orthographic)", + "PointsToImage (Projection)", + "PointsToImage advance (DEBUG)", + "PointsToImage advance (Orthographic)", + "PointsToImage advance (Projection)", + "TransformPoints" + ], + { + "title_aux": "ComfyUI_depthMapOperation" + } + ], "https://github.com/chris-arsenault/ComfyUI-AharaNodes": [ [ "FrameSegmenter", @@ -11632,24 +30092,34 @@ ], { "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" } ], - "https://github.com/chrisgoringe/cg-image-picker": [ + "https://github.com/chrisgoringe/cg-image-filter": [ [ - "Preview Chooser", - "Preview Chooser Fabric", - "Simple Chooser" + "Any List to String", + "Batch from Image List", + "Image Filter", + "Image List From Batch", + "Mask Image Filter", + "Masked Section", + "Pick from List", + "Split String by Commas", + "String List from Strings", + "String to Float", + "String to Int", + "Text Image Filter", + "Text Image Filter with Extras" ], { "author": "chrisgoringe", - "description": "Custom nodes that preview images and pause the workflow to allow the user to select one or more to progress", - "nickname": "Image Chooser", - "title": "Image Chooser", - "title_aux": "Image chooser" + "description": "A custom node that pauses the flow while you choose which image or images to pass on to the rest of the workflow. Simplified and improved version of cg-image-picker.", + "nickname": "Image Filter", + "title": "Image Filter", + "title_aux": "Image Filter" } ], "https://github.com/chrisgoringe/cg-noisetools": [ @@ -11657,7 +30127,8 @@ "Batch Noise Simulate", "Mix Noise", "Seperable Batch Noise", - "Shape Noise" + "Shape Noise", + "Split Sigmas with Rewind" ], { "title_aux": "Noise variation and batch noise tools" @@ -11665,13 +30136,47 @@ ], "https://github.com/chrisgoringe/cg-use-everywhere": [ [ - "Seed Everywhere" + "Anything Everywhere", + "Anything Everywhere3", + "Anything Everywhere?", + "Combo Clone", + "Prompts Everywhere", + "Seed Everywhere", + "Simple String" ], { "nodename_pattern": "(^(Prompts|Anything) Everywhere|Simple String)", "title_aux": "Use Everywhere (UE Nodes)" } ], + "https://github.com/chrish-slingshot/CrasHUtils": [ + [ + "CheckPointNames", + "CheckpointNames", + "ColorStylizer", + "DinoGame", + "DoomGame", + "ExtractCharacterInfo", + "ImageGlitcher", + "QueryLocalLLM", + "SdxlResolution", + "SdxlResolutionToDimensions", + "SnakeGame", + "SpaceInvadersGame", + "TetrisGame" + ], + { + "title_aux": "CrasH Utils" + } + ], + "https://github.com/chrishill197724-gif/ComfyUI-Wan22-GGUF-Storyboard": [ + [ + "Wan22StoryboardGGUF" + ], + { + "title_aux": "ComfyUI-Wan22-GGUF-Storyboard" + } + ], "https://github.com/chrissy0/chris-comfyui-nodes": [ [ "PadImageSquare" @@ -11694,6 +30199,21 @@ "title_aux": "audio-separation-nodes-comfyui" } ], + "https://github.com/christian-byrne/claude-code-comfyui-nodes": [ + [ + "ClaudeCodeArguments", + "ClaudeCodeContext", + "ClaudeCodeExecute", + "ClaudeCodeMCP", + "ClaudeCodeMemory", + "ClaudeCodeReader", + "ClaudeCodeTools", + "ClaudeRedditScraper" + ], + { + "title_aux": "Claude Code ComfyUI Nodes" + } + ], "https://github.com/christian-byrne/img2colors-comfyui-node": [ [ "bmy_Img2ColorNode" @@ -11733,8 +30253,68 @@ "title_aux": "youtube-dl-comfyui" } ], + "https://github.com/chyer/Chye-ComfyUI-Toolset": [ + [ + "CYHARRHalationNode", + "CYHChromaticAberrationNode", + "CYHFilmGrainNode", + "CYHFolderFilenameBuilderNode", + "CYHGlobalColorGradingNode", + "CYHLatentFluxAspectRatio", + "CYHLatentPhoneAspectRatio", + "CYHLatentQwenAspectRatio", + "CYHLatentSDXLAspectRatio", + "CYHLatentSocialAspectRatio", + "CYHLatentVideoAspectRatio", + "CYHPreviewVideo", + "CYHResolutionMultiplierNode", + "CYHTextFileEditorNode", + "CYHTextFileLoaderNode", + "PromptEnhancer", + "PromptEnhancerEditable", + "PromptToolsSetup", + "PromptWildcardGenerator" + ], + { + "title_aux": "Chye ComfyUI Toolset" + } + ], + "https://github.com/ciga2011/ComfyUI-MarkItDown": [ + [ + "WIZ_AUDIO2MARKDOWN", + "WIZ_EXCEL2MARKDOWN", + "WIZ_HTML2MARKDOWN", + "WIZ_IMAGE2MARKDOWN", + "WIZ_IPYNB2MARKDOWN", + "WIZ_LLM_CLIENT", + "WIZ_MARKITDOWN", + "WIZ_PDF2MARKDOWN", + "WIZ_POWERPOINT2MARKDOWN", + "WIZ_WORD2MARKDOWN" + ], + { + "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", "CivitAI Downloader", "HF Downloader" ], @@ -11742,15 +30322,35 @@ "title_aux": "ComfyUI Model Downloader" } ], + "https://github.com/citronlegacy/ComfyUI-CitronNodes": [ + [ + "GetDateTime", + "get_first_and_final_frames", + "get_gif_first_and_final_frames", + "nodes", + "project" + ], + { + "title_aux": "ComfyUI-CitronNodes" + } + ], "https://github.com/city96/ComfyUI-GGUF": [ [ "CLIPLoaderGGUF", "DualCLIPLoaderGGUF", + "QuadrupleCLIPLoaderGGUF", "TripleCLIPLoaderGGUF", "UnetLoaderGGUF", "UnetLoaderGGUFAdvanced" ], { + "preemptions": [ + "CLIPLoaderGGUF", + "DualCLIPLoaderGGUF", + "TripleCLIPLoaderGGUF", + "UnetLoaderGGUF", + "UnetLoaderGGUFAdvanced" + ], "title_aux": "ComfyUI-GGUF" } ], @@ -11875,6 +30475,15 @@ "title_aux": "ComfyUI-PaddleOcr" } ], + "https://github.com/civen-cn/ComfyUI-Whisper-Translator": [ + [ + "Add Subtitles To FramesX", + "Apply WhisperX" + ], + { + "title_aux": "ComfyUI Whisper Translator" + } + ], "https://github.com/civitai/civitai_comfy_nodes": [ [ "CivitAI_Checkpoint_Loader", @@ -11884,27 +30493,116 @@ "title_aux": "Civitai Comfy Nodes" } ], + "https://github.com/cjj198909/comfy_openai_image_api_azure": [ + [ + "OpenAI Image API" + ], + { + "title_aux": "OpenAI/Azure OpenAI Image API" + } + ], + "https://github.com/ckinpdx/ComfyUI-LoadAudioandSplit": [ + [ + "LoadAudioandSplit" + ], + { + "title_aux": "ComfyUI-LoadAudioandSplit" + } + ], + "https://github.com/ckinpdx/ComfyUI-SCAIL-AudioReactive": [ + [ + "SCAILAISTBeatDance", + "SCAILAISTChunkPreview", + "SCAILAISTFullLoader", + "SCAILAISTFullSequence", + "SCAILAISTLibraryLoader", + "SCAILAlignPoseToReference", + "SCAILAudioFeatureExtractor", + "SCAILBasePoseGenerator", + "SCAILBeatDetector", + "SCAILBeatDrivenPose", + "SCAILCMULibraryLoader", + "SCAILCMUMotion", + "SCAILCMUSequenceToSCAILPose", + "SCAILMixamoFBX", + "SCAILPoseFromDWPose", + "SCAILPoseRenderer" + ], + { + "title_aux": "ComfyUI-SCAIL-AudioReactive" + } + ], + "https://github.com/ckinpdx/ComfyUI-WanKeyframeBuilder": [ + [ + "WanKeyframeBuilder", + "WanKeyframeBuilderContinuation" + ], + { + "title_aux": "ComfyUI-WanKeyframeBuilder" + } + ], + "https://github.com/ckinpdx/comfyui-humo-audio-motion": [ + [ + "HuMoAudioAttentionControlV4", + "HuMoLipsyncSuppressAttn" + ], + { + "title_aux": "comfyui-humo-audio-motion" + } + ], + "https://github.com/claptrap0/ComfyUI_LLM_Hub": [ + [ + "Generated_Output", + "LLM_Hub", + "LLM_Settings" + ], + { + "title_aux": "ComfyUI_LLM_Hub" + } + ], "https://github.com/claussteinmassl/ComfyUI-CS-CustomNodes": [ [ - "CS Transform" + "CS Transform", + "CSTransform" ], { "title_aux": "CS Transform Node for ComfyUI" } ], + "https://github.com/clayton-grey/ComfyUI-EditRouter": [ + [ + "CG_EditRouter" + ], + { + "title_aux": "ComfyUI-EditRouter" + } + ], + "https://github.com/cleanlii/comfyui-dalle-integration": [ + [ + "DalleImageEdit", + "DalleImageGeneration", + "DalleImageVariation" + ], + { + "title_aux": "DalleImageNodes - OpenAI DALL\u00b7E Nodes for ComfyUI" + } + ], "https://github.com/clhui/ComfyUi-clh-Tool": [ [ "EchartGraph_clh", "EchartOptionByPath_clh", "EchartOption_clh", "INTConstant_clh", + "JavaScript_clh", "JoinStringMulti_clh", "MathExpression_clh", - "ShowText|clh", + "SetRedis|clh", + "ShowText_clh", "SomethingToString_clh", "String2FatLabels_clh", "String2Image_clh", - "StringConstant_clh" + "StringConstant_clh", + "duplicate_checker_clh" ], { "author": "Dr.Lt.Data", @@ -11914,14 +30612,242 @@ "title_aux": "Clh Tool for ComfyUI" } ], + "https://github.com/clouddreamfly/ComfyUI-PromptWrapper": [ + [ + "CombinePrompt", + "CustomPrompt", + "DrawArtistPrompt", + "DrawStylePrompt", + "GeneratePrompt", + "InputPrompt", + "LightPrompt", + "MultiCombinePrompt", + "MultiReplacePrompt", + "NegativePrompt", + "PortraitCosmeticPrompt", + "PortraitFashionPrompt", + "PortraitPosePrompt", + "PortraitPrompt", + "PortraitSkinPrompt", + "PreviewPrompt", + "PromptTranslation", + "PromptTranslationHY", + "RandomLinePrompt", + "RandomsPrompt", + "RandomsWeightPrompt", + "ReplacePrompt", + "SavePrompt", + "SceneryPrompt" + ], + { + "title_aux": "ComfyUI-PromptWrapper" + } + ], + "https://github.com/cloudkoala/comfyui-koala": [ + [ + "AspectRatioLatentNode", + "SaveImageAnywhere", + "SaveMeshAnywhere" + ], + { + "title_aux": "comfyui-koala" + } + ], + "https://github.com/cluny85/ComfyUI-Scripting-Tools": [ + [ + "EnhancedUUIDGeneratorNode", + "UUIDGeneratorNode" + ], + { + "title_aux": "ComfyUI-Scripting-Tools" + } + ], + "https://github.com/cmdicely/simple_image_to_palette": [ + [ + "Example" + ], + { + "title_aux": "Simple Image To Palette" + } + ], + "https://github.com/cmeka/ComfyUI-WanMoEScheduler": [ + [ + "WanMoEScheduler" + ], + { + "title_aux": "ComfyUI-WanMoEScheduler" + } + ], + "https://github.com/cnbjjj/ComfyUI-Jtils": [ + [ + "Jtils" + ], + { + "title_aux": "ComfyUI-Jtils" + } + ], + "https://github.com/cnnmmd/comfyui_xoxxox_cnnmmd": [ + [ + "Xoxxox_CnvDat", + "Xoxxox_CnvRag", + "Xoxxox_CnvSen", + "Xoxxox_CnvTxt", + "Xoxxox_CnvVce", + "Xoxxox_DlyGet", + "Xoxxox_DlySet", + "Xoxxox_GenImg", + "Xoxxox_GenTxt", + "Xoxxox_GetAud", + "Xoxxox_GetDir", + "Xoxxox_GetDis", + "Xoxxox_GetImg", + "Xoxxox_GetMem", + "Xoxxox_GetTxt", + "Xoxxox_IniFlw", + "Xoxxox_LogNum", + "Xoxxox_LogTxt", + "Xoxxox_PutTxt", + "Xoxxox_RcvVce", + "Xoxxox_RepTxt", + "Xoxxox_RunFlw", + "Xoxxox_SenSlc", + "Xoxxox_SenTxt", + "Xoxxox_SetAud", + "Xoxxox_SetDir", + "Xoxxox_SetDis", + "Xoxxox_SetImg", + "Xoxxox_SetMem", + "Xoxxox_SetNil", + "Xoxxox_SetTxt", + "Xoxxox_SndVce", + "Xoxxox_SwtImg", + "Xoxxox_TrnBak" + ], + { + "title_aux": "cnnmmd: comfyui_xoxxox_cnnmmd" + } + ], + "https://github.com/codeprimate/ComfyUI-MaskContourProcessor": [ + [ + "MaskContourProcessor" + ], + { + "title_aux": "ComfyUI Mask Contour Processor" + } + ], + "https://github.com/colorAi/comfyui-ImageSelectorbyPrompt": [ + [ + "AdvancedImageSelectorByPrompt" + ], + { + "title_aux": "ComfyUI-Image Selector by Prompt" + } + ], + "https://github.com/comfy-deploy/comfyui-llm-toolkit": [ + [ + "APIKeyInput", + "APIProviderSelectorNode", + "AudioDurationFrames", + "BananaTaskGenerator", + "BlankImage", + "CheckImageEmpty", + "ConfigGenerateImage", + "ConfigGenerateImageBFL", + "ConfigGenerateImageFluxDev", + "ConfigGenerateImageGemini", + "ConfigGenerateImageOpenAI", + "ConfigGenerateImageOpenRouter", + "ConfigGenerateImagePortrait", + "ConfigGenerateImageSeedream", + "ConfigGenerateImageUnified", + "ConfigGenerateMusic", + "ConfigGenerateSpeech", + "ConfigGenerateVideo", + "ConfigGenerateVideoHailuoI2VPro", + "ConfigGenerateVideoHailuoI2VStandard", + "ConfigGenerateVideoHailuoT2VPro", + "ConfigGenerateVideoHailuoT2VStandard", + "ConfigGenerateVideoKlingI2VMaster", + "ConfigGenerateVideoKlingI2VPro", + "ConfigGenerateVideoKlingI2VStandard", + "ConfigGenerateVideoSeedanceProI2V", + "ConfigGenerateVideoSeedanceProT2V", + "ConfigGenerateVideoVeo2I2V", + "ConfigGenerateVideoVeo2T2V", + "ConfigGenerateVideoVeo3", + "ConfigGenerateVideoVeo3Fast", + "Display_Text", + "FramesToSeconds", + "GenerateImage", + "GenerateLyrics", + "GenerateMusic", + "GenerateSpeech", + "GenerateVideo", + "HighLowSNR", + "ImageComparer", + "JoinStringsMulti", + "LLMPromptManager", + "LLMToolkitProviderSelector", + "LLMToolkitTextGenerator", + "LLMToolkitTextGeneratorStream", + "LoadAudioFromPath", + "LoadVideoFromPath", + "LocalTransformersProviderNode", + "ModelListFetcherNode", + "PlayRandomSound", + "PreviewImageLogic", + "PreviewOutputs", + "PreviewVideo", + "ResolutionSelector", + "StylePromptGenerator", + "SwitchAny", + "SwitchAnyRoute", + "SwitchAnyRoute_wANY", + "SwitchAny_wANY", + "SystemPromptTaskGenerator", + "TestAPIKeyContext", + "UpscaleVideo" + ], + { + "author": "ComfyDeploy", + "description": "llm toolkit", + "nickname": "llm_toolkit", + "title": "llm toolkit", + "title_aux": "ComfyUI LLM Toolkit" + } + ], "https://github.com/comfyanonymous/ComfyUI": [ [ + "APG", "AddNoise", "AlignYourStepsScheduler", + "AudioAdjustVolume", + "AudioConcat", + "AudioEncoderEncode", + "AudioEncoderLoader", + "AudioEqualizer3Band", + "AudioMerge", + "AutogrowNamesTestNode", + "AutogrowPrefixTestNode", "BasicGuider", "BasicScheduler", + "BatchImagesMasksLatentsNode", + "BatchImagesNode", + "BatchLatentsNode", + "BatchMasksNode", "BetaSamplingScheduler", + "BriaImageEditNode", + "BriaRemoveImageBackground", + "BriaRemoveVideoBackground", + "ByteDanceFirstLastFrameNode", + "ByteDanceImageNode", + "ByteDanceImageReferenceNode", + "ByteDanceImageToVideoNode", + "ByteDanceSeedreamNode", + "ByteDanceTextToVideoNode", "CFGGuider", + "CFGNorm", + "CFGZeroStar", "CLIPAttentionMultiply", "CLIPLoader", "CLIPMergeAdd", @@ -11932,84 +30858,209 @@ "CLIPTextEncode", "CLIPTextEncodeControlnet", "CLIPTextEncodeFlux", + "CLIPTextEncodeHiDream", "CLIPTextEncodeHunyuanDiT", + "CLIPTextEncodeKandinsky5", + "CLIPTextEncodeLumina2", + "CLIPTextEncodePixArtAlpha", "CLIPTextEncodeSD3", "CLIPTextEncodeSDXL", "CLIPTextEncodeSDXLRefiner", "CLIPVisionEncode", "CLIPVisionLoader", "Canny", + "CaseConverter", "CheckpointLoader", "CheckpointLoaderSimple", "CheckpointSave", + "ChromaRadianceOptions", + "ColorToRGBInt", + "ComboOptionTestNode", + "ComfySoftSwitchNode", + "ComfySwitchNode", "ConditioningAverage", "ConditioningCombine", "ConditioningConcat", "ConditioningSetArea", "ConditioningSetAreaPercentage", + "ConditioningSetAreaPercentageVideo", "ConditioningSetAreaStrength", "ConditioningSetMask", "ConditioningSetTimestepRange", + "ConditioningStableAudio", "ConditioningZeroOut", + "ContextWindowsManual", "ControlNetApply", "ControlNetApplyAdvanced", "ControlNetApplySD3", "ControlNetInpaintingAliMamaApply", "ControlNetLoader", + "ConvertStringToComboNode", + "CosmosImageToVideoLatent", + "CosmosPredict2ImageToVideoLatent", + "CreateList", + "CreateVideo", "CropMask", + "CustomCombo", + "DCTestNode", "DiffControlNetLoader", "DifferentialDiffusion", "DiffusersLoader", "DisableNoise", "DualCFGGuider", "DualCLIPLoader", + "EasyCache", + "ElevenLabsAudioIsolation", + "ElevenLabsInstantVoiceClone", + "ElevenLabsSpeechToSpeech", + "ElevenLabsSpeechToText", + "ElevenLabsTextToDialogue", + "ElevenLabsTextToSoundEffects", + "ElevenLabsTextToSpeech", + "ElevenLabsVoiceSelector", + "EmptyAceStep1.5LatentAudio", + "EmptyAceStepLatentAudio", + "EmptyAudio", + "EmptyChromaRadianceLatentImage", + "EmptyCosmosLatentVideo", + "EmptyFlux2LatentImage", + "EmptyHunyuanImageLatent", + "EmptyHunyuanLatentVideo", "EmptyImage", "EmptyLTXVLatentVideo", "EmptyLatentAudio", + "EmptyLatentHunyuan3Dv2", "EmptyLatentImage", "EmptyMochiLatentVideo", + "EmptyQwenImageLayeredLatentImage", "EmptySD3LatentImage", + "Epsilon Scaling", "ExponentialScheduler", + "ExtendIntermediateSigmas", "FeatherMask", "FlipSigmas", + "Flux2ProImageNode", + "Flux2Scheduler", + "FluxDisableGuidance", "FluxGuidance", + "FluxKontextImageScale", + "FluxKontextMultiReferenceLatentMethod", + "FluxKontextProImageNode", + "FluxProExpandNode", + "FluxProFillNode", + "FluxProUltraImageNode", + "FreSca", "FreeU", "FreeU_V2", "GITSScheduler", "GLIGENLoader", "GLIGENTextBoxApply", + "GLSLShader", + "GeminiImage2Node", + "GeminiImageNode", + "GeminiInputFiles", + "GeminiNode", + "GenerateTracks", + "GetImageSize", + "GetVideoComponents", + "GrokImageEditNode", + "GrokImageNode", + "GrokVideoEditNode", + "GrokVideoNode", "GrowMask", + "HitPawGeneralImageEnhance", + "HitPawVideoEnhance", + "Hunyuan3Dv2Conditioning", + "Hunyuan3Dv2ConditioningMultiView", + "HunyuanImageToVideo", + "HunyuanRefinerLatent", + "HunyuanVideo15ImageToVideo", + "HunyuanVideo15LatentUpscaleWithModel", + "HunyuanVideo15SuperResolution", "HyperTile", "HypernetworkLoader", + "IdeogramV1", + "IdeogramV2", + "IdeogramV3", + "ImageAddNoise", "ImageBatch", "ImageBlend", "ImageBlur", "ImageColorToMask", + "ImageCompare", "ImageCompositeMasked", "ImageCrop", + "ImageCropV2", + "ImageFlip", "ImageFromBatch", "ImageInvert", "ImageOnlyCheckpointLoader", "ImageOnlyCheckpointSave", "ImagePadForOutpaint", + "ImageProcessingNode", "ImageQuantize", + "ImageRGBToYUV", + "ImageRotate", "ImageScale", "ImageScaleBy", + "ImageScaleToMaxDimension", "ImageScaleToTotalPixels", "ImageSharpen", + "ImageStitch", "ImageToMask", "ImageUpscaleWithModel", + "ImageYUVToRGB", "InpaintModelConditioning", "InstructPixToPixConditioning", + "InvertBooleanNode", "InvertMask", + "JoinAudioChannels", "JoinImageWithAlpha", "KSampler", "KSamplerAdvanced", "KSamplerSelect", + "Kandinsky5ImageToVideo", "KarrasScheduler", + "KlingAvatarNode", + "KlingCameraControlI2VNode", + "KlingCameraControlT2VNode", + "KlingCameraControls", + "KlingDualCharacterVideoEffectNode", + "KlingFirstLastFrameNode", + "KlingImage2VideoNode", + "KlingImageGenerationNode", + "KlingImageToVideoWithAudio", + "KlingLipSyncAudioToVideoNode", + "KlingLipSyncTextToVideoNode", + "KlingMotionControl", + "KlingOmniProEditVideoNode", + "KlingOmniProFirstLastFrameNode", + "KlingOmniProImageNode", + "KlingOmniProImageToVideoNode", + "KlingOmniProTextToVideoNode", + "KlingOmniProVideoToVideoNode", + "KlingSingleImageVideoEffectNode", + "KlingStartEndFrameNode", + "KlingTextToVideoNode", + "KlingTextToVideoWithAudio", + "KlingVideoExtendNode", + "KlingVideoNode", + "KlingVirtualTryOnNode", + "LTXAVTextEncoderLoader", + "LTXVAddGuide", + "LTXVAudioVAEDecode", + "LTXVAudioVAEEncode", + "LTXVAudioVAELoader", + "LTXVConcatAVLatent", "LTXVConditioning", + "LTXVCropGuides", + "LTXVEmptyLatentAudio", "LTXVImgToVideo", + "LTXVImgToVideoInplace", + "LTXVLatentUpsampler", + "LTXVPreprocess", "LTXVScheduler", + "LTXVSeparateAVLatent", "LaplaceScheduler", "LatentAdd", "LatentApplyOperation", @@ -12019,7 +31070,10 @@ "LatentBlend", "LatentComposite", "LatentCompositeMasked", + "LatentConcat", "LatentCrop", + "LatentCut", + "LatentCutToBatch", "LatentFlip", "LatentFromBatch", "LatentInterpolate", @@ -12030,21 +31084,68 @@ "LatentSubtract", "LatentUpscale", "LatentUpscaleBy", + "LatentUpscaleModelLoader", + "LazyCache", + "Load3D", "LoadAudio", "LoadImage", + "LoadImageDataSetFromFolder", "LoadImageMask", + "LoadImageOutput", + "LoadImageTextDataSetFromFolder", "LoadLatent", + "LoadTrainingDataset", + "LoadVideo", "LoraLoader", + "LoraLoaderBypass", + "LoraLoaderBypassModelOnly", "LoraLoaderModelOnly", + "LoraModelLoader", "LoraSave", + "LossGraphNode", + "LotusConditioning", + "LtxvApiImageToVideo", + "LtxvApiTextToVideo", + "LumaConceptsNode", + "LumaImageModifyNode", + "LumaImageNode", + "LumaImageToVideoNode", + "LumaReferenceNode", + "LumaVideoNode", + "MagnificImageRelightNode", + "MagnificImageSkinEnhancerNode", + "MagnificImageStyleTransferNode", + "MagnificImageUpscalerCreativeNode", + "MagnificImageUpscalerPreciseV2Node", + "Mahiro", + "MakeTrainingDataset", + "ManualSigmas", "MaskComposite", + "MaskPreview", "MaskToImage", + "MeshyAnimateModelNode", + "MeshyImageToModelNode", + "MeshyMultiImageToModelNode", + "MeshyRefineNode", + "MeshyRigModelNode", + "MeshyTextToModelNode", + "MeshyTextureNode", + "MinimaxHailuoVideoNode", + "MinimaxImageToVideoNode", + "MinimaxSubjectToVideoNode", + "MinimaxTextToVideoNode", + "ModelComputeDtype", "ModelMergeAdd", "ModelMergeAuraflow", "ModelMergeBlocks", + "ModelMergeCosmos14B", + "ModelMergeCosmos7B", + "ModelMergeCosmosPredict2_14B", + "ModelMergeCosmosPredict2_2B", "ModelMergeFlux1", "ModelMergeLTXV", "ModelMergeMochiPreview", + "ModelMergeQwenImage", "ModelMergeSD1", "ModelMergeSD2", "ModelMergeSD35_Large", @@ -12052,6 +31153,8 @@ "ModelMergeSDXL", "ModelMergeSimple", "ModelMergeSubtract", + "ModelMergeWAN2_1", + "ModelPatchLoader", "ModelSamplingAuraFlow", "ModelSamplingContinuousEDM", "ModelSamplingContinuousV", @@ -12061,23 +31164,85 @@ "ModelSamplingSD3", "ModelSamplingStableCascade", "ModelSave", + "MoonvalleyImg2VideoNode", + "MoonvalleyTxt2VideoNode", + "MoonvalleyVideo2VideoNode", "Morphology", + "NAGuidance", + "NormalizeVideoLatentStart", + "OpenAIChatConfig", + "OpenAIChatNode", + "OpenAIDalle2", + "OpenAIDalle3", + "OpenAIGPTImage1", + "OpenAIInputFiles", + "OpenAIVideoSora2", + "OptimalStepsScheduler", "PatchModelAddDownscale", "PerpNeg", "PerpNegGuider", "PerturbedAttentionGuidance", "PhotoMakerEncode", "PhotoMakerLoader", + "PixverseImageToVideoNode", + "PixverseTemplateNode", + "PixverseTextToVideoNode", + "PixverseTransitionVideoNode", "PolyexponentialScheduler", "PorterDuffImageComposite", + "Preview3D", + "PreviewAny", "PreviewAudio", "PreviewImage", + "PrimitiveBoolean", + "PrimitiveBoundingBox", + "PrimitiveFloat", + "PrimitiveInt", + "PrimitiveString", + "PrimitiveStringMultiline", + "QuadrupleCLIPLoader", + "QwenImageDiffsynthControlnet", "RandomNoise", "RebatchImages", "RebatchLatents", + "RecordAudio", + "RecraftColorRGB", + "RecraftControls", + "RecraftCreateStyleNode", + "RecraftCrispUpscaleNode", + "RecraftImageInpaintingNode", + "RecraftImageToImageNode", + "RecraftRemoveBackgroundNode", + "RecraftReplaceBackgroundNode", + "RecraftStyleV3InfiniteStyleLibrary", + "RecraftStyleV3RealisticImage", + "RecraftTextToImageNode", + "RecraftTextToVectorNode", + "RecraftV4TextToImageNode", + "RecraftV4TextToVectorNode", + "RecraftVectorizeImageNode", + "ReferenceLatent", + "ReferenceTimbreAudio", + "RegexExtract", + "RegexMatch", + "RegexReplace", + "RenormCFG", "RepeatImageBatch", "RepeatLatentBatch", + "ReplaceVideoLatentFrames", "RescaleCFG", + "ResizeAndPadImage", + "ResizeImageMaskNode", + "ResolutionBucket", + "Rodin3D_Detail", + "Rodin3D_Gen2", + "Rodin3D_Regular", + "Rodin3D_Sketch", + "Rodin3D_Smooth", + "RunwayFirstLastFrameNode", + "RunwayImageToVideoNodeGen3a", + "RunwayImageToVideoNodeGen4", + "RunwayTextToImageNode", "SDTurboScheduler", "SD_4XUpscale_Conditioning", "SV3D_Conditioning", @@ -12089,32 +31254,66 @@ "SamplerDPMPP_2S_Ancestral", "SamplerDPMPP_3M_SDE", "SamplerDPMPP_SDE", + "SamplerER_SDE", "SamplerEulerAncestral", "SamplerEulerAncestralCFGPP", "SamplerEulerCFGpp", "SamplerLCMUpscale", "SamplerLMS", + "SamplerSASolver", + "SamplerSEEDS2", + "SamplingPercentToSigma", "SaveAnimatedPNG", "SaveAnimatedWEBP", "SaveAudio", + "SaveAudioMP3", + "SaveAudioOpus", + "SaveGLB", "SaveImage", + "SaveImageDataSetToFolder", + "SaveImageTextDataSetToFolder", "SaveImageWebsocket", "SaveLatent", + "SaveLoRA", + "SaveSVGNode", + "SaveTrainingDataset", + "SaveVideo", + "SaveWEBM", + "ScaleROPE", "SelfAttentionGuidance", + "SetFirstSigma", "SetLatentNoiseMask", "SetUnionControlNetType", + "ShuffleImageTextDataset", "SkipLayerGuidanceDiT", + "SkipLayerGuidanceDiTSimple", "SkipLayerGuidanceSD3", "SolidMask", + "SplitAudioChannels", "SplitImageWithAlpha", "SplitSigmas", "SplitSigmasDenoise", + "StabilityAudioInpaint", + "StabilityAudioToAudio", + "StabilityStableImageSD_3_5Node", + "StabilityStableImageUltraNode", + "StabilityTextToAudio", + "StabilityUpscaleConservativeNode", + "StabilityUpscaleCreativeNode", + "StabilityUpscaleFastNode", "StableCascade_EmptyLatentImage", "StableCascade_StageB_Conditioning", "StableCascade_StageC_VAEEncode", "StableCascade_SuperResolutionControlnet", "StableZero123_Conditioning", "StableZero123_Conditioning_Batched", + "StringCompare", + "StringConcatenate", + "StringContains", + "StringLength", + "StringReplace", + "StringSubstring", + "StringTrim", "StubConstantImage", "StubFloat", "StubImage", @@ -12122,6 +31321,14 @@ "StubMask", "StyleModelApply", "StyleModelLoader", + "T5TokenizerOptions", + "TCFG", + "TemporalScoreRescaling", + "Tencent3DPartNode", + "Tencent3DTextureEditNode", + "TencentImageToModelNode", + "TencentModelTo3DUVNode", + "TencentTextToModelNode", "TestAccumulateNode", "TestAccumulationGetItemNode", "TestAccumulationGetLengthNode", @@ -12129,6 +31336,15 @@ "TestAccumulationSetItemNode", "TestAccumulationTailNode", "TestAccumulationToListNode", + "TestAsyncBatchProcessing", + "TestAsyncConcurrentLimit", + "TestAsyncError", + "TestAsyncLazyCheck", + "TestAsyncProgressUpdate", + "TestAsyncResourceUser", + "TestAsyncTimeout", + "TestAsyncValidation", + "TestAsyncValidationError", "TestBoolOperationNode", "TestCustomIsChanged", "TestCustomValidation1", @@ -12136,6 +31352,7 @@ "TestCustomValidation3", "TestCustomValidation4", "TestCustomValidation5", + "TestDynamicAsyncGeneration", "TestDynamicDependencyCycle", "TestExecutionBlocker", "TestFloatConditions", @@ -12148,22 +31365,52 @@ "TestListToAccumulationNode", "TestMakeListNode", "TestMixedExpansionReturns", + "TestOutputNodeWithSocketOutput", + "TestParallelSleep", + "TestSamplingInExpansion", + "TestSleep", "TestStringConditions", + "TestSyncError", + "TestSyncProgressUpdate", "TestToBoolNode", "TestVariadicAverage", "TestWhileLoopClose", "TestWhileLoopOpen", + "TextEncodeAceStepAudio", + "TextEncodeAceStepAudio1.5", + "TextEncodeHunyuanVideo_ImageToVideo", + "TextEncodeQwenImageEdit", + "TextEncodeQwenImageEditPlus", + "TextEncodeZImageOmni", + "TextGenerate", + "TextProcessingNode", "ThresholdMask", "TomePatchModel", + "TopazImageEnhance", + "TopazVideoEnhance", "TorchCompileModel", + "TrainLoraNode", + "TrimAudioDuration", + "TrimVideoLatent", "TripleCLIPLoader", + "TripoConversionNode", + "TripoImageToModelNode", + "TripoMultiviewToModelNode", + "TripoRefineNode", + "TripoRetargetNode", + "TripoRigNode", + "TripoTextToModelNode", + "TripoTextureNode", "UNETLoader", "UNetCrossAttentionMultiply", "UNetSelfAttentionMultiply", "UNetTemporalAttentionMultiply", + "USOStyleReference", "UpscaleModelLoader", "VAEDecode", "VAEDecodeAudio", + "VAEDecodeAudioTiled", + "VAEDecodeHunyuan3D", "VAEDecodeTiled", "VAEEncode", "VAEEncodeAudio", @@ -12172,11 +31419,58 @@ "VAELoader", "VAESave", "VPScheduler", + "Veo3FirstLastFrameNode", + "VeoVideoGenerationNode", + "Video Slice", "VideoLinearCFGGuidance", "VideoTriangleCFGGuidance", + "Vidu2ImageToVideoNode", + "Vidu2ReferenceVideoNode", + "Vidu2StartEndToVideoNode", + "Vidu2TextToVideoNode", + "Vidu3ImageToVideoNode", + "Vidu3StartEndToVideoNode", + "Vidu3TextToVideoNode", + "ViduExtendVideoNode", + "ViduImageToVideoNode", + "ViduMultiFrameVideoNode", + "ViduReferenceVideoNode", + "ViduStartEndToVideoNode", + "ViduTextToVideoNode", + "VoxelToMesh", + "VoxelToMeshBasic", + "Wan22FunControlToVideo", + "Wan22ImageToVideoLatent", + "WanAnimateToVideo", + "WanCameraEmbedding", + "WanCameraImageToVideo", + "WanFirstLastFrameToVideo", + "WanFunControlToVideo", + "WanFunInpaintToVideo", + "WanHuMoImageToVideo", + "WanImageToImageApi", + "WanImageToVideo", + "WanImageToVideoApi", + "WanInfiniteTalkToVideo", + "WanMoveConcatTrack", + "WanMoveTrackToVideo", + "WanMoveTracksFromCoords", + "WanMoveVisualizeTracks", + "WanPhantomSubjectToVideo", + "WanReferenceVideoApi", + "WanSoundImageToVideo", + "WanSoundImageToVideoExtend", + "WanTextToImageApi", + "WanTextToVideoApi", + "WanTrackToVideo", + "WanVaceToVideo", + "WavespeedFlashVSRNode", + "WavespeedImageUpscaleNode", "WebcamCapture", + "ZImageFunControlnet", "unCLIPCheckpointLoader", - "unCLIPConditioning" + "unCLIPConditioning", + "wanBlockSwap" ], { "title_aux": "ComfyUI" @@ -12185,6 +31479,7 @@ "https://github.com/comfyanonymous/ComfyUI_TensorRT": [ [ "DYNAMIC_TRT_MODEL_CONVERSION", + "STATIC TRT_MODEL CONVERSION", "STATIC_TRT_MODEL_CONVERSION", "TensorRTLoader" ], @@ -12207,6 +31502,87 @@ "title_aux": "ComfyUI_experiments" } ], + "https://github.com/comfyui/snacknodes": [ + [ + "ImageInfo", + "ImageScaler", + "TextBox", + "TextProcessor" + ], + {} + ], + "https://github.com/comfyuistudio/ComfyUI-Studio-nodes": [ + [ + "AspectRatioImageSize", + "AspectRatioResizeImage", + "GitCloneManager", + "HuggingFaceDownloader", + "MarkdownModelNote", + "TransparentVideoSave" + ], + { + "title_aux": "ComfyUI-Studio-nodes" + } + ], + "https://github.com/comnote-max/builmenlabo": [ + [ + "GeminiPoseAnalyzer", + "LlamaCppAIO", + "LlamaCppCompleteUnload", + "LlamaCppGenerate", + "LlamaCppLoader", + "LlamaCppMemoryInfo", + "LlamaCppSafeUnload", + "LlamaCppUnload", + "MultiControlNetLoader", + "PromptTranslator" + ], + { + "nodename_pattern": "builmenlabo", + "title_aux": "ComfyUI builmenlabo - Unified Package" + } + ], + "https://github.com/comrender/ComfyUI-NanoB-Edit-Gemini": [ + [ + "NanoBEditGemini" + ], + { + "title_aux": "ComfyUI-NanoB-Edit-Gemini" + } + ], + "https://github.com/comrender/ComfyUI-NanoSeed": [ + [ + "NanoSeedEdit" + ], + { + "title_aux": "ComfyUI-NanoSeed" + } + ], + "https://github.com/comrender/ComfyUI-Topaz-Upscaler": [ + [ + "TopazUpscaler" + ], + { + "title_aux": "ComfyUI-Topaz-Upscaler" + } + ], + "https://github.com/concarne000/ComfyUI-Stacker": [ + [ + "StackPopFloat", + "StackPopImage", + "StackPopInt", + "StackPopObject", + "StackPopString", + "StackPushFloat", + "StackPushImage", + "StackPushInt", + "StackPushObject", + "StackPushString" + ], + { + "title_aux": "ComfyUI-Stacker" + } + ], "https://github.com/concarne000/ConCarneNode": [ [ "BingImageGrabber", @@ -12249,6 +31625,14 @@ "title_aux": "ComfyQR-scanning-nodes" } ], + "https://github.com/coulterj/comfyui-svg-visual-normalize": [ + [ + "SVGVisualBoundsNormalize" + ], + { + "title_aux": "ComfyUI SVG Visual Normalize & Margin Node" + } + ], "https://github.com/cozy-comfyui/cozy_comm": [ [ "CozyDiscordPost" @@ -12287,12 +31671,38 @@ ], "https://github.com/cr7Por/ComfyUI_DepthFlow": [ [ + "DepthFlow Simple", "DepthFlowSimple" ], { "title_aux": "ComfyUI_DepthFlow" } ], + "https://github.com/craig-tanaka/comfyui_animeseg": [ + [ + "AdvancedAnimeSeg", + "SimpleAnimeSeg" + ], + { + "title_aux": "ComfyUI Anime Segmentation Nodes v1.1.0" + } + ], + "https://github.com/crave33/RenesStuffDanbooruTagGet": [ + [ + "DanbooruTagFetcher" + ], + { + "title_aux": "RenesStuffDanboruTagGet" + } + ], + "https://github.com/cristian1980/ComfyUI-Caption-Cleaner": [ + [ + "CleanCaptionNode" + ], + { + "title_aux": "ComfyUI-Caption-Cleaner" + } + ], "https://github.com/crystian/ComfyUI-Crystools": [ [], { @@ -12304,21 +31714,14 @@ "title_aux": "Crystools" } ], - "https://github.com/ctefer/CFE_comfyui": [ + "https://github.com/cuban044/ComfyUI-Veo3-Experimental": [ [ - "CFE Aspect Ratio", - "CFE FLUX Guidance", - "CFE FLUX Sampler", - "CFE FLUX Sampler (Pipe)", - "CFE Flux In Pipe", - "CFE Flux Out Pipe", - "CFE Lora Params", - "CFE Scheduler", - "CFE Sigma Sampler", - "CFE Sigma Sampler Strings" + "Veo3TextToVideo", + "Veo3ToVHS", + "Veo3VideoPreview" ], { - "title_aux": "CFE_comfyui" + "title_aux": "[Unofficial] ComfyUI-Veo3-Experimental" } ], "https://github.com/cubiq/Block_Patcher_ComfyUI": [ @@ -12440,15 +31843,6 @@ "title_aux": "ComfyUI InstantID (Native Support)" } ], - "https://github.com/cubiq/ComfyUI_SimpleMath": [ - [ - "SimpleMath", - "SimpleMathDebug" - ], - { - "title_aux": "Simple Math" - } - ], "https://github.com/cubiq/ComfyUI_essentials": [ [ "ApplyCLIPSeg+", @@ -12459,7 +31853,6 @@ "DebugTensorShape+", "DisplayAny", "DrawText+", - "ExtractKeyframes+", "FluxAttentionSeeker+", "FluxBlocksBuster+", "FluxSamplerParams+", @@ -12573,6 +31966,43 @@ "title_aux": "ComfyUI-MaskBatchPermutations" } ], + "https://github.com/cyan9977/ComfyUI_PromptQueue": [ + [ + "NegativePromptQueue", + "SimpleStylePromptQueue", + "SimpleStylePromptQueueBatch", + "StylePromptQueue", + "StylePromptQueueBatch" + ], + { + "title_aux": "ComfyUI_PromptQueue" + } + ], + "https://github.com/cyberhirsch/seb_nodes": [ + [ + "AspectRatioSeb", + "DepthInpaintSeb", + "SaveImageSeb", + "SwitchMasksSeb", + "SwitchSeb", + "UnifiedPrompterSeb" + ], + { + "title_aux": "Seb Nodes" + } + ], + "https://github.com/cybernaut4/comfyui_arkl1te_toolkit": [ + [ + "AnythingToString", + "Concatenate", + "CountFilesInDirectory", + "GetNewFileIndex", + "PadZeroes" + ], + { + "title_aux": "Arkl1te's Toolkit" + } + ], "https://github.com/czcz1024/Comfyui-FaceCompare": [ [ "FaceCompare" @@ -12585,6 +32015,14 @@ "title_aux": "Face Compare" } ], + "https://github.com/d3cker/comfyui_remove_background": [ + [ + "RemoveBackground" + ], + { + "title_aux": "comfyui_remove_background" + } + ], "https://github.com/da2el-ai/ComfyUI-d2-send-eagle": [ [ "D2 Send Eagle" @@ -12622,7 +32060,6 @@ ], "https://github.com/da2el-ai/ComfyUI-d2-xyplot-utils": [ [ - "D2 Checkpoint List", "D2 Checkpoint Loader", "D2 Multi Output", "D2 Prompt SR", @@ -12635,41 +32072,73 @@ "title_aux": "D2 XYPlot Utils" } ], + "https://github.com/da2el-ai/D2-SavePSD-ComfyUI": [ + [ + "D2 Apply Alpha Channel", + "D2 Extract Alpha", + "D2 Save PSD" + ], + { + "author": "da2el", + "description": "", + "title": "D2 Save PSD", + "title_aux": "D2-SavePSD-ComfyUI" + } + ], "https://github.com/da2el-ai/D2-nodes-ComfyUI": [ [ + "D2 Any Delivery", "D2 Checkpoint Loader", "D2 Controlnet Loader", + "D2 Cut By Mask", "D2 EmptyImage Alpha", + "D2 Filename Template", + "D2 Filename Template2", "D2 Folder Image Queue", "D2 Get Image Size", "D2 Grid Image", + "D2 Image Mask Stack", "D2 Image Resize", "D2 Image Stack", "D2 KSampler", "D2 KSampler(Advanced)", "D2 List To String", + "D2 Load Diffusion Model", "D2 Load Folder Images", "D2 Load Image", + "D2 Load Lora", + "D2 Model and CLIP Merge SDXL", + "D2 Mosaic Filter", "D2 Multi Output", + "D2 Paste By Mask", + "D2 Pipe", "D2 Preview Image", + "D2 Prompt", "D2 Refiner Steps", "D2 Refiner Steps A1111", "D2 Refiner Steps Tester", "D2 Regex Replace", "D2 Regex Switcher", "D2 Resize Calculator", - "D2 Size Slector", + "D2 Save Image", + "D2 Save Image Eagle", + "D2 Send File Eagle", + "D2 Size Selector", + "D2 Token Counter", "D2 XY Annotation", - "D2 XY Checkpoint List", "D2 XY Folder Images", "D2 XY Grid Image", "D2 XY List To Plot", - "D2 XY Lora List", "D2 XY Model List", "D2 XY Plot", + "D2 XY Plot Easy", + "D2 XY Plot Easy Mini", "D2 XY Prompt SR", "D2 XY Prompt SR2", - "D2 XY Seed" + "D2 XY Seed", + "D2 XY Seed2", + "D2 XY String To Plot", + "D2 XY Upload Image" ], { "author": "da2el", @@ -12680,16 +32149,58 @@ ], "https://github.com/dadoirie/ComfyUI_Dados_Nodes": [ [ - "PinterestImageNode" + "DN_CSVMultiDropDownNode", + "DN_ChutesChromaImageNode", + "DN_ChutesFluxImageNode", + "DN_ChutesHiDreamNode", + "DN_ChutesHunyuanImage3Node", + "DN_ChutesIllustriousNode", + "DN_ChutesImageGenNode", + "DN_ChutesImageToVideoNode", + "DN_ChutesLLMNode", + "DN_ChutesNetaLuminaNode", + "DN_ChutesParallelImageNode", + "DN_ChutesQwenImageEditNode", + "DN_ChutesQwenImageNode", + "DN_ChutesSDxlNode", + "DN_ChutesTextToVideoNode", + "DN_GroqLLMNode", + "DN_ImageBatcher", + "DN_JoyTaggerNode", + "DN_MemoryStorage", + "DN_MultilineString", + "DN_PixAITaggerNode", + "DN_PreviewImage", + "DN_PromptSectionsExtractor", + "DN_SmolVLMNode", + "DN_TagOpsNode", + "DN_TextConcatenateNode", + "DN_TextDropDownNode", + "DN_WildcardPromptEditorNode", + "DN_WildcardSelectorComposerV2", + "DN_WildcardsProcessor", + "DN_pyPinNode" ], { + "author": "Dado", + "description": "Utilities for creating and analyzing wildcard JSON structures.", + "title": "Wildcard Structure Utils", "title_aux": "ComfyUI_Dados_Nodes" } ], + "https://github.com/daehwa00/ComfyUI-NanoBananaAPI": [ + [ + "NanoBanana API\ud83c\udf4c" + ], + { + "title_aux": "ComfyUI-NanoBananaAPI" + } + ], "https://github.com/dafeng012/comfyui-imgmake": [ [ "LoadImageListPlus", "LoadImagesFromPath_lp", + "SaveImagePlus", "SaveImage_lp", "SelectImageName", "VideoKeyFramesExtractor", @@ -12705,32 +32216,95 @@ ], "https://github.com/dagthomas/comfyui_dagthomas": [ [ - "APNLatent", - "CustomPromptLoader", - "DynamicStringCombinerNode", - "FileReaderNode", - "FlexibleStringMergerNode", - "GPT4MiniNode", - "GPT4VisionNode", - "GeminiCustomVision", - "GeminiTextOnly", - "Gpt4CustomVision", - "Gpt4VisionCloner", - "OllamaNode", - "OllamaVisionNode", - "PGSD3LatentGenerator", - "PhiCustomModelInference", - "PhiModelInference", - "PhiModelLoader", - "PromptGenerator", - "RandomIntegerNode", - "SentenceMixerNode", - "StringMergerNode" + "APNextBloom", + "APNextColorGrading", + "APNextCrossProcessing", + "APNextFilmHalation", + "APNextGlitchArt", + "APNextHDRToneMapping", + "APNextNoise", + "APNextRough", + "APNextSharpen", + "APNextSplitToning", + "ClaudeTextNode", + "ClaudeVisionNode", + "GrokTextNode", + "GrokVisionNode", + "GroqTextNode", + "GroqVisionNode", + "MiniCPMImageNode", + "MiniCPMVideoNode", + "SentenceMixerNode" ], { "title_aux": "SDXL Auto Prompter" } ], + "https://github.com/danTheMonk/comfyui-int-and-float": [ + [ + "FloatToInt", + "IntToFloat" + ], + { + "title_aux": "ComfyUI Int and Float Conversion Nodes" + } + ], + "https://github.com/dandancow874/ComfyUI-LMStudio-Controller": [ + [ + "LMS_VisionController" + ], + { + "title_aux": "ComfyUI-LMStudio-Controller" + } + ], + "https://github.com/danger-electrodes/ComfyUI_Fawfluencer_Nodes": [ + [ + "FawfaceModelSpreadsheetRealismNode", + "FawfakeAuthenticImageSaveNode", + "FawfluxencerNode", + "FawfulizedAddImagesToImageList", + "FawfulizedEmptyImageList", + "FawfulizedHunyuanAddNoise", + "FawfulizedHunyuanBasicGuider", + "FawfulizedHunyuanBasicScheduler", + "FawfulizedHunyuanBetaSamplingScheduler", + "FawfulizedHunyuanCFGGuider", + "FawfulizedHunyuanControlNetApply", + "FawfulizedHunyuanControlNetApplyAdvanced", + "FawfulizedHunyuanControlNetLoader", + "FawfulizedHunyuanDiffControlNetLoader", + "FawfulizedHunyuanDisableNoise", + "FawfulizedHunyuanDualCFGGuider", + "FawfulizedHunyuanExponentialScheduler", + "FawfulizedHunyuanFlipSigmas", + "FawfulizedHunyuanKSamplerSelect", + "FawfulizedHunyuanKarrasScheduler", + "FawfulizedHunyuanLaplaceScheduler", + "FawfulizedHunyuanLatentVideo", + "FawfulizedHunyuanPolyexponentialScheduler", + "FawfulizedHunyuanRandomNoise", + "FawfulizedHunyuanSDTurboScheduler", + "FawfulizedHunyuanSamplerCustom", + "FawfulizedHunyuanSamplerCustomAdvanced", + "FawfulizedHunyuanSamplerDPMAdaptative", + "FawfulizedHunyuanSamplerDPMPP_2M_SDE", + "FawfulizedHunyuanSamplerDPMPP_2S_Ancestral", + "FawfulizedHunyuanSamplerDPMPP_3M_SDE", + "FawfulizedHunyuanSamplerDPMPP_SDE", + "FawfulizedHunyuanSamplerEulerAncestral", + "FawfulizedHunyuanSamplerEulerAncestralCFGPP", + "FawfulizedHunyuanSamplerLMS", + "FawfulizedHunyuanSetFirstSigma", + "FawfulizedHunyuanSetLatentNoiseMask", + "FawfulizedHunyuanSplitSigmas", + "FawfulizedHunyuanSplitSigmasDenoise", + "FawfulizedHunyuanVPScheduler", + "Img2ImgFawfluencerNodeSDXL" + ], + { + "title_aux": "ComfyUI_Fawfluencer_Nodes" + } + ], "https://github.com/daniabib/ComfyUI_ProPainter_Nodes": [ [ "ProPainterInpaint", @@ -12744,6 +32318,13 @@ [ "Call LLM Advanced", "Call LLM Basic", + "LLM Create Completion Advanced", + "LLM Detokenize", + "LLM Embed", + "LLM Eval", + "LLM Reset", + "LLM Sample", + "LLM Tokenize", "LLM_Create_Completion Advanced", "LLM_Detokenize", "LLM_Embed", @@ -12771,15 +32352,64 @@ "title_aux": "ComfyUI-TTS" } ], - "https://github.com/daqingliu/ComfyUI-SaveImageOSS": [ + "https://github.com/danieljanata/ComfyUI-Prompting-System": [ [ - "LoadImageS3", - "LoadImageURL", - "SaveImageS3", - "SaveImageURL" + "PS_MetadataCleaner", + "PS_MetadataReader", + "PS_PromptSaver", + "PS_SmartText" ], { - "title_aux": "ComfyUI-SaveImageOSS" + "title_aux": "ComfyUI-Prompting-System" + } + ], + "https://github.com/danielvw/ComfyUI-WanMove-Adapter": [ + [ + "CoordsToWanTracks" + ], + { + "title_aux": "ComfyUI-WanMove-Adapter" + } + ], + "https://github.com/danielwolber-wood/ComfyUI-FString": [ + [ + "SimpleFStringNode" + ], + { + "title_aux": "ComfyUI-FString" + } + ], + "https://github.com/danielwolber-wood/ComfyUI-Inspector": [ + [ + "SimpleDisplayNode" + ], + { + "title_aux": "ComfyUI-Inspector" + } + ], + "https://github.com/danielwolber-wood/ComfyUI-QuickResolutionSelector": [ + [ + "ResolutionSelector" + ], + { + "title_aux": "ComfyUI-QuickResolutionSelector" + } + ], + "https://github.com/darkamenosa/comfy_inpaint_blend": [ + [ + "EnhancedImageCompositeMasked" + ], + { + "title_aux": "Enhanced Image Composite Masked" + } + ], + "https://github.com/darkamenosa/comfy_nanobanana": [ + [ + "BatchImages", + "NanoBananaGeminiImageNode" + ], + { + "title_aux": "Comfy Nano Banana" } ], "https://github.com/darkpixel/darkprompts": [ @@ -12800,11 +32430,19 @@ "title_aux": "DarkPrompts" } ], + "https://github.com/darrell-goh/ComfyUI-NanoBanana_node": [ + [ + "NanoBananaMultipleOutputsNode", + "NanoBananaNode" + ], + { + "title_aux": "ComfyUI-NanoBanana_node" + } + ], "https://github.com/darth-veitcher/comfydv": [ [ "CircuitBreaker", "FormatString", - "ModelUnloader", "RandomChoice" ], { @@ -12815,6 +32453,31 @@ "title_aux": "Comfy DV" } ], + "https://github.com/darth-veitcher/comfyui-ollama-model-manager": [ + [ + "OllamaChatCompletion", + "OllamaClient", + "OllamaDebugHistory", + "OllamaHistoryLength", + "OllamaLoadModel", + "OllamaModelSelector", + "OllamaOptionExtraBody", + "OllamaOptionMaxTokens", + "OllamaOptionRepeatPenalty", + "OllamaOptionSeed", + "OllamaOptionTemperature", + "OllamaOptionTopK", + "OllamaOptionTopP", + "OllamaUnloadModel" + ], + { + "author": "darth-veitcher", + "description": "Custom nodes for managing Ollama models in ComfyUI workflows. Load and unload models on-demand to optimize memory usage.", + "nickname": "Ollama Manager", + "title": "ComfyUI Ollama Model Manager", + "title_aux": "ComfyUI Ollama Model Manager" + } + ], "https://github.com/daryltucker/ComfyUI-LoadFiles": [ [ "CountLines", @@ -12825,6 +32488,33 @@ "title_aux": "ComfyUI-LoadFiles" } ], + "https://github.com/dasilva333/ComfyUI_ContrastingColor": [ + [ + "ContrastingComplementaryColor|pysssss" + ], + { + "title_aux": "ComfyUI_ContrastingColor" + } + ], + "https://github.com/dasilva333/ComfyUI_HunyuanVideo-Foley": [ + [ + "HunyuanFoleyAudio" + ], + { + "title_aux": "ComfyUI HunyuanVideo-Foley Custom Node" + } + ], + "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" @@ -12833,6 +32523,35 @@ "title_aux": "comfyui_DSP_imagehelpers" } ], + "https://github.com/daveand/ComfyUI-daveand-nodes": [ + [ + "BatchResizer", + "CascadedTileUpscaler", + "CheckpointLoaderWithConfig", + "DoubleKSampler", + "ImageAnalyzer", + "ImageCropAndPlace", + "LatentImageAndSeed", + "PromptCameraSelector", + "PromptConstructor", + "PromptLightingSelector", + "Test1", + "TiledKSampler", + "TiledKSamplerWithUpscaler", + "TrainingDatasetSaver" + ], + { + "title_aux": "ComfyUI-daveand-nodes" + } + ], + "https://github.com/davidgressett/comfyui-systemlevel": [ + [ + "CartesianCSVNode" + ], + { + "title_aux": "CartesianCSVNode for ComfyUI" + } + ], "https://github.com/daxcay/ComfyUI-DataSet": [ [ "DataSet_ClaudeAIChat", @@ -12946,12 +32665,27 @@ "DavchaCLIPTextEncode", "DavchaConditioningConcat", "DavchaEmptyLatentImage", + "DavchaLLM", + "DavchaLLMAdvanced", + "DavchaLoadLLM", "DavchaLoadVideo", "DavchaMaskImage", "DavchaModelMergeSD1", "DavchaModelMergeSDXL", "DavchaModelMergeSimple", "DavchaPop", + "DavchaQwenImageEditLoraTagLoader", + "DavchaQwenVL3", + "DavchaQwenVL3Loader", + "DavchaRescaleSigmas", + "DavchaSamplerCustomAdvanced", + "DavchaSamplerCustomAdvanced2", + "DavchaScheduledSampler", + "DavchaScheduledTextEncoderQwenImageEditPlus", + "DavchaTextEncodeQwenImageEditPlus", + "DavchaWan22LoraTagLoader", + "DavchaWan22LoraTagParser", + "PadAndResize", "PercentPadding", "ResizeCropFit", "SmartMask", @@ -12977,9 +32711,24 @@ "title_aux": "comfyui_facetools" } ], + "https://github.com/dcyd-lun/ComfyUI_text_diff": [ + [ + "TextDiff" + ], + { + "title_aux": "ComfyUI_text_diff" + } + ], + "https://github.com/ddontsov93/ComfyUI-AudioSeparator": [ + [ + "AudioSeparatorNode" + ], + { + "title_aux": "ComfyUI-AudioSeparator" + } + ], "https://github.com/denfrost/Den_ComfyUI_Workflow": [ [ - "Den_BatchIndex_AS", "Den_CropImage_AS", "Den_Eval_AS", "Den_FaceRestoreCFWithModel", @@ -13004,18 +32753,35 @@ "Den_SVD_img2vid", "Den_SaveLatent_AS", "Den_TextToImage_AS", - "Den_TextWildcardList_AS", - "Increment_AS" + "Den_TextWildcardList_AS" ], { "title_aux": "Den_ComfyUI_Workflows" } ], + "https://github.com/deng-wei/ComfyUI-MiVolo-V2": [ + [ + "MiVOLOAgeGenderPredictorFromCrops", + "MiVOLOAgeGenderPredictorWithDetector", + "MiVOLODetectorLoader", + "MiVOLOLoader" + ], + { + "title_aux": "ComfyUI-MiVolo-V2" + } + ], + "https://github.com/dennisvink/comfyui-outline": [ + [ + "OutlineAlphaSnap" + ], + { + "title_aux": "Outline Alpha Snap Node for ComfyUI" + } + ], "https://github.com/deroberon/StableZero123-comfyui": [ [ "SDZero ImageSplit", - "Stablezero123", - "Stablezero123WithDepth" + "Stablezero123" ], { "title_aux": "StableZero123-comfyui" @@ -13051,7 +32817,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": [ @@ -13064,6 +32830,14 @@ "title_aux": "ComfyUI-TCD-scheduler" } ], + "https://github.com/diStyApps/ComfyUI-disty-Flow": [ + [ + "Flow" + ], + { + "title_aux": "Flow - Streamlined Way to ComfyUI" + } + ], "https://github.com/diStyApps/ComfyUI_FrameMaker": [ [ "FrameMaker", @@ -13073,13 +32847,23 @@ "title_aux": "ComfyUI Frame Maker" } ], + "https://github.com/dicksensei69/comfyui_loops": [ + [ + "LoopImageNode" + ], + { + "title_aux": "ComfyUI Loops" + } + ], "https://github.com/dicksondickson/ComfyUI-Dickson-Nodes": [ [ "DicksonColorMatch", "DicksonLoadImage", "Dickson_TTP_Preprocessor_Simple", "Dickson_TTP_Preprocessor_cufoff", - "Dickson_TTP_Tile_Preprocessor_GF" + "Dickson_TTP_Tile_Preprocessor_GF", + "Dickson_TTP_Tile_Preprocessor_Simple", + "Dickson_TTP_Tile_Preprocessor_cufoff" ], { "description": "This is a set of custom nodes that I've either written myself or adapted from other authors for my own convenience. Currently includes color matching node forked from StableSR and TTPlanet's controlnet preprocessor. https://github.com/dicksondickson", @@ -13088,6 +32872,51 @@ "title_aux": "ComfyUI-Dickson-Nodes" } ], + "https://github.com/diffussy69/comfyui-curved_weight_schedule": [ + [ + "Advanced Curved ControlNet Scheduler", + "Apply_CN_Extras_Masks", + "AutoBackgroundMask", + "AutoPersonMask", + "Batch_Images_to_Timestep_Keyframes", + "CurveFormulaBuilder", + "Curved ControlNet Scheduler", + "Curved_Blur_Batch_Preprocessor", + "InteractiveCurveDesigner", + "MaskSymmetryTool", + "Multi-ControlNet Curve Coordinator", + "MultiLayerMaskEditor", + "MultiLayerMaskEditorSimple", + "MultiMaskCombinerBatch", + "MultiMaskCombinerBatch10", + "MultiMaskStrengthCombiner10", + "MultiMaskStrengthCombiner5", + "Redistribute_Keyframe_Percents", + "RegionalPromptInterpolation", + "RegionalPrompting" + ], + { + "title_aux": "ComfyUI-curved_weight_schedule" + } + ], + "https://github.com/digital-divas-admin/ComfyUI_DD_Nodes": [ + [ + "DD_FloatMath", + "DD_FloatToInt", + "DD_GetImageSize", + "DD_ImageBatch", + "DD_ImagePowerSelector", + "DD_ImageResize", + "DD_IntMath", + "DD_IntToFloat", + "DD_ShowText", + "DD_TextConcatenate", + "DD_TextReplace" + ], + { + "title_aux": "ComfyUI_DD_Nodes" + } + ], "https://github.com/digitaljohn/comfyui-propost": [ [ "ProPostApplyLUT", @@ -13100,18 +32929,97 @@ "title_aux": "ComfyUI-ProPost" } ], + "https://github.com/dimtion/comfyui-raw-image": [ + [ + "Load Raw Image" + ], + { + "title_aux": "ComfyUI-Raw-Image" + } + ], "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": [ [ "PixelArtAddDitherPattern", "PixelArtDetectorConverter", "PixelArtDetectorSave", "PixelArtDetectorToImage", - "PixelArtLoadPalettes" + "PixelArtLoadPalettes", + "PixelArtPaletteGenerator" ], { "title_aux": "ComfyUI PixelArt Detector" } ], + "https://github.com/dimtoneff/ComfyUI-VL-Nodes": [ + [ + "GGUF_VLM_ImageToText", + "GGUF_VLM_ModelLoader", + "InternVL3_5_ImageToText", + "InternVL3_5_ModelLoader", + "KeyeModelLoader", + "KeyeNode", + "LFM2TransformerImageToText", + "LFM2TransformerModelLoader", + "LoadImagesFromDirBatch_VL", + "LoadImagesFromDirList_VL", + "Ovis25ImageToText", + "Ovis25ModelLoader", + "OvisU1ImageCaption", + "OvisU1VLModelLoader", + "TextSave_VL", + "VLNodesFreeMemoryAPI" + ], + { + "title_aux": "ComfyUI-VL-Nodes" + } + ], + "https://github.com/diodiogod/TTS-Audio-Suite": [ + [ + "ASRSRTAdvancedOptionsNode", + "AudioAnalyzerNode", + "AudioAnalyzerOptionsNode", + "CharacterVoicesNode", + "ChatterBoxAudioAnalyzer", + "ChatterBoxAudioAnalyzerOptions", + "ChatterBoxEngineNode", + "ChatterBoxF5TTSEditOptions", + "ChatterBoxF5TTSEditVoice", + "ChatterBoxOfficial23LangEngineNode", + "ChatterBoxVoiceCapture", + "CosyVoice Engine", + "CosyVoiceEngineNode", + "F5TTSEngineNode", + "HiggsAudioEngineNode", + "IndexTTS Engine", + "IndexTTSEmotionOptionsNode", + "IndexTTSEngineNode", + "LoadRVCModelNode", + "MergeAudioNode", + "MouthMovementAnalyzer", + "PhonemeTextNormalizer", + "Qwen3TTSEngineNode", + "Qwen3TTSVoiceDesignerNode", + "QwenEmotionNode", + "RVCEngineNode", + "RVCPitchOptionsNode", + "RefreshVoiceCacheNode", + "Step Audio EditX Engine", + "StepAudioEditXAudioEditorNode", + "StepAudioEditXEngineNode", + "StringMultilineTagEditor", + "UnifiedASRTranscribeNode", + "UnifiedTTSSRTNode", + "UnifiedTTSTextNode", + "UnifiedVoiceChangerNode", + "VibeVoiceEngineNode", + "VisemeDetectionOptionsNode", + "VocalRemovalNode", + "VoiceFixerNode" + ], + { + "title_aux": "TTS Audio Suite" + } + ], "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": [ [ "Add Text To Image", @@ -13179,6 +33087,8 @@ ], "https://github.com/dmarx/ComfyUI-AudioReactive": [ [ + "ARDrawSignal", + "ARReadAudio", "OpAbs", "OpBandpass", "OpClamp", @@ -13197,7 +33107,8 @@ "OpSqrt", "OpStretch", "OpSustain", - "OpThreshold" + "OpThreshold", + "SignalToCurve" ], { "title_aux": "ComfyUI-AudioReactive" @@ -13215,8 +33126,6 @@ "KfCurveDraw", "KfCurveFromString", "KfCurveFromYAML", - "KfCurveInverse", - "KfCurveToAcnLatentKeyframe", "KfCurvesAdd", "KfCurvesAddx10", "KfCurvesDivide", @@ -13231,7 +33140,6 @@ "KfDebug_Int", "KfDebug_Latent", "KfDebug_Model", - "KfDebug_Passthrough", "KfDebug_Segs", "KfDebug_String", "KfDebug_Vae", @@ -13245,7 +33153,6 @@ "KfPGroupCurveAdd", "KfPGroupCurveMultiply", "KfPGroupDraw", - "KfPGroupProd", "KfPGroupSum", "KfSetCurveLabel", "KfSetKeyframe", @@ -13280,6 +33187,66 @@ "title_aux": "ComfyUI-Keyframed" } ], + "https://github.com/domprosys/ComfyUI-LTXVideo-Extra": [ + [ + "LTXVImgToVideoInplaceAtIndex" + ], + { + "title_aux": "ComfyUI-LTXVideo-Extra" + } + ], + "https://github.com/dorpxam/ComfyUI-FramePack-F1-T2V": [ + [ + "FramePackF1T2VLoraStack", + "FramePackF1T2VSampler", + "FramePackF1T2VSamplerSettings", + "FramePackF1T2VTextEncode", + "FramePackF1T2VUserSettings" + ], + { + "title_aux": "ComfyUI-FramePack-F1-T2V" + } + ], + "https://github.com/dorpxam/ComfyUI-LTXVideoLoRA": [ + [ + "LTXVLoRABlockEdit", + "LTXVLoRALoader", + "LTXVLoRASelector" + ], + { + "title_aux": "ComfyUI-LTXVideoLoRA" + } + ], + "https://github.com/dothings/comfyui_placeholder_prompting": [ + [ + "PlaceholderPrompting" + ], + { + "title_aux": "comfyui_placeholder_prompting" + } + ], + "https://github.com/doubletwisted/ComfyUI-Deadline-Plugin": [ + [ + "DeadlineSeed", + "DeadlineSubmit" + ], + { + "nodename_pattern": "DeadlineSubmitNode", + "title_aux": "ComfyUI Deadline Submission" + } + ], + "https://github.com/downlifted/ComfyUI_GROQ-PromptWizard": [ + [ + "GroqAudioProcessor", + "GroqCodeAssistant", + "GroqDocumentAnalyzer", + "GroqLLM", + "GroqVision" + ], + { + "title_aux": "ComfyUI_ComfyGroq" + } + ], "https://github.com/drago87/ComfyUI_Dragos_Nodes": [ [ "file_padding", @@ -13291,23 +33258,104 @@ "title_aux": "ComfyUI_Dragos_Nodes" } ], + "https://github.com/drawthingsai/draw-things-comfyui": [ + [ + "DrawThingsControlNet", + "DrawThingsHints", + "DrawThingsLoRA", + "DrawThingsNegative", + "DrawThingsPositive", + "DrawThingsPrompt", + "DrawThingsRefiner", + "DrawThingsSampler", + "DrawThingsUpscaler" + ], + { + "title_aux": "draw-things-comfyui" + } + ], + "https://github.com/dreamhartley/ComfyUI_show_seed": [ + [ + "Show Seed" + ], + { + "title_aux": "ComfyUI_show_seed" + } + ], "https://github.com/drmbt/comfyui-dreambait-nodes": [ [ + "AudioInfoPlus", "BoolPlusPlus", + "CompareImageSimilarity", "DRMBT_AspectPadImageForOutpainting", "DRMBT_LoadMedia", "DRMBT_MultiMinMax", "DRMBT_String_Item_Menu", + "DictToOutputs", + "DownloadAndLoadMiniCPMV", + "DrawMana", + "DrawText", + "DreambaitFolderOpener", + "DynamicDictionary", + "DynamicStringConcatenate", + "ImageFrameBlend", + "ImageResizeFaceAware", + "ListItemExtract", "ListItemSelector", + "LoadAudioPlus", + "MiniCPMVNode", + "MusicGen", + "NormalizeAudio", "NumberPlusPlus", "NumberRemap", + "Qwen2AudioInstruct", + "ShotHistory", + "StringToDict", "SwitchDuo", - "TextPlusPlus" + "TextBoxStyle", + "TextLineSelect", + "TextLinesToList", + "TextMargins", + "TextPlusPlus", + "TextShadow" ], { "title_aux": "comfyui-dreambait-nodes" } ], + "https://github.com/drozbay/ComfyUI-WanVaceAdvanced": [ + [ + "HuMoI2VPatch", + "StringToFloatListRanged", + "VACEAdvDetailerHookProvider", + "VaceAdvancedModelPatch", + "VaceStrengthTester", + "WVAOptionsNode", + "WVAPipeSimple", + "WanMaskToLatentSpace", + "WanNoiseMaskToLatentSpace", + "WanVacePhantomDual", + "WanVacePhantomDualV2", + "WanVacePhantomExperimental", + "WanVacePhantomExperimentalV2", + "WanVacePhantomSimple", + "WanVacePhantomSimpleV2", + "WanVaceReplace", + "WanVaceToVideoLatent", + "WanVaceWindowReferences" + ], + { + "title_aux": "ComfyUI-WanVaceAdvanced" + } + ], + "https://github.com/drphero/comfyui_prompttester": [ + [ + "PromptTester" + ], + { + "title_aux": "ComfyUI-PromptTester" + } + ], "https://github.com/drustan-hawk/primitive-types": [ [ "float", @@ -13319,6 +33367,91 @@ "title_aux": "primitive-types" } ], + "https://github.com/dseditor/Comfy-MCP": [ + [ + "MCPConfigGenerator" + ], + { + "title_aux": "Comfy-MCP" + } + ], + "https://github.com/dseditor/ComfyUI-ListHelper": [ + [ + "AudioListCombine", + "AudioListGenerator", + "AudioToFrameCount", + "AutoWhiteBalance", + "BatchToPSD", + "CeilDivide", + "ChineseConverter", + "ChineseTranslate", + "FrameMatch", + "GGUFInference", + "ImageListSplitHeadTail", + "ModelDownloader", + "NumberListGenerator", + "OpenAIHelper", + "OpenRouterLLM", + "PersonFeatureExtractor", + "PersonFeatureParser", + "PhotoMagazineMaker", + "PhotoMagazineParser", + "PhotoMagazinePromptGenerator", + "PromptListGenerator", + "QwenGPUInference", + "ShowText|ListHelper", + "SimpleWildCardPlayer" + ], + { + "title_aux": "ComfyUI-ListHelper" + } + ], + "https://github.com/dseditor/ComfyUI-ScheduledTask": [ + [ + "DailyPromptScheduler", + "ShutdownNode", + "TimeToSeedList" + ], + { + "title_aux": "ComfyUI-ScheduledTask" + } + ], + "https://github.com/dseditor/ComfyUI-Thread": [ + [ + "PublishThread", + "StartWithLongLiveToken", + "ThreadPublishVideo", + "ThreadsHistory" + ], + { + "title_aux": "ComfyUI-Thread" + } + ], + "https://github.com/dskjal/comfyui-yolov8-dsuksampler": [ + [ + "Yolov8DSUKsampler" + ], + { + "title_aux": "comfyui-yolov8-dsuksampler" + } + ], + "https://github.com/dskjal/comfyui-yolov8-simple": [ + [ + "ImageCompositeBlurred", + "Yolov8DS" + ], + { + "title_aux": "comfyui-yolov8-simple" + } + ], + "https://github.com/duchamps0305/comfyui-white-extractor": [ + [ + "WhitePercentage" + ], + { + "title_aux": "comfyui-white-extractor" + } + ], "https://github.com/ducido/ObjectFusion_ComfyUI_nodes": [ [ "Custom ESAM_ModelLoader_Zho", @@ -13331,6 +33464,16 @@ "title_aux": "ObjectFusion_ComfyUI_nodes" } ], + "https://github.com/duldduld/ComfyUI_md5": [ + [ + "FileToMD5", + "ImgToMD5", + "StringToMD5" + ], + { + "title_aux": "ComfyUI_md5" + } + ], "https://github.com/duskfallcrew/Comfyui_EmbeddingMerge_Node/raw/refs/heads/main/merge_embed.py": [ [ "EmbeddingMerger" @@ -13357,6 +33500,48 @@ "title_aux": "comfyui_dygen" } ], + "https://github.com/dzqdzq/ComfyUI-crop-alpha": [ + [ + "FastAlphaCropper", + "ShrinkImage" + ], + { + "title_aux": "ComfyUI-crop-alpha" + } + ], + "https://github.com/dzy1128/ComfyUI-Vector-Engine": [ + [ + "VectorEngineGPT", + "VectorEngineGemini" + ], + { + "title_aux": "ComfyUI-Vector-Engine" + } + ], + "https://github.com/dzy1128/ComfyUI-VertexAI": [ + [ + "GeminiImageGenerator" + ], + { + "title_aux": "ComfyUI-VertexAI" + } + ], + "https://github.com/dzy1128/Seedream-Image-Generate-ComfyUI": [ + [ + "SeedreamImageGenerate" + ], + { + "title_aux": "Seedream Image Generate ComfyUI Node" + } + ], + "https://github.com/e-tier-newbie/ComfyUI-E-Tier-TextSaver": [ + [ + "E_TierTextSaver" + ], + { + "title_aux": "ComfyUI-E-Tier-TextSaver" + } + ], "https://github.com/e7mac/ComfyUI-ShadertoyGL": [ [ "ColorChannelOffset", @@ -13367,6 +33552,64 @@ "title_aux": "ComfyUI-ShadertoyGL" } ], + "https://github.com/eRepublik-Labs/comfyui-nodes-erpk": [ + [ + "ClaudeAPIClient", + "ClaudeConversation", + "ClaudeConversationInfo", + "ClaudePromptEnhancer", + "ClaudeStructuredOutput", + "ClaudeTextGeneration", + "ClaudeTokenCounter", + "ClaudeToolDefinition", + "ClaudeUsageStats", + "ClaudeVisionAnalysis", + "ERPK Foreground Refinement (BlurFusion)", + "ERPK Get Mask (BiRefNet)", + "ERPK Remove Background (BiRefNet)", + "ERPK Remove Background (InSPyReNet)", + "ERPK Remove Background (rembg)", + "ERPK SHARP Predict", + "ERPK SHARP Render Video", + "ERPK SHARP Render Views", + "ERPK_ConcatenateStrings", + "GeminiAPIConfig", + "GeminiChat", + "GeminiImageEdit", + "GeminiImageGeneration", + "GeminiSafetySettings", + "GeminiSystemInstruction", + "GeminiTextGeneration", + "GeminiVision", + "OpenAIAPIConfig", + "OpenAIChat", + "OpenAIImageEdit", + "OpenAIImageGeneration", + "OpenAISystemInstruction", + "OpenAITextGeneration", + "OpenAIVision", + "VeoImageToVideo", + "VeoTextToVideo", + "WaveSpeed Custom Client", + "WaveSpeed Custom Preview Video", + "WaveSpeed Custom QwenImageEdit", + "WaveSpeed Custom QwenImageEditPlus", + "WaveSpeed Custom QwenImageT2I", + "WaveSpeed Custom Save Audio", + "WaveSpeed Custom SeedreamV4", + "WaveSpeed Custom SeedreamV4Edit", + "WaveSpeed Custom SeedreamV4EditSequential", + "WaveSpeed Custom SeedreamV4Sequential", + "WaveSpeed Custom SeedreamV4_5", + "WaveSpeed Custom SeedreamV4_5Edit", + "WaveSpeed Custom SeedreamV4_5EditSequential", + "WaveSpeed Custom SeedreamV4_5Sequential", + "WaveSpeed Custom Upload Image" + ], + { + "title_aux": "ERPK Collection" + } + ], "https://github.com/ealkanat/comfyui-easy-padding": [ [ "comfyui-easy-padding" @@ -13375,6 +33618,14 @@ "title_aux": "ComfyUI Easy Padding" } ], + "https://github.com/eastmoe/ComfyUI-CMP-Extention": [ + [ + "CmpExt3ControlPanel" + ], + { + "title_aux": "ComfyUI-CMP-Extention" + } + ], "https://github.com/eastoc/ComfyUI_SemanticSAM": [ [ "PointPrompt", @@ -13385,44 +33636,169 @@ "title_aux": "Semantic-SAM" } ], - "https://github.com/edelvarden/ComfyUI-ImageMetadataExtension": [ + "https://github.com/easygoing0114/ComfyUI-easygoing-nodes": [ [ - "CreateExtraMetaData", - "SaveImageWithMetaData" + "CLIPSaveQwen", + "CLIPScaleDualSDXLBlock", + "CLIPScaleQwenBlock", + "HDR Effects with LAB Adjust", + "HDREffectsLabAdjust", + "ModelMergeHiDream", + "ModelMergeZImage", + "ModelScaleFlux2Klein", + "ModelScaleHiDream", + "ModelScaleQwenImage", + "ModelScaleSDXL", + "ModelScaleZImage", + "SaveImageWithPrompt", + "VAEMergeAdd", + "VAEMergeSDXLBlock", + "VAEMergeSimple", + "VAEMergeSubtract", + "VAEScaleFlux2Block", + "VAEScaleFluxBlock", + "VAEScaleQwenBlock", + "VAEScaleSDXLBlock" ], { - "title_aux": "ComfyUI-ImageMetadataExtension" + "title_aux": "ComfyUI-easygoing-nodes" + } + ], + "https://github.com/ebrinz/ComfyUI-MusicGen-HF": [ + [ + "AudioOutputToConditioningQueue", + "BPMDurationInput", + "ConditioningQueueManager", + "HuggingFaceMusicGen", + "LoadAudioStandalone", + "LoopingAudioPreview", + "MusicGenAudioToFile", + "ProfessionalLoopTransition", + "SaveAudioStandalone", + "SmoothAudioQueue", + "custom_nodes" + ], + { + "title_aux": "ComfyUI-MusicGen-HF" + } + ], + "https://github.com/eddyhhlure1Eddy/ComfyUI-EddySevenResonance": [ + [ + "EddyIntSevenRandomV2", + "EddyLuckySeedNode" + ], + { + "title_aux": "ComfyUI-EddySevenResonance" + } + ], + "https://github.com/eddyhhlure1Eddy/ComfyUI-LLM-GGUF": [ + [ + "ClearModelCache", + "LLMChat", + "ListSessions", + "LoadGGUFModel", + "ResetChat" + ], + { + "title_aux": "ComfyUI-LLM-GGUF" + } + ], + "https://github.com/eddyhhlure1Eddy/ComfyUI-MemoryCleaner": [ + [ + "MemoryCleaner", + "MemoryStatus" + ], + { + "title_aux": "ComfyUI-MemoryCleaner" + } + ], + "https://github.com/eddyhhlure1Eddy/ComfyUI-PreviewImageNode": [ + [ + "PreviewImageStandalone", + "SaveImageStandalone" + ], + { + "title_aux": "ComfyUI-PreviewImageNode" + } + ], + "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenFrameSelector": [ + [ + "QwenFrameSelector" + ], + { + "title_aux": "ComfyUI-QwenFrameSelector" + } + ], + "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenVideo": [ + [ + "GetVideoPath", + "QwenVideoPromptReversal", + "ShowQwenPrompt" + ], + { + "title_aux": "ComfyUI-QwenVideo" + } + ], + "https://github.com/eddyhhlure1Eddy/ComfyUI-TorchCompileSpeed": [ + [ + "ApplyTorchCompile", + "TorchCompileSpeedSettings" + ], + { + "title_aux": "ComfyUI-TorchCompileSpeed" + } + ], + "https://github.com/edelvarden/ComfyUI-Display-Value": [ + [ + "DisplayValue" + ], + { + "title_aux": "ComfyUI-Display-Value" } ], "https://github.com/edenartlab/eden_comfy_pipelines": [ [ + "AnimatedShapeMaskNode", "Animation_RGB_Mask", "AspectPadImageForOutpainting", "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_GPTStructuredOutput", "Eden_IMG_padder", "Eden_IMG_unpadder", + "Eden_ImageMaskComposite", "Eden_Image_Math", "Eden_Int", "Eden_IntToFloat", "Eden_MaskBoundingBox", "Eden_MaskCombiner", "Eden_Math", + "Eden_RGBA_to_RGB", + "Eden_RandomFilepathSampler", + "Eden_RandomNumberSampler", + "Eden_RandomPromptFromFile", + "Eden_Regex_Replace", "Eden_RepeatLatentBatch", + "Eden_Save_Param_Dict", "Eden_Seed", "Eden_String", "Eden_StringHash", + "Eden_StringReplace", "Eden_gpt4_node", + "Eden_randbool", "Extend_Sequence", "FolderScanner", "GetRandomFile", @@ -13442,10 +33818,16 @@ "LoadRandomImage", "Load_Embeddings_From_Folder", "MaskFromRGB_KMeans", + "MaskedRegionVideoExport", + "OrganicFillNode", "ParallaxZoom", + "ProjectionPreview", "Random_Style_Mixture", + "SDAnyConverter", + "SDTypeConverter", "SaveImageAdvanced", "SavePosEmbeds", + "SurfaceRadiometricCompensation", "VAEDecode_to_folder", "VideoFrameSelector", "WidthHeightPicker" @@ -13462,6 +33844,14 @@ "title_aux": "Eden.art LoRa Trainer" } ], + "https://github.com/edoardocompagnucci/ComfyUI-HSyn9DHPE": [ + [ + "HSyn9DHPE" + ], + { + "title_aux": "ComfyUI-HSyn9DHPE" + } + ], "https://github.com/educator-art/ComfyUI-Load-DirectoryFiles": [ [ "Load Images and Prompts from Directory", @@ -13471,6 +33861,101 @@ "title_aux": "ComfyUI-Load-DirectoryFiles" } ], + "https://github.com/educator-art/ComfyUI-gpt-oss-PromptDesigner": [ + [ + "Load gpt-oss Prompt Designer" + ], + { + "title_aux": "ComfyUI-gpt-oss-PromptDesigner" + } + ], + "https://github.com/efortin/ComfyUI-Ollama-Enhancer": [ + [ + "OllamaEnhancerNode" + ], + { + "title_aux": "ComfyUI-Manufnode" + } + ], + "https://github.com/efuentesamin/mewins_node_pack": [ + [ + "FloatOperation", + "FloatToInt", + "IntOperation", + "IntToFloat", + "SimpleExpression" + ], + { + "title_aux": "mewins_node_pack" + } + ], + "https://github.com/eg0pr0xy/comfyui_noisegen": [ + [ + "AudioAnalyzer", + "AudioMixer", + "AudioSave", + "BandLimitedNoise", + "ChaosNoiseMix", + "ConvolutionReverb", + "FeedbackProcessor", + "GranularProcessor", + "GranularSequencer", + "HarshFilter", + "MicrosoundSculptor", + "ModulationMatrix", + "MultiDistortion", + "NoiseGenerator", + "PerlinNoise", + "SpectralProcessor", + "SpectrumAnalyzer", + "TrueChaos" + ], + { + "title_aux": "ComfyUI-NoiseGen" + } + ], + "https://github.com/einhorn13/ComfyUI-ImageProcessUtilities": [ + [ + "CombineCoords", + "CropByCoords", + "ImageTiler", + "ImageUntiler", + "PasteByCoords", + "ReorderBatch", + "SplitCoords", + "StringToIntegers" + ], + { + "title_aux": "ComfyUI-ImageProcessUtilities" + } + ], + "https://github.com/elgalardi/comfyui-clip-prompt-splitter": [ + [ + "CLIPPromptSplitter5" + ], + { + "title_aux": "comfyui-clip-prompt-splitter" + } + ], + "https://github.com/elgalardi/comfyui-prompt-splitter": [ + [ + "PromptSplitter10Lines", + "PromptSplitter3Lines", + "PromptSplitter5Lines" + ], + { + "title_aux": "comfyui-prompt-splitter" + } + ], + "https://github.com/elyetis/Comfyui-ColorMatchNodes": [ + [ + "ColorMatch2Refs", + "ColorMatchBlendAutoWeights" + ], + { + "title_aux": "Comfyui-ColorMatchNodes" + } + ], "https://github.com/emojiiii/ComfyUI_Emojiiii_Custom_Nodes": [ [ "BatchImageProcessor", @@ -13483,21 +33968,36 @@ "title_aux": "ComfyUI_Emojiiii_Custom_Nodes" } ], + "https://github.com/engineer6980/ComfyUI-Image-Cipher": [ + [ + "ImageCipherDecode", + "ImageCipherEncode" + ], + { + "title_aux": "ComfyUI-Image-Cipher" + } + ], "https://github.com/envy-ai/ComfyUI-ConDelta": [ [ "ApplyConDelta", "ApplyConDeltaAutoScale", + "CFGlessNegativePrompt", "ClampConDelta", "ConditioningAddConDelta", "ConditioningAddConDeltaAutoScale", "ConditioningAverageMultiple", "ConditioningGetNoise", + "ConditioningGetRandom", "ConditioningScale", "ConditioningSubtract", "ExtendedConditioningAverage", + "GetConDeltaFromPrompt", "HardClampConDelta", "LoadConditioningDelta", "MaskConDelta", + "MultiDimensionalPromptTravel", + "PromptTravel", + "QuickConDelta", "SaveConditioningDelta", "ThresholdConditioning" ], @@ -13505,15 +34005,135 @@ "title_aux": "ComfyUI-ConDelta" } ], + "https://github.com/eric183/ComfyUI-Only": [ + [ + "ArchiveImageLoader", + "LatentLoaderAdvanced", + "WorkflowImageFileLoader", + "WorkflowJSONParser" + ], + { + "title_aux": "ComfyUI-Only" + } + ], + "https://github.com/erosDiffusion/ComfyUI-EulerDiscreteScheduler": [ + [ + "FlowMatchEulerDiscreteScheduler (Custom)", + "ImageMetadataExtractor", + "NunchakuQwenPatches", + "PatchFlashAttention" + ], + { + "title_aux": "ComfyUI-EulerDiscreteScheduler" + } + ], + "https://github.com/erosDiffusion/ComfyUI-ZImageDit": [ + [ + "LoadZImageSDNQ", + "ZImageSDNQGenerate" + ], + { + "title_aux": "ComfyUI-ZImageDit" + } + ], "https://github.com/erosDiffusion/ComfyUI-enricos-nodes": [ [ "Compositor3", + "Compositor4", + "Compositor4MasksOutput", + "Compositor4TransformsOut", + "CompositorColorPicker", "CompositorConfig3", + "CompositorConfig4", + "CompositorMasksOutputV3", "CompositorTools3", - "CompositorTransformsOutV3" + "CompositorTransformsOutV3", + "ImageColorSampler" ], { - "title_aux": "Compositor Node" + "title_aux": "ComfyUI-enricos-nodes" + } + ], + "https://github.com/errew/ComfyUI-Wireless": [ + [ + "WirelessGetAny", + "WirelessGetImage", + "WirelessGetLatent", + "WirelessSetAny", + "WirelessSetImage", + "WirelessSetLatent" + ], + { + "title_aux": "ComfyUI-Wireless" + } + ], + "https://github.com/esp-dev/comfyui-loadheicimage": [ + [ + "LoadImagePlusHEIC" + ], + { + "title_aux": "comfyui-loadheicimage" + } + ], + "https://github.com/esp-dev/comfyui-videoframenode": [ + [ + "VideoFirstLastFrame" + ], + { + "title_aux": "comfyui-videoframenode" + } + ], + "https://github.com/ethanfel/ComfyUI-Sharp-Selector": [ + [ + "FastAbsoluteSaver", + "ParallelSharpnessLoader", + "SharpFrameSelector", + "SharpnessAnalyzer" + ], + { + "title_aux": "ComfyUI-Sharp-Selector" + } + ], + "https://github.com/ethanfel/Comfyui-JSON-Manager": [ + [ + "JSONLoaderBatchI2V", + "JSONLoaderBatchLoRA", + "JSONLoaderBatchVACE", + "JSONLoaderCustom1", + "JSONLoaderCustom3", + "JSONLoaderCustom6", + "JSONLoaderDynamic", + "JSONLoaderLoRA", + "JSONLoaderStandard", + "JSONLoaderVACE" + ], + { + "title_aux": "Comfyui-JSON-Manager" + } + ], + "https://github.com/euan-gwd/comfyui-character-prompt-builder": [ + [ + "Character Prompt Builder Female Fashion", + "Character Prompt Builder Female Person", + "Character Prompt Builder Female Poses", + "Character Prompt Builder Male Fashion", + "Character Prompt Builder Male Person", + "Character Prompt Builder Male Poses", + "Character Prompt Builder Scene", + "Character Prompt Builder Spaceship Character", + "Character Prompt Builder Spaceship Mods", + "renderPrompt" + ], + { + "title_aux": "comfyui-character-prompt-builder" + } + ], + "https://github.com/evandcoleman/comfyui-comparison-grid": [ + [ + "ComparisonGrid" + ], + { + "title_aux": "comfyui-comparison-grid" } ], "https://github.com/evanspearman/ComfyMath": [ @@ -13576,26 +34196,38 @@ "title_aux": "ComfyMath" } ], - "https://github.com/evolox/ComfyUI-GeneraNodes": [ + "https://github.com/excelwong/ComfyUI-PromptComposer": [ [ - "Genera.BatchPreviewer", - "Genera.BatchTester", - "Genera.GCPStorageNode" + "PromptComposer" ], { - "title_aux": "ComfyUI-GeneraNodes" + "title_aux": "ComfyUI Prompt Composer" } ], "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\"", @@ -13630,6 +34262,7 @@ "https://github.com/exectails/comfyui-et_stringutils": [ [ "ETATOI", + "ETFTOA", "ETITOA", "ETJoinTextNode", "ETReplaceTextNode", @@ -13643,26 +34276,100 @@ "title_aux": "String Utils" } ], + "https://github.com/exedesign/Hunyuan-3D-v3": [ + [ + "Hunyuan3DPreview", + "HunyuanBatchImageTo3D", + "HunyuanBatchPreview", + "HunyuanConfig", + "HunyuanImageTo3D", + "HunyuanTextTo3D" + ], + { + "nodename_pattern": "Hunyuan", + "title_aux": "ComfyUI-Hunyuan3D-v3" + } + ], "https://github.com/ez-af/ComfyUI-EZ-AF-Nodes": [ [ - "EZ Concatenate Text", - "EZ Load from CSV", - "EZ String" + "EZ_CSV_Loader", + "EZ_Extract_Prompt", + "EZ_Find_Replace", + "EZ_Input", + "EZ_Prompt_Loader", + "EZ_Switch", + "EZ_Tag_Loader", + "EZ_Text_Concat", + "EZ_Text_to_Size" ], { "title_aux": "ComfyUI-EZ-AF-Nodes" } ], - "https://github.com/fablestudio/ComfyUI-Showrunner-Utils": [ + "https://github.com/fabbarix/comfyui-promptstore": [ [ - "AlignFace", - "GenerateTimestamp", - "GetMostCommonColors", - "ReadImage", - "RenderOpenStreetMapTile" + "Prompt Selector", + "Prompt Template" ], { - "title_aux": "ComfyUI-Showrunner-Utils" + "title_aux": "comfyui-promptstore" + } + ], + "https://github.com/facefusion/facefusion-comfyui": [ + [ + "SwapFaceImage", + "SwapFaceVideo" + ], + { + "title_aux": "FaceFusion ComfyUI" + } + ], + "https://github.com/facok/ComfyUI-HunyuanVideoMultiLora": [ + [ + "HunyuanVideoLoraLoader" + ], + { + "title_aux": "ComfyUI-HunyuanVideoMultiLora" + } + ], + "https://github.com/facok/ComfyUI-TeaCacheHunyuanVideo": [ + [ + "TeaCacheHunyuanVideoSampler_FOK" + ], + { + "title_aux": "ComfyUI-TeaCacheHunyuanVideo" + } + ], + "https://github.com/facok/comfyui-meancache-z": [ + [ + "MeanCache_ZImage" + ], + { + "title_aux": "comfyui-meancache-z" + } + ], + "https://github.com/fairy-root/ComfyUI-GLHF": [ + [ + "glhf_chat" + ], + { + "title_aux": "ComfyUI-GLHF" + } + ], + "https://github.com/fairy-root/ComfyUI-OpenAI-FM": [ + [ + "OpenAIFMNode" + ], + { + "title_aux": "ComfyUI-OpenAI-FM" + } + ], + "https://github.com/fairy-root/ComfyUI-Show-Text": [ + [ + "ShowText" + ], + { + "title_aux": "ComfyUI-Show-Text" } ], "https://github.com/fairy-root/Flux-Prompt-Generator": [ @@ -13685,6 +34392,7 @@ ], "https://github.com/fallingmeteorite/nsfw-image-check-comfyui": [ [ + "NsfwAreaCoverNode", "NsfwCheckNode" ], { @@ -13699,6 +34407,197 @@ "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", + "Hunyuan" + ], + { + "title_aux": "ComfyUI-EmbeddingPipelineAnalytics" + } + ], + "https://github.com/fblissjr/ComfyUI-QwenImageWanBridge": [ + [ + "HunyuanVideoCLIPLoader", + "HunyuanVideoEmptyLatent", + "HunyuanVideoPromptExpander", + "HunyuanVideoTextEncoder", + "HunyuanVideoVisionLoader", + "LLMOutputParser", + "PromptKeyFilter", + "QwenDebugController", + "QwenEliGenEntityControl", + "QwenEliGenMaskPainter", + "QwenImageBatch", + "QwenInpaintSampler", + "QwenLowresFixNode", + "QwenMaskProcessor", + "QwenSmartCrop", + "QwenSpatialTokenGenerator", + "QwenTemplateBuilder", + "QwenTemplateBuilderV2", + "QwenTemplateConnector", + "QwenToChronoEditBridge", + "QwenToWanFirstFrameLatent", + "QwenToWanImageSaver", + "QwenToWanLatentSaver", + "QwenTokenAnalyzer", + "QwenTokenAnalyzerStandalone", + "QwenTokenDebugger", + "QwenVLCLIPLoader", + "QwenVLEmptyLatent", + "QwenVLImageToLatent", + "QwenVLTextEncoder", + "QwenVLTextEncoderAdvanced", + "TemplateInfluenceAnalyzer", + "ZImageEmptyLatent", + "ZImageTextEncoder", + "ZImageTextEncoderSimple", + "ZImageTurnBuilder", + "ZImageWanVAEDecode" + ], + { + "title_aux": "ComfyUI-QwenImageWanBridge" + } + ], + "https://github.com/fblissjr/ComfyUI-WanActivationEditor": [ + [ + "WanVideoActivationEditor", + "WanVideoAdvancedActivationEditor", + "WanVideoBlockActivationBuilder", + "WanVideoBlockActivationViewer", + "WanVideoBlockStrengthBuilder", + "WanVideoDirectInjector", + "WanVideoEmbeddingAmplifier", + "WanVideoEmbeddingAnalyzer", + "WanVideoEmbeddingDatabase", + "WanVideoGuidanceController", + "WanVideoInjectionTester", + "WanVideoLatentEncoder", + "WanVideoLatentInjector", + "WanVideoNoiseController", + "WanVideoProjectionBooster", + "WanVideoSequentialMixer", + "WanVideoStrengthVisualizer", + "WanVideoVectorArithmetic", + "WanVideoVectorDifference", + "WanVideoVectorInterpolation" + ], + { + "title_aux": "ComfyUI-WanActivationEditor" + } + ], + "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow": [ + [ + "WanAdaptiveFlow", + "WanBlendVisualize", + "WanEmbeddingPreviz", + "WanEmbeddingPrevizCanvas", + "WanMinimalCanvasTest", + "WanSmartBlend" + ], + { + "title_aux": "wanvideo - seamless flow" + } + ], + "https://github.com/fblissjr/shrug-prompter": [ + [ + "AccumulationNodeCompat", + "AdvancedVLMSampler", + "AnyTypePassthrough", + "AutoMemoryManager", + "DualProviderConfig", + "GlobalMemoryCleanup", + "ImageToAny", + "LoadAudio", + "LoopAwareResponseIterator", + "LoopAwareVLMAccumulator", + "LoopSafeAccumulator", + "PromptTemplateLoader", + "RemoteTextEncoder", + "RobustImageRangeExtractor", + "SeedPromptGenerator", + "ShrugASRNode", + "ShrugPromptBatchFromFile", + "ShrugPrompter", + "SmartImageRangeExtractor", + "TextCleanup", + "TextListCleanup", + "TextListIndexer", + "TextListToString", + "TwoRoundVLMPrompter", + "VLMImagePassthrough", + "VLMImageProcessor", + "VLMImageResizer", + "VLMPrompterFast", + "VLMProviderConfig", + "VLMResponseExtractor", + "VLMResultCollector", + "VLMResultIterator", + "VLMResultsToGeneric", + "VLMStyleRewriter", + "VideoFramePairExtractor", + "VideoSegmentAssembler" + ], + { + "title_aux": "Shrug-Prompter: Unified VLM Integration for ComfyUI" + } + ], + "https://github.com/fchangjun/Baidu_Meux_ComfyTools": [ + [ + "MeuxAdvancedImageCrop", + "MeuxImageLoader", + "MeuxMultiSaveImage", + "MeuxOutpaintSizePresetSafe", + "MeuxRMBG", + "MeuxRealESRGANUpscale", + "MeuxSimpleLLMNode", + "MeuxSizePresetSafe", + "MeuxSmartEmptyLatent", + "MeuxSmartExactResize", + "MeuxTextAreaInput" + ], + { + "title_aux": "BaiduMeux_Comfy Tools" + } + ], + "https://github.com/fchangjun/Comfyui_MultiSaveImage": [ + [ + "MeuxAdvancedImageCrop", + "MeuxImageLoader", + "MeuxMultiSaveImage", + "MeuxOutpaintSizePresetSafe", + "MeuxRMBG", + "MeuxRealESRGANUpscale", + "MeuxSimpleLLMNode", + "MeuxSizePresetSafe", + "MeuxSmartEmptyLatent", + "MeuxSmartExactResize", + "MeuxTextAreaInput" + ], + { + "title_aux": "MultiSaveImage Node" + } + ], "https://github.com/fearnworks/ComfyUI_FearnworksNodes": [ [ "Count Files in Directory (FW)", @@ -13714,8 +34613,64 @@ "title_aux": "Fearnworks Nodes" } ], + "https://github.com/febogallo/ComfyUI-Freepik": [ + [ + "FreepikMystic", + "FreepikRemoveBackground", + "FreepikUpscalerCreative", + "FreepikUpscalerPrecision" + ], + { + "title_aux": "ComfyUI-Freepik" + } + ], + "https://github.com/feffy380/comfyui-chroma-cache": [ + [ + "ChromaCache" + ], + { + "title_aux": "Chroma Cache" + } + ], + "https://github.com/feixuetuba/Spleeter": [ + [ + "Spleeter" + ], + { + "title_aux": "Spleeter" + } + ], + "https://github.com/felixszeto/ComfyUI-RequestNodes": [ + [ + "Chainable Upload Image", + "ChainableUploadImage", + "Form Post Request Node", + "FormPostRequestNode", + "Get Request Node", + "GetRequestNode", + "Image To Base64 Node", + "Image To Blob Node", + "ImageToBase64Node", + "ImageToBlobNode", + "Key/Value Node", + "KeyValueNode", + "Post Request Node", + "PostRequestNode", + "Rest Api Node", + "RestApiNode", + "Retry Settings Node", + "RetrySettingNode", + "String Replace Node", + "StringReplaceNode" + ], + { + "title_aux": "ComfyUI-RequestNodes" + } + ], "https://github.com/fexli/fexli-util-node-comfyui": [ [ + "FEAnyToDict", + "FEAnyToString", "FEBCPrompt", "FEBatchGenStringBCDocker", "FEColor2Image", @@ -13724,17 +34679,22 @@ "FEDataPacker", "FEDataUnpacker", "FEDeepClone", + "FEDictCombine", "FEDictPacker", "FEDictUnpacker", + "FEEncLoraAutoLoader", + "FEEncLoraAutoLoaderStack", "FEEncLoraLoader", "FEExtraInfoAdd", "FEGenStringBCDocker", "FEGenStringGPT", + "FEGenStringNBus", "FEImageNoiseGenerate", "FEImagePadForOutpaint", "FEImagePadForOutpaintByImage", + "FEInterruptCondition", + "FELoadImageQQUrl", "FEOperatorIf", - "FEPythonStrOp", "FERandomBool", "FERandomLoraSelect", "FERandomPrompt", @@ -13774,6 +34734,14 @@ "title_aux": "ComfyUI-Classifier" } ], + "https://github.com/fidecastro/comfyui-llamacpp-client": [ + [ + "LlamaCppClient" + ], + { + "title_aux": "comfyui-llamacpp-client" + } + ], "https://github.com/filipemeneses/comfy_pixelization": [ [ "Pixelization" @@ -13782,6 +34750,58 @@ "title_aux": "Pixelization" } ], + "https://github.com/filliptm/ComfyUI-FL-DiffVSR": [ + [ + "FL_DiffVSR_LoadModel", + "FL_DiffVSR_Upscale" + ], + { + "title_aux": "ComfyUI-FL-DiffVSR" + } + ], + "https://github.com/filliptm/ComfyUI_FL-ClearVoice": [ + [ + "FL_ClearVoice_ModelLoader", + "FL_ClearVoice_Process" + ], + { + "title_aux": "ComfyUI_FL-ClearVoice" + } + ], + "https://github.com/filliptm/ComfyUI_FL-CosyVoice3": [ + [ + "FL_CosyVoice3_AudioCrop", + "FL_CosyVoice3_CrossLingual", + "FL_CosyVoice3_Dialog", + "FL_CosyVoice3_ModelLoader", + "FL_CosyVoice3_VoiceConversion", + "FL_CosyVoice3_ZeroShot" + ], + { + "title_aux": "ComfyUI_FL-CosyVoice3" + } + ], + "https://github.com/filliptm/ComfyUI_FL-Path-Animator": [ + [ + "FL_PathAnimator" + ], + { + "title_aux": "ComfyUI_FL-Path-Animator" + } + ], + "https://github.com/filliptm/ComfyUI_FL-SongGen": [ + [ + "FL_SongGen_AutoStyle", + "FL_SongGen_DescriptionBuilder", + "FL_SongGen_Generate", + "FL_SongGen_LyricsFormatter", + "FL_SongGen_ModelLoader", + "FL_SongGen_StyleTransfer" + ], + { + "title_aux": "ComfyUI_FL-SongGen" + } + ], "https://github.com/filliptm/ComfyUI_FL-Trainer": [ [ "FL_ImageCaptionSaver", @@ -13790,69 +34810,140 @@ "FL_KohyaSSInitWorkspace", "FL_KohyaSSTrain", "FL_Kohya_EasyTrain", - "FL_LoadImagesFromDirectoryPath", - "FL_SliderLoraAdvConfig", - "FL_SliderLoraDatasetConfig", - "FL_SliderLoraInitWorkspace", - "FL_SliderLoraTrain" + "FL_LoadImagesFromDirectoryPath" ], { "title_aux": "ComfyUI_FL-Trainer" } ], + "https://github.com/filliptm/ComfyUI_Fill-ChatterBox": [ + [ + "FL_ChatterboxDialogTTS", + "FL_ChatterboxMultilingualTTS", + "FL_ChatterboxTTS", + "FL_ChatterboxTurboTTS", + "FL_ChatterboxVC" + ], + { + "title_aux": "ComfyUI_Fill-ChatterBox" + } + ], "https://github.com/filliptm/ComfyUI_Fill-Nodes": [ [ + "FL_API_Base64_ImageLoader", + "FL_API_ImageSaver", + "FL_AnimatedShapePatterns", + "FL_AnimeLineExtractor", "FL_ApplyMask", "FL_Ascii", + "FL_Audio_BPM_Analyzer", + "FL_Audio_Beat_Visualizer", + "FL_Audio_Crop", + "FL_Audio_Drum_Detector", + "FL_Audio_Envelope_Visualizer", + "FL_Audio_Music_Video_Sequencer", + "FL_Audio_Reactive_Brightness", + "FL_Audio_Reactive_Edge_Glow", + "FL_Audio_Reactive_Envelope", + "FL_Audio_Reactive_Saturation", + "FL_Audio_Reactive_Scale", + "FL_Audio_Reactive_Speed", + "FL_Audio_Segment_Extractor", + "FL_Audio_Separation", + "FL_Audio_Shot_Iterator", "FL_BatchAlign", + "FL_BlackFrameReject", "FL_BulkPDFLoader", "FL_BulletHellGame", + "FL_CSVExtractor", "FL_CaptionSaver_V2", "FL_CaptionToCSV", + "FL_ClipScanner", "FL_CodeNode", "FL_ColorPicker", "FL_Dalle3", "FL_DirectoryCrawl", "FL_Dither", + "FL_FILM", + "FL_Fal_Gemini_ImageEdit", + "FL_Fal_Kling_AIAvatar", + "FL_Fal_Kontext", + "FL_Fal_Pixverse", + "FL_Fal_Pixverse_LipSync", + "FL_Fal_Pixverse_Transition", + "FL_Fal_SeedVR_Upscale", + "FL_Fal_Seedance_i2v", + "FL_Fal_Seedream_Edit", + "FL_Fal_Sora", + "FL_Float", + "FL_FloatToInt", "FL_FractalKSampler", + "FL_GPT_Image1", + "FL_GPT_Image1_ADV", + "FL_GPT_Text", "FL_GPT_Vision", + "FL_GeminiImageEditor", + "FL_GeminiImageGenADV", + "FL_GeminiTextAPI", + "FL_GeminiVideoCaptioner", "FL_Glitch", + "FL_GoogleCloudStorage", "FL_GoogleDriveDownloader", + "FL_GoogleDriveImageDownloader", "FL_GradGenerator", + "FL_HFDatasetDownloader", "FL_HFHubModelUploader", "FL_HF_Character", "FL_HF_UploaderAbsolute", "FL_HalftonePattern", + "FL_Hedra_API", "FL_HexagonalPattern", + "FL_ImageAddNoise", + "FL_ImageAddToBatch", "FL_ImageAdjuster", + "FL_ImageAspectCropper", + "FL_ImageBatch", "FL_ImageBatchToGrid", "FL_ImageBatchToImageList", + "FL_ImageBlank", "FL_ImageCaptionLayout", "FL_ImageCaptionLayoutPDF", "FL_ImageCaptionSaver", "FL_ImageCollage", + "FL_ImageCrop", "FL_ImageDimensionDisplay", "FL_ImageListToImageBatch", "FL_ImageNotes", + "FL_ImageOverlay", + "FL_ImagePicker", "FL_ImagePixelator", "FL_ImageRandomizer", + "FL_ImageSelector", "FL_ImageSlicer", "FL_ImagesToPDF", "FL_InfiniteZoom", "FL_InpaintCrop", "FL_Inpaint_Stitch", + "FL_IntToFloat", + "FL_JS", "FL_KSamplerXYZPlot", + "FL_KartelJobInput", + "FL_KartelJobOutput", "FL_KsamplerBasic", "FL_KsamplerPlus", + "FL_KsamplerPlusV2", "FL_KsamplerSettings", + "FL_LoadCSV", "FL_LoadImage", "FL_MadLibGenerator", "FL_Math", "FL_MirrorAndAppendCaptions", + "FL_ModelInspector", "FL_NFTGenerator", "FL_NodeLoader", "FL_NodePackLoader", "FL_OllamaCaptioner", + "FL_PDFEncryptor", "FL_PDFImageExtractor", "FL_PDFLoader", "FL_PDFMerger", @@ -13860,33 +34951,71 @@ "FL_PDFTextExtractor", "FL_PDFToImages", "FL_Padding", + "FL_PaddingRemover", "FL_PaperDrawn", + "FL_PasteByMask", "FL_PasteOnCanvas", + "FL_PathAnimator", "FL_PathTypeChecker", + "FL_PixVerseAPI", "FL_PixelArtShader", "FL_PixelSort", "FL_ProResVideo", + "FL_PromptBasic", + "FL_PromptMulti", "FL_PromptSelector", + "FL_PromptSelectorBasic", + "FL_QwenImageEditStrength", + "FL_RIFE", "FL_RandomNumber", + "FL_RandomShapeGenerator", + "FL_ReplaceColor", "FL_RetroEffect", "FL_Ripple", + "FL_RunwayAct2", + "FL_RunwayImageAPI", "FL_SDUltimate_Slices", "FL_SamplerStrings", "FL_SaveAndDisplayImage", "FL_SaveCSV", "FL_SaveImages", + "FL_SaveRGBAAnimatedWebP", + "FL_SaveWebM", "FL_SaveWebPImage(SaveImage)", "FL_SchedulerStrings", "FL_SendToDiscordWebhook", "FL_SeparateMaskComponents", "FL_Shadertoy", "FL_SimpleGPTVision", + "FL_Switch", + "FL_Switch_Big", "FL_SystemCheck", "FL_TetrisGame", + "FL_TextOverlayNode", + "FL_TextToPDF", "FL_TimeLine", + "FL_UnloadAllModels", + "FL_UnloadModel", "FL_UpscaleModel", + "FL_Veo3VideoGen", + "FL_VertexGemini25FlashImage", + "FL_VideoBatchSplitter", + "FL_VideoCadence", + "FL_VideoCadenceCompile", + "FL_VideoCaptionSaver", "FL_VideoCropMask", + "FL_VideoCrossfade", + "FL_VideoCut", "FL_VideoRecompose", + "FL_VideoTrim", + "FL_WF_Agent", + "FL_WanFirstLastFrameToVideo", + "FL_WanVaceToVideoMultiRef", + "FL_WanVideoBlender", + "FL_WanVideoBlender3Way", + "FL_WanVideoContinuationBlender", + "FL_WanVideoContinue", + "FL_WordFrequencyGraph", "FL_ZipDirectory", "FL_ZipSave", "GradientImageGenerator", @@ -13896,6 +35025,30 @@ "title_aux": "ComfyUI_Fill-Nodes" } ], + "https://github.com/fkxianzhou/ComfyUI-Jimeng-API": [ + [ + "JimengAPIClient", + "JimengQuotaSettings", + "JimengReferenceImage2Video", + "JimengSeedance1", + "JimengSeedance1_5", + "JimengSeedream3", + "JimengSeedream4", + "JimengVideoQueryTasks" + ], + { + "title_aux": "ComfyUI-Jimeng-API" + } + ], + "https://github.com/flamacore/ComfyUI-YouTubeUploader": [ + [ + "YouTubeAuthNode", + "YouTubeUploaderNode" + ], + { + "title_aux": "ComfyUI YouTube Uploader" + } + ], "https://github.com/florestefano1975/ComfyUI-Advanced-Sequence-Seed": [ [ "AdvancedSequenceSeedNode" @@ -13943,7 +35096,9 @@ [ "PortraitMaster", "PortraitMasterBaseCharacter", + "PortraitMasterFaceGenerator", "PortraitMasterMakeup", + "PortraitMasterPromptStyler", "PortraitMasterSkinDetails", "PortraitMasterStylePose" ], @@ -13965,6 +35120,18 @@ "title_aux": "comfyui-prompt-composer" } ], + "https://github.com/flowers6421/ComfyUI-SimpleTunerFlux2": [ + [ + "SimpleTunerFlux2LoRALoader", + "SimpleTunerFlux2LoRASelector", + "SimpleTunerFlux2LoRAUnloader", + "SimpleTunerFlux2PipelineLoader", + "SimpleTunerFlux2Sampler" + ], + { + "title_aux": "ComfyUI-SimpleTunerFlux2" + } + ], "https://github.com/flowtyone/ComfyUI-Flowty-CRM": [ [ "CCMSampler", @@ -14000,6 +35167,41 @@ "title_aux": "ComfyUI-Flowty-TripoSR" } ], + "https://github.com/fluffydiveX/ComfyUI-hvBlockswap": [ + [ + "hvBlockSwap" + ], + { + "title_aux": "ComfyUI-hvBlockswap" + } + ], + "https://github.com/flybirdxx/ComfyUI-RexOmni": [ + [ + "RexOmniDetector", + "RexOmniLoader" + ], + { + "title_aux": "ComfyUI-Rex-Omni" + } + ], + "https://github.com/flybirdxx/ComfyUI-SDMatte": [ + [ + "SDMatteApply" + ], + { + "title_aux": "ComfyUI-SDMatte" + } + ], + "https://github.com/flybirdxx/ComfyUI-SoulX-Podcast": [ + [ + "SoulXPodcastGenerate", + "SoulXPodcastInputParser", + "SoulXPodcastLoader" + ], + { + "title_aux": "ComfyUI-SoulX-Podcast" + } + ], "https://github.com/flycarl/ComfyUI-Pixelate": [ [ "ComfyUIPixelate" @@ -14010,12 +35212,10 @@ ], "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": [ [ - "BatchIndex_AS", "CropImage_AS", "Eval_AS", "ImageMixMasked_As", "ImageToMask_AS", - "Increment_AS", "Int2Any_AS", "LatentAdd_AS", "LatentMixMasked_As", @@ -14037,6 +35237,17 @@ "title_aux": "As_ComfyUI_CustomNodes" } ], + "https://github.com/fmartinellidev/ComfyUI-Prompt_util_pack": [ + [ + "PromptHiddenProcessor", + "PromptSnippetExtractor", + "PromptVariableExtractor", + "PromptVariableSubstitutor" + ], + { + "title_aux": "ComfyUI-Prompt_util_pack" + } + ], "https://github.com/fmatray/ComfyUI_BattlemapGrid": [ [ "Battlemap Grid", @@ -14065,6 +35276,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", @@ -14085,6 +35304,14 @@ "title_aux": "Self-Guidance nodes" } ], + "https://github.com/fotobudka-team/comfyui-ai-faces": [ + [ + "PhotoVerification" + ], + { + "title_aux": "ComfyUI AI Faces - Photo Verification Node" + } + ], "https://github.com/foxtrot-roger/comfyui-rf-nodes": [ [ "LogBool", @@ -14120,6 +35347,84 @@ "title_aux": "RF Nodes" } ], + "https://github.com/fpgaminer/joycaption_comfyui": [ + [ + "JJC_JoyCaption", + "JJC_JoyCaption_Custom" + ], + { + "title_aux": "JoyCaption Nodes" + } + ], + "https://github.com/fplu/comfyui_lama_with_refiner": [ + [ + "INPAINT_InpaintWithLaMaRefinerModel", + "INPAINT_LoadInpaintLaMaModel" + ], + { + "title_aux": "lama_with_refiner" + } + ], + "https://github.com/fr0nky0ng/ComfyUI-Face-Comparator": [ + [ + "FaceComparator" + ], + { + "title_aux": "ComfyUI-Face-Comparator" + } + ], + "https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt": [ + [ + "FormatLLMOutput", + "JSONPromptGenerator" + ], + { + "title_aux": "ComfyUI-JSON-Prompt" + } + ], + "https://github.com/fr0nky0ng/ComfyUI-frankAI-banana": [ + [ + "BananaApiKeyNode", + "BananaMainNode", + "BananaPromptSelector", + "FrankApiKeyNode", + "GoogleApiKeyNode", + "ImageListCollector" + ], + { + "title_aux": "ComfyUI-frankAI-banana" + } + ], + "https://github.com/francarl/ComfyUI-OnDemand-Loaders": [ + [ + "OnDemandCLIPLoader", + "OnDemandCLIPVisionLoader", + "OnDemandCheckpointLoader", + "OnDemandCivitaiLikedLoraLoader", + "OnDemandControlNetLoader", + "OnDemandDualCLIPLoader", + "OnDemandGGUFLoader", + "OnDemandLoraLoader", + "OnDemandModelPatchLoader", + "OnDemandUNETLoader", + "OnDemandVAELoader" + ], + { + "title_aux": "ComfyUI-OnDemand-Lora-Loader" + } + ], + "https://github.com/franciscotorrado/ComfyUI-Automation": [ + [ + "IteratorCounter", + "IteratorItem", + "IteratorList", + "IteratorSignal", + "VideoConcatenation" + ], + { + "title_aux": "ComfyUI-Automation" + } + ], "https://github.com/frankchieng/ComfyUI_Aniportrait": [ [ "AniPortrait_Audio2Video", @@ -14150,6 +35455,60 @@ "title_aux": "ComfyUI_llm_easyanimiate" } ], + "https://github.com/frankluise5220/ComfyUI-Lorahelper": [ + [ + "LH_AutoRatio", + "LH_History_Monitor", + "LH_LlamaInstruct", + "LH_LoraLoader", + "LH_MultiTextSelector", + "LH_SuperText", + "LH_TextDirectoryLoader", + "LoRA_AllInOne_Saver", + "UniversalAIChat", + "UniversalGGUFLoader", + "UniversalOllamaLoader" + ], + { + "nodename_pattern": "UniversalGGUFLoader|UniversalOllamaLoader|UniversalAIChat|LH_LlamaInstruct|LH_History_Monitor|LH_MultiTextSelector|LoRA_AllInOne_Saver|LH_SimpleText", + "title_aux": "ComfyUI-LoraHelper" + } + ], + "https://github.com/fredhopp/comfyui-flipflopnodes": [ + [ + "FF Group Positioner", + "FF Load Image with Metadata", + "FF Text" + ], + { + "title_aux": "comfyui-flipflopnodes" + } + ], + "https://github.com/fredlef/Comfyui_FSL_Nodes": [ + [ + "FSL Composite With Mask", + "FSL Image Passthrough", + "FSL Image Switch 8Way", + "FSL Manual Alpha Mask Painter", + "FSL Save And Strip Alpha", + "FSLEnsureNHWCBatch", + "FSLGeminiChat", + "FSLGeminiGenerateImage", + "FSLGeminiGenerateImageV8", + "FSLGeminiImageGenerator", + "FSLImageMemoryClear", + "FSLImageMemoryClearAll", + "FSLImageMemoryRecallSafe", + "FSLImageMemoryStore", + "FSLImageSaverWithMetadata", + "FSLImageSaverWithMetadataV5", + "FSLPromptCompose", + "FSLVeoGenerator" + ], + { + "title_aux": "ComfyUI FSL Nodes" + } + ], "https://github.com/freelifehacker/ComfyUI-ImgMask2PNG": [ [ "ImageMask2PNG" @@ -14194,32 +35553,221 @@ "FaceShaperLoadMediaPipeCropper", "FaceShaperMatchV2", "FaceShaperModels", - "FaceShaperShowLandMarks" + "FaceShaperShowLandMarks", + "FaceShaperV2" ], { "title_aux": "ComfyUI_FaceShaper" } ], + "https://github.com/fssorc/ComfyUI_RopeWrapper": [ + [ + "RopeWrapper_DetectNode", + "RopeWrapper_FaceRestore", + "RopeWrapper_LoadModels", + "RopeWrapper_LoadSwapInfo", + "RopeWrapper_OptionNode", + "RopeWrapper_SaveSwapInfo", + "RopeWrapper_SwapNode" + ], + { + "title_aux": "ComfyUI_RopeWrapper" + } + ], "https://github.com/fssorc/ComfyUI_pose_inter": [ [ - "Pose_Inter" + "GenTPose", + "PoseModify", + "Pose_Inter", + "Pose_Inter_V2" ], { "title_aux": "ComfyUI_pose_inter" } ], + "https://github.com/fudosanit/ComfyUI-Random-Resolution": [ + [ + "RandomResolutionSelector" + ], + { + "title_aux": "ComfyUI-Random-Resolution" + } + ], + "https://github.com/fuselayer/comfyui-lite-tracker": [ + [ + "LiteTracker_LoadModel", + "LiteTracker_Track", + "RectEditor" + ], + { + "title_aux": "comfyui-lite-tracker" + } + ], + "https://github.com/fuselayer/comfyui-mosaic-blur": [ + [ + "ImageMosaic" + ], + { + "title_aux": "comfyui-mosaic-blur" + } + ], + "https://github.com/fuselayer/comfyui-noise-match": [ + [ + "ApplyNoisePattern", + "NoisePatternVisualizer", + "NoiseRegionDetector", + "RealNoiseExtractor" + ], + { + "title_aux": "comfyui-noise-match" + } + ], + "https://github.com/g0kuvonlange/ComfyUI-Load-From-URL": [ + [ + "Load LoRA From URL", + "Load LoRAs from JSON", + "Load Video From URL" + ], + { + "title_aux": "ComfyUI Load From URL" + } + ], + "https://github.com/g7b2/ComfyUI-Artist-Tester": [ + [ + "ArtistListIterator", + "ArtistPromptComposer", + "SaveImageWithArtistTag" + ], + { + "title_aux": "ComfyUI-Artist-Tester" + } + ], + "https://github.com/g7b2/ComfyUI-MultiCheckpoint-Tester": [ + [ + "MultiCheckpointIncrementalNamer" + ], + { + "title_aux": "ComfyUI-MultiCheckpoint-Tester" + } + ], + "https://github.com/gabe-init/ComfyUI-11labs": [ + [ + "ElevenLabsNode" + ], + { + "title_aux": "ComfyUI-11labs" + } + ], + "https://github.com/gabe-init/ComfyUI-Google-Image-Search": [ + [ + "GoogleImageSearchNode" + ], + { + "title_aux": "ComfyUI-Google-Image-Search" + } + ], + "https://github.com/gabe-init/ComfyUI-Openrouter_node": [ + [ + "OpenRouterNode" + ], + { + "title_aux": "ComfyUI OpenRouter Node" + } + ], + "https://github.com/gabe-init/ComfyUI-String-Similarity": [ + [ + "StringSimilarity" + ], + { + "title_aux": "ComfyUI-String-Similarity" + } + ], + "https://github.com/game4d/ComfyUI-BDsInfiniteYou": [ + [ + "InfiniteYou_Image", + "InfiniteYou_Load" + ], + { + "title_aux": "ComfyUI-BDsInfiniteYou" + } + ], + "https://github.com/garg-aayush/ComfyUI-Svg2Raster": [ + [ + "LoadSVGImage", + "RasterizeSVG" + ], + { + "title_aux": "ComfyUI-Svg2Raster" + } + ], + "https://github.com/gasdyueer/comfyui-yolo-mask-process": [ + [ + "MaskedImageEffects", + "YoloDetectionAndSegmentation" + ], + { + "title_aux": "ComfyUI YOLO Mask Process" + } + ], + "https://github.com/gasparuff/CustomSelector": [ + [ + "CustomSelector" + ], + { + "title_aux": "comfyui-customselector" + } + ], + "https://github.com/gateway/ComfyUI-Kie-API": [ + [ + "KIEParsePromptGridJSON", + "KIE_Flux2_I2I", + "KIE_Gemini3Pro_LLM", + "KIE_GetRemainingCredits", + "KIE_GridSlice", + "KIE_Kling25_I2V_Pro", + "KIE_Kling26Motion_I2V", + "KIE_Kling26_I2V", + "KIE_Kling26_T2V", + "KIE_Kling3_Preflight", + "KIE_Kling3_Video", + "KIE_KlingElements", + "KIE_KlingElementsBatch", + "KIE_NanoBananaPro_Image", + "KIE_Seedance15Pro_I2V", + "KIE_SeedanceV1Pro_Fast_I2V", + "KIE_Seedream45_Edit", + "KIE_Seedream45_TextToImage", + "KIE_Suno_Music_Advanced", + "KIE_Suno_Music_Basic", + "KIE_SystemPrompt_Selector" + ], + { + "title_aux": "ComfyUI-Kie-API" + } + ], "https://github.com/gelasdev/ComfyUI-FLUX-BFL-API": [ [ - "FluxDevRedux_BFL", + "Flux2Flex_BFL", + "Flux2Klein4b_BFL", + "Flux2Klein9b_BFL", + "Flux2Max_BFL", + "Flux2Pro_BFL", + "FluxConfig_BFL", + "FluxCredits_BFL", + "FluxDeleteFinetune_BFL", "FluxDev_BFL", - "FluxPro11Redux_BFL", - "FluxPro11UltraRedux_BFL", + "FluxFinetuneDetails_BFL", + "FluxFinetuneStatus_BFL", + "FluxKontextMax_BFL", + "FluxKontextPro_BFL", + "FluxMyFinetunes_BFL", + "FluxPro11UltraFinetune_BFL", "FluxPro11Ultra_BFL", "FluxPro11_BFL", - "FluxProCanny_BFL", - "FluxProDepth_BFL", + "FluxProExpand_BFL", + "FluxProFillFinetune_BFL", "FluxProFill_BFL", - "FluxPro_BFL" + "ImageToBase64_BFL" ], { "title_aux": "ComfyUI-FLUX-BFL-API" @@ -14234,17 +35782,55 @@ "title_aux": "ComfyUI_GMIC" } ], + "https://github.com/gen1nya/ComfyUI-Remote-Upscale": [ + [ + "RefreshRemoteModels", + "RemoteUpscaleImage" + ], + { + "title_aux": "ComfyUI Remote Upscale" + } + ], "https://github.com/geocine/geocine-comfyui": [ [ "Image Scale", "Image Selector", "LoRA Name List", - "Seed to Noise" + "Prompt Text", + "Seed to Noise", + "ShowTextNode", + "Text Replace" ], { "title_aux": "geocine-comfyui" } ], + "https://github.com/georgitsenov/ComfyUI-R2": [ + [ + "S3SaveNode" + ], + { + "title_aux": "ComfyUI S3 Save Node" + } + ], + "https://github.com/geroldmeisinger/ComfyUI-outputlists-combiner": [ + [ + "CombineOutputLists", + "ConvertNumberToIntFloatStr", + "FormattedString", + "JSONOutputList", + "KSamplerImmediateSave", + "LoadAnyFile", + "NumberOutputList", + "SpreadsheetOutputList", + "StringOutputList", + "WorkflowDiscriminator", + "XyzGridPlot" + ], + { + "title_aux": "ComfyUI-outputlists-combiner" + } + ], "https://github.com/ggarra13/ComfyUI-mrv2": [ [ "mrv2AnnotationsImageNode", @@ -14308,6 +35894,26 @@ "title_aux": "foxpack" } ], + "https://github.com/gitadmini/comfyui_extractstoryboards": [ + [ + "ExtractStoryboards_xuhuan1024", + "IntBatchSize_xuhuan1024", + "IntBatch_xuhuan1024", + "String2Ints_xuhuan1024" + ], + { + "title_aux": "ExtractStoryboards" + } + ], + "https://github.com/gitcapoom/comfyui_fovestimator": [ + [ + "DepthFOVEstimator", + "FOVEstimator" + ], + { + "title_aux": "ComfyUI FOV Estimator" + } + ], "https://github.com/githubYiheng/ComfyUI_Change_IMAGE_BOREDER": [ [ "ChangeImageBorder" @@ -14354,16 +35960,25 @@ "AI Chooser", "Add Parameters", "AdvPromptEnhancer", + "Custom API Key", "DalleImage", "Enhancer", + "GPT Image", + "Gemini Image", "Image Mixer", + "Imagen Image", "ImgTextSwitch", + "Load Remote Models", + "LoadText|plush", + "Model-CLIP Output Switch", "ParseJSON", "Plush-Exif Wrangler", "Random Image Output", "Random Mixer", "Random Output", + "Remove Text", "Tagger", + "Text (Any)", "Type Converter", "mulTextSwitch" ], @@ -14389,6 +36004,19 @@ "title_aux": "ComfyUI-GlifNodes" } ], + "https://github.com/glitchinthemetrix16/ComfyUI-Roop": [ + [ + "RoopBatchFaceSwap", + "RoopFaceSwap", + "RoopFaceSwapVideo", + "RoopFaceSwapWithEnhancer", + "RoopSendWebhookFile", + "RoopSendWebhookImage" + ], + { + "title_aux": "ComfyUI Roop Custom Nodes" + } + ], "https://github.com/glowcone/comfyui-base64-to-image": [ [ "LoadImageFromBase64" @@ -14406,6 +36034,33 @@ "title_aux": "String Converter" } ], + "https://github.com/gmorks/ComfyUI-Animagine-Prompt": [ + [ + "AnimaginePrompt", + "MultiWildcardLoader", + "MultilineTextInput", + "TextFileLoader" + ], + { + "title_aux": "ComfyUI-Animagine-Prompt" + } + ], + "https://github.com/gmorks/ComfyUI-SendToDiscord": [ + [ + "PreviewImageWithDiscord" + ], + { + "title_aux": "ComfyUI-SendToDiscord" + } + ], + "https://github.com/gmorks/ComfyUI-WatchPoint": [ + [ + "WatchPoint" + ], + { + "title_aux": "ComfyUI-WatchPoint" + } + ], "https://github.com/goburiin/nsfwrecog-comfyui": [ [ "NSFWDetectorNode" @@ -14414,6 +36069,18 @@ "title_aux": "nsfwrecog-comfyui" } ], + "https://github.com/godmt/ComfyUI-IP-Composer": [ + [ + "IPCompConceptMerge", + "IPCompConceptSubspace", + "IPCompLoadOpenCLIP", + "IPLoadConceptSubspace", + "IPSaveConceptSubspace" + ], + { + "title_aux": "ComfyUI-IP-Composer" + } + ], "https://github.com/godmt/ComfyUI-List-Utils": [ [ "GODMT_AnyCast", @@ -14477,6 +36144,93 @@ "title_aux": "ComfyUI-Texture-Simple" } ], + "https://github.com/gokayfem/ComfyUI-fal-API": [ + [ + "Bria_Video_Increase_Resolution_fal", + "CombinedVideoGeneration_fal", + "DYWanFun22_fal", + "DYWanUpscaler_fal", + "Dreamina31TextToImage_fal", + "FluxDev_fal", + "FluxGeneral_fal", + "FluxLoraTrainer_fal", + "FluxLora_fal", + "FluxPro11_fal", + "FluxPro1Fill_fal", + "FluxProKontextMulti_fal", + "FluxProKontextTextToImage_fal", + "FluxProKontext_fal", + "FluxPro_fal", + "FluxSchnell_fal", + "FluxUltra_fal", + "GPTImage15Edit_fal", + "GPTImage15_fal", + "Hidreamfull_fal", + "HunyuanVideoLoraTrainer_fal", + "Ideogramv3_fal", + "Imagen4Preview_fal", + "InfinityStarTextToVideo_fal", + "Kling21Pro_fal", + "Kling25TurboPro_fal", + "Kling26Pro_fal", + "KlingMaster_fal", + "KlingOmniImageToVideo_fal", + "KlingOmniReferenceToVideo_fal", + "KlingOmniVideoToVideoEdit_fal", + "KlingOmniVideoToVideoReference_fal", + "KlingPro10_fal", + "KlingPro16_fal", + "Kling_fal", + "Krea_Wan14b_VideoToVideo_fal", + "LLM_fal", + "LoadVideoURL", + "LtxVideoTrainer_fal", + "LumaDreamMachine_fal", + "MiniMaxSubjectReference_fal", + "MiniMaxTextToVideo_fal", + "MiniMax_fal", + "NanoBananaEdit_fal", + "NanoBananaPro_fal", + "NanoBananaTextToImage_fal", + "PixverseSwapNode_fal", + "QwenImageEditPlusLoRA_fal", + "QwenImageEdit_fal", + "Recraft_fal", + "ReveTextToImage_fal", + "RunwayGen3_fal", + "Sana_fal", + "SeedEditV3_fal", + "SeedanceImageToVideo_fal", + "SeedanceProImageToVideo_fal", + "SeedanceTextToVideo_fal", + "SeedreamV4Edit_fal", + "Seedvr_Upscale_Video_fal", + "Seedvr_Upscaler_fal", + "Sora2Pro_fal", + "Topaz_Upscale_Video_fal", + "UploadFile_fal", + "UploadVideo_fal", + "Upscaler_fal", + "VLM_fal", + "Veo2ImageToVideo_fal", + "Veo31Fast_fal", + "Veo31_fal", + "Veo3_fal", + "VideoUpscaler_fal", + "Wan2214b_animate_move_character_fal", + "Wan2214b_animate_replace_character_fal", + "Wan22VACEFun14b_fal", + "Wan25_preview_fal", + "Wan26ReferenceToVideo_fal", + "Wan26_fal", + "WanLoraTrainer_fal", + "WanPro_fal", + "WanVACEVideoEdit_fal" + ], + { + "title_aux": "ComfyUI-fal-API" + } + ], "https://github.com/gokayfem/ComfyUI_VLM_nodes": [ [ "AudioLDM2Node", @@ -14518,6 +36272,15 @@ "title_aux": "VLM_nodes" } ], + "https://github.com/goldwins520/Comfyui_saveimg2webdav": [ + [ + "SaveFileToWebDAV", + "SaveImageToWebDAV" + ], + { + "title_aux": "Save Image To Webdav" + } + ], "https://github.com/gonzalu/ComfyUI_YFG_Comical": [ [ "Image10Switcher_node", @@ -14527,6 +36290,10 @@ "Image5Switcher_node", "MonoClip_node", "PixelArt_node", + "RandomImageFromDirectory_node", + "RandomOrgTrueRandomNumber_node", + "RandomOrgV2TrueRandomNumber", + "RandomOrgV2TrueRandomNumber_node", "VAEDecodePreview_node", "image2contrastMask_node", "image2imbgg_node", @@ -14549,43 +36316,134 @@ ], "https://github.com/gorillaframeai/GF_nodes": [ [ - "GFrbmg2" + "GFrbmg2", + "GFrbmg2Plus" ], { "title_aux": "GFrbmg2" } ], + "https://github.com/gorillaframeai/GF_translate": [ + [ + "GFDeepTranslate", + "GFJsonTranslate" + ], + { + "title_aux": "GF_translate" + } + ], + "https://github.com/gpdev-Pilcothink/comfyui_pilcothink_VisionSLM": [ + [ + "MergeTextsWithGap", + "OllamaConnective", + "OllamaGenerator", + "Pilcothink-RAG", + "RemoveSpecificPatterns", + "SLMGenerator", + "SLMModelSelector", + "SLMVisionGenerator", + "SLMVisionModelSelector", + "String_Text", + "VLLMConnective", + "VLLMGenerator" + ], + { + "title_aux": "comfyui_pilcothink_VisionSLM" + } + ], + "https://github.com/greengerong/ComfyUI-JanusPro-PL": [ + [ + "JanusProImageGenerator", + "JanusProImageUnderstanding", + "JanusProModelLoader" + ], + { + "title_aux": "Janus-Pro ComfyUI Plugin" + } + ], + "https://github.com/gregory-richard/ComfyUI-WarpPipe": [ + [ + "Dead End", + "FD Scheduler Adapter", + "Unwarp", + "Warp", + "Warp Provider", + "custom_nodes" + ], + { + "title_aux": "WarpPipe Nodes" + } + ], + "https://github.com/gremlation/ComfyUI-ImageLabel": [ + [ + "gremlation:ComfyUI-ImageLabel:ImageLabel" + ], + { + "title_aux": "ComfyUI-ImageLabel" + } + ], + "https://github.com/gremlation/ComfyUI-JMESPath": [ + [ + "gremlation:ComfyUI-JMESPath" + ], + { + "title_aux": "ComfyUI-JMESPath" + } + ], + "https://github.com/gremlation/ComfyUI-ViewData": [ + [ + "gremlation:ComfyUI-ViewData:ViewData" + ], + { + "title_aux": "ComfyUI-ViewData" + } + ], + "https://github.com/gremlation/ComfyUI-jq": [ + [ + "gremlation:ComfyUI-jq" + ], + { + "title_aux": "ComfyUI-jq" + } + ], "https://github.com/griptape-ai/ComfyUI-Griptape": [ [ "Griptape Agent Config: Amazon Bedrock Drivers", - "Griptape Agent Config: Amazon Bedrock [DEPRICATED]", + "Griptape Agent Config: Amazon Bedrock [DEPRECATED]", "Griptape Agent Config: Anthropic Drivers", - "Griptape Agent Config: Anthropic [DEPRICATED]", + "Griptape Agent Config: Anthropic [DEPRECATED]", "Griptape Agent Config: Azure OpenAI Drivers", - "Griptape Agent Config: Azure OpenAI [DEPRICATED]", + "Griptape Agent Config: Azure OpenAI [DEPRECATED]", "Griptape Agent Config: Cohere Drivers", "Griptape Agent Config: Custom Structure", "Griptape Agent Config: Environment Variables", "Griptape Agent Config: Expand", "Griptape Agent Config: Google Drivers", - "Griptape Agent Config: Google [DEPRICATED]", + "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 [DEPRICATED]", + "Griptape Agent Config: HuggingFace [DEPRECATED]", "Griptape Agent Config: LM Studio Drivers", - "Griptape Agent Config: LM Studio [DEPRICATED]", + "Griptape Agent Config: LM Studio [DEPRECATED]", "Griptape Agent Config: Ollama Drivers", - "Griptape Agent Config: Ollama [DEPRICATED]", + "Griptape Agent Config: Ollama [DEPRECATED]", "Griptape Agent Config: OpenAI Compatible Drivers", - "Griptape Agent Config: OpenAI Compatible [DEPRICATED]", + "Griptape Agent Config: OpenAI Compatible [DEPRECATED]", "Griptape Agent Config: OpenAI Drivers", - "Griptape Agent Config: OpenAI [DEPRICATED]", + "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 [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", "Griptape Convert: Text to CLIP Encode", "Griptape Convert: Text to Combo", @@ -14595,13 +36453,14 @@ "Griptape Create: Image Inpainting Variation", "Griptape Create: Image Variation", "Griptape Create: Image from Text", - "Griptape Create: Pipeline", + "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", @@ -14620,18 +36479,20 @@ "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", "Griptape Load: Text", - "Griptape Pipeline: Add Task", - "Griptape Pipeline: Insert Task", "Griptape Prompt Driver: Amazon Bedrock", "Griptape Prompt Driver: Amazon SageMaker Jumpstart", "Griptape Prompt Driver: Anthropic", "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", @@ -14648,20 +36509,21 @@ "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: Prompt Task", - "Griptape Run: Structure", + "Griptape Run: Parallel Prompt Task", "Griptape Run: Task", "Griptape Run: Text Extraction", "Griptape Run: Text Summary", "Griptape Run: Text to Speech", - "Griptape Run: Tool Task", - "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", @@ -14680,6 +36542,7 @@ "Griptape Util: Create Agent Modelfile", "Griptape Util: Create Model from Modelfile", "Griptape Util: Remove Ollama Model", + "Griptape Util: Switch Node", "Griptape Vector Store Driver: Amazon OpenSearch", "Griptape Vector Store Driver: Azure MongoDB", "Griptape Vector Store Driver: Griptape Cloud", @@ -14695,8 +36558,8 @@ "Griptape WebSearch Driver: DuckDuckGo", "Griptape WebSearch Driver: Exa", "Griptape WebSearch Driver: Google", - "Griptape WebSearch Driver: Tavily", - "Gt Run Agent" + "Griptape WebSearch Driver: Serper", + "Griptape WebSearch Driver: Tavily" ], { "author": "Jason Schleifer", @@ -14706,6 +36569,32 @@ "title_aux": "ComfyUI Griptape Nodes" } ], + "https://github.com/grmchn/ComfyUI-ProportionChanger": [ + [ + "PoseDataToPoseKeypoint", + "PoseJSONToPoseKeypoint", + "PoseKeypointPreview", + "PoseKeypointResize", + "ProportionChangerDWPoseDetector", + "ProportionChangerDWPoseRender", + "ProportionChangerInterpolator", + "ProportionChangerKeypointDenoiser", + "ProportionChangerKeypointDenoiserAdvanced", + "ProportionChangerParams", + "ProportionChangerReference" + ], + { + "title_aux": "ComfyUI-ProportionChanger" + } + ], + "https://github.com/grovergol/comfyui-grover-nodes": [ + [ + "OpenPathNode" + ], + { + "title_aux": "ComfyUI Grover Nodes" + } + ], "https://github.com/gseth/ControlAltAI-Nodes": [ [ "BooleanBasic", @@ -14718,18 +36607,39 @@ "FluxSampler", "FluxUnionControlNetApply", "GetImageSizeRatio", + "HiDreamResolutionNode", "IntegerSettings", + "IntegerSettingsAdvanced", "NoisePlusBlend", + "PerturbationTexture", "RegionMaskConditioning", "RegionMaskGenerator", "RegionMaskProcessor", "RegionMaskValidator", - "RegionOverlayVisualizer" + "RegionOverlayVisualizer", + "TextBridge", + "ThreeWaySwitch", + "TwoWaySwitch" ], { "title_aux": "ControlAltAI Nodes" } ], + "https://github.com/gsusgg/ComfyUI_CozyGen": [ + [ + "CozyGenChoiceInput", + "CozyGenDynamicInput", + "CozyGenFloatInput", + "CozyGenImageInput", + "CozyGenIntInput", + "CozyGenOutput", + "CozyGenStringInput", + "CozyGenVideoOutput" + ], + { + "title_aux": "ComfyUI-CozyGen" + } + ], "https://github.com/gt732/ComfyUI-DreamWaltz-G": [ [ "DreamWaltzGStageOneTrainer", @@ -14739,6 +36649,14 @@ "title_aux": "ComfyUI-DreamWaltz-G" } ], + "https://github.com/guerreiro/comfyg-switch": [ + [ + "ComfygSwitch" + ], + { + "title_aux": "Comfyg Switch" + } + ], "https://github.com/guill/abracadabra-comfyui": [ [ "AbracadabraNode", @@ -14748,6 +36666,14 @@ "title_aux": "abracadabra-comfyui" } ], + "https://github.com/guill/comfyui-stegaflow": [ + [ + "SaveImageStegaflow" + ], + { + "title_aux": "Stegaflow" + } + ], "https://github.com/guyaton/guy-nodes-comfyui": [ [ "GuyRecommendedLatentResCalc" @@ -14756,6 +36682,41 @@ "title_aux": "guy-nodes-comfyui" } ], + "https://github.com/guyouyue/ComfyUI_VideoAutoSplit": [ + [ + "ExtractKeyFrames", + "ExtractKeyFramesAndSplit" + ], + { + "title_aux": "ComfyUI_VideoAutoSplit" + } + ], + "https://github.com/gvfarns/comfyui_gvf": [ + [ + "CheckpointLoaderWithName", + "CropToAspectRatio", + "CropToAspectRatioMinMax", + "IfElseFloat", + "IfElseInt", + "SizeFromAspect" + ], + { + "title_aux": "comfyui_gvf" + } + ], + "https://github.com/hackafterdark/ComfyUI-HackAfterDark-Nodes": [ + [ + "FilmARSizeSelector", + "GeminiImagePromptBuilder" + ], + { + "author": "HackAfterDark", + "description": "A node to generate image prompts or images using the Google Gemini API, with support for multiple images and presets.", + "nickname": "Gemini Prompter", + "title": "Gemini Image Prompt Builder", + "title_aux": "AfterDark Film AR Selector" + } + ], "https://github.com/hackkhai/ComfyUI-Image-Matting": [ [ "ApplyMatting", @@ -14766,6 +36727,14 @@ "title_aux": "ComfyUI-Image-Matting" } ], + "https://github.com/hanL34/ComfyUI-Power-Artist-Loader": [ + [ + "PowerArtistLoader" + ], + { + "title_aux": "ComfyUI-Power-Artist-Loader" + } + ], "https://github.com/hanoixan/ComfyUI-DataBeast": [ [ "DBConvertToBoolean //DataBeast", @@ -14786,6 +36755,19 @@ "title_aux": "ComfyUI DataBeast" } ], + "https://github.com/hao-ai-lab/FastVideo": [ + [ + "DITConfig", + "InferenceArgs", + "LoadImagePath", + "TextEncoderConfig", + "VAEConfig", + "VideoGenerator" + ], + { + "title_aux": "FastVideo" + } + ], "https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": [ [ "Image Selector" @@ -14794,6 +36776,111 @@ "title_aux": "ComfyUI-HH-Image-Selector" } ], + "https://github.com/hardik-uppal/ComfyUI-QwenVL-MultiImage": [ + [ + "QwenVL_MultiImage", + "QwenVL_MultiImage_Advanced" + ], + { + "title_aux": "ComfyUI-QwenVL-MultiImage" + } + ], + "https://github.com/harishcmgit/comfyui_ds": [ + [ + "BlackBackgroundScanner", + "DocumentScanner", + "SimpleDocumentScanner" + ], + { + "title_aux": "comfyui_ds" + } + ], + "https://github.com/hassan-sd/comfyui-image-prompt-loader": [ + [ + "ImagePromptLoader", + "apt", + "author", + "category", + "description", + "files", + "install_type", + "js_path", + "license", + "name", + "nodename_pattern", + "pip", + "preemptions", + "reference", + "repository", + "tags", + "title_aux", + "version" + ], + { + "title_aux": "ComfyUI Image & Prompt Loader" + } + ], + "https://github.com/havvk/ComfyUI_AIIA": [ + [ + "AIIA_ASR", + "AIIA_Audio_Denoise", + "AIIA_Audio_Enhance", + "AIIA_Audio_Info", + "AIIA_Audio_PostProcess", + "AIIA_Audio_Silence_Splitter", + "AIIA_Audio_Speaker_Isolator", + "AIIA_Audio_Speaker_Merge", + "AIIA_Audio_Splice_Analyzer", + "AIIA_BodySway", + "AIIA_CosyVoice_ModelLoader", + "AIIA_CosyVoice_TTS", + "AIIA_CosyVoice_VoiceConversion", + "AIIA_Dialogue_TTS", + "AIIA_DittoLoader", + "AIIA_DittoSampler", + "AIIA_E2E_Speaker_Diarization", + "AIIA_EchoMimicLoader", + "AIIA_EchoMimicSampler", + "AIIA_Emotion_Annotator", + "AIIA_FloatProcess_InMemory", + "AIIA_FloatProcess_ToDisk", + "AIIA_GenerateSpeakerSegments", + "AIIA_ImageSmartCrop", + "AIIA_IndexTTS2_Loader", + "AIIA_IndexTTS2_TTS", + "AIIA_JSON_Builder", + "AIIA_JSON_Extractor", + "AIIA_PersonaLive_PhotoSampler_InMemory", + "AIIA_PersonaLive_PhotoSampler_ToDisk", + "AIIA_Podcast_Script_Parser", + "AIIA_Podcast_Splitter", + "AIIA_Podcast_Stitcher", + "AIIA_Qwen_Dialogue_TTS", + "AIIA_Qwen_Loader", + "AIIA_Qwen_Model_Router", + "AIIA_Qwen_TTS", + "AIIA_Segment_Merge", + "AIIA_Subtitle_Gen", + "AIIA_Subtitle_Preview", + "AIIA_Subtitle_To_Segments", + "AIIA_TextDebugSplicer", + "AIIA_Text_Splitter", + "AIIA_Utils_Image_Concanate", + "AIIA_VibeVoice_Loader", + "AIIA_VibeVoice_Preset_Maker", + "AIIA_VibeVoice_Realtime_TTS", + "AIIA_VibeVoice_TTS", + "AIIA_VideoCombine", + "AIIA_VoxCPM_Loader", + "AIIA_VoxCPM_TTS", + "AIIA_Web_Export", + "PersonaLiveCheckpointLoader", + "PersonaLivePhotoSampler" + ], + { + "title_aux": "ComfyUI_AIIA" + } + ], "https://github.com/hay86/ComfyUI_DDColor": [ [ "D_DDColor" @@ -14818,6 +36905,14 @@ "title_aux": "ComfyUI Hallo" } ], + "https://github.com/hay86/ComfyUI_LatentSync": [ + [ + "D_LatentSyncNode" + ], + { + "title_aux": "ComfyUI LatentSync" + } + ], "https://github.com/hay86/ComfyUI_MiniCPM-V": [ [ "D_MiniCPM_VQA" @@ -14836,12 +36931,33 @@ "title_aux": "ComfyUI OpenVoice" } ], + "https://github.com/hayd-zju/ICEdit-ComfyUI-official": [ + [ + "SaveImageWebsocket" + ], + { + "title_aux": "ICEdit-ComfyUI-official" + } + ], + "https://github.com/hayde0096/Comfyui-EasySettingpipes": [ + [ + "ConvertAny", + "PowerLoraLoader", + "PowerLoraStacker", + "SamplerSetup", + "SamplerSetupUnpack" + ], + { + "title_aux": "EasySettingpipes" + } + ], "https://github.com/hben35096/ComfyUI-ReplenishNodes": [ [ "Batch Image Blend", "FLOAT Output", "Fill Alpha", "Get Batch Count", + "Image Align", "Image Blend BG", "Integer Output", "Load CLIP Name", @@ -14853,23 +36969,51 @@ "Mask Levels Adjust", "Multi Line Text", "Multiple Image Blend", - "RN_MultipleImageBlend_2", - "Seed Output" + "Multiple Image Blend 2", + "Preview Image-JPEG", + "Reference Resize", + "Seed Output", + "To JPEG", + "To RGB" ], { "title_aux": "ComfyUI-ReplenishNodes" } ], - "https://github.com/hben35096/ComfyUI-ToolBox": [ + "https://github.com/heheok/comfyui_wan2.1_vace_infinite_helpers": [ [ - "AutoDLDownload", - "CreatePaths", - "FolderDeleter", - "FolderViewe", - "PathOutput" + "CyclicCharacterAndBackgroundPrompt", + "LatestVideoFromFolder", + "PrepareControlVideo" ], { - "title_aux": "ComfyUI-ToolBox" + "title_aux": "comfyui_wan2.1_vace_infinite_helpers" + } + ], + "https://github.com/hekmon/comfyui-checkpoint-extract": [ + [ + "CLIPModelSaver", + "VAEModelSaver" + ], + { + "title_aux": "comfyui-checkpoint-extract" + } + ], + "https://github.com/hekmon/comfyui-openai-api": [ + [ + "OAIAPI_ChatCompletion", + "OAIAPI_Client", + "OAIAPI_DeveloperRole", + "OAIAPI_ExtraBody", + "OAIAPI_FrequencyPenalty", + "OAIAPI_MaxTokens", + "OAIAPI_PresencePenalty", + "OAIAPI_Seed", + "OAIAPI_Temperature", + "OAIAPI_TopP" + ], + { + "title_aux": "ComfyUI OpenAI API" } ], "https://github.com/heshengtao/comfyui_LLM_party": [ @@ -14894,7 +37038,7 @@ "FolderCleaner", "GGUFLoader", "GeocodeTool", - "Image2Video", + "Image2Video_party", "Images2Image", "KG_csv_toolkit_developer", "KG_csv_toolkit_user", @@ -14910,6 +37054,7 @@ "LLavaLoader", "LorapathLoader", "Lorebook", + "Mcp_tool", "RSS_loader", "RSS_tool", "SpeedChange", @@ -14926,6 +37071,7 @@ "bing_loader", "bing_tool", "bool_logic", + "browser_use_tool", "check_text", "check_web_tool", "classify_function", @@ -14963,7 +37109,6 @@ "fish_tts", "fish_whisper", "flux_persona", - "genai_api_loader", "get_string", "github_tool", "google_loader", @@ -14975,6 +37120,7 @@ "ic_lora_persona", "image_iterator", "img2path", + "img_hosting", "interpreter_function", "interpreter_tool", "interrupt_loop", @@ -15044,7 +37190,6 @@ "save_redis_memo", "savepersona", "searxng_tool", - "selenium_tool", "send_to_wechat_official", "show_text_party", "sql_tool", @@ -15102,6 +37247,114 @@ "title_aux": "comfyui_LLM_schools" } ], + "https://github.com/hetima/ComfyUI-SingleLinePicker": [ + [ + "SLPFilenamePrefix", + "SLPLoraLoader", + "SLPLoraLoaderModelOnly", + "SLPSingleLinePicker" + ], + { + "title_aux": "ComfyUI-SingleLinePicker" + } + ], + "https://github.com/hexxacubic/ComfyUI-Prompt_Library": [ + [ + "Double_Prompt_Encode", + "FiveRandomLines", + "Multi_Wildcard_Loader", + "Prompt_Extender", + "Prompt_Library", + "Simple_Prompt_Library" + ], + { + "title_aux": "ComfyUI-Prompt_Library" + } + ], + "https://github.com/heyburns/PortraitUtils": [ + [ + "AutoAdjustNode", + "AutoColorConfigNode", + "AutoCropBorders", + "AutoWBColorMatch", + "ComparisonGate", + "CropImageByMargins", + "CropMaskByMargins", + "FilenameAppendSuffix", + "FitAspectHeadSafe", + "FluxResolutionPrepare", + "GpuSyncCacheClear", + "ImageMegapixelSelector", + "LoadImageCombined", + "MQBBoxMin", + "MultiPromptNode", + "OutpaintConfigNode", + "OutpaintPaddingComputeNode", + "PairedImageLoader", + "SeedVR2Prep", + "SimpleImageSaver", + "StitchByMask", + "StripBottomBanner", + "StripSolidBorders", + "WorkflowConfig" + ], + { + "title_aux": "PortraitUtils" + } + ], + "https://github.com/heyburns/image-chooser-classic": [ + [ + "Image Chooser", + "Image Chooser Classic", + "Preview Chooser Fabric", + "Simple Chooser" + ], + { + "author": "chrisgoringe", + "description": "Workflow-pausing image choosers (overlay and inline widgets) for ComfyUI", + "nickname": "Image Chooser Classic", + "title": "Image Chooser Classic", + "title_aux": "Image Chooser Classic" + } + ], + "https://github.com/hgabha/WWAA-CustomNodes": [ + [ + "WWAA_AdvancedGridLayoutNode", + "WWAA_AdvancedTextFileReader", + "WWAA_AdvancedTextReader", + "WWAA_BasicMathNode", + "WWAA_BeforeAfterSlider", + "WWAA_BuildString", + "WWAA_CameraAngleBuilder", + "WWAA_DisplayAny", + "WWAA_DitherNode", + "WWAA_GBCamera", + "WWAA_GridLayoutNode", + "WWAA_ImageDimensionCalculator", + "WWAA_ImageEdgeDetector", + "WWAA_ImageLoader", + "WWAA_ImageSwitcher", + "WWAA_ImageToTextFile", + "WWAA_IndexGridLayoutNode", + "WWAA_JPEGPreview", + "WWAA_JSONPromptBuilder", + "WWAA_LineCount", + "WWAA_MetadataSaver", + "WWAA_NestedLoopCounter", + "WWAA_NumberRangeAsString", + "WWAA_PromptWriter", + "WWAA_SaveJPEG", + "WWAA_SearchReplaceMulti", + "WWAA_SearchReplaceText", + "WWAA_SlicedArt", + "WWAA_Switch_Int", + "WWAA_TextFileBrowser", + "WWAA_VideoResolution" + ], + { + "title_aux": "WWAA-CustomNodes" + } + ], "https://github.com/hhhzzyang/Comfyui_Lama": [ [ "LamaApply", @@ -15112,6 +37365,23 @@ "title_aux": "Comfyui-Lama" } ], + "https://github.com/hiderminer/ComfyUI-HM-Utilities": [ + [ + "AutoCropImage", + "NormalizeImageWithRectangle" + ], + { + "title_aux": "ComfyUI-HM-Tools" + } + ], + "https://github.com/hieuck/ComfyUI-BiRefNet": [ + [ + "BiRefNet" + ], + { + "title_aux": "ComfyUI-BiRefNet-Fix utils" + } + ], "https://github.com/hiforce/comfyui-hiforce-plugin": [ [ "HfBoolSwitchKSampleStatus", @@ -15145,13 +37415,62 @@ "title_aux": "ComfyUI 3D Pose Editor" } ], - "https://github.com/holchan/ComfyUI-ModelDownloader": [ + "https://github.com/hmwl/ComfyUI-TaskMonitor": [ [ - "LoRADownloader", - "ModelDownloader" + "TaskMonitorNode" ], { - "title_aux": "ComfyUI-ModelDownloader" + "title_aux": "ComfyUI-TaskMonitor" + } + ], + "https://github.com/hmwl/ComfyUI_zip": [ + [ + "CleanFolders", + "CompressImages", + "UnzipToInput" + ], + { + "title_aux": "ComfyUI_zip" + } + ], + "https://github.com/hnmr293/comfyui-savemem": [ + [ + "SaveImagesMemory", + "SaveLatentsMemory" + ], + { + "title_aux": "ComfyUI-SaveMem" + } + ], + "https://github.com/hobinrude/ComfyUI_DWposeDeluxe": [ + [ + "BatchKeypoints", + "CherryPickerFrames", + "CherryPickerTwoInputs", + "CustomOptions", + "DWposeDeluxeNode", + "FrameNumberNode", + "KeypointConverter", + "KeypointDiff", + "KeypointPrinter", + "KeypointRangeFromBatch", + "LoadPoseKeypoints", + "MergeKeypoints", + "PoseInterpolation", + "PoseResize", + "ReverseKeypoints" + ], + { + "title_aux": "ComfyUI_DWposeDeluxe" + } + ], + "https://github.com/hodanajan/optimal-crop-resolution": [ + [ + "AspectRatioCalculator", + "ResolutionMatcher" + ], + { + "title_aux": "optimal-crop-resolution" } ], "https://github.com/hoveychen/ComfyUI-MusePose-Remaster": [ @@ -15163,6 +37482,14 @@ "title_aux": "ComfyUI-MusePose-Remaster" } ], + "https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm": [ + [ + "GOENHANCE_FFmpegWatermark" + ], + { + "title_aux": "comfyui_goenhance_ffmpeg_wm" + } + ], "https://github.com/huagetai/ComfyUI-Gaffer": [ [ "ApplyICLight", @@ -15187,23 +37514,49 @@ "https://github.com/huanngzh/ComfyUI-MVAdapter": [ [ "BiRefNet", + "ControlImagePreprocessor", + "ControlNetModelLoader", + "CustomLoraModelLoader", + "DiffusersMVModelMakeup", + "DiffusersMVPipelineLoader", "DiffusersMVSampler", - "DiffusersModelMakeup", - "DiffusersPipelineLoader", - "DiffusersSampler", - "DiffusersSchedulerLoader", - "DiffusersVaeLoader", + "DiffusersMVSchedulerLoader", + "DiffusersMVVaeLoader", "ImagePreprocessor", "LdmPipelineLoader", "LdmVaeLoader", - "LoraModelLoader" + "ViewSelector" ], { "title_aux": "ComfyUI-MVAdapter" } ], + "https://github.com/hubentu/ComfyUI-loras-loader": [ + [ + "ConvertGreyscaleNode", + "DynamicLoRALoader", + "ImageBatchToImageList", + "LoRAStringAdapter", + "MultiLoRAnameLoader", + "MultiLoraLoader", + "MultiTriggerLoader" + ], + { + "title_aux": "Multiple LoRA Loader for ComfyUI" + } + ], + "https://github.com/hubo502/ComfyUI-Env-Loader": [ + [ + "EnvKeySelector", + "EnvKeys" + ], + { + "title_aux": "ComfyUI-Env-Loader" + } + ], "https://github.com/huchenlei/ComfyUI-IC-Light-Native": [ [ + "ICLightApply", "ICLightApplyMaskGrey", "ICLightAppply", "VAEEncodeArgMax" @@ -15268,6 +37621,20 @@ "title_aux": "ComfyUI_omost" } ], + "https://github.com/huchukato/ComfyUI-QwenVL-Mod": [ + [ + "AILab_QwenVL", + "AILab_QwenVL_Advanced", + "AILab_QwenVL_GGUF", + "AILab_QwenVL_GGUF_Advanced", + "AILab_QwenVL_GGUF_PromptEnhancer", + "AILab_QwenVL_PromptEnhancer", + "StorySplitNode" + ], + { + "title_aux": "QwenVL-Mod: Enhanced Vision-Language" + } + ], "https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": [ [ "Openpose Keypoint Extractor" @@ -15276,9 +37643,109 @@ "title_aux": "OpenPose Keypoint Extractor" } ], + "https://github.com/hugobb/FastGAN-ComfyUI-Node": [ + [ + "BlendLatents", + "GANImg2Img", + "GenerateImages", + "InvertToLatent", + "LoadFastGAN", + "LoadLatent", + "SampleLatent", + "SaveLatent" + ], + { + "title_aux": "fastgan-comfyui" + } + ], + "https://github.com/huihuihuiz/lora_downloader": [ + [ + "LoraDownloader" + ], + { + "title_aux": "LoRA Downloader for ComfyUI" + } + ], + "https://github.com/huihuihuiz/plugin_downloader": [ + [ + "PluginDownloader" + ], + { + "title_aux": "Plugin Downloader for ComfyUI" + } + ], + "https://github.com/huihuihuiz/unet_downloader": [ + [ + "UNetDownloader" + ], + { + "title_aux": "UNet Downloader for ComfyUI" + } + ], + "https://github.com/huihuihuiz/upscaler_downloader": [ + [ + "UpscalerDownloader" + ], + { + "title_aux": "Upscaler Downloader for ComfyUI" + } + ], + "https://github.com/huixingyun/ComfyUI-HX-Captioner": [ + [ + "HXOllamaCaptioner" + ], + { + "title_aux": "ComfyUI-HX-Captioner" + } + ], + "https://github.com/hujuying/ComfyUI-ModelScope-API": [ + [ + "ModelScopeImageCaptionNode", + "ModelScopeImageEditNode", + "ModelScopeImageNode", + "ModelScopeLoraPresetNode", + "ModelScopeMultiLoraLoaderNode", + "ModelScopeSingleLoraLoaderNode", + "ModelScopeTextNode", + "ModelScopeVisionNode" + ], + { + "title_aux": "ComfyUI ModelScope API Node" + } + ], + "https://github.com/hum-ma/ComfyUI-GPUCLIP": [ + [ + "GPUCLIPLoader", + "GPUClipDeviceSelector", + "GPUDualCLIPLoader", + "GPUQuadrupleCLIPLoader", + "GPUTripleCLIPLoader" + ], + { + "title_aux": "ComfyUI-GPUCLIP" + } + ], + "https://github.com/hum-ma/ComfyUI-TiledVaeLite": [ + [ + "LTTiledVAEDecode" + ], + { + "title_aux": "ComfyUI-TiledVaeLite" + } + ], + "https://github.com/hunzmusic/ComfyUI-IG2MV": [ + [ + "DiffusersIGMVModelMakeup", + "DiffusersIGMVSampler" + ], + { + "title_aux": "ComfyUI-IG2MV" + } + ], "https://github.com/hustille/ComfyUI_Fooocus_KSampler": [ [ - "KSampler With Refiner (Fooocus)" + "KSampler With Refiner (Fooocus)", + "KSamplerWithRefiner" ], { "title_aux": "ComfyUI_Fooocus_KSampler" @@ -15288,15 +37755,137 @@ [ "3way Prompt Styler", "Batch State", + "BatchState", "Date Time Format", + "DateTimeFormat", "Debug Extra", + "DebugExtra", "Fetch widget value", - "Text Hash" + "FetchNodeValue", + "PromptStylerCSV3Way", + "Text Hash", + "TextHash" ], { "title_aux": "hus' utils for ComfyUI" } ], + "https://github.com/huwenkai26/comfyui-remove-text": [ + [ + "ImageRemoveText" + ], + { + "title_aux": "ComfyUI Text Remove Node" + } + ], + "https://github.com/huygiatrng/Facefusion_comfyui": [ + [ + "AdvancedSwapFaceImage", + "AdvancedSwapFaceVideo", + "FaceDataVisualizer", + "FaceDetectorNode", + "FaceMaskVisualizer", + "FaceSwapApplier", + "PixelBoostNode", + "SwapFaceImage", + "SwapFaceVideo" + ], + { + "title_aux": "Facefusion_comfyui" + } + ], + "https://github.com/huyl3-cpu/ComfyUI-PyTorch210Patcher": [ + [ + "PyTorch210CompatibilityPatcher", + "PyTorchVersionChecker" + ], + { + "title_aux": "ComfyUI-PyTorch210Patcher" + } + ], + "https://github.com/huyl3-cpu/comfyui-sortlist": [ + [ + "AdaptiveResolution", + "Clear Folder", + "Clear Folder By Pattern", + "ColabKeepAlive", + "CollectFiles", + "File List Loader", + "File List To File Path", + "Fix Dimensions", + "Get Timestamp", + "LoadImageFromPath", + "MP3 Embed In Image", + "MP3 Extract From Image", + "MP3 Path To Audio", + "RAMCleanup", + "RemoveFirstLine", + "Set Value For Dancing", + "Set Value For MC", + "Set Value For MC I2V", + "Set Value For MC I2V V2", + "Set Value For MC V2V", + "Set Value For MC V2V V2", + "Set Value With Path", + "SetValuesFromPanel", + "SimpleForLoopEnd", + "SimpleForLoopStart", + "SimpleWhileClose", + "SimpleWhileOpen", + "SplitMP3", + "TunnelAutoReconnect", + "VF9_SetValue", + "VHS_ExtractVideoPath", + "_LoopAdd", + "_LoopLessThan", + "image_to_sha256", + "move_file", + "rename_file", + "sort_list_string", + "steg_alpha_embed", + "steg_alpha_extract", + "steg_rgb_extract", + "string_clear_if_contains", + "video_audio_concat", + "video_cut_to_segments", + "video_dir_combiner", + "video_dir_combiner_ultra", + "video_mute_from_url", + "video_scene_splitter" + ], + { + "title_aux": "comfyui-huyl2-nodes" + } + ], + "https://github.com/hvppycoding/comfyui-json-prompt-renderer": [ + [ + "ExtractJSON", + "TemplateRenderFromJSON" + ], + { + "title_aux": "json prompt renderer" + } + ], + "https://github.com/hvppycoding/comfyui-random-sampler-scheduler-steps": [ + [ + "RandomSamplerSchedulerSteps" + ], + { + "title_aux": "RandomSamplerSchedulerSteps for ComfyUI" + } + ], + "https://github.com/hw5511/comfyui_hf_upscaler_loader": [ + [ + "CLIPModelLoaderFromHF", + "GGUFModelLoaderFromHF", + "UNETModelLoaderFromHF", + "UpscaleModelLoaderFromHF", + "VAEModelLoaderFromHF" + ], + { + "title_aux": "Woohee HF Upscaler Loader" + } + ], "https://github.com/hwhaocool/ComfyUI-Select-Any": [ [ "SelectAnyValues" @@ -15305,26 +37894,46 @@ "title_aux": "ComfyUI-Select-Any" } ], - "https://github.com/hylarucoder/comfyui-copilot": [ + "https://github.com/hybskgks28275/ComfyUI-hybs-nodes": [ [ - "EagleImageNode", - "SDXLPromptStyler", - "SDXLPromptStylerAdvanced", - "SDXLResolutionPresets" + "HYBS_ConditionalLoRALoader", + "HYBS_GroupBypasser_Child", + "HYBS_GroupBypasser_Panel", + "HYBS_GroupBypasser_Parent", + "HYBS_RandomResolutionSelector", + "HYBS_ResolutionSelector", + "HYBS_SeedListGenerator" ], { - "title_aux": "comfyui-copilot" + "title_aux": "ComfyUI-hybs-nodes" + } + ], + "https://github.com/hyukudan/comfyui-video-resolution": [ + [ + "VideoResolutionNode" + ], + { + "title_aux": "comfyui-video-resolution" } ], "https://github.com/hyunamy/comfy-ui-on-complete-email-me": [ [ "OnCompleteEmailMe", + "OnCompletePlaySound", "OnCompleteWebhook" ], { "title_aux": "Comfy-UI on-complete-email-me" } ], + "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor": [ + [ + "AMDGPUMonitor" + ], + { + "title_aux": "AMD GPU Monitor for ComfyUI" + } + ], "https://github.com/iFREEGROUP/comfyui-undistort": [ [ "IG_LoadCheckerboardImageForCalibrateCamera", @@ -15335,6 +37944,219 @@ "title_aux": "comfyui-undistort" } ], + "https://github.com/iGavroche/ComfyUI-Ninode-Utils": [ + [ + "OpenAICompatibleChatNode" + ], + { + "title_aux": "Ninode Utils" + } + ], + "https://github.com/iGavroche/rocm-ninodes": [ + [ + "ROCMFluxBenchmark", + "ROCMLoRALoader", + "ROCMMemoryOptimizer", + "ROCMOptimizedCheckpointLoader", + "ROCMOptimizedKSampler", + "ROCMOptimizedKSamplerAdvanced", + "ROCMOptimizedVAEDecode", + "ROCMOptimizedVAEDecodeTiled", + "ROCMQuantizedModelOptimizer", + "ROCMSamplerPerformanceMonitor", + "ROCMVAEPerformanceMonitor", + "ROCmDiffusionLoader", + "ROCmGGUFLoader" + ], + { + "title_aux": "RocM Ninodes" + } + ], + "https://github.com/iSuneast/ComfyUI-WebhookNotifier": [ + [ + "WebhookNotifierAnyNode", + "WebhookNotifierNode" + ], + { + "title_aux": "ComfyUI-WebhookNotifier" + } + ], + "https://github.com/iacoposk8/ComfyUI-Fooocus-Inpaint-Wrapper": [ + [ + "AlignYourStepsScheduler", + "BasicScheduler", + "CLIPLoader", + "CLIPMergeSimple", + "CLIPSave", + "CLIPSetLastLayer", + "CLIPTextEncode", + "CLIPTextEncodeSDXL", + "CLIPTextEncodeSDXLRefiner", + "CLIPVisionEncode", + "CLIPVisionLoader", + "Canny", + "CheckpointLoader", + "CheckpointLoaderSimple", + "CheckpointSave", + "ConditioningAverage", + "ConditioningCombine", + "ConditioningConcat", + "ConditioningSetArea", + "ConditioningSetAreaPercentage", + "ConditioningSetMask", + "ConditioningSetTimestepRange", + "ConditioningZeroOut", + "ControlNetApply", + "ControlNetApplyAdvanced", + "ControlNetLoader", + "CropMask", + "DiffControlNetLoader", + "DiffusersLoader", + "DualCLIPLoader", + "EmptyImage", + "EmptyLatentImage", + "ExponentialScheduler", + "FeatherMask", + "FirstNode", + "FlipSigmas", + "FooocusInpaintWrapper", + "FreeU", + "FreeU_V2", + "GLIGENLoader", + "GLIGENTextBoxApply", + "GrowMask", + "HyperTile", + "HypernetworkLoader", + "ImageBatch", + "ImageBlend", + "ImageBlur", + "ImageColorToMask", + "ImageCompositeMasked", + "ImageCrop", + "ImageInvert", + "ImageOnlyCheckpointLoader", + "ImageOnlyCheckpointSave", + "ImagePadForOutpaint", + "ImageQuantize", + "ImageScale", + "ImageScaleBy", + "ImageScaleToTotalPixels", + "ImageSharpen", + "ImageToMask", + "ImageUpscaleWithModel", + "InpaintModelConditioning", + "InvertMask", + "JoinImageWithAlpha", + "KSampler", + "KSamplerAdvanced", + "KSamplerSelect", + "KarrasScheduler", + "LatentAdd", + "LatentBatch", + "LatentBatchSeedBehavior", + "LatentBlend", + "LatentComposite", + "LatentCompositeMasked", + "LatentCrop", + "LatentFlip", + "LatentFromBatch", + "LatentInterpolate", + "LatentMultiply", + "LatentRotate", + "LatentSubtract", + "LatentUpscale", + "LatentUpscaleBy", + "LoadImage", + "LoadImageMask", + "LoadLatent", + "LoraLoader", + "LoraLoaderModelOnly", + "MaskComposite", + "MaskToImage", + "ModelMergeAdd", + "ModelMergeBlocks", + "ModelMergeSimple", + "ModelMergeSubtract", + "ModelSamplingContinuousEDM", + "ModelSamplingDiscrete", + "PatchModelAddDownscale", + "PerpNeg", + "PhotoMakerEncode", + "PhotoMakerLoader", + "PolyexponentialScheduler", + "PorterDuffImageComposite", + "PreviewImage", + "RebatchImages", + "RebatchLatents", + "RepeatImageBatch", + "RepeatLatentBatch", + "RescaleCFG", + "SDTurboScheduler", + "SD_4XUpscale_Conditioning", + "SVD_img2vid_Conditioning", + "SamplerCustom", + "SamplerDPMPP_2M_SDE", + "SamplerDPMPP_SDE", + "SamplerTCD", + "SaveAnimatedPNG", + "SaveAnimatedWEBP", + "SaveImage", + "SaveLatent", + "SelfAttentionGuidance", + "SetLatentNoiseMask", + "SolidMask", + "SplitImageWithAlpha", + "SplitSigmas", + "StableZero123_Conditioning", + "StableZero123_Conditioning_Batched", + "StyleModelApply", + "StyleModelLoader", + "TomePatchModel", + "UNETLoader", + "UpscaleModelLoader", + "VAEDecode", + "VAEDecodeTiled", + "VAEEncode", + "VAEEncodeForInpaint", + "VAEEncodeTiled", + "VAELoader", + "VAESave", + "VPScheduler", + "VideoLinearCFGGuidance", + "unCLIPCheckpointLoader", + "unCLIPConditioning" + ], + { + "title_aux": "ComfyUI Fooocus Inpaint Wrapper" + } + ], + "https://github.com/iacoposk8/xor_pickle_nodes": [ + [ + "DecryptXORText", + "Load XOR Pickle From File", + "Save XOR Pickle To File" + ], + { + "title_aux": "ComfyUI XOR Text & Pickle Nodes" + } + ], + "https://github.com/ialhabbal/ComfyUI-Prompt-Verify": [ + [ + "Prompt Verify" + ], + { + "title_aux": "ComfyUI Prompt Verify" + } + ], + "https://github.com/ialhabbal/OcclusionMask": [ + [ + "BatchLoadImages", + "ImageOcclusion" + ], + { + "title_aux": "OcclusionMask" + } + ], "https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check": [ [ "NSFWScore" @@ -15358,6 +38180,29 @@ "title_aux": "HFDownLoad Node for ComfyUI" } ], + "https://github.com/ichabodcole/ComfyUI-Ichis-Pack": [ + [ + "ICHIS_Aspect_Ratio_Plus", + "ICHIS_Extract_Tags", + "ICHIS_Save_Tags", + "ICHIS_Tag_Category_Select", + "ICHIS_Tag_File_Loader", + "ICHIS_Tag_Sampler", + "ICHIS_Text_Selector" + ], + { + "title_aux": "ComfyUI-Ichis-Pack" + } + ], + "https://github.com/id7238/ComfyUI-PackedPipes": [ + [ + "PipePacker", + "PipeUnpacker" + ], + { + "title_aux": "ComfyUI-PackedPipes" + } + ], "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words": [ [ "FusionText", @@ -15376,6 +38221,16 @@ "title_aux": "ComfyUI-Lora-Auto-Trigger-Words" } ], + "https://github.com/idvdii/ComfyUI-DvD-LoraTriggerwordsManager": [ + [ + "DvD_LoraLoader_ModelOnly", + "DvD_LoraLoader_Stack", + "DvD_LoraLoader_Standard" + ], + { + "title_aux": "ComfyUI-DvD-LoraTriggerwordsManager" + } + ], "https://github.com/iemesowum/ComfyUI_IsaacNodes": [ [ "I_AmplitudeToWeights", @@ -15391,13 +38246,30 @@ "title_aux": "Isaac's Nodes" } ], + "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk": [ + [ + "IF_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": [ @@ -15405,27 +38277,48 @@ "IF_WhisperSpeech" ], { - "title_aux": "ComfyUI-IF_AI_WishperSpeechNode" + "title_aux": "IF_AI_WishperSpeechNode" } ], - "https://github.com/if-ai/ComfyUI-IF_AI_tools": [ + "https://github.com/if-ai/ComfyUI-IF_DatasetMkr": [ [ - "IF_ChatPrompt", - "IF_DisplayOmni", - "IF_DisplayText", - "IF_DisplayTextWildcard", - "IF_ImagePrompt", - "IF_JoinText", - "IF_LoadImagesS", - "IF_PromptMkr", - "IF_SaveText", - "IF_StepCounter", - "IF_TextTyper", - "IF_VisualizeGraph", - "IF_saveText" + "IF_DatasetMkr", + "IF_HyDatasetMkr" ], { - "title_aux": "ComfyUI-IF_AI_tools" + "title_aux": "IF_DatasetMkr" + } + ], + "https://github.com/if-ai/ComfyUI-IF_Gemini": [ + [ + "IFGeminiNode", + "IFPromptCombiner", + "IFTaskPromptManager" + ], + { + "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": [ @@ -15434,7 +38327,103 @@ "IF_MemoCheckpointLoader" ], { - "title_aux": "ComfyUI-IF_MemoAvatar" + "title_aux": "IF_MemoAvatar" + } + ], + "https://github.com/if-ai/ComfyUI-IF_Trellis": [ + [ + "IF_TrellisCheckpointLoader", + "IF_TrellisImageTo3D" + ], + { + "title_aux": "IF_Trellis" + } + ], + "https://github.com/if-ai/ComfyUI-IF_VideoPrompts": [ + [ + "VideoPromptNode" + ], + { + "title_aux": "IF_VideoPrompts" + } + ], + "https://github.com/if-ai/ComfyUI-WanResolutionSelector": [ + [ + "VideoResolutionSelector" + ], + { + "title_aux": "ComfyUI-WanResolutionSelector" + } + ], + "https://github.com/if-ai/ComfyUI-yt_dl": [ + [ + "YouTubeDownloader" + ], + { + "title_aux": "ComfyUI-yt_dl" + } + ], + "https://github.com/if-ai/ComfyUI_HunyuanVideoFoley": [ + [ + "HunyuanVideoFoley", + "HunyuanVideoFoleyDependenciesLoader", + "HunyuanVideoFoleyGeneratorAdvanced", + "HunyuanVideoFoleyModelLoader", + "HunyuanVideoFoleyTorchCompile" + ], + { + "title_aux": "ComfyUI HunyuanVideo-Foley" + } + ], + "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages": [ + [ + "IF_LoadImagesS" + ], + { + "title_aux": "IF_AI_LoadImages" + } + ], + "https://github.com/ifmylove2011/comfyui-missed-tool": [ + [ + "ColorImageFillRm", + "ImageQueueLoader", + "LoadImageA", + "LoraLoad", + "LoraMerge", + "LoraSaver", + "ScaleMultilplePixels", + "TextSplitToList", + "TrimBG", + "TrimBGAdvanced", + "TxtSave" + ], + { + "title_aux": "comfyui-missed-tool" + } + ], + "https://github.com/iguanesolutions/comfyui-ig1-tools": [ + [ + "IG1AspectRatioProperties", + "IG1FluxReport", + "IG1ImageSelector", + "IG1LoadImage", + "IG1QwenImageNativesResolutions", + "IG1Resolution", + "IG1ResolutionAdvisor", + "IG1ResolutionProperties" + ], + { + "title_aux": "Flux Resolution" + } + ], + "https://github.com/ihmily/ComfyUI-FitDiTx": [ + [ + "FitDiT_GenerateMask", + "FitDiT_LoadModel", + "FitDiT_TryOn" + ], + { + "title_aux": "ComfyUI-FitDiTx" } ], "https://github.com/ihmily/ComfyUI-Light-Tool": [ @@ -15442,39 +38431,112 @@ "Light-Tool: AddBackground", "Light-Tool: AddBackgroundV2", "Light-Tool: BoundingBoxCropping", + "Light-Tool: Calculate", + "Light-Tool: ConvertNumType", + "Light-Tool: CropImage", + "Light-Tool: DeserializeJsonString", "Light-Tool: GetImageSize", + "Light-Tool: GetImagesCount", + "Light-Tool: GetSideLength", + "Light-Tool: Hex2RGB", "Light-Tool: ImageConcat", "Light-Tool: ImageMaskApply", "Light-Tool: ImageOverlay", "Light-Tool: ImageToMask", "Light-Tool: InputText", + "Light-Tool: InputTextList", "Light-Tool: InvertMask", "Light-Tool: IsTransparent", + "Light-Tool: KeyValue", "Light-Tool: LoadImage", "Light-Tool: LoadImageFromURL", "Light-Tool: LoadImagesFromDir", + "Light-Tool: LoadMetadataFromURL", + "Light-Tool: LoadVideo", "Light-Tool: MaskBoundingBoxCropping", "Light-Tool: MaskContourExtractor", "Light-Tool: MaskImageToTransparent", "Light-Tool: MaskToImage", + "Light-Tool: MorphologicalTF", "Light-Tool: PhantomTankEffect", "Light-Tool: PreviewVideo", + "Light-Tool: RGB2Hex", "Light-Tool: RGB2RGBA", "Light-Tool: RGBA2RGB", "Light-Tool: ResizeImage", + "Light-Tool: ResizeImageByMaxSize", + "Light-Tool: ResizeImageByMinSize", + "Light-Tool: ResizeImageByRatio", + "Light-Tool: ResizeImageV2", + "Light-Tool: SaveMetadata", "Light-Tool: SaveToAliyunOSS", "Light-Tool: SaveVideo", + "Light-Tool: ScaleImage", + "Light-Tool: SerializeJsonObject", + "Light-Tool: ShowAnything", "Light-Tool: ShowText", - "Light-Tool: SolidColorBackground" + "Light-Tool: SimpleImageOverlay", + "Light-Tool: SimpleTextConnect", + "Light-Tool: SolidColorBackground", + "Light-Tool: TextConnect", + "Light-Tool: TextReplace", + "Light-Tool: UpscaleImage" ], { "author": "Hmily", - "description": "An awesome light image processing tool nodes for ComfyUI.", + "description": "An awesome light tool nodes for ComfyUI.", "nickname": "ComfyUI-Light-Tool", "title": "ComfyUI-Light-Tool", "title_aux": "ComfyUI-Light-Tool" } ], + "https://github.com/ihmily/comfy-deploy": [ + [ + "ComfyDeployExternalFloat", + "ComfyDeployExternalImage", + "ComfyDeployExternalImageBatch", + "ComfyDeployExternalInt", + "ComfyDeployExternalText" + ], + { + "author": "Hmily", + "description": "Easy deploy API for ComfyUI.", + "nickname": "comfy-deploy", + "title": "comfy-deploy", + "title_aux": "comfy-deploy" + } + ], + "https://github.com/illuminatianon/comfyui-csvwildcards": [ + [ + "CSVWildcardNode", + "DisplayTextNode" + ], + { + "title_aux": "CSV Wildcard Node for ComfyUI" + } + ], + "https://github.com/illuminatianon/comfyui-lumi-tools": [ + [ + "LumiGeminiImagenConfig", + "LumiGoogleImagenProvider", + "LumiLLMImagenProcessor", + "LumiLLMPromptProcessor", + "LumiLoadImage", + "LumiNoiseToSeed", + "LumiOpenRouterImagenProvider", + "LumiOpenRouterProvider", + "LumiSaveImage", + "LumiSeed", + "LumiShowText", + "LumiShufflePrompt", + "LumiTextInput", + "LumiWildcardProcessor", + "LumiWrapText" + ], + { + "title_aux": "comfyui-lumi-tools" + } + ], "https://github.com/imb101/ComfyUI-FaceSwap": [ [ "FaceSwapNode" @@ -15483,12 +38545,13 @@ "title_aux": "FaceSwap" } ], - "https://github.com/inflamously/comfyui-prompt-enhancer": [ + "https://github.com/infinigence/ComfyUI-Infinigence-Nodes": [ [ - "PROMPT_ENHANCE_Simple" + "DrawTextNode", + "Qwen2.5VL_api" ], { - "title_aux": "comfyui-prompt-enhancer" + "title_aux": "ComfyUI-Infinigence-Nodes" } ], "https://github.com/injet-zhou/comfyui_extra_api": [ @@ -15499,10 +38562,101 @@ "title_aux": "comfyui_extra_api" } ], + "https://github.com/inventorado/ComfyUI_NNT": [ + [ + "NntAnalyzeInferenceMetrics", + "NntAnalyzeModel", + "NntCompileModel", + "NntDataLoader", + "NntDatasetToImageTensor", + "NntDatasetToTargetTensor", + "NntDatasetToTensor", + "NntDatasetToTextTensor", + "NntDefineActivationLayer", + "NntDefineAlibiPositionalBias", + "NntDefineConvLayer", + "NntDefineDenseLayer", + "NntDefineFlattenLayer", + "NntDefineGRULayer", + "NntDefineLSTMLayer", + "NntDefineLinearAttention", + "NntDefineLocalAttention", + "NntDefineMultiheadAttention", + "NntDefineNormLayer", + "NntDefinePoolingLayer", + "NntDefinePositionalEncoding", + "NntDefineRNNLayer", + "NntDefineReformerAttention", + "NntDefineRelativePositionBias", + "NntDefineReshapeLayer", + "NntDefineRotaryPositionalEmbedding", + "NntDefineTransformerEncoderLayer", + "NntDefineTransformerXLAttention", + "NntDefineVanillaAttention", + "NntEditModelLayers", + "NntEvaluatePredictions", + "NntFileLoader", + "NntFineTuneModel", + "NntHuggingFaceDataLoader", + "NntImageToTensor", + "NntInference", + "NntInputLayer", + "NntLoadModel", + "NntMergeExtendModel", + "NntPlotTensors", + "NntRandomTensorGenerator", + "NntSHAPSummaryNode", + "NntSaveModel", + "NntShowLayerStack", + "NntShowModelInfo", + "NntTensorElementToImage", + "NntTensorOperations", + "NntTensorSlice", + "NntTensorToText", + "NntTextBatchProcessor", + "NntTextToTensor", + "NntTimeSeriesDataLoader", + "NntTorchvisionDataLoader", + "NntTorchvisionDatasets", + "NntTrainModel", + "NntTrainingHyperparameters", + "NntVisualizeConfidenceScores", + "NntVisualizeGraph", + "NntVisualizePredictionMetrics", + "NntVisualizeTrainingMetrics" + ], + { + "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/isala404/comfy-workflow-api": [ + [ + "WebhookReceiver", + "WebhookSend", + "WebhookTransformer" + ], + { + "title_aux": "comfy-workflow-api" + } + ], "https://github.com/iwanders/ComfyUI_nodes": [ [ "IW_JsonPickItem", "IW_ModelHook", + "IW_OllamaGenerateString", "IW_StringConcat", "IW_StringFromInt", "IW_StringNode", @@ -15594,7 +38748,6 @@ "JagsCLIPSeg", "JagsClipseg", "JagsCombineMasks", - "SVG", "YoloSEGdetectionNode", "YoloSegNode", "color_drop", @@ -15626,6 +38779,7 @@ "LoRA Stacker", "Manual XY Entry Info", "NNLatentUpscale", + "NNlLatentUpscale", "Noise Control Script", "Pack SDXL Tuple", "Tiled Upscaler Script", @@ -15654,208 +38808,26 @@ "title_aux": "Efficiency Nodes for ComfyUI Version 2.0+" } ], - "https://github.com/jakechai/ComfyUI-JakeUpgrade": [ + "https://github.com/jaimitoes/ComfyUI_Wan2_1_lora_trainer": [ [ - "Animation Prompt JK", - "Animation Value JK", - "Base Image Parameters Extract JK", - "Base Model Parameters Extract JK", - "Base Model Parameters JK", - "Base Model Parameters SD3API JK", - "Base Model Pipe Extract JK", - "Base Model Pipe JK", - "CM_BoolBinaryOperation JK", - "CM_BoolToInt JK", - "CM_BoolUnaryOperation JK", - "CM_BreakoutVec2 JK", - "CM_BreakoutVec3 JK", - "CM_BreakoutVec4 JK", - "CM_ComposeVec2 JK", - "CM_ComposeVec3 JK", - "CM_ComposeVec4 JK", - "CM_FloatBinaryCondition JK", - "CM_FloatBinaryOperation JK", - "CM_FloatToInt JK", - "CM_FloatToNumber JK", - "CM_FloatUnaryCondition JK", - "CM_FloatUnaryOperation JK", - "CM_IntBinaryCondition JK", - "CM_IntBinaryOperation JK", - "CM_IntToBool JK", - "CM_IntToFloat JK", - "CM_IntToNumber JK", - "CM_IntUnaryCondition JK", - "CM_IntUnaryOperation JK", - "CM_NumberBinaryCondition JK", - "CM_NumberBinaryOperation JK", - "CM_NumberToFloat JK", - "CM_NumberToInt JK", - "CM_NumberUnaryCondition JK", - "CM_NumberUnaryOperation JK", - "CM_PromptCombine_JK", - "CM_StringBinaryCondition_JK", - "CM_Vec2BinaryCondition JK", - "CM_Vec2BinaryOperation JK", - "CM_Vec2FloatOperation_JK", - "CM_Vec2ToFloatBinaryOperation JK", - "CM_Vec2ToFloatUnaryOperation JK", - "CM_Vec2UnaryCondition JK", - "CM_Vec2UnaryOperation JK", - "CM_Vec3BinaryCondition JK", - "CM_Vec3BinaryOperation JK", - "CM_Vec3FloatOperation_JK", - "CM_Vec3ToFloatBinaryOperation JK", - "CM_Vec3ToFloatUnaryOperation JK", - "CM_Vec3UnaryCondition JK", - "CM_Vec3UnaryOperation JK", - "CM_Vec4BinaryCondition JK", - "CM_Vec4BinaryOperation JK", - "CM_Vec4FloatOperation_JK", - "CM_Vec4ToFloatBinaryOperation JK", - "CM_Vec4ToFloatUnaryOperation JK", - "CM_Vec4UnaryCondition JK", - "CM_Vec4UnaryOperation JK", - "CR Apply ControlNet JK", - "CR Apply LoRA Stack JK", - "CR Apply Multi-ControlNet Adv JK", - "CR Apply Multi-ControlNet JK", - "CR Aspect Ratio JK", - "CR Boolean JK", - "CR Clip Input Switch JK", - "CR Conditioning Input Switch JK", - "CR ControlNet Input Switch JK", - "CR ControlNet Stack Input Switch JK", - "CR Float Input Switch JK", - "CR Guider Input Switch JK", - "CR Image Input Switch JK", - "CR Impact Pipe Input Switch JK", - "CR Int Input Switch JK", - "CR Latent Input Switch JK", - "CR LoRA Stack JK", - "CR Load LoRA JK", - "CR Mask Input Switch JK", - "CR Mesh Input Switch JK", - "CR Model Input Switch JK", - "CR Multi-ControlNet Stack JK", - "CR Noise Input Switch JK", - "CR Obit Pose Input Switch JK", - "CR Orbit Pose Input Switch JK", - "CR Pipe Input Switch JK", - "CR Ply Input Switch JK", - "CR SD1.5 Aspect Ratio JK", - "CR SD3 Aspect Ratio JK", - "CR SDXL Aspect Ratio JK", - "CR Sampler Input Switch JK", - "CR Sigmas Input Switch JK", - "CR Text Input Switch JK", - "CR VAE Input Switch JK", - "Ckpt Loader JK", - "Detailer Parameters JK", - "Embedding Picker JK", - "Embedding Picker Multi JK", - "Empty Latent Color JK", - "Evaluate Examples JK", - "Evaluate Floats JK", - "Evaluate Ints JK", - "Evaluate Strings JK", - "HintImageEnchance JK", - "Image Remove Alpha JK", - "Image Upscale Parameters Extract JK", - "Is Mask Empty JK", - "Ksampler Parameters JK", - "Latent Upscale Parameters Extract JK", - "Load Image With Metadata JK", - "Metadata Pipe Extract JK", - "Metadata Pipe JK", - "NodesState JK", - "Noise Injection Parameters JK", - "Noise Injection Pipe Extract JK", - "Orbit Poses JK", - "OrbitLists to OrbitPoses JK", - "OrbitPoses to OrbitLists JK", - "Pipe End JK", - "Project Setting JK", - "Random Beats JK", - "Refine 1 Parameters Extract JK", - "Refine 2 Parameters Extract JK", - "Refine Model Parameters JK", - "Refine Pipe Extract JK", - "Refine Pipe JK", - "Reroute Ckpt JK", - "Reroute List JK", - "Reroute Resize JK", - "Reroute Sampler JK", - "Reroute String JK", - "Reroute Upscale JK", - "Reroute Vae JK", - "SDXLPromptStylerAll", - "SDXLPromptStylerHorror", - "SDXLPromptStylerMisc", - "SDXLPromptStylerbyArtist", - "SDXLPromptStylerbyCamera", - "SDXLPromptStylerbyComposition", - "SDXLPromptStylerbyCyberpunkSurrealism", - "SDXLPromptStylerbyDepth", - "SDXLPromptStylerbyDiva", - "SDXLPromptStylerbyEnvironment", - "SDXLPromptStylerbyFantasySetting", - "SDXLPromptStylerbyFilter", - "SDXLPromptStylerbyFocus", - "SDXLPromptStylerbyFooocus", - "SDXLPromptStylerbyImpressionism", - "SDXLPromptStylerbyLighting", - "SDXLPromptStylerbyMarc", - "SDXLPromptStylerbyMileHigh", - "SDXLPromptStylerbyMood", - "SDXLPromptStylerbyMre", - "SDXLPromptStylerbyMythicalCreature", - "SDXLPromptStylerbyOriginal", - "SDXLPromptStylerbyQuantumRealism", - "SDXLPromptStylerbySai", - "SDXLPromptStylerbySteamPunkRealism", - "SDXLPromptStylerbySubject", - "SDXLPromptStylerbySurrealism", - "SDXLPromptStylerbyTheme", - "SDXLPromptStylerbyTimeofDay", - "SDXLPromptStylerbyTwri", - "SDXLPromptStylerbyWyvern", - "SDXLPromptbyCelticArt", - "SDXLPromptbyContemporaryNordicArt", - "SDXLPromptbyFashionArt", - "SDXLPromptbyGothicRevival", - "SDXLPromptbyIrishFolkArt", - "SDXLPromptbyRomanticNationalismArt", - "SDXLPromptbySportsArt", - "SDXLPromptbyStreetArt", - "SDXLPromptbyVikingArt", - "SDXLPromptbyWildlifeArt", - "Sampler Loader JK", - "Save Image with Metadata Flow JK", - "Save Image with Metadata JK", - "Stability Conservative Upscale", - "Stability Control Skech", - "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 SD3", - "Stability Search And Recolor", - "Stability Search and Replace", - "String To Combo JK", - "Tiling Mode JK", - "Upscale Model Loader JK", - "Upscale Model Parameters Extract JK", - "Upscale Model Parameters JK", - "Vae Loader JK" + "MusubiCompileSettings", + "MusubiMemorySettings", + "MusubiSamplingSettings", + "WanCacheLatents", + "WanCacheTextEncoder", + "WanDatasetConfig", + "WanLoRATrainer" ], { - "title_aux": "ComfyUI-JakeUpgrade" + "title_aux": "ComfyUI_Wan2_1_lora_trainer" + } + ], + "https://github.com/jajos12/Comfyui-WanVideo-Context": [ + [ + "WanVideoContextSelector" + ], + { + "title_aux": "Comfyui-WanVideo-Context" } ], "https://github.com/jamal-alkharrat/ComfyUI_rotate_image": [ @@ -15882,6 +38854,8 @@ "GroupInfoExtractInt", "GroupLoadBatchImages", "GroupLoadImage", + "JWAudioBlend", + "JWAudioSaveToPath", "JWDatetimeString", "JWImageBatchCount", "JWImageContrast", @@ -15911,6 +38885,7 @@ "JWInfoHashListExtractStringList", "JWInfoHashListFromRangedInfo", "JWInfoHashPrint", + "JWLoadAudio", "JWLoadImageSequence", "JWLoadImagesFromString", "JWLoopImageSequence", @@ -15954,10 +38929,155 @@ "title_aux": "Various ComfyUI Nodes by Type" } ], + "https://github.com/jamesk9526/NoxPrompter-ComfyUI-CustomNode": [ + [ + "NoxPromptActionDirector", + "NoxPromptAnalyzer", + "NoxPromptBuilder", + "NoxPromptCameraMaster", + "NoxPromptCamz", + "NoxPromptCharacterCreator", + "NoxPromptCombiner", + "NoxPromptEnhancer", + "NoxPromptHumanDesigner", + "NoxPromptLightingMaster", + "NoxPromptNSFWActionDirector", + "NoxPromptNSFWDesigner", + "NoxPromptNarrativeWeaver", + "NoxPromptPaletteMixer", + "NoxPromptPipelineCombiner", + "NoxPromptWardrobeDesigner" + ], + { + "title_aux": "ComfyUI Nox Prompter" + } + ], + "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": [ + [ + "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" + } + ], + "https://github.com/jandan520/ComfyUI-AdvancedCameraPrompts": [ + [ + "AdvancedCameraControlNode" + ], + { + "title_aux": "ComfyUI-AdvancedCameraPrompts" + } + ], + "https://github.com/jasonjgardner/comfui-substance-designer-integration": [ + [ + "SubstanceBatchProcessor", + "SubstanceCooker", + "SubstanceInfoExtractor", + "SubstanceParameterController", + "SubstanceRenderer" + ], + { + "title_aux": "ComfyUI Substance Designer Integration Plugin" + } + ], + "https://github.com/jasonjgardner/comfyui-pixel-art-scalers": [ + [ + "PixelArtScaler" + ], + { + "title_aux": "comfyui-pixel-art-scalers" + } + ], + "https://github.com/jav12z/ComfyUI-ToyShaders": [ + [ + "ShaderCodeInput", + "ToyShaderNode" + ], + { + "title_aux": "ComfyUI-ToyShaders" + } + ], + "https://github.com/jax-explorer/ComfyUI-InstantCharacter": [ + [ + "InstantCharacterGenerate", + "InstantCharacterLoadModel", + "InstantCharacterLoadModelFromLocal" + ], + { + "title_aux": "ComfyUI-InstantCharacter" + } + ], + "https://github.com/jax-explorer/ComfyUI-VideoBasic": [ + [ + "VideoBasicLoadVideo", + "VideoBasicMergeVideo", + "VideoBasicVideoSave", + "VideoBasicVideoUpscaleWithModel" + ], + { + "title_aux": "ComfyUI-VideoBasic" + } + ], + "https://github.com/jax-explorer/ComfyUI-VideoBasicLatentSync": [ + [ + "VideoBasicLatentSyncLengthAdjuster", + "VideoBasicLatentSyncNode" + ], + { + "title_aux": "ComfyUI-VideoBasicLatentSync" + } + ], + "https://github.com/jax-explorer/ComfyUI-easycontrol": [ + [ + "EasyControlGenerate", + "EasyControlLoadFlux", + "EasyControlLoadLora", + "EasyControlLoadMultiLora", + "EasyControlLoadStyleLora", + "EasyControlLoadStyleLoraFromCivitai" + ], + { + "title_aux": "ComfyUI-easycontrol" + } + ], "https://github.com/jax-explorer/comfyui-model-dynamic-loader": [ [ + "ComfyOnlineSaveFile", + "ComfyOnlineUploadAnything", + "EmbeddingLoader", + "LoadCheckpointFromCivitAI", + "LoadHunyuanLoraFromCivitAI", + "LoadHunyuanLoraFromComfyOnline", + "LoadHunyuanLoraFromHF", + "LoadImageFromURL", "LoadLoraFromCivitAI", - "LoadLoraFromHF" + "LoadLoraFromComfyOnline", + "LoadLoraFromHF", + "LoadLoraFromHFWithToken", + "LoadWanVideoLoraFromCivitAI", + "LoadWanVideoLoraFromComfyOnline", + "LoadWanVideoLoraFromHF", + "SaveAudioAsWav", + "SaveText" ], { "title_aux": "comfyui-model-dynamic-loader" @@ -15971,6 +39091,62 @@ "title_aux": "fast_video_comfyui" } ], + "https://github.com/jchiotaka/comfyui-tile-calculator": [ + [ + "TileCalculator" + ], + { + "title_aux": "comfyui-tile-calculator" + } + ], + "https://github.com/jeankassio/ComfyUI_MusicTools": [ + [ + "Music_AudioMixer", + "Music_AudioTrimmer", + "Music_AudioUpscale", + "Music_Compressor", + "Music_Equalize", + "Music_Gain", + "Music_LufsNormalizer", + "Music_MasterAudioEnhancement", + "Music_NoiseRemove", + "Music_Reverb", + "Music_StemRecombination", + "Music_StemSeparation", + "Music_StereoEnhance" + ], + { + "title_aux": "ComfyUI_MusicTools" + } + ], + "https://github.com/jeankassio/JK-AceStep-Nodes": [ + [ + "AceStepClaude_Lyrics", + "AceStepCohere_Lyrics", + "AceStepCompileSettings", + "AceStepFireworks_Lyrics", + "AceStepGeminiLyrics", + "AceStepGemini_Lyrics", + "AceStepGroqLyrics", + "AceStepGroq_Lyrics", + "AceStepHuggingFace_Lyrics", + "AceStepKSampler", + "AceStepKSamplerAdvanced", + "AceStepOpenAI_Lyrics", + "AceStepPerplexity_Lyrics", + "AceStepPostProcess", + "AceStepPromptGen", + "AceStepReplicate_Lyrics", + "AceStepSaveText", + "AceStepTogetherAI_Lyrics", + "AceStepTorchCompile", + "AceStepVocoderAdapter", + "AudioQualityEvaluator" + ], + { + "title_aux": "JK AceStep Nodes" + } + ], "https://github.com/jeffrey2212/ComfyUI-PonyCharacterPrompt": [ [ "Pony Character Prompt Picker" @@ -15999,6 +39175,31 @@ "title_aux": "Faceless Node for ComfyUI" } ], + "https://github.com/jerrylongyan/ComfyUI-My-Mask": [ + [ + "MaskToBottonHalfConvexMask", + "MaskToConvexMask" + ], + { + "title_aux": "ComfyUI-My-Mask" + } + ], + "https://github.com/jerrywap/ComfyUI_LoadImageFromHttpURL": [ + [ + "LoadImageFromHttpURL" + ], + { + "title_aux": "ComfyUI_LoadImageFromHttpURL" + } + ], + "https://github.com/jerrywap/ComfyUI_UploadToWebhookHTTP": [ + [ + "UploadToWebHookHTTP" + ], + { + "title_aux": "ComfyUI_UploadToWebhookHTTP" + } + ], "https://github.com/jesenzhang/ComfyUI_StreamDiffusion": [ [ "StreamDiffusion_Loader", @@ -16008,10 +39209,92 @@ "title_aux": "ComfyUI_StreamDiffusion" } ], + "https://github.com/jessesep/SimpleVariables": [ + [ + "SimpleClear", + "SimpleGet", + "SimpleList", + "SimpleSet" + ], + { + "title_aux": "SimpleVariables" + } + ], + "https://github.com/jfcantu/ComfyUI-AutoNotes": [ + [ + "AutoNotesNode" + ], + { + "title_aux": "ComfyUI AutoNotes" + } + ], + "https://github.com/jfcantu/ComfyUI-Prompt-Companion": [ + [ + "PromptCompanion_AddSubprompt", + "PromptCompanion_LoadCheckpointWithSubprompt", + "PromptCompanion_StringsToSubprompt", + "PromptCompanion_SubpromptToStrings" + ], + { + "title_aux": "ComfyUI Prompt Companion" + } + ], + "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/jiafuzeng/comfyui-LatentSync": [ + [ + "LatentSyncNode" + ], + { + "title_aux": "LatentSync" + } + ], + "https://github.com/jialuw0830/flux_api_comfyui_plugin": [ + [ + "EigenAIFluxNode", + "EigenAIKontextNode", + "EigenAIQwenNode", + "nodes" + ], + { + "title_aux": "Eigen AI FLUX API Plugin" + } + ], + "https://github.com/jianglinbin/ComfyUI-AnglesSelect": [ + [ + "AnglesSelector3D", + "SimpleAnglesSelector" + ], + { + "title_aux": "ComfyUI 3D Angles Selector" + } + ], "https://github.com/jiaqianjing/ComfyUI-MidjourneyHub": [ [ + "GPTImageEditNode", + "GPTImageGenerateNode", + "GeminiImageEditNode", + "GeminiImageGenerateNode", "MidjourneyActionNode", "MidjourneyBatchActionNode", + "MidjourneyBlendNode", "MidjourneyImagineNode" ], { @@ -16026,6 +39309,37 @@ "title_aux": "ResAdapter for ComfyUI" } ], + "https://github.com/jinanlongen/ComfyUI-Prompt-Expander": [ + [ + "PromptExpanderNode" + ], + { + "title_aux": "ComfyUI Prompt Expander Node" + } + ], + "https://github.com/jinchanz/ComfyUI-ADIC": [ + [ + "ADICOpenAIGPTImage1", + "ADIC_COMMON_API", + "AliCloudOSSUpload", + "IdeaLabImageGenerate", + "ImageTranslateAPI", + "ImageTranslateParamsBuilder", + "ImageTranslateResultExtractor", + "LoadImagesFromUrls", + "MaletteFluxKontextImageScale", + "MaletteImageConcatFromBatch", + "MaletteImageStitch", + "MaletteReferenceLatent", + "MarketImageGenerateWithPolling", + "OpenAIGPTImage1", + "PythonCodeExecutor", + "StringToJsonArray" + ], + { + "title_aux": "ComfyUI-ADIC" + } + ], "https://github.com/jitcoder/lora-info": [ [ "ImageFromURL", @@ -16057,6 +39371,15 @@ "title_aux": "ULTools for ComfyUI" } ], + "https://github.com/jluo-github/comfyui-auto-size": [ + [ + "AutoSize", + "AutoSizeLatent" + ], + { + "title_aux": "comfyui-auto-size" + } + ], "https://github.com/jn-jairo/jn_comfyui": [ [ "JN_AreaAround", @@ -16203,6 +39526,102 @@ "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/jo-nike/ComfyUI-SopranoTTS": [ + [ + "SopranoLoader", + "SopranoTTS", + "SopranoTTSBatch", + "SopranoTTSStream" + ], + { + "title_aux": "ComfyUI-SopranoTTS" + } + ], + "https://github.com/joanna910225/comfyui-housekeeper": [ + [ + "housekeeper-alignment", + "housekeeper-alignment-cmd", + "vue-basic" + ], + { + "title_aux": "HouseKeeper" + } + ], + "https://github.com/joe002/comfyui-conduit-optimizer": [ + [ + "ConduitApply", + "ConduitBatchOptimizer", + "ConduitCacheClear", + "ConduitCore", + "ConduitEmbeddingCache", + "ConduitGate", + "ConduitLatentCache", + "ConduitPath", + "ConduitPool", + "ConduitPrecisionPatcher", + "ConduitSeal", + "ConduitSense", + "ConduitSpeculativeKSampler" + ], + { + "title_aux": "comfyui-conduit-optimizer" + } + ], + "https://github.com/joe002/comfyui-deterministic-nodes": [ + [ + "CascadeRefiner", + "ChecksumValidator", + "DeterministicSampler", + "ECHOContextNode", + "MoERouterNode" + ], + { + "title_aux": "comfyui-deterministic-nodes" + } + ], + "https://github.com/joe002/comfyui-rtx4090-nodes": [ + [ + "BatchImageProcessor", + "BatchLatentProcessor", + "GPUMonitor", + "MemoryManager", + "RTX4090Optimizer", + "TensorRTAutoConverter" + ], + { + "title_aux": "comfyui-rtx4090-nodes" + } + ], + "https://github.com/joeriben/ai4artsed_comfyui_nodes": [ + [ + "ai4artsed_clean_prompt_randomizer", + "ai4artsed_conditioning_fusion", + "ai4artsed_image_analysis", + "ai4artsed_openrouter_key", + "ai4artsed_photo_prompt_randomizer", + "ai4artsed_prompt_interception", + "ai4artsed_random_artform_generator", + "ai4artsed_random_instruction_generator", + "ai4artsed_random_language_selector", + "ai4artsed_stabilitai_key", + "ai4artsed_switch_promptsafety", + "ai4artsed_t5_clip_fusion", + "ai4artsed_text_remix", + "ai4artsed_vector_dimension_eliminator" + ], + { + "title_aux": "AI4ArtsEd Nodes" + } + ], "https://github.com/john-mnz/ComfyUI-Inspyrenet-Rembg": [ [ "InspyrenetRembg", @@ -16225,8 +39644,60 @@ "title_aux": "ComfyUI-sampler-lcm-alternative" } ], + "https://github.com/jomakaze/ComfyUI_JomaNodes": [ + [ + "ImageBatchMulti" + ], + { + "title_aux": "ComfyUI_JomaNodes" + } + ], + "https://github.com/jonstreeter/ComfyUI-Reference-Based-Video-Colorization": [ + [ + "ColorMNetImage", + "ColorMNetVideo", + "DeepExColorImageNode", + "DeepExColorVideoNode" + ], + { + "title_aux": "Reference-Based Video Colorization" + } + ], + "https://github.com/jonstreeter/comfyui-Lora-Tag-Power-Loader": [ + [ + "LoraTagPowerLoader" + ], + { + "title_aux": "comfyui-Lora-Tag-Power-Loader" + } + ], + "https://github.com/jonstreeter/comfyui-compressed-metadata": [ + [ + "ConvertToCompressed", + "ExtractWorkflowsToJSON", + "LoadCompressedWorkflow", + "LoadWorkflowJSON", + "SaveImageCompressed" + ], + { + "title_aux": "ComfyUI \u2014 Compressed Metadata" + } + ], + "https://github.com/joosthel/ComfyUI-CVOverlay": [ + [ + "CV_AestheticOverlay", + "CV_BlobTracker", + "CV_ModelLoader", + "CV_ObjectDetector" + ], + { + "title_aux": "ComfyUI-CVOverlay" + } + ], "https://github.com/jordoh/ComfyUI-Deepface": [ [ + "AverageList", + "DeepfaceAnalyze", "DeepfaceExtractFaces", "DeepfaceVerify" ], @@ -16234,6 +39705,77 @@ "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/joyboy123456/-ComfyUI-GoogleAIStudio": [ + [ + "GoogleAIConfig", + "GoogleAIConnectionTester", + "GoogleAIImageGenerator", + "GoogleAIKeyManager", + "GoogleAITextToImage", + "GoogleAIVideoGenerator", + "GoogleAIVideoStoryboard", + "PromptAnalyzer", + "PromptOptimizer" + ], + { + "title_aux": "ComfyUI Google AI Studio Integration" + } + ], + "https://github.com/jqy-yo/Comfyui-BBoxLowerMask2": [ + [ + "BBoxLowerMask2" + ], + { + "title_aux": "BBoxLowerMask2" + } + ], + "https://github.com/jqy-yo/comfyui-gemini-nodes": [ + [ + "GeminiFieldExtractor", + "GeminiImageBatchProcessor", + "GeminiImageEditor", + "GeminiImageGenADV", + "GeminiImageProcessor", + "GeminiJSONExtractor", + "GeminiJSONParser", + "GeminiStructuredOutput", + "GeminiTextAPI", + "GeminiVideoCaptioner", + "GeminiVideoGenerator", + "UnofficialGeminiAPI", + "UnofficialGeminiStreamAPI" + ], + { + "title_aux": "ComfyUI Gemini Nodes" + } + ], + "https://github.com/jrabek/BokehDiffusionComfyUI": [ + [ + "ApplyBokehAdapter", + "BokehAdapterLoader", + "BokehKSampler", + "BokehLevel" + ], + { + "title_aux": "BokehDiffusionComfyUI" + } + ], "https://github.com/jroc22/ComfyUI-CSV-prompt-builder": [ [ "BuildPromptFromCSV" @@ -16260,6 +39802,46 @@ "title_aux": "ComfyUI-JaRue" } ], + "https://github.com/jtrue/ComfyUI-Rect": [ + [ + "RectCrop", + "RectFill", + "RectMask", + "RectSelect" + ], + { + "description": "Rectangle selection and utilities for ComfyUI (modular).", + "nickname": "Rect", + "title": "Rect", + "title_aux": "ComfyUI-Rect" + } + ], + "https://github.com/jtrue/ComfyUI-WordEmbeddings": [ + [ + "WordEmbeddingsEquation", + "WordEmbeddingsExplorer", + "WordEmbeddingsInterpolator", + "WordEmbeddingsLoader", + "WordEmbeddingsLocalModelLoader", + "WordEmbeddingsTokenAxis", + "WordEmbeddingsTokenAxis2D", + "WordEmbeddingsTokenAxis3D", + "WordEmbeddingsTokenCentrality", + "WordEmbeddingsTokenNeighbors" + ], + { + "nodename_pattern": "_jru$", + "title_aux": "ComfyUI-WordEmbeddings" + } + ], + "https://github.com/jtydhr88/ComfyUI-AudioMass": [ + [ + "ComfyUIAudioMass" + ], + { + "title_aux": "ComfyUI-AudioMass" + } + ], "https://github.com/jtydhr88/ComfyUI-Hunyuan3D-1-wrapper": [ [ "Hunyuan3D V1 - Image Loader", @@ -16285,12 +39867,178 @@ "title_aux": "ComfyUI LayerDivider" } ], + "https://github.com/jtydhr88/ComfyUI-OpenCut": [ + [ + "ComfyUIOpenCut" + ], + { + "title_aux": "ComfyUI-OpenCut" + } + ], + "https://github.com/jtydhr88/ComfyUI-StableStudio": [ + [ + "ComfyUIStableStudio" + ], + { + "title_aux": "ComfyUI-StableStudio" + } + ], + "https://github.com/juddisjudd/ComfyUI-BawkNodes": [ + [ + "BawkBatchProcessor", + "BawkControlNet", + "BawkImageLoader", + "BawkSampler", + "DiffusionModelLoader", + "FluxDynamicLoraStack", + "FluxImageSaver", + "FluxLoraStackApply", + "FluxWildcardEncode", + "ZImageModelLoader" + ], + { + "title_aux": "Bawk Nodes Collection" + } + ], + "https://github.com/judian17/ComfyUI-Extract_Flux_Lora": [ + [ + "ExtractFluxLoRA" + ], + { + "title_aux": "ComfyUI-Extract_Flux_Lora" + } + ], + "https://github.com/judian17/ComfyUI-JoyCaption-beta-one-hf-llava-Prompt_node": [ + [ + "JoyCaptionOllamaExtraOptions", + "JoyCaptionOllamaPrompter" + ], + { + "title_aux": "ComfyUI-JoyCaption-beta-one-hf-llava-Prompt_node" + } + ], + "https://github.com/judian17/ComfyUI-SRT-subtitles-VoxCPM": [ + [ + "Audio_Trimmer_By_Timestamp", + "Load_Text_From_File", + "VoxCPM_Cache_Builder", + "VoxCPM_Cache_Combiner", + "VoxCPM_Loader", + "VoxCPM_SRT_Auto_Dubber", + "VoxCPM_SRT_Dubber", + "VoxCPM_SRT_Processor" + ], + { + "title_aux": "ComfyUI-SRT-subtitles-VoxCPM" + } + ], + "https://github.com/judian17/ComfyUI-UniWorld-jd17": [ + [ + "UniWorldEncoderNode", + "UniWorldScheduler", + "UniWorldSiglipEncoder", + "UniWorld_T5_CLIP_Encoder" + ], + { + "title_aux": "ComfyUI-UniWorld-jd17" + } + ], + "https://github.com/judian17/ComfyUI-joycaption-beta-one-GGUF": [ + [ + "JJC_JoyCaption_Custom_GGUF", + "JJC_JoyCaption_GGUF", + "JJC_JoyCaption_GGUF_ExtraOptions" + ], + { + "title_aux": "ComfyUI JoyCaption-Beta-GGUF Node" + } + ], + "https://github.com/judian17/ComfyUI-multiple-inputs": [ + [ + "MultipleImageStitch", + "MultipleMaskStitch", + "MultipleMasksToImage", + "MultipleTextInputs" + ], + { + "title_aux": "ComfyUI-multiple-inputs" + } + ], + "https://github.com/judian17/ComfyUI_ZIM": [ + [ + "MaskToBbox_ZIM", + "MaskToPoints_ZIM", + "ZimSegment" + ], + { + "title_aux": "ComfyUI_ZIM" + } + ], + "https://github.com/juehackr/comfyui_fk_server": [ + [ + "FK_3dpose", + "FK_Node", + "FK_ShowBaseNode", + "FK_gjttNode2", + "FK_imgedit" + ], + { + "title_aux": "comfyui_fk_server" + } + ], + "https://github.com/jurdnf/ComfyUI-JurdnsIterativeNoiseKSampler": [ + [ + "KSamplerIterativeNoise" + ], + { + "title_aux": "ComfyUI-JurdnsIterativeNoiseKsampler" + } + ], + "https://github.com/jurdnf/ComfyUI-JurdnsModelSculptor": [ + [ + "ModelSculptorFlux", + "ModelSculptorSD3", + "ModelSculptorSDXL" + ], + { + "title_aux": "ComfyUI-JurdnsModelSculptor" + } + ], + "https://github.com/jurdnisglobby/ComfyUI-Jurdns-Groq-Node": [ + [ + "JurdnsGroqAPIPromptEnhancer" + ], + { + "title_aux": "Jurdns Groq API Node" + } + ], "https://github.com/justUmen/Bjornulf_custom_nodes": [ [ + "Bjornulf_APIGenerateCivitAI", + "Bjornulf_APIGenerateCivitAIAddLORA", + "Bjornulf_APIGenerateFalAI", + "Bjornulf_APIGenerateFlux", + "Bjornulf_APIGenerateGPT4o", + "Bjornulf_APIGenerateStability", "Bjornulf_AddLineNumbers", + "Bjornulf_AllLoraSelector", + "Bjornulf_AnythingToFloat", + "Bjornulf_AnythingToInt", "Bjornulf_AnythingToText", + "Bjornulf_AudioPreview", "Bjornulf_AudioVideoSync", + "Bjornulf_BoundingRectangleMask", + "Bjornulf_BoundingRectangleMaskBlur", "Bjornulf_CharacterDescriptionGenerator", + "Bjornulf_CivitAILoraSelectorHunyuan", + "Bjornulf_CivitAILoraSelectorPONY", + "Bjornulf_CivitAILoraSelectorSD15", + "Bjornulf_CivitAILoraSelectorSDXL", + "Bjornulf_CivitAIModelSelectorFLUX_D", + "Bjornulf_CivitAIModelSelectorFLUX_S", + "Bjornulf_CivitAIModelSelectorPony", + "Bjornulf_CivitAIModelSelectorSD15", + "Bjornulf_CivitAIModelSelectorSDXL", "Bjornulf_CombineBackgroundOverlay", "Bjornulf_CombineImages", "Bjornulf_CombineTexts", @@ -16299,16 +40047,43 @@ "Bjornulf_ConcatVideos", "Bjornulf_ConcatVideosFromList", "Bjornulf_ConvertVideo", + "Bjornulf_DisplayNote", "Bjornulf_FFmpegConfig", + "Bjornulf_FourImageViewer", "Bjornulf_FreeVRAM", + "Bjornulf_GlobalSeedManager", "Bjornulf_GrayscaleTransform", "Bjornulf_GreenScreenToTransparency", + "Bjornulf_HorizontalCutAndShift", + "Bjornulf_HuggingFaceDownloader", "Bjornulf_IfElse", "Bjornulf_ImageDetails", "Bjornulf_ImageMaskCutter", + "Bjornulf_ImageNote", + "Bjornulf_ImageNoteLoadImage", + "Bjornulf_ImageUpscaleWithModelTransparency", "Bjornulf_ImagesListToVideo", + "Bjornulf_KokoroTTS", + "Bjornulf_LargestMaskOnly", + "Bjornulf_LatentResolutionSelector", + "Bjornulf_LineSelector", + "Bjornulf_ListLooper", + "Bjornulf_ListLooperCharacter", + "Bjornulf_ListLooperOutfitFemale", + "Bjornulf_ListLooperOutfitMale", + "Bjornulf_ListLooperPose", + "Bjornulf_ListLooperScene", + "Bjornulf_ListLooperStyle", + "Bjornulf_ListSelector", + "Bjornulf_LoadCivitAILinks", + "Bjornulf_LoadGlobalVariables", "Bjornulf_LoadImageWithTransparency", + "Bjornulf_LoadImageWithTransparencyFromPath", "Bjornulf_LoadImagesFromSelectedFolder", + "Bjornulf_LoadTextFromFolder", + "Bjornulf_LoadTextFromPath", + "Bjornulf_LoadTextPickMeGlobal", + "Bjornulf_LoaderLoraWithPath", "Bjornulf_LoopAllLines", "Bjornulf_LoopBasicBatch", "Bjornulf_LoopCombosSamplersSchedulers", @@ -16320,34 +40095,47 @@ "Bjornulf_LoopLoraSelector", "Bjornulf_LoopModelClipVae", "Bjornulf_LoopModelSelector", + "Bjornulf_LoopRandomSeed", "Bjornulf_LoopSamplers", "Bjornulf_LoopSchedulers", "Bjornulf_LoopTexts", "Bjornulf_LoopWriteText", + "Bjornulf_MatchTextToInput", + "Bjornulf_MathNode", "Bjornulf_MergeImagesHorizontally", "Bjornulf_MergeImagesVertically", + "Bjornulf_ModelClipVaeSelector", "Bjornulf_OllamaConfig", "Bjornulf_OllamaImageVision", "Bjornulf_OllamaSystemJobSelector", "Bjornulf_OllamaSystemPersonaSelector", "Bjornulf_OllamaTalk", - "Bjornulf_PassPreviewImage", + "Bjornulf_OllamaVisionPromptSelector", + "Bjornulf_OpenAIVisionNode", "Bjornulf_PauseResume", "Bjornulf_PickInput", + "Bjornulf_PlayAudio", + "Bjornulf_PreviewFirstImage", + "Bjornulf_RandomFloatNode", "Bjornulf_RandomImage", + "Bjornulf_RandomIntNode", "Bjornulf_RandomLineFromInput", "Bjornulf_RandomLoraSelector", "Bjornulf_RandomModelClipVae", "Bjornulf_RandomModelSelector", "Bjornulf_RandomTexts", + "Bjornulf_ReassembleImageGrid", "Bjornulf_RemoveTransparency", "Bjornulf_ResizeImage", "Bjornulf_ResizeImagePercentage", "Bjornulf_SaveBjornulfLobeChat", + "Bjornulf_SaveGlobalVariables", "Bjornulf_SaveImagePath", "Bjornulf_SaveImageToFolder", "Bjornulf_SaveText", + "Bjornulf_SaveTmpAudio", "Bjornulf_SaveTmpImage", + "Bjornulf_SaveTmpVideo", "Bjornulf_ScramblerCharacter", "Bjornulf_SelectImageFromList", "Bjornulf_ShowFloat", @@ -16356,25 +40144,58 @@ "Bjornulf_ShowStringText", "Bjornulf_ShowText", "Bjornulf_SpeechToText", + "Bjornulf_SplitImageGrid", + "Bjornulf_StyleSelector", + "Bjornulf_SwitchAnything", + "Bjornulf_SwitchText", + "Bjornulf_TextAnalyzer", + "Bjornulf_TextGenerator", + "Bjornulf_TextGeneratorCharacterCreature", + "Bjornulf_TextGeneratorCharacterFemale", + "Bjornulf_TextGeneratorCharacterMale", + "Bjornulf_TextGeneratorCharacterObject", + "Bjornulf_TextGeneratorCharacterPose", + "Bjornulf_TextGeneratorOutfitFemale", + "Bjornulf_TextGeneratorOutfitMale", + "Bjornulf_TextGeneratorScene", + "Bjornulf_TextGeneratorStyle", "Bjornulf_TextReplace", + "Bjornulf_TextSplitin10", + "Bjornulf_TextSplitin5", "Bjornulf_TextToAnything", "Bjornulf_TextToSpeech", "Bjornulf_TextToStringAndSeed", + "Bjornulf_TextToVariable", "Bjornulf_VideoDetails", "Bjornulf_VideoPingPong", "Bjornulf_VideoPreview", "Bjornulf_VideoToImagesList", "Bjornulf_WriteText", "Bjornulf_WriteTextAdvanced", + "Bjornulf_WriteTextPickMeChain", + "Bjornulf_WriteTextPickMeGlobal", + "Bjornulf_XTTSConfig", "Bjornulf_imagesToVideo", + "Bjornulf_loadImageBase64Transparency", "Bjornulf_ollamaLoader" ], { "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", "Save Image to BunnyStorage" ], { @@ -16404,13 +40225,67 @@ "title_aux": "Extended Image Formats for ComfyUI" } ], + "https://github.com/kaaskoek232/ComfyUI-MemoryManagement": [ + [ + "AutoMemoryCleanup", + "MemoryCleanup", + "MemoryLeakDetector", + "MemoryMonitor", + "SmartMemoryManager", + "VRAMOptimizer", + "VRAMUnload" + ], + { + "title_aux": "ComfyUI-MemoryManagement" + } + ], + "https://github.com/kadima-tech/comfyui-draggen": [ + [ + "DraggenLocalMoodboardLoader", + "DraggenMoodboardImages", + "DraggenMoodboardRendered", + "DraggenMoodboardText", + "DraggenRemoteMoodboardLoader" + ], + { + "title_aux": "ComfyUI-Draggen" + } + ], "https://github.com/kadirnar/ComfyUI-Transformers": [ [ + "AudioClassificationPipeline", + "AutomaticSpeechRecognitionPipeline", + "ConversationalPipeline", "DepthEstimationInference", + "DocumentQuestionAnsweringPipeline", + "FeatureExtractionPipeline", + "FillMaskPipeline", + "FloatToString", "ImageClassificationPipeline", + "ImageFeatureExtractionPipeline", "ImageSegmentationPipeline", + "ImageTextToTextPipeline", + "ImageToImagePipeline", + "ImageToTextPipeline", + "IntToString", "LoadDepthModel", - "ObjectDetectionPipeline" + "MaskGenerationPipeline", + "ObjectDetectionPipeline", + "QuestionAnsweringPipeline", + "SentenceSimilarityPipeline", + "StringToFloat", + "StringToInt", + "TableQuestionAnsweringPipeline", + "TextClassificationPipeline", + "TextGenerationPipeline", + "TextToSpeechPipeline", + "TokenClassificationPipeline", + "VideoClassificationPipeline", + "VisualQuestionAnsweringPipeline", + "ZeroShotAudioClassificationPipeline", + "ZeroShotClassificationPipeline", + "ZeroShotImageClassificationPipeline", + "ZeroShotObjectDetectionPipeline" ], { "title_aux": "ComfyUI-Transformers" @@ -16427,6 +40302,7 @@ "GetImageSize", "ImageResizeAdvanced", "UltralyticsInference", + "UltralyticsMaskFlatten", "UltralyticsModelLoader", "UltralyticsVisualization", "ViewText" @@ -16435,6 +40311,35 @@ "title_aux": "ComfyUI-YOLO" } ], + "https://github.com/kael558/ComfyUI-GGUF-FantasyTalking": [ + [ + "CLIPLoaderGGUF", + "DownloadAndLoadWav2VecModel", + "FantasyTalkingModelLoader", + "FantasyTalkingWav2VecEmbeds", + "LoadWanVideoT5TextEncoderGGUF", + "ReCamMasterPoseVisualizer", + "UnetLoaderGGUF", + "UnetLoaderGGUF_LowVRAM", + "WanVideoATITracks", + "WanVideoATITracksVisualize", + "WanVideoATI_comfy", + "WanVideoControlnet", + "WanVideoControlnetLoader", + "WanVideoDiffusionForcingSampler", + "WanVideoFunCameraEmbeds", + "WanVideoReCamMasterCameraEmbed", + "WanVideoReCamMasterDefaultCamera", + "WanVideoReCamMasterGenerateOrbitCamera", + "WanVideoUni3C_ControlnetLoader", + "WanVideoUni3C_embeds", + "WanVideoUniAnimateDWPoseDetector", + "WanVideoUniAnimatePoseInput" + ], + { + "title_aux": "ComfyUI-GGUF-FantasyTalking" + } + ], "https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl": [ [ "ReduxAdvanced", @@ -16444,6 +40349,31 @@ "title_aux": "Advanced Reflux control" } ], + "https://github.com/kaipard/comfyui-auto-latent-size": [ + [ + "AutoAspectLatent" + ], + { + "title_aux": "Auto Aspect Latent Generator" + } + ], + "https://github.com/kakachiex2/comfyui-ltx2-efficient": [ + [ + "LTX2CombineAVLatent", + "LTX2ConditioningHelper", + "LTX2EfficientSampler", + "LTX2EfficientSamplerPro", + "LTX2EmptyAudioLatent", + "LTX2ExperimentalKeyframeSampler", + "LTX2ModelPatcher", + "LTX2SeparateAVLatent", + "LTX2TemporalVAEDecode", + "LTX2TextEncodeOptimized" + ], + { + "title_aux": "comfyui-ltx2-efficient" + } + ], "https://github.com/kale4eat/ComfyUI-path-util": [ [ "path_util_PathAbspath", @@ -16475,6 +40405,7 @@ "SDT_FasterWhisperTextFromSegments", "SDT_FasterWhisperTranscribe", "SDT_GriffinLim", + "SDT_HighpassBiquad", "SDT_JoinAudio", "SDT_KotobaWhisperListSegments", "SDT_KotobaWhisperLoaderLong", @@ -16485,19 +40416,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", @@ -16505,7 +40432,6 @@ "SDT_PlotWaveForm", "SDT_ResampleAudio", "SDT_SaveAudio", - "SDT_SaveAudioWithSequentialNumbering", "SDT_SilenceAudio", "SDT_SileroVADApply", "SDT_SileroVADCollectChunks", @@ -16561,6 +40487,101 @@ "title_aux": "ComfyUI-text-file-util" } ], + "https://github.com/kambara/ComfyUI-PromptPalette": [ + [ + "PromptPalette" + ], + { + "title_aux": "ComfyUI-PromptPalette" + } + ], + "https://github.com/kana112233/ComfyUI-kaola-ace-step": [ + [ + "ACE_STEP_Captioner", + "ACE_STEP_ClearVRAM", + "ACE_STEP_Complete", + "ACE_STEP_Cover", + "ACE_STEP_CreateSample", + "ACE_STEP_Extract", + "ACE_STEP_FormatSample", + "ACE_STEP_Lego", + "ACE_STEP_LoRALoader", + "ACE_STEP_Repaint", + "ACE_STEP_SimpleMode", + "ACE_STEP_TextToMusic", + "ACE_STEP_Transcriber", + "ACE_STEP_Understand" + ], + { + "title_aux": "ComfyUI-kaola-ace-step" + } + ], + "https://github.com/kanibus/kanibus": [ + [ + "AIDepthControl", + "AdvancedTrackingPro", + "BodyPoseEstimator", + "EmotionAnalyzer", + "HandTracking", + "KanibusMaster", + "LandmarkPro468", + "MultiControlNetApply", + "NeuralPupilTracker", + "NormalMapGenerator", + "ObjectSegmentation", + "SmartFacialMasking", + "TemporalSmoother", + "VideoFrameLoader" + ], + { + "title_aux": "KANIBUS - Advanced Eye Tracking ControlNet System" + } + ], + "https://github.com/kantan-kanto/ComfyUI-LLM-Session": [ + [ + "LLMDialogueCycleNode", + "LLMDialogueCycleSimpleNode", + "LLMSessionChatNode", + "LLMSessionChatSimpleNode" + ], + { + "title_aux": "ComfyUI-LLM-Session" + } + ], + "https://github.com/kantan-kanto/ComfyUI-MultiModal-Prompt-Nodes": [ + [ + "QwenImageEditPromptGenerator", + "VisionLLMNode", + "WanVideoPromptGenerator" + ], + { + "title_aux": "ComfyUI-MultiModal-Prompt-Nodes" + } + ], + "https://github.com/kantsche/ComfyUI-MixMod": [ + [ + "MixModBandFFTGuiderNode", + "MixModDepthGuiderNode", + "MixModDynamicMaskAlternativeGuiderNode", + "MixModDynamicMaskGuiderNode", + "MixModFFTGuiderNode", + "MixModGuiderComponentNode", + "MixModGuiderComponentPipelineNode", + "MixModGuiderNode", + "MixModHighResGuiderNode", + "MixModOptionsMaskNode", + "MixModOptionsScaleNode", + "MixModOptionsSchedulerNode", + "MixModPipelineNode" + ], + { + "author": "Kantsche", + "description": "Model Mixture Guider", + "nickname": "MixMod", + "title": "ComfyUI-MixMod", + "title_aux": "ComfyUI-MixMod" + } + ], "https://github.com/kappa54m/ComfyUI_Usability": [ [ "KLoadImageByPath", @@ -16571,6 +40592,42 @@ "title_aux": "ComfyUI Usability" } ], + "https://github.com/karas17/ComfyUI-Camera-Watermark": [ + [ + "CameraWatermarkNode", + "ImageLoaderWithEXIF" + ], + { + "title_aux": "ComfyUI Camera Watermark" + } + ], + "https://github.com/karas17/comfyui_GLM_TTS": [ + [ + "GLMTTSASR", + "GLMTTSLoader", + "GLMTTSSampler" + ], + { + "title_aux": "comfyui_GLM_TTS" + } + ], + "https://github.com/karthikg-09/ComfyUI-Vton-Mask": [ + [ + "ComfyUIVtonMaskGenerator", + "ComfyUIVtonMaskLoader" + ], + { + "title_aux": "ComfyUI-Vton-Mask" + } + ], + "https://github.com/karthikg-09/ComfyUI-WanVideoAutoResize": [ + [ + "WanVideoAutoImgResize" + ], + { + "title_aux": "ComfyUI WanVideo Auto Resize" + } + ], "https://github.com/kasukanra/ComfyUI_StringToHex": [ [ "ColorNameToHex" @@ -16587,6 +40644,36 @@ "title_aux": "comfyUI-nsfw-detection" } ], + "https://github.com/kaushiknishchay/ComfyUI-Qwen3-ASR": [ + [ + "Qwen3ASRTranscriber", + "Qwen3ForcedAlignerConfig" + ], + { + "title_aux": "ComfyUI-Qwen3-ASR" + } + ], + "https://github.com/kayorlian/ComfyuiSmartColorMatch": [ + [ + "ClothTextureReplace", + "SmartColorMatch" + ], + { + "title_aux": "ComfyuiSmartColorMatch" + } + ], + "https://github.com/kazeyori/ComfyUI-QuickImageSequenceProcess": [ + [ + "QuickImageSequenceProcess" + ], + { + "author": "kazeyori", + "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": "ComfyUI-QuickImageSequenceProcess" + } + ], "https://github.com/kealiu/ComfyUI-S3-Tools": [ [ "Load Image From S3", @@ -16613,6 +40700,50 @@ "title_aux": "ComfyUI-ZeroShot-MTrans" } ], + "https://github.com/keghoang/ComfyUI-Charon": [ + [ + "CHARON_3D_Auto_Align", + "CHARON_Camera_From_DA3" + ], + { + "title_aux": "ComfyUI-Charon" + } + ], + "https://github.com/keit0728/ComfyUI-Image-Toolkit": [ + [ + "AlphaFlatten", + "AlphaToGrayscale", + "AntialiasingImage", + "BinarizeImage", + "BinarizeImageUsingOtsu", + "BrightnessTransparency", + "GrayscaleImage", + "RemoveWhiteBackgroundNoise" + ], + { + "title_aux": "ComfyUI-Image-Toolkit" + } + ], + "https://github.com/keit0728/ComfyUI-keitNodes": [ + [ + "AspectRatioResolutionFinder", + "M2MTranslator", + "PixelLimitResizer", + "WanVideoOptimalResizer", + "WanVideoResolutionFinder" + ], + { + "title_aux": "ComfyUI-keitNodes" + } + ], + "https://github.com/keit0728/ComfyUI-musubi-tuner": [ + [ + "MusubiTunerWanGenerateVideo" + ], + { + "title_aux": "ComfyUI-musubi-tuner" + } + ], "https://github.com/kenjiqq/qq-nodes-comfyui": [ [ "Any List", @@ -16631,17 +40762,67 @@ "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" + ], + { + "title_aux": "Skin Tone Detector for ComfyUI" + } + ], "https://github.com/kft334/Knodes": [ [ "Image(s) To Websocket (Base64)", "ImageOutput", "Load Image (Base64)", - "Load Images (Base64)" + "Load Images (Base64)", + "LoadImageBase64", + "LoadImagesBase64" ], { "title_aux": "Knodes" } ], + "https://github.com/khanhlvg/vertex-ai-comfyui-nodes": [ + [ + "Chirp", + "Gemini", + "GeminiImage", + "ImagenComputedMaskConfig", + "ImagenMaskEditing", + "Imagen_Product_Recontext", + "Imagen_T2I", + "Lyria", + "PreviewVideo", + "Veo2", + "Veo2Extend", + "Veo3", + "Veo_Prompt_Writer", + "Virtual_Try_On" + ], + { + "title_aux": "[Unofficial] Vertex AI Custom Nodes for ComfyUI" + } + ], + "https://github.com/kianthos/Earthbound---All-in-one-ComfyUI-Node": [ + [ + "EarthboundUltimate" + ], + { + "title_aux": "Earthbound---All-in-one-ComfyUI-Node" + } + ], "https://github.com/kijai/ComfyUI-ADMotionDirector": [ [ "ADMD_AdditionalModelSelect", @@ -16696,6 +40877,7 @@ "CogVideoContextOptions", "CogVideoControlNet", "CogVideoDecode", + "CogVideoEnhanceAVideo", "CogVideoImageEncode", "CogVideoImageEncodeFunInP", "CogVideoLatentPreview", @@ -16708,6 +40890,7 @@ "CogVideoXFasterCache", "CogVideoXFunResizeToClosestBucket", "CogVideoXModelLoader", + "CogVideoXTeaCache", "CogVideoXTorchCompileSettings", "CogVideoXVAELoader", "DownloadAndLoadCogVideoControlNet", @@ -16822,15 +41005,24 @@ "FluxTrainSaveModel", "FluxTrainValidate", "FluxTrainValidationSettings", + "FluxTrainerLossConfig", "InitFluxLoRATraining", "InitFluxTraining", + "InitSD3LoRATraining", + "InitSDXLLoRATraining", "OptimizerConfig", "OptimizerConfigAdafactor", "OptimizerConfigProdigy", "OptimizerConfigProdigyPlusScheduleFree", + "SD3ModelSelect", + "SD3TrainValidationSettings", + "SDXLModelSelect", + "SDXLTrainValidate", + "SDXLTrainValidationSettings", "TrainDatasetAdd", "TrainDatasetGeneralConfig", "TrainDatasetRegularization", + "TrainNetworkConfig", "UploadToHuggingFace", "VisualizeLoss" ], @@ -16856,17 +41048,47 @@ "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", + "HunyuanVideoFresca", + "HunyuanVideoSLG", "HyVideoBlockSwap", + "HyVideoCFG", + "HyVideoContextOptions", "HyVideoCustomPromptTemplate", "HyVideoDecode", + "HyVideoEmptyTextEmbeds", "HyVideoEncode", + "HyVideoEncodeKeyframes", + "HyVideoEnhanceAVideo", + "HyVideoGetClosestBucketSize", + "HyVideoI2VEncode", + "HyVideoInverseSampler", + "HyVideoLatentPreview", + "HyVideoLoopArgs", + "HyVideoLoraBlockEdit", + "HyVideoLoraSelect", "HyVideoModelLoader", + "HyVideoPromptMixSampler", + "HyVideoReSampler", "HyVideoSTG", "HyVideoSampler", + "HyVideoTeaCache", + "HyVideoTextEmbedBridge", + "HyVideoTextEmbedsLoad", + "HyVideoTextEmbedsSave", "HyVideoTextEncode", + "HyVideoTextImageEncode", "HyVideoTorchCompileSettings", "HyVideoVAELoader" ], @@ -16891,8 +41113,12 @@ "https://github.com/kijai/ComfyUI-KJNodes": [ [ "AddLabel", + "AddNoiseToTrackPath", "AppendInstanceDiffusionTracking", "AppendStringsToList", + "ApplyRifleXRoPE_HunuyanVideo", + "ApplyRifleXRoPE_WanVideo", + "AudioConcatenate", "BOOLConstant", "BatchCLIPSeg", "BatchCropFromMask", @@ -16901,10 +41127,13 @@ "BatchUncropAdvanced", "BboxToInt", "BboxVisualize", + "BlockifyMask", + "CFGZeroStarAndInit", "CameraPoseVisualizer", "CheckpointLoaderKJ", "CheckpointPerturbWeights", "ColorMatch", + "ColorMatchV2", "ColorToMask", "CondPassThrough", "ConditioningMultiCombine", @@ -16912,6 +41141,7 @@ "ConditioningSetMaskAndCombine3", "ConditioningSetMaskAndCombine4", "ConditioningSetMaskAndCombine5", + "ConsolidateMasksKJ", "CreateAudioMask", "CreateFadeMask", "CreateFadeMaskAdvanced", @@ -16930,75 +41160,122 @@ "CrossFadeImagesMulti", "CustomControlNetWeightsFluxFromList", "CustomSigmas", + "CutAndDragOnPath", + "DiTBlockLoraLoader", "DifferentialDiffusionAdvanced", "DiffusionModelLoaderKJ", + "DiffusionModelSelector", "DownloadAndLoadCLIPSeg", "DrawInstanceDiffusionTracking", + "DrawMaskOnImage", "DummyOut", "EmptyLatentImageCustomPresets", "EmptyLatentImagePresets", + "EndRecordCUDAMemoryHistory", "FastPreview", "FilterZeroMasksAndCorrespondingImages", "FlipSigmasAdjusted", "FloatConstant", "FloatToMask", "FloatToSigmas", - "FluxBlockLoraLoader", "FluxBlockLoraSelect", + "GGUFLoaderKJ", "GLIGENTextBoxApplyBatchCoords", "GenerateNoise", "GetImageRangeFromBatch", "GetImageSizeAndCount", "GetImagesFromBatchIndexed", + "GetLatentRangeFromBatch", + "GetLatentSizeAndCount", "GetLatentsFromBatchIndexed", "GetMaskSizeAndCount", + "GetTrackRange", "GradientToFloat", "GrowMaskWithBlur", + "HunyuanVideoBlockLoraSelect", + "HunyuanVideoEncodeKeyframesToCond", "INTConstant", "ImageAddMulti", "ImageAndMaskPreview", + "ImageBatchExtendWithOverlap", + "ImageBatchFilter", + "ImageBatchJoinWithTransition", "ImageBatchMulti", "ImageBatchRepeatInterleaving", "ImageBatchTestPattern", "ImageConcanate", "ImageConcatFromBatch", "ImageConcatMulti", + "ImageCropByMask", "ImageCropByMaskAndResize", + "ImageCropByMaskBatch", "ImageGrabPIL", "ImageGridComposite2x2", "ImageGridComposite3x3", "ImageGridtoBatch", + "ImageNoiseAugmentation", "ImageNormalize_Neg1_To_1", "ImagePadForOutpaintMasked", "ImagePadForOutpaintTargetSize", + "ImagePadKJ", "ImagePass", + "ImagePrepForICLora", "ImageResizeKJ", + "ImageResizeKJv2", + "ImageTensorList", "ImageTransformByNormalizedAmplitude", "ImageUncropByMask", "ImageUpscaleWithModelBatched", "InjectNoiseToLatent", "InsertImageBatchByIndexes", "InsertImagesToBatchIndexed", + "InsertLatentToIndexed", "InterpolateCoords", "Intrinsic_lora_sampling", "JoinStringMulti", "JoinStrings", + "LTX2AttentionTunerPatch", + "LTX2AudioLatentNormalizingSampling", + "LTX2BlockLoraSelect", + "LTX2LoraLoaderAdvanced", + "LTX2MemoryEfficientSageAttentionPatch", + "LTX2SamplingPreviewOverride", + "LTX2_NAG", + "LTXVAddGuideMulti", + "LTXVAddGuidesFromBatch", + "LTXVAudioVideoMask", + "LTXVChunkFeedForward", + "LTXVEnhanceAVideoKJ", + "LTXVImgToVideoInplaceKJ", + "LatentInpaintTTM", + "LazySwitchKJ", + "LeapfusionHunyuanI2VPatcher", "LoadAndResizeImage", "LoadImagesFromFolderKJ", "LoadResAdapterNormalization", + "LoadVideosFromFolder", + "LoraExtractKJ", + "LoraReduceRankKJ", "MaskBatchMulti", "MaskOrImageToWeight", "MergeImageChannels", + "ModelMemoryUsageFactorOverride", + "ModelMemoryUseReportPatch", "ModelPassThrough", + "ModelPatchTorchSettings", "ModelSaveKJ", + "NABLA_AttentionKJ", "NormalizedAmplitudeToFloatList", "NormalizedAmplitudeToMask", "OffsetMask", "OffsetMaskByNormalizedAmplitude", + "PadImageBatchInterleaved", "PatchModelPatcherOrder", + "PathchSageAttentionKJ", "PlotCoordinates", "PointsEditor", "PreviewAnimation", + "PreviewLatentNoiseMask", "RemapImageRange", "RemapMaskRange", "ReplaceImagesInBatch", @@ -17006,32 +41283,57 @@ "ReverseImageBatch", "RoundMask", "SV3D_BatchSchedule", + "SamplerSelfRefineVideo", "SaveImageKJ", "SaveImageWithAlpha", + "SaveStringKJ", "ScaleBatchPromptSchedule", + "ScheduledCFGGuidance", "Screencap_mss", + "SeparateMasks", "SetShakkerLabsUnionControlNetType", "ShuffleImageBatch", "SigmasToFloat", + "SimpleCalculatorKJ", + "SkipLayerGuidanceWanVideo", "Sleep", "SomethingToString", "SoundReactive", "SplineEditor", "SplitBboxes", "SplitImageChannels", - "StabilityAPI_SD3", "StableZero123_BatchSchedule", + "StartRecordCUDAMemoryHistory", "StringConstant", "StringConstantMultiline", + "StringToFloatList", "StyleModelApplyAdvanced", "Superprompt", + "TimerNodeKJ", "TorchCompileControlNet", + "TorchCompileCosmosModel", "TorchCompileLTXModel", + "TorchCompileModelAdvanced", "TorchCompileModelFluxAdvanced", + "TorchCompileModelFluxAdvancedV2", + "TorchCompileModelHyVideo", + "TorchCompileModelQwenImage", + "TorchCompileModelWanVideo", + "TorchCompileModelWanVideoV2", "TorchCompileVAE", "TransitionImagesInBatch", "TransitionImagesMulti", + "VAEDecodeLoopKJ", + "VAELoaderKJ", "VRAM_Debug", + "VisualizeCUDAMemoryHistory", + "VisualizeSigmasKJ", + "Wan21BlockLoraSelect", + "WanChunkFeedForward", + "WanImageToVideoSVIPro", + "WanVideoEnhanceAVideoKJ", + "WanVideoNAG", + "WanVideoTeaCacheKJ", "WebcamCaptureCV2", "WeightScheduleConvert", "WeightScheduleExtend", @@ -17053,6 +41355,15 @@ "title_aux": "ComfyUI-KwaiKolorsWrapper" } ], + "https://github.com/kijai/ComfyUI-LBMWrapper": [ + [ + "LBMSampler", + "LoadLBMModel" + ], + { + "title_aux": "ComfyUI-LBMWrapper" + } + ], "https://github.com/kijai/ComfyUI-LLaVA-OneVision": [ [ "DownloadAndLoadLLaVAOneVisionModel", @@ -17088,7 +41399,6 @@ "https://github.com/kijai/ComfyUI-LivePortraitKJ": [ [ "DownloadAndLoadLivePortraitModels", - "KeypointScaler", "KeypointsToImage", "LivePortraitComposite", "LivePortraitCropper", @@ -17140,6 +41450,15 @@ "title_aux": "Marigold depth estimation in ComfyUI" } ], + "https://github.com/kijai/ComfyUI-MelBandRoFormer": [ + [ + "MelBandRoFormerModelLoader", + "MelBandRoFormerSampler" + ], + { + "title_aux": "ComfyUI-MelBandRoFormer" + } + ], "https://github.com/kijai/ComfyUI-MimicMotionWrapper": [ [ "DiffusersScheduler", @@ -17177,6 +41496,7 @@ ], "https://github.com/kijai/ComfyUI-PyramidFlowWrapper": [ [ + "DownloadAndLoadPyramidFlowModel", "PyramidFlowLatentPreview", "PyramidFlowSampler", "PyramidFlowTextEncode", @@ -17190,6 +41510,17 @@ "title_aux": "ComfyUI PyramidFlow Wrapper" } ], + "https://github.com/kijai/ComfyUI-SCAIL-Pose": [ + [ + "ConvertOpenPoseKeypointsToDWPose", + "PoseDetectionVitPoseToDWPose", + "RenderNLFPoses", + "SaveNLFPosesAs3D" + ], + { + "title_aux": "ComfyUI-SCAIL-Pose" + } + ], "https://github.com/kijai/ComfyUI-SUPIR": [ [ "SUPIR_Upscale", @@ -17207,6 +41538,170 @@ "title_aux": "ComfyUI-SUPIR" } ], + "https://github.com/kijai/ComfyUI-StableXWrapper": [ + [ + "DifferenceExtractorNode", + "DownloadAndLoadStableXModel", + "StableXProcessImage" + ], + { + "title_aux": "ComfyUI-StableXWrapper" + } + ], + "https://github.com/kijai/ComfyUI-WanVideoWrapper": [ + [ + "CreateCFGScheduleFloatList", + "CreateScheduleFloatList", + "DownloadAndLoadNLFModel", + "DownloadAndLoadWav2VecModel", + "DrawArcFaceLandmarks", + "DrawGaussianNoiseOnImage", + "DrawNLFPoses", + "DummyComfyWanModelObject", + "ExtractStartFramesForContinuations", + "FaceMaskFromPoseKeypoints", + "FantasyPortraitFaceDetector", + "FantasyPortraitModelLoader", + "FantasyTalkingModelLoader", + "FantasyTalkingWav2VecEmbeds", + "HuMoEmbeds", + "LandmarksToImage", + "LoadLynxResampler", + "LoadNLFModel", + "LoadVQVAE", + "LoadWanVideoClipTextEncoder", + "LoadWanVideoT5TextEncoder", + "LynxEncodeFaceIP", + "LynxInsightFaceCrop", + "MTVCrafterEncodePoses", + "MochaEmbeds", + "MultiTalkModelLoader", + "MultiTalkSilentEmbeds", + "MultiTalkWav2VecEmbeds", + "NLFPredict", + "NormalizeAudioLoudness", + "OviMMAudioVAELoader", + "QwenLoader", + "ReCamMasterPoseVisualizer", + "TextImageEncodeQwenVL", + "WanMove_native", + "WanVideoATITracks", + "WanVideoATITracksVisualize", + "WanVideoATI_comfy", + "WanVideoAddBindweaveEmbeds", + "WanVideoAddControlEmbeds", + "WanVideoAddDualControlEmbeds", + "WanVideoAddExtraLatent", + "WanVideoAddFantasyPortrait", + "WanVideoAddFlashVSRInput", + "WanVideoAddLucyEditLatents", + "WanVideoAddLynxEmbeds", + "WanVideoAddMTVMotion", + "WanVideoAddOneToAllExtendEmbeds", + "WanVideoAddOneToAllPoseEmbeds", + "WanVideoAddOneToAllReferenceEmbeds", + "WanVideoAddOviAudioToLatents", + "WanVideoAddPusaNoise", + "WanVideoAddS2VEmbeds", + "WanVideoAddSCAILPoseEmbeds", + "WanVideoAddSCAILReferenceEmbeds", + "WanVideoAddStandInLatent", + "WanVideoAddSteadyDancerEmbeds", + "WanVideoAddStoryMemLatents", + "WanVideoAddTTMLatents", + "WanVideoAddWanMoveTracks", + "WanVideoAnimateEmbeds", + "WanVideoApplyNAG", + "WanVideoBlockList", + "WanVideoBlockSwap", + "WanVideoClipVisionEncode", + "WanVideoCombineEmbeds", + "WanVideoContextOptions", + "WanVideoControlEmbeds", + "WanVideoControlnet", + "WanVideoControlnetLoader", + "WanVideoDecode", + "WanVideoDecodeOviAudio", + "WanVideoDiffusionForcingSampler", + "WanVideoEasyCache", + "WanVideoEmptyEmbeds", + "WanVideoEmptyMMAudioLatents", + "WanVideoEncode", + "WanVideoEncodeLatentBatch", + "WanVideoEncodeOviAudio", + "WanVideoEnhanceAVideo", + "WanVideoExperimentalArgs", + "WanVideoExtraModelSelect", + "WanVideoFlashVSRDecoderLoader", + "WanVideoFreeInitArgs", + "WanVideoFunCameraEmbeds", + "WanVideoImageClipEncode", + "WanVideoImageResizeToClosest", + "WanVideoImageToVideoEncode", + "WanVideoImageToVideoMultiTalk", + "WanVideoImageToVideoSkyreelsv3_audio", + "WanVideoLatentReScale", + "WanVideoLongCatAvatarExtendEmbeds", + "WanVideoLoopArgs", + "WanVideoLoraBlockEdit", + "WanVideoLoraSelect", + "WanVideoLoraSelectByName", + "WanVideoLoraSelectMulti", + "WanVideoMagCache", + "WanVideoMiniMaxRemoverEmbeds", + "WanVideoModelLoader", + "WanVideoOviCFG", + "WanVideoPassImagesFromSamples", + "WanVideoPhantomEmbeds", + "WanVideoPreviewEmbeds", + "WanVideoPromptExtender", + "WanVideoPromptExtenderSelect", + "WanVideoReCamMasterCameraEmbed", + "WanVideoReCamMasterDefaultCamera", + "WanVideoReCamMasterGenerateOrbitCamera", + "WanVideoRealisDanceLatents", + "WanVideoRoPEFunction", + "WanVideoSLG", + "WanVideoSVIProEmbeds", + "WanVideoSampler", + "WanVideoSamplerExtraArgs", + "WanVideoSamplerFromSettings", + "WanVideoSamplerSettings", + "WanVideoSamplerv2", + "WanVideoScheduler", + "WanVideoSchedulerv2", + "WanVideoSetAttentionModeOverride", + "WanVideoSetBlockSwap", + "WanVideoSetLoRAs", + "WanVideoSetRadialAttention", + "WanVideoSigmaToStep", + "WanVideoTeaCache", + "WanVideoTextEmbedBridge", + "WanVideoTextEncode", + "WanVideoTextEncodeCached", + "WanVideoTextEncodeSingle", + "WanVideoTextImageEncode", + "WanVideoTinyVAELoader", + "WanVideoTorchCompileSettings", + "WanVideoUltraVicoSettings", + "WanVideoUni3C_ControlnetLoader", + "WanVideoUni3C_embeds", + "WanVideoUniAnimateDWPoseDetector", + "WanVideoUniAnimatePoseInput", + "WanVideoUniLumosEmbeds", + "WanVideoVACEEncode", + "WanVideoVACEModelSelect", + "WanVideoVACEStartToEndFrame", + "WanVideoVAELoader", + "WanVideoVRAMManagement", + "WanVideoWanDrawWanMoveTracks", + "Wav2VecModelLoader", + "WhisperModelLoader" + ], + { + "title_aux": "ComfyUI-WanVideoWrapper" + } + ], "https://github.com/kijai/ComfyUI-depth-fm": [ [ "Depth_fm" @@ -17291,10 +41786,98 @@ "title_aux": "SimpleTiles" } ], + "https://github.com/kishida/comfyui-text-renderer": [ + [ + "TextRenderNode" + ], + { + "title_aux": "comfyui-text-renderer" + } + ], + "https://github.com/kj863257/ComfyUI_RC_Image_Compositor": [ + [ + "RC_AddNoise", + "RC_AutoColor", + "RC_BrightnessContrast", + "RC_CanvasPadding", + "RC_CanvasResize", + "RC_ChannelExtractor", + "RC_ChannelMixer", + "RC_ColorBalance", + "RC_ColorMatch", + "RC_CurvesAdjust", + "RC_DropShadow", + "RC_FilmGrain", + "RC_GaussianBlur", + "RC_GradientGenerator", + "RC_GradientMap", + "RC_HighLowFrequencySkinSmoothing", + "RC_HueSaturation", + "RC_ImageCompositor", + "RC_ImageCrop", + "RC_ImageScale", + "RC_InteractiveCompositor", + "RC_LRPreset", + "RC_LevelsAdjust", + "RC_LoadImageWithAlpha", + "RC_MaskApply", + "RC_OpacityAdjust", + "RC_OuterGlow", + "RC_PatternTiling", + "RC_PreviewImageNoMetadata", + "RC_PreviewImageWithMetadata", + "RC_SaveImageNoMetadata", + "RC_SaveImageWithMetadata", + "RC_Sharpen", + "RC_ShineRemoval", + "RC_Stroke", + "RC_Threshold", + "RC_Vibrance" + ], + { + "title_aux": "RC Image Compositor" + } + ], + "https://github.com/kjqwer/SmartSaveImage": [ + [ + "Example", + "SmartFolderManager", + "SmartImageSaver" + ], + { + "nodename_pattern": "Smart", + "title_aux": "SmartSaveImage" + } + ], "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_Mask_Composer", + "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" @@ -17303,11 +41886,21 @@ "https://github.com/klinter007/klinter_nodes": [ [ "AspectSelector", + "BBoxCropper", + "FlexibleBatchImage", "FolderLoader", + "Json Extractor - klinter", "LoadImagePlus", + "LoadVideoForExtendingKlinter", + "NanoBananaMultiInput", "OutpaintPadding", + "OutputTester", + "PixelSnapper", + "PrepVideoForExtendKlinter", + "SaveAudioPlus", "SizeSelector", "SpeedRamp", + "VideoFromFolder", "YellowBus", "ZoomOutComposer", "concat", @@ -17319,6 +41912,45 @@ "title_aux": "Klinter_nodes" } ], + "https://github.com/kmlbdh/ComfyUI-kmlbdh-VideoCombine": [ + [ + "DeleteFolderAny", + "KMLBDH_RAMCleaner", + "KMLBDH_VideoCombine" + ], + { + "title_aux": "kmlbdh Video Combine (Smart + Tiled)" + } + ], + "https://github.com/kmlbdh/ComfyUI_LocalLLMNodes": [ + [ + "AddUserLocalKontextPreset", + "ArabicProductDescriptionGenerator", + "LocalKontextPromptGenerator", + "RemoveUserLocalKontextPreset", + "SetLocalLLMServiceConnector" + ], + { + "title_aux": "ComfyUI_LocalLLMNodes" + } + ], + "https://github.com/knishika62/ComfyUI-DualLoraStack": [ + [ + "KnishikaDualLoraStack" + ], + { + "title_aux": "ComfyUI-DualLoraStack" + } + ], + "https://github.com/knishika62/ComfyUI-LyricForge": [ + [ + "LyricForgeACEStepGenerator", + "LyricForgeSongGenerator" + ], + { + "title_aux": "ComfyUI-LyricForge" + } + ], "https://github.com/knuknX/ComfyUI-Image-Tools": [ [ "BatchImagePathLoader", @@ -17334,6 +41966,19 @@ "title_aux": "ComfyUI-Image-Tools" } ], + "https://github.com/kohs100/comfyui-ppwc": [ + [ + "PPWCReplace", + "PPWCTerminate" + ], + { + "author": "Phospholipids", + "description": "This extension offers wildcard prompting works solely in workflow.", + "nickname": "PPWC", + "title": "PPWildCard", + "title_aux": "PPWildCard" + } + ], "https://github.com/kohya-ss/ControlNet-LLLite-ComfyUI": [ [ "LLLiteLoader" @@ -17342,6 +41987,18 @@ "title_aux": "ControlNet-LLLite-ComfyUI" } ], + "https://github.com/koirpraw/ComfyUI-GCP-storage-decouple": [ + [ + "GCPStorageDownloadImage", + "GCPStorageDownloadModel", + "GCPStorageList", + "GCPStorageUploadImage", + "GCPStorageUploadModel" + ], + { + "title_aux": "ComfyUI GCP Cloud Storage Integration" + } + ], "https://github.com/komojini/ComfyUI_SDXL_DreamBooth_LoRA_CustomNodes": [ [ "S3 Bucket LoRA", @@ -17381,12 +42038,182 @@ "title_aux": "komojini-comfyui-nodes" } ], - "https://github.com/kraglik/prompt_collapse": [ + "https://github.com/kostenickj/jk-comfyui-helpers": [ [ - "PromptCollapse" + "EasyHRFix", + "EasyHRFix_Context", + "JKAnythingToString", + "JKBigContext", + "JKDynamicThresholdingMultiModel", + "JKEasyCheckpointLoader", + "JKEasyDetailer", + "JKEasyDetailer_Context", + "JKEasyKSampler_Context", + "JKEasyUpscaleImage", + "JKEasyWatermark", + "JKInspireSchedulerAdapter", + "JKLilContext", + "JKMultiModelSamplerUnpatch", + "JKStringEmpty", + "JKStringEquals", + "JKStringNotEmpty", + "JKStringNotEquals", + "JKStringToSamplerAdapter" ], { - "title_aux": "PromptCollapse" + "title_aux": "comfyui-jk-easy-nodes" + } + ], + "https://github.com/kplkasteel/ComfyUI-SubstringExtractor": [ + [ + "SubstringExtractor" + ], + { + "title_aux": "ComfyUI-SubstringExtractor" + } + ], + "https://github.com/kpsss34/ComfyUI-kpsss34": [ + [ + "SD35sLoaderSampler" + ], + { + "title_aux": "ComfyUI kpsss34 Custom Node" + } + ], + "https://github.com/krakenunbound/ComfyUI-KrakenTools": [ + [ + "KrakenFluxEmptyLatentImage", + "KrakenResolutionHelper", + "KrakenUpscaleTileCalc" + ], + { + "title_aux": "ComfyUI-KrakenTools" + } + ], + "https://github.com/krakenunbound/comfyui-kraken-tools": [ + [ + "KrakenDualCLIPLoader", + "KrakenImageProcessor", + "KrakenImageResize", + "KrakenKSampler", + "KrakenLastFrameMeta", + "KrakenLoras3", + "KrakenOllamaPromptChat", + "KrakenResolutionHelper", + "KrakenWanHelper", + "kraken_checkpoint_loader" + ], + { + "title_aux": "Kraken Tools" + } + ], + "https://github.com/krakenunbound/kraken-discord-bot": [ + [ + "KrakenDiscordBot", + "KrakenDiscordBotStatus" + ], + { + "title_aux": "Kraken Discord Bot" + } + ], + "https://github.com/kreonxv/ComfyUI-ForgeAPI": [ + [ + "ForgeControlNetStack", + "ForgeLoraStack", + "ForgeSampler" + ], + { + "title_aux": "ComfyUI-ForgeAPI" + } + ], + "https://github.com/kreonxv/ComfyUI-GroupBypasser": [ + [ + "GroupBypasserNode" + ], + { + "title_aux": "ComfyUI-GroupBypasser" + } + ], + "https://github.com/kreonxv/ComfyUI-LoraControls": [ + [ + "LoRAStepRange", + "LoraKeyframes" + ], + { + "title_aux": "ComfyUI-LoraControls" + } + ], + "https://github.com/kreonxv/ComfyUI-T2I_StyleApply": [ + [ + "T2I_StyleApply" + ], + { + "title_aux": "ComfyUI-T2I_StyleApply" + } + ], + "https://github.com/kreonxv/ComfyUI-Whiteboard": [ + [ + "Whiteboard" + ], + { + "title_aux": "ComfyUI-Whiteboard" + } + ], + "https://github.com/krigeta/qwen-image-controlnets-comfyui": [ + [ + "QwenImageBlockwiseControlNetApply", + "QwenImageBlockwiseControlNetLoader", + "QwenImageCannyPreprocessor", + "QwenImageDepthPreprocessor" + ], + { + "title_aux": "qwen-image-controlnets-comfyui" + } + ], + "https://github.com/krmahil/comfyui-hollow-preserve": [ + [ + "RemoveEnclosedMaskedAreas" + ], + { + "title_aux": "Hollow Preserve" + } + ], + "https://github.com/kukuo6666/ComfyUI-Equirect": [ + [ + "CubemapToEquirect", + "EquirectToCubemap" + ], + { + "title_aux": "ComfyUI Equirectangular Tools" + } + ], + "https://github.com/kungful/ComfyUI_to_webui": [ + [ + "BarcodeGeneratorNode", + "Barcode_seed", + "DeepseekNode", + "Go_to_image", + "GradioInputImage", + "GradioTextBad", + "GradioTextOk", + "HuaFloatNode", + "HuaIntNode", + "Hua_CheckpointLoaderSimple", + "Hua_LoraLoader", + "Hua_LoraLoaderModelOnly", + "Hua_Output", + "Hua_UNETLoader", + "Hua_Video_Output", + "Hua_gradio_Seed", + "Hua_gradio_jsonsave", + "Hua_gradio_resolution", + "Huaword", + "Modelhua", + "brucelee", + "\u5c0f\u5b57\u4f53\u8bf4\u660e\uff1a\u6211\u662fcomfyui_hua_boy\u7684model" + ], + { + "title_aux": "ComfyUI_to_webui" } ], "https://github.com/kunieone/ComfyUI_alkaid": [ @@ -17411,6 +42238,14 @@ "title_aux": "ComfyUI_alkaid" } ], + "https://github.com/kusurin/ComfyUI-chronophotography": [ + [ + "CreateChronophotography" + ], + { + "title_aux": "ComfyUI-chronophotography" + } + ], "https://github.com/kwaroran/abg-comfyui": [ [ "Remove Image Background (abg)" @@ -17428,13 +42263,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": [ @@ -17449,6 +42288,55 @@ "title_aux": "ComfyUI-Azure-Blob-Storage" } ], + "https://github.com/l3ony2k/comfyui-leon-nodes": [ + [ + "Leon_DALLE_Image_API_Node", + "Leon_Flux_2_Image_API_Node", + "Leon_Flux_Image_API_Node", + "Leon_Flux_Kontext_API_Node", + "Leon_GPT_Image_API_Node", + "Leon_Google_Image_API_Node", + "Leon_Grok2_Image_API_Node", + "Leon_Hypr_Upload_Node", + "Leon_Ideogram_Image_API_Node", + "Leon_Image_Array_Builder_Node", + "Leon_Image_Split_4Grid_Node", + "Leon_ImgBB_Upload_Node", + "Leon_LLM_Chat_API_Node", + "Leon_LLM_JSON_API_Node", + "Leon_Luma_AI_Image_API_Node", + "Leon_Midjourney_Describe_API_Node", + "Leon_Midjourney_Proxy_API_Node", + "Leon_Midjourney_Upload_API_Node", + "Leon_Model_Selector_Node", + "Leon_Nano_Banana_API_Node", + "Leon_Nano_Banana_Edit_Tuzi_API_Node", + "Leon_Nano_Banana_Tuzi_API_Node", + "Leon_Qwen_Image_API_Node", + "Leon_Qwen_Image_Edit_API_Node", + "Leon_Recraft_Image_API_Node", + "Leon_Seedream3_API_Node", + "Leon_Seedream4_API_Node", + "Leon_StableDiffusion_35_API_Node", + "Leon_StableDiffusion_3_Ultra_API_Node", + "Leon_StableDiffusion_XL_API_Node", + "Leon_String_Combine_Node" + ], + { + "nodename_pattern": "^\ud83e\udd16 Leon", + "title_aux": "Leon's Utility and API Integration Nodes" + } + ], + "https://github.com/lakkiy/ComfyUI-RWImageS3": [ + [ + "Is Mask Empty", + "Read Image From S3", + "Save Image To S3" + ], + { + "title_aux": "ComfyUI-RWImageS3" + } + ], "https://github.com/laksjdjf/Batch-Condition-ComfyUI": [ [ "Batch String", @@ -17459,6 +42347,16 @@ "title_aux": "Batch-Condition-ComfyUI" } ], + "https://github.com/laksjdjf/ComfyUI-Imatrix": [ + [ + "ImatrixUNETLoader", + "LoRAdiff", + "SaveImatrix" + ], + { + "title_aux": "ComfyUI-Imatrix" + } + ], "https://github.com/laksjdjf/LCMSampler-ComfyUI": [ [ "SamplerLCM", @@ -17507,17 +42405,41 @@ "title_aux": "pfg-ComfyUI" } ], + "https://github.com/laolaoruqin/ComfyUI-free-drag-crop": [ + [ + "FreeDragCrop" + ], + { + "title_aux": "ComfyUI-free-drag-crop" + } + ], "https://github.com/larsupb/LoRA-Merger-ComfyUI": [ [ + "PM Breadcrumbs (Mergekit)", + "PM DARE (Mergekit)", + "PM Dare (Mergekit)", + "PM Della (Mergekit)", + "PM KArcher (Mergekit)", + "PM Linear (Mergekit)", "PM LoRA Apply", - "PM LoRA Loader", - "PM LoRA Merger", + "PM LoRA Block Sampler", + "PM LoRA Merger (Mergekit)", + "PM LoRA Modifier", + "PM LoRA Parameter Sweep Sampler", + "PM LoRA Power Stacker", "PM LoRA Resizer", - "PM LoRA SVD Merger", "PM LoRA Save", - "XY: PM LoRA Modes", - "XY: PM LoRA SVD Rank", - "XY: PM LoRA Strengths" + "PM LoRA Select", + "PM LoRA Stack Decompose", + "PM LoRA Stack Sampler", + "PM LoRA Stacker (from Directory)", + "PM NearSwap (Mergekit)", + "PM NuSlerp (Mergekit)", + "PM SCE (Mergekit)", + "PM Slerp (Mergekit)", + "PM TIES (Mergekit)", + "PM Task Arithmetic (Mergekit)", + "PM Ties (Mergekit)" ], { "title_aux": "LoRA Power-Merger ComfyUI" @@ -17532,6 +42454,34 @@ "title_aux": "LNL Frame Selector" } ], + "https://github.com/latentastronaut/comfyui-latent-astronaut-suite": [ + [ + "BatchLastImage", + "ChatterBoxTTS", + "ChatterBoxTTSLoader", + "ChatterBoxTTSLoaderAuto", + "ChatterBoxTTSSimple", + "ChatterBoxVC", + "ChatterBoxVCLoader", + "ChatterBoxVCLoaderAuto", + "ChatterBoxVCSimple", + "ForLoopEnd", + "ForLoopStart", + "ImageResizeToTotalPixels", + "LLMConfig", + "LLMPromptEnhancer", + "LoraLoaderModelOnlySelector", + "LoraLoaderSelector", + "SizeSelector", + "StringListCombine", + "StringListFromText", + "StringListIndex", + "VideoLengthFromBatch" + ], + { + "title_aux": "comfyui-latent-astronaut-suite" + } + ], "https://github.com/lazniak/Head-Orientation-Node-for-ComfyUI---by-PabloGFX": [ [ "HeadOrientationNode" @@ -17564,6 +42514,86 @@ "title_aux": "Google Photos Loader - by PabloGFX" } ], + "https://github.com/lazyq666/gemini-3-simply-comfyui": [ + [ + "Gemini3Camera3DPrompt", + "Gemini3ProImagePreview", + "Gemini3ProPreviewText", + "GeminiSeedInt32" + ], + { + "title_aux": "gemini-3-simply-comfyui" + } + ], + "https://github.com/lc03lc/Comfyui_OmniConsistency": [ + [ + "Comfyui_OmniConsistency" + ], + { + "title_aux": "ComfyUI OmniConsistency Nodes" + } + ], + "https://github.com/lceric/comfyui-gpt-image": [ + [ + "GPTImage1Generate" + ], + { + "title_aux": "comfyui-gpt-image" + } + ], + "https://github.com/leafiy/comfyui_psd_smart_object": [ + [ + "PSDMockupEmbedder", + "PSDSmartObjectInspector" + ], + { + "title_aux": "comfyui_psd_smart_object" + } + ], + "https://github.com/lebrosoft/ComfyUI-VideoChatWrapper": [ + [ + "AudioCombine", + "ConcatAudio", + "ConvertAudioChannels", + "JoinAudio", + "ResampleAudio", + "SplitAudio", + "VCW_LoadVideo", + "VCW_ModelLoader", + "VCW_VideoSummary" + ], + { + "title_aux": "ComfyUI-VideoChatWrapper" + } + ], + "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", @@ -17587,11 +42617,65 @@ "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", + "CustomIDModelLoader" + ], + { + "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", "InternVLHFInference", - "InternVLLMDEPLOYInference", "InternVLModelLoader" ], { @@ -17625,12 +42709,34 @@ "MasaCtrlLoadImage", "MasaCtrlModelLoader", "MutualSelfAttentionControlMaskAutoSampler", + "MutualSelfAttentionControlMaskSampler", "MutualSelfAttentionControlSampler" ], { "title_aux": "ComfyUI nodes to use MasaCtrl" } ], + "https://github.com/leeguandong/ComfyUI_QWQ32B": [ + [ + "QwQModelLoader", + "QwQTextGenerator", + "QweQModelLoader" + ], + { + "title_aux": "ComfyUI_QWQ32B" + } + ], + "https://github.com/leeguandong/ComfyUI_Qwen3Omni": [ + [ + "QwenOmniAudioProcessor", + "QwenOmniChat", + "QwenOmniModelLoader", + "QwenOmniVideoProcessor" + ], + { + "title_aux": "ComfyUI_Qwen3Omni" + } + ], "https://github.com/leeguandong/ComfyUI_Style_Aligned": [ [ "SAControlnet_ModelLoader", @@ -17672,10 +42778,19 @@ "title_aux": "ComfyUI_VisualAttentionMap" } ], + "https://github.com/leeooo001/comfyui-Hunyuan-PromptEnhancer": [ + [ + "XX_Hunyuan_PromptEnhancer" + ], + { + "title_aux": "comfyui-Hunyuan-PromptEnhancer" + } + ], "https://github.com/leestuartx/ComfyUI-GG": [ [ "AddPaddingToImage", "ForLoopNode", + "ImageAndTextDescriptionBySeed", "ImageMetadataExtractor", "InputNode", "MetadataExtractBySeed", @@ -17688,34 +42803,63 @@ "title_aux": "ComfyUI-GG" } ], - "https://github.com/leiweiqiang/ComfyUI-TRA": [ + "https://github.com/leewinder/comfyui-crop-to-center": [ [ - "TclEbSynth", - "TclEbSynthBatch", - "TclExr2png", - "TclExtractFramesFromVideo", - "TclExtractFramesFromVideoFile", - "TclFrames2Video", - "TclFresco", - "TclLoraGenDatasets", - "TclLoraSaveImages", - "TclLoraTraining", - "TclSaveVideoFromFrames", - "TclYoloV8Segmentation", - "TclYoloV9Segmentation" + "CropToCenter" ], { - "title_aux": "ComfyUI-TRA" + "title_aux": "Crop To Center" + } + ], + "https://github.com/leewinder/comfyui-mureka-api": [ + [ + "Mureka API Key", + "Mureka Billing", + "Mureka Decode Audio", + "Mureka Instrumental", + "Mureka Mock Generation", + "Mureka Save", + "Mureka Song", + "Mureka Text Prompt" + ], + { + "title_aux": "Mureka API" + } + ], + "https://github.com/lenML/comfyui_qwen_image_edit_adv": [ + [ + "QwenImageEditScale", + "QwenImageEditSimpleScale", + "TextEncodeQwenImageEditAdv", + "TextEncodeQwenImageEditInfAdv", + "TextEncodeQwenImageEditPlusAdv" + ], + { + "title_aux": "comfyui_qwen_image_edit_adv" } ], "https://github.com/lenskikh/ComfyUI-Prompt-Worker": [ [ - "Prompt Worker" + "Clip and Text -> Encode", + "Prompt Body", + "Prompt Clothes", + "Prompt Merger", + "Prompt Worker", + "Prompt \u0421onstructor" ], { "title_aux": "Propmt Worker" } ], + "https://github.com/leoleelxh/Comfy-Topaz-Photo": [ + [ + "ComfyTopazPhoto", + "ComfyTopazPhotoTestAndClean" + ], + { + "title_aux": "Comfy-Topaz-Photo" + } + ], "https://github.com/leoleelxh/ComfyUI-LLMs": [ [ "LLMs Chat", @@ -17726,6 +42870,65 @@ "title_aux": "ComfyUI-LLMs" } ], + "https://github.com/leonardomiramondi/flux-context-comfyui": [ + [ + "FluxKontextNode" + ], + { + "title_aux": "Flux Context ComfyUI Node" + } + ], + "https://github.com/lepiai/ComfyUI-Minitools": [ + [ + "LP-CropTransparentEdges", + "LP-ImageToMaskWithAlpha", + "LP-TranslateToEN", + "LP-color2RGB", + "LP-hex2dec", + "NumericSlider" + ], + { + "title_aux": "ComfyUI-Minitools" + } + ], + "https://github.com/lerignoux/ComfyUI-PechaKucha": [ + [ + "DownloadPechaKucha", + "GeneratePowerpoint", + "SplitPrompt" + ], + { + "title_aux": "ComfyUI-PechaKucha" + } + ], + "https://github.com/lerignoux/ComfyUI-Stable3DGen": [ + [ + "Stable3DGenerate3D", + "Stable3DLoadModels", + "Stable3DPreprocessImage" + ], + { + "title_aux": "ComfyUI Stable3DGen" + } + ], + "https://github.com/leylahviolet/ComfyUI-Violet-Tools": [ + [ + "AestheticAlchemist", + "BodyBard", + "CharacterCurator", + "EncodingEnchantress", + "GlamourGoddess", + "NegativityNullifier", + "OracleOverride", + "PosePriestess", + "QualityQueen", + "SaveSiren", + "SceneSeductress" + ], + { + "title_aux": "iolet Tools \ud83d\udc85" + } + ], "https://github.com/lgldlk/ComfyUI-PC-ding-dong": [ [ "pc ding dong", @@ -17736,6 +42939,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" @@ -17744,6 +42955,14 @@ "title_aux": "comfyui-loadimagewithsubfolder" } ], + "https://github.com/licanhua/ComfyUI-StrokeReveal": [ + [ + "StrokeReveal" + ], + { + "title_aux": "ComfyUI-StrokeReveal" + } + ], "https://github.com/licyk/ComfyUI-HakuImg": [ [ "BlendImage", @@ -17756,8 +42975,11 @@ "Glow", "InOutPaint", "LenDistortion", + "OutlineExpansion", "PixelOE", "Pixelize", + "PreResize", + "SaveImageWithCustomExif", "Sketch", "TiltShift" ], @@ -17765,6 +42987,109 @@ "title_aux": "ComfyUI-HakuImg" } ], + "https://github.com/licyk/ComfyUI-TCD-Sampler": [ + [ + "TCDScheduler" + ], + { + "title_aux": "ComfyUI-TCD-Sampler" + } + ], + "https://github.com/liewcc/ComfyUI-Qwen-Canvas": [ + [ + "QwenCanvas", + "QwenCanvasPlus" + ], + { + "title_aux": "ComfyUI-Qwen-Canvas" + } + ], + "https://github.com/lihaoyun6/ComfyUI-BlindWatermark": [ + [ + "ApplyBlindWatermark", + "ApplyBlindWatermarkAdvanced", + "DecodeBlindWatermark", + "DecodeBlindWatermarkAdvanced", + "EncryptDecryptImage" + ], + { + "title_aux": "ComfyUI-BlindWatermark" + } + ], + "https://github.com/lihaoyun6/ComfyUI-FlashVSR_Ultra_Fast": [ + [ + "FlashVSRInitPipe", + "FlashVSRNode", + "FlashVSRNodeAdv" + ], + { + "title_aux": "ComfyUI-FlashVSR_Ultra_Fast" + } + ], + "https://github.com/lihaoyun6/ComfyUI-NoCache": [ + [ + "NoCacheConfig" + ], + { + "title_aux": "ComfyUI-NoCache" + } + ], + "https://github.com/lihaoyun6/ComfyUI-QwenPromptRewriter": [ + [ + "GeneralPromptRewriter", + "QwenPromptRewriter", + "TextEncodeQwenImageEditAdv", + "TextEncodeQwenImageEditPlusAdv" + ], + { + "title_aux": "Comfyui-QwenPromptRewriter" + } + ], + "https://github.com/lihaoyun6/ComfyUI-Segformer_Ultra_Fast": [ + [ + "Grow_Mask_Ultra_Fast", + "Mask_To_Bbox_SAM2", + "SegformerB2ClothesUltraBatch", + "Segformer_B2_Clothes_Fashion_Labels", + "Segformer_B2_Clothes_Labels" + ], + { + "title_aux": "ComfyUI-Segformer_Ultra_Fast" + } + ], + "https://github.com/liming123332/ComfyUI-Ranbooru": [ + [ + "RanbooruPrompt" + ], + { + "title_aux": "ComfyUI-Ranbooru" + } + ], + "https://github.com/lingha0h/comfyui_kj": [ + [ + "cpm_textInput" + ], + { + "title_aux": "comfyui_kj" + } + ], + "https://github.com/linjian-ufo/ComfyUI_GLM4V_voltspark": [ + [ + "Glm4vBatchNode", + "Glm4vNode" + ], + { + "title_aux": "GLM-4V Image Descriptor" + } + ], + "https://github.com/linjian-ufo/comfyui_deepseek_lj257_update": [ + [ + "DeepSeekChatNode" + ], + { + "title_aux": "DeepSeek Chat Node for ComfyUI" + } + ], "https://github.com/linshier/comfyui-remote-tools": [ [ "LoadBase64(js)", @@ -17775,6 +43100,16 @@ "title_aux": "comfyui-remote-tools" } ], + "https://github.com/lisaks/comfyui-panelforge": [ + [ + "FrameNode", + "PageNode", + "RowNode" + ], + { + "title_aux": "Pixstri ComfyUI Comics" + } + ], "https://github.com/liuqianhonga/ComfyUI-Html2Image": [ [ "CameraWatermark", @@ -17794,11 +43129,56 @@ "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", "ShowTranslateString", + "StringConverter", "StringFormatter", - "StringList" + "StringList", + "StringListFromCSV", + "StringListToCSV", + "StringMatcher", + "StringTranslate", + "TimeFormatter" ], { "title_aux": "ComfyUI-String-Helper" @@ -17830,7 +43210,6 @@ ], "https://github.com/liusida/ComfyUI-Debug": [ [ - "DebugInspectorNode", "DebugModelInspectorNode", "DebugModelPrintOutNode" ], @@ -17838,14 +43217,6 @@ "title_aux": "ComfyUI-Debug" } ], - "https://github.com/liusida/ComfyUI-Login": [ - [ - "LoadImageIncognito" - ], - { - "title_aux": "ComfyUI-Login" - } - ], "https://github.com/liusida/ComfyUI-SD3-nodes": [ [ "SD3EmptyLatent", @@ -17856,16 +43227,42 @@ "title_aux": "ComfyUI-SD3-nodes" } ], + "https://github.com/livepeer/ComfyUI-Stream-Pack": [ + [ + "AudioTranscriptionNode", + "FaceMeshDrawNode", + "FaceMeshMaskNode", + "FaceMeshNode", + "FeatureBankAttentionProcessor", + "SRTGeneratorNode", + "SuperResolutionModelLoader", + "SuperResolutionUpscale" + ], + { + "title_aux": "ComfyUI-Stream-Pack" + } + ], "https://github.com/ljleb/comfy-mecha": [ [ + "Already Loaded Model Mecha Recipe", + "Any Model Mecha Recipe", "Blocks Mecha Hyper", + "Bool Mecha Hyper", "Float Mecha Hyper", + "Int Mecha Hyper", "Lora Mecha Recipe", + "Mecha Converter", "Mecha Deserializer", + "Mecha Merge Method Cache Unit", "Mecha Merger", "Mecha Recipe List", + "Mecha Regex Weights", "Mecha Serializer", - "Model Mecha Recipe" + "Mecha Subtract Recipe List", + "Model Mecha Recipe", + "SD1-LDM Mecha Blocks Parameters", + "SDXL-SGM Mecha Blocks Parameters", + "String Mecha Hyper" ], { "title_aux": "Mecha Merge Node Pack" @@ -17890,8 +43287,6 @@ [ "AnyNode", "AnyNodeAnthropic", - "AnyNodeCodeViewer", - "AnyNodeExport", "AnyNodeGemini", "AnyNodeLocal" ], @@ -17903,16 +43298,60 @@ "title_aux": "ComfyUI AnyNode: Any Node you ask for" } ], + "https://github.com/lldacing/ComfyUI_BEN_ll": [ + [ + "BlurFusionForegroundEstimationForBen", + "GetMaskByBen", + "LoadRembgByBenModel", + "RembgByBen", + "RembgByBenAdvanced" + ], + { + "title_aux": "ComfyUI_BEN_ll" + } + ], "https://github.com/lldacing/ComfyUI_BiRefNet_ll": [ [ "AutoDownloadBiRefNetModel", + "BlurFusionForegroundEstimation", + "GetMaskByBiRefNet", "LoadRembgByBiRefNetModel", - "RembgByBiRefNet" + "RembgByBiRefNet", + "RembgByBiRefNetAdvanced" ], { "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", + "PulidFluxFaceNetLoader", + "PulidFluxInsightFaceLoader", + "PulidFluxModelLoader", + "PulidFluxOptions" + ], + { + "title_aux": "ComfyUI_PuLID_Flux_ll" + } + ], "https://github.com/lldacing/ComfyUI_StableDelight_ll": [ [ "ApplyStableDelight", @@ -17947,12 +43386,15 @@ "CropImageByBbox", "CropTargetSizeImageByBbox", "EmptyOutputNode", + "FilterSortDependSubGraphs", "FilterValueForList", "ForEachClose", "ForEachOpen", "GetImageBatchSize", "GetValueFromJsonObj", + "IfElseForEmptyObject", "ImageEqual", + "ImageSizeGetter", "ImageToBase64", "ImageToBase64Advanced", "IndexOfList", @@ -17978,9 +43420,12 @@ "LoadMaskFromURL", "MaskByBboxes", "MaskImageToBase64", - "MaskToBase64", "MaskToBase64Image", "MaskToRle", + "NodeListMerge", + "NodeListToList", + "NodeListToListMerge", + "NoneNode", "ReadTextFromLocalFile", "RleToMask", "SDBaseVerNumber", @@ -17998,14 +43443,48 @@ "ShowNumber", "ShowString", "SliceList", + "SortDependSubGraphs", "SplitStringToList", "StringArea", - "StringToList" + "StringToList", + "TryFreeMemory" ], { "title_aux": "comfyui-easyapi-nodes" } ], + "https://github.com/llikethat/ComfyUI-faceExtractor": [ + [ + "FaceExtractor", + "FaceMatcher", + "FaceReferenceEmbedding" + ], + { + "title_aux": "faceExtractor for ComfyUI" + } + ], + "https://github.com/llikethat/ComfyUI-iseebetter": [ + [ + "BasicVSRModelLoader", + "BasicVSRUpscale", + "GolfBallArtifactRemover", + "ISeeBetterCleanUpscale", + "ISeeBetterDebugTest", + "ISeeBetterFrameBuffer", + "ISeeBetterModelLoader", + "ISeeBetterSimpleUpscale", + "ISeeBetterUpscale", + "ImageSharpener", + "PerceptualQualityScore", + "SRGANDiscriminatorLoader", + "WaterDetailEnhance", + "WaterEnhancerModelLoader", + "WaterPostProcess" + ], + { + "title_aux": "iSeeBetter Node for ComfyUI" + } + ], "https://github.com/lo-th/Comfyui_three_js": [ [ "ThreeView" @@ -18014,23 +43493,50 @@ "title_aux": "Comfyui_three_js" } ], - "https://github.com/lodestone-rock/ComfyUI_FluxMod": [ + "https://github.com/logicalor/comfyui_friendly_pipe": [ [ - "FluxModCheckpointLoader", - "FluxModCheckpointLoaderMini", - "KSamplerMod", - "SkipLayerForward" + "FriendlyPipeEdit", + "FriendlyPipeIn", + "FriendlyPipeOut" ], { - "title_aux": "ComfyUI_FluxMod" + "title_aux": "comfyui_friendly_pipe" + } + ], + "https://github.com/logicalor/comfyui_multi_replace": [ + [ + "FindReplacePairs", + "TextReplacer" + ], + { + "title_aux": "comfyui_multi_replace" + } + ], + "https://github.com/logicalor/comfyui_path_sanitizer": [ + [ + "PathSanitizer" + ], + { + "title_aux": "comfyui_path_sanitizer" + } + ], + "https://github.com/logicalor/comfyui_text_to_pose": [ + [ + "ApplyT2IPoseAdapter", + "T2IPoseAdapterLoader", + "T2PModelLoader", + "TextToPose", + "TextToPoseBatch" + ], + { + "title_aux": "comfyui_text_to_pose" } ], "https://github.com/logtd/ComfyUI-4DHumans": [ [ "LoadDetectron", "LoadHMR", - "ProcessHumans", - "SelectHuman" + "ProcessHumans" ], { "title_aux": "ComfyUI-4DHumans" @@ -18068,14 +43574,13 @@ ], "https://github.com/logtd/ComfyUI-Fluxtapoz": [ [ - "AddFluxFlow", - "ApplyFluxRaveAttention", - "ApplyRefFlux", "ApplyRegionalConds", "ConfigureModifiedFlux", "CreateRegionalCond", "FlowEditForwardSampler", + "FlowEditGuider", "FlowEditReverseSampler", + "FlowEditSampler", "FluxAttnOverride", "FluxDeGuidance", "FluxForwardODESampler", @@ -18103,6 +43608,7 @@ "InstanceDiffusionTrackingPrompt", "LoadInstanceFusersNode", "LoadInstancePositionNetModel", + "LoadInstanceScaleUModel", "LoadInstanceScaleUNode" ], { @@ -18119,32 +43625,12 @@ "title_aux": "ComfyUI-InversedNoise" } ], - "https://github.com/logtd/ComfyUI-LTXTricks": [ - [ - "AddLatentGuide", - "LTXAttentioOverride", - "LTXAttentionBank", - "LTXAttnOverride", - "LTXForwardModelSamplingPred", - "LTXPerturbedAttention", - "LTXPrepareAttnInjections", - "LTXRFForwardODESampler", - "LTXRFReverseODESampler", - "LTXReverseModelSamplingPred", - "ModifyLTXModel" - ], - { - "title_aux": "ComfyUI-LTXTricks" - } - ], "https://github.com/logtd/ComfyUI-MochiEdit": [ [ "MochiPrepareSigmas", "MochiResampler", "MochiUnsampler", - "MochiWrapperResampler", - "MochiWrapperSamplerCustom", - "MochiWrapperUnsampler" + "MochiWrapperSamplerCustom" ], { "title_aux": "ComfyUI-MochiEdit" @@ -18246,21 +43732,53 @@ "https://github.com/logtd/ComfyUI-ViewCrafter": [ [ "ApplyViewCrafter", - "LoadViewCrafter", - "ScaleImages" + "LoadViewCrafter" ], { "title_aux": "ComfyUI-ViewCrafter" } ], + "https://github.com/lokinou/comfyui-better-flow": [ + [ + "AnyToHash", + "AnyToHashMulti", + "CacheAny", + "OffloadModelv2", + "RecallModelv2", + "RerouteTriggerable", + "Wait", + "WaitMulti" + ], + { + "title_aux": "ComfyUI-Better-Flow" + } + ], + "https://github.com/lokinou/comfyui-offload-models": [ + [ + "OffloadModel", + "RecallModel" + ], + { + "title_aux": "ComfyUI-Offload-Models" + } + ], + "https://github.com/lonelyowl13/artist_randomizer": [ + [ + "AddRandomArtists", + "LoadArtists", + "TextInput" + ], + { + "title_aux": "Artist tag randomizer for comfyui" + } + ], "https://github.com/longgui0318/comfyui-common-util": [ [ "Added Layer Info To Array", "Enhanced Random Light Source", "Float Relay", - "HLFrequencyDetailRestore", + "Hex to Color", "Image Add Alpha", - "Image Frequency Analyzer", "Image Relay", "Image Remove Alpha", "Image Resize With Padding", @@ -18297,6 +43815,7 @@ "Load Magic Clothing Model", "Load Magic Clothing Pipeline", "Load Magic Clothing Pipeline With Path", + "RUN Magic Clothing Adapter", "RUN Magic Clothing Diffusers Model" ], { @@ -18324,6 +43843,28 @@ "title_aux": "comfyui-mask-util" } ], + "https://github.com/loockluo/comfyui-whisperx-pro": [ + [ + "WhisperX SRT Generator" + ], + { + "title_aux": "ComfyUI WhisperX Pro" + } + ], + "https://github.com/lord-lethris/ComfyUI-RPG-Characters": [ + [ + "ModelLikenessSwitch", + "PromptConcatenatorNode", + "PromptConditioningConverter", + "PromptSelectorNode", + "RPGArtStyleSelector", + "RPGCharacterSelector", + "prompt_selector_node" + ], + { + "title_aux": "ComfyUI-RPG-Characters" + } + ], "https://github.com/lordgasmic/comfyui_save_image_with_options": [ [ "SaveImageWithOptions" @@ -18340,12 +43881,103 @@ "title_aux": "comfyui_wildcards" } ], + "https://github.com/lovelybbq/comfyui-custom-node-color": [ + [ + "ConvertHEXToRGB", + "HexColorInput" + ], + { + "title_aux": "ComfyUI Custom Node Color" + } + ], + "https://github.com/lovisdotio/ComfyUI-Replace-First-Frame-Last-Frame": [ + [ + "ReplaceFirstLastFrames" + ], + { + "title_aux": "ComfyUI-Replace-First-Frame-Last-Frame" + } + ], + "https://github.com/loz2754/AUN-ComfyUI-Nodes": [ + [ + "AUNAddToPrompt", + "AUNAny", + "AUNBookmark", + "AUNBoolean", + "AUNCFG", + "AUNCheckpointLoaderWithClipSkip", + "AUNEmptyLatent", + "AUNExtractModelName", + "AUNExtractPowerLoras", + "AUNExtractWidgetValue", + "AUNGetActiveNodeTitle", + "AUNGetConnectedNodeTitles", + "AUNGraphScraper", + "AUNImageLoadResize", + "AUNImageResize", + "AUNImageSingleBatch3", + "AUNImg2Img", + "AUNImgLoader", + "AUNInputs", + "AUNInputsHybrid", + "AUNKSamplerPlusv3", + "AUNModelNamePass", + "AUNModelShorten", + "AUNMultiBypassIndex", + "AUNMultiGroupUniversal", + "AUNMultiMuteIndex", + "AUNMultiNegPrompt", + "AUNMultiUniversal", + "AUNNameCrop", + "AUNNodeStateController", + "AUNPathFilename", + "AUNPathFilenameVideo", + "AUNPathFilenameVideoResolved", + "AUNRandomAnySwitch", + "AUNRandomIndexSwitch", + "AUNRandomNumber", + "AUNRandomTextIndexSwitch", + "AUNSaveImage", + "AUNSaveVideo", + "AUNSetBypassByTitle", + "AUNSetBypassStateGroup", + "AUNSetCollapseAndBypassStateAdvanced", + "AUNSetMuteByTitle", + "AUNSetMuteStateGroup", + "AUNShowTextWithTitle", + "AUNSingleLabelSwitch", + "AUNStrip", + "AUNSwitchFloat", + "AUNTextIndexSwitch", + "AUNTextIndexSwitch3", + "AUNTitleImagePreview", + "AnyType(str)", + "AudioInputOptions", + "JNodes_AnyToString", + "JNodes_ConditioningInOut", + "JNodes_FloatLiteral", + "JNodes_GetCleanFilename", + "JNodes_GetComfyDirectory", + "JNodes_GetLeafDirectory", + "JNodes_GetOutputDirectory", + "JNodes_GetTempDirectory", + "JNodes_IntLiteral", + "JNodes_ModelInOut", + "JNodes_StringLiteral", + "JNodes_SubdirectorySelector", + "JoinVideosInDirectory", + "KSamplerInputs", + "MainFolderManualName", + "TextSwitch2InputWithTextOutput" + ], + { + "title_aux": "AUN ComfyUI Nodes" + } + ], "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": [ [ - "InpaintCrop", - "InpaintExtendOutpaint", - "InpaintResize", - "InpaintStitch" + "InpaintCropImproved", + "InpaintStitchImproved" ], { "title_aux": "ComfyUI-Inpaint-CropAndStitch" @@ -18381,6 +44013,15 @@ "title_aux": "ComfyUI-Prompt-Combinator" } ], + "https://github.com/lrzjason/ComfyUI-Watermark-Detection": [ + [ + "WatermarkDetector", + "WatermarkDetectorLoader" + ], + { + "title_aux": "ComfyUI Watermark Detection Node" + } + ], "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [ [ "AddMaskForICLora", @@ -18401,26 +44042,80 @@ "title_aux": "Comfyui Kolors Utils" } ], + "https://github.com/lrzjason/Comfyui-LatentUtils": [ + [ + "HFEPostProcessor (lrzjason)", + "LatentFrequencyEnhancer_lrzjason" + ], + { + "title_aux": "Comfyui-LatentUtils" + } + ], + "https://github.com/lrzjason/Comfyui-LoraUtils": [ + [ + "ConvertLoraKeys", + "CreateLoraMappingJson", + "LoadLoraOnly", + "LoraAdd", + "LoraLayersOperation", + "LoraSimpleAdd", + "LoraStatViewer", + "MergeLoraToModel", + "SaveLora" + ], + { + "title_aux": "Comfyui-LoraUtils" + } + ], + "https://github.com/lrzjason/Comfyui-QwenEditUtils": [ + [ + "CropWithPadInfo", + "LoadImageReturnFilename", + "QwenEditAdaptiveLongestEdge", + "QwenEditAny2Image", + "QwenEditAny2Latent", + "QwenEditConfigJsonParser", + "QwenEditConfigPreparer", + "QwenEditListExtractor", + "QwenEditOutputExtractor", + "TextEncodeQwenImageEditPlusAdvance_lrzjason", + "TextEncodeQwenImageEditPlusCustom_lrzjason", + "TextEncodeQwenImageEditPlusPro_lrzjason", + "TextEncodeQwenImageEditPlus_lrzjason", + "TextEncodeQwenImageEdit_lrzjason" + ], + { + "title_aux": "Comfyui-QwenEditUtils" + } + ], + "https://github.com/lrzjason/Comfyui-ThinkRemover": [ + [ + "ThinkRemover" + ], + { + "title_aux": "Comfyui-ThinkRemover" + } + ], "https://github.com/ltdrdata/ComfyUI-Impact-Pack": [ [ "AddMask", "AnyPipeToBasic", "BasicPipeToDetailerPipe", "BasicPipeToDetailerPipeSDXL", - "BboxDetectorCombined", "BboxDetectorCombined_v2", - "BboxDetectorForEach", "BboxDetectorSEGS", "BitwiseAndMask", "BitwiseAndMaskForEach", + "BlackPatchRetryHookProvider", "CLIPSegDetectorProvider", "CfgScheduleHookProvider", "CombineRegionalPrompts", "CoreMLDetailerHookProvider", - "CustomNoiseDetailerHookProvider", + "CustomSamplerDetailerHookProvider", "DenoiseScheduleHookProvider", "DenoiseSchedulerDetailerHookProvider", "DetailerForEach", + "DetailerForEachAutoRetry", "DetailerForEachDebug", "DetailerForEachDebugPipe", "DetailerForEachPipe", @@ -18499,11 +44194,14 @@ "ImpactQueueTriggerCountdown", "ImpactRemoteBoolean", "ImpactRemoteInt", + "ImpactSAM2VideoDetectorSEGS", "ImpactSEGSClassify", "ImpactSEGSConcat", + "ImpactSEGSIntersectionFilter", "ImpactSEGSLabelAssign", "ImpactSEGSLabelFilter", "ImpactSEGSMerge", + "ImpactSEGSNMSFilter", "ImpactSEGSOrderedFilter", "ImpactSEGSPicker", "ImpactSEGSRangeFilter", @@ -18513,6 +44211,7 @@ "ImpactSchedulerAdapter", "ImpactSegsAndMask", "ImpactSegsAndMaskForEach", + "ImpactSelectNthItemOfAnyList", "ImpactSetWidgetValue", "ImpactSimpleDetectorSEGS", "ImpactSimpleDetectorSEGSPipe", @@ -18528,15 +44227,15 @@ "IterativeLatentUpscale", "KSamplerAdvancedProvider", "KSamplerProvider", + "LamaRemoverDetailerHookProvider", "LatentPixelScale", "LatentReceiver", "LatentSender", "LatentSwitch", - "MMDetDetectorProvider", - "MMDetLoader", "MaskDetailerPipe", "MaskListToMaskBatch", - "MaskPainter", + "MaskRectArea", + "MaskRectAreaAdvanced", "MaskToSEGS", "MaskToSEGS_for_AnimateDiff", "MasksToMaskList", @@ -18575,13 +44274,10 @@ "SEGSToImageList", "SEGSUpscaler", "SEGSUpscalerPipe", - "SegmDetectorCombined", "SegmDetectorCombined_v2", - "SegmDetectorForEach", "SegmDetectorSEGS", "Segs Mask", "Segs Mask ForEach", - "SegsMaskCombine", "SegsToCombinedMask", "SetDefaultImageForSEGS", "StepsScheduleHookProvider", @@ -18636,7 +44332,6 @@ "CacheBackendDataList //Inspire", "CacheBackendDataNumberKey //Inspire", "CacheBackendDataNumberKeyList //Inspire", - "CacheBridge //Inspire", "Canny_Preprocessor_Provider_for_SEGS //Inspire", "ChangeImageBatchSize //Inspire", "ChangeLatentBatchSize //Inspire", @@ -18649,6 +44344,7 @@ "ConditioningStretch //Inspire", "ConditioningUpscale //Inspire", "DWPreprocessor_Provider_for_SEGS //Inspire", + "DropItems //Inspire", "FakeScribblePreprocessor_Provider_for_SEGS //Inspire", "FloatRange //Inspire", "ForeachListBegin //Inspire", @@ -18672,6 +44368,7 @@ "LeRes_DepthMap_Preprocessor_Provider_for_SEGS //Inspire", "LineArt_Preprocessor_Provider_for_SEGS //Inspire", "ListCounter //Inspire", + "LoadDiffusionModelShared //Inspire", "LoadImage //Inspire", "LoadImageListFromDir //Inspire", "LoadImagesFromDir //Inspire", @@ -18679,6 +44376,7 @@ "LoadPromptsFromDir //Inspire", "LoadPromptsFromFile //Inspire", "LoadSinglePromptFromFile //Inspire", + "LoadTextEncoderShared //Inspire", "LoraBlockInfo //Inspire", "LoraLoaderBlockWeight //Inspire", "MakeBasicPipe //Inspire", @@ -18715,6 +44413,7 @@ "ScheduledCFGGuider //Inspire", "ScheduledPerpNegCFGGuider //Inspire", "SeedExplorer //Inspire", + "SeedLogger //Inspire", "SelectNthMask //Inspire", "ShowCachedInfo //Inspire", "StableCascade_CheckpointLoader //Inspire", @@ -18724,8 +44423,7 @@ "WildcardEncode //Inspire", "WorklistToItemList //Inspire", "XY Input: Lora Block Weight //Inspire", - "ZipPrompt //Inspire", - "Zoe_DepthMap_Preprocessor_Provider_for_SEGS //Inspire" + "ZipPrompt //Inspire" ], { "author": "Dr.Lt.Data", @@ -18736,117 +44434,330 @@ "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/ltdrdata/was-node-suite-comfyui": [ + [ + "BLIP Analyze Image", + "BLIP Model Loader", + "Blend Latents", + "Boolean To Text", + "Bounded Image Blend", + "Bounded Image Blend with Mask", + "Bounded Image Crop", + "Bounded Image Crop with Mask", + "Bus Node", + "CLIP Input Switch", + "CLIP Vision Input Switch", + "CLIPSEG2", + "CLIPSeg Batch Masking", + "CLIPSeg Masking", + "CLIPSeg Model Loader", + "CLIPTextEncode (BlenderNeko Advanced + NSP)", + "CLIPTextEncode (NSP)", + "Cache Node", + "Checkpoint Loader", + "Checkpoint Loader (Simple)", + "Conditioning Input Switch", + "Constant Number", + "Control Net Model Input Switch", + "Convert Masks to Images", + "Create Grid Image", + "Create Grid Image from Batch", + "Create Morph Image", + "Create Morph Image from Path", + "Create Video from Path", + "Debug Number to Console", + "Dictionary to Console", + "Diffusers Hub Model Down-Loader", + "Diffusers Model Loader", + "Export API", + "HSL to Hex", + "Hex to HSL", + "Image Analyze", + "Image Aspect Ratio", + "Image Batch", + "Image Blank", + "Image Blend", + "Image Blend by Mask", + "Image Blending Mode", + "Image Bloom Filter", + "Image Bounds", + "Image Bounds to Console", + "Image Canny Filter", + "Image Chromatic Aberration", + "Image Color Palette", + "Image Crop Face", + "Image Crop Location", + "Image Crop Square Location", + "Image Displacement Warp", + "Image Dragan Photography Filter", + "Image Edge Detection Filter", + "Image Film Grain", + "Image Filter Adjustments", + "Image Flip", + "Image Generate Gradient", + "Image Gradient Map", + "Image High Pass Filter", + "Image History Loader", + "Image Input Switch", + "Image Levels Adjustment", + "Image Load", + "Image Lucy Sharpen", + "Image Median Filter", + "Image Mix RGB Channels", + "Image Monitor Effects Filter", + "Image Nova Filter", + "Image Padding", + "Image Paste Crop", + "Image Paste Crop by Location", + "Image Paste Face", + "Image Perlin Noise", + "Image Perlin Power Fractal", + "Image Pixelate", + "Image Power Noise", + "Image Rembg (Remove Background)", + "Image Remove Background (Alpha)", + "Image Remove Color", + "Image Resize", + "Image Rotate", + "Image Rotate Hue", + "Image SSAO (Ambient Occlusion)", + "Image SSDO (Direct Occlusion)", + "Image Save", + "Image Seamless Texture", + "Image Select Channel", + "Image Select Color", + "Image Send HTTP", + "Image Shadows and Highlights", + "Image Size to Number", + "Image Stitch", + "Image Style Filter", + "Image Threshold", + "Image Tiled", + "Image Transpose", + "Image Voronoi Noise Filter", + "Image fDOF Filter", + "Image to Latent Mask", + "Image to Noise", + "Image to Seed", + "Images to Linear", + "Images to RGB", + "Inset Image Bounds", + "Integer place counter", + "KSampler (WAS)", + "KSampler Cycle", + "Latent Batch", + "Latent Input Switch", + "Latent Noise Injection", + "Latent Size to Number", + "Latent Upscale by Factor (WAS)", + "Load Cache", + "Load Image Batch", + "Load Lora", + "Load Text File", + "Logic Boolean", + "Logic Boolean Primitive", + "Logic Comparison AND", + "Logic Comparison OR", + "Logic Comparison XOR", + "Logic NOT", + "Lora Input Switch", + "Lora Loader", + "Mask Arbitrary Region", + "Mask Batch", + "Mask Batch to Mask", + "Mask Ceiling Region", + "Mask Crop Dominant Region", + "Mask Crop Minority Region", + "Mask Crop Region", + "Mask Dilate Region", + "Mask Dominant Region", + "Mask Erode Region", + "Mask Fill Holes", + "Mask Floor Region", + "Mask Gaussian Region", + "Mask Invert", + "Mask Minority Region", + "Mask Paste Region", + "Mask Rect Area", + "Mask Rect Area (Advanced)", + "Mask Smooth Region", + "Mask Threshold Region", + "Masks Add", + "Masks Combine Batch", + "Masks Combine Regions", + "Masks Subtract", + "MiDaS Depth Approximation", + "MiDaS Mask Image", + "MiDaS Model Loader", + "Model Input Switch", + "Number Counter", + "Number Input Condition", + "Number Input Switch", + "Number Multiple Of", + "Number Operation", + "Number PI", + "Number to Float", + "Number to Int", + "Number to Seed", + "Number to String", + "Number to Text", + "Prompt Multiple Styles Selector", + "Prompt Styles Selector", + "Random Number", + "SAM Image Mask", + "SAM Model Loader", + "SAM Parameters", + "SAM Parameters Combine", + "Samples Passthrough (Stat System)", + "Save Text File", + "Seed", + "String to Text", + "Tensor Batch to Image", + "Text Add Token by Input", + "Text Add Tokens", + "Text Compare", + "Text Concatenate", + "Text Contains", + "Text Dictionary Convert", + "Text Dictionary Get", + "Text Dictionary Keys", + "Text Dictionary New", + "Text Dictionary To Text", + "Text Dictionary Update", + "Text File History Loader", + "Text Find", + "Text Find and Replace", + "Text Find and Replace Input", + "Text Find and Replace by Dictionary", + "Text Input Switch", + "Text List", + "Text List Concatenate", + "Text List to Text", + "Text Load Line From File", + "Text Multiline", + "Text Multiline (Code Compatible)", + "Text Parse A1111 Embeddings", + "Text Parse Noodle Soup Prompts", + "Text Parse Tokens", + "Text Random Line", + "Text Random Prompt", + "Text Shuffle", + "Text Sort", + "Text String", + "Text String Truncate", + "Text to Conditioning", + "Text to Console", + "Text to Number", + "Text to String", + "True Random.org Number Generator", + "Upscale Model Loader", + "Upscale Model Switch", + "VAE Input Switch", + "Video Dump Frames", + "Write to GIF", + "Write to Video", + "unCLIP Checkpoint Loader" + ], + { + "title_aux": "WAS Node Suite (Revised)" + } + ], + "https://github.com/lthero-big/ComfyUI-GaussianShadingWatermark": [ + [ + "DPR_Extractor", + "DPR_GS_Latent", + "DPR_KSamplerAdvanced" + ], + { + "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" } ], - "https://github.com/lucafoscili/comfyui-lf": [ + "https://github.com/lucasgattas/ComfyUI-Egregora-Audio-Super-Resolution": [ [ - "LF_Blend", - "LF_BlurImages", - "LF_Boolean", - "LF_Brightness", - "LF_CharacterImpersonator", - "LF_CheckpointSelector", - "LF_CivitAIMetadataSetup", - "LF_Clarity", - "LF_ColorAnalysis", - "LF_CompareImages", - "LF_Contrast", - "LF_ControlPanel", - "LF_Desaturation", - "LF_DisplayBoolean", - "LF_DisplayFloat", - "LF_DisplayInteger", - "LF_DisplayJSON", - "LF_DisplayPrimitiveAsJSON", - "LF_DisplayString", - "LF_EmbeddingSelector", - "LF_ExtractPromptFromLoraTag", - "LF_ExtractString", - "LF_FilmGrain", - "LF_Float", - "LF_GaussianBlur", - "LF_GetRandomKeyFromJSON", - "LF_GetValueFromJSON", - "LF_ImageClassifier", - "LF_ImageHistogram", - "LF_ImageListFromJSON", - "LF_ImagesEditingBreakpoint", - "LF_ImagesSlideshow", - "LF_Integer", - "LF_IsLandscape", - "LF_KeywordCounter", - "LF_KeywordToggleFromJSON", - "LF_LLMChat", - "LF_LLMMessenger", - "LF_LUTApplication", - "LF_LUTGeneration", - "LF_Line", - "LF_LoadAndEditImages", - "LF_LoadFileOnce", - "LF_LoadImages", - "LF_LoadLocalJSON", - "LF_LoadLoraTags", - "LF_LoadMetadata", - "LF_LoraAndEmbeddingSelector", - "LF_LoraSelector", - "LF_MarkdownDocGenerator", - "LF_MathOperation", - "LF_MultipleImageResizeForWeb", - "LF_Notify", - "LF_ParsePromptWithLoraTags", - "LF_RandomBoolean", - "LF_RegexReplace", - "LF_RegionExtractor", - "LF_ResizeImageByEdge", - "LF_ResizeImageToDimension", - "LF_ResizeImageToSquare", - "LF_ResolutionSwitcher", - "LF_SamplerSelector", - "LF_SaveImageForCivitAI", - "LF_SaveJSON", - "LF_SaveMarkdown", - "LF_SchedulerSelector", - "LF_Sepia", - "LF_SequentialSeedsGenerator", - "LF_SetValueInJSON", - "LF_ShuffleJSONKeys", - "LF_Something2Number", - "LF_Something2String", - "LF_SortJSONKeys", - "LF_String", - "LF_StringReplace", - "LF_StringTemplate", - "LF_StringToJSON", - "LF_SwitchFloat", - "LF_SwitchImage", - "LF_SwitchInteger", - "LF_SwitchJSON", - "LF_SwitchString", - "LF_UpdateUsageStatistics", - "LF_UpscaleModelSelector", - "LF_UrandomSeedGenerator", - "LF_UsageStatistics", - "LF_VAESelector", - "LF_ViewImages", - "LF_Vignette", - "LF_WallOfText", - "LF_WriteJSON" + "ABX Judge", + "ABX Prepare", + "Audio Align (XCorr)", + "Audio Gain Match", + "Audio Gain Match (1770)", + "Audio Null Test", + "Audio Plotter", + "EgregoraAudioUpscaler", + "EgregoraFatLlamaCPU", + "EgregoraFatLlamaGPU", + "Egregora_DAC_Decode", + "Egregora_DAC_Encode", + "Egregora_DeepFilterNet_Denoise", + "Egregora_RNNoise_Denoise", + "Egregora_WPE_Dereverb", + "Loudness Meter (BS1770)", + "Metrics (LSD + SI-SDR)", + "Null Test (Full)", + "Resample Audio (HQ)" ], { - "title_aux": "LF Nodes" + "title_aux": "ComfyUI \u00b7 Egregora Audio Super\u2011Resolution" + } + ], + "https://github.com/lucasgattas/ComfyUI-Egregora-Frames-Animation-Nodes": [ + [ + "AdvancedBatchLoader", + "BatchAnimationProcessor", + "BatchMultiFolderProcessor", + "MultiFormatAnimationEncoder", + "VideoFrameExtractor" + ], + { + "title_aux": "Egregora Frames Animation Nodes for ComfyUI" + } + ], + "https://github.com/lucasgattas/comfyui-egregora-divide-and-enhance": [ + [ + "Egregora Algorithm", + "Egregora Analyze Content", + "Egregora Combine", + "Egregora Divide and Select", + "Egregora Preview", + "Egregora Turbo Prompt" + ], + { + "title_aux": "ComfyUI \u00b7 Egregora: Divide & Enhance" + } + ], + "https://github.com/luckdvr/comfyui-image-annotator": [ + [ + "ImageAnnotator" + ], + { + "title_aux": "comfyui-image-annotator" } ], "https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper": [ @@ -18860,32 +44771,241 @@ "title_aux": "ComfyUI-CatvtonFluxWrapper" } ], + "https://github.com/luke-mino-altherr/ComfyUI-LatentReverb": [ + [ + "LatentReverb" + ], + { + "title_aux": "ComfyUI-Latent-Reverb" + } + ], + "https://github.com/lum3on/ComfyUI-FrameUtilitys": [ + [ + "FrameClipper", + "FrameExtender", + "FrameExtenderAdvanced", + "FrameRepeater", + "FrameReplacer", + "GitInstaller" + ], + { + "title_aux": "ComfyUI-FrameUtilitys" + } + ], + "https://github.com/lum3on/ComfyUI-ModelQuantizer": [ + [ + "ControlNetFP8QuantizeNode", + "ControlNetMetadataViewerNode", + "GGUFQuantizerNode", + "ModelToStateDict", + "QuantizeFP8Format", + "QuantizeModel", + "SaveAsSafeTensor" + ], + { + "title_aux": "ComfyUI-ModelQuantizer" + } + ], + "https://github.com/lum3on/ComfyUI-StableAudioX": [ + [ + "AudioXAdvancedVolumeControl", + "AudioXAudioProcessor", + "AudioXEnhancedTextToAudio", + "AudioXEnhancedTextToMusic", + "AudioXEnhancedVideoToAudio", + "AudioXModelLoader", + "AudioXMultiModalGeneration", + "AudioXPromptHelper", + "AudioXTextToAudio", + "AudioXTextToMusic", + "AudioXVideoAudioCombiner", + "AudioXVideoMuter", + "AudioXVideoToAudio", + "AudioXVideoToMusic", + "AudioXVolumeControl" + ], + { + "title_aux": "ComfyUI-AudioX" + } + ], + "https://github.com/lum3on/ComfyUI_MJ-Scraper": [ + [ + "MJScraper" + ], + { + "title_aux": "ComfyUI Midjourney Scraper Node" + } + ], + "https://github.com/lum3on/ComfyUI_NativeBlockSwap": [ + [ + "wanBlockSwap" + ], + { + "title_aux": "ComfyUI_NativeBlockSwap" + } + ], + "https://github.com/lum3on/ComfyUI_Reve-API": [ + [ + "ReveAPI" + ], + { + "title_aux": "ComfyUI Reve API Integration Node" + } + ], + "https://github.com/lum3on/comfyui_EdgeTAM": [ + [ + "EdgeTAMVideoTracker", + "InteractiveMaskEditor" + ], + { + "title_aux": "comfyui_EdgeTAM" + } + ], + "https://github.com/lum3on/comfyui_HiDream-Sampler": [ + [ + "HiDreamImg2Img", + "HiDreamSampler", + "HiDreamSamplerAdvanced" + ], + { + "title_aux": "HiDream Sampler" + } + ], + "https://github.com/lum3on/comfyui_LLM_Polymath": [ + [ + "ConceptEraserNode", + "flux_context_preset", + "polymath_SaveAbsolute", + "polymath_StringListPicker", + "polymath_TextSplitter", + "polymath_chat", + "polymath_helper", + "polymath_scraper", + "polymath_settings", + "polymath_text_mask" + ], + { + "title_aux": "comfyui_LLM_Polymath" + } + ], "https://github.com/lumalabs/ComfyUI-LumaAI-API": [ [ "CharacterReference", "ConcatReferences", "ImgBBUpload", "LumaAIClient", + "LumaAddAudio2Video", + "LumaCharacterReference", + "LumaConcatReferences", "LumaExtendGeneration", "LumaImage2Video", "LumaImageGeneration", "LumaInterpolateGenerations", "LumaModifyImage", "LumaPreviewVideo", + "LumaReference", "LumaText2Video", + "LumaUpscaleGeneration", "Reference" ], { "title_aux": "ComfyUI-LumaAI-API" } ], - "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": [ + "https://github.com/lunarring/bitalino_comfy": [ [ - "Custom Date Format | sokes \ud83e\uddac", - "Latent Switch x9 | sokes \ud83e\uddac" + "LR BitalinoReceiver" ], { - "title_aux": "ComfyUI Sokes Nodes" + "title_aux": "bitalino_comfy" + } + ], + "https://github.com/luoq24/ydem_nodes": [ + [ + "YDemExampleNode", + "YDemFaceDirection", + "YDemImageProcessor" + ], + { + "title_aux": "ydem_nodes" + } + ], + "https://github.com/luxdelux7/ComfyUI-Forbidden-Vision": [ + [ + "ForbiddenVisionFaceEditMerge", + "ForbiddenVisionFaceEditPrep", + "ForbiddenVisionFaceFixerMaskOnly", + "ForbiddenVisionFaceProcessorIntegrated", + "ForbiddenVisionInpaintLite", + "ForbiddenVisionRebuilder", + "LatentBuilder", + "LatentRefiner", + "SamplerSchedulerSettings" + ], + { + "nodename_pattern": "ForbiddenVision", + "title_aux": "Forbidden Vision" + } + ], + "https://github.com/lxe/ComfyUI-OpenAI-Compat-LLM-Node": [ + [ + "OpenAILLMNode" + ], + { + "title_aux": "ComfyUI OpenAI Compatible LLM Node" + } + ], + "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": [ + [ + "ComfyUI Folder Paths | sokes \ud83e\uddac", + "Current Date and Time | sokes \ud83e\uddac", + "Generate Random Background | sokes \ud83e\uddac", + "Get Files in Folder with Extension | sokes \ud83e\uddac", + "Hex Color Swatch | sokes \ud83e\uddac", + "Hex to Color Name | sokes \ud83e\uddac", + "Image Picker | sokes \ud83e\uddac", + "Latent Switch x9 | sokes \ud83e\uddac", + "Load Random Image | sokes \ud83e\uddac", + "Random Hex Color | sokes \ud83e\uddac", + "Random Number | sokes \ud83e\uddac", + "Replace Text with RegEx | sokes \ud83e\uddac", + "Runpod Serverless | sokes \ud83e\uddac", + "Street View Loader | sokes \ud83e\uddac" + ], + { + "title_aux": "ComfyUI Sokes Nodes \ud83e\uddac" + } + ], + "https://github.com/m3rr/h4_ToolKit": [ + [ + "h4AxisDriver", + "h4DebugATron3000", + "h4DebugATron3000Console", + "h4DebugATronRouter", + "h4ExecutionLogger", + "h4PlotXY", + "h4SeedBroadcaster", + "h4Varianator" + ], + { + "title_aux": "h4 ToolKit" + } + ], + "https://github.com/maartenharms/comfyui-flowpath": [ + [ + "FlowPath" + ], + { + "title_aux": "FlowPath" + } + ], + "https://github.com/maartenharms/comfyui-promptflow": [ + [ + "PromptFlowCore", + "PromptFlowVariations" + ], + { + "title_aux": "PromptFlow" } ], "https://github.com/maepopi/Diffusers-in-ComfyUI": [ @@ -18904,16 +45024,189 @@ "title_aux": "Diffusers-in-ComfyUI" } ], - "https://github.com/magic-quill/ComfyUI_MagicQuill": [ + "https://github.com/magekinnarus/ComfyUI-V-Prediction-Node": [ [ - "MagicQuill" + "DJ_PromptPresets", + "DJ_V_Prediction", + "DJ_cliploader" ], { - "author": "Zichen LIU (https://zliucz.github.io/) and Yue YU (https://bruceyyu.github.io/)", - "description": "Official ComfyUI Implementations for Paper - MagicQuill: An Intelligent Interactive Image Editing System", - "nickname": "MagicQuill nodes", - "title": "MagicQuill", - "title_aux": "ComfyUI_MagicQuill" + "title_aux": "ComfyUI-V-Prediction-Node" + } + ], + "https://github.com/magic-eraser-org/ComfyUI-Unwatermark": [ + [ + "Remove Watermark" + ], + { + "title_aux": "ComfyUI-Unwatermark" + } + ], + "https://github.com/maikgreubel/comfyui-loaddds": [ + [ + "Load DDS File" + ], + { + "title_aux": "Load DDS File Node" + } + ], + "https://github.com/malkuthro/ComfyUI-Koolook": [ + [ + "ACES2OutputTransform", + "ARRIWideGamut4", + "ColorSpaceConvert", + "CustomCropArea", + "CustomRefineOption", + "DaVinciWideGamut", + "EasyAIPipeline", + "EasyResize", + "EasyWan22Prompt", + "Easy_Version", + "FXTDAIUpscale", + "FXTDBitDepthConvert", + "FXTDCameraShake", + "FXTDCinematicPromptEncoder", + "FXTDCompressionArtifacts", + "FXTDDepthOfField", + "FXTDDownscale32bit", + "FXTDEXRChannelMerge", + "FXTDFilmGrain", + "FXTDFilmGrainAdvanced", + "FXTDFilmLook", + "FXTDHelp", + "FXTDLensEffects", + "FXTDMotionBlur", + "FXTDPhysicalCamera", + "FXTDProFilmEffects", + "FXTDProUpscale", + "FXTDRadianceLoader", + "FXTDRealisticGrain", + "FXTDResolution", + "FXTDRollingShutter", + "FXTDSaveEXR", + "FXTDSaveEXRCryptomatte", + "FXTDSaveEXRMultiLayer", + "FXTDSaveEXRSequence", + "FXTDUpscaleBySize", + "FXTDUpscaleTiled", + "FXTDWhiteBalance", + "FXTD_DepthMapGenerator", + "FXTD_Grade", + "FXTD_RadianceViewer", + "FXTD_Radiance_Sampler_Pro", + "Float32ColorCorrect", + "GPUTensorOps", + "HDR360Generate", + "HDRExpandDynamicRange", + "HDRExposureBlend", + "HDRHistogram", + "HDRShadowHighlightRecovery", + "HDRToneMap", + "ImageToFloat32", + "KoolookLoadCameraPosesAbsolute", + "LoadImageEXR", + "LoadImageEXRSequence", + "LogCurveDecode", + "LogCurveEncode", + "NAGParamtersSetting", + "OCIOColorTransform", + "OCIOListColorspaces", + "RadianceGPUColorMatrix", + "RadianceLUTApply", + "RadianceLogCurveDecode", + "RadianceOCIOColorTransformV2", + "RadianceVAEDecode", + "RadianceVAEEncode", + "RefineTest", + "RegionalBatchPrompt", + "SaveHDRI", + "SaveImage16bit", + "SaveImageEXR", + "SuperUltimateVACEUpscale", + "VACEControlImageCombine", + "VACEPromptCheckTotalFrame", + "VACEPromptCombine", + "VaceFunLongVideo", + "VaceLongVideo", + "WanVideoFunCameraEmbeds", + "easy_ImageBatch" + ], + { + "title_aux": "ComfyUI-Koolook" + } + ], + "https://github.com/mamorett/ComfyUI-Flux2proReplicate": [ + [ + "Flux2ProGenerator", + "ReplicateAuthNode" + ], + { + "title_aux": "ComfyUI-Flux2proReplicate" + } + ], + "https://github.com/mamorett/ComfyUI_minicpmv4": [ + [ + "GenCheckerImage", + "MiniCPMV4GGUFLoader", + "MiniCPMV4VisionInfer", + "VisionPromptBuilder" + ], + { + "title_aux": "MiniCPM\u2011V\u20114 (GGUF) for ComfyUI" + } + ], + "https://github.com/mang01010/MangoNodePack": [ + [ + "CompositeMangoLoader", + "FluxGuidanceMango", + "FluxSamplerMango", + "ImageSaverMango", + "KSamplerMango", + "LatentImageMango", + "LoraStackMango", + "MangoImageLoader", + "MangoLoader", + "MangoLoader10Loras", + "MangoModelData", + "MangoPromptLoad", + "MangoTriggerExporter", + "PromptEmbedMango", + "PromptMango", + "PromptSave" + ], + { + "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/mangobyed/ComfyUI_Detection_List": [ + [ + "YOLOv8ObjectDetectionNode" + ], + { + "title_aux": "ComfyUI YOLOv8 Object Detection Node" + } + ], + "https://github.com/manifestations/comfyui-globetrotter": [ + [ + "LoRATrainerNode", + "OllamaLLMNode", + "OllamaVisionNode", + "TextCombinerNode" + ], + { + "title_aux": "ComfyUI Globetrotter Nodes" } ], "https://github.com/mape/ComfyUI-mape-Helpers": [ @@ -18936,6 +45229,85 @@ "title_aux": "ComfyUI-SubjectStyle-CSV" } ], + "https://github.com/marawan206/ComfyUI-FaceCropper": [ + [ + "NodoFaceCropping" + ], + { + "title_aux": "Face Cropper Node (2:3 Ratio)" + } + ], + "https://github.com/marco-zanella/ComfyUI-BooleanExpression": [ + [ + "BooleanExpression.And", + "BooleanExpression.ArithmenticComparison.BinaryComparison", + "BooleanExpression.ArithmenticComparison.EqualTo", + "BooleanExpression.ArithmenticComparison.GreaterThan", + "BooleanExpression.ArithmenticComparison.GreaterThanOrEqualTo", + "BooleanExpression.ArithmenticComparison.LessThan", + "BooleanExpression.ArithmenticComparison.LessThanOrEqualTo", + "BooleanExpression.ArithmenticComparison.NotEqualTo", + "BooleanExpression.BinaryExpression", + "BooleanExpression.ConditionalBranch", + "BooleanExpression.False", + "BooleanExpression.Nand", + "BooleanExpression.Nor", + "BooleanExpression.Not", + "BooleanExpression.Or", + "BooleanExpression.StringComparison.AlphabeticalEqualTo", + "BooleanExpression.StringComparison.AlphabeticalGreaterThan", + "BooleanExpression.StringComparison.AlphabeticalGreaterThanOrEqualTo", + "BooleanExpression.StringComparison.AlphabeticalLessThan", + "BooleanExpression.StringComparison.AlphabeticalLessThanOrEqualTo", + "BooleanExpression.StringComparison.AlphabeticalNotEqualTo", + "BooleanExpression.StringComparison.Contains", + "BooleanExpression.StringComparison.EndsWith", + "BooleanExpression.StringComparison.NotContains", + "BooleanExpression.StringComparison.NotEndsWith", + "BooleanExpression.StringComparison.NotStartsWith", + "BooleanExpression.StringComparison.StartsWith", + "BooleanExpression.StringComparison.StringComparison", + "BooleanExpression.True", + "BooleanExpression.Xor" + ], + { + "title_aux": "ComfyUI-BooleanExpression" + } + ], + "https://github.com/marcoc2/ComfyUI-AnotherUtils": [ + [ + "AdaptiveNoise", + "CIELChNoiseGEGLLike", + "CharacterConstructor", + "CharacterRandomizer", + "CustomCrop", + "FightingGameCharacter", + "ImageTypeDetector", + "LastImage", + "LoadImageRemoveAlpha", + "LoadImagesOriginal", + "MeanCurvatureBlurGEGLLike", + "NearestUpscale", + "PixelArtConverter", + "PixelArtConverterParallel", + "PixelArtNormalizer", + "RGBNoiseGEGLLike", + "RemoveAlpha", + "SmartResize", + "WalkingPoseGenerator" + ], + { + "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" @@ -18944,6 +45316,32 @@ "title_aux": "Flux Prompt Enhance Node for ComfyUI" } ], + "https://github.com/marduk191/ComfyUI-ZImageTurboHQNodes": [ + [ + "ZImageTurboConditioning", + "ZImageTurboLatentInit", + "ZImageTurboSampler", + "ZImageTurboSamplerAdvanced", + "ZImageTurboSamplingPlan", + "ZImageTurboSeedControl", + "ZImageTurboSinglePromptConditioning", + "ZImageTurboSinglePromptConditioningAdvanced", + "ZImageTurboTwoPassRefiner", + "ZImageTurboTwoPassRefinerAdvanced" + ], + { + "title_aux": "ComfyUI-ZImageTurboHQNodes" + } + ], + "https://github.com/marduk191/ComfyUI_LFM2-350M": [ + [ + "LFM2Generator", + "LFM2Loader" + ], + { + "title_aux": "ComfyUI_LFM2-350M" + } + ], "https://github.com/marduk191/comfyui-marnodes": [ [ "ImageToDevice", @@ -18960,6 +45358,18 @@ "title_aux": "marduk191 workflow settings" } ], + "https://github.com/marduk191/comfyui_qwen_runninghub": [ + [ + "RunningHubImageEnhancer", + "RunningHubImageToImage", + "RunningHubImageToVideo", + "RunningHubLoadImage", + "RunningHubTextToImage" + ], + { + "title_aux": "comfyui_qwen_runninghub" + } + ], "https://github.com/marhensa/sdxl-recommended-res-calc": [ [ "RecommendedResCalc" @@ -18968,6 +45378,31 @@ "title_aux": "Recommended Resolution Calculator" } ], + "https://github.com/marklieberman/ComfyUI-Liebs-Picker": [ + [ + "LiebsPicker", + "LiebsPickerSEGS" + ], + { + "title_aux": "ComfyUI-Liebs-Picker" + } + ], + "https://github.com/marklieberman/ComfyUI-Liebs-Title": [ + [ + "LiebsTitleVar" + ], + { + "title_aux": "ComfyUI-Liebs-Title" + } + ], + "https://github.com/marklieberman/ComfyUI-Liebs-Toast": [ + [ + "LiebsToast" + ], + { + "title_aux": "ComfyUI-Liebs-Toast" + } + ], "https://github.com/markuryy/ComfyUI-Flux-Prompt-Saver": [ [ "FluxPromptSaver", @@ -18978,16 +45413,55 @@ "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": [ [ + "LatentToRGB", "PreviewLatent", "PreviewLatentAdvanced", + "PreviewLatentFlux", "PreviewLatentXL" ], { "title_aux": "comfyui-previewlatent" } ], + "https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes": [ + [ + "EmptyZImageLatentImage", + "IllustrationStylePromptEncoder", + "MyTop10Styles", + "MyTop10StylesEditor", + "PhotoStylePromptEncoder", + "SaveImage", + "StylePromptEncoder", + "StylePromptEncoder2", + "StyleStringInjector", + "StyleStringInjector2", + "ZSamplerTurbo", + "ZSamplerTurboAdvanced" + ], + { + "title_aux": "ComfyUI-ZImagePowerNodes" + } + ], "https://github.com/massao000/ComfyUI_aspect_ratios": [ [ "Aspect Ratios Node" @@ -19001,6 +45475,7 @@ "AlwaysExecute", "CommandPickerServing", "DiscordServing", + "HTTPServing", "ServingInputImage", "ServingInputImageAsLatent", "ServingInputNumber", @@ -19016,14 +45491,36 @@ "title_aux": "ComfyUI Serving toolkit" } ], + "https://github.com/matorzhin/milan-nodes-comfyui": [ + [ + "LoadMultipleImagesExtended", + "LoadOneImageExtended" + ], + { + "title_aux": "milan-nodes-comfyui" + } + ], + "https://github.com/matthewfriedrichs/ComfyUI-ThoughtBubble": [ + [ + "ThoughtBubbleNode" + ], + { + "title_aux": "Thought Bubble" + } + ], "https://github.com/mattjohnpowell/comfyui-lmstudio-image-to-text-node": [ [ - "LM Studio Image To Text", - "LM Studio Text Generation" + "Expo Lmstudio Image To Text", + "Expo Lmstudio Text Generation", + "Expo Lmstudio Unified", + "ExpoLmstudioImageToText", + "ExpoLmstudioTextGeneration", + "ExpoLmstudioUnified", + "Random List Picker" ], { "author": "Matt John Powell", - "description": "This extension provides two custom nodes for ComfyUI that integrate LM Studio's capabilities:", + "description": "This extension provides three custom nodes for ComfyUI that integrate LM Studio's capabilities:", "nickname": "LM Studio Nodes", "title": "LM Studio Nodes for ComfyUI", "title_aux": "LM Studio Image to Text Node for ComfyUI" @@ -19039,6 +45536,68 @@ "title_aux": "Facerestore CF (Code Former)" } ], + "https://github.com/max-dingsda/OllamaTools": [ + [ + "OllamaPicDescriber", + "OllamaPromptBooster", + "PromptStylist" + ], + { + "title_aux": "OllamaTools for ComfyUI" + } + ], + "https://github.com/maxczc/comfyui-sora-node": [ + [ + "SoraImageToVideo", + "SoraTextToVideo", + "SoraVideoToVideo" + ], + { + "title_aux": "comfyui-sora-node" + } + ], + "https://github.com/maximilianwicen/ComfyUI-MaxTools": [ + [ + "MaxQuickImageSize" + ], + { + "title_aux": "ComfyUI-MaxTools" + } + ], + "https://github.com/maxious/comfyui-dap": [ + [ + "DAP_ERP_to_Cubemap", + "DAP_Inference", + "DAP_Loader", + "DAP_Normal_Map", + "DAP_Panoramic_Mesh" + ], + { + "title_aux": "comfyui-dap" + } + ], + "https://github.com/maxmad62/ComfyUI-DiscordWebhookWithInput": [ + [ + "DiscordPostViaWebhook", + "DiscordPostViaWebhookWithInput", + "DiscordSetWebhook" + ], + { + "author": "Dayuppy", + "description": "A very simple Discord webhook integration node for ComfyUI that lets you post images and text.", + "nickname": "DiscordWebhook", + "title": "Discord Webhook", + "title_aux": "ComfyUI-DiscordWebhookWithInput" + } + ], + "https://github.com/mayunejie/ComfyUI-Allen-Yinpin": [ + [ + "AllenYinpin" + ], + { + "title_aux": "ComfyUI-Allen-Yinpin" + } + ], "https://github.com/mbrostami/ComfyUI-HF": [ [ "GPT2Node" @@ -19049,13 +45608,50 @@ ], "https://github.com/mbrostami/ComfyUI-TITrain": [ [ - "TextualInversionTraining", - "TextualInversionTrainingSDXL" + "TextualInversionTraining" ], { "title_aux": "ComfyUI-TITrain" } ], + "https://github.com/mcDandy/more_math": [ + [ + "mrmth_AudioMathNode", + "mrmth_AudioToImageSpectrogram", + "mrmth_BoolToInt", + "mrmth_CLIPMathNode", + "mrmth_ConditioningMathNode", + "mrmth_FloatMathNode", + "mrmth_FloatToInt", + "mrmth_ImageMathNode", + "mrmth_ImageSpectrogramToAudio", + "mrmth_IntToBool", + "mrmth_IntToFloat", + "mrmth_LatentMathNode", + "mrmth_MaskMathNode", + "mrmth_ModelMathNode", + "mrmth_NoiseMathNode", + "mrmth_ScriptInput", + "mrmth_VAEMathNode", + "mrmth_VideoMathNode", + "mrmth_ag_AudioMathNode", + "mrmth_ag_CLIPMathNode", + "mrmth_ag_ConditioningMathNode", + "mrmth_ag_FloatMathNode", + "mrmth_ag_GuiderMathNode", + "mrmth_ag_ImageMathNode", + "mrmth_ag_LatentMathNode", + "mrmth_ag_MaskMathNode", + "mrmth_ag_ModelMathNode", + "mrmth_ag_NoiseMathNode", + "mrmth_ag_SigmasMathNode", + "mrmth_ag_VAEMathNode", + "mrmth_ag_VideoMathNode" + ], + { + "title_aux": "More Math" + } + ], "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding": [ [ "DynamicThresholdingFull", @@ -19065,6 +45661,16 @@ "title_aux": "Dynamic Thresholding" } ], + "https://github.com/meanin2/comfyui-MGnodes": [ + [ + "FluxKontextDiffMerge", + "ImageWatermarkNode", + "TextExtractorNode" + ], + { + "title_aux": "comfyui-MGnodes" + } + ], "https://github.com/meap158/ComfyUI-Background-Replacement": [ [ "BackgroundReplacement", @@ -19099,6 +45705,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)", @@ -19167,6 +45791,36 @@ "title_aux": "MTB Nodes" } ], + "https://github.com/melMass/comfy_oiio": [ + [ + "OIIO_ColorspaceConvert", + "OIIO_ColorspaceMatchFinder", + "OIIO_LoadImage", + "OIIO_SaveImage" + ], + { + "title_aux": "comfy-oiio" + } + ], + "https://github.com/mengqin/ComfyUI-TwinFlow": [ + [ + "TwinFlowKSampler", + "TwinFlowPatcher", + "TwinFlowSampler", + "TwinFlowScheduler" + ], + { + "title_aux": "Twinflow Node for ComfyUI" + } + ], + "https://github.com/mengqin/ComfyUI-UnetBnbModelLoader": [ + [ + "UnetBnbModelLoader" + ], + { + "title_aux": "Unet Bnb Model Loader" + } + ], "https://github.com/mephisto83/petty-paint-comfyui-node": [ [ "ConvertWhiteToAlpha", @@ -19225,6 +45879,26 @@ "title_aux": "petty-paint-comfyui-node" } ], + "https://github.com/mercu-lore/-Multiple-Angle-Camera-Control": [ + [ + "CameraControlPromptNode", + "RelightingPromptNode" + ], + { + "title_aux": "Multiple-Angle-Camera-Control" + } + ], + "https://github.com/mercu-lore/BoxBox": [ + [ + "BoxCrop", + "BoxReinsert", + "BoxResize", + "BoxSelector" + ], + { + "title_aux": "BoxBox" + } + ], "https://github.com/meshmesh-io/ComfyUI-MeshMesh": [ [ "ColorPicker", @@ -19263,13 +45937,21 @@ "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", "BBOXResize", "ImageResizeKeepRatio", - "PrimitiveBBOX", - "RaiseError" + "PrimitiveBBOX" ], { "title_aux": "comfyui_met_suite" @@ -19277,15 +45959,24 @@ ], "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext": [ [ - "Add zSNR Sigma max", + "ArctanScheduler", "ConcatSigmas", "CosineScheduler", + "CustomBaseLogarithm", + "CustomExponent", "GaussianScheduler", "InvertSigmas", "LogNormal Scheduler", "OffsetSigmas", + "Parametric Peak #1", "PerpNegScheduledCFGGuider", - "ScheduledCFGGuider" + "PredefinedExponent", + "PredefinedLogarithm", + "ScaleToRange", + "ScheduledCFGGuider", + "SigmasToPower", + "SplitSigmasByValue", + "k/x scheduler" ], { "title_aux": "ComfyUI-ScheduledGuider-Ext" @@ -19320,6 +46011,52 @@ "title_aux": "ComfyUI-Miaoshouai-Tagger" } ], + "https://github.com/miaoshouai/ComfyUI-Video-Segmentation": [ + [ + "DownloadAndLoadTransNetModel", + "SelectVideo", + "TransNetV2_Run", + "ZipCompress" + ], + { + "title_aux": "ComfyUI Video Segmentation Node" + } + ], + "https://github.com/michaelgold/ComfyUI-HF-Model-Downloader": [ + [ + "DownloadModel", + "ModelDownloader" + ], + { + "title_aux": "ComfyUI-HF-Model-Downloader" + } + ], + "https://github.com/mickmumpitz/ComfyUI-Mickmumpitz-Nodes": [ + [ + "AnchorFrameExtractor", + "BatchColorCorrector", + "BoundaryFrameExtractor", + "BoundaryFrameSplicer", + "ContextImageExtractor", + "ControlEndFrameExtractor", + "ControlImageSlicer", + "EndFrameInjector", + "FrameAccumulator", + "FrameContextFit", + "IterVideoRouter", + "IterationSwitch", + "PreprocessSettings", + "PreprocessSettingsSimple", + "PreprocessSettingsSingle", + "PreprocessSwitch", + "PreviewBridge", + "ResolutionPicker", + "WanResolutionPicker" + ], + { + "title_aux": "Mickmumpitz-Nodes" + } + ], "https://github.com/microbote/ComfyUI-StyledCLIPTextEncode": [ [ "StyledCLIPTextEncode" @@ -19328,6 +46065,15 @@ "title_aux": "StyledCLIPTextEncode" } ], + "https://github.com/migero/ComfyUI-Equirectangular-Strip": [ + [ + "EquirectToStrip90", + "Strip90ToEquirect" + ], + { + "title_aux": "ComfyUI-Equirectangular-Strip" + } + ], "https://github.com/mihaiiancu/ComfyUI_Inpaint": [ [ "InpaintMediapipe" @@ -19344,6 +46090,57 @@ "title_aux": "Transparent-background-comfyUI" } ], + "https://github.com/mikecaronna/comfyui_c2pa_signer": [ + [ + "C2PASigner", + "C2PAVerifier" + ], + { + "title_aux": "C2PA Image Signer - ComfyUI Custom Node" + } + ], + "https://github.com/mikemojen/ComfyUI-HappNodeSet": [ + [ + "AutoCrop", + "CSVValueExtractor", + "ColorQuantizer", + "DashedToSolidLine", + "ExtractBlack", + "ExtractBlackAdvanced", + "ExtractRed", + "LineDetector", + "NonWhiteToBlack", + "NumberStringCleanup", + "RasterToUniformSVG", + "RoundDownNode", + "RoundUpNode", + "SVGDimensions", + "SVGPathLength", + "SVGPathLengthDetailed" + ], + { + "title_aux": "ComfyUI-HappNodeSet" + } + ], + "https://github.com/mikeshuangyan/ComfyUI_MqUtils": [ + [ + "MqCheckFP4Support", + "MqIntSwitch", + "MqIntToString", + "MqTextSplitter" + ], + { + "title_aux": "ComfyUI_MqUtils" + } + ], + "https://github.com/mikheys/comfyui-gemini-mikheys": [ + [ + "Nano_Banana" + ], + { + "title_aux": "ComfyUI Nano Banana Node" + } + ], "https://github.com/mikkel/ComfyUI-text-overlay": [ [ "Image Text Overlay" @@ -19360,6 +46157,15 @@ "title_aux": "ComfyUI - Mask Bounding Box" } ], + "https://github.com/mingchoi/ComfyUI-Prompt-Iterator": [ + [ + "PromptIterator", + "PromptTemplateIterator" + ], + { + "title_aux": "ComfyUI-Prompt-Iterator" + } + ], "https://github.com/mingsky-ai/ComfyUI-MingNodes": [ [ "AddWaterMarkNode", @@ -19377,6 +46183,30 @@ "title_aux": "ComfyUI-MingNodes" } ], + "https://github.com/mingyi456/ComfyUI-DFloat11-Extended": [ + [ + "CheckpointLoaderWithDFloat11", + "DFloat11CheckpointCompressor", + "DFloat11Decompressor", + "DFloat11DiffusersModelLoader", + "DFloat11LoadingPatch", + "DFloat11ModelCompressor", + "DFloat11ModelLoader", + "DFloat11ModelLoaderAdvanced" + ], + { + "title_aux": "ComfyUI DFloat11 Extended" + } + ], + "https://github.com/mira-6/comfyui-sasolver": [ + [ + "SamplerSASolver", + "SamplerSASolverExperimental" + ], + { + "title_aux": "comfyui-sasolver" + } + ], "https://github.com/mirabarukaso/ComfyUI_Mira": [ [ "BooleanListInterpreter1", @@ -19385,6 +46215,7 @@ "CanvasCreatorAdvanced", "CanvasCreatorBasic", "CanvasCreatorSimple", + "CheckpointLoaderSimpleMira", "CreateMaskWithCanvas", "CreateNestedPNGMask", "CreateSimpleMask", @@ -19394,13 +46225,16 @@ "EightFloats", "EvenOrOdd", "EvenOrOddList", + "FlatColorQuantization", "FloatListInterpreter1", "FloatListInterpreter4", "FloatListInterpreter8", "FloatMultiplication", "FourBooleanTrigger", "FourFloats", + "FunctionSelectAuto", "FunctionSwap", + "GzippedBase64ToImage", "ImageBrightness", "ImageColorTransferMira", "ImageContrast", @@ -19409,12 +46243,15 @@ "ImageHUE", "ImageRGBChannel", "ImageSaturation", + "ImageSaverMira", "ImageSharpness", + "ImageToGzippedBase64", "ImageToneCurve", "IntMultiplication", "IntSubtraction", "IntToFloatMultiplication", "LoRALoaderWithNameStacker", + "LoRAfromText", "LogicNot", "NoneToZero", "NumeralToString", @@ -19427,14 +46264,16 @@ "PngRectanglesToMaskList", "RandomNestedLayouts", "RandomTillingLayouts", + "ReverseImageAndAllImages", "SN74HC1G86", "SN74HC86", "SN74LVC1G125", "SeedGeneratorMira", "SingleBooleanTrigger", "SixBooleanTrigger", + "StackImages", "StepsAndCfg", - "TextBox", + "TextBoxMira", "TextCombinerSix", "TextCombinerTwo", "TextLoopCombiner", @@ -19443,12 +46282,45 @@ "TextWildcardSeprator", "TextWithBooleanSwitchAndCommonTextInput", "TwoBooleanTrigger", - "TwoFloats" + "TwoFloats", + "UpscaleImageByModelThenResize", + "camie_tagger_mira", + "cl_tagger_mira", + "illustrious_character_select", + "illustrious_character_select_en", + "llm_prompt_gen_node", + "local_llm_prompt_gen", + "wd_tagger_mira" ], { "title_aux": "ComfyUI_Mira" } ], + "https://github.com/mirabarukaso/ComfyUI_MiraSubPack": [ + [ + "ImageCropTilesByPixels_MiraSubPack", + "ImageCropTiles_MiraSubPack", + "ImageMergeByPixelAlign_MiraSubPack", + "ImageTiledKSamplerWithTagger_MiraSubPack", + "JoyCaptionBetaOneSimple_MiraSubPack", + "JoyCaptionNodeBetaOne_MiraSubPack", + "LatentUpscaleAndCropTiles_MiraSubPack", + "MiraITUPipelineCombine_MiraSubPack", + "MiraITUPipelineExtract_MiraSubPack", + "MiraImageUpscaleCalculator_MiraSubPack", + "OverlappedImageMerge_MiraSubPack", + "OverlappedLatentMerge_MiraSubPack", + "Qwen3VL_MiraSubPack", + "TextEncodeQwenImageEditPlus_MiraSubPack", + "TextEncodeQwenImageEdit_MiraSubPack", + "TiledImageColorCorrection_MiraSubPack", + "VAEDecode_MiraSubPack", + "VAEEncode_MiraSubPack" + ], + { + "title_aux": "ComfyUI_MiraSubPack" + } + ], "https://github.com/misterjoessef/MLTask_ComfyUI": [ [ "FacebookPosterData", @@ -19467,34 +46339,22 @@ "title_aux": "MLTask_ComfyUI" } ], - "https://github.com/mithamunda/ComfyUI-SD3.5-Latent-Size-Picker": [ + "https://github.com/mittimi/ComfyUI_mittimiDaisyChainText": [ [ - "SD3_5EmptyLatent" + "DaisyChainTextMittimi" ], { - "title_aux": "SD3.5 Empty Latent Size Picker" - } - ], - "https://github.com/mithamunda/ComfyUI-TogetherVision": [ - [ - "Together Vision \ud83d\udd0d", - "TogetherVisionNode" - ], - { - "title_aux": "Together Vision Node" - } - ], - "https://github.com/mithamunda/ComfyUI-ollama_killer": [ - [ - "OllamaKiller" - ], - { - "title_aux": "OllamaKiller Node for ComfyUI" + "author": "mittimi", + "description": "It has the ability to concatenate text.", + "nickname": "mittimiDaisyChainText", + "title": "mittimiDaisyChainText", + "title_aux": "ComfyUI_mittimiDaisyChainText" } ], "https://github.com/mittimi/ComfyUI_mittimiLoadPreset2": [ [ "CombineParamDataMittimi", + "LoadImageParamMittimi", "LoadSetParamMittimi", "SaveImageParamMittimi", "SaveParamToPresetMittimi" @@ -19521,6 +46381,8 @@ ], "https://github.com/mittimi/ComfyUI_mittimiWidthHeight": [ [ + "GoStopAnythingMittimi01", + "OutputLongLengthMittimi01", "WidthHeightMittimi01" ], { @@ -19531,6 +46393,37 @@ "title_aux": "ComfyUI_mittimiWidthHeight" } ], + "https://github.com/mo230761/InsertAnything-ComfyUI-official": [ + [ + "CropBack", + "CropBackNoScaling", + "FillProcess", + "FillProcessNoScaling", + "MaskOption", + "ReduxProcess" + ], + { + "title_aux": "InsertAnything-ComfyUI-official" + } + ], + "https://github.com/mobcat40/ComfyUI-PromptChain": [ + [ + "PromptChain", + "PromptChainDebug", + "SyntaxTest" + ], + { + "title_aux": "ComfyUI-PromptChain" + } + ], + "https://github.com/mobilehacker/ComfyUI_format-lora-stack": [ + [ + "FormatLoraStack" + ], + { + "title_aux": "ComfyUI_format-lora-stack" + } + ], "https://github.com/modelscope/comfyscope": [ [ "DashScopeFLUXAPI" @@ -19543,25 +46436,105 @@ [ "DimensionProviderFree modusCell", "DimensionProviderRatio modusCell", + "Free", + "Ratio", "String Concat modusCell" ], { "title_aux": "Preset Dimensions" } ], + "https://github.com/mohseni-mr/ComfyUI-Mohseni-Kit": [ + [ + "FloatPreview" + ], + { + "title_aux": "ComfyUI Mohseni Kit" + } + ], + "https://github.com/mohsensd1373/comfyui_wordpress": [ + [ + "SaveToWordPressNode" + ], + { + "title_aux": "comfyui_wordpress" + } + ], + "https://github.com/molbal/ComfyUI-LLM-CLIP": [ + [ + "LLMClipLoader", + "LLMClipTextEncode" + ], + { + "title_aux": "ComfyUI-LLM-CLIP" + } + ], + "https://github.com/monkeyWie/ComfyUI-FormInput": [ + [ + "BooleanInput_FormInput", + "DisplayText_FormInput", + "TextInput_FormInput" + ], + { + "title_aux": "ComfyUI-FormInput" + } + ], + "https://github.com/moon7star9/ComfyUI_BiRefNet_Universal": [ + [ + "BiRefNet_Loader", + "BiRefNet_Remove_Background" + ], + { + "title_aux": "ComfyUI_BiRefNet_Universal" + } + ], + "https://github.com/moonwhaler/comfyui-moonpack": [ + [ + "DynamicLoraStack", + "DynamicStringConcat", + "FastNodeBypasser", + "ProportionalDimension", + "RegexStringReplace", + "SimpleStringReplace", + "VACELooperFrameMaskCreator" + ], + { + "title_aux": "comfyui-moonpack" + } + ], + "https://github.com/moonwhaler/comfyui-seedvr2-tilingupscaler": [ + [ + "SeedVR2TilingUpscaler" + ], + { + "title_aux": "SeedVR2 Tiling Upscaler" + } + ], "https://github.com/morino-kumasan/comfyui-toml-prompt": [ [ + "CheckPointLoaderSimpleFromString", + "DropFirstImage", "IntSelector", + "JsonExtractFloat", + "JsonExtractInt", + "JsonExtractString", + "KSamplerFromJsonInfo", "LatentSelector", + "LoadLoraFromLoraList", "MultipartCLIPTextEncode", "MultipleLoraTagLoader", + "PromptDecode", "PromptLoader", + "SeedGenerator", + "SplitLoraList", "StringConcat", + "StringConcatInt", + "StringPicker", "StringSelector", - "StringSub", "StringViewer", "SummaryReader", - "TomlPromptDecode" + "TomlPromptDecode", + "UNETLoaderFromString" ], { "title_aux": "comfyui-toml-prompt" @@ -19569,7 +46542,8 @@ ], "https://github.com/moustafa-nasr/ComfyUI-SimpleLogger": [ [ - "Log Image" + "Log Image", + "LogImageNode" ], { "title_aux": "ComfyUI-SimpleLogger" @@ -19586,14 +46560,39 @@ "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" ], { + "author": "Mr.Chip", + "description": "This extension offers a custom node to save image to S3-compatible oss.", + "nickname": "SaveImageS3", + "title": "SaveImageS3", "title_aux": "ComfyUI-SaveImageS3" } ], + "https://github.com/mrf/ComfyPoe": [ + [ + "PoeImageEdit", + "PoeImageGenerate", + "PoeImageVariation", + "PoeMultiImageEdit" + ], + { + "title_aux": "ComfyPoe" + } + ], "https://github.com/mrhan1993/ComfyUI-Fooocus": [ [ "AlignYourStepsScheduler", @@ -19611,6 +46610,7 @@ "CheckpointLoader", "CheckpointLoaderSimple", "CheckpointSave", + "ClearVram", "ConditioningAverage", "ConditioningCombine", "ConditioningConcat", @@ -19750,6 +46750,53 @@ "title_aux": "ComfyUI-Fooocus" } ], + "https://github.com/mrm987/ComfyUI_Multi_Prompt_Generator": [ + [ + "MultiPromptGenerator", + "NAIMultiPromptGenerator" + ], + { + "title_aux": "ComfyUI-Multi-Prompt-Generator" + } + ], + "https://github.com/mudknight/comfyui-mudknight-utils": [ + [ + "AutoLevelNode", + "BBoxInsetAndCrop", + "BaseNode", + "CharacterPresetNode", + "CharacterReplacementNode", + "CombinedUpscaleNode", + "ConditionalLoraFullPipe", + "CustomResolutionPipe", + "DetailerNode", + "DetailerPipeNode", + "FullPipeIn", + "FullPipeLoader", + "FullPipeOut", + "ImageDifference", + "LoaderFullPipe", + "MaskDetailerNode", + "MaskDetailerPipeNode", + "ModelPresetNode", + "MultiStringConditioning", + "NestedDetailerNode", + "NestedDetailerPipeNode", + "OpenCVDenoise", + "PromptConditioningNode", + "ResolutionSelector", + "SaveFullPipe", + "SeedWithOverride", + "SplitLoaderFullPipe", + "StylePresetNode", + "TagPresetNode", + "UpscaleNode", + "WildcardNode" + ], + { + "title_aux": "comfyui-mudknight-utils" + } + ], "https://github.com/muhammederem/blip-comfyui": [ [ "Blip Processor Node", @@ -19771,6 +46818,16 @@ "title_aux": "comfyui_dynamic_util_nodes" } ], + "https://github.com/muxueChen/ComfyUI_NTCosyVoice": [ + [ + "NTCosyVoiceCrossLingualSampler", + "NTCosyVoiceInstruct2Sampler", + "NTCosyVoiceZeroShotSampler" + ], + { + "title_aux": "CosyVoice2 for ComfyUI" + } + ], "https://github.com/muzi12888/ComfyUI-PoseKeypoint-Mask": [ [ "Image Brightness", @@ -19801,8 +46858,22 @@ "title_aux": "ComfyUI_KSamplerTimer" } ], + "https://github.com/myonmu0/ComfyUI-Jumper": [ + [ + "Receive Audio", + "Receive Images", + "Receive String", + "Send Audio", + "Send Images", + "Send String" + ], + { + "title_aux": "ComfyUI-Jumper" + } + ], "https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin": [ [ + "High444H264Encode", "ShellAgentPluginInputAudio", "ShellAgentPluginInputBoolean", "ShellAgentPluginInputFloat", @@ -19818,7 +46889,8 @@ "ShellAgentPluginSaveAudios", "ShellAgentPluginSaveImage", "ShellAgentPluginSaveImages", - "ShellAgentPluginSaveVideoVHS" + "ShellAgentPluginSaveVideoVHS", + "ShellAgentPluginVideoCombineEncrypt" ], { "author": "MyShell", @@ -19827,6 +46899,14 @@ "title_aux": "ComfyUI-ShellAgent-Plugin" } ], + "https://github.com/n0neye/A3D-comfyui-integration": [ + [ + "A3DListener" + ], + { + "title_aux": "A3D ComfyUI Integration" + } + ], "https://github.com/nagolinc/ComfyUI_FastVAEDecorder_SDXL": [ [ "FastLatentToImage" @@ -19843,6 +46923,60 @@ "title_aux": "comfyui_openai_node" } ], + "https://github.com/nakagawadev/comfyui_nakagawa": [ + [ + "SaveVideoWebsocket", + "SaveWEBMWebsocket" + ], + { + "title_aux": "comfyui_nakagawa" + } + ], + "https://github.com/nako-nakoko/ComfyUI_Mel_Nodes": [ + [ + "AddFileNameonly", + "ResolutionSwitcher", + "Split Image Batch", + "Unet Selector_gguf", + "mel_RandomIntNode", + "mel_TextFilterNode", + "mel_TextSplitNode", + "mel_TextSplitNode2" + ], + { + "title_aux": "ComfyUI_Mel_Nodes" + } + ], + "https://github.com/naku-yh/ComfyUI_Flux2ImageReference": [ + [ + "NakuNode_Flux2" + ], + { + "title_aux": "ComfyUI_Flux2ImageReference" + } + ], + "https://github.com/namtb96/OmniGen2-Simple-Node": [ + [ + "OmniGen2ModelLoader", + "OmniGen2Sampler" + ], + { + "title_aux": "OmniGen2 Simple Node" + } + ], + "https://github.com/narusas/Comfyui-Logic-Support": [ + [ + "BooleanIndexAdder", + "NumberConditionChecker", + "NumberRangeIndex", + "NumberSequenceGenerator", + "StringConcatenator", + "StringSwitchByNumber" + ], + { + "title_aux": "ComfyUI Logic Support" + } + ], "https://github.com/natto-maki/ComfyUI-NegiTools": [ [ "NegiTools_CompositeImages", @@ -19867,6 +47001,34 @@ "title_aux": "ComfyUI-NegiTools" } ], + "https://github.com/nawka12/ComfyUI-Adept-Sampler": [ + [ + "AdeptAncestralSampler", + "AdeptSchedulerAOS_E", + "AdeptSchedulerAOS_V", + "AdeptSchedulerAYS", + "AdeptSchedulerAdvanced", + "AdeptSchedulerAkashicAOS", + "AdeptSchedulerEntropic", + "AdeptSchedulerJYS", + "AdeptSchedulerStochastic", + "AdeptSolverSampler", + "AkashicSolverSampler" + ], + { + "title_aux": "ComfyUI-Adept-Sampler" + } + ], + "https://github.com/naxci1/ComfyUI-FlashVSR_Stable": [ + [ + "FlashVSRInitPipe", + "FlashVSRNode", + "FlashVSRNodeAdv" + ], + { + "title_aux": "ComfyUI-FlashVSR_Stable" + } + ], "https://github.com/nchenevey1/comfyui-gimp-nodes": [ [ "NC_LoadImageGIMP", @@ -19878,6 +47040,54 @@ "title_aux": "comfyui-gimp-nodes" } ], + "https://github.com/negaga53/comfyui-imgloader": [ + [ + "ImageLoader" + ], + { + "title_aux": "ComfyUI Universal Image Loader" + } + ], + "https://github.com/neggo/comfyui-sambanova": [ + [ + "SambaNova API Node", + "SambaNovaNode" + ], + { + "title_aux": "comfyui-sambanova" + } + ], + "https://github.com/neo-editer/ComfyUI-Better-Dimensions-wan-v2": [ + [ + "BetterImageDimensions_v2", + "PureRatio", + "SDXLDimensions_simple", + "WANDimensions_480", + "WANDimensions_720" + ], + { + "title_aux": "ComfyUI-Better-Dimensions-wan-v2" + } + ], + "https://github.com/neocrz/comfyui-usetaesd": [ + [ + "DecodeTAESD", + "DecodeTAESDTiled", + "EncodeTAESD", + "EncodeTAESDTiled" + ], + { + "title_aux": "comfyui-usetaesd" + } + ], + "https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler": [ + [ + "PixelConstrainedScaler" + ], + { + "title_aux": "ComfyUI-PixelConstrainedScaler" + } + ], "https://github.com/neph1/comfyui-smooth-step-lora-loader": [ [ "Smooth_Step_Lora_Loader" @@ -19886,6 +47096,54 @@ "title_aux": "comfyui-smooth-step-lora-loader" } ], + "https://github.com/neurodanzelus-cmd/ComfyUI-TeleStyle": [ + [ + "TeleStyleLoader", + "TeleStyleVideoInference" + ], + { + "title_aux": "ComfyUI-TeleStyle" + } + ], + "https://github.com/neverbiasu/ComfyUI-BAGEL": [ + [ + "BagelImageEdit", + "BagelImageUnderstanding", + "BagelModelLoader", + "BagelMultiImageEdit", + "BagelTextToImage" + ], + { + "title_aux": "ComfyUI-BAGEL" + } + ], + "https://github.com/neverbiasu/ComfyUI-ChatTTS": [ + [ + "ChatTTSLoader", + "ChatTTS_ExtractSpeaker", + "ChatTTS_LoadSpeakerProfile", + "ChatTTS_Sampler", + "ChatTTS_SaveSpeakerProfile", + "ChatTTS_SeedBasedSpeaker", + "ChatTTS_TextNormalizer", + "ChatTTS_TextSplitter" + ], + { + "title_aux": "ComfyUI-ChatTTS" + } + ], + "https://github.com/neverbiasu/ComfyUI-Dashscope": [ + [ + "DashscopeEmoCaller", + "DashscopeLLMLoader", + "DashscopeModelCaller", + "DashscopeOCRCaller", + "DashscopeVLMLoader" + ], + { + "title_aux": "ComfyUI-Dashscope" + } + ], "https://github.com/neverbiasu/ComfyUI-Image-Captioner": [ [ "ImageCaptioner" @@ -19894,12 +47152,37 @@ "title_aux": "ComfyUI-Image-Captioner" } ], + "https://github.com/neverbiasu/ComfyUI-ModelScope": [ + [ + "ModelScopeImageGenerator", + "ModelScopeLLM", + "ModelScopeVLM" + ], + { + "title_aux": "ComfyUI-ModelScope" + } + ], + "https://github.com/neverbiasu/ComfyUI-Ovis-U1": [ + [ + "OvisU1ImageEdit", + "OvisU1ImageToText", + "OvisU1ModelLoader", + "OvisU1TextToImage" + ], + { + "title_aux": "ComfyUI-Ovis-U1" + } + ], "https://github.com/neverbiasu/ComfyUI-SAM2": [ [ + "GroundingDinoModelLoader", "GroundingDinoModelLoader (segment anything2)", + "GroundingDinoSAM2Segment", "GroundingDinoSAM2Segment (segment anything2)", + "InvertMask", "InvertMask (segment anything)", "IsMaskEmpty", + "SAM2ModelLoader", "SAM2ModelLoader (segment anything2)" ], { @@ -19914,6 +47197,14 @@ "title_aux": "ComfyUI-StyleShot" } ], + "https://github.com/ngosset/ComfyUI-ImageSimilarity": [ + [ + "Image Similarity" + ], + { + "title_aux": "ImageSimilarity" + } + ], "https://github.com/nicehero/comfyui-SegGPT": [ [ "SegGPT" @@ -19942,22 +47233,84 @@ "https://github.com/niknah/ComfyUI-F5-TTS": [ [ "F5TTSAudio", + "F5TTSAudioAdvanced", "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/niknah/ComfyUI-InfiniteYou": [ + [ + "InfiniteYouSample", + "InfiniteYouSampler" + ], + { + "title_aux": "ComfyUI-InfiniteYou" + } + ], + "https://github.com/niknah/audio-general-ComfyUI": [ + [ + "AudioBassTreble", + "AudioConcat", + "AudioInfo", + "AudioMix", + "AudioPitch", + "AudioSampleRate", + "AudioSpeed", + "AudioTrimSilenceRosa", + "AudioTrimSilenceVAD" + ], + { + "title_aux": "Audio General" + } + ], + "https://github.com/niknah/presentation-ComfyUI": [ + [ + "PresentationAddQueue", + "PresentationAdvancedSection", + "PresentationAudio", + "PresentationComponent", + "PresentationDropDown", + "PresentationFile", + "PresentationHistory", + "PresentationImage", + "PresentationProgress", + "PresentationSeed", + "PresentationTab", + "PresentationVideo" + ], + { + "title_aux": "Presentation ComfyUI" } ], "https://github.com/nilor-corp/nilor-nodes": [ [ + "MediaStreamInput", + "MediaStreamOutput", + "Nilor Blur Analysis", + "Nilor Categorize String", "Nilor Count Images In Directory", + "Nilor Extract Filename from Path", + "Nilor Image Resize v2", "Nilor Int To List Of Bools", "Nilor Interpolated Float List", "Nilor Inverse Map Float List", "Nilor List of Ints", + "Nilor Load Image By Index", "Nilor One Minus Float List", "Nilor Output Filename String", + "Nilor Random String", "Nilor Remap Float List", + "Nilor Remap Float List Auto Input", "Nilor Repeat & Trim Image Batch", "Nilor Repeat, Shuffle, & Trim Image Batch", "Nilor Save EXR Arbitrary", @@ -19965,7 +47318,17 @@ "Nilor Save Video To HF Dataset", "Nilor Select Index From List", "Nilor Shuffle Image Batch", - "Nilor n Fractions of Int" + "Nilor To Sparse Index Method", + "Nilor Wan Frame Trim", + "Nilor Wan Tile Resolution", + "Nilor n Fractions of Int", + "NilorGroup", + "NilorPreset", + "NilorUserInput_Boolean", + "NilorUserInput_Float", + "NilorUserInput_Int", + "NilorUserInput_Seed", + "NilorUserInput_String" ], { "title_aux": "Nilor Nodes by Nilor Corp" @@ -19999,6 +47362,58 @@ "title_aux": "ComfyUI_pytorch_openpose" } ], + "https://github.com/nisaruj/comfyui-daam": [ + [ + "CLIPTextEncodeWithTokens", + "DAAMAnalyzer", + "DAAMPreviewImage", + "KSamplerDAAM" + ], + { + "title_aux": "ComfyUI-DAAM" + } + ], + "https://github.com/nisimjoseph/ComfyUI_OpenAI-Prompter": [ + [ + "OpenAI Prompt Generator" + ], + { + "title_aux": "ComfyUI OpenAI Prompter" + } + ], + "https://github.com/nitingrg/comfyui-ntools": [ + [ + "ImageMegapixels" + ], + { + "title_aux": "comfyui-ntools" + } + ], + "https://github.com/njlent/ComfyUI_performance-report": [ + [ + "ExecutionTimeReporter" + ], + { + "title_aux": "ComfyUI Execution Time Reporter" + } + ], + "https://github.com/njlent/ComfyUI_wavelet-colorfix": [ + [ + "WaveletColorFix" + ], + { + "title_aux": "ComfyUI Wavelet Color Fix" + } + ], + "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz": [ + [ + "DanbooruPromptComparison", + "DanbooruPromptQuiz" + ], + { + "title_aux": "ComfyUI-DanbooruPromptQuiz" + } + ], "https://github.com/nkchocoai/ComfyUI-Dart": [ [ "DanbooruTagsTransformerBanTagsFromRegex", @@ -20076,13 +47491,36 @@ "title_aux": "ComfyUI-TextOnSegs" } ], - "https://github.com/noarche/sd-webui-color-enhance": [ + "https://github.com/nobandegani/comfyui_ino_nodes": [ [ - "MMakerColorBlend", - "MMakerColorEnhance" + "InoBoolToSwitch", + "InoBooleanEqual", + "InoCropImageByBox", + "InoGetDateTimeAsBase64", + "InoLoadImagesFromFolder", + "InoNotBoolean", + "InoOnImageListCompleted" ], { - "title_aux": "noarche/Color Enhance" + "title_aux": "ComfyUI Ino Nodes" + } + ], + "https://github.com/nobrainX2/comfyUI-customDia": [ + [ + "Audio retimer", + "Dia text to speech" + ], + { + "title_aux": "ComfyUI Custom Dia" + } + ], + "https://github.com/noelkim12/ComfyUI-NoelTextUtil": [ + [ + "NoelLoRATriggerInjector", + "NoelUnifiedPrefix" + ], + { + "title_aux": "ComfyUI-ComfyUI-NoelTextUtil" } ], "https://github.com/noembryo/ComfyUI-noEmbryo": [ @@ -20102,24 +47540,104 @@ "title_aux": "noEmbryo nodes" } ], + "https://github.com/nofunstudio/Node_Fun_ComfyUI": [ + [ + "DynamicQueueCounter", + "FalAPI_Flux2KleinEdit", + "FalAPI_Flux2LoraEdit", + "FalAPI_Flux2TurboEdit", + "FalAPI_NanoBananaPro", + "FalAPI_QwenEditPlus", + "FalAPI_kling_video", + "FalAPI_ltx2_video", + "FalAPI_recraft_upscale", + "FalAPI_seedance_video", + "FluxKontextInpaintingConditioning", + "Fun KSampler", + "IframeView", + "IndexedStringSelector", + "Kontext Inpainting Conditioning", + "LayeredInfiniteZoom", + "LoadImageBatchFun", + "MultiAlphaComposite", + "Replicate flux 1.1 pro ultra", + "ReplicateAPI_flux_1_1_pro_ultra", + "ReplicateAPI_flux_fill_pro", + "StringLower", + "WaveSpeedAI_Flux2LoraEdit", + "WaveSpeedAI_Image" + ], + { + "title_aux": "Node_Fun_ComfyUI" + } + ], + "https://github.com/nomadoor/ComfyUI-Temporal-Mask-Tools": [ + [ + "TemporalMaskRemoveShortObjects", + "TemporalMaskUnion" + ], + { + "title_aux": "ComfyUI Temporal Mask Tools" + } + ], + "https://github.com/northumber/ComfyUI-northTools": [ + [ + "BooleanIndexesToString", + "ConcatHistoryString", + "ExtractMetadataByKey", + "ImageToTrue", + "LoadImagesFromDirByIndexBatch", + "LoadImagesFromDirByIndexList", + "LoadImagesFromDirList", + "SumIntegers" + ], + { + "title_aux": "ComfyUI-northTools" + } + ], "https://github.com/nosiu/comfyui-instantId-faceswap": [ [ "AngleFromFace", + "AngleFromKps", "ComposeRotated", "ControlNetInstantIdApply", "FaceEmbed", "FaceEmbedCombine", "InstantIdAdapterApply", "InstantIdAndControlnetApply", + "Kps2dRandomizer", + "Kps2dScale", + "Kps2dScaleBy", + "Kps3dFromImage", + "Kps3dRandomizer", + "KpsCrop", + "KpsDraw", "KpsMaker", + "KpsRotate", + "KpsScale", + "KpsScaleBy", "LoadInsightface", "LoadInstantIdAdapter", + "MaskFromKps", + "PreprocessImagAdvancese", "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": [ @@ -20185,8 +47703,7 @@ "CutForInpaint", "PowerPaint", "PowerPaintCLIPLoader", - "RAUNet", - "Terminal" + "RAUNet" ], { "author": "nullquant", @@ -20204,6 +47721,49 @@ "title_aux": "ComfyUI-FlowChain" } ], + "https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler": [ + [ + "SeedVR2LoadDiTModel", + "SeedVR2LoadVAEModel", + "SeedVR2TorchCompileSettings", + "SeedVR2VideoUpscaler" + ], + { + "title_aux": "ComfyUI-SeedVR2_VideoUpscaler" + } + ], + "https://github.com/numz/Comfyui-Orpheus": [ + [ + "orpheus", + "orpheusAdvanced" + ], + { + "title_aux": "ComfyUI-Orpheus" + } + ], + "https://github.com/nunchaku-tech/ComfyUI-nunchaku": [ + [ + "NunchakuDepthPreprocessor", + "NunchakuFluxDiTLoader", + "NunchakuFluxIPAdapterApply", + "NunchakuFluxLoraLoader", + "NunchakuFluxLoraStack", + "NunchakuFluxPuLIDApplyV2", + "NunchakuIPAdapterLoader", + "NunchakuModelMerger", + "NunchakuPuLIDLoaderV2", + "NunchakuPulidApply", + "NunchakuPulidLoader", + "NunchakuQwenImageDiTLoader", + "NunchakuTextEncoderLoader", + "NunchakuTextEncoderLoaderV2", + "NunchakuWheelInstaller", + "NunchakuZImageDiTLoader" + ], + { + "title_aux": "ComfyUI-nunchaku" + } + ], "https://github.com/nux1111/ComfyUI_NetDist_Plus": [ [ "CombineImageBatch", @@ -20238,6 +47798,155 @@ "title_aux": "ComfyUI_NetDist_Plus" } ], + "https://github.com/nyueki/ComfyUI-RemoteCLIPLoader": [ + [ + "LoadRemoteCLIP", + "LoraLoaderCLIPOnly", + "SendRemoteCLIP" + ], + { + "title_aux": "ComfyUI-RemoteCLIPLoader" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-ChannelMixer": [ + [ + "OlmChannelMixer" + ], + { + "title_aux": "Olm Channel Mixer for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-ColorBalance": [ + [ + "OlmColorBalance" + ], + { + "title_aux": "Olm Color Balance for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-CurveEditor": [ + [ + "OlmCurveEditor" + ], + { + "title_aux": "Olm Curve Editor for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-DragCrop": [ + [ + "OlmCropInfoInterpreter", + "OlmDragCrop" + ], + { + "title_aux": "Olm DragCrop for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-Histogram": [ + [ + "OlmHistogram" + ], + { + "title_aux": "Olm Histogram for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-ImageAdjust": [ + [ + "OlmImageAdjust" + ], + { + "title_aux": "Olm Image Adjust for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-LGG": [ + [ + "OlmLGG" + ], + { + "title_aux": "Olm LGG (Lift, Gamma, Gain) for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-Resolution-Picker": [ + [ + "OlmResolutionPicker" + ], + { + "title_aux": "Olm Resolution Picker for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-Olm-Sketch": [ + [ + "OlmSketch" + ], + { + "title_aux": "Olm Sketch for ComfyUI" + } + ], + "https://github.com/o-l-l-i/ComfyUI-OlmLUT": [ + [ + "OlmLUT" + ], + { + "title_aux": "Olm LUT Node for ComfyUI" + } + ], + "https://github.com/obisin/ComfyUI-DGLS": [ + [ + "DGLSCleanup", + "DGLSModelLoader", + "DynamicSwappingLoader" + ], + { + "title_aux": "ComfyUI - DGLS (Dynamic GPU Layer Swapping)" + } + ], + "https://github.com/obvirm/ComfyUI-WhisperXX": [ + [ + "WhisperXNode" + ], + { + "title_aux": "ComfyUI-WhisperXX" + } + ], + "https://github.com/ohmygoobness/ComfyUI-ImageResolutionFixer": [ + [ + "ImageResolutionFixer" + ], + { + "title_aux": "ComfyUI-ImageResolutionFixer" + } + ], + "https://github.com/okdalto/ComfyUI-FlashPortrait": [ + [ + "FlashPortraitFeatureExtractor", + "FlashPortraitLoader", + "FlashPortraitSampler" + ], + { + "title_aux": "ComfyUI-FlashPortrait" + } + ], + "https://github.com/okdalto/ComfyUI-PersonaLive": [ + [ + "PersonaLiveCheckpointLoader", + "PersonaLivePhotoSampler" + ], + { + "title_aux": "ComfyUI-PersonaLive" + } + ], + "https://github.com/okdalto/ComfyUI-WithAnyone": [ + [ + "WithAnyoneArcFaceExtractorNode", + "WithAnyoneBBoxNode", + "WithAnyoneModelLoaderNode", + "WithAnyoneSamplerNode", + "WithAnyoneSigLIPExtractorNode", + "WithAnyoneSinglePersonConditioningNode" + ], + { + "title_aux": "ComfyUI-WithAnyone" + } + ], "https://github.com/okgo4/ComfyUI-Mosaic-Mask": [ [ "MosaicMask" @@ -20246,14 +47955,79 @@ "title_aux": "ComfyUI-Mosaic-Mask" } ], + "https://github.com/olafrv/comfyui_olafrv": [ + [ + "ORVImageSizeBestFitResolution", + "ORvEmbeddingsHeatmap", + "ORvEmbeddingsSpectrogram", + "ORvStringConsoleDebug", + "ORvTextEncoderGoogleEmbeddingGemma3", + "ORvTextStripNonLatin" + ], + { + "title_aux": "Olaf's Nodes" + } + ], "https://github.com/olduvai-jp/ComfyUI-HfLoader": [ [ + "ControlNet Loader From HF", "Lora Loader From HF" ], { "title_aux": "ComfyUI-HfLoader" } ], + "https://github.com/olduvai-jp/ComfyUI-S3-IO": [ + [ + "LoadImageS3", + "LoadVideoUploadS3", + "SaveImageS3", + "VHS_AudioToVHSAudio", + "VHS_BatchManager", + "VHS_DuplicateImages", + "VHS_DuplicateLatents", + "VHS_DuplicateMasks", + "VHS_GetImageCount", + "VHS_GetLatentCount", + "VHS_GetMaskCount", + "VHS_LoadAudio", + "VHS_LoadAudioUpload", + "VHS_LoadImagePath", + "VHS_LoadImages", + "VHS_LoadImagesPath", + "VHS_LoadVideo", + "VHS_LoadVideoFFmpeg", + "VHS_LoadVideoFFmpegPath", + "VHS_LoadVideoPath", + "VHS_MergeImages", + "VHS_MergeLatents", + "VHS_MergeMasks", + "VHS_PruneOutputs", + "VHS_SelectEveryNthImage", + "VHS_SelectEveryNthLatent", + "VHS_SelectEveryNthMask", + "VHS_SelectFilename", + "VHS_SelectImages", + "VHS_SelectLatents", + "VHS_SelectLatest", + "VHS_SelectMasks", + "VHS_SplitImages", + "VHS_SplitLatents", + "VHS_SplitMasks", + "VHS_Unbatch", + "VHS_VAEDecodeBatched", + "VHS_VAEEncodeBatched", + "VHS_VHSAudioToAudio", + "VHS_VideoCombine", + "VHS_VideoInfo", + "VHS_VideoInfoLoaded", + "VHS_VideoInfoSource", + "VideoCombineS3" + ], + { + "title_aux": "ComfyUI-S3-IO" + } + ], "https://github.com/oleksandr612/ComfyUI-Counter": [ [ "Simple Counter" @@ -20262,6 +48036,34 @@ "title_aux": "ComfyUI-Counter" } ], + "https://github.com/oliverswitzer/ComfyUI-Lora-Visualizer": [ + [ + "LoRAVisualizer", + "PromptComposer", + "PromptSplitter", + "WANLoRAHighLowSplitter" + ], + { + "title_aux": "LoRA Visualizer" + } + ], + "https://github.com/olivv-cs/ComfyUI-FunPack": [ + [ + "FunPackContinueVideo", + "FunPackCreativeTemplate", + "FunPackImg2LatentInterpolation", + "FunPackLorebookEnhancer", + "FunPackPromptEnhancer", + "FunPackStoryMemJSONConverter", + "FunPackStoryMemKeyframeExtractor", + "FunPackStoryMemLastFrameExtractor", + "FunPackStoryWriter", + "FunPackVideoStitch" + ], + { + "title_aux": "ComfyUI-FunPack" + } + ], "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": [ [ "CLIPStringEncode _O", @@ -20277,7 +48079,6 @@ "Debug String _O", "Debug Text _O", "Debug Text route _O", - "Edit_image _O", "Equation1param _O", "Equation2params _O", "GetImage_(Width&Height) _O", @@ -20295,7 +48096,6 @@ "Text _O", "Text2Image _O", "Trim Text _O", - "VAEDecodeParallel _O", "combine_chat_messages _O", "compine_chat_messages _O", "concat Strings _O", @@ -20322,6 +48122,36 @@ "title_aux": "Quality of life Suit:V2" } ], + "https://github.com/omixmaxdimo/OmiXDev": [ + [ + "OmixChatOllama", + "OmixChatPro", + "OmixGeminiPro", + "ResolutionPresets" + ], + { + "title_aux": "OmiXdev Custom Nodes" + } + ], + "https://github.com/openvino-dev-samples/comfyui_openvino": [ + [ + "TorchCompileDiffusionOpenVINO", + "TorchCompileVAEOpenVINO" + ], + { + "title_aux": "ComfyUI-OpenVINO" + } + ], + "https://github.com/opparco/ComfyUI-WanLightx2vScheduler": [ + [ + "KSamplerAdvancedPartialSigmas", + "WanLightx2vSchedulerBasic", + "WanLightx2vSchedulerBasicFromModel" + ], + { + "title_aux": "Wan2.2 Lightx2v Scheduler for ComfyUI" + } + ], "https://github.com/opvelll/ComfyUI_TextListProduct": [ [ "ProductedString", @@ -20335,6 +48165,267 @@ "title_aux": "Comfy UI Text List Product" } ], + "https://github.com/orange90/ComfyUI-Regex-Runner": [ + [ + "RegexNode" + ], + { + "title_aux": " ComfyUI-Regex-Runner" + } + ], + "https://github.com/orex2121/comfyui-OreX": [ + [ + "IoNetVision", + "KontextPresetsOrex", + "OreX Image Load Batch", + "OreX Image Save", + "PollinationsTextGenOrex", + "flux-kontext-orexnodes", + "orex IoNet Chat", + "orex IoNet Vision", + "orex IoNet Vision Url", + "orex Kontext Presets", + "orex Load Image", + "orex Load Image Batch", + "orex Load Image Batch Size", + "orex Polination Text Gen", + "orex Save Image" + ], + { + "title_aux": "comfyui-OreX" + } + ], + "https://github.com/orion4d/Calculator_Pro": [ + [ + "DataConverter", + "LengthConverter", + "ManualRateConverter", + "MassConverter", + "ScientificCalculatorTri", + "TimeConverter", + "UniversalConverter", + "VolumeConverter" + ], + { + "title_aux": "CalculatorPro - Node Suite for ComfyUI" + } + ], + "https://github.com/orion4d/ComfyUI-Image-Effects": [ + [ + "AsciiArtNode", + "AsciiTextNode", + "AuroraNode", + "BarrelDistortionNode", + "CSSFiltersNode", + "ChannelMixerNode", + "ColorBalanceNode", + "CrystallizeNode", + "CurvesNode", + "FilmGrainNode", + "FisheyeNode", + "GodRaysNode", + "HexagonalPixelateNode", + "HolographicNode", + "KaleidoscopeAdvancedNode", + "KaleidoscopeNode", + "LensFlareNode", + "LevelsNode", + "LightLeaksNode", + "NeonGlowNode", + "PinchNode", + "PolaroidNode", + "PolygonNode", + "RippleNode", + "SaverPlusNode", + "ShadowHighlightNode", + "SpherizeNode", + "TriangulateNode", + "VHSGlitchNode", + "VibranceNode", + "VintageTVNode", + "VoronoiNode" + ], + { + "title_aux": "ComfyUI-Image-Effects" + } + ], + "https://github.com/orion4d/ComfyUI_DAO_master": [ + [ + "ConvertIMGtoSVG", + "ConvertSVGtoIMG", + "DAO Blur", + "DAO Clone Circular", + "DAO Clone Circular Path", + "DAO Clone Grid", + "DAO Clone Grid Path", + "DAO Move", + "DAO RVB Color Picker", + "DAO Text Maker", + "DXF Add Circle", + "DXF Add Ellipse", + "DXF Add Line", + "DXF Add Polygon", + "DXF Add Rectangle", + "DXF Add Rounded Rectangle", + "DXF Add Star", + "DXF Add Triangle", + "DXF Import", + "DXF New", + "DXF Preview", + "DXF Save", + "DXF Stats", + "DXF Transform", + "DXF to SVG", + "Folder File Pro", + "Load Image Pro", + "MosaicAssembleFromFolder", + "MosaicTileAssemble", + "MosaicTileExport", + "Path To Image", + "SVG Boolean", + "SVG Load", + "SVG Passthrough", + "SVG Preview", + "SVG Save", + "SVG Style" + ], + { + "title_aux": "ComfyUI_DAO_master" + } + ], + "https://github.com/orion4d/ComfyUI_SharpnessPro": [ + [ + "Clarity", + "HighPassSharpen", + "SmartSharpen", + "Texture", + "UnsharpMaskSharpen" + ], + { + "title_aux": "SharpnessPro pour ComfyUI" + } + ], + "https://github.com/orion4d/ComfyUI_colormaster": [ + [ + "AnnotateHexLines", + "ColorPaletteExtractor", + "HexColorToImage", + "ImageCollageNode", + "SelectHexLine" + ], + { + "title_aux": "ComfyUI Colormaster Nodes" + } + ], + "https://github.com/orion4d/ComfyUI_extract_imag": [ + [ + "ExtractAndSaveImagesFromDocument" + ], + { + "title_aux": "ComfyUI_extract_imag" + } + ], + "https://github.com/orion4d/ComfyUI_image-display": [ + [ + "DisplayImageWithMask" + ], + { + "title_aux": "Display Image with Mask for ComfyUI" + } + ], + "https://github.com/orion4d/ComfyUI_pdf_nodes": [ + [ + "PDFExtractTextFromPages", + "PDFGetPageCount", + "PDFLoad", + "PDFMerge", + "PDFPagesToImages", + "PDFPreviewPage", + "PDFRotatePages", + "PDFSave", + "PDFSelectPageAndExtractText" + ], + { + "title_aux": "ComfyUI PDF Nodes" + } + ], + "https://github.com/orion4d/Comfyui_EncryptMaster": [ + [ + "Generate Passphrase", + "GeneratePassphrase", + "Image Cipher To Noise", + "Image Decipher From Noise", + "Stego Capacity Estimator", + "Stego Embed Image", + "Stego Embed Text", + "Stego Extract Image", + "Stego Extract Text", + "Text Cipher" + ], + { + "title_aux": "ComfyUI EncryptMaster" + } + ], + "https://github.com/orion4d/Gemini_Banana_by_orion4d": [ + [ + "GeminiNanoStudio" + ], + { + "title_aux": "Gemini Nano Banana for ComfyUI" + } + ], + "https://github.com/orion4d/Orion4D_pixelshift": [ + [ + "EnsembleSuperRes_Orion4D", + "SaveImageAdvanced_Orion4D" + ], + { + "title_aux": "Orion4D Pixel-Shift Nodes for ComfyUI" + } + ], + "https://github.com/orion4d/illusion_node": [ + [ + "AdvancedAutostereogramNode", + "CheckerboardNode", + "ColorImageNode", + "OpticalGeometricNode", + "OpticalIllusionNode", + "PatternGeneratorNode", + "TessellationNode", + "TileImageRepeaterNode" + ], + { + "title_aux": "ComfyUI Illusion & Pattern Nodes" + } + ], + "https://github.com/orpheus-gaze/comfyui-s2-guidance-test": [ + [ + "\u2728 S2Guidance_DIT" + ], + { + "title_aux": "comfyui-s2-guidance-test" + } + ], + "https://github.com/orssorbit/ComfyUI-wanBlockswap": [ + [ + "wanBlockSwap" + ], + { + "title_aux": "ComfyUI-wanBlockswap" + } + ], + "https://github.com/oshtz/ComfyUI-oshtz-nodes": [ + [ + "EasyAspectRatioNode", + "GPTImage1", + "LLMAIONode", + "LoraSwitcherDynamic", + "StringSplitterNode" + ], + { + "title_aux": "oshtz Nodes" + } + ], "https://github.com/osi1880vr/prompt_quill_comfyui": [ [ "PromptQuillGenerate", @@ -20346,11 +48437,25 @@ "title_aux": "ComfyUI_Prompt-Quill" } ], + "https://github.com/ostris/ComfyUI-FlexTools": [ + [ + "Flex2Conditioner", + "FlexGuidance", + "FlexLoraLoader", + "FlexLoraLoaderModelOnly" + ], + { + "nodename_pattern": "- Ostris$", + "title_aux": "Flex.1 tools" + } + ], "https://github.com/ostris/ostris_nodes_comfyui": [ [ + "Batch Image Loader - Ostris", "LLM Pipe Loader - Ostris", "LLM Prompt Upsampling - Ostris", "One Seed - Ostris", + "Save Image Direct - Ostris", "Text Box - Ostris" ], { @@ -20358,6 +48463,76 @@ "title_aux": "Ostris Nodes ComfyUI" } ], + "https://github.com/otavanopisto/ComfyUI-aihub-workflow-exposer": [ + [ + "AIHubActionNewAudio", + "AIHubActionNewAudioSegment", + "AIHubActionNewFrames", + "AIHubActionNewImage", + "AIHubActionNewImageBatch", + "AIHubActionNewLatent", + "AIHubActionNewLayer", + "AIHubActionNewText", + "AIHubActionNewVideo", + "AIHubActionNewVideoSegment", + "AIHubActionSetProjectConfigBoolean", + "AIHubActionSetProjectConfigFloat", + "AIHubActionSetProjectConfigInteger", + "AIHubActionSetProjectConfigString", + "AIHubAddRunCondition", + "AIHubExposeAudio", + "AIHubExposeBoolean", + "AIHubExposeCfg", + "AIHubExposeExtendableScheduler", + "AIHubExposeFloat", + "AIHubExposeFrame", + "AIHubExposeImage", + "AIHubExposeImageBatch", + "AIHubExposeImageInfoOnly", + "AIHubExposeInteger", + "AIHubExposeLatent", + "AIHubExposeModel", + "AIHubExposeModelSimple", + "AIHubExposeProjectAudio", + "AIHubExposeProjectConfigBoolean", + "AIHubExposeProjectConfigFloat", + "AIHubExposeProjectConfigInteger", + "AIHubExposeProjectConfigString", + "AIHubExposeProjectImage", + "AIHubExposeProjectImageBatch", + "AIHubExposeProjectLatent", + "AIHubExposeProjectText", + "AIHubExposeProjectVideo", + "AIHubExposeSampler", + "AIHubExposeScheduler", + "AIHubExposeSeed", + "AIHubExposeSteps", + "AIHubExposeString", + "AIHubExposeStringSelection", + "AIHubExposeVideo", + "AIHubMetaExportLora", + "AIHubMetaExportModel", + "AIHubMetaSetExportedLoraImage", + "AIHubMetaSetExportedModelImage", + "AIHubMetaSetExportedWorkflowImage", + "AIHubUtilsCropMergedImageToLayerSize", + "AIHubUtilsFitLayerToMergedImage", + "AIHubUtilsFloatToInt", + "AIHubUtilsLoadCLIP", + "AIHubUtilsLoadLora", + "AIHubUtilsLoadModel", + "AIHubUtilsLoadVAE", + "AIHubUtilsMetadataMap", + "AIHubUtilsNewNormalizer", + "AIHubUtilsScaleImageAndMasks", + "AIHubUtilsStrToFloat", + "AIHubUtilsStrToVector", + "AIHubWorkflowController" + ], + { + "title_aux": "ComfyUI-aihub-workflow-exposer" + } + ], "https://github.com/ownimage/ComfyUI-ownimage": [ [ "Caching Image Loader" @@ -20366,6 +48541,15 @@ "title_aux": "ComfyUI-ownimage" } ], + "https://github.com/oxysoft/ComfyUI-gowiththeflow": [ + [ + "KSamplerNoiseless", + "NoiseWarperNode" + ], + { + "title_aux": "ComfyUI-gowiththeflow" + } + ], "https://github.com/oyvindg/ComfyUI-TrollSuite": [ [ "BinaryImageMask", @@ -20390,6 +48574,35 @@ "title_aux": "ComfyUI StoryCreater" } ], + "https://github.com/p1atdev/comfyui-timm-backbone": [ + [ + "TimmBackboneImageEncode", + "TimmBackboneImageNormalize", + "TimmBackboneLoader", + "TimmBackboneRGB2BGR", + "TimmEmbedsPrint" + ], + { + "title_aux": "comfyui-timm-backbone" + } + ], + "https://github.com/p1atdev/comfyui-tkg-chroma-key": [ + [ + "ApplyTKGChromaKeyAdvanced", + "ApplyTKGChromaKeySDXL" + ], + { + "title_aux": "TKG-DM (Training-free Chroma Key Content Generation Diffusion Model) for ComfyUI" + } + ], + "https://github.com/pacchikAI/comfyui_pacchik_ImagePromptBatch": [ + [ + "LoadImageandPrompt" + ], + { + "title_aux": "ImagePromptBatch" + } + ], "https://github.com/palant/image-resize-comfyui": [ [ "ImageResize" @@ -20403,19 +48616,33 @@ "AttentionCouplePPM", "CFGLimiterGuider", "CFGPPSamplerSelect", + "CLIPAttentionSelector", "CLIPMicroConditioning", "CLIPNegPip", "CLIPTextEncodeBREAK", + "CLIPTextEncodeInvertWeights", "CLIPTokenCounter", "ConditioningZeroOutCombine", + "ConvertTimestepToSigma", "DynSamplerSelect", + "DynamicThresholdingPost", + "DynamicThresholdingSimplePost", "EmptyLatentImageAR", + "EpsilonScalingPPM", "FreeU2PPM", "Guidance Limiter", "LatentOperationTonemapLuminance", "LatentToMaskBB", "LatentToWidthHeight", - "PPMSamplerSelect" + "MaskCompositePPM", + "ModelAttentionSelector", + "PPMSamplerSelect", + "RenormCFGPost", + "RescaleCFGPost", + "SamplerGradientEstimation", + "SkipFirstStepCFG", + "TCFGAdvanced", + "TilePreprocessorPPM" ], { "title_aux": "ComfyUI-ppm" @@ -20433,25 +48660,67 @@ ], "https://github.com/pamparamm/sd-perturbed-attention": [ [ + "FrequencyDecoupledGuidance", + "NormalizedAttentionGuidance", + "PLADIS", "PerturbedAttention", "SlidingWindowGuidanceAdvanced", "SmoothedEnergyGuidanceAdvanced", - "TRTAttachPag", - "TRTPerturbedAttention" + "TokenPerturbationGuidance" ], { "title_aux": "sd-perturbed-attention" } ], + "https://github.com/pantaleone-ai/Comfy-Firefly": [ + [ + "AdobeFireflyTextToImage" + ], + { + "title_aux": "Comfy-Firefly" + } + ], "https://github.com/pants007/comfy-pants": [ [ "CLIPTextEncodeAIO", - "Image Make Square" + "CLIPTextEncodeStylePile Node", + "Image Make Square", + "Image Make Square Node" ], { "title_aux": "pants" } ], + "https://github.com/papcorns/ComfyUI-Papcorns-Node-LoadImageFromUrl": [ + [ + "LoadImageFromUrlOrPath" + ], + { + "title_aux": "ComfyUI Load Image From URL" + } + ], + "https://github.com/papcorns/Papcorns-Comfyui-Custom-Nodes": [ + [ + "PapcornsAspectResize", + "PapcornsAudioTrimAndSave", + "PapcornsAudioTrimmer", + "PapcornsFpsCalculator", + "PapcornsMemoryManager", + "PapcornsSimpleMemoryManager", + "UploadImageToGCS" + ], + { + "title_aux": "Papcorns ComfyUI Custom Nodes" + } + ], + "https://github.com/pathway8-sudo/ComfyUI-Pathway-CutPNG-Node": [ + [ + "CutPNGNode" + ], + { + "title_aux": "ComfyUI-Pathway-CutPNG-Node" + } + ], "https://github.com/patriciogonzalezvivo/comfyui_glslnodes": [ [ "float", @@ -20476,6 +48745,28 @@ "title_aux": "GLSL Nodes" } ], + "https://github.com/paulh4x/ComfyUI_PHRenderFormerWrapper": [ + [ + "RenderFormerCamera", + "RenderFormerCameraTarget", + "RenderFormerExampleScene", + "RenderFormerFromJSON", + "RenderFormerGenerator", + "RenderFormerLighting", + "RenderFormerLightingCombine", + "RenderFormerLightingTarget", + "RenderFormerLoadMesh", + "RenderFormerMeshCombine", + "RenderFormerMeshTarget", + "RenderFormerModelLoader", + "RenderFormerRandomizeColors", + "RenderFormerRemeshMesh", + "RenderFormerSceneBuilder" + ], + { + "title_aux": "ComfyUI_PHRenderFormerWrapper" + } + ], "https://github.com/paulo-coronado/comfy_clip_blip_node": [ [ "CLIPTextEncodeBLIP", @@ -20486,6 +48777,23 @@ "title_aux": "comfy_clip_blip_node" } ], + "https://github.com/pavelchezcin/pcvideomask": [ + [ + "MaskBBoxStitcher", + "MaskToBBSmoothed" + ], + { + "title_aux": "pcvideomask" + } + ], + "https://github.com/pawelmal0101/ComfyUI-Webhook": [ + [ + "Webhook" + ], + { + "title_aux": "ComfyUI Webhook Notifier" + } + ], "https://github.com/pbpbpb2705/ComfyUI-LyraVSIH": [ [ "MultiObjectMask" @@ -20494,13 +48802,171 @@ "title_aux": "ComfyUI-LyraVSIH" } ], - "https://github.com/phazei/ConfyUI-node-prompt-stash-saver": [ + "https://github.com/pdale-boop/Comfyui-Network-Guardian": [ + [ + "Example", + "NetworkGuardianStatus" + ], + { + "title_aux": "Network Guardian" + } + ], + "https://github.com/penposs/ComfyUI_Gemini_Pro": [ + [ + "Gemini File Processing", + "Gemini File Upload", + "Gemini Pro" + ], + { + "title_aux": "ComfyUI Gemini Pro Node" + } + ], + "https://github.com/penposs/Comfyui-banana2": [ + [ + "BananaNode", + "TransparentImageNode" + ], + { + "title_aux": "Comfyui-banana2" + } + ], + "https://github.com/penposs/Comfyui_wan_api": [ + [ + "WanAPIImageToVideo", + "WanAPIImageUploader", + "WanAPI_Image2Video", + "WanAPI_ImageUploader" + ], + { + "title_aux": "Comfyui_wan_api" + } + ], + "https://github.com/pentarab/ComfyUI-For-ChatterBox": [ + [ + "ChatterboxTTS" + ], + { + "title_aux": "ComfyUI-For-ChatterBox" + } + ], + "https://github.com/perckle/comfyui_dpir": [ + [ + "ImageDenoiseWithDPIR" + ], + { + "title_aux": "ComfyUI-DPIR" + } + ], + "https://github.com/perezjoan/ComfyUI-QwenEdit-Urbanism-by-UGA": [ + [ + "RandomImageSelector", + "SequentialImageSelector", + "StatefulImageCollector" + ], + { + "title_aux": "ComfyUI-QwenEdit-Urbanism-by-UGA" + } + ], + "https://github.com/peter119lee/ComfyUI-BananaForge": [ + [ + "BananaForgeBatch", + "BananaForgeImg2Img", + "BananaForgeText2Img" + ], + { + "title_aux": "ComfyUI-BananaForge" + } + ], + "https://github.com/petmycat/ComfyUI-gen2": [ + [ + "Gen2_ApplyQwenControlNetFun", + "Gen2_DwposeThreshold", + "Gen2_LoadQwenControlNetFun", + "Gen2_LoadQwenLora", + "Gen2_LoadQwenVAE", + "Gen2_QwenClipTextEncode", + "Gen2_QwenImageControlSampler", + "Gen2_StringReplace" + ], + { + "title_aux": "ComfyUI-gen2" + } + ], + "https://github.com/petr-pr/ComfyUI-TranslationNode": [ + [ + "TranslationNode" + ], + { + "title_aux": "ComfyUI-TranslationNode" + } + ], + "https://github.com/pharmapsychotic/comfy-cliption": [ + [ + "CLIPtionBeamSearch", + "CLIPtionGenerate", + "CLIPtionLoader" + ], + { + "title_aux": "comfy-cliption" + } + ], + "https://github.com/phaserblast/ComfyUI-DGXSparkSafetensorsLoader": [ + [ + "DGXSparkSafetensorsLoader" + ], + { + "title_aux": "ComfyUI-DGXSparkSafetensorsLoader" + } + ], + "https://github.com/phazei/ComfyUI-OrpheusTTS-LMStudio": [ + [ + "OrpheusTTSLMStudio" + ], + { + "title_aux": "ComfyUI-OrpheusTTS-LMStudio" + } + ], + "https://github.com/phazei/ComfyUI-Prompt-Stash": [ [ "PromptStashManager", + "PromptStashPassthrough", "PromptStashSaver" ], { - "title_aux": "Prompt Stash Saver Node for ComfyUI" + "title_aux": "Prompt Stash" + } + ], + "https://github.com/philiprodriguez/ComfyUI-HunyuanImageLatentToVideoLatent": [ + [ + "HunyuanImageLatentToVideoLatent" + ], + { + "title_aux": "ComfyUI-HunyuanImageLatentToVideoLatent" + } + ], + "https://github.com/philipy1219/ComfyUI-CloudStorage": [ + [ + "LoadImageFromCloud", + "LoadMaskFromCloud", + "LoadVideoFromCloud", + "SaveImageToCloud", + "UploadFileToCloud" + ], + { + "title_aux": "ComfyUI-CloudStorage" + } + ], + "https://github.com/philipy1219/ComfyUI-TaylorSeer": [ + [ + "FluxBlockSwap", + "HidreamBlockSwap", + "QwenimageBlockSwap", + "TaylorSeer", + "TaylorSeerLite", + "WanvideoBlockSwap" + ], + { + "title_aux": "ComfyUI-TaylorSeer" } ], "https://github.com/philz1337x/ComfyUI-ClarityAI": [ @@ -20511,6 +48977,32 @@ "title_aux": "\u2728 Clarity AI - Creative Image Upscaler and Enhancer for ComfyUI" } ], + "https://github.com/phuvinh010701/ComfyUI-Nudenet": [ + [ + "ApplyNudenet", + "FilterdLabel", + "NudenetModelLoader" + ], + { + "title_aux": "ComfyUI-Nudenet" + } + ], + "https://github.com/phyblas/nsfw-shorier_comfyui": [ + [ + "CensorNsfwPart", + "FilterNsfw", + "FilterNsfwWithText", + "FindNsfwPart", + "FindNudenetPart", + "GetNsfwScore", + "IsNsfw", + "ReplaceIfNsfw", + "SaveImageSfw" + ], + { + "title_aux": "nsfw-shorier_comfyui" + } + ], "https://github.com/phyblas/paint-by-example_comfyui": [ [ "PaintbyExampleAdvanced", @@ -20523,6 +49015,38 @@ "title_aux": "paint-by-example @ ComfyUI" } ], + "https://github.com/pictorialink/ComfyUI-Custom-Node-Config": [ + [ + "FormSubmitNode" + ], + { + "title_aux": "ComfyUI-Custom-Node-Config" + } + ], + "https://github.com/pictorialink/ComfyUI-Qwen3-llama.cpp": [ + [ + "Comfyui_Qwen_CUDA/Qwen25_VL", + "Comfyui_Qwen_CUDA/Qwen3", + "Qwen25_VL", + "Qwen3" + ], + { + "title_aux": "ComfyUI-Qwen3-llama.cpp" + } + ], + "https://github.com/pictorialink/ComfyUI-Text-Translation": [ + [ + "Text", + "Text_Concatenate", + "Text_Switch", + "Text_Translation", + "Text_Translation_V2", + "Text_Translation_V2_Full" + ], + { + "title_aux": "ComfyUI-Text-Translation" + } + ], "https://github.com/picturesonpictures/comfy_PoP": [ [ "AdaptiveCannyDetector_PoP", @@ -20532,6 +49056,7 @@ "DallE3_PoP", "EfficientAttention", "LoadImageResizer_PoP", + "LoraStackLoader10", "LoraStackLoader10_PoP", "LoraStackLoader_PoP", "VAEDecoderPoP", @@ -20541,6 +49066,26 @@ "title_aux": "comfy_PoP" } ], + "https://github.com/pierreb-mf/ComfyUI-MF-PipoNodes": [ + [ + "MF_CustomDropdownMenu", + "MF_DiceRoller", + "MF_GraphPlotter", + "MF_LineCounter", + "MF_LineSelect", + "MF_LogFile", + "MF_LogReader", + "MF_ModuloAdvanced", + "MF_ReadData", + "MF_SaveData", + "MF_ShotHelper", + "MF_ShowData", + "MF_StoryDriver" + ], + { + "title_aux": "MF PipoNodes" + } + ], "https://github.com/pikenrover/ComfyUI_PRNodes": [ [ "CheckpointLoaderSimpleExtended", @@ -20556,6 +49101,63 @@ "title_aux": "ComfyUI_PRNodes" } ], + "https://github.com/piscesbody/ComfyUI-Upscale-CUDAspeed": [ + [ + "ImageUpscaleWithModelCUDAspeedFixed", + "UpscaleModelLoader" + ], + { + "title_aux": "ComfyUI-Upscale-CUDAspeed" + } + ], + "https://github.com/pixelpainter/UI-Decorators": [ + [ + "DividerNode", + "NoteNode", + "SpacerNode", + "TitleNode" + ], + { + "title_aux": "UI-Decorators [SubGraph]" + } + ], + "https://github.com/pixelpainter/comfyui-mute-bypass-by-ID": [ + [ + "RemoteControl", + "RemoteControlMulti", + "RemoteSwitch", + "RemoteSwitchMulti" + ], + { + "title_aux": "mute-bypass by node ID" + } + ], + "https://github.com/pixelworldai/ComfyUI-AlphaFlatten": [ + [ + "FlattenByAlpha" + ], + { + "title_aux": "ComfyUI-AlphaFlatten" + } + ], + "https://github.com/pizurny/ComfyUI-AV-Handles": [ + [ + "AVHandlesAdd", + "AVHandlesTrim" + ], + { + "title_aux": "ComfyUI-AV-Handles" + } + ], + "https://github.com/pizurny/Comfyui-Latent-Transform-Sampler": [ + [ + "LatentTransformSampler", + "NTransformSampler" + ], + { + "title_aux": "ComfyUI Latent Transform Sampler" + } + ], "https://github.com/pkpkTech/ComfyUI-SaveAVIF": [ [ "SaveAvif" @@ -20576,16 +49178,29 @@ ], "https://github.com/playbook3d/playbook3d-comfyui-nodes": [ [ + "Beauty Pass Sequence", + "Depth Pass Sequence", + "Mask Pass Sequence", + "Outline Pass Sequence", + "Playbook Aspect Ratio Select", "Playbook Beauty", + "Playbook Beauty Sequence", "Playbook Boolean", "Playbook Depth", + "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 Text" + "Playbook Seed", + "Playbook Text", + "Playbook Video" ], { "title_aux": "Playbook Nodes" @@ -20593,28 +49208,201 @@ ], "https://github.com/plugcrypt/CRT-Nodes": [ [ + "AdvancedBloomFX", + "AdvancedStringReplace", + "AnyTrigger", + "ArcaneBloomFX", + "AudioCompressor", + "AudioFrameAdjuster", + "AudioLoaderCrawl", + "AudioOrManualFrameCount", + "AudioPreviewer", + "AutopromptProcessor", + "BatchBrightnessCurve", "Boolean Transform", + "BooleanInvert", + "CLIPTextEncodeFluxMerged", + "CRT Post-Process Suite", + "CRTChromaKeyOverlay", + "CRTFirstLastFrameSelector", + "CRTLoadLastMedia", + "CRTLoadLastVideo", + "CRTPctCropCalculator", + "CRTPostProcess", + "CRT_AddSettingsAndPrompt", + "CRT_DynamicPromptScheduler", + "CRT_FileBatchPromptScheduler", + "CRT_KSamplerBatch", + "CRT_QuantizeAndCropImage", + "CRT_RemoveLines", + "CRT_StringBatcher", + "CRT_StringLineCounter", + "CRT_StringSplitter", + "CRT_UpscaleModelAdv", + "CRT_WAN_BatchSampler", + "ClarityFX", + "ClearStyleModelDualCache", + "ColorIsolationFX", + "ColourfulnessFX", + "ContourFX", + "DepthAnythingTensorrtFormat", + "EmptyContext", + "EnableLatent", + "FaceEnhancementPipelineWithInjection", + "FancyNoteNode", + "FancyTimerNode", + "FileLoaderCrawl", + "FileLoaderCrawlBatch", + "FilmGrainFX", + "FluxControlnetSampler", + "FluxControlnetSamplerWithInjection", + "FluxLoraBlocksPatcher", + "FluxTiledSamplerCustomAdvanced", + "ImageDimensionsFromMegaPixels", + "ImageDimensionsFromMegaPixelsAlt", + "ImageLoaderCrawl", + "LatentNoiseInjectionSampler", + "LensDistortFX", + "LensFX", + "LoadImageResize", + "LoadLastLatent", + "LoadVideoForVCaptioning", "Lora Loader Str", + "MaskEmptyFloatNode", + "MaskPassOrPlaceholder", + "MonoToStereoConverter", + "ParametricEQNode", + "PonyFaceEnhancementPipelineWithInjection", + "PonyUpscaleSamplerWithInjection", "Remove Trailing Comma", - "Toggle Lora Unet Blocks L1", - "Toggle Lora Unet Blocks L2" + "Resolution", + "SamplerSchedulerCrawler", + "SamplerSchedulerSelector", + "SaveAudioWithPath", + "SaveImageWithPath", + "SaveLatentWithPath", + "SaveTextWithPath", + "SaveVideoWithPath", + "SeamlessLoopBlender", + "SimpleFluxShiftNode", + "SimpleKnobNode", + "SimpleToggleNode", + "SmartControlNetApply", + "SmartDeNoiseFX", + "SmartPreprocessor", + "SmartStyleModelApplyDual", + "Strength To Steps", + "Technicolor2FX", + "Text Box line spot", + "Video Duration Calculator", + "VideoLoaderCrawl", + "WAN2.2 LoRA Compare Sampler", + "WanVideoLoraSelectMultiImproved" ], { "author": "CRT", - "description": "Single Blocks Arguments for LoRA Training", + "description": "Set of nodes for ComfyUI", "title": "CRT-Nodes", "title_aux": "CRT-Nodes" } ], + "https://github.com/pmarmotte2/ComfyUI-Speaker-Isolation": [ + [ + "SpeakerDiarizer", + "SpeakerDiarizerChronoNode" + ], + { + "title_aux": "ComfyUI-Speaker-Isolation" + } + ], + "https://github.com/pnikolic-amd/ComfyUI_MIGraphX": [ + [ + "CompileDiffusersMIGraphX" + ], + { + "title_aux": "MIGraphX Node for ComfyUI" + } + ], + "https://github.com/pollockjj/ComfyUI-MultiGPU": [ + [ + "CLIPLoaderDisTorch2MultiGPU", + "CLIPLoaderMultiGPU", + "CLIPVisionLoaderDisTorch2MultiGPU", + "CLIPVisionLoaderMultiGPU", + "CheckpointLoaderAdvancedDisTorch2MultiGPU", + "CheckpointLoaderAdvancedMultiGPU", + "CheckpointLoaderSimpleDisTorch2MultiGPU", + "CheckpointLoaderSimpleMultiGPU", + "ControlNetLoaderDisTorch2MultiGPU", + "ControlNetLoaderMultiGPU", + "DiffControlNetLoaderDisTorch2MultiGPU", + "DiffControlNetLoaderMultiGPU", + "DiffusersLoaderDisTorch2MultiGPU", + "DiffusersLoaderMultiGPU", + "DualCLIPLoaderDisTorch2MultiGPU", + "DualCLIPLoaderMultiGPU", + "QuadrupleCLIPLoaderDisTorch2MultiGPU", + "QuadrupleCLIPLoaderMultiGPU", + "TripleCLIPLoaderDisTorch2MultiGPU", + "TripleCLIPLoaderMultiGPU", + "UNETLoaderDisTorch2MultiGPU", + "UNETLoaderMultiGPU", + "UNetLoaderLP", + "VAELoaderDisTorch2MultiGPU", + "VAELoaderMultiGPU" + ], + { + "title_aux": "ComfyUI-MultiGPU" + } + ], + "https://github.com/polym/ComfyUI-musubi": [ + [ + "MusubiUNETJitLoader", + "MusubiUNETLoader" + ], + { + "title_aux": "ComfyUI-musubi" + } + ], + "https://github.com/polymath-wtf/ComfyUI-Polymath-Vibenodes": [ + [ + "PM_JsonPrompt" + ], + { + "title_aux": "ComfyUI-Polymath-Vibenodes" + } + ], + "https://github.com/pongjoo/ComfyUI-PJLatent": [ + [ + "PJ_Latent_Generator", + "PJ_Video_Latent_Generator" + ], + { + "title_aux": "ComfyUI-PJLatent" + } + ], + "https://github.com/popoimm/comfyui-popo-utility": [ + [ + "PopoImageAspectRatioNode", + "PopoImageDimensionsNode", + "PopoImageSizeNode", + "PopoMathExpressionNode" + ], + { + "title_aux": "ComfyUI Popo Utility" + } + ], "https://github.com/portu-sim/comfyui_bmab": [ [ "BMAB Alpha Composit", + "BMAB Base64 Image", "BMAB Basic", "BMAB Black And White", "BMAB Blend", "BMAB Clip Text Encoder SDXL", "BMAB Conditioning To Bind", "BMAB Context", + "BMAB Control Net", "BMAB ControlNet", "BMAB ControlNet IPAdapter", "BMAB ControlNet Openpose", @@ -20624,12 +49412,15 @@ "BMAB Detect And Paste", "BMAB Detection Crop", "BMAB Detector", + "BMAB DinoSam", + "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", @@ -20644,6 +49435,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", @@ -20678,6 +49470,184 @@ "title_aux": "comfyui_bmab" } ], + "https://github.com/power88/ComfyUI-PDiD-LLM-Nodes": [ + [ + "APILLMLoader", + "CaptionViaAPI", + "ChatViaAPI", + "ExtraParameters", + "GenerateBBOXViaAPI" + ], + { + "title_aux": "ComfyUI-PDiD-LLM-Nodes" + } + ], + "https://github.com/princepainter/ComfyUI-PainterAI2V": [ + [ + "PainterAI2V", + "PainterAV2V" + ], + { + "title_aux": "ComfyUI-PainterAI2V" + } + ], + "https://github.com/princepainter/ComfyUI-PainterFrameCount": [ + [ + "PainterFrameMath" + ], + { + "title_aux": "ComfyUI-PainterFrameCount" + } + ], + "https://github.com/princepainter/ComfyUI-PainterI2V": [ + [ + "PainterI2V" + ], + { + "title_aux": "ComfyUI-PainterI2V" + } + ], + "https://github.com/princepainter/ComfyUI-PainterI2Vadvanced": [ + [ + "PainterI2VAdvanced" + ], + { + "title_aux": "ComfyUI-PainterI2Vadvanced" + } + ], + "https://github.com/princepainter/ComfyUI-PainterI2VforKJ": [ + [ + "PainterI2VforKJ" + ], + { + "title_aux": "ComfyUI-PainterI2VforKJ" + } + ], + "https://github.com/princepainter/ComfyUI-PainterImageFromBatch": [ + [ + "PainterImageFromBatch" + ], + { + "title_aux": "ComfyUI-PainterImageFromBatch" + } + ], + "https://github.com/princepainter/ComfyUI-PainterImageLoad": [ + [ + "PainterImageLoad" + ], + { + "title_aux": "ComfyUI-PainterImageLoad" + } + ], + "https://github.com/princepainter/ComfyUI-PainterLTXV2": [ + [ + "PainterLTX2V", + "PainterLTX2VPlus", + "PainterSamplerLTXV" + ], + { + "title_aux": "ComfyUI-PainterLTXV2" + } + ], + "https://github.com/princepainter/ComfyUI-PainterLongVideo": [ + [ + "PainterLongVideo" + ], + { + "title_aux": "ComfyUI-PainterLongVideo" + } + ], + "https://github.com/princepainter/ComfyUI-PainterMultiF2V": [ + [ + "PainterCombineFromBatch", + "PainterMultiF2V", + "PainterPrompt" + ], + { + "title_aux": "ComfyUI-PainterMultiF2V" + } + ], + "https://github.com/princepainter/ComfyUI-PainterQwenImageEdit": [ + [ + "PainterQwenImageEditPlus" + ], + { + "title_aux": "ComfyUI-PainterQwenImageEdit" + } + ], + "https://github.com/princepainter/ComfyUI-PainterVideoCombine": [ + [ + "PainterVideoCombine" + ], + { + "title_aux": "ComfyUI-PainterVideoCombine" + } + ], + "https://github.com/princepainter/ComfyUI-PainterVideoInfo": [ + [ + "VideoInfoLoaded", + "VideoInfoSource" + ], + { + "title_aux": "ComfyUI-PainterVideoInfo" + } + ], + "https://github.com/princepainter/ComfyUI-PainterVideoUpscale": [ + [ + "PainterVideoUpscale" + ], + { + "title_aux": "ComfyUI-PainterVideoUpscale" + } + ], + "https://github.com/princepainter/Comfyui-PainterAudioCut": [ + [ + "PainterAudioCut" + ], + { + "title_aux": "Comfyui-PainterAudioCut" + } + ], + "https://github.com/princepainter/Comfyui-PainterAudioLength": [ + [ + "PainterAudioLength" + ], + { + "title_aux": "Comfyui-PainterAudioLength" + } + ], + "https://github.com/princepainter/Comfyui-PainterFLF2V": [ + [ + "PainterFLF2V" + ], + { + "title_aux": "PainterFLF2V - First/Last Frame Video Enhancer" + } + ], + "https://github.com/princepainter/Comfyui-PainterFluxImageEdit": [ + [ + "PainterFluxImageEdit" + ], + { + "title_aux": "Comfyui-PainterFluxImageEdit" + } + ], + "https://github.com/princepainter/Comfyui-PainterSampler": [ + [ + "PainterSampler" + ], + { + "title_aux": "Comfyui-PainterSampler" + } + ], + "https://github.com/princepainter/Comfyui-PainterVRAM": [ + [ + "PainterVRAM" + ], + { + "title_aux": "Comfyui-PainterVRAM" + } + ], "https://github.com/prodogape/ComfyUI-EasyOCR": [ [ "Apply EasyOCR" @@ -20711,6 +49681,7 @@ "Draw Labelme Json", "Load Yolov8 Model", "Load Yolov8 Model From Path", + "Load Yolov8 Model Upload", "Save Labelme Json" ], { @@ -20726,6 +49697,72 @@ "title_aux": "ComfyUI-SAM2-Realtime" } ], + "https://github.com/psdwizzard/Comfyui-XYZ-stitch": [ + [ + "XYZAutoCollector", + "XYZGridInput", + "XYZGridInputBatch", + "XYZGridIterator", + "XYZGridStitch", + "XYZImageCollector", + "XYZStringToNumber" + ], + { + "title_aux": "Comfyui-XYZ-stitch" + } + ], + "https://github.com/ptmaster/ComfyUI-Load-Diffusion-Model-to-Muti-GPUs/raw/refs/heads/main/Load%20Diffusion%20Model%20into%20Muti%20GPUs.py": [ + [ + "OverrideLoadedDiffusionDevice" + ], + { + "title_aux": "ComfyUI-Load-Diffusion-Model-to-Muti-GPUs" + } + ], + "https://github.com/ptmaster/Comfyui-PT-Keyframe-Camera": [ + [ + "PT_KeyframeCamera" + ], + { + "title_aux": "Comfyui-PT-Keyframe-Camera" + } + ], + "https://github.com/ptmaster/comfyui-audio-speed": [ + [ + "PT48KHZ", + "PTAudioSpeed", + "PTEnsureStereo" + ], + { + "title_aux": "ComfyUI-audio-speed" + } + ], + "https://github.com/pupba/Comfy_ForEach": [ + [ + "EventBridgeTriggerNode", + "FolderImageLoaderNode", + "IndexedImageSelectorNode", + "IndexedNameSelectorNode", + "IsLastIndexNode", + "LoadPreCheckpointModel", + "LoadPreControlNetModel", + "SaveExactNameImageNode", + "StringViewer", + "TaskIDStorageNode" + ], + { + "title_aux": "ComfyForEach" + } + ], + "https://github.com/purewater2011/comfyui_color_detection": [ + [ + "IsYellowish", + "YellowHeatmap" + ], + { + "title_aux": "comfyui_color_detection" + } + ], "https://github.com/purpen/ComfyUI-AIRedoon": [ [ "AIRedoonApplyLoRAStack", @@ -20752,6 +49789,150 @@ "title_aux": "ComfyUI-ImageTagger" } ], + "https://github.com/purzbeats/ComfyUI-Purz": [ + [ + "PurzAnimatedCheckerboard", + "PurzAnimatedNoise", + "PurzAnimatedPolkaDots", + "PurzAnimatedStripes", + "PurzCheckerboardPattern", + "PurzColorAdjust", + "PurzEdgeDetect", + "PurzGradientPattern", + "PurzGridPattern", + "PurzHexagonPattern", + "PurzImageBlur", + "PurzImageFlip", + "PurzImageRotate", + "PurzImageToBlackWhite", + "PurzInteractiveFilter", + "PurzPixelate", + "PurzPolkaDotPattern", + "PurzSimpleNoisePattern", + "PurzStripesPattern" + ], + { + "title_aux": "ComfyUI-Purz" + } + ], + "https://github.com/pvlprk/comfyui-pvl-api-nodes": [ + [ + "PVL Call OpenAI Assistant", + "PVL ComfyDeploy API Caller", + "PVL Compare", + "PVLCheckIfConnected", + "PVL_Any2String", + "PVL_BatchAny", + "PVL_BooleanLogic", + "PVL_Color_Match", + "PVL_ComfyDeploy_LoraPrep", + "PVL_ComfyDeploy_Universal", + "PVL_Comfydeploy_Avatar_PulID_API", + "PVL_Crop2AR", + "PVL_CropToMask", + "PVL_EdgeExtend", + "PVL_GeminiSegmentation", + "PVL_Gemini_API", + "PVL_Gemini_API_Multi", + "PVL_Gemini_API_avatar_special", + "PVL_Gemini_with_fallback_API", + "PVL_Gemini_with_fallback_API_Multi", + "PVL_Get_Image_Size", + "PVL_Google_NanoBanana_API", + "PVL_Google_NanoBanana_API_mandatory_IMG", + "PVL_Google_NanoBanana_Multi_API", + "PVL_Google_NanoBanana_PRO_Multi_API", + "PVL_ImageBatchToImageList", + "PVL_ImageComposite", + "PVL_ImageListToImageBatch", + "PVL_ImageResize", + "PVL_ImageStitch", + "PVL_Image_Translation_Offset", + "PVL_Math", + "PVL_MathCondition", + "PVL_NoneOutputNode", + "PVL_Padding", + "PVL_Qwen_Img_Edit_Inpaint", + "PVL_Qwen_Img_Edit_Plus", + "PVL_SaveOrNot", + "PVL_Seg_Florence2_API", + "PVL_SplitString", + "PVL_Stitch2Size", + "PVL_StringConcatX3", + "PVL_StringConcatX8", + "PVL_StringListToString", + "PVL_StringToNumber", + "PVL_StringToStringList", + "PVL_StylePicker", + "PVL_Switch", + "PVL_Switch_Huge", + "PVL_Switch_x10", + "PVL_Switch_x15", + "PVL_Switch_x5", + "PVL_Text_Overlay", + "PVL_Txt", + "PVL_fal_DepthAnythingV2_API", + "PVL_fal_EvfSam_API", + "PVL_fal_EvfSam_X5_API", + "PVL_fal_Flux2_Camera_Ctrl_API", + "PVL_fal_Flux2_Dev_API", + "PVL_fal_Flux2_Flex_API", + "PVL_fal_Flux2_Pro_API", + "PVL_fal_FluxDevPulidAvatar_API", + "PVL_fal_FluxDev_API", + "PVL_fal_FluxGeneral_API", + "PVL_fal_FluxPro_Fill_API", + "PVL_fal_FluxPro_v1_1_Ultra_API", + "PVL_fal_FluxPulid", + "PVL_fal_FluxWithLoraPulID_API", + "PVL_fal_FluxWithLora_API", + "PVL_fal_Flux_Dev_Inpaint_API", + "PVL_fal_KontextDevInpaint_API", + "PVL_fal_KontextDevLora_API", + "PVL_fal_KontextMaxMulti_API", + "PVL_fal_KontextMaxSingle_API", + "PVL_fal_KontextPro_API", + "PVL_fal_Kontext_Dev_API", + "PVL_fal_LumaPhoton_FlashReframe_API", + "PVL_fal_LumaPhoton_Reframe_API", + "PVL_fal_Moondream3_Segment_API", + "PVL_fal_NanoBanana_API", + "PVL_fal_QwenImage_API", + "PVL_fal_RemoveBackground_API", + "PVL_fal_Sam3_Segmentation_API", + "PVL_fal_SeeDream4_API", + "PVL_fal_SeeDream_45_API" + ], + { + "title_aux": "ComfyUI Assistant Node" + } + ], + "https://github.com/pxl-pshr/GlitchNodes": [ + [ + "ASCII", + "Corruptor", + "DataBend", + "DitherMe", + "FrequencyModulation", + "GlitchIT", + "LineScreen", + "LuminousFlow", + "OrderedDithering", + "Pixel8Bit", + "PixelFloat", + "PixelRedistribution", + "Rekked", + "Scanz", + "TvGlitch", + "VHSonAcid", + "VaporWave", + "VideoModulation", + "interference" + ], + { + "title_aux": "GlitchNodes" + } + ], "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": [ [ "CheckpointLoader|pysssss", @@ -20760,7 +49941,6 @@ "LoadText|pysssss", "LoraLoader|pysssss", "MathExpression|pysssss", - "MultiPrimitive|pysssss", "PlaySound|pysssss", "Repeater|pysssss", "ReroutePrimitive|pysssss", @@ -20770,7 +49950,7 @@ "SystemNotification|pysssss" ], { - "title_aux": "pythongosssss/ComfyUI-Custom-Scripts" + "title_aux": "ComfyUI-Custom-Scripts" } ], "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": [ @@ -20781,6 +49961,17 @@ "title_aux": "ComfyUI WD 1.4 Tagger" } ], + "https://github.com/pzc163/Comfyui-CatVTON": [ + [ + "AutoMasker", + "CatVTON", + "LoadAutoMasker", + "LoadCatVTONPipeline" + ], + { + "title_aux": "Comfyui-CatVTON" + } + ], "https://github.com/pzc163/Comfyui_MiniCPMv2_6-prompt-generator": [ [ "Prompt_Generator", @@ -20790,6 +49981,102 @@ "title_aux": "Comfyui_MiniCPMv2_6-prompt-generator" } ], + "https://github.com/quank123wip/ComfyUI-Step1X-Edit": [ + [ + "Step-1XEditNode" + ], + { + "title_aux": "ComfyUI-Step1X-Edit" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesCompositionGuides": [ + [ + "EsesCompositionGuides" + ], + { + "title_aux": "ComfyUI-EsesCompositionGuides" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageAdjustments": [ + [ + "EsesImageAdjustments2" + ], + { + "title_aux": "ComfyUI-EsesImageAdjustments" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageCompare": [ + [ + "EsesImageCompare" + ], + { + "title_aux": "ComfyUI-EsesImageCompare" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageEffectBloom": [ + [ + "EsesImageEffectBloom" + ], + { + "title_aux": "ComfyUI-EsesImageEffectBloom" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageEffectCurves": [ + [ + "EsesImageEffectCurves" + ], + { + "title_aux": "ComfyUI-EsesImageEffectCurves" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageEffectLevels": [ + [ + "EsesImageEffectLevels" + ], + { + "title_aux": "ComfyUI-EsesImageEffectLevels" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageLensEffects": [ + [ + "EsesImageLensEffects" + ], + { + "title_aux": "ComfyUI-EsesImageLensEffects" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageOffset": [ + [ + "EsesImageOffset" + ], + { + "title_aux": "ComfyUI-EsesImageOffset" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageResize": [ + [ + "EsesImageResize" + ], + { + "title_aux": "EsesImageResize" + } + ], + "https://github.com/quasiblob/ComfyUI-EsesImageTransform": [ + [ + "EsesImageTransform" + ], + { + "title_aux": "ComfyUI-EsesImageTransform" + } + ], + "https://github.com/quasiblob/EsesCompositionGoldenRatio": [ + [ + "EsesCompositionGoldenRatio" + ], + { + "title_aux": "EsesCompositionGoldenRatio" + } + ], "https://github.com/qwixiwp/queuetools": [ [ "load images (queue tools)" @@ -20798,6 +50085,86 @@ "title_aux": "queuetools" } ], + "https://github.com/r3dsd/comfyui-template-loader": [ + [ + "TemplateLoader" + ], + { + "title_aux": "Comfyui-Template-Loader" + } + ], + "https://github.com/rafacost/rafacost-comfy": [ + [ + "DreamOmni2-VLM", + "DreamOmni2_Output_Node" + ], + { + "author": "rafacost", + "description": "Nodes to use the DreamOmni2 GGUF models in ComfyUI.", + "title": "rafacostComfy Nodes", + "title_aux": "rafacostComfy" + } + ], + "https://github.com/railep/ComfyUI-HunyuanVideo-Foley": [ + [ + "HunyuanFoleyNode" + ], + { + "title_aux": "ComfyUI-HunyuanVideo-Foley" + } + ], + "https://github.com/raindrop313/ComfyUI-WanVideoStartEndFrames": [ + [ + "WanVideoSEDecode", + "WanVideoSEImageClipEncode", + "WanVideoSEModelLoader", + "WanVideoSESampler", + "WanVideoSEVAELoader" + ], + { + "title_aux": "ComfyUI-WanVideoStartEndFrames" + } + ], + "https://github.com/raindrop313/ComfyUI_SD3_Flowedit": [ + [ + "FlowEditCFGGuider", + "FlowEditSampler", + "OutSD3ModelSamplingPred" + ], + { + "title_aux": "ComfyUI_SD3_Flowedit" + } + ], + "https://github.com/rainlizard/ComfyUI-Raffle": [ + [ + "CurvedRescaleCFG", + "PreviewHistory", + "Raffle", + "TagCategoryStrength" + ], + { + "title_aux": "Raffle" + } + ], + "https://github.com/rainlizard/ComfyUI-WhirlpoolUpscaler": [ + [ + "WhirlpoolUpscaler" + ], + { + "title_aux": "Whirlpool Upscaler" + } + ], + "https://github.com/rakkarage/ComfyRage": [ + [ + "Debug", + "Notify", + "Pre", + "Show" + ], + { + "title_aux": "ComfyRage" + } + ], "https://github.com/ramesh-x90/ComfyUI_pyannote": [ [ "Speaker Diarization", @@ -20827,14 +50194,36 @@ "title_aux": "advance-aesthetic-score" } ], - "https://github.com/raspie10032/ComfyUI_RS_NAI_Local_Prompt_converter": [ + "https://github.com/randomnoner11/ComfyUI-MistralAI-API": [ [ - "ComfyToNovelAIPrompt", - "NAIPromptExtractor", - "NovelAIToComfyPrompt" + "InvokeMistralEndpoint", + "LoadFewShotPrompt" ], { - "title_aux": "ComfyUI NAI Prompt Converter" + "title_aux": "ComfyUI-MistralAI-API" + } + ], + "https://github.com/ranska/pixel_palette_art": [ + [ + "AppendPaletteNode", + "ColorFormatterNode", + "ColorPreviewNode", + "CopySubsetNode", + "CreateColorFromRGBNode", + "CreateGradientPaletteNode", + "GimpPaletteLoader", + "GradientBetweenNode", + "InsertPaletteNode", + "MixColorsNode", + "MixPaletteNode", + "PaletteFormatter", + "PaletteViewNode", + "PixelPaletteExtractor", + "ReplaceColorAtNode", + "SortPaletteNode" + ], + { + "title_aux": "Pixel Palette Art" } ], "https://github.com/ratulrafsan/Comfyui-SAL-VTON": [ @@ -20846,6 +50235,17 @@ "title_aux": "Comfyui-SAL-VTON" } ], + "https://github.com/raykindle/ComfyUI_Step1X-Edit": [ + [ + "Step1XEditGenerate", + "Step1XEditModelLoader", + "Step1XEditTeaCacheGenerate", + "Step1XEditTeaCacheModelLoader" + ], + { + "title_aux": "ComfyUI_Step1X-Edit" + } + ], "https://github.com/raysers/Mflux-ComfyUI": [ [ "MfluxControlNetLoader", @@ -20860,6 +50260,139 @@ "title_aux": "Mflux-ComfyUI" } ], + "https://github.com/razvanmatei-sf/comfyui-stillfront": [ + [ + "SFLLMChat", + "SFPromptList", + "SFQwenResolution", + "SFTextAnalyzer", + "SFVertexAIImagen3TextToImage", + "SFVertexAIImagen4TextToImage", + "SFVertexAIImagen4Upscale", + "SFVertexAINanaBananaPro", + "SFVertexAINanaBananaProEdit", + "SFVertexAIVeo31ImageToVideo", + "SFVertexAIVeo31TextToVideo", + "SFWaveSpeedClient", + "SFWaveSpeedFluxControlNetUnionPro2", + "SFWaveSpeedFluxKontextDev", + "SFWaveSpeedFluxKontextMax", + "SFWaveSpeedFluxKontextPro", + "SFWaveSpeedImageUpscaler", + "SFWaveSpeedInfiniteTalk", + "SFWaveSpeedInfiniteTalkMulti", + "SFWaveSpeedNanoBananaEdit", + "SFWaveSpeedNanoBananaProEdit", + "SFWaveSpeedNanoBananaProEditMulti", + "SFWaveSpeedNanoBananaProEditUltra", + "SFWaveSpeedNanoBananaProTextToImage", + "SFWaveSpeedNanoBananaProTextToImageMulti", + "SFWaveSpeedNanoBananaProTextToImageUltra", + "SFWaveSpeedNanoBananaTextToImage", + "SFWaveSpeedQwenEdit", + "SFWaveSpeedQwenEditLora", + "SFWaveSpeedQwenEditPlus", + "SFWaveSpeedQwenEditPlusLora", + "SFWaveSpeedQwenTextToImage", + "SFWaveSpeedQwenTextToImageLora", + "SFWaveSpeedRunwayUpscale", + "SFWaveSpeedSeedreamV4", + "SFWaveSpeedSeedreamV4Edit", + "SFWaveSpeedSeedreamV4EditSequential", + "SFWaveSpeedSeedreamV4Sequential", + "SFWaveSpeedSora2ImageToVideo", + "SFWaveSpeedSora2ImageToVideoPro", + "SFWaveSpeedSora2TextToVideo", + "SFWaveSpeedSora2TextToVideoPro", + "SFWaveSpeedVeo31FastImageToVideo", + "SFWaveSpeedVeo31FastTextToVideo", + "SFWaveSpeedVeo31ImageToVideo", + "SFWaveSpeedVeo31ReferenceToVideo", + "SFWaveSpeedVeo31TextToVideo", + "SFWaveSpeedWan22Animate", + "SFWaveSpeedWan22I2V720p", + "SFWaveSpeedWan25ImageEdit", + "SFWaveSpeedWan25ImageToVideo", + "SFWaveSpeedWan25ImageToVideoFast", + "SFWaveSpeedWan25TextToImage", + "SFWaveSpeedWan25TextToVideo", + "SFWaveSpeedWan25TextToVideoFast", + "WaveSpeedAI Qwen Image Text to Image", + "WaveSpeedAI Qwen Image Text to Image LoRA", + "WaveSpeedAI_RunwaymlUpscaleV1Node", + "WaveSpeedAI_Wan22I2V720pNode" + ], + { + "title_aux": "comfyui-stillfront" + } + ], + "https://github.com/razvanmatei-sf/razv-llm": [ + [ + "RazvLLMChat" + ], + { + "title_aux": "ComfyUI Razv LLM Node" + } + ], + "https://github.com/razvanmatei-sf/razv-wavespeed": [ + [ + "WaveSpeedAI Alibaba Wan 2.5 Image Edit", + "WaveSpeedAI ByteDance Seedream V4", + "WaveSpeedAI ByteDance Seedream V4 Sequential", + "WaveSpeedAI Bytedance Seedream V4 Edit", + "WaveSpeedAI Bytedance Seedream V4 Edit Sequential", + "WaveSpeedAI Client", + "WaveSpeedAI Flux ControlNet Union Pro 2.0", + "WaveSpeedAI Flux Kontext Dev", + "WaveSpeedAI Flux Kontext Max", + "WaveSpeedAI Flux Kontext Pro", + "WaveSpeedAI Google Nano Banana Edit", + "WaveSpeedAI Google Nano Banana Pro Edit", + "WaveSpeedAI Google Nano Banana Pro Edit Multi", + "WaveSpeedAI Google Nano Banana Pro Edit Ultra", + "WaveSpeedAI Google Nano Banana Pro Text to Image", + "WaveSpeedAI Google Nano Banana Pro Text to Image Multi", + "WaveSpeedAI Google Nano Banana Pro Text to Image Ultra", + "WaveSpeedAI Google Nano Banana Text to Image", + "WaveSpeedAI Google VEO 3.1 Fast Image-to-Video", + "WaveSpeedAI Google VEO 3.1 Fast Text-to-Video", + "WaveSpeedAI Google VEO 3.1 Image-to-Video", + "WaveSpeedAI Google VEO 3.1 Reference-to-Video", + "WaveSpeedAI Google VEO 3.1 Text-to-Video", + "WaveSpeedAI Image Upscaler", + "WaveSpeedAI InfiniteTalk", + "WaveSpeedAI InfiniteTalk Multi", + "WaveSpeedAI OpenAI Sora 2 Image-to-Video", + "WaveSpeedAI OpenAI Sora 2 Image-to-Video Pro", + "WaveSpeedAI OpenAI Sora 2 Text-to-Video", + "WaveSpeedAI OpenAI Sora 2 Text-to-Video Pro", + "WaveSpeedAI Qwen Image Edit", + "WaveSpeedAI Qwen Image Edit LoRA", + "WaveSpeedAI Qwen Image Edit Plus", + "WaveSpeedAI Qwen Image Edit Plus LoRA", + "WaveSpeedAI Qwen Image Text to Image", + "WaveSpeedAI Qwen Image Text to Image LoRA", + "WaveSpeedAI WAN 2.2 Animate", + "WaveSpeedAI WAN 2.5 Image-to-Video", + "WaveSpeedAI WAN 2.5 Image-to-Video Fast", + "WaveSpeedAI WAN 2.5 Text-to-Image", + "WaveSpeedAI WAN 2.5 Text-to-Video", + "WaveSpeedAI WAN 2.5 Text-to-Video Fast", + "WaveSpeedAI_RunwaymlUpscaleV1Node", + "WaveSpeedAI_Wan22I2V720pNode" + ], + { + "title_aux": "ComfyUI Razv WaveSpeed Nodes" + } + ], + "https://github.com/razvanmatei-sf/serhii-prompt-list": [ + [ + "Dynamic Prompt List" + ], + { + "title_aux": "Dynamic Prompt List Node for ComfyUI" + } + ], "https://github.com/rcfcu2000/zhihuige-nodes-comfyui": [ [ "Combine ZHGMasks", @@ -20892,6 +50425,14 @@ "title_aux": "rcsaquino/comfyui-custom-nodes" } ], + "https://github.com/rdanalex/ComfyUI-ClownSampler": [ + [ + "Clown Sampler Loader JK" + ], + { + "title_aux": "ComfyUI-ClownSampler" + } + ], "https://github.com/rdancer/ComfyUI_Florence2SAM2": [ [ "RdancerFlorence2SAM2GenerateMask" @@ -20900,6 +50441,51 @@ "title_aux": "ComfyUI_Florence2SAM2" } ], + "https://github.com/rdawgemfl/rdawg_3D_pack": [ + [ + "RDAWG3DAnalyzeMesh", + "RDAWG3DBoundingBox", + "RDAWG3DComputeCurvature", + "RDAWG3DComputeDistance", + "RDAWG3DCreateMesh", + "RDAWG3DDownsamplePointCloud", + "RDAWG3DExtractFeatures", + "RDAWG3DLoadModel", + "RDAWG3DLoadPointCloud", + "RDAWG3DMeshToImage", + "RDAWG3DMeshToPointCloud", + "RDAWG3DPointCloudToMesh", + "RDAWG3DRemeshUniform", + "RDAWG3DRemoveOutliers", + "RDAWG3DSimplifyMesh", + "RDAWG3DSmoothMesh", + "RDAWG3DSubdivideMesh", + "RDAWG3DTransform", + "RDAWG3DTransformPointCloud" + ], + { + "title_aux": "RDAWG 3D Pack (CUDA 12.8 + PyTorch 2.9.0)" + } + ], + "https://github.com/rdomunky/comfyui-subfolderimageloader": [ + [ + "SubfolderImageLoader" + ], + { + "title_aux": "comfyui-subfolderimageloader" + } + ], + "https://github.com/reallusion/ComfyUI-Reallusion": [ + [ + "additional_image", + "control_net", + "core", + "upscale_data" + ], + { + "title_aux": "Reallusion ComfyUI Custom Nodes" + } + ], "https://github.com/receyuki/comfyui-prompt-reader-node": [ [ "SDAnyConverter", @@ -20924,15 +50510,28 @@ "https://github.com/recraft-ai/ComfyUI-RecraftAI": [ [ "RecraftBackgroundRemover", + "RecraftBackgroundReplacer", "RecraftClarityUpscaler", "RecraftClient", "RecraftGenerativeUpscaler", - "RecraftImageGenerator" + "RecraftImageGenerator", + "RecraftImageToImageTransformer", + "RecraftInpainter" ], { "title_aux": "ComfyUI-RecraftAI" } ], + "https://github.com/red-polo/ComfyUI-WanViTPoseRetargeter": [ + [ + "WanViTPoseEstimator", + "WanViTPoseRetargeter", + "WanViTPoseRetargeterToSrc" + ], + { + "title_aux": "ComfyUI-WanViTPoseRetargeter" + } + ], "https://github.com/redhottensors/ComfyUI-Prediction": [ [ "AvoidErasePrediction", @@ -20959,6 +50558,84 @@ "title_aux": "ComfyUI-Prediction" } ], + "https://github.com/reeoi/ComfyUI-WebROI": [ + [ + "WebROICapture" + ], + { + "title_aux": "ComfyUI-WebROI" + } + ], + "https://github.com/regiellis/ComfyUI-EasyColorCorrector": [ + [ + "BatchColorCorrection", + "ColorCorrectionViewer", + "ColorPaletteExtractor", + "EasyColorCorrection", + "FilmEmulation", + "RawImageProcessor", + "VAEColorCorrector" + ], + { + "title_aux": "Easy Color Correction" + } + ], + "https://github.com/regiellis/ComfyUI-EasyIllustrious": [ + [ + "IllustriousAppendRegion", + "IllustriousArtists", + "IllustriousAttentionCouple", + "IllustriousAutoOutpaint", + "IllustriousCLIPTextEncoder", + "IllustriousCharacters", + "IllustriousClothing", + "IllustriousColorSuite", + "IllustriousE621Artists", + "IllustriousE621Characters", + "IllustriousEmotions", + "IllustriousEmptyLatentImage", + "IllustriousEmptyRegions", + "IllustriousHairstyles", + "IllustriousKSamplerPresets", + "IllustriousKSamplerPro", + "IllustriousLatentUpscale", + "IllustriousMakeRegion", + "IllustriousMasterModel", + "IllustriousMultiPassSampler", + "IllustriousNegativeCLIPEncoder", + "IllustriousPonyTokens", + "IllustriousPoses", + "IllustriousPrompt", + "IllustriousRegionalConditioning", + "IllustriousScenesPlus", + "IllustriousScheduler", + "IllustriousSmartSceneGenerator", + "IllustriousTriplePassSampler", + "IllustriousVAEDecode", + "IllustriousVAEEncode", + "TIPOPromptOptimizer" + ], + { + "title_aux": "Comfyui-EasyIllustrious" + } + ], + "https://github.com/regiellis/ComfyUI-EasyNoobai": [ + [ + "EasyNoobai", + "EasyNoobaiMasterModel", + "NoobaiArtists", + "NoobaiCharacters", + "NoobaiClothing", + "NoobaiE621Artists", + "NoobaiE621Characters", + "NoobaiHairstyles", + "NoobaiPony", + "NoobaiPoses" + ], + { + "title_aux": "ComfyUI-EasyNoobai" + } + ], "https://github.com/regiellis/ComfyUI-EasyPony": [ [ "EasyPony" @@ -20967,6 +50644,38 @@ "title_aux": "ComfyUI-EasyPony" } ], + "https://github.com/regiellis/ComfyUI-SDXL-Adherence": [ + [ + "AlignHintsToLatent", + "AutoSize64", + "CropByBBox", + "NegativePromptHelper", + "PostPolish", + "SDXLDualClipEncode", + "SDXLPromptStyler", + "SmartLatent" + ], + { + "title_aux": "SDXL Adherence" + } + ], + "https://github.com/relhamdi/ComfyUI-RE-CustomUtils": [ + [ + "PromptPresetSelector" + ], + { + "title_aux": "ComfyUI-RE-CustomUtils" + } + ], + "https://github.com/remingtonspaz/ComfyUI-ReferenceChain": [ + [ + "ReferenceChainConditioning", + "ReferenceChainConditioningBase64" + ], + { + "title_aux": "Reference Chain Conditioning" + } + ], "https://github.com/revirevy/Comfyui_saveimage_imgbb": [ [ "ImgBBUploader", @@ -20980,8 +50689,76 @@ "title_aux": "Comfyui_saveimage_imgbb" } ], + "https://github.com/revisionhiep-create/Comfyui-Prompt-Sorter": [ + [ + "IllustriousPromptSorter" + ], + { + "title_aux": "Comfyui-Prompt-Sorter" + } + ], + "https://github.com/revisionhiep-create/comfyui-standard-trigger-words": [ + [ + "StandardTriggerWordsLoader" + ], + { + "title_aux": "comfyui-standard-trigger-words" + } + ], + "https://github.com/revisionhiep-create/comfyui-universal-trigger-toggle": [ + [ + "UniversalTriggerToggle" + ], + { + "title_aux": "comfyui-universal-trigger-toggle" + } + ], + "https://github.com/revisiontony/LoraMangerWebFrame": [ + [ + "LoraWebFrame" + ], + { + "title_aux": "ComfyUI Lora Manager Web Frame" + } + ], + "https://github.com/rgamevfx/ComfyUI-RGnodes": [ + [ + "MaskRangeDoctor", + "VACEClipDoctor", + "VACEInpaintKeyframeInsert", + "VACEVideoSplice" + ], + { + "title_aux": "ComfyUI-RGnodes" + } + ], "https://github.com/rgthree/rgthree-comfy": [ - [], + [ + "RgthreeAnySwitch", + "RgthreeBigContext", + "RgthreeContext", + "RgthreeContextMerge", + "RgthreeContextMergeBig", + "RgthreeContextSwitch", + "RgthreeContextSwitchBig", + "RgthreeDisplayAny", + "RgthreeDisplayInt", + "RgthreeImageComparer", + "RgthreeImageInsetCrop", + "RgthreeImageOrLatentSize", + "RgthreeImageResize", + "RgthreeKSamplerConfig", + "RgthreeLoraLoaderStack", + "RgthreePowerLoraLoader", + "RgthreePowerPrimitive", + "RgthreePowerPrompt", + "RgthreePowerPromptSimple", + "RgthreePowerPuter", + "RgthreeSDXLEmptyLatentImage", + "RgthreeSDXLPowerPromptPositive", + "RgthreeSDXLPowerPromptSimple", + "RgthreeSeed" + ], { "author": "rgthree", "description": "A bunch of nodes I created that I also find useful.", @@ -21026,6 +50803,27 @@ "title_aux": "comfyui-bus-plugin" } ], + "https://github.com/rholdorf/comfyui_imgtools": [ + [ + "ImageDimensionFitter" + ], + { + "title_aux": "comfyui_imgtools" + } + ], + "https://github.com/rhplus0831/ComfyMepi": [ + [ + "MepiCheckpoint", + "MepiImageSize", + "MepiNegativePrompt", + "MepiPositivePrompt", + "MepiSaveImage", + "MepiStepsAndCfg" + ], + { + "title_aux": "ComfyMepi" + } + ], "https://github.com/richinsley/Comfy-LFO": [ [ "LFO_Pulse", @@ -21045,7 +50843,6 @@ "RL_CacheMaskSequence", "RL_CivitaiTopImagePrompts", "RL_Crop_Resize", - "RL_Crop_Resize_Batch", "RL_Finetune_Analyze", "RL_Finetune_Analyze_Batch", "RL_Finetune_Variable", @@ -21079,6 +50876,52 @@ "title_aux": "comfyui-ricklove" } ], + "https://github.com/rickrender/ComfyUI-Vectorizer-API": [ + [ + "BackgroundRemoverNode", + "BackgroundRemoverSVGNode", + "VectorizerAINode" + ], + { + "title_aux": "Vectorizer API" + } + ], + "https://github.com/rickyars/comfyui-llm-tile": [ + [ + "TiledImageGenerator", + "TiledImageGeneratorAdvanced" + ], + { + "title_aux": "Tiled Image Generator for ComfyUI" + } + ], + "https://github.com/risunobushi/ComfyUI-Similarity-Score": [ + [ + "ImageSimilarityScores" + ], + { + "title_aux": "ComfyUI-Similarity-Score" + } + ], + "https://github.com/risunobushi/ComfyUI_DisplacementMapTools": [ + [ + "DisplaceLogo", + "ExtractDisplacementMap" + ], + { + "title_aux": "ComfyUI_DisplacementMapTools" + } + ], + "https://github.com/risunobushi/ComfyUI_sm4ll-Wrapper": [ + [ + "VTONAPINode", + "VTONAPIPaidNode", + "VTONLookbookNode" + ], + { + "title_aux": "ComfyUI_sm4ll-Wrapper" + } + ], "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": [ [ "FrequencyCombination", @@ -21090,11 +50933,83 @@ "title_aux": "comfyUI_FrequencySeparation_RGB-HSV" } ], + "https://github.com/ritik-devsecops/ComfyUI-Floyo-Flux2-API-node": [ + [ + "Flux2FlexImageEdit", + "Flux2FlexTextToImage", + "Flux2ProImageEdit", + "Flux2ProTextToImage" + ], + { + "title_aux": "ComfyUI-Floyo-Flux2-API-node" + } + ], + "https://github.com/rjgoif/ComfyUI-Img-Label-Tools": [ + [ + "ImageArray", + "ImageEqualizer", + "RandomSubset" + ], + { + "title_aux": "Img Label Tools" + } + ], + "https://github.com/rkfg/ComfyUI-Dia_tts": [ + [ + "DiaModelLoader", + "DiaSampler" + ], + { + "title_aux": "Dia realistic TTS" + } + ], + "https://github.com/rnbwdsh/ComfyUI-LatentWalk": [ + [ + "LatentWalkConditional", + "LatentWalkConditionalRandom", + "LatentWalkNoise", + "LatentWalkVae" + ], + { + "title_aux": "Latent Walk" + } + ], + "https://github.com/rndnanthu/ComfyUI-RndNanthu": [ + [ + "AutoGradePro", + "ColorAnalysisPlotNode", + "ColorSpaceSim", + "FilmGrain", + "LogReconstructionNode", + "ProColorGrading", + "PromptGenerator" + ], + { + "title_aux": "ComfyUI-RndNanthu" + } + ], + "https://github.com/robertvoy/ComfyUI-Distributed": [ + [ + "AudioBatchDivider", + "DistributedCollector", + "DistributedEmptyImage", + "DistributedModelName", + "DistributedQueue", + "DistributedSeed", + "ImageBatchDivider", + "UltimateSDUpscaleDistributed" + ], + { + "title_aux": "ComfyUI-Distributed" + } + ], "https://github.com/robertvoy/ComfyUI-Flux-Continuum": [ [ "BatchSlider", "BooleanToEnabled", + "CannySlider", "ConfigurableDrawText", + "ConfigurableModelRouter", "ControlNetSlider", "DenoiseSlider", "DrawTextConfig", @@ -21104,16 +51019,19 @@ "IPAdapterSlider", "ImageBatchBoolean", "ImpactControlBridgeFix", + "IntPass", "LatentPass", "MaxShiftSlider", "OutputGetString", "PipePass", + "ResolutionMultiplySlider", "ResolutionPicker", "SEGSPass", "SamplerParameterPacker", "SamplerParameterUnpacker", "SelectFromBatch", "SimpleTextTruncate", + "SplitVec2", "SplitVec3", "StepSlider", "TextVersions" @@ -21122,6 +51040,14 @@ "title_aux": "ComfyUI Flux Continuum: Modular Interface" } ], + "https://github.com/robomello/comfyui-prompt-saver": [ + [ + "PromptSaverNode" + ], + { + "title_aux": "ComfyUI Prompt Saver" + } + ], "https://github.com/robtl2/ComfyUI-ComfyBridge": [ [ "CB_ImageReceiver", @@ -21131,6 +51057,24 @@ "title_aux": "ComfyUI-ComfyBridge" } ], + "https://github.com/rockerBOO/pixel-sorting": [ + [ + "PixelSortAnalyze", + "PixelSorting" + ], + { + "title_aux": "pixel-sorting" + } + ], + "https://github.com/rohitsainier/ComfyUI-InstagramDownloader": [ + [ + "InstagramDownloader", + "MediaOrganizer" + ], + { + "title_aux": "ComfyUI-InstagramDownloader" + } + ], "https://github.com/romeobuilderotti/ComfyUI-PNG-Metadata": [ [ "SetMetadataAll", @@ -21144,6 +51088,7 @@ [ "ComfyUIAppstoreHost", "ComfyUIAppstoreParam", + "ComfyUIAppstoreSaveImage", "sdAppstore_saveImage" ], { @@ -21165,6 +51110,168 @@ "title_aux": "ComfyUI-Tara-LLM-Integration" } ], + "https://github.com/ronsantash/Comfyui-flexi-lora-loader": [ + [ + "ComfyUIFlexiLoRALoader" + ], + { + "title_aux": "ComfyUIFlexiLoRALoader" + } + ], + "https://github.com/rookiepsi/comfypsi_blur_mask": [ + [ + "comfypsi_blur_mask" + ], + { + "title_aux": "Blur Mask" + } + ], + "https://github.com/rookiepsi/comfyui-extended": [ + [ + "ImageLiquify", + "ImageSwitch", + "MaskSwitch", + "PreviewBoolean", + "PreviewFloat", + "PreviewInteger", + "PreviewMask", + "PreviewText", + "PrimitiveBoolean", + "PrimitiveDimensions", + "PrimitiveFloat", + "PrimitiveInteger", + "PrimitiveText", + "UtilityExpression", + "UtilityImageDimensions", + "UtilitySwitch", + "rookiepsi_BlurMask", + "rookiepsi_ConstructMask", + "rookiepsi_CropImageToMask", + "rookiepsi_ResizeMask" + ], + { + "title_aux": "ComfyUI Extended" + } + ], + "https://github.com/rookiestar28/ComfyUI-Danbooru-Tags-Upsampler": [ + [ + "DanbooruTagsUpsamplerNodeRay" + ], + { + "title_aux": "Danbooru Tags Upsampler for ComfyUI" + } + ], + "https://github.com/rookiestar28/ComfyUI-Doctor": [ + [ + "DebugPrintNode" + ], + { + "title_aux": "ComfyUI-Doctor" + } + ], + "https://github.com/rookiestar28/ComfyUI-TranslateGemma": [ + [ + "TranslateGemma" + ], + { + "title_aux": "ComfyUI-TranslateGemma" + } + ], + "https://github.com/rookiestar28/ComfyUI_Text_Processor": [ + [ + "AddTextToImage", + "AdvancedImageSaver", + "AdvancedTextFilter", + "EvaluateFloats", + "EvaluateInts", + "EvaluateStrs", + "ImageCropper", + "TP_LoadMask", + "TP_SaveMask", + "TextInput", + "TextScraper", + "TextStorageReader", + "TextStorageWriter", + "WildcardsNode", + "image_concat_advanced" + ], + { + "title_aux": "ComfyUI Text Processor" + } + ], + "https://github.com/room3dev/ComfyUI-FrameIO": [ + [ + "BatchLoadImageList", + "BatchLoadImageSequence", + "BatchLoadImageSequenceWithTrigger", + "BatchSaveImageSequenceWebP", + "ListVideoFiles" + ], + { + "title_aux": "ComfyUI-FrameIO" + } + ], + "https://github.com/room3dev/ComfyUI-I2VChainHelper": [ + [ + "I2VChainHelper" + ], + { + "title_aux": "ComfyUI-I2VChainHelper" + } + ], + "https://github.com/room3dev/ComfyUI-PixelForge": [ + [ + "PixelForge", + "PixelForgeResizeImage" + ], + { + "title_aux": "ComfyUI-PixelForge" + } + ], + "https://github.com/roundyyy/ComfyUI-mesh-simplifier": [ + [ + "MeshSimplifierNode" + ], + { + "title_aux": "Mesh Simplifier for ComfyUI" + } + ], + "https://github.com/routhakash/AkkiNodes-LLM-Suite-for-ComfyUI": [ + [ + "AICharacterLookdevBible-Akki", + "AICinematographer_Akki", + "AIQCSupervisor-Akki", + "AISceneChoreographerBible-Akki", + "AIScriptCrafter01FoundationBible-Akki", + "AIScriptCrafter02BeatSheetBible-Akki", + "AIScriptCrafter03ScreenplayBible-Akki", + "AISetLookdevBible-Akki", + "AIShotDurationCalculator-Akki", + "AIVideoPromptEngineerPro-Akki", + "AssetSelector-Akki", + "GenericFileLoader-Akki", + "GenericFileSaver-Akki", + "GenericImageLoader-Akki", + "GenericImageNamer-Akki", + "KeywordLoader-Akki", + "LLMLoader-Akki", + "LLMLoaderLMStudio-Akki", + "LoadTextFileAdvanced-Akki", + "LoadTextFileSimple-Akki", + "LookdevBibleLoader-Akki", + "ProShotListParser-Akki", + "ProjectDirector-Akki", + "SaveTextFile-Akki", + "SceneChoreographyLoader-Akki", + "ShotAssetLoader-Akki", + "ShotSelector-Akki", + "StoryWriter-Akki", + "VideoPromptLoader-Akki" + ], + { + "title_aux": "AkkiNodes LLM Suite: Your Personal AI Film Studio" + } + ], "https://github.com/royceschultz/ComfyUI-Notifications": [ [ "Notif-PlaySound", @@ -21191,7 +51298,118 @@ "title_aux": "ComfyUI-TranscriptionTools" } ], - "https://github.com/rubi-du/ComfyUI-BiRefNet-lite": [ + "https://github.com/rslosch/comfyui-nodesweet": [ + [ + "AudioReactiveTransform", + "AudioWeightsRemap", + "BboxDetectorBatch", + "BboxDetectorBatchChunked", + "BboxDetectorBatchForEach", + "LoadImageSetFromFolderSortedNode", + "MultilineStringRepeater", + "SortImageSetFromFolderSortedNode" + ], + { + "title_aux": "ComfyUI Batch BBox Detector" + } + ], + "https://github.com/rsxdalv/ComfyUI-TTS-Webui": [ + [ + "TTSWebUI_OpenAI_TTS", + "TTS_ChatterboxNode", + "TTS_F5TTSNode", + "TTS_FireRedTTS2Node", + "TTS_GlobalPresetNode", + "TTS_HiggsV2Node", + "TTS_KittenTTSNode", + "TTS_KokoroNode", + "TTS_MMSNode", + "TTS_MegaTTS3Node", + "TTS_ParlerTTSNode", + "TTS_PiperTTSNode", + "TTS_StyleTTS2Node", + "TTS_VallEXNode" + ], + { + "title_aux": "TTS WebUI API nodes for ComfyUI" + } + ], + "https://github.com/ru4ls/ComfyUI_Google-Fonts": [ + [ + "GoogleFontTextNode" + ], + { + "title_aux": "Google Font Text Image Node for ComfyUI" + } + ], + "https://github.com/ru4ls/ComfyUI_Imagen": [ + [ + "ImagenNode" + ], + { + "title_aux": "ComfyUI_Imagen" + } + ], + "https://github.com/ru4ls/ComfyUI_Nano_Banana": [ + [ + "NanoBananaAIO", + "NanoBananaMultiTurnChat" + ], + { + "title_aux": "ComfyUI_Nano_Banana" + } + ], + "https://github.com/ru4ls/ComfyUI_StreetView-Loader": [ + [ + "StreetViewAnimator", + "StreetViewCubemapLoader", + "StreetViewEquirectangularLoader", + "StreetViewLoader", + "StreetViewPanoLoader", + "StreetViewURLParser" + ], + { + "title_aux": "ComfyUI Street View Loader Node" + } + ], + "https://github.com/ru4ls/ComfyUI_Wan": [ + [ + "WanI2IGenerator", + "WanI2VEffectGenerator", + "WanI2VGenerator", + "WanII2VGenerator", + "WanT2IGenerator", + "WanT2VGenerator", + "WanVACEImageReference", + "WanVACEVideoEdit", + "WanVACEVideoExtension", + "WanVACEVideoOutpainting", + "WanVACEVideoRepainting" + ], + { + "title_aux": "ComfyUI_Wan" + } + ], + "https://github.com/ruanjianlun/comfyui_maya1_tts_alun": [ + [ + "MayaTTSNode", + "custom_nodes" + ], + { + "title_aux": "comfyui-maya1-tts" + } + ], + "https://github.com/rubenvillarreal/ComfyUI_PoseAlign": [ + [ + "PoseAlignTwoToOne", + "PoseViewer", + "SimpleTestNode" + ], + { + "title_aux": "ComfyUI_PoseAlign" + } + ], + "https://github.com/rubi-du/ComfyUI-BiRefNet-Super": [ [ "BiRefNet_Lite", "BiRefNet_Super", @@ -21204,6 +51422,7 @@ "https://github.com/rubi-du/ComfyUI-Flux-Inpainting": [ [ "Flux Inpainting", + "FluxGuffInpainting", "FluxInpainting", "FluxSimpleInpainting", "FluxTransformerInpainting", @@ -21284,13 +51503,48 @@ "https://github.com/ruucm/ruucm-comfy": [ [ "BatchAverageImage", - "LoadExternalLoraModelOnly" + "LoadExternalLoraModelOnly", + "RuucmShareScreen" ], { "nodename_pattern": " \\(ruucm\\)$", "title_aux": "Ruucm's ComfyUI Nodes" } ], + "https://github.com/ryan-seungyong-lee/ComfyUI-PromptEnhancer": [ + [ + "PromptEnhancerI2I", + "PromptEnhancerT2I" + ], + { + "title_aux": "ComfyUI-PromptEnhancer" + } + ], + "https://github.com/ryanontheinside/ComfyUI-CalculatorX": [ + [ + "Calculator", + "IntToFloat" + ], + { + "title_aux": "ComfyUI-CalculatorX" + } + ], + "https://github.com/ryanontheinside/ComfyUI-DeepLiveCam": [ + [ + "DeepLiveCamNode" + ], + { + "title_aux": "Deep Live Cam for ComfyUI" + } + ], + "https://github.com/ryanontheinside/ComfyUI_ControlFreak": [ + [ + "ControlFreak" + ], + { + "title_aux": "Control Freak for ComfyUI" + } + ], "https://github.com/ryanontheinside/ComfyUI_Doom": [ [ "Doom" @@ -21299,41 +51553,148 @@ "title_aux": "Doom" } ], + "https://github.com/ryanontheinside/ComfyUI_EfficientTAM": [ + [ + "EfficientTAMLoader", + "EfficientTAMPredictor" + ], + { + "title_aux": "ComfyUI-EfficientTAM" + } + ], + "https://github.com/ryanontheinside/ComfyUI_ProfilerX": [ + [ + "ExecutionTracker" + ], + { + "title_aux": "ComfyUI_ProfilerX" + } + ], + "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes": [ + [ + "BlendshapeControlFloat", + "BlendshapeControlInt", + "BlendshapeTrigger", + "CompareMediaPipeEmbeddings", + "CoordinateConverter", + "FaceDetectionToMask", + "FaceLandmarkPosition", + "FaceTextureWarp", + "HandLandmarkPosition", + "HeadPoseControlFloat", + "HeadPoseControlInt", + "HeadPoseTrigger", + "MaskFromFaceLandmarks", + "MaskFromHandLandmarks", + "MaskFromPoseLandmarks", + "MediaPipeFaceDetector", + "MediaPipeFaceDetectorModelLoader", + "MediaPipeFaceLandmarker", + "MediaPipeFaceLandmarkerModelLoader", + "MediaPipeFaceStylizer", + "MediaPipeFaceStylizerModelLoader", + "MediaPipeGestureRecognizer", + "MediaPipeGestureRecognizerModelLoader", + "MediaPipeHandLandmarker", + "MediaPipeHandLandmarkerModelLoader", + "MediaPipeHolisticLandmarker", + "MediaPipeHolisticVisualizer", + "MediaPipeImageEmbedder", + "MediaPipeImageEmbedderModelLoader", + "MediaPipeImageSegmenter", + "MediaPipeImageSegmenterModelLoader", + "MediaPipeInteractiveSegmenter", + "MediaPipeInteractiveSegmenterModelLoader", + "MediaPipeObjectDetector", + "MediaPipeObjectDetectorModelLoader", + "MediaPipePoseLandmarker", + "MediaPipePoseLandmarkerModelLoader", + "Point2D", + "PointList", + "PoseLandmarkPosition", + "RTCoordinateConverter", + "RTDrawLines", + "RTDrawPoints", + "RTDrawPolygon", + "ReshapeMediaPipeEmbedding", + "SelectMediaPipeSegment", + "VisualizeFaceDetections", + "VisualizeFaceLandmarks", + "VisualizeGestureRecognitions", + "VisualizeHandLandmarks", + "VisualizeObjectDetections", + "VisualizePoseLandmarks" + ], + { + "title_aux": "Nodes for use with real-time applications of ComfyUI" + } + ], "https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside": [ [ + "ACEStep15GenerationSteering", + "ACEStep15KeystoneConfig", + "ACEStep15LatentChannelEQ", + "ACEStep15MusicalControls", + "ACEStep15NativeCoverGuider", + "ACEStep15NativeEditGuider", + "ACEStep15NativeExtractGuider", + "ACEStep15NativeLegoGuider", + "ACEStep15SemanticExtractor", + "ACEStep15SemanticHintsBlend", + "ACEStep15TaskTextEncode", + "ACEStepAnalyzeLatent", + "ACEStepAudioPostProcessor", + "ACEStepExtendGuider", + "ACEStepHybridGuider", + "ACEStepMaskVisualizer", + "ACEStepRepaintGuider", + "ACEStepTimeRange", + "AdvancedFeatureCombiner", + "AdvancedLuminanceMask", + "AnimatedFeaturePreview", + "AnimatedFloatPreview", "AreaFeatureNode", "AudioChannelMerge", "AudioChannelSplit", - "AudioCombine", - "AudioConcatenate", "AudioDither", "AudioFade", "AudioFeatureExtractor", - "AudioFeatureExtractorFirst", "AudioFeatureVisualizer", "AudioFilter", "AudioGain", "AudioInfo", + "AudioLatentBlend", + "AudioLatentInfo", + "AudioLatentStretch", + "AudioMaskAnalyzer", "AudioPad", "AudioPitchShift", + "AudioRegionMask", + "AudioRegionMask15", "AudioResample", - "AudioSeparator", "AudioSeparatorSimple", "AudioSubtract", + "AudioTemporalMask", + "AudioTemporalMask15", "AudioTimeStretch", + "AudioTrim", "AudioVolumeNormalization", + "Audio_Combine", + "Audio_Concatenate", + "BeatWaveFeatureExtractor", "BrightnessFeatureNode", "ColorFeatureNode", + "Color_Picker", + "ContextModifier", "DepthBlender", "DepthFeatureNode", "DepthInjection", - "DepthMapProtrusion", "DepthRippleEffect", "DepthShapeModifier", "DepthShapeModifierPrecise", - "Doom", - "DownloadCREPEModel", + "Doom_", "DownloadOpenUnmixModel", + "DrawableFeatureNode", "DyeImage", "EffectVisualizer", "EmbeddingGuidedLatentInterpolate", @@ -21346,20 +51707,33 @@ "FeatureCombine", "FeatureContiguousInterpolate", "FeatureFade", + "FeatureInfoNode", + "FeatureInterpolateMulti", + "FeatureInterpolator", "FeatureMath", "FeatureMixer", "FeatureOscillator", + "FeaturePeakDetector", "FeatureRebase", "FeatureRenormalize", "FeatureScaler", "FeatureSmoothing", + "FeatureToFilteredList", + "FeatureToFlexFloatParam", + "FeatureToFlexIntParam", + "FeatureToFloat", + "FeatureToLatentKeyframe", + "FeatureToMask", "FeatureToSplineData", + "FeatureToTimestepKeyframe", "FeatureToWeightsStrategy", "FeatureTruncateOrExtend", "FlexAudioPitchShift", "FlexAudioTimeStretch", "FlexAudioVisualizerCircular", + "FlexAudioVisualizerContour", "FlexAudioVisualizerLine", + "FlexExpressionEditor", "FlexImageBloom", "FlexImageChromaticAberration", "FlexImageColorGrade", @@ -21396,6 +51770,8 @@ "FlexVideoFrameBlend", "FlexVideoSeek", "FlexVideoSpeed", + "FlexlatentAudioBlend", + "FloatFeatureNode", "FrequencyFilterCustom", "FrequencyFilterPreset", "FrequencyRange", @@ -21403,24 +51779,32 @@ "ImageCASBatch", "ImageChunk", "ImageDifference", + "ImageIndexSelect", "ImageInterval", "ImageIntervalSelectPercentage", "ImageScaleToTarget", - "ImageShuffle", + "Image_Shuffle", + "Knob", "LatentFrequencyBlender", "LocationFromMask", "LocationFromPoint", "LocationTransform", - "MIDILoadAndExtract", + "MIDIFeatureExtractor", + "MIDILoader", + "MIDIToAudio", "ManualFeatureFromPipe", "ManualFeatureNode", "ManualFeaturePipe", + "ManualWhisperAlignmentData", "MaskCompositePlus", "MaskMath", "MaskMorph", "MaskRings", + "MaskToAudioMask", + "MaskToAudioMask15", "MaskTransform", "MaskWarp", + "ModelSamplingACEStep", "MotionFeatureNode", "MovingShape", "OpticalFlowDirectionMask", @@ -21436,10 +51820,11 @@ "PitchRangeByNoteNode", "PitchRangePreset", "PitchVisualizer", - "PoseInterpolator", + "PreviewAudioCompare", "PreviewFeature", "ProximityFeatureNode", "ProximityVisualizer", + "ROTIDisplayAny", "RhythmFeatureExtractor", "SplineFeatureModulator", "SplineRhythmModulator", @@ -21448,21 +51833,71 @@ "SwapDevice", "TextMaskNode", "TimeFeatureNode", + "TranslucentComposite", + "TriggerBuilder", "VideoChunk", "Vortex", + "WhisperAutoAdjust", + "WhisperFeature", + "WhisperTextRenderer", + "WhisperTimeAdjuster", + "WhisperToPromptTravel", "_mfc" ], { "title_aux": "RyanOnTheInside" } ], + "https://github.com/ryanontheinside/ComfyUI_SuperResolution": [ + [ + "SuperResolutionModelLoader", + "SuperResolutionUpscale" + ], + { + "title_aux": "ComfyUI_SuperResolution" + } + ], + "https://github.com/rzgarespo/ComfyUI-diffusiondb": [ + [ + "SDPromptNode" + ], + { + "title_aux": "ComfyUI-diffusiondb" + } + ], + "https://github.com/rzgarespo/ComfyUI-qwen-image-size-picker": [ + [ + "QwenImageSize", + "QwenImageSizeSimple" + ], + { + "title_aux": "ComfyUI Qwen Image Size Picker" + } + ], + "https://github.com/s9roll7/comfyui_cotracker_node": [ + [ + "CoTrackerNode", + "GridPointGeneratorNode", + "PerlinCoordinateRandomizerNode", + "XYMotionAmplifierNode" + ], + { + "title_aux": "Comfyui CoTracker Node" + } + ], "https://github.com/saftle/uber_comfy_nodes": [ [ + "AdaptiveImageScaler", "ControlNet Selector", "ControlNetOptionalLoader", "DiffusersSelector", + "ModelSimilarityNode", + "ModelWeightDumperNode", "MultiInputVariableRewrite", - "SaveImageJPGNoMeta" + "RunwareResolutionCalculator", + "SaveImageJPGNoMeta", + "TextRegexOperations", + "VideoSegmentCalculator" ], { "title_aux": "Suplex Misc ComfyUI Nodes" @@ -21470,18 +51905,189 @@ ], "https://github.com/sakura1bgx/ComfyUI_FlipStreamViewer": [ [ - "FlipStreamLoader", - "FlipStreamOption", - "FlipStreamPrompt", + "FlipStreamAllowIp", + "FlipStreamAnd", + "FlipStreamBatchPrompt", + "FlipStreamButton", + "FlipStreamChat", + "FlipStreamChatJson", + "FlipStreamCurrent", + "FlipStreamFileSelect_AnimateDiffModel", + "FlipStreamFileSelect_Checkpoints", + "FlipStreamFileSelect_ControlNetModel", + "FlipStreamFileSelect_Input", + "FlipStreamFileSelect_LLM", + "FlipStreamFileSelect_Loras", + "FlipStreamFileSelect_Output", + "FlipStreamFileSelect_TensorRT", + "FlipStreamFileSelect_VAE", + "FlipStreamFilmVfi", + "FlipStreamFree", + "FlipStreamGate", + "FlipStreamGet", + "FlipStreamGetFrame", + "FlipStreamGetParam", + "FlipStreamGetPreviewRoi", + "FlipStreamGetSize", + "FlipStreamGetState", + "FlipStreamImageSize", + "FlipStreamInputBox", + "FlipStreamLoadLora", + "FlipStreamLogBox", + "FlipStreamLoraMode", + "FlipStreamOr", + "FlipStreamParseJson", + "FlipStreamPasteBox", + "FlipStreamPreviewBox", + "FlipStreamRembg", + "FlipStreamRunApiWorkflow", + "FlipStreamRunOnce", + "FlipStreamSaveApiWorkflow", + "FlipStreamScreenGrabber", + "FlipStreamSection", + "FlipStreamSegMask", + "FlipStreamSelectBox_Samplers", + "FlipStreamSelectBox_Scheduler", + "FlipStreamSetMessage", + "FlipStreamSetParam", + "FlipStreamSetState", + "FlipStreamShutdown", + "FlipStreamSizeSelect", + "FlipStreamSlider", "FlipStreamSource", - "FlipStreamSwitchVFI", - "FlipStreamUpdate", - "FlipStreamViewer" + "FlipStreamSwitch", + "FlipStreamSwitchImage", + "FlipStreamSwitchLatent", + "FlipStreamTextBox", + "FlipStreamTextConcat", + "FlipStreamTextReplace", + "FlipStreamVideoInput", + "FlipStreamViewer", + "FlipStreamViewerSimple" ], { "title_aux": "ComfyUI_FlipStreamViewer" } ], + "https://github.com/sammykumar/ComfyUI-SwissArmyKnife": [ + [ + "AzureStorageUpload", + "CivitMetadataHelper", + "ControlPanelOverview", + "ControlPanelPromptBreakdown", + "FilenameGenerator", + "FrameExtractor", + "GeminiUtilOptions", + "LLMStudioOptions", + "LLMStudioPictureDescribe", + "LLMStudioStructuredDescribe", + "LLMStudioStructuredVideoDescribe", + "LLMStudioVideoDescribe", + "LoRAInfoExtractor", + "MediaDescribe", + "MediaDescribeOverrides", + "MediaSelection", + "MultiCaptionCombiner", + "ShowText", + "VACEDepthAnnotator", + "VACEFlowAnnotator", + "VACEScribbleAnnotator", + "VideoMetadataNode", + "VideoPreview", + "VideoPreviewNative" + ], + { + "title_aux": "ComfyUI-SwissArmyKnife" + } + ], + "https://github.com/sanbuphy/ComfyUI-AudioLDM": [ + [ + "AudioLDM", + "PreviewAudioLDM", + "SaveAudioLDM" + ], + { + "title_aux": "ComfyUI-AudioLDM" + } + ], + "https://github.com/santiagosamuel3455/ComfyUI-GeminiImageToPrompt": [ + [ + "DeepseekR1KlingAINode", + "GeminiImageToPromptNode", + "GeminiTextToCinematicPromptNode", + "ShowGeneratedText", + "ShowTextNode" + ], + { + "title_aux": "ComfyUI-GeminiImageToPrompt" + } + ], + "https://github.com/scofano/ComfyUI-Advanced-TextOverlay": [ + [ + "Advanced Text Overlay", + "Advanced Text Overlay - Video" + ], + { + "title_aux": "Advanced Text Overlay" + } + ], + "https://github.com/scofano/ComfyUI-Simple-video-effects": [ + [ + "AdvancedFolderVideoCombiner", + "CameraMoveNode", + "CameraMoveVideoNode", + "CameraShakeNode", + "CameraShakeVideoNode", + "CloseUpImageNode", + "CloseUpNode", + "ComfyAddSoundtrack", + "ComfyImageAudioCSV", + "ImageSequenceOverlay", + "ImageTransitionNode", + "MergeVideoAudioNode", + "SimpleFolderVideoCombiner", + "VideoImageOverlay", + "VideoLoopExtenderNode", + "VideoOverlay", + "VideoOverlayBatch", + "VideoOverlayFromFile", + "VideoSplitterNode", + "ZoomSequenceBatchNode", + "ZoomSequenceNode", + "ZoomSequenceVideoNode" + ], + { + "title_aux": "Simple Video Effects" + } + ], + "https://github.com/scofano/comfy-audio-duration": [ + [ + "Audio Duration" + ], + { + "title_aux": "Audio Duration" + } + ], + "https://github.com/scofano/comfy-text-stats": [ + [ + "TextStats" + ], + { + "title_aux": "Comfy Text Stats" + } + ], + "https://github.com/scraed/LanPaint": [ + [ + "LanPaint_KSampler", + "LanPaint_KSamplerAdvanced", + "LanPaint_MaskBlend", + "LanPaint_SamplerCustom", + "LanPaint_SamplerCustomAdvanced" + ], + { + "title_aux": "LanPaint" + } + ], "https://github.com/sdfxai/SDFXBridgeForComfyUI": [ [ "SDFXClipTextEncode" @@ -21490,11 +52096,30 @@ "title_aux": "SDFXBridgeForComfyUI - ComfyUI Custom Node for SDFX Integration" } ], + "https://github.com/sdtana/ComfyUI-FDG": [ + [ + "FDGNode" + ], + { + "title_aux": "ComfyUI-FDG" + } + ], + "https://github.com/seanjang990/comfyui-document-auto-crop": [ + [ + "CropRotateNode" + ], + { + "title_aux": "ComfyUI Document Auto Crop Node" + } + ], "https://github.com/seanlynch/comfyui-optical-flow": [ [ "Apply optical flow", + "ApplyOpticalFlow", "Compute optical flow", - "Visualize optical flow" + "ComputeOpticalFlow", + "Visualize optical flow", + "VisualizeOpticalFlow" ], { "title_aux": "ComfyUI Optical Flow" @@ -21505,24 +52130,144 @@ "SRL Conditional Interrrupt", "SRL Eval", "SRL Filter Image List", - "SRL Format String" + "SRL Format String", + "SrlConditionalInterrupt", + "SrlEval", + "SrlFilterImageList", + "SrlFormatString" ], { "title_aux": "SRL's nodes" } ], + "https://github.com/sebagallo/comfyui-sg-llama-cpp": [ + [ + "LlamaCPPEngine", + "LlamaCPPMemoryCleanup", + "LlamaCPPModelLoader", + "LlamaCPPOptions" + ], + { + "title_aux": "comfyui-sg-llama-cpp" + } + ], + "https://github.com/sebagallo/comfyui-sg-openai-client": [ + [ + "OpenAIChatCompletion", + "OpenAIClient" + ], + { + "title_aux": "comfyui-sg-openai-client" + } + ], + "https://github.com/sebagallo/comfyui-sg-text-encode-reference-images": [ + [ + "TextEncodeReferenceImages" + ], + { + "title_aux": "comfyui-sg-text-encode-reference-images" + } + ], + "https://github.com/sebord/ComfyUI-LMCQ": [ + [ + "LmcqCodeDecryptionLoader", + "LmcqCodeEncryption", + "LmcqDeepGen", + "LmcqDeepLoader", + "LmcqGetMachineCode", + "LmcqImageSaver", + "LmcqImageSaverTransit", + "LmcqImageSaverWeb", + "LmcqInputValidator", + "LmcqLoadFluxNF4Checkpoint", + "LmcqRuntimeLoraDecryption", + "LmcqRuntimeLoraEncryption", + "LmcqRuntimeModelDecryption", + "LmcqRuntimeModelEncryption", + "LmcqRuntimeWorkflowDecryption", + "LmcqRuntimeWorkflowEncryption" + ], + { + "title_aux": "ComfyUI-LMCQ" + } + ], + "https://github.com/senhaicc/Comfyui-WL-MainImageDesign": [ + [ + "WLMainImageGenerator", + "WLPromptBatchConverter" + ], + { + "title_aux": "Comfyui-WL-MainImageDesign" + } + ], "https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": [ [ "AdjustAndRoundDimensions", "AspectRatioMobileDevices", + "AutoLevelsNode", + "ImageCombineRect", + "ImageExtractRect", "ImageResizeAndCropNode", "ImageSquareAdapterNode", - "PopularScreenResolutions" + "LoadImagesFromFolder", + "MathOperationNode", + "NumberRangeNode", + "PopularScreenResolutions", + "SliderComparisonNode" ], { "title_aux": "ComfyUI_Nimbus-Pack" } ], + "https://github.com/sfinktah/comfy-ovum": [ + [ + "ImageExContextListOvum", + "ImageExContextOvum", + "LoadImageFromOutputSubdirectoryWithWorkflowOvum", + "LoadImageFromOutputWithWorkflowOvum", + "LoadImageWithWorkflowOvum" + ], + { + "title_aux": "comfy-ovum" + } + ], + "https://github.com/sgyyao/ComfyUI_LLM_Prompt_Optimizer": [ + [ + "PromptOptimizer" + ], + { + "title_aux": "ComfyUI_LLM_Prompt_Optimizer" + } + ], + "https://github.com/sh570655308/ComfyUI-GigapixelAI": [ + [ + "GigapixelAI", + "GigapixelModelSettings", + "GigapixelUpscaleSettings" + ], + { + "title_aux": "ComfyUI-GigapixelAI" + } + ], + "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_", @@ -21571,14 +52316,18 @@ "ApplyVisualStylePrompting_", "AreaToMask", "AudioPlay", + "AudioToPrompt", "CenterImage", + "ChinesePrompt_Mix", "CkptNames_", + "ClipInterrogator", "Color", "ComparingTwoFrames_", "CompositeImages_", "CreateJsonNode", "DepthViewer", "DynamicDelayProcessor", + "EditMask", "EmbeddingPrompt", "EnhanceImage", "FaceToMask", @@ -21595,22 +52344,29 @@ "ImageBatchToList_", "ImageColorTransfer", "ImageCropByAlpha", + "ImageListReplace_", "ImageListToBatch_", "ImagesPrompt_", "IncrementingListNode_", "IntNumber", "JoinWithDelimiter", "KeyInput", + "LaMaInpainting", "LimitNumber", "ListSplit_", "LoadImagesFromPath", "LoadImagesFromURL", "LoadImagesToBatch", + "LoadTripoSRModel_", + "LoadVQGAN", + "LoadVideoAndSegment_", + "LoadVideoFromURL", + "LoadWhisperModel_", "LoraNames_", - "LoraPrompt", "MaskListMerge_", "MaskListReplace_", "MergeLayers", + "MiniCPM_VQA_Simple", "MirroredImage", "MultiplicationNode", "NewLayer", @@ -21618,16 +52374,24 @@ "OutlineMask", "P5Input", "PreviewMask_", + "Prompt2Semantic", + "PromptGenerate_Mix", "PromptImage", "PromptSimplification", "PromptSlide", "RandomPrompt", + "RembgNode_Mix", "ResizeImageMixlab", "SamplerNames_", "SaveImageAndMetadata_", "SaveImageToLocal", + "SaveTripoSRMesh", + "SceneInfoNode", + "ScenedetectNode_", "ScreenShare", "Seed_", + "Semantic2Audio", + "SenseVoiceNode", "ShowLayer", "SmoothMask", "SpeechRecognition", @@ -21645,8 +52409,12 @@ "TextInput_", "TextToNumber", "TransparentImage", - "VAEDecodeConsistencyDecoder", - "VAELoaderConsistencyDecoder" + "TripoSRSampler_", + "VideoCombine_Adv", + "VideoGenKlingNode", + "VideoGenLumaDreamMachineNode", + "VideoGenRunwayGen3Node", + "WhisperTranscribe_" ], { "title_aux": "comfyui-mixlab-nodes" @@ -21684,6 +52452,57 @@ "title_aux": "comfyui-ultralytics-yolo" } ], + "https://github.com/shahkoorosh/ComfyUI-KGnodes": [ + [ + "CustomResolutionLatentNode", + "FaceDetectorAndCropper", + "ImageScaleToSide", + "OverlayRGBAonRGB", + "StyleSelector", + "TextBehindImage" + ], + { + "author": "ShahKoorosh", + "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", @@ -21697,6 +52516,16 @@ "title_aux": "ComfyUI_Memeplex_DALLE" } ], + "https://github.com/shiertier/ComfyUI-TeaCache-lumina2": [ + [ + "TeaCacheForLumina2", + "TeaCacheForLuminaAuto", + "TeaCacheForLuminaNext" + ], + { + "title_aux": "ComfyUI-TeaCache-Lumina" + } + ], "https://github.com/shiimizu/ComfyUI-PhotoMaker-Plus": [ [ "PhotoMakerEncodePlus", @@ -21712,7 +52541,6 @@ ], "https://github.com/shiimizu/ComfyUI-TiledDiffusion": [ [ - "NoiseInversion", "SpotDiffusionParams_TiledDiffusion", "TiledDiffusion", "VAEDecodeTiled_TiledDiffusion", @@ -21739,61 +52567,81 @@ "title_aux": "smZNodes" } ], - "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage": [ + "https://github.com/shin131002/RandomLoRALoader": [ [ - "SDXL Empty Latent Image" + "FilteredRandomLoRALoader", + "FilteredRandomLoRALoaderLBW", + "RandomLoRALoader" ], { - "title_aux": "ComfyUI-SDXL-EmptyLatentImage" + "title_aux": "RandomLoRALoader" } ], - "https://github.com/shingo1228/ComfyUI-send-eagle-slim": [ + "https://github.com/shinich39/comfyui-break-workflow": [ [ - "Send Eagle with text", - "Send Webp Image to Eagle" - ], - { - "title_aux": "ComfyUI-send-Eagle(slim)" - } - ], - "https://github.com/shinich39/comfyui-load-image-with-cmd": [ - [ - "LoadImageWithCMD" + "BreakWorkflow" ], { "author": "shinich39", - "description": "Load image and partially workflow with javascript.", - "nickname": "load-image-with-cmd", - "title": "load-image-with-cmd", - "title_aux": "comfyui-load-image-with-cmd" + "description": "Break the execution, save the incompleted image then continue later.", + "nickname": "comfyui-break-workflow", + "title": "comfyui-break-workflow", + "title_aux": "comfyui-break-workflow" } ], - "https://github.com/shinich39/comfyui-parse-image": [ + "https://github.com/shinich39/comfyui-dynamic-routes": [ [ - "LoadBooleanFromImage", - "LoadComboFromImage", - "LoadFloatFromImage", - "LoadIntFromImage", - "LoadStringFromImage" + "DynamicRoutes" ], { "author": "shinich39", - "description": "Extract metadata from image.", - "nickname": "parse-image", - "title": "parse-image", - "title_aux": "comfyui-parse-image" + "description": "Shuffle nodes after queue execution.", + "nickname": "comfyui-dynamic-routes", + "title": "comfyui-dynamic-routes", + "title_aux": "comfyui-dynamic-routes" } ], - "https://github.com/shinich39/comfyui-put-image": [ + "https://github.com/shinich39/comfyui-get-meta": [ [ - "PutImage" + "GetBooleanFromImage", + "GetComboFromImage", + "GetFloatFromImage", + "GetIntFromImage", + "GetPromptFromImage", + "GetStringFromImage", + "GetValuesFromImage", + "GetWorkflowFromImage" ], { "author": "shinich39", - "description": "Load image from directory.", - "nickname": "put-image", - "title": "put-image", - "title_aux": "comfyui-put-image" + "description": "Get metadata from image.", + "nickname": "comfyui-get-meta", + "title": "comfyui-get-meta", + "title_aux": "comfyui-get-meta" + } + ], + "https://github.com/shinyakidoguchi301/comfyui-lora-tag-loader": [ + [ + "LoRA_TagLoader" + ], + { + "title_aux": "shinyakidoguchi301/LoRA Tag Loader for ComfyUI" + } + ], + "https://github.com/shmbatom/Comfyui-Image-Concat": [ + [ + "ImageConcatNode" + ], + { + "title_aux": "Comfyui-Image-Concat" + } + ], + "https://github.com/shmbatom/Comfyui-ImageAB-Compare": [ + [ + "ImageABCompare" + ], + { + "title_aux": "Comfyui-ImageAB-Compare" } ], "https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": [ @@ -21823,61 +52671,217 @@ "title_aux": "comfy-easy-grids" } ], - "https://github.com/siliconflow/BizyAir": [ + "https://github.com/shootthesound/comfyUI-LongLook": [ [ - "BizyAirBAE_NormalMapPreprocessor", - "BizyAirBinaryPreprocessor", - "BizyAirCannyEdgePreprocessor", - "BizyAirColorPreprocessor", - "BizyAirDWPreprocessor", - "BizyAirDepthAnythingV2Preprocessor", - "BizyAirFakeScribblePreprocessor", - "BizyAirGenerateLightningImage", - "BizyAirHEDPreprocessor", - "BizyAirJoyCaption", - "BizyAirJoyCaption2", - "BizyAirLeReS_DepthMapPreprocessor", - "BizyAirLineArtPreprocessor", - "BizyAirM_LSDPreprocessor", - "BizyAirMetric3D_DepthMapPreprocessor", - "BizyAirMetric3D_NormalMapPreprocessor", - "BizyAirMiDaS_DepthMapPreprocessor", - "BizyAirMiDaS_NormalMapPreprocessor", - "BizyAirOneFormer_ADE20K_SemSegPreprocessor", - "BizyAirOneFormer_COCO_SemSegPreprocessor", - "BizyAirOpenposePreprocessor", - "BizyAirPiDiNetPreprocessor", - "BizyAirRemoveBackground", - "BizyAirSAMPreprocessor", - "BizyAirScribblePreprocessor", - "BizyAirSegmentAnythingPointBox", - "BizyAirSegmentAnythingText", - "BizyAirSiliconCloudLLMAPI", - "BizyAirSiliconCloudVLMAPI", - "BizyAirTilePreprocessor", - "BizyAirToggleServerEndpoint", - "BizyAirUniFormer_SemSegPreprocessor", - "BizyAirZoe_DepthMapPreprocessor", - "BizyAir_MinusZoneChatGLM3TextEncode", - "StableDiffusionXLControlNetUnionPipeline" + "WanContinuationConditioning", + "WanFreeLong", + "WanFreeLongEnforcer", + "WanMotionScale", + "WanMotionScaleAdvanced" ], { - "title_aux": "\u2601\ufe0fBizyAir Nodes" + "title_aux": "comfyUI-LongLook" } ], - "https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders": [ + "https://github.com/shootthesound/comfyui-wan-i2v-control": [ [ - "CheckpointLoaderNF4", - "UNETLoaderNF4" + "DropFirstFrames", + "WanI2VConditioningMaskPro" ], { - "title_aux": "Model and Checkpoint Loaders for NF4 and FP4" + "title_aux": "comfyui-wan-i2v-control" + } + ], + "https://github.com/shumoLR/Comfyui_SynVow_MultiangleCamera": [ + [ + "SynvowMultiangleCameraNode" + ], + { + "title_aux": "Comfyui_SynVow_MultiangleCamera" + } + ], + "https://github.com/shumoLR/Comfyui_SynVow_TeleStyle": [ + [ + "TeleStyleVideo", + "TeleStyleVideoLoader" + ], + { + "title_aux": "Comfyui_SynVow_TeleStyle" + } + ], + "https://github.com/silveroxides/ComfyUI-LogicMath": [ + [ + "LogicAND", + "LogicIF", + "LogicNOT", + "LogicOR", + "LogicXOR", + "MathAbs", + "MathAdd", + "MathCeil", + "MathClamp", + "MathCompare", + "MathCos", + "MathDivide", + "MathFloor", + "MathMax", + "MathMin", + "MathModulo", + "MathMultiply", + "MathNumberConvert", + "MathOperation", + "MathPower", + "MathRound", + "MathSin", + "MathSqrt", + "MathSubtract", + "MathTan", + "NumberToString", + "StringToNumber" + ], + { + "title_aux": "ComfyUI-LogicMath" + } + ], + "https://github.com/silveroxides/ComfyUI-ModelUtils": [ + [ + "CheckpointMetaKeys", + "CheckpointPruneKeys", + "CheckpointRenameKeys", + "CheckpointThreeMerger", + "CheckpointTwoMerger", + "EmbeddingMetaKeys", + "EmbeddingPruneKeys", + "EmbeddingRenameKeys", + "EmbeddingThreeMerger", + "EmbeddingTwoMerger", + "LoRAExtractFixed", + "LoRAExtractFrobenius", + "LoRAExtractKnee", + "LoRAExtractQuantile", + "LoRAExtractRatio", + "LoRAMergeToModel", + "LoRAMetaKeys", + "LoRAMultiMerge", + "LoRAMultiMergeDARE", + "LoRAPruneKeys", + "LoRARenameKeys", + "LoRAResizeCumulative", + "LoRAResizeFixed", + "LoRAResizeFrobenius", + "LoRAResizeRatio", + "LoRAThreeMerger", + "LoRATwoMerger", + "ModelMetaKeys", + "ModelPruneKeys", + "ModelRenameKeys", + "ModelThreeMerger", + "ModelTwoMerger", + "TextEncoderMetaKeys", + "TextEncoderPruneKeys", + "TextEncoderRenameKeys", + "TextEncoderThreeMerger", + "TextEncoderTwoMerger" + ], + { + "title_aux": "Model Utility Toolkit" + } + ], + "https://github.com/silveroxides/ComfyUI-PokeIndex": [ + [ + "PokeIndex" + ], + { + "title_aux": "ComfyUI-PokeIndex" + } + ], + "https://github.com/silveroxides/ComfyUI-RR-JointTagger": [ + [ + "Jtp3HydraTagger|redrocket", + "RRJointTagger|redrocket" + ], + { + "title_aux": "ComfyUI-RR-JointTagger" + } + ], + "https://github.com/silveroxides/ComfyUI_EmbeddingToolkit": [ + [ + "InspectEmbeddingForClip", + "PromptEmbeddingFixer", + "SaveA1111WeightedEmbeddings", + "SaveTokenEmbeddings", + "SaveWeightedEmbeddings", + "SliceExistingEmbedding" + ], + { + "title_aux": "ComfyUI_EmbeddingToolkit" + } + ], + "https://github.com/silveroxides/ComfyUI_FDGuidance": [ + [ + "FDG_APG_Patcher", + "FDG_APG_PatcherAnimation", + "FrequencyDecoupledGuidance", + "FrequencyDecoupledGuidanceAnimation" + ], + { + "title_aux": "ComfyUI_FDGuidance" + } + ], + "https://github.com/silveroxides/ComfyUI_Gemini_Expanded_API": [ + [ + "GetKeyAPI", + "SSL_GeminiAPIKeyConfig", + "SSL_GeminiTextPrompt" + ], + { + "title_aux": "ComfyUI Gemini Expanded API" + } + ], + "https://github.com/silveroxides/ComfyUI_Hybrid-Scaled_fp8-Loader": [ + [ + "HybridConfigNode", + "ScaledFP8HybridCheckpointLoader", + "ScaledFP8HybridUNetLoader" + ], + { + "title_aux": "ComfyUI_Hybrid-Scaled_fp8-Loader" + } + ], + "https://github.com/silveroxides/ComfyUI_PowerShiftScheduler": [ + [ + "PowerShiftScheduler", + "RadianceShiftScheduler" + ], + { + "title_aux": "ComfyUI Power Shift Scheduler" + } + ], + "https://github.com/silveroxides/ComfyUI_SigmoidOffsetScheduler": [ + [ + "SigmoidOffsetScheduler" + ], + { + "title_aux": "ComfyUI Sigmoid Offset Scheduler" + } + ], + "https://github.com/sinanzoo2nd/ComfyUI-Seed-Wildcard-Pack": [ + [ + "DynamicTextConcatenate", + "ResizeByScale", + "SeedBasedWildcardImpact", + "SeedBasedWildcardLora", + "SeedGeneratorWithMin" + ], + { + "title_aux": "ComfyUI Seed Wildcard Pack" } ], "https://github.com/sipherxyz/comfyui-art-venture": [ [ "AV_AwsBedrockClaudeApi", "AV_AwsBedrockMistralApi", + "AV_CheckpointLoader", "AV_CheckpointMerge", "AV_CheckpointModelsToParametersPipe", "AV_CheckpointSave", @@ -21888,6 +52892,11 @@ "AV_ControlNetEfficientStackerSimple", "AV_ControlNetLoader", "AV_ControlNetPreprocessor", + "AV_FaceDetailer", + "AV_FaceDetailerPipe", + "AV_GeminiApi", + "AV_IPAdapter", + "AV_IPAdapterPipe", "AV_LLMApiConfig", "AV_LLMChat", "AV_LLMCompletion", @@ -21895,12 +52904,15 @@ "AV_LoraListLoader", "AV_LoraListStacker", "AV_LoraLoader", + "AV_NanoBananaApiConfig", "AV_OpenAIApi", + "AV_OpenRouterApi", "AV_ParametersPipeToCheckpointModels", "AV_ParametersPipeToPrompts", "AV_PromptsToParametersPipe", "AV_SAMLoader", "AV_VAELoader", + "AnimateDiffFrameCalculator", "AspectRatioSelector", "BLIPCaption", "BLIPLoader", @@ -21914,6 +52926,8 @@ "DownloadISNetModel", "Fooocus_KSampler", "Fooocus_KSamplerAdvanced", + "Fooocus_KSamplerEfficient", + "Fooocus_KSamplerEfficientAdvanced", "GetBoolFromJson", "GetFloatFromJson", "GetIntFromJson", @@ -21937,6 +52951,8 @@ "LoadImageFromUrl", "LoadJsonFromText", "LoadJsonFromUrl", + "LoadLaMaModel", + "LoadVideoFromUrl", "MergeModels", "NumberScaler", "OverlayInpaintedImage", @@ -21969,6 +52985,86 @@ "title_aux": "ComfyUI-PuLID-Flux-Enhanced" } ], + "https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ": [ + [ + "CheckpointLoader_v2", + "CreateImageList", + "HolocineFrames", + "ImageBlend_GPU", + "ImageRadialZoomBlur_GPU", + "LoraExtractKJv2", + "LoraReduceRank", + "LoraRemapStrength", + "LoraSmartCombine", + "PowerLoraLoaderV2", + "VideoMergeABC", + "VideoTextEncodeCached_KJ", + "WanFMLF", + "WanScaleAB", + "WanVideoCacheSamples", + "WanVideoCacheVideos", + "WanVideoEmptyEmbeds_v2", + "WanVideoFlowmapDistortion", + "WanVideoImageToVideoEncode_v2", + "WanVideoMotionToFlowmap", + "WanVideoPowerLoraLoader" + ], + { + "title_aux": "ComfyUI-WanVideoWrapper_QQ" + } + ], + "https://github.com/siray-ai/siray-comfyui": [ + [ + "Siray Client", + "Siray Video Player" + ], + { + "title_aux": "siray-comfyui" + } + ], + "https://github.com/sirouk/chutes-comfyui-node": [ + [ + "ChutesWanVideoFast" + ], + { + "title_aux": "chutes-comfyui-node" + } + ], + "https://github.com/sittere/ComfyUI-YK_Line-loading": [ + [ + "MultiTextLoader" + ], + { + "title_aux": "ComfyUI-YK Line loading" + } + ], + "https://github.com/sjh00/ComfyUI-LoadImageWithInfo": [ + [ + "LoadImageWithInfo", + "SaveImageWithInfo" + ], + { + "title_aux": "ComfyUI LoadImageWithInfo" + } + ], + "https://github.com/sjhddh/ComfyUI-Cyber-Steganography": [ + [ + "StegoDecode", + "StegoEncode" + ], + { + "title_aux": "ComfyUI-Cyber-Steganography" + } + ], + "https://github.com/skatardude10/ComfyUI-Optical-Realism": [ + [ + "OpticalRealism", + "RemoveAlphaChannel" + ], + { + "title_aux": "ComfyUI-Optical-Realism" + } + ], "https://github.com/skfoo/ComfyUI-Coziness": [ [ "LoraTextExtractor-b1f83aa2", @@ -21978,6 +53074,94 @@ "title_aux": "ComfyUI-Coziness" } ], + "https://github.com/skycoder182/comfyui-filename-tools": [ + [ + "ExtractAndTrimFilename", + "LoadImageWithFilename" + ], + { + "title_aux": "Filename Tools" + } + ], + "https://github.com/skycoder182/comfyui-skycoder-tools": [ + [ + "Aspect_Ratio_and_Tile_size_calculator", + "BLIP2Captioning", + "BooleanToggle", + "ConcatenateAndTestIfEmpty", + "DirectoryImageInfo", + "DirectoryImageLoader", + "ImageBasicNode" + ], + { + "title_aux": "Skycoder Tools" + } + ], + "https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit": [ + [ + "SID_LLM_API", + "SID_LLM_Local", + "SID_ZImagePromptGenerator" + ], + { + "title_aux": "ComfyUI-AI-Photography-Toolkit" + } + ], + "https://github.com/slvslvslv/ComfyUI-SmartHelperNodes": [ + [ + "SmartFormatString", + "SmartFormatString10", + "SmartHVLoraSelect", + "SmartHVLoraStack", + "SmartHWMonitor", + "SmartLoadLoRA", + "SmartModelOrLoraToString", + "SmartPrompt", + "SmartRemoveComments", + "SmartSaveAnimatedGIF", + "SmartSaveText", + "SmartShowAnything" + ], + { + "title_aux": "ComfyUI Smart Helper Nodes" + } + ], + "https://github.com/slvslvslv/ComfyUI-SmartImageTools": [ + [ + "SmartBackgroundFill", + "SmartBackgroundRemove", + "SmartColorFillMask", + "SmartColorMatch", + "SmartDrawPoints", + "SmartFillTransparentHoles", + "SmartGenerateImage", + "SmartGetMask", + "SmartGradientDeformation", + "SmartImageCrop", + "SmartImagePadding", + "SmartImagePaletteConvert", + "SmartImagePaletteCreate", + "SmartImagePaletteExtract", + "SmartImagePoint", + "SmartImagePreviewScaled", + "SmartImageRegion", + "SmartImagesProcessor", + "SmartLoadGIFImage", + "SmartPoint", + "SmartPointSet", + "SmartPointSetMerge", + "SmartPreviewPalette", + "SmartProgressiveScaleImage", + "SmartSaveAnimatedPNG", + "SmartSavePNG", + "SmartSemiTransparenceRemove", + "SmartVideoPreviewScaled", + "SmartVideoPreviewScaledMasked" + ], + { + "title_aux": "ComfyUI-SmartImageTools" + } + ], "https://github.com/slyt/comfyui-ollama-nodes": [ [ "BooleanToString", @@ -22001,14 +53185,68 @@ "title_aux": "kb-comfyui-nodes" } ], + "https://github.com/smartvain/ComfyUI-FaceKeypointsFilter": [ + [ + "FaceKeypointsFilter" + ], + { + "title_aux": "ComfyUI-FaceKeypointsFilter" + } + ], + "https://github.com/smartvain/ComfyUI-PoseKeypointsToImage": [ + [ + "PoseKeypointsToImage" + ], + { + "title_aux": "ComfyUI-PoseKeypointsToImage" + } + ], + "https://github.com/smartvain/ComfyUI-PromptComment": [ + [ + "PromptComment", + "PromptCommentMultiMarker" + ], + { + "title_aux": "ComfyUI-PromptComment" + } + ], + "https://github.com/smbdsbrain/ComfyUI-PK_load_image_paste": [ + [ + "PKLoadImagePaste" + ], + { + "title_aux": "ComfyUI PK Load Image Paste" + } + ], "https://github.com/smlbiobot/ComfyUI-Flux-Replicate-API": [ [ + "SML_FluxProUltra_Replicate_Standalone", "SML_FluxPro_Replicate_Standalone" ], { "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_AniCrafter": [ + [ + "AniCrafterLoader", + "AniCrafterPreImage", + "AniCrafterPreText", + "AniCrafterPreVideo", + "AniCrafterSampler" + ], + { + "title_aux": "ComfyUI_AniCrafter" + } + ], "https://github.com/smthemex/ComfyUI_AnyDoor": [ [ "AnyDoor_LoadModel", @@ -22018,6 +53256,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", @@ -22034,6 +53281,7 @@ "Glm_4v_9b", "Glm_Lcoal_Or_Repo", "ZhipuaiApi_Character", + "ZhipuaiApi_Img", "ZhipuaiApi_Txt", "ZhipuaiApi_img" ], @@ -22041,6 +53289,21 @@ "title_aux": "ComfyUI_ChatGLM_API" } ], + "https://github.com/smthemex/ComfyUI_ChronoEdit_SM": [ + [ + "ChronoEdit_SM_Enhance", + "ChronoEdit_SM_Enhance_Loader", + "ChronoEdit_SM_KSampler", + "ChronoEdit_SM_Latent", + "ChronoEdit_SM_LoadVAE", + "ChronoEdit_SM_Lora", + "ChronoEdit_SM_Model", + "ChronoEdit_SM_Vae" + ], + { + "title_aux": "ComfyUI_ChronoEdit_SM" + } + ], "https://github.com/smthemex/ComfyUI_CustomNet": [ [ "CustomNet_LoadModel", @@ -22050,6 +53313,16 @@ "title_aux": "ComfyUI_CustomNet" } ], + "https://github.com/smthemex/ComfyUI_DICE_Talk": [ + [ + "Dice_Talk_Loader", + "Dice_Talk_PreData", + "Dice_Talk_Sampler" + ], + { + "title_aux": "ComfyUI_DICE_Talk" + } + ], "https://github.com/smthemex/ComfyUI_DeepFakeDefenders": [ [ "DeepFakeDefender_Loader", @@ -22077,12 +53350,34 @@ "title_aux": "ComfyUI_Diffree" } ], + "https://github.com/smthemex/ComfyUI_DiffuEraser": [ + [ + "DiffuEraser_Loader", + "DiffuEraser_PreData", + "DiffuEraser_Sampler", + "Propainter_Loader", + "Propainter_Sampler" + ], + { + "title_aux": "ComfyUI_DiffuEraser" + } + ], + "https://github.com/smthemex/ComfyUI_DyPE": [ + [ + "DyPE_Condition", + "DyPE_Encoder", + "DyPE_KSampler", + "DyPE_Model" + ], + { + "title_aux": "ComfyUI_DyPE" + } + ], "https://github.com/smthemex/ComfyUI_EchoMimic": [ [ "Echo_LoadModel", - "Echo_Sampler", - "Echo_Upscaleloader", - "Echo_VideoUpscale" + "Echo_Predata", + "Echo_Sampler" ], { "title_aux": "ComfyUI_EchoMimic" @@ -22098,6 +53393,18 @@ "title_aux": "ComfyUI_Face_Anon_Simple" } ], + "https://github.com/smthemex/ComfyUI_FlashVSR": [ + [ + "FlashVSR_SM_Decoder", + "FlashVSR_SM_KSampler", + "FlashVSR_SM_Model", + "FlashVSR_SM_Vae", + "FlashVSR_SM_VideoPathLoop" + ], + { + "title_aux": "ComfyUI_FlashVSR" + } + ], "https://github.com/smthemex/ComfyUI_FoleyCrafter": [ [ "FoleyCrafter_LoadModel", @@ -22117,10 +53424,21 @@ "title_aux": "ComfyUI_FollowYourEmoji" } ], + "https://github.com/smthemex/ComfyUI_GRAG_Image_Editing": [ + [ + "Qwen_Edit_GRAG_SM_Encode", + "Qwen_Edit_GRAG_SM_KSampler", + "Qwen_Edit_GRAG_SM_Model" + ], + { + "title_aux": "ComfyUI_GRAG_Image_Editing" + } + ], "https://github.com/smthemex/ComfyUI_Hallo2": [ [ "HalloLoader", "HalloPreImgAndAudio", + "HalloSampler", "HallosSampler", "HallosUpscaleloader", "HallosVideoUpscale" @@ -22132,12 +53450,23 @@ "https://github.com/smthemex/ComfyUI_HiDiffusion_Pro": [ [ "HI_Diffusers_Model_Loader", + "Hi_Hi_Sampler", "Hi_Sampler" ], { "title_aux": "ComfyUI_HiDiffusion_Pro" } ], + "https://github.com/smthemex/ComfyUI_HunyuanAvatar_Sm": [ + [ + "HY_Avatar_Loader", + "HY_Avatar_PreData", + "HY_Avatar_Sampler" + ], + { + "title_aux": "ComfyUI_HunyuanAvatar_Sm" + } + ], "https://github.com/smthemex/ComfyUI_ID_Animator": [ [ "ID_Animator", @@ -22157,6 +53486,36 @@ "title_aux": "ComfyUI_InstantIR_Wrapper" } ], + "https://github.com/smthemex/ComfyUI_InteractAvatar": [ + [ + "InteractAvatar_SM_Model", + "InteractAvatar_SM_Predata", + "InteractAvatar_SM_Sampler" + ], + { + "title_aux": "ComfyUI_InteractAvatar" + } + ], + "https://github.com/smthemex/ComfyUI_KV_Edit": [ + [ + "KV_Edit_Load", + "KV_Edit_Load_LoRA", + "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", @@ -22168,6 +53527,19 @@ "title_aux": "ComfyUI_Llama3_8B" } ], + "https://github.com/smthemex/ComfyUI_LucidFlux": [ + [ + "LucidFlux_SM_Cond", + "LucidFlux_SM_Diff_Model", + "LucidFlux_SM_Diffbir", + "LucidFlux_SM_Encode", + "LucidFlux_SM_KSampler", + "LucidFlux_SM_Model" + ], + { + "title_aux": "ComfyUI_LucidFlux" + } + ], "https://github.com/smthemex/ComfyUI_MS_Diffusion": [ [ "MS_Object_img_Batch", @@ -22178,6 +53550,16 @@ "title_aux": "ComfyUI_MS_Diffusion" } ], + "https://github.com/smthemex/ComfyUI_MangaNinjia": [ + [ + "MangaNinjiaLoader", + "MangaNinjiaSampler", + "MarkImageNode" + ], + { + "title_aux": "ComfyUI_MangaNinjia" + } + ], "https://github.com/smthemex/ComfyUI_MooER": [ [ "MooER_LoadModel", @@ -22187,6 +53569,17 @@ "title_aux": "ComfyUI_MooER" } ], + "https://github.com/smthemex/ComfyUI_ObjectClear": [ + [ + "ObjectClearBatch", + "ObjectClearLoader", + "ObjectClearSampler", + "ObjectClearVision" + ], + { + "title_aux": "ComfyUI_ObjectClear" + } + ], "https://github.com/smthemex/ComfyUI_OmniParser": [ [ "OmniParser_Loader", @@ -22196,6 +53589,28 @@ "title_aux": "ComfyUI_OmniParser" } ], + "https://github.com/smthemex/ComfyUI_OmniPart": [ + [ + "OmniPart_SM_KSampler", + "OmniPart_SM_MergeImg", + "OmniPart_SM_Model", + "OmniPart_SM_PreImg", + "OmniPart_SM_PreModel", + "OmniPart_SM_Prebox" + ], + { + "title_aux": "ComfyUI_OmniPart" + } + ], + "https://github.com/smthemex/ComfyUI_OmniSVG": [ + [ + "OmniSVG_Loader", + "OmniSVG_Sampler" + ], + { + "title_aux": "ComfyUI_OmniSVG" + } + ], "https://github.com/smthemex/ComfyUI_PBR_Maker": [ [ "Load_MatForger", @@ -22214,6 +53629,33 @@ "title_aux": "ComfyUI_ParlerTTS" } ], + "https://github.com/smthemex/ComfyUI_PartPacker": [ + [ + "PartPacker_Loader", + "PartPacker_Sampler" + ], + { + "title_aux": "ComfyUI_PartPacker" + } + ], + "https://github.com/smthemex/ComfyUI_Personalize_Anything": [ + [ + "Personalize_Anything_Load", + "Personalize_Anything_Sampler" + ], + { + "title_aux": "ComfyUI_Personalize_Anything" + } + ], + "https://github.com/smthemex/ComfyUI_PhotoDoodle": [ + [ + "PhotoDoodle_Loader", + "PhotoDoodle_Sampler" + ], + { + "title_aux": "ComfyUI_PhotoDoodle" + } + ], "https://github.com/smthemex/ComfyUI_Pic2Story": [ [ "Pic2Story_Loader", @@ -22241,6 +53683,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", @@ -22250,6 +53702,27 @@ "title_aux": "ComfyUI_Sapiens" } ], + "https://github.com/smthemex/ComfyUI_SongGeneration": [ + [ + "SongGeneration_Loader", + "SongGeneration_Sampler", + "SongGeneration_Stage1", + "SongGeneration_Stage2" + ], + { + "title_aux": "ComfyUI_SongGeneration" + } + ], + "https://github.com/smthemex/ComfyUI_Sonic": [ + [ + "SONICSampler", + "SONICTLoader", + "SONIC_PreData" + ], + { + "title_aux": "ComfyUI_Sonic" + } + ], "https://github.com/smthemex/ComfyUI_StableAudio_Open": [ [ "StableAudio_ModelLoader", @@ -22259,6 +53732,16 @@ "title_aux": "ComfyUI_StableAudio_Open" } ], + "https://github.com/smthemex/ComfyUI_StableAvatar": [ + [ + "StableAvatar_LoadModel", + "StableAvatar_Predata", + "StableAvatar_Sampler" + ], + { + "title_aux": "ComfyUI_StableAvatar" + } + ], "https://github.com/smthemex/ComfyUI_Stable_Makeup": [ [ "StableMakeup_LoadModel", @@ -22269,13 +53752,23 @@ "title_aux": "ComfyUI_Stable_Makeup" } ], + "https://github.com/smthemex/ComfyUI_Step_Audio_EditX_SM": [ + [ + "Step_Audio_EditX_SM_KSampler", + "Step_Audio_EditX_SM_Model" + ], + { + "title_aux": "ComfyUI_Step_Audio_EditX_SM" + } + ], "https://github.com/smthemex/ComfyUI_StoryDiffusion": [ [ "Comic_Type", "EasyFunction_Lite", "Pre_Translate_prompt", - "Storydiffusion_Model_Loader", - "Storydiffusion_Sampler" + "StoryDiffusion_Apply", + "StoryDiffusion_CLIPTextEncode", + "StoryDiffusion_KSampler" ], { "title_aux": "ComfyUI_StoryDiffusion" @@ -22283,6 +53776,7 @@ ], "https://github.com/smthemex/ComfyUI_Streamv2v_Plus": [ [ + "Load_Stream", "Stream_Lora_Loader", "Stream_Model_Loader", "Stream_Sampler" @@ -22291,11 +53785,54 @@ "title_aux": "ComfyUI_Streamv2v_Plus" } ], + "https://github.com/smthemex/ComfyUI_TRELLIS": [ + [ + "Trellis_LoadModel", + "Trellis_Sampler", + "Trellis_multiimage_loader" + ], + { + "title_aux": "ComfyUI_TRELLIS" + } + ], + "https://github.com/smthemex/ComfyUI_UltraFlux": [ + [ + "UltraFlux_SM_KSampler", + "UltraFlux_SM_Model" + ], + { + "title_aux": "ComfyUI_UltraFlux" + } + ], + "https://github.com/smthemex/ComfyUI_VisualCloze": [ + [ + "Img_Quadruple", + "MSdiffusion_Aplly", + "VisualCloze_Aplly", + "VisualCloze_CLIPText", + "VisualCloze_KSampler" + ], + { + "title_aux": "ComfyUI_VisualCloze" + } + ], + "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", @@ -22305,6 +53842,7 @@ "Prompt Selector", "Sn0w KSampler", "Sn0w Lora Stacker", + "TaggedTiledUpscaler", "Upscale Image With Model By" ], { @@ -22316,12 +53854,95 @@ "Aesthetics", "Aesthetics V2", "Load AI Toolkit Latent Flux", - "Send_to_Eagle" + "Save_Image_And_Caption", + "Send_to_Eagle", + "Snek SQLite Prompt Logger", + "\ud83d\udc0d Random Prompt From JSON" ], { "title_aux": "comfyui-snek-nodes" } ], + "https://github.com/snicolast/ComfyUI-IndexTTS2": [ + [ + "IndexTTS2Advanced", + "IndexTTS2EmotionFromText", + "IndexTTS2EmotionVector", + "IndexTTS2SaveAudio", + "IndexTTS2Simple" + ], + { + "title_aux": "ComfyUI-IndexTTS2" + } + ], + "https://github.com/snicolast/ComfyUI-Ovi": [ + [ + "OviAttentionSelector", + "OviEngineLoader", + "OviLatentDecoder", + "OviVideoGenerator", + "OviWanComponentLoader" + ], + { + "title_aux": "ComfyUI-Ovi" + } + ], + "https://github.com/snomiao/ComfyUI-Video-Crop": [ + [ + "VideoCropNode" + ], + { + "title_aux": "ComfyUI Video Crop" + } + ], + "https://github.com/solidlime/Comfyui-Random_Image_Picker": [ + [ + "RandomImagePicker" + ], + { + "nodename_pattern": "RandomImagePicker", + "title_aux": "Random Image Picker" + } + ], + "https://github.com/sonnybox/ComfyUI-SuperNodes": [ + [ + "FaceBBoxToMask", + "GetCommonAspectRatio", + "ImageMaskCrop", + "ImageSizeCalculator", + "RestoreMaskCrop", + "SetReserveVRAM", + "SigmaReplace", + "SigmaSmoother", + "SigmasGraph", + "SigmasRescale", + "SuperBrightnessContrast", + "SuperColorAdjustAllInOne", + "SuperCreateTiles", + "SuperHueSaturation", + "SuperLatentStats", + "SuperLevelsNormalize", + "SuperPadImage", + "SuperResizeImage", + "SuperSVRCalcTiles", + "SuperStitchTiles", + "SuperWhiteBalanceCAT", + "User Error" + ], + { + "title_aux": "ComfyUI-SuperNodes" + } + ], + "https://github.com/sooxt98/comfyui_longcat_image": [ + [ + "LongCatImageEdit", + "LongCatImageModelLoader", + "LongCatImageTextToImage" + ], + { + "title_aux": "comfyui_longcat_image" + } + ], "https://github.com/souki202/ComfyUI-LoadImage-Advanced": [ [ "ColorAdjustment", @@ -22332,6 +53953,14 @@ "title_aux": "ComfyUI-LoadImage-Advanced" } ], + "https://github.com/soulctcher/TetriNode": [ + [ + "TetriNode" + ], + { + "title_aux": "TetriNode" + } + ], "https://github.com/sourceful-official/LoadLoraModelOnlyWithUrl": [ [ "LoadLoraModelOnlyWithUrl" @@ -22371,7 +54000,9 @@ ], "https://github.com/space-nuko/nui-suite": [ [ + "Nui.DynamicPromptsTextEncode", "Nui.DynamicPromptsTextGen", + "Nui.FeelingLuckyTextEncode", "Nui.FeelingLuckyTextGen", "Nui.OutputString" ], @@ -22393,24 +54024,16 @@ "title_aux": "ComfyUI-Depth-Pro" } ], - "https://github.com/spacepxl/ComfyUI-Florence-2": [ - [ - "Florence2", - "Florence2Postprocess", - "Florence2PostprocessAll", - "LoadFlorence2Model" - ], - { - "title_aux": "ComfyUI-Florence-2" - } - ], "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": [ [ "LoadEXR", "LoadEXRFrames", + "LoadImageAndPrompt", "LoadLatentEXR", "SaveEXR", "SaveEXRFrames", + "SaveImageAndPromptExact", + "SaveImageAndPromptIncremental", "SaveLatentEXR", "SaveTiff" ], @@ -22418,67 +54041,16 @@ "title_aux": "ComfyUI-HQ-Image-Save" } ], - "https://github.com/spacepxl/ComfyUI-Image-Filters": [ + "https://github.com/spacepxl/ComfyUI-LossTesting": [ [ - "AdainFilterLatent", - "AdainImage", - "AdainLatent", - "AlphaClean", - "AlphaMatte", - "BatchAlign", - "BatchAverageImage", - "BatchAverageUnJittered", - "BatchNormalizeImage", - "BatchNormalizeLatent", - "BetterFilmGrain", - "BilateralFilterImage", - "BlurImageFast", - "BlurMaskFast", - "ClampImage", - "ClampOutliers", - "ColorMatchImage", - "ConditioningSubtract", - "ConvertNormals", - "CustomNoise", - "DepthToNormals", - "DifferenceChecker", - "DilateErodeMask", - "EnhanceDetail", - "ExposureAdjust", - "FrequencyCombine", - "FrequencySeparate", - "GameOfLife", - "GuidedFilterAlpha", - "GuidedFilterImage", - "ImageConstant", - "ImageConstantHSV", - "InstructPixToPixConditioningAdvanced", - "JitterImage", - "Keyer", - "LatentNormalizeShuffle", - "LatentStats", - "MedianFilterImage", - "ModelTest", - "NormalMapSimple", - "OffsetLatentImage", - "PrintSigmas", - "RelightSimple", - "RemapRange", - "RestoreDetail", - "SharpenFilterLatent", - "ShuffleChannels", - "Tonemap", - "UnJitterImage", - "UnTonemap", - "VisualizeLatents" + "Measure Timestep Loss" ], { - "title_aux": "ComfyUI-Image-Filters" + "title_aux": "ComfyUI-LossTesting" } ], "https://github.com/spacepxl/ComfyUI-RAVE": [ [ - "ConditioningDebug", "ImageGridCompose", "ImageGridDecompose", "KSamplerRAVE", @@ -22503,6 +54075,61 @@ "title_aux": "ComfyUI-StyleGan" } ], + "https://github.com/spawner1145/CUI-Lumina2-TeaCache": [ + [ + "LPIPS_Model_Loader", + "Store_Baseline_Image", + "TeaCache_LPIPS_Evaluator", + "TeaCache_Lumina2", + "TeaCache_Patcher", + "TeaCache_Result_Collector" + ], + { + "title_aux": "CUI-Lumina2-TeaCache" + } + ], + "https://github.com/spawner1145/comfyui-aichat": [ + [ + "GeminiApiLoader", + "GeminiChat", + "GeminiContentConnector", + "GeminiFileUploader", + "GeminiImageEncoder", + "GeminiTextBlock", + "OpenAIApiLoader", + "OpenAIChat", + "OpenAIContentConnector", + "OpenAIFileUploader", + "OpenAIImageEncoder", + "OpenAITextBlock" + ], + { + "title_aux": "comfyui-aichat" + } + ], + "https://github.com/spawner1145/comfyui-lsnet": [ + [ + "LSNetArtistImageConnector", + "LSNetArtistInference", + "LSNetArtistSimilarity", + "LSNetClustering", + "LSNetCommonFeatures", + "LSNetFeatureComparison", + "LSNetModelLoader" + ], + { + "title_aux": "comfyui-lsnet" + } + ], + "https://github.com/speige/ComfyUI_Make-It-Animatable": [ + [ + "MakeItAnimatableRig", + "MakeItAnimatableRigGS" + ], + { + "title_aux": "ComfyUI_Make-It-Animatable" + } + ], "https://github.com/spinagon/ComfyUI-seam-carving": [ [ "SeamCarving" @@ -22530,6 +54157,24 @@ "title_aux": "Latent Mirror node for ComfyUI" } ], + "https://github.com/sputnik57/comfyui-prompt-logger": [ + [ + "Prompt Logger Unified v2", + "PromptLoggerUnified", + "PromptLoggerUnified_v2" + ], + { + "title_aux": "comfyui-prompt-logger" + } + ], + "https://github.com/squirrel765/ComfyUI-LLM-VLM-Node": [ + [ + "UnifiedGenerator|LP" + ], + { + "title_aux": "ComfyUI-LLM-VLM-Node" + } + ], "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": [ [ "UltimateSDUpscale", @@ -22559,7 +54204,8 @@ "KRestartSamplerCustom", "KRestartSamplerSimple", "RestartSampler", - "RestartScheduler" + "RestartScheduler", + "RestartSelfTest" ], { "title_aux": "Restart Sampling" @@ -22574,11 +54220,55 @@ "title_aux": "ComfyUI roop" } ], + "https://github.com/ssspace1/SSpack_ComfyUI": [ + [ + "SSCheckpointLoader", + "SSCheckpointSelector", + "SSCheckpointSelector12", + "SSCheckpointSelector6", + "SSFilter", + "SSImageNodeAnnotator", + "SSJsonOutput", + "SSLoRAStackApplier", + "SSLoraSelector", + "SSRandomLoraApplier", + "SSSavedImageLoader", + "SSTextWeight", + "SS_SDXL_AutoResize" + ], + { + "title_aux": "SSpack_ComfyUI" + } + ], + "https://github.com/stavsap/comfyui-downloader": [ + [ + "DownloadSummaryParser", + "DownloadTokenLoader", + "Downloader" + ], + { + "title_aux": "comfyui-downloader" + } + ], + "https://github.com/stavsap/comfyui-kokoro": [ + [ + "KokoroGenerator", + "KokoroSpeaker", + "KokoroSpeakerCombiner" + ], + { + "title_aux": "comfyui-kokoro" + } + ], "https://github.com/stavsap/comfyui-ollama": [ [ + "OllamaChat", + "OllamaConnectivityV2", "OllamaGenerate", "OllamaGenerateAdvance", + "OllamaGenerateV2", "OllamaLoadContext", + "OllamaOptionsV2", "OllamaSaveContext", "OllamaVision" ], @@ -22586,17 +54276,62 @@ "title_aux": "ComfyUI Ollama" } ], - "https://github.com/steelan9199/ComfyUI-Teeth": [ + "https://github.com/stduhpf/ComfyUI--Wan22FirstLastFrameToVideoLatent": [ [ - "Index List", - "TextSplitByDelimiter" + "Wan22FirstLastFrameToVideoLatent", + "Wan22FirstLastFrameToVideoLatentTiledVAE" ], { - "title_aux": "ComfyUI-Teeth" + "title_aux": "Wan22FirstLastFrameToVideoLatent for ComfyUI" + } + ], + "https://github.com/stduhpf/ComfyUI--WanImageToVideoTiled": [ + [ + "Wan22ImageToVideoLatentTiledVAE", + "WanCameraImageToVideoTiledVAE", + "WanFirstLastFrameToVideoTiledVAE", + "WanFunControlToVideoTiledVAE", + "WanFunInpaintToVideoTiledVAE", + "WanImageToVideoTiledVAE", + "WanPhantomSubjectToVideoTiledVAE", + "WanTrackToVideoTiledVAE", + "WanVaceToVideoTiledVAE" + ], + { + "title_aux": "WanImageToVideoTiledVAE for ComfyUI" + } + ], + "https://github.com/stduhpf/ComfyUI-WanMoeKSampler": [ + [ + "SplitSigmasAtT", + "WanMoeKSampler", + "WanMoeKSamplerAdvanced" + ], + { + "title_aux": "KSampler for Wan 2.2 MoE for ComfyUI" + } + ], + "https://github.com/stepfun-ai/ComfyUI-StepVideo": [ + [ + "TI2V", + "TI2V_API" + ], + { + "title_aux": "ComfyUI-StepVideo" + } + ], + "https://github.com/stevenwg/ComfyUI-VideoGrid": [ + [ + "VideosConcateHorizontal:", + "VideosConcateVertical" + ], + { + "title_aux": "ComfyUI-VideoGrid" } ], "https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [ [ + "EvenImageResizer", "GridImageSplitter" ], { @@ -22605,6 +54340,7 @@ ], "https://github.com/stormcenter/ComfyUI-LivePhotoCreator": [ [ + "ImageCompareTransition", "LivePhotoCreator", "LivePhotoPreview" ], @@ -22645,6 +54381,28 @@ "title_aux": "segment anything" } ], + "https://github.com/strand1/ComfyUI-Autogen": [ + [ + "AutogenAssistantAgent", + "AutogenCodeExecutor", + "AutogenGroupChat", + "AutogenModel" + ], + { + "title_aux": "ComfyUI-Autogen" + } + ], + "https://github.com/strawberryPunch/vram_optimizer": [ + [ + "StrawberryGPUMonitor", + "StrawberryVramOptimizer", + "custom_nodes" + ], + { + "nodename_pattern": "StFist", + "title_aux": "StrawberryFist VRAM Optimizer" + } + ], "https://github.com/strimmlarn/ComfyUI-Strimmlarns-Aesthetic-Score": [ [ "AesthetlcScoreSorter", @@ -22656,6 +54414,18 @@ "title_aux": "ComfyUI_Strimmlarns_aesthetic_score" } ], + "https://github.com/stuttlepress/ComfyUI-Wan-VACE-Prep": [ + [ + "LoadVideosFromFolderSimple", + "WanVACEBatchContext", + "WanVACEExtend", + "WanVACEPrep", + "WanVACEPrepBatch" + ], + { + "title_aux": "ComfyUI Wan VACE Prep" + } + ], "https://github.com/styler00dollar/ComfyUI-deepcache": [ [ "DeepCache" @@ -22672,6 +54442,55 @@ "title_aux": "ComfyUI-sudo-latent-upscale" } ], + "https://github.com/styletransfer/ComfyUI-TRELLIS2_Motion": [ + [ + "CameraTrajectory_T2", + "MergeMeshSequences", + "MeshRenderer", + "MeshSequenceRenderer", + "MultiAngleCamera", + "OnionSkinning", + "RenderingEffects", + "Trellis2Predict", + "Trellis2VideoAngleShift", + "VideoToMeshes" + ], + { + "title_aux": "ComfyUI-TRELLIS2_Motion" + } + ], + "https://github.com/subraoul/ComfyUI_Bit-Depth-Enhancer": [ + [ + "ABCD_BitDepthEnhancement", + "BitDepthEnhancementClassical", + "DeepDeband", + "Save16BitTIFF" + ], + { + "title_aux": "Bit Depth Enhancer" + } + ], + "https://github.com/sugarkwork/ComfyUI_AspectRatioToSize": [ + [ + "AspectRatio", + "AspectRatioToSize", + "CalcFactorWidthHeight", + "CalculateImagePadding", + "MatchImageToAspectRatio", + "SizeToWidthHeight" + ], + { + "title_aux": "ComfyUI_AspectRatioToSize" + } + ], + "https://github.com/sugarkwork/comfyui-trtupscaler": [ + [ + "TRTUpscaler" + ], + { + "title_aux": "comfyui-trtupscaler" + } + ], "https://github.com/sugarkwork/comfyui_cohere": [ [ "SimpleCohereNode" @@ -22680,19 +54499,112 @@ "title_aux": "comfyui_cohere" } ], + "https://github.com/sugarkwork/comfyui_smart_character_detailer": [ + [ + "SmartCharacterDetailer" + ], + { + "title_aux": "comfyui_smart_character_detailer" + } + ], "https://github.com/sugarkwork/comfyui_tag_fillter": [ [ + "TagCategory", + "TagCategoryEnhance", + "TagColorChanger", + "TagComparator", + "TagDetector", + "TagEmpty", + "TagEnhance", "TagFilter", + "TagFlag", + "TagFlagImage", "TagIf", "TagMerger", + "TagMerger4", + "TagMerger6", + "TagPipeIn", + "TagPipeOut", + "TagPipeOutOne", + "TagPipeUpdate", + "TagRandom", + "TagRandomCategory", "TagRemover", "TagReplace", - "TagSwitcher" + "TagSelector", + "TagSwitcher", + "TagWildcardFilter" ], { "title_aux": "comfyui_tag_filter" } ], + "https://github.com/suhee19/comfyui-orpheus-loader": [ + [ + "OrpheusLoader" + ], + { + "title_aux": "comfyui-orpheus-loader" + } + ], + "https://github.com/sumitchatterjee13/Luminance-Stack-Processor": [ + [ + "HDRExportNode", + "LatentStackProcessor5Stops", + "LuminanceStackProcessor3Stops", + "LuminanceStackProcessor5Stops" + ], + { + "title_aux": "Luminance Stack Processor" + } + ], + "https://github.com/sumitchatterjee13/nuke-nodes-comfyui": [ + [ + "NukeBlur", + "NukeChannelShuffle", + "NukeColorBars", + "NukeColorCorrect", + "NukeConstant", + "NukeCornerPin", + "NukeCrop", + "NukeDefocus", + "NukeExposure", + "NukeExposureAdvanced", + "NukeGrade", + "NukeLevels", + "NukeMerge", + "NukeMix", + "NukeMotionBlur", + "NukeOCIOColorSpace", + "NukeOCIODisplay", + "NukeOCIOFileTransform", + "NukeOCIOInfo", + "NukeRamp", + "NukeRead", + "NukeReadInfo", + "NukeTransform", + "NukeVectorfield", + "NukeVectorfieldInfo", + "NukeViewer", + "NukeWrite" + ], + { + "title_aux": "Nuke Nodes for ComfyUI" + } + ], + "https://github.com/supElement/ComfyUI_Element_easy": [ + [ + "EmptyImageRGB_Element", + "ImagePadBlur_Element", + "MaskNoiseInjection_Element", + "MaskStroke_Element", + "RandomCharacterGenerator", + "TextLineBreak_Element" + ], + { + "title_aux": "ComfyUI_Element_easy" + } + ], "https://github.com/superyoman/comfyui_lumaAPI": [ [ "LUMA_API_YoC", @@ -22702,6 +54614,44 @@ "title_aux": "comfyui_lumaAPI" } ], + "https://github.com/surinder83singh/ComfyUI-compare-videos": [ + [ + "CompareVideos" + ], + { + "title_aux": "Compare Videos" + } + ], + "https://github.com/svetozarov/AS_LLM_nodes": [ + [ + "AS_ComfyGPT", + "AS_GeminiCaptioning", + "AS_MultimodalGemini" + ], + { + "title_aux": "AS_LLM_nodes" + } + ], + "https://github.com/svntax/ComfyUI-RetroDiffusion-API-Node": [ + [ + "Retro Diffusion API Node" + ], + { + "title_aux": "ComfyUI-RetroDiffusion-API-Node" + } + ], + "https://github.com/swan7-py/ComfyUI-ImageAlphaCrop": [ + [ + "ImageAlphaCrop", + "ImageAlphaCropAdvanced", + "LoadImageWithAlpha", + "LoadImagesFromPathRGBA", + "SaveImageRGBA" + ], + { + "title_aux": "ComfyUI-ImageAlphaCrop" + } + ], "https://github.com/sweetndata/ComfyUI-Image-Harmonizer": [ [ "harmonizer" @@ -22710,6 +54660,14 @@ "title_aux": "ComfyUI-Image-Harmonizer" } ], + "https://github.com/sweetndata/ComfyUI-Reflatent": [ + [ + "RefLatent" + ], + { + "title_aux": "ComfyUI-Reflatent" + } + ], "https://github.com/sweetndata/ComfyUI-googletrans": [ [ "googletrans" @@ -22718,49 +54676,33 @@ "title_aux": "ComfyUI-googletrans" } ], - "https://github.com/syaofox/ComfyUI_fnodes": [ + "https://github.com/sweetndata/ComfyUI_Sticker_Compositer": [ [ - "AddImageBorder-", - "AlignImageByFace-", - "ColorAdjustment-", - "ColorBlockEffect-", - "ColorTint-", - "ComputeImageScaleRatio-", - "CreateBlurredEdgeMask-", - "Depth2Mask-", - "DisplayAny-", - "ExtractBoundingBox-", - "FaceCutout-", - "FaceMorph-", - "FacePaste-", - "FilePathAnalyzer-", - "FillMaskedImageArea-", - "FlatteningEffect-", - "GeneratePreciseFaceMask-", - "GetImageSize-", - "IPAdapterMSLayerWeights-", - "IPAdapterMSTiled-", - "ImageRotate-", - "ImageScaleBySpecifiedSide-", - "ImageScalerForSDModels-", - "LoadImagesFromFolder-", - "MaskChange-", - "MaskScale-", - "MaskScaleBy-", - "OccluderLoader-", - "OutlineMask-", - "PrimitiveText-", - "ReadImage-", - "RegexExtractor-", - "ScheduleSampler-", - "ScheduleSamplerCustomAYS-", - "ScheduleSamplerCustomTurbo-", - "Seed-", - "SelectFace-", - "TrimImageBorders-" + "Sticker_Compositer" ], { - "title_aux": "ComfyUI_fnodes" + "title_aux": "ComfyUI_Sticker_Compositer" + } + ], + "https://github.com/swfxliyiyu/ComfyUI-FastVideo": [ + [ + "DITConfig", + "InferenceArgs", + "LoadImagePath", + "TextEncoderConfig", + "VAEConfig", + "VideoGenerator" + ], + { + "title_aux": "ComfyUI-FastVideo" + } + ], + "https://github.com/sworksteam/SEngine": [ + [ + "SEngineLoraLoader" + ], + { + "title_aux": "SEngine" } ], "https://github.com/syllebra/bilbox-comfyui": [ @@ -22789,6 +54731,126 @@ "title_aux": "Vid2vid" } ], + "https://github.com/synthetai/ComfyUI-JM-Gemini-API": [ + [ + "JMGeminiImageGenerator", + "JMGeminiReverseGenerator", + "JMGeminiVideoGenerator", + "JMGeminiWatermarkRemover" + ], + { + "title_aux": "ComfyUI-JM-Gemini-API" + } + ], + "https://github.com/synthetai/ComfyUI-JM-KLing-API": [ + [ + "JM-KLingAI-API/api-key", + "JM-KLingAI-API/hybrid-video", + "JM-KLingAI-API/image-downloader", + "JM-KLingAI-API/image-generation", + "JM-KLingAI-API/image2video", + "JM-KLingAI-API/lip-sync", + "JM-KLingAI-API/lip-sync-async", + "JM-KLingAI-API/multi-image2image", + "JM-KLingAI-API/multi-image2video", + "JM-KLingAI-API/query-status", + "JM-KLingAI-API/text2video", + "JM-KLingAI-API/video-downloader" + ], + { + "title_aux": "ComfyUI-JM-KLing-API" + } + ], + "https://github.com/synthetai/ComfyUI-JM-MiniMax-API": [ + [ + "JM-MiniMax-API/check-video-status", + "JM-MiniMax-API/download-video", + "JM-MiniMax-API/load-audio", + "JM-MiniMax-API/music-generation", + "JM-MiniMax-API/text-to-speech", + "JM-MiniMax-API/video-generation", + "JM-MiniMax-API/voice-cloning", + "JM-MiniMax-API/voice-design" + ], + { + "title_aux": "ComfyUI-JM-MiniMax-API" + } + ], + "https://github.com/synthetai/ComfyUI-JM-Volcengine-API": [ + [ + "VolcengineI2VS2Pro", + "VolcengineImgEditV3", + "volcengine-doubao-seedance", + "volcengine-i2v-s2pro", + "volcengine-img-edit-v3", + "volcengine-seedream-v3" + ], + { + "title_aux": "ComfyUI-JM-Volcengine-API" + } + ], + "https://github.com/synthetai/ComfyUI-ToolBox": [ + [ + "AutoDLDownload", + "CreatePaths", + "FolderDeleter", + "FolderViewe", + "PathOutput" + ], + { + "title_aux": "ComfyUI-ToolBox" + } + ], + "https://github.com/synthetai/ComfyUI_FaceEnhancer": [ + [ + "GFPGANFaceEnhancer", + "GFPGANFolderProcessor" + ], + { + "title_aux": "ComfyUI_FaceEnhancer" + } + ], + "https://github.com/synthetai/ComfyUI_PromptBatcher": [ + [ + "LoadPromptsFromDir", + "SaveTextToFiles" + ], + { + "title_aux": "ComfyUI_PromptBatcher" + } + ], + "https://github.com/synystersocks/ComfyUI-SocksLatentPatcher": [ + [ + "I2VLatentPatcher", + "VaceExt4fLatentPatcher", + "VaceExt6fLatentPatcher", + "VaceExt8fLatentPatcher" + ], + { + "title_aux": "ComfyUI-SocksLatentPatcher" + } + ], + "https://github.com/sysL-padawan/comfyui-elevenlabs-integration": [ + [ + "Elevenlabs text to effect", + "Elevenlabs text to speech", + "ElevenlabsTextToEffect", + "ElevenlabsTextToSpeech" + ], + { + "title_aux": "ComfyUI ElevenLabs API integration" + } + ], + "https://github.com/systemaiofinterest-wq/ComfyUI-MetaAI": [ + [ + "MetaAiBrowserNode", + "MetaAiImageGenerator", + "MetaAiSingleVideoGenerator" + ], + { + "title_aux": "ComfyUI-MetaAI" + } + ], "https://github.com/szhublox/ambw_comfyui": [ [ "Auto Merge Block Weighted", @@ -22801,6 +54863,15 @@ "title_aux": "Auto-MBW" } ], + "https://github.com/t22m003/ComfyUI_LoopNode": [ + [ + "SimpleForLoop", + "SimpleForLoopRange" + ], + { + "title_aux": "ComfyUI_LoopNode" + } + ], "https://github.com/taabata/LCM_Inpaint_Outpaint_Comfy": [ [ "ComfyNodesToSaveCanvas", @@ -22850,17 +54921,37 @@ "title_aux": "LCM_Inpaint-Outpaint_Comfy" } ], - "https://github.com/taches-ai/comfyui-scene-composer": [ + "https://github.com/taabata/SANA_LOWVRAM": [ [ - "Action", - "Character", - "Clothes", - "Composition", - "Environment", - "Scene" + "SANADiffuse", + "SANATextEncode" ], { - "title_aux": "ComfyUI Scene Composer" + "title_aux": "SANA_LOWVRAM" + } + ], + "https://github.com/tabisheva/comfyui-segs-profile": [ + [ + "SEGSIsProfile" + ], + { + "title_aux": "comfyui-segs-profile" + } + ], + "https://github.com/tackcrypto1031/tk_comfyui_img2mask": [ + [ + "TK_Image2Mask" + ], + { + "title_aux": "tk_comfyui_img2mask" + } + ], + "https://github.com/tackcrypto1031/tk_comfyui_view_and_light": [ + [ + "TK_View_And_Light" + ], + { + "title_aux": "tk_comfyui_view_and_light" } ], "https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-": [ @@ -22895,20 +54986,122 @@ "title_aux": "ComfyUI-StoryMaker" } ], - "https://github.com/tanglup/Comfyui-Ycnode": [ + "https://github.com/tardigrade1001/latent-rotate-90": [ [ - "CanvasNode" + "LatentRotatePortraitLandscape" ], { - "title_aux": "Comfyui-Ycanvas" + "title_aux": "latent-rotate-90" } ], - "https://github.com/tanglup/Comfyui_Flux_Style_Adjust": [ + "https://github.com/tatookan/comfyui_ssl_gemini_EXP": [ [ - "StyleModelAdvancedApply" + "SSL_GeminiAPIKeyConfig", + "SSL_GeminiTextPrompt" ], { - "title_aux": "Comfyui_Flux_Style_Adjust" + "title_aux": "comfyui_ssl_gemini_EXP" + } + ], + "https://github.com/tauraloke/ComfyUI-Unfake-Pixels": [ + [ + "PixelArtScaler" + ], + { + "title_aux": "ComfyUI-Unfake-Pixels" + } + ], + "https://github.com/tavyra/ComfyUI_Curves": [ + [ + "Curve Visualizer", + "RGB Curve Editor", + "RGBCurvesAdvanced" + ], + { + "title_aux": "ComfyUI_Curves" + } + ], + "https://github.com/teamalpha-ai/comfyui-image-transformer": [ + [ + "ImageTransformerResizeToMaxPixels" + ], + { + "title_aux": "ComfyUI-ImageTransformer" + } + ], + "https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea": [ + [ + "Tea_ImageCheckpointFromPath", + "Tea_LoadFrameFromVidAsImg", + "Tea_SaveAndReloadImage" + ], + { + "title_aux": "ComfyUI-SuiteTea" + } + ], + "https://github.com/tekijiyuu/TenguPad": [ + [ + "TenguPad" + ], + { + "title_aux": "TenguPad" + } + ], + "https://github.com/tenitsky/tenitsky-prompt-cycler-simple": [ + [ + "PromptCycler" + ], + { + "title_aux": "ComfyUI Prompt Cycler Node" + } + ], + "https://github.com/tercumantanumut/ComfyUI-Omini-Kontext": [ + [ + "OminiKontextImageEncoder", + "OminiKontextImageScale", + "OminiKontextLatentCombiner", + "OminiKontextLatentDecoder", + "OminiKontextLatentVisualizer", + "OminiKontextLoRALoader", + "OminiKontextLoRAMerge", + "OminiKontextLoRAUnload", + "OminiKontextPipeline", + "OminiKontextPipelineLoader", + "OminiKontextReferenceEncoder", + "OminiKontextSplitPipelineLoader", + "OminiKontextTextEncoder" + ], + { + "title_aux": "ComfyUI-Omini-Kontext" + } + ], + "https://github.com/terefang/ComfyUI-Terefang-Nodes": [ + [ + "Terefang Simple Latent Image", + "Terefang Wildcards", + "TerefangSimpleLatentImage", + "TerefangWildcards" + ], + { + "title_aux": "ComfyUI-Terefang-Nodes" + } + ], + "https://github.com/tester4488/mc_qwen": [ + [ + "McTextEncodeQwenImEditPlus" + ], + { + "title_aux": "mc_qwen" + } + ], + "https://github.com/tetsuoo-online/comfyui-too-xmp-metadata": [ + [ + "ReadXMPMetadata", + "WriteXMPMetadataLossless", + "WriteXMPMetadataTensor" + ], + { + "title_aux": "comfyui-too-xmp-metadata" } ], "https://github.com/teward/ComfyUI-Helper-Nodes": [ @@ -22931,24 +55124,54 @@ "title_aux": "ComfyUI-Helper-Nodes" } ], - "https://github.com/theUpsider/ComfyUI-Logic": [ + "https://github.com/thalismind/ComfyUI-Blend-Nodes": [ [ - "Bool-\ud83d\udd2c", - "Compare-\ud83d\udd2c", - "DebugPrint-\ud83d\udd2c", - "Float-\ud83d\udd2c", - "If ANY execute A else B-\ud83d\udd2c", - "If ANY return A else B-\ud83d\udd2c", - "Int-\ud83d\udd2c", - "String-\ud83d\udd2c" + "BlendImageNode" ], { - "title_aux": "ComfyUI-Logic" + "title_aux": "ComfyUI Blend Image Nodes" + } + ], + "https://github.com/thalismind/ComfyUI-LoadImageWithFilename": [ + [ + "CropImageByMask", + "LoadImageFolder", + "LoadImageWithFilename", + "SaveImageWithFilename" + ], + { + "title_aux": "ComfyUI LoadImageWithFilename" + } + ], + "https://github.com/thatname/Comfyui_CharaConsist": [ + [ + "BatchedMaskedReferenceGen", + "ConditioningMatchMask", + "ExtractAttn", + "GenConsistent", + "GetCrossSim", + "MaskToPatchMask", + "MasksToPatches", + "PreviewSubjectMask", + "ReferenceConditionCombine" + ], + { + "title_aux": "Comfyui_CharaConsist" + } + ], + "https://github.com/theAdamColton/ComfyUI-texflow-extension": [ + [ + "Load Texflow Depth Image", + "Save Texflow Image" + ], + { + "title_aux": "ComfyUI-texflow-extension" } ], "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": [ [ - "Load Styles CSV" + "Load Styles CSV", + "StylesCSVLoader" ], { "title_aux": "Styles CSV Loader Extension for ComfyUI" @@ -22974,15 +55197,190 @@ "title_aux": "ComfyUI Stable Video Diffusion" } ], - "https://github.com/thoddnn/ComfyUI-MLX": [ + "https://github.com/thedivergentai/divergent_nodes": [ [ - "MLXClipTextEncoder", - "MLXDecoder", - "MLXLoadFlux", - "MLXSampler" + "CLIPTokenCounter", + "DivergentGeminiNode", + "GeminiBatchProcess", + "ImageInfo", + "LoraStrengthXYPlot", + "MusiQNode", + "PreviewText", + "PromptCombiner", + "SaveImageEnhancedNode", + "StringToList" ], { - "title_aux": "ComfyUI MLX Nodes" + "title_aux": "Divergent Nodes" + } + ], + "https://github.com/theluminhub/ComfyUI-Lumin-Upload": [ + [ + "AssetManagerNode" + ], + { + "title_aux": "ComfyUI-Lumin-Upload" + } + ], + "https://github.com/theshubzworld/ComfyUI-FaceCalloutNode": [ + [ + "FaceCalloutEffect", + "IntegratedFaceComposite", + "IsolatedFaceCallout" + ], + { + "title_aux": "ComfyUI-FaceCalloutNode" + } + ], + "https://github.com/theshubzworld/ComfyUI-NvidiaCaptioner": [ + [ + "NvidiaCaptionerNode" + ], + { + "title_aux": "ComfyUI-NvidiaCaptioner" + } + ], + "https://github.com/theshubzworld/ComfyUI-SD3.5-Latent-Size-Picker": [ + [ + "FluxEmptyLatent", + "SD3_5EmptyLatent" + ], + { + "title_aux": "SD3.5 Empty Latent Size Picker" + } + ], + "https://github.com/theshubzworld/ComfyUI-TogetherVision": [ + [ + "Together Image \ud83c\udfa8", + "TogetherVisionBatchNode", + "TogetherVisionNode", + "TogetherVisionNode \ud83d\udd0d (Enhanced)" + ], + { + "title_aux": "Together Vision Node" + } + ], + "https://github.com/theshubzworld/ComfyUI-Universal-Latent": [ + [ + "UniversalLatent" + ], + { + "title_aux": "ComfyUI-Universal-Latent" + } + ], + "https://github.com/theshubzworld/ComfyUI-ollama_killer": [ + [ + "OllamaKiller" + ], + { + "title_aux": "ComfyUI-ollama_killer" + } + ], + "https://github.com/thezveroboy/ComfyUI-CSM-Nodes": [ + [ + "CSMTextToSpeech", + "CSMTextToSpeechWithContext", + "LoadAudioWithTranscription", + "LoadCSMCheckpoint", + "LoadCSMTokenizer" + ], + { + "title_aux": "ComfyUI-CSM-Nodes" + } + ], + "https://github.com/thezveroboy/ComfyUI-ClipReshaper": [ + [ + "CR_ConditioningAssertDim", + "CR_ConditioningInspect", + "CR_ConditioningLinearProject", + "CR_ConditioningPadOrSlice", + "CR_SDXLMetadataEnsure" + ], + { + "title_aux": "ComfyUI-ClipReshaper" + } + ], + "https://github.com/thezveroboy/ComfyUI-LoadRandomText": [ + [ + "LoadRandomTextClassic", + "LoadRandomTextSeed", + "LoadRandomTextShuffle" + ], + { + "title_aux": "ComfyUI-LoadRandomText" + } + ], + "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip": [ + [ + "CLIPSkip" + ], + { + "title_aux": "ComfyUI-WAN-ClipSkip" + } + ], + "https://github.com/thezveroboy/ComfyUI-klein4-9multiangle": [ + [ + "KleinMultiAnglePrompt" + ], + { + "title_aux": "ComfyUI-klein4-9multiangle" + } + ], + "https://github.com/thezveroboy/ComfyUI-lut": [ + [ + "ImageToLUT" + ], + { + "title_aux": "ComfyUI-LUT" + } + ], + "https://github.com/thezveroboy/ComfyUI_ACE-Step-zveroboy": [ + [ + "ACEModelLoaderZveroboy", + "ACEStepEditZveroboy", + "ACEStepExtendZveroboy", + "ACEStepGenerateZveroboy", + "ACEStepRepaintZveroboy" + ], + { + "title_aux": "ComfyUI_ACE-Step-zveroboy" + } + ], + "https://github.com/thezveroboy/comfyui-RandomPromptsZveroboy": [ + [ + "RandomPromptsZveroboy" + ], + { + "title_aux": "comfyui-RandomPromptsZveroboy" + } + ], + "https://github.com/thezveroboy/comfyui-random-image-loader": [ + [ + "LoadRandomImage" + ], + { + "title_aux": "ComfyUI Random Image Loader" + } + ], + "https://github.com/thimpat/ThimPatUtils": [ + [ + "CalculateAndDisplay", + "CalculateVideoFrameCount", + "ExtractAudioInfo", + "IntToFloatConverter", + "LoadPathToAudioInfo", + "ResizeVideoFrames" + ], + { + "title_aux": "ComfyUI Multimedia Utilities" + } + ], + "https://github.com/thrakotool/ComfyUI-KiraLoraEQ": [ + [ + "KiraLora_EQ" + ], + { + "title_aux": "ComfyUI-KiraLoraEQ" } ], "https://github.com/tianguanggliu/Utools": [ @@ -23025,6 +55423,52 @@ "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/tigeryy2/comfyui-structured-outputs": [ + [ + "AttributeNode", + "AttributeToTextNode", + "StructuredOutputNode" + ], + { + "title_aux": "ComfyUI Structured Outputs" + } + ], + "https://github.com/tighug/comfyui-eagle-feeder": [ + [ + "EagleFeederAnimatedWebp", + "EagleFeederMp4", + "EagleFeederPng" + ], + { + "title_aux": "ComfyUI Eagle Feeder" + } + ], + "https://github.com/tighug/comfyui-rating-checker": [ + [ + "RatingCheckerGantMan", + "RatingCheckerMarqo", + "RatingCheckerNudeNet" + ], + { + "title_aux": "ComfyUI Rating Checker" + } + ], + "https://github.com/tj5miniop/VRAM_Fix_Comfy": [ + [ + "VRAMOverrideNode" + ], + { + "title_aux": "VRAM_Fix_Comfy" + } + ], "https://github.com/tkreuziger/comfyui-claude": [ [ "Combine Texts", @@ -23043,6 +55487,27 @@ "title_aux": "ComfyUI-Prediction-Boost" } ], + "https://github.com/tmode-1960/TA-ComfyUI-Nodes-Pack": [ + [ + "TAEbuLMStudioLoadModel", + "TAEbuLMStudioUnload", + "TAEbuLMStudioVisionRequest", + "TAFilenameGenerator", + "TALMStudioLoadOnRun", + "TALMStudioLoadedModels", + "TALMStudioModelSelector", + "TALMStudioSmartLoader", + "TALoadCheckpointModelWithName", + "TALoadDiffusionModelWithName", + "TALoadGGUFModelWithName", + "TAPromptController", + "TASaveImageWithPrompt", + "ta_captioning" + ], + { + "title_aux": "TA-ComfyUI-Nodes-Pack" + } + ], "https://github.com/tocubed/ComfyUI-AudioReactor": [ [ "AudioFrameTransformBeats", @@ -23054,15 +55519,26 @@ "title_aux": "ComfyUI-AudioReactor" } ], + "https://github.com/tocubed/ComfyUI-EvTexture": [ + [ + "EVTEventsToImage", + "EVTLoadEvTextureModel", + "EVTTextureUpscaleVideo", + "EVTVideoToEvents" + ], + { + "title_aux": "ComfyUI-EvTexture" + } + ], "https://github.com/tomudo/ComfyUI-ascii-art": [ [ "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" } ], @@ -23074,10 +55550,22 @@ "title_aux": "Easy automatic (square) image cropper using Yolo" } ], + "https://github.com/tori29umai0123/ComfyUI-Model_Downloader": [ + [ + "HuggingFaceDirectoryDownloader", + "ModelDownloader", + "ModelDownloaderFromINI" + ], + { + "title_aux": "ComfyUI-Model_Downloader" + } + ], "https://github.com/toxicwind/ComfyUI-TTools": [ [ "TTools Extract JSON", - "TTools SD3 Resolution Solver" + "TTools SD3 Resolution Solver", + "TToolsExtractJson", + "TToolsSD3ResolutionSolver" ], { "title_aux": "TTools for ComfyUI" @@ -23094,27 +55582,129 @@ "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [ [ "CaptureWebcam", + "ComfyCoupleMask", + "ComfyCoupleRegion", + "ComfyCoupleRegionExtractor", + "ComfyCoupleRegionVisualizer", "Depth to normal", + "Depth_to_normal", "Direct Screen Capture", + "Direct_screenCap", "Export glb", + "Export_glb", "ImageResize_Padding", + "JoinPose", "LatentDelay", "Load Random Text From File", "LoadWebcamImage", + "Load_Random_Text_From_File", + "OpenposeEditorNode", + "PoseKeypointToCoordStr", + "PoseToMaskNode", + "Pose_Inter", "Remove noise", - "SaveImagetoPath" + "Remove_noise", + "SaveImagetoPath", + "VisualAreaMask" ], { "title_aux": "ComfyUI_toyxyz_test_nodes" } ], + "https://github.com/tpc2233/ComfyUI-Z-Image-Turbo": [ + [ + "ZImageLoader", + "ZImageSampler" + ], + { + "title_aux": "ComfyUI-Z-Image-Turbo" + } + ], + "https://github.com/tppp2806/ComfyUI-YoloTrack": [ + [ + "MaskCropExtractNode", + "YOLODetectionNode", + "YOLOTrackingNode" + ], + { + "title_aux": "ComfyUI-YoloTrack" + } + ], + "https://github.com/transcendedhacker/Mode_personal_node": [ + [ + "NegativePromptNode", + "PromptComposerNode" + ], + { + "title_aux": "Mode_personal_node" + } + ], + "https://github.com/traugdor/ComfyUI-Riffusion": [ + [ + "RiffusionNode", + "RiffusionToBatchNode" + ], + { + "title_aux": "ComfyUI-Riffusion" + } + ], + "https://github.com/traugdor/ComfyUI-UltimateSDUpscale-GGUF": [ + [ + "UltimateSDUpscaleGGUF" + ], + { + "title_aux": "ComfyUI-UltimateSDUpscale-GGUF" + } + ], "https://github.com/traugdor/ComfyUI-quadMoons-nodes": [ [ + "AnimateDiff Script", + "Apply ControlNet Stack", + "Control Net Stacker", + "Eff. Loader SDXL", + "Efficient Loader", + "HighRes-Fix Script", + "Image Overlay", + "Join XY Inputs of Same Type", + "KSampler (Efficient)", + "KSampler Adv. (Efficient)", + "KSampler SDXL (Eff.)", + "LatentUpscaler", + "LoRA Stack to String converter", + "LoRA Stacker", + "Manual XY Entry Info", + "NNLatentUpscale", + "NNlLatentUpscale", + "Noise Control Script", + "Pack SDXL Tuple", + "Tiled Upscaler Script", + "Unpack SDXL Tuple", + "XY Input: Add/Return Noise", + "XY Input: Aesthetic Score", + "XY Input: CFG Scale", + "XY Input: Checkpoint", + "XY Input: Clip Skip", + "XY Input: Control Net", + "XY Input: Control Net Plot", + "XY Input: Denoise", + "XY Input: LoRA", + "XY Input: LoRA Plot", + "XY Input: LoRA Stacks", + "XY Input: Manual XY Entry", + "XY Input: Prompt S/R", + "XY Input: Refiner On/Off", + "XY Input: Sampler/Scheduler", + "XY Input: Seeds++ Batch", + "XY Input: Steps", + "XY Input: VAE", + "XY Plot", "quadmoonBatchFromLatent", "quadmoonCLIPTextEncode", + "quadmoonCLIPTextEncode2", "quadmoonChangeBackground", "quadmoonConvertBoolToString", "quadmoonConvertFloatToString", + "quadmoonConvertImageToPrompt", "quadmoonConvertIntToString", "quadmoonConvertNormalizeHW", "quadmoonConvertNumberToString", @@ -23140,10 +55730,21 @@ "title_aux": "quadmoon's ComfyUI nodes" } ], + "https://github.com/tritant/ComfyUI-Advanced-Photo-Grain": [ + [ + "FreqSeparationSharpen", + "PhotoFilmGrain" + ], + { + "title_aux": "Advanced Photo Grain" + } + ], "https://github.com/tritant/ComfyUI_CreaPrompt": [ [ + "CSL", "CreaPrompt", "CreaPrompt List", + "CreaPrompt_0", "CreaPrompt_1", "CreaPrompt_2", "CreaPrompt_3", @@ -23153,6 +55754,74 @@ "title_aux": "ComfyUI-CreaPrompt" } ], + "https://github.com/tritant/ComfyUI_Custom_Switch": [ + [ + "AutomaticImageSwitcher", + "OrchestratorNodeGroupBypasser", + "OrchestratorNodeGroupMuter", + "OrchestratorNodeMuter", + "OrchestratorNodeToogle" + ], + { + "title_aux": "ComfyUI_Custom_Switch" + } + ], + "https://github.com/tritant/ComfyUI_Flux_Block_Lora_Merger": [ + [ + "FluxBlockLoraMerger" + ], + { + "title_aux": "Flux Block LoRA Merger" + } + ], + "https://github.com/tritant/ComfyUI_Flux_Lora_Merger": [ + [ + "FluxLoraMerger" + ], + { + "title_aux": "Flux LoRA Merger" + } + ], + "https://github.com/tritant/ComfyUI_Kitchen_nvfp4_Converter": [ + [ + "ConvertToNVFP4" + ], + { + "title_aux": "ComfyUI_Kitchen_nvfp4_Converter" + } + ], + "https://github.com/tritant/ComfyUI_Layers_Utility": [ + [ + "LayerSystem" + ], + { + "title_aux": "Layers System" + } + ], + "https://github.com/tritant/ComfyUI_Relight_Img": [ + [ + "RelightNode" + ], + { + "title_aux": "Advanced_Relight_Img" + } + ], + "https://github.com/tritant/ComfyUI_Remove_Banding_Artifacts": [ + [ + "ResampleBandingFix" + ], + { + "title_aux": "Remove Banding Artifacts" + } + ], + "https://github.com/tritant/ComfyUI_SuperScaler": [ + [ + "SuperScaler_Pipeline" + ], + { + "title_aux": "SuperScaler" + } + ], "https://github.com/trojblue/trNodes": [ [ "trColorCorrection", @@ -23180,6 +55849,21 @@ "title_aux": "ComfyUI-NSFW-Detection" } ], + "https://github.com/trunksn1/comfyui-change-checkpoint-randomly": [ + [ + "BatchIndexCounter", + "CheckpointFilename", + "CheckpointRotation", + "CheckpointRotationSimple", + "CheckpointRotationWithCounter", + "SaveImageWithCheckpoint", + "SimpleCheckpointRotation", + "SimpleCounter" + ], + { + "title_aux": "ComfyUI Checkpoint Rotation Node" + } + ], "https://github.com/tsogzark/ComfyUI-load-image-from-url": [ [ "LoadImageFromUrlOrPath" @@ -23188,6 +55872,38 @@ "title_aux": "ComfyUI-load-image-from-url" } ], + "https://github.com/ttulttul/Better-Gemini": [ + [ + "BetterGemini" + ], + { + "title_aux": "Better-Gemini" + } + ], + "https://github.com/ttulttul/ComfyUI-FlowMatching-Inverter": [ + [ + "LatentHybridInverter", + "MemoryDiagnosticsPassThrough", + "QwenRectifiedFlowInverter" + ], + { + "title_aux": "ComfyUI Qwen Rectified Flow Tools" + } + ], + "https://github.com/ttulttul/ComfyUI-FlowMatching-Upscaler": [ + [ + "DyPEFlux2", + "DyPEQwenImage", + "FlowMatchingProgressiveUpscaler", + "FlowMatchingStage", + "FlowMatchingStageMerge", + "FlowMatchingStagePrep", + "LatentUpscaleAdvanced" + ], + { + "title_aux": "ComfyUI-FlowMatching-Upscaler" + } + ], "https://github.com/ttulttul/ComfyUI-Iterative-Mixer": [ [ "Batch Unsampler", @@ -23204,6 +55920,21 @@ "title_aux": "ComfyUI Iterative Mixing Nodes" } ], + "https://github.com/ttulttul/ComfyUI-Taylor-Attention": [ + [ + "ClockedSweepValues", + "Combinations", + "Flux2TTRController", + "Flux2TTRControllerTrainer", + "Flux2TTRTrainer", + "Flux2TTRTrainingParameters", + "LoadPromptListFromJSON", + "RandomSeedBatch" + ], + { + "title_aux": "ComfyUI-Taylor-Attention" + } + ], "https://github.com/ttulttul/ComfyUI-Tensor-Operations": [ [ "Fast Image to Noise", @@ -23214,6 +55945,94 @@ "title_aux": "ComfyUI-Tensor-Operations" } ], + "https://github.com/ttulttul/Skoogeer-Noise": [ + [ + "CombineLatentPhaseMagnitude", + "ConditioningAddNoise", + "ConditioningFrequencyMerge", + "ConditioningFrequencySplit", + "ConditioningGaussianBlur", + "ConditioningScale", + "FluidImageAdvection", + "FluidLatentAdvection", + "FrequencySelectiveStructuredNoise", + "ImageAddNoise", + "ImageBatchToLatent", + "ImageFractalBrownianMotion", + "ImageMeshDrag", + "ImageNoise", + "ImagePerlinFractalNoise", + "ImageReactionDiffusion", + "ImageSimplexNoise", + "ImageSmokeSimulation", + "ImageSwirlNoise", + "ImageWorleyNoise", + "LatentAddNoise", + "LatentChannelLinearTransform", + "LatentChannelMerge", + "LatentChannelNonlinearTransform", + "LatentChannelStatsPreview", + "LatentForwardDiffusion", + "LatentFractalBrownianMotion", + "LatentFrequencyMerge", + "LatentFrequencySplit", + "LatentGaussianBlur", + "LatentMeshDrag", + "LatentNoise", + "LatentPackedSlotTransform", + "LatentPerlinFractalNoise", + "LatentReactionDiffusion", + "LatentSimplexNoise", + "LatentSmokeSimulation", + "LatentSwirlNoise", + "LatentToImage", + "LatentWorleyNoise", + "PatchifyFlux2Latent", + "SplitLatentPhaseMagnitude", + "UnpatchifyFlux2Latent" + ], + { + "title_aux": "Skoogeer-Noise" + } + ], + "https://github.com/tuki0918/ComfyUI_Cooldown_Node": [ + [ + "CooldownImageNode", + "CooldownIntNode", + "CooldownStringNode" + ], + { + "title_aux": "ComfyUI_Cooldown_Node" + } + ], + "https://github.com/tuki0918/comfyui-image-expand-nodes": [ + [ + "ImageExpandMerger", + "ImageExpandNoiser", + "ImageExpandOption" + ], + { + "title_aux": "comfyui-image-expand-nodes" + } + ], + "https://github.com/tuki0918/comfyui-image-tiled-nodes": [ + [ + "TiledImageMerger", + "TiledImageSplitter" + ], + { + "title_aux": "comfyui-image-tiled-nodes" + } + ], + "https://github.com/tumbowungus/MultiMaskCouple": [ + [ + "MaskedRegionCond", + "MultiMaskCouple" + ], + { + "title_aux": "MultiMaskCouple" + } + ], "https://github.com/tungdop2/Comfyui_face_restorer": [ [ "FaceRestorer", @@ -23239,43 +56058,66 @@ "title_aux": "ComfyUI-SmartCrop" } ], - "https://github.com/tusharbhutt/Endless-Nodes": [ + "https://github.com/turnbros/ComfyBros": [ [ - "ESS Aesthetic Scoring", - "ESS Combo Parameterizer", - "ESS Combo Parameterizer & Prompts", - "ESS Eight Input Text Switch", - "ESS Float to Integer", - "ESS Float to Number", - "ESS Float to String", - "ESS Float to X", - "ESS Image Reward", - "ESS Image Saver with JSON", - "ESS Integer to Float", - "ESS Integer to Number", - "ESS Integer to String", - "ESS Integer to X", - "ESS Number to Float", - "ESS Number to Integer", - "ESS Number to String", - "ESS Number to X", - "ESS Parameterizer", - "ESS Parameterizer & Prompts", - "ESS Six Float Output", - "ESS Six Input Text Switch", - "ESS Six Integer IO Switch", - "ESS Six Integer IO Widget", - "ESS String to Float", - "ESS String to Integer", - "ESS String to Num", - "ESS String to X", - "\u267e\ufe0f\ud83c\udf0a\u2728 Image Saver with JSON" + "ComfyBros_DictGet", + "ComfyBros_EndpointConfiguration", + "ComfyBros_GenerateImage", + "ComfyBros_GenerateImageAPI", + "ComfyBros_ImageBatchCombiner", + "ComfyBros_ImageBatchSplitter", + "ComfyBros_ImageBatchToGIF", + "ComfyBros_ImageToImage", + "ComfyBros_IntegerCompare", + "ComfyBros_IntegerConstant", + "ComfyBros_IntegerMath", + "ComfyBros_JsonParse", + "ComfyBros_LoraDiscovery", + "ComfyBros_MediaUpload", + "ComfyBros_ModuleManagement", + "ComfyBros_OllamaConfiguration", + "ComfyBros_OllamaConnection", + "ComfyBros_OllamaConverse", + "ComfyBros_SDXLLORAPrompter", + "ComfyBros_TextConcatenate", + "ComfyBros_TextStorage", + "ComfyBros_TextTemplate", + "ComfyBros_TextToVideo", + "ComfyBros_WAN22GenerateVideo", + "ComfyBros_WAN22UpscaleImage" + ], + { + "title_aux": "ComfyBros - Custom ComfyUI Nodes" + } + ], + "https://github.com/tusharbhutt/Endless-Nodes": [ + [ + "BatchNegativePrompts", + "Eight_Input_Int_Switch", + "Eight_Input_Int_Switch_Widget", + "Eight_Input_Text_Switch", + "EndlessReplicateLatents", + "FluxBatchPrompts", + "FluxKontextBatchPrompts", + "Four_Input_Int_Switch", + "Four_Input_Int_Switch_Widget", + "Four_Input_Text_Switch", + "ImageComplexityScorer", + "ImageNoveltyScorer", + "Image_saver", + "PromptCounter", + "Random_Prompt_Multipicker", + "Random_Prompt_Selector", + "Randomizer_Chaos", + "Randomizer_Mayhem", + "Randomizer_Pandemonium", + "SDXLBatchPrompts", + "SimpleBatchPrompts", + "Six_Input_Int_Switch", + "Six_Input_Int_Switch_Widget", + "Six_Input_Text_Switch" ], { - "author": "BiffMunky", - "description": "A small set of nodes I created for various numerical and text inputs. Features image saver with ability to have JSON saved to separate folder, parameter collection nodes, two aesthetic scoring models, switches for text and numbers, and conversion of string to numeric and vice versa.", - "nickname": "\u267e\ufe0f\ud83c\udf0a\u2728", - "title": "Endless \ufe0f\ud83c\udf0a\u2728 Nodes", "title_aux": "Endless \ufe0f\ud83c\udf0a\u2728 Nodes" } ], @@ -23298,6 +56140,18 @@ "title_aux": "ComfyUI-Dev-Utils" } ], + "https://github.com/u5dev/comfyUI_u5_VramFREE": [ + [ + "SequentialCLIPLoaderSimple", + "SequentialCheckpointLoader", + "SequentialLoRALoader", + "SequentialVAELoaderSimple", + "VRAMFree" + ], + { + "title_aux": "u5 FreeVRAM - Memory Management" + } + ], "https://github.com/uarefans/ComfyUI-Fans": [ [ "Fans Prompt Styler Negative", @@ -23309,6 +56163,82 @@ "title_aux": "ComfyUI-Fans" } ], + "https://github.com/ubisoft/ComfyUI-Chord": [ + [ + "ChordLoadModel", + "ChordMaterialEstimation", + "ChordNormalToHeight" + ], + { + "title_aux": "ComfyUI-Chord" + } + ], + "https://github.com/ucloud/comfyui-plugin": [ + [ + "Gemini Pro Image (Nano Banana Pro)", + "ModelVerse Image Packer", + "Modelverse FluxDevNode", + "Modelverse FluxKontextMaxNode", + "Modelverse FluxKontextMaxT2INode", + "Modelverse FluxKontextProNode", + "Modelverse FluxKontextProT2INode", + "Modelverse GPTImage1EditNode", + "Modelverse GPTImage1Node", + "Modelverse QwenImageEditNode", + "Modelverse QwenImageT2INode", + "Modelverse Step1xEditNode", + "ModelverseChat", + "ModelverseInputFiles", + "Modelverse_PreviewVideo", + "Modelverse_WanAII2V", + "Modelverse_WanAIT2V", + "NanoBanana", + "Sora_Img2Video", + "Sora_Text2Video", + "UCloud ModelVerse Client", + "Vidu_Extend", + "Vidu_Img2Video", + "Vidu_Reference2Video", + "Vidu_StartEnd2Video", + "Vidu_Text2Video" + ], + { + "title_aux": "ComfyUl-UCloud" + } + ], + "https://github.com/uczensokratesa/ComfyUI-Claude-VAE": [ + [ + "ClaudeSmartVAEDecode" + ], + { + "title_aux": "ComfyUI-Claude-VAE" + } + ], + "https://github.com/uczensokratesa/ComfyUI-Gemini-VAE-Fix": [ + [ + "GeminiSmartVAEDecode" + ], + { + "title_aux": "ComfyUI-Gemini-VAE-Fix" + } + ], + "https://github.com/uczensokratesa/ComfyUI-Grok-SmartVAE": [ + [ + "SmartVAE_StreamingDecoder", + "UniversalSmartVAEDecode" + ], + { + "title_aux": "ComfyUI-Grok-SmartVAE" + } + ], + "https://github.com/uczensokratesa/ComfyUI-UniversalSmartVAE": [ + [ + "TemporalVAEDecode" + ], + { + "title_aux": "ComfyUI-UniversalSmartVAE" + } + ], "https://github.com/uetuluk/comfyui-webcam-node": [ [ "webcam_capture_node" @@ -23317,6 +56247,25 @@ "title_aux": "comfyui-webcam-node" } ], + "https://github.com/uihp/ComfyUI-String-Chain": [ + [ + "String Chain", + "String Concat", + "String Toggle", + "String Toggle (Multiline)" + ], + { + "title_aux": "ComfyUI-String-Chain" + } + ], + "https://github.com/umiyuki/comfyui-pad-to-eight": [ + [ + "Pad To Eight" + ], + { + "title_aux": "ComfyUI Pad To Eight" + } + ], "https://github.com/un-seen/comfyui-tensorops": [ [ "BackgroundSelect", @@ -23361,6 +56310,14 @@ "title_aux": "ComfyUI Segment Anything" } ], + "https://github.com/unicough/comfy_openai_image_api": [ + [ + "OpenAI Image API" + ], + { + "title_aux": "OpenAI Image API with gpt-image-1" + } + ], "https://github.com/unwdef/unwdef-nodes-comfyui": [ [ "RandomTextFromMultiline", @@ -23372,6 +56329,114 @@ "title_aux": "unwdef-nodes" } ], + "https://github.com/upseem/comfyui_sun_nodes": [ + [ + "SunxAI_BatchImageLoopCloseChen", + "SunxAI_BatchImageLoopOpenChen" + ], + { + "title_aux": "SunxAI Custom Nodes for ComfyUI" + } + ], + "https://github.com/upseem/comfyui_sunxAI_facetools": [ + [ + "ApplyInstantID", + "ColorAdjustNew(FaceParsing)", + "CropFaces", + "DetectFaceByIndex", + "DetectFaces", + "Example", + "InstantIDFaceAnalysis", + "InstantIDModelLoader", + "LoadFaceEmbeds", + "SaveFaceEmbeds", + "SaveImageWebsocketNew", + "SelectFloatByBool", + "VAEDecodeNew", + "VAEEncodeNew", + "WarpFacesBack" + ], + { + "title_aux": "comfyui_sunxAI_facetools" + } + ], + "https://github.com/usrname0/comfyui-holdup": [ + [ + "HoldUp" + ], + { + "title_aux": "comfyui-holdup" + } + ], + "https://github.com/ussoewwin/ComfyUI-DistorchMemoryManager": [ + [ + "DisTorchPurgeVRAMV2", + "MemoryManager", + "ModelPatchMemoryCleaner", + "PatchSageAttentionDM" + ], + { + "title_aux": "ComfyUI-DistorchMemoryManager" + } + ], + "https://github.com/ussoewwin/ComfyUI-NunchakuFluxLoraStacker": [ + [ + "FastGroupsBypasserV2", + "FluxLoraMultiLoader", + "LoadImageUssoewwin", + "ModelPatchLoaderCustom", + "SAM3SegmentV2", + "SAM3SegmentV2Nunchaku", + "UniversalLoRAAnalyzer" + ], + { + "title_aux": "ComfyUI-NunchakuFluxLoraStacker" + } + ], + "https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader": [ + [ + "NunchakuQwenImageLoraLoader", + "NunchakuQwenImageLoraStack" + ], + { + "title_aux": "ComfyUI-QwenImageLoraLoader" + } + ], + "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/vaishnav-vn/va1": [ + [ + "ImageMaskComparer", + "RandomAspectRatioMask" + ], + { + "title_aux": "va1" + } + ], "https://github.com/valofey/Openrouter-Node": [ [ "OpenrouterNode" @@ -23380,17 +56445,29 @@ "title_aux": "OpenRouter Node" } ], + "https://github.com/vanche1212/ComfyUI-InspireMusic": [ + [ + "InspireMusicTextToMusic" + ], + { + "title_aux": "ComfyUI InspireMusic Plugin" + } + ], "https://github.com/vanche1212/ComfyUI-ZMG-Nodes": [ [ - "VC_Load_Video_Path_Unified_Output", - "VC_Load_Video_Upload_Unified_Output", - "VC_Video_Combine_Unified_Output", - "Waveform2Audio", - "\ud83d\ude0bAPI Request Node", - "\ud83d\ude0bJSON Parser Node", - "\ud83d\ude0bOld Photo Colorization Node", - "\ud83d\ude0bOllama Request Node", - "\ud83d\ude0bSave Image Unified Output" + "API Request Node", + "CombineImageAudioToVideoNode", + "Empty Image Node", + "JSON Builder Node", + "JSON Parser Node", + "JsonBuilderNode", + "LoadAudioFromUrlNode", + "LoadImageFromUrlNode", + "MultilinePromptNode", + "OSSUploadNode", + "RemoveEmptyLinesNode", + "SaveVideoRGBA", + "TextToImageNode" ], { "title_aux": "ZMG PLUGIN" @@ -23409,10 +56486,99 @@ "title_aux": "Simple Wildcard" } ], + "https://github.com/vantagewithai/Vantage-DreamOmni2": [ + [ + "TextEncodeDreamOmni2", + "VantageAdaptiveImageGrid" + ], + { + "title_aux": "Vantage-DreamOmni2" + } + ], + "https://github.com/vantagewithai/Vantage-DyPE": [ + [ + "VantageFluxDyPEPatch" + ], + { + "title_aux": "Vantage-DyPE" + } + ], + "https://github.com/vantagewithai/Vantage-HunyuanFoley": [ + [ + "HunyuanFoleyDenoiser", + "HunyuanFoleyVAEDecode", + "HunyuanTextEncode", + "HunyuanVisualEncode" + ], + { + "title_aux": "Vantage-HunyuanFoley" + } + ], + "https://github.com/vantagewithai/Vantage-Nodes": [ + [ + "AdvancedCalculator", + "AppendImageBatch", + "AppendLatentBatch", + "CastAnyToIntStringFloat", + "ConditionalPassThrough", + "DelimiterSplit", + "IndexWrap", + "JoinImageBatch", + "JoinLatentBatch", + "PromptSceneRouter", + "QwenTTSModelDownloader", + "QwenTTSMultiSpeakerNode", + "QwenTTSSpeakerBankNode", + "QwenTTSVoiceClonePromptNode", + "QwenTTSVoiceDesignNode", + "RegexFilter", + "StringJoiner", + "StringListIndex", + "StringListRandom", + "StringListStepper", + "SwitchAny", + "SwitchAnyByIndex", + "SwitchImageByIndex", + "SwitchLatentByIndex", + "ValidateImageShape", + "VantageGGUFLoader", + "VantageWanBlockSwap" + ], + { + "title_aux": "Vantage-Nodes" + } + ], + "https://github.com/vantagewithai/Vantage-Step-Audio-EditX": [ + [ + "EditXModelLoader", + "EditXMultiVoiceCloner", + "EditXSingleVoiceCloner", + "EditXSingleVoiceClonerFromPath", + "EditXSingleVoiceEditor", + "EditXSingleVoiceEditorFromPath", + "LoadSpeakers" + ], + { + "title_aux": "Vantage-Step-Audio-EditX" + } + ], + "https://github.com/vantagewithai/VantageLongWanVideo": [ + [ + "VantageI2VDualLooper", + "VantageI2VSingleLooper", + "VantageProject" + ], + { + "title_aux": "Vantage Long Wan Video" + } + ], "https://github.com/var1ableX/ComfyUI_Accessories": [ [ + "ACC_AnyCast", + "AccMakeListNode", "GetMaskDimensions", "GetRandomDimensions", + "isImageEmpty", "isMaskEmpty" ], { @@ -23429,48 +56595,46 @@ ], "https://github.com/veighnsche/comfyui_gr85": [ [ - "GR85_CTGPhrases", - "GR85_CTGPhrasesSimple", - "GR85_ContainsWord", - "GR85_FilterAndCombineMasks", - "GR85_Florence2RunCTPG", - "GR85_Florence2toCoordinatesGR85", - "GR85_FluxAttentionSeeker2", - "GR85_FluxAttentionSeeker3", - "GR85_FluxAttentionSeekerGenerator", - "GR85_FluxModelMergeParameters", "GR85_ImageDimensionResizer", "GR85_ImageSizer", "GR85_ImageSizerAll", - "GR85_IntToString", - "GR85_IntegerSequenceModifier", - "GR85_IslandMaskGenerator", - "GR85_MaskBatchToSEGS", - "GR85_MaskConnectMST", - "GR85_MaskSplitter", "GR85_NextSeed", - "GR85_PasteByMaskGr85", "GR85_RandomFloat", "GR85_RandomInt", "GR85_RandomRatio", - "GR85_RandomizedMaskTransform", - "GR85_Sam2Segmentation", - "GR85_SaveImageFile", - "GR85_SaveTextFile", "GR85_SeedBasedOutputSelector", - "GR85_ShowText", "GR85_SimpleWildcardPicker", - "GR85_StrSafe", "GR85_TagInjector", "GR85_TagInjectorDuo", "GR85_TagInjectorLarge", - "GR85_TagInjectorSingle", - "GR85_VerticalWildcardPicker" + "GR85_TagInjectorSingle" ], { "title_aux": "comfyui_gr85" } ], + "https://github.com/vekitan55/SimpleFlux1Merger": [ + [ + "ExpertFlux1Merge", + "SimplifiedFlux1Merge" + ], + { + "title_aux": "Simple Flux.1 Merger for ComfyUI" + } + ], + "https://github.com/verIdyia/ComfyUI-Qwen-Image-DF11": [ + [ + "DFloat11QwenImageLoader", + "QwenImageAspectRatio", + "QwenImageDecode", + "QwenImagePresetSampler", + "QwenImageSampler", + "QwenImageTextEncode" + ], + { + "title_aux": "ComfyUI Qwen-Image DFloat11 Nodes" + } + ], "https://github.com/victorchall/comfyui_webcamcapture": [ [ "WebcamCapture" @@ -23489,28 +56653,102 @@ ], "https://github.com/violet-chen/comfyui-psd2png": [ [ - "Psd2Png" + "Psd2Png", + "StringInsert" ], { "title_aux": "comfyui-psd2png" } ], - "https://github.com/viperyl/ComfyUI-BiRefNet": [ + "https://github.com/violet0927/ComfyUI-HuggingFaceLoraUploader": [ [ - "BiRefNet" + "HuggingFaceLoraUploader", + "ModelScopeLoraUploader" ], { - "title_aux": "ComfyUI-BiRefNet" + "title_aux": "Hugging Face LoRA Uploader" } ], "https://github.com/viperyl/ComfyUI-RGT": [ [ + "RGT Upscale", "RGT_Upscale" ], { "title_aux": "ComfyUI-RGT" } ], + "https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1": [ + [ + "Hy3D21CameraConfig", + "Hy3D21ExportMesh", + "Hy3D21GenerateMultiViewsBatch", + "Hy3D21IMRemesh", + "Hy3D21LoadImageWithTransparency", + "Hy3D21LoadMesh", + "Hy3D21MeshGenerationBatch", + "Hy3D21MeshUVWrap", + "Hy3D21MeshlibDecimate", + "Hy3D21MultiViewsGeneratorWithMetaData", + "Hy3D21PostprocessMesh", + "Hy3D21ResizeImages", + "Hy3D21SimpleMeshlibDecimate", + "Hy3D21UseMultiViews", + "Hy3D21UseMultiViewsFromMetaData", + "Hy3D21VAEConfig", + "Hy3D21VAEDecode", + "Hy3D21VAELoader", + "Hy3DBakeMultiViews", + "Hy3DBakeMultiViewsWithMetaData", + "Hy3DHighPolyToLowPolyBakeMultiViewsWithMetaData", + "Hy3DInPaint", + "Hy3DMeshGenerator", + "Hy3DMultiViewsGenerator" + ], + { + "title_aux": "ComfyUI-Hunyuan3d-2-1" + } + ], + "https://github.com/visualbruno/ComfyUI-Trellis2": [ + [ + "Trellis2BatchSimplifyMeshAndExport", + "Trellis2Continue", + "Trellis2ExportMesh", + "Trellis2FillHolesWithCuMesh", + "Trellis2FillHolesWithMeshlib", + "Trellis2LoadImageWithTransparency", + "Trellis2LoadMesh", + "Trellis2LoadModel", + "Trellis2MeshRefiner", + "Trellis2MeshTexturing", + "Trellis2MeshTexturingMultiView", + "Trellis2MeshWithVoxelAdvancedGenerator", + "Trellis2MeshWithVoxelGenerator", + "Trellis2MeshWithVoxelMultiViewGenerator", + "Trellis2MeshWithVoxelToMeshlibMesh", + "Trellis2MeshWithVoxelToTrimesh", + "Trellis2OvoxelExportToGLB", + "Trellis2PostProcess2", + "Trellis2PostProcessAndUnWrapAndRasterizer", + "Trellis2PostProcessMesh", + "Trellis2PreProcessImage", + "Trellis2ProgressiveSimplify", + "Trellis2ReconstructMesh", + "Trellis2ReconstructMeshWithQuad", + "Trellis2Remesh", + "Trellis2RemeshWithQuad", + "Trellis2SimplifyMesh", + "Trellis2SimplifyTrimesh", + "Trellis2SmoothNormals", + "Trellis2StringSelector", + "Trellis2TrimeshToMeshWithVoxel", + "Trellis2UnWrapAndRasterizer", + "Trellis2WeldVertices" + ], + { + "title_aux": "ComfyUI-Trellis2" + } + ], "https://github.com/vivax3794/ComfyUI-Sub-Nodes": [ [ "VIV_Default", @@ -23535,14 +56773,192 @@ "title_aux": "ComfyUI-Vivax-Nodes" } ], + "https://github.com/vjumpkung/ComfyUI-Musubi-Tuner-LoRA-Loader": [ + [ + "MusubiTunerLoRALoaderModelOnly" + ], + { + "title_aux": "ComfyUI-Musubi-Tuner-LoRA-Loader" + } + ], + "https://github.com/vjumpkung/ComfyUI-STARWrapper": [ + [ + "STARVSRNode" + ], + { + "title_aux": "ComfyUI-STARWrapper" + } + ], + "https://github.com/vjumpkung/comfyui-infinitetalk-native-sampler": [ + [ + "InfiniteTalkAutoSampler", + "InfiniteTalkAutoSamplerAdvanced" + ], + { + "title_aux": "comfyui-infinitetalk-native-sampler" + } + ], + "https://github.com/vkff5833/ComfyUI-MobileClient": [ + [ + "MobileClient" + ], + { + "title_aux": "ComfyUI-MobileClient" + } + ], "https://github.com/vkff5833/ComfyUI-PromptConverter": [ [ - "PromptConverter" + "PromptConverter", + "PromptConverterWithFilter" ], { "title_aux": "ComfyUI-PromptConverter" } ], + "https://github.com/vladpro3/ComfyUI_BishaNodes": [ + [ + "CreatePromptsWithTextFromFile", + "EmptyLatentSizePicker", + "LoadDataFromFiles", + "SimpleSizePicker", + "WildcardReplace", + "WildcardReplaceFromFile" + ], + { + "title_aux": "ComfyUI_BishaNodes" + } + ], + "https://github.com/voxta-ai/ComfyUI-VoxtaNodes": [ + [ + "VoxtaExportCharacter", + "VoxtaFilterExistingCombinations", + "VoxtaOutputFolder" + ], + { + "title_aux": "Voxta ComfyUI Nodes" + } + ], + "https://github.com/vrgamegirl19/comfyui-vrgamedevgirl": [ + [ + "BeatImpactAnalysisNode", + "BeatSceneDurationNode", + "ColorMatchToReference", + "FastFilmGrain", + "FastLaplacianSharpen", + "FastSobelSharpen", + "FastUnsharpSharpen", + "IndexedImageFromFolder", + "IndexedImageFromFolder_ForRemakeMode", + "SRTLyricsMerger", + "VRGDG_ArchiveLlmBatchFolders", + "VRGDG_AudioCrop", + "VRGDG_AudioCropTime", + "VRGDG_AudioDelayByIndex", + "VRGDG_BuildVideoOutputPath_General", + "VRGDG_BuildVideoOutputPath_General_SRT", + "VRGDG_CalculateSetsFromAudio", + "VRGDG_CalculateSetsFromAudio_Queue", + "VRGDG_CleanAudio", + "VRGDG_CombinevideosV2", + "VRGDG_CombinevideosV3", + "VRGDG_CombinevideosV5", + "VRGDG_ConditionalLoadVideos", + "VRGDG_CreateFinalVideo_SRT", + "VRGDG_DisplayIndex", + "VRGDG_DurationIndexFloat", + "VRGDG_Extract_Frame_Number", + "VRGDG_GeneralPromptBatcher", + "VRGDG_GetFilenamePrefix", + "VRGDG_GetIndexNumber", + "VRGDG_GetRunIndexFromJson", + "VRGDG_HumoReminderNode", + "VRGDG_ImageIndexMap", + "VRGDG_ImageSwitch4", + "VRGDG_ImageSwitchMultiDynamic", + "VRGDG_IndexedPromptChunker", + "VRGDG_IndexedPromptChunkerV2", + "VRGDG_IntToString", + "VRGDG_LLM_Multi", + "VRGDG_LLM_OutputSaver", + "VRGDG_LLM_PromptBatcher", + "VRGDG_LatestSRTAutoLoader", + "VRGDG_LoadAudioFilePath", + "VRGDG_LoadAudioSplitDynamic", + "VRGDG_LoadAudioSplitUpload", + "VRGDG_LoadAudioSplit_General", + "VRGDG_LoadAudioSplit_HUMO", + "VRGDG_LoadAudioSplit_HUMO_Transcribe", + "VRGDG_LoadAudioSplit_HUMO_TranscribeV2", + "VRGDG_LoadAudioSplit_HUMO_TranscribeV3", + "VRGDG_LoadAudioSplit_SRTOnly", + "VRGDG_LoadAudioSplit_Wan22HumoFMML", + "VRGDG_LoadLatestCombinedJsonText", + "VRGDG_LoadText", + "VRGDG_LoadTextAdvanced", + "VRGDG_LoadVideos", + "VRGDG_LocalLLM", + "VRGDG_LyricsEmotionMerger", + "VRGDG_ManualLyricsExtractor", + "VRGDG_ManualLyricsExtractor_SRT", + "VRGDG_MusicVideoPromptCreator", + "VRGDG_MusicVideoPromptCreatorV2", + "VRGDG_MusicVideoPromptCreatorV3", + "VRGDG_NanoBananaPro", + "VRGDG_PadVideoWithLastFrame", + "VRGDG_PostRunIndexStepper", + "VRGDG_PromptSpitterWithIndex", + "VRGDG_PromptSplitter", + "VRGDG_PromptSplitter2", + "VRGDG_PromptSplitter4", + "VRGDG_PromptSplitterForFL", + "VRGDG_PromptSplitterForFMML", + "VRGDG_PromptSplitterForManual", + "VRGDG_PromptSplitterJson", + "VRGDG_PromptSplitterV2", + "VRGDG_PromptSplitterWithIndex", + "VRGDG_PromptSplitter_General", + "VRGDG_PromptTemplateBuilder", + "VRGDG_PythonCodeRunner", + "VRGDG_QueueTriggerFromAudio", + "VRGDG_RunStateLogger_SRT", + "VRGDG_SaveAudioFilePath", + "VRGDG_SaveText", + "VRGDG_SaveTextAdvanced", + "VRGDG_SmartSplitTextTwo", + "VRGDG_SpeechEmotionExtractor", + "VRGDG_SplitPrompt_T2I_I2V", + "VRGDG_StoryBoardCreator", + "VRGDG_StringConcat", + "VRGDG_ThemeSplitter", + "VRGDG_TimecodeFromIndex", + "VRGDG_TranscribeText", + "VRGDG_TriggerCounter", + "VRGDG_TrimFinalClip", + "VRGDG_TrimImageBatch", + "VRGDG_TrimImageBatch_SRTOnly", + "VRGDG_UpdateLatestCombinedJsonPrompts", + "VRGDG_UpdateLatestCombinedJsonPrompts_zimage", + "VRGDG_VideoSplitter" + ], + { + "title_aux": "VRGameDevGirl Video Enhancement Nodes" + } + ], + "https://github.com/vsaan212/Vsaan212-workflow-utilities": [ + [ + "ComfyUI_ScenarioSelector", + "ComfyUI_subjectselector", + "LazyPromptSaver", + "OptionalSwitchLoRA", + "Vsaan_OptionalSwitchLoRA", + "Vsaan_ScenarioSelector", + "Vsaan_SubjectSelector", + "Vsaan_TextSplit" + ], + { + "title_aux": "Vsaan212-workflow-utilities" + } + ], "https://github.com/vsevolod-oparin/comfyui-kandinsky22": [ [ "comfy-kandinsky22-decoder-loader", @@ -23563,6 +56979,32 @@ "title_aux": "Kandinsky 2.2 ComfyUI Plugin" } ], + "https://github.com/vslinx/ComfyUI-vslinx-nodes": [ + [ + "vsLinx_AppendLorasFromNodeToString", + "vsLinx_BooleanAndOperator", + "vsLinx_BooleanFlip", + "vsLinx_BooleanOrOperator", + "vsLinx_BypassOnBool", + "vsLinx_FitImageIntoBBoxMask", + "vsLinx_ImpactMultilineWildcardText", + "vsLinx_LoadSelectedImagesBatch", + "vsLinx_LoadSelectedImagesList", + "vsLinx_MuteOnBool", + "vsLinx_UpscaleByFactorWithModel" + ], + { + "title_aux": "ComfyUI vsLinx Nodes" + } + ], + "https://github.com/vuhung3990/comfyui-nsfw-guard": [ + [ + "NSFWCheck" + ], + { + "title_aux": "NSFW Guard" + } + ], "https://github.com/vuongminh1907/ComfyUI_ZenID": [ [ "ApplyZenID", @@ -23589,15 +57031,119 @@ ], "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang": [ [ - "StableDelight-weiweiliang" + "WWL_StableDelight" ], { "title_aux": "ComfyUI-StableDelight-weiweiliang" } ], + "https://github.com/wTechArtist/ComfyUI_VVL_VideoCamera_Advanced": [ + [ + "VGGTVideoCameraNode", + "VVLVGGTLoader" + ], + { + "title_aux": "ComfyUI VVL Video Camera Advanced" + } + ], + "https://github.com/wakattac/ComfyUI-AbstractImaGen": [ + [ + "AbstractImageBackground", + "AbstractImageFilledShapes", + "AbstractImageGenerator", + "AbstractImageLines", + "AbstractImageNoise", + "AbstractImagePattern", + "AbstractImagePostprocessing" + ], + { + "title_aux": "ComfyUI-AbstractImaGen" + } + ], + "https://github.com/walke2019/ComfyUI-GGUF-VLM": [ + [ + "LocalTextModelLoader", + "MemoryManagerNode", + "MultiImageAnalysis", + "NexaServiceStatus", + "RemoteAPIConfig", + "RemoteTextModelSelector", + "RemoteVisionAnalysis", + "RemoteVisionModelConfig", + "SystemPromptConfig", + "TextGeneration", + "TextGenerationNode", + "TextModelLoader", + "VisionLanguageNode", + "VisionModelLoader", + "VisionModelLoaderTransformers" + ], + { + "title_aux": "Qwen2.5-VL GGUF Nodes" + } + ], + "https://github.com/wallen0322/ComfyUI-AE-Animation": [ + [ + "AEAnimation" + ], + { + "title_aux": "ComfyUI-AE-Animation" + } + ], + "https://github.com/wallen0322/ComfyUI-QI-QwenEditSafe": [ + [ + "QI_DyPE", + "QI_QwenVLClipWrapper", + "QI_RefEditEncode_Safe", + "QI_TextEncodeQwenImageEdit_Safe", + "QI_VAEDecodeLockSize" + ], + { + "title_aux": "ComfyUI-QI-QwenEditSafe" + } + ], + "https://github.com/wallen0322/ComfyUI-SageAttention3": [ + [ + "Sage3AttentionOnlySwitch" + ], + { + "title_aux": "ComfyUI-SageAttention3" + } + ], + "https://github.com/wallen0322/ComfyUI-Wan22FMLF": [ + [ + "WanAdvancedExtractLastFrames", + "WanAdvancedExtractLastImages", + "WanAdvancedI2V", + "WanFirstMiddleLastFrameToVideo", + "WanFourFrameReferenceUltimate", + "WanMultiFrameRefToVideo", + "WanMultiImageLoader", + "WanSVIProAdvancedI2V" + ], + { + "title_aux": "ComfyUI-Wan22FMLF" + } + ], + "https://github.com/wallen0322/ComfyUI-WanAnimate-Enhancer": [ + [ + "WanAnimateModelEnhancer", + "WanAnimateToVideoEnhanced" + ], + { + "title_aux": "ComfyUI-WanAnimate-Enhancer" + } + ], + "https://github.com/wallen0322/ComfyUI-qwenmultianglelight": [ + [ + "QwenMultiangleLightningNode" + ], + { + "title_aux": "ComfyUI-qwenmultianglelight" + } + ], "https://github.com/wallish77/wlsh_nodes": [ [ - "Alternating KSampler (WLSH)", "Build Filename String (WLSH)", "CLIP +/- w/Text Unified (WLSH)", "CLIP Positive-Negative (WLSH)", @@ -23642,6 +57188,80 @@ "title_aux": "wlsh_nodes" } ], + "https://github.com/wangyff-code/ComfyUI-PixelArt-Converter": [ + [ + "PixelArtConverter" + ], + { + "title_aux": "ComfyUI PixelArt Converter" + } + ], + "https://github.com/wanjin123111/ComfyUI-3D-Human-Pose": [ + [ + "ThreeD_Human_Pose" + ], + { + "title_aux": "ComfyUI-3D-Human-Pose" + } + ], + "https://github.com/wasilone11/comfyui-pvm-node": [ + [ + "SyncPVMessengerNode" + ], + { + "title_aux": "ComfyUI Sync PVM Node" + } + ], + "https://github.com/wasilone11/comfyui-sync-lipsync-node": [ + [ + "SyncLipsyncInputNode", + "SyncLipsyncMainNode", + "SyncLipsyncOutputNode" + ], + { + "title_aux": "ComfyUI Sync Lipsync Node" + } + ], + "https://github.com/watarika/ComfyUI-SendToEagle-w-Metadata": [ + [ + "CreateExtraMetadata", + "SendToEagleWithMetadata", + "SendToEagleWithMetadataSimple" + ], + { + "title_aux": "ComfyUI-SendToEagle-w-Metadata" + } + ], + "https://github.com/wawahuy/ComfyUI-HTTP": [ + [ + "Base64ToImage", + "HTTPAuth", + "HTTPConvertJSON", + "HTTPDelete", + "HTTPDisplayResult", + "HTTPFileUpload", + "HTTPFormData", + "HTTPFormDataConcat", + "HTTPFormDataItem", + "HTTPFormFileItem", + "HTTPFormImageItem", + "HTTPFormTextItem", + "HTTPGet", + "HTTPGetJSONField", + "HTTPHead", + "HTTPImageLoader", + "HTTPOptions", + "HTTPPatch", + "HTTPPost", + "HTTPPut", + "HTTPSessionManager", + "HTTPUtils", + "ImageToBase64" + ], + { + "title_aux": "ComfyUI HTTP - REST API Nodes" + } + ], "https://github.com/web3nomad/ComfyUI_Invisible_Watermark": [ [ "InvisibleWatermarkEncode" @@ -23650,6 +57270,14 @@ "title_aux": "ComfyUI Invisible Watermark" } ], + "https://github.com/weberjc/book-cover-finder-comfy": [ + [ + "BookCoverFinder" + ], + { + "title_aux": "BookCoverFinder" + } + ], "https://github.com/webfiltered/DebugNode-ComfyUI": [ [ "WTFDebugNode" @@ -23658,16 +57286,70 @@ "title_aux": "WTF? - a debug node for ComfyUI" } ], - "https://github.com/weilin9999/WeiLin-ComfyUI-prompt-all-in-one": [ + "https://github.com/webuilder/WB-ComfyUI-Utils": [ [ - "WeiLinComfyUIPromptAllInOneGreat", - "WeiLinComfyUIPromptAllInOneNeg", - "WeiLinComfyUIPromptToLoras", - "WeiLinComfyUIPromptToLorasOnly", - "WeiLinPromptToString" + "WB_AudioDuration" ], { - "title_aux": "WeiLin-ComfyUI-prompt-all-in-one" + "title_aux": "ComfyUI WB Utils" + } + ], + "https://github.com/weekii/ComfyUI-GGUF-FX": [ + [ + "GGUFModelManager", + "LocalTextModelLoader", + "MultiImageAnalysis", + "MultiImageComparison", + "NexaModelSelector", + "NexaServiceStatus", + "NexaTextGeneration", + "RemoteTextModelSelector", + "SystemPromptConfig", + "TextGeneration", + "TextGenerationNode", + "TextModelLoader", + "VisionLanguageNode", + "VisionLanguageNodeTransformers", + "VisionModelLoader", + "VisionModelLoaderTransformers" + ], + { + "title_aux": "ComfyUI-GGUF-FX" + } + ], + "https://github.com/weekii/comfyui-save-image-pro": [ + [ + "LoadImageFromURLPro", + "LoadMaskFromURLPro", + "SaveImageAdvanced", + "SaveImageSimple" + ], + { + "author": "weekii", + "description": "\u4e13\u4e1a\u7ea7\u56fe\u50cf\u4fdd\u5b58\u63d2\u4ef6\uff0c\u652f\u6301\u591a\u683c\u5f0f\u3001\u81ea\u5b9a\u4e49\u547d\u540d\u548c\u9ad8\u7ea7\u529f\u80fd", + "nickname": "Save Image Pro", + "title": "ComfyUI Save Image Pro", + "title_aux": "comfyui-save-image-pro" + } + ], + "https://github.com/weilin9999/WeiLin-Comfyui-Tools": [ + [ + "WeiLinPromptUI", + "WeiLinPromptUIOnlyLoraStack", + "WeiLinPromptUIWithoutLora" + ], + { + "title_aux": "WeiLin-Comfyui-Tools" + } + ], + "https://github.com/welltop-cn/ComfyUI-TeaCache": [ + [ + "CompileModel", + "TeaCache", + "TeaCacheForCogVideoX" + ], + { + "title_aux": "ComfyUI-TeaCache" } ], "https://github.com/wentao-uw/ComfyUI-template-matching": [ @@ -23679,8 +57361,57 @@ "title_aux": "ComfyUI template matching" } ], + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor": [ + [ + "AppendageEditorNode", + "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/wgedeon/comfyui_play_traversal": [ + [ + "fot_BatchData", + "fot_PlayAct", + "fot_PlayActData", + "fot_PlayContinue", + "fot_PlayData", + "fot_PlayStart", + "fot_Scene", + "fot_SceneBackdrop", + "fot_SceneBackdropData", + "fot_SceneBeat", + "fot_SceneBeatData", + "fot_SceneData" + ], + { + "title_aux": "comfyui_play_traversal" + } + ], "https://github.com/whatbirdisthat/cyberdolphin": [ [ + "CyberDolphin GPT-3.5 (Simple)", + "CyberDolphin Gradio", + "CyberDolphin OpenAI (Advanced)", + "CyberDolphin OpenAI Compatible", + "CyberDolphin OpenAI DALL\u00b7E", "\ud83d\udc2c Gradio ChatInterface", "\ud83d\udc2c OpenAI Advanced", "\ud83d\udc2c OpenAI Compatible", @@ -23699,6 +57430,123 @@ "title_aux": "ComfyUI-Openpose-Editor-Plus" } ], + "https://github.com/whmc76/ComfyUI-RemoveBackgroundSuite": [ + [ + "BiRefNetUltra_RBS", + "MaskProcessDetails_RBS", + "TransparentBackgroundUltra_RBS" + ], + { + "title_aux": "ComfyUI-RemoveBackgroundSuite" + } + ], + "https://github.com/whmc76/ComfyUI-UniversalToolkit": [ + [ + "APIImageGenerator_UTK", + "AudioCropProcessUTK", + "BboxVisualize_UTK", + "BestContextWindow_UTK", + "BlockifyMask_UTK", + "CheckMask_UTK", + "ColorMatch_UTK", + "ColorToMask_UTK", + "CropByMask_UTK", + "DepthMapBlur_UTK", + "EmptyUnitGenerator_UTK", + "Extract_Video_Frames_UTK", + "FillMaskedArea_UTK", + "GetImageRangeFromBatch_UTK", + "ImageAndMaskPreview_UTK", + "ImageBatchExtendWithOverlap_UTK", + "ImageBlendAdvance_UTK", + "ImageCombineAlpha_UTK", + "ImageConcatenateMulti_UTK", + "ImageConcatenate_UTK", + "ImageCropByMaskAndResize_UTK", + "ImageMaskScaleAs_UTK", + "ImagePadForOutpaintMasked_UTK", + "ImageRatioDetector_UTK", + "ImageRemoveAlpha_UTK", + "ImageScaleByAspectRatio_UTK", + "ImageScaleRestore_UTK", + "ImitationHueNode_UTK", + "LazySwitchKJ_UTK", + "LoadAudioPlusFromPath_UTK", + "LoadKontextPresets_UTK", + "LoraInfo_UTK", + "MaskAdd_UTK", + "MaskAnd_UTK", + "MaskSub_UTK", + "MathExpression_UTK", + "PurgeVRAM_UTK", + "ResizeImageVerKJ_UTK", + "RestoreCropBox_UTK", + "SeparateMasks_UTK", + "ShowAny_UTK", + "TextBoxNode_UTK", + "TextConcatenate_UTK", + "TextTranslatorAPI_UTK", + "ThinkRemover_UTK", + "Video_Prompt_Helper" + ], + { + "title_aux": "ComfyUI-UniversalToolkit" + } + ], + "https://github.com/wildminder/ComfyUI-Chatterbox": [ + [ + "ChatterboxTTS", + "ChatterboxVC" + ], + { + "title_aux": "ComfyUI-Chatterbox" + } + ], + "https://github.com/wildminder/ComfyUI-DyPE": [ + [ + "DyPE_FLUX" + ], + { + "title_aux": "ComfyUI-DyPE" + } + ], + "https://github.com/wildminder/ComfyUI-KEEP": [ + [ + "KEEP_FaceUpscaleImage", + "KEEP_ModelLoader", + "KEEP_ProcessImageSequence" + ], + { + "title_aux": "ComfyUI-KEEP" + } + ], + "https://github.com/wildminder/ComfyUI-KaniTTS": [ + [ + "KaniTTS" + ], + { + "title_aux": "ComfyUI-KaniTTS" + } + ], + "https://github.com/wildminder/ComfyUI-VibeVoice": [ + [ + "VibeVoiceTTS" + ], + { + "title_aux": "ComfyUI-VibeVoice" + } + ], + "https://github.com/wildminder/ComfyUI-VoxCPM": [ + [ + "VoxCPM_DatasetMaker", + "VoxCPM_LoraTrainer", + "VoxCPM_TTS", + "VoxCPM_TrainConfig" + ], + { + "title_aux": "ComfyUI-VoxCPM" + } + ], "https://github.com/willchil/ComfyUI-Environment-Visualizer": [ [ "EnvironmentVisualizer", @@ -23709,19 +57557,87 @@ "title_aux": "ComfyUI-Environment-Visualizer" } ], + "https://github.com/willmiao/ComfyUI-Lora-Manager": [ + [ + "DebugMetadataLM", + "LoraCyclerLM", + "LoraLoaderLM", + "LoraPoolLM", + "LoraRandomizerLM", + "LoraStackerLM", + "LoraTextLoaderLM", + "PromptLM", + "SaveImageLM", + "TextLM", + "TriggerWordToggleLM", + "WanVideoLoraSelectLM", + "WanVideoLoraTextSelectLM" + ], + { + "title_aux": "ComfyUI-Lora-Manager" + } + ], "https://github.com/windfancy/zsq_prompt": [ [ + "BatchPromptJson", + "BatchPromptSelector", + "ConnectionString", "DoubleCLIPEncode", + "FaceRestoreCFWithModel", + "FloatMathOperation", + "ImageAddText", + "ImageColorAdapter", + "ImageEmpty", + "IndexString", + "IntMathOperation", + "JoinImageBatch", "LLMImage", "LLMText", + "LoadImagesFromFolder", + "MaskToImage", + "OptionString", + "PersonMaskUltraV2", "PortraitStyler", + "ReActorBuildFaceModel", + "ReActorMakeFaceModelBatch", + "ReActorSaveFaceModel", + "SaveJpgImage", + "StringInput", "ZSQPixelLatent", "ZSQRatioLatent", + "ZSQShowINT", + "ZSQShowText", + "ZsqLatent", "checkpoint_sampler", + "checkpoint_sampler_dualclip", + "checkpoint_sampler_tripleclip", + "checkpoint_sampler_unet", "controlnetStack", "controlnetStack_2", + "face_reactor", + "face_reactor_plus", + "imageConcat", + "imageCount", + "imageCrop", + "imageDetailTransfer", + "imageFilter", + "imageFlip", + "imageGaussianBlur", + "imageRGB", + "imageRatio", + "imageResize", + "imageRotate", + "imageSaveSimple", + "imageScaleDown", + "imageScaleDownBy", + "imageSharpen", + "imageSize", + "imageTilesFromBatch", + "imagesSplitImage", "loraStack", "loraStack_2", + "stylesSelector", + "zsq_rmbg", "zsqcheckpoint", "zsqcontrolnet", "zsqsampler" @@ -23730,6 +57646,119 @@ "title_aux": "zsq_prompt" } ], + "https://github.com/wings6407/ComfyUI_HBH-image_overlay": [ + [ + "HBH_ImageCoordinatePicker", + "HBH_ImageCoordinatePreview", + "HBH_ImageInteractivePicker", + "HBH_ImageOverlay", + "HBH_ImageOverlayPreview", + "HBH_ImagePreview" + ], + { + "title_aux": "ComfyUI_HBH-image_overlay" + } + ], + "https://github.com/wirytiox/ComfyUI-SelectStringFromListWithIndex": [ + [ + "StringFromList" + ], + { + "title_aux": "ComfyUI-SelectStringFromListWithIndex" + } + ], + "https://github.com/withmpx/mpx-comfyui-nodes": [ + [ + "Agent_PickBestImageFromList", + "Agent_ReflectionOnImageList", + "ImagesTo3DModels", + "LoadImageData", + "ObjectListToImageList", + "PickFromList", + "SaveModelsToDisk", + "ShowList", + "ShowString", + "StringListToStringList", + "StringListToText", + "TextToImage", + "TextToList", + "TextToObjectList", + "TextToScriptBreakdown", + "TextToStory", + "TextToText", + "TransformObjectList", + "TwoTextToText" + ], + { + "title_aux": "mpx-comfyui-nodes" + } + ], + "https://github.com/wizdroid/wizdroid-character": [ + [ + "WizdroidBackground", + "WizdroidCharacterEdit", + "WizdroidCharacterPrompt", + "WizdroidContestPrompt", + "WizdroidImageEdit", + "WizdroidLoRADataset", + "WizdroidLoRADatasetValidator", + "WizdroidLoRATrainer", + "WizdroidLoRAValidate", + "WizdroidMetaPrompt", + "WizdroidPhotoAspect", + "WizdroidPromptCombiner", + "WizdroidSceneGenerator" + ], + { + "title_aux": "Wizdroid Character Nodes for ComfyUI" + } + ], + "https://github.com/wjl0313/ComfyUI_KimNodes": [ + [ + "Add_ImageMetadata", + "Bitch_Filter", + "BoundingBox_Cropper", + "Crop_Paste", + "Distribute_Icons", + "Edge_Element_Cropper", + "IconDistributeByGrid", + "Icon_Position_Cropper", + "Image_Classification", + "Image_List_Splitter", + "Image_PixelFilter", + "Image_Resize", + "Image_Square_Pad", + "JSON_Image_Compositor", + "KimFilter", + "KimHDR", + "LoRA_Metadata_Reader", + "LoadImage_Metadata", + "Manual_MetadataInput", + "Mask_Add_Switch", + "Mask_Noise_Cleaner", + "Mask_White_Area_Ratio", + "MaxLength_ImageListSelector", + "Percentage_Cropper", + "Pixelate_Filter", + "Prompt_Loader", + "Prompt_Text", + "Save_Image", + "Seamless_Icon_Generator", + "Seamless_Tiling_Generator", + "Split_Mask", + "Text_Match", + "Text_Processor", + "Transparent_Area_Cropper", + "Transparent_Image_Filter", + "Whitening_Node", + "YOLOWorld_Match", + "YOLO_Crop", + "YOLO_Multi_Crop" + ], + { + "title_aux": "ComfyUI_KimNodes" + } + ], "https://github.com/wmatson/easy-comfy-nodes": [ [ "EZAssocDictNode", @@ -23746,6 +57775,43 @@ "title_aux": "easy-comfy-nodes" } ], + "https://github.com/wmpmiles/comfyui-some-image-processing-stuff": [ + [ + "Blur Mask", + "Color Grading", + "Latent Zero Mask", + "Mask-Crop Inpaint | Post", + "Mask-Crop Inpaint | Pre", + "Mask-Crop | Post", + "Mask-Crop | Pre", + "Resample Image", + "Resample Latent", + "Resample Mask", + "Resampler | Area", + "Resampler | Jinc-Lanczos", + "Resampler | Lanczos", + "Resampler | Mitchell-Netravali", + "Resampler | Nearest-Neighbor", + "Resampler | Triangle", + "Scaler | Area", + "Scaler | Fixed", + "Scaler | Megapixels", + "Scaler | Pixel Deltas", + "Scaler | Side", + "Scaler | Sides Unlinked" + ], + { + "title_aux": "comfyui-some-image-processing-stuff" + } + ], + "https://github.com/woct0rdho/ComfyUI-RadialAttn": [ + [ + "PatchRadialAttn" + ], + { + "title_aux": "ComfyUI-RadialAttn" + } + ], "https://github.com/wolfden/ComfyUi_PromptStylers": [ [ "SDXLPromptStylerAll", @@ -23808,6 +57874,56 @@ "title_aux": "ComfyUI-RK-Sampler" } ], + "https://github.com/wouterverweirder/comfyui-penplotter": [ + [ + "DisengagePlotter", + "ImageToCenterline", + "OptimizeSVG", + "PlotSVG" + ], + { + "title_aux": "ComfyUI PenPlotter" + } + ], + "https://github.com/wouterverweirder/comfyui_live_input_stream": [ + [ + "be.aboutme.comfyui.live_input_stream.mjpeg_stream_capture_advanced", + "be.aboutme.comfyui.live_input_stream.screen_capture_advanced", + "be.aboutme.comfyui.live_input_stream.webcam_capture_advanced" + ], + { + "title_aux": "comfyui_live_input_stream" + } + ], + "https://github.com/wouterverweirder/comfyui_sam3": [ + [ + "MaskOutline", + "SAM3Segmentation", + "SEGSToRectangle" + ], + { + "title_aux": "ComfyUI SAM3" + } + ], + "https://github.com/wqjuser/ComfyUI-Chat-Image": [ + [ + "LLMImageDescription" + ], + { + "title_aux": "ComfyUI-Chat-Image" + } + ], + "https://github.com/writer-in-fancy-pants/octo_json_presets": [ + [ + "Anything into string", + "Load Experiment Presets Json", + "Model Presets", + "Save Experiment Presets Json" + ], + { + "title_aux": "Octo Json Presets" + } + ], "https://github.com/wu12023/ComfyUI-Image-Evaluation": [ [ "Clip_Score-\ud83d\udd2c", @@ -23850,6 +57966,72 @@ "title_aux": "ComfyUI-Simple-Aspect-Ratio" } ], + "https://github.com/wwzhifeng/comfyui-jsonprompt": [ + [ + "JSONPromptBuilder" + ], + { + "title_aux": "comfyui-jsonprompt" + } + ], + "https://github.com/wywywywy/ComfyUI-pause": [ + [ + "PauseWorkflowNode" + ], + { + "title_aux": "ComfyUI Pause Workflow Node" + } + ], + "https://github.com/wzken/ComfyUI-Steganos-Node": [ + [ + "SteganosNode" + ], + { + "title_aux": "Steganos Node for ComfyUI" + } + ], + "https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2": [ + [ + "SAM2UltraV2: Crop", + "SAM2UltraV2: LoadModel", + "SAM2UltraV2: MaskKeepLargestN", + "SAM2UltraV2: UpperBody" + ], + { + "author": "chflame", + "description": "A set of nodes for ComfyUI that can composite layer and mask to achieve Photoshop like functionality.", + "nickname": "LayerStyle", + "title": "LayerStyle", + "title_aux": "ComfyUI_SAM2UltraV2" + } + ], + "https://github.com/x0x0b/ComfyUI-PromptHistoryGallery": [ + [ + "PromptHistoryInput" + ], + { + "title_aux": "Prompt History Gallery" + } + ], + "https://github.com/x0x0b/ComfyUI-spritefusion-pixel-snapper": [ + [ + "PixelSnapper" + ], + { + "title_aux": "ComfyUI-spritefusion-pixel-snapper" + } + ], + "https://github.com/xLegende/ComfyUI-Prompt-Formatter": [ + [ + "CategorizedPromptAnalyzer", + "CategorizedPromptFormatter", + "CategorizedRandomPromptFormatter", + "WildcardImporter" + ], + { + "title_aux": "ComfyUI-Prompt-Formatter" + } + ], "https://github.com/xXAdonesXx/NodeGPT": [ [ "AppendAgent", @@ -23893,6 +58075,112 @@ "title_aux": "NodeGPT" } ], + "https://github.com/xela-io/ComfyUI-HairDetailer": [ + [ + "HairColorAnalyzer", + "HairDetailEnhancer", + "HairDetector", + "HairDetectorAdvanced", + "HairMaskRefiner", + "HairRegionPrompt" + ], + { + "title_aux": "ComfyUI-HairDetailer" + } + ], + "https://github.com/xela-io/ComfyUI-RegionalPrompting": [ + [ + "MaskFromRegions", + "MaskRegionCreator", + "RegionalConditioningCombiner", + "RegionalPromptComposer", + "SimpleRegionalPrompt" + ], + { + "title_aux": "ComfyUI-RegionalPrompting" + } + ], + "https://github.com/xfgexo/EXO-Custom-ComfyUI-Nodes": [ + [ + "ComfyUI_EXO_Clip_Text_Encode", + "ComfyUI_EXO_DisplayText", + "ComfyUI_EXO_FluxSampler", + "ComfyUI_EXO_FluxSamplerMini", + "ComfyUI_EXO_ImageRescale", + "ComfyUI_EXO_LatentImageSize", + "ComfyUI_EXO_LatentImageSizeX", + "ComfyUI_EXO_Notes", + "ComfyUI_EXO_NumericValue", + "ComfyUI_EXO_PromptBuilderDeluxe", + "ComfyUI_EXO_SaveText", + "ComfyUI_EXO_TranslateText" + ], + { + "title_aux": "EXO Custom ComfyUI Nodes" + } + ], + "https://github.com/xhh522/ComfyUI-preview-monitor": [ + [ + "HybridPreviewImageMonitor", + "PreviewImageMonitor" + ], + { + "title_aux": "ComfyUI Preview Monitor" + } + ], + "https://github.com/xhiroga/ComfyUI-FramePackWrapper_PlusOne": [ + [ + "DownloadAndLoadFramePackModel", + "FramePackFindNearestBucket", + "FramePackLoraSelect", + "FramePackSampler", + "FramePackSampler_F1", + "FramePackSingleFrameResizeSampler", + "FramePackSingleFrameSampler", + "FramePackTimestampedTextEncode", + "FramePackTorchCompileSettings", + "LoadFramePackModel", + "ReferenceEmbedsList", + "ReferenceLatentList", + "ReferenceMaskList" + ], + { + "title_aux": "ComfyUI-FramePackWrapper_PlusOne" + } + ], + "https://github.com/xiangyuT/ComfyUI-PromptEnhance": [ + [ + "PromptEnhance", + "PromptEnhanceAdvanced" + ], + { + "title_aux": "ComfyUI-PromptEnhance" + } + ], + "https://github.com/xiaogui8dangjia/Comfyui-imagetoSTL": [ + [ + "ImageToSTLNode" + ], + { + "title_aux": "Comfyui-imagetoSTL" + } + ], + "https://github.com/xiaoshengyvlin/ComfyUI-MetaData-ZaKo": [ + [ + "MetaDataZaKo" + ], + { + "title_aux": "ComfyUI-MetaData-ZaKo" + } + ], + "https://github.com/xiaowc-lib/comfyui-dynamic-params": [ + [ + "DynamicParams" + ], + { + "title_aux": "Comfyui-Dynamic-Params" + } + ], "https://github.com/xiaoxiaodesha/hd_node": [ [ "Combine HDMasks", @@ -23907,6 +58195,23 @@ "title_aux": "hd-nodes-comfyui" } ], + "https://github.com/xingBaGan/ComfyUI-connect-ui": [ + [ + "SaveImageByWebsocket", + "reciveImageByWebsocket" + ], + { + "title_aux": "ComfyUI-connect-ui" + } + ], + "https://github.com/xiujiang1987/ComfyUI-SmartSize": [ + [ + "GetImageSize_Custom" + ], + { + "title_aux": "ComfyUI-SmartSize" + } + ], "https://github.com/xlinx/ComfyUI-decadetw-auto-messaging-realtime": [ [ "Auto-MSG-ALL", @@ -23920,6 +58225,7 @@ ], "https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm": [ [ + "Auto-LLM-Chat", "Auto-LLM-Text", "Auto-LLM-Text-Vision", "Auto-LLM-Vision" @@ -23945,6 +58251,14 @@ "title_aux": "ComfyUI_SendDiscord" } ], + "https://github.com/xmarre/TorchCompileModel_LoRASafe": [ + [ + "TorchCompileModel_LoRASafe" + ], + { + "title_aux": "LoRA-Safe TorchCompile" + } + ], "https://github.com/xobiomesh/ComfyUI_xObiomesh": [ [ "OllamaModelSelect", @@ -23963,12 +58277,32 @@ "https://github.com/xs315431/Comfyui_Get_promptId": [ [ "GetPromptId", - "SuccessCallback" + "SuccessCallback", + "UploadVideo" ], { "title_aux": "Comfyui_Get_promptId" } ], + "https://github.com/xufengbo1993/ComfyUI-ZFL-JSON-Extractor": [ + [ + "JSONExtractorFourWay" + ], + { + "title_aux": "ComfyUI-ZFL-JSON-Extractor" + } + ], + "https://github.com/xuheyao/comfyui-dinov3-point-prompt": [ + [ + "DINOv3Loader", + "DINOv3PointCollector", + "DINOv3Process", + "DINOv3Similarity" + ], + { + "title_aux": "comfyui-dinov3-point-prompt" + } + ], "https://github.com/xuhongming251/ComfyUI-GPEN": [ [ "FaceEnhancement" @@ -23977,13 +58311,37 @@ "title_aux": "ComfyUI-GPEN" } ], + "https://github.com/xuhongming251/ComfyUI-InfiniteTalk-MultiImage": [ + [ + "GetFloatByIndex", + "GetIntByIndex", + "InfiniteTalkEmbedsSlice", + "InfiniteTalkMultiImage", + "MakeBatchFromFloatList", + "MakeBatchFromIntList", + "VideoFromPathsAndAudio" + ], + { + "title_aux": "ComfyUI-InfiniteTalk-MultiImage" + } + ], + "https://github.com/xuhongming251/ComfyUI-Jimeng": [ + [ + "JimengAPIClient", + "JimengFirstLastFrame2Video", + "JimengImage2Video", + "PreviewVideoFromUrl" + ], + { + "title_aux": "ComfyUI-Jimeng" + } + ], "https://github.com/xuhongming251/ComfyUI-MuseTalkUtils": [ [ "MuseTalkPostprocess", "MuseTalkPreprocess", "MuseTalkTrain", - "MuseTalkTrainPreprocess", - "MuseTalkUncropMask" + "MuseTalkTrainPreprocess" ], { "title_aux": "ComfyUI-MuseTalkUtils" @@ -23998,9 +58356,38 @@ "title_aux": "ComfyUI_Camera" } ], + "https://github.com/yamanacn/comfyui_kontext_Analyze": [ + [ + "KontextDuoImageAnalyzer" + ], + { + "title_aux": "ComfyUI Kontext Duo Image Analyzer" + } + ], + "https://github.com/yangrui511/ComfyUI-Text-Preserve": [ + [ + "TextPreserveNode" + ], + { + "title_aux": "ComfyUI-Text-Preserve" + } + ], + "https://github.com/yanhuifair/comfyui-janus": [ + [ + "JanusProImageGenerationNode", + "JanusProModelLoaderNode", + "JanusProMultimodalUnderstandingNode" + ], + { + "title_aux": "comfyui-janus" + } + ], "https://github.com/yanlang0123/ComfyUI_Lam": [ [ + "AppParams", "AspectRatio", + "AudioBeforeAfterSilence", + "AutioInfo", "AutioPath", "DoWhileEnd", "DoWhileStart", @@ -24010,7 +58397,6 @@ "ForInnerEnd", "ForInnerStart", "ForStart", - "GLM3Prompt", "IdentifyingQR", "IfInnerExecute", "Image2Video", @@ -24020,22 +58406,69 @@ "ImageCropFaces", "ImageLama", "ImageToMasks", + "JyAnimationGroup", + "JyAnimationIn", + "JyAnimationOut", + "JyAudio2CaptionsGroup", + "JyAudioNative", + "JyAudioTrack", + "JyCaptionsNative", + "JyCaptionsTrack", + "JyEffectNative", + "JyEffectTrack", + "JyMediaAnimation", + "JyMediaNative", + "JyMediaTrack", + "JyMultiAudioGroup", + "JyMultiCaptionsGroup", + "JyMultiEffectGroup", + "JyMultiMediaGroup", + "JySaveDraft", + "JySaveNoOutDraft", + "JySaveNotOutDraft", + "JySaveOutDraft", + "JyTransition", "LAM.OpenPoseEditorPlus", + "LamCommonHidden", "LamCommonNames", "LamCommonPrint", "LamCommonPrintNoOutput", + "LamFaceAnalysisModels", "LamGetPngInfo", + "LamHeyGemNode", + "LamHeyGemQueryNode", + "LamIndexTTS2AdvancedParams", + "LamIndexTTS2Node0", + "LamIndexTTS2Node1", + "LamIndexTTS2Node2", + "LamIndexTTS2Node3", + "LamIndexTTS2UnloadModel", + "LamLoadImageBase64", "LamLoadPathImage", "LamLoadVideo", + "LamPanorama2Spherical", + "LamReadFileList", + "LamSamplerName", + "LamSaveAudio", "LamSaveOnly", + "LamSaveVideo", + "LamScheduler", + "LamSpherical2Panorama", + "LamSwitchMiddle", + "LamSwitchStart", "LamSwitcherCase", + "LamViewVideo", + "LamViewVideoOut", "LoadDirImgPaths", + "LoadImagePath", "LoadReplaceImage", "LongTextToList", "MultiControlNetApply", "MultiGLIGENTextBoxApply", "MultiIPAdapterRegional", "MultiIntFormula", + "MultiMergeAudio", + "MultiMergeVideos", "MultiParamFormula", "MultiTextConcatenate", "MultiTextEncode", @@ -24044,18 +58477,23 @@ "MultiTextSetArea", "MultiTextSetGligen", "MultiTextSetMask", + "OpenAiPrompt", "OutDoWhileEnd", "OutDoWhileStart", "PreviewImageLam", "PromptTranslator", "QRCode", + "QwenImageEditNode", + "QwenImageNode", "SaveImageLam", + "SaveImgOutputLam", "SectionEnd", "SectionStart", "StyleSelecto", "Text2AutioEdgeTts", "TextListSelelct", "VideoAddAudio", + "VideoExtractAudio", "VideoFaceFusion", "VideoPath", "WaitImagSelector", @@ -24065,6 +58503,32 @@ "title_aux": "ComfyUI_Lam" } ], + "https://github.com/yannickcruz/ComfyUI_YSC_HighResFix": [ + [ + "YSC_HighresFix" + ], + { + "title_aux": "ComfyUI YSC HighRes-Fix" + } + ], + "https://github.com/yano/comfyui-fast-mosaic-detector": [ + [ + "MosaicDetectionNode" + ], + { + "title_aux": "ComfyUI Fast Mosaic Detector" + } + ], + "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch": [ + [ + "ColorGradeSampler", + "ColorGrading", + "SemanticImageFetch" + ], + { + "title_aux": "comfyUI-SemanticImageFetch" + } + ], "https://github.com/ycchanau/ComfyUI_Preview_Magnifier": [ [ "YC.ImageComparerMagnifier", @@ -24075,6 +58539,23 @@ "title_aux": "ComfyUI Preview Magnifier" } ], + "https://github.com/ycyy/ComfyUI-YCYY-API": [ + [ + "YCYY_API_Config_Options", + "YCYY_API_Proxy_Options", + "YCYY_Gemini_Image_API", + "YCYY_Gemini_Image_Preset", + "YCYY_Gemini_STT_API", + "YCYY_Gemini_TTS_API", + "YCYY_ModelScope_Image_API", + "YCYY_Ollama_LLM_API", + "YCYY_Ollama_LLM_Advanced_Options", + "YCYY_Ollama_VLM_API" + ], + { + "title_aux": "ComfyUI-YCYY-API" + } + ], "https://github.com/ycyy/ComfyUI-YCYY-LoraInfo": [ [ "LoraInfo" @@ -24083,6 +58564,14 @@ "title_aux": "ComfyUI-YCYY-LoraInfo" } ], + "https://github.com/yeeyou/ComfyUI-OpenAI-Compatible-API": [ + [ + "OpenAICompatibleLLM" + ], + { + "title_aux": "ComfyUI OpenAI Compatible API Node" + } + ], "https://github.com/yffyhk/comfyui_auto_danbooru": [ [ "GetDanbooru", @@ -24096,6 +58585,7 @@ [ "FalAPIFluxControlNetConfigNode", "FalAPIFluxControlNetUnionConfigNode", + "FalAPIFluxDevCannyWithLoraNode", "FalAPIFluxDevImageToImageNode", "FalAPIFluxDevNode", "FalAPIFluxDevWithLoraAndControlNetImageToImageNode", @@ -24110,12 +58600,223 @@ "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": [ + [ + "StabilityControlSketch", + "StabilityControlStructure", + "StabilityControlStyle", + "StabilityEdit", + "StabilityImageCore", + "StabilityImageSD3", + "StabilityImageToVideo", + "StabilityImageUltra", + "StabilityUpscaleConservative", + "StabilityUpscaleCreative", + "StabilityUpscaleFast" + ], + { + "title_aux": "ComfyUI-Stability-AI-API" + } + ], + "https://github.com/yichengup/ComfyUI-LinearTransition": [ + [ + "GradientTransition", + "LinearTransition" + ], + { + "title_aux": "ComfyUI-LinearTransition" + } + ], + "https://github.com/yichengup/ComfyUI-VideoTransition": [ + [ + "CubeRotationNode", + "VideoBlindsTransitionNode", + "VideoBlinkTransitionNode", + "VideoCheckerboardTransitionNode", + "VideoCrossfadeNode", + "VideoCubeRotationAdvancedNode", + "VideoCubeTransitionNode", + "VideoExplosionTransitionNode", + "VideoFlip3DTransitionNode", + "VideoGlitchArtEnhancedNode", + "VideoGlitchArtTransitionNode", + "VideoPageTurnNode", + "VideoShakeTransitionNode", + "VideoWarpTransitionNode" + ], + { + "title_aux": "ComfyUI-VideoTransition" + } + ], + "https://github.com/yichengup/ComfyUI-YCNodes": [ + [ + "AdvancedImageSelector", + "DynamicThreshold", + "ImageBatchSelector", + "ImageBlendMaskFitCover", + "ImageBlendResize", + "ImageIC", + "ImageICAdvanced", + "ImageLoaderAdvanced", + "ImageMirror", + "ImageMosaic", + "ImageRotate", + "ImageScaleRestoreV2_YC", + "ImageSelector", + "ImageUpscaleTiled", + "IrregularToEllipseMask", + "LoadImagesFromFolder", + "MaskBatchComposite", + "MaskBatchCopy", + "MaskComposite", + "MaskContourFillNode", + "MaskCropRestore_YC", + "MaskCrop_YC", + "MaskFilterBySolidity", + "MaskFromBatch", + "MaskPreviewNode", + "MaskRepeatBatch", + "MaskResizeToRatio", + "MaskSmartValleySplit", + "MaskSplitFilter", + "MaskTopNFilter", + "TextKeyword", + "YC Extract Number", + "YC Mask Condition Switch", + "YC Seed List", + "YC Super Selector", + "YC Text Condition Switch", + "YC Text Index Switch", + "YC Universal Gate", + "YCImageAccumulator", + "YCImageSmartCrop", + "YCImageSmartPad", + "YCImageTile", + "YCImageUntile", + "YCMaskBlur", + "YCMaskDirectionExpand", + "YCMaskRatioPadCrop", + "YCRemapMaskRange", + "YCTextImageGenerator", + "YC_FiveTextCombineNode", + "YC_Image_Save", + "YC_MaskColorOverlay", + "YC_SingleTextNode", + "YC_textReplaceNode", + "ycImageTilem" + ], + { + "title_aux": "ComfyUI-YCNodes" + } + ], + "https://github.com/yichengup/ComfyUI-YCNodes_Toolkit": [ + [ + "YCLiveLoadImagesMulti", + "YCSwitch", + "YC_ShowText", + "ycBBoxBridge", + "ycCanvasBBox", + "ycCanvasBBoxMask", + "ycimagebrushmask" + ], + { + "title_aux": "ComfyUI-YCNodes_Toolkit" + } + ], + "https://github.com/yichengup/ComfyUI-gaussian_preview": [ + [ + "SavePLY", + "YCGaussianPreview" + ], + { + "title_aux": "ComfyUI-gaussian_preview" + } + ], + "https://github.com/yichengup/ComfyUI_SwiftCut": [ + [ + "SelectImages", + "SelectImagesAdvanced", + "YCImageBatchBlend", + "YCImageColorTrackBindPro", + "YCImageOverlayBlend", + "YCImagePushPullLens", + "YC_Subtitle" + ], + { + "title_aux": "ComfyUI_SwiftCut" + } + ], + "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" + ], + { + "title_aux": "Comfyui-Ycanvas" + } + ], + "https://github.com/yichengup/Comfyui_Flux_Style_Adjust": [ + [ + "StyleModelAdvancedApply" + ], + { + "title_aux": "Comfyui_Flux_Style_Adjust (Redux)" + } + ], + "https://github.com/yichengup/Comfyui_Redux_Advanced": [ + [ + "StyleAdvancedApply", + "YC_LG_Redux" + ], + { + "title_aux": "Comfyui_Redux_Advanced" + } + ], + "https://github.com/yichengup/comfyui-face-liquify": [ + [ + "FaceLiquifyNode" + ], + { + "title_aux": "comfyui-face-liquify" + } + ], "https://github.com/yiwangsimple/ComfyUI_DW_Chat": [ [ "DeepSeekChatNode", @@ -24160,6 +58861,23 @@ "title_aux": "florence_dw" } ], + "https://github.com/yohji-yohji/comfyui-nanobanana-pro": [ + [ + "Gemini3ProGenerateContent" + ], + { + "title_aux": "comfyui-nanobanana-pro" + } + ], + "https://github.com/yolain/ComfyUI-Easy-DotsOCR": [ + [ + "easy applyDotsOCR", + "easy downloadDotsOCRAndLoadModel" + ], + { + "title_aux": "ComfyUI-Easy-DotsOCR" + } + ], "https://github.com/yolain/ComfyUI-Easy-Use": [ [ "dynamicThresholdingFull", @@ -24209,10 +58927,8 @@ "easy controlnetStackApply", "easy convertAnything", "easy detailerFix", - "easy dynamiCrafterLoader", "easy float", "easy fluxLoader", - "easy fluxPromptGenAPI", "easy forLoopEnd", "easy forLoopStart", "easy fullCascadeKSampler", @@ -24232,6 +58948,7 @@ "easy imageCount", "easy imageCropFromMask", "easy imageDetailTransfer", + "easy imageHSVMask", "easy imageIndexSwitch", "easy imageInsetCrop", "easy imageInterrogator", @@ -24255,6 +58972,7 @@ "easy imageToBase64", "easy imageToMask", "easy imageUncropFromBBOX", + "easy imagesCountInDirectory", "easy imagesSplitImage", "easy indexAnything", "easy injectNoiseToLatent", @@ -24274,6 +58992,8 @@ "easy isNone", "easy isSDXL", "easy joinImageBatch", + "easy joyCaption2API", + "easy joyCaption3API", "easy kSampler", "easy kSamplerCustom", "easy kSamplerDownscaleUnet", @@ -24287,15 +59007,18 @@ "easy lengthAnything", "easy loadImageBase64", "easy loadImagesForLoop", + "easy loraNames", + "easy loraPromptApply", "easy loraStack", "easy loraStackApply", + "easy loraSwitcher", "easy makeImageForICLora", "easy mathFloat", "easy mathInt", "easy mathString", "easy mochiLoader", + "easy multiAngle", "easy negative", - "easy ominiControlApply", "easy outputToList", "easy pipeBatchIndex", "easy pipeEdit", @@ -24320,6 +59043,7 @@ "easy preSamplingNoiseIn", "easy preSamplingSdTurbo", "easy prompt", + "easy promptAwait", "easy promptConcat", "easy promptLine", "easy promptList", @@ -24334,19 +59058,26 @@ "easy saveText", "easy saveTextLazy", "easy seed", + "easy seedList", "easy showAnything", "easy showAnythingLazy", "easy showLoaderSettingsNames", "easy showSpentTime", "easy showTensorShape", + "easy simpleMath", + "easy simpleMathDual", "easy sleep", "easy sliderControl", "easy stableDiffusion3API", "easy string", + "easy stringJoinLines", + "easy stringToFloatList", + "easy stringToIntList", "easy styleAlignedBatchAlign", "easy stylesSelector", "easy sv3dLoader", "easy svdLoader", + "easy tableEditor", "easy textIndexSwitch", "easy textSwitch", "easy ultralyticsDetectorPipe", @@ -24354,6 +59085,7 @@ "easy whileLoopEnd", "easy whileLoopStart", "easy wildcards", + "easy wildcardsMatrix", "easy xyAny", "easy zero123Loader" ], @@ -24361,6 +59093,22 @@ "title_aux": "ComfyUI Easy Use" } ], + "https://github.com/yolain/SaveVideoRGBA": [ + [ + "SaveVideoRGBA" + ], + { + "title_aux": "SaveVideoRGBA" + } + ], + "https://github.com/yolanother/ComfyUI-Save16bitPng": [ + [ + "SaveImageARGB16PNG" + ], + { + "title_aux": "Save Uncompressed 16 Bit PNG" + } + ], "https://github.com/yolanother/DTAIComfyImageSubmit": [ [ "DTSimpleSubmitImage", @@ -24385,6 +59133,7 @@ "DTLoadLatent", "DTLoraLoader", "DTLorasLoader", + "DTPreviewImage", "DTStyleModelLoader", "DTUpscaleModelLoader", "DTVAELoader", @@ -24445,16 +59194,75 @@ "title_aux": "ComfyUI-Background-Edit" } ], + "https://github.com/yondonfu/ComfyUI-Torch-Compile": [ + [ + "TorchCompileLoadControlNet", + "TorchCompileLoadVAE" + ], + { + "title_aux": "ComfyUI-Torch-Compile" + } + ], "https://github.com/yorkane/ComfyUI-KYNode": [ [ - "AdvancedLyingSigmaSampler", + "KY_AnyByIndex", + "KY_AnyToList", + "KY_BBoxPosition", + "KY_BBoxToXYWH", + "KY_BBoxesToSAM2", + "KY_CreateMask", + "KY_CreateVideoObjectFromPath", + "KY_CropImageByXYWH", + "KY_DummyOut", + "KY_Eval_Python", + "KY_FFmpegAddAudio", + "KY_FFmpegCustomCmd", + "KY_FFmpegImagesToVideo", + "KY_FFmpegTrimVideo", + "KY_FFmpegVideoToImages", + "KY_FilePathAnalyzer-", + "KY_FileSequenceAnalyzer", + "KY_First_NOT_EMPTY", + "KY_GetFromPath", + "KY_ImageCompare", + "KY_ImageCropByBBox", + "KY_JSONToBBox", + "KY_JoinToString", + "KY_LoadImageFrom", + "KY_LoadVideoByPath", + "KY_Load_Images_from_path", + "KY_MathExpression", + "KY_MergeToJSON", "KY_OpenAICaptionImage", - "KY_SaveImageToPath" + "KY_OpenAICaptionImages", + "KY_OpenAIChat", + "KY_ReadImage", + "KY_RegexExtractor", + "KY_RegexReplace", + "KY_SaveImageSequence", + "KY_SaveImageToPath", + "KY_SaveVideo", + "KY_ToVideoUrl", + "KY_Uploads", + "KY_VideoCompare", + "KY_isNone", + "KY_restoreBBox", + "KY_toBBox" ], { "title_aux": "ComfyUI-KYNode" } ], + "https://github.com/younyokel/comfyui_prompt_formatter": [ + [ + "CLIPTextEncodeFormatter", + "TextAppendFormatter", + "TextOnlyFormatter" + ], + { + "title_aux": "ComfyUI Prompt Formatter" + } + ], "https://github.com/youyegit/tdxh_node_comfyui": [ [ "TdxhBoolNumber", @@ -24478,6 +59286,14 @@ "title_aux": "tdxh_node_comfyui" } ], + "https://github.com/ytoaa/ComfyUI-LLM-Client": [ + [ + "QwenSecureE2EEClient" + ], + { + "title_aux": "ComfyUI-LLM-Client" + } + ], "https://github.com/yuan199696/add_text_2_img": [ [ "AddText" @@ -24494,9 +59310,79 @@ "title_aux": "chinese_clip_encode" } ], + "https://github.com/yuanyuan-spec/comfyui_hunyuanvideo_1.5_plugin": [ + [ + "HyVidelSrTransformerUpsamplerLoader", + "HyVidelSrVaeDecoder", + "HyVideo15Byt5Loader", + "HyVideo15CFG", + "HyVideo15GlyphByT5", + "HyVideo15I2VSampler", + "HyVideo15LatentsPrepare", + "HyVideo15ModelLoader", + "HyVideo15T2VSampler", + "HyVideo15TextEncode", + "HyVideo15TextEncoderLoader", + "HyVideo15Transformer", + "HyVideo15TransformerLoader", + "HyVideo15VaeDecode", + "HyVideo15VaeEncode", + "HyVideo15VaeLoader", + "HyVideo15VisionEncode", + "HyVideo15VisionEncoderLoader", + "HyVideoSrLatentsPrepare", + "HyVideoSrTransformer", + "HyVideoSrVaeEncode" + ], + { + "title_aux": "HunyuanVideo-1.5 nodes" + } + ], + "https://github.com/yukascomfy/ATI_AudioReactive": [ + [ + "AudioReactivePathAnimator" + ], + { + "title_aux": "ATI_AudioReactive" + } + ], + "https://github.com/yushan777/ComfyUI-Y7-SBS-2Dto3D": [ + [ + "Y7_SideBySide", + "Y7_VideoSideBySide" + ], + { + "title_aux": "ComfyUI-Y7-SBS-2Dto3D" + } + ], + "https://github.com/yushan777/ComfyUI-Y7Nodes": [ + [ + "Y7Nodes_CLIP_TokenCounter", + "Y7Nodes_CatchEditTextNodeDual", + "Y7Nodes_ColorMatchMasked", + "Y7Nodes_CropToNearestMultiple", + "Y7Nodes_ImageRow", + "Y7Nodes_ImageSizePresets", + "Y7Nodes_LMStudioText", + "Y7Nodes_LMStudioVision", + "Y7Nodes_PromptEnhancerFlux", + "Y7Nodes_PromptEnhancerFlux2", + "Y7Nodes_SelectLMSModel", + "Y7Nodes_ShowAnything", + "Y7Nodes_SmolVLM", + "Y7Nodes_T5_TokenCounter", + "Y7Nodes_Text" + ], + { + "title_aux": "Y7Nodes for ComfyUI" + } + ], "https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt": [ [ - "DepthAnythingTensorrt" + "DepthAnythingEngineBuilder", + "DepthAnythingMapDisplay", + "DepthAnythingTensorrt", + "DepthAnythingTensorrtAdvanced" ], { "title_aux": "ComfyUI Depth Anything TensorRT" @@ -24504,12 +59390,22 @@ ], "https://github.com/yuvraj108c/ComfyUI-Dwpose-Tensorrt": [ [ - "DwposeTensorrt" + "DwposeTensorrt", + "LoadDwposeTensorrtModels" ], { "title_aux": "ComfyUI Dwpose TensorRT" } ], + "https://github.com/yuvraj108c/ComfyUI-FLOAT": [ + [ + "FloatProcess", + "LoadFloatModels" + ], + { + "title_aux": "ComfyUI FLOAT" + } + ], "https://github.com/yuvraj108c/ComfyUI-Facerestore-Tensorrt": [ [ "FaceRestoreTensorrt" @@ -24528,6 +59424,8 @@ ], "https://github.com/yuvraj108c/ComfyUI-Pronodes": [ [ + "ImagesSeekerNode", + "ImagesShufflerNode", "LoadImageFromOutputDirectoryNode", "LoadYoutubeVideoNode", "PreviewVHSAudioNode", @@ -24546,14 +59444,35 @@ "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", + "VideoDepthAnythingOutput", + "VideoDepthAnythingProcess", + "VideoDepthAnythingSaveEXR" + ], + { + "title_aux": "ComfyUI Video Depth Anything" + } + ], "https://github.com/yuvraj108c/ComfyUI-Vsgan": [ [ "DepthAnythingTrtNode", @@ -24569,7 +59488,8 @@ "Add Subtitles To Background", "Add Subtitles To Frames", "Apply Whisper", - "Resize Cropped Subtitles" + "Resize Cropped Subtitles", + "Save SRT" ], { "title_aux": "ComfyUI Whisper" @@ -24577,12 +59497,22 @@ ], "https://github.com/yuvraj108c/ComfyUI-YoloNasPose-Tensorrt": [ [ + "YoloNasPoseEngineBuilder", "YoloNasPoseTensorrt" ], { "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", @@ -24614,10 +59544,77 @@ "title_aux": "ComfyUI_Zwng_Nodes" } ], + "https://github.com/zade23/Comfyui-Distill-Any-Depth": [ + [ + "DistillAnyDepthProcessImage", + "DownloadDistillAnyDepthModel" + ], + { + "title_aux": "Comfyui-Distill-Any-Depth" + } + ], + "https://github.com/zade23/Comfyui-MoGe2": [ + [ + "RunMoGe2Process" + ], + { + "title_aux": "ComfyUI-MoGe2" + } + ], + "https://github.com/zaheenrahman/ComfyUI-ColorCorrection": [ + [ + "ClothingColorCorrection" + ], + { + "title_aux": "ComfyUI-ColorCorrection" + } + ], + "https://github.com/zavatmotion/ComfyUI-Workflow-Backup": [ + [ + "WorkflowBackup" + ], + { + "title_aux": "ComfyUI Workflow Backup" + } + ], + "https://github.com/zccrs/comfyui-dci": [ + [ + "Base64Decoder", + "Base64Encoder", + "BinaryFileLoader", + "BinaryFileSaver", + "DCIAnalysis", + "DCIFileNode", + "DCIFileSaver", + "DCIImage", + "DCIImagePreview", + "DCIPreviewNode", + "DCISampleImage", + "DCI_Analysis", + "DCI_Base64Decoder", + "DCI_Base64Encoder", + "DCI_BinaryFileLoader", + "DCI_BinaryFileSaver", + "DCI_DebLoader", + "DCI_DebPackager", + "DCI_DirectoryLoader", + "DCI_FileNode", + "DCI_FileSaver", + "DCI_Image", + "DCI_ImagePreview", + "DCI_PreviewNode", + "DCI_SampleImage", + "DebLoader", + "DebPackager", + "DirectoryLoader" + ], + { + "title_aux": "ComfyUI DCI" + } + ], "https://github.com/zcfrank1st/Comfyui-Toolbox": [ [ "PreviewJson", - "PreviewVideo", "SaveJson", "TestJsonPreview" ], @@ -24636,13 +59633,72 @@ ], "https://github.com/zcfrank1st/comfyui_visual_anagrams": [ [ - "VisualAnagramsAnimate", + "VisialAnagramsSample", "VisualAnagramsSample" ], { "title_aux": "comfyui_visual_anagram" } ], + "https://github.com/zeeoale/PromptCreatorNode": [ + [ + "IdentityMixerNode", + "PFN_PromptTagsExtractor", + "PromptBuilderNode", + "PromptCreatorNode", + "PromptReplayNode", + "PromptTagsExtractorNode" + ], + { + "title_aux": "PromptCreatorNodetraumakom Prompt Generator" + } + ], + "https://github.com/zengxianyu/ComfyUIIntensityDepth": [ + [ + "IntensityDepthEstimation" + ], + { + "title_aux": "Intensity Fake Depth Node for ComfyUI" + } + ], + "https://github.com/zengxianyu/structured-noise": [ + [ + "StructuredNoise" + ], + { + "title_aux": "Phase-Preserving Noise" + } + ], + "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" @@ -24656,6 +59712,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)" ], @@ -24681,43 +59738,109 @@ [ "ZFLoadImagePath", "ZFPreviewText", + "ZFPreviewTextList", "ZFPreviewTextMultiline", "ZFShareScreen", + "ZFSplitText", "ZFTextTranslation" ], { "title_aux": "ComfyUI_zfkun" } ], + "https://github.com/zhangle0013/comfyui-EmptyImageYesON": [ + [ + "ImageAutoDisableNode" + ], + { + "title_aux": "comfyui-EmptyImageYesON" + } + ], + "https://github.com/zhanglongxiao111/Comfyui-geminiapi": [ + [ + "ElevenLabsTTSNode", + "FluxKontextMaxNode", + "FluxKontextProNode", + "GPTImageEditNode", + "GeminiChatNode", + "GeminiSegmentationNode", + "GeminiTTSNode", + "GoogleImagenEditNode", + "GoogleImagenNode", + "NanoBananaNode", + "NanoBananaProNode", + "NanoBananaProVertexNode", + "Veo3VideoGenerator" + ], + { + "title_aux": "Comfyui-geminiapi" + } + ], "https://github.com/zhangp365/ComfyUI-utils-nodes": [ [ + "AspectRatioSizeNodeOfUtils", + "BooleanControlOutput", "CheckpointLoaderSimpleWithSwitch", "ColorCorrectOfUtils", "ConcatTextOfUtils", + "CropByMaskToSpecificSize", "DeepfaceAnalyzeFaceAttributes", "DetectorForNSFW", + "EmptyConditioning", + "FalFunControlVideoRequestNode", + "FalImage2VideoRequestNode", + "FalNanoBananaNode", + "FalVideo2VideoRequestNode", + "FloatMultipleAddLiteral", + "FrameAdjuster", + "GeminiPromptEnhance", "GenderControlOutput", + "ImageAutoSelector", "ImageBatchOneOrMore", "ImageCompositeMaskedOneByOne", "ImageCompositeMaskedWithSwitch", + "ImageCompositeWatermark", "ImageConcanateOfUtils", + "ImageMaskColorAverage", "ImageResizeTo8x", - "IntAndIntAddOffsetLiteral", + "ImageScaleToTotalPixelsSwitch", + "ImageTransition", + "ImageTransitionBottomToTop", + "ImageTransitionLeftToRight", + "ImageTransitionRightToLeft", + "ImageTransitionTopToBottom", + "ImagesConcanateToGrid", "IntMultipleAddLiteral", + "LayerUtility: CropByMask To Specific Size", "LoadImageMaskWithSwitch", "LoadImageMaskWithoutListDir", "LoadImageWithSwitch", "LoadImageWithoutListDir", + "MaskAreaComparison", "MaskAutoSelector", "MaskCoverFourCorners", "MaskFastGrow", "MaskFromFaceModel", + "MaskofCenter", "MatchImageRatioToPreset", + "ModelsDownloaderOfUtils", "ModifyTextGender", + "NeedImageSizeAndCount", + "NovitaVideoRequestNode", + "QwenEditPlusLoraNode", + "ReferenceLatentSwitch", + "ReplicateRequstNode", + "ReplicateVideoRequestNode", + "SegmindVideoRequestNode", "SplitMask", "TextInputAutoSelector", "TextPreview", - "UpscaleImageWithModelIfNeed" + "TorchCompileModelAdvancedOfUtils", + "UpscaleImageWithModelIfNeed", + "VAEEncoderSwitch", + "VolcanoArkImageEditNode", + "VolcanoImageEditNode", + "VolcanoOutpaintingNode" ], { "title_aux": "zhangp365/ComfyUI-utils-nodes" @@ -24732,6 +59855,22 @@ "title_aux": "ComfyUI_photomakerV2_native" } ], + "https://github.com/zhaocaiji/ComfyUI-Mute-Switch": [ + [ + "MuteSwitch" + ], + { + "title_aux": "ComfyUI-Mute-Switch" + } + ], + "https://github.com/zhaocaiji/ComfyUI-VideoFrameTools": [ + [ + "VideoFrameReorderAndSkip" + ], + { + "title_aux": "ComfyUI-VideoFrameTools" + } + ], "https://github.com/zhiselfly/ComfyUI-Alimama-ControlNet-compatible": [ [ "SD3AlimamaInpaintControlNetApplyAdvanced", @@ -24754,7 +59893,8 @@ [ "EasyCaptureNode", "EasyVideoOutputNode", - "SendImageWebSocket" + "SendImageWebSocket", + "SendImageWebSocketNode" ], { "title_aux": "EasyCaptureNode for ComfyUI" @@ -24771,6 +59911,93 @@ "title_aux": "ComfyUI_Bxb" } ], + "https://github.com/zhuyanan/Comfy-FilmSimulator": [ + [ + "DNG Image Reader", + "FilmSimNode", + "SaveAVIF_HDR" + ], + { + "title_aux": "Comfy-FilmSimulator" + } + ], + "https://github.com/zichongc/ComfyUI-Attention-Distillation": [ + [ + "ADHandler", + "ADOptimizer", + "ADSampler", + "LoadDistiller", + "LoadPILImage", + "PureText", + "ResizeImage" + ], + { + "title_aux": "ComfyUI-Attention-Distillation" + } + ], + "https://github.com/zisb/comfyui-texture-packer": [ + [ + "AlphaEdgeSolidify" + ], + { + "title_aux": "comfyui-texture-packer" + } + ], + "https://github.com/zl9739379/ComfyUI-ArkVideoGenerate": [ + [ + "ArkVideoGenerate" + ], + { + "title_aux": "ComfyUI-ArkVideoGenerate" + } + ], + "https://github.com/zmwv823/ComfyUI_Anytext": [ + [ + "UL_AnyText2Fonts", + "UL_AnyTextComposer", + "UL_AnyTextEncoder", + "UL_AnyTextFontImg", + "UL_AnyTextFormatter", + "UL_AnyTextLoader", + "UL_AnyTextSampler", + "UL_DiffusersCheckpointLoader", + "UL_DiffusersControlNetApplyAdvanced", + "UL_DiffusersControlNetLoader", + "UL_Image_Generation_Diffusers_Sampler", + "UL_Image_Generation_Glyph_ByT5", + "UL_Image_Generation_Glyph_ByT5_Checkponits_Loader", + "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_Translator", + "UL_TranslatorLoader", + "U_LoRAS" + ], + { + "title_aux": "ComfyUI_Anytext" + } + ], + "https://github.com/zn123/ComfyUI-image-processor-zn123": [ + [ + "ImageAdjustBrightness", + "ImageAdjustContrast", + "ImageBlur", + "ImageCrop", + "ImageFlip", + "ImageGrayscale", + "ImageResize", + "ImageRotate", + "ImageScaleByLongSide", + "ImageScaleByShortSide", + "ImageScaleByShortSideFactor", + "ImageSharpen", + "ImageUpscale" + ], + { + "title_aux": "ComfyUI-image-processor-zn123" + } + ], "https://github.com/zohac/ComfyUI_ZC_DrawShape": [ [ "ZcDrawShape" @@ -24787,8 +60014,6 @@ [ "CLIP Text Encode PS Regional", "Get Image From Photoshop Layer", - "Image Times Opacity", - "Mask Times Opacity", "Send Images To Photoshop" ], { @@ -24803,6 +60028,54 @@ "title_aux": "ComfyUI-ASV-Nodes Node" } ], + "https://github.com/zwaigani/ComfyUI-LoRA-stacker": [ + [ + "LoRA Stacker" + ], + { + "title_aux": "ComfyUI-LoRA-stacker" + } + ], + "https://github.com/zwaigani/ComfyUI-VRAM-watcher": [ + [ + "VRAMWatcher" + ], + { + "title_aux": "ComfyUI-VRAM-watcher" + } + ], + "https://github.com/zygion/comfyui-zygion-util-nodes": [ + [ + "ItemListNode", + "SceneQueueNode", + "TemplateInputNode", + "TemplateProcessorNode", + "TriggerPassthroughNode" + ], + { + "title_aux": "i-zygion-util-nodes" + } + ], + "https://github.com/zzubnik/TT_TextTools": [ + [ + "TT_StoryCombiner", + "TT_TextFileSelectorNode", + "TT_TextInput", + "TT_TextReplacer" + ], + { + "title_aux": "TT_TextTools" + } + ], + "https://github.com/zzw5516/ComfyUI-zw-tools": [ + [ + "ZwPrompt", + "ZwPromptText" + ], + { + "title_aux": "ComfyUI-zw-tools" + } + ], "https://raw.githubusercontent.com/1shadow1/hayo_comfyui_nodes/main/LZCNodes.py": [ [ "LoadPILImages", @@ -24824,14 +60097,6 @@ "title_aux": "ComfyUIInvisibleWatermark" } ], - "https://raw.githubusercontent.com/Limbicnation/ComfyUIDepthEstimation/main/depth_estimation_node.py": [ - [ - "DepthEstimationNode" - ], - { - "title_aux": "ComfyUIDepthEstimation" - } - ], "https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_AudioManipulation.py": [ [ "BatchJoinAudio", @@ -24851,9 +60116,6 @@ "QRNG_Node_CSV" ], { - "preemptions": [ - "SAMLoader" - ], "title_aux": "QRNG_Node_ComfyUI" } ], @@ -24878,14 +60140,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" @@ -24923,8 +60177,10 @@ [ "fcFloat", "fcFloatMatic", + "fcFloatNode", "fcHex", - "fcInteger" + "fcInteger", + "fcIntegerNode" ], { "title_aux": "fcSuite" @@ -24932,12 +60188,21 @@ ], "https://raw.githubusercontent.com/folkghost/comfyui_search_csv/main/search_csv_node.py": [ [ - "Search CSV" + "Search CSV", + "search_csv" ], { "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" @@ -24948,6 +60213,7 @@ ], "https://raw.githubusercontent.com/lrzjason/ComfyUIJasonNode/main/SDXLMixSampler.py": [ [ + "JNode", "SDXLMixSampler" ], { @@ -25029,24 +60295,6 @@ "title_aux": "CLIPSeg" } ], - "https://raw.githubusercontent.com/tudal/Hakkun-ComfyUI-nodes/main/hakkun_nodes.py": [ - [ - "Any Converter", - "Calculate Upscale", - "Image Resize To Height", - "Image Resize To Width", - "Image size to string", - "Load Random Image", - "Load Text", - "Multi Text Merge", - "Prompt Parser", - "Random Line", - "Random Line 4" - ], - { - "title_aux": "Hakkun-ComfyUI-nodes" - } - ], "https://raw.githubusercontent.com/ultimatech-cn/FaceSimilarity/main/faceSimilarity.py": [ [ "Face-analyze", diff --git a/extras.json b/extras.json new file mode 100644 index 00000000..22949306 --- /dev/null +++ b/extras.json @@ -0,0 +1,26 @@ +{ + "favorites": [ + "comfyui_ipadapter_plus", + "comfyui-animatediff-evolved", + "comfyui_controlnet_aux", + "comfyui-impact-pack", + "comfyui-impact-subpack", + "comfyui-custom-scripts", + "comfyui-layerdiffuse", + "comfyui-liveportraitkj", + "aigodlike-comfyui-translation", + "comfyui-reactor", + "comfyui_instantid", + "sd-dynamic-thresholding", + "pr-was-node-suite-comfyui-47064894", + "comfyui-advancedliveportrait", + "comfyui_layerstyle", + "efficiency-nodes-comfyui", + "comfyui-crystools", + "comfyui-advanced-controlnet", + "comfyui-videohelpersuite", + "comfyui-kjnodes", + "comfy-mtb", + "comfyui_essentials" + ] +} \ No newline at end of file diff --git a/git_helper.py b/git_helper.py index 85ad9dbc..4e184a3b 100644 --- a/git_helper.py +++ b/git_helper.py @@ -2,10 +2,9 @@ import subprocess import sys import os import traceback +import time import git -import configparser -import re import json import yaml import requests @@ -13,6 +12,14 @@ from tqdm.auto import tqdm from git.remote import RemoteProgress +comfy_path = os.environ.get('COMFYUI_PATH') +git_exe_path = os.environ.get('GIT_EXE_PATH') + +if comfy_path is None: + print("\nWARN: The `COMFYUI_PATH` environment variable is not set. Assuming `custom_nodes/ComfyUI-Manager/../../` as the ComfyUI path.", file=sys.stderr) + comfy_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..')) + + def download_url(url, dest_folder, filename=None): # Ensure the destination folder exists if not os.path.exists(dest_folder): @@ -36,12 +43,11 @@ def download_url(url, dest_folder, filename=None): print(f"Failed to download file from {url}") -config_path = os.path.join(os.path.dirname(__file__), "config.ini") nodelist_path = os.path.join(os.path.dirname(__file__), "custom-node-list.json") working_directory = os.getcwd() if os.path.basename(working_directory) != 'custom_nodes': - print(f"WARN: This script should be executed in custom_nodes dir") + print("WARN: This script should be executed in custom_nodes dir") print(f"DBG: INFO {working_directory}") print(f"DBG: INFO {sys.argv}") # exit(-1) @@ -59,9 +65,11 @@ class GitProgress(RemoteProgress): self.pbar.refresh() -def gitclone(custom_nodes_path, url, target_hash=None): +def gitclone(custom_nodes_path, url, target_hash=None, repo_path=None): repo_name = os.path.splitext(os.path.basename(url))[0] - repo_path = os.path.join(custom_nodes_path, repo_name) + + if repo_path is None: + repo_path = os.path.join(custom_nodes_path, repo_name) # Clone the repository from the remote URL repo = git.Repo.clone_from(url, repo_path, recursive=True, progress=GitProgress()) @@ -94,7 +102,12 @@ def gitcheck(path, do_fetch=False): # Get the current commit hash and the commit hash of the remote branch 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: + print("CUSTOM NODE CHECK: True") # non default branch is treated as updatable + return # Compare the commit hashes to determine if the local repository is behind the remote repository if commit_hash != remote_commit_hash: @@ -112,12 +125,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): - show_result = repo.git.remote("show", "origin") - matches = re.search(r"\s*HEAD branch:\s*(.*)", show_result) - if matches: - default_branch = matches.group(1) + remote_name = get_remote_name(repo) + + try: + 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: + if remote_name is not None: + repo.git.checkout('-b', 'master', f'{remote_name}/master') + return True + except: + 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): @@ -128,6 +189,7 @@ def gitpull(path): # Pull the latest changes from the remote repository repo = git.Repo(path) if repo.is_dirty(): + print(f"STASH: '{path}' is dirty.") repo.git.stash() commit_hash = repo.head.commit.hexsha @@ -141,15 +203,31 @@ def gitpull(path): remote_name = current_branch.tracking_branch().remote_name remote = repo.remote(name=remote_name) + if f'{remote_name}/{branch_name}' not in repo.refs: + switch_to_default_branch(repo) + current_branch = repo.active_branch + 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 repo.close() return - remote.pull() + try: + repo.git.pull('--ff-only') + except git.GitCommandError: + backup_name = f'backup_{time.strftime("%Y%m%d_%H%M%S")}' + repo.create_head(backup_name) + print(f"[ComfyUI-Manager] Cannot fast-forward. Backup created: {backup_name}") + repo.git.reset('--hard', f'{remote_name}/{branch_name}') + print(f"[ComfyUI-Manager] Reset to {remote_name}/{branch_name}") repo.git.submodule('update', '--init', '--recursive') new_commit_hash = repo.head.commit.hexsha @@ -166,9 +244,7 @@ def gitpull(path): def checkout_comfyui_hash(target_hash): - repo_path = os.path.abspath(os.path.join(working_directory, '..')) # ComfyUI dir - - repo = git.Repo(repo_path) + repo = git.Repo(comfy_path) commit_hash = repo.head.commit.hexsha if commit_hash != target_hash: @@ -250,6 +326,9 @@ def checkout_custom_node_hash(git_custom_node_infos): # clone missing for k, v in git_custom_node_infos.items(): + if 'ComfyUI-Manager' in k: + continue + if not v['disabled']: repo_name = k.split('/')[-1] if repo_name.endswith('.git'): @@ -258,7 +337,7 @@ def checkout_custom_node_hash(git_custom_node_infos): path = os.path.join(working_directory, repo_name) if not os.path.exists(path): print(f"CLONE: {path}") - gitclone(working_directory, k, v['hash']) + gitclone(working_directory, k, target_hash=v['hash']) def invalidate_custom_node_file(file_custom_node_infos): @@ -308,19 +387,18 @@ def invalidate_custom_node_file(file_custom_node_infos): download_url(url, working_directory) -def apply_snapshot(target): +def apply_snapshot(path): try: - path = os.path.join(os.path.dirname(__file__), 'snapshots', f"{target}") if os.path.exists(path): - if not target.endswith('.json') and not target.endswith('.yaml'): + if not path.endswith('.json') and not path.endswith('.yaml'): print(f"Snapshot file not found: `{path}`") print("APPLY SNAPSHOT: False") return None with open(path, 'r', encoding="UTF-8") as snapshot_file: - if target.endswith('.json'): + if path.endswith('.json'): info = json.load(snapshot_file) - elif target.endswith('.yaml'): + elif path.endswith('.yaml'): info = yaml.load(snapshot_file, Loader=yaml.SafeLoader) info = info['custom_nodes'] else: @@ -332,12 +410,13 @@ def apply_snapshot(target): 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 @@ -414,10 +493,8 @@ def restore_pip_snapshot(pips, options): def setup_environment(): - config = configparser.ConfigParser() - config.read(config_path) - if 'default' in config and 'git_exe' in config['default'] and config['default']['git_exe'] != '': - git.Git().update_environment(GIT_PYTHON_GIT_EXECUTABLE=config['default']['git_exe']) + if git_exe_path is not None: + git.Git().update_environment(GIT_PYTHON_GIT_EXECUTABLE=git_exe_path) setup_environment() @@ -425,7 +502,11 @@ setup_environment() try: if sys.argv[1] == "--clone": - gitclone(sys.argv[2], sys.argv[3]) + repo_path = None + if len(sys.argv) > 4: + repo_path = sys.argv[4] + + gitclone(sys.argv[2], sys.argv[3], repo_path=repo_path) elif sys.argv[1] == "--check": gitcheck(sys.argv[2], False) elif sys.argv[1] == "--fetch": @@ -446,5 +527,5 @@ try: except Exception as e: print(e) sys.exit(-1) - - + + diff --git a/github-stats.json b/github-stats.json index a109b5da..990ae624 100644 --- a/github-stats.json +++ b/github-stats.json @@ -1,8357 +1,20972 @@ { + "htps://github.com/GraftingRayman/Border-Distance-Mapper": { + "stars": 0, + "last_update": "2025-11-17 17:49:31", + "author_account_age_days": 772 + }, + "https://github.com/0dot77/comfyui-annotations": { + "stars": 0, + "last_update": "2026-01-17 15:19:04", + "author_account_age_days": 2778 + }, + "https://github.com/0nikod/ComfyUI-Metadata-Tools": { + "stars": 0, + "last_update": "2026-01-15 05:33:29", + "author_account_age_days": 1971 + }, + "https://github.com/0nikod/ComfyUI-Simple-Prompt": { + "stars": 1, + "last_update": "2026-01-17 10:47:19", + "author_account_age_days": 1971 + }, + "https://github.com/0x-jerry/comfyui-rembg": { + "stars": 1, + "last_update": "2025-04-07 09:23:31", + "author_account_age_days": 3818 + }, + "https://github.com/0xRavenBlack/ComfyUI-OOP": { + "stars": 13, + "last_update": "2025-03-02 11:59:14", + "author_account_age_days": 1989 + }, "https://github.com/0xbitches/ComfyUI-LCM": { - "stars": 251, + "stars": 261, "last_update": "2023-11-11 21:24:33", - "author_account_age_days": 701 + "author_account_age_days": 1140 + }, + "https://github.com/1038lab/ComfyUI-EdgeTTS": { + "stars": 64, + "last_update": "2026-01-25 17:59:27", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-FireRedTTS": { + "stars": 41, + "last_update": "2025-09-16 17:02:31", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-FlashVSR": { + "stars": 88, + "last_update": "2025-11-17 23:19:10", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-JoyCaption": { + "stars": 226, + "last_update": "2025-12-24 18:25:47", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-LBM": { + "stars": 89, + "last_update": "2025-05-27 17:37:31", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-MegaTTS": { + "stars": 49, + "last_update": "2025-06-19 19:12:51", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-MiniCPM": { + "stars": 146, + "last_update": "2025-08-28 19:52:08", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-MiniMax-Remover": { + "stars": 80, + "last_update": "2025-06-27 21:57:55", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-Mosaic": { + "stars": 2, + "last_update": "2025-07-05 16:12:04", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-NodeAlign": { + "stars": 34, + "last_update": "2025-12-19 08:03:16", + "author_account_age_days": 1061 }, "https://github.com/1038lab/ComfyUI-OmniGen": { - "stars": 146, - "last_update": "2024-12-08 06:02:47", - "author_account_age_days": 622 + "stars": 298, + "last_update": "2025-04-18 18:33:34", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-Pollinations": { + "stars": 47, + "last_update": "2025-07-07 07:11:19", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-QwenASR": { + "stars": 40, + "last_update": "2026-01-31 15:58:07", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-QwenVL": { + "stars": 660, + "last_update": "2026-02-10 00:26:58", + "author_account_age_days": 1061 }, "https://github.com/1038lab/ComfyUI-RMBG": { - "stars": 109, - "last_update": "2024-12-04 05:10:58", - "author_account_age_days": 622 + "stars": 1765, + "last_update": "2026-02-03 17:58:21", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-ReduxFineTune": { + "stars": 68, + "last_update": "2025-06-21 19:10:36", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-SparkTTS": { + "stars": 124, + "last_update": "2025-04-15 19:28:39", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-VoxCPMTTS": { + "stars": 35, + "last_update": "2025-12-11 23:23:52", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-WildPromptor": { + "stars": 75, + "last_update": "2025-11-06 00:14:44", + "author_account_age_days": 1061 + }, + "https://github.com/1038lab/ComfyUI-Youtu-VL": { + "stars": 11, + "last_update": "2026-02-03 09:45:40", + "author_account_age_days": 1061 }, "https://github.com/111496583yzy/comfyui-PuzzleCrack-Effect": { - "stars": 4, - "last_update": "2024-12-06 10:43:36", - "author_account_age_days": 2053 + "stars": 3, + "last_update": "2025-08-26 04:55:51", + "author_account_age_days": 2492 }, "https://github.com/11cafe/comfyui-workspace-manager": { - "stars": 1152, - "last_update": "2024-10-01 14:40:46", - "author_account_age_days": 374 + "stars": 1414, + "last_update": "2025-04-16 14:02:54", + "author_account_age_days": 814 + }, + "https://github.com/11dogzi/CYBERPUNK-STYLE-DIY": { + "stars": 152, + "last_update": "2025-08-11 17:17:54", + "author_account_age_days": 734 }, "https://github.com/11dogzi/ComfUI-EGAdapterMadAssistant": { - "stars": 36, + "stars": 40, "last_update": "2024-08-02 05:24:19", - "author_account_age_days": 295 + "author_account_age_days": 734 + }, + "https://github.com/11dogzi/Comfyui-HYPIR": { + "stars": 121, + "last_update": "2025-08-03 02:14:03", + "author_account_age_days": 734 }, "https://github.com/11dogzi/Comfyui-ergouzi-Nodes": { - "stars": 66, + "stars": 100, "last_update": "2024-08-23 12:04:09", - "author_account_age_days": 295 + "author_account_age_days": 734 }, "https://github.com/11dogzi/Comfyui-ergouzi-kaiguan": { - "stars": 47, - "last_update": "2024-12-09 02:29:58", - "author_account_age_days": 295 + "stars": 78, + "last_update": "2025-06-22 14:48:37", + "author_account_age_days": 734 }, "https://github.com/11dogzi/Comfyui-ergouzi-samplers": { - "stars": 25, + "stars": 28, "last_update": "2024-06-28 05:28:05", - "author_account_age_days": 295 + "author_account_age_days": 734 + }, + "https://github.com/18yz153/ComfyUI-Persona-Director": { + "stars": 10, + "last_update": "2026-01-08 20:49:07", + "author_account_age_days": 1992 + }, + "https://github.com/1hew/ComfyUI-1hewNodes": { + "stars": 22, + "last_update": "2026-02-08 14:38:21", + "author_account_age_days": 1057 }, "https://github.com/1mckw/Comfyui-Gelbooru": { - "stars": 5, - "last_update": "2024-12-08 03:42:25", - "author_account_age_days": 860 + "stars": 9, + "last_update": "2025-04-06 14:11:25", + "author_account_age_days": 1299 + }, + "https://github.com/1x1r/comfyui-upscale-by-model": { + "stars": 2, + "last_update": "2026-01-13 19:13:28", + "author_account_age_days": 562 }, "https://github.com/1zhangyy1/comfyui-vidu-nodes": { - "stars": 3, - "last_update": "2024-11-06 17:30:43", - "author_account_age_days": 629 + "stars": 10, + "last_update": "2025-03-21 12:25:22", + "author_account_age_days": 1068 + }, + "https://github.com/2frames/ComfyUI-AQnodes": { + "stars": 1, + "last_update": "2026-02-04 10:08:08", + "author_account_age_days": 599 }, "https://github.com/2kpr/ComfyUI-PMRF": { - "stars": 114, + "stars": 235, "last_update": "2024-10-11 00:11:40", - "author_account_age_days": 1089 + "author_account_age_days": 1528 }, "https://github.com/2kpr/ComfyUI-UltraPixel": { - "stars": 217, + "stars": 231, "last_update": "2024-07-27 14:52:10", - "author_account_age_days": 1089 + "author_account_age_days": 1528 }, "https://github.com/311-code/ComfyUI-MagicClip_Strength": { - "stars": 1, + "stars": 2, "last_update": "2024-09-22 12:07:40", - "author_account_age_days": 2942 + "author_account_age_days": 3381 }, - "https://github.com/42lux/ComfyUI-safety-checker": { - "stars": 28, - "last_update": "2024-05-22 22:11:59", - "author_account_age_days": 3868 + "https://github.com/31702160136/ComfyUI-GrsAI": { + "stars": 65, + "last_update": "2025-12-20 03:49:52", + "author_account_age_days": 2613 + }, + "https://github.com/3R3BOS/ComfyUI-3R3BOS-Pack": { + "stars": 3, + "last_update": "2026-02-08 01:47:24", + "author_account_age_days": 211 + }, + "https://github.com/3dgopnik/comfyui-arena-suite": { + "stars": 1, + "last_update": "2025-10-10 12:24:13", + "author_account_age_days": 2635 }, "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": { - "stars": 26, - "last_update": "2024-06-13 05:51:56", - "author_account_age_days": 584 + "stars": 27, + "last_update": "2025-04-06 02:06:59", + "author_account_age_days": 1023 }, "https://github.com/45uee/ComfyUI-Color_Transfer": { - "stars": 14, - "last_update": "2024-09-19 20:16:51", - "author_account_age_days": 2472 + "stars": 36, + "last_update": "2025-11-22 20:30:01", + "author_account_age_days": 2912 }, "https://github.com/54rt1n/ComfyUI-DareMerge": { - "stars": 77, - "last_update": "2024-08-01 15:28:19", - "author_account_age_days": 4220 + "stars": 95, + "last_update": "2025-03-27 14:57:35", + "author_account_age_days": 4660 }, - "https://github.com/5x00/ComfyUI-VLM_Captions": { - "stars": 3, - "last_update": "2024-12-02 06:22:46", - "author_account_age_days": 1141 + "https://github.com/552023587/comfyui_character_selector": { + "stars": 0, + "last_update": "2026-01-03 14:29:04", + "author_account_age_days": 3692 + }, + "https://github.com/5agado/ComfyUI-Sagado-Nodes": { + "stars": 0, + "last_update": "2026-02-19 14:22:40", + "author_account_age_days": 5078 + }, + "https://github.com/5x00/ComfyUI-PiAPI-Faceswap": { + "stars": 2, + "last_update": "2025-01-12 14:49:09", + "author_account_age_days": 1581 + }, + "https://github.com/5x00/ComfyUI-VLM-Captions": { + "stars": 7, + "last_update": "2025-01-04 21:27:47", + "author_account_age_days": 1581 }, "https://github.com/6174/comflowy-nodes": { - "stars": 11, + "stars": 17, "last_update": "2024-12-03 13:31:04", - "author_account_age_days": 4289 + "author_account_age_days": 4728 + }, + "https://github.com/7BEII/comfyui-PD_comfy-api-node": { + "stars": 0, + "last_update": "2026-01-26 14:28:07", + "author_account_age_days": 422 }, "https://github.com/807502278/ComfyUI-3D-MeshTool": { - "stars": 15, + "stars": 23, "last_update": "2024-10-18 09:59:54", - "author_account_age_days": 2183 + "author_account_age_days": 2622 }, "https://github.com/807502278/ComfyUI-WJNodes": { - "stars": 6, - "last_update": "2024-11-11 02:00:29", - "author_account_age_days": 2183 + "stars": 13, + "last_update": "2025-09-03 02:31:35", + "author_account_age_days": 2622 }, "https://github.com/807502278/ComfyUI_MaskGCT": { - "stars": 19, - "last_update": "2024-11-12 08:13:01", - "author_account_age_days": 2183 + "stars": 27, + "last_update": "2025-03-05 09:15:32", + "author_account_age_days": 2622 }, "https://github.com/80sVectorz/ComfyUI-Static-Primitives": { "stars": 11, - "last_update": "2024-08-07 11:21:06", - "author_account_age_days": 1641 + "last_update": "2025-03-14 11:42:07", + "author_account_age_days": 2080 + }, + "https://github.com/834t/ComfyUI_834t_scene_composer": { + "stars": 5, + "last_update": "2025-06-23 10:55:47", + "author_account_age_days": 807 + }, + "https://github.com/852wa/ComfyUI-AAP": { + "stars": 9, + "last_update": "2025-01-29 13:21:59", + "author_account_age_days": 972 + }, + "https://github.com/852wa/ComfyUI-ColorshiftColor": { + "stars": 52, + "last_update": "2025-02-01 12:17:38", + "author_account_age_days": 972 + }, + "https://github.com/9nate-drake/ComfyUI-MaskCenter": { + "stars": 6, + "last_update": "2025-10-02 01:35:08", + "author_account_age_days": 2259 + }, + "https://github.com/9nate-drake/ComfyUI-PanoTools": { + "stars": 0, + "last_update": "2025-12-22 01:36:29", + "author_account_age_days": 2259 + }, + "https://github.com/9nate-drake/Comfyui-SecNodes": { + "stars": 354, + "last_update": "2025-12-19 23:32:49", + "author_account_age_days": 2259 + }, + "https://github.com/A043-studios/ComfyUI-ASDF-Pixel-Sort-Nodes": { + "stars": 3, + "last_update": "2025-06-12 12:51:33", + "author_account_age_days": 1258 + }, + "https://github.com/A043-studios/ComfyUI-OmniSVG": { + "stars": 2, + "last_update": "2025-08-02 22:44:24", + "author_account_age_days": 1258 + }, + "https://github.com/A043-studios/ComfyUI_HunyuanWorldnode": { + "stars": 1, + "last_update": "2025-08-02 15:50:33", + "author_account_age_days": 1258 + }, + "https://github.com/A043-studios/Comfyui-ascii-generator": { + "stars": 0, + "last_update": "2025-06-25 14:55:32", + "author_account_age_days": 1258 + }, + "https://github.com/A043-studios/comfyui-pixel3dmm": { + "stars": 8, + "last_update": "2025-06-10 08:11:51", + "author_account_age_days": 1258 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": { "stars": 1, "last_update": "2024-05-23 00:26:10", - "author_account_age_days": 642 + "author_account_age_days": 1082 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE-Wrapper": { - "stars": 8, - "last_update": "2024-10-15 05:14:43", - "author_account_age_days": 642 + "stars": 12, + "last_update": "2025-01-21 22:26:11", + "author_account_age_days": 1082 }, "https://github.com/AARG-FAN/Image-Vector-for-ComfyUI": { - "stars": 111, + "stars": 149, "last_update": "2024-06-23 14:56:16", - "author_account_age_days": 669 + "author_account_age_days": 1108 }, - "https://github.com/AI2lab/comfyUI-DeepSeek-2lab": { - "stars": 6, - "last_update": "2024-10-02 07:21:00", - "author_account_age_days": 362 + "https://github.com/AEmotionStudio/ComfyUI-ChristmasTheme": { + "stars": 44, + "last_update": "2026-02-23 00:57:30", + "author_account_age_days": 711 }, - "https://github.com/AI2lab/comfyUI-kling-api-2lab": { - "stars": 7, - "last_update": "2024-10-09 14:14:31", - "author_account_age_days": 362 + "https://github.com/AEmotionStudio/ComfyUI-DiscordSend": { + "stars": 12, + "last_update": "2026-02-23 01:55:27", + "author_account_age_days": 711 + }, + "https://github.com/AEmotionStudio/ComfyUI-EnhancedLinksandNodes": { + "stars": 65, + "last_update": "2026-02-10 04:17:25", + "author_account_age_days": 711 + }, + "https://github.com/AEmotionStudio/ComfyUI-MagnifyGlass": { + "stars": 23, + "last_update": "2026-02-23 02:46:54", + "author_account_age_days": 711 + }, + "https://github.com/AEmotionStudio/ComfyUI-ShaderNoiseKSampler": { + "stars": 62, + "last_update": "2026-02-14 19:08:59", + "author_account_age_days": 711 + }, + "https://github.com/AHEKOT/ComfyUI_VNCCS": { + "stars": 775, + "last_update": "2026-02-11 19:28:00", + "author_account_age_days": 1185 + }, + "https://github.com/AI-TEC/ComfyUI-AITECCAFE-Toolkit": { + "stars": 0, + "last_update": "2026-01-12 13:56:14", + "author_account_age_days": 996 }, "https://github.com/AI2lab/comfyUI-siliconflow-api-2lab": { - "stars": 6, + "stars": 8, "last_update": "2024-08-01 15:13:33", - "author_account_age_days": 362 + "author_account_age_days": 801 }, - "https://github.com/AI2lab/comfyUI-tool-2lab": { - "stars": 23, - "last_update": "2024-11-15 16:42:51", - "author_account_age_days": 362 + "https://github.com/AIDC-AI/ComfyUI-Copilot": { + "stars": 4620, + "last_update": "2026-01-12 03:12:49", + "author_account_age_days": 620 + }, + "https://github.com/AIExplorer25/ComfyUI_AutoDownloadModels": { + "stars": 19, + "last_update": "2025-04-05 22:05:47", + "author_account_age_days": 4076 + }, + "https://github.com/AIExplorer25/ComfyUI_ChatGptHelper": { + "stars": 0, + "last_update": "2025-12-24 20:46:10", + "author_account_age_days": 4076 + }, + "https://github.com/AIExplorer25/ComfyUI_ImageCaptioner": { + "stars": 1, + "last_update": "2025-11-17 10:19:20", + "author_account_age_days": 4076 }, "https://github.com/AIFSH/AniTalker-ComfyUI": { - "stars": 6, + "stars": 5, "last_update": "2024-08-06 03:08:44", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-3d-photo-inpainting": { - "stars": 9, + "stars": 15, "last_update": "2024-06-19 13:59:49", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-AuraSR": { "stars": 22, "last_update": "2024-06-27 14:00:16", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-DiffSynth-Studio": { - "stars": 73, + "stars": 99, "last_update": "2024-08-05 08:48:03", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-FishSpeech": { - "stars": 23, + "stars": 44, "last_update": "2024-05-23 01:18:49", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-GPT_SoVITS": { - "stars": 200, + "stars": 249, "last_update": "2024-08-09 22:00:45", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-Hallo": { - "stars": 286, + "stars": 308, "last_update": "2024-06-24 06:43:23", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-I2V-Adapter": { - "stars": 20, + "stars": 21, "last_update": "2024-07-02 01:59:49", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-IP_LAP": { - "stars": 31, + "stars": 34, "last_update": "2024-06-14 07:05:39", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-Live2DViewer": { - "stars": 4, + "stars": 10, "last_update": "2024-06-14 07:04:49", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-MARS5-TTS": { - "stars": 27, + "stars": 28, "last_update": "2024-07-02 02:00:28", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-MimicBrush": { - "stars": 102, + "stars": 117, "last_update": "2024-06-17 22:26:53", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-MimicMotion": { - "stars": 348, + "stars": 387, "last_update": "2024-08-06 06:21:16", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-MuseTalk_FSH": { - "stars": 17, + "stars": 22, "last_update": "2024-06-14 07:05:19", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-RVC": { - "stars": 15, + "stars": 28, "last_update": "2024-06-14 07:05:25", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-UVR5": { - "stars": 83, + "stars": 110, "last_update": "2024-06-20 07:31:20", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-UniAnimate": { - "stars": 36, + "stars": 40, "last_update": "2024-06-30 09:20:25", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-WhisperX": { - "stars": 33, - "last_update": "2024-10-23 22:19:56", - "author_account_age_days": 401 + "stars": 59, + "last_update": "2025-04-01 00:14:44", + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI-XTTS": { - "stars": 46, + "stars": 66, "last_update": "2024-06-24 09:45:59", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ComfyUI_V-Express": { "stars": 86, "last_update": "2024-06-23 09:54:57", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/CosyVoice-ComfyUI": { - "stars": 184, + "stars": 288, "last_update": "2024-09-10 22:21:37", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/DHLive-ComfyUI": { - "stars": 18, + "stars": 24, "last_update": "2024-11-14 01:45:45", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/DiffMorpher-ComfyUI": { - "stars": 14, + "stars": 17, "last_update": "2024-07-17 01:24:59", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/DiffSynth-ComfyUI": { - "stars": 1, + "stars": 0, "last_update": "2024-09-07 12:23:07", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/EchoMimicV2-ComfyUI": { - "stars": 7, + "stars": 58, "last_update": "2024-12-08 08:53:21", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/EzAudio-ComfyUI": { - "stars": 7, + "stars": 9, "last_update": "2024-10-08 05:22:46", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/F5-TTS-ComfyUI": { - "stars": 21, + "stars": 35, "last_update": "2024-11-14 01:43:03", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/FancyVideo-ComfyUI": { "stars": 36, "last_update": "2024-10-12 07:21:51", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/FireRedTTS-ComfyUI": { - "stars": 9, + "stars": 13, "last_update": "2024-10-24 01:18:51", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/GSTTS-ComfyUI": { - "stars": 28, + "stars": 44, "last_update": "2024-08-25 03:23:24", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/HivisionIDPhotos-ComfyUI": { - "stars": 96, + "stars": 180, "last_update": "2024-09-16 14:16:06", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/IMAGDressing-ComfyUI": { - "stars": 58, + "stars": 62, "last_update": "2024-11-14 01:44:02", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/JoyHallo-ComfyUI": { - "stars": 7, + "stars": 8, "last_update": "2024-11-14 01:44:39", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/MaskGCT-ComfyUI": { - "stars": 29, + "stars": 63, "last_update": "2024-11-14 01:40:15", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/MiniMates-ComfyUI": { - "stars": 22, + "stars": 29, "last_update": "2024-11-14 01:36:30", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/OmniGen-ComfyUI": { - "stars": 173, + "stars": 209, "last_update": "2024-11-14 01:37:33", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/PyramidFlow-ComfyUI": { "stars": 15, "last_update": "2024-10-10 13:59:16", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/RealisDance-ComfyUI": { - "stars": 36, + "stars": 52, "last_update": "2024-09-13 14:38:59", - "author_account_age_days": 401 + "author_account_age_days": 840 + }, + "https://github.com/AIFSH/SemiChat-ComfyUI": { + "stars": 12, + "last_update": "2025-02-19 23:21:48", + "author_account_age_days": 840 }, "https://github.com/AIFSH/SenseVoice-ComfyUI": { - "stars": 12, + "stars": 15, "last_update": "2024-07-16 06:41:25", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/StyleShot-ComfyUI": { "stars": 4, "last_update": "2024-08-17 00:25:29", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/VideoSys-ComfyUI": { "stars": 6, "last_update": "2024-09-01 09:11:57", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/ViewCrafter-ComfyUI": { - "stars": 9, + "stars": 8, "last_update": "2024-09-19 11:11:25", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIFSH/VocalSeparation-ComfyUI": { - "stars": 11, + "stars": 25, "last_update": "2024-10-24 07:16:37", - "author_account_age_days": 401 + "author_account_age_days": 840 }, "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes": { - "stars": 6, + "stars": 7, "last_update": "2024-09-13 07:34:18", - "author_account_age_days": 380 + "author_account_age_days": 819 }, "https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION": { - "stars": 1856, - "last_update": "2024-12-10 03:54:52", - "author_account_age_days": 671 + "stars": 2426, + "last_update": "2025-03-24 00:01:12", + "author_account_age_days": 1110 }, "https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Studio": { - "stars": 282, - "last_update": "2024-09-11 16:11:51", - "author_account_age_days": 671 + "stars": 392, + "last_update": "2025-10-27 09:36:36", + "author_account_age_days": 1110 + }, + "https://github.com/AIGODLIKE/Blender-IO": { + "stars": 2, + "last_update": "2025-10-15 08:52:06", + "author_account_age_days": 1110 }, "https://github.com/AIGODLIKE/ComfyUI-CUP": { - "stars": 23, - "last_update": "2024-06-21 03:43:20", - "author_account_age_days": 671 + "stars": 55, + "last_update": "2025-10-15 09:39:30", + "author_account_age_days": 1110 }, "https://github.com/AIGODLIKE/ComfyUI-ToonCrafter": { - "stars": 335, + "stars": 374, "last_update": "2024-07-17 02:28:49", - "author_account_age_days": 671 + "author_account_age_days": 1110 }, "https://github.com/AIPOQUE/ComfyUI-APQNodes": { - "stars": 36, + "stars": 111, "last_update": "2024-11-21 08:56:49", - "author_account_age_days": 52 + "author_account_age_days": 492 + }, + "https://github.com/AIToldMeTo/comfyui-cache-cleaner": { + "stars": 15, + "last_update": "2025-09-10 11:03:49", + "author_account_age_days": 439 + }, + "https://github.com/AIWarper/ComfyUI-DAViD": { + "stars": 6, + "last_update": "2025-07-25 17:07:43", + "author_account_age_days": 487 + }, + "https://github.com/AIWarper/ComfyUI-NormalCrafterWrapper": { + "stars": 79, + "last_update": "2025-11-05 16:18:45", + "author_account_age_days": 487 + }, + "https://github.com/AIWarper/ComfyUI-WarperNodes": { + "stars": 13, + "last_update": "2026-01-15 23:46:15", + "author_account_age_days": 487 }, "https://github.com/AInseven/ComfyUI-fastblend": { - "stars": 190, + "stars": 229, "last_update": "2024-11-22 03:32:25", - "author_account_age_days": 1853 + "author_account_age_days": 2292 }, "https://github.com/AIrjen/OneButtonPrompt": { - "stars": 885, - "last_update": "2024-10-26 13:22:39", - "author_account_age_days": 612 + "stars": 1053, + "last_update": "2025-07-20 12:15:47", + "author_account_age_days": 1052 + }, + "https://github.com/AJO-reading/ComfyUI-AjoNodes": { + "stars": 11, + "last_update": "2025-06-16 08:10:10", + "author_account_age_days": 459 + }, + "https://github.com/AJbeckliy/SynVow-Comfyui-Nanoapi": { + "stars": 15, + "last_update": "2025-11-27 03:21:30", + "author_account_age_days": 680 + }, + "https://github.com/AKharytonchyk/ComfyUI-telegram-bot-node": { + "stars": 1, + "last_update": "2025-06-23 22:03:39", + "author_account_age_days": 3492 }, "https://github.com/ALatentPlace/ComfyUI_yanc": { - "stars": 49, - "last_update": "2024-09-19 05:24:38", - "author_account_age_days": 1629 + "stars": 78, + "last_update": "2025-01-22 14:44:17", + "author_account_age_days": 2069 + }, + "https://github.com/ALatentPlace/YANC_LMStudio": { + "stars": 22, + "last_update": "2025-04-30 14:57:13", + "author_account_age_days": 2069 + }, + "https://github.com/APZmedia/APZmedia-comfy-together-lora": { + "stars": 0, + "last_update": "2025-02-15 13:14:17", + "author_account_age_days": 3086 }, "https://github.com/APZmedia/APZmedia-comfyui-fast-image-save": { - "stars": 2, - "last_update": "2024-11-08 07:17:20", - "author_account_age_days": 2647 + "stars": 5, + "last_update": "2025-04-21 19:22:43", + "author_account_age_days": 3086 }, "https://github.com/APZmedia/ComfyUI-APZmedia-cleanName-from-string": { - "stars": 5, - "last_update": "2024-09-06 09:44:42", - "author_account_age_days": 2647 + "stars": 7, + "last_update": "2025-08-11 13:55:09", + "author_account_age_days": 3086 + }, + "https://github.com/APZmedia/ComfyUI-Dreamlight": { + "stars": 0, + "last_update": "2025-11-04 16:52:57", + "author_account_age_days": 3086 + }, + "https://github.com/APZmedia/ComfyUI-color-tools": { + "stars": 2, + "last_update": "2025-09-24 12:52:50", + "author_account_age_days": 3086 + }, + "https://github.com/APZmedia/Comfyui-LightDirection-estimation": { + "stars": 0, + "last_update": "2025-10-20 12:32:41", + "author_account_age_days": 3086 + }, + "https://github.com/ARM64-EC/ComfyUI-LongCatPlugin": { + "stars": 0, + "last_update": "2025-12-09 22:27:11", + "author_account_age_days": 700 }, "https://github.com/ARZUMATA/ComfyUI-ARZUMATA": { - "stars": 5, - "last_update": "2024-11-01 00:10:58", - "author_account_age_days": 1936 + "stars": 4, + "last_update": "2025-10-02 04:10:23", + "author_account_age_days": 2375 + }, + "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-PixelIt": { + "stars": 1, + "last_update": "2025-10-19 10:10:12", + "author_account_age_days": 2375 }, "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-Qwen2": { "stars": 1, - "last_update": "2024-11-08 17:29:32", - "author_account_age_days": 1936 + "last_update": "2025-06-04 13:10:22", + "author_account_age_days": 2375 + }, + "https://github.com/Aaalice233/ComfyUI-Danbooru-Gallery": { + "stars": 134, + "last_update": "2026-01-05 11:38:01", + "author_account_age_days": 2103 }, "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": 1696 + "author_account_age_days": 2135 }, "https://github.com/AbdullahAlfaraj/Comfy-Photoshop-SD": { - "stars": 241, + "stars": 309, "last_update": "2024-06-14 07:04:37", - "author_account_age_days": 3837 + "author_account_age_days": 4276 + }, + "https://github.com/AbstractEyes/comfyui-lycoris": { + "stars": 11, + "last_update": "2025-07-26 16:43:05", + "author_account_age_days": 1988 }, "https://github.com/AbyssBadger0/ComfyUI_BadgerTools": { - "stars": 8, + "stars": 7, "last_update": "2024-11-12 11:10:16", - "author_account_age_days": 659 + "author_account_age_days": 1098 }, "https://github.com/AbyssBadger0/ComfyUI_Kolors_awesome_prompts": { - "stars": 4, + "stars": 5, "last_update": "2024-08-29 15:19:06", - "author_account_age_days": 659 + "author_account_age_days": 1098 + }, + "https://github.com/AcademiaSD/comfyui_AcademiaSD": { + "stars": 31, + "last_update": "2026-02-06 10:40:11", + "author_account_age_days": 642 }, "https://github.com/Acly/comfyui-inpaint-nodes": { - "stars": 716, - "last_update": "2024-11-20 08:54:22", - "author_account_age_days": 3974 + "stars": 1139, + "last_update": "2026-02-21 19:32:51", + "author_account_age_days": 4413 }, "https://github.com/Acly/comfyui-tooling-nodes": { - "stars": 341, - "last_update": "2024-12-09 18:53:55", - "author_account_age_days": 3974 + "stars": 631, + "last_update": "2026-02-21 19:33:34", + "author_account_age_days": 4413 + }, + "https://github.com/AconexOfficial/ComfyUI_GOAT_Nodes": { + "stars": 10, + "last_update": "2025-08-19 18:40:24", + "author_account_age_days": 2090 + }, + "https://github.com/Ada123-a/ComfyUI-Kandinsky": { + "stars": 6, + "last_update": "2025-11-22 19:28:30", + "author_account_age_days": 1057 + }, + "https://github.com/AdamShuo/ComfyUI_Switch": { + "stars": 5, + "last_update": "2025-09-23 16:59:46", + "author_account_age_days": 891 + }, + "https://github.com/Aero-Ex/ComfyUI-Vision-LLM-Analyzer": { + "stars": 0, + "last_update": "2025-07-17 07:03:51", + "author_account_age_days": 1360 }, "https://github.com/Aerse/ComfyUI-Seed-Nodes": { - "stars": 3, - "last_update": "2024-12-05 08:37:22", - "author_account_age_days": 3548 + "stars": 5, + "last_update": "2025-06-10 08:19:10", + "author_account_age_days": 3987 }, - "https://github.com/AhBumm/ComfyUI_BillBum_Nodes": { - "stars": 4, - "last_update": "2024-11-05 05:31:50", - "author_account_age_days": 979 + "https://github.com/AgencyMind/ComfyUI-GPU-Preprocessor-Wrapper": { + "stars": 3, + "last_update": "2025-06-13 08:15:25", + "author_account_age_days": 469 + }, + "https://github.com/AgencyMind/ComfyUI-Satori": { + "stars": 1, + "last_update": "2025-06-27 01:29:00", + "author_account_age_days": 469 + }, + "https://github.com/AhBumm/ComfyUI_BillBum_APIset_Nodes": { + "stars": 10, + "last_update": "2026-02-04 03:13:27", + "author_account_age_days": 1418 + }, + "https://github.com/AhBumm/ComfyUI_UnfakePy_Warpper": { + "stars": 0, + "last_update": "2025-12-16 08:05:11", + "author_account_age_days": 1418 }, "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes": { "stars": 0, "last_update": "2024-06-20 17:26:02", - "author_account_age_days": 1445 + "author_account_age_days": 1885 + }, + "https://github.com/Aishor/comfyui-meta-sampler-guiado": { + "stars": 0, + "last_update": "2025-10-28 14:04:44", + "author_account_age_days": 5926 }, "https://github.com/AkashKarnatak/ComfyUI_faishme": { - "stars": 1, - "last_update": "2024-12-09 16:08:07", - "author_account_age_days": 1923 + "stars": 0, + "last_update": "2025-08-24 07:19:00", + "author_account_age_days": 2362 + }, + "https://github.com/Akkisdiary/ComfyUI-AnyLLM": { + "stars": 0, + "last_update": "2025-12-27 11:32:05", + "author_account_age_days": 2077 + }, + "https://github.com/Aksaz/comfyui-seamless-clone": { + "stars": 19, + "last_update": "2025-09-23 13:10:16", + "author_account_age_days": 492 + }, + "https://github.com/AlbertJBurton/comfyui-jbnodes": { + "stars": 0, + "last_update": "2026-02-20 20:51:49", + "author_account_age_days": 3615 + }, + "https://github.com/AlcAI-AnimeHaven/AlcAI-nodes": { + "stars": 0, + "last_update": "2025-10-19 20:26:42", + "author_account_age_days": 127 + }, + "https://github.com/Alectriciti/comfyui-adaptiveprompts": { + "stars": 55, + "last_update": "2026-01-31 18:16:02", + "author_account_age_days": 5075 }, "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": { - "stars": 926, - "last_update": "2024-12-08 08:57:13", - "author_account_age_days": 2869 + "stars": 1459, + "last_update": "2026-01-15 19:46:59", + "author_account_age_days": 3308 + }, + "https://github.com/AlexXia007/AIYang_TripleAPI": { + "stars": 1, + "last_update": "2025-11-10 17:53:55", + "author_account_age_days": 634 + }, + "https://github.com/Alexankharin/camera-comfyUI": { + "stars": 24, + "last_update": "2025-12-26 16:27:12", + "author_account_age_days": 2730 + }, + "https://github.com/Aljnk/ComfyUI-JNK-Tiny-Nodes": { + "stars": 3, + "last_update": "2025-09-10 11:31:33", + "author_account_age_days": 4012 + }, + "https://github.com/Aloukik21/ComfyUI-NovaNoiser": { + "stars": 1, + "last_update": "2026-01-17 15:59:53", + "author_account_age_days": 3134 + }, + "https://github.com/Altair200333/ComfyUI_Flux_1.1_PRO": { + "stars": 0, + "last_update": "2025-03-23 19:29:25", + "author_account_age_days": 3319 }, "https://github.com/Alvaroeai/ComfyUI-Text2Json": { "stars": 1, "last_update": "2024-11-26 16:40:31", - "author_account_age_days": 3871 + "author_account_age_days": 4310 + }, + "https://github.com/Amorano/Jovi_Capture": { + "stars": 10, + "last_update": "2025-05-31 18:38:22", + "author_account_age_days": 5821 + }, + "https://github.com/Amorano/Jovi_Colorizer": { + "stars": 12, + "last_update": "2025-05-22 20:00:19", + "author_account_age_days": 5821 + }, + "https://github.com/Amorano/Jovi_GLSL": { + "stars": 19, + "last_update": "2025-08-25 04:34:38", + "author_account_age_days": 5821 + }, + "https://github.com/Amorano/Jovi_MIDI": { + "stars": 5, + "last_update": "2025-05-05 04:11:06", + "author_account_age_days": 5821 + }, + "https://github.com/Amorano/Jovi_Measure": { + "stars": 2, + "last_update": "2025-08-29 02:31:26", + "author_account_age_days": 5821 + }, + "https://github.com/Amorano/Jovi_Spout": { + "stars": 9, + "last_update": "2025-08-29 02:29:14", + "author_account_age_days": 5821 }, "https://github.com/Amorano/Jovimetrix": { - "stars": 281, - "last_update": "2024-12-05 06:30:04", - "author_account_age_days": 5382 + "stars": 388, + "last_update": "2025-09-05 03:15:03", + "author_account_age_days": 5821 + }, + "https://github.com/Analaser/ComfyUI-RandomTagWeights": { + "stars": 1, + "last_update": "2025-12-23 01:58:09", + "author_account_age_days": 3002 + }, + "https://github.com/AnastasiyaW/ComfyUI-SmartScreenshotCleaner": { + "stars": 0, + "last_update": "2026-02-04 19:30:09", + "author_account_age_days": 1589 + }, + "https://github.com/Andro-Meta/ComfyUI-Ovis2": { + "stars": 4, + "last_update": "2025-03-24 04:27:56", + "author_account_age_days": 881 }, "https://github.com/Anibaaal/ComfyUI-UX-Nodes": { "stars": 2, - "last_update": "2024-12-10 19:50:47", - "author_account_age_days": 3546 + "last_update": "2025-01-23 13:35:49", + "author_account_age_days": 3985 + }, + "https://github.com/AnonBOTpl/ComfyUI-Qwen-Prompt-Expander": { + "stars": 0, + "last_update": "2026-02-23 15:37:41", + "author_account_age_days": 376 + }, + "https://github.com/Antique3e/ComfyUI-ModalCredits": { + "stars": 0, + "last_update": "2025-12-05 16:07:04", + "author_account_age_days": 132 + }, + "https://github.com/Anzhc/SDXL-Flux2VAE-ComfyUI-Node": { + "stars": 6, + "last_update": "2026-01-23 21:58:02", + "author_account_age_days": 1014 }, "https://github.com/AonekoSS/ComfyUI-LoRA-Tuner": { - "stars": 7, - "last_update": "2024-08-12 11:45:52", - "author_account_age_days": 4261 + "stars": 11, + "last_update": "2025-03-27 17:07:38", + "author_account_age_days": 4701 }, "https://github.com/AonekoSS/ComfyUI-SimpleCounter": { - "stars": 2, - "last_update": "2024-08-01 15:13:56", - "author_account_age_days": 4261 + "stars": 1, + "last_update": "2025-03-27 17:08:39", + "author_account_age_days": 4701 }, - "https://github.com/Apache0ne/ComfyUI-EasyUrlLoader": { - "stars": 2, - "last_update": "2024-10-31 10:55:57", - "author_account_age_days": 48 + "https://github.com/Apache0ne/ComfyUI_efficient_sam_node": { + "stars": 0, + "last_update": "2025-09-12 02:37:33", + "author_account_age_days": 487 }, - "https://github.com/Apache0ne/SambaNova": { + "https://github.com/ApexArtist/comfyui-apex-artist": { "stars": 3, - "last_update": "2024-11-02 07:41:35", - "author_account_age_days": 48 + "last_update": "2025-10-23 16:54:57", + "author_account_age_days": 2939 }, "https://github.com/ArcherFMY/Diffusion360_ComfyUI": { - "stars": 31, - "last_update": "2024-05-28 03:14:17", - "author_account_age_days": 3559 + "stars": 45, + "last_update": "2025-03-17 06:08:17", + "author_account_age_days": 3998 + }, + "https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI": { + "stars": 1, + "last_update": "2026-02-18 21:24:24", + "author_account_age_days": 2023 }, "https://github.com/ArdeniusAI/ComfyUI-Ardenius": { - "stars": 4, + "stars": 5, "last_update": "2024-11-24 09:57:46", - "author_account_age_days": 296 + "author_account_age_days": 736 + }, + "https://github.com/Arkanun/ReadCSV_ComfyUI": { + "stars": 0, + "last_update": "2025-02-05 23:06:48", + "author_account_age_days": 3558 + }, + "https://github.com/Arroz-11/ComfyUI-Just-Nodes": { + "stars": 0, + "last_update": "2026-02-22 22:36:50", + "author_account_age_days": 1466 + }, + "https://github.com/Arroz-11/ComfyUI-Linear-Theme": { + "stars": 0, + "last_update": "2026-02-14 09:36:20", + "author_account_age_days": 1466 + }, + "https://github.com/Art-xmaster/comfyui-AGSoft": { + "stars": 8, + "last_update": "2026-02-09 03:44:44", + "author_account_age_days": 544 }, "https://github.com/ArtBot2023/CharacterFaceSwap": { - "stars": 70, + "stars": 97, "last_update": "2024-05-22 20:53:09", - "author_account_age_days": 463 + "author_account_age_days": 902 }, - "https://github.com/ArtVentureX/comfyui-animatediff": { - "stars": 707, - "last_update": "2024-05-22 18:16:43", - "author_account_age_days": 575 + "https://github.com/ArtHommage/HommageTools": { + "stars": 4, + "last_update": "2025-05-20 20:40:25", + "author_account_age_days": 1142 + }, + "https://github.com/Artificial-Sweetener/comfyui-WhiteRabbit": { + "stars": 54, + "last_update": "2025-11-17 01:55:11", + "author_account_age_days": 437 + }, + "https://github.com/ArtifyGames/comfyui-artify": { + "stars": 0, + "last_update": "2026-02-19 19:02:47", + "author_account_age_days": 2582 + }, + "https://github.com/ArtsticH/ComfyUI_EasyKitHT_NodeAlignPro": { + "stars": 44, + "last_update": "2026-02-08 19:24:31", + "author_account_age_days": 698 + }, + "https://github.com/Aryan185/ComfyUI-ExternalAPI-Helpers": { + "stars": 8, + "last_update": "2026-02-06 14:25:09", + "author_account_age_days": 1781 + }, + "https://github.com/Aryan185/ComfyUI-VertexAPI": { + "stars": 2, + "last_update": "2026-01-22 13:09:51", + "author_account_age_days": 1781 }, "https://github.com/AshMartian/ComfyUI-DirGir": { - "stars": 16, - "last_update": "2024-05-29 22:28:55", - "author_account_age_days": 4756 + "stars": 29, + "last_update": "2025-05-04 03:34:19", + "author_account_age_days": 5195 + }, + "https://github.com/Asidert/ComfyUI_Base64Images": { + "stars": 0, + "last_update": "2025-12-22 12:27:20", + "author_account_age_days": 3981 + }, + "https://github.com/AstrionX/ComfyUI-Tensor-Prism-Node-Pack": { + "stars": 2, + "last_update": "2026-02-17 19:56:24", + "author_account_age_days": 2023 + }, + "https://github.com/AstroCorp/ComfyUI-AstroCorp-Nodes": { + "stars": 0, + "last_update": "2025-12-26 15:29:04", + "author_account_age_days": 3450 + }, + "https://github.com/Atsushi888/easy_prompt_selector_for_comfyui": { + "stars": 0, + "last_update": "2026-01-06 22:36:31", + "author_account_age_days": 1601 + }, + "https://github.com/AugustusLXIII/ComfyUI_CustomResolution_I2V": { + "stars": 0, + "last_update": "2025-12-25 18:30:31", + "author_account_age_days": 64 }, "https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction": { "stars": 37, "last_update": "2024-06-14 09:03:24", - "author_account_age_days": 560 + "author_account_age_days": 999 }, "https://github.com/AuroBit/ComfyUI-OOTDiffusion": { - "stars": 421, + "stars": 472, "last_update": "2024-07-12 03:49:27", - "author_account_age_days": 560 + "author_account_age_days": 999 + }, + "https://github.com/Austat/ComfyUI-DownsampleFPS": { + "stars": 0, + "last_update": "2025-12-29 17:34:38", + "author_account_age_days": 67 + }, + "https://github.com/Austat/ComfyUI-RemacriScale": { + "stars": 0, + "last_update": "2026-01-13 17:02:28", + "author_account_age_days": 67 }, "https://github.com/AustinMroz/ComfyUI-DynamicOversampling": { "stars": 0, "last_update": "2024-06-14 07:06:51", - "author_account_age_days": 4244 + "author_account_age_days": 4683 + }, + "https://github.com/AustinMroz/ComfyUI-MinCache": { + "stars": 3, + "last_update": "2024-12-25 18:52:07", + "author_account_age_days": 4683 }, "https://github.com/AustinMroz/ComfyUI-SpliceTools": { - "stars": 7, + "stars": 6, "last_update": "2024-06-14 07:07:21", - "author_account_age_days": 4244 + "author_account_age_days": 4683 }, "https://github.com/AustinMroz/ComfyUI-WorkflowCheckpointing": { - "stars": 10, + "stars": 11, "last_update": "2024-10-17 19:59:40", - "author_account_age_days": 4244 + "author_account_age_days": 4683 }, "https://github.com/Auttasak-L/ComfyUI-ImageCropper": { "stars": 1, "last_update": "2024-05-23 05:04:53", - "author_account_age_days": 2819 + "author_account_age_days": 3258 + }, + "https://github.com/AzelusLightvale/ComfyUI-ARG-Toolkit": { + "stars": 0, + "last_update": "2026-01-22 17:18:40", + "author_account_age_days": 1981 + }, + "https://github.com/Azornes/Comfyui-LayerForge": { + "stars": 289, + "last_update": "2026-02-20 15:28:05", + "author_account_age_days": 3500 + }, + "https://github.com/Azornes/Comfyui-Resolution-Master": { + "stars": 242, + "last_update": "2026-02-08 15:52:19", + "author_account_age_days": 3500 + }, + "https://github.com/BAIKEMARK/ComfyUI-Civitai-Recipe": { + "stars": 115, + "last_update": "2026-02-19 11:43:48", + "author_account_age_days": 914 + }, + "https://github.com/BAIKEMARK/ComfyUI-Civitai-Toolkit": { + "stars": 115, + "last_update": "2026-02-19 11:43:48", + "author_account_age_days": 914 + }, + "https://github.com/BAIKEMARK/ComfyUI_Civitai_Prompt_Stats": { + "stars": 5, + "last_update": "2025-08-29 11:15:29", + "author_account_age_days": 914 }, "https://github.com/BAIS1C/ComfyUI_RSS_Feed_Reader": { - "stars": 5, - "last_update": "2024-09-13 22:09:17", - "author_account_age_days": 659 + "stars": 4, + "last_update": "2025-04-24 14:09:18", + "author_account_age_days": 1098 + }, + "https://github.com/BEIBEI-star661/SJ_sweepEffect_Comfyui": { + "stars": 0, + "last_update": "2025-08-22 06:10:44", + "author_account_age_days": 185 + }, + "https://github.com/BIMer-99/ComfyUI_FishSpeech_EX": { + "stars": 8, + "last_update": "2024-12-21 11:35:08", + "author_account_age_days": 1841 }, "https://github.com/BIMer-99/Comfyui_Hunyuan3D_EX": { - "stars": 3, + "stars": 7, "last_update": "2024-12-09 17:50:23", - "author_account_age_days": 1402 + "author_account_age_days": 1841 + }, + "https://github.com/BNP1111/comfyui_flux_corrector": { + "stars": 4, + "last_update": "2025-04-25 16:47:45", + "author_account_age_days": 1105 + }, + "https://github.com/BWDrum/ComfyUI-RandomWildcardLoader": { + "stars": 1, + "last_update": "2026-01-08 01:05:44", + "author_account_age_days": 1070 }, "https://github.com/BXYMartin/ComfyUI-InstantIDUtils": { "stars": 3, "last_update": "2024-05-23 00:08:50", - "author_account_age_days": 2613 + "author_account_age_days": 3052 }, "https://github.com/BZcreativ/ComfyUI-FLUX-TOGETHER-API": { - "stars": 2, + "stars": 4, "last_update": "2024-11-02 14:45:28", - "author_account_age_days": 3406 + "author_account_age_days": 3846 }, "https://github.com/BadCafeCode/masquerade-nodes-comfyui": { - "stars": 369, + "stars": 466, "last_update": "2024-06-19 04:16:54", - "author_account_age_days": 600 + "author_account_age_days": 1039 + }, + "https://github.com/BahaC/ComfyUI-ZonosTTS": { + "stars": 23, + "last_update": "2025-02-19 06:28:38", + "author_account_age_days": 1915 + }, + "https://github.com/Baldwinzc/ComfyUI-ProductPromptGenerator": { + "stars": 1, + "last_update": "2026-01-03 16:41:04", + "author_account_age_days": 2325 + }, + "https://github.com/Baverne/comfyUI-TiledWan": { + "stars": 5, + "last_update": "2026-02-17 20:01:49", + "author_account_age_days": 1080 }, "https://github.com/Beinsezii/bsz-cui-extras": { - "stars": 22, + "stars": 25, "last_update": "2024-05-22 20:46:45", - "author_account_age_days": 2396 + "author_account_age_days": 2835 + }, + "https://github.com/Bellzs/ComfyUI-LoRA-Assistant": { + "stars": 17, + "last_update": "2025-01-27 09:47:46", + "author_account_age_days": 3616 }, "https://github.com/BenNarum/ComfyUI_CAS": { - "stars": 2, + "stars": 3, "last_update": "2024-07-13 12:00:40", - "author_account_age_days": 3242 + "author_account_age_days": 3681 }, "https://github.com/BenNarum/SigmaWaveFormNode": { "stars": 5, "last_update": "2024-06-20 15:20:35", - "author_account_age_days": 3242 + "author_account_age_days": 3681 + }, + "https://github.com/BennyDaBall930/ComfyUI-Z-Engineer": { + "stars": 30, + "last_update": "2026-01-26 22:41:49", + "author_account_age_days": 358 }, "https://github.com/BennyKok/comfyui-deploy": { - "stars": 1062, - "last_update": "2024-12-09 10:42:19", - "author_account_age_days": 3166 + "stars": 1495, + "last_update": "2025-11-13 10:40:04", + "author_account_age_days": 3605 + }, + "https://github.com/BetaDoggo/ComfyUI-Cloud-APIs": { + "stars": 39, + "last_update": "2025-05-01 06:24:47", + "author_account_age_days": 1407 }, "https://github.com/BetaDoggo/ComfyUI-FastSDCPU": { - "stars": 7, + "stars": 11, "last_update": "2024-09-16 05:34:01", - "author_account_age_days": 967 + "author_account_age_days": 1407 }, "https://github.com/BetaDoggo/ComfyUI-Gatcha-Embedding": { "stars": 1, "last_update": "2024-08-28 00:24:01", - "author_account_age_days": 967 + "author_account_age_days": 1407 }, "https://github.com/BetaDoggo/ComfyUI-VideoPlayer": { - "stars": 16, + "stars": 17, "last_update": "2024-08-05 04:45:12", - "author_account_age_days": 967 + "author_account_age_days": 1407 }, "https://github.com/BetaDoggo/ComfyUI-WDV-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-01 07:59:10", - "author_account_age_days": 967 + "author_account_age_days": 1407 }, "https://github.com/BetaDoggo/ComfyUI-YetAnotherSafetyChecker": { - "stars": 4, + "stars": 6, "last_update": "2024-07-19 18:11:11", - "author_account_age_days": 967 + "author_account_age_days": 1407 }, "https://github.com/Big-Idea-Technology/ComfyUI-Book-Tools": { - "stars": 22, - "last_update": "2024-11-29 21:43:03", - "author_account_age_days": 1041 + "stars": 35, + "last_update": "2026-01-14 10:59:14", + "author_account_age_days": 1481 }, "https://github.com/Big-Idea-Technology/ComfyUI_LLM_Node": { - "stars": 61, - "last_update": "2024-08-01 08:01:48", - "author_account_age_days": 1041 + "stars": 66, + "last_update": "2025-04-19 11:58:55", + "author_account_age_days": 1481 + }, + "https://github.com/BigStationW/ComfyUi-ConditioningNoiseInjection": { + "stars": 87, + "last_update": "2026-01-23 13:28:10", + "author_account_age_days": 295 + }, + "https://github.com/BigStationW/ComfyUi-ConditioningTimestepSwitch": { + "stars": 1, + "last_update": "2026-01-03 23:39:20", + "author_account_age_days": 295 + }, + "https://github.com/BigStationW/ComfyUi-DisplayAllSteps": { + "stars": 2, + "last_update": "2026-01-04 22:44:21", + "author_account_age_days": 295 + }, + "https://github.com/BigStationW/ComfyUi-Load-Image-And-Display-Prompt-Metadata": { + "stars": 23, + "last_update": "2026-01-01 07:04:16", + "author_account_age_days": 295 + }, + "https://github.com/BigStationW/ComfyUi-RescaleCFGAdvanced": { + "stars": 34, + "last_update": "2025-05-07 18:10:18", + "author_account_age_days": 295 + }, + "https://github.com/BigStationW/ComfyUi-Scale-Image-to-Total-Pixels-Advanced": { + "stars": 31, + "last_update": "2026-02-12 21:59:56", + "author_account_age_days": 295 + }, + "https://github.com/BigStationW/ComfyUi-TextEncodeQwenImageEditAdvanced": { + "stars": 45, + "last_update": "2026-01-28 10:32:30", + "author_account_age_days": 295 + }, + "https://github.com/BigStationW/Comfyui-AD-Image-Concatenation-Advanced": { + "stars": 2, + "last_update": "2026-01-18 08:22:50", + "author_account_age_days": 295 + }, + "https://github.com/BigWhiteFly/ComfyUI-ImageConcat": { + "stars": 1, + "last_update": "2025-05-21 01:16:27", + "author_account_age_days": 2949 }, "https://github.com/Billius-AI/ComfyUI-Path-Helper": { - "stars": 17, + "stars": 21, "last_update": "2024-05-22 23:25:08", - "author_account_age_days": 304 + "author_account_age_days": 744 }, "https://github.com/Bin-sam/DynamicPose-ComfyUI": { - "stars": 4, + "stars": 5, "last_update": "2024-09-11 12:09:11", - "author_account_age_days": 104 + "author_account_age_days": 543 + }, + "https://github.com/Bio2hazard/ComfyUI-Prompt-Snippets": { + "stars": 11, + "last_update": "2025-11-08 08:42:06", + "author_account_age_days": 4893 + }, + "https://github.com/BizaNator/ComfyUI_PromptIterator": { + "stars": 3, + "last_update": "2025-09-24 16:47:04", + "author_account_age_days": 3666 }, "https://github.com/Black-Lioness/ComfyUI-PromptUtils": { - "stars": 3, - "last_update": "2024-11-22 03:05:11", - "author_account_age_days": 1025 + "stars": 2, + "last_update": "2025-12-08 13:44:46", + "author_account_age_days": 1464 }, - "https://github.com/BlackVortexAI/ComfyUI-BVortexNodes": { + "https://github.com/BlackSnowSkill/wd14_batch_tagger": { "stars": 3, - "last_update": "2024-10-23 09:19:54", - "author_account_age_days": 125 + "last_update": "2026-02-10 21:23:49", + "author_account_age_days": 517 + }, + "https://github.com/BlackVortexAI/bv_nodepack": { + "stars": 4, + "last_update": "2026-01-29 06:12:28", + "author_account_age_days": 565 }, "https://github.com/BlakeOne/ComfyUI-CustomScheduler": { - "stars": 14, + "stars": 17, "last_update": "2024-05-23 00:23:56", - "author_account_age_days": 2702 + "author_account_age_days": 3141 }, "https://github.com/BlakeOne/ComfyUI-NodePresets": { - "stars": 11, + "stars": 14, "last_update": "2024-05-23 00:24:07", - "author_account_age_days": 2702 + "author_account_age_days": 3141 }, "https://github.com/BlakeOne/ComfyUI-NodeReset": { - "stars": 2, + "stars": 3, "last_update": "2024-05-23 00:24:18", - "author_account_age_days": 2702 + "author_account_age_days": 3141 }, "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": { "stars": 10, "last_update": "2024-05-23 00:23:44", - "author_account_age_days": 2702 + "author_account_age_days": 3141 }, "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": { - "stars": 327, + "stars": 428, "last_update": "2024-08-07 15:13:31", - "author_account_age_days": 647 + "author_account_age_days": 1087 }, "https://github.com/BlenderNeko/ComfyUI_Cutoff": { - "stars": 376, + "stars": 397, "last_update": "2024-05-22 15:01:45", - "author_account_age_days": 647 + "author_account_age_days": 1087 }, "https://github.com/BlenderNeko/ComfyUI_Noise": { - "stars": 270, + "stars": 321, "last_update": "2024-06-10 16:38:48", - "author_account_age_days": 647 + "author_account_age_days": 1087 }, "https://github.com/BlenderNeko/ComfyUI_SeeCoder": { - "stars": 38, + "stars": 42, "last_update": "2024-05-22 14:57:04", - "author_account_age_days": 647 + "author_account_age_days": 1087 }, "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": { - "stars": 339, + "stars": 409, "last_update": "2024-05-22 14:56:49", - "author_account_age_days": 647 + "author_account_age_days": 1087 }, - "https://github.com/Blonicx/ComfyUI-X-Rework": { - "stars": 2, - "last_update": "2024-12-08 17:13:18", - "author_account_age_days": 892 + "https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools": { + "stars": 7, + "last_update": "2025-07-21 23:11:58", + "author_account_age_days": 1054 + }, + "https://github.com/BobJohnson24/ComfyUI-Flux2-INT8": { + "stars": 31, + "last_update": "2026-02-21 09:22:02", + "author_account_age_days": 294 + }, + "https://github.com/BobRandomNumber/ComfyUI-BasicOllama": { + "stars": 1, + "last_update": "2026-02-14 05:33:26", + "author_account_age_days": 453 + }, + "https://github.com/BobRandomNumber/ComfyUI-Calculator": { + "stars": 0, + "last_update": "2026-02-14 05:32:17", + "author_account_age_days": 453 + }, + "https://github.com/BobRandomNumber/ComfyUI-DiaTTS": { + "stars": 7, + "last_update": "2026-02-16 02:36:31", + "author_account_age_days": 453 + }, + "https://github.com/BobRandomNumber/ComfyUI-KyutaiTTS": { + "stars": 6, + "last_update": "2025-07-09 04:52:46", + "author_account_age_days": 453 + }, + "https://github.com/BobRandomNumber/ComfyUI-TLBVFI": { + "stars": 20, + "last_update": "2026-02-18 02:53:02", + "author_account_age_days": 453 + }, + "https://github.com/Boba-svg/ComfyUI-PromptSwitch": { + "stars": 3, + "last_update": "2025-12-07 13:43:53", + "author_account_age_days": 160 + }, + "https://github.com/Boba-svg/ComfyUI_AutoBatchRunner": { + "stars": 0, + "last_update": "2025-11-14 23:12:48", + "author_account_age_days": 160 + }, + "https://github.com/BobsBlazed/Bobs-Lora-Loader": { + "stars": 9, + "last_update": "2025-08-13 03:41:38", + "author_account_age_days": 2823 + }, + "https://github.com/BobsBlazed/Bobs_Latent_Optimizer": { + "stars": 51, + "last_update": "2025-09-07 18:29:50", + "author_account_age_days": 2823 + }, + "https://github.com/BoyuanJiang/FitDiT-ComfyUI": { + "stars": 106, + "last_update": "2025-01-21 12:09:05", + "author_account_age_days": 3690 + }, + "https://github.com/Braeden90000/comfyui-load-image-url": { + "stars": 0, + "last_update": "2025-12-10 23:32:57", + "author_account_age_days": 2287 + }, + "https://github.com/Brekel/ComfyUI-Brekel": { + "stars": 19, + "last_update": "2025-11-17 19:08:10", + "author_account_age_days": 5434 }, "https://github.com/Bria-AI/ComfyUI-BRIA-API": { - "stars": 6, - "last_update": "2024-12-03 16:28:55", - "author_account_age_days": 1647 + "stars": 80, + "last_update": "2026-02-12 16:43:36", + "author_account_age_days": 2086 + }, + "https://github.com/BuffMcBigHuge/ComfyUI-Google-AI-Studio": { + "stars": 5, + "last_update": "2025-11-26 05:05:36", + "author_account_age_days": 3522 + }, + "https://github.com/BuffMcBigHuge/ComfyUI-Zonos": { + "stars": 73, + "last_update": "2025-04-29 21:48:07", + "author_account_age_days": 3522 + }, + "https://github.com/Burgstall-labs/ComfyUI-BETA-Cropnodes": { + "stars": 7, + "last_update": "2025-11-11 18:57:09", + "author_account_age_days": 400 + }, + "https://github.com/Burgstall-labs/ComfyUI-BETA-Helpernodes": { + "stars": 7, + "last_update": "2025-11-11 18:57:09", + "author_account_age_days": 400 + }, + "https://github.com/Burgstall-labs/ComfyUI-BS-Textchop": { + "stars": 0, + "last_update": "2025-04-05 07:45:54", + "author_account_age_days": 400 + }, + "https://github.com/Burgstall-labs/ComfyUI-BS_Kokoro-onnx": { + "stars": 37, + "last_update": "2025-01-19 19:05:24", + "author_account_age_days": 400 + }, + "https://github.com/Bzbaozi/ComfyUI-YK-Banana2-Batch": { + "stars": 1, + "last_update": "2025-12-22 04:27:46", + "author_account_age_days": 1064 }, "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": { - "stars": 15, + "stars": 24, "last_update": "2024-06-14 07:13:34", - "author_account_age_days": 655 + "author_account_age_days": 1094 + }, + "https://github.com/CC-SUN6/ccsun_node": { + "stars": 0, + "last_update": "2025-02-12 07:58:41", + "author_account_age_days": 978 + }, + "https://github.com/CHAOSEA/ComfyUI_FaceAlignPaste": { + "stars": 21, + "last_update": "2025-03-27 13:34:40", + "author_account_age_days": 575 + }, + "https://github.com/CY-CHENYUE/ComfyUI-FramePack-HY": { + "stars": 20, + "last_update": "2025-05-08 09:38:09", + "author_account_age_days": 807 + }, + "https://github.com/CY-CHENYUE/ComfyUI-Free-GPU": { + "stars": 18, + "last_update": "2025-02-16 16:30:36", + "author_account_age_days": 807 + }, + "https://github.com/CY-CHENYUE/ComfyUI-GPT-API": { + "stars": 72, + "last_update": "2025-04-17 09:51:35", + "author_account_age_days": 807 + }, + "https://github.com/CY-CHENYUE/ComfyUI-Gemini-API": { + "stars": 241, + "last_update": "2025-05-08 05:52:02", + "author_account_age_days": 807 + }, + "https://github.com/CY-CHENYUE/ComfyUI-ImageCompositionCy": { + "stars": 8, + "last_update": "2025-08-17 06:56:13", + "author_account_age_days": 807 }, "https://github.com/CY-CHENYUE/ComfyUI-InpaintEasy": { - "stars": 36, - "last_update": "2024-12-07 17:30:21", - "author_account_age_days": 368 + "stars": 91, + "last_update": "2025-01-24 16:09:46", + "author_account_age_days": 807 + }, + "https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro": { + "stars": 646, + "last_update": "2025-01-30 08:08:20", + "author_account_age_days": 807 }, "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-Plus": { - "stars": 19, + "stars": 26, "last_update": "2024-10-09 06:56:04", - "author_account_age_days": 368 + "author_account_age_days": 807 + }, + "https://github.com/CY-CHENYUE/ComfyUI-MiniCPM-o": { + "stars": 36, + "last_update": "2025-02-16 18:52:28", + "author_account_age_days": 807 }, "https://github.com/CY-CHENYUE/ComfyUI-Molmo": { - "stars": 104, + "stars": 139, "last_update": "2024-10-14 15:06:36", - "author_account_age_days": 368 + "author_account_age_days": 807 }, "https://github.com/CY-CHENYUE/ComfyUI-OmniGenX": { - "stars": 5, - "last_update": "2024-11-06 20:54:39", - "author_account_age_days": 368 + "stars": 7, + "last_update": "2025-01-24 16:13:13", + "author_account_age_days": 807 }, "https://github.com/CY-CHENYUE/ComfyUI-Redux-Prompt": { - "stars": 21, - "last_update": "2024-12-08 15:12:14", - "author_account_age_days": 368 + "stars": 102, + "last_update": "2025-01-24 15:43:29", + "author_account_age_days": 807 }, "https://github.com/CYBERLOOM-INC/ComfyUI-nodes-hnmr": { - "stars": 7, + "stars": 11, "last_update": "2024-05-22 17:55:41", - "author_account_age_days": 419 + "author_account_age_days": 858 + }, + "https://github.com/CallMe1101/ComfyUI_OmniAvatar": { + "stars": 3, + "last_update": "2025-11-02 04:46:30", + "author_account_age_days": 349 + }, + "https://github.com/Candlehead/Candlehead-Comfy-Nodez": { + "stars": 0, + "last_update": "2026-01-26 19:27:00", + "author_account_age_days": 28 + }, + "https://github.com/Carasibana/ComfyUI-PolyMask": { + "stars": 4, + "last_update": "2025-12-30 11:41:59", + "author_account_age_days": 85 }, "https://github.com/CavinHuang/comfyui-nodes-docs": { - "stars": 164, - "last_update": "2024-07-04 11:29:55", - "author_account_age_days": 2896 + "stars": 272, + "last_update": "2025-03-26 02:12:29", + "author_account_age_days": 3335 }, "https://github.com/Chan-0312/ComfyUI-EasyDeforum": { - "stars": 10, + "stars": 13, "last_update": "2024-05-22 23:22:14", - "author_account_age_days": 2036 + "author_account_age_days": 2475 }, "https://github.com/Chan-0312/ComfyUI-IPAnimate": { - "stars": 71, + "stars": 76, "last_update": "2024-05-22 23:22:03", - "author_account_age_days": 2036 + "author_account_age_days": 2475 }, "https://github.com/Chan-0312/ComfyUI-Prompt-Preview": { - "stars": 31, + "stars": 39, "last_update": "2024-06-14 09:01:37", - "author_account_age_days": 2036 + "author_account_age_days": 2475 + }, + "https://github.com/ChangeTheConstants/SeedVarianceEnhancer": { + "stars": 170, + "last_update": "2025-12-21 18:07:45", + "author_account_age_days": 81 + }, + "https://github.com/ChaosHL/Marvelous-Box-Comfyui": { + "stars": 0, + "last_update": "2025-09-23 14:22:09", + "author_account_age_days": 972 }, "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": { - "stars": 24, - "last_update": "2024-10-13 15:24:52", - "author_account_age_days": 2048 + "stars": 50, + "last_update": "2025-12-05 14:19:43", + "author_account_age_days": 2488 }, "https://github.com/Charlweed/image_transceiver": { - "stars": 2, - "last_update": "2024-11-13 01:14:43", - "author_account_age_days": 5267 + "stars": 4, + "last_update": "2025-01-06 19:22:50", + "author_account_age_days": 5706 + }, + "https://github.com/Charonartist/comfyui-auto-lora-v2": { + "stars": 1, + "last_update": "2025-06-17 15:00:30", + "author_account_age_days": 603 + }, + "https://github.com/Charonartist/comfyui-last-frame-extractor": { + "stars": 3, + "last_update": "2025-08-14 13:42:17", + "author_account_age_days": 603 + }, + "https://github.com/Charonartist/comfyui-lmstudio-conversation": { + "stars": 0, + "last_update": "2025-09-07 07:57:09", + "author_account_age_days": 603 + }, + "https://github.com/Charonartist/comfyui-smart-resize-node": { + "stars": 0, + "last_update": "2025-08-12 13:01:48", + "author_account_age_days": 603 + }, + "https://github.com/Charonartist/comfyui-tag-remover": { + "stars": 0, + "last_update": "2025-08-14 06:12:04", + "author_account_age_days": 603 + }, + "https://github.com/CheNing233/ComfyUI_Image_Pin": { + "stars": 5, + "last_update": "2025-07-13 08:11:47", + "author_account_age_days": 3055 + }, + "https://github.com/ChenDarYen/ComfyUI-NAG": { + "stars": 304, + "last_update": "2025-11-03 20:44:25", + "author_account_age_days": 2510 + }, + "https://github.com/ChenDarYen/ComfyUI-TimestepShiftModel": { + "stars": 9, + "last_update": "2025-01-07 18:22:10", + "author_account_age_days": 2510 + }, + "https://github.com/Chengym2023/ComfyUI-DeepSeek_Online": { + "stars": 0, + "last_update": "2025-04-07 01:09:05", + "author_account_age_days": 1009 }, "https://github.com/ChrisColeTech/ComfyUI-Elegant-Resource-Monitor": { - "stars": 11, + "stars": 19, "last_update": "2024-09-23 21:48:27", - "author_account_age_days": 2582 + "author_account_age_days": 3021 }, "https://github.com/ChrisColeTech/ComfyUI-Line-counter": { - "stars": 3, - "last_update": "2024-09-02 02:30:14", - "author_account_age_days": 2582 + "stars": 2, + "last_update": "2025-03-12 00:07:25", + "author_account_age_days": 3021 + }, + "https://github.com/ChristopherLuciano/ComfyUI-LucianoTools": { + "stars": 0, + "last_update": "2025-10-21 02:34:23", + "author_account_age_days": 1463 + }, + "https://github.com/Chrisvenator/ComfyUI-Painting-by-colors-generator": { + "stars": 2, + "last_update": "2025-06-03 07:56:17", + "author_account_age_days": 2338 }, "https://github.com/ClownsharkBatwing/RES4LYF": { - "stars": 41, - "last_update": "2024-12-09 19:44:01", - "author_account_age_days": 199 + "stars": 990, + "last_update": "2026-01-18 03:03:38", + "author_account_age_days": 639 + }, + "https://github.com/Clybius/ComfyUI-ClybsChromaNodes": { + "stars": 13, + "last_update": "2025-07-08 14:27:15", + "author_account_age_days": 2343 }, "https://github.com/Clybius/ComfyUI-Extra-Samplers": { - "stars": 72, + "stars": 99, "last_update": "2024-11-15 17:21:45", - "author_account_age_days": 1903 + "author_account_age_days": 2343 }, "https://github.com/Clybius/ComfyUI-Latent-Modifiers": { - "stars": 78, + "stars": 88, "last_update": "2024-06-14 09:02:44", - "author_account_age_days": 1903 + "author_account_age_days": 2343 + }, + "https://github.com/CoiiChan/ComfyUI-Depth-Visualization-Advanced": { + "stars": 5, + "last_update": "2025-06-17 03:43:27", + "author_account_age_days": 2507 + }, + "https://github.com/CoiiChan/ComfyUI-FuncAsTexture-CoiiNode": { + "stars": 2, + "last_update": "2025-06-24 03:34:32", + "author_account_age_days": 2507 + }, + "https://github.com/CoiiChan/comfyui-every-person-seg-coii": { + "stars": 6, + "last_update": "2025-08-01 08:16:18", + "author_account_age_days": 2507 + }, + "https://github.com/Comfy-Org/NIMnodes": { + "stars": 58, + "last_update": "2025-08-20 15:31:03", + "author_account_age_days": 684 + }, + "https://github.com/ComfyAssets/ComfyUI-KikoStats": { + "stars": 3, + "last_update": "2025-11-28 17:51:18", + "author_account_age_days": 275 + }, + "https://github.com/ComfyAssets/ComfyUI-KikoTools": { + "stars": 13, + "last_update": "2026-02-10 01:46:52", + "author_account_age_days": 275 + }, + "https://github.com/ComfyAssets/ComfyUI_PromptManager": { + "stars": 114, + "last_update": "2026-02-11 13:57:23", + "author_account_age_days": 275 + }, + "https://github.com/ComfyAssets/ComfyUI_Selectors": { + "stars": 5, + "last_update": "2025-06-13 16:13:05", + "author_account_age_days": 275 + }, + "https://github.com/ComfyUI-JH/ComfyUI-JH-Misc-Nodes": { + "stars": 1, + "last_update": "2024-12-28 19:44:14", + "author_account_age_days": 431 + }, + "https://github.com/ComfyUI-JH/ComfyUI-JH-XMP-Metadata-Nodes": { + "stars": 2, + "last_update": "2024-12-31 21:44:05", + "author_account_age_days": 431 + }, + "https://github.com/ComplexRobot/ComfyUI-Simple-VFI": { + "stars": 0, + "last_update": "2025-03-31 15:37:25", + "author_account_age_days": 5033 + }, + "https://github.com/Conor-Collins/ComfyUI-CoCoTools_IO": { + "stars": 89, + "last_update": "2025-09-30 21:05:37", + "author_account_age_days": 783 + }, + "https://github.com/ConstantlyGrowup/ComfyUI_Qwen_chat_models": { + "stars": 2, + "last_update": "2025-12-30 06:34:36", + "author_account_age_days": 182 + }, + "https://github.com/CoreyCorza/ComfyUI-CRZnodes": { + "stars": 38, + "last_update": "2025-09-09 05:29:25", + "author_account_age_days": 2792 + }, + "https://github.com/Cornmeister/ComfyUI-CornmeisterNL-PowerPack": { + "stars": 0, + "last_update": "2025-12-28 12:35:17", + "author_account_age_days": 4092 }, "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": { - "stars": 108, - "last_update": "2024-12-05 13:37:24", - "author_account_age_days": 3825 + "stars": 136, + "last_update": "2026-02-22 15:17:41", + "author_account_age_days": 4264 + }, + "https://github.com/CpreForEver/CFE_comfyui": { + "stars": 0, + "last_update": "2024-12-09 01:38:42", + "author_account_age_days": 561 + }, + "https://github.com/CraftBlack/ComfyUI-Resolution-Divider": { + "stars": 0, + "last_update": "2025-12-08 04:15:29", + "author_account_age_days": 1816 + }, + "https://github.com/CrateTools/comfyui-preview-video-monitor": { + "stars": 15, + "last_update": "2026-01-30 23:31:39", + "author_account_age_days": 582 + }, + "https://github.com/Creditas-labs/ComfyUI-Adforge": { + "stars": 1, + "last_update": "2025-11-26 19:14:11", + "author_account_age_days": 111 + }, + "https://github.com/Creditas-labs/ComfyUI_Adforge": { + "stars": 1, + "last_update": "2025-11-26 19:14:11", + "author_account_age_days": 111 }, "https://github.com/Creeper-MZ/comfyui_nai_api": { - "stars": 1, + "stars": 0, "last_update": "2024-10-02 21:30:26", - "author_account_age_days": 1173 + "author_account_age_days": 1612 }, - "https://github.com/Cyber-BCat/ComfyUI_Auto_Caption": { - "stars": 9, - "last_update": "2024-09-20 02:56:37", - "author_account_age_days": 584 + "https://github.com/Creepybits/ComfyUI-Creepy_nodes": { + "stars": 27, + "last_update": "2026-02-21 10:25:03", + "author_account_age_days": 2216 }, - "https://github.com/Cyber-Blacat/ComfyUI-Yuan": { - "stars": 6, - "last_update": "2024-09-19 10:29:40", - "author_account_age_days": 584 + "https://github.com/Creepybits/ComfyUI-Save_To_GDrive": { + "stars": 7, + "last_update": "2025-07-03 00:27:01", + "author_account_age_days": 2216 + }, + "https://github.com/Creepybits/ComfyUI-Save_To_OneDrive": { + "stars": 2, + "last_update": "2025-07-15 20:30:08", + "author_account_age_days": 2216 + }, + "https://github.com/Creepybits/World_weaver": { + "stars": 25, + "last_update": "2026-02-13 22:55:49", + "author_account_age_days": 2216 + }, + "https://github.com/Cryptyox/anaglyphTool-Comfyui": { + "stars": 8, + "last_update": "2025-11-20 01:25:21", + "author_account_age_days": 1537 + }, + "https://github.com/Curt-Park/human-parser-comfyui-node-in-pure-python": { + "stars": 7, + "last_update": "2025-03-18 00:51:34", + "author_account_age_days": 3795 + }, + "https://github.com/CyanAutumn/ComfyUi_Random_Manage_Cyan": { + "stars": 3, + "last_update": "2025-09-05 13:21:04", + "author_account_age_days": 1711 + }, + "https://github.com/Cyber-BlackCat/ComfyUI-Image-Vector": { + "stars": 5, + "last_update": "2025-04-27 05:40:25", + "author_account_age_days": 1024 + }, + "https://github.com/Cyber-BlackCat/ComfyUI-MoneyMaker": { + "stars": 12, + "last_update": "2025-10-24 07:46:08", + "author_account_age_days": 1024 + }, + "https://github.com/Cyber-BlackCat/ComfyUI_Auto_Caption": { + "stars": 16, + "last_update": "2025-10-24 07:49:28", + "author_account_age_days": 1024 }, "https://github.com/Cyberschorsch/ComfyUI-checkpoint-config-loader": { "stars": 1, "last_update": "2024-07-31 13:54:16", - "author_account_age_days": 5328 + "author_account_age_days": 5767 + }, + "https://github.com/CypherNaught-0x/ComfyUI_resolution_presets": { + "stars": 0, + "last_update": "2026-01-04 16:03:15", + "author_account_age_days": 4109 + }, + "https://github.com/Cyrostar/Artha-Gemini": { + "stars": 1, + "last_update": "2025-08-30 15:54:04", + "author_account_age_days": 3320 + }, + "https://github.com/Cyrostar/Artha-Projekt": { + "stars": 0, + "last_update": "2025-08-25 06:32:51", + "author_account_age_days": 3320 + }, + "https://github.com/Cyrostar/ComfyUI-Artha-Nodes": { + "stars": 0, + "last_update": "2026-01-09 15:33:52", + "author_account_age_days": 3320 + }, + "https://github.com/Cyrus-Hei/comfyui-prompt-bank": { + "stars": 4, + "last_update": "2025-07-21 10:04:05", + "author_account_age_days": 1214 + }, + "https://github.com/D-Ogi/ComfyUI-Attention-Optimizer": { + "stars": 25, + "last_update": "2026-02-09 12:56:32", + "author_account_age_days": 4407 + }, + "https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes": { + "stars": 7, + "last_update": "2025-02-02 00:46:30", + "author_account_age_days": 397 + }, + "https://github.com/DN2048/dn_little_helpers": { + "stars": 0, + "last_update": "2026-02-05 23:42:39", + "author_account_age_days": 2040 + }, + "https://github.com/DaLongZhuaZi/ComfyUI-Gemini-Prompt-Studio": { + "stars": 0, + "last_update": "2025-09-24 11:01:50", + "author_account_age_days": 2641 + }, + "https://github.com/DanPli/ComfyUI-Flux2LatentPresets": { + "stars": 0, + "last_update": "2026-01-31 22:10:40", + "author_account_age_days": 3981 }, "https://github.com/Danand/ComfyUI-ComfyCouple": { - "stars": 30, + "stars": 90, "last_update": "2024-08-10 22:24:01", - "author_account_age_days": 4458 + "author_account_age_days": 4898 }, "https://github.com/DanielHabib/ComfyUI-Voxels": { "stars": 4, "last_update": "2024-09-16 15:41:02", - "author_account_age_days": 3753 + "author_account_age_days": 4193 + }, + "https://github.com/DanielPFlorian/ComfyUI-WorkflowGenerator": { + "stars": 3, + "last_update": "2025-11-22 01:25:11", + "author_account_age_days": 1476 + }, + "https://github.com/DaniilVdovin/ComfyUI-prompt-templating": { + "stars": 1, + "last_update": "2025-10-15 09:40:29", + "author_account_age_days": 2645 + }, + "https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger": { + "stars": 12, + "last_update": "2026-01-06 12:38:13", + "author_account_age_days": 840 + }, + "https://github.com/Danteday/ComfyUI-NoteManager": { + "stars": 13, + "last_update": "2025-04-20 19:52:58", + "author_account_age_days": 2926 + }, + "https://github.com/Daohoi123/ComfyUI-Gemini3": { + "stars": 2, + "last_update": "2025-11-26 01:14:40", + "author_account_age_days": 1019 }, "https://github.com/DareFail/ComfyUI-Roboflow": { - "stars": 31, + "stars": 33, "last_update": "2024-09-25 18:30:43", - "author_account_age_days": 4757 + "author_account_age_days": 5196 + }, + "https://github.com/DarioFT/ComfyUI-VideoDirCombiner": { + "stars": 6, + "last_update": "2025-03-08 13:58:12", + "author_account_age_days": 4086 }, "https://github.com/DataCTE/prompt_injection": { - "stars": 83, - "last_update": "2024-06-21 12:56:43", - "author_account_age_days": 947 + "stars": 97, + "last_update": "2025-08-18 13:18:24", + "author_account_age_days": 1387 + }, + "https://github.com/DavidPiazza/network_bending": { + "stars": 0, + "last_update": "2025-11-30 02:04:39", + "author_account_age_days": 2488 + }, + "https://github.com/Daxamur/DaxNodes": { + "stars": 0, + "last_update": "2025-08-30 19:54:44", + "author_account_age_days": 2704 + }, + "https://github.com/DayMan84/ComfyUI-Usgromana": { + "stars": 12, + "last_update": "2026-02-23 23:01:20", + "author_account_age_days": 1061 + }, + "https://github.com/DayMan84/ComfyUI-Usgromana-Gallery": { + "stars": 1, + "last_update": "2026-02-22 06:43:42", + "author_account_age_days": 1061 }, "https://github.com/Dayuppy/ComfyUI-DiscordWebhook": { "stars": 4, - "last_update": "2024-10-12 05:12:07", - "author_account_age_days": 4385 + "last_update": "2025-08-13 17:48:55", + "author_account_age_days": 4824 + }, + "https://github.com/DazzleNodes/ComfyUI-DazzleSwitch": { + "stars": 0, + "last_update": "2026-02-23 13:45:05", + "author_account_age_days": 113 + }, + "https://github.com/DazzleNodes/ComfyUI-Smart-Resolution-Calc": { + "stars": 5, + "last_update": "2026-01-27 00:22:44", + "author_account_age_days": 113 + }, + "https://github.com/DazzleNodes/DazzleNodes": { + "stars": 0, + "last_update": "2026-02-23 14:11:26", + "author_account_age_days": 113 + }, + "https://github.com/DazzleNodes/fit-mask-to-image": { + "stars": 1, + "last_update": "2025-11-16 01:32:44", + "author_account_age_days": 113 + }, + "https://github.com/De-Zoomer/ComfyUI-DeZoomer-Nodes": { + "stars": 28, + "last_update": "2025-06-28 17:36:41", + "author_account_age_days": 1464 }, "https://github.com/DeJoker/pipeline-parallel-comfy": { - "stars": 3, + "stars": 4, "last_update": "2024-07-29 06:59:37", - "author_account_age_days": 3160 + "author_account_age_days": 3600 + }, + "https://github.com/Deathspike/ComfyUI-MyOriginalWaifu": { + "stars": 2, + "last_update": "2026-02-08 13:40:00", + "author_account_age_days": 5861 + }, + "https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials": { + "stars": 1, + "last_update": "2025-06-21 12:46:56", + "author_account_age_days": 410 + }, + "https://github.com/DecartAI/Lucy-Edit-ComfyUI": { + "stars": 719, + "last_update": "2025-11-07 18:58:33", + "author_account_age_days": 919 + }, + "https://github.com/DeemosTech/ComfyUI-Rodin": { + "stars": 51, + "last_update": "2025-10-15 03:36:50", + "author_account_age_days": 1375 + }, + "https://github.com/Deep-Neko/ComfyUI_ascii_art": { + "stars": 3, + "last_update": "2025-02-24 13:07:36", + "author_account_age_days": 364 + }, + "https://github.com/Dehypnotic/comfyui-aspect-ratio-advanced": { + "stars": 1, + "last_update": "2025-10-02 14:57:02", + "author_account_age_days": 1701 + }, + "https://github.com/Dehypnotic/comfyui-dehypnotic-save-nodes": { + "stars": 0, + "last_update": "2025-10-26 15:41:28", + "author_account_age_days": 1701 + }, + "https://github.com/Dehypnotic/comfyui-numbered-text": { + "stars": 0, + "last_update": "2025-10-08 15:13:36", + "author_account_age_days": 1701 + }, + "https://github.com/Dehypnotic/comfyui-range-to-string": { + "stars": 0, + "last_update": "2025-10-02 09:30:29", + "author_account_age_days": 1701 + }, + "https://github.com/DemonAlone/DemonAlone-nodes-ComfyUI": { + "stars": 0, + "last_update": "2026-02-23 01:22:32", + "author_account_age_days": 3320 + }, + "https://github.com/DemonNCoding/PromptGenerator12Columns": { + "stars": 8, + "last_update": "2025-12-08 15:49:32", + "author_account_age_days": 1300 + }, + "https://github.com/DenRakEiw/ComfyUI-nearest-qwen-resolution": { + "stars": 0, + "last_update": "2025-12-20 06:58:05", + "author_account_age_days": 1640 + }, + "https://github.com/DenRakEiw/Latent_Nodes": { + "stars": 31, + "last_update": "2025-08-13 14:21:14", + "author_account_age_days": 1640 + }, + "https://github.com/DenRakEiw/WAN_NN_Latent_Upscale": { + "stars": 19, + "last_update": "2025-08-14 18:53:13", + "author_account_age_days": 1640 }, "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": { - "stars": 369, + "stars": 450, "last_update": "2024-06-22 02:12:19", - "author_account_age_days": 1944 + "author_account_age_days": 2384 + }, + "https://github.com/DesertPixelAi/ComfyUI-DP-Ideogram-Character": { + "stars": 2, + "last_update": "2025-08-26 22:21:45", + "author_account_age_days": 755 }, "https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes": { + "stars": 25, + "last_update": "2025-06-22 10:33:31", + "author_account_age_days": 755 + }, + "https://github.com/DesertPixelAi/comfyui-dp-them-styler": { "stars": 1, - "last_update": "2024-12-11 10:30:10", - "author_account_age_days": 315 + "last_update": "2025-07-10 08:29:21", + "author_account_age_days": 755 + }, + "https://github.com/DevDuckFace/KsamplerDF": { + "stars": 0, + "last_update": "2026-02-03 00:57:15", + "author_account_age_days": 841 + }, + "https://github.com/Devourer56/ComfyUI-Impact-BIGdetector-BBOX-SEGS": { + "stars": 0, + "last_update": "2026-01-29 00:29:19", + "author_account_age_days": 1174 + }, + "https://github.com/DiaoDaiaChan/ComfyUI_API_Request": { + "stars": 6, + "last_update": "2025-10-19 04:29:10", + "author_account_age_days": 1094 + }, + "https://github.com/DiffusionLight/DiffusionLight-ComfyUI": { + "stars": 16, + "last_update": "2025-07-02 11:04:14", + "author_account_age_days": 810 + }, + "https://github.com/DiffusionWave/PickResolution_DiffusionWave": { + "stars": 0, + "last_update": "2025-05-19 23:16:22", + "author_account_age_days": 331 }, "https://github.com/DigitalIO/ComfyUI-stable-wildcards": { - "stars": 23, - "last_update": "2024-08-12 19:00:17", - "author_account_age_days": 4208 + "stars": 34, + "last_update": "2025-09-15 20:38:26", + "author_account_age_days": 4648 }, "https://github.com/DimaChaichan/LAizypainter-Exporter-ComfyUI": { "stars": 6, "last_update": "2024-05-22 23:14:06", - "author_account_age_days": 3243 + "author_account_age_days": 3682 + }, + "https://github.com/Diohim/ComfyUI-Unusual-Tools": { + "stars": 7, + "last_update": "2025-07-15 09:12:54", + "author_account_age_days": 389 }, "https://github.com/Dobidop/ComfyStereo": { - "stars": 12, - "last_update": "2024-08-06 19:59:34", - "author_account_age_days": 1630 + "stars": 38, + "last_update": "2026-02-15 17:06:27", + "author_account_age_days": 2069 + }, + "https://github.com/DoctorDiffusion/ComfyUI-BEN": { + "stars": 45, + "last_update": "2024-12-15 18:19:01", + "author_account_age_days": 951 }, "https://github.com/DoctorDiffusion/ComfyUI-MediaMixer": { - "stars": 5, + "stars": 32, "last_update": "2024-12-05 03:05:44", - "author_account_age_days": 511 + "author_account_age_days": 951 }, "https://github.com/DoctorDiffusion/ComfyUI-Schedulizer": { - "stars": 6, + "stars": 9, "last_update": "2024-11-30 03:13:29", - "author_account_age_days": 511 + "author_account_age_days": 951 }, "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil": { - "stars": 2, - "last_update": "2024-12-06 04:12:18", - "author_account_age_days": 511 + "stars": 6, + "last_update": "2024-12-31 00:59:19", + "author_account_age_days": 951 + }, + "https://github.com/DoctorDiffusion/ComfyUI-basic-pitch": { + "stars": 1, + "last_update": "2024-12-25 19:07:11", + "author_account_age_days": 951 + }, + "https://github.com/Dontdrunk/ComfyUI-DD-Nodes": { + "stars": 158, + "last_update": "2026-01-29 05:45:08", + "author_account_age_days": 3513 + }, + "https://github.com/Dontdrunk/ComfyUI-DD-Translation": { + "stars": 707, + "last_update": "2026-01-31 06:57:19", + "author_account_age_days": 3513 }, "https://github.com/DrJKL/ComfyUI-Anchors": { "stars": 6, "last_update": "2024-06-20 18:23:00", - "author_account_age_days": 5164 + "author_account_age_days": 5603 }, "https://github.com/DrMWeigand/ComfyUI-StereoVision": { - "stars": 2, - "last_update": "2024-10-26 06:50:01", - "author_account_age_days": 1202 + "stars": 9, + "last_update": "2025-09-18 05:45:51", + "author_account_age_days": 1641 }, "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": { - "stars": 3, + "stars": 4, "last_update": "2024-07-15 13:21:10", - "author_account_age_days": 1202 + "author_account_age_days": 1641 + }, + "https://github.com/DrStone71/ComfyUI-Prompt-Translator": { + "stars": 2, + "last_update": "2025-06-17 00:22:24", + "author_account_age_days": 555 + }, + "https://github.com/DraconicDragon/ComfyUI-RyuuNoodles": { + "stars": 8, + "last_update": "2025-12-30 17:21:49", + "author_account_age_days": 1983 + }, + "https://github.com/DraconicDragon/ComfyUI-Venice-API": { + "stars": 6, + "last_update": "2026-01-05 01:56:12", + "author_account_age_days": 1983 + }, + "https://github.com/Draek2077/comfyui-draekz-nodez": { + "stars": 1, + "last_update": "2025-09-12 02:32:20", + "author_account_age_days": 211 + }, + "https://github.com/DragonDiffusionbyBoyo/BoyoSupercoolWrapper": { + "stars": 4, + "last_update": "2025-09-21 11:58:58", + "author_account_age_days": 421 + }, + "https://github.com/DragonDiffusionbyBoyo/Boyonodes": { + "stars": 9, + "last_update": "2026-02-06 00:44:45", + "author_account_age_days": 421 + }, + "https://github.com/Dream-Pixels-Forge/ComfyUI-Mzikart-Mixer": { + "stars": 1, + "last_update": "2025-07-18 01:39:33", + "author_account_age_days": 2465 + }, + "https://github.com/Duanyll/comfyui_functional": { + "stars": 0, + "last_update": "2025-12-16 07:14:38", + "author_account_age_days": 3342 + }, + "https://github.com/Duanyll/duanyll_nodepack": { + "stars": 2, + "last_update": "2026-01-19 10:58:12", + "author_account_age_days": 3342 + }, + "https://github.com/EMkrtchyan/ComfyUI-NormalsToDepth": { + "stars": 1, + "last_update": "2026-02-10 22:16:51", + "author_account_age_days": 502 + }, + "https://github.com/Eagle-CN/ComfyUI-Addoor": { + "stars": 72, + "last_update": "2025-04-25 01:03:58", + "author_account_age_days": 3236 + }, + "https://github.com/Easymode-ai/ComfyUI-BPT": { + "stars": 12, + "last_update": "2025-07-25 20:05:55", + "author_account_age_days": 1882 + }, + "https://github.com/Easymode-ai/ComfyUI-FlexPainter": { + "stars": 2, + "last_update": "2025-09-10 20:45:19", + "author_account_age_days": 1882 + }, + "https://github.com/Easymode-ai/ComfyUI-ShadowR": { + "stars": 15, + "last_update": "2025-02-21 20:53:27", + "author_account_age_days": 1882 }, "https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes": { - "stars": 65, + "stars": 74, "last_update": "2024-09-01 11:43:02", - "author_account_age_days": 4887 + "author_account_age_days": 5326 }, "https://github.com/Elaine-chennn/comfyui-overlay-media": { - "stars": 1, + "stars": 0, "last_update": "2024-10-09 11:07:46", - "author_account_age_days": 1313 + "author_account_age_days": 1752 }, "https://github.com/Electrofried/ComfyUI-OpenAINode": { - "stars": 22, + "stars": 29, "last_update": "2024-06-14 09:01:22", - "author_account_age_days": 2790 + "author_account_age_days": 3229 }, "https://github.com/EllangoK/ComfyUI-post-processing-nodes": { - "stars": 186, - "last_update": "2024-08-09 17:20:17", - "author_account_age_days": 2948 + "stars": 245, + "last_update": "2025-01-20 07:16:46", + "author_account_age_days": 3387 }, - "https://github.com/EnragedAntelope/ComfyUI-Doubutsu-Describer": { - "stars": 10, - "last_update": "2024-07-29 01:21:20", - "author_account_age_days": 139 + "https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes": { + "stars": 2, + "last_update": "2026-01-12 01:09:41", + "author_account_age_days": 2198 + }, + "https://github.com/Enashka/ComfyUI-nhknodes": { + "stars": 22, + "last_update": "2026-02-09 09:16:08", + "author_account_age_days": 3580 + }, + "https://github.com/Enemyx-net/VibeVoice-ComfyUI": { + "stars": 1372, + "last_update": "2026-02-18 07:40:52", + "author_account_age_days": 180 + }, + "https://github.com/Enferlain/ComfyUI-A1111-cond": { + "stars": 3, + "last_update": "2026-02-02 23:40:42", + "author_account_age_days": 3753 + }, + "https://github.com/EnragedAntelope/ComfyUI-ConstrainResolution": { + "stars": 9, + "last_update": "2025-11-09 01:25:14", + "author_account_age_days": 578 + }, + "https://github.com/EnragedAntelope/ComfyUI-EACloudNodes": { + "stars": 9, + "last_update": "2025-11-09 02:04:45", + "author_account_age_days": 578 + }, + "https://github.com/EnragedAntelope/ComfyUI_EasyRegion": { + "stars": 0, + "last_update": "2025-11-23 15:21:21", + "author_account_age_days": 578 + }, + "https://github.com/EnragedAntelope/comfy-modelopt": { + "stars": 0, + "last_update": "2025-11-10 21:11:04", + "author_account_age_days": 578 + }, + "https://github.com/EnragedAntelope/comfyui-relight": { + "stars": 90, + "last_update": "2025-11-09 02:16:20", + "author_account_age_days": 578 + }, + "https://github.com/EnragedAntelope/comfyui-sdnq": { + "stars": 71, + "last_update": "2026-02-06 13:39:36", + "author_account_age_days": 578 + }, + "https://github.com/Erehr/ComfyUI-Eagle-Autosend": { + "stars": 6, + "last_update": "2025-07-17 07:05:26", + "author_account_age_days": 3880 + }, + "https://github.com/Erehr/ComfyUI-EreNodes": { + "stars": 59, + "last_update": "2025-08-11 10:10:28", + "author_account_age_days": 3880 + }, + "https://github.com/EricRollei/AAA_Metadata_System": { + "stars": 7, + "last_update": "2025-12-19 21:17:11", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/Comfy_HunyuanImage3": { + "stars": 28, + "last_update": "2026-02-21 19:46:14", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/Download_Tools": { + "stars": 5, + "last_update": "2026-02-10 01:21:26", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/Emu35-Comfyui-Nodes": { + "stars": 4, + "last_update": "2025-12-19 20:31:48", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/Eric_Image_Processing_Nodes": { + "stars": 5, + "last_update": "2025-12-20 01:05:48", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/HYPIR-ComfyUI": { + "stars": 6, + "last_update": "2025-11-18 18:34:15", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/Local_LLM_Prompt_Enhancer": { + "stars": 15, + "last_update": "2025-12-20 01:44:21", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/PDF-Tools": { + "stars": 5, + "last_update": "2025-12-20 01:13:41", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/Qwen_Layers_Diffuser_Pipeline_Comfyui": { + "stars": 2, + "last_update": "2025-12-23 20:51:58", + "author_account_age_days": 1503 + }, + "https://github.com/EricRollei/comfyui-refocus": { + "stars": 12, + "last_update": "2026-01-13 03:51:46", + "author_account_age_days": 1503 + }, + "https://github.com/EricRorich/ComfyUI-face-shaper": { + "stars": 4, + "last_update": "2026-01-15 18:08:11", + "author_account_age_days": 1710 + }, + "https://github.com/EuphoricPenguin/resemble-enhance-comfyui": { + "stars": 2, + "last_update": "2025-11-01 08:28:38", + "author_account_age_days": 3525 }, "https://github.com/EvilBT/ComfyUI_SLK_joy_caption_two": { - "stars": 226, - "last_update": "2024-10-22 09:13:15", - "author_account_age_days": 3769 + "stars": 710, + "last_update": "2025-06-18 23:00:26", + "author_account_age_days": 4208 }, "https://github.com/Excidos/ComfyUI-Documents": { - "stars": 40, + "stars": 59, "last_update": "2024-07-11 20:15:21", - "author_account_age_days": 177 + "author_account_age_days": 616 }, "https://github.com/Excidos/ComfyUI-Lumina-Next-SFT-DiffusersWrapper": { - "stars": 15, + "stars": 17, "last_update": "2024-07-30 10:27:07", - "author_account_age_days": 177 + "author_account_age_days": 616 + }, + "https://github.com/ExoticArts/comfyui-ea-nodes": { + "stars": 0, + "last_update": "2025-11-10 03:24:25", + "author_account_age_days": 197 }, "https://github.com/ExponentialML/ComfyUI_ModelScopeT2V": { "stars": 27, "last_update": "2024-05-23 00:12:17", - "author_account_age_days": 1793 + "author_account_age_days": 2232 }, "https://github.com/ExponentialML/ComfyUI_Native_DynamiCrafter": { - "stars": 110, + "stars": 114, "last_update": "2024-06-08 02:33:02", - "author_account_age_days": 1793 + "author_account_age_days": 2232 }, "https://github.com/ExponentialML/ComfyUI_VisualStylePrompting": { - "stars": 281, + "stars": 306, "last_update": "2024-05-23 00:12:41", - "author_account_age_days": 1793 + "author_account_age_days": 2232 }, "https://github.com/ExterminanzHS/Gecco-Discord-Autosend": { - "stars": 2, + "stars": 1, "last_update": "2024-09-05 12:33:30", - "author_account_age_days": 3378 + "author_account_age_days": 3817 }, "https://github.com/Extraltodeus/ComfyUI-AutomaticCFG": { - "stars": 366, + "stars": 427, "last_update": "2024-09-10 17:44:50", - "author_account_age_days": 3319 + "author_account_age_days": 3759 + }, + "https://github.com/Extraltodeus/DistanceSampler": { + "stars": 42, + "last_update": "2025-06-19 22:54:08", + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/LoadLoraWithTags": { - "stars": 60, - "last_update": "2024-11-23 12:05:02", - "author_account_age_days": 3319 + "stars": 86, + "last_update": "2025-02-25 18:12:40", + "author_account_age_days": 3759 + }, + "https://github.com/Extraltodeus/Negative-attention-for-ComfyUI-": { + "stars": 9, + "last_update": "2025-03-20 15:10:24", + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/Skimmed_CFG": { - "stars": 148, - "last_update": "2024-10-25 20:59:10", - "author_account_age_days": 3319 + "stars": 230, + "last_update": "2026-01-05 18:52:02", + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": { - "stars": 40, + "stars": 44, "last_update": "2024-07-10 00:27:51", - "author_account_age_days": 3319 + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/Uncond-Zero-for-ComfyUI": { - "stars": 44, + "stars": 51, "last_update": "2024-07-10 00:27:36", - "author_account_age_days": 3319 + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/Vector_Sculptor_ComfyUI": { - "stars": 110, + "stars": 126, "last_update": "2024-08-28 05:29:07", - "author_account_age_days": 3319 + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/noise_latent_perlinpinpin": { - "stars": 33, + "stars": 34, "last_update": "2024-08-13 14:19:11", - "author_account_age_days": 3319 + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/pre_cfg_comfy_nodes_for_ComfyUI": { - "stars": 36, - "last_update": "2024-09-23 02:53:31", - "author_account_age_days": 3319 + "stars": 62, + "last_update": "2025-05-24 07:36:22", + "author_account_age_days": 3759 }, "https://github.com/Extraltodeus/sigmas_tools_and_the_golden_scheduler": { - "stars": 68, - "last_update": "2024-08-21 11:52:24", - "author_account_age_days": 3319 + "stars": 92, + "last_update": "2025-08-21 18:17:03", + "author_account_age_days": 3759 + }, + "https://github.com/FNGarvin/ComfyUI-AutoModelDownloader": { + "stars": 1, + "last_update": "2026-01-13 04:04:09", + "author_account_age_days": 502 + }, + "https://github.com/FaberVS/MultiModel": { + "stars": 3, + "last_update": "2025-08-08 14:52:53", + "author_account_age_days": 2380 + }, + "https://github.com/Faildes/ComfyUI-NegativeFold": { + "stars": 1, + "last_update": "2025-12-25 01:08:46", + "author_account_age_days": 1083 + }, + "https://github.com/Faildes/ComfyUI-TC_ADV_ZPrompt": { + "stars": 0, + "last_update": "2026-01-15 01:40:47", + "author_account_age_days": 1083 + }, + "https://github.com/FallenIncursio/arcenciel-link-comfyui": { + "stars": 0, + "last_update": "2026-02-16 21:42:28", + "author_account_age_days": 1213 }, "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": { - "stars": 524, - "last_update": "2024-10-11 04:50:47", - "author_account_age_days": 3301 - }, - "https://github.com/Fannovel16/ComfyUI-Loopchain": { - "stars": 31, - "last_update": "2023-12-15 14:25:35", - "author_account_age_days": 3301 + "stars": 967, + "last_update": "2025-04-30 11:32:27", + "author_account_age_days": 3741 }, "https://github.com/Fannovel16/ComfyUI-MagickWand": { - "stars": 91, - "last_update": "2024-08-01 01:00:58", - "author_account_age_days": 3301 + "stars": 134, + "last_update": "2025-11-09 02:34:01", + "author_account_age_days": 3741 }, "https://github.com/Fannovel16/ComfyUI-MotionDiff": { - "stars": 178, + "stars": 213, "last_update": "2024-08-01 01:01:53", - "author_account_age_days": 3301 + "author_account_age_days": 3741 }, "https://github.com/Fannovel16/ComfyUI-Video-Matting": { - "stars": 193, + "stars": 222, "last_update": "2024-08-14 01:28:50", - "author_account_age_days": 3301 + "author_account_age_days": 3741 }, "https://github.com/Fannovel16/comfyui_controlnet_aux": { - "stars": 2393, - "last_update": "2024-10-28 22:08:11", - "author_account_age_days": 3301 + "stars": 3802, + "last_update": "2026-02-16 05:53:04", + "author_account_age_days": 3741 }, "https://github.com/Fantaxico/ComfyUI-GCP-Storage": { - "stars": 1, + "stars": 5, "last_update": "2024-06-14 09:05:52", - "author_account_age_days": 706 + "author_account_age_days": 1145 + }, + "https://github.com/FaraamFide/ComfyUI-ParamNodes": { + "stars": 1, + "last_update": "2025-07-05 15:29:32", + "author_account_age_days": 1449 + }, + "https://github.com/FearL0rd/ComfyUI-AnyDeviceOffload": { + "stars": 24, + "last_update": "2026-02-06 15:16:28", + "author_account_age_days": 3493 + }, + "https://github.com/FearL0rd/ComfyUI-ComfyUI-Flash-Attention_v100": { + "stars": 1, + "last_update": "2026-02-09 16:20:06", + "author_account_age_days": 3493 + }, + "https://github.com/FearL0rd/ComfyUI-MaskAIFingerprint": { + "stars": 0, + "last_update": "2025-08-15 13:52:56", + "author_account_age_days": 3493 + }, + "https://github.com/FearL0rd/ComfyUI-ParallelAnything": { + "stars": 39, + "last_update": "2026-02-23 13:54:17", + "author_account_age_days": 3493 + }, + "https://github.com/FeiMao-326/Comfyui-General-API-Node": { + "stars": 0, + "last_update": "2026-02-15 03:40:27", + "author_account_age_days": 2167 }, "https://github.com/Feidorian/feidorian-ComfyNodes": { "stars": 5, - "last_update": "2024-06-20 11:31:37", - "author_account_age_days": 2925 + "last_update": "2026-01-26 03:07:46", + "author_account_age_days": 3364 + }, + "https://github.com/FemReiyaDev/ComfyUI-ReiyaNodes": { + "stars": 0, + "last_update": "2026-01-24 21:47:35", + "author_account_age_days": 59 + }, + "https://github.com/Ferocit/comfyui-feroccustomnodes": { + "stars": 0, + "last_update": "2025-08-08 21:50:00", + "author_account_age_days": 4775 + }, + "https://github.com/FewBox/fewbox-outfit-comfyui": { + "stars": 0, + "last_update": "2025-07-30 02:03:58", + "author_account_age_days": 3224 }, "https://github.com/Fictiverse/ComfyUI_Fictiverse": { - "stars": 14, - "last_update": "2024-12-02 16:48:03", - "author_account_age_days": 841 + "stars": 20, + "last_update": "2026-02-12 06:05:58", + "author_account_age_days": 1281 }, "https://github.com/Fihade/IC-Light-ComfyUI-Node": { - "stars": 6, + "stars": 9, "last_update": "2024-07-02 03:47:17", - "author_account_age_days": 2917 + "author_account_age_days": 3356 + }, + "https://github.com/FinetunersAI/ComfyUI_Finetuners_Suite": { + "stars": 2, + "last_update": "2025-01-30 08:30:13", + "author_account_age_days": 630 + }, + "https://github.com/Firetheft/ComfyUI-Animate-Progress": { + "stars": 3, + "last_update": "2025-09-09 13:21:52", + "author_account_age_days": 1510 + }, + "https://github.com/Firetheft/ComfyUI_Civitai_Gallery": { + "stars": 96, + "last_update": "2026-02-10 02:47:31", + "author_account_age_days": 1510 + }, + "https://github.com/Firetheft/ComfyUI_Local_Lora_Gallery": { + "stars": 57, + "last_update": "2026-01-30 14:07:20", + "author_account_age_days": 1510 + }, + "https://github.com/Firetheft/ComfyUI_Pixabay_Gallery": { + "stars": 5, + "last_update": "2025-12-03 00:57:24", + "author_account_age_days": 1510 + }, + "https://github.com/Firetheft/ComfyUI_Simple_Web_Browser": { + "stars": 10, + "last_update": "2025-12-02 15:25:45", + "author_account_age_days": 1510 }, "https://github.com/FizzleDorf/ComfyUI-AIT": { "stars": 51, "last_update": "2024-06-22 03:13:05", - "author_account_age_days": 2149 + "author_account_age_days": 2588 }, "https://github.com/FizzleDorf/ComfyUI_FizzNodes": { - "stars": 402, + "stars": 472, "last_update": "2024-10-29 01:51:46", - "author_account_age_days": 2149 + "author_account_age_days": 2588 + }, + "https://github.com/Flow-two/ComfyUI-WanStartEndFramesNative": { + "stars": 80, + "last_update": "2025-03-28 04:58:45", + "author_account_age_days": 2117 + }, + "https://github.com/FloyoAI/ComfyUI-Seed-API": { + "stars": 1, + "last_update": "2026-01-16 13:14:25", + "author_account_age_days": 505 }, "https://github.com/FlyingFireCo/tiled_ksampler": { - "stars": 69, + "stars": 101, "last_update": "2024-05-22 23:15:17", - "author_account_age_days": 802 + "author_account_age_days": 1241 }, "https://github.com/ForeignGods/ComfyUI-Mana-Nodes": { - "stars": 212, + "stars": 245, "last_update": "2024-05-29 18:29:05", - "author_account_age_days": 1413 + "author_account_age_days": 1853 + }, + "https://github.com/FortunaCournot/comfyui_stereoscopic": { + "stars": 23, + "last_update": "2026-02-23 22:43:46", + "author_account_age_days": 2112 + }, + "https://github.com/Fossiel/ComfyUI-Fossiel-QoL-Nodes": { + "stars": 1, + "last_update": "2026-02-19 07:03:29", + "author_account_age_days": 3382 + }, + "https://github.com/Fossiel/ComfyUI-Fossiel-WAN-Additional-Tilers": { + "stars": 2, + "last_update": "2025-12-02 03:41:53", + "author_account_age_days": 3382 }, "https://github.com/Franck-Demongin/NX_HuggingFace_Flux": { - "stars": 2, + "stars": 3, "last_update": "2024-08-14 02:17:21", - "author_account_age_days": 1941 + "author_account_age_days": 2380 }, "https://github.com/Franck-Demongin/NX_PromptStyler": { - "stars": 8, + "stars": 9, "last_update": "2024-05-22 23:25:21", - "author_account_age_days": 1941 + "author_account_age_days": 2380 }, "https://github.com/Franck-Demongin/NX_Translator": { - "stars": 1, + "stars": 3, "last_update": "2024-08-14 02:17:01", - "author_account_age_days": 1941 + "author_account_age_days": 2380 + }, + "https://github.com/FranckyB/ComfyUI-Prompt-Manager": { + "stars": 61, + "last_update": "2026-02-22 15:55:37", + "author_account_age_days": 4096 + }, + "https://github.com/Franklyc/comfyui-lora-adain-patcher-node": { + "stars": 7, + "last_update": "2025-09-19 03:22:12", + "author_account_age_days": 1286 }, "https://github.com/FredBill1/comfyui-fb-utils": { - "stars": 1, - "last_update": "2024-05-23 01:41:02", - "author_account_age_days": 2487 + "stars": 2, + "last_update": "2025-03-14 08:09:14", + "author_account_age_days": 2926 + }, + "https://github.com/Frief84/ComfyUI-LoRAWeightAxisXY": { + "stars": 0, + "last_update": "2025-09-02 09:22:34", + "author_account_age_days": 4035 + }, + "https://github.com/FunnyFinger/ComfyUi-RadarWeightNode": { + "stars": 2, + "last_update": "2025-04-22 09:12:55", + "author_account_age_days": 1185 + }, + "https://github.com/FunnyFinger/Dynamic_Sliders_stack": { + "stars": 5, + "last_update": "2025-04-22 10:00:31", + "author_account_age_days": 1185 }, "https://github.com/FuouM/ComfyUI-EbSynth": { - "stars": 78, - "last_update": "2024-08-17 15:44:49", - "author_account_age_days": 1851 + "stars": 109, + "last_update": "2025-03-30 06:30:52", + "author_account_age_days": 2290 }, "https://github.com/FuouM/ComfyUI-FirstOrderMM": { - "stars": 5, - "last_update": "2024-08-17 15:26:38", - "author_account_age_days": 1851 + "stars": 8, + "last_update": "2025-03-27 12:22:31", + "author_account_age_days": 2290 + }, + "https://github.com/FuouM/ComfyUI-MatAnyone": { + "stars": 19, + "last_update": "2025-03-24 03:43:48", + "author_account_age_days": 2290 }, "https://github.com/FuouM/ComfyUI-StyleTransferPlus": { - "stars": 8, - "last_update": "2024-08-14 15:42:37", - "author_account_age_days": 1851 + "stars": 13, + "last_update": "2025-03-27 12:15:58", + "author_account_age_days": 2290 }, "https://github.com/FuouM/FM_nodes": { - "stars": 4, - "last_update": "2024-08-12 04:49:06", - "author_account_age_days": 1851 + "stars": 8, + "last_update": "2025-03-27 12:16:55", + "author_account_age_days": 2290 + }, + "https://github.com/FuryNocturn/ComfyUI-Dummy_Node_Pack": { + "stars": 1, + "last_update": "2025-11-30 00:35:31", + "author_account_age_days": 3213 + }, + "https://github.com/FuryNocturn/ComfyUI-Studio-Fury": { + "stars": 0, + "last_update": "2026-02-12 20:06:18", + "author_account_age_days": 3213 }, "https://github.com/Fuwuffyi/ComfyUI-VisualArea-Nodes": { - "stars": 50, + "stars": 77, "last_update": "2024-11-05 17:00:49", - "author_account_age_days": 1332 + "author_account_age_days": 1772 }, "https://github.com/G-370/ComfyUI-SD3-Powerlab": { "stars": 20, "last_update": "2024-06-22 19:17:18", - "author_account_age_days": 1689 + "author_account_age_days": 2128 }, - "https://github.com/GMapeSplat/ComfyUI_ezXY": { - "stars": 26, - "last_update": "2024-09-04 03:00:13", - "author_account_age_days": 1467 + "https://github.com/GACLove/ComfyUI-Lightx2vWrapper": { + "stars": 79, + "last_update": "2026-02-03 07:25:45", + "author_account_age_days": 2019 + }, + "https://github.com/GACLove/ComfyUI-VFI": { + "stars": 25, + "last_update": "2025-09-30 09:55:40", + "author_account_age_days": 4226 + }, + "https://github.com/GENKAIx/PixelArt-Processing-Nodes-for-ComfyUI": { + "stars": 11, + "last_update": "2024-09-06 11:37:05", + "author_account_age_days": 3019 + }, + "https://github.com/GHOSTLXH/ComfyUI-Counternodes": { + "stars": 11, + "last_update": "2025-02-20 12:58:43", + "author_account_age_days": 2778 }, "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": { - "stars": 8, - "last_update": "2024-05-22 21:31:52", - "author_account_age_days": 2726 + "stars": 13, + "last_update": "2025-11-09 20:11:28", + "author_account_age_days": 3165 + }, + "https://github.com/GZK1108/Comfyui-QwenLoraLoaderSelective": { + "stars": 2, + "last_update": "2025-10-28 02:32:13", + "author_account_age_days": 1331 + }, + "https://github.com/GadzoinksOfficial/comfyui_gprompts": { + "stars": 0, + "last_update": "2026-02-19 02:22:25", + "author_account_age_days": 765 }, "https://github.com/GadzoinksOfficial/gadzoinks_ComfyUI": { + "stars": 0, + "last_update": "2025-05-12 09:51:17", + "author_account_age_days": 765 + }, + "https://github.com/GalactusX31/ComfyUI-drag-ghost": { + "stars": 7, + "last_update": "2026-01-04 01:27:21", + "author_account_age_days": 2936 + }, + "https://github.com/GamingDaveUk/daves_nodes": { + "stars": 0, + "last_update": "2025-02-22 06:22:19", + "author_account_age_days": 1041 + }, + "https://github.com/Gary-yeh/ComfyUI-WebPrompter": { + "stars": 0, + "last_update": "2025-06-26 08:24:16", + "author_account_age_days": 1096 + }, + "https://github.com/Gary-yeh/comfyui-super-captioner": { "stars": 1, - "last_update": "2024-11-11 14:46:34", - "author_account_age_days": 326 + "last_update": "2025-07-07 15:32:34", + "author_account_age_days": 1096 }, "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": { - "stars": 12, - "last_update": "2024-10-10 20:39:32", - "author_account_age_days": 4737 + "stars": 15, + "last_update": "2026-01-20 11:21:27", + "author_account_age_days": 5177 + }, + "https://github.com/GavChap/ComfyUI_ExtractLora": { + "stars": 1, + "last_update": "2025-12-06 12:32:45", + "author_account_age_days": 5177 + }, + "https://github.com/GeekatplayStudio/ComfyUI-Text2Speech": { + "stars": 2, + "last_update": "2026-01-18 16:38:02", + "author_account_age_days": 4200 + }, + "https://github.com/GeekatplayStudio/comfyui-hitem3d": { + "stars": 15, + "last_update": "2026-01-18 16:44:50", + "author_account_age_days": 4200 + }, + "https://github.com/GeekyGhost/ComfyUI-Geeky-Kokoro-TTS": { + "stars": 47, + "last_update": "2025-11-29 15:08:39", + "author_account_age_days": 1279 + }, + "https://github.com/GeekyGhost/ComfyUI-Geeky-LatentSyncWrapper": { + "stars": 8, + "last_update": "2025-09-13 11:00:11", + "author_account_age_days": 1279 }, "https://github.com/GeekyGhost/ComfyUI-GeekyRemB": { - "stars": 37, - "last_update": "2024-12-06 15:42:18", - "author_account_age_days": 839 + "stars": 49, + "last_update": "2025-08-08 22:25:29", + "author_account_age_days": 1279 + }, + "https://github.com/GeekyGhost/ComfyUI-Image-Segmenting-Loader": { + "stars": 1, + "last_update": "2025-08-21 13:06:03", + "author_account_age_days": 1279 + }, + "https://github.com/GeekyGhost/ComfyUI_Geeky_AudioMixer": { + "stars": 3, + "last_update": "2025-08-05 15:09:34", + "author_account_age_days": 1279 + }, + "https://github.com/GegenDenTag/ComfyUI-multi-area-condition-node": { + "stars": 17, + "last_update": "2025-09-16 19:56:49", + "author_account_age_days": 481 + }, + "https://github.com/GeneralShan/comfyui-zimage-sdnq": { + "stars": 1, + "last_update": "2026-01-04 03:20:18", + "author_account_age_days": 993 }, "https://github.com/GentlemanHu/ComfyUI-SunoAI": { - "stars": 17, - "last_update": "2024-08-03 04:14:44", - "author_account_age_days": 2553 + "stars": 21, + "last_update": "2024-12-17 11:46:33", + "author_account_age_days": 2992 + }, + "https://github.com/Geo1230/ComfyUI-DeepseekOCR": { + "stars": 2, + "last_update": "2025-11-18 03:42:53", + "author_account_age_days": 108 + }, + "https://github.com/GeraldWie/ComfyUI-I2I-slim": { + "stars": 0, + "last_update": "2025-07-24 05:51:33", + "author_account_age_days": 306 + }, + "https://github.com/Gipphe/comfyui-metadata-statistics": { + "stars": 0, + "last_update": "2025-08-28 20:43:50", + "author_account_age_days": 4922 }, "https://github.com/GiusTex/ComfyUI-DiffusersImageOutpaint": { - "stars": 57, - "last_update": "2024-12-01 00:43:54", - "author_account_age_days": 835 + "stars": 90, + "last_update": "2025-07-07 10:31:15", + "author_account_age_days": 1274 + }, + "https://github.com/GiusTex/ComfyUI-MoreEfficientSamplers": { + "stars": 2, + "last_update": "2026-01-29 15:59:26", + "author_account_age_days": 1275 + }, + "https://github.com/GiusTex/ComfyUI-Wan-TimeToMove": { + "stars": 5, + "last_update": "2026-01-29 15:37:02", + "author_account_age_days": 1275 + }, + "https://github.com/GizmoR13/PG-Nodes": { + "stars": 16, + "last_update": "2025-10-10 12:52:07", + "author_account_age_days": 5434 + }, + "https://github.com/Glidias/mask2sam": { + "stars": 1, + "last_update": "2026-02-11 04:48:52", + "author_account_age_days": 5872 }, "https://github.com/Goktug/comfyui-saveimage-plus": { - "stars": 7, + "stars": 14, "last_update": "2024-11-13 06:03:10", - "author_account_age_days": 5102 + "author_account_age_days": 5541 }, - "https://github.com/Gourieff/comfyui-reactor-node": { - "stars": 1664, - "last_update": "2024-11-21 12:08:59", - "author_account_age_days": 1289 + "https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit": { + "stars": 0, + "last_update": "2026-01-14 09:13:56", + "author_account_age_days": 1109 + }, + "https://github.com/Good-Dream-Studio/ComfyUI-Connect": { + "stars": 27, + "last_update": "2025-10-17 08:20:56", + "author_account_age_days": 346 + }, + "https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes": { + "stars": 27, + "last_update": "2026-02-21 21:36:00", + "author_account_age_days": 4847 + }, + "https://github.com/Goshe-nite/comfyui-gps-supplements": { + "stars": 7, + "last_update": "2025-05-14 20:52:22", + "author_account_age_days": 1270 + }, + "https://github.com/Gourieff/ComfyUI-ReActor": { + "stars": 1091, + "last_update": "2025-12-08 08:24:57", + "author_account_age_days": 1729 + }, + "https://github.com/GraftingRayman/Border-Distance-Mapper": { + "stars": 0, + "last_update": "2025-11-17 17:49:31", + "author_account_age_days": 772 + }, + "https://github.com/GraftingRayman/ComfyUI-Dimension-Selector": { + "stars": 0, + "last_update": "2025-11-17 16:27:54", + "author_account_age_days": 772 + }, + "https://github.com/GraftingRayman/ComfyUI-Games": { + "stars": 0, + "last_update": "2026-01-31 17:06:30", + "author_account_age_days": 772 + }, + "https://github.com/GraftingRayman/ComfyUI-PuLID-Flux-GR": { + "stars": 58, + "last_update": "2025-02-24 07:15:35", + "author_account_age_days": 772 + }, + "https://github.com/GraftingRayman/ComfyUI-ZImage-Bake-Extract": { + "stars": 2, + "last_update": "2026-02-09 12:36:43", + "author_account_age_days": 772 }, "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": { - "stars": 51, - "last_update": "2024-12-09 21:07:54", - "author_account_age_days": 333 + "stars": 71, + "last_update": "2026-02-19 08:49:51", + "author_account_age_days": 772 + }, + "https://github.com/GraftingRayman/ComfyUI_QueueTube": { + "stars": 0, + "last_update": "2025-01-08 20:59:13", + "author_account_age_days": 772 + }, + "https://github.com/GraftingRayman/Unified-Vision-Prompt-Generator": { + "stars": 1, + "last_update": "2025-11-20 17:47:15", + "author_account_age_days": 772 + }, + "https://github.com/GrailGreg/images_base64": { + "stars": 2, + "last_update": "2025-05-13 07:12:00", + "author_account_age_days": 355 + }, + "https://github.com/Granddyser/wan-video-extender": { + "stars": 25, + "last_update": "2025-11-29 04:24:25", + "author_account_age_days": 1992 }, "https://github.com/GreenLandisaLie/AuraSR-ComfyUI": { - "stars": 159, - "last_update": "2024-09-04 10:58:03", - "author_account_age_days": 1367 + "stars": 202, + "last_update": "2025-09-25 21:20:31", + "author_account_age_days": 1806 + }, + "https://github.com/GreenLandisaLie/ComfyUI-BooruBrowser": { + "stars": 1, + "last_update": "2025-12-08 03:53:56", + "author_account_age_days": 1806 + }, + "https://github.com/GreenLandisaLie/ComfyUI-RichText_BasicDynamicPrompts": { + "stars": 8, + "last_update": "2026-01-04 01:50:35", + "author_account_age_days": 1806 }, "https://github.com/GrenKain/PixelArt-Processing-Nodes-for-ComfyUI": { - "stars": 5, + "stars": 11, "last_update": "2024-09-06 11:37:05", - "author_account_age_days": 2580 + "author_account_age_days": 3019 + }, + "https://github.com/GroxicTinch/EasyUI-ComfyUI": { + "stars": 5, + "last_update": "2025-07-01 15:25:45", + "author_account_age_days": 3554 }, "https://github.com/GrvBdgr/comfyui-negativewildcardsprocessor": { - "stars": 2, + "stars": 1, "last_update": "2024-11-15 19:46:39", - "author_account_age_days": 42 + "author_account_age_days": 481 + }, + "https://github.com/GuardSkill/ComfyUI-VoiceSep": { + "stars": 1, + "last_update": "2025-11-05 06:11:30", + "author_account_age_days": 3642 + }, + "https://github.com/Gue-e/ComfyUI-PanoCard": { + "stars": 16, + "last_update": "2025-06-23 08:57:03", + "author_account_age_days": 2693 }, "https://github.com/Guillaume-Fgt/ComfyUI_StableCascadeLatentRatio": { "stars": 3, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1650 + "author_account_age_days": 2089 + }, + "https://github.com/HAL-XP/halxp-comfy": { + "stars": 3, + "last_update": "2026-01-22 16:33:10", + "author_account_age_days": 3135 }, "https://github.com/HAL41/ComfyUI-aichemy-nodes": { - "stars": 4, + "stars": 6, "last_update": "2024-05-22 23:10:19", - "author_account_age_days": 3016 + "author_account_age_days": 3455 }, "https://github.com/HECer/ComfyUI-FilePathCreator": { + "stars": 15, + "last_update": "2025-04-17 16:32:12", + "author_account_age_days": 3589 + }, + "https://github.com/HJH-AILab/ComfyUI_CosyVoice2": { + "stars": 3, + "last_update": "2025-05-21 08:36:14", + "author_account_age_days": 378 + }, + "https://github.com/HJH-AILab/ComfyUI_Facefusion": { + "stars": 11, + "last_update": "2025-07-25 12:21:52", + "author_account_age_days": 378 + }, + "https://github.com/HJH-AILab/ComfyUI_StableAnimator": { + "stars": 17, + "last_update": "2025-04-24 02:45:32", + "author_account_age_days": 378 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_APICall": { + "stars": 213, + "last_update": "2025-10-18 20:06:12", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_DMOSpeech2": { + "stars": 12, + "last_update": "2025-08-12 20:03:12", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_DreamOmni2": { + "stars": 77, + "last_update": "2025-10-11 18:24:55", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_FramePack": { + "stars": 192, + "last_update": "2025-05-05 18:32:28", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_ICCustom": { + "stars": 36, + "last_update": "2025-09-03 17:40:53", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_LLM_API": { + "stars": 103, + "last_update": "2025-12-12 16:14:36", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl": { + "stars": 141, + "last_update": "2024-12-20 08:41:09", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_OneReward": { + "stars": 13, + "last_update": "2025-09-11 17:17:22", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_Ovi": { + "stars": 46, + "last_update": "2025-10-06 18:35:59", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_Qwen-Image": { + "stars": 92, + "last_update": "2025-08-05 00:38:59", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_QwenImageI2L": { + "stars": 75, + "last_update": "2025-12-12 22:04:13", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_SeedXPro": { + "stars": 63, + "last_update": "2025-07-23 11:30:36", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_Step1XEdit": { + "stars": 24, + "last_update": "2025-04-30 17:12:58", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_UNO": { + "stars": 55, + "last_update": "2025-04-15 17:12:25", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_USO": { + "stars": 55, + "last_update": "2025-09-01 19:32:02", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_VideoAsPrompt": { + "stars": 20, + "last_update": "2025-10-30 10:25:36", + "author_account_age_days": 438 + }, + "https://github.com/HM-RunningHub/ComfyUI_RH_mammothmoda": { "stars": 7, - "last_update": "2024-10-20 14:41:48", - "author_account_age_days": 3150 + "last_update": "2025-10-15 16:19:44", + "author_account_age_days": 438 + }, + "https://github.com/HMG-Fiverr/ComfyUI-RandomNumberButton": { + "stars": 0, + "last_update": "2025-06-28 05:29:49", + "author_account_age_days": 336 + }, + "https://github.com/HSDHCdev/ComfyUI-AI-Pixel-Art-Enhancer": { + "stars": 24, + "last_update": "2025-09-26 04:19:03", + "author_account_age_days": 384 + }, + "https://github.com/HWDigi/Factory-Prompts_comfyui": { + "stars": 1, + "last_update": "2025-08-06 08:31:02", + "author_account_age_days": 231 + }, + "https://github.com/Hahihula/ComfyUI-batching-nodes": { + "stars": 4, + "last_update": "2025-12-25 20:14:25", + "author_account_age_days": 4707 }, "https://github.com/Haiper-ai/ComfyUI-HaiperAI-API": { - "stars": 9, + "stars": 13, "last_update": "2024-12-06 18:08:50", - "author_account_age_days": 1169 + "author_account_age_days": 1609 }, - "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream": { - "stars": 44, - "last_update": "2024-06-14 08:08:20", - "author_account_age_days": 780 + "https://github.com/HallettVisual/ComfyUI-Qwen-Camera-Selector": { + "stars": 7, + "last_update": "2025-11-10 02:39:24", + "author_account_age_days": 510 }, - "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes": { - "stars": 40, - "last_update": "2024-06-14 08:08:28", - "author_account_age_days": 780 + "https://github.com/Hangover3832/ComfyUI_Hangover-Utils": { + "stars": 1, + "last_update": "2026-01-08 15:19:32", + "author_account_age_days": 1219 }, - "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything": { - "stars": 19, - "last_update": "2024-06-14 08:10:52", - "author_account_age_days": 780 + "https://github.com/HannibalP/comfyui-HannibalPack": { + "stars": 1, + "last_update": "2025-03-11 23:36:33", + "author_account_age_days": 3214 }, "https://github.com/Haoming02/comfyui-clear-screen": { - "stars": 2, - "last_update": "2024-09-09 09:14:41", - "author_account_age_days": 1501 + "stars": 1, + "last_update": "2025-11-19 07:54:55", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-diffusion-cg": { - "stars": 89, - "last_update": "2024-10-12 13:39:00", - "author_account_age_days": 1501 + "stars": 103, + "last_update": "2025-11-19 08:58:40", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-floodgate": { - "stars": 29, - "last_update": "2024-08-02 06:21:25", - "author_account_age_days": 1501 + "stars": 35, + "last_update": "2025-08-12 06:56:07", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-menu-anchor": { - "stars": 4, - "last_update": "2024-10-19 11:42:51", - "author_account_age_days": 1501 + "stars": 3, + "last_update": "2025-11-25 08:41:38", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-node-beautify": { "stars": 8, - "last_update": "2024-09-09 09:04:35", - "author_account_age_days": 1501 + "last_update": "2025-11-19 07:30:34", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-old-photo-restoration": { - "stars": 22, - "last_update": "2024-11-05 02:18:05", - "author_account_age_days": 1501 + "stars": 61, + "last_update": "2025-06-30 04:14:30", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-prompt-format": { - "stars": 33, - "last_update": "2024-09-20 04:29:03", - "author_account_age_days": 1501 + "stars": 35, + "last_update": "2025-11-19 07:31:58", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-resharpen": { - "stars": 42, - "last_update": "2024-08-20 05:21:20", - "author_account_age_days": 1501 + "stars": 54, + "last_update": "2025-12-09 01:57:07", + "author_account_age_days": 1940 }, "https://github.com/Haoming02/comfyui-tab-handler": { - "stars": 5, - "last_update": "2024-09-09 09:20:58", - "author_account_age_days": 1501 + "stars": 4, + "last_update": "2025-11-19 07:46:47", + "author_account_age_days": 1940 + }, + "https://github.com/HappyOnigiri/ComfyUI-Meld": { + "stars": 1, + "last_update": "2026-02-23 05:21:18", + "author_account_age_days": 45 + }, + "https://github.com/HappyXY/ComfyUI-AmazonBedrock": { + "stars": 0, + "last_update": "2025-08-08 06:14:53", + "author_account_age_days": 2847 + }, + "https://github.com/Hasasasa/ComfyUI_DashuaiTools": { + "stars": 6, + "last_update": "2026-01-29 07:45:49", + "author_account_age_days": 513 + }, + "https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes": { + "stars": 3, + "last_update": "2025-12-15 20:47:13", + "author_account_age_days": 2523 }, "https://github.com/HaydenReeve/ComfyUI-Better-Strings": { - "stars": 3, - "last_update": "2024-11-18 11:08:29", - "author_account_age_days": 2412 + "stars": 2, + "last_update": "2025-03-27 12:41:28", + "author_account_age_days": 2851 + }, + "https://github.com/Hazukiaoi/ComfyUI-LM_Studio_Tools": { + "stars": 11, + "last_update": "2025-07-02 13:28:53", + "author_account_age_days": 4584 }, "https://github.com/HeadshotPro/ComfyUI-HeadshotPro": { - "stars": 2, + "stars": 1, "last_update": "2024-08-14 04:00:34", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/Hearmeman24/ComfyUI-LoRAPlotNode": { + "stars": 31, + "last_update": "2026-01-06 13:42:45", + "author_account_age_days": 1410 + }, + "https://github.com/Hearmeman24/ComfyUI-Pinecone": { + "stars": 0, + "last_update": "2025-10-05 15:52:58", + "author_account_age_days": 1410 }, "https://github.com/HebelHuber/comfyui-enhanced-save-node": { "stars": 2, "last_update": "2024-06-14 08:59:28", - "author_account_age_days": 2494 + "author_account_age_days": 2933 + }, + "https://github.com/HellerCommaA/ComfyUI-VideoResolutions": { + "stars": 2, + "last_update": "2025-03-28 14:51:23", + "author_account_age_days": 4937 + }, + "https://github.com/HellerCommaA/ComfyUI-ZImageLatent": { + "stars": 30, + "last_update": "2025-12-03 23:23:29", + "author_account_age_days": 4937 + }, + "https://github.com/Hellfiredragon/comfyui-image-manipulation": { + "stars": 0, + "last_update": "2025-02-17 23:25:53", + "author_account_age_days": 2344 }, "https://github.com/HelloVision/ComfyUI_HelloMeme": { - "stars": 164, - "last_update": "2024-12-10 14:04:30", - "author_account_age_days": 83 + "stars": 373, + "last_update": "2025-06-27 09:47:01", + "author_account_age_days": 522 }, "https://github.com/Hellrunner2k/ComfyUI-HellrunnersMagicalNodes": { "stars": 2, - "last_update": "2024-09-05 17:29:43", - "author_account_age_days": 3254 + "last_update": "2025-05-21 02:17:36", + "author_account_age_days": 3693 }, - "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": { - "stars": 6, - "last_update": "2024-08-14 01:25:26", - "author_account_age_days": 1868 + "https://github.com/HenkDz/nd-super-nodes": { + "stars": 32, + "last_update": "2026-01-27 16:42:32", + "author_account_age_days": 3659 + }, + "https://github.com/HighDoping/ComfyUI_ASSSSA": { + "stars": 1, + "last_update": "2025-07-02 13:28:45", + "author_account_age_days": 2779 + }, + "https://github.com/HoangYell/comfyui-hoangyell-video": { + "stars": 0, + "last_update": "2025-08-21 13:34:55", + "author_account_age_days": 4352 + }, + "https://github.com/Holasyb918/Ghost2_Comfyui": { + "stars": 7, + "last_update": "2025-03-14 02:41:21", + "author_account_age_days": 1244 }, "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": { - "stars": 4, - "last_update": "2024-12-01 22:43:20", - "author_account_age_days": 358 + "stars": 7, + "last_update": "2025-09-30 20:29:12", + "author_account_age_days": 797 + }, + "https://github.com/HowToSD/ComfyUI-Data-Analysis": { + "stars": 19, + "last_update": "2025-06-11 04:28:54", + "author_account_age_days": 784 + }, + "https://github.com/HowToSD/ComfyUI-Pt-Wrapper": { + "stars": 6, + "last_update": "2025-06-11 04:48:46", + "author_account_age_days": 784 + }, + "https://github.com/Hullabalo/ComfyUI-Loop": { + "stars": 14, + "last_update": "2026-01-16 12:22:56", + "author_account_age_days": 1220 + }, + "https://github.com/I-ShadowStar/L2UC": { + "stars": 1, + "last_update": "2026-01-19 19:05:05", + "author_account_age_days": 1124 + }, + "https://github.com/IAMCCS/IAMCCS-nodes": { + "stars": 44, + "last_update": "2026-02-02 08:53:59", + "author_account_age_days": 2164 + }, + "https://github.com/IAMCCS/IAMCCS_annotate": { + "stars": 5, + "last_update": "2026-01-20 22:36:54", + "author_account_age_days": 2164 }, "https://github.com/IDGallagher/ComfyUI-IG-Motion-I2V": { - "stars": 33, + "stars": 41, "last_update": "2024-09-30 10:38:22", - "author_account_age_days": 5651 + "author_account_age_days": 6090 }, "https://github.com/IDGallagher/ComfyUI-IG-Nodes": { "stars": 3, - "last_update": "2024-10-10 10:23:48", - "author_account_age_days": 5651 + "last_update": "2025-07-14 15:28:38", + "author_account_age_days": 6090 + }, + "https://github.com/IDGallagher/MotionVideoSearch": { + "stars": 12, + "last_update": "2025-01-13 09:37:08", + "author_account_age_days": 6090 + }, + "https://github.com/IIEleven11/ComfyUI-FairyTaler": { + "stars": 4, + "last_update": "2025-07-06 03:42:02", + "author_account_age_days": 2338 + }, + "https://github.com/IIs-fanta/ComfyUI-FANTA-GameBox": { + "stars": 1, + "last_update": "2025-06-04 09:43:26", + "author_account_age_days": 933 + }, + "https://github.com/INuBq8/ComfyUI-NotificationBridge": { + "stars": 1, + "last_update": "2025-06-09 04:11:29", + "author_account_age_days": 491 + }, + "https://github.com/IRCSS/comfyUI-blender-wrapper": { + "stars": 8, + "last_update": "2025-11-26 11:10:18", + "author_account_age_days": 3594 }, "https://github.com/ITurchenko/ComfyUI-SizeFromArray": { - "stars": 1, + "stars": 0, "last_update": "2024-08-01 08:45:43", - "author_account_age_days": 3879 + "author_account_age_days": 4318 + }, + "https://github.com/IXIWORKS-KIMJUNGHO/ComfyUI-VideoDescription": { + "stars": 1, + "last_update": "2026-02-12 14:15:57", + "author_account_age_days": 2932 + }, + "https://github.com/IamCreateAI/ComfyUI-Animon": { + "stars": 1, + "last_update": "2025-11-20 11:43:41", + "author_account_age_days": 441 + }, + "https://github.com/IamCreateAI/Ruyi-Models": { + "stars": 523, + "last_update": "2025-01-20 12:21:40", + "author_account_age_days": 441 + }, + "https://github.com/Ian2073/ComfyUI-MyLLMnode": { + "stars": 0, + "last_update": "2025-09-15 12:47:01", + "author_account_age_days": 1850 + }, + "https://github.com/IcelandicCenterArtificialIntelligence/ComfyUI-SamplerSchedulerMetricsTester": { + "stars": 9, + "last_update": "2025-10-28 14:17:15", + "author_account_age_days": 638 + }, + "https://github.com/Icyman86/ComfyUI_AnimeCharacterSelect": { + "stars": 5, + "last_update": "2025-09-10 17:27:59", + "author_account_age_days": 252 }, "https://github.com/Iemand005/ComfyUI-Touch-Gestures": { - "stars": 3, - "last_update": "2024-11-13 12:30:01", - "author_account_age_days": 1667 + "stars": 4, + "last_update": "2025-12-21 06:43:05", + "author_account_age_days": 2106 }, "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures": { - "stars": 1, - "last_update": "2024-12-08 23:56:49", - "author_account_age_days": 1667 + "stars": 2, + "last_update": "2025-02-03 00:21:47", + "author_account_age_days": 2106 + }, + "https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository": { + "stars": 3, + "last_update": "2024-12-28 20:21:22", + "author_account_age_days": 2839 + }, + "https://github.com/ImagineerNL/ComfyUI-IMGNR-Utils": { + "stars": 8, + "last_update": "2026-02-06 21:41:35", + "author_account_age_days": 2162 + }, + "https://github.com/ImagineerNL/ComfyUI-ToSVG-Potracer": { + "stars": 22, + "last_update": "2025-05-08 21:56:04", + "author_account_age_days": 2162 + }, + "https://github.com/Immac/ComfyUI-CoreVideoMocks": { + "stars": 2, + "last_update": "2025-03-17 20:21:25", + "author_account_age_days": 4788 }, "https://github.com/ImmortalPie/ComfyUI-PonySwitch": { "stars": 10, - "last_update": "2024-08-18 14:05:08", - "author_account_age_days": 3992 + "last_update": "2025-03-27 12:49:04", + "author_account_age_days": 4432 + }, + "https://github.com/InceptionsAI/ComfyUI-RunComfy-Helper": { + "stars": 2, + "last_update": "2025-12-07 15:39:57", + "author_account_age_days": 1139 + }, + "https://github.com/InstantStudioAI/ComfyUI-InstantStudio": { + "stars": 4, + "last_update": "2025-03-25 06:19:54", + "author_account_age_days": 439 }, "https://github.com/Intersection98/ComfyUI_MX_post_processing-nodes": { - "stars": 9, + "stars": 13, "last_update": "2024-05-23 01:12:46", - "author_account_age_days": 2800 + "author_account_age_days": 3239 }, "https://github.com/Inzaniak/comfyui-ranbooru": { - "stars": 12, + "stars": 23, "last_update": "2024-05-22 23:12:23", - "author_account_age_days": 4079 + "author_account_age_days": 4519 + }, + "https://github.com/Irsalistic/comfyui-dam-object-extractor": { + "stars": 6, + "last_update": "2025-05-13 11:10:44", + "author_account_age_days": 929 }, "https://github.com/IsItDanOrAi/ComfyUI-Stereopsis": { - "stars": 10, - "last_update": "2024-09-21 21:39:11", - "author_account_age_days": 281 + "stars": 9, + "last_update": "2025-07-08 01:45:22", + "author_account_age_days": 720 + }, + "https://github.com/IsItDanOrAi/ComfyUI-exLoadout": { + "stars": 8, + "last_update": "2025-07-11 02:36:28", + "author_account_age_days": 721 }, "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows": { - "stars": 17, - "last_update": "2024-12-03 16:05:18", - "author_account_age_days": 1262 + "stars": 33, + "last_update": "2025-10-21 17:29:45", + "author_account_age_days": 1701 }, "https://github.com/Isi-dev/ComfyUI-Img2DrawingAssistants": { - "stars": 13, - "last_update": "2024-08-31 18:32:00", - "author_account_age_days": 1262 + "stars": 21, + "last_update": "2025-10-02 08:11:32", + "author_account_age_days": 1701 }, "https://github.com/Isi-dev/ComfyUI-Img2PaintingAssistant": { - "stars": 7, - "last_update": "2024-09-26 14:22:05", - "author_account_age_days": 1262 + "stars": 13, + "last_update": "2025-10-02 08:08:42", + "author_account_age_days": 1701 }, "https://github.com/Isi-dev/ComfyUI-UniAnimate-W": { - "stars": 64, - "last_update": "2024-10-10 20:18:15", - "author_account_age_days": 1262 + "stars": 186, + "last_update": "2025-10-02 08:17:02", + "author_account_age_days": 1701 + }, + "https://github.com/Isi-dev/ComfyUI_DeleteModelPassthrough": { + "stars": 4, + "last_update": "2026-01-12 22:21:50", + "author_account_age_days": 1701 }, "https://github.com/Isulion/ComfyUI_Isulion": { - "stars": 20, - "last_update": "2024-12-09 23:09:11", - "author_account_age_days": 527 + "stars": 38, + "last_update": "2025-05-03 12:21:05", + "author_account_age_days": 966 }, - "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4": { - "stars": 137, - "last_update": "2024-09-03 02:02:45", - "author_account_age_days": 581 + "https://github.com/IuvenisSapiens/ComfyUI_MiniCPM-V-4_5": { + "stars": 257, + "last_update": "2025-08-29 00:23:20", + "author_account_age_days": 1020 }, "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-Audio-7B-Instruct-Int4": { - "stars": 8, - "last_update": "2024-09-26 08:29:21", - "author_account_age_days": 581 + "stars": 16, + "last_update": "2025-04-02 16:35:52", + "author_account_age_days": 1020 }, - "https://github.com/IuvenisSapiens/ComfyUI_Qwen2-VL-Instruct": { - "stars": 69, - "last_update": "2024-09-26 08:31:38", - "author_account_age_days": 581 + "https://github.com/IuvenisSapiens/ComfyUI_Qwen2_5-VL-Instruct": { + "stars": 518, + "last_update": "2025-10-23 04:10:00", + "author_account_age_days": 1020 + }, + "https://github.com/IuvenisSapiens/ComfyUI_Qwen3-VL-Instruct": { + "stars": 518, + "last_update": "2025-10-23 04:10:00", + "author_account_age_days": 1020 + }, + "https://github.com/J-ChenX/ComfyUI-NIX": { + "stars": 2, + "last_update": "2025-09-29 03:08:12", + "author_account_age_days": 1938 }, "https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes": { - "stars": 1, - "last_update": "2024-12-04 15:29:48", - "author_account_age_days": 2737 + "stars": 2, + "last_update": "2026-01-12 12:29:32", + "author_account_age_days": 3176 }, "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": { - "stars": 54, + "stars": 95, "last_update": "2024-05-22 20:39:14", - "author_account_age_days": 486 + "author_account_age_days": 925 }, "https://github.com/JPrevots/ComfyUI-PhyCV": { - "stars": 2, - "last_update": "2024-08-19 22:00:21", - "author_account_age_days": 728 + "stars": 1, + "last_update": "2025-02-21 11:36:11", + "author_account_age_days": 1168 + }, + "https://github.com/JTriggerFish/ComfyLatentTools": { + "stars": 4, + "last_update": "2025-05-06 21:07:17", + "author_account_age_days": 4608 + }, + "https://github.com/JVsup/ComfyUI-SettingsToText": { + "stars": 0, + "last_update": "2026-01-03 14:58:19", + "author_account_age_days": 1636 }, "https://github.com/JackEllie/ComfyUI_AI_Assistant": { - "stars": 25, + "stars": 24, "last_update": "2024-09-05 03:42:14", - "author_account_age_days": 741 + "author_account_age_days": 1180 + }, + "https://github.com/Jacky-MYQ/comfyui-DataCleaning": { + "stars": 5, + "last_update": "2025-05-10 12:26:38", + "author_account_age_days": 952 + }, + "https://github.com/Jacky-MYQ/comfyui-rgb2cmyk": { + "stars": 3, + "last_update": "2025-04-28 02:05:19", + "author_account_age_days": 952 + }, + "https://github.com/Jairodaniel-17/ComfyUI-translate-offline": { + "stars": 2, + "last_update": "2025-12-28 12:28:37", + "author_account_age_days": 1810 + }, + "https://github.com/JamesDanielDoss/JamesDossAI-EnhancedLinks": { + "stars": 0, + "last_update": "2026-01-27 02:56:50", + "author_account_age_days": 743 + }, + "https://github.com/Jaminanim/ComfyUI-Random-Int-Divisor-Node": { + "stars": 0, + "last_update": "2025-01-07 06:50:58", + "author_account_age_days": 2171 }, "https://github.com/Jannchie/ComfyUI-J": { - "stars": 82, - "last_update": "2024-09-14 15:22:29", - "author_account_age_days": 2723 + "stars": 98, + "last_update": "2025-04-07 09:03:24", + "author_account_age_days": 3162 + }, + "https://github.com/Jannled/owl-vit-comfyui": { + "stars": 0, + "last_update": "2025-05-20 00:41:53", + "author_account_age_days": 4288 + }, + "https://github.com/Jarcis-cy/ComfyUI-HunyuanVideoFoley": { + "stars": 6, + "last_update": "2025-08-29 16:44:45", + "author_account_age_days": 2835 }, "https://github.com/JaredTherriault/ComfyUI-JNodes": { - "stars": 44, - "last_update": "2024-12-11 08:39:46", - "author_account_age_days": 3741 + "stars": 81, + "last_update": "2026-02-16 09:30:43", + "author_account_age_days": 4181 + }, + "https://github.com/Jash-Vora/ComfyUI-GarmentDiT": { + "stars": 3, + "last_update": "2025-01-04 08:22:14", + "author_account_age_days": 1020 + }, + "https://github.com/JasonHoku/ComfyUI-Ultimate-Auto-Sampler-Config-Grid-Testing-Suite": { + "stars": 69, + "last_update": "2026-02-19 01:40:44", + "author_account_age_days": 4388 + }, + "https://github.com/JayLyu/blender-in-comfyui": { + "stars": 4, + "last_update": "2025-07-20 07:39:06", + "author_account_age_days": 3877 }, "https://github.com/JcandZero/ComfyUI_GLM4Node": { - "stars": 26, + "stars": 31, "last_update": "2024-05-22 23:12:46", - "author_account_age_days": 860 + "author_account_age_days": 1299 }, "https://github.com/Jcd1230/rembg-comfyui-node": { - "stars": 148, + "stars": 181, "last_update": "2024-05-22 17:58:34", - "author_account_age_days": 5056 + "author_account_age_days": 5495 + }, + "https://github.com/Jelosus2/comfyui-vae-reflection": { + "stars": 10, + "last_update": "2025-11-11 18:27:58", + "author_account_age_days": 1913 }, "https://github.com/JerryOrbachJr/ComfyUI-RandomSize": { - "stars": 4, + "stars": 8, "last_update": "2024-08-25 18:35:55", - "author_account_age_days": 325 + "author_account_age_days": 765 }, "https://github.com/JettHu/ComfyUI-TCD": { - "stars": 114, - "last_update": "2024-07-31 13:50:21", - "author_account_age_days": 2528 + "stars": 140, + "last_update": "2026-01-06 02:24:08", + "author_account_age_days": 2967 }, "https://github.com/JettHu/ComfyUI_TGate": { - "stars": 83, - "last_update": "2024-09-24 02:15:59", - "author_account_age_days": 2528 + "stars": 101, + "last_update": "2026-01-06 02:23:54", + "author_account_age_days": 2967 }, - "https://github.com/JichaoLiang/Immortal_comfyUI": { - "stars": 3, - "last_update": "2024-12-11 07:46:34", - "author_account_age_days": 1193 + "https://github.com/JiSenHua/ComfyUI-TD": { + "stars": 127, + "last_update": "2026-01-16 07:51:20", + "author_account_age_days": 1353 + }, + "https://github.com/Jint8888/Comfyui_JTnodes": { + "stars": 1, + "last_update": "2025-04-22 16:23:53", + "author_account_age_days": 660 + }, + "https://github.com/JoeNavark/comfyui_custom_sigma_editor": { + "stars": 27, + "last_update": "2025-08-22 22:31:12", + "author_account_age_days": 1457 + }, + "https://github.com/JohanK66/ComfyUI-WebhookImage": { + "stars": 1, + "last_update": "2025-03-10 19:38:53", + "author_account_age_days": 360 + }, + "https://github.com/JohnDoeSmithee/ComfyUI-SoX-Mixdown": { + "stars": 1, + "last_update": "2025-01-26 22:42:52", + "author_account_age_days": 393 + }, + "https://github.com/Jokimbe/ComfyUI-DrawThings-gRPC": { + "stars": 27, + "last_update": "2025-12-07 20:30:30", + "author_account_age_days": 4990 }, "https://github.com/Jonseed/ComfyUI-Detail-Daemon": { - "stars": 413, - "last_update": "2024-11-04 17:57:27", - "author_account_age_days": 2349 + "stars": 933, + "last_update": "2025-12-21 19:02:05", + "author_account_age_days": 2789 }, "https://github.com/Jordach/comfy-plasma": { - "stars": 69, + "stars": 78, "last_update": "2024-05-22 18:08:28", - "author_account_age_days": 4683 + "author_account_age_days": 5122 }, "https://github.com/JosefKuchar/ComfyUI-AdvancedTiling": { - "stars": 11, + "stars": 13, "last_update": "2024-08-02 15:16:12", - "author_account_age_days": 3524 + "author_account_age_days": 3964 }, "https://github.com/JosephThomasParker/ComfyUI-DrawThingsWrapper": { - "stars": 4, - "last_update": "2024-10-21 21:03:30", - "author_account_age_days": 3340 + "stars": 46, + "last_update": "2025-02-04 21:14:38", + "author_account_age_days": 3779 + }, + "https://github.com/JuanBerta/comfyui_ollama_vl_prompt": { + "stars": 0, + "last_update": "2026-02-08 16:58:18", + "author_account_age_days": 2744 }, "https://github.com/Julian-adv/WildDivide": { - "stars": 15, - "last_update": "2024-12-11 05:01:11", - "author_account_age_days": 508 + "stars": 18, + "last_update": "2025-07-24 15:43:12", + "author_account_age_days": 947 + }, + "https://github.com/Junst/ComfyUI-Concept-Diffusion": { + "stars": 3, + "last_update": "2025-09-24 10:23:07", + "author_account_age_days": 3147 + }, + "https://github.com/JustLateNightAI/KeywordImageBlocker": { + "stars": 0, + "last_update": "2025-05-07 17:25:44", + "author_account_age_days": 490 + }, + "https://github.com/Juste-Leo2/Canary-ComfyUI": { + "stars": 13, + "last_update": "2025-10-29 15:53:49", + "author_account_age_days": 480 + }, + "https://github.com/Juste-Leo2/USO_ComfyUI": { + "stars": 6, + "last_update": "2025-08-30 20:21:25", + "author_account_age_days": 480 + }, + "https://github.com/Justify87/ComfyUI-Multi-Analysis-Heatmaps": { + "stars": 7, + "last_update": "2026-01-30 09:33:01", + "author_account_age_days": 4056 }, "https://github.com/JustinMatters/comfyUI-JMNodes": { + "stars": 0, + "last_update": "2025-01-04 14:57:58", + "author_account_age_days": 3380 + }, + "https://github.com/K3NK3/ComfyUI-K3NKImageGrab": { + "stars": 5, + "last_update": "2026-02-23 07:49:16", + "author_account_age_days": 3056 + }, + "https://github.com/K3nt3L/ComfyUI-S1Z35": { + "stars": 0, + "last_update": "2026-01-26 21:00:30", + "author_account_age_days": 1554 + }, + "https://github.com/KAVVATARE/ComfyUI-Light-N-Color": { "stars": 1, - "last_update": "2024-12-06 17:08:44", - "author_account_age_days": 2941 + "last_update": "2025-09-27 17:38:05", + "author_account_age_days": 4740 + }, + "https://github.com/KAVVATARE/ComfyUI_RightEyeDisparity": { + "stars": 3, + "last_update": "2025-05-23 19:32:04", + "author_account_age_days": 4740 + }, + "https://github.com/KAVVATARE/ComfyUI_SimpleGoogleTranslate": { + "stars": 1, + "last_update": "2025-11-29 13:36:44", + "author_account_age_days": 4740 + }, + "https://github.com/KERRY-YUAN/ComfyUI_Float_Animator": { + "stars": 6, + "last_update": "2025-06-16 06:49:23", + "author_account_age_days": 1863 + }, + "https://github.com/KERRY-YUAN/ComfyUI_Simple_Executor": { + "stars": 2, + "last_update": "2025-04-09 03:25:32", + "author_account_age_days": 1863 + }, + "https://github.com/KERRY-YUAN/ComfyUI_Spark_TTS": { + "stars": 4, + "last_update": "2025-06-10 06:16:34", + "author_account_age_days": 1863 + }, + "https://github.com/KLL535/ComfyUI_PNGInfo_Sidebar": { + "stars": 26, + "last_update": "2025-11-26 15:12:28", + "author_account_age_days": 458 + }, + "https://github.com/KLL535/ComfyUI_SimpleButcher": { + "stars": 13, + "last_update": "2025-08-23 23:14:41", + "author_account_age_days": 458 + }, + "https://github.com/KLL535/ComfyUI_Simple_Qwen3-VL-gguf": { + "stars": 35, + "last_update": "2026-02-23 22:58:38", + "author_account_age_days": 459 + }, + "https://github.com/KY-2000/ComfyUI_PuLID_Flux_ll_FaceNet": { + "stars": 2, + "last_update": "2025-08-26 15:57:33", + "author_account_age_days": 2342 + }, + "https://github.com/KY-2000/RES4LYF-tester-loop": { + "stars": 9, + "last_update": "2025-08-26 02:18:02", + "author_account_age_days": 2342 + }, + "https://github.com/KY-2000/comfyui-ksampler-tester-loop": { + "stars": 8, + "last_update": "2025-08-26 02:18:37", + "author_account_age_days": 2342 + }, + "https://github.com/KY-2000/comfyui-save-image-enhanced": { + "stars": 0, + "last_update": "2025-08-31 07:47:45", + "author_account_age_days": 2342 + }, + "https://github.com/Kaleidia/KaleidiaNodes": { + "stars": 0, + "last_update": "2026-02-22 13:08:17", + "author_account_age_days": 2281 }, "https://github.com/Kangkang625/ComfyUI-paint-by-example": { "stars": 16, "last_update": "2024-05-22 22:20:27", - "author_account_age_days": 1084 + "author_account_age_days": 1523 + }, + "https://github.com/KarmaSwint/ComfyUI-KarmaNodes": { + "stars": 1, + "last_update": "2025-06-29 16:31:15", + "author_account_age_days": 557 + }, + "https://github.com/Kayarte/AudioDriven-Latent-Space-Tools-for-ComfyUI": { + "stars": 3, + "last_update": "2025-06-15 22:39:14", + "author_account_age_days": 662 + }, + "https://github.com/Kayarte/GeoNodes": { + "stars": 1, + "last_update": "2025-10-08 03:49:26", + "author_account_age_days": 663 + }, + "https://github.com/Kazama-Suichiku/ComfyUI-Meshy": { + "stars": 4, + "last_update": "2025-12-02 09:36:39", + "author_account_age_days": 633 + }, + "https://github.com/Kebolder/ComfyUI-Jax-Nodes": { + "stars": 0, + "last_update": "2025-12-15 23:27:04", + "author_account_age_days": 2114 }, "https://github.com/Kesin11/ComfyUI-list-filter": { - "stars": 1, - "last_update": "2024-10-19 06:44:17", - "author_account_age_days": 4716 + "stars": 0, + "last_update": "2025-03-28 04:00:03", + "author_account_age_days": 5156 }, "https://github.com/KewkLW/ComfyUI-kewky_tools": { - "stars": 7, - "last_update": "2024-07-10 05:45:11", - "author_account_age_days": 1857 + "stars": 8, + "last_update": "2025-05-11 21:55:10", + "author_account_age_days": 2296 + }, + "https://github.com/Kidev/ComfyUI-FaceFilter": { + "stars": 1, + "last_update": "2025-10-04 18:43:44", + "author_account_age_days": 5211 + }, + "https://github.com/Kidev/ComfyUI-Fisheye-effects": { + "stars": 20, + "last_update": "2025-04-03 19:00:30", + "author_account_age_days": 5211 }, "https://github.com/Kinglord/ComfyUI_LoRA_Sidebar": { - "stars": 39, - "last_update": "2024-11-23 15:44:26", - "author_account_age_days": 5060 + "stars": 93, + "last_update": "2025-04-27 08:48:53", + "author_account_age_days": 5499 }, "https://github.com/Kinglord/ComfyUI_Prompt_Gallery": { - "stars": 39, + "stars": 72, "last_update": "2024-09-24 21:58:55", - "author_account_age_days": 5060 + "author_account_age_days": 5499 }, "https://github.com/Kinglord/ComfyUI_Slider_Sidebar": { - "stars": 36, + "stars": 45, "last_update": "2024-09-26 02:40:30", - "author_account_age_days": 5060 + "author_account_age_days": 5499 + }, + "https://github.com/Kishor900/comfyui-wanv2v-video-stitcher": { + "stars": 5, + "last_update": "2025-10-28 14:46:07", + "author_account_age_days": 3881 + }, + "https://github.com/KohakuBlueleaf/HDM-ext": { + "stars": 41, + "last_update": "2025-12-14 09:11:06", + "author_account_age_days": 2237 }, "https://github.com/KohakuBlueleaf/z-tipo-extension": { - "stars": 278, - "last_update": "2024-12-01 13:32:55", - "author_account_age_days": 1798 + "stars": 560, + "last_update": "2026-02-21 22:55:25", + "author_account_age_days": 2237 }, "https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler": { - "stars": 179, + "stars": 226, "last_update": "2024-09-01 03:57:22", - "author_account_age_days": 1655 + "author_account_age_days": 2095 }, - "https://github.com/KoreTeknology/ComfyUI-Compositing-Nodes-Pack": { + "https://github.com/Koishi-Star/Pyramid_Noise_For_Inference": { + "stars": 5, + "last_update": "2024-09-27 17:58:43", + "author_account_age_days": 2095 + }, + "https://github.com/Koko-boya/Comfyui-GeminiWeb": { + "stars": 51, + "last_update": "2026-01-18 03:56:05", + "author_account_age_days": 2408 + }, + "https://github.com/Koko-boya/Comfyui-Z-Image-Utilities": { + "stars": 115, + "last_update": "2026-01-27 13:45:40", + "author_account_age_days": 2408 + }, + "https://github.com/Koratahiu/ComfyUI-Diff2Flow": { + "stars": 1, + "last_update": "2025-11-23 11:41:18", + "author_account_age_days": 434 + }, + "https://github.com/Koratahiu/ComfyUI-OFTv2": { "stars": 3, + "last_update": "2026-02-22 01:12:37", + "author_account_age_days": 434 + }, + "https://github.com/KoreTeknology/ComfyUI-Nai-Production-Nodes-Pack": { + "stars": 13, "last_update": "2024-11-24 15:55:30", - "author_account_age_days": 3360 + "author_account_age_days": 3799 }, "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": { - "stars": 47, - "last_update": "2024-10-19 19:19:25", - "author_account_age_days": 3360 + "stars": 64, + "last_update": "2025-03-01 05:37:40", + "author_account_age_days": 3799 + }, + "https://github.com/Koren-cy/FlowCV": { + "stars": 3, + "last_update": "2026-02-04 16:40:27", + "author_account_age_days": 613 }, "https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet": { - "stars": 639, - "last_update": "2024-12-07 11:08:21", - "author_account_age_days": 3886 + "stars": 944, + "last_update": "2025-08-06 20:02:42", + "author_account_age_days": 4325 }, "https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved": { - "stars": 2816, - "last_update": "2024-12-11 00:24:03", - "author_account_age_days": 3886 + "stars": 3390, + "last_update": "2025-08-06 05:23:51", + "author_account_age_days": 4325 }, "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite": { - "stars": 644, - "last_update": "2024-12-11 07:15:14", - "author_account_age_days": 3886 + "stars": 1512, + "last_update": "2026-01-24 19:50:35", + "author_account_age_days": 4325 }, "https://github.com/Koushakur/ComfyUI-DenoiseChooser": { - "stars": 5, - "last_update": "2024-07-31 14:05:13", - "author_account_age_days": 1290 + "stars": 4, + "last_update": "2025-03-14 09:52:02", + "author_account_age_days": 1729 + }, + "https://github.com/KunmyonChoi/ComfyUI_S3_direct": { + "stars": 0, + "last_update": "2025-01-07 01:22:23", + "author_account_age_days": 6177 + }, + "https://github.com/Kurdknight/Kurdknight_comfycheck": { + "stars": 4, + "last_update": "2025-01-15 16:47:23", + "author_account_age_days": 1120 + }, + "https://github.com/KursatAs/KrsNodes": { + "stars": 0, + "last_update": "2025-11-01 02:54:07", + "author_account_age_days": 1182 }, "https://github.com/KwaiVGI/ComfyUI-KLingAI-API": { - "stars": 52, - "last_update": "2024-12-03 06:55:18", - "author_account_age_days": 228 + "stars": 164, + "last_update": "2025-10-24 02:07:14", + "author_account_age_days": 667 + }, + "https://github.com/Ky11le/draw_tools": { + "stars": 1, + "last_update": "2025-05-14 05:35:47", + "author_account_age_days": 1088 }, "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": { "stars": 5, "last_update": "2024-05-23 00:21:43", - "author_account_age_days": 1949 + "author_account_age_days": 2388 + }, + "https://github.com/KytraScript/ComfyUI_MatAnyone_Kytra": { + "stars": 147, + "last_update": "2025-03-16 18:58:58", + "author_account_age_days": 2388 + }, + "https://github.com/L-Hugh/ComfyUI-Lumina-DiMOO": { + "stars": 2, + "last_update": "2025-10-21 17:53:33", + "author_account_age_days": 3017 + }, + "https://github.com/L33chKing/ComfyUI-danbooru-FAISS-search": { + "stars": 3, + "last_update": "2025-09-16 17:54:17", + "author_account_age_days": 2859 + }, + "https://github.com/L33chKing/ComfyUI_Channel_Ops": { + "stars": 1, + "last_update": "2025-10-23 05:44:23", + "author_account_age_days": 2859 + }, + "https://github.com/L33chKing/comfyui-tag-frequency-weighter": { + "stars": 0, + "last_update": "2025-08-17 22:37:50", + "author_account_age_days": 2859 + }, + "https://github.com/LAOGOU-666/ComfyUI-LG_HotReload": { + "stars": 291, + "last_update": "2026-02-06 12:31:40", + "author_account_age_days": 704 + }, + "https://github.com/LAOGOU-666/ComfyUI-LG_SamplingUtils": { + "stars": 177, + "last_update": "2025-12-24 23:54:58", + "author_account_age_days": 704 }, "https://github.com/LAOGOU-666/ComfyUI_LG_FFT": { - "stars": 6, + "stars": 8, "last_update": "2024-10-10 04:45:57", - "author_account_age_days": 265 + "author_account_age_days": 704 + }, + "https://github.com/LAOGOU-666/Comfyui-LG_GroupExecutor": { + "stars": 218, + "last_update": "2026-02-05 14:25:34", + "author_account_age_days": 704 + }, + "https://github.com/LAOGOU-666/Comfyui-LG_Relight": { + "stars": 213, + "last_update": "2025-06-16 13:28:22", + "author_account_age_days": 704 + }, + "https://github.com/LAOGOU-666/Comfyui-Memory_Cleanup": { + "stars": 312, + "last_update": "2026-01-12 08:22:43", + "author_account_age_days": 704 + }, + "https://github.com/LAOGOU-666/Comfyui_LG_Tools": { + "stars": 339, + "last_update": "2026-01-27 06:52:03", + "author_account_age_days": 704 + }, + "https://github.com/LDNKS094/ComfyUI-Painter-I2V-AIO": { + "stars": 0, + "last_update": "2026-01-21 11:13:19", + "author_account_age_days": 229 }, "https://github.com/LEv145/images-grid-comfy-plugin": { - "stars": 166, + "stars": 201, "last_update": "2024-05-30 17:54:32", - "author_account_age_days": 2377 + "author_account_age_days": 2817 + }, + "https://github.com/LK-168/comfyui_imgutils": { + "stars": 1, + "last_update": "2025-06-30 07:23:25", + "author_account_age_days": 239 + }, + "https://github.com/LKbaba/ComfyUI-TuZi-Flux-Kontext": { + "stars": 28, + "last_update": "2025-06-19 03:37:53", + "author_account_age_days": 3098 + }, + "https://github.com/LaVie024/comfyui-lopi999-llm": { + "stars": 0, + "last_update": "2026-01-04 05:11:58", + "author_account_age_days": 2166 + }, + "https://github.com/LaVie024/comfyui-lopi999-nodes": { + "stars": 9, + "last_update": "2025-12-24 18:35:44", + "author_account_age_days": 2166 + }, + "https://github.com/Lakonik/ComfyUI-piFlow": { + "stars": 158, + "last_update": "2026-01-23 19:09:31", + "author_account_age_days": 2391 + }, + "https://github.com/LamEmil/ComfyUI_ASCIIArtNode": { + "stars": 1, + "last_update": "2025-05-18 09:22:38", + "author_account_age_days": 510 + }, + "https://github.com/LaoMaoBoss/ComfyUI-WBLESS": { + "stars": 0, + "last_update": "2025-12-04 10:00:34", + "author_account_age_days": 341 }, "https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": { - "stars": 47, + "stars": 74, "last_update": "2024-06-06 20:45:43", - "author_account_age_days": 334 + "author_account_age_days": 773 }, "https://github.com/LarryJane491/Lora-Training-in-Comfy": { - "stars": 392, + "stars": 535, "last_update": "2024-08-05 11:32:30", - "author_account_age_days": 334 + "author_account_age_days": 773 }, "https://github.com/LatentRat/comfy_remote_run": { - "stars": 4, - "last_update": "2024-09-08 04:06:09", - "author_account_age_days": 914 + "stars": 9, + "last_update": "2025-12-01 22:21:43", + "author_account_age_days": 1353 }, "https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer": { - "stars": 10, - "last_update": "2024-12-11 04:04:44", - "author_account_age_days": 29 + "stars": 19, + "last_update": "2025-12-15 08:08:49", + "author_account_age_days": 468 + }, + "https://github.com/Laurent2916/comfyui-piq": { + "stars": 0, + "last_update": "2025-03-17 13:50:16", + "author_account_age_days": 3477 + }, + "https://github.com/Lavah000/ComfyUI-AdvGenPack": { + "stars": 1, + "last_update": "2025-11-05 03:36:00", + "author_account_age_days": 788 }, "https://github.com/Layer-norm/comfyui-lama-remover": { - "stars": 99, + "stars": 150, "last_update": "2024-08-03 04:18:39", - "author_account_age_days": 502 + "author_account_age_days": 941 + }, + "https://github.com/LeanModels/ComfyUI-DFloat11": { + "stars": 17, + "last_update": "2025-08-26 08:55:44", + "author_account_age_days": 364 + }, + "https://github.com/Legorobotdude/ComfyUI-VariationLab": { + "stars": 1, + "last_update": "2025-03-02 04:59:28", + "author_account_age_days": 3979 + }, + "https://github.com/LeonQ8/ComfyUI-Dynamic-Lora-Scheduler": { + "stars": 1, + "last_update": "2025-12-16 09:47:17", + "author_account_age_days": 680 }, "https://github.com/Lerc/canvas_tab": { - "stars": 167, + "stars": 203, "last_update": "2024-05-22 20:48:45", - "author_account_age_days": 5537 + "author_account_age_days": 5976 }, "https://github.com/LevelPixel/ComfyUI-LevelPixel": { - "stars": 2, - "last_update": "2024-12-08 23:10:10", - "author_account_age_days": 152 + "stars": 24, + "last_update": "2025-09-01 07:46:45", + "author_account_age_days": 591 + }, + "https://github.com/LevelPixel/ComfyUI-LevelPixel-Advanced": { + "stars": 17, + "last_update": "2025-09-24 19:23:21", + "author_account_age_days": 591 + }, + "https://github.com/Lex-DRL/ComfyUI-BestResolution": { + "stars": 14, + "last_update": "2025-10-03 07:10:43", + "author_account_age_days": 4725 + }, + "https://github.com/Lex-DRL/ComfyUI-StringConstructor": { + "stars": 3, + "last_update": "2025-09-18 16:04:48", + "author_account_age_days": 4725 }, "https://github.com/Lhyejin/ComfyUI-Fill-Image-for-Outpainting": { "stars": 9, "last_update": "2024-08-26 00:40:09", - "author_account_age_days": 2772 + "author_account_age_days": 3211 + }, + "https://github.com/LiJT/ComfyUI-Gemini-Prompt-Generator-JT": { + "stars": 4, + "last_update": "2026-02-23 10:51:50", + "author_account_age_days": 4011 + }, + "https://github.com/Light-x02/ComfyUI-Civitai-Discovery-Hub": { + "stars": 32, + "last_update": "2025-12-16 18:11:36", + "author_account_age_days": 1387 + }, + "https://github.com/Light-x02/ComfyUI-FluxSettingsNode": { + "stars": 8, + "last_update": "2025-04-28 21:45:01", + "author_account_age_days": 1387 + }, + "https://github.com/Light-x02/ComfyUI-Image-Metadata-Nodes": { + "stars": 8, + "last_update": "2025-05-01 18:14:59", + "author_account_age_days": 1387 + }, + "https://github.com/Light-x02/ComfyUI-Lightx02-Nodes": { + "stars": 9, + "last_update": "2025-12-18 15:13:54", + "author_account_age_days": 1387 + }, + "https://github.com/Light-x02/ComfyUI-checkpoint-Discovery-Hub": { + "stars": 8, + "last_update": "2025-10-11 12:43:37", + "author_account_age_days": 1387 + }, + "https://github.com/Light-x02/ComfyUI_Crop_Image_By_Lightx02": { + "stars": 1, + "last_update": "2025-08-24 15:15:23", + "author_account_age_days": 1387 }, "https://github.com/LightSketch-ai/ComfyUI-LivePortraitNode": { "stars": 2, "last_update": "2024-07-17 01:24:53", - "author_account_age_days": 154 + "author_account_age_days": 593 }, "https://github.com/Lightricks/ComfyUI-LTXVideo": { - "stars": 381, - "last_update": "2024-12-03 14:55:31", - "author_account_age_days": 4360 + "stars": 3154, + "last_update": "2026-02-11 09:55:23", + "author_account_age_days": 4800 + }, + "https://github.com/Limbicnation/ComfyUI-PromptGenerator": { + "stars": 4, + "last_update": "2026-02-16 05:32:47", + "author_account_age_days": 4438 + }, + "https://github.com/Limbicnation/ComfyUI-RandomSeedGenerator": { + "stars": 6, + "last_update": "2025-08-28 05:17:39", + "author_account_age_days": 4438 + }, + "https://github.com/Limbicnation/ComfyUI-TransparencyBackgroundRemover": { + "stars": 14, + "last_update": "2025-11-14 04:36:40", + "author_account_age_days": 4438 + }, + "https://github.com/Limbicnation/ComfyUIDepthEstimation": { + "stars": 22, + "last_update": "2026-02-16 04:00:19", + "author_account_age_days": 4438 + }, + "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode": { + "stars": 3, + "last_update": "2025-07-22 04:44:07", + "author_account_age_days": 4438 }, "https://github.com/Limitex/ComfyUI-Calculation": { "stars": 0, "last_update": "2024-05-22 22:18:40", - "author_account_age_days": 1445 + "author_account_age_days": 1884 }, "https://github.com/Limitex/ComfyUI-Diffusers": { - "stars": 137, - "last_update": "2024-05-22 22:18:57", - "author_account_age_days": 1445 + "stars": 181, + "last_update": "2025-11-28 17:04:22", + "author_account_age_days": 1884 }, "https://github.com/Ling-APE/ComfyUI-PixelResolutionCalculator": { - "stars": 7, - "last_update": "2024-09-23 06:31:38", - "author_account_age_days": 557 + "stars": 8, + "last_update": "2025-06-02 02:45:04", + "author_account_age_days": 996 + }, + "https://github.com/LingSss9/comfyui-merge": { + "stars": 15, + "last_update": "2025-08-13 04:43:40", + "author_account_age_days": 871 }, "https://github.com/Loewen-Hob/rembg-comfyui-node-better": { - "stars": 61, - "last_update": "2024-09-12 14:16:23", - "author_account_age_days": 640 + "stars": 72, + "last_update": "2025-04-07 09:09:34", + "author_account_age_days": 1080 }, "https://github.com/LonicaMewinsky/ComfyUI-MakeFrame": { - "stars": 28, + "stars": 29, "last_update": "2024-05-22 21:29:02", - "author_account_age_days": 1145 + "author_account_age_days": 1585 }, "https://github.com/LonicaMewinsky/ComfyUI-RawSaver": { - "stars": 2, + "stars": 3, "last_update": "2024-05-22 21:31:28", - "author_account_age_days": 1145 + "author_account_age_days": 1585 + }, + "https://github.com/LoveEatCandy/COMFYUI-ReplacePartOfImage": { + "stars": 0, + "last_update": "2025-06-17 05:53:17", + "author_account_age_days": 3050 + }, + "https://github.com/Lovzu/ComfyUI-KittenTTS": { + "stars": 1, + "last_update": "2025-08-09 06:04:38", + "author_account_age_days": 393 + }, + "https://github.com/Ltamann/ComfyUI-FastVLM-7B": { + "stars": 4, + "last_update": "2025-08-30 10:49:54", + "author_account_age_days": 4828 + }, + "https://github.com/Ltamann/ComfyUI-TBG-ETUR": { + "stars": 117, + "last_update": "2026-02-09 17:20:43", + "author_account_age_days": 4828 + }, + "https://github.com/Ltamann/ComfyUI-TBG-SAM3": { + "stars": 152, + "last_update": "2025-11-29 08:30:57", + "author_account_age_days": 4828 + }, + "https://github.com/Ltamann/ComfyUI-TBG-Takeaways": { + "stars": 17, + "last_update": "2026-01-24 15:08:35", + "author_account_age_days": 4828 + }, + "https://github.com/LucipherDev/ComfyUI-AniDoc": { + "stars": 56, + "last_update": "2025-03-28 18:39:10", + "author_account_age_days": 2106 }, "https://github.com/LucipherDev/ComfyUI-Golden-Noise": { - "stars": 9, - "last_update": "2024-12-09 19:21:12", - "author_account_age_days": 1667 + "stars": 23, + "last_update": "2025-03-28 18:38:24", + "author_account_age_days": 2106 + }, + "https://github.com/LucipherDev/ComfyUI-TangoFlux": { + "stars": 104, + "last_update": "2025-03-28 18:39:16", + "author_account_age_days": 2106 }, "https://github.com/Ludobico/ComfyUI-ScenarioPrompt": { - "stars": 15, - "last_update": "2024-08-01 00:52:11", - "author_account_age_days": 1202 + "stars": 17, + "last_update": "2025-03-12 09:07:07", + "author_account_age_days": 1642 + }, + "https://github.com/LukeCoulson1/Comfyui_LoraCombine": { + "stars": 5, + "last_update": "2025-09-18 20:12:57", + "author_account_age_days": 942 + }, + "https://github.com/Lumiyumi/LumyINTP": { + "stars": 0, + "last_update": "2026-01-09 17:01:51", + "author_account_age_days": 745 + }, + "https://github.com/LuqP2/ImageMetaHub-ComfyUI-Save": { + "stars": 11, + "last_update": "2026-01-25 15:58:48", + "author_account_age_days": 392 }, "https://github.com/LyazS/comfyui-anime-seg": { - "stars": 8, + "stars": 9, "last_update": "2024-05-22 23:21:49", - "author_account_age_days": 3027 + "author_account_age_days": 3466 }, "https://github.com/LyazS/comfyui-nettools": { - "stars": 3, + "stars": 4, "last_update": "2024-09-23 12:52:44", - "author_account_age_days": 3027 + "author_account_age_days": 3466 + }, + "https://github.com/Lysthan/ComfyUI-LYSTHAN-PPS": { + "stars": 0, + "last_update": "2025-12-21 12:28:20", + "author_account_age_days": 74 }, "https://github.com/M1kep/ComfyLiterals": { - "stars": 25, + "stars": 96, "last_update": "2024-05-22 20:31:38", - "author_account_age_days": 4428 + "author_account_age_days": 4867 }, "https://github.com/M1kep/ComfyUI-KepOpenAI": { - "stars": 29, + "stars": 30, "last_update": "2024-08-20 16:33:57", - "author_account_age_days": 4428 + "author_account_age_days": 4867 }, "https://github.com/M1kep/ComfyUI-OtherVAEs": { "stars": 2, "last_update": "2024-05-22 20:33:41", - "author_account_age_days": 4428 + "author_account_age_days": 4867 }, "https://github.com/M1kep/Comfy_KepKitchenSink": { "stars": 0, "last_update": "2024-05-22 20:33:29", - "author_account_age_days": 4428 + "author_account_age_days": 4867 }, "https://github.com/M1kep/Comfy_KepListStuff": { - "stars": 36, + "stars": 53, "last_update": "2024-06-22 00:51:28", - "author_account_age_days": 4428 + "author_account_age_days": 4867 }, "https://github.com/M1kep/Comfy_KepMatteAnything": { "stars": 11, "last_update": "2024-05-22 20:33:16", - "author_account_age_days": 4428 + "author_account_age_days": 4867 }, "https://github.com/M1kep/KepPromptLang": { - "stars": 6, + "stars": 7, "last_update": "2024-05-22 20:32:56", - "author_account_age_days": 4428 + "author_account_age_days": 4867 + }, + "https://github.com/MDMAchine/ComfyUI_MD_Nodes": { + "stars": 11, + "last_update": "2025-12-05 05:41:57", + "author_account_age_days": 2259 }, "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": { - "stars": 50, - "last_update": "2024-12-08 14:10:26", - "author_account_age_days": 1775 + "stars": 95, + "last_update": "2026-01-26 00:54:01", + "author_account_age_days": 2214 + }, + "https://github.com/MadiatorLabs/ComfyUI-RunpodDirect": { + "stars": 9, + "last_update": "2025-11-19 20:54:13", + "author_account_age_days": 138 + }, + "https://github.com/Maenvaeru/comfyui-vram-overlay": { + "stars": 1, + "last_update": "2025-12-20 18:29:00", + "author_account_age_days": 3187 + }, + "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager": { + "stars": 49, + "last_update": "2026-02-21 19:30:36", + "author_account_age_days": 1059 + }, + "https://github.com/MajoorWaldi/ComfyUI-Majoor-ImageOps": { + "stars": 0, + "last_update": "2026-01-26 11:07:12", + "author_account_age_days": 1059 }, "https://github.com/Makeezi/ComfyUI-promptLAB": { "stars": 0, "last_update": "2024-05-23 01:24:51", - "author_account_age_days": 1952 + "author_account_age_days": 2391 + }, + "https://github.com/MakkiShizu/ComfyUI-MakkiTools": { + "stars": 7, + "last_update": "2026-01-29 09:01:56", + "author_account_age_days": 922 }, "https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards": { - "stars": 3, - "last_update": "2024-12-08 04:30:11", - "author_account_age_days": 482 + "stars": 20, + "last_update": "2025-08-16 09:04:36", + "author_account_age_days": 922 }, - "https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF": { - "stars": 2, - "last_update": "2024-11-20 13:18:23", - "author_account_age_days": 482 + "https://github.com/MakkiShizu/ComfyUI-Qwen2_5-VL": { + "stars": 18, + "last_update": "2025-09-22 12:41:25", + "author_account_age_days": 922 + }, + "https://github.com/MakkiShizu/ComfyUI-animetimm": { + "stars": 6, + "last_update": "2026-01-11 08:18:07", + "author_account_age_days": 922 }, "https://github.com/MakkiShizu/comfyui_reimgsize": { - "stars": 6, - "last_update": "2024-12-11 05:56:23", - "author_account_age_days": 482 + "stars": 5, + "last_update": "2025-04-27 15:34:57", + "author_account_age_days": 922 + }, + "https://github.com/Malkalypse/ComfyUI-MouseCoords": { + "stars": 0, + "last_update": "2026-01-29 16:03:53", + "author_account_age_days": 2495 + }, + "https://github.com/Malte0621/hordeai-comfy": { + "stars": 0, + "last_update": "2025-09-08 16:55:53", + "author_account_age_days": 2488 }, "https://github.com/Mamaaaamooooo/batchImg-rembg-ComfyUI-nodes": { - "stars": 23, + "stars": 29, "last_update": "2024-06-14 10:24:17", - "author_account_age_days": 552 + "author_account_age_days": 991 }, "https://github.com/ManglerFTW/ComfyI2I": { - "stars": 163, + "stars": 177, "last_update": "2024-06-14 11:01:01", - "author_account_age_days": 825 + "author_account_age_days": 1264 }, "https://github.com/MaraScott/ComfyUI_MaraScott_Nodes": { - "stars": 118, - "last_update": "2024-12-11 11:04:46", - "author_account_age_days": 5140 + "stars": 178, + "last_update": "2025-11-12 21:46:59", + "author_account_age_days": 5579 }, "https://github.com/MarcusNyne/m9-prompts-comfyui": { - "stars": 2, + "stars": 1, "last_update": "2024-08-24 16:56:53", - "author_account_age_days": 1592 + "author_account_age_days": 2032 }, "https://github.com/MariusKM/ComfyUI-BadmanNodes": { - "stars": 2, - "last_update": "2024-11-06 18:01:53", - "author_account_age_days": 2400 + "stars": 3, + "last_update": "2025-11-12 22:57:40", + "author_account_age_days": 2840 }, "https://github.com/MarkoCa1/ComfyUI-Text": { - "stars": 4, - "last_update": "2024-05-23 00:15:39", - "author_account_age_days": 1803 + "stars": 9, + "last_update": "2024-12-16 09:48:49", + "author_account_age_days": 2242 }, "https://github.com/MarkoCa1/ComfyUI_Segment_Mask": { - "stars": 21, + "stars": 24, "last_update": "2024-05-23 00:15:51", - "author_account_age_days": 1803 + "author_account_age_days": 2242 }, "https://github.com/Marksusu/ComfyUI_MTCLIPEncode": { - "stars": 6, - "last_update": "2024-11-01 07:41:03", - "author_account_age_days": 878 + "stars": 9, + "last_update": "2025-05-07 13:56:23", + "author_account_age_days": 1317 + }, + "https://github.com/Markus-Pasanen/batch_whisper_extension": { + "stars": 0, + "last_update": "2025-11-18 16:28:55", + "author_account_age_days": 2705 + }, + "https://github.com/MartinDeanMoriarty/ComfyUI-DeanLogic": { + "stars": 0, + "last_update": "2025-07-19 23:30:14", + "author_account_age_days": 4003 + }, + "https://github.com/MartinDeanMoriarty/ComfyUI-NumberToText": { + "stars": 0, + "last_update": "2025-11-01 13:35:28", + "author_account_age_days": 4003 + }, + "https://github.com/MaruPelkar/comfyui-conditioning-resizer": { + "stars": 2, + "last_update": "2025-04-21 20:57:33", + "author_account_age_days": 4190 }, "https://github.com/Mason-McGough/ComfyUI-Mosaica": { - "stars": 7, + "stars": 6, "last_update": "2024-08-26 20:42:35", - "author_account_age_days": 3375 + "author_account_age_days": 3814 + }, + "https://github.com/MasterDenis/VAE-Decode-Switch": { + "stars": 4, + "last_update": "2025-07-19 12:00:54", + "author_account_age_days": 2179 + }, + "https://github.com/Mattabyte/ComfyUI-SecureApiCall": { + "stars": 0, + "last_update": "2025-03-07 23:55:55", + "author_account_age_days": 2216 + }, + "https://github.com/Matthew-X/comfyui-workflow_importer": { + "stars": 0, + "last_update": "2025-12-10 09:16:34", + "author_account_age_days": 3383 + }, + "https://github.com/Maxed-Out-99/ComfyUI-MaxedOut": { + "stars": 7, + "last_update": "2026-02-22 17:12:01", + "author_account_age_days": 289 + }, + "https://github.com/Maxed-Out-99/ComfyUI-SmartModelLoaders-MXD": { + "stars": 1, + "last_update": "2026-02-22 16:21:34", + "author_account_age_days": 289 + }, + "https://github.com/McKlinton2/comfyui-mcklinton-pack": { + "stars": 4, + "last_update": "2025-05-31 18:41:13", + "author_account_age_days": 1388 }, "https://github.com/Mcmillian/ComfyUI-SimpleToolsNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-29 14:18:23", - "author_account_age_days": 3066 + "author_account_age_days": 3505 + }, + "https://github.com/Me-gumin/MeComfyuiEncrypt": { + "stars": 5, + "last_update": "2025-12-26 13:35:29", + "author_account_age_days": 1462 + }, + "https://github.com/MechaBabyAi/ComfyUI-MechaBaby-NodeLayout": { + "stars": 0, + "last_update": "2026-02-01 09:58:15", + "author_account_age_days": 111 + }, + "https://github.com/MechaBabyAi/ComfyUI-MechaBaby-WorkflowTracer": { + "stars": 3, + "last_update": "2026-02-01 07:41:38", + "author_account_age_days": 111 + }, + "https://github.com/MechaBabyAi/ComfyUI-MechaBabyNodeSearch": { + "stars": 6, + "last_update": "2026-02-01 06:23:14", + "author_account_age_days": 111 + }, + "https://github.com/MeeeyoAI/ComfyUI_StringOps": { + "stars": 177, + "last_update": "2025-06-04 17:47:55", + "author_account_age_days": 366 + }, + "https://github.com/Meettya/ComfyUI-OneForOne": { + "stars": 2, + "last_update": "2025-01-07 22:49:30", + "author_account_age_days": 5941 + }, + "https://github.com/Meisoftcoltd/ComfyUI-Demucs-AudioSeparator": { + "stars": 0, + "last_update": "2026-02-10 11:25:37", + "author_account_age_days": 2863 + }, + "https://github.com/Meisoftcoltd/comfyui-sequential-batcher": { + "stars": 1, + "last_update": "2026-02-06 13:33:22", + "author_account_age_days": 2863 + }, + "https://github.com/Merserk/ComfyUI-Flow-Assistor": { + "stars": 2, + "last_update": "2026-01-27 17:04:05", + "author_account_age_days": 1181 }, "https://github.com/MetaGLM/ComfyUI-ZhipuAI-Platform": { "stars": 6, "last_update": "2024-09-16 16:11:59", - "author_account_age_days": 449 + "author_account_age_days": 888 + }, + "https://github.com/Mexes1978/comfyui-comfysketch": { + "stars": 32, + "last_update": "2026-02-09 01:22:50", + "author_account_age_days": 28 + }, + "https://github.com/MichaelMaxAgent/comfyui_ML_nodes": { + "stars": 0, + "last_update": "2025-12-03 06:42:44", + "author_account_age_days": 669 + }, + "https://github.com/MicheleGuidi/ComfyUI-Contextual-SAM2": { + "stars": 7, + "last_update": "2025-05-01 16:09:43", + "author_account_age_days": 1858 }, "https://github.com/MiddleKD/ComfyUI-denoise-mask-scheduler": { - "stars": 5, + "stars": 6, "last_update": "2024-11-07 12:35:00", - "author_account_age_days": 700 + "author_account_age_days": 1139 }, "https://github.com/MiddleKD/ComfyUI-mem-safe-wrapper": { - "stars": 3, + "stars": 4, "last_update": "2024-08-01 06:47:24", - "author_account_age_days": 700 + "author_account_age_days": 1139 }, "https://github.com/MiddleKD/ComfyUI-productfix": { - "stars": 8, - "last_update": "2024-08-13 01:11:21", - "author_account_age_days": 700 + "stars": 12, + "last_update": "2025-05-12 05:00:24", + "author_account_age_days": 1139 + }, + "https://github.com/MieMieeeee/ComfyUI-CaptionThis": { + "stars": 120, + "last_update": "2025-10-09 02:40:02", + "author_account_age_days": 2166 + }, + "https://github.com/MieMieeeee/ComfyUI-MieNodes": { + "stars": 160, + "last_update": "2026-02-13 07:31:39", + "author_account_age_days": 2166 + }, + "https://github.com/MieMieeeee/ComfyUI-MinioConnector": { + "stars": 4, + "last_update": "2025-03-21 09:09:09", + "author_account_age_days": 2166 + }, + "https://github.com/MijnSpam/ComfyUI_SwapAndScale": { + "stars": 0, + "last_update": "2025-05-31 09:27:10", + "author_account_age_days": 1158 + }, + "https://github.com/MijnSpam/UploadToPushOver": { + "stars": 2, + "last_update": "2025-05-31 09:32:38", + "author_account_age_days": 1158 }, "https://github.com/MilitantHitchhiker/MilitantHitchhiker-SwitchbladePack": { - "stars": 5, - "last_update": "2024-10-06 07:46:05", - "author_account_age_days": 230 + "stars": 3, + "last_update": "2025-10-09 02:55:31", + "author_account_age_days": 669 + }, + "https://github.com/MilleN2ium/ComfyUI-CutomizableSave": { + "stars": 0, + "last_update": "2025-09-09 14:09:43", + "author_account_age_days": 172 }, "https://github.com/Mintbeer96/ComfyUI-KerasOCR": { - "stars": 3, + "stars": 4, "last_update": "2024-07-24 16:39:41", - "author_account_age_days": 3347 + "author_account_age_days": 3786 }, "https://github.com/MinusZoneAI/ComfyUI-CogVideoX-MZ": { - "stars": 96, + "stars": 109, "last_update": "2024-10-30 10:52:42", - "author_account_age_days": 235 + "author_account_age_days": 675 }, "https://github.com/MinusZoneAI/ComfyUI-Flux1Quantize-MZ": { "stars": 12, "last_update": "2024-08-14 04:01:10", - "author_account_age_days": 235 + "author_account_age_days": 675 }, "https://github.com/MinusZoneAI/ComfyUI-FluxExt-MZ": { - "stars": 190, + "stars": 344, "last_update": "2024-08-16 18:57:07", - "author_account_age_days": 235 + "author_account_age_days": 675 }, "https://github.com/MinusZoneAI/ComfyUI-Kolors-MZ": { - "stars": 513, - "last_update": "2024-10-09 14:17:42", - "author_account_age_days": 235 + "stars": 589, + "last_update": "2025-03-31 02:51:00", + "author_account_age_days": 675 }, "https://github.com/MinusZoneAI/ComfyUI-Prompt-MZ": { - "stars": 109, - "last_update": "2024-08-24 06:18:57", - "author_account_age_days": 235 + "stars": 129, + "last_update": "2025-08-14 07:01:19", + "author_account_age_days": 675 }, "https://github.com/MinusZoneAI/ComfyUI-StylizePhoto-MZ": { "stars": 18, "last_update": "2024-05-23 01:13:32", - "author_account_age_days": 235 + "author_account_age_days": 675 }, "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ": { - "stars": 47, - "last_update": "2024-08-15 19:21:36", - "author_account_age_days": 235 + "stars": 62, + "last_update": "2025-02-24 06:08:49", + "author_account_age_days": 675 }, "https://github.com/Miosp/ComfyUI-FBCNN": { - "stars": 17, - "last_update": "2024-08-02 19:54:17", - "author_account_age_days": 2686 + "stars": 36, + "last_update": "2025-02-24 20:53:32", + "author_account_age_days": 3125 }, - "https://github.com/MitoshiroPJ/comfyui_slothful_attention": { + "https://github.com/Mister-Link/link-comfy-nodes": { + "stars": 0, + "last_update": "2026-02-18 15:39:03", + "author_account_age_days": 1291 + }, + "https://github.com/MithrilMan/ComfyUI-MithrilNodes": { + "stars": 0, + "last_update": "2025-07-21 22:39:24", + "author_account_age_days": 4593 + }, + "https://github.com/MitoshiroPJ/ComfyUI_save_image_sdli": { + "stars": 1, + "last_update": "2025-07-04 12:59:35", + "author_account_age_days": 4577 + }, + "https://github.com/MitoshiroPJ/comfyui_nearsighted_attention": { + "stars": 2, + "last_update": "2025-07-04 12:30:55", + "author_account_age_days": 4577 + }, + "https://github.com/Miyuutsu/comfyui-save-vpred": { + "stars": 4, + "last_update": "2024-12-15 22:29:47", + "author_account_age_days": 3534 + }, + "https://github.com/ModelTC/ComfyUI-LightVAE": { + "stars": 45, + "last_update": "2025-11-03 08:47:45", + "author_account_age_days": 2019 + }, + "https://github.com/ModelTC/ComfyUI-Lightx2vWrapper": { + "stars": 79, + "last_update": "2026-02-03 07:25:45", + "author_account_age_days": 2019 + }, + "https://github.com/Moeblack/ComfyUI-SimpleChat": { "stars": 7, - "last_update": "2024-05-22 22:09:15", - "author_account_age_days": 4138 + "last_update": "2026-02-02 12:13:21", + "author_account_age_days": 3200 }, "https://github.com/MohammadAboulEla/ComfyUI-iTools": { - "stars": 30, - "last_update": "2024-11-17 22:32:37", - "author_account_age_days": 1196 + "stars": 213, + "last_update": "2026-02-18 01:36:45", + "author_account_age_days": 1635 }, "https://github.com/MokkaBoss1/ComfyUI_Mokkaboss1": { - "stars": 17, - "last_update": "2024-10-29 17:51:36", - "author_account_age_days": 549 + "stars": 16, + "last_update": "2026-01-24 14:28:36", + "author_account_age_days": 988 + }, + "https://github.com/MontagenAI/ComfyUI-Montagen": { + "stars": 28, + "last_update": "2025-05-29 10:43:37", + "author_account_age_days": 439 + }, + "https://github.com/MoonGoblinDev/Civicomfy": { + "stars": 91, + "last_update": "2026-02-14 05:57:16", + "author_account_age_days": 3412 + }, + "https://github.com/MoonHugo/ComfyUI-BAGEL-Hugo": { + "stars": 3, + "last_update": "2025-06-04 08:48:11", + "author_account_age_days": 538 }, "https://github.com/MoonHugo/ComfyUI-BiRefNet-Hugo": { - "stars": 172, - "last_update": "2024-10-18 04:02:27", - "author_account_age_days": 99 + "stars": 364, + "last_update": "2025-05-25 15:37:49", + "author_account_age_days": 538 }, "https://github.com/MoonHugo/ComfyUI-FFmpeg": { - "stars": 31, - "last_update": "2024-11-13 03:38:07", - "author_account_age_days": 99 + "stars": 135, + "last_update": "2025-08-15 02:03:41", + "author_account_age_days": 538 }, "https://github.com/MoonHugo/ComfyUI-StableAudioOpen": { - "stars": 16, + "stars": 30, "last_update": "2024-10-18 04:12:04", - "author_account_age_days": 99 + "author_account_age_days": 538 }, - "https://github.com/Moooonet/ComfyUI-ArteMoon": { - "stars": 2, - "last_update": "2024-09-29 15:04:10", - "author_account_age_days": 157 + "https://github.com/MoonMoon82/ClipVision_Tools": { + "stars": 9, + "last_update": "2025-10-29 10:14:16", + "author_account_age_days": 2776 + }, + "https://github.com/Moooonet/ComfyUI-Align": { + "stars": 257, + "last_update": "2025-12-16 15:14:55", + "author_account_age_days": 596 + }, + "https://github.com/Moser9815/ComfyUI-RMAutomation": { + "stars": 0, + "last_update": "2026-02-05 00:37:43", + "author_account_age_days": 556 + }, + "https://github.com/MovieLabs/comfyui-movielabs-util": { + "stars": 1, + "last_update": "2025-07-12 01:02:15", + "author_account_age_days": 5004 }, "https://github.com/MrForExample/ComfyUI-3D-Pack": { - "stars": 2449, - "last_update": "2024-12-11 01:29:01", - "author_account_age_days": 1731 + "stars": 3653, + "last_update": "2025-12-29 08:06:02", + "author_account_age_days": 2170 }, "https://github.com/MrForExample/ComfyUI-AnimateAnyone-Evolved": { - "stars": 506, + "stars": 558, "last_update": "2024-06-14 12:02:47", - "author_account_age_days": 1731 + "author_account_age_days": 2170 + }, + "https://github.com/MrSamSeen/ComfyUI_SSBeforeAfterNode": { + "stars": 1, + "last_update": "2026-01-05 20:25:00", + "author_account_age_days": 4200 }, "https://github.com/MrSamSeen/ComfyUI_SSStereoscope": { - "stars": 15, - "last_update": "2024-07-08 20:40:49", - "author_account_age_days": 3761 + "stars": 47, + "last_update": "2026-02-20 10:22:53", + "author_account_age_days": 4200 }, "https://github.com/Munkyfoot/ComfyUI-TextOverlay": { - "stars": 23, - "last_update": "2024-06-28 05:57:03", - "author_account_age_days": 3215 + "stars": 55, + "last_update": "2025-06-07 04:46:39", + "author_account_age_days": 3654 }, - "https://github.com/MushroomFleet/DJZ-Nodes": { - "stars": 18, - "last_update": "2024-12-10 23:42:50", - "author_account_age_days": 3891 + "https://github.com/MushroomFleet/ComfyUI-DJZ-Offsquare": { + "stars": 0, + "last_update": "2026-02-06 14:24:52", + "author_account_age_days": 4331 + }, + "https://github.com/MushroomFleet/ComfyUI-DJZ-POML": { + "stars": 0, + "last_update": "2025-08-31 19:23:11", + "author_account_age_days": 4331 + }, + "https://github.com/MushroomFleet/ComfyUI-FLUX2-JSON": { + "stars": 12, + "last_update": "2026-01-13 15:05:51", + "author_account_age_days": 4331 + }, + "https://github.com/MushroomFleet/ComfyUI-Variationator": { + "stars": 1, + "last_update": "2025-12-01 13:51:30", + "author_account_age_days": 4331 + }, + "https://github.com/MushroomFleet/ComfyUI-Zero2JSON": { + "stars": 1, + "last_update": "2026-02-01 02:46:27", + "author_account_age_days": 4331 + }, + "https://github.com/MushroomFleet/ComfyUI_PromptExtractor_nodes": { + "stars": 1, + "last_update": "2026-02-04 20:14:35", + "author_account_age_days": 4331 + }, + "https://github.com/MushroomFleet/DJZ-Pedalboard": { + "stars": 2, + "last_update": "2025-11-15 04:19:19", + "author_account_age_days": 4331 }, "https://github.com/MuziekMagie/ComfyUI-Matchering": { - "stars": 39, + "stars": 60, "last_update": "2024-07-23 14:39:52", - "author_account_age_days": 141 + "author_account_age_days": 581 }, "https://github.com/MzMaXaM/ComfyUi-MzMaXaM": { - "stars": 2, - "last_update": "2024-10-21 22:42:15", - "author_account_age_days": 1908 + "stars": 15, + "last_update": "2025-06-01 16:34:55", + "author_account_age_days": 2347 }, "https://github.com/N3rd00d/ComfyUI-Paint3D-Nodes": { - "stars": 49, + "stars": 72, "last_update": "2024-08-19 12:52:20", - "author_account_age_days": 247 + "author_account_age_days": 686 + }, + "https://github.com/NHLStenden/ComfyUI-ImageBag": { + "stars": 0, + "last_update": "2025-12-20 12:10:06", + "author_account_age_days": 2863 }, "https://github.com/NMWave/ComfyUI-Nader-Tagging": { - "stars": 2, - "last_update": "2024-08-06 11:13:51", - "author_account_age_days": 748 + "stars": 4, + "last_update": "2026-02-17 00:12:12", + "author_account_age_days": 1187 + }, + "https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes": { + "stars": 0, + "last_update": "2026-02-19 07:15:23", + "author_account_age_days": 376 }, "https://github.com/NVIDIAGameWorks/ComfyUI-RTX-Remix": { - "stars": 27, - "last_update": "2024-09-25 01:40:47", - "author_account_age_days": 3850 + "stars": 55, + "last_update": "2026-02-13 01:25:52", + "author_account_age_days": 4289 + }, + "https://github.com/Nakamura2828/ComfyUI-JK-TextTools": { + "stars": 0, + "last_update": "2026-01-18 16:12:22", + "author_account_age_days": 3985 + }, + "https://github.com/Nakamura2828/ComfyUI-JK-ToRetro": { + "stars": 0, + "last_update": "2026-01-20 02:17:07", + "author_account_age_days": 3985 }, "https://github.com/NakamuraShippo/ComfyUI-NS-ManySliders": { - "stars": 1, + "stars": 6, "last_update": "2024-11-03 02:48:52", - "author_account_age_days": 532 + "author_account_age_days": 971 }, - "https://github.com/NakamuraShippo/ComfyUI-PromptList": { - "stars": 8, - "last_update": "2024-11-03 02:25:08", - "author_account_age_days": 532 + "https://github.com/NakamuraShippo/ComfyUI-NS-PromptList": { + "stars": 9, + "last_update": "2025-12-03 03:34:57", + "author_account_age_days": 971 + }, + "https://github.com/NakamuraShippo/ComfyUI-NS-Util": { + "stars": 2, + "last_update": "2025-11-05 21:49:30", + "author_account_age_days": 971 + }, + "https://github.com/NeoDroleDeGueule/NDDG_Great_Nodes": { + "stars": 13, + "last_update": "2025-12-04 20:52:40", + "author_account_age_days": 732 }, "https://github.com/NeoGriever/ComfyUI-NeoGriever": { "stars": 2, - "last_update": "2024-12-09 21:51:05", - "author_account_age_days": 4458 + "last_update": "2024-12-12 02:55:40", + "author_account_age_days": 4898 + }, + "https://github.com/NeonLightning/neonllama": { + "stars": 2, + "last_update": "2025-06-20 22:49:39", + "author_account_age_days": 4825 }, "https://github.com/Nestorchik/NStor-ComfyUI-Translation": { - "stars": 2, + "stars": 4, "last_update": "2024-06-14 10:25:32", - "author_account_age_days": 1494 + "author_account_age_days": 1934 }, "https://github.com/NeuralSamurAI/ComfyUI-Dimensional-Latent-Perlin": { "stars": 34, "last_update": "2024-08-06 19:59:25", - "author_account_age_days": 263 + "author_account_age_days": 703 }, "https://github.com/NeuralSamurAI/ComfyUI-FluxPseudoNegativePrompt": { - "stars": 6, + "stars": 8, "last_update": "2024-08-14 02:16:43", - "author_account_age_days": 263 + "author_account_age_days": 703 }, "https://github.com/NeuralSamurAI/ComfyUI-PromptJSON": { - "stars": 3, + "stars": 5, "last_update": "2024-08-11 18:10:36", - "author_account_age_days": 263 + "author_account_age_days": 703 }, "https://github.com/NeuralSamurAI/Comfyui-Superprompt-Unofficial": { - "stars": 67, + "stars": 69, "last_update": "2024-05-23 00:22:08", - "author_account_age_days": 263 + "author_account_age_days": 703 + }, + "https://github.com/NeuroSenko/ComfyUI_LLM_SDXL_Adapter": { + "stars": 62, + "last_update": "2025-11-10 22:28:10", + "author_account_age_days": 1216 }, "https://github.com/Nevysha/ComfyUI-nevysha-top-menu": { "stars": 5, "last_update": "2024-05-23 00:17:31", - "author_account_age_days": 696 + "author_account_age_days": 1136 + }, + "https://github.com/NewBieAI-Lab/ComfyUI-MltoXml": { + "stars": 1, + "last_update": "2025-12-07 04:44:54", + "author_account_age_days": 303 + }, + "https://github.com/NewLouwa/ComfyUI-Model_preset_Pilot": { + "stars": 0, + "last_update": "2025-10-19 14:03:25", + "author_account_age_days": 2910 + }, + "https://github.com/NewNoviceChen/ComfyUI-Simple-IndexTTs": { + "stars": 11, + "last_update": "2025-12-05 06:39:43", + "author_account_age_days": 1554 + }, + "https://github.com/NewNoviceChen/ComfyUI-XingLiu": { + "stars": 5, + "last_update": "2025-10-24 09:33:20", + "author_account_age_days": 1554 + }, + "https://github.com/NexusEast/ComfyUI_ContactSheet_Auto": { + "stars": 0, + "last_update": "2025-12-30 07:12:33", + "author_account_age_days": 5032 }, "https://github.com/NguynHungNguyen/Segment-Bedroom-Interior": { - "stars": 3, + "stars": 9, "last_update": "2024-10-17 13:22:19", - "author_account_age_days": 827 + "author_account_age_days": 1267 }, "https://github.com/NicholasMcCarthy/ComfyUI_TravelSuite": { - "stars": 14, + "stars": 16, "last_update": "2024-05-22 20:34:46", - "author_account_age_days": 5319 + "author_account_age_days": 5759 + }, + "https://github.com/NickPittas/ComfyUI_CameraAngleSelector": { + "stars": 95, + "last_update": "2026-01-10 10:09:39", + "author_account_age_days": 1351 + }, + "https://github.com/NidAll/ComfyUI_PromptStyler": { + "stars": 16, + "last_update": "2026-01-31 21:32:44", + "author_account_age_days": 3289 + }, + "https://github.com/Night1099/COMFYUI-PBRFusion4": { + "stars": 0, + "last_update": "2026-02-13 17:30:15", + "author_account_age_days": 1632 + }, + "https://github.com/Nikosis/ComfyUI-Nikosis-Nodes": { + "stars": 2, + "last_update": "2025-04-10 00:32:13", + "author_account_age_days": 2885 + }, + "https://github.com/Nikosis/ComfyUI-Nikosis-Preprocessors": { + "stars": 2, + "last_update": "2025-04-08 12:28:17", + "author_account_age_days": 2885 }, "https://github.com/NimaNzrii/comfyui-photoshop": { - "stars": 706, - "last_update": "2024-09-12 17:24:44", - "author_account_age_days": 414 + "stars": 1511, + "last_update": "2026-02-10 15:45:59", + "author_account_age_days": 854 }, "https://github.com/NimaNzrii/comfyui-popup_preview": { - "stars": 35, + "stars": 37, "last_update": "2024-05-22 22:12:04", - "author_account_age_days": 414 + "author_account_age_days": 854 + }, + "https://github.com/NineKey1028/ComfyUI_Dynamic_TagLoader": { + "stars": 4, + "last_update": "2026-01-29 08:03:41", + "author_account_age_days": 1660 + }, + "https://github.com/Niutonian/ComfyUI-Niutonian-Themes": { + "stars": 39, + "last_update": "2026-01-20 10:28:11", + "author_account_age_days": 1651 }, "https://github.com/Niutonian/ComfyUi-NoodleWebcam": { - "stars": 31, + "stars": 30, "last_update": "2024-05-22 21:30:40", - "author_account_age_days": 1212 + "author_account_age_days": 1651 + }, + "https://github.com/Niutonian/comfyui-niutonian-smart-image": { + "stars": 0, + "last_update": "2026-01-27 13:58:47", + "author_account_age_days": 1651 + }, + "https://github.com/Niutonian/comfyui_Niutonian_GLM_4_6V": { + "stars": 0, + "last_update": "2026-01-05 11:49:33", + "author_account_age_days": 1651 + }, + "https://github.com/Njbx/ComfyUI-LTX13B-Blockswap": { + "stars": 7, + "last_update": "2025-05-07 18:47:45", + "author_account_age_days": 1813 }, "https://github.com/Nlar/ComfyUI_CartoonSegmentation": { - "stars": 12, + "stars": 17, "last_update": "2024-05-22 23:15:37", - "author_account_age_days": 4001 + "author_account_age_days": 4440 + }, + "https://github.com/No-22-Github/ComfyUI_RWKV_Studio": { + "stars": 0, + "last_update": "2025-09-26 13:42:27", + "author_account_age_days": 1029 }, "https://github.com/Nojahhh/ComfyUI_GLM4_Wrapper": { - "stars": 16, - "last_update": "2024-12-04 22:12:07", - "author_account_age_days": 2990 + "stars": 30, + "last_update": "2025-07-20 12:17:01", + "author_account_age_days": 3429 + }, + "https://github.com/Noma-Machiko/ComfyUI-ToDevice": { + "stars": 1, + "last_update": "2025-09-18 16:11:53", + "author_account_age_days": 1138 }, "https://github.com/NotHarroweD/Harronode": { "stars": 5, "last_update": "2024-05-22 22:18:29", - "author_account_age_days": 2153 + "author_account_age_days": 2592 }, "https://github.com/Nourepide/ComfyUI-Allor": { - "stars": 228, + "stars": 293, "last_update": "2024-05-22 18:11:17", - "author_account_age_days": 3016 + "author_account_age_days": 3455 + }, + "https://github.com/NudeJS-dev/ComfyUI-NudeJS-Image2Prompt": { + "stars": 0, + "last_update": "2025-12-06 17:39:43", + "author_account_age_days": 626 }, "https://github.com/Nuked88/ComfyUI-N-Nodes": { - "stars": 206, + "stars": 237, "last_update": "2024-08-15 21:07:32", - "author_account_age_days": 4649 + "author_account_age_days": 5088 }, "https://github.com/Nuked88/ComfyUI-N-Sidebar": { - "stars": 519, - "last_update": "2024-09-12 20:12:08", - "author_account_age_days": 4649 + "stars": 582, + "last_update": "2025-07-06 11:37:45", + "author_account_age_days": 5088 }, - "https://github.com/NyaamZ/ComfyUI-GetBooruTag-ED": { - "stars": 1, - "last_update": "2024-12-05 15:09:08", - "author_account_age_days": 2287 + "https://github.com/NyaFuP/ComfyUI_Preview_Selector": { + "stars": 2, + "last_update": "2025-08-06 06:08:46", + "author_account_age_days": 1922 }, "https://github.com/NyaamZ/ComfyUI-ImageGallery-ED": { - "stars": 3, - "last_update": "2024-12-06 19:47:27", - "author_account_age_days": 2287 + "stars": 11, + "last_update": "2025-09-05 04:20:22", + "author_account_age_days": 2726 }, "https://github.com/NyaamZ/efficiency-nodes-ED": { - "stars": 13, - "last_update": "2024-12-07 06:01:50", - "author_account_age_days": 2287 + "stars": 42, + "last_update": "2025-11-19 06:12:14", + "author_account_age_days": 2726 + }, + "https://github.com/Nynxz/ComfyUI-NynxzNodes": { + "stars": 1, + "last_update": "2025-12-11 09:16:16", + "author_account_age_days": 2205 + }, + "https://github.com/OKIE5/ComfyUI-CN-Pre": { + "stars": 0, + "last_update": "2025-10-18 23:45:21", + "author_account_age_days": 253 }, "https://github.com/Off-Live/ComfyUI-off-suite": { "stars": 0, "last_update": "2024-06-14 12:02:25", - "author_account_age_days": 1342 + "author_account_age_days": 1781 }, - "https://github.com/OgreLemonSoup/ComfyUI-Load-Image-Gallery": { - "stars": 30, - "last_update": "2024-09-17 11:48:44", - "author_account_age_days": 123 + "https://github.com/OhSeongHyeon/comfyui-watdafox-nodes": { + "stars": 0, + "last_update": "2025-12-31 19:27:45", + "author_account_age_days": 1820 }, "https://github.com/OliverCrosby/Comfyui-Minimap": { - "stars": 81, + "stars": 99, "last_update": "2024-08-24 14:10:43", - "author_account_age_days": 2295 + "author_account_age_days": 2735 + }, + "https://github.com/OneThingAI/ComfyUI_Onething_CV": { + "stars": 1, + "last_update": "2025-07-25 03:17:16", + "author_account_age_days": 564 + }, + "https://github.com/OneThingAI/ComfyUI_Onething_Image": { + "stars": 1, + "last_update": "2026-01-04 06:37:44", + "author_account_age_days": 564 + }, + "https://github.com/Onionman61/ComfyUI-ModelScope-Kontext": { + "stars": 6, + "last_update": "2025-11-28 08:21:35", + "author_account_age_days": 638 }, "https://github.com/OpalSky-AI/OpalSky_Nodes": { - "stars": 3, + "stars": 2, "last_update": "2024-10-27 20:13:40", - "author_account_age_days": 1905 + "author_account_age_days": 2345 }, "https://github.com/OpenArt-AI/ComfyUI-Assistant": { - "stars": 17, + "stars": 21, "last_update": "2024-05-22 22:16:57", - "author_account_age_days": 945 + "author_account_age_days": 1384 + }, + "https://github.com/OpenAssetIO/OpenAssetIO-ComfyUI": { + "stars": 1, + "last_update": "2025-09-30 09:49:18", + "author_account_age_days": 1378 }, "https://github.com/OuticNZ/ComfyUI-Simple-Of-Complex": { "stars": 1, "last_update": "2024-08-14 04:00:49", - "author_account_age_days": 2703 + "author_account_age_days": 3142 + }, + "https://github.com/OwlvChirotha/ComfyUI-MultiTranslator": { + "stars": 0, + "last_update": "2025-11-11 09:09:25", + "author_account_age_days": 132 + }, + "https://github.com/OwlvChirotha/ComfyUI-Owlv_Nodes": { + "stars": 1, + "last_update": "2025-11-19 03:25:46", + "author_account_age_days": 132 + }, + "https://github.com/OwlvChirotha/ComfyUI-Translator": { + "stars": 0, + "last_update": "2025-11-11 09:09:25", + "author_account_age_days": 132 + }, + "https://github.com/PBandDev/comfyui-node-organizer": { + "stars": 37, + "last_update": "2026-01-23 18:47:11", + "author_account_age_days": 352 }, "https://github.com/PCMonsterx/ComfyUI-CSV-Loader": { + "stars": 18, + "last_update": "2025-03-14 12:21:40", + "author_account_age_days": 2274 + }, + "https://github.com/PICOPON/ComfyUI-API-OpenAI-Node": { + "stars": 0, + "last_update": "2025-08-05 06:27:09", + "author_account_age_days": 2497 + }, + "https://github.com/PROJECTMAD/PROJECT-MAD-NODES": { + "stars": 3, + "last_update": "2026-01-27 06:06:16", + "author_account_age_days": 2942 + }, + "https://github.com/Pablerdo/ComfyUI-MultiCutAndDrag": { + "stars": 4, + "last_update": "2025-03-22 01:25:55", + "author_account_age_days": 3410 + }, + "https://github.com/Pablerdo/ComfyUI-ResizeZeptaPayload": { + "stars": 1, + "last_update": "2025-03-29 00:39:01", + "author_account_age_days": 3410 + }, + "https://github.com/Pablerdo/ComfyUI-StableVirtualCameraWrapper": { + "stars": 2, + "last_update": "2025-04-19 09:40:38", + "author_account_age_days": 3410 + }, + "https://github.com/Pablerdo/ComfyUI-ZeptaframePromptMerger": { + "stars": 1, + "last_update": "2025-03-21 17:42:55", + "author_account_age_days": 3410 + }, + "https://github.com/Paddel87/ComfyUI_fal_image": { + "stars": 2, + "last_update": "2025-12-23 22:45:12", + "author_account_age_days": 687 + }, + "https://github.com/PanicTitan/ComfyUI-Fooocus-V2-Expansion": { "stars": 14, - "last_update": "2024-05-22 21:27:10", - "author_account_age_days": 1835 + "last_update": "2025-05-09 22:51:17", + "author_account_age_days": 2095 + }, + "https://github.com/PanicTitan/ComfyUI-Gallery": { + "stars": 90, + "last_update": "2025-12-09 21:44:09", + "author_account_age_days": 2095 }, "https://github.com/Parameshvadivel/ComfyUI-SVGview": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 13:40:33", - "author_account_age_days": 2998 + "author_account_age_days": 3437 }, "https://github.com/ParisNeo/lollms_nodes_suite": { "stars": 11, - "last_update": "2024-06-23 21:04:43", - "author_account_age_days": 4939 + "last_update": "2025-03-12 07:36:41", + "author_account_age_days": 5379 }, "https://github.com/ParmanBabra/ComfyUI-Malefish-Custom-Scripts": { "stars": 0, "last_update": "2024-05-22 21:26:35", - "author_account_age_days": 3813 + "author_account_age_days": 4252 + }, + "https://github.com/PatrickBorkowicz/ComfyUI-ImmichUploader": { + "stars": 0, + "last_update": "2025-10-12 01:48:13", + "author_account_age_days": 4138 + }, + "https://github.com/PauldeLavallaz/ComfyUI-CartesiaTTS": { + "stars": 1, + "last_update": "2026-02-12 03:47:05", + "author_account_age_days": 2452 }, "https://github.com/PauldeLavallaz/comfyui_claude_prompt_generator": { - "stars": 1, - "last_update": "2024-12-04 19:19:28", - "author_account_age_days": 2013 + "stars": 0, + "last_update": "2025-03-18 17:38:28", + "author_account_age_days": 2452 + }, + "https://github.com/Pedreiro-Digital-Studio-Ltda/ComfyUI-PromptPerfect": { + "stars": 0, + "last_update": "2026-01-22 15:28:55", + "author_account_age_days": 1048 + }, + "https://github.com/PenguinTeo/Comfyui-GeminiBanana": { + "stars": 44, + "last_update": "2025-11-21 05:49:58", + "author_account_age_days": 584 + }, + "https://github.com/PenguinTeo/Comfyui-TextEditor-Penguin": { + "stars": 6, + "last_update": "2025-06-04 14:38:13", + "author_account_age_days": 584 }, "https://github.com/Pfaeff/pfaeff-comfyui": { - "stars": 20, + "stars": 22, "last_update": "2024-05-22 18:21:10", - "author_account_age_days": 3377 + "author_account_age_days": 3816 }, "https://github.com/Phando/ComfyUI-PhandoNodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-05 16:12:24", - "author_account_age_days": 5395 + "author_account_age_days": 5834 }, "https://github.com/Pheat-AI/Remade_nodes": { - "stars": 4, + "stars": 5, "last_update": "2024-10-18 00:04:58", - "author_account_age_days": 203 + "author_account_age_days": 643 }, - "https://github.com/PnthrLeo/comfyUI-image-search": { + "https://github.com/PiePieDesign/PiePieTweaks": { + "stars": 1, + "last_update": "2025-10-24 15:27:53", + "author_account_age_days": 273 + }, + "https://github.com/PiggyDance/ComfyUI_OpenCV": { + "stars": 1, + "last_update": "2025-03-24 10:02:49", + "author_account_age_days": 2996 + }, + "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-SaveMP3": { + "stars": 0, + "last_update": "2025-06-01 16:35:20", + "author_account_age_days": 498 + }, + "https://github.com/Pigidiy/ComfyUI-LikeSpiderAI-UI": { + "stars": 0, + "last_update": "2025-06-05 19:20:04", + "author_account_age_days": 498 + }, + "https://github.com/Pirog17000/Pirogs-Nodes": { + "stars": 3, + "last_update": "2025-11-17 00:34:32", + "author_account_age_days": 4821 + }, + "https://github.com/PixWizardry/ComfyUI_PixQwenImageEditEnhanced": { + "stars": 4, + "last_update": "2025-12-30 06:02:39", + "author_account_age_days": 195 + }, + "https://github.com/PixelFunAI/ComfyUI_PixelFun": { + "stars": 3, + "last_update": "2025-01-20 05:44:54", + "author_account_age_days": 399 + }, + "https://github.com/PixelML/ComfyUI-PixelML-CustomNodes": { + "stars": 0, + "last_update": "2025-01-20 06:40:21", + "author_account_age_days": 720 + }, + "https://github.com/Pixelailabs/Joy_Caption_Two_PixelaiLabs": { + "stars": 10, + "last_update": "2025-11-06 16:43:31", + "author_account_age_days": 538 + }, + "https://github.com/PnthrLeo/comfyUI-PL-data-tools": { + "stars": 1, + "last_update": "2025-10-13 07:45:11", + "author_account_age_days": 3160 + }, + "https://github.com/Polygoningenieur/ComfyUI-IC-Light-Video": { "stars": 2, - "last_update": "2024-12-03 13:39:28", - "author_account_age_days": 2721 + "last_update": "2025-09-03 18:37:13", + "author_account_age_days": 724 }, - "https://github.com/Pos13/comfyui-cyclist": { - "stars": 33, - "last_update": "2024-08-04 02:58:33", - "author_account_age_days": 1687 + "https://github.com/Pondowner857/comfy_Pond_Nodes_V2": { + "stars": 3, + "last_update": "2025-12-05 08:14:07", + "author_account_age_days": 699 }, "https://github.com/Poseidon-fan/ComfyUI-RabbitMQ-Publisher": { "stars": 2, "last_update": "2024-11-07 08:59:23", - "author_account_age_days": 752 + "author_account_age_days": 1191 + }, + "https://github.com/Positliver/comfyui-zegr": { + "stars": 1, + "last_update": "2025-01-26 11:51:59", + "author_account_age_days": 4001 + }, + "https://github.com/Poukpalaova/ComfyUI-FRED-Nodes_v2": { + "stars": 3, + "last_update": "2026-01-27 21:11:41", + "author_account_age_days": 931 }, "https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait": { - "stars": 1997, + "stars": 2603, "last_update": "2024-08-21 06:14:24", - "author_account_age_days": 133 + "author_account_age_days": 572 + }, + "https://github.com/PozzettiAndrea/ComfyUI-BGPSeg": { + "stars": 0, + "last_update": "2026-02-12 12:20:32", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-CADabra": { + "stars": 17, + "last_update": "2026-02-23 17:48:52", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-Cadrille": { + "stars": 1, + "last_update": "2026-02-12 12:20:33", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-CameraPack": { + "stars": 1, + "last_update": "2026-02-12 12:20:35", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-DepthAnythingV3": { + "stars": 334, + "last_update": "2026-02-23 22:55:33", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-GeometryPack": { + "stars": 150, + "last_update": "2026-02-23 22:55:34", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-Grounding": { + "stars": 34, + "last_update": "2026-02-23 04:54:26", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-HunyuanX": { + "stars": 7, + "last_update": "2026-02-12 14:12:32", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-MIDI3D": { + "stars": 2, + "last_update": "2026-02-12 12:20:37", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-MeshCraft": { + "stars": 7, + "last_update": "2026-02-12 14:12:32", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-NeurCADRecon": { + "stars": 0, + "last_update": "2026-02-12 12:20:31", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-SAM3": { + "stars": 434, + "last_update": "2026-02-23 22:55:27", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-SAM3DBody": { + "stars": 272, + "last_update": "2026-02-23 22:55:28", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-SECADNET": { + "stars": 0, + "last_update": "2026-02-12 12:20:34", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-Sharp": { + "stars": 254, + "last_update": "2026-02-23 22:55:37", + "author_account_age_days": 2302 + }, + "https://github.com/PozzettiAndrea/ComfyUI-UniRig": { + "stars": 287, + "last_update": "2026-02-23 22:55:40", + "author_account_age_days": 2302 + }, + "https://github.com/Praveenhalder/praveen-tools": { + "stars": 2, + "last_update": "2026-02-18 06:48:00", + "author_account_age_days": 704 + }, + "https://github.com/PressWagon/ComfyUI-StringsAndThings": { + "stars": 3, + "last_update": "2025-05-18 12:01:37", + "author_account_age_days": 434 + }, + "https://github.com/ProGamerGov/ComfyUI_preview360panorama": { + "stars": 87, + "last_update": "2025-05-25 19:26:43", + "author_account_age_days": 4051 + }, + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert": { + "stars": 27, + "last_update": "2025-09-22 18:50:33", + "author_account_age_days": 4051 + }, + "https://github.com/ProGamerGov/ComfyUI_pytorch360convert_video": { + "stars": 5, + "last_update": "2025-10-29 15:59:02", + "author_account_age_days": 4051 + }, + "https://github.com/PrunaAI/ComfyUI_pruna": { + "stars": 65, + "last_update": "2025-09-08 12:53:11", + "author_account_age_days": 1258 }, "https://github.com/Pseudotools/Pseudocomfy": { - "stars": 0, - "last_update": "2024-09-17 20:46:33", - "author_account_age_days": 440 + "stars": 2, + "last_update": "2025-10-07 04:01:07", + "author_account_age_days": 879 + }, + "https://github.com/Pun0110/ComfyUI-CSV-Styler": { + "stars": 1, + "last_update": "2025-11-08 14:43:59", + "author_account_age_days": 1652 }, "https://github.com/Q-Bug4/Comfyui-Qb-DateNodes": { - "stars": 1, - "last_update": "2024-11-03 01:52:39", - "author_account_age_days": 2104 + "stars": 5, + "last_update": "2025-07-14 11:37:31", + "author_account_age_days": 2543 }, "https://github.com/Q-Bug4/Comfyui-Simple-Json-Node": { + "stars": 7, + "last_update": "2025-03-27 12:51:03", + "author_account_age_days": 2543 + }, + "https://github.com/Q-Bug4/comfyui-qbug-batch": { "stars": 2, - "last_update": "2024-10-13 12:13:37", - "author_account_age_days": 2104 + "last_update": "2025-04-13 03:05:36", + "author_account_age_days": 2543 + }, + "https://github.com/QL-boy/ComfyUI-Advanced-Tile-Processing": { + "stars": 43, + "last_update": "2026-01-17 12:31:17", + "author_account_age_days": 2590 }, "https://github.com/QaisMalkawi/ComfyUI-QaisHelper": { "stars": 2, - "last_update": "2024-05-23 20:29:30", - "author_account_age_days": 1420 + "last_update": "2026-02-21 11:41:04", + "author_account_age_days": 1859 + }, + "https://github.com/QijiTec/ComfyUI-RED-UNO": { + "stars": 25, + "last_update": "2025-04-21 01:07:24", + "author_account_age_days": 1073 + }, + "https://github.com/QuackPhuc/ComfyUI-FisheyeTransform": { + "stars": 0, + "last_update": "2026-01-14 15:37:48", + "author_account_age_days": 1031 + }, + "https://github.com/QuietNoise/comfyui_queue_manager": { + "stars": 43, + "last_update": "2025-12-21 18:20:17", + "author_account_age_days": 4814 + }, + "https://github.com/R5-Revo/llm-node-comfyui": { + "stars": 7, + "last_update": "2025-05-24 03:55:35", + "author_account_age_days": 407 + }, + "https://github.com/RCAKangle/ComfyUI_LLM_Embeder": { + "stars": 0, + "last_update": "2026-01-30 23:12:12", + "author_account_age_days": 866 + }, + "https://github.com/RUiNtheExtinct/comfyui-save-file-extended": { + "stars": 8, + "last_update": "2025-11-27 04:45:39", + "author_account_age_days": 701 }, "https://github.com/Raapys/ComfyUI-LatentGC_Aggressive": { - "stars": 2, - "last_update": "2024-08-12 15:55:42", - "author_account_age_days": 4102 - }, - "https://github.com/Ravenmelt/ComfyUI-Rodin": { "stars": 4, - "last_update": "2024-10-25 03:30:05", - "author_account_age_days": 2245 + "last_update": "2024-08-12 15:55:42", + "author_account_age_days": 4541 }, - "https://github.com/RedRayz/ComfyUI-Danbooru-To-WD": { - "stars": 5, - "last_update": "2024-07-28 12:45:36", - "author_account_age_days": 1535 + "https://github.com/RainyN0077/ComfyUI-PromptSE": { + "stars": 12, + "last_update": "2025-08-15 13:12:09", + "author_account_age_days": 399 + }, + "https://github.com/RamonGuthrie/ComfyUI-RBG-ImageStitchPlus": { + "stars": 29, + "last_update": "2026-01-16 18:43:25", + "author_account_age_days": 770 + }, + "https://github.com/RamonGuthrie/ComfyUI-RBG-SmartSeedVariance": { + "stars": 26, + "last_update": "2026-02-08 14:01:36", + "author_account_age_days": 770 + }, + "https://github.com/Randy420Marsh/ComfyUI-Civitai-API-Url-Resolver": { + "stars": 1, + "last_update": "2025-12-26 16:21:56", + "author_account_age_days": 2614 + }, + "https://github.com/Randy420Marsh/civitai-api-url-resolver": { + "stars": 1, + "last_update": "2025-12-26 16:21:56", + "author_account_age_days": 2614 + }, + "https://github.com/Rathius-Saranoth/Rathius_ComfyNodes": { + "stars": 0, + "last_update": "2025-11-28 02:40:18", + "author_account_age_days": 156 + }, + "https://github.com/Raykosan/ComfyUI_RS-SaturationNode": { + "stars": 8, + "last_update": "2025-04-12 10:38:46", + "author_account_age_days": 1989 + }, + "https://github.com/Raykosan/ComfyUI_RaykoStudio": { + "stars": 11, + "last_update": "2025-08-12 08:33:06", + "author_account_age_days": 1989 + }, + "https://github.com/RaymondProduction/comfyui-zerna-pack": { + "stars": 0, + "last_update": "2025-03-26 16:10:15", + "author_account_age_days": 3535 + }, + "https://github.com/ReBeating/ComfyUI-Artist-Selector": { + "stars": 1, + "last_update": "2025-02-10 15:39:41", + "author_account_age_days": 1987 + }, + "https://github.com/RegulusAlpha/ComfyUI-DynPromptSimplified": { + "stars": 3, + "last_update": "2025-10-27 18:44:13", + "author_account_age_days": 3464 + }, + "https://github.com/ReinerBforartists/comfyui_auto_prompt_schedule": { + "stars": 2, + "last_update": "2025-08-24 09:00:45", + "author_account_age_days": 3838 + }, + "https://github.com/ReinerBforartists/comfyui_text_line_combine": { + "stars": 0, + "last_update": "2025-08-23 10:59:19", + "author_account_age_days": 3838 + }, + "https://github.com/Reithan/negative_rejection_steering": { + "stars": 16, + "last_update": "2026-02-14 01:42:32", + "author_account_age_days": 4314 }, "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": { - "stars": 6, + "stars": 7, "last_update": "2024-05-22 22:16:41", - "author_account_age_days": 356 + "author_account_age_days": 796 + }, + "https://github.com/Revmagi/DDM_bundle": { + "stars": 0, + "last_update": "2025-10-30 21:03:27", + "author_account_age_days": 3833 }, "https://github.com/RhizoNymph/ComfyUI-CLIPSlider": { - "stars": 7, + "stars": 9, "last_update": "2024-09-07 19:47:02", - "author_account_age_days": 1337 + "author_account_age_days": 1776 }, "https://github.com/RhizoNymph/ComfyUI-ColorWheel": { "stars": 1, "last_update": "2024-10-13 06:26:51", - "author_account_age_days": 1337 + "author_account_age_days": 1776 }, "https://github.com/RhizoNymph/ComfyUI-Latte": { - "stars": 4, + "stars": 3, "last_update": "2024-08-11 07:25:04", - "author_account_age_days": 1337 + "author_account_age_days": 1776 + }, + "https://github.com/Rhovanx/wan_vace_auto_joiner": { + "stars": 3, + "last_update": "2026-01-14 09:58:46", + "author_account_age_days": 2129 }, "https://github.com/RiceRound/ComfyUI_CryptoCat": { - "stars": 36, - "last_update": "2024-10-23 15:12:20", - "author_account_age_days": 74 + "stars": 98, + "last_update": "2025-06-19 04:14:31", + "author_account_age_days": 513 + }, + "https://github.com/RiceRound/ComfyUI_RiceRound": { + "stars": 20, + "last_update": "2025-03-18 07:31:16", + "author_account_age_days": 513 }, "https://github.com/Rinsanga1/comfyui-florence2xy": { + "stars": 0, + "last_update": "2025-06-25 05:42:46", + "author_account_age_days": 760 + }, + "https://github.com/Rizzlord/ComfyUI-RizzNodes": { "stars": 1, - "last_update": "2024-11-25 09:51:35", - "author_account_age_days": 321 + "last_update": "2026-02-18 13:45:21", + "author_account_age_days": 2038 }, "https://github.com/RodrigoSKohl/ComfyUI-Panoramic-ImgStitcher": { - "stars": 5, - "last_update": "2024-08-27 15:45:35", - "author_account_age_days": 918 + "stars": 8, + "last_update": "2025-06-09 23:34:07", + "author_account_age_days": 1357 + }, + "https://github.com/RodrigoSKohl/InteriorDesign-for-ComfyUI": { + "stars": 14, + "last_update": "2025-08-07 05:37:43", + "author_account_age_days": 1357 + }, + "https://github.com/RodrigoSKohl/comfyui-tryoff-anyone": { + "stars": 23, + "last_update": "2025-04-14 03:36:22", + "author_account_age_days": 1357 }, "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": { - "stars": 20, - "last_update": "2024-06-21 07:29:14", - "author_account_age_days": 1551 + "stars": 23, + "last_update": "2025-03-27 17:57:44", + "author_account_age_days": 1991 }, "https://github.com/Ron-Digital/ComfyUI-SceneGenerator": { - "stars": 2, - "last_update": "2024-06-28 19:36:30", - "author_account_age_days": 1099 - }, - "https://github.com/Rvage0815/ComfyUI-RvTools": { - "stars": 14, - "last_update": "2024-11-28 15:10:43", - "author_account_age_days": 343 - }, - "https://github.com/Rvage0815/ComfyUI-RvTools_v2": { "stars": 3, - "last_update": "2024-12-08 15:18:25", - "author_account_age_days": 343 + "last_update": "2024-06-28 19:36:30", + "author_account_age_days": 1538 + }, + "https://github.com/RunningOverGlowies/ComfyUI-PromptUtils": { + "stars": 2, + "last_update": "2025-12-08 13:44:46", + "author_account_age_days": 1464 + }, + "https://github.com/Runware/ComfyUI-Runware": { + "stars": 134, + "last_update": "2026-02-23 16:44:55", + "author_account_age_days": 809 + }, + "https://github.com/RyanHolanda/ComfyUI-AudioBridge": { + "stars": 0, + "last_update": "2026-02-20 19:22:17", + "author_account_age_days": 1700 + }, + "https://github.com/RyukoMatoiFan/ComfyUI-STARFlow": { + "stars": 0, + "last_update": "2026-01-04 19:22:34", + "author_account_age_days": 73 + }, + "https://github.com/RyukoMatoiFan/ComfyUI-Switti": { + "stars": 0, + "last_update": "2025-12-21 21:37:47", + "author_account_age_days": 73 }, "https://github.com/Ryuukeisyou/ComfyUI-SyncTalk": { - "stars": 37, + "stars": 41, "last_update": "2024-09-12 11:54:59", - "author_account_age_days": 2582 + "author_account_age_days": 3022 }, "https://github.com/Ryuukeisyou/comfyui_face_parsing": { - "stars": 115, - "last_update": "2024-10-26 06:14:27", - "author_account_age_days": 2582 + "stars": 187, + "last_update": "2025-02-18 09:22:52", + "author_account_age_days": 3022 }, "https://github.com/Ryuukeisyou/comfyui_io_helpers": { - "stars": 1, + "stars": 2, "last_update": "2024-07-13 13:10:10", - "author_account_age_days": 2582 + "author_account_age_days": 3022 + }, + "https://github.com/S4MUEL-404/ComfyUI-Prepack": { + "stars": 1, + "last_update": "2025-11-11 08:19:11", + "author_account_age_days": 3696 + }, + "https://github.com/S4MUEL-404/ComfyUI-PromptsO": { + "stars": 1, + "last_update": "2025-11-19 09:20:58", + "author_account_age_days": 3696 + }, + "https://github.com/S4MUEL-404/ComfyUI-S4Motion": { + "stars": 3, + "last_update": "2025-10-14 06:06:33", + "author_account_age_days": 3696 + }, + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image": { + "stars": 2, + "last_update": "2025-11-18 03:18:39", + "author_account_age_days": 3696 + }, + "https://github.com/S4MUEL-404/ComfyUI-S4Tool-Text": { + "stars": 2, + "last_update": "2025-08-12 15:29:12", + "author_account_age_days": 3696 }, "https://github.com/SEkINVR/ComfyUI-SaveAs": { - "stars": 3, + "stars": 8, "last_update": "2024-08-19 01:06:16", - "author_account_age_days": 827 + "author_account_age_days": 1266 + }, + "https://github.com/SKBv0/ComfyUI_BlendPack": { + "stars": 32, + "last_update": "2026-01-16 15:21:20", + "author_account_age_days": 2165 + }, + "https://github.com/SKBv0/ComfyUI_LinkFX": { + "stars": 44, + "last_update": "2025-12-21 16:53:51", + "author_account_age_days": 2165 + }, + "https://github.com/SKBv0/ComfyUI_SKBundle": { + "stars": 107, + "last_update": "2025-08-14 14:55:48", + "author_account_age_days": 2165 + }, + "https://github.com/SKBv0/ComfyUI_SpideyReroute": { + "stars": 13, + "last_update": "2025-12-19 16:10:36", + "author_account_age_days": 2165 + }, + "https://github.com/SKFRMSEHF/comfyui_SK_Loader": { + "stars": 0, + "last_update": "2025-12-15 09:50:34", + "author_account_age_days": 76 }, "https://github.com/SLAPaper/ComfyUI-Image-Selector": { - "stars": 72, - "last_update": "2024-08-03 18:32:58", - "author_account_age_days": 3867 + "stars": 107, + "last_update": "2025-03-16 12:13:46", + "author_account_age_days": 4307 }, "https://github.com/SLAPaper/StableDiffusion-dpmpp_2m_alt-Sampler": { - "stars": 11, - "last_update": "2024-11-09 13:59:35", - "author_account_age_days": 3867 + "stars": 13, + "last_update": "2025-03-16 12:13:59", + "author_account_age_days": 4307 + }, + "https://github.com/SLVGITHUB/QWEN3_TTS_DVA": { + "stars": 1, + "last_update": "2026-02-17 05:49:02", + "author_account_age_days": 1670 }, "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": { "stars": 4, - "last_update": "2024-07-31 15:02:32", - "author_account_age_days": 4253 + "last_update": "2025-03-12 00:17:50", + "author_account_age_days": 4692 }, "https://github.com/SOELexicon/ComfyUI-LexTools": { - "stars": 28, - "last_update": "2024-06-28 19:25:13", - "author_account_age_days": 4253 + "stars": 31, + "last_update": "2025-03-28 10:50:35", + "author_account_age_days": 4692 + }, + "https://github.com/SS-snap/ComfyUI-Ad_scheduler": { + "stars": 6, + "last_update": "2025-04-25 04:53:31", + "author_account_age_days": 909 + }, + "https://github.com/SS-snap/ComfyUI-LBW_flux": { + "stars": 5, + "last_update": "2025-04-25 04:47:47", + "author_account_age_days": 909 }, "https://github.com/SS-snap/ComfyUI-Snap_Processing": { - "stars": 61, - "last_update": "2024-10-22 07:38:50", - "author_account_age_days": 470 + "stars": 62, + "last_update": "2025-04-25 04:54:44", + "author_account_age_days": 909 + }, + "https://github.com/SS-snap/Comfyui_SSsnap_pose-Remapping": { + "stars": 50, + "last_update": "2025-07-25 09:49:47", + "author_account_age_days": 909 + }, + "https://github.com/SXQBW/ComfyUI-Qwen": { + "stars": 23, + "last_update": "2025-05-26 05:01:41", + "author_account_age_days": 3401 + }, + "https://github.com/SXQBW/ComfyUI-Qwen-Omni": { + "stars": 41, + "last_update": "2025-06-08 07:53:11", + "author_account_age_days": 3401 + }, + "https://github.com/SXQBW/ComfyUI-Qwen-VL": { + "stars": 28, + "last_update": "2025-10-25 02:52:24", + "author_account_age_days": 3401 + }, + "https://github.com/SaTaNoob/ComfyUI-Z-Image-Turbo-Resolutions": { + "stars": 3, + "last_update": "2025-12-04 10:00:45", + "author_account_age_days": 3276 + }, + "https://github.com/Saganaki22/ComfyUI-Maya1_TTS": { + "stars": 58, + "last_update": "2025-11-11 23:36:14", + "author_account_age_days": 1746 + }, + "https://github.com/Saganaki22/ComfyUI-Seedream4_Replicate": { + "stars": 7, + "last_update": "2025-09-14 00:53:14", + "author_account_age_days": 1746 + }, + "https://github.com/Saganaki22/ComfyUI-Step_Audio_EditX_TTS": { + "stars": 56, + "last_update": "2025-12-04 06:03:03", + "author_account_age_days": 1746 + }, + "https://github.com/Saganaki22/ComfyUI-dotWaveform": { + "stars": 30, + "last_update": "2025-11-12 10:35:07", + "author_account_age_days": 1746 }, "https://github.com/SamKhoze/ComfyUI-DeepFuze": { - "stars": 329, - "last_update": "2024-11-22 19:28:20", - "author_account_age_days": 1613 + "stars": 455, + "last_update": "2025-08-15 03:14:39", + "author_account_age_days": 2052 + }, + "https://github.com/SamLiu1000/ComfyUI_Rabbit-Camera-Perspective": { + "stars": 1, + "last_update": "2026-01-10 16:28:41", + "author_account_age_days": 54 + }, + "https://github.com/SamLiu1000/ComfyUI_Resolution-and-Ratio": { + "stars": 0, + "last_update": "2025-12-31 13:52:49", + "author_account_age_days": 54 + }, + "https://github.com/SamTyurenkov/comfyui-vace-preprocessors": { + "stars": 0, + "last_update": "2025-07-23 09:56:07", + "author_account_age_days": 3571 + }, + "https://github.com/SamTyurenkov/comfyui_chatgpt": { + "stars": 0, + "last_update": "2025-12-30 08:38:47", + "author_account_age_days": 3571 + }, + "https://github.com/Sampkao/ComfyUI-Amage": { + "stars": 1, + "last_update": "2026-01-19 09:42:19", + "author_account_age_days": 969 + }, + "https://github.com/San4itos/ComfyUI-Save-Images-as-Video": { + "stars": 3, + "last_update": "2025-09-06 09:31:44", + "author_account_age_days": 2190 + }, + "https://github.com/SanDiegoDude/ComfyUI-DeepStereo": { + "stars": 3, + "last_update": "2025-05-26 22:46:39", + "author_account_age_days": 1241 + }, + "https://github.com/SanDiegoDude/ComfyUI-Kontext-API": { + "stars": 8, + "last_update": "2025-06-18 16:41:48", + "author_account_age_days": 1241 + }, + "https://github.com/SanDiegoDude/ComfyUI-SaveAudioMP3": { + "stars": 4, + "last_update": "2025-05-07 23:48:49", + "author_account_age_days": 1241 + }, + "https://github.com/SanDiegoDude/ComfyUI-Soprano-TTS": { + "stars": 5, + "last_update": "2025-12-30 06:02:36", + "author_account_age_days": 1241 + }, + "https://github.com/SanDiegoDude/SCG_LocalVLM": { + "stars": 4, + "last_update": "2025-12-18 02:11:18", + "author_account_age_days": 1241 + }, + "https://github.com/Santat2023/ComfyUiRagNodes": { + "stars": 0, + "last_update": "2025-09-29 16:14:02", + "author_account_age_days": 897 + }, + "https://github.com/Santodan/santodan-custom-nodes-comfyui": { + "stars": 22, + "last_update": "2026-02-23 14:35:28", + "author_account_age_days": 3304 + }, + "https://github.com/Saquib764/omini-kontext": { + "stars": 435, + "last_update": "2025-09-01 16:42:36", + "author_account_age_days": 5085 + }, + "https://github.com/SatadalAI/SATA_UtilityNode": { + "stars": 1, + "last_update": "2025-12-24 16:55:05", + "author_account_age_days": 773 + }, + "https://github.com/SaturMars/ComfyUI-NVVFR": { + "stars": 0, + "last_update": "2025-08-05 05:39:42", + "author_account_age_days": 747 + }, + "https://github.com/SaturMars/ComfyUI-QwenImageLoraConverter": { + "stars": 29, + "last_update": "2025-08-09 17:55:04", + "author_account_age_days": 747 }, "https://github.com/SayanoAI/Comfy-RVC": { - "stars": 17, - "last_update": "2024-10-09 04:08:31", - "author_account_age_days": 2773 + "stars": 35, + "last_update": "2025-10-15 18:30:03", + "author_account_age_days": 3212 + }, + "https://github.com/Sayene/comfyui-base64-to-image-size": { + "stars": 0, + "last_update": "2025-05-15 12:33:33", + "author_account_age_days": 4290 }, "https://github.com/Scholar01/ComfyUI-Keyframe": { - "stars": 12, - "last_update": "2024-06-14 09:01:30", - "author_account_age_days": 3366 + "stars": 17, + "last_update": "2025-01-22 04:09:29", + "author_account_age_days": 3805 }, "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": { - "stars": 14, + "stars": 19, "last_update": "2024-08-26 14:51:47", - "author_account_age_days": 1280 + "author_account_age_days": 1719 + }, + "https://github.com/Scorpiosis0/ComfyUI-WtlNodes": { + "stars": 3, + "last_update": "2026-01-28 20:27:57", + "author_account_age_days": 1291 }, "https://github.com/ScreamingHawk/comfyui-ollama-prompt-encode": { - "stars": 9, + "stars": 16, "last_update": "2024-11-29 21:51:05", - "author_account_age_days": 4676 + "author_account_age_days": 5115 }, "https://github.com/SeaArtLab/ComfyUI-Long-CLIP": { - "stars": 118, - "last_update": "2024-09-04 09:23:38", - "author_account_age_days": 247 + "stars": 165, + "last_update": "2025-03-08 04:16:32", + "author_account_age_days": 686 + }, + "https://github.com/Sean-Bradley/ComfyUI-Get-Line": { + "stars": 0, + "last_update": "2025-12-15 11:47:02", + "author_account_age_days": 4435 + }, + "https://github.com/Sean-Bradley/ComfyUI-Image-Compare": { + "stars": 7, + "last_update": "2025-12-30 08:10:09", + "author_account_age_days": 4435 + }, + "https://github.com/Sean-Bradley/ComfyUI-Remove-Background": { + "stars": 0, + "last_update": "2025-12-24 15:13:42", + "author_account_age_days": 4435 + }, + "https://github.com/Sean-Bradley/ComfyUI-Sonic": { + "stars": 0, + "last_update": "2026-01-06 10:51:50", + "author_account_age_days": 4435 + }, + "https://github.com/Sean-Bradley/ComfyUI-Video-Reverse": { + "stars": 1, + "last_update": "2025-10-27 20:54:15", + "author_account_age_days": 4435 + }, + "https://github.com/Sean-Bradley/ComfyUI-Virtual-Webcam": { + "stars": 2, + "last_update": "2025-10-27 20:55:50", + "author_account_age_days": 4435 + }, + "https://github.com/Sean-Bradley/ComfyUI-Voice-Clone": { + "stars": 5, + "last_update": "2026-01-25 13:01:30", + "author_account_age_days": 4435 }, "https://github.com/SeanScripts/ComfyUI-PixtralLlamaMolmoVision": { - "stars": 66, - "last_update": "2024-10-05 04:21:36", - "author_account_age_days": 1690 + "stars": 78, + "last_update": "2025-01-31 09:01:23", + "author_account_age_days": 2129 }, "https://github.com/SeanScripts/ComfyUI-Unload-Model": { - "stars": 11, - "last_update": "2024-10-05 04:43:42", - "author_account_age_days": 1690 + "stars": 90, + "last_update": "2025-06-13 04:22:23", + "author_account_age_days": 2129 }, "https://github.com/SeargeDP/ComfyUI_Searge_LLM": { - "stars": 49, - "last_update": "2024-09-04 09:04:18", - "author_account_age_days": 4341 + "stars": 153, + "last_update": "2025-11-29 01:12:44", + "author_account_age_days": 4781 }, "https://github.com/SeargeDP/SeargeSDXL": { - "stars": 807, + "stars": 871, "last_update": "2024-05-22 00:28:26", - "author_account_age_days": 4341 + "author_account_age_days": 4781 }, - "https://github.com/Seedsa/Fooocus_Nodes": { - "stars": 75, - "last_update": "2024-09-18 06:23:35", - "author_account_age_days": 2778 + "https://github.com/Seb-Lis/ComfyUI_Gemini_3_Pro_API_node": { + "stars": 0, + "last_update": "2025-11-21 09:06:40", + "author_account_age_days": 143 }, - "https://github.com/Shadetail/ComfyUI_Eagleshadow": { + "https://github.com/Seb-Lis/ComfyUI_Node_Pack": { + "stars": 0, + "last_update": "2025-11-30 11:13:27", + "author_account_age_days": 143 + }, + "https://github.com/Seb-Lis/comfyui-image-labeler": { + "stars": 0, + "last_update": "2025-11-02 09:33:21", + "author_account_age_days": 143 + }, + "https://github.com/Sekiun/ComfyUI-WebpToPNGSequence": { "stars": 3, - "last_update": "2024-06-15 13:04:49", - "author_account_age_days": 3567 + "last_update": "2025-04-15 12:40:47", + "author_account_age_days": 2081 + }, + "https://github.com/Semonxue/Comfyui-flexai": { + "stars": 5, + "last_update": "2025-12-01 11:07:24", + "author_account_age_days": 5664 + }, + "https://github.com/Semper-Sursum/HF-Flux-ComfyUI": { + "stars": 2, + "last_update": "2025-03-29 17:35:11", + "author_account_age_days": 399 + }, + "https://github.com/SergPoletaev/ComfyUI-SPoletNodes": { + "stars": 0, + "last_update": "2026-01-13 21:56:22", + "author_account_age_days": 1378 + }, + "https://github.com/ServiceStack/comfy-asset-downloader": { + "stars": 17, + "last_update": "2025-05-08 16:21:02", + "author_account_age_days": 5494 + }, + "https://github.com/SethRobinson/comfyui-workflow-to-api-converter-endpoint": { + "stars": 29, + "last_update": "2026-01-12 00:01:52", + "author_account_age_days": 5645 + }, + "https://github.com/Setmaster/ComfyUI-ModelPulse": { + "stars": 0, + "last_update": "2026-01-15 23:13:02", + "author_account_age_days": 4556 + }, + "https://github.com/Shadowwalker0P/CryptoNoise-Ksampler": { + "stars": 2, + "last_update": "2025-12-24 14:56:42", + "author_account_age_days": 275 }, "https://github.com/Shakker-Labs/ComfyUI-IPAdapter-Flux": { - "stars": 199, - "last_update": "2024-12-10 09:47:28", - "author_account_age_days": 19 + "stars": 462, + "last_update": "2025-06-22 08:50:25", + "author_account_age_days": 458 + }, + "https://github.com/ShammiG/ComfyUI-Image_Properties_SG": { + "stars": 11, + "last_update": "2026-02-21 05:44:19", + "author_account_age_days": 145 + }, + "https://github.com/ShammiG/ComfyUI-Show-Clock-in-CMD-Console-SG": { + "stars": 11, + "last_update": "2025-11-11 15:25:48", + "author_account_age_days": 145 + }, + "https://github.com/ShammiG/ComfyUI-Show_Any_Text_in_CMD_Console-SG": { + "stars": 0, + "last_update": "2026-02-21 05:41:28", + "author_account_age_days": 145 + }, + "https://github.com/ShammiG/ComfyUI-Simple_Readable_Metadata-SG": { + "stars": 48, + "last_update": "2026-02-21 05:37:38", + "author_account_age_days": 145 + }, + "https://github.com/ShammiG/ComfyUI-VAE-Timestamp-Clock-SG": { + "stars": 0, + "last_update": "2025-11-11 15:41:53", + "author_account_age_days": 145 + }, + "https://github.com/ShammiG/ComfyUI_Text_Tools_SG": { + "stars": 3, + "last_update": "2026-02-21 05:42:48", + "author_account_age_days": 145 + }, + "https://github.com/Shan2L/ComfyUI-Simple-Profiler": { + "stars": 0, + "last_update": "2026-01-28 08:45:40", + "author_account_age_days": 2855 + }, + "https://github.com/Shannooty/ComfyUI-Timer-Nodes": { + "stars": 5, + "last_update": "2024-12-17 09:20:49", + "author_account_age_days": 1906 + }, + "https://github.com/Shellishack/comfyui_remote_media_io": { + "stars": 1, + "last_update": "2025-09-04 10:42:26", + "author_account_age_days": 2794 }, "https://github.com/SherryXieYuchen/ComfyUI-Image-Inpainting": { "stars": 4, "last_update": "2024-07-03 03:39:49", - "author_account_age_days": 285 + "author_account_age_days": 724 + }, + "https://github.com/Shiba-2-shiba/ComfyUI-HSWQ-Quantizer": { + "stars": 3, + "last_update": "2026-02-23 18:37:20", + "author_account_age_days": 995 + }, + "https://github.com/Shiba-2-shiba/ComfyUI-Magcache-for-SDXL": { + "stars": 7, + "last_update": "2025-10-05 18:19:27", + "author_account_age_days": 995 + }, + "https://github.com/Shiba-2-shiba/ComfyUI-Unofficial-HSWQ-QuantizerHSWQ-Quantizer": { + "stars": 3, + "last_update": "2026-02-23 18:37:20", + "author_account_age_days": 995 }, "https://github.com/Shiba-2-shiba/ComfyUI_DiffusionModel_fp8_converter": { - "stars": 12, - "last_update": "2024-09-05 00:09:26", - "author_account_age_days": 556 + "stars": 32, + "last_update": "2026-02-01 05:36:41", + "author_account_age_days": 995 + }, + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_advanced": { + "stars": 2, + "last_update": "2025-11-09 14:06:53", + "author_account_age_days": 995 + }, + "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_timestepadd": { + "stars": 2, + "last_update": "2025-11-09 14:06:53", + "author_account_age_days": 995 }, "https://github.com/Shiba-2-shiba/comfyui-color-ascii-art-node": { - "stars": 1, - "last_update": "2024-09-26 04:40:37", - "author_account_age_days": 556 + "stars": 5, + "last_update": "2026-02-10 20:24:46", + "author_account_age_days": 995 }, "https://github.com/Shibiko-AI/ShibikoAI-ComfyUI-Tools": { - "stars": 10, - "last_update": "2024-07-04 02:22:10", - "author_account_age_days": 572 + "stars": 11, + "last_update": "2025-12-20 00:11:14", + "author_account_age_days": 1011 + }, + "https://github.com/ShinChven/sc-comfy-nodes": { + "stars": 2, + "last_update": "2026-01-11 11:57:58", + "author_account_age_days": 4779 }, "https://github.com/ShmuelRonen/ComfyUI-Apply_Style_Model_Adjust": { - "stars": 5, + "stars": 10, "last_update": "2024-11-23 03:57:20", - "author_account_age_days": 1375 + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI-AstralAnimator": { "stars": 18, "last_update": "2024-07-18 12:41:22", - "author_account_age_days": 1375 + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-Audio_Quality_Enhancer": { + "stars": 39, + "last_update": "2025-05-11 20:53:31", + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI-CohernetVideoSampler": { - "stars": 2, - "last_update": "2024-12-10 20:29:07", - "author_account_age_days": 1375 + "stars": 17, + "last_update": "2024-12-23 10:54:08", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-DeepSeek_R1-Chat": { + "stars": 19, + "last_update": "2025-01-27 17:14:24", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-EmptyHunyuanLatent": { + "stars": 9, + "last_update": "2024-12-29 05:30:57", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-FramePackWrapper_Plus": { + "stars": 113, + "last_update": "2025-05-19 21:10:06", + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI-FreeMemory": { - "stars": 49, - "last_update": "2024-10-19 17:01:30", - "author_account_age_days": 1375 + "stars": 132, + "last_update": "2025-03-20 11:25:12", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-FreeVC_wrapper": { + "stars": 67, + "last_update": "2025-04-03 13:49:04", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-Gemini_Flash_2.0_Exp": { + "stars": 337, + "last_update": "2025-04-22 17:30:51", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-Gemini_TTS": { + "stars": 21, + "last_update": "2025-05-23 14:21:58", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-HiggsAudio_Wrapper": { + "stars": 27, + "last_update": "2025-07-26 17:23:13", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoSamplerSave": { + "stars": 20, + "last_update": "2025-02-05 19:26:18", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-HunyuanVideoStyler": { + "stars": 46, + "last_update": "2024-12-31 19:19:42", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-ImageMotionGuider": { + "stars": 42, + "last_update": "2024-12-27 11:19:59", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-Janus_pro_vision": { + "stars": 31, + "last_update": "2025-03-20 11:20:56", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-JoyHallo_wrapper": { + "stars": 8, + "last_update": "2025-03-20 11:24:21", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-LatentSyncWrapper": { + "stars": 937, + "last_update": "2025-09-04 08:19:07", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-NanoBanano": { + "stars": 73, + "last_update": "2025-08-27 12:38:13", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-Orpheus-TTS": { + "stars": 10, + "last_update": "2025-05-03 22:06:22", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-PS_Flatten_Image": { + "stars": 7, + "last_update": "2025-04-02 10:58:27", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-PixArt_XL": { + "stars": 3, + "last_update": "2025-03-20 11:23:20", + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": { "stars": 3, - "last_update": "2024-06-14 11:50:52", - "author_account_age_days": 1375 + "last_update": "2025-03-09 04:33:26", + "author_account_age_days": 1814 }, - "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API": { - "stars": 7, - "last_update": "2024-11-13 11:27:12", - "author_account_age_days": 1375 + "https://github.com/ShmuelRonen/ComfyUI-ThinkSound_Wrapper": { + "stars": 20, + "last_update": "2025-07-24 15:03:22", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-Veo2-Experimental": { + "stars": 32, + "last_update": "2025-04-12 04:25:55", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-VideoUpscale_WithModel": { + "stars": 116, + "last_update": "2025-09-18 04:06:05", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI-WanVideoKsampler": { + "stars": 38, + "last_update": "2025-02-27 13:48:05", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI_ChatterBox_Voice": { + "stars": 21, + "last_update": "2025-06-04 18:50:40", + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI_Gemini_Flash": { - "stars": 23, - "last_update": "2024-10-12 02:07:36", - "author_account_age_days": 1375 + "stars": 31, + "last_update": "2025-03-20 04:42:59", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/ComfyUI_Hedra": { + "stars": 4, + "last_update": "2025-05-04 16:41:02", + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI_pixtral_large": { - "stars": 3, - "last_update": "2024-11-26 09:42:17", - "author_account_age_days": 1375 + "stars": 21, + "last_update": "2025-07-21 19:10:32", + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI_pixtral_vision": { - "stars": 14, + "stars": 18, "last_update": "2024-11-20 12:58:30", - "author_account_age_days": 1375 + "author_account_age_days": 1814 }, "https://github.com/ShmuelRonen/ComfyUI_wav2lip": { - "stars": 106, + "stars": 157, "last_update": "2024-09-18 13:17:42", - "author_account_age_days": 1375 + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/DJ_VideoAudioMixer": { + "stars": 3, + "last_update": "2025-04-04 16:06:49", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/FluxKontextCreator": { + "stars": 81, + "last_update": "2025-06-10 17:07:05", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/comfyui-openai_fm": { + "stars": 3, + "last_update": "2025-04-03 14:25:24", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/flux_pro_integrative": { + "stars": 0, + "last_update": "2025-09-05 18:08:58", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/google_moogle": { + "stars": 4, + "last_update": "2025-10-16 05:00:58", + "author_account_age_days": 1814 + }, + "https://github.com/ShmuelRonen/multi-lora-stack": { + "stars": 9, + "last_update": "2025-08-04 10:42:16", + "author_account_age_days": 1814 + }, + "https://github.com/ShootTheSound/comfyUI-Realtime-Lora": { + "stars": 407, + "last_update": "2026-02-10 14:38:00", + "author_account_age_days": 1301 }, "https://github.com/Shraknard/ComfyUI-Remover": { - "stars": 6, + "stars": 5, "last_update": "2024-07-24 08:42:48", - "author_account_age_days": 2486 + "author_account_age_days": 2926 + }, + "https://github.com/ShunL12324/comfy-portal-endpoint": { + "stars": 15, + "last_update": "2026-02-23 05:56:13", + "author_account_age_days": 3147 }, "https://github.com/Siberpone/lazy-pony-prompter": { - "stars": 34, - "last_update": "2024-11-15 10:53:43", - "author_account_age_days": 622 + "stars": 50, + "last_update": "2025-03-28 05:54:45", + "author_account_age_days": 1062 + }, + "https://github.com/SidDays/ComfyUI-YuGiOh": { + "stars": 1, + "last_update": "2026-02-06 15:47:34", + "author_account_age_days": 3614 + }, + "https://github.com/SiegeKeebsOffical/comfyui-lmstudio": { + "stars": 1, + "last_update": "2025-12-14 13:16:58", + "author_account_age_days": 3980 + }, + "https://github.com/Siempreflaco/ComfyUI-NCNodes": { + "stars": 0, + "last_update": "2025-05-02 20:04:43", + "author_account_age_days": 1265 }, "https://github.com/Sieyalixnet/ComfyUI_Textarea_Loaders": { "stars": 3, "last_update": "2024-08-30 01:19:54", - "author_account_age_days": 1853 + "author_account_age_days": 2292 }, - "https://github.com/SlackinJack/distrifuser_comfyui": { + "https://github.com/SignalCha1n/comfyui-ComfySnap": { + "stars": 4, + "last_update": "2025-04-27 15:24:25", + "author_account_age_days": 319 + }, + "https://github.com/SijieMei/ComfyUI-promptHistory": { "stars": 0, - "last_update": "2024-12-11 10:04:00", - "author_account_age_days": 2345 + "last_update": "2025-03-24 03:32:05", + "author_account_age_days": 2521 + }, + "https://github.com/SilentZhang/comfyui-encrypt": { + "stars": 0, + "last_update": "2025-11-15 22:03:32", + "author_account_age_days": 4052 + }, + "https://github.com/SilverAndJade/comfyui-silver-nodes": { + "stars": 0, + "last_update": "2026-01-23 19:16:22", + "author_account_age_days": 4161 + }, + "https://github.com/Simlym/comfyui-prompt-helper": { + "stars": 4, + "last_update": "2025-07-31 16:30:02", + "author_account_age_days": 2791 + }, + "https://github.com/Sinphaltimus/comfyui_fedcoms_node_pack": { + "stars": 0, + "last_update": "2025-05-10 15:54:59", + "author_account_age_days": 2888 + }, + "https://github.com/SipherAGI/comfyui-animatediff": { + "stars": 754, + "last_update": "2024-05-22 18:16:43", + "author_account_age_days": 1014 + }, + "https://github.com/SirWillance/FoW_Suite_LIGHT": { + "stars": 3, + "last_update": "2025-04-15 08:48:46", + "author_account_age_days": 387 }, "https://github.com/SleeeepyZhou/ComfyUI-CNtranslator": { - "stars": 3, - "last_update": "2024-11-25 16:19:16", - "author_account_age_days": 1367 + "stars": 7, + "last_update": "2025-03-29 04:35:17", + "author_account_age_days": 1807 }, "https://github.com/Slickytail/ComfyUI-InstantX-IPAdapter-SD3": { - "stars": 33, - "last_update": "2024-12-09 10:09:55", - "author_account_age_days": 3731 + "stars": 64, + "last_update": "2025-09-25 09:47:49", + "author_account_age_days": 4171 + }, + "https://github.com/Slickytail/ComfyUI-RegionalAdaptiveSampling": { + "stars": 22, + "last_update": "2025-09-23 11:46:41", + "author_account_age_days": 4171 }, "https://github.com/Smirnov75/ComfyUI-mxToolkit": { - "stars": 130, - "last_update": "2024-12-08 10:35:19", - "author_account_age_days": 1681 + "stars": 296, + "last_update": "2025-05-07 11:44:27", + "author_account_age_days": 2121 }, "https://github.com/Smuzzies/comfyui_meme_maker": { - "stars": 0, + "stars": 1, "last_update": "2024-07-05 22:01:41", - "author_account_age_days": 861 + "author_account_age_days": 1300 + }, + "https://github.com/SnJake/SnJake_Baikal_Swin_Anime": { + "stars": 0, + "last_update": "2026-01-09 09:57:26", + "author_account_age_days": 2088 + }, + "https://github.com/SnJake/SnJake_JPG_Artifacts_Noise_Cleaner": { + "stars": 3, + "last_update": "2026-01-04 10:22:36", + "author_account_age_days": 2088 + }, + "https://github.com/SnJake/SnJake_Sapsan-VFI": { + "stars": 1, + "last_update": "2026-02-04 07:40:50", + "author_account_age_days": 2088 + }, + "https://github.com/SofianeAlla/ComfyUI-BespokeAI-3D": { + "stars": 1, + "last_update": "2025-12-04 18:28:30", + "author_account_age_days": 513 }, "https://github.com/SoftMeng/ComfyUI-DeepCache-Fix": { - "stars": 9, + "stars": 16, "last_update": "2024-07-25 13:09:00", - "author_account_age_days": 3693 + "author_account_age_days": 4133 }, "https://github.com/SoftMeng/ComfyUI-PIL": { - "stars": 6, + "stars": 7, "last_update": "2024-10-13 10:02:17", - "author_account_age_days": 3693 + "author_account_age_days": 4133 }, "https://github.com/SoftMeng/ComfyUI_ImageToText": { - "stars": 10, + "stars": 16, "last_update": "2024-06-14 08:08:36", - "author_account_age_days": 3693 + "author_account_age_days": 4133 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Poster": { - "stars": 21, + "stars": 27, "last_update": "2024-06-14 07:06:27", - "author_account_age_days": 3693 + "author_account_age_days": 4133 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Styler": { - "stars": 21, + "stars": 24, "last_update": "2024-06-14 07:09:03", - "author_account_age_days": 3693 + "author_account_age_days": 4133 + }, + "https://github.com/SongGuo11/ComfyUI-SaveAnything-SG11": { + "stars": 0, + "last_update": "2025-03-18 08:59:39", + "author_account_age_days": 446 }, "https://github.com/Sorcerio/MBM-Music-Visualizer": { - "stars": 20, + "stars": 31, "last_update": "2024-05-23 01:09:18", - "author_account_age_days": 4417 + "author_account_age_days": 4856 + }, + "https://github.com/SorenWeile/ComfyUI_MetaSaver": { + "stars": 0, + "last_update": "2026-01-02 17:15:38", + "author_account_age_days": 412 }, "https://github.com/SozeInc/ComfyUI-Mobile": { "stars": 0, "last_update": "2024-08-22 03:12:11", - "author_account_age_days": 249 + "author_account_age_days": 688 }, "https://github.com/SozeInc/ComfyUI_Soze": { - "stars": 4, - "last_update": "2024-11-23 22:56:20", - "author_account_age_days": 249 + "stars": 10, + "last_update": "2026-02-20 17:59:10", + "author_account_age_days": 688 }, - "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid": { - "stars": 6, - "last_update": "2024-05-22 22:11:52", - "author_account_age_days": 378 + "https://github.com/SparknightLLC/ComfyUI-ConditionalInterrupt": { + "stars": 3, + "last_update": "2025-04-15 20:36:37", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-CrosshairGuidelines": { + "stars": 32, + "last_update": "2026-02-07 14:57:17", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-GPENO": { + "stars": 67, + "last_update": "2025-04-15 20:29:05", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-ImageAutosize": { + "stars": 0, + "last_update": "2025-11-29 00:59:24", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-ImageAutotone": { + "stars": 21, + "last_update": "2025-04-15 20:35:55", + "author_account_age_days": 561 }, "https://github.com/SparknightLLC/ComfyUI-LatentClamp": { - "stars": 3, - "last_update": "2024-11-22 01:45:46", - "author_account_age_days": 122 + "stars": 2, + "last_update": "2025-04-15 20:36:15", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-LatentOrientation": { + "stars": 0, + "last_update": "2025-11-28 23:28:46", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-MakeSeamlessTexture": { + "stars": 10, + "last_update": "2026-01-30 10:13:37", + "author_account_age_days": 561 }, "https://github.com/SparknightLLC/ComfyUI-MaskArbiter": { "stars": 4, - "last_update": "2024-11-26 00:02:57", - "author_account_age_days": 122 + "last_update": "2026-02-05 15:31:00", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-ModelSamplingSD3Advanced": { + "stars": 0, + "last_update": "2025-12-22 17:05:20", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-SpectralVAEDetailer": { + "stars": 35, + "last_update": "2025-12-30 21:16:08", + "author_account_age_days": 561 + }, + "https://github.com/SparknightLLC/ComfyUI-WeightedRandomChoice": { + "stars": 0, + "last_update": "2025-04-22 00:31:50", + "author_account_age_days": 561 }, "https://github.com/SpenserCai/ComfyUI-FunAudioLLM": { - "stars": 51, + "stars": 92, "last_update": "2024-11-27 09:22:05", - "author_account_age_days": 2885 + "author_account_age_days": 3324 + }, + "https://github.com/Spin256/spin256-comfyui": { + "stars": 0, + "last_update": "2025-10-24 12:41:13", + "author_account_age_days": 123 + }, + "https://github.com/SquirrelRat/MultiString-Prompts": { + "stars": 1, + "last_update": "2025-10-23 19:44:28", + "author_account_age_days": 2906 + }, + "https://github.com/SquirrelRat/WanVideoLooper": { + "stars": 7, + "last_update": "2026-01-14 04:06:30", + "author_account_age_days": 2906 + }, + "https://github.com/SshunWang/ComfyUI_CosyVoice": { + "stars": 18, + "last_update": "2025-02-05 23:48:10", + "author_account_age_days": 2551 }, "https://github.com/Stability-AI/ComfyUI-SAI_API": { - "stars": 49, - "last_update": "2024-06-06 14:18:15", - "author_account_age_days": 1012 + "stars": 60, + "last_update": "2025-03-04 12:11:12", + "author_account_age_days": 1452 }, "https://github.com/Stability-AI/stability-ComfyUI-nodes": { - "stars": 201, + "stars": 238, "last_update": "2024-05-22 15:30:47", - "author_account_age_days": 1012 + "author_account_age_days": 1452 }, - "https://github.com/StableDiffusionVN/SDVN_Comfy_node": { - "stars": 4, - "last_update": "2024-12-11 13:01:32", - "author_account_age_days": 128 + "https://github.com/StableLlama/ComfyUI-basic_data_handling": { + "stars": 38, + "last_update": "2026-02-08 21:08:47", + "author_account_age_days": 788 + }, + "https://github.com/StarAsh042/ComfyUI_RollingArtist": { + "stars": 1, + "last_update": "2025-12-13 13:19:54", + "author_account_age_days": 3618 + }, + "https://github.com/StarIICraft/ComfyUI-Simple-Selector": { + "stars": 0, + "last_update": "2025-11-19 19:20:30", + "author_account_age_days": 582 }, "https://github.com/StarMagicAI/comfyui_tagger": { - "stars": 2, + "stars": 5, "last_update": "2024-09-03 02:01:59", - "author_account_age_days": 3716 + "author_account_age_days": 4155 + }, + "https://github.com/Starnodes2024/ComfyUI_StarBetaNodes": { + "stars": 18, + "last_update": "2026-01-25 12:38:37", + "author_account_age_days": 612 }, "https://github.com/Starnodes2024/ComfyUI_StarNodes": { - "stars": 10, - "last_update": "2024-12-09 07:28:22", - "author_account_age_days": 172 + "stars": 74, + "last_update": "2026-02-16 13:06:47", + "author_account_age_days": 612 + }, + "https://github.com/Starnodes2024/comfyui_Starnodes_DyPE": { + "stars": 9, + "last_update": "2025-10-31 09:55:07", + "author_account_age_days": 612 }, "https://github.com/StartHua/ComfyUI_OOTDiffusion_CXH": { - "stars": 115, + "stars": 129, "last_update": "2024-06-14 08:12:12", - "author_account_age_days": 3005 + "author_account_age_days": 3444 }, "https://github.com/StartHua/ComfyUI_PCDMs": { - "stars": 6, + "stars": 9, "last_update": "2024-05-22 23:21:14", - "author_account_age_days": 3005 + "author_account_age_days": 3444 }, "https://github.com/StartHua/ComfyUI_Seg_VITON": { - "stars": 202, + "stars": 230, "last_update": "2024-05-22 23:20:17", - "author_account_age_days": 3005 + "author_account_age_days": 3444 }, "https://github.com/StartHua/Comfyui_CXH_DeepLX": { "stars": 8, "last_update": "2024-09-21 02:38:08", - "author_account_age_days": 3005 + "author_account_age_days": 3444 }, "https://github.com/StartHua/Comfyui_CXH_FluxLoraMerge": { - "stars": 13, - "last_update": "2024-11-11 12:41:25", - "author_account_age_days": 3005 + "stars": 28, + "last_update": "2024-12-26 06:56:07", + "author_account_age_days": 3444 }, "https://github.com/StartHua/Comfyui_CXH_Phi_3.5": { "stars": 17, "last_update": "2024-08-22 04:45:39", - "author_account_age_days": 3005 + "author_account_age_days": 3444 }, - "https://github.com/StartHua/Comfyui_CXH_joy_caption": { - "stars": 465, - "last_update": "2024-10-31 02:07:35", - "author_account_age_days": 3005 + "https://github.com/StartHua/Comfyui_Gemini2": { + "stars": 18, + "last_update": "2024-12-12 09:42:42", + "author_account_age_days": 3444 }, "https://github.com/StartHua/Comfyui_joytag": { - "stars": 44, + "stars": 65, "last_update": "2024-05-22 23:20:28", - "author_account_age_days": 3005 + "author_account_age_days": 3444 }, "https://github.com/StartHua/Comfyui_segformer_b2_clothes": { - "stars": 60, + "stars": 107, "last_update": "2024-07-24 14:45:58", - "author_account_age_days": 3005 + "author_account_age_days": 3444 }, "https://github.com/Steudio/ComfyUI_Steudio": { - "stars": 4, - "last_update": "2024-12-07 17:00:37", - "author_account_age_days": 306 + "stars": 117, + "last_update": "2025-11-17 17:59:12", + "author_account_age_days": 745 + }, + "https://github.com/Style-Mosaic/dino-x-comfyui-node": { + "stars": 2, + "last_update": "2025-01-28 21:40:18", + "author_account_age_days": 477 + }, + "https://github.com/SuLU-K/comfyui-easy-sam3-tools": { + "stars": 8, + "last_update": "2026-01-25 04:57:41", + "author_account_age_days": 1916 }, "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": { - "stars": 143, - "last_update": "2024-07-31 02:48:34", - "author_account_age_days": 259 + "stars": 212, + "last_update": "2025-07-28 04:57:56", + "author_account_age_days": 698 }, "https://github.com/SuperMasterBlasterLaser/ComfyUI_YOLO_Classifiers": { "stars": 1, - "last_update": "2024-06-20 15:06:51", - "author_account_age_days": 3748 + "last_update": "2025-03-29 13:16:05", + "author_account_age_days": 4187 }, "https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes": { - "stars": 710, + "stars": 1180, "last_update": "2024-07-24 11:16:13", - "author_account_age_days": 2319 + "author_account_age_days": 2759 + }, + "https://github.com/Suzu008/ComfyUI-CryptIO": { + "stars": 0, + "last_update": "2025-12-16 15:17:57", + "author_account_age_days": 1571 + }, + "https://github.com/SuzumiyaAkizuki/ComfyUI-LLM_Prompt_XML_Formatter": { + "stars": 30, + "last_update": "2026-02-22 14:32:28", + "author_account_age_days": 1791 + }, + "https://github.com/SwissCore92/comfyui-telegram-suite": { + "stars": 6, + "last_update": "2025-11-21 13:12:02", + "author_account_age_days": 2648 }, "https://github.com/Sxela/ComfyWarp": { - "stars": 32, - "last_update": "2024-11-16 07:17:05", - "author_account_age_days": 3542 + "stars": 48, + "last_update": "2025-04-01 22:18:02", + "author_account_age_days": 3981 }, - "https://github.com/TGu-97/ComfyUI-TGu-utils": { - "stars": 1, - "last_update": "2024-05-22 21:07:45", - "author_account_age_days": 699 + "https://github.com/SykkoAtHome/ComfyUI_FaceProcessor": { + "stars": 16, + "last_update": "2025-11-16 12:12:45", + "author_account_age_days": 1005 + }, + "https://github.com/T-Ph525/ComfyUI-Underage-Filter": { + "stars": 0, + "last_update": "2025-05-30 12:10:57", + "author_account_age_days": 1545 + }, + "https://github.com/TFL-TFL/ComfyUI_Text_Translation": { + "stars": 119, + "last_update": "2025-05-25 02:27:01", + "author_account_age_days": 2151 }, "https://github.com/THtianhao/ComfyUI-FaceChain": { - "stars": 119, - "last_update": "2024-06-25 02:59:28", - "author_account_age_days": 3861 + "stars": 145, + "last_update": "2025-04-28 07:00:45", + "author_account_age_days": 4300 }, "https://github.com/THtianhao/ComfyUI-Portrait-Maker": { - "stars": 179, + "stars": 203, "last_update": "2024-05-22 21:18:05", - "author_account_age_days": 3861 + "author_account_age_days": 4300 + }, + "https://github.com/TJ16th/ComfyUI-TJ-PolkaDot": { + "stars": 2, + "last_update": "2025-11-03 12:39:44", + "author_account_age_days": 3144 + }, + "https://github.com/TJ16th/TJ_ComfyUI_ColorUtility": { + "stars": 0, + "last_update": "2025-11-09 17:51:36", + "author_account_age_days": 3144 + }, + "https://github.com/TJ16th/TJ_ComfyUI_Lineart2Vector": { + "stars": 1, + "last_update": "2025-11-09 02:41:19", + "author_account_age_days": 3144 }, "https://github.com/TJ16th/comfyUI_TJ_NormalLighting": { - "stars": 143, + "stars": 152, "last_update": "2024-05-23 00:25:37", - "author_account_age_days": 2705 + "author_account_age_days": 3144 + }, + "https://github.com/TK3R/ComfyUI_TK3R_Ext": { + "stars": 1, + "last_update": "2026-02-18 22:39:28", + "author_account_age_days": 1079 + }, + "https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON": { + "stars": 3, + "last_update": "2024-12-23 05:26:14", + "author_account_age_days": 729 }, "https://github.com/TMElyralab/Comfyui-MusePose": { - "stars": 374, + "stars": 425, "last_update": "2024-07-31 06:21:52", - "author_account_age_days": 267 + "author_account_age_days": 706 }, "https://github.com/TRI3D-LC/ComfyUI-MiroBoard": { - "stars": 5, + "stars": 4, "last_update": "2024-11-21 07:15:20", - "author_account_age_days": 609 + "author_account_age_days": 1048 }, "https://github.com/TRI3D-LC/tri3d-comfyui-nodes": { - "stars": 25, - "last_update": "2024-09-26 05:27:16", - "author_account_age_days": 609 + "stars": 27, + "last_update": "2025-06-19 08:44:57", + "author_account_age_days": 1048 + }, + "https://github.com/TTPlanetPig/Comfyui_DreamID-V_wrapper": { + "stars": 32, + "last_update": "2026-01-12 03:24:03", + "author_account_age_days": 812 }, "https://github.com/TTPlanetPig/Comfyui_Hunyuan3D": { - "stars": 16, + "stars": 30, "last_update": "2024-11-10 16:59:42", - "author_account_age_days": 373 + "author_account_age_days": 812 }, "https://github.com/TTPlanetPig/Comfyui_JC2": { - "stars": 148, - "last_update": "2024-10-19 17:25:50", - "author_account_age_days": 373 + "stars": 217, + "last_update": "2025-05-21 16:25:36", + "author_account_age_days": 812 + }, + "https://github.com/TTPlanetPig/Comfyui_Object_Detect_QWen_VL": { + "stars": 144, + "last_update": "2025-12-14 14:27:01", + "author_account_age_days": 812 }, "https://github.com/TTPlanetPig/Comfyui_Object_Migration": { - "stars": 567, + "stars": 786, "last_update": "2024-11-20 16:51:57", - "author_account_age_days": 373 + "author_account_age_days": 812 }, "https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor": { - "stars": 24, + "stars": 30, "last_update": "2024-08-21 17:52:56", - "author_account_age_days": 373 + "author_account_age_days": 812 }, "https://github.com/TTPlanetPig/Comfyui_TTP_Toolset": { - "stars": 360, - "last_update": "2024-11-20 15:56:54", - "author_account_age_days": 373 + "stars": 946, + "last_update": "2026-01-08 23:22:02", + "author_account_age_days": 812 + }, + "https://github.com/TTPlanetPig/TTP_Comfyui_FramePack_SE": { + "stars": 44, + "last_update": "2025-04-25 11:36:15", + "author_account_age_days": 812 }, "https://github.com/TW-CUI/TW-CUI-Util": { - "stars": 2, + "stars": 1, "last_update": "2024-08-14 01:49:13", - "author_account_age_days": 201 + "author_account_age_days": 640 }, "https://github.com/TZOOTZ/ComfyUI-TZOOTZ_VHS": { - "stars": 1, - "last_update": "2024-10-27 10:20:38", - "author_account_age_days": 3219 + "stars": 4, + "last_update": "2025-06-04 10:19:49", + "author_account_age_days": 3658 }, "https://github.com/TaiTair/comfyui-simswap": { - "stars": 15, + "stars": 14, "last_update": "2024-07-31 18:28:38", - "author_account_age_days": 3736 + "author_account_age_days": 4176 + }, + "https://github.com/Taithrah/ComfyUI_Fens_Simple_Nodes": { + "stars": 4, + "last_update": "2026-02-12 06:20:16", + "author_account_age_days": 5115 + }, + "https://github.com/Taremin/comfyui-keep-multiple-tabs": { + "stars": 7, + "last_update": "2026-02-17 12:15:30", + "author_account_age_days": 2824 + }, + "https://github.com/Taremin/comfyui-prompt-config": { + "stars": 0, + "last_update": "2025-02-28 03:53:16", + "author_account_age_days": 2824 }, "https://github.com/Taremin/comfyui-prompt-extranetworks": { - "stars": 3, - "last_update": "2024-05-22 23:08:34", - "author_account_age_days": 2385 + "stars": 6, + "last_update": "2025-12-07 21:41:24", + "author_account_age_days": 2824 }, "https://github.com/Taremin/comfyui-string-tools": { - "stars": 1, - "last_update": "2024-05-22 23:08:45", - "author_account_age_days": 2385 + "stars": 3, + "last_update": "2025-12-07 23:43:19", + "author_account_age_days": 2824 }, "https://github.com/Taremin/webui-monaco-prompt": { - "stars": 25, - "last_update": "2024-08-22 11:00:45", - "author_account_age_days": 2385 + "stars": 29, + "last_update": "2026-02-22 23:01:09", + "author_account_age_days": 2824 + }, + "https://github.com/TashaSkyUp/EternalKernelPytorchNodes": { + "stars": 1, + "last_update": "2025-06-22 19:16:21", + "author_account_age_days": 3774 + }, + "https://github.com/TdogCreations/ComfyUI-NAID-Grid-Position": { + "stars": 1, + "last_update": "2025-12-30 08:35:02", + "author_account_age_days": 1004 }, "https://github.com/TeaCrab/ComfyUI-TeaNodes": { "stars": 5, - "last_update": "2024-05-22 20:44:05", - "author_account_age_days": 3387 + "last_update": "2025-11-11 16:22:44", + "author_account_age_days": 3827 }, - "https://github.com/TechnoByteJS/ComfyUI-TechNodes": { - "stars": 15, - "last_update": "2024-09-20 23:26:02", - "author_account_age_days": 1845 + "https://github.com/TechnicalTod/ComfyUI-RotoMask": { + "stars": 0, + "last_update": "2026-01-28 06:40:17", + "author_account_age_days": 394 }, "https://github.com/TemryL/ComfyS3": { - "stars": 38, + "stars": 55, "last_update": "2024-11-05 14:56:04", - "author_account_age_days": 1038 + "author_account_age_days": 1478 }, "https://github.com/TemryL/ComfyUI-IDM-VTON": { - "stars": 428, + "stars": 566, "last_update": "2024-08-20 02:44:02", - "author_account_age_days": 1038 + "author_account_age_days": 1478 + }, + "https://github.com/Temult/TWanSigmaGraph": { + "stars": 12, + "last_update": "2025-04-17 09:39:00", + "author_account_age_days": 875 }, "https://github.com/TencentQQGYLab/ComfyUI-ELLA": { - "stars": 352, + "stars": 386, "last_update": "2024-08-16 11:21:10", - "author_account_age_days": 268 + "author_account_age_days": 707 }, "https://github.com/Tenney95/ComfyUI-NodeAligner": { - "stars": 87, - "last_update": "2024-10-21 04:43:12", - "author_account_age_days": 96 + "stars": 162, + "last_update": "2026-01-23 08:09:18", + "author_account_age_days": 535 + }, + "https://github.com/Tensor-Art/ComfyUI_TENSOR_ART": { + "stars": 16, + "last_update": "2025-04-02 08:31:41", + "author_account_age_days": 1009 + }, + "https://github.com/TensorKaze/ComfyUI-TkNodes": { + "stars": 0, + "last_update": "2025-05-26 01:36:34", + "author_account_age_days": 346 + }, + "https://github.com/Terpentinas/EasyLoRAMerger": { + "stars": 3, + "last_update": "2026-02-20 16:21:13", + "author_account_age_days": 164 + }, + "https://github.com/TheArtOfficial/ComfyUI-MaskMorph": { + "stars": 0, + "last_update": "2025-12-07 18:45:32", + "author_account_age_days": 317 }, "https://github.com/TheBarret/ZSuite": { - "stars": 8, + "stars": 9, "last_update": "2024-08-10 13:31:03", - "author_account_age_days": 2882 + "author_account_age_days": 3321 }, - "https://github.com/TheBill2001/ComfyUI-Save-Image-Caption": { - "stars": 5, - "last_update": "2024-08-28 07:45:11", - "author_account_age_days": 1612 + "https://github.com/TheLustriVA/ComfyUI-Image-Size-Tools": { + "stars": 9, + "last_update": "2025-10-22 19:08:07", + "author_account_age_days": 1689 }, - "https://github.com/TheBill2001/comfyui-upscale-by-model": { - "stars": 2, - "last_update": "2024-06-18 17:57:06", - "author_account_age_days": 1612 + "https://github.com/TheMadDoctor007/ComfyUI-QwenCameraSelector": { + "stars": 1, + "last_update": "2026-01-10 22:37:34", + "author_account_age_days": 1071 }, "https://github.com/TheMistoAI/ComfyUI-Anyline": { - "stars": 410, - "last_update": "2024-08-30 09:50:34", - "author_account_age_days": 335 + "stars": 491, + "last_update": "2025-09-05 11:18:56", + "author_account_age_days": 774 + }, + "https://github.com/TheWhykiki/Whykiki-ComfyUIToolset": { + "stars": 0, + "last_update": "2025-03-02 22:17:54", + "author_account_age_days": 3926 + }, + "https://github.com/ThepExcel/aiangelgallery-comfyui": { + "stars": 2, + "last_update": "2025-01-15 07:53:09", + "author_account_age_days": 2170 }, "https://github.com/ThereforeGames/ComfyUI-Unprompted": { - "stars": 10, + "stars": 12, "last_update": "2024-11-13 20:46:08", - "author_account_age_days": 1105 + "author_account_age_days": 1544 + }, + "https://github.com/This-is-Uncut/Custom-Node-ComfyUI-NBP-Uncut": { + "stars": 0, + "last_update": "2025-12-12 12:49:54", + "author_account_age_days": 300 + }, + "https://github.com/ThunderBolt4931/comfyui_pixel_forge": { + "stars": 5, + "last_update": "2025-12-22 11:52:48", + "author_account_age_days": 672 + }, + "https://github.com/TiamaTiramisu/risutools": { + "stars": 3, + "last_update": "2025-04-20 22:51:50", + "author_account_age_days": 610 + }, + "https://github.com/TianDongL/Blind_watermark_Comfyui": { + "stars": 16, + "last_update": "2025-10-25 02:21:54", + "author_account_age_days": 365 + }, + "https://github.com/Tinuva88/Comfy-UmiAI": { + "stars": 23, + "last_update": "2026-01-24 21:46:43", + "author_account_age_days": 1212 + }, + "https://github.com/TinyBeeman/ComfyUI-TinyBee": { + "stars": 1, + "last_update": "2025-11-22 03:39:03", + "author_account_age_days": 2391 }, "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": { - "stars": 431, - "last_update": "2024-10-23 21:18:41", - "author_account_age_days": 791 + "stars": 584, + "last_update": "2025-12-16 23:41:23", + "author_account_age_days": 1230 + }, + "https://github.com/Tlant/ComfyUI-OllamaPromptsGeneratorTlant": { + "stars": 2, + "last_update": "2026-02-21 08:39:48", + "author_account_age_days": 3279 + }, + "https://github.com/ToTheBeginning/ComfyUI-DreamO": { + "stars": 179, + "last_update": "2025-08-22 11:48:28", + "author_account_age_days": 3998 + }, + "https://github.com/TobiasGlaubach/ComfyUI-TG_pydocmaker": { + "stars": 0, + "last_update": "2025-12-22 10:40:21", + "author_account_age_days": 2999 + }, + "https://github.com/Tr1dae/ComfyUI-Dequality": { + "stars": 3, + "last_update": "2025-02-13 16:41:59", + "author_account_age_days": 1147 + }, + "https://github.com/Tr1dae/ComfyUI-EasyFilePaths": { + "stars": 0, + "last_update": "2026-02-17 00:46:02", + "author_account_age_days": 1148 + }, + "https://github.com/Transhumai/ComfyUI-LegionPower": { + "stars": 2, + "last_update": "2025-12-09 18:02:40", + "author_account_age_days": 412 }, "https://github.com/Trgtuan10/ComfyUI_YoloSegment_Mask": { - "stars": 2, + "stars": 1, "last_update": "2024-09-26 01:46:02", - "author_account_age_days": 742 + "author_account_age_days": 1181 }, "https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler": { - "stars": 41, - "last_update": "2024-05-22 22:13:06", - "author_account_age_days": 1030 + "stars": 64, + "last_update": "2025-06-18 09:32:23", + "author_account_age_days": 1469 }, "https://github.com/Tropfchen/ComfyUI-Embedding_Picker": { - "stars": 35, - "last_update": "2024-08-26 16:33:49", - "author_account_age_days": 4023 + "stars": 47, + "last_update": "2026-02-07 20:39:28", + "author_account_age_days": 4462 }, "https://github.com/Tropfchen/ComfyUI-yaResolutionSelector": { - "stars": 12, + "stars": 16, "last_update": "2024-11-10 20:44:23", - "author_account_age_days": 4023 + "author_account_age_days": 4462 + }, + "https://github.com/TrophiHunter/ComfyUI_Photography_Nodes": { + "stars": 4, + "last_update": "2025-05-22 07:41:32", + "author_account_age_days": 1328 }, "https://github.com/Trung0246/ComfyUI-0246": { - "stars": 113, - "last_update": "2024-11-29 19:06:05", - "author_account_age_days": 3550 + "stars": 137, + "last_update": "2025-03-15 03:39:33", + "author_account_age_days": 3989 }, "https://github.com/Ttl/ComfyUi_NNLatentUpscale": { - "stars": 218, + "stars": 260, "last_update": "2024-12-01 16:34:24", - "author_account_age_days": 5091 + "author_account_age_days": 5531 + }, + "https://github.com/TuonoMindCode/ComfyUI-MultiClip-Text-Script": { + "stars": 0, + "last_update": "2026-01-16 21:16:39", + "author_account_age_days": 287 + }, + "https://github.com/TuonoMindCode/ComfyUI-Resolution-Suggest-Downscale": { + "stars": 0, + "last_update": "2025-12-12 11:10:05", + "author_account_age_days": 287 + }, + "https://github.com/TuriSc/comfyui-text-line-selector": { + "stars": 1, + "last_update": "2025-11-22 12:22:59", + "author_account_age_days": 4346 }, "https://github.com/TylerZoro/SD3-Scaling": { "stars": 1, "last_update": "2024-06-15 16:59:22", - "author_account_age_days": 1455 + "author_account_age_days": 1894 + }, + "https://github.com/Ugleh/ComfyUI-ugleh-OpenAI": { + "stars": 0, + "last_update": "2026-01-30 19:26:11", + "author_account_age_days": 5766 + }, + "https://github.com/UmeAiRT/ComfyUI-UmeAiRT-Sync": { + "stars": 0, + "last_update": "2025-12-13 11:16:00", + "author_account_age_days": 5151 }, "https://github.com/Umikaze-job/select_folder_path_easy": { "stars": 6, "last_update": "2024-05-22 21:30:13", - "author_account_age_days": 389 + "author_account_age_days": 828 + }, + "https://github.com/UndefinedUo/DuoUmiWildcards": { + "stars": 0, + "last_update": "2025-11-30 08:24:43", + "author_account_age_days": 951 + }, + "https://github.com/Urabewe/ComfyUI-AudioTools": { + "stars": 9, + "last_update": "2026-01-26 04:50:13", + "author_account_age_days": 5207 + }, + "https://github.com/Urabewe/ComfyUI-CountS2VExtend": { + "stars": 0, + "last_update": "2025-08-31 04:06:50", + "author_account_age_days": 5207 + }, + "https://github.com/Usonaki/ComfyUI-DyPE-Nunchaku": { + "stars": 6, + "last_update": "2025-11-08 18:33:14", + "author_account_age_days": 4038 }, "https://github.com/VAST-AI-Research/ComfyUI-Tripo": { - "stars": 194, - "last_update": "2024-12-05 10:54:41", - "author_account_age_days": 412 + "stars": 320, + "last_update": "2026-01-16 09:48:40", + "author_account_age_days": 851 + }, + "https://github.com/VK/vk-nodes": { + "stars": 0, + "last_update": "2025-05-07 19:59:57", + "author_account_age_days": 5955 + }, + "https://github.com/Vaibhavs10/ComfyUI-DDUF": { + "stars": 5, + "last_update": "2025-01-03 15:10:44", + "author_account_age_days": 3590 }, "https://github.com/VangengLab/ComfyUI-LivePortrait_v2": { - "stars": 4, + "stars": 5, "last_update": "2024-11-09 08:00:22", - "author_account_age_days": 449 + "author_account_age_days": 888 }, "https://github.com/VangengLab/ComfyUI-LivePortrait_v3": { - "stars": 12, + "stars": 22, "last_update": "2024-11-09 07:59:42", - "author_account_age_days": 449 + "author_account_age_days": 888 + }, + "https://github.com/Vaporbook/ComfyUI-SaveImage-PP": { + "stars": 2, + "last_update": "2025-05-08 15:04:17", + "author_account_age_days": 5448 + }, + "https://github.com/Verolelb/ComfyUI-Qwen-Aspect-Ratio": { + "stars": 6, + "last_update": "2025-08-15 17:37:40", + "author_account_age_days": 1231 + }, + "https://github.com/Verolelb/ComfyUI-Video-Workbench": { + "stars": 0, + "last_update": "2025-12-23 11:40:27", + "author_account_age_days": 1231 + }, + "https://github.com/Verolelb/ComfyUI-VideoCompressor": { + "stars": 4, + "last_update": "2025-12-23 09:49:58", + "author_account_age_days": 1231 + }, + "https://github.com/VertexAnomaly/ComfyUI_ImageSentinel": { + "stars": 4, + "last_update": "2026-01-13 23:49:10", + "author_account_age_days": 1265 }, "https://github.com/VertexStudio/roblox-comfyui-nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-08 16:35:54", - "author_account_age_days": 3148 + "author_account_age_days": 3588 }, "https://github.com/VikramxD/VEnhancer-ComfyUI-Wrapper": { - "stars": 7, - "last_update": "2024-11-18 19:38:19", - "author_account_age_days": 1526 + "stars": 12, + "last_update": "2025-01-14 07:35:00", + "author_account_age_days": 1965 + }, + "https://github.com/Visionatrix/ComfyUI-Gemini": { + "stars": 30, + "last_update": "2026-02-16 20:21:49", + "author_account_age_days": 725 + }, + "https://github.com/Visionatrix/ComfyUI-RemoteVAE": { + "stars": 2, + "last_update": "2025-07-05 18:20:05", + "author_account_age_days": 725 }, "https://github.com/Visionatrix/ComfyUI-Visionatrix": { "stars": 2, - "last_update": "2024-11-29 10:37:42", - "author_account_age_days": 286 + "last_update": "2025-07-06 10:53:01", + "author_account_age_days": 725 + }, + "https://github.com/VraethrDalkr/ComfyUI-TripleKSampler": { + "stars": 93, + "last_update": "2025-11-15 23:22:39", + "author_account_age_days": 1027 }, "https://github.com/VrchStudio/comfyui-web-viewer": { - "stars": 50, - "last_update": "2024-12-10 01:25:55", - "author_account_age_days": 1090 + "stars": 341, + "last_update": "2026-02-21 21:42:01", + "author_account_age_days": 1529 }, "https://github.com/VykosX/ControlFlowUtils": { - "stars": 82, + "stars": 141, "last_update": "2024-12-09 17:24:48", - "author_account_age_days": 2080 + "author_account_age_days": 2519 }, - "https://github.com/WASasquatch/ASTERR": { - "stars": 25, - "last_update": "2024-10-27 01:48:56", - "author_account_age_days": 4795 + "https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery": { + "stars": 10, + "last_update": "2025-11-17 22:13:31", + "author_account_age_days": 5235 }, "https://github.com/WASasquatch/ComfyUI_Preset_Merger": { - "stars": 29, - "last_update": "2024-10-27 01:50:32", - "author_account_age_days": 4795 + "stars": 34, + "last_update": "2025-03-27 14:52:46", + "author_account_age_days": 5234 + }, + "https://github.com/WASasquatch/ComfyUI_RetroArch_Player": { + "stars": 1, + "last_update": "2025-12-31 03:10:07", + "author_account_age_days": 5235 + }, + "https://github.com/WASasquatch/ComfyUI_Viewer": { + "stars": 11, + "last_update": "2026-02-18 23:14:30", + "author_account_age_days": 5235 }, "https://github.com/WASasquatch/FreeU_Advanced": { - "stars": 112, - "last_update": "2024-10-27 01:49:14", - "author_account_age_days": 4795 + "stars": 121, + "last_update": "2025-09-29 15:46:06", + "author_account_age_days": 5234 }, "https://github.com/WASasquatch/PPF_Noise_ComfyUI": { - "stars": 23, + "stars": 25, "last_update": "2024-06-14 10:27:23", - "author_account_age_days": 4795 + "author_account_age_days": 5234 }, "https://github.com/WASasquatch/PowerNoiseSuite": { - "stars": 71, + "stars": 81, "last_update": "2024-07-31 13:48:33", - "author_account_age_days": 4795 + "author_account_age_days": 5234 }, "https://github.com/WASasquatch/WAS_Extras": { - "stars": 32, - "last_update": "2024-06-17 04:08:37", - "author_account_age_days": 4795 + "stars": 40, + "last_update": "2025-12-25 00:03:47", + "author_account_age_days": 5234 }, - "https://github.com/WASasquatch/was-node-suite-comfyui": { - "stars": 1248, - "last_update": "2024-11-05 15:31:25", - "author_account_age_days": 4795 + "https://github.com/WASasquatch/face-upscaling-and-seamless-embedding": { + "stars": 11, + "last_update": "2025-11-08 18:44:40", + "author_account_age_days": 5234 + }, + "https://github.com/WASasquatch/was_affine": { + "stars": 5, + "last_update": "2025-11-09 22:43:51", + "author_account_age_days": 5235 + }, + "https://github.com/WUYUDING2583/ComfyUI-Save-Image-Callback": { + "stars": 2, + "last_update": "2025-01-21 08:19:52", + "author_account_age_days": 2821 + }, + "https://github.com/WWWEN8/ComfyUI-CCXManager": { + "stars": 5, + "last_update": "2026-02-07 03:17:22", + "author_account_age_days": 917 }, "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": 146 + "author_account_age_days": 585 }, "https://github.com/WaddingtonHoldings/ComfyUI-InstaSD": { - "stars": 2, - "last_update": "2024-11-27 20:04:15", - "author_account_age_days": 792 + "stars": 4, + "last_update": "2025-11-03 22:46:57", + "author_account_age_days": 1232 + }, + "https://github.com/WainWong/ComfyUI-Loop-image": { + "stars": 40, + "last_update": "2025-03-28 03:09:27", + "author_account_age_days": 3232 + }, + "https://github.com/Wakapedia/ComfyUI-WanVideoWakawave": { + "stars": 1, + "last_update": "2025-12-31 16:20:19", + "author_account_age_days": 4402 }, "https://github.com/Wakfull33/ComfyUI-SaveImageCivitAI": { - "stars": 2, + "stars": 1, "last_update": "2024-10-29 11:03:23", - "author_account_age_days": 3130 + "author_account_age_days": 3569 + }, + "https://github.com/WangDianhui/ComfyUI-SA-ODE_Sampler": { + "stars": 1, + "last_update": "2025-10-04 02:48:04", + "author_account_age_days": 1111 + }, + "https://github.com/WangPengxing/ComfyUI_WPX_Node": { + "stars": 0, + "last_update": "2025-01-20 08:31:55", + "author_account_age_days": 936 + }, + "https://github.com/WarpedAnimation/ComfyUI-WarpedToolset": { + "stars": 10, + "last_update": "2026-02-16 01:24:08", + "author_account_age_days": 350 + }, + "https://github.com/WaveSpeedAI/wavespeed-comfyui": { + "stars": 52, + "last_update": "2026-01-27 01:41:07", + "author_account_age_days": 398 + }, + "https://github.com/WeChatCV/Stand-In_Preprocessor_ComfyUI": { + "stars": 154, + "last_update": "2025-08-21 13:52:03", + "author_account_age_days": 1902 }, "https://github.com/WebDev9000/WebDev9000-Nodes": { "stars": 1, "last_update": "2024-06-14 10:28:22", - "author_account_age_days": 3922 + "author_account_age_days": 4361 + }, + "https://github.com/Wenaka2004/ComfyUI-TagClassifier": { + "stars": 25, + "last_update": "2025-01-31 04:28:34", + "author_account_age_days": 1147 + }, + "https://github.com/What-a-stupid-username/comfyui-InversedSampler": { + "stars": 1, + "last_update": "2025-07-31 14:35:16", + "author_account_age_days": 2901 }, "https://github.com/Wicloz/ComfyUI-Simply-Nodes": { "stars": 1, - "last_update": "2024-07-06 22:35:50", - "author_account_age_days": 3814 + "last_update": "2025-10-06 11:03:44", + "author_account_age_days": 4253 + }, + "https://github.com/Windecay/ComfyUI-ReservedVRAM": { + "stars": 327, + "last_update": "2026-02-05 05:28:42", + "author_account_age_days": 634 + }, + "https://github.com/Windecay/ComfyUI-SDupcaleTiledSize": { + "stars": 12, + "last_update": "2025-11-20 07:48:43", + "author_account_age_days": 634 + }, + "https://github.com/Windecay/ComfyUI_CheckVprediction": { + "stars": 1, + "last_update": "2025-10-27 01:37:16", + "author_account_age_days": 634 + }, + "https://github.com/Windecay/ComfyUI_Dynamic-RAMCache": { + "stars": 68, + "last_update": "2026-02-04 16:01:31", + "author_account_age_days": 634 + }, + "https://github.com/WingeD123/ComfyUI_QwenVL_PromptCaption": { + "stars": 18, + "last_update": "2026-01-17 23:48:56", + "author_account_age_days": 1181 + }, + "https://github.com/X-School-Academy/X-FluxAgent": { + "stars": 32, + "last_update": "2025-06-05 08:28:11", + "author_account_age_days": 327 }, "https://github.com/X-T-E-R/ComfyUI-EasyCivitai-XTNodes": { - "stars": 29, + "stars": 48, "last_update": "2024-09-04 11:37:04", - "author_account_age_days": 1333 + "author_account_age_days": 1772 }, "https://github.com/XLabs-AI/x-flux-comfyui": { - "stars": 1184, + "stars": 1691, "last_update": "2024-10-30 12:51:21", - "author_account_age_days": 127 + "author_account_age_days": 567 + }, + "https://github.com/XWAVEart/comfyui-xwave-xlitch-nodes": { + "stars": 2, + "last_update": "2025-06-04 20:33:17", + "author_account_age_days": 845 + }, + "https://github.com/XYMikky12138/ComfyUI-MIKKY-Mask-Editor": { + "stars": 1, + "last_update": "2025-12-15 13:00:50", + "author_account_age_days": 71 + }, + "https://github.com/XchanBik/ComfyUI_SimpleBridgeNode": { + "stars": 0, + "last_update": "2025-05-15 22:10:43", + "author_account_age_days": 291 }, "https://github.com/Xclbr7/ComfyUI-Merlin": { - "stars": 24, + "stars": 30, "last_update": "2024-09-02 19:36:05", - "author_account_age_days": 107 + "author_account_age_days": 546 + }, + "https://github.com/XelaNull/ComfyUI-MobileFriendly": { + "stars": 3, + "last_update": "2026-01-14 02:30:31", + "author_account_age_days": 2609 + }, + "https://github.com/Xiangyu-CAS/HandFixer": { + "stars": 209, + "last_update": "2025-02-10 02:02:01", + "author_account_age_days": 3997 + }, + "https://github.com/XieJunchen/comfyUI_LLM": { + "stars": 2, + "last_update": "2025-08-03 13:21:08", + "author_account_age_days": 2383 + }, + "https://github.com/Xkipper/ComfyUI_SkipperNodes": { + "stars": 0, + "last_update": "2025-04-26 20:13:45", + "author_account_age_days": 4088 + }, + "https://github.com/XmYx/ComfyUI-SmolLM3": { + "stars": 5, + "last_update": "2025-07-10 06:25:43", + "author_account_age_days": 3215 }, "https://github.com/XmYx/deforum-comfy-nodes": { - "stars": 164, - "last_update": "2024-12-05 21:10:04", - "author_account_age_days": 2776 + "stars": 199, + "last_update": "2025-05-26 19:50:55", + "author_account_age_days": 3215 + }, + "https://github.com/XuanYu-github/comfyui-PlyPreview": { + "stars": 3, + "last_update": "2025-12-29 08:05:27", + "author_account_age_days": 1563 + }, + "https://github.com/Xyc2016/Comfyui_Fd_Nodes": { + "stars": 0, + "last_update": "2026-02-12 02:26:32", + "author_account_age_days": 3368 }, "https://github.com/Xyem/Xycuno-Oobabooga": { "stars": 4, "last_update": "2024-05-23 00:14:14", - "author_account_age_days": 4494 + "author_account_age_days": 4933 + }, + "https://github.com/Xz3r0-M/ComfyUI-Xz3r0-Nodes": { + "stars": 2, + "last_update": "2026-02-23 21:42:08", + "author_account_age_days": 2077 + }, + "https://github.com/YMC-GitHub/comfyui_node_ymc_effect_shatter": { + "stars": 0, + "last_update": "2025-04-12 15:00:21", + "author_account_age_days": 3304 }, "https://github.com/YMC-GitHub/ymc-node-as-x-type": { - "stars": 1, - "last_update": "2024-08-03 06:01:00", - "author_account_age_days": 2865 + "stars": 0, + "last_update": "2025-06-06 12:23:11", + "author_account_age_days": 3304 }, "https://github.com/YMC-GitHub/ymc-node-suite-comfyui": { - "stars": 17, - "last_update": "2024-05-22 21:15:51", - "author_account_age_days": 2865 + "stars": 20, + "last_update": "2025-06-09 08:07:23", + "author_account_age_days": 3304 + }, + "https://github.com/YMC-GitHub/ymc_node_joy": { + "stars": 0, + "last_update": "2025-06-19 07:24:28", + "author_account_age_days": 3304 }, "https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes": { - "stars": 14, + "stars": 15, "last_update": "2024-05-22 20:48:23", - "author_account_age_days": 3925 + "author_account_age_days": 4364 + }, + "https://github.com/YRIKKA/ComfyUI-InferenceTimeScaling": { + "stars": 23, + "last_update": "2025-02-27 21:13:18", + "author_account_age_days": 608 + }, + "https://github.com/Yahweasel/ComfyUI-HF-Diffusers": { + "stars": 1, + "last_update": "2026-02-02 22:41:04", + "author_account_age_days": 3259 + }, + "https://github.com/Yahweasel/ComfyUI-MinDalle": { + "stars": 0, + "last_update": "2025-05-26 20:42:34", + "author_account_age_days": 3259 }, "https://github.com/Yanick112/ComfyUI-ToSVG": { - "stars": 99, - "last_update": "2024-10-12 15:56:48", - "author_account_age_days": 984 + "stars": 277, + "last_update": "2025-06-20 14:10:06", + "author_account_age_days": 1423 }, - "https://github.com/YarvixPA/ComfyUI-NeuralMedia": { + "https://github.com/YaroslavIv/comfyui_swd": { "stars": 2, - "last_update": "2024-12-03 23:05:03", - "author_account_age_days": 376 + "last_update": "2025-06-23 04:10:43", + "author_account_age_days": 2186 }, - "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": { + "https://github.com/YarvixPA/ComfyUI-YarvixPA": { + "stars": 2, + "last_update": "2025-11-28 03:59:23", + "author_account_age_days": 815 + }, + "https://github.com/YaserJaradeh/comfyui-yaser-nodes": { + "stars": 7, + "last_update": "2025-10-17 12:29:43", + "author_account_age_days": 4134 + }, + "https://github.com/Yeq6X/ComfyUI-image-to-video-inserter": { + "stars": 7, + "last_update": "2025-10-28 08:51:30", + "author_account_age_days": 2257 + }, + "https://github.com/Yo1up/Diffusion-Model-Detailer": { + "stars": 4, + "last_update": "2025-08-08 00:32:59", + "author_account_age_days": 1149 + }, + "https://github.com/Yuan-ManX/ComfyUI-AniSora": { + "stars": 48, + "last_update": "2025-05-27 04:11:59", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-AudioX": { + "stars": 10, + "last_update": "2025-05-27 04:14:59", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Bagel": { + "stars": 29, + "last_update": "2025-05-28 03:00:53", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-ChatterboxTTS": { + "stars": 12, + "last_update": "2025-05-30 08:13:06", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Cobra": { + "stars": 7, + "last_update": "2025-04-18 02:06:26", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Dia": { + "stars": 6, + "last_update": "2025-04-24 06:58:05", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Direct3D-S2": { "stars": 16, - "last_update": "2024-08-22 04:57:12", - "author_account_age_days": 956 + "last_update": "2025-06-10 03:24:25", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-HiDream-I1": { + "stars": 9, + "last_update": "2025-04-14 02:56:22", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-HiggsAudio": { + "stars": 22, + "last_update": "2025-07-26 07:19:35", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Hunyuan3D-2.1": { + "stars": 40, + "last_update": "2025-06-16 07:03:54", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-HunyuanPortrait": { + "stars": 10, + "last_update": "2025-05-28 09:47:34", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-HunyuanVideo-Avatar": { + "stars": 27, + "last_update": "2025-05-29 07:49:15", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Kimi-VL": { + "stars": 1, + "last_update": "2025-04-17 06:55:14", + "author_account_age_days": 2049 }, "https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh": { - "stars": 2, + "stars": 5, "last_update": "2024-11-29 09:52:04", - "author_account_age_days": 1610 + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-LayerAnimate": { + "stars": 4, + "last_update": "2025-04-01 03:16:53", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-LiveCC": { + "stars": 4, + "last_update": "2025-05-27 04:14:30", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Matrix-Game": { + "stars": 8, + "last_update": "2025-05-13 08:05:00", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-MoviiGen": { + "stars": 10, + "last_update": "2025-05-27 04:12:30", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Multiverse": { + "stars": 1, + "last_update": "2025-05-09 06:51:35", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Muyan-TTS": { + "stars": 2, + "last_update": "2025-05-08 08:21:24", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-OmniGen2": { + "stars": 123, + "last_update": "2025-06-26 02:46:07", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-OrpheusTTS": { + "stars": 8, + "last_update": "2025-03-24 02:47:23", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-PhotoDoodle": { + "stars": 3, + "last_update": "2025-02-28 03:47:54", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-PosterCraft": { + "stars": 18, + "last_update": "2025-06-26 10:00:28", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-SkyReels-A2": { + "stars": 31, + "last_update": "2025-05-27 04:14:03", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-SkyworkUniPic": { + "stars": 13, + "last_update": "2025-07-30 06:02:10", + "author_account_age_days": 2049 }, "https://github.com/Yuan-ManX/ComfyUI-SoundHub": { - "stars": 2, + "stars": 4, "last_update": "2024-11-27 08:00:48", - "author_account_age_days": 1610 + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Step1X-3D": { + "stars": 13, + "last_update": "2025-05-16 02:36:06", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-StyleStudio": { + "stars": 4, + "last_update": "2025-03-10 09:38:08", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-ThinkSound": { + "stars": 25, + "last_update": "2025-07-12 03:48:32", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-UNO": { + "stars": 10, + "last_update": "2025-04-11 07:37:33", + "author_account_age_days": 2049 + }, + "https://github.com/Yuan-ManX/ComfyUI-Vui": { + "stars": 3, + "last_update": "2025-06-12 03:55:32", + "author_account_age_days": 2049 + }, + "https://github.com/Yukinoshita-Yukinoe/ComfyUI-Qwen-Node": { + "stars": 2, + "last_update": "2025-10-04 06:11:49", + "author_account_age_days": 2015 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": { - "stars": 350, + "stars": 383, "last_update": "2024-05-22 14:14:46", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Animated-optical-illusions": { - "stars": 20, + "stars": 21, "last_update": "2024-06-14 07:06:15", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": { - "stars": 448, + "stars": 553, "last_update": "2024-06-12 04:40:50", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BRIA_AI-RMBG": { - "stars": 721, + "stars": 834, "last_update": "2024-05-22 14:14:18", - "author_account_age_days": 509 + "author_account_age_days": 949 + }, + "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DeepSeek-JanusPro": { + "stars": 106, + "last_update": "2025-02-21 09:45:54", + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": { - "stars": 72, + "stars": 75, "last_update": "2024-05-22 14:14:03", - "author_account_age_days": 509 - }, - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini": { - "stars": 681, - "last_update": "2024-05-22 14:15:11", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID": { - "stars": 1363, + "stars": 1445, "last_update": "2024-05-22 13:57:55", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Phi-3-mini": { - "stars": 198, + "stars": 207, "last_update": "2024-06-30 08:41:40", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PhotoMaker-ZHO": { - "stars": 790, + "stars": 816, "last_update": "2024-05-22 14:13:49", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PixArt-alpha-Diffusers": { - "stars": 49, + "stars": 51, "last_update": "2024-05-22 13:40:58", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Q-Align": { - "stars": 4, + "stars": 5, "last_update": "2024-05-22 14:15:52", - "author_account_age_days": 509 - }, - "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen": { - "stars": 94, - "last_update": "2024-09-20 21:27:47", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-VL-API": { - "stars": 200, + "stars": 219, "last_update": "2024-05-22 14:14:57", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SVD-ZHO": { - "stars": 107, + "stars": 109, "last_update": "2024-05-22 13:40:44", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SegMoE": { "stars": 80, "last_update": "2024-05-22 13:41:14", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Text_Image-Composite": { - "stars": 101, + "stars": 120, "last_update": "2024-05-31 12:03:55", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-UltraEdit-ZHO": { - "stars": 145, + "stars": 149, "last_update": "2024-07-11 14:59:07", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-YoloWorld-EfficientSAM": { - "stars": 635, + "stars": 811, "last_update": "2024-05-22 13:01:07", - "author_account_age_days": 509 + "author_account_age_days": 949 }, "https://github.com/ZHO-ZHO-ZHO/comfyui-portrait-master-zh-cn": { - "stars": 1619, + "stars": 1798, "last_update": "2024-06-14 09:00:04", - "author_account_age_days": 509 + "author_account_age_days": 949 + }, + "https://github.com/ZUENS2020/ComfyUI-Gemini-LiteLLM": { + "stars": 0, + "last_update": "2026-01-28 01:28:44", + "author_account_age_days": 731 + }, + "https://github.com/ZUENS2020/ComfyUI-LLM-Nodes": { + "stars": 0, + "last_update": "2026-01-28 01:28:44", + "author_account_age_days": 731 + }, + "https://github.com/ZXL-Xinram/ComfyUI-AutoFlow": { + "stars": 4, + "last_update": "2025-12-23 08:23:49", + "author_account_age_days": 1892 }, "https://github.com/ZZXYWQ/ComfyUI-ZZXYWQ": { - "stars": 20, + "stars": 23, "last_update": "2024-07-19 06:38:39", - "author_account_age_days": 1443 + "author_account_age_days": 1882 + }, + "https://github.com/Zachary116699/ComfyUI-LoadImageWithMetaDataEx": { + "stars": 2, + "last_update": "2025-06-10 07:10:28", + "author_account_age_days": 1970 }, "https://github.com/ZaneA/ComfyUI-ImageReward": { - "stars": 28, - "last_update": "2024-08-19 06:43:55", - "author_account_age_days": 5710 + "stars": 31, + "last_update": "2025-02-24 19:55:45", + "author_account_age_days": 6149 + }, + "https://github.com/Zar4X/ComfyUI-Batch-Process": { + "stars": 9, + "last_update": "2026-02-12 09:22:40", + "author_account_age_days": 1040 + }, + "https://github.com/Zar4X/ComfyUI-Image-Resizing": { + "stars": 3, + "last_update": "2025-12-04 02:41:50", + "author_account_age_days": 1040 + }, + "https://github.com/Zch6111/AI_Text_Comfyui": { + "stars": 1, + "last_update": "2025-06-05 03:22:47", + "author_account_age_days": 682 }, "https://github.com/ZeDarkAdam/ComfyUI-Embeddings-Tools": { - "stars": 2, + "stars": 3, "last_update": "2024-06-23 19:19:40", - "author_account_age_days": 1364 + "author_account_age_days": 1803 + }, + "https://github.com/Zehong-Ma/ComfyUI-MagCache": { + "stars": 267, + "last_update": "2025-11-27 11:52:49", + "author_account_age_days": 1812 + }, + "https://github.com/Zeknes/Comfyui-LLM-Chat": { + "stars": 0, + "last_update": "2025-12-17 08:04:07", + "author_account_age_days": 1204 + }, + "https://github.com/Zeknes/Comfyui-Nanobanana-API": { + "stars": 0, + "last_update": "2025-12-17 08:35:06", + "author_account_age_days": 1204 + }, + "https://github.com/Zeks/comfyui-rapidfire": { + "stars": 0, + "last_update": "2025-11-21 08:39:28", + "author_account_age_days": 5230 + }, + "https://github.com/ZeroSpaceStudios/ComfyUI-ZSNodes": { + "stars": 0, + "last_update": "2025-08-26 00:26:08", + "author_account_age_days": 333 + }, + "https://github.com/ZhiHui6/zhihui_nodes_comfyui": { + "stars": 134, + "last_update": "2026-02-03 14:19:55", + "author_account_age_days": 2889 + }, + "https://github.com/Zone-Roam/ComfyUI-Live-Search": { + "stars": 22, + "last_update": "2025-11-26 12:20:52", + "author_account_age_days": 1861 }, "https://github.com/Zuellni/ComfyUI-Custom-Nodes": { "stars": 44, "last_update": "2023-09-19 12:11:26", - "author_account_age_days": 692 + "author_account_age_days": 1132 }, "https://github.com/Zuellni/ComfyUI-ExLlama-Nodes": { - "stars": 112, + "stars": 122, "last_update": "2024-12-06 14:22:11", - "author_account_age_days": 692 + "author_account_age_days": 1132 }, "https://github.com/Zuellni/ComfyUI-PickScore-Nodes": { - "stars": 33, + "stars": 39, "last_update": "2024-09-08 09:17:04", - "author_account_age_days": 692 + "author_account_age_days": 1132 + }, + "https://github.com/a-l-e-x-d-s-9/ComfyUI-SaveCheckpointWithMetadata": { + "stars": 0, + "last_update": "2025-08-25 20:29:15", + "author_account_age_days": 4410 + }, + "https://github.com/a-ru2016/ComfyUI-Universal-ABM-LoRA": { + "stars": 0, + "last_update": "2026-01-01 09:32:22", + "author_account_age_days": 1114 + }, + "https://github.com/a-ru2016/ComfyUI_UniversalSubspace": { + "stars": 0, + "last_update": "2025-12-31 12:49:11", + "author_account_age_days": 1114 + }, + "https://github.com/a-und-b/ComfyUI_AB_Wildcard": { + "stars": 0, + "last_update": "2025-12-10 15:06:11", + "author_account_age_days": 1049 + }, + "https://github.com/a-und-b/ComfyUI_Delay": { + "stars": 5, + "last_update": "2025-01-10 11:20:35", + "author_account_age_days": 1049 + }, + "https://github.com/a-und-b/ComfyUI_IC-Light-v2_fal": { + "stars": 42, + "last_update": "2025-05-05 08:34:47", + "author_account_age_days": 1049 + }, + "https://github.com/a-und-b/ComfyUI_JSON_Helper": { + "stars": 4, + "last_update": "2025-01-09 15:54:55", + "author_account_age_days": 1049 + }, + "https://github.com/a-und-b/ComfyUI_LoRA_from_URL": { + "stars": 4, + "last_update": "2025-01-16 13:40:26", + "author_account_age_days": 1049 + }, + "https://github.com/a-und-b/ComfyUI_MaskAreaCondition": { + "stars": 4, + "last_update": "2025-04-28 08:23:36", + "author_account_age_days": 1049 }, "https://github.com/a1lazydog/ComfyUI-AudioScheduler": { - "stars": 101, + "stars": 107, "last_update": "2024-08-08 03:04:19", - "author_account_age_days": 4972 + "author_account_age_days": 5411 + }, + "https://github.com/aTanguay/ComfyUI_Detonate": { + "stars": 3, + "last_update": "2025-11-25 04:13:26", + "author_account_age_days": 4058 + }, + "https://github.com/aadityamundhalia/ComfyUI-ollama-aditya": { + "stars": 1, + "last_update": "2026-01-14 01:47:34", + "author_account_age_days": 5365 }, "https://github.com/abdozmantar/ComfyUI-DeepExtract": { - "stars": 5, - "last_update": "2024-12-07 11:44:06", - "author_account_age_days": 322 + "stars": 45, + "last_update": "2025-08-26 02:43:39", + "author_account_age_days": 762 + }, + "https://github.com/abdozmantar/ComfyUI-DeepExtractV2": { + "stars": 39, + "last_update": "2025-10-12 18:20:58", + "author_account_age_days": 762 + }, + "https://github.com/abdullahceylan/ac-comfyui-image-optimizer": { + "stars": 0, + "last_update": "2026-02-04 01:05:10", + "author_account_age_days": 2915 + }, + "https://github.com/abdullahceylan/ac-comfyui-queue-manager": { + "stars": 6, + "last_update": "2025-09-27 18:12:15", + "author_account_age_days": 2915 }, "https://github.com/aburahamu/ComfyUI-IsNiceParts": { "stars": 3, "last_update": "2024-06-14 12:01:40", - "author_account_age_days": 243 + "author_account_age_days": 682 }, "https://github.com/aburahamu/ComfyUI-RequestsPoster": { "stars": 2, "last_update": "2024-06-14 13:59:24", - "author_account_age_days": 243 + "author_account_age_days": 682 }, "https://github.com/abyz22/image_control": { - "stars": 14, + "stars": 16, "last_update": "2024-08-31 08:39:44", - "author_account_age_days": 332 + "author_account_age_days": 771 + }, + "https://github.com/ace-step/ACE-Step-ComfyUI": { + "stars": 15, + "last_update": "2026-02-17 09:55:43", + "author_account_age_days": 301 }, "https://github.com/acorderob/sd-webui-prompt-postprocessor": { - "stars": 27, - "last_update": "2024-11-23 13:08:46", - "author_account_age_days": 3997 + "stars": 47, + "last_update": "2025-12-09 19:13:15", + "author_account_age_days": 4437 + }, + "https://github.com/adambarbato/ComfyUI-Sa2VA": { + "stars": 92, + "last_update": "2025-12-22 23:32:02", + "author_account_age_days": 4540 }, "https://github.com/adbrasi/ComfyUI-TrashNodes-DownloadHuggingface": { - "stars": 4, + "stars": 7, "last_update": "2024-05-22 23:24:45", - "author_account_age_days": 873 + "author_account_age_days": 1313 }, "https://github.com/adieyal/comfyui-dynamicprompts": { - "stars": 253, + "stars": 400, "last_update": "2024-07-09 14:21:09", - "author_account_age_days": 5187 + "author_account_age_days": 5626 }, "https://github.com/adigayung/ComfyUI-Translator": { - "stars": 2, + "stars": 16, "last_update": "2024-09-09 03:36:52", - "author_account_age_days": 383 + "author_account_age_days": 822 + }, + "https://github.com/adrianschubek/comfyui-zeug": { + "stars": 1, + "last_update": "2025-07-24 22:13:07", + "author_account_age_days": 3572 }, "https://github.com/adriflex/ComfyUI_Blender_Texdiff": { "stars": 2, "last_update": "2024-05-22 23:14:18", - "author_account_age_days": 2392 + "author_account_age_days": 2831 + }, + "https://github.com/advancedtech-sk/ComfyUI-GROUT": { + "stars": 0, + "last_update": "2026-01-09 10:11:43", + "author_account_age_days": 47 }, "https://github.com/aegis72/aegisflow_utility_nodes": { - "stars": 30, + "stars": 38, "last_update": "2024-10-03 11:11:39", - "author_account_age_days": 753 + "author_account_age_days": 1192 }, "https://github.com/aegis72/comfyui-styles-all": { - "stars": 46, + "stars": 53, "last_update": "2024-05-22 22:10:41", - "author_account_age_days": 753 + "author_account_age_days": 1192 + }, + "https://github.com/aesethtics/ComfyUI-Utilitools": { + "stars": 1, + "last_update": "2025-08-27 21:58:17", + "author_account_age_days": 3456 + }, + "https://github.com/aesethtics/comfyui-3d-model-viewer": { + "stars": 2, + "last_update": "2025-09-24 17:27:58", + "author_account_age_days": 3456 + }, + "https://github.com/agavesunset/AgaveLogicCounter": { + "stars": 0, + "last_update": "2025-12-18 06:34:34", + "author_account_age_days": 355 + }, + "https://github.com/agilly1989/ComfyUI_agilly1989_motorway": { + "stars": 7, + "last_update": "2025-08-03 11:26:11", + "author_account_age_days": 2493 + }, + "https://github.com/ah-kun/ComfyUI-FailSafe-Translate-Node": { + "stars": 0, + "last_update": "2025-12-01 23:39:14", + "author_account_age_days": 737 + }, + "https://github.com/ah-kun/ComfyUI-OTP-Auth": { + "stars": 1, + "last_update": "2026-01-17 09:41:46", + "author_account_age_days": 737 + }, + "https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools": { + "stars": 3, + "last_update": "2025-01-03 18:48:03", + "author_account_age_days": 4605 + }, + "https://github.com/ahkimkoo/ComfyUI-GetKeyFrames": { + "stars": 0, + "last_update": "2025-11-14 11:02:04", + "author_account_age_days": 5847 + }, + "https://github.com/ahkimkoo/Comfyui-AudioSegment": { + "stars": 5, + "last_update": "2025-09-19 03:20:14", + "author_account_age_days": 5847 + }, + "https://github.com/ai-joe-git/ComfyUI-Metadata-Extractor": { + "stars": 2, + "last_update": "2026-01-22 00:41:29", + "author_account_age_days": 1669 + }, + "https://github.com/ai-joe-git/ComfyUI-Simple-Prompt-Batcher": { + "stars": 20, + "last_update": "2026-02-10 21:06:39", + "author_account_age_days": 1669 }, "https://github.com/ai-liam/comfyui-liam": { "stars": 2, "last_update": "2024-06-22 03:27:52", - "author_account_age_days": 1691 + "author_account_age_days": 2130 }, "https://github.com/ai-liam/comfyui_liam_util": { "stars": 1, "last_update": "2024-05-22 22:21:23", - "author_account_age_days": 1691 + "author_account_age_days": 2130 }, "https://github.com/ai-shizuka/ComfyUI-tbox": { - "stars": 4, - "last_update": "2024-10-14 12:49:17", - "author_account_age_days": 182 + "stars": 23, + "last_update": "2025-04-22 10:21:03", + "author_account_age_days": 3550 + }, + "https://github.com/aiaiaikkk/ComfyUI-Curve": { + "stars": 168, + "last_update": "2025-10-27 02:13:49", + "author_account_age_days": 513 + }, + "https://github.com/aiaiaikkk/comfyui-api-image-edit": { + "stars": 9, + "last_update": "2025-09-03 17:05:31", + "author_account_age_days": 513 + }, + "https://github.com/aiaiaikkk/super-prompt-canvas": { + "stars": 159, + "last_update": "2025-08-30 06:42:21", + "author_account_age_days": 513 }, "https://github.com/aianimation55/ComfyUI-FatLabels": { "stars": 5, "last_update": "2024-05-22 21:26:01", - "author_account_age_days": 444 + "author_account_age_days": 883 + }, + "https://github.com/aiartvn/A2V_Multi_Image_Composite": { + "stars": 1, + "last_update": "2025-02-02 04:14:06", + "author_account_age_days": 394 + }, + "https://github.com/aicoder-max/Pillar_For_ComfyUI": { + "stars": 2, + "last_update": "2025-06-05 09:40:09", + "author_account_age_days": 279 + }, + "https://github.com/aicuai/aicu-comfyui-stability-ai-api": { + "stars": 1, + "last_update": "2025-02-21 13:31:14", + "author_account_age_days": 952 + }, + "https://github.com/aicuai/comfyui-save-image-watermark": { + "stars": 1, + "last_update": "2025-12-17 00:47:55", + "author_account_age_days": 952 + }, + "https://github.com/aidec/Comfyui_TextBatch_aidec": { + "stars": 15, + "last_update": "2025-11-12 02:50:17", + "author_account_age_days": 4512 }, "https://github.com/aidenli/ComfyUI_NYJY": { - "stars": 86, - "last_update": "2024-12-07 13:22:03", - "author_account_age_days": 4718 + "stars": 140, + "last_update": "2026-01-24 10:03:53", + "author_account_age_days": 5157 + }, + "https://github.com/aigc-apps/EasyAnimate": { + "stars": 2250, + "last_update": "2025-03-06 11:41:28", + "author_account_age_days": 927 + }, + "https://github.com/aigc-apps/VideoX-Fun": { + "stars": 1911, + "last_update": "2026-02-13 02:14:14", + "author_account_age_days": 927 }, "https://github.com/aimerib/ComfyUI_HigherBitDepthSaveImage": { "stars": 3, "last_update": "2024-09-14 03:03:01", - "author_account_age_days": 2840 + "author_account_age_days": 3280 + }, + "https://github.com/aimoviestudio/comfyui-promptbuilder": { + "stars": 0, + "last_update": "2026-01-26 07:03:51", + "author_account_age_days": 44 + }, + "https://github.com/ainewsto/Comfyui-chatgpt-api": { + "stars": 54, + "last_update": "2025-08-12 06:38:37", + "author_account_age_days": 1263 + }, + "https://github.com/ainewsto/Comfyui-google-veo2-api": { + "stars": 4, + "last_update": "2025-05-06 06:43:48", + "author_account_age_days": 1263 + }, + "https://github.com/ainewsto/comfyui-labs-google": { + "stars": 89, + "last_update": "2025-06-18 02:12:39", + "author_account_age_days": 1263 + }, + "https://github.com/aining2022/ComfyUI_Swwan": { + "stars": 10, + "last_update": "2026-01-27 09:46:01", + "author_account_age_days": 641 }, "https://github.com/aisabervisionlab/ComfyUI_merge_ASVL": { - "stars": 3, + "stars": 2, "last_update": "2024-07-31 13:39:36", - "author_account_age_days": 159 + "author_account_age_days": 598 + }, + "https://github.com/aistudynow/Comfyui-HunyuanFoley": { + "stars": 62, + "last_update": "2025-09-13 10:17:31", + "author_account_age_days": 178 + }, + "https://github.com/aistudynow/Comfyui-tetestyle-image-video": { + "stars": 3, + "last_update": "2026-02-15 20:26:39", + "author_account_age_days": 178 + }, + "https://github.com/ajbergh/comfyui-ethnicity_hairstyle_clip_encoder": { + "stars": 2, + "last_update": "2025-02-28 22:07:11", + "author_account_age_days": 2392 }, "https://github.com/akatz-ai/ComfyUI-AKatz-Nodes": { - "stars": 19, - "last_update": "2024-11-20 23:13:59", - "author_account_age_days": 205 + "stars": 31, + "last_update": "2025-11-30 20:57:15", + "author_account_age_days": 644 + }, + "https://github.com/akatz-ai/ComfyUI-Basic-Math": { + "stars": 15, + "last_update": "2025-09-30 03:58:34", + "author_account_age_days": 644 }, "https://github.com/akatz-ai/ComfyUI-DepthCrafter-Nodes": { - "stars": 187, - "last_update": "2024-11-27 23:40:30", - "author_account_age_days": 205 + "stars": 247, + "last_update": "2025-05-05 04:23:55", + "author_account_age_days": 644 }, "https://github.com/akatz-ai/ComfyUI-Depthflow-Nodes": { - "stars": 191, - "last_update": "2024-10-21 22:08:43", - "author_account_age_days": 205 + "stars": 346, + "last_update": "2026-02-15 08:37:14", + "author_account_age_days": 644 }, "https://github.com/akatz-ai/ComfyUI-X-Portrait-Nodes": { - "stars": 74, - "last_update": "2024-11-15 05:45:58", - "author_account_age_days": 205 + "stars": 86, + "last_update": "2025-04-20 05:29:13", + "author_account_age_days": 644 + }, + "https://github.com/akaugun/comfyui-lora-hook-trigger": { + "stars": 0, + "last_update": "2025-12-18 04:48:19", + "author_account_age_days": 74 + }, + "https://github.com/akawana/ComfyUI-AK-Pack": { + "stars": 0, + "last_update": "2026-02-22 10:48:52", + "author_account_age_days": 1084 + }, + "https://github.com/akawana/ComfyUI-AK-XZ-Axis": { + "stars": 4, + "last_update": "2026-02-16 19:37:46", + "author_account_age_days": 1084 + }, + "https://github.com/akawana/ComfyUI-Folded-Prompts": { + "stars": 3, + "last_update": "2026-02-12 20:07:23", + "author_account_age_days": 1084 + }, + "https://github.com/akawana/ComfyUI-Keybinding-extra": { + "stars": 3, + "last_update": "2026-02-12 20:07:23", + "author_account_age_days": 1084 + }, + "https://github.com/akawana/ComfyUI-RGBYP-Mask-Editor": { + "stars": 3, + "last_update": "2026-02-10 21:43:12", + "author_account_age_days": 1084 + }, + "https://github.com/akawana/ComfyUI-Utils-extra": { + "stars": 0, + "last_update": "2026-02-22 10:48:52", + "author_account_age_days": 1084 }, "https://github.com/akierson/ComfyUI-textnodes": { - "stars": 1, + "stars": 0, "last_update": "2024-10-20 20:12:15", - "author_account_age_days": 2504 + "author_account_age_days": 2943 }, "https://github.com/akierson/comfyui-colornodes": { - "stars": 1, + "stars": 2, "last_update": "2024-10-20 20:14:09", - "author_account_age_days": 2504 - }, - "https://github.com/akspa0/ComfyUI-FapMixPlus": { - "stars": 1, - "last_update": "2024-11-11 02:59:10", - "author_account_age_days": 300 + "author_account_age_days": 2943 }, "https://github.com/al-swaiti/All-IN-ONE-style": { - "stars": 5, + "stars": 6, "last_update": "2024-07-30 05:59:49", - "author_account_age_days": 1099 + "author_account_age_days": 1538 }, "https://github.com/al-swaiti/ComfyUI-CascadeResolutions": { - "stars": 4, + "stars": 6, "last_update": "2024-07-31 13:48:47", - "author_account_age_days": 1099 + "author_account_age_days": 1538 }, "https://github.com/al-swaiti/ComfyUI-OllamaGemini": { - "stars": 26, - "last_update": "2024-11-28 12:32:25", - "author_account_age_days": 1099 + "stars": 168, + "last_update": "2026-02-10 15:10:51", + "author_account_age_days": 1538 + }, + "https://github.com/alFrame/ComfyUI-AF-EditGeneratedPrompt": { + "stars": 0, + "last_update": "2025-11-05 16:43:30", + "author_account_age_days": 3236 + }, + "https://github.com/alFrame/ComfyUI-AF-Enhanced-HTML-Note": { + "stars": 1, + "last_update": "2025-12-15 11:52:02", + "author_account_age_days": 3236 + }, + "https://github.com/alFrame/ComfyUI-AF-Find-Nodes": { + "stars": 5, + "last_update": "2026-01-01 18:01:13", + "author_account_age_days": 3236 + }, + "https://github.com/alFrame/ComfyUI-AF-Pack-Prompt-Nodes": { + "stars": 2, + "last_update": "2025-12-15 21:33:50", + "author_account_age_days": 3236 }, "https://github.com/alanhuang67/ComfyUI-FAI-Node": { - "stars": 10, + "stars": 14, "last_update": "2024-08-02 03:35:41", - "author_account_age_days": 3660 + "author_account_age_days": 4099 + }, + "https://github.com/alankent/ComfyUI-OA-360-Clip": { + "stars": 0, + "last_update": "2025-11-16 05:39:08", + "author_account_age_days": 4513 + }, + "https://github.com/alastor-666-1933/caching_to_not_waste": { + "stars": 10, + "last_update": "2025-07-18 14:34:09", + "author_account_age_days": 4659 + }, + "https://github.com/alchemine/comfyui-alchemine-pack": { + "stars": 0, + "last_update": "2026-01-09 15:10:38", + "author_account_age_days": 2434 + }, + "https://github.com/aledelpho/Arthemy_Live-Tuner-SDXL-ComfyUI": { + "stars": 10, + "last_update": "2026-01-18 17:05:39", + "author_account_age_days": 1160 + }, + "https://github.com/aledelpho/Arthemy_Live-Tuner-ZIT-ComfyUI": { + "stars": 12, + "last_update": "2026-01-28 10:00:25", + "author_account_age_days": 1160 + }, + "https://github.com/aleolidev/comfy_kaizen_package": { + "stars": 0, + "last_update": "2025-06-21 11:10:52", + "author_account_age_days": 3187 + }, + "https://github.com/alessandroperilli/OCS_Nodes": { + "stars": 3, + "last_update": "2025-11-18 13:01:14", + "author_account_age_days": 4117 }, "https://github.com/alessandrozonta/ComfyUI-CenterNode": { "stars": 7, "last_update": "2024-11-14 12:20:40", - "author_account_age_days": 1366 + "author_account_age_days": 1806 }, "https://github.com/alessandrozonta/ComfyUI-Layers": { - "stars": 40, + "stars": 57, "last_update": "2024-07-31 13:46:32", - "author_account_age_days": 1366 + "author_account_age_days": 1806 }, "https://github.com/alessandrozonta/ComfyUI-OpenPose": { - "stars": 13, + "stars": 36, "last_update": "2024-07-31 13:51:14", - "author_account_age_days": 1366 + "author_account_age_days": 1806 + }, + "https://github.com/alessandrozonta/ComfyUI-PoseDirection": { + "stars": 3, + "last_update": "2025-06-03 10:12:26", + "author_account_age_days": 1806 + }, + "https://github.com/alessandrozonta/Comfyui-LoopLoader": { + "stars": 3, + "last_update": "2025-02-21 13:28:39", + "author_account_age_days": 1806 + }, + "https://github.com/alexcong/ComfyUI-SwinIR": { + "stars": 3, + "last_update": "2026-01-22 03:14:08", + "author_account_age_days": 4196 }, "https://github.com/alexcong/ComfyUI_QwenVL": { - "stars": 25, - "last_update": "2024-09-22 17:15:44", - "author_account_age_days": 3756 + "stars": 135, + "last_update": "2025-11-29 20:16:15", + "author_account_age_days": 4196 + }, + "https://github.com/alexgenovese/ComfyUI-UNO-Flux": { + "stars": 1, + "last_update": "2025-06-16 17:27:27", + "author_account_age_days": 5624 }, "https://github.com/alexgenovese/ComfyUI_HF_Servelress_Inference": { - "stars": 5, + "stars": 15, "last_update": "2024-09-01 13:04:48", - "author_account_age_days": 5184 + "author_account_age_days": 5624 + }, + "https://github.com/alexisrolland/ComfyUI-Blender": { + "stars": 138, + "last_update": "2026-02-17 11:51:34", + "author_account_age_days": 3895 }, "https://github.com/alexisrolland/ComfyUI-Phi": { - "stars": 8, - "last_update": "2024-11-25 09:05:21", - "author_account_age_days": 3456 + "stars": 9, + "last_update": "2025-09-22 14:35:07", + "author_account_age_days": 3895 + }, + "https://github.com/alexjx/ComfyUI-Sa2VA-XJ": { + "stars": 12, + "last_update": "2025-11-25 06:34:18", + "author_account_age_days": 4949 + }, + "https://github.com/alexjx/ComfyUI-XJNodes": { + "stars": 0, + "last_update": "2026-02-06 05:10:54", + "author_account_age_days": 4949 }, "https://github.com/alexopus/ComfyUI-Image-Saver": { - "stars": 56, - "last_update": "2024-12-08 20:23:34", - "author_account_age_days": 2849 + "stars": 154, + "last_update": "2026-01-24 16:36:09", + "author_account_age_days": 3289 + }, + "https://github.com/alexopus/ComfyUI-Notes-Sidebar": { + "stars": 0, + "last_update": "2025-07-22 18:35:43", + "author_account_age_days": 3289 + }, + "https://github.com/ali-vilab/ACE_plus": { + "stars": 1357, + "last_update": "2025-04-21 06:36:02", + "author_account_age_days": 1098 }, "https://github.com/ali1234/comfyui-job-iterator": { - "stars": 96, + "stars": 122, "last_update": "2024-11-16 07:51:07", - "author_account_age_days": 5030 + "author_account_age_days": 5469 + }, + "https://github.com/aliabougazia/comfyui_pt_security_scanner": { + "stars": 0, + "last_update": "2026-01-05 09:31:07", + "author_account_age_days": 1907 + }, + "https://github.com/alibof96/ComfyUI-DownscaleIRN": { + "stars": 0, + "last_update": "2025-10-30 22:04:34", + "author_account_age_days": 558 + }, + "https://github.com/aligjahed/comfy-flow": { + "stars": 0, + "last_update": "2026-01-29 02:54:21", + "author_account_age_days": 3635 }, "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": { - "stars": 55, - "last_update": "2024-12-03 13:53:21", - "author_account_age_days": 770 + "stars": 104, + "last_update": "2025-06-09 05:43:18", + "author_account_age_days": 1209 + }, + "https://github.com/alludus/ComfyUI-multiGPU-upscaler": { + "stars": 2, + "last_update": "2025-11-14 18:32:26", + "author_account_age_days": 3944 }, "https://github.com/alpertunga-bile/image-caption-comfyui": { "stars": 10, - "last_update": "2024-09-07 13:32:12", - "author_account_age_days": 1443 + "last_update": "2025-05-21 20:09:00", + "author_account_age_days": 1882 }, "https://github.com/alpertunga-bile/prompt-generator-comfyui": { - "stars": 86, - "last_update": "2024-11-17 20:28:12", - "author_account_age_days": 1443 + "stars": 111, + "last_update": "2025-05-21 20:05:48", + "author_account_age_days": 1882 }, "https://github.com/alsritter/asymmetric-tiling-comfyui": { - "stars": 16, + "stars": 17, "last_update": "2024-05-22 20:43:07", - "author_account_age_days": 2164 + "author_account_age_days": 2603 }, "https://github.com/alt-key-project/comfyui-dream-project": { - "stars": 90, - "last_update": "2024-12-07 20:07:31", - "author_account_age_days": 830 + "stars": 111, + "last_update": "2025-02-16 14:45:43", + "author_account_age_days": 1269 }, "https://github.com/alt-key-project/comfyui-dream-video-batches": { - "stars": 64, - "last_update": "2024-12-07 20:06:38", - "author_account_age_days": 830 + "stars": 88, + "last_update": "2026-01-14 15:40:27", + "author_account_age_days": 1269 }, - "https://github.com/amaozhao/ComfyUI_DeployCash": { - "stars": 2, - "last_update": "2024-12-02 03:48:37", - "author_account_age_days": 5202 + "https://github.com/ameyukisora/ComfyUI-Empty-Latent-Advanced": { + "stars": 0, + "last_update": "2025-12-12 15:43:06", + "author_account_age_days": 2129 + }, + "https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen": { + "stars": 41, + "last_update": "2026-02-22 11:31:47", + "author_account_age_days": 1053 + }, + "https://github.com/amir84ferdos/ComfyUI-GRAG-ArchAi3D": { + "stars": 16, + "last_update": "2025-11-06 22:21:00", + "author_account_age_days": 1053 + }, + "https://github.com/amtarr/ComfyUI-TextureAlchemy": { + "stars": 4, + "last_update": "2026-02-04 23:27:20", + "author_account_age_days": 1263 }, "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes": { "stars": 0, "last_update": "2024-05-22 22:21:00", - "author_account_age_days": 358 + "author_account_age_days": 798 }, "https://github.com/andersxa/comfyui-PromptAttention": { - "stars": 23, + "stars": 22, "last_update": "2024-06-20 11:09:25", - "author_account_age_days": 3123 + "author_account_age_days": 3562 + }, + "https://github.com/andygill/comfyui-sunflower-nodes": { + "stars": 1, + "last_update": "2025-01-02 04:23:22", + "author_account_age_days": 6402 }, "https://github.com/angeloshredder/StableCascadeResizer": { "stars": 2, "last_update": "2024-05-23 00:12:55", - "author_account_age_days": 1998 + "author_account_age_days": 2438 + }, + "https://github.com/angree/ComfyUI-Q_GLB_Material_Modifier": { + "stars": 1, + "last_update": "2025-05-30 22:51:59", + "author_account_age_days": 3331 + }, + "https://github.com/angree/ComfyUI-Q_find-mask-size": { + "stars": 0, + "last_update": "2025-05-30 22:53:04", + "author_account_age_days": 3331 }, "https://github.com/anhkhoatranle30/Handy-Nodes-ComfyUI": { - "stars": 2, - "last_update": "2024-09-14 14:08:22", - "author_account_age_days": 1920 + "stars": 1, + "last_update": "2025-03-27 14:09:26", + "author_account_age_days": 2359 + }, + "https://github.com/anhrefnyoiyoi/Placeholder-Replacer-By-ID": { + "stars": 0, + "last_update": "2025-11-12 23:04:25", + "author_account_age_days": 2324 + }, + "https://github.com/anilstream/ComfyUI-Ideogram-Character": { + "stars": 0, + "last_update": "2025-12-08 10:55:29", + "author_account_age_days": 616 + }, + "https://github.com/annewj023/Comfyui_google_nano": { + "stars": 10, + "last_update": "2025-09-03 21:17:57", + "author_account_age_days": 606 }, "https://github.com/antrobot1234/antrobots-comfyUI-nodepack": { - "stars": 15, - "last_update": "2024-12-09 19:01:01", - "author_account_age_days": 3032 + "stars": 25, + "last_update": "2025-04-02 21:40:49", + "author_account_age_days": 3472 + }, + "https://github.com/anveshane/Comfyui_StoryMem": { + "stars": 6, + "last_update": "2025-12-31 13:25:40", + "author_account_age_days": 933 + }, + "https://github.com/apeirography/DaimalyadNodes": { + "stars": 0, + "last_update": "2025-08-15 03:21:01", + "author_account_age_days": 2350 + }, + "https://github.com/apenguin24/ComfyUI-WanKeyframing": { + "stars": 0, + "last_update": "2025-10-24 17:43:26", + "author_account_age_days": 127 }, "https://github.com/arcum42/ComfyUI_SageUtils": { + "stars": 25, + "last_update": "2026-02-22 20:57:18", + "author_account_age_days": 6357 + }, + "https://github.com/ardadmrknn/comfyui-history-clip-text-encode-node": { "stars": 2, - "last_update": "2024-12-11 02:59:09", - "author_account_age_days": 5918 + "last_update": "2025-11-29 07:41:11", + "author_account_age_days": 532 }, "https://github.com/aria1th/ComfyUI-LogicUtils": { - "stars": 27, - "last_update": "2024-12-09 06:36:27", - "author_account_age_days": 2515 + "stars": 101, + "last_update": "2026-01-21 07:40:49", + "author_account_age_days": 2954 + }, + "https://github.com/aria1th/ComfyUI-Wildcards-rework": { + "stars": 1, + "last_update": "2026-02-11 16:31:35", + "author_account_age_days": 2954 + }, + "https://github.com/arthurtravers/ComfyUI-VideoOutputBridge": { + "stars": 1, + "last_update": "2025-11-21 04:35:57", + "author_account_age_days": 3050 + }, + "https://github.com/artokun/ComfyUI-Photoreal-Prompt-Builder": { + "stars": 3, + "last_update": "2026-02-14 05:09:24", + "author_account_age_days": 4295 + }, + "https://github.com/artokun/ComfyUI-Photoreal-Prompt-Builder-NSFW": { + "stars": 0, + "last_update": "2026-02-14 04:55:06", + "author_account_age_days": 4295 }, "https://github.com/asaddi/ComfyUI-YALLM-node": { - "stars": 2, - "last_update": "2024-11-30 06:09:35", - "author_account_age_days": 3704 + "stars": 5, + "last_update": "2025-09-25 05:37:51", + "author_account_age_days": 4143 + }, + "https://github.com/asaddi/YALLM-LlamaVision": { + "stars": 7, + "last_update": "2025-03-27 14:42:04", + "author_account_age_days": 4143 }, "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": { - "stars": 42, - "last_update": "2024-11-23 17:37:39", - "author_account_age_days": 611 + "stars": 64, + "last_update": "2025-05-03 18:12:38", + "author_account_age_days": 1050 }, "https://github.com/asagi4/ComfyUI-CADS": { - "stars": 40, - "last_update": "2024-07-31 16:02:55", - "author_account_age_days": 611 + "stars": 42, + "last_update": "2025-06-23 17:58:56", + "author_account_age_days": 1050 }, "https://github.com/asagi4/ComfyUI-NPNet": { - "stars": 16, + "stars": 17, "last_update": "2024-12-10 17:20:10", - "author_account_age_days": 611 + "author_account_age_days": 1050 + }, + "https://github.com/asagi4/comfyui-dynamic-anynode": { + "stars": 1, + "last_update": "2025-12-24 21:28:08", + "author_account_age_days": 1050 }, "https://github.com/asagi4/comfyui-prompt-control": { - "stars": 216, - "last_update": "2024-12-09 11:27:16", - "author_account_age_days": 611 + "stars": 377, + "last_update": "2026-02-18 18:44:24", + "author_account_age_days": 1050 }, "https://github.com/asagi4/comfyui-utility-nodes": { - "stars": 7, - "last_update": "2024-05-25 11:40:49", - "author_account_age_days": 611 + "stars": 8, + "last_update": "2025-01-30 23:01:52", + "author_account_age_days": 1050 + }, + "https://github.com/asdrabael/Hunyuan-Multi-Lora-Loader": { + "stars": 4, + "last_update": "2025-02-09 02:50:51", + "author_account_age_days": 623 + }, + "https://github.com/ashtar1984/ComfyUI-SwitchPathLazy": { + "stars": 0, + "last_update": "2025-12-13 15:55:26", + "author_account_age_days": 127 + }, + "https://github.com/ashtar1984/comfyui-find-perfect-resolution": { + "stars": 14, + "last_update": "2025-12-05 14:45:19", + "author_account_age_days": 127 + }, + "https://github.com/asirihewage/remove_metadata_comfyui": { + "stars": 1, + "last_update": "2026-01-10 06:43:10", + "author_account_age_days": 3960 + }, + "https://github.com/aslanxie/comfyui_qwen_image_edit": { + "stars": 0, + "last_update": "2025-12-18 07:36:29", + "author_account_age_days": 2492 + }, + "https://github.com/asutermo/ComfyUI-Flux-TryOff": { + "stars": 47, + "last_update": "2025-03-10 21:05:14", + "author_account_age_days": 5520 }, "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": { - "stars": 134, - "last_update": "2024-08-15 18:37:19", - "author_account_age_days": 2897 + "stars": 176, + "last_update": "2025-04-01 21:45:31", + "author_account_age_days": 3336 + }, + "https://github.com/atluslin/comfyui_arcane_style_trans": { + "stars": 0, + "last_update": "2025-03-14 01:25:41", + "author_account_age_days": 3636 }, "https://github.com/atmaranto/ComfyUI-SaveAsScript": { - "stars": 107, - "last_update": "2024-10-09 08:44:54", - "author_account_age_days": 2518 + "stars": 176, + "last_update": "2025-09-13 07:08:57", + "author_account_age_days": 2957 + }, + "https://github.com/ato-zen/ComfyUI-VIBE": { + "stars": 9, + "last_update": "2026-01-24 18:37:38", + "author_account_age_days": 1253 + }, + "https://github.com/ato321/ComfyUI-LTXVGuideRebase": { + "stars": 0, + "last_update": "2026-01-10 11:02:09", + "author_account_age_days": 2371 + }, + "https://github.com/attashe/ComfyUI-FluxRegionAttention": { + "stars": 140, + "last_update": "2025-03-02 16:37:39", + "author_account_age_days": 4233 + }, + "https://github.com/attome-ai/Comfyui_Attome_S3": { + "stars": 2, + "last_update": "2026-01-11 17:45:56", + "author_account_age_days": 1612 }, "https://github.com/audioscavenger/ComfyUI-Thumbnails": { - "stars": 15, - "last_update": "2024-12-09 01:37:01", - "author_account_age_days": 4291 + "stars": 39, + "last_update": "2025-09-02 02:49:43", + "author_account_age_days": 4730 }, "https://github.com/audioscavenger/save-image-extended-comfyui": { - "stars": 61, - "last_update": "2024-12-05 03:57:21", - "author_account_age_days": 4291 + "stars": 132, + "last_update": "2025-09-02 01:48:10", + "author_account_age_days": 4730 + }, + "https://github.com/austinbrown34/ComfyUI-IO-Helpers": { + "stars": 1, + "last_update": "2025-02-13 14:29:22", + "author_account_age_days": 4707 }, "https://github.com/avatechai/avatar-graph-comfyui": { - "stars": 248, + "stars": 263, "last_update": "2024-05-22 21:14:14", - "author_account_age_days": 1024 + "author_account_age_days": 1463 + }, + "https://github.com/avenstack/ComfyUI-AV-FunASR": { + "stars": 19, + "last_update": "2025-06-13 05:53:11", + "author_account_age_days": 313 + }, + "https://github.com/avenstack/ComfyUI-AV-LatentSync": { + "stars": 3, + "last_update": "2025-05-28 14:27:42", + "author_account_age_days": 313 + }, + "https://github.com/avenstack/ComfyUI-AV-MegaTTS3": { + "stars": 0, + "last_update": "2025-05-25 13:35:03", + "author_account_age_days": 313 + }, + "https://github.com/avocadori/ComfyUI-load-image-prompt-lora": { + "stars": 0, + "last_update": "2025-06-02 20:35:37", + "author_account_age_days": 682 }, "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": 3728 + "stars": 30, + "last_update": "2025-03-07 08:09:46", + "author_account_age_days": 4168 + }, + "https://github.com/azazeal04/Azazeal_Anime_Characters_ComfyUI": { + "stars": 1, + "last_update": "2026-02-12 18:52:23", + "author_account_age_days": 1027 + }, + "https://github.com/azazeal04/ComfyUI-HybridSamplers": { + "stars": 7, + "last_update": "2025-11-09 17:17:00", + "author_account_age_days": 1027 + }, + "https://github.com/azazeal04/comfyui-switch-samplers": { + "stars": 3, + "last_update": "2025-10-07 17:17:03", + "author_account_age_days": 1027 }, "https://github.com/azure-dragon-ai/ComfyUI-ClipScore-Nodes": { - "stars": 3, + "stars": 5, "last_update": "2024-05-22 23:16:28", - "author_account_age_days": 471 + "author_account_age_days": 910 + }, + "https://github.com/azure-dragon-ai/ComfyUI-HPSv2-Nodes": { + "stars": 9, + "last_update": "2025-05-11 05:18:07", + "author_account_age_days": 910 + }, + "https://github.com/babe-and-spencer-enterprises/base-comfyui-node": { + "stars": 6, + "last_update": "2025-06-23 16:12:19", + "author_account_age_days": 287 + }, + "https://github.com/bablueza/ComfyUI-Vaja-Ai4thai": { + "stars": 1, + "last_update": "2025-04-23 04:14:55", + "author_account_age_days": 2354 + }, + "https://github.com/babydjac/comfyui-grok-prompts": { + "stars": 1, + "last_update": "2025-06-06 09:47:19", + "author_account_age_days": 1014 + }, + "https://github.com/babydjac/comfyui-smart-scaler": { + "stars": 1, + "last_update": "2025-05-16 07:28:19", + "author_account_age_days": 1014 }, "https://github.com/badayvedat/ComfyUI-fal-Connector": { - "stars": 32, - "last_update": "2024-12-09 10:33:40", - "author_account_age_days": 1940 + "stars": 52, + "last_update": "2026-02-23 17:23:09", + "author_account_age_days": 2380 }, "https://github.com/badjeff/comfyui_lora_tag_loader": { - "stars": 61, + "stars": 104, "last_update": "2024-05-22 20:40:03", - "author_account_age_days": 5532 + "author_account_age_days": 5972 + }, + "https://github.com/badxprogramm/ComfyUI-GradientBlur": { + "stars": 1, + "last_update": "2025-04-10 03:47:51", + "author_account_age_days": 881 }, "https://github.com/baicai99/ComfyUI-FrameSkipping": { - "stars": 9, - "last_update": "2024-12-03 09:26:50", - "author_account_age_days": 1001 + "stars": 14, + "last_update": "2025-06-23 02:50:12", + "author_account_age_days": 1440 + }, + "https://github.com/baijunty/comfyui_image_embeddings": { + "stars": 0, + "last_update": "2026-02-11 09:14:05", + "author_account_age_days": 4163 }, "https://github.com/bananasss00/ComfyUI-SP-Nodes": { - "stars": 11, - "last_update": "2024-12-10 21:26:11", - "author_account_age_days": 2704 + "stars": 16, + "last_update": "2026-01-31 12:00:14", + "author_account_age_days": 3143 }, "https://github.com/bananasss00/ComfyUI-flux_fill_patcher": { - "stars": 2, + "stars": 7, "last_update": "2024-11-25 20:04:20", - "author_account_age_days": 2704 + "author_account_age_days": 3143 }, "https://github.com/banodoco/steerable-motion": { - "stars": 853, - "last_update": "2024-06-15 23:01:54", - "author_account_age_days": 572 + "stars": 968, + "last_update": "2025-10-03 19:34:07", + "author_account_age_days": 1011 }, "https://github.com/banqingyuan/ComfyUI-text-replace": { - "stars": 1, + "stars": 0, "last_update": "2024-09-22 16:14:22", - "author_account_age_days": 2469 + "author_account_age_days": 2908 }, "https://github.com/bartly/Comfyui_babel_removebg_api": { "stars": 6, "last_update": "2024-10-14 00:48:34", - "author_account_age_days": 4296 + "author_account_age_days": 4736 }, "https://github.com/bash-j/mikey_nodes": { - "stars": 119, - "last_update": "2024-11-02 07:57:28", - "author_account_age_days": 4357 + "stars": 180, + "last_update": "2025-10-03 08:03:29", + "author_account_age_days": 4796 + }, + "https://github.com/bbaudio-2025/ComfyUI-SuperUltimateVaceTools": { + "stars": 133, + "last_update": "2025-10-31 14:19:35", + "author_account_age_days": 234 + }, + "https://github.com/bbtaivi/ComfyUI-Aiv-Param": { + "stars": 1, + "last_update": "2025-02-16 03:01:20", + "author_account_age_days": 1063 + }, + "https://github.com/bcasadei/ComfyUI-Prompt-Camera-Assistant": { + "stars": 3, + "last_update": "2026-01-08 02:38:33", + "author_account_age_days": 3893 + }, + "https://github.com/bear2b/comfyui-argo-nodes": { + "stars": 0, + "last_update": "2025-01-16 11:11:38", + "author_account_age_days": 3574 + }, + "https://github.com/bedovyy/ComfyUI-LLM-Helper": { + "stars": 1, + "last_update": "2026-01-21 05:28:19", + "author_account_age_days": 972 }, "https://github.com/bedovyy/ComfyUI_NAIDGenerator": { - "stars": 43, - "last_update": "2024-10-05 12:32:45", - "author_account_age_days": 532 + "stars": 92, + "last_update": "2025-10-11 21:48:05", + "author_account_age_days": 972 }, - "https://github.com/bentoml/ComfyUI-IDL": { - "stars": 7, - "last_update": "2024-12-11 11:18:34", - "author_account_age_days": 2080 + "https://github.com/bemoregt/ComfyUI_CustomNode_Image2Spectrum": { + "stars": 1, + "last_update": "2026-02-12 10:54:37", + "author_account_age_days": 3569 + }, + "https://github.com/benda1989/CosyVoice2_ComfyUI": { + "stars": 25, + "last_update": "2025-04-16 08:39:57", + "author_account_age_days": 2722 + }, + "https://github.com/benda1989/Sonic_ComfyUI": { + "stars": 3, + "last_update": "2025-02-24 10:04:56", + "author_account_age_days": 2722 + }, + "https://github.com/benjamin-bertram/Comfyui_OIDN_Denoiser": { + "stars": 2, + "last_update": "2025-06-12 22:37:05", + "author_account_age_days": 2376 + }, + "https://github.com/benjiyaya/ComfyUI-HunyuanVideoImagesGuider": { + "stars": 29, + "last_update": "2025-01-14 10:42:44", + "author_account_age_days": 722 + }, + "https://github.com/benjiyaya/ComfyUI-KokoroTTS": { + "stars": 66, + "last_update": "2025-03-18 20:13:52", + "author_account_age_days": 722 + }, + "https://github.com/benjiyaya/ComfyUI-QwenImageLayeredToLength": { + "stars": 9, + "last_update": "2025-12-20 18:45:31", + "author_account_age_days": 722 + }, + "https://github.com/benstaniford/comfy-contact-sheet-image-loader": { + "stars": 10, + "last_update": "2025-08-02 06:16:57", + "author_account_age_days": 5077 + }, + "https://github.com/benstaniford/comfy-image-switch": { + "stars": 0, + "last_update": "2025-08-03 06:08:05", + "author_account_age_days": 5077 + }, + "https://github.com/benstaniford/comfy-load-last-image": { + "stars": 1, + "last_update": "2025-07-08 07:19:46", + "author_account_age_days": 5077 + }, + "https://github.com/benstaniford/comfy-lora-loader-with-triggerdb": { + "stars": 34, + "last_update": "2025-12-23 23:16:09", + "author_account_age_days": 5077 + }, + "https://github.com/benstaniford/comfy-prompt-db": { + "stars": 8, + "last_update": "2025-07-29 07:27:44", + "author_account_age_days": 5077 }, "https://github.com/bentoml/comfy-pack": { - "stars": 7, - "last_update": "2024-12-11 11:18:34", - "author_account_age_days": 2080 + "stars": 206, + "last_update": "2025-11-10 02:12:51", + "author_account_age_days": 2519 + }, + "https://github.com/beyondprompting/ComfyUI-Beyond_nodes": { + "stars": 0, + "last_update": "2026-01-24 12:56:38", + "author_account_age_days": 871 + }, + "https://github.com/bgreene2/ComfyUI-Hunyuan-Image-3": { + "stars": 30, + "last_update": "2025-10-15 01:11:05", + "author_account_age_days": 4759 + }, + "https://github.com/bhhtr12/ComfyUI-ollama-stop": { + "stars": 0, + "last_update": "2026-01-17 12:58:39", + "author_account_age_days": 636 + }, + "https://github.com/bhvbhushan/ComfyUI-LoRABlockWeight": { + "stars": 3, + "last_update": "2025-08-21 16:54:53", + "author_account_age_days": 3287 + }, + "https://github.com/big-mon/ComfyUI-ResolutionPresets": { + "stars": 2, + "last_update": "2025-04-12 17:05:21", + "author_account_age_days": 3285 + }, + "https://github.com/bikiam/ComfyUI_WhisperSRT": { + "stars": 2, + "last_update": "2025-06-01 13:56:23", + "author_account_age_days": 759 }, "https://github.com/bilal-arikan/ComfyUI_TextAssets": { "stars": 2, "last_update": "2024-05-22 23:23:50", - "author_account_age_days": 3677 + "author_account_age_days": 4117 + }, + "https://github.com/billwuhao/ComfyUI_ACE-Step": { + "stars": 229, + "last_update": "2025-05-28 08:39:13", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_AudioTools": { + "stars": 87, + "last_update": "2025-07-07 05:08:44", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_CSM": { + "stars": 6, + "last_update": "2025-06-02 14:00:17", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_DiffRhythm": { + "stars": 149, + "last_update": "2025-05-30 12:12:57", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_EraX-WoW-Turbo": { + "stars": 14, + "last_update": "2025-05-23 09:41:43", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_IndexTTS": { + "stars": 505, + "last_update": "2025-11-07 09:48:46", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_KokoroTTS_MW": { + "stars": 33, + "last_update": "2025-06-02 14:03:36", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_MegaTTS3": { + "stars": 209, + "last_update": "2025-06-11 01:01:40", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_NotaGen": { + "stars": 57, + "last_update": "2025-06-06 02:58:28", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_OneButtonPrompt": { + "stars": 24, + "last_update": "2025-07-07 10:55:15", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_OuteTTS": { + "stars": 10, + "last_update": "2025-06-11 06:14:07", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_PortraitTools": { + "stars": 19, + "last_update": "2025-06-15 13:31:45", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_SOME": { + "stars": 7, + "last_update": "2025-06-10 08:08:17", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_SparkTTS": { + "stars": 51, + "last_update": "2025-05-23 09:45:08", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_StepAudioTTS": { + "stars": 163, + "last_update": "2025-05-23 09:45:26", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_gemmax": { + "stars": 27, + "last_update": "2025-05-30 12:17:42", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/ComfyUI_parakeet-tdt": { + "stars": 4, + "last_update": "2025-06-15 13:24:58", + "author_account_age_days": 2545 + }, + "https://github.com/billwuhao/Comfyui_HeyGem": { + "stars": 203, + "last_update": "2025-06-02 14:14:35", + "author_account_age_days": 2545 + }, + "https://github.com/birdneststream/ComfyUI-Mircify": { + "stars": 0, + "last_update": "2025-08-31 02:51:11", + "author_account_age_days": 1976 }, "https://github.com/bitaffinity/ComfyUI_HF_Inference": { - "stars": 1, + "stars": 5, "last_update": "2024-06-14 10:23:29", - "author_account_age_days": 227 + "author_account_age_days": 666 + }, + "https://github.com/bkpaine1/Halo-Lipsy": { + "stars": 3, + "last_update": "2026-01-24 15:35:48", + "author_account_age_days": 3812 + }, + "https://github.com/bkpaine1/Halo-TeaCache": { + "stars": 3, + "last_update": "2026-01-24 18:49:00", + "author_account_age_days": 3812 + }, + "https://github.com/bkpaine1/halo_pack": { + "stars": 2, + "last_update": "2026-01-30 16:25:05", + "author_account_age_days": 3812 + }, + "https://github.com/black-forest-labs/bfl-comfy-nodes": { + "stars": 90, + "last_update": "2025-02-07 22:13:26", + "author_account_age_days": 706 }, "https://github.com/blackcodetavern/ComfyUI-Benripack": { - "stars": 1, + "stars": 11, "last_update": "2024-09-07 09:06:00", - "author_account_age_days": 3043 + "author_account_age_days": 3482 + }, + "https://github.com/blepping/ComfyUI-ApplyResAdapterUnet": { + "stars": 31, + "last_update": "2025-02-27 16:14:46", + "author_account_age_days": 763 }, "https://github.com/blepping/ComfyUI-bleh": { - "stars": 54, - "last_update": "2024-12-03 01:42:31", - "author_account_age_days": 324 + "stars": 132, + "last_update": "2026-02-06 17:32:12", + "author_account_age_days": 763 }, "https://github.com/blepping/ComfyUI-sonar": { - "stars": 36, - "last_update": "2024-12-10 04:16:38", - "author_account_age_days": 324 + "stars": 48, + "last_update": "2025-08-08 16:02:55", + "author_account_age_days": 763 }, "https://github.com/blepping/comfyui_jankdiffusehigh": { - "stars": 16, - "last_update": "2024-12-05 10:58:53", - "author_account_age_days": 324 + "stars": 36, + "last_update": "2025-05-06 10:28:37", + "author_account_age_days": 763 }, "https://github.com/blepping/comfyui_jankhidiffusion": { - "stars": 112, - "last_update": "2024-10-14 10:36:17", - "author_account_age_days": 324 + "stars": 127, + "last_update": "2025-05-06 10:34:03", + "author_account_age_days": 763 }, "https://github.com/blepping/comfyui_overly_complicated_sampling": { - "stars": 24, - "last_update": "2024-12-07 21:16:44", - "author_account_age_days": 324 + "stars": 29, + "last_update": "2025-08-09 13:28:10", + "author_account_age_days": 763 }, "https://github.com/blib-la/blibla-comfyui-extensions": { - "stars": 162, - "last_update": "2024-08-20 14:47:54", - "author_account_age_days": 443 + "stars": 177, + "last_update": "2025-04-29 06:49:03", + "author_account_age_days": 882 + }, + "https://github.com/blird/ComfyUI-Wanify": { + "stars": 0, + "last_update": "2025-07-18 13:48:00", + "author_account_age_days": 2946 }, "https://github.com/blob8/ComfyUI_sloppy-comic": { - "stars": 5, - "last_update": "2024-09-20 18:53:34", - "author_account_age_days": 238 + "stars": 12, + "last_update": "2025-09-09 15:26:36", + "author_account_age_days": 677 + }, + "https://github.com/blob8/ComfyUI_video-image-motion-transfer": { + "stars": 2, + "last_update": "2025-09-14 15:59:02", + "author_account_age_days": 677 + }, + "https://github.com/blovett80/ComfyUI-PixelDojo": { + "stars": 1, + "last_update": "2025-03-27 10:30:18", + "author_account_age_days": 812 }, "https://github.com/blueraincoatli/comfyUI_SillyNodes": { "stars": 3, - "last_update": "2024-06-09 13:30:57", - "author_account_age_days": 482 + "last_update": "2025-01-17 09:17:48", + "author_account_age_days": 922 }, "https://github.com/bluevisor/ComfyUI_PS_Blend_Node": { "stars": 2, - "last_update": "2024-07-08 12:38:26", - "author_account_age_days": 4737 + "last_update": "2025-03-31 08:48:48", + "author_account_age_days": 5176 + }, + "https://github.com/blurgyy/CoMPaSS-FLUX.1-dev-ComfyUI": { + "stars": 3, + "last_update": "2025-09-11 05:06:12", + "author_account_age_days": 2670 }, "https://github.com/bmad4ever/ComfyUI-Bmad-DirtyUndoRedo": { - "stars": 49, + "stars": 50, "last_update": "2024-05-22 18:11:51", - "author_account_age_days": 3706 + "author_account_age_days": 4145 }, "https://github.com/bmad4ever/comfyui_ab_samplercustom": { - "stars": 8, + "stars": 11, "last_update": "2024-09-17 20:18:46", - "author_account_age_days": 3706 + "author_account_age_days": 4145 }, "https://github.com/bmad4ever/comfyui_lists_cartesian_product": { - "stars": 3, - "last_update": "2024-05-22 20:18:07", - "author_account_age_days": 3706 + "stars": 5, + "last_update": "2025-11-18 23:47:59", + "author_account_age_days": 4145 + }, + "https://github.com/bmad4ever/comfyui_panels": { + "stars": 10, + "last_update": "2025-11-04 12:52:32", + "author_account_age_days": 4146 }, "https://github.com/bmad4ever/comfyui_quilting": { - "stars": 9, - "last_update": "2024-10-18 19:41:01", - "author_account_age_days": 3706 + "stars": 10, + "last_update": "2025-03-17 14:50:15", + "author_account_age_days": 4145 }, "https://github.com/bmad4ever/comfyui_wfc_like": { - "stars": 6, - "last_update": "2024-08-02 22:01:12", - "author_account_age_days": 3706 + "stars": 5, + "last_update": "2025-03-17 14:51:47", + "author_account_age_days": 4145 }, "https://github.com/bobmagicii/comfykit-custom-nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-22 22:28:30", - "author_account_age_days": 4914 + "author_account_age_days": 5354 + }, + "https://github.com/bobosola/ComfyUI-reboot": { + "stars": 1, + "last_update": "2025-10-12 15:56:09", + "author_account_age_days": 4025 + }, + "https://github.com/bollerdominik/ComfyUI-load-lora-from-url": { + "stars": 0, + "last_update": "2026-02-22 08:25:17", + "author_account_age_days": 4023 }, "https://github.com/bombax-xiaoice/ComfyUI-Allegro": { - "stars": 4, - "last_update": "2024-11-22 02:52:35", - "author_account_age_days": 78 + "stars": 5, + "last_update": "2025-05-13 04:00:11", + "author_account_age_days": 517 + }, + "https://github.com/bombax-xiaoice/ComfyUI-DisPose": { + "stars": 0, + "last_update": "2025-03-03 06:49:40", + "author_account_age_days": 517 }, "https://github.com/bombax-xiaoice/ComfyUI-MagicDance": { - "stars": 4, - "last_update": "2024-11-22 02:52:14", - "author_account_age_days": 78 + "stars": 2, + "last_update": "2024-12-26 04:43:40", + "author_account_age_days": 517 + }, + "https://github.com/bombax-xiaoice/ComfyUI-Open-Sora-I2V": { + "stars": 2, + "last_update": "2025-01-21 07:58:50", + "author_account_age_days": 517 + }, + "https://github.com/bombax-xiaoice/ComfyUI-OpenSoraPlan": { + "stars": 1, + "last_update": "2025-01-22 05:38:11", + "author_account_age_days": 517 + }, + "https://github.com/bombdefuser-124/Newbie-Teacache-ComfyUI": { + "stars": 2, + "last_update": "2025-12-19 01:31:10", + "author_account_age_days": 1413 + }, + "https://github.com/bombless/comfyUI-RememberingUtils": { + "stars": 0, + "last_update": "2024-12-25 01:31:05", + "author_account_age_days": 5168 + }, + "https://github.com/bomborant/ComfyUI-ShakaNodes": { + "stars": 0, + "last_update": "2025-12-06 03:30:50", + "author_account_age_days": 2129 + }, + "https://github.com/bongsang/ComfyUI-Bongsang": { + "stars": 0, + "last_update": "2025-01-05 05:42:30", + "author_account_age_days": 4212 + }, + "https://github.com/boredcoderyt/ComfyUI-Fibo-Edit": { + "stars": 0, + "last_update": "2026-01-31 11:37:05", + "author_account_age_days": 2300 }, "https://github.com/boredofnames/ComfyUI-ntfy": { - "stars": 1, - "last_update": "2024-08-27 03:47:58", - "author_account_age_days": 4268 + "stars": 2, + "last_update": "2025-03-28 00:54:54", + "author_account_age_days": 4707 + }, + "https://github.com/boricuapab/ComfyUI-Bori-JsonSetGetConverter": { + "stars": 0, + "last_update": "2025-08-17 21:49:36", + "author_account_age_days": 2178 + }, + "https://github.com/boricuapab/ComfyUI-Bori-QwenImageResolutions": { + "stars": 4, + "last_update": "2025-08-10 07:43:57", + "author_account_age_days": 2178 + }, + "https://github.com/bowtiedbluefin/ComfyUI-AI-CustomURL": { + "stars": 0, + "last_update": "2025-11-10 02:13:14", + "author_account_age_days": 1543 + }, + "https://github.com/bozkut/ComfyUI-Prompt-Expander": { + "stars": 7, + "last_update": "2026-01-12 16:56:43", + "author_account_age_days": 4372 + }, + "https://github.com/bpmpnaito/comfyui-imageviewer": { + "stars": 0, + "last_update": "2025-11-28 15:15:50", + "author_account_age_days": 6014 }, "https://github.com/bradsec/ComfyUI_ResolutionSelector": { - "stars": 10, - "last_update": "2024-07-07 12:15:49", - "author_account_age_days": 3826 + "stars": 17, + "last_update": "2025-12-07 10:46:58", + "author_account_age_days": 4265 + }, + "https://github.com/bradsec/ComfyUI_ResolutionSelectorPlus": { + "stars": 17, + "last_update": "2025-12-07 10:46:58", + "author_account_age_days": 4265 + }, + "https://github.com/bradsec/ComfyUI_StringEssentials": { + "stars": 28, + "last_update": "2026-01-31 00:17:00", + "author_account_age_days": 4265 + }, + "https://github.com/brahianrosswill/ComfyUi-RandomNoiseCustom": { + "stars": 0, + "last_update": "2025-12-07 20:21:12", + "author_account_age_days": 1068 }, "https://github.com/braintacles/braintacles-comfyui-nodes": { - "stars": 1, + "stars": 2, "last_update": "2024-07-31 15:01:52", - "author_account_age_days": 601 + "author_account_age_days": 1040 + }, + "https://github.com/brantje/ComfyUI-api-tools": { + "stars": 8, + "last_update": "2026-01-08 20:23:33", + "author_account_age_days": 4854 + }, + "https://github.com/brantje/ComfyUI_MagicQuill": { + "stars": 3, + "last_update": "2025-05-20 19:32:21", + "author_account_age_days": 4854 + }, + "https://github.com/brayevalerien/ComfyUI-GroqNodes": { + "stars": 1, + "last_update": "2025-11-08 15:46:01", + "author_account_age_days": 2203 + }, + "https://github.com/brayevalerien/ComfyUI-SplitString": { + "stars": 10, + "last_update": "2025-07-25 10:57:00", + "author_account_age_days": 2203 }, "https://github.com/brayevalerien/ComfyUI-resynthesizer": { + "stars": 30, + "last_update": "2025-07-25 10:07:21", + "author_account_age_days": 2203 + }, + "https://github.com/brenzel/comfyui-prompt-beautify": { "stars": 17, - "last_update": "2024-10-28 15:28:37", - "author_account_age_days": 1764 + "last_update": "2025-09-10 15:43:18", + "author_account_age_days": 3596 }, "https://github.com/brianfitzgerald/style_aligned_comfy": { - "stars": 286, - "last_update": "2024-05-30 14:23:40", - "author_account_age_days": 4409 + "stars": 307, + "last_update": "2025-03-24 20:04:44", + "author_account_age_days": 4849 }, "https://github.com/bronkula/comfyui-fitsize": { - "stars": 46, + "stars": 52, "last_update": "2024-05-22 21:32:34", - "author_account_age_days": 5325 + "author_account_age_days": 5764 + }, + "https://github.com/brucew4yn3rp/ComfyUI_FrontEndCleanup": { + "stars": 0, + "last_update": "2026-01-17 22:06:17", + "author_account_age_days": 993 + }, + "https://github.com/brucew4yn3rp/ComfyUI_SelectiveMetadata": { + "stars": 0, + "last_update": "2025-07-20 04:08:09", + "author_account_age_days": 993 + }, + "https://github.com/brucew4yn3rp/ComfyUI_VintageEffect": { + "stars": 0, + "last_update": "2026-01-01 05:28:29", + "author_account_age_days": 993 }, "https://github.com/bruefire/ComfyUI-SeqImageLoader": { - "stars": 31, - "last_update": "2024-11-10 19:10:50", - "author_account_age_days": 2536 + "stars": 46, + "last_update": "2025-06-29 12:48:28", + "author_account_age_days": 2975 + }, + "https://github.com/bryanmcguire/comfyui-flux2fun-controlnet": { + "stars": 9, + "last_update": "2026-01-10 04:42:56", + "author_account_age_days": 4619 + }, + "https://github.com/btitkin/ComfyUI-RandomPromptBuilder": { + "stars": 7, + "last_update": "2025-12-03 10:00:24", + "author_account_age_days": 1591 + }, + "https://github.com/buddy-bytes/ComfyUI-SmartResolutionToolkit": { + "stars": 1, + "last_update": "2025-12-08 06:33:14", + "author_account_age_days": 254 + }, + "https://github.com/budihartono/comfyui-aspect-ratio-presets": { + "stars": 5, + "last_update": "2025-08-26 06:14:34", + "author_account_age_days": 5295 }, "https://github.com/budihartono/comfyui_otonx_nodes": { "stars": 1, "last_update": "2024-07-31 16:01:47", - "author_account_age_days": 4856 + "author_account_age_days": 5295 + }, + "https://github.com/bugltd/ComfyLab-Pack": { + "stars": 9, + "last_update": "2025-05-13 17:35:50", + "author_account_age_days": 408 + }, + "https://github.com/bulldog68/ComfyUI_FMJ_LLM": { + "stars": 2, + "last_update": "2026-02-19 11:43:09", + "author_account_age_days": 713 + }, + "https://github.com/bulldog68/ComfyUI_FMJ_SP": { + "stars": 1, + "last_update": "2026-02-23 19:52:45", + "author_account_age_days": 713 + }, + "https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions": { + "stars": 0, + "last_update": "2026-01-09 16:58:58", + "author_account_age_days": 713 + }, + "https://github.com/burnsbert/ComfyUI-EBU-LMStudio": { + "stars": 34, + "last_update": "2026-02-22 05:33:47", + "author_account_age_days": 5254 + }, + "https://github.com/burnsbert/ComfyUI-EBU-PromptHelper": { + "stars": 2, + "last_update": "2025-12-30 20:43:12", + "author_account_age_days": 5254 + }, + "https://github.com/burnsbert/ComfyUI-EBU-Workflow": { + "stars": 0, + "last_update": "2025-09-13 23:22:31", + "author_account_age_days": 5254 + }, + "https://github.com/bvhari/ComfyUI_CFGStar": { + "stars": 1, + "last_update": "2025-04-10 17:53:08", + "author_account_age_days": 1784 }, "https://github.com/bvhari/ComfyUI_ImageProcessing": { - "stars": 20, - "last_update": "2024-08-03 03:58:44", - "author_account_age_days": 1345 + "stars": 24, + "last_update": "2025-03-30 18:55:42", + "author_account_age_days": 1784 }, "https://github.com/bvhari/ComfyUI_PerpCFG": { - "stars": 2, - "last_update": "2024-10-07 20:34:34", - "author_account_age_days": 1345 + "stars": 1, + "last_update": "2025-03-30 18:53:54", + "author_account_age_days": 1784 }, "https://github.com/bvhari/ComfyUI_PerpWeight": { - "stars": 13, - "last_update": "2024-08-03 03:58:28", - "author_account_age_days": 1345 + "stars": 12, + "last_update": "2025-03-30 18:55:52", + "author_account_age_days": 1784 }, "https://github.com/bvhari/ComfyUI_SUNoise": { + "stars": 17, + "last_update": "2025-03-30 18:55:16", + "author_account_age_days": 1784 + }, + "https://github.com/by-ae/ae-in-workflow": { "stars": 11, - "last_update": "2024-09-24 15:27:30", - "author_account_age_days": 1345 + "last_update": "2026-01-31 19:46:17", + "author_account_age_days": 3299 + }, + "https://github.com/bytedance/ComfyUI-HyperLoRA": { + "stars": 482, + "last_update": "2025-06-25 08:47:51", + "author_account_age_days": 4697 + }, + "https://github.com/bytedance/ComfyUI_InfiniteYou": { + "stars": 286, + "last_update": "2025-07-25 04:53:32", + "author_account_age_days": 4697 + }, + "https://github.com/bytedance/comfyui-lumi-batcher": { + "stars": 544, + "last_update": "2025-12-07 11:45:47", + "author_account_age_days": 4697 + }, + "https://github.com/c0dezer019/FreezeFrame": { + "stars": 3, + "last_update": "2026-02-23 20:16:08", + "author_account_age_days": 1981 }, "https://github.com/c0ffymachyne/ComfyUI_BeatByte": { - "stars": 4, - "last_update": "2024-11-25 06:25:43", - "author_account_age_days": 4685 + "stars": 10, + "last_update": "2025-04-03 03:08:15", + "author_account_age_days": 5124 }, - "https://github.com/c0ffymachyne/ComfyUI_SingalProcessing": { + "https://github.com/c0ffymachyne/ComfyUI_SignalProcessing": { + "stars": 19, + "last_update": "2025-05-14 01:41:00", + "author_account_age_days": 5124 + }, + "https://github.com/cake-ml/tiny-sana-preview": { "stars": 2, - "last_update": "2024-12-08 19:45:35", - "author_account_age_days": 4685 + "last_update": "2025-02-08 00:36:49", + "author_account_age_days": 491 + }, + "https://github.com/calcuis/gguf": { + "stars": 201, + "last_update": "2026-01-20 02:20:06", + "author_account_age_days": 1256 }, "https://github.com/caleboleary/ComfyUI-Arc2Face": { - "stars": 41, + "stars": 50, "last_update": "2024-09-02 23:00:00", - "author_account_age_days": 3472 + "author_account_age_days": 3912 }, "https://github.com/caleboleary/Comfyui-calbenodes": { - "stars": 2, + "stars": 1, "last_update": "2024-09-16 19:27:58", - "author_account_age_days": 3472 + "author_account_age_days": 3912 + }, + "https://github.com/calibancode/ComfyUI-bevvy": { + "stars": 0, + "last_update": "2025-12-22 04:49:52", + "author_account_age_days": 3655 }, "https://github.com/camenduru/ComfyUI-TostAI": { "stars": 1, "last_update": "2024-08-22 04:04:06", - "author_account_age_days": 1938 + "author_account_age_days": 2378 + }, + "https://github.com/capitan01R/Capitan-ConditioningEnhancer": { + "stars": 27, + "last_update": "2026-01-16 09:35:07", + "author_account_age_days": 46 + }, + "https://github.com/capitan01R/ComfyUI-CapitanFlowMatch": { + "stars": 18, + "last_update": "2026-01-16 11:29:05", + "author_account_age_days": 46 + }, + "https://github.com/capitan01R/ComfyUI-CapitanZiT-Scheduler": { + "stars": 109, + "last_update": "2026-02-03 23:40:44", + "author_account_age_days": 46 + }, + "https://github.com/capitan01R/ComfyUI-Flux2Klein-Enhancer": { + "stars": 127, + "last_update": "2026-01-31 08:40:09", + "author_account_age_days": 46 + }, + "https://github.com/capitan01R/ComfyUI-ZImageTurbo-FlowSampler": { + "stars": 6, + "last_update": "2026-01-24 21:51:26", + "author_account_age_days": 46 + }, + "https://github.com/cardenluo/ComfyUI-Apt_Preset": { + "stars": 265, + "last_update": "2026-02-19 11:47:02", + "author_account_age_days": 1013 + }, + "https://github.com/cardenluo/ComfyUI-Apt_UnitPromptWeight": { + "stars": 7, + "last_update": "2026-02-14 03:40:36", + "author_account_age_days": 1013 + }, + "https://github.com/casc1701/ComfyUI_OverlayFrameNumber": { + "stars": 0, + "last_update": "2025-12-29 03:07:38", + "author_account_age_days": 1264 + }, + "https://github.com/casterpollux/MiniMax-bmo": { + "stars": 59, + "last_update": "2025-06-24 19:22:18", + "author_account_age_days": 283 }, "https://github.com/catboxanon/comfyui_stealth_pnginfo": { + "stars": 3, + "last_update": "2025-04-09 03:39:29", + "author_account_age_days": 1140 + }, + "https://github.com/cathodeDreams/comfyui-azul-scripts": { "stars": 0, - "last_update": "2024-12-06 04:47:31", - "author_account_age_days": 701 + "last_update": "2025-04-30 17:03:38", + "author_account_age_days": 1078 }, "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life": { - "stars": 381, + "stars": 501, "last_update": "2024-09-12 06:55:50", - "author_account_age_days": 1374 + "author_account_age_days": 1813 }, "https://github.com/cdb-boop/comfyui-image-round": { - "stars": 4, - "last_update": "2024-05-23 00:09:02", - "author_account_age_days": 1374 + "stars": 12, + "last_update": "2025-05-10 13:32:13", + "author_account_age_days": 1813 }, "https://github.com/cdxOo/comfyui-text-node-with-comments": { "stars": 2, "last_update": "2024-08-03 00:54:38", - "author_account_age_days": 3465 + "author_account_age_days": 3905 + }, + "https://github.com/cedarconnor/ComfyUI-DreamCube": { + "stars": 0, + "last_update": "2025-11-24 05:06:34", + "author_account_age_days": 4904 + }, + "https://github.com/cedarconnor/ComfyUI-Skeletonretarget": { + "stars": 8, + "last_update": "2026-01-23 17:17:54", + "author_account_age_days": 4904 + }, + "https://github.com/cedarconnor/comfyui-BatchNameLoop": { + "stars": 1, + "last_update": "2025-07-22 04:11:06", + "author_account_age_days": 4904 + }, + "https://github.com/cedarconnor/comfyui-LatLong": { + "stars": 0, + "last_update": "2026-02-06 01:33:23", + "author_account_age_days": 4904 + }, + "https://github.com/cedarconnor/upsampler": { + "stars": 2, + "last_update": "2026-01-27 03:19:45", + "author_account_age_days": 4904 }, "https://github.com/celoron/ComfyUI-VisualQueryTemplate": { - "stars": 13, - "last_update": "2024-08-28 20:13:26", - "author_account_age_days": 5182 + "stars": 12, + "last_update": "2025-04-01 20:35:56", + "author_account_age_days": 5621 }, "https://github.com/celsojr2013/comfyui_jamworks_client": { "stars": 0, "last_update": "2024-06-23 12:35:44", - "author_account_age_days": 3569 + "author_account_age_days": 4008 }, "https://github.com/celsojr2013/comfyui_simpletools": { - "stars": 2, + "stars": 4, "last_update": "2024-06-22 11:35:40", - "author_account_age_days": 3569 + "author_account_age_days": 4008 + }, + "https://github.com/cenzijing/ComfyUI-Markmap": { + "stars": 1, + "last_update": "2025-01-04 21:00:08", + "author_account_age_days": 2074 }, "https://github.com/cerspense/ComfyUI_cspnodes": { - "stars": 32, - "last_update": "2024-11-15 01:51:15", - "author_account_age_days": 2852 + "stars": 36, + "last_update": "2025-12-29 03:27:09", + "author_account_age_days": 3291 }, "https://github.com/ceruleandeep/ComfyUI-LLaVA-Captioner": { - "stars": 114, + "stars": 141, "last_update": "2024-08-03 16:22:31", - "author_account_age_days": 1323 + "author_account_age_days": 1762 + }, + "https://github.com/cganimitta/ComfyUI_CGAnimittaTools": { + "stars": 45, + "last_update": "2025-04-11 05:29:55", + "author_account_age_days": 1185 }, "https://github.com/chakib-belgaid/ComfyUI-autosize": { "stars": 0, "last_update": "2024-06-14 07:13:20", - "author_account_age_days": 4006 + "author_account_age_days": 4445 }, "https://github.com/chakib-belgaid/Comfyui_Prompt_styler": { "stars": 0, "last_update": "2024-07-01 12:40:52", - "author_account_age_days": 4006 + "author_account_age_days": 4445 + }, + "https://github.com/chameleon-ai/comfyui_momo": { + "stars": 0, + "last_update": "2025-12-20 15:24:43", + "author_account_age_days": 445 }, "https://github.com/chandlergis/ComfyUI-IMG_Query": { "stars": 1, "last_update": "2024-05-23 01:25:57", - "author_account_age_days": 526 + "author_account_age_days": 965 }, "https://github.com/chandlergis/ComfyUI_EmojiOverlay": { "stars": 0, "last_update": "2024-06-14 09:05:03", - "author_account_age_days": 526 + "author_account_age_days": 965 }, "https://github.com/changwook987/ComfyUI-Small-Utility": { - "stars": 1, - "last_update": "2024-11-16 16:03:42", - "author_account_age_days": 1363 + "stars": 0, + "last_update": "2025-01-25 17:18:32", + "author_account_age_days": 1802 }, "https://github.com/chaojie/ComfyUI-AniPortrait": { - "stars": 249, + "stars": 254, "last_update": "2024-05-22 22:26:03", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-CameraCtrl-Wrapper": { - "stars": 18, + "stars": 26, "last_update": "2024-06-14 09:07:23", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Champ": { "stars": 24, "last_update": "2024-05-22 22:26:47", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-DragAnything": { - "stars": 68, + "stars": 71, "last_update": "2024-06-14 10:23:53", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-DragNUWA": { - "stars": 396, + "stars": 412, "last_update": "2024-06-14 10:25:01", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-DynamiCrafter": { - "stars": 126, + "stars": 130, "last_update": "2024-06-14 10:23:59", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-EasyAnimate": { - "stars": 50, + "stars": 54, "last_update": "2024-05-22 22:24:00", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Gemma": { "stars": 6, "last_update": "2024-05-22 22:27:47", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-I2VGEN-XL": { "stars": 28, "last_update": "2024-06-14 09:06:10", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Img2Img-Turbo": { - "stars": 35, + "stars": 38, "last_update": "2024-05-22 22:26:30", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-LaVIT": { "stars": 12, "last_update": "2024-06-14 10:27:44", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-LightGlue": { - "stars": 50, + "stars": 49, "last_update": "2024-01-20 16:53:51", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Moore-AnimateAnyone": { "stars": 211, "last_update": "2024-06-10 20:16:06", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Motion-Vector-Extractor": { "stars": 1, "last_update": "2024-06-14 10:26:15", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-MotionCtrl": { - "stars": 136, + "stars": 140, "last_update": "2024-06-14 10:26:02", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-MotionCtrl-SVD": { - "stars": 83, + "stars": 85, "last_update": "2024-06-14 10:26:30", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-MuseTalk": { - "stars": 216, + "stars": 288, "last_update": "2024-05-22 22:25:07", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-MuseV": { - "stars": 149, + "stars": 158, "last_update": "2024-05-22 22:25:31", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Open-Sora": { - "stars": 99, + "stars": 105, "last_update": "2024-07-19 05:13:25", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Open-Sora-Plan": { - "stars": 51, + "stars": 50, "last_update": "2024-05-29 16:15:10", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Panda3d": { - "stars": 14, + "stars": 17, "last_update": "2024-06-14 10:28:47", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Pymunk": { "stars": 16, "last_update": "2024-06-14 12:02:32", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-RAFT": { - "stars": 26, + "stars": 27, "last_update": "2024-06-14 11:02:00", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-SimDA": { "stars": 13, "last_update": "2024-06-14 12:02:39", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Trajectory": { - "stars": 5, + "stars": 6, "last_update": "2024-05-22 22:27:12", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-Video-Editing-X-Attention": { "stars": 17, "last_update": "2024-06-14 10:28:16", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI-dust3r": { - "stars": 18, + "stars": 22, "last_update": "2024-05-22 22:27:33", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaojie/ComfyUI_StreamingT2V": { "stars": 37, "last_update": "2024-06-14 10:26:21", - "author_account_age_days": 5003 + "author_account_age_days": 5443 }, "https://github.com/chaosaiart/Chaosaiart-Nodes": { - "stars": 75, - "last_update": "2024-10-03 16:28:57", - "author_account_age_days": 504 + "stars": 115, + "last_update": "2025-05-06 07:15:41", + "author_account_age_days": 943 + }, + "https://github.com/charlyad142/ComfyUI_Charly_FitToAspectNode": { + "stars": 0, + "last_update": "2025-08-01 20:21:22", + "author_account_age_days": 3225 + }, + "https://github.com/charlyad142/ComfyUI_bfl_api_pro_nodes": { + "stars": 0, + "last_update": "2025-12-03 15:13:28", + "author_account_age_days": 3225 + }, + "https://github.com/charlyad142/comfyUI_charly_replicate_api": { + "stars": 0, + "last_update": "2025-10-21 19:57:07", + "author_account_age_days": 3225 + }, + "https://github.com/chaserhkj/ComfyUI-Chaser-nodes": { + "stars": 0, + "last_update": "2025-09-21 02:52:56", + "author_account_age_days": 5024 + }, + "https://github.com/chchchadzilla/ComfyUI-ChomfyNodes": { + "stars": 1, + "last_update": "2025-12-09 08:59:21", + "author_account_age_days": 2646 + }, + "https://github.com/checkbins/checkbin-comfy": { + "stars": 0, + "last_update": "2025-01-31 18:05:33", + "author_account_age_days": 493 }, "https://github.com/chenbaiyujason/ComfyUI_StepFun": { - "stars": 5, + "stars": 7, "last_update": "2024-12-05 14:45:27", - "author_account_age_days": 1904 + "author_account_age_days": 2344 + }, + "https://github.com/chenlongming/ComfyUI_Spectral": { + "stars": 1, + "last_update": "2025-02-22 17:20:35", + "author_account_age_days": 3787 + }, + "https://github.com/chenpipi0807/ComfyUI-Index-TTS": { + "stars": 642, + "last_update": "2025-12-18 09:39:10", + "author_account_age_days": 896 + }, + "https://github.com/chenpipi0807/ComfyUI_NSFW_Godie": { + "stars": 3, + "last_update": "2025-03-20 11:48:28", + "author_account_age_days": 896 + }, + "https://github.com/chenpipi0807/Comfyui-CustomizeTextEncoder-Qwen-image": { + "stars": 39, + "last_update": "2025-09-04 10:51:53", + "author_account_age_days": 896 + }, + "https://github.com/chenpipi0807/PIP_ArtisticWords": { + "stars": 30, + "last_update": "2025-03-21 07:29:20", + "author_account_age_days": 896 }, "https://github.com/chenpx976/ComfyUI-RunRunRun": { "stars": 0, "last_update": "2024-05-23 01:19:37", - "author_account_age_days": 3585 + "author_account_age_days": 4024 + }, + "https://github.com/cherninlab/logo-generator-comfyui": { + "stars": 2, + "last_update": "2024-12-22 15:45:31", + "author_account_age_days": 706 }, "https://github.com/chesnokovivan/ComfyUI-Novakid": { "stars": 0, "last_update": "2024-06-10 20:15:56", - "author_account_age_days": 1700 + "author_account_age_days": 2139 }, "https://github.com/chflame163/ComfyUI_CatVTON_Wrapper": { - "stars": 256, - "last_update": "2024-09-29 04:09:10", - "author_account_age_days": 614 + "stars": 371, + "last_update": "2025-01-01 12:55:16", + "author_account_age_days": 1053 + }, + "https://github.com/chflame163/ComfyUI_CogView4_Wrapper": { + "stars": 54, + "last_update": "2025-03-06 09:27:25", + "author_account_age_days": 1053 }, "https://github.com/chflame163/ComfyUI_FaceSimilarity": { - "stars": 21, - "last_update": "2024-05-23 12:48:18", - "author_account_age_days": 614 + "stars": 40, + "last_update": "2025-03-31 13:12:01", + "author_account_age_days": 1053 + }, + "https://github.com/chflame163/ComfyUI_Janus_Wrapper": { + "stars": 18, + "last_update": "2025-03-12 02:00:43", + "author_account_age_days": 1053 }, "https://github.com/chflame163/ComfyUI_LayerStyle": { - "stars": 1637, - "last_update": "2024-12-11 12:34:46", - "author_account_age_days": 614 + "stars": 2902, + "last_update": "2026-01-30 06:31:48", + "author_account_age_days": 1053 }, "https://github.com/chflame163/ComfyUI_LayerStyle_Advance": { - "stars": 53, - "last_update": "2024-12-11 12:32:51", - "author_account_age_days": 614 + "stars": 617, + "last_update": "2026-02-22 10:32:26", + "author_account_age_days": 1053 }, "https://github.com/chflame163/ComfyUI_MSSpeech_TTS": { - "stars": 25, - "last_update": "2024-05-25 02:39:56", - "author_account_age_days": 614 + "stars": 29, + "last_update": "2025-03-31 13:11:24", + "author_account_age_days": 1053 }, "https://github.com/chflame163/ComfyUI_OmniGen_Wrapper": { - "stars": 122, - "last_update": "2024-11-06 09:00:01", - "author_account_age_days": 614 + "stars": 149, + "last_update": "2025-03-12 01:58:47", + "author_account_age_days": 1053 }, "https://github.com/chflame163/ComfyUI_WordCloud": { - "stars": 96, - "last_update": "2024-05-25 02:41:06", - "author_account_age_days": 614 + "stars": 116, + "last_update": "2025-03-31 13:11:39", + "author_account_age_days": 1053 }, "https://github.com/chibiace/ComfyUI-Chibi-Nodes": { - "stars": 49, - "last_update": "2024-08-27 06:39:31", - "author_account_age_days": 3019 + "stars": 86, + "last_update": "2025-11-03 21:11:57", + "author_account_age_days": 3458 }, "https://github.com/choey/Comfy-Topaz": { - "stars": 84, + "stars": 206, "last_update": "2024-09-28 08:02:47", - "author_account_age_days": 5693 + "author_account_age_days": 6132 + }, + "https://github.com/chou18194766xx/comfyui-EncryptSave": { + "stars": 4, + "last_update": "2025-05-18 07:55:45", + "author_account_age_days": 835 + }, + "https://github.com/chou18194766xx/comfyui_EncryptPreview": { + "stars": 3, + "last_update": "2025-04-26 12:29:43", + "author_account_age_days": 835 + }, + "https://github.com/chri002/ComfyUI_depthMapOperation": { + "stars": 14, + "last_update": "2025-05-27 06:19:56", + "author_account_age_days": 2329 }, "https://github.com/chris-arsenault/ComfyUI-AharaNodes": { - "stars": 1, - "last_update": "2024-10-25 19:13:30", - "author_account_age_days": 4142 + "stars": 0, + "last_update": "2024-12-25 16:45:58", + "author_account_age_days": 4581 }, "https://github.com/chris-the-wiz/EmbeddingsCurveEditor_ComfyUI": { - "stars": 8, + "stars": 7, "last_update": "2024-07-31 13:51:59", - "author_account_age_days": 1966 + "author_account_age_days": 2406 }, "https://github.com/chrisfreilich/virtuoso-nodes": { - "stars": 71, - "last_update": "2024-08-26 00:06:51", - "author_account_age_days": 902 + "stars": 92, + "last_update": "2025-04-19 22:57:17", + "author_account_age_days": 1341 }, "https://github.com/chrisgoringe/cg-controller": { - "stars": 44, - "last_update": "2024-12-11 05:39:51", - "author_account_age_days": 4235 + "stars": 81, + "last_update": "2025-04-25 00:43:21", + "author_account_age_days": 4674 }, - "https://github.com/chrisgoringe/cg-image-picker": { - "stars": 275, - "last_update": "2024-11-29 02:05:30", - "author_account_age_days": 4235 + "https://github.com/chrisgoringe/cg-image-filter": { + "stars": 115, + "last_update": "2026-01-19 05:15:13", + "author_account_age_days": 4674 }, "https://github.com/chrisgoringe/cg-noisetools": { - "stars": 9, - "last_update": "2024-08-15 02:44:00", - "author_account_age_days": 4235 + "stars": 20, + "last_update": "2024-12-17 04:09:18", + "author_account_age_days": 4674 }, "https://github.com/chrisgoringe/cg-prompt-info": { - "stars": 29, + "stars": 32, "last_update": "2024-05-22 21:07:33", - "author_account_age_days": 4235 + "author_account_age_days": 4674 }, "https://github.com/chrisgoringe/cg-use-everywhere": { - "stars": 525, - "last_update": "2024-11-28 01:29:32", - "author_account_age_days": 4235 + "stars": 935, + "last_update": "2026-02-23 04:01:49", + "author_account_age_days": 4674 }, "https://github.com/chrish-slingshot/CrasHUtils": { - "stars": 12, - "last_update": "2024-10-29 22:55:39", - "author_account_age_days": 770 + "stars": 14, + "last_update": "2025-10-09 23:23:49", + "author_account_age_days": 1210 + }, + "https://github.com/chrishill197724-gif/ComfyUI-Wan22-GGUF-Storyboard": { + "stars": 1, + "last_update": "2025-12-29 06:57:40", + "author_account_age_days": 58 }, "https://github.com/chrissy0/chris-comfyui-nodes": { - "stars": 1, + "stars": 2, "last_update": "2024-09-17 16:09:35", - "author_account_age_days": 2225 + "author_account_age_days": 2664 }, "https://github.com/christian-byrne/audio-separation-nodes-comfyui": { - "stars": 168, - "last_update": "2024-08-21 15:03:28", - "author_account_age_days": 1518 + "stars": 441, + "last_update": "2025-12-24 01:27:55", + "author_account_age_days": 1958 + }, + "https://github.com/christian-byrne/claude-code-comfyui-nodes": { + "stars": 24, + "last_update": "2025-06-17 04:43:43", + "author_account_age_days": 1958 }, "https://github.com/christian-byrne/comfyui-default-values-manager": { - "stars": 10, + "stars": 12, "last_update": "2024-07-28 20:52:51", - "author_account_age_days": 1518 + "author_account_age_days": 1958 }, "https://github.com/christian-byrne/comfyui-search-navigation": { "stars": 8, "last_update": "2024-06-26 04:41:12", - "author_account_age_days": 1518 + "author_account_age_days": 1958 }, "https://github.com/christian-byrne/img2colors-comfyui-node": { - "stars": 9, - "last_update": "2024-08-18 07:00:11", - "author_account_age_days": 1518 + "stars": 15, + "last_update": "2025-01-05 18:48:59", + "author_account_age_days": 1958 }, "https://github.com/christian-byrne/img2txt-comfyui-nodes": { - "stars": 75, - "last_update": "2024-08-09 11:19:02", - "author_account_age_days": 1518 + "stars": 99, + "last_update": "2025-03-14 10:38:33", + "author_account_age_days": 1958 }, "https://github.com/christian-byrne/size-match-compositing-nodes": { "stars": 5, - "last_update": "2024-07-23 23:26:48", - "author_account_age_days": 1518 + "last_update": "2025-01-05 17:45:02", + "author_account_age_days": 1958 }, "https://github.com/christian-byrne/youtube-dl-comfyui": { - "stars": 4, + "stars": 5, "last_update": "2024-10-01 16:32:14", - "author_account_age_days": 1518 + "author_account_age_days": 1958 + }, + "https://github.com/chyer/Chye-ComfyUI-Toolset": { + "stars": 0, + "last_update": "2025-11-20 09:04:13", + "author_account_age_days": 4641 + }, + "https://github.com/ciga2011/ComfyUI-MarkItDown": { + "stars": 8, + "last_update": "2025-02-27 20:16:01", + "author_account_age_days": 4808 + }, + "https://github.com/ciga2011/ComfyUI-Pollinations": { + "stars": 5, + "last_update": "2025-01-14 15:23:14", + "author_account_age_days": 4808 + }, + "https://github.com/ciga2011/ComfyUI-PromptOptimizer": { + "stars": 10, + "last_update": "2025-01-16 02:24:50", + "author_account_age_days": 4808 }, "https://github.com/ciri/comfyui-model-downloader": { - "stars": 29, - "last_update": "2024-11-07 15:29:52", - "author_account_age_days": 5540 + "stars": 111, + "last_update": "2025-12-10 09:16:35", + "author_account_age_days": 5979 + }, + "https://github.com/citronlegacy/ComfyUI-CitronNodes": { + "stars": 0, + "last_update": "2025-12-28 19:11:30", + "author_account_age_days": 4547 }, "https://github.com/city96/ComfyUI-GGUF": { - "stars": 1142, - "last_update": "2024-12-07 23:54:08", - "author_account_age_days": 667 + "stars": 3302, + "last_update": "2026-01-12 13:02:18", + "author_account_age_days": 1106 }, "https://github.com/city96/ComfyUI_ColorMod": { - "stars": 82, + "stars": 108, "last_update": "2024-08-06 22:38:54", - "author_account_age_days": 667 + "author_account_age_days": 1106 }, "https://github.com/city96/ComfyUI_DiT": { "stars": 5, "last_update": "2024-08-06 22:44:33", - "author_account_age_days": 667 + "author_account_age_days": 1106 }, "https://github.com/city96/ComfyUI_ExtraModels": { - "stars": 405, - "last_update": "2024-12-11 00:47:18", - "author_account_age_days": 667 + "stars": 533, + "last_update": "2024-12-17 06:44:05", + "author_account_age_days": 1106 }, "https://github.com/city96/ComfyUI_NetDist": { - "stars": 358, + "stars": 499, "last_update": "2024-05-22 18:05:10", - "author_account_age_days": 667 + "author_account_age_days": 1106 }, "https://github.com/city96/SD-Latent-Interposer": { - "stars": 252, + "stars": 315, "last_update": "2024-08-06 22:01:47", - "author_account_age_days": 667 + "author_account_age_days": 1106 }, "https://github.com/city96/SD-Latent-Upscaler": { - "stars": 136, + "stars": 167, "last_update": "2024-05-22 18:05:50", - "author_account_age_days": 667 + "author_account_age_days": 1106 }, "https://github.com/civen-cn/ComfyUI-PaddleOcr": { - "stars": 3, - "last_update": "2024-10-09 15:04:50", - "author_account_age_days": 2675 + "stars": 8, + "last_update": "2024-12-31 19:11:04", + "author_account_age_days": 3114 + }, + "https://github.com/civen-cn/ComfyUI-Whisper-Translator": { + "stars": 9, + "last_update": "2025-01-04 03:37:06", + "author_account_age_days": 3114 }, "https://github.com/civitai/civitai_comfy_nodes": { - "stars": 108, + "stars": 168, "last_update": "2024-08-25 03:32:49", - "author_account_age_days": 768 + "author_account_age_days": 1207 + }, + "https://github.com/cjj198909/comfy_openai_image_api_azure": { + "stars": 1, + "last_update": "2025-07-16 05:37:48", + "author_account_age_days": 966 + }, + "https://github.com/ckinpdx/ComfyUI-LoadAudioandSplit": { + "stars": 0, + "last_update": "2025-12-08 20:04:37", + "author_account_age_days": 425 + }, + "https://github.com/ckinpdx/ComfyUI-SCAIL-AudioReactive": { + "stars": 12, + "last_update": "2026-01-02 09:51:11", + "author_account_age_days": 425 + }, + "https://github.com/ckinpdx/ComfyUI-WanKeyframeBuilder": { + "stars": 5, + "last_update": "2025-12-09 01:34:02", + "author_account_age_days": 425 + }, + "https://github.com/ckinpdx/comfyui-humo-audio-motion": { + "stars": 1, + "last_update": "2025-12-15 06:51:02", + "author_account_age_days": 425 + }, + "https://github.com/claptrap0/ComfyUI_LLM_Hub": { + "stars": 1, + "last_update": "2025-11-03 08:37:18", + "author_account_age_days": 225 }, "https://github.com/claussteinmassl/ComfyUI-CS-CustomNodes": { "stars": 1, "last_update": "2024-06-14 09:03:10", - "author_account_age_days": 2870 + "author_account_age_days": 3310 + }, + "https://github.com/clayton-grey/ComfyUI-EditRouter": { + "stars": 0, + "last_update": "2025-12-30 11:43:08", + "author_account_age_days": 5614 + }, + "https://github.com/cleanlii/comfyui-dalle-integration": { + "stars": 1, + "last_update": "2025-04-02 08:29:56", + "author_account_age_days": 2712 }, "https://github.com/clhui/ComfyUi-clh-Tool": { - "stars": 2, - "last_update": "2024-12-02 10:12:37", - "author_account_age_days": 2999 + "stars": 7, + "last_update": "2025-09-27 11:32:52", + "author_account_age_days": 3438 + }, + "https://github.com/clouddreamfly/ComfyUI-PromptWrapper": { + "stars": 3, + "last_update": "2026-01-18 09:36:40", + "author_account_age_days": 2202 + }, + "https://github.com/cloudkoala/comfyui-koala": { + "stars": 0, + "last_update": "2025-06-06 00:17:19", + "author_account_age_days": 523 + }, + "https://github.com/cluny85/ComfyUI-Scripting-Tools": { + "stars": 1, + "last_update": "2025-06-16 12:28:27", + "author_account_age_days": 5155 + }, + "https://github.com/cmdicely/simple_image_to_palette": { + "stars": 0, + "last_update": "2025-06-22 03:20:08", + "author_account_age_days": 6093 + }, + "https://github.com/cmeka/ComfyUI-WanMoEScheduler": { + "stars": 8, + "last_update": "2025-11-05 01:59:12", + "author_account_age_days": 4375 + }, + "https://github.com/cnbjjj/ComfyUI-Jtils": { + "stars": 3, + "last_update": "2025-05-10 23:25:19", + "author_account_age_days": 783 + }, + "https://github.com/cnnmmd/comfyui_xoxxox_cnnmmd": { + "stars": 0, + "last_update": "2026-02-21 17:01:44", + "author_account_age_days": 217 + }, + "https://github.com/co5dt/ComfyUI-Persistent-Queue": { + "stars": 3, + "last_update": "2025-09-28 11:49:26", + "author_account_age_days": 3456 }, "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": 2968 + "author_account_age_days": 3407 + }, + "https://github.com/codeprimate/ComfyUI-MaskContourProcessor": { + "stars": 2, + "last_update": "2024-12-16 06:53:08", + "author_account_age_days": 6458 + }, + "https://github.com/colorAi/comfyui-ImageSelectorbyPrompt": { + "stars": 28, + "last_update": "2025-11-09 02:46:25", + "author_account_age_days": 1023 + }, + "https://github.com/comfy-deploy/comfyui-llm-toolkit": { + "stars": 86, + "last_update": "2025-10-01 10:55:39", + "author_account_age_days": 776 }, "https://github.com/comfyanonymous/ComfyUI": { - "stars": 59714, - "last_update": "2024-12-11 13:07:22", - "author_account_age_days": 719 + "stars": 103962, + "last_update": "2026-02-23 19:44:34", + "author_account_age_days": 684 }, "https://github.com/comfyanonymous/ComfyUI_TensorRT": { - "stars": 525, + "stars": 692, "last_update": "2024-10-10 00:23:55", - "author_account_age_days": 719 + "author_account_age_days": 1158 }, "https://github.com/comfyanonymous/ComfyUI_experiments": { - "stars": 164, + "stars": 196, "last_update": "2024-05-22 15:29:49", - "author_account_age_days": 719 + "author_account_age_days": 1158 + }, + "https://github.com/comfyui-wiki/ComfyUI-Wiki-Workflows": { + "stars": 17, + "last_update": "2025-12-23 14:23:25", + "author_account_age_days": 428 + }, + "https://github.com/comfyuistudio/ComfyUI-Studio-nodes": { + "stars": 1, + "last_update": "2025-10-06 23:13:51", + "author_account_age_days": 458 + }, + "https://github.com/comnote-max/builmenlabo": { + "stars": 2, + "last_update": "2025-07-24 08:37:04", + "author_account_age_days": 382 + }, + "https://github.com/comrender/ComfyUI-NanoB-Edit-Gemini": { + "stars": 4, + "last_update": "2026-01-03 15:18:11", + "author_account_age_days": 960 + }, + "https://github.com/comrender/ComfyUI-NanoSeed": { + "stars": 5, + "last_update": "2025-12-16 17:31:36", + "author_account_age_days": 960 + }, + "https://github.com/comrender/ComfyUI-Topaz-Upscaler": { + "stars": 2, + "last_update": "2025-12-20 13:02:34", + "author_account_age_days": 960 + }, + "https://github.com/concarne000/ComfyUI-Stacker": { + "stars": 9, + "last_update": "2025-07-26 12:44:46", + "author_account_age_days": 2510 }, "https://github.com/concarne000/ConCarneNode": { - "stars": 4, + "stars": 5, "last_update": "2024-05-22 22:10:18", - "author_account_age_days": 2071 + "author_account_age_days": 2510 }, "https://github.com/conquestace/ComfyUI-ImageUploader": { - "stars": 2, + "stars": 6, "last_update": "2024-05-23 01:25:49", - "author_account_age_days": 4779 + "author_account_age_days": 5218 }, "https://github.com/coolzilj/ComfyUI-LJNodes": { - "stars": 81, + "stars": 91, "last_update": "2024-06-15 01:57:32", - "author_account_age_days": 4833 + "author_account_age_days": 5272 }, "https://github.com/coolzilj/ComfyUI-Photopea": { - "stars": 107, + "stars": 192, "last_update": "2024-06-14 08:10:57", - "author_account_age_days": 4833 + "author_account_age_days": 5272 }, "https://github.com/coreyryanhanson/ComfyQR": { - "stars": 67, - "last_update": "2024-08-09 16:58:16", - "author_account_age_days": 3226 + "stars": 84, + "last_update": "2025-01-26 16:25:19", + "author_account_age_days": 3665 }, "https://github.com/coreyryanhanson/ComfyQR-scanning-nodes": { - "stars": 11, - "last_update": "2024-08-09 16:59:00", - "author_account_age_days": 3226 + "stars": 12, + "last_update": "2025-01-26 16:26:36", + "author_account_age_days": 3665 + }, + "https://github.com/cosmicbuffalo/comfyui-mobile-frontend": { + "stars": 16, + "last_update": "2026-02-21 05:01:54", + "author_account_age_days": 3325 + }, + "https://github.com/coulterj/comfyui-svg-visual-normalize": { + "stars": 1, + "last_update": "2025-05-26 11:45:44", + "author_account_age_days": 3551 }, "https://github.com/cozy-comfyui/cozy_comm": { - "stars": 1, - "last_update": "2024-07-18 18:01:38", - "author_account_age_days": 236 - }, - "https://github.com/cozy-comfyui/cozy_link_toggle": { - "stars": 5, - "last_update": "2024-09-18 18:51:37", - "author_account_age_days": 236 + "stars": 2, + "last_update": "2025-04-03 17:02:54", + "author_account_age_days": 675 }, "https://github.com/cozymantis/cozy-utils-comfyui-nodes": { - "stars": 3, - "last_update": "2024-07-07 15:38:05", - "author_account_age_days": 278 + "stars": 5, + "last_update": "2025-04-07 09:53:31", + "author_account_age_days": 717 }, "https://github.com/cozymantis/human-parser-comfyui-node": { - "stars": 77, - "last_update": "2024-07-07 15:31:17", - "author_account_age_days": 278 + "stars": 125, + "last_update": "2025-04-19 14:09:03", + "author_account_age_days": 717 }, "https://github.com/cozymantis/pose-generator-comfyui-node": { - "stars": 64, - "last_update": "2024-07-07 15:22:45", - "author_account_age_days": 278 + "stars": 93, + "last_update": "2025-04-07 09:53:17", + "author_account_age_days": 717 }, "https://github.com/cr7Por/ComfyUI_DepthFlow": { - "stars": 6, + "stars": 5, "last_update": "2024-09-16 09:10:08", - "author_account_age_days": 1295 + "author_account_age_days": 1734 + }, + "https://github.com/craig-tanaka/comfyui_animeseg": { + "stars": 2, + "last_update": "2025-05-20 18:59:45", + "author_account_age_days": 3219 + }, + "https://github.com/crave33/RenesStuffDanbooruTagGet": { + "stars": 0, + "last_update": "2025-02-23 15:48:48", + "author_account_age_days": 376 + }, + "https://github.com/cristian1980/ComfyUI-Caption-Cleaner": { + "stars": 0, + "last_update": "2025-12-30 20:35:33", + "author_account_age_days": 4557 }, "https://github.com/crystian/ComfyUI-Crystools": { - "stars": 857, - "last_update": "2024-11-09 16:30:13", - "author_account_age_days": 4287 + "stars": 1778, + "last_update": "2025-10-26 19:10:29", + "author_account_age_days": 4726 }, "https://github.com/crystian/ComfyUI-Crystools-save": { - "stars": 38, - "last_update": "2024-09-24 23:39:03", - "author_account_age_days": 4287 + "stars": 52, + "last_update": "2025-08-17 12:29:48", + "author_account_age_days": 4726 }, - "https://github.com/ctefer/CFE_comfyui": { - "stars": 1, - "last_update": "2024-12-09 01:38:42", - "author_account_age_days": 3239 + "https://github.com/cuban044/ComfyUI-Veo3-Experimental": { + "stars": 3, + "last_update": "2025-07-23 11:04:17", + "author_account_age_days": 1076 }, "https://github.com/cubiq/Block_Patcher_ComfyUI": { - "stars": 71, + "stars": 86, "last_update": "2024-09-22 09:49:06", - "author_account_age_days": 5181 + "author_account_age_days": 5620 }, "https://github.com/cubiq/ComfyUI_FaceAnalysis": { - "stars": 350, - "last_update": "2024-10-08 12:32:29", - "author_account_age_days": 5181 + "stars": 525, + "last_update": "2025-05-20 05:18:36", + "author_account_age_days": 5620 }, "https://github.com/cubiq/ComfyUI_IPAdapter_plus": { - "stars": 4281, - "last_update": "2024-09-13 13:04:50", - "author_account_age_days": 5181 + "stars": 5804, + "last_update": "2025-04-14 07:29:17", + "author_account_age_days": 5620 }, "https://github.com/cubiq/ComfyUI_InstantID": { - "stars": 1344, - "last_update": "2024-09-30 08:54:05", - "author_account_age_days": 5181 - }, - "https://github.com/cubiq/ComfyUI_SimpleMath": { - "stars": 20, - "last_update": "2024-06-14 09:02:50", - "author_account_age_days": 5181 + "stars": 1800, + "last_update": "2025-04-14 07:50:01", + "author_account_age_days": 5620 }, "https://github.com/cubiq/ComfyUI_essentials": { - "stars": 632, - "last_update": "2024-12-07 09:40:28", - "author_account_age_days": 5181 + "stars": 1057, + "last_update": "2025-04-14 07:33:29", + "author_account_age_days": 5620 }, "https://github.com/cubiq/PuLID_ComfyUI": { - "stars": 735, - "last_update": "2024-10-05 16:21:01", - "author_account_age_days": 5181 + "stars": 909, + "last_update": "2025-04-14 07:47:23", + "author_account_age_days": 5620 }, "https://github.com/cuongloveit/comfy_http_request": { - "stars": 1, + "stars": 6, "last_update": "2024-06-14 11:00:11", - "author_account_age_days": 3422 + "author_account_age_days": 3861 }, "https://github.com/curiousjp/ComfyUI-MaskBatchPermutations": { "stars": 5, "last_update": "2024-05-28 13:09:32", - "author_account_age_days": 2100 + "author_account_age_days": 2539 + }, + "https://github.com/cyan9977/ComfyUI_PromptQueue": { + "stars": 1, + "last_update": "2025-12-24 04:41:18", + "author_account_age_days": 536 + }, + "https://github.com/cyberhirsch/seb_nodes": { + "stars": 4, + "last_update": "2026-01-11 18:21:14", + "author_account_age_days": 2476 + }, + "https://github.com/cyberlightdev/ComfyUI-CyberUtils": { + "stars": 0, + "last_update": "2025-12-22 21:19:05", + "author_account_age_days": 3959 + }, + "https://github.com/cybernaut4/comfyui_arkl1te_toolkit": { + "stars": 1, + "last_update": "2025-10-21 13:13:22", + "author_account_age_days": 2050 }, "https://github.com/czcz1024/Comfyui-FaceCompare": { "stars": 0, "last_update": "2024-06-14 07:13:32", - "author_account_age_days": 4404 + "author_account_age_days": 4843 + }, + "https://github.com/d3cker/comfyui_remove_background": { + "stars": 0, + "last_update": "2026-01-03 12:40:49", + "author_account_age_days": 4927 }, "https://github.com/da2el-ai/ComfyUI-d2-send-eagle": { - "stars": 12, - "last_update": "2024-11-23 16:59:58", - "author_account_age_days": 559 + "stars": 19, + "last_update": "2025-03-10 14:31:22", + "author_account_age_days": 999 }, "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": 559 + "author_account_age_days": 999 }, "https://github.com/da2el-ai/ComfyUI-d2-steps": { "stars": 6, "last_update": "2024-10-02 14:03:14", - "author_account_age_days": 559 + "author_account_age_days": 999 }, "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": 559 + "author_account_age_days": 999 + }, + "https://github.com/da2el-ai/D2-PromptSelector-comfyUI": { + "stars": 4, + "last_update": "2025-04-05 03:00:34", + "author_account_age_days": 999 + }, + "https://github.com/da2el-ai/D2-SavePSD-ComfyUI": { + "stars": 6, + "last_update": "2025-04-08 15:28:06", + "author_account_age_days": 999 }, "https://github.com/da2el-ai/D2-nodes-ComfyUI": { - "stars": 16, - "last_update": "2024-12-05 04:41:09", - "author_account_age_days": 559 + "stars": 51, + "last_update": "2026-02-13 09:38:24", + "author_account_age_days": 999 }, "https://github.com/dadoirie/ComfyUI_Dados_Nodes": { - "stars": 1, - "last_update": "2024-08-23 20:46:12", - "author_account_age_days": 1760 + "stars": 8, + "last_update": "2025-11-12 21:16:28", + "author_account_age_days": 2199 + }, + "https://github.com/daehwa00/ComfyUI-NanoBananaAPI": { + "stars": 4, + "last_update": "2025-09-03 08:41:00", + "author_account_age_days": 2164 }, "https://github.com/dafeng012/comfyui-imgmake": { - "stars": 9, + "stars": 15, "last_update": "2024-11-03 17:38:47", - "author_account_age_days": 846 + "author_account_age_days": 1285 }, "https://github.com/dagthomas/comfyui_dagthomas": { - "stars": 213, - "last_update": "2024-10-06 20:44:01", - "author_account_age_days": 4242 + "stars": 275, + "last_update": "2025-12-13 21:44:35", + "author_account_age_days": 4681 + }, + "https://github.com/danTheMonk/comfyui-int-and-float": { + "stars": 7, + "last_update": "2025-07-04 16:07:42", + "author_account_age_days": 3996 + }, + "https://github.com/dandancow874/ComfyUI-LMStudio-Controller": { + "stars": 0, + "last_update": "2025-12-09 15:17:10", + "author_account_age_days": 2285 + }, + "https://github.com/danger-electrodes/ComfyUI_Fawfluencer_Nodes": { + "stars": 1, + "last_update": "2025-04-15 10:31:38", + "author_account_age_days": 999 }, "https://github.com/daniabib/ComfyUI_ProPainter_Nodes": { - "stars": 249, - "last_update": "2024-07-08 21:59:15", - "author_account_age_days": 2574 + "stars": 366, + "last_update": "2024-12-22 13:50:25", + "author_account_age_days": 3014 }, "https://github.com/daniel-lewis-ab/ComfyUI-Llama": { - "stars": 43, + "stars": 68, "last_update": "2024-06-29 19:55:42", - "author_account_age_days": 3521 + "author_account_age_days": 3961 }, "https://github.com/daniel-lewis-ab/ComfyUI-TTS": { - "stars": 22, + "stars": 30, "last_update": "2024-06-14 08:09:49", - "author_account_age_days": 3521 + "author_account_age_days": 3961 }, - "https://github.com/daqingliu/ComfyUI-SaveImageOSS": { + "https://github.com/danieljanata/ComfyUI-Prompting-System": { "stars": 0, - "last_update": "2024-12-10 19:03:45", - "author_account_age_days": 3197 + "last_update": "2026-01-15 08:41:13", + "author_account_age_days": 404 + }, + "https://github.com/danielvw/ComfyUI-WanMove-Adapter": { + "stars": 2, + "last_update": "2026-01-13 12:29:33", + "author_account_age_days": 4931 + }, + "https://github.com/danielwolber-wood/ComfyUI-FString": { + "stars": 0, + "last_update": "2026-01-05 17:29:31", + "author_account_age_days": 2681 + }, + "https://github.com/danielwolber-wood/ComfyUI-Inspector": { + "stars": 1, + "last_update": "2026-01-05 19:15:17", + "author_account_age_days": 2681 + }, + "https://github.com/danielwolber-wood/ComfyUI-QuickResolutionSelector": { + "stars": 0, + "last_update": "2026-01-05 19:51:03", + "author_account_age_days": 2681 + }, + "https://github.com/darkamenosa/comfy_inpaint_blend": { + "stars": 3, + "last_update": "2025-09-15 16:26:29", + "author_account_age_days": 4393 + }, + "https://github.com/darkamenosa/comfy_nanobanana": { + "stars": 45, + "last_update": "2025-09-09 00:56:14", + "author_account_age_days": 4393 }, "https://github.com/darkpixel/darkprompts": { - "stars": 8, - "last_update": "2024-12-05 14:08:22", - "author_account_age_days": 5494 + "stars": 10, + "last_update": "2025-06-09 16:39:38", + "author_account_age_days": 5933 + }, + "https://github.com/darrell-goh/ComfyUI-NanoBanana_node": { + "stars": 1, + "last_update": "2026-02-04 07:50:58", + "author_account_age_days": 3116 }, "https://github.com/darth-veitcher/comfydv": { "stars": 2, - "last_update": "2024-10-20 12:43:46", - "author_account_age_days": 4598 + "last_update": "2025-11-05 15:49:02", + "author_account_age_days": 5038 + }, + "https://github.com/darth-veitcher/comfyui-ollama-model-manager": { + "stars": 0, + "last_update": "2025-11-05 17:05:44", + "author_account_age_days": 5038 }, "https://github.com/daryltucker/ComfyUI-LoadFiles": { - "stars": 1, + "stars": 3, "last_update": "2024-08-31 23:59:44", - "author_account_age_days": 4634 + "author_account_age_days": 5073 + }, + "https://github.com/dasilva333/ComfyUI_ContrastingColor": { + "stars": 1, + "last_update": "2025-02-22 04:49:59", + "author_account_age_days": 5322 + }, + "https://github.com/dasilva333/ComfyUI_HunyuanVideo-Foley": { + "stars": 7, + "last_update": "2025-09-02 14:44:32", + "author_account_age_days": 5322 + }, + "https://github.com/dasilva333/ComfyUI_MarkdownImage": { + "stars": 0, + "last_update": "2025-04-12 03:11:13", + "author_account_age_days": 5322 }, "https://github.com/dave-palt/comfyui_DSP_imagehelpers": { "stars": 0, "last_update": "2024-05-22 23:12:11", - "author_account_age_days": 328 + "author_account_age_days": 767 + }, + "https://github.com/daveand/ComfyUI-daveand-nodes": { + "stars": 0, + "last_update": "2026-01-13 20:54:51", + "author_account_age_days": 3603 + }, + "https://github.com/davidgressett/comfyui-systemlevel": { + "stars": 4, + "last_update": "2025-01-22 23:51:40", + "author_account_age_days": 3239 }, "https://github.com/daxcay/ComfyUI-DataSet": { - "stars": 40, - "last_update": "2024-12-06 16:03:18", - "author_account_age_days": 265 + "stars": 57, + "last_update": "2025-03-01 05:24:50", + "author_account_age_days": 704 }, "https://github.com/daxcay/ComfyUI-JDCN": { - "stars": 94, - "last_update": "2024-10-30 18:01:05", - "author_account_age_days": 265 + "stars": 145, + "last_update": "2025-04-14 09:20:22", + "author_account_age_days": 704 }, "https://github.com/daxcay/ComfyUI-NODEJS": { - "stars": 10, + "stars": 16, "last_update": "2024-11-28 09:46:29", - "author_account_age_days": 265 + "author_account_age_days": 704 }, "https://github.com/daxcay/ComfyUI-Nexus": { - "stars": 74, - "last_update": "2024-11-28 20:28:24", - "author_account_age_days": 265 + "stars": 94, + "last_update": "2025-03-01 15:40:05", + "author_account_age_days": 704 }, "https://github.com/daxcay/ComfyUI-TG": { - "stars": 13, + "stars": 29, "last_update": "2024-11-28 09:45:12", - "author_account_age_days": 265 + "author_account_age_days": 704 }, "https://github.com/daxcay/ComfyUI-WA": { - "stars": 49, + "stars": 50, "last_update": "2024-11-28 09:44:50", - "author_account_age_days": 265 + "author_account_age_days": 704 }, "https://github.com/daxcay/ComfyUI-YouTubeVideoPlayer": { - "stars": 6, + "stars": 5, "last_update": "2024-11-28 09:45:30", - "author_account_age_days": 265 + "author_account_age_days": 704 }, "https://github.com/dchatel/comfyui_davcha": { "stars": 2, - "last_update": "2024-12-08 11:27:37", - "author_account_age_days": 4705 + "last_update": "2026-02-16 05:23:26", + "author_account_age_days": 5144 }, "https://github.com/dchatel/comfyui_facetools": { - "stars": 81, - "last_update": "2024-08-06 17:11:56", - "author_account_age_days": 4705 + "stars": 166, + "last_update": "2025-10-08 11:49:00", + "author_account_age_days": 5144 + }, + "https://github.com/dcyd-lun/ComfyUI_text_diff": { + "stars": 0, + "last_update": "2025-12-09 14:31:18", + "author_account_age_days": 78 + }, + "https://github.com/ddontsov93/ComfyUI-AudioSeparator": { + "stars": 0, + "last_update": "2025-12-22 15:11:58", + "author_account_age_days": 3057 }, "https://github.com/denfrost/Den_ComfyUI_Workflow": { "stars": 4, - "last_update": "2024-06-20 14:57:57", - "author_account_age_days": 3666 + "last_update": "2025-05-07 07:15:01", + "author_account_age_days": 4106 + }, + "https://github.com/deng-wei/ComfyUI-MiVolo-V2": { + "stars": 22, + "last_update": "2025-11-20 09:00:07", + "author_account_age_days": 4246 + }, + "https://github.com/dennisvink/comfyui-outline": { + "stars": 0, + "last_update": "2026-02-06 00:25:56", + "author_account_age_days": 4023 }, "https://github.com/deroberon/StableZero123-comfyui": { - "stars": 154, + "stars": 182, "last_update": "2024-05-22 22:09:53", - "author_account_age_days": 5466 + "author_account_age_days": 5905 }, "https://github.com/deroberon/demofusion-comfyui": { - "stars": 87, + "stars": 88, "last_update": "2024-05-22 22:09:42", - "author_account_age_days": 5466 + "author_account_age_days": 5905 }, "https://github.com/dfghsdh/ComfyUI_FluxPromptGen": { - "stars": 12, + "stars": 18, "last_update": "2024-09-23 07:51:56", - "author_account_age_days": 79 + "author_account_age_days": 518 }, "https://github.com/dfl/comfyui-clip-with-break": { - "stars": 11, - "last_update": "2024-05-22 23:23:15", - "author_account_age_days": 6144 + "stars": 17, + "last_update": "2025-03-04 20:16:06", + "author_account_age_days": 6583 }, "https://github.com/dfl/comfyui-tcd-scheduler": { - "stars": 83, + "stars": 84, "last_update": "2024-05-22 23:23:28", - "author_account_age_days": 6144 + "author_account_age_days": 6583 }, "https://github.com/diStyApps/ComfyUI-disty-Flow": { - "stars": 334, - "last_update": "2024-12-05 17:51:57", - "author_account_age_days": 4374 + "stars": 579, + "last_update": "2025-01-04 18:03:37", + "author_account_age_days": 4813 }, "https://github.com/diStyApps/ComfyUI_FrameMaker": { - "stars": 14, + "stars": 22, "last_update": "2024-05-23 00:11:33", - "author_account_age_days": 4374 + "author_account_age_days": 4813 + }, + "https://github.com/dicksensei69/comfyui_loops": { + "stars": 1, + "last_update": "2025-05-03 22:22:55", + "author_account_age_days": 1244 }, "https://github.com/dicksondickson/ComfyUI-Dickson-Nodes": { - "stars": 10, + "stars": 11, "last_update": "2024-09-18 04:30:33", - "author_account_age_days": 4161 + "author_account_age_days": 4600 + }, + "https://github.com/diffussy69/comfyui-curved_weight_schedule": { + "stars": 2, + "last_update": "2025-11-23 04:21:13", + "author_account_age_days": 621 + }, + "https://github.com/digital-divas-admin/ComfyUI_DD_Nodes": { + "stars": 0, + "last_update": "2026-02-16 04:18:08", + "author_account_age_days": 150 }, "https://github.com/digitaljohn/comfyui-propost": { - "stars": 154, - "last_update": "2024-08-11 12:33:22", - "author_account_age_days": 4688 + "stars": 200, + "last_update": "2025-02-10 23:25:24", + "author_account_age_days": 5127 + }, + "https://github.com/dimtion/comfyui-raw-image": { + "stars": 5, + "last_update": "2025-07-19 22:22:37", + "author_account_age_days": 4974 }, "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": { - "stars": 219, - "last_update": "2024-07-31 13:44:39", - "author_account_age_days": 3584 + "stars": 369, + "last_update": "2025-10-31 00:44:32", + "author_account_age_days": 4023 }, - "https://github.com/dionren/ComfyUI-Pro-Export-Tool": { - "stars": 3, - "last_update": "2024-10-11 08:26:18", - "author_account_age_days": 4056 + "https://github.com/dimtoneff/ComfyUI-VL-Nodes": { + "stars": 10, + "last_update": "2025-08-29 01:10:55", + "author_account_age_days": 4024 + }, + "https://github.com/diodiogod/TTS-Audio-Suite": { + "stars": 692, + "last_update": "2026-02-22 15:15:20", + "author_account_age_days": 737 }, "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": { - "stars": 68, + "stars": 82, "last_update": "2024-06-20 16:48:44", - "author_account_age_days": 4941 + "author_account_age_days": 5380 }, "https://github.com/discopixel-studio/comfyui-discopixel": { "stars": 12, "last_update": "2024-09-30 00:46:13", - "author_account_age_days": 515 + "author_account_age_days": 954 }, "https://github.com/discus0434/comfyui-aesthetic-predictor-v2-5": { - "stars": 6, + "stars": 17, "last_update": "2024-06-14 08:12:05", - "author_account_age_days": 1640 + "author_account_age_days": 2079 }, "https://github.com/discus0434/comfyui-caching-embeddings": { - "stars": 1, + "stars": 2, "last_update": "2024-06-14 08:59:36", - "author_account_age_days": 1640 + "author_account_age_days": 2079 }, "https://github.com/discus0434/comfyui-flux-accelerator": { - "stars": 110, - "last_update": "2024-10-21 07:57:15", - "author_account_age_days": 1640 + "stars": 140, + "last_update": "2024-12-19 14:39:39", + "author_account_age_days": 2079 }, "https://github.com/djbielejeski/a-person-mask-generator": { - "stars": 279, - "last_update": "2024-09-08 13:44:29", - "author_account_age_days": 4454 + "stars": 395, + "last_update": "2026-02-10 19:46:03", + "author_account_age_days": 4893 }, "https://github.com/dmMaze/sketch2manga": { - "stars": 37, - "last_update": "2024-06-30 03:27:55", - "author_account_age_days": 2019 + "stars": 42, + "last_update": "2025-03-31 08:51:09", + "author_account_age_days": 2459 }, "https://github.com/dmarx/ComfyUI-AudioReactive": { - "stars": 10, + "stars": 11, "last_update": "2024-05-22 22:12:53", - "author_account_age_days": 4674 + "author_account_age_days": 5113 }, "https://github.com/dmarx/ComfyUI-Keyframed": { - "stars": 88, + "stars": 90, "last_update": "2024-07-01 01:41:23", - "author_account_age_days": 4674 + "author_account_age_days": 5113 + }, + "https://github.com/domprosys/ComfyUI-LTXVideo-Extra": { + "stars": 2, + "last_update": "2026-02-01 16:48:15", + "author_account_age_days": 1218 + }, + "https://github.com/dorpxam/ComfyUI-FramePack-F1-T2V": { + "stars": 2, + "last_update": "2025-05-29 06:33:54", + "author_account_age_days": 869 + }, + "https://github.com/dorpxam/ComfyUI-LTXVideoLoRA": { + "stars": 19, + "last_update": "2025-05-10 16:42:44", + "author_account_age_days": 869 + }, + "https://github.com/dothings/comfyui_placeholder_prompting": { + "stars": 0, + "last_update": "2025-10-03 12:06:27", + "author_account_age_days": 1686 + }, + "https://github.com/doubletwisted/ComfyUI-Deadline-Plugin": { + "stars": 25, + "last_update": "2026-01-14 12:57:13", + "author_account_age_days": 1200 + }, + "https://github.com/downlifted/ComfyUI_GROQ-PromptWizard": { + "stars": 0, + "last_update": "2025-09-22 00:10:40", + "author_account_age_days": 2856 }, "https://github.com/drago87/ComfyUI_Dragos_Nodes": { "stars": 3, "last_update": "2024-05-22 21:32:15", - "author_account_age_days": 3939 + "author_account_age_days": 4379 + }, + "https://github.com/drawthingsai/draw-things-comfyui": { + "stars": 3, + "last_update": "2026-01-25 16:13:56", + "author_account_age_days": 1015 + }, + "https://github.com/dreamhartley/ComfyUI_show_seed": { + "stars": 3, + "last_update": "2025-01-14 16:15:12", + "author_account_age_days": 1093 }, "https://github.com/drmbt/comfyui-dreambait-nodes": { - "stars": 3, - "last_update": "2024-11-08 10:21:53", - "author_account_age_days": 3947 + "stars": 5, + "last_update": "2026-01-30 06:01:50", + "author_account_age_days": 4387 + }, + "https://github.com/drozbay/ComfyUI-WanVaceAdvanced": { + "stars": 73, + "last_update": "2026-02-10 15:54:33", + "author_account_age_days": 3660 + }, + "https://github.com/drphero/comfyui_prompttester": { + "stars": 1, + "last_update": "2025-06-19 01:06:51", + "author_account_age_days": 3821 }, "https://github.com/drustan-hawk/primitive-types": { - "stars": 7, + "stars": 6, "last_update": "2024-08-01 17:44:51", - "author_account_age_days": 459 + "author_account_age_days": 898 + }, + "https://github.com/dseditor/Comfy-MCP": { + "stars": 4, + "last_update": "2025-12-14 04:47:06", + "author_account_age_days": 1613 + }, + "https://github.com/dseditor/ComfyUI-ListHelper": { + "stars": 59, + "last_update": "2026-02-08 16:11:47", + "author_account_age_days": 1613 + }, + "https://github.com/dseditor/ComfyUI-ScheduledTask": { + "stars": 8, + "last_update": "2025-07-15 12:08:18", + "author_account_age_days": 1613 + }, + "https://github.com/dseditor/ComfyUI-Thread": { + "stars": 6, + "last_update": "2025-06-17 02:38:00", + "author_account_age_days": 1613 + }, + "https://github.com/dskjal/comfyui-yolov8-dsuksampler": { + "stars": 0, + "last_update": "2026-02-06 17:19:19", + "author_account_age_days": 3687 + }, + "https://github.com/dskjal/comfyui-yolov8-simple": { + "stars": 0, + "last_update": "2025-11-07 04:54:26", + "author_account_age_days": 3687 + }, + "https://github.com/duchamps0305/comfyui-white-extractor": { + "stars": 0, + "last_update": "2025-01-23 08:09:12", + "author_account_age_days": 1231 }, "https://github.com/ducido/ObjectFusion_ComfyUI_nodes": { - "stars": 2, - "last_update": "2024-08-27 01:08:12", - "author_account_age_days": 699 + "stars": 1, + "last_update": "2025-05-02 08:31:46", + "author_account_age_days": 1138 + }, + "https://github.com/duldduld/ComfyUI_md5": { + "stars": 1, + "last_update": "2025-12-12 15:38:26", + "author_account_age_days": 3336 }, "https://github.com/dymokomi/comfyui_dygen": { "stars": 1, "last_update": "2024-11-28 20:08:13", - "author_account_age_days": 742 + "author_account_age_days": 1181 + }, + "https://github.com/dzqdzq/ComfyUI-crop-alpha": { + "stars": 4, + "last_update": "2025-02-17 14:46:11", + "author_account_age_days": 3624 + }, + "https://github.com/dzy1128/ComfyUI-Vector-Engine": { + "stars": 0, + "last_update": "2026-01-29 03:32:06", + "author_account_age_days": 1779 + }, + "https://github.com/dzy1128/ComfyUI-VertexAI": { + "stars": 1, + "last_update": "2025-11-25 08:18:07", + "author_account_age_days": 1779 + }, + "https://github.com/dzy1128/Seedream-Image-Generate-ComfyUI": { + "stars": 5, + "last_update": "2026-02-10 09:56:28", + "author_account_age_days": 1779 + }, + "https://github.com/e-tier-newbie/ComfyUI-E-Tier-TextSaver": { + "stars": 0, + "last_update": "2025-06-06 21:59:50", + "author_account_age_days": 291 }, "https://github.com/e7mac/ComfyUI-ShadertoyGL": { - "stars": 2, + "stars": 4, "last_update": "2024-06-20 14:52:42", - "author_account_age_days": 4973 + "author_account_age_days": 5412 + }, + "https://github.com/eRepublik-Labs/comfyui-nodes-erpk": { + "stars": 0, + "last_update": "2026-02-23 16:25:59", + "author_account_age_days": 1915 }, "https://github.com/ealkanat/comfyui-easy-padding": { - "stars": 15, - "last_update": "2024-07-31 18:03:33", - "author_account_age_days": 2633 + "stars": 17, + "last_update": "2024-12-31 02:38:22", + "author_account_age_days": 3072 + }, + "https://github.com/eastmoe/ComfyUI-CMP-Extention": { + "stars": 2, + "last_update": "2026-02-12 11:14:39", + "author_account_age_days": 3093 }, "https://github.com/eastoc/ComfyUI_SemanticSAM": { "stars": 5, "last_update": "2024-08-13 19:24:33", - "author_account_age_days": 2888 + "author_account_age_days": 3327 }, - "https://github.com/edelvarden/ComfyUI-ImageMetadataExtension": { + "https://github.com/easygoing0114/ComfyUI-easygoing-nodes": { + "stars": 4, + "last_update": "2026-02-19 07:57:26", + "author_account_age_days": 454 + }, + "https://github.com/ebrinz/ComfyUI-MusicGen-HF": { + "stars": 6, + "last_update": "2025-11-18 00:58:02", + "author_account_age_days": 2667 + }, + "https://github.com/eddyhhlure1Eddy/ComfyUI-EddySevenResonance": { + "stars": 11, + "last_update": "2025-11-02 17:17:30", + "author_account_age_days": 357 + }, + "https://github.com/eddyhhlure1Eddy/ComfyUI-LLM-GGUF": { + "stars": 8, + "last_update": "2025-12-07 17:56:07", + "author_account_age_days": 357 + }, + "https://github.com/eddyhhlure1Eddy/ComfyUI-MemoryCleaner": { + "stars": 26, + "last_update": "2025-11-10 15:36:42", + "author_account_age_days": 357 + }, + "https://github.com/eddyhhlure1Eddy/ComfyUI-PreviewImageNode": { + "stars": 9, + "last_update": "2025-11-11 07:39:18", + "author_account_age_days": 357 + }, + "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenFrameSelector": { "stars": 10, - "last_update": "2024-11-12 12:43:52", - "author_account_age_days": 2303 + "last_update": "2025-11-11 07:40:58", + "author_account_age_days": 357 + }, + "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenVideo": { + "stars": 17, + "last_update": "2025-11-10 09:59:51", + "author_account_age_days": 357 + }, + "https://github.com/eddyhhlure1Eddy/ComfyUI-TorchCompileSpeed": { + "stars": 24, + "last_update": "2025-10-11 15:26:20", + "author_account_age_days": 357 + }, + "https://github.com/eddyhhlure1Eddy/ode-ComfyUI-WanVideoWrapper": { + "stars": 226, + "last_update": "2025-10-28 02:46:54", + "author_account_age_days": 357 + }, + "https://github.com/edelvarden/ComfyUI-Display-Value": { + "stars": 1, + "last_update": "2025-05-25 23:02:40", + "author_account_age_days": 2742 + }, + "https://github.com/edelvarden/comfyui_image_metadata_extension": { + "stars": 82, + "last_update": "2025-11-05 10:03:15", + "author_account_age_days": 2742 }, "https://github.com/edenartlab/eden_comfy_pipelines": { - "stars": 70, - "last_update": "2024-12-04 19:53:51", - "author_account_age_days": 442 + "stars": 107, + "last_update": "2025-10-23 12:26:53", + "author_account_age_days": 882 }, "https://github.com/edenartlab/sd-lora-trainer": { - "stars": 27, - "last_update": "2024-09-12 08:06:41", - "author_account_age_days": 442 + "stars": 66, + "last_update": "2025-08-04 21:16:39", + "author_account_age_days": 882 + }, + "https://github.com/edoardocarmignani/extralinks": { + "stars": 10, + "last_update": "2026-01-29 15:12:59", + "author_account_age_days": 3062 + }, + "https://github.com/edoardocompagnucci/ComfyUI-HSyn9DHPE": { + "stars": 1, + "last_update": "2025-11-04 08:08:46", + "author_account_age_days": 2458 }, "https://github.com/educator-art/ComfyUI-Load-DirectoryFiles": { "stars": 4, - "last_update": "2024-10-11 17:31:45", - "author_account_age_days": 371 + "last_update": "2025-04-22 08:51:32", + "author_account_age_days": 811 + }, + "https://github.com/educator-art/ComfyUI-gpt-oss-PromptDesigner": { + "stars": 1, + "last_update": "2025-08-11 17:57:55", + "author_account_age_days": 811 + }, + "https://github.com/efortin/ComfyUI-Ollama-Enhancer": { + "stars": 3, + "last_update": "2025-09-22 07:06:44", + "author_account_age_days": 4745 + }, + "https://github.com/efuentesamin/mewins_node_pack": { + "stars": 0, + "last_update": "2026-02-10 12:59:32", + "author_account_age_days": 4346 + }, + "https://github.com/eg0pr0xy/comfyui_noisegen": { + "stars": 1, + "last_update": "2025-06-29 13:58:28", + "author_account_age_days": 2683 + }, + "https://github.com/einhorn13/ComfyUI-ImageProcessUtilities": { + "stars": 1, + "last_update": "2025-07-22 15:23:02", + "author_account_age_days": 3441 + }, + "https://github.com/elgalardi/comfyui-clip-prompt-splitter": { + "stars": 0, + "last_update": "2025-12-29 07:59:45", + "author_account_age_days": 1242 + }, + "https://github.com/elgalardi/comfyui-prompt-splitter": { + "stars": 0, + "last_update": "2025-12-30 22:38:25", + "author_account_age_days": 1242 + }, + "https://github.com/elyetis/Comfyui-ColorMatchNodes": { + "stars": 5, + "last_update": "2025-11-23 11:23:09", + "author_account_age_days": 3614 }, "https://github.com/emojiiii/ComfyUI_Emojiiii_Custom_Nodes": { - "stars": 1, + "stars": 0, "last_update": "2024-09-03 06:55:04", - "author_account_age_days": 2693 + "author_account_age_days": 3132 + }, + "https://github.com/engineer6980/ComfyUI-Image-Cipher": { + "stars": 0, + "last_update": "2026-02-04 03:48:21", + "author_account_age_days": 2355 }, "https://github.com/envy-ai/ComfyUI-ConDelta": { - "stars": 36, - "last_update": "2024-12-10 19:10:11", - "author_account_age_days": 125 + "stars": 208, + "last_update": "2025-09-03 00:40:23", + "author_account_age_days": 564 + }, + "https://github.com/eric183/ComfyUI-Only": { + "stars": 72, + "last_update": "2025-08-23 07:48:17", + "author_account_age_days": 4042 + }, + "https://github.com/erosDiffusion/ComfyUI-EulerDiscreteScheduler": { + "stars": 350, + "last_update": "2025-12-11 11:46:09", + "author_account_age_days": 606 + }, + "https://github.com/erosDiffusion/ComfyUI-ZImageDit": { + "stars": 5, + "last_update": "2025-12-03 21:54:01", + "author_account_age_days": 606 }, "https://github.com/erosDiffusion/ComfyUI-enricos-nodes": { - "stars": 332, - "last_update": "2024-09-24 15:03:43", - "author_account_age_days": 166 + "stars": 598, + "last_update": "2025-11-18 23:55:24", + "author_account_age_days": 606 + }, + "https://github.com/errew/ComfyUI-Wireless": { + "stars": 1, + "last_update": "2026-02-01 20:37:16", + "author_account_age_days": 989 + }, + "https://github.com/esp-dev/comfyui-loadheicimage": { + "stars": 0, + "last_update": "2025-12-29 20:34:12", + "author_account_age_days": 2316 + }, + "https://github.com/esp-dev/comfyui-videoframenode": { + "stars": 1, + "last_update": "2026-01-24 21:23:17", + "author_account_age_days": 2316 + }, + "https://github.com/ethanfel/ComfyUI-Sharp-Selector": { + "stars": 2, + "last_update": "2026-02-05 10:26:45", + "author_account_age_days": 3207 + }, + "https://github.com/ethanfel/Comfyui-JSON-Manager": { + "stars": 0, + "last_update": "2026-02-23 16:44:23", + "author_account_age_days": 3207 + }, + "https://github.com/euan-gwd/comfyui-character-prompt-builder": { + "stars": 1, + "last_update": "2026-02-23 10:45:30", + "author_account_age_days": 3890 + }, + "https://github.com/evandcoleman/comfyui-comparison-grid": { + "stars": 0, + "last_update": "2026-02-09 19:11:03", + "author_account_age_days": 5440 }, "https://github.com/evanspearman/ComfyMath": { - "stars": 90, - "last_update": "2024-09-02 17:24:27", - "author_account_age_days": 4408 + "stars": 165, + "last_update": "2025-03-08 18:14:34", + "author_account_age_days": 4847 }, - "https://github.com/evolox/ComfyUI-GeneraNodes": { + "https://github.com/excelwong/ComfyUI-PromptComposer": { "stars": 1, - "last_update": "2024-11-14 15:20:44", - "author_account_age_days": 453 + "last_update": "2025-04-30 10:33:43", + "author_account_age_days": 3975 }, "https://github.com/exdysa/comfyui-selector": { "stars": 5, - "last_update": "2024-12-07 21:07:28", - "author_account_age_days": 1165 + "last_update": "2025-03-14 12:21:29", + "author_account_age_days": 1605 }, "https://github.com/exectails/comfyui-et_dynamicprompts": { - "stars": 3, + "stars": 7, "last_update": "2024-11-29 22:37:19", - "author_account_age_days": 4088 + "author_account_age_days": 4527 }, "https://github.com/exectails/comfyui-et_infoutils": { "stars": 3, "last_update": "2024-11-29 17:27:49", - "author_account_age_days": 4088 + "author_account_age_days": 4527 }, "https://github.com/exectails/comfyui-et_stringutils": { - "stars": 1, - "last_update": "2024-11-26 20:26:14", - "author_account_age_days": 4088 + "stars": 2, + "last_update": "2026-01-29 11:30:27", + "author_account_age_days": 4527 + }, + "https://github.com/exedesign/Hunyuan-3D-v3": { + "stars": 6, + "last_update": "2026-02-23 11:49:37", + "author_account_age_days": 1944 }, "https://github.com/ez-af/ComfyUI-EZ-AF-Nodes": { - "stars": 2, - "last_update": "2024-10-02 07:38:18", - "author_account_age_days": 104 + "stars": 26, + "last_update": "2025-09-23 05:43:28", + "author_account_age_days": 543 }, - "https://github.com/fablestudio/ComfyUI-Showrunner-Utils": { - "stars": 1, - "last_update": "2024-11-16 21:13:22", - "author_account_age_days": 2218 + "https://github.com/fabbarix/comfyui-promptstore": { + "stars": 3, + "last_update": "2025-12-07 19:02:28", + "author_account_age_days": 2490 + }, + "https://github.com/facefusion/facefusion-comfyui": { + "stars": 17, + "last_update": "2025-11-02 20:00:17", + "author_account_age_days": 921 + }, + "https://github.com/facok/ComfyUI-HunyuanVideoMultiLora": { + "stars": 119, + "last_update": "2025-05-13 18:35:00", + "author_account_age_days": 1067 + }, + "https://github.com/facok/ComfyUI-TeaCacheHunyuanVideo": { + "stars": 94, + "last_update": "2025-04-05 05:24:59", + "author_account_age_days": 1067 + }, + "https://github.com/facok/comfyui-meancache-z": { + "stars": 28, + "last_update": "2026-02-08 16:39:56", + "author_account_age_days": 1067 + }, + "https://github.com/fairy-root/ComfyUI-GLHF": { + "stars": 4, + "last_update": "2025-04-03 13:47:20", + "author_account_age_days": 2543 + }, + "https://github.com/fairy-root/ComfyUI-OpenAI-FM": { + "stars": 49, + "last_update": "2025-05-09 00:12:06", + "author_account_age_days": 2543 + }, + "https://github.com/fairy-root/ComfyUI-Show-Text": { + "stars": 22, + "last_update": "2026-02-17 12:51:04", + "author_account_age_days": 2543 }, "https://github.com/fairy-root/Flux-Prompt-Generator": { - "stars": 135, - "last_update": "2024-08-25 23:16:12", - "author_account_age_days": 2104 + "stars": 244, + "last_update": "2025-11-22 01:14:46", + "author_account_age_days": 2543 }, "https://github.com/fairy-root/comfyui-ollama-llms": { - "stars": 12, - "last_update": "2024-08-21 03:39:13", - "author_account_age_days": 2104 + "stars": 16, + "last_update": "2025-03-27 20:47:17", + "author_account_age_days": 2543 }, "https://github.com/fallingmeteorite/nsfw-image-check-comfyui": { - "stars": 3, - "last_update": "2024-11-26 10:23:09", - "author_account_age_days": 1258 + "stars": 9, + "last_update": "2026-01-20 04:49:07", + "author_account_age_days": 1698 }, "https://github.com/fashn-AI/ComfyUI-FASHN": { - "stars": 14, - "last_update": "2024-12-01 10:05:56", - "author_account_age_days": 525 + "stars": 32, + "last_update": "2025-06-30 12:16:05", + "author_account_age_days": 965 + }, + "https://github.com/fat-tire/comfyui-unified-media-suite": { + "stars": 6, + "last_update": "2025-07-07 08:57:09", + "author_account_age_days": 5546 + }, + "https://github.com/fblissjr/ComfyUI-DatasetHelper": { + "stars": 6, + "last_update": "2025-01-27 18:58:33", + "author_account_age_days": 3973 + }, + "https://github.com/fblissjr/ComfyUI-EmbeddingPipelineAnalytics": { + "stars": 3, + "last_update": "2025-01-24 18:51:53", + "author_account_age_days": 3973 + }, + "https://github.com/fblissjr/ComfyUI-QwenImageWanBridge": { + "stars": 173, + "last_update": "2025-12-15 20:50:26", + "author_account_age_days": 3973 + }, + "https://github.com/fblissjr/ComfyUI-WanActivationEditor": { + "stars": 9, + "last_update": "2025-07-27 00:03:24", + "author_account_age_days": 3973 + }, + "https://github.com/fblissjr/ComfyUI-WanSeamlessFlow": { + "stars": 5, + "last_update": "2025-03-17 22:36:22", + "author_account_age_days": 3973 + }, + "https://github.com/fblissjr/shrug-prompter": { + "stars": 21, + "last_update": "2025-09-30 21:58:22", + "author_account_age_days": 3973 + }, + "https://github.com/fchangjun/Baidu_Meux_ComfyTools": { + "stars": 3, + "last_update": "2026-02-14 07:18:20", + "author_account_age_days": 4133 + }, + "https://github.com/fchangjun/Comfyui_MultiSaveImage": { + "stars": 3, + "last_update": "2026-02-14 07:18:20", + "author_account_age_days": 4133 }, "https://github.com/fearnworks/ComfyUI_FearnworksNodes": { "stars": 20, "last_update": "2024-08-05 01:50:04", - "author_account_age_days": 731 + "author_account_age_days": 1171 + }, + "https://github.com/febogallo/ComfyUI-Freepik": { + "stars": 0, + "last_update": "2026-02-09 09:54:42", + "author_account_age_days": 284 + }, + "https://github.com/feffy380/comfyui-chroma-cache": { + "stars": 17, + "last_update": "2025-08-15 12:29:59", + "author_account_age_days": 1239 + }, + "https://github.com/feixuetuba/Spleeter": { + "stars": 0, + "last_update": "2025-01-19 10:39:17", + "author_account_age_days": 4572 + }, + "https://github.com/felixszeto/ComfyUI-RequestNodes": { + "stars": 107, + "last_update": "2025-08-25 05:11:01", + "author_account_age_days": 1658 }, "https://github.com/fexli/fexli-util-node-comfyui": { "stars": 3, - "last_update": "2024-05-22 21:27:36", - "author_account_age_days": 1729 + "last_update": "2025-06-18 06:07:31", + "author_account_age_days": 2168 }, "https://github.com/fexploit/ComfyUI-AutoLabel": { - "stars": 5, - "last_update": "2024-06-14 08:09:41", - "author_account_age_days": 5214 + "stars": 10, + "last_update": "2025-03-18 13:07:46", + "author_account_age_days": 5653 }, "https://github.com/fexploit/ComfyUI-AutoTrimBG": { - "stars": 3, - "last_update": "2024-05-24 20:38:15", - "author_account_age_days": 5214 + "stars": 6, + "last_update": "2025-03-10 12:59:42", + "author_account_age_days": 5653 }, "https://github.com/fexploit/ComfyUI-Classifier": { "stars": 1, - "last_update": "2024-06-14 16:58:31", - "author_account_age_days": 5214 + "last_update": "2025-03-10 20:33:42", + "author_account_age_days": 5653 + }, + "https://github.com/fidecastro/comfyui-llamacpp-client": { + "stars": 3, + "last_update": "2025-08-05 06:09:32", + "author_account_age_days": 3603 }, "https://github.com/filipemeneses/comfy_pixelization": { - "stars": 39, - "last_update": "2024-05-22 20:59:16", - "author_account_age_days": 3646 + "stars": 85, + "last_update": "2026-02-14 10:39:17", + "author_account_age_days": 4085 + }, + "https://github.com/filliptm/ComfyUI-FL-DiffVSR": { + "stars": 20, + "last_update": "2026-01-24 02:15:14", + "author_account_age_days": 2345 + }, + "https://github.com/filliptm/ComfyUI_FL-ClearVoice": { + "stars": 17, + "last_update": "2026-01-13 06:40:05", + "author_account_age_days": 2345 + }, + "https://github.com/filliptm/ComfyUI_FL-CosyVoice3": { + "stars": 103, + "last_update": "2026-01-24 14:44:11", + "author_account_age_days": 2345 + }, + "https://github.com/filliptm/ComfyUI_FL-Path-Animator": { + "stars": 7, + "last_update": "2025-11-05 04:44:02", + "author_account_age_days": 2345 + }, + "https://github.com/filliptm/ComfyUI_FL-SongGen": { + "stars": 59, + "last_update": "2026-01-24 10:37:52", + "author_account_age_days": 2345 }, "https://github.com/filliptm/ComfyUI_FL-Trainer": { - "stars": 143, + "stars": 173, "last_update": "2024-10-18 00:20:18", - "author_account_age_days": 1906 + "author_account_age_days": 2345 + }, + "https://github.com/filliptm/ComfyUI_Fill-ChatterBox": { + "stars": 217, + "last_update": "2026-01-24 02:15:17", + "author_account_age_days": 2345 }, "https://github.com/filliptm/ComfyUI_Fill-Nodes": { - "stars": 319, - "last_update": "2024-12-03 09:52:37", - "author_account_age_days": 1906 + "stars": 565, + "last_update": "2026-02-18 02:58:17", + "author_account_age_days": 2345 + }, + "https://github.com/finegrain-ai/comfyui-finegrain": { + "stars": 13, + "last_update": "2025-09-17 16:39:03", + "author_account_age_days": 1112 + }, + "https://github.com/fkxianzhou/ComfyUI-Jimeng-API": { + "stars": 20, + "last_update": "2026-02-13 07:14:23", + "author_account_age_days": 2328 + }, + "https://github.com/flamacore/ComfyUI-YouTubeUploader": { + "stars": 5, + "last_update": "2025-06-14 22:11:33", + "author_account_age_days": 3918 }, "https://github.com/florestefano1975/ComfyUI-Advanced-Sequence-Seed": { "stars": 2, - "last_update": "2024-09-23 06:07:49", - "author_account_age_days": 363 + "last_update": "2025-04-09 12:40:05", + "author_account_age_days": 803 }, "https://github.com/florestefano1975/ComfyUI-CogVideoX": { - "stars": 12, - "last_update": "2024-10-23 09:10:03", - "author_account_age_days": 363 + "stars": 15, + "last_update": "2025-04-09 12:39:53", + "author_account_age_days": 803 }, "https://github.com/florestefano1975/ComfyUI-HiDiffusion": { - "stars": 141, - "last_update": "2024-05-22 00:33:06", - "author_account_age_days": 363 + "stars": 140, + "last_update": "2025-04-09 12:40:58", + "author_account_age_days": 803 }, "https://github.com/florestefano1975/ComfyUI-StabilityAI-Suite": { - "stars": 4, - "last_update": "2024-07-10 18:03:39", - "author_account_age_days": 363 + "stars": 5, + "last_update": "2025-04-09 12:40:36", + "author_account_age_days": 803 }, "https://github.com/florestefano1975/comfyui-portrait-master": { - "stars": 934, - "last_update": "2024-11-19 12:32:15", - "author_account_age_days": 363 + "stars": 1184, + "last_update": "2026-02-09 08:25:52", + "author_account_age_days": 803 }, "https://github.com/florestefano1975/comfyui-prompt-composer": { - "stars": 243, - "last_update": "2024-10-03 14:30:34", - "author_account_age_days": 363 + "stars": 300, + "last_update": "2026-01-31 10:14:05", + "author_account_age_days": 803 + }, + "https://github.com/flowers6421/ComfyUI-SimpleTunerFlux2": { + "stars": 0, + "last_update": "2025-12-16 21:09:59", + "author_account_age_days": 373 }, "https://github.com/flowtyone/ComfyUI-Flowty-CRM": { - "stars": 145, + "stars": 156, "last_update": "2024-06-14 10:23:09", - "author_account_age_days": 443 + "author_account_age_days": 883 }, "https://github.com/flowtyone/ComfyUI-Flowty-LDSR": { - "stars": 211, + "stars": 269, "last_update": "2024-06-14 09:04:51", - "author_account_age_days": 443 + "author_account_age_days": 883 }, "https://github.com/flowtyone/ComfyUI-Flowty-TripoSR": { - "stars": 452, + "stars": 536, "last_update": "2024-06-16 00:53:22", - "author_account_age_days": 443 + "author_account_age_days": 883 + }, + "https://github.com/fluffydiveX/ComfyUI-hvBlockswap": { + "stars": 9, + "last_update": "2025-03-30 03:30:40", + "author_account_age_days": 442 + }, + "https://github.com/flybirdxx/ComfyUI-Prompt_Helper": { + "stars": 24, + "last_update": "2025-12-31 11:16:15", + "author_account_age_days": 3256 + }, + "https://github.com/flybirdxx/ComfyUI-RexOmni": { + "stars": 9, + "last_update": "2025-10-23 07:12:56", + "author_account_age_days": 3256 + }, + "https://github.com/flybirdxx/ComfyUI-SDMatte": { + "stars": 162, + "last_update": "2026-01-19 09:10:54", + "author_account_age_days": 3256 + }, + "https://github.com/flybirdxx/ComfyUI-SoulX-Podcast": { + "stars": 88, + "last_update": "2025-10-31 13:16:53", + "author_account_age_days": 3256 }, "https://github.com/flycarl/ComfyUI-Pixelate": { - "stars": 1, + "stars": 3, "last_update": "2024-11-26 13:31:56", - "author_account_age_days": 5030 + "author_account_age_days": 5469 }, "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": { "stars": 8, - "last_update": "2024-05-22 18:07:19", - "author_account_age_days": 3665 + "last_update": "2025-05-23 17:29:13", + "author_account_age_days": 4104 + }, + "https://github.com/fmartinellidev/ComfyUI-Prompt_util_pack": { + "stars": 0, + "last_update": "2026-01-07 21:32:50", + "author_account_age_days": 1152 }, "https://github.com/fmatray/ComfyUI_BattlemapGrid": { "stars": 0, "last_update": "2024-06-05 22:35:06", - "author_account_age_days": 3792 + "author_account_age_days": 4231 }, "https://github.com/fofr/ComfyUI-HyperSDXL1StepUnetScheduler": { - "stars": 12, + "stars": 11, "last_update": "2024-06-20 11:51:50", - "author_account_age_days": 5277 + "author_account_age_days": 5717 }, "https://github.com/fofr/ComfyUI-Prompter-fofrAI": { - "stars": 60, - "last_update": "2024-08-09 11:37:00", - "author_account_age_days": 5277 + "stars": 79, + "last_update": "2025-02-10 16:39:49", + "author_account_age_days": 5717 + }, + "https://github.com/fofr/comfyui-basic-auth": { + "stars": 3, + "last_update": "2025-03-17 09:38:05", + "author_account_age_days": 5717 }, "https://github.com/fofr/comfyui-fofr-toolkit": { - "stars": 5, + "stars": 6, "last_update": "2024-08-09 11:36:38", - "author_account_age_days": 5277 + "author_account_age_days": 5717 }, "https://github.com/forever22777/comfyui-self-guidance": { - "stars": 8, - "last_update": "2024-08-15 10:49:29", - "author_account_age_days": 495 + "stars": 10, + "last_update": "2025-04-17 08:13:40", + "author_account_age_days": 934 + }, + "https://github.com/fotobudka-team/comfyui-ai-faces": { + "stars": 2, + "last_update": "2025-06-25 19:54:59", + "author_account_age_days": 465 }, "https://github.com/foxtrot-roger/comfyui-rf-nodes": { "stars": 2, "last_update": "2024-08-13 22:01:40", - "author_account_age_days": 2490 + "author_account_age_days": 2930 + }, + "https://github.com/fpgaminer/joycaption_comfyui": { + "stars": 114, + "last_update": "2025-05-15 23:30:13", + "author_account_age_days": 5079 + }, + "https://github.com/fplu/comfyui_lama_with_refiner": { + "stars": 1, + "last_update": "2025-06-22 16:38:15", + "author_account_age_days": 2693 + }, + "https://github.com/fr0nky0ng/ComfyUI-Face-Comparator": { + "stars": 16, + "last_update": "2025-09-15 13:41:36", + "author_account_age_days": 3877 + }, + "https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt": { + "stars": 3, + "last_update": "2025-11-28 14:51:10", + "author_account_age_days": 3877 + }, + "https://github.com/fr0nky0ng/ComfyUI-frankAI-banana": { + "stars": 2, + "last_update": "2025-09-18 09:11:07", + "author_account_age_days": 3877 + }, + "https://github.com/francarl/ComfyUI-OnDemand-Loaders": { + "stars": 3, + "last_update": "2025-12-20 18:01:33", + "author_account_age_days": 5158 + }, + "https://github.com/franciscotorrado/ComfyUI-Automation": { + "stars": 0, + "last_update": "2026-02-04 20:53:31", + "author_account_age_days": 3979 }, "https://github.com/frankchieng/ComfyUI_Aniportrait": { - "stars": 54, + "stars": 56, "last_update": "2024-09-13 10:41:16", - "author_account_age_days": 611 + "author_account_age_days": 1050 }, "https://github.com/frankchieng/ComfyUI_MagicClothing": { - "stars": 529, + "stars": 598, "last_update": "2024-09-04 04:57:15", - "author_account_age_days": 611 + "author_account_age_days": 1050 }, "https://github.com/frankchieng/ComfyUI_llm_easyanimiate": { - "stars": 12, + "stars": 13, "last_update": "2024-06-26 03:13:32", - "author_account_age_days": 611 + "author_account_age_days": 1050 + }, + "https://github.com/frankluise5220/ComfyUI-Lorahelper": { + "stars": 9, + "last_update": "2026-02-15 09:01:10", + "author_account_age_days": 44 + }, + "https://github.com/fredhopp/comfyui-flipflopnodes": { + "stars": 0, + "last_update": "2025-09-02 04:42:06", + "author_account_age_days": 2044 + }, + "https://github.com/fredlef/Comfyui_FSL_Nodes": { + "stars": 11, + "last_update": "2025-12-06 01:29:05", + "author_account_age_days": 2798 }, "https://github.com/freelifehacker/ComfyUI-ImgMask2PNG": { - "stars": 1, + "stars": 0, "last_update": "2024-08-28 08:32:23", - "author_account_age_days": 2328 + "author_account_age_days": 2767 }, "https://github.com/fsdymy1024/ComfyUI_fsdymy": { - "stars": 9, + "stars": 10, "last_update": "2024-07-01 17:58:52", - "author_account_age_days": 2376 + "author_account_age_days": 2815 }, "https://github.com/fssorc/ComfyUI_FFT": { - "stars": 8, + "stars": 14, "last_update": "2024-09-30 01:27:21", - "author_account_age_days": 4757 + "author_account_age_days": 5196 }, "https://github.com/fssorc/ComfyUI_FaceShaper": { - "stars": 103, + "stars": 187, "last_update": "2024-09-20 06:15:46", - "author_account_age_days": 4757 + "author_account_age_days": 5196 + }, + "https://github.com/fssorc/ComfyUI_RopeWrapper": { + "stars": 23, + "last_update": "2025-01-07 04:55:59", + "author_account_age_days": 5196 }, "https://github.com/fssorc/ComfyUI_pose_inter": { - "stars": 56, - "last_update": "2024-08-28 07:25:07", - "author_account_age_days": 4757 + "stars": 90, + "last_update": "2025-05-27 07:05:00", + "author_account_age_days": 5196 + }, + "https://github.com/fudosanit/ComfyUI-Random-Resolution": { + "stars": 0, + "last_update": "2025-12-10 06:57:24", + "author_account_age_days": 113 + }, + "https://github.com/fuselayer/comfyui-lite-tracker": { + "stars": 0, + "last_update": "2025-11-17 09:53:32", + "author_account_age_days": 887 + }, + "https://github.com/fuselayer/comfyui-minimal-workflow-image": { + "stars": 2, + "last_update": "2025-11-09 06:16:48", + "author_account_age_days": 887 + }, + "https://github.com/fuselayer/comfyui-mosaic-blur": { + "stars": 1, + "last_update": "2025-04-05 00:57:07", + "author_account_age_days": 886 + }, + "https://github.com/fuselayer/comfyui-noise-match": { + "stars": 0, + "last_update": "2025-11-10 06:37:09", + "author_account_age_days": 887 + }, + "https://github.com/fuyouawa/comfyui-easytoolkit": { + "stars": 0, + "last_update": "2025-11-26 04:25:12", + "author_account_age_days": 1177 + }, + "https://github.com/g0kuvonlange/ComfyUI-Load-From-URL": { + "stars": 1, + "last_update": "2025-08-05 10:16:15", + "author_account_age_days": 978 + }, + "https://github.com/g7b2/ComfyUI-Artist-Tester": { + "stars": 0, + "last_update": "2025-12-20 06:53:21", + "author_account_age_days": 622 + }, + "https://github.com/g7b2/ComfyUI-MultiCheckpoint-Tester": { + "stars": 0, + "last_update": "2025-12-27 02:57:11", + "author_account_age_days": 622 + }, + "https://github.com/gabe-init/ComfyUI-11labs": { + "stars": 6, + "last_update": "2025-05-27 00:27:28", + "author_account_age_days": 274 + }, + "https://github.com/gabe-init/ComfyUI-Google-Image-Search": { + "stars": 4, + "last_update": "2025-05-27 00:54:00", + "author_account_age_days": 274 + }, + "https://github.com/gabe-init/ComfyUI-Openrouter_node": { + "stars": 40, + "last_update": "2025-09-06 18:35:08", + "author_account_age_days": 274 + }, + "https://github.com/gabe-init/ComfyUI-String-Similarity": { + "stars": 1, + "last_update": "2025-05-27 00:59:21", + "author_account_age_days": 274 + }, + "https://github.com/game4d/ComfyUI-BDsInfiniteYou": { + "stars": 7, + "last_update": "2025-04-01 03:12:04", + "author_account_age_days": 4313 + }, + "https://github.com/garg-aayush/ComfyUI-Svg2Raster": { + "stars": 0, + "last_update": "2025-09-10 10:09:14", + "author_account_age_days": 3657 + }, + "https://github.com/gasdyueer/comfyui-yolo-mask-process": { + "stars": 0, + "last_update": "2025-09-27 02:57:46", + "author_account_age_days": 662 + }, + "https://github.com/gasparuff/CustomSelector": { + "stars": 1, + "last_update": "2025-05-09 06:17:31", + "author_account_age_days": 4603 + }, + "https://github.com/gateway/ComfyUI-Kie-API": { + "stars": 15, + "last_update": "2026-02-11 16:07:58", + "author_account_age_days": 5552 }, "https://github.com/gelasdev/ComfyUI-FLUX-BFL-API": { - "stars": 22, - "last_update": "2024-11-27 16:23:47", - "author_account_age_days": 2151 + "stars": 47, + "last_update": "2026-02-21 22:25:08", + "author_account_age_days": 2590 }, "https://github.com/gemell1/ComfyUI_GMIC": { - "stars": 8, + "stars": 9, "last_update": "2024-05-22 21:28:51", - "author_account_age_days": 2127 + "author_account_age_days": 2566 + }, + "https://github.com/gen1nya/ComfyUI-Remote-Upscale": { + "stars": 0, + "last_update": "2026-01-15 06:39:00", + "author_account_age_days": 3405 }, "https://github.com/geocine/geocine-comfyui": { + "stars": 0, + "last_update": "2025-03-08 15:46:56", + "author_account_age_days": 5561 + }, + "https://github.com/georgitsenov/ComfyUI-R2": { "stars": 1, - "last_update": "2024-10-02 18:12:09", - "author_account_age_days": 5122 + "last_update": "2025-07-03 11:51:13", + "author_account_age_days": 4157 + }, + "https://github.com/geroldmeisinger/ComfyUI-outputlists-combiner": { + "stars": 134, + "last_update": "2026-01-30 16:29:24", + "author_account_age_days": 1276 }, "https://github.com/ggarra13/ComfyUI-mrv2": { - "stars": 3, - "last_update": "2024-11-04 10:52:05", - "author_account_age_days": 4029 - }, - "https://github.com/ginlov/segment_to_mask_comfyui": { - "stars": 2, - "last_update": "2024-06-14 10:23:23", - "author_account_age_days": 2181 + "stars": 5, + "last_update": "2025-03-27 17:24:38", + "author_account_age_days": 4468 }, "https://github.com/giriss/comfy-image-saver": { - "stars": 203, + "stars": 333, "last_update": "2024-05-22 20:40:55", - "author_account_age_days": 4408 + "author_account_age_days": 4847 }, "https://github.com/gisu/comfyui-foxpack": { - "stars": 3, + "stars": 2, "last_update": "2024-08-20 06:43:22", - "author_account_age_days": 5169 + "author_account_age_days": 5608 + }, + "https://github.com/gitadmini/comfyui_extractstoryboards": { + "stars": 84, + "last_update": "2025-12-04 07:06:50", + "author_account_age_days": 3651 + }, + "https://github.com/gitcapoom/comfyui_fovestimator": { + "stars": 1, + "last_update": "2025-11-06 17:12:20", + "author_account_age_days": 328 }, "https://github.com/githubYiheng/ComfyUI_Change_IMAGE_BOREDER": { "stars": 0, "last_update": "2024-05-23 01:20:09", - "author_account_age_days": 4073 + "author_account_age_days": 4512 }, "https://github.com/githubYiheng/ComfyUI_GetFileNameFromURL": { - "stars": 0, + "stars": 1, "last_update": "2024-05-23 01:19:47", - "author_account_age_days": 4073 + "author_account_age_days": 4512 }, "https://github.com/githubYiheng/comfyui_kmeans_filter": { "stars": 0, "last_update": "2024-06-14 09:01:24", - "author_account_age_days": 4073 + "author_account_age_days": 4512 }, "https://github.com/githubYiheng/comfyui_meanshift_filter": { "stars": 0, "last_update": "2024-06-14 10:59:43", - "author_account_age_days": 4073 + "author_account_age_days": 4512 }, "https://github.com/githubYiheng/comfyui_private_postprocessor": { "stars": 1, "last_update": "2024-06-14 08:09:39", - "author_account_age_days": 4073 + "author_account_age_days": 4512 + }, + "https://github.com/gitmylo/ComfyUI-audio-nodes": { + "stars": 12, + "last_update": "2025-04-07 07:24:06", + "author_account_age_days": 2917 }, "https://github.com/glibsonoran/Plush-for-ComfyUI": { - "stars": 155, - "last_update": "2024-12-06 23:37:40", - "author_account_age_days": 2667 + "stars": 194, + "last_update": "2025-07-10 14:15:13", + "author_account_age_days": 3107 }, "https://github.com/glifxyz/ComfyUI-GlifNodes": { - "stars": 42, - "last_update": "2024-11-25 12:37:14", - "author_account_age_days": 743 + "stars": 63, + "last_update": "2025-08-18 08:00:38", + "author_account_age_days": 1183 + }, + "https://github.com/glitchinthemetrix16/ComfyUI-Roop": { + "stars": 0, + "last_update": "2025-07-10 14:51:00", + "author_account_age_days": 580 }, "https://github.com/glowcone/comfyui-base64-to-image": { - "stars": 12, + "stars": 19, "last_update": "2024-07-08 22:53:25", - "author_account_age_days": 3915 + "author_account_age_days": 4355 }, "https://github.com/glowcone/comfyui-string-converter": { "stars": 2, "last_update": "2024-07-31 13:40:48", - "author_account_age_days": 3915 + "author_account_age_days": 4355 + }, + "https://github.com/gmorks/ComfyUI-Animagine-Prompt": { + "stars": 15, + "last_update": "2025-07-20 03:42:06", + "author_account_age_days": 2904 + }, + "https://github.com/gmorks/ComfyUI-SendToDiscord": { + "stars": 0, + "last_update": "2025-07-14 03:00:24", + "author_account_age_days": 2904 + }, + "https://github.com/gmorks/ComfyUI-WatchPoint": { + "stars": 1, + "last_update": "2026-01-30 06:54:01", + "author_account_age_days": 2904 }, "https://github.com/goburiin/nsfwrecog-comfyui": { - "stars": 1, + "stars": 0, "last_update": "2024-08-14 02:17:15", - "author_account_age_days": 123 + "author_account_age_days": 563 + }, + "https://github.com/godmt/ComfyUI-IP-Composer": { + "stars": 5, + "last_update": "2025-05-18 09:52:01", + "author_account_age_days": 2339 }, "https://github.com/godmt/ComfyUI-List-Utils": { - "stars": 6, - "last_update": "2024-11-13 14:48:56", - "author_account_age_days": 1899 + "stars": 14, + "last_update": "2025-05-26 21:41:06", + "author_account_age_days": 2339 }, "https://github.com/godspede/ComfyUI_Substring": { - "stars": 1, - "last_update": "2024-09-24 17:18:16", - "author_account_age_days": 3283 + "stars": 0, + "last_update": "2025-03-27 15:33:12", + "author_account_age_days": 3722 }, "https://github.com/gokayfem/ComfyUI-Depth-Visualization": { - "stars": 58, - "last_update": "2024-10-31 23:50:57", - "author_account_age_days": 1227 + "stars": 67, + "last_update": "2026-01-11 19:04:11", + "author_account_age_days": 1667 }, "https://github.com/gokayfem/ComfyUI-Dream-Interpreter": { - "stars": 76, - "last_update": "2024-07-31 16:11:04", - "author_account_age_days": 1227 + "stars": 81, + "last_update": "2026-01-11 19:05:03", + "author_account_age_days": 1667 }, "https://github.com/gokayfem/ComfyUI-Texture-Simple": { - "stars": 43, - "last_update": "2024-07-31 16:14:23", - "author_account_age_days": 1227 + "stars": 53, + "last_update": "2026-01-11 19:05:47", + "author_account_age_days": 1667 + }, + "https://github.com/gokayfem/ComfyUI-fal-API": { + "stars": 177, + "last_update": "2025-12-19 19:54:54", + "author_account_age_days": 1667 }, "https://github.com/gokayfem/ComfyUI_VLM_nodes": { - "stars": 426, - "last_update": "2024-11-06 15:53:28", - "author_account_age_days": 1227 + "stars": 557, + "last_update": "2026-01-11 19:03:21", + "author_account_age_days": 1667 + }, + "https://github.com/goldwins520/Comfyui_saveimg2webdav": { + "stars": 1, + "last_update": "2025-05-25 06:15:38", + "author_account_age_days": 2185 }, "https://github.com/gonzalu/ComfyUI_YFG_Comical": { - "stars": 24, - "last_update": "2024-07-31 15:02:48", - "author_account_age_days": 2631 + "stars": 25, + "last_update": "2025-12-31 01:27:36", + "author_account_age_days": 3070 }, "https://github.com/googincheng/ComfyUX": { - "stars": 149, + "stars": 150, "last_update": "2024-08-22 09:47:17", - "author_account_age_days": 2959 + "author_account_age_days": 3398 }, "https://github.com/gorillaframeai/GF_nodes": { - "stars": 19, - "last_update": "2024-11-21 17:50:46", - "author_account_age_days": 403 + "stars": 38, + "last_update": "2025-04-19 15:49:54", + "author_account_age_days": 842 + }, + "https://github.com/gorillaframeai/GF_translate": { + "stars": 7, + "last_update": "2025-02-04 19:26:53", + "author_account_age_days": 842 + }, + "https://github.com/gpdev-Pilcothink/comfyui_pilcothink_VisionSLM": { + "stars": 1, + "last_update": "2026-02-18 02:34:57", + "author_account_age_days": 1117 + }, + "https://github.com/greengerong/ComfyUI-JanusPro-PL": { + "stars": 11, + "last_update": "2025-02-08 03:32:59", + "author_account_age_days": 4878 + }, + "https://github.com/gregory-richard/ComfyUI-WarpPipe": { + "stars": 1, + "last_update": "2026-02-15 21:36:14", + "author_account_age_days": 2712 + }, + "https://github.com/gremlation/ComfyUI-ImageLabel": { + "stars": 5, + "last_update": "2025-04-03 09:49:57", + "author_account_age_days": 432 + }, + "https://github.com/gremlation/ComfyUI-JMESPath": { + "stars": 2, + "last_update": "2025-04-03 09:50:11", + "author_account_age_days": 432 + }, + "https://github.com/gremlation/ComfyUI-TrackAndWheel": { + "stars": 2, + "last_update": "2025-04-03 09:50:20", + "author_account_age_days": 432 + }, + "https://github.com/gremlation/ComfyUI-ViewData": { + "stars": 2, + "last_update": "2025-04-03 09:50:28", + "author_account_age_days": 432 + }, + "https://github.com/gremlation/ComfyUI-jq": { + "stars": 1, + "last_update": "2025-04-03 09:50:39", + "author_account_age_days": 432 }, "https://github.com/griptape-ai/ComfyUI-Griptape": { - "stars": 129, - "last_update": "2024-12-10 19:27:23", - "author_account_age_days": 690 + "stars": 229, + "last_update": "2025-08-02 05:07:54", + "author_account_age_days": 1130 + }, + "https://github.com/grmchn/ComfyUI-ProportionChanger": { + "stars": 81, + "last_update": "2025-12-13 06:58:50", + "author_account_age_days": 268 + }, + "https://github.com/grovergol/comfyui-grover-nodes": { + "stars": 0, + "last_update": "2025-09-02 11:18:16", + "author_account_age_days": 2709 }, "https://github.com/gseth/ControlAltAI-Nodes": { - "stars": 54, - "last_update": "2024-12-10 23:38:09", - "author_account_age_days": 4016 + "stars": 189, + "last_update": "2025-06-05 04:21:56", + "author_account_age_days": 4455 + }, + "https://github.com/gsusgg/ComfyUI_CozyGen": { + "stars": 22, + "last_update": "2025-10-17 22:36:41", + "author_account_age_days": 1228 }, "https://github.com/gt732/ComfyUI-DreamWaltz-G": { "stars": 3, "last_update": "2024-10-27 03:15:13", - "author_account_age_days": 1325 + "author_account_age_days": 1764 + }, + "https://github.com/guerreiro/comfyg-switch": { + "stars": 5, + "last_update": "2025-08-28 22:13:10", + "author_account_age_days": 5650 }, "https://github.com/guill/abracadabra-comfyui": { "stars": 1, - "last_update": "2024-06-14 08:12:07", - "author_account_age_days": 4363 + "last_update": "2024-12-23 09:46:10", + "author_account_age_days": 4802 + }, + "https://github.com/guill/comfyui-droopy-noodles": { + "stars": 15, + "last_update": "2025-07-26 05:48:32", + "author_account_age_days": 4802 + }, + "https://github.com/guill/comfyui-stegaflow": { + "stars": 0, + "last_update": "2025-09-30 06:39:36", + "author_account_age_days": 4802 }, "https://github.com/guyaton/guy-nodes-comfyui": { - "stars": 1, + "stars": 0, "last_update": "2024-10-02 13:15:26", - "author_account_age_days": 72 + "author_account_age_days": 511 + }, + "https://github.com/guyouyue/ComfyUI_VideoAutoSplit": { + "stars": 0, + "last_update": "2025-10-20 16:08:40", + "author_account_age_days": 1051 + }, + "https://github.com/gvfarns/comfyui_gvf": { + "stars": 0, + "last_update": "2025-12-03 19:53:27", + "author_account_age_days": 4716 + }, + "https://github.com/hackafterdark/ComfyUI-HackAfterDark-Nodes": { + "stars": 1, + "last_update": "2025-12-14 01:34:47", + "author_account_age_days": 827 }, "https://github.com/hackkhai/ComfyUI-Image-Matting": { - "stars": 15, + "stars": 18, "last_update": "2024-07-31 15:02:56", - "author_account_age_days": 2021 + "author_account_age_days": 2460 + }, + "https://github.com/hal-xp/halxp-comfy": { + "stars": 3, + "last_update": "2026-01-22 16:33:10", + "author_account_age_days": 3135 + }, + "https://github.com/hanL34/ComfyUI-Power-Artist-Loader": { + "stars": 11, + "last_update": "2025-11-04 08:57:24", + "author_account_age_days": 1083 }, "https://github.com/hanoixan/ComfyUI-DataBeast": { "stars": 2, "last_update": "2024-11-05 17:47:30", - "author_account_age_days": 5007 + "author_account_age_days": 5446 + }, + "https://github.com/hao-ai-lab/FastVideo": { + "stars": 3099, + "last_update": "2026-02-23 22:47:49", + "author_account_age_days": 851 }, "https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": { "stars": 0, "last_update": "2024-07-28 21:08:27", - "author_account_age_days": 275 + "author_account_age_days": 714 }, - "https://github.com/hay86/ComfyUI_AceNodes": { - "stars": 16, - "last_update": "2024-09-09 06:32:49", - "author_account_age_days": 4837 + "https://github.com/hardik-uppal/ComfyUI-QwenVL-MultiImage": { + "stars": 3, + "last_update": "2025-10-30 23:34:18", + "author_account_age_days": 3863 + }, + "https://github.com/harishcmgit/comfyui_ds": { + "stars": 0, + "last_update": "2026-01-31 11:17:49", + "author_account_age_days": 376 + }, + "https://github.com/hassan-sd/comfyui-image-prompt-loader": { + "stars": 3, + "last_update": "2025-06-11 21:10:47", + "author_account_age_days": 1179 + }, + "https://github.com/havvk/ComfyUI_AIIA": { + "stars": 9, + "last_update": "2026-02-23 15:56:01", + "author_account_age_days": 4247 }, "https://github.com/hay86/ComfyUI_DDColor": { "stars": 7, "last_update": "2024-06-14 08:12:13", - "author_account_age_days": 4837 + "author_account_age_days": 5276 }, "https://github.com/hay86/ComfyUI_Dreamtalk": { - "stars": 11, + "stars": 12, "last_update": "2024-08-15 03:37:37", - "author_account_age_days": 4837 + "author_account_age_days": 5276 }, "https://github.com/hay86/ComfyUI_Hallo": { - "stars": 20, + "stars": 21, "last_update": "2024-07-30 09:55:03", - "author_account_age_days": 4837 + "author_account_age_days": 5276 + }, + "https://github.com/hay86/ComfyUI_LatentSync": { + "stars": 17, + "last_update": "2025-01-06 07:47:40", + "author_account_age_days": 5276 }, "https://github.com/hay86/ComfyUI_MiniCPM-V": { - "stars": 37, + "stars": 42, "last_update": "2024-08-09 07:52:59", - "author_account_age_days": 4837 + "author_account_age_days": 5276 }, "https://github.com/hay86/ComfyUI_OpenVoice": { - "stars": 13, + "stars": 20, "last_update": "2024-07-02 08:16:20", - "author_account_age_days": 4837 + "author_account_age_days": 5276 }, - "https://github.com/hayden-fr/ComfyUI-Image-Browsing": { - "stars": 11, - "last_update": "2024-11-12 09:17:03", - "author_account_age_days": 2107 + "https://github.com/hayd-zju/ICEdit-ComfyUI-official": { + "stars": 205, + "last_update": "2025-07-11 01:56:09", + "author_account_age_days": 2526 + }, + "https://github.com/hayde0096/Comfyui-EasySettingpipes": { + "stars": 2, + "last_update": "2026-01-11 16:34:55", + "author_account_age_days": 3336 }, "https://github.com/hayden-fr/ComfyUI-Model-Manager": { - "stars": 72, - "last_update": "2024-12-08 07:43:37", - "author_account_age_days": 2107 + "stars": 183, + "last_update": "2025-09-24 07:18:26", + "author_account_age_days": 2546 }, "https://github.com/hben35096/ComfyUI-ReplenishNodes": { - "stars": 3, - "last_update": "2024-11-03 20:04:38", - "author_account_age_days": 517 - }, - "https://github.com/hben35096/ComfyUI-ToolBox": { "stars": 6, - "last_update": "2024-09-02 14:49:43", - "author_account_age_days": 517 + "last_update": "2025-08-09 15:07:29", + "author_account_age_days": 957 + }, + "https://github.com/heheok/comfyui_wan2.1_vace_infinite_helpers": { + "stars": 2, + "last_update": "2025-07-01 16:10:19", + "author_account_age_days": 4540 + }, + "https://github.com/hekmon/comfyui-checkpoint-extract": { + "stars": 1, + "last_update": "2025-03-31 13:30:54", + "author_account_age_days": 4773 + }, + "https://github.com/hekmon/comfyui-openai-api": { + "stars": 28, + "last_update": "2025-11-26 08:45:23", + "author_account_age_days": 4773 }, "https://github.com/heshengtao/comfyui_LLM_party": { - "stars": 1100, - "last_update": "2024-12-08 06:15:53", - "author_account_age_days": 3065 + "stars": 2106, + "last_update": "2025-09-08 02:51:40", + "author_account_age_days": 3504 }, "https://github.com/heshengtao/comfyui_LLM_schools": { - "stars": 8, + "stars": 7, "last_update": "2024-08-24 15:08:14", - "author_account_age_days": 3065 + "author_account_age_days": 3504 + }, + "https://github.com/hetima/ComfyUI-SingleLinePicker": { + "stars": 5, + "last_update": "2026-02-17 12:00:47", + "author_account_age_days": 6314 + }, + "https://github.com/hexxacubic/ComfyUI-Prompt_Library": { + "stars": 7, + "last_update": "2025-10-12 02:28:44", + "author_account_age_days": 277 + }, + "https://github.com/heyburns/PortraitUtils": { + "stars": 1, + "last_update": "2025-10-27 02:00:26", + "author_account_age_days": 2833 + }, + "https://github.com/heyburns/image-chooser-classic": { + "stars": 8, + "last_update": "2025-12-21 18:43:00", + "author_account_age_days": 2833 + }, + "https://github.com/hgabha/WWAA-CustomNodes": { + "stars": 33, + "last_update": "2026-02-22 10:24:30", + "author_account_age_days": 764 }, "https://github.com/hhhzzyang/Comfyui_Lama": { - "stars": 46, + "stars": 55, "last_update": "2024-05-22 21:13:19", - "author_account_age_days": 677 + "author_account_age_days": 1116 + }, + "https://github.com/hiderminer/ComfyUI-HM-Utilities": { + "stars": 0, + "last_update": "2025-07-28 15:24:35", + "author_account_age_days": 1125 + }, + "https://github.com/hieuck/ComfyUI-BiRefNet": { + "stars": 5, + "last_update": "2024-12-04 16:20:00", + "author_account_age_days": 3134 }, "https://github.com/hiforce/comfyui-hiforce-plugin": { - "stars": 4, + "stars": 11, "last_update": "2024-06-14 08:13:24", - "author_account_age_days": 1972 + "author_account_age_days": 2411 }, "https://github.com/hinablue/ComfyUI_3dPoseEditor": { - "stars": 164, + "stars": 235, "last_update": "2024-06-21 17:38:40", - "author_account_age_days": 5282 + "author_account_age_days": 5721 }, - "https://github.com/holchan/ComfyUI-ModelDownloader": { - "stars": 4, - "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1761 + "https://github.com/hmwl/ComfyUI-TaskMonitor": { + "stars": 9, + "last_update": "2025-05-25 15:41:14", + "author_account_age_days": 3223 + }, + "https://github.com/hmwl/ComfyUI_zip": { + "stars": 6, + "last_update": "2025-05-25 16:21:35", + "author_account_age_days": 3223 + }, + "https://github.com/hnmr293/ComfyUI-latent-ops": { + "stars": 2, + "last_update": "2025-04-16 08:04:59", + "author_account_age_days": 1164 + }, + "https://github.com/hnmr293/comfyui-savemem": { + "stars": 1, + "last_update": "2025-04-15 02:10:14", + "author_account_age_days": 1164 + }, + "https://github.com/hobinrude/ComfyUI_DWposeDeluxe": { + "stars": 6, + "last_update": "2025-12-21 16:08:04", + "author_account_age_days": 1565 + }, + "https://github.com/hodanajan/optimal-crop-resolution": { + "stars": 1, + "last_update": "2025-01-21 10:46:26", + "author_account_age_days": 2938 }, "https://github.com/hoveychen/ComfyUI-MusePose-Remaster": { - "stars": 3, + "stars": 7, "last_update": "2024-10-22 09:40:04", - "author_account_age_days": 4813 + "author_account_age_days": 5252 + }, + "https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm": { + "stars": 1, + "last_update": "2025-11-20 10:20:50", + "author_account_age_days": 3960 }, "https://github.com/huagetai/ComfyUI-Gaffer": { - "stars": 47, + "stars": 52, "last_update": "2024-06-19 00:58:38", - "author_account_age_days": 4802 + "author_account_age_days": 5241 }, "https://github.com/huagetai/ComfyUI_LightGradient": { "stars": 9, "last_update": "2024-05-23 01:21:27", - "author_account_age_days": 4802 + "author_account_age_days": 5241 }, "https://github.com/huanngzh/ComfyUI-MVAdapter": { - "stars": 121, - "last_update": "2024-12-10 01:59:30", - "author_account_age_days": 1408 + "stars": 460, + "last_update": "2025-06-26 07:01:15", + "author_account_age_days": 1847 + }, + "https://github.com/hubentu/ComfyUI-loras-loader": { + "stars": 3, + "last_update": "2025-09-04 17:15:58", + "author_account_age_days": 4113 + }, + "https://github.com/hubo502/ComfyUI-Env-Loader": { + "stars": 0, + "last_update": "2025-12-07 03:39:23", + "author_account_age_days": 4507 }, "https://github.com/huchenlei/ComfyUI-IC-Light-Native": { - "stars": 548, - "last_update": "2024-08-27 18:52:24", - "author_account_age_days": 3045 + "stars": 645, + "last_update": "2025-02-25 16:35:36", + "author_account_age_days": 3485 + }, + "https://github.com/huchenlei/ComfyUI-execution-glow": { + "stars": 7, + "last_update": "2025-12-18 21:57:51", + "author_account_age_days": 3485 }, "https://github.com/huchenlei/ComfyUI-layerdiffuse": { - "stars": 1513, - "last_update": "2024-08-27 19:32:57", - "author_account_age_days": 3045 + "stars": 1762, + "last_update": "2025-02-25 16:35:50", + "author_account_age_days": 3485 }, "https://github.com/huchenlei/ComfyUI-openpose-editor": { - "stars": 57, + "stars": 146, "last_update": "2024-07-31 13:44:16", - "author_account_age_days": 3045 + "author_account_age_days": 3485 }, "https://github.com/huchenlei/ComfyUI_DanTagGen": { - "stars": 59, + "stars": 80, "last_update": "2024-08-01 01:42:14", - "author_account_age_days": 3045 + "author_account_age_days": 3485 }, "https://github.com/huchenlei/ComfyUI_densediffusion": { - "stars": 118, - "last_update": "2024-07-27 18:33:35", - "author_account_age_days": 3045 + "stars": 154, + "last_update": "2025-02-25 16:34:32", + "author_account_age_days": 3485 }, "https://github.com/huchenlei/ComfyUI_omost": { - "stars": 424, - "last_update": "2024-08-04 18:51:27", - "author_account_age_days": 3045 + "stars": 446, + "last_update": "2025-02-25 16:35:18", + "author_account_age_days": 3485 + }, + "https://github.com/huchukato/ComfyUI-QwenVL-Mod": { + "stars": 17, + "last_update": "2026-02-23 11:15:10", + "author_account_age_days": 602 + }, + "https://github.com/huchukato/comfy-tagcomplete": { + "stars": 3, + "last_update": "2026-02-14 23:53:07", + "author_account_age_days": 602 }, "https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": { - "stars": 22, - "last_update": "2024-09-26 21:14:35", - "author_account_age_days": 5810 + "stars": 35, + "last_update": "2025-07-30 15:44:50", + "author_account_age_days": 6249 + }, + "https://github.com/hugobb/FastGAN-ComfyUI-Node": { + "stars": 1, + "last_update": "2025-11-17 22:24:25", + "author_account_age_days": 3445 + }, + "https://github.com/huihuihuiz/lora_downloader": { + "stars": 1, + "last_update": "2025-12-10 04:57:14", + "author_account_age_days": 2157 + }, + "https://github.com/huihuihuiz/plugin_downloader": { + "stars": 0, + "last_update": "2025-12-24 12:09:29", + "author_account_age_days": 2157 + }, + "https://github.com/huihuihuiz/unet_downloader": { + "stars": 0, + "last_update": "2025-12-24 12:09:21", + "author_account_age_days": 2157 + }, + "https://github.com/huihuihuiz/upscaler_downloader": { + "stars": 1, + "last_update": "2025-12-24 12:09:39", + "author_account_age_days": 2157 + }, + "https://github.com/huixingyun/ComfyUI-HX-Captioner": { + "stars": 0, + "last_update": "2025-01-25 06:48:18", + "author_account_age_days": 444 + }, + "https://github.com/hujuying/ComfyUI-ModelScope-API": { + "stars": 56, + "last_update": "2025-12-31 19:32:35", + "author_account_age_days": 1386 + }, + "https://github.com/hum-ma/ComfyUI-GPUCLIP": { + "stars": 0, + "last_update": "2026-02-06 09:28:49", + "author_account_age_days": 391 + }, + "https://github.com/hum-ma/ComfyUI-TiledVaeLite": { + "stars": 4, + "last_update": "2026-02-20 17:23:29", + "author_account_age_days": 391 }, "https://github.com/humgate/simplecomfy": { "stars": 0, "last_update": "2024-06-14 08:58:21", - "author_account_age_days": 1536 + "author_account_age_days": 1975 + }, + "https://github.com/hunzmusic/ComfyUI-IG2MV": { + "stars": 38, + "last_update": "2025-05-09 10:46:42", + "author_account_age_days": 337 }, "https://github.com/hustille/ComfyUI_Fooocus_KSampler": { - "stars": 60, + "stars": 66, "last_update": "2024-05-22 20:39:48", - "author_account_age_days": 610 + "author_account_age_days": 1049 }, "https://github.com/hustille/ComfyUI_hus_utils": { - "stars": 6, + "stars": 5, "last_update": "2024-05-22 20:39:34", - "author_account_age_days": 610 + "author_account_age_days": 1049 + }, + "https://github.com/huwenkai26/comfyui-remove-text": { + "stars": 0, + "last_update": "2025-08-28 07:03:52", + "author_account_age_days": 3636 + }, + "https://github.com/huygiatrng/Facefusion_comfyui": { + "stars": 57, + "last_update": "2025-11-30 22:08:41", + "author_account_age_days": 2071 + }, + "https://github.com/huyl3-cpu/ComfyUI-PyTorch210Patcher": { + "stars": 0, + "last_update": "2026-02-01 15:04:08", + "author_account_age_days": 2242 + }, + "https://github.com/huyl3-cpu/comfyui-sortlist": { + "stars": 0, + "last_update": "2026-02-23 22:47:29", + "author_account_age_days": 2242 + }, + "https://github.com/hvppycoding/comfyui-json-prompt-renderer": { + "stars": 0, + "last_update": "2025-08-26 15:49:55", + "author_account_age_days": 1215 + }, + "https://github.com/hvppycoding/comfyui-random-sampler-scheduler-steps": { + "stars": 0, + "last_update": "2025-06-04 15:41:16", + "author_account_age_days": 1215 + }, + "https://github.com/hw5511/comfyui_hf_upscaler_loader": { + "stars": 1, + "last_update": "2025-12-24 21:22:27", + "author_account_age_days": 1698 }, "https://github.com/hwhaocool/ComfyUI-Select-Any": { - "stars": 3, + "stars": 2, "last_update": "2024-07-31 13:52:47", - "author_account_age_days": 3058 + "author_account_age_days": 3497 }, - "https://github.com/hylarucoder/comfyui-copilot": { - "stars": 15, - "last_update": "2024-06-28 04:43:18", - "author_account_age_days": 4083 + "https://github.com/hybskgks28275/ComfyUI-hybs-nodes": { + "stars": 3, + "last_update": "2026-02-22 04:59:44", + "author_account_age_days": 1536 + }, + "https://github.com/hyukudan/comfyui-video-resolution": { + "stars": 0, + "last_update": "2026-01-23 20:57:19", + "author_account_age_days": 3567 }, "https://github.com/hyunamy/comfy-ui-on-complete-email-me": { - "stars": 2, - "last_update": "2024-07-01 18:44:18", - "author_account_age_days": 3280 + "stars": 5, + "last_update": "2025-04-10 01:38:49", + "author_account_age_days": 3719 + }, + "https://github.com/iDAPPA/ComfyUI-AMDGPUMonitor": { + "stars": 8, + "last_update": "2025-03-13 18:16:21", + "author_account_age_days": 349 }, "https://github.com/iFREEGROUP/comfyui-undistort": { "stars": 2, "last_update": "2024-06-14 08:59:52", - "author_account_age_days": 1727 + "author_account_age_days": 2166 + }, + "https://github.com/iGavroche/ComfyUI-Ninode-Utils": { + "stars": 1, + "last_update": "2025-10-06 15:37:39", + "author_account_age_days": 1546 + }, + "https://github.com/iGavroche/rocm-ninodes": { + "stars": 26, + "last_update": "2026-01-14 16:07:18", + "author_account_age_days": 1546 + }, + "https://github.com/iSuneast/ComfyUI-WebhookNotifier": { + "stars": 2, + "last_update": "2025-12-19 06:12:25", + "author_account_age_days": 4781 + }, + "https://github.com/iacoposk8/ComfyUI-Fooocus-Inpaint-Wrapper": { + "stars": 3, + "last_update": "2025-07-05 07:17:09", + "author_account_age_days": 4763 + }, + "https://github.com/iacoposk8/xor_pickle_nodes": { + "stars": 1, + "last_update": "2025-11-30 19:02:30", + "author_account_age_days": 4763 + }, + "https://github.com/ialhabbal/ComfyUI-Prompt-Verify": { + "stars": 6, + "last_update": "2025-09-17 18:53:24", + "author_account_age_days": 3629 + }, + "https://github.com/ialhabbal/OcclusionMask": { + "stars": 33, + "last_update": "2025-06-24 14:38:58", + "author_account_age_days": 3629 }, "https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check": { - "stars": 9, + "stars": 11, "last_update": "2024-11-26 07:32:18", - "author_account_age_days": 2376 + "author_account_age_days": 2815 + }, + "https://github.com/icekiub-ai/ComfyUI-IcyHider": { + "stars": 29, + "last_update": "2025-12-03 23:37:30", + "author_account_age_days": 149 }, "https://github.com/icesun963/ComfyUI_HFDownLoad": { "stars": 0, "last_update": "2024-07-18 12:13:23", - "author_account_age_days": 4275 + "author_account_age_days": 4715 + }, + "https://github.com/ichabodcole/ComfyUI-Ichis-Pack": { + "stars": 2, + "last_update": "2025-09-21 06:08:00", + "author_account_age_days": 5005 + }, + "https://github.com/id7238/ComfyUI-PackedPipes": { + "stars": 3, + "last_update": "2026-02-04 05:08:41", + "author_account_age_days": 61 }, "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words": { - "stars": 155, - "last_update": "2024-10-31 18:53:15", - "author_account_age_days": 3219 + "stars": 256, + "last_update": "2025-07-26 17:43:22", + "author_account_age_days": 3658 + }, + "https://github.com/idvdii/ComfyUI-DvD-LoraTriggerwordsManager": { + "stars": 7, + "last_update": "2025-11-27 06:58:09", + "author_account_age_days": 312 }, "https://github.com/iemesowum/ComfyUI_IsaacNodes": { - "stars": 2, - "last_update": "2024-08-22 17:23:13", - "author_account_age_days": 5461 + "stars": 1, + "last_update": "2025-03-27 13:28:10", + "author_account_age_days": 5900 + }, + "https://github.com/if-ai/ComfyUI-IF_AI_Dreamtalk": { + "stars": 25, + "last_update": "2025-03-14 13:19:03", + "author_account_age_days": 3471 }, "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode": { + "stars": 25, + "last_update": "2025-07-14 11:50:02", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI-IF_AI_ParlerTTSNode": { "stars": 17, - "last_update": "2024-12-04 22:16:11", - "author_account_age_days": 3032 + "last_update": "2025-03-14 13:27:47", + "author_account_age_days": 3471 }, "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode": { - "stars": 37, - "last_update": "2024-10-01 08:47:47", - "author_account_age_days": 3032 + "stars": 43, + "last_update": "2025-03-09 09:17:01", + "author_account_age_days": 3471 }, - "https://github.com/if-ai/ComfyUI-IF_AI_tools": { - "stars": 541, - "last_update": "2024-11-27 00:40:21", - "author_account_age_days": 3032 + "https://github.com/if-ai/ComfyUI-IF_DatasetMkr": { + "stars": 22, + "last_update": "2025-03-17 08:14:01", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI-IF_Gemini": { + "stars": 67, + "last_update": "2025-09-03 12:31:44", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI-IF_LLM": { + "stars": 150, + "last_update": "2025-04-09 09:23:21", + "author_account_age_days": 3471 }, "https://github.com/if-ai/ComfyUI-IF_MemoAvatar": { - "stars": 28, - "last_update": "2024-12-10 22:44:07", - "author_account_age_days": 3032 + "stars": 173, + "last_update": "2025-03-09 09:28:07", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI-IF_Trellis": { + "stars": 448, + "last_update": "2025-03-09 09:31:12", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI-IF_VideoPrompts": { + "stars": 54, + "last_update": "2025-04-02 17:19:28", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI-WanResolutionSelector": { + "stars": 9, + "last_update": "2025-08-25 14:42:19", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI-yt_dl": { + "stars": 2, + "last_update": "2025-08-13 14:47:44", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI_HunyuanVideoFoley": { + "stars": 150, + "last_update": "2025-09-08 20:24:15", + "author_account_age_days": 3471 + }, + "https://github.com/if-ai/ComfyUI_IF_AI_LoadImages": { + "stars": 14, + "last_update": "2025-03-14 13:24:31", + "author_account_age_days": 3471 + }, + "https://github.com/ifmylove2011/comfyui-missed-tool": { + "stars": 2, + "last_update": "2025-11-01 09:00:24", + "author_account_age_days": 3780 + }, + "https://github.com/iguanesolutions/comfyui-flux-resolution": { + "stars": 4, + "last_update": "2025-11-27 14:42:19", + "author_account_age_days": 3120 + }, + "https://github.com/iguanesolutions/comfyui-ig1-tools": { + "stars": 4, + "last_update": "2025-11-27 14:42:19", + "author_account_age_days": 3120 + }, + "https://github.com/ihmily/ComfyUI-FitDiTx": { + "stars": 0, + "last_update": "2026-02-05 05:50:21", + "author_account_age_days": 1238 }, "https://github.com/ihmily/ComfyUI-Light-Tool": { - "stars": 9, - "last_update": "2024-11-28 06:05:45", - "author_account_age_days": 799 + "stars": 15, + "last_update": "2025-12-03 14:13:35", + "author_account_age_days": 1238 + }, + "https://github.com/ihmily/comfy-deploy": { + "stars": 1, + "last_update": "2026-01-30 07:46:51", + "author_account_age_days": 1238 + }, + "https://github.com/illuminatianon/comfyui-csvwildcards": { + "stars": 1, + "last_update": "2025-05-02 21:45:53", + "author_account_age_days": 353 + }, + "https://github.com/illuminatianon/comfyui-lumi-tools": { + "stars": 0, + "last_update": "2026-02-17 05:10:39", + "author_account_age_days": 353 }, "https://github.com/imb101/ComfyUI-FaceSwap": { - "stars": 30, + "stars": 39, "last_update": "2024-05-22 18:22:29", - "author_account_age_days": 1058 + "author_account_age_days": 1498 }, - "https://github.com/inflamously/comfyui-prompt-enhancer": { - "stars": 1, - "last_update": "2024-12-08 17:24:42", - "author_account_age_days": 3950 + "https://github.com/infinigence/ComfyUI-Infinigence-Nodes": { + "stars": 2, + "last_update": "2025-08-25 03:41:44", + "author_account_age_days": 753 + }, + "https://github.com/infinigence/ComfyUI_Model_Cache": { + "stars": 9, + "last_update": "2025-03-28 02:35:14", + "author_account_age_days": 753 }, "https://github.com/injet-zhou/comfyui_extra_api": { - "stars": 6, - "last_update": "2024-12-05 09:17:10", - "author_account_age_days": 2397 + "stars": 15, + "last_update": "2025-06-06 02:35:34", + "author_account_age_days": 2836 + }, + "https://github.com/inventorado/ComfyUI_NNT": { + "stars": 68, + "last_update": "2025-01-08 17:22:46", + "author_account_age_days": 3495 + }, + "https://github.com/irreveloper/ComfyUI-DSD": { + "stars": 42, + "last_update": "2025-03-15 16:55:07", + "author_account_age_days": 4327 + }, + "https://github.com/isala404/comfy-workflow-api": { + "stars": 0, + "last_update": "2026-01-21 15:11:59", + "author_account_age_days": 3182 + }, + "https://github.com/isekai-sh/isekai-comfy-node": { + "stars": 2, + "last_update": "2026-01-09 17:58:02", + "author_account_age_days": 75 }, "https://github.com/iwanders/ComfyUI_nodes": { - "stars": 0, - "last_update": "2024-07-11 01:06:26", - "author_account_age_days": 4596 + "stars": 2, + "last_update": "2026-02-15 20:12:13", + "author_account_age_days": 5035 }, "https://github.com/jacklukai/ComfyUI_DeployCash": { - "stars": 1, - "last_update": "2024-12-02 03:49:49", - "author_account_age_days": 153 + "stars": 0, + "last_update": "2025-08-11 07:59:47", + "author_account_age_days": 592 }, "https://github.com/jags111/ComfyUI_Jags_Audiotools": { - "stars": 61, - "last_update": "2024-08-01 05:37:19", - "author_account_age_days": 4041 + "stars": 98, + "last_update": "2025-03-20 16:23:33", + "author_account_age_days": 4480 }, "https://github.com/jags111/ComfyUI_Jags_VectorMagic": { - "stars": 70, - "last_update": "2024-10-16 07:22:46", - "author_account_age_days": 4041 + "stars": 86, + "last_update": "2025-04-02 08:46:34", + "author_account_age_days": 4480 }, "https://github.com/jags111/efficiency-nodes-comfyui": { - "stars": 1026, - "last_update": "2024-08-26 04:49:54", - "author_account_age_days": 4041 + "stars": 1426, + "last_update": "2026-02-03 23:14:33", + "author_account_age_days": 4480 + }, + "https://github.com/jaimitoes/ComfyUI_Wan2_1_lora_trainer": { + "stars": 58, + "last_update": "2025-08-25 12:58:44", + "author_account_age_days": 4369 + }, + "https://github.com/jajos12/Comfyui-WanVideo-Context": { + "stars": 2, + "last_update": "2026-01-26 00:23:11", + "author_account_age_days": 1251 }, "https://github.com/jakechai/ComfyUI-JakeUpgrade": { - "stars": 42, - "last_update": "2024-11-14 07:12:08", - "author_account_age_days": 1741 + "stars": 136, + "last_update": "2026-02-21 08:55:25", + "author_account_age_days": 2181 }, "https://github.com/jamal-alkharrat/ComfyUI_rotate_image": { - "stars": 0, + "stars": 2, "last_update": "2024-05-22 23:19:02", - "author_account_age_days": 1147 + "author_account_age_days": 1586 }, "https://github.com/jamesWalker55/comfyui-p2ldgan": { - "stars": 16, + "stars": 17, "last_update": "2024-05-22 18:19:04", - "author_account_age_days": 2697 + "author_account_age_days": 3136 }, "https://github.com/jamesWalker55/comfyui-various": { - "stars": 67, - "last_update": "2024-09-19 04:58:35", - "author_account_age_days": 2697 + "stars": 180, + "last_update": "2025-02-27 11:01:51", + "author_account_age_days": 3136 + }, + "https://github.com/jamesk9526/NoxPrompter-ComfyUI-CustomNode": { + "stars": 1, + "last_update": "2025-10-04 06:23:15", + "author_account_age_days": 1573 + }, + "https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": { + "stars": 16, + "last_update": "2025-02-26 05:03:05", + "author_account_age_days": 5087 + }, + "https://github.com/jandan520/ComfyUI-AdvancedCameraPrompts": { + "stars": 33, + "last_update": "2025-11-12 19:23:07", + "author_account_age_days": 509 + }, + "https://github.com/jasonjgardner/comfui-substance-designer-integration": { + "stars": 2, + "last_update": "2025-06-08 20:40:11", + "author_account_age_days": 4988 + }, + "https://github.com/jasonjgardner/comfyui-pixel-art-scalers": { + "stars": 0, + "last_update": "2026-01-19 15:43:23", + "author_account_age_days": 4988 + }, + "https://github.com/jav12z/ComfyUI-ToyShaders": { + "stars": 4, + "last_update": "2025-12-20 13:02:51", + "author_account_age_days": 1306 + }, + "https://github.com/jax-explorer/ComfyUI-InstantCharacter": { + "stars": 188, + "last_update": "2025-05-13 15:04:58", + "author_account_age_days": 1186 + }, + "https://github.com/jax-explorer/ComfyUI-VideoBasic": { + "stars": 19, + "last_update": "2025-06-22 14:53:19", + "author_account_age_days": 1186 + }, + "https://github.com/jax-explorer/ComfyUI-VideoBasicLatentSync": { + "stars": 0, + "last_update": "2025-04-07 10:07:44", + "author_account_age_days": 1186 + }, + "https://github.com/jax-explorer/ComfyUI-easycontrol": { + "stars": 186, + "last_update": "2025-04-17 15:39:33", + "author_account_age_days": 1186 }, "https://github.com/jax-explorer/comfyui-model-dynamic-loader": { - "stars": 0, - "last_update": "2024-12-11 07:34:42", - "author_account_age_days": 747 + "stars": 1, + "last_update": "2025-06-01 07:58:16", + "author_account_age_days": 1186 }, "https://github.com/jax-explorer/fast_video_comfyui": { "stars": 0, "last_update": "2024-05-23 01:17:35", - "author_account_age_days": 747 + "author_account_age_days": 1186 + }, + "https://github.com/jchiotaka/comfyui-tile-calculator": { + "stars": 0, + "last_update": "2026-01-08 18:35:49", + "author_account_age_days": 5225 + }, + "https://github.com/jeankassio/ComfyUI_MusicTools": { + "stars": 123, + "last_update": "2025-12-09 11:04:57", + "author_account_age_days": 3256 + }, + "https://github.com/jeankassio/JK-AceStep-Nodes": { + "stars": 17, + "last_update": "2025-12-12 22:23:08", + "author_account_age_days": 3256 }, "https://github.com/jeffrey2212/ComfyUI-PonyCharacterPrompt": { "stars": 2, "last_update": "2024-10-26 05:38:07", - "author_account_age_days": 4641 + "author_account_age_days": 5080 }, "https://github.com/jeffy5/comfyui-faceless-node": { - "stars": 37, - "last_update": "2024-07-29 08:00:20", - "author_account_age_days": 3101 + "stars": 58, + "last_update": "2025-04-07 02:19:38", + "author_account_age_days": 3540 + }, + "https://github.com/jerome7562/ComfyUI-XenoFlow": { + "stars": 3, + "last_update": "2025-03-10 16:33:16", + "author_account_age_days": 376 + }, + "https://github.com/jerrylongyan/ComfyUI-My-Mask": { + "stars": 4, + "last_update": "2025-01-08 08:39:19", + "author_account_age_days": 4541 + }, + "https://github.com/jerrywap/ComfyUI_LoadImageFromHttpURL": { + "stars": 0, + "last_update": "2025-04-09 19:31:50", + "author_account_age_days": 2943 + }, + "https://github.com/jerrywap/ComfyUI_UploadToWebhookHTTP": { + "stars": 1, + "last_update": "2025-04-07 15:01:04", + "author_account_age_days": 2943 }, "https://github.com/jesenzhang/ComfyUI_StreamDiffusion": { - "stars": 132, - "last_update": "2024-11-19 01:16:54", - "author_account_age_days": 3822 + "stars": 153, + "last_update": "2025-03-18 04:47:24", + "author_account_age_days": 4261 + }, + "https://github.com/jessesep/SimpleVariables": { + "stars": 0, + "last_update": "2025-12-05 01:30:24", + "author_account_age_days": 2855 + }, + "https://github.com/jfcantu/ComfyUI-AutoNotes": { + "stars": 10, + "last_update": "2025-12-16 06:12:41", + "author_account_age_days": 2597 + }, + "https://github.com/jfcantu/ComfyUI-Prompt-Companion": { + "stars": 8, + "last_update": "2025-09-28 22:27:53", + "author_account_age_days": 2597 + }, + "https://github.com/jhj0517/ComfyUI-Moondream-Gaze-Detection": { + "stars": 56, + "last_update": "2025-02-03 04:53:25", + "author_account_age_days": 1508 + }, + "https://github.com/jhj0517/ComfyUI-jhj-Kokoro-Onnx": { + "stars": 5, + "last_update": "2025-02-04 14:15:08", + "author_account_age_days": 1508 + }, + "https://github.com/jiafuzeng/comfyui-LatentSync": { + "stars": 0, + "last_update": "2025-08-01 08:05:58", + "author_account_age_days": 2822 + }, + "https://github.com/jialuw0830/flux_api_comfyui_plugin": { + "stars": 0, + "last_update": "2025-09-04 12:42:43", + "author_account_age_days": 450 + }, + "https://github.com/jianglinbin/ComfyUI-AnglesSelect": { + "stars": 1, + "last_update": "2026-01-12 01:33:50", + "author_account_age_days": 165 }, "https://github.com/jianzhichun/ComfyUI-Easyai": { - "stars": 6, + "stars": 23, "last_update": "2024-10-27 03:29:53", - "author_account_age_days": 3207 + "author_account_age_days": 3646 }, "https://github.com/jiaqianjing/ComfyUI-MidjourneyHub": { - "stars": 3, - "last_update": "2024-12-10 04:30:30", - "author_account_age_days": 3299 + "stars": 15, + "last_update": "2026-01-23 13:22:02", + "author_account_age_days": 3739 }, "https://github.com/jiaxiangc/ComfyUI-ResAdapter": { - "stars": 291, + "stars": 283, "last_update": "2024-05-23 00:22:23", - "author_account_age_days": 1456 + "author_account_age_days": 1895 + }, + "https://github.com/jinanlongen/ComfyUI-Prompt-Expander": { + "stars": 2, + "last_update": "2025-01-28 08:04:24", + "author_account_age_days": 5186 + }, + "https://github.com/jinchanz/ComfyUI-ADIC": { + "stars": 5, + "last_update": "2026-02-05 03:30:18", + "author_account_age_days": 2674 }, "https://github.com/jitcoder/lora-info": { - "stars": 70, - "last_update": "2024-09-08 19:14:17", - "author_account_age_days": 4210 + "stars": 114, + "last_update": "2025-05-15 07:25:46", + "author_account_age_days": 4650 }, "https://github.com/jjkramhoeft/ComfyUI-Jjk-Nodes": { - "stars": 8, + "stars": 41, "last_update": "2024-05-22 20:44:56", - "author_account_age_days": 3819 + "author_account_age_days": 4258 }, "https://github.com/jkrauss82/ultools-comfyui": { - "stars": 6, - "last_update": "2024-09-15 07:35:53", - "author_account_age_days": 4381 + "stars": 8, + "last_update": "2026-02-01 18:11:02", + "author_account_age_days": 4821 + }, + "https://github.com/jluo-github/comfyui-auto-size": { + "stars": 0, + "last_update": "2026-02-17 20:46:56", + "author_account_age_days": 1884 }, "https://github.com/jmkl/ComfyUI-ricing": { "stars": 11, "last_update": "2024-10-16 15:38:08", - "author_account_age_days": 4767 + "author_account_age_days": 5206 }, "https://github.com/jn-jairo/jn_comfyui": { "stars": 5, "last_update": "2024-08-16 18:09:12", - "author_account_age_days": 4154 + "author_account_age_days": 4593 + }, + "https://github.com/jnxmx/ComfyUI_HuggingFace_Downloader": { + "stars": 17, + "last_update": "2026-02-21 19:27:18", + "author_account_age_days": 947 + }, + "https://github.com/jo-nike/ComfyUI-SopranoTTS": { + "stars": 1, + "last_update": "2025-12-30 05:43:42", + "author_account_age_days": 4151 + }, + "https://github.com/joanna910225/comfyui-housekeeper": { + "stars": 21, + "last_update": "2025-12-02 06:51:44", + "author_account_age_days": 4228 + }, + "https://github.com/joe002/comfyui-conduit-optimizer": { + "stars": 1, + "last_update": "2026-01-14 19:19:39", + "author_account_age_days": 4474 + }, + "https://github.com/joe002/comfyui-deterministic-nodes": { + "stars": 0, + "last_update": "2026-01-14 21:12:09", + "author_account_age_days": 4474 + }, + "https://github.com/joe002/comfyui-rtx4090-nodes": { + "stars": 1, + "last_update": "2026-01-14 19:17:15", + "author_account_age_days": 4474 + }, + "https://github.com/joeriben/ai4artsed_comfyui_nodes": { + "stars": 1, + "last_update": "2026-01-20 17:12:40", + "author_account_age_days": 4356 }, "https://github.com/john-mnz/ComfyUI-Inspyrenet-Rembg": { - "stars": 396, + "stars": 710, "last_update": "2024-07-31 13:54:32", - "author_account_age_days": 378 + "author_account_age_days": 817 }, "https://github.com/jojkaart/ComfyUI-sampler-lcm-alternative": { - "stars": 129, - "last_update": "2024-08-02 08:23:26", - "author_account_age_days": 4968 + "stars": 142, + "last_update": "2025-07-10 14:02:42", + "author_account_age_days": 5407 + }, + "https://github.com/jomakaze/ComfyUI_JomaNodes": { + "stars": 2, + "last_update": "2025-12-05 07:33:50", + "author_account_age_days": 2870 + }, + "https://github.com/jonstreeter/ComfyUI-Reference-Based-Video-Colorization": { + "stars": 14, + "last_update": "2025-11-21 15:27:33", + "author_account_age_days": 1212 + }, + "https://github.com/jonstreeter/comfyui-Lora-Tag-Power-Loader": { + "stars": 0, + "last_update": "2025-12-18 13:55:23", + "author_account_age_days": 1212 + }, + "https://github.com/jonstreeter/comfyui-compressed-metadata": { + "stars": 0, + "last_update": "2025-10-12 19:25:48", + "author_account_age_days": 1212 + }, + "https://github.com/joosthel/ComfyUI-CVOverlay": { + "stars": 5, + "last_update": "2025-07-28 11:41:47", + "author_account_age_days": 875 }, "https://github.com/jordoh/ComfyUI-Deepface": { - "stars": 20, - "last_update": "2024-08-04 18:18:05", - "author_account_age_days": 5163 + "stars": 36, + "last_update": "2026-02-01 17:16:52", + "author_account_age_days": 5602 + }, + "https://github.com/joreyaesh/comfyui_scroll_over_textarea": { + "stars": 1, + "last_update": "2025-03-09 18:58:09", + "author_account_age_days": 4723 + }, + "https://github.com/joreyaesh/comfyui_touchpad_scroll_controller.enableTouchpadScroll": { + "stars": 0, + "last_update": "2025-03-18 03:15:42", + "author_account_age_days": 4723 + }, + "https://github.com/joyboy123456/-ComfyUI-GoogleAIStudio": { + "stars": 0, + "last_update": "2025-09-18 16:37:02", + "author_account_age_days": 874 + }, + "https://github.com/jqy-yo/Comfyui-BBoxLowerMask2": { + "stars": 0, + "last_update": "2025-05-19 02:28:44", + "author_account_age_days": 650 + }, + "https://github.com/jqy-yo/comfyui-gemini-nodes": { + "stars": 5, + "last_update": "2025-10-10 09:41:20", + "author_account_age_days": 650 + }, + "https://github.com/jrabek/BokehDiffusionComfyUI": { + "stars": 1, + "last_update": "2025-11-27 18:58:43", + "author_account_age_days": 5164 }, "https://github.com/jroc22/ComfyUI-CSV-prompt-builder": { - "stars": 7, + "stars": 14, "last_update": "2024-08-01 19:39:30", - "author_account_age_days": 859 + "author_account_age_days": 1298 }, "https://github.com/jstit/comfyui_custom_node_image": { - "stars": 1, + "stars": 0, "last_update": "2024-08-27 05:10:12", - "author_account_age_days": 2034 + "author_account_age_days": 2473 }, "https://github.com/jtrue/ComfyUI-JaRue": { "stars": 7, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 4099 + "author_account_age_days": 4539 + }, + "https://github.com/jtrue/ComfyUI-Rect": { + "stars": 3, + "last_update": "2025-08-24 04:20:24", + "author_account_age_days": 4539 + }, + "https://github.com/jtrue/ComfyUI-WordEmbeddings": { + "stars": 1, + "last_update": "2025-08-22 05:30:24", + "author_account_age_days": 4539 + }, + "https://github.com/jtydhr88/ComfyUI-AudioMass": { + "stars": 27, + "last_update": "2026-02-06 18:35:10", + "author_account_age_days": 5362 }, "https://github.com/jtydhr88/ComfyUI-Hunyuan3D-1-wrapper": { - "stars": 17, + "stars": 32, "last_update": "2024-11-13 11:50:46", - "author_account_age_days": 4923 + "author_account_age_days": 5362 }, "https://github.com/jtydhr88/ComfyUI-LayerDivider": { - "stars": 65, - "last_update": "2024-07-06 01:43:45", - "author_account_age_days": 4923 + "stars": 108, + "last_update": "2025-04-25 11:21:00", + "author_account_age_days": 5362 + }, + "https://github.com/jtydhr88/ComfyUI-OpenCut": { + "stars": 148, + "last_update": "2025-12-01 18:41:51", + "author_account_age_days": 5362 + }, + "https://github.com/jtydhr88/ComfyUI-StableStudio": { + "stars": 22, + "last_update": "2025-08-15 00:06:43", + "author_account_age_days": 5362 }, "https://github.com/jtydhr88/ComfyUI-Workflow-Encrypt": { - "stars": 27, + "stars": 46, "last_update": "2024-07-31 13:45:53", - "author_account_age_days": 4923 + "author_account_age_days": 5362 + }, + "https://github.com/juddisjudd/ComfyUI-BawkNodes": { + "stars": 7, + "last_update": "2026-01-06 00:31:29", + "author_account_age_days": 1720 + }, + "https://github.com/judian17/ComfyUI-Extract_Flux_Lora": { + "stars": 20, + "last_update": "2025-05-05 02:46:31", + "author_account_age_days": 2455 + }, + "https://github.com/judian17/ComfyUI-JoyCaption-beta-one-hf-llava-Prompt_node": { + "stars": 7, + "last_update": "2025-08-02 00:48:15", + "author_account_age_days": 2455 + }, + "https://github.com/judian17/ComfyUI-SRT-subtitles-VoxCPM": { + "stars": 5, + "last_update": "2025-11-19 17:19:47", + "author_account_age_days": 2455 + }, + "https://github.com/judian17/ComfyUI-UniWorld-jd17": { + "stars": 21, + "last_update": "2025-06-10 14:12:16", + "author_account_age_days": 2455 + }, + "https://github.com/judian17/ComfyUI-joycaption-beta-one-GGUF": { + "stars": 57, + "last_update": "2025-10-26 21:23:07", + "author_account_age_days": 2455 + }, + "https://github.com/judian17/ComfyUI-multiple-inputs": { + "stars": 2, + "last_update": "2025-11-26 17:17:01", + "author_account_age_days": 2455 + }, + "https://github.com/judian17/ComfyUI_ZIM": { + "stars": 9, + "last_update": "2025-05-14 11:32:06", + "author_account_age_days": 2455 }, "https://github.com/juehackr/comfyui_fk_server": { - "stars": 173, - "last_update": "2024-12-11 09:42:38", - "author_account_age_days": 1282 + "stars": 551, + "last_update": "2026-01-27 08:21:06", + "author_account_age_days": 1721 + }, + "https://github.com/jupo-ai/comfy-aspect-ratios": { + "stars": 2, + "last_update": "2025-10-01 02:59:34", + "author_account_age_days": 359 + }, + "https://github.com/jupo-ai/comfy-ex-tagcomplete": { + "stars": 29, + "last_update": "2025-09-21 06:59:59", + "author_account_age_days": 359 + }, + "https://github.com/jupo-ai/comfy-join-prompt": { + "stars": 2, + "last_update": "2025-10-01 03:36:40", + "author_account_age_days": 359 + }, + "https://github.com/jupo-ai/comfy-linear-move": { + "stars": 1, + "last_update": "2025-08-21 16:31:49", + "author_account_age_days": 359 + }, + "https://github.com/jupo-ai/comfy-preview-model": { + "stars": 1, + "last_update": "2025-08-21 16:38:28", + "author_account_age_days": 359 + }, + "https://github.com/jurdnf/ComfyUI-JurdnsIterativeNoiseKSampler": { + "stars": 3, + "last_update": "2025-06-23 03:58:50", + "author_account_age_days": 276 + }, + "https://github.com/jurdnf/ComfyUI-JurdnsModelSculptor": { + "stars": 3, + "last_update": "2025-06-23 14:03:22", + "author_account_age_days": 276 + }, + "https://github.com/jurdnisglobby/ComfyUI-Jurdns-Groq-Node": { + "stars": 2, + "last_update": "2025-01-18 06:20:23", + "author_account_age_days": 521 }, "https://github.com/justUmen/Bjornulf_custom_nodes": { - "stars": 62, - "last_update": "2024-11-27 13:53:18", - "author_account_age_days": 2959 + "stars": 504, + "last_update": "2025-06-11 12:32:38", + "author_account_age_days": 3398 + }, + "https://github.com/justin-vt/ComfyUI-brushstrokes": { + "stars": 1, + "last_update": "2025-03-05 18:27:37", + "author_account_age_days": 3316 }, "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": 3645 + "author_account_age_days": 4084 }, "https://github.com/ka-puna/comfyui-yanc": { - "stars": 7, - "last_update": "2024-07-18 04:28:44", - "author_account_age_days": 2377 + "stars": 12, + "last_update": "2025-09-07 18:29:10", + "author_account_age_days": 2816 }, "https://github.com/kaanyalova/ComfyUI_ExtendedImageFormats": { - "stars": 5, - "last_update": "2024-10-30 14:53:11", - "author_account_age_days": 1437 + "stars": 6, + "last_update": "2025-01-25 10:57:38", + "author_account_age_days": 1876 + }, + "https://github.com/kaaskoek232/ComfyUI-MemoryManagement": { + "stars": 6, + "last_update": "2025-07-03 21:07:05", + "author_account_age_days": 336 + }, + "https://github.com/kadevin/ComfyUI-Active-Node-Highlighter": { + "stars": 0, + "last_update": "2026-02-03 23:54:04", + "author_account_age_days": 5041 + }, + "https://github.com/kadima-tech/comfyui-draggen": { + "stars": 0, + "last_update": "2026-02-17 03:03:07", + "author_account_age_days": 3420 }, "https://github.com/kadirnar/ComfyUI-Transformers": { - "stars": 21, - "last_update": "2024-06-22 22:44:39", - "author_account_age_days": 2499 + "stars": 24, + "last_update": "2026-02-08 18:26:13", + "author_account_age_days": 2939 }, "https://github.com/kadirnar/ComfyUI-YOLO": { - "stars": 49, - "last_update": "2024-11-29 15:22:15", - "author_account_age_days": 2499 + "stars": 117, + "last_update": "2026-02-10 14:34:27", + "author_account_age_days": 2939 + }, + "https://github.com/kael558/ComfyUI-GGUF-FantasyTalking": { + "stars": 9, + "last_update": "2025-08-20 00:08:16", + "author_account_age_days": 3257 }, "https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl": { - "stars": 285, - "last_update": "2024-11-24 20:25:04", - "author_account_age_days": 4851 + "stars": 650, + "last_update": "2025-04-19 10:24:42", + "author_account_age_days": 5291 + }, + "https://github.com/kaipard/comfyui-auto-latent-size": { + "stars": 1, + "last_update": "2025-07-04 10:06:08", + "author_account_age_days": 3038 + }, + "https://github.com/kakachiex2/comfyui-ltx2-efficient": { + "stars": 6, + "last_update": "2026-01-29 16:14:12", + "author_account_age_days": 5025 }, "https://github.com/kale4eat/ComfyUI-path-util": { "stars": 0, "last_update": "2024-05-25 05:44:11", - "author_account_age_days": 1782 + "author_account_age_days": 2221 }, "https://github.com/kale4eat/ComfyUI-speech-dataset-toolkit": { - "stars": 15, - "last_update": "2024-09-27 12:39:38", - "author_account_age_days": 1782 + "stars": 21, + "last_update": "2025-06-17 01:58:03", + "author_account_age_days": 2221 }, "https://github.com/kale4eat/ComfyUI-string-util": { - "stars": 2, + "stars": 6, "last_update": "2024-05-23 00:24:40", - "author_account_age_days": 1782 + "author_account_age_days": 2221 }, "https://github.com/kale4eat/ComfyUI-text-file-util": { "stars": 0, "last_update": "2024-05-23 00:24:51", - "author_account_age_days": 1782 + "author_account_age_days": 2221 + }, + "https://github.com/kambara/ComfyUI-PromptPalette": { + "stars": 21, + "last_update": "2026-01-25 09:40:58", + "author_account_age_days": 6144 + }, + "https://github.com/kana112233/ComfyUI-kaola-ace-step": { + "stars": 11, + "last_update": "2026-02-22 08:13:22", + "author_account_age_days": 3931 + }, + "https://github.com/kanibus/kanibus": { + "stars": 5, + "last_update": "2025-08-04 04:27:56", + "author_account_age_days": 1146 + }, + "https://github.com/kantan-kanto/ComfyUI-LLM-Session": { + "stars": 1, + "last_update": "2026-02-13 11:45:24", + "author_account_age_days": 2591 + }, + "https://github.com/kantan-kanto/ComfyUI-MultiModal-Prompt-Nodes": { + "stars": 1, + "last_update": "2026-02-10 01:04:35", + "author_account_age_days": 2591 + }, + "https://github.com/kantsche/ComfyUI-MixMod": { + "stars": 30, + "last_update": "2025-10-05 05:29:47", + "author_account_age_days": 4495 }, "https://github.com/kappa54m/ComfyUI_Usability": { - "stars": 1, + "stars": 0, "last_update": "2024-08-08 15:31:47", - "author_account_age_days": 1681 + "author_account_age_days": 2120 + }, + "https://github.com/karas17/ComfyUI-Camera-Watermark": { + "stars": 12, + "last_update": "2025-11-07 17:29:28", + "author_account_age_days": 3266 + }, + "https://github.com/karas17/comfyui_GLM_TTS": { + "stars": 3, + "last_update": "2025-12-24 03:07:01", + "author_account_age_days": 3266 + }, + "https://github.com/karthikg-09/ComfyUI-Vton-Mask": { + "stars": 1, + "last_update": "2025-05-24 18:37:41", + "author_account_age_days": 805 + }, + "https://github.com/karthikg-09/ComfyUI-WanVideoAutoResize": { + "stars": 3, + "last_update": "2025-11-02 13:46:51", + "author_account_age_days": 805 }, "https://github.com/kasukanra/ComfyUI_StringToHex": { - "stars": 2, + "stars": 1, "last_update": "2024-08-20 04:52:06", - "author_account_age_days": 2831 + "author_account_age_days": 3270 }, "https://github.com/katalist-ai/comfyUI-nsfw-detection": { - "stars": 1, + "stars": 5, "last_update": "2024-05-23 01:23:32", - "author_account_age_days": 923 + "author_account_age_days": 1362 + }, + "https://github.com/kaushiknishchay/ComfyUI-Qwen3-ASR": { + "stars": 7, + "last_update": "2026-01-30 08:44:19", + "author_account_age_days": 3758 + }, + "https://github.com/kayorlian/ComfyuiSmartColorMatch": { + "stars": 1, + "last_update": "2026-02-19 04:01:18", + "author_account_age_days": 1099 + }, + "https://github.com/kazeyori/ComfyUI-QuickImageSequenceProcess": { + "stars": 1, + "last_update": "2025-04-05 12:52:40", + "author_account_age_days": 1337 }, "https://github.com/kealiu/ComfyUI-S3-Tools": { "stars": 7, "last_update": "2024-07-04 10:13:07", - "author_account_age_days": 4298 + "author_account_age_days": 4737 }, "https://github.com/kealiu/ComfyUI-Zero123-Porting": { - "stars": 21, + "stars": 22, "last_update": "2024-08-22 07:07:57", - "author_account_age_days": 4298 + "author_account_age_days": 4737 }, "https://github.com/kealiu/ComfyUI-ZeroShot-MTrans": { - "stars": 163, + "stars": 178, "last_update": "2024-07-04 10:12:32", - "author_account_age_days": 4298 + "author_account_age_days": 4737 + }, + "https://github.com/keghoang/ComfyUI-Charon": { + "stars": 0, + "last_update": "2025-11-24 19:00:49", + "author_account_age_days": 3653 + }, + "https://github.com/keit0728/ComfyUI-Image-Toolkit": { + "stars": 3, + "last_update": "2025-05-30 06:46:47", + "author_account_age_days": 3598 + }, + "https://github.com/keit0728/ComfyUI-keitNodes": { + "stars": 3, + "last_update": "2025-06-20 09:34:46", + "author_account_age_days": 3598 + }, + "https://github.com/keit0728/ComfyUI-musubi-tuner": { + "stars": 1, + "last_update": "2025-07-26 09:41:57", + "author_account_age_days": 3598 }, "https://github.com/kenjiqq/qq-nodes-comfyui": { - "stars": 41, - "last_update": "2024-10-01 19:14:55", - "author_account_age_days": 5059 + "stars": 68, + "last_update": "2025-06-24 22:38:01", + "author_account_age_days": 5498 + }, + "https://github.com/kevinmcmahondev/comfyui-kmcdev-image-filter-adjustments": { + "stars": 0, + "last_update": "2025-02-19 06:55:25", + "author_account_age_days": 1363 + }, + "https://github.com/kevinmcmahondev/comfyui-skin-tone-detector": { + "stars": 2, + "last_update": "2024-12-22 06:44:20", + "author_account_age_days": 1363 }, "https://github.com/kft334/Knodes": { - "stars": 3, + "stars": 4, "last_update": "2024-06-14 08:12:06", - "author_account_age_days": 1129 + "author_account_age_days": 1568 + }, + "https://github.com/khanhlvg/vertex-ai-comfyui-nodes": { + "stars": 5, + "last_update": "2025-08-31 18:49:44", + "author_account_age_days": 4555 + }, + "https://github.com/kianthos/Earthbound---All-in-one-ComfyUI-Node": { + "stars": 0, + "last_update": "2026-01-21 14:48:25", + "author_account_age_days": 432 + }, + "https://github.com/kianxyzw/comfyui-model-linker": { + "stars": 61, + "last_update": "2026-01-19 00:35:34", + "author_account_age_days": 1483 }, "https://github.com/kijai/ComfyUI-ADMotionDirector": { - "stars": 169, + "stars": 178, "last_update": "2024-11-07 07:20:23", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-APISR-KJ": { - "stars": 62, + "stars": 77, "last_update": "2024-05-21 16:30:21", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-BrushNet-Wrapper": { - "stars": 135, + "stars": 149, "last_update": "2024-06-20 12:15:16", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-CCSR": { - "stars": 192, + "stars": 241, "last_update": "2024-06-28 11:13:33", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-CogVideoXWrapper": { - "stars": 1122, - "last_update": "2024-12-08 09:52:12", - "author_account_age_days": 2353 + "stars": 1539, + "last_update": "2025-08-07 11:03:37", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-ControlNeXt-SVD": { - "stars": 160, + "stars": 190, "last_update": "2024-08-15 08:26:15", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-DDColor": { - "stars": 125, + "stars": 162, "last_update": "2024-05-21 16:04:26", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-DepthAnythingV2": { - "stars": 212, - "last_update": "2024-10-21 11:43:57", - "author_account_age_days": 2353 + "stars": 394, + "last_update": "2025-06-16 13:16:52", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-DiffusionLight": { - "stars": 58, + "stars": 72, "last_update": "2024-05-21 16:16:52", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-DynamiCrafterWrapper": { - "stars": 636, - "last_update": "2024-08-15 21:17:07", - "author_account_age_days": 2353 + "stars": 681, + "last_update": "2025-06-02 11:49:00", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-ELLA-wrapper": { - "stars": 111, + "stars": 114, "last_update": "2024-05-21 16:47:28", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-Florence2": { - "stars": 797, - "last_update": "2024-11-27 14:05:12", - "author_account_age_days": 2353 + "stars": 1604, + "last_update": "2026-01-30 00:34:38", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-FluxTrainer": { - "stars": 548, - "last_update": "2024-12-04 10:24:34", - "author_account_age_days": 2353 + "stars": 1113, + "last_update": "2025-04-02 07:35:46", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-GIMM-VFI": { - "stars": 180, - "last_update": "2024-11-19 14:31:22", - "author_account_age_days": 2353 + "stars": 446, + "last_update": "2025-07-31 18:52:50", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-Geowizard": { - "stars": 93, - "last_update": "2024-05-28 14:08:34", - "author_account_age_days": 2353 + "stars": 126, + "last_update": "2024-12-16 19:33:54", + "author_account_age_days": 2792 + }, + "https://github.com/kijai/ComfyUI-HFRemoteVae": { + "stars": 53, + "last_update": "2025-03-01 18:22:59", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": { - "stars": 778, - "last_update": "2024-12-11 08:56:17", - "author_account_age_days": 2353 + "stars": 2577, + "last_update": "2025-08-20 08:38:14", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-IC-Light": { - "stars": 815, - "last_update": "2024-10-31 11:40:56", - "author_account_age_days": 2353 + "stars": 1136, + "last_update": "2025-05-30 19:21:20", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-KJNodes": { - "stars": 712, - "last_update": "2024-12-10 15:30:51", - "author_account_age_days": 2353 + "stars": 2328, + "last_update": "2026-02-22 18:28:58", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-KwaiKolorsWrapper": { - "stars": 566, + "stars": 597, "last_update": "2024-10-18 08:47:45", - "author_account_age_days": 2353 + "author_account_age_days": 2792 + }, + "https://github.com/kijai/ComfyUI-LBMWrapper": { + "stars": 248, + "last_update": "2025-05-14 09:25:13", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-LLaVA-OneVision": { - "stars": 78, - "last_update": "2024-08-25 14:04:22", - "author_account_age_days": 2353 + "stars": 101, + "last_update": "2026-01-12 19:20:52", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-LVCDWrapper": { - "stars": 56, + "stars": 61, "last_update": "2024-09-30 11:49:12", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-LaVi-Bridge-Wrapper": { - "stars": 21, + "stars": 22, "last_update": "2024-05-21 16:41:18", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-LivePortraitKJ": { - "stars": 1702, + "stars": 2127, "last_update": "2024-08-05 21:39:49", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-Lotus": { - "stars": 96, - "last_update": "2024-10-13 12:33:24", - "author_account_age_days": 2353 + "stars": 162, + "last_update": "2025-11-04 16:36:47", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-LuminaWrapper": { - "stars": 185, + "stars": 195, "last_update": "2024-07-31 13:52:06", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-Marigold": { - "stars": 480, - "last_update": "2024-11-02 17:51:42", - "author_account_age_days": 2353 + "stars": 567, + "last_update": "2025-05-16 10:22:16", + "author_account_age_days": 2792 + }, + "https://github.com/kijai/ComfyUI-MelBandRoFormer": { + "stars": 152, + "last_update": "2026-01-30 22:11:18", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-MimicMotionWrapper": { - "stars": 350, - "last_update": "2024-08-07 06:48:40", - "author_account_age_days": 2353 + "stars": 516, + "last_update": "2025-01-12 17:34:34", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-MoGe": { - "stars": 34, - "last_update": "2024-11-03 21:28:03", - "author_account_age_days": 2353 + "stars": 52, + "last_update": "2025-02-07 18:42:39", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-OpenDiTWrapper": { - "stars": 41, + "stars": 44, "last_update": "2024-07-03 14:59:13", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-PyramidFlowWrapper": { - "stars": 328, + "stars": 368, "last_update": "2024-11-15 13:28:18", - "author_account_age_days": 2353 + "author_account_age_days": 2792 + }, + "https://github.com/kijai/ComfyUI-SCAIL-Pose": { + "stars": 283, + "last_update": "2025-12-24 16:55:33", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-SUPIR": { - "stars": 1633, - "last_update": "2024-08-01 23:03:53", - "author_account_age_days": 2353 + "stars": 2228, + "last_update": "2026-02-04 14:55:15", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-SVD": { - "stars": 159, + "stars": 164, "last_update": "2024-05-22 21:09:54", - "author_account_age_days": 2353 + "author_account_age_days": 2792 + }, + "https://github.com/kijai/ComfyUI-StableXWrapper": { + "stars": 64, + "last_update": "2025-01-31 11:59:01", + "author_account_age_days": 2792 + }, + "https://github.com/kijai/ComfyUI-WanVideoWrapper": { + "stars": 6098, + "last_update": "2026-02-22 13:18:05", + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-depth-fm": { - "stars": 67, + "stars": 87, "last_update": "2024-05-22 21:10:15", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-moondream": { - "stars": 96, + "stars": 110, "last_update": "2024-08-12 16:30:11", - "author_account_age_days": 2353 + "author_account_age_days": 2792 }, "https://github.com/kijai/ComfyUI-segment-anything-2": { - "stars": 678, - "last_update": "2024-10-03 18:41:02", - "author_account_age_days": 2353 + "stars": 1170, + "last_update": "2025-09-28 08:35:30", + "author_account_age_days": 2792 }, "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Advanced-Watermarks": { - "stars": 10, - "last_update": "2024-12-03 12:43:24", - "author_account_age_days": 26 + "stars": 23, + "last_update": "2026-02-20 14:00:32", + "author_account_age_days": 466 }, "https://github.com/kinfolk0117/ComfyUI_GradientDeepShrink": { - "stars": 24, + "stars": 29, "last_update": "2024-05-22 21:25:13", - "author_account_age_days": 638 + "author_account_age_days": 1077 }, "https://github.com/kinfolk0117/ComfyUI_GridSwapper": { "stars": 28, "last_update": "2024-10-27 09:04:20", - "author_account_age_days": 638 + "author_account_age_days": 1077 }, "https://github.com/kinfolk0117/ComfyUI_Pilgram": { - "stars": 7, + "stars": 8, "last_update": "2024-05-22 21:25:24", - "author_account_age_days": 638 + "author_account_age_days": 1077 }, "https://github.com/kinfolk0117/ComfyUI_SimpleTiles": { - "stars": 47, + "stars": 60, "last_update": "2024-05-22 21:25:01", - "author_account_age_days": 638 + "author_account_age_days": 1077 + }, + "https://github.com/kishida/comfyui-text-renderer": { + "stars": 1, + "last_update": "2026-01-09 06:23:01", + "author_account_age_days": 5222 + }, + "https://github.com/kj863257/ComfyUI_RC_Image_Compositor": { + "stars": 14, + "last_update": "2025-11-16 06:39:09", + "author_account_age_days": 3752 + }, + "https://github.com/kjqwer/SmartSaveImage": { + "stars": 1, + "last_update": "2025-11-21 07:32:18", + "author_account_age_days": 804 }, "https://github.com/kk8bit/KayTool": { - "stars": 4, - "last_update": "2024-11-08 12:51:52", - "author_account_age_days": 527 + "stars": 331, + "last_update": "2025-07-01 03:47:14", + "author_account_age_days": 966 }, "https://github.com/klinter007/klinter_nodes": { - "stars": 17, - "last_update": "2024-12-10 14:16:24", - "author_account_age_days": 595 + "stars": 18, + "last_update": "2025-12-07 05:28:22", + "author_account_age_days": 1034 + }, + "https://github.com/kmlbdh/ComfyUI-kmlbdh-VideoCombine": { + "stars": 2, + "last_update": "2025-09-13 14:47:17", + "author_account_age_days": 3787 + }, + "https://github.com/kmlbdh/ComfyUI_LocalLLMNodes": { + "stars": 7, + "last_update": "2025-08-07 12:47:42", + "author_account_age_days": 3787 + }, + "https://github.com/knishika62/ComfyUI-DualLoraStack": { + "stars": 0, + "last_update": "2026-02-01 23:08:58", + "author_account_age_days": 1379 + }, + "https://github.com/knishika62/ComfyUI-LyricForge": { + "stars": 13, + "last_update": "2026-02-04 04:46:20", + "author_account_age_days": 1379 }, "https://github.com/knuknX/ComfyUI-Image-Tools": { "stars": 3, "last_update": "2024-06-14 09:05:58", - "author_account_age_days": 370 + "author_account_age_days": 809 + }, + "https://github.com/kohs100/comfyui-ppwc": { + "stars": 0, + "last_update": "2025-09-19 10:01:44", + "author_account_age_days": 3500 }, "https://github.com/kohya-ss/ControlNet-LLLite-ComfyUI": { - "stars": 176, + "stars": 209, "last_update": "2024-05-22 20:44:44", - "author_account_age_days": 1979 + "author_account_age_days": 2418 + }, + "https://github.com/koirpraw/ComfyUI-GCP-storage-decouple": { + "stars": 1, + "last_update": "2025-10-27 19:59:19", + "author_account_age_days": 4334 }, "https://github.com/komojini/ComfyUI_SDXL_DreamBooth_LoRA_CustomNodes": { "stars": 3, "last_update": "2024-05-22 21:34:27", - "author_account_age_days": 753 + "author_account_age_days": 1192 }, "https://github.com/komojini/komojini-comfyui-nodes": { - "stars": 71, + "stars": 78, "last_update": "2024-05-22 21:34:39", - "author_account_age_days": 753 + "author_account_age_days": 1192 + }, + "https://github.com/kostenickj/jk-comfyui-helpers": { + "stars": 8, + "last_update": "2024-12-19 10:22:42", + "author_account_age_days": 3658 + }, + "https://github.com/kplkasteel/ComfyUI-SubstringExtractor": { + "stars": 0, + "last_update": "2026-01-02 18:57:10", + "author_account_age_days": 3060 + }, + "https://github.com/kpsss34/ComfyUI-kpsss34": { + "stars": 9, + "last_update": "2025-08-06 07:23:01", + "author_account_age_days": 252 }, "https://github.com/kraglik/prompt_collapse": { + "stars": 5, + "last_update": "2024-12-15 08:39:51", + "author_account_age_days": 3067 + }, + "https://github.com/krakenunbound/ComfyUI-KrakenTools": { + "stars": 2, + "last_update": "2025-12-07 18:32:43", + "author_account_age_days": 188 + }, + "https://github.com/krakenunbound/comfyui-kraken-tools": { "stars": 1, - "last_update": "2024-12-07 17:55:33", - "author_account_age_days": 2627 + "last_update": "2026-01-06 21:06:17", + "author_account_age_days": 188 + }, + "https://github.com/krakenunbound/kraken-discord-bot": { + "stars": 1, + "last_update": "2025-12-10 20:36:38", + "author_account_age_days": 188 + }, + "https://github.com/kreonxv/ComfyUI-ForgeAPI": { + "stars": 0, + "last_update": "2026-02-03 09:44:07", + "author_account_age_days": 48 + }, + "https://github.com/kreonxv/ComfyUI-GroupBypasser": { + "stars": 0, + "last_update": "2026-02-03 11:00:11", + "author_account_age_days": 48 + }, + "https://github.com/kreonxv/ComfyUI-Infinity-Canvas": { + "stars": 0, + "last_update": "2026-02-03 11:03:29", + "author_account_age_days": 48 + }, + "https://github.com/kreonxv/ComfyUI-LoraControls": { + "stars": 0, + "last_update": "2026-02-03 09:38:58", + "author_account_age_days": 48 + }, + "https://github.com/kreonxv/ComfyUI-T2I_StyleApply": { + "stars": 0, + "last_update": "2026-02-03 10:59:42", + "author_account_age_days": 48 + }, + "https://github.com/kreonxv/ComfyUI-Whiteboard": { + "stars": 0, + "last_update": "2026-02-03 10:58:38", + "author_account_age_days": 48 + }, + "https://github.com/krigeta/qwen-image-controlnets-comfyui": { + "stars": 2, + "last_update": "2025-08-17 11:09:39", + "author_account_age_days": 1910 + }, + "https://github.com/krmahil/comfyui-hollow-preserve": { + "stars": 1, + "last_update": "2025-05-15 09:55:46", + "author_account_age_days": 2888 + }, + "https://github.com/kukuo6666/ComfyUI-Equirect": { + "stars": 2, + "last_update": "2025-03-29 18:28:47", + "author_account_age_days": 2176 + }, + "https://github.com/kungful/ComfyUI_to_webui": { + "stars": 23, + "last_update": "2026-01-09 09:39:55", + "author_account_age_days": 1732 }, "https://github.com/kunieone/ComfyUI_alkaid": { "stars": 0, "last_update": "2024-05-23 01:10:21", - "author_account_age_days": 2690 + "author_account_age_days": 3129 + }, + "https://github.com/kusurin/ComfyUI-chronophotography": { + "stars": 0, + "last_update": "2025-08-16 15:11:58", + "author_account_age_days": 1227 }, "https://github.com/kwaroran/abg-comfyui": { - "stars": 22, + "stars": 25, "last_update": "2024-05-22 18:19:51", - "author_account_age_days": 777 + "author_account_age_days": 1217 }, "https://github.com/kycg/comfyui-Lora-auto-downloader": { "stars": 1, - "last_update": "2024-11-08 19:57:23", - "author_account_age_days": 1110 + "last_update": "2025-08-27 13:47:53", + "author_account_age_days": 1550 }, - "https://github.com/l1yongch1/ComfyUI_PhiCaption": { - "stars": 1, - "last_update": "2024-10-10 07:28:29", - "author_account_age_days": 946 + "https://github.com/l-comm/WatermarkRemoval": { + "stars": 5, + "last_update": "2025-01-13 05:33:32", + "author_account_age_days": 420 }, "https://github.com/l20richo/ComfyUI-Azure-Blob-Storage": { "stars": 2, "last_update": "2024-06-22 16:53:47", - "author_account_age_days": 1337 + "author_account_age_days": 1776 + }, + "https://github.com/l3ony2k/comfyui-leon-nodes": { + "stars": 3, + "last_update": "2026-02-06 10:08:43", + "author_account_age_days": 2266 + }, + "https://github.com/lakkiy/ComfyUI-RWImageS3": { + "stars": 0, + "last_update": "2026-02-04 09:16:15", + "author_account_age_days": 3353 }, "https://github.com/laksjdjf/Batch-Condition-ComfyUI": { - "stars": 6, + "stars": 9, "last_update": "2024-05-22 20:42:42", - "author_account_age_days": 3001 + "author_account_age_days": 3440 + }, + "https://github.com/laksjdjf/ComfyUI-Imatrix": { + "stars": 6, + "last_update": "2025-06-07 00:17:26", + "author_account_age_days": 3440 }, "https://github.com/laksjdjf/LCMSampler-ComfyUI": { - "stars": 15, + "stars": 16, "last_update": "2024-05-22 20:42:17", - "author_account_age_days": 3001 + "author_account_age_days": 3440 }, "https://github.com/laksjdjf/LoRTnoC-ComfyUI": { "stars": 13, "last_update": "2024-05-22 20:42:29", - "author_account_age_days": 3001 + "author_account_age_days": 3440 }, "https://github.com/laksjdjf/cd-tuner_negpip-ComfyUI": { - "stars": 21, + "stars": 23, "last_update": "2024-05-22 20:42:04", - "author_account_age_days": 3001 + "author_account_age_days": 3440 }, "https://github.com/laksjdjf/cgem156-ComfyUI": { - "stars": 51, - "last_update": "2024-09-12 12:07:30", - "author_account_age_days": 3001 + "stars": 92, + "last_update": "2025-04-30 14:52:29", + "author_account_age_days": 3440 }, "https://github.com/laksjdjf/pfg-ComfyUI": { "stars": 12, "last_update": "2024-05-22 20:41:41", - "author_account_age_days": 3001 + "author_account_age_days": 3440 + }, + "https://github.com/laolaoruqin/ComfyUI-free-drag-crop": { + "stars": 0, + "last_update": "2026-02-09 20:03:55", + "author_account_age_days": 3356 }, "https://github.com/larsupb/LoRA-Merger-ComfyUI": { - "stars": 29, - "last_update": "2024-10-24 11:28:08", - "author_account_age_days": 3246 + "stars": 69, + "last_update": "2026-01-01 18:51:41", + "author_account_age_days": 3685 }, "https://github.com/latenightlabs/ComfyUI-LNL": { - "stars": 22, + "stars": 26, "last_update": "2024-10-07 20:09:43", - "author_account_age_days": 320 + "author_account_age_days": 759 + }, + "https://github.com/latentastronaut/comfyui-latent-astronaut-suite": { + "stars": 1, + "last_update": "2026-01-19 03:58:23", + "author_account_age_days": 51 }, "https://github.com/lazniak/Head-Orientation-Node-for-ComfyUI---by-PabloGFX": { - "stars": 8, - "last_update": "2024-09-25 15:02:14", - "author_account_age_days": 2451 + "stars": 12, + "last_update": "2025-10-30 23:21:11", + "author_account_age_days": 2890 }, "https://github.com/lazniak/LiquidTime-Interpolation": { - "stars": 6, - "last_update": "2024-11-14 18:11:23", - "author_account_age_days": 2451 + "stars": 13, + "last_update": "2025-04-03 11:42:12", + "author_account_age_days": 2890 }, "https://github.com/lazniak/comfyui-google-photos-loader": { - "stars": 4, - "last_update": "2024-09-26 16:32:32", - "author_account_age_days": 2451 + "stars": 3, + "last_update": "2025-04-03 11:46:29", + "author_account_age_days": 2890 + }, + "https://github.com/lazyq666/gemini-3-simply-comfyui": { + "stars": 2, + "last_update": "2026-02-11 07:03:26", + "author_account_age_days": 1182 + }, + "https://github.com/lc03lc/Comfyui_OmniConsistency": { + "stars": 63, + "last_update": "2025-06-01 02:56:02", + "author_account_age_days": 1585 + }, + "https://github.com/lceric/comfyui-gpt-image": { + "stars": 10, + "last_update": "2025-05-19 10:49:30", + "author_account_age_days": 3319 + }, + "https://github.com/leafiy/comfyui_psd_smart_object": { + "stars": 0, + "last_update": "2025-11-11 02:18:19", + "author_account_age_days": 5359 + }, + "https://github.com/lebrosoft/ComfyUI-VideoChatWrapper": { + "stars": 2, + "last_update": "2025-06-06 04:07:48", + "author_account_age_days": 4126 + }, + "https://github.com/leeguandong/ComfyUI_1Prompt1Story": { + "stars": 5, + "last_update": "2025-03-13 16:11:50", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_ChatGen": { + "stars": 2, + "last_update": "2025-03-13 16:24:46", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_Cogview4": { + "stars": 2, + "last_update": "2025-03-13 15:58:44", + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_CompareModelWeights": { "stars": 3, - "last_update": "2024-09-22 13:13:07", - "author_account_age_days": 2964 + "last_update": "2025-01-09 02:43:41", + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_CrossImageAttention": { - "stars": 4, + "stars": 3, "last_update": "2024-08-16 11:59:42", - "author_account_age_days": 2964 + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_DeepSeekVL2": { + "stars": 0, + "last_update": "2025-03-13 16:32:16", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_FluxAttentionMask": { + "stars": 4, + "last_update": "2025-03-15 07:37:50", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_FluxClipWeight": { + "stars": 3, + "last_update": "2025-03-02 07:32:55", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_FluxCustomId": { + "stars": 7, + "last_update": "2025-01-06 01:12:44", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_FluxLayerDiffuse": { + "stars": 17, + "last_update": "2025-03-17 01:07:01", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_Gemma3": { + "stars": 10, + "last_update": "2025-09-06 08:35:54", + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_InternVL2": { - "stars": 12, + "stars": 13, "last_update": "2024-08-10 11:00:11", - "author_account_age_days": 2964 + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_LLaSM": { - "stars": 3, + "stars": 5, "last_update": "2024-08-10 10:58:17", - "author_account_age_days": 2964 + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_M3Net": { - "stars": 10, + "stars": 12, "last_update": "2024-08-16 00:03:21", - "author_account_age_days": 2964 + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_MasaCtrl": { - "stars": 4, + "stars": 3, "last_update": "2024-09-01 03:47:35", - "author_account_age_days": 2964 + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_QWQ32B": { + "stars": 2, + "last_update": "2025-03-15 17:19:23", + "author_account_age_days": 3403 + }, + "https://github.com/leeguandong/ComfyUI_Qwen3Omni": { + "stars": 1, + "last_update": "2025-10-07 15:35:51", + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_Style_Aligned": { - "stars": 3, + "stars": 5, "last_update": "2024-08-16 11:59:33", - "author_account_age_days": 2964 + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_VideoEditing": { - "stars": 3, + "stars": 4, "last_update": "2024-08-14 16:59:49", - "author_account_age_days": 2964 + "author_account_age_days": 3403 }, "https://github.com/leeguandong/ComfyUI_VisualAttentionMap": { - "stars": 7, + "stars": 8, "last_update": "2024-08-26 05:15:14", - "author_account_age_days": 2964 + "author_account_age_days": 3403 + }, + "https://github.com/leeooo001/comfyui-Hunyuan-PromptEnhancer": { + "stars": 13, + "last_update": "2025-10-10 19:01:40", + "author_account_age_days": 2347 }, "https://github.com/leestuartx/ComfyUI-GG": { - "stars": 3, - "last_update": "2024-07-23 04:13:09", - "author_account_age_days": 3948 + "stars": 2, + "last_update": "2025-03-10 16:26:37", + "author_account_age_days": 4388 }, - "https://github.com/leiweiqiang/ComfyUI-TRA": { - "stars": 13, - "last_update": "2024-12-04 22:16:03", - "author_account_age_days": 2780 + "https://github.com/leewinder/comfyui-crop-to-center": { + "stars": 0, + "last_update": "2025-10-13 16:41:33", + "author_account_age_days": 5061 + }, + "https://github.com/leewinder/comfyui-mureka-api": { + "stars": 1, + "last_update": "2025-10-24 08:50:08", + "author_account_age_days": 5061 + }, + "https://github.com/lenML/comfyui_qwen_image_edit_adv": { + "stars": 34, + "last_update": "2025-12-02 11:12:18", + "author_account_age_days": 793 }, "https://github.com/lenskikh/ComfyUI-Prompt-Worker": { - "stars": 7, - "last_update": "2024-08-27 22:08:40", - "author_account_age_days": 3666 + "stars": 15, + "last_update": "2025-07-16 21:04:06", + "author_account_age_days": 4106 + }, + "https://github.com/leoleelxh/Comfy-Topaz-Photo": { + "stars": 17, + "last_update": "2025-05-24 05:47:40", + "author_account_age_days": 4684 }, "https://github.com/leoleelxh/ComfyUI-LLMs": { - "stars": 22, - "last_update": "2024-12-11 05:09:29", - "author_account_age_days": 4245 + "stars": 54, + "last_update": "2025-06-17 13:52:33", + "author_account_age_days": 4684 + }, + "https://github.com/leonardomiramondi/flux-context-comfyui": { + "stars": 0, + "last_update": "2025-06-25 10:18:42", + "author_account_age_days": 1029 + }, + "https://github.com/lepiai/ComfyUI-Minitools": { + "stars": 8, + "last_update": "2025-05-24 16:11:50", + "author_account_age_days": 2479 + }, + "https://github.com/lerignoux/ComfyUI-PechaKucha": { + "stars": 1, + "last_update": "2025-10-30 08:08:13", + "author_account_age_days": 4914 + }, + "https://github.com/lerignoux/ComfyUI-Stable3DGen": { + "stars": 3, + "last_update": "2025-09-23 15:24:40", + "author_account_age_days": 4914 + }, + "https://github.com/leylahkrell/ComfyUI-Violet-Tools": { + "stars": 13, + "last_update": "2025-11-13 03:06:22", + "author_account_age_days": 883 + }, + "https://github.com/leylahviolet/ComfyUI-Violet-Tools": { + "stars": 13, + "last_update": "2025-11-13 03:06:22", + "author_account_age_days": 883 }, "https://github.com/lgldlk/ComfyUI-PC-ding-dong": { - "stars": 44, - "last_update": "2024-10-30 14:52:42", - "author_account_age_days": 1860 + "stars": 80, + "last_update": "2024-12-27 03:25:38", + "author_account_age_days": 2299 + }, + "https://github.com/lgldlk/ComfyUI-PSD-Replace": { + "stars": 5, + "last_update": "2025-03-15 07:03:24", + "author_account_age_days": 2299 }, "https://github.com/liangt/comfyui-loadimagewithsubfolder": { "stars": 3, - "last_update": "2024-07-28 08:23:11", - "author_account_age_days": 4228 + "last_update": "2025-03-27 16:49:42", + "author_account_age_days": 4668 + }, + "https://github.com/licanhua/ComfyUI-StrokeReveal": { + "stars": 0, + "last_update": "2026-01-26 04:58:07", + "author_account_age_days": 4437 }, "https://github.com/licyk/ComfyUI-HakuImg": { - "stars": 5, - "last_update": "2024-12-05 01:02:44", - "author_account_age_days": 1438 + "stars": 12, + "last_update": "2025-08-06 15:55:12", + "author_account_age_days": 1877 }, "https://github.com/licyk/ComfyUI-Restart-Sampler": { + "stars": 13, + "last_update": "2025-02-24 04:53:52", + "author_account_age_days": 1877 + }, + "https://github.com/licyk/ComfyUI-TCD-Sampler": { "stars": 7, - "last_update": "2024-10-23 10:13:08", - "author_account_age_days": 1438 + "last_update": "2025-03-27 16:32:33", + "author_account_age_days": 1877 + }, + "https://github.com/liewcc/ComfyUI-Qwen-Canvas": { + "stars": 1, + "last_update": "2026-01-28 06:10:34", + "author_account_age_days": 2360 + }, + "https://github.com/lihaoyun6/ComfyUI-BlindWatermark": { + "stars": 15, + "last_update": "2025-09-20 10:42:26", + "author_account_age_days": 3720 + }, + "https://github.com/lihaoyun6/ComfyUI-FlashVSR_Ultra_Fast": { + "stars": 673, + "last_update": "2025-11-20 07:37:22", + "author_account_age_days": 3720 + }, + "https://github.com/lihaoyun6/ComfyUI-NoCache": { + "stars": 1, + "last_update": "2026-02-23 15:02:29", + "author_account_age_days": 3720 + }, + "https://github.com/lihaoyun6/ComfyUI-QwenPromptRewriter": { + "stars": 72, + "last_update": "2025-10-07 12:28:21", + "author_account_age_days": 3720 + }, + "https://github.com/lihaoyun6/ComfyUI-Segformer_Ultra_Fast": { + "stars": 38, + "last_update": "2025-10-17 14:58:31", + "author_account_age_days": 3720 }, "https://github.com/lilly1987/ComfyUI_node_Lilly": { - "stars": 52, - "last_update": "2024-05-22 17:53:19", - "author_account_age_days": 3079 + "stars": 57, + "last_update": "2024-12-21 01:50:03", + "author_account_age_days": 3519 + }, + "https://github.com/liming123332/ComfyUI-Ranbooru": { + "stars": 0, + "last_update": "2025-12-17 01:00:44", + "author_account_age_days": 3166 + }, + "https://github.com/lingha0h/comfyui_kj": { + "stars": 7, + "last_update": "2025-03-20 13:24:29", + "author_account_age_days": 383 + }, + "https://github.com/linjian-ufo/ComfyUI_GLM4V_voltspark": { + "stars": 5, + "last_update": "2025-07-09 13:04:58", + "author_account_age_days": 707 + }, + "https://github.com/linjian-ufo/comfyui_deepseek_lj257_update": { + "stars": 0, + "last_update": "2025-06-17 11:26:32", + "author_account_age_days": 707 }, "https://github.com/linshier/comfyui-remote-tools": { - "stars": 1, + "stars": 4, "last_update": "2024-05-28 07:44:23", - "author_account_age_days": 3962 + "author_account_age_days": 4401 + }, + "https://github.com/lisaks/comfyui-panelforge": { + "stars": 5, + "last_update": "2025-04-29 00:25:00", + "author_account_age_days": 1345 }, "https://github.com/liuqianhonga/ComfyUI-Html2Image": { - "stars": 5, - "last_update": "2024-12-07 13:41:35", - "author_account_age_days": 357 + "stars": 15, + "last_update": "2025-06-22 07:58:49", + "author_account_age_days": 796 }, "https://github.com/liuqianhonga/ComfyUI-Image-Compressor": { - "stars": 7, - "last_update": "2024-12-07 13:26:44", - "author_account_age_days": 357 + "stars": 25, + "last_update": "2025-06-22 08:32:22", + "author_account_age_days": 796 + }, + "https://github.com/liuqianhonga/ComfyUI-QHNodes": { + "stars": 3, + "last_update": "2025-06-22 08:33:17", + "author_account_age_days": 796 }, "https://github.com/liuqianhonga/ComfyUI-String-Helper": { - "stars": 1, - "last_update": "2024-12-11 02:03:41", - "author_account_age_days": 357 + "stars": 10, + "last_update": "2025-06-22 07:56:48", + "author_account_age_days": 796 }, "https://github.com/liushuchun/ComfyUI_Lora_List_With_Url_Loader": { "stars": 2, "last_update": "2024-09-26 12:38:32", - "author_account_age_days": 4217 + "author_account_age_days": 4656 }, "https://github.com/liusida/ComfyUI-AutoCropFaces": { - "stars": 62, + "stars": 139, "last_update": "2024-08-12 17:38:17", - "author_account_age_days": 3377 + "author_account_age_days": 3817 }, "https://github.com/liusida/ComfyUI-B-LoRA": { - "stars": 67, + "stars": 77, "last_update": "2024-06-18 03:17:46", - "author_account_age_days": 3377 + "author_account_age_days": 3817 }, "https://github.com/liusida/ComfyUI-Debug": { - "stars": 7, + "stars": 14, "last_update": "2024-06-14 10:25:26", - "author_account_age_days": 3377 + "author_account_age_days": 3817 }, "https://github.com/liusida/ComfyUI-Login": { - "stars": 97, - "last_update": "2024-11-15 01:35:25", - "author_account_age_days": 3377 + "stars": 213, + "last_update": "2025-10-31 03:29:37", + "author_account_age_days": 3817 }, "https://github.com/liusida/ComfyUI-SD3-nodes": { - "stars": 5, + "stars": 8, "last_update": "2024-06-14 13:01:41", - "author_account_age_days": 3377 + "author_account_age_days": 3817 + }, + "https://github.com/livepeer/ComfyUI-Stream-Pack": { + "stars": 19, + "last_update": "2025-09-25 16:22:41", + "author_account_age_days": 3316 }, "https://github.com/ljleb/comfy-mecha": { - "stars": 58, - "last_update": "2024-11-09 23:42:33", - "author_account_age_days": 2633 + "stars": 96, + "last_update": "2026-01-12 06:04:20", + "author_account_age_days": 3072 }, "https://github.com/lks-ai/ComfyUI-StableAudioSampler": { - "stars": 227, - "last_update": "2024-06-17 18:54:17", - "author_account_age_days": 269 + "stars": 267, + "last_update": "2025-01-07 08:33:57", + "author_account_age_days": 708 }, "https://github.com/lks-ai/anynode": { - "stars": 504, + "stars": 550, "last_update": "2024-07-07 03:45:48", - "author_account_age_days": 269 + "author_account_age_days": 708 + }, + "https://github.com/lldacing/ComfyUI_BEN_ll": { + "stars": 4, + "last_update": "2025-05-22 07:01:42", + "author_account_age_days": 2702 }, "https://github.com/lldacing/ComfyUI_BiRefNet_ll": { - "stars": 98, - "last_update": "2024-11-18 06:35:22", - "author_account_age_days": 2263 + "stars": 273, + "last_update": "2025-06-01 16:39:20", + "author_account_age_days": 2702 + }, + "https://github.com/lldacing/ComfyUI_Patches_ll": { + "stars": 121, + "last_update": "2026-01-12 04:51:44", + "author_account_age_days": 2702 + }, + "https://github.com/lldacing/ComfyUI_PuLID_Flux_ll": { + "stars": 451, + "last_update": "2025-11-07 05:19:50", + "author_account_age_days": 2702 }, "https://github.com/lldacing/ComfyUI_StableDelight_ll": { - "stars": 5, - "last_update": "2024-11-29 11:37:27", - "author_account_age_days": 2263 + "stars": 14, + "last_update": "2025-04-08 06:22:43", + "author_account_age_days": 2702 }, "https://github.com/lldacing/ComfyUI_StableHair_ll": { - "stars": 35, - "last_update": "2024-12-01 11:57:50", - "author_account_age_days": 2263 + "stars": 79, + "last_update": "2025-03-31 09:16:21", + "author_account_age_days": 2702 }, "https://github.com/lldacing/comfyui-easyapi-nodes": { - "stars": 54, - "last_update": "2024-12-03 06:56:41", - "author_account_age_days": 2263 + "stars": 93, + "last_update": "2025-12-10 10:58:04", + "author_account_age_days": 2702 + }, + "https://github.com/llikethat/ComfyUI-faceExtracter": { + "stars": 2, + "last_update": "2026-01-14 06:36:45", + "author_account_age_days": 4787 + }, + "https://github.com/llikethat/ComfyUI-faceExtractor": { + "stars": 2, + "last_update": "2026-01-14 06:36:45", + "author_account_age_days": 4787 + }, + "https://github.com/llikethat/ComfyUI-iseebetter": { + "stars": 1, + "last_update": "2025-11-29 10:56:25", + "author_account_age_days": 4787 }, "https://github.com/lo-th/Comfyui_three_js": { - "stars": 11, - "last_update": "2024-12-09 22:37:22", - "author_account_age_days": 4649 + "stars": 21, + "last_update": "2025-06-12 08:18:17", + "author_account_age_days": 5089 }, "https://github.com/lodestone-rock/ComfyUI_FluxMod": { - "stars": 23, - "last_update": "2024-11-25 20:56:04", - "author_account_age_days": 753 + "stars": 124, + "last_update": "2025-06-22 09:44:09", + "author_account_age_days": 1192 + }, + "https://github.com/loficoding/ComfyUI-Node-HUD": { + "stars": 1, + "last_update": "2026-01-24 21:33:16", + "author_account_age_days": 1544 + }, + "https://github.com/logicalor/comfyui_friendly_pipe": { + "stars": 1, + "last_update": "2025-12-28 05:24:10", + "author_account_age_days": 4507 + }, + "https://github.com/logicalor/comfyui_multi_replace": { + "stars": 1, + "last_update": "2025-12-16 00:16:32", + "author_account_age_days": 4507 + }, + "https://github.com/logicalor/comfyui_path_sanitizer": { + "stars": 0, + "last_update": "2025-12-26 19:29:59", + "author_account_age_days": 4507 + }, + "https://github.com/logicalor/comfyui_text_to_pose": { + "stars": 2, + "last_update": "2026-01-13 20:20:46", + "author_account_age_days": 4507 }, "https://github.com/logtd/ComfyUI-4DHumans": { - "stars": 4, + "stars": 8, "last_update": "2024-08-30 21:12:55", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-APGScaling": { - "stars": 28, + "stars": 29, "last_update": "2024-10-06 20:51:27", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-DiLightNet": { - "stars": 8, + "stars": 11, "last_update": "2024-10-06 03:48:15", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-FLATTEN": { - "stars": 105, + "stars": 110, "last_update": "2024-08-30 21:18:55", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-Fluxtapoz": { - "stars": 747, - "last_update": "2024-12-03 02:36:52", - "author_account_age_days": 292 + "stars": 1394, + "last_update": "2025-01-09 02:38:40", + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-InstanceDiffusion": { - "stars": 173, + "stars": 177, "last_update": "2024-08-30 21:17:51", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-InversedNoise": { - "stars": 11, + "stars": 16, "last_update": "2024-05-22 00:10:18", - "author_account_age_days": 292 - }, - "https://github.com/logtd/ComfyUI-LTXTricks": { - "stars": 233, - "last_update": "2024-12-03 02:27:21", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-MochiEdit": { - "stars": 265, + "stars": 296, "last_update": "2024-11-03 18:38:16", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-MotionThiefExperiment": { - "stars": 40, + "stars": 41, "last_update": "2024-08-30 21:19:48", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-RAVE_ATTN": { - "stars": 14, + "stars": 13, "last_update": "2024-05-22 00:20:03", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-ReNoise": { "stars": 6, "last_update": "2024-09-01 22:17:49", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-RefSampling": { - "stars": 6, + "stars": 5, "last_update": "2024-09-11 20:56:01", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-RefUNet": { - "stars": 42, + "stars": 45, "last_update": "2024-08-30 21:20:20", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-SEGAttention": { - "stars": 34, + "stars": 40, "last_update": "2024-09-11 20:55:00", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-SSREncoder": { - "stars": 2, + "stars": 1, "last_update": "2024-08-24 23:33:09", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-SeeCoder": { - "stars": 1, + "stars": 0, "last_update": "2024-08-24 23:31:10", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-TrackingNodes": { - "stars": 18, + "stars": 19, "last_update": "2024-05-22 00:03:27", - "author_account_age_days": 292 + "author_account_age_days": 731 }, "https://github.com/logtd/ComfyUI-ViewCrafter": { - "stars": 9, + "stars": 14, "last_update": "2024-09-30 19:32:41", - "author_account_age_days": 292 + "author_account_age_days": 731 + }, + "https://github.com/lokinou/comfyui-better-flow": { + "stars": 2, + "last_update": "2025-12-30 00:36:10", + "author_account_age_days": 4763 + }, + "https://github.com/lokinou/comfyui-offload-models": { + "stars": 2, + "last_update": "2025-10-05 04:33:49", + "author_account_age_days": 4763 + }, + "https://github.com/lonelyowl13/artist_randomizer": { + "stars": 1, + "last_update": "2026-01-16 17:04:10", + "author_account_age_days": 498 }, "https://github.com/longgui0318/comfyui-common-util": { - "stars": 2, - "last_update": "2024-11-28 20:55:56", - "author_account_age_days": 4334 + "stars": 1, + "last_update": "2025-04-07 08:19:05", + "author_account_age_days": 4774 }, "https://github.com/longgui0318/comfyui-llm-assistant": { "stars": 8, "last_update": "2024-09-17 13:12:43", - "author_account_age_days": 4334 + "author_account_age_days": 4774 }, "https://github.com/longgui0318/comfyui-magic-clothing": { - "stars": 74, + "stars": 82, "last_update": "2024-08-08 14:42:04", - "author_account_age_days": 4334 + "author_account_age_days": 4774 }, "https://github.com/longgui0318/comfyui-mask-util": { - "stars": 7, - "last_update": "2024-06-30 03:43:58", - "author_account_age_days": 4334 + "stars": 8, + "last_update": "2025-04-07 08:18:11", + "author_account_age_days": 4774 + }, + "https://github.com/loockluo/comfyui-whisperx-pro": { + "stars": 6, + "last_update": "2025-11-04 16:27:20", + "author_account_age_days": 3449 + }, + "https://github.com/lord-lethris/ComfyUI-RPG-Characters": { + "stars": 3, + "last_update": "2025-12-27 15:56:50", + "author_account_age_days": 5033 }, "https://github.com/lordgasmic/comfyui_save_image_with_options": { "stars": 0, "last_update": "2024-06-20 16:39:23", - "author_account_age_days": 4937 + "author_account_age_days": 5376 }, "https://github.com/lordgasmic/comfyui_wildcards": { - "stars": 6, + "stars": 16, "last_update": "2024-06-20 16:52:14", - "author_account_age_days": 4937 + "author_account_age_days": 5376 + }, + "https://github.com/lovelybbq/comfyui-custom-node-color": { + "stars": 17, + "last_update": "2026-01-02 17:21:31", + "author_account_age_days": 1564 + }, + "https://github.com/lovisdotio/ComfyUI-Replace-First-Frame-Last-Frame": { + "stars": 1, + "last_update": "2025-11-21 14:03:38", + "author_account_age_days": 754 + }, + "https://github.com/loz2754/AUN-ComfyUI-Nodes": { + "stars": 0, + "last_update": "2026-02-19 19:08:35", + "author_account_age_days": 505 }, "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": { - "stars": 417, - "last_update": "2024-11-30 07:01:55", - "author_account_age_days": 4220 + "stars": 979, + "last_update": "2026-02-18 20:16:41", + "author_account_age_days": 4660 }, "https://github.com/lquesada/ComfyUI-Interactive": { - "stars": 28, - "last_update": "2024-11-23 07:25:20", - "author_account_age_days": 4220 + "stars": 49, + "last_update": "2025-05-01 03:39:47", + "author_account_age_days": 4660 }, "https://github.com/lquesada/ComfyUI-Prompt-Combinator": { - "stars": 32, - "last_update": "2024-08-14 20:12:51", - "author_account_age_days": 4220 + "stars": 54, + "last_update": "2025-04-16 20:52:10", + "author_account_age_days": 4660 + }, + "https://github.com/lrzjason/ComfyUI-Watermark-Detection": { + "stars": 46, + "last_update": "2025-05-28 20:46:50", + "author_account_age_days": 4272 }, "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": { - "stars": 96, - "last_update": "2024-12-10 19:34:12", - "author_account_age_days": 3833 + "stars": 244, + "last_update": "2025-04-03 09:09:43", + "author_account_age_days": 4272 }, "https://github.com/lrzjason/Comfyui-Kolors-Utils": { "stars": 17, - "last_update": "2024-07-26 11:12:25", - "author_account_age_days": 3833 + "last_update": "2025-05-05 16:10:11", + "author_account_age_days": 4272 + }, + "https://github.com/lrzjason/Comfyui-LatentUtils": { + "stars": 95, + "last_update": "2025-12-06 16:50:41", + "author_account_age_days": 4272 + }, + "https://github.com/lrzjason/Comfyui-LoraUtils": { + "stars": 30, + "last_update": "2026-01-06 08:08:12", + "author_account_age_days": 4272 + }, + "https://github.com/lrzjason/Comfyui-QwenEditUtils": { + "stars": 744, + "last_update": "2026-01-24 18:45:12", + "author_account_age_days": 4272 + }, + "https://github.com/lrzjason/Comfyui-ThinkRemover": { + "stars": 4, + "last_update": "2025-02-07 10:57:50", + "author_account_age_days": 4272 }, "https://github.com/ltdrdata/ComfyUI-Impact-Pack": { - "stars": 1964, - "last_update": "2024-12-10 20:25:32", - "author_account_age_days": 632 + "stars": 2978, + "last_update": "2026-01-02 12:05:18", + "author_account_age_days": 1071 }, "https://github.com/ltdrdata/ComfyUI-Impact-Subpack": { - "stars": 56, - "last_update": "2024-12-05 19:44:11", - "author_account_age_days": 632 + "stars": 316, + "last_update": "2025-07-22 03:44:20", + "author_account_age_days": 1071 }, "https://github.com/ltdrdata/ComfyUI-Inspire-Pack": { - "stars": 455, - "last_update": "2024-11-30 16:28:22", - "author_account_age_days": 632 + "stars": 755, + "last_update": "2025-11-17 17:03:31", + "author_account_age_days": 1071 }, "https://github.com/ltdrdata/ComfyUI-Manager": { - "stars": 7368, - "last_update": "2024-12-11 13:16:44", - "author_account_age_days": 632 + "stars": 13694, + "last_update": "2026-02-23 17:22:21", + "author_account_age_days": 684 + }, + "https://github.com/ltdrdata/comfyui-connection-helper": { + "stars": 46, + "last_update": "2025-04-07 13:49:56", + "author_account_age_days": 1071 + }, + "https://github.com/ltdrdata/was-node-suite-comfyui": { + "stars": 176, + "last_update": "2025-09-26 22:22:30", + "author_account_age_days": 1071 + }, + "https://github.com/lthero-big/ComfyUI-GaussianShadingWatermark": { + "stars": 5, + "last_update": "2025-11-11 02:06:03", + "author_account_age_days": 2003 }, "https://github.com/luandev/ComfyUI-CrewAI": { - "stars": 34, - "last_update": "2024-08-01 18:44:41", - "author_account_age_days": 3977 + "stars": 58, + "last_update": "2025-01-17 18:06:27", + "author_account_age_days": 4417 }, - "https://github.com/lucafoscili/comfyui-lf": { - "stars": 40, - "last_update": "2024-12-10 18:46:04", - "author_account_age_days": 2204 + "https://github.com/lucasgattas/ComfyUI-Egregora-Audio-Super-Resolution": { + "stars": 52, + "last_update": "2026-02-03 19:49:54", + "author_account_age_days": 3043 + }, + "https://github.com/lucasgattas/ComfyUI-Egregora-Frames-Animation-Nodes": { + "stars": 2, + "last_update": "2026-02-03 19:51:36", + "author_account_age_days": 3043 + }, + "https://github.com/lucasgattas/comfyui-egregora-divide-and-enhance": { + "stars": 1, + "last_update": "2026-02-04 03:27:00", + "author_account_age_days": 3043 + }, + "https://github.com/lucianoambrosini/ComfyUI-ATk-Nodes": { + "stars": 2, + "last_update": "2025-06-25 05:04:14", + "author_account_age_days": 3725 + }, + "https://github.com/luckdvr/comfyui-image-annotator": { + "stars": 6, + "last_update": "2026-02-05 15:02:20", + "author_account_age_days": 1012 }, "https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper": { - "stars": 32, + "stars": 92, "last_update": "2024-12-02 22:10:41", - "author_account_age_days": 1607 + "author_account_age_days": 2046 + }, + "https://github.com/luke-mino-altherr/ComfyUI-LatentReverb": { + "stars": 3, + "last_update": "2025-08-13 00:14:13", + "author_account_age_days": 4121 + }, + "https://github.com/lum3on/ComfyUI-FrameUtilitys": { + "stars": 14, + "last_update": "2025-10-17 20:41:40", + "author_account_age_days": 383 + }, + "https://github.com/lum3on/ComfyUI-ModelQuantizer": { + "stars": 108, + "last_update": "2025-06-14 20:45:21", + "author_account_age_days": 383 + }, + "https://github.com/lum3on/ComfyUI-StableAudioX": { + "stars": 45, + "last_update": "2025-06-24 22:55:28", + "author_account_age_days": 383 + }, + "https://github.com/lum3on/ComfyUI_MJ-Scraper": { + "stars": 4, + "last_update": "2025-07-06 18:35:33", + "author_account_age_days": 383 + }, + "https://github.com/lum3on/ComfyUI_NativeBlockSwap": { + "stars": 1, + "last_update": "2026-01-05 23:01:37", + "author_account_age_days": 384 + }, + "https://github.com/lum3on/ComfyUI_Reve-API": { + "stars": 12, + "last_update": "2025-09-16 12:41:07", + "author_account_age_days": 384 + }, + "https://github.com/lum3on/comfyui_EdgeTAM": { + "stars": 2, + "last_update": "2025-06-27 15:36:58", + "author_account_age_days": 383 + }, + "https://github.com/lum3on/comfyui_HiDream-Sampler": { + "stars": 483, + "last_update": "2025-04-22 07:21:41", + "author_account_age_days": 383 + }, + "https://github.com/lum3on/comfyui_LLM_Polymath": { + "stars": 70, + "last_update": "2025-12-17 16:25:12", + "author_account_age_days": 383 }, "https://github.com/lumalabs/ComfyUI-LumaAI-API": { - "stars": 186, - "last_update": "2024-12-10 02:29:05", - "author_account_age_days": 1281 + "stars": 207, + "last_update": "2025-03-31 22:54:28", + "author_account_age_days": 1720 + }, + "https://github.com/lunarring/bitalino_comfy": { + "stars": 0, + "last_update": "2025-02-21 09:03:54", + "author_account_age_days": 1852 + }, + "https://github.com/luoq24/ydem_nodes": { + "stars": 0, + "last_update": "2026-02-03 15:34:40", + "author_account_age_days": 2403 + }, + "https://github.com/luxdelux7/ComfyUI-Forbidden-Vision": { + "stars": 6, + "last_update": "2025-12-06 09:18:26", + "author_account_age_days": 469 + }, + "https://github.com/lxe/ComfyUI-OpenAI-Compat-LLM-Node": { + "stars": 3, + "last_update": "2025-05-28 05:39:55", + "author_account_age_days": 5108 }, "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": { + "stars": 3, + "last_update": "2025-09-29 00:50:12", + "author_account_age_days": 924 + }, + "https://github.com/m3rr/h4_ToolKit": { "stars": 1, - "last_update": "2024-05-22 20:36:07", - "author_account_age_days": 485 + "last_update": "2026-01-24 16:46:38", + "author_account_age_days": 910 + }, + "https://github.com/maartenharms/comfyui-flowpath": { + "stars": 36, + "last_update": "2026-02-05 08:09:37", + "author_account_age_days": 2670 + }, + "https://github.com/maartenharms/comfyui-promptflow": { + "stars": 12, + "last_update": "2026-02-05 14:22:04", + "author_account_age_days": 2670 }, "https://github.com/madtunebk/ComfyUI-ControlnetAux": { - "stars": 13, + "stars": 17, "last_update": "2024-06-28 16:16:51", - "author_account_age_days": 631 + "author_account_age_days": 1070 }, "https://github.com/maepopi/Diffusers-in-ComfyUI": { - "stars": 4, - "last_update": "2024-12-07 17:27:17", - "author_account_age_days": 2528 + "stars": 7, + "last_update": "2026-01-17 23:19:29", + "author_account_age_days": 2967 }, - "https://github.com/magic-quill/ComfyUI_MagicQuill": { - "stars": 39, - "last_update": "2024-12-09 09:26:17", - "author_account_age_days": 90 + "https://github.com/magekinnarus/ComfyUI-V-Prediction-Node": { + "stars": 3, + "last_update": "2026-02-22 10:21:23", + "author_account_age_days": 1241 + }, + "https://github.com/magic-eraser-org/ComfyUI-Unwatermark": { + "stars": 7, + "last_update": "2025-05-14 06:50:13", + "author_account_age_days": 286 + }, + "https://github.com/maikgreubel/comfyui-loaddds": { + "stars": 0, + "last_update": "2025-10-12 15:04:26", + "author_account_age_days": 5421 + }, + "https://github.com/malkuthro/ComfyUI-Koolook": { + "stars": 0, + "last_update": "2026-02-15 15:12:34", + "author_account_age_days": 684 }, "https://github.com/maludwig/basix_image_filters": { + "stars": 6, + "last_update": "2025-05-15 23:29:38", + "author_account_age_days": 4115 + }, + "https://github.com/mamorett/ComfyUI-Flux2proReplicate": { + "stars": 1, + "last_update": "2025-11-26 12:06:56", + "author_account_age_days": 1361 + }, + "https://github.com/mamorett/ComfyUI_minicpmv4": { + "stars": 1, + "last_update": "2025-10-23 14:42:23", + "author_account_age_days": 1361 + }, + "https://github.com/mang01010/MangoNodePack": { + "stars": 3, + "last_update": "2025-10-03 15:17:39", + "author_account_age_days": 360 + }, + "https://github.com/mango-rgb/ComfyUI-Mango-Random-node": { "stars": 2, - "last_update": "2024-11-06 20:38:07", - "author_account_age_days": 3676 + "last_update": "2025-01-21 11:31:10", + "author_account_age_days": 1013 + }, + "https://github.com/mangobyed/ComfyUI_Detection_List": { + "stars": 1, + "last_update": "2025-08-22 20:53:01", + "author_account_age_days": 475 + }, + "https://github.com/manifestations/comfyui-globetrotter": { + "stars": 4, + "last_update": "2025-07-07 08:47:57", + "author_account_age_days": 4763 }, "https://github.com/mape/ComfyUI-mape-Helpers": { - "stars": 166, + "stars": 184, "last_update": "2024-06-27 16:30:32", - "author_account_age_days": 5924 + "author_account_age_days": 6363 }, "https://github.com/maracman/ComfyUI-SubjectStyle-CSV": { - "stars": 4, + "stars": 3, "last_update": "2024-06-24 13:53:39", - "author_account_age_days": 1337 + "author_account_age_days": 1776 + }, + "https://github.com/marawan206/ComfyUI-FaceCropper": { + "stars": 10, + "last_update": "2025-03-07 01:44:44", + "author_account_age_days": 779 + }, + "https://github.com/marco-zanella/ComfyUI-BooleanExpression": { + "stars": 0, + "last_update": "2025-08-17 02:05:40", + "author_account_age_days": 4127 + }, + "https://github.com/marcoc2/ComfyUI-AnotherUtils": { + "stars": 1, + "last_update": "2025-08-27 01:08:27", + "author_account_age_days": 5793 + }, + "https://github.com/marcoc2/ComfyUI_CogView4-6B_diffusers": { + "stars": 2, + "last_update": "2025-03-04 17:43:50", + "author_account_age_days": 5793 }, "https://github.com/marduk191/ComfyUI-Fluxpromptenhancer": { - "stars": 60, - "last_update": "2024-11-01 22:09:01", - "author_account_age_days": 4585 + "stars": 119, + "last_update": "2025-08-03 03:41:23", + "author_account_age_days": 5024 + }, + "https://github.com/marduk191/ComfyUI-TF32-Enabler": { + "stars": 5, + "last_update": "2025-12-31 20:55:44", + "author_account_age_days": 5024 + }, + "https://github.com/marduk191/ComfyUI-ZImageTurboHQNodes": { + "stars": 2, + "last_update": "2026-02-14 11:43:52", + "author_account_age_days": 5024 + }, + "https://github.com/marduk191/ComfyUI_LFM2-350M": { + "stars": 2, + "last_update": "2026-01-11 03:07:24", + "author_account_age_days": 5024 }, "https://github.com/marduk191/comfyui-marnodes": { - "stars": 4, - "last_update": "2024-09-11 06:05:49", - "author_account_age_days": 4585 + "stars": 3, + "last_update": "2025-03-27 13:26:45", + "author_account_age_days": 5024 + }, + "https://github.com/marduk191/comfyui_qwen_runninghub": { + "stars": 0, + "last_update": "2025-11-23 16:45:09", + "author_account_age_days": 5024 }, "https://github.com/marhensa/sdxl-recommended-res-calc": { - "stars": 79, - "last_update": "2024-07-07 09:20:15", - "author_account_age_days": 4945 + "stars": 92, + "last_update": "2025-04-13 09:33:49", + "author_account_age_days": 5384 + }, + "https://github.com/marklieberman/ComfyUI-Liebs-Picker": { + "stars": 10, + "last_update": "2025-08-08 23:15:40", + "author_account_age_days": 4415 + }, + "https://github.com/marklieberman/ComfyUI-Liebs-Title": { + "stars": 0, + "last_update": "2025-05-12 23:32:28", + "author_account_age_days": 4415 + }, + "https://github.com/marklieberman/ComfyUI-Liebs-Toast": { + "stars": 1, + "last_update": "2025-05-12 23:34:55", + "author_account_age_days": 4415 }, "https://github.com/markuryy/ComfyUI-Flux-Prompt-Saver": { - "stars": 10, + "stars": 16, "last_update": "2024-10-30 10:25:15", - "author_account_age_days": 3048 + "author_account_age_days": 3487 + }, + "https://github.com/markuryy/ComfyUI-Simple-Video-XY-Plot": { + "stars": 3, + "last_update": "2025-03-12 18:18:54", + "author_account_age_days": 3487 + }, + "https://github.com/markuryy/ComfyUI-SuperLoader": { + "stars": 0, + "last_update": "2025-03-12 18:23:22", + "author_account_age_days": 3487 }, "https://github.com/martijnat/comfyui-previewlatent": { - "stars": 32, - "last_update": "2024-05-22 21:28:39", - "author_account_age_days": 3001 + "stars": 47, + "last_update": "2025-09-27 05:59:45", + "author_account_age_days": 3440 + }, + "https://github.com/martin-rizzo/ComfyUI-TinyBreaker": { + "stars": 41, + "last_update": "2025-08-29 23:04:42", + "author_account_age_days": 2206 + }, + "https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes": { + "stars": 128, + "last_update": "2026-02-23 19:18:39", + "author_account_age_days": 2206 }, "https://github.com/massao000/ComfyUI_aspect_ratios": { - "stars": 10, + "stars": 15, "last_update": "2024-05-22 22:23:10", - "author_account_age_days": 1577 + "author_account_age_days": 2016 }, "https://github.com/matan1905/ComfyUI-Serving-Toolkit": { - "stars": 59, - "last_update": "2024-10-17 18:59:44", - "author_account_age_days": 2910 + "stars": 70, + "last_update": "2025-05-01 10:03:33", + "author_account_age_days": 3349 + }, + "https://github.com/matorzhin/milan-nodes-comfyui": { + "stars": 1, + "last_update": "2025-06-05 16:37:41", + "author_account_age_days": 3262 + }, + "https://github.com/matthewfriedrichs/ComfyUI-ThoughtBubble": { + "stars": 14, + "last_update": "2026-01-15 09:44:08", + "author_account_age_days": 3441 }, "https://github.com/mattjohnpowell/comfyui-lmstudio-image-to-text-node": { - "stars": 6, - "last_update": "2024-08-28 09:50:09", - "author_account_age_days": 4720 + "stars": 43, + "last_update": "2025-08-22 14:25:23", + "author_account_age_days": 5159 }, "https://github.com/mav-rik/facerestore_cf": { - "stars": 225, - "last_update": "2024-05-22 20:53:23", - "author_account_age_days": 3090 + "stars": 324, + "last_update": "2025-06-21 08:02:17", + "author_account_age_days": 3530 + }, + "https://github.com/max-dingsda/OllamaTools": { + "stars": 3, + "last_update": "2026-01-17 10:14:50", + "author_account_age_days": 301 + }, + "https://github.com/maxczc/comfyui-sora-node": { + "stars": 0, + "last_update": "2025-12-13 06:26:26", + "author_account_age_days": 4252 + }, + "https://github.com/maximilianwicen/ComfyUI-MaxTools": { + "stars": 0, + "last_update": "2026-01-14 05:36:04", + "author_account_age_days": 4441 + }, + "https://github.com/maxious/comfyui-dap": { + "stars": 1, + "last_update": "2025-12-29 02:24:36", + "author_account_age_days": 6137 + }, + "https://github.com/maxmad62/ComfyUI-DiscordWebhookWithInput": { + "stars": 0, + "last_update": "2025-10-08 18:29:37", + "author_account_age_days": 1089 + }, + "https://github.com/mayunejie/ComfyUI-Allen-Yinpin": { + "stars": 0, + "last_update": "2025-12-02 03:08:44", + "author_account_age_days": 651 }, "https://github.com/mbrostami/ComfyUI-HF": { - "stars": 18, + "stars": 20, "last_update": "2024-05-27 21:45:33", - "author_account_age_days": 4492 + "author_account_age_days": 4931 }, "https://github.com/mbrostami/ComfyUI-TITrain": { - "stars": 8, - "last_update": "2024-08-14 02:19:27", - "author_account_age_days": 4492 + "stars": 13, + "last_update": "2025-07-21 16:58:23", + "author_account_age_days": 4931 + }, + "https://github.com/mcDandy/more_math": { + "stars": 2, + "last_update": "2026-02-23 14:21:46", + "author_account_age_days": 3595 }, "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding": { - "stars": 1143, - "last_update": "2024-08-10 12:59:59", - "author_account_age_days": 2271 + "stars": 1233, + "last_update": "2025-03-14 09:33:32", + "author_account_age_days": 2711 + }, + "https://github.com/meanin2/comfyui-MGnodes": { + "stars": 2, + "last_update": "2025-09-10 15:42:57", + "author_account_age_days": 1264 }, "https://github.com/meap158/ComfyUI-Background-Replacement": { - "stars": 53, - "last_update": "2024-05-22 20:43:52", - "author_account_age_days": 3373 + "stars": 64, + "last_update": "2025-01-06 23:45:28", + "author_account_age_days": 3812 }, "https://github.com/meap158/ComfyUI-GPU-temperature-protection": { "stars": 3, "last_update": "2024-05-22 20:43:21", - "author_account_age_days": 3373 + "author_account_age_days": 3812 }, "https://github.com/meap158/ComfyUI-Prompt-Expansion": { - "stars": 70, + "stars": 80, "last_update": "2024-05-22 20:43:37", - "author_account_age_days": 3373 + "author_account_age_days": 3812 }, "https://github.com/mech-tools/comfyui-checkpoint-automatic-config": { - "stars": 4, - "last_update": "2024-09-05 14:23:29", - "author_account_age_days": 4610 + "stars": 3, + "last_update": "2025-09-06 00:52:37", + "author_account_age_days": 5049 + }, + "https://github.com/mediocreatmybest/ComfyUI-Transformers-Pipeline": { + "stars": 3, + "last_update": "2025-08-10 00:49:32", + "author_account_age_days": 1811 }, "https://github.com/melMass/comfy_mtb": { - "stars": 466, - "last_update": "2024-12-10 23:12:12", - "author_account_age_days": 3915 + "stars": 683, + "last_update": "2026-01-26 12:52:09", + "author_account_age_days": 4354 + }, + "https://github.com/melMass/comfy_oiio": { + "stars": 11, + "last_update": "2025-09-08 19:18:29", + "author_account_age_days": 4354 + }, + "https://github.com/mengqin/ComfyUI-TwinFlow": { + "stars": 41, + "last_update": "2026-01-11 05:09:10", + "author_account_age_days": 4331 + }, + "https://github.com/mengqin/ComfyUI-UnetBnbModelLoader": { + "stars": 9, + "last_update": "2025-11-29 18:25:47", + "author_account_age_days": 4331 }, "https://github.com/mephisto83/petty-paint-comfyui-node": { "stars": 3, "last_update": "2024-10-23 22:23:03", - "author_account_age_days": 3842 + "author_account_age_days": 4282 + }, + "https://github.com/mercu-lore/-Multiple-Angle-Camera-Control": { + "stars": 107, + "last_update": "2025-11-18 16:14:09", + "author_account_age_days": 2084 + }, + "https://github.com/mercu-lore/BoxBox": { + "stars": 2, + "last_update": "2026-02-04 18:54:20", + "author_account_age_days": 2084 }, "https://github.com/meshmesh-io/ComfyUI-MeshMesh": { "stars": 0, "last_update": "2024-05-23 00:10:09", - "author_account_age_days": 398 + "author_account_age_days": 837 }, "https://github.com/meshmesh-io/mm-comfyui-loopback": { "stars": 1, "last_update": "2024-05-23 00:09:57", - "author_account_age_days": 398 + "author_account_age_days": 837 }, "https://github.com/meshmesh-io/mm-comfyui-megamask": { "stars": 0, "last_update": "2024-05-23 00:09:47", - "author_account_age_days": 398 + "author_account_age_days": 837 }, "https://github.com/metal3d/ComfyUI_Human_Parts": { - "stars": 18, - "last_update": "2024-09-13 05:15:40", - "author_account_age_days": 5643 + "stars": 40, + "last_update": "2025-03-07 08:14:46", + "author_account_age_days": 6082 + }, + "https://github.com/metal3d/ComfyUI_M3D_photo_effects": { + "stars": 2, + "last_update": "2025-03-11 12:09:55", + "author_account_age_days": 6082 }, "https://github.com/metncelik/comfyui_met_suite": { - "stars": 1, - "last_update": "2024-07-07 13:40:26", - "author_account_age_days": 793 + "stars": 2, + "last_update": "2025-03-27 12:27:48", + "author_account_age_days": 1232 }, "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext": { - "stars": 2, - "last_update": "2024-11-29 13:12:52", - "author_account_age_days": 2487 + "stars": 9, + "last_update": "2025-07-02 09:36:48", + "author_account_age_days": 2927 }, "https://github.com/mgfxer/ComfyUI-FrameFX": { - "stars": 23, + "stars": 25, "last_update": "2024-07-20 13:58:46", - "author_account_age_days": 172 + "author_account_age_days": 611 }, "https://github.com/miaoshouai/ComfyUI-Miaoshouai-Tagger": { - "stars": 287, - "last_update": "2024-11-05 00:07:48", - "author_account_age_days": 638 + "stars": 509, + "last_update": "2025-04-26 02:32:18", + "author_account_age_days": 1077 + }, + "https://github.com/miaoshouai/ComfyUI-Video-Segmentation": { + "stars": 36, + "last_update": "2025-08-10 09:11:18", + "author_account_age_days": 1077 + }, + "https://github.com/michaelgold/ComfyUI-HF-Model-Downloader": { + "stars": 7, + "last_update": "2026-02-23 03:51:22", + "author_account_age_days": 5966 + }, + "https://github.com/mickmumpitz/ComfyUI-Mickmumpitz-Nodes": { + "stars": 0, + "last_update": "2026-02-23 16:34:48", + "author_account_age_days": 222 }, "https://github.com/microbote/ComfyUI-StyledCLIPTextEncode": { "stars": 2, "last_update": "2024-08-27 03:37:29", - "author_account_age_days": 2178 + "author_account_age_days": 2617 + }, + "https://github.com/migero/ComfyUI-Equirectangular-Strip": { + "stars": 0, + "last_update": "2026-01-13 12:10:37", + "author_account_age_days": 4697 }, "https://github.com/mihaiiancu/ComfyUI_Inpaint": { "stars": 9, "last_update": "2024-05-22 18:19:38", - "author_account_age_days": 2831 + "author_account_age_days": 3270 }, "https://github.com/mikebilly/Transparent-background-comfyUI": { - "stars": 1, - "last_update": "2024-07-17 15:59:31", - "author_account_age_days": 2734 + "stars": 2, + "last_update": "2025-01-29 16:29:23", + "author_account_age_days": 3173 + }, + "https://github.com/mikecaronna/comfyui_c2pa_signer": { + "stars": 2, + "last_update": "2025-10-06 14:27:34", + "author_account_age_days": 2245 + }, + "https://github.com/mikemojen/ComfyUI-HappNodeSet": { + "stars": 0, + "last_update": "2026-02-18 06:55:11", + "author_account_age_days": 58 + }, + "https://github.com/mikeshuangyan/ComfyUI_MqUtils": { + "stars": 0, + "last_update": "2025-07-31 08:46:16", + "author_account_age_days": 4918 + }, + "https://github.com/mikesimone/ComfyUI-LinkModeToggle": { + "stars": 0, + "last_update": "2025-11-09 01:35:16", + "author_account_age_days": 2948 + }, + "https://github.com/mikheys/comfyui-gemini-mikheys": { + "stars": 2, + "last_update": "2025-08-29 15:15:54", + "author_account_age_days": 3011 }, "https://github.com/mikkel/ComfyUI-text-overlay": { - "stars": 51, + "stars": 62, "last_update": "2024-08-17 16:09:41", - "author_account_age_days": 6086 + "author_account_age_days": 6525 }, "https://github.com/mikkel/comfyui-mask-boundingbox": { - "stars": 28, + "stars": 31, "last_update": "2024-05-22 21:26:23", - "author_account_age_days": 6086 + "author_account_age_days": 6525 + }, + "https://github.com/mingchoi/ComfyUI-Prompt-Iterator": { + "stars": 0, + "last_update": "2026-01-12 22:08:38", + "author_account_age_days": 4817 }, "https://github.com/mingsky-ai/ComfyUI-MingNodes": { - "stars": 200, + "stars": 488, "last_update": "2024-10-18 16:51:14", - "author_account_age_days": 91 + "author_account_age_days": 530 + }, + "https://github.com/mingyi456/ComfyUI-DFloat11-Extended": { + "stars": 45, + "last_update": "2026-02-05 17:58:05", + "author_account_age_days": 2109 + }, + "https://github.com/mira-6/comfyui-sasolver": { + "stars": 5, + "last_update": "2025-02-23 21:44:23", + "author_account_age_days": 1001 }, "https://github.com/mirabarukaso/ComfyUI_Mira": { - "stars": 51, - "last_update": "2024-12-10 11:12:43", - "author_account_age_days": 1390 + "stars": 177, + "last_update": "2026-01-12 13:11:01", + "author_account_age_days": 1830 + }, + "https://github.com/mirabarukaso/ComfyUI_MiraSubPack": { + "stars": 0, + "last_update": "2026-02-23 14:47:13", + "author_account_age_days": 1830 }, "https://github.com/misterjoessef/MLTask_ComfyUI": { "stars": 1, "last_update": "2024-08-17 16:45:24", - "author_account_age_days": 908 + "author_account_age_days": 1347 }, - "https://github.com/mithamunda/ComfyUI-SD3.5-Latent-Size-Picker": { - "stars": 1, - "last_update": "2024-10-29 12:04:37", - "author_account_age_days": 141 - }, - "https://github.com/mithamunda/ComfyUI-TogetherVision": { - "stars": 1, - "last_update": "2024-12-04 13:44:59", - "author_account_age_days": 141 - }, - "https://github.com/mithamunda/ComfyUI-ollama_killer": { - "stars": 2, - "last_update": "2024-10-27 13:47:22", - "author_account_age_days": 141 + "https://github.com/mittimi/ComfyUI_mittimiDaisyChainText": { + "stars": 0, + "last_update": "2025-07-09 08:51:24", + "author_account_age_days": 4619 }, "https://github.com/mittimi/ComfyUI_mittimiLoadPreset2": { - "stars": 3, - "last_update": "2024-11-02 15:01:29", - "author_account_age_days": 4180 + "stars": 4, + "last_update": "2025-06-30 11:17:30", + "author_account_age_days": 4619 }, "https://github.com/mittimi/ComfyUI_mittimiRecalculateSize": { - "stars": 1, + "stars": 0, "last_update": "2024-09-07 07:43:41", - "author_account_age_days": 4180 + "author_account_age_days": 4619 }, "https://github.com/mittimi/ComfyUI_mittimiWidthHeight": { - "stars": 2, - "last_update": "2024-09-07 07:48:03", - "author_account_age_days": 4180 + "stars": 1, + "last_update": "2025-12-11 15:08:49", + "author_account_age_days": 4619 + }, + "https://github.com/mo230761/InsertAnything-ComfyUI-official": { + "stars": 26, + "last_update": "2025-07-16 11:05:05", + "author_account_age_days": 1583 + }, + "https://github.com/mobcat40/ComfyUI-PromptChain": { + "stars": 6, + "last_update": "2025-12-04 19:14:47", + "author_account_age_days": 214 + }, + "https://github.com/mobilehacker/ComfyUI_format-lora-stack": { + "stars": 4, + "last_update": "2025-04-04 19:45:39", + "author_account_age_days": 4418 + }, + "https://github.com/mochidroppot/ComfyUI-ProxyFix": { + "stars": 0, + "last_update": "2025-10-03 02:29:35", + "author_account_age_days": 173 }, "https://github.com/modelscope/comfyscope": { - "stars": 3, + "stars": 4, "last_update": "2024-11-20 08:48:36", - "author_account_age_days": 870 + "author_account_age_days": 1309 }, "https://github.com/modelscope/scepter": { - "stars": 437, - "last_update": "2024-12-07 16:31:54", - "author_account_age_days": 870 + "stars": 551, + "last_update": "2025-04-03 06:00:15", + "author_account_age_days": 1309 }, "https://github.com/modusCell/ComfyUI-dimension-node-modusCell": { - "stars": 1, + "stars": 2, "last_update": "2024-05-22 22:08:50", - "author_account_age_days": 4774 + "author_account_age_days": 5213 + }, + "https://github.com/mohseni-mr/ComfyUI-Mohseni-Kit": { + "stars": 1, + "last_update": "2025-02-17 07:14:46", + "author_account_age_days": 1324 + }, + "https://github.com/mohsensd1373/comfyui_wordpress": { + "stars": 0, + "last_update": "2025-05-08 02:25:36", + "author_account_age_days": 4462 + }, + "https://github.com/molbal/ComfyUI-LLM-CLIP": { + "stars": 5, + "last_update": "2026-01-21 11:59:14", + "author_account_age_days": 4506 + }, + "https://github.com/monkeyWie/ComfyUI-FormInput": { + "stars": 0, + "last_update": "2025-05-12 03:47:39", + "author_account_age_days": 3888 + }, + "https://github.com/moon7star9/ComfyUI_BiRefNet_Universal": { + "stars": 24, + "last_update": "2025-09-30 06:36:20", + "author_account_age_days": 1017 + }, + "https://github.com/moonwhaler/comfyui-moonpack": { + "stars": 12, + "last_update": "2025-10-10 09:53:05", + "author_account_age_days": 5033 + }, + "https://github.com/moonwhaler/comfyui-seedvr2-tilingupscaler": { + "stars": 182, + "last_update": "2025-12-06 16:28:42", + "author_account_age_days": 5033 + }, + "https://github.com/moose-lab/ComfyUI-GPT": { + "stars": 4, + "last_update": "2025-04-12 07:59:29", + "author_account_age_days": 395 + }, + "https://github.com/morgan55555/comfyui-lock-mode": { + "stars": 0, + "last_update": "2025-04-28 16:16:18", + "author_account_age_days": 3794 }, "https://github.com/morino-kumasan/comfyui-toml-prompt": { "stars": 1, - "last_update": "2024-12-07 11:19:40", - "author_account_age_days": 1493 + "last_update": "2025-12-15 14:05:35", + "author_account_age_days": 1933 }, "https://github.com/motivated3/comfyui-shua-creator": { - "stars": 1, + "stars": 6, "last_update": "2024-12-05 10:39:52", - "author_account_age_days": 2976 + "author_account_age_days": 3415 }, "https://github.com/moustafa-nasr/ComfyUI-SimpleLogger": { - "stars": 1, - "last_update": "2024-10-24 13:44:41", - "author_account_age_days": 3641 + "stars": 4, + "last_update": "2025-06-07 08:30:19", + "author_account_age_days": 4080 }, "https://github.com/moyi7712/ComfyUI_Seamless_Patten": { - "stars": 16, - "last_update": "2024-08-06 15:37:47", - "author_account_age_days": 2471 + "stars": 19, + "last_update": "2025-03-19 10:35:44", + "author_account_age_days": 2910 }, "https://github.com/mozman/ComfyUI_mozman_nodes": { "stars": 0, "last_update": "2024-05-22 22:13:32", - "author_account_age_days": 4250 + "author_account_age_days": 4689 + }, + "https://github.com/mr7thing/circle_pattern_processor": { + "stars": 0, + "last_update": "2025-03-02 19:24:26", + "author_account_age_days": 746 }, "https://github.com/mrchipset/ComfyUI-SaveImageS3": { + "stars": 1, + "last_update": "2025-04-07 00:27:45", + "author_account_age_days": 2920 + }, + "https://github.com/mrf/ComfyPoe": { "stars": 0, - "last_update": "2024-12-09 05:36:49", - "author_account_age_days": 2481 + "last_update": "2025-11-26 22:43:59", + "author_account_age_days": 5786 }, "https://github.com/mrhan1993/ComfyUI-Fooocus": { - "stars": 4, - "last_update": "2024-12-10 14:57:40", - "author_account_age_days": 2037 + "stars": 10, + "last_update": "2025-01-15 15:18:07", + "author_account_age_days": 2476 + }, + "https://github.com/mrm987/ComfyUI_Multi_Prompt_Generator": { + "stars": 0, + "last_update": "2025-12-28 14:20:11", + "author_account_age_days": 1476 + }, + "https://github.com/mudknight/comfyui-mudknight-utils": { + "stars": 0, + "last_update": "2026-02-06 04:48:21", + "author_account_age_days": 61 }, "https://github.com/muhammederem/blip-comfyui": { - "stars": 0, - "last_update": "2024-12-10 15:55:58", - "author_account_age_days": 2265 + "stars": 1, + "last_update": "2025-05-25 14:11:04", + "author_account_age_days": 2704 }, "https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": { "stars": 0, "last_update": "2024-07-15 14:13:58", - "author_account_age_days": 4108 + "author_account_age_days": 4547 + }, + "https://github.com/muxueChen/ComfyUI_NTCosyVoice": { + "stars": 168, + "last_update": "2025-05-20 13:36:56", + "author_account_age_days": 3570 }, "https://github.com/muzi12888/ComfyUI-PoseKeypoint-Mask": { - "stars": 7, - "last_update": "2024-07-31 13:49:27", - "author_account_age_days": 3115 + "stars": 12, + "last_update": "2025-03-15 00:23:20", + "author_account_age_days": 3555 }, "https://github.com/my-opencode/ComfyUI_IndustrialMagick": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 14:04:26", - "author_account_age_days": 1550 + "author_account_age_days": 1989 }, "https://github.com/my-opencode/ComfyUI_KSamplerTimer": { "stars": 2, "last_update": "2024-07-31 14:13:17", - "author_account_age_days": 1550 + "author_account_age_days": 1989 + }, + "https://github.com/myonmu0/ComfyUI-Jumper": { + "stars": 0, + "last_update": "2025-12-03 17:30:16", + "author_account_age_days": 129 }, "https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin": { + "stars": 40, + "last_update": "2026-02-04 07:32:25", + "author_account_age_days": 1078 + }, + "https://github.com/n0neye/A3D-comfyui-integration": { "stars": 6, - "last_update": "2024-12-10 08:35:31", - "author_account_age_days": 639 + "last_update": "2025-04-28 03:54:34", + "author_account_age_days": 1433 }, "https://github.com/nagolinc/ComfyUI_FastVAEDecorder_SDXL": { "stars": 4, "last_update": "2024-07-19 14:46:14", - "author_account_age_days": 3844 + "author_account_age_days": 4283 }, "https://github.com/nagolinc/comfyui_openai_node": { "stars": 1, "last_update": "2024-06-15 15:59:07", - "author_account_age_days": 3844 + "author_account_age_days": 4283 + }, + "https://github.com/nakagawadev/comfyui_nakagawa": { + "stars": 2, + "last_update": "2025-09-14 03:18:07", + "author_account_age_days": 3531 + }, + "https://github.com/nako-nakoko/ComfyUI_Mel_Nodes": { + "stars": 0, + "last_update": "2025-04-26 22:48:50", + "author_account_age_days": 325 + }, + "https://github.com/naku-yh/ComfyUI_Flux2ImageReference": { + "stars": 6, + "last_update": "2026-01-18 06:51:23", + "author_account_age_days": 65 + }, + "https://github.com/namtb96/OmniGen2-Simple-Node": { + "stars": 3, + "last_update": "2025-07-04 08:38:27", + "author_account_age_days": 255 + }, + "https://github.com/narusas/Comfyui-Logic-Support": { + "stars": 0, + "last_update": "2025-05-30 04:44:16", + "author_account_age_days": 5243 }, "https://github.com/nat-chan/ComfyUI-graphToPrompt": { "stars": 2, "last_update": "2024-05-23 01:16:40", - "author_account_age_days": 3163 + "author_account_age_days": 3602 }, "https://github.com/nat-chan/comfyui-transceiver": { "stars": 5, "last_update": "2024-05-23 01:16:28", - "author_account_age_days": 3163 + "author_account_age_days": 3602 }, "https://github.com/nathannlu/ComfyUI-Cloud": { - "stars": 183, + "stars": 208, "last_update": "2024-07-31 18:05:55", - "author_account_age_days": 2895 + "author_account_age_days": 3334 }, "https://github.com/nathannlu/ComfyUI-Pets": { - "stars": 44, + "stars": 48, "last_update": "2024-06-14 11:00:42", - "author_account_age_days": 2895 + "author_account_age_days": 3334 }, "https://github.com/natto-maki/ComfyUI-NegiTools": { - "stars": 30, + "stars": 31, "last_update": "2024-09-15 05:11:18", - "author_account_age_days": 447 + "author_account_age_days": 887 + }, + "https://github.com/nawka12/ComfyUI-Adept-Sampler": { + "stars": 2, + "last_update": "2026-01-28 00:26:14", + "author_account_age_days": 2364 + }, + "https://github.com/naxci1/ComfyUI-FlashVSR_Stable": { + "stars": 39, + "last_update": "2026-02-13 08:29:52", + "author_account_age_days": 325 }, "https://github.com/nchenevey1/comfyui-gimp-nodes": { - "stars": 8, + "stars": 10, "last_update": "2024-10-26 09:11:34", - "author_account_age_days": 819 + "author_account_age_days": 1258 + }, + "https://github.com/negaga53/comfyui-imgloader": { + "stars": 2, + "last_update": "2026-02-16 13:32:10", + "author_account_age_days": 394 + }, + "https://github.com/neggo/comfyui-sambanova": { + "stars": 0, + "last_update": "2025-05-15 01:49:53", + "author_account_age_days": 4544 + }, + "https://github.com/neo-editer/ComfyUI-Better-Dimensions-wan-v2": { + "stars": 0, + "last_update": "2025-10-16 19:08:52", + "author_account_age_days": 900 + }, + "https://github.com/neocrz/comfyui-usetaesd": { + "stars": 4, + "last_update": "2025-10-26 14:56:53", + "author_account_age_days": 1928 + }, + "https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler": { + "stars": 1, + "last_update": "2025-11-18 16:03:25", + "author_account_age_days": 4368 }, "https://github.com/neph1/comfyui-smooth-step-lora-loader": { "stars": 6, - "last_update": "2024-12-04 16:41:23", - "author_account_age_days": 3821 + "last_update": "2025-04-06 10:43:14", + "author_account_age_days": 4261 + }, + "https://github.com/neurodanzelus-cmd/ComfyUI-TeleStyle": { + "stars": 26, + "last_update": "2026-02-03 16:32:50", + "author_account_age_days": 35 + }, + "https://github.com/neverbiasu/ComfyUI-BAGEL": { + "stars": 187, + "last_update": "2025-10-13 00:36:22", + "author_account_age_days": 1628 + }, + "https://github.com/neverbiasu/ComfyUI-ChatTTS": { + "stars": 4, + "last_update": "2025-05-12 08:15:13", + "author_account_age_days": 1628 + }, + "https://github.com/neverbiasu/ComfyUI-Dashscope": { + "stars": 5, + "last_update": "2025-12-28 11:02:57", + "author_account_age_days": 1628 }, "https://github.com/neverbiasu/ComfyUI-Image-Captioner": { - "stars": 5, - "last_update": "2024-08-01 03:33:01", - "author_account_age_days": 1189 + "stars": 25, + "last_update": "2025-05-12 16:09:03", + "author_account_age_days": 1628 + }, + "https://github.com/neverbiasu/ComfyUI-ModelScope": { + "stars": 2, + "last_update": "2026-01-05 02:26:23", + "author_account_age_days": 1628 + }, + "https://github.com/neverbiasu/ComfyUI-Ovis-U1": { + "stars": 4, + "last_update": "2025-12-29 22:40:04", + "author_account_age_days": 1628 }, "https://github.com/neverbiasu/ComfyUI-SAM2": { - "stars": 88, - "last_update": "2024-11-29 03:13:39", - "author_account_age_days": 1189 + "stars": 248, + "last_update": "2025-11-13 00:40:29", + "author_account_age_days": 1628 }, "https://github.com/neverbiasu/ComfyUI-StyleShot": { - "stars": 8, - "last_update": "2024-11-24 09:40:44", - "author_account_age_days": 1189 + "stars": 16, + "last_update": "2025-04-23 08:01:32", + "author_account_age_days": 1628 + }, + "https://github.com/newtextdoc1111/ComfyUI-Autocomplete-Plus": { + "stars": 116, + "last_update": "2026-02-21 11:18:29", + "author_account_age_days": 345 + }, + "https://github.com/ngosset/ComfyUI-ImageSimilarity": { + "stars": 9, + "last_update": "2025-01-18 18:17:50", + "author_account_age_days": 4931 }, "https://github.com/nicehero/comfyui-SegGPT": { - "stars": 1, + "stars": 6, "last_update": "2024-08-26 06:05:35", - "author_account_age_days": 4179 + "author_account_age_days": 4619 }, "https://github.com/nickve28/ComfyUI-Nich-Utils": { "stars": 9, - "last_update": "2024-09-05 03:39:09", - "author_account_age_days": 4199 + "last_update": "2025-06-19 10:15:26", + "author_account_age_days": 4638 }, "https://github.com/nicofdga/DZ-FaceDetailer": { - "stars": 162, + "stars": 224, "last_update": "2024-06-17 10:00:30", - "author_account_age_days": 1401 + "author_account_age_days": 1840 }, "https://github.com/niknah/ComfyUI-F5-TTS": { - "stars": 39, - "last_update": "2024-12-09 03:31:43", - "author_account_age_days": 4890 + "stars": 257, + "last_update": "2026-02-03 04:36:23", + "author_account_age_days": 5329 + }, + "https://github.com/niknah/ComfyUI-Hunyuan-3D-2": { + "stars": 67, + "last_update": "2026-01-15 21:50:35", + "author_account_age_days": 5329 + }, + "https://github.com/niknah/ComfyUI-InfiniteYou": { + "stars": 11, + "last_update": "2025-04-16 08:44:22", + "author_account_age_days": 5329 + }, + "https://github.com/niknah/audio-general-ComfyUI": { + "stars": 1, + "last_update": "2025-05-28 02:51:53", + "author_account_age_days": 5329 + }, + "https://github.com/niknah/presentation-ComfyUI": { + "stars": 1, + "last_update": "2026-02-08 04:25:56", + "author_account_age_days": 5329 }, "https://github.com/niknah/quick-connections": { - "stars": 139, - "last_update": "2024-11-19 12:39:37", - "author_account_age_days": 4890 + "stars": 498, + "last_update": "2025-12-12 00:35:07", + "author_account_age_days": 5329 }, "https://github.com/nilor-corp/nilor-nodes": { - "stars": 3, - "last_update": "2024-11-15 03:30:08", - "author_account_age_days": 385 + "stars": 6, + "last_update": "2026-02-17 15:42:08", + "author_account_age_days": 824 }, "https://github.com/ningxiaoxiao/comfyui-NDI": { - "stars": 53, - "last_update": "2024-07-02 09:03:11", - "author_account_age_days": 3158 + "stars": 70, + "last_update": "2025-04-11 03:55:37", + "author_account_age_days": 3597 }, "https://github.com/nirbhay-faaya/ImgProcessing_ComfyUI": { - "stars": 1, + "stars": 0, "last_update": "2024-07-31 08:34:48", - "author_account_age_days": 505 + "author_account_age_days": 945 }, "https://github.com/nirex0/ComfyUI_pytorch_openpose": { "stars": 2, "last_update": "2024-06-14 12:01:07", - "author_account_age_days": 3673 + "author_account_age_days": 4112 + }, + "https://github.com/nisaruj/comfyui-daam": { + "stars": 43, + "last_update": "2025-10-13 12:54:31", + "author_account_age_days": 3817 + }, + "https://github.com/nisimjoseph/ComfyUI_OpenAI-Prompter": { + "stars": 4, + "last_update": "2025-10-27 19:57:39", + "author_account_age_days": 4916 + }, + "https://github.com/nitingrg/comfyui-ntools": { + "stars": 0, + "last_update": "2025-11-25 15:21:12", + "author_account_age_days": 1127 + }, + "https://github.com/njlent/ComfyUI_performance-report": { + "stars": 2, + "last_update": "2025-10-12 15:00:25", + "author_account_age_days": 4067 + }, + "https://github.com/njlent/ComfyUI_wavelet-colorfix": { + "stars": 3, + "last_update": "2025-08-13 13:04:06", + "author_account_age_days": 4067 + }, + "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz": { + "stars": 0, + "last_update": "2025-03-30 08:30:33", + "author_account_age_days": 769 }, "https://github.com/nkchocoai/ComfyUI-Dart": { - "stars": 22, - "last_update": "2024-08-17 03:08:51", - "author_account_age_days": 330 + "stars": 29, + "last_update": "2025-03-30 08:19:01", + "author_account_age_days": 769 }, "https://github.com/nkchocoai/ComfyUI-PromptUtilities": { - "stars": 9, - "last_update": "2024-10-19 14:44:42", - "author_account_age_days": 330 + "stars": 25, + "last_update": "2025-03-30 08:19:25", + "author_account_age_days": 769 }, "https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData": { - "stars": 36, - "last_update": "2024-10-27 05:44:41", - "author_account_age_days": 330 + "stars": 118, + "last_update": "2025-03-30 08:19:20", + "author_account_age_days": 769 }, "https://github.com/nkchocoai/ComfyUI-SizeFromPresets": { - "stars": 6, - "last_update": "2024-08-17 03:08:42", - "author_account_age_days": 330 + "stars": 14, + "last_update": "2025-03-30 08:19:30", + "author_account_age_days": 769 }, "https://github.com/nkchocoai/ComfyUI-TextOnSegs": { - "stars": 10, - "last_update": "2024-06-23 04:52:29", - "author_account_age_days": 330 + "stars": 14, + "last_update": "2025-03-30 08:19:45", + "author_account_age_days": 769 }, - "https://github.com/noarche/sd-webui-color-enhance": { - "stars": 4, - "last_update": "2024-08-04 08:11:53", - "author_account_age_days": 1832 + "https://github.com/nobandegani/comfyui_ino_nodes": { + "stars": 2, + "last_update": "2026-01-27 13:39:58", + "author_account_age_days": 1896 + }, + "https://github.com/nobrainX2/comfyUI-customDia": { + "stars": 14, + "last_update": "2025-05-29 18:32:25", + "author_account_age_days": 2396 + }, + "https://github.com/noelkim12/ComfyUI-NoelTextUtil": { + "stars": 1, + "last_update": "2025-09-01 17:22:53", + "author_account_age_days": 2593 }, "https://github.com/noembryo/ComfyUI-noEmbryo": { - "stars": 21, - "last_update": "2024-10-24 20:22:13", - "author_account_age_days": 2913 + "stars": 26, + "last_update": "2026-01-15 10:53:06", + "author_account_age_days": 3352 + }, + "https://github.com/nofunstudio/Node_Fun_ComfyUI": { + "stars": 7, + "last_update": "2026-01-25 22:02:34", + "author_account_age_days": 1821 + }, + "https://github.com/nomadoor/ComfyUI-DualPanel-Subgraph-Viewer": { + "stars": 9, + "last_update": "2025-10-19 10:28:59", + "author_account_age_days": 1110 + }, + "https://github.com/nomadoor/ComfyUI-Temporal-Mask-Tools": { + "stars": 1, + "last_update": "2025-10-17 18:15:29", + "author_account_age_days": 1110 }, "https://github.com/nonnonstop/comfyui-faster-loading": { - "stars": 6, + "stars": 10, "last_update": "2024-06-13 15:37:45", - "author_account_age_days": 2292 + "author_account_age_days": 2731 + }, + "https://github.com/northumber/ComfyUI-northTools": { + "stars": 2, + "last_update": "2025-05-22 18:08:04", + "author_account_age_days": 3668 }, "https://github.com/nosiu/comfyui-instantId-faceswap": { - "stars": 201, - "last_update": "2024-10-20 21:07:49", - "author_account_age_days": 4075 + "stars": 262, + "last_update": "2025-06-27 11:36:33", + "author_account_age_days": 4514 + }, + "https://github.com/nosiu/comfyui-text-randomizer": { + "stars": 1, + "last_update": "2025-03-03 01:40:12", + "author_account_age_days": 4514 }, "https://github.com/noxinias/ComfyUI_NoxinNodes": { - "stars": 10, + "stars": 12, "last_update": "2024-05-22 21:24:24", - "author_account_age_days": 2730 + "author_account_age_days": 3170 }, "https://github.com/nsdtcloud3d/ComfyUI-3D-Convert": { - "stars": 6, - "last_update": "2024-12-09 08:04:58", - "author_account_age_days": 245 + "stars": 19, + "last_update": "2024-12-23 07:46:17", + "author_account_age_days": 684 }, "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": { - "stars": 28, + "stars": 37, "last_update": "2024-05-22 22:22:14", - "author_account_age_days": 1887 + "author_account_age_days": 2326 }, "https://github.com/nuanarchy/ComfyUI-NuA-BIRD": { - "stars": 9, + "stars": 8, "last_update": "2024-06-18 05:35:49", - "author_account_age_days": 1262 + "author_account_age_days": 1701 }, "https://github.com/nuanarchy/ComfyUI-NuA-FlashFace": { - "stars": 22, + "stars": 26, "last_update": "2024-07-31 13:54:00", - "author_account_age_days": 1262 + "author_account_age_days": 1701 }, "https://github.com/nullquant/ComfyUI-BrushNet": { - "stars": 677, - "last_update": "2024-11-11 16:15:51", - "author_account_age_days": 1346 + "stars": 937, + "last_update": "2025-03-31 08:45:34", + "author_account_age_days": 1785 }, "https://github.com/numz/ComfyUI-FlowChain": { - "stars": 97, - "last_update": "2024-10-19 21:20:45", - "author_account_age_days": 4953 + "stars": 167, + "last_update": "2025-07-28 06:20:20", + "author_account_age_days": 5393 + }, + "https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler": { + "stars": 2098, + "last_update": "2025-12-24 08:52:32", + "author_account_age_days": 5393 + }, + "https://github.com/numz/Comfyui-Orpheus": { + "stars": 10, + "last_update": "2025-04-16 19:20:21", + "author_account_age_days": 5393 + }, + "https://github.com/nunchaku-tech/ComfyUI-nunchaku": { + "stars": 2779, + "last_update": "2026-02-19 07:29:18", + "author_account_age_days": 224 }, "https://github.com/nux1111/ComfyUI_NetDist_Plus": { - "stars": 19, + "stars": 37, "last_update": "2024-08-27 23:15:18", - "author_account_age_days": 722 + "author_account_age_days": 1162 + }, + "https://github.com/nyueki/ComfyUI-RemoteCLIPLoader": { + "stars": 6, + "last_update": "2026-02-17 01:00:47", + "author_account_age_days": 2067 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-ChannelMixer": { + "stars": 6, + "last_update": "2025-08-09 18:08:18", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-ColorBalance": { + "stars": 12, + "last_update": "2025-08-09 18:11:21", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-CurveEditor": { + "stars": 38, + "last_update": "2025-08-09 18:15:36", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-DragCrop": { + "stars": 81, + "last_update": "2025-09-02 12:12:23", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-Histogram": { + "stars": 4, + "last_update": "2025-08-09 18:46:59", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-ImageAdjust": { + "stars": 43, + "last_update": "2025-08-09 17:58:21", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-LGG": { + "stars": 11, + "last_update": "2025-08-09 18:37:17", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-Resolution-Picker": { + "stars": 18, + "last_update": "2025-08-08 12:50:29", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-Olm-Sketch": { + "stars": 55, + "last_update": "2025-08-09 18:42:14", + "author_account_age_days": 3082 + }, + "https://github.com/o-l-l-i/ComfyUI-OlmLUT": { + "stars": 19, + "last_update": "2025-06-09 18:55:46", + "author_account_age_days": 3082 + }, + "https://github.com/obisin/ComfyUI-DGLS": { + "stars": 12, + "last_update": "2025-09-26 10:25:10", + "author_account_age_days": 1624 + }, + "https://github.com/obvirm/ComfyUI-WhisperXX": { + "stars": 2, + "last_update": "2025-12-03 22:07:11", + "author_account_age_days": 1127 + }, + "https://github.com/ohmygoobness/ComfyUI-ImageResolutionFixer": { + "stars": 0, + "last_update": "2026-02-04 13:32:28", + "author_account_age_days": 1777 + }, + "https://github.com/okdalto/ComfyUI-FlashPortrait": { + "stars": 24, + "last_update": "2025-12-29 06:02:29", + "author_account_age_days": 3425 + }, + "https://github.com/okdalto/ComfyUI-PersonaLive": { + "stars": 97, + "last_update": "2026-01-25 03:47:10", + "author_account_age_days": 3425 + }, + "https://github.com/okdalto/ComfyUI-WithAnyone": { + "stars": 23, + "last_update": "2025-12-18 04:42:30", + "author_account_age_days": 3425 }, "https://github.com/okgo4/ComfyUI-Mosaic-Mask": { + "stars": 10, + "last_update": "2025-04-03 09:41:53", + "author_account_age_days": 3296 + }, + "https://github.com/olafchou/ComfyUI-ZH-EN-Switcher": { + "stars": 1, + "last_update": "2025-12-31 11:02:47", + "author_account_age_days": 3543 + }, + "https://github.com/olafrv/comfyui_olafrv": { + "stars": 0, + "last_update": "2026-01-04 20:13:25", + "author_account_age_days": 5303 + }, + "https://github.com/olduvai-jp/ComfyUI-CloudArchive": { "stars": 2, - "last_update": "2024-08-15 01:51:13", - "author_account_age_days": 2857 + "last_update": "2026-01-05 11:11:14", + "author_account_age_days": 1485 }, "https://github.com/olduvai-jp/ComfyUI-HfLoader": { "stars": 4, - "last_update": "2024-05-23 00:14:52", - "author_account_age_days": 1046 + "last_update": "2025-02-13 17:05:40", + "author_account_age_days": 1485 + }, + "https://github.com/olduvai-jp/ComfyUI-S3-IO": { + "stars": 0, + "last_update": "2026-02-05 07:03:06", + "author_account_age_days": 1485 }, "https://github.com/oleksandr612/ComfyUI-Counter": { - "stars": 1, + "stars": 0, "last_update": "2024-08-05 16:18:48", - "author_account_age_days": 132 + "author_account_age_days": 571 + }, + "https://github.com/oliverswitzer/ComfyUI-Lora-Visualizer": { + "stars": 4, + "last_update": "2025-09-23 22:08:30", + "author_account_age_days": 4610 + }, + "https://github.com/olivv-cs/ComfyUI-FunPack": { + "stars": 7, + "last_update": "2026-02-23 15:38:31", + "author_account_age_days": 1021 }, "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": { - "stars": 137, + "stars": 177, "last_update": "2024-09-10 14:16:30", - "author_account_age_days": 4676 + "author_account_age_days": 5115 + }, + "https://github.com/omixmaxdimo/OmiXDev": { + "stars": 0, + "last_update": "2026-02-20 16:12:31", + "author_account_age_days": 2077 + }, + "https://github.com/openvino-dev-samples/comfyui_openvino": { + "stars": 34, + "last_update": "2026-02-09 02:32:22", + "author_account_age_days": 1614 + }, + "https://github.com/opparco/ComfyUI-WanLightx2vScheduler": { + "stars": 1, + "last_update": "2025-09-05 18:56:41", + "author_account_age_days": 4289 }, "https://github.com/opvelll/ComfyUI_TextListProduct": { - "stars": 2, + "stars": 1, "last_update": "2024-10-30 16:00:09", - "author_account_age_days": 1724 + "author_account_age_days": 2163 + }, + "https://github.com/orange90/ComfyUI-Regex-Runner": { + "stars": 3, + "last_update": "2025-02-26 03:48:27", + "author_account_age_days": 4705 + }, + "https://github.com/orex2121/comfyui-OreX": { + "stars": 14, + "last_update": "2025-12-05 09:45:28", + "author_account_age_days": 2116 + }, + "https://github.com/orion4d/Calculator_Pro": { + "stars": 0, + "last_update": "2025-06-29 15:47:04", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/ComfyUI-Image-Effects": { + "stars": 26, + "last_update": "2025-05-28 00:37:16", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/ComfyUI_DAO_master": { + "stars": 10, + "last_update": "2025-09-03 08:56:54", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/ComfyUI_SharpnessPro": { + "stars": 9, + "last_update": "2025-08-27 09:02:20", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/ComfyUI_colormaster": { + "stars": 2, + "last_update": "2025-07-06 11:30:01", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/ComfyUI_extract_imag": { + "stars": 0, + "last_update": "2025-06-11 13:37:18", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/ComfyUI_image-display": { + "stars": 0, + "last_update": "2025-07-07 14:39:55", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/ComfyUI_pdf_nodes": { + "stars": 0, + "last_update": "2025-06-10 15:51:53", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/Comfyui_EncryptMaster": { + "stars": 4, + "last_update": "2025-09-06 14:18:12", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/Gemini_Banana_by_orion4d": { + "stars": 11, + "last_update": "2025-09-07 22:18:10", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/Orion4D_pixelshift": { + "stars": 6, + "last_update": "2025-09-09 09:14:31", + "author_account_age_days": 1191 + }, + "https://github.com/orion4d/illusion_node": { + "stars": 3, + "last_update": "2025-06-22 08:57:01", + "author_account_age_days": 1191 + }, + "https://github.com/orpheus-gaze/comfyui-s2-guidance-test": { + "stars": 1, + "last_update": "2025-11-13 17:50:49", + "author_account_age_days": 158 + }, + "https://github.com/orssorbit/ComfyUI-wanBlockswap": { + "stars": 157, + "last_update": "2025-03-19 12:56:23", + "author_account_age_days": 3638 + }, + "https://github.com/oshtz/ComfyUI-oshtz-nodes": { + "stars": 6, + "last_update": "2025-11-19 21:03:59", + "author_account_age_days": 1035 }, "https://github.com/osi1880vr/prompt_quill_comfyui": { - "stars": 14, - "last_update": "2024-06-13 17:24:12", - "author_account_age_days": 1246 + "stars": 21, + "last_update": "2025-01-27 10:43:16", + "author_account_age_days": 1686 + }, + "https://github.com/ostris/ComfyUI-FlexTools": { + "stars": 80, + "last_update": "2025-08-05 19:40:11", + "author_account_age_days": 3012 }, "https://github.com/ostris/ostris_nodes_comfyui": { - "stars": 26, - "last_update": "2024-08-20 10:40:03", - "author_account_age_days": 2572 + "stars": 44, + "last_update": "2025-04-16 17:03:53", + "author_account_age_days": 3012 + }, + "https://github.com/otacoo/comfyui_otacoo": { + "stars": 10, + "last_update": "2026-02-20 11:54:03", + "author_account_age_days": 305 + }, + "https://github.com/otavanopisto/ComfyUI-aihub-workflow-exposer": { + "stars": 6, + "last_update": "2026-01-18 06:33:53", + "author_account_age_days": 4724 }, "https://github.com/ownimage/ComfyUI-ownimage": { "stars": 0, "last_update": "2024-05-22 22:22:37", - "author_account_age_days": 2953 + "author_account_age_days": 3392 + }, + "https://github.com/oxysoft/ComfyUI-gowiththeflow": { + "stars": 3, + "last_update": "2025-04-09 03:55:00", + "author_account_age_days": 4720 }, "https://github.com/oyvindg/ComfyUI-TrollSuite": { - "stars": 2, + "stars": 4, "last_update": "2024-08-15 10:37:43", - "author_account_age_days": 2499 + "author_account_age_days": 2939 }, "https://github.com/oztrkoguz/ComfyUI_StoryCreator": { - "stars": 24, - "last_update": "2024-05-23 12:18:45", - "author_account_age_days": 1011 + "stars": 32, + "last_update": "2025-04-07 08:30:38", + "author_account_age_days": 1450 + }, + "https://github.com/p1atdev/comfyui-timm-backbone": { + "stars": 1, + "last_update": "2025-08-22 08:04:50", + "author_account_age_days": 2224 + }, + "https://github.com/p1atdev/comfyui-tkg-chroma-key": { + "stars": 19, + "last_update": "2025-08-23 16:06:14", + "author_account_age_days": 2224 + }, + "https://github.com/pacchikAI/comfyui_pacchik_ImagePromptBatch": { + "stars": 1, + "last_update": "2025-10-22 16:27:05", + "author_account_age_days": 288 }, "https://github.com/palant/image-resize-comfyui": { - "stars": 79, + "stars": 106, "last_update": "2024-01-18 20:59:55", - "author_account_age_days": 5223 + "author_account_age_days": 5662 }, "https://github.com/palant/integrated-nodes-comfyui": { - "stars": 36, + "stars": 39, "last_update": "2023-12-27 22:52:00", - "author_account_age_days": 5223 + "author_account_age_days": 5662 }, "https://github.com/pamparamm/ComfyUI-ppm": { - "stars": 126, - "last_update": "2024-12-04 16:49:53", - "author_account_age_days": 2301 + "stars": 235, + "last_update": "2026-02-11 22:20:28", + "author_account_age_days": 2740 }, "https://github.com/pamparamm/ComfyUI-vectorscope-cc": { - "stars": 13, - "last_update": "2024-09-01 05:22:43", - "author_account_age_days": 2301 + "stars": 19, + "last_update": "2025-02-24 21:59:04", + "author_account_age_days": 2740 }, "https://github.com/pamparamm/sd-perturbed-attention": { - "stars": 224, - "last_update": "2024-11-30 06:34:59", - "author_account_age_days": 2301 + "stars": 294, + "last_update": "2026-02-12 17:04:20", + "author_account_age_days": 2740 + }, + "https://github.com/pantaleone-ai/Comfy-Firefly": { + "stars": 1, + "last_update": "2025-12-11 21:24:50", + "author_account_age_days": 1528 }, "https://github.com/pants007/comfy-pants": { "stars": 2, "last_update": "2024-05-22 18:16:04", - "author_account_age_days": 2487 + "author_account_age_days": 2926 + }, + "https://github.com/papcorns/ComfyUI-Papcorns-Node-LoadImageFromUrl": { + "stars": 1, + "last_update": "2025-05-26 12:33:08", + "author_account_age_days": 2121 + }, + "https://github.com/papcorns/Papcorns-Comfyui-Custom-Nodes": { + "stars": 0, + "last_update": "2025-08-08 13:16:05", + "author_account_age_days": 2121 + }, + "https://github.com/pathway8-sudo/ComfyUI-Pathway-CutPNG-Node": { + "stars": 0, + "last_update": "2025-03-03 07:47:31", + "author_account_age_days": 447 }, "https://github.com/patriciogonzalezvivo/comfyui_glslnodes": { - "stars": 185, - "last_update": "2024-08-28 08:07:53", - "author_account_age_days": 5250 + "stars": 239, + "last_update": "2025-05-05 15:00:47", + "author_account_age_days": 5689 + }, + "https://github.com/paulh4x/ComfyUI_PHRenderFormerWrapper": { + "stars": 34, + "last_update": "2025-08-08 14:30:19", + "author_account_age_days": 460 }, "https://github.com/paulo-coronado/comfy_clip_blip_node": { - "stars": 29, + "stars": 30, "last_update": "2024-05-22 17:39:09", - "author_account_age_days": 2857 + "author_account_age_days": 3296 + }, + "https://github.com/pavelchezcin/pcvideomask": { + "stars": 6, + "last_update": "2026-02-20 15:21:43", + "author_account_age_days": 6 + }, + "https://github.com/pawelmal0101/ComfyUI-Webhook": { + "stars": 0, + "last_update": "2025-09-04 12:54:34", + "author_account_age_days": 1271 }, "https://github.com/pbpbpb2705/ComfyUI-LyraVSIH": { - "stars": 1, + "stars": 0, "last_update": "2024-08-30 07:52:11", - "author_account_age_days": 1400 + "author_account_age_days": 1839 }, - "https://github.com/phazei/ConfyUI-node-prompt-stash-saver": { + "https://github.com/pdale-boop/Comfyui-Network-Guardian": { + "stars": 0, + "last_update": "2025-10-14 21:49:38", + "author_account_age_days": 136 + }, + "https://github.com/penposs/ComfyUI_Gemini_Pro": { + "stars": 11, + "last_update": "2025-11-28 14:26:22", + "author_account_age_days": 2367 + }, + "https://github.com/penposs/Comfyui-banana2": { + "stars": 2, + "last_update": "2025-11-26 03:58:01", + "author_account_age_days": 2367 + }, + "https://github.com/penposs/Comfyui_wan_api": { "stars": 1, - "last_update": "2024-11-13 02:49:48", - "author_account_age_days": 5178 + "last_update": "2025-04-02 16:02:44", + "author_account_age_days": 2367 + }, + "https://github.com/pentarab/ComfyUI-For-ChatterBox": { + "stars": 0, + "last_update": "2025-12-31 01:04:58", + "author_account_age_days": 2134 + }, + "https://github.com/perckle/comfyui_dpir": { + "stars": 0, + "last_update": "2025-09-27 06:10:01", + "author_account_age_days": 1972 + }, + "https://github.com/perezjoan/ComfyUI-QwenEdit-Urbanism-by-UGA": { + "stars": 1, + "last_update": "2025-12-04 22:11:17", + "author_account_age_days": 2572 + }, + "https://github.com/peter119lee/ComfyUI-BananaForge": { + "stars": 1, + "last_update": "2026-02-14 11:18:29", + "author_account_age_days": 2436 + }, + "https://github.com/petmycat/ComfyUI-gen2": { + "stars": 20, + "last_update": "2026-02-12 07:56:31", + "author_account_age_days": 733 + }, + "https://github.com/petr-pr/ComfyUI-TranslationNode": { + "stars": 0, + "last_update": "2025-11-05 22:42:00", + "author_account_age_days": 1432 + }, + "https://github.com/pharmapsychotic/comfy-cliption": { + "stars": 63, + "last_update": "2025-01-04 05:06:11", + "author_account_age_days": 1524 + }, + "https://github.com/phaserblast/ComfyUI-DGXSparkSafetensorsLoader": { + "stars": 9, + "last_update": "2026-01-21 15:43:20", + "author_account_age_days": 1187 + }, + "https://github.com/phazei/ComfyUI-OrpheusTTS-LMStudio": { + "stars": 3, + "last_update": "2025-09-10 06:24:20", + "author_account_age_days": 5618 + }, + "https://github.com/phazei/ComfyUI-Prompt-Stash": { + "stars": 45, + "last_update": "2026-01-18 11:00:17", + "author_account_age_days": 5618 + }, + "https://github.com/philiprodriguez/ComfyUI-HunyuanImageLatentToVideoLatent": { + "stars": 1, + "last_update": "2025-01-12 16:43:09", + "author_account_age_days": 3607 + }, + "https://github.com/philipy1219/ComfyUI-CloudStorage": { + "stars": 0, + "last_update": "2025-07-01 13:40:29", + "author_account_age_days": 3867 + }, + "https://github.com/philipy1219/ComfyUI-TaylorSeer": { + "stars": 59, + "last_update": "2026-01-29 06:37:34", + "author_account_age_days": 3867 }, "https://github.com/philz1337x/ComfyUI-ClarityAI": { - "stars": 152, - "last_update": "2024-09-25 08:48:51", - "author_account_age_days": 833 + "stars": 208, + "last_update": "2025-04-24 09:51:25", + "author_account_age_days": 1273 }, "https://github.com/phineas-pta/comfyui-auto-nodes-layout": { - "stars": 40, - "last_update": "2024-08-02 17:31:24", - "author_account_age_days": 2458 + "stars": 67, + "last_update": "2026-02-18 12:35:53", + "author_account_age_days": 2898 + }, + "https://github.com/phuvinh010701/ComfyUI-Nudenet": { + "stars": 43, + "last_update": "2025-09-15 02:17:21", + "author_account_age_days": 2283 + }, + "https://github.com/phyblas/nsfw-shorier_comfyui": { + "stars": 7, + "last_update": "2025-09-16 13:23:13", + "author_account_age_days": 3662 }, "https://github.com/phyblas/paint-by-example_comfyui": { - "stars": 7, - "last_update": "2024-08-24 23:46:13", - "author_account_age_days": 3223 + "stars": 10, + "last_update": "2025-09-10 14:45:01", + "author_account_age_days": 3662 + }, + "https://github.com/pictorialink/ComfyUI-Custom-Node-Config": { + "stars": 1, + "last_update": "2025-07-15 11:19:09", + "author_account_age_days": 285 + }, + "https://github.com/pictorialink/ComfyUI-Qwen3-llama.cpp": { + "stars": 3, + "last_update": "2025-07-15 03:04:43", + "author_account_age_days": 285 + }, + "https://github.com/pictorialink/ComfyUI-Text-Translation": { + "stars": 6, + "last_update": "2025-07-15 07:51:51", + "author_account_age_days": 285 }, "https://github.com/picturesonpictures/comfy_PoP": { - "stars": 15, - "last_update": "2024-07-05 07:32:50", - "author_account_age_days": 757 + "stars": 21, + "last_update": "2026-02-18 10:50:50", + "author_account_age_days": 1196 + }, + "https://github.com/pierreb-mf/ComfyUI-MF-PipoNodes": { + "stars": 1, + "last_update": "2026-02-13 18:50:57", + "author_account_age_days": 3839 }, "https://github.com/pikenrover/ComfyUI_PRNodes": { + "stars": 2, + "last_update": "2025-04-03 13:31:42", + "author_account_age_days": 579 + }, + "https://github.com/piscesbody/ComfyUI-Upscale-CUDAspeed": { + "stars": 22, + "last_update": "2025-10-26 04:15:42", + "author_account_age_days": 3916 + }, + "https://github.com/pixelpainter/UI-Decorators": { + "stars": 8, + "last_update": "2026-01-21 23:24:17", + "author_account_age_days": 6041 + }, + "https://github.com/pixelpainter/comfyui-mute-bypass-by-ID": { + "stars": 6, + "last_update": "2026-01-21 23:24:54", + "author_account_age_days": 6041 + }, + "https://github.com/pixelworldai/ComfyUI-AlphaFlatten": { + "stars": 1, + "last_update": "2025-03-13 23:07:04", + "author_account_age_days": 580 + }, + "https://github.com/pixelworldai/ComfyUI-WorkflowGraphics": { + "stars": 1, + "last_update": "2025-08-10 13:42:12", + "author_account_age_days": 580 + }, + "https://github.com/pixixai/ComfyUI-AlignLayout": { + "stars": 63, + "last_update": "2026-02-03 09:16:08", + "author_account_age_days": 411 + }, + "https://github.com/pizurny/ComfyUI-AV-Handles": { + "stars": 24, + "last_update": "2025-11-08 18:23:12", + "author_account_age_days": 1290 + }, + "https://github.com/pizurny/Comfyui-Latent-Transform-Sampler": { "stars": 3, - "last_update": "2024-10-08 17:29:07", - "author_account_age_days": 139 + "last_update": "2025-10-28 20:48:57", + "author_account_age_days": 1290 }, "https://github.com/pkpkTech/ComfyUI-SaveAVIF": { "stars": 2, - "last_update": "2024-05-22 22:19:21", - "author_account_age_days": 1673 + "last_update": "2025-02-01 16:29:22", + "author_account_age_days": 2112 }, "https://github.com/pkpkTech/ComfyUI-SaveQueues": { - "stars": 3, + "stars": 9, "last_update": "2024-05-22 22:19:54", - "author_account_age_days": 1673 + "author_account_age_days": 2112 }, "https://github.com/pkpkTech/ComfyUI-TemporaryLoader": { - "stars": 1, + "stars": 2, "last_update": "2024-05-22 22:19:44", - "author_account_age_days": 1673 + "author_account_age_days": 2112 }, "https://github.com/pkpkTech/ComfyUI-ngrok": { - "stars": 4, + "stars": 6, "last_update": "2024-05-22 22:19:32", - "author_account_age_days": 1673 + "author_account_age_days": 2112 }, "https://github.com/playbook3d/playbook3d-comfyui-nodes": { - "stars": 20, - "last_update": "2024-12-11 03:31:08", - "author_account_age_days": 1670 + "stars": 21, + "last_update": "2025-03-25 19:50:08", + "author_account_age_days": 2109 }, "https://github.com/plugcrypt/CRT-Nodes": { - "stars": 2, - "last_update": "2024-10-01 07:58:40", - "author_account_age_days": 1232 + "stars": 95, + "last_update": "2026-02-11 09:53:30", + "author_account_age_days": 1671 + }, + "https://github.com/pmarmotte2/ComfyUI-Speaker-Isolation": { + "stars": 11, + "last_update": "2025-11-08 19:39:43", + "author_account_age_days": 673 + }, + "https://github.com/pnikolic-amd/ComfyUI_MIGraphX": { + "stars": 16, + "last_update": "2025-11-07 16:41:28", + "author_account_age_days": 410 + }, + "https://github.com/pollockjj/ComfyUI-MultiGPU": { + "stars": 799, + "last_update": "2026-01-03 04:55:42", + "author_account_age_days": 4116 + }, + "https://github.com/polym/ComfyUI-musubi": { + "stars": 1, + "last_update": "2025-10-21 11:45:22", + "author_account_age_days": 4841 + }, + "https://github.com/polymath-wtf/ComfyUI-Polymath-Vibenodes": { + "stars": 0, + "last_update": "2025-12-29 01:00:41", + "author_account_age_days": 867 + }, + "https://github.com/pongjoo/ComfyUI-PJLatent": { + "stars": 0, + "last_update": "2026-02-08 16:18:02", + "author_account_age_days": 880 + }, + "https://github.com/popoimm/comfyui-popo-utility": { + "stars": 0, + "last_update": "2025-08-28 17:56:41", + "author_account_age_days": 3653 }, "https://github.com/portu-sim/comfyui_bmab": { - "stars": 96, - "last_update": "2024-10-07 16:39:03", - "author_account_age_days": 492 + "stars": 122, + "last_update": "2025-12-20 12:27:06", + "author_account_age_days": 931 + }, + "https://github.com/power88/ComfyUI-PDiD-LLM-Nodes": { + "stars": 0, + "last_update": "2025-11-16 12:13:06", + "author_account_age_days": 3340 + }, + "https://github.com/princepainter/ComfyUI-PainterAI2V": { + "stars": 112, + "last_update": "2026-02-03 02:14:11", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterFrameCount": { + "stars": 2, + "last_update": "2026-01-24 06:31:32", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterI2V": { + "stars": 568, + "last_update": "2026-02-13 08:10:34", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterI2Vadvanced": { + "stars": 78, + "last_update": "2026-01-02 06:25:31", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterI2VforKJ": { + "stars": 95, + "last_update": "2025-11-19 10:27:30", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterImageFromBatch": { + "stars": 3, + "last_update": "2026-01-02 05:16:33", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterImageLoad": { + "stars": 4, + "last_update": "2026-01-03 13:25:41", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterLTXV2": { + "stars": 97, + "last_update": "2026-01-20 12:35:08", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterLongVideo": { + "stars": 118, + "last_update": "2025-11-18 23:59:04", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterMultiF2V": { + "stars": 20, + "last_update": "2026-01-25 01:56:26", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterQwenImageEdit": { + "stars": 54, + "last_update": "2026-02-07 08:36:34", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterVideoCombine": { + "stars": 20, + "last_update": "2026-01-20 11:37:34", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterVideoInfo": { + "stars": 1, + "last_update": "2026-01-02 11:43:40", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/ComfyUI-PainterVideoUpscale": { + "stars": 4, + "last_update": "2026-01-24 09:00:51", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/Comfyui-PainterAudioCut": { + "stars": 52, + "last_update": "2026-01-27 00:45:50", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/Comfyui-PainterAudioLength": { + "stars": 2, + "last_update": "2025-12-09 01:50:09", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/Comfyui-PainterFLF2V": { + "stars": 152, + "last_update": "2025-11-28 02:57:39", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/Comfyui-PainterFluxImageEdit": { + "stars": 81, + "last_update": "2026-02-07 08:35:48", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/Comfyui-PainterSampler": { + "stars": 23, + "last_update": "2025-11-17 09:12:16", + "author_account_age_days": 1112 + }, + "https://github.com/princepainter/Comfyui-PainterVRAM": { + "stars": 27, + "last_update": "2026-01-02 01:16:16", + "author_account_age_days": 1112 }, "https://github.com/prodogape/ComfyUI-EasyOCR": { - "stars": 25, + "stars": 48, "last_update": "2024-08-05 07:03:20", - "author_account_age_days": 1200 + "author_account_age_days": 1639 }, "https://github.com/prodogape/ComfyUI-Minio": { - "stars": 2, + "stars": 7, "last_update": "2024-05-23 00:13:38", - "author_account_age_days": 1200 + "author_account_age_days": 1639 }, "https://github.com/prodogape/ComfyUI-OmDet": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 13:01:34", - "author_account_age_days": 1200 + "author_account_age_days": 1639 }, "https://github.com/prodogape/Comfyui-Yolov8-JSON": { - "stars": 20, + "stars": 28, "last_update": "2024-08-28 02:10:39", - "author_account_age_days": 1200 + "author_account_age_days": 1639 }, "https://github.com/prozacgod/comfyui-pzc-multiworkspace": { - "stars": 7, + "stars": 8, "last_update": "2024-05-22 23:11:46", - "author_account_age_days": 5738 + "author_account_age_days": 6177 }, "https://github.com/pschroedl/ComfyUI-SAM2-Realtime": { + "stars": 15, + "last_update": "2025-01-21 05:29:03", + "author_account_age_days": 4596 + }, + "https://github.com/psdwizzard/Comfyui-XYZ-stitch": { + "stars": 0, + "last_update": "2025-11-11 16:47:27", + "author_account_age_days": 3456 + }, + "https://github.com/ptmaster/Comfyui-PT-Keyframe-Camera": { + "stars": 24, + "last_update": "2025-07-06 04:41:46", + "author_account_age_days": 4489 + }, + "https://github.com/ptmaster/comfyui-audio-speed": { + "stars": 12, + "last_update": "2025-06-24 15:23:03", + "author_account_age_days": 4489 + }, + "https://github.com/puke3615/ComfyUI-OneAPI": { "stars": 8, - "last_update": "2024-12-10 07:58:22", - "author_account_age_days": 4157 + "last_update": "2025-08-05 17:33:59", + "author_account_age_days": 4124 + }, + "https://github.com/pupba/Comfy_ForEach": { + "stars": 3, + "last_update": "2025-05-12 07:08:54", + "author_account_age_days": 2410 + }, + "https://github.com/purewater2011/comfyui_color_detection": { + "stars": 1, + "last_update": "2025-05-19 09:59:44", + "author_account_age_days": 4437 }, "https://github.com/purpen/ComfyUI-AIRedoon": { - "stars": 2, + "stars": 4, "last_update": "2024-12-11 09:38:42", - "author_account_age_days": 5108 + "author_account_age_days": 5547 }, "https://github.com/purpen/ComfyUI-ImageTagger": { - "stars": 3, + "stars": 2, "last_update": "2024-11-27 17:20:49", - "author_account_age_days": 5108 + "author_account_age_days": 5547 + }, + "https://github.com/purzbeats/ComfyUI-Purz": { + "stars": 20, + "last_update": "2026-02-06 02:42:11", + "author_account_age_days": 1504 + }, + "https://github.com/pvlprk/comfyui-pvl-api-nodes": { + "stars": 0, + "last_update": "2025-12-28 11:46:07", + "author_account_age_days": 651 + }, + "https://github.com/pxl-pshr/GlitchNodes": { + "stars": 62, + "last_update": "2025-10-11 16:47:17", + "author_account_age_days": 495 }, "https://github.com/pydn/ComfyUI-to-Python-Extension": { - "stars": 1310, - "last_update": "2024-09-16 04:37:55", - "author_account_age_days": 2866 + "stars": 2244, + "last_update": "2025-09-26 23:53:00", + "author_account_age_days": 3306 }, "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": { - "stars": 1921, - "last_update": "2024-11-07 20:47:25", - "author_account_age_days": 667 + "stars": 2964, + "last_update": "2026-02-12 11:31:30", + "author_account_age_days": 1107 }, "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": { - "stars": 680, - "last_update": "2024-10-23 19:52:57", - "author_account_age_days": 667 + "stars": 1111, + "last_update": "2025-07-11 09:59:23", + "author_account_age_days": 1107 + }, + "https://github.com/pytraveler/comfyui-darkil-nodes": { + "stars": 0, + "last_update": "2026-02-08 21:52:26", + "author_account_age_days": 1966 }, "https://github.com/pzc163/Comfyui-CatVTON": { - "stars": 144, + "stars": 169, "last_update": "2024-10-03 12:50:42", - "author_account_age_days": 946 + "author_account_age_days": 1386 }, "https://github.com/pzc163/Comfyui_MiniCPMv2_6-prompt-generator": { - "stars": 70, + "stars": 84, "last_update": "2024-08-30 08:37:48", - "author_account_age_days": 946 + "author_account_age_days": 1386 + }, + "https://github.com/quank123wip/ComfyUI-Step1X-Edit": { + "stars": 76, + "last_update": "2025-04-30 11:03:51", + "author_account_age_days": 3113 + }, + "https://github.com/quasiblob/ComfyUI-EsesCompositionGuides": { + "stars": 16, + "last_update": "2025-07-10 12:33:14", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageAdjustments": { + "stars": 42, + "last_update": "2025-07-10 12:26:02", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageCompare": { + "stars": 44, + "last_update": "2026-02-09 16:46:34", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageEffectBloom": { + "stars": 66, + "last_update": "2025-07-10 12:41:40", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageEffectCurves": { + "stars": 36, + "last_update": "2025-07-12 13:50:35", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageEffectLevels": { + "stars": 41, + "last_update": "2025-08-23 12:28:00", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageLensEffects": { + "stars": 21, + "last_update": "2025-07-10 12:46:20", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageOffset": { + "stars": 7, + "last_update": "2025-07-10 12:51:34", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageResize": { + "stars": 46, + "last_update": "2025-10-02 18:14:33", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/ComfyUI-EsesImageTransform": { + "stars": 14, + "last_update": "2025-07-02 13:29:30", + "author_account_age_days": 3897 + }, + "https://github.com/quasiblob/EsesCompositionGoldenRatio": { + "stars": 17, + "last_update": "2025-06-30 10:15:22", + "author_account_age_days": 3897 }, "https://github.com/qwixiwp/queuetools": { "stars": 0, "last_update": "2024-06-14 10:27:57", - "author_account_age_days": 781 + "author_account_age_days": 1220 + }, + "https://github.com/r3dsd/comfyui-template-loader": { + "stars": 0, + "last_update": "2025-01-12 08:55:49", + "author_account_age_days": 750 + }, + "https://github.com/rafacost/rafacost-comfy": { + "stars": 3, + "last_update": "2025-11-11 14:26:29", + "author_account_age_days": 4298 + }, + "https://github.com/railep/ComfyUI-HunyuanVideo-Foley": { + "stars": 5, + "last_update": "2025-08-29 16:48:04", + "author_account_age_days": 357 + }, + "https://github.com/raindrop313/ComfyUI-WanVideoStartEndFrames": { + "stars": 382, + "last_update": "2025-03-22 09:59:11", + "author_account_age_days": 1675 + }, + "https://github.com/raindrop313/ComfyUI_SD3_Flowedit": { + "stars": 6, + "last_update": "2025-02-06 19:02:52", + "author_account_age_days": 1675 + }, + "https://github.com/rainlizard/ComfyUI-Raffle": { + "stars": 20, + "last_update": "2025-11-23 16:11:33", + "author_account_age_days": 3772 + }, + "https://github.com/rainlizard/ComfyUI-WhirlpoolUpscaler": { + "stars": 1, + "last_update": "2025-08-14 13:53:47", + "author_account_age_days": 3772 + }, + "https://github.com/rakkarage/ComfyRage": { + "stars": 0, + "last_update": "2026-02-08 15:11:46", + "author_account_age_days": 5315 }, "https://github.com/ramesh-x90/ComfyUI_pyannote": { - "stars": 2, - "last_update": "2024-11-23 09:42:16", - "author_account_age_days": 1492 + "stars": 5, + "last_update": "2025-10-27 11:11:50", + "author_account_age_days": 1931 }, "https://github.com/ramyma/A8R8_ComfyUI_nodes": { - "stars": 51, + "stars": 69, "last_update": "2024-12-09 16:06:25", - "author_account_age_days": 3387 + "author_account_age_days": 3826 }, "https://github.com/randjtw/advance-aesthetic-score": { "stars": 0, "last_update": "2024-05-23 01:14:47", - "author_account_age_days": 930 + "author_account_age_days": 1370 }, - "https://github.com/raspie10032/ComfyUI_RS_NAI_Local_Prompt_converter": { + "https://github.com/randomnoner11/ComfyUI-MistralAI-API": { + "stars": 3, + "last_update": "2025-12-07 02:37:32", + "author_account_age_days": 428 + }, + "https://github.com/ranska/pixel_palette_art": { "stars": 1, - "last_update": "2024-11-07 13:39:12", - "author_account_age_days": 206 + "last_update": "2026-02-16 11:03:46", + "author_account_age_days": 5865 }, "https://github.com/ratulrafsan/Comfyui-SAL-VTON": { - "stars": 80, + "stars": 90, "last_update": "2024-08-26 09:52:06", - "author_account_age_days": 4664 + "author_account_age_days": 5103 + }, + "https://github.com/raykindle/ComfyUI_Step1X-Edit": { + "stars": 50, + "last_update": "2025-05-06 02:01:37", + "author_account_age_days": 2532 }, "https://github.com/raysers/Mflux-ComfyUI": { - "stars": 39, - "last_update": "2024-12-05 08:42:13", - "author_account_age_days": 2174 + "stars": 120, + "last_update": "2025-03-09 21:14:27", + "author_account_age_days": 2614 + }, + "https://github.com/razvanmatei-sf/comfyui-stillfront": { + "stars": 0, + "last_update": "2026-02-16 10:39:17", + "author_account_age_days": 179 + }, + "https://github.com/razvanmatei-sf/razv-llm": { + "stars": 0, + "last_update": "2025-12-02 14:48:54", + "author_account_age_days": 179 + }, + "https://github.com/razvanmatei-sf/razv-wavespeed": { + "stars": 0, + "last_update": "2025-12-02 14:56:41", + "author_account_age_days": 179 + }, + "https://github.com/razvanmatei-sf/serhii-prompt-list": { + "stars": 0, + "last_update": "2025-11-03 10:19:48", + "author_account_age_days": 179 }, "https://github.com/rcfcu2000/zhihuige-nodes-comfyui": { "stars": 1, "last_update": "2024-05-22 22:13:55", - "author_account_age_days": 3594 + "author_account_age_days": 4033 }, "https://github.com/rcsaquino/comfyui-custom-nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-08-26 10:08:29", - "author_account_age_days": 1681 + "author_account_age_days": 2120 + }, + "https://github.com/rdanalex/ComfyUI-ClownSampler": { + "stars": 0, + "last_update": "2026-02-01 07:51:15", + "author_account_age_days": 2297 }, "https://github.com/rdancer/ComfyUI_Florence2SAM2": { - "stars": 20, - "last_update": "2024-10-25 09:09:43", - "author_account_age_days": 5791 + "stars": 43, + "last_update": "2025-06-30 19:02:35", + "author_account_age_days": 6230 + }, + "https://github.com/rdawgemfl/rdawg_3D_pack": { + "stars": 0, + "last_update": "2025-10-19 12:31:40", + "author_account_age_days": 2537 + }, + "https://github.com/rdomunky/comfyui-subfolderimageloader": { + "stars": 1, + "last_update": "2025-07-20 04:21:48", + "author_account_age_days": 3932 + }, + "https://github.com/reallusion/ComfyUI-Reallusion": { + "stars": 8, + "last_update": "2025-08-26 10:09:05", + "author_account_age_days": 2670 }, "https://github.com/receyuki/comfyui-prompt-reader-node": { - "stars": 302, - "last_update": "2024-09-06 11:40:48", - "author_account_age_days": 2762 + "stars": 442, + "last_update": "2025-02-01 15:56:44", + "author_account_age_days": 3202 }, "https://github.com/recraft-ai/ComfyUI-RecraftAI": { - "stars": 36, - "last_update": "2024-11-06 13:54:26", - "author_account_age_days": 892 + "stars": 66, + "last_update": "2025-06-04 11:33:13", + "author_account_age_days": 1332 + }, + "https://github.com/red-polo/ComfyUI-WanViTPoseRetargeter": { + "stars": 7, + "last_update": "2025-09-30 16:00:15", + "author_account_age_days": 3913 }, "https://github.com/redhottensors/ComfyUI-Prediction": { - "stars": 12, + "stars": 15, "last_update": "2024-07-14 21:19:01", - "author_account_age_days": 309 + "author_account_age_days": 748 + }, + "https://github.com/reeoi/ComfyUI-WebROI": { + "stars": 1, + "last_update": "2025-11-25 08:44:40", + "author_account_age_days": 2369 + }, + "https://github.com/regiellis/ComfyUI-EasyColorCorrector": { + "stars": 131, + "last_update": "2026-02-02 01:40:50", + "author_account_age_days": 5236 + }, + "https://github.com/regiellis/ComfyUI-EasyIllustrious": { + "stars": 54, + "last_update": "2025-09-23 19:42:28", + "author_account_age_days": 5236 + }, + "https://github.com/regiellis/ComfyUI-EasyNoobai": { + "stars": 47, + "last_update": "2025-05-12 14:17:10", + "author_account_age_days": 5236 }, "https://github.com/regiellis/ComfyUI-EasyPony": { - "stars": 6, - "last_update": "2024-12-01 20:36:54", - "author_account_age_days": 4796 + "stars": 12, + "last_update": "2025-04-05 15:15:29", + "author_account_age_days": 5236 + }, + "https://github.com/regiellis/ComfyUI-SDXL-Adherence": { + "stars": 7, + "last_update": "2025-09-01 01:09:00", + "author_account_age_days": 5236 + }, + "https://github.com/relhamdi/ComfyUI-RE-CustomUtils": { + "stars": 0, + "last_update": "2026-01-25 11:33:31", + "author_account_age_days": 1873 + }, + "https://github.com/remingtonspaz/ComfyUI-ReferenceChain": { + "stars": 8, + "last_update": "2026-02-14 21:28:15", + "author_account_age_days": 4311 }, "https://github.com/replicate/comfyui-replicate": { - "stars": 162, + "stars": 208, "last_update": "2024-11-05 15:26:20", - "author_account_age_days": 1778 + "author_account_age_days": 2217 + }, + "https://github.com/rethink-studios/comfyui-model-linker-desktop": { + "stars": 4, + "last_update": "2025-12-22 05:02:38", + "author_account_age_days": 2226 }, "https://github.com/revirevy/Comfyui_saveimage_imgbb": { + "stars": 2, + "last_update": "2025-04-23 10:49:48", + "author_account_age_days": 5094 + }, + "https://github.com/revisionhiep-create/Comfyui-Prompt-Sorter": { "stars": 1, - "last_update": "2024-11-30 15:31:52", - "author_account_age_days": 4655 + "last_update": "2026-01-01 23:45:56", + "author_account_age_days": 73 + }, + "https://github.com/revisionhiep-create/comfyui-standard-trigger-words": { + "stars": 18, + "last_update": "2026-01-16 07:17:57", + "author_account_age_days": 73 + }, + "https://github.com/revisionhiep-create/comfyui-universal-trigger-toggle": { + "stars": 2, + "last_update": "2026-01-01 23:45:57", + "author_account_age_days": 73 + }, + "https://github.com/revisiontony/LoraMangerWebFrame": { + "stars": 3, + "last_update": "2025-12-24 11:56:44", + "author_account_age_days": 70 + }, + "https://github.com/rgamevfx/ComfyUI-RGnodes": { + "stars": 2, + "last_update": "2026-02-09 23:24:29", + "author_account_age_days": 425 }, "https://github.com/rgthree/rgthree-comfy": { - "stars": 1275, - "last_update": "2024-11-29 20:04:49", - "author_account_age_days": 5144 + "stars": 2806, + "last_update": "2025-12-12 01:53:37", + "author_account_age_days": 5583 }, "https://github.com/rhdunn/comfyui-audio-processing": { - "stars": 5, + "stars": 11, "last_update": "2024-08-22 19:11:01", - "author_account_age_days": 5807 + "author_account_age_days": 6246 }, "https://github.com/rhdunn/comfyui-bus-plugin": { - "stars": 3, + "stars": 2, "last_update": "2024-08-22 19:00:56", - "author_account_age_days": 5807 + "author_account_age_days": 6246 + }, + "https://github.com/rholdorf/comfyui_imgtools": { + "stars": 0, + "last_update": "2025-12-30 20:09:43", + "author_account_age_days": 4979 + }, + "https://github.com/rhplus0831/ComfyMepi": { + "stars": 0, + "last_update": "2025-04-12 22:59:21", + "author_account_age_days": 762 }, "https://github.com/richinsley/Comfy-LFO": { "stars": 5, "last_update": "2024-05-22 20:46:30", - "author_account_age_days": 2850 + "author_account_age_days": 3289 }, "https://github.com/ricklove/comfyui-ricklove": { - "stars": 2, + "stars": 1, "last_update": "2024-10-05 03:12:28", - "author_account_age_days": 5002 + "author_account_age_days": 5442 + }, + "https://github.com/rickrender/ComfyUI-Vectorizer-API": { + "stars": 4, + "last_update": "2025-08-20 00:09:26", + "author_account_age_days": 1150 + }, + "https://github.com/rickyars/comfyui-llm-tile": { + "stars": 1, + "last_update": "2025-06-25 11:56:15", + "author_account_age_days": 4813 + }, + "https://github.com/risunobushi/ComfyUI-Similarity-Score": { + "stars": 6, + "last_update": "2025-07-28 10:40:52", + "author_account_age_days": 1256 + }, + "https://github.com/risunobushi/ComfyUI_DisplacementMapTools": { + "stars": 3, + "last_update": "2025-01-29 18:06:41", + "author_account_age_days": 1256 + }, + "https://github.com/risunobushi/ComfyUI_sm4ll-Wrapper": { + "stars": 20, + "last_update": "2025-09-25 09:39:29", + "author_account_age_days": 1256 }, "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": { - "stars": 24, + "stars": 39, "last_update": "2024-06-14 10:28:04", - "author_account_age_days": 817 + "author_account_age_days": 1256 + }, + "https://github.com/ritik-devsecops/ComfyUI-Floyo-Flux2-API-node": { + "stars": 1, + "last_update": "2025-11-26 23:27:36", + "author_account_age_days": 97 + }, + "https://github.com/rjgoif/ComfyUI-Img-Label-Tools": { + "stars": 3, + "last_update": "2026-01-19 00:18:14", + "author_account_age_days": 4497 + }, + "https://github.com/rkfg/ComfyUI-Dia_tts": { + "stars": 0, + "last_update": "2025-04-27 15:58:21", + "author_account_age_days": 5881 }, "https://github.com/rnbwdsh/ComfyUI-LatentWalk": { - "stars": 6, + "stars": 16, "last_update": "2024-08-20 22:39:19", - "author_account_age_days": 3716 + "author_account_age_days": 4156 + }, + "https://github.com/rndnanthu/ComfyUI-RndNanthu": { + "stars": 28, + "last_update": "2025-12-02 13:21:47", + "author_account_age_days": 2422 + }, + "https://github.com/robertvoy/ComfyUI-Distributed": { + "stars": 505, + "last_update": "2026-01-25 07:26:38", + "author_account_age_days": 4714 }, "https://github.com/robertvoy/ComfyUI-Flux-Continuum": { - "stars": 109, - "last_update": "2024-12-03 19:25:59", - "author_account_age_days": 4275 + "stars": 232, + "last_update": "2025-12-04 06:17:57", + "author_account_age_days": 4714 + }, + "https://github.com/robin-collins/ComfyUI-TechsToolz": { + "stars": 0, + "last_update": "2025-06-20 00:25:39", + "author_account_age_days": 1733 + }, + "https://github.com/robomello/comfyui-prompt-saver": { + "stars": 0, + "last_update": "2026-01-29 17:59:46", + "author_account_age_days": 2295 }, "https://github.com/robtl2/ComfyUI-ComfyBridge": { - "stars": 1, + "stars": 0, "last_update": "2024-11-18 23:28:13", - "author_account_age_days": 622 + "author_account_age_days": 1061 + }, + "https://github.com/rockerBOO/pixel-sorting": { + "stars": 0, + "last_update": "2026-01-26 23:20:21", + "author_account_age_days": 6452 + }, + "https://github.com/rohitsainier/ComfyUI-InstagramDownloader": { + "stars": 21, + "last_update": "2025-01-02 08:47:22", + "author_account_age_days": 3763 }, "https://github.com/romeobuilderotti/ComfyUI-PNG-Metadata": { - "stars": 6, + "stars": 7, "last_update": "2024-05-22 21:29:25", - "author_account_age_days": 460 + "author_account_age_days": 899 }, "https://github.com/ronaldzgithub/ComfyUI_Appstore": { - "stars": 3, + "stars": 6, "last_update": "2024-12-04 15:02:42", - "author_account_age_days": 2480 + "author_account_age_days": 2919 }, "https://github.com/ronniebasak/ComfyUI-Tara-LLM-Integration": { - "stars": 96, + "stars": 109, "last_update": "2024-11-18 05:08:11", - "author_account_age_days": 4325 + "author_account_age_days": 4764 + }, + "https://github.com/ronsantash/Comfyui-flexi-lora-loader": { + "stars": 8, + "last_update": "2025-01-12 11:57:27", + "author_account_age_days": 1627 + }, + "https://github.com/rookiepsi/comfypsi_blur_mask": { + "stars": 1, + "last_update": "2025-09-08 02:32:36", + "author_account_age_days": 366 + }, + "https://github.com/rookiepsi/comfyui-extended": { + "stars": 5, + "last_update": "2025-10-07 20:14:44", + "author_account_age_days": 366 + }, + "https://github.com/rookiestar28/ComfyUI-Danbooru-Tags-Upsampler": { + "stars": 10, + "last_update": "2025-12-31 04:12:45", + "author_account_age_days": 822 + }, + "https://github.com/rookiestar28/ComfyUI-Doctor": { + "stars": 58, + "last_update": "2026-02-16 20:04:27", + "author_account_age_days": 822 + }, + "https://github.com/rookiestar28/ComfyUI-TranslateGemma": { + "stars": 22, + "last_update": "2026-01-24 16:03:58", + "author_account_age_days": 822 + }, + "https://github.com/rookiestar28/ComfyUI_Text_Processor": { + "stars": 13, + "last_update": "2026-01-29 04:27:17", + "author_account_age_days": 822 + }, + "https://github.com/room3dev/ComfyUI-FrameIO": { + "stars": 0, + "last_update": "2026-01-20 07:19:12", + "author_account_age_days": 3292 + }, + "https://github.com/room3dev/ComfyUI-I2VChainHelper": { + "stars": 0, + "last_update": "2026-01-22 18:25:08", + "author_account_age_days": 3292 + }, + "https://github.com/room3dev/ComfyUI-PixelForge": { + "stars": 0, + "last_update": "2026-01-20 06:33:26", + "author_account_age_days": 3292 + }, + "https://github.com/roundyyy/ComfyUI-mesh-simplifier": { + "stars": 8, + "last_update": "2025-03-09 23:39:24", + "author_account_age_days": 1537 + }, + "https://github.com/routhakash/AkkiNodes-LLM-Suite-for-ComfyUI": { + "stars": 7, + "last_update": "2025-11-25 19:40:54", + "author_account_age_days": 980 }, "https://github.com/royceschultz/ComfyUI-Notifications": { - "stars": 8, - "last_update": "2024-05-23 01:23:16", - "author_account_age_days": 2699 + "stars": 27, + "last_update": "2025-07-07 23:30:54", + "author_account_age_days": 3139 }, "https://github.com/royceschultz/ComfyUI-TranscriptionTools": { - "stars": 15, - "last_update": "2024-05-23 01:10:10", - "author_account_age_days": 2699 + "stars": 29, + "last_update": "2025-04-23 00:52:31", + "author_account_age_days": 3139 }, - "https://github.com/rubi-du/ComfyUI-BiRefNet-lite": { - "stars": 5, - "last_update": "2024-12-11 02:16:56", - "author_account_age_days": 352 + "https://github.com/rslosch/comfyui-nodesweet": { + "stars": 1, + "last_update": "2026-01-30 00:51:43", + "author_account_age_days": 1500 + }, + "https://github.com/rsxdalv/ComfyUI-TTS-Webui": { + "stars": 3, + "last_update": "2025-10-31 17:42:44", + "author_account_age_days": 4384 + }, + "https://github.com/ru4ls/ComfyUI_Google-Fonts": { + "stars": 1, + "last_update": "2025-10-29 09:24:52", + "author_account_age_days": 1095 + }, + "https://github.com/ru4ls/ComfyUI_Imagen": { + "stars": 3, + "last_update": "2025-10-20 02:29:03", + "author_account_age_days": 1095 + }, + "https://github.com/ru4ls/ComfyUI_Nano_Banana": { + "stars": 37, + "last_update": "2026-02-23 05:22:20", + "author_account_age_days": 1095 + }, + "https://github.com/ru4ls/ComfyUI_StreetView-Loader": { + "stars": 6, + "last_update": "2026-01-11 08:45:22", + "author_account_age_days": 1095 + }, + "https://github.com/ru4ls/ComfyUI_Wan": { + "stars": 3, + "last_update": "2025-10-20 02:32:13", + "author_account_age_days": 1095 + }, + "https://github.com/ruanjianlun/comfyui_maya1_tts_alun": { + "stars": 1, + "last_update": "2025-11-11 03:17:07", + "author_account_age_days": 874 + }, + "https://github.com/rubenvillarreal/ComfyUI_PoseAlign": { + "stars": 1, + "last_update": "2025-08-02 09:35:21", + "author_account_age_days": 3681 + }, + "https://github.com/rubi-du/ComfyUI-BiRefNet-Super": { + "stars": 13, + "last_update": "2025-05-21 02:21:09", + "author_account_age_days": 791 }, "https://github.com/rubi-du/ComfyUI-Flux-Inpainting": { - "stars": 7, - "last_update": "2024-12-11 09:34:16", - "author_account_age_days": 352 + "stars": 43, + "last_update": "2025-05-14 06:09:10", + "author_account_age_days": 791 }, "https://github.com/rubi-du/ComfyUI-ICC-nodes": { "stars": 2, - "last_update": "2024-12-05 08:27:40", - "author_account_age_days": 352 + "last_update": "2025-05-14 06:10:11", + "author_account_age_days": 791 + }, + "https://github.com/rubi-du/ComfyUI-MaskEditor-Extension": { + "stars": 14, + "last_update": "2025-07-23 01:54:15", + "author_account_age_days": 791 }, "https://github.com/rui40000/RUI-Nodes": { - "stars": 15, + "stars": 16, "last_update": "2024-05-22 22:12:26", - "author_account_age_days": 644 + "author_account_age_days": 1083 }, "https://github.com/ruiqutech/ComfyUI-RuiquNodes": { "stars": 0, "last_update": "2024-05-23 01:21:50", - "author_account_age_days": 240 + "author_account_age_days": 679 }, "https://github.com/runtime44/comfyui_r44_nodes": { - "stars": 40, + "stars": 42, "last_update": "2024-07-01 08:02:04", - "author_account_age_days": 337 + "author_account_age_days": 777 }, "https://github.com/ruucm/ruucm-comfy": { "stars": 2, - "last_update": "2024-10-12 10:31:49", - "author_account_age_days": 2590 + "last_update": "2025-04-21 15:20:57", + "author_account_age_days": 3030 + }, + "https://github.com/ryan-seungyong-lee/ComfyUI-PromptEnhancer": { + "stars": 6, + "last_update": "2025-10-06 18:43:07", + "author_account_age_days": 1927 + }, + "https://github.com/ryanontheinside/ComfyUI-CalculatorX": { + "stars": 2, + "last_update": "2026-02-13 14:11:09", + "author_account_age_days": 4299 + }, + "https://github.com/ryanontheinside/ComfyUI-DeepLiveCam": { + "stars": 14, + "last_update": "2025-05-26 14:26:57", + "author_account_age_days": 4298 + }, + "https://github.com/ryanontheinside/ComfyUI_ControlFreak": { + "stars": 20, + "last_update": "2026-02-15 15:28:03", + "author_account_age_days": 4298 }, "https://github.com/ryanontheinside/ComfyUI_Doom": { - "stars": 4, + "stars": 5, "last_update": "2024-11-08 17:58:21", - "author_account_age_days": 3859 + "author_account_age_days": 4298 + }, + "https://github.com/ryanontheinside/ComfyUI_EfficientTAM": { + "stars": 3, + "last_update": "2024-12-21 20:25:05", + "author_account_age_days": 4298 + }, + "https://github.com/ryanontheinside/ComfyUI_ProfilerX": { + "stars": 76, + "last_update": "2026-02-08 13:17:21", + "author_account_age_days": 4298 + }, + "https://github.com/ryanontheinside/ComfyUI_RealtimeNodes": { + "stars": 76, + "last_update": "2025-06-19 14:20:29", + "author_account_age_days": 4298 }, "https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside": { - "stars": 327, - "last_update": "2024-11-25 20:40:17", - "author_account_age_days": 3859 + "stars": 712, + "last_update": "2026-02-21 19:14:08", + "author_account_age_days": 4298 + }, + "https://github.com/ryanontheinside/ComfyUI_SuperResolution": { + "stars": 7, + "last_update": "2025-04-07 17:53:16", + "author_account_age_days": 4298 + }, + "https://github.com/rzgarespo/ComfyUI-diffusiondb": { + "stars": 26, + "last_update": "2026-01-05 02:03:24", + "author_account_age_days": 4509 + }, + "https://github.com/rzgarespo/ComfyUI-qwen-image-size-picker": { + "stars": 13, + "last_update": "2026-02-13 16:16:01", + "author_account_age_days": 4509 + }, + "https://github.com/s9roll7/comfyui_cotracker_node": { + "stars": 29, + "last_update": "2025-06-24 11:30:06", + "author_account_age_days": 1194 }, "https://github.com/saftle/uber_comfy_nodes": { - "stars": 2, - "last_update": "2024-08-24 02:42:40", - "author_account_age_days": 4927 + "stars": 1, + "last_update": "2025-12-29 18:44:55", + "author_account_age_days": 5366 }, "https://github.com/sakura1bgx/ComfyUI_FlipStreamViewer": { + "stars": 5, + "last_update": "2026-01-17 00:27:38", + "author_account_age_days": 547 + }, + "https://github.com/sammykumar/ComfyUI-SwissArmyKnife": { + "stars": 4, + "last_update": "2026-01-14 23:20:25", + "author_account_age_days": 5110 + }, + "https://github.com/sanbuphy/ComfyUI-AudioLDM": { "stars": 3, - "last_update": "2024-11-04 04:39:41", - "author_account_age_days": 108 + "last_update": "2025-01-02 02:01:12", + "author_account_age_days": 1531 + }, + "https://github.com/santiagosamuel3455/ComfyUI-GeminiImageToPrompt": { + "stars": 1, + "last_update": "2025-05-04 04:58:56", + "author_account_age_days": 560 + }, + "https://github.com/scofano/ComfyUI-Advanced-TextOverlay": { + "stars": 19, + "last_update": "2026-02-12 16:46:53", + "author_account_age_days": 3359 + }, + "https://github.com/scofano/ComfyUI-Simple-video-effects": { + "stars": 0, + "last_update": "2026-02-12 16:35:43", + "author_account_age_days": 3359 + }, + "https://github.com/scofano/comfy-audio-duration": { + "stars": 5, + "last_update": "2025-11-25 13:55:11", + "author_account_age_days": 3359 + }, + "https://github.com/scofano/comfy-text-stats": { + "stars": 0, + "last_update": "2025-10-10 20:10:48", + "author_account_age_days": 3359 + }, + "https://github.com/scraed/LanPaint": { + "stars": 999, + "last_update": "2026-02-15 17:03:30", + "author_account_age_days": 4072 }, "https://github.com/sdfxai/SDFXBridgeForComfyUI": { "stars": 11, "last_update": "2024-06-14 10:26:56", - "author_account_age_days": 404 + "author_account_age_days": 844 + }, + "https://github.com/sdtana/ComfyUI-FDG": { + "stars": 6, + "last_update": "2025-06-28 06:48:07", + "author_account_age_days": 1814 + }, + "https://github.com/seanjang990/comfyui-document-auto-crop": { + "stars": 0, + "last_update": "2025-07-16 03:59:22", + "author_account_age_days": 943 }, "https://github.com/seanlynch/comfyui-optical-flow": { - "stars": 31, + "stars": 33, "last_update": "2024-05-22 20:52:17", - "author_account_age_days": 5475 + "author_account_age_days": 5914 }, "https://github.com/seanlynch/srl-nodes": { - "stars": 4, + "stars": 12, "last_update": "2024-06-30 13:47:38", - "author_account_age_days": 5475 + "author_account_age_days": 5914 + }, + "https://github.com/sebagallo/comfyui-sg-llama-cpp": { + "stars": 4, + "last_update": "2025-12-23 11:02:03", + "author_account_age_days": 3236 + }, + "https://github.com/sebagallo/comfyui-sg-openai-client": { + "stars": 0, + "last_update": "2025-12-31 06:21:08", + "author_account_age_days": 3236 + }, + "https://github.com/sebagallo/comfyui-sg-text-encode-reference-images": { + "stars": 0, + "last_update": "2026-01-20 05:27:15", + "author_account_age_days": 3236 + }, + "https://github.com/sebord/ComfyUI-LMCQ": { + "stars": 105, + "last_update": "2026-01-19 09:56:26", + "author_account_age_days": 1396 + }, + "https://github.com/senhaicc/Comfyui-WL-MainImageDesign": { + "stars": 0, + "last_update": "2026-01-13 11:29:31", + "author_account_age_days": 365 }, "https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": { - "stars": 3, - "last_update": "2024-05-22 21:34:15", - "author_account_age_days": 3502 + "stars": 4, + "last_update": "2025-12-26 21:35:52", + "author_account_age_days": 3942 + }, + "https://github.com/set-soft/AudioSeparation": { + "stars": 22, + "last_update": "2026-02-11 14:06:14", + "author_account_age_days": 3420 + }, + "https://github.com/set-soft/ComfyUI-AudioBatch": { + "stars": 5, + "last_update": "2025-07-26 16:59:22", + "author_account_age_days": 3420 + }, + "https://github.com/set-soft/ComfyUI-ImageMisc": { + "stars": 1, + "last_update": "2025-12-30 16:49:04", + "author_account_age_days": 3420 + }, + "https://github.com/sfinktah/comfy-ovum": { + "stars": 6, + "last_update": "2025-11-17 22:15:39", + "author_account_age_days": 4642 + }, + "https://github.com/sfinktah/ovum-spotlight": { + "stars": 4, + "last_update": "2025-11-17 21:35:38", + "author_account_age_days": 4642 + }, + "https://github.com/sgyyao/ComfyUI_LLM_Prompt_Optimizer": { + "stars": 1, + "last_update": "2026-01-16 05:04:10", + "author_account_age_days": 2321 + }, + "https://github.com/sh570655308/ComfyUI-GigapixelAI": { + "stars": 233, + "last_update": "2025-07-30 05:16:48", + "author_account_age_days": 3111 + }, + "https://github.com/sh570655308/ComfyUI-TopazVideoAI": { + "stars": 249, + "last_update": "2025-04-23 08:54:20", + "author_account_age_days": 3111 + }, + "https://github.com/shabri-arrahim/ComfyUI-Safety-Checker": { + "stars": 1, + "last_update": "2025-01-23 05:46:33", + "author_account_age_days": 2379 }, "https://github.com/shadowcz007/comfyui-Image-reward": { - "stars": 29, + "stars": 32, "last_update": "2024-06-14 10:24:49", - "author_account_age_days": 3484 + "author_account_age_days": 3924 }, "https://github.com/shadowcz007/comfyui-consistency-decoder": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 10:23:35", - "author_account_age_days": 3484 + "author_account_age_days": 3924 }, "https://github.com/shadowcz007/comfyui-edit-mask": { "stars": 6, "last_update": "2024-06-20 01:42:48", - "author_account_age_days": 3484 + "author_account_age_days": 3924 }, "https://github.com/shadowcz007/comfyui-liveportrait": { - "stars": 428, + "stars": 472, "last_update": "2024-09-01 10:34:41", - "author_account_age_days": 3484 + "author_account_age_days": 2652 }, "https://github.com/shadowcz007/comfyui-mixlab-nodes": { - "stars": 1350, - "last_update": "2024-11-26 11:59:58", - "author_account_age_days": 3484 + "stars": 1806, + "last_update": "2025-07-22 01:44:28", + "author_account_age_days": 2652 }, "https://github.com/shadowcz007/comfyui-sound-lab": { - "stars": 102, + "stars": 135, "last_update": "2024-07-04 12:53:38", - "author_account_age_days": 3484 + "author_account_age_days": 2652 }, "https://github.com/shadowcz007/comfyui-try-on": { - "stars": 12, + "stars": 16, "last_update": "2024-08-15 10:50:22", - "author_account_age_days": 3484 + "author_account_age_days": 2652 }, "https://github.com/shadowcz007/comfyui-ultralytics-yolo": { - "stars": 27, + "stars": 37, "last_update": "2024-06-22 09:06:04", - "author_account_age_days": 3484 + "author_account_age_days": 3924 + }, + "https://github.com/shahkoorosh/ComfyUI-KGnodes": { + "stars": 7, + "last_update": "2025-05-23 17:41:55", + "author_account_age_days": 802 + }, + "https://github.com/shahkoorosh/ComfyUI-PersianText": { + "stars": 27, + "last_update": "2025-05-23 17:43:33", + "author_account_age_days": 802 + }, + "https://github.com/shenduldh/ComfyUI-Lightning": { + "stars": 222, + "last_update": "2025-03-13 05:58:04", + "author_account_age_days": 2727 }, "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": { "stars": 2, "last_update": "2024-05-23 00:14:25", - "author_account_age_days": 5263 + "author_account_age_days": 5702 + }, + "https://github.com/shiertier/ComfyUI-TeaCache-lumina2": { + "stars": 1, + "last_update": "2025-06-03 10:09:06", + "author_account_age_days": 1630 }, "https://github.com/shiimizu/ComfyUI-PhotoMaker-Plus": { - "stars": 246, + "stars": 294, "last_update": "2024-12-01 18:40:16", - "author_account_age_days": 1935 + "author_account_age_days": 2374 }, "https://github.com/shiimizu/ComfyUI-TiledDiffusion": { - "stars": 339, - "last_update": "2024-12-02 22:41:52", - "author_account_age_days": 1935 + "stars": 514, + "last_update": "2025-03-18 19:50:35", + "author_account_age_days": 2374 }, "https://github.com/shiimizu/ComfyUI-semantic-aware-guidance": { - "stars": 8, + "stars": 12, "last_update": "2024-08-08 19:59:57", - "author_account_age_days": 1935 + "author_account_age_days": 2374 }, "https://github.com/shiimizu/ComfyUI_smZNodes": { - "stars": 223, - "last_update": "2024-12-01 22:22:26", - "author_account_age_days": 1935 + "stars": 318, + "last_update": "2025-06-04 15:26:05", + "author_account_age_days": 2374 }, - "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage": { - "stars": 34, - "last_update": "2024-05-22 20:41:29", - "author_account_age_days": 2393 - }, - "https://github.com/shingo1228/ComfyUI-send-eagle-slim": { - "stars": 29, - "last_update": "2024-07-30 22:28:41", - "author_account_age_days": 2393 - }, - "https://github.com/shinich39/comfyui-connect-from-afar": { + "https://github.com/shin131002/RandomLoRALoader": { "stars": 1, - "last_update": "2024-08-15 21:10:31", - "author_account_age_days": 482 + "last_update": "2026-01-13 13:20:14", + "author_account_age_days": 370 }, - "https://github.com/shinich39/comfyui-group-selection": { + "https://github.com/shinich39/comfyui-break-workflow": { "stars": 2, - "last_update": "2024-08-16 06:01:35", - "author_account_age_days": 482 + "last_update": "2025-09-10 15:02:44", + "author_account_age_days": 921 }, - "https://github.com/shinich39/comfyui-load-image-in-seq": { - "stars": 6, - "last_update": "2024-08-23 11:51:31", - "author_account_age_days": 482 - }, - "https://github.com/shinich39/comfyui-load-image-with-cmd": { + "https://github.com/shinich39/comfyui-civitai-workflow": { "stars": 1, - "last_update": "2024-08-20 09:30:07", - "author_account_age_days": 482 + "last_update": "2025-10-12 10:16:58", + "author_account_age_days": 921 }, - "https://github.com/shinich39/comfyui-local-db": { - "stars": 3, - "last_update": "2024-08-03 15:45:29", - "author_account_age_days": 482 + "https://github.com/shinich39/comfyui-dynamic-routes": { + "stars": 5, + "last_update": "2025-09-10 15:13:41", + "author_account_age_days": 921 }, - "https://github.com/shinich39/comfyui-model-db": { + "https://github.com/shinich39/comfyui-get-meta": { + "stars": 9, + "last_update": "2025-09-12 23:21:21", + "author_account_age_days": 921 + }, + "https://github.com/shinich39/comfyui-global-prompts": { + "stars": 0, + "last_update": "2025-10-16 09:46:49", + "author_account_age_days": 921 + }, + "https://github.com/shinich39/comfyui-mtga": { + "stars": 0, + "last_update": "2026-01-12 15:59:34", + "author_account_age_days": 921 + }, + "https://github.com/shinich39/comfyui-prevent-sleep": { "stars": 1, - "last_update": "2024-07-27 18:32:45", - "author_account_age_days": 482 + "last_update": "2026-01-15 07:11:59", + "author_account_age_days": 921 }, - "https://github.com/shinich39/comfyui-parse-image": { - "stars": 2, - "last_update": "2024-09-20 19:12:36", - "author_account_age_days": 482 + "https://github.com/shinyakidoguchi301/comfyui-lora-tag-loader": { + "stars": 0, + "last_update": "2025-08-14 08:18:47", + "author_account_age_days": 325 }, - "https://github.com/shinich39/comfyui-put-image": { - "stars": 2, - "last_update": "2024-09-20 19:12:27", - "author_account_age_days": 482 + "https://github.com/shmbatom/Comfyui-Image-Concat": { + "stars": 0, + "last_update": "2026-01-19 15:24:15", + "author_account_age_days": 739 }, - "https://github.com/shinich39/comfyui-ramdom-node": { - "stars": 3, - "last_update": "2024-07-31 13:47:50", - "author_account_age_days": 482 - }, - "https://github.com/shinich39/comfyui-target-search": { - "stars": 2, - "last_update": "2024-08-15 23:12:25", - "author_account_age_days": 482 - }, - "https://github.com/shinich39/comfyui-textarea-keybindings": { - "stars": 1, - "last_update": "2024-08-27 05:44:22", - "author_account_age_days": 482 + "https://github.com/shmbatom/Comfyui-ImageAB-Compare": { + "stars": 0, + "last_update": "2026-01-05 12:16:23", + "author_account_age_days": 739 }, "https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": { "stars": 3, "last_update": "2024-06-20 13:57:29", - "author_account_age_days": 4477 + "author_account_age_days": 4917 }, "https://github.com/shockz0rz/comfy-easy-grids": { - "stars": 21, + "stars": 25, "last_update": "2024-05-22 18:14:05", - "author_account_age_days": 1796 + "author_account_age_days": 2235 + }, + "https://github.com/shootthesound/comfyUI-LongLook": { + "stars": 143, + "last_update": "2025-12-30 22:23:29", + "author_account_age_days": 1301 + }, + "https://github.com/shootthesound/comfyui-wan-i2v-control": { + "stars": 15, + "last_update": "2026-02-01 22:14:13", + "author_account_age_days": 1301 + }, + "https://github.com/shumoLR/Comfyui_SynVow_MultiangleCamera": { + "stars": 9, + "last_update": "2026-01-17 11:12:19", + "author_account_age_days": 654 + }, + "https://github.com/shumoLR/Comfyui_SynVow_TeleStyle": { + "stars": 1, + "last_update": "2026-01-30 18:24:23", + "author_account_age_days": 654 }, "https://github.com/siliconflow/BizyAir": { - "stars": 418, - "last_update": "2024-12-11 13:04:14", - "author_account_age_days": 475 + "stars": 832, + "last_update": "2025-09-24 10:15:54", + "author_account_age_days": 915 }, "https://github.com/siliconflow/onediff_comfy_nodes": { - "stars": 19, + "stars": 24, "last_update": "2024-06-24 10:08:11", - "author_account_age_days": 475 + "author_account_age_days": 915 + }, + "https://github.com/silveroxides/ComfyUI-LogicMath": { + "stars": 1, + "last_update": "2026-02-21 07:34:13", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI-ModelUtils": { + "stars": 7, + "last_update": "2026-02-12 07:07:39", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI-PokeIndex": { + "stars": 0, + "last_update": "2025-12-30 17:54:35", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI-RR-JointTagger": { + "stars": 2, + "last_update": "2026-02-12 18:47:03", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI_EmbeddingToolkit": { + "stars": 9, + "last_update": "2026-02-23 11:43:24", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI_FDGuidance": { + "stars": 5, + "last_update": "2026-02-07 15:28:15", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI_Gemini_Expanded_API": { + "stars": 3, + "last_update": "2026-02-22 09:33:12", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI_Hybrid-Scaled_fp8-Loader": { + "stars": 13, + "last_update": "2026-01-05 19:53:42", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI_PowerShiftScheduler": { + "stars": 8, + "last_update": "2026-01-21 14:35:20", + "author_account_age_days": 2110 + }, + "https://github.com/silveroxides/ComfyUI_SigmoidOffsetScheduler": { + "stars": 24, + "last_update": "2025-05-11 19:44:35", + "author_account_age_days": 2110 }, "https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders": { - "stars": 7, - "last_update": "2024-09-17 18:44:57", - "author_account_age_days": 1671 + "stars": 41, + "last_update": "2025-11-26 17:06:10", + "author_account_age_days": 2110 + }, + "https://github.com/sinanzoo2nd/ComfyUI-Seed-Wildcard-Pack": { + "stars": 0, + "last_update": "2026-02-20 16:37:24", + "author_account_age_days": 41 }, "https://github.com/sipherxyz/comfyui-art-venture": { - "stars": 170, - "last_update": "2024-11-04 14:05:29", - "author_account_age_days": 1277 + "stars": 333, + "last_update": "2026-02-01 16:04:28", + "author_account_age_days": 1716 }, "https://github.com/sipie800/ComfyUI-PuLID-Flux-Enhanced": { - "stars": 95, - "last_update": "2024-11-23 08:23:56", - "author_account_age_days": 2297 + "stars": 223, + "last_update": "2025-10-07 10:25:26", + "author_account_age_days": 2736 + }, + "https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ": { + "stars": 56, + "last_update": "2026-02-12 13:50:43", + "author_account_age_days": 3237 + }, + "https://github.com/siray-ai/siray-comfyui": { + "stars": 86, + "last_update": "2025-12-11 10:26:20", + "author_account_age_days": 150 + }, + "https://github.com/sirouk/chutes-comfyui-node": { + "stars": 0, + "last_update": "2025-12-01 23:12:03", + "author_account_age_days": 4170 + }, + "https://github.com/sittere/ComfyUI-YK_Line-loading": { + "stars": 2, + "last_update": "2025-03-02 09:10:54", + "author_account_age_days": 1487 + }, + "https://github.com/sjh00/ComfyUI-LoadImageWithInfo": { + "stars": 5, + "last_update": "2025-06-05 15:46:52", + "author_account_age_days": 4372 + }, + "https://github.com/sjhddh/ComfyUI-Cyber-Steganography": { + "stars": 0, + "last_update": "2026-01-23 23:24:12", + "author_account_age_days": 4504 + }, + "https://github.com/skatardude10/ComfyUI-Optical-Realism": { + "stars": 1, + "last_update": "2026-01-17 11:08:10", + "author_account_age_days": 3952 }, "https://github.com/skfoo/ComfyUI-Coziness": { - "stars": 28, + "stars": 32, "last_update": "2024-08-16 03:10:43", - "author_account_age_days": 2252 + "author_account_age_days": 2691 + }, + "https://github.com/skycoder182/comfyui-filename-tools": { + "stars": 3, + "last_update": "2025-05-20 18:06:04", + "author_account_age_days": 279 + }, + "https://github.com/skycoder182/comfyui-skycoder-tools": { + "stars": 1, + "last_update": "2025-06-08 12:26:41", + "author_account_age_days": 279 + }, + "https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit": { + "stars": 48, + "last_update": "2025-12-31 09:05:05", + "author_account_age_days": 5352 + }, + "https://github.com/slvslvslv/ComfyUI-SmartHelperNodes": { + "stars": 2, + "last_update": "2025-11-06 14:32:52", + "author_account_age_days": 586 + }, + "https://github.com/slvslvslv/ComfyUI-SmartImageTools": { + "stars": 0, + "last_update": "2025-11-06 13:10:07", + "author_account_age_days": 586 }, "https://github.com/slyt/comfyui-ollama-nodes": { - "stars": 0, + "stars": 1, "last_update": "2024-07-31 13:52:27", - "author_account_age_days": 4109 + "author_account_age_days": 4549 }, "https://github.com/smagnetize/kb-comfyui-nodes": { "stars": 0, "last_update": "2024-06-14 12:00:45", - "author_account_age_days": 2884 + "author_account_age_days": 3324 + }, + "https://github.com/smartvain/ComfyUI-FaceKeypointsFilter": { + "stars": 1, + "last_update": "2026-01-12 01:16:45", + "author_account_age_days": 1704 + }, + "https://github.com/smartvain/ComfyUI-PoseKeypointsToImage": { + "stars": 0, + "last_update": "2026-01-12 01:22:02", + "author_account_age_days": 1704 + }, + "https://github.com/smartvain/ComfyUI-PromptComment": { + "stars": 0, + "last_update": "2026-01-20 16:12:24", + "author_account_age_days": 1704 + }, + "https://github.com/smbdsbrain/ComfyUI-PK_load_image_paste": { + "stars": 0, + "last_update": "2025-10-25 21:28:35", + "author_account_age_days": 4186 }, "https://github.com/smlbiobot/ComfyUI-Flux-Replicate-API": { + "stars": 23, + "last_update": "2024-12-26 16:21:00", + "author_account_age_days": 3330 + }, + "https://github.com/smlbiobot/sml-comfyui-prompt-expansion": { "stars": 16, - "last_update": "2024-10-22 06:58:00", - "author_account_age_days": 2891 + "last_update": "2025-01-27 13:33:49", + "author_account_age_days": 3330 + }, + "https://github.com/smthemex/ComfyUI_AniCrafter": { + "stars": 36, + "last_update": "2025-07-21 14:04:20", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_AnyDoor": { - "stars": 52, - "last_update": "2024-10-05 00:22:07", - "author_account_age_days": 524 + "stars": 69, + "last_update": "2025-02-05 04:01:50", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_CSD_MT": { + "stars": 19, + "last_update": "2025-02-06 04:30:50", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_CSGO_Wrapper": { - "stars": 15, + "stars": 17, "last_update": "2024-09-07 06:13:48", - "author_account_age_days": 524 + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_ChatGLM_API": { - "stars": 24, + "stars": 25, "last_update": "2024-07-31 13:53:41", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_ChronoEdit_SM": { + "stars": 3, + "last_update": "2025-11-18 10:43:12", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_CustomNet": { "stars": 10, "last_update": "2024-08-11 08:58:37", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_DICE_Talk": { + "stars": 25, + "last_update": "2025-05-07 07:47:06", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_DeepFakeDefenders": { - "stars": 36, + "stars": 42, "last_update": "2024-09-14 00:17:59", - "author_account_age_days": 524 + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Demucs": { - "stars": 5, - "last_update": "2024-11-06 10:06:01", - "author_account_age_days": 524 + "stars": 10, + "last_update": "2025-12-12 06:04:30", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Diffree": { - "stars": 28, - "last_update": "2024-10-30 12:39:57", - "author_account_age_days": 524 + "stars": 31, + "last_update": "2025-03-09 01:16:33", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_DiffuEraser": { + "stars": 246, + "last_update": "2025-12-02 06:38:39", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_DyPE": { + "stars": 27, + "last_update": "2026-02-01 09:37:01", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_EchoMimic": { - "stars": 424, - "last_update": "2024-12-11 10:11:49", - "author_account_age_days": 524 + "stars": 685, + "last_update": "2026-01-24 00:19:48", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Face_Anon_Simple": { - "stars": 8, - "last_update": "2024-11-20 01:14:37", - "author_account_age_days": 524 + "stars": 16, + "last_update": "2025-03-12 05:22:03", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_FlashVSR": { + "stars": 313, + "last_update": "2026-02-23 03:28:56", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_FoleyCrafter": { - "stars": 48, - "last_update": "2024-09-06 02:36:44", - "author_account_age_days": 524 + "stars": 66, + "last_update": "2025-05-29 11:42:48", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_FollowYourEmoji": { - "stars": 16, - "last_update": "2024-07-21 06:01:11", - "author_account_age_days": 524 + "stars": 17, + "last_update": "2025-04-11 13:45:15", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_GRAG_Image_Editing": { + "stars": 8, + "last_update": "2025-11-30 07:52:54", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Hallo2": { - "stars": 56, - "last_update": "2024-11-19 01:00:07", - "author_account_age_days": 524 + "stars": 73, + "last_update": "2025-03-12 05:22:46", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_HiDiffusion_Pro": { "stars": 52, - "last_update": "2024-09-09 14:06:25", - "author_account_age_days": 524 + "last_update": "2025-01-13 03:29:50", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_HunyuanAvatar_Sm": { + "stars": 79, + "last_update": "2025-06-24 13:06:34", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_ID_Animator": { "stars": 24, "last_update": "2024-07-31 13:53:27", - "author_account_age_days": 524 + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_InstantIR_Wrapper": { - "stars": 182, - "last_update": "2024-11-15 12:16:19", - "author_account_age_days": 524 + "stars": 243, + "last_update": "2025-03-12 05:22:14", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_InteractAvatar": { + "stars": 12, + "last_update": "2026-02-10 13:17:28", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_KV_Edit": { + "stars": 61, + "last_update": "2025-09-30 08:22:04", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_Light_A_Video": { + "stars": 88, + "last_update": "2025-04-10 01:05:56", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Llama3_8B": { - "stars": 26, + "stars": 27, "last_update": "2024-06-25 00:49:01", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_LucidFlux": { + "stars": 57, + "last_update": "2026-01-12 04:47:17", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_MS_Diffusion": { - "stars": 49, + "stars": 58, "last_update": "2024-09-10 09:50:19", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_MangaNinjia": { + "stars": 58, + "last_update": "2025-04-09 14:21:57", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_MooER": { - "stars": 6, - "last_update": "2024-09-03 13:41:15", - "author_account_age_days": 524 + "stars": 5, + "last_update": "2025-03-09 01:15:38", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_ObjectClear": { + "stars": 27, + "last_update": "2025-11-24 10:01:01", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_OmniParser": { - "stars": 28, - "last_update": "2024-12-06 01:07:38", - "author_account_age_days": 524 + "stars": 39, + "last_update": "2025-03-12 05:22:34", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_OmniPart": { + "stars": 9, + "last_update": "2025-10-15 08:20:42", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_OmniSVG": { + "stars": 25, + "last_update": "2025-12-05 09:14:08", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_PBR_Maker": { - "stars": 7, - "last_update": "2024-12-09 05:34:53", - "author_account_age_days": 524 + "stars": 16, + "last_update": "2025-03-12 05:21:53", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_ParlerTTS": { - "stars": 33, - "last_update": "2024-12-06 08:12:06", - "author_account_age_days": 524 + "stars": 48, + "last_update": "2025-07-02 09:39:48", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_PartPacker": { + "stars": 31, + "last_update": "2025-06-25 00:44:53", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_Personalize_Anything": { + "stars": 44, + "last_update": "2025-03-26 00:38:13", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_PhotoDoodle": { + "stars": 95, + "last_update": "2025-03-20 08:19:21", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Pic2Story": { - "stars": 9, + "stars": 10, "last_update": "2024-12-06 12:12:19", - "author_account_age_days": 524 + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Pipeline_Tool": { - "stars": 11, + "stars": 10, "last_update": "2024-08-05 06:14:57", - "author_account_age_days": 524 + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Pops": { "stars": 22, "last_update": "2024-08-12 09:11:49", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_SVFR": { + "stars": 98, + "last_update": "2025-03-12 05:21:23", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Sapiens": { - "stars": 120, - "last_update": "2024-12-05 12:00:37", - "author_account_age_days": 524 + "stars": 200, + "last_update": "2025-03-12 05:22:59", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_SongGeneration": { + "stars": 137, + "last_update": "2026-01-18 09:38:56", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_Sonic": { + "stars": 1126, + "last_update": "2025-09-27 00:02:18", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_StableAudio_Open": { - "stars": 18, + "stars": 34, "last_update": "2024-08-10 03:45:47", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_StableAvatar": { + "stars": 43, + "last_update": "2025-08-21 07:58:39", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Stable_Makeup": { - "stars": 71, - "last_update": "2024-09-07 00:55:07", - "author_account_age_days": 524 + "stars": 102, + "last_update": "2025-07-03 00:30:45", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_Step_Audio_EditX_SM": { + "stars": 28, + "last_update": "2025-11-15 05:43:39", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_StoryDiffusion": { - "stars": 248, - "last_update": "2024-11-29 13:22:40", - "author_account_age_days": 524 + "stars": 492, + "last_update": "2025-10-11 09:57:02", + "author_account_age_days": 963 }, "https://github.com/smthemex/ComfyUI_Streamv2v_Plus": { "stars": 11, "last_update": "2024-09-06 08:20:59", - "author_account_age_days": 524 + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_TRELLIS": { + "stars": 181, + "last_update": "2025-08-17 03:55:34", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_UltraFlux": { + "stars": 22, + "last_update": "2025-11-27 04:17:26", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_VisualCloze": { + "stars": 11, + "last_update": "2025-05-21 08:56:45", + "author_account_age_days": 963 + }, + "https://github.com/smthemex/ComfyUI_YuE": { + "stars": 184, + "last_update": "2025-02-24 12:02:41", + "author_account_age_days": 963 }, "https://github.com/sn0w12/ComfyUI-Sn0w-Scripts": { - "stars": 9, - "last_update": "2024-11-16 20:42:59", - "author_account_age_days": 943 + "stars": 16, + "last_update": "2026-02-16 19:33:16", + "author_account_age_days": 1383 + }, + "https://github.com/sn0w12/ComfyUI-Syntax-Highlighting": { + "stars": 2, + "last_update": "2026-02-16 19:04:31", + "author_account_age_days": 1383 }, "https://github.com/sneccc/comfyui-snek-nodes": { "stars": 1, - "last_update": "2024-11-09 19:28:50", - "author_account_age_days": 1737 + "last_update": "2025-09-19 00:26:30", + "author_account_age_days": 2176 + }, + "https://github.com/snicolast/ComfyUI-IndexTTS2": { + "stars": 176, + "last_update": "2025-10-13 07:16:00", + "author_account_age_days": 2983 + }, + "https://github.com/snicolast/ComfyUI-Ovi": { + "stars": 121, + "last_update": "2025-10-16 21:46:54", + "author_account_age_days": 2983 + }, + "https://github.com/snomiao/ComfyUI-Video-Crop": { + "stars": 5, + "last_update": "2025-08-05 13:53:52", + "author_account_age_days": 4330 + }, + "https://github.com/solidlime/Comfyui-Random_Image_Picker": { + "stars": 0, + "last_update": "2026-01-07 13:39:25", + "author_account_age_days": 3628 + }, + "https://github.com/somesomebody/lorainfo-sidebar": { + "stars": 5, + "last_update": "2025-05-31 07:23:03", + "author_account_age_days": 300 + }, + "https://github.com/sonnybox/ComfyUI-SuperNodes": { + "stars": 5, + "last_update": "2026-02-19 16:53:54", + "author_account_age_days": 1162 + }, + "https://github.com/sooxt98/comfyui_longcat_image": { + "stars": 75, + "last_update": "2025-12-21 02:42:42", + "author_account_age_days": 3874 }, "https://github.com/souki202/ComfyUI-LoadImage-Advanced": { - "stars": 2, - "last_update": "2024-08-29 14:03:52", - "author_account_age_days": 3430 + "stars": 1, + "last_update": "2025-03-03 03:53:26", + "author_account_age_days": 3869 + }, + "https://github.com/soulctcher/TetriNode": { + "stars": 4, + "last_update": "2026-02-08 22:35:40", + "author_account_age_days": 3326 }, "https://github.com/sourceful-official/LoadLoraModelOnlyWithUrl": { - "stars": 2, + "stars": 1, "last_update": "2024-12-04 12:14:51", - "author_account_age_days": 1653 + "author_account_age_days": 2092 }, "https://github.com/sousakujikken/ComfyUI-PixydustQuantizer": { - "stars": 26, - "last_update": "2024-12-01 15:14:40", - "author_account_age_days": 578 + "stars": 31, + "last_update": "2025-03-30 15:07:02", + "author_account_age_days": 1017 }, "https://github.com/space-nuko/ComfyUI-Disco-Diffusion": { - "stars": 48, + "stars": 59, "last_update": "2024-08-07 11:51:17", - "author_account_age_days": 2894 + "author_account_age_days": 3333 }, "https://github.com/space-nuko/ComfyUI-OpenPose-Editor": { - "stars": 185, + "stars": 239, "last_update": "2024-05-22 18:10:49", - "author_account_age_days": 2894 + "author_account_age_days": 3333 }, "https://github.com/space-nuko/nui-suite": { "stars": 11, "last_update": "2024-05-22 18:11:04", - "author_account_age_days": 2894 + "author_account_age_days": 3333 }, "https://github.com/spacepxl/ComfyUI-Depth-Pro": { - "stars": 151, + "stars": 205, "last_update": "2024-10-23 20:05:56", - "author_account_age_days": 464 - }, - "https://github.com/spacepxl/ComfyUI-Florence-2": { - "stars": 71, - "last_update": "2024-07-20 19:44:33", - "author_account_age_days": 464 + "author_account_age_days": 903 }, "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": { - "stars": 45, - "last_update": "2024-10-28 17:18:44", - "author_account_age_days": 464 + "stars": 95, + "last_update": "2025-01-30 00:12:58", + "author_account_age_days": 903 }, "https://github.com/spacepxl/ComfyUI-Image-Filters": { - "stars": 173, - "last_update": "2024-10-30 16:02:55", - "author_account_age_days": 464 + "stars": 284, + "last_update": "2025-12-15 02:00:51", + "author_account_age_days": 903 + }, + "https://github.com/spacepxl/ComfyUI-LossTesting": { + "stars": 3, + "last_update": "2025-01-26 05:09:57", + "author_account_age_days": 903 }, "https://github.com/spacepxl/ComfyUI-RAVE": { - "stars": 86, + "stars": 94, "last_update": "2024-05-22 20:56:19", - "author_account_age_days": 464 + "author_account_age_days": 903 }, "https://github.com/spacepxl/ComfyUI-StyleGan": { - "stars": 11, + "stars": 20, "last_update": "2024-06-10 20:16:34", - "author_account_age_days": 464 + "author_account_age_days": 903 + }, + "https://github.com/spacepxl/ComfyUI-VAE-Utils": { + "stars": 151, + "last_update": "2026-02-05 04:47:29", + "author_account_age_days": 904 + }, + "https://github.com/spawner1145/CUI-Lumina2-TeaCache": { + "stars": 20, + "last_update": "2026-02-02 14:15:16", + "author_account_age_days": 547 + }, + "https://github.com/spawner1145/comfyui-aichat": { + "stars": 3, + "last_update": "2026-01-17 15:05:19", + "author_account_age_days": 547 + }, + "https://github.com/spawner1145/comfyui-lsnet": { + "stars": 89, + "last_update": "2025-12-19 14:20:40", + "author_account_age_days": 547 + }, + "https://github.com/speige/ComfyUI_Make-It-Animatable": { + "stars": 3, + "last_update": "2026-01-02 01:32:37", + "author_account_age_days": 4967 }, "https://github.com/spinagon/ComfyUI-seam-carving": { - "stars": 19, - "last_update": "2024-08-04 19:13:25", - "author_account_age_days": 4910 + "stars": 27, + "last_update": "2025-03-14 08:47:57", + "author_account_age_days": 5350 }, "https://github.com/spinagon/ComfyUI-seamless-tiling": { - "stars": 163, - "last_update": "2024-09-25 05:22:05", - "author_account_age_days": 4910 + "stars": 258, + "last_update": "2026-02-12 15:22:16", + "author_account_age_days": 5350 }, "https://github.com/spro/comfyui-mirror": { - "stars": 5, + "stars": 7, "last_update": "2024-05-22 20:50:25", - "author_account_age_days": 5401 + "author_account_age_days": 5841 + }, + "https://github.com/sputnik57/comfyui-prompt-logger": { + "stars": 0, + "last_update": "2025-09-09 22:35:39", + "author_account_age_days": 4359 + }, + "https://github.com/squirrel765/ComfyUI-LLM-VLM-Node": { + "stars": 7, + "last_update": "2025-12-01 03:45:48", + "author_account_age_days": 411 }, "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": { - "stars": 897, - "last_update": "2024-10-11 05:02:38", - "author_account_age_days": 1859 + "stars": 1442, + "last_update": "2026-02-23 02:42:18", + "author_account_age_days": 2298 }, "https://github.com/ssitu/ComfyUI_fabric": { - "stars": 87, + "stars": 93, "last_update": "2024-05-22 18:10:19", - "author_account_age_days": 1859 + "author_account_age_days": 2298 }, "https://github.com/ssitu/ComfyUI_restart_sampling": { - "stars": 83, - "last_update": "2024-05-22 18:09:49", - "author_account_age_days": 1859 + "stars": 90, + "last_update": "2025-12-06 03:42:31", + "author_account_age_days": 2298 }, "https://github.com/ssitu/ComfyUI_roop": { - "stars": 68, + "stars": 80, "last_update": "2024-05-22 18:10:03", - "author_account_age_days": 1859 + "author_account_age_days": 2298 + }, + "https://github.com/ssspace1/SSpack_ComfyUI": { + "stars": 0, + "last_update": "2025-12-13 08:16:16", + "author_account_age_days": 438 + }, + "https://github.com/stavsap/comfyui-downloader": { + "stars": 0, + "last_update": "2025-06-22 20:44:33", + "author_account_age_days": 4693 + }, + "https://github.com/stavsap/comfyui-kokoro": { + "stars": 66, + "last_update": "2026-02-23 18:58:56", + "author_account_age_days": 4693 }, "https://github.com/stavsap/comfyui-ollama": { - "stars": 398, - "last_update": "2024-12-05 13:43:22", - "author_account_age_days": 4254 + "stars": 775, + "last_update": "2025-10-23 17:02:46", + "author_account_age_days": 4693 }, - "https://github.com/steelan9199/ComfyUI-Teeth": { - "stars": 1, - "last_update": "2024-12-02 18:16:31", - "author_account_age_days": 1024 + "https://github.com/stduhpf/ComfyUI--Wan22FirstLastFrameToVideoLatent": { + "stars": 33, + "last_update": "2025-08-05 12:38:00", + "author_account_age_days": 3221 + }, + "https://github.com/stduhpf/ComfyUI--WanImageToVideoTiled": { + "stars": 15, + "last_update": "2025-10-22 21:10:35", + "author_account_age_days": 3221 + }, + "https://github.com/stduhpf/ComfyUI-WanMoeKSampler": { + "stars": 231, + "last_update": "2025-10-22 21:09:42", + "author_account_age_days": 3221 + }, + "https://github.com/stepfun-ai/ComfyUI-StepVideo": { + "stars": 43, + "last_update": "2025-03-27 07:52:26", + "author_account_age_days": 562 + }, + "https://github.com/stevenwg/ComfyUI-VideoGrid": { + "stars": 0, + "last_update": "2025-05-26 06:51:21", + "author_account_age_days": 3908 }, "https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": { - "stars": 22, - "last_update": "2024-11-11 12:14:38", - "author_account_age_days": 4298 + "stars": 43, + "last_update": "2025-01-06 12:02:58", + "author_account_age_days": 4737 }, "https://github.com/stormcenter/ComfyUI-LivePhotoCreator": { - "stars": 18, - "last_update": "2024-11-03 12:22:12", - "author_account_age_days": 4298 + "stars": 37, + "last_update": "2025-01-06 12:03:42", + "author_account_age_days": 4737 }, "https://github.com/stormcenter/ComfyUI-SVGFullfill": { - "stars": 6, - "last_update": "2024-11-24 15:58:45", - "author_account_age_days": 4298 + "stars": 11, + "last_update": "2025-01-06 12:04:18", + "author_account_age_days": 4737 }, "https://github.com/storyicon/comfyui_musev_evolved": { - "stars": 22, + "stars": 26, "last_update": "2024-06-14 11:02:40", - "author_account_age_days": 2722 + "author_account_age_days": 3161 }, "https://github.com/storyicon/comfyui_segment_anything": { - "stars": 773, + "stars": 1079, "last_update": "2024-07-12 10:17:33", - "author_account_age_days": 2722 + "author_account_age_days": 3161 + }, + "https://github.com/strand1/ComfyUI-Autogen": { + "stars": 3, + "last_update": "2025-01-21 05:10:43", + "author_account_age_days": 5081 + }, + "https://github.com/strawberryPunch/vram_optimizer": { + "stars": 17, + "last_update": "2025-07-18 13:34:28", + "author_account_age_days": 903 }, "https://github.com/strimmlarn/ComfyUI-Strimmlarns-Aesthetic-Score": { - "stars": 29, + "stars": 34, "last_update": "2024-06-17 10:01:44", - "author_account_age_days": 2797 + "author_account_age_days": 3236 + }, + "https://github.com/stuttlepress/ComfyUI-Wan-VACE-Prep": { + "stars": 24, + "last_update": "2026-02-15 22:06:47", + "author_account_age_days": 557 }, "https://github.com/styler00dollar/ComfyUI-deepcache": { - "stars": 8, + "stars": 11, "last_update": "2024-05-22 22:18:18", - "author_account_age_days": 2016 + "author_account_age_days": 2455 }, "https://github.com/styler00dollar/ComfyUI-sudo-latent-upscale": { - "stars": 37, + "stars": 40, "last_update": "2024-05-22 22:18:07", - "author_account_age_days": 2016 + "author_account_age_days": 2455 + }, + "https://github.com/styletransfer/ComfyUI-TRELLIS2_Motion": { + "stars": 4, + "last_update": "2025-12-21 17:36:04", + "author_account_age_days": 4473 + }, + "https://github.com/subraoul/ComfyUI_Bit-Depth-Enhancer": { + "stars": 1, + "last_update": "2025-11-10 21:17:53", + "author_account_age_days": 3615 }, "https://github.com/subtleGradient/TinkerBot-tech-for-ComfyUI-Touchpad": { - "stars": 28, + "stars": 42, "last_update": "2024-08-16 01:18:03", - "author_account_age_days": 6100 + "author_account_age_days": 6539 + }, + "https://github.com/sugarkwork/ComfyUI_AspectRatioToSize": { + "stars": 3, + "last_update": "2026-02-18 16:05:39", + "author_account_age_days": 1485 + }, + "https://github.com/sugarkwork/comfyui-trtupscaler": { + "stars": 3, + "last_update": "2025-06-11 07:43:10", + "author_account_age_days": 1485 }, "https://github.com/sugarkwork/comfyui_cohere": { - "stars": 2, - "last_update": "2024-07-22 08:42:31", - "author_account_age_days": 1045 + "stars": 1, + "last_update": "2025-06-11 04:29:08", + "author_account_age_days": 1485 + }, + "https://github.com/sugarkwork/comfyui_smart_character_detailer": { + "stars": 1, + "last_update": "2026-02-13 12:30:19", + "author_account_age_days": 1485 }, "https://github.com/sugarkwork/comfyui_tag_fillter": { - "stars": 29, - "last_update": "2024-11-06 03:28:20", - "author_account_age_days": 1045 + "stars": 76, + "last_update": "2026-02-23 12:30:44", + "author_account_age_days": 1485 + }, + "https://github.com/suhee19/comfyui-orpheus-loader": { + "stars": 0, + "last_update": "2025-09-23 15:14:02", + "author_account_age_days": 1223 + }, + "https://github.com/sumitchatterjee13/Luminance-Stack-Processor": { + "stars": 39, + "last_update": "2025-10-05 11:40:55", + "author_account_age_days": 2445 + }, + "https://github.com/sumitchatterjee13/nuke-nodes-comfyui": { + "stars": 44, + "last_update": "2026-02-15 01:53:49", + "author_account_age_days": 2445 + }, + "https://github.com/sunra-ai/comfyui-sunra": { + "stars": 6, + "last_update": "2025-07-18 14:28:36", + "author_account_age_days": 362 + }, + "https://github.com/supElement/ComfyUI_Element_easy": { + "stars": 0, + "last_update": "2026-01-17 06:29:43", + "author_account_age_days": 655 }, "https://github.com/superyoman/comfyui_lumaAPI": { - "stars": 20, + "stars": 21, "last_update": "2024-06-17 21:00:05", - "author_account_age_days": 619 + "author_account_age_days": 1058 + }, + "https://github.com/surinder83singh/ComfyUI-compare-videos": { + "stars": 7, + "last_update": "2025-05-06 01:30:48", + "author_account_age_days": 5126 + }, + "https://github.com/svetozarov/AS_LLM_nodes": { + "stars": 2, + "last_update": "2025-03-23 12:05:43", + "author_account_age_days": 1094 + }, + "https://github.com/svntax/ComfyUI-RetroDiffusion-API-Node": { + "stars": 7, + "last_update": "2025-11-08 13:11:55", + "author_account_age_days": 4489 + }, + "https://github.com/swan7-py/ComfyUI-ImageAlphaCrop": { + "stars": 2, + "last_update": "2025-11-21 01:38:12", + "author_account_age_days": 406 }, "https://github.com/sweetndata/ComfyUI-Image-Harmonizer": { - "stars": 2, + "stars": 3, "last_update": "2024-11-20 06:10:34", - "author_account_age_days": 902 + "author_account_age_days": 1341 + }, + "https://github.com/sweetndata/ComfyUI-Reflatent": { + "stars": 0, + "last_update": "2025-08-27 16:38:57", + "author_account_age_days": 1341 }, "https://github.com/sweetndata/ComfyUI-googletrans": { - "stars": 2, + "stars": 4, "last_update": "2024-11-20 04:53:19", - "author_account_age_days": 902 + "author_account_age_days": 1341 }, - "https://github.com/syaofox/ComfyUI_fnodes": { - "stars": 7, - "last_update": "2024-10-15 09:38:25", - "author_account_age_days": 3325 + "https://github.com/sweetndata/ComfyUI_Sticker_Compositer": { + "stars": 1, + "last_update": "2025-01-02 06:54:51", + "author_account_age_days": 1341 + }, + "https://github.com/swfxliyiyu/ComfyUI-FastVideo": { + "stars": 0, + "last_update": "2025-09-15 05:41:45", + "author_account_age_days": 3521 + }, + "https://github.com/swhsiang/comfyui-3d-gs-renderer": { + "stars": 2, + "last_update": "2025-06-09 03:05:11", + "author_account_age_days": 3544 + }, + "https://github.com/sworksteam/SEngine": { + "stars": 0, + "last_update": "2026-02-03 09:13:07", + "author_account_age_days": 22 }, "https://github.com/syllebra/bilbox-comfyui": { - "stars": 114, - "last_update": "2024-12-06 23:51:55", - "author_account_age_days": 3306 + "stars": 142, + "last_update": "2025-09-17 19:49:51", + "author_account_age_days": 3745 }, "https://github.com/sylym/comfy_vid2vid": { - "stars": 69, + "stars": 72, "last_update": "2024-05-22 17:53:40", - "author_account_age_days": 2068 + "author_account_age_days": 2507 + }, + "https://github.com/synthetai/ComfyUI-JM-Gemini-API": { + "stars": 10, + "last_update": "2026-01-09 07:53:56", + "author_account_age_days": 560 + }, + "https://github.com/synthetai/ComfyUI-JM-KLing-API": { + "stars": 3, + "last_update": "2025-10-16 07:24:50", + "author_account_age_days": 560 + }, + "https://github.com/synthetai/ComfyUI-JM-MiniMax-API": { + "stars": 5, + "last_update": "2025-09-12 02:51:40", + "author_account_age_days": 560 + }, + "https://github.com/synthetai/ComfyUI-JM-Volcengine-API": { + "stars": 5, + "last_update": "2025-07-26 08:32:23", + "author_account_age_days": 560 + }, + "https://github.com/synthetai/ComfyUI-ToolBox": { + "stars": 0, + "last_update": "2025-10-13 15:44:26", + "author_account_age_days": 560 + }, + "https://github.com/synthetai/ComfyUI_FaceEnhancer": { + "stars": 2, + "last_update": "2025-04-17 00:34:39", + "author_account_age_days": 560 + }, + "https://github.com/synthetai/ComfyUI_PromptBatcher": { + "stars": 11, + "last_update": "2025-04-14 04:42:03", + "author_account_age_days": 560 + }, + "https://github.com/synystersocks/ComfyUI-SocksLatentPatcher": { + "stars": 14, + "last_update": "2025-10-10 17:43:43", + "author_account_age_days": 1012 + }, + "https://github.com/sysL-padawan/comfyui-elevenlabs-integration": { + "stars": 3, + "last_update": "2025-08-17 10:29:10", + "author_account_age_days": 3218 + }, + "https://github.com/sysoutch/blender-ComfyUIModelGenerator-addon": { + "stars": 1, + "last_update": "2026-01-23 20:11:20", + "author_account_age_days": 4681 + }, + "https://github.com/systemaiofinterest-wq/ComfyUI-MetaAI": { + "stars": 0, + "last_update": "2025-12-04 04:36:01", + "author_account_age_days": 166 }, "https://github.com/szhublox/ambw_comfyui": { "stars": 16, "last_update": "2024-05-22 18:04:57", - "author_account_age_days": 1177 + "author_account_age_days": 1616 + }, + "https://github.com/t22m003/ComfyUI_LoopNode": { + "stars": 0, + "last_update": "2025-12-19 04:33:18", + "author_account_age_days": 2509 }, "https://github.com/taabata/ComfyCanvas": { - "stars": 73, - "last_update": "2024-11-25 20:15:00", - "author_account_age_days": 1853 + "stars": 94, + "last_update": "2025-07-10 00:40:21", + "author_account_age_days": 2292 }, "https://github.com/taabata/LCM_Inpaint_Outpaint_Comfy": { - "stars": 254, + "stars": 260, "last_update": "2024-11-18 00:45:28", - "author_account_age_days": 1853 + "author_account_age_days": 2292 + }, + "https://github.com/taabata/SANA_LOWVRAM": { + "stars": 4, + "last_update": "2024-12-28 01:16:29", + "author_account_age_days": 2292 + }, + "https://github.com/tabisheva/comfyui-segs-profile": { + "stars": 0, + "last_update": "2026-01-14 18:02:11", + "author_account_age_days": 2630 }, "https://github.com/taches-ai/comfyui-scene-composer": { - "stars": 16, - "last_update": "2024-11-17 20:49:23", - "author_account_age_days": 77 + "stars": 76, + "last_update": "2025-12-18 02:24:57", + "author_account_age_days": 516 }, "https://github.com/tachyon-beep/comfyui-simplefeed": { - "stars": 8, + "stars": 10, "last_update": "2024-10-16 09:19:29", - "author_account_age_days": 5091 + "author_account_age_days": 5530 + }, + "https://github.com/tackcrypto1031/tk_comfyui_img2mask": { + "stars": 0, + "last_update": "2026-01-14 09:28:34", + "author_account_age_days": 640 + }, + "https://github.com/tackcrypto1031/tk_comfyui_view_and_light": { + "stars": 0, + "last_update": "2026-01-14 08:58:19", + "author_account_age_days": 640 }, "https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-": { - "stars": 14, + "stars": 44, "last_update": "2024-12-01 13:06:02", - "author_account_age_days": 555 + "author_account_age_days": 994 }, "https://github.com/talesofai/comfyui-browser": { - "stars": 511, + "stars": 653, "last_update": "2024-11-11 01:42:30", - "author_account_age_days": 726 + "author_account_age_days": 1165 }, "https://github.com/tanglaoya321/ComfyUI-StoryMaker": { - "stars": 15, + "stars": 19, "last_update": "2024-10-01 01:20:00", - "author_account_age_days": 4141 + "author_account_age_days": 4581 }, - "https://github.com/tanglup/Comfyui-Ycnode": { - "stars": 45, - "last_update": "2024-11-25 01:28:58", - "author_account_age_days": 294 + "https://github.com/tardigrade1001/latent-rotate-90": { + "stars": 0, + "last_update": "2025-12-31 12:39:27", + "author_account_age_days": 2617 }, - "https://github.com/tanglup/Comfyui_Flux_Style_Adjust": { - "stars": 191, - "last_update": "2024-12-07 02:02:01", - "author_account_age_days": 294 + "https://github.com/tatookan/comfyui_ssl_gemini_EXP": { + "stars": 91, + "last_update": "2025-03-19 15:54:44", + "author_account_age_days": 2340 + }, + "https://github.com/tauraloke/ComfyUI-Unfake-Pixels": { + "stars": 39, + "last_update": "2025-08-01 08:26:12", + "author_account_age_days": 5030 + }, + "https://github.com/tavyra/ComfyUI_Curves": { + "stars": 2, + "last_update": "2025-05-08 01:48:55", + "author_account_age_days": 2709 + }, + "https://github.com/teamalpha-ai/comfyui-image-transformer": { + "stars": 1, + "last_update": "2025-10-02 03:48:49", + "author_account_age_days": 601 + }, + "https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea": { + "stars": 4, + "last_update": "2025-09-27 20:21:30", + "author_account_age_days": 1063 + }, + "https://github.com/tekijiyuu/TenguPad": { + "stars": 0, + "last_update": "2026-02-06 08:38:56", + "author_account_age_days": 2915 + }, + "https://github.com/tenitsky/tenitsky-prompt-cycler-simple": { + "stars": 6, + "last_update": "2025-10-31 03:04:37", + "author_account_age_days": 308 + }, + "https://github.com/tercumantanumut/ComfyUI-Omini-Kontext": { + "stars": 59, + "last_update": "2025-08-13 20:55:23", + "author_account_age_days": 1073 + }, + "https://github.com/terefang/ComfyUI-Terefang-Nodes": { + "stars": 0, + "last_update": "2025-11-12 12:35:02", + "author_account_age_days": 5572 + }, + "https://github.com/tester4488/mc_qwen": { + "stars": 4, + "last_update": "2025-11-14 11:46:00", + "author_account_age_days": 736 + }, + "https://github.com/tetsuoo-online/comfyui-too-xmp-metadata": { + "stars": 7, + "last_update": "2025-12-15 23:16:12", + "author_account_age_days": 2629 }, "https://github.com/teward/Comfy-Sentry": { "stars": 1, "last_update": "2024-07-31 21:37:42", - "author_account_age_days": 5268 + "author_account_age_days": 5707 }, "https://github.com/teward/ComfyUI-Helper-Nodes": { - "stars": 4, + "stars": 8, "last_update": "2024-05-23 01:22:01", - "author_account_age_days": 5268 + "author_account_age_days": 5707 }, - "https://github.com/theUpsider/ComfyUI-Logic": { - "stars": 153, - "last_update": "2024-08-16 12:20:56", - "author_account_age_days": 2892 + "https://github.com/thalismind/ComfyUI-Blend-Nodes": { + "stars": 1, + "last_update": "2025-06-30 00:06:21", + "author_account_age_days": 409 + }, + "https://github.com/thalismind/ComfyUI-LoadImageWithFilename": { + "stars": 4, + "last_update": "2025-07-21 03:28:05", + "author_account_age_days": 409 + }, + "https://github.com/thatname/Comfyui_CharaConsist": { + "stars": 0, + "last_update": "2025-12-06 04:33:36", + "author_account_age_days": 4388 + }, + "https://github.com/theAdamColton/ComfyUI-texflow-extension": { + "stars": 1, + "last_update": "2025-01-16 19:58:24", + "author_account_age_days": 1965 }, "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": { - "stars": 42, - "last_update": "2024-08-02 14:06:54", - "author_account_age_days": 2892 + "stars": 72, + "last_update": "2025-09-15 15:48:29", + "author_account_age_days": 3332 }, "https://github.com/thecooltechguy/ComfyUI-ComfyWorkflows": { - "stars": 49, + "stars": 77, "last_update": "2024-05-22 21:33:47", - "author_account_age_days": 2592 + "author_account_age_days": 3032 }, "https://github.com/thecooltechguy/ComfyUI-MagicAnimate": { - "stars": 219, + "stars": 224, "last_update": "2024-05-22 21:33:35", - "author_account_age_days": 2592 + "author_account_age_days": 3032 }, "https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion": { - "stars": 337, + "stars": 368, "last_update": "2024-05-24 22:14:42", - "author_account_age_days": 2592 + "author_account_age_days": 3032 }, - "https://github.com/thoddnn/ComfyUI-MLX": { - "stars": 78, - "last_update": "2024-10-22 06:41:22", - "author_account_age_days": 433 + "https://github.com/thedivergentai/divergent_nodes": { + "stars": 1, + "last_update": "2025-12-12 22:20:59", + "author_account_age_days": 1069 + }, + "https://github.com/theluminhub/ComfyUI-Lumin-Upload": { + "stars": 0, + "last_update": "2025-11-24 20:34:57", + "author_account_age_days": 91 + }, + "https://github.com/theshubzworld/ComfyUI-FaceCalloutNode": { + "stars": 0, + "last_update": "2025-12-10 08:17:58", + "author_account_age_days": 580 + }, + "https://github.com/theshubzworld/ComfyUI-NvidiaCaptioner": { + "stars": 0, + "last_update": "2025-12-10 11:09:29", + "author_account_age_days": 580 + }, + "https://github.com/theshubzworld/ComfyUI-SD3.5-Latent-Size-Picker": { + "stars": 2, + "last_update": "2025-12-10 12:04:07", + "author_account_age_days": 580 + }, + "https://github.com/theshubzworld/ComfyUI-TogetherVision": { + "stars": 5, + "last_update": "2025-12-10 08:25:51", + "author_account_age_days": 580 + }, + "https://github.com/theshubzworld/ComfyUI-Universal-Latent": { + "stars": 0, + "last_update": "2025-12-10 07:23:11", + "author_account_age_days": 580 + }, + "https://github.com/theshubzworld/ComfyUI-ollama_killer": { + "stars": 3, + "last_update": "2025-12-10 12:02:59", + "author_account_age_days": 580 + }, + "https://github.com/thezveroboy/ComfyUI-CSM-Nodes": { + "stars": 33, + "last_update": "2026-01-22 19:45:56", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/ComfyUI-ClipReshaper": { + "stars": 2, + "last_update": "2025-12-15 14:48:40", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/ComfyUI-LoadRandomText": { + "stars": 0, + "last_update": "2025-12-27 19:23:28", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/ComfyUI-WAN-ClipSkip": { + "stars": 1, + "last_update": "2025-03-16 21:12:54", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/ComfyUI-klein4-9multiangle": { + "stars": 1, + "last_update": "2026-02-01 14:20:23", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/ComfyUI-lut": { + "stars": 4, + "last_update": "2025-05-24 21:37:06", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/ComfyUI_ACE-Step-zveroboy": { + "stars": 4, + "last_update": "2025-05-12 11:01:16", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/comfyui-RandomPromptsZveroboy": { + "stars": 5, + "last_update": "2025-08-19 12:29:31", + "author_account_age_days": 3823 + }, + "https://github.com/thezveroboy/comfyui-random-image-loader": { + "stars": 3, + "last_update": "2025-05-11 18:04:32", + "author_account_age_days": 3823 + }, + "https://github.com/thimpat/ThimPatUtils": { + "stars": 0, + "last_update": "2025-08-25 18:04:19", + "author_account_age_days": 4288 + }, + "https://github.com/thrakotool/ComfyUI-KiraLoraEQ": { + "stars": 0, + "last_update": "2025-12-04 22:09:43", + "author_account_age_days": 2143 }, "https://github.com/tianguanggliu/Utools": { - "stars": 1, + "stars": 0, "last_update": "2024-08-29 09:45:03", - "author_account_age_days": 2510 + "author_account_age_days": 2949 }, "https://github.com/tiankuan93/ComfyUI-V-Express": { - "stars": 109, + "stars": 112, "last_update": "2024-06-26 02:41:00", - "author_account_age_days": 3120 + "author_account_age_days": 3559 }, "https://github.com/tianlang0704/ComfyUI-StableProjectorzBridge": { - "stars": 19, + "stars": 44, "last_update": "2024-12-01 11:46:58", - "author_account_age_days": 3495 + "author_account_age_days": 3934 + }, + "https://github.com/tianyuw/ComfyUI-LLM-API": { + "stars": 12, + "last_update": "2025-01-25 19:31:47", + "author_account_age_days": 3802 + }, + "https://github.com/tigeryy2/comfyui-structured-outputs": { + "stars": 2, + "last_update": "2026-02-11 16:37:41", + "author_account_age_days": 2580 + }, + "https://github.com/tighug/comfyui-eagle-feeder": { + "stars": 2, + "last_update": "2025-07-11 15:56:24", + "author_account_age_days": 2720 + }, + "https://github.com/tighug/comfyui-rating-checker": { + "stars": 1, + "last_update": "2025-05-09 14:22:51", + "author_account_age_days": 2720 + }, + "https://github.com/tiheaven/Ps-Comfy-TiHeaveN-CustomNodes": { + "stars": 40, + "last_update": "2026-01-19 17:09:12", + "author_account_age_days": 841 + }, + "https://github.com/tj5miniop/VRAM_Fix_Comfy": { + "stars": 1, + "last_update": "2026-01-15 09:22:25", + "author_account_age_days": 1769 }, "https://github.com/tkreuziger/comfyui-claude": { - "stars": 3, - "last_update": "2024-12-03 13:37:24", - "author_account_age_days": 706 + "stars": 5, + "last_update": "2025-04-10 18:23:35", + "author_account_age_days": 1145 }, "https://github.com/tmagara/ComfyUI-Prediction-Boost": { - "stars": 2, + "stars": 1, "last_update": "2024-07-31 13:51:19", - "author_account_age_days": 4545 + "author_account_age_days": 4984 + }, + "https://github.com/tmode-1960/TA-ComfyUI-Nodes-Pack": { + "stars": 0, + "last_update": "2026-02-15 12:06:06", + "author_account_age_days": 1294 }, "https://github.com/tocubed/ComfyUI-AudioReactor": { - "stars": 8, + "stars": 9, "last_update": "2024-05-22 22:21:57", - "author_account_age_days": 4029 + "author_account_age_days": 4468 + }, + "https://github.com/tocubed/ComfyUI-EvTexture": { + "stars": 17, + "last_update": "2025-01-05 23:21:23", + "author_account_age_days": 4468 }, "https://github.com/tomudo/ComfyUI-ascii-art": { - "stars": 4, + "stars": 3, "last_update": "2024-11-21 05:24:12", - "author_account_age_days": 3073 + "author_account_age_days": 3512 }, "https://github.com/tooldigital/ComfyUI-Yolo-Cropper": { - "stars": 6, + "stars": 15, "last_update": "2024-06-14 13:59:48", - "author_account_age_days": 4487 + "author_account_age_days": 4927 + }, + "https://github.com/tori29umai0123/ComfyUI-Model_Downloader": { + "stars": 4, + "last_update": "2025-11-27 13:02:47", + "author_account_age_days": 1971 }, "https://github.com/toxicwind/ComfyUI-TTools": { "stars": 1, "last_update": "2024-07-04 20:07:35", - "author_account_age_days": 4540 + "author_account_age_days": 4979 }, "https://github.com/toyxyz/ComfyUI_rgbx_Wrapper": { - "stars": 47, - "last_update": "2024-11-28 18:52:07", - "author_account_age_days": 3819 + "stars": 126, + "last_update": "2025-04-03 08:17:10", + "author_account_age_days": 4259 }, "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": { - "stars": 525, - "last_update": "2024-11-15 19:13:08", - "author_account_age_days": 3819 + "stars": 604, + "last_update": "2025-11-02 19:13:09", + "author_account_age_days": 4259 + }, + "https://github.com/tpc2233/ComfyUI-Z-Image-Turbo": { + "stars": 16, + "last_update": "2025-11-28 21:49:00", + "author_account_age_days": 1348 + }, + "https://github.com/tppp2806/ComfyUI-YoloTrack": { + "stars": 0, + "last_update": "2025-12-19 14:35:46", + "author_account_age_days": 849 + }, + "https://github.com/transcendedhacker/Mode_personal_node": { + "stars": 0, + "last_update": "2026-01-18 21:39:25", + "author_account_age_days": 558 + }, + "https://github.com/traugdor/ComfyUI-Riffusion": { + "stars": 5, + "last_update": "2025-05-30 20:15:05", + "author_account_age_days": 4429 + }, + "https://github.com/traugdor/ComfyUI-UltimateSDUpscale-GGUF": { + "stars": 15, + "last_update": "2025-08-22 23:56:33", + "author_account_age_days": 4429 }, "https://github.com/traugdor/ComfyUI-quadMoons-nodes": { - "stars": 13, - "last_update": "2024-11-03 00:10:00", - "author_account_age_days": 3990 + "stars": 16, + "last_update": "2025-12-04 15:25:09", + "author_account_age_days": 4429 + }, + "https://github.com/tritant/ComfyUI-Advanced-Photo-Grain": { + "stars": 6, + "last_update": "2025-10-04 19:08:45", + "author_account_age_days": 3750 }, "https://github.com/tritant/ComfyUI_CreaPrompt": { - "stars": 39, - "last_update": "2024-12-11 09:08:22", - "author_account_age_days": 3310 + "stars": 81, + "last_update": "2025-12-30 16:56:41", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_Custom_Switch": { + "stars": 6, + "last_update": "2025-10-12 13:57:31", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_Flux_Block_Lora_Merger": { + "stars": 3, + "last_update": "2025-07-01 15:26:48", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_Flux_Lora_Merger": { + "stars": 3, + "last_update": "2025-05-09 04:39:16", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_Kitchen_nvfp4_Converter": { + "stars": 65, + "last_update": "2026-02-19 12:06:16", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_Layers_Utility": { + "stars": 68, + "last_update": "2025-10-07 17:14:33", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_Relight_Img": { + "stars": 7, + "last_update": "2025-08-02 12:20:39", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_Remove_Banding_Artifacts": { + "stars": 15, + "last_update": "2025-07-21 20:23:10", + "author_account_age_days": 3750 + }, + "https://github.com/tritant/ComfyUI_SuperScaler": { + "stars": 168, + "last_update": "2025-12-09 09:58:42", + "author_account_age_days": 3750 }, "https://github.com/trojblue/trNodes": { "stars": 8, "last_update": "2024-05-22 18:04:36", - "author_account_age_days": 2428 + "author_account_age_days": 2867 }, "https://github.com/troyxmccall/ComfyUI-ScaleToTargetMegapixels": { "stars": 1, "last_update": "2024-11-11 00:07:25", - "author_account_age_days": 5559 + "author_account_age_days": 5998 }, "https://github.com/trumanwong/ComfyUI-NSFW-Detection": { - "stars": 24, - "last_update": "2024-08-03 05:16:33", - "author_account_age_days": 3130 + "stars": 50, + "last_update": "2025-04-21 05:38:12", + "author_account_age_days": 3569 + }, + "https://github.com/trunksn1/comfyui-change-checkpoint-randomly": { + "stars": 1, + "last_update": "2025-12-01 19:09:39", + "author_account_age_days": 3795 }, "https://github.com/tsogzark/ComfyUI-load-image-from-url": { - "stars": 15, + "stars": 24, "last_update": "2024-06-14 13:59:05", - "author_account_age_days": 1698 + "author_account_age_days": 2138 + }, + "https://github.com/ttulttul/Better-Gemini": { + "stars": 0, + "last_update": "2025-12-24 05:47:47", + "author_account_age_days": 5366 + }, + "https://github.com/ttulttul/ComfyUI-FlowMatching-Inverter": { + "stars": 7, + "last_update": "2026-01-01 21:34:17", + "author_account_age_days": 5366 + }, + "https://github.com/ttulttul/ComfyUI-FlowMatching-Upscaler": { + "stars": 58, + "last_update": "2026-01-29 18:18:20", + "author_account_age_days": 5366 }, "https://github.com/ttulttul/ComfyUI-Iterative-Mixer": { "stars": 118, - "last_update": "2024-07-09 14:56:02", - "author_account_age_days": 4927 + "last_update": "2025-03-10 03:33:02", + "author_account_age_days": 5366 + }, + "https://github.com/ttulttul/ComfyUI-Taylor-Attention": { + "stars": 0, + "last_update": "2026-02-12 02:51:57", + "author_account_age_days": 5366 }, "https://github.com/ttulttul/ComfyUI-Tensor-Operations": { - "stars": 5, - "last_update": "2024-06-12 21:55:39", - "author_account_age_days": 4927 + "stars": 7, + "last_update": "2025-02-03 16:57:00", + "author_account_age_days": 5366 + }, + "https://github.com/ttulttul/Skoogeer-Noise": { + "stars": 11, + "last_update": "2026-02-02 17:51:53", + "author_account_age_days": 5366 + }, + "https://github.com/tuki0918/ComfyUI_Cooldown_Node": { + "stars": 0, + "last_update": "2025-11-25 12:34:53", + "author_account_age_days": 5352 + }, + "https://github.com/tuki0918/comfyui-image-expand-nodes": { + "stars": 0, + "last_update": "2025-12-30 16:47:12", + "author_account_age_days": 5352 + }, + "https://github.com/tuki0918/comfyui-image-tiled-nodes": { + "stars": 2, + "last_update": "2025-11-25 05:13:19", + "author_account_age_days": 5352 + }, + "https://github.com/tumbowungus/MultiMaskCouple": { + "stars": 0, + "last_update": "2026-02-02 21:33:27", + "author_account_age_days": 75 }, "https://github.com/tungdop2/Comfyui_face_restorer": { - "stars": 2, + "stars": 1, "last_update": "2024-11-21 15:53:59", - "author_account_age_days": 1594 + "author_account_age_days": 2033 }, "https://github.com/tungdop2/Comfyui_joy-caption-alpha-two": { - "stars": 2, - "last_update": "2024-11-26 07:47:26", - "author_account_age_days": 1594 + "stars": 9, + "last_update": "2025-04-19 06:00:23", + "author_account_age_days": 2033 }, "https://github.com/turkyden/ComfyUI-SmartCrop": { - "stars": 4, + "stars": 3, "last_update": "2024-10-08 09:36:34", - "author_account_age_days": 2919 + "author_account_age_days": 3358 + }, + "https://github.com/turnbros/ComfyBros": { + "stars": 0, + "last_update": "2025-11-05 03:20:19", + "author_account_age_days": 1989 + }, + "https://github.com/tusharbhutt/Endless-Buttons": { + "stars": 10, + "last_update": "2025-08-06 06:28:45", + "author_account_age_days": 3274 }, "https://github.com/tusharbhutt/Endless-Nodes": { - "stars": 26, - "last_update": "2024-08-20 02:23:16", - "author_account_age_days": 2835 + "stars": 66, + "last_update": "2025-07-25 22:08:03", + "author_account_age_days": 3274 }, "https://github.com/twri/sdxl_prompt_styler": { - "stars": 776, + "stars": 912, "last_update": "2024-05-22 18:16:58", - "author_account_age_days": 4238 + "author_account_age_days": 4677 }, "https://github.com/txt2any/ComfyUI-PromptOrganizer": { "stars": 0, "last_update": "2024-05-23 01:10:33", - "author_account_age_days": 254 + "author_account_age_days": 693 }, "https://github.com/ty0x2333/ComfyUI-Dev-Utils": { - "stars": 96, - "last_update": "2024-10-03 23:26:45", - "author_account_age_days": 3872 + "stars": 176, + "last_update": "2025-11-01 14:56:57", + "author_account_age_days": 4312 }, "https://github.com/tzwm/comfyui-profiler": { - "stars": 142, + "stars": 165, "last_update": "2024-08-28 14:27:12", - "author_account_age_days": 4939 + "author_account_age_days": 5378 + }, + "https://github.com/u5dev/comfyUI_u5_VramFREE": { + "stars": 6, + "last_update": "2025-10-02 02:30:02", + "author_account_age_days": 154 }, "https://github.com/uarefans/ComfyUI-Fans": { - "stars": 16, + "stars": 17, "last_update": "2024-07-14 15:00:38", - "author_account_age_days": 1442 + "author_account_age_days": 1881 + }, + "https://github.com/ubisoft/ComfyUI-Chord": { + "stars": 293, + "last_update": "2026-01-10 08:09:58", + "author_account_age_days": 3134 + }, + "https://github.com/ucloud/comfyui-plugin": { + "stars": 3, + "last_update": "2026-01-04 05:59:18", + "author_account_age_days": 3814 + }, + "https://github.com/uczensokratesa/ComfyUI-Claude-VAE": { + "stars": 0, + "last_update": "2026-02-03 23:11:28", + "author_account_age_days": 732 + }, + "https://github.com/uczensokratesa/ComfyUI-Gemini-VAE-Fix": { + "stars": 0, + "last_update": "2026-02-03 23:08:12", + "author_account_age_days": 732 + }, + "https://github.com/uczensokratesa/ComfyUI-Grok-SmartVAE": { + "stars": 15, + "last_update": "2026-02-23 11:52:28", + "author_account_age_days": 732 + }, + "https://github.com/uczensokratesa/ComfyUI-UniversalSmartVAE": { + "stars": 1, + "last_update": "2026-01-24 15:32:38", + "author_account_age_days": 732 }, "https://github.com/uetuluk/comfyui-webcam-node": { - "stars": 3, + "stars": 4, "last_update": "2024-06-14 08:25:13", - "author_account_age_days": 2484 + "author_account_age_days": 2923 }, - "https://github.com/un-seen/comfyui-tensorops": { - "stars": 14, - "last_update": "2024-10-26 00:04:07", - "author_account_age_days": 1486 + "https://github.com/uihp/ComfyUI-String-Chain": { + "stars": 1, + "last_update": "2025-04-12 12:22:14", + "author_account_age_days": 1647 }, - "https://github.com/un-seen/comfyui_segment_anything_plus": { - "stars": 5, - "last_update": "2024-07-29 06:21:54", - "author_account_age_days": 1486 - }, - "https://github.com/unwdef/unwdef-nodes-comfyui": { - "stars": 2, - "last_update": "2024-07-31 13:39:39", + "https://github.com/uinodes/ComfyUI-uinodesDOC": { + "stars": 58, + "last_update": "2025-08-10 13:17:49", "author_account_age_days": 243 }, - "https://github.com/valofey/Openrouter-Node": { + "https://github.com/umiyuki/comfyui-pad-to-eight": { + "stars": 0, + "last_update": "2025-01-07 09:58:36", + "author_account_age_days": 4363 + }, + "https://github.com/un-seen/comfyui-tensorops": { + "stars": 41, + "last_update": "2024-10-26 00:04:07", + "author_account_age_days": 1925 + }, + "https://github.com/un-seen/comfyui_segment_anything_plus": { + "stars": 10, + "last_update": "2024-07-29 06:21:54", + "author_account_age_days": 1925 + }, + "https://github.com/unicough/comfy_openai_image_api": { + "stars": 0, + "last_update": "2025-05-02 04:24:34", + "author_account_age_days": 4319 + }, + "https://github.com/unwdef/unwdef-nodes-comfyui": { + "stars": 5, + "last_update": "2025-03-27 10:42:15", + "author_account_age_days": 683 + }, + "https://github.com/upseem/comfyui_sun_nodes": { + "stars": 1, + "last_update": "2026-01-07 04:06:51", + "author_account_age_days": 1110 + }, + "https://github.com/upseem/comfyui_sunxAI_facetools": { + "stars": 10, + "last_update": "2025-10-29 07:46:17", + "author_account_age_days": 1110 + }, + "https://github.com/usrname0/comfyui-holdup": { + "stars": 3, + "last_update": "2026-02-16 12:07:15", + "author_account_age_days": 3023 + }, + "https://github.com/ussoewwin/ComfyUI-DistorchMemoryManager": { + "stars": 19, + "last_update": "2026-01-23 19:17:38", + "author_account_age_days": 985 + }, + "https://github.com/ussoewwin/ComfyUI-NunchakuFluxLoraStacker": { + "stars": 13, + "last_update": "2026-02-18 20:32:20", + "author_account_age_days": 985 + }, + "https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader": { + "stars": 316, + "last_update": "2026-02-18 23:58:22", + "author_account_age_days": 985 + }, + "https://github.com/vadimcro/VKRiez-Edge": { + "stars": 16, + "last_update": "2025-03-18 11:18:27", + "author_account_age_days": 3245 + }, + "https://github.com/vahidzxc/va-nodes": { "stars": 2, - "last_update": "2024-09-26 14:38:37", - "author_account_age_days": 1553 + "last_update": "2025-03-22 01:50:08", + "author_account_age_days": 601 + }, + "https://github.com/vahlok-alunmid/ComfyUI-ExtendIPAdapterClipVision": { + "stars": 17, + "last_update": "2025-02-09 04:06:34", + "author_account_age_days": 2996 + }, + "https://github.com/vaishnav-vn/va1": { + "stars": 0, + "last_update": "2026-02-09 16:55:43", + "author_account_age_days": 2566 + }, + "https://github.com/valofey/Openrouter-Node": { + "stars": 5, + "last_update": "2025-02-13 21:26:22", + "author_account_age_days": 1992 + }, + "https://github.com/vanche1212/ComfyUI-InspireMusic": { + "stars": 2, + "last_update": "2025-10-28 02:23:32", + "author_account_age_days": 3567 }, "https://github.com/vanche1212/ComfyUI-ZMG-Nodes": { - "stars": 3, - "last_update": "2024-06-25 04:48:19", - "author_account_age_days": 3128 + "stars": 8, + "last_update": "2026-01-20 06:28:26", + "author_account_age_days": 3567 }, "https://github.com/vanillacode314/SimpleWildcardsComfyUI": { - "stars": 4, - "last_update": "2024-07-31 13:39:43", - "author_account_age_days": 1027 + "stars": 6, + "last_update": "2025-04-02 04:56:25", + "author_account_age_days": 1466 + }, + "https://github.com/vantagewithai/Vantage-DreamOmni2": { + "stars": 2, + "last_update": "2025-11-06 04:53:18", + "author_account_age_days": 624 + }, + "https://github.com/vantagewithai/Vantage-DyPE": { + "stars": 6, + "last_update": "2025-10-31 09:19:35", + "author_account_age_days": 624 + }, + "https://github.com/vantagewithai/Vantage-HunyuanFoley": { + "stars": 10, + "last_update": "2025-10-04 23:57:59", + "author_account_age_days": 624 + }, + "https://github.com/vantagewithai/Vantage-Nodes": { + "stars": 12, + "last_update": "2026-01-31 05:21:51", + "author_account_age_days": 624 + }, + "https://github.com/vantagewithai/Vantage-Step-Audio-EditX": { + "stars": 5, + "last_update": "2025-11-27 08:41:01", + "author_account_age_days": 624 + }, + "https://github.com/vantagewithai/VantageLongWanVideo": { + "stars": 45, + "last_update": "2025-09-25 18:54:33", + "author_account_age_days": 624 }, "https://github.com/var1ableX/ComfyUI_Accessories": { "stars": 1, - "last_update": "2024-09-14 01:23:16", - "author_account_age_days": 4934 + "last_update": "2025-09-18 02:41:54", + "author_account_age_days": 5373 }, "https://github.com/vault-developer/comfyui-image-blender": { "stars": 20, - "last_update": "2024-08-03 19:30:31", - "author_account_age_days": 2783 + "last_update": "2025-04-02 19:37:15", + "author_account_age_days": 3223 }, "https://github.com/veighnsche/comfyui_gr85": { - "stars": 2, - "last_update": "2024-11-26 17:26:48", - "author_account_age_days": 3270 + "stars": 1, + "last_update": "2025-11-28 04:00:25", + "author_account_age_days": 3709 + }, + "https://github.com/vekitan55/SimpleFlux1Merger": { + "stars": 4, + "last_update": "2025-04-23 12:09:47", + "author_account_age_days": 940 + }, + "https://github.com/verIdyia/ComfyUI-Qwen-Image-DF11": { + "stars": 11, + "last_update": "2026-02-16 17:37:34", + "author_account_age_days": 2880 }, "https://github.com/victorchall/comfyui_webcamcapture": { - "stars": 9, - "last_update": "2024-06-22 18:59:10", - "author_account_age_days": 3315 + "stars": 15, + "last_update": "2025-04-16 20:39:32", + "author_account_age_days": 3754 }, "https://github.com/vienteck/ComfyUI-Chat-GPT-Integration": { - "stars": 31, + "stars": 32, "last_update": "2024-05-22 22:11:14", - "author_account_age_days": 3597 + "author_account_age_days": 4036 + }, + "https://github.com/vincentfs/ComfyUI-ArchiGraph": { + "stars": 2, + "last_update": "2025-12-26 15:57:59", + "author_account_age_days": 4275 }, "https://github.com/violet-chen/comfyui-psd2png": { - "stars": 15, - "last_update": "2024-06-12 15:30:14", - "author_account_age_days": 1568 + "stars": 20, + "last_update": "2025-06-04 11:41:34", + "author_account_age_days": 2007 }, - "https://github.com/viperyl/ComfyUI-BiRefNet": { - "stars": 241, - "last_update": "2024-08-17 16:38:15", - "author_account_age_days": 2203 + "https://github.com/violet0927/ComfyUI-HuggingFaceLoraUploader": { + "stars": 0, + "last_update": "2025-11-16 14:14:42", + "author_account_age_days": 390 }, "https://github.com/viperyl/ComfyUI-RGT": { - "stars": 6, + "stars": 8, "last_update": "2024-06-20 15:33:50", - "author_account_age_days": 2203 + "author_account_age_days": 2642 + }, + "https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1": { + "stars": 276, + "last_update": "2025-08-11 19:41:21", + "author_account_age_days": 5649 + }, + "https://github.com/visualbruno/ComfyUI-Trellis2": { + "stars": 304, + "last_update": "2026-02-22 22:14:21", + "author_account_age_days": 5649 }, "https://github.com/vivax3794/ComfyUI-Sub-Nodes": { - "stars": 152, - "last_update": "2024-11-03 04:06:08", - "author_account_age_days": 2008 + "stars": 163, + "last_update": "2025-02-21 07:03:30", + "author_account_age_days": 2448 }, "https://github.com/vivax3794/ComfyUI-Vivax-Nodes": { - "stars": 4, + "stars": 3, "last_update": "2024-09-07 18:42:27", - "author_account_age_days": 2008 + "author_account_age_days": 2448 + }, + "https://github.com/vivi-gomez/ComfyUI-fixnodetranslate": { + "stars": 0, + "last_update": "2025-06-01 08:42:50", + "author_account_age_days": 4958 + }, + "https://github.com/vjumpkung/ComfyUI-Musubi-Tuner-LoRA-Loader": { + "stars": 2, + "last_update": "2026-02-16 16:59:09", + "author_account_age_days": 3959 + }, + "https://github.com/vjumpkung/ComfyUI-STARWrapper": { + "stars": 3, + "last_update": "2025-12-26 08:34:34", + "author_account_age_days": 3959 + }, + "https://github.com/vjumpkung/comfyui-infinitetalk-native-sampler": { + "stars": 0, + "last_update": "2026-02-16 17:17:12", + "author_account_age_days": 3959 + }, + "https://github.com/vkff5833/ComfyUI-MobileClient": { + "stars": 9, + "last_update": "2025-02-11 00:34:36", + "author_account_age_days": 904 }, "https://github.com/vkff5833/ComfyUI-PromptConverter": { + "stars": 3, + "last_update": "2025-01-27 18:35:41", + "author_account_age_days": 904 + }, + "https://github.com/vladpro3/ComfyUI_BishaNodes": { "stars": 1, - "last_update": "2024-12-05 07:51:51", - "author_account_age_days": 465 + "last_update": "2025-06-08 19:23:23", + "author_account_age_days": 2936 + }, + "https://github.com/voxta-ai/ComfyUI-VoxtaNodes": { + "stars": 1, + "last_update": "2025-10-09 03:59:42", + "author_account_age_days": 965 + }, + "https://github.com/vrgamegirl19/comfyui-vrgamedevgirl": { + "stars": 275, + "last_update": "2026-02-23 00:56:36", + "author_account_age_days": 1018 + }, + "https://github.com/vsaan212/Vsaan212-workflow-utilities": { + "stars": 0, + "last_update": "2026-02-16 14:30:58", + "author_account_age_days": 399 }, "https://github.com/vsevolod-oparin/comfyui-kandinsky22": { "stars": 10, - "last_update": "2024-07-31 16:03:48", - "author_account_age_days": 5154 + "last_update": "2025-04-02 03:48:05", + "author_account_age_days": 5593 + }, + "https://github.com/vslinx/ComfyUI-vslinx-nodes": { + "stars": 11, + "last_update": "2026-01-21 17:29:59", + "author_account_age_days": 2462 + }, + "https://github.com/vuhung3990/comfyui-nsfw-guard": { + "stars": 2, + "last_update": "2026-01-11 06:50:10", + "author_account_age_days": 4447 }, "https://github.com/vuongminh1907/ComfyUI_ZenID": { - "stars": 77, - "last_update": "2024-12-10 03:57:24", - "author_account_age_days": 742 + "stars": 218, + "last_update": "2025-07-03 02:15:51", + "author_account_age_days": 1181 }, "https://github.com/wTechArtist/ComfyUI-CustomNodes": { "stars": 3, "last_update": "2024-08-21 03:03:16", - "author_account_age_days": 1531 + "author_account_age_days": 1970 }, "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang": { "stars": 2, - "last_update": "2024-11-08 15:37:40", - "author_account_age_days": 1531 + "last_update": "2025-03-23 07:52:36", + "author_account_age_days": 1970 + }, + "https://github.com/wTechArtist/ComfyUI_VVL_VideoCamera_Advanced": { + "stars": 6, + "last_update": "2025-06-23 10:08:04", + "author_account_age_days": 1970 + }, + "https://github.com/wakattac/ComfyUI-AbstractImaGen": { + "stars": 1, + "last_update": "2025-05-09 22:37:03", + "author_account_age_days": 294 + }, + "https://github.com/walke2019/ComfyUI-GGUF-VLM": { + "stars": 27, + "last_update": "2025-12-17 05:35:36", + "author_account_age_days": 2519 + }, + "https://github.com/wallen0322/ComfyUI-AE-Animation": { + "stars": 57, + "last_update": "2025-12-25 20:09:56", + "author_account_age_days": 337 + }, + "https://github.com/wallen0322/ComfyUI-QI-QwenEditSafe": { + "stars": 55, + "last_update": "2025-11-05 20:04:35", + "author_account_age_days": 337 + }, + "https://github.com/wallen0322/ComfyUI-SageAttention3": { + "stars": 18, + "last_update": "2026-01-13 15:02:29", + "author_account_age_days": 337 + }, + "https://github.com/wallen0322/ComfyUI-Wan22FMLF": { + "stars": 499, + "last_update": "2026-02-09 17:24:02", + "author_account_age_days": 337 + }, + "https://github.com/wallen0322/ComfyUI-WanAnimate-Enhancer": { + "stars": 44, + "last_update": "2025-10-28 17:39:56", + "author_account_age_days": 337 + }, + "https://github.com/wallen0322/ComfyUI-qwenmultianglelight": { + "stars": 129, + "last_update": "2026-01-12 10:23:09", + "author_account_age_days": 337 }, "https://github.com/wallish77/wlsh_nodes": { - "stars": 101, + "stars": 142, "last_update": "2024-06-19 12:01:29", - "author_account_age_days": 2390 + "author_account_age_days": 2829 }, "https://github.com/wandbrandon/comfyui-pixel": { "stars": 4, "last_update": "2024-06-14 07:07:09", - "author_account_age_days": 3553 + "author_account_age_days": 3993 + }, + "https://github.com/wangyff-code/ComfyUI-PixelArt-Converter": { + "stars": 0, + "last_update": "2026-01-23 10:17:13", + "author_account_age_days": 2293 + }, + "https://github.com/wanjin123111/ComfyUI-3D-Human-Pose": { + "stars": 0, + "last_update": "2026-01-10 00:20:35", + "author_account_age_days": 298 + }, + "https://github.com/wasilone11/comfyui-pvm-node": { + "stars": 1, + "last_update": "2025-07-21 01:36:01", + "author_account_age_days": 2815 + }, + "https://github.com/wasilone11/comfyui-sync-lipsync-node": { + "stars": 1, + "last_update": "2025-07-18 23:16:47", + "author_account_age_days": 2815 + }, + "https://github.com/watarika/ComfyUI-SendToEagle-w-Metadata": { + "stars": 8, + "last_update": "2025-12-17 05:30:18", + "author_account_age_days": 2342 }, "https://github.com/waterminer/ComfyUI-tagcomplete": { - "stars": 3, - "last_update": "2024-10-28 08:18:15", - "author_account_age_days": 2282 + "stars": 12, + "last_update": "2025-01-06 00:13:57", + "author_account_age_days": 2721 + }, + "https://github.com/wawahuy/ComfyUI-HTTP": { + "stars": 10, + "last_update": "2025-10-10 18:16:29", + "author_account_age_days": 3688 }, "https://github.com/web3nomad/ComfyUI_Invisible_Watermark": { "stars": 1, "last_update": "2024-05-23 01:16:54", - "author_account_age_days": 1137 + "author_account_age_days": 1577 + }, + "https://github.com/weberjc/book-cover-finder-comfy": { + "stars": 0, + "last_update": "2025-07-25 11:04:58", + "author_account_age_days": 3637 }, "https://github.com/webfiltered/DebugNode-ComfyUI": { + "stars": 11, + "last_update": "2025-05-06 16:15:33", + "author_account_age_days": 583 + }, + "https://github.com/webuilder/WB-ComfyUI-Utils": { + "stars": 0, + "last_update": "2025-07-19 15:04:04", + "author_account_age_days": 4811 + }, + "https://github.com/weekii/ComfyUI-GGUF-FX": { + "stars": 0, + "last_update": "2025-10-31 11:03:33", + "author_account_age_days": 643 + }, + "https://github.com/weekii/comfyui-save-image-pro": { "stars": 4, - "last_update": "2024-09-10 13:08:51", - "author_account_age_days": 144 + "last_update": "2025-10-28 12:51:48", + "author_account_age_days": 643 }, "https://github.com/wei30172/comfygen": { - "stars": 7, + "stars": 10, "last_update": "2024-11-07 22:10:50", - "author_account_age_days": 1783 + "author_account_age_days": 2222 }, - "https://github.com/weilin9999/WeiLin-ComfyUI-prompt-all-in-one": { - "stars": 122, - "last_update": "2024-12-06 14:21:31", - "author_account_age_days": 2078 + "https://github.com/weilin9999/WeiLin-Comfyui-Tools": { + "stars": 388, + "last_update": "2025-12-21 04:25:26", + "author_account_age_days": 2517 + }, + "https://github.com/welltop-cn/ComfyUI-TeaCache": { + "stars": 1065, + "last_update": "2025-07-12 04:05:29", + "author_account_age_days": 2181 }, "https://github.com/wentao-uw/ComfyUI-template-matching": { "stars": 1, "last_update": "2024-11-06 06:52:30", - "author_account_age_days": 1949 + "author_account_age_days": 2389 + }, + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-editor": { + "stars": 127, + "last_update": "2025-12-09 21:38:24", + "author_account_age_days": 903 + }, + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-estimator": { + "stars": 30, + "last_update": "2025-06-03 21:06:33", + "author_account_age_days": 903 + }, + "https://github.com/westNeighbor/ComfyUI-ultimate-openpose-render": { + "stars": 15, + "last_update": "2025-01-25 05:54:27", + "author_account_age_days": 903 + }, + "https://github.com/wgedeon/comfyui_play_traversal": { + "stars": 2, + "last_update": "2025-11-30 10:31:25", + "author_account_age_days": 4725 }, "https://github.com/whatbirdisthat/cyberdolphin": { - "stars": 14, + "stars": 15, "last_update": "2024-07-31 13:40:12", - "author_account_age_days": 5657 + "author_account_age_days": 6096 }, "https://github.com/whmc76/ComfyUI-Openpose-Editor-Plus": { - "stars": 36, + "stars": 42, "last_update": "2024-06-20 13:52:34", - "author_account_age_days": 622 + "author_account_age_days": 1061 + }, + "https://github.com/whmc76/ComfyUI-RemoveBackgroundSuite": { + "stars": 7, + "last_update": "2025-10-25 11:22:31", + "author_account_age_days": 1061 + }, + "https://github.com/whmc76/ComfyUI-UniversalToolkit": { + "stars": 63, + "last_update": "2026-02-14 12:39:34", + "author_account_age_days": 1061 + }, + "https://github.com/wildminder/000_ComfyUI-Optim": { + "stars": 6, + "last_update": "2025-06-02 21:30:04", + "author_account_age_days": 4842 + }, + "https://github.com/wildminder/ComfyUI-Chatterbox": { + "stars": 86, + "last_update": "2025-08-21 19:21:22", + "author_account_age_days": 4842 + }, + "https://github.com/wildminder/ComfyUI-DyPE": { + "stars": 519, + "last_update": "2025-12-09 13:40:24", + "author_account_age_days": 4842 + }, + "https://github.com/wildminder/ComfyUI-KEEP": { + "stars": 67, + "last_update": "2025-07-04 11:35:38", + "author_account_age_days": 4842 + }, + "https://github.com/wildminder/ComfyUI-KaniTTS": { + "stars": 38, + "last_update": "2025-10-17 15:45:23", + "author_account_age_days": 4842 + }, + "https://github.com/wildminder/ComfyUI-VibeVoice": { + "stars": 560, + "last_update": "2025-09-25 10:19:05", + "author_account_age_days": 4842 + }, + "https://github.com/wildminder/ComfyUI-VoxCPM": { + "stars": 387, + "last_update": "2025-12-17 19:14:57", + "author_account_age_days": 4842 }, "https://github.com/willchil/ComfyUI-Environment-Visualizer": { - "stars": 8, - "last_update": "2024-10-09 02:48:18", - "author_account_age_days": 2808 + "stars": 13, + "last_update": "2025-03-29 23:09:07", + "author_account_age_days": 3247 + }, + "https://github.com/willmiao/ComfyUI-Lora-Manager": { + "stars": 973, + "last_update": "2026-02-23 10:19:06", + "author_account_age_days": 3967 }, "https://github.com/windfancy/zsq_prompt": { "stars": 1, - "last_update": "2024-12-08 03:16:47", - "author_account_age_days": 1707 + "last_update": "2025-09-14 14:27:33", + "author_account_age_days": 2146 + }, + "https://github.com/wings6407/ComfyUI_HBH-image_overlay": { + "stars": 1, + "last_update": "2025-05-12 02:52:38", + "author_account_age_days": 697 + }, + "https://github.com/wirytiox/ComfyUI-SelectStringFromListWithIndex": { + "stars": 6, + "last_update": "2025-02-16 09:09:34", + "author_account_age_days": 1833 + }, + "https://github.com/withmpx/mpx-comfyui-nodes": { + "stars": 2, + "last_update": "2025-04-16 22:08:20", + "author_account_age_days": 339 + }, + "https://github.com/without-ordinary/openoutpaint_comfyui_interface": { + "stars": 3, + "last_update": "2025-12-15 09:11:02", + "author_account_age_days": 3532 + }, + "https://github.com/wizdroid/wizdroid-character": { + "stars": 6, + "last_update": "2026-02-06 15:56:43", + "author_account_age_days": 3083 + }, + "https://github.com/wjl0313/ComfyUI_KimNodes": { + "stars": 50, + "last_update": "2025-09-22 06:27:43", + "author_account_age_days": 2481 }, "https://github.com/wmatson/easy-comfy-nodes": { - "stars": 16, - "last_update": "2024-10-08 01:54:33", - "author_account_age_days": 4287 + "stars": 18, + "last_update": "2025-04-17 16:26:02", + "author_account_age_days": 4727 }, - "https://github.com/wmpmiles/ComfyUI-GTF-Utilities": { - "stars": 2, - "last_update": "2024-10-19 07:05:09", - "author_account_age_days": 3200 + "https://github.com/wmpmiles/comfyui-some-image-processing-stuff": { + "stars": 4, + "last_update": "2025-05-10 05:51:42", + "author_account_age_days": 3639 + }, + "https://github.com/woct0rdho/ComfyUI-RadialAttn": { + "stars": 106, + "last_update": "2025-12-19 08:59:32", + "author_account_age_days": 3408 }, "https://github.com/wolfden/ComfyUi_PromptStylers": { - "stars": 81, - "last_update": "2024-09-03 18:33:52", - "author_account_age_days": 5891 + "stars": 103, + "last_update": "2025-02-15 18:38:12", + "author_account_age_days": 6330 }, "https://github.com/wolfden/ComfyUi_String_Function_Tree": { - "stars": 9, + "stars": 10, "last_update": "2024-05-22 18:29:16", - "author_account_age_days": 5891 + "author_account_age_days": 6330 }, "https://github.com/wootwootwootwoot/ComfyUI-RK-Sampler": { - "stars": 51, + "stars": 64, "last_update": "2024-08-17 21:12:43", - "author_account_age_days": 1738 + "author_account_age_days": 2177 + }, + "https://github.com/wouterverweirder/comfyui-penplotter": { + "stars": 0, + "last_update": "2025-10-28 14:32:45", + "author_account_age_days": 5247 + }, + "https://github.com/wouterverweirder/comfyui_live_input_stream": { + "stars": 3, + "last_update": "2026-01-22 13:14:43", + "author_account_age_days": 5247 + }, + "https://github.com/wouterverweirder/comfyui_sam3": { + "stars": 69, + "last_update": "2026-01-01 15:22:40", + "author_account_age_days": 5247 + }, + "https://github.com/wqjuser/ComfyUI-Chat-Image": { + "stars": 0, + "last_update": "2025-11-17 14:16:32", + "author_account_age_days": 3543 + }, + "https://github.com/writer-in-fancy-pants/octo_json_presets": { + "stars": 0, + "last_update": "2025-09-08 23:42:01", + "author_account_age_days": 2915 }, "https://github.com/wu12023/ComfyUI-Image-Evaluation": { - "stars": 3, + "stars": 9, "last_update": "2024-12-06 06:51:15", - "author_account_age_days": 487 + "author_account_age_days": 926 }, "https://github.com/wujm424606/ComfyUi-Ollama-YN": { - "stars": 72, + "stars": 84, "last_update": "2024-09-17 13:20:02", - "author_account_age_days": 2432 + "author_account_age_days": 2872 }, "https://github.com/wutipong/ComfyUI-TextUtils": { - "stars": 1, - "last_update": "2024-06-14 09:34:31", - "author_account_age_days": 4355 + "stars": 2, + "last_update": "2025-07-21 14:00:53", + "author_account_age_days": 4794 }, "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio": { "stars": 1, "last_update": "2024-05-22 22:22:25", - "author_account_age_days": 5220 + "author_account_age_days": 5659 + }, + "https://github.com/wwzhifeng/comfyui-jsonprompt": { + "stars": 28, + "last_update": "2025-11-20 06:08:04", + "author_account_age_days": 1008 + }, + "https://github.com/wywywywy/ComfyUI-pause": { + "stars": 32, + "last_update": "2025-05-05 21:37:34", + "author_account_age_days": 3538 + }, + "https://github.com/wzken/ComfyUI-Steganos-Node": { + "stars": 0, + "last_update": "2025-09-28 16:27:27", + "author_account_age_days": 3577 + }, + "https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2": { + "stars": 1, + "last_update": "2025-11-17 05:44:00", + "author_account_age_days": 1117 + }, + "https://github.com/x0x0b/ComfyUI-PromptHistoryGallery": { + "stars": 1, + "last_update": "2025-12-30 08:18:54", + "author_account_age_days": 2742 + }, + "https://github.com/x0x0b/ComfyUI-spritefusion-pixel-snapper": { + "stars": 3, + "last_update": "2025-12-30 08:04:54", + "author_account_age_days": 2742 + }, + "https://github.com/xLegende/ComfyUI-Prompt-Formatter": { + "stars": 4, + "last_update": "2025-12-01 14:29:42", + "author_account_age_days": 2042 }, "https://github.com/xXAdonesXx/NodeGPT": { - "stars": 340, + "stars": 355, "last_update": "2024-06-20 11:41:30", - "author_account_age_days": 1649 + "author_account_age_days": 2088 + }, + "https://github.com/xela-io/ComfyUI-HairDetailer": { + "stars": 0, + "last_update": "2026-01-19 21:39:56", + "author_account_age_days": 72 + }, + "https://github.com/xela-io/ComfyUI-RegionalPrompting": { + "stars": 1, + "last_update": "2026-01-15 21:57:58", + "author_account_age_days": 72 + }, + "https://github.com/xfgexo/EXO-Custom-ComfyUI-Nodes": { + "stars": 4, + "last_update": "2024-12-24 14:07:18", + "author_account_age_days": 1038 + }, + "https://github.com/xhh522/ComfyUI-preview-monitor": { + "stars": 1, + "last_update": "2025-09-16 10:41:24", + "author_account_age_days": 213 + }, + "https://github.com/xhiroga/ComfyUI-FramePackWrapper_PlusOne": { + "stars": 36, + "last_update": "2025-08-08 04:15:10", + "author_account_age_days": 3873 + }, + "https://github.com/xiangyuT/ComfyUI-PromptEnhance": { + "stars": 0, + "last_update": "2025-12-08 08:52:26", + "author_account_age_days": 1322 + }, + "https://github.com/xiaogui8dangjia/Comfyui-imagetoSTL": { + "stars": 2, + "last_update": "2025-06-06 04:08:30", + "author_account_age_days": 2277 + }, + "https://github.com/xiaoshengyvlin/ComfyUI-MetaData-ZaKo": { + "stars": 3, + "last_update": "2025-12-01 14:12:22", + "author_account_age_days": 818 + }, + "https://github.com/xiaowc-lib/comfyui-dynamic-params": { + "stars": 0, + "last_update": "2025-06-09 08:56:11", + "author_account_age_days": 3488 }, "https://github.com/xiaoxiaodesha/hd_node": { - "stars": 13, + "stars": 18, "last_update": "2024-06-11 02:36:48", - "author_account_age_days": 3044 + "author_account_age_days": 3484 + }, + "https://github.com/xingBaGan/ComfyUI-connect-ui": { + "stars": 2, + "last_update": "2025-04-07 09:54:46", + "author_account_age_days": 2404 + }, + "https://github.com/xiujiang1987/ComfyUI-SmartSize": { + "stars": 0, + "last_update": "2025-12-31 11:01:33", + "author_account_age_days": 1846 }, "https://github.com/xlinx/ComfyUI-decadetw-auto-messaging-realtime": { - "stars": 6, + "stars": 8, "last_update": "2024-08-30 17:38:52", - "author_account_age_days": 4669 + "author_account_age_days": 5108 }, "https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm": { - "stars": 16, - "last_update": "2024-08-30 17:39:03", - "author_account_age_days": 4669 + "stars": 29, + "last_update": "2025-02-01 18:36:52", + "author_account_age_days": 5108 }, "https://github.com/xlinx/ComfyUI-decadetw-spout-syphon-im-vj": { - "stars": 8, + "stars": 13, "last_update": "2024-09-03 08:55:08", - "author_account_age_days": 4669 + "author_account_age_days": 5108 }, "https://github.com/xliry/ComfyUI_SendDiscord": { "stars": 0, "last_update": "2024-05-23 02:21:38", - "author_account_age_days": 1443 + "author_account_age_days": 1882 + }, + "https://github.com/xmarre/TorchCompileModel_LoRASafe": { + "stars": 8, + "last_update": "2025-06-06 18:40:09", + "author_account_age_days": 2365 }, "https://github.com/xobiomesh/ComfyUI_xObiomesh": { - "stars": 3, + "stars": 1, "last_update": "2024-11-08 17:10:40", - "author_account_age_days": 1859 + "author_account_age_days": 2298 }, "https://github.com/xs315431/Comfyui_Get_promptId": { - "stars": 1, - "last_update": "2024-12-02 09:30:53", - "author_account_age_days": 1445 + "stars": 2, + "last_update": "2025-08-09 06:09:32", + "author_account_age_days": 1884 + }, + "https://github.com/xufengbo1993/ComfyUI-ZFL-JSON-Extractor": { + "stars": 0, + "last_update": "2026-02-04 09:39:32", + "author_account_age_days": 1405 + }, + "https://github.com/xuheyao/comfyui-dinov3-point-prompt": { + "stars": 0, + "last_update": "2025-12-22 06:20:06", + "author_account_age_days": 371 }, "https://github.com/xuhongming251/ComfyUI-GPEN": { - "stars": 2, - "last_update": "2024-06-15 14:33:37", - "author_account_age_days": 4276 + "stars": 4, + "last_update": "2025-04-16 21:37:02", + "author_account_age_days": 4715 + }, + "https://github.com/xuhongming251/ComfyUI-InfiniteTalk-MultiImage": { + "stars": 66, + "last_update": "2026-01-05 14:14:14", + "author_account_age_days": 4715 + }, + "https://github.com/xuhongming251/ComfyUI-Jimeng": { + "stars": 8, + "last_update": "2025-06-11 09:39:59", + "author_account_age_days": 4715 }, "https://github.com/xuhongming251/ComfyUI-MuseTalkUtils": { - "stars": 18, - "last_update": "2024-06-15 14:32:32", - "author_account_age_days": 4276 + "stars": 21, + "last_update": "2025-04-16 21:36:46", + "author_account_age_days": 4715 }, "https://github.com/xuhongming251/ComfyUI_Camera": { - "stars": 2, - "last_update": "2024-11-21 10:47:22", - "author_account_age_days": 4276 + "stars": 7, + "last_update": "2025-05-05 18:30:40", + "author_account_age_days": 4715 + }, + "https://github.com/yamanacn/comfyui_kontext_Analyze": { + "stars": 9, + "last_update": "2025-07-06 08:40:36", + "author_account_age_days": 1929 + }, + "https://github.com/yangrui511/ComfyUI-Text-Preserve": { + "stars": 0, + "last_update": "2026-01-06 12:50:45", + "author_account_age_days": 3037 + }, + "https://github.com/yanhuifair/comfyui-janus": { + "stars": 5, + "last_update": "2025-07-28 08:39:15", + "author_account_age_days": 4171 }, "https://github.com/yanlang0123/ComfyUI_Lam": { - "stars": 14, - "last_update": "2024-11-30 08:19:45", - "author_account_age_days": 2978 + "stars": 66, + "last_update": "2026-01-04 09:21:42", + "author_account_age_days": 3417 + }, + "https://github.com/yannickcruz/ComfyUI_YSC_HighResFix": { + "stars": 0, + "last_update": "2025-11-10 00:44:08", + "author_account_age_days": 1673 + }, + "https://github.com/yano/comfyui-fast-mosaic-detector": { + "stars": 3, + "last_update": "2025-11-13 14:57:28", + "author_account_age_days": 3355 + }, + "https://github.com/yasser-baalla/comfyUI-SemanticImageFetch": { + "stars": 0, + "last_update": "2025-03-22 11:04:33", + "author_account_age_days": 2006 }, "https://github.com/ycchanau/ComfyUI_Preview_Magnifier": { - "stars": 3, + "stars": 2, "last_update": "2024-07-31 13:59:12", - "author_account_age_days": 2287 + "author_account_age_days": 2726 + }, + "https://github.com/ycyy/ComfyUI-YCYY-API": { + "stars": 11, + "last_update": "2026-01-09 05:50:22", + "author_account_age_days": 4034 }, "https://github.com/ycyy/ComfyUI-YCYY-LoraInfo": { "stars": 6, "last_update": "2024-09-30 02:33:25", - "author_account_age_days": 3594 + "author_account_age_days": 4034 + }, + "https://github.com/yeeyou/ComfyUI-OpenAI-Compatible-API": { + "stars": 1, + "last_update": "2025-10-28 07:36:38", + "author_account_age_days": 5405 }, "https://github.com/yffyhk/comfyui_auto_danbooru": { "stars": 1, "last_update": "2024-05-22 23:23:03", - "author_account_age_days": 3892 + "author_account_age_days": 4331 }, "https://github.com/yhayano-ponotech/ComfyUI-Fal-API-Flux": { - "stars": 30, - "last_update": "2024-11-26 07:27:26", - "author_account_age_days": 740 + "stars": 58, + "last_update": "2025-01-16 08:47:22", + "author_account_age_days": 1180 + }, + "https://github.com/yhayano-ponotech/comfyui-save-image-local": { + "stars": 7, + "last_update": "2025-01-15 12:30:50", + "author_account_age_days": 1180 + }, + "https://github.com/yhayano-ponotech/comfyui-stability-ai-api": { + "stars": 0, + "last_update": "2025-02-19 00:38:33", + "author_account_age_days": 1180 + }, + "https://github.com/yichengup/ComfyUI-LinearTransition": { + "stars": 1, + "last_update": "2025-07-09 01:51:49", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/ComfyUI-VideoTransition": { + "stars": 25, + "last_update": "2025-10-27 07:36:45", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/ComfyUI-YCNodes": { + "stars": 39, + "last_update": "2026-01-04 17:04:48", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/ComfyUI-YCNodes_Toolkit": { + "stars": 21, + "last_update": "2026-02-05 09:37:10", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/ComfyUI-gaussian_preview": { + "stars": 13, + "last_update": "2026-01-01 15:40:49", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/ComfyUI_SwiftCut": { + "stars": 8, + "last_update": "2026-01-23 15:46:43", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/ComfyUI_Yc_JanusPro": { + "stars": 7, + "last_update": "2025-01-29 22:26:38", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/Comfyui-Deepseek": { + "stars": 34, + "last_update": "2025-02-23 19:36:53", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/Comfyui-Ycanvas": { + "stars": 110, + "last_update": "2025-07-28 04:39:08", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/Comfyui_Flux_Style_Adjust": { + "stars": 304, + "last_update": "2025-02-19 05:08:27", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/Comfyui_Redux_Advanced": { + "stars": 104, + "last_update": "2025-04-10 18:36:47", + "author_account_age_days": 734 + }, + "https://github.com/yichengup/comfyui-face-liquify": { + "stars": 3, + "last_update": "2026-01-13 15:26:52", + "author_account_age_days": 734 }, "https://github.com/yiwangsimple/ComfyUI_DW_Chat": { - "stars": 85, - "last_update": "2024-11-08 08:42:14", - "author_account_age_days": 722 + "stars": 88, + "last_update": "2025-07-25 02:13:12", + "author_account_age_days": 1161 }, "https://github.com/yiwangsimple/florence_dw": { - "stars": 29, - "last_update": "2024-10-21 06:40:25", - "author_account_age_days": 722 + "stars": 50, + "last_update": "2025-02-13 01:52:15", + "author_account_age_days": 1161 + }, + "https://github.com/yogurt7771/ComfyUI-YogurtNodes": { + "stars": 0, + "last_update": "2026-02-10 06:25:23", + "author_account_age_days": 3439 + }, + "https://github.com/yohji-yohji/comfyui-nanobanana-pro": { + "stars": 1, + "last_update": "2026-01-04 05:00:57", + "author_account_age_days": 828 + }, + "https://github.com/yolain/ComfyUI-Easy-DotsOCR": { + "stars": 6, + "last_update": "2025-10-05 09:11:26", + "author_account_age_days": 1950 }, "https://github.com/yolain/ComfyUI-Easy-Use": { - "stars": 1128, - "last_update": "2024-12-09 07:54:25", - "author_account_age_days": 1510 + "stars": 2353, + "last_update": "2026-02-23 09:17:34", + "author_account_age_days": 1950 + }, + "https://github.com/yolain/SaveVideoRGBA": { + "stars": 38, + "last_update": "2026-02-13 13:49:31", + "author_account_age_days": 1950 + }, + "https://github.com/yolanother/ComfyUI-Save16bitPng": { + "stars": 4, + "last_update": "2024-12-23 01:50:04", + "author_account_age_days": 5473 }, "https://github.com/yolanother/DTAIComfyImageSubmit": { "stars": 1, "last_update": "2024-09-25 04:40:23", - "author_account_age_days": 5033 + "author_account_age_days": 5473 }, "https://github.com/yolanother/DTAIComfyLoaders": { "stars": 1, "last_update": "2024-11-18 09:35:46", - "author_account_age_days": 5033 + "author_account_age_days": 5473 }, "https://github.com/yolanother/DTAIComfyPromptAgent": { "stars": 5, "last_update": "2024-05-22 18:14:18", - "author_account_age_days": 5033 + "author_account_age_days": 5473 }, "https://github.com/yolanother/DTAIComfyQRCodes": { - "stars": 3, + "stars": 4, "last_update": "2024-05-22 18:15:09", - "author_account_age_days": 5033 + "author_account_age_days": 5473 }, "https://github.com/yolanother/DTAIComfyVariables": { - "stars": 10, + "stars": 13, "last_update": "2024-05-22 18:15:21", - "author_account_age_days": 5033 + "author_account_age_days": 5473 }, "https://github.com/yolanother/DTAIImageToTextNode": { - "stars": 18, + "stars": 19, "last_update": "2024-05-22 18:14:31", - "author_account_age_days": 5033 + "author_account_age_days": 5473 }, "https://github.com/yondonfu/ComfyUI-Background-Edit": { - "stars": 16, - "last_update": "2024-11-18 16:43:25", - "author_account_age_days": 4045 + "stars": 22, + "last_update": "2024-12-31 23:15:33", + "author_account_age_days": 4484 + }, + "https://github.com/yondonfu/ComfyUI-Torch-Compile": { + "stars": 9, + "last_update": "2025-04-30 18:46:47", + "author_account_age_days": 4484 }, "https://github.com/yorkane/ComfyUI-KYNode": { - "stars": 2, - "last_update": "2024-12-03 07:08:06", - "author_account_age_days": 3559 + "stars": 10, + "last_update": "2026-02-04 06:55:52", + "author_account_age_days": 3999 + }, + "https://github.com/younyokel/comfyui_prompt_formatter": { + "stars": 4, + "last_update": "2025-05-16 16:33:11", + "author_account_age_days": 2404 }, "https://github.com/youyegit/tdxh_node_comfyui": { - "stars": 3, - "last_update": "2024-10-23 01:56:00", - "author_account_age_days": 598 + "stars": 2, + "last_update": "2025-03-17 08:22:16", + "author_account_age_days": 1038 + }, + "https://github.com/ytoaa/ComfyUI-LLM-Client": { + "stars": 0, + "last_update": "2025-12-17 14:18:42", + "author_account_age_days": 3360 }, "https://github.com/yuan199696/add_text_2_img": { - "stars": 7, - "last_update": "2024-08-15 02:51:45", - "author_account_age_days": 2613 + "stars": 8, + "last_update": "2025-03-27 14:40:27", + "author_account_age_days": 3052 }, "https://github.com/yuan199696/chinese_clip_encode": { + "stars": 10, + "last_update": "2025-03-27 14:39:40", + "author_account_age_days": 3052 + }, + "https://github.com/yuanyuan-spec/comfyui_hunyuanvideo_1.5_plugin": { + "stars": 26, + "last_update": "2025-12-02 12:02:23", + "author_account_age_days": 94 + }, + "https://github.com/yukascomfy/ATI_AudioReactive": { + "stars": 1, + "last_update": "2025-11-21 10:34:47", + "author_account_age_days": 755 + }, + "https://github.com/yushan777/ComfyUI-Y7-SBS-2Dto3D": { + "stars": 30, + "last_update": "2025-06-13 18:44:06", + "author_account_age_days": 1127 + }, + "https://github.com/yushan777/ComfyUI-Y7Nodes": { "stars": 6, - "last_update": "2024-08-15 02:47:23", - "author_account_age_days": 2613 + "last_update": "2026-02-22 18:41:40", + "author_account_age_days": 1127 }, "https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt": { - "stars": 85, - "last_update": "2024-12-02 18:15:56", - "author_account_age_days": 2322 + "stars": 125, + "last_update": "2026-02-02 06:10:12", + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-Dwpose-Tensorrt": { - "stars": 21, - "last_update": "2024-10-01 11:19:11", - "author_account_age_days": 2322 + "stars": 50, + "last_update": "2025-05-03 19:32:24", + "author_account_age_days": 2762 + }, + "https://github.com/yuvraj108c/ComfyUI-FLOAT": { + "stars": 242, + "last_update": "2026-01-02 18:45:24", + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-Facerestore-Tensorrt": { - "stars": 12, + "stars": 29, "last_update": "2024-09-22 13:07:19", - "author_account_age_days": 2322 + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-PiperTTS": { "stars": 29, "last_update": "2024-05-22 23:17:27", - "author_account_age_days": 2322 + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-Pronodes": { - "stars": 1, - "last_update": "2024-05-22 23:16:51", - "author_account_age_days": 2322 + "stars": 4, + "last_update": "2025-01-05 10:06:31", + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-Rife-Tensorrt": { - "stars": 8, - "last_update": "2024-10-04 10:23:26", - "author_account_age_days": 2322 + "stars": 92, + "last_update": "2025-09-23 07:06:14", + "author_account_age_days": 2762 + }, + "https://github.com/yuvraj108c/ComfyUI-Thera": { + "stars": 36, + "last_update": "2026-01-02 18:32:18", + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt": { - "stars": 74, - "last_update": "2024-09-24 17:35:22", - "author_account_age_days": 2322 + "stars": 230, + "last_update": "2026-01-12 19:03:17", + "author_account_age_days": 2762 + }, + "https://github.com/yuvraj108c/ComfyUI-Video-Depth-Anything": { + "stars": 38, + "last_update": "2026-01-08 15:37:32", + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-Vsgan": { "stars": 3, "last_update": "2024-05-22 23:17:02", - "author_account_age_days": 2322 + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-Whisper": { - "stars": 77, - "last_update": "2024-08-06 05:31:10", - "author_account_age_days": 2322 + "stars": 209, + "last_update": "2026-01-02 14:30:25", + "author_account_age_days": 2762 }, "https://github.com/yuvraj108c/ComfyUI-YoloNasPose-Tensorrt": { - "stars": 9, - "last_update": "2024-06-28 15:59:14", - "author_account_age_days": 2322 + "stars": 18, + "last_update": "2025-07-29 16:09:08", + "author_account_age_days": 2762 + }, + "https://github.com/yuvraj108c/ComfyUI_InvSR": { + "stars": 257, + "last_update": "2026-01-02 13:13:26", + "author_account_age_days": 2762 }, "https://github.com/yvann-ba/ComfyUI_Yvann-Nodes": { - "stars": 278, - "last_update": "2024-11-19 21:42:23", - "author_account_age_days": 1070 + "stars": 655, + "last_update": "2026-02-21 09:38:31", + "author_account_age_days": 1509 }, "https://github.com/za-wa-n-go/ComfyUI_Zwng_Nodes": { "stars": 7, - "last_update": "2024-10-19 12:15:24", - "author_account_age_days": 758 + "last_update": "2025-03-27 23:13:16", + "author_account_age_days": 1197 + }, + "https://github.com/zade23/Comfyui-Distill-Any-Depth": { + "stars": 5, + "last_update": "2025-11-15 09:35:12", + "author_account_age_days": 2404 + }, + "https://github.com/zade23/Comfyui-MoGe2": { + "stars": 18, + "last_update": "2025-10-23 09:53:50", + "author_account_age_days": 2404 + }, + "https://github.com/zaheenrahman/ComfyUI-ColorCorrection": { + "stars": 2, + "last_update": "2025-03-21 09:52:29", + "author_account_age_days": 2969 + }, + "https://github.com/zakantonio/AvatarGen-experience": { + "stars": 0, + "last_update": "2025-03-26 20:58:18", + "author_account_age_days": 4386 + }, + "https://github.com/zavatmotion/ComfyUI-Workflow-Backup": { + "stars": 1, + "last_update": "2026-02-11 02:25:41", + "author_account_age_days": 256 + }, + "https://github.com/zccrs/comfyui-dci": { + "stars": 1, + "last_update": "2025-10-27 08:04:53", + "author_account_age_days": 3869 }, "https://github.com/zcfrank1st/Comfyui-Toolbox": { "stars": 6, "last_update": "2024-05-22 22:08:07", - "author_account_age_days": 4585 + "author_account_age_days": 5024 }, "https://github.com/zcfrank1st/Comfyui-Yolov8": { - "stars": 21, + "stars": 27, "last_update": "2024-06-14 07:08:40", - "author_account_age_days": 4585 + "author_account_age_days": 5024 }, "https://github.com/zcfrank1st/comfyui_visual_anagrams": { - "stars": 7, + "stars": 8, "last_update": "2024-06-14 07:07:27", - "author_account_age_days": 4585 + "author_account_age_days": 5024 + }, + "https://github.com/zeeoale/PromptCreatorNode": { + "stars": 6, + "last_update": "2026-02-21 03:33:36", + "author_account_age_days": 2966 + }, + "https://github.com/zengxianyu/ComfyUIIntensityDepth": { + "stars": 1, + "last_update": "2026-01-10 23:55:21", + "author_account_age_days": 3990 + }, + "https://github.com/zengxianyu/structured-noise": { + "stars": 31, + "last_update": "2026-02-01 23:45:07", + "author_account_age_days": 3990 + }, + "https://github.com/zentrocdot/ComfyUI-RealESRGAN_Upscaler": { + "stars": 20, + "last_update": "2025-02-09 18:27:16", + "author_account_age_days": 820 + }, + "https://github.com/zentrocdot/ComfyUI-Simple_Image_To_Prompt": { + "stars": 5, + "last_update": "2025-02-20 06:30:19", + "author_account_age_days": 820 + }, + "https://github.com/zentrocdot/ComfyUI_Circle_Detection": { + "stars": 0, + "last_update": "2025-02-07 17:32:46", + "author_account_age_days": 820 }, "https://github.com/zer0TF/cute-comfy": { - "stars": 32, + "stars": 34, "last_update": "2024-05-22 21:18:53", - "author_account_age_days": 2840 + "author_account_age_days": 3279 }, "https://github.com/zer0thgear/zer0-comfy-utils": { "stars": 0, - "last_update": "2024-11-16 23:48:18", - "author_account_age_days": 286 + "last_update": "2025-01-26 19:33:59", + "author_account_age_days": 726 }, "https://github.com/zeroxoxo/ComfyUI-Fast-Style-Transfer": { - "stars": 69, - "last_update": "2024-08-15 03:56:51", - "author_account_age_days": 2613 + "stars": 76, + "last_update": "2025-04-07 05:52:19", + "author_account_age_days": 3052 }, "https://github.com/zfkun/ComfyUI_zfkun": { - "stars": 21, - "last_update": "2024-05-27 11:21:51", - "author_account_age_days": 5033 + "stars": 24, + "last_update": "2026-01-27 05:22:41", + "author_account_age_days": 5472 + }, + "https://github.com/zhangle0013/comfyui-EmptyImageYesON": { + "stars": 0, + "last_update": "2026-01-09 03:24:28", + "author_account_age_days": 3764 + }, + "https://github.com/zhanglongxiao111/Comfyui-geminiapi": { + "stars": 3, + "last_update": "2025-12-10 04:42:19", + "author_account_age_days": 899 }, "https://github.com/zhangp365/ComfyUI-utils-nodes": { - "stars": 43, - "last_update": "2024-12-11 10:11:12", - "author_account_age_days": 461 + "stars": 122, + "last_update": "2026-01-31 05:33:48", + "author_account_age_days": 900 }, "https://github.com/zhangp365/ComfyUI_photomakerV2_native": { - "stars": 4, - "last_update": "2024-11-09 03:17:11", - "author_account_age_days": 461 + "stars": 13, + "last_update": "2025-11-24 01:11:29", + "author_account_age_days": 900 + }, + "https://github.com/zhaocaiji/ComfyUI-Mute-Switch": { + "stars": 0, + "last_update": "2026-01-22 07:10:54", + "author_account_age_days": 2589 + }, + "https://github.com/zhaocaiji/ComfyUI-VideoFrameTools": { + "stars": 1, + "last_update": "2026-01-16 04:23:53", + "author_account_age_days": 2589 }, "https://github.com/zhiselfly/ComfyUI-Alimama-ControlNet-compatible": { "stars": 18, "last_update": "2024-09-14 13:46:05", - "author_account_age_days": 3519 + "author_account_age_days": 3959 }, "https://github.com/zhongpei/ComfyUI-InstructIR": { - "stars": 69, + "stars": 77, "last_update": "2024-05-22 23:19:43", - "author_account_age_days": 3629 + "author_account_age_days": 4068 }, "https://github.com/zhuanqianfish/ComfyUI-EasyNode": { - "stars": 64, + "stars": 69, "last_update": "2024-06-14 07:10:18", - "author_account_age_days": 4405 + "author_account_age_days": 4844 }, "https://github.com/zhulu111/ComfyUI_Bxb": { - "stars": 1196, - "last_update": "2024-11-12 11:23:17", - "author_account_age_days": 209 + "stars": 1488, + "last_update": "2026-01-06 12:32:21", + "author_account_age_days": 648 }, - "https://github.com/zmwv823/ComfyUI_Ctrlora": { - "stars": 16, - "last_update": "2024-12-03 06:48:08", - "author_account_age_days": 3439 + "https://github.com/zhuyanan/Comfy-FilmSimulator": { + "stars": 1, + "last_update": "2026-02-06 10:01:31", + "author_account_age_days": 4255 + }, + "https://github.com/zichongc/ComfyUI-Attention-Distillation": { + "stars": 109, + "last_update": "2025-03-18 02:48:42", + "author_account_age_days": 1106 + }, + "https://github.com/zisb/comfyui-texture-packer": { + "stars": 1, + "last_update": "2025-12-31 09:28:21", + "author_account_age_days": 4193 + }, + "https://github.com/zl9739379/ComfyUI-ArkVideoGenerate": { + "stars": 3, + "last_update": "2025-07-30 04:27:29", + "author_account_age_days": 1190 + }, + "https://github.com/zmwv823/ComfyUI_Anytext": { + "stars": 98, + "last_update": "2025-05-28 01:02:37", + "author_account_age_days": 3878 + }, + "https://github.com/zn123/ComfyUI-image-processor-zn123": { + "stars": 0, + "last_update": "2025-12-05 07:06:24", + "author_account_age_days": 4723 }, "https://github.com/zohac/ComfyUI_ZC_DrawShape": { "stars": 3, "last_update": "2024-06-25 15:05:28", - "author_account_age_days": 2831 + "author_account_age_days": 3271 }, "https://github.com/zombieyang/sd-ppp": { - "stars": 318, - "last_update": "2024-12-09 04:02:45", - "author_account_age_days": 4087 + "stars": 1955, + "last_update": "2026-02-05 05:01:35", + "author_account_age_days": 4527 }, "https://github.com/zubenelakrab/ComfyUI-ASV-Nodes": { - "stars": 2, + "stars": 1, "last_update": "2024-11-04 00:51:29", - "author_account_age_days": 5131 + "author_account_age_days": 5571 + }, + "https://github.com/zwaigani/ComfyUI-LoRA-stacker": { + "stars": 0, + "last_update": "2026-01-12 11:56:54", + "author_account_age_days": 765 + }, + "https://github.com/zwaigani/ComfyUI-VRAM-watcher": { + "stars": 1, + "last_update": "2026-01-12 11:56:56", + "author_account_age_days": 765 + }, + "https://github.com/zygion/comfyui-zygion-util-nodes": { + "stars": 0, + "last_update": "2025-04-26 05:11:35", + "author_account_age_days": 415 + }, + "https://github.com/zzubnik/TT_TextTools": { + "stars": 1, + "last_update": "2025-04-02 23:40:24", + "author_account_age_days": 3335 + }, + "https://github.com/zzw5516/ComfyUI-zw-tools": { + "stars": 5, + "last_update": "2025-12-03 01:43:00", + "author_account_age_days": 4751 + }, + "ttps://github.com/GraftingRayman/Border-Distance-Mapper": { + "stars": 0, + "last_update": "2025-11-17 17:49:31", + "author_account_age_days": 772 } } \ No newline at end of file diff --git a/glob/README.md b/glob/README.md new file mode 100644 index 00000000..375b7fa7 --- /dev/null +++ b/glob/README.md @@ -0,0 +1,53 @@ +# ComfyUI-Manager: Core Backend (glob) + +This directory contains the Python backend modules that power ComfyUI-Manager, handling the core functionality of node management, downloading, security, and server operations. + +## Core Modules + +- **manager_core.py**: The central implementation of management functions, handling configuration, installation, updates, and node management. +- **manager_server.py**: Implements server functionality and API endpoints for the web interface to interact with the backend. +- **manager_downloader.py**: Handles downloading operations for models, extensions, and other resources. +- **manager_util.py**: Provides utility functions used throughout the system. + +## Specialized Modules + +- **cm_global.py**: Maintains global variables and state management across the system. +- **cnr_utils.py**: Helper utilities for interacting with the custom node registry (CNR). +- **git_utils.py**: Git-specific utilities for repository operations. +- **node_package.py**: Handles the packaging and installation of node extensions. +- **security_check.py**: Implements the multi-level security system for installation safety. +- **share_3rdparty.py**: Manages integration with third-party sharing platforms. + +## Architecture + +The backend follows a modular design pattern with clear separation of concerns: + +1. **Core Layer**: Manager modules provide the primary API and business logic +2. **Utility Layer**: Helper modules provide specialized functionality +3. **Integration Layer**: Modules that connect to external systems + +## Security Model + +The system implements a comprehensive security framework with multiple levels: + +- **Block**: Highest security - blocks most remote operations +- **High**: Allows only specific trusted operations +- **Middle**: Standard security for most users +- **Normal-**: More permissive for advanced users +- **Weak**: Lowest security for development environments + +## Implementation Details + +- The backend is designed to work seamlessly with ComfyUI +- Asynchronous task queuing is implemented for background operations +- The system supports multiple installation modes +- Error handling and risk assessment are integrated throughout the codebase + +## API Integration + +The backend exposes a REST API via `manager_server.py` that enables: +- Custom node management (install, update, disable, remove) +- Model downloading and organization +- System configuration +- Snapshot management +- Workflow component handling \ 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 new file mode 100644 index 00000000..95d260db --- /dev/null +++ b/glob/cnr_utils.py @@ -0,0 +1,253 @@ +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 + +base_url = "https://api.comfy.org" + + +lock = asyncio.Lock() + +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 + + +@dataclass +class NodeVersion: + changelog: str + dependencies: List[str] + deprecated: bool + id: str + version: str + download_url: str + + +def map_node_version(api_node_version): + """ + Maps node version data from API response to NodeVersion dataclass. + + Args: + api_data (dict): The 'node_version' part of the API response. + + Returns: + NodeVersion: An instance of NodeVersion dataclass populated with data from the API. + """ + return NodeVersion( + changelog=api_node_version.get( + "changelog", "" + ), # Provide a default value if 'changelog' is missing + dependencies=api_node_version.get( + "dependencies", [] + ), # Provide a default empty list if 'dependencies' is missing + deprecated=api_node_version.get( + "deprecated", False + ), # Assume False if 'deprecated' is not specified + id=api_node_version[ + "id" + ], # 'id' should be mandatory; raise KeyError if missing + version=api_node_version[ + "version" + ], # 'version' should be mandatory; raise KeyError if missing + download_url=api_node_version.get( + "downloadUrl", "" + ), # Provide a default value if 'downloadUrl' is missing + ) + + +def install_node(node_id, version=None): + """ + Retrieves the node version for installation. + + Args: + node_id (str): The unique identifier of the node. + version (str, optional): Specific version of the node to retrieve. If omitted, the latest version is returned. + + Returns: + NodeVersion: Node version data or error message. + """ + if version is None: + url = f"{base_url}/nodes/{node_id}/install" + else: + url = f"{base_url}/nodes/{node_id}/install?version={version}" + + response = requests.get(url, verify=not manager_util.bypass_ssl) + if response.status_code == 200: + # Convert the API response to a NodeVersion object + return map_node_version(response.json()) + else: + return None + + +def all_versions_of_node(node_id): + url = f"{base_url}/nodes/{node_id}/versions?statuses=NodeVersionStatusActive&statuses=NodeVersionStatusPending" + + response = requests.get(url, verify=not manager_util.bypass_ssl) + if response.status_code == 200: + return response.json() + else: + return None + + +def read_cnr_info(fullpath): + try: + toml_path = os.path.join(fullpath, 'pyproject.toml') + tracking_path = os.path.join(fullpath, '.tracking') + + if not os.path.exists(toml_path) or not os.path.exists(tracking_path): + return None # not valid CNR node pack + + with open(toml_path, "r", encoding="utf-8") as f: + data = toml.load(f) + + project = data.get('project', {}) + 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') + + if name and version: # repository is optional + return { + "id": name, + "version": version, + "url": repository + } + + return None + except Exception: + return None # not valid CNR node pack + + +def generate_cnr_id(fullpath, cnr_id): + cnr_id_path = os.path.join(fullpath, '.git', '.cnr-id') + try: + if not os.path.exists(cnr_id_path): + with open(cnr_id_path, "w") as f: + return f.write(cnr_id) + except: + print(f"[ComfyUI Manager] unable to create file: {cnr_id_path}") + + +def read_cnr_id(fullpath): + cnr_id_path = os.path.join(fullpath, '.git', '.cnr-id') + try: + if os.path.exists(cnr_id_path): + with open(cnr_id_path) as f: + return f.read().strip() + except: + pass + + return None + diff --git a/glob/git_utils.py b/glob/git_utils.py new file mode 100644 index 00000000..1fe36cd2 --- /dev/null +++ b/glob/git_utils.py @@ -0,0 +1,87 @@ +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. + # It locks the file, causing issues on Windows. + return os.path.exists(os.path.join(path, '.git')) + + +def get_commit_hash(fullpath): + git_head = os.path.join(fullpath, '.git', 'HEAD') + if os.path.exists(git_head): + with open(git_head) as f: + line = f.readline() + + if line.startswith("ref: "): + ref = os.path.join(fullpath, '.git', line[5:].strip()) + if os.path.exists(ref): + with open(ref) as f2: + return f2.readline().strip() + else: + return "unknown" + else: + return line + + return "unknown" + + +def git_url(fullpath): + """ + resolve version of unclassified custom node based on remote url in .git/config + """ + git_config_path = os.path.join(fullpath, '.git', 'config') + + if not os.path.exists(git_config_path): + return None + + # 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(): + if k.startswith('remote ') and 'url' in v: + if 'Comfy-Org/ComfyUI-Manager' in v['url']: + return "https://github.com/ltdrdata/ComfyUI-Manager" + return v['url'] + + return None + + +def normalize_url(url) -> str: + github_id = normalize_to_github_id(url) + if github_id is not None: + url = f"https://github.com/{github_id}" + + return url + + +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 a61d19be..e0b3a6fe 100644 --- a/glob/manager_core.py +++ b/glob/manager_core.py @@ -1,3 +1,10 @@ +""" +description: + `manager_core` contains the core implementation of the management functions in ComfyUI-Manager. +""" + +import json +import logging import os import sys import subprocess @@ -6,32 +13,52 @@ import shutil import configparser import platform from datetime import datetime + import git from git.remote import RemoteProgress from urllib.parse import urlparse from tqdm.auto import tqdm -import aiohttp -import threading -import json import time import yaml import zipfile +import traceback +from concurrent.futures import ThreadPoolExecutor, as_completed +import toml + +orig_print = print + +from rich import print +from packaging import version + +import uuid glob_path = os.path.join(os.path.dirname(__file__)) # ComfyUI-Manager/glob sys.path.append(glob_path) import cm_global -from manager_util import * - -version = [2, 55, 4] -version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '') +import cnr_utils +import manager_util +import git_utils +import manager_downloader +import manager_migration +from node_package import InstalledNodePackage -comfyui_manager_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) -custom_nodes_path = os.path.abspath(os.path.join(comfyui_manager_path, '..')) +version_code = [3, 39, 2] +version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '') + + +DEFAULT_CHANNEL = "https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main" + 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: @@ -39,7 +66,7 @@ def get_default_custom_nodes_path(): import folder_paths default_custom_nodes_path = folder_paths.get_folder_paths("custom_nodes")[0] except: - default_custom_nodes_path = custom_nodes_path + default_custom_nodes_path = os.path.abspath(os.path.join(manager_util.comfyui_manager_path, '..')) return default_custom_nodes_path @@ -49,30 +76,178 @@ def get_custom_nodes_paths(): import folder_paths return folder_paths.get_folder_paths("custom_nodes") except: + custom_nodes_path = os.path.abspath(os.path.join(manager_util.comfyui_manager_path, '..')) return [custom_nodes_path] def get_comfyui_tag(): - repo = git.Repo(comfy_path) try: + repo = git.Repo(comfy_path) return repo.git.describe('--tags') except: return None -comfy_path = os.environ.get('COMFYUI_PATH') +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(): + new_env = os.environ.copy() + git_exe = get_config().get('git_exe') + if git_exe is not None: + new_env['GIT_EXE_PATH'] = git_exe + + 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 = {} + + +def extract_base_custom_nodes_dir(x:str): + if os.path.dirname(x).endswith('.disabled'): + return os.path.dirname(os.path.dirname(x)) + elif x.endswith('.disabled'): + return os.path.dirname(x) + else: + return os.path.dirname(x) + + +def check_invalid_nodes(): + global invalid_nodes + + try: + import folder_paths + except: + try: + sys.path.append(comfy_path) + import folder_paths + except: + raise Exception(f"Invalid COMFYUI_FOLDERS_BASE_PATH: {comfy_path}") + + def check(root): + global invalid_nodes + + subdirs = [d for d in os.listdir(root) if os.path.isdir(os.path.join(root, d))] + for subdir in subdirs: + if subdir in ['.disabled', '__pycache__']: + continue + + package = unified_manager.installed_node_packages.get(subdir) + if not package: + continue + + if not package.isValid(): + invalid_nodes[subdir] = package.fullpath + + node_paths = folder_paths.get_folder_paths("custom_nodes") + for x in node_paths: + check(x) + + disabled_dir = os.path.join(x, '.disabled') + if os.path.exists(disabled_dir): + check(disabled_dir) + + if len(invalid_nodes): + print("\n-------------------- ComfyUI-Manager invalid nodes notice ----------------") + print("\nNodes requiring reinstallation have been detected:\n(Directly delete the corresponding path and reinstall.)\n") + + for x in invalid_nodes.values(): + print(x) + + print("\n---------------------------------------------------------------------------\n") + + +# 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 comfy_path = os.path.join(os.path.dirname(folder_paths.__file__)) except: - comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..')) + 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") + +manager_files_path = None +manager_config_path = None +manager_channel_list_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): + global manager_files_path + global manager_config_path + global manager_channel_list_path + 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 = manager_migration.get_manager_path(user_dir) + if not os.path.exists(manager_files_path): + os.makedirs(manager_files_path) + manager_migration.run_migration_checks(user_dir, manager_files_path) + + manager_snapshot_path = os.path.join(manager_files_path, "snapshots") + if not os.path.exists(manager_snapshot_path): + os.makedirs(manager_snapshot_path) + + manager_startup_script_path = os.path.join(manager_files_path, "startup-scripts") + if not os.path.exists(manager_startup_script_path): + os.makedirs(manager_startup_script_path) + + 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") + + if not os.path.exists(manager_util.cache_dir): + os.makedirs(manager_util.cache_dir) + +try: + import folder_paths + update_user_directory(folder_paths.get_user_directory()) + +except Exception: + # fallback: + # This case is only possible when running with cm-cli, and in practice, this case is not actually used. + update_user_directory(os.path.abspath(manager_util.comfyui_manager_path)) + -channel_list_path = os.path.join(comfyui_manager_path, 'channels.list') -config_path = os.path.join(comfyui_manager_path, "config.ini") -startup_script_path = os.path.join(comfyui_manager_path, "startup-scripts") -git_script_path = os.path.join(comfyui_manager_path, "git_helper.py") -cache_dir = os.path.join(comfyui_manager_path, '.cache') cached_config = None js_path = None @@ -82,13 +257,9 @@ comfy_ui_required_commit_datetime = datetime(2024, 1, 24, 0, 0, 0) comfy_ui_revision = "Unknown" comfy_ui_commit_datetime = datetime(1900, 1, 1, 0, 0, 0) - -cache_lock = threading.Lock() - - channel_dict = None +valid_channels = {'default', 'local'} channel_list = None -pip_map = None def remap_pip_package(pkg): @@ -100,38 +271,10 @@ def remap_pip_package(pkg): return pkg -def get_installed_packages(): - global pip_map - - if pip_map is None: - try: - result = subprocess.check_output([sys.executable, '-m', 'pip', 'list'], universal_newlines=True) - - pip_map = {} - for line in result.split('\n'): - x = line.strip() - if x: - y = line.split() - if y[0] == 'Package' or y[0].startswith('-'): - continue - - pip_map[y[0]] = y[1] - except subprocess.CalledProcessError as e: - print(f"[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.") - return set() - - return pip_map - - -def clear_pip_cache(): - global pip_map - pip_map = None - - def is_blacklisted(name): name = name.strip() - pattern = r'([^<>!=]+)([<>!=]=?)([^ ]*)' + pattern = r'([^<>!~=]+)([<>!~=]=?)([^ ]*)' match = re.search(pattern, name) if match: @@ -141,14 +284,14 @@ def is_blacklisted(name): return True if name in cm_global.pip_downgrade_blacklist: - pips = get_installed_packages() + pips = manager_util.get_installed_packages() 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 StrictVersion(pips[name]) >= StrictVersion(match.group(3)): + if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)): return True return False @@ -160,7 +303,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: @@ -170,35 +313,1337 @@ def is_installed(name): return True if name in cm_global.pip_downgrade_blacklist: - pips = get_installed_packages() + pips = manager_util.get_installed_packages() 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 StrictVersion(pips[name]) >= StrictVersion(match.group(3)): + if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)): print(f"[ComfyUI-Manager] skip black listed pip installation: '{name}'") return True - return name.lower() in get_installed_packages() + pkg = manager_util.get_installed_packages().get(name.lower()) + if pkg is None: + return False # update if not installed + if match is None: + return True # don't update if version is not specified + + if match.group(2) in ['>', '>=']: + if manager_util.StrictVersion(pkg) < manager_util.StrictVersion(match.group(3)): + return False + elif manager_util.StrictVersion(pkg) > manager_util.StrictVersion(match.group(3)): + print(f"[SKIP] Downgrading pip package isn't allowed: {name.lower()} (cur={pkg})") + + if match.group(2) == '==': + if manager_util.StrictVersion(pkg) < manager_util.StrictVersion(match.group(3)): + return False + + if match.group(2) == '~=': + if manager_util.StrictVersion(pkg) == manager_util.StrictVersion(match.group(3)): + return False + + return name.lower() in manager_util.get_installed_packages() + + +def normalize_channel(channel): + if channel == 'local': + return channel + elif channel is None: + 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 InvalidChannel(channel) + + +class ManagedResult: + def __init__(self, action): + self.action = action + self.items = [] + self.result = True + self.to_path = None + self.msg = None + self.target = None + self.postinstall = lambda: True + self.ver = None + + def append(self, item): + self.items.append(item) + + def fail(self, msg): + self.result = False + self.msg = msg + return self + + def with_target(self, target): + self.target = target + return self + + def with_msg(self, msg): + self.msg = msg + return self + + def with_postinstall(self, postinstall): + self.postinstall = postinstall + return self + + def with_ver(self, ver): + self.ver = ver + return self + + +class NormalizedKeyDict: + def __init__(self): + self._store = {} + self._key_map = {} + + def _normalize_key(self, key): + if isinstance(key, str): + return key.strip().lower() + return key + + def __setitem__(self, key, value): + norm_key = self._normalize_key(key) + self._key_map[norm_key] = key + self._store[key] = value + + def __getitem__(self, key): + norm_key = self._normalize_key(key) + original_key = self._key_map[norm_key] + return self._store[original_key] + + def __delitem__(self, key): + norm_key = self._normalize_key(key) + original_key = self._key_map.pop(norm_key) + del self._store[original_key] + + def __contains__(self, key): + return self._normalize_key(key) in self._key_map + + def get(self, key, default=None): + return self[key] if key in self else default + + def setdefault(self, key, default=None): + if key in self: + return self[key] + self[key] = default + return default + + def pop(self, key, default=None): + if key in self: + val = self[key] + del self[key] + return val + if default is not None: + return default + raise KeyError(key) + + def keys(self): + return self._store.keys() + + def values(self): + return self._store.values() + + def items(self): + return self._store.items() + + def __iter__(self): + return iter(self._store) + + def __len__(self): + return len(self._store) + + def __repr__(self): + return repr(self._store) + + def to_dict(self): + return dict(self._store) + + +class UnifiedManager: + def __init__(self): + self.installed_node_packages: dict[str, InstalledNodePackage] = {} + + self.cnr_inactive_nodes = NormalizedKeyDict() # node_id -> node_version -> fullpath + self.nightly_inactive_nodes = NormalizedKeyDict() # node_id -> fullpath + self.unknown_inactive_nodes = {} # node_id -> repo url * fullpath + self.active_nodes = NormalizedKeyDict() # node_id -> node_version * fullpath + self.unknown_active_nodes = {} # node_id -> repo url * fullpath + self.cnr_map = NormalizedKeyDict() # node_id -> cnr info + self.repo_cnr_map = {} # repo_url -> cnr info + self.custom_node_map_cache = {} # (channel, mode) -> augmented custom node list json + self.processed_install = set() + + def get_module_name(self, x): + 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)) + + def resolve_unspecified_version(self, node_name, guess_mode=None): + if guess_mode == 'active': + # priority: + # 1. CNR/nightly active nodes + # 2. unknown + # 3. Fail + + if node_name in self.cnr_map: + version_spec = self.get_from_cnr_active_nodes(node_name) + + if version_spec is None: + if node_name in self.unknown_active_nodes: + version_spec = "unknown" + else: + return None + + elif node_name in self.unknown_active_nodes: + version_spec = "unknown" + else: + return None + + elif guess_mode == 'inactive': + # priority: + # 1. CNR latest in inactive + # 2. nightly + # 3. unknown + # 4. Fail + + if node_name in self.cnr_map: + latest = self.get_from_cnr_inactive_nodes(node_name) + + if latest is not None: + version_spec = str(latest[0]) + else: + if node_name in self.nightly_inactive_nodes: + version_spec = "nightly" + else: + version_spec = "unknown" + + elif node_name in self.unknown_inactive_nodes: + version_spec = "unknown" + else: + return None + + else: + # priority: + # 1. CNR latest in world + # 2. unknown + + if node_name in self.cnr_map: + version_spec = self.cnr_map[node_name]['latest_version']['version'] + else: + version_spec = "unknown" + + return version_spec + + def resolve_node_spec(self, node_name, guess_mode=None): + """ + resolve to 'node_name, version_spec' from version string + + version string: + node_name@latest + node_name@nightly + node_name@unknown + node_name@ + node_name + + if guess_mode is 'active' or 'inactive' + return can be 'None' based on state check + otherwise + return 'unknown' version when failed to guess + """ + + spec = node_name.split('@') + + if len(spec) == 2: + node_name = spec[0] + version_spec = spec[1] + + if version_spec == 'latest': + if node_name not in self.cnr_map: + print(f"ERROR: '{node_name}' is not a CNR node.") + return None + else: + version_spec = self.cnr_map[node_name]['latest_version']['version'] + + elif guess_mode in ['active', 'inactive']: + node_name = spec[0] + version_spec = self.resolve_unspecified_version(node_name, guess_mode=guess_mode) + if version_spec is None: + return None + else: + node_name = spec[0] + version_spec = self.resolve_unspecified_version(node_name) + if version_spec is None: + return None + + return node_name, version_spec, len(spec) > 1 + + 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: + cnr_utils.generate_cnr_id(fullpath, cnr['id']) + return {'id': cnr['id'], 'cnr': cnr, 'ver': 'nightly', 'hash': commit_hash} + else: + url = os.path.basename(url) + if url.endswith('.git'): + url = url[:-4] + return {'id': url, 'ver': 'unknown', 'hash': commit_hash} + else: + info = cnr_utils.read_cnr_info(fullpath) + + if info: + cnr = self.cnr_map.get(info['id']) + if cnr: + # 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: + return None + + def update_cache_at_path(self, fullpath): + node_package = InstalledNodePackage.from_fullpath(fullpath, self.resolve_from_path) + self.installed_node_packages[node_package.id] = node_package + + if node_package.is_disabled and node_package.is_unknown: + 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 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: + 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) + + def is_updatable(self, node_id): + cur_ver = self.get_cnr_active_version(node_id) + latest_ver = self.cnr_map[node_id]['latest_version']['version'] + + if cur_ver and latest_ver: + return self.safe_version(latest_ver) > self.safe_version(cur_ver) + + return False + + def fetch_or_pull_git_repo(self, is_pull=False): + updated = set() + failed = set() + + def check_update(node_name, fullpath, ver_spec): + try: + if is_pull: + is_updated, success = git_repo_update_check_with(fullpath, do_update=True) + else: + is_updated, success = git_repo_update_check_with(fullpath, do_fetch=True) + + return f"{node_name}@{ver_spec}", is_updated, success + except Exception: + traceback.print_exc() + + return f"{node_name}@{ver_spec}", False, False + + with ThreadPoolExecutor() as executor: + futures = [] + + for k, v in self.unknown_active_nodes.items(): + futures.append(executor.submit(check_update, k, v[1], 'unknown')) + + for k, v in self.active_nodes.items(): + if v[0] == 'nightly': + futures.append(executor.submit(check_update, k, v[1], 'nightly')) + + for future in as_completed(futures): + item, is_updated, success = future.result() + + if is_updated: + updated.add(item) + + if not success: + failed.add(item) + + return dict(updated=list(updated), failed=list(failed)) + + def is_enabled(self, node_id, version_spec=None): + """ + 1. true if node_id@ is enabled + 2. true if node_id@ is enabled and version_spec==None + 3. false otherwise + + remark: latest version_spec is not allowed. Must be resolved before call. + """ + if version_spec == "cnr": + return self.get_cnr_active_version(node_id) not in [None, 'nightly'] + elif version_spec == 'unknown' and self.is_unknown_active(node_id): + return True + elif version_spec is not None and self.get_cnr_active_version(node_id) == version_spec: + return True + elif version_spec is None and (node_id in self.active_nodes or node_id in self.unknown_active_nodes): + return True + return False + + def is_disabled(self, node_id, version_spec=None): + """ + 1. node_id@unknown is disabled if version_spec is @unknown + 2. node_id@nightly is disabled if version_spec is @nightly + 4. node_id@ is disabled if version_spec is not None + 5. not exists (active node_id) if version_spec is None + + remark: latest version_spec is not allowed. Must be resolved before call. + """ + if version_spec == "unknown": + return node_id in self.unknown_inactive_nodes + elif version_spec == "nightly": + return node_id in self.nightly_inactive_nodes + elif version_spec == "cnr": + res = self.cnr_inactive_nodes.get(node_id, None) + if res is None: + return False + + res = [x for x in res.keys() if x != 'nightly'] + return len(res) > 0 + elif version_spec is not None: + return version_spec in self.cnr_inactive_nodes.get(node_id, []) + + if node_id in self.nightly_inactive_nodes: + return True + elif node_id in self.unknown_inactive_nodes: + return True + + target = self.cnr_inactive_nodes.get(node_id, None) + if target is not None and target == version_spec: + return True + + return False + + def is_registered_in_cnr(self, node_id): + return node_id in self.cnr_map + + def get_cnr_active_version(self, node_id): + res = self.active_nodes.get(node_id) + if res: + return res[0] + else: + return None + + def is_unknown_active(self, node_id): + return node_id in self.unknown_active_nodes + + def add_to_cnr_inactive_nodes(self, node_id, ver, fullpath): + ver_map = self.cnr_inactive_nodes.get(node_id) + if ver_map is None: + ver_map = {} + self.cnr_inactive_nodes[node_id] = ver_map + + ver_map[ver] = fullpath + + def get_from_cnr_active_nodes(self, node_id): + ver_path = self.active_nodes.get(node_id) + if ver_path is None: + return None + + return ver_path[0] + + def get_from_cnr_inactive_nodes(self, node_id, ver=None): + ver_map = self.cnr_inactive_nodes.get(node_id) + if ver_map is None: + return None + + if ver is not None: + return ver_map.get(ver) + + latest = None + for k, v in ver_map.items(): + if latest is None: + latest = self.safe_version(k), v + continue + + cur_ver = self.safe_version(k) + if cur_ver > latest[0]: + latest = cur_ver, v + + return latest + + 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 + self.unknown_inactive_nodes = {} # node_id -> repo url * fullpath + 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=='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 + + # reload node status info from custom_nodes/* + for custom_nodes_path in folder_paths.get_folder_paths('custom_nodes'): + for x in os.listdir(custom_nodes_path): + fullpath = os.path.join(custom_nodes_path, x) + if os.path.isdir(fullpath): + if x not in ['__pycache__', '.disabled']: + self.update_cache_at_path(fullpath) + + # reload node status info from custom_nodes/.disabled/* + for custom_nodes_path in folder_paths.get_folder_paths('custom_nodes'): + disabled_dir = os.path.join(custom_nodes_path, '.disabled') + if os.path.exists(disabled_dir): + for x in os.listdir(disabled_dir): + fullpath = os.path.join(disabled_dir, x) + if os.path.isdir(fullpath): + self.update_cache_at_path(fullpath) + + @staticmethod + async def load_nightly(channel, mode): + if channel is None: + return {} + + res = {} + + channel_url = normalize_channel(channel) + if channel_url: + if mode not in ['remote', 'local', 'cache']: + 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']: + 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) + except: + logging.error(f"[ComfyUI-Manager] broken item:{x}") + + return res + + async def get_custom_nodes(self, channel, mode): + 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) + nodes = await self.load_nightly(channel, mode) + + res = NormalizedKeyDict() + added_cnr = set() + for v in nodes.values(): + v = v[0] + if len(v['files']) == 1: + cnr = self.get_cnr_by_repo(v['files'][0]) + if cnr: + if 'latest_version' not in cnr: + v['cnr_latest'] = '0.0.0' + else: + v['cnr_latest'] = cnr['latest_version']['version'] + v['id'] = cnr['id'] + v['author'] = cnr['publisher']['name'] + 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 + + self.custom_node_map_cache[(channel, mode)] = res + return res + + @staticmethod + def safe_version(ver_str): + try: + return version.parse(ver_str) + except: + return version.parse("0.0.0") + + def execute_install_script(self, url, repo_path, instant_execution=False, lazy_mode=False, no_deps=False): + 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(), 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) + clean_package_name = package_name.split('#')[0].strip() + install_cmd = manager_util.make_pip_cmd(["install", clean_package_name]) + if clean_package_name != "" and not clean_package_name.startswith('#'): + res = res and try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) + + pip_fixer.fix_broken() + + 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 res and try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) + + 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") + with open(script_path, "a") as file: + obj = [target, "#LAZY-CNR-SWITCH-SCRIPT", zip_url, from_path, to_path, no_deps, get_default_custom_nodes_path(), sys.executable] + file.write(f"{obj}\n") + + print(f"Installation reserved: {target}") + + return True + + def unified_fix(self, node_id, version_spec, instant_execution=False, no_deps=False): + """ + fix dependencies + """ + + result = ManagedResult('fix') + + 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}') + + self.execute_install_script(node_id, info[1], instant_execution=instant_execution, no_deps=no_deps) + + return result + + def cnr_switch_version(self, node_id, version_spec=None, instant_execution=False, no_deps=False, return_postinstall=False): + if instant_execution: + return self.cnr_switch_version_instant(node_id, version_spec, instant_execution, no_deps, return_postinstall) + else: + return self.cnr_switch_version_lazy(node_id, version_spec, no_deps, return_postinstall) + + def cnr_switch_version_lazy(self, node_id, version_spec=None, no_deps=False, return_postinstall=False): + """ + switch between cnr version (lazy mode) + """ + + result = ManagedResult('switch-cnr') + + 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}') + + version_spec = node_info.version + + if self.active_nodes[node_id][0] == version_spec: + return ManagedResult('skip').with_msg("Up to date") + + zip_url = node_info.download_url + from_path = self.active_nodes[node_id][1] + target = node_id + to_path = os.path.join(get_default_custom_nodes_path(), target) + + def postinstall(): + return self.reserve_cnr_switch(target, zip_url, from_path, to_path, no_deps) + + if return_postinstall: + return result.with_postinstall(postinstall) + else: + if not postinstall(): + return result.fail(f"Failed to execute install script: {node_id}@{version_spec}") + + return result + + def cnr_switch_version_instant(self, node_id, version_spec=None, instant_execution=True, no_deps=False, return_postinstall=False): + """ + switch between cnr version + """ + + # 1. download + result = ManagedResult('switch-cnr') + + 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}') + + version_spec = node_info.version + + if self.active_nodes[node_id][0] == version_spec: + return ManagedResult('skip').with_msg("Up to date") + + 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.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] + extracted = manager_util.extract_package_as_zip(download_path, install_path) + os.remove(download_path) + + if extracted is None: + if len(os.listdir(install_path)) == 0: + shutil.rmtree(install_path) + + return result.fail(f'Empty archive file: {node_id}@{version_spec}') + + # 3. calculate garbage files (.tracking - extracted) + tracking_info_file = os.path.join(install_path, '.tracking') + prev_files = set() + with open(tracking_info_file, 'r') as f: + for line in f: + prev_files.add(line.strip()) + garbage = prev_files.difference(extracted) + garbage = [os.path.join(install_path, x) for x in garbage] + + # 4-1. remove garbage files + for x in garbage: + if os.path.isfile(x): + os.remove(x) + + # 4-2. remove garbage dir if empty + for x in garbage: + if os.path.isdir(x): + if not os.listdir(x): + os.rmdir(x) + + # 5. create .tracking file + tracking_info_file = os.path.join(install_path, '.tracking') + with open(tracking_info_file, "w", encoding='utf-8') as file: + file.write('\n'.join(list(extracted))) + + # 6. post install + result.target = version_spec + + def postinstall(): + res = self.execute_install_script(f"{node_id}@{version_spec}", install_path, instant_execution=instant_execution, no_deps=no_deps) + return res + + if return_postinstall: + return result.with_postinstall(postinstall) + else: + if not postinstall(): + return result.fail(f"Failed to execute install script: {node_id}@{version_spec}") + + return result + + def unified_enable(self, node_id: str, version_spec=None): + """ + priority if version_spec == None + 1. CNR latest in disk + 2. nightly + 3. unknown + + remark: latest version_spec is not allowed. Must be resolved before call. + """ + + 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: + return result.fail(f'Specified inactive node not exists: {node_id}') + + if self.is_enabled(node_id, version_spec): + return ManagedResult('skip').with_msg('Already enabled') + + if not self.is_disabled(node_id, version_spec): + return ManagedResult('skip').with_msg('Not installed') + + from_path = None + to_path = None + + if version_spec == 'unknown': + repo_and_path = self.unknown_inactive_nodes.get(node_id) + if repo_and_path is None: + return result.fail(f'Specified inactive node not exists: {node_id}@unknown') + from_path = repo_and_path[1] + + base_path = extract_base_custom_nodes_dir(from_path) + to_path = os.path.join(base_path, node_id) + elif version_spec == 'nightly': + self.unified_disable(node_id, False) + from_path = self.nightly_inactive_nodes.get(node_id) + if from_path is None: + return result.fail(f'Specified inactive node not exists: {node_id}@nightly') + base_path = extract_base_custom_nodes_dir(from_path) + to_path = os.path.join(base_path, node_id) + elif version_spec is not None: + self.unified_disable(node_id, False) + cnr_info = self.cnr_inactive_nodes.get(node_id) + + if cnr_info is None or len(cnr_info) == 0: + return result.fail(f'Specified inactive cnr node not exists: {node_id}') + + if version_spec == "cnr": + version_spec = next(iter(cnr_info)) + + if version_spec not in cnr_info: + return result.fail(f'Specified inactive node not exists: {node_id}@{version_spec}') + + from_path = cnr_info[version_spec] + base_path = extract_base_custom_nodes_dir(from_path) + to_path = os.path.join(base_path, node_id) + + if from_path is None or not os.path.exists(from_path): + return result.fail(f'Specified inactive node path not exists: {from_path}') + + # move from disk + shutil.move(from_path, to_path) + + # 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] + return result.with_target(to_path) + elif version_spec == 'nightly': + del self.nightly_inactive_nodes[node_id] + else: + del self.cnr_inactive_nodes[node_id][version_spec] + + self.active_nodes[node_id] = version_spec, to_path + return result.with_target(to_path) + + 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: + version_spec = None + + if not self.is_enabled(node_id, version_spec): + if not self.is_disabled(node_id, version_spec): + return ManagedResult('skip').with_msg('Not installed') + else: + return ManagedResult('skip').with_msg('Already disabled') + + if is_unknown: + repo_and_path = self.unknown_active_nodes.get(node_id) + + if repo_and_path is None or not os.path.exists(repo_and_path[1]): + return result.fail(f'Specified active node not exists: {node_id}') + + base_path = extract_base_custom_nodes_dir(repo_and_path[1]) + to_path = os.path.join(base_path, '.disabled', node_id) + + shutil.move(repo_and_path[1], to_path) + result.append((repo_and_path[1], to_path)) + + self.unknown_inactive_nodes[node_id] = repo_and_path[0], to_path + del self.unknown_active_nodes[node_id] + + return result + + ver_and_path = self.active_nodes.get(node_id) + + if ver_and_path is None or not os.path.exists(ver_and_path[1]): + return result.fail(f'Specified active node not exists: {node_id}') + + base_path = extract_base_custom_nodes_dir(ver_and_path[1]) + + # NOTE: A disabled node may have multiple versions, so preserve it using the `@ suffix`. + to_path = os.path.join(base_path, '.disabled', f"{node_id}@{ver_and_path[0].replace('.', '_')}") + shutil.move(ver_and_path[1], to_path) + result.append((ver_and_path[1], to_path)) + + if ver_and_path[0] == 'nightly': + self.nightly_inactive_nodes[node_id] = to_path + else: + self.add_to_cnr_inactive_nodes(node_id, ver_and_path[0], to_path) + + del self.active_nodes[node_id] + + return result + + def unified_uninstall(self, node_id: str, is_unknown: bool): + """ + Remove whole installed custom nodes including inactive nodes + """ + 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) + + is_removed = False + + if repo_and_path is not None and os.path.exists(repo_and_path[1]): + rmtree(repo_and_path[1]) + result.append(repo_and_path[1]) + del self.unknown_active_nodes[node_id] + + is_removed = True + + # remove from inactives + repo_and_path = self.unknown_inactive_nodes.get(node_id) + + if repo_and_path is not None and os.path.exists(repo_and_path[1]): + rmtree(repo_and_path[1]) + result.append(repo_and_path[1]) + del self.unknown_inactive_nodes[node_id] + + is_removed = True + + if is_removed: + return result + else: + return ManagedResult('skip') + + # remove from actives + ver_and_path = self.active_nodes.get(node_id) + + if ver_and_path is not None and os.path.exists(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): + try_rmtree(node_id, fullpath) + result.items.append(('nightly', fullpath)) + del self.nightly_inactive_nodes[node_id] + + # remove from cnr inactives + ver_map = self.cnr_inactive_nodes.get(node_id) + if ver_map is not None: + for key, fullpath in ver_map.items(): + try_rmtree(node_id, fullpath) + result.items.append((key, fullpath)) + del self.cnr_inactive_nodes[node_id] + + if len(result.items) == 0: + return ManagedResult('skip').with_msg('Not installed') + + return result + + 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}') + + 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) + + # re-download. I cannot trust existing file. + if os.path.exists(download_path): + os.remove(download_path) + + # install_path + install_path = os.path.join(get_default_custom_nodes_path(), node_id) + if os.path.exists(install_path): + return result.fail(f'Install path already exists: {install_path}') + + manager_downloader.download_url(node_info.download_url, get_default_custom_nodes_path(), archive_name) + os.makedirs(install_path, exist_ok=True) + extracted = manager_util.extract_package_as_zip(download_path, install_path) + os.remove(download_path) + result.to_path = install_path + + if extracted is None: + shutil.rmtree(install_path) + return result.fail(f'Empty archive file: {node_id}@{version_spec}') + + # create .tracking file + tracking_info_file = os.path.join(install_path, '.tracking') + with open(tracking_info_file, "w", encoding='utf-8') as file: + file.write('\n'.join(extracted)) + + result.target = version_spec + + def postinstall(): + return self.execute_install_script(node_id, install_path, instant_execution=instant_execution, no_deps=no_deps) + + if return_postinstall: + return result.with_postinstall(postinstall) + else: + if not postinstall(): + return result.fail(f"Failed to execute install script: {node_id}@{version_spec}") + + return result + + 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: + # 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(), clone_url, repo_path], cwd=get_default_custom_nodes_path()) + if res != 0: + return result.fail(f"Failed to clone repo: {clone_url}") + else: + repo = git.Repo.clone_from(clone_url, repo_path, recursive=True, progress=GitProgress()) + repo.git.clear_cache() + repo.close() + + def postinstall(): + return self.execute_install_script(url, repo_path, instant_execution=instant_execution, no_deps=no_deps) + + if return_postinstall: + return result.with_postinstall(postinstall) + else: + if not postinstall(): + return result.fail(f"Failed to execute install script: {url}") + + except Exception as e: + traceback.print_exc() + return result.fail(f"Install(git-clone) error[2]: {url} / {e}") + + print("Installation was successful.") + return result + + def repo_update(self, repo_path, instant_execution=False, no_deps=False, return_postinstall=False): + result = ManagedResult('update-git') + + if not os.path.exists(os.path.join(repo_path, '.git')): + return result.fail(f'Path not found: {repo_path}') + + # version check + with git.Repo(repo_path) as repo: + if repo.head.is_detached: + 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 = 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(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() + except Exception: + print("\n[ComfyUI-Manager] Failed to fixing repository setup. Please execute this command on cmd: \n" + "-----------------------------------------------------------------------------------------\n" + f'git config --global --add safe.directory "{safedir_path}"\n' + "-----------------------------------------------------------------------------------------\n") + + commit_hash = repo.head.commit.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) + + if len(repo.remotes) > 0: + url = repo.remotes[0].url + else: + url = "unknown repo" + + def postinstall(): + return self.execute_install_script(url, repo_path, instant_execution=instant_execution, no_deps=no_deps) + + if return_postinstall: + return result.with_postinstall(postinstall) + else: + if not postinstall(): + return result.fail(f"Failed to execute install script: {url}") + + return result + else: + return ManagedResult('skip').with_msg('Up to date') + + def unified_update(self, node_id, version_spec=None, instant_execution=False, no_deps=False, return_postinstall=False): + orig_print(f"\x1b[2K\rUpdating: {node_id}", end='') + + if version_spec is None: + 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}').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').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').with_ver('unknown') + else: + 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: 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 + 2. unknown + + 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): + return ManagedResult('skip') + elif self.is_disabled(node_id): + return self.unified_enable(node_id) + + else: + version_spec = self.resolve_unspecified_version(node_id) + + if version_spec == 'unknown' or version_spec == 'nightly': + 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: + 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}]") + + if self.is_enabled(node_id, version_spec): + return ManagedResult('skip').with_target(f"{node_id}@{version_spec}") + + elif self.is_disabled(node_id, version_spec): + return self.unified_enable(node_id, version_spec) + + elif version_spec == 'unknown' or version_spec == 'nightly': + if version_spec == 'nightly': + # disable cnr nodes + if self.is_enabled(node_id, 'cnr'): + self.unified_disable(node_id, False) + + to_path = os.path.abspath(os.path.join(get_default_custom_nodes_path(), node_id)) + 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] = 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) + + if self.is_enabled(node_id, 'nightly'): + # disable nightly nodes + self.unified_disable(node_id, False) # NOTE: don't return from here + + if self.is_disabled(node_id, version_spec): + # enable and return if specified version is disabled + return self.unified_enable(node_id, version_spec) + + if self.is_disabled(node_id, "cnr"): + # enable and switch version if cnr is disabled (not specified version) + self.unified_enable(node_id, "cnr") + return self.cnr_switch_version(node_id, version_spec, no_deps=no_deps, return_postinstall=return_postinstall) + + if self.is_enabled(node_id, "cnr"): + return self.cnr_switch_version(node_id, version_spec, no_deps=no_deps, return_postinstall=return_postinstall) + + res = self.cnr_install(node_id, version_spec, instant_execution=instant_execution, no_deps=no_deps, return_postinstall=return_postinstall) + if res.result: + self.active_nodes[node_id] = version_spec, res.to_path + + return res + + +unified_manager = UnifiedManager() + + +def identify_node_pack_from_path(fullpath): + module_name = os.path.basename(fullpath) + if module_name.endswith('.git'): + module_name = module_name[:-4] + + repo_url = git_utils.git_url(fullpath) + if repo_url is None: + # cnr + cnr = cnr_utils.read_cnr_info(fullpath) + if cnr is not None: + return module_name, cnr['version'], cnr['id'], None + + return None + else: + # nightly or unknown + 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, github_id + else: + return module_name, commit_hash, '', github_id + + +def get_installed_node_packs(): + res = {} + + for x in get_custom_nodes_paths(): + for y in os.listdir(x): + if y == '__pycache__' or y == '.disabled': + continue + + fullpath = os.path.join(x, y) + info = identify_node_pack_from_path(fullpath) + if info is None: + continue + + is_disabled = not y.endswith('.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): + for y in os.listdir(disabled_dirs): + if y == '__pycache__': + continue + + fullpath = os.path.join(disabled_dirs, y) + info = identify_node_pack_from_path(fullpath) + if info is None: + continue + + 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 = {} - if not os.path.exists(channel_list_path): - shutil.copy(channel_list_path+'.template', channel_list_path) + if not os.path.exists(manager_channel_list_path): + shutil.copy(channel_list_template_path, manager_channel_list_path) - with open(os.path.join(comfyui_manager_path, 'channels.list'), 'r') as file: + with open(manager_channel_list_path, 'r') as file: channels = file.read() for x in channels.split('\n'): 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 @@ -226,9 +1671,7 @@ class ManagerFuncs: print(f"[ComfyUI-Manager] Unexpected behavior: `{cmd}`") return 0 - new_env = os.environ.copy() - new_env["COMFYUI_PATH"] = comfy_path - subprocess.check_call(cmd, cwd=cwd, env=new_env) + subprocess.check_call(cmd, cwd=cwd, env=get_script_env()) return 0 @@ -237,76 +1680,103 @@ manager_funcs = ManagerFuncs() def write_config(): - config = configparser.ConfigParser() + config = configparser.ConfigParser(strict=False) + config['default'] = { 'preview_method': manager_funcs.get_current_preview_method(), - 'badge_mode': get_config()['badge_mode'], - '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'], + 'always_lazy_install': get_config()['always_lazy_install'], + 'network_mode': get_config()['network_mode'], + 'db_mode': get_config()['db_mode'], } - with open(config_path, 'w') as configfile: + + # Sanitize all string values to prevent CRLF injection attacks + for key, value in config['default'].items(): + if isinstance(value, str): + config['default'][key] = value.replace('\r', '').replace('\n', '').replace('\x00', '') + + directory = os.path.dirname(manager_config_path) + if not os.path.exists(directory): + os.makedirs(directory) + + with open(manager_config_path, 'w') as configfile: config.write(configfile) def read_config(): try: - config = configparser.ConfigParser() - config.read(config_path) + config = configparser.ConfigParser(strict=False) + config.read(manager_config_path) default_conf = config['default'] - # 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(), - 'badge_mode': default_conf['badge_mode'] if 'badge_mode' in default_conf else 'none', - '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 'https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main', - '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 '', - 'security_level': security_level + manager_util.use_uv = default_conf['use_uv'].lower() == 'true' if 'use_uv' in default_conf else False + manager_util.bypass_ssl = get_bool('bypass_ssl', False) + + result = { + '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(), } + manager_migration.force_security_level_if_needed(result) + return result except Exception: - return { + import importlib.util + # temporary disable `uv` on Windows by default (https://github.com/Comfy-Org/ComfyUI-Manager/issues/1969) + manager_util.use_uv = importlib.util.find_spec("uv") is not None and platform.system() != "Windows" + manager_util.bypass_ssl = False + + result = { + 'http_channel_enabled': False, 'preview_method': manager_funcs.get_current_preview_method(), - 'badge_mode': 'none', 'git_exe': '', - 'channel_url': 'https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main', + 'use_uv': manager_util.use_uv, + 'channel_url': DEFAULT_CHANNEL, + 'default_cache_as_channel_url': False, 'share_option': 'all', - 'bypass_ssl': False, + 'bypass_ssl': manager_util.bypass_ssl, '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': '', - '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 } + manager_migration.force_security_level_if_needed(result) + return result def get_config(): @@ -314,44 +1784,111 @@ 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): - show_result = repo.git.remote("show", "origin") - matches = re.search(r"\s*HEAD branch:\s*(.*)", show_result) - if matches: - default_branch = matches.group(1) + remote_name = get_remote_name(repo) + + try: + 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: + if remote_name is not None: + repo.git.checkout('-b', 'master', f'{remote_name}/master') + return True + except: + 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(startup_script_path): - os.makedirs(startup_script_path) - - script_path = os.path.join(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(f"[WARN] The extension installation feature may not work properly in the current installed ComfyUI version on Windows environment.") + print("[WARN] The extension installation feature may not work properly in the current installed ComfyUI version on Windows environment.") print("###################################################################\n\n") except: pass @@ -362,6 +1899,8 @@ def try_install_script(url, repo_path, install_cmd, instant_execution=False): print(f"install script failed: {url}") return False + return True + # use subprocess to avoid file system lock by git (Windows) def __win_check_git_update(path, do_fetch=False, do_update=False): @@ -372,9 +1911,8 @@ def __win_check_git_update(path, do_fetch=False, do_update=False): else: command = [sys.executable, git_script_path, "--check", path] - new_env = os.environ.copy() - new_env["COMFYUI_PATH"] = comfy_path - process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=get_default_custom_nodes_path()) + new_env = get_script_env() + process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=get_default_custom_nodes_path(), env=new_env) output, _ = process.communicate() output = output.decode('utf-8').strip() @@ -390,7 +1928,7 @@ def __win_check_git_update(path, do_fetch=False, do_update=False): output, _ = process.communicate() output = output.decode('utf-8').strip() except Exception: - print(f'[ComfyUI-Manager] failed to fixing') + print('[ComfyUI-Manager] failed to fixing') if 'detected dubious' in output: print(f'\n[ComfyUI-Manager] Failed to fixing repository setup. Please execute this command on cmd: \n' @@ -425,14 +1963,13 @@ def __win_check_git_update(path, do_fetch=False, do_update=False): def __win_check_git_pull(path): - new_env = os.environ.copy() - new_env["COMFYUI_PATH"] = comfy_path command = [sys.executable, git_script_path, "--pull", path] - process = subprocess.Popen(command, env=new_env, cwd=get_default_custom_nodes_path()) + process = subprocess.Popen(command, env=get_script_env(), cwd=get_default_custom_nodes_path()) process.wait() -def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=False): +def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=False, no_deps=False): + # import ipdb; ipdb.set_trace() install_script_path = os.path.join(repo_path, "install.py") requirements_path = os.path.join(repo_path, "requirements.txt") @@ -440,9 +1977,9 @@ def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=Fa install_cmd = ["#LAZY-INSTALL-SCRIPT", sys.executable] try_install_script(url, repo_path, install_cmd) else: - if os.path.exists(requirements_path): + if os.path.exists(requirements_path) and not no_deps: print("Install: pip packages") - pip_fixer = PIPFixer(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 @@ -458,48 +1995,72 @@ 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) - pip_fixer.fix_broken() if os.path.exists(install_script_path): - print(f"Install: install script") + print("Install: install script") install_cmd = [sys.executable, "install.py"] try_install_script(url, repo_path, install_cmd, instant_execution=instant_execution) return True -def git_repo_has_updates(path, do_fetch=False, do_update=False): +def git_repo_update_check_with(path, do_fetch=False, do_update=False, no_deps=False): + """ + + perform update check for git custom node + and fetch or update if flag is on + + :param path: path to git custom node + :param do_fetch: do fetch during check + :param do_update: do update during check + :param no_deps: don't install dependencies + :return: update state * success + """ if do_fetch: - print(f"\x1b[2K\rFetching: {path}", end='') + orig_print(f"\x1b[2K\rFetching: {path}", end='') elif do_update: - print(f"\x1b[2K\rUpdating: {path}", end='') + orig_print(f"\x1b[2K\rUpdating: {path}", end='') # Check if the path is a git repository if not os.path.exists(os.path.join(path, '.git')): - raise ValueError('Not a git repository') + raise ValueError(f'[ComfyUI-Manager] Not a valid git repository: {path}') if platform.system() == "Windows": updated, success = __win_check_git_update(path, do_fetch, do_update) if updated and success: - execute_install_script(None, path, lazy_mode=True) + execute_install_script(None, path, lazy_mode=True, no_deps=no_deps) return updated, success else: # Fetch the latest commits from the remote repository repo = git.Repo(path) + 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: + if do_fetch: + remote.fetch() + + return True, True # detached branch is treated as updatable + + if repo.head.is_detached: + 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 - remote_name = 'origin' - remote = repo.remote(name=remote_name) - # Get the current commit hash commit_hash = repo.head.commit.hexsha @@ -507,10 +2068,21 @@ def git_repo_has_updates(path, do_fetch=False, do_update=False): remote.fetch() if do_update: - if repo.head.is_detached: - switch_to_default_branch(repo) + if repo.is_dirty(): + print(f"\nSTASH: '{path}' is dirty.") + repo.git.stash() - remote_commit_hash = repo.refs[f'{remote_name}/{branch_name}'].object.hexsha + if f'{remote_name}/{branch_name}' not in repo.refs: + 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 + + 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() @@ -522,7 +2094,7 @@ def git_repo_has_updates(path, do_fetch=False, do_update=False): new_commit_hash = repo.head.commit.hexsha if commit_hash != new_commit_hash: - execute_install_script(None, path) + execute_install_script(None, path, no_deps=no_deps) print(f"\x1b[2K\rUpdated: {path}") return True, True else: @@ -540,7 +2112,10 @@ def git_repo_has_updates(path, do_fetch=False, do_update=False): 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 True, True # Assuming there's an update if it's not the default branch. # Compare the commit hashes to determine if the local repository is behind the remote repository if commit_hash != remote_commit_hash: @@ -578,45 +2153,88 @@ def is_valid_url(url): return True finally: # Check for SSH git URL format - pattern = re.compile(r"^(.+@|ssh:\/\/).+:.+$") + pattern = re.compile(r"^(.+@|ssh://).+:.+$") if pattern.match(url): return True return False -def gitclone_install(files, instant_execution=False, msg_prefix=''): - print(f"{msg_prefix}Install: {files}") - for url in files: - if not is_valid_url(url): - print(f"Invalid git url: '{url}'") - return False +def extract_url_and_commit_id(s): + index = s.rfind('@') + if index == -1: + return (s, '') + else: + return (s[:index], s[index+1:]) - if url.endswith("/"): - url = url[:-1] - try: - print(f"Download: git clone '{url}'") +async def gitclone_install(url, instant_execution=False, msg_prefix='', no_deps=False): + await unified_manager.reload('cache') + await unified_manager.get_custom_nodes('default', 'cache') + + print(f"{msg_prefix}Install: {url}") + + result = ManagedResult('install-git') + + if not is_valid_url(url): + return result.fail(f"Invalid git url: '{url}'") + + if url.endswith("/"): + url = url[:-1] + try: + 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=None, channel='default', mode='cache') + else: + new_url, commit_id = extract_url_and_commit_id(url) + if commit_id != "": + url = new_url repo_name = os.path.splitext(os.path.basename(url))[0] - repo_path = os.path.join(get_default_custom_nodes_path(), repo_name) + + # NOTE: Keep original name as possible if unknown node + # node_dir = f"{repo_name}@unknown" + node_dir = repo_name + + repo_path = os.path.join(get_default_custom_nodes_path(), node_dir) + + if os.path.exists(repo_path): + return result.fail(f"Already exists: '{repo_path}'") + + for custom_nodes_dir in get_custom_nodes_paths(): + disabled_repo_path1 = os.path.join(custom_nodes_dir, '.disabled', node_dir) + disabled_repo_path2 = os.path.join(custom_nodes_dir, repo_name+'.disabled') # old style + + if os.path.exists(disabled_repo_path1): + return result.fail(f"Already exists (disabled): '{disabled_repo_path1}'") + + if os.path.exists(disabled_repo_path2): + return result.fail(f"Already exists (disabled): '{disabled_repo_path2}'") + + 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], 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 False + 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()) + if commit_id!= "": + repo.git.checkout(commit_id) + repo.git.submodule('update', '--init', '--recursive') + repo.git.clear_cache() repo.close() - if not execute_install_script(url, repo_path, instant_execution=instant_execution): - return False + execute_install_script(url, repo_path, instant_execution=instant_execution, no_deps=no_deps) + print("Installation was successful.") + return result.with_target(repo_path) - except Exception as e: - print(f"Install(git-clone) error: {url} / {e}", file=sys.stderr) - return False - - print("Installation was successful.") - return True + except Exception as e: + traceback.print_exc() + 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): @@ -631,16 +2249,26 @@ def git_pull(path): repo = git.Repo(path) if repo.is_dirty(): + print(f"STASH: '{path}' is dirty.") 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 - remote = repo.remote(name=remote_name) - remote.pull() + try: + repo.git.pull('--ff-only') + except git.GitCommandError: + branch_name = current_branch.name + backup_name = f'backup_{time.strftime("%Y%m%d_%H%M%S")}' + repo.create_head(backup_name) + logging.info(f"[ComfyUI-Manager] Cannot fast-forward. Backup created: {backup_name}") + repo.git.reset('--hard', f'{remote_name}/{branch_name}') + logging.info(f"[ComfyUI-Manager] Reset to {remote_name}/{branch_name}") + repo.git.submodule('update', '--init', '--recursive') repo.close() @@ -648,99 +2276,52 @@ def git_pull(path): return True -async def get_data(uri, silent=False): - if not silent: - print(f"FETCH DATA from: {uri}", end="") - - if uri.startswith("http"): - async with aiohttp.ClientSession(trust_env=True, connector=aiohttp.TCPConnector(verify_ssl=False)) as session: - async with session.get(uri) as resp: - json_text = await resp.text() - else: - with cache_lock: - with open(uri, "r", encoding="utf-8") as f: - json_text = f.read() - - json_obj = json.loads(json_text) - if not silent: - print(f" [DONE]") - return json_obj - - -def simple_hash(input_string): - hash_value = 0 - for char in input_string: - hash_value = (hash_value * 31 + ord(char)) % (2**32) - - return hash_value - - -def is_file_created_within_one_day(file_path): - if not os.path.exists(file_path): - return False - - file_creation_time = os.path.getctime(file_path) - current_time = datetime.now().timestamp() - time_difference = current_time - file_creation_time - - return time_difference <= 86400 - - async def get_data_by_mode(mode, filename, channel_url=None): if channel_url in get_channel_dict(): 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(comfyui_manager_path, filename) - json_obj = await get_data(uri) + json_obj = await manager_util.get_data(local_uri) else: if channel_url is None: uri = get_config()['channel_url'] + '/' + filename else: uri = channel_url + '/' + filename - cache_uri = str(simple_hash(uri))+'_'+filename - cache_uri = os.path.join(cache_dir, cache_uri) + cache_uri = str(manager_util.simple_hash(uri))+'_'+filename + cache_uri = os.path.join(manager_util.cache_dir, cache_uri) - if mode == "cache": - if is_file_created_within_one_day(cache_uri): - json_obj = await get_data(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: - json_obj = await get_data(uri) - with cache_lock: + 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 get_data(uri) - with 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(comfyui_manager_path, filename) - json_obj = await get_data(uri) + uri = os.path.join(manager_util.comfyui_manager_path, filename) + json_obj = await manager_util.get_data(uri) return json_obj -def lookup_installed_custom_nodes(repo_name): - try: - import folder_paths - base_paths = folder_paths.get_folder_paths("custom_nodes") - except: - base_paths = [custom_nodes_path] - - for base_path in base_paths: - repo_path = os.path.join(base_path, repo_name) - if os.path.exists(repo_path): - return True, repo_path - elif os.path.exists(repo_path+'.disabled'): - return False, repo_path - - return None - -def gitclone_fix(files, instant_execution=False): +def gitclone_fix(files, instant_execution=False, no_deps=False): print(f"Try fixing: {files}") for url in files: if not is_valid_url(url): @@ -751,18 +2332,16 @@ def gitclone_fix(files, instant_execution=False): url = url[:-1] try: repo_name = os.path.splitext(os.path.basename(url))[0] - repo_path = lookup_installed_custom_nodes(repo_name) + repo_path = os.path.join(get_default_custom_nodes_path(), repo_name) - if repo_path is not None: - repo_path = repo_path[1] + if os.path.exists(repo_path+'.disabled'): + repo_path = repo_path+'.disabled' - if not execute_install_script(url, repo_path, instant_execution=instant_execution): - return False - else: - print(f"Custom node not found: {repo_name}") + if not execute_install_script(url, repo_path, instant_execution=instant_execution, no_deps=no_deps): + 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.") @@ -770,7 +2349,7 @@ def gitclone_fix(files, instant_execution=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) @@ -805,29 +2384,33 @@ def gitclone_uninstall(files): if url.endswith("/"): url = url[:-1] try: - dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") - repo_path = lookup_installed_custom_nodes(dir_name) + for custom_nodes_dir in get_custom_nodes_paths(): + dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") + dir_path = os.path.join(custom_nodes_dir, dir_name) - if repo_path is None: - continue - - dir_path = repo_path[1] + # safety check + if dir_path == '/' or dir_path[1:] == ":/" or dir_path == '': + print(f"Uninstall(git-clone) error: invalid path '{dir_path}' for '{url}'") + return False - install_script_path = os.path.join(dir_path, "uninstall.py") - disable_script_path = os.path.join(dir_path, "disable.py") - if os.path.exists(install_script_path): - uninstall_cmd = [sys.executable, "uninstall.py"] - code = manager_funcs.run_script(uninstall_cmd, cwd=dir_path) + install_script_path = os.path.join(dir_path, "uninstall.py") + disable_script_path = os.path.join(dir_path, "disable.py") + if os.path.exists(install_script_path): + uninstall_cmd = [sys.executable, "uninstall.py"] + code = manager_funcs.run_script(uninstall_cmd, cwd=dir_path) - if code != 0: - print(f"An error occurred during the execution of the uninstall.py script. Only the '{dir_path}' will be deleted.") - elif os.path.exists(disable_script_path): - disable_script = [sys.executable, "disable.py"] - code = manager_funcs.run_script(disable_script, cwd=dir_path) - if code != 0: - print(f"An error occurred during the execution of the disable.py script. Only the '{dir_path}' will be deleted.") + if code != 0: + print(f"An error occurred during the execution of the uninstall.py script. Only the '{dir_path}' will be deleted.") + elif os.path.exists(disable_script_path): + disable_script = [sys.executable, "disable.py"] + code = manager_funcs.run_script(disable_script, cwd=dir_path) + if code != 0: + print(f"An error occurred during the execution of the disable.py script. Only the '{dir_path}' will be deleted.") - rmtree(dir_path) + if os.path.exists(dir_path): + rmtree(dir_path) + elif os.path.exists(dir_path + ".disabled"): + rmtree(dir_path + ".disabled") except Exception as e: print(f"Uninstall(git-clone) error: {url} / {e}", file=sys.stderr) return False @@ -849,31 +2432,48 @@ def gitclone_set_active(files, is_disable): if url.endswith("/"): url = url[:-1] try: - dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") - repo_path = lookup_installed_custom_nodes(dir_name) + for custom_nodes_dir in get_custom_nodes_paths(): + dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") + dir_path = os.path.join(custom_nodes_dir, dir_name) - if repo_path is None: - continue + # safety check + if dir_path == '/' or dir_path[1:] == ":/" or dir_path == '': + print(f"{action_name}(git-clone) error: invalid path '{dir_path}' for '{url}'") + return False - dir_path = repo_path[1] - - if is_disable: - current_path = dir_path - new_path = dir_path + ".disabled" - else: - current_path = dir_path + ".disabled" - new_path = dir_path + if is_disable: + current_path = dir_path + base_path = extract_base_custom_nodes_dir(current_path) + new_path = os.path.join(base_path, ".disabled", dir_name) - os.rename(current_path, new_path) + if not os.path.exists(current_path): + continue + else: + current_path1 = os.path.join(get_default_custom_nodes_path(), ".disabled", dir_name) + current_path2 = dir_path + ".disabled" - if is_disable: - if os.path.exists(os.path.join(new_path, "disable.py")): - disable_script = [sys.executable, "disable.py"] - try_install_script(url, new_path, disable_script) - else: - if os.path.exists(os.path.join(new_path, "enable.py")): - enable_script = [sys.executable, "enable.py"] - try_install_script(url, new_path, enable_script) + if os.path.exists(current_path1): + current_path = current_path1 + elif os.path.exists(current_path2): + current_path = current_path2 + else: + continue + + base_path = extract_base_custom_nodes_dir(current_path) + new_path = os.path.join(base_path, dir_name) + + shutil.move(current_path, new_path) + + if is_disable: + if os.path.exists(os.path.join(new_path, "disable.py")): + disable_script = [sys.executable, "disable.py"] + try_install_script(url, new_path, disable_script) + else: + if os.path.exists(os.path.join(new_path, "enable.py")): + enable_script = [sys.executable, "enable.py"] + try_install_script(url, new_path, enable_script) + + break # for safety except Exception as e: print(f"{action_name}(git-clone) error: {url} / {e}", file=sys.stderr) @@ -883,7 +2483,7 @@ def gitclone_set_active(files, is_disable): return True -def gitclone_update(files, instant_execution=False, skip_script=False, msg_prefix=""): +def gitclone_update(files, instant_execution=False, skip_script=False, msg_prefix="", no_deps=False): import os print(f"{msg_prefix}Update: {files}") @@ -891,23 +2491,30 @@ def gitclone_update(files, instant_execution=False, skip_script=False, msg_prefi if url.endswith("/"): url = url[:-1] try: - repo_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") - repo_path = lookup_installed_custom_nodes(repo_name) + for custom_nodes_dir in get_default_custom_nodes_path(): + repo_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") + repo_path = os.path.join(custom_nodes_dir, repo_name) - if repo_path is None: - continue + if os.path.exists(repo_path+'.disabled'): + repo_path = repo_path+'.disabled' - repo_path = repo_path[1] - - git_pull(repo_path) + elif os.path.exists(os.path.join(get_default_custom_nodes_path(), "disabled", repo_name)): + repo_path = os.path.join(get_default_custom_nodes_path(), "disabled", repo_name) - if not skip_script: - if instant_execution: - if not execute_install_script(url, repo_path, lazy_mode=False, instant_execution=True): - return False - else: - if not execute_install_script(url, repo_path, lazy_mode=True): - return False + if not os.path.exists(repo_path): + continue + + git_pull(repo_path) + + if not skip_script: + if instant_execution: + if not execute_install_script(url, repo_path, lazy_mode=False, instant_execution=True, no_deps=no_deps): + return False + else: + if not execute_install_script(url, repo_path, lazy_mode=True, no_deps=no_deps): + return False + + break # for safety except Exception as e: print(f"Update(git-clone) error: {url} / {e}", file=sys.stderr) @@ -918,22 +2525,60 @@ def gitclone_update(files, instant_execution=False, skip_script=False, msg_prefi return True -def update_path(repo_path, instant_execution=False): +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, latest_tag = get_comfyui_versions(repo) + + if latest_tag is None: + logging.info("[ComfyUI-Manager] Unable to update to the stable ComfyUI version.") + return "fail", None + + tag_ref = next((t for t in repo.tags if t.name == latest_tag), None) + if tag_ref is None: + logging.info(f"[ComfyUI-Manager] Unable to locate tag '{latest_tag}' in repository.") + return "fail", None + + if repo.head.commit == tag_ref.commit: + return "skip", None + else: + logging.info(f"[ComfyUI-Manager] Updating ComfyUI: {current_tag} -> {latest_tag}") + repo.git.checkout(tag_ref.name) + execute_install_script("ComfyUI", repo_path, instant_execution=False, no_deps=False) + 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" # 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) @@ -942,8 +2587,8 @@ def update_path(repo_path, instant_execution=False): remote.fetch() except Exception as e: if 'detected dubious' in str(e): - print(f"[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() @@ -952,13 +2597,20 @@ def update_path(repo_path, instant_execution=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) + execute_install_script("ComfyUI", repo_path, instant_execution=instant_execution, no_deps=no_deps) + return "updated" + elif is_switched: return "updated" else: return "skipped" @@ -967,103 +2619,78 @@ def update_path(repo_path, instant_execution=False): def lookup_customnode_by_url(data, target): for x in data['custom_nodes']: if target in x['files']: - dir_name = os.path.splitext(os.path.basename(target))[0].replace(".git", "") - repo_path = lookup_installed_custom_nodes(dir_name) + for custom_nodes_dir in get_custom_nodes_paths(): + dir_name = os.path.splitext(os.path.basename(target))[0].replace(".git", "") + dir_path = os.path.join(custom_nodes_dir, dir_name) + if os.path.exists(dir_path): + x['installed'] = 'True' + else: + disabled_path1 = os.path.join(custom_nodes_dir, '.disabled', dir_name) + disabled_path2 = dir_path + ".disabled" - if repo_path is None: - continue + if os.path.exists(disabled_path1) or os.path.exists(disabled_path2): + x['installed'] = 'Disabled' + else: + continue - if repo_path[0]: - x['installed'] = 'True' - else: - x['installed'] = 'Disabled' - return x + return x + + return None + + +def lookup_installed_custom_nodes_legacy(repo_name): + base_paths = get_custom_nodes_paths() + + for base_path in base_paths: + repo_path = os.path.join(base_path, repo_name) + if os.path.exists(repo_path): + return True, repo_path + elif os.path.exists(repo_path + '.disabled'): + return False, repo_path return None def simple_check_custom_node(url): dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") - repo_path = lookup_installed_custom_nodes(dir_name) - - if repo_path is None: - return 'not-installed' - - if repo_path[0]: + dir_path = os.path.join(get_default_custom_nodes_path(), dir_name) + if os.path.exists(dir_path): return 'installed' - else: + elif os.path.exists(dir_path+'.disabled'): return 'disabled' + return 'not-installed' -def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do_update=False): - item['installed'] = 'None' - if item['install_type'] == 'git-clone' and len(item['files']) == 1: - url = item['files'][0] +def check_state_of_git_node_pack_single(item, do_fetch=False, do_update_check=True, do_update=False): + if item['version'] == 'unknown': + dir_path = unified_manager.unknown_active_nodes.get(item['id'])[1] + elif item['version'] == 'nightly': + dir_path = unified_manager.active_nodes.get(item['id'])[1] + else: + # skip CNR nodes + dir_path = None - if url.endswith("/"): - url = url[:-1] - - dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "") - repo_path = lookup_installed_custom_nodes(dir_name) - - if repo_path is None: - item['installed'] = 'False' - elif repo_path[0]: - dir_path = repo_path[1] + if dir_path and os.path.exists(dir_path): + if do_update_check: try: - item['installed'] = 'True' # default - - if cm_global.try_call(api="cm.is_import_failed_extension", name=dir_name): - item['installed'] = 'Fail' - - if do_update_check: - update_state, success = git_repo_has_updates(dir_path, do_fetch, do_update) - if (do_update_check or do_update) and update_state: - item['installed'] = 'Update' - elif do_update and not success: - item['installed'] = 'Fail' - except: - if cm_global.try_call(api="cm.is_import_failed_extension", name=dir_name): - item['installed'] = 'Fail' - else: - item['installed'] = 'True' - - else: - item['installed'] = 'Disabled' - - elif item['install_type'] == 'copy' and len(item['files']) == 1: - dir_name = os.path.basename(item['files'][0]) - - if item['files'][0].endswith('.py'): - base_path = lookup_installed_custom_nodes(item['files'][0]) - if base_path is None: - item['installed'] = 'False' - return - elif base_path[0]: - item['installed'] = 'True' - else: - item['installed'] = 'Disabled' - - return - elif 'js_path' in item: - base_path = os.path.join(js_path, item['js_path']) - else: - base_path = js_path - - file_path = os.path.join(base_path, dir_name) - if os.path.exists(file_path): - if cm_global.try_call(api="cm.is_import_failed_extension", name=dir_name): - item['installed'] = 'Fail' - else: - item['installed'] = 'True' - else: - item['installed'] = 'False' + 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') + try: + # extract pip package infos + cmd = manager_util.make_pip_cmd(['freeze']) + pips = subprocess.check_output(cmd, text=True).split('\n') + except Exception as e: + logging.warning("[ComfyUI-Manager] Could not enumerate pip packages for snapshot: %s", e) + return {} res = {} for x in pips: @@ -1079,48 +2706,56 @@ def get_installed_pip_packages(): return res -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(f"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 = [] - try: - import folder_paths - base_paths = folder_paths.get_folder_paths("custom_nodes") - except: - base_paths = [custom_nodes_path] - # Get custom nodes hash - for base_path in base_paths: - for path in os.listdir(base_path): - fullpath = os.path.join(base_path, path) + for custom_nodes_dir in get_custom_nodes_paths(): + paths = os.listdir(custom_nodes_dir) + + disabled_path = os.path.join(custom_nodes_dir, '.disabled') + if os.path.exists(disabled_path): + for x in os.listdir(disabled_path): + paths.append(os.path.join(disabled_path, x)) + + for path in paths: + if path in ['.disabled', '__pycache__']: + continue + + fullpath = os.path.join(custom_nodes_dir, path) if os.path.isdir(fullpath): - is_disabled = path.endswith(".disabled") + is_disabled = path.endswith(".disabled") or os.path.basename(os.path.dirname(fullpath)) == ".disabled" try: - git_dir = os.path.join(fullpath, '.git') + info = unified_manager.resolve_from_path(fullpath) - if not os.path.exists(git_dir): + if info is None: continue - repo = git.Repo(fullpath) - commit_hash = repo.head.commit.hexsha - url = repo.remotes.origin.url - git_custom_nodes[url] = { - 'hash': commit_hash, - 'disabled': is_disabled - } + if info['ver'] not in ['nightly', 'latest', 'unknown']: + if is_disabled: + continue # don't restore disabled state of CNR node. + cnr_custom_nodes[info['id']] = info['ver'] + else: + commit_hash = git_utils.get_commit_hash(fullpath) + url = git_utils.git_url(fullpath) + git_custom_nodes[url] = dict(hash=commit_hash, disabled=is_disabled) except: print(f"Failed to extract snapshots for the custom node '{path}'.") @@ -1134,29 +2769,30 @@ 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, 'git_custom_nodes': git_custom_nodes, + 'cnr_custom_nodes': cnr_custom_nodes, 'file_custom_nodes': file_custom_nodes, 'pips': pip_packages, } -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() date_time_format = now.strftime("%Y-%m-%d_%H-%M-%S") file_name = f"{date_time_format}_{postfix}" - path = os.path.join(comfyui_manager_path, 'snapshots', f"{file_name}.json") + path = os.path.join(manager_snapshot_path, f"{file_name}.json") else: file_name = path.replace('\\', '/').split('/')[-1] file_name = file_name.split('.')[-2] - snapshot = 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) @@ -1273,9 +2909,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) @@ -1311,3 +2944,555 @@ def unzip(model_path): return True +def map_to_unified_keys(json_obj): + res = {} + for k, v in json_obj.items(): + cnr = unified_manager.get_cnr_by_repo(k) + if cnr: + res[cnr['id']] = v + else: + res[k] = v + + return res + + +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) + + # collect pure cnr ids (i.e. not exists in custom-node-list.json) + # populate state/updatable field to non-pure cnr nodes + cnr_ids = set(unified_manager.cnr_map.keys()) + for k, v in res.items(): + # resolve cnr_id from repo url + files_in_json = v.get('files', []) + cnr_id = None + if len(files_in_json) == 1: + cnr = unified_manager.get_cnr_by_repo(files_in_json[0]) + if cnr: + cnr_id = cnr['id'] + + if cnr_id is not None: + # cnr or nightly version + cnr_ids.discard(cnr_id) + updatable = False + cnr = unified_manager.cnr_map[cnr_id] + + if cnr_id in invalid_nodes: + v['invalid-installation'] = True + + if cnr_id in unified_manager.active_nodes: + # installed + v['state'] = 'enabled' + if unified_manager.active_nodes[cnr_id][0] != 'nightly': + updatable = unified_manager.is_updatable(cnr_id) + else: + updatable = False + v['active_version'] = unified_manager.active_nodes[cnr_id][0] + v['version'] = v['active_version'] + + if cm_global.try_call(api="cm.is_import_failed_extension", name=unified_manager.active_nodes[cnr_id][1]): + v['import-fail'] = True + + elif cnr_id in unified_manager.cnr_inactive_nodes: + # disabled + v['state'] = 'disabled' + cnr_ver = unified_manager.get_from_cnr_inactive_nodes(cnr_id) + if cnr_ver is not None: + v['version'] = str(cnr_ver[0]) + else: + v['version'] = '0' + + elif cnr_id in unified_manager.nightly_inactive_nodes: + # disabled + v['state'] = 'disabled' + v['version'] = 'nightly' + else: + # not installed + v['state'] = 'not-installed' + + if 'version' not in v: + v['version'] = cnr['latest_version']['version'] + + v['update-state'] = 'true' if updatable else 'false' + else: + # unknown version + v['version'] = 'unknown' + + if unified_manager.is_enabled(k, 'unknown'): + v['state'] = 'enabled' + v['active_version'] = 'unknown' + + if cm_global.try_call(api="cm.is_import_failed_extension", name=unified_manager.unknown_active_nodes[k][1]): + v['import-fail'] = True + + elif unified_manager.is_disabled(k, 'unknown'): + v['state'] = 'disabled' + else: + v['state'] = 'not-installed' + + # add items for pure cnr nodes + if normalize_channel(channel) == DEFAULT_CHANNEL: + # Don't show CNR nodes unless default channel + for cnr_id in cnr_ids: + cnr = unified_manager.cnr_map[cnr_id] + 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', '') + + ver = None + active_version = None + updatable = False + import_fail = None + if cnr_id in unified_manager.active_nodes: + # installed + state = 'enabled' + updatable = unified_manager.is_updatable(cnr_id) + active_version = unified_manager.active_nodes[cnr['id']][0] + ver = active_version + + if cm_global.try_call(api="cm.is_import_failed_extension", name=unified_manager.active_nodes[cnr_id][1]): + import_fail = True + + elif cnr['id'] in unified_manager.cnr_inactive_nodes: + # disabled + state = 'disabled' + elif cnr['id'] in unified_manager.nightly_inactive_nodes: + # disabled + state = 'disabled' + ver = 'nightly' + else: + # not installed + state = 'not-installed' + + if ver is None: + ver = cnr['latest_version']['version'] + + 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: + item['active_version'] = active_version + + if import_fail: + item['import-fail'] = True + + res[cnr_id] = item + + return res + + +def populate_github_stats(node_packs, json_obj_github): + for k, v in node_packs.items(): + 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): + favorites = set(json_obj_extras['favorites']) + + for k, v in node_packs.items(): + if v.get('version') != 'unknown': + if k in favorites: + v['is_favorite'] = True + + +async def restore_snapshot(snapshot_path, git_helper_extras=None): + cloned_repos = [] + checkout_repos = [] + 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') + + cnr_repo_map = {} + for k, v in unified_manager.repo_cnr_map.items(): + cnr_repo_map[v['id']] = k + + print("Restore snapshot.") + + postinstalls = [] + + with open(snapshot_path, 'r', encoding="UTF-8") as snapshot_file: + if snapshot_path.endswith('.json'): + info = json.load(snapshot_file) + elif snapshot_path.endswith('.yaml'): + info = yaml.load(snapshot_file, Loader=yaml.SafeLoader) + info = info['custom_nodes'] + + if 'pips' in info and info['pips']: + pips = info['pips'] + else: + pips = {} + + # for cnr restore + cnr_info = info.get('cnr_custom_nodes') + if cnr_info is not None: + # disable not listed cnr nodes + todo_disable = [] + todo_checkout = [] + + for k, v in unified_manager.active_nodes.items(): + if 'comfyui-manager' in k: + continue + + if v[0] != 'nightly': + if k not in cnr_info: + todo_disable.append(k) + else: + cnr_ver = cnr_info[k] + if v[1] != cnr_ver: + todo_checkout.append((k, cnr_ver)) + else: + skip_node_packs.append(k) + + for x in todo_disable: + unified_manager.unified_disable(x, False) + disabled_repos.append(x) + + for x in todo_checkout: + 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(): + if 'comfyui-manager' in k: + continue + + ps = await unified_manager.install_by_id(k, version_spec=v, instant_execution=True, return_postinstall=True) + 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) + else: + print("cm-cli: unexpected [0001]") + + # for nightly restore + _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 = [] + todo_checkout = [] + processed_urls = [] + + for k, v in unified_manager.active_nodes.items(): + if 'comfyui-manager' in k: + continue + + 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) + + if normalized_url not in git_info: + todo_disable.append(k) + else: + 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: + continue + + if cnr_repo_map.get(k): + repo_url = cnr_repo_map.get(k) + normalized_url = git_utils.normalize_url(repo_url) + + if normalized_url in git_info: + commit_hash = git_info[normalized_url]['hash'] + todo_enable.append((k, commit_hash)) + 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[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(f"{x[0]}@{x[1]}") + else: + 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(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'] + 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] + + # for unknown restore + todo_disable = [] + todo_enable = [] + todo_checkout = [] + processed_urls = [] + + for k2, v2 in unified_manager.unknown_active_nodes.items(): + repo_url = resolve_giturl_from_path(v2[1]) + + if repo_url is None: + continue + + normalized_url = git_utils.normalize_url(repo_url) + + if normalized_url not in git_info: + todo_disable.append(k2) + else: + 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]) + + if repo_url is None: + continue + + normalized_url = git_utils.normalize_url(repo_url) + + if normalized_url in git_info: + commit_hash = git_info[normalized_url]['hash'] + todo_enable.append((k2, commit_hash)) + processed_urls.append(normalized_url) + + for x in todo_disable: + unified_manager.unified_disable(x, True) + disabled_repos.append(x) + + for x in todo_enable: + res = unified_manager.unified_enable(x[0], 'unknown') + + is_switched = False + if res and res.target: + is_switched = repo_switch_commit(res.target, x[1]) + + if is_switched: + checkout_repos.append(f"{x[0]}@{x[1]}") + else: + 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(f"{x[0]}@{x[1]}") + else: + skip_node_packs.append(x[0]) + + for x in processed_urls: + if x in git_info: + del git_info[x] + + for repo_url in git_info.keys(): + repo_name = os.path.basename(repo_url) + if repo_name.endswith('.git'): + repo_name = repo_name[:-4] + + to_path = os.path.join(get_default_custom_nodes_path(), repo_name) + unified_manager.repo_install(repo_url, to_path, instant_execution=True, no_deps=False, return_postinstall=False) + cloned_repos.append(repo_name) + + manager_util.restore_pip_snapshot(pips, git_helper_extras) + + # 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}") + for x in failed: + print(f"[ FAILED ] {x}") + + # if is_failed: + # print("[bold red]ERROR: Failed to restore snapshot.[/bold red]") + + +def get_comfyui_versions(repo=None): + repo = repo or git.Repo(comfy_path) + + remote_name = None + try: + remote_name = get_remote_name(repo) + repo.remotes[remote_name].fetch() + except: + logging.error("[ComfyUI-Manager] Failed to fetch ComfyUI") + + def parse_semver(tag_name): + match = re.match(r'^v(\d+)\.(\d+)\.(\d+)$', tag_name) + return tuple(int(x) for x in match.groups()) if match else None + + def normalize_describe(tag_name): + if not tag_name: + return None + base = tag_name.split('-', 1)[0] + return base if parse_semver(base) else None + + # Collect semver tags and sort descending (highest first) + semver_tags = [] + for tag in repo.tags: + semver = parse_semver(tag.name) + if semver: + semver_tags.append((semver, tag.name)) + semver_tags.sort(key=lambda x: x[0], reverse=True) + semver_tags = [name for _, name in semver_tags] + + latest_tag = semver_tags[0] if semver_tags else None + + try: + described = repo.git.describe('--tags') + except Exception: + described = '' + + try: + exact_tag = repo.git.describe('--tags', '--exact-match') + except Exception: + exact_tag = '' + + head_is_default = False + if remote_name: + try: + default_head_ref = repo.refs[f'{remote_name}/HEAD'] + default_commit = default_head_ref.reference.commit + head_is_default = repo.head.commit == default_commit + except Exception: + head_is_default = False + + nearest_semver = normalize_describe(described) + exact_semver = exact_tag if parse_semver(exact_tag) else None + + if head_is_default and not exact_tag: + current_tag = 'nightly' + else: + current_tag = exact_tag or described or 'nightly' + + # Prepare semver list for display: top 4 plus the current/nearest semver if missing + display_semver_tags = semver_tags[:4] + if exact_semver and exact_semver not in display_semver_tags: + display_semver_tags.append(exact_semver) + elif nearest_semver and nearest_semver not in display_semver_tags: + display_semver_tags.append(nearest_semver) + + versions = ['nightly'] + + if current_tag and not exact_semver and current_tag not in versions and current_tag not in display_semver_tags: + versions.append(current_tag) + + for tag in display_semver_tags: + if tag not in versions: + versions.append(tag) + + versions = versions[:6] + + return versions, current_tag, latest_tag + + +def switch_comfyui(tag): + repo = git.Repo(comfy_path) + + if tag == 'nightly': + 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}'") + + +def resolve_giturl_from_path(fullpath): + """ + resolve giturl path of unclassified custom node based on remote url in .git/config + """ + git_config_path = os.path.join(fullpath, '.git', 'config') + + if not os.path.exists(git_config_path): + return "unknown" + + config = configparser.ConfigParser(strict=False) + config.read(git_config_path) + + for k, v in config.items(): + if k.startswith('remote ') and 'url' in v: + return v['url'].replace("git@github.com:", "https://github.com/") + + return None + + +def repo_switch_commit(repo_path, commit_hash): + try: + repo = git.Repo(repo_path) + if repo.head.commit.hexsha == commit_hash: + return False + + repo.git.checkout(commit_hash) + return True + except: + return None diff --git a/glob/manager_downloader.py b/glob/manager_downloader.py index 8a8c73c0..2718de50 100644 --- a/glob/manager_downloader.py +++ b/glob/manager_downloader.py @@ -1,9 +1,17 @@ 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) @@ -14,13 +22,44 @@ if aria2 is not None: aria2 = aria2p.API(aria2p.Client(host=host, port=port, secret=secret)) +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 + if not os.path.exists(dest_folder): + os.makedirs(dest_folder) + + # Full path to save the file + dest_path = os.path.join(dest_folder, filename) + + # Download the file + response = requests.get(url, stream=True) + if response.status_code == 200: + with open(dest_path, 'wb') as file: + for chunk in response.iter_content(chunk_size=1024): + if chunk: + file.write(chunk) + else: + raise Exception(f"Failed to download file from {url}") + + 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: from torchvision.datasets.utils import download_url as torchvision_download_url - - return torchvision_download_url(model_url, model_dir, filename) + try: + return torchvision_download_url(model_url, model_dir, filename) + except Exception as e: + logging.error(f"[ComfyUI-Manager] Failed to download: {model_url} / {repr(e)}") + raise def aria2_find_task(dir: str, filename: str): @@ -44,9 +83,6 @@ def aria2_download_url(model_url: str, model_dir: str, filename: str): if model_dir.startswith(core.comfy_path): model_dir = model_dir[len(core.comfy_path) :] - if HF_ENDPOINT: - model_url = model_url.replace('https://huggingface.co', HF_ENDPOINT) - download_dir = model_dir if model_dir.startswith('/') else os.path.join('/models', model_dir) download = aria2_find_task(download_dir, filename) @@ -68,3 +104,60 @@ def aria2_download_url(model_url: str, model_dir: str, filename: str): progress_bar.update(download.completed_length - progress_bar.n) time.sleep(1) download.update() + + +def download_url_with_agent(url, save_path): + try: + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} + + req = urllib.request.Request(url, headers=headers) + response = urllib.request.urlopen(req) + data = response.read() + + if not os.path.exists(os.path.dirname(save_path)): + os.makedirs(os.path.dirname(save_path)) + + with open(save_path, 'wb') as f: + f.write(data) + + except Exception as e: + print(f"Download error: {url} / {e}", file=sys.stderr) + return False + + print("Installation was successful.") + 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_migration.py b/glob/manager_migration.py new file mode 100644 index 00000000..00db2775 --- /dev/null +++ b/glob/manager_migration.py @@ -0,0 +1,356 @@ +""" +ComfyUI-Manager migration module. +Handles migration from legacy paths to new __manager path structure. +""" + +import os +import sys +import subprocess +import configparser + +# Startup notices for notice board +startup_notices = [] # List of (message, level) tuples + + +def add_startup_notice(message, level='warning'): + """Add a notice to be displayed on Manager notice board. + + Args: + message: HTML-formatted message string + level: 'warning', 'error', 'info' + """ + global startup_notices + startup_notices.append((message, level)) + + +# Cache for API check (computed once per session) +_cached_has_system_user_api = None + + +def has_system_user_api(): + """Check if ComfyUI has the System User Protection API (PR #10966). + + Result is cached for performance. + """ + global _cached_has_system_user_api + if _cached_has_system_user_api is None: + try: + import folder_paths + _cached_has_system_user_api = hasattr(folder_paths, 'get_system_user_directory') + except Exception: + _cached_has_system_user_api = False + return _cached_has_system_user_api + + +def get_manager_path(user_dir): + """Get the appropriate manager files path based on ComfyUI version. + + Returns: + str: manager_files_path + """ + if has_system_user_api(): + return os.path.abspath(os.path.join(user_dir, '__manager')) + else: + return os.path.abspath(os.path.join(user_dir, 'default', 'ComfyUI-Manager')) + + +def run_migration_checks(user_dir, manager_files_path): + """Run all migration and security checks. + + Call this after get_manager_path() to handle: + - Legacy config migration (new ComfyUI) + - Legacy backup notification (every startup) + - Suspicious directory detection (old ComfyUI) + - Outdated ComfyUI warning (old ComfyUI) + """ + if has_system_user_api(): + migrated = migrate_legacy_config(user_dir, manager_files_path) + # Only check for legacy backup if migration didn't just happen + # (migration already shows backup location in its message) + if not migrated: + check_legacy_backup(manager_files_path) + else: + check_suspicious_manager(user_dir) + warn_outdated_comfyui() + + +def check_legacy_backup(manager_files_path): + """Check for legacy backup and notify user to verify and remove it. + + This runs on every startup to remind users about pending legacy backup. + """ + backup_dir = os.path.join(manager_files_path, '.legacy-manager-backup') + if not os.path.exists(backup_dir): + return + + # Terminal output + print("\n" + "-"*70) + print("[ComfyUI-Manager] NOTICE: Legacy backup exists") + print(" - Your old Manager data was backed up to:") + print(f" {backup_dir}") + print(" - Please verify and remove it when no longer needed.") + print("-"*70 + "\n") + + # Notice board output + add_startup_notice( + "Legacy ComfyUI-Manager data backup exists. Please verify and remove when no longer needed. See terminal for details.", + level='info' + ) + + +def check_suspicious_manager(user_dir): + """Check for suspicious __manager directory on old ComfyUI. + + On old ComfyUI without System User API, if __manager exists with low security, + warn the user to verify manually. + + Returns: + bool: True if suspicious setup detected + """ + if has_system_user_api(): + return False # Not suspicious on new ComfyUI + + suspicious_path = os.path.abspath(os.path.join(user_dir, '__manager')) + if not os.path.exists(suspicious_path): + return False + + config_path = os.path.join(suspicious_path, 'config.ini') + if not os.path.exists(config_path): + return False + + config = configparser.ConfigParser() + config.read(config_path) + sec_level = config.get('default', 'security_level', fallback='normal').lower() + + if sec_level in ['weak', 'normal-']: + # Terminal output + print("\n" + "!"*70) + print("[ComfyUI-Manager] ERROR: Suspicious path detected!") + print(f" - '__manager' exists with low security level: '{sec_level}'") + print(" - Please verify manually:") + print(f" {config_path}") + print("!"*70 + "\n") + + # Notice board output + add_startup_notice( + "[Security Alert] Suspicious path detected. See terminal log for details.", + level='error' + ) + return True + + return False + + +def warn_outdated_comfyui(): + """Warn user about outdated ComfyUI without System User API.""" + if has_system_user_api(): + return + + # Terminal output + print("\n" + "!"*70) + print("[ComfyUI-Manager] ERROR: ComfyUI version is outdated!") + print(" - Most operations are blocked for security.") + print(" - ComfyUI update is still allowed.") + print(" - Please update ComfyUI to use Manager normally.") + print("!"*70 + "\n") + + # Notice board output + add_startup_notice( + "[Security Alert] ComfyUI outdated. Installations blocked (update allowed).
" + "Update ComfyUI for normal operation.", + level='error' + ) + + +def migrate_legacy_config(user_dir, manager_files_path): + """Migrate ONLY config.ini to new __manager path if needed. + + IMPORTANT: Only config.ini is migrated. Other files (snapshots, cache, etc.) + are NOT migrated - users must recreate them. + + Scenarios: + 1. Legacy exists, New doesn't exist → Migrate config.ini + 2. Legacy exists, New exists → First update after upgrade + - Run ComfyUI dependency installation + - Rename legacy to .backup + 3. Legacy doesn't exist → No migration needed + + Returns: + bool: True if migration was performed + """ + if not has_system_user_api(): + return False + + legacy_dir = os.path.join(user_dir, 'default', 'ComfyUI-Manager') + legacy_config = os.path.join(legacy_dir, 'config.ini') + new_config = os.path.join(manager_files_path, 'config.ini') + + if not os.path.exists(legacy_dir): + return False # No legacy directory, nothing to migrate + + # IMPORTANT: Check for config.ini existence, not just directory + # (because makedirs() creates __manager before this function is called) + + # Case: Both configs exist (first update after ComfyUI upgrade) + # This means user ran new ComfyUI at least once, creating __manager/config.ini + if os.path.exists(legacy_config) and os.path.exists(new_config): + _handle_first_update_migration(user_dir, legacy_dir, manager_files_path) + return True + + # Case: Legacy config exists but new config doesn't (normal migration) + # This is the first run after ComfyUI upgrade + if os.path.exists(legacy_config) and not os.path.exists(new_config): + pass # Continue with normal migration below + else: + return False + + # Terminal output + print("\n" + "-"*70) + print("[ComfyUI-Manager] NOTICE: Legacy config.ini detected") + print(f" - Old: {legacy_config}") + print(f" - New: {new_config}") + print(" - Migrating config.ini only (other files are NOT migrated).") + print(" - Security level below 'normal' will be raised.") + print("-"*70 + "\n") + + _migrate_config_with_security_check(legacy_config, new_config) + + # Move legacy directory to backup + _move_legacy_to_backup(legacy_dir, manager_files_path) + + return True + + +def _handle_first_update_migration(user_dir, legacy_dir, manager_files_path): + """Handle first ComfyUI update when both legacy and new directories exist. + + This scenario happens when: + - User was on old ComfyUI (using default/ComfyUI-Manager) + - ComfyUI was updated (now has System User API) + - Manager already created __manager on first new run + - But legacy directory still exists + + Actions: + 1. Run ComfyUI dependency installation + 2. Move legacy to __manager/.legacy-manager-backup + """ + # Terminal output + print("\n" + "-"*70) + print("[ComfyUI-Manager] NOTICE: First update after ComfyUI upgrade detected") + print(" - Both legacy and new directories exist.") + print(" - Running ComfyUI dependency installation...") + print("-"*70 + "\n") + + # Run ComfyUI dependency installation + # Path: glob/manager_migration.py → glob → comfyui-manager → custom_nodes → ComfyUI + try: + comfyui_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) + requirements_path = os.path.join(comfyui_path, 'requirements.txt') + if os.path.exists(requirements_path): + subprocess.run([sys.executable, '-m', 'pip', 'install', '-r', requirements_path], + capture_output=True, check=False) + print("[ComfyUI-Manager] ComfyUI dependencies installation completed.") + except Exception as e: + print(f"[ComfyUI-Manager] WARNING: Failed to install ComfyUI dependencies: {e}") + + # Move legacy to backup inside __manager + _move_legacy_to_backup(legacy_dir, manager_files_path) + + +def _move_legacy_to_backup(legacy_dir, manager_files_path): + """Move legacy directory to backup inside __manager. + + Returns: + str: Path to backup directory if successful, None if failed + """ + import shutil + + backup_dir = os.path.join(manager_files_path, '.legacy-manager-backup') + + try: + if os.path.exists(backup_dir): + shutil.rmtree(backup_dir) # Remove old backup if exists + shutil.move(legacy_dir, backup_dir) + + # Terminal output (full paths shown here only) + print("\n" + "-"*70) + print("[ComfyUI-Manager] NOTICE: Legacy settings migrated") + print(f" - Old location: {legacy_dir}") + print(f" - Backed up to: {backup_dir}") + print(" - Please verify and remove the backup when no longer needed.") + print("-"*70 + "\n") + + # Notice board output (no full paths for security) + add_startup_notice( + "Legacy ComfyUI-Manager data migrated. See terminal for details.", + level='info' + ) + return backup_dir + except Exception as e: + print(f"[ComfyUI-Manager] WARNING: Failed to backup legacy directory: {e}") + add_startup_notice( + f"[MIGRATION] Failed to backup legacy directory: {e}", + level='warning' + ) + return None + + +def _migrate_config_with_security_check(legacy_path, new_path): + """Migrate legacy config, raising security level only if below default.""" + config = configparser.ConfigParser() + try: + config.read(legacy_path) + except Exception as e: + print(f"[ComfyUI-Manager] WARNING: Failed to parse config.ini: {e}") + print(" - Creating fresh config with default settings.") + add_startup_notice( + "[MIGRATION] Failed to parse legacy config. Using defaults.", + level='warning' + ) + return # Skip migration, let Manager create fresh config + + # Security level hierarchy: strong > normal > normal- > weak + # Default is 'normal', only raise if below default + if 'default' in config: + current_level = config['default'].get('security_level', 'normal').lower() + below_default_levels = ['weak', 'normal-'] + + if current_level in below_default_levels: + config['default']['security_level'] = 'normal' + + # Terminal output + print("\n" + "="*70) + print("[ComfyUI-Manager] WARNING: Security level adjusted") + print(f" - Previous: '{current_level}' → New: 'normal'") + print(" - Raised to prevent unauthorized remote access.") + print("="*70 + "\n") + + # Notice board output + add_startup_notice( + f"[MIGRATION] Security level raised: '{current_level}' → 'normal'.
" + "To prevent unauthorized remote access.", + level='warning' + ) + else: + print(f" - Security level: '{current_level}' (no change needed)") + + # Ensure directory exists + os.makedirs(os.path.dirname(new_path), exist_ok=True) + + with open(new_path, 'w') as f: + config.write(f) + + +def force_security_level_if_needed(config_dict): + """Force security level to 'strong' if on old ComfyUI. + + Args: + config_dict: Configuration dictionary to modify in-place + + Returns: + bool: True if security level was forced + """ + if not has_system_user_api(): + config_dict['security_level'] = 'strong' + return True + return False diff --git a/glob/manager_server.py b/glob/manager_server.py index 2449c04a..eff7c032 100644 --- a/glob/manager_server.py +++ b/glob/manager_server.py @@ -11,18 +11,51 @@ import threading import re import shutil import git +from datetime import datetime from server import PromptServer import manager_core as core +import manager_util import cm_global +import logging +import asyncio +import queue -print(f"### Loading: ComfyUI-Manager ({core.version_str})") +import manager_downloader +import manager_migration + + +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 + +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 has_per_queue_preview(): + """ + Check if ComfyUI PR #11261 (per-queue live preview override) is merged + + Returns: + bool: True if ComfyUI has per-queue preview feature + """ + try: + import latent_preview + return hasattr(latent_preview, 'set_preview_method') + except ImportError: + return False + + +# Detect ComfyUI per-queue preview override feature (PR #11261) +COMFYUI_HAS_PER_QUEUE_PREVIEW = has_per_queue_preview() -SECURITY_MESSAGE_MIDDLE_OR_BELOW = f"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 = f"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 = f"ERROR: This installation is not allowed in this security_level. Please contact the administrator.\nReference: https://github.com/ltdrdata/ComfyUI-Manager#security-policy" def handle_stream(stream, prefix): stream.reconfigure(encoding=locale.getpreferredencoding(), errors='replace') @@ -42,8 +75,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): @@ -51,11 +111,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 @@ -66,7 +126,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: @@ -74,8 +134,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: @@ -97,10 +156,10 @@ class ManagerFuncsInComfyUI(core.ManagerFuncs): def run_script(self, cmd, cwd='.'): if len(cmd) > 0 and cmd[0].startswith("#"): - print(f"[ComfyUI-Manager] Unexpected behavior: `{cmd}`") + logging.error(f"[ComfyUI-Manager] Unexpected behavior: `{cmd}`") return 0 - process = subprocess.Popen(cmd, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, bufsize=1) + process = subprocess.Popen(cmd, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, bufsize=1, env=core.get_script_env()) stdout_thread = threading.Thread(target=handle_stream, args=(process.stdout, "")) stderr_thread = threading.Thread(target=handle_stream, args=(process.stderr, "[!]")) @@ -118,16 +177,15 @@ core.manager_funcs = ManagerFuncsInComfyUI() sys.path.append('../..') -from manager_downloader import download_url +from manager_downloader import download_url, download_url_with_agent core.comfy_path = os.path.dirname(folder_paths.__file__) core.js_path = os.path.join(core.comfy_path, "web", "extensions") -local_db_model = os.path.join(core.comfyui_manager_path, "model-list.json") -local_db_alter = os.path.join(core.comfyui_manager_path, "alter-list.json") -local_db_custom_node_list = os.path.join(core.comfyui_manager_path, "custom-node-list.json") -local_db_extension_node_mappings = os.path.join(core.comfyui_manager_path, "extension-node-map.json") -components_path = os.path.join(core.comfyui_manager_path, 'components') +local_db_model = os.path.join(manager_util.comfyui_manager_path, "model-list.json") +local_db_alter = os.path.join(manager_util.comfyui_manager_path, "alter-list.json") +local_db_custom_node_list = os.path.join(manager_util.comfyui_manager_path, "custom-node-list.json") +local_db_extension_node_mappings = os.path.join(manager_util.comfyui_manager_path, "extension-node-map.json") def set_preview_method(method): @@ -140,30 +198,36 @@ 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_badge_mode(mode): - core.get_config()['badge_mode'] = mode - - -def set_default_ui_mode(mode): - core.get_config()['default_ui'] = mode +if COMFYUI_HAS_PER_QUEUE_PREVIEW: + logging.info( + "[ComfyUI-Manager] ComfyUI per-queue preview override detected (PR #11261). " + "Manager's preview method feature is disabled. " + "Use ComfyUI's --preview-method CLI option or 'Settings > Execution > Live preview method'." + ) +elif args.preview_method == latent_preview.LatentPreviewMethod.NoPreviews: + set_preview_method(core.get_config()['preview_method']) +else: + logging.warning( + "[ComfyUI-Manager] Since --preview-method is set, " + "ComfyUI-Manager's preview method feature will be ignored." + ) def set_component_policy(mode): 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 + global comfyui_tag is_detached = False try: @@ -179,9 +243,11 @@ def print_comfyui_version(): is_detached = repo.head.is_detached current_branch = repo.active_branch.name + comfyui_tag = core.get_comfyui_tag() + try: - if core.comfy_ui_commit_datetime.date() < core.comfy_ui_required_commit_datetime.date(): - print(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({core.get_comfyui_tag()})[{core.comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n") + 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 @@ -191,46 +257,35 @@ def print_comfyui_version(): try: f(core.comfy_ui_revision) except Exception: - print(f"[ERROR] '{k}' on_revision_detected_handler") + logging.error(f"[ERROR] '{k}' on_revision_detected_handler") traceback.print_exc() del cm_global.variables['cm.on_revision_detected_handler'] else: - print(f"[ComfyUI-Manager] Some features are restricted due to your ComfyUI being outdated.") + logging.warning("[ComfyUI-Manager] Some features are restricted due to your ComfyUI being outdated.") # <-- if current_branch == "master": - version_tag = core.get_comfyui_tag() - if version_tag is None: - print(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'") + if comfyui_tag: + logging.info(f"### ComfyUI Version: {comfyui_tag} | Released on '{core.comfy_ui_commit_datetime.date()}'") else: - print(f"### ComfyUI Version: {core.get_comfyui_tag()} | Released on '{core.comfy_ui_commit_datetime.date()}'") + logging.info(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'") else: - print(f"### ComfyUI Revision: {core.comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'") + if comfyui_tag: + logging.info(f"### ComfyUI Version: {comfyui_tag} on '{current_branch}' | Released on '{core.comfy_ui_commit_datetime.date()}'") + else: + logging.info(f"### ComfyUI Revision: {core.comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'") except: if is_detached: - print(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] *DETACHED | Released on '{core.comfy_ui_commit_datetime.date()}'") + logging.info(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] *DETACHED | Released on '{core.comfy_ui_commit_datetime.date()}'") else: - print("### ComfyUI Revision: UNKNOWN (The currently installed ComfyUI is not a Git repository)") + logging.info("### ComfyUI Revision: UNKNOWN (The currently installed ComfyUI is not a Git repository)") print_comfyui_version() +core.check_invalid_nodes() -async def populate_github_stats(json_obj, json_obj_github): - if 'custom_nodes' in json_obj: - for i, node in enumerate(json_obj['custom_nodes']): - url = node['reference'] - if url in json_obj_github: - json_obj['custom_nodes'][i]['stars'] = json_obj_github[url]['stars'] - json_obj['custom_nodes'][i]['last_update'] = json_obj_github[url]['last_update'] - json_obj['custom_nodes'][i]['trust'] = json_obj_github[url]['author_account_age_days'] > 180 - else: - json_obj['custom_nodes'][i]['stars'] = -1 - json_obj['custom_nodes'][i]['last_update'] = -1 - json_obj['custom_nodes'][i]['trust'] = False - return json_obj - def setup_environment(): git_exe = core.get_config()['git_exe'] @@ -243,7 +298,6 @@ setup_environment() # Expand Server api -import server from aiohttp import web import aiohttp import json @@ -251,16 +305,34 @@ import zipfile import urllib.request -def get_model_dir(data): +def security_403_response(): + """Return appropriate 403 response based on ComfyUI version.""" + if not manager_migration.has_system_user_api(): + return web.json_response({"error": "comfyui_outdated"}, status=403) + return web.json_response({"error": "security_level"}, status=403) + + +def get_model_dir(data, show_log=False): if 'download_model_base' in folder_paths.folder_names_and_paths: models_base = folder_paths.folder_names_and_paths['download_model_base'][0][0] 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 - repo_path = core.lookup_installed_custom_nodes(repo_name) + + # NOTE: The creation of files within the custom node path should be removed in the future. + repo_path = core.lookup_installed_custom_nodes_legacy(repo_name) if repo_path is not None and repo_path[0]: # Returns the retargeted path based on the actually installed repository return os.path.join(os.path.dirname(repo_path[1]), save_path) @@ -269,67 +341,40 @@ def get_model_dir(data): if data['save_path'] != 'default': if '..' in data['save_path'] or data['save_path'].startswith('/'): - print(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.") + if show_log: + logging.info(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.") base_model = os.path.join(models_base, "etc") else: if data['save_path'].startswith("custom_nodes"): base_model = resolve_custom_node(data['save_path']) if base_model is None: - print(f"[ComfyUI-Manager] The target custom node for model download is not installed: {data['save_path']}") + if show_log: + logging.info(f"[ComfyUI-Manager] The target custom node for model download is not installed: {data['save_path']}") return None 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: - print(f"[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: - print(f"[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") return base_model -def get_model_path(data): - base_model = get_model_dir(data) +def get_model_path(data, show_log=False): + base_model = get_model_dir(data, show_log) 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_custom_nodes_installed(json_obj, do_fetch=False, do_update_check=True, do_update=False): +def check_state_of_git_node_pack(node_packs, do_fetch=False, do_update_check=True, do_update=False): if do_fetch: print("Start fetching...", end="") elif do_update: @@ -338,22 +383,23 @@ def check_custom_nodes_installed(json_obj, do_fetch=False, do_update_check=True, print("Start update check...", end="") def process_custom_node(item): - core.check_a_custom_node_installed(item, do_fetch, do_update_check, do_update) + core.check_state_of_git_node_pack_single(item, do_fetch, do_update_check, do_update) with concurrent.futures.ThreadPoolExecutor(4) as executor: - for item in json_obj['custom_nodes']: - executor.submit(process_custom_node, item) + for k, v in node_packs.items(): + if v.get('active_version') in ['unknown', 'nightly']: + executor.submit(process_custom_node, v) if do_fetch: - print(f"\x1b[2K\rFetching done.") + print("\x1b[2K\rFetching done.") elif do_update: - update_exists = any(item['installed'] == 'Update' for item in json_obj['custom_nodes']) + update_exists = any(item.get('updatable', False) for item in node_packs.values()) if update_exists: - print(f"\x1b[2K\rUpdate done.") + print("\x1b[2K\rUpdate done.") else: - print(f"\x1b[2K\rAll extensions are already up-to-date.") + print("\x1b[2K\rAll extensions are already up-to-date.") elif do_update_check: - print(f"\x1b[2K\rUpdate check done.") + print("\x1b[2K\rUpdate check done.") def nickname_filter(json_obj): @@ -384,8 +430,282 @@ def nickname_filter(json_obj): return json_obj -@PromptServer.instance.routes.get("/customnode/getmappings") +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] + try: + title = os.path.basename(url) + except Exception: + title = node_name + 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}") + + 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): + """ + provide unified (node -> node pack) mapping list + """ mode = request.rel_url.query["mode"] nickname_mode = False @@ -394,6 +714,7 @@ async def fetch_customnode_mappings(request): nickname_mode = True json_obj = await core.get_data_by_mode(mode, 'extension-node-map.json') + json_obj = core.map_to_unified_keys(json_obj) if nickname_mode: json_obj = nickname_filter(json_obj) @@ -416,58 +737,79 @@ async def fetch_customnode_mappings(request): return web.json_response(json_obj, content_type='application/json') -@PromptServer.instance.routes.get("/customnode/fetch_updates") +@routes.get("/customnode/fetch_updates") async def fetch_updates(request): try: - json_obj = await core.get_data_by_mode(request.rel_url.query["mode"], 'custom-node-list.json') + if request.rel_url.query["mode"] == "local": + channel = 'local' + else: + channel = core.get_config()['channel_url'] - check_custom_nodes_installed(json_obj, True) + await core.unified_manager.reload(request.rel_url.query["mode"]) + await core.unified_manager.get_custom_nodes(channel, request.rel_url.query["mode"]) - update_exists = any('custom_nodes' in json_obj and 'installed' in node and node['installed'] == 'Update' for node in - json_obj['custom_nodes']) + res = core.unified_manager.fetch_or_pull_git_repo(is_pull=False) - if update_exists: + for x in res['failed']: + logging.error(f"FETCH FAILED: {x}") + + logging.info("\nDone.") + + if len(res['updated']) > 0: return web.Response(status=201) return web.Response(status=200) except: + traceback.print_exc() return web.Response(status=400) -@PromptServer.instance.routes.get("/customnode/update_all") +@routes.get("/manager/queue/update_all") async def update_all(request): if not is_allowed_security_level('middle'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + return security_403_response() - try: - 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') - json_obj = await core.get_data_by_mode(request.rel_url.query["mode"], 'custom-node-list.json') + if request.rel_url.query["mode"] == "local": + channel = 'local' + else: + channel = core.get_config()['channel_url'] - check_custom_nodes_installed(json_obj, do_update=True) + await core.unified_manager.reload(request.rel_url.query["mode"]) + await core.unified_manager.get_custom_nodes(channel, request.rel_url.query["mode"]) - updated = [item['title'] for item in json_obj['custom_nodes'] if item['installed'] == 'Update'] - failed = [item['title'] for item in json_obj['custom_nodes'] if item['installed'] == 'Fail'] + 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 = {'updated': updated, 'failed': failed} + update_item = k, k, v[0] + task_queue.put(("update-main", update_item)) - if len(updated) == 0 and len(failed) == 0: - status = 200 - else: - status = 201 + 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 - return web.json_response(res, status=status, content_type='application/json') - except: - return web.Response(status=400) - finally: - core.clear_pip_cache() + update_item = k, k, 'unknown' + task_queue.put(("update-main", update_item)) + + return web.Response(status=200) def convert_markdown_to_html(input_text): - pattern_a = re.compile(r'\[a/([^]]+)\]\(([^)]+)\)') - pattern_w = re.compile(r'\[w/([^]]+)\]') - pattern_i = re.compile(r'\[i/([^]]+)\]') + pattern_a = re.compile(r'\[a/([^]]+)]\(([^)]+)\)') + pattern_w = re.compile(r'\[w/([^]]+)]') + pattern_i = re.compile(r'\[i/([^]]+)]') pattern_bold = re.compile(r'\*\*([^*]+)\*\*') pattern_white = re.compile(r'%%([^*]+)%%') @@ -499,18 +841,35 @@ def convert_markdown_to_html(input_text): def populate_markdown(x): if 'description' in x: - x['description'] = convert_markdown_to_html(x['description']) + x['description'] = convert_markdown_to_html(manager_util.sanitize_tag(x['description'])) if 'name' in x: - x['name'] = x['name'].replace('<', '<').replace('>', '>') + x['name'] = manager_util.sanitize_tag(x['name']) if 'title' in x: - x['title'] = x['title'].replace('<', '<').replace('>', '>') + x['title'] = manager_util.sanitize_tag(x['title']) -@PromptServer.instance.routes.get("/customnode/getlist") +# freeze imported version +startup_time_installed_node_packs = core.get_installed_node_packs() +@routes.get("/customnode/installed") +async def installed_list(request): + mode = request.query.get('mode', 'default') + + if mode == 'imported': + res = startup_time_installed_node_packs + else: + res = core.get_installed_node_packs() + + return web.json_response(res, content_type='application/json') + + +@routes.get("/customnode/getlist") async def fetch_customnode_list(request): - if "skip_update" in request.rel_url.query and request.rel_url.query["skip_update"] == "true": + """ + provide unified custom node list + """ + if request.rel_url.query.get("skip_update", '').lower() == "true": skip_update = True else: skip_update = False @@ -520,26 +879,17 @@ async def fetch_customnode_list(request): else: channel = core.get_config()['channel_url'] - json_obj = await core.get_data_by_mode(request.rel_url.query["mode"], 'custom-node-list.json') - json_obj_github = await core.get_data_by_mode(request.rel_url.query["mode"], 'github-stats.json', 'default') - json_obj = await populate_github_stats(json_obj, json_obj_github) + 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') - def is_ignored_notice(code): - if code is not None and code.startswith('#NOTICE_'): - try: - notice_version = [int(x) for x in code[8:].split('.')] - return notice_version[0] < core.version[0] or (notice_version[0] == core.version[0] and notice_version[1] <= core.version[1]) - except Exception: - return False - else: - return False + core.populate_github_stats(node_packs, await json_obj_github) + core.populate_favorites(node_packs, await json_obj_extras) - json_obj['custom_nodes'] = [record for record in json_obj['custom_nodes'] if not is_ignored_notice(record.get('author'))] + check_state_of_git_node_pack(node_packs, not skip_update, do_update_check=not skip_update) - check_custom_nodes_installed(json_obj, False, not skip_update) - - for x in json_obj['custom_nodes']: - populate_markdown(x) + for v in node_packs.values(): + populate_markdown(v) if channel != 'local': found = 'custom' @@ -551,73 +901,85 @@ async def fetch_customnode_list(request): channel = found - json_obj['channel'] = channel + result = dict(channel=channel, node_packs=node_packs.to_dict()) - return web.json_response(json_obj, content_type='application/json') + return web.json_response(result, content_type='application/json') -@PromptServer.instance.routes.get("/customnode/alternatives") +@routes.get("/customnode/alternatives") async def fetch_customnode_alternatives(request): alter_json = await core.get_data_by_mode(request.rel_url.query["mode"], 'alter-list.json') + res = {} + for item in alter_json['items']: populate_markdown(item) - - return web.json_response(alter_json, content_type='application/json') + res[item['id']] = item + res = core.map_to_unified_keys(res) -@PromptServer.instance.routes.get("/alternatives/getlist") -async def fetch_alternatives_list(request): - if "skip_update" in request.rel_url.query and request.rel_url.query["skip_update"] == "true": - skip_update = True - else: - skip_update = False - - alter_json = await core.get_data_by_mode(request.rel_url.query["mode"], 'alter-list.json') - custom_node_json = await core.get_data_by_mode(request.rel_url.query["mode"], 'custom-node-list.json') - - fileurl_to_custom_node = {} - - for item in custom_node_json['custom_nodes']: - for fileurl in item['files']: - fileurl_to_custom_node[fileurl] = item - - for item in alter_json['items']: - fileurl = item['id'] - if fileurl in fileurl_to_custom_node: - custom_node = fileurl_to_custom_node[fileurl] - core.check_a_custom_node_installed(custom_node, not skip_update) - - populate_markdown(item) - populate_markdown(custom_node) - item['custom_node'] = custom_node - - return web.json_response(alter_json, content_type='application/json') + return web.json_response(res, content_type='application/json') def check_model_installed(json_obj): - def process_model(item): - model_path = get_model_path(item) - 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) -@PromptServer.instance.routes.get("/externalmodel/getlist") +@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) @@ -630,22 +992,34 @@ async def fetch_externalmodel_list(request): @PromptServer.instance.routes.get("/snapshot/getlist") async def get_snapshot_list(request): - snapshots_directory = os.path.join(core.comfyui_manager_path, 'snapshots') - items = [f[:-5] for f in os.listdir(snapshots_directory) if f.endswith('.json')] + items = [f[:-5] for f in os.listdir(core.manager_snapshot_path) if f.endswith('.json')] items.sort(reverse=True) return web.json_response({'items': items}, content_type='application/json') -@PromptServer.instance.routes.get("/snapshot/remove") +def get_safe_snapshot_path(target): + """ + Safely construct a snapshot file path, preventing path traversal attacks. + """ + if '/' in target or '\\' in target or '..' in target or '\x00' in target: + return None + return os.path.join(core.manager_snapshot_path, f"{target}.json") + + +@routes.get("/snapshot/remove") async def remove_snapshot(request): if not is_allowed_security_level('middle'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) - + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + return security_403_response() + try: target = request.rel_url.query["target"] + path = get_safe_snapshot_path(target) + + if path is None: + logging.error(f"[ComfyUI-Manager] Invalid snapshot target: {target}") + return web.Response(text="Invalid snapshot target", status=400) - path = os.path.join(core.comfyui_manager_path, 'snapshots', f"{target}.json") if os.path.exists(path): os.remove(path) @@ -654,44 +1028,48 @@ async def remove_snapshot(request): return web.Response(status=400) -@PromptServer.instance.routes.get("/snapshot/restore") -async def remove_snapshot(request): +@routes.get("/snapshot/restore") +async def restore_snapshot(request): if not is_allowed_security_level('middle'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) - + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + return security_403_response() + try: target = request.rel_url.query["target"] + path = get_safe_snapshot_path(target) + + if path is None: + logging.error(f"[ComfyUI-Manager] Invalid snapshot target: {target}") + return web.Response(text="Invalid snapshot target", status=400) - path = os.path.join(core.comfyui_manager_path, 'snapshots', f"{target}.json") if os.path.exists(path): - if not os.path.exists(core.startup_script_path): - os.makedirs(core.startup_script_path) + if not os.path.exists(core.manager_startup_script_path): + os.makedirs(core.manager_startup_script_path) - target_path = os.path.join(core.startup_script_path, "restore-snapshot.json") + target_path = os.path.join(core.manager_startup_script_path, "restore-snapshot.json") shutil.copy(path, target_path) - print(f"Snapshot restore scheduled: `{target}`") + logging.info(f"Snapshot restore scheduled: `{target}`") return web.Response(status=200) - print(f"Snapshot file not found: `{path}`") + logging.error(f"Snapshot file not found: `{path}`") return web.Response(status=400) except: return web.Response(status=400) -@PromptServer.instance.routes.get("/snapshot/get_current") +@routes.get("/snapshot/get_current") async def get_current_snapshot_api(request): try: - return web.json_response(core.get_current_snapshot(), content_type='application/json') + return web.json_response(await core.get_current_snapshot(), content_type='application/json') except: return web.Response(status=400) -@PromptServer.instance.routes.get("/snapshot/save") +@routes.get("/snapshot/save") async def save_snapshot(request): try: - core.save_snapshot_with_postfix('snapshot') + await core.save_snapshot_with_postfix('snapshot') return web.Response(status=200) except: return web.Response(status=400) @@ -714,37 +1092,14 @@ def unzip_install(files): f.write(data) with zipfile.ZipFile(temp_filename, 'r') as zip_ref: - zip_ref.extractall(core.custom_nodes_path) + zip_ref.extractall(core.get_default_custom_nodes_path()) os.remove(temp_filename) except Exception as e: - print(f"Install(unzip) error: {url} / {e}", file=sys.stderr) + logging.error(f"Install(unzip) error: {url} / {e}", file=sys.stderr) return False - print("Installation was successful.") - return True - - -def download_url_with_agent(url, save_path): - try: - headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} - - req = urllib.request.Request(url, headers=headers) - response = urllib.request.urlopen(req) - data = response.read() - - if not os.path.exists(os.path.dirname(save_path)): - os.makedirs(os.path.dirname(save_path)) - - with open(save_path, 'wb') as f: - f.write(data) - - except Exception as e: - print(f"Download error: {url} / {e}", file=sys.stderr) - return False - - print("Installation was successful.") + logging.info("Installation was successful.") return True @@ -755,7 +1110,7 @@ def copy_install(files, js_path_name=None): try: filename = os.path.basename(url) if url.endswith(".py"): - download_url(url, core.custom_nodes_path, filename) + download_url(url, core.get_default_custom_nodes_path(), filename) else: path = os.path.join(core.js_path, js_path_name) if js_path_name is not None else core.js_path if not os.path.exists(path): @@ -763,10 +1118,10 @@ def copy_install(files, js_path_name=None): download_url(url, path, filename) except Exception as e: - print(f"Install(copy) error: {url} / {e}", file=sys.stderr) + logging.error(f"Install(copy) error: {url} / {e}", file=sys.stderr) return False - print("Installation was successful.") + logging.info("Installation was successful.") return True @@ -775,7 +1130,7 @@ def copy_uninstall(files, js_path_name='.'): if url.endswith("/"): url = url[:-1] dir_name = os.path.basename(url) - base_path = core.custom_nodes_path if url.endswith('.py') else os.path.join(core.js_path, js_path_name) + base_path = core.get_default_custom_nodes_path() if url.endswith('.py') else os.path.join(core.js_path, js_path_name) file_path = os.path.join(base_path, dir_name) try: @@ -784,10 +1139,10 @@ def copy_uninstall(files, js_path_name='.'): elif os.path.exists(file_path + ".disabled"): os.remove(file_path + ".disabled") except Exception as e: - print(f"Uninstall(copy) error: {url} / {e}", file=sys.stderr) + logging.error(f"Uninstall(copy) error: {url} / {e}", file=sys.stderr) return False - print("Uninstallation was successful.") + logging.info("Uninstallation was successful.") return True @@ -801,7 +1156,7 @@ def copy_set_active(files, is_disable, js_path_name='.'): if url.endswith("/"): url = url[:-1] dir_name = os.path.basename(url) - base_path = core.custom_nodes_path if url.endswith('.py') else os.path.join(core.js_path, js_path_name) + base_path = core.get_default_custom_nodes_path() if url.endswith('.py') else os.path.join(core.js_path, js_path_name) file_path = os.path.join(base_path, dir_name) try: @@ -815,131 +1170,212 @@ def copy_set_active(files, is_disable, js_path_name='.'): os.rename(current_name, new_name) except Exception as e: - print(f"{action_name}(copy) error: {url} / {e}", file=sys.stderr) + logging.error(f"{action_name}(copy) error: {url} / {e}", file=sys.stderr) return False - print(f"{action_name} was successful.") + logging.info(f"{action_name} was successful.") return True -@PromptServer.instance.routes.post("/customnode/install") +@routes.get("/customnode/versions/{node_name}") +async def get_cnr_versions(request): + node_name = request.match_info.get("node_name", None) + versions = core.cnr_utils.all_versions_of_node(node_name) + + if versions is not None: + return web.json_response(versions, content_type='application/json') + + return web.Response(status=400) + + +@routes.get("/customnode/disabled_versions/{node_name}") +async def get_disabled_versions(request): + node_name = request.match_info.get("node_name", None) + versions = [] + if node_name in core.unified_manager.nightly_inactive_nodes: + versions.append(dict(version='nightly')) + + for v in core.unified_manager.cnr_inactive_nodes.get(node_name, {}).keys(): + versions.append(dict(version=v)) + + if versions: + return web.json_response(versions, content_type='application/json') + + return web.Response(status=400) + + +@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.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'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + return web.Response(status=403, text="A security error has occurred. Please check the terminal logs") json_data = await request.json() - risky_level = await get_risky_level(json_data['files'], json_data.get('pip', [])) - if not is_allowed_security_level(risky_level): - print(SECURITY_MESSAGE_GENERAL) - return web.Response(status=404) + # non-nightly cnr is safe + risky_level = None + cnr_id = json_data.get('id') + skip_post_install = json_data.get('skip_post_install') - install_type = json_data['install_type'] + git_url = None - print(f"Install custom node '{json_data['title']}'") + 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' - res = False - - if len(json_data['files']) == 0: - return web.Response(status=400) - - if install_type == "unzip": - res = unzip_install(json_data['files']) - - if install_type == "copy": - if 'js_path' in json_data: - if '.' in json_data['js_path'] or ':' in json_data['js_path'] or json_data['js_path'].startswith('/'): - print(f"[ComfyUI Manager] An abnormal JS path has been transmitted. This could be the result of a security attack.\n{json_data['js_path']}") - return web.Response(status=400) - else: - js_path_name = json_data['js_path'] + if selected_version != 'nightly': + risky_level = 'low' + node_spec_str = f"{cnr_id}@{selected_version}" else: - js_path_name = '.' - res = copy_install(json_data['files'], js_path_name) + 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') - elif install_type == "git-clone": - res = core.gitclone_install(json_data['files']) + # apply security policy if not cnr node (nightly isn't regarded as cnr node) + if risky_level is None: + 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 'pip' in json_data: - for pname in json_data['pip']: - pkg = core.remap_pip_package(pname) - install_cmd = [sys.executable, "-m", "pip", "install", pkg] - core.try_install_script(json_data['files'][0], ".", install_cmd) + 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") - core.clear_pip_cache() + 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 res: - print(f"After restarting ComfyUI, please refresh the browser.") - return web.json_response({}, content_type='application/json') - - return web.Response(status=400) + return web.Response(status=200) -@PromptServer.instance.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'): - print(SECURITY_MESSAGE_GENERAL) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_GENERAL) + return web.Response(status=403, text="A security error has occurred. Please check the terminal logs") json_data = await request.json() - install_type = json_data['install_type'] - - print(f"Install custom node '{json_data['title']}'") - - res = False - - if len(json_data['files']) == 0: - return web.Response(status=400) - - if install_type == "git-clone": - res = core.gitclone_fix(json_data['files']) + node_id = json_data.get('id') + node_ver = json_data['version'] + if node_ver != 'unknown': + node_name = node_id else: - return web.Response(status=400) + # unknown + node_name = os.path.basename(json_data['files'][0]) - if 'pip' in json_data: - if not is_allowed_security_level('high'): - print(SECURITY_MESSAGE_GENERAL) - return web.Response(status=403) + update_item = json_data.get('ui_id'), node_name, json_data['version'] + task_queue.put(("fix", update_item)) - for pname in json_data['pip']: - install_cmd = [sys.executable, "-m", "pip", "install", '-U', pname] - core.try_install_script(json_data['files'][0], ".", install_cmd) - - # HOTFIX: force downgrade to numpy<2 - install_cmd = [sys.executable, "-m", "pip", "install", "numpy<2"] - core.try_install_script(json_data['files'][0], ".", install_cmd) - - if res: - print(f"After restarting ComfyUI, please refresh the browser.") - return web.json_response({}, content_type='application/json') - - return web.Response(status=400) + return web.Response(status=200) -@PromptServer.instance.routes.post("/customnode/install/git_url") +@routes.post("/customnode/install/git_url") async def install_custom_node_git_url(request): if not is_allowed_security_level('high'): - print(SECURITY_MESSAGE_NORMAL_MINUS) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_NORMAL_MINUS) + return security_403_response() url = await request.text() - res = core.gitclone_install([url]) + res = await core.gitclone_install(url) - if res: - print(f"After restarting ComfyUI, please refresh the browser.") + if res.action == 'skip': + logging.info(f"\nAlready installed: '{res.target}'") + return web.Response(status=200) + elif res.result: + logging.info("\nAfter restarting ComfyUI, please refresh the browser.") return web.Response(status=200) + logging.error(res.msg) return web.Response(status=400) -@PromptServer.instance.routes.post("/customnode/install/pip") -async def install_custom_node_git_url(request): +@routes.post("/customnode/install/pip") +async def install_custom_node_pip(request): if not is_allowed_security_level('high'): - print(SECURITY_MESSAGE_NORMAL_MINUS) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_NORMAL_MINUS) + return security_403_response() packages = await request.text() core.pip_install(packages.split(' ')) @@ -947,114 +1383,131 @@ async def install_custom_node_git_url(request): return web.Response(status=200) -@PromptServer.instance.routes.post("/customnode/uninstall") +@routes.post("/manager/queue/uninstall") async def uninstall_custom_node(request): if not is_allowed_security_level('middle'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + return web.Response(status=403, text="A security error has occurred. Please check the terminal logs") json_data = await request.json() - install_type = json_data['install_type'] + node_id = json_data.get('id') + if json_data['version'] != 'unknown': + is_unknown = False + node_name = node_id + else: + # unknown + is_unknown = True + node_name = os.path.basename(json_data['files'][0]) - print(f"Uninstall custom node '{json_data['title']}'") + uninstall_item = json_data.get('ui_id'), node_name, is_unknown + task_queue.put(("uninstall", uninstall_item)) - res = False - - if install_type == "copy": - js_path_name = json_data['js_path'] if 'js_path' in json_data else '.' - res = copy_uninstall(json_data['files'], js_path_name) - - elif install_type == "git-clone": - res = core.gitclone_uninstall(json_data['files']) - - if res: - print(f"After restarting ComfyUI, please refresh the browser.") - return web.json_response({}, content_type='application/json') - - return web.Response(status=400) + return web.Response(status=200) -@PromptServer.instance.routes.post("/customnode/update") +@routes.post("/manager/queue/update") async def update_custom_node(request): if not is_allowed_security_level('middle'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + return web.Response(status=403, text="A security error has occurred. Please check the terminal logs") json_data = await request.json() - install_type = json_data['install_type'] + node_id = json_data.get('id') + if json_data['version'] != 'unknown': + node_name = node_id + else: + # unknown + node_name = os.path.basename(json_data['files'][0]) - print(f"Update custom node '{json_data['title']}'") + update_item = json_data.get('ui_id'), node_name, json_data['version'] + task_queue.put(("update", update_item)) - res = False - - if install_type == "git-clone": - res = core.gitclone_update(json_data['files']) - - core.clear_pip_cache() - - if res: - print(f"After restarting ComfyUI, please refresh the browser.") - return web.json_response({}, content_type='application/json') - - return web.Response(status=400) + return web.Response(status=200) -@PromptServer.instance.routes.get("/comfyui_manager/update_comfyui") +@routes.get("/manager/queue/update_comfyui") async def update_comfyui(request): - print(f"Update ComfyUI") + 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: - repo_path = os.path.dirname(folder_paths.__file__) - res = core.update_path(repo_path) - if res == "fail": - print(f"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) + 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: - print(f"ComfyUI update fail: {e}", file=sys.stderr) + logging.error(f"ComfyUI update fail: {e}", file=sys.stderr) return web.Response(status=400) -@PromptServer.instance.routes.post("/customnode/toggle_active") -async def toggle_active(request): +@routes.get("/comfyui_manager/comfyui_switch_version") +async def comfyui_switch_version(request): + try: + if "ver" in request.rel_url.query: + core.switch_comfyui(request.rel_url.query['ver']) + + return web.Response(status=200) + except Exception as e: + logging.error(f"ComfyUI update fail: {e}", file=sys.stderr) + + return web.Response(status=400) + + +@routes.post("/manager/queue/disable") +async def disable_node(request): json_data = await request.json() - install_type = json_data['install_type'] - is_disabled = json_data['installed'] == "Disabled" + node_id = json_data.get('id') + if json_data['version'] != 'unknown': + is_unknown = False + node_name = node_id + else: + # unknown + is_unknown = True + node_name = os.path.basename(json_data['files'][0]) - print(f"Update custom node '{json_data['title']}'") + update_item = json_data.get('ui_id'), node_name, is_unknown + task_queue.put(("disable", update_item)) - res = False - - if install_type == "git-clone": - res = core.gitclone_set_active(json_data['files'], not is_disabled) - elif install_type == "copy": - res = copy_set_active(json_data['files'], not is_disabled, json_data.get('js_path', None)) - - if res: - return web.json_response({}, content_type='application/json') - - return web.Response(status=400) + return web.Response(status=200) -@PromptServer.instance.routes.post("/model/install") +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 + + json_obj = await core.get_data_by_mode('local', '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("/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'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + 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']: @@ -1063,76 +1516,51 @@ async def install_model(request): break if not is_belongs_to_whitelist: - print(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: - print(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) - 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: - print(f"Model installation error: invalid model type - {json_data['type']}") - - if res: - return web.json_response({}, content_type='application/json') - except Exception as e: - print(f"[ERROR] {e}", file=sys.stderr) - - return web.Response(status=400) + return web.Response(status=200) -@PromptServer.instance.routes.get("/manager/preview_method") +@routes.get("/manager/preview_method") async def preview_method(request): + # Setting change request if "value" in request.rel_url.query: + # Reject setting change if per-queue preview feature is available + if COMFYUI_HAS_PER_QUEUE_PREVIEW: + return web.Response(text="DISABLED", status=403) + + # Process normally if not available set_preview_method(request.rel_url.query['value']) core.write_config() + return web.Response(status=200) + + # Status query request else: + # Return DISABLED if per-queue preview feature is available + if COMFYUI_HAS_PER_QUEUE_PREVIEW: + return web.Response(text="DISABLED", status=200) + + # Return current value if not available return web.Response(text=core.manager_funcs.get_current_preview_method(), status=200) - return web.Response(status=200) - -@PromptServer.instance.routes.get("/manager/badge_mode") -async def badge_mode(request): +@routes.get("/manager/db_mode") +async def db_mode(request): if "value" in request.rel_url.query: - set_badge_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()['badge_mode'], status=200) + return web.Response(text=core.get_config()['db_mode'], status=200) return web.Response(status=200) -@PromptServer.instance.routes.get("/manager/default_ui") -async def default_ui_mode(request): - if "value" in request.rel_url.query: - set_default_ui_mode(request.rel_url.query['value']) - core.write_config() - else: - return web.Response(text=core.get_config()['default_ui'], status=200) - return web.Response(status=200) - - -@PromptServer.instance.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']) @@ -1143,18 +1571,18 @@ async def component_policy(request): return web.Response(status=200) -@PromptServer.instance.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) -@PromptServer.instance.routes.get("/manager/channel_url_list") +@routes.get("/manager/channel_url_list") async def channel_url_list(request): channels = core.get_channel_dict() if "value" in request.rel_url.query: @@ -1191,7 +1619,7 @@ def add_target_blank(html_text): return modified_html -@PromptServer.instance.routes.get("/manager/notice") +@routes.get("/manager/notice") async def get_notice(request): url = "github.com" path = "/ltdrdata/ltdrdata.github.io/wiki/News" @@ -1207,25 +1635,40 @@ 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 = f'

Your ComfyUI isn\'t git repo.

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

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 + # Prepend startup notices from manager_migration + for message, level in reversed(manager_migration.startup_notices): + if level == 'error': + style = 'color:red; background-color:white; font-weight:bold' + elif level == 'warning': + style = 'color:orange; background-color:white; font-weight:bold' + else: + style = 'color:blue; background-color:white' + markdown_content = f'

{message}

' + markdown_content + return web.Response(text=markdown_content, status=200) else: return web.Response(text="Unable to retrieve Notice", status=200) @@ -1233,58 +1676,83 @@ async def get_notice(request): return web.Response(text="Unable to retrieve Notice", status=200) -@PromptServer.instance.routes.get("/manager/reboot") +@routes.get("/manager/startup_alerts") +async def get_startup_alerts(request): + """Return startup alerts for customAlert display on page load. + + Returns JSON array of alerts that should be shown to user immediately. + All startup notices (error, warning, info) are returned. + """ + alerts = [] + + # Return all startup notices for alert display + for message, level in manager_migration.startup_notices: + # Convert HTML BR to newlines for customAlert + text = message.replace('
', '\n').replace('
', '\n') + # Add [ComfyUI-Manager] prefix for customAlert (notice board shows in Manager UI anyway) + text = text.replace('[Security Alert]', '[ComfyUI-Manager] Security Alert:') + text = text.replace('[MIGRATION]', '[ComfyUI-Manager] Migration:') + alerts.append({ + 'message': text, + 'level': level + }) + + return web.json_response(alerts) + + +@routes.get("/manager/reboot") def restart(self): if not is_allowed_security_level('middle'): - print(SECURITY_MESSAGE_MIDDLE_OR_BELOW) - return web.Response(status=403) + logging.error(SECURITY_MESSAGE_MIDDLE_OR_BELOW) + return security_403_response() try: sys.stdout.close_log() - except Exception as e: + except Exception: pass if '__COMFY_CLI_SESSION__' in os.environ: - with open(os.path.join(os.environ['__COMFY_CLI_SESSION__'] + '.reboot'), 'w') as file: + with open(os.path.join(os.environ['__COMFY_CLI_SESSION__'] + '.reboot'), 'w'): pass - print(f"\nRestarting...\n\n") + print("\nRestarting...\n\n") # This printing should not be logging - that will be ugly exit(0) - print(f"\nRestarting... [Legacy Mode]\n\n") + print("\nRestarting... [Legacy Mode]\n\n") # This printing should not be logging - that will be ugly sys_argv = sys.argv.copy() if '--windows-standalone-build' in sys_argv: sys_argv.remove('--windows-standalone-build') - if sys.platform.startswith('win32'): - return os.execv(sys.executable, ['"' + sys.executable + '"', '"' + sys.argv[0] + '"'] + sys.argv[1:]) + 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: - return os.execv(sys.executable, [sys.executable] + sys.argv) + cmds = [sys.executable] + sys_argv + + print(f"Command: {cmds}", flush=True) + + return os.execv(sys.executable, cmds) -def sanitize_filename(input_string): - # ģ•ŒķŒŒė²³, ģˆ«ģž, ė° 밑줄 ģ“ģ™øģ˜ ė¬øģžė„¼ ė°‘ģ¤„ė”œ ėŒ€ģ²“ - result_string = re.sub(r'[^a-zA-Z0-9_]', '_', input_string) - return result_string - - -@PromptServer.instance.routes.post("/manager/component/save") +@routes.post("/manager/component/save") async def save_component(request): try: data = await request.json() name = data['name'] workflow = data['workflow'] - if not os.path.exists(components_path): - os.mkdir(components_path) + if not os.path.exists(core.manager_components_path): + os.mkdir(core.manager_components_path) if 'packname' in workflow and workflow['packname'] != '': - sanitized_name = sanitize_filename(workflow['packname']) + '.pack' + sanitized_name = manager_util.sanitize_filename(workflow['packname']) + '.pack' else: - sanitized_name = sanitize_filename(name) + '.json' + sanitized_name = manager_util.sanitize_filename(name) + '.json' - filepath = os.path.join(components_path, sanitized_name) + filepath = os.path.join(core.manager_components_path, sanitized_name) components = {} if os.path.exists(filepath): with open(filepath) as f: @@ -1299,51 +1767,48 @@ async def save_component(request): return web.Response(status=400) -@PromptServer.instance.routes.post("/manager/component/loads") +@routes.post("/manager/component/loads") async def load_components(request): - try: - json_files = [f for f in os.listdir(components_path) if f.endswith('.json')] - pack_files = [f for f in os.listdir(components_path) if f.endswith('.pack')] + if os.path.exists(core.manager_components_path): + try: + json_files = [f for f in os.listdir(core.manager_components_path) if f.endswith('.json')] + pack_files = [f for f in os.listdir(core.manager_components_path) if f.endswith('.pack')] - components = {} - for json_file in json_files + pack_files: - file_path = os.path.join(components_path, json_file) - with open(file_path, 'r') as file: - try: - # When there is a conflict between the .pack and the .json, the pack takes precedence and overrides. - components.update(json.load(file)) - except json.JSONDecodeError as e: - print(f"[ComfyUI-Manager] Error decoding component file in file {json_file}: {e}") + components = {} + for json_file in json_files + pack_files: + file_path = os.path.join(core.manager_components_path, json_file) + with open(file_path, 'r') as file: + try: + # When there is a conflict between the .pack and the .json, the pack takes precedence and overrides. + components.update(json.load(file)) + except json.JSONDecodeError as e: + logging.error(f"[ComfyUI-Manager] Error decoding component file in file {json_file}: {e}") - return web.json_response(components) - except Exception as e: - print(f"[ComfyUI-Manager] failed to load components\n{e}") - return web.Response(status=400) + return web.json_response(components) + except Exception as e: + logging.error(f"[ComfyUI-Manager] failed to load components\n{e}") + return web.Response(status=400) + else: + return web.json_response({}) -args.enable_cors_header = "*" -if hasattr(PromptServer.instance, "app"): - app = PromptServer.instance.app - cors_middleware = server.create_cors_middleware(args.enable_cors_header) - app.middlewares.append(cors_middleware) - - -def sanitize(data): - return data.replace("<", "<").replace(">", ">") +@routes.get("/manager/version") +async def get_version(request): + return web.Response(text=core.version_str, status=200) async def _confirm_try_install(sender, custom_node_url, msg): json_obj = await core.get_data_by_mode('default', 'custom-node-list.json') - sender = sanitize(sender) - msg = sanitize(msg) + sender = manager_util.sanitize_tag(sender) + msg = manager_util.sanitize_tag(msg) target = core.lookup_customnode_by_url(json_obj, custom_node_url) if target is not None: PromptServer.instance.send_sync("cm-api-try-install-customnode", {"sender": sender, "target": target, "msg": msg}) else: - print(f"[ComfyUI Manager API] Failed to try install - Unknown custom node url '{custom_node_url}'") + logging.error(f"[ComfyUI Manager API] Failed to try install - Unknown custom node url '{custom_node_url}'") def confirm_try_install(sender, custom_node_url, msg): @@ -1352,34 +1817,52 @@ 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 = 'https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/' + filename - cache_uri = str(core.simple_hash(uri)) + '_' + filename - cache_uri = os.path.join(core.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 core.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 core.cache_lock: - with open(cache_uri, "w", encoding='utf-8') as file: - json.dump(json_obj, file, indent=4, sort_keys=True) - print(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.") threading.Thread(target=lambda: asyncio.run(default_cache_update())).start() -if not os.path.exists(core.config_path): +if not os.path.exists(core.manager_config_path): core.get_config() core.write_config() @@ -1388,5 +1871,6 @@ cm_global.register_extension('ComfyUI-Manager', {'version': core.version, 'name': 'ComfyUI Manager', 'nodes': {}, - 'description': 'It provides the ability to manage custom nodes in ComfyUI.', }) + '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 7a7312e1..fd110b7f 100644 --- a/glob/manager_util.py +++ b/glob/manager_util.py @@ -1,5 +1,98 @@ +""" +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 +import threading +import os +from datetime import datetime import subprocess import sys +import re +import logging +import platform +import shlex +from functools import lru_cache + + +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 +bypass_ssl = 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'] + + +@lru_cache(maxsize=2) +def get_pip_cmd(force_uv=False): + """ + Get the base pip command, with automatic fallback to uv if pip is unavailable. + + Args: + force_uv (bool): If True, use uv directly without trying pip + + Returns: + list: Base command for pip operations + """ + embedded = 'python_embeded' in sys.executable + + # Try pip first (unless forcing uv) + if not force_uv: + try: + test_cmd = [sys.executable] + (['-s'] if embedded else []) + ['-m', 'pip', '--version'] + subprocess.check_output(test_cmd, stderr=subprocess.DEVNULL, timeout=5) + return [sys.executable] + (['-s'] if embedded else []) + ['-m', 'pip'] + except Exception: + logging.warning("[ComfyUI-Manager] `python -m pip` not available. Falling back to `uv`.") + + # Try uv (either forced or pip failed) + import shutil + + # Try uv as Python module + try: + test_cmd = [sys.executable] + (['-s'] if embedded else []) + ['-m', 'uv', '--version'] + subprocess.check_output(test_cmd, stderr=subprocess.DEVNULL, timeout=5) + logging.info("[ComfyUI-Manager] Using `uv` as Python module for pip operations.") + return [sys.executable] + (['-s'] if embedded else []) + ['-m', 'uv', 'pip'] + except Exception: + pass + + # Try standalone uv + if shutil.which('uv'): + logging.info("[ComfyUI-Manager] Using standalone `uv` for pip operations.") + return ['uv', 'pip'] + + # Nothing worked + logging.error("[ComfyUI-Manager] Neither `python -m pip` nor `uv` are available. Cannot proceed with package operations.") + raise Exception("Neither `pip` nor `uv` are available for package management") + + +def make_pip_cmd(cmd): + """ + Create a pip command by combining the cached base pip command with the given arguments. + + Args: + cmd (list): List of pip command arguments (e.g., ['install', 'package']) + + Returns: + list: Complete command list ready for subprocess execution + """ + global use_uv + base_cmd = get_pip_cmd(force_uv=use_uv) + return base_cmd + cmd + # DON'T USE StrictVersion - cannot handle pre_release version # try: @@ -66,14 +159,137 @@ class StrictVersion: return not self == other +def simple_hash(input_string): + hash_value = 0 + for char in input_string: + hash_value = (hash_value * 31 + ord(char)) % (2**32) + + return hash_value + + +def is_file_created_within_one_day(file_path): + if not os.path.exists(file_path): + return False + + file_creation_time = os.path.getctime(file_path) + current_time = datetime.now().timestamp() + time_difference = current_time - file_creation_time + + return time_difference <= 86400 + + +async def get_data(uri, silent=False): + if not silent: + print(f"FETCH DATA from: {uri}", end="") + + if uri.startswith("http"): + async with aiohttp.ClientSession(trust_env=True, connector=aiohttp.TCPConnector(verify_ssl=not bypass_ssl)) as session: + headers = { + 'Cache-Control': 'no-cache', + 'Pragma': 'no-cache', + 'Expires': '0' + } + async with session.get(uri, headers=headers) as resp: + json_text = await resp.text() + else: + with cache_lock: + with open(uri, "r", encoding="utf-8") as f: + json_text = f.read() + + 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]") + + return json_obj + + +def get_cache_path(uri): + cache_uri = str(simple_hash(uri)) + '_' + os.path.basename(uri).replace('&', "_").replace('?', "_").replace('=', "_") + 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) + 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 + + +def sanitize_tag(x): + return x.replace('<', '<').replace('>', '>') + + +def extract_package_as_zip(file_path, extract_path): + import zipfile + try: + with zipfile.ZipFile(file_path, "r") as zip_ref: + zip_ref.extractall(extract_path) + extracted_files = zip_ref.namelist() + logging.info(f"Extracted zip file to {extract_path}") + return extracted_files + except zipfile.BadZipFile: + logging.error(f"File '{file_path}' is not a zip or is corrupted.") + return None + + pip_map = None + def get_installed_packages(renew=False): global pip_map if renew or pip_map is None: try: - result = subprocess.check_output([sys.executable, '-m', 'pip', 'list'], universal_newlines=True) + result = subprocess.check_output(make_pip_cmd(['list']), universal_newlines=True) pip_map = {} for line in result.split('\n'): @@ -83,10 +299,11 @@ def get_installed_packages(renew=False): if y[0] == 'Package' or y[0].startswith('-'): continue - pip_map[y[0]] = y[1] - except subprocess.CalledProcessError as e: - print(f"[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.") - return set() + normalized_name = y[0].lower().replace('-', '_') + pip_map[normalized_name] = y[1] + except subprocess.CalledProcessError: + logging.error("[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.") + return {} return pip_map @@ -96,54 +313,98 @@ 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.7.0': ('0.22.0', '2.7.0'), + '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): - self.prev_pip_versions = { **prev_pip_versions } - - def torch_rollback(self): - spec = self.prev_pip_versions['torch'].split('+') - if len(spec) > 0: - platform = spec[1] - else: - cmd = [sys.executable, '-m', 'pip', 'install', '--force', 'torch', 'torchvision', 'torchaudio'] - subprocess.check_output(cmd, universal_newlines=True) - print(cmd) - return - - torch_ver = StrictVersion(spec[0]) - torch_ver = f"{torch_ver.major}.{torch_ver.minor}.{torch_ver.patch}" - torchvision_ver = torch_torchvision_version_map.get(torch_ver) - - if torchvision_ver is None: - cmd = [sys.executable, '-m', 'pip', 'install', '--pre', - 'torch', 'torchvision', 'torchaudio', - '--index-url', f"https://download.pytorch.org/whl/nightly/{platform}"] - print("[manager-core] restore PyTorch to nightly version") - else: - cmd = [sys.executable, '-m', 'pip', 'install', - f'torch=={torch_ver}', f'torchvision=={torchvision_ver}', f"torchaudio=={torch_ver}", - '--index-url', f"https://download.pytorch.org/whl/{platform}"] - print(f"[manager-core] restore PyTorch to {torch_ver}+{platform}") - +def torch_rollback(prev): + spec = prev.split('+') + if len(spec) > 1: + platform = spec[1] + else: + cmd = make_pip_cmd(['install', '--force', 'torch', 'torchvision', 'torchaudio']) subprocess.check_output(cmd, universal_newlines=True) + logging.error(cmd) + return + + torch_ver = StrictVersion(spec[0]) + torch_ver = f"{torch_ver.major}.{torch_ver.minor}.{torch_ver.patch}" + torch_torchvision_torchaudio_ver = torch_torchvision_torchaudio_version_map.get(torch_ver) + + 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: + 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) + + +class PIPFixer: + 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 fix_broken(self): new_pip_versions = get_installed_packages(True) @@ -151,23 +412,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(f"[manager-core] 'comfy' python package is uninstalled.\nWARN: The 'comfy' package is completely unrelated to ComfyUI and should never be installed as it causes conflicts with ComfyUI.") + 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(f"[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() + torch_rollback(self.prev_pip_versions['torch']) except Exception as e: - print(f"[manager-core] Failed to restore PyTorch") - print(e) + logging.error("[ComfyUI-Manager] Failed to restore PyTorch") + logging.error(e) # fix opencv try: @@ -195,20 +458,176 @@ 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}"]) 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(f"[manager-core] Failed to restore opencv") - print(e) + logging.error("[ComfyUI-Manager] Failed to restore opencv") + logging.error(e) - # fix numpy + # fix missing frontend try: - np = new_pip_versions.get('numpy') - if np is not None: - if StrictVersion(np) >= StrictVersion('2'): - subprocess.check_output([sys.executable, '-m', 'pip', 'install', f"numpy<2"], universal_newlines=True) + # 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: - print(f"[manager-core] Failed to restore numpy") - print(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[normalized_name]) + 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(">", ">") + + +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 [] + + +def restore_pip_snapshot(pips, options): + non_url = [] + local_url = [] + non_local_url = [] + + for k, v in pips.items(): + # NOTE: skip torch related packages + if k.startswith("torch==") or k.startswith("torchvision==") or k.startswith("torchaudio==") or k.startswith("nvidia-"): + continue + + if v == "": + non_url.append(k) + else: + if v.startswith('file:'): + local_url.append(v) + else: + non_local_url.append(v) + + + # restore other pips + failed = [] + if '--pip-non-url' in options: + # try all at once + res = 1 + try: + res = subprocess.check_output(make_pip_cmd(['install'] + non_url)) + except Exception: + pass + + # fallback + if res != 0: + for x in non_url: + res = 1 + try: + res = subprocess.check_output(make_pip_cmd(['install', '--no-deps', x])) + except Exception: + pass + + if res != 0: + failed.append(x) + + if '--pip-non-local-url' in options: + for x in non_local_url: + res = 1 + try: + res = subprocess.check_output(make_pip_cmd(['install', '--no-deps', x])) + except Exception: + pass + + if res != 0: + failed.append(x) + + if '--pip-local-url' in options: + for x in local_url: + res = 1 + try: + res = subprocess.check_output(make_pip_cmd(['install', '--no-deps', x])) + except Exception: + pass + + if res != 0: + failed.append(x) + + print(f"Installation failed for pip packages: {failed}") \ No newline at end of file diff --git a/glob/node_package.py b/glob/node_package.py new file mode 100644 index 00000000..d199fa30 --- /dev/null +++ b/glob/node_package.py @@ -0,0 +1,72 @@ +from __future__ import annotations + +from dataclasses import dataclass +import os + +from git_utils import get_commit_hash + + +@dataclass +class InstalledNodePackage: + """Information about an installed node package.""" + + id: str + fullpath: str + disabled: bool + version: str + + @property + def is_unknown(self) -> bool: + return self.version == "unknown" + + @property + def is_nightly(self) -> bool: + return self.version == "nightly" + + @property + def is_from_cnr(self) -> bool: + return not self.is_unknown and not self.is_nightly + + @property + def is_enabled(self) -> bool: + return not self.disabled + + @property + def is_disabled(self) -> bool: + return self.disabled + + def get_commit_hash(self) -> str: + return get_commit_hash(self.fullpath) + + def isValid(self) -> bool: + if self.is_from_cnr: + return os.path.exists(os.path.join(self.fullpath, '.tracking')) + + return True + + @staticmethod + def from_fullpath(fullpath: str, resolve_from_path) -> InstalledNodePackage: + parent_folder_name = os.path.basename(os.path.dirname(fullpath)) + module_name = os.path.basename(fullpath) + + if module_name.endswith(".disabled"): + node_id = module_name[:-9] + disabled = True + elif parent_folder_name == ".disabled": + # Nodes under custom_nodes/.disabled/* are disabled + node_id = module_name + disabled = True + else: + node_id = module_name + disabled = False + + info = resolve_from_path(fullpath) + if info is None: + version = 'unknown' + else: + node_id = info['id'] # robust module guessing + version = info['ver'] + + return InstalledNodePackage( + id=node_id, fullpath=fullpath, disabled=disabled, version=version + ) diff --git a/glob/security_check.py b/glob/security_check.py index ac906633..892e96a2 100644 --- a/glob/security_check.py +++ b/glob/security_check.py @@ -2,6 +2,8 @@ import sys import subprocess import os +import manager_util + def security_check(): print("[START] Security scan") @@ -66,18 +68,23 @@ https://blog.comfy.org/comfyui-statement-on-the-ultralytics-crypto-miner-situati "lolMiner": [os.path.join(comfyui_path, 'lolMiner')] } - installed_pips = subprocess.check_output([sys.executable, '-m', "pip", "freeze"], text=True) + installed_pips = subprocess.check_output(manager_util.make_pip_cmd(["freeze"]), text=True) detected = set() try: - anthropic_info = subprocess.check_output([sys.executable, '-m', "pip", "show", "anthropic"], text=True, stderr=subprocess.DEVNULL) - anthropic_reqs = [x for x in anthropic_info.split('\n') if x.startswith("Requires")][0].split(': ')[1] - if "pycrypto" in anthropic_reqs: - location = [x for x in anthropic_info.split('\n') if x.startswith("Location")][0].split(': ')[1] - for fi in os.listdir(location): - if fi.startswith("anthropic"): - guide["ComfyUI_LLMVISION"] = f"\n0.Remove {os.path.join(location, fi)}" + guide["ComfyUI_LLMVISION"] - detected.add("ComfyUI_LLMVISION") + anthropic_info = subprocess.check_output(manager_util.make_pip_cmd(["show", "anthropic"]), text=True, stderr=subprocess.DEVNULL) + requires_lines = [x for x in anthropic_info.split('\n') if x.startswith("Requires")] + if requires_lines: + anthropic_reqs = requires_lines[0].split(": ", 1)[1] + if "pycrypto" in anthropic_reqs: + location_lines = [x for x in anthropic_info.split('\n') if x.startswith("Location")] + if location_lines: + location = location_lines[0].split(": ", 1)[1] + for fi in os.listdir(location): + if fi.startswith("anthropic"): + guide["ComfyUI_LLMVISION"] = (f"\n0.Remove {os.path.join(location, fi)}" + guide["ComfyUI_LLMVISION"]) + detected.add("ComfyUI_LLMVISION") + except subprocess.CalledProcessError: pass @@ -109,7 +116,7 @@ https://blog.comfy.org/comfyui-statement-on-the-ultralytics-crypto-miner-situati for x in detected: print(f"\n======== TARGET: {x} =========") - print(f"\nTODO:") + print("\nTODO:") print(guide.get(x)) exit(-1) diff --git a/glob/share_3rdparty.py b/glob/share_3rdparty.py index fd5fc914..837176fb 100644 --- a/glob/share_3rdparty.py +++ b/glob/share_3rdparty.py @@ -65,10 +65,10 @@ async def share_option(request): def get_openart_auth(): - if not os.path.exists(os.path.join(core.comfyui_manager_path, ".openart_key")): + if not os.path.exists(os.path.join(core.manager_files_path, ".openart_key")): return None try: - with open(os.path.join(core.comfyui_manager_path, ".openart_key"), "r") as f: + with open(os.path.join(core.manager_files_path, ".openart_key"), "r") as f: openart_key = f.read().strip() return openart_key if openart_key else None except: @@ -76,10 +76,10 @@ def get_openart_auth(): def get_matrix_auth(): - if not os.path.exists(os.path.join(core.comfyui_manager_path, "matrix_auth")): + if not os.path.exists(os.path.join(core.manager_files_path, "matrix_auth")): return None try: - with open(os.path.join(core.comfyui_manager_path, "matrix_auth"), "r") as f: + with open(os.path.join(core.manager_files_path, "matrix_auth"), "r") as f: matrix_auth = f.read() homeserver, username, password = matrix_auth.strip().split("\n") if not homeserver or not username or not password: @@ -94,10 +94,10 @@ def get_matrix_auth(): def get_comfyworkflows_auth(): - if not os.path.exists(os.path.join(core.comfyui_manager_path, "comfyworkflows_sharekey")): + if not os.path.exists(os.path.join(core.manager_files_path, "comfyworkflows_sharekey")): return None try: - with open(os.path.join(core.comfyui_manager_path, "comfyworkflows_sharekey"), "r") as f: + with open(os.path.join(core.manager_files_path, "comfyworkflows_sharekey"), "r") as f: share_key = f.read() if not share_key.strip(): return None @@ -107,10 +107,10 @@ def get_comfyworkflows_auth(): def get_youml_settings(): - if not os.path.exists(os.path.join(core.comfyui_manager_path, ".youml")): + if not os.path.exists(os.path.join(core.manager_files_path, ".youml")): return None try: - with open(os.path.join(core.comfyui_manager_path, ".youml"), "r") as f: + with open(os.path.join(core.manager_files_path, ".youml"), "r") as f: youml_settings = f.read().strip() return youml_settings if youml_settings else None except: @@ -118,7 +118,7 @@ def get_youml_settings(): def set_youml_settings(settings): - with open(os.path.join(core.comfyui_manager_path, ".youml"), "w") as f: + with open(os.path.join(core.manager_files_path, ".youml"), "w") as f: f.write(settings) @@ -135,7 +135,7 @@ async def api_get_openart_auth(request): async def api_set_openart_auth(request): json_data = await request.json() openart_key = json_data['openart_key'] - with open(os.path.join(core.comfyui_manager_path, ".openart_key"), "w") as f: + with open(os.path.join(core.manager_files_path, ".openart_key"), "w") as f: f.write(openart_key) return web.Response(status=200) @@ -178,16 +178,14 @@ async def api_get_comfyworkflows_auth(request): @PromptServer.instance.routes.post("/manager/set_esheep_workflow_and_images") async def set_esheep_workflow_and_images(request): json_data = await request.json() - current_workflow = json_data['workflow'] - images = json_data['images'] - with open(os.path.join(core.comfyui_manager_path, "esheep_share_message.json"), "w", encoding='utf-8') as file: + with open(os.path.join(core.manager_files_path, "esheep_share_message.json"), "w", encoding='utf-8') as file: json.dump(json_data, file, indent=4) return web.Response(status=200) @PromptServer.instance.routes.get("/manager/get_esheep_workflow_and_images") async def get_esheep_workflow_and_images(request): - with open(os.path.join(core.comfyui_manager_path, "esheep_share_message.json"), 'r', encoding='utf-8') as file: + with open(os.path.join(core.manager_files_path, "esheep_share_message.json"), 'r', encoding='utf-8') as file: data = json.load(file) return web.Response(status=200, text=json.dumps(data)) @@ -196,12 +194,12 @@ def set_matrix_auth(json_data): homeserver = json_data['homeserver'] username = json_data['username'] password = json_data['password'] - with open(os.path.join(core.comfyui_manager_path, "matrix_auth"), "w") as f: + with open(os.path.join(core.manager_files_path, "matrix_auth"), "w") as f: f.write("\n".join([homeserver, username, password])) def set_comfyworkflows_auth(comfyworkflows_sharekey): - with open(os.path.join(core.comfyui_manager_path, "comfyworkflows_sharekey"), "w") as f: + with open(os.path.join(core.manager_files_path, "comfyworkflows_sharekey"), "w") as f: f.write(comfyworkflows_sharekey) @@ -319,7 +317,7 @@ async def share_art(request): form.add_field("shareWorkflowTitle", title) form.add_field("shareWorkflowDescription", description) form.add_field("shareWorkflowIsNSFW", str(is_nsfw).lower()) - form.add_field("currentSnapshot", json.dumps(core.get_current_snapshot())) + form.add_field("currentSnapshot", json.dumps(await core.get_current_snapshot())) form.add_field("modelsInfo", json.dumps(models_info)) async with session.post( @@ -337,8 +335,7 @@ async def share_art(request): content_type = assetFileType try: - from matrix_client.api import MatrixHttpApi - from matrix_client.client import MatrixClient + from nio import AsyncClient, LoginResponse, UploadResponse homeserver = 'matrix.org' if matrix_auth: @@ -347,20 +344,35 @@ async def share_art(request): if not homeserver.startswith("https://"): homeserver = "https://" + homeserver - client = MatrixClient(homeserver) - try: - token = client.login(username=matrix_auth['username'], password=matrix_auth['password']) - if not token: - return web.json_response({"error": "Invalid Matrix credentials."}, content_type='application/json', status=400) - except: + client = AsyncClient(homeserver, matrix_auth['username']) + + # Login + login_resp = await client.login(matrix_auth['password']) + if not isinstance(login_resp, LoginResponse) or not login_resp.access_token: + await client.close() return web.json_response({"error": "Invalid Matrix credentials."}, content_type='application/json', status=400) - matrix = MatrixHttpApi(homeserver, token=token) + # Upload asset with open(asset_filepath, 'rb') as f: - mxc_url = matrix.media_upload(f.read(), content_type, filename=filename)['content_uri'] + upload_resp, _maybe_keys = await client.upload(f, content_type=content_type, filename=filename) + asset_data = f.seek(0) or f.read() # get size for info below + if not isinstance(upload_resp, UploadResponse) or not upload_resp.content_uri: + await client.close() + return web.json_response({"error": "Failed to upload asset to Matrix."}, content_type='application/json', status=500) + mxc_url = upload_resp.content_uri - workflow_json_mxc_url = matrix.media_upload(prompt['workflow'], 'application/json', filename='workflow.json')['content_uri'] + # Upload workflow JSON + import io + workflow_json_bytes = json.dumps(prompt['workflow']).encode('utf-8') + workflow_io = io.BytesIO(workflow_json_bytes) + upload_workflow_resp, _maybe_keys = await client.upload(workflow_io, content_type='application/json', filename='workflow.json') + workflow_io.seek(0) + if not isinstance(upload_workflow_resp, UploadResponse) or not upload_workflow_resp.content_uri: + await client.close() + return web.json_response({"error": "Failed to upload workflow to Matrix."}, content_type='application/json', status=500) + workflow_json_mxc_url = upload_workflow_resp.content_uri + # Send text message text_content = "" if title: text_content += f"{title}\n" @@ -368,9 +380,44 @@ async def share_art(request): text_content += f"{description}\n" if credits: text_content += f"\ncredits: {credits}\n" - response = matrix.send_message(comfyui_share_room_id, text_content) - response = matrix.send_content(comfyui_share_room_id, mxc_url, filename, 'm.image') - response = matrix.send_content(comfyui_share_room_id, workflow_json_mxc_url, 'workflow.json', 'm.file') + await client.room_send( + room_id=comfyui_share_room_id, + message_type="m.room.message", + content={"msgtype": "m.text", "body": text_content} + ) + + # Send image + await client.room_send( + room_id=comfyui_share_room_id, + message_type="m.room.message", + content={ + "msgtype": "m.image", + "body": filename, + "url": mxc_url, + "info": { + "mimetype": content_type, + "size": len(asset_data) + } + } + ) + + # Send workflow JSON file + await client.room_send( + room_id=comfyui_share_room_id, + message_type="m.room.message", + content={ + "msgtype": "m.file", + "body": "workflow.json", + "url": workflow_json_mxc_url, + "info": { + "mimetype": "application/json", + "size": len(workflow_json_bytes) + } + } + ) + + await client.close() + except: import traceback traceback.print_exc() diff --git a/js/README.md b/js/README.md new file mode 100644 index 00000000..5ceb21ba --- /dev/null +++ b/js/README.md @@ -0,0 +1,50 @@ +# ComfyUI-Manager: Frontend (js) + +This directory contains the JavaScript frontend implementation for ComfyUI-Manager, providing the user interface components that interact with the backend API. + +## Core Components + +- **comfyui-manager.js**: Main entry point that initializes the manager UI and integrates with ComfyUI. +- **custom-nodes-manager.js**: Implements the UI for browsing, installing, and managing custom nodes. +- **model-manager.js**: Handles the model management interface for downloading and organizing AI models. +- **components-manager.js**: Manages reusable workflow components system. +- **snapshot.js**: Implements the snapshot system for backing up and restoring installations. + +## Sharing Components + +- **comfyui-share-common.js**: Base functionality for workflow sharing features. +- **comfyui-share-copus.js**: Integration with the ComfyUI Copus sharing platform. +- **comfyui-share-openart.js**: Integration with the OpenArt sharing platform. +- **comfyui-share-youml.js**: Integration with the YouML sharing platform. + +## Utility Components + +- **cm-api.js**: Client-side API wrapper for communication with the backend. +- **common.js**: Shared utilities and helper functions used across the frontend. +- **node_fixer.js**: Utilities for fixing disconnected links and repairing malformed nodes by recreating them while preserving connections. +- **popover-helper.js**: UI component for popup tooltips and contextual information. +- **turbogrid.esm.js**: Grid component library - https://github.com/cenfun/turbogrid +- **workflow-metadata.js**: Handles workflow metadata parsing, validation and cross-repository compatibility including versioning, dependencies tracking, and resource management. + +## Architecture + +The frontend follows a modular component-based architecture: + +1. **Integration Layer**: Connects with ComfyUI's existing UI system +2. **Manager Components**: Individual functional UI components (node manager, model manager, etc.) +3. **Sharing Components**: Platform-specific sharing implementations +4. **Utility Layer**: Reusable UI components and helpers + +## Implementation Details + +- The frontend integrates directly with ComfyUI's UI system through `app.js` +- Dialog-based UI for most manager functions to avoid cluttering the main interface +- Asynchronous API calls to handle backend operations without blocking the UI + +## Styling + +CSS files are included for specific components: +- **custom-nodes-manager.css**: Styling for the node management UI +- **model-manager.css**: Styling for the model management UI + +This frontend implementation provides a comprehensive yet user-friendly interface for managing the ComfyUI ecosystem. diff --git a/js/cm-api.js b/js/cm-api.js index 95a13cfb..c4d6da03 100644 --- a/js/cm-api.js +++ b/js/cm-api.js @@ -1,6 +1,6 @@ import { api } from "../../scripts/api.js"; import { app } from "../../scripts/app.js"; -import { sleep } from "./common.js"; +import { sleep, customConfirm, customAlert, handle403Response, show_message } from "./common.js"; async function tryInstallCustomNode(event) { let msg = '-= [ComfyUI Manager] extension installation request =-\n\n'; @@ -19,11 +19,10 @@ async function tryInstallCustomNode(event) { msg += `\n\nRequest message:\n${event.detail.msg}`; if(event.detail.target.installed == 'True') { - alert(msg); + customAlert(msg); return; } - - let res = confirm(msg); + const res = await customConfirm(msg); if(res) { if(event.detail.target.installed == 'Disabled') { const response = await api.fetchApi(`/customnode/toggle_active`, { @@ -43,14 +42,19 @@ async function tryInstallCustomNode(event) { }); if(response.status == 403) { - show_message('This action is not allowed with this security level configuration.'); + await handle403Response(response); + return false; + } + else if(response.status == 400) { + let msg = await res.text(); + show_message(msg); return false; } } let response = await api.fetchApi("/manager/reboot"); if(response.status == 403) { - show_message('This action is not allowed with this security level configuration.'); + await handle403Response(response); return false; } diff --git a/js/comfyui-gui-builder.js b/js/comfyui-gui-builder.js new file mode 100644 index 00000000..e6de81c6 --- /dev/null +++ b/js/comfyui-gui-builder.js @@ -0,0 +1,227 @@ +import { $el } from "../../scripts/ui.js"; + +function normalizeContent(content) { + const tmp = document.createElement('div'); + if (typeof content === 'string') { + tmp.innerHTML = content; + return Array.from(tmp.childNodes); + } + if (content instanceof Node) { + return content; + } + return content; +} + +export function createSettingsCombo(label, content) { + const settingItem = $el("div.setting-item", {}, [ + $el("div.flex.flex-row.items-center.gap-2",[ + $el("div.form-label.flex.grow.items-center", [ + $el("span.text-muted", { textContent: label },) + ]), + $el("div.form-input.flex.justify-end", + [content] + ) + ] + ) + ]); + return settingItem; +} + +export function buildGuiFrame(dialogId, title, iconClass, content, owner) { + const dialog_mask = $el("div.p-dialog-mask.p-overlay-mask.p-overlay-mask-enter", { + parent: document.body, + style: { + position: "fixed", + height: "100%", + width: "100%", + left: "0px", + top: "0px", + display: "flex", + justifyContent: "center", + alignItems: "center", + pointerEvents: "auto", + zIndex: "1000" + }, + onclick: (e) => { + if (e.target === dialog_mask) { + owner.close(); + } + } + // data-pc-section="mask" + }); + + const header_actions = $el("div.p-dialog-header-actions", { + // [TODO] + // data-pc-section="headeractions" + } + ); + + const close_button = $el("button.p-button.p-component.p-button-icon-only.p-button-secondary.p-button-rounded.p-button-text.p-dialog-close-button", { + parent: header_actions, + type: "button", + ariaLabel: "Close", + onclick: () => owner.close(), + // "data-pc-name": "pcclosebutton", + // "data-p-disabled": "false", + // "data-p-severity": "secondary", + // "data-pc-group-section": "headericon", + // "data-pc-extend": "button", + // "data-pc-section": "root", + // [FIXME] Not sure how to do most of the SVG using $el + innerHTML: ' ' + } + ); + + const dialog_header = $el("div.p-dialog-header", + [ + $el("div", [ + $el("div", + { + id: "frame-title-container", + }, + [ + $el("h2.px-4", [ + $el(iconClass, { + style: { + "font-size": "1.25rem", + "margin-right": ".5rem" + } + }), + $el("span", { textContent: title }) + ]) + ] + ) + ]), + header_actions + ] + ); + + const contentFrame = $el("div.p-dialog-content", {}, normalizeContent(content)); + const manager_dialog = $el("div.p-dialog.p-component.global-dialog", { + id: dialogId, + parent: dialog_mask, + style: { + 'display': 'flex', + 'flex-direction': 'column', + 'pointer-events': 'auto', + 'margin': '0px', + }, + role: 'dialog', + ariaModal: 'true', + // [TODO] + // ariaLabbelledby: 'cm-title', + // maximized: 'false', + // data-pc-name: 'dialog', + // data-pc-section: 'root', + // data-pd-focustrap: 'true' + }, + [ dialog_header, contentFrame ] + ); + + const hidden_accessible = $el("span.p-hidden-accessible.p-hidden-focusable", { + parent: manager_dialog, + tabindex: "0", + role: "presentation", + ariaHidden: "true", + "data-p-hidden-accessible": "true", + "data-p-hidden-focusable": "true", + "data-pc-section": "firstfocusableelement" + }); + + return dialog_mask; +} + +export function buildGuiFrameCustomHeader(dialogId, customHeader, content, owner) { + const dialog_mask = $el("div.p-dialog-mask.p-overlay-mask.p-overlay-mask-enter", { + parent: document.body, + style: { + position: "fixed", + height: "100%", + width: "100%", + left: "0px", + top: "0px", + display: "flex", + justifyContent: "center", + alignItems: "center", + pointerEvents: "auto", + zIndex: "1000" + }, + onclick: (e) => { + if (e.target === dialog_mask) { + owner.close(); + } + } + // data-pc-section="mask" + }); + + const header_actions = $el("div.p-dialog-header-actions", { + // [TODO] + // data-pc-section="headeractions" + } + ); + + const close_button = $el("button.p-button.p-component.p-button-icon-only.p-button-secondary.p-button-rounded.p-button-text.p-dialog-close-button", { + parent: header_actions, + type: "button", + ariaLabel: "Close", + onclick: () => owner.close(), + // "data-pc-name": "pcclosebutton", + // "data-p-disabled": "false", + // "data-p-severity": "secondary", + // "data-pc-group-section": "headericon", + // "data-pc-extend": "button", + // "data-pc-section": "root", + // [FIXME] Not sure how to do most of the SVG using $el + innerHTML: ' ' + } + ); + + const _customHeader = normalizeContent(customHeader); + const dialog_header = $el("div.p-dialog-header", + [ + $el("div", [ + $el("div", + { + id: "frame-title-container", + }, + Array.isArray(_customHeader) ? _customHeader : [_customHeader] + ) + ]), + header_actions + ] + ); + + const contentFrame = $el("div.p-dialog-content", {}, normalizeContent(content)); + const manager_dialog = $el("div.p-dialog.p-component.global-dialog", { + id: dialogId, + parent: dialog_mask, + style: { + 'display': 'flex', + 'flex-direction': 'column', + 'pointer-events': 'auto', + 'margin': '0px', + }, + role: 'dialog', + ariaModal: 'true', + // [TODO] + // ariaLabbelledby: 'cm-title', + // maximized: 'false', + // data-pc-name: 'dialog', + // data-pc-section: 'root', + // data-pd-focustrap: 'true' + }, + [ dialog_header, contentFrame ] + ); + + const hidden_accessible = $el("span.p-hidden-accessible.p-hidden-focusable", { + parent: manager_dialog, + tabindex: "0", + role: "presentation", + ariaHidden: "true", + "data-p-hidden-accessible": "true", + "data-p-hidden-focusable": "true", + "data-pc-section": "firstfocusableelement" + }); + + return dialog_mask; +} \ No newline at end of file diff --git a/js/comfyui-manager.js b/js/comfyui-manager.js index 8d2b12bf..bcf7e9e5 100644 --- a/js/comfyui-manager.js +++ b/js/comfyui-manager.js @@ -11,12 +11,18 @@ import { showYouMLShareDialog } from "./comfyui-share-common.js"; import { OpenArtShareDialog } from "./comfyui-share-openart.js"; -import { free_models, install_pip, install_via_git_url, manager_instance, rebootAPI, setManagerInstance, show_message } from "./common.js"; +import { + free_models, install_pip, install_via_git_url, manager_instance, + rebootAPI, setManagerInstance, show_message, customAlert, customPrompt, + infoToast, showTerminal, setNeedRestart, handle403Response +} 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"; +import { buildGuiFrame, createSettingsCombo } from "./comfyui-gui-builder.js"; + +let manager_version = await getVersion(); var docStyle = document.createElement('style'); docStyle.innerHTML = ` @@ -39,17 +45,21 @@ docStyle.innerHTML = ` #cm-manager-dialog { width: 1000px; - height: 520px; + height: auto; box-sizing: content-box; - z-index: 10000; + z-index: 1000; overflow-y: auto; } +#cm-manager-dialog br { + margin-bottom: 1em; +} + .cb-widget { width: 400px; height: 25px; box-sizing: border-box; - z-index: 10000; + z-index: 1000; margin-top: 10px; margin-bottom: 5px; } @@ -75,6 +85,7 @@ docStyle.innerHTML = ` } .cm-menu-container { + padding : calc(var(--spacing)*2); column-gap: 20px; display: flex; flex-wrap: wrap; @@ -101,24 +112,6 @@ docStyle.innerHTML = ` vertical-align: middle; } -#cm-channel-badge { - color: white; - background-color: #AA0000; - width: 220px; - height: 23px; - font-size: 13px; - border-radius: 5px; - left: 5px; - top: 5px; - align-content: center; - justify-content: center; - text-align: center; - font-weight: bold; - float: left; - vertical-align: middle; - position: relative; -} - #custom-nodes-grid a { color: #5555FF; font-weight: bold; @@ -153,8 +146,8 @@ docStyle.innerHTML = ` } .cm-notice-board { - width: 290px; - height: 270px; + width: auto; + height: 280px; overflow: auto; color: var(--input-text); border: 1px solid var(--descrip-text); @@ -239,64 +232,62 @@ function is_legacy_front() { document.head.appendChild(docStyle); var update_comfyui_button = null; -var fetch_updates_button = null; +var switch_comfyui_button = null; var update_all_button = null; -var badge_mode = "none"; +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 = ` #workflowgallery-button { - width: 310px; - height: 27px; + height: 50px; padding: 0px !important; - position: relative; - overflow: hidden; - font-size: 17px !important; } #cm-nodeinfo-button { - width: 310px; - height: 27px; - padding: 0px !important; - position: relative; - overflow: hidden; - font-size: 17px !important; + } #cm-manual-button { - width: 310px; - height: 27px; - position: relative; - overflow: hidden; + } .cm-button { - width: 310px; - height: 30px; + width: auto; position: relative; overflow: hidden; - font-size: 17px !important; + background-color: var(--comfy-menu-secondary-bg); + border-color: var(--border-color); + color: var(--input-text); +} + +.cm-button:hover { + filter: brightness(125%); } .cm-button-red { - width: 310px; - height: 30px; - position: relative; - overflow: hidden; - font-size: 17px !important; background-color: #500000 !important; + border-color: #88181b !important; color: white !important; } +.cm-button-red:hover { + background-color: #88181b !important; +} + +.cm-button-orange { + font-weight: bold; + background-color: orange !important; + color: black !important; +} + .cm-experimental-button { - width: 290px; - height: 30px; - position: relative; - overflow: hidden; - font-size: 17px !important; + width: 100%; } .cm-experimental { - width: 310px; border: 1px solid #555; border-radius: 5px; padding: 10px; @@ -323,8 +314,14 @@ const style = ` .cm-menu-combo { cursor: pointer; - width: 310px; - box-sizing: border-box; + padding: 0.5em 0.5em; + border: 1px solid var(--border-color); + border-radius: 6px; + background: var(--comfy-menu-secondary-bg); +} + +.cm-menu-combo:hover { + filter: brightness(125%); } .cm-small-button { @@ -411,14 +408,6 @@ const style = ` } `; - - -async function init_badge_mode() { - api.fetchApi('/manager/badge_mode') - .then(response => response.text()) - .then(data => { badge_mode = data; }) -} - async function init_share_option() { api.fetchApi('/manager/share_option') .then(response => response.text()) @@ -435,280 +424,367 @@ async function init_notice(notice) { }) } -await init_badge_mode(); 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 = ""; } -function drawBadge(node, orig, restArgs) { - let ctx = restArgs[0]; - const r = orig?.apply?.(node, restArgs); - - if (!node.flags.collapsed && badge_mode != 'none' && node.constructor.title_mode != LiteGraph.NO_TITLE) { - let text = ""; - if (badge_mode.startsWith('id_nick')) - text = `#${node.id} `; - - let nick = node.getNickname(); - if (nick) { - if (nick == 'ComfyUI') { - if(badge_mode.endsWith('hide')) { - nick = ""; - } - else { - nick = "🦊" - } - } - - if (nick.length > 25) { - text += nick.substring(0, 23) + ".."; - } - else { - text += nick; - } - } - - if (text != "") { - let fgColor = "white"; - let bgColor = "#0F1F0F"; - let visible = true; - - ctx.save(); - ctx.font = "12px sans-serif"; - const sz = ctx.measureText(text); - ctx.fillStyle = bgColor; - ctx.beginPath(); - ctx.roundRect(node.size[0] - sz.width - 12, -LiteGraph.NODE_TITLE_HEIGHT - 20, sz.width + 12, 20, 5); - ctx.fill(); - - ctx.fillStyle = fgColor; - ctx.fillText(text, node.size[0] - sz.width - 6, -LiteGraph.NODE_TITLE_HEIGHT - 6); - ctx.restore(); - - if (node.has_errors) { - ctx.save(); - ctx.font = "bold 14px sans-serif"; - const sz2 = ctx.measureText(node.type); - ctx.fillStyle = 'white'; - ctx.fillText(node.type, node.size[0] / 2 - sz2.width / 2, node.size[1] / 2); - ctx.restore(); - } - } - } - return r; -} - - 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'); } -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"; +function showVersionSelectorDialog(versions, current, onSelect) { + const dialog = new ComfyDialog(); + dialog.element.style.zIndex = 1100; + dialog.element.style.width = "300px"; + dialog.element.style.padding = "0"; + dialog.element.style.backgroundColor = "#2a2a2a"; + dialog.element.style.border = "1px solid #3a3a3a"; + dialog.element.style.borderRadius = "8px"; + dialog.element.style.boxSizing = "border-box"; + dialog.element.style.overflow = "hidden"; - try { - var mode = manager_instance.datasrc_combo.value; + const contentStyle = { + width: "300px", + display: "flex", + flexDirection: "column", + alignItems: "center", + padding: "20px", + boxSizing: "border-box", + gap: "15px" + }; - const response = await api.fetchApi(`/customnode/fetch_updates?mode=${mode}`); + let selectedVersion = versions[0]; - if (response.status != 200 && response.status != 201) { - show_message('Failed to fetch updates.'); - return false; - } + const versionList = $el("select", { + multiple: true, + size: Math.min(10, versions.length), + style: { + width: "260px", + height: "auto", + backgroundColor: "#383838", + color: "#ffffff", + border: "1px solid #4a4a4a", + borderRadius: "4px", + padding: "5px", + boxSizing: "border-box" + } + }, + versions.map((v, index) => $el("option", { + value: v, + textContent: v, + selected: v === current + })) + ); - if (response.status == 201) { - show_message("There is an updated extension available.

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

"); + versionList.addEventListener('change', (e) => { + selectedVersion = e.target.value; + Array.from(e.target.options).forEach(opt => { + opt.selected = opt.value === selectedVersion; + }); + }); - const button = document.getElementById('cm-install-customnodes-button'); - button.addEventListener("click", - async function() { - app.ui.dialog.close(); - - if(!CustomNodesManager.instance) { - CustomNodesManager.instance = new CustomNodesManager(app, self); - } - await CustomNodesManager.instance.show(CustomNodesManager.ShowMode.UPDATE); + const content = $el("div", { + style: contentStyle + }, [ + $el("h3", { + textContent: "Select Version", + style: { + color: "#ffffff", + backgroundColor: "#1a1a1a", + padding: "10px 15px", + margin: "0 0 10px 0", + width: "260px", + textAlign: "center", + borderRadius: "4px", + boxSizing: "border-box", + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis" } - ); + }), + versionList, + $el("div", { + style: { + display: "flex", + justifyContent: "space-between", + width: "260px", + gap: "10px" + } + }, [ + $el("button", { + textContent: "Cancel", + onclick: () => dialog.close(), + style: { + flex: "1", + padding: "8px", + backgroundColor: "#4a4a4a", + color: "#ffffff", + border: "none", + borderRadius: "4px", + cursor: "pointer", + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis" + } + }), + $el("button", { + textContent: "Select", + onclick: () => { + if (selectedVersion) { + onSelect(selectedVersion); + dialog.close(); + } else { + customAlert("Please select a version."); + } + }, + style: { + flex: "1", + padding: "8px", + backgroundColor: "#4CAF50", + color: "#ffffff", + border: "none", + borderRadius: "4px", + cursor: "pointer", + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis" + } + }), + ]) + ]); - update_check_checkbox.checked = false; - } - else { - show_message('All extensions are already up-to-date with the latest versions.'); + dialog.show(content); +} + +async function switchComfyUI() { + switch_comfyui_button.disabled = true; + switch_comfyui_button.style.backgroundColor = "gray"; + + let res = await api.fetchApi(`/comfyui_manager/comfyui_versions`, { cache: "no-store" }); + + switch_comfyui_button.disabled = false; + switch_comfyui_button.style.backgroundColor = ""; + + if(res.status == 200) { + let obj = await res.json(); + + let versions = []; + let default_version; + + for(let v of obj.versions) { + default_version = v; + versions.push(v); } - return true; + 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'); + } + + 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.'); + } + }); } - 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 = ""; + else { + customAlert('Failed to fetch ComfyUI versions.'); } } -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"; +async function onQueueStatus(event) { + const isElectron = 'electronAPI' in window; - try { - var mode = manager_instance.datasrc_combo.value; + 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(); - 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}`); - - if (response2.status == 403) { - show_message('This action is not allowed with this security level configuration.'); - return false; + if(!is_updating) { + return; } - if (response1.status == 400 || response2.status == 400) { - show_message('Failed to update ComfyUI or several extensions.

See terminal log.
'); - return false; + 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); } - if(response1.status == 201 || response2.status == 201) { - const update_info = await response2.json(); - - let failed_list = ""; - if(update_info.failed.length > 0) { - failed_list = "
FAILED: "+update_info.failed.join(", "); + let msg = ""; + + if(success_list.length == 0 && comfyui_state.startsWith('skip')) { + if(failed_list.length == 0) { + msg += "You are already up to date."; } - - 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.'); + 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}
  • `; + } + } + msg += "
"; + } + + setNeedRestart(true); + } + + 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; + show_message(msg); + + const rebootButton = document.getElementById('cm-reboot-button5'); + rebootButton?.addEventListener("click", + async function() { + if(await rebootAPI()) { + manager_instance.close(); + } + }); } - catch (exception) { - show_message(`Failed to update ComfyUI or several extensions / ${exception}`); - return false; +} + +api.addEventListener("cm-queue-status", onQueueStatus); + + +async function updateAll(update_comfyui) { + update_all_button.innerText = "Updating..."; + + set_inprogress_mode(); + + var mode = manager_instance.datasrc_combo.value; + + showTerminal(); + + if(update_comfyui) { + update_all_button.innerText = "Updating ComfyUI..."; + await api.fetchApi('/manager/queue/update_comfyui'); } - finally { - update_all_button.disabled = false; - update_all_button.innerText = prev_text; - update_all_button.style.backgroundColor = ""; + + const response = await api.fetchApi(`/manager/queue/update_all?mode=${mode}`); + + if (response.status == 403) { + await handle403Response(response); + reset_action_buttons(); + } + else if (response.status == 401) { + customAlert('Another task is already in progress. Please stop the ongoing task first.'); + reset_action_buttons(); + } + else if(response.status == 200) { + is_updating = true; + await api.fetchApi('/manager/queue/start'); } } @@ -732,38 +808,73 @@ 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", { + $el("button.p-button.p-component.cm-button", { type: "button", textContent: "Update ComfyUI", + style: { + display: isElectron ? 'none' : 'block' + }, onclick: () => updateComfyUI() }); - fetch_updates_button = - $el("button.cm-button", { + switch_comfyui_button = + $el("button.p-button.p-component.cm-button", { type: "button", - textContent: "Fetch Updates", + textContent: "Switch ComfyUI", + style: { + display: isElectron ? 'none' : 'block' + }, onclick: - () => fetchUpdates(this.update_check_checkbox) + () => switchComfyUI() }); - update_all_button = - $el("button.cm-button", { + restart_stop_button = + $el("button.p-button.p-component.cm-button-red", { type: "button", - textContent: "Update All", - onclick: - () => updateAll(this.update_check_checkbox, self) + textContent: "Restart", + onclick: () => restartOrStop() }); + if(isElectron) { + update_all_button = + $el("button.p-button.p-component.cm-button", { + type: "button", + textContent: "Update All Custom Nodes", + onclick: + () => updateAll(false) + }); + } + else { + update_all_button = + $el("button.p-button.p-component.cm-button", { + type: "button", + textContent: "Update All", + onclick: + () => updateAll(true) + }); + } + const res = [ - $el("button.cm-button", { + $el("button.p-button.p-component.cm-button", { type: "button", textContent: "Custom Nodes Manager", onclick: @@ -775,7 +886,7 @@ class ManagerMenuDialog extends ComfyDialog { } }), - $el("button.cm-button", { + $el("button.p-button.p-component.cm-button", { type: "button", textContent: "Install Missing Custom Nodes", onclick: @@ -787,8 +898,20 @@ class ManagerMenuDialog extends ComfyDialog { } }), + $el("button.p-button.p-component.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("button.cm-button", { + $el("div", {}, []), + $el("button.p-button.p-component.cm-button", { type: "button", textContent: "Model Manager", onclick: @@ -800,11 +923,11 @@ class ManagerMenuDialog extends ComfyDialog { } }), - $el("button.cm-button", { + $el("button.p-button.p-component.cm-button", { type: "button", textContent: "Install via Git URL", - onclick: () => { - var url = prompt("Please enter the URL of the Git repository to install", ""); + onclick: async () => { + var url = await customPrompt("Please enter the URL of the Git repository to install", ""); if (url !== null) { install_via_git_url(url, self); @@ -812,96 +935,145 @@ class ManagerMenuDialog extends ComfyDialog { } }), - $el("br", {}, []), + $el("div", {}, []), update_all_button, update_comfyui_button, - fetch_updates_button, + switch_comfyui_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() - }), + $el("div", {}, []), + restart_stop_button, ]; return res; } createControlsLeft() { + const isElectron = 'electronAPI' in window; + let self = this; - 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; - // db mode + this.datasrc_combo = document.createElement("select"); this.datasrc_combo.setAttribute("title", "Configure where to retrieve node/model information. If set to 'local,' the channel is ignored, and if set to 'channel (remote),' it fetches the latest information each time the list is opened."); - this.datasrc_combo.className = "cm-menu-combo"; - this.datasrc_combo.appendChild($el('option', { value: 'cache', text: 'DB: Channel (1day cache)' }, [])); - this.datasrc_combo.appendChild($el('option', { value: 'local', text: 'DB: Local' }, [])); - this.datasrc_combo.appendChild($el('option', { value: 'url', text: 'DB: Channel (remote)' }, [])); + this.datasrc_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled "; + this.datasrc_combo.appendChild($el('option', { value: 'cache', text: 'Channel (1day cache)' }, [])); + this.datasrc_combo.appendChild($el('option', { value: 'local', text: 'Local' }, [])); + this.datasrc_combo.appendChild($el('option', { value: 'remote', text: '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}`); + }); + + const dbRetrievalSetttingItem = createSettingsCombo("DB", this.datasrc_combo); // 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."); - preview_combo.className = "cm-menu-combo"; - preview_combo.appendChild($el('option', { value: 'auto', text: 'Preview method: Auto' }, [])); - preview_combo.appendChild($el('option', { value: 'taesd', text: 'Preview method: TAESD (slow)' }, [])); - preview_combo.appendChild($el('option', { value: 'latent2rgb', text: 'Preview method: Latent2RGB (fast)' }, [])); - preview_combo.appendChild($el('option', { value: 'none', text: 'Preview method: None (very fast)' }, [])); + preview_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled"; + // Loading state to prevent flash of enabled state + preview_combo.appendChild($el('option', { value: '', text: 'Loading...', disabled: true }, [])); + preview_combo.appendChild($el('option', { value: 'auto', text: 'Auto' }, [])); + preview_combo.appendChild($el('option', { value: 'taesd', text: 'TAESD (slow)' }, [])); + preview_combo.appendChild($el('option', { value: 'latent2rgb', text: 'Latent2RGB (fast)' }, [])); + preview_combo.appendChild($el('option', { value: 'none', text: 'None (very fast)' }, [])); + + // Start disabled to prevent flash + preview_combo.disabled = true; + preview_combo.value = ''; + + // Fetch current state api.fetchApi('/manager/preview_method') .then(response => response.text()) - .then(data => { preview_combo.value = data; }); + .then(data => { + // Remove loading option + preview_combo.querySelector('option[value=""]')?.remove(); + + if (data === "DISABLED") { + // ComfyUI per-queue preview feature is active + preview_combo.disabled = true; + preview_combo.value = 'auto'; + + // Accessibility attributes + preview_combo.setAttribute("aria-disabled", "true"); + preview_combo.setAttribute("aria-label", + "Preview method setting (disabled - managed by ComfyUI). " + + "Use Settings > Execution > Live preview method instead." + ); + + // Tooltip for mouse users + preview_combo.setAttribute("title", + "This feature is now provided natively by ComfyUI. " + + "Please use 'Settings > Execution > Live preview method' instead." + ); + + // Visual feedback + preview_combo.style.opacity = '0.6'; + preview_combo.style.cursor = 'not-allowed'; + } else { + // Manager feature is active + preview_combo.disabled = false; + preview_combo.value = data; + + // Accessibility for enabled state + preview_combo.setAttribute("aria-label", + "Preview method setting. Select how latent variables are decoded during preview." + ); + } + }) + .catch(error => { + console.error('[ComfyUI-Manager] Failed to fetch preview method status:', error); + // Error recovery: fallback to enabled + preview_combo.querySelector('option[value=""]')?.remove(); + preview_combo.disabled = false; + preview_combo.value = 'auto'; + }); preview_combo.addEventListener('change', function (event) { - api.fetchApi(`/manager/preview_method?value=${event.target.value}`); + // Ignore if disabled + if (preview_combo.disabled) { + event.preventDefault(); + return; + } + + // Normal operation + api.fetchApi(`/manager/preview_method?value=${event.target.value}`) + .then(response => { + if (response.status === 403) { + // Feature transitioned to native + alert( + 'This feature is now provided natively by ComfyUI.\n' + + 'Please use \'Settings > Execution > Live preview method\' instead.' + ); + preview_combo.disabled = true; + preview_combo.style.opacity = '0.6'; + preview_combo.style.cursor = 'not-allowed'; + + // Update aria attributes + preview_combo.setAttribute("aria-disabled", "true"); + preview_combo.setAttribute("aria-label", + "Preview method setting (disabled - managed by ComfyUI). " + + "Use Settings > Execution > Live preview method instead." + ); + } + }) + .catch(error => { + console.error('[ComfyUI-Manager] Preview method update failed:', error); + }); }); - // nickname - let badge_combo = ""; - if(is_legacy_front()) { - badge_combo = document.createElement("select"); - badge_combo.setAttribute("title", "Configure the content to be displayed on the badge at the top right corner of the node. The ID is the identifier of the node. If 'hide built-in' is selected, both unknown nodes and built-in nodes will be omitted, making them indistinguishable"); - badge_combo.className = "cm-menu-combo"; - badge_combo.appendChild($el('option', { value: 'none', text: 'Badge: None' }, [])); - badge_combo.appendChild($el('option', { value: 'nick', text: 'Badge: Nickname' }, [])); - badge_combo.appendChild($el('option', { value: 'nick_hide', text: 'Badge: Nickname (hide built-in)' }, [])); - badge_combo.appendChild($el('option', { value: 'id_nick', text: 'Badge: #ID Nickname' }, [])); - badge_combo.appendChild($el('option', { value: 'id_nick_hide', text: 'Badge: #ID Nickname (hide built-in)' }, [])); - - api.fetchApi('/manager/badge_mode') - .then(response => response.text()) - .then(data => { badge_combo.value = data; badge_mode = data; }); - - badge_combo.addEventListener('change', function (event) { - api.fetchApi(`/manager/badge_mode?value=${event.target.value}`); - badge_mode = event.target.value; - app.graph.setDirtyCanvas(true); - }); - } + const previewSetttingItem = createSettingsCombo("Preview method", preview_combo); // channel let channel_combo = document.createElement("select"); - channel_combo.setAttribute("title", "Configure the channel for retrieving data from the Custom Node list (including missing nodes) or the Model list. Note that the badge utilizes local information."); - channel_combo.className = "cm-menu-combo"; + channel_combo.setAttribute("title", "Configure the channel for retrieving data from the Custom Node list (including missing nodes) or the Model list."); + channel_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled"; api.fetchApi('/manager/channel_url_list') .then(response => response.json()) .then(async data => { @@ -910,7 +1082,7 @@ class ManagerMenuDialog extends ComfyDialog { for (let i in urls) { if (urls[i] != '') { let name_url = urls[i].split('::'); - channel_combo.appendChild($el('option', { value: name_url[0], text: `Channel: ${name_url[0]}` }, [])); + channel_combo.appendChild($el('option', { value: name_url[0], text: `${name_url[0]}` }, [])); } } @@ -925,26 +1097,13 @@ 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}`); - }); + const channelSetttingItem = createSettingsCombo("Channel", channel_combo); // share let share_combo = document.createElement("select"); share_combo.setAttribute("title", "Hide the share button in the main menu or set the default action upon clicking it. Additionally, configure the default share site when sharing via the context menu's share button."); - share_combo.className = "cm-menu-combo"; + share_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled"; const share_options = [ ['none', 'None'], ['openart', 'OpenArt AI'], @@ -955,50 +1114,9 @@ class ManagerMenuDialog extends ComfyDialog { ['all', 'All'], ]; for (const option of share_options) { - share_combo.appendChild($el('option', { value: option[0], text: `Share: ${option[1]}` }, [])); + share_combo.appendChild($el('option', { value: option[0], text: `${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 => { @@ -1018,23 +1136,60 @@ class ManagerMenuDialog extends ComfyDialog { } }); - return [ - $el("div", {}, [this.update_check_checkbox, uc_checkbox_text]), - $el("br", {}, []), - this.datasrc_combo, - channel_combo, - preview_combo, - badge_combo, - default_ui_combo, - share_combo, - component_policy_combo, - dbl_click_policy_combo, - $el("br", {}, []), + const shareSetttingItem = createSettingsCombo("Share", share_combo); - $el("br", {}, []), - $el("filedset.cm-experimental", {}, [ + 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 p-select p-component p-inputwrapper p-inputwrapper-filled"; + component_policy_combo.appendChild($el('option', { value: 'workflow', text: 'Use workflow version' }, [])); + component_policy_combo.appendChild($el('option', { value: 'higher', text: 'Use higher version' }, [])); + component_policy_combo.appendChild($el('option', { value: 'mine', text: '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); + }); + + const componentSetttingItem = createSettingsCombo("Component", component_policy_combo); + + update_policy_combo = document.createElement("select"); + + update_policy_combo.setAttribute("title", "Sets the policy to be applied when performing an update."); + update_policy_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled"; + update_policy_combo.appendChild($el('option', { value: 'stable-comfyui', text: 'ComfyUI Stable Version' }, [])); + update_policy_combo.appendChild($el('option', { value: 'nightly-comfyui', text: '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}`); + }); + + const updateSetttingItem = createSettingsCombo("Update", update_policy_combo); + + if(isElectron) + updateSetttingItem.style.display = 'none'; + + return [ + dbRetrievalSetttingItem, + channelSetttingItem, + previewSetttingItem, + shareSetttingItem, + componentSetttingItem, + updateSetttingItem, + //[TODO] replace mt-2 with wrapper div with flex column gap + $el("filedset.cm-experimental.mt-auto", {}, [ $el("legend.cm-experimental-legend", {}, ["EXPERIMENTAL"]), - $el("button.cm-experimental-button", { + $el("button.p-button.p-component.cm-button.cm-experimental-button", { type: "button", textContent: "Snapshot Manager", onclick: @@ -1044,22 +1199,17 @@ class ManagerMenuDialog extends ComfyDialog { SnapshotManager.instance.show(); } }), - $el("button.cm-experimental-button", { + $el("button.p-button.p-component.cm-button.cm-experimental-button.mt-2", { type: "button", textContent: "Install PIP packages", onclick: - () => { - var url = prompt("Please enumerate the pip packages to be installed.\n\nExample: insightface opencv-python-headless>=4.1.1\n", ""); + async () => { + var url = await customPrompt("Please enumerate the pip packages to be installed.\n\nExample: insightface opencv-python-headless>=4.1.1\n", ""); if (url !== null) { install_pip(url, self); } } - }), - $el("button.cm-experimental-button", { - type: "button", - textContent: "Unload models", - onclick: () => { free_models(); } }) ]), ]; @@ -1067,7 +1217,7 @@ class ManagerMenuDialog extends ComfyDialog { createControlsRight() { const elts = [ - $el("button.cm-button", { + $el("button.p-button.p-component.cm-button", { id: 'cm-manual-button', type: "button", textContent: "Community Manual", @@ -1118,11 +1268,11 @@ class ManagerMenuDialog extends ComfyDialog { }) ]), - $el("button", { + $el("button.p-button.p-component.cm-button", { id: 'workflowgallery-button', type: "button", style: { - ...(localStorage.getItem("wg_last_visited") ? {height: '50px'} : {}) + // ...(localStorage.getItem("wg_last_visited") ? {height: '50px'} : {}) }, onclick: (e) => { const last_visited_site = localStorage.getItem("wg_last_visited") @@ -1145,7 +1295,7 @@ class ManagerMenuDialog extends ComfyDialog { }, [ $el("p", { id: 'workflowgallery-button-last-visited-label', - textContent: `(${localStorage.getItem("wg_last_visited") ? localStorage.getItem("wg_last_visited").split('/')[2] : ''})`, + textContent: `(${localStorage.getItem("wg_last_visited") ? localStorage.getItem("wg_last_visited").split('/')[2] : 'none selected'})`, style: { 'text-align': 'center', 'color': 'var(--input-text)', @@ -1161,13 +1311,12 @@ class ManagerMenuDialog extends ComfyDialog { }) ]), - $el("button.cm-button", { + $el("button.p-button.p-component.cm-button", { id: 'cm-nodeinfo-button', type: "button", textContent: "Nodes Info", onclick: () => { window.open("https://ltdrdata.github.io/", "comfyui-node-info"); } }), - $el("br", {}, []), ]; var textarea = document.createElement("div"); @@ -1182,35 +1331,39 @@ class ManagerMenuDialog extends ComfyDialog { constructor() { super(); - const close_button = $el("button", { id: "cm-close-button", type: "button", textContent: "Close", onclick: () => this.close() }); + const content = $el("div.cm-menu-container", + [ + $el("div.cm-menu-column.gap-2", [...this.createControlsLeft()]), + $el("div.cm-menu-column.gap-2", [...this.createControlsMid()]), + $el("div.cm-menu-column.gap-2", [...this.createControlsRight()]) + ] + ); - const content = - $el("div.comfy-modal-content", - [ - $el("tr.cm-title", {}, [ - $el("font", {size:6, color:"white"}, [`ComfyUI Manager Menu`])] - ), - $el("br", {}, []), - $el("div.cm-menu-container", - [ - $el("div.cm-menu-column", [...this.createControlsLeft()]), - $el("div.cm-menu-column", [...this.createControlsMid()]), - $el("div.cm-menu-column", [...this.createControlsRight()]) - ]), + const frame = buildGuiFrame( + 'cm-manager-dialog', // dialog id + `ComfyUI Manager ${manager_version}`, // dialog title + "i.mdi.mdi-puzzle", // dialog icon class to show before title + content, // dialog content element + this + ); // send this so we can attach close functions - $el("br", {}, []), - close_button, - ] - ); + this.element = frame; + } - content.style.width = '100%'; - content.style.height = '100%'; - - 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"; + this.element.style.display = "flex"; + } + + toggleVisibility() { + if (this.isVisible) { + this.close(); + } else { + this.show(); + } } handleWorkflowGalleryButtonClick(e) { @@ -1313,9 +1466,57 @@ class ManagerMenuDialog extends ComfyDialog { } } +async function getVersion() { + let version = await api.fetchApi(`/manager/version`); + return await version.text(); +} app.registerExtension({ name: "Comfy.ManagerMenu", + + aboutPageBadges: [ + { + 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, @@ -1331,6 +1532,31 @@ app.registerExtension({ load_components(); + // Fetch and show startup alerts (critical errors like outdated ComfyUI) + // Poll until extensionManager.toast is ready (set in Vue onMounted) + const showStartupAlerts = async () => { + let toastWaitCount = 0; + const waitForToast = () => { + if (window['app']?.extensionManager?.toast) { + fetch('/manager/startup_alerts') + .then(response => response.ok ? response.json() : []) + .then(alerts => { + for (const alert of alerts) { + customAlert(alert.message); + } + }) + .catch(e => console.warn('[ComfyUI-Manager] Failed to fetch startup alerts:', e)); + } else if (toastWaitCount < 300) { // Max 30 seconds (300 * 100ms) + toastWaitCount++; + setTimeout(waitForToast, 100); + } else { + console.warn('[ComfyUI-Manager] Timeout waiting for toast. Startup alerts skipped.'); + } + }; + waitForToast(); + }; + showStartupAlerts(); + const menu = document.querySelector(".comfy-menu"); const separator = document.createElement("hr"); @@ -1340,7 +1566,6 @@ app.registerExtension({ try { // new style Manager buttons - // unload models button into new style Manager button let cmGroup = new (await import("../../scripts/ui/components/buttonGroup.js")).ComfyButtonGroup( new(await import("../../scripts/ui/components/button.js")).ComfyButton({ @@ -1354,6 +1579,19 @@ app.registerExtension({ content: "Manager", classList: "comfyui-button comfyui-menu-mobile-collapse primary" }).element, + new(await import("../../scripts/ui/components/button.js")).ComfyButton({ + icon: "star", + action: () => { + if(!manager_instance) + setManagerInstance(new ManagerMenuDialog()); + + if(!CustomNodesManager.instance) { + CustomNodesManager.instance = new CustomNodesManager(app, self); + } + CustomNodesManager.instance.show(CustomNodesManager.ShowMode.FAVORITES); + }, + tooltip: "Show favorite custom node list" + }).element, new(await import("../../scripts/ui/components/button.js")).ComfyButton({ icon: "vacuum-outline", action: () => { @@ -1443,32 +1681,6 @@ app.registerExtension({ this._addExtraNodeContextMenu(nodeType, app); }, - async nodeCreated(node, app) { - if(is_legacy_front()) { - if(!node.badge_enabled) { - node.getNickname = function () { return getNickname(node, node.comfyClass.trim()) }; - let orig = node.onDrawForeground; - if(!orig) - orig = node.__proto__.onDrawForeground; - - node.onDrawForeground = function (ctx) { - drawBadge(node, orig, arguments) - }; - node.badge_enabled = true; - } - } - }, - - async loadedGraphNode(node, app) { - if(is_legacy_front()) { - if(!node.badge_enabled) { - const orig = node.onDrawForeground; - node.getNickname = function () { return getNickname(node, node.type.trim()) }; - node.onDrawForeground = function (ctx) { drawBadge(node, orig, arguments) }; - } - } - }, - _addExtraNodeContextMenu(node, app) { const origGetExtraMenuOptions = node.prototype.getExtraMenuOptions; node.prototype.cm_menu_added = true; @@ -1524,27 +1736,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/comfyui-share-common.js b/js/comfyui-share-common.js index d4b2567c..e6f3e103 100644 --- a/js/comfyui-share-common.js +++ b/js/comfyui-share-common.js @@ -4,6 +4,7 @@ import { $el, ComfyDialog } from "../../scripts/ui.js"; import { CopusShareDialog } from "./comfyui-share-copus.js"; import { OpenArtShareDialog } from "./comfyui-share-openart.js"; import { YouMLShareDialog } from "./comfyui-share-youml.js"; +import { customAlert } from "./common.js"; export const SUPPORTED_OUTPUT_NODE_TYPES = [ "PreviewImage", @@ -252,9 +253,9 @@ export const showShareDialog = async (share_option) => { if (potential_output_nodes.length === 0) { // todo: add support for other output node types (animatediff combine, etc.) const supported_nodes_string = SUPPORTED_OUTPUT_NODE_TYPES.join(", "); - alert(`No supported output node found (${supported_nodes_string}). To share this workflow, please add an output node to your graph and re-run your prompt.`); + customAlert(`No supported output node found (${supported_nodes_string}). To share this workflow, please add an output node to your graph and re-run your prompt.`); } else { - alert("To share this, first run a prompt. Once it's done, click 'Share'.\n\nNOTE: Images of the Share target can only be selected in the PreviewImage, SaveImage, and VHS_VideoCombine nodes. In the case of VHS_VideoCombine, only the image/gif and image/webp formats are supported."); + customAlert("To share this, first run a prompt. Once it's done, click 'Share'.\n\nNOTE: Images of the Share target can only be selected in the PreviewImage, SaveImage, and VHS_VideoCombine nodes. In the case of VHS_VideoCombine, only the image/gif and image/webp formats are supported."); } return false; } @@ -336,7 +337,7 @@ export class ShareDialogChooser extends ComfyDialog { key: "Copus", textContent: "Copus", website: "https://www.copus.io", - description: "šŸ”“ Permanently store and secure ownership of your workflow on the open-source platform: Copus.io", + description: "šŸ”“ Earn simple. Get paid from your ComfyUI workflows—no revenue sharing. Ever.", onclick: () => { showCopusShareDialog(); this.close(); @@ -356,7 +357,8 @@ export class ShareDialogChooser extends ComfyDialog { }); buttons.forEach(b => { - const button = $el("button", { + const button = $el("button", + { type: "button", textContent: b.textContent, onclick: b.onclick, @@ -369,8 +371,14 @@ export class ShareDialogChooser extends ComfyDialog { 'padding': '5px 5px', 'margin-bottom': '5px', 'transition': 'background-color 0.3s', + 'position':'relative' } - }); + }, + [ + $el("span", { style: { + } }), + ] + ); button.addEventListener('mouseover', () => { button.style.backgroundColor = '#007BFF'; // Change color on hover }); @@ -388,6 +396,28 @@ export class ShareDialogChooser extends ComfyDialog { }, }); + const copus_ui =$el("div", { style: { + 'position': 'absolute', + 'height': '100%', + 'left': '-25px', + 'top': '-26px', + 'width': '100%', + 'z-index':'-1', + 'background':'url("https://static.copus.io/images/client/202412/test/f28ac6ef8f4c6f3d5d50856a272ed02c.png")', + 'background-repeat': 'no-repeat', + } }); + const copus_ui_bottom =$el("div", { style: { + 'position': 'absolute', + 'height': '100%', + 'left': '25px', + 'bottom': '-26px', + 'width': '100%', + 'transform':'scale(-1, -1)', + 'z-index':'-1', + 'background':'url("https://static.copus.io/images/client/202412/test/f28ac6ef8f4c6f3d5d50856a272ed02c.png")', + 'background-repeat': 'no-repeat', + } }); + const websiteLink = $el("a", { textContent: "🌐 Website", href: b.website, @@ -417,7 +447,6 @@ export class ShareDialogChooser extends ComfyDialog { 'margin-bottom': '10px', } }, [button, websiteLink]); - const column = $el("div", { style: { 'flex-basis': '100%', @@ -426,8 +455,17 @@ export class ShareDialogChooser extends ComfyDialog { 'border': '1px solid #ddd', 'border-radius': '5px', 'box-shadow': '0 2px 4px rgba(0, 0, 0, 0.1)', + 'position':'relative' } - }, [buttonLinkContainer, description]); + }, [buttonLinkContainer, description + , + b.key ==='Copus' ? + copus_ui + :'', + b.key ==='Copus' ? + copus_ui_bottom + :'', + ]); container.appendChild(column); }); @@ -475,7 +513,7 @@ export class ShareDialogChooser extends ComfyDialog { } show() { this.element.style.display = "block"; - this.element.style.zIndex = 10001; + this.element.style.zIndex = 1099; } } export class ShareDialog extends ComfyDialog { @@ -824,7 +862,7 @@ export class ShareDialog extends ComfyDialog { if (destinations.includes("matrix")) { let definedMatrixAuth = !!this.matrix_homeserver_input.value && !!this.matrix_username_input.value && !!this.matrix_password_input.value; if (!definedMatrixAuth) { - alert("Please set your Matrix account details."); + customAlert("Please set your Matrix account details."); return; } } @@ -841,9 +879,9 @@ export class ShareDialog extends ComfyDialog { if (potential_output_nodes.length === 0) { // todo: add support for other output node types (animatediff combine, etc.) const supported_nodes_string = SUPPORTED_OUTPUT_NODE_TYPES.join(", "); - alert(`No supported output node found (${supported_nodes_string}). To share this workflow, please add an output node to your graph and re-run your prompt.`); + customAlert(`No supported output node found (${supported_nodes_string}). To share this workflow, please add an output node to your graph and re-run your prompt.`); } else { - alert("To share this, first run a prompt. Once it's done, click 'Share'.\n\nNOTE: Images of the Share target can only be selected in the PreviewImage, SaveImage, and VHS_VideoCombine nodes. In the case of VHS_VideoCombine, only the image/gif and image/webp formats are supported."); + customAlert("To share this, first run a prompt. Once it's done, click 'Share'.\n\nNOTE: Images of the Share target can only be selected in the PreviewImage, SaveImage, and VHS_VideoCombine nodes. In the case of VHS_VideoCombine, only the image/gif and image/webp formats are supported."); } this.selectedOutputIndex = 0; this.close(); @@ -881,16 +919,16 @@ export class ShareDialog extends ComfyDialog { try { const response_json = await response.json(); if (response_json.error) { - alert(response_json.error); + customAlert(response_json.error); this.close(); return; } else { - alert("Failed to share your art. Please try again."); + customAlert("Failed to share your art. Please try again."); this.close(); return; } } catch (e) { - alert("Failed to share your art. Please try again."); + customAlert("Failed to share your art. Please try again."); this.close(); return; } diff --git a/js/comfyui-share-copus.js b/js/comfyui-share-copus.js index 318b1fe5..46288e59 100644 --- a/js/comfyui-share-copus.js +++ b/js/comfyui-share-copus.js @@ -1,13 +1,15 @@ import { app } from "../../scripts/app.js"; import { $el, ComfyDialog } from "../../scripts/ui.js"; +import { customAlert } from "./common.js"; + const env = "prod"; let DEFAULT_HOMEPAGE_URL = "https://copus.io"; -let API_ENDPOINT = "https://api.client.prod.copus.io/copus-client"; +let API_ENDPOINT = "https://api.client.prod.copus.io"; if (env !== "prod") { - API_ENDPOINT = "https://api.dev.copus.io/copus-client"; + API_ENDPOINT = "https://api.test.copus.io"; DEFAULT_HOMEPAGE_URL = "https://test.copus.io"; } @@ -61,6 +63,7 @@ export class CopusShareDialog extends ComfyDialog { [$el("div.comfy-modal-content", {}, [...this.createButtons()])] ); this.selectedOutputIndex = 0; + this.selectedOutput_lock = 0; this.selectedNodeId = null; this.uploadedImages = []; this.allFilesImages = []; @@ -68,7 +71,7 @@ export class CopusShareDialog extends ComfyDialog { this.allFiles = []; this.titleNum = 0; } - + createButtons() { const inputStyle = { display: "block", @@ -190,10 +193,38 @@ export class CopusShareDialog extends ComfyDialog { type: "text", placeholder: "Subtitle (Optional)", style: inputStyle, - maxLength: "70", + maxLength: "350", oninput: () => { const titleNum = this.SubTitleInput.value.length; - subTitleNumDom.textContent = `${titleNum}/70`; + subTitleNumDom.textContent = `${titleNum}/350`; + }, + }); + this.LockInput = $el("input", { + type: "text", + placeholder: "0", + style: { + width: "100px", + padding: "7px", + paddingLeft: "30px", + borderRadius: "4px", + border: "1px solid #ddd", + boxSizing: "border-box", + position: "relative", + }, + oninput: (event) => { + let input = event.target.value; + // Use a regular expression to match a number with up to two decimal places + const regex = /^\d*\.?\d{0,2}$/; + if (!regex.test(input)) { + // If the input doesn't match, remove the last entered character + event.target.value = input.slice(0, -1); + } + const numericValue = parseFloat(input); + if (numericValue > 9999) { + input = "9999"; + } + // Update the input field with the valid value + event.target.value = input; }, }); this.descriptionInput = $el("textarea", { @@ -272,7 +303,7 @@ export class CopusShareDialog extends ComfyDialog { }, [] ); - + const titleNumDom = $el( "label", { @@ -297,7 +328,7 @@ export class CopusShareDialog extends ComfyDialog { color: "#999", }, }, - ["0/70"] + ["0/350"] ); const descriptionNumDom = $el( "label", @@ -313,15 +344,11 @@ export class CopusShareDialog extends ComfyDialog { ["0/70"] ); // Additional Inputs Section - const additionalInputsSection = $el( - "div", - { style: { ...sectionStyle, } }, - [ - $el("label", { style: labelStyle }, ["3ļøāƒ£ Title "]), - this.TitleInput, - titleNumDom, - ] - ); + const additionalInputsSection = $el("div", { style: { ...sectionStyle } }, [ + $el("label", { style: labelStyle }, ["3ļøāƒ£ Title "]), + this.TitleInput, + titleNumDom, + ]); const SubtitleSection = $el("div", { style: sectionStyle }, [ $el("label", { style: labelStyle }, ["4ļøāƒ£ Subtitle "]), this.SubTitleInput, @@ -333,6 +360,101 @@ export class CopusShareDialog extends ComfyDialog { // descriptionNumDom, ]); // switch between outputs section and additional inputs section + this.radioButtons_lock = []; + + this.radioButtonsCheck_lock = $el("input", { + type: "radio", + name: "output_type_lock", + value: "0", + id: "blockchain1_lock", + checked: true, + }); + this.radioButtonsCheckOff_lock = $el("input", { + type: "radio", + name: "output_type_lock", + value: "1", + id: "blockchain_lock", + }); + + const blockChainSection_lock = $el("div", { style: sectionStyle }, [ + $el("label", { style: labelStyle }, ["6ļøāƒ£ Download threshold"]), + $el( + "label", + { + style: { + marginTop: "10px", + display: "flex", + alignItems: "center", + cursor: "pointer", + }, + }, + [ + this.radioButtonsCheck_lock, + $el( + "div", + { + style: { + marginLeft: "5px", + display: "flex", + alignItems: "center", + position: "relative", + }, + }, + [ + $el("span", { style: { marginLeft: "5px" } }, ["ON"]), + $el( + "span", + { + style: { + marginLeft: "20px", + marginRight: "10px", + color: "#fff", + }, + }, + ["Unlock with"] + ), + $el("img", { + style: { + width: "16px", + height: "16px", + position: "absolute", + right: "75px", + zIndex: "100", + }, + src: "https://static.copus.io/images/admin/202507/prod/e2919a1d8f3c2d99d3b8fe27ff94b841.png", + }), + this.LockInput, + ] + ), + ] + ), + $el( + "label", + { style: { display: "flex", alignItems: "center", cursor: "pointer" } }, + [ + this.radioButtonsCheckOff_lock, + $el( + "div", + { + style: { + marginLeft: "5px", + display: "flex", + alignItems: "center", + }, + }, + [$el("span", { style: { marginLeft: "5px" } }, ["OFF"])] + ), + ] + ), + + $el( + "p", + { style: { fontSize: "16px", color: "#fff", margin: "10px 0 0 0" } }, + [ + ] + ), + ]); + this.radioButtons = []; this.radioButtonsCheck = $el("input", { @@ -350,7 +472,7 @@ export class CopusShareDialog extends ComfyDialog { }); const blockChainSection = $el("div", { style: sectionStyle }, [ - $el("label", { style: labelStyle }, ["6ļøāƒ£ Store on blockchain "]), + $el("label", { style: labelStyle }, ["8ļøāƒ£ Store on blockchain "]), $el( "label", { @@ -380,6 +502,141 @@ export class CopusShareDialog extends ComfyDialog { ["Secure ownership with a permanent & decentralized storage"] ), ]); + + this.ratingRadioButtonsCheck0 = $el("input", { + type: "radio", + name: "content_rating", + value: "0", + id: "content_rating0", + }); + this.ratingRadioButtonsCheck1 = $el("input", { + type: "radio", + name: "content_rating", + value: "1", + id: "content_rating1", + }); + this.ratingRadioButtonsCheck2 = $el("input", { + type: "radio", + name: "content_rating", + value: "2", + id: "content_rating2", + }); + this.ratingRadioButtonsCheck_1 = $el("input", { + type: "radio", + name: "content_rating", + value: "-1", + id: "content_rating_1", + checked: true, + }); + + // content rating + const contentRatingSection = $el("div", { style: sectionStyle }, [ + $el("label", { style: labelStyle }, ["7ļøāƒ£ Content rating "]), + $el( + "label", + { + style: { + marginTop: "10px", + display: "flex", + alignItems: "center", + cursor: "pointer", + }, + }, + [ + this.ratingRadioButtonsCheck0, + $el("img", { + style: { + width: "12px", + height: "12px", + marginLeft: "5px", + }, + src: "https://static.copus.io/images/client/202507/test/b9f17da83b054d53cd0cb4508c2c30dc.png", + }), + $el("span", { style: { marginLeft: "5px", color: "#fff" } }, [ + "All ages", + ]), + ] + ), + $el( + "p", + { style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } }, + ["Safe for all viewers; no profanity, violence, or mature themes."] + ), + $el( + "label", + { style: { display: "flex", alignItems: "center", cursor: "pointer" } }, + [ + this.ratingRadioButtonsCheck1, + $el("img", { + style: { + width: "12px", + height: "12px", + marginLeft: "5px", + }, + src: "https://static.copus.io/images/client/202507/test/7848bc0d3690671df21c7cf00c4cfc81.png", + }), + $el("span", { style: { marginLeft: "5px", color: "#fff" } }, [ + "13+ (Teen)", + ]), + ] + ), + $el( + "p", + { style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } }, + [ + "Mild language, light themes, or cartoon violence; no explicit content. ", + ] + ), + $el( + "label", + { style: { display: "flex", alignItems: "center", cursor: "pointer" } }, + [ + this.ratingRadioButtonsCheck2, + $el("img", { + style: { + width: "12px", + height: "12px", + marginLeft: "5px", + }, + src: "https://static.copus.io/images/client/202507/test/bc51839c208d68d91173e43c23bff039.png", + }), + $el("span", { style: { marginLeft: "5px", color: "#fff" } }, [ + "18+ (Explicit)", + ]), + ] + ), + $el( + "p", + { style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } }, + [ + "Explicit content, including sexual content, strong violence, or intense themes. ", + ] + ), + $el( + "label", + { style: { display: "flex", alignItems: "center", cursor: "pointer" } }, + [ + this.ratingRadioButtonsCheck_1, + $el("img", { + style: { + width: "12px", + height: "12px", + marginLeft: "5px", + }, + src: "https://static.copus.io/images/client/202507/test/5c802fdcaaea4e7bbed37393eec0d5ba.png", + }), + $el("span", { style: { marginLeft: "5px", color: "#fff" } }, [ + "Not Rated", + ]), + ] + ), + $el( + "p", + { style: { fontSize: "10px", color: "#fff", marginLeft: "20px" } }, + ["No age rating provided."] + ), + ]); + // Message Section this.message = $el( "div", @@ -441,6 +698,8 @@ export class CopusShareDialog extends ComfyDialog { SubtitleSection, DescriptionSection, // contestSection, + blockChainSection_lock, + contentRatingSection, blockChainSection, this.message, buttonsSection, @@ -449,7 +708,7 @@ export class CopusShareDialog extends ComfyDialog { return layout; } /** - * api + * api * @param {url} path * @param {params} options * @param {statusText} statusText @@ -502,7 +761,9 @@ export class CopusShareDialog extends ComfyDialog { url: data, }); } else { - throw new Error("make sure your API key is correct and try again later"); + throw new Error( + "make sure your API key is correct and try again later" + ); } } catch (e) { if (e?.response?.status === 413) { @@ -520,7 +781,7 @@ export class CopusShareDialog extends ComfyDialog { this.shareButton.textContent = "Sharing..."; await this.share(); } catch (e) { - alert(e.message); + customAlert(e.message); } this.shareButton.disabled = false; this.shareButton.textContent = "Share"; @@ -543,6 +804,15 @@ export class CopusShareDialog extends ComfyDialog { subTitle: this.SubTitleInput.value, content: this.descriptionInput.value, storeOnChain: this.radioButtonsCheck.checked ? true : false, + lockState: this.radioButtonsCheck_lock.checked ? 2 : 0, + unlockPrice: this.LockInput.value, + rating: this.ratingRadioButtonsCheck0.checked + ? 0 + : this.ratingRadioButtonsCheck1.checked + ? 1 + : this.ratingRadioButtonsCheck2.checked + ? 2 + : -1, }; if (!this.keyInput.value) { @@ -557,6 +827,12 @@ export class CopusShareDialog extends ComfyDialog { throw new Error("Title is required"); } + if (this.radioButtonsCheck_lock.checked) { + if (!this.LockInput.value) { + throw new Error("Price is required"); + } + } + if (!this.uploadedImages.length) { if (this.selectedFile) { await this.uploadThumbnail(this.selectedFile); @@ -602,23 +878,23 @@ export class CopusShareDialog extends ComfyDialog { "Uploading workflow..." ); - if (res.status && res.data.status && res.data) { - localStorage.setItem("copus_token",this.keyInput.value); - const { data } = res.data; - if (data) { - const url = `${DEFAULT_HOMEPAGE_URL}/work/${data}`; - this.message.innerHTML = `Workflow has been shared successfully. Click here to view it.`; - this.previewImage.src = ""; - this.previewImage.style.display = "none"; - this.uploadedImages = []; - this.allFilesImages = []; - this.allFiles = []; - this.TitleInput.value = ""; - this.SubTitleInput.value = ""; - this.descriptionInput.value = ""; - this.selectedFile = null; - } - } + if (res.status && res.data.status && res.data) { + localStorage.setItem("copus_token", this.keyInput.value); + const { data } = res.data; + if (data) { + const url = `${DEFAULT_HOMEPAGE_URL}/work/${data}`; + this.message.innerHTML = `Workflow has been shared successfully. Click here to view it.`; + this.previewImage.src = ""; + this.previewImage.style.display = "none"; + this.uploadedImages = []; + this.allFilesImages = []; + this.allFiles = []; + this.TitleInput.value = ""; + this.SubTitleInput.value = ""; + this.descriptionInput.value = ""; + this.selectedFile = null; + } + } } catch (e) { throw new Error("Error sharing workflow: " + e.message); } @@ -664,7 +940,7 @@ export class CopusShareDialog extends ComfyDialog { this.element.style.display = "block"; this.previewImage.src = ""; this.previewImage.style.display = "none"; - this.keyInput.value = apiToken!=null?apiToken:""; + this.keyInput.value = apiToken != null ? apiToken : ""; this.uploadedImages = []; this.allFilesImages = []; this.allFiles = []; diff --git a/js/comfyui-share-openart.js b/js/comfyui-share-openart.js index 41038600..1c96a8c7 100644 --- a/js/comfyui-share-openart.js +++ b/js/comfyui-share-openart.js @@ -1,6 +1,7 @@ import {app} from "../../scripts/app.js"; import {api} from "../../scripts/api.js"; import {ComfyDialog, $el} from "../../scripts/ui.js"; +import { customAlert } from "./common.js"; const LOCAL_STORAGE_KEY = "openart_comfy_workflow_key"; const DEFAULT_HOMEPAGE_URL = "https://openart.ai/workflows/dev?developer=true"; @@ -431,7 +432,7 @@ export class OpenArtShareDialog extends ComfyDialog { this.shareButton.textContent = "Sharing..."; await this.share(); } catch (e) { - alert(e.message); + customAlert(e.message); } this.shareButton.disabled = false; this.shareButton.textContent = "Share"; diff --git a/js/comfyui-share-youml.js b/js/comfyui-share-youml.js index 80077b25..efd8916f 100644 --- a/js/comfyui-share-youml.js +++ b/js/comfyui-share-youml.js @@ -1,6 +1,7 @@ import {app} from "../../scripts/app.js"; import {api} from "../../scripts/api.js"; import {ComfyDialog, $el} from "../../scripts/ui.js"; +import { customAlert } from "./common.js"; const BASE_URL = "https://youml.com"; //const BASE_URL = "http://localhost:3000"; @@ -347,7 +348,7 @@ export class YouMLShareDialog extends ComfyDialog { this.shareButton.textContent = "Sharing..."; await this.share(); } catch (e) { - alert(e.message); + customAlert(e.message); } finally { this.shareButton.disabled = false; this.shareButton.textContent = "Share"; diff --git a/js/common.js b/js/common.js index 8847606f..b8193055 100644 --- a/js/common.js +++ b/js/common.js @@ -1,34 +1,203 @@ 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) { + return new Promise((resolve) => { + // transparent bg + const modalOverlay = document.createElement('div'); + modalOverlay.style.position = 'fixed'; + modalOverlay.style.top = 0; + modalOverlay.style.left = 0; + modalOverlay.style.width = '100%'; + modalOverlay.style.height = '100%'; + modalOverlay.style.backgroundColor = 'rgba(0, 0, 0, 0.8)'; + modalOverlay.style.display = 'flex'; + modalOverlay.style.alignItems = 'center'; + modalOverlay.style.justifyContent = 'center'; + modalOverlay.style.zIndex = '1101'; + + // Modal window container (dark bg) + const modalDialog = document.createElement('div'); + modalDialog.style.backgroundColor = '#333'; + modalDialog.style.padding = '20px'; + modalDialog.style.borderRadius = '4px'; + modalDialog.style.maxWidth = '400px'; + modalDialog.style.width = '80%'; + modalDialog.style.boxShadow = '0 2px 8px rgba(0, 0, 0, 0.5)'; + modalDialog.style.color = '#fff'; + + // Display message + const modalMessage = document.createElement('p'); + modalMessage.textContent = message; + modalMessage.style.margin = '0'; + modalMessage.style.padding = '0 0 20px'; + modalMessage.style.wordBreak = 'keep-all'; + + // Button container + const modalButtons = document.createElement('div'); + modalButtons.style.display = 'flex'; + modalButtons.style.justifyContent = 'flex-end'; + + // Confirm button (green) + const confirmButton = document.createElement('button'); + if(confirmMessage) + confirmButton.textContent = confirmMessage; + else + confirmButton.textContent = 'Confirm'; + confirmButton.style.marginLeft = '10px'; + confirmButton.style.backgroundColor = '#28a745'; // green + confirmButton.style.color = '#fff'; + confirmButton.style.border = 'none'; + confirmButton.style.padding = '6px 12px'; + confirmButton.style.borderRadius = '4px'; + confirmButton.style.cursor = 'pointer'; + confirmButton.style.fontWeight = 'bold'; + + // Cancel button (red) + const cancelButton = document.createElement('button'); + if(cancelMessage) + cancelButton.textContent = cancelMessage; + else + cancelButton.textContent = 'Cancel'; + + cancelButton.style.marginLeft = '10px'; + cancelButton.style.backgroundColor = '#dc3545'; // red + cancelButton.style.color = '#fff'; + cancelButton.style.border = 'none'; + cancelButton.style.padding = '6px 12px'; + cancelButton.style.borderRadius = '4px'; + cancelButton.style.cursor = 'pointer'; + cancelButton.style.fontWeight = 'bold'; + + const closeModal = () => { + document.body.removeChild(modalOverlay); + }; + + confirmButton.addEventListener('click', () => { + closeModal(); + resolve(true); + }); + + cancelButton.addEventListener('click', () => { + closeModal(); + resolve(false); + }); + + modalButtons.appendChild(confirmButton); + modalButtons.appendChild(cancelButton); + modalDialog.appendChild(modalMessage); + modalDialog.appendChild(modalButtons); + modalOverlay.appendChild(modalDialog); + document.body.appendChild(modalOverlay); + }); +} export function show_message(msg) { app.ui.dialog.show(msg); - app.ui.dialog.element.style.zIndex = 10010; + app.ui.dialog.element.style.zIndex = 1100; +} + +export async function handle403Response(res, defaultMessage) { + try { + const data = await res.json(); + if(data.error === 'comfyui_outdated') { + show_message('ComfyUI version is outdated.
Please update ComfyUI to use Manager normally.'); + } else { + show_message(defaultMessage || 'This action is not allowed with this security level configuration.'); + } + } catch { + show_message(defaultMessage || 'This action is not allowed with this security level configuration.'); + } } export async function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } -export function rebootAPI() { - if ('electronAPI' in window) { - window.electronAPI.restartApp(); - return true; - } - if (confirm("Are you sure you'd like to reboot the server?")) { - try { - api.fetchApi("/manager/reboot"); - } - catch(exception) { +export async function customConfirm(message) { + try { + let res = await + window['app'].extensionManager.dialog + .confirm({ + title: 'Confirm', + message: message + }); + return res; + } + catch { + let res = await internalCustomConfirm(message); + return res; + } +} + + +export function customAlert(message) { + try { + window['app'].extensionManager.toast.addAlert(message); + } + catch { + alert(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 { + let res = await + window['app'].extensionManager.dialog + .prompt({ + title: title, + message: message + }); + + return res; + } + catch { + return prompt(title, message) + } +} + + +export async function rebootAPI() { + if ('electronAPI' in window) { + window.electronAPI.restartApp(); + return true; + } + + const isConfirmed = await customConfirm("Are you sure you'd like to reboot the server?"); + if (isConfirmed) { + try { + const response = await api.fetchApi("/manager/reboot"); + if (response.status == 403) { + await handle403Response(response); + return false; + } } - return true; + catch(exception) {} } return false; } + export var manager_instance = null; export function setManagerInstance(obj) { @@ -63,7 +232,7 @@ export async function install_pip(packages) { }); if(res.status == 403) { - show_message('This action is not allowed with this security level configuration.'); + await handle403Response(res); return; } @@ -98,7 +267,7 @@ export async function install_via_git_url(url, manager_dialog) { }); if(res.status == 403) { - show_message('This action is not allowed with this security level configuration.'); + await handle403Response(res); return; } @@ -109,9 +278,9 @@ export async function install_via_git_url(url, manager_dialog) { const self = this; rebootButton.addEventListener("click", - function() { - if(rebootAPI()) { - manager_dialog.close(); + async function() { + if(await rebootAPI()) { + manager_instance.close(); } }); } @@ -235,10 +404,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 b2ccf43b..9244d2a4 100644 --- a/js/components-manager.js +++ b/js/components-manager.js @@ -1,6 +1,6 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js" -import { sleep, show_message } from "./common.js"; +import { sleep, show_message, customConfirm, customAlert } from "./common.js"; import { GroupNodeConfig, GroupNodeHandler } from "../../extensions/core/groupNode.js"; import { ComfyDialog, $el } from "../../scripts/ui.js"; @@ -365,7 +365,7 @@ function checkVersion(name, component) { return msg; } -function handle_import_components(components) { +async function handle_import_components(components) { let msg = 'Components:\n'; let cnt = 0; for(let name in components) { @@ -387,8 +387,9 @@ function handle_import_components(components) { let last_name = null; msg += '\nWill you load components?\n'; - if(confirm(msg)) { - let mode = confirm('\nWill you save components?\n(cancel=load without save)'); + const confirmed = await customConfirm(msg); + if(confirmed) { + const mode = await customConfirm('\nWill you save components?\n(cancel=load without save)'); for(let name in components) { let component = components[name]; @@ -411,7 +412,7 @@ function handle_import_components(components) { } } -function handlePaste(e) { +async function handlePaste(e) { let data = (e.clipboardData || window.clipboardData); const items = data.items; for(const item of items) { @@ -421,7 +422,7 @@ function handlePaste(e) { let json_data = JSON.parse(data); if(json_data.kind == 'ComfyUI Components' && last_paste_timestamp != json_data.timestamp) { last_paste_timestamp = json_data.timestamp; - handle_import_components(json_data.components); + await handle_import_components(json_data.components); // disable paste node localStorage.removeItem("litegrapheditor_clipboard", null); @@ -455,7 +456,7 @@ export class ComponentBuilderDialog extends ComfyDialog { this.invalidateControl(); this.element.style.display = "block"; - this.element.style.zIndex = 10001; + this.element.style.zIndex = 1099; this.element.style.width = "500px"; this.element.style.height = "480px"; } @@ -621,7 +622,7 @@ export class ComponentBuilderDialog extends ComfyDialog { self.version_string.value = self.default_ver; } else { - alert('If you are not the author, it is not recommended to change the version, as it may cause component update issues.'); + customAlert('If you are not the author, it is not recommended to change the version, as it may cause component update issues.'); } }; @@ -677,7 +678,7 @@ export class ComponentBuilderDialog extends ComfyDialog { let orig_handleFile = app.handleFile; -function handleFile(file) { +async function handleFile(file) { if (file.name?.endsWith(".json") || file.name?.endsWith(".pack")) { const reader = new FileReader(); reader.onload = async () => { @@ -690,7 +691,7 @@ function handleFile(file) { } if(is_component) { - handle_import_components(jsonContent); + await handle_import_components(jsonContent); } else { orig_handleFile.call(app, file); @@ -708,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..4ea82580 --- /dev/null +++ b/js/custom-nodes-manager.css @@ -0,0 +1,729 @@ +.cn-manager { + --grid-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + z-index: 1099; + width: 80vw; + height: 75vh; + min-height: 30em; + display: flex; + flex-direction: column; + gap: 10px; + color: var(--fg-color); + font-family: arial, sans-serif; + text-underline-offset: 3px; + outline: none; + margin: calc(var(--spacing)*2); +} + +.cn-manager .cn-flex-auto { + flex: auto; +} + +.cn-manager button { + width: auto; + position: relative; + overflow: hidden; + font-size: 16px; + color: var(--input-text); + background-color: var(--comfy-input-bg); + border-color: var(--border-color); + margin: 0; + min-width: 100px; +} + +.cn-manager button:hover { + filter: brightness(125%); +} + +.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 !important; + border-color: #88181b !important; + color: white !important; +} + +.cn-manager .cn-manager-restart:hover { + background-color: #88181b !important; +} + +.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; +} + +.cn-manager-header label { + display: flex; + gap: 5px; + align-items: center; +} + +.cn-manager-filter { + height: 28px; + line-height: 28px; + + cursor: pointer; + padding: 0.5em 0.5em; + border: 1px solid var(--border-color); + border-radius: 6px; + background: var(--comfy-input-bg); +} + +.cn-manager-filter:hover { + filter: brightness(125%); +} + +.cn-manager-keywords { + height: 28px; + line-height: 28px; + padding: 0 5px 0 26px; + background: var(--comfy-input-bg); + 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"); + + border: 1px solid var(--border-color); + border-radius: 6px; + + outline-color: transparent; +} + +.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-install-buttons button { + padding: 4px 8px; +} + +.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 7584e606..b290df61 100644 --- a/js/custom-nodes-manager.js +++ b/js/custom-nodes-manager.js @@ -1,323 +1,37 @@ import { app } from "../../scripts/app.js"; -import { $el } from "../../scripts/ui.js"; -import { - manager_instance, rebootAPI, install_via_git_url, - fetchData, md5, icons +import { ComfyDialog, $el } from "../../scripts/ui.js"; +import { api } from "../../scripts/api.js"; +import { buildGuiFrameCustomHeader, createSettingsCombo } from "./comfyui-gui-builder.js"; + +import { + manager_instance, rebootAPI, install_via_git_url, + fetchData, md5, icons, show_message, customConfirm, customAlert, customPrompt, + sanitizeHTML, infoToast, showTerminal, setNeedRestart, + storeColumnWidth, restoreColumnWidth, getTimeAgo, copyText, loadCss, + showPopover, hidePopover, handle403Response } 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, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - z-index: 10001; - 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-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: blue; - color: white; -} - -.cn-manager .cn-btn-disable { - background-color: MediumSlateBlue; - color: white; -} - -.cn-manager .cn-btn-update { - background-color: blue; - 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: red; - 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 = ` -
- - -
-
-
-
-
-
-
-