ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ComfyUI) 이미지를 순서대로 생성하자
    Stable Diffusion 2024. 10. 13. 08:00
    반응형

    ComfyUI에서 이미지를 생성할 때, 프롬프트를 입력한 후 Queue Prompt 버튼을 눌러야 합니다. Batch sizd를 늘리면 생성되는 이미지의 수는 많아지지만, 프롬프트 자체는 변경되지 않습니다. 여러 이미지를 생성하기 위해 프롬프트 생성 노드를 사용할 수 있지만, 원하는 결과를 얻지 못하는 경우가 많습니다. 

    이럴 때, 여러 개의 프롬프트를 미리 준비해 두고 이를 차례대로 적용해 이미지를 생성할 수 있는 방법이 있으면 좋겠다고 생각할 수 있는데, 이에 대한 좋은 방법을 소개해 드리겠습니다. 이 방법은 텍스트 파일에 미리 작성한 프롬프트들을 저장해 두고, 이를 차례로 불러와 이미지를 생성하는 방법입니다. 

    Nodes

    텍스트 파일의 프롬프트를 불러오기 위해 Load Prompts From File (Inspire) 노드와 Unzip Prompt (Inspire) 노드를 사용합니다. 그리고 Show Text 노드가 있으면 편리합니다. Load Prompts From File (Inspire) 노드와 Unzip Prompt (Inspire) 노드는 ComfyUI Inspire pack, Show Text 노드는 ComfyUI Custom Scripts를 설치하면 사용할 수 있습니다. 

    Load Prompts From File (Inspire) 노드와 Unzip Prompt (Inspire) 노드의 연결

    노드의 사용법은 매우 간단합니다. 먼저 Load Prompts From File (Inspire) 노드에서 프롬프트가 저장된 텍스트 타일을 선택하고, 이를 다른 노드와 연결하기만 하면 됩니다. 노드들은 위 그림과 같이 연결하며, Unzip Prompt (Inspire) 노드의 positive와 negative 포인트는 CLIP Text Encode (Prompt) 노드에 연결합니다. CLIP Text Encode (Prompt) 노드는 기본 설정에서는 텍스트 입력을 받을 수 없으므로, 이를 수정해야 합니다. 노드의 빈 공간에서 마우스 오른쪽 버튼을 클릭한 후, 나타나는 메뉴에서 Convert Widget to Input" → "Convert text to input을 순서대로 선택하면 텍스트 입력 포인트가 생성됩니다. 이를 통해 다른 노드에서 프롬프트를 입력받을 수 있습니다. 

    CLIP Text Encode (Prompt) 노드의 위젯 수정

    전체 워크플로우

    이미지 생성 워크플로우는 기본 워크플로우에 프롬프트를 불러오는 노드를 추가한 형태입니다. 이 기본적인 구성만으로도 이미지 생성은 원활하게 진행됩니다. 다만, 인물 이미지를 생성할 때 얼굴이 제대로 표현되지 않을 수 있으므로 Face Detailer를 함께 사용하는 것이 좋습니다. Face Detailer를 사용하면 얼굴 디테일을 개선해 보다 자연스러운 결과물을 얻을 수 있습니다. 

    Face Detailer의 사용 방법은 이전 블로그 글을 참고해 주시기 바랍니다. 

     

    ComfyUI) 얼굴 이미지를 자연스럽게 바꾸자 - FaceDetailer

    AI를 이용해 이미지를 생성할 때, 얼굴이 부자연스럽게 나오는 경우가 종종 있습니다. 특히 얼굴만 크게 생성할 때는 별 문제가 없는 모델도 전신 이미지를 생성하면 얼굴 부분에서 문제가 발생

    astorynotheavy.tistory.com

    전체 워크플로우
    Sequential Image generate.json
    0.01MB

     

    프롬프트 파일의 준비

    프롬프트 파일은 텍스트 파일 형식으로 아래 경로에 저장되어야 합니다. 

    ComfyUI\custom_nodes\ComfyUI-Inspire-Pack\prompts

    프롬프트 파일은 다음과 같은 형식을 갖추어야 합니다. 

    positive:프롬프트
    negative:프롬프트
    -----

    예를 들어, 첫 번째 이미지는 남자, 두 번째 이미지는 여자를 생성하고 싶다면, 아래와 같은 내용으로 텍스트 파일을 준비할 수 있습니다. 

    positive:a portrait of a man, wearing a suit, sharp facail features, realistic lighting
    negative:blurry, low quality, distorted face
    ------
    positive:a portrait of a woman, long flowing hair, elegant dress, soft lighting
    negative:blurry, low quality, distorted face

    프롬프트를 불러올 텍스트 파일은 위에서 설명한 형식을 준수해야 오류 없이 제대로 작동하니, 작성 시 주의해 주시기 바랍니다. 또한, 프롬프트의 끝을 나타내는 하이픈(-)의 개수는 중요하지 않으므로, 보기 좋게 5~6개 정도 입력하시면 됩니다. 마지막 프롬프트 뒤의 하이픈은 생략해도 무방합니다. 

    텍스트 파일의 내용이 변경되었을 경우, 반드시 ComfyUI를 Refresh 하여 수정된 프롬프트가 제대로 반영되도록 해야 합니다. 

     Example

    지금까지의 내용을 바탕으로 이미지를 생성해 보겠습니다. 아름다운 자연을 주제로 한 이미지를 5개 생성해 보겠습니다. 프롬프트 파일은 다음과 같은 내용으로 구성되어 있습니다. 이제 이 프롬프트 파일을 활용하여 이미지를 생성해 보겠습니다. 

    프롬프트를 불러올 텍스트 파일. 마지막 프롬프트 뒤에는 하이픈(-)을 넣지 않아도 된다
    이미지 생성 결과

    이미지 생성 결과, 총 5개의 이미지가 생성되었습니다. 이미지 생성 시 배치 사이즈를 수정하거나 Queue Prompt를 여러 번 클릭할 필요 없이, 자동으로 텍스트 파일에 입력된 프롬프트의 수만큼 이미지를 생성할 수 있습니다. 

    Additional information

    Show Text 노드를 함께 사용하면 아래 그림과 같이 프롬프트가 구분되어 표시됩니다. 

    좌) Positive prompt, 우)Negative prompt

    만약 다른 텍스트 표시 노드를 사용한다면, 아래와 같이 모든 프롬프트가 이어져서 표시될 수 있습니다. 프롬프트를 확인할 필요가 있다면 Show Text 노드를 사용하는 것을 권장합니다. 어떤 노드를 사용하더라도 이미지 생성 결과에는 차이가 없습니다.  

    좌) Positive prompt, 우)Negative prompt

    반응형

    댓글

Designed by Vitual Stylist