Inspiration

Have you ever seen the TikTok videos of previous presidents and celebrities talking while playing Minecraft or Fortnite as a seperate video plays in the background? We discussed ways in which we could automate the creation of these videos and for an easy process to share more of these types of videos.

What it does

RACER is a content creation tool used for speedy automated video making. All you need is a reddit post to base the creation off of, a prompt in which one of OpenAI's chatGPT model will customize the reddit post, and a background video to play in the background for the viewer's enjoyment

How we built it

To build this we used Python to code the whole app, The python libraries used to create this app include: PRAW - The Python Reddit API Wrapper - https://praw.readthedocs.io/en/stable/ We used this to get specific post's from reddit.

OpenAI-Python - OpenAI offers a spectrum of models with different levels of power suitable for different tasks - https://platform.openai.com/docs/introduction We used open-AI to parse the reddit post and customize it to the user's liking.

ElevenLabs - One of The most realistic and versatile AI speech software, ever. - https://api.elevenlabs.io/docs We used ElevenLabs to mimic celebrity voices so that we could read text and create audio for our creation

Pytube - https://pytube.io/en/latest/ - https://pytube.io/en/latest/ We used Pytube for downloading videos from Youtube to use as the background.

MoviePy - Python module for video editing - https://zulko.github.io/moviepy/ We used MoviePy to render and create everything from the previous steps.

PYQT6 - Python library for creating the GUI- https://www.riverbankcomputing.com/static/Docs/PyQt6/ We used PYQT6 to create a nice was of working with the app.

PyInstaller - PyInstaller bundles a Python application and all its dependencies into a single package - https://pyinstaller.org/en/stable/ We planned on using this to bundle up everything into an executable but unfortunately ran into some issues with time and errors.

Challenges we ran into

spoiler... A LOT - many of the issues we ran into was caused by none of us having prior experience with many of the tools we used. The First of which was the the python GUI, we knew we wanted something to look at so we weren't typing everything into the command line, but we didn't know how many issues it would cause. After a while trying to work with it while building the app, we decided to overcome this obstacle by creating a Command line interface first and then the GUI later.

Another issue we ran into is when trying to create subtitles. We knew how to add text to the video, but struggled to create subtitles that were on time with the video. We ended up using a Function to separate the sentences, and from there were able to use those separated sentences as guidelines for how long each sentence lasted.

One of the last challenges we ran into involved Pyinstaller, we were attempting to bundles our Python application and all its dependencies into a single package but ran out of time after facing several errors during the development process.

Accomplishments that we're proud of

We are very proud of how this project turned out and how fun it is to make these short videos. We are proud of the efficiency we made to get this project done in 36 hours. We all put a lot of effort and hours into this project and couldn't have done it without each other.

What we learned

As a group, we learned how to work together efficiently. This helped tremendously as we were able to work on different parts of the project at the same time. We also learned that nothing ever is as easy as it seems. This helped us find alternative ways of problem solving in order to get the job done as best as it can be, and as fast as possible.

What's next for RACER

Future plans for RACER include adding options for multiple speakers so that we can add dialog into this app between different celebs/presidents. We also want to add functionality for collect multiple reddit posts and interacting with more than 1. We also want to eventually add functionality to the Upload to TikTok and Upload to Youtube buttons on the last page so we can share our content to others. Feel free to email any of us with suggestions/ideas you would like to see added to the app!

Built With

  • elevenlabs
  • moviepy
  • openai
  • praw
  • pyinstaller
  • pyqt6
  • python
Share this project:

Updates