request:
  collection: videointelligence.videos
  method: annotate
  api_version: v1

async:
  collection: videointelligence.projects.locations.operations
  extract_resource_result: false
  result_attribute: response

args:
- arg_name: input_path
  is_positional: true
  help_text: |
    Path to the video to be analyzed. Must be a local path or a Google
    Cloud Storage URI.
- api_field: outputUri
  arg_name: output-uri
  help_text: |
    Location to which the results should be written. Must be a Google
    Cloud Storage URI.
  processor: googlecloudsdk.command_lib.ml.video.util:ValidateOutputUri

- api_field: videoContext.segments
  arg_name: segments
  help_text: |
    Segments from the video which you want to analyze (by default, the
    entire video will be treated as one segment). Must be in the format
    START1:END1[,START2:END2,...] (inclusive). START and END of segments must
    be a properly formatted duration string of the form `HhMmSs` where:

    ```
    *  H is the number of hours from beginning of video
    *  M is the number of minutes from the beginning of video
    *  S is the number of seconds from the beginning of the video
    ```

    H, M and S can be specified as ints or floats for fractional units
    (to microsecond resolution). Unit chars (e.g. `h`, `m` or `s`) are
    required. Microseconds can be specified using fractional seconds
    e.g. 0.000569s == 569 microseconds.

    Examples:

    0s:23.554048s,24s:29.528064s

    0:1m40s,3m50s:5m10.232265s
  type: str
  processor: googlecloudsdk.command_lib.ml.video.util:ValidateAndParseSegments

- api_field: locationId
  arg_name: region
  choices:
  - arg_value: us-east1
    enum_value: us-east1
  - arg_value: us-west1
    enum_value: us-west1
  - arg_value: europe-west1
    enum_value: europe-west1
  - arg_value: asia-east1
    enum_value: asia-east1
  help_text: |
    Optional Cloud region where annotation should take place. If no region
    is specified, a region will be determined based on video file location.
