samozrejme predkomprimovat subory je uplna blbost
To samozřejmě není. Došlo tu k nedorozumění, každý mluvíme o trochu něčem jiném. Já mluvím o statickém obsahu jako jsou například za prvé css a js součásti html, nebo za druhé csv, log, txt data ke stažení. Je lepší je 1x-3x zkomprimovat dopředu (pokaždé jinou metodou) a poté je x-krát poslat klientům na každý jejich požadavek (podle toho jakou umí kompresi). Přesně za tímto účelem Google v roce 2013 představil zopfli/brotli, program, který komprimuje do starého dobrého zlibu, který umí všechny současné i minulé prohlížeče, ALE produkuje mnohem menší soubory za cenu mnohem, mnohem, mnohem větší spotřeby CPU a RAM. To nám ale nevadí, protože komprimujeme pouze 1x a pak milionkrát posíláme již zkomprimovaný soubor a tím šetříme traffic a https šifrování.
Ty mluvíš o za prvé datech typu png, jpeg a mpeg. Ty už jsou uvnitř zkomprimované a je tedy nesmysl je dále komprimovat http kompresí. Co je ale možné, je mít na serveru x variant stejného obrázku/fotky nebo videa v různých formátech jako je např. jpeg, jpeg-xl, heic, webp nebo mpeg, h264, h265, vp9, av1 a nabídnout klientovi všechny varianty a on si vybere tu nejlepší, kterou umí.
Za druhé mluvíš o výstupech z API, tam je to na zvážení, protože jde o dynamická data. Záleží na trade-off mezi časem potřebným k vygenerování dat + jejich kompresi vs ušetřený bandwidth. Na velmi pomalé lince se vyplatí komprimovat. To už tu rozebrali jiní diskutující.