본문 바로가기
[TIP] Stable Diffusion

[SD. TIP] Wildcard 설정으로 랜덤하게 생성하기

by doobam 2023. 3. 1.
반응형

인간은 창의적인 지성을 가진 동물이지만 가끔 생각도 하기 귀찮을 때가 있습니다. 그렇지만 생각해서 결과를 내야 한다면 누가 대신해 주면 안 될까? 스테이블 디퓨전(이하 SD)으로 작업하고 있을 때도 한 번쯤은 고민해 보셨을 겁니다.

오늘은 어떤 콘셉트로 이미지를 만들까? 어떤 장소.. 누가 나오게 할까?

SD의 확장기능으로 나온 wildcard를 이용하면 고민 없이 적당히 AI가 만들어준 콘셉트를 이용할 수가 있습니다. 이제부터 그 방법을 알아보도록 하겠습니다.

 

1. SD에 wildcard 확장하기

SD를 실행시키면 메뉴 중에 'Extension' 메뉴가 왼쪽 끝에 있습니다. 거기서 Install from URL 탭을 선택하고 URL에 https://github.com/adieyal/sd-dynamic-prompts.git을 복사해서 붙여 넣어줍니다. Install을 해주시고 SD를 재실행하시거나 Reload UI를 해줍니다. 그러면 SD 내부 메뉴 중에 Wildcard Manager라는 메뉴가 생긴 것을 볼 수가 있고요. 확장앱이 설치된 폴더 (C:\stable-diffusion-webui\extensions\sd-dynamic-prompts)로 가보시면 wildcards라는 폴더도 생겨있습니다.

 

2. wildcard 폴더 내 조건 파일 만들기

이제 wildcart 폴더 내에는. txt로 된 여러 조건에 대한 파일을 위치시키기만 합니다. 우리가 생각하기 귀찮은 또는 생각해 내기도 어려운 '장소'를 예시를 들어보겠습니다. 길, 산, 바다, 집.... 당장 생각하기는 이게 한계입니다... txt 파일 내용에는 단어 단위로 쭉 내려써주면 됩니다.

sd-dynamic-prompts/wildcard 폴더내에 위치한 place.txt 파일 내용

3. SD에서 prompt 적용방법

place.txt라는 와일드카드 파일을 만들었다면 prompt에서는 __place__라는 명령으로 사용할 수 있습니다. 그 예시를 보여드리겠습니다. prompt에 penguin과 __place__를 넣었더니 cat cafe에 있는 고양이얼굴 펭귄이 생성되었네요. 와일드카드 정상적으로 적용이 되었다면 생성된 이미지 하단 상세정보에는 __place__ 와일드카드가 도치돼서 cat cafe로 변경되어 있는 것을 보실 수가 있겠습니다. 와일드카드로 랜덤 하게 돌리다가 내 마음에 드는 환경이 나오면 프롬프트로 복사+붙여 넣기 해서 이용하시면 되겠습니다.

펭귄과 고양이 카페

4. chatGPT로 심화하기

이제는 조건하나로 만족하지 않습니다. chatGPT를 이용하면 더 다양하고 많은 wildcard를 생성할 수가 있어요.

장소를 생성하고 그 곳에 맞는 아이템들을 추가로 생성한다면 어떨까요? chatGPT를 이용해 생성해 보겠습니다. 장소를 30개 생성하고 그 장소와 연관 있는 단어들을 나열해 달라고 했습니다. 그리고 SD 내에서 콤마로 단어사이를 인식하기 때문에 콤마로 구분 지어달라고 하였습니다.

chatGPT한테 여쭤본 wildcard.txt로 저장하기

5. 실행 결과

공항에 가버린 펭귄이 되었습니다. 귀여운 펭귄 케리어가 되어버렸네요. 와일드카드는 이런 식으로 이용하면 됩니다. 복잡한 프롬프트 생각하기 귀찮을 때는 이렇게 랜덤 하게 생성해 보는 것도 좋은 것 같습니다. 그럼 즐거운 SD 생활되세요!!

공항에 간 펭귄, Airpot, airplanes, travel, luggage, security, customs

추가로, wildcard가 적용이 안되신다면 SD 내부 메뉴 중에 Dynamic Prompts enabled가 체크되어 있는지 확인해 보시고, 또는 작성한 와일드카드.txt가 정확한 경로 (Wildcards Manager 탭 메뉴 중간에 4. optional 참조)에 저장되어 있는지 확인해 보시기를 바랍니다.

반응형

댓글