# task-858.1 완료 보고서: Gemini 3 Pro Image (Nano Banana Pro) 테스트

**팀**: dev1-team (헤르메스)
**일시**: 2026-03-23

---

## SCQA

**S**: task-857.1에서 Gemini Flash Image (NB2) 테스트가 성공적으로 완료되었으며, task-855.1에서 GPT Image 1 v2 프롬프트 기법이 확보되었다.

**C**: Google 최고 품질 모델인 `gemini-3-pro-image-preview` (Nano Banana Pro)로 전문가 수준 프롬프트를 적용한 테스트가 아직 미수행 상태였다. Flash vs Pro 모델 간 품질/속도 차이를 정량적으로 비교해야 한다.

**Q**: Pro 모델이 Flash 대비 광고 실무에서 의미 있는 품질 향상을 보이는가?

**A**: 3개 시나리오 모두 성공 (3/3). Pro 모델 평균 25.4초/621KB로 Flash(27.7초/739KB) 대비 속도 8% 빠르고 파일 크기 16% 작음. 핵심 차이는 **프롬프트 준수도**와 **시각적 품질**. Pro 모델은 한국어 텍스트 렌더링, 구도, 조명 지시를 Flash보다 정밀하게 반영함. 특히 시나리오 C의 시네마틱 조명/구도 재현이 탁월.

---

## 생성 결과 상세

### 모델 간 비교

**Gemini Pro Image (이번 테스트)**
- 모델: `gemini-3-pro-image-preview`
- 시나리오 A: 26.1초 / 612KB / JPEG
- 시나리오 B: 26.7초 / 606KB / JPEG
- 시나리오 C: 23.3초 / 643KB / JPEG
- 평균: **25.4초 / 621KB**
- 총 소요: 76.1초
- 성공률: 3/3 (100%)

**Gemini Flash Image (task-857.1)**
- 모델: `gemini-3.1-flash-image-preview`
- 시나리오 A: 25.5초 / 735KB / JPEG
- 시나리오 B: 34.3초 / 709KB / JPEG
- 시나리오 C: 23.3초 / 772KB / JPEG
- 평균: **27.7초 / 739KB**
- 총 소요: 83.0초

**GPT Image 1 (task-855.1 기준)**
- 평균: **38.3초 / 1.54MB** (PNG)

### Pro vs Flash 비교 요약

- 속도: Pro 25.4초 vs Flash 27.7초 → **Pro 8.4% 빠름**
- 파일 크기: Pro 621KB vs Flash 739KB → **Pro 16.0% 작음**
- 포맷: 양쪽 모두 JPEG 반환
- 프롬프트 준수도: Pro가 우위 (구도/조명/텍스트 지시 정밀 반영)

### 품질 평가 (프롬프트 준수도 기반)

**시나리오 A (GA 리크루팅)**
- 한국어 "새로운 시작" + 서브타이틀 "지금 도전하세요" 정확히 렌더링
- 네이비 더블브레스트 수트, 골든아워 역광, 서울 스카이라인(롯데타워) 모두 반영
- 3분할 구도 우측 배치 준수

**시나리오 B (전문성 브랜딩)**
- 금테 안경, 크림색 터틀넥 + 네이비 블레이저, 팔짱 구도 정확 반영
- 월넛 서재, 마호가니 책상, 브래스 램프 환경 요소 충실
- TEXT: None 지시 준수 (텍스트 없음)

**시나리오 C (전직 유도 시네마틱)**
- 한국어 "지금, 당신의 차례" 정확 렌더링
- 실루엣 + 빛의 문 + 볼류메트릭 갓레이 → 놀란/비르뇌브 시네마틱 무드 탁월
- 틸/오렌지 컬러 그레이딩, 먼지 입자까지 재현

---

## 발견 이슈 및 해결

### 자체 해결 (3건)

1. **파일 확장자 불일치** — 프롬프트에서 `.png` 요청했으나 API가 JPEG 반환. 기존 NB2 스크립트의 MIME 기반 확장자 자동 전환 로직을 유지하여 올바르게 `.jpg`로 저장.
   - 원인: Gemini API가 이미지 포맷을 자체 결정 (JPEG 선호)
   - 영향: 작업 지시의 `gemini_pro_A.png` 대신 `gemini_pro_A.jpg`로 저장됨. 콘텐츠는 동일.

2. **Pro 모델 deprecation 우려** — 웹 검색에서 "Gemini 3 Pro Preview deprecated" 정보 발견. 확인 결과 이는 텍스트 모델(`gemini-3-pro-preview`)이며 이미지 모델(`gemini-3-pro-image-preview`)은 별개로 현재 정상 운영 중.
   - 검증: API 호출 3회 모두 정상 응답

3. **timeout 설정** — Flash 모델 기준 180초에서 Pro 모델은 처리 시간이 더 길 수 있어 300초로 상향 조정. 실측 결과 최대 26.7초로 충분한 여유 확인.

### 범위 외 미해결 (1건)

1. **PNG 포맷 강제 미지원** — Gemini API가 출력 이미지 포맷을 지정하는 파라미터를 제공하지 않음. JPEG만 반환. PNG가 필요하면 후처리 변환 필요. (외부 API 제약)

---

## 생성/수정 파일 목록

- `/home/jay/workspace/tools/ai-image-gen/gemini_pro_generate.py` (신규) — Pro 모델 생성 스크립트
- `/home/jay/workspace/tools/ai-image-gen/output/v3-gemini-pro/gemini_pro_A.jpg` (생성) — 시나리오 A 이미지
- `/home/jay/workspace/tools/ai-image-gen/output/v3-gemini-pro/gemini_pro_B.jpg` (생성) — 시나리오 B 이미지
- `/home/jay/workspace/tools/ai-image-gen/output/v3-gemini-pro/gemini_pro_C.jpg` (생성) — 시나리오 C 이미지
- `/home/jay/workspace/tools/ai-image-gen/output/v3-gemini-pro/results.json` (생성) — 결과 JSON

## 검증 증거

- 스크립트 문법 검증: `python3 ast.parse` → OK
- pyright 타입 체크: 0 errors, 0 warnings, 0 informations
- black + isort: 포매팅 적용 완료
- 이미지 생성: 3/3 성공 (100%), 총 76.1초
- 파일 크기: A=612KB, B=606KB, C=643KB (모두 유효한 JPEG)
- 기존 디렉토리 무영향: v1-gpt-poc, v2-gpt-advanced, v2-gemini-nb2 그대로 유지 확인
- 이미지 텔레그램 전송: 3건 모두 성공

## QC 자동 검증 결과

- **overall**: PASS (재검증 후)
- pyright_check: PASS (0 errors)
- style_check: PASS (black + isort 적용)
- file_check: PASS (보고서 + 스크립트 존재 확인, .done은 finish-task.sh에서 생성)
- tdd_check: SKIP 사유 — Lv.1 도구 스크립트 수정 작업. 기존 `gemini_nb2_generate.py`의 모델/프롬프트 변경만 수행. TDD 대상(Lv.2+ 핵심 로직 구현)에 해당하지 않음.
- health_score: 82/100
