# RedditVideoMakerBot Configuration File Location: Complete Guide to config.toml

> Easily find your RedditVideoMakerBot configuration file location. This guide details the config.toml file and how it's generated for seamless customization.

- Repository: [Lewis Menelaws/RedditVideoMakerBot](https://github.com/elebumm/RedditVideoMakerBot)
- Tags: how-to-guide
- Published: 2026-04-08

---

**The RedditVideoMakerBot stores all user-editable settings in a [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) file located at the repository root, which is automatically generated from [`utils/.config.template.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/.config.template.toml) if missing.**

The RedditVideoMakerBot relies on a single configuration file to manage Reddit credentials, video rendering options, and text-to-speech settings. Understanding the RedditVideoMakerBot configuration file location is essential for customizing the bot's behavior, as all runtime parameters are loaded from this centralized TOML file at startup according to the elebumm/RedditVideoMakerBot source code.

## Where the Configuration File Lives

The primary **RedditVideoMakerBot configuration file location** is the **[`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml)** file in the repository root directory. This file does not exist in the initial clone; instead, the bot checks for its presence during initialization and creates it from a template if absent.

The template source resides at **[`utils/.config.template.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/.config.template.toml)**, which serves as the blueprint for all user-specific settings. When you first run the bot, the logic in [[`main.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py) (line 94)](https://github.com/elebumm/RedditVideoMakerBot/blob/master/main.py#L94) triggers the configuration check, while the actual file handling and validation occur in [[`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py) (line 170)](https://github.com/elebumm/RedditVideoMakerBot/blob/master/utils/settings.py#L170).

## How the Configuration System Works

The bot exposes configuration values through a centralized **`settings.config`** dictionary, making the RedditVideoMakerBot configuration file location transparent to individual modules. This dictionary is populated by parsing [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) at startup and remains accessible throughout the application lifecycle.

For example, in [[`video_creation/screenshot_downloader.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/video_creation/screenshot_downloader.py) (line 106)](https://github.com/elebumm/RedditVideoMakerBot/blob/master/video_creation/screenshot_downloader.py#L106), the bot retrieves Reddit credentials using:

```python
from utils import settings

reddit_username = settings.config["reddit"]["creds"]["username"]
reddit_password = settings.config["reddit"]["creds"]["password"]

```

Similarly, video rendering parameters like resolution are accessed via:

```python
video_width = int(settings.config["settings"]["resolution_w"])

```

## Creating and Modifying config.toml

If the **RedditVideoMakerBot configuration file location** ([`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml)) is empty or missing, the bot automatically generates a fresh copy from [`utils/.config.template.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/.config.template.toml). This ensures users always have a valid structure to edit without manual template copying.

To customize the bot:

1. Open [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) in your text editor after the first run.
2. Modify values under relevant sections (e.g., `[reddit.creds]` for authentication, `[settings]` for video options).
3. Save the file—the bot reads these values on every startup without requiring a reinstall.

The configuration includes critical sections such as:

- **`[reddit.creds]`** – Username, password, client ID, and client secret for API access
- **`[settings]`** – Video dimensions, voice selection, and rendering preferences  
- **`[settings.tts]`** – Text-to-speech voice choice and related parameters

## Code Implementation Details

The loading mechanism in [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py) handles path resolution and validation. When modules need to check for missing values, they reference the same dictionary structure. For instance, the screenshot downloader validates credentials before proceeding:

```python

# From video_creation/screenshot_downloader.py

if not settings.config["reddit"]["creds"]["username"]:
    print("[red]Your reddit credentials are incorrect! Please modify them accordingly in the config.toml file.")

```

Voice selection in [`video_creation/voices.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/video_creation/voices.py) follows a similar pattern:

```python
voice = settings.config["settings"]["tts"]["voice_choice"]

```

## Summary

- **Primary Location**: The RedditVideoMakerBot configuration file location is [`./config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/./config.toml) at the repository root
- **Template Source**: Original structure copied from [`utils/.config.template.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/.config.template.toml) when the main file is absent
- **Initialization**: Created automatically by [`main.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py) and [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py) during first run
- **Access Pattern**: All modules read values through `settings.config["section"]["subsection"]["key"]` dictionary access
- **Edit Workflow**: Modify [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) directly; changes apply on next execution without restart requirements

## Frequently Asked Questions

### Where exactly is the RedditVideoMakerBot configuration file located?

The configuration file is located at **[`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml)** in the root directory of the cloned repository. If you do not see this file after cloning, run the bot once—[`main.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py) will generate it automatically from the template at [`utils/.config.template.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/.config.template.toml).

### What happens if I delete config.toml?

The bot detects missing configuration files during startup. If [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) is deleted or corrupted, [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py) recreates it from [`utils/.config.template.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/.config.template.toml) (as implemented at line 170), preserving the default structure while requiring you to re-enter your custom values.

### How do I update Reddit credentials or video settings?

Open [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) in any text editor and locate the relevant section. Reddit credentials reside under `[reddit.creds]` (accessed as `settings.config["reddit"]["creds"]["username"]` in the code), while video settings appear under `[settings]`. Save the file after editing; the bot loads these values on the next run via the `settings.config` dictionary.

### Can I specify a custom configuration file path?

The current implementation hardcodes the **RedditVideoMakerBot configuration file location** to [`./config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/./config.toml) relative to the execution directory. The loading logic in [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py) and the initialization check in [`main.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py) (line 94) specifically target this path, so moving the file requires modifying the source code in [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py).