lancekeay.com
Writing · Tool review · 16 Oct 2026 · 3 min read

MoneyPrinterTurbo: a topic in, a vertical video out

One API call turns a topic into a finished vertical video. It is a template filler, not an editor.

Lance Keay · software developer, writing from a homelab in the UK
The short version
  • Topic in, finished 9:16 video out, from one API call, with no account anywhere.
  • It cuts clips to fixed lengths and lays them under the voice. With my own clips, the footage had nothing to do with the words.
  • I cannot speak to the "$6,000 to $10,000 a month" claims. I tested the software, not the business.

What the posts claim

Give it one topic and it writes the script, finds HD stock footage, adds voiceover, subtitles and music, and exports a finished video. It works with Claude, GPT, Gemini, DeepSeek and others. One post says "80k+ stars, MIT licence". Another says it is the pipeline behind faceless channels "earning $6,000 to $10,000 a month".

What it really is

MoneyPrinterTurbo is MIT-licensed Python: a FastAPI service, a Streamlit web UI and a CLI, with MoviePy and ffmpeg doing the editing. When I checked it had about 132,000 stars, not 80k, and was being pushed to daily.

The pipeline is: an LLM writes the script, then search terms, then footage, speech, subtitles, clips cut to the voice length, music mixed in, and an MP4. Every stage can be overridden with your own script, audio or clips.

Things to know before you use it:

  • Many paid providers are wired in, some with affiliate links in the README.
  • "Publish to TikTok, Instagram, YouTube Shorts" goes through upload-post.com, a paid third party that holds your social accounts. I did not use it.
  • The bundled background music (29 MP3s) is "from YouTube videos". The README says to delete them if there are copyright issues. Do not use them on a monetised channel.

What I ran

Upstream's Dockerfile no longer builds (it targets Debian bullseye, and its apt step now fails) and it defaults to Chinese apt and PyPI mirrors. So I wrote my own: Python 3.11 on bookworm with official mirrors, 2.95 GB. The voice was a local Kokoro server instead of the default Edge TTS, which calls Microsoft's online service. Subtitle timing came from local Whisper (base). The script came from a free model through my homelab gateway. Footage was five synthetic six-second clips and a synthetic chord pad, standing in for Pexels footage and the bundled songs.

What happened

Topic: Why sunsets are red. One POST /api/v1/videos, then polling. Four sentences of script, Kokoro's af_heart voice, sentence-level subtitles, music at 15 per cent.

200 seconds end to end on 6 CPUs (310 seconds the first time, including the Whisper download). The output was a 34-second, 1080x1920 H.264 file of 11 MB, which I re-encoded to 720x1280 at 2.4 MB so it plays on a phone. The subtitles were readable, well placed and in sync. My eight tests for the config, request body and task-state mapping passed.

What did not work

  • With your own clips the footage just cycles. Real channels need stock search (a free Pexels key) or generated visuals.
  • Audio is not loudness-normalised. Mean level was -29 dB; YouTube wants about -14 LUFS, so you need a loudnorm pass.
  • Files the container writes were not readable from WSL (0600 on a Windows mount), so my run script copies them out.
  • The output looks like every other faceless short: stock clips, centred captions, a voice. Fine for volume, weak on originality.

Verdict

Useful as an assembly line, not as a channel in a box. The REST API is good for automation: task ids, progress, a folder per task with the script, audio, subtitles and video. Feed it your own script, your own voice and your own visuals and it will cut, caption, mix and export many variants. Real footage needs a free Pexels or Pixabay account; posting needs a Google Cloud project for YouTube, or the paid upload-post.com plan.

Draft status: one topic, synthetic footage. If you think I got something wrong, tell me and I will correct the post and say so at the top.