Gemini API + TTS 나레이션을 활용하여 유튜브 숏츠 / 릴스 / 틱톡용 세로 영상을 자동으로 생성하는 도구입니다.
비개발자도 쉽게 사용할 수 있는 숏츠 영상 자동 생성 도구입니다. 모든 기능이 무료로 작동합니다 (Gemini 무료 티어 + edge-tts 무료).
지원하는 콘텐츠 유형:
- 🌅 오늘의 명언 - 매일 새로운 명언과 해설
- 📚 영어 공부 - 영어 표현/단어 학습
- 💡 오늘의 상식 - 흥미로운 상식/지식
- 🧠 동기부여 - 동기부여 메시지
- ✏️ 커스텀 - 원하는 주제로 자유롭게 생성
[인트로 슬라이드] → [메인 콘텐츠 슬라이드 1~3장] → [아웃트로 슬라이드]
↓ ↓ ↓
TTS 나레이션 TTS 나레이션 TTS 나레이션
- 해상도: 1080x1920 (9:16 세로)
- 길이: TTS 길이에 자동 맞춤 (보통 20~60초)
- 배경: 그라데이션 + Ken Burns (줌인/줌아웃) 효과
- 나레이션: TTS 음성이 텍스트를 읽어줌 (edge-tts, 무료)
- BGM: 배경음악 자동 적용 (선택사항, TTS와 믹싱)
Windows:
- https://www.python.org/downloads/ 에서 다운로드
- 설치 시 "Add Python to PATH" 반드시 체크!
- 터미널에서 확인:
python --version
Mac:
# Homebrew로 설치 (권장)
brew install python
# 또는 공식 사이트에서 다운로드
# https://www.python.org/downloads/
# 확인
python3 --versionLinux (Ubuntu/Debian):
sudo apt update && sudo apt install python3 python3-pip python3-venv
python3 --versionWindows:
- https://www.gyan.dev/ffmpeg/builds/ 접속
ffmpeg-release-essentials.zip다운로드- 압축 해제 후
bin폴더 경로를 환경변수 PATH에 추가 - 터미널에서 확인:
ffmpeg -version
Mac:
brew install ffmpegLinux (Ubuntu/Debian):
sudo apt install ffmpeg- https://aistudio.google.com/apikey 접속
- Google 계정으로 로그인
- "Create API Key" 클릭
- 생성된 API 키 복사
💡 Gemini API 무료 티어: 분당 60회, 하루 1,500회 요청 가능 (개인 사용에 충분)
# 저장소 클론
git clone https://github.com/YOUR_USERNAME/shorts-generator.git
cd shorts-generator
# 가상환경 생성 (권장)
python -m venv venv # Windows
python3 -m venv venv # Mac/Linux
# 가상환경 활성화
venv\Scripts\activate # Windows (CMD)
venv\Scripts\Activate.ps1 # Windows (PowerShell)
source venv/bin/activate # Mac/Linux
# 패키지 설치
pip install -r requirements.txt# 설정 파일 복사
copy config.example.yaml config.yaml # Windows (CMD)
cp config.example.yaml config.yaml # Mac/Linux/PowerShellconfig.yaml을 열어서 Gemini API 키를 입력하세요:
gemini:
api_key: "여기에_API_키_입력"
# TTS 나레이션 설정 (기본 ON)
tts:
enabled: true # false로 하면 무음 영상
voice: "ko-female" # ko-female, ko-male, en-female, en-male
rate: "+0%" # 읽기 속도 (-50% ~ +50%)# 오늘의 명언 영상 생성
python main.py --type quote
# 영어 공부 영상 생성
python main.py --type english
# 오늘의 상식 영상 생성
python main.py --type knowledge
# 동기부여 영상 생성
python main.py --type motivation
# 커스텀 주제로 생성
python main.py --type custom --topic "파이썬 꿀팁"💡 Mac/Linux에서
python이 안 되면python3으로 실행하세요.
생성된 영상은 output/ 폴더에 저장됩니다!
shorts-generator/
├── main.py # 메인 실행 파일
├── content_generator.py # Gemini API 콘텐츠 생성
├── tts_generator.py # TTS 나레이션 생성 (edge-tts)
├── image_generator.py # 슬라이드 이미지 생성 (Pillow)
├── video_generator.py # ffmpeg 영상 합성
├── config.example.yaml # 설정 파일 예시
├── config.yaml # 내 설정 (git 무시)
├── requirements.txt # 패키지 목록
├── assets/
│ ├── fonts/ # 폰트 파일 (자동 다운로드)
│ └── bgm/ # 배경음악 (선택사항)
├── output/ # 생성된 영상
└── templates/ # 슬라이드 템플릿 설정
└── themes.yaml # 테마 설정
templates/themes.yaml에서 색상을 변경할 수 있습니다:
themes:
quote:
gradient: ["#0f0c29", "#302b63", "#24243e"] # 그라데이션 색상
title_color: "#FFD700"
text_color: "#FFFFFF"
accent_color: "#FF6B6B"기본적으로 TTS가 활성화되어 있어 슬라이드 텍스트를 음성으로 읽어줍니다.
사용 가능한 음성:
| 설정값 | 음성 | 설명 |
|---|---|---|
ko-female |
ko-KR-SunHiNeural | 한국어 여성 (기본) |
ko-male |
ko-KR-InJoonNeural | 한국어 남성 |
en-female |
en-US-JennyNeural | 영어 여성 |
en-male |
en-US-GuyNeural | 영어 남성 |
읽기 속도 조절:
tts:
rate: "+0%" # 기본 속도
rate: "+20%" # 20% 빠르게
rate: "-10%" # 10% 느리게💡 TTS는 edge-tts를 사용하며 완전 무료입니다 (API 키 불필요). TTS를 끄려면
tts.enabled: false로 설정하세요.
assets/bgm/ 폴더에 .mp3 파일을 넣으면 자동으로 배경음악이 적용됩니다.
⚠️ 저작권 프리 음악을 사용해주세요! 추천: YouTube Audio Library, Pixabay Music
# 매일 오전 9시에 명언 영상 자동 생성
0 9 * * * cd /path/to/shorts-generator && source venv/bin/activate && python main.py --type quote- "작업 스케줄러" 열기
- "기본 작업 만들기" 클릭
- 트리거: 매일, 원하는 시간
- 동작:
python main.py --type quote실행
| 증상 | 해결 방법 |
|---|---|
ffmpeg not found |
ffmpeg 설치 후 PATH에 추가되었는지 확인 |
config.yaml 파일을 찾을 수 없습니다 |
config.example.yaml을 복사하여 config.yaml 생성 |
Gemini API 키가 설정되지 않았습니다 |
config.yaml에서 API 키 입력 확인 |
| TTS 생성 실패 | 인터넷 연결 확인 (edge-tts는 온라인 필요) |
| 증상 | 해결 방법 |
|---|---|
| 한글이 깨져서 출력 | PowerShell에서 $env:PYTHONIOENCODING="utf-8" 설정 후 실행 |
python이 안 됨 |
Python 설치 시 "Add to PATH" 체크 확인, 또는 py 명령어 사용 |
| ffmpeg PATH 설정 | 시스템 환경변수 → Path → ffmpeg의 bin 폴더 추가 |
| 증상 | 해결 방법 |
|---|---|
python 명령어 없음 |
python3으로 실행, 또는 alias python=python3 설정 |
pip 명령어 없음 |
pip3으로 실행 |
| Homebrew가 없음 | https://brew.sh 에서 설치 |
| 증상 | 해결 방법 |
|---|---|
pip 없음 |
sudo apt install python3-pip |
| 폰트 다운로드 실패 | assets/fonts/에 .ttf 폰트를 직접 넣기 |
| 항목 | 비용 |
|---|---|
| Gemini API (콘텐츠 생성) | 무료 (Google AI Studio 무료 티어) |
| edge-tts (나레이션) | 무료 (API 키 불필요) |
| ffmpeg (영상 합성) | 무료 (오픈소스) |
| 합계 | $0 / 영상 |
PR과 Issue는 언제나 환영합니다!
MIT License - 자유롭게 사용, 수정, 배포하세요!