Skip to content
 
 

Repository files navigation

MoneyPrinterTurbo 💸

Stargazers Issues Forks License


harry0703%2FMoneyPrinterTurbo | Trendshift

Simply provide a topic or keyword for a video, and it will automatically generate the video copy, video materials, video subtitles, and video background music before synthesizing a high-definition short video.

Thanks to AIHubMix for sponsoring this project. AIHubMix deeply adapts to OpenAI, Claude, Gemini, DeepSeek, Zhipu, Qwen, and other leading models, providing one-stop access to GPT-5.5, deepseek-v4-flash, and 700+ models including free options with production-grade stability.

Web Interface

API Interface

Features 🎯

  • Complete MVC architecture, clearly structured code, easy to maintain, supports both API and Web interface
  • Supports AI-generated video copy, as well as customized copy
  • Supports various high-definition video sizes
    • Portrait 9:16, 1080x1920
    • Landscape 16:9, 1920x1080
  • Supports batch video generation, allowing the creation of multiple videos at once, then selecting the most satisfactory one
  • Supports setting the duration of video clips, facilitating adjustments to material switching frequency
  • Supports video copy in both Chinese and English
  • Supports multiple voice synthesis, with real-time preview of effects
  • Supports subtitle generation, with adjustable font, position, color, size, and also supports subtitle outlining
  • Supports background music, either random or specified music files, with adjustable background music volume
  • Video material sources are high-definition and royalty-free, and you can also use your own local materials
  • Supports multiple stock video providers: Pexels, Pixabay, and Coverr (free HD/4K stock videos, subject to Coverr license terms; mostly 16:9 landscape; register at coverr.co/developers, Demo tier 50 requests/hour)
  • Supports integration with various models such as OpenAI, AIHubMix, Moonshot, Azure, gpt4free, one-api, Qwen, Google Gemini, Ollama, DeepSeek, MiniMax, ERNIE, Pollinations, ModelScope and more

Video Demos 📺

Portrait 9:16

▶️ How to Add Fun to Your Life ▶️ The Role of Money
More realistic synthesized voices
▶️ What is the Meaning of Life
demo-portrait-1.mp4
default.mp4
demo-portrait-2.mp4

Landscape 16:9

▶️ What is the Meaning of Life ▶️ Why Exercise
demo-landscape.mp4
demo-landscape-2.mp4

System Requirements 📦

  • Recommended platforms: Windows 10+, macOS 11+, or a mainstream Linux distribution
  • A GPU is not required, but it is recommended if you want faster local transcription, faster video processing, or smoother batch generation
Item Minimum Recommended Optimal
CPU 4 cores 6 to 8 cores 8+ cores
RAM 4 GB 8 GB 16+ GB
GPU Not required 4+ GB VRAM 8+ GB VRAM
  • If you mainly rely on cloud LLMs, cloud TTS, and online material sources, CPU and RAM matter more than GPU
  • If you use faster-whisper, batch generation, or heavier local processing, a GPU will improve throughput noticeably

Quick Start 🚀

Recommended Paths

  • Windows users: use the one-click package first for the fastest local trial
  • MacOS / Linux users: use uv sync --frozen for the primary local setup path
  • If you want a more isolated runtime: use Docker deployment

Run in Google Colab

Want to try MoneyPrinterTurbo without setting up a local environment? Run it directly in Google Colab!

Open in Colab

Windows One-Click Package

The downloadable package is still the older v1.2.6 bundled build. After downloading, run update.bat first to bring it up to the latest code.

After downloading, it is recommended to double-click update.bat first to update to the latest code, then double-click start.bat to launch.

After launching, the browser will open automatically (if it opens blank, it is recommended to use Chrome or Edge).

Installation & Deployment 📥

Prerequisites

  • Avoid using paths with non-ASCII characters or spaces to prevent unexpected issues
  • Ensure your network connection is working; if using a VPN, enable global traffic mode

① Clone the Project

git clone https://github.com/harry0703/MoneyPrinterTurbo.git

② Modify the Configuration File (optional — can also be configured in WebUI after launch)

  • Copy config.example.toml and rename it to config.toml
  • Follow the instructions in config.toml to configure pexels_api_keys and llm_provider, then set the corresponding API Key for your chosen provider
  • To use the recommended multi-model provider, set llm_provider to aihubmix and enter the corresponding API Key

Docker Deployment 🐳

① Launch the Docker Container

If you haven't installed Docker, please install it first https://www.docker.com/products/docker-desktop/

If you are using a Windows system, please refer to Microsoft's documentation:

  1. https://learn.microsoft.com/en-us/windows/wsl/install
  2. https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-containers
cd MoneyPrinterTurbo
docker-compose up

Note: The latest version of Docker installs docker compose as a plugin automatically; the start command becomes docker compose up

② Access the Web Interface

Open your browser and visit http://127.0.0.1:8501

③ Access the API Interface

Open your browser and visit http://127.0.0.1:8080/docs or http://127.0.0.1:8080/redoc

Manual Deployment 📦

Video tutorials

① Create a Python Virtual Environment

It is recommended to use uv to manage the Python environment and dependencies, with Python 3.11 as the default runtime.

git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
uv python install 3.11
uv sync --frozen

If you are not using uv yet, you can still use venv + pip.

python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Notes:

  • pyproject.toml is the primary dependency manifest
  • uv.lock pins the resolved environment; uv sync --frozen is recommended by default
  • requirements.txt is kept only for legacy pip-based installation

② Launch the Web Interface 🌐

Run the following commands from the root directory of the MoneyPrinterTurbo project.

Windows
.\webui.bat

You can also run webui.bat in CMD. webui.bat prefers the project .venv or bundled Python from the portable package. If no project Python is found but uv is installed, it automatically falls back to uv run streamlit. To allow other devices on your LAN to access the WebUI, run set MPT_WEBUI_HOST=0.0.0.0 before running webui.bat.

MacOS or Linux
uv run streamlit run ./webui/Main.py --browser.gatherUsageStats=False

If you have already activated the virtual environment manually, you can also run:

sh webui.sh

After launching, the browser will open automatically (if it opens blank, use Chrome or Edge).

③ Launch the API Service 🚀

uv run python main.py

If you have already activated the virtual environment manually, you can also run:

python main.py

Special Thanks 🙏

Due to the deployment and usage of this project having a certain threshold for some beginner users, we would like to express our special thanks to RecCloud (AI-Powered Multimedia Service Platform) for providing a free AI Video Generator service based on this project. It allows for online use without deployment, which is very convenient.

Thanks for Sponsorship 🙏

Thanks to Picwish https://picwish.com for supporting and sponsoring this project, enabling continuous updates and maintenance.

Picwish focuses on the image processing field, providing a rich set of image processing tools that extremely simplify complex operations, truly making image processing easier.

picwish.jpg

Voice Synthesis 🗣

A list of all supported voices can be viewed here: Voice List

The default TTS provider is Edge TTS (free, no API key required). In the WebUI it appears as "Azure TTS V1" — both refer to the same free service. To switch voices, set voice_name in config.toml or select one from the WebUI voice dropdown.

Note: "Azure TTS V1" (Edge TTS, free) and "Azure TTS V2" (paid Azure Speech SDK) are two different options in the WebUI. Only V2 requires an Azure API key.

To use higher-quality Azure TTS V2 voices, configure your Azure Speech credentials in config.toml:

[azure]
speech_key = "your-azure-speech-key"
speech_region = "eastus"

Azure TTS V2 voices require an Azure Speech Services subscription. The 9 Azure voices added in v1.1.2 sound noticeably more natural than Edge TTS for most use cases.

Subtitle Generation 📜

Currently, there are 2 ways to generate subtitles:

  • edge: Uses Edge TTS timestamps to align subtitles. Fast, no GPU required, works on any machine. Accuracy depends on the TTS timing signal — occasionally misaligns on complex sentences.
  • whisper: Runs faster-whisper locally to transcribe the generated audio and produce word-level timestamps. Slower (a few seconds to ~1 minute per clip on CPU depending on model size), requires downloading a model (~250 MB for large-v3-turbo, ~3 GB for large-v3), but produces more accurate subtitles regardless of TTS provider.

You can switch between them by modifying subtitle_provider in config.toml.

It is recommended to start with edge mode and switch to whisper if subtitle quality is not satisfactory.

Note:

  1. In whisper mode, you need to download a model file from HuggingFace (~3 GB); ensure good internet connectivity
  2. If left blank, no subtitles will be generated

Since HuggingFace may not be accessible in some regions, you can use the following links to download the whisper-large-v3 model manually:

Download links:

After downloading the model, extract it and place the entire directory in .\MoneyPrinterTurbo\models. The final file path should look like this: .\MoneyPrinterTurbo\models\whisper-large-v3

MoneyPrinterTurbo
  ├─models
  │   └─whisper-large-v3
  │          config.json
  │          model.bin
  │          preprocessor_config.json
  │          tokenizer.json
  │          vocabulary.json

Background Music 🎵

Background music for videos is located in the project's resource/songs directory.

The current project includes some default music from YouTube videos. If there are copyright issues, please delete them.

Subtitle Fonts 🅰

Fonts for rendering video subtitles are located in the project's resource/fonts directory. You can also add your own fonts.

Common Questions 🤔

❓RuntimeError: No ffmpeg exe could be found

Normally, ffmpeg will be automatically downloaded and detected. However, if your environment has issues preventing automatic downloads, you may encounter the following error:

RuntimeError: No ffmpeg exe could be found.
Install ffmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable.

In this case, you can download ffmpeg from https://www.gyan.dev/ffmpeg/builds/, unzip it, and set ffmpeg_path to your actual installation path.

[app]
# Set according to your actual path; note that Windows path separators are \\
ffmpeg_path = "C:\\Users\\harry\\Downloads\\ffmpeg.exe"

❓ImageMagick is not installed on your computer

This error no longer applies to the current version.

Since the project upgraded to MoviePy 2.x, subtitle rendering uses Pillow instead of ImageMagick. You do not need to install ImageMagick. If you are seeing this error, you may be running an older version of the code — run git pull to update, or use update.bat on Windows.

❓OSError: [Errno 24] Too many open files

This issue is caused by the system's limit on the number of open files.

Check the current limit:

ulimit -n

If it's too low, increase it, for example:

ulimit -n 10240

❓Whisper model download failed, with the following error

LocalEntryNotFoundError: Cannot find an appropriate cached snapshot folder for the specified revision on the local disk and
outgoing traffic has been disabled.
To enable repo look-ups and downloads online, pass 'local_files_only=False' as input.

or

An error occurred while synchronizing the model Systran/faster-whisper-large-v3 from the Hugging Face Hub:
An error happened while trying to locate the files on the Hub and we cannot find the appropriate snapshot folder for the
specified revision on the local disk. Please check your internet connection and try again.
Trying to load the model directly from the local cache, if it exists.

Solution: Click to see how to manually download the model from netdisk

Feedback & Suggestions 📢

License 📝

Click to view the LICENSE file

Star History

Star History Chart

About

利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages