Skol Norse News: News to Video Platform
Written by Vincent Buchner | Apr 10, 2025
Last Updated at April 10, 2025
Automating Event Reels with AI and Code
I developed a video compiler service that took the events from my college event board and converted them into a 60 seconds long Instagram reel. It ran automatically, using CRON jobs to scrap both the events from the college and the city of Decorah. That CRON job would grab the data, clean it, and the save it into my sqlite database. I developed a text sentiment analysis algorithm that then assigned weight to each of the events inside the database that was based on time and date, how frequent the event was (for example, Sunday mass was a frequent event but you probably wouldn’t report on it every other day), and how much context it had. That weight would then help decide which events would be shown for that video (usually 5 or 6 events). That same algorithm could be use to pull keywords from event titles, which I then used to query the Unsplash API to get images to display while the event was being featured.
This event data was great for understanding the event, but if you were to read it out loud for the video, it would sound really choppy and a bit like a cave man. To prevent this, I gave the event context to ChatGPT to write a short script about the event taking place and to make it sound exciting and influential. Just like that, I had a script for each one of my events that could then be read out loud. But who’s going to read the script? I could do it myself, but that would take time and defeat the whole “automated” goal. That’s why I reached out the PlayHT and utilized their API to have one of their voice models read the script and return the audio clip of them reading it.
At this point, I have the audio, the script, images, and the context for each of the events taking place: but no video. That’s when I decided to use Remotion: a React based video editor that allows you to make Adobe After Effect level videos using TypeScript. What makes Remotion so great is that it’s great for pipelining data into, meaning you can render certain things within your video depending on the data provided. So using the data I just collected on my backend, I built an API using Django Rest Framework that would then be fetched by Remotion and complied into an mp4. And because this was all done programmatically, I didn’t just stop at one video per run. Luther College has a lot of students from all over the world where English might not be their first language, so I created four accounts that would render then content in four separate languages: French, English, German, and Spanish. These videos where then pushed out to Instagram where they now currently live!