mushigaite/short-video-maker
A free open-source project designed to turn youtube-videos into viral short videos. Highlight detection, subtitles, translation, voiceover, all in one for your content: no pre-clip credits or any watermarks. Designed for creators who want an alternative to short-video SaaS tools like OpusClip or Vidyo.ai for free.
short-video-maker – AI 기반 YouTube 숏폼 생성기
소개 – 긴 YouTube 영상(또는 로컬 영상 파일)을 가져와 하나 이상의 세로형 숏폼 클립(예: TikTok/Reels용 9:16)으로 자동 변환하는 오픈소스 Python 도구입니다. 다음과 같은 기능을 통해 복잡한 작업을 자동화합니다:
- 음성 인식(Speech-to-text): 로컬
faster-whisper모델 사용. - 콘텐츠 분류 및 하이라이트 순위 지정: 대규모 언어 모델(OpenAI, Gemini 또는 MuAPI) 사용.
- AI 생성 후크(선택 사항): 각 숏폼 영상에 매력적인 도입부를 추가.
- 내보내기: 선택한 하이라이트를 CLI 또는 가벼운 로컬 웹 UI를 통해 바로 게시 가능한 영상 파일로 출력.
핵심 기능
| 기능 | 설명 |
|---|---|
| 원클릭 영상 입력 | YouTube URL을 붙여넣거나 로컬 경로를 지정. |
| 자동 전사 | faster-whisper가 로컬에서 실행되므로 외부 서비스가 필요 없음. |
| 스마트 하이라이트 감지 | LLM이 전사된 세그먼트를 "바이럴" 요소(후크, 감정적 고조, 명언 등)에 따라 점수를 매기고 상위 N개의 클립을 반환. |
| AI 생성 후크(선택 사항) | 동일한 LLM이 생성하는 문맥을 고려한 짧은 도입부. |
| 사용자 정의 출력 | 클립 수(--n), 화면 비율(--ratio), 해상도, 언어, 후크 포함 여부 선택 가능. |
| API 모드 | 제공된 API 모듈을 통해 다른 Python 코드에서 파이프라인 호출 가능. |
| 로컬 웹 UI | 최소한의 HTML/JS 프론트엔드를 통해 터미널 조작 없이 영상 대기열 추가 및 설정 가능. |
| 워터마크/크레딧 없음 | 모든 렌더링이 로컬에서 이루어지므로 깔끔한 결과물을 바로 게시 가능. |
작동 원리(단계별)
- 영상 다운로드/로드 – 스크립트가 YouTube에서 소스 영상을 가져오거나(또는 로컬 파일 읽기) 수행.
- 전사 –
faster-whisper가 사용자 컴퓨터에서 타임스탬프가 포함된 전사본 생성. - 콘텐츠 유형 분류 – 선택한 LLM(OpenAI/Gemini/MuAPI)이 영상을 분류(팟캐스트, 인터뷰, 튜토리얼 등)하여 하이라이트 프롬프트 조정.
- 하이라이트 순위 지정 – LLM이 "바이럴 프레임워크"(후크, 감정적 고조, 폭로 등)를 사용하여 전사본을 스캔하고 0-100점 사이의 후보 클립 반환.
- 중복 제거 – 겹치는 후보를 병합하고 가장 높은 점수의 세그먼트 유지.
- 상위 N개 선택 – 사용자가 지정한 수만큼의 클립 선택.
- 렌더링 – 각 세그먼트를 요청한 화면 비율로 자르고, 선택적으로 AI 생성 후크를 앞에 붙여 세로형 숏폼 영상으로 저장.
시작하기(퀵스타트)
# 1. 클론
git clone https://github.com/mushigaite/short-video-generator-AI.git
cd short-video-generator-AI
# 2. 가상 환경
python -m venv venv && source venv/bin/activate # Windows의 경우 venv\Scripts\activate
# 3. 의존성 설치
pip install -r requirements.txt
# 4. LLM API 키와 Whisper 설정이 포함된 .env 파일 생성
cat > .env <<EOF
LLM_PROVIDER=openai
OPENAI_API_KEY=your_key_here
LOCAL_WHISPER_MODEL=base
LOCAL_WHISPER_DEVICE=auto
EOF
# 5. 단일 영상 실행
python main.py "https://www.youtube.com/watch?v=VIDEO_ID" \
--n 3 --ratio 9:16 --resolution 720
생성된 클립은 output/ 폴더에 나타납니다.
웹 인터페이스(선택 사항)
python3 server.py # 백엔드 시작
cd web && python3 -m http.server 8000
# 이후 http://localhost:8000/shorts-generator-ui.html 접속
UI는 CLI 플래그를 반영하며 여러 영상을 대기열에 추가할 수 있습니다.
추천 사용자
- 콘텐츠 크리에이터: SaaS 서비스 비용 없이 긴 YouTube 영상을 TikTok/Reels용 숏폼으로 재활용하려는 분.
- 마케터: 소셜 미디어용 워터마크 없는 하이라이트 영상을 빠르게 만들고 싶은 분.
- 개발자: 숏폼 생성 기능을 자신의 파이프라인에 내장하기 위한 API가 필요한 분.
제한 사항 및 고려 사항
- LLM 비용 – 하이라이트 점수 매기기 및 후크 생성은 외부 LLM API에 의존하므로 제공업체의 비용이 발생합니다.
- 로컬 Whisper 모델 크기 – 더 큰 Whisper 모델(예:
large-v3)은 전사 정확도를 높이지만 더 많은 RAM/VRAM이 필요합니다. - 바이럴 점수는 휴리스틱 – "바이럴" 순위는 프롬프트 기반 프레임워크에 의존하므로 항상 가장 매력적인 순간을 선택하지는 않을 수 있습니다.
- 내장 영상 편집 효과 없음 – 이 도구는 단순히 자르고 이어 붙이는 기능만 제공하며, 고급 전환 효과나 이펙트는 별도로 추가해야 합니다.
라이선스
MIT – 자유롭게 사용, 수정 및 재배포 가능.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트