...

Source file src/google.golang.org/api/videointelligence/v1p2beta1/videointelligence-gen.go

Documentation: google.golang.org/api/videointelligence/v1p2beta1

     1  // Copyright 2024 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package videointelligence provides access to the Cloud Video Intelligence API.
     8  //
     9  // This package is DEPRECATED. Use package cloud.google.com/go/videointelligence/apiv1 instead.
    10  //
    11  // For product documentation, see: https://cloud.google.com/video-intelligence/docs/
    12  //
    13  // # Library status
    14  //
    15  // These client libraries are officially supported by Google. However, this
    16  // library is considered complete and is in maintenance mode. This means
    17  // that we will address critical bugs and security issues but will not add
    18  // any new features.
    19  //
    20  // When possible, we recommend using our newer
    21  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    22  // that are still actively being worked and iterated on.
    23  //
    24  // # Creating a client
    25  //
    26  // Usage example:
    27  //
    28  //	import "google.golang.org/api/videointelligence/v1p2beta1"
    29  //	...
    30  //	ctx := context.Background()
    31  //	videointelligenceService, err := videointelligence.NewService(ctx)
    32  //
    33  // In this example, Google Application Default Credentials are used for
    34  // authentication. For information on how to create and obtain Application
    35  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    36  //
    37  // # Other authentication options
    38  //
    39  // To use an API key for authentication (note: some APIs do not support API
    40  // keys), use [google.golang.org/api/option.WithAPIKey]:
    41  //
    42  //	videointelligenceService, err := videointelligence.NewService(ctx, option.WithAPIKey("AIza..."))
    43  //
    44  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    45  // flow, use [google.golang.org/api/option.WithTokenSource]:
    46  //
    47  //	config := &oauth2.Config{...}
    48  //	// ...
    49  //	token, err := config.Exchange(ctx, ...)
    50  //	videointelligenceService, err := videointelligence.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    51  //
    52  // See [google.golang.org/api/option.ClientOption] for details on options.
    53  package videointelligence // import "google.golang.org/api/videointelligence/v1p2beta1"
    54  
    55  import (
    56  	"bytes"
    57  	"context"
    58  	"encoding/json"
    59  	"errors"
    60  	"fmt"
    61  	"io"
    62  	"net/http"
    63  	"net/url"
    64  	"strconv"
    65  	"strings"
    66  
    67  	googleapi "google.golang.org/api/googleapi"
    68  	internal "google.golang.org/api/internal"
    69  	gensupport "google.golang.org/api/internal/gensupport"
    70  	option "google.golang.org/api/option"
    71  	internaloption "google.golang.org/api/option/internaloption"
    72  	htransport "google.golang.org/api/transport/http"
    73  )
    74  
    75  // Always reference these packages, just in case the auto-generated code
    76  // below doesn't.
    77  var _ = bytes.NewBuffer
    78  var _ = strconv.Itoa
    79  var _ = fmt.Sprintf
    80  var _ = json.NewDecoder
    81  var _ = io.Copy
    82  var _ = url.Parse
    83  var _ = gensupport.MarshalJSON
    84  var _ = googleapi.Version
    85  var _ = errors.New
    86  var _ = strings.Replace
    87  var _ = context.Canceled
    88  var _ = internaloption.WithDefaultEndpoint
    89  var _ = internal.Version
    90  
    91  const apiId = "videointelligence:v1p2beta1"
    92  const apiName = "videointelligence"
    93  const apiVersion = "v1p2beta1"
    94  const basePath = "https://videointelligence.googleapis.com/"
    95  const basePathTemplate = "https://videointelligence.UNIVERSE_DOMAIN/"
    96  const mtlsBasePath = "https://videointelligence.mtls.googleapis.com/"
    97  
    98  // OAuth2 scopes used by this API.
    99  const (
   100  	// See, edit, configure, and delete your Google Cloud data and see the email
   101  	// address for your Google Account.
   102  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   103  )
   104  
   105  // NewService creates a new Service.
   106  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   107  	scopesOption := internaloption.WithDefaultScopes(
   108  		"https://www.googleapis.com/auth/cloud-platform",
   109  	)
   110  	// NOTE: prepend, so we don't override user-specified scopes.
   111  	opts = append([]option.ClientOption{scopesOption}, opts...)
   112  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   113  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   114  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   115  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   116  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	s, err := New(client)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	if endpoint != "" {
   125  		s.BasePath = endpoint
   126  	}
   127  	return s, nil
   128  }
   129  
   130  // New creates a new Service. It uses the provided http.Client for requests.
   131  //
   132  // Deprecated: please use NewService instead.
   133  // To provide a custom HTTP client, use option.WithHTTPClient.
   134  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   135  func New(client *http.Client) (*Service, error) {
   136  	if client == nil {
   137  		return nil, errors.New("client is nil")
   138  	}
   139  	s := &Service{client: client, BasePath: basePath}
   140  	s.Videos = NewVideosService(s)
   141  	return s, nil
   142  }
   143  
   144  type Service struct {
   145  	client    *http.Client
   146  	BasePath  string // API endpoint base URL
   147  	UserAgent string // optional additional User-Agent fragment
   148  
   149  	Videos *VideosService
   150  }
   151  
   152  func (s *Service) userAgent() string {
   153  	if s.UserAgent == "" {
   154  		return googleapi.UserAgent
   155  	}
   156  	return googleapi.UserAgent + " " + s.UserAgent
   157  }
   158  
   159  func NewVideosService(s *Service) *VideosService {
   160  	rs := &VideosService{s: s}
   161  	return rs
   162  }
   163  
   164  type VideosService struct {
   165  	s *Service
   166  }
   167  
   168  // GoogleCloudVideointelligenceV1AnnotateVideoProgress: Video annotation
   169  // progress. Included in the `metadata` field of the `Operation` returned by
   170  // the `GetOperation` call of the `google::longrunning::Operations` service.
   171  type GoogleCloudVideointelligenceV1AnnotateVideoProgress struct {
   172  	// AnnotationProgress: Progress metadata for all videos specified in
   173  	// `AnnotateVideoRequest`.
   174  	AnnotationProgress []*GoogleCloudVideointelligenceV1VideoAnnotationProgress `json:"annotationProgress,omitempty"`
   175  	// ForceSendFields is a list of field names (e.g. "AnnotationProgress") to
   176  	// unconditionally include in API requests. By default, fields with empty or
   177  	// default values are omitted from API requests. See
   178  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   179  	// details.
   180  	ForceSendFields []string `json:"-"`
   181  	// NullFields is a list of field names (e.g. "AnnotationProgress") to include
   182  	// in API requests with the JSON null value. By default, fields with empty
   183  	// values are omitted from API requests. See
   184  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   185  	NullFields []string `json:"-"`
   186  }
   187  
   188  func (s *GoogleCloudVideointelligenceV1AnnotateVideoProgress) MarshalJSON() ([]byte, error) {
   189  	type NoMethod GoogleCloudVideointelligenceV1AnnotateVideoProgress
   190  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   191  }
   192  
   193  // GoogleCloudVideointelligenceV1AnnotateVideoResponse: Video annotation
   194  // response. Included in the `response` field of the `Operation` returned by
   195  // the `GetOperation` call of the `google::longrunning::Operations` service.
   196  type GoogleCloudVideointelligenceV1AnnotateVideoResponse struct {
   197  	// AnnotationResults: Annotation results for all videos specified in
   198  	// `AnnotateVideoRequest`.
   199  	AnnotationResults []*GoogleCloudVideointelligenceV1VideoAnnotationResults `json:"annotationResults,omitempty"`
   200  	// ForceSendFields is a list of field names (e.g. "AnnotationResults") to
   201  	// unconditionally include in API requests. By default, fields with empty or
   202  	// default values are omitted from API requests. See
   203  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   204  	// details.
   205  	ForceSendFields []string `json:"-"`
   206  	// NullFields is a list of field names (e.g. "AnnotationResults") to include in
   207  	// API requests with the JSON null value. By default, fields with empty values
   208  	// are omitted from API requests. See
   209  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   210  	NullFields []string `json:"-"`
   211  }
   212  
   213  func (s *GoogleCloudVideointelligenceV1AnnotateVideoResponse) MarshalJSON() ([]byte, error) {
   214  	type NoMethod GoogleCloudVideointelligenceV1AnnotateVideoResponse
   215  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   216  }
   217  
   218  // GoogleCloudVideointelligenceV1DetectedAttribute: A generic detected
   219  // attribute represented by name in string format.
   220  type GoogleCloudVideointelligenceV1DetectedAttribute struct {
   221  	// Confidence: Detected attribute confidence. Range [0, 1].
   222  	Confidence float64 `json:"confidence,omitempty"`
   223  	// Name: The name of the attribute, for example, glasses, dark_glasses,
   224  	// mouth_open. A full list of supported type names will be provided in the
   225  	// document.
   226  	Name string `json:"name,omitempty"`
   227  	// Value: Text value of the detection result. For example, the value for
   228  	// "HairColor" can be "black", "blonde", etc.
   229  	Value string `json:"value,omitempty"`
   230  	// ForceSendFields is a list of field names (e.g. "Confidence") to
   231  	// unconditionally include in API requests. By default, fields with empty or
   232  	// default values are omitted from API requests. See
   233  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   234  	// details.
   235  	ForceSendFields []string `json:"-"`
   236  	// NullFields is a list of field names (e.g. "Confidence") to include in API
   237  	// requests with the JSON null value. By default, fields with empty values are
   238  	// omitted from API requests. See
   239  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   240  	NullFields []string `json:"-"`
   241  }
   242  
   243  func (s *GoogleCloudVideointelligenceV1DetectedAttribute) MarshalJSON() ([]byte, error) {
   244  	type NoMethod GoogleCloudVideointelligenceV1DetectedAttribute
   245  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   246  }
   247  
   248  func (s *GoogleCloudVideointelligenceV1DetectedAttribute) UnmarshalJSON(data []byte) error {
   249  	type NoMethod GoogleCloudVideointelligenceV1DetectedAttribute
   250  	var s1 struct {
   251  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   252  		*NoMethod
   253  	}
   254  	s1.NoMethod = (*NoMethod)(s)
   255  	if err := json.Unmarshal(data, &s1); err != nil {
   256  		return err
   257  	}
   258  	s.Confidence = float64(s1.Confidence)
   259  	return nil
   260  }
   261  
   262  // GoogleCloudVideointelligenceV1DetectedLandmark: A generic detected landmark
   263  // represented by name in string format and a 2D location.
   264  type GoogleCloudVideointelligenceV1DetectedLandmark struct {
   265  	// Confidence: The confidence score of the detected landmark. Range [0, 1].
   266  	Confidence float64 `json:"confidence,omitempty"`
   267  	// Name: The name of this landmark, for example, left_hand, right_shoulder.
   268  	Name string `json:"name,omitempty"`
   269  	// Point: The 2D point of the detected landmark using the normalized image
   270  	// coordindate system. The normalized coordinates have the range from 0 to 1.
   271  	Point *GoogleCloudVideointelligenceV1NormalizedVertex `json:"point,omitempty"`
   272  	// ForceSendFields is a list of field names (e.g. "Confidence") to
   273  	// unconditionally include in API requests. By default, fields with empty or
   274  	// default values are omitted from API requests. See
   275  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   276  	// details.
   277  	ForceSendFields []string `json:"-"`
   278  	// NullFields is a list of field names (e.g. "Confidence") to include in API
   279  	// requests with the JSON null value. By default, fields with empty values are
   280  	// omitted from API requests. See
   281  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   282  	NullFields []string `json:"-"`
   283  }
   284  
   285  func (s *GoogleCloudVideointelligenceV1DetectedLandmark) MarshalJSON() ([]byte, error) {
   286  	type NoMethod GoogleCloudVideointelligenceV1DetectedLandmark
   287  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   288  }
   289  
   290  func (s *GoogleCloudVideointelligenceV1DetectedLandmark) UnmarshalJSON(data []byte) error {
   291  	type NoMethod GoogleCloudVideointelligenceV1DetectedLandmark
   292  	var s1 struct {
   293  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   294  		*NoMethod
   295  	}
   296  	s1.NoMethod = (*NoMethod)(s)
   297  	if err := json.Unmarshal(data, &s1); err != nil {
   298  		return err
   299  	}
   300  	s.Confidence = float64(s1.Confidence)
   301  	return nil
   302  }
   303  
   304  // GoogleCloudVideointelligenceV1Entity: Detected entity from video analysis.
   305  type GoogleCloudVideointelligenceV1Entity struct {
   306  	// Description: Textual description, e.g., `Fixed-gear bicycle`.
   307  	Description string `json:"description,omitempty"`
   308  	// EntityId: Opaque entity ID. Some IDs may be available in Google Knowledge
   309  	// Graph Search API (https://developers.google.com/knowledge-graph/).
   310  	EntityId string `json:"entityId,omitempty"`
   311  	// LanguageCode: Language code for `description` in BCP-47 format.
   312  	LanguageCode string `json:"languageCode,omitempty"`
   313  	// ForceSendFields is a list of field names (e.g. "Description") to
   314  	// unconditionally include in API requests. By default, fields with empty or
   315  	// default values are omitted from API requests. See
   316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   317  	// details.
   318  	ForceSendFields []string `json:"-"`
   319  	// NullFields is a list of field names (e.g. "Description") to include in API
   320  	// requests with the JSON null value. By default, fields with empty values are
   321  	// omitted from API requests. See
   322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   323  	NullFields []string `json:"-"`
   324  }
   325  
   326  func (s *GoogleCloudVideointelligenceV1Entity) MarshalJSON() ([]byte, error) {
   327  	type NoMethod GoogleCloudVideointelligenceV1Entity
   328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   329  }
   330  
   331  // GoogleCloudVideointelligenceV1ExplicitContentAnnotation: Explicit content
   332  // annotation (based on per-frame visual signals only). If no explicit content
   333  // has been detected in a frame, no annotations are present for that frame.
   334  type GoogleCloudVideointelligenceV1ExplicitContentAnnotation struct {
   335  	// Frames: All video frames where explicit content was detected.
   336  	Frames []*GoogleCloudVideointelligenceV1ExplicitContentFrame `json:"frames,omitempty"`
   337  	// Version: Feature version.
   338  	Version string `json:"version,omitempty"`
   339  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
   340  	// include in API requests. By default, fields with empty or default values are
   341  	// omitted from API requests. See
   342  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   343  	// details.
   344  	ForceSendFields []string `json:"-"`
   345  	// NullFields is a list of field names (e.g. "Frames") to include in API
   346  	// requests with the JSON null value. By default, fields with empty values are
   347  	// omitted from API requests. See
   348  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   349  	NullFields []string `json:"-"`
   350  }
   351  
   352  func (s *GoogleCloudVideointelligenceV1ExplicitContentAnnotation) MarshalJSON() ([]byte, error) {
   353  	type NoMethod GoogleCloudVideointelligenceV1ExplicitContentAnnotation
   354  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   355  }
   356  
   357  // GoogleCloudVideointelligenceV1ExplicitContentFrame: Video frame level
   358  // annotation results for explicit content.
   359  type GoogleCloudVideointelligenceV1ExplicitContentFrame struct {
   360  	// PornographyLikelihood: Likelihood of the pornography content..
   361  	//
   362  	// Possible values:
   363  	//   "LIKELIHOOD_UNSPECIFIED" - Unspecified likelihood.
   364  	//   "VERY_UNLIKELY" - Very unlikely.
   365  	//   "UNLIKELY" - Unlikely.
   366  	//   "POSSIBLE" - Possible.
   367  	//   "LIKELY" - Likely.
   368  	//   "VERY_LIKELY" - Very likely.
   369  	PornographyLikelihood string `json:"pornographyLikelihood,omitempty"`
   370  	// TimeOffset: Time-offset, relative to the beginning of the video,
   371  	// corresponding to the video frame for this location.
   372  	TimeOffset string `json:"timeOffset,omitempty"`
   373  	// ForceSendFields is a list of field names (e.g. "PornographyLikelihood") to
   374  	// unconditionally include in API requests. By default, fields with empty or
   375  	// default values are omitted from API requests. See
   376  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   377  	// details.
   378  	ForceSendFields []string `json:"-"`
   379  	// NullFields is a list of field names (e.g. "PornographyLikelihood") to
   380  	// include in API requests with the JSON null value. By default, fields with
   381  	// empty values are omitted from API requests. See
   382  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   383  	NullFields []string `json:"-"`
   384  }
   385  
   386  func (s *GoogleCloudVideointelligenceV1ExplicitContentFrame) MarshalJSON() ([]byte, error) {
   387  	type NoMethod GoogleCloudVideointelligenceV1ExplicitContentFrame
   388  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   389  }
   390  
   391  // GoogleCloudVideointelligenceV1FaceAnnotation: Deprecated. No effect.
   392  type GoogleCloudVideointelligenceV1FaceAnnotation struct {
   393  	// Frames: All video frames where a face was detected.
   394  	Frames []*GoogleCloudVideointelligenceV1FaceFrame `json:"frames,omitempty"`
   395  	// Segments: All video segments where a face was detected.
   396  	Segments []*GoogleCloudVideointelligenceV1FaceSegment `json:"segments,omitempty"`
   397  	// Thumbnail: Thumbnail of a representative face view (in JPEG format).
   398  	Thumbnail string `json:"thumbnail,omitempty"`
   399  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
   400  	// include in API requests. By default, fields with empty or default values are
   401  	// omitted from API requests. See
   402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   403  	// details.
   404  	ForceSendFields []string `json:"-"`
   405  	// NullFields is a list of field names (e.g. "Frames") to include in API
   406  	// requests with the JSON null value. By default, fields with empty values are
   407  	// omitted from API requests. See
   408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   409  	NullFields []string `json:"-"`
   410  }
   411  
   412  func (s *GoogleCloudVideointelligenceV1FaceAnnotation) MarshalJSON() ([]byte, error) {
   413  	type NoMethod GoogleCloudVideointelligenceV1FaceAnnotation
   414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   415  }
   416  
   417  // GoogleCloudVideointelligenceV1FaceDetectionAnnotation: Face detection
   418  // annotation.
   419  type GoogleCloudVideointelligenceV1FaceDetectionAnnotation struct {
   420  	// Thumbnail: The thumbnail of a person's face.
   421  	Thumbnail string `json:"thumbnail,omitempty"`
   422  	// Tracks: The face tracks with attributes.
   423  	Tracks []*GoogleCloudVideointelligenceV1Track `json:"tracks,omitempty"`
   424  	// Version: Feature version.
   425  	Version string `json:"version,omitempty"`
   426  	// ForceSendFields is a list of field names (e.g. "Thumbnail") to
   427  	// unconditionally include in API requests. By default, fields with empty or
   428  	// default values are omitted from API requests. See
   429  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   430  	// details.
   431  	ForceSendFields []string `json:"-"`
   432  	// NullFields is a list of field names (e.g. "Thumbnail") to include in API
   433  	// requests with the JSON null value. By default, fields with empty values are
   434  	// omitted from API requests. See
   435  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   436  	NullFields []string `json:"-"`
   437  }
   438  
   439  func (s *GoogleCloudVideointelligenceV1FaceDetectionAnnotation) MarshalJSON() ([]byte, error) {
   440  	type NoMethod GoogleCloudVideointelligenceV1FaceDetectionAnnotation
   441  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   442  }
   443  
   444  // GoogleCloudVideointelligenceV1FaceFrame: Deprecated. No effect.
   445  type GoogleCloudVideointelligenceV1FaceFrame struct {
   446  	// NormalizedBoundingBoxes: Normalized Bounding boxes in a frame. There can be
   447  	// more than one boxes if the same face is detected in multiple locations
   448  	// within the current frame.
   449  	NormalizedBoundingBoxes []*GoogleCloudVideointelligenceV1NormalizedBoundingBox `json:"normalizedBoundingBoxes,omitempty"`
   450  	// TimeOffset: Time-offset, relative to the beginning of the video,
   451  	// corresponding to the video frame for this location.
   452  	TimeOffset string `json:"timeOffset,omitempty"`
   453  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
   454  	// unconditionally include in API requests. By default, fields with empty or
   455  	// default values are omitted from API requests. See
   456  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   457  	// details.
   458  	ForceSendFields []string `json:"-"`
   459  	// NullFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
   460  	// include in API requests with the JSON null value. By default, fields with
   461  	// empty values are omitted from API requests. See
   462  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   463  	NullFields []string `json:"-"`
   464  }
   465  
   466  func (s *GoogleCloudVideointelligenceV1FaceFrame) MarshalJSON() ([]byte, error) {
   467  	type NoMethod GoogleCloudVideointelligenceV1FaceFrame
   468  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   469  }
   470  
   471  // GoogleCloudVideointelligenceV1FaceSegment: Video segment level annotation
   472  // results for face detection.
   473  type GoogleCloudVideointelligenceV1FaceSegment struct {
   474  	// Segment: Video segment where a face was detected.
   475  	Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"`
   476  	// ForceSendFields is a list of field names (e.g. "Segment") to unconditionally
   477  	// include in API requests. By default, fields with empty or default values are
   478  	// omitted from API requests. See
   479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   480  	// details.
   481  	ForceSendFields []string `json:"-"`
   482  	// NullFields is a list of field names (e.g. "Segment") to include in API
   483  	// requests with the JSON null value. By default, fields with empty values are
   484  	// omitted from API requests. See
   485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   486  	NullFields []string `json:"-"`
   487  }
   488  
   489  func (s *GoogleCloudVideointelligenceV1FaceSegment) MarshalJSON() ([]byte, error) {
   490  	type NoMethod GoogleCloudVideointelligenceV1FaceSegment
   491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   492  }
   493  
   494  // GoogleCloudVideointelligenceV1LabelAnnotation: Label annotation.
   495  type GoogleCloudVideointelligenceV1LabelAnnotation struct {
   496  	// CategoryEntities: Common categories for the detected entity. For example,
   497  	// when the label is `Terrier`, the category is likely `dog`. And in some cases
   498  	// there might be more than one categories e.g., `Terrier` could also be a
   499  	// `pet`.
   500  	CategoryEntities []*GoogleCloudVideointelligenceV1Entity `json:"categoryEntities,omitempty"`
   501  	// Entity: Detected entity.
   502  	Entity *GoogleCloudVideointelligenceV1Entity `json:"entity,omitempty"`
   503  	// Frames: All video frames where a label was detected.
   504  	Frames []*GoogleCloudVideointelligenceV1LabelFrame `json:"frames,omitempty"`
   505  	// Segments: All video segments where a label was detected.
   506  	Segments []*GoogleCloudVideointelligenceV1LabelSegment `json:"segments,omitempty"`
   507  	// Version: Feature version.
   508  	Version string `json:"version,omitempty"`
   509  	// ForceSendFields is a list of field names (e.g. "CategoryEntities") to
   510  	// unconditionally include in API requests. By default, fields with empty or
   511  	// default values are omitted from API requests. See
   512  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   513  	// details.
   514  	ForceSendFields []string `json:"-"`
   515  	// NullFields is a list of field names (e.g. "CategoryEntities") to include in
   516  	// API requests with the JSON null value. By default, fields with empty values
   517  	// are omitted from API requests. See
   518  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   519  	NullFields []string `json:"-"`
   520  }
   521  
   522  func (s *GoogleCloudVideointelligenceV1LabelAnnotation) MarshalJSON() ([]byte, error) {
   523  	type NoMethod GoogleCloudVideointelligenceV1LabelAnnotation
   524  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   525  }
   526  
   527  // GoogleCloudVideointelligenceV1LabelFrame: Video frame level annotation
   528  // results for label detection.
   529  type GoogleCloudVideointelligenceV1LabelFrame struct {
   530  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
   531  	Confidence float64 `json:"confidence,omitempty"`
   532  	// TimeOffset: Time-offset, relative to the beginning of the video,
   533  	// corresponding to the video frame for this location.
   534  	TimeOffset string `json:"timeOffset,omitempty"`
   535  	// ForceSendFields is a list of field names (e.g. "Confidence") to
   536  	// unconditionally include in API requests. By default, fields with empty or
   537  	// default values are omitted from API requests. See
   538  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   539  	// details.
   540  	ForceSendFields []string `json:"-"`
   541  	// NullFields is a list of field names (e.g. "Confidence") to include in API
   542  	// requests with the JSON null value. By default, fields with empty values are
   543  	// omitted from API requests. See
   544  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   545  	NullFields []string `json:"-"`
   546  }
   547  
   548  func (s *GoogleCloudVideointelligenceV1LabelFrame) MarshalJSON() ([]byte, error) {
   549  	type NoMethod GoogleCloudVideointelligenceV1LabelFrame
   550  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   551  }
   552  
   553  func (s *GoogleCloudVideointelligenceV1LabelFrame) UnmarshalJSON(data []byte) error {
   554  	type NoMethod GoogleCloudVideointelligenceV1LabelFrame
   555  	var s1 struct {
   556  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   557  		*NoMethod
   558  	}
   559  	s1.NoMethod = (*NoMethod)(s)
   560  	if err := json.Unmarshal(data, &s1); err != nil {
   561  		return err
   562  	}
   563  	s.Confidence = float64(s1.Confidence)
   564  	return nil
   565  }
   566  
   567  // GoogleCloudVideointelligenceV1LabelSegment: Video segment level annotation
   568  // results for label detection.
   569  type GoogleCloudVideointelligenceV1LabelSegment struct {
   570  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
   571  	Confidence float64 `json:"confidence,omitempty"`
   572  	// Segment: Video segment where a label was detected.
   573  	Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"`
   574  	// ForceSendFields is a list of field names (e.g. "Confidence") to
   575  	// unconditionally include in API requests. By default, fields with empty or
   576  	// default values are omitted from API requests. See
   577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   578  	// details.
   579  	ForceSendFields []string `json:"-"`
   580  	// NullFields is a list of field names (e.g. "Confidence") to include in API
   581  	// requests with the JSON null value. By default, fields with empty values are
   582  	// omitted from API requests. See
   583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   584  	NullFields []string `json:"-"`
   585  }
   586  
   587  func (s *GoogleCloudVideointelligenceV1LabelSegment) MarshalJSON() ([]byte, error) {
   588  	type NoMethod GoogleCloudVideointelligenceV1LabelSegment
   589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   590  }
   591  
   592  func (s *GoogleCloudVideointelligenceV1LabelSegment) UnmarshalJSON(data []byte) error {
   593  	type NoMethod GoogleCloudVideointelligenceV1LabelSegment
   594  	var s1 struct {
   595  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   596  		*NoMethod
   597  	}
   598  	s1.NoMethod = (*NoMethod)(s)
   599  	if err := json.Unmarshal(data, &s1); err != nil {
   600  		return err
   601  	}
   602  	s.Confidence = float64(s1.Confidence)
   603  	return nil
   604  }
   605  
   606  // GoogleCloudVideointelligenceV1LogoRecognitionAnnotation: Annotation
   607  // corresponding to one detected, tracked and recognized logo class.
   608  type GoogleCloudVideointelligenceV1LogoRecognitionAnnotation struct {
   609  	// Entity: Entity category information to specify the logo class that all the
   610  	// logo tracks within this LogoRecognitionAnnotation are recognized as.
   611  	Entity *GoogleCloudVideointelligenceV1Entity `json:"entity,omitempty"`
   612  	// Segments: All video segments where the recognized logo appears. There might
   613  	// be multiple instances of the same logo class appearing in one VideoSegment.
   614  	Segments []*GoogleCloudVideointelligenceV1VideoSegment `json:"segments,omitempty"`
   615  	// Tracks: All logo tracks where the recognized logo appears. Each track
   616  	// corresponds to one logo instance appearing in consecutive frames.
   617  	Tracks []*GoogleCloudVideointelligenceV1Track `json:"tracks,omitempty"`
   618  	// ForceSendFields is a list of field names (e.g. "Entity") to unconditionally
   619  	// include in API requests. By default, fields with empty or default values are
   620  	// omitted from API requests. See
   621  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   622  	// details.
   623  	ForceSendFields []string `json:"-"`
   624  	// NullFields is a list of field names (e.g. "Entity") to include in API
   625  	// requests with the JSON null value. By default, fields with empty values are
   626  	// omitted from API requests. See
   627  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   628  	NullFields []string `json:"-"`
   629  }
   630  
   631  func (s *GoogleCloudVideointelligenceV1LogoRecognitionAnnotation) MarshalJSON() ([]byte, error) {
   632  	type NoMethod GoogleCloudVideointelligenceV1LogoRecognitionAnnotation
   633  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   634  }
   635  
   636  // GoogleCloudVideointelligenceV1NormalizedBoundingBox: Normalized bounding
   637  // box. The normalized vertex coordinates are relative to the original image.
   638  // Range: [0, 1].
   639  type GoogleCloudVideointelligenceV1NormalizedBoundingBox struct {
   640  	// Bottom: Bottom Y coordinate.
   641  	Bottom float64 `json:"bottom,omitempty"`
   642  	// Left: Left X coordinate.
   643  	Left float64 `json:"left,omitempty"`
   644  	// Right: Right X coordinate.
   645  	Right float64 `json:"right,omitempty"`
   646  	// Top: Top Y coordinate.
   647  	Top float64 `json:"top,omitempty"`
   648  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
   649  	// include in API requests. By default, fields with empty or default values are
   650  	// omitted from API requests. See
   651  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   652  	// details.
   653  	ForceSendFields []string `json:"-"`
   654  	// NullFields is a list of field names (e.g. "Bottom") to include in API
   655  	// requests with the JSON null value. By default, fields with empty values are
   656  	// omitted from API requests. See
   657  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   658  	NullFields []string `json:"-"`
   659  }
   660  
   661  func (s *GoogleCloudVideointelligenceV1NormalizedBoundingBox) MarshalJSON() ([]byte, error) {
   662  	type NoMethod GoogleCloudVideointelligenceV1NormalizedBoundingBox
   663  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   664  }
   665  
   666  func (s *GoogleCloudVideointelligenceV1NormalizedBoundingBox) UnmarshalJSON(data []byte) error {
   667  	type NoMethod GoogleCloudVideointelligenceV1NormalizedBoundingBox
   668  	var s1 struct {
   669  		Bottom gensupport.JSONFloat64 `json:"bottom"`
   670  		Left   gensupport.JSONFloat64 `json:"left"`
   671  		Right  gensupport.JSONFloat64 `json:"right"`
   672  		Top    gensupport.JSONFloat64 `json:"top"`
   673  		*NoMethod
   674  	}
   675  	s1.NoMethod = (*NoMethod)(s)
   676  	if err := json.Unmarshal(data, &s1); err != nil {
   677  		return err
   678  	}
   679  	s.Bottom = float64(s1.Bottom)
   680  	s.Left = float64(s1.Left)
   681  	s.Right = float64(s1.Right)
   682  	s.Top = float64(s1.Top)
   683  	return nil
   684  }
   685  
   686  // GoogleCloudVideointelligenceV1NormalizedBoundingPoly: Normalized bounding
   687  // polygon for text (that might not be aligned with axis). Contains list of the
   688  // corner points in clockwise order starting from top-left corner. For example,
   689  // for a rectangular bounding box: When the text is horizontal it might look
   690  // like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees around the
   691  // top-left corner it becomes: 2----3 | | 1----0 and the vertex order will
   692  // still be (0, 1, 2, 3). Note that values can be less than 0, or greater than
   693  // 1 due to trignometric calculations for location of the box.
   694  type GoogleCloudVideointelligenceV1NormalizedBoundingPoly struct {
   695  	// Vertices: Normalized vertices of the bounding polygon.
   696  	Vertices []*GoogleCloudVideointelligenceV1NormalizedVertex `json:"vertices,omitempty"`
   697  	// ForceSendFields is a list of field names (e.g. "Vertices") to
   698  	// unconditionally include in API requests. By default, fields with empty or
   699  	// default values are omitted from API requests. See
   700  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   701  	// details.
   702  	ForceSendFields []string `json:"-"`
   703  	// NullFields is a list of field names (e.g. "Vertices") to include in API
   704  	// requests with the JSON null value. By default, fields with empty values are
   705  	// omitted from API requests. See
   706  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   707  	NullFields []string `json:"-"`
   708  }
   709  
   710  func (s *GoogleCloudVideointelligenceV1NormalizedBoundingPoly) MarshalJSON() ([]byte, error) {
   711  	type NoMethod GoogleCloudVideointelligenceV1NormalizedBoundingPoly
   712  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   713  }
   714  
   715  // GoogleCloudVideointelligenceV1NormalizedVertex: A vertex represents a 2D
   716  // point in the image. NOTE: the normalized vertex coordinates are relative to
   717  // the original image and range from 0 to 1.
   718  type GoogleCloudVideointelligenceV1NormalizedVertex struct {
   719  	// X: X coordinate.
   720  	X float64 `json:"x,omitempty"`
   721  	// Y: Y coordinate.
   722  	Y float64 `json:"y,omitempty"`
   723  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
   724  	// include in API requests. By default, fields with empty or default values are
   725  	// omitted from API requests. See
   726  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   727  	// details.
   728  	ForceSendFields []string `json:"-"`
   729  	// NullFields is a list of field names (e.g. "X") to include in API requests
   730  	// with the JSON null value. By default, fields with empty values are omitted
   731  	// from API requests. See
   732  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   733  	NullFields []string `json:"-"`
   734  }
   735  
   736  func (s *GoogleCloudVideointelligenceV1NormalizedVertex) MarshalJSON() ([]byte, error) {
   737  	type NoMethod GoogleCloudVideointelligenceV1NormalizedVertex
   738  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   739  }
   740  
   741  func (s *GoogleCloudVideointelligenceV1NormalizedVertex) UnmarshalJSON(data []byte) error {
   742  	type NoMethod GoogleCloudVideointelligenceV1NormalizedVertex
   743  	var s1 struct {
   744  		X gensupport.JSONFloat64 `json:"x"`
   745  		Y gensupport.JSONFloat64 `json:"y"`
   746  		*NoMethod
   747  	}
   748  	s1.NoMethod = (*NoMethod)(s)
   749  	if err := json.Unmarshal(data, &s1); err != nil {
   750  		return err
   751  	}
   752  	s.X = float64(s1.X)
   753  	s.Y = float64(s1.Y)
   754  	return nil
   755  }
   756  
   757  // GoogleCloudVideointelligenceV1ObjectTrackingAnnotation: Annotations
   758  // corresponding to one tracked object.
   759  type GoogleCloudVideointelligenceV1ObjectTrackingAnnotation struct {
   760  	// Confidence: Object category's labeling confidence of this track.
   761  	Confidence float64 `json:"confidence,omitempty"`
   762  	// Entity: Entity to specify the object category that this track is labeled as.
   763  	Entity *GoogleCloudVideointelligenceV1Entity `json:"entity,omitempty"`
   764  	// Frames: Information corresponding to all frames where this object track
   765  	// appears. Non-streaming batch mode: it may be one or multiple
   766  	// ObjectTrackingFrame messages in frames. Streaming mode: it can only be one
   767  	// ObjectTrackingFrame message in frames.
   768  	Frames []*GoogleCloudVideointelligenceV1ObjectTrackingFrame `json:"frames,omitempty"`
   769  	// Segment: Non-streaming batch mode ONLY. Each object track corresponds to one
   770  	// video segment where it appears.
   771  	Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"`
   772  	// TrackId: Streaming mode ONLY. In streaming mode, we do not know the end time
   773  	// of a tracked object before it is completed. Hence, there is no VideoSegment
   774  	// info returned. Instead, we provide a unique identifiable integer track_id so
   775  	// that the customers can correlate the results of the ongoing
   776  	// ObjectTrackAnnotation of the same track_id over time.
   777  	TrackId int64 `json:"trackId,omitempty,string"`
   778  	// Version: Feature version.
   779  	Version string `json:"version,omitempty"`
   780  	// ForceSendFields is a list of field names (e.g. "Confidence") to
   781  	// unconditionally include in API requests. By default, fields with empty or
   782  	// default values are omitted from API requests. See
   783  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   784  	// details.
   785  	ForceSendFields []string `json:"-"`
   786  	// NullFields is a list of field names (e.g. "Confidence") to include in API
   787  	// requests with the JSON null value. By default, fields with empty values are
   788  	// omitted from API requests. See
   789  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   790  	NullFields []string `json:"-"`
   791  }
   792  
   793  func (s *GoogleCloudVideointelligenceV1ObjectTrackingAnnotation) MarshalJSON() ([]byte, error) {
   794  	type NoMethod GoogleCloudVideointelligenceV1ObjectTrackingAnnotation
   795  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   796  }
   797  
   798  func (s *GoogleCloudVideointelligenceV1ObjectTrackingAnnotation) UnmarshalJSON(data []byte) error {
   799  	type NoMethod GoogleCloudVideointelligenceV1ObjectTrackingAnnotation
   800  	var s1 struct {
   801  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   802  		*NoMethod
   803  	}
   804  	s1.NoMethod = (*NoMethod)(s)
   805  	if err := json.Unmarshal(data, &s1); err != nil {
   806  		return err
   807  	}
   808  	s.Confidence = float64(s1.Confidence)
   809  	return nil
   810  }
   811  
   812  // GoogleCloudVideointelligenceV1ObjectTrackingFrame: Video frame level
   813  // annotations for object detection and tracking. This field stores per frame
   814  // location, time offset, and confidence.
   815  type GoogleCloudVideointelligenceV1ObjectTrackingFrame struct {
   816  	// NormalizedBoundingBox: The normalized bounding box location of this object
   817  	// track for the frame.
   818  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
   819  	// TimeOffset: The timestamp of the frame in microseconds.
   820  	TimeOffset string `json:"timeOffset,omitempty"`
   821  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBox") to
   822  	// unconditionally include in API requests. By default, fields with empty or
   823  	// default values are omitted from API requests. See
   824  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   825  	// details.
   826  	ForceSendFields []string `json:"-"`
   827  	// NullFields is a list of field names (e.g. "NormalizedBoundingBox") to
   828  	// include in API requests with the JSON null value. By default, fields with
   829  	// empty values are omitted from API requests. See
   830  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   831  	NullFields []string `json:"-"`
   832  }
   833  
   834  func (s *GoogleCloudVideointelligenceV1ObjectTrackingFrame) MarshalJSON() ([]byte, error) {
   835  	type NoMethod GoogleCloudVideointelligenceV1ObjectTrackingFrame
   836  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   837  }
   838  
   839  // GoogleCloudVideointelligenceV1PersonDetectionAnnotation: Person detection
   840  // annotation per video.
   841  type GoogleCloudVideointelligenceV1PersonDetectionAnnotation struct {
   842  	// Tracks: The detected tracks of a person.
   843  	Tracks []*GoogleCloudVideointelligenceV1Track `json:"tracks,omitempty"`
   844  	// Version: Feature version.
   845  	Version string `json:"version,omitempty"`
   846  	// ForceSendFields is a list of field names (e.g. "Tracks") to unconditionally
   847  	// include in API requests. By default, fields with empty or default values are
   848  	// omitted from API requests. See
   849  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   850  	// details.
   851  	ForceSendFields []string `json:"-"`
   852  	// NullFields is a list of field names (e.g. "Tracks") to include in API
   853  	// requests with the JSON null value. By default, fields with empty values are
   854  	// omitted from API requests. See
   855  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   856  	NullFields []string `json:"-"`
   857  }
   858  
   859  func (s *GoogleCloudVideointelligenceV1PersonDetectionAnnotation) MarshalJSON() ([]byte, error) {
   860  	type NoMethod GoogleCloudVideointelligenceV1PersonDetectionAnnotation
   861  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   862  }
   863  
   864  // GoogleCloudVideointelligenceV1SpeechRecognitionAlternative: Alternative
   865  // hypotheses (a.k.a. n-best list).
   866  type GoogleCloudVideointelligenceV1SpeechRecognitionAlternative struct {
   867  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
   868  	// higher number indicates an estimated greater likelihood that the recognized
   869  	// words are correct. This field is set only for the top alternative. This
   870  	// field is not guaranteed to be accurate and users should not rely on it to be
   871  	// always provided. The default of 0.0 is a sentinel value indicating
   872  	// `confidence` was not set.
   873  	Confidence float64 `json:"confidence,omitempty"`
   874  	// Transcript: Transcript text representing the words that the user spoke.
   875  	Transcript string `json:"transcript,omitempty"`
   876  	// Words: Output only. A list of word-specific information for each recognized
   877  	// word. Note: When `enable_speaker_diarization` is set to true, you will see
   878  	// all the words from the beginning of the audio.
   879  	Words []*GoogleCloudVideointelligenceV1WordInfo `json:"words,omitempty"`
   880  	// ForceSendFields is a list of field names (e.g. "Confidence") to
   881  	// unconditionally include in API requests. By default, fields with empty or
   882  	// default values are omitted from API requests. See
   883  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   884  	// details.
   885  	ForceSendFields []string `json:"-"`
   886  	// NullFields is a list of field names (e.g. "Confidence") to include in API
   887  	// requests with the JSON null value. By default, fields with empty values are
   888  	// omitted from API requests. See
   889  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   890  	NullFields []string `json:"-"`
   891  }
   892  
   893  func (s *GoogleCloudVideointelligenceV1SpeechRecognitionAlternative) MarshalJSON() ([]byte, error) {
   894  	type NoMethod GoogleCloudVideointelligenceV1SpeechRecognitionAlternative
   895  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   896  }
   897  
   898  func (s *GoogleCloudVideointelligenceV1SpeechRecognitionAlternative) UnmarshalJSON(data []byte) error {
   899  	type NoMethod GoogleCloudVideointelligenceV1SpeechRecognitionAlternative
   900  	var s1 struct {
   901  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   902  		*NoMethod
   903  	}
   904  	s1.NoMethod = (*NoMethod)(s)
   905  	if err := json.Unmarshal(data, &s1); err != nil {
   906  		return err
   907  	}
   908  	s.Confidence = float64(s1.Confidence)
   909  	return nil
   910  }
   911  
   912  // GoogleCloudVideointelligenceV1SpeechTranscription: A speech recognition
   913  // result corresponding to a portion of the audio.
   914  type GoogleCloudVideointelligenceV1SpeechTranscription struct {
   915  	// Alternatives: May contain one or more recognition hypotheses (up to the
   916  	// maximum specified in `max_alternatives`). These alternatives are ordered in
   917  	// terms of accuracy, with the top (first) alternative being the most probable,
   918  	// as ranked by the recognizer.
   919  	Alternatives []*GoogleCloudVideointelligenceV1SpeechRecognitionAlternative `json:"alternatives,omitempty"`
   920  	// LanguageCode: Output only. The BCP-47
   921  	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language
   922  	// in this result. This language code was detected to have the most likelihood
   923  	// of being spoken in the audio.
   924  	LanguageCode string `json:"languageCode,omitempty"`
   925  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
   926  	// unconditionally include in API requests. By default, fields with empty or
   927  	// default values are omitted from API requests. See
   928  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   929  	// details.
   930  	ForceSendFields []string `json:"-"`
   931  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
   932  	// requests with the JSON null value. By default, fields with empty values are
   933  	// omitted from API requests. See
   934  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   935  	NullFields []string `json:"-"`
   936  }
   937  
   938  func (s *GoogleCloudVideointelligenceV1SpeechTranscription) MarshalJSON() ([]byte, error) {
   939  	type NoMethod GoogleCloudVideointelligenceV1SpeechTranscription
   940  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   941  }
   942  
   943  // GoogleCloudVideointelligenceV1TextAnnotation: Annotations related to one
   944  // detected OCR text snippet. This will contain the corresponding text,
   945  // confidence value, and frame level information for each detection.
   946  type GoogleCloudVideointelligenceV1TextAnnotation struct {
   947  	// Segments: All video segments where OCR detected text appears.
   948  	Segments []*GoogleCloudVideointelligenceV1TextSegment `json:"segments,omitempty"`
   949  	// Text: The detected text.
   950  	Text string `json:"text,omitempty"`
   951  	// Version: Feature version.
   952  	Version string `json:"version,omitempty"`
   953  	// ForceSendFields is a list of field names (e.g. "Segments") to
   954  	// unconditionally include in API requests. By default, fields with empty or
   955  	// default values are omitted from API requests. See
   956  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   957  	// details.
   958  	ForceSendFields []string `json:"-"`
   959  	// NullFields is a list of field names (e.g. "Segments") to include in API
   960  	// requests with the JSON null value. By default, fields with empty values are
   961  	// omitted from API requests. See
   962  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   963  	NullFields []string `json:"-"`
   964  }
   965  
   966  func (s *GoogleCloudVideointelligenceV1TextAnnotation) MarshalJSON() ([]byte, error) {
   967  	type NoMethod GoogleCloudVideointelligenceV1TextAnnotation
   968  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   969  }
   970  
   971  // GoogleCloudVideointelligenceV1TextFrame: Video frame level annotation
   972  // results for text annotation (OCR). Contains information regarding timestamp
   973  // and bounding box locations for the frames containing detected OCR text
   974  // snippets.
   975  type GoogleCloudVideointelligenceV1TextFrame struct {
   976  	// RotatedBoundingBox: Bounding polygon of the detected text for this frame.
   977  	RotatedBoundingBox *GoogleCloudVideointelligenceV1NormalizedBoundingPoly `json:"rotatedBoundingBox,omitempty"`
   978  	// TimeOffset: Timestamp of this frame.
   979  	TimeOffset string `json:"timeOffset,omitempty"`
   980  	// ForceSendFields is a list of field names (e.g. "RotatedBoundingBox") to
   981  	// unconditionally include in API requests. By default, fields with empty or
   982  	// default values are omitted from API requests. See
   983  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   984  	// details.
   985  	ForceSendFields []string `json:"-"`
   986  	// NullFields is a list of field names (e.g. "RotatedBoundingBox") to include
   987  	// in API requests with the JSON null value. By default, fields with empty
   988  	// values are omitted from API requests. See
   989  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   990  	NullFields []string `json:"-"`
   991  }
   992  
   993  func (s *GoogleCloudVideointelligenceV1TextFrame) MarshalJSON() ([]byte, error) {
   994  	type NoMethod GoogleCloudVideointelligenceV1TextFrame
   995  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   996  }
   997  
   998  // GoogleCloudVideointelligenceV1TextSegment: Video segment level annotation
   999  // results for text detection.
  1000  type GoogleCloudVideointelligenceV1TextSegment struct {
  1001  	// Confidence: Confidence for the track of detected text. It is calculated as
  1002  	// the highest over all frames where OCR detected text appears.
  1003  	Confidence float64 `json:"confidence,omitempty"`
  1004  	// Frames: Information related to the frames where OCR detected text appears.
  1005  	Frames []*GoogleCloudVideointelligenceV1TextFrame `json:"frames,omitempty"`
  1006  	// Segment: Video segment where a text snippet was detected.
  1007  	Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"`
  1008  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  1009  	// unconditionally include in API requests. By default, fields with empty or
  1010  	// default values are omitted from API requests. See
  1011  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1012  	// details.
  1013  	ForceSendFields []string `json:"-"`
  1014  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  1015  	// requests with the JSON null value. By default, fields with empty values are
  1016  	// omitted from API requests. See
  1017  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1018  	NullFields []string `json:"-"`
  1019  }
  1020  
  1021  func (s *GoogleCloudVideointelligenceV1TextSegment) MarshalJSON() ([]byte, error) {
  1022  	type NoMethod GoogleCloudVideointelligenceV1TextSegment
  1023  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1024  }
  1025  
  1026  func (s *GoogleCloudVideointelligenceV1TextSegment) UnmarshalJSON(data []byte) error {
  1027  	type NoMethod GoogleCloudVideointelligenceV1TextSegment
  1028  	var s1 struct {
  1029  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1030  		*NoMethod
  1031  	}
  1032  	s1.NoMethod = (*NoMethod)(s)
  1033  	if err := json.Unmarshal(data, &s1); err != nil {
  1034  		return err
  1035  	}
  1036  	s.Confidence = float64(s1.Confidence)
  1037  	return nil
  1038  }
  1039  
  1040  // GoogleCloudVideointelligenceV1TimestampedObject: For tracking related
  1041  // features. An object at time_offset with attributes, and located with
  1042  // normalized_bounding_box.
  1043  type GoogleCloudVideointelligenceV1TimestampedObject struct {
  1044  	// Attributes: Optional. The attributes of the object in the bounding box.
  1045  	Attributes []*GoogleCloudVideointelligenceV1DetectedAttribute `json:"attributes,omitempty"`
  1046  	// Landmarks: Optional. The detected landmarks.
  1047  	Landmarks []*GoogleCloudVideointelligenceV1DetectedLandmark `json:"landmarks,omitempty"`
  1048  	// NormalizedBoundingBox: Normalized Bounding box in a frame, where the object
  1049  	// is located.
  1050  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  1051  	// TimeOffset: Time-offset, relative to the beginning of the video,
  1052  	// corresponding to the video frame for this object.
  1053  	TimeOffset string `json:"timeOffset,omitempty"`
  1054  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  1055  	// unconditionally include in API requests. By default, fields with empty or
  1056  	// default values are omitted from API requests. See
  1057  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1058  	// details.
  1059  	ForceSendFields []string `json:"-"`
  1060  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  1061  	// requests with the JSON null value. By default, fields with empty values are
  1062  	// omitted from API requests. See
  1063  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1064  	NullFields []string `json:"-"`
  1065  }
  1066  
  1067  func (s *GoogleCloudVideointelligenceV1TimestampedObject) MarshalJSON() ([]byte, error) {
  1068  	type NoMethod GoogleCloudVideointelligenceV1TimestampedObject
  1069  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1070  }
  1071  
  1072  // GoogleCloudVideointelligenceV1Track: A track of an object instance.
  1073  type GoogleCloudVideointelligenceV1Track struct {
  1074  	// Attributes: Optional. Attributes in the track level.
  1075  	Attributes []*GoogleCloudVideointelligenceV1DetectedAttribute `json:"attributes,omitempty"`
  1076  	// Confidence: Optional. The confidence score of the tracked object.
  1077  	Confidence float64 `json:"confidence,omitempty"`
  1078  	// Segment: Video segment of a track.
  1079  	Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"`
  1080  	// TimestampedObjects: The object with timestamp and attributes per frame in
  1081  	// the track.
  1082  	TimestampedObjects []*GoogleCloudVideointelligenceV1TimestampedObject `json:"timestampedObjects,omitempty"`
  1083  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  1084  	// unconditionally include in API requests. By default, fields with empty or
  1085  	// default values are omitted from API requests. See
  1086  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1087  	// details.
  1088  	ForceSendFields []string `json:"-"`
  1089  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  1090  	// requests with the JSON null value. By default, fields with empty values are
  1091  	// omitted from API requests. See
  1092  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1093  	NullFields []string `json:"-"`
  1094  }
  1095  
  1096  func (s *GoogleCloudVideointelligenceV1Track) MarshalJSON() ([]byte, error) {
  1097  	type NoMethod GoogleCloudVideointelligenceV1Track
  1098  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1099  }
  1100  
  1101  func (s *GoogleCloudVideointelligenceV1Track) UnmarshalJSON(data []byte) error {
  1102  	type NoMethod GoogleCloudVideointelligenceV1Track
  1103  	var s1 struct {
  1104  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1105  		*NoMethod
  1106  	}
  1107  	s1.NoMethod = (*NoMethod)(s)
  1108  	if err := json.Unmarshal(data, &s1); err != nil {
  1109  		return err
  1110  	}
  1111  	s.Confidence = float64(s1.Confidence)
  1112  	return nil
  1113  }
  1114  
  1115  // GoogleCloudVideointelligenceV1VideoAnnotationProgress: Annotation progress
  1116  // for a single video.
  1117  type GoogleCloudVideointelligenceV1VideoAnnotationProgress struct {
  1118  	// Feature: Specifies which feature is being tracked if the request contains
  1119  	// more than one feature.
  1120  	//
  1121  	// Possible values:
  1122  	//   "FEATURE_UNSPECIFIED" - Unspecified.
  1123  	//   "LABEL_DETECTION" - Label detection. Detect objects, such as dog or
  1124  	// flower.
  1125  	//   "SHOT_CHANGE_DETECTION" - Shot change detection.
  1126  	//   "EXPLICIT_CONTENT_DETECTION" - Explicit content detection.
  1127  	//   "FACE_DETECTION" - Human face detection.
  1128  	//   "SPEECH_TRANSCRIPTION" - Speech transcription.
  1129  	//   "TEXT_DETECTION" - OCR text detection and tracking.
  1130  	//   "OBJECT_TRACKING" - Object detection and tracking.
  1131  	//   "LOGO_RECOGNITION" - Logo detection, tracking, and recognition.
  1132  	//   "PERSON_DETECTION" - Person detection.
  1133  	Feature string `json:"feature,omitempty"`
  1134  	// InputUri: Video file location in Cloud Storage
  1135  	// (https://cloud.google.com/storage/).
  1136  	InputUri string `json:"inputUri,omitempty"`
  1137  	// ProgressPercent: Approximate percentage processed thus far. Guaranteed to be
  1138  	// 100 when fully processed.
  1139  	ProgressPercent int64 `json:"progressPercent,omitempty"`
  1140  	// Segment: Specifies which segment is being tracked if the request contains
  1141  	// more than one segment.
  1142  	Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"`
  1143  	// StartTime: Time when the request was received.
  1144  	StartTime string `json:"startTime,omitempty"`
  1145  	// UpdateTime: Time of the most recent update.
  1146  	UpdateTime string `json:"updateTime,omitempty"`
  1147  	// ForceSendFields is a list of field names (e.g. "Feature") to unconditionally
  1148  	// include in API requests. By default, fields with empty or default values are
  1149  	// omitted from API requests. See
  1150  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1151  	// details.
  1152  	ForceSendFields []string `json:"-"`
  1153  	// NullFields is a list of field names (e.g. "Feature") to include in API
  1154  	// requests with the JSON null value. By default, fields with empty values are
  1155  	// omitted from API requests. See
  1156  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1157  	NullFields []string `json:"-"`
  1158  }
  1159  
  1160  func (s *GoogleCloudVideointelligenceV1VideoAnnotationProgress) MarshalJSON() ([]byte, error) {
  1161  	type NoMethod GoogleCloudVideointelligenceV1VideoAnnotationProgress
  1162  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1163  }
  1164  
  1165  // GoogleCloudVideointelligenceV1VideoAnnotationResults: Annotation results for
  1166  // a single video.
  1167  type GoogleCloudVideointelligenceV1VideoAnnotationResults struct {
  1168  	// Error: If set, indicates an error. Note that for a single
  1169  	// `AnnotateVideoRequest` some videos may succeed and some may fail.
  1170  	Error *GoogleRpcStatus `json:"error,omitempty"`
  1171  	// ExplicitAnnotation: Explicit content annotation.
  1172  	ExplicitAnnotation *GoogleCloudVideointelligenceV1ExplicitContentAnnotation `json:"explicitAnnotation,omitempty"`
  1173  	// FaceAnnotations: Deprecated. Please use `face_detection_annotations`
  1174  	// instead.
  1175  	FaceAnnotations []*GoogleCloudVideointelligenceV1FaceAnnotation `json:"faceAnnotations,omitempty"`
  1176  	// FaceDetectionAnnotations: Face detection annotations.
  1177  	FaceDetectionAnnotations []*GoogleCloudVideointelligenceV1FaceDetectionAnnotation `json:"faceDetectionAnnotations,omitempty"`
  1178  	// FrameLabelAnnotations: Label annotations on frame level. There is exactly
  1179  	// one element for each unique label.
  1180  	FrameLabelAnnotations []*GoogleCloudVideointelligenceV1LabelAnnotation `json:"frameLabelAnnotations,omitempty"`
  1181  	// InputUri: Video file location in Cloud Storage
  1182  	// (https://cloud.google.com/storage/).
  1183  	InputUri string `json:"inputUri,omitempty"`
  1184  	// LogoRecognitionAnnotations: Annotations for list of logos detected, tracked
  1185  	// and recognized in video.
  1186  	LogoRecognitionAnnotations []*GoogleCloudVideointelligenceV1LogoRecognitionAnnotation `json:"logoRecognitionAnnotations,omitempty"`
  1187  	// ObjectAnnotations: Annotations for list of objects detected and tracked in
  1188  	// video.
  1189  	ObjectAnnotations []*GoogleCloudVideointelligenceV1ObjectTrackingAnnotation `json:"objectAnnotations,omitempty"`
  1190  	// PersonDetectionAnnotations: Person detection annotations.
  1191  	PersonDetectionAnnotations []*GoogleCloudVideointelligenceV1PersonDetectionAnnotation `json:"personDetectionAnnotations,omitempty"`
  1192  	// Segment: Video segment on which the annotation is run.
  1193  	Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"`
  1194  	// SegmentLabelAnnotations: Topical label annotations on video level or
  1195  	// user-specified segment level. There is exactly one element for each unique
  1196  	// label.
  1197  	SegmentLabelAnnotations []*GoogleCloudVideointelligenceV1LabelAnnotation `json:"segmentLabelAnnotations,omitempty"`
  1198  	// SegmentPresenceLabelAnnotations: Presence label annotations on video level
  1199  	// or user-specified segment level. There is exactly one element for each
  1200  	// unique label. Compared to the existing topical `segment_label_annotations`,
  1201  	// this field presents more fine-grained, segment-level labels detected in
  1202  	// video content and is made available only when the client sets
  1203  	// `LabelDetectionConfig.model` to "builtin/latest" in the request.
  1204  	SegmentPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1LabelAnnotation `json:"segmentPresenceLabelAnnotations,omitempty"`
  1205  	// ShotAnnotations: Shot annotations. Each shot is represented as a video
  1206  	// segment.
  1207  	ShotAnnotations []*GoogleCloudVideointelligenceV1VideoSegment `json:"shotAnnotations,omitempty"`
  1208  	// ShotLabelAnnotations: Topical label annotations on shot level. There is
  1209  	// exactly one element for each unique label.
  1210  	ShotLabelAnnotations []*GoogleCloudVideointelligenceV1LabelAnnotation `json:"shotLabelAnnotations,omitempty"`
  1211  	// ShotPresenceLabelAnnotations: Presence label annotations on shot level.
  1212  	// There is exactly one element for each unique label. Compared to the existing
  1213  	// topical `shot_label_annotations`, this field presents more fine-grained,
  1214  	// shot-level labels detected in video content and is made available only when
  1215  	// the client sets `LabelDetectionConfig.model` to "builtin/latest" in the
  1216  	// request.
  1217  	ShotPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1LabelAnnotation `json:"shotPresenceLabelAnnotations,omitempty"`
  1218  	// SpeechTranscriptions: Speech transcription.
  1219  	SpeechTranscriptions []*GoogleCloudVideointelligenceV1SpeechTranscription `json:"speechTranscriptions,omitempty"`
  1220  	// TextAnnotations: OCR text detection and tracking. Annotations for list of
  1221  	// detected text snippets. Each will have list of frame information associated
  1222  	// with it.
  1223  	TextAnnotations []*GoogleCloudVideointelligenceV1TextAnnotation `json:"textAnnotations,omitempty"`
  1224  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  1225  	// include in API requests. By default, fields with empty or default values are
  1226  	// omitted from API requests. See
  1227  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1228  	// details.
  1229  	ForceSendFields []string `json:"-"`
  1230  	// NullFields is a list of field names (e.g. "Error") to include in API
  1231  	// requests with the JSON null value. By default, fields with empty values are
  1232  	// omitted from API requests. See
  1233  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1234  	NullFields []string `json:"-"`
  1235  }
  1236  
  1237  func (s *GoogleCloudVideointelligenceV1VideoAnnotationResults) MarshalJSON() ([]byte, error) {
  1238  	type NoMethod GoogleCloudVideointelligenceV1VideoAnnotationResults
  1239  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1240  }
  1241  
  1242  // GoogleCloudVideointelligenceV1VideoSegment: Video segment.
  1243  type GoogleCloudVideointelligenceV1VideoSegment struct {
  1244  	// EndTimeOffset: Time-offset, relative to the beginning of the video,
  1245  	// corresponding to the end of the segment (inclusive).
  1246  	EndTimeOffset string `json:"endTimeOffset,omitempty"`
  1247  	// StartTimeOffset: Time-offset, relative to the beginning of the video,
  1248  	// corresponding to the start of the segment (inclusive).
  1249  	StartTimeOffset string `json:"startTimeOffset,omitempty"`
  1250  	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
  1251  	// unconditionally include in API requests. By default, fields with empty or
  1252  	// default values are omitted from API requests. See
  1253  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1254  	// details.
  1255  	ForceSendFields []string `json:"-"`
  1256  	// NullFields is a list of field names (e.g. "EndTimeOffset") to include in API
  1257  	// requests with the JSON null value. By default, fields with empty values are
  1258  	// omitted from API requests. See
  1259  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1260  	NullFields []string `json:"-"`
  1261  }
  1262  
  1263  func (s *GoogleCloudVideointelligenceV1VideoSegment) MarshalJSON() ([]byte, error) {
  1264  	type NoMethod GoogleCloudVideointelligenceV1VideoSegment
  1265  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1266  }
  1267  
  1268  // GoogleCloudVideointelligenceV1WordInfo: Word-specific information for
  1269  // recognized words. Word information is only included in the response when
  1270  // certain request parameters are set, such as `enable_word_time_offsets`.
  1271  type GoogleCloudVideointelligenceV1WordInfo struct {
  1272  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  1273  	// higher number indicates an estimated greater likelihood that the recognized
  1274  	// words are correct. This field is set only for the top alternative. This
  1275  	// field is not guaranteed to be accurate and users should not rely on it to be
  1276  	// always provided. The default of 0.0 is a sentinel value indicating
  1277  	// `confidence` was not set.
  1278  	Confidence float64 `json:"confidence,omitempty"`
  1279  	// EndTime: Time offset relative to the beginning of the audio, and
  1280  	// corresponding to the end of the spoken word. This field is only set if
  1281  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  1282  	// experimental feature and the accuracy of the time offset can vary.
  1283  	EndTime string `json:"endTime,omitempty"`
  1284  	// SpeakerTag: Output only. A distinct integer value is assigned for every
  1285  	// speaker within the audio. This field specifies which one of those speakers
  1286  	// was detected to have spoken this word. Value ranges from 1 up to
  1287  	// diarization_speaker_count, and is only set if speaker diarization is
  1288  	// enabled.
  1289  	SpeakerTag int64 `json:"speakerTag,omitempty"`
  1290  	// StartTime: Time offset relative to the beginning of the audio, and
  1291  	// corresponding to the start of the spoken word. This field is only set if
  1292  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  1293  	// experimental feature and the accuracy of the time offset can vary.
  1294  	StartTime string `json:"startTime,omitempty"`
  1295  	// Word: The word corresponding to this set of information.
  1296  	Word string `json:"word,omitempty"`
  1297  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  1298  	// unconditionally include in API requests. By default, fields with empty or
  1299  	// default values are omitted from API requests. See
  1300  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1301  	// details.
  1302  	ForceSendFields []string `json:"-"`
  1303  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  1304  	// requests with the JSON null value. By default, fields with empty values are
  1305  	// omitted from API requests. See
  1306  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1307  	NullFields []string `json:"-"`
  1308  }
  1309  
  1310  func (s *GoogleCloudVideointelligenceV1WordInfo) MarshalJSON() ([]byte, error) {
  1311  	type NoMethod GoogleCloudVideointelligenceV1WordInfo
  1312  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1313  }
  1314  
  1315  func (s *GoogleCloudVideointelligenceV1WordInfo) UnmarshalJSON(data []byte) error {
  1316  	type NoMethod GoogleCloudVideointelligenceV1WordInfo
  1317  	var s1 struct {
  1318  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1319  		*NoMethod
  1320  	}
  1321  	s1.NoMethod = (*NoMethod)(s)
  1322  	if err := json.Unmarshal(data, &s1); err != nil {
  1323  		return err
  1324  	}
  1325  	s.Confidence = float64(s1.Confidence)
  1326  	return nil
  1327  }
  1328  
  1329  // GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress: Video annotation
  1330  // progress. Included in the `metadata` field of the `Operation` returned by
  1331  // the `GetOperation` call of the `google::longrunning::Operations` service.
  1332  type GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress struct {
  1333  	// AnnotationProgress: Progress metadata for all videos specified in
  1334  	// `AnnotateVideoRequest`.
  1335  	AnnotationProgress []*GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress `json:"annotationProgress,omitempty"`
  1336  	// ForceSendFields is a list of field names (e.g. "AnnotationProgress") to
  1337  	// unconditionally include in API requests. By default, fields with empty or
  1338  	// default values are omitted from API requests. See
  1339  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1340  	// details.
  1341  	ForceSendFields []string `json:"-"`
  1342  	// NullFields is a list of field names (e.g. "AnnotationProgress") to include
  1343  	// in API requests with the JSON null value. By default, fields with empty
  1344  	// values are omitted from API requests. See
  1345  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1346  	NullFields []string `json:"-"`
  1347  }
  1348  
  1349  func (s *GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress) MarshalJSON() ([]byte, error) {
  1350  	type NoMethod GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress
  1351  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1352  }
  1353  
  1354  // GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse: Video annotation
  1355  // response. Included in the `response` field of the `Operation` returned by
  1356  // the `GetOperation` call of the `google::longrunning::Operations` service.
  1357  type GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse struct {
  1358  	// AnnotationResults: Annotation results for all videos specified in
  1359  	// `AnnotateVideoRequest`.
  1360  	AnnotationResults []*GoogleCloudVideointelligenceV1beta2VideoAnnotationResults `json:"annotationResults,omitempty"`
  1361  	// ForceSendFields is a list of field names (e.g. "AnnotationResults") to
  1362  	// unconditionally include in API requests. By default, fields with empty or
  1363  	// default values are omitted from API requests. See
  1364  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1365  	// details.
  1366  	ForceSendFields []string `json:"-"`
  1367  	// NullFields is a list of field names (e.g. "AnnotationResults") to include in
  1368  	// API requests with the JSON null value. By default, fields with empty values
  1369  	// are omitted from API requests. See
  1370  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1371  	NullFields []string `json:"-"`
  1372  }
  1373  
  1374  func (s *GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse) MarshalJSON() ([]byte, error) {
  1375  	type NoMethod GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse
  1376  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1377  }
  1378  
  1379  // GoogleCloudVideointelligenceV1beta2DetectedAttribute: A generic detected
  1380  // attribute represented by name in string format.
  1381  type GoogleCloudVideointelligenceV1beta2DetectedAttribute struct {
  1382  	// Confidence: Detected attribute confidence. Range [0, 1].
  1383  	Confidence float64 `json:"confidence,omitempty"`
  1384  	// Name: The name of the attribute, for example, glasses, dark_glasses,
  1385  	// mouth_open. A full list of supported type names will be provided in the
  1386  	// document.
  1387  	Name string `json:"name,omitempty"`
  1388  	// Value: Text value of the detection result. For example, the value for
  1389  	// "HairColor" can be "black", "blonde", etc.
  1390  	Value string `json:"value,omitempty"`
  1391  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  1392  	// unconditionally include in API requests. By default, fields with empty or
  1393  	// default values are omitted from API requests. See
  1394  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1395  	// details.
  1396  	ForceSendFields []string `json:"-"`
  1397  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  1398  	// requests with the JSON null value. By default, fields with empty values are
  1399  	// omitted from API requests. See
  1400  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1401  	NullFields []string `json:"-"`
  1402  }
  1403  
  1404  func (s *GoogleCloudVideointelligenceV1beta2DetectedAttribute) MarshalJSON() ([]byte, error) {
  1405  	type NoMethod GoogleCloudVideointelligenceV1beta2DetectedAttribute
  1406  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1407  }
  1408  
  1409  func (s *GoogleCloudVideointelligenceV1beta2DetectedAttribute) UnmarshalJSON(data []byte) error {
  1410  	type NoMethod GoogleCloudVideointelligenceV1beta2DetectedAttribute
  1411  	var s1 struct {
  1412  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1413  		*NoMethod
  1414  	}
  1415  	s1.NoMethod = (*NoMethod)(s)
  1416  	if err := json.Unmarshal(data, &s1); err != nil {
  1417  		return err
  1418  	}
  1419  	s.Confidence = float64(s1.Confidence)
  1420  	return nil
  1421  }
  1422  
  1423  // GoogleCloudVideointelligenceV1beta2DetectedLandmark: A generic detected
  1424  // landmark represented by name in string format and a 2D location.
  1425  type GoogleCloudVideointelligenceV1beta2DetectedLandmark struct {
  1426  	// Confidence: The confidence score of the detected landmark. Range [0, 1].
  1427  	Confidence float64 `json:"confidence,omitempty"`
  1428  	// Name: The name of this landmark, for example, left_hand, right_shoulder.
  1429  	Name string `json:"name,omitempty"`
  1430  	// Point: The 2D point of the detected landmark using the normalized image
  1431  	// coordindate system. The normalized coordinates have the range from 0 to 1.
  1432  	Point *GoogleCloudVideointelligenceV1beta2NormalizedVertex `json:"point,omitempty"`
  1433  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  1434  	// unconditionally include in API requests. By default, fields with empty or
  1435  	// default values are omitted from API requests. See
  1436  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1437  	// details.
  1438  	ForceSendFields []string `json:"-"`
  1439  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  1440  	// requests with the JSON null value. By default, fields with empty values are
  1441  	// omitted from API requests. See
  1442  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1443  	NullFields []string `json:"-"`
  1444  }
  1445  
  1446  func (s *GoogleCloudVideointelligenceV1beta2DetectedLandmark) MarshalJSON() ([]byte, error) {
  1447  	type NoMethod GoogleCloudVideointelligenceV1beta2DetectedLandmark
  1448  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1449  }
  1450  
  1451  func (s *GoogleCloudVideointelligenceV1beta2DetectedLandmark) UnmarshalJSON(data []byte) error {
  1452  	type NoMethod GoogleCloudVideointelligenceV1beta2DetectedLandmark
  1453  	var s1 struct {
  1454  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1455  		*NoMethod
  1456  	}
  1457  	s1.NoMethod = (*NoMethod)(s)
  1458  	if err := json.Unmarshal(data, &s1); err != nil {
  1459  		return err
  1460  	}
  1461  	s.Confidence = float64(s1.Confidence)
  1462  	return nil
  1463  }
  1464  
  1465  // GoogleCloudVideointelligenceV1beta2Entity: Detected entity from video
  1466  // analysis.
  1467  type GoogleCloudVideointelligenceV1beta2Entity struct {
  1468  	// Description: Textual description, e.g., `Fixed-gear bicycle`.
  1469  	Description string `json:"description,omitempty"`
  1470  	// EntityId: Opaque entity ID. Some IDs may be available in Google Knowledge
  1471  	// Graph Search API (https://developers.google.com/knowledge-graph/).
  1472  	EntityId string `json:"entityId,omitempty"`
  1473  	// LanguageCode: Language code for `description` in BCP-47 format.
  1474  	LanguageCode string `json:"languageCode,omitempty"`
  1475  	// ForceSendFields is a list of field names (e.g. "Description") to
  1476  	// unconditionally include in API requests. By default, fields with empty or
  1477  	// default values are omitted from API requests. See
  1478  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1479  	// details.
  1480  	ForceSendFields []string `json:"-"`
  1481  	// NullFields is a list of field names (e.g. "Description") to include in API
  1482  	// requests with the JSON null value. By default, fields with empty values are
  1483  	// omitted from API requests. See
  1484  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1485  	NullFields []string `json:"-"`
  1486  }
  1487  
  1488  func (s *GoogleCloudVideointelligenceV1beta2Entity) MarshalJSON() ([]byte, error) {
  1489  	type NoMethod GoogleCloudVideointelligenceV1beta2Entity
  1490  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1491  }
  1492  
  1493  // GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation: Explicit
  1494  // content annotation (based on per-frame visual signals only). If no explicit
  1495  // content has been detected in a frame, no annotations are present for that
  1496  // frame.
  1497  type GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation struct {
  1498  	// Frames: All video frames where explicit content was detected.
  1499  	Frames []*GoogleCloudVideointelligenceV1beta2ExplicitContentFrame `json:"frames,omitempty"`
  1500  	// Version: Feature version.
  1501  	Version string `json:"version,omitempty"`
  1502  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  1503  	// include in API requests. By default, fields with empty or default values are
  1504  	// omitted from API requests. See
  1505  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1506  	// details.
  1507  	ForceSendFields []string `json:"-"`
  1508  	// NullFields is a list of field names (e.g. "Frames") to include in API
  1509  	// requests with the JSON null value. By default, fields with empty values are
  1510  	// omitted from API requests. See
  1511  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1512  	NullFields []string `json:"-"`
  1513  }
  1514  
  1515  func (s *GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation) MarshalJSON() ([]byte, error) {
  1516  	type NoMethod GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation
  1517  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1518  }
  1519  
  1520  // GoogleCloudVideointelligenceV1beta2ExplicitContentFrame: Video frame level
  1521  // annotation results for explicit content.
  1522  type GoogleCloudVideointelligenceV1beta2ExplicitContentFrame struct {
  1523  	// PornographyLikelihood: Likelihood of the pornography content..
  1524  	//
  1525  	// Possible values:
  1526  	//   "LIKELIHOOD_UNSPECIFIED" - Unspecified likelihood.
  1527  	//   "VERY_UNLIKELY" - Very unlikely.
  1528  	//   "UNLIKELY" - Unlikely.
  1529  	//   "POSSIBLE" - Possible.
  1530  	//   "LIKELY" - Likely.
  1531  	//   "VERY_LIKELY" - Very likely.
  1532  	PornographyLikelihood string `json:"pornographyLikelihood,omitempty"`
  1533  	// TimeOffset: Time-offset, relative to the beginning of the video,
  1534  	// corresponding to the video frame for this location.
  1535  	TimeOffset string `json:"timeOffset,omitempty"`
  1536  	// ForceSendFields is a list of field names (e.g. "PornographyLikelihood") to
  1537  	// unconditionally include in API requests. By default, fields with empty or
  1538  	// default values are omitted from API requests. See
  1539  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1540  	// details.
  1541  	ForceSendFields []string `json:"-"`
  1542  	// NullFields is a list of field names (e.g. "PornographyLikelihood") to
  1543  	// include in API requests with the JSON null value. By default, fields with
  1544  	// empty values are omitted from API requests. See
  1545  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1546  	NullFields []string `json:"-"`
  1547  }
  1548  
  1549  func (s *GoogleCloudVideointelligenceV1beta2ExplicitContentFrame) MarshalJSON() ([]byte, error) {
  1550  	type NoMethod GoogleCloudVideointelligenceV1beta2ExplicitContentFrame
  1551  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1552  }
  1553  
  1554  // GoogleCloudVideointelligenceV1beta2FaceAnnotation: Deprecated. No effect.
  1555  type GoogleCloudVideointelligenceV1beta2FaceAnnotation struct {
  1556  	// Frames: All video frames where a face was detected.
  1557  	Frames []*GoogleCloudVideointelligenceV1beta2FaceFrame `json:"frames,omitempty"`
  1558  	// Segments: All video segments where a face was detected.
  1559  	Segments []*GoogleCloudVideointelligenceV1beta2FaceSegment `json:"segments,omitempty"`
  1560  	// Thumbnail: Thumbnail of a representative face view (in JPEG format).
  1561  	Thumbnail string `json:"thumbnail,omitempty"`
  1562  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  1563  	// include in API requests. By default, fields with empty or default values are
  1564  	// omitted from API requests. See
  1565  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1566  	// details.
  1567  	ForceSendFields []string `json:"-"`
  1568  	// NullFields is a list of field names (e.g. "Frames") to include in API
  1569  	// requests with the JSON null value. By default, fields with empty values are
  1570  	// omitted from API requests. See
  1571  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1572  	NullFields []string `json:"-"`
  1573  }
  1574  
  1575  func (s *GoogleCloudVideointelligenceV1beta2FaceAnnotation) MarshalJSON() ([]byte, error) {
  1576  	type NoMethod GoogleCloudVideointelligenceV1beta2FaceAnnotation
  1577  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1578  }
  1579  
  1580  // GoogleCloudVideointelligenceV1beta2FaceDetectionAnnotation: Face detection
  1581  // annotation.
  1582  type GoogleCloudVideointelligenceV1beta2FaceDetectionAnnotation struct {
  1583  	// Thumbnail: The thumbnail of a person's face.
  1584  	Thumbnail string `json:"thumbnail,omitempty"`
  1585  	// Tracks: The face tracks with attributes.
  1586  	Tracks []*GoogleCloudVideointelligenceV1beta2Track `json:"tracks,omitempty"`
  1587  	// Version: Feature version.
  1588  	Version string `json:"version,omitempty"`
  1589  	// ForceSendFields is a list of field names (e.g. "Thumbnail") to
  1590  	// unconditionally include in API requests. By default, fields with empty or
  1591  	// default values are omitted from API requests. See
  1592  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1593  	// details.
  1594  	ForceSendFields []string `json:"-"`
  1595  	// NullFields is a list of field names (e.g. "Thumbnail") to include in API
  1596  	// requests with the JSON null value. By default, fields with empty values are
  1597  	// omitted from API requests. See
  1598  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1599  	NullFields []string `json:"-"`
  1600  }
  1601  
  1602  func (s *GoogleCloudVideointelligenceV1beta2FaceDetectionAnnotation) MarshalJSON() ([]byte, error) {
  1603  	type NoMethod GoogleCloudVideointelligenceV1beta2FaceDetectionAnnotation
  1604  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1605  }
  1606  
  1607  // GoogleCloudVideointelligenceV1beta2FaceFrame: Deprecated. No effect.
  1608  type GoogleCloudVideointelligenceV1beta2FaceFrame struct {
  1609  	// NormalizedBoundingBoxes: Normalized Bounding boxes in a frame. There can be
  1610  	// more than one boxes if the same face is detected in multiple locations
  1611  	// within the current frame.
  1612  	NormalizedBoundingBoxes []*GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox `json:"normalizedBoundingBoxes,omitempty"`
  1613  	// TimeOffset: Time-offset, relative to the beginning of the video,
  1614  	// corresponding to the video frame for this location.
  1615  	TimeOffset string `json:"timeOffset,omitempty"`
  1616  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  1617  	// unconditionally include in API requests. By default, fields with empty or
  1618  	// default values are omitted from API requests. See
  1619  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1620  	// details.
  1621  	ForceSendFields []string `json:"-"`
  1622  	// NullFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  1623  	// include in API requests with the JSON null value. By default, fields with
  1624  	// empty values are omitted from API requests. See
  1625  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1626  	NullFields []string `json:"-"`
  1627  }
  1628  
  1629  func (s *GoogleCloudVideointelligenceV1beta2FaceFrame) MarshalJSON() ([]byte, error) {
  1630  	type NoMethod GoogleCloudVideointelligenceV1beta2FaceFrame
  1631  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1632  }
  1633  
  1634  // GoogleCloudVideointelligenceV1beta2FaceSegment: Video segment level
  1635  // annotation results for face detection.
  1636  type GoogleCloudVideointelligenceV1beta2FaceSegment struct {
  1637  	// Segment: Video segment where a face was detected.
  1638  	Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"`
  1639  	// ForceSendFields is a list of field names (e.g. "Segment") to unconditionally
  1640  	// include in API requests. By default, fields with empty or default values are
  1641  	// omitted from API requests. See
  1642  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1643  	// details.
  1644  	ForceSendFields []string `json:"-"`
  1645  	// NullFields is a list of field names (e.g. "Segment") to include in API
  1646  	// requests with the JSON null value. By default, fields with empty values are
  1647  	// omitted from API requests. See
  1648  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1649  	NullFields []string `json:"-"`
  1650  }
  1651  
  1652  func (s *GoogleCloudVideointelligenceV1beta2FaceSegment) MarshalJSON() ([]byte, error) {
  1653  	type NoMethod GoogleCloudVideointelligenceV1beta2FaceSegment
  1654  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1655  }
  1656  
  1657  // GoogleCloudVideointelligenceV1beta2LabelAnnotation: Label annotation.
  1658  type GoogleCloudVideointelligenceV1beta2LabelAnnotation struct {
  1659  	// CategoryEntities: Common categories for the detected entity. For example,
  1660  	// when the label is `Terrier`, the category is likely `dog`. And in some cases
  1661  	// there might be more than one categories e.g., `Terrier` could also be a
  1662  	// `pet`.
  1663  	CategoryEntities []*GoogleCloudVideointelligenceV1beta2Entity `json:"categoryEntities,omitempty"`
  1664  	// Entity: Detected entity.
  1665  	Entity *GoogleCloudVideointelligenceV1beta2Entity `json:"entity,omitempty"`
  1666  	// Frames: All video frames where a label was detected.
  1667  	Frames []*GoogleCloudVideointelligenceV1beta2LabelFrame `json:"frames,omitempty"`
  1668  	// Segments: All video segments where a label was detected.
  1669  	Segments []*GoogleCloudVideointelligenceV1beta2LabelSegment `json:"segments,omitempty"`
  1670  	// Version: Feature version.
  1671  	Version string `json:"version,omitempty"`
  1672  	// ForceSendFields is a list of field names (e.g. "CategoryEntities") to
  1673  	// unconditionally include in API requests. By default, fields with empty or
  1674  	// default values are omitted from API requests. See
  1675  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1676  	// details.
  1677  	ForceSendFields []string `json:"-"`
  1678  	// NullFields is a list of field names (e.g. "CategoryEntities") to include in
  1679  	// API requests with the JSON null value. By default, fields with empty values
  1680  	// are omitted from API requests. See
  1681  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1682  	NullFields []string `json:"-"`
  1683  }
  1684  
  1685  func (s *GoogleCloudVideointelligenceV1beta2LabelAnnotation) MarshalJSON() ([]byte, error) {
  1686  	type NoMethod GoogleCloudVideointelligenceV1beta2LabelAnnotation
  1687  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1688  }
  1689  
  1690  // GoogleCloudVideointelligenceV1beta2LabelFrame: Video frame level annotation
  1691  // results for label detection.
  1692  type GoogleCloudVideointelligenceV1beta2LabelFrame struct {
  1693  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  1694  	Confidence float64 `json:"confidence,omitempty"`
  1695  	// TimeOffset: Time-offset, relative to the beginning of the video,
  1696  	// corresponding to the video frame for this location.
  1697  	TimeOffset string `json:"timeOffset,omitempty"`
  1698  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  1699  	// unconditionally include in API requests. By default, fields with empty or
  1700  	// default values are omitted from API requests. See
  1701  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1702  	// details.
  1703  	ForceSendFields []string `json:"-"`
  1704  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  1705  	// requests with the JSON null value. By default, fields with empty values are
  1706  	// omitted from API requests. See
  1707  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1708  	NullFields []string `json:"-"`
  1709  }
  1710  
  1711  func (s *GoogleCloudVideointelligenceV1beta2LabelFrame) MarshalJSON() ([]byte, error) {
  1712  	type NoMethod GoogleCloudVideointelligenceV1beta2LabelFrame
  1713  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1714  }
  1715  
  1716  func (s *GoogleCloudVideointelligenceV1beta2LabelFrame) UnmarshalJSON(data []byte) error {
  1717  	type NoMethod GoogleCloudVideointelligenceV1beta2LabelFrame
  1718  	var s1 struct {
  1719  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1720  		*NoMethod
  1721  	}
  1722  	s1.NoMethod = (*NoMethod)(s)
  1723  	if err := json.Unmarshal(data, &s1); err != nil {
  1724  		return err
  1725  	}
  1726  	s.Confidence = float64(s1.Confidence)
  1727  	return nil
  1728  }
  1729  
  1730  // GoogleCloudVideointelligenceV1beta2LabelSegment: Video segment level
  1731  // annotation results for label detection.
  1732  type GoogleCloudVideointelligenceV1beta2LabelSegment struct {
  1733  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  1734  	Confidence float64 `json:"confidence,omitempty"`
  1735  	// Segment: Video segment where a label was detected.
  1736  	Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"`
  1737  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  1738  	// unconditionally include in API requests. By default, fields with empty or
  1739  	// default values are omitted from API requests. See
  1740  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1741  	// details.
  1742  	ForceSendFields []string `json:"-"`
  1743  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  1744  	// requests with the JSON null value. By default, fields with empty values are
  1745  	// omitted from API requests. See
  1746  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1747  	NullFields []string `json:"-"`
  1748  }
  1749  
  1750  func (s *GoogleCloudVideointelligenceV1beta2LabelSegment) MarshalJSON() ([]byte, error) {
  1751  	type NoMethod GoogleCloudVideointelligenceV1beta2LabelSegment
  1752  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1753  }
  1754  
  1755  func (s *GoogleCloudVideointelligenceV1beta2LabelSegment) UnmarshalJSON(data []byte) error {
  1756  	type NoMethod GoogleCloudVideointelligenceV1beta2LabelSegment
  1757  	var s1 struct {
  1758  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1759  		*NoMethod
  1760  	}
  1761  	s1.NoMethod = (*NoMethod)(s)
  1762  	if err := json.Unmarshal(data, &s1); err != nil {
  1763  		return err
  1764  	}
  1765  	s.Confidence = float64(s1.Confidence)
  1766  	return nil
  1767  }
  1768  
  1769  // GoogleCloudVideointelligenceV1beta2LogoRecognitionAnnotation: Annotation
  1770  // corresponding to one detected, tracked and recognized logo class.
  1771  type GoogleCloudVideointelligenceV1beta2LogoRecognitionAnnotation struct {
  1772  	// Entity: Entity category information to specify the logo class that all the
  1773  	// logo tracks within this LogoRecognitionAnnotation are recognized as.
  1774  	Entity *GoogleCloudVideointelligenceV1beta2Entity `json:"entity,omitempty"`
  1775  	// Segments: All video segments where the recognized logo appears. There might
  1776  	// be multiple instances of the same logo class appearing in one VideoSegment.
  1777  	Segments []*GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segments,omitempty"`
  1778  	// Tracks: All logo tracks where the recognized logo appears. Each track
  1779  	// corresponds to one logo instance appearing in consecutive frames.
  1780  	Tracks []*GoogleCloudVideointelligenceV1beta2Track `json:"tracks,omitempty"`
  1781  	// ForceSendFields is a list of field names (e.g. "Entity") to unconditionally
  1782  	// include in API requests. By default, fields with empty or default values are
  1783  	// omitted from API requests. See
  1784  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1785  	// details.
  1786  	ForceSendFields []string `json:"-"`
  1787  	// NullFields is a list of field names (e.g. "Entity") to include in API
  1788  	// requests with the JSON null value. By default, fields with empty values are
  1789  	// omitted from API requests. See
  1790  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1791  	NullFields []string `json:"-"`
  1792  }
  1793  
  1794  func (s *GoogleCloudVideointelligenceV1beta2LogoRecognitionAnnotation) MarshalJSON() ([]byte, error) {
  1795  	type NoMethod GoogleCloudVideointelligenceV1beta2LogoRecognitionAnnotation
  1796  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1797  }
  1798  
  1799  // GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox: Normalized
  1800  // bounding box. The normalized vertex coordinates are relative to the original
  1801  // image. Range: [0, 1].
  1802  type GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox struct {
  1803  	// Bottom: Bottom Y coordinate.
  1804  	Bottom float64 `json:"bottom,omitempty"`
  1805  	// Left: Left X coordinate.
  1806  	Left float64 `json:"left,omitempty"`
  1807  	// Right: Right X coordinate.
  1808  	Right float64 `json:"right,omitempty"`
  1809  	// Top: Top Y coordinate.
  1810  	Top float64 `json:"top,omitempty"`
  1811  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
  1812  	// include in API requests. By default, fields with empty or default values are
  1813  	// omitted from API requests. See
  1814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1815  	// details.
  1816  	ForceSendFields []string `json:"-"`
  1817  	// NullFields is a list of field names (e.g. "Bottom") to include in API
  1818  	// requests with the JSON null value. By default, fields with empty values are
  1819  	// omitted from API requests. See
  1820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1821  	NullFields []string `json:"-"`
  1822  }
  1823  
  1824  func (s *GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox) MarshalJSON() ([]byte, error) {
  1825  	type NoMethod GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox
  1826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1827  }
  1828  
  1829  func (s *GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox) UnmarshalJSON(data []byte) error {
  1830  	type NoMethod GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox
  1831  	var s1 struct {
  1832  		Bottom gensupport.JSONFloat64 `json:"bottom"`
  1833  		Left   gensupport.JSONFloat64 `json:"left"`
  1834  		Right  gensupport.JSONFloat64 `json:"right"`
  1835  		Top    gensupport.JSONFloat64 `json:"top"`
  1836  		*NoMethod
  1837  	}
  1838  	s1.NoMethod = (*NoMethod)(s)
  1839  	if err := json.Unmarshal(data, &s1); err != nil {
  1840  		return err
  1841  	}
  1842  	s.Bottom = float64(s1.Bottom)
  1843  	s.Left = float64(s1.Left)
  1844  	s.Right = float64(s1.Right)
  1845  	s.Top = float64(s1.Top)
  1846  	return nil
  1847  }
  1848  
  1849  // GoogleCloudVideointelligenceV1beta2NormalizedBoundingPoly: Normalized
  1850  // bounding polygon for text (that might not be aligned with axis). Contains
  1851  // list of the corner points in clockwise order starting from top-left corner.
  1852  // For example, for a rectangular bounding box: When the text is horizontal it
  1853  // might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees
  1854  // around the top-left corner it becomes: 2----3 | | 1----0 and the vertex
  1855  // order will still be (0, 1, 2, 3). Note that values can be less than 0, or
  1856  // greater than 1 due to trignometric calculations for location of the box.
  1857  type GoogleCloudVideointelligenceV1beta2NormalizedBoundingPoly struct {
  1858  	// Vertices: Normalized vertices of the bounding polygon.
  1859  	Vertices []*GoogleCloudVideointelligenceV1beta2NormalizedVertex `json:"vertices,omitempty"`
  1860  	// ForceSendFields is a list of field names (e.g. "Vertices") to
  1861  	// unconditionally include in API requests. By default, fields with empty or
  1862  	// default values are omitted from API requests. See
  1863  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1864  	// details.
  1865  	ForceSendFields []string `json:"-"`
  1866  	// NullFields is a list of field names (e.g. "Vertices") to include in API
  1867  	// requests with the JSON null value. By default, fields with empty values are
  1868  	// omitted from API requests. See
  1869  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1870  	NullFields []string `json:"-"`
  1871  }
  1872  
  1873  func (s *GoogleCloudVideointelligenceV1beta2NormalizedBoundingPoly) MarshalJSON() ([]byte, error) {
  1874  	type NoMethod GoogleCloudVideointelligenceV1beta2NormalizedBoundingPoly
  1875  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1876  }
  1877  
  1878  // GoogleCloudVideointelligenceV1beta2NormalizedVertex: A vertex represents a
  1879  // 2D point in the image. NOTE: the normalized vertex coordinates are relative
  1880  // to the original image and range from 0 to 1.
  1881  type GoogleCloudVideointelligenceV1beta2NormalizedVertex struct {
  1882  	// X: X coordinate.
  1883  	X float64 `json:"x,omitempty"`
  1884  	// Y: Y coordinate.
  1885  	Y float64 `json:"y,omitempty"`
  1886  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  1887  	// include in API requests. By default, fields with empty or default values are
  1888  	// omitted from API requests. See
  1889  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1890  	// details.
  1891  	ForceSendFields []string `json:"-"`
  1892  	// NullFields is a list of field names (e.g. "X") to include in API requests
  1893  	// with the JSON null value. By default, fields with empty values are omitted
  1894  	// from API requests. See
  1895  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1896  	NullFields []string `json:"-"`
  1897  }
  1898  
  1899  func (s *GoogleCloudVideointelligenceV1beta2NormalizedVertex) MarshalJSON() ([]byte, error) {
  1900  	type NoMethod GoogleCloudVideointelligenceV1beta2NormalizedVertex
  1901  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1902  }
  1903  
  1904  func (s *GoogleCloudVideointelligenceV1beta2NormalizedVertex) UnmarshalJSON(data []byte) error {
  1905  	type NoMethod GoogleCloudVideointelligenceV1beta2NormalizedVertex
  1906  	var s1 struct {
  1907  		X gensupport.JSONFloat64 `json:"x"`
  1908  		Y gensupport.JSONFloat64 `json:"y"`
  1909  		*NoMethod
  1910  	}
  1911  	s1.NoMethod = (*NoMethod)(s)
  1912  	if err := json.Unmarshal(data, &s1); err != nil {
  1913  		return err
  1914  	}
  1915  	s.X = float64(s1.X)
  1916  	s.Y = float64(s1.Y)
  1917  	return nil
  1918  }
  1919  
  1920  // GoogleCloudVideointelligenceV1beta2ObjectTrackingAnnotation: Annotations
  1921  // corresponding to one tracked object.
  1922  type GoogleCloudVideointelligenceV1beta2ObjectTrackingAnnotation struct {
  1923  	// Confidence: Object category's labeling confidence of this track.
  1924  	Confidence float64 `json:"confidence,omitempty"`
  1925  	// Entity: Entity to specify the object category that this track is labeled as.
  1926  	Entity *GoogleCloudVideointelligenceV1beta2Entity `json:"entity,omitempty"`
  1927  	// Frames: Information corresponding to all frames where this object track
  1928  	// appears. Non-streaming batch mode: it may be one or multiple
  1929  	// ObjectTrackingFrame messages in frames. Streaming mode: it can only be one
  1930  	// ObjectTrackingFrame message in frames.
  1931  	Frames []*GoogleCloudVideointelligenceV1beta2ObjectTrackingFrame `json:"frames,omitempty"`
  1932  	// Segment: Non-streaming batch mode ONLY. Each object track corresponds to one
  1933  	// video segment where it appears.
  1934  	Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"`
  1935  	// TrackId: Streaming mode ONLY. In streaming mode, we do not know the end time
  1936  	// of a tracked object before it is completed. Hence, there is no VideoSegment
  1937  	// info returned. Instead, we provide a unique identifiable integer track_id so
  1938  	// that the customers can correlate the results of the ongoing
  1939  	// ObjectTrackAnnotation of the same track_id over time.
  1940  	TrackId int64 `json:"trackId,omitempty,string"`
  1941  	// Version: Feature version.
  1942  	Version string `json:"version,omitempty"`
  1943  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  1944  	// unconditionally include in API requests. By default, fields with empty or
  1945  	// default values are omitted from API requests. See
  1946  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1947  	// details.
  1948  	ForceSendFields []string `json:"-"`
  1949  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  1950  	// requests with the JSON null value. By default, fields with empty values are
  1951  	// omitted from API requests. See
  1952  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1953  	NullFields []string `json:"-"`
  1954  }
  1955  
  1956  func (s *GoogleCloudVideointelligenceV1beta2ObjectTrackingAnnotation) MarshalJSON() ([]byte, error) {
  1957  	type NoMethod GoogleCloudVideointelligenceV1beta2ObjectTrackingAnnotation
  1958  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1959  }
  1960  
  1961  func (s *GoogleCloudVideointelligenceV1beta2ObjectTrackingAnnotation) UnmarshalJSON(data []byte) error {
  1962  	type NoMethod GoogleCloudVideointelligenceV1beta2ObjectTrackingAnnotation
  1963  	var s1 struct {
  1964  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1965  		*NoMethod
  1966  	}
  1967  	s1.NoMethod = (*NoMethod)(s)
  1968  	if err := json.Unmarshal(data, &s1); err != nil {
  1969  		return err
  1970  	}
  1971  	s.Confidence = float64(s1.Confidence)
  1972  	return nil
  1973  }
  1974  
  1975  // GoogleCloudVideointelligenceV1beta2ObjectTrackingFrame: Video frame level
  1976  // annotations for object detection and tracking. This field stores per frame
  1977  // location, time offset, and confidence.
  1978  type GoogleCloudVideointelligenceV1beta2ObjectTrackingFrame struct {
  1979  	// NormalizedBoundingBox: The normalized bounding box location of this object
  1980  	// track for the frame.
  1981  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  1982  	// TimeOffset: The timestamp of the frame in microseconds.
  1983  	TimeOffset string `json:"timeOffset,omitempty"`
  1984  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBox") to
  1985  	// unconditionally include in API requests. By default, fields with empty or
  1986  	// default values are omitted from API requests. See
  1987  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1988  	// details.
  1989  	ForceSendFields []string `json:"-"`
  1990  	// NullFields is a list of field names (e.g. "NormalizedBoundingBox") to
  1991  	// include in API requests with the JSON null value. By default, fields with
  1992  	// empty values are omitted from API requests. See
  1993  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1994  	NullFields []string `json:"-"`
  1995  }
  1996  
  1997  func (s *GoogleCloudVideointelligenceV1beta2ObjectTrackingFrame) MarshalJSON() ([]byte, error) {
  1998  	type NoMethod GoogleCloudVideointelligenceV1beta2ObjectTrackingFrame
  1999  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2000  }
  2001  
  2002  // GoogleCloudVideointelligenceV1beta2PersonDetectionAnnotation: Person
  2003  // detection annotation per video.
  2004  type GoogleCloudVideointelligenceV1beta2PersonDetectionAnnotation struct {
  2005  	// Tracks: The detected tracks of a person.
  2006  	Tracks []*GoogleCloudVideointelligenceV1beta2Track `json:"tracks,omitempty"`
  2007  	// Version: Feature version.
  2008  	Version string `json:"version,omitempty"`
  2009  	// ForceSendFields is a list of field names (e.g. "Tracks") to unconditionally
  2010  	// include in API requests. By default, fields with empty or default values are
  2011  	// omitted from API requests. See
  2012  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2013  	// details.
  2014  	ForceSendFields []string `json:"-"`
  2015  	// NullFields is a list of field names (e.g. "Tracks") to include in API
  2016  	// requests with the JSON null value. By default, fields with empty values are
  2017  	// omitted from API requests. See
  2018  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2019  	NullFields []string `json:"-"`
  2020  }
  2021  
  2022  func (s *GoogleCloudVideointelligenceV1beta2PersonDetectionAnnotation) MarshalJSON() ([]byte, error) {
  2023  	type NoMethod GoogleCloudVideointelligenceV1beta2PersonDetectionAnnotation
  2024  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2025  }
  2026  
  2027  // GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative: Alternative
  2028  // hypotheses (a.k.a. n-best list).
  2029  type GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative struct {
  2030  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  2031  	// higher number indicates an estimated greater likelihood that the recognized
  2032  	// words are correct. This field is set only for the top alternative. This
  2033  	// field is not guaranteed to be accurate and users should not rely on it to be
  2034  	// always provided. The default of 0.0 is a sentinel value indicating
  2035  	// `confidence` was not set.
  2036  	Confidence float64 `json:"confidence,omitempty"`
  2037  	// Transcript: Transcript text representing the words that the user spoke.
  2038  	Transcript string `json:"transcript,omitempty"`
  2039  	// Words: Output only. A list of word-specific information for each recognized
  2040  	// word. Note: When `enable_speaker_diarization` is set to true, you will see
  2041  	// all the words from the beginning of the audio.
  2042  	Words []*GoogleCloudVideointelligenceV1beta2WordInfo `json:"words,omitempty"`
  2043  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  2044  	// unconditionally include in API requests. By default, fields with empty or
  2045  	// default values are omitted from API requests. See
  2046  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2047  	// details.
  2048  	ForceSendFields []string `json:"-"`
  2049  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  2050  	// requests with the JSON null value. By default, fields with empty values are
  2051  	// omitted from API requests. See
  2052  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2053  	NullFields []string `json:"-"`
  2054  }
  2055  
  2056  func (s *GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative) MarshalJSON() ([]byte, error) {
  2057  	type NoMethod GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative
  2058  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2059  }
  2060  
  2061  func (s *GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative) UnmarshalJSON(data []byte) error {
  2062  	type NoMethod GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative
  2063  	var s1 struct {
  2064  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2065  		*NoMethod
  2066  	}
  2067  	s1.NoMethod = (*NoMethod)(s)
  2068  	if err := json.Unmarshal(data, &s1); err != nil {
  2069  		return err
  2070  	}
  2071  	s.Confidence = float64(s1.Confidence)
  2072  	return nil
  2073  }
  2074  
  2075  // GoogleCloudVideointelligenceV1beta2SpeechTranscription: A speech recognition
  2076  // result corresponding to a portion of the audio.
  2077  type GoogleCloudVideointelligenceV1beta2SpeechTranscription struct {
  2078  	// Alternatives: May contain one or more recognition hypotheses (up to the
  2079  	// maximum specified in `max_alternatives`). These alternatives are ordered in
  2080  	// terms of accuracy, with the top (first) alternative being the most probable,
  2081  	// as ranked by the recognizer.
  2082  	Alternatives []*GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative `json:"alternatives,omitempty"`
  2083  	// LanguageCode: Output only. The BCP-47
  2084  	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language
  2085  	// in this result. This language code was detected to have the most likelihood
  2086  	// of being spoken in the audio.
  2087  	LanguageCode string `json:"languageCode,omitempty"`
  2088  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  2089  	// unconditionally include in API requests. By default, fields with empty or
  2090  	// default values are omitted from API requests. See
  2091  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2092  	// details.
  2093  	ForceSendFields []string `json:"-"`
  2094  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  2095  	// requests with the JSON null value. By default, fields with empty values are
  2096  	// omitted from API requests. See
  2097  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2098  	NullFields []string `json:"-"`
  2099  }
  2100  
  2101  func (s *GoogleCloudVideointelligenceV1beta2SpeechTranscription) MarshalJSON() ([]byte, error) {
  2102  	type NoMethod GoogleCloudVideointelligenceV1beta2SpeechTranscription
  2103  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2104  }
  2105  
  2106  // GoogleCloudVideointelligenceV1beta2TextAnnotation: Annotations related to
  2107  // one detected OCR text snippet. This will contain the corresponding text,
  2108  // confidence value, and frame level information for each detection.
  2109  type GoogleCloudVideointelligenceV1beta2TextAnnotation struct {
  2110  	// Segments: All video segments where OCR detected text appears.
  2111  	Segments []*GoogleCloudVideointelligenceV1beta2TextSegment `json:"segments,omitempty"`
  2112  	// Text: The detected text.
  2113  	Text string `json:"text,omitempty"`
  2114  	// Version: Feature version.
  2115  	Version string `json:"version,omitempty"`
  2116  	// ForceSendFields is a list of field names (e.g. "Segments") to
  2117  	// unconditionally include in API requests. By default, fields with empty or
  2118  	// default values are omitted from API requests. See
  2119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2120  	// details.
  2121  	ForceSendFields []string `json:"-"`
  2122  	// NullFields is a list of field names (e.g. "Segments") to include in API
  2123  	// requests with the JSON null value. By default, fields with empty values are
  2124  	// omitted from API requests. See
  2125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2126  	NullFields []string `json:"-"`
  2127  }
  2128  
  2129  func (s *GoogleCloudVideointelligenceV1beta2TextAnnotation) MarshalJSON() ([]byte, error) {
  2130  	type NoMethod GoogleCloudVideointelligenceV1beta2TextAnnotation
  2131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2132  }
  2133  
  2134  // GoogleCloudVideointelligenceV1beta2TextFrame: Video frame level annotation
  2135  // results for text annotation (OCR). Contains information regarding timestamp
  2136  // and bounding box locations for the frames containing detected OCR text
  2137  // snippets.
  2138  type GoogleCloudVideointelligenceV1beta2TextFrame struct {
  2139  	// RotatedBoundingBox: Bounding polygon of the detected text for this frame.
  2140  	RotatedBoundingBox *GoogleCloudVideointelligenceV1beta2NormalizedBoundingPoly `json:"rotatedBoundingBox,omitempty"`
  2141  	// TimeOffset: Timestamp of this frame.
  2142  	TimeOffset string `json:"timeOffset,omitempty"`
  2143  	// ForceSendFields is a list of field names (e.g. "RotatedBoundingBox") to
  2144  	// unconditionally include in API requests. By default, fields with empty or
  2145  	// default values are omitted from API requests. See
  2146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2147  	// details.
  2148  	ForceSendFields []string `json:"-"`
  2149  	// NullFields is a list of field names (e.g. "RotatedBoundingBox") to include
  2150  	// in API requests with the JSON null value. By default, fields with empty
  2151  	// values are omitted from API requests. See
  2152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2153  	NullFields []string `json:"-"`
  2154  }
  2155  
  2156  func (s *GoogleCloudVideointelligenceV1beta2TextFrame) MarshalJSON() ([]byte, error) {
  2157  	type NoMethod GoogleCloudVideointelligenceV1beta2TextFrame
  2158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2159  }
  2160  
  2161  // GoogleCloudVideointelligenceV1beta2TextSegment: Video segment level
  2162  // annotation results for text detection.
  2163  type GoogleCloudVideointelligenceV1beta2TextSegment struct {
  2164  	// Confidence: Confidence for the track of detected text. It is calculated as
  2165  	// the highest over all frames where OCR detected text appears.
  2166  	Confidence float64 `json:"confidence,omitempty"`
  2167  	// Frames: Information related to the frames where OCR detected text appears.
  2168  	Frames []*GoogleCloudVideointelligenceV1beta2TextFrame `json:"frames,omitempty"`
  2169  	// Segment: Video segment where a text snippet was detected.
  2170  	Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"`
  2171  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  2172  	// unconditionally include in API requests. By default, fields with empty or
  2173  	// default values are omitted from API requests. See
  2174  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2175  	// details.
  2176  	ForceSendFields []string `json:"-"`
  2177  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  2178  	// requests with the JSON null value. By default, fields with empty values are
  2179  	// omitted from API requests. See
  2180  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2181  	NullFields []string `json:"-"`
  2182  }
  2183  
  2184  func (s *GoogleCloudVideointelligenceV1beta2TextSegment) MarshalJSON() ([]byte, error) {
  2185  	type NoMethod GoogleCloudVideointelligenceV1beta2TextSegment
  2186  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2187  }
  2188  
  2189  func (s *GoogleCloudVideointelligenceV1beta2TextSegment) UnmarshalJSON(data []byte) error {
  2190  	type NoMethod GoogleCloudVideointelligenceV1beta2TextSegment
  2191  	var s1 struct {
  2192  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2193  		*NoMethod
  2194  	}
  2195  	s1.NoMethod = (*NoMethod)(s)
  2196  	if err := json.Unmarshal(data, &s1); err != nil {
  2197  		return err
  2198  	}
  2199  	s.Confidence = float64(s1.Confidence)
  2200  	return nil
  2201  }
  2202  
  2203  // GoogleCloudVideointelligenceV1beta2TimestampedObject: For tracking related
  2204  // features. An object at time_offset with attributes, and located with
  2205  // normalized_bounding_box.
  2206  type GoogleCloudVideointelligenceV1beta2TimestampedObject struct {
  2207  	// Attributes: Optional. The attributes of the object in the bounding box.
  2208  	Attributes []*GoogleCloudVideointelligenceV1beta2DetectedAttribute `json:"attributes,omitempty"`
  2209  	// Landmarks: Optional. The detected landmarks.
  2210  	Landmarks []*GoogleCloudVideointelligenceV1beta2DetectedLandmark `json:"landmarks,omitempty"`
  2211  	// NormalizedBoundingBox: Normalized Bounding box in a frame, where the object
  2212  	// is located.
  2213  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1beta2NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  2214  	// TimeOffset: Time-offset, relative to the beginning of the video,
  2215  	// corresponding to the video frame for this object.
  2216  	TimeOffset string `json:"timeOffset,omitempty"`
  2217  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  2218  	// unconditionally include in API requests. By default, fields with empty or
  2219  	// default values are omitted from API requests. See
  2220  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2221  	// details.
  2222  	ForceSendFields []string `json:"-"`
  2223  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  2224  	// requests with the JSON null value. By default, fields with empty values are
  2225  	// omitted from API requests. See
  2226  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2227  	NullFields []string `json:"-"`
  2228  }
  2229  
  2230  func (s *GoogleCloudVideointelligenceV1beta2TimestampedObject) MarshalJSON() ([]byte, error) {
  2231  	type NoMethod GoogleCloudVideointelligenceV1beta2TimestampedObject
  2232  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2233  }
  2234  
  2235  // GoogleCloudVideointelligenceV1beta2Track: A track of an object instance.
  2236  type GoogleCloudVideointelligenceV1beta2Track struct {
  2237  	// Attributes: Optional. Attributes in the track level.
  2238  	Attributes []*GoogleCloudVideointelligenceV1beta2DetectedAttribute `json:"attributes,omitempty"`
  2239  	// Confidence: Optional. The confidence score of the tracked object.
  2240  	Confidence float64 `json:"confidence,omitempty"`
  2241  	// Segment: Video segment of a track.
  2242  	Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"`
  2243  	// TimestampedObjects: The object with timestamp and attributes per frame in
  2244  	// the track.
  2245  	TimestampedObjects []*GoogleCloudVideointelligenceV1beta2TimestampedObject `json:"timestampedObjects,omitempty"`
  2246  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  2247  	// unconditionally include in API requests. By default, fields with empty or
  2248  	// default values are omitted from API requests. See
  2249  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2250  	// details.
  2251  	ForceSendFields []string `json:"-"`
  2252  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  2253  	// requests with the JSON null value. By default, fields with empty values are
  2254  	// omitted from API requests. See
  2255  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2256  	NullFields []string `json:"-"`
  2257  }
  2258  
  2259  func (s *GoogleCloudVideointelligenceV1beta2Track) MarshalJSON() ([]byte, error) {
  2260  	type NoMethod GoogleCloudVideointelligenceV1beta2Track
  2261  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2262  }
  2263  
  2264  func (s *GoogleCloudVideointelligenceV1beta2Track) UnmarshalJSON(data []byte) error {
  2265  	type NoMethod GoogleCloudVideointelligenceV1beta2Track
  2266  	var s1 struct {
  2267  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2268  		*NoMethod
  2269  	}
  2270  	s1.NoMethod = (*NoMethod)(s)
  2271  	if err := json.Unmarshal(data, &s1); err != nil {
  2272  		return err
  2273  	}
  2274  	s.Confidence = float64(s1.Confidence)
  2275  	return nil
  2276  }
  2277  
  2278  // GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress: Annotation
  2279  // progress for a single video.
  2280  type GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress struct {
  2281  	// Feature: Specifies which feature is being tracked if the request contains
  2282  	// more than one feature.
  2283  	//
  2284  	// Possible values:
  2285  	//   "FEATURE_UNSPECIFIED" - Unspecified.
  2286  	//   "LABEL_DETECTION" - Label detection. Detect objects, such as dog or
  2287  	// flower.
  2288  	//   "SHOT_CHANGE_DETECTION" - Shot change detection.
  2289  	//   "EXPLICIT_CONTENT_DETECTION" - Explicit content detection.
  2290  	//   "FACE_DETECTION" - Human face detection.
  2291  	//   "SPEECH_TRANSCRIPTION" - Speech transcription.
  2292  	//   "TEXT_DETECTION" - OCR text detection and tracking.
  2293  	//   "OBJECT_TRACKING" - Object detection and tracking.
  2294  	//   "LOGO_RECOGNITION" - Logo detection, tracking, and recognition.
  2295  	//   "PERSON_DETECTION" - Person detection.
  2296  	Feature string `json:"feature,omitempty"`
  2297  	// InputUri: Video file location in Cloud Storage
  2298  	// (https://cloud.google.com/storage/).
  2299  	InputUri string `json:"inputUri,omitempty"`
  2300  	// ProgressPercent: Approximate percentage processed thus far. Guaranteed to be
  2301  	// 100 when fully processed.
  2302  	ProgressPercent int64 `json:"progressPercent,omitempty"`
  2303  	// Segment: Specifies which segment is being tracked if the request contains
  2304  	// more than one segment.
  2305  	Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"`
  2306  	// StartTime: Time when the request was received.
  2307  	StartTime string `json:"startTime,omitempty"`
  2308  	// UpdateTime: Time of the most recent update.
  2309  	UpdateTime string `json:"updateTime,omitempty"`
  2310  	// ForceSendFields is a list of field names (e.g. "Feature") to unconditionally
  2311  	// include in API requests. By default, fields with empty or default values are
  2312  	// omitted from API requests. See
  2313  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2314  	// details.
  2315  	ForceSendFields []string `json:"-"`
  2316  	// NullFields is a list of field names (e.g. "Feature") to include in API
  2317  	// requests with the JSON null value. By default, fields with empty values are
  2318  	// omitted from API requests. See
  2319  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2320  	NullFields []string `json:"-"`
  2321  }
  2322  
  2323  func (s *GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress) MarshalJSON() ([]byte, error) {
  2324  	type NoMethod GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress
  2325  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2326  }
  2327  
  2328  // GoogleCloudVideointelligenceV1beta2VideoAnnotationResults: Annotation
  2329  // results for a single video.
  2330  type GoogleCloudVideointelligenceV1beta2VideoAnnotationResults struct {
  2331  	// Error: If set, indicates an error. Note that for a single
  2332  	// `AnnotateVideoRequest` some videos may succeed and some may fail.
  2333  	Error *GoogleRpcStatus `json:"error,omitempty"`
  2334  	// ExplicitAnnotation: Explicit content annotation.
  2335  	ExplicitAnnotation *GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation `json:"explicitAnnotation,omitempty"`
  2336  	// FaceAnnotations: Deprecated. Please use `face_detection_annotations`
  2337  	// instead.
  2338  	FaceAnnotations []*GoogleCloudVideointelligenceV1beta2FaceAnnotation `json:"faceAnnotations,omitempty"`
  2339  	// FaceDetectionAnnotations: Face detection annotations.
  2340  	FaceDetectionAnnotations []*GoogleCloudVideointelligenceV1beta2FaceDetectionAnnotation `json:"faceDetectionAnnotations,omitempty"`
  2341  	// FrameLabelAnnotations: Label annotations on frame level. There is exactly
  2342  	// one element for each unique label.
  2343  	FrameLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"frameLabelAnnotations,omitempty"`
  2344  	// InputUri: Video file location in Cloud Storage
  2345  	// (https://cloud.google.com/storage/).
  2346  	InputUri string `json:"inputUri,omitempty"`
  2347  	// LogoRecognitionAnnotations: Annotations for list of logos detected, tracked
  2348  	// and recognized in video.
  2349  	LogoRecognitionAnnotations []*GoogleCloudVideointelligenceV1beta2LogoRecognitionAnnotation `json:"logoRecognitionAnnotations,omitempty"`
  2350  	// ObjectAnnotations: Annotations for list of objects detected and tracked in
  2351  	// video.
  2352  	ObjectAnnotations []*GoogleCloudVideointelligenceV1beta2ObjectTrackingAnnotation `json:"objectAnnotations,omitempty"`
  2353  	// PersonDetectionAnnotations: Person detection annotations.
  2354  	PersonDetectionAnnotations []*GoogleCloudVideointelligenceV1beta2PersonDetectionAnnotation `json:"personDetectionAnnotations,omitempty"`
  2355  	// Segment: Video segment on which the annotation is run.
  2356  	Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"`
  2357  	// SegmentLabelAnnotations: Topical label annotations on video level or
  2358  	// user-specified segment level. There is exactly one element for each unique
  2359  	// label.
  2360  	SegmentLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"segmentLabelAnnotations,omitempty"`
  2361  	// SegmentPresenceLabelAnnotations: Presence label annotations on video level
  2362  	// or user-specified segment level. There is exactly one element for each
  2363  	// unique label. Compared to the existing topical `segment_label_annotations`,
  2364  	// this field presents more fine-grained, segment-level labels detected in
  2365  	// video content and is made available only when the client sets
  2366  	// `LabelDetectionConfig.model` to "builtin/latest" in the request.
  2367  	SegmentPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"segmentPresenceLabelAnnotations,omitempty"`
  2368  	// ShotAnnotations: Shot annotations. Each shot is represented as a video
  2369  	// segment.
  2370  	ShotAnnotations []*GoogleCloudVideointelligenceV1beta2VideoSegment `json:"shotAnnotations,omitempty"`
  2371  	// ShotLabelAnnotations: Topical label annotations on shot level. There is
  2372  	// exactly one element for each unique label.
  2373  	ShotLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"shotLabelAnnotations,omitempty"`
  2374  	// ShotPresenceLabelAnnotations: Presence label annotations on shot level.
  2375  	// There is exactly one element for each unique label. Compared to the existing
  2376  	// topical `shot_label_annotations`, this field presents more fine-grained,
  2377  	// shot-level labels detected in video content and is made available only when
  2378  	// the client sets `LabelDetectionConfig.model` to "builtin/latest" in the
  2379  	// request.
  2380  	ShotPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"shotPresenceLabelAnnotations,omitempty"`
  2381  	// SpeechTranscriptions: Speech transcription.
  2382  	SpeechTranscriptions []*GoogleCloudVideointelligenceV1beta2SpeechTranscription `json:"speechTranscriptions,omitempty"`
  2383  	// TextAnnotations: OCR text detection and tracking. Annotations for list of
  2384  	// detected text snippets. Each will have list of frame information associated
  2385  	// with it.
  2386  	TextAnnotations []*GoogleCloudVideointelligenceV1beta2TextAnnotation `json:"textAnnotations,omitempty"`
  2387  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  2388  	// include in API requests. By default, fields with empty or default values are
  2389  	// omitted from API requests. See
  2390  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2391  	// details.
  2392  	ForceSendFields []string `json:"-"`
  2393  	// NullFields is a list of field names (e.g. "Error") to include in API
  2394  	// requests with the JSON null value. By default, fields with empty values are
  2395  	// omitted from API requests. See
  2396  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2397  	NullFields []string `json:"-"`
  2398  }
  2399  
  2400  func (s *GoogleCloudVideointelligenceV1beta2VideoAnnotationResults) MarshalJSON() ([]byte, error) {
  2401  	type NoMethod GoogleCloudVideointelligenceV1beta2VideoAnnotationResults
  2402  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2403  }
  2404  
  2405  // GoogleCloudVideointelligenceV1beta2VideoSegment: Video segment.
  2406  type GoogleCloudVideointelligenceV1beta2VideoSegment struct {
  2407  	// EndTimeOffset: Time-offset, relative to the beginning of the video,
  2408  	// corresponding to the end of the segment (inclusive).
  2409  	EndTimeOffset string `json:"endTimeOffset,omitempty"`
  2410  	// StartTimeOffset: Time-offset, relative to the beginning of the video,
  2411  	// corresponding to the start of the segment (inclusive).
  2412  	StartTimeOffset string `json:"startTimeOffset,omitempty"`
  2413  	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
  2414  	// unconditionally include in API requests. By default, fields with empty or
  2415  	// default values are omitted from API requests. See
  2416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2417  	// details.
  2418  	ForceSendFields []string `json:"-"`
  2419  	// NullFields is a list of field names (e.g. "EndTimeOffset") to include in API
  2420  	// requests with the JSON null value. By default, fields with empty values are
  2421  	// omitted from API requests. See
  2422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2423  	NullFields []string `json:"-"`
  2424  }
  2425  
  2426  func (s *GoogleCloudVideointelligenceV1beta2VideoSegment) MarshalJSON() ([]byte, error) {
  2427  	type NoMethod GoogleCloudVideointelligenceV1beta2VideoSegment
  2428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2429  }
  2430  
  2431  // GoogleCloudVideointelligenceV1beta2WordInfo: Word-specific information for
  2432  // recognized words. Word information is only included in the response when
  2433  // certain request parameters are set, such as `enable_word_time_offsets`.
  2434  type GoogleCloudVideointelligenceV1beta2WordInfo struct {
  2435  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  2436  	// higher number indicates an estimated greater likelihood that the recognized
  2437  	// words are correct. This field is set only for the top alternative. This
  2438  	// field is not guaranteed to be accurate and users should not rely on it to be
  2439  	// always provided. The default of 0.0 is a sentinel value indicating
  2440  	// `confidence` was not set.
  2441  	Confidence float64 `json:"confidence,omitempty"`
  2442  	// EndTime: Time offset relative to the beginning of the audio, and
  2443  	// corresponding to the end of the spoken word. This field is only set if
  2444  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  2445  	// experimental feature and the accuracy of the time offset can vary.
  2446  	EndTime string `json:"endTime,omitempty"`
  2447  	// SpeakerTag: Output only. A distinct integer value is assigned for every
  2448  	// speaker within the audio. This field specifies which one of those speakers
  2449  	// was detected to have spoken this word. Value ranges from 1 up to
  2450  	// diarization_speaker_count, and is only set if speaker diarization is
  2451  	// enabled.
  2452  	SpeakerTag int64 `json:"speakerTag,omitempty"`
  2453  	// StartTime: Time offset relative to the beginning of the audio, and
  2454  	// corresponding to the start of the spoken word. This field is only set if
  2455  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  2456  	// experimental feature and the accuracy of the time offset can vary.
  2457  	StartTime string `json:"startTime,omitempty"`
  2458  	// Word: The word corresponding to this set of information.
  2459  	Word string `json:"word,omitempty"`
  2460  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  2461  	// unconditionally include in API requests. By default, fields with empty or
  2462  	// default values are omitted from API requests. See
  2463  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2464  	// details.
  2465  	ForceSendFields []string `json:"-"`
  2466  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  2467  	// requests with the JSON null value. By default, fields with empty values are
  2468  	// omitted from API requests. See
  2469  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2470  	NullFields []string `json:"-"`
  2471  }
  2472  
  2473  func (s *GoogleCloudVideointelligenceV1beta2WordInfo) MarshalJSON() ([]byte, error) {
  2474  	type NoMethod GoogleCloudVideointelligenceV1beta2WordInfo
  2475  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2476  }
  2477  
  2478  func (s *GoogleCloudVideointelligenceV1beta2WordInfo) UnmarshalJSON(data []byte) error {
  2479  	type NoMethod GoogleCloudVideointelligenceV1beta2WordInfo
  2480  	var s1 struct {
  2481  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2482  		*NoMethod
  2483  	}
  2484  	s1.NoMethod = (*NoMethod)(s)
  2485  	if err := json.Unmarshal(data, &s1); err != nil {
  2486  		return err
  2487  	}
  2488  	s.Confidence = float64(s1.Confidence)
  2489  	return nil
  2490  }
  2491  
  2492  // GoogleCloudVideointelligenceV1p1beta1AnnotateVideoProgress: Video annotation
  2493  // progress. Included in the `metadata` field of the `Operation` returned by
  2494  // the `GetOperation` call of the `google::longrunning::Operations` service.
  2495  type GoogleCloudVideointelligenceV1p1beta1AnnotateVideoProgress struct {
  2496  	// AnnotationProgress: Progress metadata for all videos specified in
  2497  	// `AnnotateVideoRequest`.
  2498  	AnnotationProgress []*GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress `json:"annotationProgress,omitempty"`
  2499  	// ForceSendFields is a list of field names (e.g. "AnnotationProgress") to
  2500  	// unconditionally include in API requests. By default, fields with empty or
  2501  	// default values are omitted from API requests. See
  2502  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2503  	// details.
  2504  	ForceSendFields []string `json:"-"`
  2505  	// NullFields is a list of field names (e.g. "AnnotationProgress") to include
  2506  	// in API requests with the JSON null value. By default, fields with empty
  2507  	// values are omitted from API requests. See
  2508  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2509  	NullFields []string `json:"-"`
  2510  }
  2511  
  2512  func (s *GoogleCloudVideointelligenceV1p1beta1AnnotateVideoProgress) MarshalJSON() ([]byte, error) {
  2513  	type NoMethod GoogleCloudVideointelligenceV1p1beta1AnnotateVideoProgress
  2514  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2515  }
  2516  
  2517  // GoogleCloudVideointelligenceV1p1beta1AnnotateVideoResponse: Video annotation
  2518  // response. Included in the `response` field of the `Operation` returned by
  2519  // the `GetOperation` call of the `google::longrunning::Operations` service.
  2520  type GoogleCloudVideointelligenceV1p1beta1AnnotateVideoResponse struct {
  2521  	// AnnotationResults: Annotation results for all videos specified in
  2522  	// `AnnotateVideoRequest`.
  2523  	AnnotationResults []*GoogleCloudVideointelligenceV1p1beta1VideoAnnotationResults `json:"annotationResults,omitempty"`
  2524  	// ForceSendFields is a list of field names (e.g. "AnnotationResults") to
  2525  	// unconditionally include in API requests. By default, fields with empty or
  2526  	// default values are omitted from API requests. See
  2527  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2528  	// details.
  2529  	ForceSendFields []string `json:"-"`
  2530  	// NullFields is a list of field names (e.g. "AnnotationResults") to include in
  2531  	// API requests with the JSON null value. By default, fields with empty values
  2532  	// are omitted from API requests. See
  2533  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2534  	NullFields []string `json:"-"`
  2535  }
  2536  
  2537  func (s *GoogleCloudVideointelligenceV1p1beta1AnnotateVideoResponse) MarshalJSON() ([]byte, error) {
  2538  	type NoMethod GoogleCloudVideointelligenceV1p1beta1AnnotateVideoResponse
  2539  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2540  }
  2541  
  2542  // GoogleCloudVideointelligenceV1p1beta1DetectedAttribute: A generic detected
  2543  // attribute represented by name in string format.
  2544  type GoogleCloudVideointelligenceV1p1beta1DetectedAttribute struct {
  2545  	// Confidence: Detected attribute confidence. Range [0, 1].
  2546  	Confidence float64 `json:"confidence,omitempty"`
  2547  	// Name: The name of the attribute, for example, glasses, dark_glasses,
  2548  	// mouth_open. A full list of supported type names will be provided in the
  2549  	// document.
  2550  	Name string `json:"name,omitempty"`
  2551  	// Value: Text value of the detection result. For example, the value for
  2552  	// "HairColor" can be "black", "blonde", etc.
  2553  	Value string `json:"value,omitempty"`
  2554  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  2555  	// unconditionally include in API requests. By default, fields with empty or
  2556  	// default values are omitted from API requests. See
  2557  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2558  	// details.
  2559  	ForceSendFields []string `json:"-"`
  2560  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  2561  	// requests with the JSON null value. By default, fields with empty values are
  2562  	// omitted from API requests. See
  2563  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2564  	NullFields []string `json:"-"`
  2565  }
  2566  
  2567  func (s *GoogleCloudVideointelligenceV1p1beta1DetectedAttribute) MarshalJSON() ([]byte, error) {
  2568  	type NoMethod GoogleCloudVideointelligenceV1p1beta1DetectedAttribute
  2569  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2570  }
  2571  
  2572  func (s *GoogleCloudVideointelligenceV1p1beta1DetectedAttribute) UnmarshalJSON(data []byte) error {
  2573  	type NoMethod GoogleCloudVideointelligenceV1p1beta1DetectedAttribute
  2574  	var s1 struct {
  2575  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2576  		*NoMethod
  2577  	}
  2578  	s1.NoMethod = (*NoMethod)(s)
  2579  	if err := json.Unmarshal(data, &s1); err != nil {
  2580  		return err
  2581  	}
  2582  	s.Confidence = float64(s1.Confidence)
  2583  	return nil
  2584  }
  2585  
  2586  // GoogleCloudVideointelligenceV1p1beta1DetectedLandmark: A generic detected
  2587  // landmark represented by name in string format and a 2D location.
  2588  type GoogleCloudVideointelligenceV1p1beta1DetectedLandmark struct {
  2589  	// Confidence: The confidence score of the detected landmark. Range [0, 1].
  2590  	Confidence float64 `json:"confidence,omitempty"`
  2591  	// Name: The name of this landmark, for example, left_hand, right_shoulder.
  2592  	Name string `json:"name,omitempty"`
  2593  	// Point: The 2D point of the detected landmark using the normalized image
  2594  	// coordindate system. The normalized coordinates have the range from 0 to 1.
  2595  	Point *GoogleCloudVideointelligenceV1p1beta1NormalizedVertex `json:"point,omitempty"`
  2596  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  2597  	// unconditionally include in API requests. By default, fields with empty or
  2598  	// default values are omitted from API requests. See
  2599  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2600  	// details.
  2601  	ForceSendFields []string `json:"-"`
  2602  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  2603  	// requests with the JSON null value. By default, fields with empty values are
  2604  	// omitted from API requests. See
  2605  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2606  	NullFields []string `json:"-"`
  2607  }
  2608  
  2609  func (s *GoogleCloudVideointelligenceV1p1beta1DetectedLandmark) MarshalJSON() ([]byte, error) {
  2610  	type NoMethod GoogleCloudVideointelligenceV1p1beta1DetectedLandmark
  2611  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2612  }
  2613  
  2614  func (s *GoogleCloudVideointelligenceV1p1beta1DetectedLandmark) UnmarshalJSON(data []byte) error {
  2615  	type NoMethod GoogleCloudVideointelligenceV1p1beta1DetectedLandmark
  2616  	var s1 struct {
  2617  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2618  		*NoMethod
  2619  	}
  2620  	s1.NoMethod = (*NoMethod)(s)
  2621  	if err := json.Unmarshal(data, &s1); err != nil {
  2622  		return err
  2623  	}
  2624  	s.Confidence = float64(s1.Confidence)
  2625  	return nil
  2626  }
  2627  
  2628  // GoogleCloudVideointelligenceV1p1beta1Entity: Detected entity from video
  2629  // analysis.
  2630  type GoogleCloudVideointelligenceV1p1beta1Entity struct {
  2631  	// Description: Textual description, e.g., `Fixed-gear bicycle`.
  2632  	Description string `json:"description,omitempty"`
  2633  	// EntityId: Opaque entity ID. Some IDs may be available in Google Knowledge
  2634  	// Graph Search API (https://developers.google.com/knowledge-graph/).
  2635  	EntityId string `json:"entityId,omitempty"`
  2636  	// LanguageCode: Language code for `description` in BCP-47 format.
  2637  	LanguageCode string `json:"languageCode,omitempty"`
  2638  	// ForceSendFields is a list of field names (e.g. "Description") to
  2639  	// unconditionally include in API requests. By default, fields with empty or
  2640  	// default values are omitted from API requests. See
  2641  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2642  	// details.
  2643  	ForceSendFields []string `json:"-"`
  2644  	// NullFields is a list of field names (e.g. "Description") to include in API
  2645  	// requests with the JSON null value. By default, fields with empty values are
  2646  	// omitted from API requests. See
  2647  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2648  	NullFields []string `json:"-"`
  2649  }
  2650  
  2651  func (s *GoogleCloudVideointelligenceV1p1beta1Entity) MarshalJSON() ([]byte, error) {
  2652  	type NoMethod GoogleCloudVideointelligenceV1p1beta1Entity
  2653  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2654  }
  2655  
  2656  // GoogleCloudVideointelligenceV1p1beta1ExplicitContentAnnotation: Explicit
  2657  // content annotation (based on per-frame visual signals only). If no explicit
  2658  // content has been detected in a frame, no annotations are present for that
  2659  // frame.
  2660  type GoogleCloudVideointelligenceV1p1beta1ExplicitContentAnnotation struct {
  2661  	// Frames: All video frames where explicit content was detected.
  2662  	Frames []*GoogleCloudVideointelligenceV1p1beta1ExplicitContentFrame `json:"frames,omitempty"`
  2663  	// Version: Feature version.
  2664  	Version string `json:"version,omitempty"`
  2665  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  2666  	// include in API requests. By default, fields with empty or default values are
  2667  	// omitted from API requests. See
  2668  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2669  	// details.
  2670  	ForceSendFields []string `json:"-"`
  2671  	// NullFields is a list of field names (e.g. "Frames") to include in API
  2672  	// requests with the JSON null value. By default, fields with empty values are
  2673  	// omitted from API requests. See
  2674  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2675  	NullFields []string `json:"-"`
  2676  }
  2677  
  2678  func (s *GoogleCloudVideointelligenceV1p1beta1ExplicitContentAnnotation) MarshalJSON() ([]byte, error) {
  2679  	type NoMethod GoogleCloudVideointelligenceV1p1beta1ExplicitContentAnnotation
  2680  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2681  }
  2682  
  2683  // GoogleCloudVideointelligenceV1p1beta1ExplicitContentFrame: Video frame level
  2684  // annotation results for explicit content.
  2685  type GoogleCloudVideointelligenceV1p1beta1ExplicitContentFrame struct {
  2686  	// PornographyLikelihood: Likelihood of the pornography content..
  2687  	//
  2688  	// Possible values:
  2689  	//   "LIKELIHOOD_UNSPECIFIED" - Unspecified likelihood.
  2690  	//   "VERY_UNLIKELY" - Very unlikely.
  2691  	//   "UNLIKELY" - Unlikely.
  2692  	//   "POSSIBLE" - Possible.
  2693  	//   "LIKELY" - Likely.
  2694  	//   "VERY_LIKELY" - Very likely.
  2695  	PornographyLikelihood string `json:"pornographyLikelihood,omitempty"`
  2696  	// TimeOffset: Time-offset, relative to the beginning of the video,
  2697  	// corresponding to the video frame for this location.
  2698  	TimeOffset string `json:"timeOffset,omitempty"`
  2699  	// ForceSendFields is a list of field names (e.g. "PornographyLikelihood") to
  2700  	// unconditionally include in API requests. By default, fields with empty or
  2701  	// default values are omitted from API requests. See
  2702  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2703  	// details.
  2704  	ForceSendFields []string `json:"-"`
  2705  	// NullFields is a list of field names (e.g. "PornographyLikelihood") to
  2706  	// include in API requests with the JSON null value. By default, fields with
  2707  	// empty values are omitted from API requests. See
  2708  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2709  	NullFields []string `json:"-"`
  2710  }
  2711  
  2712  func (s *GoogleCloudVideointelligenceV1p1beta1ExplicitContentFrame) MarshalJSON() ([]byte, error) {
  2713  	type NoMethod GoogleCloudVideointelligenceV1p1beta1ExplicitContentFrame
  2714  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2715  }
  2716  
  2717  // GoogleCloudVideointelligenceV1p1beta1FaceAnnotation: Deprecated. No effect.
  2718  type GoogleCloudVideointelligenceV1p1beta1FaceAnnotation struct {
  2719  	// Frames: All video frames where a face was detected.
  2720  	Frames []*GoogleCloudVideointelligenceV1p1beta1FaceFrame `json:"frames,omitempty"`
  2721  	// Segments: All video segments where a face was detected.
  2722  	Segments []*GoogleCloudVideointelligenceV1p1beta1FaceSegment `json:"segments,omitempty"`
  2723  	// Thumbnail: Thumbnail of a representative face view (in JPEG format).
  2724  	Thumbnail string `json:"thumbnail,omitempty"`
  2725  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  2726  	// include in API requests. By default, fields with empty or default values are
  2727  	// omitted from API requests. See
  2728  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2729  	// details.
  2730  	ForceSendFields []string `json:"-"`
  2731  	// NullFields is a list of field names (e.g. "Frames") to include in API
  2732  	// requests with the JSON null value. By default, fields with empty values are
  2733  	// omitted from API requests. See
  2734  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2735  	NullFields []string `json:"-"`
  2736  }
  2737  
  2738  func (s *GoogleCloudVideointelligenceV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
  2739  	type NoMethod GoogleCloudVideointelligenceV1p1beta1FaceAnnotation
  2740  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2741  }
  2742  
  2743  // GoogleCloudVideointelligenceV1p1beta1FaceDetectionAnnotation: Face detection
  2744  // annotation.
  2745  type GoogleCloudVideointelligenceV1p1beta1FaceDetectionAnnotation struct {
  2746  	// Thumbnail: The thumbnail of a person's face.
  2747  	Thumbnail string `json:"thumbnail,omitempty"`
  2748  	// Tracks: The face tracks with attributes.
  2749  	Tracks []*GoogleCloudVideointelligenceV1p1beta1Track `json:"tracks,omitempty"`
  2750  	// Version: Feature version.
  2751  	Version string `json:"version,omitempty"`
  2752  	// ForceSendFields is a list of field names (e.g. "Thumbnail") to
  2753  	// unconditionally include in API requests. By default, fields with empty or
  2754  	// default values are omitted from API requests. See
  2755  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2756  	// details.
  2757  	ForceSendFields []string `json:"-"`
  2758  	// NullFields is a list of field names (e.g. "Thumbnail") to include in API
  2759  	// requests with the JSON null value. By default, fields with empty values are
  2760  	// omitted from API requests. See
  2761  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2762  	NullFields []string `json:"-"`
  2763  }
  2764  
  2765  func (s *GoogleCloudVideointelligenceV1p1beta1FaceDetectionAnnotation) MarshalJSON() ([]byte, error) {
  2766  	type NoMethod GoogleCloudVideointelligenceV1p1beta1FaceDetectionAnnotation
  2767  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2768  }
  2769  
  2770  // GoogleCloudVideointelligenceV1p1beta1FaceFrame: Deprecated. No effect.
  2771  type GoogleCloudVideointelligenceV1p1beta1FaceFrame struct {
  2772  	// NormalizedBoundingBoxes: Normalized Bounding boxes in a frame. There can be
  2773  	// more than one boxes if the same face is detected in multiple locations
  2774  	// within the current frame.
  2775  	NormalizedBoundingBoxes []*GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox `json:"normalizedBoundingBoxes,omitempty"`
  2776  	// TimeOffset: Time-offset, relative to the beginning of the video,
  2777  	// corresponding to the video frame for this location.
  2778  	TimeOffset string `json:"timeOffset,omitempty"`
  2779  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  2780  	// unconditionally include in API requests. By default, fields with empty or
  2781  	// default values are omitted from API requests. See
  2782  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2783  	// details.
  2784  	ForceSendFields []string `json:"-"`
  2785  	// NullFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  2786  	// include in API requests with the JSON null value. By default, fields with
  2787  	// empty values are omitted from API requests. See
  2788  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2789  	NullFields []string `json:"-"`
  2790  }
  2791  
  2792  func (s *GoogleCloudVideointelligenceV1p1beta1FaceFrame) MarshalJSON() ([]byte, error) {
  2793  	type NoMethod GoogleCloudVideointelligenceV1p1beta1FaceFrame
  2794  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2795  }
  2796  
  2797  // GoogleCloudVideointelligenceV1p1beta1FaceSegment: Video segment level
  2798  // annotation results for face detection.
  2799  type GoogleCloudVideointelligenceV1p1beta1FaceSegment struct {
  2800  	// Segment: Video segment where a face was detected.
  2801  	Segment *GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segment,omitempty"`
  2802  	// ForceSendFields is a list of field names (e.g. "Segment") to unconditionally
  2803  	// include in API requests. By default, fields with empty or default values are
  2804  	// omitted from API requests. See
  2805  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2806  	// details.
  2807  	ForceSendFields []string `json:"-"`
  2808  	// NullFields is a list of field names (e.g. "Segment") to include in API
  2809  	// requests with the JSON null value. By default, fields with empty values are
  2810  	// omitted from API requests. See
  2811  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2812  	NullFields []string `json:"-"`
  2813  }
  2814  
  2815  func (s *GoogleCloudVideointelligenceV1p1beta1FaceSegment) MarshalJSON() ([]byte, error) {
  2816  	type NoMethod GoogleCloudVideointelligenceV1p1beta1FaceSegment
  2817  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2818  }
  2819  
  2820  // GoogleCloudVideointelligenceV1p1beta1LabelAnnotation: Label annotation.
  2821  type GoogleCloudVideointelligenceV1p1beta1LabelAnnotation struct {
  2822  	// CategoryEntities: Common categories for the detected entity. For example,
  2823  	// when the label is `Terrier`, the category is likely `dog`. And in some cases
  2824  	// there might be more than one categories e.g., `Terrier` could also be a
  2825  	// `pet`.
  2826  	CategoryEntities []*GoogleCloudVideointelligenceV1p1beta1Entity `json:"categoryEntities,omitempty"`
  2827  	// Entity: Detected entity.
  2828  	Entity *GoogleCloudVideointelligenceV1p1beta1Entity `json:"entity,omitempty"`
  2829  	// Frames: All video frames where a label was detected.
  2830  	Frames []*GoogleCloudVideointelligenceV1p1beta1LabelFrame `json:"frames,omitempty"`
  2831  	// Segments: All video segments where a label was detected.
  2832  	Segments []*GoogleCloudVideointelligenceV1p1beta1LabelSegment `json:"segments,omitempty"`
  2833  	// Version: Feature version.
  2834  	Version string `json:"version,omitempty"`
  2835  	// ForceSendFields is a list of field names (e.g. "CategoryEntities") to
  2836  	// unconditionally include in API requests. By default, fields with empty or
  2837  	// default values are omitted from API requests. See
  2838  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2839  	// details.
  2840  	ForceSendFields []string `json:"-"`
  2841  	// NullFields is a list of field names (e.g. "CategoryEntities") to include in
  2842  	// API requests with the JSON null value. By default, fields with empty values
  2843  	// are omitted from API requests. See
  2844  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2845  	NullFields []string `json:"-"`
  2846  }
  2847  
  2848  func (s *GoogleCloudVideointelligenceV1p1beta1LabelAnnotation) MarshalJSON() ([]byte, error) {
  2849  	type NoMethod GoogleCloudVideointelligenceV1p1beta1LabelAnnotation
  2850  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2851  }
  2852  
  2853  // GoogleCloudVideointelligenceV1p1beta1LabelFrame: Video frame level
  2854  // annotation results for label detection.
  2855  type GoogleCloudVideointelligenceV1p1beta1LabelFrame struct {
  2856  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  2857  	Confidence float64 `json:"confidence,omitempty"`
  2858  	// TimeOffset: Time-offset, relative to the beginning of the video,
  2859  	// corresponding to the video frame for this location.
  2860  	TimeOffset string `json:"timeOffset,omitempty"`
  2861  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  2862  	// unconditionally include in API requests. By default, fields with empty or
  2863  	// default values are omitted from API requests. See
  2864  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2865  	// details.
  2866  	ForceSendFields []string `json:"-"`
  2867  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  2868  	// requests with the JSON null value. By default, fields with empty values are
  2869  	// omitted from API requests. See
  2870  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2871  	NullFields []string `json:"-"`
  2872  }
  2873  
  2874  func (s *GoogleCloudVideointelligenceV1p1beta1LabelFrame) MarshalJSON() ([]byte, error) {
  2875  	type NoMethod GoogleCloudVideointelligenceV1p1beta1LabelFrame
  2876  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2877  }
  2878  
  2879  func (s *GoogleCloudVideointelligenceV1p1beta1LabelFrame) UnmarshalJSON(data []byte) error {
  2880  	type NoMethod GoogleCloudVideointelligenceV1p1beta1LabelFrame
  2881  	var s1 struct {
  2882  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2883  		*NoMethod
  2884  	}
  2885  	s1.NoMethod = (*NoMethod)(s)
  2886  	if err := json.Unmarshal(data, &s1); err != nil {
  2887  		return err
  2888  	}
  2889  	s.Confidence = float64(s1.Confidence)
  2890  	return nil
  2891  }
  2892  
  2893  // GoogleCloudVideointelligenceV1p1beta1LabelSegment: Video segment level
  2894  // annotation results for label detection.
  2895  type GoogleCloudVideointelligenceV1p1beta1LabelSegment struct {
  2896  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  2897  	Confidence float64 `json:"confidence,omitempty"`
  2898  	// Segment: Video segment where a label was detected.
  2899  	Segment *GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segment,omitempty"`
  2900  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  2901  	// unconditionally include in API requests. By default, fields with empty or
  2902  	// default values are omitted from API requests. See
  2903  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2904  	// details.
  2905  	ForceSendFields []string `json:"-"`
  2906  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  2907  	// requests with the JSON null value. By default, fields with empty values are
  2908  	// omitted from API requests. See
  2909  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2910  	NullFields []string `json:"-"`
  2911  }
  2912  
  2913  func (s *GoogleCloudVideointelligenceV1p1beta1LabelSegment) MarshalJSON() ([]byte, error) {
  2914  	type NoMethod GoogleCloudVideointelligenceV1p1beta1LabelSegment
  2915  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2916  }
  2917  
  2918  func (s *GoogleCloudVideointelligenceV1p1beta1LabelSegment) UnmarshalJSON(data []byte) error {
  2919  	type NoMethod GoogleCloudVideointelligenceV1p1beta1LabelSegment
  2920  	var s1 struct {
  2921  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2922  		*NoMethod
  2923  	}
  2924  	s1.NoMethod = (*NoMethod)(s)
  2925  	if err := json.Unmarshal(data, &s1); err != nil {
  2926  		return err
  2927  	}
  2928  	s.Confidence = float64(s1.Confidence)
  2929  	return nil
  2930  }
  2931  
  2932  // GoogleCloudVideointelligenceV1p1beta1LogoRecognitionAnnotation: Annotation
  2933  // corresponding to one detected, tracked and recognized logo class.
  2934  type GoogleCloudVideointelligenceV1p1beta1LogoRecognitionAnnotation struct {
  2935  	// Entity: Entity category information to specify the logo class that all the
  2936  	// logo tracks within this LogoRecognitionAnnotation are recognized as.
  2937  	Entity *GoogleCloudVideointelligenceV1p1beta1Entity `json:"entity,omitempty"`
  2938  	// Segments: All video segments where the recognized logo appears. There might
  2939  	// be multiple instances of the same logo class appearing in one VideoSegment.
  2940  	Segments []*GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segments,omitempty"`
  2941  	// Tracks: All logo tracks where the recognized logo appears. Each track
  2942  	// corresponds to one logo instance appearing in consecutive frames.
  2943  	Tracks []*GoogleCloudVideointelligenceV1p1beta1Track `json:"tracks,omitempty"`
  2944  	// ForceSendFields is a list of field names (e.g. "Entity") to unconditionally
  2945  	// include in API requests. By default, fields with empty or default values are
  2946  	// omitted from API requests. See
  2947  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2948  	// details.
  2949  	ForceSendFields []string `json:"-"`
  2950  	// NullFields is a list of field names (e.g. "Entity") to include in API
  2951  	// requests with the JSON null value. By default, fields with empty values are
  2952  	// omitted from API requests. See
  2953  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2954  	NullFields []string `json:"-"`
  2955  }
  2956  
  2957  func (s *GoogleCloudVideointelligenceV1p1beta1LogoRecognitionAnnotation) MarshalJSON() ([]byte, error) {
  2958  	type NoMethod GoogleCloudVideointelligenceV1p1beta1LogoRecognitionAnnotation
  2959  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2960  }
  2961  
  2962  // GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox: Normalized
  2963  // bounding box. The normalized vertex coordinates are relative to the original
  2964  // image. Range: [0, 1].
  2965  type GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox struct {
  2966  	// Bottom: Bottom Y coordinate.
  2967  	Bottom float64 `json:"bottom,omitempty"`
  2968  	// Left: Left X coordinate.
  2969  	Left float64 `json:"left,omitempty"`
  2970  	// Right: Right X coordinate.
  2971  	Right float64 `json:"right,omitempty"`
  2972  	// Top: Top Y coordinate.
  2973  	Top float64 `json:"top,omitempty"`
  2974  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
  2975  	// include in API requests. By default, fields with empty or default values are
  2976  	// omitted from API requests. See
  2977  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2978  	// details.
  2979  	ForceSendFields []string `json:"-"`
  2980  	// NullFields is a list of field names (e.g. "Bottom") to include in API
  2981  	// requests with the JSON null value. By default, fields with empty values are
  2982  	// omitted from API requests. See
  2983  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2984  	NullFields []string `json:"-"`
  2985  }
  2986  
  2987  func (s *GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox) MarshalJSON() ([]byte, error) {
  2988  	type NoMethod GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox
  2989  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2990  }
  2991  
  2992  func (s *GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox) UnmarshalJSON(data []byte) error {
  2993  	type NoMethod GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox
  2994  	var s1 struct {
  2995  		Bottom gensupport.JSONFloat64 `json:"bottom"`
  2996  		Left   gensupport.JSONFloat64 `json:"left"`
  2997  		Right  gensupport.JSONFloat64 `json:"right"`
  2998  		Top    gensupport.JSONFloat64 `json:"top"`
  2999  		*NoMethod
  3000  	}
  3001  	s1.NoMethod = (*NoMethod)(s)
  3002  	if err := json.Unmarshal(data, &s1); err != nil {
  3003  		return err
  3004  	}
  3005  	s.Bottom = float64(s1.Bottom)
  3006  	s.Left = float64(s1.Left)
  3007  	s.Right = float64(s1.Right)
  3008  	s.Top = float64(s1.Top)
  3009  	return nil
  3010  }
  3011  
  3012  // GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingPoly: Normalized
  3013  // bounding polygon for text (that might not be aligned with axis). Contains
  3014  // list of the corner points in clockwise order starting from top-left corner.
  3015  // For example, for a rectangular bounding box: When the text is horizontal it
  3016  // might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees
  3017  // around the top-left corner it becomes: 2----3 | | 1----0 and the vertex
  3018  // order will still be (0, 1, 2, 3). Note that values can be less than 0, or
  3019  // greater than 1 due to trignometric calculations for location of the box.
  3020  type GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingPoly struct {
  3021  	// Vertices: Normalized vertices of the bounding polygon.
  3022  	Vertices []*GoogleCloudVideointelligenceV1p1beta1NormalizedVertex `json:"vertices,omitempty"`
  3023  	// ForceSendFields is a list of field names (e.g. "Vertices") to
  3024  	// unconditionally include in API requests. By default, fields with empty or
  3025  	// default values are omitted from API requests. See
  3026  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3027  	// details.
  3028  	ForceSendFields []string `json:"-"`
  3029  	// NullFields is a list of field names (e.g. "Vertices") to include in API
  3030  	// requests with the JSON null value. By default, fields with empty values are
  3031  	// omitted from API requests. See
  3032  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3033  	NullFields []string `json:"-"`
  3034  }
  3035  
  3036  func (s *GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingPoly) MarshalJSON() ([]byte, error) {
  3037  	type NoMethod GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingPoly
  3038  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3039  }
  3040  
  3041  // GoogleCloudVideointelligenceV1p1beta1NormalizedVertex: A vertex represents a
  3042  // 2D point in the image. NOTE: the normalized vertex coordinates are relative
  3043  // to the original image and range from 0 to 1.
  3044  type GoogleCloudVideointelligenceV1p1beta1NormalizedVertex struct {
  3045  	// X: X coordinate.
  3046  	X float64 `json:"x,omitempty"`
  3047  	// Y: Y coordinate.
  3048  	Y float64 `json:"y,omitempty"`
  3049  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  3050  	// include in API requests. By default, fields with empty or default values are
  3051  	// omitted from API requests. See
  3052  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3053  	// details.
  3054  	ForceSendFields []string `json:"-"`
  3055  	// NullFields is a list of field names (e.g. "X") to include in API requests
  3056  	// with the JSON null value. By default, fields with empty values are omitted
  3057  	// from API requests. See
  3058  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3059  	NullFields []string `json:"-"`
  3060  }
  3061  
  3062  func (s *GoogleCloudVideointelligenceV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
  3063  	type NoMethod GoogleCloudVideointelligenceV1p1beta1NormalizedVertex
  3064  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3065  }
  3066  
  3067  func (s *GoogleCloudVideointelligenceV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
  3068  	type NoMethod GoogleCloudVideointelligenceV1p1beta1NormalizedVertex
  3069  	var s1 struct {
  3070  		X gensupport.JSONFloat64 `json:"x"`
  3071  		Y gensupport.JSONFloat64 `json:"y"`
  3072  		*NoMethod
  3073  	}
  3074  	s1.NoMethod = (*NoMethod)(s)
  3075  	if err := json.Unmarshal(data, &s1); err != nil {
  3076  		return err
  3077  	}
  3078  	s.X = float64(s1.X)
  3079  	s.Y = float64(s1.Y)
  3080  	return nil
  3081  }
  3082  
  3083  // GoogleCloudVideointelligenceV1p1beta1ObjectTrackingAnnotation: Annotations
  3084  // corresponding to one tracked object.
  3085  type GoogleCloudVideointelligenceV1p1beta1ObjectTrackingAnnotation struct {
  3086  	// Confidence: Object category's labeling confidence of this track.
  3087  	Confidence float64 `json:"confidence,omitempty"`
  3088  	// Entity: Entity to specify the object category that this track is labeled as.
  3089  	Entity *GoogleCloudVideointelligenceV1p1beta1Entity `json:"entity,omitempty"`
  3090  	// Frames: Information corresponding to all frames where this object track
  3091  	// appears. Non-streaming batch mode: it may be one or multiple
  3092  	// ObjectTrackingFrame messages in frames. Streaming mode: it can only be one
  3093  	// ObjectTrackingFrame message in frames.
  3094  	Frames []*GoogleCloudVideointelligenceV1p1beta1ObjectTrackingFrame `json:"frames,omitempty"`
  3095  	// Segment: Non-streaming batch mode ONLY. Each object track corresponds to one
  3096  	// video segment where it appears.
  3097  	Segment *GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segment,omitempty"`
  3098  	// TrackId: Streaming mode ONLY. In streaming mode, we do not know the end time
  3099  	// of a tracked object before it is completed. Hence, there is no VideoSegment
  3100  	// info returned. Instead, we provide a unique identifiable integer track_id so
  3101  	// that the customers can correlate the results of the ongoing
  3102  	// ObjectTrackAnnotation of the same track_id over time.
  3103  	TrackId int64 `json:"trackId,omitempty,string"`
  3104  	// Version: Feature version.
  3105  	Version string `json:"version,omitempty"`
  3106  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  3107  	// unconditionally include in API requests. By default, fields with empty or
  3108  	// default values are omitted from API requests. See
  3109  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3110  	// details.
  3111  	ForceSendFields []string `json:"-"`
  3112  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  3113  	// requests with the JSON null value. By default, fields with empty values are
  3114  	// omitted from API requests. See
  3115  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3116  	NullFields []string `json:"-"`
  3117  }
  3118  
  3119  func (s *GoogleCloudVideointelligenceV1p1beta1ObjectTrackingAnnotation) MarshalJSON() ([]byte, error) {
  3120  	type NoMethod GoogleCloudVideointelligenceV1p1beta1ObjectTrackingAnnotation
  3121  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3122  }
  3123  
  3124  func (s *GoogleCloudVideointelligenceV1p1beta1ObjectTrackingAnnotation) UnmarshalJSON(data []byte) error {
  3125  	type NoMethod GoogleCloudVideointelligenceV1p1beta1ObjectTrackingAnnotation
  3126  	var s1 struct {
  3127  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3128  		*NoMethod
  3129  	}
  3130  	s1.NoMethod = (*NoMethod)(s)
  3131  	if err := json.Unmarshal(data, &s1); err != nil {
  3132  		return err
  3133  	}
  3134  	s.Confidence = float64(s1.Confidence)
  3135  	return nil
  3136  }
  3137  
  3138  // GoogleCloudVideointelligenceV1p1beta1ObjectTrackingFrame: Video frame level
  3139  // annotations for object detection and tracking. This field stores per frame
  3140  // location, time offset, and confidence.
  3141  type GoogleCloudVideointelligenceV1p1beta1ObjectTrackingFrame struct {
  3142  	// NormalizedBoundingBox: The normalized bounding box location of this object
  3143  	// track for the frame.
  3144  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  3145  	// TimeOffset: The timestamp of the frame in microseconds.
  3146  	TimeOffset string `json:"timeOffset,omitempty"`
  3147  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBox") to
  3148  	// unconditionally include in API requests. By default, fields with empty or
  3149  	// default values are omitted from API requests. See
  3150  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3151  	// details.
  3152  	ForceSendFields []string `json:"-"`
  3153  	// NullFields is a list of field names (e.g. "NormalizedBoundingBox") to
  3154  	// include in API requests with the JSON null value. By default, fields with
  3155  	// empty values are omitted from API requests. See
  3156  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3157  	NullFields []string `json:"-"`
  3158  }
  3159  
  3160  func (s *GoogleCloudVideointelligenceV1p1beta1ObjectTrackingFrame) MarshalJSON() ([]byte, error) {
  3161  	type NoMethod GoogleCloudVideointelligenceV1p1beta1ObjectTrackingFrame
  3162  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3163  }
  3164  
  3165  // GoogleCloudVideointelligenceV1p1beta1PersonDetectionAnnotation: Person
  3166  // detection annotation per video.
  3167  type GoogleCloudVideointelligenceV1p1beta1PersonDetectionAnnotation struct {
  3168  	// Tracks: The detected tracks of a person.
  3169  	Tracks []*GoogleCloudVideointelligenceV1p1beta1Track `json:"tracks,omitempty"`
  3170  	// Version: Feature version.
  3171  	Version string `json:"version,omitempty"`
  3172  	// ForceSendFields is a list of field names (e.g. "Tracks") to unconditionally
  3173  	// include in API requests. By default, fields with empty or default values are
  3174  	// omitted from API requests. See
  3175  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3176  	// details.
  3177  	ForceSendFields []string `json:"-"`
  3178  	// NullFields is a list of field names (e.g. "Tracks") to include in API
  3179  	// requests with the JSON null value. By default, fields with empty values are
  3180  	// omitted from API requests. See
  3181  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3182  	NullFields []string `json:"-"`
  3183  }
  3184  
  3185  func (s *GoogleCloudVideointelligenceV1p1beta1PersonDetectionAnnotation) MarshalJSON() ([]byte, error) {
  3186  	type NoMethod GoogleCloudVideointelligenceV1p1beta1PersonDetectionAnnotation
  3187  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3188  }
  3189  
  3190  // GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative:
  3191  // Alternative hypotheses (a.k.a. n-best list).
  3192  type GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative struct {
  3193  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  3194  	// higher number indicates an estimated greater likelihood that the recognized
  3195  	// words are correct. This field is set only for the top alternative. This
  3196  	// field is not guaranteed to be accurate and users should not rely on it to be
  3197  	// always provided. The default of 0.0 is a sentinel value indicating
  3198  	// `confidence` was not set.
  3199  	Confidence float64 `json:"confidence,omitempty"`
  3200  	// Transcript: Transcript text representing the words that the user spoke.
  3201  	Transcript string `json:"transcript,omitempty"`
  3202  	// Words: Output only. A list of word-specific information for each recognized
  3203  	// word. Note: When `enable_speaker_diarization` is set to true, you will see
  3204  	// all the words from the beginning of the audio.
  3205  	Words []*GoogleCloudVideointelligenceV1p1beta1WordInfo `json:"words,omitempty"`
  3206  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  3207  	// unconditionally include in API requests. By default, fields with empty or
  3208  	// default values are omitted from API requests. See
  3209  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3210  	// details.
  3211  	ForceSendFields []string `json:"-"`
  3212  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  3213  	// requests with the JSON null value. By default, fields with empty values are
  3214  	// omitted from API requests. See
  3215  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3216  	NullFields []string `json:"-"`
  3217  }
  3218  
  3219  func (s *GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative) MarshalJSON() ([]byte, error) {
  3220  	type NoMethod GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative
  3221  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3222  }
  3223  
  3224  func (s *GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative) UnmarshalJSON(data []byte) error {
  3225  	type NoMethod GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative
  3226  	var s1 struct {
  3227  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3228  		*NoMethod
  3229  	}
  3230  	s1.NoMethod = (*NoMethod)(s)
  3231  	if err := json.Unmarshal(data, &s1); err != nil {
  3232  		return err
  3233  	}
  3234  	s.Confidence = float64(s1.Confidence)
  3235  	return nil
  3236  }
  3237  
  3238  // GoogleCloudVideointelligenceV1p1beta1SpeechTranscription: A speech
  3239  // recognition result corresponding to a portion of the audio.
  3240  type GoogleCloudVideointelligenceV1p1beta1SpeechTranscription struct {
  3241  	// Alternatives: May contain one or more recognition hypotheses (up to the
  3242  	// maximum specified in `max_alternatives`). These alternatives are ordered in
  3243  	// terms of accuracy, with the top (first) alternative being the most probable,
  3244  	// as ranked by the recognizer.
  3245  	Alternatives []*GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative `json:"alternatives,omitempty"`
  3246  	// LanguageCode: Output only. The BCP-47
  3247  	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language
  3248  	// in this result. This language code was detected to have the most likelihood
  3249  	// of being spoken in the audio.
  3250  	LanguageCode string `json:"languageCode,omitempty"`
  3251  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  3252  	// unconditionally include in API requests. By default, fields with empty or
  3253  	// default values are omitted from API requests. See
  3254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3255  	// details.
  3256  	ForceSendFields []string `json:"-"`
  3257  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  3258  	// requests with the JSON null value. By default, fields with empty values are
  3259  	// omitted from API requests. See
  3260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3261  	NullFields []string `json:"-"`
  3262  }
  3263  
  3264  func (s *GoogleCloudVideointelligenceV1p1beta1SpeechTranscription) MarshalJSON() ([]byte, error) {
  3265  	type NoMethod GoogleCloudVideointelligenceV1p1beta1SpeechTranscription
  3266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3267  }
  3268  
  3269  // GoogleCloudVideointelligenceV1p1beta1TextAnnotation: Annotations related to
  3270  // one detected OCR text snippet. This will contain the corresponding text,
  3271  // confidence value, and frame level information for each detection.
  3272  type GoogleCloudVideointelligenceV1p1beta1TextAnnotation struct {
  3273  	// Segments: All video segments where OCR detected text appears.
  3274  	Segments []*GoogleCloudVideointelligenceV1p1beta1TextSegment `json:"segments,omitempty"`
  3275  	// Text: The detected text.
  3276  	Text string `json:"text,omitempty"`
  3277  	// Version: Feature version.
  3278  	Version string `json:"version,omitempty"`
  3279  	// ForceSendFields is a list of field names (e.g. "Segments") to
  3280  	// unconditionally include in API requests. By default, fields with empty or
  3281  	// default values are omitted from API requests. See
  3282  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3283  	// details.
  3284  	ForceSendFields []string `json:"-"`
  3285  	// NullFields is a list of field names (e.g. "Segments") to include in API
  3286  	// requests with the JSON null value. By default, fields with empty values are
  3287  	// omitted from API requests. See
  3288  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3289  	NullFields []string `json:"-"`
  3290  }
  3291  
  3292  func (s *GoogleCloudVideointelligenceV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) {
  3293  	type NoMethod GoogleCloudVideointelligenceV1p1beta1TextAnnotation
  3294  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3295  }
  3296  
  3297  // GoogleCloudVideointelligenceV1p1beta1TextFrame: Video frame level annotation
  3298  // results for text annotation (OCR). Contains information regarding timestamp
  3299  // and bounding box locations for the frames containing detected OCR text
  3300  // snippets.
  3301  type GoogleCloudVideointelligenceV1p1beta1TextFrame struct {
  3302  	// RotatedBoundingBox: Bounding polygon of the detected text for this frame.
  3303  	RotatedBoundingBox *GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingPoly `json:"rotatedBoundingBox,omitempty"`
  3304  	// TimeOffset: Timestamp of this frame.
  3305  	TimeOffset string `json:"timeOffset,omitempty"`
  3306  	// ForceSendFields is a list of field names (e.g. "RotatedBoundingBox") to
  3307  	// unconditionally include in API requests. By default, fields with empty or
  3308  	// default values are omitted from API requests. See
  3309  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3310  	// details.
  3311  	ForceSendFields []string `json:"-"`
  3312  	// NullFields is a list of field names (e.g. "RotatedBoundingBox") to include
  3313  	// in API requests with the JSON null value. By default, fields with empty
  3314  	// values are omitted from API requests. See
  3315  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3316  	NullFields []string `json:"-"`
  3317  }
  3318  
  3319  func (s *GoogleCloudVideointelligenceV1p1beta1TextFrame) MarshalJSON() ([]byte, error) {
  3320  	type NoMethod GoogleCloudVideointelligenceV1p1beta1TextFrame
  3321  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3322  }
  3323  
  3324  // GoogleCloudVideointelligenceV1p1beta1TextSegment: Video segment level
  3325  // annotation results for text detection.
  3326  type GoogleCloudVideointelligenceV1p1beta1TextSegment struct {
  3327  	// Confidence: Confidence for the track of detected text. It is calculated as
  3328  	// the highest over all frames where OCR detected text appears.
  3329  	Confidence float64 `json:"confidence,omitempty"`
  3330  	// Frames: Information related to the frames where OCR detected text appears.
  3331  	Frames []*GoogleCloudVideointelligenceV1p1beta1TextFrame `json:"frames,omitempty"`
  3332  	// Segment: Video segment where a text snippet was detected.
  3333  	Segment *GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segment,omitempty"`
  3334  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  3335  	// unconditionally include in API requests. By default, fields with empty or
  3336  	// default values are omitted from API requests. See
  3337  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3338  	// details.
  3339  	ForceSendFields []string `json:"-"`
  3340  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  3341  	// requests with the JSON null value. By default, fields with empty values are
  3342  	// omitted from API requests. See
  3343  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3344  	NullFields []string `json:"-"`
  3345  }
  3346  
  3347  func (s *GoogleCloudVideointelligenceV1p1beta1TextSegment) MarshalJSON() ([]byte, error) {
  3348  	type NoMethod GoogleCloudVideointelligenceV1p1beta1TextSegment
  3349  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3350  }
  3351  
  3352  func (s *GoogleCloudVideointelligenceV1p1beta1TextSegment) UnmarshalJSON(data []byte) error {
  3353  	type NoMethod GoogleCloudVideointelligenceV1p1beta1TextSegment
  3354  	var s1 struct {
  3355  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3356  		*NoMethod
  3357  	}
  3358  	s1.NoMethod = (*NoMethod)(s)
  3359  	if err := json.Unmarshal(data, &s1); err != nil {
  3360  		return err
  3361  	}
  3362  	s.Confidence = float64(s1.Confidence)
  3363  	return nil
  3364  }
  3365  
  3366  // GoogleCloudVideointelligenceV1p1beta1TimestampedObject: For tracking related
  3367  // features. An object at time_offset with attributes, and located with
  3368  // normalized_bounding_box.
  3369  type GoogleCloudVideointelligenceV1p1beta1TimestampedObject struct {
  3370  	// Attributes: Optional. The attributes of the object in the bounding box.
  3371  	Attributes []*GoogleCloudVideointelligenceV1p1beta1DetectedAttribute `json:"attributes,omitempty"`
  3372  	// Landmarks: Optional. The detected landmarks.
  3373  	Landmarks []*GoogleCloudVideointelligenceV1p1beta1DetectedLandmark `json:"landmarks,omitempty"`
  3374  	// NormalizedBoundingBox: Normalized Bounding box in a frame, where the object
  3375  	// is located.
  3376  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  3377  	// TimeOffset: Time-offset, relative to the beginning of the video,
  3378  	// corresponding to the video frame for this object.
  3379  	TimeOffset string `json:"timeOffset,omitempty"`
  3380  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  3381  	// unconditionally include in API requests. By default, fields with empty or
  3382  	// default values are omitted from API requests. See
  3383  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3384  	// details.
  3385  	ForceSendFields []string `json:"-"`
  3386  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  3387  	// requests with the JSON null value. By default, fields with empty values are
  3388  	// omitted from API requests. See
  3389  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3390  	NullFields []string `json:"-"`
  3391  }
  3392  
  3393  func (s *GoogleCloudVideointelligenceV1p1beta1TimestampedObject) MarshalJSON() ([]byte, error) {
  3394  	type NoMethod GoogleCloudVideointelligenceV1p1beta1TimestampedObject
  3395  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3396  }
  3397  
  3398  // GoogleCloudVideointelligenceV1p1beta1Track: A track of an object instance.
  3399  type GoogleCloudVideointelligenceV1p1beta1Track struct {
  3400  	// Attributes: Optional. Attributes in the track level.
  3401  	Attributes []*GoogleCloudVideointelligenceV1p1beta1DetectedAttribute `json:"attributes,omitempty"`
  3402  	// Confidence: Optional. The confidence score of the tracked object.
  3403  	Confidence float64 `json:"confidence,omitempty"`
  3404  	// Segment: Video segment of a track.
  3405  	Segment *GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segment,omitempty"`
  3406  	// TimestampedObjects: The object with timestamp and attributes per frame in
  3407  	// the track.
  3408  	TimestampedObjects []*GoogleCloudVideointelligenceV1p1beta1TimestampedObject `json:"timestampedObjects,omitempty"`
  3409  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  3410  	// unconditionally include in API requests. By default, fields with empty or
  3411  	// default values are omitted from API requests. See
  3412  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3413  	// details.
  3414  	ForceSendFields []string `json:"-"`
  3415  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  3416  	// requests with the JSON null value. By default, fields with empty values are
  3417  	// omitted from API requests. See
  3418  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3419  	NullFields []string `json:"-"`
  3420  }
  3421  
  3422  func (s *GoogleCloudVideointelligenceV1p1beta1Track) MarshalJSON() ([]byte, error) {
  3423  	type NoMethod GoogleCloudVideointelligenceV1p1beta1Track
  3424  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3425  }
  3426  
  3427  func (s *GoogleCloudVideointelligenceV1p1beta1Track) UnmarshalJSON(data []byte) error {
  3428  	type NoMethod GoogleCloudVideointelligenceV1p1beta1Track
  3429  	var s1 struct {
  3430  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3431  		*NoMethod
  3432  	}
  3433  	s1.NoMethod = (*NoMethod)(s)
  3434  	if err := json.Unmarshal(data, &s1); err != nil {
  3435  		return err
  3436  	}
  3437  	s.Confidence = float64(s1.Confidence)
  3438  	return nil
  3439  }
  3440  
  3441  // GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress: Annotation
  3442  // progress for a single video.
  3443  type GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress struct {
  3444  	// Feature: Specifies which feature is being tracked if the request contains
  3445  	// more than one feature.
  3446  	//
  3447  	// Possible values:
  3448  	//   "FEATURE_UNSPECIFIED" - Unspecified.
  3449  	//   "LABEL_DETECTION" - Label detection. Detect objects, such as dog or
  3450  	// flower.
  3451  	//   "SHOT_CHANGE_DETECTION" - Shot change detection.
  3452  	//   "EXPLICIT_CONTENT_DETECTION" - Explicit content detection.
  3453  	//   "FACE_DETECTION" - Human face detection.
  3454  	//   "SPEECH_TRANSCRIPTION" - Speech transcription.
  3455  	//   "TEXT_DETECTION" - OCR text detection and tracking.
  3456  	//   "OBJECT_TRACKING" - Object detection and tracking.
  3457  	//   "LOGO_RECOGNITION" - Logo detection, tracking, and recognition.
  3458  	//   "PERSON_DETECTION" - Person detection.
  3459  	Feature string `json:"feature,omitempty"`
  3460  	// InputUri: Video file location in Cloud Storage
  3461  	// (https://cloud.google.com/storage/).
  3462  	InputUri string `json:"inputUri,omitempty"`
  3463  	// ProgressPercent: Approximate percentage processed thus far. Guaranteed to be
  3464  	// 100 when fully processed.
  3465  	ProgressPercent int64 `json:"progressPercent,omitempty"`
  3466  	// Segment: Specifies which segment is being tracked if the request contains
  3467  	// more than one segment.
  3468  	Segment *GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segment,omitempty"`
  3469  	// StartTime: Time when the request was received.
  3470  	StartTime string `json:"startTime,omitempty"`
  3471  	// UpdateTime: Time of the most recent update.
  3472  	UpdateTime string `json:"updateTime,omitempty"`
  3473  	// ForceSendFields is a list of field names (e.g. "Feature") to unconditionally
  3474  	// include in API requests. By default, fields with empty or default values are
  3475  	// omitted from API requests. See
  3476  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3477  	// details.
  3478  	ForceSendFields []string `json:"-"`
  3479  	// NullFields is a list of field names (e.g. "Feature") to include in API
  3480  	// requests with the JSON null value. By default, fields with empty values are
  3481  	// omitted from API requests. See
  3482  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3483  	NullFields []string `json:"-"`
  3484  }
  3485  
  3486  func (s *GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress) MarshalJSON() ([]byte, error) {
  3487  	type NoMethod GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress
  3488  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3489  }
  3490  
  3491  // GoogleCloudVideointelligenceV1p1beta1VideoAnnotationResults: Annotation
  3492  // results for a single video.
  3493  type GoogleCloudVideointelligenceV1p1beta1VideoAnnotationResults struct {
  3494  	// Error: If set, indicates an error. Note that for a single
  3495  	// `AnnotateVideoRequest` some videos may succeed and some may fail.
  3496  	Error *GoogleRpcStatus `json:"error,omitempty"`
  3497  	// ExplicitAnnotation: Explicit content annotation.
  3498  	ExplicitAnnotation *GoogleCloudVideointelligenceV1p1beta1ExplicitContentAnnotation `json:"explicitAnnotation,omitempty"`
  3499  	// FaceAnnotations: Deprecated. Please use `face_detection_annotations`
  3500  	// instead.
  3501  	FaceAnnotations []*GoogleCloudVideointelligenceV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
  3502  	// FaceDetectionAnnotations: Face detection annotations.
  3503  	FaceDetectionAnnotations []*GoogleCloudVideointelligenceV1p1beta1FaceDetectionAnnotation `json:"faceDetectionAnnotations,omitempty"`
  3504  	// FrameLabelAnnotations: Label annotations on frame level. There is exactly
  3505  	// one element for each unique label.
  3506  	FrameLabelAnnotations []*GoogleCloudVideointelligenceV1p1beta1LabelAnnotation `json:"frameLabelAnnotations,omitempty"`
  3507  	// InputUri: Video file location in Cloud Storage
  3508  	// (https://cloud.google.com/storage/).
  3509  	InputUri string `json:"inputUri,omitempty"`
  3510  	// LogoRecognitionAnnotations: Annotations for list of logos detected, tracked
  3511  	// and recognized in video.
  3512  	LogoRecognitionAnnotations []*GoogleCloudVideointelligenceV1p1beta1LogoRecognitionAnnotation `json:"logoRecognitionAnnotations,omitempty"`
  3513  	// ObjectAnnotations: Annotations for list of objects detected and tracked in
  3514  	// video.
  3515  	ObjectAnnotations []*GoogleCloudVideointelligenceV1p1beta1ObjectTrackingAnnotation `json:"objectAnnotations,omitempty"`
  3516  	// PersonDetectionAnnotations: Person detection annotations.
  3517  	PersonDetectionAnnotations []*GoogleCloudVideointelligenceV1p1beta1PersonDetectionAnnotation `json:"personDetectionAnnotations,omitempty"`
  3518  	// Segment: Video segment on which the annotation is run.
  3519  	Segment *GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"segment,omitempty"`
  3520  	// SegmentLabelAnnotations: Topical label annotations on video level or
  3521  	// user-specified segment level. There is exactly one element for each unique
  3522  	// label.
  3523  	SegmentLabelAnnotations []*GoogleCloudVideointelligenceV1p1beta1LabelAnnotation `json:"segmentLabelAnnotations,omitempty"`
  3524  	// SegmentPresenceLabelAnnotations: Presence label annotations on video level
  3525  	// or user-specified segment level. There is exactly one element for each
  3526  	// unique label. Compared to the existing topical `segment_label_annotations`,
  3527  	// this field presents more fine-grained, segment-level labels detected in
  3528  	// video content and is made available only when the client sets
  3529  	// `LabelDetectionConfig.model` to "builtin/latest" in the request.
  3530  	SegmentPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1p1beta1LabelAnnotation `json:"segmentPresenceLabelAnnotations,omitempty"`
  3531  	// ShotAnnotations: Shot annotations. Each shot is represented as a video
  3532  	// segment.
  3533  	ShotAnnotations []*GoogleCloudVideointelligenceV1p1beta1VideoSegment `json:"shotAnnotations,omitempty"`
  3534  	// ShotLabelAnnotations: Topical label annotations on shot level. There is
  3535  	// exactly one element for each unique label.
  3536  	ShotLabelAnnotations []*GoogleCloudVideointelligenceV1p1beta1LabelAnnotation `json:"shotLabelAnnotations,omitempty"`
  3537  	// ShotPresenceLabelAnnotations: Presence label annotations on shot level.
  3538  	// There is exactly one element for each unique label. Compared to the existing
  3539  	// topical `shot_label_annotations`, this field presents more fine-grained,
  3540  	// shot-level labels detected in video content and is made available only when
  3541  	// the client sets `LabelDetectionConfig.model` to "builtin/latest" in the
  3542  	// request.
  3543  	ShotPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1p1beta1LabelAnnotation `json:"shotPresenceLabelAnnotations,omitempty"`
  3544  	// SpeechTranscriptions: Speech transcription.
  3545  	SpeechTranscriptions []*GoogleCloudVideointelligenceV1p1beta1SpeechTranscription `json:"speechTranscriptions,omitempty"`
  3546  	// TextAnnotations: OCR text detection and tracking. Annotations for list of
  3547  	// detected text snippets. Each will have list of frame information associated
  3548  	// with it.
  3549  	TextAnnotations []*GoogleCloudVideointelligenceV1p1beta1TextAnnotation `json:"textAnnotations,omitempty"`
  3550  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  3551  	// include in API requests. By default, fields with empty or default values are
  3552  	// omitted from API requests. See
  3553  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3554  	// details.
  3555  	ForceSendFields []string `json:"-"`
  3556  	// NullFields is a list of field names (e.g. "Error") to include in API
  3557  	// requests with the JSON null value. By default, fields with empty values are
  3558  	// omitted from API requests. See
  3559  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3560  	NullFields []string `json:"-"`
  3561  }
  3562  
  3563  func (s *GoogleCloudVideointelligenceV1p1beta1VideoAnnotationResults) MarshalJSON() ([]byte, error) {
  3564  	type NoMethod GoogleCloudVideointelligenceV1p1beta1VideoAnnotationResults
  3565  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3566  }
  3567  
  3568  // GoogleCloudVideointelligenceV1p1beta1VideoSegment: Video segment.
  3569  type GoogleCloudVideointelligenceV1p1beta1VideoSegment struct {
  3570  	// EndTimeOffset: Time-offset, relative to the beginning of the video,
  3571  	// corresponding to the end of the segment (inclusive).
  3572  	EndTimeOffset string `json:"endTimeOffset,omitempty"`
  3573  	// StartTimeOffset: Time-offset, relative to the beginning of the video,
  3574  	// corresponding to the start of the segment (inclusive).
  3575  	StartTimeOffset string `json:"startTimeOffset,omitempty"`
  3576  	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
  3577  	// unconditionally include in API requests. By default, fields with empty or
  3578  	// default values are omitted from API requests. See
  3579  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3580  	// details.
  3581  	ForceSendFields []string `json:"-"`
  3582  	// NullFields is a list of field names (e.g. "EndTimeOffset") to include in API
  3583  	// requests with the JSON null value. By default, fields with empty values are
  3584  	// omitted from API requests. See
  3585  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3586  	NullFields []string `json:"-"`
  3587  }
  3588  
  3589  func (s *GoogleCloudVideointelligenceV1p1beta1VideoSegment) MarshalJSON() ([]byte, error) {
  3590  	type NoMethod GoogleCloudVideointelligenceV1p1beta1VideoSegment
  3591  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3592  }
  3593  
  3594  // GoogleCloudVideointelligenceV1p1beta1WordInfo: Word-specific information for
  3595  // recognized words. Word information is only included in the response when
  3596  // certain request parameters are set, such as `enable_word_time_offsets`.
  3597  type GoogleCloudVideointelligenceV1p1beta1WordInfo struct {
  3598  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  3599  	// higher number indicates an estimated greater likelihood that the recognized
  3600  	// words are correct. This field is set only for the top alternative. This
  3601  	// field is not guaranteed to be accurate and users should not rely on it to be
  3602  	// always provided. The default of 0.0 is a sentinel value indicating
  3603  	// `confidence` was not set.
  3604  	Confidence float64 `json:"confidence,omitempty"`
  3605  	// EndTime: Time offset relative to the beginning of the audio, and
  3606  	// corresponding to the end of the spoken word. This field is only set if
  3607  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  3608  	// experimental feature and the accuracy of the time offset can vary.
  3609  	EndTime string `json:"endTime,omitempty"`
  3610  	// SpeakerTag: Output only. A distinct integer value is assigned for every
  3611  	// speaker within the audio. This field specifies which one of those speakers
  3612  	// was detected to have spoken this word. Value ranges from 1 up to
  3613  	// diarization_speaker_count, and is only set if speaker diarization is
  3614  	// enabled.
  3615  	SpeakerTag int64 `json:"speakerTag,omitempty"`
  3616  	// StartTime: Time offset relative to the beginning of the audio, and
  3617  	// corresponding to the start of the spoken word. This field is only set if
  3618  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  3619  	// experimental feature and the accuracy of the time offset can vary.
  3620  	StartTime string `json:"startTime,omitempty"`
  3621  	// Word: The word corresponding to this set of information.
  3622  	Word string `json:"word,omitempty"`
  3623  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  3624  	// unconditionally include in API requests. By default, fields with empty or
  3625  	// default values are omitted from API requests. See
  3626  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3627  	// details.
  3628  	ForceSendFields []string `json:"-"`
  3629  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  3630  	// requests with the JSON null value. By default, fields with empty values are
  3631  	// omitted from API requests. See
  3632  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3633  	NullFields []string `json:"-"`
  3634  }
  3635  
  3636  func (s *GoogleCloudVideointelligenceV1p1beta1WordInfo) MarshalJSON() ([]byte, error) {
  3637  	type NoMethod GoogleCloudVideointelligenceV1p1beta1WordInfo
  3638  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3639  }
  3640  
  3641  func (s *GoogleCloudVideointelligenceV1p1beta1WordInfo) UnmarshalJSON(data []byte) error {
  3642  	type NoMethod GoogleCloudVideointelligenceV1p1beta1WordInfo
  3643  	var s1 struct {
  3644  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3645  		*NoMethod
  3646  	}
  3647  	s1.NoMethod = (*NoMethod)(s)
  3648  	if err := json.Unmarshal(data, &s1); err != nil {
  3649  		return err
  3650  	}
  3651  	s.Confidence = float64(s1.Confidence)
  3652  	return nil
  3653  }
  3654  
  3655  // GoogleCloudVideointelligenceV1p2beta1AnnotateVideoProgress: Video annotation
  3656  // progress. Included in the `metadata` field of the `Operation` returned by
  3657  // the `GetOperation` call of the `google::longrunning::Operations` service.
  3658  type GoogleCloudVideointelligenceV1p2beta1AnnotateVideoProgress struct {
  3659  	// AnnotationProgress: Progress metadata for all videos specified in
  3660  	// `AnnotateVideoRequest`.
  3661  	AnnotationProgress []*GoogleCloudVideointelligenceV1p2beta1VideoAnnotationProgress `json:"annotationProgress,omitempty"`
  3662  	// ForceSendFields is a list of field names (e.g. "AnnotationProgress") to
  3663  	// unconditionally include in API requests. By default, fields with empty or
  3664  	// default values are omitted from API requests. See
  3665  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3666  	// details.
  3667  	ForceSendFields []string `json:"-"`
  3668  	// NullFields is a list of field names (e.g. "AnnotationProgress") to include
  3669  	// in API requests with the JSON null value. By default, fields with empty
  3670  	// values are omitted from API requests. See
  3671  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3672  	NullFields []string `json:"-"`
  3673  }
  3674  
  3675  func (s *GoogleCloudVideointelligenceV1p2beta1AnnotateVideoProgress) MarshalJSON() ([]byte, error) {
  3676  	type NoMethod GoogleCloudVideointelligenceV1p2beta1AnnotateVideoProgress
  3677  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3678  }
  3679  
  3680  // GoogleCloudVideointelligenceV1p2beta1AnnotateVideoRequest: Video annotation
  3681  // request.
  3682  type GoogleCloudVideointelligenceV1p2beta1AnnotateVideoRequest struct {
  3683  	// Features: Required. Requested video annotation features.
  3684  	//
  3685  	// Possible values:
  3686  	//   "FEATURE_UNSPECIFIED" - Unspecified.
  3687  	//   "LABEL_DETECTION" - Label detection. Detect objects, such as dog or
  3688  	// flower.
  3689  	//   "SHOT_CHANGE_DETECTION" - Shot change detection.
  3690  	//   "EXPLICIT_CONTENT_DETECTION" - Explicit content detection.
  3691  	//   "FACE_DETECTION" - Human face detection.
  3692  	//   "SPEECH_TRANSCRIPTION" - Speech transcription.
  3693  	//   "TEXT_DETECTION" - OCR text detection and tracking.
  3694  	//   "OBJECT_TRACKING" - Object detection and tracking.
  3695  	//   "LOGO_RECOGNITION" - Logo detection, tracking, and recognition.
  3696  	//   "PERSON_DETECTION" - Person detection.
  3697  	Features []string `json:"features,omitempty"`
  3698  	// InputContent: The video data bytes. If unset, the input video(s) should be
  3699  	// specified via the `input_uri`. If set, `input_uri` must be unset.
  3700  	InputContent string `json:"inputContent,omitempty"`
  3701  	// InputUri: Input video location. Currently, only Cloud Storage
  3702  	// (https://cloud.google.com/storage/) URIs are supported. URIs must be
  3703  	// specified in the following format: `gs://bucket-id/object-id` (other URI
  3704  	// formats return google.rpc.Code.INVALID_ARGUMENT). For more information, see
  3705  	// Request URIs (https://cloud.google.com/storage/docs/request-endpoints). To
  3706  	// identify multiple videos, a video URI may include wildcards in the
  3707  	// `object-id`. Supported wildcards: '*' to match 0 or more characters; '?' to
  3708  	// match 1 character. If unset, the input video should be embedded in the
  3709  	// request as `input_content`. If set, `input_content` must be unset.
  3710  	InputUri string `json:"inputUri,omitempty"`
  3711  	// LocationId: Optional. Cloud region where annotation should take place.
  3712  	// Supported cloud regions are: `us-east1`, `us-west1`, `europe-west1`,
  3713  	// `asia-east1`. If no region is specified, the region will be determined based
  3714  	// on video file location.
  3715  	LocationId string `json:"locationId,omitempty"`
  3716  	// OutputUri: Optional. Location where the output (in JSON format) should be
  3717  	// stored. Currently, only Cloud Storage (https://cloud.google.com/storage/)
  3718  	// URIs are supported. These must be specified in the following format:
  3719  	// `gs://bucket-id/object-id` (other URI formats return
  3720  	// google.rpc.Code.INVALID_ARGUMENT). For more information, see Request URIs
  3721  	// (https://cloud.google.com/storage/docs/request-endpoints).
  3722  	OutputUri string `json:"outputUri,omitempty"`
  3723  	// VideoContext: Additional video context and/or feature-specific parameters.
  3724  	VideoContext *GoogleCloudVideointelligenceV1p2beta1VideoContext `json:"videoContext,omitempty"`
  3725  	// ForceSendFields is a list of field names (e.g. "Features") to
  3726  	// unconditionally include in API requests. By default, fields with empty or
  3727  	// default values are omitted from API requests. See
  3728  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3729  	// details.
  3730  	ForceSendFields []string `json:"-"`
  3731  	// NullFields is a list of field names (e.g. "Features") to include in API
  3732  	// requests with the JSON null value. By default, fields with empty values are
  3733  	// omitted from API requests. See
  3734  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3735  	NullFields []string `json:"-"`
  3736  }
  3737  
  3738  func (s *GoogleCloudVideointelligenceV1p2beta1AnnotateVideoRequest) MarshalJSON() ([]byte, error) {
  3739  	type NoMethod GoogleCloudVideointelligenceV1p2beta1AnnotateVideoRequest
  3740  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3741  }
  3742  
  3743  // GoogleCloudVideointelligenceV1p2beta1AnnotateVideoResponse: Video annotation
  3744  // response. Included in the `response` field of the `Operation` returned by
  3745  // the `GetOperation` call of the `google::longrunning::Operations` service.
  3746  type GoogleCloudVideointelligenceV1p2beta1AnnotateVideoResponse struct {
  3747  	// AnnotationResults: Annotation results for all videos specified in
  3748  	// `AnnotateVideoRequest`.
  3749  	AnnotationResults []*GoogleCloudVideointelligenceV1p2beta1VideoAnnotationResults `json:"annotationResults,omitempty"`
  3750  	// ForceSendFields is a list of field names (e.g. "AnnotationResults") to
  3751  	// unconditionally include in API requests. By default, fields with empty or
  3752  	// default values are omitted from API requests. See
  3753  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3754  	// details.
  3755  	ForceSendFields []string `json:"-"`
  3756  	// NullFields is a list of field names (e.g. "AnnotationResults") to include in
  3757  	// API requests with the JSON null value. By default, fields with empty values
  3758  	// are omitted from API requests. See
  3759  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3760  	NullFields []string `json:"-"`
  3761  }
  3762  
  3763  func (s *GoogleCloudVideointelligenceV1p2beta1AnnotateVideoResponse) MarshalJSON() ([]byte, error) {
  3764  	type NoMethod GoogleCloudVideointelligenceV1p2beta1AnnotateVideoResponse
  3765  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3766  }
  3767  
  3768  // GoogleCloudVideointelligenceV1p2beta1DetectedAttribute: A generic detected
  3769  // attribute represented by name in string format.
  3770  type GoogleCloudVideointelligenceV1p2beta1DetectedAttribute struct {
  3771  	// Confidence: Detected attribute confidence. Range [0, 1].
  3772  	Confidence float64 `json:"confidence,omitempty"`
  3773  	// Name: The name of the attribute, for example, glasses, dark_glasses,
  3774  	// mouth_open. A full list of supported type names will be provided in the
  3775  	// document.
  3776  	Name string `json:"name,omitempty"`
  3777  	// Value: Text value of the detection result. For example, the value for
  3778  	// "HairColor" can be "black", "blonde", etc.
  3779  	Value string `json:"value,omitempty"`
  3780  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  3781  	// unconditionally include in API requests. By default, fields with empty or
  3782  	// default values are omitted from API requests. See
  3783  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3784  	// details.
  3785  	ForceSendFields []string `json:"-"`
  3786  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  3787  	// requests with the JSON null value. By default, fields with empty values are
  3788  	// omitted from API requests. See
  3789  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3790  	NullFields []string `json:"-"`
  3791  }
  3792  
  3793  func (s *GoogleCloudVideointelligenceV1p2beta1DetectedAttribute) MarshalJSON() ([]byte, error) {
  3794  	type NoMethod GoogleCloudVideointelligenceV1p2beta1DetectedAttribute
  3795  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3796  }
  3797  
  3798  func (s *GoogleCloudVideointelligenceV1p2beta1DetectedAttribute) UnmarshalJSON(data []byte) error {
  3799  	type NoMethod GoogleCloudVideointelligenceV1p2beta1DetectedAttribute
  3800  	var s1 struct {
  3801  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3802  		*NoMethod
  3803  	}
  3804  	s1.NoMethod = (*NoMethod)(s)
  3805  	if err := json.Unmarshal(data, &s1); err != nil {
  3806  		return err
  3807  	}
  3808  	s.Confidence = float64(s1.Confidence)
  3809  	return nil
  3810  }
  3811  
  3812  // GoogleCloudVideointelligenceV1p2beta1DetectedLandmark: A generic detected
  3813  // landmark represented by name in string format and a 2D location.
  3814  type GoogleCloudVideointelligenceV1p2beta1DetectedLandmark struct {
  3815  	// Confidence: The confidence score of the detected landmark. Range [0, 1].
  3816  	Confidence float64 `json:"confidence,omitempty"`
  3817  	// Name: The name of this landmark, for example, left_hand, right_shoulder.
  3818  	Name string `json:"name,omitempty"`
  3819  	// Point: The 2D point of the detected landmark using the normalized image
  3820  	// coordindate system. The normalized coordinates have the range from 0 to 1.
  3821  	Point *GoogleCloudVideointelligenceV1p2beta1NormalizedVertex `json:"point,omitempty"`
  3822  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  3823  	// unconditionally include in API requests. By default, fields with empty or
  3824  	// default values are omitted from API requests. See
  3825  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3826  	// details.
  3827  	ForceSendFields []string `json:"-"`
  3828  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  3829  	// requests with the JSON null value. By default, fields with empty values are
  3830  	// omitted from API requests. See
  3831  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3832  	NullFields []string `json:"-"`
  3833  }
  3834  
  3835  func (s *GoogleCloudVideointelligenceV1p2beta1DetectedLandmark) MarshalJSON() ([]byte, error) {
  3836  	type NoMethod GoogleCloudVideointelligenceV1p2beta1DetectedLandmark
  3837  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3838  }
  3839  
  3840  func (s *GoogleCloudVideointelligenceV1p2beta1DetectedLandmark) UnmarshalJSON(data []byte) error {
  3841  	type NoMethod GoogleCloudVideointelligenceV1p2beta1DetectedLandmark
  3842  	var s1 struct {
  3843  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3844  		*NoMethod
  3845  	}
  3846  	s1.NoMethod = (*NoMethod)(s)
  3847  	if err := json.Unmarshal(data, &s1); err != nil {
  3848  		return err
  3849  	}
  3850  	s.Confidence = float64(s1.Confidence)
  3851  	return nil
  3852  }
  3853  
  3854  // GoogleCloudVideointelligenceV1p2beta1Entity: Detected entity from video
  3855  // analysis.
  3856  type GoogleCloudVideointelligenceV1p2beta1Entity struct {
  3857  	// Description: Textual description, e.g., `Fixed-gear bicycle`.
  3858  	Description string `json:"description,omitempty"`
  3859  	// EntityId: Opaque entity ID. Some IDs may be available in Google Knowledge
  3860  	// Graph Search API (https://developers.google.com/knowledge-graph/).
  3861  	EntityId string `json:"entityId,omitempty"`
  3862  	// LanguageCode: Language code for `description` in BCP-47 format.
  3863  	LanguageCode string `json:"languageCode,omitempty"`
  3864  	// ForceSendFields is a list of field names (e.g. "Description") to
  3865  	// unconditionally include in API requests. By default, fields with empty or
  3866  	// default values are omitted from API requests. See
  3867  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3868  	// details.
  3869  	ForceSendFields []string `json:"-"`
  3870  	// NullFields is a list of field names (e.g. "Description") to include in API
  3871  	// requests with the JSON null value. By default, fields with empty values are
  3872  	// omitted from API requests. See
  3873  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3874  	NullFields []string `json:"-"`
  3875  }
  3876  
  3877  func (s *GoogleCloudVideointelligenceV1p2beta1Entity) MarshalJSON() ([]byte, error) {
  3878  	type NoMethod GoogleCloudVideointelligenceV1p2beta1Entity
  3879  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3880  }
  3881  
  3882  // GoogleCloudVideointelligenceV1p2beta1ExplicitContentAnnotation: Explicit
  3883  // content annotation (based on per-frame visual signals only). If no explicit
  3884  // content has been detected in a frame, no annotations are present for that
  3885  // frame.
  3886  type GoogleCloudVideointelligenceV1p2beta1ExplicitContentAnnotation struct {
  3887  	// Frames: All video frames where explicit content was detected.
  3888  	Frames []*GoogleCloudVideointelligenceV1p2beta1ExplicitContentFrame `json:"frames,omitempty"`
  3889  	// Version: Feature version.
  3890  	Version string `json:"version,omitempty"`
  3891  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  3892  	// include in API requests. By default, fields with empty or default values are
  3893  	// omitted from API requests. See
  3894  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3895  	// details.
  3896  	ForceSendFields []string `json:"-"`
  3897  	// NullFields is a list of field names (e.g. "Frames") to include in API
  3898  	// requests with the JSON null value. By default, fields with empty values are
  3899  	// omitted from API requests. See
  3900  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3901  	NullFields []string `json:"-"`
  3902  }
  3903  
  3904  func (s *GoogleCloudVideointelligenceV1p2beta1ExplicitContentAnnotation) MarshalJSON() ([]byte, error) {
  3905  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ExplicitContentAnnotation
  3906  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3907  }
  3908  
  3909  // GoogleCloudVideointelligenceV1p2beta1ExplicitContentDetectionConfig: Config
  3910  // for EXPLICIT_CONTENT_DETECTION.
  3911  type GoogleCloudVideointelligenceV1p2beta1ExplicitContentDetectionConfig struct {
  3912  	// Model: Model to use for explicit content detection. Supported values:
  3913  	// "builtin/stable" (the default if unset) and "builtin/latest".
  3914  	Model string `json:"model,omitempty"`
  3915  	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
  3916  	// include in API requests. By default, fields with empty or default values are
  3917  	// omitted from API requests. See
  3918  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3919  	// details.
  3920  	ForceSendFields []string `json:"-"`
  3921  	// NullFields is a list of field names (e.g. "Model") to include in API
  3922  	// requests with the JSON null value. By default, fields with empty values are
  3923  	// omitted from API requests. See
  3924  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3925  	NullFields []string `json:"-"`
  3926  }
  3927  
  3928  func (s *GoogleCloudVideointelligenceV1p2beta1ExplicitContentDetectionConfig) MarshalJSON() ([]byte, error) {
  3929  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ExplicitContentDetectionConfig
  3930  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3931  }
  3932  
  3933  // GoogleCloudVideointelligenceV1p2beta1ExplicitContentFrame: Video frame level
  3934  // annotation results for explicit content.
  3935  type GoogleCloudVideointelligenceV1p2beta1ExplicitContentFrame struct {
  3936  	// PornographyLikelihood: Likelihood of the pornography content..
  3937  	//
  3938  	// Possible values:
  3939  	//   "LIKELIHOOD_UNSPECIFIED" - Unspecified likelihood.
  3940  	//   "VERY_UNLIKELY" - Very unlikely.
  3941  	//   "UNLIKELY" - Unlikely.
  3942  	//   "POSSIBLE" - Possible.
  3943  	//   "LIKELY" - Likely.
  3944  	//   "VERY_LIKELY" - Very likely.
  3945  	PornographyLikelihood string `json:"pornographyLikelihood,omitempty"`
  3946  	// TimeOffset: Time-offset, relative to the beginning of the video,
  3947  	// corresponding to the video frame for this location.
  3948  	TimeOffset string `json:"timeOffset,omitempty"`
  3949  	// ForceSendFields is a list of field names (e.g. "PornographyLikelihood") to
  3950  	// unconditionally include in API requests. By default, fields with empty or
  3951  	// default values are omitted from API requests. See
  3952  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3953  	// details.
  3954  	ForceSendFields []string `json:"-"`
  3955  	// NullFields is a list of field names (e.g. "PornographyLikelihood") to
  3956  	// include in API requests with the JSON null value. By default, fields with
  3957  	// empty values are omitted from API requests. See
  3958  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3959  	NullFields []string `json:"-"`
  3960  }
  3961  
  3962  func (s *GoogleCloudVideointelligenceV1p2beta1ExplicitContentFrame) MarshalJSON() ([]byte, error) {
  3963  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ExplicitContentFrame
  3964  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3965  }
  3966  
  3967  // GoogleCloudVideointelligenceV1p2beta1FaceAnnotation: Deprecated. No effect.
  3968  type GoogleCloudVideointelligenceV1p2beta1FaceAnnotation struct {
  3969  	// Frames: All video frames where a face was detected.
  3970  	Frames []*GoogleCloudVideointelligenceV1p2beta1FaceFrame `json:"frames,omitempty"`
  3971  	// Segments: All video segments where a face was detected.
  3972  	Segments []*GoogleCloudVideointelligenceV1p2beta1FaceSegment `json:"segments,omitempty"`
  3973  	// Thumbnail: Thumbnail of a representative face view (in JPEG format).
  3974  	Thumbnail string `json:"thumbnail,omitempty"`
  3975  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  3976  	// include in API requests. By default, fields with empty or default values are
  3977  	// omitted from API requests. See
  3978  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3979  	// details.
  3980  	ForceSendFields []string `json:"-"`
  3981  	// NullFields is a list of field names (e.g. "Frames") to include in API
  3982  	// requests with the JSON null value. By default, fields with empty values are
  3983  	// omitted from API requests. See
  3984  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3985  	NullFields []string `json:"-"`
  3986  }
  3987  
  3988  func (s *GoogleCloudVideointelligenceV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
  3989  	type NoMethod GoogleCloudVideointelligenceV1p2beta1FaceAnnotation
  3990  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3991  }
  3992  
  3993  // GoogleCloudVideointelligenceV1p2beta1FaceDetectionAnnotation: Face detection
  3994  // annotation.
  3995  type GoogleCloudVideointelligenceV1p2beta1FaceDetectionAnnotation struct {
  3996  	// Thumbnail: The thumbnail of a person's face.
  3997  	Thumbnail string `json:"thumbnail,omitempty"`
  3998  	// Tracks: The face tracks with attributes.
  3999  	Tracks []*GoogleCloudVideointelligenceV1p2beta1Track `json:"tracks,omitempty"`
  4000  	// Version: Feature version.
  4001  	Version string `json:"version,omitempty"`
  4002  	// ForceSendFields is a list of field names (e.g. "Thumbnail") to
  4003  	// unconditionally include in API requests. By default, fields with empty or
  4004  	// default values are omitted from API requests. See
  4005  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4006  	// details.
  4007  	ForceSendFields []string `json:"-"`
  4008  	// NullFields is a list of field names (e.g. "Thumbnail") to include in API
  4009  	// requests with the JSON null value. By default, fields with empty values are
  4010  	// omitted from API requests. See
  4011  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4012  	NullFields []string `json:"-"`
  4013  }
  4014  
  4015  func (s *GoogleCloudVideointelligenceV1p2beta1FaceDetectionAnnotation) MarshalJSON() ([]byte, error) {
  4016  	type NoMethod GoogleCloudVideointelligenceV1p2beta1FaceDetectionAnnotation
  4017  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4018  }
  4019  
  4020  // GoogleCloudVideointelligenceV1p2beta1FaceDetectionConfig: Config for
  4021  // FACE_DETECTION.
  4022  type GoogleCloudVideointelligenceV1p2beta1FaceDetectionConfig struct {
  4023  	// IncludeAttributes: Whether to enable face attributes detection, such as
  4024  	// glasses, dark_glasses, mouth_open etc. Ignored if 'include_bounding_boxes'
  4025  	// is set to false.
  4026  	IncludeAttributes bool `json:"includeAttributes,omitempty"`
  4027  	// IncludeBoundingBoxes: Whether bounding boxes are included in the face
  4028  	// annotation output.
  4029  	IncludeBoundingBoxes bool `json:"includeBoundingBoxes,omitempty"`
  4030  	// Model: Model to use for face detection. Supported values: "builtin/stable"
  4031  	// (the default if unset) and "builtin/latest".
  4032  	Model string `json:"model,omitempty"`
  4033  	// ForceSendFields is a list of field names (e.g. "IncludeAttributes") to
  4034  	// unconditionally include in API requests. By default, fields with empty or
  4035  	// default values are omitted from API requests. See
  4036  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4037  	// details.
  4038  	ForceSendFields []string `json:"-"`
  4039  	// NullFields is a list of field names (e.g. "IncludeAttributes") to include in
  4040  	// API requests with the JSON null value. By default, fields with empty values
  4041  	// are omitted from API requests. See
  4042  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4043  	NullFields []string `json:"-"`
  4044  }
  4045  
  4046  func (s *GoogleCloudVideointelligenceV1p2beta1FaceDetectionConfig) MarshalJSON() ([]byte, error) {
  4047  	type NoMethod GoogleCloudVideointelligenceV1p2beta1FaceDetectionConfig
  4048  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4049  }
  4050  
  4051  // GoogleCloudVideointelligenceV1p2beta1FaceFrame: Deprecated. No effect.
  4052  type GoogleCloudVideointelligenceV1p2beta1FaceFrame struct {
  4053  	// NormalizedBoundingBoxes: Normalized Bounding boxes in a frame. There can be
  4054  	// more than one boxes if the same face is detected in multiple locations
  4055  	// within the current frame.
  4056  	NormalizedBoundingBoxes []*GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox `json:"normalizedBoundingBoxes,omitempty"`
  4057  	// TimeOffset: Time-offset, relative to the beginning of the video,
  4058  	// corresponding to the video frame for this location.
  4059  	TimeOffset string `json:"timeOffset,omitempty"`
  4060  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  4061  	// unconditionally include in API requests. By default, fields with empty or
  4062  	// default values are omitted from API requests. See
  4063  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4064  	// details.
  4065  	ForceSendFields []string `json:"-"`
  4066  	// NullFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  4067  	// include in API requests with the JSON null value. By default, fields with
  4068  	// empty values are omitted from API requests. See
  4069  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4070  	NullFields []string `json:"-"`
  4071  }
  4072  
  4073  func (s *GoogleCloudVideointelligenceV1p2beta1FaceFrame) MarshalJSON() ([]byte, error) {
  4074  	type NoMethod GoogleCloudVideointelligenceV1p2beta1FaceFrame
  4075  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4076  }
  4077  
  4078  // GoogleCloudVideointelligenceV1p2beta1FaceSegment: Video segment level
  4079  // annotation results for face detection.
  4080  type GoogleCloudVideointelligenceV1p2beta1FaceSegment struct {
  4081  	// Segment: Video segment where a face was detected.
  4082  	Segment *GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segment,omitempty"`
  4083  	// ForceSendFields is a list of field names (e.g. "Segment") to unconditionally
  4084  	// include in API requests. By default, fields with empty or default values are
  4085  	// omitted from API requests. See
  4086  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4087  	// details.
  4088  	ForceSendFields []string `json:"-"`
  4089  	// NullFields is a list of field names (e.g. "Segment") to include in API
  4090  	// requests with the JSON null value. By default, fields with empty values are
  4091  	// omitted from API requests. See
  4092  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4093  	NullFields []string `json:"-"`
  4094  }
  4095  
  4096  func (s *GoogleCloudVideointelligenceV1p2beta1FaceSegment) MarshalJSON() ([]byte, error) {
  4097  	type NoMethod GoogleCloudVideointelligenceV1p2beta1FaceSegment
  4098  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4099  }
  4100  
  4101  // GoogleCloudVideointelligenceV1p2beta1LabelAnnotation: Label annotation.
  4102  type GoogleCloudVideointelligenceV1p2beta1LabelAnnotation struct {
  4103  	// CategoryEntities: Common categories for the detected entity. For example,
  4104  	// when the label is `Terrier`, the category is likely `dog`. And in some cases
  4105  	// there might be more than one categories e.g., `Terrier` could also be a
  4106  	// `pet`.
  4107  	CategoryEntities []*GoogleCloudVideointelligenceV1p2beta1Entity `json:"categoryEntities,omitempty"`
  4108  	// Entity: Detected entity.
  4109  	Entity *GoogleCloudVideointelligenceV1p2beta1Entity `json:"entity,omitempty"`
  4110  	// Frames: All video frames where a label was detected.
  4111  	Frames []*GoogleCloudVideointelligenceV1p2beta1LabelFrame `json:"frames,omitempty"`
  4112  	// Segments: All video segments where a label was detected.
  4113  	Segments []*GoogleCloudVideointelligenceV1p2beta1LabelSegment `json:"segments,omitempty"`
  4114  	// Version: Feature version.
  4115  	Version string `json:"version,omitempty"`
  4116  	// ForceSendFields is a list of field names (e.g. "CategoryEntities") to
  4117  	// unconditionally include in API requests. By default, fields with empty or
  4118  	// default values are omitted from API requests. See
  4119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4120  	// details.
  4121  	ForceSendFields []string `json:"-"`
  4122  	// NullFields is a list of field names (e.g. "CategoryEntities") to include in
  4123  	// API requests with the JSON null value. By default, fields with empty values
  4124  	// are omitted from API requests. See
  4125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4126  	NullFields []string `json:"-"`
  4127  }
  4128  
  4129  func (s *GoogleCloudVideointelligenceV1p2beta1LabelAnnotation) MarshalJSON() ([]byte, error) {
  4130  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LabelAnnotation
  4131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4132  }
  4133  
  4134  // GoogleCloudVideointelligenceV1p2beta1LabelDetectionConfig: Config for
  4135  // LABEL_DETECTION.
  4136  type GoogleCloudVideointelligenceV1p2beta1LabelDetectionConfig struct {
  4137  	// FrameConfidenceThreshold: The confidence threshold we perform filtering on
  4138  	// the labels from frame-level detection. If not set, it is set to 0.4 by
  4139  	// default. The valid range for this threshold is [0.1, 0.9]. Any value set
  4140  	// outside of this range will be clipped. Note: For best results, follow the
  4141  	// default threshold. We will update the default threshold everytime when we
  4142  	// release a new model.
  4143  	FrameConfidenceThreshold float64 `json:"frameConfidenceThreshold,omitempty"`
  4144  	// LabelDetectionMode: What labels should be detected with LABEL_DETECTION, in
  4145  	// addition to video-level labels or segment-level labels. If unspecified,
  4146  	// defaults to `SHOT_MODE`.
  4147  	//
  4148  	// Possible values:
  4149  	//   "LABEL_DETECTION_MODE_UNSPECIFIED" - Unspecified.
  4150  	//   "SHOT_MODE" - Detect shot-level labels.
  4151  	//   "FRAME_MODE" - Detect frame-level labels.
  4152  	//   "SHOT_AND_FRAME_MODE" - Detect both shot-level and frame-level labels.
  4153  	LabelDetectionMode string `json:"labelDetectionMode,omitempty"`
  4154  	// Model: Model to use for label detection. Supported values: "builtin/stable"
  4155  	// (the default if unset) and "builtin/latest".
  4156  	Model string `json:"model,omitempty"`
  4157  	// StationaryCamera: Whether the video has been shot from a stationary (i.e.,
  4158  	// non-moving) camera. When set to true, might improve detection accuracy for
  4159  	// moving objects. Should be used with `SHOT_AND_FRAME_MODE` enabled.
  4160  	StationaryCamera bool `json:"stationaryCamera,omitempty"`
  4161  	// VideoConfidenceThreshold: The confidence threshold we perform filtering on
  4162  	// the labels from video-level and shot-level detections. If not set, it's set
  4163  	// to 0.3 by default. The valid range for this threshold is [0.1, 0.9]. Any
  4164  	// value set outside of this range will be clipped. Note: For best results,
  4165  	// follow the default threshold. We will update the default threshold everytime
  4166  	// when we release a new model.
  4167  	VideoConfidenceThreshold float64 `json:"videoConfidenceThreshold,omitempty"`
  4168  	// ForceSendFields is a list of field names (e.g. "FrameConfidenceThreshold")
  4169  	// to unconditionally include in API requests. By default, fields with empty or
  4170  	// default values are omitted from API requests. See
  4171  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4172  	// details.
  4173  	ForceSendFields []string `json:"-"`
  4174  	// NullFields is a list of field names (e.g. "FrameConfidenceThreshold") to
  4175  	// include in API requests with the JSON null value. By default, fields with
  4176  	// empty values are omitted from API requests. See
  4177  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4178  	NullFields []string `json:"-"`
  4179  }
  4180  
  4181  func (s *GoogleCloudVideointelligenceV1p2beta1LabelDetectionConfig) MarshalJSON() ([]byte, error) {
  4182  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LabelDetectionConfig
  4183  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4184  }
  4185  
  4186  func (s *GoogleCloudVideointelligenceV1p2beta1LabelDetectionConfig) UnmarshalJSON(data []byte) error {
  4187  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LabelDetectionConfig
  4188  	var s1 struct {
  4189  		FrameConfidenceThreshold gensupport.JSONFloat64 `json:"frameConfidenceThreshold"`
  4190  		VideoConfidenceThreshold gensupport.JSONFloat64 `json:"videoConfidenceThreshold"`
  4191  		*NoMethod
  4192  	}
  4193  	s1.NoMethod = (*NoMethod)(s)
  4194  	if err := json.Unmarshal(data, &s1); err != nil {
  4195  		return err
  4196  	}
  4197  	s.FrameConfidenceThreshold = float64(s1.FrameConfidenceThreshold)
  4198  	s.VideoConfidenceThreshold = float64(s1.VideoConfidenceThreshold)
  4199  	return nil
  4200  }
  4201  
  4202  // GoogleCloudVideointelligenceV1p2beta1LabelFrame: Video frame level
  4203  // annotation results for label detection.
  4204  type GoogleCloudVideointelligenceV1p2beta1LabelFrame struct {
  4205  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  4206  	Confidence float64 `json:"confidence,omitempty"`
  4207  	// TimeOffset: Time-offset, relative to the beginning of the video,
  4208  	// corresponding to the video frame for this location.
  4209  	TimeOffset string `json:"timeOffset,omitempty"`
  4210  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  4211  	// unconditionally include in API requests. By default, fields with empty or
  4212  	// default values are omitted from API requests. See
  4213  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4214  	// details.
  4215  	ForceSendFields []string `json:"-"`
  4216  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  4217  	// requests with the JSON null value. By default, fields with empty values are
  4218  	// omitted from API requests. See
  4219  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4220  	NullFields []string `json:"-"`
  4221  }
  4222  
  4223  func (s *GoogleCloudVideointelligenceV1p2beta1LabelFrame) MarshalJSON() ([]byte, error) {
  4224  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LabelFrame
  4225  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4226  }
  4227  
  4228  func (s *GoogleCloudVideointelligenceV1p2beta1LabelFrame) UnmarshalJSON(data []byte) error {
  4229  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LabelFrame
  4230  	var s1 struct {
  4231  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4232  		*NoMethod
  4233  	}
  4234  	s1.NoMethod = (*NoMethod)(s)
  4235  	if err := json.Unmarshal(data, &s1); err != nil {
  4236  		return err
  4237  	}
  4238  	s.Confidence = float64(s1.Confidence)
  4239  	return nil
  4240  }
  4241  
  4242  // GoogleCloudVideointelligenceV1p2beta1LabelSegment: Video segment level
  4243  // annotation results for label detection.
  4244  type GoogleCloudVideointelligenceV1p2beta1LabelSegment struct {
  4245  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  4246  	Confidence float64 `json:"confidence,omitempty"`
  4247  	// Segment: Video segment where a label was detected.
  4248  	Segment *GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segment,omitempty"`
  4249  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  4250  	// unconditionally include in API requests. By default, fields with empty or
  4251  	// default values are omitted from API requests. See
  4252  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4253  	// details.
  4254  	ForceSendFields []string `json:"-"`
  4255  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  4256  	// requests with the JSON null value. By default, fields with empty values are
  4257  	// omitted from API requests. See
  4258  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4259  	NullFields []string `json:"-"`
  4260  }
  4261  
  4262  func (s *GoogleCloudVideointelligenceV1p2beta1LabelSegment) MarshalJSON() ([]byte, error) {
  4263  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LabelSegment
  4264  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4265  }
  4266  
  4267  func (s *GoogleCloudVideointelligenceV1p2beta1LabelSegment) UnmarshalJSON(data []byte) error {
  4268  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LabelSegment
  4269  	var s1 struct {
  4270  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4271  		*NoMethod
  4272  	}
  4273  	s1.NoMethod = (*NoMethod)(s)
  4274  	if err := json.Unmarshal(data, &s1); err != nil {
  4275  		return err
  4276  	}
  4277  	s.Confidence = float64(s1.Confidence)
  4278  	return nil
  4279  }
  4280  
  4281  // GoogleCloudVideointelligenceV1p2beta1LogoRecognitionAnnotation: Annotation
  4282  // corresponding to one detected, tracked and recognized logo class.
  4283  type GoogleCloudVideointelligenceV1p2beta1LogoRecognitionAnnotation struct {
  4284  	// Entity: Entity category information to specify the logo class that all the
  4285  	// logo tracks within this LogoRecognitionAnnotation are recognized as.
  4286  	Entity *GoogleCloudVideointelligenceV1p2beta1Entity `json:"entity,omitempty"`
  4287  	// Segments: All video segments where the recognized logo appears. There might
  4288  	// be multiple instances of the same logo class appearing in one VideoSegment.
  4289  	Segments []*GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segments,omitempty"`
  4290  	// Tracks: All logo tracks where the recognized logo appears. Each track
  4291  	// corresponds to one logo instance appearing in consecutive frames.
  4292  	Tracks []*GoogleCloudVideointelligenceV1p2beta1Track `json:"tracks,omitempty"`
  4293  	// ForceSendFields is a list of field names (e.g. "Entity") to unconditionally
  4294  	// include in API requests. By default, fields with empty or default values are
  4295  	// omitted from API requests. See
  4296  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4297  	// details.
  4298  	ForceSendFields []string `json:"-"`
  4299  	// NullFields is a list of field names (e.g. "Entity") to include in API
  4300  	// requests with the JSON null value. By default, fields with empty values are
  4301  	// omitted from API requests. See
  4302  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4303  	NullFields []string `json:"-"`
  4304  }
  4305  
  4306  func (s *GoogleCloudVideointelligenceV1p2beta1LogoRecognitionAnnotation) MarshalJSON() ([]byte, error) {
  4307  	type NoMethod GoogleCloudVideointelligenceV1p2beta1LogoRecognitionAnnotation
  4308  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4309  }
  4310  
  4311  // GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox: Normalized
  4312  // bounding box. The normalized vertex coordinates are relative to the original
  4313  // image. Range: [0, 1].
  4314  type GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox struct {
  4315  	// Bottom: Bottom Y coordinate.
  4316  	Bottom float64 `json:"bottom,omitempty"`
  4317  	// Left: Left X coordinate.
  4318  	Left float64 `json:"left,omitempty"`
  4319  	// Right: Right X coordinate.
  4320  	Right float64 `json:"right,omitempty"`
  4321  	// Top: Top Y coordinate.
  4322  	Top float64 `json:"top,omitempty"`
  4323  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
  4324  	// include in API requests. By default, fields with empty or default values are
  4325  	// omitted from API requests. See
  4326  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4327  	// details.
  4328  	ForceSendFields []string `json:"-"`
  4329  	// NullFields is a list of field names (e.g. "Bottom") to include in API
  4330  	// requests with the JSON null value. By default, fields with empty values are
  4331  	// omitted from API requests. See
  4332  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4333  	NullFields []string `json:"-"`
  4334  }
  4335  
  4336  func (s *GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox) MarshalJSON() ([]byte, error) {
  4337  	type NoMethod GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox
  4338  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4339  }
  4340  
  4341  func (s *GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox) UnmarshalJSON(data []byte) error {
  4342  	type NoMethod GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox
  4343  	var s1 struct {
  4344  		Bottom gensupport.JSONFloat64 `json:"bottom"`
  4345  		Left   gensupport.JSONFloat64 `json:"left"`
  4346  		Right  gensupport.JSONFloat64 `json:"right"`
  4347  		Top    gensupport.JSONFloat64 `json:"top"`
  4348  		*NoMethod
  4349  	}
  4350  	s1.NoMethod = (*NoMethod)(s)
  4351  	if err := json.Unmarshal(data, &s1); err != nil {
  4352  		return err
  4353  	}
  4354  	s.Bottom = float64(s1.Bottom)
  4355  	s.Left = float64(s1.Left)
  4356  	s.Right = float64(s1.Right)
  4357  	s.Top = float64(s1.Top)
  4358  	return nil
  4359  }
  4360  
  4361  // GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingPoly: Normalized
  4362  // bounding polygon for text (that might not be aligned with axis). Contains
  4363  // list of the corner points in clockwise order starting from top-left corner.
  4364  // For example, for a rectangular bounding box: When the text is horizontal it
  4365  // might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees
  4366  // around the top-left corner it becomes: 2----3 | | 1----0 and the vertex
  4367  // order will still be (0, 1, 2, 3). Note that values can be less than 0, or
  4368  // greater than 1 due to trignometric calculations for location of the box.
  4369  type GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingPoly struct {
  4370  	// Vertices: Normalized vertices of the bounding polygon.
  4371  	Vertices []*GoogleCloudVideointelligenceV1p2beta1NormalizedVertex `json:"vertices,omitempty"`
  4372  	// ForceSendFields is a list of field names (e.g. "Vertices") to
  4373  	// unconditionally include in API requests. By default, fields with empty or
  4374  	// default values are omitted from API requests. See
  4375  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4376  	// details.
  4377  	ForceSendFields []string `json:"-"`
  4378  	// NullFields is a list of field names (e.g. "Vertices") to include in API
  4379  	// requests with the JSON null value. By default, fields with empty values are
  4380  	// omitted from API requests. See
  4381  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4382  	NullFields []string `json:"-"`
  4383  }
  4384  
  4385  func (s *GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingPoly) MarshalJSON() ([]byte, error) {
  4386  	type NoMethod GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingPoly
  4387  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4388  }
  4389  
  4390  // GoogleCloudVideointelligenceV1p2beta1NormalizedVertex: A vertex represents a
  4391  // 2D point in the image. NOTE: the normalized vertex coordinates are relative
  4392  // to the original image and range from 0 to 1.
  4393  type GoogleCloudVideointelligenceV1p2beta1NormalizedVertex struct {
  4394  	// X: X coordinate.
  4395  	X float64 `json:"x,omitempty"`
  4396  	// Y: Y coordinate.
  4397  	Y float64 `json:"y,omitempty"`
  4398  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  4399  	// include in API requests. By default, fields with empty or default values are
  4400  	// omitted from API requests. See
  4401  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4402  	// details.
  4403  	ForceSendFields []string `json:"-"`
  4404  	// NullFields is a list of field names (e.g. "X") to include in API requests
  4405  	// with the JSON null value. By default, fields with empty values are omitted
  4406  	// from API requests. See
  4407  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4408  	NullFields []string `json:"-"`
  4409  }
  4410  
  4411  func (s *GoogleCloudVideointelligenceV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
  4412  	type NoMethod GoogleCloudVideointelligenceV1p2beta1NormalizedVertex
  4413  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4414  }
  4415  
  4416  func (s *GoogleCloudVideointelligenceV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
  4417  	type NoMethod GoogleCloudVideointelligenceV1p2beta1NormalizedVertex
  4418  	var s1 struct {
  4419  		X gensupport.JSONFloat64 `json:"x"`
  4420  		Y gensupport.JSONFloat64 `json:"y"`
  4421  		*NoMethod
  4422  	}
  4423  	s1.NoMethod = (*NoMethod)(s)
  4424  	if err := json.Unmarshal(data, &s1); err != nil {
  4425  		return err
  4426  	}
  4427  	s.X = float64(s1.X)
  4428  	s.Y = float64(s1.Y)
  4429  	return nil
  4430  }
  4431  
  4432  // GoogleCloudVideointelligenceV1p2beta1ObjectTrackingAnnotation: Annotations
  4433  // corresponding to one tracked object.
  4434  type GoogleCloudVideointelligenceV1p2beta1ObjectTrackingAnnotation struct {
  4435  	// Confidence: Object category's labeling confidence of this track.
  4436  	Confidence float64 `json:"confidence,omitempty"`
  4437  	// Entity: Entity to specify the object category that this track is labeled as.
  4438  	Entity *GoogleCloudVideointelligenceV1p2beta1Entity `json:"entity,omitempty"`
  4439  	// Frames: Information corresponding to all frames where this object track
  4440  	// appears. Non-streaming batch mode: it may be one or multiple
  4441  	// ObjectTrackingFrame messages in frames. Streaming mode: it can only be one
  4442  	// ObjectTrackingFrame message in frames.
  4443  	Frames []*GoogleCloudVideointelligenceV1p2beta1ObjectTrackingFrame `json:"frames,omitempty"`
  4444  	// Segment: Non-streaming batch mode ONLY. Each object track corresponds to one
  4445  	// video segment where it appears.
  4446  	Segment *GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segment,omitempty"`
  4447  	// TrackId: Streaming mode ONLY. In streaming mode, we do not know the end time
  4448  	// of a tracked object before it is completed. Hence, there is no VideoSegment
  4449  	// info returned. Instead, we provide a unique identifiable integer track_id so
  4450  	// that the customers can correlate the results of the ongoing
  4451  	// ObjectTrackAnnotation of the same track_id over time.
  4452  	TrackId int64 `json:"trackId,omitempty,string"`
  4453  	// Version: Feature version.
  4454  	Version string `json:"version,omitempty"`
  4455  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  4456  	// unconditionally include in API requests. By default, fields with empty or
  4457  	// default values are omitted from API requests. See
  4458  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4459  	// details.
  4460  	ForceSendFields []string `json:"-"`
  4461  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  4462  	// requests with the JSON null value. By default, fields with empty values are
  4463  	// omitted from API requests. See
  4464  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4465  	NullFields []string `json:"-"`
  4466  }
  4467  
  4468  func (s *GoogleCloudVideointelligenceV1p2beta1ObjectTrackingAnnotation) MarshalJSON() ([]byte, error) {
  4469  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ObjectTrackingAnnotation
  4470  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4471  }
  4472  
  4473  func (s *GoogleCloudVideointelligenceV1p2beta1ObjectTrackingAnnotation) UnmarshalJSON(data []byte) error {
  4474  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ObjectTrackingAnnotation
  4475  	var s1 struct {
  4476  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4477  		*NoMethod
  4478  	}
  4479  	s1.NoMethod = (*NoMethod)(s)
  4480  	if err := json.Unmarshal(data, &s1); err != nil {
  4481  		return err
  4482  	}
  4483  	s.Confidence = float64(s1.Confidence)
  4484  	return nil
  4485  }
  4486  
  4487  // GoogleCloudVideointelligenceV1p2beta1ObjectTrackingConfig: Config for
  4488  // OBJECT_TRACKING.
  4489  type GoogleCloudVideointelligenceV1p2beta1ObjectTrackingConfig struct {
  4490  	// Model: Model to use for object tracking. Supported values: "builtin/stable"
  4491  	// (the default if unset) and "builtin/latest".
  4492  	Model string `json:"model,omitempty"`
  4493  	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
  4494  	// include in API requests. By default, fields with empty or default values are
  4495  	// omitted from API requests. See
  4496  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4497  	// details.
  4498  	ForceSendFields []string `json:"-"`
  4499  	// NullFields is a list of field names (e.g. "Model") to include in API
  4500  	// requests with the JSON null value. By default, fields with empty values are
  4501  	// omitted from API requests. See
  4502  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4503  	NullFields []string `json:"-"`
  4504  }
  4505  
  4506  func (s *GoogleCloudVideointelligenceV1p2beta1ObjectTrackingConfig) MarshalJSON() ([]byte, error) {
  4507  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ObjectTrackingConfig
  4508  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4509  }
  4510  
  4511  // GoogleCloudVideointelligenceV1p2beta1ObjectTrackingFrame: Video frame level
  4512  // annotations for object detection and tracking. This field stores per frame
  4513  // location, time offset, and confidence.
  4514  type GoogleCloudVideointelligenceV1p2beta1ObjectTrackingFrame struct {
  4515  	// NormalizedBoundingBox: The normalized bounding box location of this object
  4516  	// track for the frame.
  4517  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  4518  	// TimeOffset: The timestamp of the frame in microseconds.
  4519  	TimeOffset string `json:"timeOffset,omitempty"`
  4520  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBox") to
  4521  	// unconditionally include in API requests. By default, fields with empty or
  4522  	// default values are omitted from API requests. See
  4523  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4524  	// details.
  4525  	ForceSendFields []string `json:"-"`
  4526  	// NullFields is a list of field names (e.g. "NormalizedBoundingBox") to
  4527  	// include in API requests with the JSON null value. By default, fields with
  4528  	// empty values are omitted from API requests. See
  4529  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4530  	NullFields []string `json:"-"`
  4531  }
  4532  
  4533  func (s *GoogleCloudVideointelligenceV1p2beta1ObjectTrackingFrame) MarshalJSON() ([]byte, error) {
  4534  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ObjectTrackingFrame
  4535  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4536  }
  4537  
  4538  // GoogleCloudVideointelligenceV1p2beta1PersonDetectionAnnotation: Person
  4539  // detection annotation per video.
  4540  type GoogleCloudVideointelligenceV1p2beta1PersonDetectionAnnotation struct {
  4541  	// Tracks: The detected tracks of a person.
  4542  	Tracks []*GoogleCloudVideointelligenceV1p2beta1Track `json:"tracks,omitempty"`
  4543  	// Version: Feature version.
  4544  	Version string `json:"version,omitempty"`
  4545  	// ForceSendFields is a list of field names (e.g. "Tracks") to unconditionally
  4546  	// include in API requests. By default, fields with empty or default values are
  4547  	// omitted from API requests. See
  4548  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4549  	// details.
  4550  	ForceSendFields []string `json:"-"`
  4551  	// NullFields is a list of field names (e.g. "Tracks") to include in API
  4552  	// requests with the JSON null value. By default, fields with empty values are
  4553  	// omitted from API requests. See
  4554  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4555  	NullFields []string `json:"-"`
  4556  }
  4557  
  4558  func (s *GoogleCloudVideointelligenceV1p2beta1PersonDetectionAnnotation) MarshalJSON() ([]byte, error) {
  4559  	type NoMethod GoogleCloudVideointelligenceV1p2beta1PersonDetectionAnnotation
  4560  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4561  }
  4562  
  4563  // GoogleCloudVideointelligenceV1p2beta1PersonDetectionConfig: Config for
  4564  // PERSON_DETECTION.
  4565  type GoogleCloudVideointelligenceV1p2beta1PersonDetectionConfig struct {
  4566  	// IncludeAttributes: Whether to enable person attributes detection, such as
  4567  	// cloth color (black, blue, etc), type (coat, dress, etc), pattern (plain,
  4568  	// floral, etc), hair, etc. Ignored if 'include_bounding_boxes' is set to
  4569  	// false.
  4570  	IncludeAttributes bool `json:"includeAttributes,omitempty"`
  4571  	// IncludeBoundingBoxes: Whether bounding boxes are included in the person
  4572  	// detection annotation output.
  4573  	IncludeBoundingBoxes bool `json:"includeBoundingBoxes,omitempty"`
  4574  	// IncludePoseLandmarks: Whether to enable pose landmarks detection. Ignored if
  4575  	// 'include_bounding_boxes' is set to false.
  4576  	IncludePoseLandmarks bool `json:"includePoseLandmarks,omitempty"`
  4577  	// ForceSendFields is a list of field names (e.g. "IncludeAttributes") to
  4578  	// unconditionally include in API requests. By default, fields with empty or
  4579  	// default values are omitted from API requests. See
  4580  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4581  	// details.
  4582  	ForceSendFields []string `json:"-"`
  4583  	// NullFields is a list of field names (e.g. "IncludeAttributes") to include in
  4584  	// API requests with the JSON null value. By default, fields with empty values
  4585  	// are omitted from API requests. See
  4586  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4587  	NullFields []string `json:"-"`
  4588  }
  4589  
  4590  func (s *GoogleCloudVideointelligenceV1p2beta1PersonDetectionConfig) MarshalJSON() ([]byte, error) {
  4591  	type NoMethod GoogleCloudVideointelligenceV1p2beta1PersonDetectionConfig
  4592  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4593  }
  4594  
  4595  // GoogleCloudVideointelligenceV1p2beta1ShotChangeDetectionConfig: Config for
  4596  // SHOT_CHANGE_DETECTION.
  4597  type GoogleCloudVideointelligenceV1p2beta1ShotChangeDetectionConfig struct {
  4598  	// Model: Model to use for shot change detection. Supported values:
  4599  	// "builtin/stable" (the default if unset), "builtin/latest", and
  4600  	// "builtin/legacy".
  4601  	Model string `json:"model,omitempty"`
  4602  	// ForceSendFields is a list of field names (e.g. "Model") to unconditionally
  4603  	// include in API requests. By default, fields with empty or default values are
  4604  	// omitted from API requests. See
  4605  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4606  	// details.
  4607  	ForceSendFields []string `json:"-"`
  4608  	// NullFields is a list of field names (e.g. "Model") to include in API
  4609  	// requests with the JSON null value. By default, fields with empty values are
  4610  	// omitted from API requests. See
  4611  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4612  	NullFields []string `json:"-"`
  4613  }
  4614  
  4615  func (s *GoogleCloudVideointelligenceV1p2beta1ShotChangeDetectionConfig) MarshalJSON() ([]byte, error) {
  4616  	type NoMethod GoogleCloudVideointelligenceV1p2beta1ShotChangeDetectionConfig
  4617  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4618  }
  4619  
  4620  // GoogleCloudVideointelligenceV1p2beta1SpeechContext: Provides "hints" to the
  4621  // speech recognizer to favor specific words and phrases in the results.
  4622  type GoogleCloudVideointelligenceV1p2beta1SpeechContext struct {
  4623  	// Phrases: Optional. A list of strings containing words and phrases "hints" so
  4624  	// that the speech recognition is more likely to recognize them. This can be
  4625  	// used to improve the accuracy for specific words and phrases, for example, if
  4626  	// specific commands are typically spoken by the user. This can also be used to
  4627  	// add additional words to the vocabulary of the recognizer. See usage limits
  4628  	// (https://cloud.google.com/speech/limits#content).
  4629  	Phrases []string `json:"phrases,omitempty"`
  4630  	// ForceSendFields is a list of field names (e.g. "Phrases") to unconditionally
  4631  	// include in API requests. By default, fields with empty or default values are
  4632  	// omitted from API requests. See
  4633  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4634  	// details.
  4635  	ForceSendFields []string `json:"-"`
  4636  	// NullFields is a list of field names (e.g. "Phrases") to include in API
  4637  	// requests with the JSON null value. By default, fields with empty values are
  4638  	// omitted from API requests. See
  4639  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4640  	NullFields []string `json:"-"`
  4641  }
  4642  
  4643  func (s *GoogleCloudVideointelligenceV1p2beta1SpeechContext) MarshalJSON() ([]byte, error) {
  4644  	type NoMethod GoogleCloudVideointelligenceV1p2beta1SpeechContext
  4645  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4646  }
  4647  
  4648  // GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative:
  4649  // Alternative hypotheses (a.k.a. n-best list).
  4650  type GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative struct {
  4651  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  4652  	// higher number indicates an estimated greater likelihood that the recognized
  4653  	// words are correct. This field is set only for the top alternative. This
  4654  	// field is not guaranteed to be accurate and users should not rely on it to be
  4655  	// always provided. The default of 0.0 is a sentinel value indicating
  4656  	// `confidence` was not set.
  4657  	Confidence float64 `json:"confidence,omitempty"`
  4658  	// Transcript: Transcript text representing the words that the user spoke.
  4659  	Transcript string `json:"transcript,omitempty"`
  4660  	// Words: Output only. A list of word-specific information for each recognized
  4661  	// word. Note: When `enable_speaker_diarization` is set to true, you will see
  4662  	// all the words from the beginning of the audio.
  4663  	Words []*GoogleCloudVideointelligenceV1p2beta1WordInfo `json:"words,omitempty"`
  4664  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  4665  	// unconditionally include in API requests. By default, fields with empty or
  4666  	// default values are omitted from API requests. See
  4667  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4668  	// details.
  4669  	ForceSendFields []string `json:"-"`
  4670  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  4671  	// requests with the JSON null value. By default, fields with empty values are
  4672  	// omitted from API requests. See
  4673  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4674  	NullFields []string `json:"-"`
  4675  }
  4676  
  4677  func (s *GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative) MarshalJSON() ([]byte, error) {
  4678  	type NoMethod GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative
  4679  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4680  }
  4681  
  4682  func (s *GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative) UnmarshalJSON(data []byte) error {
  4683  	type NoMethod GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative
  4684  	var s1 struct {
  4685  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4686  		*NoMethod
  4687  	}
  4688  	s1.NoMethod = (*NoMethod)(s)
  4689  	if err := json.Unmarshal(data, &s1); err != nil {
  4690  		return err
  4691  	}
  4692  	s.Confidence = float64(s1.Confidence)
  4693  	return nil
  4694  }
  4695  
  4696  // GoogleCloudVideointelligenceV1p2beta1SpeechTranscription: A speech
  4697  // recognition result corresponding to a portion of the audio.
  4698  type GoogleCloudVideointelligenceV1p2beta1SpeechTranscription struct {
  4699  	// Alternatives: May contain one or more recognition hypotheses (up to the
  4700  	// maximum specified in `max_alternatives`). These alternatives are ordered in
  4701  	// terms of accuracy, with the top (first) alternative being the most probable,
  4702  	// as ranked by the recognizer.
  4703  	Alternatives []*GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative `json:"alternatives,omitempty"`
  4704  	// LanguageCode: Output only. The BCP-47
  4705  	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language
  4706  	// in this result. This language code was detected to have the most likelihood
  4707  	// of being spoken in the audio.
  4708  	LanguageCode string `json:"languageCode,omitempty"`
  4709  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  4710  	// unconditionally include in API requests. By default, fields with empty or
  4711  	// default values are omitted from API requests. See
  4712  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4713  	// details.
  4714  	ForceSendFields []string `json:"-"`
  4715  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  4716  	// requests with the JSON null value. By default, fields with empty values are
  4717  	// omitted from API requests. See
  4718  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4719  	NullFields []string `json:"-"`
  4720  }
  4721  
  4722  func (s *GoogleCloudVideointelligenceV1p2beta1SpeechTranscription) MarshalJSON() ([]byte, error) {
  4723  	type NoMethod GoogleCloudVideointelligenceV1p2beta1SpeechTranscription
  4724  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4725  }
  4726  
  4727  // GoogleCloudVideointelligenceV1p2beta1SpeechTranscriptionConfig: Config for
  4728  // SPEECH_TRANSCRIPTION.
  4729  type GoogleCloudVideointelligenceV1p2beta1SpeechTranscriptionConfig struct {
  4730  	// AudioTracks: Optional. For file formats, such as MXF or MKV, supporting
  4731  	// multiple audio tracks, specify up to two tracks. Default: track 0.
  4732  	AudioTracks []int64 `json:"audioTracks,omitempty"`
  4733  	// DiarizationSpeakerCount: Optional. If set, specifies the estimated number of
  4734  	// speakers in the conversation. If not set, defaults to '2'. Ignored unless
  4735  	// enable_speaker_diarization is set to true.
  4736  	DiarizationSpeakerCount int64 `json:"diarizationSpeakerCount,omitempty"`
  4737  	// EnableAutomaticPunctuation: Optional. If 'true', adds punctuation to
  4738  	// recognition result hypotheses. This feature is only available in select
  4739  	// languages. Setting this for requests in other languages has no effect at
  4740  	// all. The default 'false' value does not add punctuation to result
  4741  	// hypotheses. NOTE: "This is currently offered as an experimental service,
  4742  	// complimentary to all users. In the future this may be exclusively available
  4743  	// as a premium feature."
  4744  	EnableAutomaticPunctuation bool `json:"enableAutomaticPunctuation,omitempty"`
  4745  	// EnableSpeakerDiarization: Optional. If 'true', enables speaker detection for
  4746  	// each recognized word in the top alternative of the recognition result using
  4747  	// a speaker_tag provided in the WordInfo. Note: When this is true, we send all
  4748  	// the words from the beginning of the audio for the top alternative in every
  4749  	// consecutive response. This is done in order to improve our speaker tags as
  4750  	// our models learn to identify the speakers in the conversation over time.
  4751  	EnableSpeakerDiarization bool `json:"enableSpeakerDiarization,omitempty"`
  4752  	// EnableWordConfidence: Optional. If `true`, the top result includes a list of
  4753  	// words and the confidence for those words. If `false`, no word-level
  4754  	// confidence information is returned. The default is `false`.
  4755  	EnableWordConfidence bool `json:"enableWordConfidence,omitempty"`
  4756  	// FilterProfanity: Optional. If set to `true`, the server will attempt to
  4757  	// filter out profanities, replacing all but the initial character in each
  4758  	// filtered word with asterisks, e.g. "f***". If set to `false` or omitted,
  4759  	// profanities won't be filtered out.
  4760  	FilterProfanity bool `json:"filterProfanity,omitempty"`
  4761  	// LanguageCode: Required. *Required* The language of the supplied audio as a
  4762  	// BCP-47 (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example:
  4763  	// "en-US". See Language Support
  4764  	// (https://cloud.google.com/speech/docs/languages) for a list of the currently
  4765  	// supported language codes.
  4766  	LanguageCode string `json:"languageCode,omitempty"`
  4767  	// MaxAlternatives: Optional. Maximum number of recognition hypotheses to be
  4768  	// returned. Specifically, the maximum number of `SpeechRecognitionAlternative`
  4769  	// messages within each `SpeechTranscription`. The server may return fewer than
  4770  	// `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will
  4771  	// return a maximum of one. If omitted, will return a maximum of one.
  4772  	MaxAlternatives int64 `json:"maxAlternatives,omitempty"`
  4773  	// SpeechContexts: Optional. A means to provide context to assist the speech
  4774  	// recognition.
  4775  	SpeechContexts []*GoogleCloudVideointelligenceV1p2beta1SpeechContext `json:"speechContexts,omitempty"`
  4776  	// ForceSendFields is a list of field names (e.g. "AudioTracks") to
  4777  	// unconditionally include in API requests. By default, fields with empty or
  4778  	// default values are omitted from API requests. See
  4779  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4780  	// details.
  4781  	ForceSendFields []string `json:"-"`
  4782  	// NullFields is a list of field names (e.g. "AudioTracks") to include in API
  4783  	// requests with the JSON null value. By default, fields with empty values are
  4784  	// omitted from API requests. See
  4785  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4786  	NullFields []string `json:"-"`
  4787  }
  4788  
  4789  func (s *GoogleCloudVideointelligenceV1p2beta1SpeechTranscriptionConfig) MarshalJSON() ([]byte, error) {
  4790  	type NoMethod GoogleCloudVideointelligenceV1p2beta1SpeechTranscriptionConfig
  4791  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4792  }
  4793  
  4794  // GoogleCloudVideointelligenceV1p2beta1TextAnnotation: Annotations related to
  4795  // one detected OCR text snippet. This will contain the corresponding text,
  4796  // confidence value, and frame level information for each detection.
  4797  type GoogleCloudVideointelligenceV1p2beta1TextAnnotation struct {
  4798  	// Segments: All video segments where OCR detected text appears.
  4799  	Segments []*GoogleCloudVideointelligenceV1p2beta1TextSegment `json:"segments,omitempty"`
  4800  	// Text: The detected text.
  4801  	Text string `json:"text,omitempty"`
  4802  	// Version: Feature version.
  4803  	Version string `json:"version,omitempty"`
  4804  	// ForceSendFields is a list of field names (e.g. "Segments") to
  4805  	// unconditionally include in API requests. By default, fields with empty or
  4806  	// default values are omitted from API requests. See
  4807  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4808  	// details.
  4809  	ForceSendFields []string `json:"-"`
  4810  	// NullFields is a list of field names (e.g. "Segments") to include in API
  4811  	// requests with the JSON null value. By default, fields with empty values are
  4812  	// omitted from API requests. See
  4813  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4814  	NullFields []string `json:"-"`
  4815  }
  4816  
  4817  func (s *GoogleCloudVideointelligenceV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) {
  4818  	type NoMethod GoogleCloudVideointelligenceV1p2beta1TextAnnotation
  4819  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4820  }
  4821  
  4822  // GoogleCloudVideointelligenceV1p2beta1TextDetectionConfig: Config for
  4823  // TEXT_DETECTION.
  4824  type GoogleCloudVideointelligenceV1p2beta1TextDetectionConfig struct {
  4825  	// LanguageHints: Language hint can be specified if the language to be detected
  4826  	// is known a priori. It can increase the accuracy of the detection. Language
  4827  	// hint must be language code in BCP-47 format. Automatic language detection is
  4828  	// performed if no hint is provided.
  4829  	LanguageHints []string `json:"languageHints,omitempty"`
  4830  	// Model: Model to use for text detection. Supported values: "builtin/stable"
  4831  	// (the default if unset) and "builtin/latest".
  4832  	Model string `json:"model,omitempty"`
  4833  	// ForceSendFields is a list of field names (e.g. "LanguageHints") to
  4834  	// unconditionally include in API requests. By default, fields with empty or
  4835  	// default values are omitted from API requests. See
  4836  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4837  	// details.
  4838  	ForceSendFields []string `json:"-"`
  4839  	// NullFields is a list of field names (e.g. "LanguageHints") to include in API
  4840  	// requests with the JSON null value. By default, fields with empty values are
  4841  	// omitted from API requests. See
  4842  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4843  	NullFields []string `json:"-"`
  4844  }
  4845  
  4846  func (s *GoogleCloudVideointelligenceV1p2beta1TextDetectionConfig) MarshalJSON() ([]byte, error) {
  4847  	type NoMethod GoogleCloudVideointelligenceV1p2beta1TextDetectionConfig
  4848  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4849  }
  4850  
  4851  // GoogleCloudVideointelligenceV1p2beta1TextFrame: Video frame level annotation
  4852  // results for text annotation (OCR). Contains information regarding timestamp
  4853  // and bounding box locations for the frames containing detected OCR text
  4854  // snippets.
  4855  type GoogleCloudVideointelligenceV1p2beta1TextFrame struct {
  4856  	// RotatedBoundingBox: Bounding polygon of the detected text for this frame.
  4857  	RotatedBoundingBox *GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingPoly `json:"rotatedBoundingBox,omitempty"`
  4858  	// TimeOffset: Timestamp of this frame.
  4859  	TimeOffset string `json:"timeOffset,omitempty"`
  4860  	// ForceSendFields is a list of field names (e.g. "RotatedBoundingBox") to
  4861  	// unconditionally include in API requests. By default, fields with empty or
  4862  	// default values are omitted from API requests. See
  4863  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4864  	// details.
  4865  	ForceSendFields []string `json:"-"`
  4866  	// NullFields is a list of field names (e.g. "RotatedBoundingBox") to include
  4867  	// in API requests with the JSON null value. By default, fields with empty
  4868  	// values are omitted from API requests. See
  4869  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4870  	NullFields []string `json:"-"`
  4871  }
  4872  
  4873  func (s *GoogleCloudVideointelligenceV1p2beta1TextFrame) MarshalJSON() ([]byte, error) {
  4874  	type NoMethod GoogleCloudVideointelligenceV1p2beta1TextFrame
  4875  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4876  }
  4877  
  4878  // GoogleCloudVideointelligenceV1p2beta1TextSegment: Video segment level
  4879  // annotation results for text detection.
  4880  type GoogleCloudVideointelligenceV1p2beta1TextSegment struct {
  4881  	// Confidence: Confidence for the track of detected text. It is calculated as
  4882  	// the highest over all frames where OCR detected text appears.
  4883  	Confidence float64 `json:"confidence,omitempty"`
  4884  	// Frames: Information related to the frames where OCR detected text appears.
  4885  	Frames []*GoogleCloudVideointelligenceV1p2beta1TextFrame `json:"frames,omitempty"`
  4886  	// Segment: Video segment where a text snippet was detected.
  4887  	Segment *GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segment,omitempty"`
  4888  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  4889  	// unconditionally include in API requests. By default, fields with empty or
  4890  	// default values are omitted from API requests. See
  4891  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4892  	// details.
  4893  	ForceSendFields []string `json:"-"`
  4894  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  4895  	// requests with the JSON null value. By default, fields with empty values are
  4896  	// omitted from API requests. See
  4897  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4898  	NullFields []string `json:"-"`
  4899  }
  4900  
  4901  func (s *GoogleCloudVideointelligenceV1p2beta1TextSegment) MarshalJSON() ([]byte, error) {
  4902  	type NoMethod GoogleCloudVideointelligenceV1p2beta1TextSegment
  4903  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4904  }
  4905  
  4906  func (s *GoogleCloudVideointelligenceV1p2beta1TextSegment) UnmarshalJSON(data []byte) error {
  4907  	type NoMethod GoogleCloudVideointelligenceV1p2beta1TextSegment
  4908  	var s1 struct {
  4909  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4910  		*NoMethod
  4911  	}
  4912  	s1.NoMethod = (*NoMethod)(s)
  4913  	if err := json.Unmarshal(data, &s1); err != nil {
  4914  		return err
  4915  	}
  4916  	s.Confidence = float64(s1.Confidence)
  4917  	return nil
  4918  }
  4919  
  4920  // GoogleCloudVideointelligenceV1p2beta1TimestampedObject: For tracking related
  4921  // features. An object at time_offset with attributes, and located with
  4922  // normalized_bounding_box.
  4923  type GoogleCloudVideointelligenceV1p2beta1TimestampedObject struct {
  4924  	// Attributes: Optional. The attributes of the object in the bounding box.
  4925  	Attributes []*GoogleCloudVideointelligenceV1p2beta1DetectedAttribute `json:"attributes,omitempty"`
  4926  	// Landmarks: Optional. The detected landmarks.
  4927  	Landmarks []*GoogleCloudVideointelligenceV1p2beta1DetectedLandmark `json:"landmarks,omitempty"`
  4928  	// NormalizedBoundingBox: Normalized Bounding box in a frame, where the object
  4929  	// is located.
  4930  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1p2beta1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  4931  	// TimeOffset: Time-offset, relative to the beginning of the video,
  4932  	// corresponding to the video frame for this object.
  4933  	TimeOffset string `json:"timeOffset,omitempty"`
  4934  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  4935  	// unconditionally include in API requests. By default, fields with empty or
  4936  	// default values are omitted from API requests. See
  4937  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4938  	// details.
  4939  	ForceSendFields []string `json:"-"`
  4940  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  4941  	// requests with the JSON null value. By default, fields with empty values are
  4942  	// omitted from API requests. See
  4943  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4944  	NullFields []string `json:"-"`
  4945  }
  4946  
  4947  func (s *GoogleCloudVideointelligenceV1p2beta1TimestampedObject) MarshalJSON() ([]byte, error) {
  4948  	type NoMethod GoogleCloudVideointelligenceV1p2beta1TimestampedObject
  4949  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4950  }
  4951  
  4952  // GoogleCloudVideointelligenceV1p2beta1Track: A track of an object instance.
  4953  type GoogleCloudVideointelligenceV1p2beta1Track struct {
  4954  	// Attributes: Optional. Attributes in the track level.
  4955  	Attributes []*GoogleCloudVideointelligenceV1p2beta1DetectedAttribute `json:"attributes,omitempty"`
  4956  	// Confidence: Optional. The confidence score of the tracked object.
  4957  	Confidence float64 `json:"confidence,omitempty"`
  4958  	// Segment: Video segment of a track.
  4959  	Segment *GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segment,omitempty"`
  4960  	// TimestampedObjects: The object with timestamp and attributes per frame in
  4961  	// the track.
  4962  	TimestampedObjects []*GoogleCloudVideointelligenceV1p2beta1TimestampedObject `json:"timestampedObjects,omitempty"`
  4963  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  4964  	// unconditionally include in API requests. By default, fields with empty or
  4965  	// default values are omitted from API requests. See
  4966  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4967  	// details.
  4968  	ForceSendFields []string `json:"-"`
  4969  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  4970  	// requests with the JSON null value. By default, fields with empty values are
  4971  	// omitted from API requests. See
  4972  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4973  	NullFields []string `json:"-"`
  4974  }
  4975  
  4976  func (s *GoogleCloudVideointelligenceV1p2beta1Track) MarshalJSON() ([]byte, error) {
  4977  	type NoMethod GoogleCloudVideointelligenceV1p2beta1Track
  4978  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4979  }
  4980  
  4981  func (s *GoogleCloudVideointelligenceV1p2beta1Track) UnmarshalJSON(data []byte) error {
  4982  	type NoMethod GoogleCloudVideointelligenceV1p2beta1Track
  4983  	var s1 struct {
  4984  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4985  		*NoMethod
  4986  	}
  4987  	s1.NoMethod = (*NoMethod)(s)
  4988  	if err := json.Unmarshal(data, &s1); err != nil {
  4989  		return err
  4990  	}
  4991  	s.Confidence = float64(s1.Confidence)
  4992  	return nil
  4993  }
  4994  
  4995  // GoogleCloudVideointelligenceV1p2beta1VideoAnnotationProgress: Annotation
  4996  // progress for a single video.
  4997  type GoogleCloudVideointelligenceV1p2beta1VideoAnnotationProgress struct {
  4998  	// Feature: Specifies which feature is being tracked if the request contains
  4999  	// more than one feature.
  5000  	//
  5001  	// Possible values:
  5002  	//   "FEATURE_UNSPECIFIED" - Unspecified.
  5003  	//   "LABEL_DETECTION" - Label detection. Detect objects, such as dog or
  5004  	// flower.
  5005  	//   "SHOT_CHANGE_DETECTION" - Shot change detection.
  5006  	//   "EXPLICIT_CONTENT_DETECTION" - Explicit content detection.
  5007  	//   "FACE_DETECTION" - Human face detection.
  5008  	//   "SPEECH_TRANSCRIPTION" - Speech transcription.
  5009  	//   "TEXT_DETECTION" - OCR text detection and tracking.
  5010  	//   "OBJECT_TRACKING" - Object detection and tracking.
  5011  	//   "LOGO_RECOGNITION" - Logo detection, tracking, and recognition.
  5012  	//   "PERSON_DETECTION" - Person detection.
  5013  	Feature string `json:"feature,omitempty"`
  5014  	// InputUri: Video file location in Cloud Storage
  5015  	// (https://cloud.google.com/storage/).
  5016  	InputUri string `json:"inputUri,omitempty"`
  5017  	// ProgressPercent: Approximate percentage processed thus far. Guaranteed to be
  5018  	// 100 when fully processed.
  5019  	ProgressPercent int64 `json:"progressPercent,omitempty"`
  5020  	// Segment: Specifies which segment is being tracked if the request contains
  5021  	// more than one segment.
  5022  	Segment *GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segment,omitempty"`
  5023  	// StartTime: Time when the request was received.
  5024  	StartTime string `json:"startTime,omitempty"`
  5025  	// UpdateTime: Time of the most recent update.
  5026  	UpdateTime string `json:"updateTime,omitempty"`
  5027  	// ForceSendFields is a list of field names (e.g. "Feature") to unconditionally
  5028  	// include in API requests. By default, fields with empty or default values are
  5029  	// omitted from API requests. See
  5030  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5031  	// details.
  5032  	ForceSendFields []string `json:"-"`
  5033  	// NullFields is a list of field names (e.g. "Feature") to include in API
  5034  	// requests with the JSON null value. By default, fields with empty values are
  5035  	// omitted from API requests. See
  5036  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5037  	NullFields []string `json:"-"`
  5038  }
  5039  
  5040  func (s *GoogleCloudVideointelligenceV1p2beta1VideoAnnotationProgress) MarshalJSON() ([]byte, error) {
  5041  	type NoMethod GoogleCloudVideointelligenceV1p2beta1VideoAnnotationProgress
  5042  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5043  }
  5044  
  5045  // GoogleCloudVideointelligenceV1p2beta1VideoAnnotationResults: Annotation
  5046  // results for a single video.
  5047  type GoogleCloudVideointelligenceV1p2beta1VideoAnnotationResults struct {
  5048  	// Error: If set, indicates an error. Note that for a single
  5049  	// `AnnotateVideoRequest` some videos may succeed and some may fail.
  5050  	Error *GoogleRpcStatus `json:"error,omitempty"`
  5051  	// ExplicitAnnotation: Explicit content annotation.
  5052  	ExplicitAnnotation *GoogleCloudVideointelligenceV1p2beta1ExplicitContentAnnotation `json:"explicitAnnotation,omitempty"`
  5053  	// FaceAnnotations: Deprecated. Please use `face_detection_annotations`
  5054  	// instead.
  5055  	FaceAnnotations []*GoogleCloudVideointelligenceV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
  5056  	// FaceDetectionAnnotations: Face detection annotations.
  5057  	FaceDetectionAnnotations []*GoogleCloudVideointelligenceV1p2beta1FaceDetectionAnnotation `json:"faceDetectionAnnotations,omitempty"`
  5058  	// FrameLabelAnnotations: Label annotations on frame level. There is exactly
  5059  	// one element for each unique label.
  5060  	FrameLabelAnnotations []*GoogleCloudVideointelligenceV1p2beta1LabelAnnotation `json:"frameLabelAnnotations,omitempty"`
  5061  	// InputUri: Video file location in Cloud Storage
  5062  	// (https://cloud.google.com/storage/).
  5063  	InputUri string `json:"inputUri,omitempty"`
  5064  	// LogoRecognitionAnnotations: Annotations for list of logos detected, tracked
  5065  	// and recognized in video.
  5066  	LogoRecognitionAnnotations []*GoogleCloudVideointelligenceV1p2beta1LogoRecognitionAnnotation `json:"logoRecognitionAnnotations,omitempty"`
  5067  	// ObjectAnnotations: Annotations for list of objects detected and tracked in
  5068  	// video.
  5069  	ObjectAnnotations []*GoogleCloudVideointelligenceV1p2beta1ObjectTrackingAnnotation `json:"objectAnnotations,omitempty"`
  5070  	// PersonDetectionAnnotations: Person detection annotations.
  5071  	PersonDetectionAnnotations []*GoogleCloudVideointelligenceV1p2beta1PersonDetectionAnnotation `json:"personDetectionAnnotations,omitempty"`
  5072  	// Segment: Video segment on which the annotation is run.
  5073  	Segment *GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segment,omitempty"`
  5074  	// SegmentLabelAnnotations: Topical label annotations on video level or
  5075  	// user-specified segment level. There is exactly one element for each unique
  5076  	// label.
  5077  	SegmentLabelAnnotations []*GoogleCloudVideointelligenceV1p2beta1LabelAnnotation `json:"segmentLabelAnnotations,omitempty"`
  5078  	// SegmentPresenceLabelAnnotations: Presence label annotations on video level
  5079  	// or user-specified segment level. There is exactly one element for each
  5080  	// unique label. Compared to the existing topical `segment_label_annotations`,
  5081  	// this field presents more fine-grained, segment-level labels detected in
  5082  	// video content and is made available only when the client sets
  5083  	// `LabelDetectionConfig.model` to "builtin/latest" in the request.
  5084  	SegmentPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1p2beta1LabelAnnotation `json:"segmentPresenceLabelAnnotations,omitempty"`
  5085  	// ShotAnnotations: Shot annotations. Each shot is represented as a video
  5086  	// segment.
  5087  	ShotAnnotations []*GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"shotAnnotations,omitempty"`
  5088  	// ShotLabelAnnotations: Topical label annotations on shot level. There is
  5089  	// exactly one element for each unique label.
  5090  	ShotLabelAnnotations []*GoogleCloudVideointelligenceV1p2beta1LabelAnnotation `json:"shotLabelAnnotations,omitempty"`
  5091  	// ShotPresenceLabelAnnotations: Presence label annotations on shot level.
  5092  	// There is exactly one element for each unique label. Compared to the existing
  5093  	// topical `shot_label_annotations`, this field presents more fine-grained,
  5094  	// shot-level labels detected in video content and is made available only when
  5095  	// the client sets `LabelDetectionConfig.model` to "builtin/latest" in the
  5096  	// request.
  5097  	ShotPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1p2beta1LabelAnnotation `json:"shotPresenceLabelAnnotations,omitempty"`
  5098  	// SpeechTranscriptions: Speech transcription.
  5099  	SpeechTranscriptions []*GoogleCloudVideointelligenceV1p2beta1SpeechTranscription `json:"speechTranscriptions,omitempty"`
  5100  	// TextAnnotations: OCR text detection and tracking. Annotations for list of
  5101  	// detected text snippets. Each will have list of frame information associated
  5102  	// with it.
  5103  	TextAnnotations []*GoogleCloudVideointelligenceV1p2beta1TextAnnotation `json:"textAnnotations,omitempty"`
  5104  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  5105  	// include in API requests. By default, fields with empty or default values are
  5106  	// omitted from API requests. See
  5107  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5108  	// details.
  5109  	ForceSendFields []string `json:"-"`
  5110  	// NullFields is a list of field names (e.g. "Error") to include in API
  5111  	// requests with the JSON null value. By default, fields with empty values are
  5112  	// omitted from API requests. See
  5113  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5114  	NullFields []string `json:"-"`
  5115  }
  5116  
  5117  func (s *GoogleCloudVideointelligenceV1p2beta1VideoAnnotationResults) MarshalJSON() ([]byte, error) {
  5118  	type NoMethod GoogleCloudVideointelligenceV1p2beta1VideoAnnotationResults
  5119  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5120  }
  5121  
  5122  // GoogleCloudVideointelligenceV1p2beta1VideoContext: Video context and/or
  5123  // feature-specific parameters.
  5124  type GoogleCloudVideointelligenceV1p2beta1VideoContext struct {
  5125  	// ExplicitContentDetectionConfig: Config for EXPLICIT_CONTENT_DETECTION.
  5126  	ExplicitContentDetectionConfig *GoogleCloudVideointelligenceV1p2beta1ExplicitContentDetectionConfig `json:"explicitContentDetectionConfig,omitempty"`
  5127  	// FaceDetectionConfig: Config for FACE_DETECTION.
  5128  	FaceDetectionConfig *GoogleCloudVideointelligenceV1p2beta1FaceDetectionConfig `json:"faceDetectionConfig,omitempty"`
  5129  	// LabelDetectionConfig: Config for LABEL_DETECTION.
  5130  	LabelDetectionConfig *GoogleCloudVideointelligenceV1p2beta1LabelDetectionConfig `json:"labelDetectionConfig,omitempty"`
  5131  	// ObjectTrackingConfig: Config for OBJECT_TRACKING.
  5132  	ObjectTrackingConfig *GoogleCloudVideointelligenceV1p2beta1ObjectTrackingConfig `json:"objectTrackingConfig,omitempty"`
  5133  	// PersonDetectionConfig: Config for PERSON_DETECTION.
  5134  	PersonDetectionConfig *GoogleCloudVideointelligenceV1p2beta1PersonDetectionConfig `json:"personDetectionConfig,omitempty"`
  5135  	// Segments: Video segments to annotate. The segments may overlap and are not
  5136  	// required to be contiguous or span the whole video. If unspecified, each
  5137  	// video is treated as a single segment.
  5138  	Segments []*GoogleCloudVideointelligenceV1p2beta1VideoSegment `json:"segments,omitempty"`
  5139  	// ShotChangeDetectionConfig: Config for SHOT_CHANGE_DETECTION.
  5140  	ShotChangeDetectionConfig *GoogleCloudVideointelligenceV1p2beta1ShotChangeDetectionConfig `json:"shotChangeDetectionConfig,omitempty"`
  5141  	// SpeechTranscriptionConfig: Config for SPEECH_TRANSCRIPTION.
  5142  	SpeechTranscriptionConfig *GoogleCloudVideointelligenceV1p2beta1SpeechTranscriptionConfig `json:"speechTranscriptionConfig,omitempty"`
  5143  	// TextDetectionConfig: Config for TEXT_DETECTION.
  5144  	TextDetectionConfig *GoogleCloudVideointelligenceV1p2beta1TextDetectionConfig `json:"textDetectionConfig,omitempty"`
  5145  	// ForceSendFields is a list of field names (e.g.
  5146  	// "ExplicitContentDetectionConfig") to unconditionally include in API
  5147  	// requests. By default, fields with empty or default values are omitted from
  5148  	// API requests. See
  5149  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5150  	// details.
  5151  	ForceSendFields []string `json:"-"`
  5152  	// NullFields is a list of field names (e.g. "ExplicitContentDetectionConfig")
  5153  	// to include in API requests with the JSON null value. By default, fields with
  5154  	// empty values are omitted from API requests. See
  5155  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5156  	NullFields []string `json:"-"`
  5157  }
  5158  
  5159  func (s *GoogleCloudVideointelligenceV1p2beta1VideoContext) MarshalJSON() ([]byte, error) {
  5160  	type NoMethod GoogleCloudVideointelligenceV1p2beta1VideoContext
  5161  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5162  }
  5163  
  5164  // GoogleCloudVideointelligenceV1p2beta1VideoSegment: Video segment.
  5165  type GoogleCloudVideointelligenceV1p2beta1VideoSegment struct {
  5166  	// EndTimeOffset: Time-offset, relative to the beginning of the video,
  5167  	// corresponding to the end of the segment (inclusive).
  5168  	EndTimeOffset string `json:"endTimeOffset,omitempty"`
  5169  	// StartTimeOffset: Time-offset, relative to the beginning of the video,
  5170  	// corresponding to the start of the segment (inclusive).
  5171  	StartTimeOffset string `json:"startTimeOffset,omitempty"`
  5172  	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
  5173  	// unconditionally include in API requests. By default, fields with empty or
  5174  	// default values are omitted from API requests. See
  5175  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5176  	// details.
  5177  	ForceSendFields []string `json:"-"`
  5178  	// NullFields is a list of field names (e.g. "EndTimeOffset") to include in API
  5179  	// requests with the JSON null value. By default, fields with empty values are
  5180  	// omitted from API requests. See
  5181  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5182  	NullFields []string `json:"-"`
  5183  }
  5184  
  5185  func (s *GoogleCloudVideointelligenceV1p2beta1VideoSegment) MarshalJSON() ([]byte, error) {
  5186  	type NoMethod GoogleCloudVideointelligenceV1p2beta1VideoSegment
  5187  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5188  }
  5189  
  5190  // GoogleCloudVideointelligenceV1p2beta1WordInfo: Word-specific information for
  5191  // recognized words. Word information is only included in the response when
  5192  // certain request parameters are set, such as `enable_word_time_offsets`.
  5193  type GoogleCloudVideointelligenceV1p2beta1WordInfo struct {
  5194  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  5195  	// higher number indicates an estimated greater likelihood that the recognized
  5196  	// words are correct. This field is set only for the top alternative. This
  5197  	// field is not guaranteed to be accurate and users should not rely on it to be
  5198  	// always provided. The default of 0.0 is a sentinel value indicating
  5199  	// `confidence` was not set.
  5200  	Confidence float64 `json:"confidence,omitempty"`
  5201  	// EndTime: Time offset relative to the beginning of the audio, and
  5202  	// corresponding to the end of the spoken word. This field is only set if
  5203  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  5204  	// experimental feature and the accuracy of the time offset can vary.
  5205  	EndTime string `json:"endTime,omitempty"`
  5206  	// SpeakerTag: Output only. A distinct integer value is assigned for every
  5207  	// speaker within the audio. This field specifies which one of those speakers
  5208  	// was detected to have spoken this word. Value ranges from 1 up to
  5209  	// diarization_speaker_count, and is only set if speaker diarization is
  5210  	// enabled.
  5211  	SpeakerTag int64 `json:"speakerTag,omitempty"`
  5212  	// StartTime: Time offset relative to the beginning of the audio, and
  5213  	// corresponding to the start of the spoken word. This field is only set if
  5214  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  5215  	// experimental feature and the accuracy of the time offset can vary.
  5216  	StartTime string `json:"startTime,omitempty"`
  5217  	// Word: The word corresponding to this set of information.
  5218  	Word string `json:"word,omitempty"`
  5219  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  5220  	// unconditionally include in API requests. By default, fields with empty or
  5221  	// default values are omitted from API requests. See
  5222  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5223  	// details.
  5224  	ForceSendFields []string `json:"-"`
  5225  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  5226  	// requests with the JSON null value. By default, fields with empty values are
  5227  	// omitted from API requests. See
  5228  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5229  	NullFields []string `json:"-"`
  5230  }
  5231  
  5232  func (s *GoogleCloudVideointelligenceV1p2beta1WordInfo) MarshalJSON() ([]byte, error) {
  5233  	type NoMethod GoogleCloudVideointelligenceV1p2beta1WordInfo
  5234  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5235  }
  5236  
  5237  func (s *GoogleCloudVideointelligenceV1p2beta1WordInfo) UnmarshalJSON(data []byte) error {
  5238  	type NoMethod GoogleCloudVideointelligenceV1p2beta1WordInfo
  5239  	var s1 struct {
  5240  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5241  		*NoMethod
  5242  	}
  5243  	s1.NoMethod = (*NoMethod)(s)
  5244  	if err := json.Unmarshal(data, &s1); err != nil {
  5245  		return err
  5246  	}
  5247  	s.Confidence = float64(s1.Confidence)
  5248  	return nil
  5249  }
  5250  
  5251  // GoogleCloudVideointelligenceV1p3beta1AnnotateVideoProgress: Video annotation
  5252  // progress. Included in the `metadata` field of the `Operation` returned by
  5253  // the `GetOperation` call of the `google::longrunning::Operations` service.
  5254  type GoogleCloudVideointelligenceV1p3beta1AnnotateVideoProgress struct {
  5255  	// AnnotationProgress: Progress metadata for all videos specified in
  5256  	// `AnnotateVideoRequest`.
  5257  	AnnotationProgress []*GoogleCloudVideointelligenceV1p3beta1VideoAnnotationProgress `json:"annotationProgress,omitempty"`
  5258  	// ForceSendFields is a list of field names (e.g. "AnnotationProgress") to
  5259  	// unconditionally include in API requests. By default, fields with empty or
  5260  	// default values are omitted from API requests. See
  5261  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5262  	// details.
  5263  	ForceSendFields []string `json:"-"`
  5264  	// NullFields is a list of field names (e.g. "AnnotationProgress") to include
  5265  	// in API requests with the JSON null value. By default, fields with empty
  5266  	// values are omitted from API requests. See
  5267  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5268  	NullFields []string `json:"-"`
  5269  }
  5270  
  5271  func (s *GoogleCloudVideointelligenceV1p3beta1AnnotateVideoProgress) MarshalJSON() ([]byte, error) {
  5272  	type NoMethod GoogleCloudVideointelligenceV1p3beta1AnnotateVideoProgress
  5273  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5274  }
  5275  
  5276  // GoogleCloudVideointelligenceV1p3beta1AnnotateVideoResponse: Video annotation
  5277  // response. Included in the `response` field of the `Operation` returned by
  5278  // the `GetOperation` call of the `google::longrunning::Operations` service.
  5279  type GoogleCloudVideointelligenceV1p3beta1AnnotateVideoResponse struct {
  5280  	// AnnotationResults: Annotation results for all videos specified in
  5281  	// `AnnotateVideoRequest`.
  5282  	AnnotationResults []*GoogleCloudVideointelligenceV1p3beta1VideoAnnotationResults `json:"annotationResults,omitempty"`
  5283  	// ForceSendFields is a list of field names (e.g. "AnnotationResults") to
  5284  	// unconditionally include in API requests. By default, fields with empty or
  5285  	// default values are omitted from API requests. See
  5286  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5287  	// details.
  5288  	ForceSendFields []string `json:"-"`
  5289  	// NullFields is a list of field names (e.g. "AnnotationResults") to include in
  5290  	// API requests with the JSON null value. By default, fields with empty values
  5291  	// are omitted from API requests. See
  5292  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5293  	NullFields []string `json:"-"`
  5294  }
  5295  
  5296  func (s *GoogleCloudVideointelligenceV1p3beta1AnnotateVideoResponse) MarshalJSON() ([]byte, error) {
  5297  	type NoMethod GoogleCloudVideointelligenceV1p3beta1AnnotateVideoResponse
  5298  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5299  }
  5300  
  5301  // GoogleCloudVideointelligenceV1p3beta1Celebrity: Celebrity definition.
  5302  type GoogleCloudVideointelligenceV1p3beta1Celebrity struct {
  5303  	// Description: Textual description of additional information about the
  5304  	// celebrity, if applicable.
  5305  	Description string `json:"description,omitempty"`
  5306  	// DisplayName: The celebrity name.
  5307  	DisplayName string `json:"displayName,omitempty"`
  5308  	// Name: The resource name of the celebrity. Have the format
  5309  	// `video-intelligence/kg-mid` indicates a celebrity from preloaded gallery.
  5310  	// kg-mid is the id in Google knowledge graph, which is unique for the
  5311  	// celebrity.
  5312  	Name string `json:"name,omitempty"`
  5313  	// ForceSendFields is a list of field names (e.g. "Description") to
  5314  	// unconditionally include in API requests. By default, fields with empty or
  5315  	// default values are omitted from API requests. See
  5316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5317  	// details.
  5318  	ForceSendFields []string `json:"-"`
  5319  	// NullFields is a list of field names (e.g. "Description") to include in API
  5320  	// requests with the JSON null value. By default, fields with empty values are
  5321  	// omitted from API requests. See
  5322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5323  	NullFields []string `json:"-"`
  5324  }
  5325  
  5326  func (s *GoogleCloudVideointelligenceV1p3beta1Celebrity) MarshalJSON() ([]byte, error) {
  5327  	type NoMethod GoogleCloudVideointelligenceV1p3beta1Celebrity
  5328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5329  }
  5330  
  5331  // GoogleCloudVideointelligenceV1p3beta1CelebrityRecognitionAnnotation:
  5332  // Celebrity recognition annotation per video.
  5333  type GoogleCloudVideointelligenceV1p3beta1CelebrityRecognitionAnnotation struct {
  5334  	// CelebrityTracks: The tracks detected from the input video, including
  5335  	// recognized celebrities and other detected faces in the video.
  5336  	CelebrityTracks []*GoogleCloudVideointelligenceV1p3beta1CelebrityTrack `json:"celebrityTracks,omitempty"`
  5337  	// Version: Feature version.
  5338  	Version string `json:"version,omitempty"`
  5339  	// ForceSendFields is a list of field names (e.g. "CelebrityTracks") to
  5340  	// unconditionally include in API requests. By default, fields with empty or
  5341  	// default values are omitted from API requests. See
  5342  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5343  	// details.
  5344  	ForceSendFields []string `json:"-"`
  5345  	// NullFields is a list of field names (e.g. "CelebrityTracks") to include in
  5346  	// API requests with the JSON null value. By default, fields with empty values
  5347  	// are omitted from API requests. See
  5348  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5349  	NullFields []string `json:"-"`
  5350  }
  5351  
  5352  func (s *GoogleCloudVideointelligenceV1p3beta1CelebrityRecognitionAnnotation) MarshalJSON() ([]byte, error) {
  5353  	type NoMethod GoogleCloudVideointelligenceV1p3beta1CelebrityRecognitionAnnotation
  5354  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5355  }
  5356  
  5357  // GoogleCloudVideointelligenceV1p3beta1CelebrityTrack: The annotation result
  5358  // of a celebrity face track. RecognizedCelebrity field could be empty if the
  5359  // face track does not have any matched celebrities.
  5360  type GoogleCloudVideointelligenceV1p3beta1CelebrityTrack struct {
  5361  	// Celebrities: Top N match of the celebrities for the face in this track.
  5362  	Celebrities []*GoogleCloudVideointelligenceV1p3beta1RecognizedCelebrity `json:"celebrities,omitempty"`
  5363  	// FaceTrack: A track of a person's face.
  5364  	FaceTrack *GoogleCloudVideointelligenceV1p3beta1Track `json:"faceTrack,omitempty"`
  5365  	// ForceSendFields is a list of field names (e.g. "Celebrities") to
  5366  	// unconditionally include in API requests. By default, fields with empty or
  5367  	// default values are omitted from API requests. See
  5368  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5369  	// details.
  5370  	ForceSendFields []string `json:"-"`
  5371  	// NullFields is a list of field names (e.g. "Celebrities") to include in API
  5372  	// requests with the JSON null value. By default, fields with empty values are
  5373  	// omitted from API requests. See
  5374  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5375  	NullFields []string `json:"-"`
  5376  }
  5377  
  5378  func (s *GoogleCloudVideointelligenceV1p3beta1CelebrityTrack) MarshalJSON() ([]byte, error) {
  5379  	type NoMethod GoogleCloudVideointelligenceV1p3beta1CelebrityTrack
  5380  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5381  }
  5382  
  5383  // GoogleCloudVideointelligenceV1p3beta1DetectedAttribute: A generic detected
  5384  // attribute represented by name in string format.
  5385  type GoogleCloudVideointelligenceV1p3beta1DetectedAttribute struct {
  5386  	// Confidence: Detected attribute confidence. Range [0, 1].
  5387  	Confidence float64 `json:"confidence,omitempty"`
  5388  	// Name: The name of the attribute, for example, glasses, dark_glasses,
  5389  	// mouth_open. A full list of supported type names will be provided in the
  5390  	// document.
  5391  	Name string `json:"name,omitempty"`
  5392  	// Value: Text value of the detection result. For example, the value for
  5393  	// "HairColor" can be "black", "blonde", etc.
  5394  	Value string `json:"value,omitempty"`
  5395  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  5396  	// unconditionally include in API requests. By default, fields with empty or
  5397  	// default values are omitted from API requests. See
  5398  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5399  	// details.
  5400  	ForceSendFields []string `json:"-"`
  5401  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  5402  	// requests with the JSON null value. By default, fields with empty values are
  5403  	// omitted from API requests. See
  5404  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5405  	NullFields []string `json:"-"`
  5406  }
  5407  
  5408  func (s *GoogleCloudVideointelligenceV1p3beta1DetectedAttribute) MarshalJSON() ([]byte, error) {
  5409  	type NoMethod GoogleCloudVideointelligenceV1p3beta1DetectedAttribute
  5410  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5411  }
  5412  
  5413  func (s *GoogleCloudVideointelligenceV1p3beta1DetectedAttribute) UnmarshalJSON(data []byte) error {
  5414  	type NoMethod GoogleCloudVideointelligenceV1p3beta1DetectedAttribute
  5415  	var s1 struct {
  5416  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5417  		*NoMethod
  5418  	}
  5419  	s1.NoMethod = (*NoMethod)(s)
  5420  	if err := json.Unmarshal(data, &s1); err != nil {
  5421  		return err
  5422  	}
  5423  	s.Confidence = float64(s1.Confidence)
  5424  	return nil
  5425  }
  5426  
  5427  // GoogleCloudVideointelligenceV1p3beta1DetectedLandmark: A generic detected
  5428  // landmark represented by name in string format and a 2D location.
  5429  type GoogleCloudVideointelligenceV1p3beta1DetectedLandmark struct {
  5430  	// Confidence: The confidence score of the detected landmark. Range [0, 1].
  5431  	Confidence float64 `json:"confidence,omitempty"`
  5432  	// Name: The name of this landmark, for example, left_hand, right_shoulder.
  5433  	Name string `json:"name,omitempty"`
  5434  	// Point: The 2D point of the detected landmark using the normalized image
  5435  	// coordindate system. The normalized coordinates have the range from 0 to 1.
  5436  	Point *GoogleCloudVideointelligenceV1p3beta1NormalizedVertex `json:"point,omitempty"`
  5437  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  5438  	// unconditionally include in API requests. By default, fields with empty or
  5439  	// default values are omitted from API requests. See
  5440  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5441  	// details.
  5442  	ForceSendFields []string `json:"-"`
  5443  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  5444  	// requests with the JSON null value. By default, fields with empty values are
  5445  	// omitted from API requests. See
  5446  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5447  	NullFields []string `json:"-"`
  5448  }
  5449  
  5450  func (s *GoogleCloudVideointelligenceV1p3beta1DetectedLandmark) MarshalJSON() ([]byte, error) {
  5451  	type NoMethod GoogleCloudVideointelligenceV1p3beta1DetectedLandmark
  5452  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5453  }
  5454  
  5455  func (s *GoogleCloudVideointelligenceV1p3beta1DetectedLandmark) UnmarshalJSON(data []byte) error {
  5456  	type NoMethod GoogleCloudVideointelligenceV1p3beta1DetectedLandmark
  5457  	var s1 struct {
  5458  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5459  		*NoMethod
  5460  	}
  5461  	s1.NoMethod = (*NoMethod)(s)
  5462  	if err := json.Unmarshal(data, &s1); err != nil {
  5463  		return err
  5464  	}
  5465  	s.Confidence = float64(s1.Confidence)
  5466  	return nil
  5467  }
  5468  
  5469  // GoogleCloudVideointelligenceV1p3beta1Entity: Detected entity from video
  5470  // analysis.
  5471  type GoogleCloudVideointelligenceV1p3beta1Entity struct {
  5472  	// Description: Textual description, e.g., `Fixed-gear bicycle`.
  5473  	Description string `json:"description,omitempty"`
  5474  	// EntityId: Opaque entity ID. Some IDs may be available in Google Knowledge
  5475  	// Graph Search API (https://developers.google.com/knowledge-graph/).
  5476  	EntityId string `json:"entityId,omitempty"`
  5477  	// LanguageCode: Language code for `description` in BCP-47 format.
  5478  	LanguageCode string `json:"languageCode,omitempty"`
  5479  	// ForceSendFields is a list of field names (e.g. "Description") to
  5480  	// unconditionally include in API requests. By default, fields with empty or
  5481  	// default values are omitted from API requests. See
  5482  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5483  	// details.
  5484  	ForceSendFields []string `json:"-"`
  5485  	// NullFields is a list of field names (e.g. "Description") to include in API
  5486  	// requests with the JSON null value. By default, fields with empty values are
  5487  	// omitted from API requests. See
  5488  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5489  	NullFields []string `json:"-"`
  5490  }
  5491  
  5492  func (s *GoogleCloudVideointelligenceV1p3beta1Entity) MarshalJSON() ([]byte, error) {
  5493  	type NoMethod GoogleCloudVideointelligenceV1p3beta1Entity
  5494  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5495  }
  5496  
  5497  // GoogleCloudVideointelligenceV1p3beta1ExplicitContentAnnotation: Explicit
  5498  // content annotation (based on per-frame visual signals only). If no explicit
  5499  // content has been detected in a frame, no annotations are present for that
  5500  // frame.
  5501  type GoogleCloudVideointelligenceV1p3beta1ExplicitContentAnnotation struct {
  5502  	// Frames: All video frames where explicit content was detected.
  5503  	Frames []*GoogleCloudVideointelligenceV1p3beta1ExplicitContentFrame `json:"frames,omitempty"`
  5504  	// Version: Feature version.
  5505  	Version string `json:"version,omitempty"`
  5506  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  5507  	// include in API requests. By default, fields with empty or default values are
  5508  	// omitted from API requests. See
  5509  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5510  	// details.
  5511  	ForceSendFields []string `json:"-"`
  5512  	// NullFields is a list of field names (e.g. "Frames") to include in API
  5513  	// requests with the JSON null value. By default, fields with empty values are
  5514  	// omitted from API requests. See
  5515  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5516  	NullFields []string `json:"-"`
  5517  }
  5518  
  5519  func (s *GoogleCloudVideointelligenceV1p3beta1ExplicitContentAnnotation) MarshalJSON() ([]byte, error) {
  5520  	type NoMethod GoogleCloudVideointelligenceV1p3beta1ExplicitContentAnnotation
  5521  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5522  }
  5523  
  5524  // GoogleCloudVideointelligenceV1p3beta1ExplicitContentFrame: Video frame level
  5525  // annotation results for explicit content.
  5526  type GoogleCloudVideointelligenceV1p3beta1ExplicitContentFrame struct {
  5527  	// PornographyLikelihood: Likelihood of the pornography content..
  5528  	//
  5529  	// Possible values:
  5530  	//   "LIKELIHOOD_UNSPECIFIED" - Unspecified likelihood.
  5531  	//   "VERY_UNLIKELY" - Very unlikely.
  5532  	//   "UNLIKELY" - Unlikely.
  5533  	//   "POSSIBLE" - Possible.
  5534  	//   "LIKELY" - Likely.
  5535  	//   "VERY_LIKELY" - Very likely.
  5536  	PornographyLikelihood string `json:"pornographyLikelihood,omitempty"`
  5537  	// TimeOffset: Time-offset, relative to the beginning of the video,
  5538  	// corresponding to the video frame for this location.
  5539  	TimeOffset string `json:"timeOffset,omitempty"`
  5540  	// ForceSendFields is a list of field names (e.g. "PornographyLikelihood") to
  5541  	// unconditionally include in API requests. By default, fields with empty or
  5542  	// default values are omitted from API requests. See
  5543  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5544  	// details.
  5545  	ForceSendFields []string `json:"-"`
  5546  	// NullFields is a list of field names (e.g. "PornographyLikelihood") to
  5547  	// include in API requests with the JSON null value. By default, fields with
  5548  	// empty values are omitted from API requests. See
  5549  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5550  	NullFields []string `json:"-"`
  5551  }
  5552  
  5553  func (s *GoogleCloudVideointelligenceV1p3beta1ExplicitContentFrame) MarshalJSON() ([]byte, error) {
  5554  	type NoMethod GoogleCloudVideointelligenceV1p3beta1ExplicitContentFrame
  5555  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5556  }
  5557  
  5558  // GoogleCloudVideointelligenceV1p3beta1FaceAnnotation: Deprecated. No effect.
  5559  type GoogleCloudVideointelligenceV1p3beta1FaceAnnotation struct {
  5560  	// Frames: All video frames where a face was detected.
  5561  	Frames []*GoogleCloudVideointelligenceV1p3beta1FaceFrame `json:"frames,omitempty"`
  5562  	// Segments: All video segments where a face was detected.
  5563  	Segments []*GoogleCloudVideointelligenceV1p3beta1FaceSegment `json:"segments,omitempty"`
  5564  	// Thumbnail: Thumbnail of a representative face view (in JPEG format).
  5565  	Thumbnail string `json:"thumbnail,omitempty"`
  5566  	// ForceSendFields is a list of field names (e.g. "Frames") to unconditionally
  5567  	// include in API requests. By default, fields with empty or default values are
  5568  	// omitted from API requests. See
  5569  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5570  	// details.
  5571  	ForceSendFields []string `json:"-"`
  5572  	// NullFields is a list of field names (e.g. "Frames") to include in API
  5573  	// requests with the JSON null value. By default, fields with empty values are
  5574  	// omitted from API requests. See
  5575  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5576  	NullFields []string `json:"-"`
  5577  }
  5578  
  5579  func (s *GoogleCloudVideointelligenceV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
  5580  	type NoMethod GoogleCloudVideointelligenceV1p3beta1FaceAnnotation
  5581  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5582  }
  5583  
  5584  // GoogleCloudVideointelligenceV1p3beta1FaceDetectionAnnotation: Face detection
  5585  // annotation.
  5586  type GoogleCloudVideointelligenceV1p3beta1FaceDetectionAnnotation struct {
  5587  	// Thumbnail: The thumbnail of a person's face.
  5588  	Thumbnail string `json:"thumbnail,omitempty"`
  5589  	// Tracks: The face tracks with attributes.
  5590  	Tracks []*GoogleCloudVideointelligenceV1p3beta1Track `json:"tracks,omitempty"`
  5591  	// Version: Feature version.
  5592  	Version string `json:"version,omitempty"`
  5593  	// ForceSendFields is a list of field names (e.g. "Thumbnail") to
  5594  	// unconditionally include in API requests. By default, fields with empty or
  5595  	// default values are omitted from API requests. See
  5596  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5597  	// details.
  5598  	ForceSendFields []string `json:"-"`
  5599  	// NullFields is a list of field names (e.g. "Thumbnail") to include in API
  5600  	// requests with the JSON null value. By default, fields with empty values are
  5601  	// omitted from API requests. See
  5602  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5603  	NullFields []string `json:"-"`
  5604  }
  5605  
  5606  func (s *GoogleCloudVideointelligenceV1p3beta1FaceDetectionAnnotation) MarshalJSON() ([]byte, error) {
  5607  	type NoMethod GoogleCloudVideointelligenceV1p3beta1FaceDetectionAnnotation
  5608  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5609  }
  5610  
  5611  // GoogleCloudVideointelligenceV1p3beta1FaceFrame: Deprecated. No effect.
  5612  type GoogleCloudVideointelligenceV1p3beta1FaceFrame struct {
  5613  	// NormalizedBoundingBoxes: Normalized Bounding boxes in a frame. There can be
  5614  	// more than one boxes if the same face is detected in multiple locations
  5615  	// within the current frame.
  5616  	NormalizedBoundingBoxes []*GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox `json:"normalizedBoundingBoxes,omitempty"`
  5617  	// TimeOffset: Time-offset, relative to the beginning of the video,
  5618  	// corresponding to the video frame for this location.
  5619  	TimeOffset string `json:"timeOffset,omitempty"`
  5620  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  5621  	// unconditionally include in API requests. By default, fields with empty or
  5622  	// default values are omitted from API requests. See
  5623  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5624  	// details.
  5625  	ForceSendFields []string `json:"-"`
  5626  	// NullFields is a list of field names (e.g. "NormalizedBoundingBoxes") to
  5627  	// include in API requests with the JSON null value. By default, fields with
  5628  	// empty values are omitted from API requests. See
  5629  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5630  	NullFields []string `json:"-"`
  5631  }
  5632  
  5633  func (s *GoogleCloudVideointelligenceV1p3beta1FaceFrame) MarshalJSON() ([]byte, error) {
  5634  	type NoMethod GoogleCloudVideointelligenceV1p3beta1FaceFrame
  5635  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5636  }
  5637  
  5638  // GoogleCloudVideointelligenceV1p3beta1FaceSegment: Video segment level
  5639  // annotation results for face detection.
  5640  type GoogleCloudVideointelligenceV1p3beta1FaceSegment struct {
  5641  	// Segment: Video segment where a face was detected.
  5642  	Segment *GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segment,omitempty"`
  5643  	// ForceSendFields is a list of field names (e.g. "Segment") to unconditionally
  5644  	// include in API requests. By default, fields with empty or default values are
  5645  	// omitted from API requests. See
  5646  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5647  	// details.
  5648  	ForceSendFields []string `json:"-"`
  5649  	// NullFields is a list of field names (e.g. "Segment") to include in API
  5650  	// requests with the JSON null value. By default, fields with empty values are
  5651  	// omitted from API requests. See
  5652  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5653  	NullFields []string `json:"-"`
  5654  }
  5655  
  5656  func (s *GoogleCloudVideointelligenceV1p3beta1FaceSegment) MarshalJSON() ([]byte, error) {
  5657  	type NoMethod GoogleCloudVideointelligenceV1p3beta1FaceSegment
  5658  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5659  }
  5660  
  5661  // GoogleCloudVideointelligenceV1p3beta1LabelAnnotation: Label annotation.
  5662  type GoogleCloudVideointelligenceV1p3beta1LabelAnnotation struct {
  5663  	// CategoryEntities: Common categories for the detected entity. For example,
  5664  	// when the label is `Terrier`, the category is likely `dog`. And in some cases
  5665  	// there might be more than one categories e.g., `Terrier` could also be a
  5666  	// `pet`.
  5667  	CategoryEntities []*GoogleCloudVideointelligenceV1p3beta1Entity `json:"categoryEntities,omitempty"`
  5668  	// Entity: Detected entity.
  5669  	Entity *GoogleCloudVideointelligenceV1p3beta1Entity `json:"entity,omitempty"`
  5670  	// Frames: All video frames where a label was detected.
  5671  	Frames []*GoogleCloudVideointelligenceV1p3beta1LabelFrame `json:"frames,omitempty"`
  5672  	// Segments: All video segments where a label was detected.
  5673  	Segments []*GoogleCloudVideointelligenceV1p3beta1LabelSegment `json:"segments,omitempty"`
  5674  	// Version: Feature version.
  5675  	Version string `json:"version,omitempty"`
  5676  	// ForceSendFields is a list of field names (e.g. "CategoryEntities") to
  5677  	// unconditionally include in API requests. By default, fields with empty or
  5678  	// default values are omitted from API requests. See
  5679  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5680  	// details.
  5681  	ForceSendFields []string `json:"-"`
  5682  	// NullFields is a list of field names (e.g. "CategoryEntities") to include in
  5683  	// API requests with the JSON null value. By default, fields with empty values
  5684  	// are omitted from API requests. See
  5685  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5686  	NullFields []string `json:"-"`
  5687  }
  5688  
  5689  func (s *GoogleCloudVideointelligenceV1p3beta1LabelAnnotation) MarshalJSON() ([]byte, error) {
  5690  	type NoMethod GoogleCloudVideointelligenceV1p3beta1LabelAnnotation
  5691  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5692  }
  5693  
  5694  // GoogleCloudVideointelligenceV1p3beta1LabelFrame: Video frame level
  5695  // annotation results for label detection.
  5696  type GoogleCloudVideointelligenceV1p3beta1LabelFrame struct {
  5697  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  5698  	Confidence float64 `json:"confidence,omitempty"`
  5699  	// TimeOffset: Time-offset, relative to the beginning of the video,
  5700  	// corresponding to the video frame for this location.
  5701  	TimeOffset string `json:"timeOffset,omitempty"`
  5702  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  5703  	// unconditionally include in API requests. By default, fields with empty or
  5704  	// default values are omitted from API requests. See
  5705  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5706  	// details.
  5707  	ForceSendFields []string `json:"-"`
  5708  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  5709  	// requests with the JSON null value. By default, fields with empty values are
  5710  	// omitted from API requests. See
  5711  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5712  	NullFields []string `json:"-"`
  5713  }
  5714  
  5715  func (s *GoogleCloudVideointelligenceV1p3beta1LabelFrame) MarshalJSON() ([]byte, error) {
  5716  	type NoMethod GoogleCloudVideointelligenceV1p3beta1LabelFrame
  5717  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5718  }
  5719  
  5720  func (s *GoogleCloudVideointelligenceV1p3beta1LabelFrame) UnmarshalJSON(data []byte) error {
  5721  	type NoMethod GoogleCloudVideointelligenceV1p3beta1LabelFrame
  5722  	var s1 struct {
  5723  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5724  		*NoMethod
  5725  	}
  5726  	s1.NoMethod = (*NoMethod)(s)
  5727  	if err := json.Unmarshal(data, &s1); err != nil {
  5728  		return err
  5729  	}
  5730  	s.Confidence = float64(s1.Confidence)
  5731  	return nil
  5732  }
  5733  
  5734  // GoogleCloudVideointelligenceV1p3beta1LabelSegment: Video segment level
  5735  // annotation results for label detection.
  5736  type GoogleCloudVideointelligenceV1p3beta1LabelSegment struct {
  5737  	// Confidence: Confidence that the label is accurate. Range: [0, 1].
  5738  	Confidence float64 `json:"confidence,omitempty"`
  5739  	// Segment: Video segment where a label was detected.
  5740  	Segment *GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segment,omitempty"`
  5741  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  5742  	// unconditionally include in API requests. By default, fields with empty or
  5743  	// default values are omitted from API requests. See
  5744  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5745  	// details.
  5746  	ForceSendFields []string `json:"-"`
  5747  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  5748  	// requests with the JSON null value. By default, fields with empty values are
  5749  	// omitted from API requests. See
  5750  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5751  	NullFields []string `json:"-"`
  5752  }
  5753  
  5754  func (s *GoogleCloudVideointelligenceV1p3beta1LabelSegment) MarshalJSON() ([]byte, error) {
  5755  	type NoMethod GoogleCloudVideointelligenceV1p3beta1LabelSegment
  5756  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5757  }
  5758  
  5759  func (s *GoogleCloudVideointelligenceV1p3beta1LabelSegment) UnmarshalJSON(data []byte) error {
  5760  	type NoMethod GoogleCloudVideointelligenceV1p3beta1LabelSegment
  5761  	var s1 struct {
  5762  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5763  		*NoMethod
  5764  	}
  5765  	s1.NoMethod = (*NoMethod)(s)
  5766  	if err := json.Unmarshal(data, &s1); err != nil {
  5767  		return err
  5768  	}
  5769  	s.Confidence = float64(s1.Confidence)
  5770  	return nil
  5771  }
  5772  
  5773  // GoogleCloudVideointelligenceV1p3beta1LogoRecognitionAnnotation: Annotation
  5774  // corresponding to one detected, tracked and recognized logo class.
  5775  type GoogleCloudVideointelligenceV1p3beta1LogoRecognitionAnnotation struct {
  5776  	// Entity: Entity category information to specify the logo class that all the
  5777  	// logo tracks within this LogoRecognitionAnnotation are recognized as.
  5778  	Entity *GoogleCloudVideointelligenceV1p3beta1Entity `json:"entity,omitempty"`
  5779  	// Segments: All video segments where the recognized logo appears. There might
  5780  	// be multiple instances of the same logo class appearing in one VideoSegment.
  5781  	Segments []*GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segments,omitempty"`
  5782  	// Tracks: All logo tracks where the recognized logo appears. Each track
  5783  	// corresponds to one logo instance appearing in consecutive frames.
  5784  	Tracks []*GoogleCloudVideointelligenceV1p3beta1Track `json:"tracks,omitempty"`
  5785  	// ForceSendFields is a list of field names (e.g. "Entity") to unconditionally
  5786  	// include in API requests. By default, fields with empty or default values are
  5787  	// omitted from API requests. See
  5788  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5789  	// details.
  5790  	ForceSendFields []string `json:"-"`
  5791  	// NullFields is a list of field names (e.g. "Entity") to include in API
  5792  	// requests with the JSON null value. By default, fields with empty values are
  5793  	// omitted from API requests. See
  5794  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5795  	NullFields []string `json:"-"`
  5796  }
  5797  
  5798  func (s *GoogleCloudVideointelligenceV1p3beta1LogoRecognitionAnnotation) MarshalJSON() ([]byte, error) {
  5799  	type NoMethod GoogleCloudVideointelligenceV1p3beta1LogoRecognitionAnnotation
  5800  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5801  }
  5802  
  5803  // GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox: Normalized
  5804  // bounding box. The normalized vertex coordinates are relative to the original
  5805  // image. Range: [0, 1].
  5806  type GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox struct {
  5807  	// Bottom: Bottom Y coordinate.
  5808  	Bottom float64 `json:"bottom,omitempty"`
  5809  	// Left: Left X coordinate.
  5810  	Left float64 `json:"left,omitempty"`
  5811  	// Right: Right X coordinate.
  5812  	Right float64 `json:"right,omitempty"`
  5813  	// Top: Top Y coordinate.
  5814  	Top float64 `json:"top,omitempty"`
  5815  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
  5816  	// include in API requests. By default, fields with empty or default values are
  5817  	// omitted from API requests. See
  5818  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5819  	// details.
  5820  	ForceSendFields []string `json:"-"`
  5821  	// NullFields is a list of field names (e.g. "Bottom") to include in API
  5822  	// requests with the JSON null value. By default, fields with empty values are
  5823  	// omitted from API requests. See
  5824  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5825  	NullFields []string `json:"-"`
  5826  }
  5827  
  5828  func (s *GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox) MarshalJSON() ([]byte, error) {
  5829  	type NoMethod GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox
  5830  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5831  }
  5832  
  5833  func (s *GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox) UnmarshalJSON(data []byte) error {
  5834  	type NoMethod GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox
  5835  	var s1 struct {
  5836  		Bottom gensupport.JSONFloat64 `json:"bottom"`
  5837  		Left   gensupport.JSONFloat64 `json:"left"`
  5838  		Right  gensupport.JSONFloat64 `json:"right"`
  5839  		Top    gensupport.JSONFloat64 `json:"top"`
  5840  		*NoMethod
  5841  	}
  5842  	s1.NoMethod = (*NoMethod)(s)
  5843  	if err := json.Unmarshal(data, &s1); err != nil {
  5844  		return err
  5845  	}
  5846  	s.Bottom = float64(s1.Bottom)
  5847  	s.Left = float64(s1.Left)
  5848  	s.Right = float64(s1.Right)
  5849  	s.Top = float64(s1.Top)
  5850  	return nil
  5851  }
  5852  
  5853  // GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingPoly: Normalized
  5854  // bounding polygon for text (that might not be aligned with axis). Contains
  5855  // list of the corner points in clockwise order starting from top-left corner.
  5856  // For example, for a rectangular bounding box: When the text is horizontal it
  5857  // might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees
  5858  // around the top-left corner it becomes: 2----3 | | 1----0 and the vertex
  5859  // order will still be (0, 1, 2, 3). Note that values can be less than 0, or
  5860  // greater than 1 due to trignometric calculations for location of the box.
  5861  type GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingPoly struct {
  5862  	// Vertices: Normalized vertices of the bounding polygon.
  5863  	Vertices []*GoogleCloudVideointelligenceV1p3beta1NormalizedVertex `json:"vertices,omitempty"`
  5864  	// ForceSendFields is a list of field names (e.g. "Vertices") to
  5865  	// unconditionally include in API requests. By default, fields with empty or
  5866  	// default values are omitted from API requests. See
  5867  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5868  	// details.
  5869  	ForceSendFields []string `json:"-"`
  5870  	// NullFields is a list of field names (e.g. "Vertices") to include in API
  5871  	// requests with the JSON null value. By default, fields with empty values are
  5872  	// omitted from API requests. See
  5873  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5874  	NullFields []string `json:"-"`
  5875  }
  5876  
  5877  func (s *GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingPoly) MarshalJSON() ([]byte, error) {
  5878  	type NoMethod GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingPoly
  5879  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5880  }
  5881  
  5882  // GoogleCloudVideointelligenceV1p3beta1NormalizedVertex: A vertex represents a
  5883  // 2D point in the image. NOTE: the normalized vertex coordinates are relative
  5884  // to the original image and range from 0 to 1.
  5885  type GoogleCloudVideointelligenceV1p3beta1NormalizedVertex struct {
  5886  	// X: X coordinate.
  5887  	X float64 `json:"x,omitempty"`
  5888  	// Y: Y coordinate.
  5889  	Y float64 `json:"y,omitempty"`
  5890  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  5891  	// include in API requests. By default, fields with empty or default values are
  5892  	// omitted from API requests. See
  5893  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5894  	// details.
  5895  	ForceSendFields []string `json:"-"`
  5896  	// NullFields is a list of field names (e.g. "X") to include in API requests
  5897  	// with the JSON null value. By default, fields with empty values are omitted
  5898  	// from API requests. See
  5899  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5900  	NullFields []string `json:"-"`
  5901  }
  5902  
  5903  func (s *GoogleCloudVideointelligenceV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
  5904  	type NoMethod GoogleCloudVideointelligenceV1p3beta1NormalizedVertex
  5905  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5906  }
  5907  
  5908  func (s *GoogleCloudVideointelligenceV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
  5909  	type NoMethod GoogleCloudVideointelligenceV1p3beta1NormalizedVertex
  5910  	var s1 struct {
  5911  		X gensupport.JSONFloat64 `json:"x"`
  5912  		Y gensupport.JSONFloat64 `json:"y"`
  5913  		*NoMethod
  5914  	}
  5915  	s1.NoMethod = (*NoMethod)(s)
  5916  	if err := json.Unmarshal(data, &s1); err != nil {
  5917  		return err
  5918  	}
  5919  	s.X = float64(s1.X)
  5920  	s.Y = float64(s1.Y)
  5921  	return nil
  5922  }
  5923  
  5924  // GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation: Annotations
  5925  // corresponding to one tracked object.
  5926  type GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation struct {
  5927  	// Confidence: Object category's labeling confidence of this track.
  5928  	Confidence float64 `json:"confidence,omitempty"`
  5929  	// Entity: Entity to specify the object category that this track is labeled as.
  5930  	Entity *GoogleCloudVideointelligenceV1p3beta1Entity `json:"entity,omitempty"`
  5931  	// Frames: Information corresponding to all frames where this object track
  5932  	// appears. Non-streaming batch mode: it may be one or multiple
  5933  	// ObjectTrackingFrame messages in frames. Streaming mode: it can only be one
  5934  	// ObjectTrackingFrame message in frames.
  5935  	Frames []*GoogleCloudVideointelligenceV1p3beta1ObjectTrackingFrame `json:"frames,omitempty"`
  5936  	// Segment: Non-streaming batch mode ONLY. Each object track corresponds to one
  5937  	// video segment where it appears.
  5938  	Segment *GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segment,omitempty"`
  5939  	// TrackId: Streaming mode ONLY. In streaming mode, we do not know the end time
  5940  	// of a tracked object before it is completed. Hence, there is no VideoSegment
  5941  	// info returned. Instead, we provide a unique identifiable integer track_id so
  5942  	// that the customers can correlate the results of the ongoing
  5943  	// ObjectTrackAnnotation of the same track_id over time.
  5944  	TrackId int64 `json:"trackId,omitempty,string"`
  5945  	// Version: Feature version.
  5946  	Version string `json:"version,omitempty"`
  5947  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  5948  	// unconditionally include in API requests. By default, fields with empty or
  5949  	// default values are omitted from API requests. See
  5950  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5951  	// details.
  5952  	ForceSendFields []string `json:"-"`
  5953  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  5954  	// requests with the JSON null value. By default, fields with empty values are
  5955  	// omitted from API requests. See
  5956  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5957  	NullFields []string `json:"-"`
  5958  }
  5959  
  5960  func (s *GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation) MarshalJSON() ([]byte, error) {
  5961  	type NoMethod GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation
  5962  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5963  }
  5964  
  5965  func (s *GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation) UnmarshalJSON(data []byte) error {
  5966  	type NoMethod GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation
  5967  	var s1 struct {
  5968  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5969  		*NoMethod
  5970  	}
  5971  	s1.NoMethod = (*NoMethod)(s)
  5972  	if err := json.Unmarshal(data, &s1); err != nil {
  5973  		return err
  5974  	}
  5975  	s.Confidence = float64(s1.Confidence)
  5976  	return nil
  5977  }
  5978  
  5979  // GoogleCloudVideointelligenceV1p3beta1ObjectTrackingFrame: Video frame level
  5980  // annotations for object detection and tracking. This field stores per frame
  5981  // location, time offset, and confidence.
  5982  type GoogleCloudVideointelligenceV1p3beta1ObjectTrackingFrame struct {
  5983  	// NormalizedBoundingBox: The normalized bounding box location of this object
  5984  	// track for the frame.
  5985  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  5986  	// TimeOffset: The timestamp of the frame in microseconds.
  5987  	TimeOffset string `json:"timeOffset,omitempty"`
  5988  	// ForceSendFields is a list of field names (e.g. "NormalizedBoundingBox") to
  5989  	// unconditionally include in API requests. By default, fields with empty or
  5990  	// default values are omitted from API requests. See
  5991  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5992  	// details.
  5993  	ForceSendFields []string `json:"-"`
  5994  	// NullFields is a list of field names (e.g. "NormalizedBoundingBox") to
  5995  	// include in API requests with the JSON null value. By default, fields with
  5996  	// empty values are omitted from API requests. See
  5997  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5998  	NullFields []string `json:"-"`
  5999  }
  6000  
  6001  func (s *GoogleCloudVideointelligenceV1p3beta1ObjectTrackingFrame) MarshalJSON() ([]byte, error) {
  6002  	type NoMethod GoogleCloudVideointelligenceV1p3beta1ObjectTrackingFrame
  6003  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6004  }
  6005  
  6006  // GoogleCloudVideointelligenceV1p3beta1PersonDetectionAnnotation: Person
  6007  // detection annotation per video.
  6008  type GoogleCloudVideointelligenceV1p3beta1PersonDetectionAnnotation struct {
  6009  	// Tracks: The detected tracks of a person.
  6010  	Tracks []*GoogleCloudVideointelligenceV1p3beta1Track `json:"tracks,omitempty"`
  6011  	// Version: Feature version.
  6012  	Version string `json:"version,omitempty"`
  6013  	// ForceSendFields is a list of field names (e.g. "Tracks") to unconditionally
  6014  	// include in API requests. By default, fields with empty or default values are
  6015  	// omitted from API requests. See
  6016  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6017  	// details.
  6018  	ForceSendFields []string `json:"-"`
  6019  	// NullFields is a list of field names (e.g. "Tracks") to include in API
  6020  	// requests with the JSON null value. By default, fields with empty values are
  6021  	// omitted from API requests. See
  6022  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6023  	NullFields []string `json:"-"`
  6024  }
  6025  
  6026  func (s *GoogleCloudVideointelligenceV1p3beta1PersonDetectionAnnotation) MarshalJSON() ([]byte, error) {
  6027  	type NoMethod GoogleCloudVideointelligenceV1p3beta1PersonDetectionAnnotation
  6028  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6029  }
  6030  
  6031  // GoogleCloudVideointelligenceV1p3beta1RecognizedCelebrity: The recognized
  6032  // celebrity with confidence score.
  6033  type GoogleCloudVideointelligenceV1p3beta1RecognizedCelebrity struct {
  6034  	// Celebrity: The recognized celebrity.
  6035  	Celebrity *GoogleCloudVideointelligenceV1p3beta1Celebrity `json:"celebrity,omitempty"`
  6036  	// Confidence: Recognition confidence. Range [0, 1].
  6037  	Confidence float64 `json:"confidence,omitempty"`
  6038  	// ForceSendFields is a list of field names (e.g. "Celebrity") to
  6039  	// unconditionally include in API requests. By default, fields with empty or
  6040  	// default values are omitted from API requests. See
  6041  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6042  	// details.
  6043  	ForceSendFields []string `json:"-"`
  6044  	// NullFields is a list of field names (e.g. "Celebrity") to include in API
  6045  	// requests with the JSON null value. By default, fields with empty values are
  6046  	// omitted from API requests. See
  6047  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6048  	NullFields []string `json:"-"`
  6049  }
  6050  
  6051  func (s *GoogleCloudVideointelligenceV1p3beta1RecognizedCelebrity) MarshalJSON() ([]byte, error) {
  6052  	type NoMethod GoogleCloudVideointelligenceV1p3beta1RecognizedCelebrity
  6053  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6054  }
  6055  
  6056  func (s *GoogleCloudVideointelligenceV1p3beta1RecognizedCelebrity) UnmarshalJSON(data []byte) error {
  6057  	type NoMethod GoogleCloudVideointelligenceV1p3beta1RecognizedCelebrity
  6058  	var s1 struct {
  6059  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  6060  		*NoMethod
  6061  	}
  6062  	s1.NoMethod = (*NoMethod)(s)
  6063  	if err := json.Unmarshal(data, &s1); err != nil {
  6064  		return err
  6065  	}
  6066  	s.Confidence = float64(s1.Confidence)
  6067  	return nil
  6068  }
  6069  
  6070  // GoogleCloudVideointelligenceV1p3beta1SpeechRecognitionAlternative:
  6071  // Alternative hypotheses (a.k.a. n-best list).
  6072  type GoogleCloudVideointelligenceV1p3beta1SpeechRecognitionAlternative struct {
  6073  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  6074  	// higher number indicates an estimated greater likelihood that the recognized
  6075  	// words are correct. This field is set only for the top alternative. This
  6076  	// field is not guaranteed to be accurate and users should not rely on it to be
  6077  	// always provided. The default of 0.0 is a sentinel value indicating
  6078  	// `confidence` was not set.
  6079  	Confidence float64 `json:"confidence,omitempty"`
  6080  	// Transcript: Transcript text representing the words that the user spoke.
  6081  	Transcript string `json:"transcript,omitempty"`
  6082  	// Words: Output only. A list of word-specific information for each recognized
  6083  	// word. Note: When `enable_speaker_diarization` is set to true, you will see
  6084  	// all the words from the beginning of the audio.
  6085  	Words []*GoogleCloudVideointelligenceV1p3beta1WordInfo `json:"words,omitempty"`
  6086  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  6087  	// unconditionally include in API requests. By default, fields with empty or
  6088  	// default values are omitted from API requests. See
  6089  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6090  	// details.
  6091  	ForceSendFields []string `json:"-"`
  6092  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  6093  	// requests with the JSON null value. By default, fields with empty values are
  6094  	// omitted from API requests. See
  6095  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6096  	NullFields []string `json:"-"`
  6097  }
  6098  
  6099  func (s *GoogleCloudVideointelligenceV1p3beta1SpeechRecognitionAlternative) MarshalJSON() ([]byte, error) {
  6100  	type NoMethod GoogleCloudVideointelligenceV1p3beta1SpeechRecognitionAlternative
  6101  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6102  }
  6103  
  6104  func (s *GoogleCloudVideointelligenceV1p3beta1SpeechRecognitionAlternative) UnmarshalJSON(data []byte) error {
  6105  	type NoMethod GoogleCloudVideointelligenceV1p3beta1SpeechRecognitionAlternative
  6106  	var s1 struct {
  6107  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  6108  		*NoMethod
  6109  	}
  6110  	s1.NoMethod = (*NoMethod)(s)
  6111  	if err := json.Unmarshal(data, &s1); err != nil {
  6112  		return err
  6113  	}
  6114  	s.Confidence = float64(s1.Confidence)
  6115  	return nil
  6116  }
  6117  
  6118  // GoogleCloudVideointelligenceV1p3beta1SpeechTranscription: A speech
  6119  // recognition result corresponding to a portion of the audio.
  6120  type GoogleCloudVideointelligenceV1p3beta1SpeechTranscription struct {
  6121  	// Alternatives: May contain one or more recognition hypotheses (up to the
  6122  	// maximum specified in `max_alternatives`). These alternatives are ordered in
  6123  	// terms of accuracy, with the top (first) alternative being the most probable,
  6124  	// as ranked by the recognizer.
  6125  	Alternatives []*GoogleCloudVideointelligenceV1p3beta1SpeechRecognitionAlternative `json:"alternatives,omitempty"`
  6126  	// LanguageCode: Output only. The BCP-47
  6127  	// (https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language
  6128  	// in this result. This language code was detected to have the most likelihood
  6129  	// of being spoken in the audio.
  6130  	LanguageCode string `json:"languageCode,omitempty"`
  6131  	// ForceSendFields is a list of field names (e.g. "Alternatives") to
  6132  	// unconditionally include in API requests. By default, fields with empty or
  6133  	// default values are omitted from API requests. See
  6134  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6135  	// details.
  6136  	ForceSendFields []string `json:"-"`
  6137  	// NullFields is a list of field names (e.g. "Alternatives") to include in API
  6138  	// requests with the JSON null value. By default, fields with empty values are
  6139  	// omitted from API requests. See
  6140  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6141  	NullFields []string `json:"-"`
  6142  }
  6143  
  6144  func (s *GoogleCloudVideointelligenceV1p3beta1SpeechTranscription) MarshalJSON() ([]byte, error) {
  6145  	type NoMethod GoogleCloudVideointelligenceV1p3beta1SpeechTranscription
  6146  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6147  }
  6148  
  6149  // GoogleCloudVideointelligenceV1p3beta1StreamingAnnotateVideoResponse:
  6150  // `StreamingAnnotateVideoResponse` is the only message returned to the client
  6151  // by `StreamingAnnotateVideo`. A series of zero or more
  6152  // `StreamingAnnotateVideoResponse` messages are streamed back to the client.
  6153  type GoogleCloudVideointelligenceV1p3beta1StreamingAnnotateVideoResponse struct {
  6154  	// AnnotationResults: Streaming annotation results.
  6155  	AnnotationResults *GoogleCloudVideointelligenceV1p3beta1StreamingVideoAnnotationResults `json:"annotationResults,omitempty"`
  6156  	// AnnotationResultsUri: Google Cloud Storage URI that stores annotation
  6157  	// results of one streaming session in JSON format. It is the
  6158  	// annotation_result_storage_directory from the request followed by
  6159  	// '/cloud_project_number-session_id'.
  6160  	AnnotationResultsUri string `json:"annotationResultsUri,omitempty"`
  6161  	// Error: If set, returns a google.rpc.Status message that specifies the error
  6162  	// for the operation.
  6163  	Error *GoogleRpcStatus `json:"error,omitempty"`
  6164  	// ForceSendFields is a list of field names (e.g. "AnnotationResults") to
  6165  	// unconditionally include in API requests. By default, fields with empty or
  6166  	// default values are omitted from API requests. See
  6167  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6168  	// details.
  6169  	ForceSendFields []string `json:"-"`
  6170  	// NullFields is a list of field names (e.g. "AnnotationResults") to include in
  6171  	// API requests with the JSON null value. By default, fields with empty values
  6172  	// are omitted from API requests. See
  6173  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6174  	NullFields []string `json:"-"`
  6175  }
  6176  
  6177  func (s *GoogleCloudVideointelligenceV1p3beta1StreamingAnnotateVideoResponse) MarshalJSON() ([]byte, error) {
  6178  	type NoMethod GoogleCloudVideointelligenceV1p3beta1StreamingAnnotateVideoResponse
  6179  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6180  }
  6181  
  6182  // GoogleCloudVideointelligenceV1p3beta1StreamingVideoAnnotationResults:
  6183  // Streaming annotation results corresponding to a portion of the video that is
  6184  // currently being processed. Only ONE type of annotation will be specified in
  6185  // the response.
  6186  type GoogleCloudVideointelligenceV1p3beta1StreamingVideoAnnotationResults struct {
  6187  	// ExplicitAnnotation: Explicit content annotation results.
  6188  	ExplicitAnnotation *GoogleCloudVideointelligenceV1p3beta1ExplicitContentAnnotation `json:"explicitAnnotation,omitempty"`
  6189  	// FrameTimestamp: Timestamp of the processed frame in microseconds.
  6190  	FrameTimestamp string `json:"frameTimestamp,omitempty"`
  6191  	// LabelAnnotations: Label annotation results.
  6192  	LabelAnnotations []*GoogleCloudVideointelligenceV1p3beta1LabelAnnotation `json:"labelAnnotations,omitempty"`
  6193  	// ObjectAnnotations: Object tracking results.
  6194  	ObjectAnnotations []*GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation `json:"objectAnnotations,omitempty"`
  6195  	// ShotAnnotations: Shot annotation results. Each shot is represented as a
  6196  	// video segment.
  6197  	ShotAnnotations []*GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"shotAnnotations,omitempty"`
  6198  	// ForceSendFields is a list of field names (e.g. "ExplicitAnnotation") to
  6199  	// unconditionally include in API requests. By default, fields with empty or
  6200  	// default values are omitted from API requests. See
  6201  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6202  	// details.
  6203  	ForceSendFields []string `json:"-"`
  6204  	// NullFields is a list of field names (e.g. "ExplicitAnnotation") to include
  6205  	// in API requests with the JSON null value. By default, fields with empty
  6206  	// values are omitted from API requests. See
  6207  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6208  	NullFields []string `json:"-"`
  6209  }
  6210  
  6211  func (s *GoogleCloudVideointelligenceV1p3beta1StreamingVideoAnnotationResults) MarshalJSON() ([]byte, error) {
  6212  	type NoMethod GoogleCloudVideointelligenceV1p3beta1StreamingVideoAnnotationResults
  6213  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6214  }
  6215  
  6216  // GoogleCloudVideointelligenceV1p3beta1TextAnnotation: Annotations related to
  6217  // one detected OCR text snippet. This will contain the corresponding text,
  6218  // confidence value, and frame level information for each detection.
  6219  type GoogleCloudVideointelligenceV1p3beta1TextAnnotation struct {
  6220  	// Segments: All video segments where OCR detected text appears.
  6221  	Segments []*GoogleCloudVideointelligenceV1p3beta1TextSegment `json:"segments,omitempty"`
  6222  	// Text: The detected text.
  6223  	Text string `json:"text,omitempty"`
  6224  	// Version: Feature version.
  6225  	Version string `json:"version,omitempty"`
  6226  	// ForceSendFields is a list of field names (e.g. "Segments") to
  6227  	// unconditionally include in API requests. By default, fields with empty or
  6228  	// default values are omitted from API requests. See
  6229  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6230  	// details.
  6231  	ForceSendFields []string `json:"-"`
  6232  	// NullFields is a list of field names (e.g. "Segments") to include in API
  6233  	// requests with the JSON null value. By default, fields with empty values are
  6234  	// omitted from API requests. See
  6235  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6236  	NullFields []string `json:"-"`
  6237  }
  6238  
  6239  func (s *GoogleCloudVideointelligenceV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) {
  6240  	type NoMethod GoogleCloudVideointelligenceV1p3beta1TextAnnotation
  6241  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6242  }
  6243  
  6244  // GoogleCloudVideointelligenceV1p3beta1TextFrame: Video frame level annotation
  6245  // results for text annotation (OCR). Contains information regarding timestamp
  6246  // and bounding box locations for the frames containing detected OCR text
  6247  // snippets.
  6248  type GoogleCloudVideointelligenceV1p3beta1TextFrame struct {
  6249  	// RotatedBoundingBox: Bounding polygon of the detected text for this frame.
  6250  	RotatedBoundingBox *GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingPoly `json:"rotatedBoundingBox,omitempty"`
  6251  	// TimeOffset: Timestamp of this frame.
  6252  	TimeOffset string `json:"timeOffset,omitempty"`
  6253  	// ForceSendFields is a list of field names (e.g. "RotatedBoundingBox") to
  6254  	// unconditionally include in API requests. By default, fields with empty or
  6255  	// default values are omitted from API requests. See
  6256  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6257  	// details.
  6258  	ForceSendFields []string `json:"-"`
  6259  	// NullFields is a list of field names (e.g. "RotatedBoundingBox") to include
  6260  	// in API requests with the JSON null value. By default, fields with empty
  6261  	// values are omitted from API requests. See
  6262  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6263  	NullFields []string `json:"-"`
  6264  }
  6265  
  6266  func (s *GoogleCloudVideointelligenceV1p3beta1TextFrame) MarshalJSON() ([]byte, error) {
  6267  	type NoMethod GoogleCloudVideointelligenceV1p3beta1TextFrame
  6268  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6269  }
  6270  
  6271  // GoogleCloudVideointelligenceV1p3beta1TextSegment: Video segment level
  6272  // annotation results for text detection.
  6273  type GoogleCloudVideointelligenceV1p3beta1TextSegment struct {
  6274  	// Confidence: Confidence for the track of detected text. It is calculated as
  6275  	// the highest over all frames where OCR detected text appears.
  6276  	Confidence float64 `json:"confidence,omitempty"`
  6277  	// Frames: Information related to the frames where OCR detected text appears.
  6278  	Frames []*GoogleCloudVideointelligenceV1p3beta1TextFrame `json:"frames,omitempty"`
  6279  	// Segment: Video segment where a text snippet was detected.
  6280  	Segment *GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segment,omitempty"`
  6281  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  6282  	// unconditionally include in API requests. By default, fields with empty or
  6283  	// default values are omitted from API requests. See
  6284  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6285  	// details.
  6286  	ForceSendFields []string `json:"-"`
  6287  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  6288  	// requests with the JSON null value. By default, fields with empty values are
  6289  	// omitted from API requests. See
  6290  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6291  	NullFields []string `json:"-"`
  6292  }
  6293  
  6294  func (s *GoogleCloudVideointelligenceV1p3beta1TextSegment) MarshalJSON() ([]byte, error) {
  6295  	type NoMethod GoogleCloudVideointelligenceV1p3beta1TextSegment
  6296  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6297  }
  6298  
  6299  func (s *GoogleCloudVideointelligenceV1p3beta1TextSegment) UnmarshalJSON(data []byte) error {
  6300  	type NoMethod GoogleCloudVideointelligenceV1p3beta1TextSegment
  6301  	var s1 struct {
  6302  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  6303  		*NoMethod
  6304  	}
  6305  	s1.NoMethod = (*NoMethod)(s)
  6306  	if err := json.Unmarshal(data, &s1); err != nil {
  6307  		return err
  6308  	}
  6309  	s.Confidence = float64(s1.Confidence)
  6310  	return nil
  6311  }
  6312  
  6313  // GoogleCloudVideointelligenceV1p3beta1TimestampedObject: For tracking related
  6314  // features. An object at time_offset with attributes, and located with
  6315  // normalized_bounding_box.
  6316  type GoogleCloudVideointelligenceV1p3beta1TimestampedObject struct {
  6317  	// Attributes: Optional. The attributes of the object in the bounding box.
  6318  	Attributes []*GoogleCloudVideointelligenceV1p3beta1DetectedAttribute `json:"attributes,omitempty"`
  6319  	// Landmarks: Optional. The detected landmarks.
  6320  	Landmarks []*GoogleCloudVideointelligenceV1p3beta1DetectedLandmark `json:"landmarks,omitempty"`
  6321  	// NormalizedBoundingBox: Normalized Bounding box in a frame, where the object
  6322  	// is located.
  6323  	NormalizedBoundingBox *GoogleCloudVideointelligenceV1p3beta1NormalizedBoundingBox `json:"normalizedBoundingBox,omitempty"`
  6324  	// TimeOffset: Time-offset, relative to the beginning of the video,
  6325  	// corresponding to the video frame for this object.
  6326  	TimeOffset string `json:"timeOffset,omitempty"`
  6327  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  6328  	// unconditionally include in API requests. By default, fields with empty or
  6329  	// default values are omitted from API requests. See
  6330  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6331  	// details.
  6332  	ForceSendFields []string `json:"-"`
  6333  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  6334  	// requests with the JSON null value. By default, fields with empty values are
  6335  	// omitted from API requests. See
  6336  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6337  	NullFields []string `json:"-"`
  6338  }
  6339  
  6340  func (s *GoogleCloudVideointelligenceV1p3beta1TimestampedObject) MarshalJSON() ([]byte, error) {
  6341  	type NoMethod GoogleCloudVideointelligenceV1p3beta1TimestampedObject
  6342  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6343  }
  6344  
  6345  // GoogleCloudVideointelligenceV1p3beta1Track: A track of an object instance.
  6346  type GoogleCloudVideointelligenceV1p3beta1Track struct {
  6347  	// Attributes: Optional. Attributes in the track level.
  6348  	Attributes []*GoogleCloudVideointelligenceV1p3beta1DetectedAttribute `json:"attributes,omitempty"`
  6349  	// Confidence: Optional. The confidence score of the tracked object.
  6350  	Confidence float64 `json:"confidence,omitempty"`
  6351  	// Segment: Video segment of a track.
  6352  	Segment *GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segment,omitempty"`
  6353  	// TimestampedObjects: The object with timestamp and attributes per frame in
  6354  	// the track.
  6355  	TimestampedObjects []*GoogleCloudVideointelligenceV1p3beta1TimestampedObject `json:"timestampedObjects,omitempty"`
  6356  	// ForceSendFields is a list of field names (e.g. "Attributes") to
  6357  	// unconditionally include in API requests. By default, fields with empty or
  6358  	// default values are omitted from API requests. See
  6359  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6360  	// details.
  6361  	ForceSendFields []string `json:"-"`
  6362  	// NullFields is a list of field names (e.g. "Attributes") to include in API
  6363  	// requests with the JSON null value. By default, fields with empty values are
  6364  	// omitted from API requests. See
  6365  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6366  	NullFields []string `json:"-"`
  6367  }
  6368  
  6369  func (s *GoogleCloudVideointelligenceV1p3beta1Track) MarshalJSON() ([]byte, error) {
  6370  	type NoMethod GoogleCloudVideointelligenceV1p3beta1Track
  6371  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6372  }
  6373  
  6374  func (s *GoogleCloudVideointelligenceV1p3beta1Track) UnmarshalJSON(data []byte) error {
  6375  	type NoMethod GoogleCloudVideointelligenceV1p3beta1Track
  6376  	var s1 struct {
  6377  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  6378  		*NoMethod
  6379  	}
  6380  	s1.NoMethod = (*NoMethod)(s)
  6381  	if err := json.Unmarshal(data, &s1); err != nil {
  6382  		return err
  6383  	}
  6384  	s.Confidence = float64(s1.Confidence)
  6385  	return nil
  6386  }
  6387  
  6388  // GoogleCloudVideointelligenceV1p3beta1VideoAnnotationProgress: Annotation
  6389  // progress for a single video.
  6390  type GoogleCloudVideointelligenceV1p3beta1VideoAnnotationProgress struct {
  6391  	// Feature: Specifies which feature is being tracked if the request contains
  6392  	// more than one feature.
  6393  	//
  6394  	// Possible values:
  6395  	//   "FEATURE_UNSPECIFIED" - Unspecified.
  6396  	//   "LABEL_DETECTION" - Label detection. Detect objects, such as dog or
  6397  	// flower.
  6398  	//   "SHOT_CHANGE_DETECTION" - Shot change detection.
  6399  	//   "EXPLICIT_CONTENT_DETECTION" - Explicit content detection.
  6400  	//   "FACE_DETECTION" - Human face detection.
  6401  	//   "SPEECH_TRANSCRIPTION" - Speech transcription.
  6402  	//   "TEXT_DETECTION" - OCR text detection and tracking.
  6403  	//   "OBJECT_TRACKING" - Object detection and tracking.
  6404  	//   "LOGO_RECOGNITION" - Logo detection, tracking, and recognition.
  6405  	//   "CELEBRITY_RECOGNITION" - Celebrity recognition.
  6406  	//   "PERSON_DETECTION" - Person detection.
  6407  	Feature string `json:"feature,omitempty"`
  6408  	// InputUri: Video file location in Cloud Storage
  6409  	// (https://cloud.google.com/storage/).
  6410  	InputUri string `json:"inputUri,omitempty"`
  6411  	// ProgressPercent: Approximate percentage processed thus far. Guaranteed to be
  6412  	// 100 when fully processed.
  6413  	ProgressPercent int64 `json:"progressPercent,omitempty"`
  6414  	// Segment: Specifies which segment is being tracked if the request contains
  6415  	// more than one segment.
  6416  	Segment *GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segment,omitempty"`
  6417  	// StartTime: Time when the request was received.
  6418  	StartTime string `json:"startTime,omitempty"`
  6419  	// UpdateTime: Time of the most recent update.
  6420  	UpdateTime string `json:"updateTime,omitempty"`
  6421  	// ForceSendFields is a list of field names (e.g. "Feature") to unconditionally
  6422  	// include in API requests. By default, fields with empty or default values are
  6423  	// omitted from API requests. See
  6424  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6425  	// details.
  6426  	ForceSendFields []string `json:"-"`
  6427  	// NullFields is a list of field names (e.g. "Feature") to include in API
  6428  	// requests with the JSON null value. By default, fields with empty values are
  6429  	// omitted from API requests. See
  6430  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6431  	NullFields []string `json:"-"`
  6432  }
  6433  
  6434  func (s *GoogleCloudVideointelligenceV1p3beta1VideoAnnotationProgress) MarshalJSON() ([]byte, error) {
  6435  	type NoMethod GoogleCloudVideointelligenceV1p3beta1VideoAnnotationProgress
  6436  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6437  }
  6438  
  6439  // GoogleCloudVideointelligenceV1p3beta1VideoAnnotationResults: Annotation
  6440  // results for a single video.
  6441  type GoogleCloudVideointelligenceV1p3beta1VideoAnnotationResults struct {
  6442  	// CelebrityRecognitionAnnotations: Celebrity recognition annotations.
  6443  	CelebrityRecognitionAnnotations *GoogleCloudVideointelligenceV1p3beta1CelebrityRecognitionAnnotation `json:"celebrityRecognitionAnnotations,omitempty"`
  6444  	// Error: If set, indicates an error. Note that for a single
  6445  	// `AnnotateVideoRequest` some videos may succeed and some may fail.
  6446  	Error *GoogleRpcStatus `json:"error,omitempty"`
  6447  	// ExplicitAnnotation: Explicit content annotation.
  6448  	ExplicitAnnotation *GoogleCloudVideointelligenceV1p3beta1ExplicitContentAnnotation `json:"explicitAnnotation,omitempty"`
  6449  	// FaceAnnotations: Deprecated. Please use `face_detection_annotations`
  6450  	// instead.
  6451  	FaceAnnotations []*GoogleCloudVideointelligenceV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
  6452  	// FaceDetectionAnnotations: Face detection annotations.
  6453  	FaceDetectionAnnotations []*GoogleCloudVideointelligenceV1p3beta1FaceDetectionAnnotation `json:"faceDetectionAnnotations,omitempty"`
  6454  	// FrameLabelAnnotations: Label annotations on frame level. There is exactly
  6455  	// one element for each unique label.
  6456  	FrameLabelAnnotations []*GoogleCloudVideointelligenceV1p3beta1LabelAnnotation `json:"frameLabelAnnotations,omitempty"`
  6457  	// InputUri: Video file location in Cloud Storage
  6458  	// (https://cloud.google.com/storage/).
  6459  	InputUri string `json:"inputUri,omitempty"`
  6460  	// LogoRecognitionAnnotations: Annotations for list of logos detected, tracked
  6461  	// and recognized in video.
  6462  	LogoRecognitionAnnotations []*GoogleCloudVideointelligenceV1p3beta1LogoRecognitionAnnotation `json:"logoRecognitionAnnotations,omitempty"`
  6463  	// ObjectAnnotations: Annotations for list of objects detected and tracked in
  6464  	// video.
  6465  	ObjectAnnotations []*GoogleCloudVideointelligenceV1p3beta1ObjectTrackingAnnotation `json:"objectAnnotations,omitempty"`
  6466  	// PersonDetectionAnnotations: Person detection annotations.
  6467  	PersonDetectionAnnotations []*GoogleCloudVideointelligenceV1p3beta1PersonDetectionAnnotation `json:"personDetectionAnnotations,omitempty"`
  6468  	// Segment: Video segment on which the annotation is run.
  6469  	Segment *GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"segment,omitempty"`
  6470  	// SegmentLabelAnnotations: Topical label annotations on video level or
  6471  	// user-specified segment level. There is exactly one element for each unique
  6472  	// label.
  6473  	SegmentLabelAnnotations []*GoogleCloudVideointelligenceV1p3beta1LabelAnnotation `json:"segmentLabelAnnotations,omitempty"`
  6474  	// SegmentPresenceLabelAnnotations: Presence label annotations on video level
  6475  	// or user-specified segment level. There is exactly one element for each
  6476  	// unique label. Compared to the existing topical `segment_label_annotations`,
  6477  	// this field presents more fine-grained, segment-level labels detected in
  6478  	// video content and is made available only when the client sets
  6479  	// `LabelDetectionConfig.model` to "builtin/latest" in the request.
  6480  	SegmentPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1p3beta1LabelAnnotation `json:"segmentPresenceLabelAnnotations,omitempty"`
  6481  	// ShotAnnotations: Shot annotations. Each shot is represented as a video
  6482  	// segment.
  6483  	ShotAnnotations []*GoogleCloudVideointelligenceV1p3beta1VideoSegment `json:"shotAnnotations,omitempty"`
  6484  	// ShotLabelAnnotations: Topical label annotations on shot level. There is
  6485  	// exactly one element for each unique label.
  6486  	ShotLabelAnnotations []*GoogleCloudVideointelligenceV1p3beta1LabelAnnotation `json:"shotLabelAnnotations,omitempty"`
  6487  	// ShotPresenceLabelAnnotations: Presence label annotations on shot level.
  6488  	// There is exactly one element for each unique label. Compared to the existing
  6489  	// topical `shot_label_annotations`, this field presents more fine-grained,
  6490  	// shot-level labels detected in video content and is made available only when
  6491  	// the client sets `LabelDetectionConfig.model` to "builtin/latest" in the
  6492  	// request.
  6493  	ShotPresenceLabelAnnotations []*GoogleCloudVideointelligenceV1p3beta1LabelAnnotation `json:"shotPresenceLabelAnnotations,omitempty"`
  6494  	// SpeechTranscriptions: Speech transcription.
  6495  	SpeechTranscriptions []*GoogleCloudVideointelligenceV1p3beta1SpeechTranscription `json:"speechTranscriptions,omitempty"`
  6496  	// TextAnnotations: OCR text detection and tracking. Annotations for list of
  6497  	// detected text snippets. Each will have list of frame information associated
  6498  	// with it.
  6499  	TextAnnotations []*GoogleCloudVideointelligenceV1p3beta1TextAnnotation `json:"textAnnotations,omitempty"`
  6500  	// ForceSendFields is a list of field names (e.g.
  6501  	// "CelebrityRecognitionAnnotations") to unconditionally include in API
  6502  	// requests. By default, fields with empty or default values are omitted from
  6503  	// API requests. See
  6504  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6505  	// details.
  6506  	ForceSendFields []string `json:"-"`
  6507  	// NullFields is a list of field names (e.g. "CelebrityRecognitionAnnotations")
  6508  	// to include in API requests with the JSON null value. By default, fields with
  6509  	// empty values are omitted from API requests. See
  6510  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6511  	NullFields []string `json:"-"`
  6512  }
  6513  
  6514  func (s *GoogleCloudVideointelligenceV1p3beta1VideoAnnotationResults) MarshalJSON() ([]byte, error) {
  6515  	type NoMethod GoogleCloudVideointelligenceV1p3beta1VideoAnnotationResults
  6516  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6517  }
  6518  
  6519  // GoogleCloudVideointelligenceV1p3beta1VideoSegment: Video segment.
  6520  type GoogleCloudVideointelligenceV1p3beta1VideoSegment struct {
  6521  	// EndTimeOffset: Time-offset, relative to the beginning of the video,
  6522  	// corresponding to the end of the segment (inclusive).
  6523  	EndTimeOffset string `json:"endTimeOffset,omitempty"`
  6524  	// StartTimeOffset: Time-offset, relative to the beginning of the video,
  6525  	// corresponding to the start of the segment (inclusive).
  6526  	StartTimeOffset string `json:"startTimeOffset,omitempty"`
  6527  	// ForceSendFields is a list of field names (e.g. "EndTimeOffset") to
  6528  	// unconditionally include in API requests. By default, fields with empty or
  6529  	// default values are omitted from API requests. See
  6530  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6531  	// details.
  6532  	ForceSendFields []string `json:"-"`
  6533  	// NullFields is a list of field names (e.g. "EndTimeOffset") to include in API
  6534  	// requests with the JSON null value. By default, fields with empty values are
  6535  	// omitted from API requests. See
  6536  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6537  	NullFields []string `json:"-"`
  6538  }
  6539  
  6540  func (s *GoogleCloudVideointelligenceV1p3beta1VideoSegment) MarshalJSON() ([]byte, error) {
  6541  	type NoMethod GoogleCloudVideointelligenceV1p3beta1VideoSegment
  6542  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6543  }
  6544  
  6545  // GoogleCloudVideointelligenceV1p3beta1WordInfo: Word-specific information for
  6546  // recognized words. Word information is only included in the response when
  6547  // certain request parameters are set, such as `enable_word_time_offsets`.
  6548  type GoogleCloudVideointelligenceV1p3beta1WordInfo struct {
  6549  	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. A
  6550  	// higher number indicates an estimated greater likelihood that the recognized
  6551  	// words are correct. This field is set only for the top alternative. This
  6552  	// field is not guaranteed to be accurate and users should not rely on it to be
  6553  	// always provided. The default of 0.0 is a sentinel value indicating
  6554  	// `confidence` was not set.
  6555  	Confidence float64 `json:"confidence,omitempty"`
  6556  	// EndTime: Time offset relative to the beginning of the audio, and
  6557  	// corresponding to the end of the spoken word. This field is only set if
  6558  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  6559  	// experimental feature and the accuracy of the time offset can vary.
  6560  	EndTime string `json:"endTime,omitempty"`
  6561  	// SpeakerTag: Output only. A distinct integer value is assigned for every
  6562  	// speaker within the audio. This field specifies which one of those speakers
  6563  	// was detected to have spoken this word. Value ranges from 1 up to
  6564  	// diarization_speaker_count, and is only set if speaker diarization is
  6565  	// enabled.
  6566  	SpeakerTag int64 `json:"speakerTag,omitempty"`
  6567  	// StartTime: Time offset relative to the beginning of the audio, and
  6568  	// corresponding to the start of the spoken word. This field is only set if
  6569  	// `enable_word_time_offsets=true` and only in the top hypothesis. This is an
  6570  	// experimental feature and the accuracy of the time offset can vary.
  6571  	StartTime string `json:"startTime,omitempty"`
  6572  	// Word: The word corresponding to this set of information.
  6573  	Word string `json:"word,omitempty"`
  6574  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  6575  	// unconditionally include in API requests. By default, fields with empty or
  6576  	// default values are omitted from API requests. See
  6577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6578  	// details.
  6579  	ForceSendFields []string `json:"-"`
  6580  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  6581  	// requests with the JSON null value. By default, fields with empty values are
  6582  	// omitted from API requests. See
  6583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6584  	NullFields []string `json:"-"`
  6585  }
  6586  
  6587  func (s *GoogleCloudVideointelligenceV1p3beta1WordInfo) MarshalJSON() ([]byte, error) {
  6588  	type NoMethod GoogleCloudVideointelligenceV1p3beta1WordInfo
  6589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6590  }
  6591  
  6592  func (s *GoogleCloudVideointelligenceV1p3beta1WordInfo) UnmarshalJSON(data []byte) error {
  6593  	type NoMethod GoogleCloudVideointelligenceV1p3beta1WordInfo
  6594  	var s1 struct {
  6595  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  6596  		*NoMethod
  6597  	}
  6598  	s1.NoMethod = (*NoMethod)(s)
  6599  	if err := json.Unmarshal(data, &s1); err != nil {
  6600  		return err
  6601  	}
  6602  	s.Confidence = float64(s1.Confidence)
  6603  	return nil
  6604  }
  6605  
  6606  // GoogleLongrunningOperation: This resource represents a long-running
  6607  // operation that is the result of a network API call.
  6608  type GoogleLongrunningOperation struct {
  6609  	// Done: If the value is `false`, it means the operation is still in progress.
  6610  	// If `true`, the operation is completed, and either `error` or `response` is
  6611  	// available.
  6612  	Done bool `json:"done,omitempty"`
  6613  	// Error: The error result of the operation in case of failure or cancellation.
  6614  	Error *GoogleRpcStatus `json:"error,omitempty"`
  6615  	// Metadata: Service-specific metadata associated with the operation. It
  6616  	// typically contains progress information and common metadata such as create
  6617  	// time. Some services might not provide such metadata. Any method that returns
  6618  	// a long-running operation should document the metadata type, if any.
  6619  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
  6620  	// Name: The server-assigned name, which is only unique within the same service
  6621  	// that originally returns it. If you use the default HTTP mapping, the `name`
  6622  	// should be a resource name ending with `operations/{unique_id}`.
  6623  	Name string `json:"name,omitempty"`
  6624  	// Response: The normal, successful response of the operation. If the original
  6625  	// method returns no data on success, such as `Delete`, the response is
  6626  	// `google.protobuf.Empty`. If the original method is standard
  6627  	// `Get`/`Create`/`Update`, the response should be the resource. For other
  6628  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
  6629  	// original method name. For example, if the original method name is
  6630  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  6631  	Response googleapi.RawMessage `json:"response,omitempty"`
  6632  
  6633  	// ServerResponse contains the HTTP response code and headers from the server.
  6634  	googleapi.ServerResponse `json:"-"`
  6635  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
  6636  	// include in API requests. By default, fields with empty or default values are
  6637  	// omitted from API requests. See
  6638  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6639  	// details.
  6640  	ForceSendFields []string `json:"-"`
  6641  	// NullFields is a list of field names (e.g. "Done") to include in API requests
  6642  	// with the JSON null value. By default, fields with empty values are omitted
  6643  	// from API requests. See
  6644  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6645  	NullFields []string `json:"-"`
  6646  }
  6647  
  6648  func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
  6649  	type NoMethod GoogleLongrunningOperation
  6650  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6651  }
  6652  
  6653  // GoogleRpcStatus: The `Status` type defines a logical error model that is
  6654  // suitable for different programming environments, including REST APIs and RPC
  6655  // APIs. It is used by gRPC (https://github.com/grpc). Each `Status` message
  6656  // contains three pieces of data: error code, error message, and error details.
  6657  // You can find out more about this error model and how to work with it in the
  6658  // API Design Guide (https://cloud.google.com/apis/design/errors).
  6659  type GoogleRpcStatus struct {
  6660  	// Code: The status code, which should be an enum value of google.rpc.Code.
  6661  	Code int64 `json:"code,omitempty"`
  6662  	// Details: A list of messages that carry the error details. There is a common
  6663  	// set of message types for APIs to use.
  6664  	Details []googleapi.RawMessage `json:"details,omitempty"`
  6665  	// Message: A developer-facing error message, which should be in English. Any
  6666  	// user-facing error message should be localized and sent in the
  6667  	// google.rpc.Status.details field, or localized by the client.
  6668  	Message string `json:"message,omitempty"`
  6669  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
  6670  	// include in API requests. By default, fields with empty or default values are
  6671  	// omitted from API requests. See
  6672  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6673  	// details.
  6674  	ForceSendFields []string `json:"-"`
  6675  	// NullFields is a list of field names (e.g. "Code") to include in API requests
  6676  	// with the JSON null value. By default, fields with empty values are omitted
  6677  	// from API requests. See
  6678  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6679  	NullFields []string `json:"-"`
  6680  }
  6681  
  6682  func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
  6683  	type NoMethod GoogleRpcStatus
  6684  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6685  }
  6686  
  6687  type VideosAnnotateCall struct {
  6688  	s                                                         *Service
  6689  	googlecloudvideointelligencev1p2beta1Annotatevideorequest *GoogleCloudVideointelligenceV1p2beta1AnnotateVideoRequest
  6690  	urlParams_                                                gensupport.URLParams
  6691  	ctx_                                                      context.Context
  6692  	header_                                                   http.Header
  6693  }
  6694  
  6695  // Annotate: Performs asynchronous video annotation. Progress and results can
  6696  // be retrieved through the `google.longrunning.Operations` interface.
  6697  // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
  6698  // `Operation.response` contains `AnnotateVideoResponse` (results).
  6699  func (r *VideosService) Annotate(googlecloudvideointelligencev1p2beta1Annotatevideorequest *GoogleCloudVideointelligenceV1p2beta1AnnotateVideoRequest) *VideosAnnotateCall {
  6700  	c := &VideosAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6701  	c.googlecloudvideointelligencev1p2beta1Annotatevideorequest = googlecloudvideointelligencev1p2beta1Annotatevideorequest
  6702  	return c
  6703  }
  6704  
  6705  // Fields allows partial responses to be retrieved. See
  6706  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6707  // details.
  6708  func (c *VideosAnnotateCall) Fields(s ...googleapi.Field) *VideosAnnotateCall {
  6709  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6710  	return c
  6711  }
  6712  
  6713  // Context sets the context to be used in this call's Do method.
  6714  func (c *VideosAnnotateCall) Context(ctx context.Context) *VideosAnnotateCall {
  6715  	c.ctx_ = ctx
  6716  	return c
  6717  }
  6718  
  6719  // Header returns a http.Header that can be modified by the caller to add
  6720  // headers to the request.
  6721  func (c *VideosAnnotateCall) Header() http.Header {
  6722  	if c.header_ == nil {
  6723  		c.header_ = make(http.Header)
  6724  	}
  6725  	return c.header_
  6726  }
  6727  
  6728  func (c *VideosAnnotateCall) doRequest(alt string) (*http.Response, error) {
  6729  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6730  	var body io.Reader = nil
  6731  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvideointelligencev1p2beta1Annotatevideorequest)
  6732  	if err != nil {
  6733  		return nil, err
  6734  	}
  6735  	c.urlParams_.Set("alt", alt)
  6736  	c.urlParams_.Set("prettyPrint", "false")
  6737  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/videos:annotate")
  6738  	urls += "?" + c.urlParams_.Encode()
  6739  	req, err := http.NewRequest("POST", urls, body)
  6740  	if err != nil {
  6741  		return nil, err
  6742  	}
  6743  	req.Header = reqHeaders
  6744  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6745  }
  6746  
  6747  // Do executes the "videointelligence.videos.annotate" call.
  6748  // Any non-2xx status code is an error. Response headers are in either
  6749  // *GoogleLongrunningOperation.ServerResponse.Header or (if a response was
  6750  // returned at all) in error.(*googleapi.Error).Header. Use
  6751  // googleapi.IsNotModified to check whether the returned error was because
  6752  // http.StatusNotModified was returned.
  6753  func (c *VideosAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
  6754  	gensupport.SetOptions(c.urlParams_, opts...)
  6755  	res, err := c.doRequest("json")
  6756  	if res != nil && res.StatusCode == http.StatusNotModified {
  6757  		if res.Body != nil {
  6758  			res.Body.Close()
  6759  		}
  6760  		return nil, gensupport.WrapError(&googleapi.Error{
  6761  			Code:   res.StatusCode,
  6762  			Header: res.Header,
  6763  		})
  6764  	}
  6765  	if err != nil {
  6766  		return nil, err
  6767  	}
  6768  	defer googleapi.CloseBody(res)
  6769  	if err := googleapi.CheckResponse(res); err != nil {
  6770  		return nil, gensupport.WrapError(err)
  6771  	}
  6772  	ret := &GoogleLongrunningOperation{
  6773  		ServerResponse: googleapi.ServerResponse{
  6774  			Header:         res.Header,
  6775  			HTTPStatusCode: res.StatusCode,
  6776  		},
  6777  	}
  6778  	target := &ret
  6779  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6780  		return nil, err
  6781  	}
  6782  	return ret, nil
  6783  }
  6784  

View as plain text