How to Set Up RedditVideoMakerBot Environment: Complete Installation Guide

To set up RedditVideoMakerBot environment, clone the elebumm/RedditVideoMakerBot repository, create a Python 3.10 virtual environment, install dependencies via pip, configure Playwright browsers, and populate config.toml with Reddit API credentials before running python main.py.

RedditVideoMakerBot is a Python 3.10-compatible application that automates the creation of short-form videos from Reddit content. The tool orchestrates PRAW for Reddit data collection, Playwright for screenshot generation, and FFmpeg for video stitching. This guide walks through the complete environment setup using the actual source code structure in the elebumm/RedditVideoMakerBot repository.

Prerequisites and System Requirements

Before installation, ensure your system meets the following requirements:

  • Python 3.10 (required for compatibility with the codebase)
  • Git for cloning the repository
  • Reddit API credentials (script-type application from the Reddit developer portal)
  • FFmpeg (automatically installed by utils/ffmpeg_install.py if missing)

The entry point main.py validates dependencies and configuration before executing the video pipeline.

Step-by-Step Installation Process

Clone the Repository and Create Virtual Environment

First, clone the repository and navigate into the directory:

git clone https://github.com/elebumm/RedditVideoMakerBot.git
cd RedditVideoMakerBot

Create and activate a Python 3.10 virtual environment:


# Windows

python -m venv ./venv
.\venv\Scripts\activate

# macOS/Linux

python3 -m venv ./venv
source ./venv/bin/activate

Install Python Dependencies and Playwright

Install the required packages from requirements.txt:

pip install -r requirements.txt

Install Playwright browsers and system dependencies:

python -m playwright install
python -m playwright install-deps

Verify FFmpeg Installation

The first run of main.py automatically checks for FFmpeg via utils/ffmpeg_install.py. If missing, the script prompts to download the appropriate binary for Windows, Linux, or macOS. Alternatively, install FFmpeg manually before running:


# Windows (Chocolatey)

choco install ffmpeg

# Linux (Ubuntu/Debian)

sudo apt install ffmpeg

# macOS (Homebrew)

brew install ffmpeg

Configuring Reddit API Credentials

Create your configuration file by copying the template:

cp utils/.config.template.toml config.toml

Edit config.toml with your Reddit API credentials. The [reddit.creds] section in utils/settings.py validates these values against the schema in utils/.config.template.toml:

[reddit.creds]
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
username = "YOUR_REDDIT_USERNAME"
password = "YOUR_REDDIT_PASSWORD"
2fa = false

For thread selection, configure the [reddit.thread] section:

[reddit.thread]
random = false
subreddit = "AskReddit+RedditDev"

Setting Up Text-to-Speech (TTS)

Configure Voice Settings

Choose your TTS provider under [settings.tts] in config.toml. The video_creation/voices.py module routes audio generation to the selected engine:

[settings.tts]
voice_choice = "tiktok"
tiktok_sessionid = "YOUR_TIKTOK_SESSIONID"

Alternative options include ElevenLabs (elevenlabs_api_key) or OpenAI. Each provider requires specific authentication tokens as documented in the template file.

Background Video and Audio

Customize visual elements in the [settings.background] section. The video_creation/background.py file contains download_background_video() and download_background_audio() functions that fetch assets based on these settings:

[settings.background]
background_video = "minecraft"
background_audio = "lofi"
background_audio_volume = 0.2
enable_extra_audio = true

Running the Bot

Execute the main entry point to start the pipeline:

python main.py

The main.py script (lines 45-94) handles argument parsing, loads configuration via utils/settings.py, and orchestrates the video creation workflow. To process a specific post rather than random selection, pass the post ID directly:

python main.py --post-id abc123

For batch processing, set times_to_run in [settings] to invoke run_many() (lines 67-74 in main.py):

[settings]
times_to_run = 5

The bot clears temporary files automatically after each iteration via the cleanup routine, producing final_video.mp4 in the output folder.

Summary

Frequently Asked Questions

How do I fix the "ffmpeg not found" error?

Install FFmpeg manually if the automatic installation in utils/ffmpeg_install.py fails due to network restrictions or unsupported operating systems. Use choco install ffmpeg on Windows, sudo apt install ffmpeg on Linux, or brew install ffmpeg on macOS, then restart the bot.

What Python version does RedditVideoMakerBot require?

The application specifically requires Python 3.10 for compatibility with the codebase architecture. Using other Python versions may cause dependency conflicts with the TTS and video processing libraries specified in requirements.txt.

Where do I configure Reddit API credentials?

Credentials belong in the [reddit.creds] section of config.toml, copied from utils/.config.template.toml. You must register a script-type application in the Reddit developer portal to obtain the client_id and client_secret values.

Can I run the bot for specific Reddit posts only?

Yes. Pass the --post-id argument when running main.py (line 49 in main.py accepts this parameter) to bypass the random thread selection logic in reddit/subreddit.py and process a specific submission ID directly.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →