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 프론트엔드를 통해 터미널 조작 없이 영상 대기열 추가 및 설정 가능.
워터마크/크레딧 없음 모든 렌더링이 로컬에서 이루어지므로 깔끔한 결과물을 바로 게시 가능.

작동 원리(단계별)

  1. 영상 다운로드/로드 – 스크립트가 YouTube에서 소스 영상을 가져오거나(또는 로컬 파일 읽기) 수행.
  2. 전사 – faster-whisper가 사용자 컴퓨터에서 타임스탬프가 포함된 전사본 생성.
  3. 콘텐츠 유형 분류 – 선택한 LLM(OpenAI/Gemini/MuAPI)이 영상을 분류(팟캐스트, 인터뷰, 튜토리얼 등)하여 하이라이트 프롬프트 조정.
  4. 하이라이트 순위 지정 – LLM이 "바이럴 프레임워크"(후크, 감정적 고조, 폭로 등)를 사용하여 전사본을 스캔하고 0-100점 사이의 후보 클립 반환.
  5. 중복 제거 – 겹치는 후보를 병합하고 가장 높은 점수의 세그먼트 유지.
  6. 상위 N개 선택 – 사용자가 지정한 수만큼의 클립 선택.
  7. 렌더링 – 각 세그먼트를 요청한 화면 비율로 자르고, 선택적으로 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 – 자유롭게 사용, 수정 및 재배포 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트