이 페이지는 복잡한 조건식을 통해 자동생성 프롬프트를 강제로 수정하고자 하는 고급 사용자들을 위한 가이드를 제공합니다. 일반적으로 nsfw 이미지를 생성하고자 할 때 유용할 가능성이 있습니다.
요약하면:
1. 랜덤/다음 프롬프트를 눌렀을 때 획득한 프롬프트가 (조건식)을 만족하면 키워드를 수정/가중치 조절 하거나, 또는 보조 키워드를 추가합니다. 2. NAI 이미지 생성을 눌렀을 때 와일드카드 체크등이 모두 끝난 프롬프트가 (조건식)을 만족하면 네거티브 프롬프트를 수정/제거 하거나, 또는 보조 키워드를 추가합니다. |
예제가 워낙 숭해서 검색용으로만 일반탭에 냅둘 예정입니다.
예시:
1. 조건식
해당 명령어를 발동하기 위한 조건을 기입합니다. AND (&) 및 OR (|) 연산을 사용 할 수 있으며, ((A&B)|(C&B)) 와 같이 중첩하여 조건문을 사용할 수 있습니다.
조건식의 원소 A, B, C .. 는 *퍼펙트 매칭, ~!퍼펙트 네거티브 매칭 등을 지원합니다. 지원하는 상세한 구문은 다음과 같습니다.
keyword | 매칭 키워드 검색 | (breasts 검색 -> large breasts 등도 인식) -> 찾으면 True |
*keyword | 퍼펙트 매칭 | (*breasts 검색 -> breasts 만 인식) -> 찾으면 True |
~keyword | 네거티브 키워드 검색 | (~loli 검색 -> hololive 등도 인식) -> 못찾으면 True |
~!keyword | 퍼펙트 네거티브 매칭 | (~!loli 검색 -> loli 만 인식) -> 못찾으면 True |
예시 구문 = (penis&*sex&girl on top): = (프롬프트 내에 penis를 포함하는 키워드가 있고, sex 키워드가 확실하게 있고, girl on top을 포함하는 키워드가 있으면):
(조건식): 을 비포함 하는 경우에는 조건식이 True인 것으로 간주됩니다. 아래 프롬프트에서는 cum이 프롬프트 내에 퍼펙트 매칭으로 존재한다면 무조건 cum, {{cum overflow}} 로 나타나는 경우를 예시로 들고 있습니다.
2. 프롬프트 삽입 위치 지정
(1girl이 퍼펙트 매칭으로 존재하고, 동시에 breasts를 포함하는 키워드가 있으면): 랜덤 프롬프트 뒤에 {nsfw}를 추가합니다.
(랜덤 프롬프트에 loli 키워드가 없으면 선행 고정 프롬프트 뒤에 {loli, aged down, young} 을 추가합니다.)
prefix | 선행 고정 프롬프트의 뒤에 |
prompt | 랜덤 프롬프트의 뒤에 (후행 고정 프롬프트의 앞에) |
postfix | 후행 고정 프롬프트의 뒤에 |
keyword | 프롬프트 내의 특정 키워드 뒤에 / 단, 키워드가 프롬프트 상에 없으면 무효 |
3. 키워드 대치 지정
(랜덤 프롬프트 내에 penis를 포함하는 키워드가 있고, sex 키워드가 확실하게 있고, girl on top을 포함하는 키워드가 있으면): 프롬프트 내의 pussy 키워드를 pussy, {spread pussy}로 대치합니다.
4. ^ (캐럿) 기호
프로그램의 로직에 의해 조건부 프롬프트에서는 A, B, C 형태로 변경 하거나, 추가 할 키워드를 지정할 수 없습니다. 대신, A^B^C 형태로 입력 해 두면 A, B, C 형태로 자동으로 바꿔줍니다.
대신 조건부 프롬프트 내에서 이런 키워드는 사용할 수 없게 됩니다.
추가적으로 용도에 대해
1. small breasts를 지우고 large breasts 등의 프롬프트를 선행 프롬프트의 뒤에 넣는 등 프롬프트의 다양성은 유지하면서 좀 더 정밀하게 제어하고 싶은 경우가 있습니다.
2. Explicit, NSFW, Sensitive 프롬프트를 동시에 적용했을 때 Explicit에만 특정 선/후행 고정 프롬프트를 삽입하고 싶은 경우가 있습니다.
3. 프롬프트가 길어지면서 일부 주요 프롬프트가 씹히거나, NAI에서 매우 weak한 키워드가 있을 때 사용자가 임의로 해당 키워드가 출현하면 해당 키워드를 {,}를 이용하여 부스팅 하거나, 과도한 영향을 행사하는 키워드의 영향력을 [,]를 통해 줄일 수 있습니다.
조건부 네거티브 프롬프트
조건부 네거티브 프롬프트는 기본적으로 작동 방식이 유사합니다.
rem 제거 할 키워드를 잘못 씀
추가적으로 다음 두가지 문법을 제공합니다:
add keyword | 네거티브 프롬프트에 keyword 추가 |
rem keyword | 네거티브 프롬프트에 keyword 제거 |
(92m):add {glasses:1.2}, (~outdoors&~indoors):rem simple background^white background
예를들어, 92m 이라는 아티스트는 안경을 매우 선호하기 때문에 일반 프롬프트에서 안경이 튀어나올 수 있습니다. 이 경우 와일드카드 등을 사용하여 랜덤으로 작가를 호출하고 있을 때 원하지 않는 이미지가 생성될 수 있으므로 그림에서는 조건식 (92m) 이 프롬프트 내에 존재하면 네거티브 프롬프트에 {glasses:1.2}를 추가하는 예제를 설명하고 있습니다.
또한, outdoors 키워드나 indoors 키워드가 프롬프트 내에 존재하지 않으면 네거티브 프롬프트에 존재하던 white background 및 simple background 프롬프트를 제거하는 예시를 설명합니다.
지동화 과정에서 조건부 프롬프트와 조건부 네거티브를 다루는 것은 생각보다 까다롭고 매 검색/생성 단계마다 cpu 자원을 소모하기 때문에 적절한 길이 조절이 필요하며, 내용이 길어지는 경우 외부 문서 프로그램의 도움을 받아 체계적으로 정리해야 할 필요가 있습니다.
현재는 (조건):{(조건):command1, (조건):command2, ... }와 같은 재귀적 접근을 지원하지 않습니다.
2/1 추가 내용
조건식 내에 를 체크할 수 있는 로직을 추가하였습니다.
(e): Explicit 일 때, (q): NSFW 일 때, (s): Sensitive 일 때, (g): General 일 때
마찬가지로, (~e):, (~q):, (~s):, (~g): 형태로도 사용 가능하며, (e&boy): 처럼 논리연산자와 묶어서 사용 할 수 있습니다.