docs: public static BaseResult addvoicetorecofortext(String accessToken, String voiceId, String lang, URI uri) {
          HttpPost httpPost = new HttpPost(BASE_URI + "/cgi-bin/media/voice/addvoicetorecofortext");
          CloseableHttpClient tempHttpClient = HttpClients.createDefault();
          try {
              HttpEntity entity = tempHttpClient.execute(RequestBuilder.get().setUri(uri).build()).getEntity();
              HttpEntity reqEntity = MultipartEntityBuilder.create()
                      .addBinaryBody("media", EntityUtils.toByteArray(entity), ContentType.get(entity), "temp." + MediaType.voice_mp3.fileSuffix())
                      .addTextBody(PARAM_ACCESS_TOKEN, API.accessToken(accessToken))
                      .addTextBody("format", MediaType.voice_mp3.fileSuffix())
                      .addTextBody("voice_id", voiceId)
                      .addTextBody("lang", lang == null || lang.isEmpty() ? "zh_CN" : lang)
                      .build();
              httpPost.setEntity(reqEntity);
  
              return LocalHttpClient.executeJsonResult(httpPost, BaseResult.class);
          } catch (UnsupportedCharsetException | ParseException | IOException e) {
              logger.error("", e);
              throw new RuntimeException(e);
          } finally {
              try {
                  tempHttpClient.close();
              } catch (IOException e) {
                  logger.error("", e);
              }
          }
      }