The 10 KB image floor nobody documents
Google rejects post images below roughly 10 KB. It does not say so. The request comes back as a generic internal server error with no mention of the image, the size, or which field caused it.
We found this the hard way. A post kept failing with a 500 while everything checkable looked fine: the image was reachable over HTTPS, the dimensions were well above the minimum, the CTA link resolved, the business connection was healthy with the right permission scope, and the same request shape worked for other posts. The file was 10,093 bytes — 147 bytes under the limit. A well-compressed 500×500 photo lands in exactly that range.
Only the upper bound was being checked before, because 5 MB is the documented limit and a lower bound is not something you think to test. Both ends are validated now, at upload time and again before publishing, so the problem surfaces in the editor with a clear message instead of as an unexplained server error minutes later.