Skyhook not updating artwork

https://skyhook.sonarr.tv/v1/tvdb/shows/en/394944 does not contain the "images" key even though the thetvdb contains all the artworks and the cache of the skyhook + thetvdb API has been updated (I’ve tested this using the "lastUpdated" key and by adding new episodes which appeard in the response of the skyhook call). The images are also missing/not updating on sonarr. Also, the images of other series (eg: tvdb id 259919) have failed to update. My best guess as to why this is happening is that newly added images have a new URL format:

  • old format: https://artworks.thetvdb.com/banners/posters/<IMAGE ID>.jpg
  • new image format: https://artworks.thetvdb.com/banners/v4/series/<TVDB ID>/posters/<IMAGE ID>.jpg

Logs:

2022-01-24 10:12:06.6|Debug|Api|[GET] /api/v3/command: 200.OK (2 ms)
2022-01-24 10:12:06.8|Debug|Api|[GET] /api/v3/command: 200.OK (1 ms)
2022-01-24 10:12:06.8|Debug|Api|[GET] /api/v3/command: 200.OK (2 ms)
2022-01-24 10:12:09.3|Debug|Api|[POST] /api/v3/command: 201.Created (16 ms)
2022-01-24 10:12:09.3|Debug|XemProxy|Fetching Series IDs from
2022-01-24 10:12:09.5|Info|SceneMappingService|Updating Scene mappings
2022-01-24 10:12:09.5|Debug|XemProxy|Fetching alternate names
2022-01-24 10:12:15.0|Info|RefreshSeriesService|Updating Survivor Romania
2022-01-24 10:12:15.7|Info|RefreshEpisodeService|Starting episode info refresh for: [394944][Survivor Romania]
2022-01-24 10:12:16.0|Debug|EpisodeAddedService|No new episodes, skipping search
2022-01-24 10:12:16.0|Info|RefreshEpisodeService|Finished episode refresh for series: [394944][Survivor Romania].
2022-01-24 10:12:16.0|Debug|RefreshSeriesService|Finished series refresh for Survivor Romania
2022-01-24 10:12:16.0|Debug|XemService|Scene numbering is not available for Survivor Romania [394944]
2022-01-24 10:12:16.0|Info|DiskScanService|Scanning Survivor Romania
2022-01-24 10:12:16.1|Debug|DiskScanService|Series folder doesn't exist: /host-data/entertainment/tv/Survivor Romania
2022-01-24 10:12:16.1|Debug|DiskScanService|[394944][Survivor Romania] Cleaning up media files in DB
2022-01-24 10:12:16.1|Debug|Api|[GET] /api/system/status?apikey=(removed) 200.OK (5 ms)
2022-01-24 10:12:16.2|Debug|Api|[GET] /api/v3/languageprofile?apikey=(removed) 200.OK (7 ms)
2022-01-24 10:12:16.3|Debug|Api|[GET] /api/v3/health: 200.OK (1 ms)
2022-01-24 10:12:16.4|Info|DiskScanService|Completed scanning disk for Survivor Romania
2022-01-24 10:12:16.4|Debug|Api|[GET] /api/v3/health: 200.OK (1 ms)
2022-01-24 10:12:16.4|Debug|Api|[GET] /api/v3/tag?apikey=(removed) 200.OK (2 ms)
2022-01-24 10:12:16.6|Debug|Api|[GET] /api/v3/health: 200.OK (1 ms)
2022-01-24 10:12:16.6|Debug|Api|[GET] /api/v3/series/139?apikey=(removed) 200.OK (99 ms)
2022-01-24 10:12:16.7|Debug|CleanExtraFileService|Cleaning missing metadata files for series: Survivor Romania
2022-01-24 10:12:16.7|Info|MetadataService|Series folder does not exist, skipping metadata creation
2022-01-24 10:12:16.8|Debug|Api|[GET] /api/v3/series/139?apikey=(removed) 200.OK (96 ms)
2022-01-24 10:12:16.9|Debug|Api|[GET] /api/v3/command: 200.OK (0 ms)
2022-01-24 10:12:17.0|Debug|Api|[GET] /api/v3/episode?seriesId=139&apikey=(removed) 200.OK (190 ms)
2022-01-24 10:12:17.0|Debug|Api|[GET] /api/v3/command: 200.OK (2 ms)
2022-01-24 10:12:17.2|Debug|Api|[GET] /api/v3/episodeFile?seriesId=139: 200.OK (200 ms)
2022-01-24 10:12:17.3|Debug|Api|[GET] /api/v3/command: 200.OK (96 ms)
2022-01-24 10:12:17.5|Debug|Api|[GET] /api/v3/queue/details?seriesId=139: 200.OK (296 ms)
2022-01-24 10:12:17.6|Debug|Api|[GET] /api/v3/episodeFile?seriesId=139&apikey=(removed) 200.OK (98 ms)
2022-01-24 10:12:17.6|Debug|Api|[GET] /api/v3/health: 200.OK (1 ms)
2022-01-24 10:12:17.7|Debug|Api|[GET] /api/v3/health: 200.OK (92 ms)
2022-01-24 10:12:17.7|Debug|Api|[GET] /api/v3/episode?seriesId=139: 200.OK (702 ms)
2022-01-24 10:12:17.7|Debug|Api|[GET] /api/v3/health: 200.OK (1 ms)
2022-01-24 10:12:20.6|Debug|Api|[GET] /api/v3/customFilter: 200.OK (3 ms)
2022-01-24 10:12:20.6|Debug|Api|[GET] /api/v3/tag: 200.OK (2 ms)
2022-01-24 10:12:20.6|Debug|Api|[GET] /api/v3/languageprofile: 200.OK (1 ms)
2022-01-24 10:12:20.6|Debug|Api|[GET] /api/v3/qualityprofile: 200.OK (3 ms)
2022-01-24 10:12:20.7|Debug|Api|[GET] /api/v3/config/ui: 200.OK (18 ms)
2022-01-24 10:12:20.7|Debug|Api|[GET] /api/v3/importlist: 200.OK (20 ms)
2022-01-24 10:12:20.7|Debug|Api|[GET] /api/v3/system/status: 200.OK (1 ms)
2022-01-24 10:12:20.8|Debug|Api|[GET] /api/v3/series: 200.OK (192 ms)
2022-01-24 10:12:21.0|Debug|Api|[GET] /api/v3/queue/status: 200.OK (1 ms)
2022-01-24 10:12:21.0|Debug|Api|[GET] /api/v3/health: 200.OK (0 ms)
2022-01-24 10:12:21.0|Debug|Api|[GET] /api/v3/log/file: 200.OK (1 ms)

The actual issue is these images aren’t linked to English for that show on TheTVDB so TheTVDB API never returns them and Skyhook doesn’t know they exist.

If you look at (the info for the first poster, you’ll see: Language Romanian):
https://thetvdb.com/artwork/62938056

1 Like

For that show, the original language was set to English and the poster to Romanian.
But for:

  1. https://www.thetvdb.com/series/masterchef-ro (original language Romanian) only the English poster is shown (has both English and Romanian posters)
  2. https://thetvdb.com/series/asia-express (original language Romanian) the Romanian poster is shown (has only one poster in Romanian)

How are the posters fetched? First, the English posters and if none is returned, then the “original language” posters?

Skyhook only fetches English metadata, in the case of Survivor Romania there is no images returned in that metadata from TheTVDB. For Asia Express they do return an image, but based on the language of the image I’d expect the same result of no images.

I don’t know if TheTVDB falls back to other language images in certain situations for some shows, my best guess would be based on the presence of words in the image, which would be confusing to a non-native speaker, but I’d also be surprised if they do any sort of detection of that.

Looks like images are showing up for Survivor Romainia now that the English images were added.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.