Tech stack badges
VideoText Maker is a blazing‑fast, low‑RAM text‑to‑video generator designed for cloud environments, CI pipelines, and lightweight VPS setups.
It produces narrated videos using edge‑tts, Pillow, and FFmpeg — without heavy frameworks like MoviePy.
This build is engineered for extreme efficiency:
- ⚡ ~30MB RAM usage (instead of ~500MB)
- 🚀 Zero in‑memory video buffers
- 🔥 Stream‑based pipeline
- 🧩 Perfect for Railway, Render, Fly.io, VPS, CI/CD
- 🎙️ High‑quality TTS via edge‑tts (Microsoft neural voices)
- 🖼️ Text‑to‑frame rendering using Pillow
- 🎞️ Video assembly via FFmpeg (chunked, stream‑safe)
- 🧠 Low‑RAM architecture — no MoviePy, no numpy
- 🌐 Web UI included (Flask)
- 📦 Cloud‑ready (Procfile included)
A fully streaming pipeline:
Text → TTS → PNG frames → MP4 chunks → Final video
-
edge‑tts (CLI)
Stable subprocess‑based TTS generation. -
Pillow
Lightweight frame rendering without numpy overhead. -
FFmpeg
Chunked MP4 assembly + final concat (no re‑encoding).
.
├── app.py
├── requirements.txt
├── templates/
│ └── index.html
├── static/
├── output/
└── temp/
sudo apt update
sudo apt install ffmpeg
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt-
Install:
- Python 3.10+
- FFmpeg (add to PATH)
-
Verify:
ffmpeg -version- Install dependencies:
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txtbrew install ffmpeg
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtpython app.pyOpen in browser:
http://localhost:5000
Procfile
web: python app.py
For production Flask:
web: gunicorn app:app
MoviePy:
- ❌ ~500MB RAM
- ❌ Slow rendering
- ❌ Unstable in containers
This project:
- ✅ ~30MB RAM
- ✅ FFmpeg streaming
- ✅ CI/CD‑friendly
- ✅ Zero heavy dependencies
- Audio and video generation are fully separated
- No large in‑memory buffers
- Subprocess‑based FFmpeg pipeline
- Stream‑copy concatenation (no re‑encoding)
- Designed for low‑RAM cloud environments
- Parallel TTS generation
- Subtitle (SRT) support
- Improved Web UI
- Docker image
MIT