# Gemini Nano Banana 2 이미지 생성 테스트

## 배경
- task-853.1에서 GPT Image 1 테스트 완료 → 제이회장님 평가: "초보 수준, 광고 불가"
- Gemini의 Nano Banana 2 (Gemini 3.1 Flash Image) 모델이 더 나을 수 있음
- GEMINI_API_KEY가 현재 .env.keys에 없으므로 확보부터 시작

## 목표
Gemini Nano Banana 2 모델로 동일 시나리오 광고 이미지를 생성하여 GPT Image 1과 비교.

## Phase 1: API 키 확보

### Google AI Studio에서 API 키 생성
1. https://aistudio.google.com/ 접속 (원격 브라우저 사용 가능)
   - 원격 브라우저: `python3 /home/jay/workspace/scripts/browser.py --remote-cdp http://100.116.204.95:9222 <command>`
   - 또는 CLI 방식: `curl` 로 직접 API 테스트
2. API 키 생성 후 `/home/jay/workspace/.env.keys`에 추가:
   ```
   export GEMINI_API_KEY="<생성된_키>"
   ```
3. 키가 이미 있거나 다른 방법으로 확보 가능하면 그 방법 사용

### 대안: Vertex AI 사용
- Google Cloud 서비스 계정이 이미 있음 (`/home/jay/.config/gcloud/service-accounts/`)
- `gcloud auth` 토큰으로 Vertex AI Imagen API 호출 가능
- 엔드포인트: `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent`

### 최소 확인 후 진행
- API 키 확보가 어려우면 **무료 Google AI Studio** 웹에서 직접 테스트 후 결과 스크린샷
- 핵심은 Nano Banana 2 모델의 이미지 퀄리티 확인

## Phase 2: 이미지 생성 테스트

### Gemini API 이미지 생성 방법
```python
# Google Generative AI Python SDK
# pip install google-genai
from google import genai

client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])

# Nano Banana 2 = gemini-2.0-flash-exp 또는 최신 이미지 생성 모델
response = client.models.generate_images(
    model="imagen-3.0-generate-002",  # 또는 Nano Banana 2의 정확한 모델 ID 확인
    prompt="...",
    config=genai.types.GenerateImagesConfig(
        number_of_images=1,
        aspect_ratio="1:1",  # Meta 광고 규격
    )
)
```

### 또는 Gemini의 네이티브 이미지 생성 (generateContent + responseModalities)
```python
response = client.models.generate_content(
    model="gemini-2.0-flash-exp",
    contents="이미지를 생성해줘: ...",
    config=genai.types.GenerateContentConfig(
        response_modalities=["IMAGE", "TEXT"],
    )
)
```

### 정확한 Nano Banana 2 모델 ID 확인
- Google AI Studio 또는 API docs에서 확인
- 후보: `gemini-2.0-flash-exp`, `imagen-3.0-generate-002`, 또는 신규 모델 ID
- 웹 검색으로 최신 모델 ID 확인 필수

### 테스트 시나리오 (GPT와 동일)

#### 시나리오 A: GA 리크루팅 광고
- 프롬프트: 전문적인 한국 보험 GA 리크루팅 광고. 모던 오피스, 자신감 있는 비즈니스 전문가들.
- 한글 텍스트: "당신의 커리어, 새로운 시작"
- 1080x1080 (1:1), 프리미엄 느낌

#### 시나리오 B: 보험 전문성 브랜딩
- 한국인 남성 보험 컨설턴트, 비즈니스 수트, 모던 서울 오피스
- 한글 텍스트: "보험의 모든 것"
- 따뜻한 조명, 신뢰감

#### 시나리오 C: 감성형 전직 유도
- 커리어 전환 동기부여 이미지
- 어두운/밝은 대비, 희망적 분위기
- 한글 텍스트: "지금이 기회입니다"

## 산출물
- 경로: `/home/jay/workspace/tools/ai-image-gen/output/v2-gemini-nb2/`
  - ★ 버전 폴더 분리 필수!
- 스크립트: 기존 `generate_ai_image.py`에 Gemini 지원 추가 또는 별도 스크립트
- 비교 리포트: GPT Image 1 vs Gemini Nano Banana 2 비교
  - 이미지 품질, 한글 렌더링, 비용, 생성 속도
  - 광고 이미지로서의 실전 투입 가능성 평가

## 주의사항
- API 키를 코드에 하드코딩 금지 — .env.keys에서 로드
- 한글 텍스트 렌더링 품질 꼼꼼히 확인 (Gemini가 한글 강점)
- 실패 로그 보존 필수
- 기존 output 폴더(v1-gpt-poc/) 절대 건드리지 말 것
- pip install이 필요하면 진행 (google-genai 등)
