docs(phase3b): CLAUDE.md — 음악 영상화 발주 플로우 반영
This commit is contained in:
25
CLAUDE.md
25
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 시 <video> 재생 + 다운로드
|
||||
```
|
||||
|
||||
- `music_tracks` video 컬럼: `video_status`(none|requested|in_progress|delivered) · `video_url` · `video_order_id`
|
||||
- 기존 orders/계좌이체/admin/메일 인프라 재사용 — 일반 상품 발주 경로 무변경
|
||||
|
||||
---
|
||||
|
||||
## 개발 규칙
|
||||
|
||||
Reference in New Issue
Block a user