MoneyPrinterTurbo 安装部署完全指南:从 config.toml 配置到 Docker 与手动部署的 API/WebUI 双接口实践
【免费下载链接】MoneyPrinterTurbo利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short videos from a topic or keyword with an automated AI workflow.项目地址: https://gitcode.com/GitHub_Trending/mo/MoneyPrinterTurbo
本文基于 MoneyPrinterTurbo 官方英文文档sites/docs/guide/README.md的安装部署章节展开:只需提供一个视频主题或关键词,项目即可全自动生成视频文案、视频素材、视频字幕与背景音乐,并合成一段高清短视频。读完本文,你将完整掌握该项目的两种接入形态(WebUI 与 FastAPI 接口)、配置文件config.toml的关键参数、Docker 一键部署方式,以及 Windows/macOS/Linux 下的手动部署全流程,并理解这些步骤背后对应的源码入口与运行机制。
一、两种使用形态:WebUI 与 API
MoneyPrinterTurbo 提供两种官方使用方式,二者共享同一套底层生成流水线:
- WebUI:基于 Streamlit 的图形界面,适合个人直接操作,填写主题后即可触发视频生成;
- API Interface:基于 FastAPI 的 REST 接口,启动后提供 Swagger 文档(
/docs)与 ReDoc(/redoc),支持在线调试,适合程序化调用与二次集成。
从源码看,API 服务入口是 main.py,它通过uvicorn加载 app/asgi.py 中创建的 FastAPI 应用,监听主机与端口来自配置(默认0.0.0.0:8080,见 app/config/config.py);路由聚合在 app/router.py,挂载了video与llm两个 v1 控制器(对应app/controllers/v1/video.py、app/controllers/v1/llm.py),其中video控制器的create_task就是提交视频生成任务的接口。此外 app/asgi.py 还将storage/tasks目录以静态文件方式挂载到/tasks路径——这就是文档中视频下载链接形如http://127.0.0.1:8080/tasks/<task_id>/final-1.mp4的来源。
部署前提
文档明确列出两条前提,务必先确认:
- 尽量避免使用中文路径存放项目,以免出现不可预知的问题;
- 确保网络可用,即能正常访问 Pexels/Pixabay 等国外素材站点与大模型 API。
二、通用准备:克隆代码与配置 LLM
以下步骤在 Docker 部署与手动部署中通用。
① 克隆项目
git clone https://github.com/harry0703/MoneyPrinterTurbo.git② 修改配置文件
- 将 config.example.toml 复制一份,重命名为
config.toml; - 按照
config.toml内的注释,配置好pexels_api_keys和llm_provider,并根据所选llm_provider的服务商配置对应的 API Key。
这里有一个源码细节值得了解:app/config/config.py 的load_config()在启动时如果发现config.toml不存在,会自动把config.example.toml复制为config.toml再加载,即首次运行可以"裸启动",但随后必须补全 API Key 才能真正生成视频。
③ 配置大语言模型(LLM)
llm_provider决定文案由哪个大模型生成。文档说明:若要使用 GPT-4.0 或 GPT-3.5,需要 OpenAI 的API Key;如果没有,可以将llm_provider设置为g4f(一个免费调用 GPT 的开源库,基于gpt4free,在 requirements.txt 中固定为g4f==0.3.8.1)。
对照 config.example.toml 的完整注释,llm_provider当前支持的取值及各自的 Key/模型配置项如下(均可在配置文件中找到对应区块):
| provider | 说明 | 关键配置项 | 默认模型 |
|---|---|---|---|
openai | OpenAI 官方 | openai_api_key、openai_base_url(可选代理) | gpt-4-turbo |
moonshot | 月之暗面 | moonshot_api_key、moonshot_base_url | moonshot-v1-8k |
oneapi | OneAPI 中转 | oneapi_api_key、oneapi_base_url | 需自行填写 |
g4f | 免费 GPT 通道 | g4f_model_name | gpt-3.5-turbo |
azure | Azure OpenAI | azure_api_key、azure_base_url、azure_api_version | gpt-35-turbo(替换为部署名) |
qwen | 通义千问 | qwen_api_key | qwen-max |
gemini | Google Gemini | gemini_api_key | gemini-1.0-pro |
deepseek | DeepSeek | deepseek_api_key、deepseek_base_url | deepseek-chat |
除 LLM 外,与部署强相关的还有几组配置:
- 素材来源:
video_source = "pexels"或"pixabay",对应pexels_api_keys/pixabay_api_keys两个数组;官方注释提醒 Key 必须用英文双引号包裹、多个 Key 用逗号隔开(多 Key 可用于规避限流)。 - 字幕:
subtitle_provider = "edge"或"whisper",留空则不生成字幕;使用whisper时由 [whisper] 段控制model_size(推荐large-v3)、device(CPU/cuda)与compute_type(如int8、float16)。 - ImageMagick / FFmpeg:
imagemagick_path、ffmpeg_path默认留空。从 app/config/config.py 看,若配置了路径且文件存在,会分别写入环境变量IMAGEMAGICK_BINARY与IMAGEIO_FFMPEG_EXE,供 moviepy 等库定位可执行文件;ffmpeg 通常会被自动下载检测,只有在报RuntimeError: No ffmpeg exe could be found.时才需要手动指定。 - 其他:
material_directory控制素材缓存位置(默认./storage/cache_videos,设为task则每个任务独立存放、不再共享缓存);enable_redis/redis_host等用于任务状态管理;endpoint用于对外暴露视频下载地址(例如经过 nginx 代理后填域名);max_concurrent_tasks(默认 5)限制并发任务数。
三、Docker 部署
① 启动 Docker 容器
如未安装 Docker,请先安装 Docker Desktop(Windows 用户需按微软文档启用 WSL2 与 WSL 容器)。然后:
cd MoneyPrinterTurbo docker-compose up[ docker-compose.yml ] 定义了两个服务,共用同一镜像(Dockerfile,基于python:3.11-slim-bullseye,镜像内已安装git、imagemagick、ffmpeg,并通过sed移除了 ImageMagick 策略文件中限制@文件的 policy 项):
webui:运行streamlit run ./webui/Main.py,端口8501:8501;api:运行python3 main.py,端口8080:8080。
两个服务都通过卷挂载把宿主机当前目录映射进容器(./:/MoneyPrinterTurbo),因此你只需要在宿主机上维护一份config.toml,容器内外实时同步。restart: always保证容器异常退出后自动拉起。
② 访问 Web 界面
打开浏览器访问:
http://0.0.0.0:8501③ 访问 API 文档
打开浏览器访问:
http://0.0.0.0:8080/docs http://0.0.0.0:8080/redoc四、手动部署
① 创建 Python 虚拟环境
建议使用 conda 创建 Python 3.10 虚拟环境:
git clone https://github.com/harry0703/MoneyPrinterTurbo.git cd MoneyPrinterTurbo conda create -n MoneyPrinterTurbo python=3.10 conda activate MoneyPrinterTurbo pip install -r requirements.txtrequirements.txt 锁定了核心依赖:moviepy(视频合成)、streamlit(WebUI)、edge_tts(配音)、fastapi+uvicorn(API)、faster-whisper(字幕)、dashscope/google.generativeai/g4f(多 LLM 接入)等,安装过程需要能正常访问 PyPI。
② 安装 ImageMagick
字幕烧录依赖 ImageMagick,各平台安装方式:
Windows:下载官方安装包
ImageMagick-7.1.1-29-Q16-x64-static.exe并安装,不要修改安装路径;随后在config.toml中把imagemagick_path设为你的实际安装路径(若未改默认路径,直接取消注释即可),例如:imagemagick_path = "C:\\Program Files (x86)\\ImageMagick-7.1.1-Q16\\magick.exe"macOS:
brew install imagemagickUbuntu:
sudo apt-get install imagemagickCentOS:
sudo yum install ImageMagick
③ 启动 Web 界面
注意需要在 MoneyPrinterTurbo 项目根目录下执行:
Windows(webui.bat):
conda activate MoneyPrinterTurbo webui.batmacOS / Linux(webui.sh):
conda activate MoneyPrinterTurbo sh webui.sh两个脚本本质都是执行:
streamlit run ./webui/Main.py --browser.serverAddress="0.0.0.0" --server.enableCORS=True --browser.gatherUsageStats=False即 Streamlit 监听0.0.0.0:8501并开启 CORS。启动后浏览器会自动打开。另外webui.sh中预留了HF_ENDPOINT=https://hf-mirror.com一行注释,如果你无法从 HuggingFace 官方站下载 whisper 模型,可以取消该行注释使用镜像站点。
④ 启动 API 服务
python main.py启动后访问 API 文档(即http://127.0.0.1:8080/docs或http://127.0.0.1:8080/redoc),可以直接在线调试接口快速体验。main.py启动时会打印日志start server, docs: http://127.0.0.1:<listen_port>/docs,其中端口取自配置中的listen_port(默认 8080)。
五、小结与延伸阅读
- 完整参数取值请对照 config.example.toml,配置加载逻辑见 app/config/config.py;
- API 行为(任务创建、静态资源挂载、CORS)见 app/asgi.py 与 app/router.py;
- 容器化细节见 Dockerfile 与 docker-compose.yml;
- 项目许可证见 LICENSE。
按上述顺序执行——先备好config.toml(素材 Key + LLM Key),再选择 Docker 或手动方式启动,即可在 WebUI 或/docs页面完成第一次"关键词 → 高清短视频"的端到端验证。
【免费下载链接】MoneyPrinterTurbo利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short videos from a topic or keyword with an automated AI workflow.项目地址: https://gitcode.com/GitHub_Trending/mo/MoneyPrinterTurbo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考