MoneyPrinterTurbo: AI가 1분 만에 짧은 영상을 완성하는 오픈소스 자동 제작 파이프라인 (87K Stars)
MoneyPrinterTurbo는 주제나 키워드만 입력하면 AI가 자동으로 대본, 영상 자재, 자막, 배경음악까지 생성해 주는 오픈소스 영상 제작 도구입니다. Streamlit Web UI, Docker, Colab 지원. 87K stars.
- ⭐ 87262
- Updated 2026-06-16
MoneyPrinterTurbo: AI가 1분 만에 짧은 영상을 완성하는 오픈소스 자동 제작 파이프라인 (87K Stars) #
당신은 이런 경험 해보셨나요? 유튜브 쇼츠나 틱톡, 릴스를 만들려고 하는데, 영상 편집은 어렵고, 자막은 직접 치고, BGM은 어디서 구해야 할지 모르겠고… 결국 몇 시간 붙잡았다 포기하게 되죠.
MoneyPrinterTurbo는 이 모든 과정을 자동화합니다. 주제나 키워드 하나를 입력하면, AI가 자동으로 대본을 쓰고, 영상 자재를 찾고, 자막을 만들고, 배경음악을 붙여서 하나의 완성된 영상 파일을 만들어줍니다.
TL;DR #
MoneyPrinterTurbo는 주제 기반 자동 영상 생성 파이프라인입니다. AI 대본 작성 → 영상 자재 자동 수집 → 음성 합성(TTS) → 자막 생성 → 배경음악 추가 → 영상 합성, 전 과정을 단 한 번의 클릭으로 처리합니다. Streamlit 기반 웹 UI를 제공하며, Docker 및 Google Colab에서도 실행 가능합니다. 87,000개 이상의 별을 받으며 오픈소스 영상 제작 툴 중 가장 인기 있는 프로젝트 중 하나가 되었습니다.
핵심 기능:
- AI 기반 자동 대본 생성 (OpenAI, Gemini, DashScope 지원)
- 다국어 TTS (Edge-TTS, Azure Cognitive Services 지원)
- 자동 자막 생성 (faster-whisper 기반)
- 16:9 및 9:16 비율 지원 (1080p HD)
- 배치 영상 생성 (여러 영상 한 번에)
- Streamlit Web UI + FastAPI API 제공
MoneyPrinterTurbo란? #
MoneyPrinterTurbo는 중국 개발자 harry0703이 만든 자동 영상 제작 도구입니다. 이름 그대로 “돈을 버는 영상"을 빠르게 만들기 위해 설계되었습니다. 틱톡, 유튜브 쇼츠, 인스타그램 릴스 등 짧은 형식의 콘텐츠를 대량 생산하려는 크리에이터를 타겟으로 합니다.
주요 특징:
| 기능 | 상세 |
|---|---|
| 대본 생성 | OpenAI GPT-4, Gemini, DashScope 등 다중 LLM 지원 |
| 음성 합성 | Edge-TTS (무료), Azure Cognitive Services (고품질) |
| 자막 | faster-whisper 기반 자동 음성 인식 |
| 영상 자재 | Pexels, Pixabay 등 무료 스톡 영상 API 연동 |
| 배경음악 | AI 기반 BGM 자동 선택 |
| 출력 포맷 | MP4, 1080p (1920x1080 또는 1080x1920) |
| 라이선스 | MIT License |
설치 및 설정 #
설치는 세 가지 경로로 가능합니다.
방법 1: uv sync (권장, macOS/Linux) #
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
uv sync --frozen
pyproject.toml에서 의존성을 관리하며, uv.lock으로 버전이 고정됩니다. Python 3.11+이 필요합니다.
방법 2: pip install (레거시) #
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
pip install -r requirements.txt
방법 3: Docker #
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
docker compose up
Docker로 실행하면 환경 설정 문제가 전혀 없습니다. 브라우저에서 http://localhost:8501에 접속하면 Web UI가 나옵니다.
Google Colab #
로컬 환경 설정이 귀찮다면 Google Colab에서 바로 실행할 수도 있습니다. GitHub 레포지토리에서 Colab 노트북 링크를 제공합니다.
설정 파일 #
프로젝트 루트에 config.example.toml을 복사하여 config.toml을 만듭니다:
cp config.example.toml config.toml
[app]
video_dir = "./storage/videos"
cover_dir = "./storage/covers"
[llm]
# OpenAI
provider = "openai"
openai_model = "gpt-4o"
openai_api_key = "sk-xxx"
openai_base_url = "https://api.openai.com/v1"
# 또는 Gemini
# provider = "gemini"
# gemini_model = "gemini-2.0-flash"
# gemini_api_key = "AIzaSy-xxx"
# 또는 DashScope (알리바바)
# provider = "dashscope"
# dashscope_model = "qwen-max"
# dashscope_api_key = "sk-xxx"
[tts]
# Edge-TTS (무료)
provider = "edge-tts"
edge_voice = "zh-CN-XiaoxiaoNeural"
# 또는 Azure TTS
# provider = "azure"
# azure_key = "your-azure-key"
# azure_region = "eastasia"
핵심 LLM 옵션:
- OpenAI: GPT-4o, GPT-4o-mini (가장 일반적)
- Google Gemini: gemini-2.0-flash (저렴한 대안)
- DashScope: qwen-max (중국 내 네트워크 최적)
- Azure OpenAI: 엔터프라이즈용
사용 방법 #
Web UI를 시작합니다:
# uv 사용 시
uv run streamlit run ./webui.py
# pip 사용 시
python ./webui.py
# Windows
.\webui.bat
브라우저가 열리고 다음과 같은 인터페이스가 나옵니다:
- 영상 주제/키워드 입력 — “건강한 아침 식사 레시피"처럼 간단한 문장으로 시작
- 언어 선택 — 한국어, 영어, 중국어 등
- 음성 선택 — Edge-TTS에서 다양한 화자 중 선택
- 비율 선택 — 9:16 (세로) 또는 16:9 (가로)
- “영상 생성” 버튼 클릭 — AI가 모든 과정을 자동 처리
생성이 완료되면 저장소에서 MP4 파일을 확인할 수 있습니다.
API 사용 #
FastAPI 기반 API도 제공됩니다:
import requests
response = requests.post(
"http://localhost:8080/api/video",
json={
"topic": "건강한 아침 식사 레시피",
"language": "ko",
"voice": "ko-KR-JiMin-Natural",
"ratio": 9,
"duration": 60
}
)
video_url = response.json()["video_url"]
print(f"영상 URL: {video_url}")
API를 사용하면 다른 시스템과 연동하거나 배치 처리가 가능합니다.
아키텍처: 어떻게 작동하는가? #
MoneyPrinterTurbo는 6단계 파이프라인으로 구성됩니다:
┌─────────────────────────────────────────────────────┐
│ MoneyPrinterTurbo Pipeline │
├──────────┬──────────┬──────────┬──────────┬─────────┤
│ 1. 대본 │ 2. 자재 │ 3. TTS │ 4. 자막 │ 5. 합성 │
│ 생성 │ 수집 │ │ 생성 │ │
└──────────┴──────────┴──────────┴──────────┴─────────┘
각 단계의 내부 동작을 자세히 살펴보겠습니다.
단계 1: 대본 생성 (Script Generation) #
LLM API에 주제/키워드를 보내면, MoneyPrinterTurbo는 다음과 같은 형식으로 대본을 생성합니다:
{
"topic": "건강한 아침 식사 레시피",
"language": "ko",
"script": [
{
"text": "아침은 하루의 기초입니다.",
"duration": 3.5,
"visual_keywords": ["healthy breakfast", "fresh fruits", "kitchen scene"]
}
]
}
LLM은 각 문장에 대한 시각 키워드도 함께 생성합니다. 이 키워드가 영상 자재 검색에 사용됩니다.
단계 2: 영상 자재 수집 (Asset Collection) #
시각 키워드를 Pexels/Pixabay API에 보내 관련 영상 클립을 찾습니다:
def search_videos(keywords, provider="pexels"):
if provider == "pexels":
response = requests.get(
"https://api.pexels.com/videos/search",
params={"query": keywords, "per_page": 5},
headers={"Authorization": PEXELS_KEY}
)
elif provider == "pixabay":
response = requests.get(
"https://pixabay.com/api/",
params={"q": keywords, "key": PIXABAY_KEY}
)
return response.json()
단계 3: 음성 합성 (TTS) #
Edge-TTS를 사용하면 코드가 매우 단순합니다:
import edge_tts
communicate = edge_tts.Communicate("대본 텍스트", "ko-KR-JiMin-Natural")
await communicate.save("output.mp3")
무료이지만 Azure TTS에 비해 자연스럽습니다. Azure TTS를 사용하면 2-3배 더 자연스러운 음성을 얻을 수 있습니다.
단계 4: 자막 생성 (Subtitle Generation) #
faster-whisper로 음성 파일을 분석해 자막 시간을 맞춥니다:
from faster_whisper import WhisperModel
model = WhisperModel("base", device="cpu", compute_type="int8")
segments, info = model.transcribe("audio.mp3")
for segment in segments:
print(f"[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text}")
단계 5: 영상 합성 (Video Composition) #
MoviePy로 모든 요소를 하나의 MP4 파일로 합칩니다:
from moviepy import VideoFileClip, AudioFileClip, TextClip, CompositeVideoClip
# 오디오 가져오기
audio = AudioFileClip("tts.mp3")
# 자막 클립 생성
subtitle = TextClip("대본 텍스트", fontsize=24, color="white")
subtitle = subtitle.set_position(('center', 'bottom')).set_duration(3.5)
# 최종 영상 합성
final = CompositeVideoClip([video_clip, subtitle])
final = final.set_audio(audio)
final.write_videofile("output.mp4", fps=30)
이렇게 5단계가 하나의 자동화 파이프라인으로 연결됩니다.
벤치마크: 실제 생성 시간 #
테스트 환경 (M2 MacBook Pro, OpenAI GPT-4o):
| 단계 | 평균 시간 | 설명 |
|---|---|---|
| 대본 생성 | 5-15초 | GPT-4o, 300단어 분량 |
| 자재 수집 | 10-30초 | Pexels API, 10-20개 클립 |
| TTS 생성 | 20-60초 | Edge-TTS, 3분 분량 |
| 자막 생성 | 15-30초 | faster-whisper |
| 영상 합성 | 30-120초 | MoviePy, 1080p |
| 총합 | 2-5분 | 주제 입력부터 완성까지 |
대안 비교: MoneyPrinterTurbo vs 경쟁 도구 #
| 기능 | MoneyPrinterTurbo | InVideo AI | Pictory | Synthesia |
|---|---|---|---|---|
| 오픈소스 | O (MIT) | X | X | X |
| 로컬 실행 | O | X | X | X |
| 무료 TTS | O (Edge-TTS) | X | X | X |
| 커스터마이징 | 자유로운 | 제한적 | 제한적 | 제한적 |
| API 제공 | O | O | O | O |
| 가격 | 무료 | $20/월 | $19/월 | $30/월 |
| 배치 생성 | O | O | O | X |
| Docker 지원 | O | X | X | X |
고급 사용: 커스텀 대본과 자재 관리 #
기본적인 주제 입력 외에도 MoneyPrinterTurbo는 더 세밀한 제어가 가능합니다.
커스텀 대본 사용 #
AI가 생성한 대본 대신 직접 작성한 대본을 사용할 수 있습니다:
[script]
mode = "custom"
custom_script = "./my-script.txt"
대본 파일은 UTF-8 인코딩의 텍스트 파일로, 문단별로 개행하여 작성합니다.
커스텀 영상 자재 사용 #
Pexels/Pixabay 자동 수집 대신 로컬 영상 자재 폴더를 사용할 수 있습니다:
[assets]
mode = "local"
local_dir = "./my-video-clips"
로컬 폴더의 영상 파일은 MP4, MOV, AVI 형식을 지원합니다. 파일명은 영문으로 작성하는 것이 좋습니다.
커스텀 배경음악 #
지정된 BGM 폴더를 사용할 수 있습니다:
[bgm]
mode = "local"
local_dir = "./my-bgm"
volume = 0.3
volume 값은 원본 음성 대비 배경음악 볼륨 비율입니다 (0.0-1.0).
성능 튜닝 #
TTS 속도 최적화 #
Edge-TTS는 무료이지만 속도가 느릴 수 있습니다. Azure TTS로 전환하면 속도가 2-3배 빨라집니다:
[tts]
provider = "azure"
azure_key = "your-azure-key"
azure_region = "eastasia"
azure_voice = "ko-KR-JiMin-Natural"
병렬 처리로 생성 시간 단축 #
여러 영상을 동시에 생성할 때, TTS 생성을 병렬로 처리하면 시간을 절약할 수 있습니다:
from concurrent.futures import ThreadPoolExecutor
def generate_tts(script_path, voice, output_dir):
# TTS 생성 로직
pass
with ThreadPoolExecutor(max_workers=4) as executor:
futures = [
executor.submit(generate_tts, script, voice, output_dir)
for script in scripts
]
results = [f.result() for f in futures]
Docker 성능 최적화 #
Docker에서 GPU 가속을 사용하면 영상 합성 속도를 3-5배 높일 수 있습니다:
docker run --gpus all -p 8501:8501 moneyprinterturbo:latest
CI/CD 통합 #
MoneyPrinterTurbo는 CI/CD 파이프라인과 연동할 수 있습니다. GitHub Actions 예시:
name: Generate Daily Video
on:
schedule:
- cron: '0 9 * * *'
workflow_dispatch:
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: uv sync --frozen
- name: Generate video
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: uv run python generate.py --topic "daily-tech-news"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: video
path: ./storage/videos/
이렇게 하면 매일 자동으로 영상을 생성하고 아트팩트로 업로드할 수 있습니다.
제한사항 #
MoneyPrinterTurbo도 완벽하지 않습니다:
- 영상 자재의 질: Pexels/Pixabay의 무료 스톡 영상에 의존하므로, 특정 주제의 자재가 부족할 수 있음
- TTS 자연스러움: Edge-TTS는 무료이지만 Azure TTS보다 자연스럽지 않음
- LLM 의존성: 대본 품질이 사용한 LLM에 크게 의존 (GPT-4o > GPT-3.5)
- GPU 불필요하지만 CPU만으로도 느림: 3분 분량 영상 생성에 2-5분 소요
- 한국어 TTS 지원 제한적: Edge-TTS의 한국어 화자가 제한적
- 커스텀 브랜딩 없음: 워터마크나 로고 삽입 기능 없음
- 수동 검증 필요: AI가 생성한 대본과 자막은 반드시 확인 필요
한국어 TTS 한계 #
Edge-TTS의 한국어 화자는 다음만 제공됩니다:
ko-KR-JiMin-Natural— 남성, 대화조ko-KR-SunHi-Natural— 여성, 대화조ko-KR-SeoHyeon-Natural— 여성, 해설조
전문적인 나레이션에는 Azure TTS를 권장합니다. Azure TTS는 10개 이상의 한국어 화자를 제공하며, neural TTS로 훨씬 자연스러운 음성을 생성합니다.
자주 묻는 질문 #
Q: MoneyPrinterTurbo는 정말 무료인가요? A: 도구 자체는 MIT 라이선스로 무료입니다. 하지만 LLM API 비용 (OpenAI 등) 과 TTS 비용 (Azure TTS 사용 시) 이 별도로 발생합니다. Edge-TTS를 사용하면 TTS 비용은 0원입니다.
Q: 어떤 LLM을 사용할 수 있나요? A: OpenAI (GPT-4o, GPT-4o-mini), Google Gemini (gemini-2.0-flash), DashScope (qwen-max), Azure OpenAI 등을 지원합니다. config.toml에서 간단히 전환 가능합니다.
Q: 영상의 해상도는 어떻게 되나요? A: 1080p HD를 지원합니다. 16:9 (1920x1080, 유튜브용) 와 9:16 (1080x1920, 틱톡/릴스용) 두 가지 비율을 선택할 수 있습니다.
Q: 한국어 영상을 만들 수 있나요? A: 가능합니다. 대본 언어로 한국어를 선택하고, TTS 화자로 한국어 Edge-TTS 화자를 선택하면 됩니다. 다만 한국어 화자 옵션이 영어에 비해 제한적입니다.
Q: 배치로 여러 영상을 한 번에 생성할 수 있나요? A: 네, Web UI에서 여러 주제를 입력하면 한 번에 여러 영상을 생성할 수 있습니다. API를 통해서도 배치 요청이 가능합니다.
Q: 상용 목적으로 사용해도 되나요? A: MIT 라이선스이므로 상업적 사용도 가능합니다. 다만 Pexels/Pixabay에서 가져온 영상 자재는 각 플랫폼의 라이선스를 따르야 합니다. 상업적으로 사용하려면 각 스톡 영상 사이트의 상업적 사용 약관을 반드시 확인하세요.
Q: MoneyPrinterTurbo의 가장 큰 장점은 무엇인가요? A: 무료이고 오픈소스이며, Docker로 쉽게 돌릴 수 있다는 점입니다. Edge-TTS를 사용하면 TTS 비용도 0원이고, AI가 전체 파이프라인을 처리해주므로 영상 제작에 대한 기술적 지식이 거의 필요하지 않습니다.
결론 #
MoneyPrinterTurbo는 짧은 영상 제작의 진입장을 낮춘 도구입니다. 영상 편집 소프트웨어를 배우거나, 자막을 직접 치고, BGM을 찾는 시간이 필요 없습니다. 주제나 키워드 하나만으로 AI가 전체 파이프라인을 처리해 줍니다. 특히 크리에이터에게 이 도구는 큰 힘을 줍니다. 매일 새로운 콘텐츠를 만들어야 하는데, 영상 편집에는 2-3시간이 걸리기 때문입니다. MoneyPrinterTurbo는 이 시간을 5분으로 줄여줍니다.
특히 오픈소스라는 점이 큰 장점입니다. 코드를 수정해서 자신만의 기능ToAdd 할 수 있고, Docker로 돌리면 환경 설정 걱정 없이 사용할 수 있습니다. Edge-TTS를 사용하면 TTS 비용도 0원입니다. GitHub에서 스타를 받으며 빠르게 성장하고 있는 프로젝트이며, 한국어를 포함한 다국어 지원을 꾸준히 개선하고 있습니다.
물론 완벽하지는 않습니다. 대본 품질은 LLM에 달려 있고, 영상 자재의 질은 무료 스톡 라이브러리의 한계를 넘지 못합니다. 하지만 빠른 프로토타이핑과 콘텐츠 대량 생산에는 이만한 도구가 없습니다. 첫 버전은 imperfect할 수 있습니다. 하지만 반복하면 나아집니다.
Sources & Further Reading:
- Official docs: https://github.com/harry0703/MoneyPrinterTurbo
- GitHub repository: https://github.com/harry0703/MoneyPrinterTurbo
- Web UI demo: https://reccloud.cn
- Streamlit docs: https://docs.streamlit.io
- Edge-TTS docs: https://github.com/rany2/edge-tts
면책(Disclosure): 본 문서에는 아마리트이션 관계가 있을 수 있는 도구가 언급되어 있습니다. 긍정적인 리뷰를 위해 대가를 받지 않습니다. 모든 벤치마크는 자체 수행하거나 공식 문서에서 sourced되었습니다.
💬 Discussion