MoneyPrinterTurbo:从关键词到成片,AI 短视频生成一站式教程
2026/9/15 16:46:14 网站建设 项目流程

MoneyPrinterTurbo:从关键词到成片,AI 短视频生成一站式教程

【免费下载链接】MoneyPrinterTurbo利用 AI 大模型和自动化工作流,根据主题或关键词一键生成高清短视频。Generate HD short videos from a topic or keyword with an automated AI workflow.项目地址: https://gitcode.com/GitHub_Trending/mo/MoneyPrinterTurbo

MoneyPrinterTurbo是一款AI 短视频生成工具:输入一个主题,它自动写文案、找无版权素材、配音、加字幕并合成成片,专给自媒体日更党、不想自己剪辑的运营人省时间。

它是什么:一个关键词进、成片出的自动化工厂

适合谁用?做口播类短视频、需要每天稳定产出却没时间剪片的博主。整个项目是MVC 架构(前端界面、业务逻辑、数据存取各管一摊的写法),MIT 协议,给你两个入口,点鼠标和写代码二选一:

  • Web 入口:Streamlit 页面,参数全部可视化,适合手动操作;
  • API 入口:FastAPI 服务,带在线调试文档,方便把视频生成嵌进自己的脚本。

两个入口跑的是同一套内部流程,产物一致。

部署:从克隆到出页面的四步

开工前先备齐下面三样东西:

  • Pexels API Key:素材来源,在 Pexels 官网免费申请,支持填多个 Key 轮换来避开限流;
  • 大模型 Key:国内网络环境推荐DeepSeekMoonshot,直连不用代理,注册即送额度;
  • Python 环境:建议 3.11,用 conda 隔离。
# 克隆仓库,建 3.11 隔离环境并装依赖 git clone https://gitcode.com/GitHub_Trending/mo/MoneyPrinterTurbo cd MoneyPrinterTurbo cp config.example.toml config.toml conda create -n mpt python=3.11 && conda activate mpt pip install -r requirements.txt sh webui.sh # Windows 用户双击 webui.bat

config.toml里真正必须改的只有素材 Key、大模型选择和模型 Key 三处:

[app] pexels_api_keys = ["你的PexelsKey"] # 素材来源,多个Key用逗号隔开 llm_provider = "deepseek" # 国内直连的大模型 deepseek_api_key = "你的APIKey"

跑通后两个入口的地址如下,MoneyPrinterTurbo 部署到这里就结束:

入口启动方式访问地址
Web 界面sh webui.shhttp://localhost:8501
REST APIpython main.pyhttp://localhost:8080/docs

另外两个隐藏依赖:ffmpeg 会自动下载,ImageMagick 需自行安装(Linux 一般自带,Windows 可能要手动配路径)。国内环境图省事可直接docker-compose up,Python 环境和 ImageMagick 都不用碰。

内部逻辑:原料→半成品→成品 三道工序

把整条流程想象成做菜:原料是主题词,半成品是文案和素材,成品是最终 mp4。三道工序各自独立,任何一道的产物都落在storage/tasks/<task_id>/里,方便单独取用。

工序一 语言关:先把话说对

任务编排模块 先让大模型按主题写出口播文案,紧接着从文案里反抽出 5 个英文搜索词,拿这些词去素材库找画面。成片好不好看,一半取决于这 5 个词抽得准不准——词偏了,画面就文不对题。不想听天由命的话,可以直接手动指定video_terms跳过这一步。

工序二 素材关:给视频配嗓子、配画面

字幕有两条路,选哪条取决于你在乎速度还是准确率:

模式速度质量配置成本
edge(默认)偶尔不稳,失败会自动降级到 whisper零配置,直接用
whisper识别更可靠首次要下载约 3GB 的 large-v3 模型,CPU/GPU 都能跑

语音合成默认走免费的Edge TTS,语音服务 直接拿它的词边界时间戳生成字幕,不额外吃配置。画面侧,素材服务 按搜索词去PexelsPixabay查视频,按目标分辨率(比如 9:16 对应 1080x1920)过滤,多个 Key 轮流使用;下载过的素材缓存在storage/cache_videos,再做同主题视频基本不用重复拉取。

工序三 合成关:剪片、贴字、混音

最后一步交给MoviePy:所有素材按video_clip_duration(默认 5 秒)切成小段再拼接,顺序支持随机和固定两种;批量生成时每条片用的随机顺序不同,等于一次产出几个候选版本让你挑。淡入淡出、滑动这类转场在 转场工具 里实现。音轨上,旁白默认音量 1.0,背景音乐默认 0.2,音乐取自resource/songs目录,随机或指定都行,最后字幕烧进画面,输出final-<序号>.mp4

出第一条成片:两条路各走一遍

走 Web 界面,四步搞定:

  1. "视频主题"填入主题词,文案区留空,让它自动写;
  2. 尺寸选9:16 竖屏,语音挑zh-CN-XiaoxiaoNeural-Female,先点试听;
  3. 字幕保持开启(edge 模式),背景音乐保持随机,片段时长保持 5 秒;
  4. 点生成,等两到五分钟,成片就在storage/tasks/<task_id>/final-1.mp4

走 API,提交任务拿task_id,再轮询任务状态取结果:

# 提交生成任务,一次出 2 条不同素材顺序的版本 curl -X POST http://localhost:8080/api/v1/videos \ -H "Content-Type: application/json" \ -d '{"video_subject":"金钱的作用","video_aspect":"9:16","video_count":2,"subtitle_enabled":true}'
# 任务完成后查询状态,videos 字段就是可直接播放的成片地址 curl http://localhost:8080/api/v1/tasks/<task_id>

所有接口都能在在线文档页直接点开试:

出错先看这张表

四个高频报错,对着查:

报错常见原因处理办法
AttributeError: 'str' object has no attribute 'choices'大模型调用失败,SDK 把错误字符串当响应返回,多是网络问题DeepSeek/Moonshot直连,或给 OpenAI 配openai_base_url代理
RuntimeError: No ffmpeg exe could be foundffmpeg 自动下载失败,通常网络受限手动下载 ffmpeg,在[app]里设ffmpeg_path指向实际路径
ImageMagick 报安全策略阻止操作@/tmp/...Linux 发行版policy.xml默认禁止读写@临时文件pattern="@"那条的rights="none"改成rights="read\|write"
OSError: [Errno 24] Too many open files合成时并发打开的文件数超系统上限ulimit -n 10240调高文件描述符上限后重跑

排不出来时优先怀疑两头:Key 是否真的生效、依赖是否真的装上。

进阶:改流水线与轻量用法

API 侧的任务状态默认存在内存里,重启即丢,只适合单实例;要多实例共享或跑高并发,把config.tomlenable_redis设为 true,状态会切到 Redis,并发上限由max_concurrent_tasks(默认 5)控制。还有个好用的小设计:流水线支持stop_at参数,可以停在文案、搜索词、音频、字幕、素材任意一环——API 里"只生成音频""只生成字幕"这些轻量接口就是这么实现的,只想要文案或配音的话,能省掉最耗时的素材下载。README 的后期计划还列着GPT-SoVITS配音、更多素材来源、转场效果优化、自动上传 YouTube 等方向,盯着仓库更新就行。

先把第一条 9:16 成片跑通,确认整条流程没问题,再去玩批量出片和自定义参数,节奏会顺很多。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询