AI로 티셔츠 브랜드 만들기 #2 — AI가 자꾸 서양인 모델을 그렸다

AI와 30만원으로 티셔츠 브랜드 WILD HUMBLE을 만드는 연재. 이 글은 #2편입니다. (1편 보기)

쇼핑몰 껍데기는 만들었다. 이제 채울 그림이 필요했다. 여행 사진을 AI에게 주고 그래피티 스케치로 바꾸는 작업. 하루면 끝날 줄 알았고, 실제로는 사흘이 걸렸다.

결론부터 말하면 AI는 시키는 대로 했다. 문제는 내가 시키지 않은 것이 너무 많았다는 것이다.

리스본 트램 도안 — 이렇게 나오기까지 세 번의 사고가 있었다.
리스본 트램 도안 — 이렇게 나오기까지 세 번의 사고가 있었다.

사고 1 — 모델이 죄다 서양인이었다

첫 착용컷 다섯 장을 받아 들고 한참을 봤다. 옷은 괜찮았다. 그런데 모델이 전부 금발 서양인이었다. 한국 브랜드의 첫 룩북인데.

BEFORE — AI가 그린 것. 프롬프트에 '한국인'이 없으니 금발 서양인이 나왔다.
BEFORE — AI가 그린 것. 프롬프트에 '한국인'이 없으니 금발 서양인이 나왔다.

프롬프트를 다시 열어봤다. a tall man. 그게 전부였다. AI에게 “사람"이라고만 하면 학습 데이터의 평균값이 나온다. 그 평균이 서양인이었을 뿐, AI가 뭘 잘못한 게 아니었다. 내가 한국인을 원한다고 말한 적이 없었다.

다섯 장을 전부 버리고 모델 지정을 이렇게 고쳤다.

a tall KOREAN man (184cm, slim athletic build, broad shoulders,
small head proportion, East Asian skin tone),
face not visible (back view, or framed from chin down to mid-thigh)

KOREAN 한 단어와 East Asian skin tone 한 구절. 그 뒤로 이 사고는 다시 없었다. 지금 쇼핑몰에 걸린 착용컷은 전부 이 블록에서 나왔다.

AFTER — 같은 장소, 같은 옷. 단어 하나를 넣었을 뿐인데 이렇게 바로잡혔다.
AFTER — 같은 장소, 같은 옷. 단어 하나를 넣었을 뿐인데 이렇게 바로잡혔다.

두 장을 나란히 놓으면 허탈하다. 배경도 옷도 구도도 그대로다. 바뀐 건 프롬프트 한 줄이었다.

사고 2 — 오버핏을 시켰는데 여성복이 나왔다

두 번째는 더 미묘했다. “오버핏 티셔츠"라고 했는데 허리가 들어간 실루엣이 나왔다. 분명 크게 그리긴 했는데, 여성 셔츠의 라인이었다.

이것도 같은 문제였다. ‘오버핏’은 사람이 쓰는 말이고, AI에겐 애매하다. 그래서 눈에 보이는 형태로 바꿔 적었다 — 박시하게, 어깨는 떨어뜨리고, 다트는 없이.

ivory oversized BOXY cotton t-shirt, unisex, wide straight silhouette,
dropped shoulders, thick collar ribbing, NO darts, NO fitted waist

NO darts(다트 없음) 세 글자가 결정적이었다. 다트는 옷을 몸에 붙게 만드는 봉제선이다. 그걸 금지하자 비로소 각진 스트리트 핏이 나왔다.

사고 3 — 주인공이 사라졌다

리스본 히어로 컷에서 트램이 없어졌다. 배경을 “리스본 골목"이라고만 썼더니 AI가 골목만 충실히 그리고 트램은 빼먹은 것이다. 브랜드 이름이 TRAM 28인데.

배경에 무엇이 들어가야 하는지 콕 집어 다시 요청했다. 당연한 건 없었다.

욜뢰데니즈의 해적선 — NO MAP. 도안 자체는 이렇게 잘 나왔다
욜뢰데니즈의 해적선 — NO MAP. 도안 자체는 이렇게 잘 나왔다

그래서 프롬프트를 ‘규칙 문서’로 만들었다

세 번 데이고 나서 공통점이 보였다. 매번 다르게 말하니 매번 다른 사고가 났다. 그날 기분대로 쓴 한 문단짜리 프롬프트가 원인이었다.

그래서 프롬프트규칙.md라는 파일을 만들었다. 모델 블록, 티셔츠 블록, 그래픽 스타일 블록을 글자 그대로 복사해 붙이는 고정 텍스트로 박아두고, 매번 앞에 붙였다. 규칙엔 이런 것들이 들어갔다.

  • 형용사가 아니라 설계도로 쓴다 — “vivid blue tiles"라고 했더니 성화 벽화가 나왔다. 타일 4×5 격자, 빠진 자리는 3열 4행, 기울기 15도… 좌표로 적자 잡혔다.
  • 요소 사이의 인과를 문장으로 쓴다 — 깨진 자리와 떨어진 타일의 모양이 안 맞았다. AI는 요소를 따로따로 그리기 때문이다. “이 구멍은 저 타일이 깨끗하게 떨어져 나가서 생긴 자리이므로 크기와 모양이 같다"까지 써야 동기화됐다.
  • 금지는 범위까지 쓴다 — “파편 없음"으론 부족했다. “그림 전체 어디에도 파편 없음"으로 범위를 못 박고, 표현을 바꿔 두 번 반복해야 지켜졌다.
  • 예쁘다고 합격시키지 않는다 — 검수 첫 질문은 “이 그림의 이야기가 물리적으로 말이 되는가”.

사고는 확연히 줄었다. 아줄레주 도안 하나에 다섯 번 재생성하던 것이, 규칙을 붙인 뒤로는 한두 번에 끝났다. 무료 크레딧 100개 중 89개를 쓰고서야 배운 것이다.

구름 위의 패러글라이딩 — ABOVE CLOUDS
구름 위의 패러글라이딩 — ABOVE CLOUDS

배운 것

AI는 창의적 파트너가 아니었다. 정확한 지시서를 주면 정확히 따르는 작업자였다. 좋은 결과는 운이 아니라 좋은 프롬프트에서 나왔고, 좋은 프롬프트는 영감이 아니라 사고 기록을 규칙으로 바꾼 문서에서 나왔다.

그리고 하나 더. 위에 올린 BEFORE 컷은 지워 버릴 수도 있었다. 실제로 착용컷 원본은 재생성하면서 대부분 덮어썼고, 이 한 장은 홍보용으로 따로 남겨둔 덕에 살았다. 실패한 결과물이 가장 좋은 교재였다 — 그날 이후로는 사고 컷을 먼저 따로 저장한다.

실물로 뽑은 뒤. 화면에서 좋아 보이던 것과 입었을 때는 또 달랐다.
실물로 뽑은 뒤. 화면에서 좋아 보이던 것과 입었을 때는 또 달랐다.

다음 편, 이 도안을 실제 티셔츠로 처음 뽑다가 만난 “1mm” 이야기.


연재 ‘맨땅에 브랜드’ · 쇼핑몰 soongbly.com/wildhumble