# Meta 캐러셀 광고 이미지 자동 생성 PoC

## 목표
Meta 캐러셀 광고 이미지를 자동 생성하는 PoC를 만든다.
실제 카피(상시 A 세트 5장)를 사용하여 1080x1080 PNG 이미지를 출력한다.

## 산출물 경로
- 스크립트: `/home/jay/workspace/tools/carousel-gen/`
- 생성된 이미지: `/home/jay/workspace/tools/carousel-gen/output/`
- HTML 템플릿: `/home/jay/workspace/tools/carousel-gen/templates/`

## 접근법: 2가지 동시 테스트

### 접근법 B — HTML 템플릿 + Playwright 스크린샷 (인포그래픽용)
- HTML/CSS로 캐러셀 슬라이드 디자인 → Playwright로 1080x1080 캡처
- 슬라이드 3번(숫자 증명)을 이 방식으로 생성
- 한국어 폰트: Pretendard 또는 Noto Sans KR (시스템 폰트로 대체 가능)
- 디자인 요소: 그라디언트 배경, 아이콘/이모지, 수치 강조 타이포그래피

### 접근법 C — AI 배경 + HTML 텍스트 오버레이 (감성 슬라이드용)
- AI API로 감성적 배경 이미지 생성 → HTML로 텍스트 오버레이 → Playwright 캡처
- 슬라이드 1번(고통 인식)을 이 방식으로 생성
- AI 배경 API: OpenAI GPT Image 1 (gpt-image-1, low quality, $0.011/장) 사용
  - API 키: 환경변수 OPENAI_API_KEY 사용 (.env.keys에서 로드)
  - 프롬프트: 텍스트 없이 분위기/배경만 생성 (한글 텍스트는 HTML에서 오버레이)
  - 예: "Professional dark blue gradient background with subtle golden light effects, modern corporate atmosphere, insurance industry, clean minimal design, no text"
- 배경 위에 반투명 오버레이 + 텍스트 HTML 레이어 → 합성 캡처

## 실제 카피 데이터 (상시 A 세트)
- 파일: `/home/jay/workspace/memory/plans/recruiting-marketing/meta-ads.md`
- "상시 광고 — 세트 A" 섹션의 슬라이드 1~5 사용

### 슬라이드별 접근법 매핑
| 슬라이드 | 내용 | 접근법 | 이유 |
|----------|------|--------|------|
| 1. 고통 인식 | "수수료가 새고 있진 않습니까?" | **C안** (AI 배경 + HTML) | 감성적 후킹, 분위기 중요 |
| 2. 문제 심화 | "좋은 조직이 없었을 뿐" | **B안** (HTML 온리) | 불릿 포인트 리스트 |
| 3. 신뢰 근거 | "숫자로 증명합니다" | **B안** (HTML 온리) | 수치 정확도 필수 |
| 4. 차별화 | "TOP사업단의 구조" | **B안** (HTML 온리) | 시스템 목록, 정보 전달 |
| 5. CTA | "경력 2년 이상 설계사분께만" | **C안** (AI 배경 + HTML) | 감성적 마무리 + CTA 버튼 |

## 디자인 가이드라인
- **크기**: 1080 x 1080px (정사각형, Meta 기본)
- **파일 형식**: PNG
- **텍스트 비율**: 이미지 면적의 20% 이하 권장 (Meta 알고리즘 최적화)
- **색상 톤**:
  - 메인: 네이비/딥블루 (#1a365d ~ #2d3748) — 전문성, 신뢰감
  - 포인트: 골드/앰버 (#d69e2e ~ #ecc94b) — 프리미엄, 기회
  - 텍스트: 화이트 (#ffffff) — 가독성
- **브랜드 참고**: `/home/jay/workspace/memory/specs/brand-guidelines.md`
- **핵심 원칙**:
  - 텍스트는 최소화하고 핵심 메시지만 (상세는 광고 카피란에)
  - 헤드라인만 이미지에, 본문은 축약 또는 생략
  - 금소법 주의: 수치는 카피 원문 그대로만 사용, 절대 변형/추가 금지

## 기술 요구사항
- Python 스크립트 (CLI)
- Playwright (캡처용): `pip install playwright && playwright install chromium`
- OpenAI API (배경 생성용): `pip install openai`
- 실행: `python3 generate_carousel.py --set "상시A" --output ./output/`
- JSON 데이터 기반: 카피 데이터를 JSON으로 구조화 → 템플릿에 주입

## 구조
```
carousel-gen/
├── generate_carousel.py     # 메인 CLI
├── templates/
│   ├── infographic.html     # B안 템플릿 (정보 전달형)
│   └── emotional.html       # C안 템플릿 (감성형, AI 배경 합성)
├── data/
│   └── set_a.json           # 상시A 카피 데이터
├── output/                  # 생성된 이미지
└── backgrounds/             # AI 생성 배경 캐시
```

## 검증 기준
1. 5장 이미지가 모두 1080x1080 PNG로 생성되는가
2. 한글 텍스트가 깨지지 않고 정확하게 렌더링되는가
3. 수치(정착지원금 최대 1,000만원, 직전연봉 50%, 해외여행 4회/년 등)가 원문과 100% 일치하는가
4. B안(HTML 온리)과 C안(AI 배경+HTML)의 품질 차이 비교 가능한가
5. 디자인이 Meta 광고로서 최소 수준 이상의 퀄리티인가

## 주의사항
- ★ 수치 환각 금지: meta-ads.md 원문의 수치만 사용. AI가 숫자를 생성하지 말 것
- ★ "잔존수당" 사용 금지 → "잔여수수료" 사용
- AI 배경 프롬프트에 한글 텍스트 포함시키지 말 것 (텍스트는 HTML 오버레이로만)
- 생성된 이미지를 cokacdir --sendfile로 제이회장님께 전달할 것
