AI 短视频自动生成工具 MoneyPrinterTurbo 部署与配置指南(2026版)

一、背景

日常运营短视频账号时,经常需要批量生成知识科普类短视频。传统做法是:写稿 → 录音 → 找素材 → 剪辑 → 加字幕 → 导出,一套流程下来至少半小时到一小时。

MoneyPrinterTurbo 正是为解决这个痛点而生的开源工具。你只需要提供一个视频主题,它就能自动完成:

  • 调用 LLM 生成脚本
  • TTS 语音合成(支持 Azure TTS / Edge TTS)
  • 从 Pexels/Pixabay 自动检索并下载匹配的素材视频
  • 智能拼接素材、叠加字幕和背景音乐
  • 输出可直接发布的竖屏/横屏短视频

本文记录了完整的部署和配置过程,涵盖常见的坑和解决方案。

二、环境准备

2.1 Python 环境

MoneyPrinterTurbo v1.2.7 要求 Python ≥ 3.11 且 < 3.13。推荐使用 Conda 管理环境:

1
2
3
4
5
# 创建专用环境
conda create -n video python=3.12

# 激活环境
conda activate video

注意:Windows 下务必设置 PYTHONIOENCODING=utf-8 环境变量,否则 Python 在读取含中文的配置文件时会报 UnicodeDecodeError:

1
export PYTHONIOENCODING=utf-8

2.2 安装系统依赖

ImageMagick(字幕渲染必备)

MoneyPrinterTurbo 依赖 ImageMagick 来渲染字幕文本到视频帧上。Windows 下建议使用便携版(Portable),无需安装,解压即用。

  1. 访问 ImageMagick GitHub Releases 下载 Windows 便携版(例如 ImageMagick-7.1.2-X-Q16-HDRI-x64-static.zip)
  2. 解压到项目目录下,如 项目根目录/ImageMagick/
  3. 在配置文件中指定 magick.exe 路径

避坑:不要从 imagemagick.org/archive/binaries/ 下载,该地址已失效,会返回 404。

FFmpeg

MoneyPrinterTurbo 自动通过 imageio-ffmpeg 下载 FFmpeg,一般情况下无需手动安装。但如果自动下载失败,可以手动下载并设置路径:

  1. 从 gyan.dev/ffmpeg/builds/ 下载 FFmpeg
  2. 解压后配置 ffmpeg_path 指向 ffmpeg.exe

三、安装 MoneyPrinterTurbo

3.1 克隆仓库

1
2
3
# 推荐浅克隆,速度更快
git clone --depth 1 https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo

3.2 安装 Python 依赖

1
2
3
4
5
6
# 使用 pip 安装
pip install -r requirements.txt

# 或使用 uv(更快)
# pip install uv
# uv sync

注意:如果你的 Python 安装在系统目录,可能需要加 --user 参数。或者直接在 conda 环境内安装,会安装到环境自身的 site-packages 中。

四、配置文件详解

项目根目录的 config.toml 是核心配置文件,以下是关键配置项的说明。

4.1 选择视频素材源

1
2
3
4
5
6
7
8
9
10
[app]
# "pexels" 或 "pixabay"
video_source = "pexels"

# PELEXS API Key(免费注册:https://www.pexels.com/api/)
# 可以使用多个 Key 以避免限流
pexels_api_keys = ["你的Pexels API Key"]

# Pixabay API Key(免费注册:https://pixabay.com/api/docs/)
pixabay_api_keys = []

4.2 ImageMagick 路径(Windows 必需)

1
2
# Windows 下需要显式指定路径
imagemagick_path = "D:/MoneyPrinterTurbo/ImageMagick/magick.exe"

4.3 LLM 提供商配置

MoneyPrinterTurbo 支持多种 LLM 提供商用于生成脚本。这里以 DeepSeek 和豆包(火山引擎)为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[app]
# 切换 LLM 提供商:openai / deepseek / moonshot / qwen / gemini 等
llm_provider = "deepseek"

########## DeepSeek 配置
# 注册:https://platform.deepseek.com/api_keys
deepseek_api_key = "sk-你的DeepSeek API Key"
deepseek_base_url = "https://api.deepseek.com"
deepseek_model_name = "deepseek-v4-flash"

########## 豆包/火山引擎 配置
# 豆包 API 兼容 OpenAI 协议,通过 OpenAI 配置项接入
# 注册:https://console.volcengine.com/ark
openai_api_key = "你的豆包API Key"
openai_base_url = "https://ark.cn-beijing.volces.com/api/v3"
openai_model_name = "doubao-seed-2-0-pro-260215"

提示:豆包虽然使用 OpenAI 兼容接口,但需通过 llm_provider = "openai" 配合自定义 openai_base_url 来使用。切换时只需修改 llm_provider 和对应的 API Key / Model Name。

4.4 视频参数

1
2
3
4
5
6
7
8
9
[app]
# 竖屏 9:16(适配抖音/视频号),横屏 16:9(适配西瓜视频/B站)
video_aspect = "9:16"

# 语音:女生-晓晓(zh-CN-XiaoxiaoNeural)/ 男生-云希(zh-CN-YunxiNeural)
voice_name = "zh-CN-XiaoxiaoNeural"

# 字幕
subtitle_provider = "edge" # "edge" 或 "whisper"

4.5 代理配置(国内用户可选)

1
2
3
4
[proxy]
# 格式: "http://<username>:<password>@<proxy>:<port>"
http = "http://127.0.0.1:7890"
https = "http://127.0.0.1:7890"

五、运行服务

5.1 启动 Web 服务

1
2
3
4
cd MoneyPrinterTurbo
conda activate video
export PYTHONIOENCODING=utf-8
python main.py

启动后访问 http://127.0.0.1:8080/docs 可查看 Swagger API 文档,或直接打开 WebUI 界面操作。

5.2 通过 API 生成视频

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
curl -s -X POST "http://127.0.0.1:8080/api/v1/videos" \
-H "Content-Type: application/json" \
-d '{
"video_subject": "什么是第一性原理",
"video_aspect": "9:16",
"video_concat_mode": "random",
"video_clip_duration": 5,
"video_count": 1,
"video_source": "pexels",
"voice_name": "zh-CN-XiaoxiaoNeural",
"voice_volume": 1.0,
"voice_rate": 1.0,
"bgm_type": "random",
"bgm_volume": 0.2,
"subtitle_enabled": true,
"font_name": "STHeitiMedium.ttc",
"paragraph_number": 1,
"video_language": "zh"
}'

成功响应:

1
2
3
4
5
6
7
{
"status": 200,
"message": "success",
"data": {
"task_id": "185d0c6a-bb16-4f2d-9b1d-0f0956c631e8"
}
}

5.3 轮询任务进度

1
2
# 查询任务状态
curl -s http://127.0.0.1:8080/api/v1/tasks/{task_id}

返回状态说明:

state 含义
4 处理中(processing)
1 已完成(complete)
-1 失败(failed)

六、完整的视频生成流程

MoneyPrinterTurbo 生成一条视频的内部流程如下:

  1. 生成脚本 — LLM 根据主题生成视频文案
  2. 提取关键词 — LLM 提取 5 个搜索关键词用于检索素材
  3. TTS 语音合成 — 将文案转为语音(Edge TTS / Azure TTS)
  4. 生成字幕 — 根据语音时间戳生成 SRT 字幕文件
  5. 下载素材 — 从 Pexels/Pixabay 搜索并下载匹配的视频片段
  6. 拼接视频 — 将多个视频片段按音频时长智能拼接
  7. 合成最终视频 — 叠加语音、字幕、背景音乐,输出 MP4

其中第 7 步(字幕渲染)是最耗时的环节,因为 ImageMagick 需要逐帧渲染中文字幕。

七、常见问题

7.1 UnicodeDecodeError / GBK 编码错误

1
2
3
# 症状:读取配置文件或输出日志时报编码错误
# 解决方案:设置环境变量
export PYTHONIOENCODING=utf-8

7.2 ImageMagick 找不到

1
2
# 症状:字幕渲染时报 ImageMagick 相关错误
# 解决方案:Windows 下显式指定 imagemagick_path

7.3 Pexels 素材下载失败

确保:

  • API Key 有效且未超限
  • 网络可以访问 videos.pexels.com(国内用户可能需要代理)
  • TLS 验证未关闭(tls_verify = true)

7.4 视频拼接时报 SegmentOverlap

此问题出现在直接操作剪映草稿时,MoneyPrinterTurbo 内部无此问题。如果是二次编辑草稿,注意同一轨道上的片段不能有重叠时间。

7.5 服务启动后端口占用

1
2
3
4
5
# Windows 下查看端口占用
netstat -ano | grep 8080

# 杀死占用进程
taskkill /F /PID <PID>

八、总结

MoneyPrinterTurbo 是一个强大的 AI 短视频生成工具,它把视频制作的各个环节(文案、配音、素材、剪辑、字幕)串联成了自动化流水线。配合不同 LLM 提供商(DeepSeek、豆包等)和 Pexels 海量视频素材库,可以快速批量产出知识科普、资讯解读等类型的短视频。

对于视频号运营者来说,典型的工作流可以是:

  1. MoneyPrinterTurbo 自动生成初版视频
  2. 导入剪映进行精细化调整(片头片尾、特效、水印等)
  3. 发布到视频号 / 抖音 / B站

这样既保证了效率,又保留了人工把控质量的环节。