-- 024_voice_embeddings.sql -- voice_clone_prompt (ICL prompt items dict 또는 x-vec embedding) 영속 캐싱. -- -- TTS 호출마다 ref_audio 를 b64 인코딩해 보내고 서버에서 매번 preprocessing -- (~0.5-1s + ICL stochastic prior) 하던 흐름을, 사용자 voice 등록 직후 한 번만 -- 추출 → Supabase Storage 저장 → 모든 TTS 호출에서 voice_clone_prompt_b64 재사용 -- 으로 변경. 자세한 배경은 doc/runbook 또는 plan 메모 참고. -- -- 컬럼 형식: -- embedding_storage_path TEXT NULL -- - NULL = 아직 추출 안 됨 → ref_audio 폴백 (안전망) -- - 채워지면 voice-clones bucket 의 prompt 파일 경로 -- (예: '/.prompt.pt') -- -- RLS 는 user_voices 와 동일 정책 사용 (별도 컬럼 정책 불필요). ALTER TABLE user_voices ADD COLUMN IF NOT EXISTS embedding_storage_path TEXT NULL; COMMENT ON COLUMN user_voices.embedding_storage_path IS 'voice_clones bucket 의 prompt 파일 경로 (예: /.prompt.pt). NULL=미추출 (ref_audio 폴백).';