Dados de formulário multipartes do POST usando Retrofit 2.0, incluindo imagem

Estou tentando fazer um HTTP POST para o 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();

O servidor retorna um erro dizendo que o arquivo não é válido.

Isso é estranho, porque tentei fazer o upload do mesmo arquivo com o mesmo formato no iOS (usando outra biblioteca), mas ele é carregado com êxito.

Gostaria de saber qual é a maneira correta de fazer upload de uma imagem usandoRetrofit 2.0?

Devo salvá-lo no disco antes de fazer o upload?

Obrigado!

P.S .: Eu usei o retrofit para outra solicitação Multipart que não inclui imagem e eles foram concluídos com êxito. O problema é quando estou tentando incluir um byte no corpo.

questionAnswers(7)

yourAnswerToTheQuestion