Automatically turns Reddit threads into vertical short-form videos by collecting text, images, and clips, then composing captions, avatars, subtitles, and motion graphics into a ready-to-post Instagram Reel or TikTok.
Rendering one clip takes about two seconds on a modern workstation, so large batches of Reddit-proven content can be produced quickly.
GitHub (Source code):
https://github.com/artiehinz/Meme-generator-Reddit-to-Vertical-video
https://github.com/artiehinz/Meme-generator-Reddit-to-Vertical-video
Type
Non-commercial
Non-commercial
Year
2025
Role
Developer
2025
Role
Developer
Tools
Python, TensorFlow, MoviePy, Pillow, OpenCV, pytesseract
Python, TensorFlow, MoviePy, Pillow, OpenCV, pytesseract
Goal
Convert successful public Reddit content into Vertical clips with little manual work. Each run reads a post, builds the timeline, and exports a file that is ready for Instagram, TikTok, or YouTube Shorts.
Results
The pipeline delivers many clips per day with consistent formatting. Scheduled posts reached millions of impressions and now supply an internal marketing pipeline.
Examples
A variety of assets allows you to create content that is unique to Instagram algorithms and avoid automatic blocking. More examples in the profile.
Features
— Pulls hot or top posts for configured subreddits (src/meme_generator.py).
— Screens media with a TensorFlow NSFW model and OCR profanity filter.
— Builds 9:16 edits with overlays, LUTs, particles, emoji layers, and a watermark.
— Writes renders to output/<date>/rendered/ for upload.
— Screens media with a TensorFlow NSFW model and OCR profanity filter.
— Builds 9:16 edits with overlays, LUTs, particles, emoji layers, and a watermark.
— Writes renders to output/<date>/rendered/ for upload.
Quick Start
1) pip install -r requirements.txt
2) Copy .env.example -> .env, add Reddit API values, and set paths for FFmpeg, ImageMagick, and Tesseract if needed.
3) Download assets/models/nsfw.299x299.h5 or set NSFW_MODEL_URL
4) Populate the folders in assets/ with your media (see assets/README.md).
5) Run python src/meme_generator.py.
2) Copy .env.example -> .env, add Reddit API values, and set paths for FFmpeg, ImageMagick, and Tesseract if needed.
3) Download assets/models/nsfw.299x299.h5 or set NSFW_MODEL_URL
4) Populate the folders in assets/ with your media (see assets/README.md).
5) Run python src/meme_generator.py.
Customization
All creative assets live under assets/. Replace fonts, overlays, LUTs, emoji, audio beds, or watermarks to match your brand kit. The script uses whatever files you supply.
Open Source Toolki
TensorFlow & TensorFlow Hub (NSFW classifier)
MoviePy & ffmpeg-python (video composition)
OpenCV (frame sampling)
Pillow (image processing)
pytesseract (OCR)
Requests (HTTP fetching)
PRAW (Reddit API client)
All heavy assets remain local; only docs and placeholders are versioned. Add your media, run the script, and upload the rendered clips.
MoviePy & ffmpeg-python (video composition)
OpenCV (frame sampling)
Pillow (image processing)
pytesseract (OCR)
Requests (HTTP fetching)
PRAW (Reddit API client)
All heavy assets remain local; only docs and placeholders are versioned. Add your media, run the script, and upload the rendered clips.