2026-01-30, 05:34 AM
Forewarning: this is probably fairly technical & niche.
I've been building my own web client to better align with my own personal preferences, but came across an oddity in image handling; specifically, images being very poorly post-processed. 1mb pngs on disk were turning into a 10mb webps when loaded which is, obviously, horrifically bad for load times. I've disabled all obvious transcoding options on the server so this rather baffling.
With some reverse engineering of the Vue implementation, this is what I came across (
- What I was using, & is bad:
- What the Vue impl used:
Whilst this corrects the issue and I have a solution, I'd like to ask, why is the Primary image tag being so poorly processed? Why does this even differ? Can I disable it?
I understand transcoding to better support different clients, but that's a png, it's supported everywhere, and the output from Jellyfin's processing here is 10x worse. I just don't get the reasoning behind this.
I've been building my own web client to better align with my own personal preferences, but came across an oddity in image handling; specifically, images being very poorly post-processed. 1mb pngs on disk were turning into a 10mb webps when loaded which is, obviously, horrifically bad for load times. I've disabled all obvious transcoding options on the server so this rather baffling.
With some reverse engineering of the Vue implementation, this is what I came across (
itemis just an item in a directory, retrieved via GetItems) w/ JS pseudo code:- What I was using, & is bad:
${jellyfin.serverUrl}/Items/${item.Id}/Images/Primary?tag=${item.ImageTags.Primary}- What the Vue impl used:
${jellyfin.serverUrl}/Items/${item.Id}/Download?api_key=${AccessToken}Whilst this corrects the issue and I have a solution, I'd like to ask, why is the Primary image tag being so poorly processed? Why does this even differ? Can I disable it?
I understand transcoding to better support different clients, but that's a png, it's supported everywhere, and the output from Jellyfin's processing here is 10x worse. I just don't get the reasoning behind this.

