Skip to content
This repository was archived by the owner on Jan 29, 2026. It is now read-only.
This repository was archived by the owner on Jan 29, 2026. It is now read-only.

Video cannot be played when thumbnail request returns a 404 #708

@gummybuns

Description

@gummybuns

Describe the bug
Certain thumbnails return a 404 when hitting /vi/:id/maxresdefault.jpg
The 404 prevents any thumbnail from loading, preventing the video from being playable.

To Reproduce
Video id 1gWd-FHfAQE does this for me

Expected behavior
A thumbnail should be loaded or a fallback image should be used in the event of a 404

Screenshots
N/A

Additional context
Hi yes it is another thumbnail not working. I think there is a problem potentially with how you are sorting the thumbnails, I am not really sure.

Many thumbnails are rendering fine, but some are returning a 404, which causes the spinner, which prevents the video from being playable.

For example this video id 1gWd-FHfAQE causes the 404 for me.

What I am noticing is the clipious app is trying to fetch the thumbnail for /vi/1gWd-FHfAQE/maxresdefault.jpg but the invidious web application makes the api request to 1gWd-FHfAQE/maxres.jpg.

I dont think that every youtube video has a maxresdefault.jpg

When I look at the invidious code it looks to me that maxres.jpg is their own construct that will automatically choose the best one available.

When I look at the clipious code it seems that the logic is intentionally preferring maxresdefault over maxres.

If possible it might be best to just always put maxres.jpg at the top and let the server decide which thumbnail to use, or to tweak the compareTo logic such that maxres is preferred to maxresdefault.

This may also be a problem on the invidious side - at least from my server, in the event of a 404 on the thumbnail it seems as if invidious is failing to properly close the connection.

This for example hangs forever despite the logs emitting a 404

curl --verbose "https://<invidious_instance>/vi/1gWd-FHfAQE/maxresdefault.jpg"

Possibly both sides need a proper fix since I dont fully see in your code how a 404 is handled

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions