Skip to main content

No project description provided

Project description

ComfyUI Nodes for External Tooling

Provides nodes and API geared towards using ComfyUI as a backend for external tools.

Nodes for sending and receiving images

ComfyUI exchanges images via the filesystem. This requires a multi-step process (upload images, prompt, download images), is rather inefficient, and invites a whole class of potential issues. It's also unclear at which point those images will get cleaned up if ComfyUI is used via external tools.

Load Image (Base64)

Loads an image from a PNG embedded into the prompt as base64 string.

  • Inputs: base64 encoded binary data of a PNG image
  • Outputs: image (RGB) and mask (alpha) if present

Load Mask (Base64)

Loads a mask (single channel) from a PNG embedded into the prompt as base64 string.

  • Inputs: base64 encoded binary data of a PNG image
  • Outputs: the first channel of the image as mask

Send Image (WebSocket)

Sends an output image over the client WebSocket connection as PNG binary data.

  • Inputs: the image (RGB or RGBA)

This will first send one binary message for each image in the batch via WebSocket:

12<PNG-data>

That is two 32-bit integers (big endian) with values 1 and 2 followed by the PNG binary data. There is also a JSON message afterwards:

{'type': 'executed', 'data': {'node': '<node ID>', 'output': {'images': [{'source': 'websocket', 'content-type': 'image/png', 'type': 'output'}, ...]}, 'prompt_id': '<prompt ID>}}

Nodes for working on regions

When integrating ComfyUI into tools which use layers and compose them on the fly, it is useful to only receive relevant masked regions.

Apply Mask to Image

Copies a mask into the alpha channel of an image.

  • Inputs: image and mask
  • Outputs: RGBA image with mask used as transparency

API for model inspection

There are various types of models that can be loaded as checkpoint, LoRA, ControlNet, etc. which cannot be used interchangeably. The following API helps to categorize and filter them.

/etn/model_info

Lists available models with additional classification info.

  • Paramters: none
  • Output: list of model files
    {
        "checkpoint_file.safetensors": {
            "base_model": "sd15"|"sd20"|"sd21"|"sdxl"|"ssd1b"|"svd",
            "is_inpaint": true|false,
            "is_refiner": true|false
        },
        ...
    }
    
    The entry is {"base_model": "unknown"} for models which are not in safetensors format or do not match any of the known base models.

Note: currently only supports checkpoints. May add other models in the future.

Installation

Download the repository and unpack into the custom_nodes folder in the ComfyUI installation directory.

Or clone via GIT, starting from ComfyUI installation directory:

cd custom_nodes
git clone https://github.com/Acly/comfyui-tooling-nodes.git

Restart ComfyUI and the nodes are functional.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

comfyui_tooling_nodes-0.1.0.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

comfyui_tooling_nodes-0.1.0-py2.py3-none-any.whl (31.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file comfyui_tooling_nodes-0.1.0.tar.gz.

File metadata

File hashes

Hashes for comfyui_tooling_nodes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 16007ae5b6da1a0292a82c25bab167aa9b2b7b8b532b29670e31a43c7d39779d
MD5 fef11abb5adf92c5c4fa8fe84feb482b
BLAKE2b-256 10992405f198abd4890491b9bb2adec440915fb28f551c94116acdd4ba6a3a69

See more details on using hashes here.

File details

Details for the file comfyui_tooling_nodes-0.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for comfyui_tooling_nodes-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a67723c739a75f167c1c6ec02e6179f70a023afab4ec96b1165018bc011a4e7a
MD5 fcee0b9737ef0ce0f290dad725a9aae0
BLAKE2b-256 07a0cf19cccb764fd2f62ad57a3035c2c899d280ee9f21687fc29f918c7a5995

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page