A 2.3 MB thumbnail is inside YouTube's limit when you upload it from a computer and over it when you upload from the mobile app. YouTube allows 50 MB from a computer and 2 MB from the app, so the same file passes in one place and not in the other.
Most of what makes an image wrong for a platform can be read from the file itself: pixel size, aspect ratio, byte size, file type, transparency and, for marketplace photos, how white the background is. We built a checker for this in PiCraft (picraft.ai). It runs entirely in the browser and nothing is uploaded. This post covers how it reads each of those things, and where it is only estimating.
What the checker needs from a file
Six values:
Width and height in pixels
Size in bytes
File type
Share of transparent pixels
Share of the border that is pure white
How much of the frame the non-white content spans
The first three are read from the file.…