Installation guide
harry0703/MoneyPrinterTurbo installation guide
MIT-licensed Python application that turns a topic, title, prompt, or script into a finished short video by generating a script, obtaining stock or AI-generated footage, synthesizing speech, creating subtitles, mixing music, and rendering an MP4; it offers WebUI, API, CLI, and AI-agent entry points, including a portable SKILL.md plus helper workflow that a terminal-capable Claude Code session could use, but no native Claude Code plugin, hook, or MCP integration is evidenced.
Install MoneyPrinterTurbo on macOS Tahoe (Apple silicon)
What you are installing
MoneyPrinterTurbo is an MIT-licensed Python application that turns a topic, keyword, or script into a short video. Its documented features include script generation, stock or local footage, text-to-speech, subtitles, background music, WebUI, API, and command-line interfaces. The repository requires Python 3.11 or newer and recommends Python 3.11. A GPU is optional; the documentation says cloud-based language models, cloud TTS, and online media sources place more importance on CPU and memory.
This guide uses the repository’s preferred macOS method: `uv`. The supplied documentation supports macOS 11 or newer, so macOS Tahoe meets the stated operating-system requirement. It does not provide a separate Apple-silicon procedure, require Rosetta, or document Apple-silicon-specific acceleration. Therefore, use the ordinary macOS commands below rather than adding undocumented architecture workarounds.
Relationship to Claude Code: **unclassified**
The repository includes a portable Agent Skill and says an AI agent with terminal, network, filesystem, and long-running-command support can use it to install the application and generate a finished video. However, the supplied first-party files do not explicitly document a native Claude Code plugin, hook, MCP server, Claude Code installation directory, or tested Claude Code integration. Mentions of Anthropic Claude as an LLM provider concern video-script generation, not extension of Claude Code. The Claude Code mechanism is therefore **unclassified** rather than assumed.
Before you begin
You need:
- A Mac running macOS Tahoe.
- At least 4 GB RAM; 8 GB is recommended and 16 GB or more is described as ideal.
- Internet access to clone the repository, install Python and dependencies, and use online model or media providers.
- Git available in Terminal, because the documented installation starts with `git clone`.
- Credentials for whichever cloud services you choose. The WebUI can store the LLM provider, media source, and related API keys. Edge TTS—shown in the WebUI as Azure TTS V1—does not need an API key. Other cloud services generally require their own credentials.
Do not paste API keys into commands shown in this guide. Configure them through the WebUI as documented. API usage, AI-generated footage, and automatic social publishing may involve third-party costs or data transfer.
1. Open Terminal
Open **Terminal** from macOS. Run each command block separately, then wait until it finishes before continuing. Commands beginning with `cd MoneyPrinterTurbo` expect the preceding clone command to have succeeded.
2. Install `uv`
The project recommends `uv` for Python and dependency management. Its Agent Skill supplies this macOS installation command:
curl -LsSf https://astral.sh/uv/install.sh | shWhen it finishes, follow any message printed by the installer about making `uv` available to your shell. If the current Terminal session still cannot find `uv`, close Terminal, reopen it, and continue. This guide does not substitute Homebrew or another installer because no corresponding command was supplied by the repository.
3. Download MoneyPrinterTurbo
Clone the public repository:
git clone https://github.com/harry0703/MoneyPrinterTurbo.gitThis creates a `MoneyPrinterTurbo` folder inside Terminal’s current directory. Enter it:
cd MoneyPrinterTurboKeep Terminal in this project root for the remaining commands. The WebUI script must be launched from the root directory.
4. Install Python 3.11 and locked dependencies
Ask `uv` to install the documented Python version:
uv python install 3.11Now synchronize the project using its lock file:
uv sync --frozenThe repository identifies `pyproject.toml` as its primary dependency definition and `uv.lock` as the lock file, and recommends `uv sync --frozen`. The project is an application rather than a Python package intended for publication. Let this step finish fully; media and transcription dependencies can make installation take some time.
The repository also documents a legacy `venv + pip` route, but do not combine it with this `uv` installation. The `uv` route is the preferred macOS path and provides the clearest reproducible setup from the supplied sources.
5. Start the WebUI
From the `MoneyPrinterTurbo` root, run:
sh webui.shThe script automatically uses the project virtual environment or `uv` and selects an available local port. The documentation says it should open a browser automatically. If the page is blank, it recommends trying Chrome or Edge.
On first launch, the application automatically creates `config.toml` from `config.example.toml`. You do not need to copy that file manually for this local `uv` installation. In the WebUI’s basic settings, choose and configure your language-model provider, footage source, and any required API keys. Treat `config.toml` as sensitive because it may contain credentials; do not publish it or paste its complete contents into support requests.
The project supports many provider choices, including Anthropic Claude, OpenAI, Gemini, Kimi/Moonshot, DeepSeek, Qwen, Azure OpenAI, Ollama, and compatible gateways. This is provider support inside MoneyPrinterTurbo and does not install Claude Code.
6. Create a first video
Use the WebUI to enter a subject or a custom script and select your desired settings. Documented options include portrait `1080x1920` video, landscape `1920x1080` video, subtitles, voice, background music, clip length, and multiple generated versions.
For a simple start, Edge TTS requires no API key. Online stock-footage providers such as Pexels or Pixabay require whatever credentials the interface requests. Review the terms, licensing, and cost rules of every selected provider. AI-generated footage and the documented Seedance path may create paid tasks; the repository specifically requires explicit confirmation before Seedance charges in its CLI workflow.
Generated background music comes from `resource/songs`, and subtitle fonts come from `resource/fonts`. The repository warns that some included music originated from YouTube and should be removed if it infringes rights, so verify that you have suitable rights before publishing a video.
To stop the WebUI, return to the Terminal window running it and use Terminal’s normal interrupt shortcut, **Control-C**.
7. Optional: use the command line
After configuration, you can generate a video without a browser. From the project root, the documented basic command is:
uv run python cli.py --video-subject "人工智能如何改变日常生活"Replace the quoted Chinese subject with your own topic while preserving the command structure. To see the application’s documented options:
uv run python cli.py --helpCLI subtitle style and voice settings use this priority: explicit CLI arguments, saved WebUI `[ui]` settings in `config.toml`, then built-in defaults. Other generation settings do not automatically inherit every WebUI value. If you selected uploaded custom audio in the WebUI, the CLI requires an explicit custom-audio argument; consult `--help` rather than guessing its syntax.
8. Optional: start the API
To run the application’s API service from the project root:
uv run python main.pyIts documented local API pages are:
- `http://127.0.0.1:8080/docs`
- `http://127.0.0.1:8080/redoc`
The API permits same-origin browser access by default. Do not change CORS settings unless you understand why a separately hosted browser frontend needs access.
Troubleshooting
If video processing reports that no FFmpeg executable can be found, the README says FFmpeg is normally downloaded and detected automatically. Its manual-download example is Windows-specific, so the supplied files do not support a macOS installation command to add here. Report the exact error through the repository’s issue tracker rather than using an invented package-manager command.
If macOS reports too many open files, first inspect the current limit:
ulimit -nThe repository documents this temporary increase:
ulimit -n 10240Then retry the failed operation from that Terminal session.
Whisper subtitles are optional; the default `edge` subtitle mode uses TTS timestamps and does not require a GPU. The `whisper` mode uses `faster-whisper`, and its first use downloads a model. The default `large-v3` model is approximately 3 GB, while the documented `large-v3-turbo` alternative is approximately 1.6 GB. Configure this only after the basic installation works.
For security vulnerabilities, do not publish technical details in a public issue. Use GitHub private vulnerability reporting when available; otherwise, open only a minimal public request for a private contact channel. The supplied files do not document update or uninstall commands, so none are recommended here.