AIOStreamsAIOStreams
ReferenceAddon Protocol

Metadata

Extra meta, catalog entry, video and manifest catalog fields AIOStreams reads, and what each one shows in a Jellyfin client.

These fields sit alongside the Stremio ones on a catalog entry, a meta, a video, or a catalog in your manifest. Put them on catalog entries too where you can: lists are built without opening each title.

Meta and catalog entry fields

FieldShapeShown in Jellyfin as
idsobject of provider idsProvider ids and external links
landscapePosterimage URLThe wide card on Continue Watching, Next Up and home rows
animatedPosterimage URL, animated (GIF, animated WebP or APNG)Played over the poster while its card is focused or hovered, in the AIOStreams apps
originalTitlestringThe original title, under the name when they differ
taglinestringThe tagline on the detail page
peoplelist of peopleCast and crew rows, with photos and characters
certificationstring, e.g. "PG-13"The age rating
certificationLocalstring, the rating in the viewer's countryThe local rating, where a client shows one
criticRatingnumber, 0 to 100The critic score
ratingslist of ratingsEach source's score, in the AIOStreams apps
studioslist of stringsStudios
networkslist of stringsStudios, after studios
countrieslist of names or ISO 3166 codesProduction countries, by their English names
tagslist of stringsTags
endDatedate, a series' last air dateThe end of a series' year range
airDayslist of "Sunday" … "Saturday"When a series airs
airTimestring, e.g. "21:00"As above
seasonslist of seasonsSeason names, overviews, posters and premiere dates
collectioncollection blockA collection
trailerslist of trailersThe title's trailers, by name

People

{ "name": "Bryan Cranston", "role": "actor", "character": "Walter White", "photo": "https://…" }
FieldMeaning
nameRequired.
roleRequired. One of actor, director, writer, producer, composer, creator, guestStar; any other role is ignored.
characterWho an actor plays.
photoA portrait URL.
idThe person's meta id.

Ratings

{ "source": "tomatoes", "value": 92, "scale": 100 }
FieldMeaning
sourceRequired. One of the sources below; any other is ignored.
valueRequired. The score, from 0 up to scale.
scaleWhat value is out of. The source's own scale, below, when absent.
SourceWhat it isScale
imdbIMDb rating10
tomatoesRotten Tomatoes critics (Tomatometer)100
tomatoesAudienceRotten Tomatoes audience (Popcornmeter)100
metacriticMetascore100
letterboxdLetterboxd average5
rogerebertRogerEbert.com stars4
traktTrakt rating100
tmdbTMDB user score10
malMyAnimeList score10

List them in the order to show them: where room is short, the apps show the first three. A source listed twice keeps its first entry. The IMDb score is also a title's community rating, and Rotten Tomatoes' its critic score, so other Jellyfin clients show those two; imdbRating and criticRating win where you send them. Episodes keep their own rating.

Trailers

Stremio's trailers, with a name added:

{ "source": "dQw4w9WgXcQ", "type": "Trailer", "name": "Official Trailer" }
FieldMeaning
sourceRequired. A YouTube video id, or a video's address.
typeRequired. Trailer for a YouTube video, which Stremio plays too. Give a video's address another type, such as Video, so Stremio skips it.
nameWhat the trailer is called, such as Teaser. Shown as Trailer when absent.

trailerStreams, a list of stream objects that Stremio's apps read in place of trailers when a meta has both, is read too, for any trailer or name trailers doesn't have. Video addresses are listed before YouTube trailers.

Seasons

{ "season": 1, "name": "The Beginning", "overview": "…", "poster": "https://…", "released": "2019-03-01" }

season is required and matches the season of the videos it describes; 0 is specials. A season you do not list keeps its default name.

Video fields

These go on entries in a meta's videos.

FieldShapeShown in Jellyfin as
ratingnumber or numeric string, 0 to 10The episode's rating
idsobject of provider idsThe episode's own ids and IMDb link
peoplelist of peopleGuest stars and episode credits
fillerbooleanA filler mark in the web app
recapbooleanA recap mark in the web app

A video's ids are the episode's own. A watch state event for an episode always carries the show's ids instead.

Catalog fields

These go on a catalog in your manifest's catalogs, which is a library in Jellyfin.

FieldShapeShown in Jellyfin as
posterimage URLThe library's tile
backgroundimage URLThe library's backdrop
{ "type": "movie", "id": "netflix", "name": "Netflix", "poster": "https://…", "background": "https://…" }

Ids

ids is keyed by provider, with the same keys as watch state events. Values are strings; numbers are accepted.

KeyProviderKeyProvider
imdbIMDbkitsuKitsu
tmdbTMDBanidbAniDB
tvdbTheTVDBsimklSimkl
malMyAnimeListtraktTrakt
anilistAniList

Example

{
  "meta": {
    "id": "tt0903747",
    "type": "series",
    "name": "Breaking Bad",
    "landscapePoster": "https://…",
    "endDate": "2013-09-29",
    "tagline": "Remember my name",
    "ids": { "imdb": "tt0903747", "tmdb": "1396", "tvdb": "81189" },
    "certification": "TV-MA",
    "ratings": [
      { "source": "imdb", "value": 9.5, "scale": 10 },
      { "source": "tomatoes", "value": 96, "scale": 100 }
    ],
    "networks": ["AMC"],
    "countries": ["United States"],
    "airDays": ["Sunday"],
    "airTime": "22:00",
    "people": [
      { "name": "Vince Gilligan", "role": "creator" },
      { "name": "Bryan Cranston", "role": "actor", "character": "Walter White", "photo": "https://…" }
    ],
    "seasons": [{ "season": 1, "poster": "https://…", "released": "2008-01-20" }],
    "trailers": [{ "source": "…", "type": "Trailer", "name": "Official Trailer" }],
    "videos": [
      {
        "id": "tt0903747:1:1",
        "title": "Pilot",
        "season": 1,
        "episode": 1,
        "rating": 9.0,
        "ids": { "imdb": "tt0959621", "tvdb": "349232" }
      }
    ]
  }
}

On this page