SceneRename

:placard: Summary Renames scene files to ‘Studio #Code [Resolution] - Title.ext’. Studio name is required (files without one are skipped). Code and resolution are optional. Colons in titles become commas. Triggers on scene update or via manual task. Enable Dry Run to preview changes in scenerename.log before renaming.
:link: Repository https://github.com/stashapp/CommunityScripts/tree/main/plugins/sceneRename
:information_source: Source URL https://stashapp.github.io/CommunityScripts/stable/index.yml
:open_book: Install How to install a plugin?

Scene Rename: File Organizer Plugin

Simple plugin to help organize scene files into a clean, consistent format. It includes debug tracing that integrates with the Logs view, supports dry runs, and provides a clear description in the Plugins UI.

Features

  • Dry run support
  • Debug output in the Logs view
  • Graceful handling of already-renamed files
  • Does not fail if Scene ID or resolution are missing
  • Requires a Studio and Title to proceed

The code is simple and the plugin UI includes clear usage instructions.

Screenshot


What It Does

The Scene Rename plugin renames scene files using the following format:

Studio #StudioID [Resolution] - Title.mp4

For example, a file in my library that still has its default name:

wodhhd_06_1080p.mp4

Is renamed to:

TitanMen #395 [1080p] - Coyote Point, Dakota Rivers.mp4

This format keeps filenames consistent and easy to scan. It also makes it simple to group files by studio if desired, or keep everything in a single directory while maintaining a clean, uniform structure.

I’ve found it very effective for keeping my library organized, and others may find it useful as well.


Installation Example (Docker)

I run Stash in Docker. My folder structure looks like this:

docker/
└── docker-compose.yml
└── plugins/
    └── scenerename/
        ├── scenerename.py
        └── scenerename.yml

In docker-compose.yml, add the following under volumes:

- ./plugins/scenerename:/root/.stash/plugins/scenerename

That’s all that’s required. The plugin loads normally, outputs to the Logs window, and supports dry runs.

I have a script that does something similar, but it uses the following format:

studio_name-yyyymmdd-studio_code-performer_one-performer_two-full_title.ext

Underscores replace spaces and hyphens act as a delimiter. It’s all lowercase and minimizes special character usage to avoid any file system compatibility issues. The script also automatically adds all performers, and will ensure the filename doesn’t exceed 255 characters by first truncating performers and then truncating title if necessary.

I’ve found that this format makes it very easy to search a large filesystem for a specific studio, date, performer, etc. There’s no “right answer” for adult video formatting online, but I gave it my best shot. I’d love to hear other people’s opinions so maybe we can work towards a standardized format for the community.

Is this script available?