POST Datos de formulario multiparte utilizando Retrofit 2.0, incluida la imagen

Estoy tratando de hacer una HTTP POST al servidor usandoRetrofit 2.0

        MediaType MEDIA_TYPE_TEXT = MediaType.parse("text/plain");
        MediaType MEDIA_TYPE_IMAGE = MediaType.parse("image/*");

        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        imageBitmap.compress(Bitmap.CompressFormat.JPEG, 90, byteArrayOutputStream);
        profilePictureByte = byteArrayOutputStream.toByteArray();

    Call<APIResults> call = ServiceAPI.updateProfile(
                RequestBody.create(MEDIA_TYPE_TEXT, emailString),
                RequestBody.create(MEDIA_TYPE_IMAGE, profilePictureByte));

    call.enqueue();

El servidor devuelve un error diciendo que el archivo no es válido.

Esto es extraño porque he intentado cargar el mismo archivo con el mismo formato en iOS (usando otra biblioteca), pero se carga con éxito.

Me pregunto cuál es la forma correcta de cargar una imagen usandoRetrofit 2.0?

¿Debo guardarlo en el disco antes de cargarlo?

¡Gracias!

P.S .: He utilizado la actualización para otra solicitud de varias partes que no incluye imagen y se completaron con éxito. El problema es cuando intento incluir un byte en el cuerpo.