메인 콘텐츠로 건너뛰기

사양

pyproject.toml 파일에는 ComfyUI 커스텀 노드를 위한 두 가지 주요 섹션이 포함되어 있습니다: [project][tool.comfy]. 아래는 각 섹션의 사양입니다.

[project] 섹션

name (필수)

노드 ID는 커스텀 노드를 고유하게 식별하며, 레지스트리의 URL에서 사용됩니다. 사용자는 이 이름을 참조하여 노드를 설치할 수 있습니다:
요구사항:
  • 100자 미만이어야 합니다.
  • 알파벳과 숫자, 하이픈, 밑줄, 점만 포함할 수 있습니다.
  • 연속된 특수 문자를 포함할 수 없습니다.
  • 숫자나 특수 문자로 시작할 수 없습니다.
  • 대소문자를 구분하지 않습니다.
모범 사례:
  • 짧고 설명적인 이름을 사용하세요.
  • 이름에 “ComfyUI”를 포함하지 마세요.
  • 기억하기 쉽고 입력하기 편한 이름을 지정하세요.
예시:
자세한 내용은 공식 파이썬 문서를 참조하세요.

version (필수)

semantic versioning을 사용하며, X.Y.Z 세 자리 버전 번호를 사용합니다:
  • X (MAJOR): 중대한 변경사항
  • Y (MINOR): 새로운 기능 (하위 호환성 유지)
  • Z (PATCH): 버그 수정
예시:

license (선택적)

커스텀 노드의 라이선스를 지정합니다. 두 가지 방식으로 지정할 수 있습니다:
  1. 파일 참조:
  1. 라이선스 이름:
공통 라이선스: MIT, GPL, Apache

description (권장)

커스텀 노드가 하는 일을 간략히 설명합니다.

repository (필수)

관련 자료로 연결합니다:

urls (권장)

관련 자료로 연결합니다:

requires-python (권장)

노드가 지원하는 파이썬 버전을 지정합니다:

프론트엔드 버전 호환성 (선택적)

노드가 특정 ComfyUI 프론트엔드 버전을 요구하는 경우, comfyui-frontend-package 종속성을 사용해 이를 지정할 수 있습니다. 이 패키지는 PyPI에 게시됩니다. 예를 들어 다음 경우에 이 필드를 사용하세요:
  • 커스텀 노드가 특정 버전에서 도입된 프론트엔드 API를 사용하는 경우
  • 노드와 특정 프론트엔드 버전 간의 호환성 문제가 발견된 경우
  • 노드가 최신 프론트엔드 버전에서만 제공되는 특정 UI 기능을 필요로 하는 경우

classifiers (권장)

운영체제 호환성 및 GPU 가속기를 지정하기 위해 classifier를 사용합니다. 이 정보는 사용자가 자신의 시스템에 적합한 노드를 찾도록 돕습니다.

[tool.comfy] 섹션

PublisherId (필수)

고유한 출판사 식별자로, 일반적으로 GitHub 사용자명과 일치합니다. 예시:

DisplayName (선택적)

커스텀 노드의 사용자 친화적인 이름입니다.

Icon (선택적)

ComfyUI 레지스트리와 ComfyUI-Manager에 표시될 커스텀 노드 아이콘의 URL입니다. 요구사항:
  • 파일 형식: SVG, PNG, JPG, GIF
  • 최대 해상도: 400px × 400px
  • 종횡비는 정사각형이어야 합니다.
ComfyUI 레지스트리와 ComfyUI-Manager에 표시될 큰 배너 이미지의 URL입니다. 요구사항:
  • 파일 형식: SVG, PNG, JPG, GIF
  • 종횡비: 21:9

requires-comfyui (선택적)

노드가 호환되는 ComfyUI 버전을 지정합니다. 사용자가 올바른 ComfyUI 버전을 설치했는지 확인하도록 돕습니다. 지원 연산자: <, >, <=, >=, ~=, <>, != 및 범위

includes (선택적)

특정 폴더를 강제로 포함할지 여부를 지정합니다. 일부 상황에서는 프론트엔드 프로젝트의 커스텀 노드와 같이 최종 패키징 출력 폴더가 .gitignore에 포함될 수 있습니다. 이런 경우 레지스트리 사용을 위해 강제로 포함해야 합니다.
게시된 아카이브에서 파일을 제외하려면(‘includes’의 반대), 게시 페이지의 .comfyignore를 참조하세요.

전체 예시