MoneyPrinterTurbo: One-Click AI Video Generator with 90K+ Stars
Give MoneyPrinterTurbo a video topic or keyword and it auto-generates scripts, stock footage, subtitles, background music, and HD short videos. Supports TikTok, YouTube Shorts, Instagram Reels. 90K+ GitHub stars.
- Updated 2026-06-22
MoneyPrinterTurbo: One-Click AI Video Generator with 90K+ Stars #
TL;DR โ MoneyPrinterTurbo is an open-source Python tool that turns a video topic or keyword into a complete HD short video โ auto-generating the script, sourcing copyright-free stock footage, creating subtitles, adding background music, and composing everything into a vertical 9:16 or horizontal 16:9 video. With 90,000+ GitHub stars, it supports dozens of LLM providers, multiple TTS engines, and one-click publishing to TikTok, YouTube Shorts, and Instagram Reels.
What Is MoneyPrinterTurbo? #
MoneyPrinterTurbo takes a single input โ a video topic or keyword โ and produces a finished short video in minutes. The pipeline is fully automated:
- Script generation โ AI writes a compelling video script in Chinese or English
- Stock footage sourcing โ Downloads copyright-free clips from Pexels, Pixabay, and Coverr
- Voice synthesis โ Generates narration using Edge TTS (free) or Azure TTS V2 (premium)
- Subtitle creation โ Produces synchronized subtitles with customizable fonts, colors, and positions
- Background music โ Adds royalty-free background music with adjustable volume
- Video composition โ Uses MoviePy 2.x to stitch everything together into HD video
The result is a production-ready short video suitable for TikTok, YouTube Shorts, Instagram Reels, or any social platform.
GitHub: harry0703/MoneyPrinterTurbo ยท Stars: 90,884+ ยท License: MIT ยท Language: Python
Key Features #
- MVC Architecture โ Clean code structure with both API and Web UI interfaces
- AI Script Generation โ Auto-generate video scripts or use custom ones
- Multiple HD Sizes โ Portrait 9:16 (1080x1920) and Landscape 16:9 (1920x1080)
- Batch Generation โ Generate multiple videos at once and pick the best one
- Multi-Language Support โ Chinese and English video scripts
- Multiple Voice Options โ Real-time voice preview with Edge TTS and Azure TTS V2
- Customizable Subtitles โ Adjust font, position, color, size, and stroke
- Background Music โ Random or specified music files with volume control
- HD Copyright-Free Footage โ Sourced from Pexels, Pixabay, and Coverr
- Cross-Platform Publishing โ Auto-upload to TikTok, Instagram, and YouTube Shorts via Upload-Post
- 16+ LLM Providers โ OpenAI, Google Gemini, Anthropic, Ollama, DeepSeek, and more
Supported LLM Providers #
MoneyPrinterTurbo integrates with a wide range of language models for script generation:
| Provider | Models | Cost |
|---|---|---|
| OpenAI | GPT-4, GPT-4o, GPT-3.5 | Paid |
| Google Gemini | Gemini Pro, Gemini 1.5 | Freemium |
| Anthropic | Claude Sonnet, Haiku | Paid |
| Ollama | Local Llama, Mistral, Qwen | Free |
| DeepSeek | DeepSeek V3, V4 | Freemium |
| Moonshot | Kimi series | Paid |
| Azure OpenAI | GPT-4, GPT-3.5 | Paid |
| Zhipu AI | GLM-4 | Freemium |
| Bailian (Alibaba) | Qwen series | Freemium |
| MiniMax | MiniMax-01 | Freemium |
| Wenxin Yiyan (Baidu) | ERNIE Bot | Paid |
| Pollinations | Various open models | Free |
| ModelScope | Chinese models | Freemium |
| AIHubMix | 700+ models aggregated | Freemium |
| GPT4Free | Unofficial endpoints | Free |
| One-API | China proxy gateway | Paid |
Supported TTS Engines #
| Engine | Quality | Cost | Voices |
|---|---|---|---|
| Edge TTS (V1) | Good | Free | 100+ |
| Azure TTS V2 | Excellent | Paid | 50+ neural |
| OpenAI TTS | Very Good | Paid | 6 voices |
| Fish Audio | Good | Freemium | Custom |
Edge TTS is the default and requires no API key. For higher quality voices, configure Azure Speech Services credentials.
Installation Methods #
Method 1: Docker (Recommended for Isolation) #
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
# Copy config example
cp config.example.toml config.toml
# Edit config.toml with your API keys
# Then start with release image
docker compose -f docker-compose.release.yml up
Access the Web UI at http://127.0.0.1:8501 and the API docs at http://127.0.0.1:8080/docs.
Method 2: uv (Recommended for Local Python) #
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
# Install Python 3.11 and dependencies
uv python install 3.11
uv sync --frozen
# Start Web UI
uv run streamlit run ./webui/Main.py --browser.gatherUsageStats=False --server.showEmailPrompt=False
# Or start API service
uv run python main.py
Method 3: Traditional pip #
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Start Web UI
python webui/Main.py
Method 4: Windows One-Click Package #
- Download the latest release from GitHub Releases
- Extract (avoid Chinese characters or special characters in path)
- Run
update.batto get the latest code - Run
start.batto launch
Method 5: Google Colab #
No local setup required. Click the badge below to run MoneyPrinterTurbo directly in Google Colab:
Configuration #
After cloning, copy config.example.toml to config.toml and configure your settings:
[app]
# Video output settings
video_width = 1080
video_height = 1920 # 9:16 portrait mode
fps = 30
# Subtitle settings
subtitle_enabled = true
subtitle_font = "Arial"
subtitle_color = "white"
[basic_tts]
# Edge TTS is free, no API key needed
provider = "edge-tts"
voice_name = "en-US-GuyNeural"
[azure]
# Optional: for Azure TTS V2 premium voices
speech_key = "your-azure-speech-key"
speech_region = "eastus"
[llm]
# Choose your LLM provider
provider = "openai" # or gemini, ollama, deepseek, etc.
api_key = "your-api-key"
model = "gpt-4o"
[pexels]
# Stock footage sources (free API keys)
api_keys = ["your-pexels-api-key"]
[pixabay]
api_keys = ["your-pixabay-api-key"]
[coverr]
# Alternative stock footage
api_keys = ["your-coverr-api-key"]
Usage Examples #
Web UI #
Launch the Streamlit web interface and enter a video topic:
uv run streamlit run ./webui/Main.py
Open http://localhost:8501 in your browser. Enter a topic like “The importance of exercise” and the tool will:
- Generate a script using your configured LLM
- Search for relevant stock footage
- Create voiceover narration
- Generate synchronized subtitles
- Assemble everything into a finished video
Command Line Interface #
For headless operation or automation:
# Generate video from a topic
uv run python cli.py --video-subject "The importance of exercise"
# Specify local video materials
uv run python cli.py \
--video-subject "Exercise benefits" \
--video-source local \
--video-materials "clip1.mp4,clip2.mp4" \
--stop-at video
# Generate only the script (for review)
uv run python cli.py \
--video-subject "Healthy eating" \
--stop-at script
# Generate script and voiceover only
uv run python cli.py \
--video-subject "Healthy eating" \
--stop-at audio
API Endpoint #
MoneyPrinterTurbo exposes a REST API for programmatic access:
# Start the API service
uv run python main.py
# Then access Swagger docs at http://localhost:8080/docs
Subtitle Generation #
Two subtitle generation modes are available:
Edge Mode (Fast) #
- Uses Edge TTS timing stamps
- Fast, no GPU required
- Works on any machine
- Occasionally inaccurate timestamps for complex sentences
Whisper Mode (Accurate) #
- Uses local
faster-whisperfor audio transcription - More granular timestamps
- Requires downloading model files (~250MB for turbo, ~3GB for large-v3)
- Better subtitle accuracy overall
Switch modes in config.toml:
[subtitle]
provider = "edge" # or "whisper"
For Whisper mode, download the model from HuggingFace. If you’re in China and can’t access HuggingFace directly:
- Baidu Pan: https://pan.baidu.com/s/11h3Q6tsDtjQKTjUu3sc5cA?pwd=xjs9
- Quark Pan: https://pan.quark.cn/s/3ee3d991d64b
Extract and place in MoneyPrinterTurbo/models/whisper-large-v3/:
MoneyPrinterTurbo/
models/
whisper-large-v3/
config.json
model.bin
preprocessor_config.json
tokenizer.json
vocabulary.json
Cross-Platform Publishing #
MoneyPrinterTurbo can automatically publish generated videos to social platforms via Upload-Post:
[upload]
enabled = true
platforms = ["tiktok", "youtube_shorts", "instagram_reels"]
youtube_privacy_status = "private" # or "public", "unlisted"
YouTube publishing automatically marks AI-generated content as required by platform policies.
System Requirements #
| Component | Minimum | Recommended | Ideal |
|---|---|---|---|
| CPU | 4 cores | 6-8 cores | 8+ cores |
| RAM | 4 GB | 8 GB | 16+ GB |
| GPU | Not required | 4 GB VRAM | 8 GB VRAM |
| Disk | 2 GB | 5 GB | 10 GB |
GPU is optional but helps with:
- Local Whisper transcription
- Faster video processing
- Smoother batch generation
If you rely mainly on cloud LLMs, cloud TTS, and online footage sources, CPU and RAM matter more than GPU.
Troubleshooting #
No ffmpeg Found #
RuntimeError: No ffmpeg exe could be found.
Download ffmpeg from https://www.gyan.dev/ffmpeg/builds/ and set the path:
[app]
ffmpeg_path = "C:\\Users\\YourName\\Downloads\\ffmpeg.exe"
Too Many Open Files #
OSError: [Errno 24] Too many open files
Increase the limit:
ulimit -n 10240
Whisper Model Download Failure #
If you see LocalEntryNotFoundError, download the model manually (see Subtitle Generation section above).
ImageMagick Errors #
The current version no longer requires ImageMagick โ it uses Pillow for subtitle rendering after upgrading to MoviePy 2.x. If you still see errors, update your code:
git pull
# Windows: run update.bat
Architecture Overview #
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MoneyPrinterTurbo โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Web UI (Streamlit) โ API (FastAPI) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Script Generator โ โ LLM (OpenAI/Gemini/Ollama)โ
โ Stock Footage Fetcher โ โ Pexels/Pixabay/Coverr โ
โ TTS Engine โ โ Edge/Azure/OpenAI โ
โ Subtitle Generator โ โ Edge/Whisper โ
โ Music Mixer โ โ Local resource files โ
โ Video Composer โ โ MoviePy 2.x โ
โ Publisher โ โ Upload-Post API โ
โโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Who Should Use MoneyPrinterTurbo? #
- Content creators who want to produce videos at scale without filming themselves
- Social media managers who need consistent video output for TikTok, Reels, and Shorts
- Educators creating explainer videos from topics
- Marketers producing promotional content quickly
- Developers who want to integrate AI video generation into their own apps via the REST API
Alternatives Compared #
| Feature | MoneyPrinterTurbo | InVideo AI | Pictory | Fliki |
|---|---|---|---|---|
| Open source | โ MIT | โ Proprietary | โ SaaS | โ SaaS |
| Self-hosted | โ Docker/Local | โ Cloud only | โ Cloud only | โ Cloud only |
| Free tier | โ Fully free | โ Watermark | โ Trial only | โ Limited |
| LLM flexibility | โ 16+ providers | โ Fixed | โ Fixed | โ Fixed |
| TTS options | โ Edge/Azure/OpenAI | โ Fixed | โ Fixed | โ Limited |
| Stock footage | โ 3 sources | โ Proprietary | โ Proprietary | โ Limited |
| Custom subtitles | โ Full control | โ Auto only | โ Auto only | โ Auto only |
| API access | โ FastAPI | โ No | โ No | โ No |
| Batch generation | โ Yes | โ No | โ No | โ No |
Getting Started Checklist #
- Clone the repository:
git clone https://github.com/harry0703/MoneyPrinterTurbo.git - Copy config:
cp config.example.toml config.toml - Add your API keys (at minimum, a Pexels API key for footage)
- Choose your LLM provider (Ollama for free local, or OpenAI for best quality)
- Start Docker:
docker compose -f docker-compose.release.yml up - Open Web UI at http://localhost:8501
- Enter a video topic and watch it generate a complete video
- Review, tweak, and regenerate if needed
Frequently Asked Questions #
Q: Do I need API keys for everything? #
No. Edge TTS is completely free and requires no key. For stock footage, Pexels and Pixabay offer free API keys. The LLM provider is optional โ you can use local Ollama models for free, or skip script generation and use custom scripts.
Q: Can I use my own video็ด ๆ (materials)? #
Yes. Set video_source to local and provide a comma-separated list of video file paths. The tool will use your local files instead of fetching from stock sources.
Q: How long does video generation take? #
Typically 2-10 minutes depending on video length, LLM response time, and whether Whisper transcription is enabled. Docker deployment tends to be faster than local Python installs due to optimized dependencies.
Q: Can I generate videos in languages other than Chinese and English? #
The default script generation supports Chinese and English. For other languages, you can write custom scripts and use the appropriate TTS voice. The stock footage and music are language-agnostic.
Q: Does it work on Raspberry Pi? #
Yes, though slowly. The Docker image supports ARM64. For best results on Pi, use Edge TTS (no heavy model downloads) and skip Whisper subtitle generation.
Q: How do I change the output aspect ratio? #
Edit config.toml:
[app]
video_width = 1080
video_height = 1920 # 9:16 portrait (TikTok/Shorts)
# OR
video_width = 1920
video_height = 1080 # 16:9 landscape (YouTube)
Sources #
Want to generate videos at scale? MoneyPrinterTurbo is free, open-source, and runs on any machine with Python or Docker.
Join the Dibi8 community: Telegram Group
๐ฌ Discussion