This error means that at the time of autoposting your image wasn’t set or wasn’t available. Please check that first.

Image must be set at the time you hit the “Publish” button. Some third party plugins that make posts sometimes publish post without featured image and then add it later. If this is your case, you can try to delay the autoposting for several minutes.

If image is set, you can have some kind of protection on your images, (like “hotlinking” protection or unusual “User-Agent” header protection), you can have wrong URLs defined (like relative URLs like /img/mypicture0005.jpg instead of full URLS like https://www.nextscripts.com/img/mypicture0005.jpg), also it could be your server’s DNS misconfiguration, which means your server can’t resolve itself and get the image. Please contact your hosting provider or server admin for additional info.

Update (Summer 2014): Tumblr recently changed the headers for it’s image retrieval bot. New tumblr requests are coming with empty “User-Agent” header. A lot of servers deny empty “User-Agent” requests causing “400 – Bad Request – [0] => Error uploading photo” problem. Please contact your hosting provider to allow such requests. Update 2 (Sept 2014). Twitter is now making empty “User-Agent” requests too.

Update 2: Please see the reply here for a simple test: https://wordpress.org/support/topic/twitter-posts-not-posting-images?replies=11#post-6402194