🤖 AI 숏츠 비디오 자동 생성기: 2025년 6월 8일 전체 요약
✅ 완료된 작업 (기존 + 신규)
스크립트 생성 (script_generator.py)
- OpenAI API (gpt-4o-mini 등)를 사용하여 사용자 입력(주제, 핵심 내용, 장면 수, 캡션 언어, 비디오 스타일 가이드) 기반으로 각 장면에 대한 image_prompt(영문 이미지 생성용)와 caption(선택 언어, 내레이션/자막용) 생성.
- image_prompt 생성 지침을 매우 상세하게 업데이트하여 SDXL과 같은 이미지 생성 AI가 더 나은 품질의 이미지를 만들도록 유도. (Main Subject, Action, Background, Mood & Style, Composition, Lighting, Quality Boost 등 상세 항목 포함)
- 출력: JSON 형식, 각 장면은 image_prompt와 caption 키 포함.
이미지 생성 (image_generator.py)
- script_generator.py에서 생성된 image_prompt를 사용.
- Stability AI SDXL 1.0 API를 연동하여 각 장면에 맞는 이미지 생성.
- negative_prompt 지원 추가.
- cfg_scale, steps, style_preset 등 주요 파라미터 조절 기능 구현.
- 생성된 이미지는 assets/generated_temp/ 폴더에 저장 (예: scene_XX_image.png).
- 품질 관련 현재 상황:
- 가격: 이미지 당 약 0.1달러 수준으로 비용은 만족.
- 품질: 특히 인물 표현에서 기대보다 낮은 퀄리티 (손, 발, 얼굴 등).
- 고민: 프롬프트 엔지니어링 및 파라미터 최적화를 통해 현재 모델의 한계를 극복할지, 또는 상위 모델/다른 API로 전환할지 검토 중.
TTS 파일 생성 (text_to_speech.py)
- 생성된 caption을 text_to_speech.py로 전달.
- ElevenLabs API를 사용해 각 caption에 해당하는 TTS 오디오 파일 생성.
- 오디오 파일은 assets/generated_temp/ 폴더에 저장 (예: scene_XX_audio.wav).
- 오디오 길이(초)를 반환하여 자막 및 비디오 클립 동기화에 활용.
- 파일 저장 시 Permission denied 오류 대응을 위한 재시도 로직 추가.
자막 생성 (subtitle_handler.py)
- caption과 TTS 오디오 길이를 기반으로 MoviePy TextClip (자막 클립) 생성.
- 자막 스타일은 configs/ 폴더의 .json 설정 파일 (예: groovy_vlog_moviepy_params.json)에서 로드하여 적용 (폰트, 크기, 색상, 위치 등).
- ImageMagick 경로 설정의 중요성 인지 및 main.py에 설정 코드 반영.
메인 실행 스크립트 (main.py) 통합
- 사용자 입력 처리 (주제, 핵심 내용, 장면 수, 캡션 언어, 비디오 스타일 선택).
- ScriptGenerator, ImageGenerator, generate_audio_elevenlabs, create_subtitle_clips 모듈 순차 호출 및 데이터 전달 로직 구현.
- 각 장면의 이미지, 오디오, 자막 클립을 MoviePy를 사용하여 하나의 비디오 클립으로 합성.
- 모든 장면 클립을 이어붙여 최종 비디오 파일 (final_video_output.mp4) 생성 및 assets/generated_temp/에 저장.
- 비디오 생성 과정의 디버깅 로그 및 오류 처리 강화.
📊 현재 상태
완료된 모듈
- script_generator.py: OpenAI API로 스크립트 및 이미지 프롬프트 생성.
- image_generator.py: Stability AI API로 이미지 생성.
- text_to_speech.py: ElevenLabs API로 TTS 오디오 생성.
- subtitle_handler.py: MoviePy TextClip (자막 클립) 생성.
- main.py: 사용자 입력부터 스크립트, 이미지, TTS, 자막 클립 생성 후 최종 비디오 파일 생성까지의 전체 워크플로우 기본 골격 완성.
미완성/개선 필요 모듈
- video_processor.py (별도 파일 대신 main.py에 통합됨): 현재는 기본적인 이미지+오디오+자막 합성이지만, 고급 편집 기능(전환 효과, 배경음악 정교한 믹싱 등)은 추가 개발 필요.
- audio_processor.py (별도 파일 대신 main.py 및 text_to_speech.py에 일부 기능 분산): 배경음악, 효과음 통합 등은 아직 미구현.
- utils.py: 공용 유틸리티 함수 (필요시 생성).
🚀 다음 단계 및 주요 과제
-
이미지 품질 개선 (가장 시급)
- SDXL 1.0 최적화: 프롬프트 엔지니어링 (더욱 상세하고 구조화된 프롬프트, 다양한 키워드 조합 테스트), 네거티브 프롬프트 강화, cfg_scale 및 steps 파라미터 정밀 튜닝.
- 대안 모델/API 연구: DALL·E 3, Midjourney API (사용 가능 여부 및 비용 확인), 또는 LoRA 적용이 가능한 다른 플랫폼/API 탐색.
-
자막 렌더링 문제 해결
- 한국어 자막 표시 문제: 현재 영어 자막은 정상적으로 표시되나, 한국어 자막이 최종 비디오에 렌더링되지 않는 문제 해결. (폰트 호환성, ImageMagick 설정, MoviePy TextClip 인코딩 등 점검)
-
비디오 편집 기능 강화 (main.py 또는 별도 모듈)
- 장면 간 전환 효과 적용 (설정 파일 기반).
- 배경 음악 추가 및 볼륨 조절 (자동 추천 기능은 장기 과제).
- 인트로/아웃트로, 워터마크 등 추가 요소 삽입 기능.
-
사용자 경험 개선
- main.py의 사용자 입력 방식을 더 편리하게 개선 (예: argparse 활용, 선택지 명확화).
- 오류 처리 및 사용자 피드백 강화.
-
테스트 코드 작성
- image_generator.py, subtitle_handler.py 등에 대한 단위 테스트 코드 작성.
-
문서화 업데이트
- README.md 및 TASKS.md를 최신 상태로 지속 업데이트.
'A_V' 카테고리의 다른 글
| AI 숏츠 비디오 자동 생성기 - 2025년 6월 2일 작업 요약 (1) | 2025.06.03 |
|---|---|
| ElevenLabs API (TTS) 테스트 ! AI 숏츠 프로젝트 일일 요약 (3) (0) | 2025.05.31 |
| 숏츠 영상 제작 어플리케이션 계획 (2) (3) | 2025.05.29 |
| AI 숏츠 영상 제작 어플리케이션 계획 (0) | 2025.05.29 |