diff --git a/CLAUDE.md b/CLAUDE.md index 9b3a21c..b6c3014 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -94,8 +94,9 @@ app/ tarot/interpret/route.ts — 타로 AI 인사이트 (로그인·일 3회 제한) tarot/readings/route.ts — 타로 리딩 저장·조회 (tarot_readings) studio/story/route.ts — POST: 스토리→가사 생성 (Gemini, 로그인 필요) - studio/tracks/route.ts — GET/POST: 음악 트랙 저장·조회 (music_tracks, 본인 것만) + studio/tracks/route.ts — GET/POST: 음악 트랙 저장·조회 (music_tracks, 본인 것만·video 상태 포함) studio/callback/route.ts — POST: Suno webhook 수신용 최소 엔드포인트 + studio/video-product/route.ts — GET: 음악 영상화(music_video) 제품 조회 (로그인, 모달 가격 표시용) work/saju/ — 공개: 사주 서비스 (로그인 시 AI 해석 무료 1회/일) tarot/ — 공개: 타로 3카드 (셔플·reference·AI 해석) music/ — 공개: 스토리→음악 AI 스튜디오 (studio·samples, packs는 /products로 308) @@ -167,6 +168,28 @@ lib/ - `lib/product-access.ts`: orders 기반 접근 + music tier 하위 호환 +### 음악 영상화 발주 (music_video, 유료 계좌이체) — Phase 3b + +``` +회원이 저장한 음악 트랙 (마이페이지 → AI 기록 탭 음악 카드) + → "영상화 신청" → GET /api/studio/video-product (고정가 ₩30,000) + → BankTransferModal (musicTrackId 전달) → POST /api/orders {productId:'music_video', musicTrackId} + → orders 생성 (metadata.music_track_id) + music_tracks.video_status='requested' + → 입금 안내 메일 (기존 계좌이체 흐름 재사용) + +관리자 납품 (/admin/orders) + → music_video 주문에 연결 트랙(title·audio) 표시 + → 영상 URL 입력 + "납품 완료" → PATCH {id, status:'paid', videoUrl} + → music_tracks.video_url 세팅 + video_status='delivered' + → (선택) "제작 중" → PATCH {id, videoStatus:'in_progress'} + +고객 확인 (마이페이지 음악 카드) + → video_status 뱃지(requested/in_progress) → delivered 시