This is two projects in one: a Python script to automatically download random frames from your Plex movies based on the IMDb ID, and a local web app that mirrors https://framed.wtf/ to have you guess a movie from your Plex library based on up to 6 random frames.
For the Python script run these commands
python3 -m venv venv
source venv/bin/activate
python -m pip install -r requirements.txt
Create secret.py and fill it with
PLEX_URL = 'http://<ip>:<port>'
PLEX_TOKEN = '<token>'
You can get the token by following https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/.
Create config.local.js and fill it with
window.BASE = 'http://<ip>:<port>';
window.TOKEN = '<token>';
Load the environment with source venv/bin/activate.
Then there are two options:
python main.py randomwhich selects a random frame from a random movie and shows it to you.python main.py tt0049406 5which takes in an IMDB ID and the # of frames you want, and downloads them into the current directory.
Just drag and drop the index.html file into your browser and you're good to go!
The Python script is me, the web app is almost entirely GPT 5 (pretty ideal use case for simple project with low standards and clearly documented APIs).
