# InsuRo 이미지 생성 Gemini API 연동 수정

## 작업 레벨: Lv.1

## 프로젝트
- InsuRo: `/home/jay/projects/InsuRo`
- 서버: `/home/jay/projects/InsuRo/server`

## 문제
task-2225에서 이미지 생성을 Vertex AI(aiplatform.googleapis.com) 기반으로 구현했으나, Vertex AI API가 비활성화 상태. 실제 아누 시스템은 **generativelanguage.googleapis.com + gcloud_auth OAuth 토큰** 방식을 사용 중.

## 수정
`server/image_generator.py`의 Gemini 이미지 생성 부분을 기존 아누 시스템(`/home/jay/workspace/tools/ai-image-gen/gemini_pro_generate.py`)과 동일한 방식으로 변경:

### 참고 코드 (아누 시스템 — 동작 확인됨)
- 파일: `/home/jay/workspace/tools/ai-image-gen/gemini_pro_generate.py`
- API: `https://generativelanguage.googleapis.com/v1beta/models/{model_id}:generateContent`
- 모델: `gemini-3-pro-image-preview` (fallback: `gemini-3.1-flash-image-preview`)
- 인증: `gcloud_auth.get_access_token()` → `Authorization: Bearer {token}`
- 인증 모듈: `/home/jay/workspace/tools/ai-image-gen/gcloud_auth.py`

### 구현 방향
1. `image_generator.py`에서 Vertex AI 호출 코드를 generativelanguage API로 교체
2. `gcloud_auth.py`를 InsuRo 서버에 복사 또는 import path 추가
3. 모델: `gemini-3-pro-image-preview` 사용 (fallback: `gemini-3.1-flash-image-preview`)
4. OAuth 스코프: `https://www.googleapis.com/auth/generative-language`

### 핵심 코드 패턴
```python
import requests
from gcloud_auth import get_access_token

GEMINI_API_BASE = "https://generativelanguage.googleapis.com/v1beta"
MODEL_ID = "gemini-3-pro-image-preview"

def generate_gemini_image(prompt: str) -> bytes:
    token = get_access_token()
    url = f"{GEMINI_API_BASE}/models/{MODEL_ID}:generateContent"
    headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
    payload = {
        "contents": [{"parts": [{"text": prompt}]}],
        "generationConfig": {"responseModalities": ["IMAGE", "TEXT"]}
    }
    resp = requests.post(url, headers=headers, json=payload, timeout=120)
    # 응답에서 이미지 바이트 추출
    ...
```

## affected_files
- `server/image_generator.py` (수정 — Vertex AI → generativelanguage API)
- `server/gcloud_auth.py` (신규 또는 복사 — `/home/jay/workspace/tools/ai-image-gen/gcloud_auth.py`에서)

## 검증 시나리오
1. 서버 재시작 후 이미지 생성 API 호출 → Gemini 이미지 생성 성공
2. gcloud_auth 토큰 획득 정상
3. Satori 폴백도 여전히 동작