배너 합성기
실제 이미지를 나란히 배열하고, 이음새를 블렌딩하며, 로고를 상단에 배치하여 배너를 제작합니다. 아무것도 다시 그리지 않습니다: 얼굴은 촬영된 그대로, 타이틀은 디자인된 그대로 유지됩니다.
합성이지 생성이 아닌 이유
사용자들은 종종 이 작업을 위해 이미지 AI 프롬프트를 요청합니다. 생성 방식은 커뮤니티 배너가 반드시 정확해야 하는 두 가지에서 실패합니다:
- 타이틀 워드마크. 생성기는 로고를 다시 렌터링합니다. 결과는 비슷하지만 틀리며, 팬들은 즉시 알아차립니다.
- 실제 인물. 생성기는 얼굴을 다시 그립니다. 결과는 닮은 사람이 되며, 많은 커뮤니티에서 이를 조작된 콘텐츠로 금지하고 인물을 잘못 표현합니다.
따라서 생성 프롬프트를 요청받으면, 두세 문장으로 이 점을 설명하고 합성을 제안하세요. 사용자가 여전히 생성기를 사용하기를 원한다면, 텍스트나 사람이 없는 배경판으로 제한하고, 이 스킬을 사용하여 실제 자산을 그 위에 배치하세요.
워크플로우
1. 브리핑 확정
요청과 파일을 바탕으로 다음 사항을 질문하기 전에 확정하세요:
- 크기. 플랫폼은 배너 크기를 변경하므로, 가장 최신의 증거를 사용하세요. 순서는 다음과 같습니다: 사용자가 플랫폼 업로드 대화상자에서 명시한 크기; 플랫폼의 현재 도움말 페이지;
references/platform-sizes.md(날짜와 출처 포함); 기존 배너의 픽셀 크기 (변경 전일 수 있음). 사용자에게 어떤 크기를 사용했는지와 출처를 알려주세요. 일부 플랫폼은 데스크톱과 모바일 배너를 별도로 사용합니다: 아래 "여러 크기"를 참조하세요. - 주제와 순서. 왼쪽에서 오른쪽으로 무엇이 들어갈지, 특정 주제에 더 많은 공간을 할당할지 여부.
- 보유 자산. 폴더를 나열하세요. 모든 이미지를 직접 열어보세요. 파일 이름이나 캡션만으로는 사진이 무엇을 보여주는지, 선명도가 어떤지, 어떤 텍스트가 포함되어 있는지 알 수 없습니다.
- 하우스 규칙. 편집된 이미지에 대한 커뮤니티 규칙과 사용자가 분위기에 대해 말한 내용. 프로젝트에 있다면 읽어보세요.
이 방법으로 확정할 수 없는 사항(예: 누락된 주제 목록)만 질문하세요.
2. 빈틈 메우기
각 주제에 대해 로고 또는 워드마크와 하나 이상의 이미지가 필요합니다. 누락된 것이 있으면 공식 자료를 찾으세요: 권리자의 게시물 및 채널, 보도 자료, 공식 아트워크를 재현하는 뉴스 매체. references/asset-sourcing.md에는 검색 전략, 서브 에이전트에 검색을 위임하기 위한 브리핑, 소스 파일 형식이 있습니다. 사용자가 서브 에이전트를 요청하거나 환경이 선호하면 위임하고, 그렇지 않으면 인라인으로 검색하세요.
어떤 방식으로 검색하든 세 가지 규칙이 적용됩니다:
- 공식 자료만, 그리고 어떻게 알았는지 명시. 팬 편집본과 AI 렌더링은 어디에나 있습니다. 각 파일의 출처를 기록하세요. "공식"이 원본 게시물이 아닌 캡션에 근거한 경우, 최종 보고서에 그렇게 명시하세요.
- 절대 자산을 만들어내지 마세요. 로고가 없으면 배너는 로고 없이 가거나, 아래 설명된 포스터 크롭을 사용하세요. 대체 디자인을 하지 마세요.
- 사용자를 아웃바운드 요청에서 제외하세요. URL, 헤더 또는 검색 쿼리에 이름, 프로젝트 이름 또는 이메일 주소를 포함하지 마세요.
다운로드는 작업 폴더에 저장하고 신뢰하기 전에 각각을 확인하세요. scripts/contact_sheet.py는 여러 후보를 한 시트에 배치하여 하나씩 열어보는 것보다 빠릅니다.
3. 로고 확보, 가장 신뢰할 수 있는 방법 우선
- 사용자가 제공한 투명 로고 파일. 사용하세요. 배경에 색상 프린지가 보이면
cutout_logo.py --key alpha --defringe 2를 실행하세요. - 타이틀이 그대로 남아 있는 포스터. 디자이너가 배치한 위치에 타이틀이 오도록 포스터를 크롭하세요. 아무것도 잘라내지 않으므로 스타일이 정확합니다. 유일한 출처가 작을 때 가장 좋은 방법입니다.
- 키 아트에서 잘라내기.
scripts/cutout_logo.py를 사용하여 로고를 배경에서 키잉하세요. 로고를 배경과 분리하는 기준(따뜻한 글자가 차가운 배경과 구분되는r-b채널 차이, 밝은 배경의 어두운 글자에luma, 어두운 배경의 밝은 글자에inv-luma, 단색 배경색에bg)으로 키를 선택하세요. 항상--test-sheet를 전달하고 밝은 배경과 어두운 배경에서 결과를 확인하세요.
잘라내기는 가장 신뢰도가 낮은 방법입니다. 로고의 어둡거나 그림자가 진 부분은 배경색과 가까우면 사라집니다. 로고를 원래 배경과 유사한 바탕에 배치하거나 레이아웃 스펙에 backing(채워진 실루엣과 부드러운 그림자)을 지정하고, 사용자에게 로고가 잘라내기되었음을 알리세요.
워드마크를 다시 그리거나, 스타일을 바꾸거나, 색상을 변경하거나 "정리"하지 마세요.
4. 스펙 파일로 레이아웃 작성
JSON으로 레이아웃을 작성하고 scripts/compose_banner.py로 빌드하세요. 스펙은 보관해야 할 핵심입니다: 나중에 더 나은 이미지가 나타나면 경로 하나를 변경하고 다시 빌드하면 됩니다. references/spec-format.md는 모든 필드를 문서화하고, assets/example-spec.json은 시작점입니다.
모델은 타일(사진, 각각 슬롯에 맞게 스케일 및 크롭, 각각 왼쪽 타일로 페이드)의 행과 그 위에 오버레이(로고, 페이드가 로고를 먹지 않도록 마지막에 그림)입니다. 스크립트가 대신 결정할 수 없는 레이아웃 판단:
- 얼굴이 페이드 영역에 닿지 않게 하세요. 첫 번째 이후 모든 타일의 왼쪽
feather픽셀은 반투명입니다. 그곳에 얼굴이 있으면 이웃 위에 유령처럼 나타납니다. 크롭을 옮기거나 슬롯을 넓히세요. - 로고는 해당 주제 타일의 조용한 영역(초점이 흐린 배경, 하늘, 어두운 벽) 위에 배치하세요. 다음 주제의 타일로 넘어가지 않게 하세요.
- 주제의 균형을 맞추세요. 비슷한 로고 너비와 비슷한 얼굴 크기는 하나의 배너로 읽힙니다. 한 로고가 훨씬 작아야 한다면 사용자에게 이유를 알리세요.
- 변경 가능한 정보는 제외하세요. 포스터에 포함된 출시일, 가격, "coming soon" 문구는 사용자가 원하지 않는 한 크롭하세요. 배너 텍스트는 나중에 편집할 수 없습니다.
- 스케일과 크롭만 하세요. 리터칭, 얼굴 편집, 워터마크나 크레딧 제거는 하지 마세요. 유일한 사본에 타사의 워터마크가 있다면 다른 사본을 찾거나 제외하세요.
- 플랫폼의 UI 요소를 고려하세요. 많은 사이트가 아바타나 타이틀을 모서리에 오버레이하고 휴대폰에서 측면을 크롭합니다. 해당 영역을 알고 있을 때는 얼굴과 로고를 그 영역 밖에 두세요.
여러 크기. 플랫폼이 여러 배너(데스크톱과 모바일, 또는 두 사이트)를 원할 경우 크기별로 하나의 스펙을 작성하고 자산을 재사용하세요. 완성된 배너를 다른 비율로 크기 조정하지 마세요: 한 종횡비에서 작동하는 크롭과 로고 위치가 다른 비율에서는 얼굴을 자릅니다. 크기가 몇 픽셀만 다를 때는 스펙을 복사하고 마지막 타일을 조정하세요.
매우 얇은 스트립. 약 8:1(예: 1072x128) 비율에서 높이를 채우는 얼굴은 폭이 약 100픽셀에 불과하므로 더 많은 주제를 넣을 수 있지만 각 주제의 공간은 적습니다. 얼굴을 빡빡하게 크롭하고, 더 높은 배너보다 주제당 더 적은 이미지를 사용할 것으로 예상하며, 각 로고가 해당 높이에서 여전히 읽을 수 있는지 확인하세요. 두 줄로 쌓인 워드마크나 태그라인은 너무 작아 읽을 수 없을 수 있습니다. 이를 언급하고 사용자가 결정하도록 하세요.
5. 빌드, 확인, 수정
python scripts/compose_banner.py layout.json --preview preview/
스크립트는 증명 가능한 문제(파일 누락, 빈 밴드를 남기는 크롭, 타일 간 간격, 오버랩보다 넓은 페이드)에서 중지됩니다. 과도한 업스케일링과 같은 덜 명확한 문제에는 경고합니다.
그런 다음 결과를 확인하고, 전체 크기로 확인하세요. 넓은 배너가 뷰어에 맞게 축소되면 유령 같은 이음새와 깨진 로고 가장자리가 숨겨집니다. --preview는 이를 위한 전체 해상도 세그먼트와 이음새 및 오버레이 상자가 그려진 guides.png를 작성합니다. 각 세그먼트에서 다음을 확인하세요:
- 이음새에 잘리거나 이웃에 유령처럼 나타난 얼굴
- 로고 가장자리: 구멍, 후광, 프린지, 이 크기에서 읽을 수 없는 부분
- 빈 밴드, 늘어난 사람, 보이는 타일 가장자리
- 의도하지 않은 텍스트
스펙을 수정하고 다시 빌드하세요. 한 번 확인으로 발견된 모든 문제를 수정한 후 다시 확인하세요.
6. 저장 및 보고
- 사용자의 기존 배너를 절대 덮어쓰지 마세요. 새 파일 이름을 작성하세요. 스크립트는
--force가 주어지지 않으면 덮어쓰기를 거부하며, 이는 자신의 초안에만 사용하세요. - 스펙, 사용된 자산,
SOURCES.md를 세션 이후에도 유지될 폴더에 함께 보관하세요. 임시 폴더는 다운로드를 잃어버리면 배너를 다시 빌드할 수 없습니다. - 업로드하거나 게시하지 마세요. 사용자가 그 작업을 합니다.
다음 순서로 보고하세요: 파일 위치와 크기; 내용물(왼쪽에서 오른쪽으로); 약점(신뢰도 낮은 출처, 잘라낸 로고, 읽을 수 없는 태그라인, 붙여넣은 것처럼 보이는 타일); 각 발견된 자산이 공식적인지에 대한 확신 정도. 확인하지 않은 사항(예: 사이트가 휴대폰에서 배너를 어떻게 크롭하는지)을 명확히 말하세요.
스크립트
| 스크립트 | 용도 |
|---|---|
scripts/compose_banner.py | JSON 스펙에서 배너를 빌드합니다. --preview DIR은 검사 세그먼트와 가이드를 작성합니다. |
scripts/cutout_logo.py | 키 아트에서 로고를 키잉하거나, 기존 투명 로고의 프린지를 제거합니다. --test-sheet는 세 가지 바탕에서 결과를 보여줍니다. |
scripts/contact_sheet.py | 후보 이미지를 하나의 레이블이 지정된 시트에 타일링하여 빠른 시각적 확인을 제공합니다. |
옵션을 보려면 --help와 함께 실행하세요.
권리 및 공정 사용
스틸, 포스터 및 로고는 소유자에게 속합니다. 공식 아트워크를 변경하지 않고 보여주는 팬 또는 커뮤니티 배너는 일반적인 관행이지만, 사용자가 자신의 사용이 허용되는지 결정하므로 웹에서 자산을 가져올 때 한 번 언급하세요. 페이지를 권리자의 공식 계정으로 오인하게 하는 배너는 만들지 마세요.