OpenSource-Hub

MoneyPrinterTurbo

Application

harry0703/MoneyPrinterTurbo

Generate short videos with one click using AI LLM.

Overview

MoneyPrinterTurbo is a web and API application that automatically generates high-quality short videos from a topic or keyword. It leverages AI for script writing, video material selection, subtitle generation, and background music, supporting multiple LLM providers and voice synthesis.

README Preview

\nMoneyPrinterTurbo 💸\n\n\n  \n  \n  \n  \n\n\n简体中文 | English\n\n  \n\n\n只需提供一个视频 主题 或 关键词 ,就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐,然后合成一个高清的短视频。\n\n\nWeb界面\n\n\n\nAPI界面\n\n\n\n\n\n## 功能特性 🎯\n\n- [x] 完整的 **MVC架构**,代码 **结构清晰**,易于维护,支持 `API` 和 `Web界面`\n- [x] 支持视频文案 **AI自动生成**,也可以**自定义文案**\n- [x] 支持多种 **高清视频** 尺寸\n    - [x] 竖屏 9:16,`1080x1920`\n    - [x] 横屏 16:9,`1920x1080`\n- [x] 支持 **批量视频生成**,可以一次生成多个视频,然后选择一个最满意的\n- [x] 支持 **视频片段时长** 设置,方便调节素材切换频率\n- [x] 支持 **中文** 和 **英文** 视频文案\n- [x] 支持 **多种语音** 合成,可 **实时试听** 效果\n- [x] 支持 **字幕生成**,可以调整 `字体`、`位置`、`颜色`、`大小`,同时支持`字幕描边`设置\n- [x] 支持 **背景音乐**,随机或者指定音乐文件,可设置`背景音乐音量`\n- [x] 视频素材来源 **高清**,而且 **无版权**,也可以使用自己的 **本地素材**\n- [x] 支持 **OpenAI**、**Moonshot**、**Azure**、**gpt4free**、**one-api**、**通义千问**、**Google Gemini**、**Ollama**、**DeepSeek**、**MiniMax**、 **文心一言**, **Pollinations**、**ModelScope** 等多种模型接入\n    - 中国用户建议使用 **DeepSeek** 或 **Moonshot** 作为大模型提供商(国内可直接访问,不需要VPN。注册就送额度,基本够用)\n\n## 视频演示 📺\n\n### 竖屏 9:16\n\n\n\n\n▶️ 《如何增加生活的乐趣》\n▶️ 《金钱的作用》更真实的合成声音\n▶️ 《生命的意义是什么》\n\n\n\n\n\n\n\n\n\n\n\n### 横屏 16:9\n\n\n\n\n▶️《生命的意义是什么》\n▶️《为什么要运动》\n\n\n\n\n\n\n\n\n\n\n## 配置要求 📦\n\n- 建议系统:Windows 10 或 MacOS 11.0 以上,或主流 Linux 发行版\n- GPU 不是必需项,但如果你希望本地转录、更快的视频处理或更顺畅的批量生成体验,建议使用带显存的独立显卡\n\n| 项目 | 最低配置 | 推荐配置 | 理想配置 |\n| --- | --- | --- | --- |\n| CPU | 4 核 | 6 到 8 核 | 8 核及以上 |\n| RAM | 4 GB | 8 GB | 16 GB 及以上 |\n| GPU | 非必须 | 4 GB 显存及以上 | 8 GB 显存及以上 |\n\n- 如果你主要依赖云端 LLM、云端 TTS 和在线素材源,CPU 与内存比 GPU 更重要\n- 如果你启用 `faster-whisper`、批量生成或更重的本地处理链路,GPU 会明显提升速度\n\n\n## 快速开始 🚀\n\n### 推荐使用方式\n\n- Windows 用户:优先使用一键启动包,适合快速体验\n- MacOS / Linux 用户:优先使用 `uv sync --frozen` 进行本地部署\n- 想要隔离运行环境:优先使用 Docker 部署\n\n### 在 Google Colab 中运行\n免去本地环境配置,点击直接在 Google Colab 中快速体验 MoneyPrinterTurbo\n\n[](https://colab.research.google.com/github/harry0703/MoneyPrinterTurbo/blob/main/docs/MoneyPrinterTurbo.ipynb)\n\n\n### Windows一键启动包\n\n下载一键启动包,解压直接使用(路径不要有 **中文**、**特殊字符**、**空格**)\n当前提供的安装包仍是 `v1.2.6` 的旧打包版本,建议下载后先执行 `update.bat` 更新到最新代码。\n\n- 百度网盘(v1.2.6): https://pan.baidu.com/s/1w

FAQ (4)

Troubleshooting
How to fix subtitles being cut off or overflowing when using large font sizes?

Update to the latest version from the main branch (commit bbf5342 or later). The subtitle rendering now automatically measures text width and wraps long lines (Chinese, English, or space-separated) to fit within the video width, preventing horizontal clipping. No configuration changes are needed.

GitHub Issue #909
Troubleshooting
Why does my generated video have no subtitles and incomplete audio when using a Chinese script?

This is caused by using an English voice (e.g., en-AU-NatashaNeural) with a Chinese script. The English voice fails to read the Chinese text properly, producing a very short audio (e.g., ~1.73s instead of ~37s) and breaking subtitle generation via Edge TTS. To fix: switch to a Chinese voice like zh-CN-XiaoxiaoNeural-Female, zh-CN-YunxiNeural-Male, or zh-CN-YunjianNeural-Male. If using Edge TTS for subtitles, ensure voice language matches script language. If fallback to Whisper is triggered, allow Docker outbound network to download the model or manually place it in the configured directory.

GitHub Issue #906
Troubleshooting
How to fix 'Insufficient Balance' error when generating video script with DeepSeek API?

This error means your DeepSeek API account has run out of credits. Log in to the DeepSeek platform, check your balance, and recharge if needed. Alternatively, in the WebUI, switch to another LLM provider (e.g., OpenAI) and enter a valid API key. Then restart the video generation.

GitHub Issue #989
Troubleshooting
How to speed up Pexels video downloads during generation?

The project already caches downloaded videos in the storage/cache_videos directory. If the same video URL is requested again, it uses the cached file instead of re-downloading. To check if caching is working, look for vid-xxxx.mp4 files in that folder. Slowdowns may occur because Pexels returns new video URLs each time, lowering cache hits. For advanced caching needs (size limits, expiry, search result caching), file a separate enhancement issue.

GitHub Issue #950