13 KiB
MoneyPrinterTurbo 💸
English | 简体中文
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.
WebUI
API Interface
Special Thanks 🙏
Due to the deployment and usage of this project, there is 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.
Features 🎯
- Complete MVC architecture, clearly structured code, easy to maintain, supports both
APIandWeb 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
- Portrait 9:16,
- 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
- Supports subtitle generation, with adjustable
font,position,color,size, and also supportssubtitle outlining - Supports background music, either random or specified music files, with adjustable
background music volume - Video material sources are high-definition and royalty-free
- Supports integration with various models such as OpenAI, moonshot, Azure, gpt4free, one-api, qianwen, Google Gemini, Ollama and more
❓How to Use the Free OpenAI GPT-3.5 Model?
Future Plans 📅
- Introduce support for GPT-SoVITS dubbing
- Enhance voice synthesis with large models for a more natural and emotionally resonant voice output
- Incorporate video transition effects to ensure a smoother viewing experience
- Improve the relevance of video content
- Add options for video length: short, medium, long
- Package the application into a one-click launch bundle for Windows and macOS for ease of use
- Enable the use of custom materials
- Offer voiceover and background music options with real-time preview
- Support a wider range of voice synthesis providers, such as OpenAI TTS, Azure TTS
- Automate the upload process to the YouTube platform
Video Demos 📺
Portrait 9:16
| ▶️ How to Add Fun to Your Life | ▶️ What is the Meaning of Life |
|---|---|
Landscape 16:9
| ▶️ What is the Meaning of Life | ▶️ Why Exercise |
|---|---|
System Requirements 📦
- Recommended minimum 4 CPU cores or more, 8G of memory or more, GPU is not required
- Windows 10 or MacOS 11.0, and their later versions
Installation & Deployment 📥
- Try to avoid using Chinese paths to prevent unpredictable issues
- Ensure your network is stable, meaning you can access foreign websites normally
① Clone the Project
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
② Modify the Configuration File
- Copy the
config.example.tomlfile and rename it toconfig.toml - Follow the instructions in the
config.tomlfile to configurepexels_api_keysandllm_provider, and according to the llm_provider's service provider, set up the corresponding API Key
③ Configure Large Language Models (LLM)
- To use
GPT-4.0orGPT-3.5, you need anAPI KeyfromOpenAI. If you don't have one, you can setllm_providertog4f(a free-to-use GPT library https://github.com/xtekky/gpt4free)
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:
- https://learn.microsoft.com/en-us/windows/wsl/install
- https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-containers
cd MoneyPrinterTurbo
docker-compose up
Note:The latest version of docker will automatically install docker compose in the form of a plug-in, and the start command is adjusted to
docker compose up
② Access the Web Interface
Open your browser and visit http://0.0.0.0:8501
③ Access the API Interface
Open your browser and visit http://0.0.0.0:8080/docs Or http://0.0.0.0:8080/redoc
Manual Deployment 📦
① Create a Python Virtual Environment
It is recommended to create a Python virtual environment using conda
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
conda create -n MoneyPrinterTurbo python=3.11
conda activate MoneyPrinterTurbo
pip install -r requirements.txt
② Install ImageMagick
Windows:
- Download https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-29-Q16-x64-static.exe
- Install the downloaded ImageMagick, do not change the installation path
- Modify the
config.tomlconfiguration file, setimagemagick_pathto your actual installation path (if you didn't change the path during installation, just uncomment it)
MacOS:
brew install imagemagick
Ubuntu
sudo apt-get install imagemagick
CentOS
sudo yum install ImageMagick
③ Launch the Web Interface 🌐
Note that you need to execute the following commands in the root directory of the MoneyPrinterTurbo project
Windows
conda activate MoneyPrinterTurbo
webui.bat
MacOS or Linux
conda activate MoneyPrinterTurbo
sh webui.sh
After launching, the browser will open automatically
④ Launch the API Service 🚀
python main.py
After launching, you can view the API documentation at http://127.0.0.1:8080/docs and directly test the interface
online for a quick experience.
Voice Synthesis 🗣
A list of all supported voices can be viewed here: Voice List
Subtitle Generation 📜
Currently, there are 2 ways to generate subtitles:
- edge: Faster generation speed, better performance, no specific requirements for computer configuration, but the quality may be unstable
- whisper: Slower generation speed, poorer performance, specific requirements for computer configuration, but more reliable quality
You can switch between them by modifying the subtitle_provider in the config.toml configuration file
It is recommended to use edge mode, and switch to whisper mode if the quality of the subtitles generated is not
satisfactory.
Note: If left blank, it means no subtitles will be generated.
Download whisper
- Please ensure a good internet connectivity
whispermodel can be downloaded from HuggingFace: https://huggingface.co/openai/whisper-large-v3/tree/main
After downloading the model to local machine, copy the whole folder and put it into the following path: .\MoneyPrinterTurbo\models
This is what the final path should look like: .\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, and you can also add your
own fonts.
Common Questions 🤔
❓How to Use the Free OpenAI GPT-3.5 Model?
OpenAI has announced that ChatGPT with 3.5 is now free, and developers have wrapped it into an API for direct usage.
Ensure you have Docker installed and running. Execute the following command to start the Docker service:
docker run -p 3040:3040 missuo/freegpt35
Once successfully started, modify the config.toml configuration as follows:
- Set
llm_providertoopenai - Fill in
openai_api_keywith any value, for example, '123456' - Change
openai_base_urltohttp://localhost:3040/v1/ - Set
openai_model_nametogpt-3.5-turbo
❓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]
# Please set according to your actual path, note that Windows path separators are \\
ffmpeg_path = "C:\\Users\\harry\\Downloads\\ffmpeg.exe"
❓Error generating audio or downloading videos
failed to generate audio, maybe the network is not available.
if you are in China, please use a VPN.
failed to download videos, maybe the network is not available.
if you are in China, please use a VPN.
This is likely due to network issues preventing access to foreign services. Please use a VPN to resolve this.
❓ImageMagick is not installed on your computer
- Follow the
example configurationprovideddownload addressto install https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-30-Q16-x64-static.exe, using the static library - Do not install in a path with Chinese characters to avoid unpredictable issues
For Linux systems, you can manually install it, refer to https://cn.linux-console.net/?p=16978
Thanks to @wangwenqiao666 for their research and exploration
Feedback & Suggestions 📢
- You can submit an issue or a pull request.
Reference Projects 📚
This project is based on https://github.com/FujiwaraChoki/MoneyPrinter and has been refactored with a lot of optimizations and added functionalities. Thanks to the original author for their spirit of open source.
License 📝
Click to view the LICENSE file


