← 블로그

Z-Image 참조 이미지 가이드: 구도를 유지하면서 스타일 변경하기

Z-Image-Base 참조 이미지 완전 가이드: '강도(Strength)' 파라미터 상세 설명(강한 가이던스: 0.2 - 0.4 vs. 약한 가이던스: 0.6 - 0.8), 스타일 트랜스퍼 워크플로우, 구도 유지 기법.

6 min read
Z-Image 참조 이미지 가이드: 구도를 유지하면서 스타일 변경하기

안녕하세요, 저는 Dora입니다. 혹시 이런 경험 있으신가요? 한 번은 멋진 비주얼을 만들었는데, 나중에 똑같이 재현하려고 하면 잘 안 되는 경우요. 같은 프롬프트인데, 조금 다른 요구사항에, 완전히 다른 느낌이 나오는 거죠. 저는 좀 더 안정적인 제어 방법이 필요했어요. 템플릿이 아니라, 그냥 가이드라인 같은 것이요.

그래서 일주일 동안 Z-Image 레퍼런스 이미지 가이던스에 집중해봤습니다. 화려해서가 아니라, 단순한 약속을 해줬기 때문이에요. 씨드 이미지에서 중요한 것을 유지하면서 모델이 탐색할 수 있게 해준다는 것이요. 아래는 처음부터 알았으면 좋았을 메모들입니다. 실제로 어떤 느낌인지, 어디서 삐걱거리는지, 그리고 가장 큰 차이를 만들어낸 숨겨진 설정들에 대해 정리해봤어요.

레퍼런스 이미지 가이던스란?

레퍼런스 이미지 가이던스(img2img 컨디셔닝 또는 레퍼런스 컨디셔닝이라고도 불림)는 텍스트 프롬프트와 함께 실제 이미지를 모델에 입력할 수 있게 해줍니다. 모델은 해당 입력 이미지를 앵커로 사용합니다. 다이얼 설정에 따라 스타일, 구도, 색상 팔레트, 또는 구조를 유지하면서도 여전히 텍스트 내용을 반영합니다.

실제로 저는 Z-Image 레퍼런스 이미지를 “톤 설정자”처럼 활용합니다. 모든 걸 맡기지 않아요. 제가 신경 쓰는 부분(포즈, 팔레트, 레이아웃)에서 분산을 줄이는 데 쓰고, 나머지는 프롬프트가 처리하도록 합니다.

순수 텍스트 생성과의 차이점

같은 프롬프트로 두 가지 방식을 비교해봤습니다. 이미지 없이 한 번, 레퍼런스 이미지와 함께 한 번. 이미지 없이 했을 때는 다양한 결과가 나왔어요. 분위기 있는 것도 있고, 밋밋한 것도 있고, 쓸 수 없는 것도 몇 개 있었죠. 레퍼런스 이미지(제가 핸드폰으로 찍은 단순한 책상 장면)를 추가했을 때는, 모델이 책상 레이아웃, 부드러운 자연광, 심지어 나무 질감까지 유지하면서 제가 요청한 오브젝트만 교체했습니다. “고정된” 느낌이 아니었어요. 정중하게 제한된 느낌이었죠.

순수 텍스트는 탐색에 좋습니다. 하지만 반복 가능성이 필요할 때(캠페인 변형, 제품 각도, 슬라이드 비주얼), 레퍼런스 이미지는 무작위성을 줄여줍니다. 정신적 부담이 가장 많이 줄었던 부분이 바로 여기였어요. 재시작도 줄고, 프롬프트를 비틀어야 하는 일도 줄었습니다.

레퍼런스 이미지의 영향 범위

레퍼런스는 다양한 레이어에 영향을 줄 수 있습니다:

  • 전체적인 구도: 카메라 각도, 피사체 배치, 여백.
  • 스타일 큐: 조명, 텍스처 밀도, 색온도.
  • 로컬 구조: 실루엣, 포즈, 제품 윤곽.

놀라웠던 점은, 텍스트로 그 디테일을 묘사하지 않아도 레퍼런스 이미지의 영향이 나타난다는 거였습니다. 레퍼런스에 강한 정면 조명이 있다면, 프롬프트에서 균형을 맞추지 않는 한(예: “부드러운 측면 조명, 하이라이트 억제”) 결과물에 그 느낌이 반영될 수 있어요.

”Strength” 파라미터 상세 설명

시스템마다 이름이 다릅니다(strength, fidelity, image guidance scale 등). 의미는 비슷해요. 낮은 값은 레퍼런스를 강하게 유지하고, 높은 값은 그립을 풀어줍니다. 텍스트 영향도 조정하고 있다면, Z-Image CFG 최적 설정에 대한 이 분석이 strength 조정과 잘 맞을 거예요.

아래는 약 60회 생성을 통해 경험한 범위별 동작 방식입니다. 모델마다 차이가 있을 수 있지만, 곡선의 형태는 대체로 유지됩니다.

0.2–0.4: 강한 레퍼런스 가이던스 (원본 이미지 유지)

0.2–0.4 범위에서 Z-Image 레퍼런스 이미지는 굳지 않은 시멘트처럼 작동합니다. 모델이 구도, 조명, 심지어 작은 텍스처까지 유지합니다. “노트북을 태블릿으로 교체”처럼 텍스트를 변경하면 대부분 수행하지만, 태블릿이 노트북이 있던 정확한 위치에 나타납니다. 다음 용도에 좋습니다:

  • 제품 색상 교체
  • 소품 소폭 변경
  • 라벨 또는 패키지 리프레시

어려운 점: 레퍼런스가 지원할 수 없는 구조적 변경을 텍스트가 요청하면 아티팩트가 생깁니다. 예시: 같은 포즈에서 닫힌 노트북을 열린 것으로 바꿨더니 0.3에서 뒤틀린 형태가 나왔습니다. 이런 상황이 오면, strength를 올리거나 호환되는 포즈의 레퍼런스로 교체합니다.

0.4–0.6: 균형 영역

이 범위가 제 일상적인 선택이었습니다. 0.5에서 모델은 씬의 뼈대를 유지하면서 디테일을 덜 힘들게 재작성합니다. 구도는 유지되고, 오브젝트는 약간 이동 가능하며, 조명이 부드러워지거나 따뜻해질 수 있습니다. 모든 것이 복사본처럼 보이지 않으면서도 관련 이미지 세트에 충분한 일관성이 생깁니다.

도움이 됐던 것: 유지할 요소를 명시하는 것. “책상 각도와 자연광 유지: 머그컵을 유리 텀블러로 교체: 식물 추가, 얕은 피사계 심도”처럼 구체적인 프롬프트와 중간 strength의 조합이 모호한 형용사보다 훨씬 깔끔한 결과를 냈습니다.

0.6–0.8: 약한 가이던스 (더 창의적)

여기서 레퍼런스는 규칙이 아닌 제안이 됩니다. 모델이 카메라 각도를 자유롭게 이동하고, 요소를 추가하거나 제거하며, 때로는 스타일을 업데이트합니다. 저는 0.7을 무드보드 확장에 사용했습니다. 같은 분위기, 새로운 공간. 결과물의 약 30–40%가 여전히 원본 팔레트를 참조했습니다.

주의: 이 범위는 텍스트로 강조하거나 고해상도 레퍼런스를 제공하지 않으면 제품의 작은 특징(포트, 스티칭 패턴)을 잘못 읽을 가능성이 높습니다. 가방의 이상한 솔기나 기기의 잘못된 모서리를 발견했습니다. 수정 가능하지만 확인할 가치가 있습니다.

0.8–1.0: 레퍼런스 이미지 거의 무시

0.8 이상에서는 레퍼런스를 이전 회의의 힌트 정도로 취급합니다. 색상이나 대략적인 실루엣은 인식할 수 있지만, 그 이상은 아닙니다. 때로는 그것으로 충분합니다. “따뜻하고 나무 느낌을 유지”하고 싶다면 0.85로도 새로운 각도를 허용하면서 가능합니다.

하지만 프로덕션 작업에서는 여기 오래 머물지 않습니다. 아주 약한 넛지가 있는 순수 텍스트 생성에 가깝습니다. 0.9에 도달할 때는 대개 작업에 맞지 않는 레퍼런스를 선택해서 팔레트만 뽑아내려고 하는 상황입니다. 보통은 더 나은 레퍼런스를 선택하고 0.5로 돌아가는 게 낫습니다.

API 구현

간단한 requests 설정과 작은 래퍼를 사용해서 API 호출을 테스트했습니다. 실제로 필요한 것과 선택적인 노이즈가 무엇인지 보여주기 때문에 raw HTTP부터 시작하는 것을 선호합니다.

레퍼런스 컨디셔닝이 처음이라면, 제공자 문서에서 strength를 어떻게 정의하고 어떤 기본값을 사용하는지 확인하는 것이 좋습니다. 유사한 워크플로우에 대한 배경지식으로는 Hugging Face Diffusers의 image-to-imageControlNet 가이드가 도움이 됐습니다. 이름은 다르지만 개념은 같습니다.

“image” 파라미터 전달 방법

제가 시도한 대부분의 API에서 레퍼런스 이미지는 다음 중 하나로 전달할 수 있습니다:

  • 공개 URL (프로토타입에 가장 빠름, 압축 주의)
  • base64 인코딩된 데이터 URI (안정적, 다소 장황함)
  • 멀티파트 업로드 (로컬 파일에 좋음, EXIF/품질을 직접 제어 가능)

보통 긴 쪽 기준 약 1024px의 PNG 또는 고품질 JPEG를 전송합니다. 너무 작으면 디테일이 사라지고, 너무 크면 더 나은 결과 없이 대역폭만 낭비됩니다. API가 여러 레퍼런스 이미지를 지원하는 경우, 하나로 시작하세요. 한 번에 너무 많이 레이어링하면 신호가 상쇄될 수 있습니다.

Python 코드 예시

제가 사용한 최소한의 패턴입니다. 쉽게 적용할 수 있도록 의도적으로 단순하게 작성했습니다. 엔드포인트와 키는 사용하는 제공자의 것으로 교체하세요.

暂时无法在飞书文档外展示此内容

실제 적용 시나리오

스타일 트랜스퍼

깔끔한 제품 사진을 레퍼런스로 사용하고 “부드러운 필름 스타일의 스튜디오 포트레이트, 할레이션, 부드러운 폴오프”를 요청했습니다. 0.45에서 모델이 제품의 실루엣을 유지하면서 가장자리를 왜곡하지 않고 조명을 시네마틱하게 바꿨습니다. 0.25로 내렸을 때는 원본 스튜디오 조명에 달라붙었어요. 좋긴 했지만 스타일이 덜 살아났습니다. 더 대담한 스타일을 원한다면 0.6 쪽으로 이동하고 2–3개의 구체적인 스타일 큐를 추가하세요. 그 이상은 노이즈가 됩니다.

제품 이미지 변형

랜딩 페이지 리프레시를 위해 복사본이 아닌 형제처럼 느껴지는 여덟 가지 각도가 필요했습니다. 깔끔한 세팅을 하나 촬영하고, 모든 프롬프트의 Z-Image 레퍼런스 이미지로 사용했습니다. 0.5 strength에서 오브젝트를 회전하거나, 손을 추가하거나, 배경 소품을 교체하면서도 일관된 그레인과 화이트 밸런스를 유지했습니다. 이미지당 절약된 시간이 크진 않았지만(아마 2분 정도), “이건 왜 이렇게 다르지?”를 피할 수 있었던 정신적 안도감은 진짜였습니다.

개념 다이어그램 정제

다이어그램이야말로 레퍼런스 가이던스가 조용히 빛나는 곳입니다. Figma에서 레이아웃을 스케치하고(박스, 화살표, 느슨한 라벨), PNG로 내보내 레퍼런스로 사용했습니다. 0.4 strength에서 스타일(“미니멀, 부드러운 회색 선, 밝은 포인트 색상”)을 설명하면 모델이 구조를 보존했습니다. 이로써 반복적인 편집 라운드 하나를 줄일 수 있었습니다. 라벨이 잘못 정렬되면, 프롬프트와 씨름하는 대신 원본 Figma 파일을 조금 수정하고 다시 실행했습니다.

모범 사례

  • 깔끔한 레퍼런스로 시작하세요. 수평을 맞추고, 지저분한 요소를 제거하고, 노출을 정규화하세요. 모델은 생각보다 많은 것을 복사합니다.
  • 작업에 맞는 strength를 선택하세요. 0.5가 안전한 첫 출발점입니다. 정밀도를 높이려면 내리고, 탐색을 원하면 올리세요.
  • 유지할 것을 명시하세요. 짧고 구체적인 유지 요소(“각도와 팔레트 유지”)가 드리프트를 줄입니다.
  • 필요에 맞게 해상도를 맞추세요. 긴 쪽 기준 약 1024px이 대부분의 API에서 실용적인 기본값입니다.
  • 작은 단계로 반복하세요. 한 번에 하나씩(프롬프트 조정 또는 strength) 변경해야 원인과 결과를 파악할 수 있습니다.
  • 튜닝하는 동안 시드를 설정하세요. 나중에 다양성을 위해 해제하면 됩니다.
  • 누적 편향을 주의하세요. 출력물을 다음 레퍼런스로 계속 재사용하면 스타일이 굳어질 수 있습니다. 가끔 원본이나 중립적인 베이스로 돌아가세요.
  • 팀을 위해 세 가지를 저장하세요: 레퍼런스 이미지, 프롬프트 텍스트, 그리고 수치 strength. 미래의 나 자신이 과거의 나에게 감사할 겁니다.

마법을 약속하는 도구들에 둘러싸여 있다면, 이건 좀 더 조용한 종류입니다. 취향을 대신 만들어주지 않아요. 그냥 손을 안정시켜줄 뿐입니다. 늦은 오후에 작업하면서 그걸 느꼈어요. 같은 책상, 같은 빛, 두 번 생각하는 일이 줄었습니다. 대단한 순간은 아니었지만, 기억에 남았습니다.