메인 콘텐츠로 건너뛰기
커스텀 노드를 사용하면 새로운 기능을 구현하고 이를 더 넓은 커뮤니티와 공유할 수 있습니다. 커스텀 노드는 일반적인 Comfy 노드와 같습니다: 입력을 받아 어떤 작업을 수행한 후 출력을 생성합니다. 일부 커스텀 노드는 매우 복잡한 작업을 수행하지만, 많은 노드는 단순히 하나의 작업만 수행합니다. 다음은 이미지를 입력받아 반전시키는 간단한 노드의 예시입니다. 고유 이미지 노드 커스텀 노드 예시:

클라이언트-서버 모델

Comfy는 클라이언트-서버 모델로 작동합니다. 파이썬으로 작성된 서버는 데이터 처리, 모델, 이미지 확산 등 모든 실제 작업을 담당합니다. 자바스크립트로 작성된 클라이언트는 사용자 인터페이스를 담당합니다. Comfy는 API 모드에서도 사용될 수 있으며, 이 경우 워크플로우가 비Comfy 클라이언트(예를 들어 다른 UI 또는 명령줄 스크립트)에 의해 서버로 전송됩니다. 커스텀 노드는 네 가지 카테고리 중 하나에 배치될 수 있습니다:

서버 측에서만 실행

대부분의 커스텀 노드는 순수하게 서버 측에서 실행되며, 입력과 출력 유형을 지정하는 파이썬 클래스를 정의하고, 입력을 처리해 출력을 생성하는 함수를 제공합니다.

클라이언트 측에서만 실행

몇몇 커스텀 노드는 클라이언트 UI를 수정하지만 핵심 기능을 추가하지는 않습니다. 이름과는 달리, 이 노드들이 시스템에 새로운 노드를 추가하지 않을 수도 있습니다.

독립적인 클라이언트 및 서버

커스텀 노드는 추가적인 서버 기능과 관련된 추가적인 UI 기능(예를 들어 새로운 데이터 유형을 다루기 위한 새 위젯)을 제공할 수 있습니다. 대부분의 경우 클라이언트와 서버 간의 통신은 Comfy 데이터 흐름 제어를 통해 처리됩니다.

연결된 클라이언트 및 서버

소수의 경우, UI 기능과 서버가 서로 직접 상호작용해야 합니다.
클라이언트-서버 통신을 필요로 하는 모든 노드는 API를 통한 사용과 호환되지 않습니다.