MoneyPrinterTurbo explained: an AI-assisted short-video pipeline
Deploying MoneyPrinterTurbo: containers, ports and credentials
Make a reproducible private deployment before exposing creation endpoints
What you will learn
- Choose the container path
- Separate WebUI and API
- Check dependencies and persistence
Before you start
- A rights-cleared test topic
- One configured provider
- A private test environment
Use intermediate approvals to turn a generated artifact into a deliberate release decision
Key takeaways
- The documented release image uses a mutable latest tag.
- CORS is not authentication.
- FFmpeg preflight differs by stop stage.
Choose the container path
The README recommends `docker-compose.release.yml` for a prebuilt image and says `docker compose up` builds locally. The release compose pulls a `latest` image, so a reproducible production run should pin a tested image digest instead.
Before the first container start, the README says to copy `config.example.toml` to `config.toml` for its mount. Record Docker, image and provider versions as part of a release receipt.
Separate WebUI and API
The documented local WebUI is on port 8501 and API docs on 8080. Setting `MPT_WEBUI_HOST=0.0.0.0` allows LAN access, which changes who can reach the interface.
`CORS_ALLOWED_ORIGINS` controls browser cross-origin requests; it is not API authentication and does not restrict curl or server-to-server clients. Do not publish the ports directly without a separate access-control design.
Check dependencies and persistence
The shared task service probes FFmpeg before audio/video work; script and terms-only stages do not need it. Output files, configuration and task state need explicit persistence and backup rules if the container is replaced.
We did not deploy this compose stack or verify its security controls. Start on loopback or a private network, test a short job, then inspect logs and stored artifacts before broader access.
Decision guide
| Criterion | Option A | Option B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Implementation steps
- 1
Pin image digest and preserve configuration safely.
- 2
Keep WebUI and API behind deliberate access control.
- 3
Check FFmpeg, task storage and rollback.
Copy-ready example
image: pin-a-tested-digest
webui: private-port-8501
api: private-port-8080
config: mounted-and-backed-up
providers: scoped-keys
ffmpeg: preflight-checkedFrequently asked questions
Can CORS protect the API from scripts?
No. The README explicitly says CORS does not affect curl, Postman or server-side clients.
Does starting Docker prove providers work?
No. Keys, FFmpeg, media sources and a complete test job must be checked separately.
Sources
- MoneyPrinterTurbo / README-en.mdSource checked 2026-10-04
- MoneyPrinterTurbo / DockerfileSource checked 2026-10-04
- MoneyPrinterTurbo / docker-compose.ymlSource checked 2026-10-04
- MoneyPrinterTurbo / app/config/config.pySource checked 2026-10-04
- MoneyPrinterTurbo / app/services/task.pySource checked 2026-10-04
- MoneyPrinterTurbo / app/asgi.pySource checked 2026-10-04