...

Source file src/google.golang.org/api/vision/v1p1beta1/vision-gen.go

Documentation: google.golang.org/api/vision/v1p1beta1

     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 vision provides access to the Cloud Vision API.
     8  //
     9  // This package is DEPRECATED. Use package cloud.google.com/go/vision/apiv1 instead.
    10  //
    11  // For product documentation, see: https://cloud.google.com/vision/
    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/vision/v1p1beta1"
    29  //	...
    30  //	ctx := context.Background()
    31  //	visionService, err := vision.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  // By default, all available scopes (see "Constants") are used to authenticate.
    40  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    41  //
    42  //	visionService, err := vision.NewService(ctx, option.WithScopes(vision.CloudVisionScope))
    43  //
    44  // To use an API key for authentication (note: some APIs do not support API
    45  // keys), use [google.golang.org/api/option.WithAPIKey]:
    46  //
    47  //	visionService, err := vision.NewService(ctx, option.WithAPIKey("AIza..."))
    48  //
    49  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    50  // flow, use [google.golang.org/api/option.WithTokenSource]:
    51  //
    52  //	config := &oauth2.Config{...}
    53  //	// ...
    54  //	token, err := config.Exchange(ctx, ...)
    55  //	visionService, err := vision.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    56  //
    57  // See [google.golang.org/api/option.ClientOption] for details on options.
    58  package vision // import "google.golang.org/api/vision/v1p1beta1"
    59  
    60  import (
    61  	"bytes"
    62  	"context"
    63  	"encoding/json"
    64  	"errors"
    65  	"fmt"
    66  	"io"
    67  	"net/http"
    68  	"net/url"
    69  	"strconv"
    70  	"strings"
    71  
    72  	googleapi "google.golang.org/api/googleapi"
    73  	internal "google.golang.org/api/internal"
    74  	gensupport "google.golang.org/api/internal/gensupport"
    75  	option "google.golang.org/api/option"
    76  	internaloption "google.golang.org/api/option/internaloption"
    77  	htransport "google.golang.org/api/transport/http"
    78  )
    79  
    80  // Always reference these packages, just in case the auto-generated code
    81  // below doesn't.
    82  var _ = bytes.NewBuffer
    83  var _ = strconv.Itoa
    84  var _ = fmt.Sprintf
    85  var _ = json.NewDecoder
    86  var _ = io.Copy
    87  var _ = url.Parse
    88  var _ = gensupport.MarshalJSON
    89  var _ = googleapi.Version
    90  var _ = errors.New
    91  var _ = strings.Replace
    92  var _ = context.Canceled
    93  var _ = internaloption.WithDefaultEndpoint
    94  var _ = internal.Version
    95  
    96  const apiId = "vision:v1p1beta1"
    97  const apiName = "vision"
    98  const apiVersion = "v1p1beta1"
    99  const basePath = "https://vision.googleapis.com/"
   100  const basePathTemplate = "https://vision.UNIVERSE_DOMAIN/"
   101  const mtlsBasePath = "https://vision.mtls.googleapis.com/"
   102  
   103  // OAuth2 scopes used by this API.
   104  const (
   105  	// See, edit, configure, and delete your Google Cloud data and see the email
   106  	// address for your Google Account.
   107  	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
   108  
   109  	// Apply machine learning models to understand and label images
   110  	CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision"
   111  )
   112  
   113  // NewService creates a new Service.
   114  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   115  	scopesOption := internaloption.WithDefaultScopes(
   116  		"https://www.googleapis.com/auth/cloud-platform",
   117  		"https://www.googleapis.com/auth/cloud-vision",
   118  	)
   119  	// NOTE: prepend, so we don't override user-specified scopes.
   120  	opts = append([]option.ClientOption{scopesOption}, opts...)
   121  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   122  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   123  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   124  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   125  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   126  	if err != nil {
   127  		return nil, err
   128  	}
   129  	s, err := New(client)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	if endpoint != "" {
   134  		s.BasePath = endpoint
   135  	}
   136  	return s, nil
   137  }
   138  
   139  // New creates a new Service. It uses the provided http.Client for requests.
   140  //
   141  // Deprecated: please use NewService instead.
   142  // To provide a custom HTTP client, use option.WithHTTPClient.
   143  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   144  func New(client *http.Client) (*Service, error) {
   145  	if client == nil {
   146  		return nil, errors.New("client is nil")
   147  	}
   148  	s := &Service{client: client, BasePath: basePath}
   149  	s.Files = NewFilesService(s)
   150  	s.Images = NewImagesService(s)
   151  	s.Projects = NewProjectsService(s)
   152  	return s, nil
   153  }
   154  
   155  type Service struct {
   156  	client    *http.Client
   157  	BasePath  string // API endpoint base URL
   158  	UserAgent string // optional additional User-Agent fragment
   159  
   160  	Files *FilesService
   161  
   162  	Images *ImagesService
   163  
   164  	Projects *ProjectsService
   165  }
   166  
   167  func (s *Service) userAgent() string {
   168  	if s.UserAgent == "" {
   169  		return googleapi.UserAgent
   170  	}
   171  	return googleapi.UserAgent + " " + s.UserAgent
   172  }
   173  
   174  func NewFilesService(s *Service) *FilesService {
   175  	rs := &FilesService{s: s}
   176  	return rs
   177  }
   178  
   179  type FilesService struct {
   180  	s *Service
   181  }
   182  
   183  func NewImagesService(s *Service) *ImagesService {
   184  	rs := &ImagesService{s: s}
   185  	return rs
   186  }
   187  
   188  type ImagesService struct {
   189  	s *Service
   190  }
   191  
   192  func NewProjectsService(s *Service) *ProjectsService {
   193  	rs := &ProjectsService{s: s}
   194  	rs.Files = NewProjectsFilesService(s)
   195  	rs.Images = NewProjectsImagesService(s)
   196  	rs.Locations = NewProjectsLocationsService(s)
   197  	return rs
   198  }
   199  
   200  type ProjectsService struct {
   201  	s *Service
   202  
   203  	Files *ProjectsFilesService
   204  
   205  	Images *ProjectsImagesService
   206  
   207  	Locations *ProjectsLocationsService
   208  }
   209  
   210  func NewProjectsFilesService(s *Service) *ProjectsFilesService {
   211  	rs := &ProjectsFilesService{s: s}
   212  	return rs
   213  }
   214  
   215  type ProjectsFilesService struct {
   216  	s *Service
   217  }
   218  
   219  func NewProjectsImagesService(s *Service) *ProjectsImagesService {
   220  	rs := &ProjectsImagesService{s: s}
   221  	return rs
   222  }
   223  
   224  type ProjectsImagesService struct {
   225  	s *Service
   226  }
   227  
   228  func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
   229  	rs := &ProjectsLocationsService{s: s}
   230  	rs.Files = NewProjectsLocationsFilesService(s)
   231  	rs.Images = NewProjectsLocationsImagesService(s)
   232  	return rs
   233  }
   234  
   235  type ProjectsLocationsService struct {
   236  	s *Service
   237  
   238  	Files *ProjectsLocationsFilesService
   239  
   240  	Images *ProjectsLocationsImagesService
   241  }
   242  
   243  func NewProjectsLocationsFilesService(s *Service) *ProjectsLocationsFilesService {
   244  	rs := &ProjectsLocationsFilesService{s: s}
   245  	return rs
   246  }
   247  
   248  type ProjectsLocationsFilesService struct {
   249  	s *Service
   250  }
   251  
   252  func NewProjectsLocationsImagesService(s *Service) *ProjectsLocationsImagesService {
   253  	rs := &ProjectsLocationsImagesService{s: s}
   254  	return rs
   255  }
   256  
   257  type ProjectsLocationsImagesService struct {
   258  	s *Service
   259  }
   260  
   261  // AnnotateFileResponse: Response to a single file annotation request. A file
   262  // may contain one or more images, which individually have their own responses.
   263  type AnnotateFileResponse struct {
   264  	// Error: If set, represents the error message for the failed request. The
   265  	// `responses` field will not be set in this case.
   266  	Error *Status `json:"error,omitempty"`
   267  	// InputConfig: Information about the file for which this response is
   268  	// generated.
   269  	InputConfig *InputConfig `json:"inputConfig,omitempty"`
   270  	// Responses: Individual responses to images found within the file. This field
   271  	// will be empty if the `error` field is set.
   272  	Responses []*AnnotateImageResponse `json:"responses,omitempty"`
   273  	// TotalPages: This field gives the total number of pages in the file.
   274  	TotalPages int64 `json:"totalPages,omitempty"`
   275  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
   276  	// include in API requests. By default, fields with empty or default values are
   277  	// omitted from API requests. See
   278  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   279  	// details.
   280  	ForceSendFields []string `json:"-"`
   281  	// NullFields is a list of field names (e.g. "Error") to include in API
   282  	// requests with the JSON null value. By default, fields with empty values are
   283  	// omitted from API requests. See
   284  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   285  	NullFields []string `json:"-"`
   286  }
   287  
   288  func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) {
   289  	type NoMethod AnnotateFileResponse
   290  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   291  }
   292  
   293  // AnnotateImageResponse: Response to an image annotation request.
   294  type AnnotateImageResponse struct {
   295  	// Context: If present, contextual information is needed to understand where
   296  	// this image comes from.
   297  	Context *ImageAnnotationContext `json:"context,omitempty"`
   298  	// CropHintsAnnotation: If present, crop hints have completed successfully.
   299  	CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"`
   300  	// Error: If set, represents the error message for the operation. Note that
   301  	// filled-in image annotations are guaranteed to be correct, even when `error`
   302  	// is set.
   303  	Error *Status `json:"error,omitempty"`
   304  	// FaceAnnotations: If present, face detection has completed successfully.
   305  	FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"`
   306  	// FullTextAnnotation: If present, text (OCR) detection or document (OCR) text
   307  	// detection has completed successfully. This annotation provides the
   308  	// structural hierarchy for the OCR detected text.
   309  	FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"`
   310  	// ImagePropertiesAnnotation: If present, image properties were extracted
   311  	// successfully.
   312  	ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"`
   313  	// LabelAnnotations: If present, label detection has completed successfully.
   314  	LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"`
   315  	// LandmarkAnnotations: If present, landmark detection has completed
   316  	// successfully.
   317  	LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"`
   318  	// LocalizedObjectAnnotations: If present, localized object detection has
   319  	// completed successfully. This will be sorted descending by confidence score.
   320  	LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"`
   321  	// LogoAnnotations: If present, logo detection has completed successfully.
   322  	LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"`
   323  	// ProductSearchResults: If present, product search has completed successfully.
   324  	ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"`
   325  	// SafeSearchAnnotation: If present, safe-search annotation has completed
   326  	// successfully.
   327  	SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"`
   328  	// TextAnnotations: If present, text (OCR) detection has completed
   329  	// successfully.
   330  	TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"`
   331  	// WebDetection: If present, web detection has completed successfully.
   332  	WebDetection *WebDetection `json:"webDetection,omitempty"`
   333  	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
   334  	// include in API requests. By default, fields with empty or default values are
   335  	// omitted from API requests. See
   336  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   337  	// details.
   338  	ForceSendFields []string `json:"-"`
   339  	// NullFields is a list of field names (e.g. "Context") to include in API
   340  	// requests with the JSON null value. By default, fields with empty values are
   341  	// omitted from API requests. See
   342  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   343  	NullFields []string `json:"-"`
   344  }
   345  
   346  func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) {
   347  	type NoMethod AnnotateImageResponse
   348  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   349  }
   350  
   351  // AsyncAnnotateFileResponse: The response for a single offline file annotation
   352  // request.
   353  type AsyncAnnotateFileResponse struct {
   354  	// OutputConfig: The output location and metadata from
   355  	// AsyncAnnotateFileRequest.
   356  	OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
   357  	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
   358  	// unconditionally include in API requests. By default, fields with empty or
   359  	// default values are omitted from API requests. See
   360  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   361  	// details.
   362  	ForceSendFields []string `json:"-"`
   363  	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
   364  	// requests with the JSON null value. By default, fields with empty values are
   365  	// omitted from API requests. See
   366  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   367  	NullFields []string `json:"-"`
   368  }
   369  
   370  func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) {
   371  	type NoMethod AsyncAnnotateFileResponse
   372  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   373  }
   374  
   375  // AsyncBatchAnnotateFilesResponse: Response to an async batch file annotation
   376  // request.
   377  type AsyncBatchAnnotateFilesResponse struct {
   378  	// Responses: The list of file annotation responses, one for each request in
   379  	// AsyncBatchAnnotateFilesRequest.
   380  	Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"`
   381  	// ForceSendFields is a list of field names (e.g. "Responses") to
   382  	// unconditionally include in API requests. By default, fields with empty or
   383  	// default values are omitted from API requests. See
   384  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   385  	// details.
   386  	ForceSendFields []string `json:"-"`
   387  	// NullFields is a list of field names (e.g. "Responses") to include in API
   388  	// requests with the JSON null value. By default, fields with empty values are
   389  	// omitted from API requests. See
   390  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   391  	NullFields []string `json:"-"`
   392  }
   393  
   394  func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
   395  	type NoMethod AsyncBatchAnnotateFilesResponse
   396  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   397  }
   398  
   399  // AsyncBatchAnnotateImagesResponse: Response to an async batch image
   400  // annotation request.
   401  type AsyncBatchAnnotateImagesResponse struct {
   402  	// OutputConfig: The output location and metadata from
   403  	// AsyncBatchAnnotateImagesRequest.
   404  	OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
   405  	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
   406  	// unconditionally include in API requests. By default, fields with empty or
   407  	// default values are omitted from API requests. See
   408  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   409  	// details.
   410  	ForceSendFields []string `json:"-"`
   411  	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
   412  	// requests with the JSON null value. By default, fields with empty values are
   413  	// omitted from API requests. See
   414  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   415  	NullFields []string `json:"-"`
   416  }
   417  
   418  func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) {
   419  	type NoMethod AsyncBatchAnnotateImagesResponse
   420  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   421  }
   422  
   423  // BatchAnnotateFilesResponse: A list of file annotation responses.
   424  type BatchAnnotateFilesResponse struct {
   425  	// Responses: The list of file annotation responses, each response
   426  	// corresponding to each AnnotateFileRequest in BatchAnnotateFilesRequest.
   427  	Responses []*AnnotateFileResponse `json:"responses,omitempty"`
   428  	// ForceSendFields is a list of field names (e.g. "Responses") to
   429  	// unconditionally include in API requests. By default, fields with empty or
   430  	// default values are omitted from API requests. See
   431  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   432  	// details.
   433  	ForceSendFields []string `json:"-"`
   434  	// NullFields is a list of field names (e.g. "Responses") to include in API
   435  	// requests with the JSON null value. By default, fields with empty values are
   436  	// omitted from API requests. See
   437  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   438  	NullFields []string `json:"-"`
   439  }
   440  
   441  func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
   442  	type NoMethod BatchAnnotateFilesResponse
   443  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   444  }
   445  
   446  // BatchOperationMetadata: Metadata for the batch operations such as the
   447  // current state. This is included in the `metadata` field of the `Operation`
   448  // returned by the `GetOperation` call of the `google::longrunning::Operations`
   449  // service.
   450  type BatchOperationMetadata struct {
   451  	// EndTime: The time when the batch request is finished and
   452  	// google.longrunning.Operation.done is set to true.
   453  	EndTime string `json:"endTime,omitempty"`
   454  	// State: The current state of the batch operation.
   455  	//
   456  	// Possible values:
   457  	//   "STATE_UNSPECIFIED" - Invalid.
   458  	//   "PROCESSING" - Request is actively being processed.
   459  	//   "SUCCESSFUL" - The request is done and at least one item has been
   460  	// successfully processed.
   461  	//   "FAILED" - The request is done and no item has been successfully
   462  	// processed.
   463  	//   "CANCELLED" - The request is done after the
   464  	// longrunning.Operations.CancelOperation has been called by the user. Any
   465  	// records that were processed before the cancel command are output as
   466  	// specified in the request.
   467  	State string `json:"state,omitempty"`
   468  	// SubmitTime: The time when the batch request was submitted to the server.
   469  	SubmitTime string `json:"submitTime,omitempty"`
   470  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
   471  	// include in API requests. By default, fields with empty or default values are
   472  	// omitted from API requests. See
   473  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   474  	// details.
   475  	ForceSendFields []string `json:"-"`
   476  	// NullFields is a list of field names (e.g. "EndTime") to include in API
   477  	// requests with the JSON null value. By default, fields with empty values are
   478  	// omitted from API requests. See
   479  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   480  	NullFields []string `json:"-"`
   481  }
   482  
   483  func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) {
   484  	type NoMethod BatchOperationMetadata
   485  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   486  }
   487  
   488  // Block: Logical element on the page.
   489  type Block struct {
   490  	// BlockType: Detected block type (text, image etc) for this block.
   491  	//
   492  	// Possible values:
   493  	//   "UNKNOWN" - Unknown block type.
   494  	//   "TEXT" - Regular text block.
   495  	//   "TABLE" - Table block.
   496  	//   "PICTURE" - Image block.
   497  	//   "RULER" - Horizontal/vertical line box.
   498  	//   "BARCODE" - Barcode block.
   499  	BlockType string `json:"blockType,omitempty"`
   500  	// BoundingBox: The bounding box for the block. The vertices are in the order
   501  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
   502  	// bounding box is detected the rotation is represented as around the top-left
   503  	// corner as defined when the text is read in the 'natural' orientation. For
   504  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
   505  	// * when it's rotated 180 degrees around the top-left corner it becomes:
   506  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
   507  	BoundingBox *BoundingPoly `json:"boundingBox,omitempty"`
   508  	// Confidence: Confidence of the OCR results on the block. Range [0, 1].
   509  	Confidence float64 `json:"confidence,omitempty"`
   510  	// Paragraphs: List of paragraphs in this block (if this blocks is of type
   511  	// text).
   512  	Paragraphs []*Paragraph `json:"paragraphs,omitempty"`
   513  	// Property: Additional information detected for the block.
   514  	Property *TextProperty `json:"property,omitempty"`
   515  	// ForceSendFields is a list of field names (e.g. "BlockType") to
   516  	// unconditionally include in API requests. By default, fields with empty or
   517  	// default values are omitted from API requests. See
   518  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   519  	// details.
   520  	ForceSendFields []string `json:"-"`
   521  	// NullFields is a list of field names (e.g. "BlockType") to include in API
   522  	// requests with the JSON null value. By default, fields with empty values are
   523  	// omitted from API requests. See
   524  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   525  	NullFields []string `json:"-"`
   526  }
   527  
   528  func (s *Block) MarshalJSON() ([]byte, error) {
   529  	type NoMethod Block
   530  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   531  }
   532  
   533  func (s *Block) UnmarshalJSON(data []byte) error {
   534  	type NoMethod Block
   535  	var s1 struct {
   536  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   537  		*NoMethod
   538  	}
   539  	s1.NoMethod = (*NoMethod)(s)
   540  	if err := json.Unmarshal(data, &s1); err != nil {
   541  		return err
   542  	}
   543  	s.Confidence = float64(s1.Confidence)
   544  	return nil
   545  }
   546  
   547  // BoundingPoly: A bounding polygon for the detected image annotation.
   548  type BoundingPoly struct {
   549  	// NormalizedVertices: The bounding polygon normalized vertices.
   550  	NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"`
   551  	// Vertices: The bounding polygon vertices.
   552  	Vertices []*Vertex `json:"vertices,omitempty"`
   553  	// ForceSendFields is a list of field names (e.g. "NormalizedVertices") to
   554  	// unconditionally include in API requests. By default, fields with empty or
   555  	// default values are omitted from API requests. See
   556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   557  	// details.
   558  	ForceSendFields []string `json:"-"`
   559  	// NullFields is a list of field names (e.g. "NormalizedVertices") to include
   560  	// in API requests with the JSON null value. By default, fields with empty
   561  	// values are omitted from API requests. See
   562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   563  	NullFields []string `json:"-"`
   564  }
   565  
   566  func (s *BoundingPoly) MarshalJSON() ([]byte, error) {
   567  	type NoMethod BoundingPoly
   568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   569  }
   570  
   571  // Color: Represents a color in the RGBA color space. This representation is
   572  // designed for simplicity of conversion to and from color representations in
   573  // various languages over compactness. For example, the fields of this
   574  // representation can be trivially provided to the constructor of
   575  // `java.awt.Color` in Java; it can also be trivially provided to UIColor's
   576  // `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little
   577  // work, it can be easily formatted into a CSS `rgba()` string in JavaScript.
   578  // This reference page doesn't have information about the absolute color space
   579  // that should be used to interpret the RGB value—for example, sRGB, Adobe
   580  // RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB
   581  // color space. When color equality needs to be decided, implementations,
   582  // unless documented otherwise, treat two colors as equal if all their red,
   583  // green, blue, and alpha values each differ by at most `1e-5`. Example (Java):
   584  // import com.google.type.Color; // ... public static java.awt.Color
   585  // fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ?
   586  // protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color(
   587  // protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); }
   588  // public static Color toProto(java.awt.Color color) { float red = (float)
   589  // color.getRed(); float green = (float) color.getGreen(); float blue = (float)
   590  // color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder =
   591  // Color .newBuilder() .setRed(red / denominator) .setGreen(green /
   592  // denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if
   593  // (alpha != 255) { result.setAlpha( FloatValue .newBuilder()
   594  // .setValue(((float) alpha) / denominator) .build()); } return
   595  // resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static
   596  // UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float
   597  // green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
   598  // alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
   599  // nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red
   600  // green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color)
   601  // { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green
   602  // blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc]
   603  // init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue];
   604  // if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; }
   605  // [result autorelease]; return result; } // ... Example (JavaScript): // ...
   606  // var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red ||
   607  // 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue
   608  // || 0.0; var red = Math.floor(redFrac * 255); var green =
   609  // Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if
   610  // (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var
   611  // alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green,
   612  // blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(”);
   613  // }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new
   614  // Number((red << 16) | (green << 8) | blue); var hexString =
   615  // rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
   616  // resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) {
   617  // resultBuilder.push('0'); } resultBuilder.push(hexString); return
   618  // resultBuilder.join(”); }; // ...
   619  type Color struct {
   620  	// Alpha: The fraction of this color that should be applied to the pixel. That
   621  	// is, the final pixel color is defined by the equation: `pixel color = alpha *
   622  	// (this color) + (1.0 - alpha) * (background color)` This means that a value
   623  	// of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a
   624  	// completely transparent color. This uses a wrapper message rather than a
   625  	// simple float scalar so that it is possible to distinguish between a default
   626  	// value and the value being unset. If omitted, this color object is rendered
   627  	// as a solid color (as if the alpha value had been explicitly given a value of
   628  	// 1.0).
   629  	Alpha float64 `json:"alpha,omitempty"`
   630  	// Blue: The amount of blue in the color as a value in the interval [0, 1].
   631  	Blue float64 `json:"blue,omitempty"`
   632  	// Green: The amount of green in the color as a value in the interval [0, 1].
   633  	Green float64 `json:"green,omitempty"`
   634  	// Red: The amount of red in the color as a value in the interval [0, 1].
   635  	Red float64 `json:"red,omitempty"`
   636  	// ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally
   637  	// include in API requests. By default, fields with empty or default values are
   638  	// omitted from API requests. See
   639  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   640  	// details.
   641  	ForceSendFields []string `json:"-"`
   642  	// NullFields is a list of field names (e.g. "Alpha") to include in API
   643  	// requests with the JSON null value. By default, fields with empty values are
   644  	// omitted from API requests. See
   645  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   646  	NullFields []string `json:"-"`
   647  }
   648  
   649  func (s *Color) MarshalJSON() ([]byte, error) {
   650  	type NoMethod Color
   651  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   652  }
   653  
   654  func (s *Color) UnmarshalJSON(data []byte) error {
   655  	type NoMethod Color
   656  	var s1 struct {
   657  		Alpha gensupport.JSONFloat64 `json:"alpha"`
   658  		Blue  gensupport.JSONFloat64 `json:"blue"`
   659  		Green gensupport.JSONFloat64 `json:"green"`
   660  		Red   gensupport.JSONFloat64 `json:"red"`
   661  		*NoMethod
   662  	}
   663  	s1.NoMethod = (*NoMethod)(s)
   664  	if err := json.Unmarshal(data, &s1); err != nil {
   665  		return err
   666  	}
   667  	s.Alpha = float64(s1.Alpha)
   668  	s.Blue = float64(s1.Blue)
   669  	s.Green = float64(s1.Green)
   670  	s.Red = float64(s1.Red)
   671  	return nil
   672  }
   673  
   674  // ColorInfo: Color information consists of RGB channels, score, and the
   675  // fraction of the image that the color occupies in the image.
   676  type ColorInfo struct {
   677  	// Color: RGB components of the color.
   678  	Color *Color `json:"color,omitempty"`
   679  	// PixelFraction: The fraction of pixels the color occupies in the image. Value
   680  	// in range [0, 1].
   681  	PixelFraction float64 `json:"pixelFraction,omitempty"`
   682  	// Score: Image-specific score for this color. Value in range [0, 1].
   683  	Score float64 `json:"score,omitempty"`
   684  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
   685  	// include in API requests. By default, fields with empty or default values are
   686  	// omitted from API requests. See
   687  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   688  	// details.
   689  	ForceSendFields []string `json:"-"`
   690  	// NullFields is a list of field names (e.g. "Color") to include in API
   691  	// requests with the JSON null value. By default, fields with empty values are
   692  	// omitted from API requests. See
   693  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   694  	NullFields []string `json:"-"`
   695  }
   696  
   697  func (s *ColorInfo) MarshalJSON() ([]byte, error) {
   698  	type NoMethod ColorInfo
   699  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   700  }
   701  
   702  func (s *ColorInfo) UnmarshalJSON(data []byte) error {
   703  	type NoMethod ColorInfo
   704  	var s1 struct {
   705  		PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"`
   706  		Score         gensupport.JSONFloat64 `json:"score"`
   707  		*NoMethod
   708  	}
   709  	s1.NoMethod = (*NoMethod)(s)
   710  	if err := json.Unmarshal(data, &s1); err != nil {
   711  		return err
   712  	}
   713  	s.PixelFraction = float64(s1.PixelFraction)
   714  	s.Score = float64(s1.Score)
   715  	return nil
   716  }
   717  
   718  // CropHint: Single crop hint that is used to generate a new crop when serving
   719  // an image.
   720  type CropHint struct {
   721  	// BoundingPoly: The bounding polygon for the crop region. The coordinates of
   722  	// the bounding box are in the original image's scale.
   723  	BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"`
   724  	// Confidence: Confidence of this being a salient region. Range [0, 1].
   725  	Confidence float64 `json:"confidence,omitempty"`
   726  	// ImportanceFraction: Fraction of importance of this salient region with
   727  	// respect to the original image.
   728  	ImportanceFraction float64 `json:"importanceFraction,omitempty"`
   729  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
   730  	// unconditionally include in API requests. By default, fields with empty or
   731  	// default values are omitted from API requests. See
   732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   733  	// details.
   734  	ForceSendFields []string `json:"-"`
   735  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
   736  	// requests with the JSON null value. By default, fields with empty values are
   737  	// omitted from API requests. See
   738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   739  	NullFields []string `json:"-"`
   740  }
   741  
   742  func (s *CropHint) MarshalJSON() ([]byte, error) {
   743  	type NoMethod CropHint
   744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   745  }
   746  
   747  func (s *CropHint) UnmarshalJSON(data []byte) error {
   748  	type NoMethod CropHint
   749  	var s1 struct {
   750  		Confidence         gensupport.JSONFloat64 `json:"confidence"`
   751  		ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"`
   752  		*NoMethod
   753  	}
   754  	s1.NoMethod = (*NoMethod)(s)
   755  	if err := json.Unmarshal(data, &s1); err != nil {
   756  		return err
   757  	}
   758  	s.Confidence = float64(s1.Confidence)
   759  	s.ImportanceFraction = float64(s1.ImportanceFraction)
   760  	return nil
   761  }
   762  
   763  // CropHintsAnnotation: Set of crop hints that are used to generate new crops
   764  // when serving images.
   765  type CropHintsAnnotation struct {
   766  	// CropHints: Crop hint results.
   767  	CropHints []*CropHint `json:"cropHints,omitempty"`
   768  	// ForceSendFields is a list of field names (e.g. "CropHints") to
   769  	// unconditionally include in API requests. By default, fields with empty or
   770  	// default values are omitted from API requests. See
   771  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   772  	// details.
   773  	ForceSendFields []string `json:"-"`
   774  	// NullFields is a list of field names (e.g. "CropHints") to include in API
   775  	// requests with the JSON null value. By default, fields with empty values are
   776  	// omitted from API requests. See
   777  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   778  	NullFields []string `json:"-"`
   779  }
   780  
   781  func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) {
   782  	type NoMethod CropHintsAnnotation
   783  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   784  }
   785  
   786  // DetectedBreak: Detected start or end of a structural component.
   787  type DetectedBreak struct {
   788  	// IsPrefix: True if break prepends the element.
   789  	IsPrefix bool `json:"isPrefix,omitempty"`
   790  	// Type: Detected break type.
   791  	//
   792  	// Possible values:
   793  	//   "UNKNOWN" - Unknown break label type.
   794  	//   "SPACE" - Regular space.
   795  	//   "SURE_SPACE" - Sure space (very wide).
   796  	//   "EOL_SURE_SPACE" - Line-wrapping break.
   797  	//   "HYPHEN" - End-line hyphen that is not present in text; does not co-occur
   798  	// with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`.
   799  	//   "LINE_BREAK" - Line break that ends a paragraph.
   800  	Type string `json:"type,omitempty"`
   801  	// ForceSendFields is a list of field names (e.g. "IsPrefix") to
   802  	// unconditionally include in API requests. By default, fields with empty or
   803  	// default values are omitted from API requests. See
   804  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   805  	// details.
   806  	ForceSendFields []string `json:"-"`
   807  	// NullFields is a list of field names (e.g. "IsPrefix") to include in API
   808  	// requests with the JSON null value. By default, fields with empty values are
   809  	// omitted from API requests. See
   810  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   811  	NullFields []string `json:"-"`
   812  }
   813  
   814  func (s *DetectedBreak) MarshalJSON() ([]byte, error) {
   815  	type NoMethod DetectedBreak
   816  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   817  }
   818  
   819  // DetectedLanguage: Detected language for a structural component.
   820  type DetectedLanguage struct {
   821  	// Confidence: Confidence of detected language. Range [0, 1].
   822  	Confidence float64 `json:"confidence,omitempty"`
   823  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
   824  	// more information, see
   825  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
   826  	LanguageCode string `json:"languageCode,omitempty"`
   827  	// ForceSendFields is a list of field names (e.g. "Confidence") to
   828  	// unconditionally include in API requests. By default, fields with empty or
   829  	// default values are omitted from API requests. See
   830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   831  	// details.
   832  	ForceSendFields []string `json:"-"`
   833  	// NullFields is a list of field names (e.g. "Confidence") to include in API
   834  	// requests with the JSON null value. By default, fields with empty values are
   835  	// omitted from API requests. See
   836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   837  	NullFields []string `json:"-"`
   838  }
   839  
   840  func (s *DetectedLanguage) MarshalJSON() ([]byte, error) {
   841  	type NoMethod DetectedLanguage
   842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   843  }
   844  
   845  func (s *DetectedLanguage) UnmarshalJSON(data []byte) error {
   846  	type NoMethod DetectedLanguage
   847  	var s1 struct {
   848  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   849  		*NoMethod
   850  	}
   851  	s1.NoMethod = (*NoMethod)(s)
   852  	if err := json.Unmarshal(data, &s1); err != nil {
   853  		return err
   854  	}
   855  	s.Confidence = float64(s1.Confidence)
   856  	return nil
   857  }
   858  
   859  // DominantColorsAnnotation: Set of dominant colors and their corresponding
   860  // scores.
   861  type DominantColorsAnnotation struct {
   862  	// Colors: RGB color values with their score and pixel fraction.
   863  	Colors []*ColorInfo `json:"colors,omitempty"`
   864  	// ForceSendFields is a list of field names (e.g. "Colors") to unconditionally
   865  	// include in API requests. By default, fields with empty or default values are
   866  	// omitted from API requests. See
   867  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   868  	// details.
   869  	ForceSendFields []string `json:"-"`
   870  	// NullFields is a list of field names (e.g. "Colors") to include in API
   871  	// requests with the JSON null value. By default, fields with empty values are
   872  	// omitted from API requests. See
   873  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   874  	NullFields []string `json:"-"`
   875  }
   876  
   877  func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) {
   878  	type NoMethod DominantColorsAnnotation
   879  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   880  }
   881  
   882  // EntityAnnotation: Set of detected entity features.
   883  type EntityAnnotation struct {
   884  	// BoundingPoly: Image region to which this entity belongs. Not produced for
   885  	// `LABEL_DETECTION` features.
   886  	BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"`
   887  	// Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity
   888  	// detection in an image. For example, for an image in which the "Eiffel Tower"
   889  	// entity is detected, this field represents the confidence that there is a
   890  	// tower in the query image. Range [0, 1].
   891  	Confidence float64 `json:"confidence,omitempty"`
   892  	// Description: Entity textual description, expressed in its `locale` language.
   893  	Description string `json:"description,omitempty"`
   894  	// Locale: The language code for the locale in which the entity textual
   895  	// `description` is expressed.
   896  	Locale string `json:"locale,omitempty"`
   897  	// Locations: The location information for the detected entity. Multiple
   898  	// `LocationInfo` elements can be present because one location may indicate the
   899  	// location of the scene in the image, and another location may indicate the
   900  	// location of the place where the image was taken. Location information is
   901  	// usually present for landmarks.
   902  	Locations []*LocationInfo `json:"locations,omitempty"`
   903  	// Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph
   904  	// Search API (https://developers.google.com/knowledge-graph/).
   905  	Mid string `json:"mid,omitempty"`
   906  	// Properties: Some entities may have optional user-supplied `Property`
   907  	// (name/value) fields, such a score or string that qualifies the entity.
   908  	Properties []*Property `json:"properties,omitempty"`
   909  	// Score: Overall score of the result. Range [0, 1].
   910  	Score float64 `json:"score,omitempty"`
   911  	// Topicality: The relevancy of the ICA (Image Content Annotation) label to the
   912  	// image. For example, the relevancy of "tower" is likely higher to an image
   913  	// containing the detected "Eiffel Tower" than to an image containing a
   914  	// detected distant towering building, even though the confidence that there is
   915  	// a tower in each image may be the same. Range [0, 1].
   916  	Topicality float64 `json:"topicality,omitempty"`
   917  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
   918  	// unconditionally include in API requests. By default, fields with empty or
   919  	// default values are omitted from API requests. See
   920  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   921  	// details.
   922  	ForceSendFields []string `json:"-"`
   923  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
   924  	// requests with the JSON null value. By default, fields with empty values are
   925  	// omitted from API requests. See
   926  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   927  	NullFields []string `json:"-"`
   928  }
   929  
   930  func (s *EntityAnnotation) MarshalJSON() ([]byte, error) {
   931  	type NoMethod EntityAnnotation
   932  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   933  }
   934  
   935  func (s *EntityAnnotation) UnmarshalJSON(data []byte) error {
   936  	type NoMethod EntityAnnotation
   937  	var s1 struct {
   938  		Confidence gensupport.JSONFloat64 `json:"confidence"`
   939  		Score      gensupport.JSONFloat64 `json:"score"`
   940  		Topicality gensupport.JSONFloat64 `json:"topicality"`
   941  		*NoMethod
   942  	}
   943  	s1.NoMethod = (*NoMethod)(s)
   944  	if err := json.Unmarshal(data, &s1); err != nil {
   945  		return err
   946  	}
   947  	s.Confidence = float64(s1.Confidence)
   948  	s.Score = float64(s1.Score)
   949  	s.Topicality = float64(s1.Topicality)
   950  	return nil
   951  }
   952  
   953  // FaceAnnotation: A face annotation object contains the results of face
   954  // detection.
   955  type FaceAnnotation struct {
   956  	// AngerLikelihood: Anger likelihood.
   957  	//
   958  	// Possible values:
   959  	//   "UNKNOWN" - Unknown likelihood.
   960  	//   "VERY_UNLIKELY" - It is very unlikely.
   961  	//   "UNLIKELY" - It is unlikely.
   962  	//   "POSSIBLE" - It is possible.
   963  	//   "LIKELY" - It is likely.
   964  	//   "VERY_LIKELY" - It is very likely.
   965  	AngerLikelihood string `json:"angerLikelihood,omitempty"`
   966  	// BlurredLikelihood: Blurred likelihood.
   967  	//
   968  	// Possible values:
   969  	//   "UNKNOWN" - Unknown likelihood.
   970  	//   "VERY_UNLIKELY" - It is very unlikely.
   971  	//   "UNLIKELY" - It is unlikely.
   972  	//   "POSSIBLE" - It is possible.
   973  	//   "LIKELY" - It is likely.
   974  	//   "VERY_LIKELY" - It is very likely.
   975  	BlurredLikelihood string `json:"blurredLikelihood,omitempty"`
   976  	// BoundingPoly: The bounding polygon around the face. The coordinates of the
   977  	// bounding box are in the original image's scale. The bounding box is computed
   978  	// to "frame" the face in accordance with human expectations. It is based on
   979  	// the landmarker results. Note that one or more x and/or y coordinates may not
   980  	// be generated in the `BoundingPoly` (the polygon will be unbounded) if only a
   981  	// partial face appears in the image to be annotated.
   982  	BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"`
   983  	// DetectionConfidence: Detection confidence. Range [0, 1].
   984  	DetectionConfidence float64 `json:"detectionConfidence,omitempty"`
   985  	// FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the
   986  	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
   987  	// is used to eliminate the face from any image analysis that detects the
   988  	// "amount of skin" visible in an image. It is not based on the landmarker
   989  	// results, only on the initial face detection, hence the fd (face detection)
   990  	// prefix.
   991  	FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"`
   992  	// HeadwearLikelihood: Headwear likelihood.
   993  	//
   994  	// Possible values:
   995  	//   "UNKNOWN" - Unknown likelihood.
   996  	//   "VERY_UNLIKELY" - It is very unlikely.
   997  	//   "UNLIKELY" - It is unlikely.
   998  	//   "POSSIBLE" - It is possible.
   999  	//   "LIKELY" - It is likely.
  1000  	//   "VERY_LIKELY" - It is very likely.
  1001  	HeadwearLikelihood string `json:"headwearLikelihood,omitempty"`
  1002  	// JoyLikelihood: Joy likelihood.
  1003  	//
  1004  	// Possible values:
  1005  	//   "UNKNOWN" - Unknown likelihood.
  1006  	//   "VERY_UNLIKELY" - It is very unlikely.
  1007  	//   "UNLIKELY" - It is unlikely.
  1008  	//   "POSSIBLE" - It is possible.
  1009  	//   "LIKELY" - It is likely.
  1010  	//   "VERY_LIKELY" - It is very likely.
  1011  	JoyLikelihood string `json:"joyLikelihood,omitempty"`
  1012  	// LandmarkingConfidence: Face landmarking confidence. Range [0, 1].
  1013  	LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"`
  1014  	// Landmarks: Detected face landmarks.
  1015  	Landmarks []*Landmark `json:"landmarks,omitempty"`
  1016  	// PanAngle: Yaw angle, which indicates the leftward/rightward angle that the
  1017  	// face is pointing relative to the vertical plane perpendicular to the image.
  1018  	// Range [-180,180].
  1019  	PanAngle float64 `json:"panAngle,omitempty"`
  1020  	// RollAngle: Roll angle, which indicates the amount of
  1021  	// clockwise/anti-clockwise rotation of the face relative to the image vertical
  1022  	// about the axis perpendicular to the face. Range [-180,180].
  1023  	RollAngle float64 `json:"rollAngle,omitempty"`
  1024  	// SorrowLikelihood: Sorrow likelihood.
  1025  	//
  1026  	// Possible values:
  1027  	//   "UNKNOWN" - Unknown likelihood.
  1028  	//   "VERY_UNLIKELY" - It is very unlikely.
  1029  	//   "UNLIKELY" - It is unlikely.
  1030  	//   "POSSIBLE" - It is possible.
  1031  	//   "LIKELY" - It is likely.
  1032  	//   "VERY_LIKELY" - It is very likely.
  1033  	SorrowLikelihood string `json:"sorrowLikelihood,omitempty"`
  1034  	// SurpriseLikelihood: Surprise likelihood.
  1035  	//
  1036  	// Possible values:
  1037  	//   "UNKNOWN" - Unknown likelihood.
  1038  	//   "VERY_UNLIKELY" - It is very unlikely.
  1039  	//   "UNLIKELY" - It is unlikely.
  1040  	//   "POSSIBLE" - It is possible.
  1041  	//   "LIKELY" - It is likely.
  1042  	//   "VERY_LIKELY" - It is very likely.
  1043  	SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"`
  1044  	// TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the
  1045  	// face is pointing relative to the image's horizontal plane. Range [-180,180].
  1046  	TiltAngle float64 `json:"tiltAngle,omitempty"`
  1047  	// UnderExposedLikelihood: Under-exposed likelihood.
  1048  	//
  1049  	// Possible values:
  1050  	//   "UNKNOWN" - Unknown likelihood.
  1051  	//   "VERY_UNLIKELY" - It is very unlikely.
  1052  	//   "UNLIKELY" - It is unlikely.
  1053  	//   "POSSIBLE" - It is possible.
  1054  	//   "LIKELY" - It is likely.
  1055  	//   "VERY_LIKELY" - It is very likely.
  1056  	UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"`
  1057  	// ForceSendFields is a list of field names (e.g. "AngerLikelihood") to
  1058  	// unconditionally include in API requests. By default, fields with empty or
  1059  	// default values are omitted from API requests. See
  1060  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1061  	// details.
  1062  	ForceSendFields []string `json:"-"`
  1063  	// NullFields is a list of field names (e.g. "AngerLikelihood") to include in
  1064  	// API requests with the JSON null value. By default, fields with empty values
  1065  	// are omitted from API requests. See
  1066  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1067  	NullFields []string `json:"-"`
  1068  }
  1069  
  1070  func (s *FaceAnnotation) MarshalJSON() ([]byte, error) {
  1071  	type NoMethod FaceAnnotation
  1072  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1073  }
  1074  
  1075  func (s *FaceAnnotation) UnmarshalJSON(data []byte) error {
  1076  	type NoMethod FaceAnnotation
  1077  	var s1 struct {
  1078  		DetectionConfidence   gensupport.JSONFloat64 `json:"detectionConfidence"`
  1079  		LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"`
  1080  		PanAngle              gensupport.JSONFloat64 `json:"panAngle"`
  1081  		RollAngle             gensupport.JSONFloat64 `json:"rollAngle"`
  1082  		TiltAngle             gensupport.JSONFloat64 `json:"tiltAngle"`
  1083  		*NoMethod
  1084  	}
  1085  	s1.NoMethod = (*NoMethod)(s)
  1086  	if err := json.Unmarshal(data, &s1); err != nil {
  1087  		return err
  1088  	}
  1089  	s.DetectionConfidence = float64(s1.DetectionConfidence)
  1090  	s.LandmarkingConfidence = float64(s1.LandmarkingConfidence)
  1091  	s.PanAngle = float64(s1.PanAngle)
  1092  	s.RollAngle = float64(s1.RollAngle)
  1093  	s.TiltAngle = float64(s1.TiltAngle)
  1094  	return nil
  1095  }
  1096  
  1097  // GcsDestination: The Google Cloud Storage location where the output will be
  1098  // written to.
  1099  type GcsDestination struct {
  1100  	// Uri: Google Cloud Storage URI prefix where the results will be stored.
  1101  	// Results will be in JSON format and preceded by its corresponding input URI
  1102  	// prefix. This field can either represent a gcs file prefix or gcs directory.
  1103  	// In either case, the uri should be unique because in order to get all of the
  1104  	// output files, you will need to do a wildcard gcs search on the uri prefix
  1105  	// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix
  1106  	// The output files will be created in gs://bucket-name/here/ and the names of
  1107  	// the output files will begin with "filenameprefix". * Directory Prefix:
  1108  	// gs://bucket-name/some/location/ The output files will be created in
  1109  	// gs://bucket-name/some/location/ and the names of the output files could be
  1110  	// anything because there was no filename prefix specified. If multiple
  1111  	// outputs, each response is still AnnotateFileResponse, each of which contains
  1112  	// some subset of the full list of AnnotateImageResponse. Multiple outputs can
  1113  	// happen if, for example, the output JSON is too large and overflows into
  1114  	// multiple sharded files.
  1115  	Uri string `json:"uri,omitempty"`
  1116  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  1117  	// include in API requests. By default, fields with empty or default values are
  1118  	// omitted from API requests. See
  1119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1120  	// details.
  1121  	ForceSendFields []string `json:"-"`
  1122  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  1123  	// with the JSON null value. By default, fields with empty values are omitted
  1124  	// from API requests. See
  1125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1126  	NullFields []string `json:"-"`
  1127  }
  1128  
  1129  func (s *GcsDestination) MarshalJSON() ([]byte, error) {
  1130  	type NoMethod GcsDestination
  1131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1132  }
  1133  
  1134  // GcsSource: The Google Cloud Storage location where the input will be read
  1135  // from.
  1136  type GcsSource struct {
  1137  	// Uri: Google Cloud Storage URI for the input file. This must only be a Google
  1138  	// Cloud Storage object. Wildcards are not currently supported.
  1139  	Uri string `json:"uri,omitempty"`
  1140  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  1141  	// include in API requests. By default, fields with empty or default values are
  1142  	// omitted from API requests. See
  1143  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1144  	// details.
  1145  	ForceSendFields []string `json:"-"`
  1146  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  1147  	// with the JSON null value. By default, fields with empty values are omitted
  1148  	// from API requests. See
  1149  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1150  	NullFields []string `json:"-"`
  1151  }
  1152  
  1153  func (s *GcsSource) MarshalJSON() ([]byte, error) {
  1154  	type NoMethod GcsSource
  1155  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1156  }
  1157  
  1158  // GoogleCloudVisionV1p1beta1AnnotateFileRequest: A request to annotate one
  1159  // single file, e.g. a PDF, TIFF or GIF file.
  1160  type GoogleCloudVisionV1p1beta1AnnotateFileRequest struct {
  1161  	// Features: Required. Requested features.
  1162  	Features []*GoogleCloudVisionV1p1beta1Feature `json:"features,omitempty"`
  1163  	// ImageContext: Additional context that may accompany the image(s) in the
  1164  	// file.
  1165  	ImageContext *GoogleCloudVisionV1p1beta1ImageContext `json:"imageContext,omitempty"`
  1166  	// InputConfig: Required. Information about the input file.
  1167  	InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"`
  1168  	// Pages: Pages of the file to perform image annotation. Pages starts from 1,
  1169  	// we assume the first page of the file is page 1. At most 5 pages are
  1170  	// supported per request. Pages can be negative. Page 1 means the first page.
  1171  	// Page 2 means the second page. Page -1 means the last page. Page -2 means the
  1172  	// second to the last page. If the file is GIF instead of PDF or TIFF, page
  1173  	// refers to GIF frames. If this field is empty, by default the service
  1174  	// performs image annotation for the first 5 pages of the file.
  1175  	Pages []int64 `json:"pages,omitempty"`
  1176  	// ForceSendFields is a list of field names (e.g. "Features") to
  1177  	// unconditionally include in API requests. By default, fields with empty or
  1178  	// default values are omitted from API requests. See
  1179  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1180  	// details.
  1181  	ForceSendFields []string `json:"-"`
  1182  	// NullFields is a list of field names (e.g. "Features") to include in API
  1183  	// requests with the JSON null value. By default, fields with empty values are
  1184  	// omitted from API requests. See
  1185  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1186  	NullFields []string `json:"-"`
  1187  }
  1188  
  1189  func (s *GoogleCloudVisionV1p1beta1AnnotateFileRequest) MarshalJSON() ([]byte, error) {
  1190  	type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileRequest
  1191  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1192  }
  1193  
  1194  // GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single file
  1195  // annotation request. A file may contain one or more images, which
  1196  // individually have their own responses.
  1197  type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct {
  1198  	// Error: If set, represents the error message for the failed request. The
  1199  	// `responses` field will not be set in this case.
  1200  	Error *Status `json:"error,omitempty"`
  1201  	// InputConfig: Information about the file for which this response is
  1202  	// generated.
  1203  	InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"`
  1204  	// Responses: Individual responses to images found within the file. This field
  1205  	// will be empty if the `error` field is set.
  1206  	Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"`
  1207  	// TotalPages: This field gives the total number of pages in the file.
  1208  	TotalPages int64 `json:"totalPages,omitempty"`
  1209  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  1210  	// include in API requests. By default, fields with empty or default values are
  1211  	// omitted from API requests. See
  1212  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1213  	// details.
  1214  	ForceSendFields []string `json:"-"`
  1215  	// NullFields is a list of field names (e.g. "Error") to include in API
  1216  	// requests with the JSON null value. By default, fields with empty values are
  1217  	// omitted from API requests. See
  1218  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1219  	NullFields []string `json:"-"`
  1220  }
  1221  
  1222  func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) {
  1223  	type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse
  1224  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1225  }
  1226  
  1227  // GoogleCloudVisionV1p1beta1AnnotateImageRequest: Request for performing
  1228  // Google Cloud Vision API tasks over a user-provided image, with
  1229  // user-requested features, and with context information.
  1230  type GoogleCloudVisionV1p1beta1AnnotateImageRequest struct {
  1231  	// Features: Requested features.
  1232  	Features []*GoogleCloudVisionV1p1beta1Feature `json:"features,omitempty"`
  1233  	// Image: The image to be processed.
  1234  	Image *GoogleCloudVisionV1p1beta1Image `json:"image,omitempty"`
  1235  	// ImageContext: Additional context that may accompany the image.
  1236  	ImageContext *GoogleCloudVisionV1p1beta1ImageContext `json:"imageContext,omitempty"`
  1237  	// ForceSendFields is a list of field names (e.g. "Features") to
  1238  	// unconditionally include in API requests. By default, fields with empty or
  1239  	// default values are omitted from API requests. See
  1240  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1241  	// details.
  1242  	ForceSendFields []string `json:"-"`
  1243  	// NullFields is a list of field names (e.g. "Features") to include in API
  1244  	// requests with the JSON null value. By default, fields with empty values are
  1245  	// omitted from API requests. See
  1246  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1247  	NullFields []string `json:"-"`
  1248  }
  1249  
  1250  func (s *GoogleCloudVisionV1p1beta1AnnotateImageRequest) MarshalJSON() ([]byte, error) {
  1251  	type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageRequest
  1252  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1253  }
  1254  
  1255  // GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image
  1256  // annotation request.
  1257  type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct {
  1258  	// Context: If present, contextual information is needed to understand where
  1259  	// this image comes from.
  1260  	Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"`
  1261  	// CropHintsAnnotation: If present, crop hints have completed successfully.
  1262  	CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"`
  1263  	// Error: If set, represents the error message for the operation. Note that
  1264  	// filled-in image annotations are guaranteed to be correct, even when `error`
  1265  	// is set.
  1266  	Error *Status `json:"error,omitempty"`
  1267  	// FaceAnnotations: If present, face detection has completed successfully.
  1268  	FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
  1269  	// FullTextAnnotation: If present, text (OCR) detection or document (OCR) text
  1270  	// detection has completed successfully. This annotation provides the
  1271  	// structural hierarchy for the OCR detected text.
  1272  	FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"`
  1273  	// ImagePropertiesAnnotation: If present, image properties were extracted
  1274  	// successfully.
  1275  	ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"`
  1276  	// LabelAnnotations: If present, label detection has completed successfully.
  1277  	LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"`
  1278  	// LandmarkAnnotations: If present, landmark detection has completed
  1279  	// successfully.
  1280  	LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"`
  1281  	// LocalizedObjectAnnotations: If present, localized object detection has
  1282  	// completed successfully. This will be sorted descending by confidence score.
  1283  	LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"`
  1284  	// LogoAnnotations: If present, logo detection has completed successfully.
  1285  	LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"`
  1286  	// ProductSearchResults: If present, product search has completed successfully.
  1287  	ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"`
  1288  	// SafeSearchAnnotation: If present, safe-search annotation has completed
  1289  	// successfully.
  1290  	SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"`
  1291  	// TextAnnotations: If present, text (OCR) detection has completed
  1292  	// successfully.
  1293  	TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"`
  1294  	// WebDetection: If present, web detection has completed successfully.
  1295  	WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"`
  1296  	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
  1297  	// include in API requests. By default, fields with empty or default values are
  1298  	// omitted from API requests. See
  1299  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1300  	// details.
  1301  	ForceSendFields []string `json:"-"`
  1302  	// NullFields is a list of field names (e.g. "Context") to include in API
  1303  	// requests with the JSON null value. By default, fields with empty values are
  1304  	// omitted from API requests. See
  1305  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1306  	NullFields []string `json:"-"`
  1307  }
  1308  
  1309  func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) {
  1310  	type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse
  1311  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1312  }
  1313  
  1314  // GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest: An offline file
  1315  // annotation request.
  1316  type GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest struct {
  1317  	// Features: Required. Requested features.
  1318  	Features []*GoogleCloudVisionV1p1beta1Feature `json:"features,omitempty"`
  1319  	// ImageContext: Additional context that may accompany the image(s) in the
  1320  	// file.
  1321  	ImageContext *GoogleCloudVisionV1p1beta1ImageContext `json:"imageContext,omitempty"`
  1322  	// InputConfig: Required. Information about the input file.
  1323  	InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"`
  1324  	// OutputConfig: Required. The desired output location and metadata (e.g.
  1325  	// format).
  1326  	OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"`
  1327  	// ForceSendFields is a list of field names (e.g. "Features") to
  1328  	// unconditionally include in API requests. By default, fields with empty or
  1329  	// default values are omitted from API requests. See
  1330  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1331  	// details.
  1332  	ForceSendFields []string `json:"-"`
  1333  	// NullFields is a list of field names (e.g. "Features") to include in API
  1334  	// requests with the JSON null value. By default, fields with empty values are
  1335  	// omitted from API requests. See
  1336  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1337  	NullFields []string `json:"-"`
  1338  }
  1339  
  1340  func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest) MarshalJSON() ([]byte, error) {
  1341  	type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest
  1342  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1343  }
  1344  
  1345  // GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for a
  1346  // single offline file annotation request.
  1347  type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct {
  1348  	// OutputConfig: The output location and metadata from
  1349  	// AsyncAnnotateFileRequest.
  1350  	OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"`
  1351  	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
  1352  	// unconditionally include in API requests. By default, fields with empty or
  1353  	// default values are omitted from API requests. See
  1354  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1355  	// details.
  1356  	ForceSendFields []string `json:"-"`
  1357  	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
  1358  	// requests with the JSON null value. By default, fields with empty values are
  1359  	// omitted from API requests. See
  1360  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1361  	NullFields []string `json:"-"`
  1362  }
  1363  
  1364  func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) {
  1365  	type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse
  1366  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1367  }
  1368  
  1369  // GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest: Multiple async
  1370  // file annotation requests are batched into a single service call.
  1371  type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest struct {
  1372  	// Labels: Optional. The labels with user-defined metadata for the request.
  1373  	// Label keys and values can be no longer than 63 characters (Unicode
  1374  	// codepoints), can only contain lowercase letters, numeric characters,
  1375  	// underscores and dashes. International characters are allowed. Label values
  1376  	// are optional. Label keys must start with a letter.
  1377  	Labels map[string]string `json:"labels,omitempty"`
  1378  	// Parent: Optional. Target project and location to make a call. Format:
  1379  	// `projects/{project-id}/locations/{location-id}`. If no parent is specified,
  1380  	// a region will be chosen automatically. Supported location-ids: `us`: USA
  1381  	// country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The
  1382  	// European Union. Example: `projects/project-A/locations/eu`.
  1383  	Parent string `json:"parent,omitempty"`
  1384  	// Requests: Required. Individual async file annotation requests for this
  1385  	// batch.
  1386  	Requests []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest `json:"requests,omitempty"`
  1387  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  1388  	// include in API requests. By default, fields with empty or default values are
  1389  	// omitted from API requests. See
  1390  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1391  	// details.
  1392  	ForceSendFields []string `json:"-"`
  1393  	// NullFields is a list of field names (e.g. "Labels") to include in API
  1394  	// requests with the JSON null value. By default, fields with empty values are
  1395  	// omitted from API requests. See
  1396  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1397  	NullFields []string `json:"-"`
  1398  }
  1399  
  1400  func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) {
  1401  	type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest
  1402  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1403  }
  1404  
  1405  // GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response to an
  1406  // async batch file annotation request.
  1407  type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct {
  1408  	// Responses: The list of file annotation responses, one for each request in
  1409  	// AsyncBatchAnnotateFilesRequest.
  1410  	Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"`
  1411  	// ForceSendFields is a list of field names (e.g. "Responses") to
  1412  	// unconditionally include in API requests. By default, fields with empty or
  1413  	// default values are omitted from API requests. See
  1414  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1415  	// details.
  1416  	ForceSendFields []string `json:"-"`
  1417  	// NullFields is a list of field names (e.g. "Responses") to include in API
  1418  	// requests with the JSON null value. By default, fields with empty values are
  1419  	// omitted from API requests. See
  1420  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1421  	NullFields []string `json:"-"`
  1422  }
  1423  
  1424  func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
  1425  	type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse
  1426  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1427  }
  1428  
  1429  // GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest: Request for async
  1430  // image annotation for a list of images.
  1431  type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest struct {
  1432  	// Labels: Optional. The labels with user-defined metadata for the request.
  1433  	// Label keys and values can be no longer than 63 characters (Unicode
  1434  	// codepoints), can only contain lowercase letters, numeric characters,
  1435  	// underscores and dashes. International characters are allowed. Label values
  1436  	// are optional. Label keys must start with a letter.
  1437  	Labels map[string]string `json:"labels,omitempty"`
  1438  	// OutputConfig: Required. The desired output location and metadata (e.g.
  1439  	// format).
  1440  	OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"`
  1441  	// Parent: Optional. Target project and location to make a call. Format:
  1442  	// `projects/{project-id}/locations/{location-id}`. If no parent is specified,
  1443  	// a region will be chosen automatically. Supported location-ids: `us`: USA
  1444  	// country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The
  1445  	// European Union. Example: `projects/project-A/locations/eu`.
  1446  	Parent string `json:"parent,omitempty"`
  1447  	// Requests: Required. Individual image annotation requests for this batch.
  1448  	Requests []*GoogleCloudVisionV1p1beta1AnnotateImageRequest `json:"requests,omitempty"`
  1449  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  1450  	// include in API requests. By default, fields with empty or default values are
  1451  	// omitted from API requests. See
  1452  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1453  	// details.
  1454  	ForceSendFields []string `json:"-"`
  1455  	// NullFields is a list of field names (e.g. "Labels") to include in API
  1456  	// requests with the JSON null value. By default, fields with empty values are
  1457  	// omitted from API requests. See
  1458  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1459  	NullFields []string `json:"-"`
  1460  }
  1461  
  1462  func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) {
  1463  	type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest
  1464  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1465  }
  1466  
  1467  // GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest: A list of requests to
  1468  // annotate files using the BatchAnnotateFiles API.
  1469  type GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest struct {
  1470  	// Labels: Optional. The labels with user-defined metadata for the request.
  1471  	// Label keys and values can be no longer than 63 characters (Unicode
  1472  	// codepoints), can only contain lowercase letters, numeric characters,
  1473  	// underscores and dashes. International characters are allowed. Label values
  1474  	// are optional. Label keys must start with a letter.
  1475  	Labels map[string]string `json:"labels,omitempty"`
  1476  	// Parent: Optional. Target project and location to make a call. Format:
  1477  	// `projects/{project-id}/locations/{location-id}`. If no parent is specified,
  1478  	// a region will be chosen automatically. Supported location-ids: `us`: USA
  1479  	// country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The
  1480  	// European Union. Example: `projects/project-A/locations/eu`.
  1481  	Parent string `json:"parent,omitempty"`
  1482  	// Requests: Required. The list of file annotation requests. Right now we
  1483  	// support only one AnnotateFileRequest in BatchAnnotateFilesRequest.
  1484  	Requests []*GoogleCloudVisionV1p1beta1AnnotateFileRequest `json:"requests,omitempty"`
  1485  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  1486  	// include in API requests. By default, fields with empty or default values are
  1487  	// omitted from API requests. See
  1488  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1489  	// details.
  1490  	ForceSendFields []string `json:"-"`
  1491  	// NullFields is a list of field names (e.g. "Labels") to include in API
  1492  	// requests with the JSON null value. By default, fields with empty values are
  1493  	// omitted from API requests. See
  1494  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1495  	NullFields []string `json:"-"`
  1496  }
  1497  
  1498  func (s *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) {
  1499  	type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest
  1500  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1501  }
  1502  
  1503  // GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse: A list of file
  1504  // annotation responses.
  1505  type GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse struct {
  1506  	// Responses: The list of file annotation responses, each response
  1507  	// corresponding to each AnnotateFileRequest in BatchAnnotateFilesRequest.
  1508  	Responses []*GoogleCloudVisionV1p1beta1AnnotateFileResponse `json:"responses,omitempty"`
  1509  
  1510  	// ServerResponse contains the HTTP response code and headers from the server.
  1511  	googleapi.ServerResponse `json:"-"`
  1512  	// ForceSendFields is a list of field names (e.g. "Responses") to
  1513  	// unconditionally include in API requests. By default, fields with empty or
  1514  	// default values are omitted from API requests. See
  1515  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1516  	// details.
  1517  	ForceSendFields []string `json:"-"`
  1518  	// NullFields is a list of field names (e.g. "Responses") to include in API
  1519  	// requests with the JSON null value. By default, fields with empty values are
  1520  	// omitted from API requests. See
  1521  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1522  	NullFields []string `json:"-"`
  1523  }
  1524  
  1525  func (s *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
  1526  	type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
  1527  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1528  }
  1529  
  1530  // GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest: Multiple image
  1531  // annotation requests are batched into a single service call.
  1532  type GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest struct {
  1533  	// Labels: Optional. The labels with user-defined metadata for the request.
  1534  	// Label keys and values can be no longer than 63 characters (Unicode
  1535  	// codepoints), can only contain lowercase letters, numeric characters,
  1536  	// underscores and dashes. International characters are allowed. Label values
  1537  	// are optional. Label keys must start with a letter.
  1538  	Labels map[string]string `json:"labels,omitempty"`
  1539  	// Parent: Optional. Target project and location to make a call. Format:
  1540  	// `projects/{project-id}/locations/{location-id}`. If no parent is specified,
  1541  	// a region will be chosen automatically. Supported location-ids: `us`: USA
  1542  	// country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The
  1543  	// European Union. Example: `projects/project-A/locations/eu`.
  1544  	Parent string `json:"parent,omitempty"`
  1545  	// Requests: Required. Individual image annotation requests for this batch.
  1546  	Requests []*GoogleCloudVisionV1p1beta1AnnotateImageRequest `json:"requests,omitempty"`
  1547  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  1548  	// include in API requests. By default, fields with empty or default values are
  1549  	// omitted from API requests. See
  1550  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1551  	// details.
  1552  	ForceSendFields []string `json:"-"`
  1553  	// NullFields is a list of field names (e.g. "Labels") to include in API
  1554  	// requests with the JSON null value. By default, fields with empty values are
  1555  	// omitted from API requests. See
  1556  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1557  	NullFields []string `json:"-"`
  1558  }
  1559  
  1560  func (s *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) {
  1561  	type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest
  1562  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1563  }
  1564  
  1565  // GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse: Response to a batch
  1566  // image annotation request.
  1567  type GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse struct {
  1568  	// Responses: Individual responses to image annotation requests within the
  1569  	// batch.
  1570  	Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"`
  1571  
  1572  	// ServerResponse contains the HTTP response code and headers from the server.
  1573  	googleapi.ServerResponse `json:"-"`
  1574  	// ForceSendFields is a list of field names (e.g. "Responses") to
  1575  	// unconditionally include in API requests. By default, fields with empty or
  1576  	// default values are omitted from API requests. See
  1577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1578  	// details.
  1579  	ForceSendFields []string `json:"-"`
  1580  	// NullFields is a list of field names (e.g. "Responses") to include in API
  1581  	// requests with the JSON null value. By default, fields with empty values are
  1582  	// omitted from API requests. See
  1583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1584  	NullFields []string `json:"-"`
  1585  }
  1586  
  1587  func (s *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) {
  1588  	type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse
  1589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1590  }
  1591  
  1592  // GoogleCloudVisionV1p1beta1Block: Logical element on the page.
  1593  type GoogleCloudVisionV1p1beta1Block struct {
  1594  	// BlockType: Detected block type (text, image etc) for this block.
  1595  	//
  1596  	// Possible values:
  1597  	//   "UNKNOWN" - Unknown block type.
  1598  	//   "TEXT" - Regular text block.
  1599  	//   "TABLE" - Table block.
  1600  	//   "PICTURE" - Image block.
  1601  	//   "RULER" - Horizontal/vertical line box.
  1602  	//   "BARCODE" - Barcode block.
  1603  	BlockType string `json:"blockType,omitempty"`
  1604  	// BoundingBox: The bounding box for the block. The vertices are in the order
  1605  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  1606  	// bounding box is detected the rotation is represented as around the top-left
  1607  	// corner as defined when the text is read in the 'natural' orientation. For
  1608  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  1609  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  1610  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  1611  	BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"`
  1612  	// Confidence: Confidence of the OCR results on the block. Range [0, 1].
  1613  	Confidence float64 `json:"confidence,omitempty"`
  1614  	// Paragraphs: List of paragraphs in this block (if this blocks is of type
  1615  	// text).
  1616  	Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"`
  1617  	// Property: Additional information detected for the block.
  1618  	Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
  1619  	// ForceSendFields is a list of field names (e.g. "BlockType") to
  1620  	// unconditionally include in API requests. By default, fields with empty or
  1621  	// default values are omitted from API requests. See
  1622  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1623  	// details.
  1624  	ForceSendFields []string `json:"-"`
  1625  	// NullFields is a list of field names (e.g. "BlockType") to include in API
  1626  	// requests with the JSON null value. By default, fields with empty values are
  1627  	// omitted from API requests. See
  1628  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1629  	NullFields []string `json:"-"`
  1630  }
  1631  
  1632  func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) {
  1633  	type NoMethod GoogleCloudVisionV1p1beta1Block
  1634  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1635  }
  1636  
  1637  func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error {
  1638  	type NoMethod GoogleCloudVisionV1p1beta1Block
  1639  	var s1 struct {
  1640  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1641  		*NoMethod
  1642  	}
  1643  	s1.NoMethod = (*NoMethod)(s)
  1644  	if err := json.Unmarshal(data, &s1); err != nil {
  1645  		return err
  1646  	}
  1647  	s.Confidence = float64(s1.Confidence)
  1648  	return nil
  1649  }
  1650  
  1651  // GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the detected
  1652  // image annotation.
  1653  type GoogleCloudVisionV1p1beta1BoundingPoly struct {
  1654  	// NormalizedVertices: The bounding polygon normalized vertices.
  1655  	NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"`
  1656  	// Vertices: The bounding polygon vertices.
  1657  	Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"`
  1658  	// ForceSendFields is a list of field names (e.g. "NormalizedVertices") to
  1659  	// unconditionally include in API requests. By default, fields with empty or
  1660  	// default values are omitted from API requests. See
  1661  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1662  	// details.
  1663  	ForceSendFields []string `json:"-"`
  1664  	// NullFields is a list of field names (e.g. "NormalizedVertices") to include
  1665  	// in API requests with the JSON null value. By default, fields with empty
  1666  	// values are omitted from API requests. See
  1667  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1668  	NullFields []string `json:"-"`
  1669  }
  1670  
  1671  func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) {
  1672  	type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly
  1673  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1674  }
  1675  
  1676  // GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of RGB
  1677  // channels, score, and the fraction of the image that the color occupies in
  1678  // the image.
  1679  type GoogleCloudVisionV1p1beta1ColorInfo struct {
  1680  	// Color: RGB components of the color.
  1681  	Color *Color `json:"color,omitempty"`
  1682  	// PixelFraction: The fraction of pixels the color occupies in the image. Value
  1683  	// in range [0, 1].
  1684  	PixelFraction float64 `json:"pixelFraction,omitempty"`
  1685  	// Score: Image-specific score for this color. Value in range [0, 1].
  1686  	Score float64 `json:"score,omitempty"`
  1687  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  1688  	// include in API requests. By default, fields with empty or default values are
  1689  	// omitted from API requests. See
  1690  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1691  	// details.
  1692  	ForceSendFields []string `json:"-"`
  1693  	// NullFields is a list of field names (e.g. "Color") to include in API
  1694  	// requests with the JSON null value. By default, fields with empty values are
  1695  	// omitted from API requests. See
  1696  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1697  	NullFields []string `json:"-"`
  1698  }
  1699  
  1700  func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) {
  1701  	type NoMethod GoogleCloudVisionV1p1beta1ColorInfo
  1702  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1703  }
  1704  
  1705  func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error {
  1706  	type NoMethod GoogleCloudVisionV1p1beta1ColorInfo
  1707  	var s1 struct {
  1708  		PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"`
  1709  		Score         gensupport.JSONFloat64 `json:"score"`
  1710  		*NoMethod
  1711  	}
  1712  	s1.NoMethod = (*NoMethod)(s)
  1713  	if err := json.Unmarshal(data, &s1); err != nil {
  1714  		return err
  1715  	}
  1716  	s.PixelFraction = float64(s1.PixelFraction)
  1717  	s.Score = float64(s1.Score)
  1718  	return nil
  1719  }
  1720  
  1721  // GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to
  1722  // generate a new crop when serving an image.
  1723  type GoogleCloudVisionV1p1beta1CropHint struct {
  1724  	// BoundingPoly: The bounding polygon for the crop region. The coordinates of
  1725  	// the bounding box are in the original image's scale.
  1726  	BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
  1727  	// Confidence: Confidence of this being a salient region. Range [0, 1].
  1728  	Confidence float64 `json:"confidence,omitempty"`
  1729  	// ImportanceFraction: Fraction of importance of this salient region with
  1730  	// respect to the original image.
  1731  	ImportanceFraction float64 `json:"importanceFraction,omitempty"`
  1732  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  1733  	// unconditionally include in API requests. By default, fields with empty or
  1734  	// default values are omitted from API requests. See
  1735  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1736  	// details.
  1737  	ForceSendFields []string `json:"-"`
  1738  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  1739  	// requests with the JSON null value. By default, fields with empty values are
  1740  	// omitted from API requests. See
  1741  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1742  	NullFields []string `json:"-"`
  1743  }
  1744  
  1745  func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) {
  1746  	type NoMethod GoogleCloudVisionV1p1beta1CropHint
  1747  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1748  }
  1749  
  1750  func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error {
  1751  	type NoMethod GoogleCloudVisionV1p1beta1CropHint
  1752  	var s1 struct {
  1753  		Confidence         gensupport.JSONFloat64 `json:"confidence"`
  1754  		ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"`
  1755  		*NoMethod
  1756  	}
  1757  	s1.NoMethod = (*NoMethod)(s)
  1758  	if err := json.Unmarshal(data, &s1); err != nil {
  1759  		return err
  1760  	}
  1761  	s.Confidence = float64(s1.Confidence)
  1762  	s.ImportanceFraction = float64(s1.ImportanceFraction)
  1763  	return nil
  1764  }
  1765  
  1766  // GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that are
  1767  // used to generate new crops when serving images.
  1768  type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct {
  1769  	// CropHints: Crop hint results.
  1770  	CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"`
  1771  	// ForceSendFields is a list of field names (e.g. "CropHints") to
  1772  	// unconditionally include in API requests. By default, fields with empty or
  1773  	// default values are omitted from API requests. See
  1774  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1775  	// details.
  1776  	ForceSendFields []string `json:"-"`
  1777  	// NullFields is a list of field names (e.g. "CropHints") to include in API
  1778  	// requests with the JSON null value. By default, fields with empty values are
  1779  	// omitted from API requests. See
  1780  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1781  	NullFields []string `json:"-"`
  1782  }
  1783  
  1784  func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) {
  1785  	type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation
  1786  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1787  }
  1788  
  1789  // GoogleCloudVisionV1p1beta1CropHintsParams: Parameters for crop hints
  1790  // annotation request.
  1791  type GoogleCloudVisionV1p1beta1CropHintsParams struct {
  1792  	// AspectRatios: Aspect ratios in floats, representing the ratio of the width
  1793  	// to the height of the image. For example, if the desired aspect ratio is 4/3,
  1794  	// the corresponding float value should be 1.33333. If not specified, the best
  1795  	// possible crop is returned. The number of provided aspect ratios is limited
  1796  	// to a maximum of 16; any aspect ratios provided after the 16th are ignored.
  1797  	AspectRatios []float64 `json:"aspectRatios,omitempty"`
  1798  	// ForceSendFields is a list of field names (e.g. "AspectRatios") to
  1799  	// unconditionally include in API requests. By default, fields with empty or
  1800  	// default values are omitted from API requests. See
  1801  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1802  	// details.
  1803  	ForceSendFields []string `json:"-"`
  1804  	// NullFields is a list of field names (e.g. "AspectRatios") to include in API
  1805  	// requests with the JSON null value. By default, fields with empty values are
  1806  	// omitted from API requests. See
  1807  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1808  	NullFields []string `json:"-"`
  1809  }
  1810  
  1811  func (s *GoogleCloudVisionV1p1beta1CropHintsParams) MarshalJSON() ([]byte, error) {
  1812  	type NoMethod GoogleCloudVisionV1p1beta1CropHintsParams
  1813  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1814  }
  1815  
  1816  func (s *GoogleCloudVisionV1p1beta1CropHintsParams) UnmarshalJSON(data []byte) error {
  1817  	type NoMethod GoogleCloudVisionV1p1beta1CropHintsParams
  1818  	var s1 struct {
  1819  		AspectRatios []gensupport.JSONFloat64 `json:"aspectRatios"`
  1820  		*NoMethod
  1821  	}
  1822  	s1.NoMethod = (*NoMethod)(s)
  1823  	if err := json.Unmarshal(data, &s1); err != nil {
  1824  		return err
  1825  	}
  1826  	s.AspectRatios = make([]float64, len(s1.AspectRatios))
  1827  	for i := range s1.AspectRatios {
  1828  		s.AspectRatios[i] = float64(s1.AspectRatios[i])
  1829  	}
  1830  	return nil
  1831  }
  1832  
  1833  // GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant colors
  1834  // and their corresponding scores.
  1835  type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct {
  1836  	// Colors: RGB color values with their score and pixel fraction.
  1837  	Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"`
  1838  	// ForceSendFields is a list of field names (e.g. "Colors") to unconditionally
  1839  	// include in API requests. By default, fields with empty or default values are
  1840  	// omitted from API requests. See
  1841  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1842  	// details.
  1843  	ForceSendFields []string `json:"-"`
  1844  	// NullFields is a list of field names (e.g. "Colors") to include in API
  1845  	// requests with the JSON null value. By default, fields with empty values are
  1846  	// omitted from API requests. See
  1847  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1848  	NullFields []string `json:"-"`
  1849  }
  1850  
  1851  func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) {
  1852  	type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation
  1853  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1854  }
  1855  
  1856  // GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity features.
  1857  type GoogleCloudVisionV1p1beta1EntityAnnotation struct {
  1858  	// BoundingPoly: Image region to which this entity belongs. Not produced for
  1859  	// `LABEL_DETECTION` features.
  1860  	BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
  1861  	// Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity
  1862  	// detection in an image. For example, for an image in which the "Eiffel Tower"
  1863  	// entity is detected, this field represents the confidence that there is a
  1864  	// tower in the query image. Range [0, 1].
  1865  	Confidence float64 `json:"confidence,omitempty"`
  1866  	// Description: Entity textual description, expressed in its `locale` language.
  1867  	Description string `json:"description,omitempty"`
  1868  	// Locale: The language code for the locale in which the entity textual
  1869  	// `description` is expressed.
  1870  	Locale string `json:"locale,omitempty"`
  1871  	// Locations: The location information for the detected entity. Multiple
  1872  	// `LocationInfo` elements can be present because one location may indicate the
  1873  	// location of the scene in the image, and another location may indicate the
  1874  	// location of the place where the image was taken. Location information is
  1875  	// usually present for landmarks.
  1876  	Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"`
  1877  	// Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph
  1878  	// Search API (https://developers.google.com/knowledge-graph/).
  1879  	Mid string `json:"mid,omitempty"`
  1880  	// Properties: Some entities may have optional user-supplied `Property`
  1881  	// (name/value) fields, such a score or string that qualifies the entity.
  1882  	Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"`
  1883  	// Score: Overall score of the result. Range [0, 1].
  1884  	Score float64 `json:"score,omitempty"`
  1885  	// Topicality: The relevancy of the ICA (Image Content Annotation) label to the
  1886  	// image. For example, the relevancy of "tower" is likely higher to an image
  1887  	// containing the detected "Eiffel Tower" than to an image containing a
  1888  	// detected distant towering building, even though the confidence that there is
  1889  	// a tower in each image may be the same. Range [0, 1].
  1890  	Topicality float64 `json:"topicality,omitempty"`
  1891  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  1892  	// unconditionally include in API requests. By default, fields with empty or
  1893  	// default values are omitted from API requests. See
  1894  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1895  	// details.
  1896  	ForceSendFields []string `json:"-"`
  1897  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  1898  	// requests with the JSON null value. By default, fields with empty values are
  1899  	// omitted from API requests. See
  1900  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1901  	NullFields []string `json:"-"`
  1902  }
  1903  
  1904  func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) {
  1905  	type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation
  1906  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1907  }
  1908  
  1909  func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error {
  1910  	type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation
  1911  	var s1 struct {
  1912  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  1913  		Score      gensupport.JSONFloat64 `json:"score"`
  1914  		Topicality gensupport.JSONFloat64 `json:"topicality"`
  1915  		*NoMethod
  1916  	}
  1917  	s1.NoMethod = (*NoMethod)(s)
  1918  	if err := json.Unmarshal(data, &s1); err != nil {
  1919  		return err
  1920  	}
  1921  	s.Confidence = float64(s1.Confidence)
  1922  	s.Score = float64(s1.Score)
  1923  	s.Topicality = float64(s1.Topicality)
  1924  	return nil
  1925  }
  1926  
  1927  // GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object contains
  1928  // the results of face detection.
  1929  type GoogleCloudVisionV1p1beta1FaceAnnotation struct {
  1930  	// AngerLikelihood: Anger likelihood.
  1931  	//
  1932  	// Possible values:
  1933  	//   "UNKNOWN" - Unknown likelihood.
  1934  	//   "VERY_UNLIKELY" - It is very unlikely.
  1935  	//   "UNLIKELY" - It is unlikely.
  1936  	//   "POSSIBLE" - It is possible.
  1937  	//   "LIKELY" - It is likely.
  1938  	//   "VERY_LIKELY" - It is very likely.
  1939  	AngerLikelihood string `json:"angerLikelihood,omitempty"`
  1940  	// BlurredLikelihood: Blurred likelihood.
  1941  	//
  1942  	// Possible values:
  1943  	//   "UNKNOWN" - Unknown likelihood.
  1944  	//   "VERY_UNLIKELY" - It is very unlikely.
  1945  	//   "UNLIKELY" - It is unlikely.
  1946  	//   "POSSIBLE" - It is possible.
  1947  	//   "LIKELY" - It is likely.
  1948  	//   "VERY_LIKELY" - It is very likely.
  1949  	BlurredLikelihood string `json:"blurredLikelihood,omitempty"`
  1950  	// BoundingPoly: The bounding polygon around the face. The coordinates of the
  1951  	// bounding box are in the original image's scale. The bounding box is computed
  1952  	// to "frame" the face in accordance with human expectations. It is based on
  1953  	// the landmarker results. Note that one or more x and/or y coordinates may not
  1954  	// be generated in the `BoundingPoly` (the polygon will be unbounded) if only a
  1955  	// partial face appears in the image to be annotated.
  1956  	BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
  1957  	// DetectionConfidence: Detection confidence. Range [0, 1].
  1958  	DetectionConfidence float64 `json:"detectionConfidence,omitempty"`
  1959  	// FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the
  1960  	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
  1961  	// is used to eliminate the face from any image analysis that detects the
  1962  	// "amount of skin" visible in an image. It is not based on the landmarker
  1963  	// results, only on the initial face detection, hence the fd (face detection)
  1964  	// prefix.
  1965  	FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"`
  1966  	// HeadwearLikelihood: Headwear likelihood.
  1967  	//
  1968  	// Possible values:
  1969  	//   "UNKNOWN" - Unknown likelihood.
  1970  	//   "VERY_UNLIKELY" - It is very unlikely.
  1971  	//   "UNLIKELY" - It is unlikely.
  1972  	//   "POSSIBLE" - It is possible.
  1973  	//   "LIKELY" - It is likely.
  1974  	//   "VERY_LIKELY" - It is very likely.
  1975  	HeadwearLikelihood string `json:"headwearLikelihood,omitempty"`
  1976  	// JoyLikelihood: Joy likelihood.
  1977  	//
  1978  	// Possible values:
  1979  	//   "UNKNOWN" - Unknown likelihood.
  1980  	//   "VERY_UNLIKELY" - It is very unlikely.
  1981  	//   "UNLIKELY" - It is unlikely.
  1982  	//   "POSSIBLE" - It is possible.
  1983  	//   "LIKELY" - It is likely.
  1984  	//   "VERY_LIKELY" - It is very likely.
  1985  	JoyLikelihood string `json:"joyLikelihood,omitempty"`
  1986  	// LandmarkingConfidence: Face landmarking confidence. Range [0, 1].
  1987  	LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"`
  1988  	// Landmarks: Detected face landmarks.
  1989  	Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"`
  1990  	// PanAngle: Yaw angle, which indicates the leftward/rightward angle that the
  1991  	// face is pointing relative to the vertical plane perpendicular to the image.
  1992  	// Range [-180,180].
  1993  	PanAngle float64 `json:"panAngle,omitempty"`
  1994  	// RollAngle: Roll angle, which indicates the amount of
  1995  	// clockwise/anti-clockwise rotation of the face relative to the image vertical
  1996  	// about the axis perpendicular to the face. Range [-180,180].
  1997  	RollAngle float64 `json:"rollAngle,omitempty"`
  1998  	// SorrowLikelihood: Sorrow likelihood.
  1999  	//
  2000  	// Possible values:
  2001  	//   "UNKNOWN" - Unknown likelihood.
  2002  	//   "VERY_UNLIKELY" - It is very unlikely.
  2003  	//   "UNLIKELY" - It is unlikely.
  2004  	//   "POSSIBLE" - It is possible.
  2005  	//   "LIKELY" - It is likely.
  2006  	//   "VERY_LIKELY" - It is very likely.
  2007  	SorrowLikelihood string `json:"sorrowLikelihood,omitempty"`
  2008  	// SurpriseLikelihood: Surprise likelihood.
  2009  	//
  2010  	// Possible values:
  2011  	//   "UNKNOWN" - Unknown likelihood.
  2012  	//   "VERY_UNLIKELY" - It is very unlikely.
  2013  	//   "UNLIKELY" - It is unlikely.
  2014  	//   "POSSIBLE" - It is possible.
  2015  	//   "LIKELY" - It is likely.
  2016  	//   "VERY_LIKELY" - It is very likely.
  2017  	SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"`
  2018  	// TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the
  2019  	// face is pointing relative to the image's horizontal plane. Range [-180,180].
  2020  	TiltAngle float64 `json:"tiltAngle,omitempty"`
  2021  	// UnderExposedLikelihood: Under-exposed likelihood.
  2022  	//
  2023  	// Possible values:
  2024  	//   "UNKNOWN" - Unknown likelihood.
  2025  	//   "VERY_UNLIKELY" - It is very unlikely.
  2026  	//   "UNLIKELY" - It is unlikely.
  2027  	//   "POSSIBLE" - It is possible.
  2028  	//   "LIKELY" - It is likely.
  2029  	//   "VERY_LIKELY" - It is very likely.
  2030  	UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"`
  2031  	// ForceSendFields is a list of field names (e.g. "AngerLikelihood") to
  2032  	// unconditionally include in API requests. By default, fields with empty or
  2033  	// default values are omitted from API requests. See
  2034  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2035  	// details.
  2036  	ForceSendFields []string `json:"-"`
  2037  	// NullFields is a list of field names (e.g. "AngerLikelihood") to include in
  2038  	// API requests with the JSON null value. By default, fields with empty values
  2039  	// are omitted from API requests. See
  2040  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2041  	NullFields []string `json:"-"`
  2042  }
  2043  
  2044  func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
  2045  	type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation
  2046  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2047  }
  2048  
  2049  func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error {
  2050  	type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation
  2051  	var s1 struct {
  2052  		DetectionConfidence   gensupport.JSONFloat64 `json:"detectionConfidence"`
  2053  		LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"`
  2054  		PanAngle              gensupport.JSONFloat64 `json:"panAngle"`
  2055  		RollAngle             gensupport.JSONFloat64 `json:"rollAngle"`
  2056  		TiltAngle             gensupport.JSONFloat64 `json:"tiltAngle"`
  2057  		*NoMethod
  2058  	}
  2059  	s1.NoMethod = (*NoMethod)(s)
  2060  	if err := json.Unmarshal(data, &s1); err != nil {
  2061  		return err
  2062  	}
  2063  	s.DetectionConfidence = float64(s1.DetectionConfidence)
  2064  	s.LandmarkingConfidence = float64(s1.LandmarkingConfidence)
  2065  	s.PanAngle = float64(s1.PanAngle)
  2066  	s.RollAngle = float64(s1.RollAngle)
  2067  	s.TiltAngle = float64(s1.TiltAngle)
  2068  	return nil
  2069  }
  2070  
  2071  // GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific landmark
  2072  // (for example, a face feature).
  2073  type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct {
  2074  	// Position: Face landmark position.
  2075  	Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"`
  2076  	// Type: Face landmark type.
  2077  	//
  2078  	// Possible values:
  2079  	//   "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled.
  2080  	//   "LEFT_EYE" - Left eye.
  2081  	//   "RIGHT_EYE" - Right eye.
  2082  	//   "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow.
  2083  	//   "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow.
  2084  	//   "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow.
  2085  	//   "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow.
  2086  	//   "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes.
  2087  	//   "NOSE_TIP" - Nose tip.
  2088  	//   "UPPER_LIP" - Upper lip.
  2089  	//   "LOWER_LIP" - Lower lip.
  2090  	//   "MOUTH_LEFT" - Mouth left.
  2091  	//   "MOUTH_RIGHT" - Mouth right.
  2092  	//   "MOUTH_CENTER" - Mouth center.
  2093  	//   "NOSE_BOTTOM_RIGHT" - Nose, bottom right.
  2094  	//   "NOSE_BOTTOM_LEFT" - Nose, bottom left.
  2095  	//   "NOSE_BOTTOM_CENTER" - Nose, bottom center.
  2096  	//   "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary.
  2097  	//   "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner.
  2098  	//   "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary.
  2099  	//   "LEFT_EYE_LEFT_CORNER" - Left eye, left corner.
  2100  	//   "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary.
  2101  	//   "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner.
  2102  	//   "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary.
  2103  	//   "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner.
  2104  	//   "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint.
  2105  	//   "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint.
  2106  	//   "LEFT_EAR_TRAGION" - Left ear tragion.
  2107  	//   "RIGHT_EAR_TRAGION" - Right ear tragion.
  2108  	//   "LEFT_EYE_PUPIL" - Left eye pupil.
  2109  	//   "RIGHT_EYE_PUPIL" - Right eye pupil.
  2110  	//   "FOREHEAD_GLABELLA" - Forehead glabella.
  2111  	//   "CHIN_GNATHION" - Chin gnathion.
  2112  	//   "CHIN_LEFT_GONION" - Chin left gonion.
  2113  	//   "CHIN_RIGHT_GONION" - Chin right gonion.
  2114  	//   "LEFT_CHEEK_CENTER" - Left cheek center.
  2115  	//   "RIGHT_CHEEK_CENTER" - Right cheek center.
  2116  	Type string `json:"type,omitempty"`
  2117  	// ForceSendFields is a list of field names (e.g. "Position") to
  2118  	// unconditionally include in API requests. By default, fields with empty or
  2119  	// default values are omitted from API requests. See
  2120  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2121  	// details.
  2122  	ForceSendFields []string `json:"-"`
  2123  	// NullFields is a list of field names (e.g. "Position") to include in API
  2124  	// requests with the JSON null value. By default, fields with empty values are
  2125  	// omitted from API requests. See
  2126  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2127  	NullFields []string `json:"-"`
  2128  }
  2129  
  2130  func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) {
  2131  	type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark
  2132  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2133  }
  2134  
  2135  // GoogleCloudVisionV1p1beta1Feature: The type of Google Cloud Vision API
  2136  // detection to perform, and the maximum number of results to return for that
  2137  // type. Multiple `Feature` objects can be specified in the `features` list.
  2138  type GoogleCloudVisionV1p1beta1Feature struct {
  2139  	// MaxResults: Maximum number of results of this type. Does not apply to
  2140  	// `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
  2141  	MaxResults int64 `json:"maxResults,omitempty"`
  2142  	// Model: Model to use for the feature. Supported values: "builtin/stable" (the
  2143  	// default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and
  2144  	// `TEXT_DETECTION` also support "builtin/weekly" for the bleeding edge release
  2145  	// updated weekly.
  2146  	Model string `json:"model,omitempty"`
  2147  	// Type: The feature type.
  2148  	//
  2149  	// Possible values:
  2150  	//   "TYPE_UNSPECIFIED" - Unspecified feature type.
  2151  	//   "FACE_DETECTION" - Run face detection.
  2152  	//   "LANDMARK_DETECTION" - Run landmark detection.
  2153  	//   "LOGO_DETECTION" - Run logo detection.
  2154  	//   "LABEL_DETECTION" - Run label detection.
  2155  	//   "TEXT_DETECTION" - Run text detection / optical character recognition
  2156  	// (OCR). Text detection is optimized for areas of text within a larger image;
  2157  	// if the image is a document, use `DOCUMENT_TEXT_DETECTION` instead.
  2158  	//   "DOCUMENT_TEXT_DETECTION" - Run dense text document OCR. Takes precedence
  2159  	// when both `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present.
  2160  	//   "SAFE_SEARCH_DETECTION" - Run Safe Search to detect potentially unsafe or
  2161  	// undesirable content.
  2162  	//   "IMAGE_PROPERTIES" - Compute a set of image properties, such as the
  2163  	// image's dominant colors.
  2164  	//   "CROP_HINTS" - Run crop hints.
  2165  	//   "WEB_DETECTION" - Run web detection.
  2166  	//   "PRODUCT_SEARCH" - Run Product Search.
  2167  	//   "OBJECT_LOCALIZATION" - Run localizer for object detection.
  2168  	Type string `json:"type,omitempty"`
  2169  	// ForceSendFields is a list of field names (e.g. "MaxResults") to
  2170  	// unconditionally include in API requests. By default, fields with empty or
  2171  	// default values are omitted from API requests. See
  2172  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2173  	// details.
  2174  	ForceSendFields []string `json:"-"`
  2175  	// NullFields is a list of field names (e.g. "MaxResults") to include in API
  2176  	// requests with the JSON null value. By default, fields with empty values are
  2177  	// omitted from API requests. See
  2178  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2179  	NullFields []string `json:"-"`
  2180  }
  2181  
  2182  func (s *GoogleCloudVisionV1p1beta1Feature) MarshalJSON() ([]byte, error) {
  2183  	type NoMethod GoogleCloudVisionV1p1beta1Feature
  2184  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2185  }
  2186  
  2187  // GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage location
  2188  // where the output will be written to.
  2189  type GoogleCloudVisionV1p1beta1GcsDestination struct {
  2190  	// Uri: Google Cloud Storage URI prefix where the results will be stored.
  2191  	// Results will be in JSON format and preceded by its corresponding input URI
  2192  	// prefix. This field can either represent a gcs file prefix or gcs directory.
  2193  	// In either case, the uri should be unique because in order to get all of the
  2194  	// output files, you will need to do a wildcard gcs search on the uri prefix
  2195  	// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix
  2196  	// The output files will be created in gs://bucket-name/here/ and the names of
  2197  	// the output files will begin with "filenameprefix". * Directory Prefix:
  2198  	// gs://bucket-name/some/location/ The output files will be created in
  2199  	// gs://bucket-name/some/location/ and the names of the output files could be
  2200  	// anything because there was no filename prefix specified. If multiple
  2201  	// outputs, each response is still AnnotateFileResponse, each of which contains
  2202  	// some subset of the full list of AnnotateImageResponse. Multiple outputs can
  2203  	// happen if, for example, the output JSON is too large and overflows into
  2204  	// multiple sharded files.
  2205  	Uri string `json:"uri,omitempty"`
  2206  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  2207  	// include in API requests. By default, fields with empty or default values are
  2208  	// omitted from API requests. See
  2209  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2210  	// details.
  2211  	ForceSendFields []string `json:"-"`
  2212  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  2213  	// with the JSON null value. By default, fields with empty values are omitted
  2214  	// from API requests. See
  2215  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2216  	NullFields []string `json:"-"`
  2217  }
  2218  
  2219  func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) {
  2220  	type NoMethod GoogleCloudVisionV1p1beta1GcsDestination
  2221  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2222  }
  2223  
  2224  // GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage location where
  2225  // the input will be read from.
  2226  type GoogleCloudVisionV1p1beta1GcsSource struct {
  2227  	// Uri: Google Cloud Storage URI for the input file. This must only be a Google
  2228  	// Cloud Storage object. Wildcards are not currently supported.
  2229  	Uri string `json:"uri,omitempty"`
  2230  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  2231  	// include in API requests. By default, fields with empty or default values are
  2232  	// omitted from API requests. See
  2233  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2234  	// details.
  2235  	ForceSendFields []string `json:"-"`
  2236  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  2237  	// with the JSON null value. By default, fields with empty values are omitted
  2238  	// from API requests. See
  2239  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2240  	NullFields []string `json:"-"`
  2241  }
  2242  
  2243  func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) {
  2244  	type NoMethod GoogleCloudVisionV1p1beta1GcsSource
  2245  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2246  }
  2247  
  2248  // GoogleCloudVisionV1p1beta1Image: Client image to perform Google Cloud Vision
  2249  // API tasks over.
  2250  type GoogleCloudVisionV1p1beta1Image struct {
  2251  	// Content: Image content, represented as a stream of bytes. Note: As with all
  2252  	// `bytes` fields, protobuffers use a pure binary representation, whereas JSON
  2253  	// representations use base64. Currently, this field only works for
  2254  	// BatchAnnotateImages requests. It does not work for AsyncBatchAnnotateImages
  2255  	// requests.
  2256  	Content string `json:"content,omitempty"`
  2257  	// Source: Google Cloud Storage image location, or publicly-accessible image
  2258  	// URL. If both `content` and `source` are provided for an image, `content`
  2259  	// takes precedence and is used to perform the image annotation request.
  2260  	Source *GoogleCloudVisionV1p1beta1ImageSource `json:"source,omitempty"`
  2261  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  2262  	// include in API requests. By default, fields with empty or default values are
  2263  	// omitted from API requests. See
  2264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2265  	// details.
  2266  	ForceSendFields []string `json:"-"`
  2267  	// NullFields is a list of field names (e.g. "Content") to include in API
  2268  	// requests with the JSON null value. By default, fields with empty values are
  2269  	// omitted from API requests. See
  2270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2271  	NullFields []string `json:"-"`
  2272  }
  2273  
  2274  func (s *GoogleCloudVisionV1p1beta1Image) MarshalJSON() ([]byte, error) {
  2275  	type NoMethod GoogleCloudVisionV1p1beta1Image
  2276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2277  }
  2278  
  2279  // GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was produced
  2280  // from a file (e.g. a PDF), this message gives information about the source of
  2281  // that image.
  2282  type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct {
  2283  	// PageNumber: If the file was a PDF or TIFF, this field gives the page number
  2284  	// within the file used to produce the image.
  2285  	PageNumber int64 `json:"pageNumber,omitempty"`
  2286  	// Uri: The URI of the file used to produce the image.
  2287  	Uri string `json:"uri,omitempty"`
  2288  	// ForceSendFields is a list of field names (e.g. "PageNumber") to
  2289  	// unconditionally include in API requests. By default, fields with empty or
  2290  	// default values are omitted from API requests. See
  2291  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2292  	// details.
  2293  	ForceSendFields []string `json:"-"`
  2294  	// NullFields is a list of field names (e.g. "PageNumber") to include in API
  2295  	// requests with the JSON null value. By default, fields with empty values are
  2296  	// omitted from API requests. See
  2297  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2298  	NullFields []string `json:"-"`
  2299  }
  2300  
  2301  func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) {
  2302  	type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext
  2303  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2304  }
  2305  
  2306  // GoogleCloudVisionV1p1beta1ImageContext: Image context and/or
  2307  // feature-specific parameters.
  2308  type GoogleCloudVisionV1p1beta1ImageContext struct {
  2309  	// CropHintsParams: Parameters for crop hints annotation request.
  2310  	CropHintsParams *GoogleCloudVisionV1p1beta1CropHintsParams `json:"cropHintsParams,omitempty"`
  2311  	// LanguageHints: List of languages to use for TEXT_DETECTION. In most cases,
  2312  	// an empty value yields the best results since it enables automatic language
  2313  	// detection. For languages based on the Latin alphabet, setting
  2314  	// `language_hints` is not needed. In rare cases, when the language of the text
  2315  	// in the image is known, setting a hint will help get better results (although
  2316  	// it will be a significant hindrance if the hint is wrong). Text detection
  2317  	// returns an error if one or more of the specified languages is not one of the
  2318  	// supported languages (https://cloud.google.com/vision/docs/languages).
  2319  	LanguageHints []string `json:"languageHints,omitempty"`
  2320  	// LatLongRect: Not used.
  2321  	LatLongRect *GoogleCloudVisionV1p1beta1LatLongRect `json:"latLongRect,omitempty"`
  2322  	// ProductSearchParams: Parameters for product search.
  2323  	ProductSearchParams *GoogleCloudVisionV1p1beta1ProductSearchParams `json:"productSearchParams,omitempty"`
  2324  	// TextDetectionParams: Parameters for text detection and document text
  2325  	// detection.
  2326  	TextDetectionParams *GoogleCloudVisionV1p1beta1TextDetectionParams `json:"textDetectionParams,omitempty"`
  2327  	// WebDetectionParams: Parameters for web detection.
  2328  	WebDetectionParams *GoogleCloudVisionV1p1beta1WebDetectionParams `json:"webDetectionParams,omitempty"`
  2329  	// ForceSendFields is a list of field names (e.g. "CropHintsParams") to
  2330  	// unconditionally include in API requests. By default, fields with empty or
  2331  	// default values are omitted from API requests. See
  2332  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2333  	// details.
  2334  	ForceSendFields []string `json:"-"`
  2335  	// NullFields is a list of field names (e.g. "CropHintsParams") to include in
  2336  	// API requests with the JSON null value. By default, fields with empty values
  2337  	// are omitted from API requests. See
  2338  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2339  	NullFields []string `json:"-"`
  2340  }
  2341  
  2342  func (s *GoogleCloudVisionV1p1beta1ImageContext) MarshalJSON() ([]byte, error) {
  2343  	type NoMethod GoogleCloudVisionV1p1beta1ImageContext
  2344  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2345  }
  2346  
  2347  // GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties, such as
  2348  // dominant colors.
  2349  type GoogleCloudVisionV1p1beta1ImageProperties struct {
  2350  	// DominantColors: If present, dominant colors completed successfully.
  2351  	DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"`
  2352  	// ForceSendFields is a list of field names (e.g. "DominantColors") to
  2353  	// unconditionally include in API requests. By default, fields with empty or
  2354  	// default values are omitted from API requests. See
  2355  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2356  	// details.
  2357  	ForceSendFields []string `json:"-"`
  2358  	// NullFields is a list of field names (e.g. "DominantColors") to include in
  2359  	// API requests with the JSON null value. By default, fields with empty values
  2360  	// are omitted from API requests. See
  2361  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2362  	NullFields []string `json:"-"`
  2363  }
  2364  
  2365  func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) {
  2366  	type NoMethod GoogleCloudVisionV1p1beta1ImageProperties
  2367  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2368  }
  2369  
  2370  // GoogleCloudVisionV1p1beta1ImageSource: External image source (Google Cloud
  2371  // Storage or web URL image location).
  2372  type GoogleCloudVisionV1p1beta1ImageSource struct {
  2373  	// GcsImageUri: **Use `image_uri` instead.** The Google Cloud Storage URI of
  2374  	// the form `gs://bucket_name/object_name`. Object versioning is not supported.
  2375  	// See Google Cloud Storage Request URIs
  2376  	// (https://cloud.google.com/storage/docs/reference-uris) for more info.
  2377  	GcsImageUri string `json:"gcsImageUri,omitempty"`
  2378  	// ImageUri: The URI of the source image. Can be either: 1. A Google Cloud
  2379  	// Storage URI of the form `gs://bucket_name/object_name`. Object versioning is
  2380  	// not supported. See Google Cloud Storage Request URIs
  2381  	// (https://cloud.google.com/storage/docs/reference-uris) for more info. 2. A
  2382  	// publicly-accessible image HTTP/HTTPS URL. When fetching images from
  2383  	// HTTP/HTTPS URLs, Google cannot guarantee that the request will be completed.
  2384  	// Your request may fail if the specified host denies the request (e.g. due to
  2385  	// request throttling or DOS prevention), or if Google throttles requests to
  2386  	// the site for abuse prevention. You should not depend on externally-hosted
  2387  	// images for production applications. When both `gcs_image_uri` and
  2388  	// `image_uri` are specified, `image_uri` takes precedence.
  2389  	ImageUri string `json:"imageUri,omitempty"`
  2390  	// ForceSendFields is a list of field names (e.g. "GcsImageUri") to
  2391  	// unconditionally include in API requests. By default, fields with empty or
  2392  	// default values are omitted from API requests. See
  2393  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2394  	// details.
  2395  	ForceSendFields []string `json:"-"`
  2396  	// NullFields is a list of field names (e.g. "GcsImageUri") to include in API
  2397  	// requests with the JSON null value. By default, fields with empty values are
  2398  	// omitted from API requests. See
  2399  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2400  	NullFields []string `json:"-"`
  2401  }
  2402  
  2403  func (s *GoogleCloudVisionV1p1beta1ImageSource) MarshalJSON() ([]byte, error) {
  2404  	type NoMethod GoogleCloudVisionV1p1beta1ImageSource
  2405  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2406  }
  2407  
  2408  // GoogleCloudVisionV1p1beta1InputConfig: The desired input location and
  2409  // metadata.
  2410  type GoogleCloudVisionV1p1beta1InputConfig struct {
  2411  	// Content: File content, represented as a stream of bytes. Note: As with all
  2412  	// `bytes` fields, protobuffers use a pure binary representation, whereas JSON
  2413  	// representations use base64. Currently, this field only works for
  2414  	// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles
  2415  	// requests.
  2416  	Content string `json:"content,omitempty"`
  2417  	// GcsSource: The Google Cloud Storage location to read the input from.
  2418  	GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"`
  2419  	// MimeType: The type of the file. Currently only "application/pdf",
  2420  	// "image/tiff" and "image/gif" are supported. Wildcards are not supported.
  2421  	MimeType string `json:"mimeType,omitempty"`
  2422  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  2423  	// include in API requests. By default, fields with empty or default values are
  2424  	// omitted from API requests. See
  2425  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2426  	// details.
  2427  	ForceSendFields []string `json:"-"`
  2428  	// NullFields is a list of field names (e.g. "Content") to include in API
  2429  	// requests with the JSON null value. By default, fields with empty values are
  2430  	// omitted from API requests. See
  2431  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2432  	NullFields []string `json:"-"`
  2433  }
  2434  
  2435  func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) {
  2436  	type NoMethod GoogleCloudVisionV1p1beta1InputConfig
  2437  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2438  }
  2439  
  2440  // GoogleCloudVisionV1p1beta1LatLongRect: Rectangle determined by min and max
  2441  // `LatLng` pairs.
  2442  type GoogleCloudVisionV1p1beta1LatLongRect struct {
  2443  	// MaxLatLng: Max lat/long pair.
  2444  	MaxLatLng *LatLng `json:"maxLatLng,omitempty"`
  2445  	// MinLatLng: Min lat/long pair.
  2446  	MinLatLng *LatLng `json:"minLatLng,omitempty"`
  2447  	// ForceSendFields is a list of field names (e.g. "MaxLatLng") to
  2448  	// unconditionally include in API requests. By default, fields with empty or
  2449  	// default values are omitted from API requests. See
  2450  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2451  	// details.
  2452  	ForceSendFields []string `json:"-"`
  2453  	// NullFields is a list of field names (e.g. "MaxLatLng") to include in API
  2454  	// requests with the JSON null value. By default, fields with empty values are
  2455  	// omitted from API requests. See
  2456  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2457  	NullFields []string `json:"-"`
  2458  }
  2459  
  2460  func (s *GoogleCloudVisionV1p1beta1LatLongRect) MarshalJSON() ([]byte, error) {
  2461  	type NoMethod GoogleCloudVisionV1p1beta1LatLongRect
  2462  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2463  }
  2464  
  2465  // GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected objects
  2466  // with bounding boxes.
  2467  type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct {
  2468  	// BoundingPoly: Image region to which this object belongs. This must be
  2469  	// populated.
  2470  	BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
  2471  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  2472  	// more information, see
  2473  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  2474  	LanguageCode string `json:"languageCode,omitempty"`
  2475  	// Mid: Object ID that should align with EntityAnnotation mid.
  2476  	Mid string `json:"mid,omitempty"`
  2477  	// Name: Object name, expressed in its `language_code` language.
  2478  	Name string `json:"name,omitempty"`
  2479  	// Score: Score of the result. Range [0, 1].
  2480  	Score float64 `json:"score,omitempty"`
  2481  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  2482  	// unconditionally include in API requests. By default, fields with empty or
  2483  	// default values are omitted from API requests. See
  2484  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2485  	// details.
  2486  	ForceSendFields []string `json:"-"`
  2487  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  2488  	// requests with the JSON null value. By default, fields with empty values are
  2489  	// omitted from API requests. See
  2490  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2491  	NullFields []string `json:"-"`
  2492  }
  2493  
  2494  func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) {
  2495  	type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation
  2496  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2497  }
  2498  
  2499  func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error {
  2500  	type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation
  2501  	var s1 struct {
  2502  		Score gensupport.JSONFloat64 `json:"score"`
  2503  		*NoMethod
  2504  	}
  2505  	s1.NoMethod = (*NoMethod)(s)
  2506  	if err := json.Unmarshal(data, &s1); err != nil {
  2507  		return err
  2508  	}
  2509  	s.Score = float64(s1.Score)
  2510  	return nil
  2511  }
  2512  
  2513  // GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location
  2514  // information.
  2515  type GoogleCloudVisionV1p1beta1LocationInfo struct {
  2516  	// LatLng: lat/long location coordinates.
  2517  	LatLng *LatLng `json:"latLng,omitempty"`
  2518  	// ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally
  2519  	// include in API requests. By default, fields with empty or default values are
  2520  	// omitted from API requests. See
  2521  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2522  	// details.
  2523  	ForceSendFields []string `json:"-"`
  2524  	// NullFields is a list of field names (e.g. "LatLng") to include in API
  2525  	// requests with the JSON null value. By default, fields with empty values are
  2526  	// omitted from API requests. See
  2527  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2528  	NullFields []string `json:"-"`
  2529  }
  2530  
  2531  func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) {
  2532  	type NoMethod GoogleCloudVisionV1p1beta1LocationInfo
  2533  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2534  }
  2535  
  2536  // GoogleCloudVisionV1p1beta1NormalizedVertex: A vertex represents a 2D point
  2537  // in the image. NOTE: the normalized vertex coordinates are relative to the
  2538  // original image and range from 0 to 1.
  2539  type GoogleCloudVisionV1p1beta1NormalizedVertex struct {
  2540  	// X: X coordinate.
  2541  	X float64 `json:"x,omitempty"`
  2542  	// Y: Y coordinate.
  2543  	Y float64 `json:"y,omitempty"`
  2544  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  2545  	// include in API requests. By default, fields with empty or default values are
  2546  	// omitted from API requests. See
  2547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2548  	// details.
  2549  	ForceSendFields []string `json:"-"`
  2550  	// NullFields is a list of field names (e.g. "X") to include in API requests
  2551  	// with the JSON null value. By default, fields with empty values are omitted
  2552  	// from API requests. See
  2553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2554  	NullFields []string `json:"-"`
  2555  }
  2556  
  2557  func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
  2558  	type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex
  2559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2560  }
  2561  
  2562  func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
  2563  	type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex
  2564  	var s1 struct {
  2565  		X gensupport.JSONFloat64 `json:"x"`
  2566  		Y gensupport.JSONFloat64 `json:"y"`
  2567  		*NoMethod
  2568  	}
  2569  	s1.NoMethod = (*NoMethod)(s)
  2570  	if err := json.Unmarshal(data, &s1); err != nil {
  2571  		return err
  2572  	}
  2573  	s.X = float64(s1.X)
  2574  	s.Y = float64(s1.Y)
  2575  	return nil
  2576  }
  2577  
  2578  // GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for the
  2579  // BatchAnnotateImages operation.
  2580  type GoogleCloudVisionV1p1beta1OperationMetadata struct {
  2581  	// CreateTime: The time when the batch request was received.
  2582  	CreateTime string `json:"createTime,omitempty"`
  2583  	// State: Current state of the batch operation.
  2584  	//
  2585  	// Possible values:
  2586  	//   "STATE_UNSPECIFIED" - Invalid.
  2587  	//   "CREATED" - Request is received.
  2588  	//   "RUNNING" - Request is actively being processed.
  2589  	//   "DONE" - The batch processing is done.
  2590  	//   "CANCELLED" - The batch processing was cancelled.
  2591  	State string `json:"state,omitempty"`
  2592  	// UpdateTime: The time when the operation result was last updated.
  2593  	UpdateTime string `json:"updateTime,omitempty"`
  2594  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  2595  	// unconditionally include in API requests. By default, fields with empty or
  2596  	// default values are omitted from API requests. See
  2597  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2598  	// details.
  2599  	ForceSendFields []string `json:"-"`
  2600  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  2601  	// requests with the JSON null value. By default, fields with empty values are
  2602  	// omitted from API requests. See
  2603  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2604  	NullFields []string `json:"-"`
  2605  }
  2606  
  2607  func (s *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) {
  2608  	type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata
  2609  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2610  }
  2611  
  2612  // GoogleCloudVisionV1p1beta1OutputConfig: The desired output location and
  2613  // metadata.
  2614  type GoogleCloudVisionV1p1beta1OutputConfig struct {
  2615  	// BatchSize: The max number of response protos to put into each output JSON
  2616  	// file on Google Cloud Storage. The valid range is [1, 100]. If not specified,
  2617  	// the default value is 20. For example, for one pdf file with 100 pages, 100
  2618  	// response protos will be generated. If `batch_size` = 20, then 5 json files
  2619  	// each containing 20 response protos will be written under the prefix
  2620  	// `gcs_destination`.`uri`. Currently, batch_size only applies to
  2621  	// GcsDestination, with potential future support for other output
  2622  	// configurations.
  2623  	BatchSize int64 `json:"batchSize,omitempty"`
  2624  	// GcsDestination: The Google Cloud Storage location to write the output(s) to.
  2625  	GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"`
  2626  	// ForceSendFields is a list of field names (e.g. "BatchSize") to
  2627  	// unconditionally include in API requests. By default, fields with empty or
  2628  	// default values are omitted from API requests. See
  2629  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2630  	// details.
  2631  	ForceSendFields []string `json:"-"`
  2632  	// NullFields is a list of field names (e.g. "BatchSize") to include in API
  2633  	// requests with the JSON null value. By default, fields with empty values are
  2634  	// omitted from API requests. See
  2635  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2636  	NullFields []string `json:"-"`
  2637  }
  2638  
  2639  func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) {
  2640  	type NoMethod GoogleCloudVisionV1p1beta1OutputConfig
  2641  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2642  }
  2643  
  2644  // GoogleCloudVisionV1p1beta1Page: Detected page from OCR.
  2645  type GoogleCloudVisionV1p1beta1Page struct {
  2646  	// Blocks: List of blocks of text, images etc on this page.
  2647  	Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"`
  2648  	// Confidence: Confidence of the OCR results on the page. Range [0, 1].
  2649  	Confidence float64 `json:"confidence,omitempty"`
  2650  	// Height: Page height. For PDFs the unit is points. For images (including
  2651  	// TIFFs) the unit is pixels.
  2652  	Height int64 `json:"height,omitempty"`
  2653  	// Property: Additional information detected on the page.
  2654  	Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
  2655  	// Width: Page width. For PDFs the unit is points. For images (including TIFFs)
  2656  	// the unit is pixels.
  2657  	Width int64 `json:"width,omitempty"`
  2658  	// ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally
  2659  	// include in API requests. By default, fields with empty or default values are
  2660  	// omitted from API requests. See
  2661  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2662  	// details.
  2663  	ForceSendFields []string `json:"-"`
  2664  	// NullFields is a list of field names (e.g. "Blocks") to include in API
  2665  	// requests with the JSON null value. By default, fields with empty values are
  2666  	// omitted from API requests. See
  2667  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2668  	NullFields []string `json:"-"`
  2669  }
  2670  
  2671  func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) {
  2672  	type NoMethod GoogleCloudVisionV1p1beta1Page
  2673  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2674  }
  2675  
  2676  func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error {
  2677  	type NoMethod GoogleCloudVisionV1p1beta1Page
  2678  	var s1 struct {
  2679  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2680  		*NoMethod
  2681  	}
  2682  	s1.NoMethod = (*NoMethod)(s)
  2683  	if err := json.Unmarshal(data, &s1); err != nil {
  2684  		return err
  2685  	}
  2686  	s.Confidence = float64(s1.Confidence)
  2687  	return nil
  2688  }
  2689  
  2690  // GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text representing a
  2691  // number of words in certain order.
  2692  type GoogleCloudVisionV1p1beta1Paragraph struct {
  2693  	// BoundingBox: The bounding box for the paragraph. The vertices are in the
  2694  	// order of top-left, top-right, bottom-right, bottom-left. When a rotation of
  2695  	// the bounding box is detected the rotation is represented as around the
  2696  	// top-left corner as defined when the text is read in the 'natural'
  2697  	// orientation. For example: * when the text is horizontal it might look like:
  2698  	// 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner
  2699  	// it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2,
  2700  	// 3).
  2701  	BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"`
  2702  	// Confidence: Confidence of the OCR results for the paragraph. Range [0, 1].
  2703  	Confidence float64 `json:"confidence,omitempty"`
  2704  	// Property: Additional information detected for the paragraph.
  2705  	Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
  2706  	// Words: List of all words in this paragraph.
  2707  	Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"`
  2708  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  2709  	// unconditionally include in API requests. By default, fields with empty or
  2710  	// default values are omitted from API requests. See
  2711  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2712  	// details.
  2713  	ForceSendFields []string `json:"-"`
  2714  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  2715  	// requests with the JSON null value. By default, fields with empty values are
  2716  	// omitted from API requests. See
  2717  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2718  	NullFields []string `json:"-"`
  2719  }
  2720  
  2721  func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) {
  2722  	type NoMethod GoogleCloudVisionV1p1beta1Paragraph
  2723  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2724  }
  2725  
  2726  func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error {
  2727  	type NoMethod GoogleCloudVisionV1p1beta1Paragraph
  2728  	var s1 struct {
  2729  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  2730  		*NoMethod
  2731  	}
  2732  	s1.NoMethod = (*NoMethod)(s)
  2733  	if err := json.Unmarshal(data, &s1); err != nil {
  2734  		return err
  2735  	}
  2736  	s.Confidence = float64(s1.Confidence)
  2737  	return nil
  2738  }
  2739  
  2740  // GoogleCloudVisionV1p1beta1Position: A 3D position in the image, used
  2741  // primarily for Face detection landmarks. A valid Position must have both x
  2742  // and y coordinates. The position coordinates are in the same scale as the
  2743  // original image.
  2744  type GoogleCloudVisionV1p1beta1Position struct {
  2745  	// X: X coordinate.
  2746  	X float64 `json:"x,omitempty"`
  2747  	// Y: Y coordinate.
  2748  	Y float64 `json:"y,omitempty"`
  2749  	// Z: Z coordinate (or depth).
  2750  	Z float64 `json:"z,omitempty"`
  2751  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  2752  	// include in API requests. By default, fields with empty or default values are
  2753  	// omitted from API requests. See
  2754  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2755  	// details.
  2756  	ForceSendFields []string `json:"-"`
  2757  	// NullFields is a list of field names (e.g. "X") to include in API requests
  2758  	// with the JSON null value. By default, fields with empty values are omitted
  2759  	// from API requests. See
  2760  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2761  	NullFields []string `json:"-"`
  2762  }
  2763  
  2764  func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) {
  2765  	type NoMethod GoogleCloudVisionV1p1beta1Position
  2766  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2767  }
  2768  
  2769  func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error {
  2770  	type NoMethod GoogleCloudVisionV1p1beta1Position
  2771  	var s1 struct {
  2772  		X gensupport.JSONFloat64 `json:"x"`
  2773  		Y gensupport.JSONFloat64 `json:"y"`
  2774  		Z gensupport.JSONFloat64 `json:"z"`
  2775  		*NoMethod
  2776  	}
  2777  	s1.NoMethod = (*NoMethod)(s)
  2778  	if err := json.Unmarshal(data, &s1); err != nil {
  2779  		return err
  2780  	}
  2781  	s.X = float64(s1.X)
  2782  	s.Y = float64(s1.Y)
  2783  	s.Z = float64(s1.Z)
  2784  	return nil
  2785  }
  2786  
  2787  // GoogleCloudVisionV1p1beta1Product: A Product contains ReferenceImages.
  2788  type GoogleCloudVisionV1p1beta1Product struct {
  2789  	// Description: User-provided metadata to be stored with this product. Must be
  2790  	// at most 4096 characters long.
  2791  	Description string `json:"description,omitempty"`
  2792  	// DisplayName: The user-provided name for this Product. Must not be empty.
  2793  	// Must be at most 4096 characters long.
  2794  	DisplayName string `json:"displayName,omitempty"`
  2795  	// Name: The resource name of the product. Format is:
  2796  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is
  2797  	// ignored when creating a product.
  2798  	Name string `json:"name,omitempty"`
  2799  	// ProductCategory: Immutable. The category for the product identified by the
  2800  	// reference image. This should be one of "homegoods-v2", "apparel-v2",
  2801  	// "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories
  2802  	// "homegoods", "apparel", and "toys" are still supported, but these should not
  2803  	// be used for new products.
  2804  	ProductCategory string `json:"productCategory,omitempty"`
  2805  	// ProductLabels: Key-value pairs that can be attached to a product. At query
  2806  	// time, constraints can be specified based on the product_labels. Note that
  2807  	// integer values can be provided as strings, e.g. "1199". Only strings with
  2808  	// integer values can match a range-based restriction which is to be supported
  2809  	// soon. Multiple values can be assigned to the same key. One product may have
  2810  	// up to 500 product_labels. Notice that the total number of distinct
  2811  	// product_labels over all products in one ProductSet cannot exceed 1M,
  2812  	// otherwise the product search pipeline will refuse to work for that
  2813  	// ProductSet.
  2814  	ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"`
  2815  	// ForceSendFields is a list of field names (e.g. "Description") to
  2816  	// unconditionally include in API requests. By default, fields with empty or
  2817  	// default values are omitted from API requests. See
  2818  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2819  	// details.
  2820  	ForceSendFields []string `json:"-"`
  2821  	// NullFields is a list of field names (e.g. "Description") to include in API
  2822  	// requests with the JSON null value. By default, fields with empty values are
  2823  	// omitted from API requests. See
  2824  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2825  	NullFields []string `json:"-"`
  2826  }
  2827  
  2828  func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) {
  2829  	type NoMethod GoogleCloudVisionV1p1beta1Product
  2830  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2831  }
  2832  
  2833  // GoogleCloudVisionV1p1beta1ProductKeyValue: A product label represented as a
  2834  // key-value pair.
  2835  type GoogleCloudVisionV1p1beta1ProductKeyValue struct {
  2836  	// Key: The key of the label attached to the product. Cannot be empty and
  2837  	// cannot exceed 128 bytes.
  2838  	Key string `json:"key,omitempty"`
  2839  	// Value: The value of the label attached to the product. Cannot be empty and
  2840  	// cannot exceed 128 bytes.
  2841  	Value string `json:"value,omitempty"`
  2842  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  2843  	// include in API requests. By default, fields with empty or default values are
  2844  	// omitted from API requests. See
  2845  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2846  	// details.
  2847  	ForceSendFields []string `json:"-"`
  2848  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  2849  	// with the JSON null value. By default, fields with empty values are omitted
  2850  	// from API requests. See
  2851  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2852  	NullFields []string `json:"-"`
  2853  }
  2854  
  2855  func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) {
  2856  	type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue
  2857  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2858  }
  2859  
  2860  // GoogleCloudVisionV1p1beta1ProductSearchParams: Parameters for a product
  2861  // search request.
  2862  type GoogleCloudVisionV1p1beta1ProductSearchParams struct {
  2863  	// BoundingPoly: The bounding polygon around the area of interest in the image.
  2864  	// If it is not specified, system discretion will be applied.
  2865  	BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
  2866  	// Filter: The filtering expression. This can be used to restrict search
  2867  	// results based on Product labels. We currently support an AND of OR of
  2868  	// key-value expressions, where each expression within an OR must have the same
  2869  	// key. An '=' should be used to connect the key and value. For example,
  2870  	// "(color = red OR color = blue) AND brand = Google" is acceptable, but
  2871  	// "(color = red OR brand = Google)" is not acceptable. "color: red" is not
  2872  	// acceptable because it uses a ':' instead of an '='.
  2873  	Filter string `json:"filter,omitempty"`
  2874  	// ProductCategories: The list of product categories to search in. Currently,
  2875  	// we only consider the first category, and either "homegoods-v2",
  2876  	// "apparel-v2", "toys-v2", "packagedgoods-v1", or "general-v1" should be
  2877  	// specified. The legacy categories "homegoods", "apparel", and "toys" are
  2878  	// still supported but will be deprecated. For new products, please use
  2879  	// "homegoods-v2", "apparel-v2", or "toys-v2" for better product search
  2880  	// accuracy. It is recommended to migrate existing products to these categories
  2881  	// as well.
  2882  	ProductCategories []string `json:"productCategories,omitempty"`
  2883  	// ProductSet: The resource name of a ProductSet to be searched for similar
  2884  	// images. Format is:
  2885  	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
  2886  	ProductSet string `json:"productSet,omitempty"`
  2887  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  2888  	// unconditionally include in API requests. By default, fields with empty or
  2889  	// default values are omitted from API requests. See
  2890  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2891  	// details.
  2892  	ForceSendFields []string `json:"-"`
  2893  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  2894  	// requests with the JSON null value. By default, fields with empty values are
  2895  	// omitted from API requests. See
  2896  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2897  	NullFields []string `json:"-"`
  2898  }
  2899  
  2900  func (s *GoogleCloudVisionV1p1beta1ProductSearchParams) MarshalJSON() ([]byte, error) {
  2901  	type NoMethod GoogleCloudVisionV1p1beta1ProductSearchParams
  2902  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2903  }
  2904  
  2905  // GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product search
  2906  // request.
  2907  type GoogleCloudVisionV1p1beta1ProductSearchResults struct {
  2908  	// IndexTime: Timestamp of the index which provided these results. Products
  2909  	// added to the product set and products removed from the product set after
  2910  	// this time are not reflected in the current results.
  2911  	IndexTime string `json:"indexTime,omitempty"`
  2912  	// ProductGroupedResults: List of results grouped by products detected in the
  2913  	// query image. Each entry corresponds to one bounding polygon in the query
  2914  	// image, and contains the matching products specific to that region. There may
  2915  	// be duplicate product matches in the union of all the per-product results.
  2916  	ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"`
  2917  	// Results: List of results, one for each product match.
  2918  	Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"`
  2919  	// ForceSendFields is a list of field names (e.g. "IndexTime") to
  2920  	// unconditionally include in API requests. By default, fields with empty or
  2921  	// default values are omitted from API requests. See
  2922  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2923  	// details.
  2924  	ForceSendFields []string `json:"-"`
  2925  	// NullFields is a list of field names (e.g. "IndexTime") to include in API
  2926  	// requests with the JSON null value. By default, fields with empty values are
  2927  	// omitted from API requests. See
  2928  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2929  	NullFields []string `json:"-"`
  2930  }
  2931  
  2932  func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) {
  2933  	type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults
  2934  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2935  }
  2936  
  2937  // GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult: Information
  2938  // about the products similar to a single product in a query image.
  2939  type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct {
  2940  	// BoundingPoly: The bounding polygon around the product detected in the query
  2941  	// image.
  2942  	BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"`
  2943  	// ObjectAnnotations: List of generic predictions for the object in the
  2944  	// bounding box.
  2945  	ObjectAnnotations []*GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"`
  2946  	// Results: List of results, one for each product match.
  2947  	Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"`
  2948  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  2949  	// unconditionally include in API requests. By default, fields with empty or
  2950  	// default values are omitted from API requests. See
  2951  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2952  	// details.
  2953  	ForceSendFields []string `json:"-"`
  2954  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  2955  	// requests with the JSON null value. By default, fields with empty values are
  2956  	// omitted from API requests. See
  2957  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2958  	NullFields []string `json:"-"`
  2959  }
  2960  
  2961  func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) {
  2962  	type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult
  2963  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2964  }
  2965  
  2966  // GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation: Prediction
  2967  // for what the object in the bounding box is.
  2968  type GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation struct {
  2969  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  2970  	// more information, see
  2971  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  2972  	LanguageCode string `json:"languageCode,omitempty"`
  2973  	// Mid: Object ID that should align with EntityAnnotation mid.
  2974  	Mid string `json:"mid,omitempty"`
  2975  	// Name: Object name, expressed in its `language_code` language.
  2976  	Name string `json:"name,omitempty"`
  2977  	// Score: Score of the result. Range [0, 1].
  2978  	Score float64 `json:"score,omitempty"`
  2979  	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
  2980  	// unconditionally include in API requests. By default, fields with empty or
  2981  	// default values are omitted from API requests. See
  2982  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2983  	// details.
  2984  	ForceSendFields []string `json:"-"`
  2985  	// NullFields is a list of field names (e.g. "LanguageCode") to include in API
  2986  	// requests with the JSON null value. By default, fields with empty values are
  2987  	// omitted from API requests. See
  2988  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2989  	NullFields []string `json:"-"`
  2990  }
  2991  
  2992  func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) {
  2993  	type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation
  2994  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2995  }
  2996  
  2997  func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error {
  2998  	type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation
  2999  	var s1 struct {
  3000  		Score gensupport.JSONFloat64 `json:"score"`
  3001  		*NoMethod
  3002  	}
  3003  	s1.NoMethod = (*NoMethod)(s)
  3004  	if err := json.Unmarshal(data, &s1); err != nil {
  3005  		return err
  3006  	}
  3007  	s.Score = float64(s1.Score)
  3008  	return nil
  3009  }
  3010  
  3011  // GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information about a
  3012  // product.
  3013  type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct {
  3014  	// Image: The resource name of the image from the product that is the closest
  3015  	// match to the query.
  3016  	Image string `json:"image,omitempty"`
  3017  	// Product: The Product.
  3018  	Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"`
  3019  	// Score: A confidence level on the match, ranging from 0 (no confidence) to 1
  3020  	// (full confidence).
  3021  	Score float64 `json:"score,omitempty"`
  3022  	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
  3023  	// include in API requests. By default, fields with empty or default values are
  3024  	// omitted from API requests. See
  3025  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3026  	// details.
  3027  	ForceSendFields []string `json:"-"`
  3028  	// NullFields is a list of field names (e.g. "Image") to include in API
  3029  	// requests with the JSON null value. By default, fields with empty values are
  3030  	// omitted from API requests. See
  3031  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3032  	NullFields []string `json:"-"`
  3033  }
  3034  
  3035  func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) {
  3036  	type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult
  3037  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3038  }
  3039  
  3040  func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error {
  3041  	type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult
  3042  	var s1 struct {
  3043  		Score gensupport.JSONFloat64 `json:"score"`
  3044  		*NoMethod
  3045  	}
  3046  	s1.NoMethod = (*NoMethod)(s)
  3047  	if err := json.Unmarshal(data, &s1); err != nil {
  3048  		return err
  3049  	}
  3050  	s.Score = float64(s1.Score)
  3051  	return nil
  3052  }
  3053  
  3054  // GoogleCloudVisionV1p1beta1Property: A `Property` consists of a user-supplied
  3055  // name/value pair.
  3056  type GoogleCloudVisionV1p1beta1Property struct {
  3057  	// Name: Name of the property.
  3058  	Name string `json:"name,omitempty"`
  3059  	// Uint64Value: Value of numeric properties.
  3060  	Uint64Value uint64 `json:"uint64Value,omitempty,string"`
  3061  	// Value: Value of the property.
  3062  	Value string `json:"value,omitempty"`
  3063  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  3064  	// include in API requests. By default, fields with empty or default values are
  3065  	// omitted from API requests. See
  3066  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3067  	// details.
  3068  	ForceSendFields []string `json:"-"`
  3069  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  3070  	// with the JSON null value. By default, fields with empty values are omitted
  3071  	// from API requests. See
  3072  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3073  	NullFields []string `json:"-"`
  3074  }
  3075  
  3076  func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) {
  3077  	type NoMethod GoogleCloudVisionV1p1beta1Property
  3078  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3079  }
  3080  
  3081  // GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features pertaining
  3082  // to the image, computed by computer vision methods over safe-search verticals
  3083  // (for example, adult, spoof, medical, violence).
  3084  type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct {
  3085  	// Adult: Represents the adult content likelihood for the image. Adult content
  3086  	// may contain elements such as nudity, pornographic images or cartoons, or
  3087  	// sexual activities.
  3088  	//
  3089  	// Possible values:
  3090  	//   "UNKNOWN" - Unknown likelihood.
  3091  	//   "VERY_UNLIKELY" - It is very unlikely.
  3092  	//   "UNLIKELY" - It is unlikely.
  3093  	//   "POSSIBLE" - It is possible.
  3094  	//   "LIKELY" - It is likely.
  3095  	//   "VERY_LIKELY" - It is very likely.
  3096  	Adult string `json:"adult,omitempty"`
  3097  	// Medical: Likelihood that this is a medical image.
  3098  	//
  3099  	// Possible values:
  3100  	//   "UNKNOWN" - Unknown likelihood.
  3101  	//   "VERY_UNLIKELY" - It is very unlikely.
  3102  	//   "UNLIKELY" - It is unlikely.
  3103  	//   "POSSIBLE" - It is possible.
  3104  	//   "LIKELY" - It is likely.
  3105  	//   "VERY_LIKELY" - It is very likely.
  3106  	Medical string `json:"medical,omitempty"`
  3107  	// Racy: Likelihood that the request image contains racy content. Racy content
  3108  	// may include (but is not limited to) skimpy or sheer clothing, strategically
  3109  	// covered nudity, lewd or provocative poses, or close-ups of sensitive body
  3110  	// areas.
  3111  	//
  3112  	// Possible values:
  3113  	//   "UNKNOWN" - Unknown likelihood.
  3114  	//   "VERY_UNLIKELY" - It is very unlikely.
  3115  	//   "UNLIKELY" - It is unlikely.
  3116  	//   "POSSIBLE" - It is possible.
  3117  	//   "LIKELY" - It is likely.
  3118  	//   "VERY_LIKELY" - It is very likely.
  3119  	Racy string `json:"racy,omitempty"`
  3120  	// Spoof: Spoof likelihood. The likelihood that an modification was made to the
  3121  	// image's canonical version to make it appear funny or offensive.
  3122  	//
  3123  	// Possible values:
  3124  	//   "UNKNOWN" - Unknown likelihood.
  3125  	//   "VERY_UNLIKELY" - It is very unlikely.
  3126  	//   "UNLIKELY" - It is unlikely.
  3127  	//   "POSSIBLE" - It is possible.
  3128  	//   "LIKELY" - It is likely.
  3129  	//   "VERY_LIKELY" - It is very likely.
  3130  	Spoof string `json:"spoof,omitempty"`
  3131  	// Violence: Likelihood that this image contains violent content. Violent
  3132  	// content may include death, serious harm, or injury to individuals or groups
  3133  	// of individuals.
  3134  	//
  3135  	// Possible values:
  3136  	//   "UNKNOWN" - Unknown likelihood.
  3137  	//   "VERY_UNLIKELY" - It is very unlikely.
  3138  	//   "UNLIKELY" - It is unlikely.
  3139  	//   "POSSIBLE" - It is possible.
  3140  	//   "LIKELY" - It is likely.
  3141  	//   "VERY_LIKELY" - It is very likely.
  3142  	Violence string `json:"violence,omitempty"`
  3143  	// ForceSendFields is a list of field names (e.g. "Adult") to unconditionally
  3144  	// include in API requests. By default, fields with empty or default values are
  3145  	// omitted from API requests. See
  3146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3147  	// details.
  3148  	ForceSendFields []string `json:"-"`
  3149  	// NullFields is a list of field names (e.g. "Adult") to include in API
  3150  	// requests with the JSON null value. By default, fields with empty values are
  3151  	// omitted from API requests. See
  3152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3153  	NullFields []string `json:"-"`
  3154  }
  3155  
  3156  func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) {
  3157  	type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation
  3158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3159  }
  3160  
  3161  // GoogleCloudVisionV1p1beta1Symbol: A single symbol representation.
  3162  type GoogleCloudVisionV1p1beta1Symbol struct {
  3163  	// BoundingBox: The bounding box for the symbol. The vertices are in the order
  3164  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  3165  	// bounding box is detected the rotation is represented as around the top-left
  3166  	// corner as defined when the text is read in the 'natural' orientation. For
  3167  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  3168  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  3169  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  3170  	BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"`
  3171  	// Confidence: Confidence of the OCR results for the symbol. Range [0, 1].
  3172  	Confidence float64 `json:"confidence,omitempty"`
  3173  	// Property: Additional information detected for the symbol.
  3174  	Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
  3175  	// Text: The actual UTF-8 representation of the symbol.
  3176  	Text string `json:"text,omitempty"`
  3177  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  3178  	// unconditionally include in API requests. By default, fields with empty or
  3179  	// default values are omitted from API requests. See
  3180  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3181  	// details.
  3182  	ForceSendFields []string `json:"-"`
  3183  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  3184  	// requests with the JSON null value. By default, fields with empty values are
  3185  	// omitted from API requests. See
  3186  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3187  	NullFields []string `json:"-"`
  3188  }
  3189  
  3190  func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) {
  3191  	type NoMethod GoogleCloudVisionV1p1beta1Symbol
  3192  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3193  }
  3194  
  3195  func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error {
  3196  	type NoMethod GoogleCloudVisionV1p1beta1Symbol
  3197  	var s1 struct {
  3198  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3199  		*NoMethod
  3200  	}
  3201  	s1.NoMethod = (*NoMethod)(s)
  3202  	if err := json.Unmarshal(data, &s1); err != nil {
  3203  		return err
  3204  	}
  3205  	s.Confidence = float64(s1.Confidence)
  3206  	return nil
  3207  }
  3208  
  3209  // GoogleCloudVisionV1p1beta1TextAnnotation: TextAnnotation contains a
  3210  // structured representation of OCR extracted text. The hierarchy of an OCR
  3211  // extracted text structure is like this: TextAnnotation -> Page -> Block ->
  3212  // Paragraph -> Word -> Symbol Each structural component, starting from Page,
  3213  // may further have their own properties. Properties describe detected
  3214  // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty
  3215  // message definition below for more detail.
  3216  type GoogleCloudVisionV1p1beta1TextAnnotation struct {
  3217  	// Pages: List of pages detected by OCR.
  3218  	Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"`
  3219  	// Text: UTF-8 text detected on the pages.
  3220  	Text string `json:"text,omitempty"`
  3221  	// ForceSendFields is a list of field names (e.g. "Pages") to unconditionally
  3222  	// include in API requests. By default, fields with empty or default values are
  3223  	// omitted from API requests. See
  3224  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3225  	// details.
  3226  	ForceSendFields []string `json:"-"`
  3227  	// NullFields is a list of field names (e.g. "Pages") to include in API
  3228  	// requests with the JSON null value. By default, fields with empty values are
  3229  	// omitted from API requests. See
  3230  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3231  	NullFields []string `json:"-"`
  3232  }
  3233  
  3234  func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) {
  3235  	type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation
  3236  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3237  }
  3238  
  3239  // GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start or end
  3240  // of a structural component.
  3241  type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct {
  3242  	// IsPrefix: True if break prepends the element.
  3243  	IsPrefix bool `json:"isPrefix,omitempty"`
  3244  	// Type: Detected break type.
  3245  	//
  3246  	// Possible values:
  3247  	//   "UNKNOWN" - Unknown break label type.
  3248  	//   "SPACE" - Regular space.
  3249  	//   "SURE_SPACE" - Sure space (very wide).
  3250  	//   "EOL_SURE_SPACE" - Line-wrapping break.
  3251  	//   "HYPHEN" - End-line hyphen that is not present in text; does not co-occur
  3252  	// with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`.
  3253  	//   "LINE_BREAK" - Line break that ends a paragraph.
  3254  	Type string `json:"type,omitempty"`
  3255  	// ForceSendFields is a list of field names (e.g. "IsPrefix") to
  3256  	// unconditionally include in API requests. By default, fields with empty or
  3257  	// default values are omitted from API requests. See
  3258  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3259  	// details.
  3260  	ForceSendFields []string `json:"-"`
  3261  	// NullFields is a list of field names (e.g. "IsPrefix") to include in API
  3262  	// requests with the JSON null value. By default, fields with empty values are
  3263  	// omitted from API requests. See
  3264  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3265  	NullFields []string `json:"-"`
  3266  }
  3267  
  3268  func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) {
  3269  	type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak
  3270  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3271  }
  3272  
  3273  // GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected language
  3274  // for a structural component.
  3275  type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct {
  3276  	// Confidence: Confidence of detected language. Range [0, 1].
  3277  	Confidence float64 `json:"confidence,omitempty"`
  3278  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  3279  	// more information, see
  3280  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  3281  	LanguageCode string `json:"languageCode,omitempty"`
  3282  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  3283  	// unconditionally include in API requests. By default, fields with empty or
  3284  	// default values are omitted from API requests. See
  3285  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3286  	// details.
  3287  	ForceSendFields []string `json:"-"`
  3288  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  3289  	// requests with the JSON null value. By default, fields with empty values are
  3290  	// omitted from API requests. See
  3291  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3292  	NullFields []string `json:"-"`
  3293  }
  3294  
  3295  func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) {
  3296  	type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage
  3297  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3298  }
  3299  
  3300  func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error {
  3301  	type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage
  3302  	var s1 struct {
  3303  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3304  		*NoMethod
  3305  	}
  3306  	s1.NoMethod = (*NoMethod)(s)
  3307  	if err := json.Unmarshal(data, &s1); err != nil {
  3308  		return err
  3309  	}
  3310  	s.Confidence = float64(s1.Confidence)
  3311  	return nil
  3312  }
  3313  
  3314  // GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional information
  3315  // detected on the structural component.
  3316  type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct {
  3317  	// DetectedBreak: Detected start or end of a text segment.
  3318  	DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"`
  3319  	// DetectedLanguages: A list of detected languages together with confidence.
  3320  	DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"`
  3321  	// ForceSendFields is a list of field names (e.g. "DetectedBreak") to
  3322  	// unconditionally include in API requests. By default, fields with empty or
  3323  	// default values are omitted from API requests. See
  3324  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3325  	// details.
  3326  	ForceSendFields []string `json:"-"`
  3327  	// NullFields is a list of field names (e.g. "DetectedBreak") to include in API
  3328  	// requests with the JSON null value. By default, fields with empty values are
  3329  	// omitted from API requests. See
  3330  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3331  	NullFields []string `json:"-"`
  3332  }
  3333  
  3334  func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) {
  3335  	type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty
  3336  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3337  }
  3338  
  3339  // GoogleCloudVisionV1p1beta1TextDetectionParams: Parameters for text
  3340  // detections. This is used to control TEXT_DETECTION and
  3341  // DOCUMENT_TEXT_DETECTION features.
  3342  type GoogleCloudVisionV1p1beta1TextDetectionParams struct {
  3343  	// AdvancedOcrOptions: A list of advanced OCR options to further fine-tune OCR
  3344  	// behavior. Current valid values are: - `legacy_layout`: a heuristics layout
  3345  	// detection algorithm, which serves as an alternative to the current ML-based
  3346  	// layout detection algorithm. Customers can choose the best suitable layout
  3347  	// algorithm based on their situation.
  3348  	AdvancedOcrOptions []string `json:"advancedOcrOptions,omitempty"`
  3349  	// EnableTextDetectionConfidenceScore: By default, Cloud Vision API only
  3350  	// includes confidence score for DOCUMENT_TEXT_DETECTION result. Set the flag
  3351  	// to true to include confidence score for TEXT_DETECTION as well.
  3352  	EnableTextDetectionConfidenceScore bool `json:"enableTextDetectionConfidenceScore,omitempty"`
  3353  	// ForceSendFields is a list of field names (e.g. "AdvancedOcrOptions") to
  3354  	// unconditionally include in API requests. By default, fields with empty or
  3355  	// default values are omitted from API requests. See
  3356  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3357  	// details.
  3358  	ForceSendFields []string `json:"-"`
  3359  	// NullFields is a list of field names (e.g. "AdvancedOcrOptions") to include
  3360  	// in API requests with the JSON null value. By default, fields with empty
  3361  	// values are omitted from API requests. See
  3362  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3363  	NullFields []string `json:"-"`
  3364  }
  3365  
  3366  func (s *GoogleCloudVisionV1p1beta1TextDetectionParams) MarshalJSON() ([]byte, error) {
  3367  	type NoMethod GoogleCloudVisionV1p1beta1TextDetectionParams
  3368  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3369  }
  3370  
  3371  // GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in the
  3372  // image. NOTE: the vertex coordinates are in the same scale as the original
  3373  // image.
  3374  type GoogleCloudVisionV1p1beta1Vertex struct {
  3375  	// X: X coordinate.
  3376  	X int64 `json:"x,omitempty"`
  3377  	// Y: Y coordinate.
  3378  	Y int64 `json:"y,omitempty"`
  3379  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  3380  	// include in API requests. By default, fields with empty or default values are
  3381  	// omitted from API requests. See
  3382  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3383  	// details.
  3384  	ForceSendFields []string `json:"-"`
  3385  	// NullFields is a list of field names (e.g. "X") to include in API requests
  3386  	// with the JSON null value. By default, fields with empty values are omitted
  3387  	// from API requests. See
  3388  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3389  	NullFields []string `json:"-"`
  3390  }
  3391  
  3392  func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) {
  3393  	type NoMethod GoogleCloudVisionV1p1beta1Vertex
  3394  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3395  }
  3396  
  3397  // GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the image
  3398  // from the Internet.
  3399  type GoogleCloudVisionV1p1beta1WebDetection struct {
  3400  	// BestGuessLabels: The service's best guess as to the topic of the request
  3401  	// image. Inferred from similar images on the open web.
  3402  	BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"`
  3403  	// FullMatchingImages: Fully matching images from the Internet. Can include
  3404  	// resized copies of the query image.
  3405  	FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  3406  	// PagesWithMatchingImages: Web pages containing the matching images from the
  3407  	// Internet.
  3408  	PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"`
  3409  	// PartialMatchingImages: Partial matching images from the Internet. Those
  3410  	// images are similar enough to share some key-point features. For example an
  3411  	// original image will likely have partial matching for its crops.
  3412  	PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  3413  	// VisuallySimilarImages: The visually similar image results.
  3414  	VisuallySimilarImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"`
  3415  	// WebEntities: Deduced entities from similar images on the Internet.
  3416  	WebEntities []*GoogleCloudVisionV1p1beta1WebDetectionWebEntity `json:"webEntities,omitempty"`
  3417  	// ForceSendFields is a list of field names (e.g. "BestGuessLabels") to
  3418  	// unconditionally include in API requests. By default, fields with empty or
  3419  	// default values are omitted from API requests. See
  3420  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3421  	// details.
  3422  	ForceSendFields []string `json:"-"`
  3423  	// NullFields is a list of field names (e.g. "BestGuessLabels") to include in
  3424  	// API requests with the JSON null value. By default, fields with empty values
  3425  	// are omitted from API requests. See
  3426  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3427  	NullFields []string `json:"-"`
  3428  }
  3429  
  3430  func (s *GoogleCloudVisionV1p1beta1WebDetection) MarshalJSON() ([]byte, error) {
  3431  	type NoMethod GoogleCloudVisionV1p1beta1WebDetection
  3432  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3433  }
  3434  
  3435  // GoogleCloudVisionV1p1beta1WebDetectionParams: Parameters for web detection
  3436  // request.
  3437  type GoogleCloudVisionV1p1beta1WebDetectionParams struct {
  3438  	// IncludeGeoResults: This field has no effect on results.
  3439  	IncludeGeoResults bool `json:"includeGeoResults,omitempty"`
  3440  	// ForceSendFields is a list of field names (e.g. "IncludeGeoResults") to
  3441  	// unconditionally include in API requests. By default, fields with empty or
  3442  	// default values are omitted from API requests. See
  3443  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3444  	// details.
  3445  	ForceSendFields []string `json:"-"`
  3446  	// NullFields is a list of field names (e.g. "IncludeGeoResults") to include in
  3447  	// API requests with the JSON null value. By default, fields with empty values
  3448  	// are omitted from API requests. See
  3449  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3450  	NullFields []string `json:"-"`
  3451  }
  3452  
  3453  func (s *GoogleCloudVisionV1p1beta1WebDetectionParams) MarshalJSON() ([]byte, error) {
  3454  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionParams
  3455  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3456  }
  3457  
  3458  // GoogleCloudVisionV1p1beta1WebDetectionWebEntity: Entity deduced from similar
  3459  // images on the Internet.
  3460  type GoogleCloudVisionV1p1beta1WebDetectionWebEntity struct {
  3461  	// Description: Canonical description of the entity, in English.
  3462  	Description string `json:"description,omitempty"`
  3463  	// EntityId: Opaque entity ID.
  3464  	EntityId string `json:"entityId,omitempty"`
  3465  	// Score: Overall relevancy score for the entity. Not normalized and not
  3466  	// comparable across different image queries.
  3467  	Score float64 `json:"score,omitempty"`
  3468  	// ForceSendFields is a list of field names (e.g. "Description") to
  3469  	// unconditionally include in API requests. By default, fields with empty or
  3470  	// default values are omitted from API requests. See
  3471  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3472  	// details.
  3473  	ForceSendFields []string `json:"-"`
  3474  	// NullFields is a list of field names (e.g. "Description") to include in API
  3475  	// requests with the JSON null value. By default, fields with empty values are
  3476  	// omitted from API requests. See
  3477  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3478  	NullFields []string `json:"-"`
  3479  }
  3480  
  3481  func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) {
  3482  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity
  3483  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3484  }
  3485  
  3486  func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error {
  3487  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity
  3488  	var s1 struct {
  3489  		Score gensupport.JSONFloat64 `json:"score"`
  3490  		*NoMethod
  3491  	}
  3492  	s1.NoMethod = (*NoMethod)(s)
  3493  	if err := json.Unmarshal(data, &s1); err != nil {
  3494  		return err
  3495  	}
  3496  	s.Score = float64(s1.Score)
  3497  	return nil
  3498  }
  3499  
  3500  // GoogleCloudVisionV1p1beta1WebDetectionWebImage: Metadata for online images.
  3501  type GoogleCloudVisionV1p1beta1WebDetectionWebImage struct {
  3502  	// Score: (Deprecated) Overall relevancy score for the image.
  3503  	Score float64 `json:"score,omitempty"`
  3504  	// Url: The result image URL.
  3505  	Url string `json:"url,omitempty"`
  3506  	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
  3507  	// include in API requests. By default, fields with empty or default values are
  3508  	// omitted from API requests. See
  3509  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3510  	// details.
  3511  	ForceSendFields []string `json:"-"`
  3512  	// NullFields is a list of field names (e.g. "Score") to include in API
  3513  	// requests with the JSON null value. By default, fields with empty values are
  3514  	// omitted from API requests. See
  3515  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3516  	NullFields []string `json:"-"`
  3517  }
  3518  
  3519  func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) {
  3520  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage
  3521  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3522  }
  3523  
  3524  func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error {
  3525  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage
  3526  	var s1 struct {
  3527  		Score gensupport.JSONFloat64 `json:"score"`
  3528  		*NoMethod
  3529  	}
  3530  	s1.NoMethod = (*NoMethod)(s)
  3531  	if err := json.Unmarshal(data, &s1); err != nil {
  3532  		return err
  3533  	}
  3534  	s.Score = float64(s1.Score)
  3535  	return nil
  3536  }
  3537  
  3538  // GoogleCloudVisionV1p1beta1WebDetectionWebLabel: Label to provide extra
  3539  // metadata for the web detection.
  3540  type GoogleCloudVisionV1p1beta1WebDetectionWebLabel struct {
  3541  	// Label: Label for extra metadata.
  3542  	Label string `json:"label,omitempty"`
  3543  	// LanguageCode: The BCP-47 language code for `label`, such as "en-US" or
  3544  	// "sr-Latn". For more information, see
  3545  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  3546  	LanguageCode string `json:"languageCode,omitempty"`
  3547  	// ForceSendFields is a list of field names (e.g. "Label") to unconditionally
  3548  	// include in API requests. By default, fields with empty or default values are
  3549  	// omitted from API requests. See
  3550  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3551  	// details.
  3552  	ForceSendFields []string `json:"-"`
  3553  	// NullFields is a list of field names (e.g. "Label") to include in API
  3554  	// requests with the JSON null value. By default, fields with empty values are
  3555  	// omitted from API requests. See
  3556  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3557  	NullFields []string `json:"-"`
  3558  }
  3559  
  3560  func (s *GoogleCloudVisionV1p1beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) {
  3561  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebLabel
  3562  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3563  }
  3564  
  3565  // GoogleCloudVisionV1p1beta1WebDetectionWebPage: Metadata for web pages.
  3566  type GoogleCloudVisionV1p1beta1WebDetectionWebPage struct {
  3567  	// FullMatchingImages: Fully matching images on the page. Can include resized
  3568  	// copies of the query image.
  3569  	FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  3570  	// PageTitle: Title for the web page, may contain HTML markups.
  3571  	PageTitle string `json:"pageTitle,omitempty"`
  3572  	// PartialMatchingImages: Partial matching images on the page. Those images are
  3573  	// similar enough to share some key-point features. For example an original
  3574  	// image will likely have partial matching for its crops.
  3575  	PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  3576  	// Score: (Deprecated) Overall relevancy score for the web page.
  3577  	Score float64 `json:"score,omitempty"`
  3578  	// Url: The result web page URL.
  3579  	Url string `json:"url,omitempty"`
  3580  	// ForceSendFields is a list of field names (e.g. "FullMatchingImages") to
  3581  	// unconditionally include in API requests. By default, fields with empty or
  3582  	// default values are omitted from API requests. See
  3583  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3584  	// details.
  3585  	ForceSendFields []string `json:"-"`
  3586  	// NullFields is a list of field names (e.g. "FullMatchingImages") to include
  3587  	// in API requests with the JSON null value. By default, fields with empty
  3588  	// values are omitted from API requests. See
  3589  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3590  	NullFields []string `json:"-"`
  3591  }
  3592  
  3593  func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) {
  3594  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage
  3595  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3596  }
  3597  
  3598  func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error {
  3599  	type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage
  3600  	var s1 struct {
  3601  		Score gensupport.JSONFloat64 `json:"score"`
  3602  		*NoMethod
  3603  	}
  3604  	s1.NoMethod = (*NoMethod)(s)
  3605  	if err := json.Unmarshal(data, &s1); err != nil {
  3606  		return err
  3607  	}
  3608  	s.Score = float64(s1.Score)
  3609  	return nil
  3610  }
  3611  
  3612  // GoogleCloudVisionV1p1beta1Word: A word representation.
  3613  type GoogleCloudVisionV1p1beta1Word struct {
  3614  	// BoundingBox: The bounding box for the word. The vertices are in the order of
  3615  	// top-left, top-right, bottom-right, bottom-left. When a rotation of the
  3616  	// bounding box is detected the rotation is represented as around the top-left
  3617  	// corner as defined when the text is read in the 'natural' orientation. For
  3618  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  3619  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  3620  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  3621  	BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"`
  3622  	// Confidence: Confidence of the OCR results for the word. Range [0, 1].
  3623  	Confidence float64 `json:"confidence,omitempty"`
  3624  	// Property: Additional information detected for the word.
  3625  	Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"`
  3626  	// Symbols: List of symbols in the word. The order of the symbols follows the
  3627  	// natural reading order.
  3628  	Symbols []*GoogleCloudVisionV1p1beta1Symbol `json:"symbols,omitempty"`
  3629  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  3630  	// unconditionally include in API requests. By default, fields with empty or
  3631  	// default values are omitted from API requests. See
  3632  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3633  	// details.
  3634  	ForceSendFields []string `json:"-"`
  3635  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  3636  	// requests with the JSON null value. By default, fields with empty values are
  3637  	// omitted from API requests. See
  3638  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3639  	NullFields []string `json:"-"`
  3640  }
  3641  
  3642  func (s *GoogleCloudVisionV1p1beta1Word) MarshalJSON() ([]byte, error) {
  3643  	type NoMethod GoogleCloudVisionV1p1beta1Word
  3644  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3645  }
  3646  
  3647  func (s *GoogleCloudVisionV1p1beta1Word) UnmarshalJSON(data []byte) error {
  3648  	type NoMethod GoogleCloudVisionV1p1beta1Word
  3649  	var s1 struct {
  3650  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3651  		*NoMethod
  3652  	}
  3653  	s1.NoMethod = (*NoMethod)(s)
  3654  	if err := json.Unmarshal(data, &s1); err != nil {
  3655  		return err
  3656  	}
  3657  	s.Confidence = float64(s1.Confidence)
  3658  	return nil
  3659  }
  3660  
  3661  // GoogleCloudVisionV1p2beta1AnnotateFileResponse: Response to a single file
  3662  // annotation request. A file may contain one or more images, which
  3663  // individually have their own responses.
  3664  type GoogleCloudVisionV1p2beta1AnnotateFileResponse struct {
  3665  	// Error: If set, represents the error message for the failed request. The
  3666  	// `responses` field will not be set in this case.
  3667  	Error *Status `json:"error,omitempty"`
  3668  	// InputConfig: Information about the file for which this response is
  3669  	// generated.
  3670  	InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"`
  3671  	// Responses: Individual responses to images found within the file. This field
  3672  	// will be empty if the `error` field is set.
  3673  	Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"`
  3674  	// TotalPages: This field gives the total number of pages in the file.
  3675  	TotalPages int64 `json:"totalPages,omitempty"`
  3676  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  3677  	// include in API requests. By default, fields with empty or default values are
  3678  	// omitted from API requests. See
  3679  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3680  	// details.
  3681  	ForceSendFields []string `json:"-"`
  3682  	// NullFields is a list of field names (e.g. "Error") to include in API
  3683  	// requests with the JSON null value. By default, fields with empty values are
  3684  	// omitted from API requests. See
  3685  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3686  	NullFields []string `json:"-"`
  3687  }
  3688  
  3689  func (s *GoogleCloudVisionV1p2beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) {
  3690  	type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileResponse
  3691  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3692  }
  3693  
  3694  // GoogleCloudVisionV1p2beta1AnnotateImageResponse: Response to an image
  3695  // annotation request.
  3696  type GoogleCloudVisionV1p2beta1AnnotateImageResponse struct {
  3697  	// Context: If present, contextual information is needed to understand where
  3698  	// this image comes from.
  3699  	Context *GoogleCloudVisionV1p2beta1ImageAnnotationContext `json:"context,omitempty"`
  3700  	// CropHintsAnnotation: If present, crop hints have completed successfully.
  3701  	CropHintsAnnotation *GoogleCloudVisionV1p2beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"`
  3702  	// Error: If set, represents the error message for the operation. Note that
  3703  	// filled-in image annotations are guaranteed to be correct, even when `error`
  3704  	// is set.
  3705  	Error *Status `json:"error,omitempty"`
  3706  	// FaceAnnotations: If present, face detection has completed successfully.
  3707  	FaceAnnotations []*GoogleCloudVisionV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
  3708  	// FullTextAnnotation: If present, text (OCR) detection or document (OCR) text
  3709  	// detection has completed successfully. This annotation provides the
  3710  	// structural hierarchy for the OCR detected text.
  3711  	FullTextAnnotation *GoogleCloudVisionV1p2beta1TextAnnotation `json:"fullTextAnnotation,omitempty"`
  3712  	// ImagePropertiesAnnotation: If present, image properties were extracted
  3713  	// successfully.
  3714  	ImagePropertiesAnnotation *GoogleCloudVisionV1p2beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"`
  3715  	// LabelAnnotations: If present, label detection has completed successfully.
  3716  	LabelAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"labelAnnotations,omitempty"`
  3717  	// LandmarkAnnotations: If present, landmark detection has completed
  3718  	// successfully.
  3719  	LandmarkAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"`
  3720  	// LocalizedObjectAnnotations: If present, localized object detection has
  3721  	// completed successfully. This will be sorted descending by confidence score.
  3722  	LocalizedObjectAnnotations []*GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"`
  3723  	// LogoAnnotations: If present, logo detection has completed successfully.
  3724  	LogoAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"logoAnnotations,omitempty"`
  3725  	// ProductSearchResults: If present, product search has completed successfully.
  3726  	ProductSearchResults *GoogleCloudVisionV1p2beta1ProductSearchResults `json:"productSearchResults,omitempty"`
  3727  	// SafeSearchAnnotation: If present, safe-search annotation has completed
  3728  	// successfully.
  3729  	SafeSearchAnnotation *GoogleCloudVisionV1p2beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"`
  3730  	// TextAnnotations: If present, text (OCR) detection has completed
  3731  	// successfully.
  3732  	TextAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"textAnnotations,omitempty"`
  3733  	// WebDetection: If present, web detection has completed successfully.
  3734  	WebDetection *GoogleCloudVisionV1p2beta1WebDetection `json:"webDetection,omitempty"`
  3735  	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
  3736  	// include in API requests. By default, fields with empty or default values are
  3737  	// omitted from API requests. See
  3738  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3739  	// details.
  3740  	ForceSendFields []string `json:"-"`
  3741  	// NullFields is a list of field names (e.g. "Context") to include in API
  3742  	// requests with the JSON null value. By default, fields with empty values are
  3743  	// omitted from API requests. See
  3744  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3745  	NullFields []string `json:"-"`
  3746  }
  3747  
  3748  func (s *GoogleCloudVisionV1p2beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) {
  3749  	type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageResponse
  3750  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3751  }
  3752  
  3753  // GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse: The response for a
  3754  // single offline file annotation request.
  3755  type GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse struct {
  3756  	// OutputConfig: The output location and metadata from
  3757  	// AsyncAnnotateFileRequest.
  3758  	OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"`
  3759  	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
  3760  	// unconditionally include in API requests. By default, fields with empty or
  3761  	// default values are omitted from API requests. See
  3762  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3763  	// details.
  3764  	ForceSendFields []string `json:"-"`
  3765  	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
  3766  	// requests with the JSON null value. By default, fields with empty values are
  3767  	// omitted from API requests. See
  3768  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3769  	NullFields []string `json:"-"`
  3770  }
  3771  
  3772  func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) {
  3773  	type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse
  3774  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3775  }
  3776  
  3777  // GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse: Response to an
  3778  // async batch file annotation request.
  3779  type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse struct {
  3780  	// Responses: The list of file annotation responses, one for each request in
  3781  	// AsyncBatchAnnotateFilesRequest.
  3782  	Responses []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse `json:"responses,omitempty"`
  3783  	// ForceSendFields is a list of field names (e.g. "Responses") to
  3784  	// unconditionally include in API requests. By default, fields with empty or
  3785  	// default values are omitted from API requests. See
  3786  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3787  	// details.
  3788  	ForceSendFields []string `json:"-"`
  3789  	// NullFields is a list of field names (e.g. "Responses") to include in API
  3790  	// requests with the JSON null value. By default, fields with empty values are
  3791  	// omitted from API requests. See
  3792  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3793  	NullFields []string `json:"-"`
  3794  }
  3795  
  3796  func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
  3797  	type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse
  3798  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3799  }
  3800  
  3801  // GoogleCloudVisionV1p2beta1Block: Logical element on the page.
  3802  type GoogleCloudVisionV1p2beta1Block struct {
  3803  	// BlockType: Detected block type (text, image etc) for this block.
  3804  	//
  3805  	// Possible values:
  3806  	//   "UNKNOWN" - Unknown block type.
  3807  	//   "TEXT" - Regular text block.
  3808  	//   "TABLE" - Table block.
  3809  	//   "PICTURE" - Image block.
  3810  	//   "RULER" - Horizontal/vertical line box.
  3811  	//   "BARCODE" - Barcode block.
  3812  	BlockType string `json:"blockType,omitempty"`
  3813  	// BoundingBox: The bounding box for the block. The vertices are in the order
  3814  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  3815  	// bounding box is detected the rotation is represented as around the top-left
  3816  	// corner as defined when the text is read in the 'natural' orientation. For
  3817  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  3818  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  3819  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  3820  	BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"`
  3821  	// Confidence: Confidence of the OCR results on the block. Range [0, 1].
  3822  	Confidence float64 `json:"confidence,omitempty"`
  3823  	// Paragraphs: List of paragraphs in this block (if this blocks is of type
  3824  	// text).
  3825  	Paragraphs []*GoogleCloudVisionV1p2beta1Paragraph `json:"paragraphs,omitempty"`
  3826  	// Property: Additional information detected for the block.
  3827  	Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"`
  3828  	// ForceSendFields is a list of field names (e.g. "BlockType") to
  3829  	// unconditionally include in API requests. By default, fields with empty or
  3830  	// default values are omitted from API requests. See
  3831  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3832  	// details.
  3833  	ForceSendFields []string `json:"-"`
  3834  	// NullFields is a list of field names (e.g. "BlockType") to include in API
  3835  	// requests with the JSON null value. By default, fields with empty values are
  3836  	// omitted from API requests. See
  3837  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3838  	NullFields []string `json:"-"`
  3839  }
  3840  
  3841  func (s *GoogleCloudVisionV1p2beta1Block) MarshalJSON() ([]byte, error) {
  3842  	type NoMethod GoogleCloudVisionV1p2beta1Block
  3843  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3844  }
  3845  
  3846  func (s *GoogleCloudVisionV1p2beta1Block) UnmarshalJSON(data []byte) error {
  3847  	type NoMethod GoogleCloudVisionV1p2beta1Block
  3848  	var s1 struct {
  3849  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  3850  		*NoMethod
  3851  	}
  3852  	s1.NoMethod = (*NoMethod)(s)
  3853  	if err := json.Unmarshal(data, &s1); err != nil {
  3854  		return err
  3855  	}
  3856  	s.Confidence = float64(s1.Confidence)
  3857  	return nil
  3858  }
  3859  
  3860  // GoogleCloudVisionV1p2beta1BoundingPoly: A bounding polygon for the detected
  3861  // image annotation.
  3862  type GoogleCloudVisionV1p2beta1BoundingPoly struct {
  3863  	// NormalizedVertices: The bounding polygon normalized vertices.
  3864  	NormalizedVertices []*GoogleCloudVisionV1p2beta1NormalizedVertex `json:"normalizedVertices,omitempty"`
  3865  	// Vertices: The bounding polygon vertices.
  3866  	Vertices []*GoogleCloudVisionV1p2beta1Vertex `json:"vertices,omitempty"`
  3867  	// ForceSendFields is a list of field names (e.g. "NormalizedVertices") to
  3868  	// unconditionally include in API requests. By default, fields with empty or
  3869  	// default values are omitted from API requests. See
  3870  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3871  	// details.
  3872  	ForceSendFields []string `json:"-"`
  3873  	// NullFields is a list of field names (e.g. "NormalizedVertices") to include
  3874  	// in API requests with the JSON null value. By default, fields with empty
  3875  	// values are omitted from API requests. See
  3876  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3877  	NullFields []string `json:"-"`
  3878  }
  3879  
  3880  func (s *GoogleCloudVisionV1p2beta1BoundingPoly) MarshalJSON() ([]byte, error) {
  3881  	type NoMethod GoogleCloudVisionV1p2beta1BoundingPoly
  3882  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3883  }
  3884  
  3885  // GoogleCloudVisionV1p2beta1ColorInfo: Color information consists of RGB
  3886  // channels, score, and the fraction of the image that the color occupies in
  3887  // the image.
  3888  type GoogleCloudVisionV1p2beta1ColorInfo struct {
  3889  	// Color: RGB components of the color.
  3890  	Color *Color `json:"color,omitempty"`
  3891  	// PixelFraction: The fraction of pixels the color occupies in the image. Value
  3892  	// in range [0, 1].
  3893  	PixelFraction float64 `json:"pixelFraction,omitempty"`
  3894  	// Score: Image-specific score for this color. Value in range [0, 1].
  3895  	Score float64 `json:"score,omitempty"`
  3896  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  3897  	// include in API requests. By default, fields with empty or default values are
  3898  	// omitted from API requests. See
  3899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3900  	// details.
  3901  	ForceSendFields []string `json:"-"`
  3902  	// NullFields is a list of field names (e.g. "Color") to include in API
  3903  	// requests with the JSON null value. By default, fields with empty values are
  3904  	// omitted from API requests. See
  3905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3906  	NullFields []string `json:"-"`
  3907  }
  3908  
  3909  func (s *GoogleCloudVisionV1p2beta1ColorInfo) MarshalJSON() ([]byte, error) {
  3910  	type NoMethod GoogleCloudVisionV1p2beta1ColorInfo
  3911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3912  }
  3913  
  3914  func (s *GoogleCloudVisionV1p2beta1ColorInfo) UnmarshalJSON(data []byte) error {
  3915  	type NoMethod GoogleCloudVisionV1p2beta1ColorInfo
  3916  	var s1 struct {
  3917  		PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"`
  3918  		Score         gensupport.JSONFloat64 `json:"score"`
  3919  		*NoMethod
  3920  	}
  3921  	s1.NoMethod = (*NoMethod)(s)
  3922  	if err := json.Unmarshal(data, &s1); err != nil {
  3923  		return err
  3924  	}
  3925  	s.PixelFraction = float64(s1.PixelFraction)
  3926  	s.Score = float64(s1.Score)
  3927  	return nil
  3928  }
  3929  
  3930  // GoogleCloudVisionV1p2beta1CropHint: Single crop hint that is used to
  3931  // generate a new crop when serving an image.
  3932  type GoogleCloudVisionV1p2beta1CropHint struct {
  3933  	// BoundingPoly: The bounding polygon for the crop region. The coordinates of
  3934  	// the bounding box are in the original image's scale.
  3935  	BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"`
  3936  	// Confidence: Confidence of this being a salient region. Range [0, 1].
  3937  	Confidence float64 `json:"confidence,omitempty"`
  3938  	// ImportanceFraction: Fraction of importance of this salient region with
  3939  	// respect to the original image.
  3940  	ImportanceFraction float64 `json:"importanceFraction,omitempty"`
  3941  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  3942  	// unconditionally include in API requests. By default, fields with empty or
  3943  	// default values are omitted from API requests. See
  3944  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3945  	// details.
  3946  	ForceSendFields []string `json:"-"`
  3947  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  3948  	// requests with the JSON null value. By default, fields with empty values are
  3949  	// omitted from API requests. See
  3950  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3951  	NullFields []string `json:"-"`
  3952  }
  3953  
  3954  func (s *GoogleCloudVisionV1p2beta1CropHint) MarshalJSON() ([]byte, error) {
  3955  	type NoMethod GoogleCloudVisionV1p2beta1CropHint
  3956  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3957  }
  3958  
  3959  func (s *GoogleCloudVisionV1p2beta1CropHint) UnmarshalJSON(data []byte) error {
  3960  	type NoMethod GoogleCloudVisionV1p2beta1CropHint
  3961  	var s1 struct {
  3962  		Confidence         gensupport.JSONFloat64 `json:"confidence"`
  3963  		ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"`
  3964  		*NoMethod
  3965  	}
  3966  	s1.NoMethod = (*NoMethod)(s)
  3967  	if err := json.Unmarshal(data, &s1); err != nil {
  3968  		return err
  3969  	}
  3970  	s.Confidence = float64(s1.Confidence)
  3971  	s.ImportanceFraction = float64(s1.ImportanceFraction)
  3972  	return nil
  3973  }
  3974  
  3975  // GoogleCloudVisionV1p2beta1CropHintsAnnotation: Set of crop hints that are
  3976  // used to generate new crops when serving images.
  3977  type GoogleCloudVisionV1p2beta1CropHintsAnnotation struct {
  3978  	// CropHints: Crop hint results.
  3979  	CropHints []*GoogleCloudVisionV1p2beta1CropHint `json:"cropHints,omitempty"`
  3980  	// ForceSendFields is a list of field names (e.g. "CropHints") to
  3981  	// unconditionally include in API requests. By default, fields with empty or
  3982  	// default values are omitted from API requests. See
  3983  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3984  	// details.
  3985  	ForceSendFields []string `json:"-"`
  3986  	// NullFields is a list of field names (e.g. "CropHints") to include in API
  3987  	// requests with the JSON null value. By default, fields with empty values are
  3988  	// omitted from API requests. See
  3989  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3990  	NullFields []string `json:"-"`
  3991  }
  3992  
  3993  func (s *GoogleCloudVisionV1p2beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) {
  3994  	type NoMethod GoogleCloudVisionV1p2beta1CropHintsAnnotation
  3995  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3996  }
  3997  
  3998  // GoogleCloudVisionV1p2beta1DominantColorsAnnotation: Set of dominant colors
  3999  // and their corresponding scores.
  4000  type GoogleCloudVisionV1p2beta1DominantColorsAnnotation struct {
  4001  	// Colors: RGB color values with their score and pixel fraction.
  4002  	Colors []*GoogleCloudVisionV1p2beta1ColorInfo `json:"colors,omitempty"`
  4003  	// ForceSendFields is a list of field names (e.g. "Colors") to unconditionally
  4004  	// include in API requests. By default, fields with empty or default values are
  4005  	// omitted from API requests. See
  4006  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4007  	// details.
  4008  	ForceSendFields []string `json:"-"`
  4009  	// NullFields is a list of field names (e.g. "Colors") to include in API
  4010  	// requests with the JSON null value. By default, fields with empty values are
  4011  	// omitted from API requests. See
  4012  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4013  	NullFields []string `json:"-"`
  4014  }
  4015  
  4016  func (s *GoogleCloudVisionV1p2beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) {
  4017  	type NoMethod GoogleCloudVisionV1p2beta1DominantColorsAnnotation
  4018  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4019  }
  4020  
  4021  // GoogleCloudVisionV1p2beta1EntityAnnotation: Set of detected entity features.
  4022  type GoogleCloudVisionV1p2beta1EntityAnnotation struct {
  4023  	// BoundingPoly: Image region to which this entity belongs. Not produced for
  4024  	// `LABEL_DETECTION` features.
  4025  	BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"`
  4026  	// Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity
  4027  	// detection in an image. For example, for an image in which the "Eiffel Tower"
  4028  	// entity is detected, this field represents the confidence that there is a
  4029  	// tower in the query image. Range [0, 1].
  4030  	Confidence float64 `json:"confidence,omitempty"`
  4031  	// Description: Entity textual description, expressed in its `locale` language.
  4032  	Description string `json:"description,omitempty"`
  4033  	// Locale: The language code for the locale in which the entity textual
  4034  	// `description` is expressed.
  4035  	Locale string `json:"locale,omitempty"`
  4036  	// Locations: The location information for the detected entity. Multiple
  4037  	// `LocationInfo` elements can be present because one location may indicate the
  4038  	// location of the scene in the image, and another location may indicate the
  4039  	// location of the place where the image was taken. Location information is
  4040  	// usually present for landmarks.
  4041  	Locations []*GoogleCloudVisionV1p2beta1LocationInfo `json:"locations,omitempty"`
  4042  	// Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph
  4043  	// Search API (https://developers.google.com/knowledge-graph/).
  4044  	Mid string `json:"mid,omitempty"`
  4045  	// Properties: Some entities may have optional user-supplied `Property`
  4046  	// (name/value) fields, such a score or string that qualifies the entity.
  4047  	Properties []*GoogleCloudVisionV1p2beta1Property `json:"properties,omitempty"`
  4048  	// Score: Overall score of the result. Range [0, 1].
  4049  	Score float64 `json:"score,omitempty"`
  4050  	// Topicality: The relevancy of the ICA (Image Content Annotation) label to the
  4051  	// image. For example, the relevancy of "tower" is likely higher to an image
  4052  	// containing the detected "Eiffel Tower" than to an image containing a
  4053  	// detected distant towering building, even though the confidence that there is
  4054  	// a tower in each image may be the same. Range [0, 1].
  4055  	Topicality float64 `json:"topicality,omitempty"`
  4056  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  4057  	// unconditionally include in API requests. By default, fields with empty or
  4058  	// default values are omitted from API requests. See
  4059  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4060  	// details.
  4061  	ForceSendFields []string `json:"-"`
  4062  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  4063  	// requests with the JSON null value. By default, fields with empty values are
  4064  	// omitted from API requests. See
  4065  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4066  	NullFields []string `json:"-"`
  4067  }
  4068  
  4069  func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) MarshalJSON() ([]byte, error) {
  4070  	type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation
  4071  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4072  }
  4073  
  4074  func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) UnmarshalJSON(data []byte) error {
  4075  	type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation
  4076  	var s1 struct {
  4077  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4078  		Score      gensupport.JSONFloat64 `json:"score"`
  4079  		Topicality gensupport.JSONFloat64 `json:"topicality"`
  4080  		*NoMethod
  4081  	}
  4082  	s1.NoMethod = (*NoMethod)(s)
  4083  	if err := json.Unmarshal(data, &s1); err != nil {
  4084  		return err
  4085  	}
  4086  	s.Confidence = float64(s1.Confidence)
  4087  	s.Score = float64(s1.Score)
  4088  	s.Topicality = float64(s1.Topicality)
  4089  	return nil
  4090  }
  4091  
  4092  // GoogleCloudVisionV1p2beta1FaceAnnotation: A face annotation object contains
  4093  // the results of face detection.
  4094  type GoogleCloudVisionV1p2beta1FaceAnnotation struct {
  4095  	// AngerLikelihood: Anger likelihood.
  4096  	//
  4097  	// Possible values:
  4098  	//   "UNKNOWN" - Unknown likelihood.
  4099  	//   "VERY_UNLIKELY" - It is very unlikely.
  4100  	//   "UNLIKELY" - It is unlikely.
  4101  	//   "POSSIBLE" - It is possible.
  4102  	//   "LIKELY" - It is likely.
  4103  	//   "VERY_LIKELY" - It is very likely.
  4104  	AngerLikelihood string `json:"angerLikelihood,omitempty"`
  4105  	// BlurredLikelihood: Blurred likelihood.
  4106  	//
  4107  	// Possible values:
  4108  	//   "UNKNOWN" - Unknown likelihood.
  4109  	//   "VERY_UNLIKELY" - It is very unlikely.
  4110  	//   "UNLIKELY" - It is unlikely.
  4111  	//   "POSSIBLE" - It is possible.
  4112  	//   "LIKELY" - It is likely.
  4113  	//   "VERY_LIKELY" - It is very likely.
  4114  	BlurredLikelihood string `json:"blurredLikelihood,omitempty"`
  4115  	// BoundingPoly: The bounding polygon around the face. The coordinates of the
  4116  	// bounding box are in the original image's scale. The bounding box is computed
  4117  	// to "frame" the face in accordance with human expectations. It is based on
  4118  	// the landmarker results. Note that one or more x and/or y coordinates may not
  4119  	// be generated in the `BoundingPoly` (the polygon will be unbounded) if only a
  4120  	// partial face appears in the image to be annotated.
  4121  	BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"`
  4122  	// DetectionConfidence: Detection confidence. Range [0, 1].
  4123  	DetectionConfidence float64 `json:"detectionConfidence,omitempty"`
  4124  	// FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the
  4125  	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
  4126  	// is used to eliminate the face from any image analysis that detects the
  4127  	// "amount of skin" visible in an image. It is not based on the landmarker
  4128  	// results, only on the initial face detection, hence the fd (face detection)
  4129  	// prefix.
  4130  	FdBoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"fdBoundingPoly,omitempty"`
  4131  	// HeadwearLikelihood: Headwear likelihood.
  4132  	//
  4133  	// Possible values:
  4134  	//   "UNKNOWN" - Unknown likelihood.
  4135  	//   "VERY_UNLIKELY" - It is very unlikely.
  4136  	//   "UNLIKELY" - It is unlikely.
  4137  	//   "POSSIBLE" - It is possible.
  4138  	//   "LIKELY" - It is likely.
  4139  	//   "VERY_LIKELY" - It is very likely.
  4140  	HeadwearLikelihood string `json:"headwearLikelihood,omitempty"`
  4141  	// JoyLikelihood: Joy likelihood.
  4142  	//
  4143  	// Possible values:
  4144  	//   "UNKNOWN" - Unknown likelihood.
  4145  	//   "VERY_UNLIKELY" - It is very unlikely.
  4146  	//   "UNLIKELY" - It is unlikely.
  4147  	//   "POSSIBLE" - It is possible.
  4148  	//   "LIKELY" - It is likely.
  4149  	//   "VERY_LIKELY" - It is very likely.
  4150  	JoyLikelihood string `json:"joyLikelihood,omitempty"`
  4151  	// LandmarkingConfidence: Face landmarking confidence. Range [0, 1].
  4152  	LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"`
  4153  	// Landmarks: Detected face landmarks.
  4154  	Landmarks []*GoogleCloudVisionV1p2beta1FaceAnnotationLandmark `json:"landmarks,omitempty"`
  4155  	// PanAngle: Yaw angle, which indicates the leftward/rightward angle that the
  4156  	// face is pointing relative to the vertical plane perpendicular to the image.
  4157  	// Range [-180,180].
  4158  	PanAngle float64 `json:"panAngle,omitempty"`
  4159  	// RollAngle: Roll angle, which indicates the amount of
  4160  	// clockwise/anti-clockwise rotation of the face relative to the image vertical
  4161  	// about the axis perpendicular to the face. Range [-180,180].
  4162  	RollAngle float64 `json:"rollAngle,omitempty"`
  4163  	// SorrowLikelihood: Sorrow likelihood.
  4164  	//
  4165  	// Possible values:
  4166  	//   "UNKNOWN" - Unknown likelihood.
  4167  	//   "VERY_UNLIKELY" - It is very unlikely.
  4168  	//   "UNLIKELY" - It is unlikely.
  4169  	//   "POSSIBLE" - It is possible.
  4170  	//   "LIKELY" - It is likely.
  4171  	//   "VERY_LIKELY" - It is very likely.
  4172  	SorrowLikelihood string `json:"sorrowLikelihood,omitempty"`
  4173  	// SurpriseLikelihood: Surprise likelihood.
  4174  	//
  4175  	// Possible values:
  4176  	//   "UNKNOWN" - Unknown likelihood.
  4177  	//   "VERY_UNLIKELY" - It is very unlikely.
  4178  	//   "UNLIKELY" - It is unlikely.
  4179  	//   "POSSIBLE" - It is possible.
  4180  	//   "LIKELY" - It is likely.
  4181  	//   "VERY_LIKELY" - It is very likely.
  4182  	SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"`
  4183  	// TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the
  4184  	// face is pointing relative to the image's horizontal plane. Range [-180,180].
  4185  	TiltAngle float64 `json:"tiltAngle,omitempty"`
  4186  	// UnderExposedLikelihood: Under-exposed likelihood.
  4187  	//
  4188  	// Possible values:
  4189  	//   "UNKNOWN" - Unknown likelihood.
  4190  	//   "VERY_UNLIKELY" - It is very unlikely.
  4191  	//   "UNLIKELY" - It is unlikely.
  4192  	//   "POSSIBLE" - It is possible.
  4193  	//   "LIKELY" - It is likely.
  4194  	//   "VERY_LIKELY" - It is very likely.
  4195  	UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"`
  4196  	// ForceSendFields is a list of field names (e.g. "AngerLikelihood") to
  4197  	// unconditionally include in API requests. By default, fields with empty or
  4198  	// default values are omitted from API requests. See
  4199  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4200  	// details.
  4201  	ForceSendFields []string `json:"-"`
  4202  	// NullFields is a list of field names (e.g. "AngerLikelihood") to include in
  4203  	// API requests with the JSON null value. By default, fields with empty values
  4204  	// are omitted from API requests. See
  4205  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4206  	NullFields []string `json:"-"`
  4207  }
  4208  
  4209  func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
  4210  	type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation
  4211  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4212  }
  4213  
  4214  func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) UnmarshalJSON(data []byte) error {
  4215  	type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation
  4216  	var s1 struct {
  4217  		DetectionConfidence   gensupport.JSONFloat64 `json:"detectionConfidence"`
  4218  		LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"`
  4219  		PanAngle              gensupport.JSONFloat64 `json:"panAngle"`
  4220  		RollAngle             gensupport.JSONFloat64 `json:"rollAngle"`
  4221  		TiltAngle             gensupport.JSONFloat64 `json:"tiltAngle"`
  4222  		*NoMethod
  4223  	}
  4224  	s1.NoMethod = (*NoMethod)(s)
  4225  	if err := json.Unmarshal(data, &s1); err != nil {
  4226  		return err
  4227  	}
  4228  	s.DetectionConfidence = float64(s1.DetectionConfidence)
  4229  	s.LandmarkingConfidence = float64(s1.LandmarkingConfidence)
  4230  	s.PanAngle = float64(s1.PanAngle)
  4231  	s.RollAngle = float64(s1.RollAngle)
  4232  	s.TiltAngle = float64(s1.TiltAngle)
  4233  	return nil
  4234  }
  4235  
  4236  // GoogleCloudVisionV1p2beta1FaceAnnotationLandmark: A face-specific landmark
  4237  // (for example, a face feature).
  4238  type GoogleCloudVisionV1p2beta1FaceAnnotationLandmark struct {
  4239  	// Position: Face landmark position.
  4240  	Position *GoogleCloudVisionV1p2beta1Position `json:"position,omitempty"`
  4241  	// Type: Face landmark type.
  4242  	//
  4243  	// Possible values:
  4244  	//   "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled.
  4245  	//   "LEFT_EYE" - Left eye.
  4246  	//   "RIGHT_EYE" - Right eye.
  4247  	//   "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow.
  4248  	//   "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow.
  4249  	//   "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow.
  4250  	//   "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow.
  4251  	//   "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes.
  4252  	//   "NOSE_TIP" - Nose tip.
  4253  	//   "UPPER_LIP" - Upper lip.
  4254  	//   "LOWER_LIP" - Lower lip.
  4255  	//   "MOUTH_LEFT" - Mouth left.
  4256  	//   "MOUTH_RIGHT" - Mouth right.
  4257  	//   "MOUTH_CENTER" - Mouth center.
  4258  	//   "NOSE_BOTTOM_RIGHT" - Nose, bottom right.
  4259  	//   "NOSE_BOTTOM_LEFT" - Nose, bottom left.
  4260  	//   "NOSE_BOTTOM_CENTER" - Nose, bottom center.
  4261  	//   "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary.
  4262  	//   "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner.
  4263  	//   "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary.
  4264  	//   "LEFT_EYE_LEFT_CORNER" - Left eye, left corner.
  4265  	//   "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary.
  4266  	//   "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner.
  4267  	//   "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary.
  4268  	//   "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner.
  4269  	//   "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint.
  4270  	//   "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint.
  4271  	//   "LEFT_EAR_TRAGION" - Left ear tragion.
  4272  	//   "RIGHT_EAR_TRAGION" - Right ear tragion.
  4273  	//   "LEFT_EYE_PUPIL" - Left eye pupil.
  4274  	//   "RIGHT_EYE_PUPIL" - Right eye pupil.
  4275  	//   "FOREHEAD_GLABELLA" - Forehead glabella.
  4276  	//   "CHIN_GNATHION" - Chin gnathion.
  4277  	//   "CHIN_LEFT_GONION" - Chin left gonion.
  4278  	//   "CHIN_RIGHT_GONION" - Chin right gonion.
  4279  	//   "LEFT_CHEEK_CENTER" - Left cheek center.
  4280  	//   "RIGHT_CHEEK_CENTER" - Right cheek center.
  4281  	Type string `json:"type,omitempty"`
  4282  	// ForceSendFields is a list of field names (e.g. "Position") to
  4283  	// unconditionally include in API requests. By default, fields with empty or
  4284  	// default values are omitted from API requests. See
  4285  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4286  	// details.
  4287  	ForceSendFields []string `json:"-"`
  4288  	// NullFields is a list of field names (e.g. "Position") to include in API
  4289  	// requests with the JSON null value. By default, fields with empty values are
  4290  	// omitted from API requests. See
  4291  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4292  	NullFields []string `json:"-"`
  4293  }
  4294  
  4295  func (s *GoogleCloudVisionV1p2beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) {
  4296  	type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotationLandmark
  4297  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4298  }
  4299  
  4300  // GoogleCloudVisionV1p2beta1GcsDestination: The Google Cloud Storage location
  4301  // where the output will be written to.
  4302  type GoogleCloudVisionV1p2beta1GcsDestination struct {
  4303  	// Uri: Google Cloud Storage URI prefix where the results will be stored.
  4304  	// Results will be in JSON format and preceded by its corresponding input URI
  4305  	// prefix. This field can either represent a gcs file prefix or gcs directory.
  4306  	// In either case, the uri should be unique because in order to get all of the
  4307  	// output files, you will need to do a wildcard gcs search on the uri prefix
  4308  	// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix
  4309  	// The output files will be created in gs://bucket-name/here/ and the names of
  4310  	// the output files will begin with "filenameprefix". * Directory Prefix:
  4311  	// gs://bucket-name/some/location/ The output files will be created in
  4312  	// gs://bucket-name/some/location/ and the names of the output files could be
  4313  	// anything because there was no filename prefix specified. If multiple
  4314  	// outputs, each response is still AnnotateFileResponse, each of which contains
  4315  	// some subset of the full list of AnnotateImageResponse. Multiple outputs can
  4316  	// happen if, for example, the output JSON is too large and overflows into
  4317  	// multiple sharded files.
  4318  	Uri string `json:"uri,omitempty"`
  4319  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  4320  	// include in API requests. By default, fields with empty or default values are
  4321  	// omitted from API requests. See
  4322  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4323  	// details.
  4324  	ForceSendFields []string `json:"-"`
  4325  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  4326  	// with the JSON null value. By default, fields with empty values are omitted
  4327  	// from API requests. See
  4328  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4329  	NullFields []string `json:"-"`
  4330  }
  4331  
  4332  func (s *GoogleCloudVisionV1p2beta1GcsDestination) MarshalJSON() ([]byte, error) {
  4333  	type NoMethod GoogleCloudVisionV1p2beta1GcsDestination
  4334  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4335  }
  4336  
  4337  // GoogleCloudVisionV1p2beta1GcsSource: The Google Cloud Storage location where
  4338  // the input will be read from.
  4339  type GoogleCloudVisionV1p2beta1GcsSource struct {
  4340  	// Uri: Google Cloud Storage URI for the input file. This must only be a Google
  4341  	// Cloud Storage object. Wildcards are not currently supported.
  4342  	Uri string `json:"uri,omitempty"`
  4343  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  4344  	// include in API requests. By default, fields with empty or default values are
  4345  	// omitted from API requests. See
  4346  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4347  	// details.
  4348  	ForceSendFields []string `json:"-"`
  4349  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  4350  	// with the JSON null value. By default, fields with empty values are omitted
  4351  	// from API requests. See
  4352  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4353  	NullFields []string `json:"-"`
  4354  }
  4355  
  4356  func (s *GoogleCloudVisionV1p2beta1GcsSource) MarshalJSON() ([]byte, error) {
  4357  	type NoMethod GoogleCloudVisionV1p2beta1GcsSource
  4358  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4359  }
  4360  
  4361  // GoogleCloudVisionV1p2beta1ImageAnnotationContext: If an image was produced
  4362  // from a file (e.g. a PDF), this message gives information about the source of
  4363  // that image.
  4364  type GoogleCloudVisionV1p2beta1ImageAnnotationContext struct {
  4365  	// PageNumber: If the file was a PDF or TIFF, this field gives the page number
  4366  	// within the file used to produce the image.
  4367  	PageNumber int64 `json:"pageNumber,omitempty"`
  4368  	// Uri: The URI of the file used to produce the image.
  4369  	Uri string `json:"uri,omitempty"`
  4370  	// ForceSendFields is a list of field names (e.g. "PageNumber") to
  4371  	// unconditionally include in API requests. By default, fields with empty or
  4372  	// default values are omitted from API requests. See
  4373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4374  	// details.
  4375  	ForceSendFields []string `json:"-"`
  4376  	// NullFields is a list of field names (e.g. "PageNumber") to include in API
  4377  	// requests with the JSON null value. By default, fields with empty values are
  4378  	// omitted from API requests. See
  4379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4380  	NullFields []string `json:"-"`
  4381  }
  4382  
  4383  func (s *GoogleCloudVisionV1p2beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) {
  4384  	type NoMethod GoogleCloudVisionV1p2beta1ImageAnnotationContext
  4385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4386  }
  4387  
  4388  // GoogleCloudVisionV1p2beta1ImageProperties: Stores image properties, such as
  4389  // dominant colors.
  4390  type GoogleCloudVisionV1p2beta1ImageProperties struct {
  4391  	// DominantColors: If present, dominant colors completed successfully.
  4392  	DominantColors *GoogleCloudVisionV1p2beta1DominantColorsAnnotation `json:"dominantColors,omitempty"`
  4393  	// ForceSendFields is a list of field names (e.g. "DominantColors") to
  4394  	// unconditionally include in API requests. By default, fields with empty or
  4395  	// default values are omitted from API requests. See
  4396  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4397  	// details.
  4398  	ForceSendFields []string `json:"-"`
  4399  	// NullFields is a list of field names (e.g. "DominantColors") to include in
  4400  	// API requests with the JSON null value. By default, fields with empty values
  4401  	// are omitted from API requests. See
  4402  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4403  	NullFields []string `json:"-"`
  4404  }
  4405  
  4406  func (s *GoogleCloudVisionV1p2beta1ImageProperties) MarshalJSON() ([]byte, error) {
  4407  	type NoMethod GoogleCloudVisionV1p2beta1ImageProperties
  4408  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4409  }
  4410  
  4411  // GoogleCloudVisionV1p2beta1InputConfig: The desired input location and
  4412  // metadata.
  4413  type GoogleCloudVisionV1p2beta1InputConfig struct {
  4414  	// Content: File content, represented as a stream of bytes. Note: As with all
  4415  	// `bytes` fields, protobuffers use a pure binary representation, whereas JSON
  4416  	// representations use base64. Currently, this field only works for
  4417  	// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles
  4418  	// requests.
  4419  	Content string `json:"content,omitempty"`
  4420  	// GcsSource: The Google Cloud Storage location to read the input from.
  4421  	GcsSource *GoogleCloudVisionV1p2beta1GcsSource `json:"gcsSource,omitempty"`
  4422  	// MimeType: The type of the file. Currently only "application/pdf",
  4423  	// "image/tiff" and "image/gif" are supported. Wildcards are not supported.
  4424  	MimeType string `json:"mimeType,omitempty"`
  4425  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  4426  	// include in API requests. By default, fields with empty or default values are
  4427  	// omitted from API requests. See
  4428  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4429  	// details.
  4430  	ForceSendFields []string `json:"-"`
  4431  	// NullFields is a list of field names (e.g. "Content") to include in API
  4432  	// requests with the JSON null value. By default, fields with empty values are
  4433  	// omitted from API requests. See
  4434  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4435  	NullFields []string `json:"-"`
  4436  }
  4437  
  4438  func (s *GoogleCloudVisionV1p2beta1InputConfig) MarshalJSON() ([]byte, error) {
  4439  	type NoMethod GoogleCloudVisionV1p2beta1InputConfig
  4440  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4441  }
  4442  
  4443  // GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation: Set of detected objects
  4444  // with bounding boxes.
  4445  type GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation struct {
  4446  	// BoundingPoly: Image region to which this object belongs. This must be
  4447  	// populated.
  4448  	BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"`
  4449  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  4450  	// more information, see
  4451  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  4452  	LanguageCode string `json:"languageCode,omitempty"`
  4453  	// Mid: Object ID that should align with EntityAnnotation mid.
  4454  	Mid string `json:"mid,omitempty"`
  4455  	// Name: Object name, expressed in its `language_code` language.
  4456  	Name string `json:"name,omitempty"`
  4457  	// Score: Score of the result. Range [0, 1].
  4458  	Score float64 `json:"score,omitempty"`
  4459  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  4460  	// unconditionally include in API requests. By default, fields with empty or
  4461  	// default values are omitted from API requests. See
  4462  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4463  	// details.
  4464  	ForceSendFields []string `json:"-"`
  4465  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  4466  	// requests with the JSON null value. By default, fields with empty values are
  4467  	// omitted from API requests. See
  4468  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4469  	NullFields []string `json:"-"`
  4470  }
  4471  
  4472  func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) {
  4473  	type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation
  4474  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4475  }
  4476  
  4477  func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error {
  4478  	type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation
  4479  	var s1 struct {
  4480  		Score gensupport.JSONFloat64 `json:"score"`
  4481  		*NoMethod
  4482  	}
  4483  	s1.NoMethod = (*NoMethod)(s)
  4484  	if err := json.Unmarshal(data, &s1); err != nil {
  4485  		return err
  4486  	}
  4487  	s.Score = float64(s1.Score)
  4488  	return nil
  4489  }
  4490  
  4491  // GoogleCloudVisionV1p2beta1LocationInfo: Detected entity location
  4492  // information.
  4493  type GoogleCloudVisionV1p2beta1LocationInfo struct {
  4494  	// LatLng: lat/long location coordinates.
  4495  	LatLng *LatLng `json:"latLng,omitempty"`
  4496  	// ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally
  4497  	// include in API requests. By default, fields with empty or default values are
  4498  	// omitted from API requests. See
  4499  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4500  	// details.
  4501  	ForceSendFields []string `json:"-"`
  4502  	// NullFields is a list of field names (e.g. "LatLng") to include in API
  4503  	// requests with the JSON null value. By default, fields with empty values are
  4504  	// omitted from API requests. See
  4505  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4506  	NullFields []string `json:"-"`
  4507  }
  4508  
  4509  func (s *GoogleCloudVisionV1p2beta1LocationInfo) MarshalJSON() ([]byte, error) {
  4510  	type NoMethod GoogleCloudVisionV1p2beta1LocationInfo
  4511  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4512  }
  4513  
  4514  // GoogleCloudVisionV1p2beta1NormalizedVertex: A vertex represents a 2D point
  4515  // in the image. NOTE: the normalized vertex coordinates are relative to the
  4516  // original image and range from 0 to 1.
  4517  type GoogleCloudVisionV1p2beta1NormalizedVertex struct {
  4518  	// X: X coordinate.
  4519  	X float64 `json:"x,omitempty"`
  4520  	// Y: Y coordinate.
  4521  	Y float64 `json:"y,omitempty"`
  4522  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  4523  	// include in API requests. By default, fields with empty or default values are
  4524  	// omitted from API requests. See
  4525  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4526  	// details.
  4527  	ForceSendFields []string `json:"-"`
  4528  	// NullFields is a list of field names (e.g. "X") to include in API requests
  4529  	// with the JSON null value. By default, fields with empty values are omitted
  4530  	// from API requests. See
  4531  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4532  	NullFields []string `json:"-"`
  4533  }
  4534  
  4535  func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
  4536  	type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex
  4537  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4538  }
  4539  
  4540  func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
  4541  	type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex
  4542  	var s1 struct {
  4543  		X gensupport.JSONFloat64 `json:"x"`
  4544  		Y gensupport.JSONFloat64 `json:"y"`
  4545  		*NoMethod
  4546  	}
  4547  	s1.NoMethod = (*NoMethod)(s)
  4548  	if err := json.Unmarshal(data, &s1); err != nil {
  4549  		return err
  4550  	}
  4551  	s.X = float64(s1.X)
  4552  	s.Y = float64(s1.Y)
  4553  	return nil
  4554  }
  4555  
  4556  // GoogleCloudVisionV1p2beta1OperationMetadata: Contains metadata for the
  4557  // BatchAnnotateImages operation.
  4558  type GoogleCloudVisionV1p2beta1OperationMetadata struct {
  4559  	// CreateTime: The time when the batch request was received.
  4560  	CreateTime string `json:"createTime,omitempty"`
  4561  	// State: Current state of the batch operation.
  4562  	//
  4563  	// Possible values:
  4564  	//   "STATE_UNSPECIFIED" - Invalid.
  4565  	//   "CREATED" - Request is received.
  4566  	//   "RUNNING" - Request is actively being processed.
  4567  	//   "DONE" - The batch processing is done.
  4568  	//   "CANCELLED" - The batch processing was cancelled.
  4569  	State string `json:"state,omitempty"`
  4570  	// UpdateTime: The time when the operation result was last updated.
  4571  	UpdateTime string `json:"updateTime,omitempty"`
  4572  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  4573  	// unconditionally include in API requests. By default, fields with empty or
  4574  	// default values are omitted from API requests. See
  4575  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4576  	// details.
  4577  	ForceSendFields []string `json:"-"`
  4578  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  4579  	// requests with the JSON null value. By default, fields with empty values are
  4580  	// omitted from API requests. See
  4581  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4582  	NullFields []string `json:"-"`
  4583  }
  4584  
  4585  func (s *GoogleCloudVisionV1p2beta1OperationMetadata) MarshalJSON() ([]byte, error) {
  4586  	type NoMethod GoogleCloudVisionV1p2beta1OperationMetadata
  4587  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4588  }
  4589  
  4590  // GoogleCloudVisionV1p2beta1OutputConfig: The desired output location and
  4591  // metadata.
  4592  type GoogleCloudVisionV1p2beta1OutputConfig struct {
  4593  	// BatchSize: The max number of response protos to put into each output JSON
  4594  	// file on Google Cloud Storage. The valid range is [1, 100]. If not specified,
  4595  	// the default value is 20. For example, for one pdf file with 100 pages, 100
  4596  	// response protos will be generated. If `batch_size` = 20, then 5 json files
  4597  	// each containing 20 response protos will be written under the prefix
  4598  	// `gcs_destination`.`uri`. Currently, batch_size only applies to
  4599  	// GcsDestination, with potential future support for other output
  4600  	// configurations.
  4601  	BatchSize int64 `json:"batchSize,omitempty"`
  4602  	// GcsDestination: The Google Cloud Storage location to write the output(s) to.
  4603  	GcsDestination *GoogleCloudVisionV1p2beta1GcsDestination `json:"gcsDestination,omitempty"`
  4604  	// ForceSendFields is a list of field names (e.g. "BatchSize") to
  4605  	// unconditionally include in API requests. By default, fields with empty or
  4606  	// default values are omitted from API requests. See
  4607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4608  	// details.
  4609  	ForceSendFields []string `json:"-"`
  4610  	// NullFields is a list of field names (e.g. "BatchSize") to include in API
  4611  	// requests with the JSON null value. By default, fields with empty values are
  4612  	// omitted from API requests. See
  4613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4614  	NullFields []string `json:"-"`
  4615  }
  4616  
  4617  func (s *GoogleCloudVisionV1p2beta1OutputConfig) MarshalJSON() ([]byte, error) {
  4618  	type NoMethod GoogleCloudVisionV1p2beta1OutputConfig
  4619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4620  }
  4621  
  4622  // GoogleCloudVisionV1p2beta1Page: Detected page from OCR.
  4623  type GoogleCloudVisionV1p2beta1Page struct {
  4624  	// Blocks: List of blocks of text, images etc on this page.
  4625  	Blocks []*GoogleCloudVisionV1p2beta1Block `json:"blocks,omitempty"`
  4626  	// Confidence: Confidence of the OCR results on the page. Range [0, 1].
  4627  	Confidence float64 `json:"confidence,omitempty"`
  4628  	// Height: Page height. For PDFs the unit is points. For images (including
  4629  	// TIFFs) the unit is pixels.
  4630  	Height int64 `json:"height,omitempty"`
  4631  	// Property: Additional information detected on the page.
  4632  	Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"`
  4633  	// Width: Page width. For PDFs the unit is points. For images (including TIFFs)
  4634  	// the unit is pixels.
  4635  	Width int64 `json:"width,omitempty"`
  4636  	// ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally
  4637  	// include in API requests. By default, fields with empty or default values are
  4638  	// omitted from API requests. See
  4639  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4640  	// details.
  4641  	ForceSendFields []string `json:"-"`
  4642  	// NullFields is a list of field names (e.g. "Blocks") to include in API
  4643  	// requests with the JSON null value. By default, fields with empty values are
  4644  	// omitted from API requests. See
  4645  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4646  	NullFields []string `json:"-"`
  4647  }
  4648  
  4649  func (s *GoogleCloudVisionV1p2beta1Page) MarshalJSON() ([]byte, error) {
  4650  	type NoMethod GoogleCloudVisionV1p2beta1Page
  4651  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4652  }
  4653  
  4654  func (s *GoogleCloudVisionV1p2beta1Page) UnmarshalJSON(data []byte) error {
  4655  	type NoMethod GoogleCloudVisionV1p2beta1Page
  4656  	var s1 struct {
  4657  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4658  		*NoMethod
  4659  	}
  4660  	s1.NoMethod = (*NoMethod)(s)
  4661  	if err := json.Unmarshal(data, &s1); err != nil {
  4662  		return err
  4663  	}
  4664  	s.Confidence = float64(s1.Confidence)
  4665  	return nil
  4666  }
  4667  
  4668  // GoogleCloudVisionV1p2beta1Paragraph: Structural unit of text representing a
  4669  // number of words in certain order.
  4670  type GoogleCloudVisionV1p2beta1Paragraph struct {
  4671  	// BoundingBox: The bounding box for the paragraph. The vertices are in the
  4672  	// order of top-left, top-right, bottom-right, bottom-left. When a rotation of
  4673  	// the bounding box is detected the rotation is represented as around the
  4674  	// top-left corner as defined when the text is read in the 'natural'
  4675  	// orientation. For example: * when the text is horizontal it might look like:
  4676  	// 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner
  4677  	// it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2,
  4678  	// 3).
  4679  	BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"`
  4680  	// Confidence: Confidence of the OCR results for the paragraph. Range [0, 1].
  4681  	Confidence float64 `json:"confidence,omitempty"`
  4682  	// Property: Additional information detected for the paragraph.
  4683  	Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"`
  4684  	// Words: List of all words in this paragraph.
  4685  	Words []*GoogleCloudVisionV1p2beta1Word `json:"words,omitempty"`
  4686  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  4687  	// unconditionally include in API requests. By default, fields with empty or
  4688  	// default values are omitted from API requests. See
  4689  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4690  	// details.
  4691  	ForceSendFields []string `json:"-"`
  4692  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  4693  	// requests with the JSON null value. By default, fields with empty values are
  4694  	// omitted from API requests. See
  4695  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4696  	NullFields []string `json:"-"`
  4697  }
  4698  
  4699  func (s *GoogleCloudVisionV1p2beta1Paragraph) MarshalJSON() ([]byte, error) {
  4700  	type NoMethod GoogleCloudVisionV1p2beta1Paragraph
  4701  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4702  }
  4703  
  4704  func (s *GoogleCloudVisionV1p2beta1Paragraph) UnmarshalJSON(data []byte) error {
  4705  	type NoMethod GoogleCloudVisionV1p2beta1Paragraph
  4706  	var s1 struct {
  4707  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  4708  		*NoMethod
  4709  	}
  4710  	s1.NoMethod = (*NoMethod)(s)
  4711  	if err := json.Unmarshal(data, &s1); err != nil {
  4712  		return err
  4713  	}
  4714  	s.Confidence = float64(s1.Confidence)
  4715  	return nil
  4716  }
  4717  
  4718  // GoogleCloudVisionV1p2beta1Position: A 3D position in the image, used
  4719  // primarily for Face detection landmarks. A valid Position must have both x
  4720  // and y coordinates. The position coordinates are in the same scale as the
  4721  // original image.
  4722  type GoogleCloudVisionV1p2beta1Position struct {
  4723  	// X: X coordinate.
  4724  	X float64 `json:"x,omitempty"`
  4725  	// Y: Y coordinate.
  4726  	Y float64 `json:"y,omitempty"`
  4727  	// Z: Z coordinate (or depth).
  4728  	Z float64 `json:"z,omitempty"`
  4729  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  4730  	// include in API requests. By default, fields with empty or default values are
  4731  	// omitted from API requests. See
  4732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4733  	// details.
  4734  	ForceSendFields []string `json:"-"`
  4735  	// NullFields is a list of field names (e.g. "X") to include in API requests
  4736  	// with the JSON null value. By default, fields with empty values are omitted
  4737  	// from API requests. See
  4738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4739  	NullFields []string `json:"-"`
  4740  }
  4741  
  4742  func (s *GoogleCloudVisionV1p2beta1Position) MarshalJSON() ([]byte, error) {
  4743  	type NoMethod GoogleCloudVisionV1p2beta1Position
  4744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4745  }
  4746  
  4747  func (s *GoogleCloudVisionV1p2beta1Position) UnmarshalJSON(data []byte) error {
  4748  	type NoMethod GoogleCloudVisionV1p2beta1Position
  4749  	var s1 struct {
  4750  		X gensupport.JSONFloat64 `json:"x"`
  4751  		Y gensupport.JSONFloat64 `json:"y"`
  4752  		Z gensupport.JSONFloat64 `json:"z"`
  4753  		*NoMethod
  4754  	}
  4755  	s1.NoMethod = (*NoMethod)(s)
  4756  	if err := json.Unmarshal(data, &s1); err != nil {
  4757  		return err
  4758  	}
  4759  	s.X = float64(s1.X)
  4760  	s.Y = float64(s1.Y)
  4761  	s.Z = float64(s1.Z)
  4762  	return nil
  4763  }
  4764  
  4765  // GoogleCloudVisionV1p2beta1Product: A Product contains ReferenceImages.
  4766  type GoogleCloudVisionV1p2beta1Product struct {
  4767  	// Description: User-provided metadata to be stored with this product. Must be
  4768  	// at most 4096 characters long.
  4769  	Description string `json:"description,omitempty"`
  4770  	// DisplayName: The user-provided name for this Product. Must not be empty.
  4771  	// Must be at most 4096 characters long.
  4772  	DisplayName string `json:"displayName,omitempty"`
  4773  	// Name: The resource name of the product. Format is:
  4774  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is
  4775  	// ignored when creating a product.
  4776  	Name string `json:"name,omitempty"`
  4777  	// ProductCategory: Immutable. The category for the product identified by the
  4778  	// reference image. This should be one of "homegoods-v2", "apparel-v2",
  4779  	// "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories
  4780  	// "homegoods", "apparel", and "toys" are still supported, but these should not
  4781  	// be used for new products.
  4782  	ProductCategory string `json:"productCategory,omitempty"`
  4783  	// ProductLabels: Key-value pairs that can be attached to a product. At query
  4784  	// time, constraints can be specified based on the product_labels. Note that
  4785  	// integer values can be provided as strings, e.g. "1199". Only strings with
  4786  	// integer values can match a range-based restriction which is to be supported
  4787  	// soon. Multiple values can be assigned to the same key. One product may have
  4788  	// up to 500 product_labels. Notice that the total number of distinct
  4789  	// product_labels over all products in one ProductSet cannot exceed 1M,
  4790  	// otherwise the product search pipeline will refuse to work for that
  4791  	// ProductSet.
  4792  	ProductLabels []*GoogleCloudVisionV1p2beta1ProductKeyValue `json:"productLabels,omitempty"`
  4793  	// ForceSendFields is a list of field names (e.g. "Description") to
  4794  	// unconditionally include in API requests. By default, fields with empty or
  4795  	// default values are omitted from API requests. See
  4796  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4797  	// details.
  4798  	ForceSendFields []string `json:"-"`
  4799  	// NullFields is a list of field names (e.g. "Description") to include in API
  4800  	// requests with the JSON null value. By default, fields with empty values are
  4801  	// omitted from API requests. See
  4802  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4803  	NullFields []string `json:"-"`
  4804  }
  4805  
  4806  func (s *GoogleCloudVisionV1p2beta1Product) MarshalJSON() ([]byte, error) {
  4807  	type NoMethod GoogleCloudVisionV1p2beta1Product
  4808  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4809  }
  4810  
  4811  // GoogleCloudVisionV1p2beta1ProductKeyValue: A product label represented as a
  4812  // key-value pair.
  4813  type GoogleCloudVisionV1p2beta1ProductKeyValue struct {
  4814  	// Key: The key of the label attached to the product. Cannot be empty and
  4815  	// cannot exceed 128 bytes.
  4816  	Key string `json:"key,omitempty"`
  4817  	// Value: The value of the label attached to the product. Cannot be empty and
  4818  	// cannot exceed 128 bytes.
  4819  	Value string `json:"value,omitempty"`
  4820  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  4821  	// include in API requests. By default, fields with empty or default values are
  4822  	// omitted from API requests. See
  4823  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4824  	// details.
  4825  	ForceSendFields []string `json:"-"`
  4826  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  4827  	// with the JSON null value. By default, fields with empty values are omitted
  4828  	// from API requests. See
  4829  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4830  	NullFields []string `json:"-"`
  4831  }
  4832  
  4833  func (s *GoogleCloudVisionV1p2beta1ProductKeyValue) MarshalJSON() ([]byte, error) {
  4834  	type NoMethod GoogleCloudVisionV1p2beta1ProductKeyValue
  4835  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4836  }
  4837  
  4838  // GoogleCloudVisionV1p2beta1ProductSearchResults: Results for a product search
  4839  // request.
  4840  type GoogleCloudVisionV1p2beta1ProductSearchResults struct {
  4841  	// IndexTime: Timestamp of the index which provided these results. Products
  4842  	// added to the product set and products removed from the product set after
  4843  	// this time are not reflected in the current results.
  4844  	IndexTime string `json:"indexTime,omitempty"`
  4845  	// ProductGroupedResults: List of results grouped by products detected in the
  4846  	// query image. Each entry corresponds to one bounding polygon in the query
  4847  	// image, and contains the matching products specific to that region. There may
  4848  	// be duplicate product matches in the union of all the per-product results.
  4849  	ProductGroupedResults []*GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"`
  4850  	// Results: List of results, one for each product match.
  4851  	Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"`
  4852  	// ForceSendFields is a list of field names (e.g. "IndexTime") to
  4853  	// unconditionally include in API requests. By default, fields with empty or
  4854  	// default values are omitted from API requests. See
  4855  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4856  	// details.
  4857  	ForceSendFields []string `json:"-"`
  4858  	// NullFields is a list of field names (e.g. "IndexTime") to include in API
  4859  	// requests with the JSON null value. By default, fields with empty values are
  4860  	// omitted from API requests. See
  4861  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4862  	NullFields []string `json:"-"`
  4863  }
  4864  
  4865  func (s *GoogleCloudVisionV1p2beta1ProductSearchResults) MarshalJSON() ([]byte, error) {
  4866  	type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResults
  4867  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4868  }
  4869  
  4870  // GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult: Information
  4871  // about the products similar to a single product in a query image.
  4872  type GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult struct {
  4873  	// BoundingPoly: The bounding polygon around the product detected in the query
  4874  	// image.
  4875  	BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"`
  4876  	// ObjectAnnotations: List of generic predictions for the object in the
  4877  	// bounding box.
  4878  	ObjectAnnotations []*GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"`
  4879  	// Results: List of results, one for each product match.
  4880  	Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"`
  4881  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  4882  	// unconditionally include in API requests. By default, fields with empty or
  4883  	// default values are omitted from API requests. See
  4884  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4885  	// details.
  4886  	ForceSendFields []string `json:"-"`
  4887  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  4888  	// requests with the JSON null value. By default, fields with empty values are
  4889  	// omitted from API requests. See
  4890  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4891  	NullFields []string `json:"-"`
  4892  }
  4893  
  4894  func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) {
  4895  	type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult
  4896  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4897  }
  4898  
  4899  // GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation: Prediction
  4900  // for what the object in the bounding box is.
  4901  type GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation struct {
  4902  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  4903  	// more information, see
  4904  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  4905  	LanguageCode string `json:"languageCode,omitempty"`
  4906  	// Mid: Object ID that should align with EntityAnnotation mid.
  4907  	Mid string `json:"mid,omitempty"`
  4908  	// Name: Object name, expressed in its `language_code` language.
  4909  	Name string `json:"name,omitempty"`
  4910  	// Score: Score of the result. Range [0, 1].
  4911  	Score float64 `json:"score,omitempty"`
  4912  	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
  4913  	// unconditionally include in API requests. By default, fields with empty or
  4914  	// default values are omitted from API requests. See
  4915  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4916  	// details.
  4917  	ForceSendFields []string `json:"-"`
  4918  	// NullFields is a list of field names (e.g. "LanguageCode") to include in API
  4919  	// requests with the JSON null value. By default, fields with empty values are
  4920  	// omitted from API requests. See
  4921  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4922  	NullFields []string `json:"-"`
  4923  }
  4924  
  4925  func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) {
  4926  	type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation
  4927  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4928  }
  4929  
  4930  func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error {
  4931  	type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation
  4932  	var s1 struct {
  4933  		Score gensupport.JSONFloat64 `json:"score"`
  4934  		*NoMethod
  4935  	}
  4936  	s1.NoMethod = (*NoMethod)(s)
  4937  	if err := json.Unmarshal(data, &s1); err != nil {
  4938  		return err
  4939  	}
  4940  	s.Score = float64(s1.Score)
  4941  	return nil
  4942  }
  4943  
  4944  // GoogleCloudVisionV1p2beta1ProductSearchResultsResult: Information about a
  4945  // product.
  4946  type GoogleCloudVisionV1p2beta1ProductSearchResultsResult struct {
  4947  	// Image: The resource name of the image from the product that is the closest
  4948  	// match to the query.
  4949  	Image string `json:"image,omitempty"`
  4950  	// Product: The Product.
  4951  	Product *GoogleCloudVisionV1p2beta1Product `json:"product,omitempty"`
  4952  	// Score: A confidence level on the match, ranging from 0 (no confidence) to 1
  4953  	// (full confidence).
  4954  	Score float64 `json:"score,omitempty"`
  4955  	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
  4956  	// include in API requests. By default, fields with empty or default values are
  4957  	// omitted from API requests. See
  4958  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4959  	// details.
  4960  	ForceSendFields []string `json:"-"`
  4961  	// NullFields is a list of field names (e.g. "Image") to include in API
  4962  	// requests with the JSON null value. By default, fields with empty values are
  4963  	// omitted from API requests. See
  4964  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4965  	NullFields []string `json:"-"`
  4966  }
  4967  
  4968  func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) {
  4969  	type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult
  4970  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4971  }
  4972  
  4973  func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error {
  4974  	type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult
  4975  	var s1 struct {
  4976  		Score gensupport.JSONFloat64 `json:"score"`
  4977  		*NoMethod
  4978  	}
  4979  	s1.NoMethod = (*NoMethod)(s)
  4980  	if err := json.Unmarshal(data, &s1); err != nil {
  4981  		return err
  4982  	}
  4983  	s.Score = float64(s1.Score)
  4984  	return nil
  4985  }
  4986  
  4987  // GoogleCloudVisionV1p2beta1Property: A `Property` consists of a user-supplied
  4988  // name/value pair.
  4989  type GoogleCloudVisionV1p2beta1Property struct {
  4990  	// Name: Name of the property.
  4991  	Name string `json:"name,omitempty"`
  4992  	// Uint64Value: Value of numeric properties.
  4993  	Uint64Value uint64 `json:"uint64Value,omitempty,string"`
  4994  	// Value: Value of the property.
  4995  	Value string `json:"value,omitempty"`
  4996  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  4997  	// include in API requests. By default, fields with empty or default values are
  4998  	// omitted from API requests. See
  4999  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5000  	// details.
  5001  	ForceSendFields []string `json:"-"`
  5002  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  5003  	// with the JSON null value. By default, fields with empty values are omitted
  5004  	// from API requests. See
  5005  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5006  	NullFields []string `json:"-"`
  5007  }
  5008  
  5009  func (s *GoogleCloudVisionV1p2beta1Property) MarshalJSON() ([]byte, error) {
  5010  	type NoMethod GoogleCloudVisionV1p2beta1Property
  5011  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5012  }
  5013  
  5014  // GoogleCloudVisionV1p2beta1SafeSearchAnnotation: Set of features pertaining
  5015  // to the image, computed by computer vision methods over safe-search verticals
  5016  // (for example, adult, spoof, medical, violence).
  5017  type GoogleCloudVisionV1p2beta1SafeSearchAnnotation struct {
  5018  	// Adult: Represents the adult content likelihood for the image. Adult content
  5019  	// may contain elements such as nudity, pornographic images or cartoons, or
  5020  	// sexual activities.
  5021  	//
  5022  	// Possible values:
  5023  	//   "UNKNOWN" - Unknown likelihood.
  5024  	//   "VERY_UNLIKELY" - It is very unlikely.
  5025  	//   "UNLIKELY" - It is unlikely.
  5026  	//   "POSSIBLE" - It is possible.
  5027  	//   "LIKELY" - It is likely.
  5028  	//   "VERY_LIKELY" - It is very likely.
  5029  	Adult string `json:"adult,omitempty"`
  5030  	// Medical: Likelihood that this is a medical image.
  5031  	//
  5032  	// Possible values:
  5033  	//   "UNKNOWN" - Unknown likelihood.
  5034  	//   "VERY_UNLIKELY" - It is very unlikely.
  5035  	//   "UNLIKELY" - It is unlikely.
  5036  	//   "POSSIBLE" - It is possible.
  5037  	//   "LIKELY" - It is likely.
  5038  	//   "VERY_LIKELY" - It is very likely.
  5039  	Medical string `json:"medical,omitempty"`
  5040  	// Racy: Likelihood that the request image contains racy content. Racy content
  5041  	// may include (but is not limited to) skimpy or sheer clothing, strategically
  5042  	// covered nudity, lewd or provocative poses, or close-ups of sensitive body
  5043  	// areas.
  5044  	//
  5045  	// Possible values:
  5046  	//   "UNKNOWN" - Unknown likelihood.
  5047  	//   "VERY_UNLIKELY" - It is very unlikely.
  5048  	//   "UNLIKELY" - It is unlikely.
  5049  	//   "POSSIBLE" - It is possible.
  5050  	//   "LIKELY" - It is likely.
  5051  	//   "VERY_LIKELY" - It is very likely.
  5052  	Racy string `json:"racy,omitempty"`
  5053  	// Spoof: Spoof likelihood. The likelihood that an modification was made to the
  5054  	// image's canonical version to make it appear funny or offensive.
  5055  	//
  5056  	// Possible values:
  5057  	//   "UNKNOWN" - Unknown likelihood.
  5058  	//   "VERY_UNLIKELY" - It is very unlikely.
  5059  	//   "UNLIKELY" - It is unlikely.
  5060  	//   "POSSIBLE" - It is possible.
  5061  	//   "LIKELY" - It is likely.
  5062  	//   "VERY_LIKELY" - It is very likely.
  5063  	Spoof string `json:"spoof,omitempty"`
  5064  	// Violence: Likelihood that this image contains violent content. Violent
  5065  	// content may include death, serious harm, or injury to individuals or groups
  5066  	// of individuals.
  5067  	//
  5068  	// Possible values:
  5069  	//   "UNKNOWN" - Unknown likelihood.
  5070  	//   "VERY_UNLIKELY" - It is very unlikely.
  5071  	//   "UNLIKELY" - It is unlikely.
  5072  	//   "POSSIBLE" - It is possible.
  5073  	//   "LIKELY" - It is likely.
  5074  	//   "VERY_LIKELY" - It is very likely.
  5075  	Violence string `json:"violence,omitempty"`
  5076  	// ForceSendFields is a list of field names (e.g. "Adult") to unconditionally
  5077  	// include in API requests. By default, fields with empty or default values are
  5078  	// omitted from API requests. See
  5079  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5080  	// details.
  5081  	ForceSendFields []string `json:"-"`
  5082  	// NullFields is a list of field names (e.g. "Adult") to include in API
  5083  	// requests with the JSON null value. By default, fields with empty values are
  5084  	// omitted from API requests. See
  5085  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5086  	NullFields []string `json:"-"`
  5087  }
  5088  
  5089  func (s *GoogleCloudVisionV1p2beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) {
  5090  	type NoMethod GoogleCloudVisionV1p2beta1SafeSearchAnnotation
  5091  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5092  }
  5093  
  5094  // GoogleCloudVisionV1p2beta1Symbol: A single symbol representation.
  5095  type GoogleCloudVisionV1p2beta1Symbol struct {
  5096  	// BoundingBox: The bounding box for the symbol. The vertices are in the order
  5097  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  5098  	// bounding box is detected the rotation is represented as around the top-left
  5099  	// corner as defined when the text is read in the 'natural' orientation. For
  5100  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  5101  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  5102  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  5103  	BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"`
  5104  	// Confidence: Confidence of the OCR results for the symbol. Range [0, 1].
  5105  	Confidence float64 `json:"confidence,omitempty"`
  5106  	// Property: Additional information detected for the symbol.
  5107  	Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"`
  5108  	// Text: The actual UTF-8 representation of the symbol.
  5109  	Text string `json:"text,omitempty"`
  5110  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  5111  	// unconditionally include in API requests. By default, fields with empty or
  5112  	// default values are omitted from API requests. See
  5113  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5114  	// details.
  5115  	ForceSendFields []string `json:"-"`
  5116  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  5117  	// requests with the JSON null value. By default, fields with empty values are
  5118  	// omitted from API requests. See
  5119  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5120  	NullFields []string `json:"-"`
  5121  }
  5122  
  5123  func (s *GoogleCloudVisionV1p2beta1Symbol) MarshalJSON() ([]byte, error) {
  5124  	type NoMethod GoogleCloudVisionV1p2beta1Symbol
  5125  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5126  }
  5127  
  5128  func (s *GoogleCloudVisionV1p2beta1Symbol) UnmarshalJSON(data []byte) error {
  5129  	type NoMethod GoogleCloudVisionV1p2beta1Symbol
  5130  	var s1 struct {
  5131  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5132  		*NoMethod
  5133  	}
  5134  	s1.NoMethod = (*NoMethod)(s)
  5135  	if err := json.Unmarshal(data, &s1); err != nil {
  5136  		return err
  5137  	}
  5138  	s.Confidence = float64(s1.Confidence)
  5139  	return nil
  5140  }
  5141  
  5142  // GoogleCloudVisionV1p2beta1TextAnnotation: TextAnnotation contains a
  5143  // structured representation of OCR extracted text. The hierarchy of an OCR
  5144  // extracted text structure is like this: TextAnnotation -> Page -> Block ->
  5145  // Paragraph -> Word -> Symbol Each structural component, starting from Page,
  5146  // may further have their own properties. Properties describe detected
  5147  // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty
  5148  // message definition below for more detail.
  5149  type GoogleCloudVisionV1p2beta1TextAnnotation struct {
  5150  	// Pages: List of pages detected by OCR.
  5151  	Pages []*GoogleCloudVisionV1p2beta1Page `json:"pages,omitempty"`
  5152  	// Text: UTF-8 text detected on the pages.
  5153  	Text string `json:"text,omitempty"`
  5154  	// ForceSendFields is a list of field names (e.g. "Pages") to unconditionally
  5155  	// include in API requests. By default, fields with empty or default values are
  5156  	// omitted from API requests. See
  5157  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5158  	// details.
  5159  	ForceSendFields []string `json:"-"`
  5160  	// NullFields is a list of field names (e.g. "Pages") to include in API
  5161  	// requests with the JSON null value. By default, fields with empty values are
  5162  	// omitted from API requests. See
  5163  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5164  	NullFields []string `json:"-"`
  5165  }
  5166  
  5167  func (s *GoogleCloudVisionV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) {
  5168  	type NoMethod GoogleCloudVisionV1p2beta1TextAnnotation
  5169  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5170  }
  5171  
  5172  // GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak: Detected start or end
  5173  // of a structural component.
  5174  type GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak struct {
  5175  	// IsPrefix: True if break prepends the element.
  5176  	IsPrefix bool `json:"isPrefix,omitempty"`
  5177  	// Type: Detected break type.
  5178  	//
  5179  	// Possible values:
  5180  	//   "UNKNOWN" - Unknown break label type.
  5181  	//   "SPACE" - Regular space.
  5182  	//   "SURE_SPACE" - Sure space (very wide).
  5183  	//   "EOL_SURE_SPACE" - Line-wrapping break.
  5184  	//   "HYPHEN" - End-line hyphen that is not present in text; does not co-occur
  5185  	// with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`.
  5186  	//   "LINE_BREAK" - Line break that ends a paragraph.
  5187  	Type string `json:"type,omitempty"`
  5188  	// ForceSendFields is a list of field names (e.g. "IsPrefix") to
  5189  	// unconditionally include in API requests. By default, fields with empty or
  5190  	// default values are omitted from API requests. See
  5191  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5192  	// details.
  5193  	ForceSendFields []string `json:"-"`
  5194  	// NullFields is a list of field names (e.g. "IsPrefix") to include in API
  5195  	// requests with the JSON null value. By default, fields with empty values are
  5196  	// omitted from API requests. See
  5197  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5198  	NullFields []string `json:"-"`
  5199  }
  5200  
  5201  func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) {
  5202  	type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak
  5203  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5204  }
  5205  
  5206  // GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage: Detected language
  5207  // for a structural component.
  5208  type GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage struct {
  5209  	// Confidence: Confidence of detected language. Range [0, 1].
  5210  	Confidence float64 `json:"confidence,omitempty"`
  5211  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  5212  	// more information, see
  5213  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  5214  	LanguageCode string `json:"languageCode,omitempty"`
  5215  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  5216  	// unconditionally include in API requests. By default, fields with empty or
  5217  	// default values are omitted from API requests. See
  5218  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5219  	// details.
  5220  	ForceSendFields []string `json:"-"`
  5221  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  5222  	// requests with the JSON null value. By default, fields with empty values are
  5223  	// omitted from API requests. See
  5224  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5225  	NullFields []string `json:"-"`
  5226  }
  5227  
  5228  func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) {
  5229  	type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage
  5230  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5231  }
  5232  
  5233  func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error {
  5234  	type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage
  5235  	var s1 struct {
  5236  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5237  		*NoMethod
  5238  	}
  5239  	s1.NoMethod = (*NoMethod)(s)
  5240  	if err := json.Unmarshal(data, &s1); err != nil {
  5241  		return err
  5242  	}
  5243  	s.Confidence = float64(s1.Confidence)
  5244  	return nil
  5245  }
  5246  
  5247  // GoogleCloudVisionV1p2beta1TextAnnotationTextProperty: Additional information
  5248  // detected on the structural component.
  5249  type GoogleCloudVisionV1p2beta1TextAnnotationTextProperty struct {
  5250  	// DetectedBreak: Detected start or end of a text segment.
  5251  	DetectedBreak *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"`
  5252  	// DetectedLanguages: A list of detected languages together with confidence.
  5253  	DetectedLanguages []*GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"`
  5254  	// ForceSendFields is a list of field names (e.g. "DetectedBreak") to
  5255  	// unconditionally include in API requests. By default, fields with empty or
  5256  	// default values are omitted from API requests. See
  5257  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5258  	// details.
  5259  	ForceSendFields []string `json:"-"`
  5260  	// NullFields is a list of field names (e.g. "DetectedBreak") to include in API
  5261  	// requests with the JSON null value. By default, fields with empty values are
  5262  	// omitted from API requests. See
  5263  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5264  	NullFields []string `json:"-"`
  5265  }
  5266  
  5267  func (s *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) {
  5268  	type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationTextProperty
  5269  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5270  }
  5271  
  5272  // GoogleCloudVisionV1p2beta1Vertex: A vertex represents a 2D point in the
  5273  // image. NOTE: the vertex coordinates are in the same scale as the original
  5274  // image.
  5275  type GoogleCloudVisionV1p2beta1Vertex struct {
  5276  	// X: X coordinate.
  5277  	X int64 `json:"x,omitempty"`
  5278  	// Y: Y coordinate.
  5279  	Y int64 `json:"y,omitempty"`
  5280  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  5281  	// include in API requests. By default, fields with empty or default values are
  5282  	// omitted from API requests. See
  5283  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5284  	// details.
  5285  	ForceSendFields []string `json:"-"`
  5286  	// NullFields is a list of field names (e.g. "X") to include in API requests
  5287  	// with the JSON null value. By default, fields with empty values are omitted
  5288  	// from API requests. See
  5289  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5290  	NullFields []string `json:"-"`
  5291  }
  5292  
  5293  func (s *GoogleCloudVisionV1p2beta1Vertex) MarshalJSON() ([]byte, error) {
  5294  	type NoMethod GoogleCloudVisionV1p2beta1Vertex
  5295  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5296  }
  5297  
  5298  // GoogleCloudVisionV1p2beta1WebDetection: Relevant information for the image
  5299  // from the Internet.
  5300  type GoogleCloudVisionV1p2beta1WebDetection struct {
  5301  	// BestGuessLabels: The service's best guess as to the topic of the request
  5302  	// image. Inferred from similar images on the open web.
  5303  	BestGuessLabels []*GoogleCloudVisionV1p2beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"`
  5304  	// FullMatchingImages: Fully matching images from the Internet. Can include
  5305  	// resized copies of the query image.
  5306  	FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  5307  	// PagesWithMatchingImages: Web pages containing the matching images from the
  5308  	// Internet.
  5309  	PagesWithMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"`
  5310  	// PartialMatchingImages: Partial matching images from the Internet. Those
  5311  	// images are similar enough to share some key-point features. For example an
  5312  	// original image will likely have partial matching for its crops.
  5313  	PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  5314  	// VisuallySimilarImages: The visually similar image results.
  5315  	VisuallySimilarImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"`
  5316  	// WebEntities: Deduced entities from similar images on the Internet.
  5317  	WebEntities []*GoogleCloudVisionV1p2beta1WebDetectionWebEntity `json:"webEntities,omitempty"`
  5318  	// ForceSendFields is a list of field names (e.g. "BestGuessLabels") to
  5319  	// unconditionally include in API requests. By default, fields with empty or
  5320  	// default values are omitted from API requests. See
  5321  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5322  	// details.
  5323  	ForceSendFields []string `json:"-"`
  5324  	// NullFields is a list of field names (e.g. "BestGuessLabels") to include in
  5325  	// API requests with the JSON null value. By default, fields with empty values
  5326  	// are omitted from API requests. See
  5327  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5328  	NullFields []string `json:"-"`
  5329  }
  5330  
  5331  func (s *GoogleCloudVisionV1p2beta1WebDetection) MarshalJSON() ([]byte, error) {
  5332  	type NoMethod GoogleCloudVisionV1p2beta1WebDetection
  5333  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5334  }
  5335  
  5336  // GoogleCloudVisionV1p2beta1WebDetectionWebEntity: Entity deduced from similar
  5337  // images on the Internet.
  5338  type GoogleCloudVisionV1p2beta1WebDetectionWebEntity struct {
  5339  	// Description: Canonical description of the entity, in English.
  5340  	Description string `json:"description,omitempty"`
  5341  	// EntityId: Opaque entity ID.
  5342  	EntityId string `json:"entityId,omitempty"`
  5343  	// Score: Overall relevancy score for the entity. Not normalized and not
  5344  	// comparable across different image queries.
  5345  	Score float64 `json:"score,omitempty"`
  5346  	// ForceSendFields is a list of field names (e.g. "Description") to
  5347  	// unconditionally include in API requests. By default, fields with empty or
  5348  	// default values are omitted from API requests. See
  5349  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5350  	// details.
  5351  	ForceSendFields []string `json:"-"`
  5352  	// NullFields is a list of field names (e.g. "Description") to include in API
  5353  	// requests with the JSON null value. By default, fields with empty values are
  5354  	// omitted from API requests. See
  5355  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5356  	NullFields []string `json:"-"`
  5357  }
  5358  
  5359  func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) {
  5360  	type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity
  5361  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5362  }
  5363  
  5364  func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error {
  5365  	type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity
  5366  	var s1 struct {
  5367  		Score gensupport.JSONFloat64 `json:"score"`
  5368  		*NoMethod
  5369  	}
  5370  	s1.NoMethod = (*NoMethod)(s)
  5371  	if err := json.Unmarshal(data, &s1); err != nil {
  5372  		return err
  5373  	}
  5374  	s.Score = float64(s1.Score)
  5375  	return nil
  5376  }
  5377  
  5378  // GoogleCloudVisionV1p2beta1WebDetectionWebImage: Metadata for online images.
  5379  type GoogleCloudVisionV1p2beta1WebDetectionWebImage struct {
  5380  	// Score: (Deprecated) Overall relevancy score for the image.
  5381  	Score float64 `json:"score,omitempty"`
  5382  	// Url: The result image URL.
  5383  	Url string `json:"url,omitempty"`
  5384  	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
  5385  	// include in API requests. By default, fields with empty or default values are
  5386  	// omitted from API requests. See
  5387  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5388  	// details.
  5389  	ForceSendFields []string `json:"-"`
  5390  	// NullFields is a list of field names (e.g. "Score") to include in API
  5391  	// requests with the JSON null value. By default, fields with empty values are
  5392  	// omitted from API requests. See
  5393  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5394  	NullFields []string `json:"-"`
  5395  }
  5396  
  5397  func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) {
  5398  	type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage
  5399  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5400  }
  5401  
  5402  func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error {
  5403  	type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage
  5404  	var s1 struct {
  5405  		Score gensupport.JSONFloat64 `json:"score"`
  5406  		*NoMethod
  5407  	}
  5408  	s1.NoMethod = (*NoMethod)(s)
  5409  	if err := json.Unmarshal(data, &s1); err != nil {
  5410  		return err
  5411  	}
  5412  	s.Score = float64(s1.Score)
  5413  	return nil
  5414  }
  5415  
  5416  // GoogleCloudVisionV1p2beta1WebDetectionWebLabel: Label to provide extra
  5417  // metadata for the web detection.
  5418  type GoogleCloudVisionV1p2beta1WebDetectionWebLabel struct {
  5419  	// Label: Label for extra metadata.
  5420  	Label string `json:"label,omitempty"`
  5421  	// LanguageCode: The BCP-47 language code for `label`, such as "en-US" or
  5422  	// "sr-Latn". For more information, see
  5423  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  5424  	LanguageCode string `json:"languageCode,omitempty"`
  5425  	// ForceSendFields is a list of field names (e.g. "Label") to unconditionally
  5426  	// include in API requests. By default, fields with empty or default values are
  5427  	// omitted from API requests. See
  5428  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5429  	// details.
  5430  	ForceSendFields []string `json:"-"`
  5431  	// NullFields is a list of field names (e.g. "Label") to include in API
  5432  	// requests with the JSON null value. By default, fields with empty values are
  5433  	// omitted from API requests. See
  5434  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5435  	NullFields []string `json:"-"`
  5436  }
  5437  
  5438  func (s *GoogleCloudVisionV1p2beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) {
  5439  	type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebLabel
  5440  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5441  }
  5442  
  5443  // GoogleCloudVisionV1p2beta1WebDetectionWebPage: Metadata for web pages.
  5444  type GoogleCloudVisionV1p2beta1WebDetectionWebPage struct {
  5445  	// FullMatchingImages: Fully matching images on the page. Can include resized
  5446  	// copies of the query image.
  5447  	FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  5448  	// PageTitle: Title for the web page, may contain HTML markups.
  5449  	PageTitle string `json:"pageTitle,omitempty"`
  5450  	// PartialMatchingImages: Partial matching images on the page. Those images are
  5451  	// similar enough to share some key-point features. For example an original
  5452  	// image will likely have partial matching for its crops.
  5453  	PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  5454  	// Score: (Deprecated) Overall relevancy score for the web page.
  5455  	Score float64 `json:"score,omitempty"`
  5456  	// Url: The result web page URL.
  5457  	Url string `json:"url,omitempty"`
  5458  	// ForceSendFields is a list of field names (e.g. "FullMatchingImages") to
  5459  	// unconditionally include in API requests. By default, fields with empty or
  5460  	// default values are omitted from API requests. See
  5461  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5462  	// details.
  5463  	ForceSendFields []string `json:"-"`
  5464  	// NullFields is a list of field names (e.g. "FullMatchingImages") to include
  5465  	// in API requests with the JSON null value. By default, fields with empty
  5466  	// values are omitted from API requests. See
  5467  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5468  	NullFields []string `json:"-"`
  5469  }
  5470  
  5471  func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) {
  5472  	type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage
  5473  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5474  }
  5475  
  5476  func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error {
  5477  	type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage
  5478  	var s1 struct {
  5479  		Score gensupport.JSONFloat64 `json:"score"`
  5480  		*NoMethod
  5481  	}
  5482  	s1.NoMethod = (*NoMethod)(s)
  5483  	if err := json.Unmarshal(data, &s1); err != nil {
  5484  		return err
  5485  	}
  5486  	s.Score = float64(s1.Score)
  5487  	return nil
  5488  }
  5489  
  5490  // GoogleCloudVisionV1p2beta1Word: A word representation.
  5491  type GoogleCloudVisionV1p2beta1Word struct {
  5492  	// BoundingBox: The bounding box for the word. The vertices are in the order of
  5493  	// top-left, top-right, bottom-right, bottom-left. When a rotation of the
  5494  	// bounding box is detected the rotation is represented as around the top-left
  5495  	// corner as defined when the text is read in the 'natural' orientation. For
  5496  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  5497  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  5498  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  5499  	BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"`
  5500  	// Confidence: Confidence of the OCR results for the word. Range [0, 1].
  5501  	Confidence float64 `json:"confidence,omitempty"`
  5502  	// Property: Additional information detected for the word.
  5503  	Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"`
  5504  	// Symbols: List of symbols in the word. The order of the symbols follows the
  5505  	// natural reading order.
  5506  	Symbols []*GoogleCloudVisionV1p2beta1Symbol `json:"symbols,omitempty"`
  5507  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  5508  	// unconditionally include in API requests. By default, fields with empty or
  5509  	// default values are omitted from API requests. See
  5510  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5511  	// details.
  5512  	ForceSendFields []string `json:"-"`
  5513  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  5514  	// requests with the JSON null value. By default, fields with empty values are
  5515  	// omitted from API requests. See
  5516  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5517  	NullFields []string `json:"-"`
  5518  }
  5519  
  5520  func (s *GoogleCloudVisionV1p2beta1Word) MarshalJSON() ([]byte, error) {
  5521  	type NoMethod GoogleCloudVisionV1p2beta1Word
  5522  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5523  }
  5524  
  5525  func (s *GoogleCloudVisionV1p2beta1Word) UnmarshalJSON(data []byte) error {
  5526  	type NoMethod GoogleCloudVisionV1p2beta1Word
  5527  	var s1 struct {
  5528  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5529  		*NoMethod
  5530  	}
  5531  	s1.NoMethod = (*NoMethod)(s)
  5532  	if err := json.Unmarshal(data, &s1); err != nil {
  5533  		return err
  5534  	}
  5535  	s.Confidence = float64(s1.Confidence)
  5536  	return nil
  5537  }
  5538  
  5539  // GoogleCloudVisionV1p3beta1AnnotateFileResponse: Response to a single file
  5540  // annotation request. A file may contain one or more images, which
  5541  // individually have their own responses.
  5542  type GoogleCloudVisionV1p3beta1AnnotateFileResponse struct {
  5543  	// Error: If set, represents the error message for the failed request. The
  5544  	// `responses` field will not be set in this case.
  5545  	Error *Status `json:"error,omitempty"`
  5546  	// InputConfig: Information about the file for which this response is
  5547  	// generated.
  5548  	InputConfig *GoogleCloudVisionV1p3beta1InputConfig `json:"inputConfig,omitempty"`
  5549  	// Responses: Individual responses to images found within the file. This field
  5550  	// will be empty if the `error` field is set.
  5551  	Responses []*GoogleCloudVisionV1p3beta1AnnotateImageResponse `json:"responses,omitempty"`
  5552  	// TotalPages: This field gives the total number of pages in the file.
  5553  	TotalPages int64 `json:"totalPages,omitempty"`
  5554  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  5555  	// include in API requests. By default, fields with empty or default values are
  5556  	// omitted from API requests. See
  5557  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5558  	// details.
  5559  	ForceSendFields []string `json:"-"`
  5560  	// NullFields is a list of field names (e.g. "Error") to include in API
  5561  	// requests with the JSON null value. By default, fields with empty values are
  5562  	// omitted from API requests. See
  5563  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5564  	NullFields []string `json:"-"`
  5565  }
  5566  
  5567  func (s *GoogleCloudVisionV1p3beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) {
  5568  	type NoMethod GoogleCloudVisionV1p3beta1AnnotateFileResponse
  5569  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5570  }
  5571  
  5572  // GoogleCloudVisionV1p3beta1AnnotateImageResponse: Response to an image
  5573  // annotation request.
  5574  type GoogleCloudVisionV1p3beta1AnnotateImageResponse struct {
  5575  	// Context: If present, contextual information is needed to understand where
  5576  	// this image comes from.
  5577  	Context *GoogleCloudVisionV1p3beta1ImageAnnotationContext `json:"context,omitempty"`
  5578  	// CropHintsAnnotation: If present, crop hints have completed successfully.
  5579  	CropHintsAnnotation *GoogleCloudVisionV1p3beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"`
  5580  	// Error: If set, represents the error message for the operation. Note that
  5581  	// filled-in image annotations are guaranteed to be correct, even when `error`
  5582  	// is set.
  5583  	Error *Status `json:"error,omitempty"`
  5584  	// FaceAnnotations: If present, face detection has completed successfully.
  5585  	FaceAnnotations []*GoogleCloudVisionV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
  5586  	// FullTextAnnotation: If present, text (OCR) detection or document (OCR) text
  5587  	// detection has completed successfully. This annotation provides the
  5588  	// structural hierarchy for the OCR detected text.
  5589  	FullTextAnnotation *GoogleCloudVisionV1p3beta1TextAnnotation `json:"fullTextAnnotation,omitempty"`
  5590  	// ImagePropertiesAnnotation: If present, image properties were extracted
  5591  	// successfully.
  5592  	ImagePropertiesAnnotation *GoogleCloudVisionV1p3beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"`
  5593  	// LabelAnnotations: If present, label detection has completed successfully.
  5594  	LabelAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"labelAnnotations,omitempty"`
  5595  	// LandmarkAnnotations: If present, landmark detection has completed
  5596  	// successfully.
  5597  	LandmarkAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"`
  5598  	// LocalizedObjectAnnotations: If present, localized object detection has
  5599  	// completed successfully. This will be sorted descending by confidence score.
  5600  	LocalizedObjectAnnotations []*GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"`
  5601  	// LogoAnnotations: If present, logo detection has completed successfully.
  5602  	LogoAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"logoAnnotations,omitempty"`
  5603  	// ProductSearchResults: If present, product search has completed successfully.
  5604  	ProductSearchResults *GoogleCloudVisionV1p3beta1ProductSearchResults `json:"productSearchResults,omitempty"`
  5605  	// SafeSearchAnnotation: If present, safe-search annotation has completed
  5606  	// successfully.
  5607  	SafeSearchAnnotation *GoogleCloudVisionV1p3beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"`
  5608  	// TextAnnotations: If present, text (OCR) detection has completed
  5609  	// successfully.
  5610  	TextAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"textAnnotations,omitempty"`
  5611  	// WebDetection: If present, web detection has completed successfully.
  5612  	WebDetection *GoogleCloudVisionV1p3beta1WebDetection `json:"webDetection,omitempty"`
  5613  	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
  5614  	// include in API requests. By default, fields with empty or default values are
  5615  	// omitted from API requests. See
  5616  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5617  	// details.
  5618  	ForceSendFields []string `json:"-"`
  5619  	// NullFields is a list of field names (e.g. "Context") to include in API
  5620  	// requests with the JSON null value. By default, fields with empty values are
  5621  	// omitted from API requests. See
  5622  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5623  	NullFields []string `json:"-"`
  5624  }
  5625  
  5626  func (s *GoogleCloudVisionV1p3beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) {
  5627  	type NoMethod GoogleCloudVisionV1p3beta1AnnotateImageResponse
  5628  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5629  }
  5630  
  5631  // GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse: The response for a
  5632  // single offline file annotation request.
  5633  type GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse struct {
  5634  	// OutputConfig: The output location and metadata from
  5635  	// AsyncAnnotateFileRequest.
  5636  	OutputConfig *GoogleCloudVisionV1p3beta1OutputConfig `json:"outputConfig,omitempty"`
  5637  	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
  5638  	// unconditionally include in API requests. By default, fields with empty or
  5639  	// default values are omitted from API requests. See
  5640  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5641  	// details.
  5642  	ForceSendFields []string `json:"-"`
  5643  	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
  5644  	// requests with the JSON null value. By default, fields with empty values are
  5645  	// omitted from API requests. See
  5646  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5647  	NullFields []string `json:"-"`
  5648  }
  5649  
  5650  func (s *GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) {
  5651  	type NoMethod GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse
  5652  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5653  }
  5654  
  5655  // GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse: Response to an
  5656  // async batch file annotation request.
  5657  type GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse struct {
  5658  	// Responses: The list of file annotation responses, one for each request in
  5659  	// AsyncBatchAnnotateFilesRequest.
  5660  	Responses []*GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse `json:"responses,omitempty"`
  5661  	// ForceSendFields is a list of field names (e.g. "Responses") to
  5662  	// unconditionally include in API requests. By default, fields with empty or
  5663  	// default values are omitted from API requests. See
  5664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5665  	// details.
  5666  	ForceSendFields []string `json:"-"`
  5667  	// NullFields is a list of field names (e.g. "Responses") to include in API
  5668  	// requests with the JSON null value. By default, fields with empty values are
  5669  	// omitted from API requests. See
  5670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5671  	NullFields []string `json:"-"`
  5672  }
  5673  
  5674  func (s *GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
  5675  	type NoMethod GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse
  5676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5677  }
  5678  
  5679  // GoogleCloudVisionV1p3beta1BatchOperationMetadata: Metadata for the batch
  5680  // operations such as the current state. This is included in the `metadata`
  5681  // field of the `Operation` returned by the `GetOperation` call of the
  5682  // `google::longrunning::Operations` service.
  5683  type GoogleCloudVisionV1p3beta1BatchOperationMetadata struct {
  5684  	// EndTime: The time when the batch request is finished and
  5685  	// google.longrunning.Operation.done is set to true.
  5686  	EndTime string `json:"endTime,omitempty"`
  5687  	// State: The current state of the batch operation.
  5688  	//
  5689  	// Possible values:
  5690  	//   "STATE_UNSPECIFIED" - Invalid.
  5691  	//   "PROCESSING" - Request is actively being processed.
  5692  	//   "SUCCESSFUL" - The request is done and at least one item has been
  5693  	// successfully processed.
  5694  	//   "FAILED" - The request is done and no item has been successfully
  5695  	// processed.
  5696  	//   "CANCELLED" - The request is done after the
  5697  	// longrunning.Operations.CancelOperation has been called by the user. Any
  5698  	// records that were processed before the cancel command are output as
  5699  	// specified in the request.
  5700  	State string `json:"state,omitempty"`
  5701  	// SubmitTime: The time when the batch request was submitted to the server.
  5702  	SubmitTime string `json:"submitTime,omitempty"`
  5703  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  5704  	// include in API requests. By default, fields with empty or default values are
  5705  	// omitted from API requests. See
  5706  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5707  	// details.
  5708  	ForceSendFields []string `json:"-"`
  5709  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  5710  	// requests with the JSON null value. By default, fields with empty values are
  5711  	// omitted from API requests. See
  5712  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5713  	NullFields []string `json:"-"`
  5714  }
  5715  
  5716  func (s *GoogleCloudVisionV1p3beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) {
  5717  	type NoMethod GoogleCloudVisionV1p3beta1BatchOperationMetadata
  5718  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5719  }
  5720  
  5721  // GoogleCloudVisionV1p3beta1Block: Logical element on the page.
  5722  type GoogleCloudVisionV1p3beta1Block struct {
  5723  	// BlockType: Detected block type (text, image etc) for this block.
  5724  	//
  5725  	// Possible values:
  5726  	//   "UNKNOWN" - Unknown block type.
  5727  	//   "TEXT" - Regular text block.
  5728  	//   "TABLE" - Table block.
  5729  	//   "PICTURE" - Image block.
  5730  	//   "RULER" - Horizontal/vertical line box.
  5731  	//   "BARCODE" - Barcode block.
  5732  	BlockType string `json:"blockType,omitempty"`
  5733  	// BoundingBox: The bounding box for the block. The vertices are in the order
  5734  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  5735  	// bounding box is detected the rotation is represented as around the top-left
  5736  	// corner as defined when the text is read in the 'natural' orientation. For
  5737  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  5738  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  5739  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  5740  	BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"`
  5741  	// Confidence: Confidence of the OCR results on the block. Range [0, 1].
  5742  	Confidence float64 `json:"confidence,omitempty"`
  5743  	// Paragraphs: List of paragraphs in this block (if this blocks is of type
  5744  	// text).
  5745  	Paragraphs []*GoogleCloudVisionV1p3beta1Paragraph `json:"paragraphs,omitempty"`
  5746  	// Property: Additional information detected for the block.
  5747  	Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"`
  5748  	// ForceSendFields is a list of field names (e.g. "BlockType") to
  5749  	// unconditionally include in API requests. By default, fields with empty or
  5750  	// default values are omitted from API requests. See
  5751  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5752  	// details.
  5753  	ForceSendFields []string `json:"-"`
  5754  	// NullFields is a list of field names (e.g. "BlockType") to include in API
  5755  	// requests with the JSON null value. By default, fields with empty values are
  5756  	// omitted from API requests. See
  5757  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5758  	NullFields []string `json:"-"`
  5759  }
  5760  
  5761  func (s *GoogleCloudVisionV1p3beta1Block) MarshalJSON() ([]byte, error) {
  5762  	type NoMethod GoogleCloudVisionV1p3beta1Block
  5763  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5764  }
  5765  
  5766  func (s *GoogleCloudVisionV1p3beta1Block) UnmarshalJSON(data []byte) error {
  5767  	type NoMethod GoogleCloudVisionV1p3beta1Block
  5768  	var s1 struct {
  5769  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5770  		*NoMethod
  5771  	}
  5772  	s1.NoMethod = (*NoMethod)(s)
  5773  	if err := json.Unmarshal(data, &s1); err != nil {
  5774  		return err
  5775  	}
  5776  	s.Confidence = float64(s1.Confidence)
  5777  	return nil
  5778  }
  5779  
  5780  // GoogleCloudVisionV1p3beta1BoundingPoly: A bounding polygon for the detected
  5781  // image annotation.
  5782  type GoogleCloudVisionV1p3beta1BoundingPoly struct {
  5783  	// NormalizedVertices: The bounding polygon normalized vertices.
  5784  	NormalizedVertices []*GoogleCloudVisionV1p3beta1NormalizedVertex `json:"normalizedVertices,omitempty"`
  5785  	// Vertices: The bounding polygon vertices.
  5786  	Vertices []*GoogleCloudVisionV1p3beta1Vertex `json:"vertices,omitempty"`
  5787  	// ForceSendFields is a list of field names (e.g. "NormalizedVertices") to
  5788  	// unconditionally include in API requests. By default, fields with empty or
  5789  	// default values are omitted from API requests. See
  5790  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5791  	// details.
  5792  	ForceSendFields []string `json:"-"`
  5793  	// NullFields is a list of field names (e.g. "NormalizedVertices") to include
  5794  	// in API requests with the JSON null value. By default, fields with empty
  5795  	// values are omitted from API requests. See
  5796  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5797  	NullFields []string `json:"-"`
  5798  }
  5799  
  5800  func (s *GoogleCloudVisionV1p3beta1BoundingPoly) MarshalJSON() ([]byte, error) {
  5801  	type NoMethod GoogleCloudVisionV1p3beta1BoundingPoly
  5802  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5803  }
  5804  
  5805  // GoogleCloudVisionV1p3beta1ColorInfo: Color information consists of RGB
  5806  // channels, score, and the fraction of the image that the color occupies in
  5807  // the image.
  5808  type GoogleCloudVisionV1p3beta1ColorInfo struct {
  5809  	// Color: RGB components of the color.
  5810  	Color *Color `json:"color,omitempty"`
  5811  	// PixelFraction: The fraction of pixels the color occupies in the image. Value
  5812  	// in range [0, 1].
  5813  	PixelFraction float64 `json:"pixelFraction,omitempty"`
  5814  	// Score: Image-specific score for this color. Value in range [0, 1].
  5815  	Score float64 `json:"score,omitempty"`
  5816  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  5817  	// include in API requests. By default, fields with empty or default values are
  5818  	// omitted from API requests. See
  5819  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5820  	// details.
  5821  	ForceSendFields []string `json:"-"`
  5822  	// NullFields is a list of field names (e.g. "Color") to include in API
  5823  	// requests with the JSON null value. By default, fields with empty values are
  5824  	// omitted from API requests. See
  5825  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5826  	NullFields []string `json:"-"`
  5827  }
  5828  
  5829  func (s *GoogleCloudVisionV1p3beta1ColorInfo) MarshalJSON() ([]byte, error) {
  5830  	type NoMethod GoogleCloudVisionV1p3beta1ColorInfo
  5831  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5832  }
  5833  
  5834  func (s *GoogleCloudVisionV1p3beta1ColorInfo) UnmarshalJSON(data []byte) error {
  5835  	type NoMethod GoogleCloudVisionV1p3beta1ColorInfo
  5836  	var s1 struct {
  5837  		PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"`
  5838  		Score         gensupport.JSONFloat64 `json:"score"`
  5839  		*NoMethod
  5840  	}
  5841  	s1.NoMethod = (*NoMethod)(s)
  5842  	if err := json.Unmarshal(data, &s1); err != nil {
  5843  		return err
  5844  	}
  5845  	s.PixelFraction = float64(s1.PixelFraction)
  5846  	s.Score = float64(s1.Score)
  5847  	return nil
  5848  }
  5849  
  5850  // GoogleCloudVisionV1p3beta1CropHint: Single crop hint that is used to
  5851  // generate a new crop when serving an image.
  5852  type GoogleCloudVisionV1p3beta1CropHint struct {
  5853  	// BoundingPoly: The bounding polygon for the crop region. The coordinates of
  5854  	// the bounding box are in the original image's scale.
  5855  	BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"`
  5856  	// Confidence: Confidence of this being a salient region. Range [0, 1].
  5857  	Confidence float64 `json:"confidence,omitempty"`
  5858  	// ImportanceFraction: Fraction of importance of this salient region with
  5859  	// respect to the original image.
  5860  	ImportanceFraction float64 `json:"importanceFraction,omitempty"`
  5861  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  5862  	// unconditionally include in API requests. By default, fields with empty or
  5863  	// default values are omitted from API requests. See
  5864  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5865  	// details.
  5866  	ForceSendFields []string `json:"-"`
  5867  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  5868  	// requests with the JSON null value. By default, fields with empty values are
  5869  	// omitted from API requests. See
  5870  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5871  	NullFields []string `json:"-"`
  5872  }
  5873  
  5874  func (s *GoogleCloudVisionV1p3beta1CropHint) MarshalJSON() ([]byte, error) {
  5875  	type NoMethod GoogleCloudVisionV1p3beta1CropHint
  5876  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5877  }
  5878  
  5879  func (s *GoogleCloudVisionV1p3beta1CropHint) UnmarshalJSON(data []byte) error {
  5880  	type NoMethod GoogleCloudVisionV1p3beta1CropHint
  5881  	var s1 struct {
  5882  		Confidence         gensupport.JSONFloat64 `json:"confidence"`
  5883  		ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"`
  5884  		*NoMethod
  5885  	}
  5886  	s1.NoMethod = (*NoMethod)(s)
  5887  	if err := json.Unmarshal(data, &s1); err != nil {
  5888  		return err
  5889  	}
  5890  	s.Confidence = float64(s1.Confidence)
  5891  	s.ImportanceFraction = float64(s1.ImportanceFraction)
  5892  	return nil
  5893  }
  5894  
  5895  // GoogleCloudVisionV1p3beta1CropHintsAnnotation: Set of crop hints that are
  5896  // used to generate new crops when serving images.
  5897  type GoogleCloudVisionV1p3beta1CropHintsAnnotation struct {
  5898  	// CropHints: Crop hint results.
  5899  	CropHints []*GoogleCloudVisionV1p3beta1CropHint `json:"cropHints,omitempty"`
  5900  	// ForceSendFields is a list of field names (e.g. "CropHints") to
  5901  	// unconditionally include in API requests. By default, fields with empty or
  5902  	// default values are omitted from API requests. See
  5903  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5904  	// details.
  5905  	ForceSendFields []string `json:"-"`
  5906  	// NullFields is a list of field names (e.g. "CropHints") to include in API
  5907  	// requests with the JSON null value. By default, fields with empty values are
  5908  	// omitted from API requests. See
  5909  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5910  	NullFields []string `json:"-"`
  5911  }
  5912  
  5913  func (s *GoogleCloudVisionV1p3beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) {
  5914  	type NoMethod GoogleCloudVisionV1p3beta1CropHintsAnnotation
  5915  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5916  }
  5917  
  5918  // GoogleCloudVisionV1p3beta1DominantColorsAnnotation: Set of dominant colors
  5919  // and their corresponding scores.
  5920  type GoogleCloudVisionV1p3beta1DominantColorsAnnotation struct {
  5921  	// Colors: RGB color values with their score and pixel fraction.
  5922  	Colors []*GoogleCloudVisionV1p3beta1ColorInfo `json:"colors,omitempty"`
  5923  	// ForceSendFields is a list of field names (e.g. "Colors") to unconditionally
  5924  	// include in API requests. By default, fields with empty or default values are
  5925  	// omitted from API requests. See
  5926  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5927  	// details.
  5928  	ForceSendFields []string `json:"-"`
  5929  	// NullFields is a list of field names (e.g. "Colors") to include in API
  5930  	// requests with the JSON null value. By default, fields with empty values are
  5931  	// omitted from API requests. See
  5932  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5933  	NullFields []string `json:"-"`
  5934  }
  5935  
  5936  func (s *GoogleCloudVisionV1p3beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) {
  5937  	type NoMethod GoogleCloudVisionV1p3beta1DominantColorsAnnotation
  5938  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5939  }
  5940  
  5941  // GoogleCloudVisionV1p3beta1EntityAnnotation: Set of detected entity features.
  5942  type GoogleCloudVisionV1p3beta1EntityAnnotation struct {
  5943  	// BoundingPoly: Image region to which this entity belongs. Not produced for
  5944  	// `LABEL_DETECTION` features.
  5945  	BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"`
  5946  	// Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity
  5947  	// detection in an image. For example, for an image in which the "Eiffel Tower"
  5948  	// entity is detected, this field represents the confidence that there is a
  5949  	// tower in the query image. Range [0, 1].
  5950  	Confidence float64 `json:"confidence,omitempty"`
  5951  	// Description: Entity textual description, expressed in its `locale` language.
  5952  	Description string `json:"description,omitempty"`
  5953  	// Locale: The language code for the locale in which the entity textual
  5954  	// `description` is expressed.
  5955  	Locale string `json:"locale,omitempty"`
  5956  	// Locations: The location information for the detected entity. Multiple
  5957  	// `LocationInfo` elements can be present because one location may indicate the
  5958  	// location of the scene in the image, and another location may indicate the
  5959  	// location of the place where the image was taken. Location information is
  5960  	// usually present for landmarks.
  5961  	Locations []*GoogleCloudVisionV1p3beta1LocationInfo `json:"locations,omitempty"`
  5962  	// Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph
  5963  	// Search API (https://developers.google.com/knowledge-graph/).
  5964  	Mid string `json:"mid,omitempty"`
  5965  	// Properties: Some entities may have optional user-supplied `Property`
  5966  	// (name/value) fields, such a score or string that qualifies the entity.
  5967  	Properties []*GoogleCloudVisionV1p3beta1Property `json:"properties,omitempty"`
  5968  	// Score: Overall score of the result. Range [0, 1].
  5969  	Score float64 `json:"score,omitempty"`
  5970  	// Topicality: The relevancy of the ICA (Image Content Annotation) label to the
  5971  	// image. For example, the relevancy of "tower" is likely higher to an image
  5972  	// containing the detected "Eiffel Tower" than to an image containing a
  5973  	// detected distant towering building, even though the confidence that there is
  5974  	// a tower in each image may be the same. Range [0, 1].
  5975  	Topicality float64 `json:"topicality,omitempty"`
  5976  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  5977  	// unconditionally include in API requests. By default, fields with empty or
  5978  	// default values are omitted from API requests. See
  5979  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5980  	// details.
  5981  	ForceSendFields []string `json:"-"`
  5982  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  5983  	// requests with the JSON null value. By default, fields with empty values are
  5984  	// omitted from API requests. See
  5985  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5986  	NullFields []string `json:"-"`
  5987  }
  5988  
  5989  func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) MarshalJSON() ([]byte, error) {
  5990  	type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation
  5991  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5992  }
  5993  
  5994  func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) UnmarshalJSON(data []byte) error {
  5995  	type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation
  5996  	var s1 struct {
  5997  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  5998  		Score      gensupport.JSONFloat64 `json:"score"`
  5999  		Topicality gensupport.JSONFloat64 `json:"topicality"`
  6000  		*NoMethod
  6001  	}
  6002  	s1.NoMethod = (*NoMethod)(s)
  6003  	if err := json.Unmarshal(data, &s1); err != nil {
  6004  		return err
  6005  	}
  6006  	s.Confidence = float64(s1.Confidence)
  6007  	s.Score = float64(s1.Score)
  6008  	s.Topicality = float64(s1.Topicality)
  6009  	return nil
  6010  }
  6011  
  6012  // GoogleCloudVisionV1p3beta1FaceAnnotation: A face annotation object contains
  6013  // the results of face detection.
  6014  type GoogleCloudVisionV1p3beta1FaceAnnotation struct {
  6015  	// AngerLikelihood: Anger likelihood.
  6016  	//
  6017  	// Possible values:
  6018  	//   "UNKNOWN" - Unknown likelihood.
  6019  	//   "VERY_UNLIKELY" - It is very unlikely.
  6020  	//   "UNLIKELY" - It is unlikely.
  6021  	//   "POSSIBLE" - It is possible.
  6022  	//   "LIKELY" - It is likely.
  6023  	//   "VERY_LIKELY" - It is very likely.
  6024  	AngerLikelihood string `json:"angerLikelihood,omitempty"`
  6025  	// BlurredLikelihood: Blurred likelihood.
  6026  	//
  6027  	// Possible values:
  6028  	//   "UNKNOWN" - Unknown likelihood.
  6029  	//   "VERY_UNLIKELY" - It is very unlikely.
  6030  	//   "UNLIKELY" - It is unlikely.
  6031  	//   "POSSIBLE" - It is possible.
  6032  	//   "LIKELY" - It is likely.
  6033  	//   "VERY_LIKELY" - It is very likely.
  6034  	BlurredLikelihood string `json:"blurredLikelihood,omitempty"`
  6035  	// BoundingPoly: The bounding polygon around the face. The coordinates of the
  6036  	// bounding box are in the original image's scale. The bounding box is computed
  6037  	// to "frame" the face in accordance with human expectations. It is based on
  6038  	// the landmarker results. Note that one or more x and/or y coordinates may not
  6039  	// be generated in the `BoundingPoly` (the polygon will be unbounded) if only a
  6040  	// partial face appears in the image to be annotated.
  6041  	BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"`
  6042  	// DetectionConfidence: Detection confidence. Range [0, 1].
  6043  	DetectionConfidence float64 `json:"detectionConfidence,omitempty"`
  6044  	// FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the
  6045  	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
  6046  	// is used to eliminate the face from any image analysis that detects the
  6047  	// "amount of skin" visible in an image. It is not based on the landmarker
  6048  	// results, only on the initial face detection, hence the fd (face detection)
  6049  	// prefix.
  6050  	FdBoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"fdBoundingPoly,omitempty"`
  6051  	// HeadwearLikelihood: Headwear likelihood.
  6052  	//
  6053  	// Possible values:
  6054  	//   "UNKNOWN" - Unknown likelihood.
  6055  	//   "VERY_UNLIKELY" - It is very unlikely.
  6056  	//   "UNLIKELY" - It is unlikely.
  6057  	//   "POSSIBLE" - It is possible.
  6058  	//   "LIKELY" - It is likely.
  6059  	//   "VERY_LIKELY" - It is very likely.
  6060  	HeadwearLikelihood string `json:"headwearLikelihood,omitempty"`
  6061  	// JoyLikelihood: Joy likelihood.
  6062  	//
  6063  	// Possible values:
  6064  	//   "UNKNOWN" - Unknown likelihood.
  6065  	//   "VERY_UNLIKELY" - It is very unlikely.
  6066  	//   "UNLIKELY" - It is unlikely.
  6067  	//   "POSSIBLE" - It is possible.
  6068  	//   "LIKELY" - It is likely.
  6069  	//   "VERY_LIKELY" - It is very likely.
  6070  	JoyLikelihood string `json:"joyLikelihood,omitempty"`
  6071  	// LandmarkingConfidence: Face landmarking confidence. Range [0, 1].
  6072  	LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"`
  6073  	// Landmarks: Detected face landmarks.
  6074  	Landmarks []*GoogleCloudVisionV1p3beta1FaceAnnotationLandmark `json:"landmarks,omitempty"`
  6075  	// PanAngle: Yaw angle, which indicates the leftward/rightward angle that the
  6076  	// face is pointing relative to the vertical plane perpendicular to the image.
  6077  	// Range [-180,180].
  6078  	PanAngle float64 `json:"panAngle,omitempty"`
  6079  	// RollAngle: Roll angle, which indicates the amount of
  6080  	// clockwise/anti-clockwise rotation of the face relative to the image vertical
  6081  	// about the axis perpendicular to the face. Range [-180,180].
  6082  	RollAngle float64 `json:"rollAngle,omitempty"`
  6083  	// SorrowLikelihood: Sorrow likelihood.
  6084  	//
  6085  	// Possible values:
  6086  	//   "UNKNOWN" - Unknown likelihood.
  6087  	//   "VERY_UNLIKELY" - It is very unlikely.
  6088  	//   "UNLIKELY" - It is unlikely.
  6089  	//   "POSSIBLE" - It is possible.
  6090  	//   "LIKELY" - It is likely.
  6091  	//   "VERY_LIKELY" - It is very likely.
  6092  	SorrowLikelihood string `json:"sorrowLikelihood,omitempty"`
  6093  	// SurpriseLikelihood: Surprise likelihood.
  6094  	//
  6095  	// Possible values:
  6096  	//   "UNKNOWN" - Unknown likelihood.
  6097  	//   "VERY_UNLIKELY" - It is very unlikely.
  6098  	//   "UNLIKELY" - It is unlikely.
  6099  	//   "POSSIBLE" - It is possible.
  6100  	//   "LIKELY" - It is likely.
  6101  	//   "VERY_LIKELY" - It is very likely.
  6102  	SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"`
  6103  	// TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the
  6104  	// face is pointing relative to the image's horizontal plane. Range [-180,180].
  6105  	TiltAngle float64 `json:"tiltAngle,omitempty"`
  6106  	// UnderExposedLikelihood: Under-exposed likelihood.
  6107  	//
  6108  	// Possible values:
  6109  	//   "UNKNOWN" - Unknown likelihood.
  6110  	//   "VERY_UNLIKELY" - It is very unlikely.
  6111  	//   "UNLIKELY" - It is unlikely.
  6112  	//   "POSSIBLE" - It is possible.
  6113  	//   "LIKELY" - It is likely.
  6114  	//   "VERY_LIKELY" - It is very likely.
  6115  	UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"`
  6116  	// ForceSendFields is a list of field names (e.g. "AngerLikelihood") to
  6117  	// unconditionally include in API requests. By default, fields with empty or
  6118  	// default values are omitted from API requests. See
  6119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6120  	// details.
  6121  	ForceSendFields []string `json:"-"`
  6122  	// NullFields is a list of field names (e.g. "AngerLikelihood") to include in
  6123  	// API requests with the JSON null value. By default, fields with empty values
  6124  	// are omitted from API requests. See
  6125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6126  	NullFields []string `json:"-"`
  6127  }
  6128  
  6129  func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
  6130  	type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation
  6131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6132  }
  6133  
  6134  func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) UnmarshalJSON(data []byte) error {
  6135  	type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation
  6136  	var s1 struct {
  6137  		DetectionConfidence   gensupport.JSONFloat64 `json:"detectionConfidence"`
  6138  		LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"`
  6139  		PanAngle              gensupport.JSONFloat64 `json:"panAngle"`
  6140  		RollAngle             gensupport.JSONFloat64 `json:"rollAngle"`
  6141  		TiltAngle             gensupport.JSONFloat64 `json:"tiltAngle"`
  6142  		*NoMethod
  6143  	}
  6144  	s1.NoMethod = (*NoMethod)(s)
  6145  	if err := json.Unmarshal(data, &s1); err != nil {
  6146  		return err
  6147  	}
  6148  	s.DetectionConfidence = float64(s1.DetectionConfidence)
  6149  	s.LandmarkingConfidence = float64(s1.LandmarkingConfidence)
  6150  	s.PanAngle = float64(s1.PanAngle)
  6151  	s.RollAngle = float64(s1.RollAngle)
  6152  	s.TiltAngle = float64(s1.TiltAngle)
  6153  	return nil
  6154  }
  6155  
  6156  // GoogleCloudVisionV1p3beta1FaceAnnotationLandmark: A face-specific landmark
  6157  // (for example, a face feature).
  6158  type GoogleCloudVisionV1p3beta1FaceAnnotationLandmark struct {
  6159  	// Position: Face landmark position.
  6160  	Position *GoogleCloudVisionV1p3beta1Position `json:"position,omitempty"`
  6161  	// Type: Face landmark type.
  6162  	//
  6163  	// Possible values:
  6164  	//   "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled.
  6165  	//   "LEFT_EYE" - Left eye.
  6166  	//   "RIGHT_EYE" - Right eye.
  6167  	//   "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow.
  6168  	//   "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow.
  6169  	//   "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow.
  6170  	//   "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow.
  6171  	//   "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes.
  6172  	//   "NOSE_TIP" - Nose tip.
  6173  	//   "UPPER_LIP" - Upper lip.
  6174  	//   "LOWER_LIP" - Lower lip.
  6175  	//   "MOUTH_LEFT" - Mouth left.
  6176  	//   "MOUTH_RIGHT" - Mouth right.
  6177  	//   "MOUTH_CENTER" - Mouth center.
  6178  	//   "NOSE_BOTTOM_RIGHT" - Nose, bottom right.
  6179  	//   "NOSE_BOTTOM_LEFT" - Nose, bottom left.
  6180  	//   "NOSE_BOTTOM_CENTER" - Nose, bottom center.
  6181  	//   "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary.
  6182  	//   "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner.
  6183  	//   "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary.
  6184  	//   "LEFT_EYE_LEFT_CORNER" - Left eye, left corner.
  6185  	//   "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary.
  6186  	//   "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner.
  6187  	//   "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary.
  6188  	//   "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner.
  6189  	//   "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint.
  6190  	//   "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint.
  6191  	//   "LEFT_EAR_TRAGION" - Left ear tragion.
  6192  	//   "RIGHT_EAR_TRAGION" - Right ear tragion.
  6193  	//   "LEFT_EYE_PUPIL" - Left eye pupil.
  6194  	//   "RIGHT_EYE_PUPIL" - Right eye pupil.
  6195  	//   "FOREHEAD_GLABELLA" - Forehead glabella.
  6196  	//   "CHIN_GNATHION" - Chin gnathion.
  6197  	//   "CHIN_LEFT_GONION" - Chin left gonion.
  6198  	//   "CHIN_RIGHT_GONION" - Chin right gonion.
  6199  	//   "LEFT_CHEEK_CENTER" - Left cheek center.
  6200  	//   "RIGHT_CHEEK_CENTER" - Right cheek center.
  6201  	Type string `json:"type,omitempty"`
  6202  	// ForceSendFields is a list of field names (e.g. "Position") to
  6203  	// unconditionally include in API requests. By default, fields with empty or
  6204  	// default values are omitted from API requests. See
  6205  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6206  	// details.
  6207  	ForceSendFields []string `json:"-"`
  6208  	// NullFields is a list of field names (e.g. "Position") to include in API
  6209  	// requests with the JSON null value. By default, fields with empty values are
  6210  	// omitted from API requests. See
  6211  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6212  	NullFields []string `json:"-"`
  6213  }
  6214  
  6215  func (s *GoogleCloudVisionV1p3beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) {
  6216  	type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotationLandmark
  6217  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6218  }
  6219  
  6220  // GoogleCloudVisionV1p3beta1GcsDestination: The Google Cloud Storage location
  6221  // where the output will be written to.
  6222  type GoogleCloudVisionV1p3beta1GcsDestination struct {
  6223  	// Uri: Google Cloud Storage URI prefix where the results will be stored.
  6224  	// Results will be in JSON format and preceded by its corresponding input URI
  6225  	// prefix. This field can either represent a gcs file prefix or gcs directory.
  6226  	// In either case, the uri should be unique because in order to get all of the
  6227  	// output files, you will need to do a wildcard gcs search on the uri prefix
  6228  	// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix
  6229  	// The output files will be created in gs://bucket-name/here/ and the names of
  6230  	// the output files will begin with "filenameprefix". * Directory Prefix:
  6231  	// gs://bucket-name/some/location/ The output files will be created in
  6232  	// gs://bucket-name/some/location/ and the names of the output files could be
  6233  	// anything because there was no filename prefix specified. If multiple
  6234  	// outputs, each response is still AnnotateFileResponse, each of which contains
  6235  	// some subset of the full list of AnnotateImageResponse. Multiple outputs can
  6236  	// happen if, for example, the output JSON is too large and overflows into
  6237  	// multiple sharded files.
  6238  	Uri string `json:"uri,omitempty"`
  6239  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  6240  	// include in API requests. By default, fields with empty or default values are
  6241  	// omitted from API requests. See
  6242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6243  	// details.
  6244  	ForceSendFields []string `json:"-"`
  6245  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  6246  	// with the JSON null value. By default, fields with empty values are omitted
  6247  	// from API requests. See
  6248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6249  	NullFields []string `json:"-"`
  6250  }
  6251  
  6252  func (s *GoogleCloudVisionV1p3beta1GcsDestination) MarshalJSON() ([]byte, error) {
  6253  	type NoMethod GoogleCloudVisionV1p3beta1GcsDestination
  6254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6255  }
  6256  
  6257  // GoogleCloudVisionV1p3beta1GcsSource: The Google Cloud Storage location where
  6258  // the input will be read from.
  6259  type GoogleCloudVisionV1p3beta1GcsSource struct {
  6260  	// Uri: Google Cloud Storage URI for the input file. This must only be a Google
  6261  	// Cloud Storage object. Wildcards are not currently supported.
  6262  	Uri string `json:"uri,omitempty"`
  6263  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  6264  	// include in API requests. By default, fields with empty or default values are
  6265  	// omitted from API requests. See
  6266  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6267  	// details.
  6268  	ForceSendFields []string `json:"-"`
  6269  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  6270  	// with the JSON null value. By default, fields with empty values are omitted
  6271  	// from API requests. See
  6272  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6273  	NullFields []string `json:"-"`
  6274  }
  6275  
  6276  func (s *GoogleCloudVisionV1p3beta1GcsSource) MarshalJSON() ([]byte, error) {
  6277  	type NoMethod GoogleCloudVisionV1p3beta1GcsSource
  6278  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6279  }
  6280  
  6281  // GoogleCloudVisionV1p3beta1ImageAnnotationContext: If an image was produced
  6282  // from a file (e.g. a PDF), this message gives information about the source of
  6283  // that image.
  6284  type GoogleCloudVisionV1p3beta1ImageAnnotationContext struct {
  6285  	// PageNumber: If the file was a PDF or TIFF, this field gives the page number
  6286  	// within the file used to produce the image.
  6287  	PageNumber int64 `json:"pageNumber,omitempty"`
  6288  	// Uri: The URI of the file used to produce the image.
  6289  	Uri string `json:"uri,omitempty"`
  6290  	// ForceSendFields is a list of field names (e.g. "PageNumber") to
  6291  	// unconditionally include in API requests. By default, fields with empty or
  6292  	// default values are omitted from API requests. See
  6293  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6294  	// details.
  6295  	ForceSendFields []string `json:"-"`
  6296  	// NullFields is a list of field names (e.g. "PageNumber") to include in API
  6297  	// requests with the JSON null value. By default, fields with empty values are
  6298  	// omitted from API requests. See
  6299  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6300  	NullFields []string `json:"-"`
  6301  }
  6302  
  6303  func (s *GoogleCloudVisionV1p3beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) {
  6304  	type NoMethod GoogleCloudVisionV1p3beta1ImageAnnotationContext
  6305  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6306  }
  6307  
  6308  // GoogleCloudVisionV1p3beta1ImageProperties: Stores image properties, such as
  6309  // dominant colors.
  6310  type GoogleCloudVisionV1p3beta1ImageProperties struct {
  6311  	// DominantColors: If present, dominant colors completed successfully.
  6312  	DominantColors *GoogleCloudVisionV1p3beta1DominantColorsAnnotation `json:"dominantColors,omitempty"`
  6313  	// ForceSendFields is a list of field names (e.g. "DominantColors") to
  6314  	// unconditionally include in API requests. By default, fields with empty or
  6315  	// default values are omitted from API requests. See
  6316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6317  	// details.
  6318  	ForceSendFields []string `json:"-"`
  6319  	// NullFields is a list of field names (e.g. "DominantColors") to include in
  6320  	// API requests with the JSON null value. By default, fields with empty values
  6321  	// are omitted from API requests. See
  6322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6323  	NullFields []string `json:"-"`
  6324  }
  6325  
  6326  func (s *GoogleCloudVisionV1p3beta1ImageProperties) MarshalJSON() ([]byte, error) {
  6327  	type NoMethod GoogleCloudVisionV1p3beta1ImageProperties
  6328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6329  }
  6330  
  6331  // GoogleCloudVisionV1p3beta1ImportProductSetsResponse: Response message for
  6332  // the `ImportProductSets` method. This message is returned by the
  6333  // google.longrunning.Operations.GetOperation method in the returned
  6334  // google.longrunning.Operation.response field.
  6335  type GoogleCloudVisionV1p3beta1ImportProductSetsResponse struct {
  6336  	// ReferenceImages: The list of reference_images that are imported
  6337  	// successfully.
  6338  	ReferenceImages []*GoogleCloudVisionV1p3beta1ReferenceImage `json:"referenceImages,omitempty"`
  6339  	// Statuses: The rpc status for each ImportProductSet request, including both
  6340  	// successes and errors. The number of statuses here matches the number of
  6341  	// lines in the csv file, and statuses[i] stores the success or failure status
  6342  	// of processing the i-th line of the csv, starting from line 0.
  6343  	Statuses []*Status `json:"statuses,omitempty"`
  6344  	// ForceSendFields is a list of field names (e.g. "ReferenceImages") to
  6345  	// unconditionally include in API requests. By default, fields with empty or
  6346  	// default values are omitted from API requests. See
  6347  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6348  	// details.
  6349  	ForceSendFields []string `json:"-"`
  6350  	// NullFields is a list of field names (e.g. "ReferenceImages") to include in
  6351  	// API requests with the JSON null value. By default, fields with empty values
  6352  	// are omitted from API requests. See
  6353  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6354  	NullFields []string `json:"-"`
  6355  }
  6356  
  6357  func (s *GoogleCloudVisionV1p3beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) {
  6358  	type NoMethod GoogleCloudVisionV1p3beta1ImportProductSetsResponse
  6359  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6360  }
  6361  
  6362  // GoogleCloudVisionV1p3beta1InputConfig: The desired input location and
  6363  // metadata.
  6364  type GoogleCloudVisionV1p3beta1InputConfig struct {
  6365  	// Content: File content, represented as a stream of bytes. Note: As with all
  6366  	// `bytes` fields, protobuffers use a pure binary representation, whereas JSON
  6367  	// representations use base64. Currently, this field only works for
  6368  	// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles
  6369  	// requests.
  6370  	Content string `json:"content,omitempty"`
  6371  	// GcsSource: The Google Cloud Storage location to read the input from.
  6372  	GcsSource *GoogleCloudVisionV1p3beta1GcsSource `json:"gcsSource,omitempty"`
  6373  	// MimeType: The type of the file. Currently only "application/pdf",
  6374  	// "image/tiff" and "image/gif" are supported. Wildcards are not supported.
  6375  	MimeType string `json:"mimeType,omitempty"`
  6376  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  6377  	// include in API requests. By default, fields with empty or default values are
  6378  	// omitted from API requests. See
  6379  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6380  	// details.
  6381  	ForceSendFields []string `json:"-"`
  6382  	// NullFields is a list of field names (e.g. "Content") to include in API
  6383  	// requests with the JSON null value. By default, fields with empty values are
  6384  	// omitted from API requests. See
  6385  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6386  	NullFields []string `json:"-"`
  6387  }
  6388  
  6389  func (s *GoogleCloudVisionV1p3beta1InputConfig) MarshalJSON() ([]byte, error) {
  6390  	type NoMethod GoogleCloudVisionV1p3beta1InputConfig
  6391  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6392  }
  6393  
  6394  // GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation: Set of detected objects
  6395  // with bounding boxes.
  6396  type GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation struct {
  6397  	// BoundingPoly: Image region to which this object belongs. This must be
  6398  	// populated.
  6399  	BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"`
  6400  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  6401  	// more information, see
  6402  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  6403  	LanguageCode string `json:"languageCode,omitempty"`
  6404  	// Mid: Object ID that should align with EntityAnnotation mid.
  6405  	Mid string `json:"mid,omitempty"`
  6406  	// Name: Object name, expressed in its `language_code` language.
  6407  	Name string `json:"name,omitempty"`
  6408  	// Score: Score of the result. Range [0, 1].
  6409  	Score float64 `json:"score,omitempty"`
  6410  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  6411  	// unconditionally include in API requests. By default, fields with empty or
  6412  	// default values are omitted from API requests. See
  6413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6414  	// details.
  6415  	ForceSendFields []string `json:"-"`
  6416  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  6417  	// requests with the JSON null value. By default, fields with empty values are
  6418  	// omitted from API requests. See
  6419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6420  	NullFields []string `json:"-"`
  6421  }
  6422  
  6423  func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) {
  6424  	type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation
  6425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6426  }
  6427  
  6428  func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error {
  6429  	type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation
  6430  	var s1 struct {
  6431  		Score gensupport.JSONFloat64 `json:"score"`
  6432  		*NoMethod
  6433  	}
  6434  	s1.NoMethod = (*NoMethod)(s)
  6435  	if err := json.Unmarshal(data, &s1); err != nil {
  6436  		return err
  6437  	}
  6438  	s.Score = float64(s1.Score)
  6439  	return nil
  6440  }
  6441  
  6442  // GoogleCloudVisionV1p3beta1LocationInfo: Detected entity location
  6443  // information.
  6444  type GoogleCloudVisionV1p3beta1LocationInfo struct {
  6445  	// LatLng: lat/long location coordinates.
  6446  	LatLng *LatLng `json:"latLng,omitempty"`
  6447  	// ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally
  6448  	// include in API requests. By default, fields with empty or default values are
  6449  	// omitted from API requests. See
  6450  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6451  	// details.
  6452  	ForceSendFields []string `json:"-"`
  6453  	// NullFields is a list of field names (e.g. "LatLng") to include in API
  6454  	// requests with the JSON null value. By default, fields with empty values are
  6455  	// omitted from API requests. See
  6456  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6457  	NullFields []string `json:"-"`
  6458  }
  6459  
  6460  func (s *GoogleCloudVisionV1p3beta1LocationInfo) MarshalJSON() ([]byte, error) {
  6461  	type NoMethod GoogleCloudVisionV1p3beta1LocationInfo
  6462  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6463  }
  6464  
  6465  // GoogleCloudVisionV1p3beta1NormalizedVertex: A vertex represents a 2D point
  6466  // in the image. NOTE: the normalized vertex coordinates are relative to the
  6467  // original image and range from 0 to 1.
  6468  type GoogleCloudVisionV1p3beta1NormalizedVertex struct {
  6469  	// X: X coordinate.
  6470  	X float64 `json:"x,omitempty"`
  6471  	// Y: Y coordinate.
  6472  	Y float64 `json:"y,omitempty"`
  6473  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  6474  	// include in API requests. By default, fields with empty or default values are
  6475  	// omitted from API requests. See
  6476  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6477  	// details.
  6478  	ForceSendFields []string `json:"-"`
  6479  	// NullFields is a list of field names (e.g. "X") to include in API requests
  6480  	// with the JSON null value. By default, fields with empty values are omitted
  6481  	// from API requests. See
  6482  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6483  	NullFields []string `json:"-"`
  6484  }
  6485  
  6486  func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
  6487  	type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex
  6488  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6489  }
  6490  
  6491  func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
  6492  	type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex
  6493  	var s1 struct {
  6494  		X gensupport.JSONFloat64 `json:"x"`
  6495  		Y gensupport.JSONFloat64 `json:"y"`
  6496  		*NoMethod
  6497  	}
  6498  	s1.NoMethod = (*NoMethod)(s)
  6499  	if err := json.Unmarshal(data, &s1); err != nil {
  6500  		return err
  6501  	}
  6502  	s.X = float64(s1.X)
  6503  	s.Y = float64(s1.Y)
  6504  	return nil
  6505  }
  6506  
  6507  // GoogleCloudVisionV1p3beta1OperationMetadata: Contains metadata for the
  6508  // BatchAnnotateImages operation.
  6509  type GoogleCloudVisionV1p3beta1OperationMetadata struct {
  6510  	// CreateTime: The time when the batch request was received.
  6511  	CreateTime string `json:"createTime,omitempty"`
  6512  	// State: Current state of the batch operation.
  6513  	//
  6514  	// Possible values:
  6515  	//   "STATE_UNSPECIFIED" - Invalid.
  6516  	//   "CREATED" - Request is received.
  6517  	//   "RUNNING" - Request is actively being processed.
  6518  	//   "DONE" - The batch processing is done.
  6519  	//   "CANCELLED" - The batch processing was cancelled.
  6520  	State string `json:"state,omitempty"`
  6521  	// UpdateTime: The time when the operation result was last updated.
  6522  	UpdateTime string `json:"updateTime,omitempty"`
  6523  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  6524  	// unconditionally include in API requests. By default, fields with empty or
  6525  	// default values are omitted from API requests. See
  6526  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6527  	// details.
  6528  	ForceSendFields []string `json:"-"`
  6529  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  6530  	// requests with the JSON null value. By default, fields with empty values are
  6531  	// omitted from API requests. See
  6532  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6533  	NullFields []string `json:"-"`
  6534  }
  6535  
  6536  func (s *GoogleCloudVisionV1p3beta1OperationMetadata) MarshalJSON() ([]byte, error) {
  6537  	type NoMethod GoogleCloudVisionV1p3beta1OperationMetadata
  6538  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6539  }
  6540  
  6541  // GoogleCloudVisionV1p3beta1OutputConfig: The desired output location and
  6542  // metadata.
  6543  type GoogleCloudVisionV1p3beta1OutputConfig struct {
  6544  	// BatchSize: The max number of response protos to put into each output JSON
  6545  	// file on Google Cloud Storage. The valid range is [1, 100]. If not specified,
  6546  	// the default value is 20. For example, for one pdf file with 100 pages, 100
  6547  	// response protos will be generated. If `batch_size` = 20, then 5 json files
  6548  	// each containing 20 response protos will be written under the prefix
  6549  	// `gcs_destination`.`uri`. Currently, batch_size only applies to
  6550  	// GcsDestination, with potential future support for other output
  6551  	// configurations.
  6552  	BatchSize int64 `json:"batchSize,omitempty"`
  6553  	// GcsDestination: The Google Cloud Storage location to write the output(s) to.
  6554  	GcsDestination *GoogleCloudVisionV1p3beta1GcsDestination `json:"gcsDestination,omitempty"`
  6555  	// ForceSendFields is a list of field names (e.g. "BatchSize") to
  6556  	// unconditionally include in API requests. By default, fields with empty or
  6557  	// default values are omitted from API requests. See
  6558  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6559  	// details.
  6560  	ForceSendFields []string `json:"-"`
  6561  	// NullFields is a list of field names (e.g. "BatchSize") to include in API
  6562  	// requests with the JSON null value. By default, fields with empty values are
  6563  	// omitted from API requests. See
  6564  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6565  	NullFields []string `json:"-"`
  6566  }
  6567  
  6568  func (s *GoogleCloudVisionV1p3beta1OutputConfig) MarshalJSON() ([]byte, error) {
  6569  	type NoMethod GoogleCloudVisionV1p3beta1OutputConfig
  6570  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6571  }
  6572  
  6573  // GoogleCloudVisionV1p3beta1Page: Detected page from OCR.
  6574  type GoogleCloudVisionV1p3beta1Page struct {
  6575  	// Blocks: List of blocks of text, images etc on this page.
  6576  	Blocks []*GoogleCloudVisionV1p3beta1Block `json:"blocks,omitempty"`
  6577  	// Confidence: Confidence of the OCR results on the page. Range [0, 1].
  6578  	Confidence float64 `json:"confidence,omitempty"`
  6579  	// Height: Page height. For PDFs the unit is points. For images (including
  6580  	// TIFFs) the unit is pixels.
  6581  	Height int64 `json:"height,omitempty"`
  6582  	// Property: Additional information detected on the page.
  6583  	Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"`
  6584  	// Width: Page width. For PDFs the unit is points. For images (including TIFFs)
  6585  	// the unit is pixels.
  6586  	Width int64 `json:"width,omitempty"`
  6587  	// ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally
  6588  	// include in API requests. By default, fields with empty or default values are
  6589  	// omitted from API requests. See
  6590  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6591  	// details.
  6592  	ForceSendFields []string `json:"-"`
  6593  	// NullFields is a list of field names (e.g. "Blocks") to include in API
  6594  	// requests with the JSON null value. By default, fields with empty values are
  6595  	// omitted from API requests. See
  6596  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6597  	NullFields []string `json:"-"`
  6598  }
  6599  
  6600  func (s *GoogleCloudVisionV1p3beta1Page) MarshalJSON() ([]byte, error) {
  6601  	type NoMethod GoogleCloudVisionV1p3beta1Page
  6602  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6603  }
  6604  
  6605  func (s *GoogleCloudVisionV1p3beta1Page) UnmarshalJSON(data []byte) error {
  6606  	type NoMethod GoogleCloudVisionV1p3beta1Page
  6607  	var s1 struct {
  6608  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  6609  		*NoMethod
  6610  	}
  6611  	s1.NoMethod = (*NoMethod)(s)
  6612  	if err := json.Unmarshal(data, &s1); err != nil {
  6613  		return err
  6614  	}
  6615  	s.Confidence = float64(s1.Confidence)
  6616  	return nil
  6617  }
  6618  
  6619  // GoogleCloudVisionV1p3beta1Paragraph: Structural unit of text representing a
  6620  // number of words in certain order.
  6621  type GoogleCloudVisionV1p3beta1Paragraph struct {
  6622  	// BoundingBox: The bounding box for the paragraph. The vertices are in the
  6623  	// order of top-left, top-right, bottom-right, bottom-left. When a rotation of
  6624  	// the bounding box is detected the rotation is represented as around the
  6625  	// top-left corner as defined when the text is read in the 'natural'
  6626  	// orientation. For example: * when the text is horizontal it might look like:
  6627  	// 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner
  6628  	// it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2,
  6629  	// 3).
  6630  	BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"`
  6631  	// Confidence: Confidence of the OCR results for the paragraph. Range [0, 1].
  6632  	Confidence float64 `json:"confidence,omitempty"`
  6633  	// Property: Additional information detected for the paragraph.
  6634  	Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"`
  6635  	// Words: List of all words in this paragraph.
  6636  	Words []*GoogleCloudVisionV1p3beta1Word `json:"words,omitempty"`
  6637  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  6638  	// unconditionally include in API requests. By default, fields with empty or
  6639  	// default values are omitted from API requests. See
  6640  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6641  	// details.
  6642  	ForceSendFields []string `json:"-"`
  6643  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  6644  	// requests with the JSON null value. By default, fields with empty values are
  6645  	// omitted from API requests. See
  6646  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6647  	NullFields []string `json:"-"`
  6648  }
  6649  
  6650  func (s *GoogleCloudVisionV1p3beta1Paragraph) MarshalJSON() ([]byte, error) {
  6651  	type NoMethod GoogleCloudVisionV1p3beta1Paragraph
  6652  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6653  }
  6654  
  6655  func (s *GoogleCloudVisionV1p3beta1Paragraph) UnmarshalJSON(data []byte) error {
  6656  	type NoMethod GoogleCloudVisionV1p3beta1Paragraph
  6657  	var s1 struct {
  6658  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  6659  		*NoMethod
  6660  	}
  6661  	s1.NoMethod = (*NoMethod)(s)
  6662  	if err := json.Unmarshal(data, &s1); err != nil {
  6663  		return err
  6664  	}
  6665  	s.Confidence = float64(s1.Confidence)
  6666  	return nil
  6667  }
  6668  
  6669  // GoogleCloudVisionV1p3beta1Position: A 3D position in the image, used
  6670  // primarily for Face detection landmarks. A valid Position must have both x
  6671  // and y coordinates. The position coordinates are in the same scale as the
  6672  // original image.
  6673  type GoogleCloudVisionV1p3beta1Position struct {
  6674  	// X: X coordinate.
  6675  	X float64 `json:"x,omitempty"`
  6676  	// Y: Y coordinate.
  6677  	Y float64 `json:"y,omitempty"`
  6678  	// Z: Z coordinate (or depth).
  6679  	Z float64 `json:"z,omitempty"`
  6680  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  6681  	// include in API requests. By default, fields with empty or default values are
  6682  	// omitted from API requests. See
  6683  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6684  	// details.
  6685  	ForceSendFields []string `json:"-"`
  6686  	// NullFields is a list of field names (e.g. "X") to include in API requests
  6687  	// with the JSON null value. By default, fields with empty values are omitted
  6688  	// from API requests. See
  6689  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6690  	NullFields []string `json:"-"`
  6691  }
  6692  
  6693  func (s *GoogleCloudVisionV1p3beta1Position) MarshalJSON() ([]byte, error) {
  6694  	type NoMethod GoogleCloudVisionV1p3beta1Position
  6695  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6696  }
  6697  
  6698  func (s *GoogleCloudVisionV1p3beta1Position) UnmarshalJSON(data []byte) error {
  6699  	type NoMethod GoogleCloudVisionV1p3beta1Position
  6700  	var s1 struct {
  6701  		X gensupport.JSONFloat64 `json:"x"`
  6702  		Y gensupport.JSONFloat64 `json:"y"`
  6703  		Z gensupport.JSONFloat64 `json:"z"`
  6704  		*NoMethod
  6705  	}
  6706  	s1.NoMethod = (*NoMethod)(s)
  6707  	if err := json.Unmarshal(data, &s1); err != nil {
  6708  		return err
  6709  	}
  6710  	s.X = float64(s1.X)
  6711  	s.Y = float64(s1.Y)
  6712  	s.Z = float64(s1.Z)
  6713  	return nil
  6714  }
  6715  
  6716  // GoogleCloudVisionV1p3beta1Product: A Product contains ReferenceImages.
  6717  type GoogleCloudVisionV1p3beta1Product struct {
  6718  	// Description: User-provided metadata to be stored with this product. Must be
  6719  	// at most 4096 characters long.
  6720  	Description string `json:"description,omitempty"`
  6721  	// DisplayName: The user-provided name for this Product. Must not be empty.
  6722  	// Must be at most 4096 characters long.
  6723  	DisplayName string `json:"displayName,omitempty"`
  6724  	// Name: The resource name of the product. Format is:
  6725  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is
  6726  	// ignored when creating a product.
  6727  	Name string `json:"name,omitempty"`
  6728  	// ProductCategory: Immutable. The category for the product identified by the
  6729  	// reference image. This should be one of "homegoods-v2", "apparel-v2",
  6730  	// "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories
  6731  	// "homegoods", "apparel", and "toys" are still supported, but these should not
  6732  	// be used for new products.
  6733  	ProductCategory string `json:"productCategory,omitempty"`
  6734  	// ProductLabels: Key-value pairs that can be attached to a product. At query
  6735  	// time, constraints can be specified based on the product_labels. Note that
  6736  	// integer values can be provided as strings, e.g. "1199". Only strings with
  6737  	// integer values can match a range-based restriction which is to be supported
  6738  	// soon. Multiple values can be assigned to the same key. One product may have
  6739  	// up to 500 product_labels. Notice that the total number of distinct
  6740  	// product_labels over all products in one ProductSet cannot exceed 1M,
  6741  	// otherwise the product search pipeline will refuse to work for that
  6742  	// ProductSet.
  6743  	ProductLabels []*GoogleCloudVisionV1p3beta1ProductKeyValue `json:"productLabels,omitempty"`
  6744  	// ForceSendFields is a list of field names (e.g. "Description") to
  6745  	// unconditionally include in API requests. By default, fields with empty or
  6746  	// default values are omitted from API requests. See
  6747  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6748  	// details.
  6749  	ForceSendFields []string `json:"-"`
  6750  	// NullFields is a list of field names (e.g. "Description") to include in API
  6751  	// requests with the JSON null value. By default, fields with empty values are
  6752  	// omitted from API requests. See
  6753  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6754  	NullFields []string `json:"-"`
  6755  }
  6756  
  6757  func (s *GoogleCloudVisionV1p3beta1Product) MarshalJSON() ([]byte, error) {
  6758  	type NoMethod GoogleCloudVisionV1p3beta1Product
  6759  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6760  }
  6761  
  6762  // GoogleCloudVisionV1p3beta1ProductKeyValue: A product label represented as a
  6763  // key-value pair.
  6764  type GoogleCloudVisionV1p3beta1ProductKeyValue struct {
  6765  	// Key: The key of the label attached to the product. Cannot be empty and
  6766  	// cannot exceed 128 bytes.
  6767  	Key string `json:"key,omitempty"`
  6768  	// Value: The value of the label attached to the product. Cannot be empty and
  6769  	// cannot exceed 128 bytes.
  6770  	Value string `json:"value,omitempty"`
  6771  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  6772  	// include in API requests. By default, fields with empty or default values are
  6773  	// omitted from API requests. See
  6774  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6775  	// details.
  6776  	ForceSendFields []string `json:"-"`
  6777  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  6778  	// with the JSON null value. By default, fields with empty values are omitted
  6779  	// from API requests. See
  6780  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6781  	NullFields []string `json:"-"`
  6782  }
  6783  
  6784  func (s *GoogleCloudVisionV1p3beta1ProductKeyValue) MarshalJSON() ([]byte, error) {
  6785  	type NoMethod GoogleCloudVisionV1p3beta1ProductKeyValue
  6786  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6787  }
  6788  
  6789  // GoogleCloudVisionV1p3beta1ProductSearchResults: Results for a product search
  6790  // request.
  6791  type GoogleCloudVisionV1p3beta1ProductSearchResults struct {
  6792  	// IndexTime: Timestamp of the index which provided these results. Products
  6793  	// added to the product set and products removed from the product set after
  6794  	// this time are not reflected in the current results.
  6795  	IndexTime string `json:"indexTime,omitempty"`
  6796  	// ProductGroupedResults: List of results grouped by products detected in the
  6797  	// query image. Each entry corresponds to one bounding polygon in the query
  6798  	// image, and contains the matching products specific to that region. There may
  6799  	// be duplicate product matches in the union of all the per-product results.
  6800  	ProductGroupedResults []*GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"`
  6801  	// Results: List of results, one for each product match.
  6802  	Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"`
  6803  	// ForceSendFields is a list of field names (e.g. "IndexTime") to
  6804  	// unconditionally include in API requests. By default, fields with empty or
  6805  	// default values are omitted from API requests. See
  6806  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6807  	// details.
  6808  	ForceSendFields []string `json:"-"`
  6809  	// NullFields is a list of field names (e.g. "IndexTime") to include in API
  6810  	// requests with the JSON null value. By default, fields with empty values are
  6811  	// omitted from API requests. See
  6812  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6813  	NullFields []string `json:"-"`
  6814  }
  6815  
  6816  func (s *GoogleCloudVisionV1p3beta1ProductSearchResults) MarshalJSON() ([]byte, error) {
  6817  	type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResults
  6818  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6819  }
  6820  
  6821  // GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult: Information
  6822  // about the products similar to a single product in a query image.
  6823  type GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult struct {
  6824  	// BoundingPoly: The bounding polygon around the product detected in the query
  6825  	// image.
  6826  	BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"`
  6827  	// ObjectAnnotations: List of generic predictions for the object in the
  6828  	// bounding box.
  6829  	ObjectAnnotations []*GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"`
  6830  	// Results: List of results, one for each product match.
  6831  	Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"`
  6832  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  6833  	// unconditionally include in API requests. By default, fields with empty or
  6834  	// default values are omitted from API requests. See
  6835  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6836  	// details.
  6837  	ForceSendFields []string `json:"-"`
  6838  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  6839  	// requests with the JSON null value. By default, fields with empty values are
  6840  	// omitted from API requests. See
  6841  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6842  	NullFields []string `json:"-"`
  6843  }
  6844  
  6845  func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) {
  6846  	type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult
  6847  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6848  }
  6849  
  6850  // GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation: Prediction
  6851  // for what the object in the bounding box is.
  6852  type GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation struct {
  6853  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  6854  	// more information, see
  6855  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  6856  	LanguageCode string `json:"languageCode,omitempty"`
  6857  	// Mid: Object ID that should align with EntityAnnotation mid.
  6858  	Mid string `json:"mid,omitempty"`
  6859  	// Name: Object name, expressed in its `language_code` language.
  6860  	Name string `json:"name,omitempty"`
  6861  	// Score: Score of the result. Range [0, 1].
  6862  	Score float64 `json:"score,omitempty"`
  6863  	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
  6864  	// unconditionally include in API requests. By default, fields with empty or
  6865  	// default values are omitted from API requests. See
  6866  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6867  	// details.
  6868  	ForceSendFields []string `json:"-"`
  6869  	// NullFields is a list of field names (e.g. "LanguageCode") to include in API
  6870  	// requests with the JSON null value. By default, fields with empty values are
  6871  	// omitted from API requests. See
  6872  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6873  	NullFields []string `json:"-"`
  6874  }
  6875  
  6876  func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) {
  6877  	type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation
  6878  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6879  }
  6880  
  6881  func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error {
  6882  	type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation
  6883  	var s1 struct {
  6884  		Score gensupport.JSONFloat64 `json:"score"`
  6885  		*NoMethod
  6886  	}
  6887  	s1.NoMethod = (*NoMethod)(s)
  6888  	if err := json.Unmarshal(data, &s1); err != nil {
  6889  		return err
  6890  	}
  6891  	s.Score = float64(s1.Score)
  6892  	return nil
  6893  }
  6894  
  6895  // GoogleCloudVisionV1p3beta1ProductSearchResultsResult: Information about a
  6896  // product.
  6897  type GoogleCloudVisionV1p3beta1ProductSearchResultsResult struct {
  6898  	// Image: The resource name of the image from the product that is the closest
  6899  	// match to the query.
  6900  	Image string `json:"image,omitempty"`
  6901  	// Product: The Product.
  6902  	Product *GoogleCloudVisionV1p3beta1Product `json:"product,omitempty"`
  6903  	// Score: A confidence level on the match, ranging from 0 (no confidence) to 1
  6904  	// (full confidence).
  6905  	Score float64 `json:"score,omitempty"`
  6906  	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
  6907  	// include in API requests. By default, fields with empty or default values are
  6908  	// omitted from API requests. See
  6909  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6910  	// details.
  6911  	ForceSendFields []string `json:"-"`
  6912  	// NullFields is a list of field names (e.g. "Image") to include in API
  6913  	// requests with the JSON null value. By default, fields with empty values are
  6914  	// omitted from API requests. See
  6915  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6916  	NullFields []string `json:"-"`
  6917  }
  6918  
  6919  func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) {
  6920  	type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult
  6921  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6922  }
  6923  
  6924  func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error {
  6925  	type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult
  6926  	var s1 struct {
  6927  		Score gensupport.JSONFloat64 `json:"score"`
  6928  		*NoMethod
  6929  	}
  6930  	s1.NoMethod = (*NoMethod)(s)
  6931  	if err := json.Unmarshal(data, &s1); err != nil {
  6932  		return err
  6933  	}
  6934  	s.Score = float64(s1.Score)
  6935  	return nil
  6936  }
  6937  
  6938  // GoogleCloudVisionV1p3beta1Property: A `Property` consists of a user-supplied
  6939  // name/value pair.
  6940  type GoogleCloudVisionV1p3beta1Property struct {
  6941  	// Name: Name of the property.
  6942  	Name string `json:"name,omitempty"`
  6943  	// Uint64Value: Value of numeric properties.
  6944  	Uint64Value uint64 `json:"uint64Value,omitempty,string"`
  6945  	// Value: Value of the property.
  6946  	Value string `json:"value,omitempty"`
  6947  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  6948  	// include in API requests. By default, fields with empty or default values are
  6949  	// omitted from API requests. See
  6950  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6951  	// details.
  6952  	ForceSendFields []string `json:"-"`
  6953  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  6954  	// with the JSON null value. By default, fields with empty values are omitted
  6955  	// from API requests. See
  6956  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6957  	NullFields []string `json:"-"`
  6958  }
  6959  
  6960  func (s *GoogleCloudVisionV1p3beta1Property) MarshalJSON() ([]byte, error) {
  6961  	type NoMethod GoogleCloudVisionV1p3beta1Property
  6962  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6963  }
  6964  
  6965  // GoogleCloudVisionV1p3beta1ReferenceImage: A `ReferenceImage` represents a
  6966  // product image and its associated metadata, such as bounding boxes.
  6967  type GoogleCloudVisionV1p3beta1ReferenceImage struct {
  6968  	// BoundingPolys: Optional. Bounding polygons around the areas of interest in
  6969  	// the reference image. If this field is empty, the system will try to detect
  6970  	// regions of interest. At most 10 bounding polygons will be used. The provided
  6971  	// shape is converted into a non-rotated rectangle. Once converted, the small
  6972  	// edge of the rectangle must be greater than or equal to 300 pixels. The
  6973  	// aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not).
  6974  	BoundingPolys []*GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPolys,omitempty"`
  6975  	// Name: The resource name of the reference image. Format is:
  6976  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMA
  6977  	// GE_ID`. This field is ignored when creating a reference image.
  6978  	Name string `json:"name,omitempty"`
  6979  	// Uri: Required. The Google Cloud Storage URI of the reference image. The URI
  6980  	// must start with `gs://`.
  6981  	Uri string `json:"uri,omitempty"`
  6982  	// ForceSendFields is a list of field names (e.g. "BoundingPolys") to
  6983  	// unconditionally include in API requests. By default, fields with empty or
  6984  	// default values are omitted from API requests. See
  6985  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6986  	// details.
  6987  	ForceSendFields []string `json:"-"`
  6988  	// NullFields is a list of field names (e.g. "BoundingPolys") to include in API
  6989  	// requests with the JSON null value. By default, fields with empty values are
  6990  	// omitted from API requests. See
  6991  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6992  	NullFields []string `json:"-"`
  6993  }
  6994  
  6995  func (s *GoogleCloudVisionV1p3beta1ReferenceImage) MarshalJSON() ([]byte, error) {
  6996  	type NoMethod GoogleCloudVisionV1p3beta1ReferenceImage
  6997  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6998  }
  6999  
  7000  // GoogleCloudVisionV1p3beta1SafeSearchAnnotation: Set of features pertaining
  7001  // to the image, computed by computer vision methods over safe-search verticals
  7002  // (for example, adult, spoof, medical, violence).
  7003  type GoogleCloudVisionV1p3beta1SafeSearchAnnotation struct {
  7004  	// Adult: Represents the adult content likelihood for the image. Adult content
  7005  	// may contain elements such as nudity, pornographic images or cartoons, or
  7006  	// sexual activities.
  7007  	//
  7008  	// Possible values:
  7009  	//   "UNKNOWN" - Unknown likelihood.
  7010  	//   "VERY_UNLIKELY" - It is very unlikely.
  7011  	//   "UNLIKELY" - It is unlikely.
  7012  	//   "POSSIBLE" - It is possible.
  7013  	//   "LIKELY" - It is likely.
  7014  	//   "VERY_LIKELY" - It is very likely.
  7015  	Adult string `json:"adult,omitempty"`
  7016  	// Medical: Likelihood that this is a medical image.
  7017  	//
  7018  	// Possible values:
  7019  	//   "UNKNOWN" - Unknown likelihood.
  7020  	//   "VERY_UNLIKELY" - It is very unlikely.
  7021  	//   "UNLIKELY" - It is unlikely.
  7022  	//   "POSSIBLE" - It is possible.
  7023  	//   "LIKELY" - It is likely.
  7024  	//   "VERY_LIKELY" - It is very likely.
  7025  	Medical string `json:"medical,omitempty"`
  7026  	// Racy: Likelihood that the request image contains racy content. Racy content
  7027  	// may include (but is not limited to) skimpy or sheer clothing, strategically
  7028  	// covered nudity, lewd or provocative poses, or close-ups of sensitive body
  7029  	// areas.
  7030  	//
  7031  	// Possible values:
  7032  	//   "UNKNOWN" - Unknown likelihood.
  7033  	//   "VERY_UNLIKELY" - It is very unlikely.
  7034  	//   "UNLIKELY" - It is unlikely.
  7035  	//   "POSSIBLE" - It is possible.
  7036  	//   "LIKELY" - It is likely.
  7037  	//   "VERY_LIKELY" - It is very likely.
  7038  	Racy string `json:"racy,omitempty"`
  7039  	// Spoof: Spoof likelihood. The likelihood that an modification was made to the
  7040  	// image's canonical version to make it appear funny or offensive.
  7041  	//
  7042  	// Possible values:
  7043  	//   "UNKNOWN" - Unknown likelihood.
  7044  	//   "VERY_UNLIKELY" - It is very unlikely.
  7045  	//   "UNLIKELY" - It is unlikely.
  7046  	//   "POSSIBLE" - It is possible.
  7047  	//   "LIKELY" - It is likely.
  7048  	//   "VERY_LIKELY" - It is very likely.
  7049  	Spoof string `json:"spoof,omitempty"`
  7050  	// Violence: Likelihood that this image contains violent content. Violent
  7051  	// content may include death, serious harm, or injury to individuals or groups
  7052  	// of individuals.
  7053  	//
  7054  	// Possible values:
  7055  	//   "UNKNOWN" - Unknown likelihood.
  7056  	//   "VERY_UNLIKELY" - It is very unlikely.
  7057  	//   "UNLIKELY" - It is unlikely.
  7058  	//   "POSSIBLE" - It is possible.
  7059  	//   "LIKELY" - It is likely.
  7060  	//   "VERY_LIKELY" - It is very likely.
  7061  	Violence string `json:"violence,omitempty"`
  7062  	// ForceSendFields is a list of field names (e.g. "Adult") to unconditionally
  7063  	// include in API requests. By default, fields with empty or default values are
  7064  	// omitted from API requests. See
  7065  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7066  	// details.
  7067  	ForceSendFields []string `json:"-"`
  7068  	// NullFields is a list of field names (e.g. "Adult") to include in API
  7069  	// requests with the JSON null value. By default, fields with empty values are
  7070  	// omitted from API requests. See
  7071  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7072  	NullFields []string `json:"-"`
  7073  }
  7074  
  7075  func (s *GoogleCloudVisionV1p3beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) {
  7076  	type NoMethod GoogleCloudVisionV1p3beta1SafeSearchAnnotation
  7077  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7078  }
  7079  
  7080  // GoogleCloudVisionV1p3beta1Symbol: A single symbol representation.
  7081  type GoogleCloudVisionV1p3beta1Symbol struct {
  7082  	// BoundingBox: The bounding box for the symbol. The vertices are in the order
  7083  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  7084  	// bounding box is detected the rotation is represented as around the top-left
  7085  	// corner as defined when the text is read in the 'natural' orientation. For
  7086  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  7087  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  7088  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  7089  	BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"`
  7090  	// Confidence: Confidence of the OCR results for the symbol. Range [0, 1].
  7091  	Confidence float64 `json:"confidence,omitempty"`
  7092  	// Property: Additional information detected for the symbol.
  7093  	Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"`
  7094  	// Text: The actual UTF-8 representation of the symbol.
  7095  	Text string `json:"text,omitempty"`
  7096  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  7097  	// unconditionally include in API requests. By default, fields with empty or
  7098  	// default values are omitted from API requests. See
  7099  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7100  	// details.
  7101  	ForceSendFields []string `json:"-"`
  7102  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  7103  	// requests with the JSON null value. By default, fields with empty values are
  7104  	// omitted from API requests. See
  7105  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7106  	NullFields []string `json:"-"`
  7107  }
  7108  
  7109  func (s *GoogleCloudVisionV1p3beta1Symbol) MarshalJSON() ([]byte, error) {
  7110  	type NoMethod GoogleCloudVisionV1p3beta1Symbol
  7111  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7112  }
  7113  
  7114  func (s *GoogleCloudVisionV1p3beta1Symbol) UnmarshalJSON(data []byte) error {
  7115  	type NoMethod GoogleCloudVisionV1p3beta1Symbol
  7116  	var s1 struct {
  7117  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  7118  		*NoMethod
  7119  	}
  7120  	s1.NoMethod = (*NoMethod)(s)
  7121  	if err := json.Unmarshal(data, &s1); err != nil {
  7122  		return err
  7123  	}
  7124  	s.Confidence = float64(s1.Confidence)
  7125  	return nil
  7126  }
  7127  
  7128  // GoogleCloudVisionV1p3beta1TextAnnotation: TextAnnotation contains a
  7129  // structured representation of OCR extracted text. The hierarchy of an OCR
  7130  // extracted text structure is like this: TextAnnotation -> Page -> Block ->
  7131  // Paragraph -> Word -> Symbol Each structural component, starting from Page,
  7132  // may further have their own properties. Properties describe detected
  7133  // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty
  7134  // message definition below for more detail.
  7135  type GoogleCloudVisionV1p3beta1TextAnnotation struct {
  7136  	// Pages: List of pages detected by OCR.
  7137  	Pages []*GoogleCloudVisionV1p3beta1Page `json:"pages,omitempty"`
  7138  	// Text: UTF-8 text detected on the pages.
  7139  	Text string `json:"text,omitempty"`
  7140  	// ForceSendFields is a list of field names (e.g. "Pages") to unconditionally
  7141  	// include in API requests. By default, fields with empty or default values are
  7142  	// omitted from API requests. See
  7143  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7144  	// details.
  7145  	ForceSendFields []string `json:"-"`
  7146  	// NullFields is a list of field names (e.g. "Pages") to include in API
  7147  	// requests with the JSON null value. By default, fields with empty values are
  7148  	// omitted from API requests. See
  7149  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7150  	NullFields []string `json:"-"`
  7151  }
  7152  
  7153  func (s *GoogleCloudVisionV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) {
  7154  	type NoMethod GoogleCloudVisionV1p3beta1TextAnnotation
  7155  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7156  }
  7157  
  7158  // GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak: Detected start or end
  7159  // of a structural component.
  7160  type GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak struct {
  7161  	// IsPrefix: True if break prepends the element.
  7162  	IsPrefix bool `json:"isPrefix,omitempty"`
  7163  	// Type: Detected break type.
  7164  	//
  7165  	// Possible values:
  7166  	//   "UNKNOWN" - Unknown break label type.
  7167  	//   "SPACE" - Regular space.
  7168  	//   "SURE_SPACE" - Sure space (very wide).
  7169  	//   "EOL_SURE_SPACE" - Line-wrapping break.
  7170  	//   "HYPHEN" - End-line hyphen that is not present in text; does not co-occur
  7171  	// with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`.
  7172  	//   "LINE_BREAK" - Line break that ends a paragraph.
  7173  	Type string `json:"type,omitempty"`
  7174  	// ForceSendFields is a list of field names (e.g. "IsPrefix") to
  7175  	// unconditionally include in API requests. By default, fields with empty or
  7176  	// default values are omitted from API requests. See
  7177  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7178  	// details.
  7179  	ForceSendFields []string `json:"-"`
  7180  	// NullFields is a list of field names (e.g. "IsPrefix") to include in API
  7181  	// requests with the JSON null value. By default, fields with empty values are
  7182  	// omitted from API requests. See
  7183  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7184  	NullFields []string `json:"-"`
  7185  }
  7186  
  7187  func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) {
  7188  	type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak
  7189  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7190  }
  7191  
  7192  // GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage: Detected language
  7193  // for a structural component.
  7194  type GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage struct {
  7195  	// Confidence: Confidence of detected language. Range [0, 1].
  7196  	Confidence float64 `json:"confidence,omitempty"`
  7197  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  7198  	// more information, see
  7199  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  7200  	LanguageCode string `json:"languageCode,omitempty"`
  7201  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  7202  	// unconditionally include in API requests. By default, fields with empty or
  7203  	// default values are omitted from API requests. See
  7204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7205  	// details.
  7206  	ForceSendFields []string `json:"-"`
  7207  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  7208  	// requests with the JSON null value. By default, fields with empty values are
  7209  	// omitted from API requests. See
  7210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7211  	NullFields []string `json:"-"`
  7212  }
  7213  
  7214  func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) {
  7215  	type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage
  7216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7217  }
  7218  
  7219  func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error {
  7220  	type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage
  7221  	var s1 struct {
  7222  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  7223  		*NoMethod
  7224  	}
  7225  	s1.NoMethod = (*NoMethod)(s)
  7226  	if err := json.Unmarshal(data, &s1); err != nil {
  7227  		return err
  7228  	}
  7229  	s.Confidence = float64(s1.Confidence)
  7230  	return nil
  7231  }
  7232  
  7233  // GoogleCloudVisionV1p3beta1TextAnnotationTextProperty: Additional information
  7234  // detected on the structural component.
  7235  type GoogleCloudVisionV1p3beta1TextAnnotationTextProperty struct {
  7236  	// DetectedBreak: Detected start or end of a text segment.
  7237  	DetectedBreak *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"`
  7238  	// DetectedLanguages: A list of detected languages together with confidence.
  7239  	DetectedLanguages []*GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"`
  7240  	// ForceSendFields is a list of field names (e.g. "DetectedBreak") to
  7241  	// unconditionally include in API requests. By default, fields with empty or
  7242  	// default values are omitted from API requests. See
  7243  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7244  	// details.
  7245  	ForceSendFields []string `json:"-"`
  7246  	// NullFields is a list of field names (e.g. "DetectedBreak") to include in API
  7247  	// requests with the JSON null value. By default, fields with empty values are
  7248  	// omitted from API requests. See
  7249  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7250  	NullFields []string `json:"-"`
  7251  }
  7252  
  7253  func (s *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) {
  7254  	type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationTextProperty
  7255  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7256  }
  7257  
  7258  // GoogleCloudVisionV1p3beta1Vertex: A vertex represents a 2D point in the
  7259  // image. NOTE: the vertex coordinates are in the same scale as the original
  7260  // image.
  7261  type GoogleCloudVisionV1p3beta1Vertex struct {
  7262  	// X: X coordinate.
  7263  	X int64 `json:"x,omitempty"`
  7264  	// Y: Y coordinate.
  7265  	Y int64 `json:"y,omitempty"`
  7266  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  7267  	// include in API requests. By default, fields with empty or default values are
  7268  	// omitted from API requests. See
  7269  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7270  	// details.
  7271  	ForceSendFields []string `json:"-"`
  7272  	// NullFields is a list of field names (e.g. "X") to include in API requests
  7273  	// with the JSON null value. By default, fields with empty values are omitted
  7274  	// from API requests. See
  7275  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7276  	NullFields []string `json:"-"`
  7277  }
  7278  
  7279  func (s *GoogleCloudVisionV1p3beta1Vertex) MarshalJSON() ([]byte, error) {
  7280  	type NoMethod GoogleCloudVisionV1p3beta1Vertex
  7281  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7282  }
  7283  
  7284  // GoogleCloudVisionV1p3beta1WebDetection: Relevant information for the image
  7285  // from the Internet.
  7286  type GoogleCloudVisionV1p3beta1WebDetection struct {
  7287  	// BestGuessLabels: The service's best guess as to the topic of the request
  7288  	// image. Inferred from similar images on the open web.
  7289  	BestGuessLabels []*GoogleCloudVisionV1p3beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"`
  7290  	// FullMatchingImages: Fully matching images from the Internet. Can include
  7291  	// resized copies of the query image.
  7292  	FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  7293  	// PagesWithMatchingImages: Web pages containing the matching images from the
  7294  	// Internet.
  7295  	PagesWithMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"`
  7296  	// PartialMatchingImages: Partial matching images from the Internet. Those
  7297  	// images are similar enough to share some key-point features. For example an
  7298  	// original image will likely have partial matching for its crops.
  7299  	PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  7300  	// VisuallySimilarImages: The visually similar image results.
  7301  	VisuallySimilarImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"`
  7302  	// WebEntities: Deduced entities from similar images on the Internet.
  7303  	WebEntities []*GoogleCloudVisionV1p3beta1WebDetectionWebEntity `json:"webEntities,omitempty"`
  7304  	// ForceSendFields is a list of field names (e.g. "BestGuessLabels") to
  7305  	// unconditionally include in API requests. By default, fields with empty or
  7306  	// default values are omitted from API requests. See
  7307  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7308  	// details.
  7309  	ForceSendFields []string `json:"-"`
  7310  	// NullFields is a list of field names (e.g. "BestGuessLabels") to include in
  7311  	// API requests with the JSON null value. By default, fields with empty values
  7312  	// are omitted from API requests. See
  7313  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7314  	NullFields []string `json:"-"`
  7315  }
  7316  
  7317  func (s *GoogleCloudVisionV1p3beta1WebDetection) MarshalJSON() ([]byte, error) {
  7318  	type NoMethod GoogleCloudVisionV1p3beta1WebDetection
  7319  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7320  }
  7321  
  7322  // GoogleCloudVisionV1p3beta1WebDetectionWebEntity: Entity deduced from similar
  7323  // images on the Internet.
  7324  type GoogleCloudVisionV1p3beta1WebDetectionWebEntity struct {
  7325  	// Description: Canonical description of the entity, in English.
  7326  	Description string `json:"description,omitempty"`
  7327  	// EntityId: Opaque entity ID.
  7328  	EntityId string `json:"entityId,omitempty"`
  7329  	// Score: Overall relevancy score for the entity. Not normalized and not
  7330  	// comparable across different image queries.
  7331  	Score float64 `json:"score,omitempty"`
  7332  	// ForceSendFields is a list of field names (e.g. "Description") to
  7333  	// unconditionally include in API requests. By default, fields with empty or
  7334  	// default values are omitted from API requests. See
  7335  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7336  	// details.
  7337  	ForceSendFields []string `json:"-"`
  7338  	// NullFields is a list of field names (e.g. "Description") to include in API
  7339  	// requests with the JSON null value. By default, fields with empty values are
  7340  	// omitted from API requests. See
  7341  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7342  	NullFields []string `json:"-"`
  7343  }
  7344  
  7345  func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) {
  7346  	type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity
  7347  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7348  }
  7349  
  7350  func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error {
  7351  	type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity
  7352  	var s1 struct {
  7353  		Score gensupport.JSONFloat64 `json:"score"`
  7354  		*NoMethod
  7355  	}
  7356  	s1.NoMethod = (*NoMethod)(s)
  7357  	if err := json.Unmarshal(data, &s1); err != nil {
  7358  		return err
  7359  	}
  7360  	s.Score = float64(s1.Score)
  7361  	return nil
  7362  }
  7363  
  7364  // GoogleCloudVisionV1p3beta1WebDetectionWebImage: Metadata for online images.
  7365  type GoogleCloudVisionV1p3beta1WebDetectionWebImage struct {
  7366  	// Score: (Deprecated) Overall relevancy score for the image.
  7367  	Score float64 `json:"score,omitempty"`
  7368  	// Url: The result image URL.
  7369  	Url string `json:"url,omitempty"`
  7370  	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
  7371  	// include in API requests. By default, fields with empty or default values are
  7372  	// omitted from API requests. See
  7373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7374  	// details.
  7375  	ForceSendFields []string `json:"-"`
  7376  	// NullFields is a list of field names (e.g. "Score") to include in API
  7377  	// requests with the JSON null value. By default, fields with empty values are
  7378  	// omitted from API requests. See
  7379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7380  	NullFields []string `json:"-"`
  7381  }
  7382  
  7383  func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) {
  7384  	type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage
  7385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7386  }
  7387  
  7388  func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error {
  7389  	type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage
  7390  	var s1 struct {
  7391  		Score gensupport.JSONFloat64 `json:"score"`
  7392  		*NoMethod
  7393  	}
  7394  	s1.NoMethod = (*NoMethod)(s)
  7395  	if err := json.Unmarshal(data, &s1); err != nil {
  7396  		return err
  7397  	}
  7398  	s.Score = float64(s1.Score)
  7399  	return nil
  7400  }
  7401  
  7402  // GoogleCloudVisionV1p3beta1WebDetectionWebLabel: Label to provide extra
  7403  // metadata for the web detection.
  7404  type GoogleCloudVisionV1p3beta1WebDetectionWebLabel struct {
  7405  	// Label: Label for extra metadata.
  7406  	Label string `json:"label,omitempty"`
  7407  	// LanguageCode: The BCP-47 language code for `label`, such as "en-US" or
  7408  	// "sr-Latn". For more information, see
  7409  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  7410  	LanguageCode string `json:"languageCode,omitempty"`
  7411  	// ForceSendFields is a list of field names (e.g. "Label") to unconditionally
  7412  	// include in API requests. By default, fields with empty or default values are
  7413  	// omitted from API requests. See
  7414  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7415  	// details.
  7416  	ForceSendFields []string `json:"-"`
  7417  	// NullFields is a list of field names (e.g. "Label") to include in API
  7418  	// requests with the JSON null value. By default, fields with empty values are
  7419  	// omitted from API requests. See
  7420  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7421  	NullFields []string `json:"-"`
  7422  }
  7423  
  7424  func (s *GoogleCloudVisionV1p3beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) {
  7425  	type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebLabel
  7426  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7427  }
  7428  
  7429  // GoogleCloudVisionV1p3beta1WebDetectionWebPage: Metadata for web pages.
  7430  type GoogleCloudVisionV1p3beta1WebDetectionWebPage struct {
  7431  	// FullMatchingImages: Fully matching images on the page. Can include resized
  7432  	// copies of the query image.
  7433  	FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  7434  	// PageTitle: Title for the web page, may contain HTML markups.
  7435  	PageTitle string `json:"pageTitle,omitempty"`
  7436  	// PartialMatchingImages: Partial matching images on the page. Those images are
  7437  	// similar enough to share some key-point features. For example an original
  7438  	// image will likely have partial matching for its crops.
  7439  	PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  7440  	// Score: (Deprecated) Overall relevancy score for the web page.
  7441  	Score float64 `json:"score,omitempty"`
  7442  	// Url: The result web page URL.
  7443  	Url string `json:"url,omitempty"`
  7444  	// ForceSendFields is a list of field names (e.g. "FullMatchingImages") to
  7445  	// unconditionally include in API requests. By default, fields with empty or
  7446  	// default values are omitted from API requests. See
  7447  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7448  	// details.
  7449  	ForceSendFields []string `json:"-"`
  7450  	// NullFields is a list of field names (e.g. "FullMatchingImages") to include
  7451  	// in API requests with the JSON null value. By default, fields with empty
  7452  	// values are omitted from API requests. See
  7453  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7454  	NullFields []string `json:"-"`
  7455  }
  7456  
  7457  func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) {
  7458  	type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage
  7459  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7460  }
  7461  
  7462  func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error {
  7463  	type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage
  7464  	var s1 struct {
  7465  		Score gensupport.JSONFloat64 `json:"score"`
  7466  		*NoMethod
  7467  	}
  7468  	s1.NoMethod = (*NoMethod)(s)
  7469  	if err := json.Unmarshal(data, &s1); err != nil {
  7470  		return err
  7471  	}
  7472  	s.Score = float64(s1.Score)
  7473  	return nil
  7474  }
  7475  
  7476  // GoogleCloudVisionV1p3beta1Word: A word representation.
  7477  type GoogleCloudVisionV1p3beta1Word struct {
  7478  	// BoundingBox: The bounding box for the word. The vertices are in the order of
  7479  	// top-left, top-right, bottom-right, bottom-left. When a rotation of the
  7480  	// bounding box is detected the rotation is represented as around the top-left
  7481  	// corner as defined when the text is read in the 'natural' orientation. For
  7482  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  7483  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  7484  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  7485  	BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"`
  7486  	// Confidence: Confidence of the OCR results for the word. Range [0, 1].
  7487  	Confidence float64 `json:"confidence,omitempty"`
  7488  	// Property: Additional information detected for the word.
  7489  	Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"`
  7490  	// Symbols: List of symbols in the word. The order of the symbols follows the
  7491  	// natural reading order.
  7492  	Symbols []*GoogleCloudVisionV1p3beta1Symbol `json:"symbols,omitempty"`
  7493  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  7494  	// unconditionally include in API requests. By default, fields with empty or
  7495  	// default values are omitted from API requests. See
  7496  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7497  	// details.
  7498  	ForceSendFields []string `json:"-"`
  7499  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  7500  	// requests with the JSON null value. By default, fields with empty values are
  7501  	// omitted from API requests. See
  7502  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7503  	NullFields []string `json:"-"`
  7504  }
  7505  
  7506  func (s *GoogleCloudVisionV1p3beta1Word) MarshalJSON() ([]byte, error) {
  7507  	type NoMethod GoogleCloudVisionV1p3beta1Word
  7508  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7509  }
  7510  
  7511  func (s *GoogleCloudVisionV1p3beta1Word) UnmarshalJSON(data []byte) error {
  7512  	type NoMethod GoogleCloudVisionV1p3beta1Word
  7513  	var s1 struct {
  7514  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  7515  		*NoMethod
  7516  	}
  7517  	s1.NoMethod = (*NoMethod)(s)
  7518  	if err := json.Unmarshal(data, &s1); err != nil {
  7519  		return err
  7520  	}
  7521  	s.Confidence = float64(s1.Confidence)
  7522  	return nil
  7523  }
  7524  
  7525  // GoogleCloudVisionV1p4beta1AnnotateFileResponse: Response to a single file
  7526  // annotation request. A file may contain one or more images, which
  7527  // individually have their own responses.
  7528  type GoogleCloudVisionV1p4beta1AnnotateFileResponse struct {
  7529  	// Error: If set, represents the error message for the failed request. The
  7530  	// `responses` field will not be set in this case.
  7531  	Error *Status `json:"error,omitempty"`
  7532  	// InputConfig: Information about the file for which this response is
  7533  	// generated.
  7534  	InputConfig *GoogleCloudVisionV1p4beta1InputConfig `json:"inputConfig,omitempty"`
  7535  	// Responses: Individual responses to images found within the file. This field
  7536  	// will be empty if the `error` field is set.
  7537  	Responses []*GoogleCloudVisionV1p4beta1AnnotateImageResponse `json:"responses,omitempty"`
  7538  	// TotalPages: This field gives the total number of pages in the file.
  7539  	TotalPages int64 `json:"totalPages,omitempty"`
  7540  	// ForceSendFields is a list of field names (e.g. "Error") to unconditionally
  7541  	// include in API requests. By default, fields with empty or default values are
  7542  	// omitted from API requests. See
  7543  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7544  	// details.
  7545  	ForceSendFields []string `json:"-"`
  7546  	// NullFields is a list of field names (e.g. "Error") to include in API
  7547  	// requests with the JSON null value. By default, fields with empty values are
  7548  	// omitted from API requests. See
  7549  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7550  	NullFields []string `json:"-"`
  7551  }
  7552  
  7553  func (s *GoogleCloudVisionV1p4beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) {
  7554  	type NoMethod GoogleCloudVisionV1p4beta1AnnotateFileResponse
  7555  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7556  }
  7557  
  7558  // GoogleCloudVisionV1p4beta1AnnotateImageResponse: Response to an image
  7559  // annotation request.
  7560  type GoogleCloudVisionV1p4beta1AnnotateImageResponse struct {
  7561  	// Context: If present, contextual information is needed to understand where
  7562  	// this image comes from.
  7563  	Context *GoogleCloudVisionV1p4beta1ImageAnnotationContext `json:"context,omitempty"`
  7564  	// CropHintsAnnotation: If present, crop hints have completed successfully.
  7565  	CropHintsAnnotation *GoogleCloudVisionV1p4beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"`
  7566  	// Error: If set, represents the error message for the operation. Note that
  7567  	// filled-in image annotations are guaranteed to be correct, even when `error`
  7568  	// is set.
  7569  	Error *Status `json:"error,omitempty"`
  7570  	// FaceAnnotations: If present, face detection has completed successfully.
  7571  	FaceAnnotations []*GoogleCloudVisionV1p4beta1FaceAnnotation `json:"faceAnnotations,omitempty"`
  7572  	// FullTextAnnotation: If present, text (OCR) detection or document (OCR) text
  7573  	// detection has completed successfully. This annotation provides the
  7574  	// structural hierarchy for the OCR detected text.
  7575  	FullTextAnnotation *GoogleCloudVisionV1p4beta1TextAnnotation `json:"fullTextAnnotation,omitempty"`
  7576  	// ImagePropertiesAnnotation: If present, image properties were extracted
  7577  	// successfully.
  7578  	ImagePropertiesAnnotation *GoogleCloudVisionV1p4beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"`
  7579  	// LabelAnnotations: If present, label detection has completed successfully.
  7580  	LabelAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"labelAnnotations,omitempty"`
  7581  	// LandmarkAnnotations: If present, landmark detection has completed
  7582  	// successfully.
  7583  	LandmarkAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"`
  7584  	// LocalizedObjectAnnotations: If present, localized object detection has
  7585  	// completed successfully. This will be sorted descending by confidence score.
  7586  	LocalizedObjectAnnotations []*GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"`
  7587  	// LogoAnnotations: If present, logo detection has completed successfully.
  7588  	LogoAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"logoAnnotations,omitempty"`
  7589  	// ProductSearchResults: If present, product search has completed successfully.
  7590  	ProductSearchResults *GoogleCloudVisionV1p4beta1ProductSearchResults `json:"productSearchResults,omitempty"`
  7591  	// SafeSearchAnnotation: If present, safe-search annotation has completed
  7592  	// successfully.
  7593  	SafeSearchAnnotation *GoogleCloudVisionV1p4beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"`
  7594  	// TextAnnotations: If present, text (OCR) detection has completed
  7595  	// successfully.
  7596  	TextAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"textAnnotations,omitempty"`
  7597  	// WebDetection: If present, web detection has completed successfully.
  7598  	WebDetection *GoogleCloudVisionV1p4beta1WebDetection `json:"webDetection,omitempty"`
  7599  	// ForceSendFields is a list of field names (e.g. "Context") to unconditionally
  7600  	// include in API requests. By default, fields with empty or default values are
  7601  	// omitted from API requests. See
  7602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7603  	// details.
  7604  	ForceSendFields []string `json:"-"`
  7605  	// NullFields is a list of field names (e.g. "Context") to include in API
  7606  	// requests with the JSON null value. By default, fields with empty values are
  7607  	// omitted from API requests. See
  7608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7609  	NullFields []string `json:"-"`
  7610  }
  7611  
  7612  func (s *GoogleCloudVisionV1p4beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) {
  7613  	type NoMethod GoogleCloudVisionV1p4beta1AnnotateImageResponse
  7614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7615  }
  7616  
  7617  // GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse: The response for a
  7618  // single offline file annotation request.
  7619  type GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse struct {
  7620  	// OutputConfig: The output location and metadata from
  7621  	// AsyncAnnotateFileRequest.
  7622  	OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"`
  7623  	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
  7624  	// unconditionally include in API requests. By default, fields with empty or
  7625  	// default values are omitted from API requests. See
  7626  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7627  	// details.
  7628  	ForceSendFields []string `json:"-"`
  7629  	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
  7630  	// requests with the JSON null value. By default, fields with empty values are
  7631  	// omitted from API requests. See
  7632  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7633  	NullFields []string `json:"-"`
  7634  }
  7635  
  7636  func (s *GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) {
  7637  	type NoMethod GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse
  7638  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7639  }
  7640  
  7641  // GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse: Response to an
  7642  // async batch file annotation request.
  7643  type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse struct {
  7644  	// Responses: The list of file annotation responses, one for each request in
  7645  	// AsyncBatchAnnotateFilesRequest.
  7646  	Responses []*GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse `json:"responses,omitempty"`
  7647  	// ForceSendFields is a list of field names (e.g. "Responses") to
  7648  	// unconditionally include in API requests. By default, fields with empty or
  7649  	// default values are omitted from API requests. See
  7650  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7651  	// details.
  7652  	ForceSendFields []string `json:"-"`
  7653  	// NullFields is a list of field names (e.g. "Responses") to include in API
  7654  	// requests with the JSON null value. By default, fields with empty values are
  7655  	// omitted from API requests. See
  7656  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7657  	NullFields []string `json:"-"`
  7658  }
  7659  
  7660  func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
  7661  	type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse
  7662  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7663  }
  7664  
  7665  // GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse: Response to an
  7666  // async batch image annotation request.
  7667  type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse struct {
  7668  	// OutputConfig: The output location and metadata from
  7669  	// AsyncBatchAnnotateImagesRequest.
  7670  	OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"`
  7671  	// ForceSendFields is a list of field names (e.g. "OutputConfig") to
  7672  	// unconditionally include in API requests. By default, fields with empty or
  7673  	// default values are omitted from API requests. See
  7674  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7675  	// details.
  7676  	ForceSendFields []string `json:"-"`
  7677  	// NullFields is a list of field names (e.g. "OutputConfig") to include in API
  7678  	// requests with the JSON null value. By default, fields with empty values are
  7679  	// omitted from API requests. See
  7680  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7681  	NullFields []string `json:"-"`
  7682  }
  7683  
  7684  func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) {
  7685  	type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse
  7686  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7687  }
  7688  
  7689  // GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse: A list of file
  7690  // annotation responses.
  7691  type GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse struct {
  7692  	// Responses: The list of file annotation responses, each response
  7693  	// corresponding to each AnnotateFileRequest in BatchAnnotateFilesRequest.
  7694  	Responses []*GoogleCloudVisionV1p4beta1AnnotateFileResponse `json:"responses,omitempty"`
  7695  	// ForceSendFields is a list of field names (e.g. "Responses") to
  7696  	// unconditionally include in API requests. By default, fields with empty or
  7697  	// default values are omitted from API requests. See
  7698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7699  	// details.
  7700  	ForceSendFields []string `json:"-"`
  7701  	// NullFields is a list of field names (e.g. "Responses") to include in API
  7702  	// requests with the JSON null value. By default, fields with empty values are
  7703  	// omitted from API requests. See
  7704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7705  	NullFields []string `json:"-"`
  7706  }
  7707  
  7708  func (s *GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) {
  7709  	type NoMethod GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse
  7710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7711  }
  7712  
  7713  // GoogleCloudVisionV1p4beta1BatchOperationMetadata: Metadata for the batch
  7714  // operations such as the current state. This is included in the `metadata`
  7715  // field of the `Operation` returned by the `GetOperation` call of the
  7716  // `google::longrunning::Operations` service.
  7717  type GoogleCloudVisionV1p4beta1BatchOperationMetadata struct {
  7718  	// EndTime: The time when the batch request is finished and
  7719  	// google.longrunning.Operation.done is set to true.
  7720  	EndTime string `json:"endTime,omitempty"`
  7721  	// State: The current state of the batch operation.
  7722  	//
  7723  	// Possible values:
  7724  	//   "STATE_UNSPECIFIED" - Invalid.
  7725  	//   "PROCESSING" - Request is actively being processed.
  7726  	//   "SUCCESSFUL" - The request is done and at least one item has been
  7727  	// successfully processed.
  7728  	//   "FAILED" - The request is done and no item has been successfully
  7729  	// processed.
  7730  	//   "CANCELLED" - The request is done after the
  7731  	// longrunning.Operations.CancelOperation has been called by the user. Any
  7732  	// records that were processed before the cancel command are output as
  7733  	// specified in the request.
  7734  	State string `json:"state,omitempty"`
  7735  	// SubmitTime: The time when the batch request was submitted to the server.
  7736  	SubmitTime string `json:"submitTime,omitempty"`
  7737  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  7738  	// include in API requests. By default, fields with empty or default values are
  7739  	// omitted from API requests. See
  7740  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7741  	// details.
  7742  	ForceSendFields []string `json:"-"`
  7743  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  7744  	// requests with the JSON null value. By default, fields with empty values are
  7745  	// omitted from API requests. See
  7746  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7747  	NullFields []string `json:"-"`
  7748  }
  7749  
  7750  func (s *GoogleCloudVisionV1p4beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) {
  7751  	type NoMethod GoogleCloudVisionV1p4beta1BatchOperationMetadata
  7752  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7753  }
  7754  
  7755  // GoogleCloudVisionV1p4beta1Block: Logical element on the page.
  7756  type GoogleCloudVisionV1p4beta1Block struct {
  7757  	// BlockType: Detected block type (text, image etc) for this block.
  7758  	//
  7759  	// Possible values:
  7760  	//   "UNKNOWN" - Unknown block type.
  7761  	//   "TEXT" - Regular text block.
  7762  	//   "TABLE" - Table block.
  7763  	//   "PICTURE" - Image block.
  7764  	//   "RULER" - Horizontal/vertical line box.
  7765  	//   "BARCODE" - Barcode block.
  7766  	BlockType string `json:"blockType,omitempty"`
  7767  	// BoundingBox: The bounding box for the block. The vertices are in the order
  7768  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  7769  	// bounding box is detected the rotation is represented as around the top-left
  7770  	// corner as defined when the text is read in the 'natural' orientation. For
  7771  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  7772  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  7773  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  7774  	BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"`
  7775  	// Confidence: Confidence of the OCR results on the block. Range [0, 1].
  7776  	Confidence float64 `json:"confidence,omitempty"`
  7777  	// Paragraphs: List of paragraphs in this block (if this blocks is of type
  7778  	// text).
  7779  	Paragraphs []*GoogleCloudVisionV1p4beta1Paragraph `json:"paragraphs,omitempty"`
  7780  	// Property: Additional information detected for the block.
  7781  	Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"`
  7782  	// ForceSendFields is a list of field names (e.g. "BlockType") to
  7783  	// unconditionally include in API requests. By default, fields with empty or
  7784  	// default values are omitted from API requests. See
  7785  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7786  	// details.
  7787  	ForceSendFields []string `json:"-"`
  7788  	// NullFields is a list of field names (e.g. "BlockType") to include in API
  7789  	// requests with the JSON null value. By default, fields with empty values are
  7790  	// omitted from API requests. See
  7791  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7792  	NullFields []string `json:"-"`
  7793  }
  7794  
  7795  func (s *GoogleCloudVisionV1p4beta1Block) MarshalJSON() ([]byte, error) {
  7796  	type NoMethod GoogleCloudVisionV1p4beta1Block
  7797  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7798  }
  7799  
  7800  func (s *GoogleCloudVisionV1p4beta1Block) UnmarshalJSON(data []byte) error {
  7801  	type NoMethod GoogleCloudVisionV1p4beta1Block
  7802  	var s1 struct {
  7803  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  7804  		*NoMethod
  7805  	}
  7806  	s1.NoMethod = (*NoMethod)(s)
  7807  	if err := json.Unmarshal(data, &s1); err != nil {
  7808  		return err
  7809  	}
  7810  	s.Confidence = float64(s1.Confidence)
  7811  	return nil
  7812  }
  7813  
  7814  // GoogleCloudVisionV1p4beta1BoundingPoly: A bounding polygon for the detected
  7815  // image annotation.
  7816  type GoogleCloudVisionV1p4beta1BoundingPoly struct {
  7817  	// NormalizedVertices: The bounding polygon normalized vertices.
  7818  	NormalizedVertices []*GoogleCloudVisionV1p4beta1NormalizedVertex `json:"normalizedVertices,omitempty"`
  7819  	// Vertices: The bounding polygon vertices.
  7820  	Vertices []*GoogleCloudVisionV1p4beta1Vertex `json:"vertices,omitempty"`
  7821  	// ForceSendFields is a list of field names (e.g. "NormalizedVertices") to
  7822  	// unconditionally include in API requests. By default, fields with empty or
  7823  	// default values are omitted from API requests. See
  7824  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7825  	// details.
  7826  	ForceSendFields []string `json:"-"`
  7827  	// NullFields is a list of field names (e.g. "NormalizedVertices") to include
  7828  	// in API requests with the JSON null value. By default, fields with empty
  7829  	// values are omitted from API requests. See
  7830  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7831  	NullFields []string `json:"-"`
  7832  }
  7833  
  7834  func (s *GoogleCloudVisionV1p4beta1BoundingPoly) MarshalJSON() ([]byte, error) {
  7835  	type NoMethod GoogleCloudVisionV1p4beta1BoundingPoly
  7836  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7837  }
  7838  
  7839  // GoogleCloudVisionV1p4beta1Celebrity: A Celebrity is a group of Faces with an
  7840  // identity.
  7841  type GoogleCloudVisionV1p4beta1Celebrity struct {
  7842  	// Description: The Celebrity's description.
  7843  	Description string `json:"description,omitempty"`
  7844  	// DisplayName: The Celebrity's display name.
  7845  	DisplayName string `json:"displayName,omitempty"`
  7846  	// Name: The resource name of the preloaded Celebrity. Has the format
  7847  	// `builtin/{mid}`.
  7848  	Name string `json:"name,omitempty"`
  7849  	// ForceSendFields is a list of field names (e.g. "Description") to
  7850  	// unconditionally include in API requests. By default, fields with empty or
  7851  	// default values are omitted from API requests. See
  7852  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7853  	// details.
  7854  	ForceSendFields []string `json:"-"`
  7855  	// NullFields is a list of field names (e.g. "Description") to include in API
  7856  	// requests with the JSON null value. By default, fields with empty values are
  7857  	// omitted from API requests. See
  7858  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7859  	NullFields []string `json:"-"`
  7860  }
  7861  
  7862  func (s *GoogleCloudVisionV1p4beta1Celebrity) MarshalJSON() ([]byte, error) {
  7863  	type NoMethod GoogleCloudVisionV1p4beta1Celebrity
  7864  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7865  }
  7866  
  7867  // GoogleCloudVisionV1p4beta1ColorInfo: Color information consists of RGB
  7868  // channels, score, and the fraction of the image that the color occupies in
  7869  // the image.
  7870  type GoogleCloudVisionV1p4beta1ColorInfo struct {
  7871  	// Color: RGB components of the color.
  7872  	Color *Color `json:"color,omitempty"`
  7873  	// PixelFraction: The fraction of pixels the color occupies in the image. Value
  7874  	// in range [0, 1].
  7875  	PixelFraction float64 `json:"pixelFraction,omitempty"`
  7876  	// Score: Image-specific score for this color. Value in range [0, 1].
  7877  	Score float64 `json:"score,omitempty"`
  7878  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  7879  	// include in API requests. By default, fields with empty or default values are
  7880  	// omitted from API requests. See
  7881  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7882  	// details.
  7883  	ForceSendFields []string `json:"-"`
  7884  	// NullFields is a list of field names (e.g. "Color") to include in API
  7885  	// requests with the JSON null value. By default, fields with empty values are
  7886  	// omitted from API requests. See
  7887  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7888  	NullFields []string `json:"-"`
  7889  }
  7890  
  7891  func (s *GoogleCloudVisionV1p4beta1ColorInfo) MarshalJSON() ([]byte, error) {
  7892  	type NoMethod GoogleCloudVisionV1p4beta1ColorInfo
  7893  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7894  }
  7895  
  7896  func (s *GoogleCloudVisionV1p4beta1ColorInfo) UnmarshalJSON(data []byte) error {
  7897  	type NoMethod GoogleCloudVisionV1p4beta1ColorInfo
  7898  	var s1 struct {
  7899  		PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"`
  7900  		Score         gensupport.JSONFloat64 `json:"score"`
  7901  		*NoMethod
  7902  	}
  7903  	s1.NoMethod = (*NoMethod)(s)
  7904  	if err := json.Unmarshal(data, &s1); err != nil {
  7905  		return err
  7906  	}
  7907  	s.PixelFraction = float64(s1.PixelFraction)
  7908  	s.Score = float64(s1.Score)
  7909  	return nil
  7910  }
  7911  
  7912  // GoogleCloudVisionV1p4beta1CropHint: Single crop hint that is used to
  7913  // generate a new crop when serving an image.
  7914  type GoogleCloudVisionV1p4beta1CropHint struct {
  7915  	// BoundingPoly: The bounding polygon for the crop region. The coordinates of
  7916  	// the bounding box are in the original image's scale.
  7917  	BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"`
  7918  	// Confidence: Confidence of this being a salient region. Range [0, 1].
  7919  	Confidence float64 `json:"confidence,omitempty"`
  7920  	// ImportanceFraction: Fraction of importance of this salient region with
  7921  	// respect to the original image.
  7922  	ImportanceFraction float64 `json:"importanceFraction,omitempty"`
  7923  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  7924  	// unconditionally include in API requests. By default, fields with empty or
  7925  	// default values are omitted from API requests. See
  7926  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7927  	// details.
  7928  	ForceSendFields []string `json:"-"`
  7929  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  7930  	// requests with the JSON null value. By default, fields with empty values are
  7931  	// omitted from API requests. See
  7932  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7933  	NullFields []string `json:"-"`
  7934  }
  7935  
  7936  func (s *GoogleCloudVisionV1p4beta1CropHint) MarshalJSON() ([]byte, error) {
  7937  	type NoMethod GoogleCloudVisionV1p4beta1CropHint
  7938  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7939  }
  7940  
  7941  func (s *GoogleCloudVisionV1p4beta1CropHint) UnmarshalJSON(data []byte) error {
  7942  	type NoMethod GoogleCloudVisionV1p4beta1CropHint
  7943  	var s1 struct {
  7944  		Confidence         gensupport.JSONFloat64 `json:"confidence"`
  7945  		ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"`
  7946  		*NoMethod
  7947  	}
  7948  	s1.NoMethod = (*NoMethod)(s)
  7949  	if err := json.Unmarshal(data, &s1); err != nil {
  7950  		return err
  7951  	}
  7952  	s.Confidence = float64(s1.Confidence)
  7953  	s.ImportanceFraction = float64(s1.ImportanceFraction)
  7954  	return nil
  7955  }
  7956  
  7957  // GoogleCloudVisionV1p4beta1CropHintsAnnotation: Set of crop hints that are
  7958  // used to generate new crops when serving images.
  7959  type GoogleCloudVisionV1p4beta1CropHintsAnnotation struct {
  7960  	// CropHints: Crop hint results.
  7961  	CropHints []*GoogleCloudVisionV1p4beta1CropHint `json:"cropHints,omitempty"`
  7962  	// ForceSendFields is a list of field names (e.g. "CropHints") to
  7963  	// unconditionally include in API requests. By default, fields with empty or
  7964  	// default values are omitted from API requests. See
  7965  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7966  	// details.
  7967  	ForceSendFields []string `json:"-"`
  7968  	// NullFields is a list of field names (e.g. "CropHints") to include in API
  7969  	// requests with the JSON null value. By default, fields with empty values are
  7970  	// omitted from API requests. See
  7971  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7972  	NullFields []string `json:"-"`
  7973  }
  7974  
  7975  func (s *GoogleCloudVisionV1p4beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) {
  7976  	type NoMethod GoogleCloudVisionV1p4beta1CropHintsAnnotation
  7977  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7978  }
  7979  
  7980  // GoogleCloudVisionV1p4beta1DominantColorsAnnotation: Set of dominant colors
  7981  // and their corresponding scores.
  7982  type GoogleCloudVisionV1p4beta1DominantColorsAnnotation struct {
  7983  	// Colors: RGB color values with their score and pixel fraction.
  7984  	Colors []*GoogleCloudVisionV1p4beta1ColorInfo `json:"colors,omitempty"`
  7985  	// ForceSendFields is a list of field names (e.g. "Colors") to unconditionally
  7986  	// include in API requests. By default, fields with empty or default values are
  7987  	// omitted from API requests. See
  7988  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7989  	// details.
  7990  	ForceSendFields []string `json:"-"`
  7991  	// NullFields is a list of field names (e.g. "Colors") to include in API
  7992  	// requests with the JSON null value. By default, fields with empty values are
  7993  	// omitted from API requests. See
  7994  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7995  	NullFields []string `json:"-"`
  7996  }
  7997  
  7998  func (s *GoogleCloudVisionV1p4beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) {
  7999  	type NoMethod GoogleCloudVisionV1p4beta1DominantColorsAnnotation
  8000  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8001  }
  8002  
  8003  // GoogleCloudVisionV1p4beta1EntityAnnotation: Set of detected entity features.
  8004  type GoogleCloudVisionV1p4beta1EntityAnnotation struct {
  8005  	// BoundingPoly: Image region to which this entity belongs. Not produced for
  8006  	// `LABEL_DETECTION` features.
  8007  	BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"`
  8008  	// Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity
  8009  	// detection in an image. For example, for an image in which the "Eiffel Tower"
  8010  	// entity is detected, this field represents the confidence that there is a
  8011  	// tower in the query image. Range [0, 1].
  8012  	Confidence float64 `json:"confidence,omitempty"`
  8013  	// Description: Entity textual description, expressed in its `locale` language.
  8014  	Description string `json:"description,omitempty"`
  8015  	// Locale: The language code for the locale in which the entity textual
  8016  	// `description` is expressed.
  8017  	Locale string `json:"locale,omitempty"`
  8018  	// Locations: The location information for the detected entity. Multiple
  8019  	// `LocationInfo` elements can be present because one location may indicate the
  8020  	// location of the scene in the image, and another location may indicate the
  8021  	// location of the place where the image was taken. Location information is
  8022  	// usually present for landmarks.
  8023  	Locations []*GoogleCloudVisionV1p4beta1LocationInfo `json:"locations,omitempty"`
  8024  	// Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph
  8025  	// Search API (https://developers.google.com/knowledge-graph/).
  8026  	Mid string `json:"mid,omitempty"`
  8027  	// Properties: Some entities may have optional user-supplied `Property`
  8028  	// (name/value) fields, such a score or string that qualifies the entity.
  8029  	Properties []*GoogleCloudVisionV1p4beta1Property `json:"properties,omitempty"`
  8030  	// Score: Overall score of the result. Range [0, 1].
  8031  	Score float64 `json:"score,omitempty"`
  8032  	// Topicality: The relevancy of the ICA (Image Content Annotation) label to the
  8033  	// image. For example, the relevancy of "tower" is likely higher to an image
  8034  	// containing the detected "Eiffel Tower" than to an image containing a
  8035  	// detected distant towering building, even though the confidence that there is
  8036  	// a tower in each image may be the same. Range [0, 1].
  8037  	Topicality float64 `json:"topicality,omitempty"`
  8038  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  8039  	// unconditionally include in API requests. By default, fields with empty or
  8040  	// default values are omitted from API requests. See
  8041  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8042  	// details.
  8043  	ForceSendFields []string `json:"-"`
  8044  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  8045  	// requests with the JSON null value. By default, fields with empty values are
  8046  	// omitted from API requests. See
  8047  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8048  	NullFields []string `json:"-"`
  8049  }
  8050  
  8051  func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) MarshalJSON() ([]byte, error) {
  8052  	type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation
  8053  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8054  }
  8055  
  8056  func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) UnmarshalJSON(data []byte) error {
  8057  	type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation
  8058  	var s1 struct {
  8059  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  8060  		Score      gensupport.JSONFloat64 `json:"score"`
  8061  		Topicality gensupport.JSONFloat64 `json:"topicality"`
  8062  		*NoMethod
  8063  	}
  8064  	s1.NoMethod = (*NoMethod)(s)
  8065  	if err := json.Unmarshal(data, &s1); err != nil {
  8066  		return err
  8067  	}
  8068  	s.Confidence = float64(s1.Confidence)
  8069  	s.Score = float64(s1.Score)
  8070  	s.Topicality = float64(s1.Topicality)
  8071  	return nil
  8072  }
  8073  
  8074  // GoogleCloudVisionV1p4beta1FaceAnnotation: A face annotation object contains
  8075  // the results of face detection.
  8076  type GoogleCloudVisionV1p4beta1FaceAnnotation struct {
  8077  	// AngerLikelihood: Anger likelihood.
  8078  	//
  8079  	// Possible values:
  8080  	//   "UNKNOWN" - Unknown likelihood.
  8081  	//   "VERY_UNLIKELY" - It is very unlikely.
  8082  	//   "UNLIKELY" - It is unlikely.
  8083  	//   "POSSIBLE" - It is possible.
  8084  	//   "LIKELY" - It is likely.
  8085  	//   "VERY_LIKELY" - It is very likely.
  8086  	AngerLikelihood string `json:"angerLikelihood,omitempty"`
  8087  	// BlurredLikelihood: Blurred likelihood.
  8088  	//
  8089  	// Possible values:
  8090  	//   "UNKNOWN" - Unknown likelihood.
  8091  	//   "VERY_UNLIKELY" - It is very unlikely.
  8092  	//   "UNLIKELY" - It is unlikely.
  8093  	//   "POSSIBLE" - It is possible.
  8094  	//   "LIKELY" - It is likely.
  8095  	//   "VERY_LIKELY" - It is very likely.
  8096  	BlurredLikelihood string `json:"blurredLikelihood,omitempty"`
  8097  	// BoundingPoly: The bounding polygon around the face. The coordinates of the
  8098  	// bounding box are in the original image's scale. The bounding box is computed
  8099  	// to "frame" the face in accordance with human expectations. It is based on
  8100  	// the landmarker results. Note that one or more x and/or y coordinates may not
  8101  	// be generated in the `BoundingPoly` (the polygon will be unbounded) if only a
  8102  	// partial face appears in the image to be annotated.
  8103  	BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"`
  8104  	// DetectionConfidence: Detection confidence. Range [0, 1].
  8105  	DetectionConfidence float64 `json:"detectionConfidence,omitempty"`
  8106  	// FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the
  8107  	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
  8108  	// is used to eliminate the face from any image analysis that detects the
  8109  	// "amount of skin" visible in an image. It is not based on the landmarker
  8110  	// results, only on the initial face detection, hence the fd (face detection)
  8111  	// prefix.
  8112  	FdBoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"fdBoundingPoly,omitempty"`
  8113  	// HeadwearLikelihood: Headwear likelihood.
  8114  	//
  8115  	// Possible values:
  8116  	//   "UNKNOWN" - Unknown likelihood.
  8117  	//   "VERY_UNLIKELY" - It is very unlikely.
  8118  	//   "UNLIKELY" - It is unlikely.
  8119  	//   "POSSIBLE" - It is possible.
  8120  	//   "LIKELY" - It is likely.
  8121  	//   "VERY_LIKELY" - It is very likely.
  8122  	HeadwearLikelihood string `json:"headwearLikelihood,omitempty"`
  8123  	// JoyLikelihood: Joy likelihood.
  8124  	//
  8125  	// Possible values:
  8126  	//   "UNKNOWN" - Unknown likelihood.
  8127  	//   "VERY_UNLIKELY" - It is very unlikely.
  8128  	//   "UNLIKELY" - It is unlikely.
  8129  	//   "POSSIBLE" - It is possible.
  8130  	//   "LIKELY" - It is likely.
  8131  	//   "VERY_LIKELY" - It is very likely.
  8132  	JoyLikelihood string `json:"joyLikelihood,omitempty"`
  8133  	// LandmarkingConfidence: Face landmarking confidence. Range [0, 1].
  8134  	LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"`
  8135  	// Landmarks: Detected face landmarks.
  8136  	Landmarks []*GoogleCloudVisionV1p4beta1FaceAnnotationLandmark `json:"landmarks,omitempty"`
  8137  	// PanAngle: Yaw angle, which indicates the leftward/rightward angle that the
  8138  	// face is pointing relative to the vertical plane perpendicular to the image.
  8139  	// Range [-180,180].
  8140  	PanAngle float64 `json:"panAngle,omitempty"`
  8141  	// RecognitionResult: Additional recognition information. Only computed if
  8142  	// image_context.face_recognition_params is provided, **and** a match is found
  8143  	// to a Celebrity in the input CelebritySet. This field is sorted in order of
  8144  	// decreasing confidence values.
  8145  	RecognitionResult []*GoogleCloudVisionV1p4beta1FaceRecognitionResult `json:"recognitionResult,omitempty"`
  8146  	// RollAngle: Roll angle, which indicates the amount of
  8147  	// clockwise/anti-clockwise rotation of the face relative to the image vertical
  8148  	// about the axis perpendicular to the face. Range [-180,180].
  8149  	RollAngle float64 `json:"rollAngle,omitempty"`
  8150  	// SorrowLikelihood: Sorrow likelihood.
  8151  	//
  8152  	// Possible values:
  8153  	//   "UNKNOWN" - Unknown likelihood.
  8154  	//   "VERY_UNLIKELY" - It is very unlikely.
  8155  	//   "UNLIKELY" - It is unlikely.
  8156  	//   "POSSIBLE" - It is possible.
  8157  	//   "LIKELY" - It is likely.
  8158  	//   "VERY_LIKELY" - It is very likely.
  8159  	SorrowLikelihood string `json:"sorrowLikelihood,omitempty"`
  8160  	// SurpriseLikelihood: Surprise likelihood.
  8161  	//
  8162  	// Possible values:
  8163  	//   "UNKNOWN" - Unknown likelihood.
  8164  	//   "VERY_UNLIKELY" - It is very unlikely.
  8165  	//   "UNLIKELY" - It is unlikely.
  8166  	//   "POSSIBLE" - It is possible.
  8167  	//   "LIKELY" - It is likely.
  8168  	//   "VERY_LIKELY" - It is very likely.
  8169  	SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"`
  8170  	// TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the
  8171  	// face is pointing relative to the image's horizontal plane. Range [-180,180].
  8172  	TiltAngle float64 `json:"tiltAngle,omitempty"`
  8173  	// UnderExposedLikelihood: Under-exposed likelihood.
  8174  	//
  8175  	// Possible values:
  8176  	//   "UNKNOWN" - Unknown likelihood.
  8177  	//   "VERY_UNLIKELY" - It is very unlikely.
  8178  	//   "UNLIKELY" - It is unlikely.
  8179  	//   "POSSIBLE" - It is possible.
  8180  	//   "LIKELY" - It is likely.
  8181  	//   "VERY_LIKELY" - It is very likely.
  8182  	UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"`
  8183  	// ForceSendFields is a list of field names (e.g. "AngerLikelihood") to
  8184  	// unconditionally include in API requests. By default, fields with empty or
  8185  	// default values are omitted from API requests. See
  8186  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8187  	// details.
  8188  	ForceSendFields []string `json:"-"`
  8189  	// NullFields is a list of field names (e.g. "AngerLikelihood") to include in
  8190  	// API requests with the JSON null value. By default, fields with empty values
  8191  	// are omitted from API requests. See
  8192  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8193  	NullFields []string `json:"-"`
  8194  }
  8195  
  8196  func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) MarshalJSON() ([]byte, error) {
  8197  	type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation
  8198  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8199  }
  8200  
  8201  func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) UnmarshalJSON(data []byte) error {
  8202  	type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation
  8203  	var s1 struct {
  8204  		DetectionConfidence   gensupport.JSONFloat64 `json:"detectionConfidence"`
  8205  		LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"`
  8206  		PanAngle              gensupport.JSONFloat64 `json:"panAngle"`
  8207  		RollAngle             gensupport.JSONFloat64 `json:"rollAngle"`
  8208  		TiltAngle             gensupport.JSONFloat64 `json:"tiltAngle"`
  8209  		*NoMethod
  8210  	}
  8211  	s1.NoMethod = (*NoMethod)(s)
  8212  	if err := json.Unmarshal(data, &s1); err != nil {
  8213  		return err
  8214  	}
  8215  	s.DetectionConfidence = float64(s1.DetectionConfidence)
  8216  	s.LandmarkingConfidence = float64(s1.LandmarkingConfidence)
  8217  	s.PanAngle = float64(s1.PanAngle)
  8218  	s.RollAngle = float64(s1.RollAngle)
  8219  	s.TiltAngle = float64(s1.TiltAngle)
  8220  	return nil
  8221  }
  8222  
  8223  // GoogleCloudVisionV1p4beta1FaceAnnotationLandmark: A face-specific landmark
  8224  // (for example, a face feature).
  8225  type GoogleCloudVisionV1p4beta1FaceAnnotationLandmark struct {
  8226  	// Position: Face landmark position.
  8227  	Position *GoogleCloudVisionV1p4beta1Position `json:"position,omitempty"`
  8228  	// Type: Face landmark type.
  8229  	//
  8230  	// Possible values:
  8231  	//   "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled.
  8232  	//   "LEFT_EYE" - Left eye.
  8233  	//   "RIGHT_EYE" - Right eye.
  8234  	//   "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow.
  8235  	//   "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow.
  8236  	//   "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow.
  8237  	//   "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow.
  8238  	//   "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes.
  8239  	//   "NOSE_TIP" - Nose tip.
  8240  	//   "UPPER_LIP" - Upper lip.
  8241  	//   "LOWER_LIP" - Lower lip.
  8242  	//   "MOUTH_LEFT" - Mouth left.
  8243  	//   "MOUTH_RIGHT" - Mouth right.
  8244  	//   "MOUTH_CENTER" - Mouth center.
  8245  	//   "NOSE_BOTTOM_RIGHT" - Nose, bottom right.
  8246  	//   "NOSE_BOTTOM_LEFT" - Nose, bottom left.
  8247  	//   "NOSE_BOTTOM_CENTER" - Nose, bottom center.
  8248  	//   "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary.
  8249  	//   "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner.
  8250  	//   "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary.
  8251  	//   "LEFT_EYE_LEFT_CORNER" - Left eye, left corner.
  8252  	//   "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary.
  8253  	//   "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner.
  8254  	//   "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary.
  8255  	//   "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner.
  8256  	//   "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint.
  8257  	//   "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint.
  8258  	//   "LEFT_EAR_TRAGION" - Left ear tragion.
  8259  	//   "RIGHT_EAR_TRAGION" - Right ear tragion.
  8260  	//   "LEFT_EYE_PUPIL" - Left eye pupil.
  8261  	//   "RIGHT_EYE_PUPIL" - Right eye pupil.
  8262  	//   "FOREHEAD_GLABELLA" - Forehead glabella.
  8263  	//   "CHIN_GNATHION" - Chin gnathion.
  8264  	//   "CHIN_LEFT_GONION" - Chin left gonion.
  8265  	//   "CHIN_RIGHT_GONION" - Chin right gonion.
  8266  	//   "LEFT_CHEEK_CENTER" - Left cheek center.
  8267  	//   "RIGHT_CHEEK_CENTER" - Right cheek center.
  8268  	Type string `json:"type,omitempty"`
  8269  	// ForceSendFields is a list of field names (e.g. "Position") to
  8270  	// unconditionally include in API requests. By default, fields with empty or
  8271  	// default values are omitted from API requests. See
  8272  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8273  	// details.
  8274  	ForceSendFields []string `json:"-"`
  8275  	// NullFields is a list of field names (e.g. "Position") to include in API
  8276  	// requests with the JSON null value. By default, fields with empty values are
  8277  	// omitted from API requests. See
  8278  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8279  	NullFields []string `json:"-"`
  8280  }
  8281  
  8282  func (s *GoogleCloudVisionV1p4beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) {
  8283  	type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotationLandmark
  8284  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8285  }
  8286  
  8287  // GoogleCloudVisionV1p4beta1FaceRecognitionResult: Information about a face's
  8288  // identity.
  8289  type GoogleCloudVisionV1p4beta1FaceRecognitionResult struct {
  8290  	// Celebrity: The Celebrity that this face was matched to.
  8291  	Celebrity *GoogleCloudVisionV1p4beta1Celebrity `json:"celebrity,omitempty"`
  8292  	// Confidence: Recognition confidence. Range [0, 1].
  8293  	Confidence float64 `json:"confidence,omitempty"`
  8294  	// ForceSendFields is a list of field names (e.g. "Celebrity") to
  8295  	// unconditionally include in API requests. By default, fields with empty or
  8296  	// default values are omitted from API requests. See
  8297  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8298  	// details.
  8299  	ForceSendFields []string `json:"-"`
  8300  	// NullFields is a list of field names (e.g. "Celebrity") to include in API
  8301  	// requests with the JSON null value. By default, fields with empty values are
  8302  	// omitted from API requests. See
  8303  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8304  	NullFields []string `json:"-"`
  8305  }
  8306  
  8307  func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) MarshalJSON() ([]byte, error) {
  8308  	type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult
  8309  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8310  }
  8311  
  8312  func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) UnmarshalJSON(data []byte) error {
  8313  	type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult
  8314  	var s1 struct {
  8315  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  8316  		*NoMethod
  8317  	}
  8318  	s1.NoMethod = (*NoMethod)(s)
  8319  	if err := json.Unmarshal(data, &s1); err != nil {
  8320  		return err
  8321  	}
  8322  	s.Confidence = float64(s1.Confidence)
  8323  	return nil
  8324  }
  8325  
  8326  // GoogleCloudVisionV1p4beta1GcsDestination: The Google Cloud Storage location
  8327  // where the output will be written to.
  8328  type GoogleCloudVisionV1p4beta1GcsDestination struct {
  8329  	// Uri: Google Cloud Storage URI prefix where the results will be stored.
  8330  	// Results will be in JSON format and preceded by its corresponding input URI
  8331  	// prefix. This field can either represent a gcs file prefix or gcs directory.
  8332  	// In either case, the uri should be unique because in order to get all of the
  8333  	// output files, you will need to do a wildcard gcs search on the uri prefix
  8334  	// you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix
  8335  	// The output files will be created in gs://bucket-name/here/ and the names of
  8336  	// the output files will begin with "filenameprefix". * Directory Prefix:
  8337  	// gs://bucket-name/some/location/ The output files will be created in
  8338  	// gs://bucket-name/some/location/ and the names of the output files could be
  8339  	// anything because there was no filename prefix specified. If multiple
  8340  	// outputs, each response is still AnnotateFileResponse, each of which contains
  8341  	// some subset of the full list of AnnotateImageResponse. Multiple outputs can
  8342  	// happen if, for example, the output JSON is too large and overflows into
  8343  	// multiple sharded files.
  8344  	Uri string `json:"uri,omitempty"`
  8345  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  8346  	// include in API requests. By default, fields with empty or default values are
  8347  	// omitted from API requests. See
  8348  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8349  	// details.
  8350  	ForceSendFields []string `json:"-"`
  8351  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  8352  	// with the JSON null value. By default, fields with empty values are omitted
  8353  	// from API requests. See
  8354  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8355  	NullFields []string `json:"-"`
  8356  }
  8357  
  8358  func (s *GoogleCloudVisionV1p4beta1GcsDestination) MarshalJSON() ([]byte, error) {
  8359  	type NoMethod GoogleCloudVisionV1p4beta1GcsDestination
  8360  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8361  }
  8362  
  8363  // GoogleCloudVisionV1p4beta1GcsSource: The Google Cloud Storage location where
  8364  // the input will be read from.
  8365  type GoogleCloudVisionV1p4beta1GcsSource struct {
  8366  	// Uri: Google Cloud Storage URI for the input file. This must only be a Google
  8367  	// Cloud Storage object. Wildcards are not currently supported.
  8368  	Uri string `json:"uri,omitempty"`
  8369  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  8370  	// include in API requests. By default, fields with empty or default values are
  8371  	// omitted from API requests. See
  8372  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8373  	// details.
  8374  	ForceSendFields []string `json:"-"`
  8375  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  8376  	// with the JSON null value. By default, fields with empty values are omitted
  8377  	// from API requests. See
  8378  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8379  	NullFields []string `json:"-"`
  8380  }
  8381  
  8382  func (s *GoogleCloudVisionV1p4beta1GcsSource) MarshalJSON() ([]byte, error) {
  8383  	type NoMethod GoogleCloudVisionV1p4beta1GcsSource
  8384  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8385  }
  8386  
  8387  // GoogleCloudVisionV1p4beta1ImageAnnotationContext: If an image was produced
  8388  // from a file (e.g. a PDF), this message gives information about the source of
  8389  // that image.
  8390  type GoogleCloudVisionV1p4beta1ImageAnnotationContext struct {
  8391  	// PageNumber: If the file was a PDF or TIFF, this field gives the page number
  8392  	// within the file used to produce the image.
  8393  	PageNumber int64 `json:"pageNumber,omitempty"`
  8394  	// Uri: The URI of the file used to produce the image.
  8395  	Uri string `json:"uri,omitempty"`
  8396  	// ForceSendFields is a list of field names (e.g. "PageNumber") to
  8397  	// unconditionally include in API requests. By default, fields with empty or
  8398  	// default values are omitted from API requests. See
  8399  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8400  	// details.
  8401  	ForceSendFields []string `json:"-"`
  8402  	// NullFields is a list of field names (e.g. "PageNumber") to include in API
  8403  	// requests with the JSON null value. By default, fields with empty values are
  8404  	// omitted from API requests. See
  8405  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8406  	NullFields []string `json:"-"`
  8407  }
  8408  
  8409  func (s *GoogleCloudVisionV1p4beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) {
  8410  	type NoMethod GoogleCloudVisionV1p4beta1ImageAnnotationContext
  8411  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8412  }
  8413  
  8414  // GoogleCloudVisionV1p4beta1ImageProperties: Stores image properties, such as
  8415  // dominant colors.
  8416  type GoogleCloudVisionV1p4beta1ImageProperties struct {
  8417  	// DominantColors: If present, dominant colors completed successfully.
  8418  	DominantColors *GoogleCloudVisionV1p4beta1DominantColorsAnnotation `json:"dominantColors,omitempty"`
  8419  	// ForceSendFields is a list of field names (e.g. "DominantColors") to
  8420  	// unconditionally include in API requests. By default, fields with empty or
  8421  	// default values are omitted from API requests. See
  8422  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8423  	// details.
  8424  	ForceSendFields []string `json:"-"`
  8425  	// NullFields is a list of field names (e.g. "DominantColors") to include in
  8426  	// API requests with the JSON null value. By default, fields with empty values
  8427  	// are omitted from API requests. See
  8428  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8429  	NullFields []string `json:"-"`
  8430  }
  8431  
  8432  func (s *GoogleCloudVisionV1p4beta1ImageProperties) MarshalJSON() ([]byte, error) {
  8433  	type NoMethod GoogleCloudVisionV1p4beta1ImageProperties
  8434  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8435  }
  8436  
  8437  // GoogleCloudVisionV1p4beta1ImportProductSetsResponse: Response message for
  8438  // the `ImportProductSets` method. This message is returned by the
  8439  // google.longrunning.Operations.GetOperation method in the returned
  8440  // google.longrunning.Operation.response field.
  8441  type GoogleCloudVisionV1p4beta1ImportProductSetsResponse struct {
  8442  	// ReferenceImages: The list of reference_images that are imported
  8443  	// successfully.
  8444  	ReferenceImages []*GoogleCloudVisionV1p4beta1ReferenceImage `json:"referenceImages,omitempty"`
  8445  	// Statuses: The rpc status for each ImportProductSet request, including both
  8446  	// successes and errors. The number of statuses here matches the number of
  8447  	// lines in the csv file, and statuses[i] stores the success or failure status
  8448  	// of processing the i-th line of the csv, starting from line 0.
  8449  	Statuses []*Status `json:"statuses,omitempty"`
  8450  	// ForceSendFields is a list of field names (e.g. "ReferenceImages") to
  8451  	// unconditionally include in API requests. By default, fields with empty or
  8452  	// default values are omitted from API requests. See
  8453  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8454  	// details.
  8455  	ForceSendFields []string `json:"-"`
  8456  	// NullFields is a list of field names (e.g. "ReferenceImages") to include in
  8457  	// API requests with the JSON null value. By default, fields with empty values
  8458  	// are omitted from API requests. See
  8459  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8460  	NullFields []string `json:"-"`
  8461  }
  8462  
  8463  func (s *GoogleCloudVisionV1p4beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) {
  8464  	type NoMethod GoogleCloudVisionV1p4beta1ImportProductSetsResponse
  8465  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8466  }
  8467  
  8468  // GoogleCloudVisionV1p4beta1InputConfig: The desired input location and
  8469  // metadata.
  8470  type GoogleCloudVisionV1p4beta1InputConfig struct {
  8471  	// Content: File content, represented as a stream of bytes. Note: As with all
  8472  	// `bytes` fields, protobuffers use a pure binary representation, whereas JSON
  8473  	// representations use base64. Currently, this field only works for
  8474  	// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles
  8475  	// requests.
  8476  	Content string `json:"content,omitempty"`
  8477  	// GcsSource: The Google Cloud Storage location to read the input from.
  8478  	GcsSource *GoogleCloudVisionV1p4beta1GcsSource `json:"gcsSource,omitempty"`
  8479  	// MimeType: The type of the file. Currently only "application/pdf",
  8480  	// "image/tiff" and "image/gif" are supported. Wildcards are not supported.
  8481  	MimeType string `json:"mimeType,omitempty"`
  8482  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  8483  	// include in API requests. By default, fields with empty or default values are
  8484  	// omitted from API requests. See
  8485  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8486  	// details.
  8487  	ForceSendFields []string `json:"-"`
  8488  	// NullFields is a list of field names (e.g. "Content") to include in API
  8489  	// requests with the JSON null value. By default, fields with empty values are
  8490  	// omitted from API requests. See
  8491  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8492  	NullFields []string `json:"-"`
  8493  }
  8494  
  8495  func (s *GoogleCloudVisionV1p4beta1InputConfig) MarshalJSON() ([]byte, error) {
  8496  	type NoMethod GoogleCloudVisionV1p4beta1InputConfig
  8497  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8498  }
  8499  
  8500  // GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation: Set of detected objects
  8501  // with bounding boxes.
  8502  type GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation struct {
  8503  	// BoundingPoly: Image region to which this object belongs. This must be
  8504  	// populated.
  8505  	BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"`
  8506  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  8507  	// more information, see
  8508  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  8509  	LanguageCode string `json:"languageCode,omitempty"`
  8510  	// Mid: Object ID that should align with EntityAnnotation mid.
  8511  	Mid string `json:"mid,omitempty"`
  8512  	// Name: Object name, expressed in its `language_code` language.
  8513  	Name string `json:"name,omitempty"`
  8514  	// Score: Score of the result. Range [0, 1].
  8515  	Score float64 `json:"score,omitempty"`
  8516  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  8517  	// unconditionally include in API requests. By default, fields with empty or
  8518  	// default values are omitted from API requests. See
  8519  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8520  	// details.
  8521  	ForceSendFields []string `json:"-"`
  8522  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  8523  	// requests with the JSON null value. By default, fields with empty values are
  8524  	// omitted from API requests. See
  8525  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8526  	NullFields []string `json:"-"`
  8527  }
  8528  
  8529  func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) {
  8530  	type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation
  8531  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8532  }
  8533  
  8534  func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error {
  8535  	type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation
  8536  	var s1 struct {
  8537  		Score gensupport.JSONFloat64 `json:"score"`
  8538  		*NoMethod
  8539  	}
  8540  	s1.NoMethod = (*NoMethod)(s)
  8541  	if err := json.Unmarshal(data, &s1); err != nil {
  8542  		return err
  8543  	}
  8544  	s.Score = float64(s1.Score)
  8545  	return nil
  8546  }
  8547  
  8548  // GoogleCloudVisionV1p4beta1LocationInfo: Detected entity location
  8549  // information.
  8550  type GoogleCloudVisionV1p4beta1LocationInfo struct {
  8551  	// LatLng: lat/long location coordinates.
  8552  	LatLng *LatLng `json:"latLng,omitempty"`
  8553  	// ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally
  8554  	// include in API requests. By default, fields with empty or default values are
  8555  	// omitted from API requests. See
  8556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8557  	// details.
  8558  	ForceSendFields []string `json:"-"`
  8559  	// NullFields is a list of field names (e.g. "LatLng") to include in API
  8560  	// requests with the JSON null value. By default, fields with empty values are
  8561  	// omitted from API requests. See
  8562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8563  	NullFields []string `json:"-"`
  8564  }
  8565  
  8566  func (s *GoogleCloudVisionV1p4beta1LocationInfo) MarshalJSON() ([]byte, error) {
  8567  	type NoMethod GoogleCloudVisionV1p4beta1LocationInfo
  8568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8569  }
  8570  
  8571  // GoogleCloudVisionV1p4beta1NormalizedVertex: A vertex represents a 2D point
  8572  // in the image. NOTE: the normalized vertex coordinates are relative to the
  8573  // original image and range from 0 to 1.
  8574  type GoogleCloudVisionV1p4beta1NormalizedVertex struct {
  8575  	// X: X coordinate.
  8576  	X float64 `json:"x,omitempty"`
  8577  	// Y: Y coordinate.
  8578  	Y float64 `json:"y,omitempty"`
  8579  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  8580  	// include in API requests. By default, fields with empty or default values are
  8581  	// omitted from API requests. See
  8582  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8583  	// details.
  8584  	ForceSendFields []string `json:"-"`
  8585  	// NullFields is a list of field names (e.g. "X") to include in API requests
  8586  	// with the JSON null value. By default, fields with empty values are omitted
  8587  	// from API requests. See
  8588  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8589  	NullFields []string `json:"-"`
  8590  }
  8591  
  8592  func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) MarshalJSON() ([]byte, error) {
  8593  	type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex
  8594  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8595  }
  8596  
  8597  func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) UnmarshalJSON(data []byte) error {
  8598  	type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex
  8599  	var s1 struct {
  8600  		X gensupport.JSONFloat64 `json:"x"`
  8601  		Y gensupport.JSONFloat64 `json:"y"`
  8602  		*NoMethod
  8603  	}
  8604  	s1.NoMethod = (*NoMethod)(s)
  8605  	if err := json.Unmarshal(data, &s1); err != nil {
  8606  		return err
  8607  	}
  8608  	s.X = float64(s1.X)
  8609  	s.Y = float64(s1.Y)
  8610  	return nil
  8611  }
  8612  
  8613  // GoogleCloudVisionV1p4beta1OperationMetadata: Contains metadata for the
  8614  // BatchAnnotateImages operation.
  8615  type GoogleCloudVisionV1p4beta1OperationMetadata struct {
  8616  	// CreateTime: The time when the batch request was received.
  8617  	CreateTime string `json:"createTime,omitempty"`
  8618  	// State: Current state of the batch operation.
  8619  	//
  8620  	// Possible values:
  8621  	//   "STATE_UNSPECIFIED" - Invalid.
  8622  	//   "CREATED" - Request is received.
  8623  	//   "RUNNING" - Request is actively being processed.
  8624  	//   "DONE" - The batch processing is done.
  8625  	//   "CANCELLED" - The batch processing was cancelled.
  8626  	State string `json:"state,omitempty"`
  8627  	// UpdateTime: The time when the operation result was last updated.
  8628  	UpdateTime string `json:"updateTime,omitempty"`
  8629  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
  8630  	// unconditionally include in API requests. By default, fields with empty or
  8631  	// default values are omitted from API requests. See
  8632  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8633  	// details.
  8634  	ForceSendFields []string `json:"-"`
  8635  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
  8636  	// requests with the JSON null value. By default, fields with empty values are
  8637  	// omitted from API requests. See
  8638  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8639  	NullFields []string `json:"-"`
  8640  }
  8641  
  8642  func (s *GoogleCloudVisionV1p4beta1OperationMetadata) MarshalJSON() ([]byte, error) {
  8643  	type NoMethod GoogleCloudVisionV1p4beta1OperationMetadata
  8644  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8645  }
  8646  
  8647  // GoogleCloudVisionV1p4beta1OutputConfig: The desired output location and
  8648  // metadata.
  8649  type GoogleCloudVisionV1p4beta1OutputConfig struct {
  8650  	// BatchSize: The max number of response protos to put into each output JSON
  8651  	// file on Google Cloud Storage. The valid range is [1, 100]. If not specified,
  8652  	// the default value is 20. For example, for one pdf file with 100 pages, 100
  8653  	// response protos will be generated. If `batch_size` = 20, then 5 json files
  8654  	// each containing 20 response protos will be written under the prefix
  8655  	// `gcs_destination`.`uri`. Currently, batch_size only applies to
  8656  	// GcsDestination, with potential future support for other output
  8657  	// configurations.
  8658  	BatchSize int64 `json:"batchSize,omitempty"`
  8659  	// GcsDestination: The Google Cloud Storage location to write the output(s) to.
  8660  	GcsDestination *GoogleCloudVisionV1p4beta1GcsDestination `json:"gcsDestination,omitempty"`
  8661  	// ForceSendFields is a list of field names (e.g. "BatchSize") to
  8662  	// unconditionally include in API requests. By default, fields with empty or
  8663  	// default values are omitted from API requests. See
  8664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8665  	// details.
  8666  	ForceSendFields []string `json:"-"`
  8667  	// NullFields is a list of field names (e.g. "BatchSize") to include in API
  8668  	// requests with the JSON null value. By default, fields with empty values are
  8669  	// omitted from API requests. See
  8670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8671  	NullFields []string `json:"-"`
  8672  }
  8673  
  8674  func (s *GoogleCloudVisionV1p4beta1OutputConfig) MarshalJSON() ([]byte, error) {
  8675  	type NoMethod GoogleCloudVisionV1p4beta1OutputConfig
  8676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8677  }
  8678  
  8679  // GoogleCloudVisionV1p4beta1Page: Detected page from OCR.
  8680  type GoogleCloudVisionV1p4beta1Page struct {
  8681  	// Blocks: List of blocks of text, images etc on this page.
  8682  	Blocks []*GoogleCloudVisionV1p4beta1Block `json:"blocks,omitempty"`
  8683  	// Confidence: Confidence of the OCR results on the page. Range [0, 1].
  8684  	Confidence float64 `json:"confidence,omitempty"`
  8685  	// Height: Page height. For PDFs the unit is points. For images (including
  8686  	// TIFFs) the unit is pixels.
  8687  	Height int64 `json:"height,omitempty"`
  8688  	// Property: Additional information detected on the page.
  8689  	Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"`
  8690  	// Width: Page width. For PDFs the unit is points. For images (including TIFFs)
  8691  	// the unit is pixels.
  8692  	Width int64 `json:"width,omitempty"`
  8693  	// ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally
  8694  	// include in API requests. By default, fields with empty or default values are
  8695  	// omitted from API requests. See
  8696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8697  	// details.
  8698  	ForceSendFields []string `json:"-"`
  8699  	// NullFields is a list of field names (e.g. "Blocks") to include in API
  8700  	// requests with the JSON null value. By default, fields with empty values are
  8701  	// omitted from API requests. See
  8702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8703  	NullFields []string `json:"-"`
  8704  }
  8705  
  8706  func (s *GoogleCloudVisionV1p4beta1Page) MarshalJSON() ([]byte, error) {
  8707  	type NoMethod GoogleCloudVisionV1p4beta1Page
  8708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8709  }
  8710  
  8711  func (s *GoogleCloudVisionV1p4beta1Page) UnmarshalJSON(data []byte) error {
  8712  	type NoMethod GoogleCloudVisionV1p4beta1Page
  8713  	var s1 struct {
  8714  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  8715  		*NoMethod
  8716  	}
  8717  	s1.NoMethod = (*NoMethod)(s)
  8718  	if err := json.Unmarshal(data, &s1); err != nil {
  8719  		return err
  8720  	}
  8721  	s.Confidence = float64(s1.Confidence)
  8722  	return nil
  8723  }
  8724  
  8725  // GoogleCloudVisionV1p4beta1Paragraph: Structural unit of text representing a
  8726  // number of words in certain order.
  8727  type GoogleCloudVisionV1p4beta1Paragraph struct {
  8728  	// BoundingBox: The bounding box for the paragraph. The vertices are in the
  8729  	// order of top-left, top-right, bottom-right, bottom-left. When a rotation of
  8730  	// the bounding box is detected the rotation is represented as around the
  8731  	// top-left corner as defined when the text is read in the 'natural'
  8732  	// orientation. For example: * when the text is horizontal it might look like:
  8733  	// 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner
  8734  	// it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2,
  8735  	// 3).
  8736  	BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"`
  8737  	// Confidence: Confidence of the OCR results for the paragraph. Range [0, 1].
  8738  	Confidence float64 `json:"confidence,omitempty"`
  8739  	// Property: Additional information detected for the paragraph.
  8740  	Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"`
  8741  	// Words: List of all words in this paragraph.
  8742  	Words []*GoogleCloudVisionV1p4beta1Word `json:"words,omitempty"`
  8743  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  8744  	// unconditionally include in API requests. By default, fields with empty or
  8745  	// default values are omitted from API requests. See
  8746  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8747  	// details.
  8748  	ForceSendFields []string `json:"-"`
  8749  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  8750  	// requests with the JSON null value. By default, fields with empty values are
  8751  	// omitted from API requests. See
  8752  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8753  	NullFields []string `json:"-"`
  8754  }
  8755  
  8756  func (s *GoogleCloudVisionV1p4beta1Paragraph) MarshalJSON() ([]byte, error) {
  8757  	type NoMethod GoogleCloudVisionV1p4beta1Paragraph
  8758  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8759  }
  8760  
  8761  func (s *GoogleCloudVisionV1p4beta1Paragraph) UnmarshalJSON(data []byte) error {
  8762  	type NoMethod GoogleCloudVisionV1p4beta1Paragraph
  8763  	var s1 struct {
  8764  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  8765  		*NoMethod
  8766  	}
  8767  	s1.NoMethod = (*NoMethod)(s)
  8768  	if err := json.Unmarshal(data, &s1); err != nil {
  8769  		return err
  8770  	}
  8771  	s.Confidence = float64(s1.Confidence)
  8772  	return nil
  8773  }
  8774  
  8775  // GoogleCloudVisionV1p4beta1Position: A 3D position in the image, used
  8776  // primarily for Face detection landmarks. A valid Position must have both x
  8777  // and y coordinates. The position coordinates are in the same scale as the
  8778  // original image.
  8779  type GoogleCloudVisionV1p4beta1Position struct {
  8780  	// X: X coordinate.
  8781  	X float64 `json:"x,omitempty"`
  8782  	// Y: Y coordinate.
  8783  	Y float64 `json:"y,omitempty"`
  8784  	// Z: Z coordinate (or depth).
  8785  	Z float64 `json:"z,omitempty"`
  8786  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  8787  	// include in API requests. By default, fields with empty or default values are
  8788  	// omitted from API requests. See
  8789  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8790  	// details.
  8791  	ForceSendFields []string `json:"-"`
  8792  	// NullFields is a list of field names (e.g. "X") to include in API requests
  8793  	// with the JSON null value. By default, fields with empty values are omitted
  8794  	// from API requests. See
  8795  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8796  	NullFields []string `json:"-"`
  8797  }
  8798  
  8799  func (s *GoogleCloudVisionV1p4beta1Position) MarshalJSON() ([]byte, error) {
  8800  	type NoMethod GoogleCloudVisionV1p4beta1Position
  8801  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8802  }
  8803  
  8804  func (s *GoogleCloudVisionV1p4beta1Position) UnmarshalJSON(data []byte) error {
  8805  	type NoMethod GoogleCloudVisionV1p4beta1Position
  8806  	var s1 struct {
  8807  		X gensupport.JSONFloat64 `json:"x"`
  8808  		Y gensupport.JSONFloat64 `json:"y"`
  8809  		Z gensupport.JSONFloat64 `json:"z"`
  8810  		*NoMethod
  8811  	}
  8812  	s1.NoMethod = (*NoMethod)(s)
  8813  	if err := json.Unmarshal(data, &s1); err != nil {
  8814  		return err
  8815  	}
  8816  	s.X = float64(s1.X)
  8817  	s.Y = float64(s1.Y)
  8818  	s.Z = float64(s1.Z)
  8819  	return nil
  8820  }
  8821  
  8822  // GoogleCloudVisionV1p4beta1Product: A Product contains ReferenceImages.
  8823  type GoogleCloudVisionV1p4beta1Product struct {
  8824  	// Description: User-provided metadata to be stored with this product. Must be
  8825  	// at most 4096 characters long.
  8826  	Description string `json:"description,omitempty"`
  8827  	// DisplayName: The user-provided name for this Product. Must not be empty.
  8828  	// Must be at most 4096 characters long.
  8829  	DisplayName string `json:"displayName,omitempty"`
  8830  	// Name: The resource name of the product. Format is:
  8831  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is
  8832  	// ignored when creating a product.
  8833  	Name string `json:"name,omitempty"`
  8834  	// ProductCategory: Immutable. The category for the product identified by the
  8835  	// reference image. This should be one of "homegoods-v2", "apparel-v2",
  8836  	// "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories
  8837  	// "homegoods", "apparel", and "toys" are still supported, but these should not
  8838  	// be used for new products.
  8839  	ProductCategory string `json:"productCategory,omitempty"`
  8840  	// ProductLabels: Key-value pairs that can be attached to a product. At query
  8841  	// time, constraints can be specified based on the product_labels. Note that
  8842  	// integer values can be provided as strings, e.g. "1199". Only strings with
  8843  	// integer values can match a range-based restriction which is to be supported
  8844  	// soon. Multiple values can be assigned to the same key. One product may have
  8845  	// up to 500 product_labels. Notice that the total number of distinct
  8846  	// product_labels over all products in one ProductSet cannot exceed 1M,
  8847  	// otherwise the product search pipeline will refuse to work for that
  8848  	// ProductSet.
  8849  	ProductLabels []*GoogleCloudVisionV1p4beta1ProductKeyValue `json:"productLabels,omitempty"`
  8850  	// ForceSendFields is a list of field names (e.g. "Description") to
  8851  	// unconditionally include in API requests. By default, fields with empty or
  8852  	// default values are omitted from API requests. See
  8853  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8854  	// details.
  8855  	ForceSendFields []string `json:"-"`
  8856  	// NullFields is a list of field names (e.g. "Description") to include in API
  8857  	// requests with the JSON null value. By default, fields with empty values are
  8858  	// omitted from API requests. See
  8859  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8860  	NullFields []string `json:"-"`
  8861  }
  8862  
  8863  func (s *GoogleCloudVisionV1p4beta1Product) MarshalJSON() ([]byte, error) {
  8864  	type NoMethod GoogleCloudVisionV1p4beta1Product
  8865  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8866  }
  8867  
  8868  // GoogleCloudVisionV1p4beta1ProductKeyValue: A product label represented as a
  8869  // key-value pair.
  8870  type GoogleCloudVisionV1p4beta1ProductKeyValue struct {
  8871  	// Key: The key of the label attached to the product. Cannot be empty and
  8872  	// cannot exceed 128 bytes.
  8873  	Key string `json:"key,omitempty"`
  8874  	// Value: The value of the label attached to the product. Cannot be empty and
  8875  	// cannot exceed 128 bytes.
  8876  	Value string `json:"value,omitempty"`
  8877  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  8878  	// include in API requests. By default, fields with empty or default values are
  8879  	// omitted from API requests. See
  8880  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8881  	// details.
  8882  	ForceSendFields []string `json:"-"`
  8883  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  8884  	// with the JSON null value. By default, fields with empty values are omitted
  8885  	// from API requests. See
  8886  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8887  	NullFields []string `json:"-"`
  8888  }
  8889  
  8890  func (s *GoogleCloudVisionV1p4beta1ProductKeyValue) MarshalJSON() ([]byte, error) {
  8891  	type NoMethod GoogleCloudVisionV1p4beta1ProductKeyValue
  8892  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8893  }
  8894  
  8895  // GoogleCloudVisionV1p4beta1ProductSearchResults: Results for a product search
  8896  // request.
  8897  type GoogleCloudVisionV1p4beta1ProductSearchResults struct {
  8898  	// IndexTime: Timestamp of the index which provided these results. Products
  8899  	// added to the product set and products removed from the product set after
  8900  	// this time are not reflected in the current results.
  8901  	IndexTime string `json:"indexTime,omitempty"`
  8902  	// ProductGroupedResults: List of results grouped by products detected in the
  8903  	// query image. Each entry corresponds to one bounding polygon in the query
  8904  	// image, and contains the matching products specific to that region. There may
  8905  	// be duplicate product matches in the union of all the per-product results.
  8906  	ProductGroupedResults []*GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"`
  8907  	// Results: List of results, one for each product match.
  8908  	Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"`
  8909  	// ForceSendFields is a list of field names (e.g. "IndexTime") to
  8910  	// unconditionally include in API requests. By default, fields with empty or
  8911  	// default values are omitted from API requests. See
  8912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8913  	// details.
  8914  	ForceSendFields []string `json:"-"`
  8915  	// NullFields is a list of field names (e.g. "IndexTime") to include in API
  8916  	// requests with the JSON null value. By default, fields with empty values are
  8917  	// omitted from API requests. See
  8918  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8919  	NullFields []string `json:"-"`
  8920  }
  8921  
  8922  func (s *GoogleCloudVisionV1p4beta1ProductSearchResults) MarshalJSON() ([]byte, error) {
  8923  	type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResults
  8924  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8925  }
  8926  
  8927  // GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult: Information
  8928  // about the products similar to a single product in a query image.
  8929  type GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult struct {
  8930  	// BoundingPoly: The bounding polygon around the product detected in the query
  8931  	// image.
  8932  	BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"`
  8933  	// ObjectAnnotations: List of generic predictions for the object in the
  8934  	// bounding box.
  8935  	ObjectAnnotations []*GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"`
  8936  	// Results: List of results, one for each product match.
  8937  	Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"`
  8938  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  8939  	// unconditionally include in API requests. By default, fields with empty or
  8940  	// default values are omitted from API requests. See
  8941  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8942  	// details.
  8943  	ForceSendFields []string `json:"-"`
  8944  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  8945  	// requests with the JSON null value. By default, fields with empty values are
  8946  	// omitted from API requests. See
  8947  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8948  	NullFields []string `json:"-"`
  8949  }
  8950  
  8951  func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) {
  8952  	type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult
  8953  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8954  }
  8955  
  8956  // GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation: Prediction
  8957  // for what the object in the bounding box is.
  8958  type GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation struct {
  8959  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  8960  	// more information, see
  8961  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  8962  	LanguageCode string `json:"languageCode,omitempty"`
  8963  	// Mid: Object ID that should align with EntityAnnotation mid.
  8964  	Mid string `json:"mid,omitempty"`
  8965  	// Name: Object name, expressed in its `language_code` language.
  8966  	Name string `json:"name,omitempty"`
  8967  	// Score: Score of the result. Range [0, 1].
  8968  	Score float64 `json:"score,omitempty"`
  8969  	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
  8970  	// unconditionally include in API requests. By default, fields with empty or
  8971  	// default values are omitted from API requests. See
  8972  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8973  	// details.
  8974  	ForceSendFields []string `json:"-"`
  8975  	// NullFields is a list of field names (e.g. "LanguageCode") to include in API
  8976  	// requests with the JSON null value. By default, fields with empty values are
  8977  	// omitted from API requests. See
  8978  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8979  	NullFields []string `json:"-"`
  8980  }
  8981  
  8982  func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) {
  8983  	type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation
  8984  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8985  }
  8986  
  8987  func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error {
  8988  	type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation
  8989  	var s1 struct {
  8990  		Score gensupport.JSONFloat64 `json:"score"`
  8991  		*NoMethod
  8992  	}
  8993  	s1.NoMethod = (*NoMethod)(s)
  8994  	if err := json.Unmarshal(data, &s1); err != nil {
  8995  		return err
  8996  	}
  8997  	s.Score = float64(s1.Score)
  8998  	return nil
  8999  }
  9000  
  9001  // GoogleCloudVisionV1p4beta1ProductSearchResultsResult: Information about a
  9002  // product.
  9003  type GoogleCloudVisionV1p4beta1ProductSearchResultsResult struct {
  9004  	// Image: The resource name of the image from the product that is the closest
  9005  	// match to the query.
  9006  	Image string `json:"image,omitempty"`
  9007  	// Product: The Product.
  9008  	Product *GoogleCloudVisionV1p4beta1Product `json:"product,omitempty"`
  9009  	// Score: A confidence level on the match, ranging from 0 (no confidence) to 1
  9010  	// (full confidence).
  9011  	Score float64 `json:"score,omitempty"`
  9012  	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
  9013  	// include in API requests. By default, fields with empty or default values are
  9014  	// omitted from API requests. See
  9015  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9016  	// details.
  9017  	ForceSendFields []string `json:"-"`
  9018  	// NullFields is a list of field names (e.g. "Image") to include in API
  9019  	// requests with the JSON null value. By default, fields with empty values are
  9020  	// omitted from API requests. See
  9021  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9022  	NullFields []string `json:"-"`
  9023  }
  9024  
  9025  func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) {
  9026  	type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult
  9027  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9028  }
  9029  
  9030  func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error {
  9031  	type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult
  9032  	var s1 struct {
  9033  		Score gensupport.JSONFloat64 `json:"score"`
  9034  		*NoMethod
  9035  	}
  9036  	s1.NoMethod = (*NoMethod)(s)
  9037  	if err := json.Unmarshal(data, &s1); err != nil {
  9038  		return err
  9039  	}
  9040  	s.Score = float64(s1.Score)
  9041  	return nil
  9042  }
  9043  
  9044  // GoogleCloudVisionV1p4beta1Property: A `Property` consists of a user-supplied
  9045  // name/value pair.
  9046  type GoogleCloudVisionV1p4beta1Property struct {
  9047  	// Name: Name of the property.
  9048  	Name string `json:"name,omitempty"`
  9049  	// Uint64Value: Value of numeric properties.
  9050  	Uint64Value uint64 `json:"uint64Value,omitempty,string"`
  9051  	// Value: Value of the property.
  9052  	Value string `json:"value,omitempty"`
  9053  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  9054  	// include in API requests. By default, fields with empty or default values are
  9055  	// omitted from API requests. See
  9056  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9057  	// details.
  9058  	ForceSendFields []string `json:"-"`
  9059  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  9060  	// with the JSON null value. By default, fields with empty values are omitted
  9061  	// from API requests. See
  9062  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9063  	NullFields []string `json:"-"`
  9064  }
  9065  
  9066  func (s *GoogleCloudVisionV1p4beta1Property) MarshalJSON() ([]byte, error) {
  9067  	type NoMethod GoogleCloudVisionV1p4beta1Property
  9068  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9069  }
  9070  
  9071  // GoogleCloudVisionV1p4beta1ReferenceImage: A `ReferenceImage` represents a
  9072  // product image and its associated metadata, such as bounding boxes.
  9073  type GoogleCloudVisionV1p4beta1ReferenceImage struct {
  9074  	// BoundingPolys: Optional. Bounding polygons around the areas of interest in
  9075  	// the reference image. If this field is empty, the system will try to detect
  9076  	// regions of interest. At most 10 bounding polygons will be used. The provided
  9077  	// shape is converted into a non-rotated rectangle. Once converted, the small
  9078  	// edge of the rectangle must be greater than or equal to 300 pixels. The
  9079  	// aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not).
  9080  	BoundingPolys []*GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPolys,omitempty"`
  9081  	// Name: The resource name of the reference image. Format is:
  9082  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMA
  9083  	// GE_ID`. This field is ignored when creating a reference image.
  9084  	Name string `json:"name,omitempty"`
  9085  	// Uri: Required. The Google Cloud Storage URI of the reference image. The URI
  9086  	// must start with `gs://`.
  9087  	Uri string `json:"uri,omitempty"`
  9088  	// ForceSendFields is a list of field names (e.g. "BoundingPolys") to
  9089  	// unconditionally include in API requests. By default, fields with empty or
  9090  	// default values are omitted from API requests. See
  9091  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9092  	// details.
  9093  	ForceSendFields []string `json:"-"`
  9094  	// NullFields is a list of field names (e.g. "BoundingPolys") to include in API
  9095  	// requests with the JSON null value. By default, fields with empty values are
  9096  	// omitted from API requests. See
  9097  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9098  	NullFields []string `json:"-"`
  9099  }
  9100  
  9101  func (s *GoogleCloudVisionV1p4beta1ReferenceImage) MarshalJSON() ([]byte, error) {
  9102  	type NoMethod GoogleCloudVisionV1p4beta1ReferenceImage
  9103  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9104  }
  9105  
  9106  // GoogleCloudVisionV1p4beta1SafeSearchAnnotation: Set of features pertaining
  9107  // to the image, computed by computer vision methods over safe-search verticals
  9108  // (for example, adult, spoof, medical, violence).
  9109  type GoogleCloudVisionV1p4beta1SafeSearchAnnotation struct {
  9110  	// Adult: Represents the adult content likelihood for the image. Adult content
  9111  	// may contain elements such as nudity, pornographic images or cartoons, or
  9112  	// sexual activities.
  9113  	//
  9114  	// Possible values:
  9115  	//   "UNKNOWN" - Unknown likelihood.
  9116  	//   "VERY_UNLIKELY" - It is very unlikely.
  9117  	//   "UNLIKELY" - It is unlikely.
  9118  	//   "POSSIBLE" - It is possible.
  9119  	//   "LIKELY" - It is likely.
  9120  	//   "VERY_LIKELY" - It is very likely.
  9121  	Adult string `json:"adult,omitempty"`
  9122  	// Medical: Likelihood that this is a medical image.
  9123  	//
  9124  	// Possible values:
  9125  	//   "UNKNOWN" - Unknown likelihood.
  9126  	//   "VERY_UNLIKELY" - It is very unlikely.
  9127  	//   "UNLIKELY" - It is unlikely.
  9128  	//   "POSSIBLE" - It is possible.
  9129  	//   "LIKELY" - It is likely.
  9130  	//   "VERY_LIKELY" - It is very likely.
  9131  	Medical string `json:"medical,omitempty"`
  9132  	// Racy: Likelihood that the request image contains racy content. Racy content
  9133  	// may include (but is not limited to) skimpy or sheer clothing, strategically
  9134  	// covered nudity, lewd or provocative poses, or close-ups of sensitive body
  9135  	// areas.
  9136  	//
  9137  	// Possible values:
  9138  	//   "UNKNOWN" - Unknown likelihood.
  9139  	//   "VERY_UNLIKELY" - It is very unlikely.
  9140  	//   "UNLIKELY" - It is unlikely.
  9141  	//   "POSSIBLE" - It is possible.
  9142  	//   "LIKELY" - It is likely.
  9143  	//   "VERY_LIKELY" - It is very likely.
  9144  	Racy string `json:"racy,omitempty"`
  9145  	// Spoof: Spoof likelihood. The likelihood that an modification was made to the
  9146  	// image's canonical version to make it appear funny or offensive.
  9147  	//
  9148  	// Possible values:
  9149  	//   "UNKNOWN" - Unknown likelihood.
  9150  	//   "VERY_UNLIKELY" - It is very unlikely.
  9151  	//   "UNLIKELY" - It is unlikely.
  9152  	//   "POSSIBLE" - It is possible.
  9153  	//   "LIKELY" - It is likely.
  9154  	//   "VERY_LIKELY" - It is very likely.
  9155  	Spoof string `json:"spoof,omitempty"`
  9156  	// Violence: Likelihood that this image contains violent content. Violent
  9157  	// content may include death, serious harm, or injury to individuals or groups
  9158  	// of individuals.
  9159  	//
  9160  	// Possible values:
  9161  	//   "UNKNOWN" - Unknown likelihood.
  9162  	//   "VERY_UNLIKELY" - It is very unlikely.
  9163  	//   "UNLIKELY" - It is unlikely.
  9164  	//   "POSSIBLE" - It is possible.
  9165  	//   "LIKELY" - It is likely.
  9166  	//   "VERY_LIKELY" - It is very likely.
  9167  	Violence string `json:"violence,omitempty"`
  9168  	// ForceSendFields is a list of field names (e.g. "Adult") to unconditionally
  9169  	// include in API requests. By default, fields with empty or default values are
  9170  	// omitted from API requests. See
  9171  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9172  	// details.
  9173  	ForceSendFields []string `json:"-"`
  9174  	// NullFields is a list of field names (e.g. "Adult") to include in API
  9175  	// requests with the JSON null value. By default, fields with empty values are
  9176  	// omitted from API requests. See
  9177  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9178  	NullFields []string `json:"-"`
  9179  }
  9180  
  9181  func (s *GoogleCloudVisionV1p4beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) {
  9182  	type NoMethod GoogleCloudVisionV1p4beta1SafeSearchAnnotation
  9183  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9184  }
  9185  
  9186  // GoogleCloudVisionV1p4beta1Symbol: A single symbol representation.
  9187  type GoogleCloudVisionV1p4beta1Symbol struct {
  9188  	// BoundingBox: The bounding box for the symbol. The vertices are in the order
  9189  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
  9190  	// bounding box is detected the rotation is represented as around the top-left
  9191  	// corner as defined when the text is read in the 'natural' orientation. For
  9192  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  9193  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  9194  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  9195  	BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"`
  9196  	// Confidence: Confidence of the OCR results for the symbol. Range [0, 1].
  9197  	Confidence float64 `json:"confidence,omitempty"`
  9198  	// Property: Additional information detected for the symbol.
  9199  	Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"`
  9200  	// Text: The actual UTF-8 representation of the symbol.
  9201  	Text string `json:"text,omitempty"`
  9202  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  9203  	// unconditionally include in API requests. By default, fields with empty or
  9204  	// default values are omitted from API requests. See
  9205  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9206  	// details.
  9207  	ForceSendFields []string `json:"-"`
  9208  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  9209  	// requests with the JSON null value. By default, fields with empty values are
  9210  	// omitted from API requests. See
  9211  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9212  	NullFields []string `json:"-"`
  9213  }
  9214  
  9215  func (s *GoogleCloudVisionV1p4beta1Symbol) MarshalJSON() ([]byte, error) {
  9216  	type NoMethod GoogleCloudVisionV1p4beta1Symbol
  9217  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9218  }
  9219  
  9220  func (s *GoogleCloudVisionV1p4beta1Symbol) UnmarshalJSON(data []byte) error {
  9221  	type NoMethod GoogleCloudVisionV1p4beta1Symbol
  9222  	var s1 struct {
  9223  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  9224  		*NoMethod
  9225  	}
  9226  	s1.NoMethod = (*NoMethod)(s)
  9227  	if err := json.Unmarshal(data, &s1); err != nil {
  9228  		return err
  9229  	}
  9230  	s.Confidence = float64(s1.Confidence)
  9231  	return nil
  9232  }
  9233  
  9234  // GoogleCloudVisionV1p4beta1TextAnnotation: TextAnnotation contains a
  9235  // structured representation of OCR extracted text. The hierarchy of an OCR
  9236  // extracted text structure is like this: TextAnnotation -> Page -> Block ->
  9237  // Paragraph -> Word -> Symbol Each structural component, starting from Page,
  9238  // may further have their own properties. Properties describe detected
  9239  // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty
  9240  // message definition below for more detail.
  9241  type GoogleCloudVisionV1p4beta1TextAnnotation struct {
  9242  	// Pages: List of pages detected by OCR.
  9243  	Pages []*GoogleCloudVisionV1p4beta1Page `json:"pages,omitempty"`
  9244  	// Text: UTF-8 text detected on the pages.
  9245  	Text string `json:"text,omitempty"`
  9246  	// ForceSendFields is a list of field names (e.g. "Pages") to unconditionally
  9247  	// include in API requests. By default, fields with empty or default values are
  9248  	// omitted from API requests. See
  9249  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9250  	// details.
  9251  	ForceSendFields []string `json:"-"`
  9252  	// NullFields is a list of field names (e.g. "Pages") to include in API
  9253  	// requests with the JSON null value. By default, fields with empty values are
  9254  	// omitted from API requests. See
  9255  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9256  	NullFields []string `json:"-"`
  9257  }
  9258  
  9259  func (s *GoogleCloudVisionV1p4beta1TextAnnotation) MarshalJSON() ([]byte, error) {
  9260  	type NoMethod GoogleCloudVisionV1p4beta1TextAnnotation
  9261  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9262  }
  9263  
  9264  // GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak: Detected start or end
  9265  // of a structural component.
  9266  type GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak struct {
  9267  	// IsPrefix: True if break prepends the element.
  9268  	IsPrefix bool `json:"isPrefix,omitempty"`
  9269  	// Type: Detected break type.
  9270  	//
  9271  	// Possible values:
  9272  	//   "UNKNOWN" - Unknown break label type.
  9273  	//   "SPACE" - Regular space.
  9274  	//   "SURE_SPACE" - Sure space (very wide).
  9275  	//   "EOL_SURE_SPACE" - Line-wrapping break.
  9276  	//   "HYPHEN" - End-line hyphen that is not present in text; does not co-occur
  9277  	// with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`.
  9278  	//   "LINE_BREAK" - Line break that ends a paragraph.
  9279  	Type string `json:"type,omitempty"`
  9280  	// ForceSendFields is a list of field names (e.g. "IsPrefix") to
  9281  	// unconditionally include in API requests. By default, fields with empty or
  9282  	// default values are omitted from API requests. See
  9283  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9284  	// details.
  9285  	ForceSendFields []string `json:"-"`
  9286  	// NullFields is a list of field names (e.g. "IsPrefix") to include in API
  9287  	// requests with the JSON null value. By default, fields with empty values are
  9288  	// omitted from API requests. See
  9289  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9290  	NullFields []string `json:"-"`
  9291  }
  9292  
  9293  func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) {
  9294  	type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak
  9295  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9296  }
  9297  
  9298  // GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage: Detected language
  9299  // for a structural component.
  9300  type GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage struct {
  9301  	// Confidence: Confidence of detected language. Range [0, 1].
  9302  	Confidence float64 `json:"confidence,omitempty"`
  9303  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  9304  	// more information, see
  9305  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  9306  	LanguageCode string `json:"languageCode,omitempty"`
  9307  	// ForceSendFields is a list of field names (e.g. "Confidence") to
  9308  	// unconditionally include in API requests. By default, fields with empty or
  9309  	// default values are omitted from API requests. See
  9310  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9311  	// details.
  9312  	ForceSendFields []string `json:"-"`
  9313  	// NullFields is a list of field names (e.g. "Confidence") to include in API
  9314  	// requests with the JSON null value. By default, fields with empty values are
  9315  	// omitted from API requests. See
  9316  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9317  	NullFields []string `json:"-"`
  9318  }
  9319  
  9320  func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) {
  9321  	type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage
  9322  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9323  }
  9324  
  9325  func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error {
  9326  	type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage
  9327  	var s1 struct {
  9328  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  9329  		*NoMethod
  9330  	}
  9331  	s1.NoMethod = (*NoMethod)(s)
  9332  	if err := json.Unmarshal(data, &s1); err != nil {
  9333  		return err
  9334  	}
  9335  	s.Confidence = float64(s1.Confidence)
  9336  	return nil
  9337  }
  9338  
  9339  // GoogleCloudVisionV1p4beta1TextAnnotationTextProperty: Additional information
  9340  // detected on the structural component.
  9341  type GoogleCloudVisionV1p4beta1TextAnnotationTextProperty struct {
  9342  	// DetectedBreak: Detected start or end of a text segment.
  9343  	DetectedBreak *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"`
  9344  	// DetectedLanguages: A list of detected languages together with confidence.
  9345  	DetectedLanguages []*GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"`
  9346  	// ForceSendFields is a list of field names (e.g. "DetectedBreak") to
  9347  	// unconditionally include in API requests. By default, fields with empty or
  9348  	// default values are omitted from API requests. See
  9349  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9350  	// details.
  9351  	ForceSendFields []string `json:"-"`
  9352  	// NullFields is a list of field names (e.g. "DetectedBreak") to include in API
  9353  	// requests with the JSON null value. By default, fields with empty values are
  9354  	// omitted from API requests. See
  9355  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9356  	NullFields []string `json:"-"`
  9357  }
  9358  
  9359  func (s *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) {
  9360  	type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationTextProperty
  9361  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9362  }
  9363  
  9364  // GoogleCloudVisionV1p4beta1Vertex: A vertex represents a 2D point in the
  9365  // image. NOTE: the vertex coordinates are in the same scale as the original
  9366  // image.
  9367  type GoogleCloudVisionV1p4beta1Vertex struct {
  9368  	// X: X coordinate.
  9369  	X int64 `json:"x,omitempty"`
  9370  	// Y: Y coordinate.
  9371  	Y int64 `json:"y,omitempty"`
  9372  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  9373  	// include in API requests. By default, fields with empty or default values are
  9374  	// omitted from API requests. See
  9375  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9376  	// details.
  9377  	ForceSendFields []string `json:"-"`
  9378  	// NullFields is a list of field names (e.g. "X") to include in API requests
  9379  	// with the JSON null value. By default, fields with empty values are omitted
  9380  	// from API requests. See
  9381  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9382  	NullFields []string `json:"-"`
  9383  }
  9384  
  9385  func (s *GoogleCloudVisionV1p4beta1Vertex) MarshalJSON() ([]byte, error) {
  9386  	type NoMethod GoogleCloudVisionV1p4beta1Vertex
  9387  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9388  }
  9389  
  9390  // GoogleCloudVisionV1p4beta1WebDetection: Relevant information for the image
  9391  // from the Internet.
  9392  type GoogleCloudVisionV1p4beta1WebDetection struct {
  9393  	// BestGuessLabels: The service's best guess as to the topic of the request
  9394  	// image. Inferred from similar images on the open web.
  9395  	BestGuessLabels []*GoogleCloudVisionV1p4beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"`
  9396  	// FullMatchingImages: Fully matching images from the Internet. Can include
  9397  	// resized copies of the query image.
  9398  	FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  9399  	// PagesWithMatchingImages: Web pages containing the matching images from the
  9400  	// Internet.
  9401  	PagesWithMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"`
  9402  	// PartialMatchingImages: Partial matching images from the Internet. Those
  9403  	// images are similar enough to share some key-point features. For example an
  9404  	// original image will likely have partial matching for its crops.
  9405  	PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  9406  	// VisuallySimilarImages: The visually similar image results.
  9407  	VisuallySimilarImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"`
  9408  	// WebEntities: Deduced entities from similar images on the Internet.
  9409  	WebEntities []*GoogleCloudVisionV1p4beta1WebDetectionWebEntity `json:"webEntities,omitempty"`
  9410  	// ForceSendFields is a list of field names (e.g. "BestGuessLabels") to
  9411  	// unconditionally include in API requests. By default, fields with empty or
  9412  	// default values are omitted from API requests. See
  9413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9414  	// details.
  9415  	ForceSendFields []string `json:"-"`
  9416  	// NullFields is a list of field names (e.g. "BestGuessLabels") to include in
  9417  	// API requests with the JSON null value. By default, fields with empty values
  9418  	// are omitted from API requests. See
  9419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9420  	NullFields []string `json:"-"`
  9421  }
  9422  
  9423  func (s *GoogleCloudVisionV1p4beta1WebDetection) MarshalJSON() ([]byte, error) {
  9424  	type NoMethod GoogleCloudVisionV1p4beta1WebDetection
  9425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9426  }
  9427  
  9428  // GoogleCloudVisionV1p4beta1WebDetectionWebEntity: Entity deduced from similar
  9429  // images on the Internet.
  9430  type GoogleCloudVisionV1p4beta1WebDetectionWebEntity struct {
  9431  	// Description: Canonical description of the entity, in English.
  9432  	Description string `json:"description,omitempty"`
  9433  	// EntityId: Opaque entity ID.
  9434  	EntityId string `json:"entityId,omitempty"`
  9435  	// Score: Overall relevancy score for the entity. Not normalized and not
  9436  	// comparable across different image queries.
  9437  	Score float64 `json:"score,omitempty"`
  9438  	// ForceSendFields is a list of field names (e.g. "Description") to
  9439  	// unconditionally include in API requests. By default, fields with empty or
  9440  	// default values are omitted from API requests. See
  9441  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9442  	// details.
  9443  	ForceSendFields []string `json:"-"`
  9444  	// NullFields is a list of field names (e.g. "Description") to include in API
  9445  	// requests with the JSON null value. By default, fields with empty values are
  9446  	// omitted from API requests. See
  9447  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9448  	NullFields []string `json:"-"`
  9449  }
  9450  
  9451  func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) {
  9452  	type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity
  9453  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9454  }
  9455  
  9456  func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error {
  9457  	type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity
  9458  	var s1 struct {
  9459  		Score gensupport.JSONFloat64 `json:"score"`
  9460  		*NoMethod
  9461  	}
  9462  	s1.NoMethod = (*NoMethod)(s)
  9463  	if err := json.Unmarshal(data, &s1); err != nil {
  9464  		return err
  9465  	}
  9466  	s.Score = float64(s1.Score)
  9467  	return nil
  9468  }
  9469  
  9470  // GoogleCloudVisionV1p4beta1WebDetectionWebImage: Metadata for online images.
  9471  type GoogleCloudVisionV1p4beta1WebDetectionWebImage struct {
  9472  	// Score: (Deprecated) Overall relevancy score for the image.
  9473  	Score float64 `json:"score,omitempty"`
  9474  	// Url: The result image URL.
  9475  	Url string `json:"url,omitempty"`
  9476  	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
  9477  	// include in API requests. By default, fields with empty or default values are
  9478  	// omitted from API requests. See
  9479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9480  	// details.
  9481  	ForceSendFields []string `json:"-"`
  9482  	// NullFields is a list of field names (e.g. "Score") to include in API
  9483  	// requests with the JSON null value. By default, fields with empty values are
  9484  	// omitted from API requests. See
  9485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9486  	NullFields []string `json:"-"`
  9487  }
  9488  
  9489  func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) {
  9490  	type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage
  9491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9492  }
  9493  
  9494  func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error {
  9495  	type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage
  9496  	var s1 struct {
  9497  		Score gensupport.JSONFloat64 `json:"score"`
  9498  		*NoMethod
  9499  	}
  9500  	s1.NoMethod = (*NoMethod)(s)
  9501  	if err := json.Unmarshal(data, &s1); err != nil {
  9502  		return err
  9503  	}
  9504  	s.Score = float64(s1.Score)
  9505  	return nil
  9506  }
  9507  
  9508  // GoogleCloudVisionV1p4beta1WebDetectionWebLabel: Label to provide extra
  9509  // metadata for the web detection.
  9510  type GoogleCloudVisionV1p4beta1WebDetectionWebLabel struct {
  9511  	// Label: Label for extra metadata.
  9512  	Label string `json:"label,omitempty"`
  9513  	// LanguageCode: The BCP-47 language code for `label`, such as "en-US" or
  9514  	// "sr-Latn". For more information, see
  9515  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  9516  	LanguageCode string `json:"languageCode,omitempty"`
  9517  	// ForceSendFields is a list of field names (e.g. "Label") to unconditionally
  9518  	// include in API requests. By default, fields with empty or default values are
  9519  	// omitted from API requests. See
  9520  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9521  	// details.
  9522  	ForceSendFields []string `json:"-"`
  9523  	// NullFields is a list of field names (e.g. "Label") to include in API
  9524  	// requests with the JSON null value. By default, fields with empty values are
  9525  	// omitted from API requests. See
  9526  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9527  	NullFields []string `json:"-"`
  9528  }
  9529  
  9530  func (s *GoogleCloudVisionV1p4beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) {
  9531  	type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebLabel
  9532  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9533  }
  9534  
  9535  // GoogleCloudVisionV1p4beta1WebDetectionWebPage: Metadata for web pages.
  9536  type GoogleCloudVisionV1p4beta1WebDetectionWebPage struct {
  9537  	// FullMatchingImages: Fully matching images on the page. Can include resized
  9538  	// copies of the query image.
  9539  	FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"`
  9540  	// PageTitle: Title for the web page, may contain HTML markups.
  9541  	PageTitle string `json:"pageTitle,omitempty"`
  9542  	// PartialMatchingImages: Partial matching images on the page. Those images are
  9543  	// similar enough to share some key-point features. For example an original
  9544  	// image will likely have partial matching for its crops.
  9545  	PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"`
  9546  	// Score: (Deprecated) Overall relevancy score for the web page.
  9547  	Score float64 `json:"score,omitempty"`
  9548  	// Url: The result web page URL.
  9549  	Url string `json:"url,omitempty"`
  9550  	// ForceSendFields is a list of field names (e.g. "FullMatchingImages") to
  9551  	// unconditionally include in API requests. By default, fields with empty or
  9552  	// default values are omitted from API requests. See
  9553  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9554  	// details.
  9555  	ForceSendFields []string `json:"-"`
  9556  	// NullFields is a list of field names (e.g. "FullMatchingImages") to include
  9557  	// in API requests with the JSON null value. By default, fields with empty
  9558  	// values are omitted from API requests. See
  9559  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9560  	NullFields []string `json:"-"`
  9561  }
  9562  
  9563  func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) {
  9564  	type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage
  9565  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9566  }
  9567  
  9568  func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error {
  9569  	type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage
  9570  	var s1 struct {
  9571  		Score gensupport.JSONFloat64 `json:"score"`
  9572  		*NoMethod
  9573  	}
  9574  	s1.NoMethod = (*NoMethod)(s)
  9575  	if err := json.Unmarshal(data, &s1); err != nil {
  9576  		return err
  9577  	}
  9578  	s.Score = float64(s1.Score)
  9579  	return nil
  9580  }
  9581  
  9582  // GoogleCloudVisionV1p4beta1Word: A word representation.
  9583  type GoogleCloudVisionV1p4beta1Word struct {
  9584  	// BoundingBox: The bounding box for the word. The vertices are in the order of
  9585  	// top-left, top-right, bottom-right, bottom-left. When a rotation of the
  9586  	// bounding box is detected the rotation is represented as around the top-left
  9587  	// corner as defined when the text is read in the 'natural' orientation. For
  9588  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
  9589  	// * when it's rotated 180 degrees around the top-left corner it becomes:
  9590  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
  9591  	BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"`
  9592  	// Confidence: Confidence of the OCR results for the word. Range [0, 1].
  9593  	Confidence float64 `json:"confidence,omitempty"`
  9594  	// Property: Additional information detected for the word.
  9595  	Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"`
  9596  	// Symbols: List of symbols in the word. The order of the symbols follows the
  9597  	// natural reading order.
  9598  	Symbols []*GoogleCloudVisionV1p4beta1Symbol `json:"symbols,omitempty"`
  9599  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
  9600  	// unconditionally include in API requests. By default, fields with empty or
  9601  	// default values are omitted from API requests. See
  9602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9603  	// details.
  9604  	ForceSendFields []string `json:"-"`
  9605  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
  9606  	// requests with the JSON null value. By default, fields with empty values are
  9607  	// omitted from API requests. See
  9608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9609  	NullFields []string `json:"-"`
  9610  }
  9611  
  9612  func (s *GoogleCloudVisionV1p4beta1Word) MarshalJSON() ([]byte, error) {
  9613  	type NoMethod GoogleCloudVisionV1p4beta1Word
  9614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9615  }
  9616  
  9617  func (s *GoogleCloudVisionV1p4beta1Word) UnmarshalJSON(data []byte) error {
  9618  	type NoMethod GoogleCloudVisionV1p4beta1Word
  9619  	var s1 struct {
  9620  		Confidence gensupport.JSONFloat64 `json:"confidence"`
  9621  		*NoMethod
  9622  	}
  9623  	s1.NoMethod = (*NoMethod)(s)
  9624  	if err := json.Unmarshal(data, &s1); err != nil {
  9625  		return err
  9626  	}
  9627  	s.Confidence = float64(s1.Confidence)
  9628  	return nil
  9629  }
  9630  
  9631  // GroupedResult: Information about the products similar to a single product in
  9632  // a query image.
  9633  type GroupedResult struct {
  9634  	// BoundingPoly: The bounding polygon around the product detected in the query
  9635  	// image.
  9636  	BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"`
  9637  	// ObjectAnnotations: List of generic predictions for the object in the
  9638  	// bounding box.
  9639  	ObjectAnnotations []*ObjectAnnotation `json:"objectAnnotations,omitempty"`
  9640  	// Results: List of results, one for each product match.
  9641  	Results []*Result `json:"results,omitempty"`
  9642  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  9643  	// unconditionally include in API requests. By default, fields with empty or
  9644  	// default values are omitted from API requests. See
  9645  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9646  	// details.
  9647  	ForceSendFields []string `json:"-"`
  9648  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  9649  	// requests with the JSON null value. By default, fields with empty values are
  9650  	// omitted from API requests. See
  9651  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9652  	NullFields []string `json:"-"`
  9653  }
  9654  
  9655  func (s *GroupedResult) MarshalJSON() ([]byte, error) {
  9656  	type NoMethod GroupedResult
  9657  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9658  }
  9659  
  9660  // ImageAnnotationContext: If an image was produced from a file (e.g. a PDF),
  9661  // this message gives information about the source of that image.
  9662  type ImageAnnotationContext struct {
  9663  	// PageNumber: If the file was a PDF or TIFF, this field gives the page number
  9664  	// within the file used to produce the image.
  9665  	PageNumber int64 `json:"pageNumber,omitempty"`
  9666  	// Uri: The URI of the file used to produce the image.
  9667  	Uri string `json:"uri,omitempty"`
  9668  	// ForceSendFields is a list of field names (e.g. "PageNumber") to
  9669  	// unconditionally include in API requests. By default, fields with empty or
  9670  	// default values are omitted from API requests. See
  9671  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9672  	// details.
  9673  	ForceSendFields []string `json:"-"`
  9674  	// NullFields is a list of field names (e.g. "PageNumber") to include in API
  9675  	// requests with the JSON null value. By default, fields with empty values are
  9676  	// omitted from API requests. See
  9677  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9678  	NullFields []string `json:"-"`
  9679  }
  9680  
  9681  func (s *ImageAnnotationContext) MarshalJSON() ([]byte, error) {
  9682  	type NoMethod ImageAnnotationContext
  9683  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9684  }
  9685  
  9686  // ImageProperties: Stores image properties, such as dominant colors.
  9687  type ImageProperties struct {
  9688  	// DominantColors: If present, dominant colors completed successfully.
  9689  	DominantColors *DominantColorsAnnotation `json:"dominantColors,omitempty"`
  9690  	// ForceSendFields is a list of field names (e.g. "DominantColors") to
  9691  	// unconditionally include in API requests. By default, fields with empty or
  9692  	// default values are omitted from API requests. See
  9693  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9694  	// details.
  9695  	ForceSendFields []string `json:"-"`
  9696  	// NullFields is a list of field names (e.g. "DominantColors") to include in
  9697  	// API requests with the JSON null value. By default, fields with empty values
  9698  	// are omitted from API requests. See
  9699  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9700  	NullFields []string `json:"-"`
  9701  }
  9702  
  9703  func (s *ImageProperties) MarshalJSON() ([]byte, error) {
  9704  	type NoMethod ImageProperties
  9705  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9706  }
  9707  
  9708  // ImportProductSetsResponse: Response message for the `ImportProductSets`
  9709  // method. This message is returned by the
  9710  // google.longrunning.Operations.GetOperation method in the returned
  9711  // google.longrunning.Operation.response field.
  9712  type ImportProductSetsResponse struct {
  9713  	// ReferenceImages: The list of reference_images that are imported
  9714  	// successfully.
  9715  	ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"`
  9716  	// Statuses: The rpc status for each ImportProductSet request, including both
  9717  	// successes and errors. The number of statuses here matches the number of
  9718  	// lines in the csv file, and statuses[i] stores the success or failure status
  9719  	// of processing the i-th line of the csv, starting from line 0.
  9720  	Statuses []*Status `json:"statuses,omitempty"`
  9721  	// ForceSendFields is a list of field names (e.g. "ReferenceImages") to
  9722  	// unconditionally include in API requests. By default, fields with empty or
  9723  	// default values are omitted from API requests. See
  9724  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9725  	// details.
  9726  	ForceSendFields []string `json:"-"`
  9727  	// NullFields is a list of field names (e.g. "ReferenceImages") to include in
  9728  	// API requests with the JSON null value. By default, fields with empty values
  9729  	// are omitted from API requests. See
  9730  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9731  	NullFields []string `json:"-"`
  9732  }
  9733  
  9734  func (s *ImportProductSetsResponse) MarshalJSON() ([]byte, error) {
  9735  	type NoMethod ImportProductSetsResponse
  9736  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9737  }
  9738  
  9739  // InputConfig: The desired input location and metadata.
  9740  type InputConfig struct {
  9741  	// Content: File content, represented as a stream of bytes. Note: As with all
  9742  	// `bytes` fields, protobuffers use a pure binary representation, whereas JSON
  9743  	// representations use base64. Currently, this field only works for
  9744  	// BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles
  9745  	// requests.
  9746  	Content string `json:"content,omitempty"`
  9747  	// GcsSource: The Google Cloud Storage location to read the input from.
  9748  	GcsSource *GcsSource `json:"gcsSource,omitempty"`
  9749  	// MimeType: The type of the file. Currently only "application/pdf",
  9750  	// "image/tiff" and "image/gif" are supported. Wildcards are not supported.
  9751  	MimeType string `json:"mimeType,omitempty"`
  9752  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  9753  	// include in API requests. By default, fields with empty or default values are
  9754  	// omitted from API requests. See
  9755  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9756  	// details.
  9757  	ForceSendFields []string `json:"-"`
  9758  	// NullFields is a list of field names (e.g. "Content") to include in API
  9759  	// requests with the JSON null value. By default, fields with empty values are
  9760  	// omitted from API requests. See
  9761  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9762  	NullFields []string `json:"-"`
  9763  }
  9764  
  9765  func (s *InputConfig) MarshalJSON() ([]byte, error) {
  9766  	type NoMethod InputConfig
  9767  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9768  }
  9769  
  9770  // KeyValue: A product label represented as a key-value pair.
  9771  type KeyValue struct {
  9772  	// Key: The key of the label attached to the product. Cannot be empty and
  9773  	// cannot exceed 128 bytes.
  9774  	Key string `json:"key,omitempty"`
  9775  	// Value: The value of the label attached to the product. Cannot be empty and
  9776  	// cannot exceed 128 bytes.
  9777  	Value string `json:"value,omitempty"`
  9778  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  9779  	// include in API requests. By default, fields with empty or default values are
  9780  	// omitted from API requests. See
  9781  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9782  	// details.
  9783  	ForceSendFields []string `json:"-"`
  9784  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  9785  	// with the JSON null value. By default, fields with empty values are omitted
  9786  	// from API requests. See
  9787  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9788  	NullFields []string `json:"-"`
  9789  }
  9790  
  9791  func (s *KeyValue) MarshalJSON() ([]byte, error) {
  9792  	type NoMethod KeyValue
  9793  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9794  }
  9795  
  9796  // Landmark: A face-specific landmark (for example, a face feature).
  9797  type Landmark struct {
  9798  	// Position: Face landmark position.
  9799  	Position *Position `json:"position,omitempty"`
  9800  	// Type: Face landmark type.
  9801  	//
  9802  	// Possible values:
  9803  	//   "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled.
  9804  	//   "LEFT_EYE" - Left eye.
  9805  	//   "RIGHT_EYE" - Right eye.
  9806  	//   "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow.
  9807  	//   "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow.
  9808  	//   "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow.
  9809  	//   "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow.
  9810  	//   "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes.
  9811  	//   "NOSE_TIP" - Nose tip.
  9812  	//   "UPPER_LIP" - Upper lip.
  9813  	//   "LOWER_LIP" - Lower lip.
  9814  	//   "MOUTH_LEFT" - Mouth left.
  9815  	//   "MOUTH_RIGHT" - Mouth right.
  9816  	//   "MOUTH_CENTER" - Mouth center.
  9817  	//   "NOSE_BOTTOM_RIGHT" - Nose, bottom right.
  9818  	//   "NOSE_BOTTOM_LEFT" - Nose, bottom left.
  9819  	//   "NOSE_BOTTOM_CENTER" - Nose, bottom center.
  9820  	//   "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary.
  9821  	//   "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner.
  9822  	//   "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary.
  9823  	//   "LEFT_EYE_LEFT_CORNER" - Left eye, left corner.
  9824  	//   "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary.
  9825  	//   "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner.
  9826  	//   "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary.
  9827  	//   "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner.
  9828  	//   "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint.
  9829  	//   "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint.
  9830  	//   "LEFT_EAR_TRAGION" - Left ear tragion.
  9831  	//   "RIGHT_EAR_TRAGION" - Right ear tragion.
  9832  	//   "LEFT_EYE_PUPIL" - Left eye pupil.
  9833  	//   "RIGHT_EYE_PUPIL" - Right eye pupil.
  9834  	//   "FOREHEAD_GLABELLA" - Forehead glabella.
  9835  	//   "CHIN_GNATHION" - Chin gnathion.
  9836  	//   "CHIN_LEFT_GONION" - Chin left gonion.
  9837  	//   "CHIN_RIGHT_GONION" - Chin right gonion.
  9838  	//   "LEFT_CHEEK_CENTER" - Left cheek center.
  9839  	//   "RIGHT_CHEEK_CENTER" - Right cheek center.
  9840  	Type string `json:"type,omitempty"`
  9841  	// ForceSendFields is a list of field names (e.g. "Position") to
  9842  	// unconditionally include in API requests. By default, fields with empty or
  9843  	// default values are omitted from API requests. See
  9844  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9845  	// details.
  9846  	ForceSendFields []string `json:"-"`
  9847  	// NullFields is a list of field names (e.g. "Position") to include in API
  9848  	// requests with the JSON null value. By default, fields with empty values are
  9849  	// omitted from API requests. See
  9850  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9851  	NullFields []string `json:"-"`
  9852  }
  9853  
  9854  func (s *Landmark) MarshalJSON() ([]byte, error) {
  9855  	type NoMethod Landmark
  9856  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9857  }
  9858  
  9859  // LatLng: An object that represents a latitude/longitude pair. This is
  9860  // expressed as a pair of doubles to represent degrees latitude and degrees
  9861  // longitude. Unless specified otherwise, this object must conform to the WGS84
  9862  // standard. Values must be within normalized ranges.
  9863  type LatLng struct {
  9864  	// Latitude: The latitude in degrees. It must be in the range [-90.0, +90.0].
  9865  	Latitude float64 `json:"latitude,omitempty"`
  9866  	// Longitude: The longitude in degrees. It must be in the range [-180.0,
  9867  	// +180.0].
  9868  	Longitude float64 `json:"longitude,omitempty"`
  9869  	// ForceSendFields is a list of field names (e.g. "Latitude") to
  9870  	// unconditionally include in API requests. By default, fields with empty or
  9871  	// default values are omitted from API requests. See
  9872  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9873  	// details.
  9874  	ForceSendFields []string `json:"-"`
  9875  	// NullFields is a list of field names (e.g. "Latitude") to include in API
  9876  	// requests with the JSON null value. By default, fields with empty values are
  9877  	// omitted from API requests. See
  9878  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9879  	NullFields []string `json:"-"`
  9880  }
  9881  
  9882  func (s *LatLng) MarshalJSON() ([]byte, error) {
  9883  	type NoMethod LatLng
  9884  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9885  }
  9886  
  9887  func (s *LatLng) UnmarshalJSON(data []byte) error {
  9888  	type NoMethod LatLng
  9889  	var s1 struct {
  9890  		Latitude  gensupport.JSONFloat64 `json:"latitude"`
  9891  		Longitude gensupport.JSONFloat64 `json:"longitude"`
  9892  		*NoMethod
  9893  	}
  9894  	s1.NoMethod = (*NoMethod)(s)
  9895  	if err := json.Unmarshal(data, &s1); err != nil {
  9896  		return err
  9897  	}
  9898  	s.Latitude = float64(s1.Latitude)
  9899  	s.Longitude = float64(s1.Longitude)
  9900  	return nil
  9901  }
  9902  
  9903  // LocalizedObjectAnnotation: Set of detected objects with bounding boxes.
  9904  type LocalizedObjectAnnotation struct {
  9905  	// BoundingPoly: Image region to which this object belongs. This must be
  9906  	// populated.
  9907  	BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"`
  9908  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
  9909  	// more information, see
  9910  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
  9911  	LanguageCode string `json:"languageCode,omitempty"`
  9912  	// Mid: Object ID that should align with EntityAnnotation mid.
  9913  	Mid string `json:"mid,omitempty"`
  9914  	// Name: Object name, expressed in its `language_code` language.
  9915  	Name string `json:"name,omitempty"`
  9916  	// Score: Score of the result. Range [0, 1].
  9917  	Score float64 `json:"score,omitempty"`
  9918  	// ForceSendFields is a list of field names (e.g. "BoundingPoly") to
  9919  	// unconditionally include in API requests. By default, fields with empty or
  9920  	// default values are omitted from API requests. See
  9921  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9922  	// details.
  9923  	ForceSendFields []string `json:"-"`
  9924  	// NullFields is a list of field names (e.g. "BoundingPoly") to include in API
  9925  	// requests with the JSON null value. By default, fields with empty values are
  9926  	// omitted from API requests. See
  9927  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9928  	NullFields []string `json:"-"`
  9929  }
  9930  
  9931  func (s *LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) {
  9932  	type NoMethod LocalizedObjectAnnotation
  9933  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9934  }
  9935  
  9936  func (s *LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error {
  9937  	type NoMethod LocalizedObjectAnnotation
  9938  	var s1 struct {
  9939  		Score gensupport.JSONFloat64 `json:"score"`
  9940  		*NoMethod
  9941  	}
  9942  	s1.NoMethod = (*NoMethod)(s)
  9943  	if err := json.Unmarshal(data, &s1); err != nil {
  9944  		return err
  9945  	}
  9946  	s.Score = float64(s1.Score)
  9947  	return nil
  9948  }
  9949  
  9950  // LocationInfo: Detected entity location information.
  9951  type LocationInfo struct {
  9952  	// LatLng: lat/long location coordinates.
  9953  	LatLng *LatLng `json:"latLng,omitempty"`
  9954  	// ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally
  9955  	// include in API requests. By default, fields with empty or default values are
  9956  	// omitted from API requests. See
  9957  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9958  	// details.
  9959  	ForceSendFields []string `json:"-"`
  9960  	// NullFields is a list of field names (e.g. "LatLng") to include in API
  9961  	// requests with the JSON null value. By default, fields with empty values are
  9962  	// omitted from API requests. See
  9963  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9964  	NullFields []string `json:"-"`
  9965  }
  9966  
  9967  func (s *LocationInfo) MarshalJSON() ([]byte, error) {
  9968  	type NoMethod LocationInfo
  9969  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9970  }
  9971  
  9972  // NormalizedVertex: A vertex represents a 2D point in the image. NOTE: the
  9973  // normalized vertex coordinates are relative to the original image and range
  9974  // from 0 to 1.
  9975  type NormalizedVertex struct {
  9976  	// X: X coordinate.
  9977  	X float64 `json:"x,omitempty"`
  9978  	// Y: Y coordinate.
  9979  	Y float64 `json:"y,omitempty"`
  9980  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
  9981  	// include in API requests. By default, fields with empty or default values are
  9982  	// omitted from API requests. See
  9983  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9984  	// details.
  9985  	ForceSendFields []string `json:"-"`
  9986  	// NullFields is a list of field names (e.g. "X") to include in API requests
  9987  	// with the JSON null value. By default, fields with empty values are omitted
  9988  	// from API requests. See
  9989  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9990  	NullFields []string `json:"-"`
  9991  }
  9992  
  9993  func (s *NormalizedVertex) MarshalJSON() ([]byte, error) {
  9994  	type NoMethod NormalizedVertex
  9995  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9996  }
  9997  
  9998  func (s *NormalizedVertex) UnmarshalJSON(data []byte) error {
  9999  	type NoMethod NormalizedVertex
 10000  	var s1 struct {
 10001  		X gensupport.JSONFloat64 `json:"x"`
 10002  		Y gensupport.JSONFloat64 `json:"y"`
 10003  		*NoMethod
 10004  	}
 10005  	s1.NoMethod = (*NoMethod)(s)
 10006  	if err := json.Unmarshal(data, &s1); err != nil {
 10007  		return err
 10008  	}
 10009  	s.X = float64(s1.X)
 10010  	s.Y = float64(s1.Y)
 10011  	return nil
 10012  }
 10013  
 10014  // ObjectAnnotation: Prediction for what the object in the bounding box is.
 10015  type ObjectAnnotation struct {
 10016  	// LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For
 10017  	// more information, see
 10018  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
 10019  	LanguageCode string `json:"languageCode,omitempty"`
 10020  	// Mid: Object ID that should align with EntityAnnotation mid.
 10021  	Mid string `json:"mid,omitempty"`
 10022  	// Name: Object name, expressed in its `language_code` language.
 10023  	Name string `json:"name,omitempty"`
 10024  	// Score: Score of the result. Range [0, 1].
 10025  	Score float64 `json:"score,omitempty"`
 10026  	// ForceSendFields is a list of field names (e.g. "LanguageCode") to
 10027  	// unconditionally include in API requests. By default, fields with empty or
 10028  	// default values are omitted from API requests. See
 10029  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10030  	// details.
 10031  	ForceSendFields []string `json:"-"`
 10032  	// NullFields is a list of field names (e.g. "LanguageCode") to include in API
 10033  	// requests with the JSON null value. By default, fields with empty values are
 10034  	// omitted from API requests. See
 10035  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10036  	NullFields []string `json:"-"`
 10037  }
 10038  
 10039  func (s *ObjectAnnotation) MarshalJSON() ([]byte, error) {
 10040  	type NoMethod ObjectAnnotation
 10041  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10042  }
 10043  
 10044  func (s *ObjectAnnotation) UnmarshalJSON(data []byte) error {
 10045  	type NoMethod ObjectAnnotation
 10046  	var s1 struct {
 10047  		Score gensupport.JSONFloat64 `json:"score"`
 10048  		*NoMethod
 10049  	}
 10050  	s1.NoMethod = (*NoMethod)(s)
 10051  	if err := json.Unmarshal(data, &s1); err != nil {
 10052  		return err
 10053  	}
 10054  	s.Score = float64(s1.Score)
 10055  	return nil
 10056  }
 10057  
 10058  // Operation: This resource represents a long-running operation that is the
 10059  // result of a network API call.
 10060  type Operation struct {
 10061  	// Done: If the value is `false`, it means the operation is still in progress.
 10062  	// If `true`, the operation is completed, and either `error` or `response` is
 10063  	// available.
 10064  	Done bool `json:"done,omitempty"`
 10065  	// Error: The error result of the operation in case of failure or cancellation.
 10066  	Error *Status `json:"error,omitempty"`
 10067  	// Metadata: Service-specific metadata associated with the operation. It
 10068  	// typically contains progress information and common metadata such as create
 10069  	// time. Some services might not provide such metadata. Any method that returns
 10070  	// a long-running operation should document the metadata type, if any.
 10071  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 10072  	// Name: The server-assigned name, which is only unique within the same service
 10073  	// that originally returns it. If you use the default HTTP mapping, the `name`
 10074  	// should be a resource name ending with `operations/{unique_id}`.
 10075  	Name string `json:"name,omitempty"`
 10076  	// Response: The normal, successful response of the operation. If the original
 10077  	// method returns no data on success, such as `Delete`, the response is
 10078  	// `google.protobuf.Empty`. If the original method is standard
 10079  	// `Get`/`Create`/`Update`, the response should be the resource. For other
 10080  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
 10081  	// original method name. For example, if the original method name is
 10082  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
 10083  	Response googleapi.RawMessage `json:"response,omitempty"`
 10084  
 10085  	// ServerResponse contains the HTTP response code and headers from the server.
 10086  	googleapi.ServerResponse `json:"-"`
 10087  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
 10088  	// include in API requests. By default, fields with empty or default values are
 10089  	// omitted from API requests. See
 10090  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10091  	// details.
 10092  	ForceSendFields []string `json:"-"`
 10093  	// NullFields is a list of field names (e.g. "Done") to include in API requests
 10094  	// with the JSON null value. By default, fields with empty values are omitted
 10095  	// from API requests. See
 10096  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10097  	NullFields []string `json:"-"`
 10098  }
 10099  
 10100  func (s *Operation) MarshalJSON() ([]byte, error) {
 10101  	type NoMethod Operation
 10102  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10103  }
 10104  
 10105  // OperationMetadata: Contains metadata for the BatchAnnotateImages operation.
 10106  type OperationMetadata struct {
 10107  	// CreateTime: The time when the batch request was received.
 10108  	CreateTime string `json:"createTime,omitempty"`
 10109  	// State: Current state of the batch operation.
 10110  	//
 10111  	// Possible values:
 10112  	//   "STATE_UNSPECIFIED" - Invalid.
 10113  	//   "CREATED" - Request is received.
 10114  	//   "RUNNING" - Request is actively being processed.
 10115  	//   "DONE" - The batch processing is done.
 10116  	//   "CANCELLED" - The batch processing was cancelled.
 10117  	State string `json:"state,omitempty"`
 10118  	// UpdateTime: The time when the operation result was last updated.
 10119  	UpdateTime string `json:"updateTime,omitempty"`
 10120  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
 10121  	// unconditionally include in API requests. By default, fields with empty or
 10122  	// default values are omitted from API requests. See
 10123  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10124  	// details.
 10125  	ForceSendFields []string `json:"-"`
 10126  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
 10127  	// requests with the JSON null value. By default, fields with empty values are
 10128  	// omitted from API requests. See
 10129  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10130  	NullFields []string `json:"-"`
 10131  }
 10132  
 10133  func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
 10134  	type NoMethod OperationMetadata
 10135  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10136  }
 10137  
 10138  // OutputConfig: The desired output location and metadata.
 10139  type OutputConfig struct {
 10140  	// BatchSize: The max number of response protos to put into each output JSON
 10141  	// file on Google Cloud Storage. The valid range is [1, 100]. If not specified,
 10142  	// the default value is 20. For example, for one pdf file with 100 pages, 100
 10143  	// response protos will be generated. If `batch_size` = 20, then 5 json files
 10144  	// each containing 20 response protos will be written under the prefix
 10145  	// `gcs_destination`.`uri`. Currently, batch_size only applies to
 10146  	// GcsDestination, with potential future support for other output
 10147  	// configurations.
 10148  	BatchSize int64 `json:"batchSize,omitempty"`
 10149  	// GcsDestination: The Google Cloud Storage location to write the output(s) to.
 10150  	GcsDestination *GcsDestination `json:"gcsDestination,omitempty"`
 10151  	// ForceSendFields is a list of field names (e.g. "BatchSize") to
 10152  	// unconditionally include in API requests. By default, fields with empty or
 10153  	// default values are omitted from API requests. See
 10154  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10155  	// details.
 10156  	ForceSendFields []string `json:"-"`
 10157  	// NullFields is a list of field names (e.g. "BatchSize") to include in API
 10158  	// requests with the JSON null value. By default, fields with empty values are
 10159  	// omitted from API requests. See
 10160  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10161  	NullFields []string `json:"-"`
 10162  }
 10163  
 10164  func (s *OutputConfig) MarshalJSON() ([]byte, error) {
 10165  	type NoMethod OutputConfig
 10166  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10167  }
 10168  
 10169  // Page: Detected page from OCR.
 10170  type Page struct {
 10171  	// Blocks: List of blocks of text, images etc on this page.
 10172  	Blocks []*Block `json:"blocks,omitempty"`
 10173  	// Confidence: Confidence of the OCR results on the page. Range [0, 1].
 10174  	Confidence float64 `json:"confidence,omitempty"`
 10175  	// Height: Page height. For PDFs the unit is points. For images (including
 10176  	// TIFFs) the unit is pixels.
 10177  	Height int64 `json:"height,omitempty"`
 10178  	// Property: Additional information detected on the page.
 10179  	Property *TextProperty `json:"property,omitempty"`
 10180  	// Width: Page width. For PDFs the unit is points. For images (including TIFFs)
 10181  	// the unit is pixels.
 10182  	Width int64 `json:"width,omitempty"`
 10183  	// ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally
 10184  	// include in API requests. By default, fields with empty or default values are
 10185  	// omitted from API requests. See
 10186  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10187  	// details.
 10188  	ForceSendFields []string `json:"-"`
 10189  	// NullFields is a list of field names (e.g. "Blocks") to include in API
 10190  	// requests with the JSON null value. By default, fields with empty values are
 10191  	// omitted from API requests. See
 10192  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10193  	NullFields []string `json:"-"`
 10194  }
 10195  
 10196  func (s *Page) MarshalJSON() ([]byte, error) {
 10197  	type NoMethod Page
 10198  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10199  }
 10200  
 10201  func (s *Page) UnmarshalJSON(data []byte) error {
 10202  	type NoMethod Page
 10203  	var s1 struct {
 10204  		Confidence gensupport.JSONFloat64 `json:"confidence"`
 10205  		*NoMethod
 10206  	}
 10207  	s1.NoMethod = (*NoMethod)(s)
 10208  	if err := json.Unmarshal(data, &s1); err != nil {
 10209  		return err
 10210  	}
 10211  	s.Confidence = float64(s1.Confidence)
 10212  	return nil
 10213  }
 10214  
 10215  // Paragraph: Structural unit of text representing a number of words in certain
 10216  // order.
 10217  type Paragraph struct {
 10218  	// BoundingBox: The bounding box for the paragraph. The vertices are in the
 10219  	// order of top-left, top-right, bottom-right, bottom-left. When a rotation of
 10220  	// the bounding box is detected the rotation is represented as around the
 10221  	// top-left corner as defined when the text is read in the 'natural'
 10222  	// orientation. For example: * when the text is horizontal it might look like:
 10223  	// 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner
 10224  	// it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2,
 10225  	// 3).
 10226  	BoundingBox *BoundingPoly `json:"boundingBox,omitempty"`
 10227  	// Confidence: Confidence of the OCR results for the paragraph. Range [0, 1].
 10228  	Confidence float64 `json:"confidence,omitempty"`
 10229  	// Property: Additional information detected for the paragraph.
 10230  	Property *TextProperty `json:"property,omitempty"`
 10231  	// Words: List of all words in this paragraph.
 10232  	Words []*Word `json:"words,omitempty"`
 10233  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
 10234  	// unconditionally include in API requests. By default, fields with empty or
 10235  	// default values are omitted from API requests. See
 10236  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10237  	// details.
 10238  	ForceSendFields []string `json:"-"`
 10239  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
 10240  	// requests with the JSON null value. By default, fields with empty values are
 10241  	// omitted from API requests. See
 10242  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10243  	NullFields []string `json:"-"`
 10244  }
 10245  
 10246  func (s *Paragraph) MarshalJSON() ([]byte, error) {
 10247  	type NoMethod Paragraph
 10248  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10249  }
 10250  
 10251  func (s *Paragraph) UnmarshalJSON(data []byte) error {
 10252  	type NoMethod Paragraph
 10253  	var s1 struct {
 10254  		Confidence gensupport.JSONFloat64 `json:"confidence"`
 10255  		*NoMethod
 10256  	}
 10257  	s1.NoMethod = (*NoMethod)(s)
 10258  	if err := json.Unmarshal(data, &s1); err != nil {
 10259  		return err
 10260  	}
 10261  	s.Confidence = float64(s1.Confidence)
 10262  	return nil
 10263  }
 10264  
 10265  // Position: A 3D position in the image, used primarily for Face detection
 10266  // landmarks. A valid Position must have both x and y coordinates. The position
 10267  // coordinates are in the same scale as the original image.
 10268  type Position struct {
 10269  	// X: X coordinate.
 10270  	X float64 `json:"x,omitempty"`
 10271  	// Y: Y coordinate.
 10272  	Y float64 `json:"y,omitempty"`
 10273  	// Z: Z coordinate (or depth).
 10274  	Z float64 `json:"z,omitempty"`
 10275  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
 10276  	// include in API requests. By default, fields with empty or default values are
 10277  	// omitted from API requests. See
 10278  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10279  	// details.
 10280  	ForceSendFields []string `json:"-"`
 10281  	// NullFields is a list of field names (e.g. "X") to include in API requests
 10282  	// with the JSON null value. By default, fields with empty values are omitted
 10283  	// from API requests. See
 10284  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10285  	NullFields []string `json:"-"`
 10286  }
 10287  
 10288  func (s *Position) MarshalJSON() ([]byte, error) {
 10289  	type NoMethod Position
 10290  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10291  }
 10292  
 10293  func (s *Position) UnmarshalJSON(data []byte) error {
 10294  	type NoMethod Position
 10295  	var s1 struct {
 10296  		X gensupport.JSONFloat64 `json:"x"`
 10297  		Y gensupport.JSONFloat64 `json:"y"`
 10298  		Z gensupport.JSONFloat64 `json:"z"`
 10299  		*NoMethod
 10300  	}
 10301  	s1.NoMethod = (*NoMethod)(s)
 10302  	if err := json.Unmarshal(data, &s1); err != nil {
 10303  		return err
 10304  	}
 10305  	s.X = float64(s1.X)
 10306  	s.Y = float64(s1.Y)
 10307  	s.Z = float64(s1.Z)
 10308  	return nil
 10309  }
 10310  
 10311  // Product: A Product contains ReferenceImages.
 10312  type Product struct {
 10313  	// Description: User-provided metadata to be stored with this product. Must be
 10314  	// at most 4096 characters long.
 10315  	Description string `json:"description,omitempty"`
 10316  	// DisplayName: The user-provided name for this Product. Must not be empty.
 10317  	// Must be at most 4096 characters long.
 10318  	DisplayName string `json:"displayName,omitempty"`
 10319  	// Name: The resource name of the product. Format is:
 10320  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is
 10321  	// ignored when creating a product.
 10322  	Name string `json:"name,omitempty"`
 10323  	// ProductCategory: Immutable. The category for the product identified by the
 10324  	// reference image. This should be one of "homegoods-v2", "apparel-v2",
 10325  	// "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories
 10326  	// "homegoods", "apparel", and "toys" are still supported, but these should not
 10327  	// be used for new products.
 10328  	ProductCategory string `json:"productCategory,omitempty"`
 10329  	// ProductLabels: Key-value pairs that can be attached to a product. At query
 10330  	// time, constraints can be specified based on the product_labels. Note that
 10331  	// integer values can be provided as strings, e.g. "1199". Only strings with
 10332  	// integer values can match a range-based restriction which is to be supported
 10333  	// soon. Multiple values can be assigned to the same key. One product may have
 10334  	// up to 500 product_labels. Notice that the total number of distinct
 10335  	// product_labels over all products in one ProductSet cannot exceed 1M,
 10336  	// otherwise the product search pipeline will refuse to work for that
 10337  	// ProductSet.
 10338  	ProductLabels []*KeyValue `json:"productLabels,omitempty"`
 10339  	// ForceSendFields is a list of field names (e.g. "Description") to
 10340  	// unconditionally include in API requests. By default, fields with empty or
 10341  	// default values are omitted from API requests. See
 10342  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10343  	// details.
 10344  	ForceSendFields []string `json:"-"`
 10345  	// NullFields is a list of field names (e.g. "Description") to include in API
 10346  	// requests with the JSON null value. By default, fields with empty values are
 10347  	// omitted from API requests. See
 10348  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10349  	NullFields []string `json:"-"`
 10350  }
 10351  
 10352  func (s *Product) MarshalJSON() ([]byte, error) {
 10353  	type NoMethod Product
 10354  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10355  }
 10356  
 10357  // ProductSearchResults: Results for a product search request.
 10358  type ProductSearchResults struct {
 10359  	// IndexTime: Timestamp of the index which provided these results. Products
 10360  	// added to the product set and products removed from the product set after
 10361  	// this time are not reflected in the current results.
 10362  	IndexTime string `json:"indexTime,omitempty"`
 10363  	// ProductGroupedResults: List of results grouped by products detected in the
 10364  	// query image. Each entry corresponds to one bounding polygon in the query
 10365  	// image, and contains the matching products specific to that region. There may
 10366  	// be duplicate product matches in the union of all the per-product results.
 10367  	ProductGroupedResults []*GroupedResult `json:"productGroupedResults,omitempty"`
 10368  	// Results: List of results, one for each product match.
 10369  	Results []*Result `json:"results,omitempty"`
 10370  	// ForceSendFields is a list of field names (e.g. "IndexTime") to
 10371  	// unconditionally include in API requests. By default, fields with empty or
 10372  	// default values are omitted from API requests. See
 10373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10374  	// details.
 10375  	ForceSendFields []string `json:"-"`
 10376  	// NullFields is a list of field names (e.g. "IndexTime") to include in API
 10377  	// requests with the JSON null value. By default, fields with empty values are
 10378  	// omitted from API requests. See
 10379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10380  	NullFields []string `json:"-"`
 10381  }
 10382  
 10383  func (s *ProductSearchResults) MarshalJSON() ([]byte, error) {
 10384  	type NoMethod ProductSearchResults
 10385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10386  }
 10387  
 10388  // Property: A `Property` consists of a user-supplied name/value pair.
 10389  type Property struct {
 10390  	// Name: Name of the property.
 10391  	Name string `json:"name,omitempty"`
 10392  	// Uint64Value: Value of numeric properties.
 10393  	Uint64Value uint64 `json:"uint64Value,omitempty,string"`
 10394  	// Value: Value of the property.
 10395  	Value string `json:"value,omitempty"`
 10396  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
 10397  	// include in API requests. By default, fields with empty or default values are
 10398  	// omitted from API requests. See
 10399  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10400  	// details.
 10401  	ForceSendFields []string `json:"-"`
 10402  	// NullFields is a list of field names (e.g. "Name") to include in API requests
 10403  	// with the JSON null value. By default, fields with empty values are omitted
 10404  	// from API requests. See
 10405  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10406  	NullFields []string `json:"-"`
 10407  }
 10408  
 10409  func (s *Property) MarshalJSON() ([]byte, error) {
 10410  	type NoMethod Property
 10411  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10412  }
 10413  
 10414  // ReferenceImage: A `ReferenceImage` represents a product image and its
 10415  // associated metadata, such as bounding boxes.
 10416  type ReferenceImage struct {
 10417  	// BoundingPolys: Optional. Bounding polygons around the areas of interest in
 10418  	// the reference image. If this field is empty, the system will try to detect
 10419  	// regions of interest. At most 10 bounding polygons will be used. The provided
 10420  	// shape is converted into a non-rotated rectangle. Once converted, the small
 10421  	// edge of the rectangle must be greater than or equal to 300 pixels. The
 10422  	// aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not).
 10423  	BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"`
 10424  	// Name: The resource name of the reference image. Format is:
 10425  	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMA
 10426  	// GE_ID`. This field is ignored when creating a reference image.
 10427  	Name string `json:"name,omitempty"`
 10428  	// Uri: Required. The Google Cloud Storage URI of the reference image. The URI
 10429  	// must start with `gs://`.
 10430  	Uri string `json:"uri,omitempty"`
 10431  	// ForceSendFields is a list of field names (e.g. "BoundingPolys") to
 10432  	// unconditionally include in API requests. By default, fields with empty or
 10433  	// default values are omitted from API requests. See
 10434  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10435  	// details.
 10436  	ForceSendFields []string `json:"-"`
 10437  	// NullFields is a list of field names (e.g. "BoundingPolys") to include in API
 10438  	// requests with the JSON null value. By default, fields with empty values are
 10439  	// omitted from API requests. See
 10440  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10441  	NullFields []string `json:"-"`
 10442  }
 10443  
 10444  func (s *ReferenceImage) MarshalJSON() ([]byte, error) {
 10445  	type NoMethod ReferenceImage
 10446  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10447  }
 10448  
 10449  // Result: Information about a product.
 10450  type Result struct {
 10451  	// Image: The resource name of the image from the product that is the closest
 10452  	// match to the query.
 10453  	Image string `json:"image,omitempty"`
 10454  	// Product: The Product.
 10455  	Product *Product `json:"product,omitempty"`
 10456  	// Score: A confidence level on the match, ranging from 0 (no confidence) to 1
 10457  	// (full confidence).
 10458  	Score float64 `json:"score,omitempty"`
 10459  	// ForceSendFields is a list of field names (e.g. "Image") to unconditionally
 10460  	// include in API requests. By default, fields with empty or default values are
 10461  	// omitted from API requests. See
 10462  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10463  	// details.
 10464  	ForceSendFields []string `json:"-"`
 10465  	// NullFields is a list of field names (e.g. "Image") to include in API
 10466  	// requests with the JSON null value. By default, fields with empty values are
 10467  	// omitted from API requests. See
 10468  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10469  	NullFields []string `json:"-"`
 10470  }
 10471  
 10472  func (s *Result) MarshalJSON() ([]byte, error) {
 10473  	type NoMethod Result
 10474  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10475  }
 10476  
 10477  func (s *Result) UnmarshalJSON(data []byte) error {
 10478  	type NoMethod Result
 10479  	var s1 struct {
 10480  		Score gensupport.JSONFloat64 `json:"score"`
 10481  		*NoMethod
 10482  	}
 10483  	s1.NoMethod = (*NoMethod)(s)
 10484  	if err := json.Unmarshal(data, &s1); err != nil {
 10485  		return err
 10486  	}
 10487  	s.Score = float64(s1.Score)
 10488  	return nil
 10489  }
 10490  
 10491  // SafeSearchAnnotation: Set of features pertaining to the image, computed by
 10492  // computer vision methods over safe-search verticals (for example, adult,
 10493  // spoof, medical, violence).
 10494  type SafeSearchAnnotation struct {
 10495  	// Adult: Represents the adult content likelihood for the image. Adult content
 10496  	// may contain elements such as nudity, pornographic images or cartoons, or
 10497  	// sexual activities.
 10498  	//
 10499  	// Possible values:
 10500  	//   "UNKNOWN" - Unknown likelihood.
 10501  	//   "VERY_UNLIKELY" - It is very unlikely.
 10502  	//   "UNLIKELY" - It is unlikely.
 10503  	//   "POSSIBLE" - It is possible.
 10504  	//   "LIKELY" - It is likely.
 10505  	//   "VERY_LIKELY" - It is very likely.
 10506  	Adult string `json:"adult,omitempty"`
 10507  	// Medical: Likelihood that this is a medical image.
 10508  	//
 10509  	// Possible values:
 10510  	//   "UNKNOWN" - Unknown likelihood.
 10511  	//   "VERY_UNLIKELY" - It is very unlikely.
 10512  	//   "UNLIKELY" - It is unlikely.
 10513  	//   "POSSIBLE" - It is possible.
 10514  	//   "LIKELY" - It is likely.
 10515  	//   "VERY_LIKELY" - It is very likely.
 10516  	Medical string `json:"medical,omitempty"`
 10517  	// Racy: Likelihood that the request image contains racy content. Racy content
 10518  	// may include (but is not limited to) skimpy or sheer clothing, strategically
 10519  	// covered nudity, lewd or provocative poses, or close-ups of sensitive body
 10520  	// areas.
 10521  	//
 10522  	// Possible values:
 10523  	//   "UNKNOWN" - Unknown likelihood.
 10524  	//   "VERY_UNLIKELY" - It is very unlikely.
 10525  	//   "UNLIKELY" - It is unlikely.
 10526  	//   "POSSIBLE" - It is possible.
 10527  	//   "LIKELY" - It is likely.
 10528  	//   "VERY_LIKELY" - It is very likely.
 10529  	Racy string `json:"racy,omitempty"`
 10530  	// Spoof: Spoof likelihood. The likelihood that an modification was made to the
 10531  	// image's canonical version to make it appear funny or offensive.
 10532  	//
 10533  	// Possible values:
 10534  	//   "UNKNOWN" - Unknown likelihood.
 10535  	//   "VERY_UNLIKELY" - It is very unlikely.
 10536  	//   "UNLIKELY" - It is unlikely.
 10537  	//   "POSSIBLE" - It is possible.
 10538  	//   "LIKELY" - It is likely.
 10539  	//   "VERY_LIKELY" - It is very likely.
 10540  	Spoof string `json:"spoof,omitempty"`
 10541  	// Violence: Likelihood that this image contains violent content. Violent
 10542  	// content may include death, serious harm, or injury to individuals or groups
 10543  	// of individuals.
 10544  	//
 10545  	// Possible values:
 10546  	//   "UNKNOWN" - Unknown likelihood.
 10547  	//   "VERY_UNLIKELY" - It is very unlikely.
 10548  	//   "UNLIKELY" - It is unlikely.
 10549  	//   "POSSIBLE" - It is possible.
 10550  	//   "LIKELY" - It is likely.
 10551  	//   "VERY_LIKELY" - It is very likely.
 10552  	Violence string `json:"violence,omitempty"`
 10553  	// ForceSendFields is a list of field names (e.g. "Adult") to unconditionally
 10554  	// include in API requests. By default, fields with empty or default values are
 10555  	// omitted from API requests. See
 10556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10557  	// details.
 10558  	ForceSendFields []string `json:"-"`
 10559  	// NullFields is a list of field names (e.g. "Adult") to include in API
 10560  	// requests with the JSON null value. By default, fields with empty values are
 10561  	// omitted from API requests. See
 10562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10563  	NullFields []string `json:"-"`
 10564  }
 10565  
 10566  func (s *SafeSearchAnnotation) MarshalJSON() ([]byte, error) {
 10567  	type NoMethod SafeSearchAnnotation
 10568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10569  }
 10570  
 10571  // Status: The `Status` type defines a logical error model that is suitable for
 10572  // different programming environments, including REST APIs and RPC APIs. It is
 10573  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
 10574  // pieces of data: error code, error message, and error details. You can find
 10575  // out more about this error model and how to work with it in the API Design
 10576  // Guide (https://cloud.google.com/apis/design/errors).
 10577  type Status struct {
 10578  	// Code: The status code, which should be an enum value of google.rpc.Code.
 10579  	Code int64 `json:"code,omitempty"`
 10580  	// Details: A list of messages that carry the error details. There is a common
 10581  	// set of message types for APIs to use.
 10582  	Details []googleapi.RawMessage `json:"details,omitempty"`
 10583  	// Message: A developer-facing error message, which should be in English. Any
 10584  	// user-facing error message should be localized and sent in the
 10585  	// google.rpc.Status.details field, or localized by the client.
 10586  	Message string `json:"message,omitempty"`
 10587  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
 10588  	// include in API requests. By default, fields with empty or default values are
 10589  	// omitted from API requests. See
 10590  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10591  	// details.
 10592  	ForceSendFields []string `json:"-"`
 10593  	// NullFields is a list of field names (e.g. "Code") to include in API requests
 10594  	// with the JSON null value. By default, fields with empty values are omitted
 10595  	// from API requests. See
 10596  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10597  	NullFields []string `json:"-"`
 10598  }
 10599  
 10600  func (s *Status) MarshalJSON() ([]byte, error) {
 10601  	type NoMethod Status
 10602  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10603  }
 10604  
 10605  // Symbol: A single symbol representation.
 10606  type Symbol struct {
 10607  	// BoundingBox: The bounding box for the symbol. The vertices are in the order
 10608  	// of top-left, top-right, bottom-right, bottom-left. When a rotation of the
 10609  	// bounding box is detected the rotation is represented as around the top-left
 10610  	// corner as defined when the text is read in the 'natural' orientation. For
 10611  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
 10612  	// * when it's rotated 180 degrees around the top-left corner it becomes:
 10613  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
 10614  	BoundingBox *BoundingPoly `json:"boundingBox,omitempty"`
 10615  	// Confidence: Confidence of the OCR results for the symbol. Range [0, 1].
 10616  	Confidence float64 `json:"confidence,omitempty"`
 10617  	// Property: Additional information detected for the symbol.
 10618  	Property *TextProperty `json:"property,omitempty"`
 10619  	// Text: The actual UTF-8 representation of the symbol.
 10620  	Text string `json:"text,omitempty"`
 10621  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
 10622  	// unconditionally include in API requests. By default, fields with empty or
 10623  	// default values are omitted from API requests. See
 10624  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10625  	// details.
 10626  	ForceSendFields []string `json:"-"`
 10627  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
 10628  	// requests with the JSON null value. By default, fields with empty values are
 10629  	// omitted from API requests. See
 10630  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10631  	NullFields []string `json:"-"`
 10632  }
 10633  
 10634  func (s *Symbol) MarshalJSON() ([]byte, error) {
 10635  	type NoMethod Symbol
 10636  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10637  }
 10638  
 10639  func (s *Symbol) UnmarshalJSON(data []byte) error {
 10640  	type NoMethod Symbol
 10641  	var s1 struct {
 10642  		Confidence gensupport.JSONFloat64 `json:"confidence"`
 10643  		*NoMethod
 10644  	}
 10645  	s1.NoMethod = (*NoMethod)(s)
 10646  	if err := json.Unmarshal(data, &s1); err != nil {
 10647  		return err
 10648  	}
 10649  	s.Confidence = float64(s1.Confidence)
 10650  	return nil
 10651  }
 10652  
 10653  // TextAnnotation: TextAnnotation contains a structured representation of OCR
 10654  // extracted text. The hierarchy of an OCR extracted text structure is like
 10655  // this: TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Each
 10656  // structural component, starting from Page, may further have their own
 10657  // properties. Properties describe detected languages, breaks etc.. Please
 10658  // refer to the TextAnnotation.TextProperty message definition below for more
 10659  // detail.
 10660  type TextAnnotation struct {
 10661  	// Pages: List of pages detected by OCR.
 10662  	Pages []*Page `json:"pages,omitempty"`
 10663  	// Text: UTF-8 text detected on the pages.
 10664  	Text string `json:"text,omitempty"`
 10665  	// ForceSendFields is a list of field names (e.g. "Pages") to unconditionally
 10666  	// include in API requests. By default, fields with empty or default values are
 10667  	// omitted from API requests. See
 10668  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10669  	// details.
 10670  	ForceSendFields []string `json:"-"`
 10671  	// NullFields is a list of field names (e.g. "Pages") to include in API
 10672  	// requests with the JSON null value. By default, fields with empty values are
 10673  	// omitted from API requests. See
 10674  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10675  	NullFields []string `json:"-"`
 10676  }
 10677  
 10678  func (s *TextAnnotation) MarshalJSON() ([]byte, error) {
 10679  	type NoMethod TextAnnotation
 10680  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10681  }
 10682  
 10683  // TextProperty: Additional information detected on the structural component.
 10684  type TextProperty struct {
 10685  	// DetectedBreak: Detected start or end of a text segment.
 10686  	DetectedBreak *DetectedBreak `json:"detectedBreak,omitempty"`
 10687  	// DetectedLanguages: A list of detected languages together with confidence.
 10688  	DetectedLanguages []*DetectedLanguage `json:"detectedLanguages,omitempty"`
 10689  	// ForceSendFields is a list of field names (e.g. "DetectedBreak") to
 10690  	// unconditionally include in API requests. By default, fields with empty or
 10691  	// default values are omitted from API requests. See
 10692  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10693  	// details.
 10694  	ForceSendFields []string `json:"-"`
 10695  	// NullFields is a list of field names (e.g. "DetectedBreak") to include in API
 10696  	// requests with the JSON null value. By default, fields with empty values are
 10697  	// omitted from API requests. See
 10698  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10699  	NullFields []string `json:"-"`
 10700  }
 10701  
 10702  func (s *TextProperty) MarshalJSON() ([]byte, error) {
 10703  	type NoMethod TextProperty
 10704  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10705  }
 10706  
 10707  // Vertex: A vertex represents a 2D point in the image. NOTE: the vertex
 10708  // coordinates are in the same scale as the original image.
 10709  type Vertex struct {
 10710  	// X: X coordinate.
 10711  	X int64 `json:"x,omitempty"`
 10712  	// Y: Y coordinate.
 10713  	Y int64 `json:"y,omitempty"`
 10714  	// ForceSendFields is a list of field names (e.g. "X") to unconditionally
 10715  	// include in API requests. By default, fields with empty or default values are
 10716  	// omitted from API requests. See
 10717  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10718  	// details.
 10719  	ForceSendFields []string `json:"-"`
 10720  	// NullFields is a list of field names (e.g. "X") to include in API requests
 10721  	// with the JSON null value. By default, fields with empty values are omitted
 10722  	// from API requests. See
 10723  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10724  	NullFields []string `json:"-"`
 10725  }
 10726  
 10727  func (s *Vertex) MarshalJSON() ([]byte, error) {
 10728  	type NoMethod Vertex
 10729  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10730  }
 10731  
 10732  // WebDetection: Relevant information for the image from the Internet.
 10733  type WebDetection struct {
 10734  	// BestGuessLabels: The service's best guess as to the topic of the request
 10735  	// image. Inferred from similar images on the open web.
 10736  	BestGuessLabels []*WebLabel `json:"bestGuessLabels,omitempty"`
 10737  	// FullMatchingImages: Fully matching images from the Internet. Can include
 10738  	// resized copies of the query image.
 10739  	FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"`
 10740  	// PagesWithMatchingImages: Web pages containing the matching images from the
 10741  	// Internet.
 10742  	PagesWithMatchingImages []*WebPage `json:"pagesWithMatchingImages,omitempty"`
 10743  	// PartialMatchingImages: Partial matching images from the Internet. Those
 10744  	// images are similar enough to share some key-point features. For example an
 10745  	// original image will likely have partial matching for its crops.
 10746  	PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"`
 10747  	// VisuallySimilarImages: The visually similar image results.
 10748  	VisuallySimilarImages []*WebImage `json:"visuallySimilarImages,omitempty"`
 10749  	// WebEntities: Deduced entities from similar images on the Internet.
 10750  	WebEntities []*WebEntity `json:"webEntities,omitempty"`
 10751  	// ForceSendFields is a list of field names (e.g. "BestGuessLabels") to
 10752  	// unconditionally include in API requests. By default, fields with empty or
 10753  	// default values are omitted from API requests. See
 10754  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10755  	// details.
 10756  	ForceSendFields []string `json:"-"`
 10757  	// NullFields is a list of field names (e.g. "BestGuessLabels") to include in
 10758  	// API requests with the JSON null value. By default, fields with empty values
 10759  	// are omitted from API requests. See
 10760  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10761  	NullFields []string `json:"-"`
 10762  }
 10763  
 10764  func (s *WebDetection) MarshalJSON() ([]byte, error) {
 10765  	type NoMethod WebDetection
 10766  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10767  }
 10768  
 10769  // WebEntity: Entity deduced from similar images on the Internet.
 10770  type WebEntity struct {
 10771  	// Description: Canonical description of the entity, in English.
 10772  	Description string `json:"description,omitempty"`
 10773  	// EntityId: Opaque entity ID.
 10774  	EntityId string `json:"entityId,omitempty"`
 10775  	// Score: Overall relevancy score for the entity. Not normalized and not
 10776  	// comparable across different image queries.
 10777  	Score float64 `json:"score,omitempty"`
 10778  	// ForceSendFields is a list of field names (e.g. "Description") to
 10779  	// unconditionally include in API requests. By default, fields with empty or
 10780  	// default values are omitted from API requests. See
 10781  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10782  	// details.
 10783  	ForceSendFields []string `json:"-"`
 10784  	// NullFields is a list of field names (e.g. "Description") to include in API
 10785  	// requests with the JSON null value. By default, fields with empty values are
 10786  	// omitted from API requests. See
 10787  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10788  	NullFields []string `json:"-"`
 10789  }
 10790  
 10791  func (s *WebEntity) MarshalJSON() ([]byte, error) {
 10792  	type NoMethod WebEntity
 10793  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10794  }
 10795  
 10796  func (s *WebEntity) UnmarshalJSON(data []byte) error {
 10797  	type NoMethod WebEntity
 10798  	var s1 struct {
 10799  		Score gensupport.JSONFloat64 `json:"score"`
 10800  		*NoMethod
 10801  	}
 10802  	s1.NoMethod = (*NoMethod)(s)
 10803  	if err := json.Unmarshal(data, &s1); err != nil {
 10804  		return err
 10805  	}
 10806  	s.Score = float64(s1.Score)
 10807  	return nil
 10808  }
 10809  
 10810  // WebImage: Metadata for online images.
 10811  type WebImage struct {
 10812  	// Score: (Deprecated) Overall relevancy score for the image.
 10813  	Score float64 `json:"score,omitempty"`
 10814  	// Url: The result image URL.
 10815  	Url string `json:"url,omitempty"`
 10816  	// ForceSendFields is a list of field names (e.g. "Score") to unconditionally
 10817  	// include in API requests. By default, fields with empty or default values are
 10818  	// omitted from API requests. See
 10819  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10820  	// details.
 10821  	ForceSendFields []string `json:"-"`
 10822  	// NullFields is a list of field names (e.g. "Score") to include in API
 10823  	// requests with the JSON null value. By default, fields with empty values are
 10824  	// omitted from API requests. See
 10825  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10826  	NullFields []string `json:"-"`
 10827  }
 10828  
 10829  func (s *WebImage) MarshalJSON() ([]byte, error) {
 10830  	type NoMethod WebImage
 10831  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10832  }
 10833  
 10834  func (s *WebImage) UnmarshalJSON(data []byte) error {
 10835  	type NoMethod WebImage
 10836  	var s1 struct {
 10837  		Score gensupport.JSONFloat64 `json:"score"`
 10838  		*NoMethod
 10839  	}
 10840  	s1.NoMethod = (*NoMethod)(s)
 10841  	if err := json.Unmarshal(data, &s1); err != nil {
 10842  		return err
 10843  	}
 10844  	s.Score = float64(s1.Score)
 10845  	return nil
 10846  }
 10847  
 10848  // WebLabel: Label to provide extra metadata for the web detection.
 10849  type WebLabel struct {
 10850  	// Label: Label for extra metadata.
 10851  	Label string `json:"label,omitempty"`
 10852  	// LanguageCode: The BCP-47 language code for `label`, such as "en-US" or
 10853  	// "sr-Latn". For more information, see
 10854  	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
 10855  	LanguageCode string `json:"languageCode,omitempty"`
 10856  	// ForceSendFields is a list of field names (e.g. "Label") to unconditionally
 10857  	// include in API requests. By default, fields with empty or default values are
 10858  	// omitted from API requests. See
 10859  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10860  	// details.
 10861  	ForceSendFields []string `json:"-"`
 10862  	// NullFields is a list of field names (e.g. "Label") to include in API
 10863  	// requests with the JSON null value. By default, fields with empty values are
 10864  	// omitted from API requests. See
 10865  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10866  	NullFields []string `json:"-"`
 10867  }
 10868  
 10869  func (s *WebLabel) MarshalJSON() ([]byte, error) {
 10870  	type NoMethod WebLabel
 10871  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10872  }
 10873  
 10874  // WebPage: Metadata for web pages.
 10875  type WebPage struct {
 10876  	// FullMatchingImages: Fully matching images on the page. Can include resized
 10877  	// copies of the query image.
 10878  	FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"`
 10879  	// PageTitle: Title for the web page, may contain HTML markups.
 10880  	PageTitle string `json:"pageTitle,omitempty"`
 10881  	// PartialMatchingImages: Partial matching images on the page. Those images are
 10882  	// similar enough to share some key-point features. For example an original
 10883  	// image will likely have partial matching for its crops.
 10884  	PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"`
 10885  	// Score: (Deprecated) Overall relevancy score for the web page.
 10886  	Score float64 `json:"score,omitempty"`
 10887  	// Url: The result web page URL.
 10888  	Url string `json:"url,omitempty"`
 10889  	// ForceSendFields is a list of field names (e.g. "FullMatchingImages") to
 10890  	// unconditionally include in API requests. By default, fields with empty or
 10891  	// default values are omitted from API requests. See
 10892  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10893  	// details.
 10894  	ForceSendFields []string `json:"-"`
 10895  	// NullFields is a list of field names (e.g. "FullMatchingImages") to include
 10896  	// in API requests with the JSON null value. By default, fields with empty
 10897  	// values are omitted from API requests. See
 10898  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10899  	NullFields []string `json:"-"`
 10900  }
 10901  
 10902  func (s *WebPage) MarshalJSON() ([]byte, error) {
 10903  	type NoMethod WebPage
 10904  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10905  }
 10906  
 10907  func (s *WebPage) UnmarshalJSON(data []byte) error {
 10908  	type NoMethod WebPage
 10909  	var s1 struct {
 10910  		Score gensupport.JSONFloat64 `json:"score"`
 10911  		*NoMethod
 10912  	}
 10913  	s1.NoMethod = (*NoMethod)(s)
 10914  	if err := json.Unmarshal(data, &s1); err != nil {
 10915  		return err
 10916  	}
 10917  	s.Score = float64(s1.Score)
 10918  	return nil
 10919  }
 10920  
 10921  // Word: A word representation.
 10922  type Word struct {
 10923  	// BoundingBox: The bounding box for the word. The vertices are in the order of
 10924  	// top-left, top-right, bottom-right, bottom-left. When a rotation of the
 10925  	// bounding box is detected the rotation is represented as around the top-left
 10926  	// corner as defined when the text is read in the 'natural' orientation. For
 10927  	// example: * when the text is horizontal it might look like: 0----1 | | 3----2
 10928  	// * when it's rotated 180 degrees around the top-left corner it becomes:
 10929  	// 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3).
 10930  	BoundingBox *BoundingPoly `json:"boundingBox,omitempty"`
 10931  	// Confidence: Confidence of the OCR results for the word. Range [0, 1].
 10932  	Confidence float64 `json:"confidence,omitempty"`
 10933  	// Property: Additional information detected for the word.
 10934  	Property *TextProperty `json:"property,omitempty"`
 10935  	// Symbols: List of symbols in the word. The order of the symbols follows the
 10936  	// natural reading order.
 10937  	Symbols []*Symbol `json:"symbols,omitempty"`
 10938  	// ForceSendFields is a list of field names (e.g. "BoundingBox") to
 10939  	// unconditionally include in API requests. By default, fields with empty or
 10940  	// default values are omitted from API requests. See
 10941  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10942  	// details.
 10943  	ForceSendFields []string `json:"-"`
 10944  	// NullFields is a list of field names (e.g. "BoundingBox") to include in API
 10945  	// requests with the JSON null value. By default, fields with empty values are
 10946  	// omitted from API requests. See
 10947  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10948  	NullFields []string `json:"-"`
 10949  }
 10950  
 10951  func (s *Word) MarshalJSON() ([]byte, error) {
 10952  	type NoMethod Word
 10953  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10954  }
 10955  
 10956  func (s *Word) UnmarshalJSON(data []byte) error {
 10957  	type NoMethod Word
 10958  	var s1 struct {
 10959  		Confidence gensupport.JSONFloat64 `json:"confidence"`
 10960  		*NoMethod
 10961  	}
 10962  	s1.NoMethod = (*NoMethod)(s)
 10963  	if err := json.Unmarshal(data, &s1); err != nil {
 10964  		return err
 10965  	}
 10966  	s.Confidence = float64(s1.Confidence)
 10967  	return nil
 10968  }
 10969  
 10970  type FilesAnnotateCall struct {
 10971  	s                                                   *Service
 10972  	googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest
 10973  	urlParams_                                          gensupport.URLParams
 10974  	ctx_                                                context.Context
 10975  	header_                                             http.Header
 10976  }
 10977  
 10978  // Annotate: Service that performs image detection and annotation for a batch
 10979  // of files. Now only "application/pdf", "image/tiff" and "image/gif" are
 10980  // supported. This service will extract at most 5 (customers can specify which
 10981  // 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from
 10982  // each file provided and perform detection and annotation for each image
 10983  // extracted.
 10984  func (r *FilesService) Annotate(googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) *FilesAnnotateCall {
 10985  	c := &FilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10986  	c.googlecloudvisionv1p1beta1batchannotatefilesrequest = googlecloudvisionv1p1beta1batchannotatefilesrequest
 10987  	return c
 10988  }
 10989  
 10990  // Fields allows partial responses to be retrieved. See
 10991  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10992  // details.
 10993  func (c *FilesAnnotateCall) Fields(s ...googleapi.Field) *FilesAnnotateCall {
 10994  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10995  	return c
 10996  }
 10997  
 10998  // Context sets the context to be used in this call's Do method.
 10999  func (c *FilesAnnotateCall) Context(ctx context.Context) *FilesAnnotateCall {
 11000  	c.ctx_ = ctx
 11001  	return c
 11002  }
 11003  
 11004  // Header returns a http.Header that can be modified by the caller to add
 11005  // headers to the request.
 11006  func (c *FilesAnnotateCall) Header() http.Header {
 11007  	if c.header_ == nil {
 11008  		c.header_ = make(http.Header)
 11009  	}
 11010  	return c.header_
 11011  }
 11012  
 11013  func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11014  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11015  	var body io.Reader = nil
 11016  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotatefilesrequest)
 11017  	if err != nil {
 11018  		return nil, err
 11019  	}
 11020  	c.urlParams_.Set("alt", alt)
 11021  	c.urlParams_.Set("prettyPrint", "false")
 11022  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/files:annotate")
 11023  	urls += "?" + c.urlParams_.Encode()
 11024  	req, err := http.NewRequest("POST", urls, body)
 11025  	if err != nil {
 11026  		return nil, err
 11027  	}
 11028  	req.Header = reqHeaders
 11029  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11030  }
 11031  
 11032  // Do executes the "vision.files.annotate" call.
 11033  // Any non-2xx status code is an error. Response headers are in either
 11034  // *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse.ServerResponse.Header
 11035  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
 11036  // Use googleapi.IsNotModified to check whether the returned error was because
 11037  // http.StatusNotModified was returned.
 11038  func (c *FilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse, error) {
 11039  	gensupport.SetOptions(c.urlParams_, opts...)
 11040  	res, err := c.doRequest("json")
 11041  	if res != nil && res.StatusCode == http.StatusNotModified {
 11042  		if res.Body != nil {
 11043  			res.Body.Close()
 11044  		}
 11045  		return nil, gensupport.WrapError(&googleapi.Error{
 11046  			Code:   res.StatusCode,
 11047  			Header: res.Header,
 11048  		})
 11049  	}
 11050  	if err != nil {
 11051  		return nil, err
 11052  	}
 11053  	defer googleapi.CloseBody(res)
 11054  	if err := googleapi.CheckResponse(res); err != nil {
 11055  		return nil, gensupport.WrapError(err)
 11056  	}
 11057  	ret := &GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse{
 11058  		ServerResponse: googleapi.ServerResponse{
 11059  			Header:         res.Header,
 11060  			HTTPStatusCode: res.StatusCode,
 11061  		},
 11062  	}
 11063  	target := &ret
 11064  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11065  		return nil, err
 11066  	}
 11067  	return ret, nil
 11068  }
 11069  
 11070  type FilesAsyncBatchAnnotateCall struct {
 11071  	s                                                        *Service
 11072  	googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest
 11073  	urlParams_                                               gensupport.URLParams
 11074  	ctx_                                                     context.Context
 11075  	header_                                                  http.Header
 11076  }
 11077  
 11078  // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a
 11079  // list of generic files, such as PDF files, which may contain multiple pages
 11080  // and multiple images per page. Progress and results can be retrieved through
 11081  // the `google.longrunning.Operations` interface. `Operation.metadata` contains
 11082  // `OperationMetadata` (metadata). `Operation.response` contains
 11083  // `AsyncBatchAnnotateFilesResponse` (results).
 11084  func (r *FilesService) AsyncBatchAnnotate(googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) *FilesAsyncBatchAnnotateCall {
 11085  	c := &FilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11086  	c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest
 11087  	return c
 11088  }
 11089  
 11090  // Fields allows partial responses to be retrieved. See
 11091  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11092  // details.
 11093  func (c *FilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *FilesAsyncBatchAnnotateCall {
 11094  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11095  	return c
 11096  }
 11097  
 11098  // Context sets the context to be used in this call's Do method.
 11099  func (c *FilesAsyncBatchAnnotateCall) Context(ctx context.Context) *FilesAsyncBatchAnnotateCall {
 11100  	c.ctx_ = ctx
 11101  	return c
 11102  }
 11103  
 11104  // Header returns a http.Header that can be modified by the caller to add
 11105  // headers to the request.
 11106  func (c *FilesAsyncBatchAnnotateCall) Header() http.Header {
 11107  	if c.header_ == nil {
 11108  		c.header_ = make(http.Header)
 11109  	}
 11110  	return c.header_
 11111  }
 11112  
 11113  func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11114  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11115  	var body io.Reader = nil
 11116  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest)
 11117  	if err != nil {
 11118  		return nil, err
 11119  	}
 11120  	c.urlParams_.Set("alt", alt)
 11121  	c.urlParams_.Set("prettyPrint", "false")
 11122  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/files:asyncBatchAnnotate")
 11123  	urls += "?" + c.urlParams_.Encode()
 11124  	req, err := http.NewRequest("POST", urls, body)
 11125  	if err != nil {
 11126  		return nil, err
 11127  	}
 11128  	req.Header = reqHeaders
 11129  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11130  }
 11131  
 11132  // Do executes the "vision.files.asyncBatchAnnotate" call.
 11133  // Any non-2xx status code is an error. Response headers are in either
 11134  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11135  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11136  // whether the returned error was because http.StatusNotModified was returned.
 11137  func (c *FilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11138  	gensupport.SetOptions(c.urlParams_, opts...)
 11139  	res, err := c.doRequest("json")
 11140  	if res != nil && res.StatusCode == http.StatusNotModified {
 11141  		if res.Body != nil {
 11142  			res.Body.Close()
 11143  		}
 11144  		return nil, gensupport.WrapError(&googleapi.Error{
 11145  			Code:   res.StatusCode,
 11146  			Header: res.Header,
 11147  		})
 11148  	}
 11149  	if err != nil {
 11150  		return nil, err
 11151  	}
 11152  	defer googleapi.CloseBody(res)
 11153  	if err := googleapi.CheckResponse(res); err != nil {
 11154  		return nil, gensupport.WrapError(err)
 11155  	}
 11156  	ret := &Operation{
 11157  		ServerResponse: googleapi.ServerResponse{
 11158  			Header:         res.Header,
 11159  			HTTPStatusCode: res.StatusCode,
 11160  		},
 11161  	}
 11162  	target := &ret
 11163  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11164  		return nil, err
 11165  	}
 11166  	return ret, nil
 11167  }
 11168  
 11169  type ImagesAnnotateCall struct {
 11170  	s                                                    *Service
 11171  	googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest
 11172  	urlParams_                                           gensupport.URLParams
 11173  	ctx_                                                 context.Context
 11174  	header_                                              http.Header
 11175  }
 11176  
 11177  // Annotate: Run image detection and annotation for a batch of images.
 11178  func (r *ImagesService) Annotate(googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) *ImagesAnnotateCall {
 11179  	c := &ImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11180  	c.googlecloudvisionv1p1beta1batchannotateimagesrequest = googlecloudvisionv1p1beta1batchannotateimagesrequest
 11181  	return c
 11182  }
 11183  
 11184  // Fields allows partial responses to be retrieved. See
 11185  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11186  // details.
 11187  func (c *ImagesAnnotateCall) Fields(s ...googleapi.Field) *ImagesAnnotateCall {
 11188  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11189  	return c
 11190  }
 11191  
 11192  // Context sets the context to be used in this call's Do method.
 11193  func (c *ImagesAnnotateCall) Context(ctx context.Context) *ImagesAnnotateCall {
 11194  	c.ctx_ = ctx
 11195  	return c
 11196  }
 11197  
 11198  // Header returns a http.Header that can be modified by the caller to add
 11199  // headers to the request.
 11200  func (c *ImagesAnnotateCall) Header() http.Header {
 11201  	if c.header_ == nil {
 11202  		c.header_ = make(http.Header)
 11203  	}
 11204  	return c.header_
 11205  }
 11206  
 11207  func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11208  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11209  	var body io.Reader = nil
 11210  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotateimagesrequest)
 11211  	if err != nil {
 11212  		return nil, err
 11213  	}
 11214  	c.urlParams_.Set("alt", alt)
 11215  	c.urlParams_.Set("prettyPrint", "false")
 11216  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/images:annotate")
 11217  	urls += "?" + c.urlParams_.Encode()
 11218  	req, err := http.NewRequest("POST", urls, body)
 11219  	if err != nil {
 11220  		return nil, err
 11221  	}
 11222  	req.Header = reqHeaders
 11223  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11224  }
 11225  
 11226  // Do executes the "vision.images.annotate" call.
 11227  // Any non-2xx status code is an error. Response headers are in either
 11228  // *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse.ServerResponse.Header
 11229  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
 11230  // Use googleapi.IsNotModified to check whether the returned error was because
 11231  // http.StatusNotModified was returned.
 11232  func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse, error) {
 11233  	gensupport.SetOptions(c.urlParams_, opts...)
 11234  	res, err := c.doRequest("json")
 11235  	if res != nil && res.StatusCode == http.StatusNotModified {
 11236  		if res.Body != nil {
 11237  			res.Body.Close()
 11238  		}
 11239  		return nil, gensupport.WrapError(&googleapi.Error{
 11240  			Code:   res.StatusCode,
 11241  			Header: res.Header,
 11242  		})
 11243  	}
 11244  	if err != nil {
 11245  		return nil, err
 11246  	}
 11247  	defer googleapi.CloseBody(res)
 11248  	if err := googleapi.CheckResponse(res); err != nil {
 11249  		return nil, gensupport.WrapError(err)
 11250  	}
 11251  	ret := &GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse{
 11252  		ServerResponse: googleapi.ServerResponse{
 11253  			Header:         res.Header,
 11254  			HTTPStatusCode: res.StatusCode,
 11255  		},
 11256  	}
 11257  	target := &ret
 11258  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11259  		return nil, err
 11260  	}
 11261  	return ret, nil
 11262  }
 11263  
 11264  type ImagesAsyncBatchAnnotateCall struct {
 11265  	s                                                         *Service
 11266  	googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest
 11267  	urlParams_                                                gensupport.URLParams
 11268  	ctx_                                                      context.Context
 11269  	header_                                                   http.Header
 11270  }
 11271  
 11272  // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a
 11273  // list of images. Progress and results can be retrieved through the
 11274  // `google.longrunning.Operations` interface. `Operation.metadata` contains
 11275  // `OperationMetadata` (metadata). `Operation.response` contains
 11276  // `AsyncBatchAnnotateImagesResponse` (results). This service will write image
 11277  // annotation outputs to json files in customer GCS bucket, each json file
 11278  // containing BatchAnnotateImagesResponse proto.
 11279  func (r *ImagesService) AsyncBatchAnnotate(googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) *ImagesAsyncBatchAnnotateCall {
 11280  	c := &ImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11281  	c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest
 11282  	return c
 11283  }
 11284  
 11285  // Fields allows partial responses to be retrieved. See
 11286  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11287  // details.
 11288  func (c *ImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ImagesAsyncBatchAnnotateCall {
 11289  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11290  	return c
 11291  }
 11292  
 11293  // Context sets the context to be used in this call's Do method.
 11294  func (c *ImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ImagesAsyncBatchAnnotateCall {
 11295  	c.ctx_ = ctx
 11296  	return c
 11297  }
 11298  
 11299  // Header returns a http.Header that can be modified by the caller to add
 11300  // headers to the request.
 11301  func (c *ImagesAsyncBatchAnnotateCall) Header() http.Header {
 11302  	if c.header_ == nil {
 11303  		c.header_ = make(http.Header)
 11304  	}
 11305  	return c.header_
 11306  }
 11307  
 11308  func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11309  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11310  	var body io.Reader = nil
 11311  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest)
 11312  	if err != nil {
 11313  		return nil, err
 11314  	}
 11315  	c.urlParams_.Set("alt", alt)
 11316  	c.urlParams_.Set("prettyPrint", "false")
 11317  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/images:asyncBatchAnnotate")
 11318  	urls += "?" + c.urlParams_.Encode()
 11319  	req, err := http.NewRequest("POST", urls, body)
 11320  	if err != nil {
 11321  		return nil, err
 11322  	}
 11323  	req.Header = reqHeaders
 11324  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11325  }
 11326  
 11327  // Do executes the "vision.images.asyncBatchAnnotate" call.
 11328  // Any non-2xx status code is an error. Response headers are in either
 11329  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11330  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11331  // whether the returned error was because http.StatusNotModified was returned.
 11332  func (c *ImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11333  	gensupport.SetOptions(c.urlParams_, opts...)
 11334  	res, err := c.doRequest("json")
 11335  	if res != nil && res.StatusCode == http.StatusNotModified {
 11336  		if res.Body != nil {
 11337  			res.Body.Close()
 11338  		}
 11339  		return nil, gensupport.WrapError(&googleapi.Error{
 11340  			Code:   res.StatusCode,
 11341  			Header: res.Header,
 11342  		})
 11343  	}
 11344  	if err != nil {
 11345  		return nil, err
 11346  	}
 11347  	defer googleapi.CloseBody(res)
 11348  	if err := googleapi.CheckResponse(res); err != nil {
 11349  		return nil, gensupport.WrapError(err)
 11350  	}
 11351  	ret := &Operation{
 11352  		ServerResponse: googleapi.ServerResponse{
 11353  			Header:         res.Header,
 11354  			HTTPStatusCode: res.StatusCode,
 11355  		},
 11356  	}
 11357  	target := &ret
 11358  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11359  		return nil, err
 11360  	}
 11361  	return ret, nil
 11362  }
 11363  
 11364  type ProjectsFilesAnnotateCall struct {
 11365  	s                                                   *Service
 11366  	parent                                              string
 11367  	googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest
 11368  	urlParams_                                          gensupport.URLParams
 11369  	ctx_                                                context.Context
 11370  	header_                                             http.Header
 11371  }
 11372  
 11373  // Annotate: Service that performs image detection and annotation for a batch
 11374  // of files. Now only "application/pdf", "image/tiff" and "image/gif" are
 11375  // supported. This service will extract at most 5 (customers can specify which
 11376  // 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from
 11377  // each file provided and perform detection and annotation for each image
 11378  // extracted.
 11379  //
 11380  //   - parent: Optional. Target project and location to make a call. Format:
 11381  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 11382  //     specified, a region will be chosen automatically. Supported location-ids:
 11383  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 11384  //     The European Union. Example: `projects/project-A/locations/eu`.
 11385  func (r *ProjectsFilesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) *ProjectsFilesAnnotateCall {
 11386  	c := &ProjectsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11387  	c.parent = parent
 11388  	c.googlecloudvisionv1p1beta1batchannotatefilesrequest = googlecloudvisionv1p1beta1batchannotatefilesrequest
 11389  	return c
 11390  }
 11391  
 11392  // Fields allows partial responses to be retrieved. See
 11393  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11394  // details.
 11395  func (c *ProjectsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAnnotateCall {
 11396  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11397  	return c
 11398  }
 11399  
 11400  // Context sets the context to be used in this call's Do method.
 11401  func (c *ProjectsFilesAnnotateCall) Context(ctx context.Context) *ProjectsFilesAnnotateCall {
 11402  	c.ctx_ = ctx
 11403  	return c
 11404  }
 11405  
 11406  // Header returns a http.Header that can be modified by the caller to add
 11407  // headers to the request.
 11408  func (c *ProjectsFilesAnnotateCall) Header() http.Header {
 11409  	if c.header_ == nil {
 11410  		c.header_ = make(http.Header)
 11411  	}
 11412  	return c.header_
 11413  }
 11414  
 11415  func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11416  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11417  	var body io.Reader = nil
 11418  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotatefilesrequest)
 11419  	if err != nil {
 11420  		return nil, err
 11421  	}
 11422  	c.urlParams_.Set("alt", alt)
 11423  	c.urlParams_.Set("prettyPrint", "false")
 11424  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:annotate")
 11425  	urls += "?" + c.urlParams_.Encode()
 11426  	req, err := http.NewRequest("POST", urls, body)
 11427  	if err != nil {
 11428  		return nil, err
 11429  	}
 11430  	req.Header = reqHeaders
 11431  	googleapi.Expand(req.URL, map[string]string{
 11432  		"parent": c.parent,
 11433  	})
 11434  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11435  }
 11436  
 11437  // Do executes the "vision.projects.files.annotate" call.
 11438  // Any non-2xx status code is an error. Response headers are in either
 11439  // *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse.ServerResponse.Header
 11440  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
 11441  // Use googleapi.IsNotModified to check whether the returned error was because
 11442  // http.StatusNotModified was returned.
 11443  func (c *ProjectsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse, error) {
 11444  	gensupport.SetOptions(c.urlParams_, opts...)
 11445  	res, err := c.doRequest("json")
 11446  	if res != nil && res.StatusCode == http.StatusNotModified {
 11447  		if res.Body != nil {
 11448  			res.Body.Close()
 11449  		}
 11450  		return nil, gensupport.WrapError(&googleapi.Error{
 11451  			Code:   res.StatusCode,
 11452  			Header: res.Header,
 11453  		})
 11454  	}
 11455  	if err != nil {
 11456  		return nil, err
 11457  	}
 11458  	defer googleapi.CloseBody(res)
 11459  	if err := googleapi.CheckResponse(res); err != nil {
 11460  		return nil, gensupport.WrapError(err)
 11461  	}
 11462  	ret := &GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse{
 11463  		ServerResponse: googleapi.ServerResponse{
 11464  			Header:         res.Header,
 11465  			HTTPStatusCode: res.StatusCode,
 11466  		},
 11467  	}
 11468  	target := &ret
 11469  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11470  		return nil, err
 11471  	}
 11472  	return ret, nil
 11473  }
 11474  
 11475  type ProjectsFilesAsyncBatchAnnotateCall struct {
 11476  	s                                                        *Service
 11477  	parent                                                   string
 11478  	googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest
 11479  	urlParams_                                               gensupport.URLParams
 11480  	ctx_                                                     context.Context
 11481  	header_                                                  http.Header
 11482  }
 11483  
 11484  // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a
 11485  // list of generic files, such as PDF files, which may contain multiple pages
 11486  // and multiple images per page. Progress and results can be retrieved through
 11487  // the `google.longrunning.Operations` interface. `Operation.metadata` contains
 11488  // `OperationMetadata` (metadata). `Operation.response` contains
 11489  // `AsyncBatchAnnotateFilesResponse` (results).
 11490  //
 11491  //   - parent: Optional. Target project and location to make a call. Format:
 11492  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 11493  //     specified, a region will be chosen automatically. Supported location-ids:
 11494  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 11495  //     The European Union. Example: `projects/project-A/locations/eu`.
 11496  func (r *ProjectsFilesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) *ProjectsFilesAsyncBatchAnnotateCall {
 11497  	c := &ProjectsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11498  	c.parent = parent
 11499  	c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest
 11500  	return c
 11501  }
 11502  
 11503  // Fields allows partial responses to be retrieved. See
 11504  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11505  // details.
 11506  func (c *ProjectsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAsyncBatchAnnotateCall {
 11507  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11508  	return c
 11509  }
 11510  
 11511  // Context sets the context to be used in this call's Do method.
 11512  func (c *ProjectsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsFilesAsyncBatchAnnotateCall {
 11513  	c.ctx_ = ctx
 11514  	return c
 11515  }
 11516  
 11517  // Header returns a http.Header that can be modified by the caller to add
 11518  // headers to the request.
 11519  func (c *ProjectsFilesAsyncBatchAnnotateCall) Header() http.Header {
 11520  	if c.header_ == nil {
 11521  		c.header_ = make(http.Header)
 11522  	}
 11523  	return c.header_
 11524  }
 11525  
 11526  func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11527  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11528  	var body io.Reader = nil
 11529  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest)
 11530  	if err != nil {
 11531  		return nil, err
 11532  	}
 11533  	c.urlParams_.Set("alt", alt)
 11534  	c.urlParams_.Set("prettyPrint", "false")
 11535  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:asyncBatchAnnotate")
 11536  	urls += "?" + c.urlParams_.Encode()
 11537  	req, err := http.NewRequest("POST", urls, body)
 11538  	if err != nil {
 11539  		return nil, err
 11540  	}
 11541  	req.Header = reqHeaders
 11542  	googleapi.Expand(req.URL, map[string]string{
 11543  		"parent": c.parent,
 11544  	})
 11545  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11546  }
 11547  
 11548  // Do executes the "vision.projects.files.asyncBatchAnnotate" call.
 11549  // Any non-2xx status code is an error. Response headers are in either
 11550  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11551  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11552  // whether the returned error was because http.StatusNotModified was returned.
 11553  func (c *ProjectsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11554  	gensupport.SetOptions(c.urlParams_, opts...)
 11555  	res, err := c.doRequest("json")
 11556  	if res != nil && res.StatusCode == http.StatusNotModified {
 11557  		if res.Body != nil {
 11558  			res.Body.Close()
 11559  		}
 11560  		return nil, gensupport.WrapError(&googleapi.Error{
 11561  			Code:   res.StatusCode,
 11562  			Header: res.Header,
 11563  		})
 11564  	}
 11565  	if err != nil {
 11566  		return nil, err
 11567  	}
 11568  	defer googleapi.CloseBody(res)
 11569  	if err := googleapi.CheckResponse(res); err != nil {
 11570  		return nil, gensupport.WrapError(err)
 11571  	}
 11572  	ret := &Operation{
 11573  		ServerResponse: googleapi.ServerResponse{
 11574  			Header:         res.Header,
 11575  			HTTPStatusCode: res.StatusCode,
 11576  		},
 11577  	}
 11578  	target := &ret
 11579  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11580  		return nil, err
 11581  	}
 11582  	return ret, nil
 11583  }
 11584  
 11585  type ProjectsImagesAnnotateCall struct {
 11586  	s                                                    *Service
 11587  	parent                                               string
 11588  	googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest
 11589  	urlParams_                                           gensupport.URLParams
 11590  	ctx_                                                 context.Context
 11591  	header_                                              http.Header
 11592  }
 11593  
 11594  // Annotate: Run image detection and annotation for a batch of images.
 11595  //
 11596  //   - parent: Optional. Target project and location to make a call. Format:
 11597  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 11598  //     specified, a region will be chosen automatically. Supported location-ids:
 11599  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 11600  //     The European Union. Example: `projects/project-A/locations/eu`.
 11601  func (r *ProjectsImagesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) *ProjectsImagesAnnotateCall {
 11602  	c := &ProjectsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11603  	c.parent = parent
 11604  	c.googlecloudvisionv1p1beta1batchannotateimagesrequest = googlecloudvisionv1p1beta1batchannotateimagesrequest
 11605  	return c
 11606  }
 11607  
 11608  // Fields allows partial responses to be retrieved. See
 11609  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11610  // details.
 11611  func (c *ProjectsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAnnotateCall {
 11612  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11613  	return c
 11614  }
 11615  
 11616  // Context sets the context to be used in this call's Do method.
 11617  func (c *ProjectsImagesAnnotateCall) Context(ctx context.Context) *ProjectsImagesAnnotateCall {
 11618  	c.ctx_ = ctx
 11619  	return c
 11620  }
 11621  
 11622  // Header returns a http.Header that can be modified by the caller to add
 11623  // headers to the request.
 11624  func (c *ProjectsImagesAnnotateCall) Header() http.Header {
 11625  	if c.header_ == nil {
 11626  		c.header_ = make(http.Header)
 11627  	}
 11628  	return c.header_
 11629  }
 11630  
 11631  func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11632  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11633  	var body io.Reader = nil
 11634  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotateimagesrequest)
 11635  	if err != nil {
 11636  		return nil, err
 11637  	}
 11638  	c.urlParams_.Set("alt", alt)
 11639  	c.urlParams_.Set("prettyPrint", "false")
 11640  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:annotate")
 11641  	urls += "?" + c.urlParams_.Encode()
 11642  	req, err := http.NewRequest("POST", urls, body)
 11643  	if err != nil {
 11644  		return nil, err
 11645  	}
 11646  	req.Header = reqHeaders
 11647  	googleapi.Expand(req.URL, map[string]string{
 11648  		"parent": c.parent,
 11649  	})
 11650  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11651  }
 11652  
 11653  // Do executes the "vision.projects.images.annotate" call.
 11654  // Any non-2xx status code is an error. Response headers are in either
 11655  // *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse.ServerResponse.Header
 11656  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
 11657  // Use googleapi.IsNotModified to check whether the returned error was because
 11658  // http.StatusNotModified was returned.
 11659  func (c *ProjectsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse, error) {
 11660  	gensupport.SetOptions(c.urlParams_, opts...)
 11661  	res, err := c.doRequest("json")
 11662  	if res != nil && res.StatusCode == http.StatusNotModified {
 11663  		if res.Body != nil {
 11664  			res.Body.Close()
 11665  		}
 11666  		return nil, gensupport.WrapError(&googleapi.Error{
 11667  			Code:   res.StatusCode,
 11668  			Header: res.Header,
 11669  		})
 11670  	}
 11671  	if err != nil {
 11672  		return nil, err
 11673  	}
 11674  	defer googleapi.CloseBody(res)
 11675  	if err := googleapi.CheckResponse(res); err != nil {
 11676  		return nil, gensupport.WrapError(err)
 11677  	}
 11678  	ret := &GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse{
 11679  		ServerResponse: googleapi.ServerResponse{
 11680  			Header:         res.Header,
 11681  			HTTPStatusCode: res.StatusCode,
 11682  		},
 11683  	}
 11684  	target := &ret
 11685  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11686  		return nil, err
 11687  	}
 11688  	return ret, nil
 11689  }
 11690  
 11691  type ProjectsImagesAsyncBatchAnnotateCall struct {
 11692  	s                                                         *Service
 11693  	parent                                                    string
 11694  	googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest
 11695  	urlParams_                                                gensupport.URLParams
 11696  	ctx_                                                      context.Context
 11697  	header_                                                   http.Header
 11698  }
 11699  
 11700  // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a
 11701  // list of images. Progress and results can be retrieved through the
 11702  // `google.longrunning.Operations` interface. `Operation.metadata` contains
 11703  // `OperationMetadata` (metadata). `Operation.response` contains
 11704  // `AsyncBatchAnnotateImagesResponse` (results). This service will write image
 11705  // annotation outputs to json files in customer GCS bucket, each json file
 11706  // containing BatchAnnotateImagesResponse proto.
 11707  //
 11708  //   - parent: Optional. Target project and location to make a call. Format:
 11709  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 11710  //     specified, a region will be chosen automatically. Supported location-ids:
 11711  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 11712  //     The European Union. Example: `projects/project-A/locations/eu`.
 11713  func (r *ProjectsImagesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) *ProjectsImagesAsyncBatchAnnotateCall {
 11714  	c := &ProjectsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11715  	c.parent = parent
 11716  	c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest
 11717  	return c
 11718  }
 11719  
 11720  // Fields allows partial responses to be retrieved. See
 11721  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11722  // details.
 11723  func (c *ProjectsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAsyncBatchAnnotateCall {
 11724  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11725  	return c
 11726  }
 11727  
 11728  // Context sets the context to be used in this call's Do method.
 11729  func (c *ProjectsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsImagesAsyncBatchAnnotateCall {
 11730  	c.ctx_ = ctx
 11731  	return c
 11732  }
 11733  
 11734  // Header returns a http.Header that can be modified by the caller to add
 11735  // headers to the request.
 11736  func (c *ProjectsImagesAsyncBatchAnnotateCall) Header() http.Header {
 11737  	if c.header_ == nil {
 11738  		c.header_ = make(http.Header)
 11739  	}
 11740  	return c.header_
 11741  }
 11742  
 11743  func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11744  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11745  	var body io.Reader = nil
 11746  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest)
 11747  	if err != nil {
 11748  		return nil, err
 11749  	}
 11750  	c.urlParams_.Set("alt", alt)
 11751  	c.urlParams_.Set("prettyPrint", "false")
 11752  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:asyncBatchAnnotate")
 11753  	urls += "?" + c.urlParams_.Encode()
 11754  	req, err := http.NewRequest("POST", urls, body)
 11755  	if err != nil {
 11756  		return nil, err
 11757  	}
 11758  	req.Header = reqHeaders
 11759  	googleapi.Expand(req.URL, map[string]string{
 11760  		"parent": c.parent,
 11761  	})
 11762  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11763  }
 11764  
 11765  // Do executes the "vision.projects.images.asyncBatchAnnotate" call.
 11766  // Any non-2xx status code is an error. Response headers are in either
 11767  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11768  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11769  // whether the returned error was because http.StatusNotModified was returned.
 11770  func (c *ProjectsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11771  	gensupport.SetOptions(c.urlParams_, opts...)
 11772  	res, err := c.doRequest("json")
 11773  	if res != nil && res.StatusCode == http.StatusNotModified {
 11774  		if res.Body != nil {
 11775  			res.Body.Close()
 11776  		}
 11777  		return nil, gensupport.WrapError(&googleapi.Error{
 11778  			Code:   res.StatusCode,
 11779  			Header: res.Header,
 11780  		})
 11781  	}
 11782  	if err != nil {
 11783  		return nil, err
 11784  	}
 11785  	defer googleapi.CloseBody(res)
 11786  	if err := googleapi.CheckResponse(res); err != nil {
 11787  		return nil, gensupport.WrapError(err)
 11788  	}
 11789  	ret := &Operation{
 11790  		ServerResponse: googleapi.ServerResponse{
 11791  			Header:         res.Header,
 11792  			HTTPStatusCode: res.StatusCode,
 11793  		},
 11794  	}
 11795  	target := &ret
 11796  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11797  		return nil, err
 11798  	}
 11799  	return ret, nil
 11800  }
 11801  
 11802  type ProjectsLocationsFilesAnnotateCall struct {
 11803  	s                                                   *Service
 11804  	parent                                              string
 11805  	googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest
 11806  	urlParams_                                          gensupport.URLParams
 11807  	ctx_                                                context.Context
 11808  	header_                                             http.Header
 11809  }
 11810  
 11811  // Annotate: Service that performs image detection and annotation for a batch
 11812  // of files. Now only "application/pdf", "image/tiff" and "image/gif" are
 11813  // supported. This service will extract at most 5 (customers can specify which
 11814  // 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from
 11815  // each file provided and perform detection and annotation for each image
 11816  // extracted.
 11817  //
 11818  //   - parent: Optional. Target project and location to make a call. Format:
 11819  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 11820  //     specified, a region will be chosen automatically. Supported location-ids:
 11821  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 11822  //     The European Union. Example: `projects/project-A/locations/eu`.
 11823  func (r *ProjectsLocationsFilesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) *ProjectsLocationsFilesAnnotateCall {
 11824  	c := &ProjectsLocationsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11825  	c.parent = parent
 11826  	c.googlecloudvisionv1p1beta1batchannotatefilesrequest = googlecloudvisionv1p1beta1batchannotatefilesrequest
 11827  	return c
 11828  }
 11829  
 11830  // Fields allows partial responses to be retrieved. See
 11831  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11832  // details.
 11833  func (c *ProjectsLocationsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAnnotateCall {
 11834  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11835  	return c
 11836  }
 11837  
 11838  // Context sets the context to be used in this call's Do method.
 11839  func (c *ProjectsLocationsFilesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAnnotateCall {
 11840  	c.ctx_ = ctx
 11841  	return c
 11842  }
 11843  
 11844  // Header returns a http.Header that can be modified by the caller to add
 11845  // headers to the request.
 11846  func (c *ProjectsLocationsFilesAnnotateCall) Header() http.Header {
 11847  	if c.header_ == nil {
 11848  		c.header_ = make(http.Header)
 11849  	}
 11850  	return c.header_
 11851  }
 11852  
 11853  func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11854  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11855  	var body io.Reader = nil
 11856  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotatefilesrequest)
 11857  	if err != nil {
 11858  		return nil, err
 11859  	}
 11860  	c.urlParams_.Set("alt", alt)
 11861  	c.urlParams_.Set("prettyPrint", "false")
 11862  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:annotate")
 11863  	urls += "?" + c.urlParams_.Encode()
 11864  	req, err := http.NewRequest("POST", urls, body)
 11865  	if err != nil {
 11866  		return nil, err
 11867  	}
 11868  	req.Header = reqHeaders
 11869  	googleapi.Expand(req.URL, map[string]string{
 11870  		"parent": c.parent,
 11871  	})
 11872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11873  }
 11874  
 11875  // Do executes the "vision.projects.locations.files.annotate" call.
 11876  // Any non-2xx status code is an error. Response headers are in either
 11877  // *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse.ServerResponse.Header
 11878  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
 11879  // Use googleapi.IsNotModified to check whether the returned error was because
 11880  // http.StatusNotModified was returned.
 11881  func (c *ProjectsLocationsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse, error) {
 11882  	gensupport.SetOptions(c.urlParams_, opts...)
 11883  	res, err := c.doRequest("json")
 11884  	if res != nil && res.StatusCode == http.StatusNotModified {
 11885  		if res.Body != nil {
 11886  			res.Body.Close()
 11887  		}
 11888  		return nil, gensupport.WrapError(&googleapi.Error{
 11889  			Code:   res.StatusCode,
 11890  			Header: res.Header,
 11891  		})
 11892  	}
 11893  	if err != nil {
 11894  		return nil, err
 11895  	}
 11896  	defer googleapi.CloseBody(res)
 11897  	if err := googleapi.CheckResponse(res); err != nil {
 11898  		return nil, gensupport.WrapError(err)
 11899  	}
 11900  	ret := &GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse{
 11901  		ServerResponse: googleapi.ServerResponse{
 11902  			Header:         res.Header,
 11903  			HTTPStatusCode: res.StatusCode,
 11904  		},
 11905  	}
 11906  	target := &ret
 11907  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11908  		return nil, err
 11909  	}
 11910  	return ret, nil
 11911  }
 11912  
 11913  type ProjectsLocationsFilesAsyncBatchAnnotateCall struct {
 11914  	s                                                        *Service
 11915  	parent                                                   string
 11916  	googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest
 11917  	urlParams_                                               gensupport.URLParams
 11918  	ctx_                                                     context.Context
 11919  	header_                                                  http.Header
 11920  }
 11921  
 11922  // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a
 11923  // list of generic files, such as PDF files, which may contain multiple pages
 11924  // and multiple images per page. Progress and results can be retrieved through
 11925  // the `google.longrunning.Operations` interface. `Operation.metadata` contains
 11926  // `OperationMetadata` (metadata). `Operation.response` contains
 11927  // `AsyncBatchAnnotateFilesResponse` (results).
 11928  //
 11929  //   - parent: Optional. Target project and location to make a call. Format:
 11930  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 11931  //     specified, a region will be chosen automatically. Supported location-ids:
 11932  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 11933  //     The European Union. Example: `projects/project-A/locations/eu`.
 11934  func (r *ProjectsLocationsFilesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) *ProjectsLocationsFilesAsyncBatchAnnotateCall {
 11935  	c := &ProjectsLocationsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11936  	c.parent = parent
 11937  	c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest
 11938  	return c
 11939  }
 11940  
 11941  // Fields allows partial responses to be retrieved. See
 11942  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11943  // details.
 11944  func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAsyncBatchAnnotateCall {
 11945  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11946  	return c
 11947  }
 11948  
 11949  // Context sets the context to be used in this call's Do method.
 11950  func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAsyncBatchAnnotateCall {
 11951  	c.ctx_ = ctx
 11952  	return c
 11953  }
 11954  
 11955  // Header returns a http.Header that can be modified by the caller to add
 11956  // headers to the request.
 11957  func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Header() http.Header {
 11958  	if c.header_ == nil {
 11959  		c.header_ = make(http.Header)
 11960  	}
 11961  	return c.header_
 11962  }
 11963  
 11964  func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 11965  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11966  	var body io.Reader = nil
 11967  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest)
 11968  	if err != nil {
 11969  		return nil, err
 11970  	}
 11971  	c.urlParams_.Set("alt", alt)
 11972  	c.urlParams_.Set("prettyPrint", "false")
 11973  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:asyncBatchAnnotate")
 11974  	urls += "?" + c.urlParams_.Encode()
 11975  	req, err := http.NewRequest("POST", urls, body)
 11976  	if err != nil {
 11977  		return nil, err
 11978  	}
 11979  	req.Header = reqHeaders
 11980  	googleapi.Expand(req.URL, map[string]string{
 11981  		"parent": c.parent,
 11982  	})
 11983  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11984  }
 11985  
 11986  // Do executes the "vision.projects.locations.files.asyncBatchAnnotate" call.
 11987  // Any non-2xx status code is an error. Response headers are in either
 11988  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 11989  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11990  // whether the returned error was because http.StatusNotModified was returned.
 11991  func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 11992  	gensupport.SetOptions(c.urlParams_, opts...)
 11993  	res, err := c.doRequest("json")
 11994  	if res != nil && res.StatusCode == http.StatusNotModified {
 11995  		if res.Body != nil {
 11996  			res.Body.Close()
 11997  		}
 11998  		return nil, gensupport.WrapError(&googleapi.Error{
 11999  			Code:   res.StatusCode,
 12000  			Header: res.Header,
 12001  		})
 12002  	}
 12003  	if err != nil {
 12004  		return nil, err
 12005  	}
 12006  	defer googleapi.CloseBody(res)
 12007  	if err := googleapi.CheckResponse(res); err != nil {
 12008  		return nil, gensupport.WrapError(err)
 12009  	}
 12010  	ret := &Operation{
 12011  		ServerResponse: googleapi.ServerResponse{
 12012  			Header:         res.Header,
 12013  			HTTPStatusCode: res.StatusCode,
 12014  		},
 12015  	}
 12016  	target := &ret
 12017  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12018  		return nil, err
 12019  	}
 12020  	return ret, nil
 12021  }
 12022  
 12023  type ProjectsLocationsImagesAnnotateCall struct {
 12024  	s                                                    *Service
 12025  	parent                                               string
 12026  	googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest
 12027  	urlParams_                                           gensupport.URLParams
 12028  	ctx_                                                 context.Context
 12029  	header_                                              http.Header
 12030  }
 12031  
 12032  // Annotate: Run image detection and annotation for a batch of images.
 12033  //
 12034  //   - parent: Optional. Target project and location to make a call. Format:
 12035  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 12036  //     specified, a region will be chosen automatically. Supported location-ids:
 12037  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 12038  //     The European Union. Example: `projects/project-A/locations/eu`.
 12039  func (r *ProjectsLocationsImagesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) *ProjectsLocationsImagesAnnotateCall {
 12040  	c := &ProjectsLocationsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12041  	c.parent = parent
 12042  	c.googlecloudvisionv1p1beta1batchannotateimagesrequest = googlecloudvisionv1p1beta1batchannotateimagesrequest
 12043  	return c
 12044  }
 12045  
 12046  // Fields allows partial responses to be retrieved. See
 12047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12048  // details.
 12049  func (c *ProjectsLocationsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAnnotateCall {
 12050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12051  	return c
 12052  }
 12053  
 12054  // Context sets the context to be used in this call's Do method.
 12055  func (c *ProjectsLocationsImagesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAnnotateCall {
 12056  	c.ctx_ = ctx
 12057  	return c
 12058  }
 12059  
 12060  // Header returns a http.Header that can be modified by the caller to add
 12061  // headers to the request.
 12062  func (c *ProjectsLocationsImagesAnnotateCall) Header() http.Header {
 12063  	if c.header_ == nil {
 12064  		c.header_ = make(http.Header)
 12065  	}
 12066  	return c.header_
 12067  }
 12068  
 12069  func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 12070  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12071  	var body io.Reader = nil
 12072  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotateimagesrequest)
 12073  	if err != nil {
 12074  		return nil, err
 12075  	}
 12076  	c.urlParams_.Set("alt", alt)
 12077  	c.urlParams_.Set("prettyPrint", "false")
 12078  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:annotate")
 12079  	urls += "?" + c.urlParams_.Encode()
 12080  	req, err := http.NewRequest("POST", urls, body)
 12081  	if err != nil {
 12082  		return nil, err
 12083  	}
 12084  	req.Header = reqHeaders
 12085  	googleapi.Expand(req.URL, map[string]string{
 12086  		"parent": c.parent,
 12087  	})
 12088  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12089  }
 12090  
 12091  // Do executes the "vision.projects.locations.images.annotate" call.
 12092  // Any non-2xx status code is an error. Response headers are in either
 12093  // *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse.ServerResponse.Header
 12094  // or (if a response was returned at all) in error.(*googleapi.Error).Header.
 12095  // Use googleapi.IsNotModified to check whether the returned error was because
 12096  // http.StatusNotModified was returned.
 12097  func (c *ProjectsLocationsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse, error) {
 12098  	gensupport.SetOptions(c.urlParams_, opts...)
 12099  	res, err := c.doRequest("json")
 12100  	if res != nil && res.StatusCode == http.StatusNotModified {
 12101  		if res.Body != nil {
 12102  			res.Body.Close()
 12103  		}
 12104  		return nil, gensupport.WrapError(&googleapi.Error{
 12105  			Code:   res.StatusCode,
 12106  			Header: res.Header,
 12107  		})
 12108  	}
 12109  	if err != nil {
 12110  		return nil, err
 12111  	}
 12112  	defer googleapi.CloseBody(res)
 12113  	if err := googleapi.CheckResponse(res); err != nil {
 12114  		return nil, gensupport.WrapError(err)
 12115  	}
 12116  	ret := &GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse{
 12117  		ServerResponse: googleapi.ServerResponse{
 12118  			Header:         res.Header,
 12119  			HTTPStatusCode: res.StatusCode,
 12120  		},
 12121  	}
 12122  	target := &ret
 12123  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12124  		return nil, err
 12125  	}
 12126  	return ret, nil
 12127  }
 12128  
 12129  type ProjectsLocationsImagesAsyncBatchAnnotateCall struct {
 12130  	s                                                         *Service
 12131  	parent                                                    string
 12132  	googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest
 12133  	urlParams_                                                gensupport.URLParams
 12134  	ctx_                                                      context.Context
 12135  	header_                                                   http.Header
 12136  }
 12137  
 12138  // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a
 12139  // list of images. Progress and results can be retrieved through the
 12140  // `google.longrunning.Operations` interface. `Operation.metadata` contains
 12141  // `OperationMetadata` (metadata). `Operation.response` contains
 12142  // `AsyncBatchAnnotateImagesResponse` (results). This service will write image
 12143  // annotation outputs to json files in customer GCS bucket, each json file
 12144  // containing BatchAnnotateImagesResponse proto.
 12145  //
 12146  //   - parent: Optional. Target project and location to make a call. Format:
 12147  //     `projects/{project-id}/locations/{location-id}`. If no parent is
 12148  //     specified, a region will be chosen automatically. Supported location-ids:
 12149  //     `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`:
 12150  //     The European Union. Example: `projects/project-A/locations/eu`.
 12151  func (r *ProjectsLocationsImagesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) *ProjectsLocationsImagesAsyncBatchAnnotateCall {
 12152  	c := &ProjectsLocationsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 12153  	c.parent = parent
 12154  	c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest
 12155  	return c
 12156  }
 12157  
 12158  // Fields allows partial responses to be retrieved. See
 12159  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 12160  // details.
 12161  func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAsyncBatchAnnotateCall {
 12162  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 12163  	return c
 12164  }
 12165  
 12166  // Context sets the context to be used in this call's Do method.
 12167  func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAsyncBatchAnnotateCall {
 12168  	c.ctx_ = ctx
 12169  	return c
 12170  }
 12171  
 12172  // Header returns a http.Header that can be modified by the caller to add
 12173  // headers to the request.
 12174  func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Header() http.Header {
 12175  	if c.header_ == nil {
 12176  		c.header_ = make(http.Header)
 12177  	}
 12178  	return c.header_
 12179  }
 12180  
 12181  func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 12182  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 12183  	var body io.Reader = nil
 12184  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest)
 12185  	if err != nil {
 12186  		return nil, err
 12187  	}
 12188  	c.urlParams_.Set("alt", alt)
 12189  	c.urlParams_.Set("prettyPrint", "false")
 12190  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:asyncBatchAnnotate")
 12191  	urls += "?" + c.urlParams_.Encode()
 12192  	req, err := http.NewRequest("POST", urls, body)
 12193  	if err != nil {
 12194  		return nil, err
 12195  	}
 12196  	req.Header = reqHeaders
 12197  	googleapi.Expand(req.URL, map[string]string{
 12198  		"parent": c.parent,
 12199  	})
 12200  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 12201  }
 12202  
 12203  // Do executes the "vision.projects.locations.images.asyncBatchAnnotate" call.
 12204  // Any non-2xx status code is an error. Response headers are in either
 12205  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 12206  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 12207  // whether the returned error was because http.StatusNotModified was returned.
 12208  func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 12209  	gensupport.SetOptions(c.urlParams_, opts...)
 12210  	res, err := c.doRequest("json")
 12211  	if res != nil && res.StatusCode == http.StatusNotModified {
 12212  		if res.Body != nil {
 12213  			res.Body.Close()
 12214  		}
 12215  		return nil, gensupport.WrapError(&googleapi.Error{
 12216  			Code:   res.StatusCode,
 12217  			Header: res.Header,
 12218  		})
 12219  	}
 12220  	if err != nil {
 12221  		return nil, err
 12222  	}
 12223  	defer googleapi.CloseBody(res)
 12224  	if err := googleapi.CheckResponse(res); err != nil {
 12225  		return nil, gensupport.WrapError(err)
 12226  	}
 12227  	ret := &Operation{
 12228  		ServerResponse: googleapi.ServerResponse{
 12229  			Header:         res.Header,
 12230  			HTTPStatusCode: res.StatusCode,
 12231  		},
 12232  	}
 12233  	target := &ret
 12234  	if err := gensupport.DecodeResponse(target, res); err != nil {
 12235  		return nil, err
 12236  	}
 12237  	return ret, nil
 12238  }
 12239  

View as plain text