> 透明声明:本文含推广链接(AIHubMix / DigitalOcean / Amazon Books),通过这些链接注册/购买我会获得佣金,不影响你的价格。文末有完整披露。
我为什么要在 5 美金的 VPS 上自托管一个 AI 短视频生成器
MoneyPrinterTurbo(GitHub harry0703/MoneyPrinterTurbo,66,309⭐)是 2026 年 GitHub Trending 上霸榜最久的 AI 工具之一——给它一个主题词,它能自动写文案、找无版权素材、加字幕、配 TTS 语音、合成 1080P 短视频,全程一键。功能演示视频看下来确实惊艳,但官方文档默认假设你跑在带 GPU 的 Windows 桌面机上(v1.2.6 一键启动包是 Windows 的,README 把 GPU 8GB 列为"理想配置")。
我不想为了一年生成几十条短视频专门搞一台 Windows 主机。我的实际场景是:已有的 Ubuntu 24.04 VPS(4 核 8GB 无独立显卡,跑这个博客和几个小项目),想把它变成一个能随时调用的"AI 短视频工厂",输入标题,输出 1 分钟以内的竖屏短视频。
这篇文章就是把我这次从零到跑通的全过程记录下来——4 核 CPU / 8GB 内存 / 无 GPU 这个最低配置下的完整流水线,包括怎么选云端 LLM(避开本地 Ollama 吃内存的坑)、怎么让 TTS 走 edge-tts(免费、不吃显存)、怎么让 ffmpeg 在 CPU 上合成 1080P 不超时。
实测环境:DigitalOcean 基础款 4GB 升级到 8GB,月费 6 美金(RackNerd 同价位可参考),Ubuntu 24.04 LTS,Docker 28.x。
你需要准备什么
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 4 核 | 6-8 核 |
| 内存 | 4 GB | 8 GB 及以上 |
| GPU | 非必须 | 4GB+ 显存(启用本地 faster-whisper 时) |
| 硬盘 | 20 GB | 40 GB+(素材库 + 模型会涨) |
| 系统 | Ubuntu 22.04 / 24.04 LTS | Ubuntu 24.04 LTS |
| Python | 3.11 | 3.11(项目指定) |
| Docker | 24+ | 28.x |
关键认知:如果你打算用云端 LLM + edge-tts + 在线素材源,CPU 和内存比 GPU 更重要。我整次部署没用到一次 GPU,反而是 CPU 编码(ffmpeg 合成 1080P 视频)才是真正的瓶颈。
第 1 步:先在 VPS 上装好 Docker 和 Python 3.11
Ubuntu 24.04 自带 Python 3.12,但 MoneyPrinterTurbo **强制 Python 3.11**(项目 pyproject.toml 锁版本),硬上 3.12 会撞 dataclass 装饰器兼容性报错。我用 uv(Astral 出品的 Python 包管理器,比 conda 快 10 倍)管理多版本:
# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
# 验证 Python 3.11 可用
uv python list | grep 3.11
# 应显示 cpython-3.11.x-linux-x86_64-xxx
# 安装 Docker(如果还没有)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
# 验证
docker --version # 期望:Docker version 28.x
docker compose version # 期望:Docker Compose version v2.x
**坑 1**:用 apt install python3.11 在 Ubuntu 24.04 上会失败(deadsnakes PPA 也只到 3.12)。直接用 uv 是最干净的方案,**不要尝试源码编译**,会浪费 20 分钟。
第 2 步:克隆项目并配置 uv 环境
git clone https://github.com/harry0703/MoneyPrinterTurbo.git
cd MoneyPrinterTurbo
# 用 uv 同步依赖(比 pip 快 10 倍)
uv sync --frozen
# 期望输出:Resolved N packages, Installed N packages
**坑 2**:uv sync --frozen 会读 uv.lock 锁版本。如果报 Lock file not found,先 uv lock 生成一次再 sync。**不要**用 pip install -r requirements.txt,那会绕过依赖锁定,numpy / opencv-python-headless 经常撞版本。
第 3 步:搞到 LLM API Key(关键决策点)
MoneyPrinterTurbo v1.2.6 支持 14+ LLM provider,但最省心的是 AIHubMix——它是项目的官方赞助商,README 致谢里就提到了,深度适配 GPT-5.5、deepseek-v4-flash、Claude Sonnet 4.5 等 700+ 模型(含多个免费模型),一个 key 通吃所有模型。
去 AIHubMix 官网 注册账号 → 控制台拿 API key → 在项目根目录的 `.env` 文件里配置:
# .env 文件
LLM_PROVIDER=aihubmix
OPENAI_API_KEY=sk-你的AIHubMixKey
OPENAI_BASE_URL=https://aihubmix.com/v1
OPENAI_MODEL_NAME=deepseek-v4-flash
为什么选 deepseek-v4-flash 而不是 GPT-5.5:
- 短视频文案的 token 消耗很小(一般 500-800 token),flash 完全够用
- flash 价格是 GPT-5.5 的 1/30
- 中文文案质量不输 Sonnet 4.5(实测多次,肉眼分不出)
如果你只用 OpenAI 官方,把 LLM_PROVIDER=openai 配上 OPENAI_API_KEY 就行,但**国内访问需要代理**,跑起来后会卡在"生成文案"那一步。
**坑 3**:OPENAI_BASE_URL 末尾的 /v1 不能漏,否则会报 404。AIHubMix 的 OpenAI 兼容端点是 https://aihubmix.com/v1,不是裸域名。
第 4 步:TTS 选 edge-tts 而不是 Azure(白嫖方案)
.env 继续配置:
# TTS 语音(edge 模式 = 免费 Microsoft Edge TTS)
TTS_PROVIDER=edge
EDGE_TTS_VOICE=zh-CN-XiaoxiaoNeural
# 字幕生成模式(edge = 用 edge-tts 自带字幕,whisper = 本地转录更准但要 3GB 显存)
SUBTITLE_PROVIDER=edge
**为什么不用 Azure TTS**:Azure 音质更好但要订阅 + 信用卡,edge-tts 是微软直接开放的免费 TTS 接口,中文 zh-CN-XiaoxiaoNeural 已经是接近真人水平。
**坑 4**:TTS 语音参数必须是 格式,**不是** "中文女声" 这种自然语言。常用推荐:
- 中文女声:`zh-CN-XiaoxiaoNeural`
- 中文男声:`zh-CN-YunxiNeural`
- 英文女声:`en-US-JennyNeural`
- 英文男声:`en-US-GuyNeural`
**坑 5**:第一次跑会下载 TTS 词表到 ./cache,如果 /root 目录空间 < 5GB 会被填满(实测下载了 1.8GB 词表 + 模型),先 df -h / 确认。
第 5 步:启动 WebUI 并跑通第一条视频
# 启动 WebUI
uv run streamlit run ./webui/Main.py --server.port 8501 --server.address 0.0.0.0
浏览器访问 http://你的VPS_IP:8501,看到 Streamlit 界面就成功了。
首次使用流程:
1. 左侧"视频主题"输入:为什么我喜欢用 Rust 重写 Python 工具
2. 文案生成 → 自动基于主题写 200-400 字文案
3. 视频设置:竖屏 9:16(1080x1920)/ 视频片段时长 5 秒 / 语速 1.0
4. 字幕设置:字体(默认)/ 位置(底部)/ 大小(中)
5. 背景音乐:随机(内置 15+ 无版权 BGM)
6. 点击"生成视频"
第一次跑时间参考:
- 写文案(LLM 调用):8-12 秒
- 拉素材(Pexels API,无版权素材库):15-25 秒
- TTS 合成(edge-tts):5-8 秒
- 字幕烧录(ffmpeg 滤镜):3-5 秒
- 视频合成(ffmpeg):30-60 秒
- **总计约 1-2 分钟**(4 核 CPU)
**坑 6**:Pexels 视频素材源在国内访问不稳定,如果跑 resource_fetcher 报 requests.exceptions.ConnectionError,在 .env 加:
PEXELS_PROXY=http://你的代理地址
# 或者直接禁用 Pexels 用本地素材目录
更稳的方案是预先下载素材到 ./material 目录,MoneyPrinterTurbo 会优先用本地素材。
第 6 步:用 API 模式批量生成(进阶)
WebUI 适合单条调试,批量跑用 API 模式。开启方式:
uv run python main.py
# 默认监听 8080 端口,提供 /generate 端点
调用示例(curl):
curl -X POST http://127.0.0.1:8080/generate \
-H "Content-Type: application/json" \
-d '{
"topic": "5个让你代码质量提升10倍的Rust习惯",
"duration": 60,
"voice": "zh-CN-XiaoxiaoNeural",
"subtitle_provider": "edge"
}'
返回 JSON 包含 video_path(生成的 MP4 文件位置),可以直接拿去做 YouTube Shorts / TikTok / 视频号。
5 美金预算的真实账单
| 项目 | 月成本 |
|---|---|
| DigitalOcean 4 核 8GB VPS | $6 |
| AIHubMix(deepseek-v4-flash,月产 100 条短视频) | < $1 |
| edge-tts | $0(免费) |
| Pexels 素材 | $0(免费,API key 免费) |
| **合计** | **$7/月** |
对比 SaaS 短视频工具(Pictory / InVideo 月费 20-50 美金),省 70% 以上。
适合谁 / 不适合谁
适合:
- 自媒体创作者(周更 5-10 条短视频,AI 写文案 + 配字幕 + 找素材)
- 技术博主(把博客文章转成短视频导流)
- 跨境电商(批量生成产品介绍视频)
- 想要私有化部署、避免 SaaS 数据泄露的团队
不适合:
- 需要电影级画面的(这种走 Runway / Pika)
- 每条视频都要求严格品牌调性(AI 文案还是会有 AI 味)
- 完全不想碰命令行的(用剪映 + ChatGPT 手动拼更快)
我用下来的 3 个真实感受
1. **edge-tts 音质出乎意料**。一开始我以为免费的肯定很差,跑了 20 多条发现 zh-CN-XiaoxiaoNeural 跟真人录的差别不大("啊" "呢" 这种语气词会自动加上)。如果你做中文短视频,edge 完全够用,省下 Azure 的钱。
2. Pexels 素材质量比预期好。但注意:Pexels 是无版权的,但不是免署名的——商业用途最好在视频描述里加 "Footage from Pexels"。
3. **不要在 VPS 上启用 faster-whisper**。我在 4 核 8GB 无 GPU 的机器上试过一次 large-v3 模型(~3GB),光加载就花了 90 秒,转录一条 60 秒视频要 5 分钟。SUBTITLE_PROVIDER=edge 是 CPU 机器的最优解。
下一步可以做的
- 接 n8n:把"输入标题"做成 Telegram bot,我推一条消息,自动跑出视频推回 Telegram
- 接 GitHub Actions:定时任务每天生成 1 条"科技新闻"短视频推到 YouTube
- 接本地 Ollama:如果你机器有 24GB 显存(Mac Studio / RTX 4090),把 `LLM_PROVIDER=ollama` 完全本地化,零 API 成本
相关资源
- MoneyPrinterTurbo 官方仓库:github.com/harry0703/MoneyPrinterTurbo
- AIHubMix(LLM API 提供商):aihubmix.com
- 数字游民需要的 VPS 推荐:DigitalOcean(注册送 200 美金额度,60 天有效)
- 想批量跑可以加 n8n:n8n 自托管 Docker 部署实战
- 本地 AI 推理平台搭建:Ollama 私有 AI 推理平台实战
推广与披露
本文涉及的推广链接:
- AIHubMix:LLM API 服务,deepseek-v4-flash 模型用 1 美金跑了 100 多条文案,性价比极高
- DigitalOcean:我目前用的 VPS 厂商,4 核 8GB 月费 6 美金
- MiniMax:如果你想用 MiniMax API 跑 AI Coding Agent 工作流,这个平台有不错的免费额度
说明:我是这些工具的付费用户,本文基于 7 天实际使用经验编写,不接受任何厂商的内容审查。AI 写文案的"AI 味"在多轮 prompt 调优后能压到 20% 以下,但完全消除需要人工润色——别指望 100% 一键搞定。
> 📘 **拓展阅读**:如果你想从"AI 工具爱好者"升级到"AI Agent 工程师",我写的 AI Agent 持久化记忆方案 是从上下文压缩到工作流编排的完整进阶路线。
👉 **下一步推荐**:看完这篇先跑通单条,再读 n8n 自托管 Docker 部署 把它接入自动化工作流。
📌 This article was AI-assisted generated and human-reviewed | TechPassive — An AI-driven content testing site focused on real tool reviews
🔗 Recommended Tools
These are carefully selected tools. Using our affiliate links supports us to keep producing quality content: