Commit 49716ab
fix(video): 자막 환각 억제 재이식 — 재생성이 목소리를 튀게 하고 런까지 죽였다 (#129)
run30 실측: 비트3이 QC text_overlay로 2회 재생성되다 3번째 시도에서 fal 폴링
타임아웃으로 런 자체가 사망(exit 1).
자막 환각은 화면 품질만의 문제가 아니다. 실제 피해 경로는:
대사 한글이 프롬프트에 인용됨 → Veo가 화면 자막으로 그림 → QC text_overlay
→ 재생성(seed = video_seed + attempt) → **그 비트 목소리가 튄다**
PO가 반복 지적한 "목소리가 다 다르다"의 주 경로다. 억제 자체가 보이스 일관성 대책이다.
3중 방어를 복원한다:
- ① 대사 **바로 뒤**에 Hangul을 콕 집은 부정(트리거 인접 — 프롬프트 끝 _NEGATIVE보다
가중치가 높다)
- ② _NEGATIVE에 "no Hangul/Korean characters, no subtitle bar, no bottom caption"
- ③ config.veo_fal_negative_prompt에 hangul·korean subtitles·bottom subtitle·lower third
리버트 가드 추가: 세 겹이 모두 있는지 + 대사 인접 부정이 대사보다 뒤에 오는지 검사한다.
PR #121에 있던 억제를 #126 revert가 직립과 함께 되돌리면서 재발했다 — 직립 없이
억제만 이식했다.
한계(ponytail): Veo 자막은 확률적이라 완전 제거는 보장 못 한다. 재생성이 남으면 그
비트 보이스는 여전히 시드 변동으로 튄다(그 경우 재시도 시드 고정이 후속 레버).
ruff + pytest 506 passed.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 24ef443 commit 49716ab
3 files changed
Lines changed: 46 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
110 | 114 | | |
111 | 115 | | |
112 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
673 | 673 | | |
674 | 674 | | |
675 | 675 | | |
676 | | - | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
677 | 679 | | |
678 | 680 | | |
679 | 681 | | |
| |||
756 | 758 | | |
757 | 759 | | |
758 | 760 | | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
759 | 772 | | |
760 | 773 | | |
761 | 774 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1780 | 1780 | | |
1781 | 1781 | | |
1782 | 1782 | | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
1783 | 1811 | | |
1784 | 1812 | | |
1785 | 1813 | | |
| |||
0 commit comments