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:

  1. Script generation โ€” AI writes a compelling video script in Chinese or English
  2. Stock footage sourcing โ€” Downloads copyright-free clips from Pexels, Pixabay, and Coverr
  3. Voice synthesis โ€” Generates narration using Edge TTS (free) or Azure TTS V2 (premium)
  4. Subtitle creation โ€” Produces synchronized subtitles with customizable fonts, colors, and positions
  5. Background music โ€” Adds royalty-free background music with adjustable volume
  6. 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:

ProviderModelsCost
OpenAIGPT-4, GPT-4o, GPT-3.5Paid
Google GeminiGemini Pro, Gemini 1.5Freemium
AnthropicClaude Sonnet, HaikuPaid
OllamaLocal Llama, Mistral, QwenFree
DeepSeekDeepSeek V3, V4Freemium
MoonshotKimi seriesPaid
Azure OpenAIGPT-4, GPT-3.5Paid
Zhipu AIGLM-4Freemium
Bailian (Alibaba)Qwen seriesFreemium
MiniMaxMiniMax-01Freemium
Wenxin Yiyan (Baidu)ERNIE BotPaid
PollinationsVarious open modelsFree
ModelScopeChinese modelsFreemium
AIHubMix700+ models aggregatedFreemium
GPT4FreeUnofficial endpointsFree
One-APIChina proxy gatewayPaid

Supported TTS Engines #

EngineQualityCostVoices
Edge TTS (V1)GoodFree100+
Azure TTS V2ExcellentPaid50+ neural
OpenAI TTSVery GoodPaid6 voices
Fish AudioGoodFreemiumCustom

Edge TTS is the default and requires no API key. For higher quality voices, configure Azure Speech Services credentials.

Installation Methods #

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.

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 #

  1. Download the latest release from GitHub Releases
  2. Extract (avoid Chinese characters or special characters in path)
  3. Run update.bat to get the latest code
  4. Run start.bat to launch

Method 5: Google Colab #

No local setup required. Click the badge below to run MoneyPrinterTurbo directly in Google Colab:

Open in 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:

  1. Generate a script using your configured LLM
  2. Search for relevant stock footage
  3. Create voiceover narration
  4. Generate synchronized subtitles
  5. 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-whisper for 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:

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 #

ComponentMinimumRecommendedIdeal
CPU4 cores6-8 cores8+ cores
RAM4 GB8 GB16+ GB
GPUNot required4 GB VRAM8 GB VRAM
Disk2 GB5 GB10 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 #

FeatureMoneyPrinterTurboInVideo AIPictoryFliki
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 #

  1. Clone the repository: git clone https://github.com/harry0703/MoneyPrinterTurbo.git
  2. Copy config: cp config.example.toml config.toml
  3. Add your API keys (at minimum, a Pexels API key for footage)
  4. Choose your LLM provider (Ollama for free local, or OpenAI for best quality)
  5. Start Docker: docker compose -f docker-compose.release.yml up
  6. Open Web UI at http://localhost:8501
  7. Enter a video topic and watch it generate a complete video
  8. 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

๐Ÿ“ฆ Featured in collections

๐Ÿ’ฌ Discussion