---
task_id: task-2225
type: plan
scope: task
created: 2026-04-27
updated: 2026-04-27
status: completed
---

# 계획서: task-2225

**task**: task-2225
**목표**: InsuRo 이미지 생성을 아누 서버로 전환 + 플랜별 차등 (Satori/Gemini/Hybrid)
**승인**: 아누 2026-04-27
**근거**: 기존 Edge Function generate-image가 GOOGLE_AI_API_KEY 미설정으로 동작 불가, 아누 서버 내부 스킬로 전환

---

## 목표

1. 서버 엔드포인트 `/api/insuro/generate-image` 추가
2. 플랜별 이미지 생성 라우팅: 무료/베이직→Satori, 프로→Gemini, 맥스/히든→Hybrid
3. 프론트엔드 ImageGeneratorPanel.tsx를 Edge Function → 서버 API로 전환
4. planSkillMap.ts에 이미지 생성 티어 매핑 추가
5. npm run build 성공

## 범위

### 포함
- server/main.py: generate-image 엔드포인트 추가
- server/image_generator.py: Satori/Gemini/Hybrid 이미지 생성 모듈 신규
- server/scripts/satori-render.js: Node.js Satori 렌더러 (신규)
- server/templates/: Satori HTML 템플릿 (신규)
- src/components/ImageGeneratorPanel.tsx: API 호출 대상 변경
- src/config/planSkillMap.ts: 이미지 생성 티어 매핑 추가

### 제외 (다음 페이즈 이후)
- Gemini Vertex AI 실제 연동 (서비스 계정 키 활성화 필요)
- Hybrid 합성 로직 (Pillow 레이어 합성)
- 이미지 캐시/CDN 전략

## 위임 계획

- 백엔드 (server/main.py, server/image_generator.py): **토르(백엔드)** — 엔드포인트 + 이미지 생성 모듈
- 프론트엔드 (ImageGeneratorPanel.tsx, planSkillMap.ts): **프레이야(프론트엔드)** — API 호출 전환

## 검증 기준

- 빌드: `cd /home/jay/projects/InsuRo && npm run build` → 성공
- 서버: `python3 -c "import image_generator"` → import 성공
- 프론트: ImageGeneratorPanel에서 supabase.functions.invoke 제거 확인
