asagi4/comfyui-prompt-control

ComfyUI nodes for prompt editing and LoRA control

ComfyUI 프롬프트 제어

이것은 수십 개의 노드를 수동으로 연결하는 대신 일반 텍스트 프롬프트를 사용하여 복잡한 AI 이미지 생성 워크플로우를 제어할 수 있는 ComfyUI 확장 기능입니다.

주요 기능

ComfyUI에서 복잡한 워크플로우(프롬프트가 변경되는 시점을 스케줄링하거나 단계별로 다른 LoRA를 로딩하는 등)를 구축하려면 서로 연결된 노드들의 복잡한 "스파게티"를 만들어야 합니다. 이 도구는 특별한 텍스트 구문을 분석하여 해당 노드 그래프를 자동으로 생성합니다. 단일 텍스트 박스에서 프롬프트 스케줄링, LoRA 로딩, 고급 텍스트 인코딩, 리전 프로프팅을 모두 처리할 수 있습니다.

핵심 기능

  • 프롬프트 스케줄링: 특정 단계에서 프롬프트 전환 (예: [cat:dog:0.1]은 생성 과정의 10% 지점에서 cat에서 dog로 변경됨).
  • LoRA 스케줄링: ComfyUI의 내장 훅 시스템을 사용하여 LoRA(미세 조정된 모델 어댑터)를 로드하고 스케줄링합니다.
  • 고급 텍스트 인코딩: PCTextEncode 노드를 사용하여 인코더별 프롬프트(SDXL/Flux와 같이 여러 텍스트 인코더를 가진 모델에 유용), BREAK 및 AND와 같은 프롬프트 조합기, 그리고 다양한 가중치 해석 스타일을 사용합니다.
  • 리전 프로프팅 (Regional Prompting): Attention Couple을 구현하여 이미지의 서로 다른 영역에 서로 다른 프롬프트를 적용합니다 (예: 배경의 개, 전경의 고양이).
  • 지연 그래프 실행 (Lazy Graph Execution): PCLazyTextEncode와 같은 노드들은 실제로 변경되는 스케줄 부분만 다시 인코딩하므로 반복 작업이 빨라집니다.
  • 매크로 및 세그먼트: 매우 복잡한 프롬프트를 재사용 가능한 세그먼트로 구성합니다.

작동 원리

특별한 구문을 사용하여 프롬프트를 작성합니다. 확장 기능의 파서(속도를 위해 parsy 라이브러리로 재작성됨)가 이 텍스트를 읽습니다. 그런 다음 PCLazyTextEncode 및 PCLazyLoraLoader와 같은 노드들이 표준 노드(CLIPTextEncode 및 LoraLoader 등)를 사용하여 기저의 ComfyUI 그래프를 동적으로 구축합니다. ComfyUI의 핵심 엔진에 무거운 작업을 위임하므로 대부분의 모델 및 다른 커스텀 노드와 호환성을 유지합니다.

사용 사례

  • 수십 개의 노드를 수동으로 연결하지 않고 복잡하고 동적인 이미지 워크플로우를 생성합니다.
  • 생성의 특정 단계에서 피사체나 스타일을 전환합니다.
  • 생성 프로세스 중에 서로 다른 시점에 다른 LoRA를 적용합니다.
  • 단일 텍스트 프롬프트에서 리전 프로프팅을 수행합니다 (예: 전경 vs 배경 요소 제어).

기술적 세부 사항

  • ComfyUI v0.8.0 이상 필요 (v3.0.0+).
  • 기존 워크플로우와 하위 호환성을 유지합니다.
  • Cutoff 기능(프롬프트 마스킹용)은 Flux 모델에서 사용되는 것과 같은 비-CLIP 텍스트 인코더에서는 작동하지 않습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트