MoneyPrinterTurbo
Maintained MIT-licensed Python pipeline for turning a topic or supplied script into narrated short-form videos from local or licensed stock footage. Recommend it for high-throughput stock-footage explainers; keep HyperFrames as the default for bespoke, deterministic, code-authored motion.
Recommendation
Use MoneyPrinterTurbo when the job is topic or approved script → several stock-footage voiceover shorts and throughput matters more than individually authored scenes. It can generate or accept a script, derive search terms, pull Pexels/Pixabay/Coverr footage or use local assets, synthesize speech, create subtitles and music, render 9:16/16:9/1:1 variants, and expose CLI, API, and WebUI surfaces. It also supports optional automatic cross-platform publishing through Upload-Post. Source: current README and source at cb3f1a2, 2026-08-11
Do not route a designed product launch, code walkthrough, data animation, exact brand motion system, or frame-reproducible explainer here by default. HyperFrames remains the recommended route for those artifacts. MoneyPrinterTurbo is the assembly engine for a different job shape, not HyperFrames' replacement.
Run only a project-scoped, revision-pinned pilot. Keep publishing disabled, bind locally, use an untracked restricted config or project secret store, and require the Content Pipeline Workflow rights, claims, inspection, approval, and publication receipt. No standing auto-post authority is implied.
Current identity and reproduced proof
| Surface | Verified snapshot |
|---|---|
| Source | harry0703/MoneyPrinterTurbo@cb3f1a2a7847798fe0479a1a277ba411fa28bfc4, committed 2026-08-11 |
| Release | v1.3.3 at b4218dd, published 2026-07-24 |
| Adoption | 102,553 stars, 15,476 forks, 19 open issues at replay |
| Runtime | Python 3.11+, uv.lock, CLI, FastAPI, Streamlit, Docker |
| License | MIT for the repository code; inputs, models, voices, music, stock, and platforms retain separate terms |
| Local proof | Ruff pass; 530 tests pass, 11 skip, 4,069 subtests pass; 74% measured branch coverage on Python 3.13 |
| Upstream proof | Current HEAD checks pass on Python 3.11, Python 3.13, Windows smoke, and container build/publish |
The bookmark image is an older README screenshot showing 58K stars and WebUI version 1.2.6. The post text says 13K stars, while one reply says 31K. These are historical promotional snapshots, not current identity. The frozen repository and GitHub API are the version authorities. The post's $6,000–10,000/month, “copyright-free,” “no usage limits,” and universal-free claims are not established by repository behavior and must not be repeated as facts. Source: X/@Atenov_D and preserved image, 2026-05-25; GitHub API, 2026-08-11
Surfaces and boundaries
CLI and local batch assembly
The CLI supports generated or supplied scripts, generated or supplied material terms, local or remote footage, multiple outputs, configurable aspect ratios, TTS, subtitles, transitions, music, and stage stops. This is the best automation surface for a bounded pilot because its inputs, task ID, output directory, and logs can be captured. A real run still invokes external providers unless every selected component and source is local.
API and WebUI
The FastAPI service defaults to listen_host = "0.0.0.0", permissive CORS, and commented-out authentication dependencies. It mounts generated task files and exposes video-generation/task endpoints. The supplied Docker Compose maps WebUI and API ports to 127.0.0.1, but running python main.py directly does not inherit that host restriction. Keep it loopback-only unless a separate authenticated, rate-limited, TLS-terminated gateway owns access and file exposure. Source: config.example.toml, app/asgi.py, app/controllers/v1/video.py, and docker-compose.yml at cb3f1a2
Cross-platform publishing
Upload-Post support can send videos to TikTok, Instagram, and YouTube; config can automatically upload after generation, and the default YouTube visibility setting is public. The code marks YouTube uploads as synthetic media, but that field does not replace platform-specific disclosure, account authority, claims, or rights review. Keep upload_post_enabled = false and upload_post_auto_upload = false in generation environments. Publishing is a separate approved action after inspection. Source: app/services/upload_post.py, current config, and Upload-Post API docs, 2026-08-11
Upstream Agent Skill: useful signal, guarded import
The repository now ships docs/skill/SKILL.md and a 640-line helper. That changes the old verdict: MoneyPrinterTurbo is an agent-facing capability. The helper safely rejects ZIP path traversal, avoids logging credential values, writes an atomic result manifest, uses uv sync --frozen, and captures generation logs. Its own tests are included in the passing suite.
Do not install that skill unchanged into Kevin's runtime. At the frozen source:
- skill metadata says 1.3.2 while the app and release are 1.3.3;
- installation downloads unpinned
refs/heads/main.zipinto~/MoneyPrinterTurbowithout archive/hash identity; - instructions tell the agent not to ask before installation or generation;
- the helper writes provider and stock API keys into
config.tomland may reuse any configured provider it finds; - dependency sync and provider calls start automatically once credentials exist;
- forcing the final
videostage can trigger pre-existing automatic cross-post configuration; - defaults assume a Chinese 9:16 Pexels/Edge-TTS/music video rather than a user-approved production brief.
A future local adapter must freeze the repository commit and dependency lock, use a project-owned directory, present install/provider/cost/asset/publish plans before side effects, isolate secrets, force publishing off, accept an explicit brief, and return source/asset/license/provider/render/review receipts. Until that adapter exists, follow this page and the canonical workflow manually; do not advertise /moneyprinter-turbo as installed.
Rights and evidence contract
“Free stock” is not “copyright-free.” For every selected asset, retain provider, asset URL/ID, creator, download time, license/terms snapshot, intended use, and any required attribution or release review.
- Pexels permits broad free use but restricts standalone redistribution, misleading endorsement, trademarks, competing services, and unauthorized bulk/ML collection. API users remain subject to the same terms. Source: Pexels license and API terms guidance, checked 2026-08-11
- Pixabay permits modification into new works but restricts standalone distribution, deceptive use, sensitive/illegal contexts, trademarks, and uses needing third-party consent. Source: Pixabay license summary and terms, checked 2026-08-11
- Coverr permits commercial use under its current license, requires attribution for free downloads, restricts competing services and AI training/datasets, and does not guarantee every trademark/property/release for the intended use. Source: Coverr license, checked 2026-08-11
Do not use the repository's bundled default songs: its README says some came from YouTube videos and should be deleted if infringement occurs. Use owned or separately licensed music with a receipt. Sponsor and affiliate relay links in the README are advertisements, not trusted provider recommendations; choose providers through the canonical routing/security process.
Admission checklist
- Freeze source commit, tree,
uv.lock, runtime, selected providers/models/voices, and output brief. - Set local bind, restrictive CORS/gateway policy, bounded queue/concurrency, restricted secret storage, and both publishing flags false.
- Use an approved script or verify every generated claim against primary evidence.
- Record every visual, audio, voice, font, model, and platform right; reject the bundled YouTube-sourced music.
- Render a local draft with stable task ID, command/config-field manifest, logs, asset IDs, provider/cost ledger, and output hash.
- Inspect all frames/safe areas, captions, audio, pacing, identity, trademarks, claims, disclosure, accessibility, and platform-native playback.
- Obtain explicit human approval for the exact output, accounts, platforms, visibility, caption, disclosure, and schedule.
- Publish through the approved service boundary; retain platform IDs, receipts, errors, takedown owner, and measured outcome.
Timeline
- 2026-08-11 | Replayed the complete high-signal bookmark, self-thread, four artifact replies, five resolved links, preserved image, current repository, release, official Agent Skill, helper, config, API, WebUI, publishing implementation, tests, and current stock-provider terms. Replaced the stale low-priority verdict: recommend MoneyPrinterTurbo for high-throughput stock-footage narrated shorts under the content workflow; retain HyperFrames as the designed deterministic-video default. Source:
.brain/artifacts/x/2058868770257416239/moneyprinter-turbo/capture-manifest.md - 2026-06-30 | Earlier review confirmed the real upstream repository but incorrectly treated the tool as outside the agent harness and let the promotional source's Telegram link dominate the capability verdict. The replay separates source credibility from upstream utility.
- 2026-05-25 | @Atenov_D surfaced the repository. The high engagement is a prioritization signal, not proof of income, rights, output quality, or safe automation. Source: X/@Atenov_D