Files
jaengseung-made/lib/music/story-prompt.ts
gahusb 2aa424f3ce feat(phase3a): 스토리→가사(Gemini) + generate 인증·일일제한 + callback 정리
- lib/music/story-prompt.ts: MusicStory 스키마 + Gemini 응답 파싱/검증(타로 prompt.ts 방어 패턴 포팅)
- app/api/studio/story/route.ts: 로그인 인증 후 Gemini 모델 폴백(2.5-pro→2.5-flash→2.0-flash)으로 가사 JSON 생성. 일일 사용량은 미집계(생성 확정 전 초안 단계)
- app/api/studio/callback/route.ts: Suno webhook 수신용 최소 200 응답 엔드포인트
- app/api/studio/generate/route.ts: 인증(401) + 일일 제한(429, MUSIC_DAILY_LIMIT) 추가, Suno 생성 성공 시에만 recordUsage('music') 기록

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:56:58 +09:00

2.0 KiB