The signature on the PNGs and GIFs from the custom Cheermote APIs are equivalent to a GIF. Chrome and whatnot will display the content anyways because they can still understand something even if the file extension is wrong.
Extension | Signature
----------|---------------------------
PNG | 89 50 4E 47 0D 0A 1A 0A
GIF | 47 49 46 38 39 61
Any custom Cheermote PNG that I check has the GIF signature. Since the PNGs are generated from the first frame on the uploaded GIF, they’re simply set as a PNG extension but not actually encoded as such.