SDXL 프롬프트 스타일러를 활용해 고화질 컨셉 이미지 생성하기

SDXL이 공개된지 한참 시간이 흘러 이제 쓸만한 파인튜닝 모델들도 제법 쉽게 구할 수 있게 되었습니다. 오늘은 SD1.5 대비 SDXL이 보여주는 압도적인 표현력을 간편하게 경험할 수 있는 SDXL 프롬프트 스타일러를 설치하고 이미지를 생성해보도록 하겠습니다. 기존의 SD.15 모델 유저분들도 하드웨어 여건만 된다면 SDXL로 넘어오시거나 점차 두 버전을 모두 사용하는 추세이므로, 아직 SDXL의 강력한 화질을 체감하지 못한 분들은 꼭 프롬프트 스타일러를 사용해 다양한 컨셉의 고화질 이미지를 경험해보시기 바랍니다.

프롬프트 스타일러란

프롬프트 스타일러란 사용자가 입력한 프롬프트에 SDXL 모델로 표현할 수 있는 106가지 스타일에 대한 프리셋을 더해 다양한 고품질의 이미지를 만들 수 있도록 세팅된 확장기능입니다. 본문에서는 ComfyUI에서 프롬프트 스타일러를 설치하고 실행합니다. ComfyUI 및 커스텀 노드 설치 방법에 대해 자세한 설명이 필요하신 분들은 아래 글을 참고해주시기 바랍니다.

프롬프트 스타일러 설치

프롬프트 스타일러를 활용하기 위해 먼저 ComfyUI 커스텀노드를 설치해야 합니다. ComfyUI 설치 경로에서 custom_nodes 폴더에 아래 주소를 Git Clone 하거나 ComfyUI Manager에서 SDXL Prompt Styler를 검색하여 설치합니다.

Git 주소 : https://github.com/twri/sdxl_prompt_styler.git

SDXL 프롬프트 스타일러 커스텀노드 설치

커스텀 노드 설치를 마친 뒤에는 반드시 ComfyUI를 재시작 해주시기 바랍니다. 재시작 후 ComfyUI Manager에서 위 예시와 같이 Install 대신 Disable/Uninstall이 등장한다면 제대로 설치가 된 것으로 볼 수 있지만, 예시처럼 노란색 경고로 충돌이 나는 노드(Conflicted Nodes)가 명시된 경우, 이 노드들 때문에 설치한 커스텀 노드가 정상적으로 동작하지 않을 수도 있습니다. 만약 이런 경우라면 충돌 노드를 Disable 또는 제거한 뒤 재시도 해보시거나, 글도 해결되지 않는다면 ComfyUI를 새 버전으로 설치하여 SDXL Prompt Styler를 다시 설치해주셔야 합니다.

프롬프트 스타일러 워크프로우 구성

ComfyUI 기본 워크플로우 및 컨트롤넷, 로라 워크플로우를 구성해본 경험이 있으시다면, SDXL 프롬프트 스타일러 워크플로우 구성 또한 크게 어렵지 않습니다. 만약 워크플로우 구성에 어려움이 있으시다면 아래 글을 참고하시기 바랍니다.

먼저 기본 워크플로우에서 SDXL Prompt Styler 노드와 SDXL용 CLIP Text Encoder 노드 2개(긍정/부정 각1개)를 새로 추가한 뒤 아래와 같이 워크플로우를 구성합니다.

SDXL 프롬프트 스타일러 기본 워크플로우 구성

좌 하단의 SDXL Prompt Styler에서 CLIP Text Encoder 긍정/부정 텍스트를 넘겨주는 형태며, 그 외에는 기본 KSampler를 사용하여 Default 워크플로우를 그대로 차용했습니다. 위의 예시 워크플로우가 절대적인 구성은 아닙니다. 프롬프트를 KSampler로 전달하는 부분에 프롬프트 스타일러 노드가 추가된 것만 잘 이용하면, 추후 다른 복잡한 워크플로우 구성에도 충분히 SDXL 프롬프트 스타일러를 활용하실 수 있습니다. 일단 기본 워크플로우를 기준으로 각 노드별 역할을 한 번 더 짚고 넘어가면 다음과 같습니다.

Empty Latent Image에는 1024×1024 해상도를 입력합니다. 물론 필요에 따라 다른 해상도를 입력해도 무방하지만 SDXL 모델의 학습이 최적화된 해상도를 사용하는 것이 고품질 이미지 생성에는 아무래도 도움이 됩니다. 오히려 해상도를 너무 낮게 입력하면 품질이 열화되므로 최소 768 이상으로 설정해주시기 바랍니다.

체크포인트 모델으 평소 사용하는 SDXL 체크포인트를 로딩하시면 되고, 아직 SDXL VAE 모델이 필요하신 경우 아래에서 다운받아 사용하시기 바랍니다. KSampler 설정은 사용하는 SDXL 체크포인트 모델에 따라 모델이 권장하는 설정값을 사용합니다.

SDXL Prompt Styler Node

기타 기본 노드 설정은 위와 같이 마친 뒤, SDXL 프롬프트 스타일러 노드만 잘 설정해주시면 됩니다. 여기서는 아래 그림과 같이 프롬프트를 입력하는 칸(긍정/부정 총 2칸) 아래에 style 부분만 선택해주시면 됩니다.

SDXL 프롬프트 스타일러 노드

즉, 긍정 프롬프트에 평소와 똑같이 프롬프트를 입력하고, 아래 스타일에서 미리 준비된 다양한 스탈일은 선택하기만 하면, 해당 노드가 자동으로 사용자가 입력한 프롬프트와 미리 세팅된 스타일 프롬프트를 CLIP 인코더로 전달합니다. 본문에서는 스타일러 자체의 영향력을 최대한 확인하기 위해 사용자 입력 프롬프트를 최소한으로 작성했습니다.

SDXL 프롬프트 스타일러 그림 생성

아래는 프롬프트에 단순히 girl이란 태그 하나만 작성하고 전체 스타일 중 몇가지만 추려 다양한 프리셋 값으로 설정을 바꿔가며 ComfyUI에서 그림을 생성했을 때 얻은 결과 이미지입니다.

SDXL 프롬프트 스타일러 결과 이미지 첫번째 예시
SDXL 프롬프트 스타일러 결과 이미지 두번째 예시

위에서 볼 수 있듯 SDXL 프롬프트 스타일러를 활용하면 단순히 girl만 입력하고 생성한 결과라기엔 놀라운 품질의 결과 이미지를 얻을 수 있습니다. 예시에서는 인물(girl)을 주 피사체로 이미지를 생성했지만, 상품이나 배경을 그리는 스타일도 마련되어 있기 때문에 다양한 목적으로 활용이 가능할 것 같습니다.

스타일 프롬프트 확인하기

만약 SDXL Prompt Styler 노드에서 log_prompt 설정이 yes로 체크되어 있다면, 이미지를 생성하는 과정에서 아래와 같이 터미널에 실제 사용된 프롬프트가 출력됩니다.

스타일 프롬프트 터미널 출력확인

위 예시는 sai-comic book 스타일을 적용했을 때 실제 이미지가 생성되면서 터미널에 출력된 프롬프트를 보여주고 있습니다. 터미널의 내용을 보면 사용자가 입력한 프롬프트는 “girl” 한 단어지만, 그 아래는 다음과 같이 스타일 프롬프트가 추가적으로 적용된 것을 알수 있습니다.

  • text_positive_styled: comic girl . graphic illustraion, comic art, graphic novel art, vibrant, highly detailed
  • text_negative_styled: photograph, deformed, glitch, noisy, realistic, stock photo

이를 반대로 생각하면, 스타일 프롬프트를 터미널에서 확인하고 사용자가 해당 프롬프트를 자유롭게로 수정하여 응용할 수도 있다는 의미입니다. 또한 프리셋 스타일 프롬프트를 공부함으로써 SDXL 모델이 프롬프트에 따라 스타일을 어떤 방식으로 반영하는지도 살펴볼 수 있습니다.