I’d been getting image upload errors on my WordPress site lately. Not for every image but for lots of images. The error message always said “The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task. Uploading a smaller image may help. Suggested maximum size is 2560 pixels.”
If you google for answers on this, the results suggest that this is a problem with ImageMagick trying to resize the images after upload. The suggested fixes said to increase the settings values for upload_max_filesize, post_max_size, max_execution_time, and big_image_size_threshold. None of these worked for me so I opened up the developer tools in my browser and tried again with the hopes that I could see an error.
Turns out that the problem had nothing to do with ImageMagick. Instead, the call to WordPress’s async-upload.php was failing with an HTTP 413 “Request Entity Too Large” error code.
The solution came from this post. I added a client_max_body_size parameter to the server section of my nginx.conf file, rebooted the web service, and it was fixed.
I spent a TON of time trying to figure this out. I hope this helps.