You might have to package your base64 string in a web-safe way, in PHP we do this similar to:
rtrim( strtr( base64_encode( 'string' ), '+/', '-_' ), '=' );
It looks like you may be able to use something like this, but I'm not familiar with c# or unity.
Convert.ToBase64String(imageArray).TrimEnd('=').Replace('+', '-').Replace('/', '_');
NO_IMAGE can mean that either no image was provided, the data provided couldn't be decoded to an image, or the magic bytes in the image do not match the expected values.
I'm assuming that isn't your real API key, but you will want to change it if it is (I have also edited it).