ComfyUI Manager – ComfyUI (2024)

Table of Contents

What is ComfyUI Manager

ComfyUI Manager is an extension designed to facilitate the installation and management of custom nodes within the ComfyUI interface.

ComfyUI Manager Project official server website:https://github.com/ltdrdata/ComfyUI-Manager

Guide to Installing ComfyUI Manager in Different Environments

General Installation Method: ComfyUI-Manager Only

  1. Navigate to your custom_nodes directory:bash
    cd custom_nodes
  2. Clone the ComfyUI-Manager repository:bash
    git clone https://github.com/ltdrdata/ComfyUI-Manager.git
  3. Restart ComfyUI for the changes to take effect.

Installation for Portable ComfyUI Version: ComfyUI-Manager Only

  1. Install Git:
    • Visit the official Git website to download the installer.
    • Opt for the standalone version during installation.
    • Ensure you select the option “use windows default console window”.
  2. Download install-manager-for-portable-version.bat script into the directory where “ComfyUI_windows_portable” has been installed.
  3. Double-click on install-manager-for-portable-version.bat batch file to initiate the portable installation.

Installation for Linux + Venv: ComfyUI + ComfyUI-Manager

  1. Download install-comfyui-venv-linux.sh into an empty installation directory.
  2. Make the script executable:bash
    chmod +x install-comfyui-venv-linux.sh
  3. Execute the script:bash
    ./install-comfyui-venv-linux.sh
  4. Post installation, ComfyUI can be executed with:
    • For GPU support:bash
      ./run_gpu.sh
    • For CPU only:bash
      ./run_cpu.sh

Colab Notebook Installation

The ComfyUI repository provides Colab notebooks that offer a seamless installation and usage experience for ComfyUI, inclusive of the ComfyUI-Manager.

  • Features:
    • Directly access and use ComfyUI through the provided link.
    • Enables basic installation support for ComfyUI-Manager.
    • Facilitates automatic installation of custom node dependencies upon Colab notebook restarts.

To begin with ComfyUI on Colab, click here (Link not provided, please ensure you add the correct URL).

How to Use ComfyUI Manager

1. Accessing the Manager

From the main menu of ComfyUI, click the “Manager” button.

ComfyUI Manager – ComfyUI (1)

2. Using the Manager Menu

Upon accessing the manager, you will see various options:

  • Install Custom Nodes: Lets you view and manage custom nodes.
  • Install Models: Provides a list of models you can install.
  • Use local DB: When toggled on, this feature ensures that the application uses data stored on your device instead of fetching data from the internet.
  • Fetch Updates: This option fetches any update data for the custom nodes you have locally. It is important to note that fetching update data and actually updating the nodes are separate processes.
ComfyUI Manager – ComfyUI (2)

3. Installing Nodes or Models

When you click on either ‘Install Custom Nodes’ or ‘Install Models’, an installer dialog box will appear.

For nodes:

ComfyUI Manager – ComfyUI (3)

For models:

ComfyUI Manager – ComfyUI (4)

In this dialog:

  • Installed: Indicates that the item is already installed on your system.
  • Install: Click this button to install the respective node or model.
  • Try Install: For nodes whose installation details might be ambiguous or unverified, this button allows you to attempt the installation. Use with caution.

4. Customizing Node Display

In the manager menu, you’ll find a Badge option. This allows you to customize how the nodes are displayed:

  • Badge: Nickname: This displays the nickname or a short name for the custom nodes.
  • Badge: ID Nickname: Along with the nickname, this option will also show the internal ID of the node, providing more detailed information.
ComfyUI Manager – ComfyUI (5)

How to register your custom node into ComfyUI-Manager

  • Add an entry tocustom-node-list.jsonlocated in the root of ComfyUI-Manager and submit a Pull Request.
  • NOTE: Before submitting the PR after making changes, please checkUse local DBand ensure that the extension list loads without any issues in theInstall custom nodesdialog. Occasionally, missing or extra commas can lead to JSON syntax errors.
  • The remaining JSON will be updated through scripts in the future, so you don’t need to worry about it.

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.
  • Please submit a pull request to update either the custom-node-list.json or model-list.json file.
  • The scanner currently provides a detection function for missing nodes, which is capable of detecting nodes described by the following two patterns.
    • Or you can provide manuallynode_list.jsonfile.
NODE_CLASS_MAPPINGS = { "ExecutionSwitch": ExecutionSwitch, "ExecutionBlocker": ExecutionBlocker, ...}NODE_CLASS_MAPPINGS.update({ "UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor, "SemSegPreprocessor": Uniformer_SemSegPreprocessor,})
  • 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 thenicknameis being used, but other parts will also be utilized in the future.
    • Thenicknamewill be the name displayed on the badge of the node.
    • If there is nonickname, 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)
    • 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)
    • 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.jsfile, 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.

Support of missing nodes installation

ComfyUI Manager – ComfyUI (6)
  • When you click on theInstall Missing Custom Nodesbutton in the menu, it displays a list of extension nodes that contain nodes not currently present in the workflow.
ComfyUI Manager – ComfyUI (7)

ComfyUI-Manager Troubleshooting

  • If yourgit.exeis installed in a specific location other than system git, please install ComfyUI-Manager and run ComfyUI. Then, specify the path including the file name ingit_exe = in the ComfyUI-Manager/config.ini file that is generated.
  • If updating ComfyUI-Manager itself fails, please go to theComfyUI-Managerdirectory and execute the commandgit update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull.
  • Alternatively, download the update-fix.py script fromupdate-fix.pyand 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 likePreviewTextNodefromComfyUI_Custom_Nodes_AlekPetare only supported as front-end nodes, we currently do not provide missing nodes for them.
  • Currently,vid2vidis not being updated, causing compatibility issues.
ComfyUI Manager – ComfyUI (2024)

References

Top Articles
Latest Posts
Article information

Author: Gregorio Kreiger

Last Updated:

Views: 5558

Rating: 4.7 / 5 (77 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Gregorio Kreiger

Birthday: 1994-12-18

Address: 89212 Tracey Ramp, Sunside, MT 08453-0951

Phone: +9014805370218

Job: Customer Designer

Hobby: Mountain biking, Orienteering, Hiking, Sewing, Backpacking, Mushroom hunting, Backpacking

Introduction: My name is Gregorio Kreiger, I am a tender, brainy, enthusiastic, combative, agreeable, gentle, gentle person who loves writing and wants to share my knowledge and understanding with you.