Community이미지github.com

iithink88/컵-샵-일러스트레이션

커피, 밀크티 등 음료 사진을 업로드하면 브랜드, 컵 형태, 색상, 토핑을 자동 분석하여 2D 아이소메트릭 미니 매장 일러스트로 변환하고, 원본 사진과 무손실 합성한 고화질 비교 이미지(PNG 2장)를 제공합니다.

컵-샵-일러스트레이션란 무엇인가요?

이 스킬은 사용자가 업로드한 실제 음료 사진(커피, 밀크티, 캔 음료 등)을 분석하여, 브랜드 로고, 컵 디자인, 색상, 토핑 등 모든 시각적 특징을 유지한 채로 '2D 아이소메트릭(isometric) 미니 매장 일러스트'로 재구성합니다. Grid Coffee 스타일과 유사하게 굵은 검은 윤곽선, 단색 평면 채색, 브랜드 타이틀, 마스코트, 계단, 식물이 포함된 건축물을 생성하며, 원본 사진과 일러스트를 나란히 배치한 고화질 비교 PNG 2장을 최종 산출물로 제공합니다. Claude Code, Cursor, Codex 등 이미지 생성 및 로컬 스크립트 실행이 가능한 AI 에이전트 플랫폼에서 작동하며, ImageGen(이미지 생성) API를 활용한 '이미지-투-이미지(Img2Img)' 방식으로 동작합니다. 주요 워크플로는 사진 전처리 → 시각적 특징 분석(진단 카드 작성) → 프롬프트 조립 → ImageGen 호출 → 자체 검수 → 워터마크 제거 및 합성 → 최종 제공 순서로 자동 진행되며, 중간 단계별 사용자 확인을 요구하지 않습니다. 음료 사진을 독창적인 건축 일러스트로 변환하는 데 특화되어 있어, 소셜 미디어 콘텐츠 제작, 브랜드 굿즈 디자인, 개인 포트폴리오 등에 유용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iithink88/cup-shop-illustration/tree/HEAD/cup-shop-illustration

Installed? Explore more 이미지 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

한 잔의 음료, 하나의 작은 가게

실제 커피/밀크티 사진을 업로드 → 정교하고 귀여운 브랜드 테마의 아이소메트릭 매장 일러스트와 '원본 vs 일러스트' 고화질 비교 이미지를 받아보세요.

핵심 철칙(단 한 문장): 원래 음료의 식별 특징을 보존하고, 건축적 기능을 새롭게 디자인합니다. '비슷한 컵을 그리는 것'이 아니라 '사진 속 그 음료에 창문, 계단, 소형 직원을 만드는 것'입니다.

최종 완성본 예시

GridCoffee 그린 컵 기준: 초록색 컵 본체가 2층 매장 본체로, 크림색 뚜껑이 옥상 플랫폼으로, 흰색 사각 로고가 그대로 벽면에 남습니다. 컵 본체에는 아치형 창문과 줄무늬 차양이 생기고, 오른쪽에는 나무 계단과 식물, 입구에는 마스코트, 작은 테이블과 의자, A자형 입간판이 놓이며, 건물 전체는 대각선 석재 바닥 위에 자리 잡습니다. 상단에는 Grid Coffee / Americano / Yunnan · Giupo Estate라는 둥글고 굵은 타이틀, 민트 그린 단색 배경에 흰 구름이 있습니다.

스타일은 Adobe Illustrator로 만든 2D 벡터 일러스트이며, Blender로 렌더링한 3D 장면이 아닙니다.

워크플로(자동 완료, 단계별 확인 요청하지 않음)

사용자는 기본적으로 음료 사진 한 장을 업로드하며, 브랜드명, 음료명, 원두 산지, 콜라보 등 추가 설명을 첨부하는 경우가 많습니다. 아래 여섯 단계를 한 번에 수행합니다.

Step 0 · 이미지 수신 및 전처리

PY="$HOME/.workbuddy/binaries/python/envs/default/Scripts/python.exe"
[ -x "$PY" ] || PY="$(command -v python || command -v python3)"
SK="$HOME/.workbuddy/skills/cup-shop-illustration/scripts/imgtool.py"
OUT="<현재 작업 디렉터리>/out/cup-shop-illustration"
mkdir -p "$OUT"

"$PY" "$SK" prepare "<사용자가 업로드한 사진 절대 경로>" --out "$OUT/photo_clean.jpg"
  • prepare는 EXIF 방향을 통일하고, sRGB로 변환하며, 알파 채널 제거, 긴 변을 ≤2048로 리사이즈하고 정보 카드(너비, 높이, 방향, 밝기, 주색상)를 출력합니다. 정보 카드의 방향이 이후 캔버스 비율과 합성 방향을 결정합니다.
  • 파일 형식과 크기만 변경하고, 이미지 내용은 수정하지 않습니다. ImageGen에는 photo_clean.jpg를 사용하고, 합성 시에는 사용자가 업로드한 원본 사진을 사용합니다.
  • 사용자가 HEIC/webp 등 Pillow가 읽을 수 없는 형식을 업로드하면, 먼저 시스템 도구를 사용해 PNG로 변환한 후 이 단계를 진행하며, 사실대로 알립니다.

Step 1 · 사진 관찰, '식별 카드' 작성

시각 능력을 사용해 원본 사진을 직접 보고(코드로 가장자리 추출하거나 선화를 미리 생성하지 않음), references/diagnose.md의 식별 카드 항목을 하나씩 읽습니다:

필드내용
브랜드명컵 로고/텍스트, 가능하면 영문명 또는 병음 제공
음료명컵 라벨, 영수증 또는 사용자 설명에서 인식
컵 형태테이크아웃 종이컵 / 투명 플라스틱 컵 / 캔 / 유리병, 그리고 너비-높이 비율
상단 구조평평한 뚜껑, 음용구, 빨대, 폼, 크림, 실링 필름
주색상 / 보조색상Step 0의 주색상 정보 카드와 교차 검증
로고 및 텍스트모양, 위치, 색상(예: 흰색 속이 빈 사각형 + 컵 하단 GridCoffee)
토핑 / 장식커피 원두, 펄, 과일, 쿠키 부스러기, 층, 얼음
산지 / 콜라보윈난 농장, 콜라보 IP 등, 환경 요소로 활용 가능

규칙: 사용자가 명시적으로 제공한 정보 우선; 사진에서 읽을 수 없는 내용은 절대 만들지 말고 '컵에 원래 있던 텍스트/그래픽' 등으로 설명; 브랜드, 색상, 컵 형태를 임의로 변경하지 않음.

Step 2 · 프롬프트 조립

references/prompt-master.md를 읽고 메인 템플릿의 6개 슬롯(브랜드/음료/추가 설명/원본 방향에 따른 캔버스 비율/배경색/특징 요소)을 채워 완전한 프롬프트를 만듭니다.

  • 템플릿 내 스타일 조항, 네거티브 프롬프트, 구도 제약은 그대로 유지하고, 요약하지 않습니다.
  • 최종 프롬프트는 핵심 자산으로, 전달 시 원문 그대로 첨부합니다(사용자가 재사용하는 경우가 많음).
  • 중국어 간판이 필요할 때 메인 타이틀은 영문으로 유지하고 중국어는 소규모 장식으로만 사용; AI 중국어는 깨지기 쉬우므로 diagnose.md의 처리 방법 참조.

Step 3 · 이미지 생성(ImageGen 이미지-투-이미지)

⚠️ 호출 전 응답에서 명확히 알림: 단일 ImageGen 약 5–10 포인트 소모. 먼저 고지, 후 호출.

매개변수값
promptStep 2의 완전한 프롬프트
image1Step 0의 photo_clean.jpg 절대 경로(실제 사진, 순수 텍스트-투-이미지 금지)
size세로 1024x1365(3:4, 2026-11-08 테스트 완료, 실제 반환 1024x1360; 거부 시 1024x1280으로 다운그레이드); 가로 1536x1024; 정사각형 1024x1024
qualityhigh
input_fidelitymedium(기본값, 아래 매개변수 조정 참조)
output_dir$OUT
footnote""(도구 측 워터마크 제거 가능; 플랫폼은 여전히 'AI 생성 WORKBUDDY'를 강제로 오버레이하므로 Step 5의 cleanwm으로 제거)
style비워둠, 스타일은 프롬프트로 고정

input_fidelity 매개변수 조정: medium은 컵 형태/로고/색상은 유지하면서 재구성도 허용. '다른 컵'으로 변질 → high로 상향; 이미지가 사진을 모사하는 느낌, 시점이 45°가 되지 않음 → low로 하향.

생성되는 것은 완전하고 독립적인 일러스트 한 장이며, 절대로 AI가 직접 좌우 비교 이미지를 그리게 하거나 비교 이미지에서 일러스트를 잘라내지 않습니다.

Step 4 · 자체 검수

references/diagnose.md의 9개 자체 검수 항목을 하나씩 대조합니다. 세 가지 필수 확인:

  1. 사진 속 그 음료임을 단번에 알아볼 수 있는가? (컵 형태, 주색상, 로고 위치)
  2. 순수 2D 굵은 검은 윤곽선 + 단색 평면 채색인가? (플라스틱 질감/그라데이션/부드러운 그림자 = 실패)
  3. 건물, 계단, 캐릭터, 바닥, 타이틀이 모두 화면 안에 완전히 있는가? (잘림 = 실패)

불합격 → 해당 프롬프트 부분만 수정, 최대 한 번 재시도; 그래도 불합격이면 사실대로 전달하고 조정 가능성을 설명하며, 성공한 척 하지 않음.

Step 5 · 워터마크 제거 + 코드 합성

플랫폼이 일러스트 오른쪽 하단에 'AI 생성 WORKBUDDY' 흰색 텍스트를 강제로 오버레이하며, footnote: ""로 제거할 수 없습니다. 먼저 흔적 없이 제거한 후 합성:

"$PY" "$SK" cleanwm "$OUT/<일러스트 파일명>.png" --out "$OUT/<원본 파일명>_illustration.png"

"$PY" "$SK" compose \
  --photo "<사용자가 업로드한 원본 사진 절대 경로>" \
  --art "$OUT/<원본 파일명>_illustration.png" \
  --out "$OUT/<원본 파일명>_compare.png"
  • cleanwm의 기본 selective 모드는 흰색에 가까운 워터마크 픽셀만 배경색으로 끌어당기며, 바닥을 자르거나 녹색 잎을 잘못 지우지 않으며, 테스트 결과 잔여물 없고 이음새도 없습니다. 기본 --threshold 160; 오른쪽 하단에 흰 구름/크림색 석재 타일 등 밝은 장식이 있으면 190–210으로 높여 오탐지 방지. 워터마크 위치가 특수한 경우 --box "x0,y0,x1,y1" 조정 가능, 또는 --mode fill로 변경(해당 영역의 장식까지 지우므로 주의).
  • compose는 원본 방향에 따라 자동 선택: 세로/정사각형 → 원본 왼쪽, 일러스트 오른쪽; 가로 → 원본 위, 일러스트 아래. --layout side|stack으로 강제 지정 가능.
  • 일러스트 원본 픽셀을 기준으로 일러스트는 크기 조정 없음, 원본은 비율에 맞게 크기 조정 후 정렬; 흰색 간격 24px, 외부 여백 24px, 비율 차이는 여백으로 흡수.
  • 잘라내지 않고, 늘리지 않으며, 원본 사진 내용을 수정하지 않음, 고화질 PNG 출력.
  • cleanwm 실패 시 trim <일러스트> --bottom 0.06 --mode pad 대체 사용 가능; 단, 이미지 하단을 잘라 바닥이 잘릴 수 있으므로 최후의 수단으로만 사용.

Step 6 · 최종 제공

present_files로 먼저 합성 이미지를 보여주고, 그다음 독립 일러스트를 보여줍니다(두 장 모두 제공). 답변에 세 줄의 결론 제공: 인식된 브랜드/음료, 캔버스 비율과 input_fidelity, 두 파일의 경로; 그다음 완전한 프롬프트 원문 첨부.

엄격 규칙(위반 시 실패)

  1. 반드시 실제 사진을 image1로 하여 이미지-투-이미지 방식으로 생성해야 하며, 텍스트만으로 컵을 다시 그릴 수 없습니다.
  2. 합성은 사용자가 업로드한 원본 사진을 사용해야 하며, AI가 다시 그린 '사진'을 사용할 수 없습니다.
  3. 원래 컵 형태, 주색상, 로고 및 포장 특징을 유지합니다. 새롭게 디자인하는 것은 건축적 기능이지 포장 디자인이 아닙니다.
  4. 원본 사진의 촬영 각도를 기계적으로 복사하지 말고, 합리적인 3차원 공간 추론(45° 사선 위 아이소메트릭)을 수행해야 합니다.
  5. 먼저 독립적이고 완전한 일러스트를 생성한 후 합성합니다. 비교 이미지에서 잘라내는 것을 금지합니다.
  6. 2D 벡터 일러스트만 허용되며, 3D 렌더링/사실적/수채화/그라데이션/복잡한 조명 효과는 엄격히 금지됩니다.
  7. 코드로 가장자리를 추출하거나 선화를 생성하지 말고, 이미지 모델이 원본 이미지를 직접 이해하도록 합니다.
  8. 이미지 생성 전 반드시 포인트 소모량을 알려야 하며, 단계별 확인을 요청하지 않고 한 번에 실행합니다.

조정 가능 항목

변경하고 싶은 사항수정 위치
배경색프롬프트 '밝고 부드러운 민트 그린' → 브랜드와 어울리는 색상으로 변경
타이틀 텍스트메인/서브 타이틀 슬롯; 확실하지 않으면 브랜드명만 작성
산지 / 콜라보 요소'특징 요소' 슬롯, 예: 커피 나뭇가지, 농장 A자형 입간판, 콜라보 캐릭터
마스코트 수 / 계단 미끄럼틀프롬프트 '건축 디자인' 섹션의 시설 목록
캔버스 비율Step 3의 size, 동시에 프롬프트 내 캔버스 조항 수정
충실도input_fidelity low / medium / high
합성 간격과 배경색compose --gap --pad --bg

리소스

파일용도
references/prompt-master.md메인 참고 : 완전하고 재사용 가능한 프롬프트 템플릿, 슬롯 표, 세 가지 채워진 예제, 네거티브 프롬프트 목록
references/diagnose.md사진 식별 카드, 9가지 자체 검수, 실패 수정 방법 표, 중국어 텍스트 처리
scripts/imgtool.pyprepare / cleanwm / compose / trim / sheet 5가지 로컬 서브 명령어
README.md중국어 설치 및 사용 설명

관련 스킬