TV Show Library Metadata

You can have the script edit the metadata of Shows, Seasons, and Episodes by adding them to the metadata mapping of a Metadata File.

An example of multiple metadata edits in a show library is below:

metadata:
  "Avatar: The Last Airbender":
    sort_title: Avatar 01
    seasons:
      1:
        title: "Book One: Water"
        summary: >-
              After a lapse of 100 years, the Avatar-spiritual master of the elements-has returned. And just in
              the nick of time. The Four Nations (Water, Earth, Fire, and Air) have become unbalanced. The Fire
              Nation wants to rule the world, and its first conquest will be the Northern Water Tribe. It's up to
              a 12-year-old Airbender named Aang to find a way to stop it. Join Aang, Katara, Sokka, Momo, and
              Appa as they head north on the adventure of a lifetime.
        episodes:
          1:
            user_rating: 9.1
      2:
        title: "Book Two: Earth"
        summary: >-
              Avatar Aang continues his quest to master the four elements before the end of summer. Together with
              Katara, Sokka, Momo, and Appa, he journeys across the Earth Kingdom in search of an Earthbending
              mentor. Along the way, he confronts Princess Azula, treacherous  daughter of Firelord Ozai and
              sister to Prince Zuko. More powerful than her brother, Azula will stop nothing to defeat the Avatar.
              But Aang and the gang find plenty of Earth Kingdom allies to help them along the way. From the swamps
              of the South to the Earth King's palace, Avatar: Book 2 is an adventure like no other.
      3:
        title: "Book Three: Fire"
        summary: >-
              Having survived the terrible battle with Azula, Aang faces new challenges as he and his brave
              friends secretly enter the Fire Nation. Their quest is to find and defeat Firelord Ozai. Along
              the way, they discover that Ozai has plans of his own. The leader of the Fire Nation intends to
              use the massive power of Sozin's comet to spread his dominion permanently across the four nations.
              Short on time, Aang has a lot of bending to learn and no master to help him learn it. However, his
              friends are there to help, and he finds unexpected allies deep in the heart of the Fire Nation. In
              the spectacular four-part conclusion, Aang must fulfill his destiny and become a fully realized
              Avatar, or watch the world go up in smoke.
        episodes:
          21:
            summary: The Epic Series Final of Avatar The Last Airbender
  "Avatar: The Legend of Korra":
    match:
      title: 
        - "Avatar: The Legend of Korra"
        - The Legend of Korra
    sort_title: Avatar 02
    original_title: The Legend of Korra
    seasons:
      1:
        title: "Book One: Air"
      2:
        title: "Book Two: Spirits"
      3:
        title: "Book Three: Change"
      4:
        title: "Book Four: Balance"

Matching Shows

The match attribute is used to match shows within Plex to that definition within the Metadata file. One definition can match and edit multiple shows. The available matching options are outlined below.

Attribute

Allowed Values

title1

Only matches shows that exactly match the show’s Title. Can be a list (only one needs to match).

year

Only matches shows that were released in the given year.

mapping_id2

Only matches shows that have the given TVDb or IMDb ID.

  1. When title is not provided and the mapping name was not specified as an ID, the default behaviour is to use the mapping name as title for matching.

  2. When mapping_id is not provided and the mapping name was specified as an ID, the default behaviour is to use the mapping name as mapping_id for matching.

Examples

Below are some examples on how shows can be matched.

Example 1 - title and mapping_id

The below example shows how title and mapping_id can be used to match shows.

metadata:
  show1:                   # Matches via the title "Game of Thrones"
    match:
      title: Game of Thrones
    edits...
  show2:                   # Matches via TVDb ID: 366524
    match:
      mapping_id: 366524
    edits...
  show3:                   # Matches via IMDb ID: tt10234724
    match:
      mapping_id: tt10234724
    edits...
  show4:                   # Matches via the title "24" 
    match:
      title: 24
    edits...

The Mapping Name can also be used to reduce line-count, as shown here:

metadata:
  Game of Thrones:  # Matches via the Name "Game of Thrones"
    edits...
  366524:           # Matches via TVDb ID: 366524
    edits...
  tt10234724:       # Matches via IMDb ID: tt10234724
    edits...
  "24":             # Matches via the Name "24" 
    edits...

Note: to search for a show titled with a number from the mapping name you must surround the number in quotes like in the example below. Otherwise, it will look for the show associated with that TVDb ID.

Example 2 - title and year

The below example shows how title and year can be used to match shows.

In this example, there are two shows in the library called “Vikings”, so the year attribute is used to identify which show is being matched.

metadata:
  Vikings (2012):                   # Matches via the title "Vikings" released in 2012
    match:
      title: Vikings
      year: 2012
    edits...
  Vikings (2013):                   # Matches via the title "Vikings" released in 2013
    match:
      title: Vikings
      year: 2013
    edits...

Metadata Edits

The available attributes for editing shows, seasons, and episodes are as follows

Special Attributes

Attribute

Description

Shows

Seasons

Episodes

f1_season

F1 Season Year to make the Show represent a Season of F1 Races. See Formula 1 Metadata Guide for more information.

round_prefix

Used only with f1_season to add the round as a prefix to the Season (Race) Titles i.e. Australian Grand Prix –> 01 - Australian Grand Prix.

shorten_gp

Used only with f1_season to shorten Grand Prix to GP in the Season (Race) Titles i.e. Australian Grand Prix –> Australian GP.

seasons

Attribute used to edit season metadata. The mapping name is the season number (use 0 for specials) or the season name.

episodes

Attribute used to edit episode metadata. The mapping name is the episode number in that season, the title of the episode, or the Originally Available date in the format MM/DD.

run_definition

Used to specify if this definition runs.
Multiple can be used for one definition as a list or comma separated string. One false or unmatched library type will cause it to fail.
Values: movie, show, artist, true, false

update_seasons

Used to specify if this definition’s seasons metadata will update.
Multiple can be used for one definition as a list or comma separated string. One false will cause it to fail.
Values: true, false

update_episodes

Used to specify if this definition’s episodes metadata will update.
Multiple can be used for one definition as a list or comma separated string. One false will cause it to fail.
Values: true, false

General Attributes

Attribute

Allowed Values

Shows

Seasons

Episodes

title

Text to change Title.

sort_title

Text to change Sort Title.

original_title

Text to change Original Title.

originally_available

Date to change Originally Available.
Format: YYYY-MM-DD

content_rating

Text to change Content Rating.

user_rating

Number to change User Rating.

audience_rating

Number to change Audience Rating.

critic_rating

Number to change Critic Rating.

studio

Text to change Studio.

tagline

Text to change Tagline.

summary

Text to change Summary.

Tag Attributes

You can add .remove to any tag attribute to only remove those tags i.e. genre.remove.

You can add .sync to any tag attribute to sync all tags vs just appending the new ones i.e. genre.sync.

Attribute

Allowed Values

Shows

Seasons

Episodes

director

List or comma-separated text of each Director Tag.

genre

List or comma-separated text of each Genre Tag.

writer

List or comma-separated text of each Writer Tag.

collection

List or comma-separated text of each Collection Tag.

label

List or comma-separated text of each Label Tag.

Image Attributes

Attribute

Allowed Values

Shows

Seasons

Episodes

url_poster

URL of image publicly available on the internet.

file_poster

Path to image in the file system.

url_background

URL of image publicly available on the internet.

file_background

Path to image in the file system.

Advanced Attributes

All these attributes only work with Shows.

Attribute

Allowed Values

episode_sorting

defaultLibrary default
oldestOldest first
newestNewest first

keep_episodes

allAll episodes
5_latest5 latest episodes
3_latest3 latest episodes
latestLatest episodes
past_3Episodes added in the past 3 days
past_7Episodes added in the past 7 days
past_30Episodes added in the past 30 days

delete_episodes

neverNever
dayAfter a day
weekAfter a week
refreshOn next refresh

season_display

defaultLibrary default
showShow
hideHide

episode_ordering

defaultLibrary default
tmdb_airedThe Movie Database (Aired)
tvdb_airedTheTVDb (Aired)
tvdb_dvdTheTVDb (DVD)
tvdb_absoluteTheTVDb (Absolute)

metadata_language1

default, ar-SA, ca-ES, cs-CZ, da-DK, de-DE, el-GR, en-AU, en-CA, en-GB, en-US, es-ES, es-MX, et-EE, fa-IR, fi-FI, fr-CA, fr-FR, he-IL, hi-IN, hu-HU, id-ID, it-IT, ja-JP, ko-KR, lt-LT, lv-LV, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ro-RO, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-HK, zh-TW

use_original_title1

defaultLibrary default
noNo
yesYes

  1. Must be using the New Plex TV Agent