So you compress a format that inflates binaries with 30%?

That not only ends up larger than "just the binary", it also eats a lot of extra CPU to (de)compress AND encode-decode.

This idea is novel, but wasteful.

(edit: I thought you were serious, so I answered serious. You were not ;)

Yes, this is not too rare to see base64 images in JSON but I won't recommend that.

You gain back most of the base64 overhead when you compress it though. It's slower but probably often worth it if the alternative is few more async HTTP queries that you would only fetch once.