As someone who has spent far too much time on TikTok/Instagram Reels/Reddit I have watched my fair share of the narrated story content detailing some outrageous reddit story - why not automate the entire pipeline and produce some of the content myself?
I created an application that scrapes Reddit's top story posts, cleanses, narrates/produces a video, and published to Instagram every hour on the hour.
Skills: Python, Flask, Meta Graph API, Gemini API, Google Cloud, TTS, PyMovie, Reddit Scraping
Theoretically this could all be hosted quite easily via cloud hosting, except a local hosting solution minimizes cost - rendering each video frame individually takes significant processing resources. As can be seen in the flowchart on the right, the locally hosted application first makes a call to Reddit for the top 'n' stories across a number of popular subreddits. If the post isn't already used from the 'Used Stories' database it is passed to Google Cloud Services for Gemini cleaning of the stories to make them easily narratable and then to their premium voice TTS models for narration.
Once a MP3 file is obtained, Pillow is used to produce a thumbnail image automatically which is then passed in a PyMovie subprocess to time the onscreen text to display during each of the breath pauses obtained from the TTS narration. A random sample of background gameplay is also selected that was taken from YouTube. Together once the video is processed it (and it's metadata) are saved in a temporary cache before being pushed to Meta's Instagram publishing service. This service runs every hour on the hour to generate content.
Videos were being watched by actual users with some engagement (typically 100-200 views per reel). More experimentation is needed going forward to optimize results but within the first week of running the application over 10,000 views were obtained.