fix(v3): code review 5개 이슈 수정

- korean_preprocessor: 발음 사전 176 → 206개 (200+ 달성)
- video_engine: SoraEngine 완전 제거 (2026-03-24 서비스 종료)
- smart_video_router: veo3/seedance2 빈 문자열 반환 → ffmpeg_slides 폴백
- cli/init: gemini_web 서비스 설정 질문 추가 (user_profile 일치)
- caption_renderer, tts_engine, video_assembler: --test 스탠드얼론 블록 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sinmb79
2026-03-29 16:14:51 +09:00
parent 6571afc982
commit 66be55ba8a
7 changed files with 198 additions and 21 deletions
+3 -3
View File
@@ -195,9 +195,9 @@ class SmartVideoRouter:
elif engine == 'ffmpeg_slides':
result = self._generate_ffmpeg(prompt_text, output_path)
else:
# veo3, seedance2, runway, etc. — stub: not yet implemented
logger.warning(f"{engine} 구현 미완성 — 폴백 트리거")
result = ''
# veo3, seedance2, runway — V3.1 구현 예정, ffmpeg_slides로 자동 폴백
logger.warning(f"{engine} 구현 미완성 — ffmpeg_slides로 자동 폴백")
result = self._generate_ffmpeg(prompt_text, output_path)
if result:
# Update cost tracking
-18
View File
@@ -6,7 +6,6 @@
지원 엔진:
- FFmpegSlidesEngine: 기존 shorts_converter.py 파이프라인 (슬라이드 + TTS + ffmpeg)
- SeedanceEngine: Seedance 2.0 API (AI 영상 생성)
- SoraEngine: OpenAI Sora (미지원 → ffmpeg_slides 폴백)
- RunwayEngine: Runway Gen-3 API
- VeoEngine: Google Veo 3.1 (미지원 → ffmpeg_slides 폴백)
"""
@@ -588,22 +587,6 @@ class SeedanceEngine(VideoEngine):
return self._fallback(scenes, output_path, **kwargs)
# ─── SoraEngine ────────────────────────────────────────
class SoraEngine(VideoEngine):
"""
OpenAI Sora 영상 생성 엔진.
현재 API 공개 접근 불가 — ffmpeg_slides로 폴백.
"""
def __init__(self, cfg: dict):
self.cfg = cfg
def generate(self, scenes: list, output_path: str, **kwargs) -> str:
logger.warning("Sora API 미지원. ffmpeg_slides로 폴백.")
return FFmpegSlidesEngine(self.cfg).generate(scenes, output_path, **kwargs)
# ─── RunwayEngine ──────────────────────────────────────
class RunwayEngine(VideoEngine):
@@ -774,7 +757,6 @@ def get_engine(video_cfg: dict) -> VideoEngine:
engine_map = {
'ffmpeg_slides': FFmpegSlidesEngine,
'seedance': SeedanceEngine,
'sora': SoraEngine,
'runway': RunwayEngine,
'veo': VeoEngine,
}