[comfyUI] 커스텀 노드 셋팅방법

코드왕·2025년 7월 11일
  1. 기본 디렉토리 구조
    ComfyUI의 custom_nodes 폴더에 새로운 폴더를 만들어야 합니다:
    ComfyUI/
    ├── custom_nodes/
    │ └── your_custom_node/
    │ ├── init.py
    │ ├── your_node.py
    │ └── requirements.txt (선택사항)
  2. 기본 노드 구조
    your_node.py 파일에서 노드 클래스를 정의합니다:
    pythonclass YourCustomNode:
    @classmethod
    def INPUT_TYPES(cls):
    return {
    "required": {
    "input_text": ("STRING", {"default": "Hello World"}),
    "input_number": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.1}),
    },
    "optional": {
    "optional_input": ("STRING", {"default": ""}),
    }
    }
    RETURN_TYPES = ("STRING",)
    RETURN_NAMES = ("output_text",)
    
    FUNCTION = "process"
    CATEGORY = "Custom Nodes"
    
    def process(self, input_text, input_number, optional_input=""):
        # 여기에 실제 처리 로직을 작성
        result = f"{input_text} - Number: {input_number}"
        if optional_input:
            result += f" - Optional: {optional_input}"
        return (result,)

노드 매핑

NODE_CLASS_MAPPINGS = {
"YourCustomNode": YourCustomNode
}

NODE_DISPLAY_NAME_MAPPINGS = {
"YourCustomNode": "Your Custom Node"
}
3. init.py 파일 설정
init.py 파일에서 노드를 등록합니다:
pythonfrom .your_node import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS

all = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']

profile
CODE DIVE!

0개의 댓글