Saltar al contenido principal

Especificaciones

El archivo pyproject.toml contiene dos secciones principales para los nodos personalizados de ComfyUI: [project] y [tool.comfy]. A continuación encontrarás las especificaciones de cada sección.

Sección [project]

name (requerido)

El id del nodo identifica de forma única al nodo personalizado y se usará en las URL del registry. Los usuarios pueden instalar el nodo haciendo referencia a este nombre:
Requisitos:
  • Debe tener menos de 100 caracteres
  • Solo puede contener caracteres alfanuméricos, guiones, guiones bajos y puntos
  • No puede tener caracteres especiales consecutivos
  • No puede comenzar con un número ni con un carácter especial
  • La comparación no distingue mayúsculas de minúsculas
Buenas prácticas:
  • Usa un nombre corto y descriptivo
  • No incluyas “ComfyUI” en el nombre
  • Hazlo fácil de recordar y de escribir
Ejemplos:
Consulta la documentación oficial de python para obtener más detalles.

version (requerido)

Usa versionado semántico con un número de versión de tres dígitos X.Y.Z:
  • X (MAJOR): Cambios incompatibles
  • Y (MINOR): Funciones nuevas (compatibles con versiones anteriores)
  • Z (PATCH): Correcciones de errores
Ejemplos:

license (opcional)

Especifica la licencia de tu nodo personalizado. Puedes especificarla de dos maneras:
  1. Referencia a un archivo:
  1. Nombre de la licencia:
Licencias comunes: MIT, GPL, Apache

description (recomendado)

Una descripción breve de lo que hace tu nodo personalizado.

repository (requerido)

Enlaces a recursos relacionados:

urls (recomendado)

Enlaces a recursos relacionados:

requires-python (recomendado)

Especifica las versiones de Python que admite tu nodo:

Compatibilidad de versiones del frontend (opcional)

Si tu nodo tiene requisitos específicos sobre qué versiones del frontend de ComfyUI admite, puedes especificarlo con la dependencia comfyui-frontend-package. Este paquete se publica en PyPI. Por ejemplo, usa este campo cuando:
  • Tu nodo personalizado usa API del frontend que se introdujeron en una versión específica
  • Has identificado incompatibilidades entre tu nodo y ciertas versiones del frontend
  • Tu nodo requiere funciones de UI específicas que solo están disponibles en versiones más recientes del frontend

classifiers (recomendado)

Usa los clasificadores para especificar la compatibilidad con el sistema operativo y los aceleradores GPU. Esta información ayuda a los usuarios a encontrar el nodo adecuado para su sistema.

Sección [tool.comfy]

PublisherId (requerido)

Tu identificador único de editor, que normalmente coincide con tu nombre de usuario de GitHub. Ejemplos:

DisplayName (opcional)

Un nombre fácil de leer y reconocer para tu nodo personalizado.

Icon (opcional)

URL al icono de tu nodo personalizado que se mostrará en ComfyUI Registry y ComfyUI-Manager. Requisitos:
  • Tipos de archivo: SVG, PNG, JPG o GIF
  • Resolución máxima: 400px × 400px
  • La relación de aspecto debe ser cuadrada
URL a una imagen de banner más grande que se mostrará en ComfyUI Registry y ComfyUI-Manager. Requisitos:
  • Tipos de archivo: SVG, PNG, JPG o GIF
  • Relación de aspecto: 21:9

requires-comfyui (opcional)

Especifica con qué versión de ComfyUI es compatible tu nodo. Esto ayuda a los usuarios a asegurarse de que tienen instalada la versión correcta de ComfyUI. Operadores admitidos: <, >, <=, >=, ~=, <>, != y rangos

includes (opcional)

Indica si quieres forzar la inclusión de determinadas carpetas concretas. En algunas situaciones, como los nodos personalizados en proyectos de frontend, la carpeta de salida final empaquetada puede estar incluida en .gitignore. En esos casos, necesitamos forzar su inclusión para poder usar el registro.
Para excluir archivos del paquete publicado (lo inverso de includes), consulta .comfyignore en la página de publicación.

Ejemplo completo