项目简介

MoneyPrinterTurbo是一个基于AI大模型的开源项目,可以一键生成高清短视频。只需提供一个视频主题或关键词,项目就能自动完成以下工作:

  • 生成视频文案
  • 搜集视频素材
  • 生成视频字幕
  • 选择视频背景音乐
  • 合成高清短视频

项目地址:https://github.com/harry0703/MoneyPrinterTurbo

功能特性

  • MVC 架构:采用MVC 架构,简洁清晰,易于维护,同时支持 API 和 Web 界面,提供灵活接口选择。
  • AI 自动生成文案:利用 AI 技术自动生成文案,节省时间和精力,支持用户自定义文案,满足个性化需求。
  • 多种视频尺寸:支持多种视频尺寸,包括竖屏和横屏,满足不同场景和平台需求,满足用户多样化需求。
  • 批量视频生成:一键生成多个视频,便于筛选最佳作品,提高工作效率。
  • 多语言支持:支持中文、英文及多种其他语言,全面满足全球化内容创作和传播需求。
  • 多种语音合成:提供多种语音合成选项,丰富视频声音,增强观众听觉体验。
  • 字幕生成与自定义:自主控制字幕外观,包括字体、位置、颜色和大小,确保信息传达准确,视觉效果优秀。
  • 背景音乐选择:背景音乐是视频的灵魂,为内容增添生动趣味,吸引观众关注。

项目安装部署

项目安装部署需要花一点时间和耐心。

官方建议通过使用 conda 创建 python 虚拟环境来进行安装部署。

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

具体的部署步骤可以去看项目文档,写的很详细。

快速开始 🚀

下载一键启动包,解压直接使用

Windows

下载后,建议先双击执行 update.bat 更新到最新代码,然后双击 start.bat 启动Web界面

其他系统

还没有制作一键启动包,看下面的 安装部署 部分,建议使用 docker 部署,更加方便。

安装部署 📥

前提条件

  • 尽量不要使用 中文路径,避免出现一些无法预料的问题
  • 请确保你的 网络 是正常的,VPN需要打开全局流量模式
① 克隆代码
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
② 修改配置文件
  • config.example.toml 文件复制一份,命名为 config.toml
  • 按照 config.toml 文件中的说明,配置好 pexels_api_keysllm_provider,并根据 llm_provider 对应的服务商,配置相关的
    API Key
③ 配置大模型(LLM)
  • 如果要使用 GPT-4.0GPT-3.5,需要有 OpenAIAPI Key,如果没有,可以将 llm_provider 设置为 g4f (
    一个免费使用GPT的开源库 https://github.com/xtekky/gpt4free ,但是该免费的服务,稳定性较差,有时候可以用,有时候用不了)
  • 或者可以使用到 月之暗面 申请。注册就送
    15元体验金,可以对话1500次左右。然后设置 llm_provider="moonshot"moonshot_api_key
  • 也可以使用 通义千问,具体请看配置文件里面的注释说明

Docker部署 🐳

① 启动Docker

如果未安装 Docker,请先安装 https://www.docker.com/products/docker-desktop/

如果是Windows系统,请参考微软的文档:

  1. https://learn.microsoft.com/zh-cn/windows/wsl/install
  2. https://learn.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers
cd MoneyPrinterTurbo
docker-compose up
② 访问Web界面

打开浏览器,访问 http://0.0.0.0:8501

③ 访问API文档

打开浏览器,访问 http://0.0.0.0:8080/docs 或者 http://0.0.0.0:8080/redoc

手动部署 📦

视频教程

① 创建虚拟环境

建议使用 conda 创建 python 虚拟环境

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
② 安装好 ImageMagick
Windows:
MacOS:
brew install imagemagick
`
Ubuntu
sudo apt-get install imagemagick
CentOS
sudo yum install ImageMagick

③ 启动Web界面 🌐

注意需要到 MoneyPrinterTurbo 项目 根目录 下执行以下命令

Windows
conda activate MoneyPrinterTurbo
webui.bat
MacOS or Linux
conda activate MoneyPrinterTurbo
sh webui.sh

启动后,会自动打开浏览器

④ 启动API服务 🚀
python main.py

启动后,可以查看 API文档 http://127.0.0.1:8080/docs 或者 http://127.0.0.1:8080/redoc 直接在线调试接口,快速体验。

语音合成 🗣

所有支持的声音列表,可以查看:声音列表

2024-04-16 v1.1.2 新增了9种Azure的语音合成声音,需要配置API KEY,该声音合成的更加真实。

字幕生成 📜

当前支持2种字幕生成方式:

  • edge: 生成速度快,性能更好,对电脑配置没有要求,但是质量可能不稳定
  • whisper: 生成速度慢,性能较差,对电脑配置有一定要求,但是质量更可靠

可以修改 config.toml 配置文件中的 subtitle_provider 进行切换

建议使用 edge 模式,如果生成的字幕质量不好,再切换到 whisper 模式

注意:

  1. whisper 模式下需要到 HuggingFace 下载一个模型文件,大约 3GB 左右,请确保网络通畅
  2. 如果留空,表示不生成字幕。

由于国内无法访问 HuggingFace,可以使用以下方法下载 whisper-large-v3 的模型文件

下载地址:

模型下载后解压,整个目录放到 .\MoneyPrinterTurbo\models 里面,
最终的文件路径应该是这样: .\MoneyPrinterTurbo\models\whisper-large-v3

MoneyPrinterTurbo  
  ├─models
  │   └─whisper-large-v3config.jsonmodel.binpreprocessor_config.jsontokenizer.jsonvocabulary.json

背景音乐 🎵

用于视频的背景音乐,位于项目的 resource/songs 目录下。

当前项目里面放了一些默认的音乐,来自于 YouTube 视频,如有侵权,请删除。

字幕字体 🅰

用于视频字幕的渲染,位于项目的 resource/fonts 目录下,你也可以放进去自己的字体。

常见问题 🤔

❓如何使用免费的OpenAI GPT-3.5模型?

OpenAI宣布ChatGPT里面3.5已经免费了,有开发者将其封装成了API,可以直接调用

确保你安装和启动了docker服务,执行以下命令启动docker服务

docker run -p 3040:3040 missuo/freegpt35

启动成功后,修改 config.toml 中的配置

  • llm_provider 设置为 openai
  • openai_api_key 随便填写一个即可,比如 ‘123456’
  • openai_base_url 改为 http://localhost:3040/v1/
  • openai_model_name 改为 gpt-3.5-turbo

❓AttributeError: ‘str’ object has no attribute ‘choices’`

这个问题是由于 OpenAI 或者其他 LLM,没有返回正确的回复导致的。

大概率是网络原因, 使用 VPN,或者设置 openai_base_url 为你的代理 ,应该就可以解决了。

❓RuntimeError: No ffmpeg exe could be found

通常情况下,ffmpeg 会被自动下载,并且会被自动检测到。
但是如果你的环境有问题,无法自动下载,可能会遇到如下错误:

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

此时你可以从 https://www.gyan.dev/ffmpeg/builds/ 下载ffmpeg,解压后,设置 ffmpeg_path 为你的实际安装路径即可。

[app]
# 请根据你的实际路径设置,注意 Windows 路径分隔符为 \\
ffmpeg_path = "C:\\Users\\harry\\Downloads\\ffmpeg.exe"

❓生成音频时报错或下载视频报错

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.

这个大概率是网络原因,无法访问境外的服务,请使用VPN解决。

❓ImageMagick is not installed on your computer

issue 33

  1. 按照 示例配置 里面提供的 下载地址
    ,安装 https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-29-Q16-x64-static.exe, 用静态库
  2. 不要安装在中文路径里面,避免出现一些无法预料的问题

issue 54

如果是linux系统,可以手动安装,参考 https://cn.linux-console.net/?p=16978

感谢 @wangwenqiao666的研究探索

❓ImageMagick的安全策略阻止了与临时文件@/tmp/tmpur5hyyto.txt相关的操作

issue 92

可以在ImageMagick的配置文件policy.xml中找到这些策略。
这个文件通常位于 /etc/ImageMagick-X/ 或 ImageMagick 安装目录的类似位置。
修改包含pattern="@"的条目,将rights="none"更改为rights="read|write"以允许对文件的读写操作。

感谢 @chenhengzh的研究探索

❓OSError: [Errno 24] Too many open files

issue 100

这个问题是由于系统打开文件数限制导致的,可以通过修改系统的文件打开数限制来解决。

查看当前限制

ulimit -n

如果过低,可以调高一些,比如

ulimit -n 10240

❓AttributeError: module ‘PIL.Image’ has no attribute ‘ANTIALIAS’

issue 101,
issue 83,
issue 70

先看下当前的 Pillow 版本是多少

pip list |grep Pillow

如果是 10.x 的版本,可以尝试下降级看看,有用户反馈降级后正常

pip uninstall Pillow
pip install Pillow==9.5.0
# 或者降级到 8.4.0
pip install Pillow==8.4.0
作者:Jeebiz  创建时间:2024-04-20 17:33
最后编辑:Jeebiz  更新时间:2025-05-12 09:20