code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<AnnotateVideoResponse, AnnotateVideoProgress> annotateVideoAsync(
        AnnotateVideoRequest request) {
      return annotateVideoOperationCallable().futureCall(request);
    }
docs: Performs asynchronous video annotation. Progress and results can be retrieved through the
  `google.longrunning.Operations` interface. `Operation.metadata` contains
  `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse`
  (results).
  
  <p>Sample code:
  
  <pre><code>
  try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
  String inputUri = "gs://demomaker/cat.mp4";
  Feature featuresElement = Feature.LABEL_DETECTION;
  List&lt;Feature&gt; features = Arrays.asList(featuresElement);
  AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
  .setInputUri(inputUri)
  .addAllFeatures(features)
  .build();
  AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(request).get();
  }
  </code></pre>
  
  @param request The request object containing all of the parameters for the API call.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails