Customising Your Folder Structure
Slate Tracker files every processed reference image into a folder and filename pattern that you control. The defaults work well for episodic TV, but feature film, theatre, and tour productions all need different layouts.
Where the patterns live
Open config.yaml in the agent data directory:
- Windows:
%APPDATA%\SlateTracker\config.yaml - macOS:
~/Library/Application Support/SlateTracker/config.yaml
The two fields you want are output.folder_pattern and
output.filename_pattern.
output:
root: "D:/References/Episode 04"
folder_pattern: "{scene}/{lens}"
filename_pattern: "{scene}_{take}_{timestamp}.jpg"
The agent treats output.root as the base. Every other pattern
is relative to it.
Available placeholders
You can use these placeholders in either pattern:
| Placeholder | Source | Example |
|---|---|---|
{scene} | Slate card | 012 |
{take} | Slate card | 4 |
{lens} | Slate card | 35mm |
{notes} | Slate card | kitchen |
{date} | File mtime | 2026-05-28 |
{date_compact} | File mtime | 20260528 |
{timestamp} | File mtime | 1716879600 |
{time} | File mtime | 14-30-22 |
{original} | Source file | IMG_0021 |
{ext} | Source file | jpg |
{confidence} | Vision read | 94 |
A missing field is replaced with unknown in the file path,
which makes incomplete entries easy to find on disk.
Pattern examples
Episodic TV
output:
folder_pattern: "Episode {ep}/Scene {scene}"
filename_pattern: "scene_{scene}_take_{take}.jpg"
You can set ep as a static value in
output.constants.ep:
output:
constants:
ep: "04"
Feature film
output:
folder_pattern: "{date}/Scene_{scene}"
filename_pattern: "{scene}_{take}_{lens}.jpg"
Tour / live event
output:
folder_pattern: "{date}/{notes}"
filename_pattern: "{time}_{original}.{ext}"
Theatre / corporate
output:
folder_pattern: "Act_{scene}"
filename_pattern: "{scene}_q{take}.{ext}"
Collisions
If two images resolve to the same path, the agent appends a numeric suffix:
scene_012_take_4.jpg
scene_012_take_4_2.jpg
scene_012_take_4_3.jpg
If you want a different collision policy, set
output.on_collision:
suffix: append a number (default).overwrite: replace the existing file (with a backup in.trash/).skip: leave the existing file alone, flag the new one for review.
Reloading the config
The agent watches config.yaml and reloads patterns within a
second. You do not need to restart for pattern changes. If a pattern is
invalid, the agent keeps the previous one and surfaces an error on the
local dashboard.
Where to go next
- Configuration Reference lists every setting, not only patterns.
- Reviewing and Correcting Low Confidence Reads shows how to fix mis-filed images after the fact.