Jellyfin Update Poster is a Python-based tool that helps organize and update cover images for your Jellyfin media server. It processes cover images, organizes them into appropriate directories, and updates the Jellyfin server with the new images.
- Organizes cover images for movies, TV shows, Episodes, and collections
- Automatically processes new images added to the RawCover directory
- Updates Jellyfin server with new cover images
- Handles ZIP files containing multiple cover images from ThePosterDB and MediUX
- Handles Single image files
- Set Downloader for MediUX
- Python 3.7 or higher
- Jellyfin server
- Jellyfin API key
- TMDB API key (optional, for English title lookup)
- Clone the repository:
https://github.com/Iceshadow1404/JellyfinUpdatePoster
- Install the required dependencies:
pip install -r requirements.txt
- Open the
config.json
and edit it with your Jellyfin server URL and API key - (Optional) Add your TMDB API key to config.json if you want to use the English title lookup feature
Edit the config.json file to include the following:
{
"jellyfin_url": "http://your-jellyfin-url",
"api_key": "your-api-key",
"tmdb_api_key": "your-tmdb-api-key",
"use_tmdb": false,
"use_HA_webhook": false,
"HA_webhook_id": "your-HA-webhook_id",
"HA_webhook_url": "your-HA_webhook_url"
}
Set use_tmdb
to false
if you don't want to use TMDB for English title lookups.
Set use_HA_webhook
to false
if you don't want to use the Home Assistant Webhook Feature.
-
Place your cover images or ZIP files containing cover images in the
RawCover
directory. -
Write MediUX set links in the Mediux.txt file if you want to download covers from them. One link per line.
-
Run the main script:
python main.py
To run the main function immediately after start:main.py --main
-
The script will process the images, organize them into the appropriate directories, and update your Jellyfin server.
-
If TMDB integration is enabled, it will attempt to fetch and use English titles for non-English content.
-
Check the
processing.log
file for details on the script's operations. -
If any folders are missing, they will be listed in the
missing_folders.txt
file.
RawCover
: Place new cover images or ZIP files hereCover
: Organized cover imagesPoster
: Movie and TV show postersCollections
: Collection posters
Consumed
: Processed raw cover filesReplaced
: Backup of replaced cover images
When enabled, the script will attempt to fetch English titles for non-English content using TMDB. This allows for easier organization and searching of content, especially for libraries with mixed-language media. The script will look for folders using both the original title and the English title (if available).
The TMDB integration and English title lookup are optional features. If you don't provide a TMDB API key or set use_tmdb to false in the config, the script will function normally without these features.
If u get an Error like this:
IMDB or TVDB tags detected or unknown years found. Waiting 30 seconds before refreshing...
[2024-08-11 15:06:03] SUCCESS: Items with unknown years:
[2024-08-11 15:06:03] SUCCESS: - Series: Star Trek: Raumschiff Voyager (ID: 82d420d4780f0f362e5066a79ee5304b)
Go to the corresponding TV show or movie and add the year.
If you encounter a 'file name too long' error, it may be due to limitations of the ext4 file system (or similar). Consider switching to NTFS or shortening the file name or OriginalTitle in Jellyfin.
Huge thanks to @Druidblack for the Logo @nea89o for the MediuxDownloader and general help