| 1 | <div align="center"> |
| 2 | <h1 align="center">MoneyPrinterTurbo 💸</h1> |
| 3 | |
| 4 | <p align="center"> |
| 5 | <a href="https://github.com/harry0703/MoneyPrinterTurbo/stargazers"><img src="https://img.shields.io/github/stars/harry0703/MoneyPrinterTurbo.svg?style=for-the-badge" alt="Stargazers"></a> |
| 6 | <a href="https://github.com/harry0703/MoneyPrinterTurbo/issues"><img src="https://img.shields.io/github/issues/harry0703/MoneyPrinterTurbo.svg?style=for-the-badge" alt="Issues"></a> |
| 7 | <a href="https://github.com/harry0703/MoneyPrinterTurbo/network/members"><img src="https://img.shields.io/github/forks/harry0703/MoneyPrinterTurbo.svg?style=for-the-badge" alt="Forks"></a> |
| 8 | <a href="https://github.com/harry0703/MoneyPrinterTurbo/blob/main/LICENSE"><img src="https://img.shields.io/github/license/harry0703/MoneyPrinterTurbo.svg?style=for-the-badge" alt="License"></a> |
| 9 | </p> |
| 10 | |
| 11 | <h3>English | <a href="README.md">简体中文</a> | <a href="README-ar.md">العربية</a></h3> |
| 12 | |
| 13 | <div align="center"> |
| 14 | <a href="https://trendshift.io/repositories/8731" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8731" alt="harry0703%2FMoneyPrinterTurbo | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> |
| 15 | </div> |
| 16 | |
| 17 | Simply provide a <b>topic</b> or <b>keyword</b> for a video, and it will automatically generate the video copy, video |
| 18 | materials, video subtitles, and video background music before synthesizing a high-definition short video. |
| 19 | |
| 20 | ### WebUI |
| 21 | |
| 22 |  |
| 23 | |
| 24 | ### API Interface |
| 25 | |
| 26 |  |
| 27 | |
| 28 | </div> |
| 29 | |
| 30 | ## Special Thanks 🙏 |
| 31 | |
| 32 | <table align="center"> |
| 33 | <tr> |
| 34 | <td align="center" width="160"> |
| 35 | <a href="https://aihubmix.com/?aff=CEve"><strong>AIHubMix</strong></a> |
| 36 | </td> |
| 37 | <td align="left"> |
| 38 | <sub>Thanks to <a href="https://aihubmix.com/?aff=CEve">AIHubMix</a> for sponsoring this project. AIHubMix deeply adapts to OpenAI, Claude, Gemini, DeepSeek, Zhipu, Qwen, and other leading models, providing one-stop access to GPT-5.5, deepseek-v4-flash, and 700+ models including free options with production-grade stability.</sub> |
| 39 | </td> |
| 40 | </tr> |
| 41 | |
| 42 | <tr> |
| 43 | <td align="center" width="160"> |
| 44 | <a href="https://www.byteplus.com/en/product/modelark?utm_campaign=hw&utm_content=MoneyPrinterTurbo&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=MoneyPrinterTurbo"><img src="docs/sponsors/byteplus-logo.svg" alt="BytePlus" height="25"></a><br> |
| 45 | <a href="https://www.byteplus.com/en/product/modelark?utm_campaign=hw&utm_content=MoneyPrinterTurbo&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=MoneyPrinterTurbo"><strong>BytePlus ModelArk</strong></a> |
| 46 | </td> |
| 47 | <td align="left"> |
| 48 | <sub>Thanks to Dola Seed for sponsoring this project! <a href="https://www.byteplus.com/en/product/modelark?utm_campaign=hw&utm_content=MoneyPrinterTurbo&utm_medium=devrel_tool_web&utm_source=OWO&utm_term=MoneyPrinterTurbo">Dola Seed 2.0</a> is a full-modal general large model independently developed by ByteDance for the global market. Built on a unified multimodal architecture, it supports joint understanding and generation of text, images, audio, and video. It natively enables agent collaboration, with strong reasoning, long-task execution, tool integration, and coding capabilities. Register via this link to get 500,000 tokens of free inference quota per model.</sub> |
| 49 | </td> |
| 50 | </tr> |
| 51 | <tr> |
| 52 | <td align="center" width="160"> |
| 53 | <a href="https://www.ccsub.net/register?ref=VCVDAWWY"><img src="docs/sponsors/ccsub-logo.png" alt="CCSub" height="36"></a><br> |
| 54 | <a href="https://www.ccsub.net/register?ref=VCVDAWWY"><strong>CCSub</strong></a> |
| 55 | </td> |
| 56 | <td align="left"> |
| 57 | <sub>Thanks to <a href="https://www.ccsub.net/register?ref=VCVDAWWY">CCSub</a> for sponsoring this project! CCSub is a stable, affordable AI API relay platform — your drop-in replacement for a Claude.ai subscription. One API key gives you access to Claude Opus 4.8, Sonnet, Haiku, GPT-5, and Gemini at roughly 30% of direct API cost, with no VPN required from anywhere in the world. Compatible with Claude Code, Codex, Cursor, Cline, Continue, Windsurf, and all major AI coding tools. Register at <a href="https://www.ccsub.net/register?ref=VCVDAWWY">www.ccsub.net</a> and get $5 free credit on sign-up.</sub> |
| 58 | </td> |
| 59 | </tr> |
| 60 | <tr> |
| 61 | <td align="center" width="160"> |
| 62 | <a href="https://www.compshare.cn/coding-plan?ytag=GPU_YY-git_MoneyPrinterTu"><img src="docs/sponsors/compshare-logo.png" alt="Compshare" height="34"></a><br> |
| 63 | <a href="https://www.compshare.cn/coding-plan?ytag=GPU_YY-git_MoneyPrinterTu"><strong>Compshare</strong></a> |
| 64 | </td> |
| 65 | <td align="left"> |
| 66 | <sub>Thanks to <a href="https://www.compshare.cn/coding-plan?ytag=GPU_YY-git_MoneyPrinterTu">Compshare</a> for sponsoring this project! Compshare is an AI cloud platform under UCloud that provides one-stop API access to mainstream Chinese and international models with a single key. Its CodingPlan package focuses on cost-effective Chinese models such as GLM5.2 and Deepseek-v4, while also offering stable official relay channels for overseas models across different development scenarios. It is compatible with Claude Code, Codex, and other mainstream AI coding tools and general API calls, with enterprise-grade high concurrency, 24/7 technical support, and self-service invoicing. <a href="https://www.compshare.cn/coding-plan?ytag=GPU_YY-git_MoneyPrinterTu">Register now</a> to receive up to ¥10 in free trial credits.</sub> |
| 67 | </td> |
| 68 | </tr> |
| 69 | <tr> |
| 70 | <td align="center" width="160"> |
| 71 | <a href="https://reccloud.com"><img src="docs/sponsors/reccloud-logo.svg" alt="RecCloud" height="36"></a><br> |
| 72 | <a href="https://reccloud.com"><strong>RecCloud</strong></a> |
| 73 | </td> |
| 74 | <td align="left"> |
| 75 | <sub>Due to the <strong>deployment</strong> and <strong>usage</strong> of this project, there is a certain threshold for some beginner users. We would like to express our special thanks to <a href="https://reccloud.com">RecCloud (AI-Powered Multimedia Service Platform)</a> for providing a free <code>AI Video Generator</code> service based on this project. It allows for online use without deployment, which is very convenient.</sub> |
| 76 | </td> |
| 77 | </tr> |
| 78 | <tr> |
| 79 | <td align="center" width="160"> |
| 80 | <a href="https://picwish.com"><img src="docs/sponsors/picwish-logo.svg" alt="Picwish" height="36"></a><br> |
| 81 | <a href="https://picwish.com"><strong>Picwish</strong></a> |
| 82 | </td> |
| 83 | <td align="left"> |
| 84 | <sub>Thanks to <a href="https://picwish.com">Picwish</a> for supporting and sponsoring this project, enabling continuous updates and maintenance. Picwish focuses on the <strong>image processing field</strong>, providing a rich set of <strong>image processing tools</strong> that extremely simplify complex operations, truly making image processing easier.</sub> |
| 85 | </td> |
| 86 | </tr> |
| 87 | </table> |
| 88 | |
| 89 | ## Features 🎯 |
| 90 | |
| 91 | - [x] Complete **MVC architecture**, **clearly structured** code, easy to maintain, supports both `API` |
| 92 | and `Web interface` |
| 93 | - [x] Supports **AI-generated** video copy, as well as **customized copy** |
| 94 | - [x] Supports various **high-definition video** sizes |
| 95 | - [x] Portrait 9:16, `1080x1920` |
| 96 | - [x] Landscape 16:9, `1920x1080` |
| 97 | - [x] Supports **batch video generation**, allowing the creation of multiple videos at once, then selecting the most |
| 98 | satisfactory one |
| 99 | - [x] Supports setting the **duration of video clips**, facilitating adjustments to material switching frequency |
| 100 | - [x] Supports video copy in both **Chinese** and **English** |
| 101 | - [x] Supports **multiple voice** synthesis, with **real-time preview** of effects |
| 102 | - [x] Supports **subtitle generation**, with adjustable `font`, `position`, `color`, `size`, and also |
| 103 | supports `subtitle outlining` |
| 104 | - [x] Supports **background music**, either random or specified music files, with adjustable `background music volume` |
| 105 | - [x] Video material sources are **high-definition** and **royalty-free**, and you can also use your own **local materials** |
| 106 | - [x] Supports multiple stock video providers: **Pexels**, **Pixabay**, and **Coverr** |
| 107 | - [x] Optional **TwelveLabs** video AI integration: use **Marengo** embeddings to semantically rank B-roll search terms against your subject, and **Pegasus** to QA/describe clips ([TwelveLabs API key](https://twelvelabs.io)) |
| 108 | - [x] Supports integration with various models such as **OpenAI**, **AIHubMix**, **AIML API**, **EvoLink**, **Moonshot**, **Azure**, **gpt4free**, **one-api**, **Qwen**, **Google Gemini**, **Ollama**, **DeepSeek**, **MiniMax**, **ERNIE**, **Pollinations**, **ModelScope** and more |
| 109 | |
| 110 | ## Video Demos 📺 |
| 111 | |
| 112 | ### Portrait 9:16 |
| 113 | |
| 114 | <table> |
| 115 | <thead> |
| 116 | <tr> |
| 117 | <th align="center"><g-emoji class="g-emoji" alias="arrow_forward">▶️</g-emoji> How to Add Fun to Your Life </th> |
| 118 | <th align="center"><g-emoji class="g-emoji" alias="arrow_forward">▶️</g-emoji> What is the Meaning of Life</th> |
| 119 | </tr> |
| 120 | </thead> |
| 121 | <tbody> |
| 122 | <tr> |
| 123 | <td align="center"><video src="https://github.com/harry0703/MoneyPrinterTurbo/assets/4928832/a84d33d5-27a2-4aba-8fd0-9fb2bd91c6a6"></video></td> |
| 124 | <td align="center"><video src="https://github.com/harry0703/MoneyPrinterTurbo/assets/4928832/112c9564-d52b-4472-99ad-970b75f66476"></video></td> |
| 125 | </tr> |
| 126 | </tbody> |
| 127 | </table> |
| 128 | |
| 129 | ### Landscape 16:9 |
| 130 | |
| 131 | <table> |
| 132 | <thead> |
| 133 | <tr> |
| 134 | <th align="center"><g-emoji class="g-emoji" alias="arrow_forward">▶️</g-emoji> What is the Meaning of Life</th> |
| 135 | <th align="center"><g-emoji class="g-emoji" alias="arrow_forward">▶️</g-emoji> Why Exercise</th> |
| 136 | </tr> |
| 137 | </thead> |
| 138 | <tbody> |
| 139 | <tr> |
| 140 | <td align="center"><video src="https://github.com/harry0703/MoneyPrinterTurbo/assets/4928832/346ebb15-c55f-47a9-a653-114f08bb8073"></video></td> |
| 141 | <td align="center"><video src="https://github.com/harry0703/MoneyPrinterTurbo/assets/4928832/271f2fae-8283-44a0-8aa0-0ed8f9a6fa87"></video></td> |
| 142 | </tr> |
| 143 | </tbody> |
| 144 | </table> |
| 145 | |
| 146 | ## System Requirements 📦 |
| 147 | |
| 148 | - Recommended platforms: Windows 10+, macOS 11+, or a mainstream Linux distribution |
| 149 | - A GPU is not required, but it is recommended if you want faster local transcription, faster video processing, or smoother batch generation |
| 150 | |
| 151 | | Item | Minimum | Recommended | Optimal | |
| 152 | | ---- | ------------ | ------------ | ---------- | |
| 153 | | CPU | 4 cores | 6 to 8 cores | 8+ cores | |
| 154 | | RAM | 4 GB | 8 GB | 16+ GB | |
| 155 | | GPU | Not required | 4+ GB VRAM | 8+ GB VRAM | |
| 156 | |
| 157 | - If you mainly rely on cloud LLMs, cloud TTS, and online material sources, CPU and RAM matter more than GPU |
| 158 | - If you use `faster-whisper`, batch generation, or heavier local processing, a GPU will improve throughput noticeably |
| 159 | |
| 160 | ## Quick Start 🚀 |
| 161 | |
| 162 | ### Recommended Paths |
| 163 | |
| 164 | - Windows users: use the one-click package first for the fastest local trial |
| 165 | - MacOS / Linux users: use `uv sync --frozen` for the primary local setup path |
| 166 | - If you want a more isolated runtime: use Docker deployment |
| 167 | |
| 168 | ### Run in Google Colab |
| 169 | |
| 170 | Want to try MoneyPrinterTurbo without setting up a local environment? Run it directly in Google Colab! |
| 171 | |
| 172 | [](https://colab.research.google.com/github/harry0703/MoneyPrinterTurbo/blob/main/docs/MoneyPrinterTurbo.ipynb) |
| 173 | |
| 174 | ### Windows |
| 175 | |
| 176 | Download the latest Windows one-click package from GitHub Releases, then extract it directly. |
| 177 | |
| 178 | - GitHub Release: https://github.com/harry0703/MoneyPrinterTurbo/releases/latest |
| 179 | |
| 180 | After downloading, it is recommended to **double-click** `update.bat` first to update to the **latest code**, then double-click `start.bat` to launch |
| 181 | |
| 182 | After launching, the browser will open automatically (if it opens blank, it is recommended to use **Chrome** or **Edge**) |
| 183 | |
| 184 | ### Other Systems |
| 185 | |
| 186 | One-click startup packages have not been created yet. See the **Installation & Deployment** section below. It is recommended to use **docker** for deployment, which is more convenient. |
| 187 | |
| 188 | ## Installation & Deployment 📥 |
| 189 | |
| 190 | ### Prerequisites |
| 191 | |
| 192 | #### ① Clone the Project |
| 193 | |
| 194 | ```shell |
| 195 | git clone https://github.com/harry0703/MoneyPrinterTurbo.git |
| 196 | ``` |
| 197 | |
| 198 | #### ② Modify the Configuration File |
| 199 | |
| 200 | - Copy the `config.example.toml` file and rename it to `config.toml` |
| 201 | - Follow the instructions in the `config.toml` file to configure `pexels_api_keys` and `llm_provider`, and according to |
| 202 | the llm_provider's service provider, set up the corresponding API Key |
| 203 | - To use the recommended multi-model provider, you can set `llm_provider` to `aihubmix` and enter the corresponding API key. |
| 204 | |
| 205 | ### Docker Deployment 🐳 |
| 206 | |
| 207 | #### ① Launch the Docker Container |
| 208 | |
| 209 | If you haven't installed Docker, please install it first https://www.docker.com/products/docker-desktop/ |
| 210 | If you are using a Windows system, please refer to Microsoft's documentation: |
| 211 | |
| 212 | 1. https://learn.microsoft.com/en-us/windows/wsl/install |
| 213 | 2. https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-containers |
| 214 | |
| 215 | ```shell |
| 216 | cd MoneyPrinterTurbo |
| 217 | docker compose -f docker-compose.release.yml up |
| 218 | ``` |
| 219 | |
| 220 | > The recommended default is `docker-compose.release.yml`, which pulls the prebuilt image from GitHub Container Registry: `ghcr.io/harry0703/moneyprinterturbo:latest`. |
| 221 | > If you need to build the image locally, you can still run `docker compose up`. |
| 222 | > Before the first start, make sure `config.toml` exists in the project root. You can copy it from `config.example.toml`. |
| 223 | |
| 224 | #### ② Access the Web Interface |
| 225 | |
| 226 | Open your browser and visit http://127.0.0.1:8501 |
| 227 | |
| 228 | #### ③ Access the API Interface |
| 229 | |
| 230 | Open your browser and visit http://127.0.0.1:8080/docs or http://127.0.0.1:8080/redoc |
| 231 | |
| 232 | ### Manual Deployment 📦 |
| 233 | |
| 234 | #### ① Create a Python Virtual Environment |
| 235 | |
| 236 | It is recommended to use [uv](https://docs.astral.sh/uv/) to manage the Python environment and dependencies, with Python `3.11` as the default runtime. |
| 237 | |
| 238 | ```shell |
| 239 | git clone https://github.com/harry0703/MoneyPrinterTurbo.git |
| 240 | cd MoneyPrinterTurbo |
| 241 | uv python install 3.11 |
| 242 | uv sync --frozen |
| 243 | ``` |
| 244 | |
| 245 | If you are not using `uv` yet, you can still use `venv + pip`. |
| 246 | |
| 247 | ```shell |
| 248 | python3.11 -m venv .venv |
| 249 | source .venv/bin/activate |
| 250 | pip install -r requirements.txt |
| 251 | ``` |
| 252 | |
| 253 | Notes: |
| 254 | |
| 255 | - `pyproject.toml` is now the primary dependency manifest. |
| 256 | - `uv.lock` pins the resolved environment, so `uv sync --frozen` is recommended by default. |
| 257 | - `requirements.txt` is kept only for legacy `pip`-based installation. |
| 258 | |
| 259 | #### ② Launch the Web Interface 🌐 |
| 260 | |
| 261 | Note that you need to execute the following commands in the `root directory` of the MoneyPrinterTurbo project |
| 262 | |
| 263 | ###### Windows |
| 264 | |
| 265 | ```powershell |
| 266 | .\webui.bat |
| 267 | ``` |
| 268 | |
| 269 | You can also run `webui.bat` in CMD. |
| 270 | `webui.bat` prefers the project `.venv` or bundled Python from the portable package. If no project Python is found but `uv` is installed, it automatically falls back to `uv run streamlit`. |
| 271 | To allow other devices on your LAN to access the WebUI, run `set MPT_WEBUI_HOST=0.0.0.0` before running `webui.bat`. |
| 272 | |
| 273 | ###### MacOS or Linux |
| 274 | |
| 275 | ```shell |
| 276 | uv run streamlit run ./webui/Main.py --browser.gatherUsageStats=False --server.showEmailPrompt=False |
| 277 | ``` |
| 278 | |
| 279 | If you have already activated the virtual environment manually, you can still run: |
| 280 | |
| 281 | ```shell |
| 282 | sh webui.sh |
| 283 | ``` |
| 284 | |
| 285 | After launching, the browser will open automatically |
| 286 | |
| 287 | #### ③ Launch the API Service 🚀 |
| 288 | |
| 289 | ```shell |
| 290 | uv run python main.py |
| 291 | ``` |
| 292 | |
| 293 | If you have already activated the virtual environment manually, you can still run: |
| 294 | |
| 295 | ```shell |
| 296 | python main.py |
| 297 | ``` |
| 298 | |
| 299 | #### ④ Pure CLI Mode (No Browser) ⌨️ |
| 300 | |
| 301 | If you cannot use a browser or port forwarding, you can generate videos directly from the command line: |
| 302 | |
| 303 | ```shell |
| 304 | uv run python cli.py --video-subject "The Role of Money" |
| 305 | ``` |
| 306 | |
| 307 | You can also provide local materials and control the stop stage: |
| 308 | |
| 309 | ```shell |
| 310 | uv run python cli.py \ |
| 311 | --video-subject "The Role of Money" \ |
| 312 | --video-source local \ |
| 313 | --video-materials "1.mp4,2.mp4" \ |
| 314 | --stop-at video |
| 315 | ``` |
| 316 | |
| 317 | ## Voice Synthesis 🗣 |
| 318 | |
| 319 | A list of all supported voices can be viewed here: [Voice List](./docs/voice-list.txt) |
| 320 | |
| 321 | The default TTS provider is **Edge TTS** (free, no API key required). In the WebUI it appears as **"Azure TTS V1"** — this is the same thing. To switch voices, set `voice_name` in `config.toml` or select one from the WebUI voice dropdown. |
| 322 | |
| 323 | > **Note:** "Azure TTS V1" (Edge TTS, free) and "Azure TTS V2" (paid Azure Speech SDK) are two different options in the WebUI. Only V2 requires an Azure API key. |
| 324 | |
| 325 | To use higher-quality **Azure TTS V2** voices, configure your Azure Speech credentials in `config.toml`: |
| 326 | |
| 327 | ```toml |
| 328 | [azure] |
| 329 | speech_key = "your-azure-speech-key" |
| 330 | speech_region = "eastus" |
| 331 | ``` |
| 332 | |
| 333 | Azure TTS V2 voices require an [Azure Speech Services](https://portal.azure.com/) subscription. The 9 Azure voices added in v1.1.2 sound noticeably more natural than Edge TTS for most use cases. |
| 334 | |
| 335 | ## Subtitle Generation 📜 |
| 336 | |
| 337 | Currently, there are 2 ways to generate subtitles: |
| 338 | |
| 339 | - **edge**: Uses Edge TTS timestamps to align subtitles. Fast, no GPU required, works on any machine. Accuracy depends on the TTS timing signal — occasionally misaligns on complex sentences. |
| 340 | - **whisper**: Runs `faster-whisper` locally to transcribe the generated audio and produce word-level timestamps. Slower (a few seconds to ~1 minute per clip on CPU depending on model size), requires downloading a model (~250 MB for `large-v3-turbo`, ~3 GB for `large-v3`), but produces more accurate subtitles regardless of TTS provider. |
| 341 | |
| 342 | You can switch between them by modifying the `subtitle_provider` in the `config.toml` configuration file |
| 343 | |
| 344 | It is recommended to use `edge` mode, and switch to `whisper` mode if the quality of the subtitles generated is not |
| 345 | satisfactory. |
| 346 | |
| 347 | > Note: |
| 348 | > |
| 349 | > 1. In whisper mode, you need to download a model file from HuggingFace, about 3GB in size, please ensure good internet connectivity |
| 350 | > 2. If left blank, it means no subtitles will be generated. |
| 351 | |
| 352 | > Since HuggingFace is not accessible in China, you can use the following methods to download the `whisper-large-v3` model file |
| 353 | |
| 354 | Download links: |
| 355 | |
| 356 | - Baidu Netdisk: https://pan.baidu.com/s/11h3Q6tsDtjQKTjUu3sc5cA?pwd=xjs9 |
| 357 | - Quark Netdisk: https://pan.quark.cn/s/3ee3d991d64b |
| 358 | |
| 359 | After downloading the model, extract it and place the entire directory in `.\MoneyPrinterTurbo\models`, |
| 360 | The final file path should look like this: `.\MoneyPrinterTurbo\models\whisper-large-v3` |
| 361 | |
| 362 | ``` |
| 363 | MoneyPrinterTurbo |
| 364 | ├─models |
| 365 | │ └─whisper-large-v3 |
| 366 | │ config.json |
| 367 | │ model.bin |
| 368 | │ preprocessor_config.json |
| 369 | │ tokenizer.json |
| 370 | │ vocabulary.json |
| 371 | ``` |
| 372 | |
| 373 | ## Background Music 🎵 |
| 374 | |
| 375 | Background music for videos is located in the project's `resource/songs` directory. |
| 376 | |
| 377 | > The current project includes some default music from YouTube videos. If there are copyright issues, please delete |
| 378 | > them. |
| 379 | |
| 380 | ## Subtitle Fonts 🅰 |
| 381 | |
| 382 | Fonts for rendering video subtitles are located in the project's `resource/fonts` directory, and you can also add your |
| 383 | own fonts. |
| 384 | |
| 385 | ## Common Questions 🤔 |
| 386 | |
| 387 | ### ❓RuntimeError: No ffmpeg exe could be found |
| 388 | |
| 389 | Normally, ffmpeg will be automatically downloaded and detected. |
| 390 | However, if your environment has issues preventing automatic downloads, you may encounter the following error: |
| 391 | |
| 392 | ``` |
| 393 | RuntimeError: No ffmpeg exe could be found. |
| 394 | Install ffmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable. |
| 395 | ``` |
| 396 | |
| 397 | In this case, you can download ffmpeg from https://www.gyan.dev/ffmpeg/builds/, unzip it, and set `ffmpeg_path` to your |
| 398 | actual installation path. |
| 399 | |
| 400 | ```toml |
| 401 | [app] |
| 402 | # Please set according to your actual path, note that Windows path separators are \\ |
| 403 | ffmpeg_path = "C:\\Users\\harry\\Downloads\\ffmpeg.exe" |
| 404 | ``` |
| 405 | |
| 406 | ### ❓ImageMagick is not installed on your computer |
| 407 | |
| 408 | > **This error no longer applies to the current version.** |
| 409 | > |
| 410 | > Since the project upgraded to **MoviePy 2.x**, subtitle rendering uses **Pillow** instead of ImageMagick. You do not need to install ImageMagick. If you are seeing this error, you may be running an older version of the code — run `git pull` to update, or use `update.bat` on Windows. |
| 411 | |
| 412 | ### ❓OSError: [Errno 24] Too many open files |
| 413 | |
| 414 | This issue is caused by the system's limit on the number of open files. You can solve it by modifying the system's file open limit. |
| 415 | |
| 416 | Check the current limit: |
| 417 | |
| 418 | ```shell |
| 419 | ulimit -n |
| 420 | ``` |
| 421 | |
| 422 | If it's too low, you can increase it, for example: |
| 423 | |
| 424 | ```shell |
| 425 | ulimit -n 10240 |
| 426 | ``` |
| 427 | |
| 428 | ### ❓Whisper model download failed, with the following error |
| 429 | |
| 430 | ``` |
| 431 | LocalEntryNotFoundError: Cannot find an appropriate cached snapshot folder for the specified revision on the local disk and |
| 432 | outgoing traffic has been disabled. |
| 433 | To enable repo look-ups and downloads online, pass 'local_files_only=False' as input. |
| 434 | ``` |
| 435 | |
| 436 | or |
| 437 | |
| 438 | ``` |
| 439 | An error occurred while synchronizing the model Systran/faster-whisper-large-v3 from the Hugging Face Hub: |
| 440 | An error happened while trying to locate the files on the Hub and we cannot find the appropriate snapshot folder for the |
| 441 | specified revision on the local disk. Please check your internet connection and try again. |
| 442 | Trying to load the model directly from the local cache, if it exists. |
| 443 | ``` |
| 444 | |
| 445 | Solution: [Click to see how to manually download the model from netdisk](#subtitle-generation-) |
| 446 | |
| 447 | ## Feedback & Suggestions 📢 |
| 448 | |
| 449 | - You can submit an [issue](https://github.com/harry0703/MoneyPrinterTurbo/issues) or |
| 450 | a [pull request](https://github.com/harry0703/MoneyPrinterTurbo/pulls). |
| 451 | |
| 452 | ## License 📝 |
| 453 | |
| 454 | Click to view the [`LICENSE`](LICENSE) file |
| 455 | |
| 456 | ## Star History |
| 457 | |
| 458 | [](https://star-history.com/#harry0703/MoneyPrinterTurbo&Date) |
| 459 |