Specifications
Thepyproject.toml
file contains two main sections for ComfyUI custom nodes: [project]
and [tool.comfy]
. Below are the specifications for each section.
[project] Section
name (required)
The node id uniquely identifies the custom node and will be used in URLs from the registry. Users can install the node by referencing this name:- Must be less than 100 characters
- Can only contain alphanumeric characters, hyphens, underscores, and periods
- Cannot have consecutive special characters
- Cannot start with a number or special character
- Case-insensitive comparison
- Use a short, descriptive name
- Don’t include “ComfyUI” in the name
- Make it memorable and easy to type
version (required)
Uses semantic versioning with a three-digit version number X.Y.Z:- X (MAJOR): Breaking changes
- Y (MINOR): New features (backwards compatible)
- Z (PATCH): Bug fixes
license (optional)
Specifies the license for your custom node. Can be specified in two ways:- File Reference:
- License Name:
description (recommended)
A brief description of what your custom node does.repository (required)
Links to related resources:urls (recommended)
Links to related resources:requires-python (recommended)
Specifies the Python versions that your node supports:Frontend Version Compatibility (optional)
If your node has specific requirements for which ComfyUI frontend versions it supports, you can specify this using thecomfyui-frontend-package
dependency. This package is published on PyPI.
For example, use this field when:
- Your custom node uses frontend APIs that were introduced in a specific version
- You’ve identified incompatibilities between your node and certain frontend versions
- Your node requires specific UI features only available in newer frontend versions
classifiers (recommended)
Use classifiers to specify operating system compatibility and GPU accelerators. This information is used to help users find the right node for their system.[tool.comfy] Section
PublisherId (required)
Your unique publisher identifier, typically matching your GitHub username. Examples:DisplayName (optional)
A user-friendly name for your custom node.Icon (optional)
URL to your custom node’s icon that will be displayed on the ComfyUI Registry and ComfyUI-Manager. Requirements:- File types: SVG, PNG, JPG, or GIF
- Maximum resolution: 400px × 400px
- Aspect ratio should be square
Banner (optional)
URL to a larger banner image that will be displayed on the ComfyUI Registry and ComfyUI-Manager. Requirements:- File types: SVG, PNG, JPG, or GIF
- Aspect ratio: 21:9
requires-comfyui (optional)
Specifies which version of ComfyUI your node is compatible with. This helps users ensure they have the correct version of ComfyUI installed. Supported operators:<
, >
, <=
, >=
, ~=
, <>
, !=
and ranges