ComfyUI Expert Text Prompt: AST 기반 프롬프트 파서 노드
새로운 ComfyUI 커스텀 노드가 프롬프트를 AST 로 파싱합니다: 가중치 와일드카드, 프롬프트 그룹, 인라인 음소거 및 솔로, 자동 네거티브 라우팅 및 내장 구문 검사기.
전문 텍스트 프롬프트 노드는 전체 프롬프트를 정규식 노드나 단어 목록 파일을 연결하는 대신 문법 트리로 파싱합니다.
정규식 체인 대신 단일 노드
전문 텍스트 프롬프트 는 v3rm1ll1on 이 만든 새로운 커스텀 노드로, 프롬프트 정규식 노드와 단어 목록 파일을 단일 AST 기반 파서로 대체합니다. 무작위화 노드의 사슬을 구축하는 대신, 하나의 프롬프트 문자열을 작성하면 노드가 이를 문법 트리로 파싱하며, 가장 실용적인 기능인 내장 구문 검사를 가능하게 합니다. 이는 침묵적으로 실패하는 대신 누락된 괄호의 정확한 문자 위치를 지적합니다.
기능 투어
| 기능 | 구문 | 동작 방식 |
|---|---|---|
| 가중치 와일드카드 | {70% blue | 30% green} | 옵션별 사용자 정의 확률 |
| 스킵 확률 | {20%? sunglasses} | 태그를 완전히 생략할 20% 확률 |
| 프롬프트 그룹 | [GRP:NAME] | 긴 프롬프트를 의미 있는 섹션으로 정리합니다 |
| 인라인 음소거 | // leather jacket | 삭제하지 않고 태그나 그룹을 주석 처리합니다 |
| 인라인 솔로 | ! tag | 솔로 처리된 태그나 그룹만 실행합니다 |
| 네거티브 추출 | -sunglasses | 태그를 자동으로 네거티브 출력으로 라우팅합니다 |
| 숫자 범위 | {18-50} / {0-10:2} | 임의 또는 단계별 수치 와일드카드 |
$negative 플레이스홀더 | 네거티브 필드 어디에서나 | 추출된 네거티브가 정확히 어디에 주입되는지 제어합니다 |
SDXL 스타일의 가중치 (tag:1.2) 와 인라인 LoRA 태그 <lora:my_lora:1.1> 은 파싱 후에도 변경되지 않고 유지되며, 결정론적 시드를 사용하면 모든 와일드카드 선택이 재생산 가능합니다. 노드는 또한 가능한 프롬프트 조합 총수를 정수 출력으로 보고하여, 배치가 실제로 샘플링하는 변형 공간의 크기를 추정하는 데 유용합니다.
배포 정보
노드는 ComfyUI Registry 에 v3rm1ll1on(라이선스: MIT) 이 게시한 전문 텍스트 프롬프트 (Wildcards & AST) 이름으로 제공됩니다. ComfyUI 매니저를 통해 설치하거나, custom_nodes 폴더에 저장소를 복제할 수 있습니다. 예제 폴더 에는 일곱 가지 점진적으로 난이도가 높아지는 프롬프트 템플릿이 포함되어 있으며, 마지막은 그룹, 가중치 및 중첩 와일드카드를 결합한 마스터클래스 캐릭터 생성기로 끝납니다.
댓글
GitHub로 로그인하고 토론에 참여하세요.