Sign inSign up

oryzen/moneyprinterturbo

By oryzen

•Updated almost 2 years ago

Image
0

481

oryzen/moneyprinterturbo repository overview

⁠MoneyPrinterTurbo 💸

Stargazers Issues Forks License

⁠English
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.

⁠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.

https://reccloud.com⁠

⁠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
  • 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
  • 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.toml file and rename it to config.toml
  • Follow the instructions in the config.toml file to configure pexels_api_keys and llm_provider, and according to the llm_provider's service provider, set up the corresponding API Key
⁠③ Configure Large Language Models (LLM)
⁠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
⁠② 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.10
conda activate MoneyPrinterTurbo
pip install -r requirements.txt
⁠② Install ImageMagick
⁠Windows:
⁠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

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_provider to openai
  • Fill in openai_api_key with any value, for example, '123456'
  • Change openai_base_url to http://localhost:3040/v1/
  • Set openai_model_name to gpt-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

issue 56⁠

failed to generate audio, maybe the network is not available. 
if you are in China, please use a VPN.

issue 44⁠

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

issue 33⁠

  1. Follow the example configuration provided download address to install https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-30-Q16-x64-static.exe⁠, using the static library
  2. Do not install in a path with Chinese characters to avoid unpredictable issues

issue 54⁠

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 📢

⁠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

⁠Star History

Star History Chart

Tag summary

Content type

Image

Digest

sha256:51a0c4b9e…

Size

755.2 MB

Last updated

almost 2 years ago

docker pull oryzen/moneyprinterturbo:4530abc24010f66c757af14f2cefe52a0f032881