# 이미지 파이프라인 통합: image_router API 연동 + IPTC 메타데이터

## 태스크 ID: task-876.1

## 배경
task-870.1에서 1팀이 `image_router.py`(라우팅+fallback 로직)와 Meta AI 이미지 정책 문서를 완성했다. 그러나 2가지가 미구현 상태:
1. **image_router.py 실제 API 연동**: 현재 생성 함수가 stub (TODO 상태)
2. **IPTC 메타데이터 자동 삽입**: Meta 광고 정책 준수를 위한 `digitalsourcetype: trainedAlgorithmicMedia` 태그

## 목표
- image_router.py의 stub 함수를 실제 API 호출 코드로 교체
- IPTC 메타데이터 삽입 유틸리티 구현

## 작업 범위

### 1. image_router.py API 연동
**위치**: `/home/jay/workspace/tools/ai-image-gen/image_router.py`

각 ImageType별 실제 생성 함수 연결:
- `PHOTOREALISTIC` → `gemini_pro_generate.py` 호출 (gcloud_auth.py 사용)
- `CARDNEWS` → satori 파이프라인 호출 (Node.js)
- `HYBRID` → `generate_hybrid.py` 호출 (Gemini 배경 + HTML 오버레이)

stub 함수를 실제 API 호출로 교체. fallback 체인(Gemini→GPT, Hybrid→Gemini)도 실제 동작하도록.

### 2. IPTC 메타데이터 자동 삽입
**참고**: `/home/jay/workspace/memory/research/meta-ai-image-policy.md`

구현 내용:
- `iptc_tagger.py` 유틸리티 모듈 생성
- 생성된 이미지(PNG/JPEG)에 IPTC 태그 자동 삽입:
  - `Iptc.Application2.ObjectName`: 이미지 제목
  - `Iptc.Application2.Keywords`: "AI-generated"
  - XMP `digitalsourcetype`: `trainedAlgorithmicMedia`
- image_router.py의 생성 파이프라인에 tagger 연결 (생성 직후 자동 태그)

### 3. 테스트
- image_router.py 기존 테스트 65건 유지 (mock 기반)
- 실제 API 연동 통합 테스트 추가 (최소 5건)
- iptc_tagger.py 단위 테스트 (최소 10건)
- pytest 전체 통과, pyright 0 errors

## 참고 파일
- `/home/jay/workspace/tools/ai-image-gen/image_router.py` — 라우터 (stub)
- `/home/jay/workspace/tools/ai-image-gen/test_image_router.py` — 기존 테스트 65건
- `/home/jay/workspace/tools/ai-image-gen/gcloud_auth.py` — Gemini 인증
- `/home/jay/workspace/tools/ai-image-gen/gemini_pro_generate.py` — Gemini 생성
- `/home/jay/workspace/tools/ai-image-gen/generate_hybrid.py` — 하이브리드 생성
- `/home/jay/workspace/tools/ai-image-gen/design-tokens.json` — 디자인 토큰
- `/home/jay/workspace/memory/research/meta-ai-image-policy.md` — Meta 정책

## 주의사항
- gcloud 인증은 `gcloud_auth.py` (ADC 우선 + CLI fallback) 반드시 사용
- Satori 파이프라인은 Node.js 기반이므로 subprocess 호출로 연동
- 이미지 산출물은 버전별 폴더 분리 (덮어쓰기 금지)
- 기존 테스트 65건 절대 깨뜨리지 말 것

## 작업 후 처리
- 보고서 저장: `memory/reports/task-876.1.md`
- task-timer end: `python3 /home/jay/workspace/memory/task-timer.py end task-876.1`
- .done 생성: `touch /home/jay/workspace/memory/events/task-876.1.done`
- 아누에게 보고: `cokacdir --sendfile /home/jay/workspace/memory/reports/task-876.1.md --chat 6937032012 --key $COKACDIR_KEY_ANU`