여기저기서 프롬프트 작성법 찾아봤는데 

너무 장황해서 반실사 응애들 현기증남

그래서 압축요약해옴

글쓰면서 나도 많이 배워서 수고 아님





프롬프트 길이의 특징


프롬프트가 길 때
프롬프트가 짧을 때
만들기 어렵다만들기 쉽다
의미가 희석된다
의미가 강조된다
통제가 어렵다
통제가 쉽다
결과물이 명확하다
결과물이 다양해진다
생성 속도가 느려진다
생성 속도가 빨라진다


고봉밥 = 75토큰이 넘는 초장문 프롬프트 족보


초기 모델부터 말이 많았고

안정성을 위해 프롬프트가 논문 수준이었지만


현재 인공지능은 많은 학습과 발전을 통해 

프롬프트를 짧게 강조하는 추세임





기본 조작법


 ctrl + 좌우 화살표  : 프롬프트 한 단어씩 이동


 ctrl + shift + 좌우 화살표  : 프롬프트 한 단어씩 선택


선택 한 뒤 ctrl + 화살표 ↑↓  :  가중치 조절

 





가중치 조정 


 pretty girl           →      100%

(pretty girl)         →      110% 

((pretty girl))       →      120%

(pretty girl:1.5)   →      150%

(pretty girl:2)      →      200%

(pretty girl:0.5)   →        50% 

(pretty girl:0.1)   →        10%


무한 쌈싸먹으면서 응용

(((girl,gym, squat:0.3),(nike sports wear:1.2),half glove:0.5),((stadium),(muscle:0.5):0.7):1.2)


너무 강조하면 이런느낌임


가중치 범위지정


(spread legs:1.0~1.5)

(smile:1.3~2.0)


특정 범위 내에서 랜덤으로 가중치를 먹일 수 있음




마이너스 가중치


특정 스텝 비율까지 그리다가 끊어버림
근데 솔직히 결과물이 너무 오락가락해서 모르겠음


-0.5  →   step 50% 까지 그리다가 끊어라

dragon,photo, best quality, koean school girl, mountain climbing








언더바_ 프롬프트


언더바 쓴다고 한 단어로 인식되고 타율이 오르는게 아님

실험해본 결과 타율 차이는 없고 표현의 차이만 발생


언더바_문법(danbooru 스타일) -> 2D성향 강화

띄어쓰기 문법 (SD 표준 스타일) -> 실사 성향 강화


칠아웃

둘다 비슷한 실패로 연필, 마른체형, 스커트가 따로 나올 때가 발생했음



바질


바질

실사-반실사 분위기 조정에 좋음


한마디로 언더바는 단부루파, 띄어쓰기는 실사파



더하기+프롬프트


똑같은 비율로 만들고 한 단어 취급


+  해석 : 바나나 = 드래곤        원본 해석 : 드래곤 < 바나나


*  근데 banana dragon으로 바꿔서 출력하면 둘 결과가 뒤바뀜

문법적으로 마지막 명사를 주어로 해석하지 못하게 하는 듯



+ 해석 : 돌고래=바지        원본 해석  :  돌고래 < 바지



+ 해석 : 파랑색=하늘       원본 해석  :  푸른 < 하늘



빼기-프롬프트


이해를 위해 짤 선별은 했는데 눈에 띄는 차이는 없음

한 단어로 인식하는  타율이 미세하게 올라가는 정도.





나누기 / 프롬프트


또박또박 나눠서 이해시켜줌

은근슬쩍 프롬프트 씹을 때, 뜻을 자꾸 왜곡할 때 써먹으면 좋음


fire(발사) 중의적 의미 차단. 무조건 불 뽑음

base 도 상당히 강하게 이해했음


무조건 비행기 전체샷을 넣으려고 함. 꼭 등장시켜야 할때 유용



때때로 너무 충실한 것도 단점



중복해서 쓴다고 막강한건 아님

 // 사이공백때문에 상쇄되는듯



쭉 내려가서 설명할  토큰절단기-BREAK의 

경량화 프롬프트라고 할수있겠음




곱하기 * 프롬프트


나누기와 비슷하지만 프롬프트를 더 심하게 구분해버림

현실성이 없다고 해도 출력함





말도 안되는 거 강제로 출력할 때 추천





[시작:끝:언제] 프롬프트

샘플링 중간에 주제를 바꿔서 이어 그리는 프롬프트


[cat:dog:0.3]   

→  샘플링 스탭 30%까지 고양이, 나머지 스탭 70% 개


* 시작 프롬이 첫 형태를 만들기 때문에 일반적으로 우세함

5대5로 섞을 목적이면 형체에 따라서  시작대상을  더 약화시키는게 좋음


3:7로 했음에도 불구하고  고양이가 좀더 진한 캣독




[dog:lion:fish:0.3]

→  개 30%  35%사자,  35% 물고기

시작할 때 개로 생성되었기 때문에 

30% 임에도 불구하고  가장 많은 비율로 출력됨






오락 | 가락  프롬프트  

( | : shift + \키)

car | tank 

→  자동차랑 탱크를 랜덤비율로 섞어줌


순서없이 확실하게 섞이긴 하는데

타율과 완성도가 상당히 낮은게 단점




세개도 섞이는데 너무 랜덤임

cat | bird | tank


에라 모르겠다 니 꼴리는대로 비벼봐라 할 때 쓰면됨





{하나만 | 골라} 프롬프트


A 랑 B 중에서 랜덤으로 하나만  뽑아주는 프롬프트 



{ cocacola | Pepsi }

→   코카콜라  또는 팹시  둘 중 하나만 골라



배치 4장 결과



팹시 하나는 뽑아줬음




모든 경우의 수 출력 프롬프트


Script -   prompt matrix 먼저 활성화


|    ←  shift + \키


pen | pineapple | apple | cat

→  pen 을 기준으로 모든 조합 출력 (pen은 무조건 포함)






여기까지 왔으면 느꼈겠지만

|   ←  이거 보이면  OR(또는)을 뜻 한다고 생각하면 됨






BREAK  - 토큰 절단기  


프롬프트는 기본 75 토큰 단위로 인식함  (예시)  apple = 2토큰

토큰이 너무 길고 결과물에 뭐가 자꾸 섞인다 하면 BREAK 절단 추천


starship, galaxy, space, earth, BREAK flower, grass, cat

→ 우주배경 만들고 끊은 다음,  꽃잔디에 있는 고양이를 따로 그려라



나누기/프롬프트 보다 좀 더 확실하게 끊어줌

대신 토큰 해석을 두 번 들어가는거니까 

생성시간은 약간 더 잡아먹음





😊이모티콘 프롬프트


win + .  를 누르면 나타나는  이모티콘 전부 사용 가능


이모티콘 장점

토큰이 절약되고 복합적인 의미가 담김

heart : 2토큰   

❤️ : 1토큰


명확성이 필요하다면  텍스트

토큰 절약과 높은 자유도가 좋다면 이모티콘


heart , ❤️




텍스트와 이모티콘의 혼용

❤️😡👽 riverside


뭔가 말로 형용할 수 없는거, 영어로는 표현 못하겠다 싶으면 추천함




<로라>, (임베딩) 프롬프트

civitai 등지에서 받은 각종 로라, 임베딩을 위한 프롬프트


파일저장 경로

로라 : \stable-diffusion-webui\models\Lora

임베딩 : \stable-diffusion-webui\embeddings


화투 아이콘에서 나타나는 항목을 클릭하면  자동으로 입력됨



수동 입력 가능 

단어 드래그 한 뒤 ctrl + 화살표 ↑↓ 로   농도 조절 가능


(ulzzang-6500:0.7)  → 얼짱 임베딩 70% 

<lora:hanbok:1.3>   →  한복 로라  130% 


참고로 임베딩 이름을 girl  이런 보편적인 대명사로 지으면  

이미지를 생성하는 SD 입장에서 

본인이 알고있는 girl 을 말하는지,

임베딩 girl 인지 헷갈릴거임

그래서 임베딩이든 로라든 만들 때는

괴상망측하고 어려운 고유명사로 짓는게 국룰


뭔가 생소한 단어가 보인다 싶으면

아 (임베딩)이구나, <로라> 구나 파악하면 됨




__와일드카드 프롬프트__


메모장 목록으로 작동되는  랜덤 프롬프트 



https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards

 Available - ctrl+F - wildcard 찾거나,  위 URL 붙여넣고 설치

설치후 Settings - Reload Ui  



와일드카드 저장 경로

\stable-diffusion-webui\extensions\stable-diffusion-webui-wildcards\wildcards



쉼표없이 엔터로 입력하고 저장




__hair__, lady   출력결과


바질



https://arca.live/b/aiartreal/69810499

 chat GPT 로 자동생성할 수가 있으니 적극 활용

프롬프트 짜내느라고 머리 터질 일은 조금 덜어낼 수 있음





네거티브 균형



포지티브와 네거티브 둘다 75 토큰 단위로 끊어짐 (설정에서 변경가능)

양쪽 토큰 모두 최대로 활용하기 위해서는

네거티브 길이도 보완할 필요가 있음



예를 들어 이렇게 긍정만 너무 써서 토큰 길어질 바에는


extreme clarity (극단적 선명함)을 

네거티브로 보내면서 (blurry:2.0) 흐릿함 2.0  으로 전환


이건 꼭 해라 / 이것만 빼고 다해라 하는 뉘앙스 차이가 있음

네거티브는 자유도를 열어주고 양측 토큰도 최적화 가능함


필수 아니고 꼭 맞출 필요는 없음

가볍게 참고만 바람




Prompt S/R   갈아끼우기


script -  X/Y/Z plot  - Prompt S/R


프롬프트 바꿨을 때 영향력 테스트

나란히 놓고 비교할 때 유용



처음에  red shirts 를  출력하지만

다음차례는 red를 교체하고 blue, green 출력


네거티브도 같이 바꾸고 싶다 하면 

Y type에 새로 생성하면 됨

단, 서로 겹치면 같이 바뀌어버림




Prompt S/R  유무 테스트


프롬프트가 있을 때, 없을 때만 비교할 수 있는 기능



포지티브 -  korean school girl 

네거티브  - (blurry:2) 


위의 비교 과정과 똑같은데 쉼표로 끝내고 아무것도 안쓰면 

있을 때랑 없을 때만 딱 뽑아줌




이 글에서 대부분의 예시들이 

이 기능으로 만들어짐



로라, 임베딩, 프롬프트 

먹히나 안먹히나 테스트



해당 프롬만 가중치를  2.0 이상 올렸을 때 

이미지가 과도해지면 잘 잘동하는 것




스타일 적용 순서 바꾸기 프롬프트 {prompt}

(원글출처https://arca.live/b/aiart/70261455)


본인이 미리 입력해둔 프롬프트를 

즐겨찾기 해놓고 꺼내쓰는 것이 style 


스타일은 항상 입력한 프롬프트 뒤로 붙어 적용되는데

스타일 마지막에 {prompt} 를 입력하고 저장해주면

먼저 나와서 적용됨






문법 최종 응용 프롬프


[girl:lady:0.5]BREAK<lora:hanbok:1.3>,((__hair__:0.5),(__hair__:0.5):0.7)BREAK🎅,BREAK boy,[__hair__:__hair__:0.3],(🧜♂:1.3)

→ 2가지 헤어스타일이 뒤섞인 한복 산타걸이 2가지 헤어스타일이 섞인 아쿠아맨으로 변신



프롬고자라 못하겠음

뭔가 역겨운데

머리가 안돌아감


나머지는 여러분들 아이디어의 몫