출발점은 어린이용 동화책 만들기에 있습니다.
참고 : https://www.clien.net/service/board/cm_aigurim/17923158?od=T31&po=3&category=0&groupCd=CLIEN
투샷 기능은 webui에서 "Latent Couple extension"을 설치하면 사용할 수 있습니다.
https://github.com/opparco/stable-diffusion-webui-two-shot
예제가 별로 없어서 Divisions와 Positions 개념을 이해하는데 조금 시간이 걸렸습니다.
Divisions는 각 영역별로 Row(행):Column(열)을 몇등분 할 지 정의하는 것입니다. 2:3 이라고 하면 Row는 두조각, Column은 세조각 이라는 뜻입니다.
Positions는 앞에서 나눈 영역의 어느 위치인지를 지정하는 것입니다. 첫번째칸이 0이며, 앞에서처럼 2:3 으로 나누었다면, 0:0, 0:1, 0:2, 1:0, 1:1, 1:2로 각 칸을 선택할 수 있습니다.

Divisions를 2:1.5 와 같이 소숫점으로 하면 절반보다 큰 영역을 지정할 수 있습니다.

다만, 이 값으로 한 칸의 크기가 결정되기 때문에, 아래나 오른쪽을 절반보다 큰 영역으로 지정하는 방법은 없어보입니다. 예를 들어 우측의 2/3를 지정하고싶어서 첫 칸을 1/3로 설정하면 Positions에서 지정 가능한 것은 아래처럼 되기때문입니다.

정말 필요한 경우에는 그림을 그리고 나서 상하/좌우를 반전시키거나, 여러개의 zone에 같은 prompt를 넣는 방법밖에 없을 것 같습니다.
컨트롤넷을 사용하면 prompt만으로는 전달하기 어려운 그림의 구도를 전달할 수 있습니다. 세마리의 돼지와 기린이 함께 있는 모습을 그려서 scribble로 입력해주었습니다.

구도에 맞춰 zone을 설정하고 Latent Couple에 값을 적절히 넣어줍니다.

prompt는 다음과 같이 각 영역별로 서술하면 됩니다. 첫번째는 그림 전체의 분위기를, 두번째와 세번째는 각 영역의 세부 내용을 적어 줍니다. 몇번의 시행착오 끝에 아래와 같이 하는 것이 제일 좋아보였습니다.
watercolor, animals in the forest
AND watercolor, 3piglets
AND watercolor, 1giraffe
물론 돼기린이 생성되는 경우도 여전히 존재 했습니다만, 컨트롤넷+투샷을 사용하지 않았을 때 희망이 거의 없어보였던것에 비하면 매우 높은 확률로 원하는 결과를 얻을 수 있었습니다.
또한 Latent Couple extension 예시에서는 기본 step을 28로 하고, end at step을 20으로 설정하는 것으로 보아, 투샷 기능을 어느정도 적용하고 나서 추가로 최종 디테일을 더해주는 것으로 보입니다. 다만 수채화 특성상 과하게 디테일을 넣을 경우에 높은 확률로 혼합체가 생성되는 부작용이 있어서, 이 부분은 상황에 따라 시행착오가 필요할 것 같습니다.
아래는 성공적으로 생성한 이미지들입니다.
watercolor, animals in the forest
AND watercolor, 3piglets
AND watercolor, 1giraffe
Negative prompt: (worst quality, low quality:1.4),
Steps: 28, Sampler: Euler a, CFG scale: 7, Seed: 3533367577, Size: 512x512, Model hash: 4c13cf9c00, Model: hasdx_hasedsdx, ControlNet Enabled: True, ControlNet Module: scribble, ControlNet Model: control_scribble-fp16 [c508311e], ControlNet Weight: 1, ControlNet Guidance Strength: 1, Latent Couple: "divisions=1:1,2:1.5,1:3 positions=0:0,1:0,0:2 weights=0.2,0.8,0.8 end at step=20"

Steps: 28, end at step=20, Seed: 3533367580

Steps: 20, end at step=20, Seed: 2421207057

마지막으로 투샷 없이 컨트롤넷만을 사용했을 때에는 아래처럼 높은 확률로 기린을 나무로 만들어버리네요.
watercolor, three piglets and a giraffe playing together in the forest.
Negative prompt: (worst quality, low quality:1.4),
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2111786568, Size: 512x512, Model hash: 4c13cf9c00, Model: hasdx_hasedsdx, ControlNet Enabled: True, ControlNet Module: scribble, ControlNet Model: control_scribble-fp16 [c508311e], ControlNet Weight: 1, ControlNet Guidance Strength: 1

이걸 해석하면
Divisions 1:1 = 전체를 1개의 덩어리로 나누고 Positions 0;0 첫번째 오브젝트를 전체의 가운데에 놓아라
Divisions 2:1.5 = 전체를 2행, 1.5열(?)로 나누고 Positions 1:0 1행 1열(2/3폭) 에 두번째 오브젝트를 놓아라
Divisions 1:3 = 전체를 1행 3열로 나누고 Positions 0:2 1행 3열에 세번째 오브젝트를 놓아라.
Weights 0.2, 0.8, 0.8 = 첫번째 오브젝트의 가중치(?? 투명도를 말하는걸까요? 1은 불투명 0은 완전투명?) 0.2, 두번째 세번쩨 오브젝트의 가중치 0.8...
메인 Prompt 란에 각 오브젝트의 순서는 'AND' 로 구분되는것
end at this step 은 20번 반복하라는 명령
일단 이렇게 이해해 봤는데 맞는지요?