docs: public ServiceCall<InputStream> synthesize(SynthesizeOptions synthesizeOptions) {
      Validator.notNull(synthesizeOptions, "synthesizeOptions cannot be null");
      String[] pathSegments = { "v1/synthesize" };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("text_to_speech", "v1", "synthesize");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      if (synthesizeOptions.accept() != null) {
        builder.header("Accept", synthesizeOptions.accept());
      }
      if (synthesizeOptions.voice() != null) {
        builder.query("voice", synthesizeOptions.voice());
      }
      if (synthesizeOptions.customizationId() != null) {
        builder.query("customization_id", synthesizeOptions.customizationId());
      }
      final JsonObject contentJson = new JsonObject();
      contentJson.addProperty("text", synthesizeOptions.text());
      builder.bodyJson(contentJson);
      return createServiceCall(builder.build(), ResponseConverterUtils.getInputStream());
    }